Assumindo que você usou o link e não o pacote .deb, uma maneira possível de criar a caixa de depósito Espera do lançador seria com um script de shell. Na verdade, eu acho que você usou o pacote .deb desde que você disse que ele "corrigiu o gerenciador de arquivos". De qualquer forma, o script abaixo deve funcionar independentemente do método de instalação.
Tanto quanto eu posso ver, mountall(8)
é executado como um "trabalho inicial" em
Ubuntu (seja o que for). Ele é executado até que todos os sistemas de arquivos (incluindo o NFS) estejam montados.
Podemos verificar se está sendo executado ou iniciá-lo. Quando o sinal USR1 é recebido por
processo, todos os sistemas NFS são montados. Se as montagens forem bem-sucedidas, mountall
morre. Este script deve ser executado como o superusuário.
/ usr / local / bin / dropbox-wait-mount
#!/bin/sh
runas={$1:-root}
mpid='pidof mountall'
if [ -z "$mpid" ] ; then
mountall --daemon --no-events -q
mpid='pidof mountall'
else
echo mountall is running, going to notify it to mount nfs shares
fi
kill -USR1 $mpid # see /etc/init/mountall-net.conf and mountall(8)
mpid='pidof mountall'
while [ -n "$mpid" ]; do
echo waiting for all mounts
sleep 30
kill -USR1 $mpid # see /etc/init/mountall-net.conf and mountall(8)
sleep 1
mpid='pidof mountall'
done
echo should be safe to run dropbox now
exec su $runas -c /home/$runas/.dropbox-dist/dropboxd
A página man aconselha a não confiar na funcionalidade de mountall
, mas dada a natureza
de "soluções temporárias" Eu acho que você pode usar isso por algum tempo.
E para alguma integração com trabalhos de início do Ubuntu:
/etc/init/dropbox.conf
# based on ssh.conf
description "Dropbox daemon"
env RUNAS=root # use /etc/init/dropbox.override
#start on stopped mountall-net RESULT=ok
start on remote-filesystems
stop on runlevel [!2345]
respawn
respawn limit 10 5
umask 022
# 'sshd -D' leaks stderr and confuses things in conjunction with 'console log'
console none
pre-start script
test -x /usr/local/bin/dropbox-wait-mount || { stop; exit 0; }
end script
# if you used to set SSHD_OPTS in /etc/default/ssh, you can change the
# 'exec' line here instead
exec /usr/local/bin/dropbox-wait-mount $RUNAS || { stop; exit 0; }
/etc/init/dropbox.override
env RUNAS=jaroslav
Este exemplo deve ser executado somente após todos os sistemas de arquivos de rede terem sido montados, mas também pode ser executado manualmente:
start dropbox #RUNAS=jaroslav