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

Да!

Вы можете сделать это с помощью dpkg-repack, который может переупаковать установленные приложения обратно в файл .deb. Чтобы установить его:

sudo apt-get install dpkg-repack

Затем, чтобы использовать его, введите

sudo dpkg-repack <packagename(s)>

. Это даст вам файл .deb (или несколько файлов, если вы переупакованы несколько пакетов) в текущий каталог, который затем можно установить на другой компьютер. Обратите внимание, что это не будет создавать резервные копии какой-либо конфигурации или личных пользовательских данных, созданных приложением, вы должны сделать это сами.

25
задан 12 May 2012 в 19:13

10 ответов

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

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

от пользователя 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: [ ! d4]

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
2
ответ дан 25 May 2018 в 11:33
  • 1
    Большое спасибо за ваш ответ user68606 !! Я дам ему еще один вариант с вашими предложениями позже и обновить свой вопрос. (Может принимать 1-2 дня / нет INet дома прямо сейчас.) – v2r 8 June 2012 в 23:54

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

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

chown <user>:<group> file

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

chown -R <user>:<group> folder

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

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

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

29
ответ дан 25 May 2018 в 11:33
  • 1
    Можете ли вы объяснить, как изменить права собственности на файлы для других? – Mateo 18 October 2012 в 21:02
  • 2
    Спасибо за ваш ответ scoopc. Я уже переустанавливал свою Ubuntu OS несколько месяцев назад, поэтому мне уже поздно предлагать ваше предложение. – v2r 28 October 2012 в 21:47
  • 3
    Вы сэр выиграете интернет. Поскольку у 16 ​​других людей была одна и та же проблема, кто-нибудь знает, как ~/.dbus/ стал владельцем root в первую очередь? – thirdender 9 January 2016 в 11:48

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

11
ответ дан 25 May 2018 в 11:33

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

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

И повторите попытку ..

gnome-open /home/
3
ответ дан 25 May 2018 в 11:33
  • 1
    Большое спасибо за ваш ответ, но, как я писал ранее, проблема решена сама собой, сделав новую установку ОС! – v2r 29 April 2013 в 00:21
  • 2
    Почему не только source $sessionfile? – Squidly 5 June 2016 в 13:35

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

eval `dbus-launch`

в ~/.vnx/xstartup. Это начинает сеанс gnome для меня!

3
ответ дан 25 May 2018 в 11:33

Удалено /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
ответ дан 25 May 2018 в 11:33

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

2
ответ дан 25 May 2018 в 11:33

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

11
ответ дан 6 August 2018 в 01:18

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

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

chown <user>:<group> file

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

chown -R <user>:<group> folder

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

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

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

30
ответ дан 10 August 2018 в 07:22

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

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

И повторите попытку.

gnome-open /home/
3
ответ дан 10 August 2018 в 07:22

Другие вопросы по тегам:

Похожие вопросы: