Comment réparer une icône Dropbox non fonctionnelle sur Xubuntu 14.04 LTS 64?

93

Il y a quelques heures, l'icône de la liste déroulante dans Xubuntu 14.04 a cessé de fonctionner. L'icône est noire avec un zéro en rouge. Je ne peux pas cliquer dessus pour afficher le menu déroulant. Je crois qu'il y a eu une mise à jour juste avant que cela se produise. J'ai réinstallé puis supprimé la liste déroulante. J'ai même supprimé tous les fichiers associés et les dossiers cachés et après l'avoir réinstallé. Pourtant, l'icône ne fonctionne pas. J'ai essayé d'arrêter et de démarrer le service ... encore rien.

    
posée user505080 12.02.2016 - 23:48
la source

11 réponses

96

Je viens d'avoir ce bug sur mon Xubuntu 15.10, icône cassée et aucun moyen d'ouvrir le menu. Je pense que le bogue est lié au fait que Dropbox commence à utiliser "zone d'indicateur" pour l'icône de barre d'état au lieu de "zone de notification" et que le correctif sudo fonctionne, car certaines variables d'environnement ne sont pas utilisées avec les sessions sudo.

Au moins pour moi, ce problème peut être résolu en exécutant:

dropbox stop && DBUS_SESSION_BUS_ADDRESS="" dropbox start

Cela semble déplacer l'icône vers la "zone de notification" qui corrige à la fois l'icône et le menu. De cette façon, le démon s’exécute en tant qu’utilisateur normal et non en tant que root.

EDIT: si vous créez votre propre script de démarrage pour Dropbox basé sur ce correctif, n'oubliez pas de désactiver le script de démarrage par défaut à l'aide de la commande " dropbox autostart n " (merci à StockBreak pour celui-ci, m'a fait gagner du temps ce matin).

EDIT2: ... et pour une raison quelconque, je devais toujours supprimer le paramètre de démarrage automatique de l'interface graphique de Dropbox (cliquez sur l'icône > > Préférences > > Démarrer Dropbox au démarrage du système). J'espère qu'il reste éteint après celui-ci.

EDIT: pour implémenter ce correctif dans un script qui s'exécute chaque fois qu'une session débute, essayez cette solution: link

    
réponse donnée kk78 18.02.2016 - 12:16
la source
83

Une nouvelle solution de contournement , proposée par Le fichier C. est " dbus-launch dropbox start -i ".

Selon les utilisateurs, les adaptations suivantes fonctionneraient au moins sur les distributions Linux Fedora, Gentoo, Kubuntu, Linux Mint, openSUSE, Slackware, Ubuntu, Xubuntu ... et les environnements de bureau Cinnamon, KDE 4, KDE 5, Mate , Unité, Xfce ...

Cette nouvelle solution de contournement dbus-launch semble fonctionner un peu plus rapidement, avec plus de fiabilité et dans plus de cas que la précédente DBUS_SESSION_BUS_ADDRESS .

En ligne de commande:

dropbox stop && dbus-launch dropbox start

Ou en tant que fichier de script shell:

#!/bin/bash

dropbox stop && dbus-launch dropbox start
    
réponse donnée Juan M. Gonzalez 25.02.2016 - 17:01
la source
26

Contrairement à la solution proposée par kk78, la méthode suivante résout le problème une fois pour toutes:

  1. Fermer Dropbox.

  2. Ouvrez le fichier /usr/bin/dropbox avec un éditeur de texte (en tant qu’administrateur). Par exemple, dans le terminal, exécutez

    gksudo gedit /usr/bin/dropbox
    
  3. Créez une nouvelle ligne après import os et ajoutez ce qui suit:

    os.environ['DBUS_SESSION_BUS_ADDRESS'] = ""
    
  4. Enregistrer et redémarrer

Maintenant, Dropbox fonctionnera correctement:

    
réponse donnée darl 22.02.2016 - 08:18
la source
22

Grâce à la solution de kk78, j’ai réalisé cette solution complète (voir aussi mon autre message ):

J'ai copié * mon entrée de bureau:

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

Modifiez l'entrée comme ceci (notez le env mot):

