Entries tagged logout

Windows 8 Log-Out Bildschirm bleibt aufgrund eines Abmeldeskripts hängen

Posted on 26. Februar 2014 Comments

Um sicher zu gehen, dass die Benutzer ihre USB Sticks nicht vergessen haben wir ein Skript entworfen, das prüft, ob noch ein USB Stick, Speicherkarten oder DVDs im PC stecken. Dieses ruft dann eine .hta Datei(ist historisch halt so gewachsen..) auf, die den Benutzer auffordert, den USB Stick doch bitte mitzunehmen. Das klappte auch wunderbar unter Windows XP und Windows 7.

Seit die neuen PCs mit einer SSD und Windows 8 ausgestattet sind, ist der violette LogOut Screen so schnell da, dass man diese Meldung nicht mehr sehen kann. Da das Skript aber auf eine Benutzereingabe wartet, hängt nun der ganze PC beim Herunterfahren. Nun habe ich diverse Dinge versucht, inklusive Tasks, die beim Herunterfahren ausgeführt werden etc. Nichts hat geholfen. Dann bin ich auf den folgenden Tipp gestoßen. Man muss Windows nur sagen, dass die Skripte über den Log-Out angezeigt werden sollen.

Dies kann man ebenfalls im Editor für lokale Gruppenrichtlinien machen (gpedit.msc). Dazu klickt man auf Benutzerkonfiguration/Administrative Vorlagen/System/Skripts und wählt dann den Punkt Anweisungen in Abmeldeskripts während des Abmeldens anzeigen aus. Der Haken ist standardmässig bei nicht konfiguriert gesetzt. Setzt man ihn auf aktiviert funktioniert es.

device-test-anzeigen

Automatisches Ausloggen im Kiosk Modus bei Inaktivitaet mithilfe von xscreensaver

Posted on 11. April 2013 Comments

Das Problem bei Rechnern im Kiosk Modus ist, dass die Benutzer sich manchmal nicht ausloggen und so prinzipiell jeder, der sich als nächstes an den Rechner setzt einfach diverse Accounts übernehmen kann, weil z.B. die Cookies noch vorhanden sind. Dieser Artikel basiert auf dem vorherigen Raspberry Pi als Kiosk mit resourcenschonendem Browser und VESA Mount. Da dieser Brower sich neu startet, wenn der Prozess mit 5 Sekunden Pause nicht läuft, kann man ihn einfach killen.

Zur Messen der Inaktivität haben sich die Leute vom xscreensaver-Projekt schon genug Gedanken gemacht, also möchte ich das hier nutzen, statt etwas eigenes zu schrieben oder timeoutd zu nutzen. Die Timeout Zeit setzt man in ~/.xscreensaver.

In den man-pages von xscreensaver-command findet man folgendes Perl-Skript. Ich habe es ein bisschen meinen Anforderungen angepasst. Perl muss natürlich vorher installiert werden.

sudo apt-get install perl

Es piped in der Variable IN den Befehl xscreensaver-command -watch, welcher den xscreensaver beobachtet. Sollte dort nun also die Meldung BLANK(Bildschirmschoner geht an) oder LOCK(Bildschirmschoner lockt) auftauchen(passiert nach der eben definierten Zeit), dann deaktiviert er ihn sofort wieder, killt den Browser und setzt ein flag. Das wiederrum löst UNBLANK aus(Bildschirmschoner geht aus) und das flag wird zurückgesetzt, da er sonst im nächsten Schleifendurchlauf sofort wieder den Browser killen würde. Durch das Skript aus dem eben genannten Artikel prüft der Rechner sowieso, ob der Browser läuft und wenn nicht, startet den Prozess. Damit wird nach spätestens 5 Sekunden der Browser neu gestartet und man muss ihn hier nicht starten. Die Datei habe ich xscreensaver-command.pl genannt, nach /usr/local/bin geschoben und in den Autostart in .xsession eingetragen.

Code (Download)

 

my $blanked = 0;
open (IN, "xscreensaver-command -watch  |");
while(<IN>) {
        if (m/^(BLANK|LOCK)/) {
                if (!$blanked) {
                        # Schliesse Browser
                        # Starte Browser neu
                        print "Deaktiviere xscreensaver...\n";
                        system "xscreensaver-command -deactivate";
                        print "Beende Browser...\n";
                        system "killall browser-repat";
                        print "In 5 Sekunden wird der Browser neu gestartet";
                        $blanked = 1;
                 }
        } elsif (m/^UNBLANK/) {
                $blanked = 0;
        }
}

Ausloggen über Konsolenbefehl bei Ubuntu

Posted on 14. Dezember 2012 Comments

Letztens habe ich mich ein bisschen beim Wechsel der Windowmanager verdaddelt. Zum Glück konnte ich mich noch über SSH einloggen und kam dann mit dem folgenden Befehl zurück zur Anmeldung:

dbus-send --session --type=method_call --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.Logout uint32:1

(Credits)