.plist devuelve: lista de propiedades no válida, plutil dice que está bien.

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 user@xxx.xxx.xxx.xxx:/home/user/ /Users/user/Desktop/Website/ -o reconnect

La lista 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>user@xxx.xxx.xxx.xxx:/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 .plist, tengo que ejecutar estos 2 comandos:

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

luego regresaInvalid property list

Vi que Launchctl dice que plist no es válido, plutil dice que está bien , donde dice que debo reemplazar las primeras líneas pero no hay cambios. plutil regresa bien cuando se ejecuta, ¡así que estoy perdido!

PD

He usado la siguiente plantilla publicada por user3439894. Esta vez carga correctamente pero cuando lo inicio 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 he dejado como estaba en el ejemplo dado a continuación.
  2. Hice una sugerencia y agregué la ruta nuevamente /usr/local/bin/sshfs
Se está concentrando en el formato del archivo, no en el proceso que está realizando. Debe consultar la documentación de LaunchAgents, por ejemplo, developer.apple.com/library/mac/documentation/MacOSX/Conceptual/… También el tutorial dice qué ruta usar

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 la correcta.

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 a 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>user@xxx.xxx.xxx.xxx:/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 usé la línea de comando que tienes en tu pregunta, no incluía la ruta a sshfs, es posible que tengas que volver a agregarla. La otra cosa que hizo diferente es que cada cadena en la matriz contiene la información, pero sin incluir los espacios entre los argumentos. Tal vez esto haga una 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.

Ty por su respuesta user3439894 He actualizado mi pregunta, ¿podría echarle un vistazo y decir si algo le viene a la mente?
@ user297239, en Terminal, ¿la línea de comando se ejecuta sin ninguna intervención 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 ... ¿el indicador regresa sin nada más que presionar enter ? En caso afirmativo, intentaría ejecutar esto en forma de secuencia de comandos de la aplicación como una aplicación Automator, AppleScript o Platypus como elemento de inicio de sesión desde Preferencias del sistema> Usuarios y grupos> Usuario actual> Elementos de inicio de sesión, luego ver si usa un método diferente de ejecución trabaja sobre hacerlo como un Agente de Lanzamiento/Demonio usando un archivo .plist .