ฉันจะจับภาพหน้าจอของหน้าจอเข้าสู่ระบบได้อย่างไร?
ฉันไม่ต้องการสร้างการติดตั้ง Ubuntu ใหม่ในเครื่องเสมือน
ฉันจะจับภาพหน้าจอของหน้าจอเข้าสู่ระบบได้อย่างไร?
ฉันไม่ต้องการสร้างการติดตั้ง Ubuntu ใหม่ในเครื่องเสมือน
คำตอบ:
บล็อกนี้อาจมีประโยชน์: http://ptspts.blogspot.com/2010/02/how-to-create-screen-shot-of-gdm-login.html
ติดตั้ง ImageMagick สำหรับการแปลงรูปแบบไฟล์ภาพด้านล่าง:
sudo apt-get install imagemagick
สร้างสคริปต์ผู้ช่วยเหลือ:
echo 'DISPLAY=:0 XAUTHORITY=/var/lib/gdm/:0.Xauth xwd -root' >/tmp/shot.sh
ตรวจสอบให้แน่ใจว่าหน้าจอการเข้าสู่ระบบของคุณใช้งานอยู่ (ออกจากระบบหรือรีบูตเครื่องและรอจนกว่าคุณจะเห็นหน้าจอการเข้าสู่ระบบ) ล็อกอินในโหมดข้อความ (โดยการกด Ctrl-Alt-F1) หรือใช้ SSH สร้างภาพหน้าจอโดยการเรียกใช้
sudo bash /tmp/shot.sh >/tmp/shot.xwd
คุณสามารถเข้าสู่ระบบได้ทันที (โดยกด Ctrl-AltF7 ก่อนเพื่อกลับไปที่หน้าจอเข้าสู่ระบบ GDM) แปลงภาพหน้าจอเป็น JPEG และ / หรือ PNG:
convert -quality 50 /tmp/shot.xwd /tmp/shot.jpg
convert /tmp/shot.xwd /tmp/shot.png
ดูภาพหน้าจอในโปรแกรมดูภาพที่คุณชื่นชอบ
sudo sh -c 'sleep 5s; xwd -display :0 -root | convert - screenshot.png'
จากคอนโซลเสมือนและเปลี่ยนเป็นหน้าจอเข้าสู่ระบบในช่วงเวลา 5 วินาที
สำหรับ 11.10 และ Lightdm และใหม่กว่า
คุณสามารถลองใช้งานunity-greeter --test-mode
ในเทอร์มินัล จะแสดงหน้าจอเข้าสู่ระบบภายในเซสชั่น จากนั้นคุณสามารถจับภาพหน้าจอของหน้าจอเข้าสู่ระบบเหมือนปกติกับแอพพลิเคชั่นอื่น ๆ
คุณสามารถลองสิ่งนี้:
gnome-screenshot -d 10
คุณไม่จำเป็นต้องติดตั้งสิ่งใด ๆ เพียงแค่ป้อนคำสั่งและล็อคหน้าจอหน้าจอจะถูกยิงภายใน 10 วินาทีหลังจากที่คำสั่งถูกเรียกใช้งาน
ยิ่งขึ้น .. คำสั่งจะล็อคหน้าจอคัดลอกภาพหน้าจอไปยังคลิปบอร์ดและปลดล็อคหน้าจออีกครั้ง ทั้งหมดด้วยตัวเอง
gnome-screensaver-command -l && sleep 2 && gnome-screenshot -c && loginctl unlock-session
คำตอบข้างต้นไม่ได้ผลสำหรับฉันใน Ubuntu 14.04 - ฉันค้นหารอบ ๆ และพบว่าใช้งานได้
ติดตั้ง ImageMagick
sudo apt-get install imagemagick
สร้างไฟล์ในโฮมไดshot.sh
เร็กตอรี่ของคุณชื่อเด่นกว่าในโฮมโฟลเดอร์ของคุณและวางรหัสต่อไปนี้ไว้ภายใน:
chvt 7;
sleep 5s;
DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/:0 xwd -root -out ~/screenshot.xwd;
convert ~/screenshot.xwd ~/screenshot.png;
rm ~/screenshot.xwd
ทำให้ปฏิบัติการได้
sudo chmod +x shot.sh
ออกจากระบบ กดCtrl+ Alt+ F1เพื่อไปที่คอนโซล (tty1) และเข้าสู่ระบบ รันสคริปต์โดยใช้คำสั่งนี้:
sudo ./shot.sh
มันจะพาคุณกลับไปที่อินเตอร์เฟซแบบกราฟิกหน้าจอเข้าสู่ระบบ (chvt 7) screenshot.png
และหลังจากห้าวินาทีมันจะใช้เวลาและบันทึกภาพหน้าจอในไดเรกทอรีบ้านของคุณด้วยชื่อไฟล์
นี่คือของฉัน:
ที่มา: http://itsfoss.com/scaucet-login-screen-ubuntu-linux/
พิมพ์สิ่งนี้ในเทอร์มินัล:
dm-tool add-nested-seat --fullscreen
แค่นั้นแหละ! ถ่ายภาพหน้าจอตามปกติ
กด Alt + F4 เพื่อปิดหน้าต่างเต็มหน้าจอของหน้าจอเข้าสู่ระบบของคุณ
แค่อยากจะทราบว่าฉันมีปัญหามากมายที่ทำสิ่งนี้บน Ubuntu 10.04 LTS ด้วยสิ่งนี้ - นี่คือวิธีแก้ปัญหาของฉัน:
ฉันใช้เครื่อง A และฉันเข้าสู่เครื่อง B ผ่าน ssh:
myusername@pcA:~$ ssh pcB
myusername@pcB's password:
Linux pcB 2.6.32-44-generic #98-Ubuntu SMP Mon Sep 24 17:32:45 UTC 2012 i686 GNU/Linux
Ubuntu 10.04.4 LTS
Welcome to Ubuntu!
* Documentation: https://help.ubuntu.com/
myusername@pcB:~$
จากนั้นฉันดำเนินการพยายามจับภาพหน้าจอหลายครั้งซึ่งไม่สำเร็จ ปัญหาสามารถลดลงจนxwininfo
ไม่สามารถสอบสวนสถานะหน้าต่าง:
myusername@pcB:~$ xwininfo
xwininfo: unable to open display ''
myusername@pcB:~$ sudo xwininfo
[sudo] password for myusername:
xwininfo: unable to open display ''
myusername@pcB:~$ DISPLAY=:0.0 xwininfo
No protocol specified
xwininfo: unable to open display ':0.0'
myusername@pcB:~$ DISPLAY=:0 xwininfo
No protocol specified
xwininfo: unable to open display ':0'
ด้วยเหตุผลบางประการการร้องขอที่ถูกต้องสำหรับการกำหนดเป้าหมาย X-windows ผ่าน ssh คือDISPLAY=:0.0 sudo xwininfo ...
- นั่นคือDISPLAY=:0.0
ตัวแปรสภาพแวดล้อมไปก่อน sudo
ไปสอง - แล้วคำสั่งที่สอดคล้องกัน X:
myusername@pcB:~$ DISPLAY=:0 sudo xwininfo
xwininfo: Please select the window about which you
would like information by clicking the
mouse in that window.
myusername@pcB:~$ DISPLAY=:0.0 sudo xwininfo -root
xwininfo: Window id: 0x109 (the root window) (has no name)
Absolute upper-left X: 0
Absolute upper-left Y: 0
Relative upper-left X: 0
Relative upper-left Y: 0
Width: 1366
Height: 768
Depth: 24
Visual: 0x21
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x20 (installed)
Bit Gravity State: ForgetGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +0+0 -0+0 -0-0 +0-0
-geometry 1366x768+0+0
ตอนนี้เรารู้แล้วว่าxwininfo
สามารถสอบสวนสถานะได้แล้ว แต่ก็ไม่มีปัญหาในการจับภาพหน้าจอผ่านxwd
:
myusername@pcB:~$ DISPLAY=:0.0 sudo xwd -root > /tmp/shot.xwd
ฉันแก้ไข "/ etc / mdm / Init / Default" และเพิ่ม:
scrot -d 5 -e 'mv $f /root' &
ก่อนบรรทัดด้วย "exit 0"
ในครั้งต่อไปที่ฉันเข้าสู่ระบบฉันนับถึงห้าปี๊บและฉันได้ภาพหน้าจอเป็น "/ root"