¿Cómo elimino el Finder del Dock automáticamente al iniciar sesión?

0

Esto está relacionado con esta pregunta aquí , excepto que, además de eliminar el Finder, quiero hacerlo automáticamente. Existen varias soluciones en la web que sugieren el uso de este AppleScript:

tell application "System Events"
    tell UI element "Finder" of list 1 of process "Dock"
        perform action "AXShowMenu"
        click menu item "Remove from Dock" of menu 1
    end tell
end tell

Lamentablemente, guardar esto como una aplicación y hacer que se ejecute al iniciar sesión no funciona; Curiosamente, ejecutarlo dentro de Script Editor funciona , pero esto no resuelve el problema de eliminar el Finder automáticamente.

    
pregunta Avery Chan 12.07.2013 - 00:40

1 respuesta

1

La solución es crear un LaunchAgent ( man launchctl para obtener más información) que ejecute el script anterior a través de la línea de comandos. Esencialmente, desea almacenar el script anterior en un archivo, diga 'killfinder.scpt' y luego ejecute el comando osascript /path/to/killfinder.scpt .

Queremos hacer esto automáticamente al iniciar sesión, así que usamos un LaunchAgent. Ya que quiero usar esto porque uso Pathfinder y mi esposa no, lo pondré en ~/Library/LaunchAgents , pero si quieres que sea para todo el sistema, ponlo en /Library/LaunchAgents .

Tendrás tres archivos:

  1. Un script de UNIX
  2. Un AppleScript (opcional)
  3. Una lista XML de LaunchAgent

Archivo de script

  1. Ponga esto en un camino apropiado. Por ejemplo, lo almacené en ~/dev/scripts/killfinder.bash .
  2. Crea el archivo y agrega este contenido:

    #!/bin/bash
    osascript /path/to/AppleScriptFile.scpt
    
  3. Asegúrese de que los permisos sean correctos (es decir, chmod ug+x killfinder.bash )

Archivo AppleScript

Puede llamar a osascript directamente con el código AppleScript como argumento. Dejo eso como un ejercicio para el lector; En ese caso, puedes crear este archivo. Pero si quieres hacerlo de esta manera: 1. Ponga esto en un camino apropiado. 2. Crea el archivo y agrega este contenido:

    tell application "System Events"
        tell UI element "Finder" of list 1 of process "Dock"
            perform action "AXShowMenu"
            click menu item "Remove from Dock" of menu 1
        end tell
    end tell
  1. Asegúrese de que los permisos sean correctos (es decir, chmod ugo+r Finder\ Remove.scpt )

LaunchAgent XML plist

  1. Ponga esto en ~/Library/LaunchAgents o /Library/LaunchAgents dependiendo de si solo desea este comportamiento para su cuenta personal o para todo el sistema.

  2. Cree un archivo llamado com.<whateveryouwant>.KillFinder.plist con el siguiente contenido:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
       <key>Label</key>
       <string>com.<whateveryouwant>.KillFinder</string>
       <key>Program</key>
       <string>/path/to/unixscript</string>
       <key>RunAtLoad</key>
       <true/>
    </dict>
    </plist>
    

    Es importante asegurarse de que el valor de 'cadena' después de la clave Label sea correcto, así como la ruta al script de Unix.

¡Ahora todo lo que tienes que hacer es salir e iniciar sesión y debería funcionar!

    
respondido por el Avery Chan 12.07.2013 - 01:12

Lea otras preguntas en las etiquetas