Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[gelöst] systemctl --user geht nicht mehr
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1719

PostPosted: Wed Jan 08, 2025 11:43 am    Post subject: [gelöst] systemctl --user geht nicht mehr Reply with quote

Hallo, vor zwei Wochen ist mir so aufgefallen, dass bei mir systemctl --user nicht mehr geht.
Code:

systemctl --user
Failed to connect to user scope bus via local transport: Datei oder Verzeichnis nicht gefunden


mit strace findet man das hier, was wohl der entscheidende Fehler ist:
Code:

connect(3, {sa_family=AF_UNIX, sun_path="/tmp/.runtime-chriss/systemd/private"}, 39) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)

tatsächlich gibt es das nicht, es gibt schon gar kein /tmp/.runtime-chriss/systemd, nur /tmp/.runtime-chriss.

Wenn man nach "Failed to connect to user scope bus via local transport" sucht, findet man nur, dass die Leute per ssh eingeloggt sind, und keine systemd user session läuft, weil ssh UsePam (oder so ähnlich deaktiviert hat). Das ist bei mir nicht der Fall, ich bin lokal angemeldet, nicht per ssh und systemd --user läuft auch, er scheint nur die Dateien nicht anzulegen.

Kennt jemand das Problem? ODer hat jemand eine Idee, wie ich da weiterkomme?

Schöne Grüße, Christian


Last edited by Christian99 on Wed Jan 08, 2025 1:11 pm; edited 1 time in total
Back to top
View user's profile Send private message
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1978
Location: Schweiz

PostPosted: Wed Jan 08, 2025 12:08 pm    Post subject: Reply with quote

Ich weiß jetzt zwar nicht warum bei dir das Socket fehlt aber was mich wundert ist der Pfad unter dem bei dir danach gesucht wird. Bei mir befindet sich das DBus-Socket unter "/run/user/1000/systemd/private".
Kann es vielleicht sein das bei dir DBus nicht funktioniert?
_________________
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW
Back to top
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1719

PostPosted: Wed Jan 08, 2025 12:50 pm    Post subject: Reply with quote

ah ja, guter Hinweis. in /run/user/1000/systemd/private ist der socket. nur systemctl --user denkt also sich wo anders hin verbinden zu müssen....

aber das hatte mich sowieso schon gewundert. ich hätte den socket eigentlich in /run/user statt in /tmp erwartet. die Frage ist, wieso systemctl denkt, in /tmp suchen zu müssen...

DBus läft, sowohl system, als auch user instanz, und busctl und busctl --user gehen.

EDIT:
Es liegt an XDG_RUNTIME_DIR, das ist bei mir auf /tmp/.runtime-chriss gesetzt. wenn ich
Code:
XDG_RUNTIME_DIR=/run/user/1000/ systemctl --user

ausführe, geht es.
Ich versuch mal rauszukriegen, wieso das falsch ist.
Back to top
View user's profile Send private message
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1978
Location: Schweiz

PostPosted: Wed Jan 08, 2025 1:08 pm    Post subject: Reply with quote

Diese Variable wird von "pam_systemd.so" gesetzt.
Siehe: https://www.freedesktop.org/software/systemd/man/latest/pam_systemd.html

Sieht also so aus als ob was in deiner PAM-Konfiguration schief läuft.
_________________
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW
Back to top
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1719

PostPosted: Wed Jan 08, 2025 1:11 pm    Post subject: Reply with quote

gefunden.
ich hab das so in meiner ~/.profile stehen.
Wenn ich das da nicht explizit setzte, dann steht in XDG_RUNTIME_DIR der /run pfad.

da ich gewisse dotfiles auf mehreren Rechnern share sind die in einen git repo, deswegen kann ich sagen, dass das da schon seit 2019 drin steht und bis vor kurzem aber keine Probleme gemacht hat. Leider ist die commitmessage nicht sehr aussagekräftig und ich kann nicht sagen, wieso ich das da überhaupt rein geschrieben habe :(

Meine Vermutung wäre also, das systemctl bis vor kurzem nicht nach XDG_RUNTIME_DIR geschaut hat, aber jetzt schon.
Ich werde es mal so lassen, und wenn ich keine weiteren problem habe, denke ich mal, dass ich das in der .profile nicht brauche.

Danke für den Stoß in die richtige Richtung!
Back to top
View user's profile Send private message
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1978
Location: Schweiz

PostPosted: Wed Jan 08, 2025 2:24 pm    Post subject: Reply with quote

Ich habe jetzt eine Weile im Sourcecode und in den Commits gewildert aber leider keine konkrete Antwort gefunden warum dieses Verhalten geändert wurde. Was man aber findet ist das es im Bezug auf die Verwendung von "XDG_RUNTIME_DIR" in letzter Zeit nicht gerade wenige Änderungen gab.
Sieht für mich (Achtung bin kein Programmierer) ein bisschen so aus als ob die Entwickler versuchen von hartkodierten Pfaden weg zu kommen, was ja eigentlich etwas gutes wäre oder?
_________________
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW
Back to top
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1719

PostPosted: Wed Jan 08, 2025 2:39 pm    Post subject: Reply with quote

ja, prinzipiell ist das ne gute Sache, aber fällt dann manchmal Leuten auf die Füße :D
Aber gut, ist dann halt so :)

Vermutlich hat das XDG_RUNTIME_DIR in der .profile auch nix zu suchen. Vermutlich hab ich das da rein geschrieben, weil das automatische setzen damals nicht ging, und iregendwas anderes nicht funktioniert hat.

Vielleicht sollte man bei gelegenheit doch mal mit einem leeren User Verzeichnis neu anfangen, damit solcher Müll verschwindet...
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum