Постановка проблемы
Я использую scrot
для создания снимков экрана, что прекрасно работает, за исключением случаев, когда у меня несколько мониторов или дисплеев.В этом случае scrot
объединяет снимки экрана различных мониторов в один выход.
На странице руководства scrot
поддерживает параметр -m
:
-m, --multidisp
For multiple heads, grab shot from each and join them together.
Итак, я представилповедение по умолчанию будет НЕ соединить их вместе.Однако, это не так.Даже без опции -m
я получаю объединенные снимки экрана.
Я надеюсь, что scrot
сможет это сделать, поскольку он поддерживает параметр -u
:
-u, --focused
Use the currently focused window.
, которыйработает отлично.
Я также проверил другой инструмент CLI под названием maim
- но опять же я не мог понять, как сделать снимок экрана различных мониторов отдельно.
Так что решение яисключение должно работать примерно так:
screenshot_command <display_name> # and other options
для скриншота только дисплея <display_name>
.
Мои попытки решения пока
maim
поддерживает параметр поиска курьезов -x
:
-x, --xdisplay=hostname:number.screen_number
Sets the xdisplay to use.
Поэтому я попытался maim -x 0.0 | xclip -selection clipboard -t image/png
, но это не сработало.Я не знаю, как эта опция предназначена для использования, так как не хватает документации.
И scrot
, и maim
также поддерживает параметр -s
:
-s, --select
Interactively select a window or rectangle with the mouse.
Итак, я представляю себе очень уродливое / хакое решение, используя xdotool
(или аналогичное) для выбора нужного дисплея и используя с опциями от -s
до maim
или scrot
, возможно,работа.Но я бы предпочел не идти по этому пути, если нет другого прямого решения.
Дикие предположения
Интересно, может ли эта проблема быть из-за меня?добавление новых мониторов?Я обычно добавляю свой второй дисплей командой примерно так:
xrandr --output eDP-1 --auto --output HDMI-1-4 --auto --right-of eDP-1
Так что мне интересно, может быть, scrot
или maim
есть только один дисплей.И я так себе представляю, потому что вывод xdpyinfo | grep -A4 '^screen'
с ONE монитором выглядит так:
$ xdpyinfo | grep -A4 '^screen'
screen #0:
dimensions: 1920x1080 pixels (506x285 millimeters)
resolution: 96x96 dots per inch
depths (7): 24, 1, 4, 8, 15, 16, 32
root window id: 0x1ba
и с двумя мониторами выглядит так:
$ xdpyinfo | grep -A4 '^screen'
screen #0:
dimensions: 3280x1080 pixels (865x285 millimeters)
resolution: 96x96 dots per inch
depths (7): 24, 1, 4, 8, 15, 16, 32
root window id: 0x1ba
Если это действительно является причиной моих проблем, то как мне добавить свой второй монитор?