vanoc.ru

Заметки

Запуск X приложений на удаленном компе через ssh

17 комментариев

Дабы иметь возможность запускать приложения/сообщения на удаленном компе достаточно подключившись к нему выполнить
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 "Включи скайп, ночной красный гоблин"

Вообще способов привлечь внимание много. Интересно узнать какие знаете Вы?

5 января 2010 ~ 17:47


Рубрики runix,ubuntu

Метки

17 комментариев в 'Запуск X приложений на удаленном компе через ssh'

  1. Во втором пункте неплохо было бы дописать что-то вроде sudo aptitude install tcl — wish, всё-таки, именно из этого пакета.

    А по теме добавить нечего — у меня задачи удалённо привлечь чьё-то внимание вообще никогда не возникало, ну а сходу ничего кроме уже приведённых методов в голову не лезет.

    Minoru

    5 января 2010 ~ 18:28

  2. Minoru, хм.. действительно. Спасибо, сейчас подправлю.

    vanoc

    5 января 2010 ~ 18:30

  3. всё делается куда проще:

    ssh -X name@host
    password:

    #xtrem

    и наблюдаем удалённое приложение, которое через ssh-тоннель рисует на локальный X-сервер.
    На удалённом сервере в конфиге /etc/ssh/sshd_config должно быть указано:
    X11Forwarding yes
    X11DisplayOffset 10

    ну и на удалённой машине должен быть установлен xlib

    sakal

    5 января 2010 ~ 18:31

  4. sakal, Вы не поняли идеи поста. X-форвардинг, о котором Вы пишете — это когда приложение работает на удалённой машине, а окна его рисуются у Вас на мониторе. Этот пост о явлении прямо противоположном — задача состоит в том, чтобы отобразить сообщение на мониторе удалённого компа (предварительно залогинившись, скажем, по ssh).

    Minoru

    5 января 2010 ~ 19:04

  5. был не прав

    sakal

    5 января 2010 ~ 19:05

  6. sakal, вы были правы. Запуск X-приложений на удалённом компе именно так и делается. А то, что делает автор, называется «как заставить X-приложения выводить окна на дисплей удалённого компа».

    OldMan

    5 января 2010 ~ 20:11

  7. Спасибо — за пост + вам sakal СПАСИБО — благодаря вашему посту МГНОВЕННО РАЗОБРАЛСЯ :)

    sergei

    5 января 2010 ~ 20:52

  8. Сделал export DISPLAY=:0.0
    Все работает, спасибо.
    А вот как обратно теперь вернуть, то есть чтобы графич. приложения запускались именно на том компе с которого захожу на удаленный.

    zRPG

    21 февраля 2010 ~ 12:43

  9. zRPG, выполнить exit и заново сконектиться.

    vanoc

    21 февраля 2010 ~ 12:56

  10. Хм. проще некуда. Спасибо. Помогло :)

    zRPG

    26 февраля 2010 ~ 19:24

  11. При попытке отправить сообщение выдаёт ошибку:
    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

  12. Пардон, сам виноват, не от того пользователя отправлял сообщения.

    Energy

    29 марта 2010 ~ 10:16

  13. Господа, такой вопрос. Хочется запустить приложения на удаленной windows машине, а чтобы отрисовывалось на linux. С linux — linux проблем не возникло.

    xnike

    22 апреля 2010 ~ 21:33

  14. Можно запускать окошки zenity или kdialog, выполнив перед этим экспорт дисплея. Таким образом можно даже чатик сделать)

    zenity --enrty --text="Включи скайп"

    на удаленном компе выскочит окошко с полем для ввода текста, введенный текст отобразится(если была нажата кнопка Ок, а не Отмена) в той консоли откуда запускали окошко

    imitsuran

    20 января 2011 ~ 13:03

  15. Да, такой вариант работает, только у вас опечатка в слове entry, ваш пример будет выглядеть так:
    zenity --entry --text="Включи скайп"

    Energy

    20 января 2011 ~ 13:55

  16. @imitsuran, здорово :) Спасибо. Особенно понравилось, что диалог можно вести.

    vanoc

    20 января 2011 ~ 14:06

  17. За очепятку извиняюсь, спешил наверно)
    vanoc, на здоровье, пользуйтесь) я вот так, например, на работе сотрудников пугаю). Столько паники сразу начинается, когда у девушки-блондинки выскакивает окошко «Ошибка: мозг не найден» =)

    imitsuran

    23 января 2011 ~ 11:26

Комментарий

На блоге включена премодерация комментариев. Если это ваш первый комментарий - он не сразу отобразится.
Не расстраивайтесь.