Вопрос или проблема
Я использую Linux Mint 20.3 MATE с двумя физическими дисплеями 1920×1080, один в альбомной ориентации, другой в портретной.
Соответственно, X11 настроил ‘экран’ 3000×1920, к которому подключены оба дисплея, вот так. Я могу бесшовно перемещать мышь и ненаполненные окна с одного дисплея на другой. Я также могу перемещать и увеличивать окна так, чтобы они перекрывались с ненаполненными частями экрана.
Scrot и maim ведут себя по-разному. Scrot захватывает весь экран, включая ненаполненные области, которые X11 на самом деле отобразил правильно. Я нахожу эту функцию scrot полезной, поскольку могу перетаскивать и увеличивать ненаполненное окно почти на весь экран 3000×1920 и захватывать его полностью с помощью scrot.
Maim ‘умный’ и захватывает только области, которые соответствуют физическим дисплеям, записывая ненаполненные части как прозрачный черный цвет.
К сожалению, опция выбора -s в scrot не работает корректно со многими веб-страницами, в то время как использование slop в maim кажется стабильным.
Можно ли убедить maim записывать ненаполненные части экрана, которые X11 уже отобразил правильно? Опция -g, которая определяет координаты пикселей, которые я хочу захватить, в формате wxh+x_offset+y_offset, выполняется без ошибок, но все равно игнорирует ненаполненную часть. Я не уверен, что понимаю синтаксис других опций захвата из его справочной страницы.
Я обеспокоен тем, что scrot может быть ‘улучшен’ в будущем, чтобы скопировать поведение maim.
Ответ или решение
Вопрос о том, как сделать скриншот всего экрана на Linux Mint 20.3 MATE с помощью инструментов «scrot» и «maim», вызывается особой интересностью из-за различий в поведении этих программ. Учитывая вашу конкретную настройку с двумя дисплеями (один в альбомной ориентации и другой в портретной), важно понимать, как правильно использовать эти инструменты для получения желаемого результата.
Различия между scrot и maim
1. Scrot:
- Преимущества: Scrot позволяет захватывать всю область отображения, даже если она не отображается на физическом экране. Это особенно полезно в вашей настройке, поскольку вы можете захватить область, где окна могут перекрывать "неотображаемые" части экрана размером 3000×1920.
- Недостатки: Флаг
-s
, позволяющий выбирать область захвата, может не работать должным образом на определённых веб-страницах. Это может вызывать проблемы, когда необходимо захватить определенную часть экрана.
2. Maim:
- Преимущества: Maim в основном предназначен для захвата только тех областей, которые физически отображаются на экране, игнорируя "неотображаемые" области, которые X11 уже отрисовал, так что они будут записываться как черный прозрачный фон. Это делает maim более "умным" инструментом для определенных задач, таких как использование в полных приложениях.
- Недостатки: Если вы хотите захватить всю область, включая "неотображаемые" регионы, вам может потребоваться манипулировать настройками.
Решение проблемы с maim
Поскольку maim по умолчанию игнорирует "неотображаемые" области при захвате, вы можете попробовать использовать флаг -g
с координатами, которые соответствуют вашей всей области захвата. Стандартный синтаксис флага -g
выглядит так: wxh+x_offset+y_offset
, где w
и h
— это ширина и высота, а x_offset
и y_offset
— координаты начала захвата. Например, чтобы нажать на всю область, вы можете использовать следующие команды:
maim -g 3000x1920+0+0 screenshot.png
Однако при этом майм все равно будет захватывать только те области, которые соответствуют вашим физическим мониторам, оставляя неотображенные области черными.
Альтернативный подход для захвата
Если вам действительно необходимо захватить всю область, включая неотображенные части, вы можете комбинировать использование scrot и maim. Например:
-
Используйте
scrot
для захвата всего экрана:scrot full_screenshot.png
-
Затем, если вам необходимо взять конкретную область или улучшить качество, вы можете использовать
maim
в качестве альтернативы для захвата отдельных окон сslop
:maim -s selected_area.png
Заключение
В условиях ваших требований, использование обоих инструментов — это оптимальный способ для достижения наилучших результатов. Несмотря на то что изменения могут произойти в scrot и maim в будущем, использование текущих возможностей каждого инструмента позволит вам более эффективно справляться с задачами по захвату экрана. Если у вас возникли дополнительные вопросы, не стесняйтесь обращаться за поддержкой.