Как правило, сеансы X11 обычно запускаются в «закрытом» режиме, поэтому вам требуется одна из двух вещей: либо взаимодействие с, user2
чтобы позволить вам получить доступ к их экранам, либо привилегии суперпользователя, чтобы «взломать» их экраны.
ОПАСНОСТЬ: Имейте в виду, что, получив доступ к их экрану, вы также можете выполнять такие действия, как захват клавиш (возможно, включая пароли) и создание снимков экрана, так что это большой риск для безопасности.
В большинстве случаев для этих целей предпочтительнее использовать инструмент обмена сообщениями или программу чата.
Предостережения в сторону:
взаимодействующий
Если вы user2
хотите разрешить user1
доступ к своему экрану, то сначала user2
необходимо выполнить команду вроде:
xhost +si:localuser:user1
Это может быть потенциально добавлено в какой-либо скрипт запуска; Я не знаю Fluxbox, но я предполагаю, что у него есть rc
хук или начало сеанса.
Как только это будет рассмотрено, user1
можете записать на user2
дисплей, если они могут его найти.
Если user2
известно об этом, они всегда могут отправить его user1
другим способом.
Поиск дисплея другого пользователя
На типичной рабочей станции необычно, когда в систему входят более одного или двух пользователей; в этом случае «угадывание» того, что вам нужен дисплей 0, 1 или, может быть, 2, может быть приемлемым решением.
Однако, для более полного решения, давайте предположим, что у вас есть компьютер, на котором может быть зарегистрировано очень много пользователей, и попытайтесь найти тот, который вам нужен.
for proc in /proc/[0-9]*/
do
if [ Xorg = $(< $proc/comm ) ] 2>/dev/null && \
[ $(id -u user2) -eq $(< $proc/loginuid) ] 2>/dev/null
then
for subproc in $(
do
echo "user2 display=" $(perl -ne 'if (m,DISPLAY=(.*)\0,) { print $1 }' < $subproc/environ)
done
fi
done
затем, user1
наконец , может (используя значение DISPLAY, полученное выше; я только что написал :14.0
здесь ...)
DISPLAY=:14.0 xmessage "Hello, user2"
Отправка уведомления вместо
В интересах полноты, на рабочем столе Gnome, по крайней мере, работает следующее. Я не знаю, есть ли у Fluxbox виджет уведомлений.
DISPLAY=:14.0 notify-send "Hello, user2"
У него гораздо больше удобных для отображения опций, и, вероятно, он появится на экране пользователя более дружелюбно.
user1
в моем примере) вошел в X11 и не открылxterm
или другой терминал -wall
тоже будет работать? Я думаю, чтоuser1
не будет видеть сообщения.