Як я можу зробити знімок екрана входу?


31

Як я можу зробити знімок екрана входу?

Я не хочу відтворювати свою установку Ubuntu у віртуальній машині.


1
Перше, на що я звернув би увагу, - це те, що фіксує вихід X. Пошук "xserver екрана" приводить мене до цієї відповіді на Linuxquestions.org .
Лекенштейн

Ця пов'язана дискусія може бути актуальною: superuser.com/q/290432/120246
Waldir Leoncio

Я поділився сценарієм для цього, в цьому askubuntu.com/questions/177067/…
Ахмад

Відповіді:


17

Цей блог може бути корисним: 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

Перегляд знімка екрана в улюбленому переглядачі зображень.


4
Я закінчив користуватися sudo sh -c 'sleep 5s; xwd -display :0 -root | convert - screenshot.png'віртуальною консоллю і перейшов на екран входу під час сну 5 секунд.
ændrük

3
Я налаштував це на lightdm. $ echo 'DISPLAY =: 0 XAUTHORITY = / var / run / lightdm / root /: 0 xwd -root'> /tmp/shot.sh
popey

11

Для 11.10 та Lightdm та пізніших

Ви можете спробувати запустити unity-greeter --test-modeв терміналі. Він відображає екран входу в сеанс. Потім ви можете зробити знімок екрана входу, як це робиться з будь-яким іншим додатком.

введіть тут опис зображення


але це занадто загально, жодних модифікацій неможливо побачити. чи є можливість перевірити поточні модифікації?
Ubuntuser

@Ubuntuser Не те, що я знаю. Яку модифікацію ви тестуєте?
jokerdino

я тестую зчитувач відбитків пальців. на екрані входу та на блокованому екрані він добре відображається. Я хочу зробити скріншот обох.
Ubuntuser

@Ubuntuser Я здогадуюсь, що внесені вами зміни впливають на lightdm безпосередньо, а не на Unity-greeter? Я не впевнений. Я просто спекулюю. Ви можете задати нове запитання ..
jokerdino

8

Ви можете спробувати це:

gnome-screenshot -d 10

Вам не потрібно встановлювати будь-яку річ, просто введіть команду та заблокуйте екран, екран буде знятий протягом 10 секунд після виконання команди.

Ще більше .. команда заблокує екран, скопіює скріншот у буфер обміну і знову розблокує екран. Все само собою.

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

 введіть тут опис зображення


3
Це, безумовно, найпростіше рішення, яке я знайшов.
їдкий

7

Для Ubuntu 14.04

Наведені вище відповіді не працювали для мене в Ubuntu 14.04 - я обшукав і виявив, що це працює.

  1. Встановіть ImageMagick

    sudo apt-get install imagemagick
    
  2. Створіть файл у своєму домашньому каталозі, іменованому 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
    
  3. Зробіть його виконуваним

    sudo chmod +x shot.sh
    
  4. Вихід із системи. Натисніть Ctrl+ Alt+, F1щоб перейти до консолі (tty1) та увійти. Запустіть скрипт за допомогою цієї команди:

    sudo ./shot.sh
    

Він поверне вас до графічного інтерфейсу екрана входу (chvt 7), а через п’ять секунд візьме і збереже скріншот у вашому домашньому каталозі з назвою файлу screenshot.png.


Ось моя:

введіть тут опис зображення

Джерело: http://itsfoss.com/screenshot-login-screen-ubuntu-linux/


Я можу підтвердити, що цей сценарій оболонки все ще працює на Ubuntu 18.10 Cosmic каракатиці з Unity 7.5.0. Я можу зробити знімок екрана успішно за одну спробу. Дякую @Parto.
Аде Мальсаса Акбар

6

Наберіть це в терміналі:

dm-tool add-nested-seat --fullscreen

Це воно! зробити знімок екрана, як завжди

Натисніть Alt + F4, щоб закрити повноекранне вікно екрана входу


Це краса! Геніальність!
Анвар

Я також можу підтвердити, що ця хитрість прекрасно працює на Ubuntu 18.10. Я думаю, що цей трюк простіше і швидше, ніж сценарій оболонки. Дякую @afriend
Аде Мальсаса Акбар

2

Просто хотів зауважити, що у мене виникло чимало проблем, які робили це на 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змінна середовища виходить першою; the sudosecond - і тоді відповідна команда 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

0

Я відредагував "/ etc / mdm / Init / Default" і додав:

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

перед рядком з "вихід 0".

Наступного разу, коли я ввійду в систему, я рахую до п’яти, звуковий сигнал, і я отримав знімок екрана в "/ root".

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.