[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

Et le démarrage automatique de Dropbox désactivé:

dropbox autostart n

* vous ne pouvez pas simplement le modifier car Dropbox remplace le fichier à chaque fois que vous vous connectez.

    
réponse donnée StockBreak 18.02.2016 - 18:40
la source
8

[C’est ma réponse précoce déconseillée, maintenant réservée à la recherche de bogues connexes; pour des solutions de contournement plus récentes et améliorées, sans le désagrément de sudo lié à la modification / la récupération de la propriété du fichier, consultez plutôt la réponse de kk78, ou la ligne de commande "dropbox stop && dbus-launch dropbox start" dans une autre réponse]

Ce bogue de l'icône de la barre des tâches Dropbox semble être lié aux autorisations.

Jusqu'à ce que le problème soit résolu, solution de contournement temporaire à partir de la ligne de commande (Konsole, Terminal, etc.), qui fonctionne actuellement pour les utilisateurs de Xubuntu, Linux Mint, etc.:

dropbox stop
sudo dropbox start

Remarque:

À propos de "sudo" , exécuter Dropbox en tant que root élimine le bogue d'autorisation et l'icône de la barre d'état système fonctionne à nouveau correctement.

Cependant, cela a le petit effet secondaire d'avoir quelques fichiers dans le dossier caché ~ / .dropbox / appartenant à root maintenant à l'utilisateur (comme vous pouvez le voir avec un gestionnaire de fichiers, par exemple). tel que Dolphin) et par conséquent, le mot de passe root est demandé lors du démarrage de Dropbox.

C'est une solution de contournement temporaire permettant à l'icône de la barre d'état Dropbox de fonctionner pleinement sous Linux jusqu'à ce que le bogue soit corrigé, espérons-le, par une prochaine mise à jour. Si le correctif ne restaure pas les autorisations appropriées, une solution rapide dans ce cas hypothétique après le correctif sera:

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

Bien sûr, remplacer USER et GROUP. Par exemple, si vous êtes co-créateur d'Unix, UTF-8, langue Go, etc., cela ressemblerait à ceci:

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

Mise à jour:

Désolé, je viens de voir quelque chose qui rend cette solution de contournement temporaire toujours réalisable mais moins pratique: non seulement les quelques fichiers déjà mentionnés dans le dossier caché ~ / .dropbox appartiennent également à root, les fichiers téléchargés des serveurs Dropbox vers le dossier Dropbox (généralement ~ / Dropbox ) sur l'ordinateur exécutant Dropbox en tant que racine.

Donc, j'utilise toujours cette solution de contournement jusqu'à la résolution du bogue, mais si nous voulons l'utiliser, nous devons également appliquer la ligne de récupération des autorisations au dossier Dropbox, du moins lorsque nous souhaitons éditer nos documents téléchargés. Par exemple:

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

Pour gagner du temps et l'appliquer au démarrage de l'ordinateur, vous pouvez l'inclure dans un simple script shell, par exemple. un fichier texte dropbox.sh avec la propriété exécutable, que nous pouvons exécuter à partir de la ligne de commande ou par un clic de souris:

#!/bin/bash

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

Solution de contournement alternative simple:

Au lieu de toutes les procédures précédentes, si le traitement des modifications de propriété de fichiers et des récupérations, etc. est trop gênant, la solution la plus simple consiste probablement à attendre le correctif du bogue Dropbox sans utiliser l'icône, et à simplement vérifier l'état de Dropbox à partir de de temps en temps en utilisant la ligne de commande:

dropbox status

Le résultat, si Dropbox est en cours d'exécution, sera généralement: "À jour" .

Plus tard, vous pourrez probablement utiliser la flèche vers le haut pour ré-exécuter rapidement cette ligne à partir d'une petite fenêtre de ligne de commande que vous pourrez garder ouverte.

Consultez l'aide supplémentaire en ligne de commande en tapant simplement:

dropbox

Comme déjà suggéré, pour cesser d'utiliser l'autre solution de contournement (sudo), récupérer la propriété normale du fichier et recommencer à exécuter Dropbox en tant qu'utilisateur normal au lieu de root, utilisez une seule fois (en remplaçant USER et 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

Nouvelle mise à jour:

Voir la réponse de kk78 à cette question, avec une solution de contournement bien meilleure que la mienne, et avec l'icône de la barre des tâches Dropbox en tant qu'utilisateur normal, et non en tant que root. Cela fonctionne au moins pour Xubuntu et Linux Mint.

