Несколько часов назад значок Dropbox в Xubuntu 14.04 прекратил работу. Значок черный с красным носом. Я не могу нажать на него, чтобы открыть меню Dropbox. Я считаю, что до этого произошло обновление. Я переустановил, затем очистил Dropbox. Я даже удалил все связанные файлы и скрытые папки и после того, как я их снова установил. Тем не менее, значок не работает. Пытался остановиться и начать службу ... снова ничего.
Благодаря решению 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 заменяет файл при каждом входе в систему.
Благодаря решению 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 заменяет файл при каждом входе в систему.
Благодаря решению 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 заменяет файл при каждом входе в систему.
Благодаря решению 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 заменяет файл при каждом входе в систему.
Благодаря решению 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 заменяет файл при каждом входе в систему.
Благодаря решению 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 заменяет файл при каждом входе в систему.
Просто получил эту ошибку на моем Xubuntu 15.10, сломанный значок и не открывал меню. Я думаю, что ошибка связана с Dropbox, которая начинает использовать «область индикатора» для своего значка в трее вместо «области уведомлений», и sudo-fix просто работает, потому что некоторые переменные среды не используются с сеансами sudo.
По крайней мере, для меня эта проблема может быть устранена при запуске:
dropbox stop && DBUS_SESSION_BUS_ADDRESS="" dropbox start
Кажется, это переводит значок обратно в «область уведомлений», которая фиксирует как значок, так и меню. Таким образом, демон запускается как обычный пользователь, а не как root.
EDIT: если вы создаете свой собственный сценарий запуска для Dropbox на основе этого исправления, не забудьте отключить сценарий запуска по умолчанию с помощью «dropbox autostart n
», (спасибо StockBreak за это, я некоторое время спасал меня этим утром).
EDIT2: ... и по какой-то причине мне все еще пришлось удалить настройку автозапуска из Dropbox GUI (щелкните значок >> Настройки> > Запустите Dropbox при запуске системы). Надеюсь, он останется после этого.
EDIT: Чтобы реализовать это исправление в скрипте, который запускается каждый раз, когда запускается сеанс, попробуйте это решение: https://askubuntu.com/a/795864/ 496493
indicator-applet
на панель (в сторону уже доступного и настоящего indicator-applet-complete
), иначе значок Dropbox просто не появился. Это на новой установке Ubuntu 16.04 x86 (на очень старом ноутбуке Toshiba), запустив сессию gnome-fallback
с metacity
.
– Avio
14 August 2016 в 16:17
dropbox stop && dbus-launch dropbox start
. Я использовал его на своем ноутбуке (в настоящее время Xubuntu 17.04) и не испытывал проблем. Было бы очень приятно, если бы Dropbox исправил это ...
– kk78
31 May 2017 в 17:35
Благодаря решению 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 заменяет файл каждый раз, когда вы входите в систему .
В отличие от решения, предложенного kk78, следующий метод решает проблему раз и навсегда:
Закрыть Dropbox. Откройте файл /usr/bin/dropbox с помощью текстового редактора (в качестве администратора). Например, в терминальном прогонеgksudo gedit /usr/bin/dropbox
Создайте новую строку после import os и добавьте следующее: os.environ['DBUS_SESSION_BUS_ADDRESS'] = ""
Сохраните и перезапустите Теперь Dropbox будет работать нормально:
[ ! d11]
Это исправляет это.
В меню «Dropbox» перейдите в «Настройки». Снимите флажок «Начать Dropbox при запуске системы»
Перейдите в раздел «Сессия» и «Запуск»> «Автозапуск приложения» и добавьте следующий элемент запуска:
bash -c 'export DBUS_SESSION_BUS_ADDRESS="" && dropbox start -i'
[Это мой устаревший ранний ответ, теперь он исследует эти и связанные с ними ошибки; для более новых и улучшенных обходных решений без изменения прав на файл / восстановление неудобства 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
Я запускаю ту же ОС, 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 отображаться в панели уведомлений вместо панели индикаторов, и я уверен, что ад не повторит эти шаги каждый раз, когда я войду!
(проверено на 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
Я изменил сценарий ~/.dropbox-dist/dropboxd следующим образом и перезагрузился и получил значок обратно. & nbsp; Поскольку этот файл перезаписывается обновлениями, я думаю, что мне не придется ничего отменить, если они исправят проблему при следующем обновлении.
#!/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
Используя «Система / сеанс и запуск» в разделе «Сессия», Я вижу, что двоичный файл является видимым и будет перезапущен, если я не удалю файлы * сессии и *.
В качестве эксперимента я попытался использовать 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 при запуске системы» был снят, он остался таким.
Благодаря решению 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 заменяет файл каждый раз, когда вы входите в систему .
В отличие от решения, предложенного kk78, следующий метод решает проблему раз и навсегда:
Закрыть Dropbox. Откройте файл /usr/bin/dropbox с помощью текстового редактора (в качестве администратора). Например, в терминальном прогонеgksudo gedit /usr/bin/dropbox
Создайте новую строку после import os и добавьте следующее: os.environ['DBUS_SESSION_BUS_ADDRESS'] = ""
Сохраните и перезапустите Теперь Dropbox будет работать нормально:
[ ! d11]
Это исправляет это.
В меню «Dropbox» перейдите в «Настройки». Снимите флажок «Начать Dropbox при запуске системы»
Перейдите в раздел «Сессия» и «Запуск»> «Автозапуск приложения» и добавьте следующий элемент запуска:
bash -c 'export DBUS_SESSION_BUS_ADDRESS="" && dropbox start -i'
[Это мой устаревший ранний ответ, теперь он исследует эти и связанные с ними ошибки; для более новых и улучшенных обходных решений без изменения прав на файл / восстановление неудобства 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
Я запускаю ту же ОС, 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 отображаться в панели уведомлений вместо панели индикаторов, и я уверен, что ад не повторит эти шаги каждый раз, когда я войду!
(проверено на 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
Я изменил сценарий ~/.dropbox-dist/dropboxd следующим образом и перезагрузился и получил значок обратно. & nbsp; Поскольку этот файл перезаписывается обновлениями, я думаю, что мне не придется ничего отменить, если они исправят проблему при следующем обновлении.
#!/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
Используя «Система / сеанс и запуск» в разделе «Сессия», Я вижу, что двоичный файл является видимым и будет перезапущен, если я не удалю файлы * сессии и *.
В качестве эксперимента я попытался использовать 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 при запуске системы» был снят, он остался таким.
Это исправляет это.
В меню «Dropbox» перейдите в «Настройки». Снимите флажок «Начать Dropbox при запуске системы»
Перейдите в раздел «Сессия» и «Запуск»> «Автозапуск приложения» и добавьте следующий элемент запуска:
bash -c 'export DBUS_SESSION_BUS_ADDRESS="" && dropbox start -i'
В отличие от решения, предложенного kk78, следующий метод решает проблему раз и навсегда:
/usr/bin/dropbox
с помощью текстового редактора (как администратор). Например, в терминальном прогоне gksudo gedit /usr/bin/dropbox
import os
и добавьте следующее: os.environ['DBUS_SESSION_BUS_ADDRESS'] = ""
Теперь Dropbox будет работать нормально:
[Это мой устаревший ранний ответ, теперь он исследует эти и связанные с ними ошибки; для более новых и более эффективных обходных решений без изменения прав на файл / восстановление неудобства sudo, см. ответ kk78 вместо этого или в командной строке "dropbox stop && dbus-launch dropbox start"
в другом ответе]
Эта ошибка с иконкой в Dropbox для связи с разрешениями.
Пока он не будет исправлен, временное обходное решение из командной строки (Konsole, Terminal и т. д.), которое работает в эти дни для пользователей Xubuntu, Linux Mint и т. д .:
dropbox stop
sudo dropbox start
Примечание:
Сведения о "sudo" , запуске Dropbox с правами root, устраняет ошибку разрешения, а значок в трее снова работает правильно.
Однако у него есть небольшой вторичный эффект наличия нескольких файлов в скрытой папке ~ / .dropbox / , принадлежащих корню теперь вместо пользователя (как вы можете видеть, например, файловый менеджер, такой как Dolphin), и поэтому root-пароль запрашивается при запуске Dropbox.
Это нормально в качестве временного обходного пути, чтобы полностью открыть иконку Dropbox в Linux, пока ошибка, как мы надеемся, не будет исправлена следующий u pdate, но если исправление не восстанавливает правильные разрешения, в этом гипотетическом случае быстрое решение после исправления ошибок будет:
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.sh с исполняемым свойством, который мы можем запустить из командной строки или щелчком мыши:
#!/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
Я запускаю ту же ОС, Xubuntu 14.04 x64, и вижу этот значок, который не реагирует на щелчки (нет меню):
Release примечания для 3.14.5 (который появился с 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
К сожалению, это не помогло, и значок в трее появился. тот же.
Затем я задался вопросом, будет ли удаляться индикатор-плагин с панели Xfce4.
~? dropbox stop && dropbox start
Затем неожиданно на панели уведомлений появляется значок дикого сброса!
Кажется, что значок Dropbox нравится проживать в панели уведомлений, но не в плагине индикатора.
Но ... Мне нравится плагин Indicator, поскольку он дает мне оповещения по электронной почте и контроль уровня громкости. Итак, я снова добавил его в панель. Пока что, хорошо.
Но после повторного запуска сеанса я снова получаю эту чушь:
So , теперь я застрял. Я не знаю, как сделать значок Dropbox отображаться в панели уведомлений вместо панели индикаторов, и я уверен, что не будет повторять эти шаги каждый раз, когда я вхожу в систему!
(проверено на 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
Я изменил сценарий ~/.dropbox-dist/dropboxd
следующим образом и перезагрузился и получил значок назад. & nbsp; Поскольку этот файл перезаписывается обновлениями, я думаю, что мне не придется ничего отменить, если они исправят проблему при следующем обновлении.
#!/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, похоже, надежно сохраняет файл запуска от переустановки. После того, как «Начать DropBox при запуске системы» был снят, он остался таким.
В отличие от решения, предложенного kk78, следующий метод решает проблему раз и навсегда:
/usr/bin/dropbox
с помощью текстового редактора (как администратор). Например, в терминальном прогоне gksudo gedit /usr/bin/dropbox
import os
и добавьте следующее: os.environ['DBUS_SESSION_BUS_ADDRESS'] = ""
Теперь Dropbox будет работать нормально:
Это исправляет это.
В меню «Dropbox» перейдите в «Настройки». Снимите флажок «Начать Dropbox при запуске системы»
Перейдите в раздел «Сессия» и «Запуск»> «Автозапуск приложения» и добавьте следующий элемент запуска:
bash -c 'export DBUS_SESSION_BUS_ADDRESS="" && dropbox start -i'
[Это мой устаревший ранний ответ, теперь он исследует эти и связанные с ними ошибки; для более новых и более эффективных обходных решений без изменения прав на файл / восстановление неудобства sudo, см. ответ kk78 вместо этого или в командной строке "dropbox stop && dbus-launch dropbox start"
в другом ответе]
Эта ошибка с иконкой в Dropbox для связи с разрешениями.
Пока он не будет исправлен, временное обходное решение из командной строки (Konsole, Terminal и т. д.), которое работает в эти дни для пользователей Xubuntu, Linux Mint и т. д .:
dropbox stop
sudo dropbox start
Примечание:
Сведения о "sudo" , запуске Dropbox с правами root, устраняет ошибку разрешения, а значок в трее снова работает правильно.
Однако у него есть небольшой вторичный эффект наличия нескольких файлов в скрытой папке ~ / .dropbox / , принадлежащих корню теперь вместо пользователя (как вы можете видеть, например, файловый менеджер, такой как Dolphin), и поэтому root-пароль запрашивается при запуске Dropbox.
Это нормально в качестве временного обходного пути, чтобы полностью открыть иконку Dropbox в Linux, пока ошибка, как мы надеемся, не будет исправлена следующий u pdate, но если исправление не восстанавливает правильные разрешения, в этом гипотетическом случае быстрое решение после исправления ошибок будет:
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.sh с исполняемым свойством, который мы можем запустить из командной строки или щелчком мыши:
#!/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