• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Eigene x-Session definieren, um Nutzerverzeichnis zurückzusetzen

goeba

Hacker
Hallo,

ich betreue ein großes Netzwerk (Schule), wo es vorkommt, dass Nutzer sich ihre eigenen Einstellungen komplett zerschießen und sich dann nicht mehr anmelden können oder nicht mehr sinnvoll arbeiten können.

Dies muss nicht zwingend die Schuld der Nutzer sein, manchmal werden Dateien auch durch Netzwerkprobleme beschädigt.

Ich habe festgestellt, dass wenn man bei KDE die Einstellungen und den Cache löscht, man sich normalerweise wieder anmelden kann. Ich habe daher diese Befehle in eine eigene X-Session gepackt.

Das sieht dann so aus:
Code:
[Desktop Entry]
X-SuSE-translate=true
Encoding=UTF-8
Type=XSession
Exec=/usr/bin/resetkde
TryExec=/usr/bin/resetkde
DesktopNames=KDE_RESET
Name=KDE Benutzer Reset
Comment=Plasma by KDE
X-KDE-PluginInfo-Version=5.8.7
Das als kde_reset.desktop unter/usr/share/xsessions
Sowie
Code:
#!/bin/bash

rm -r ~/.config
rm -r ~/.cache
rm -r ~/.local/share

exit
als /usr/bin/resetkde

Das funktioniert auch alles schön. Wenn ich mich mit dieser Session einlogge, kommt man schnell wieder auf den Anmeldeschirm.
Jetzt das Problem: Wenn man sich dann gleich wieder normal anmeldet, geht es nicht (Hintergrundbild erscheint, Wartesymbol dreht sich, dann passiert nichts mehr).
Wenn man den Rechner aber erst einmal neustartet, geht es wunderbar (das erste Anmelden dauert natürlich länger, wegen der Neuerstellung des Caches und der Grundeinstellungen).

Habe ich irgendwas falsch gemacht, was den Neustart nötig macht? Für Hinweise wäre ich dankbar.
 

MH1962

Member
Das reine Löschen von Dateien ist nicht ausreichend, wenn es noch Hintergrund-Prozesse gibt, die die geöffnet haben. Diese Prozesse verwenden dann die gelöschten Dateien weiter - und ein neu gestartetes KDE stellt fest, den Prozess gibt es ja schon, den brauche ich nicht neu zu starten. Dabei ist der Prozess vielleicht sogar grade deswegen erhalten geblieben, weil er klemmt.
 
OP
G

goeba

Hacker
Hallo,
vielleicht habe ich mich nicht klar ausgedrückt.

Dieses "Löschen" wählt man beim Anmelden aus, statt eines Desktops, es ist eine "X-Session'".

Das heißt, um sich da anmelden zu können, muss man sich erst mal abmelden, alle KDE-Prozesse sollten daher beendet sein.
 

MH1962

Member
goeba schrieb:
Das heißt, um sich da anmelden zu können, muss man sich erst mal abmelden, alle KDE-Prozesse sollten daher beendet sein.
Ja, sollten. Das ist aber nicht sicher, wenn es in der vorherigen Sitzung ein Problem gegeben hat und man noch keinen Reboot gemacht hat.
 
Läßt Du denn den x-server einmal neu starten oder läuft der in der Zeit weiter? Ich würde da auf Nummer Sicher gehen und zumindest einmal den Anmeldedienst neu starten, "systemctl restart ssdm" (oder was auch immer suse bei dir da laufen hat).
 

spoensche

Moderator
Teammitglied
Du kannst bei KDE den sogenannten Kiosk Modus verwenden. D.h. du kannst KDE-Settings Global definieren und damit einen Lockdown erzwingen.

Lockdown heisst, dass die Globalen Settings verwendet werden, auch wenn der User sie überschreibt. Folglich brauchst du auch nicht das Userverzeichnis umständlich zurückzusetzen. Dieses Prozedere wird auch bei Terminalservern verwendet.

Siehe auch: https://userbase.kde.org/KDE_System_Administration/Kiosk/Introduction
Übersicht über die Kiosk- Keys: https://userbase.kde.org/KDE_System_Administration/Kiosk/Keys

Ein Tool für die Kiosk- Administration ist z.B. https://www.linux-apps.com/content/show.php?content=12028
 
OP
G

goeba

