13 votos

¿Se pueden añadir elementos de inicio de sesión a través de la línea de comandos en High Sierra?

¿Se pueden añadir elementos de inicio de sesión mediante un comando en el terminal?

Me gustaría añadir algunas utilidades esenciales como ShiftIt y Alfred a mis elementos de inicio de sesión a través de un script cuando estoy configurando un nuevo Mac. En las versiones de macOS anteriores a High Sierra estos elementos se almacenaban en un plist en ~/Library/Preferences/com.apple.loginitems.plist pero desde que se lanzó High Sierra parece que han sido migrado para ser cargado a través de un nuevo mecanismo .

Estoy interesado en la forma de configurar los Elementos de Inicio de Sesión desde una terminal principalmente para High Sierra pero me interesa desde una perspectiva académica saber cómo se podría hacer en versiones anteriores de macOS.

20voto

user3439894 Puntos 5883

He probado lo siguiente bajo MacOS 10.13.1 y OS X 10.8.6 .

En Terminal utilizando lo siguiente sintaxis :

osascript -e 'tell application "System Events" to make login item at end with properties {path:"/path/to/itemname", hidden:false}'

Probado con una aplicación llamada EventScripts :

osascript -e 'tell application "System Events" to make login item at end with properties {path:"/Applications/EventScripts.app", hidden:false}'

Volvió:

login item UNKNOWN

Lo que aparentemente es la salida normal con este comando y se verificó realizando la misma acción en Script Editor .

Entonces mirando en Preferencias del sistema > Usuarios y grupos > $USER > Elementos de acceso , EventScripts se añadió.


Notas:

En OS X 10.8.6 actualizó el siguiente archivo:

~/Library/Preferences/com.apple.loginitems.plist

En MacOS X 10.13.1 actualizó el siguiente archivo:

~Library/Application Support/com.apple.backgroundtaskmanagementagent/backgrounditems.btm

Que, por cierto, también es un plist pero con un btm extensión.

También puede eliminar un Elemento de acceso de Terminal utilizando lo siguiente sintaxis :

osascript -e 'tell application "System Events" to delete login item "name"'

Dónde "name" en el comando es como se muestra en el salida de lo siguiente comando :

osascript -e 'tell application "System Events" to get the name of every login item'

0 votos

Esto era exactamente lo que necesitaba y lo he integrado en mis scripts scripts.

0 votos

¿encontraste una forma para Catalina?

0 votos

@Ciprian Tomoiaga, A partir del 26 de noviembre de 19, cuando añadí la nota " Actualización de MacOS Catalina: Si bien la información de esta respuesta es válida tal y como se indica y se comprueba en las versiones de OS X/MacOS que se enumeran a continuación, no funciona en MacOS Catalina 10.15 ." No he probado desde entonces y la última versión en la que lo probé fue la 10.15.1.

0voto

fredfjohnsen Puntos 1

En Catalina y posteriores la ruta de acceso a las aplicaciones ha cambiado, por lo que para añadir elementos de inicio de sesión puede ser necesario utilizar algo como "/System/Applications/Awesome App.app"

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X