Verwenden von Bildschirmaufnahmen, wenn Sie sich remote über ssh bei einem Headless-Mac angemeldet haben

Ich versuche, screencapturevom Terminal aus, wenn ich über angemeldet bin ssh, einen Mac zu verwenden, an den kein Bildschirm angeschlossen ist. Ich kann den Bildschirm für die Maschine freigeben, daher möchte ich dieselbe Anzeige erfassen.

Wenn ich es versuche, bekomme ich jedoch keine Bilddatei.

Hier ist, was ich versucht habe ...

screencapture -tpng /Users/slomojo/Desktop/image.png

Und...

sudo screencapture -tpng /Users/slomojo/Desktop/image.png

und schlussendlich,

sudo launchtl bsexec $(ps -ax | grep loginwindow.app | awk '{print $1}' | head -1) /usr/sbin/screencapture -tpng /Users/slomojo/Desktop/image.png

Nichts davon funktioniert ... (Beachten Sie, dass der letzte Versuch darin besteht, die PID zu erhalten loginwindow.appund den screencaptureProzess daran anzuhängen, wie von der OS X-Manpage vorgeschlagen.)

Aktualisieren

FYI Ich verwende OS X 10.6.8.

Zusätzliches Update.

Ich habe nicht erwähnt, dass an die Maschine kein Bildschirm angeschlossen ist (normalerweise verbinde ich mich über VNC/Screen Sharing). Ich bin zu einer anderen Maschine in diesem Netzwerk gesprungen und der Befehl funktioniert gut (natürlich denke ich!).

Ich sollte auch erwähnen, dass die erste Version des Befehls gut funktioniert, da ich auf dem Remote-Computer mit demselben Konto wie die lokale GUI-Sitzung angemeldet bin.

Tatsächlich funktioniert nur das Folgende ohne das ganze launchctl-Zeug gut:

screencapture -tpng ~/Desktop/image.png

Ich muss jedoch noch herausfinden, wie man auf der Headless-Maschine Bildschirmaufnahmen macht, dh. Nehmen Sie dieselbe Anzeige auf, die ich bei der Bildschirmfreigabe sehen würde.

Ich bin mir nicht 100% sicher, aber ich denke, dass die Bildschirmfreigabesitzung ein virtuelles Bildschirmgerät erstellen / abreißen kann, wenn es verbunden / getrennt wird. Also werde ich versuchen, das zu tun, screencapturewenn ich gleichzeitig eine Bildschirmfreigabesitzung ausführen kann.

Update Nr. 2

Ich habe versucht, die Bildschirmaufnahme zu machen, während auf einem anderen Computer eine Bildschirmfreigabesitzung auf demselben Benutzerkonto wie die SSH-Sitzung geöffnet war, keine Würfel.

Interessanterweise befand ich mich jedoch im selben Raum wie alle fraglichen Boxen, und die Zielbox machte das "Shutter" -Geräusch, als ich die Bildschirmaufnahme aus der Ferne ausführte.

Sieht so aus, als wäre es nicht möglich, auf einem Displayless-Mac Bildschirm zu erfassen, ohne ernsthafte zusätzliche Arbeit, ich werde stattdessen per VNC remote darauf zugreifen.

Der letzte sollte funktionieren, wenn Sie den Pfad zu ändern /usr/sbin/screencapture- Ihrer fehlt sbin/.
@Ingmar hupp - Entschuldigung, das war ein Tippfehler in der Frage, ich benutze bereits /usr/sbin/screencapture.
Ich habe das versucht; es funktionierte nur, wenn der Benutzer angemeldet war, dh es funktionierte nicht, wenn der Anmeldebildschirm angezeigt wurde
Der Benutzer ist angemeldet, eigentlich ssh' ich mich mit demselben Benutzernamen ein, das einzig mögliche Problem ist, dass kein Bildschirm angeschlossen ist. Ich werde zu einer anderen lokalen Box ssh, die einen Bildschirm hat, und sehen, ob das das Problem ist.
@Samantha, ja, das war das Problem, irgendwelche Ideen, wie ich den virtuellen Bildschirm (dh die Bildschirmfreigabeanzeige) zum Erfassen bringen kann, die Dokumente für die Bildschirmaufnahme sind ziemlich dünn.

Antworten (1)

Ich bin mir nicht sicher, ob das funktionieren wird, aber es ist einen Versuch wert ...

Was ist, erstellen Sie ein Automator-Skript, um eine Bildschirmaufnahme zu machen, und führen Sie diese dann mit dem Terminal aus?

Ähnlich wie in diesem TUAW-Artikel beschrieben , jedoch ohne den Teil, der Ihnen die Bildschirmaufnahme per E-Mail zusendet.

TUAW-Beispiel

Speichern Sie das Automator-Skript als Anwendung, SSH-in und führen Sie es ausopen /path/to/the/automator.app

Ich werde es versuchen. Übrigens, eine Sache, die ich bereits versucht habe, die ich hier aufzeichnen sollte: Die Verwendung osascriptzum Senden der Cmd-Shift-3Bildschirmaufnahme-Verknüpfung hat nicht funktioniert.