¿Puedo montar una image encriptada ANTES de que Finder cargue?

Tengo la mayor parte de mi ~ carpeta en una image de disco de package disperso disperso. Lo tengo configurado para automontar a través de Prefs> Usuarios, pero se carga DESPUÉS del Buscador, por lo que mi Escritorio está en blanco a less que fuerce el relanzamiento del Buscador.

¿Hay alguna forma (supongo que a través de la command-line) para que el sistema operativo monte esta image de disco PRIMERO al iniciar session, antes de que se inicie cualquier otra cosa, incluido el Buscador?

  • Renombrar / eliminar files en la window de save de Mac OS X
  • ¿Cómo puedo evitar que OS X se conecte automáticamente a un server NFS al inicio?
  • Yosemite rompió el atajo de barra de herramientas de Dropbox para revelar files en Finder
  • ¿Hay alguna manera de que Spotlight o Launchbar o Quicksilver o similares devuelvan carpetas coincidentes y no files?
  • Convierta Mac en routes de Windows y viceversa para compartir con colegas
  • Cómo incorporar volúmenes SSHFS con FUSE OS X en Mavericks
  • ¿Cómo abro un file desde Spotlight en Finder?
  • Alias ​​de Sierra Finder que aparecen como icons generics
  • Entrar en Time Machine en una unidad externa no funciona
  • ¿Por qué mi secuencia de commands launchd no se ejecuta al iniciar session?
  • ¿Dónde está mi espacio para conducir perdido?
  • ¿Cómo se muestra la ruta del file en la parte inferior en "Todos mis files" en Sierra 10.12.3?
  • One Solution collect form web for “¿Puedo montar una image encriptada ANTES de que Finder cargue?”

    El assembly de sparsebundle se puede realizar a través de la línea de command utilizando el command 'hdiutil'. También puede crear un script de shell que realice esta acción. Este script asume que la image se encuentra en /Users/somebody/Image.sparsebundle, y que la contraseña usada para encriptar la image es "testpass"):

    #!/bin/bash # # This script mounts the disk image at /Users/somebody/Image.sparsebundle # echo -n testpass | hdiutil mount /Users/somebody/Image.sparsebundle 

    Después de crear esa secuencia de commands en algún editor de text, puede cambiar los permissions del file para permitir que se ejecute. Suponiendo que este script se haya creado en / Users / someone / MountSparsebundle, puede usar Terminal para hacerlo ejecutable:

     chmod 755 /Users/somebody/MountSparsebundle 

    Una vez que hayas hecho que el file sea ejecutable, deberías poder ejecutar el command usando la Terminal. En Terminal, escriba la ruta completa del script para ejecutarlo:

     /Users/somebody/MountSparsebundle 

    La secuencia de commands debería ejecutarse y provocar que el package sparsebundle se monte. Tenga en count que deseará desmontar ese package de sparse antes de ejecutar el script (para confirmar que se está montando cuando use el script).

    Después de verificar que el script está funcionando, puede crear un LaunchDaemon que será responsable de montar este package disperso en el arranque. El file de configuration de LaunchDaemon debe instalarse en / Library / LaunchDaemons, lo que hará que se cargue antes de la window de inicio de session. Aquí hay un ejemplo de un file de configuration de lanzamiento que ejecuta un script ubicado en / Users / alguien llamado "MountSparsebundle":

     <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Disabled</key> <true/> <key>RunAtLoad</key> <true/> <key>Label</key> <string>com.example.mountsparsebundle</string> <key>Program</key> <string>/Users/somebody/MountSparsebundle</string> </dict> </plist> 

    El último paso que necesitaría tomar sería configurar el sistema de lanzamiento para cargar ese daemon de inicio al arrancar. Esto se puede lograr utilizando launchctl (suponiendo que el file en el paso anterior se guardó en "/Library/LaunchDaemons/com.example.mountsparsebundle.plist"):

     sudo launchctl load -w /Library/LaunchDaemons/com.example.mountsparsebundle.plist 

    Alternativamente, puede usar LoginHook, que suspenderá el inicio del Finder hasta que finalice el script de inicio de session. Aunque Apple no recomienda LoginHooks, se pueden usar para lograr lo que estás tratando de hacer. Puede configurar el script mencionado anteriormente como un enlace de inicio de session utilizando el command defaults:

     sudo defaults write com.apple.loginwindow LoginHook /Users/somebody/MountSparsebundle 

    Nota: Los LoginHooks se ejecutan como root, lo que representa un riesgo de security … Sin embargo, esto también le permitirá examinar al usuario actual que está iniciando session (como parte del script) y realizar acciones basadas en las cnetworkingenciales del usuario. Aquí hay un script modificado que muestra un ejemplo de cómo analizar el nombre de usuario que está iniciando session (que se pasa al script como argumento $ 1):

     #!/bin/bash # # This script mounts the disk image at /Users/somebody/Image.sparsebundle # if [ "$1" == "somebody" ]; then echo -n testpass | hdiutil mount /Users/somebody/Image.sparsebundle fi 
    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).