94 votes

Comment réparer l'icône Dropbox qui ne fonctionne pas sur Xubuntu 14.04 LTS 64 ?

Il y a quelques heures, l'icône Dropbox de Xubuntu 14.04 a cessé de fonctionner. L'icône est noire avec un zéro barré rouge. Je ne peux pas cliquer dessus pour faire apparaître le menu Dropbox. Je pense qu'il y a eu une mise à jour juste avant que cela n'arrive. J'ai réinstallé puis purgé Dropbox. J'ai même supprimé tous les fichiers associés et les dossiers cachés et après je l'ai réinstallé. Pourtant, l'icône ne fonctionne pas. J'ai essayé d'arrêter et de démarrer le service... toujours rien.

97voto

kk78 Points 1019

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 bug est lié au fait que Dropbox commence à utiliser la "zone d'indicateur" pour leur icône de la barre d'état système au lieu de la "zone de notification" et le sudo-fix se trouve juste fonctionner parce que 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 courant :

dropbox stop && DBUS_SESSION_BUS_ADDRESS="" dropbox start

Cela semble ramener l'icône dans la "zone de notification", ce qui corrige à la fois l'icône et le menu. De cette façon, le démon fonctionne 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 cette correction, n'oubliez pas de désactiver le script de démarrage par défaut avec " dropbox autostart n "(Merci à StockBreak pour cette commande, qui m'a fait gagner du temps ce matin).

EDIT2 : ...et pour une raison quelconque, j'ai encore dû 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 restera désactivé après celui-ci.

EDIT : Pour implémenter cette correction dans un script qui s'exécute à chaque démarrage de session, essayez cette solution : https://askubuntu.com/a/795864/496493

83voto

Juan M. Gonzalez Points 1544

A nouvelle solution de contournement proposé par Fichier C. c'est "dbus-launch dropbox start -i" .

Les adaptations suivantes sont rapportées par les utilisateurs comme fonctionnant 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, Unity, Xfce...

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

Comme ligne de commande :

dropbox stop && dbus-launch dropbox start

Ou comme un fichier Shell Shell :

#!/bin/bash

dropbox stop && dbus-launch dropbox start

21voto

StockBreak Points 411

Grâce à la solution de kk78, j'ai réalisé cette solution de contournement complète (voir également mon autre poste ):

I copié* mon entrée de bureau :

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

Modifiez l'entrée de la manière suivante (remarquez l'ajout de la touche 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 désactivé le démarrage automatique de Dropbox :

dropbox autostart n

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

8voto

Juan M. Gonzalez Points 1544

[Il s'agit de ma première réponse dépréciée, maintenant conservée pour la recherche de ce problème et d'autres bogues connexes ; pour des solutions plus récentes et plus efficaces, sans les inconvénients de sudo en matière de changement/récupération de propriété de fichier, voir la réponse de kk78, ou la ligne de commande "dropbox stop && dbus-launch dropbox start" dans une autre réponse]

Le bogue de l'icône de la barre d'état système de Dropbox semble être lié aux autorisations.

En attendant qu'il soit corrigé, une solution de contournement temporaire à partir de la ligne de commande (Konsole, Terminal, etc.), qui fonctionne ces jours-ci pour les utilisateurs de Xubuntu, Linux Mint, etc :

dropbox stop
sudo dropbox start

Nota:

A propos de la "sudo" Si vous êtes un utilisateur root, l'exécution de Dropbox en tant que root résout le problème de permission et l'icône de la barre d'outils fonctionne à nouveau correctement.

Cependant, cela a le petit effet secondaire d'avoir quelques fichiers dans le dossier caché ~/.dropbox/ appartiennent désormais à l'administrateur (root) au lieu de l'utilisateur (comme vous pouvez le voir avec un gestionnaire de fichiers tel que Dolphin), et le mot de passe de l'administrateur est donc demandé au démarrage de Dropbox.

Il s'agit d'une solution temporaire pour que l'icône de la zone de notification de Dropbox fonctionne pleinement sous Linux jusqu'à ce que le bogue soit corrigé par une prochaine mise à jour, mais si le correctif ne rétablit pas les permissions correctes, dans ce cas hypothétique, une solution rapide après la correction du bogue sera nécessaire :

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

Bien sûr, en remplaçant USER et GROUP. Par exemple, si vous êtes co-créateur d'Unix, d'UTF-8, du langage Go, etc. ;) ce serait quelque chose comme :

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

Mise à jour :

Désolé, je viens de voir quelque chose qui fait que cette solution de contournement temporaire est toujours possible mais moins pratique : Il n'y a pas que ces quelques fichiers déjà mentionnés dans le dossier caché ~/.dropbox appartient à l'utilisateur root, de même que les fichiers téléchargés depuis les serveurs Dropbox vers le dossier Dropbox (généralement le dossier ~/Dropbox ) sur l'ordinateur qui exécute Dropbox en tant que root.

Donc, je continue à utiliser cette solution de contournement jusqu'à la correction du bug, mais si nous voulons l'utiliser, nous devons appliquer la ligne de récupération des autorisations également au dossier Dropbox, au moins lorsque nous voulons modifier nos documents téléchargés. Par exemple :

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

Pour gagner du temps, et pour l'appliquer dès que nous démarrons l'ordinateur, nous pouvons l'inclure dans un simple Shell Shell, par exemple une dropbox.sh fichier texte 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

Une solution de rechange simple :

Au lieu de toutes les procédures précédentes, si la gestion des changements de propriété des fichiers et des récupérations, etc. est trop gênante, l'alternative la plus simple est probablement d'attendre la correction du bug de Dropbox sans utiliser l'icône, et de vérifier simplement l'état de Dropbox de temps en temps en utilisant la ligne de commande :

dropbox status

Le résultat, si Dropbox est en cours d'exécution, sera la plupart du temps : "A jour" .

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

Pour obtenir de l'aide supplémentaire en ligne de commande, il suffit de taper :

dropbox

Comme déjà suggéré, pour cesser d'utiliser l'autre solution de contournement (sudo), récupérer la propriété normale des fichiers 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 :

Ver La réponse de kk78 à cette question, avec une solution de contournement bien meilleure que la mienne, et avec l'icône de la zone de notification de 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é comme un Shell Shell :

#!/bin/bash

dropbox stop && DBUS_SESSION_BUS_ADDRESS="" dropbox start

3voto

jbrock Points 2951

Au lieu de rester sur une ancienne version ou de bidouiller d'autres aspects, j'ai décidé d'utiliser ce script au lieu de la petite icône. Il met la sortie de la commande dropbox status directement dans votre panneau. Cependant, lorsqu'il est synchronisé ou à jour, une petite coche ou un caractère de synchronisation apparaît.

Installez le Generic Monitor en collant ce qui suit dans le terminal :

sudo apt-get install xfce4-genmon-plugin

Configurez le script suivant pour qu'il s'exécute en utilisant le plugin du panneau Generic Monitor. Je n'ai pas utilisé d'étiquette et je l'ai configuré pour qu'il s'exécute 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 devrez exécuter ce qui suit pour ne pas afficher une demande 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 j'ai besoin de modifier un paramètre, je lance simplement Dropbox avec sudo pour modifier mes paramètres. Comme indiqué sur cette page, le lancement avec sudo permet de faire apparaître la petite icône et le menu.

En outre, vous pouvez faire écho à votre propre icône Dropbox ou image si vous préférez. Si votre ligne de commande Dropbox ne fonctionne pas, vous pouvez télécharger le script Python de Dropbox. ici . (Dans mon cas, je n'utilise pas l'extension *.py pour le nom du Python script de Dropbox).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X