¿Cómo arreglar el icono de Dropbox que no funciona en Xubuntu 14.04 LTS 64?

93

Hace unas horas, el icono de Dropbox en Xubuntu 14.04 dejó de funcionar. El icono es negro con un cero rojo. No puedo hacer clic en él para abrir el menú desplegable. Creo que hubo una actualización justo antes de que esto sucediera. He reinstalado y luego purgado dropbox. Incluso borré todos los archivos asociados y las carpetas ocultas y después de que lo instalé de nuevo. Aún así, el icono no funciona. Intenté detener e iniciar el servicio ... otra vez nada.

    
pregunta user505080 12.02.2016 - 22:48

11 respuestas

96

Acabo de recibir este error en mi Xubuntu 15.10, un icono roto y no hay forma de abrir el menú. Creo que el error está conectado a Dropbox que comienza a usar "área de indicador" para el ícono de su bandeja en lugar de "área de notificación" y que sudo-fix simplemente funciona porque algunas variables de entorno no están en uso con las sesiones de sudo.

Al menos para mí, este problema se puede solucionar ejecutando:

dropbox stop && DBUS_SESSION_BUS_ADDRESS="" dropbox start

Esto parece mover el ícono nuevamente al "área de notificación" que corrige tanto el ícono como el menú. De esta manera, el demonio se ejecuta como un usuario normal y no como root.

EDITAR: si creas tu propia secuencia de comandos de inicio para Dropbox basándose en esta solución, recuerda deshabilitar la secuencia de comandos de inicio predeterminada con el comando " dropbox autostart n " (gracias a StockBreak por esta, me ahorre un poco esta mañana).

EDIT2: ... y por alguna razón aún tuve que eliminar la configuración de inicio automático de Dropbox GUI (haga clic en el icono > > Preferencias > > Iniciar Dropbox en el inicio del sistema). Espero que se quede apagado después de este.

EDITAR: para implementar esta corrección en un script que se ejecuta cada vez que se inicia la sesión, pruebe esta solución: enlace

    
respondido por el kk78 18.02.2016 - 11:16
83

Una nueva solución , propuesta por File C. , es " dbus-launch dropbox start -i ".

Los usuarios informan que las siguientes adaptaciones funcionan al menos en las distribuciones Linux Fedora, Gentoo, Kubuntu, Linux Mint, openSUSE, Slackware, Ubuntu, Xubuntu ... y los entornos de escritorio Cinnamon, KDE 4, KDE 5, Mate , Unidad, Xfce ...

Esta nueva solución dbus-launch parece funcionar un poco más rápido, con más confiabilidad, y en más casos que la solución anterior DBUS_SESSION_BUS_ADDRESS .

Como línea de comando:

dropbox stop && dbus-launch dropbox start

O como un archivo de script de shell:

#!/bin/bash

dropbox stop && dbus-launch dropbox start
    
respondido por el Juan M. Gonzalez 25.02.2016 - 16:01
26

A diferencia de la solución propuesta por kk78, el siguiente método resuelve el problema de una vez por todas:

  1. Cerrar Dropbox.

  2. Abra el archivo /usr/bin/dropbox con un editor de texto (como administrador). Por ejemplo, en la ejecución de la terminal

    gksudo gedit /usr/bin/dropbox
    
  3. Crea una nueva línea después de import os y agrega lo siguiente:

    os.environ['DBUS_SESSION_BUS_ADDRESS'] = ""
    
  4. Guardar y reiniciar

Ahora Dropbox funcionará bien:

    
respondido por el darl 22.02.2016 - 07:18
22

Gracias a la solución de kk78 hice esta solución completa (vea también otra publicación ):

He copiado * mi entrada de escritorio:

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

