Чи є спосіб спілкування з кимось за робочим столом?


36

Моя дружина сидить на своєму домашньому робочому столі alpha, де працює остання версія Ubuntu. Я в автобусі, використовую ConnectBot на своєму телефоні G1 і можу ввійти alphaз місця, де б я не був.

Зі складних причин я не можу використовувати чат, електронну пошту чи телефон, щоб зв’язатися з нею. (Наприклад, я не хочу розбудити дитину, мій клієнт чату зламаний, сервер електронної пошти не працює.) Моя єдина можливість - схилитись alphaвіддалено і спробувати якось зробити щось на екрані. Вона використовує KDE; як я можу змусити щось спливати, щоб привернути її увагу і дати їй знати, що я намагаюся спілкуватися з нею? Я думав, що можна віддалено запустити щось (наприклад, xmessage) на її екрані, хоча мій сеанс SSH не має X-дисплея.

EDIT: Для уточнення, у моєму телефоні немає жодного аромату X, тому X-over-ssh неможливий. Чи працювали б наступні?

$ export DISPLAY=:0
$ xmessage "test"

Надіслати текстове повідомлення на телефон у беззвучному режимі ... чи це тільки я?
Нивас

Відповіді:


27

Ви можете сказати програмі X, який відображатиметься для використання із DISPLAYзмінною оточення, якщо ви знаєте, який дисплей відображається alphaв даний час. Майже напевно єдиний дисплей - це :0, якщо ви не вручали його вручну, тож якщо ви запускаєте:

$ export DISPLAY=:0

Тоді будь-які запущені програми X будуть відображатися на alphaмоніторі. xmessageє хорошим вибором для показу повідомлень; є також xdialog. Якщо ви libnotifyвстановили, ви можете notify-sendскопіювати повідомлення в куті екрана:

Приклад


Є чи xauthабо xhostпотрібно тут?
Мікель

@Mikel Я не впевнений, як працює безпека, коли інший користувач працює з X; Я думаю, це добре. Я тільки коли-небудь використовував xhostдля дозволу віддалених з'єднань, але він SSHing безпосередньо до машини
Майкл Мрозек

Добре, якщо ви можете увійти в той же обліковий запис, на який він увійшов. Інакше вам доведеться мати справу з контролем доступу X.
користувач7440

10

Як ілюструє Майкл Мрозек , ви можете запускати програми X, які відображаються на робочому столі вашої дружини. Все, що вам потрібно зробити - це встановити DISPLAYзмінну оточення на потрібне значення (майже завжди :0)… і отримати авторизацію.

Для цього рішення потрібно мати дозвіл на читання файлів дружини. Доступ до X-сервера вимагає "cookie" для автентифікації , який є паролем, який генерується випадковим чином при запуску X і зберігається у файлі. Файл часто ~/.Xauthority; якщо це не так, він повинен бути вказаний у XAUTHORITYзмінній оточення. У Ubuntu з налаштуваннями за замовчуванням (використовуючи Gdm) файл cookie сесії вашої дружини знаходиться не у ~wife/.Xauthorityфайлі, а автоматично створеному імені; див. змінну ssh DISPLAY . Дивіться також Як root можна запустити графічну програму на робочому столі інших користувачів? , Linux: wmctrl не може відкрити дисплей, коли сеанс розпочато через ssh + екран .

Якщо у вашої дружини відкритий текстовий термінал, ви можете використовувати те write , що запропонував user7440, щоб написати текст у свій термінал. Це вимагає, щоб термінал приймав такі сповіщення; ви можете вмикати та вимикати це за допомогою mesg yабо mesg n, і я не знаю, який стан за замовчуванням є на сучасних емуляторах терміналів.

Більш складний механізм, який writeє talk. Протокол розмов є родоначальником чатових програм; Ви можете спілкуватися з ким-небудь на машині, на якій працює сервер розмови, і UDP-порт 517 або 518 (є два варіанти протоколу) не фільтрується. Отже, встановіть talkd Встановіть talkd http://bit.ly/software-small , такий клієнт, як ytalk Встановити ytalk http://bit.ly/software-small та ytalk wife. Також є клієнт X, xtalk Встановити xtalk http://bit.ly/software-small . Наскільки я знаю, розмова просто відпала від радарів (усі, хто дбає, використовують один із сучасних протоколів чату), і немає системного компонента, який би генерував повідомлення KDE про запит розмови.

Поки ви говорите, що не можете запустити жодного клієнта чату ... чи не буде нормально клієнт чату в командному рядку, який працює на вашій домашній машині через SSH? Є такі, наприклад weechat Установити weechat http://bit.ly/software-small . Ви все одно залежатимете від того, який сервер з'єднає вас зі своєю дружиною, але до нього можна отримати доступ лише з вашої домашньої машини, а не з телефону.


finch- версія командного рядка pidgin.
LawrenceC

4

Якщо у неї відкрито вікно терміналу (використовуйте "хто", щоб дізнатися), ви можете написати до цього терміналу за допомогою "написати". Це не працюватиме з головним терміналом, оскільки KDE його приховує, але будь-яке вікно терміналу має працювати (якщо воно знаходиться на поточному робочому столі, не зводиться до мінімуму, вона дивиться на це ...).


3

Я не на 100% впевнений, що налаштування DISPLAY=:0.0працюватиме. Я думаю, вам потрібен спосіб отримати дозвіл на підключення до X-сервера на ПК дружини. Інструменти для цього є xhostі є xauth, але, здається, вимагають, щоб ви вже мали доступ до X-сервера, тому, імовірно, лише ваша дружина могла запускати їх. (Проблема з куркою та яйцями.)

Якщо цього не сталося, можливо, ви зможете запустити другий сервер X, наприклад, використовуючи X :1або, можливо, chvtможете допомогти.

Наприклад, щось подібне

# X :1
# export DISPLAY=:1.0
# xmessage 'hello'

здається, працює у моїй системі, якщо я запускаю її як root.

X :1 був запущений на vt7 в моїй системі, так що ви також можете запустити

# chvt 7

щоб бути впевненим, що цей X-дисплей є тим, який зараз видно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.