Hacker
@Geier0815 : Benötigt das nicht root-rechte? Diese Skripte laufen mit userrechten.

@spoensche : Hast Du den Kiosk-Modus mal benutzt? Bei dem Admin-Tool sind die "letzte Änderung vor 13 Jahren" nicht ermutigend. Ich habe mich einige Stunden mit dem Kiosk Modus beschäftigt und nicht den Eindruck gewonnen, dass der aktuell benutzbar ist - aber ich mag mich irren. Ich könnte den Kiosk-Modus gut gebrauchen, mir war das aber alles zu kompliziert.

Davon abgesehen habe ich auch nichts dagegen, wenn die Schüler ihren Desktop anpassen. Die meisten machen das gut, sinnvoll und "schön" (naja, Geschmacksache).

Ich probiere das nochmal auf einem anderen Rechner aus, mir leuchtet noch nicht ein, warum da ein Neustart nötig sein sollte. In meinem Testszenario war ja gar nichts passiert, ich habe lediglich ein paar Einstellungen geändert, mich dann ordentlich abgemeldet und geprüft, ob meine "xsession" diese Änderungen zurücksetzt.
 

spoensche

Moderator
Teammitglied
goeba schrieb:
Hast Du den Kiosk-Modus mal benutzt?

Ja, bei einem LTSP- Projekt an einer Schule. Das ist allerdings schon ne Weile her.

goeba schrieb:
Davon abgesehen habe ich auch nichts dagegen, wenn die Schüler ihren Desktop anpassen. Die meisten machen das gut, sinnvoll und "schön" (naja, Geschmacksache).

Mit dem Kiosk- Modus sollst du die Schüler auch nicht so einschränken, dass sie gar nichts ändern dürfen, sondern nur die kritischen Einstellungen, die zu der Anmeldeproblematik führen könnten.
Ich weiss, könnte genauer sein, aber ich kenne sie nicht aus dem Stehgreif, weil ich kein KDE verwende.

goeba schrieb:
Ich probiere das nochmal auf einem anderen Rechner aus, mir leuchtet noch nicht ein, warum da ein Neustart nötig sein sollte. In meinem Testszenario war ja gar nichts passiert, ich habe lediglich ein paar Einstellungen geändert, mich dann ordentlich abgemeldet und geprüft, ob meine "xsession" diese Änderungen zurücksetzt.

U.u musst du evtl. den X-Server neu starten, aber nicht das ganze System. Ein Testsystem ist gut. An diesem kannst du dann, wenn du grad Zeit hast experimentieren.

Prinzipiell ist eine tiefgehendere Einarbeitung in die Desktopumgebung schon zu empfehlen. Allein der Problemlösung wegen, falls ein Schüler mal ne Einstllung gefunden hat, die man selber nicht bedacht hat und durch die Aktivierung sich nicht mehr anmelden oder sonst was kann.
 
OP
G

goeba

Hacker
Hallo,
ich habe es jetzt nochmal an einem anderen Rechner getestet, da geht es problemlos ohne Neustart.

Wenn Du einen Link hast, wie man Kiosk mit KDE Plasma einrichtet und benutzt, wäre ich dankbar. Ich habe, wie gesagt, das wirklich probiert. Ich habe das Kiosk-Admin-Tool selbst kompiliert, weil es da kein rpm gab, das arbeitet aber, wenn ich mich recht erinnere, gar nicht mit Plasma 5.
Ich habe es dann per Hand probiert, aber Funktionen, die ich gesperrt hatte, gingen trotzdem noch. Ich habe auch absolut nichts dagegen, Sachen in xml Dateien zu definieren, nur eine Dokumentation sowie die Gewissheit, dass man nicht für die Tonne arbeitet, bräuchte ich schon.

Meine x-session finde ich trotzdem sehr praktisch. Dadurch, dass der Schüler sie selbst aufrufen kann (wie sonst sollte er das tun, wenn kde nicht mehr hochfährt und man nicht auf der Konsole arbeiten möchte?) werden auch keine Admin Rechte benötigt.

Dank + Gruß,

Andreas
 

spoensche

Moderator
Teammitglied
Das Tool solltest du nicht verwenden, weil zu alt.

Sieh dir mal https://forum.ubuntuusers.de/topic/kiosk-sperren-und-vorgaben-in-plasma-wo-sind-d/ an. Im letzten Beitrag ist auch eine Beispiel- Konfig dabei.
 
Oben