Cambió la entrada de esta manera (observe la palabra 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

Y deshabilitado el inicio automático de Dropbox:

dropbox autostart n

* no puedes editarlo porque Dropbox reemplaza el archivo cada vez que inicias sesión.

    
respondido por el StockBreak 18.02.2016 - 17:40
8

[Esta es mi respuesta temprana en desuso, ahora se mantiene para investigar este y otros errores relacionados; para soluciones alternativas más nuevas y mejores, sin el inconveniente de cambio / recuperación de propiedad del archivo de sudo, vea la respuesta de kk78 en su lugar, o la línea de comando "dropbox stop && dbus-launch dropbox start" en otra respuesta]

Este error en el icono de la bandeja de Dropbox parece estar relacionado con los permisos.

Hasta que se solucione, una solución temporal desde la línea de comandos (Konsole, Terminal, etc.), que está funcionando en estos días para los usuarios de Xubuntu, Linux Mint, etc .:

dropbox stop
sudo dropbox start

Nota:

Acerca del "sudo" , ejecutar Dropbox como raíz supera el error de permiso y el icono de la bandeja funciona de nuevo correctamente.

Sin embargo, tiene el pequeño efecto secundario de tener unos pocos archivos en la carpeta oculta ~ / .dropbox / de raíz ahora en lugar del usuario (como puede ver, por ejemplo, con un administrador de archivos como Dolphin), y por lo tanto, se solicita la contraseña de root al iniciar Dropbox.

Esto está bien como una solución temporal para hacer que el icono de la bandeja de Dropbox funcione completamente en Linux hasta que se solucione el error en una próxima actualización, pero si la solución no restaura los permisos correctos, en ese caso hipotético una solución rápida después de la corrección de errores será:

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

Por supuesto, reemplazando USUARIO y GRUPO. Por ejemplo, si eres co-creador de Unix, UTF-8, Go language, etc.;) sería algo así como:

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

Actualización :

Lo siento, acabo de ver algo que hace que esta solución temporal aún sea viable, pero menos conveniente: no solo los pocos archivos ya mencionados en la carpeta oculta ~ / .dropbox son propiedad de root, también los archivos descargados de los servidores de Dropbox a la carpeta de Dropbox (generalmente ~ / Dropbox ) en la computadora que ejecuta Dropbox como root.

Por lo tanto, todavía estoy usando esta solución hasta la solución del error, pero si queremos usarla, debemos aplicar la línea de recuperación de permisos también a la carpeta de Dropbox, al menos cuando queremos editar nuestros documentos descargados. Por ejemplo:

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

Para ahorrar tiempo y aplicarlo cuando iniciamos la computadora, podemos incluirlo en un simple script de shell, por ejemplo. un archivo de texto dropbox.sh con la propiedad ejecutable, que podemos ejecutar desde la línea de comandos o haciendo clic con el mouse:

#!/bin/bash

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

Solución alternativa simple:

En lugar de todos los procedimientos anteriores, si lidiar con los cambios de propiedad del archivo y las recuperaciones, etc. es demasiado incómodo, la alternativa más simple es probablemente esperar la corrección de errores de Dropbox sin usar el icono, y simplemente verificar el estado de Dropbox en De vez en cuando usando la línea de comando:

dropbox status

El resultado, si Dropbox se está ejecutando, la mayoría de las veces será: "Actualizado" .

Más tarde, probablemente pueda usar la flecha hacia arriba para ejecutar esta línea rápidamente nuevamente desde una pequeña ventana de línea de comandos que puede mantener abierta.

Consulte la ayuda adicional de la línea de comandos simplemente escribiendo:

dropbox

