.plist devuelve: Lista de propiedades no válida, plutil dice ok!

2

Estoy tratando de crear mi primer .plist. ¡Quiero montar una unidad ssh al iniciar sesión para no tener que ingresar el comando cada vez que inicio mi Mac!

El comando es: sshfs -o allow_other,defer_permissions [email protected]:/home/user/ /Users/user/Desktop/Website/ -o reconnect

El plist se ve así:

    <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple$
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>name.plist</string>
        <key>ProgramArguments</key>
        <array>
                <string>/usr/local/bin/sshfs</string>
                <string>-o allow_other,defer_permissions</string>
                <string>[email protected]:/home/user</string>
                <string>/mnt/User</string>
                <string>-o reconnect,volname=User</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
</dict>
</plist>

He seguido un tutorial que dice que cuando termine con el .plist, tengo que ejecutar estos 2 comandos:

launchctl load ~/path/name.plist
launchctl start ~/path/.name.plist

Luego regresa Invalid property list

Vi que Launchctl dice que plist no es válido, plutil dice que está bien , ¿dónde dice que debería reemplazar las primeras líneas pero no cambiar? plutil volver bien cuando se ejecuta, así que estoy perdido!

PD

He usado la siguiente plantilla publicada por user3439894. Esta vez se carga correctamente pero cuando empiezo no pasa nada

Cuando miro el registro del sistema no hay nada publicado al respecto ...

Sobre el camino a sshfs, he intentado 2 cosas:

  1. Lo dejé como estaba en el ejemplo que se muestra a continuación.
  2. Hice una sugerencia y agregué la ruta nuevamente / usr / local / bin / sshfs
usuario297239
fuente
Te estás concentrando en el formato de archivo, no en el proceso que estás haciendo. Debería consultar la documentación de LaunchAgents, por ejemplo, developer.apple.com/library/mac/documentation/MacOSX/Conceptual/…. También el tutorial dice qué camino usar
Mark

Respuestas:

1

Debido a que sería más difícil publicar esto en un comentario, lo estoy publicando como respuesta, aunque puede que no sea el correcto.

Tomé su línea de comando mientras usaba Lingon X para crear el archivo .plist , así es como analizó la línea de comando , que es diferente de la suya.


<?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>name</string>
    <key>ProgramArguments</key>
    <array>
        <string>sshfs</string>
        <string>-o</string>
        <string>allow_other,defer_permissions</string>
        <string>[email protected]:/home/user/</string>
        <string>/Users/user/Desktop/Website/</string>
        <string>-o</string>
        <string>reconnect</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Notarás que si bien utilicé la línea de comando que tienes en tu pregunta no incluía la ruta sshfs, es posible que debas volver a agregarla. La otra cosa que hizo diferente es que cada cadena en la matriz contiene la información pero no incluye los espacios entre los argumentos. Tal vez esto hace la diferencia. No puedo decirlo, ya que no puedo probar su línea de comando, sin embargo, vale la pena intentarlo usando el formato creado por Lingon X.

usuario3439894
fuente
Ty por su respuesta user3439894 He actualizado mi pregunta, ¿podría echarle un vistazo y decir si algo le viene a la mente?
usuario297239
@ user297239, En Terminal, ¿se ejecuta la línea de comando sin ninguna entrada del usuario? En otras palabras, si escribe o copia y pega la línea de comando completa , con la información real , y presiona enter ... ¿ regresa el mensaje sin otra cosa que presionar enter ? En caso afirmativo, entonces trataría de ejecutar esto en forma de script de aplicación como una aplicación Automator, AppleScript o Platypus como un elemento de inicio de sesión desde Preferencias del sistema> Usuarios y grupos> Usuario actual> Elementos de inicio de sesión, luego verifique si usa un método de ejecución diferente funciona sobre hacerlo como un Agente de Lanzamiento / Daemon usando un archivo .plist .
user3439894