Ошибка GConf: демон D-BUS не запущен ?! Как переустановить или исправить?

27

После установки Konquerer и перезагрузки моего ноутбука я получил следующую ошибку при попытке открыть, отредактировать или получить доступ к файлам с правами root из терминала (что для меня является существенным).

корень @ linuxBox: / Главная / V2R # gnome-open /home/

(gnome-open: 2686): GConf-WARNING **: Клиенту не удалось подключиться к демону D-BUS: // bin / dbus-launch завершился ненормально со следующей ошибкой: Протокол не указан Ошибка автозапуска: Ошибка инициализации X11.

Ошибка GConf: демон D-BUS не работает

root @ linuxBox: / home / v2r # Протокол не указан. Не удалось проанализировать аргументы: Не удается открыть отображение:

Также кажется, что dbus не установлен должным образом /bin/и /usr/bin/ смотрите скриншот: введите описание изображения здесь

Как мне решить эту проблему и заранее поблагодарить вас? !!!


Спасибо за ваш ответ, СэрЧарло! Это не решает проблему вообще. Обратите внимание, что это происходит только при входе в систему root!

корень @ linuxBox: / Главная / V2R # gnome-open /home/

(gnome-open: 5170): GConf-WARNING **: клиенту не удалось подключиться к демону D-BUS: не удалось подключиться к socket / tmp / dbus-2RdCUjrZ9k: соединение отклонено Ошибка GConf: демон D-BUS не запущен

root @ linuxBox: / home / v2r # Протокол не указан. Не удалось проанализировать аргументы: Не удается открыть отображение:

V2R
источник

Ответы:

2

Ответ сэр Чарло сработал для меня. Та же проблема на Ubuntu 12.04 (точный панголин). Да, я также использую su (root). Позор, позор. Та же проблема с запуском emacs.

Похоже, проблема в том, что DBUS_SESSION_BUS_ADDRESS сохраняет свое значение, когда вы используете su вместо выбора значения в /root/.dbus/session-bus/.

от man dbus-launch:

   ...
   The second common reason for autolaunch is an su to another  user,  and
   display  of  X  applications  running as the second user on the display
   belonging to the first user. Perhaps the ideal fix in this  case  would
   be  to allow the second user to connect to the session bus of the first
   user, just as they can connect to the first user's display.  However, a
   mechanism for that has not been coded.
   ...

Используйте sudo, suedit, gksu.

Или, если вы ДОЛЖНЫ использовать su, попробуйте добавить это в ваш /root/.bashrc:

sessionfile=`find "${HOME}/.dbus/session-bus/" -maxdepth 1 -type f`
if [ -f "$sessionfile" ] ; then
    if grep -q "^DBUS_SESSION_BUS_ADDRESS=" "${sessionfile}" ; then
        export `grep "^DBUS_SESSION_BUS_ADDRESS=" "${sessionfile}"`
    else
        echo "DBUS_SESSION_BUS_ADDRESS not found in ${sessionfile}"
    fi
else
    echo "no session address file found in ${HOME}/.dbus/session-bus"
fi
user68606
источник
Большое спасибо за ваш ответ user68606 !! Позже я еще раз расскажу о ваших предложениях и обновлю свой вопрос. (Может занять 1-2 дня / нет INet дома прямо сейчас.)
v2r
31

У меня была такая же проблема. В моей системе проблема вызвана тем, ~/.dbusчто владелец root. Смена владельца меня решила для меня проблему. Я предлагаю вам проверить это и в вашей системе.

Смена владельца может быть выполнена с помощью chownкоманды. Для одного файла:

chown <user>:<group> file

Для каталога и его дочерних элементов:

chown -R <user>:<group> folder

Итак, в этом случае,

chown -R <your user>:<your group> ~/.dbus 

должно сработать.

scoopc
источник
2
Можете ли вы объяснить, как изменить право собственности на файлы для других
Mateo
Спасибо за ответ scoopc. Я уже переустанавливал свою ОС Ubuntu несколько месяцев назад, так что мне уже поздно опробовать ваше предложение.
v2r
4
Вы, сэр, выиграли интернет. Так как у 16 ​​других людей была такая же проблема, есть ли у кого-нибудь какие-либо понятия о том, как ~/.dbus/стать владельцем root?
Тридцать
12

Попробуйте export $(dbus-launch)
Это работает для меня на Opensuse 12.1 при запуске в качестве виртуальной машины.

Аакаш Гоял
источник
работает и на Mint 18 (ранее не смог выполнить dpkg -i .deb)
vladkras
4

У меня также были проблемы с dbus и vnc. И я добавил

eval `dbus-launch`

к ~/.vnx/xstartup. Это начинает сессию гнома для меня!

Этьен Ле Суер
источник
3

Не могли бы вы попробовать это?

sessionfile=`find "${HOME}/.dbus/session-bus/" -type f`
export `grep "DBUS_SESSION_BUS_ADDRESS" "${sessionfile}" | sed '/^#/d'`

И повторите вашу команду ..

gnome-open /home/
SirCharlo
источник
Большое спасибо за ваш ответ, но, как я уже писал, проблема решилась сама собой, сделав новую установку ОС!
v2r
Почему не просто source $sessionfile?
Squidly
2

Убрал /var/lib/dbus/machine-idи все стало лучше

Вышеуказанное исправление также исправляет:

(virt-manager:2810): GConf-WARNING **: Client failed to connect to the D-BUS daemon: 
Failed to connect to socket /tmp/dbus-vYNPgtHXG7: Connection refused (virt-manager:388): No D-BUS daemon running
Джо
источник
2

Я мог бы работать virt-managerс командой , root@localhost# dbus-launch virt-managerиспользуяsu

jca258
источник
1

У меня была эта проблема на моей машине с Ubuntu. Установка dbus-x11разрешила проблему:

sudo apt install dbus-x11

Эйсса Н.
источник