0 votos

sudo: launchctl: comando no encontrado

Estoy tratando de iniciar mi aplicación de música, tanto el lanzamiento como la reproducción, y algunas otras tareas, a una hora determinada. Escribí un applescript que se ejecuta después de que mi vpn se conecta, así que sé que el apple script es bueno.

Para ello, he optado por utilizar un agente de la comida. Cuando intento cargar el plist:

sudo lauchctl load /Library/LaunchDaemons/com.start.work.plist

Me sale este error:

sudo: launchctl: command not found

Aquí está mi plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Label</key>
        <string>com.start.work</string>
        <key>ProgramArguments</key>
        <array>
            <string>osascript</string>
            <string>tell application "Spotify" to activate</string>
        </array>
        <array>
            <string>osascript</string>
            <string>tell application "Spotify" play</string>
            <string>end tell</string>
        </array>
        <key>StartCalendarInterval</key>
        <dict>
            <key>Weekday</key>
            <integer>1</integer>
            <key>Minute</key>
            <integer>00</integer>
            <key>Hour</key>
            <integer>8</integer>
        </dict>
        <dict>
            <key>Weekday</key>
            <integer>2</integer>
            <key>Minute</key>
            <integer>00</integer>
            <key>Hour</key>
            <integer>8</integer>
        </dict>
        <dict>
            <key>Weekday</key>
            <integer>3</integer>
            <key>Minute</key>
            <integer>00</integer>
            <key>Hour</key>
            <integer>8</integer>
        </dict>
        <dict>
            <key>Weekday</key>
            <integer>4</integer>
            <key>Minute</key>
            <integer>00</integer>
            <key>Hour</key>
            <integer>8</integer>
        </dict>
        <dict>
            <key>Weekday</key>
            <integer>5</integer>
            <key>Minute</key>
            <integer>00</integer>
            <key>Hour</key>
            <integer>8</integer>
        </dict>
    </dict>
</plist>

¿Qué estoy haciendo mal? Perdona mi falta de conocimientos sobre Mac. Soy un usuario de Mac desde hace mucho tiempo, pero no he utilizado el terminal mucho, y completamente nuevo a applescript.

4voto

user3439894 Puntos 5883

Para ello, he optado por utilizar un agente para la comida.

Entonces el PLISTAS archivo pertenece a ~/Library/LaunchAgents/ no /Library/LaunchDaemons/ y no deberías usar sudo .

En segundo lugar su PLISTAS archivo no es válido como:

plutil -lint ~/Library/LaunchAgents/com.start.work.plist

Devuelve:

~/Library/LaunchAgents/com.start.work.plist: : Found non-key inside <dict> at line 16

También tienes una errata en tu comando en Terminal Es launchctl no lauchctl .

Además, no es necesario utilizar el osascript comando dos veces. Basta con utilizar, por ejemplo

/usr/bin/osascript -e 'tell application "Spotify" to activate' -e 'delay 3' -e 'tell application "Spotify" to play'

Lo que se traduce en:

Ejemplo Lista de propiedades XML código fragmento:

    <array>
        <string>/usr/bin/osascript</string>
        <string>-e</string>
        <string>tell application "Spotify" to activate</string>
        <string>-e</string>
        <string>delay 3</string>
        <string>-e</string>
        <string>tell application "Spotify" to play</string>
    </array>

Sin embargo, hay otras cuestiones en su Lista de propiedades XML código Así es como yo lo escribiría y esto ha sido probado y devuelve OK de:

plutil -lint ~/Library/LaunchAgents/com.start.work.plist
~/Library/LaunchAgents/com.start.work.plist: OK

Ejemplo Lista de propiedades XML código :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.start.work</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/osascript</string>
        <string>-e</string>
        <string>tell application "Spotify" to activate</string>
        <string>-e</string>
        <string>delay 3</string>
        <string>-e</string>
        <string>tell application "Spotify" to play</string>
    </array>
    <key>RunAtLoad</key>
    <false/>
    <key>StartCalendarInterval</key>
    <array>
        <dict>
            <key>Hour</key>
            <integer>8</integer>
            <key>Minute</key>
            <integer>0</integer>
            <key>Weekday</key>
            <integer>1</integer>
        </dict>
        <dict>
            <key>Hour</key>
            <integer>8</integer>
            <key>Minute</key>
            <integer>0</integer>
            <key>Weekday</key>
            <integer>2</integer>
        </dict>
        <dict>
            <key>Hour</key>
            <integer>18</integer>
            <key>Minute</key>
            <integer>0</integer>
            <key>Weekday</key>
            <integer>3</integer>
        </dict>
        <dict>
            <key>Hour</key>
            <integer>18</integer>
            <key>Minute</key>
            <integer>0</integer>
            <key>Weekday</key>
            <integer>4</integer>
        </dict>
        <dict>
            <key>Hour</key>
            <integer>18</integer>
            <key>Minute</key>
            <integer>0</integer>
            <key>Weekday</key>
            <integer>5</integer>
        </dict>
    </array>
</dict>
</plist>

Notas:

El valor de la delay comando puede ser necesario ajustar. El objetivo aplicación necesita ser cargado con el GUI para antes de emitir el play comando .

Si va a utilizar Agentes de lanzamiento y Lanzar demonios Le recomiendo encarecidamente que lea el páginas del manual para launchctl , launchd.plist y launchd .

Puede leer el página del manual para command en Terminal tecleando man command , y a continuación pulse entrar en o para facilitar la lectura , sólo hay que teclear command y luego haga clic con el botón derecho del ratón y seleccione: Abrir la página del hombre

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