Bildschirmaktionen aufzeichnen
Zaubern mit Xnee
Screen Recorder erfreuen spätestens seit dem Beryl/Compiz-Boom auch unter Linux viele Anwender. Es gibt aber noch einen anderen Weg, um die Ereignisse auf dem Desktop zu konservieren — und ihn geht Xnee [1]: Die Software zeichnet Mausklicks und -bewegungen sowie Tastaturanschläge auf. Spielen Sie die aufgezeichnete Datei später auf einem anderen Rechner ab, wiederholt Xnee alle Schritte. Voraussetzung ist, dass die Software auf beiden Rechnern läuft.
Neben dem recht lustigen Effekt des "Geister-Desktops" gibt es auch ein paar nützliche Anwendungsszenarien für Xnee. Tut Muttis Linux-Rechner mal nicht das, was er soll, schicken Sie eine schlanke Xnee-Datei, die alles wieder repariert. Oder Sie demonstrieren Mutti ganz plastisch, wie ein bestimmtes Programm funktioniert – live, ohne anwesend zu sein. Starten Sie mehrere Instanzen von Xnee, simulieren Sie einen gut ausgelasteten Rechner und testen so die Grenzen eines Systems. Ein mit Xnee arbeitendes Makro nimmt Ihnen Schritte ab, die Sie immer wieder manuell erledigen – etwa E-Mails abrufen oder sich per SSH an einem Server anmelden.
Was sich Xnee nennt, besteht eigentlich aus mehreren Werkzeugen. Die Software zerfällt in die drei Komponenten Gnee, Pnee und Cnee, die sich alle auf die Bibliothek Libxnee stützen. Bei Gnee handelt es sich um eine Gnome-GUI für Xnee (Abbildung 1), dank Pnee läuft die Software im Gnome-Panel und Cnee nennt sich schließlich das Kommandozeilen-Programm. Wir zeigen erst, wie die GUI funktioniert und wechseln dann mit Cnee auf die Konsole, Pnee lief im Test allerdings nicht.
Die Geister die ich rief
Natürlich könnten Sie auch Xnee selbst über ein Makro installieren lassen, das hieße aber, sich am eigenen Schopf aus dem Sumpf zu ziehen. Sie legen also selbst Hand an. Als Nutzer von Ubuntu "Feisty Fawn" oder OpenSuse 10.2 finden Sie auch über den Paketmanager eine Xnee-Version, allerdings raten wir von der Installation der schon betagten Version 1 ab. Den Quellcode der Version 3.01 finden Sie auf der Heft-CD.
Als Nutzer von Ubuntu brauchen Sie die Pakete build-essential
, libxtst-dev
, libxcb1
, libxcb-xtest0
, gtk2.0-dev
, libpanel-applet2-dev
sowie checkinstall
. Entpacken Sie die Quellcode-Datei, wechseln Sie in das neue Unterverzeichnis und geben Sie ./configure
ein. Tritt beim Konfigurieren ein Fehler auf, gibt die Textausgabe einen Hinweis darauf, welches Paket noch fehlt. Im Erfolgsfall erscheint der in Abbildung 2 gezeigte Text.
Nutzer von Open Suse 10.2 gehen nach dem selben Muster vor, hier heißen die vorher zu installierenden Pakete gnome-panel-devel
, gnome-panel
und checkinstall
. Um die Entwickler-Werkzeuge einzuspielen, wählen Sie über das Filter-Menü links oben in YaSTs Software-Installations-Rubrik den Punkt Schemata | Grundlegende Entwicklung (Abbildung 3). Anwender von Suse Linux 10.1 installieren auf dem selben Weg Selektionen | C/C++ Compiler und Werkzeuge und dann die Pakete gnome-panel
, gnome-panel-devel
sowie checkinstall
.
Wollen Sie die Software unter Mandriva 2007 nutzen, helfen folgende Pakete weiter: gcc
, make
und gnome-panel
. Danach fügen Sie ein neues Repository hinzu, indem Sie als root auf der Konsole die folgende Zeile eingeben:
$ urpmi.addmedia main ftp://ftp.informatik.hu-berlin.de/pub/Mirrors/ftp.mandrake.com/Mandrakelinux/official/2007.0/i586/media/main/release with media_info/hdlist.cz
Das dauert eine Weile, da Mandriva nun eine 30 MByte große Software-Liste von einem FTP-Server herunterlädt und einliest. Installieren Sie dann über den Paketmanager libxtst6-devel
, libgtk+2.0_0-devel
, libpanel-applet-2_0-devel
und rpm-build
. Auch das braucht Zeit: Die Installation der einzelnen Pakete zieht einen Rattenschwanz an Abhängigkeiten nach sich. Fehlt abschließend nur noch das Paket checkinstall
von der Heft-CD. Sie installieren es – mit Root-Rechten – über urpmi checkinstall
.
Nach der Konfiguration folgt auf allen Systemen der Befehl make
, um die Quellen zu kompilieren. Läuft dieser Prozess erfolgreich durch, geben Sie als rootcheckinstall
ein. Das installiert die Software nicht nur systemweit ins Verzeichnis /usr/local
, sondern baut auch gleich ein DEB- bzw. RPM-Paket. Bestätigen Sie dafür einfach alle Fragen der Software mit [Eingabe]. Suse-Anwender müssen das Paket noch installieren, was über rpm -Uhv /usr/src/packages/RPMS/i386/Xnee-3.01-1.i386.rpm
klappt – auch dafür brauchen Sie wieder administrative Rechte. Bei Mandriva heißt der Pfad zum RPM /usr/src/rpm/RPMS/i386/Xnee-3.01.rpm
.
Lauschangriff
Xnee schneidet im wesentlichen die Kommunikation zwischen X-Server und X-Client mit. Es speichert die numerischen Daten in einer Datei, die es später wieder abspielt. Es gibt vier verschiedene Datentypen, die Server und Client austauschen: Anfragen ("Requests"), Antworten ("Replies"), Ereignisse ("Events") und Fehler ("Errors"). Mehr zum System lesen Sie unter anderem bei Wikipedia [2].
Xnee erkennt vom User generierte Ereignisse, wie das Drücken und Loslassen einer Taste ("KeyPress"). Es zeichnet aber auch Anfragen und Antworten auf, von denen der Anwender nichts mitbekommt ("VisibilityNotify"). Das X-Protokoll verarbeitet sie benutzerunabhängig. Anders als bei Screencasts liegen die von Xnee produzierten Dateien im KByte-Bereich, lassen sich also locker per E-Mail versenden.
Damit Xnee korrekt arbeitet, müssen Sie vorher noch die Record-Erweiterung für Ihren X-Server aktivieren. Dazu öffnen Sie mit Root-Rechten die Datei /etc/X11/xorg.conf
und ergänzen den Bereich Section "Module"
um die Zeile Load "record"
. Anschließend starten Sie den X-Server neu. Unter Open Suse 10.2, Suse Linux 10.1 und Mandriva 2007 beenden Sie ihn mit Root-Rechten und durch die Eingabe von init 3
und starten ihn über startx
neu. Unter Ubuntu funktioniert dasselbe über sudo /etc/init.d/gdm stop
und anschließend sudo /etc/init.d/gdm start
.