Làm thế nào tôi có thể chụp ảnh màn hình của màn hình đăng nhập?


31

Làm thế nào tôi có thể chụp ảnh màn hình của màn hình đăng nhập?

Tôi không muốn tạo lại cài đặt Ubuntu của mình trong một máy ảo.


1
Điều đầu tiên tôi sẽ tìm kiếm là thứ gì đó thu được kết quả đầu ra của X. Một tìm kiếm cho "ảnh chụp màn hình xserver" dẫn tôi đến câu trả lời này trên Linuxquestions.org .
Lekensteyn

Cuộc thảo luận liên quan này có thể có liên quan: superuser.com/q/290432/120246
Waldir Leoncio

Tôi đã chia sẻ một kịch bản để thực hiện điều này, trong trang Askubfox.com/questions/177067/ triệt
Nafis Ahmad

Câu trả lời:


17

Blog này có thể hữu ích: http://ptspts.blogspot.com/2010/02/how-to-create-screen-shot-of-gdm-login.html

Cài đặt ImageMagick để chuyển đổi định dạng tệp hình ảnh bên dưới:

sudo apt-get install imagemagick

Tạo một kịch bản trợ giúp:

echo 'DISPLAY=:0 XAUTHORITY=/var/lib/gdm/:0.Xauth xwd -root' >/tmp/shot.sh

Đảm bảo màn hình đăng nhập của bạn đang hoạt động (đăng xuất hoặc khởi động lại máy và đợi cho đến khi bạn thấy màn hình đăng nhập). Đăng nhập ở chế độ văn bản (bằng cách nhấn Ctrl-Alt-F1) hoặc sử dụng SSH. Tạo ảnh chụp màn hình bằng cách chạy

sudo bash /tmp/shot.sh >/tmp/shot.xwd

Bạn có thể đăng nhập ngay bây giờ (bằng cách nhấn Ctrl-AltF7 trước để quay lại màn hình đăng nhập GDM). Chuyển đổi ảnh chụp màn hình thành JPEG và / hoặc PNG:

convert -quality 50 /tmp/shot.xwd /tmp/shot.jpg
convert /tmp/shot.xwd /tmp/shot.png

Xem ảnh chụp màn hình trong trình xem hình ảnh yêu thích của bạn.


4
Tôi đã kết thúc bằng cách sử dụng sudo sh -c 'sleep 5s; xwd -display :0 -root | convert - screenshot.png'từ bảng điều khiển ảo và chuyển sang màn hình đăng nhập trong thời gian ngủ 5 giây.
ændrük

3
Tôi tinh chỉnh điều này cho lightdm. $ Echo 'DISPLAY =: 0 XAUTHORITY = / var / run / lightdm / root /: 0 XWD -Root'> /tmp/shot.sh
popey

11

Cho 11.10 và Lightdm trở lên

Bạn có thể thử chạy unity-greeter --test-modetrong một thiết bị đầu cuối. Nó hiển thị màn hình đăng nhập trong phiên. Sau đó, bạn có thể chụp ảnh màn hình đăng nhập như bạn thường làm với bất kỳ ứng dụng nào khác.

nhập mô tả hình ảnh ở đây


nhưng đó là quá chung chung, bất kỳ sửa đổi có thể được nhìn thấy. Có cách nào để kiểm tra sửa đổi hiện tại?
Ubuntuser

@Ubuntuser Không phải tôi biết. Những sửa đổi mà bạn đang thử nghiệm?
jokerdino

tôi đang kiểm tra đầu đọc dấu vân tay. trên màn hình đăng nhập và màn hình khóa nó hiển thị độc đáo. tôi muốn chụp ảnh màn hình của cả hai.
Ubuntuser

@Ubuntuser Tôi đoán những sửa đổi bạn thực hiện có ảnh hưởng trực tiếp đến lightdm chứ không phải Unity-helloer? Tôi không chắc. Tôi chỉ đang suy đoán. Bạn có thể muốn hỏi một câu hỏi mới ..
jokerdino

8

Bạn có thể thử điều này:

gnome-screenshot -d 10

