Запуск X приложений на удаленном компе через ssh
Дабы иметь возможность запускать приложения/сообщения на удаленном компе достаточно подключившись к нему выполнить
export DISPLAY=:0.0
либо дописывать к командам
-display :0.0
1. Чтобы на удаленном компе появилось сообщение, можно воспользоваться утилитой xmessage, правда у нее проблемы с кирилицей
xmessage -center 'Vkljuchi skype'
2. Так же можно воспользоваться wish
echo 'button .b -text "Включи скайп" ; pack .b ' | wish
По дефолту в ubuntu установлен tcl8.4. В принципе для того, чтобы привлечь внимание его хватает. Если вас не устраивают шрифты можно установить tcl8.5.
sudo aptitude install tcl8.5 tk8.5
sudo update-alternatives --config wish
Есть 2 альтернатив, которые предоставляют `wish'.
Выбор Альтернатива
-----------------------------------------------
*+ 1 /usr/bin/wish8.4
2 /usr/bin/wish8.5
Нажмите enter, чтобы сохранить значение по умолчанию[*], или введите выбранное число: 2
Используется `/usr/bin/wish8.5' для предоставления `wish'.
3. Создать текстовик и запустить
echo 'Включи скайп' > file; gedit file
4. Использовать libnotify
sudo aptitude install libnotify-bin
notify-send "Включи скайп, ночной красный гоблин"
Вообще способов привлечь внимание много. Интересно узнать какие знаете Вы?
Во втором пункте неплохо было бы дописать что-то вроде sudo aptitude install tcl — wish, всё-таки, именно из этого пакета.
А по теме добавить нечего — у меня задачи удалённо привлечь чьё-то внимание вообще никогда не возникало, ну а сходу ничего кроме уже приведённых методов в голову не лезет.
Minoru
5 января 2010 ~ 18:28
Minoru, хм.. действительно. Спасибо, сейчас подправлю.
vanoc
5 января 2010 ~ 18:30
всё делается куда проще:
ssh -X name@host
password:
#xtrem
и наблюдаем удалённое приложение, которое через ssh-тоннель рисует на локальный X-сервер.
На удалённом сервере в конфиге /etc/ssh/sshd_config должно быть указано:
X11Forwarding yes
X11DisplayOffset 10
ну и на удалённой машине должен быть установлен xlib
sakal
5 января 2010 ~ 18:31
sakal, Вы не поняли идеи поста. X-форвардинг, о котором Вы пишете — это когда приложение работает на удалённой машине, а окна его рисуются у Вас на мониторе. Этот пост о явлении прямо противоположном — задача состоит в том, чтобы отобразить сообщение на мониторе удалённого компа (предварительно залогинившись, скажем, по ssh).
Minoru
5 января 2010 ~ 19:04
был не прав
sakal
5 января 2010 ~ 19:05
sakal, вы были правы. Запуск X-приложений на удалённом компе именно так и делается. А то, что делает автор, называется “как заставить X-приложения выводить окна на дисплей удалённого компа”.
OldMan
5 января 2010 ~ 20:11
Спасибо – за пост + вам sakal СПАСИБО – благодаря вашему посту МГНОВЕННО РАЗОБРАЛСЯ :)
sergei
5 января 2010 ~ 20:52
Сделал export DISPLAY=:0.0
Все работает, спасибо.
А вот как обратно теперь вернуть, то есть чтобы графич. приложения запускались именно на том компе с которого захожу на удаленный.
zRPG
21 февраля 2010 ~ 12:43
zRPG, выполнить exit и заново сконектиться.
vanoc
21 февраля 2010 ~ 12:56
Хм. проще некуда. Спасибо. Помогло :)
zRPG
26 февраля 2010 ~ 19:24
При попытке отправить сообщение выдаёт ошибку:
notify-send “Привет! Включи аську.”
libnotify-Message: Unable to get session bus: /bin/dbus-launch terminated abnormally with the following error: No protocol specified
Autolaunch error: X11 initialization failed.
Система Ubuntu 9.10, пакет libnotify-bin установлен.
Что я делаю не так?
Energy
29 марта 2010 ~ 09:57
Пардон, сам виноват, не от того пользователя отправлял сообщения.
Energy
29 марта 2010 ~ 10:16
Господа, такой вопрос. Хочется запустить приложения на удаленной windows машине, а чтобы отрисовывалось на linux. С linux – linux проблем не возникло.
xnike
22 апреля 2010 ~ 21:33
Можно запускать окошки zenity или kdialog, выполнив перед этим экспорт дисплея. Таким образом можно даже чатик сделать)
zenity --enrty --text="Включи скайп"на удаленном компе выскочит окошко с полем для ввода текста, введенный текст отобразится(если была нажата кнопка Ок, а не Отмена) в той консоли откуда запускали окошко
imitsuran
20 января 2011 ~ 13:03
Да, такой вариант работает, только у вас опечатка в слове entry, ваш пример будет выглядеть так:
zenity --entry --text="Включи скайп"Energy
20 января 2011 ~ 13:55
@imitsuran, здорово :) Спасибо. Особенно понравилось, что диалог можно вести.
vanoc
20 января 2011 ~ 14:06
За очепятку извиняюсь, спешил наверно)
vanoc, на здоровье, пользуйтесь) я вот так, например, на работе сотрудников пугаю). Столько паники сразу начинается, когда у девушки-блондинки выскакивает окошко “Ошибка: мозг не найден” =)
imitsuran
23 января 2011 ~ 11:26