Como consertar o ícone do Dropbox que não funciona no Xubuntu 14.04 LTS 64?

94

Algumas horas atrás, o ícone do dropbox no Xubuntu 14.04 parou de funcionar. O ícone é preto com um zero cortado em vermelho. Não consigo clicar nele para abrir o menu da caixa de depósito. Eu acredito que houve uma atualização antes disso acontecer. Eu reinstalei e purgei o dropbox. Até deletei todos os arquivos associados e pastas ocultas e depois que o instalei novamente. Ainda assim, o ícone não está funcionando. Tentou parar e iniciar o serviço ... novamente nada.

    
por user505080 12.02.2016 / 23:48

11 respostas

97

Acabei de receber esse bug no meu Xubuntu 15.10, ícone quebrado e nenhuma maneira de abrir o menu. Eu acho que o bug está conectado ao Dropbox começando a usar a "área do indicador" para o ícone da bandeja em vez da "área de notificação" e o sudo-fix simplesmente funciona porque algumas variáveis de ambiente não estão em uso com sessões sudo.

Pelo menos para mim, esse problema pode ser corrigido em execução:

dropbox stop && DBUS_SESSION_BUS_ADDRESS="" dropbox start

Isso parece mover o ícone de volta para "área de notificação", que corrige o ícone e o menu. Desta forma, o daemon é executado como um usuário normal e não como root.

EDIT: Se você criar seu próprio script de inicialização para o Dropbox com base nesta correção, lembre-se de desabilitar o script de inicialização padrão com o comando " dropbox autostart n " (Obrigado StockBreak por este, economizei tempo esta manhã).

EDIT2: ... e por algum motivo eu ainda tive que remover a configuração de início automático da GUI do Dropbox (clique em ícone > > Preferências > > Inicie o Dropbox na inicialização do sistema). Espero que fique fora depois disso.

EDIT: Para implementar essa correção em um script que é executado toda vez que a sessão é iniciada, tente esta solução: link

    
por kk78 18.02.2016 / 12:16
83

Uma nova solução alternativa , proposta por Arquivo C. , é " dbox-launch dropbox start -i ".

As seguintes adaptações são relatadas pelos usuários para trabalhar pelo menos nas distribuições Linux Fedora, Gentoo, Kubuntu, Mint Linux, openSUSE, Slackware, Ubuntu, Xubuntu ... e os ambientes de desktop Cinnamon, KDE 4, KDE 5, Mate , Unity, Xfce ...

Esta nova solução dbus-launch parece funcionar um pouco mais rápido, com mais confiabilidade e em mais casos do que a solução anterior DBUS_SESSION_BUS_ADDRESS .

Como linha de comando:

dropbox stop && dbus-launch dropbox start

Ou como um arquivo de script de shell:

#!/bin/bash

dropbox stop && dbus-launch dropbox start
    
por Juan M. Gonzalez 25.02.2016 / 17:01
26

Ao contrário da solução proposta por kk78, o método a seguir resolve o problema de uma vez por todas:

  1. Feche o Dropbox.

  2. Abra o arquivo /usr/bin/dropbox com um editor de texto (como administrador). Por exemplo, no terminal

    gksudo gedit /usr/bin/dropbox
    
  3. Crie uma nova linha após import os e adicione o seguinte:

    os.environ['DBUS_SESSION_BUS_ADDRESS'] = ""
    
  4. Salve e reinicie

Agora, o Dropbox funcionará bem:

    
por darl 22.02.2016 / 08:18
22

Graças à solução da kk78, fiz esta solução completa (veja também meu outro post ):

Eu copiei * minha entrada na área de trabalho:

cp ~/.config/autostart/dropbox.desktop ~/.config/autostart/start_dropbox.desktop

Alterou a entrada assim (observe a palavra env ):

[Desktop Entry]
Name=Dropbox
GenericName=File Synchronizer
Comment=Sync your files across computers and to the web
#Exec=dropbox start -i
Exec=env DBUS_SESSION_BUS_ADDRESS="" dropbox start -i
Terminal=false
Type=Application
Icon=dropbox
Categories=Network;FileTransfer;
StartupNotify=false

E desativado o início automático do Dropbox:

dropbox autostart n

* você não pode simplesmente editá-lo porque o Dropbox substitui o arquivo toda vez que você faz o login.

    
por StockBreak 18.02.2016 / 18:40
8