bạn không cần phải cài đặt bất cứ thứ gì chỉ cần nhập lệnh và khóa màn hình, màn hình sẽ được quay trong vòng 10 giây sau khi lệnh được thực thi.

Thậm chí nhiều hơn .. lệnh sẽ khóa màn hình, sao chép ảnh chụp màn hình vào clipboard và mở khóa lại màn hình. Tất cả dựa vào nó.

gnome-screensaver-command -l && sleep 2 && gnome-screenshot -c && loginctl unlock-session

 nhập mô tả hình ảnh ở đây


3
Đây là giải pháp đơn giản nhất mà tôi tìm thấy.
Caustic

7

Dành cho Ubuntu 14.04

Các câu trả lời ở trên không hoạt động với tôi trong Ubuntu 14.04 - Tôi đã tìm kiếm xung quanh và thấy nó hoạt động.

  1. Cài đặt ImageMagick

    sudo apt-get install imagemagick
    
  2. Tạo một tệp trong shot.shthư mục nhà của bạn có tên tốt nhất là trong thư mục nhà của bạn và dán mã sau vào bên trong nó:

    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
    
  3. Làm cho nó thực thi

    sudo chmod +x shot.sh
    
  4. Thoát khỏi hệ thống. Nhấn Ctrl+ Alt+ F1để đến bảng điều khiển (tty1) và đăng nhập. Chạy tập lệnh bằng lệnh này:

    sudo ./shot.sh
    

Nó sẽ đưa bạn trở lại giao diện đồ họa màn hình đăng nhập (chvt 7) và sau năm giây, nó sẽ mất và lưu ảnh chụp màn hình trong thư mục chính của bạn với một tên tệp screenshot.png.


Đây là của tôi:

nhập mô tả hình ảnh ở đây

Nguồn: http://itsfoss.com/sccam-login-screen-ubfox-linux/


Tôi có thể xác nhận tập lệnh shell này vẫn hoạt động trên Mực nang vũ trụ Ubuntu 18.10 với Unity 7.5.0. Tôi có thể chụp ảnh màn hình thành công trong một lần thử. Cảm ơn bạn @Parto.
Ade Malsasa Akbar

6

Nhập cái này vào một thiết bị đầu cuối:

dm-tool add-nested-seat --fullscreen

Đó là nó! chụp ảnh màn hình như bình thường

Nhấn Alt + F4 để đóng cửa sổ toàn màn hình của màn hình đăng nhập của bạn


Đó là một vẻ đẹp! Thiên tài!
Anwar

Tôi cũng có thể xác nhận thủ thuật này hoạt động hoàn hảo trên Ubuntu 18.10. Tôi nghĩ thủ thuật này dễ dàng và nhanh chóng hơn shell script. Cảm ơn bạn @afriend.
Ade Malsasa Akbar

2

Chỉ muốn lưu ý rằng tôi có một loạt vấn đề khi làm điều này trên Ubuntu 10.04 LTS với điều này - đây là giải pháp của tôi:

Tôi đang ở máy A và tôi đăng nhập vào máy B qua 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:~$ 

Sau đó, tôi tiến hành một số nỗ lực để chụp ảnh màn hình, tất cả đều thất bại. Vấn đề có thể được giảm xuống xwininfothành không thể thăm dò trạng thái cửa sổ:

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'

Chà, vì một lý do nào đó, việc gọi đúng mục tiêu cho các cửa sổ X thông qua ssh là DISPLAY=:0.0 sudo xwininfo ...- nghĩa là, DISPLAY=:0.0biến môi trường đi trước; các sudođi thứ hai - và sau đó là lệnh X tương ứng:

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

Bây giờ chúng tôi biết xwininfocó thể thăm dò trạng thái, cũng không có vấn đề gì với việc chụp ảnh màn hình qua xwd:

myusername@pcB:~$ DISPLAY=:0.0 sudo xwd -root > /tmp/shot.xwd

0

Tôi đã chỉnh sửa "/ etc / mdm / init / Default" và thêm:

scrot -d 5 -e 'mv $f /root' &

trước dòng có "exit 0".

Lần sau khi tôi đăng nhập, tôi đếm đến năm, tiếng bíp và tôi có ảnh chụp màn hình của mình trong "/ root".

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.