"XDG_RUNTIME_DIR" Problem mit Leap15

Hinweis: In dem Thema "XDG_RUNTIME_DIR" Problem mit Leap15 gibt es 8 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Hallo und einen schönen guten Abend,


    leider habe ich mir in meinem System einen üblen Fehler eingefangen.


    Beschreibung:


    Code
    #yast2
    QStandardPaths: wrong ownership on runtime directory /run/user/1000, 1000 instead of 0



    ... Yast2 wird geöffnet. Beim laden der "Netzwerkeinstellungen" hängt das System. Nach einiger Recherche bin ich auf folgenden Zusammenhang gestoßen:


    Code
    #echo $DBUS_SESSION_BUS_ADDRESS 
    unix:path=/run/user/1000/bus
    
    
    und
    
    
    #echo $XDG_RUNTIME_DIR
    /run/user/1000

    Wenn ich manuell exportiere:

    Code
    export XDG_RUNTIME_DIR=/run/user/$UID
    export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$UID/bus

    ... funktioniert alles wieder tadellos.


    Hier noch

    Code
    #cat /usr/lib/systemd/user/dbus.socket
    
    
    ...
    ExecStartPost=-/usr/bin/systemctl --user set-environment DBUS_SESSION_BUS_ADDRESS=unix:path=%t/bus

    Leider habe ich keine Ahnung, wo ich nun genau hinfassen muss, um das "XDG_RUNTIME_DIR" permanent zu exportieren. "DBUS_SESSION_BUS_ADDRESS" wird dann wohl automatisch gesetzt, als Abhängigkeit. Vielleicht habe ich auch zu viel Sand in den Augen (Uhrzeit). Ich habe nicht rausgefunden, wo ich das eintragen kann oder wo der Eintrag verloren gegangen sein könnte.


    System:


    "openSUSE Leap 15.0 " & Plasma


    ... vielleicht genügt es auch, wenn ich systemd Teile neu installiere. Aber auch hier weiß ich nicht, welche das nun genau wären.
    Hier im Forum habe ich nichts gefunden was auf das "RUNTIME_DIR" verweist. Notorisch musste ich aber zB imagewriter immer schon über "dbus-launch" starten. Ist das nun ein Sicherheitsfeature?


    Vielen Dank für's Lesen
    Infini 8o

    Einmal editiert, zuletzt von infini9 ()

    Für den Inhalt des Beitrages 120360 haftet ausdrücklich der jeweilige Autor: infini9

  • Wie wechselst du zu root?
    Mit:

    Code
    su -c

    Für den Inhalt des Beitrages 120371 haftet ausdrücklich der jeweilige Autor: Sauerland

  • Hallo Sauerland,


    auf dem xterm (st) unter Plasma mit:

    Code
    #su


    Gerade sitze ich nicht an der Kiste. Heute Morgen konnte ich noch schnell hoch booten. So wie es aussieht geht die gesamte Netzwerkeinstellung verloren. eth0 ist down. Manuell per "ip" habe ich eine statische IP vergeben und dann auch noch die default route auf die fritzbox.


    Im tty wird richtig auf /run/user/0 verwiesen beim direkten Login. Wenn ich als user einlogge und dann mit "su" wechsle bleibt der Pfad auf /run/user/1000. Das selbe unter X. Openbox behält das Problem von KDE. Scheinbar wird beim Wechsel zu root der Pfad nicht gewechselt. Das alles ist schon sehr verworren, da die Netzwerkkarte eine Amnesie bekommt beim Neustart und kein dhcp mehr anzieht.


    Nachdem ich also den Netzwerkzugang online gebracht hatte lief das System heute Morgen wieder. Ist ein sonderbares Problem. Das das setup von eth0 verloren geht, könnte vielleicht einen Hinweis geben. Es scheint, das systemd beim Start irgend wo eine Config Datei verloren hat.


    Leider bin ich kein systemd Experte und ich habe heute Nacht um 1:00h auch einfach mal systemctl stop HIRN.service gebraucht :)... ... mom: #systemctl status HIRN.service ---> Whoot?
    Immer das selbe bei mir... tss


    Vielen Dank für's Lesen
    Infini

    Für den Inhalt des Beitrages 120374 haftet ausdrücklich der jeweilige Autor: infini9

  • Mit ip wird nur temporär eingerichtet, du musst die Dateien unter /etc/sysconfig/network/ bearbeiten. Oder halt yast benutzen, den gibt es auch für die Konsole als ncurses Version.
    yast = ncurses
    yast2 = grafischer Yast.


    Zitat

    Wenn ich als user einlogge und dann mit "su" wechsle bleibt der Pfad auf /run/user/1000. Das selbe unter X.

    Hier bleibt es auch so, funktioniert aber....


    versuch es mal mit

    Code
    xdg-su -c yast2

    Für den Inhalt des Beitrages 120390 haftet ausdrücklich der jeweilige Autor: Sauerland

  • Mit

    Code
    su


    wirst du zu dem User root, bleibst aber in dem Verzeichnis in dem der Befehl su abgesetzt wurde.


    Mit

    Code
    su -
    #zwischen su und dem Minuszeichen muß ein Leerzeichen sein!

    wirst du ebenfalls zu dem User root und wechselt in dessen Homeverzeichnis.

    Für den Inhalt des Beitrages 120397 haftet ausdrücklich der jeweilige Autor: ThomasS

  • Hallo, danke für all die Beiträge:

    Code
    xdg-su -c yast2

    naja - seit Äonen war su im xterm ausreichend.


    Code
    [...]bleibst aber in dem Verzeichnis[...]

    Ja, es ging um den Pfad:

    Code
    #echo $XDG_RUNTIME_DIR

    mit dem Ergebnis:

    Code
    /run/user/1000

    Als "root" müsste das runtime Directory auf den User "0", also root umgestellt werden.


    Mein Gedanke war, dass das korrekte Verzeichnis in der Variable etwa so lauten müsste:


    Code
    /run/user/$UID

    Wenn ich mich als root einlogge würde daraus dann UID=0. Wo trage ich die Variable "$XDG_RUNTIME_DIR" ins System ein?


    Das ganze Problem ist auch nicht sooo schlimm, da mein System sonst stabil läuft. Es wird bei jedem Neustart die Netzwerkkonfiguration verloren.


    Mit einem Skript schalte ich das manuel an. Die Ursache scheint jedoch im systemd zu liegen.


    dmesg | grep eth0:


    Code
    [   20.004706] r8169 0000:01:00.0 eth0: RTL8168c/8111c at 0xffffc90000401000, 00
    [   20.011749] r8169 0000:01:00.0 eth0: jumbo features [frames: 6128 bytes, tx c
    [  150.349045] r8169 0000:01:00.0 eth0: link down
    [  150.349209] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [  150.349266] r8169 0000:01:00.0 eth0: link down
    [  151.901998] r8169 0000:01:00.0 eth0: link up
    [  151.902032] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

    "dmesg | grep fail"
    "dmesg | grep error"


    liefern keine Ergebnisse


    Gruß Infini

    Für den Inhalt des Beitrages 120499 haftet ausdrücklich der jeweilige Autor: infini9

  • Als "root" müsste das runtime Directory auf den User "0", also root umgestellt werden.

    Nein, ist bei mir auch nicht.

    Code
    ich@linux64:~> su
    Passwort: 
    linux64:/home/ich # echo $XDG_RUNTIME_DIR
    /run/user/1000
    linux64:/home/ich # echo $DBUS_SESSION_BUS_ADDRESS
    unix:abstract=/tmp/dbus-qxpxk6F34I,guid=9b9e4c230e411e707984e47e5af66831
    linux64:/home/ich #

    Allerdings wird ein temporäres Verzeichnis benutzt.


    command line - What is XDG_RUNTIME_DIR? - Ask Ubuntu

    Für den Inhalt des Beitrages 120500 haftet ausdrücklich der jeweilige Autor: Sauerland

  • Unterschied zu obigem:

    Code
    ich@linux64:~> su -l
    Passwort: 
    linux64:~ # echo $XDG_RUNTIME_DIR
    
    
    linux64:~ #

    Aus man su:



    Für den Inhalt des Beitrages 120502 haftet ausdrücklich der jeweilige Autor: Sauerland