Aufmacher

Zaubern mit Xnee

Bildschirmaktionen aufzeichnen

01.09.2007
Xnee, Gnee, Cnee und Pnee – die merkwürdig klingenden Tools erwecken den Desktop wie von Geisterhand zum Leben.

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.

Abbildung 1: Dank Gnee lässt sich Xnee auch über eine grafische Oberfläche steuern, die jedoch noch einige Schwächen zeigt.

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.

Abbildung 2: Dieser Text erscheint in der Konsole, wenn Configure alle Pakete findet, um Xnee erfolgreich zu kompilieren.

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.

Abbildung 3: Um die Entwicklerwerkzeuge für Open Suse zu installieren, wählen Sie unter YaST das Schema Grundlegende Entwicklung.

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.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

title_2014_09

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...
Öhm - wozu Benutzername, wenn man dann hier mit Klarnamen angezeigt wird?
Thomas Kallay, 03.07.2014 20:30, 1 Antworten
Hallo Team von Linux-Community, kleine Zwischenfrage: warum muß man beim Registrieren einen Us...