[Esta é a minha resposta inicial descontinuada, agora mantida para pesquisar isto e bugs relacionados; para soluções mais novas e melhores, sem a inconveniência de alterar / recuperar a propriedade de arquivos do sudo, consulte a resposta do kk78, ou a linha de comando "dropbox stop && dbus-launch dropbox start" em outra resposta]

Este bug do ícone da bandeja do Dropbox parece estar relacionado a permissões.

Até que seja consertado, uma solução temporária a partir da linha de comando (Konsole, Terminal, etc.), que está funcionando atualmente para usuários do Xubuntu, Linux Mint, etc:

dropbox stop
sudo dropbox start

Nota:

Sobre o "sudo" , executar o Dropbox como root supera o bug de permissão e o ícone da bandeja funciona corretamente novamente.

No entanto, ele tem o pequeno efeito secundário de ter alguns arquivos na pasta oculta ~ / .dropbox / de propriedade do root agora em vez do usuário (como você pode ver, por exemplo, com um gerenciador de arquivos como o Dolphin) e, portanto, a senha de root é solicitada ao iniciar o Dropbox.

Esta é uma solução temporária para que o ícone da bandeja do Dropbox funcione totalmente no Linux até que o bug seja corrigido por uma próxima atualização, mas se a correção não restaurar as permissões corretas, nesse caso hipotético, uma solução rápida depois da correção do bug:

sudo dropbox stop
sudo chown -R USER:GROUP /home/USER/.dropbox
dropbox start

Claro, substituindo USER e GROUP. Por exemplo, se você for co-criador de Unix, UTF-8, Go, etc.;) seria algo como:

sudo chown -R ken:ken /home/ken/.dropbox

Atualização:

Desculpe, acabei de ver algo que torna esta solução temporária ainda viável, mas menos conveniente: não apenas os poucos arquivos já mencionados na pasta oculta ~ / .dropbox são de propriedade do root, também os arquivos baixados dos servidores Dropbox para a pasta Dropbox (geralmente ~ / Dropbox ) no computador que executa o Dropbox como root.

Então, ainda estou usando essa solução alternativa até a correção do bug, mas se quisermos usá-la, temos que aplicar a linha de recuperação de permissões também à pasta do Dropbox, pelo menos quando quisermos editar nossos documentos baixados. Por exemplo:

sudo chown -R USER:GROUP /home/USER/Dropbox

Para economizar tempo e aplicá-lo quando iniciamos o computador, podemos incluí-lo em um script de shell simples, por exemplo, um arquivo de texto dropbox.sh com a propriedade executável, que podemos executar a partir da linha de comando ou clicando com o mouse:

#!/bin/bash

dropbox stop
sudo dropbox start
sudo chown -R USER:GROUP /home/USER/Dropbox

Solução alternativa simples:

Em vez de todos os procedimentos anteriores, se lidar com alterações e recuperações de propriedade de arquivos, etc. é muito inconveniente, a alternativa mais simples é simplesmente aguardar a correção do bug do Dropbox sem usar o ícone e simplesmente verificar o status do Dropbox vez em quando, usando a linha de comando:

dropbox status

O resultado, se o Dropbox estiver em execução, na maioria das vezes será: "Atualizada" .

Mais tarde, provavelmente você pode usar a seta para cima para executar rapidamente esta linha novamente a partir de uma pequena janela de linha de comando que você pode manter aberta.

Veja ajuda adicional na linha de comando digitando:

dropbox

Como já sugerido, para parar de usar a outra solução alternativa (sudo), recuperar a propriedade normal do arquivo e começar a executar o Dropbox novamente como usuário normal em vez de root, use apenas uma vez (substituindo USER e GROUP):

sudo dropbox stop
sudo chown -R USER:GROUP /home/USER/Dropbox
sudo chown -R USER:GROUP /home/USER/.dropbox
sudo chown -R USER:GROUP /home/USER/.dbus
dropbox start

Nova atualização:

Veja a resposta do kk78 para essa pergunta, com uma solução muito melhor do que a minha, e com o ícone da bandeja do Dropbox como usuário normal, não como root. Ele funciona pelo menos para o Xubuntu e o Linux Mint.

Ele também pode ser usado como um script de shell:

#!/bin/bash

dropbox stop && DBUS_SESSION_BUS_ADDRESS="" dropbox start
    
por Juan M. Gonzalez 15.02.2016 / 13:46
4

