Sonntag, 20. Februar 2011

Screenshots via SSH

Erst gestern habe ich beschrieben wie ich mich in meinen Computer via SSH einloggen kann und habe gleich angefangen ein vernünftiges Script zu schreiben um einen Screenshot auf meinem Handy aufrufen zu können.
Die Funktionsweise ist recht kompliziert, was aber nur daran liegt, dass ich alle tollen Compiz-Effekte, wie z. B. Transparenz des Terminal-Fensters behalten möchte :3

Also gut...

Wie funktioniert's?

Der Kern des Ganzen ist im Prinzip eine kleines Script, das einen Screenshot mit Hilfe von "scrot" macht und es mit "convert" aus dem Paket "imagemagick" in 16 kleine Teilbilder zerschnipselt. Das ist notwendig, da mein Handy scheinbar keine so großen Dateien im Browser mag und das implementierte Bildanzeigeprogramm ziemlicher Mist ist. Die resultierenden 16 Einzelbilder werden mit meinem Dropbox-Account synchronisiert. Im selben Dropbox-Ordner befindet sich eine HTML-Datei, die die einzelnen Bilder in einer Tabelle angeordnet anzeigt und so gewährleistet, dass alle Bilder in der richtigen Reihenfolge dargestellt werden.
Soweit so gut. Jedoch lässt sich das jetzt noch nicht über SSH steuern, da dem Programm "scrot" noch der nötige X-Server fehlt. Realisiert wird alles jedoch über zwei weitere kleine Scripts. Ein Script startet eine SubShell und schreibt dessen PID (Process ID) in eine Datei. Die SubShell führt den Befehl "sleep 1337d" aus; schläft also für 1337 Tage. Da dies natürlich nie der Fall sein wird, wird diese SubShell über ein anderes Script beendet und die erste Shell ist wieder aktiv. Diese startet jetzt das Script um einen Screenshot zu machen, welches nun den korrekten X-Server zur Verfügung hat. Sobald das wiederum beendet wurde, startet erneut die SubShell, die 1337 Tage schläft. So lässt sich der ganze Kram nämlich auch über SSH ansteuern. Insgesamt ist es zuverlässiger und qualitativ besser als die VNC Variante. Im Endeffekt aber immer noch eine einfacher Spielerei ;)

Bis dann, klaxa

Keine Kommentare:

Kommentar veröffentlichen