1 votos

¿Cómo registrar algún programa "al inicio de sesión" para todos los usuarios en macOS?

Sé que puedo usar "Service Management" (SMAppManager) para el usuario actual [o hacer la acción equivalente a través de la configuración], pero solo se registra en el inicio de sesión para el usuario actual, y necesito que mi aplicación se registre en el inicio de sesión para el usuario actual y para todos los demás usuarios.

do {
    try SMAppService.mainApp.register()
}
catch {
    print(error)
}

Sé que puedes usar "RunAtLoad" en la configuración de launchd, pero no funciona exactamente como quiero porque en realidad se inicia cuando se carga el programa mediante launchctl o solo después de un reinicio.

    Label
    com.companyname.application

    ProgramArguments

        /path/to/application

    RunAtLoad

También intenté usar la opción "OnDemand" con el valor "false", pero entonces la aplicación simplemente se inicia todo el tiempo:

    Label
    com.companyname.application

    ProgramArguments

        /path/to/application

    OnDemand

¿Qué archivo de configuración de launchd se puede utilizar para esto o cómo puedo hacerlo con "Service Management"?

1voto

Steve Evans Puntos 155

Específico del Usuario

La API de Administración de Servicios de Apple está limitada al ámbito de un único usuario. A partir de macOS 13, este es el método recomendado por Apple para gestionar procesos de servicios.

A través de esta elección de diseño de API, es posible inferir la opinión de Apple sobre los procesos de terceros en toda la computadora.

A nivel de la Computadora

Para que un proceso se lance para todos los usuarios, el archivo launchd debe colocarse en una de las carpetas de toda la computadora:

  • /Library/LaunchAgents
  • /Library/LaunchDaemons

Consulte man launchd para obtener una descripción del alcance de cada carpeta y las opciones disponibles:

/Library/LaunchAgents

Agentes por usuario proporcionados por el administrador.

/Library/LaunchDaemons

Daemon a nivel del sistema proporcionado por el administrador.

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