Entries tagged bildschirm

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

Bildschirm in den Standby-Modus fahren über CEC via HDMI

Posted on 2. November 2012 Comments

Das mit dem Bildschirm verdunkeln und das HDMI Signal kappen war ja schon eine nette Sache aber Bildschirme haben ja auch nicht umsonst eine Standby Funktion. Diese wird normalerweise aktiviert, wenn man auf den Power-Off Knopf auf der Fernbedienung drückt. Manche Bildschirme können das auch zeitgesteuert oder beim Rausziehen eines Kabels (sollte hier auch aktiviert sein). Wenn man einen Bildschirm über HDMI angeschlossen hat und beide Geräte es unterstützen, kann man über das Kabel ein paar Steuersignale über die CEC-Schnittstelle senden. Die Implementierung von CEC heißt bei den Herstellern unterschiedlich, man findet es also ggf. im Monitor Menü nicht unter diesem Namen. Jetzt wollte ich ja wie gesagt mit einem Raspberry Pi den Bildschirm ein- und ausschalten. Dafür kann man den cec-client benutzen. Ich habe dafür die neuste Version(1.9.0) von Christoph vom Blog selfprogramming als .deb runtergeladen und installiert. Eventuelle Versionen, die über apt-get installiert wurden, müssen vorher deinstalliert werden, ebenso solche, die über github installiert wurden. Zusätzlich braucht man noch ein paar packages, sonst bekommt man folgende Meldung:

libcec.so.1: cannot open shared object file: No such file or directory

Also die folgenden packages installieren:

sudo apt-get install libraspberrypi-dev libplist1 libmicrohttpd10 libtinyxml2.6.2 libyajl2 libssh-4  libmysqlclient18 liblzo2-2 libfribidi0 libcurl3-gnutls liblockdev1

Eine Auflistung der CEC-fähigen devices ergibt folgendes:

pi@raspberrypi$ cec-client -l
Found devices: 1
device: 1
com port: RPI
firmware version: 1
type: Raspberry Pi

Ausschalten bzw. Standby funktioniert folgendermaßen:

echo "standby 0" | cec-client -s

Dabei steht der -s für single, also einfache Ausführung, damit der Client danach nicht weiter verbunden bleibt.

Anschalten funktioniert jetzt wie man sich es schon fast denken könnte:

echo "on 0" | cec-client -s

Bildschirmsignal über HDMI kappen

Posted on 19. Oktober 2012 Comments

Auf meiner Suche nach einer Möglichkeit Bildschirme Remote in den Standby Modus zu bringen habe ich die folgende Zwischenlösung gefunden. Diese Befehle beenden das HDMI Signal und die meisten Bildschirme bekommen dann eine Meldung à la „Kein Signal, Überprüfuen Sie die Stromversorgung des angeschlossenen Geräts sowie die Kabelverbindung und gewählte Signalquelle“(Samsung). Nach einer bestimmten Zeit fahren dann die meisten Monitore automatisch in den Standby Modus. Benutzen kann man hierfür das Programm tvservice.

Ausschalten war relativ einfach herauszufinden:

$ tvservice -o

Anschalten mit dem -p Parameter jedoch funktioniert zwar; also der Monitor erkennt, dass es ein HDMI Signal gibt, jedoch findet er den X-Server nicht. Normalerweise müsste man diesen entweder neustarten oder einfach direkt mit einem reboot das ganze Gerät. Stattdessen habe allerdings einen kleinen Workaround gefunden:

$tvservice -p

$sudo chvt 6

$sudo chvt 7

Mit chvt wechselt man die virtuellen Konsolen durch, standardmässig läuft auf 7 der X-Server. Man muss allerdings einmal vorher zu einem anderen, z.B. 6, wechseln.

Credits gehen an XavM und vor allem svelev vom raspberry-pi.org forum, sowie sysstem.at.

Bildschirm an- und ausschalten mit xset dpms

Posted on 16. Oktober 2012 Comments

Bei meinem Raspberry Pi wollte ich über Nacht den Bildschirm ausschalten bzw. eigentlich in den Standby Modus bringen, um Strom zu sparen. Das mit dem Standby hat nicht geklappt aber jetzt ist der Bildschirm zumindest schonmal schwarz. Das hat bei meinem 40“-Bildschirm etwa einen Unterschied von 30Watt gemacht. Die beiden Befehle sind:

xset dpms force off

und

xset s reset

Erklärung:

  • xset setzt das Display Power Management Signaling auf off. Ein entsprechender Befehl mit on statt off hat bei mir nicht funktioniert.
  • das s hinter xset steht für screensaver (s. auch xset –help). Wenn dieser resetet wird, sieht man wieder ein Bild.

Credits und Dank gehen wieder einmal an Christoph von linuxundich.de

Drehbarer Stylus Touchscreen unter Ubuntu

Posted on 2. Oktober 2012 Comments

Ich habe hier einen Laptop mit drehbarem Bildschirm auf dem man mit einem Stfit/Stylus bedienen kann. Leider erkennt Ubuntu weder die Drehung noch die Hotkeys, die sich unter dem Monitor befinden. Zum drehen habe ich also 2 einfache Skripte geschrieben. Eigentlich gab es dafür ein eine gnome-shell-extension(xrandr-indicator), aber die funktioniert mit der neusten Version anscheinend nicht mehr. Hier sind also die einzelnen Befehle in den 2 Dateien rotate und rotate-back, denke die sind selbstsprechend.

Es reicht nicht(!), einfach nur mit xrandr den Bildschirm zu drehen, weil dann der Stift entgegengesetzt reagiert. Am besten legt man sich die beiden Dateien in /usr/local/bin ab und erstellt ein Shortcut auf dem Desktop. Wenn ich irgendwann mal Zeit finde, werd ich nochmal eine gnome-shell-extension dafür schreiben.

Eine Auflistung der verfügbaren Hardware mir ergab das folgende Ausgabe:

user@laptop:~$ xsetwacom --list dev
Wacom Serial Penabled 1FG Touchscreen stylus    id: 16    type: STYLUS
Wacom Serial Penabled 1FG Touchscreen eraser    id: 17    type: ERASER
Wacom Serial Penabled 1FG Touchscreen touch    id: 18    type: TOUCH

Die beiden Dateien:

user@laptop:~$ cat rotate
xsetwacom --set "Wacom Serial Penabled 1FG Touchscreen touch" rotate half
xsetwacom --set "Wacom Serial Penabled 1FG Touchscreen stylus" rotate half
xsetwacom --set "Wacom Serial Penabled 1FG Touchscreen eraser" rotate none
xrandr -o inverted
user@laptop:~$ cat rotate-back
xsetwacom --set "Wacom Serial Penabled 1FG Touchscreen touch" rotate none
xsetwacom --set "Wacom Serial Penabled 1FG Touchscreen stylus" rotate none
xsetwacom --set "Wacom Serial Penabled 1FG Touchscreen eraser" rotate none
xrandr -o normal

Programme über SSH auf Display :0 starten

Posted on 25. September 2012 Comments

Um Programme über SSH auf einem Bildschirm zu starten, der über Kabel angeschlossen ist muss man bei bestimmten Konfigurationen erstmal herausbekommen, welches Display zu welchem physikalischen Bildschirm gehört. Wenn es nur einen gibt ist es meistens 0.

Der aktuelle Bildschirm ist gelockt, d.h. wenn man versuchen würde über SSH jetzt ein Programm zu starten kommt folgende Meldung:

pi@raspberrypi ~ $ leafpad
leafpad: Anzeige kann nicht geöffnet werden:

Oder über xinit:

pi@raspberrypi ~ $ xinit leafpad :0
Fatal server error:
Server is already active for display 0
If this server is no longer running, remove /tmp/.X0-lock
and start again.
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.

Um das zu lösen muss kann man folgende Befehle benutzen:

pi@raspberrypi ~ $export DISPLAY=:0
pi@raspberrypi ~ $ firefox

Das ist vor allem praktisch, falls VNC nicht auf den ersten Display vom X-Server zugreifen kann(-> x0vnc). Um einfach nur eine grafische Oberfläche zu bekommen reicht ja normalerweise das XForwarding vom SSH-Server oder normales VNC
Credits go to Oli.