Em vez de ficar em uma versão mais antiga ou de mexer em outros aspectos, decidi usar esse script em vez do pequeno ícone. Ele coloca a saída do comando dropbox status diretamente no seu painel. No entanto, quando está sincronizando ou atualizado, há uma pequena marca de verificação ou um caractere de sincronização.

Instale o Monitor genérico colando o seguinte no terminal:

sudo apt-get install xfce4-genmon-plugin

Defina o seguinte script para ser executado usando o plug-in do painel Monitor genérico. Eu fui sem um rótulo e configurá-lo para executar a cada cinco segundos.

#!/bin/bash

status=$(dropbox status)
if [ "$status" = "Up to date" ]; then
    echo "✔"
elif [[ "$status" == "Syncing"* ]] || [[ "$status" == "Indexing"* ]]  || [[ "$status" == "Downloading"* ]]; then
    echo "⟲"
else
    echo "$status"
fi

Você precisará executar o seguinte para que não seja exibido um prompt de senha (que pode ser desconsiderado de qualquer maneira) no login:

sudo chown -R USER:GROUP ~/.dropbox

USER:GROUP normalmente é apenas seu nome de usuário duas vezes.

Quando preciso alterar uma configuração, apenas inicio o Dropbox com sudo para alterar minhas configurações. Conforme documentado nesta página, o lançamento com sudo permite que o pequeno ícone e o menu apareçam.

Além disso, você pode fazer echo seu próprio ícone do Dropbox ou da imagem, se preferir . Se a sua linha de comando do Dropbox não estiver funcionando, você pode baixar o script em Python do Dropbox aqui . (No meu caso, não estou usando a extensão * .py para o nome do script python do Dropbox.)

    
por jbrock 19.02.2016 / 18:11
3

Eu modifiquei o script ~/.dropbox-dist/dropboxd da seguinte maneira, reiniciei e recuperei o ícone. Como esse arquivo é sobregravado por atualizações, acho que não precisarei desfazer nada se o problema for corrigido na próxima atualização.

#!/bin/sh
export DBUS_SESSION_BUS_ADDRESS=""
PAR=$(dirname "$(readlink -f "$0")")
exec "$PAR/dropbox-lnx.x86-3.14.7/dropboxd" "$@"

Atualização: Quando tentei isso no meu laptop, não funcionou no começo. Eu percebi que estava tendo o mesmo problema que tive com 'Copy', onde o salvamento de sessão do XFCE4 estava iniciando o dropbox antes que o arquivo de inicialização oficial fosse executado. Eu modifiquei meu arquivo ~ / .profile para apagar qualquer arquivo * .state e * session * em ~./cache/sessions

