Помилка GConf: Не працює демон D-BUS ?! Як перевстановити чи виправити?


27

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

root @ linuxBox: / home / v2r # gnome-open /home/

(gnome-open: 2686): GConf-ПОПЕРЕДЖЕННЯ **: Клієнт не зміг підключитися до демона D-BUS: // bin / dbus-start закінчився аномально із наступною помилкою: Не вказано протокол Помилка автозапуску: Ініціалізація X11 не вдалася.

Помилка GConf: Демон D-BUS не працює

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

Також здається, що dbus більше не встановлений належним чином у /bin/та /usr/bin/ Див. Скріншот: введіть тут опис зображення

Як би я вирішив вирішити цю проблему і заздалегідь дякую? !!!


Дякую за Вашу відповідь, Серхарло! Це взагалі не вирішує проблему. Зверніть увагу, що це відбувається лише під час виведення коріння!

root @ linuxBox: / home / v2r # gnome-open /home/

(gnome-open: 5170): GConf-ПОПЕРЕДЖЕННЯ **: Клієнт не зміг підключитися до демона D-BUS: Не вдалося підключитися до socket / tmp / dbus-2RdCUjrZ9k: Підключення відхилено GConf Помилка: Не працює демон D-BUS

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

Відповіді:


2

Відповідь Серхарло працювала на мене. Та ж проблема в ubuntu 12.04 (точний панголін). Так, я також використовую su (root). Сором, сором. Така ж проблема і при запуску emacs.

Здається, проблема полягає в тому, що DBUS_SESSION_BUS_ADDRESS зберігає своє значення, коли ви замість того, щоб набирати значення в /root/.dbus/session-bus/

від dbus-start людини:

   ...
   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 !! Пізніше я перейду з вашими пропозиціями та оновлю моє питання. (Може зайняти 1-2 дні / Немає INet вдома зараз.)
v2r

31

У мене була ця сама проблема. У моїй системі проблема викликана тим, що ~/.dbusвона належить root. Зміна власності на мене вирішила проблему. Я пропоную вам перевірити це також у вашій системі.

Зміна власності може бути виконана за допомогою chownкоманди. Для одного файлу:

chown <user>:<group> file

Для каталогу та його дітей:

chown -R <user>:<group> folder

Отже, у цьому випадку

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

повинні працювати.


2
Чи можете ви пояснити, як змінити право власності на файли для інших
Матео

Дякую за вашу відповідь Scoopc. Я вже перевстановив свою ОС Ubuntu кілька місяців тому, тому мені вже пізно, щоб дати ваші пропозиції.
v2r

4
Ви, сер, виграйте Інтернет. Оскільки 16 інших людей мали те саме питання, чи має хто-небудь підказки, як ~/.dbus/у першу чергу він став власником root?
третина

12

Спробуйте export $(dbus-launch)
Це працювало для мене на Opensuse 12.1, виконуючи його як VM.


також працює над монетним двором 18 (раніше не вдалося dpkg -i .deb)
vladkras

4

У мене також були проблеми з dbus і vnc. Тому я додав

eval `dbus-launch`

до ~/.vnx/xstartup. Починається сеанс gnome для мене!


3

Ви можете спробувати це?

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

І повторіть свою команду ..

gnome-open /home/

Велике спасибі за вашу відповідь, але, як я писав раніше, проблема вирішилася сама, зробивши нову інсталяцію ОС!
v2r

Чому б не просто source $sessionfile?
Кальмар

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


1

У мене виникла ця проблема на моїй машині Ubuntu. Встановлення dbus-x11вирішило проблему:

sudo apt install dbus-x11

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.