Il peut également être utilisé en tant que script shell:

#!/bin/bash

dropbox stop && DBUS_SESSION_BUS_ADDRESS="" dropbox start
    
réponse donnée Juan M. Gonzalez 15.02.2016 - 13:46
la source
4

Au lieu de rester sur une version plus ancienne ou de jouer avec d'autres aspects, j'ai décidé d'utiliser ce script au lieu de la petite icône. Il place le résultat de la commande dropbox status directement dans votre panneau. Cependant, lors de la synchronisation ou de la mise à jour, il y a une petite coche ou un caractère de synchronisation.

Installez le moniteur générique en collant les éléments suivants dans le terminal:

sudo apt-get install xfce4-genmon-plugin

Configurez le script suivant pour qu'il s'exécute à l'aide du plug-in du panneau Generic Monitor. Je suis parti sans étiquette et l'ai configuré pour s'exécuter toutes les cinq secondes.

#!/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

Vous devez exécuter la procédure suivante pour ne pas afficher d'invite de mot de passe (qui peut être ignorée de toute façon) lors de la connexion:

sudo chown -R USER:GROUP ~/.dropbox

USER:GROUP est normalement juste votre nom d'utilisateur deux fois.

Lorsque je dois modifier un paramètre, je vais simplement lancer Dropbox avec sudo pour modifier mes paramètres. Comme indiqué sur cette page, le lancement avec sudo permet d'afficher la petite icône et le menu.

De plus, vous pouvez afficher votre propre icône Dropbox ou une image si vous préférez que cela . Si votre ligne de commande Dropbox ne fonctionne pas, vous pouvez télécharger le script python Dropbox ici . (Dans mon cas, je n'utilise pas l'extension * .py pour le nom du script python Dropbox.)

    
réponse donnée jbrock 19.02.2016 - 18:11
la source
3

J'ai modifié le script ~/.dropbox-dist/dropboxd comme suit, puis j'ai redémarré et récupéré l'icône. Comme ce fichier est écrasé par les mises à jour, je pense que je n'aurai rien à annuler si elles résolvent le problème lors de la prochaine mise à jour.

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

Mise à jour: Lorsque j'ai essayé ceci sur mon ordinateur portable, cela ne fonctionnait pas au début. J'ai réalisé que j'avais le même problème que «Copier», où l'enregistrement de la session XFCE4 démarrait Dropbox avant l'exécution du fichier de démarrage officiel. J'ai modifié mon fichier ~ / .profile pour effacer tous les fichiers * .state et * session * dans ~./cache/sessions

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

Mise à jour n ° 2: Le problème est toujours présent dans la version 3.18.1. Je le sais car, comme je l'avais prédit, le script ~/.dropbox-dist/dropboxd a été écrasé à chaque mise à jour, ce qui a renvoyé le problème à chaque fois. Le correctif ci-dessus fonctionne de manière fiable sur la restauration de session fournie par le démarrage Xubuntu 14.04 ne démarre pas directement le binaire:

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

À l'aide de "Système / Session et démarrage", sous l'onglet "Session", je peux voir que le fichier binaire est visible et serait redémarré si je n'avais pas supprimé les fichiers * session et * state.

À titre expérimental, j’ai essayé d’utiliser Upstart pour lancer Dropbox avant le début du suivi de session. J'ai d'abord créé le dossier /home/jhm/.init , puis un fichier appelé dropbox.conf contenant:

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

J'utilise cette méthode sur mon ordinateur portable Dell Xubuntu 14.04, et le programme est maintenant masqué du suivi de session. Je n'ai donc pas besoin de supprimer de fichiers.

Etant donné que dbus-launch crée un nouveau bus de session DBUS privé, DropBox ne trouvera jamais le service appindicator car ce sera le seul processus sur ce bus (autre que DBUS), ce qui revient à peu près à export DBUS_SESSION_BUS_ADDRESS="" . DropBox pour revenir à l'API de la barre d'état système. Cela s'appelle une "zone de notification" dans l'onglet "Eléments du panneau XFCE". Assurez-vous qu'il n'a pas été supprimé du panneau.

