Automatisches Abmelden aus der grafischen Oberfläche

KDE, Gnome, Windowmanager, X11, Grafiktreiber und alles was dazu notwendig ist. Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
syntaxys
Beiträge: 16
Registriert: 27.03.2024 20:38:34
Wohnort: Südpfalz
Kontaktdaten:

Automatisches Abmelden aus der grafischen Oberfläche

Beitrag von syntaxys » 29.03.2024 07:20:35

Hallo Forum,
als Linuxer bin ich eher auf der CLI unterwegs und kenne mich mit den verschiedenen grafischen Oberflächen nicht gut aus. Vor einigen Wochen habe ich mit neuem Board, mehr RAM und SSD statt HDD meinen HomeServer erneuert und nun läuft ein aktuelles Linux Mint Debian Edition (Faye auf Bookworm) mit Cinnamon auf der alten Kiste.
Den Desktop nutze ich aktuell überwiegend, um abends über mkchromecast meine Musik auf MultiRoom-Lautsprecher zu streamen. Das klappt alles so weit problemlos.

Der Nachteil:
Am Ende der Playlist, wenn ich schon längst nach Dreamland ausgewandert bin, hält mkchromecast die Verbindung zu den Lautsprechern offen, so daß diese nicht in den Energie sparenden Schlafmodus schalten können.

Die (suboptimale) Lösung:

Code: Alles auswählen

service lightdm restart
Ich starte einfach per cronjob spät abends den Fenstermanager neu. Das beendet die komplette Session und die Lautsprecher schalten ein paar Minuten später in den StandBy-Modus. Das klappt alles so weit problemlos, nur ist es etwas unschön, die Session einfach so abzuschiessen. Manche laufenden Programme monieren das bei der nächsten Anmeldung.

Meine Frage:
Gibt es eine Möglichkeit, einen Nutzer regelkonform aus dem Desktop per cronjob abzumelden, so daß laufende Programme korrekt beendet werden und sie ggfls. ihre Daten ins Dateisystem sichern können? Also so etwas wie shutdown nur für's Ausloggen?
Wenn ich mich regelkonform aus dem Fenstermanager abmelde, werden die laufenden Programme ordentlich beendet. Das würde ich gerne automatisieren, möglichst unabhängig von Distribution oder Fenstermanager.

Vielen Dank für die Hilfe
Achim

Benutzeravatar
thunder11
Beiträge: 1295
Registriert: 19.04.2023 09:08:30

Re: Automatisches Abmelden aus der grafischen Oberfläche

Beitrag von thunder11 » 29.03.2024 07:53:39

Folgende Möglichkeiten hast du, wobei nicht so ganz klar ist, welchen zustand du erreichen willst:
  • Ausloggen ---> du landest wieder in der Anmeldemaske des Display-Managers.

    Code: Alles auswählen

    loginctl terminate-session self
    Ausschalten:

    Code: Alles auswählen

    systemctl poweroff
    Suspend to RAM:

    Code: Alles auswählen

    systemctl suspend 
    Suspend to Disk (setzt ausreichende Swap- Partition voraus)

    Code: Alles auswählen

    systemctl hibernate
Allerdings würde ich sowas nicht über einen Cronjob machen, sonder eher über einen Timer, den man bei Bedarf
aktivieren kann.
z.B. Tools wie Debianqshutdown oder Debianktimer

fischig
Beiträge: 3639
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: Automatisches Abmelden aus der grafischen Oberfläche

Beitrag von fischig » 29.03.2024 08:34:50

Code: Alles auswählen

service lightdm restart
Ich starte einfach per cronjob spät abends den Fenstermanager neu.
Mich verwirrt das. lightdm wird doch im allgemeinen als Display-/Login-Manager bezeichnet. Ein Fenstermanager (windowmanager) ist was anderes. Oder verstehe ich das falsch?

Benutzeravatar
syntaxys
Beiträge: 16
Registriert: 27.03.2024 20:38:34
Wohnort: Südpfalz
Kontaktdaten:

Re: Automatisches Abmelden aus der grafischen Oberfläche

Beitrag von syntaxys » 29.03.2024 08:46:36

fischig hat geschrieben: ↑ zum Beitrag ↑
29.03.2024 08:34:50
Ich starte einfach per cronjob spät abends den Fenstermanager neu.
Mich verwirrt das. lightdm wird doch im allgemeinen als Display-/Login-Manager bezeichnet. Ein Fenstermanager (windowmanager) ist was anderes. Oder verstehe ich das falsch?
[/quote]
Wie eingangs beschrieben, kenne ich mich mit den grafischen Oberflächen nicht gut aus. Da habe ich mich wohl der falschen Terminologie bedient.
https://manpages.ubuntu.com/manpages/xe ... tdm.1.html sagt es ist ein Display-Manager. Hat aber weniger Optionen als loginctl. Und den Fenstermanager neu starten, das mache ich ja schon die ganze Zeit.

Benutzeravatar
syntaxys
Beiträge: 16
Registriert: 27.03.2024 20:38:34
Wohnort: Südpfalz
Kontaktdaten:

Re: Automatisches Abmelden aus der grafischen Oberfläche

Beitrag von syntaxys » 29.03.2024 08:52:37

thunder11 hat geschrieben: ↑ zum Beitrag ↑
29.03.2024 07:53:39
  • Ausloggen ---> du landest wieder in der Anmeldemaske des Display-Managers.

    Code: Alles auswählen

    loginctl terminate-session self
Danke für den Tipp! Den Login-Manager zu benutzen ist jedenfalls die universalere Lösung, als den jeweiligen Desktop-Manager neu zu starten.

Generell soll das System nicht eingeschläfert werden, da eine Nextcloud-Instanz läuft, auf der Kunden auch manchmal nachts Projektdaten einliefern.

Das funktioniert so nicht. Ich habe unter dem Benutzer nutzername einen cronjob angelegt, der ein automatisches Ausloggen anschubsen soll, z. B.:

Code: Alles auswählen

55 23 * * * /usr/bin/loginctl terminate-session self
Wenn ich jedoch als root diesen cronjob laufen habe, wird der jeweilige Nutzer abgemeldet:

Code: Alles auswählen

55 23 * * * /usr/bin/loginctl terminate-user nutzername
Allerdings ist mir aufgefallen, daß die Sessions wohl noch gecached sind:

Code: Alles auswählen

root@HomeServer:~# loginctl list-sessions
SESSION  UID USER     SEAT  TTY
    123    0 root
    151 1000 nutzername seat0
      2 1000 nutzername seat0
    250 1000 nutzername seat0
    440 1000 nutzername seat0
    718 1000 nutzername seat0
    c12  116 lightdm  seat0

7 sessions listed.
root@HomeServer:~# loginctl terminate-user nutzername
root@HomeServer:~# loginctl list-sessions
SESSION  UID USER     SEAT  TTY
    123    0 root
    151 1000 nutzername seat0
      2 1000 nutzername seat0
    250 1000 nutzername seat0
    440 1000 nutzername seat0
    718 1000 nutzername seat0
    c13  116 lightdm  seat0

7 sessions listed.
Aber das sind kosmetische Eigenheiten, damit kann ich leben.

Vielen Dank!
LG/A

Antworten