Błąd GConf: nie działa demon D-BUS ?! Jak ponownie zainstalować lub naprawić?


27

Po zainstalowaniu Konquerera i ponownym uruchomieniu laptopa otrzymałem następujący błąd podczas próby otwierania, edytowania lub uzyskiwania dostępu do plików jako root z poziomu Terminala (co dla mnie jest dostępne).

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

(gnome-open: 2686): GConf-WARNING **: Klient nie nawiązał połączenia z demonem D-BUS: // bin / dbus-launch zakończył się nieprawidłowo z następującym błędem: Nie określono protokołu Błąd automatycznego uruchamiania: inicjalizacja X11 nie powiodła się.

Błąd GConf: nie działa demon D-BUS

root @ linuxBox: / home / v2r # Nie określono protokołu Nie można przeanalizować argumentów: Nie można otworzyć wyświetlacza:

Wygląda też na to, że dbus nie jest już poprawnie zainstalowany /bin/i /usr/bin/ zobacz zrzut ekranu: wprowadź opis zdjęcia tutaj

Jak mogę rozwiązać ten problem i z góry dziękuję? !!!


Dziękuję za odpowiedź SirCharlo! W ogóle nie rozwiązuje problemu. Pamiętaj, że dzieje się to tylko podczas rootowania!

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

(gnome-open: 5170): GConf-WARNING **: Klient nie nawiązał połączenia z demonem D-BUS: Nie udało się połączyć z gniazdem / tmp / dbus-2RdCUjrZ9k: Odmowa połączenia GConf Błąd: Brak demona D-BUS

root @ linuxBox: / home / v2r # Nie określono protokołu Nie można przeanalizować argumentów: Nie można otworzyć wyświetlacza:

Odpowiedzi:


2

Odpowiedź SirCharlo zadziałała dla mnie. Ten sam problem na Ubuntu 12.04 (precyzyjna łuskowiec). Tak, używam również su (root). Wstyd, wstyd. Ten sam problem z uruchomieniem emacsa.

Problem polega na tym, że DBUS_SESSION_BUS_ADDRESS zachowuje swoją wartość, gdy su, zamiast odbierać wartość w /root/.dbus/session-bus/

od uruchomienia man dbus:

   ...
   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.
   ...

Użyj sudo, suedit, gksu.

Lub jeśli MUSISZ użyć su, spróbuj dodać to do /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

Dziękuję bardzo za odpowiedź user68606 !! Później powtórzę z twoimi sugestiami i zaktualizuję moje pytanie. (Może to zająć 1-2 dni / No INet w domu teraz.)
v2r

31

Miałem ten sam problem. W moim systemie przyczyną problemu jest ~/.dbusbycie właścicielem root. Zmiana właściciela rozwiązała dla mnie problem. Sugeruję sprawdzenie tego również w systemie.

Zmiana prawa własności można wykonać za pomocą chownpolecenia. W przypadku pojedynczego pliku:

chown <user>:<group> file

W przypadku katalogu i jego dzieci:

chown -R <user>:<group> folder

Więc w tym przypadku

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

powinno działać.


2
Czy możesz wyjaśnić, jak zmienić własność plików dla innych
Mateo

Dziękujemy za odpowiedź scoopc. Ponownie zainstalowałem system operacyjny Ubuntu kilka miesięcy temu, więc jest już za późno, abym podpowiedział.
v2r

4
Pan wygrał internet. Skoro 16 innych osób miało ten sam problem, to czy ktoś ma jakieś pojęcie, jak ~/.dbus/stać się własnością root?
trzeci z

12

Wypróbuj export $(dbus-launch)
To działało dla mnie na opensuse 12.1 podczas uruchamiania go jako maszyna wirtualna.


działa również na mennicy 18 (wcześniej nie udało się dpkg -i .deb)
vladkras

4

Miałem też problem z dbus i vnc. Więc dodałem

eval `dbus-launch`

do ~/.vnx/xstartup. Rozpoczyna mi sesję gnome!


3

Czy mógłbyś tego spróbować?

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

I ponów polecenie…

gnome-open /home/

Wielkie dzięki za odpowiedź, ale jak napisałem wcześniej, problem sam się rozwiązał, dokonując nowej instalacji systemu operacyjnego!
v2r 28.04.13

Dlaczego nie tylko source $sessionfile?
Squidly

2

Usunięte /var/lib/dbus/machine-idi wszystko było lepsze

Powyższa poprawka rozwiązuje również:

(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

Mogę uruchomić virt-managerza pomocą polecenia root@localhost# dbus-launch virt-managerza pomocąsu


1

Miałem ten problem na moim komputerze Ubuntu. Instalowanie dbus-x11rozwiązało problem:

sudo apt install dbus-x11

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.