как программы скриншотов / скриншотов работают в системах POSIX с X?

  1. Как сделать скриншоты , такие как gnome-screenshot или xfce4-screenshooter, получить их данные?
  2. Как они могут получить доступ к потоку матрицы 2d пикселей монитора / экрана?
  3. Возможно ли передавать только данные конкретного монитора на настройку с несколькими мониторами? Я хочу передать данные в программу, которую я пытаюсь написать, которая будет программой / сценарием FOSS для настройки мультикомпьютера / монитора.

  • Как настроить 3 монитора с одной единственной картой с помощью драйвера Nouveau
  • Предотвращение доступа к TTY, когда X убит
  • numlockLed включен, но numpads не работают
  • Как изменить разрешение одного экрана, чтобы использовать только его часть?
  • Звук щелчка мыши на Fedora
  • Являются ли раскладки клавиатуры на X.org на самом деле называемыми макетами X.org или что?
  • вручную перенаправлять X-выход через ssh
  • эмулировать сочетание клавиш с xdotool
  • One Solution collect form web for “как программы скриншотов / скриншотов работают в системах POSIX с X?”

    Для вопросов 1 и 2 я буду считать, что они обращаются к корневому окну с помощью RootWindow (3) , а затем используют XGetImage (3), чтобы скопировать данные пикселя корневого окна где-нибудь, чтобы обработать его дальше (например, сбрасывая его на PNG).

    Эти страницы руководства могут помочь: XOpenDisplay (3) , DefaultScreen (3) , RootWindow (3) , XGetImage (3)

    См. Также этот вопрос в StackOverflow.

    Что касается вопроса 3, если используется Xinerama, будет присутствовать более одного экрана, и приложение может получить информацию о местоположении и размере каждого экрана, что снова будет полезно для выбора области для копирования с помощью XGetImage(...) .

    Конечно, все это предполагает, что вы используете Xlib. Я слышал, что есть лучшая альтернатива, называемая XCB , но лично я ее никогда не использовал.

    Interesting Posts

    Список SSSD разрешил пользователям

    Как увеличить количество inodes при разбиении на разделы во время установки Debian?

    Терминальные escape-последовательности: почему терминалы не сообщают, какие функции они поддерживают, вместо того, чтобы полагаться на terminfo?

    Почему мой накопитель большого пальца переходит в режим только для чтения?

    Почему ln -s создает относительные сломанные ссылки?

    Как создать отпечатанную подпись GPG с отпечатками (в конечном итоге в базе 16)?

    grub-mkconfig генерирует повторяющиеся записи для настройки двойной загрузки Ubuntu / Gentoo

    Как копать от корня до дна?

    Как игнорировать "Теги:" Заголовок в mutt (neomutt)

    Доступно только две памяти объемом 2 ГБ на 64-битном ядре Linux

    В чем преимущество резервного копирования файловой системы с помощью программного обеспечения для управления версиями?

    Как передать аргументы в скрипты?

    USB-накопители автоматически не монтируются при установке новой версии Debian 6.0

    rsync определенные файлы, исключая остальные, игнорируя каталог .svn /, рекурсивно

    Есть ли разница между двойным цитированием переменной или целой строкой в ​​эхо

    Linux и Unix - лучшая ОС в мире.