Usando Dropbox no Linux

Tags: , , — December 18, 2010 @ 6:19 pm

Para quem ainda não conhece, o Dropbox é um aplicativo de compartilhamento de arquivos online, com suporte para Windows, Mac OSX, GNU/Linux e ainda plataformas móveis, como o iPhone OS, Android e Blackberry, além de permitir acesso via qualquer navegador, que permite compartilhar arquivos entre diversos clientes, entre usuários, e ainda publicar galerias de imagens online.

Na minha opinião, a maior vantagem do Dropbox é permitir acesso aos mesmos documentos em casa, no trabalho e no celular.

A maneira mais fácil de utilizar o Dropbox no GNU/Linux é utilizando o plugin oficial para o gerenciador de arquivos Nautilus. Acontece que este método só funciona com o gerenciador de arquivos citado, e ainda tem algumas dependências problemáticas (tive problemas para instalá-lo no Debian).

Como alternativa, existe uma maneira de instalar um cliente de linha de comando como um daemon (programa que roda como um sub-processo, de forma transparente para o usuário), permitindo acesso aos seus arquivos compartilhados com qualquer gerenciador desejado e inclusive por linha de comando. Apesar da desvantagem desta alternativa conter alguns binários de código fechado, ela se torna uma opção bem mais versátil que a anterior.

Para instalar o cliente  de linha comando, você irá precisar previamente dos seguintes requisitos:

  • Versão 2.4 ou superior da biblioteca C
  • wget
  • Python 2.5
  • um navegador web

Com as dependências instaladas, baixe o pacote Dropbox-lnx-x86 (ou a versão x86_64) para sua $HOME (os arquivos serão descompactados no diretório .dropbox-dist).

Versão estável 32-bit:

wget -O dropbox.tar.gz "http://www.dropbox.com/download/?plat=lnx.x86"

Versão estável 64-bit:

wget -O dropbox.tar.gz "http://www.dropbox.com/download/?plat=lnx.x86_64"

Após baixar o pacote faça previamente um teste para garantir que os arquivos não serão descompactados diretamente do diretório atual:

tar -tzf dropbox.tar.gz

…E estando tudo certo, descompacte-os:

tar -xvzf dropbox.tar.gz

Após descompactar, inicie o daemon:

~/.dropbox-dist/dropboxd

Após executar o Daemon você deverá receber uma saída como a seguir:

This client is not linked to any account...
Please visit https://www.dropbox.com/cli_link?host_id=7d44a557aa58f285f2da0x67334d02c1 to link this machine.

Acessando o link fornecido no terminal você deve receber uma mensagem de sucesso no seu navegador (pode ser necessário logar em sua conta do Dropbox), indicando que tudo ocorreu bem. Depois disso, o daemon criará um diretório Dropbox sob sua $HOME, e iniciará a sincronização de arquivos, então você terá acesso aos seus arquivos compartilhados com com qualquer outro computador contendo um cliente Dropbox.

Para não precisar iniciar o daemon manualmente a cada vez que precisar, você pode criar um init script para iniciá-lo junto com o sistema. Para o Debian e Ubuntu, crie um script em /etc/init.d/dropbox, com o conteúdo a seguir e substitua os nomes na variável DROPBOX_USERS com os nomes de usuários que tem o Dropbox instalado:

# dropbox service
DROPBOX_USERS="user1 user2"
 
DAEMON=.dropbox-dist/dropbox  
 
start() {
    echo "Starting dropbox..."
    for dbuser in $DROPBOX_USERS; do
        HOMEDIR=`getent passwd $dbuser | cut -d: -f6`
        if [ -x $HOMEDIR/$DAEMON ]; then
            HOME="$HOMEDIR" start-stop-daemon -b -o -c $dbuser -S -u $dbuser -x $HOMEDIR/$DAEMON
        fi
    done
}
 
stop() {
    echo "Stopping dropbox..."
    for dbuser in $DROPBOX_USERS; do
        HOMEDIR=`getent passwd $dbuser | cut -d: -f6`
        if [ -x $HOMEDIR/$DAEMON ]; then
            start-stop-daemon -o -c $dbuser -K -u $dbuser -x $HOMEDIR/$DAEMON
        fi
    done
}
 
status() {
    for dbuser in $DROPBOX_USERS; do
        dbpid=`pgrep -u $dbuser dropbox`
        if [ -z $dbpid ] ; then
            echo "dropboxd for USER $dbuser: not running."
        else
            echo "dropboxd for USER $dbuser: running (pid $dbpid)"
        fi
    done
}
 
case "$1" in
 
    start)
        start
        ;;
 
    stop)
        stop
        ;;
 
    restart|reload|force-reload)
        stop
        start
        ;;
 
    status)
        status
        ;;
 
    *)
        echo "Usage: /etc/init.d/dropbox {start|stop|reload|force-reload|restart|status}"
        exit 1
 
esac
 
exit 0

…E então execute os comandos a seguir para adicionar o dropbox como um serviço do sistema:

chmod +x /etc/init.d/dropbox
update-rc.d dropbox defaults

Além do script para Debian/Ubuntu, na wiki do Dropbox existem exemplos de versões para Fedora e Gentoo. Na wiki também existe um tutorial para instalar o daemon Dropbox para ser executado para todos usuários (útil para servidores).

Deste modo, sempre que iniciar o sistema e logar com seu usuário você terá acesso aos seus arquivos compartlhados no Dropbox (desde, claro, que possua uma conexão com a internet).

Fonte: http://wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall

If you enjoyed this post, make sure you subscribe to my RSS feed!

4 Comments »

  1. Olá Paulo,

    Obrigado pelo tutorial.
    Segui todas as orientaçãoes e ao terminar, após “update-rc.d dropbox defaults” recebi uma mensagem:

    warning: /etc/init.d/dropbox missing LSB information

    apesar disto aparentemente funcionou tudo bem.

    Isto é algum erro no script??

    Obrigado

    Comment by Edmilson — January 17, 2011 @ 6:29 am

  2. Acredito que o init.d script esteja um pouco desatualizado, talvez estejam faltando alguns parâmetros que as versões mais recentes do Debian e Ubuntu utilizem. Mas não deve ser nada essencial.

    Comment by diovani — January 17, 2011 @ 8:18 am

  3. Interessante isso, mas eu baixei a app direto pelo Ubuntu Software Center (no Ubuntu Natty 11.04) e foi direto :P

    Abraço

    Comment by Lucas — October 13, 2011 @ 6:54 pm

  4. Ubuntu tem essas facilidades, mas por outro lado te dá menos espaço para personalizar o sistema.
    Por isso prefiro o Debian. :)

    Comment by diovani — December 9, 2011 @ 12:27 pm

RSS feed for comments on this post. TrackBack URI

Leave a comment