Даже подсветка синтаксиса здесь показывает проблему:
ssh -T "$ipadd30' <./$script
ssh -T "$ipadd31" <./$script
Одинарная кавычка внутри двойных кавычек — это просто символ, а не конец кавычки.
[скорее комментарий, чем ответ, но слишком длинный для комментария]
Программа, которая будет это делать, должна будет подключаться к вызовам X11 на уровне сервера (с помощью механизма, подобного XACE
, ~, точно так же, как ebpf или sysdig делают с вызовами в ядре ). Я не знаю ничего готового -для этого, но, с другой стороны, я не проводил слишком много исследований по этому вопросу;-)
Если вы хотите просто отслеживать запросы, выполняемые клиентом X11, вы можете использовать расширениеRECORD
(, какxtruss
), или заставить клиента использовать прокси-сервер X11, например xscope
, и посмотреть для любых запросов CopyArea
, GetImage
и т. д., использующих корневое окно в качестве источника (или любое окно/пиксельную карту, НЕ принадлежащую этому клиенту ).
В общем, зацикливаться на том, чтобы приложение X11 могло делать «скриншоты», довольно бессмысленно, поскольку любая программа, имеющая доступ к серверу X11, может делать гораздо больше, и если ей не доверяют, ее НЕ следует оставлять рядом с ней. Кроме того, локальные процессы, работающие под одним и тем же пользователем, также могут ptrace(2)
друг друга и напрямую читать память друг друга.
Да, я бы лучше сосредоточился на других вещах, чем на том, делает ли приложение X11 скриншоты, но я подумал, что на данный момент я не буду беспокоить этот зуд.
Кажется, в сети нет материала о том, как писать эти хуки x11, но я посмотрю на xtruss.
В данный момент я использую xtruss. Используя идентификатор X, который я получил из корневого дерева xwininfo --, я настраиваю xtruss для мониторинга этого ресурса. Однако, когда я делаю вывод файла xwd -i -, xtruss ничего не сообщает. Методология тестирования неверна?