Eu tenho uma VM do Windows XP apenas com o propósito de usar o Quicken. Eu tenho todos os meus documentos em minha pasta pessoal, incluindo os arquivos do Quicken, aos quais a VM vê através de um compartilhamento Samba.
Se o daemon de sincronização do Ubuntu One estiver em execução enquanto estiver usando o Quicken, não poderei editar ou modificar transações, pois, no entanto, o U1 bloqueia o arquivo. Então eu fiz um script para parar o daemon U1 antes que a VM iniciasse, então reiniciei o processo novamente depois que a VM foi desligada se estava rodando para começar.
Tudo estava funcionando bem, ou assim pensei. Se eu tiver um lote para fazer no Quicken, portanto, com a VM aberta por mais de 20 minutos, o daemon de sincronização U1 será iniciado novamente e começará a sincronizar meus arquivos, fazendo com que o Quicken me impeça de editar qualquer coisa e, na pior das hipóteses, trancar o que me força a desligá-lo e perder o trabalho.
Como posso evitar que o daemon inicie novamente, a menos que eu diga?
Abaixo está o script que estou usando atualmente:
#!/bin/bash
u1exist=yes
u1running=no
vm=a7a66504-3370-4462-89b1-25b5ee833528
vmcomment="Windows XP"
# silly check, is VirtualBox installed?
hash /usr/lib/virtualbox/VirtualBox 2>/dev/null || { echo >&2 "This is a wrapper script for VirtualBox, which is not installed on this machine. Aborting."; exit 1; }
#check to see if UbuntuOne is even installed
hash u1sdtool 2>/dev/null || { u1exist=no; }
printf "%s" "UbuntuOne sync-daemon running: "
if [ "$u1exist" == "yes" ]; then
# check to see if the sync-daemon is running
ustat='u1sdtool -s | awk 'BEGIN {FS=" "} /is_connected/ {print }''
if [ "$ustat" == "True" ]; then
u1running=yes
fi
echo $u1running
else
echo "does not exist."
fi
if [ "$u1running" == "yes" ]; then
echo "Turning off UbuntuOne syncing while VM is running. Don't worry, we'll turn it back on when the VM is shut down!"
u1sdtool -q
fi
echo "Starting virtual machine..."
/usr/lib/virtualbox/VirtualBox --comment $vmcomment --startvm $vm
if [ "$u1running" == "yes" ]; then
# only turn U1 back on if it was running to begin with
printf "%s" "Turning UbuntuOne sync-daemon back on: "
u1sdtool -c
echo "done."
fi
Edit: Significa incluir que estou usando o Ubuntu 12.04.