rm -f /home/jhm/.cache/sessions/*.state
rm -f /home/jhm/.cache/sessions/*session*

Atualização # 2: Então, agora, usando a versão 3.18.1, o problema ainda está lá. Eu sei porque, como eu previa, o script ~/.dropbox-dist/dropboxd foi substituído a cada atualização, causando o retorno do problema a cada vez. A correção acima funciona de forma confiável na inicialização do Xubuntu 14.04, desde que a restauração da sessão não lance diretamente o binário:

/home/<user>/.dropbox-dist/dropbox-lnx.x86-3.18.1/dropbox

Usando "System / Session and Startup", sob a aba "Session", eu posso ver que o binário está visível e seria reiniciado se eu não deletasse os arquivos * session e * state.

Como experiência, tentei usar o Upstart para iniciar o Dropbox antes do início do acompanhamento da sessão. Primeiro eu criei a pasta /home/jhm/.init , então um arquivo chamado dropbox.conf foi adicionado a ela contendo:

description "Dropbox"
start on desktop-start
expect daemon
exec /usr/bin/dropbox start

Eu uso esse método no meu Dell Laptop Xubuntu 14.04, e o programa agora está oculto no rastreamento de sessão, então não preciso excluir arquivos.

Como dbus-launch cria um novo barramento de sessão DBUS privado, o DropBox nunca encontrará o serviço appindicator, pois será o único processo nesse barramento (diferente de DBUS), então é quase o mesmo que export DBUS_SESSION_BUS_ADDRESS="" Ambas as soluções causam DropBox para fallback para a API da bandeja do sistema. Isso é chamado de 'Área de Notificação' na guia Itens do Painel do XFCE. Certifique-se de que não tenha sido removido do painel.

Usando d-feet e dbus-monitor , descobri que o problema era que o DropBox não implementava as interfaces 'Menu' no caminho DBUS inexistente '/ MenuBar'. Os fãs do DBUS podem explorar org.kde.StatusNotifierWatcher com d-feet para saber mais. Como o binário da caixa de depósito é responsável pelo suporte a essas interfaces, não há nada a fazer além de aguardar a próxima atualização. BTW, todas as bibliotecas QT5.5 necessárias estão incluídas no programa. Não há necessidade de baixar pacotes de desenvolvimento.

Também descobri que apenas a caixa de diálogo da GUI parece manter, de maneira confiável, o arquivo de inicialização a ser reinstalado. Depois que a opção "Iniciar o DropBox na inicialização do sistema" não foi verificada, ficou assim.

    
por user411778 21.02.2016 / 05:09
2

Eu corro o mesmo sistema operacional, o Xubuntu 14.04 x64, e estou vendo este ícone que não responde a cliques (sem menu):

Notasdelançamentopara 3.14.5 (que chegou em 9 de fevereiro de 2016 e foi instalado na minha máquina) afirma que o Dropbox foi atualizado para usar o Qt 5.5 no Linux.

A execução da seguinte mostra a versão do Qt na minha máquina:

~$ qmake -v
QMake version 3.0
Using Qt version 5.2.1 in /usr/lib/x86_64-linux-gnu

Então, eu atualizei para o Qt 5.5 usando as instruções daqui .

Estes são os passos que eu dei:

sudo apt-add-repository ppa:beineri/opt-qt551-trusty
sudo apt-get update
sudo apt-get install qt-latest qtcreator-latest

Em seguida, defino o seguinte em ~/.bashrc e reiniciei a sessão:

export QT_SELECT=opt-qt55

Verifiquei que o Qt 5.5 está agora instalado:

~$ qmake -v
QMake version 3.0
Using Qt version 5.5.1 in /opt/qt55/lib

Em seguida, reinstale o Dropbox e reinicie sua sessão:

sudo apt-get remove dropbox
sudo apt-get install nautilus-dropbox

Infelizmente, isso não funcionou e o ícone da bandeja apareceu da mesma forma.

Depois, imaginei se remover o Plug-in Indicador do painel Xfce4 funcionaria.

  1. Remover o plug-in de indicador
  2. ~? dropbox stop && dropbox start

Então, de repente, um ícone de dropbox selvagem aparece no Painel de Notificação!

ParecequeoíconedoDropboxgostaderesidirnoPaineldeNotificação,masnãonoPlug-indoIndicador.

Mas...eugostodoPluginIndicador,poiselemeenviaalertasdee-mailecontroledevolume.Então,euadicioneinovamenteaopainel.Atéagoratudobem.

Mas,depoisdereiniciarasessão,recebonovamenteessabesteira:

Então, agora estou preso. Eu não sei como fazer o ícone do Dropbox aparecer no Painel de Notificação em vez do Painel de Indicadores, e tenho certeza de que não vai repetir esses passos toda vez que eu fizer login!

    
por sharky 13.02.2016 / 05:48
2

Isso corrige isso.

No menu do Dropbox, vá para Preferências. Desmarque a opção "Iniciar o Dropbox na inicialização do sistema"

Vá para Sessão e inicialização > Autostart do aplicativo e adicione o seguinte item de inicialização:

bash -c 'export DBUS_SESSION_BUS_ADDRESS="" && dropbox start -i'
    
por jbrock 19.02.2016 / 19:16
0

(testado no xbuntu 17.04)

Para reiniciar o dropbox com o ícone da bandeja correta: dropbox stop && dbus-launch dropbox start

O Dropbox substitui o arquivo de início automático ~/.config/autostart/dropbox.desktop na inicialização por /usr/share/applications/dropbox.desktop . Para tornar a correção permanente, modifique o último:

sudo sed -i 's/Exec=dropbox start -i/Exec=dbus-launch dropbox start -i/' /usr/share/applications/dropbox.desktop

Você também pode querer modificar o iniciador do menu principal:

sed 's/Exec=dropbox start -i/Exec=dbus-launch dropbox start -i/' ~/.local/share/applications/dropbox.desktop
    
por tekumara 06.10.2017 / 01:55
0

Esta não é uma resposta em si, mas considerando que somos uma comunidade bastante considerável: AQUI é o link direto para a página de suporte ao cliente do e-mail do dropbox. Se todos nós perguntarmos a eles sobre isso, talvez eles mesmos consertem isso.

    
por dez93_2000 21.10.2018 / 02:22