Wie mache ich einen Screenshot eines nicht aktiven Fensters? Wenn ich zwei Fenster habe, möchte ich den Screenshot des Fensters aufnehmen, das im Hintergrund ausgeführt wird.
command-line
x11
screenshot
spendyala
quelle
quelle
Antworten:
Um ein wenig auf frühere Antworten und Kommentare einzugehen, scheint die Fähigkeit, einen Screenshot eines nicht aktiven Fensters (wie vollständig oder teilweise ausgeblendet) aufzunehmen, vom Fenstermanager abzuhängen.
Verwenden Sie den folgenden (bereits angegebenen) Befehl:
oder
(Das
-
ofconvert
ist für die Verwendung von Standardeingaben aus der Pipe vorgesehen und gibtxwd:
das Format der Eingabe an.) Unter Aufklärung (e17, getestet mit Fedora 19) scheint es möglich zu sein, einen Screenshot von:Ich habe mit Openbox (gleiche Konfiguration) und KDE (mit einem alten Scientific Linux 4.8 und der neuesten Version von
ImageMagick
(ja, unglaublich kompiliert…)) nachgefragt und in beiden Fällen zeigen Screenshots nur, was sich über den Anzeigeebenen befindet - das heißt nur was ist schon auf dem Bildschirm sichtbar.Der Punkt ist, dass der
import
Befehl prüft , ob das von zurückgegebenemap_state
FeldXGetWindowAttributes
istIsViewable
, und wenn nicht, einen Fehler zurückgibt. Man kannmap_state
zB überprüfen mit:Es scheint immer
IsViewable
unter e17 zu sein, während esIsUnMapped
unter Openbox und KDE ist, sobald das Fenster minimiert ist oder was auch immer.Ich bin mir zwar nicht sicher, warum der Screenshot mit e17 immer sauber ist, während er mit anderen Fenstern gemischt wird, wenn das Fenster teilweise mit anderen WMs wiederhergestellt wird, aber es hat natürlich auch mit der Art und Weise zu tun, wie das WM mit der Anzeige umgeht.
Wie auch immer, es ist eindeutig eine Frage von WM. Es wäre schön, eine Liste von WMs zu haben, die Screenshots von versteckten Fenstern machen können oder nicht - ich mache das nicht.
quelle
xwininfo | grep -i 'window id'
und auf das betreffende Fenster klicken.Was meinst du mit "nicht aktiv"? "Den Fokus nicht haben" oder "von einem anderen Fenster versteckt"? Im ersten Fall macht Gimp dies ohne Probleme (Datei -> Erstellen -> Screenshot). Im zweiten Fall ist es schwieriger (wenn es überhaupt möglich ist).
quelle
import
(aus der ImageMagick-Suite) eine-window id
Option vorhanden ist. Wenn Sie die Fensterkennung kennen, die auch in der Befehlszeile funktionieren soll. Sie können die Fensterkennung mit abrufenxwininfo
, müssen dafür jedoch mindestens einmal die Maus verwenden.Mit den oben genannten konnte ich die Windows-ID erhalten. und mit
in der Lage, die Beschriftung oder den Namen oder Titel des Fensters zu finden.quelle
import -window <window_ID> screenshot.png
Obwohl diese Antwort in einigen Situationen möglicherweise nicht wünschenswert ist, öffnet dieses Skript jedes Fenster auf dem aktuellen Desktop nacheinander, damit sie mit Ihrem Screenshot-Tool du jour als Screenshot angezeigt werden können.
quelle