A maneira correta de fazer isso é criar um serviço launchctl. Você não terá janelas do Terminal abertas no login.
Crie um script /usr/local/bin/encfs-mount
para carregar o encfs com os argumentos desejados. Isso seria semelhante ao script que você já está carregando. Por exemplo:
#!/bin/bash
/usr/local/bin/encfs -f --ondemand --extpass="security 2>&1 >/dev/null find-generic-password -gl encfs | grep password | cut -d \\" -f 2" -i 15 ~/.sync ~/sync
Note that the above script uses the OSX Keychain via the security command to provide the
password, rather than saving it in this script. To add the password,
open the Keychain Access tool, and add an application named encfs to
one of your keychains. Use your login keychain if you never want to be
prompted for the password, the System keychain if you want to be
prompted for the encfs password every time it mounts the filesystem
with --ondemand
, or a new keychain if you want it to have its own
password. See http://widerin.org/blog/secure-your-dropbox.
Crie um arquivo de serviço em ~/Library/LaunchAgents/com.arg0.encfs.plist
para carregar esse script. Substitua YOUR_USERNAME
pelo seu nome de usuário:
<?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>Label</key>
<string>com.arg0.encfs</string>
<key>Program</key>
<string>/usr/local/bin/encfs-mount</string>
<key>KeepAlive</key>
<true/>
<key>UserName</key>
<string>YOUR_USERNAME</string>
</dict>
</plist>
Certifique-se de que o encfs ainda não esteja em execução (se não, desmonte-o e pare-o). Então inicie o novo serviço:
launchctl load ~/Library/LaunchAgents/com.arg0.encfs.plist
Seu sistema de arquivos encfs deve ser montado.
Verifique /var/log/system.log
para solucionar problemas.