Bildschirmfotos anfertigen
siehe auch Screencasts: http://linuxwiki.de/ScreenCast
Inhaltsverzeichnis
vom Desktop (X11-Oberfläche, Fenstermanager, KDE, etc.)
ksnapshot ist das "KDE Bildschirmfoto-Programm". Eine ausführliche Hilfe erhält man mit Druck auf den Hilfebutton.
Auch GNOME besitzt ein entsprechendes Utility, man erreicht es über den Punkt "Bildschirmfoto erstellen" im "Aktionen"-Menü.
XFree86 liegt meist das Programm xwd (X Window Dump) bei. Mit xwd -out screenshot.xwd erzeugt man einen Screenshot. Zum Anschauen benutzt man xwud -in screenshot.xwd. Auch GIMP kann .xwd-Dateien lesen und konvertieren.
Wenn man ImageMagick installiert hat, genügt der Befehl convert X: screenshot.png für den gesamten Bildschirmbereich oder import screenshot.png für ein einzelnes Fenster (das man dann mit dem Mauszeiger anklicken muss).
Man kann die tot geglaubte "Print-Screen"-Taste reaktivieren, indem man ihr im DesktopEnvironment (Gnome, KDE usw.) den entsprechenden Befehl zuordnet.
GIMP kann auch Bildschirmfotos machen (über Datei/Holen/...)
bei Bildschirmfotos vom Browser, kann man den Inhalt vorher mit dem Bookmarklet edit-page von http://www.squarefree.com/bookmarklets/misc.html editieren
als Bilderserie oder gleich als Film
Mit XVidCap kann man in einstellbarer Frequenz Einzelbilder in verschiedenen Formaten oder auch gleich einen Film anlegen lassen.
Mit vnc2swf kann man einen VNC-screen in eine Flash Datei speichern.
vncrec speichert ihn als .mov-Datei.
- Folgendes Skript macht so etwas ähnliches, nur mit der Konvertierung zu ASCII-Zeichen. (KDE live auf der Textconsole)
programmname & while (1) { ksnapshot | aaxine > /dev/tty0 }
Mit dem (kommerziellen) Programm DemoRecorder kann der Desktop inclusive Sound vom Mikrophon aufgenommen werden und in verschiedene Video-Formate exportiert werden.
automatisch von X-Anwendungen
Mithilfe von ImageMagick und Xvfb (X11 virtual Frame Buffer) kann man "automatisch" Bilder von Anwendungen machen. Das folgende Skript erstellt zum Beispiel einen Screenshot von einer Webseite (vgl. auch http://www.boutell.com/webthumb/).
# A script to take screenshots of webpages. # # Example usage: webthumb.sh << END # http://www.mozilla.org mozilla.png mozilla_thmb.png # http://www.imagemagick.org imagemagick.png imagemagick_thmb.png # END # # Requires: # * ImageMagick # * Mozilla # * Xvfb # # Author: Henryk Gerlach (2005-01-01) # No warranty, use at own risk. # This script is Public Domain. All the hard work is done third party software anyway. #BUGS: # Mozilla: # * -geometry does not work with mozilla # * if mozilla already runs under the userid it might not start up. # * if mozilla needs to be configured for the userid running it, the script won't work BROWSER=mozilla #The window title of the browser after startup, so we can grab it's window id. #If all fails, take root to grab the whole desktop BROWSERID="Mozilla" #BROWSERID="root" DISPLAY=":1" #Use virtual X server VIRTUAL_X="Xvfb $DISPLAY" #cut of browser decoration for 800x600 resolution CROP="800x490+0+90" THUMBSIZE="240x180" INITTIME=5 #time to wait for the Xserver and the browser to start up LOADTIME=4 #time to wait for a page to load, take shot after this time ###################################################### #init if test "$VIRTUAL_X" != ""; then $VIRTUAL_X & fi export DISPLAY sleep $INITTIME $BROWSER & sleep $INITTIME if test "$BROWSERID" != "root"; then BROWSERID=`xwininfo -name "$BROWSERID" | grep "Window id" | cut -d " " -f 4` fi # loop while read URL BIG THUMB; do $BROWSER -remote "openurl($URL)" sleep $LOADTIME import -window "$BROWSERID" $BIG if test "$CROP" != ""; then mogrify -crop $CROP "$BIG" fi convert -size "$THUMBSIZE" "$BIG" -resize "$THUMBSIZE" "$THUMB" done #cleanup #this is dirty if test "$VIRTUAL_X" != ""; then killall Xvfb else killall $BROWSER fi
Frage: Stellt jemand sowas auch als Web-Anwendung zur Verfügung, so nach dem Motto: gewünschte URL eingeben und gewünschte Bildgröße und fertig?
Ja, z.B. http://www.thumbshots.org/ -- HenrykGerlach 2005-03-17 18:48:00
von der Textkonsole
per xwd und ImageMagic
xwd -root | convert - screenshot.png
mit Hilfe des Befehls '''script'''
script -t x-log 2> x-timing eingeben
Aufzeichnung mit exit beenden
Aufzeichnung mit replay.pl x-timing x-log abspielen ( die Terminalgröße muss dabei passen)
Falls Du replay nicht findest, dann lies dies.
mit Hilfe der Geräte-Dateien
Einfachste Möglichkeit (braucht aber Zugriff auf die /dev/vcs* Gerätedateien, und das hat meist nur `root'):
Die Terminals werden durch Gerätedateien dargestellt. Insbesondere werden die ALT-F1 bis ALT-Fn (n=2..63) Terminals durch die Geräte /dev/vcs(a)1' ... /dev/vcs(a)63' dargestellt. Dabei steht das a für mit Steuerzeichen (d.h. Farbe, Cursorpositionierung, etc). Ein simples
cat /dev/vcs[a]N > /tmp/bild
n=zu fotografierende Konsole (bekommt man evtl. mit tty raus)
schiebt den Bildschirminhalt von der Konsole in eine Datei. Lesen kann man diese Datei dann mit einem Editor, oder; wenn Sonderzeichen drin vorkommen, sich auch wieder vom Terminal interpretieren lassen:
echo -en "\033(U" # schaltet das Terminal um cat /tmp/bild # spuckt das Bild aus echo -en "\033(B" # schaltet das Terminal zurück
Eventuell mußt Du einen Zeichensatz laden, der die Rahmenzeichen o.ä. auch beinhaltet, z.B. `lat1u-??'. Genaueres steht auch in Documentation/unicode.txt.
mit gpm
Etwas komplizierter, geht aber mit jedem User:
Der gpm muß laufen (d.h. Maus im Textmodus funktioniert).
- Bau dir dein Terminal so, wie du es fotografiert haben willst.
- Markiere mit der linken Maustaste den zu fotografierenden Bereich.
- Wechsle auf ein beliebiges anderes Terminal, logge dich ein, starte einen Editor.
- Füge den kopierten Kram mit der mittleren Maustaste in den Editor ein.
Eventuell musst Du beim Editor den Indent mode abschalten, sonst gibts nen Treppeneffekt. Bei VI geht das mit :set paste am Anfang und set nopaste am Ende.