Несколько часов назад значок Dropbox в Xubuntu 14.04 прекратил работу. Значок черный с красным носом. Я не могу нажать на него, чтобы открыть меню Dropbox. Я считаю, что до этого произошло обновление. Я переустановил, затем очистил Dropbox. Я даже удалил все связанные файлы и скрытые папки и после того, как я их снова установил. Тем не менее, значок не работает. Пытался остановиться и начать службу ... снова ничего.
Новое решение, предлагаемое файлом C., представляет собой «запуск dbox-запуска dropbox -i».
Следующие пользователи сообщают о том, что пользователи работают по крайней мере в дистрибутивах Linux Fedora, Gentoo, Kubuntu, Linux Mint, openSUSE, Slackware, Ubuntu, Xubuntu ... и среды рабочего стола Cinnamon, KDE 4, KDE 5, Mate, Unity, Xfce ...
Этот новый "dbus- запускать dropbox start -i ", кажется, работает немного быстрее, с большей надежностью и в большинстве случаев, чем предыдущий обходной путь DBUS_SESSION_BUS_ADDRESS.
В качестве командной строки:
dropbox stop && dbus-launch dropbox start
Или как файл сценария оболочки:
#!/bin/bash
dropbox stop && dbus-launch dropbox start
В отличие от решения, предложенного kk78, следующий метод решает проблему раз и навсегда:
Закрыть Dropbox. Откройте файл /usr/bin/dropbox с помощью текстового редактора (в качестве администратора). Например, в терминальном прогонеgksudo gedit /usr/bin/dropbox
Создайте новую строку после import os и добавьте следующее: os.environ['DBUS_SESSION_BUS_ADDRESS'] = ""
Сохраните и перезапустите Теперь Dropbox будет работать нормально:
[ ! d11]
Благодаря решению kk78 я сделал это полное обходное решение (см. также мое другое сообщение):
Я скопировал * мою запись на рабочем столе:
cp ~/.config/autostart/dropbox.desktop ~/.config/autostart/start_dropbox.desktop
Изменен запись вроде этого ( обратите внимание на слово 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
И отключен автозапуск Dropbox:
dropbox autostart n
* вы не можете просто его редактировать, потому что Dropbox заменяет файл каждый раз, когда вы входите в систему .
[Это мой устаревший ранний ответ, теперь он исследует эти и связанные с ними ошибки; для более новых и улучшенных обходных решений без изменения прав на файл / восстановление неудобства sudo, см. ответ kk78 вместо этого или в командной строке "dropbox stop && dbus-launch dropbox start" в другом ответе]
Ошибка этого значка в окне Dropbox, похоже, связана с Разрешения.
До тех пор, пока он не будет исправлен, временное обходное решение из командной строки (Konsole, Terminal и т. д.), которое работает в эти дни для пользователей Xubuntu, Linux Mint и т. д .::!!d3]
dropbox stop
sudo dropbox start
Примечание:
О [Это мой устаревший ранний ответ, теперь он предназначен для исследования этих и связанных с ними ошибок; для более новых и лучших обходных решений без изменения прав на файл / восстановление неудобства sudo, см. ответ kk78 или командную строку "dropbox stop && dbus-launch dropbox start" в другом ответе] , запуск Dropbox с правами root исключает ошибку разрешения и лоток Значок снова работает правильно.
Однако он имеет небольшой вторичный эффект наличия нескольких файлов в скрытой папке ~ / .dropbox /, принадлежащих корню, вместо пользователя (как вы можете видеть, например, с помощью файловый менеджер, такой как Dolphin), и поэтому при запуске Dropbox запрашивается пароль root.
Это нормально в качестве временного обходного пути, чтобы полностью использовать иконку Dropbox в Linux, пока ошибка не будет исправлена с помощью следующее обновление, но если исправление не восстановит правильные разрешения, в этом гипотетическом случае быстрое решение после исправления ошибок будет:
sudo dropbox stop
sudo chown -R USER:GROUP /home/USER/.dropbox
dropbox start
Конечно, заменив USER и GROUP. Например, если вы являетесь соавтором Unix, UTF-8, языка Go и т. Д.;) Это будет примерно так:
sudo chown -R ken:ken /home/ken/.dropbox
Примечание:
Извините, я только что видел что-то, что делает этот временный обходной путь еще работоспособным, но менее удобным: не только те немногие уже упомянутые файлы в скрытой папке ~ / .dropbox / получают root, а также файлы, загруженные с серверов Dropbox, в папку Dropbox (обычно ~ / Dropbox) на компьютере, на котором запущен Dropbox, как root.
Итак, я все еще использую этот обходной путь до исправления ошибки, но если мы хотим его использовать, мы должны применить линию восстановления разрешений также к папке Dropbox, по крайней мере, когда мы хотим отредактировать наши загруженные документы. Например:
sudo chown -R USER:GROUP /home/USER/Dropbox
Чтобы сэкономить время и применить его при запуске компьютера, мы можем включить его в простой сценарий оболочки, например. текстовый файл ~ / Dropbox с исполняемым свойством, который мы можем запустить из командной строки или щелчком мыши:
#!/bin/bash
dropbox stop
sudo dropbox start
sudo chown -R USER:GROUP /home/USER/Dropbox
Простой альтернативный способ:
Вместо всех предыдущих процедур, если иметь дело с изменениями и восстановлениями файлов, и т. д. слишком неудобно, самой простой альтернативой, вероятно, просто дождаться исправления ошибок Dropbox без использования значка и просто проверить статус Dropbox со времени к времени, используя командную строку:
dropbox status
Результат, если Dropbox работает, большую часть времени будет: «До даты».
Позже, возможно, вы можете используйте стрелку вверх, чтобы быстро запустить эту строку из небольшого окна командной строки, которое вы можете открыть.
См. дополнительную справку по командной строке, просто набрав:
dropbox
Как уже предложил прекратить использование другого обходного пути (sudo), восстановить нормальное владение файлами и снова запустить Dropbox в качестве обычного пользователя вместо root, использовать только один раз (заменяя USER и 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
Простой альтернативный метод обхода:
См. ответ kk78 на этот вопрос с гораздо лучшим обходом, чем мой, и с иконкой в Dropbox в качестве обычного пользователя, а не root. Он работает, по крайней мере, для Xubuntu и Linux Mint.
Его также можно использовать в качестве сценария оболочки:
#!/bin/bash
dropbox stop && DBUS_SESSION_BUS_ADDRESS="" dropbox start
Вместо того, чтобы оставаться на более старой версии или заниматься другими аспектами, я решил использовать этот скрипт вместо маленькой иконки. Он выводит результат из команды dropbox status прямо на вашу панель. Однако, когда он синхронизируется или обновляется, имеется небольшая галочка или символ синхронизации.
Установите общий монитор, вставив в терминал следующее:
sudo apt-get install xfce4-genmon-plugin
Установите следующий сценарий для запуска с использованием плагина панели общего монитора. Я пошел без метки и установил, чтобы она запускалась каждые пять секунд.
#!/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
Вам нужно будет запустить следующее, чтобы он не показывал приглашение пароля (которое может быть проигнорировано в любом случае) при входе в систему:
sudo chown -R USER:GROUP ~/.dropbox
USER:GROUP обычно просто ваше имя пользователя дважды.
Когда мне нужно изменить параметр, я просто запустил Dropbox с sudo, чтобы изменить мои настройки. Как показано на этой странице, запуск с помощью sudo позволяет отображать маленькую иконку и меню.
Кроме того, вы можете повторить свой собственный значок или изображение Dropbox, если вы этого пожелаете. Если ваша командная строка Dropbox не работает, вы можете загрузить здесь скрипт python Dropbox. (В моем случае я не использую расширение * .py для имени сценария на Python Dropbox.)
Я изменил сценарий ~/.dropbox-dist/dropboxd следующим образом и перезагрузился и получил значок обратно. Поскольку этот файл перезаписывается обновлениями, я думаю, что мне не придется ничего отменить, если они исправят проблему при следующем обновлении.
#!/bin/sh
export DBUS_SESSION_BUS_ADDRESS=""
PAR=$(dirname "$(readlink -f "$0")")
exec "$PAR/dropbox-lnx.x86-3.14.7/dropboxd" "$@"
Обновление: когда я пробовал это на своем ноутбуке, Сначала работайте. Я понял, что у меня была та же проблема, что и у меня с «Копировать», когда сохранение сеанса XFCE4 начиналось с Dropbox до того, как был запущен официальный файл запуска. Я изменил файл ~ / .profile, чтобы стереть любые файлы * .state и * session * в ~./cache/sessions
rm -f /home/jhm/.cache/sessions/*.state
rm -f /home/jhm/.cache/sessions/*session*
Update # 2: Итак, теперь, используя версию 3.18.1, проблема все еще существует. Я знаю, потому что, как я и предсказывал, сценарий ~/.dropbox-dist/dropboxd был перезаписан каждым обновлением, в результате чего проблема возвращалась каждый раз. Исправление выше работает надежно при загрузке Xubuntu 14.04, при условии, что восстановление сеанса напрямую не запускает двоичный файл:
/home/<user>/.dropbox-dist/dropbox-lnx.x86-3.18.1/dropbox
Используя «System / Session and Startup», в разделе «Session» Я вижу, что двоичный файл является видимым и будет перезапущен, если я не удалю файлы * сессии и *.
В качестве эксперимента я попытался использовать Upstart для запуска Dropbox до начала отслеживания сеанса. Сначала я создал папку /home/jhm/.init, затем к ней был добавлен файл с именем dropbox.conf, содержащий:
description "Dropbox"
start on desktop-start
expect daemon
exec /usr/bin/dropbox start
Я использую этот метод на своем ноутбуке Dell Xubuntu 14.04, и теперь программа скрыта от отслеживание сеанса, поэтому мне не нужно удалять файлы.
Поскольку dbus-launch создает новую приватную шину сеанса DBUS, DropBox никогда не найдет службу appindicator, поскольку это будет единственный процесс на этой шине ( кроме DBUS), так что примерно то же, что и export DBUS_SESSION_BUS_ADDRESS="". Оба решения заставляют DropBox отступать к API-интерфейсу системы. Это называется «Область уведомлений» на вкладке «Элементы панели XFCE». Убедитесь, что он не был удален с панели.
Используя d-feet и dbus-monitor, я обнаружил, что проблема была в DropBox, неспособной реализовать интерфейсы «Menu» на несуществующем '/ MenuBar Путь DBUS. Вентиляторы DBUS могут исследовать org.kde.StatusNotifierWatcher с помощью d-feet, чтобы узнать больше. Поскольку двоичный файл dropbox отвечает за поддержку этих интерфейсов, нечего делать, кроме как ждать следующего обновления. BTW, все необходимые QT5.5 библиотеки включены в программу. Нет необходимости загружать пакеты разработки.
Я также обнаружил, что только диалоговое окно GUI, похоже, надежно сохраняет файл запуска от переустановки. После того, как «Start DropBox при запуске системы» был снят, он остался таким.
Я запускаю ту же ОС, Xubuntu 14.04 x64, и вижу этот значок, который не отвечает на клики (без меню):
Примечания к выпуску для (который появился с 9 февраля 2016 года и был установлен на моей машине) сообщает, что Dropbox обновлен для использования Qt 5.5 в Linux.
Выполнение следующего дает версию Qt на моей машине:
~$ qmake -v
QMake version 3.0
Using Qt version 5.2.1 in /usr/lib/x86_64-linux-gnu
Итак, я обновил до Qt 5.5, используя инструкции отсюда.
Это шаги, которые я предпринял:
sudo apt-add-repository ppa:beineri/opt-qt551-trusty
sudo apt-get update
sudo apt-get install qt-latest qtcreator-latest
Затем я установил следующее в ~/.bashrc и перезапустил сеанс:
export QT_SELECT=opt-qt55
Я проверил У меня теперь установлен Qt 5.5:
~$ qmake -v
QMake version 3.0
Using Qt version 5.5.1 in /opt/qt55/lib
Затем переустановите Dropbox и перезапустите сеанс:
sudo apt-get remove dropbox
sudo apt-get install nautilus-dropbox
К сожалению, это не сработало, и значок в трее появился
Затем я задался вопросом, будет ли удаляться плагин Indicator с панели Xfce4.
Снимите плагин индикатора ~? dropbox stop && dropbox startЗатем неожиданно на панели уведомлений появится значок дикого сброса!
обновлен до Qt 5.5, используя инструкции здесь
Кажется, что значок Dropbox нравится размещаться в панели уведомлений, но не в плагине индикатора.
Но ... Мне нравится плагин Indicator, так как он дает мне оповещения по электронной почте и контроль уровня громкости. Итак, я снова добавил его в панель. До сих пор так хорошо.
Но после повторного запуска сеанса я снова получаю эту чушь:
Итак, теперь я застрял. Я не знаю, как сделать значок Dropbox отображаться в панели уведомлений вместо панели индикаторов, и я уверен, что ад не повторит эти шаги каждый раз, когда я войду!
Это исправляет это.
В меню «Dropbox» перейдите в «Настройки». Снимите флажок «Начать Dropbox при запуске системы»
Перейдите в раздел «Сессия» и «Запуск»> «Автозапуск приложения» и добавьте следующий элемент запуска:
bash -c 'export DBUS_SESSION_BUS_ADDRESS="" && dropbox start -i'
(проверено на xbuntu 17.04)
Чтобы перезапустить dropbox с правильным значком в трее: dropbox stop && dbus-launch dropbox start
Dropbox заменяет файл автозапуска ~/.config/autostart/dropbox.desktop при запуске с помощью /usr/share/applications/dropbox.desktop. Чтобы сделать исправление постоянным, измените последнее:
sudo sed -i 's/Exec=dropbox start -i/Exec=dbus-launch dropbox start -i/' /usr/share/applications/dropbox.desktop
Вы также можете изменить главное меню:
sed 's/Exec=dropbox start -i/Exec=dbus-launch dropbox start -i/' ~/.local/share/applications/dropbox.desktop