Tangkapan layar Windows melalui sesi SSH baris perintah

5

Saya telah melihat-lihat beberapa pertanyaan "tangkapan layar" di sini, tetapi saya tidak dapat menemukan apa pun yang memenuhi kebutuhan spesifik saya.

Saya mencari alat baris perintah yang dapat saya jalankan melalui koneksi SSH jarak jauh (dengan cara daemon cygwin sshd). Ada beberapa yang bisa dipilih, tetapi beberapa yang saya coba (ImageMagick, nircmd, dan MiniCap) semuanya menghasilkan layar kosong. Saya berasumsi bahwa ini karena pengguna yang masuk dari jarak jauh tidak menjalankan sesi konsol grafis yang benar.

Tujuannya di sini adalah mengotomatiskan tangkapan layar dan pengambilan konsol sistem utama (apa yang akan dilihat jika mereka melihat monitor fisik) melalui penggunaan skrip ssh dari host Unix:

ssh user@windowshost "screencap --output /tmp/console.jpg"
scp user@windowshost:/tmp/console.jpg /some/destdir

Perhatikan bahwa ini harus dilakukan berdasarkan permintaan, jadi polling direktori jarak jauh yang snapshots-nya dibuang secara berkala tidak akan berfungsi.

Poin bonus untuk program yang bersifat open source dan memiliki instalasi portabel (jadi saya tidak perlu RDP / VNC ke dalam mesin untuk menjalankan installer grafis).

Geoff Fritz
sumber

Jawaban:

1

Jika Anda sudah memiliki VNC pada mesin Anda dapat mencoba membuat screenshot melalui VNC, misalnya dengan VNC Snapshot .

whitequark
sumber
Sepertinya rilis terakhir adalah pada tahun 2004. Mungkin perlu upaya untuk bekerja. Saya akan melaporkan kembali jika saya berhasil melakukannya.
Geoff Fritz
Protokol VNC sangat, sangat sederhana dan bahkan lebih, setiap spesifikasi merujuk ke sebelumnya sebagai ekstensi. Juga versi saat ini adalah 3,8, dan 3,7 dirilis pada 2003 IIRC, jadi mungkin akan berhasil.
whitequark
1

Sudahkah Anda mencoba menggunakan utilitas PsExec SysInternals alih-alih SSH? Atau bahkan di samping SSH (yaitu, ssh user@host "psexec screencap --output /tmp/console.jpg"). Saya tidak tahu itu akan berhasil, tetapi tampaknya patut dicoba.

quack quixote
sumber
Itu menghasilkan tangkapan layar kosong yang sama. Ide yang bagus.
Geoff Fritz
Anda harus membuatRemoteThread dalam beberapa proses yang berjalan di desktop yang ingin Anda tangkapan layar. Mungkin psexec dapat melakukan ini, mungkin tidak (dalam hal ini Anda memerlukan beberapa alat lain).
Vi.
Anda harus mencoba menambahkan opsi -i 1ke PsExec. Ada kemungkinan itu bisa membantu. (Untuk Windows versi pra-Vista (?), Ini harus -i 0saya percayai.) Juga, Anda kemungkinan besar ingin menambahkan -accepteulaopsi untuk berjaga-jaga. Sebagai upaya terakhir, jika PsExec berperilaku tidak cukup andal untuk Anda dan Anda mengizinkan diri Anda untuk melakukan beberapa pemrograman WinAPI, silakan
akavel
0

jika Anda masuk ke mesin melalui ssh Anda tidak berada dalam sesi yang sama dengan jendela yang ingin Anda tangkap. dengan demikian upaya snapshotting Anda .. tidak berguna.

saya akan mengatur mesin windows untuk memungkinkan sesi rdesktop, kemudian terhubung melalui rdesktop dari mesin unix dan membuat snapshot dari jendela rdesktop.

akira
sumber
-2

Coba salah satu dari perintah berikut.

$ import -pause 1 -window root screenshot.jpg

$ xwd -out screenshot.xwd -window root
or
$ xwd -out screenshot.xwd -window root -display :0.0  

Dan ini untuk mengekstraksi file xwd:

$ xwud -in screenshot.xwd
or
$ convert screenshot.xwd screenshot.jpg

Sumber: http://ubuntuforums.org/showthread.php?t=107580

johankj
sumber
Ini tentang Windows. Tidak ada "tampilan: 0,0". Ada desktop dan stasiun jendela sebagai gantinya.
Vi.
Ini berfungsi pada Windows, dengan Cygwin, tetapi hanya untuk menangkap jendela Cygwin (X).
reinierpost