En utilisant d-feet et dbus-monitor , j’ai trouvé que le problème était que DropBox n’implémentait pas les interfaces "Menu" sur le chemin DBUS non existant "/ MenuBar". Les fans de DBUS peuvent explorer org.kde.StatusNotifierWatcher avec d-feet pour en savoir plus. Étant donné que le binaire dropbox est responsable de la prise en charge de ces interfaces, il ne reste plus qu'à attendre la prochaine mise à jour. En passant, toutes les librairies QT5.5 nécessaires sont incluses dans le programme. Pas besoin de télécharger des packages de développement.

J'ai également constaté que seule la boîte de dialogue de l'interface graphique semble empêcher de manière fiable la réinstallation du fichier de démarrage. Une fois que l'option 'Démarrer DropBox au démarrage du système' a été décochée, elle est restée ainsi.

    
réponse donnée user411778 21.02.2016 - 05:09
la source
2

J'utilise le même système d'exploitation, Xubuntu 14.04 x64, et je vois cette icône qui ne répond pas aux clics (pas de menu):

Notesdepublicationde 3.14.5 (arrivé le 9 février 2016 et installé sur ma machine) indique que Dropbox a été mis à jour pour utiliser Qt 5.5 sous Linux.

L'exécution de ce qui suit donne la version Qt sur ma machine:

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

Ainsi, je mis à niveau vers Qt 5.5 en utilisant les instructions d'ici .

Voici les étapes que j'ai suivies:

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

J'ai ensuite défini les éléments suivants dans ~/.bashrc et redémarré la session:

export QT_SELECT=opt-qt55

J'ai vérifié que Qt 5.5 est maintenant installé:

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

Ensuite, réinstallez Dropbox et redémarrez votre session:

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

Malheureusement, cela n'a pas fonctionné et l'icône de la barre des tâches est restée identique.

Ensuite, je me suis demandé si le retrait du plug-in indicateur du panneau Xfce4 fonctionnerait.

  1. Supprimer le plug-in indicateur
  2. ~? dropbox stop && dropbox start

Soudain, une icône de boîte de dépôt sauvage apparaît dans le panneau de notification!

Ilsemblequel'icôneDropboxaimerésiderdanslepanneaudenotification,maispasleplug-inIndicateur.

Mais...j'aimebienleplug-inIndicator,carilmedonnedesalertesparcourrierélectroniqueetuncontrôleduniveaudevolume.Alors,jel'airé-ajoutéaupanel.Jusqu'ici,toutvabien.

Mais,aprèsavoirredémarrélasession,j'aiànouveaucesconneries:

Alors, maintenant je suis coincé. Je ne sais pas comment faire en sorte que l'icône Dropbox apparaisse dans le panneau de notification au lieu du panneau d'indicateur, et je suis sûr que l'enfer ne va pas répéter ces étapes à chaque fois que je me connecte!

    
réponse donnée sharky 13.02.2016 - 05:48
la source
2

Ceci corrige le problème.

Dans le menu Dropbox, accédez à Préférences. Désélectionnez "Démarrer Dropbox au démarrage du système"

Accéder à la session et au démarrage > L'application démarre automatiquement et ajoute l'élément de démarrage suivant:

bash -c 'export DBUS_SESSION_BUS_ADDRESS="" && dropbox start -i'
    
réponse donnée jbrock 19.02.2016 - 19:16
la source
0

Ce n'est pas une réponse en soi, mais étant donné que nous sommes une communauté assez importante: ICI , le lien direct vers la page d'assistance client par e-mail de Dropbox. Si nous leur posons tous la question, peut-être qu’ils vont régler le problème eux-mêmes.

    
réponse donnée 21.10.2018 - 02:22
la source
0

(testé sur xbuntu 17.04)

Pour redémarrer la boîte de dépôt avec l’icône de bac appropriée: dropbox stop && dbus-launch dropbox start

Dropbox remplace le fichier de démarrage automatique ~/.config/autostart/dropbox.desktop au démarrage par /usr/share/applications/dropbox.desktop . Pour rendre le correctif permanent, modifiez ce dernier:

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

Vous pouvez également modifier le programme de lancement du menu principal:

sed 's/Exec=dropbox start -i/Exec=dbus-launch dropbox start -i/' ~/.local/share/applications/dropbox.desktop
    
réponse donnée tekumara 06.10.2017 - 01:55
la source

Lire d'autres questions sur les étiquettes