Моя жена сидит за домашним рабочим столом alpha
, на котором установлена последняя версия Ubuntu. Я нахожусь в автобусе, использую ConnectBot на своем телефоне G1 и могу подключиться к SSH, alpha
где бы я ни был.
По сложным причинам я не могу использовать IM, электронную почту или телефон для связи с ней. (Например, я не хочу будить ребенка, мой IM-клиент сломан, мой почтовый сервер не работает.) Мой единственный вариант - alpha
удаленно подключиться к ssh и попытаться каким-то образом заставить что-то появиться на экране. Она использует KDE; как я могу заставить что-то всплывать, чтобы привлечь ее внимание и дать ей понять, что я пытаюсь с ней общаться? Я думал, что возможно удаленно вызвать что-то (например, xmessage), чтобы появиться на ее экране, даже если мой сеанс SSH не имеет X-дисплея.
РЕДАКТИРОВАТЬ: Чтобы уточнить, мой телефон не работает какой-либо вкус X, поэтому X-Over-SSH не представляется возможным. Будет ли следующая работа?
$ export DISPLAY=:0
$ xmessage "test"
Ответы:
Вы можете указать программе X, какой дисплей использовать с
DISPLAY
переменной окружения, при условии, что вы знаете, какой дисплей отображаетсяalpha
в данный момент. Почти наверняка единственным отображением является:0
, если вы не играли с ним вручную, поэтому если вы запустите:Тогда любые запущенные вами X-приложения будут отображаться на
alpha
мониторе.xmessage
хороший выбор для отображения сообщений; есть такжеxdialog
. Если выlibnotify
установили, вы можете использоватьnotify-send
для всплывающего сообщения в углу экрана:источник
xauth
илиxhost
нужно?xhost
для разрешения удаленных подключений, но он SSHing напрямую к машинеКак показывает Майкл Мрозек , вы можете запускать X-приложения, которые отображаются на рабочем столе вашей жены. Все, что вам нужно сделать, это установить
DISPLAY
переменную окружения на правильное значение (почти всегда:0
) ... и получить авторизацию.Это решение требует, чтобы у вас было разрешение на чтение файлов вашей жены. Для доступа к X-серверу требуется «cookie» аутентификации , который представляет собой пароль, который генерируется случайным образом при запуске X и сохраняется в файле. Файл часто
~/.Xauthority
; если это не так, это должно быть указано вXAUTHORITY
переменной окружения. В Ubuntu с настройками по умолчанию (с использованием Gdm) сессионный куки-файл вашей жены находится не~wife/.Xauthority
в файле с автоматически сгенерированным именем, а в его файле; см. переменную ssh DISPLAY . Смотрите также Как пользователь root может запустить графическую программу на рабочем столе другого пользователя? , Linux: wmctrl не может открыть дисплей, когда сеанс инициируется через ssh + screen .Если у вашей жены открыт текстовый терминал, вы можете использовать его
write
в соответствии с предложением user7440, чтобы написать текст в свой терминал. Это требует, чтобы терминал принимал такие уведомления; Вы можете включить и выключить это с помощьюmesg y
илиmesg n
, и я не знаю, какое состояние по умолчанию на современных эмуляторах терминала.Более сложный механизм, который
write
естьtalk
. Протокол разговора является родоначальником программ чата; Вы можете общаться с кем-либо на машине, на которой запущен сервер разговоров и чей UDP-порт 517 или 518 (есть два варианта протокола) не фильтруется. Так что установите talkd Установите talkd http://bit.ly/software-small , такой клиент, как ytalk Install ytalk http://bit.ly/software-small , иytalk wife
. Также есть X-клиент, xtalk Install xtalk http://bit.ly/software-small . Насколько я знаю, разговор просто пропал с радара (все, кому небезразлично, пользуются одним из современных чат-протоколов), и нет системного компонента, который генерировал бы уведомление KDE о запросе на разговор.Хотя вы говорите, что не можете запустить любой IM-клиент ... будет ли IM-клиент командной строки, работающий на вашей домашней машине, доступ к которому осуществляется через SSH, будет в порядке? Есть такие, например, уикенч Установить уинчат http://bit.ly/software-small . Вы по-прежнему зависите от какого-либо сервера, связывающего вас с вашей женой, но доступ к нему возможен только с вашего домашнего компьютера, а не с телефона.
источник
finch
версия командной строки для pidginЕсли у нее открыто окно терминала (используйте «кто», чтобы узнать), вы можете написать в этот терминал, используя «запись». Это не будет работать с основным терминалом, поскольку KDE скрывает его, но любое окно терминала должно работать (если оно находится на текущем рабочем столе, а не свернуто, оно смотрит на это ...).
источник
Я не уверен на 100%, что настройка
DISPLAY=:0.0
будет работать. Я думаю, что вам нужен способ авторизации для подключения к X-серверу на компьютере вашей жены. Инструменты для этого естьxhost
иxauth
, но, кажется, они требуют, чтобы у вас уже был доступ к X-серверу, поэтому, предположительно, только ваша жена могла их запускать. (Курица и яйцо проблема.)В противном случае вы можете запустить второй X-сервер, например, используя
X :1
, или, может быть,chvt
можете помочь.Например, что-то вроде
Кажется, работает в моей системе, если я запускаю его как root.
X :1
был запущен на vt7 в моей системе, так что вы также можете запуститьчтобы быть уверенным, что этот дисплей X является видимым в данный момент.
источник