Como ya se sugirió, para dejar de usar la otra solución alternativa (sudo), recuperar la propiedad normal del archivo y comenzar a ejecutar Dropbox nuevamente como usuario normal en lugar de root, use solo una vez (reemplazando USER y 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

Nueva actualización:

Vea la respuesta de kk78 a esta pregunta, con una solución mucho mejor que la mía, y con el icono de la bandeja de Dropbox como usuario normal, no como root. Funciona al menos para Xubuntu y Linux Mint.

También se puede utilizar como un script de shell:

#!/bin/bash

dropbox stop && DBUS_SESSION_BUS_ADDRESS="" dropbox start
    
respondido por el Juan M. Gonzalez 15.02.2016 - 12:46
4

En lugar de permanecer en una versión anterior o jugar con otros aspectos, he decidido usar este script en lugar del pequeño icono. Pone la salida del comando dropbox status directamente en su panel. Sin embargo, cuando se está sincronizando o está actualizado, hay una pequeña marca de verificación o un carácter de sincronización.

Instale el monitor genérico pegando lo siguiente en el terminal:

sudo apt-get install xfce4-genmon-plugin

Configure la siguiente secuencia de comandos para que se ejecute utilizando el complemento del panel Monitor genérico. Fui sin una etiqueta y la configuré para que se ejecute 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

Deberá ejecutar lo siguiente para que no se muestre una solicitud de contraseña (que puede ignorarse de todos modos) al iniciar sesión:

sudo chown -R USER:GROUP ~/.dropbox

USER:GROUP normalmente es solo tu nombre de usuario dos veces.

Cuando necesito cambiar una configuración, simplemente iniciaré Dropbox con sudo para cambiar mi configuración. Como se documenta en esta página, el inicio con sudo permite que aparezcan el pequeño ícono y el menú.

Además, puede hacer un eco de su propio icono de Dropbox o imagen si lo prefiere . Si la línea de comandos de Dropbox no funciona, puede descargar el script de Dropbox python aquí . (En mi caso, no estoy usando la extensión * .py para el nombre del script de Dropbox python).

    
respondido por el jbrock 19.02.2016 - 17:11
3

Modifiqué el script ~/.dropbox-dist/dropboxd de la siguiente manera, lo reinicié y recuperé el ícono. Dado que este archivo se sobrescribe con las actualizaciones, creo que no tendré que deshacer nada si solucionan el problema en la próxima actualización.

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

Actualización: cuando probé esto en mi computadora portátil no funcionó al principio. Me di cuenta de que tenía el mismo problema que tenía con "Copiar" cuando el guardado de la sesión de XFCE4 comenzaba con Dropbox antes de que se ejecutara el archivo de inicio oficial. Modifiqué mi archivo ~ / .profile para borrar cualquier archivo * .state y * session * en ~./cache/sessions

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

Actualización # 2: Así que ahora usando la versión 3.18.1, el problema sigue ahí. Lo sé porque, como predije, la secuencia de comandos ~/.dropbox-dist/dropboxd se sobrescribió con cada actualización que causaba que el problema volviera cada vez. La solución anterior funciona de manera confiable en el arranque de Xubuntu 14.04, ya que la restauración de la sesión no inicia directamente el binario:

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

Al usar "Sistema / Sesión e inicio", en la pestaña "Sesión" puedo ver que el binario está visible y se reiniciaría si no eliminara los archivos de * sesión y * estado.

Como experimento, intenté usar Upstart para iniciar Dropbox antes de que comenzara el seguimiento de la sesión. Primero creé la carpeta /home/jhm/.init , luego se agregó un archivo llamado dropbox.conf que contiene:

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

Utilizo este método en mi Dell Laptop Xubuntu 14.04, y el programa ahora está oculto del seguimiento de sesiones, por lo que no necesito eliminar archivos.

Dado que dbus-launch crea un nuevo bus de sesión DBUS privado, DropBox nunca encontrará el servicio de indicador ya que será el único proceso en ese bus (que no sea DBUS), por lo que es casi lo mismo que export DBUS_SESSION_BUS_ADDRESS="" Ambas soluciones causan DropBox para retroceder a la API de la bandeja del sistema. Esto se denomina 'Área de notificación' en la pestaña Elementos del panel XFCE. Asegúrese de que no se haya eliminado del panel.

Al usar d-feet y dbus-monitor , encontré que el problema era que DropBox no implementaba las interfaces 'Menú' en la ruta DBUS no existente '/ MenuBar'. Los fanáticos de DBUS pueden explorar org.kde.StatusNotifierWatcher con d-feet para obtener más información. Ya que el binario de Dropbox es responsable de soportar esas interfaces, no hay nada que hacer sino esperar la próxima actualización. Por cierto, todas las bibliotecas QT5.5 necesarias se incluyen con el programa. No es necesario descargar paquetes de desarrollo.

También encontré que solo el diálogo de la GUI parece mantener de manera confiable que el archivo de inicio no se vuelva a instalar. Una vez que "Iniciar DropBox en el inicio del sistema" no estaba marcado, se mantuvo así.

    
respondido por el user411778 21.02.2016 - 04:09
2

Ejecuto el mismo sistema operativo, Xubuntu 14.04 x64, y veo este icono que no responde a los clics (no hay menú):

Notasdelaversiónpara 3.14.5 (que llegó el 9 de febrero de 2016 y se instaló en mi máquina) declara que Dropbox se ha actualizado para usar Qt 5.5 en Linux.

Ejecutar lo siguiente proporciona la versión Qt en mi máquina:

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

Entonces, actualicé a Qt 5.5 usando las instrucciones de aquí .

Estos son los pasos que tomé:

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

Luego establecí lo siguiente en ~/.bashrc y reinicié la sesión:

export QT_SELECT=opt-qt55

Verifiqué que tengo Qt 5.5 instalado:

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

Luego, reinstala Dropbox y reinicia tu sesión:

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

Lamentablemente, esto no funcionó y el ícono de la bandeja apareció igual.

Luego, me pregunté si sería útil eliminar el complemento de indicador del panel Xfce4.

  1. Eliminar el complemento de indicador
  2. ~? dropbox stop && dropbox start

Luego, de repente, ¡aparece un icono de cuadro desplegable en el panel de notificaciones!

ParecequealiconodeDropboxlegustaresidirenelpaneldenotificaciones,peronoenelcomplementodeindicador.

Pero...Megustaelcomplementodeindicador,yaquemedaalertasdecorreoelectrónicoycontroldeniveldevolumen.Entonces,lore-agreguéalpanel.Hastaahora,todobien.

Pero,despuésdereiniciarlasesión,vuelvoaestamierda:

Entonces, ahora estoy atascado. No sé cómo hacer que el icono de Dropbox aparezca en el Panel de notificaciones en lugar del Panel de indicadores, y estoy seguro de que no repetiré estos pasos cada vez que inicie sesión.

    
respondido por el sharky 13.02.2016 - 04:48
2

Esto lo arregla.

En el menú de Dropbox, vaya a Preferencias. Deselecciona "Iniciar Dropbox en el inicio del sistema"

Ir a la sesión y al inicio > Aplicación inicie automáticamente y agregue el siguiente elemento de inicio:

bash -c 'export DBUS_SESSION_BUS_ADDRESS="" && dropbox start -i'
    
respondido por el jbrock 19.02.2016 - 18:16
0

(probado en xbuntu 17.04)

Para reiniciar Dropbox con el icono de bandeja correcto: dropbox stop && dbus-launch dropbox start

Dropbox reemplaza el archivo de inicio automático ~/.config/autostart/dropbox.desktop en el inicio con /usr/share/applications/dropbox.desktop . Para que el arreglo sea permanente, modifica el último:

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

También puede modificar el iniciador del menú principal:

sed 's/Exec=dropbox start -i/Exec=dbus-launch dropbox start -i/' ~/.local/share/applications/dropbox.desktop
    
respondido por el tekumara 05.10.2017 - 23:55
0

Esta no es una respuesta per se, pero dado que somos una comunidad lo suficientemente grande: AQUÍ es el enlace directo a la página de atención al cliente de correo electrónico de Dropbox. Si todos les preguntamos sobre esto, tal vez lo arreglarán ellos mismos.

    
respondido por el dez93_2000 21.10.2018 - 00:22

Lea otras preguntas en las etiquetas