Для предыдущего поста мне пришлось сделать скриншот GDM. Попробовала в разных вариантах DISPLAY=":0" scrot и скрипт:
#!/bin/bashНо не сработало.
export DISPLAY=:0.0
sudo -u gdm gnome-screensot
Позже нашла скрипт, который в изменённом виде сработал:
chvt 8 ; XAUTHORITY=/var/lib/gdm/:0.Xauth DISPLAY=:0.0 sudo scrot -d 5; chvt 2Можно конечно не писать всё это руками, а просто сохранить строку в файл и дать ему права на выполнение. Затем нужно переключиться в один из терминалов (в данном случае второй), например, с помощью Ctrl+Alt+F2. А затем написать там эту строку или написать полный путь к файлу, в котором она записана.
Для этой команды должна быть установлена программа scrot. Произойдёт переключение на виртуальный дисплей с запущенными иксами, он будет «сфотографирован» с задержко в 5 секунд, затем произойдёт возвращение во вторую виртуальную консоль.
То есть последнюю цифру можно заменить в зависимости от того, откуда команду предполагается запустить. А первая цифра показывает расположение первого виртуального дисплея, то есть в данном случае он находится на месте восьмой виртуальной консоли (Ctrl+Alt+F8). Хотя обычно иксы запускаются в седьмой, это GDM почему-то так делает.
Есть ещё вариант, для него scrot не нужен, нужны imagemagick и, возможно, xnest:
chvt 8 ; sleep 5 ; XAUTHORITY=/var/lib/gdm/:0.Xauth DISPLAY=:0.0 sudo import -window root screen.png; chvt 2Но первый вариант мне больше нравится: от него в домашней директории остаётся файл с именем в виде даты, а от второго варианта файл с заданным именем (screen.png).
Ещё способ:
chvt 8; sleep 5; XAUTHORITY=/var/gdm/:0.Xauth DISPLAY=:0.0 import -window root /tmp/gdm-screenshot.pngПравда, тут в результате файл скриншота окажется в папке /tmp/ и придётся оттуда его доставать. Последние два варианта я не пробовала.
Ух! Молодец
ОтветитьУдалитьМожет, можно бы было fbgrag поиграться. Я им терминалы "фотал", с gdm, думается, тоже справился бы. Но не ручаюсь
ОтветитьУдалить*fbgrab
ОтветитьУдалитьЗачем всё это из-под рута?
ОтветитьУдалить>и, возможно, xnest
Зачем?
>от второго варианта файл с заданным именем (screen.png).
import -window root "$(date -SomeFancyArgsToFormatDate)".png
А вот не работает не из-под рута.
ОтветитьУдалитьА насчёт второго смотрим последнее предложение. "Последние два варианта я не пробовала." Как нашла, так и переписала. Вопросы "зачем" и прочее не ко мне.
Этот комментарий был удален автором.
ОтветитьУдалитьЧто-то болог заглох
ОтветитьУдалить