четверг, 20 марта 2008 г.

Удаленное подключение к рабочему столу Linux из Windows с помощью Xming и SSH

Иногда приходится пользоваться тем, что дали. Мой компьютер, на котором стоит Debian Linux, был занят моей женой (не учите своих жен пользоваться линуксом). Зато был свободен компьютер сестры с установленным на нем Windows. И вот появилось желание подключиться к своему компьютеры с рабочей станции под управлением враждебной OS. Первым, что пришло в голову - это удаленный рабочий стол. Однако, нашлось более элегантное решение. И, несмотря на заголовок статьи, речь пойдет о немного другой технологии. Взгляните на этот снимок:



Вы видите приложения Linux прямо на рабочем столе Windows! Как же они туда попали?

Немного о теории. В отличие от Windows, в Linux графическая оболочка не является частью ядра системы. Стандартная оконная система для Linux - это X Window System, или, попросту говоря, иксы. Она берет на себя отрисовку графических элементов и взаимодействие с устройствами ввода-вывода. А самое вкусное заключается в том, что эта система имеет прозрачную клиент-серверную архитектуру. Оконная система выполняет роль сервера, а графические приложения - роль клиентов. Как и положено клиентам, они подключаются к серверу и взаимодействуют с ним для отрисовки и для получения событий мыши и клавиатуры.

Но это еще не все! Дело в том, что оконная система может находиться на другом компьютере, а графическое приложение связываться с ней через сеть. Так вы можете запустить приложение на удаленном компьютере, заставив его рисоваться на том компьютере, за которым сейчас работаете. Или наоборот. Или запустить программу на одном удаленном компьютере с отрисовкой интерфейса на другом удаленном компьютере. Заманчивая возможность, неправда ли? :-)

Думаю, достаточно теории, давайте приступим к практике.

Для начала подготовим удаленный компьютер Debian Linux. Все, что нам здесь нужно - это SSH-сервер. Через него мы будем подключаться удаленно и запускать нужные нам программы. Выполняем всего одну команду в консоли:

$ sudo apt-get install openssh-server

Все, с этим компьютером мы закончили, и касаться его клавиатуры в ходе этой статьи больше не будем. Теперь можем переходить к подготовке компьютера Windows. Здесь нужно установить две программы:

1. SSH-клиент. Я установил PuTTY.
2. X Server для Windows. Я выбрал Xming.

Обе программы можно загрузить с сайта SourceForge (пакеты Xming и Xming-portable-PuTTY). Также по желанию можно загрузить стандартный набор шрифтов (пакет Xming-fonts). Все, что загрузили - устанавливаем (с полной установкой всех компонент Xming), и переходим к настройке. Теперь главное не запутаться, что к чему будем подключать :-)

Для начала установим соединение по SSH с удаленным компьютером. Для этого запускаем PuTTY. Вводим IP-адрес компьютера Linux.


Теперь переходим в раздел Connection / SSH / X11 и включаем перенаправление графического интерфейса. В качестве расположения X-сервера водим IP-адрес компьютера Windows, за которым сейчас сидим.


Кроме того, чтобы вместо русских букв не всплыли крокозябли, желательно в разделе Window / Translation установит правильную кодировку (у меня - UTF8 - стандартная кодировка на Debian и Ubuntu). Возвращаемся в раздел Session, сохраняем настройки и подключаемся к компьютеру Linux. В случае успешного подключения мы вводим логин и пароль и видим текстовую консоль. С ее помощью мы можем удаленно запустить консольные программы, но графические программы не могут рисоваться в консоли. Поэтому оставим на время наше подключение по SSH.

Теперь настроим Xming. Для этого запускаем программу XLaunch - это мастер настроек. На первом шаге указываем способ интеграции в графическое окружение Windows. Мне более всего по душе первый, когда каждое приложение Linux находится в своем окне.


На втором шаге нам предлагается автоматически запускать какое-нибудь приложение вместе с иксами. Я предпочел сделать это позже по мере необходимости посредством уже запущенного нами PuTTY.


На третьем шаге указываем параметры запуска Xming. Опция Clipboard позволяет интегрировать буфер обмена. Также для полноценной работы я ввел следующие параметры:
"-dpi 96" - чтобы поправить размер шрифтов. Значение можно подбирать по вкусу.
"-xkblayout us,ru" - для работы с двумя раскладками клавиатуры.
"-xkbvariant basic,winkeys" - уточнение раскладок.
"-xkboptions grp:caps_toggle" - переключение раскладки клавишей CAPS LOCK.


И, наконец, на следующем шаге сохраняем настройки кнопкой "Save configuration" и запускаем X-сервер кнопкой "Готово".


В системном лотке появится иконка Xming


В дальнейшем запустить сервер с теми же настройками можно просто путем открытия сохраненного файла. Изменить настройки можно через контекстное меню файла.


Итак, X-сервер запущен. Возвращаемся в нашу консоль, предоставленную соединением SSH. Здесь мы можем удаленно запустить консольное приложение, и в этой же консоли увидим вывод этого приложения. А что теперь будет, если мы попытаемся запустить в этой консоли графическое приложение? Обычно, если вы подключились по SSH и пытаетесь запустить оконное приложение, вы получите ошибку, потому что вы подключились к удаленному компьютеру в консольном режиме, и рисовать окна просто нечем. Однако, в этот раз мы включили перенаправление графики на наш компьютер Windows, на котором уже запущен свой X-сервер. Поэтому, если вы попытаетесь запустить оконное приложение в удаленном консольном терминале, его окно нарисуется на компьютере Windows. Попробуйте, например, набрать следующую команду:

$ kwrite &
или
$ gedit &

Амперсанд в конце команды указывает, что программу нужно запустить в фоновом режиме, чтобы во время ее работы консоль была доступна для других действий.

Ну, надеюсь, у вас все получилось, и на вашем рабочем столе Windows красуются оконные приложения Linux.

Кстати говоря, благодаря этой клиент-серверной архитектуре злоумышленник может отправить на ваш экран окно с просьбой ввести ваш пароль или еще с какой-нибудь гадостью. Чтобы такого не происходило, не подключайтесь к общественным сетям без фаирвола. И помните: большие возможности - это большая ответственность.

136 комментариев:

  1. Будет обрыв связи и все приложения вылетят

    ОтветитьУдалить
  2. Справедливое замечание. Не лишним будет заметить, что этот тип удаленного доступа не является самым удачным в случае медленного или нестабильного соединения. С другой стороны, если два компьютера находятся в офисной или домашней сети, то вероятность обрыва связи невероятно мала :-) В моем случае для подключения к компьютеру в соседней комнате это то что нужно.

    ОтветитьУдалить
  3. Ну а как сделать, чтобы не отваливались? screen-а в консоли будет достаточно? Видимо, нет...

    ОтветитьУдалить
  4. К слову сказать, что при нестабильной связи даже Citryx не гарантирует возврата в сессию. А про потерю работоспособности и вовсе нет смысла говорить не только при нестабильной но и при медленной связи.
    Не стоит переживать по поводу "выпадений" из-за плохой связи, т.к. ваши данные на сервере, а значит не критично. Нет и не будет надёжных решений для TCP для нестабильных каналов. Вариант - UDP с собсвенным механизмом контроля прохождения пакетов. Думаю к X серверу это можно прикрутить, программерам в Linux флаг в руки, в Windows - немного другое место :)

    ОтветитьУдалить
  5. В свойствах putty, где X11 forwarding, ip можно не писать... если putty и xming на одной машине - лучше оставить пустым... писать IP нужно если форвардишь икс на "соседнюю" машину...

    ОтветитьУдалить
  6. > Ну а как сделать, чтобы не отваливались? screen-а в консоли будет достаточно? Видимо, нет...

    Да, screen в этом случае поможет только тем, что даст возможность посмотреть на вывод ошибки, с которой вылетело окно :-) Если отваливается, вероятно, лучше воспользоваться другим видом удаленного доступа, который возможно восстановить. В этом направлении я еще не эксперементировал.

    ОтветитьУдалить
  7. А у вас буффер обмена работает, а то у меня нет, ругается в лог. :\

    ОтветитьУдалить
  8. Работает. А какое именно сообщение пишется в лог?

    ОтветитьУдалить
  9. >К слову сказать, что при
    >нестабильной связи даже
    >Citryx не гарантирует
    >возврата в сессию.

    VNC Вас спасет

    ОтветитьУдалить
  10. Прошу помоч мне разобраться: все делаю как расписано, запускаю gedit c ампрессандом и через некоторое время получаю в консоле сообщение:
    "The application 'gedit' lost its connection to the display localhost:10.0;
    most likely the X server was shut down or you killed/destroyed the application"
    Пару мгновений назад снес пару пакетов гнома, надеюсь это никеак не повлияло на это?

    ОтветитьУдалить
  11. Ой простите, вопрос решился путем очисти строки ip forvarding.
    Raa, низкий поклон тебе!

    ОтветитьУдалить
  12. > Ой простите, вопрос решился

    Спасибо за инфу! ))

    ОтветитьУдалить
  13. а как например вместо caps поставить shift+ctrl

    ОтветитьУдалить
  14. Спасибо !!!!! все получилось !

    ОтветитьУдалить
  15. а у меня нет, в чём может быть причина? Хотя если идти по пути "Open session via XDMCP" соединение есть.

    ОтветитьУдалить
  16. > а у меня нет, в чём может быть причина?
    Трудно сказать без более подробной информации.

    ОтветитьУдалить
  17. Просьба сильно не пинать :) Вот что получаю
    [root@localhost ~]# gedit &
    [2] 4837
    [1] Exit 1 gedit
    [root@localhost ~]# Xlib: connection to "localhost:10.0" refused by server
    Xlib: No protocol specified


    (gedit:4837): Gtk-WARNING **: cannot open display:

    ОтветитьУдалить
  18. Вы уверены, что правильно указали адрес в разделе X11 forwarding в настройках putty? Попробуйте вообще очистить строку X display location, как это уже советовали в комментариях.

    ОтветитьУдалить
  19. народ помогите у меня проблема вот такая
    $ PuTTY X11 proxy: XDM-AUTHORIZATION-1 data failed checkkwrite: can not connect to X server localhost:10.0

    ОтветитьУдалить
  20. Слово "localhost" говорит о том, что приложение пытается отрисоваться на том же компьютере, на котором и запускается. Еще раз внимательно прочитайте о настройке PuTTY и все комментарии к статье. Должно помочь. Не забудьте отписаться о результате ;-)

    ОтветитьУдалить
  21. debian:/tmp# startx
    xauth: creating new authority file /root/.serverauth.2894


    X Window System Version 7.1.1
    Release Date: 12 May 2006
    X Protocol Version 11, Revision 0, Release 7.1.1
    Build Operating System: UNKNOWN
    Current Operating System: Linux debian 2.6.18-6-686 #1 SMP Sun Feb 10 22:11:31 UTC 2008 i686
    Build Date: 24 January 2008
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
    Module Loader present
    Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
    (==) Log file: "/var/log/Xorg.0.log", Time: Thu Jul 17 19:58:56 2008
    (==) Using config file: "/etc/X11/xorg.conf"
    (EE) I810(0): [dri] DRIScreenInit failed. Disabling DRI.
    (EE) AIGLX: Screen 0 is not DRI capable
    xkb_keycodes { include "xfree86+aliases(qwerty)" };
    xkb_types { include "complete" };
    xkb_compatibility { include "complete" };
    xkb_symbols { include "pc(pc105)+gb" };
    xkb_geometry { include "pc(pc105)" };


    вот такую штуку оно выдаёт когда я под рутом пытаюсь запустить:)
    то есть оно не находит вроде моника или что??

    ОтветитьУдалить
  22. Какое отношение это имеет к удаленному запуску приложений? :-)

    ОтветитьУдалить
  23. ну ка кбы самое прямое.. этов сё запускалось через putty, а не на локальной машине...
    машинка с линуксом стоит себе в стронке, без клавы,мыши и моника:)
    типа сервачок, а я со своего компа(под виндовсом) пытаюсь сделать так как описано в статье..и вот такую штуку выдало...
    если имеет занчение - я подключал моник и всю переферию - кде грузилось%)

    ОтветитьУдалить
  24. В таком случае Вам не следует запускать иксы на линуксе (а именно это и пытается сделать команда startx) хотя бы потому, что этого в статье описано не было :-) Иксы в данном случае должны стоять на машинке с виндой. Xming - это и есть иксы для винды. А на сервере через путти нужно запускать непосредственно ту программу, с которой вы хотите работать, а не иксы. И программа, запущенная на линуксе, будет рисовать свой графический интерфейс посредством Xming на машинке с виндой. Главное, что в этом случае нужно - Xming (или другие иксы) на винде, и правильно настроенный путти (или другой клиент ssh).

    ОтветитьУдалить
  25. И еще, обратите внимание, что, согласно понятиям "клиент" и "сервер", в данном случае машина, которую Вы называете сервером, выполняет роль клиента, а машина с виндой - роль сервера. Возможно, именно это Вас и сбило с толку :-)

    ОтветитьУдалить
  26. нет..называя машину сервачком я имел в виду ее общее назначение...:) тое сть это просто обычно всякие серваки стоят без клав и мишей и моников...

    и я как бы не вдумывался что серваер а что клиент..толку от этого?:)) то чтоя правильно пойму,оно лучше работать не станет, ведь делал то я по инструкции:))

    ОтветитьУдалить
  27. В инструкции не сказано, что нужно выполнять команду startx. Читайте внимательно.

    ОтветитьУдалить
  28. хорошо.. я понял, чтопо отдельности програмки запускать надо...
    ну вот

    debian:~# kwrite &
    [1] 5895
    debian:~# Xlib: connection to "localhost:10.0" refused by server
    Xlib: PuTTY X11 proxy: XDM-AUTHORIZATION-1 time stamp was too far out
    kwrite: cannot connect to X server localhost:10.0

    не может подключиться к моему Х-серверу..
    пробовал в настройках пУти как ставить так и не ставить айпи моего компьютера для форвардинга Ч-сервера....

    ОтветитьУдалить
  29. "connection to localhost:10.0" говорит о том, что приложение пытается подключиться к X-серверу на том же компьютере, где и запускается. Проблема в настройках PuTTY/SSH.
    Независимо от того, указываете Вы IP-адрес или нет, должна стоять галочка "Enable X11 forwarding". Вы не забыли включиь эту опцию?
    Какая у Вас версия PuTTY? Попробуйте скачать по приведенной в статье ссылке.

    ОтветитьУдалить
  30. "Enable X11 forwarding" - галочка стоит.
    pytty - release from 0.60-2008-06-02
    это установленная с файлика Xming-portable-PuTTY-7-3-0-19-setup

    уменя своя стояла,но там не было плагина для Х11

    ЗЫ: японимаю,что проблема в настройки путти...потому и обращаюсь за помощью,так как мало с этим работал...

    ОтветитьУдалить
  31. Возможно, на SSH сервере не разрешено перенаправление иксов.

    Залогиньтесь на машину с линуксом. Можно с помощью все того же PuTTY, чтобы не таскать монитор :-)
    Откройте для редактирования файл настройки SSH-сервера с помощью любого удобного для вас редактора, например vim. (Если Вы делаете это через SSH, то подойдет любой консольный редактор).

    $ sudo vim /etc/ssh/sshd_config

    Добавьте следующую строку, если ее нет.

    X11Forwarding yes

    Сохраните файл настроек и перезапустите SSH-сервер.

    $ sudo /etc/init.d/ssh restart

    Вероятно, в этот момент SSH соединение будет разорвано. Убедитесь, что поле "X display location" не заполнено, выполните SSH подключение еще раз и попробуйте запустить графическое приложение.

    Если приложение все равно не запустилось, попробуйте все-таки указать расположение X-сервера. Введите в поле "X display location" адрес компьютера с виндой, снова выполните подключение и попробуйте запустить графическое приложение. Если все равно не получается, проверьте значение переменной среды окружения DISPLAY. В консоли введите

    $ echo $DISPLAY

    PuTTY должен был установить тот адрес, который Вы указали в качестве адреса X-сервера. Вывод команды должен примерно таким: "192.168.20.2:0". Если же вывод команды показал ":0", значит, адрес перенаправления по какой-то причине не установлен. Установите его вручную (подставляем свой адрес).

    export DISPLAY=192.168.20.2:0

    И снова пробуем запустить графическое приложение.

    Жду подробного рассказа о ваших действиях и результатах! :-)

    ОтветитьУдалить
  32. ха..тут оказывается гугл авторизайия%))
    по теме:


    debian:/etc/ssh# kwrite &
    [1] 5985
    debian:/etc/ssh#
    я так понимаю запустилось :)
    но ничего не происходит..
    да видать была загвоздка в ssh - я читал похожую статью там гворили писать
    X11Forwarding yes
    X11DisplayOffset 10
    X11UseLocalhost yes

    а в примере закоментирован
    ForwardX11 no, поменял на yes
    и последние строчки закоментил.
    ...
    далее
    debian:/etc/ssh# echo $DISPLAY
    localhost:10.0
    это с пустой строкой "X display location"

    пока что так...ещё сейчас попробую айпи прописать в путти...

    ОтветитьУдалить
  33. Этот комментарий был удален автором.

    ОтветитьУдалить
  34. прописал айпишку в Путти. Выдалоследующую штуку

    debian:~# kwrite &
    [1] 6004
    debian:~# Xlib: connection to "localhost:10.0" refused by server
    Xlib: PuTTY X11 proxy: XDM-AUTHORIZATION-1 time stamp was too far out
    kwrite: cannot connect to X server localhost:10.0

    [1]+ Exit 1 kwrite
    debian:~# export DISPLAY=192.168.1.68:0
    debian:~# kwrite &
    [1] 6007
    debian:~#

    то есть похоже на то,что запустилось, но картинки так и нет:((

    ОтветитьУдалить
  35. на иконке Xming в трэйе винды показывает следующее
    Xming Server: 10.0
    может чото тут проблема?

    ОтветитьУдалить
  36. Вообще, в случае SSH указывать X server location не желательно, потому что SSH сервер умеет выступать в качестве прокси для иксов. Приложение думает, что иксы стоят локально, и коннектятся на локалхост, а сервер SSH пересылает эти запросы на удаленный сервер по защищенному каналу. Если же указывать DISPLAY, то подключение к иксовому серверу будет идти в обход SSH - несекьюрно.

    "localhost:10.0" - это нормально, когда включен X11Forwarding для SSH сервера.

    У вас получается, что куда бы вы не направили графику - через ssh прокси или напрямую - она у вас не отображается. Соединение вроде как проходит, но ничего не рисуется. На этом этапе, думаю, можно оставить в покое настройки SSH. Пусть X display location будет пустым, раз вы не получаете больше ошибок.

    Теперь попробуйте поковырять Xming. Например, включите режим One window.

    ОтветитьУдалить
  37. Попробуйте в putty в настройках X11 поменять настройку "Remote X11 Authentication protocol" на MIT-Magic-Cookie-1

    ОтветитьУдалить
    Ответы
    1. "Попробуйте в putty в настройках X11 поменять настройку "Remote X11 Authentication protocol" на MIT-Magic-Cookie-1"
      Ураааа!!! Спасибо! Получилось =)

      Удалить
  38. Здравствуйте
    я пробовал startkde если вовремя нажать ctrl+c то нормально грузится КДЕ , вопрос вот в чём, без ctrl+c не грузицца) почему, если можно линк на русскую справку по putty, и по Xming, код ошибок приведу позже, и ещё вопрос как вывести линукс из спящего режима только консолью, это вообще возможно?

    ОтветитьУдалить
  39. Я не пробовал startkde и не могу ничего хорошего Вам посоветовать. Справку на русском поищите в Гугле. А спящий режим вообще никак не относится к теме :-)

    ОтветитьУдалить
  40. про то что в гуугле есть русская справка я знаю , спасибо ))
    зато я пробовал startkde и всем советую - "Товарищи , пробуйте startkde и о результатах пишите здесь"
    А разве не интересно попробовать?

    ОтветитьУдалить
  41. Интересно конечно :-) Хотя, я не совсем понимаю, зачем это нужно. Может быть пойму, когда попробую :-) Если не забуду - обязательно попробую. Спасибо.

    ОтветитьУдалить
  42. а-а-а простите я же ничего не обьяснил))
    суть в том что стартует целиком оконный менеджер и это неплохая замена vnc получается что под видной на x сервере работает kde с подключенной учёткой, вобщем удалённое подключение к рабочему столу ...

    ОтветитьУдалить
  43. Были ошибки с запуском приложений типа "cannot open display" с DISPLAY="localhost:10.0". Проблема решилась, хотя DISPLAY и остался такой же.

    ОтветитьУдалить
  44. Спасибо, r1mson.

    Дело в том, что SSH умеет работать в качестве прокси для иксов. Это включается опцией "X11Forwarding yes" в конфиге ssh-сервера, что вы и сделали. Если эта опция включена, то дисплеем автоматически устанавливается локалхост, на который вы подключаетесь по ssh, и дальше за сценой происходит переброс данных на ту машину, где установлен X-сервер. В принципе, это предпочтительный вариант, поскольку для передачи данных используется защищенный канал ssh. И тем не менее ничто не мешает вам установить прямое подключение к иксам. В таком случае DISPLAY должен быть отличным от локалхоста.

    ОтветитьУдалить
  45. A.Ly комментирует...
    debian:~# kwrite &
    [1] 6004
    debian:~# Xlib: connection to "localhost:10.0" refused by server
    Xlib: PuTTY X11 proxy: XDM-AUTHORIZATION-1 time stamp was too far out
    kwrite: cannot connect to X server localhost:10.0

    [1]+ Exit 1 kwrite
    debian:~# export DISPLAY=192.168.1.68:0
    debian:~# kwrite &
    [1] 6007
    debian:~#


    Дарагой выйди из рута, попробуй запустить от пользователя

    ОтветитьУдалить
  46. > без фаирвола

    Слово "фаервол" пишется через "е", если вы не знали.
    Плюс ещё несколько ошибок, орфографических и стилистических.

    Сама статья довольно информативная, добавил в закладки. На случай попадания в аналогичную ситуацию.

    ОтветитьУдалить
  47. )))
    Хотелось бы только уточнить: кем именно это слово так пишется? ;-) Лично мною оно пишется через "и". Пишется оно так по причине использования мною такой стилистики с намеренным небрежным написанием терминов, пришедших к нам из иностранных языков и часто не имеющих определенного правильного написания.

    А еще, слово "файервол" часто пишется через "Й". А также нередко можно встретить два "Л" на конце :-D Встречается и такое название, как "брандмауер". Но если уж вам хочется писать правильно, то лучше используйте более термин из родного Русского языка: "межсетевой экран".

    Что касается ошибок вообще, то я вам скажу, что их наличие очень даже вероятно. Более того, я бы сильно удивился, если бы их не было вообще. Ибо на статьях я не зарабатываю ничего, и абсолютного качества текста не добиваюсь :) А по поводу стилистических я с вами не согласен в самом определении. Уж простите. Это мой стиль. В моем стиле не может быть ошибок, он такой, какой есть :-D

    ОтветитьУдалить
  48. люди, а если задача обратная, запустить графическое приложение удаленно, но чтоб оно отображалось на удаленной машине, а не на той с которой конекчусь.
    естественно я на вин удаленный "сервак" - линукс

    ОтветитьУдалить
  49. Тогда:
    1. На линуксе должен быть запущен X-сервер.
    2. SSH-прокси здесь будет не только не нужен, но и может внести путаницу. На всякий случай убедитесь, что не используете его. Никакие X11Forwarding в конфиге SSH-сервера не нужны.
    3. DISPLAY должен указывать на localhost. Скорее всего, это должно быть значение "localhost:0.0". Можно просто ":0.0". Убедиться, что это значение правильное, можете следующим образом: запустите иксы, запустите эмулятор терминала и выполните команду "echo $DISPLAY".

    Итого: запускаем X-сервер, подключемся к серверу через SSH, устанавливаем правильно значение для $DISPLAY и запускаем приложение посредством все той же сессии SSH.

    ОтветитьУдалить
  50. to Raa, что то у меня не сложилось.
    Например запускаю мплеером видео, выдает следующее:
    vo: couldn't open the X11 display (:0:0)!
    Error opening/initializing the selected video_out (-vo) device.
    .....................
    E: client-conf-x11.c: XOpenDisplay() failed

    переменую дисплей ставил :0.0 и localhost:0.0
    результат тот-же

    форвардинг отключил


    Возможно я что-то не понял об запущенном X-сервер, я так понял если на удаленой машине запущен гном, то больше ничего и не нужно?

    ОтветитьУдалить
  51. Думаю, не мешало бы покопаться в настройках X-сервера.

    Например, я обнаружил, что в Debian по умолчанию отключено прослушивание x-сервером tcp порта. Это значит, что по сети подключиться к иксам не удасться, в том числе и через localhost. Попробуйте поправить вот этот файл:
    /etc/X11/xinit/xserverrc
    И убрать параметр "-nolisten tcp".
    Если все равно не заработает, можно еще попробовать отключить проверку хостов:
    xhost +
    После выполнения этой команды любой сможет подключиться к вашим иксам, что не есть безопасно. Так что делать такое возможно только в целях эксперемента, или в закрытой сети.

    ОтветитьУдалить
  52. Спасибо, вот это помогло:
    /etc/X11/xinit/xserverrc
    И убрать параметр "-nolisten tcp".

    плюс установить DISPLAY=:0.0
    при подключении она вообще не определена

    ОтветитьУдалить
  53. Кроме того, чтобы вместо русских букв не всплыли крокозябли, желательно в разделе Window / Translation установит правильную кодировку (у меня - UTF8 - стандартная кодировка на Debian и Ubuntu)
    Мне не помогло... Более того, все меню запускаемых программ на английском языке

    ОтветитьУдалить
  54. Думаю, это проблемы с локалью под тем аккаунтом, под которым вы подключаетесь через SSH.

    ОтветитьУдалить
  55. Не могу запустить gnome или cde под Solaris указанным способом, настройки могу открыть, не которые программы тоже. а сама оболочка не хочет запускаться

    ОтветитьУдалить
  56. Не нужно данным способом запускать гнома и цде. В Xming есть свой оконный менеджер. Скрещивать слона с носорогом (Windows и Gnome) не вижу никакого смысла.

    Как сказал один из Анонимусов, VNC Вас спасет!

    ОтветитьУдалить
  57. А можно сделать наоборот? Т.е. я сидя на линухе хочу поюзать некую специфичную виндовс программу с удаленного (в пределах локалки) компа, но не нужен доступ ко всему рабочему столу удаленного компа а только к одной программе.

    ОтветитьУдалить
  58. Можно. Я как раз сегодня удалил с рабочего стола ярлыки для запуска прог на удаленной винде :-) Придется пошариться в корзине...

    Делал я это через rdesktop:

    rdesktop -u Raa -p '' -b -r sound:local -A -s "c:\\seamlessrdp\\seamlessrdpshell.exe \\"C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE\\"" 10.0.0.2

    Данная команда выполняет подключение к удаленному рабочему столу и автоматически запускает ИЕ, вместо которого можете подставить любую интересующаю вас программу. Но делает она это не напрямую, а, как видите, через утилиту seamlessrdp. Эта утилита, работая совместно с rdesktop, обеспечивает так называемый seamless mode - т.е. интеграцию в рабочий стол. Включается этот режим ключом '-A'. Каждое созданное в винде окно rdesktop будет рисовать в иксах. Скачать утилиту можно по адресу http://www.cendio.com/seamlessrdp/

    ОтветитьУдалить
  59. Подскажите, а как быть при подключении к одной и той же программе сразу нескольких пользователей (соответственно с разных компьютеров)? Что при этом измениться? Усложняется все тем, что надо запускать виндовую программу, соответственно при помощи Wine`a.

    ОтветитьУдалить
  60. Прежде всего изменится название задачи. Если первая задача - это удаленный запуск приложений, то вторая (если я Вас правильно понял) - это совместная работа. Во-вторых, изменяется то, что приложению будет необходимо подключиться сразу к двум X-серверам. Я не могу сказать наверняка, но мне кажется, такое вряд ли возможно по причине специфичности задачи.

    Попробуйте поискать в гугле что-то вроде "Совместная работа в Linux".

    ОтветитьУдалить
  61. > такое вряд ли возможно

    ...конечно же имеется в виду возможность решения задачи с помощью метода, описанного в статье.

    ОтветитьУдалить
  62. Приветствую всех, особенно многоуважаемого Raa!
    У меня совсем извращенная задача - надо под Linux`ом запустить Windows приложение и все это отобразить на другой машине с виндой описанным выше способом.
    Сделал все как написано в статье. Установил последнюю версию Wine, запускаю под Linux Debian всем известного минёра, и он нормально запускается. Перехожу на виндовую машину, запускаю Putty, коннекчусь, пишу команду wine winemine.exe и долго наблюдаю за надписями Font Metrics: ...%, плюсом иногда пролетают какие-то сообщения. В итоге через пару минут минёр загружается и появляется у меня на рабочем столе Windows XP. И все бы хорошо, но появляется он очень страшненький, цвета все не те, улыбчивая мордочка - другая. Короче страх!
    Подскажите в чем может быть дело? Как заставить любимого минера запускать быстро и таким же красивым, каким он должен быть.
    Знаю что задача извращенная, но таковая есть и очень хочется разобраться.
    ЗЫ Минер взят для эксперимента.

    ОтветитьУдалить
  63. Попробовал. Запустил удаленно winemine и более сложное приложение FlylinkDC. Все отлично рисуется, никакой разницы, если не считать некоторые тормоза при отрисовке. "Font Metrics" нигде не наблюдал.

    Wine у меня обновлялся недавно, Xming я не трогал с тех пор как написал эту заметку. В чем у Вас может быть проблема - мне даже предположить трудно. Попробуйте обновить wine, если он у Вас устаревший. Если проблема просто в страшных шрифтах, то попробуйте подобрать подходящее значение параметра -dpi. Еще я попробовал бы скопировать все шрифты из Windows в wine.

    Удачи!

    ОтветитьУдалить
  64. И у меня все заработало. Удалил Wine, скачанный с офф сайта, установил тот, который был с Debian`ом на диске и все заработало. Мораль - надо учиться ставить нормально пакеты... :)

    ОтветитьУдалить
  65. Спасибо за информативный пост!

    Подскажите, пожалуйста, хотелось бы сделать для юзера ещё более быстрый доступ к linux-приложениям; можно ли добиться что бы из винды приложение запускалось одним щелчком? без открытия терминала?
    Может быть какой-нибудь скрипт, который бы запускал xming, потом putty, сам вводил логин и пароль и запускал команду.

    ОтветитьУдалить
  66. Конечно можно. Xming лучше повесить в автозапуск. Putty, думаю, наверняка имеет какие-нибудь параметры командной строки. К сожалению (или к счастью :) ) нет венды под рукой чтобы проверить. Попробуйте в консоли "putty.exe /?" или "putty.exe --help" Если не имеет - установите другой, консольный клиент ssh. В любом случае, залогиниться по ssh и запустить приложение на сервере - это работа для одной несложной команды. Скрипты будут излишними. Просто создайте ярлык и впишите в его свойствах желаемую команду запуска. Это должно быть несложно, просто изучите руководство по вашему клиенту ssh. Думаю, Вы справитесь.

    ОтветитьУдалить
  67. С графикой всё получилось. спасибо!
    А вот как звук запущенного линуксового приложения через xming переправить на виндовую машину?

    ОтветитьУдалить
  68. К сожалению, через Xming этого никак не сделаешь. Техника перенаправления звука очень похожая, но делается через звуковой сервер. Например, можно попробовать сделать это через ESound, как советует автор это заметки:

    http://www.liquid-reality.de:8080/display/liquid/ESound+for+Windows

    В дополнение к ней замечу, что Вам необходимо настроить ваши приложения (или окружение) так, чтобы они работали через esound. Соответственно, он должен быть установлен не только на сервере (Windows), но и на клиенте (Linux).

    Сам лично не пробовал. Так что буду Вам благодарен, если отпишите о результатах :-) Удачи!

    ОтветитьУдалить
  69. Сапсибо за статью, очень полезная!
    Но у меня почему-то не захотел таким образом работать Гарант, вроде на команду wine garant.exe & пишет все тоже, что и в самом Linux`a, но вот почему-то ни чего не открывается :(

    ОтветитьУдалить
  70. Спасибо, сейчас поставлю линукс на одну машинку, буду пробовать. А вот если одновременно с 2-х компов в локалке (винда на обоих) таким образом запустить приложение, или не получится?

    ОтветитьУдалить
  71. Получится. Будет два независимых экземпляра приложения.

    Если Вас интересует совместная работа - читайте комментарии немного выше.

    ОтветитьУдалить
  72. Всё работает, спасибо=)
    Возникает вопрос - а как отображать графику, которая гонится с других устройств (например тв-тюнера)?
    Попробовал запустить tvtime - вот что вышло.

    lexx@server ~ $ tvtime &
    Running tvtime 1.0.2.
    Reading configuration from /etc/tvtime/tvtime.xml
    Reading configuration from /home/lexx/.tvtime/tvtime.xml
    [1] 27552
    lexx@server ~ $ xcommon: No window properties found for EWMH.
    Xlib: extension "XVideo" missing on display "localhost:10.0".
    xvoutput: XVIDEO extension not found: X too old? didn't load extmod?

    ОтветитьУдалить
  73. XVideo - расширение иксов для вывода видео.

    Приведенное Вами сообщение об ошибке говорит о том, что у Xming нет этого расширения. Вероятнее всего так оно и есть.

    Можно попробовать поставить другой X-сервер, поддерживающий XVideo.

    ОтветитьУдалить
  74. это все замечательно но почему все это тормозит???
    сеть сотка абсолючно свободна, процы не загружены на обоих машинах. на мышь нажимаешь пока окно откликнется пол часа пройдет. где узкое место, что делать?

    ОтветитьУдалить
  75. то есть в хотите сказать что у вас всенормально? нет задержек, окна отзывчевы как будто вы запустили приложение на linux машине?
    я не говорю о приложениях, аля калькулятор, я говрю например о приложениях в которых несколько окон например какая-то среда разработки например lazarus. хотя инекрционность я вижу и на маленьких приложениях. в тоже время если открыть к примеру рабочий стол с помощью vnc то тормозов нет вообще.прокоментируйте плиз.

    ОтветитьУдалить
  76. Нет, я как раз хотел сказать, что тормоза замечал, но их причину не понимаю. На нагрузку на сеть и процессоры внимания не обращал. Но тормоза действительно есть. Могу поделиться еще одним наблюдением: когда я пробовал таким образом запускать приложение через интернет, моего терпения на долго не хватило. Это наводит на мысль, что узкое место - сеть. Но почему тормоза даже если компы рядом? Более того, не могу опнять, почему сами иксы вообще такие тормозные, даже если они запущены локально по отношению к приложению.

    ОтветитьУдалить
  77. тогда если смотреть реально практической пользы от того что x можно перенаправлять на сторонний терминал нет. какие еще есть варианты работы с linux-ом, задача все та же. есть грубо говоря консольный linux, как подключиться и открыть на винде иксовое приложение. просто ставить оболочку а потом подключаться через vnc как-то не хочеться, да и неправильно это :). у кого какие мысли есть? или реальный опыт.

    ОтветитьУдалить
  78. Полезная статья, спасибо!
    Настроил с ее помощью подключение из windows к линукс-серверу.
    Таким образом получаю доступ к графическому интерфейсу программы для мат. рассчетов.

    Вопрос: возможно ли вернуть вывод уже работающей программы с виндового X-сервера на родной, линуксовый?
    Нужно чтобы после отключения ssh-сеанса графическое приложение продолжало выполняться. Причем получение графического вывода приложения впоследствии не так важно - в результате работы прога создает файл на диске.

    Возможно здесь более уместно подключение к линукс-машине по vnc. Правда пока не представляю как сделать, чтобы после закрытия окна vnc-клиента, запущенные в нем задачи продолжали работать на сервере..

    ОтветитьУдалить
  79. Все, вопрос решен!
    Оказалось продолжение работы программ, запущенных в vnc-сеансе (после закрытия самого vnc-клиента) - это дефолтная фича vncserver. По крайней мере той версии tightvnc что установилась автоматом на SuSe 10..

    ОтветитьУдалить
    Ответы
    1. Можно поподробнее. Как вы решили эту задачу. Мне нужно, чтобы после отключения продолжала работать программа запущенная в графическом интерфейсе.

      Удалить
  80. Пробую открыть любой текстовый файл и не получается,пишет ошибку,что тут описывали выше не раз.
    Вот пример что я хочу открытьи оно никак:

    sudo gedit /var/www/testphp.php

    ОтветитьУдалить
  81. mic, спасибо за информацию!

    Анонимный, а Вы пробовали запускать gedit от своего имени без sudo?

    ОтветитьУдалить
  82. а у меня такая проблема: при копировании текста в буфер обмена пропадают русские буквы. напрочь. при копировании из одного никсового приложения в другое когда как, иногда теряются, иногда нет. что делать, как быть?

    ОтветитьУдалить
  83. Спасибо за статью! Вопрос такой - не рассматривали ли вариант подключения на линукс сервер с Freenx c Windows машины, но вместо Xming использовать NX Client от No Machine ?

    ОтветитьУдалить
  84. Не рассматривал. Вероятно, этот вариант будет намного проще в конфигурации и быстрее в работе.

    ОтветитьУдалить
  85. FreeNX - свободный терминал под Linux, будет идеальным решением для всех, кто так хотел бы видеть KDE или Gnome удаленной машины целиком. Плюс и звук умеет гнать на локальную, настраивается печать.
    Религия Linux запрещает ставить на сервер иксы, но новичкам удобнее работать с графическими утилитами. Уже есть неплохие GUI для самбы, днс и т.д. - можно ли установить только их и запускать через Xming? Кажется тут выше уже спрашивали...
    PS. А из линуксовой машины как запустить конкретное приложение на удаленной? VNC целиком рабочий стол показывает. Знаю, что не совсем в тему, каюсь... :)

    ОтветитьУдалить
  86. Установить необходимые графические приложения без локально установленного Х-сервера можно.
    Запустить приложение на удаленной машине можно через SSH.

    ОтветитьУдалить
  87. Извините за глупый вопрос, но что может означать ситуация, когда при подключении с пом-ю Putty дохожу до ввода пароля, курсор есть, но ввести ничего не получается, только ввод срабатывает, соответственно связь не устанавливается. Смена раскладки не помогает. Спасибо

    ОтветитьУдалить
  88. Эта ситуация может означать, что Вы впервые вводите пароль в линуксовой консоли. Попробуйте не обращать внимания на это. Просто введите пароль на правильной раскладке и нажмите Enter.

    ОтветитьУдалить
  89. Привет!
    Пытаюсь делать все по инструкции. Дойдя до соединения через putty - почему то предлагает залогиниться моим юзером (т.е. он не просит меня ввести логин, а выводит:
    Using username "my".
    Using keyboard-interactive authentication.
    Password:
    ).
    А мне нужно войти под другим логином (не под my). Не подскажете, где это настраивается? Заранее большое спасибо!

    ОтветитьУдалить
  90. В Putty в настройках подключения где-то указывается имя пользователя. Я, к сожалению, не могу вам подсказать, где это, потому что сам с трудом находил, и уже не помню. Но оно там точно есть. Буквально на днях товарищ спрашивал то же самое, и таки нашел :)

    ОтветитьУдалить
  91. Йеххоууу!!Я нашла где это меняется. Полдня на это потратила, а оказывается все было очень просто. Спасибо что подсказали нужное направление! Напишу, вдруг кому-нибудь пригодится:
    в настройках Connection -> Data -> Auto-login username -стираете все из этого окошка. Почему то по умолчанию там стоит имя пользователя.

    ОтветитьУдалить
  92. Здравствуйте!
    Подскажите пожалуйста, что может означать следующее (вылазит при попытке запустить графическое приложение на солярке):

    couldn't connect to display "my_ip:0.0"

    (вместо my_ip - Ip виндовской машины)
    Никак не хочет видеть и пинг с той стороны тоже не проходит. Может быть в винде где-то стоит запрет, но где это находится, я не знаю. И еще вопрос, где нужно прописывать hxost + (я имею в виду в какой программе, нужен же эмулятор терминала для винды, типа cygwin?? Как вы это делаете, напишите пожалуйста)
    Спасибо заранее.

    ОтветитьУдалить
  93. "couldn't connect to display" может означать, что Вы не настроили x11 forwarding в Putty. Попробуйте внимательно перечитать статью и все коментарии к ней. Подобные вопросы уже не раз обсуждались.

    hxost + нигде не нужно, настройте x11 forwarding.

    ОтветитьУдалить
  94. X11 настроен, все делаю по пунктам, советы в комментариях применяю, пробую и так и эдак, а результат одан :(
    Может быть проблема в том, что удаленный комп находится о-о-очень далеко?..
    Спасибо.

    ОтветитьУдалить
  95. Трудно сказать, в чем проблема. Тем более, что если делать "и так, и эдак", то и проблемы могут быть разные. Попробуйте заменить метод научного тыка на разбиение задачи на подзадачи и независимое тестирование каждого аспекта. Попробуйте сначала сделать это без x11 forwarding. Пропингуйте машины в обе стороны, проверье работоспособность каждой из сторон в отдельности, проверьте коммуникацию клиента с сервером посредством сетевого анализатора пакетов. Обратите внимание, что при использовании прямого соединения без x11 forwarding в ssh, сервер (там где x11) должен быть напрямую доступен с клиента (на котором вы запускаете X-приложение). Если это не так (фаирвол, прокси, шлюз), то рассчитывать можно только на перенаправление x11 через ssh. Также заметьте, что если соединение медленное, то результат вас очень сильно огорчит. Так что, есть смысл задуматься об альтернативах: VNC и прочее.

    ОтветитьУдалить
  96. Спасибо большое за ответы.
    И так и эдак - это и имелось в виду разбить задачу и тестировать каждого шага :)
    Соединение появилось, но дико медленное. (xclock появляется минут через 10 после запуска)
    Спасибо за советы и всего вам хорошего! ;)

    ОтветитьУдалить
  97. Ну так значит у Вас все получилось! :) Быстрее, наверное, не будет.

    ОтветитьУдалить
  98. Да, получилось. Я изначально запускала программу, которая не работает. Попробовала xclock и о чудо!:)

    ОтветитьУдалить
  99. XMing установлен на 192.168.1.15
    Пробовал и многооконную, и однооконную конфигурацию.
    Что может быть?

    root@ubuntu:~# gedit
    No protocol specified

    (gedit:4183): Gtk-WARNING **: cannot open display: 192.168.1.15:0

    ОтветитьУдалить
  100. А куда смотреть? Здесь была проблема с localhost:0, а у меня к удаленному дисплею подключается. Но почему-то не находит какой-то протокол.

    ОтветитьУдалить
  101. Уважаемый Raa !!! сделал все согласно статьи, и все заработалос полпинка , спасибо за статью. Но есть пара вопросов.
    1) запускаю 1с 7,7 dbf через multiwindow, скорость почти такая же как на венде, но при закрытии 1с или же выборе даты / открытие еще одного окна / при нажатии на кнопку реакци япроисходить сек через 5
    2) возможно ли через putty подключить принтера клиентов которые сидят на венде , без подключеняи жтих принтеров на линукс сервере.

    ОтветитьУдалить
  102. TO Андрей:

    я тоже промучался с No protocol specified, помогло установка галочки No access control в окне с параметрами настроек xming

    ОтветитьУдалить
  103. По поводу медленной реакции мне и самому интересно. Если выясните - поделитесь информацией.
    Подключение принтеров нужно осуществлять на стороне сервера. Потому что приложение выполняется именно на стороне сервера. Отрисовка интерфейса на удаленных иксах не имеет ничего общего с печатью. Поэтому думайте об этом так, как будто Вы сидите непосредственно за тем самым линукс-компьютером, на котором Вы удаленно запускаете приложение.

    ОтветитьУдалить
  104. Андрей, у меня версия 31 и я не смог найти в каком месте ставится галочка No access control , стоит руский клиент. И еще вопрос насколько различия между платной и беспланой версией. может в платной версии проблему победили с медленным отоброжением.

    ОтветитьУдалить
  105. сделал все как описано выдало следующее To access official Ubuntu documentation, please visit:
    http://help.ubuntu.com/
    Last login: Wed Sep 23 18:20:24 2009 from 192.168.0.101
    andrey@andrey-desktop:~$ kwrite &
    [1] 7474
    andrey@andrey-desktop:~$ Error: "/tmp/kde-andreyXa4smB" is owned by uid 0 instead of uid 1000.
    Error: "/tmp/kde-andreyXa4smB" is owned by uid 0 instead of uid 1000.
    Error: "/tmp/ksocket-andreyt7intE" is owned by uid 0 instead of uid 1000.
    Error: "/tmp/ksocket-andreyt7intE" is owned by uid 0 instead of uid 1000.
    kdeinit: Aborting. No write access to '/home/andrey/.ICEauthority'.

    помогите пожалуйста закончить настройку очень надо ICQ 358029214

    ОтветитьУдалить
  106. Сделал так же, только протокол авторизации поставил другой. В висте почему-то после запуска KDE сам Xming и всё что он отрисовывает здорово тормозит. В Win XP всё летает, но когда я запускаю Konqueror и чуть-чуть полазаю по неме, то всё начинает жутко тормозить, но сам Xming нормально (проверяю с промощью правого клика на иконку в трее, через какое время появится меню). Пробовал запускать разные проги без KDE, на обоих виндах вроде нормально идут.
    Самое странное что всё запускается только от непривеллигированного пользователя, если попробовать запустить под рутом то выдаст ошибку неверного протокола авторизации. У меня FreeBSD, может быть это как-то связано с настройками безопасности.

    ОтветитьУдалить
  107. Этот комментарий был удален администратором блога.

    ОтветитьУдалить
  108. Пробую запустить Eclipse с удаленной машины. Все работает. Только в консоль вываливается несколько ругательств:

    Xlib: extension "Generic Event Extension" missing on display "localhost:10.0".
    Xlib: extension "Generic Event Extension" missing on display "localhost:10.0".
    Xlib: extension "Generic Event Extension" missing on display "localhost:10.0".
    Xlib: extension "Generic Event Extension" missing on display "localhost:10.0".
    (eclipse:1024): GLib-WARNING **: g_set_prgname() called multiple times

    Ник то не знает - как это победить?

    ОтветитьУдалить
  109. Ну так ведь работает же?... :)

    ОтветитьУдалить
  110. Неаккуратненько:) Но, как я выяснил - "XLib..." это заморочки XMing'а. А вот откуда ноги растут у "GLib-WARNING" я так и не выяснил.

    ОтветитьУдалить
  111. у меня вот такая проблема, все работает, все хорошо, но тормозит безбожно, не важно что запускать, блокнот или браузер или еще чего, работать просто невозможно. по 5 минут ждешь отклика, может это возможно как-то решить? или может хоть подскажите в какую сторону копать?

    ОтветитьУдалить
  112. Может быть слишком узкий канал связи между клиентом и сервером

    ОтветитьУдалить
  113. Народ, а вы не подскажете ли, почему когда я подключаюсь через putty нет приглашения для того, чтобы ввести логин-пароль(просто черный экран) и по таймауту он говорит, что соединение невозможно . Подскажите плз.

    ОтветитьУдалить
  114. Кто нить подскажет как настроить стандартный доступ к удал. раб. сталу в linux debain 5. Дело втом что я имею доступ только к консоли под админом... Накатил я на ОС эту граф. обалочку но все равно незнаю как настроить удал. раб. стол.

    Подскажите как командами настроить это через терминал или дайте ссылку на документацию какую нить.
    Спасибо за внимание.

    ОтветитьУдалить
  115. Сделал как всё описано в итоге выдаёт:
    login as: root
    root@87.118.84.124's password:
    Last login: Thu Sep 30 10:29:21 2010 from 88.135.235.196
    Linux km22315-03.keymachine.de 2.6.18-028stab062.3-ent #1 SMP Thu Mar 26 15:12:05 MSK 2009 i686

    The programs included with the Ubuntu system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.

    Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
    applicable law.

    To access official Ubuntu documentation, please visit:
    http://help.ubuntu.com/
    root@km22315-03:~# $ kwrite &
    [1] 1944
    root@km22315-03:~# -bash: $: command not found
    никак не могу понять в чём проблема, просьба камнями не кидать так ка новичёк в этом деле. Аська 643740 887

    ОтветитьУдалить
  116. >>Сделал так же, только протокол авторизации поставил другой. В висте почему-то после запуска KDE сам Xming и всё что он отрисовывает здорово тормозит. В Win XP всё летает, но когда я запускаю Konqueror и чуть-чуть полазаю по неме, то всё начинает жутко тормозить, но сам Xming нормально (проверяю с промощью правого клика на иконку в трее, через какое время появится меню). Пробовал запускать разные проги без KDE, на обоих виндах вроде нормально идут.

    Для Vista есть такая фича: Нужно отключить автоматическую настройку и определить, будет ли Windows масштабирование обрабатываться правильно брандмауэром.
    http://support.microsoft.com/?kbid=934430

    ОтветитьУдалить
  117. Кстати, не получается тупо запустить удаленный рабочий стол целиком (fullscreen), хотя отдельные приложения запускаю без проблем. Как это сделать?

    ОтветитьУдалить
  118. привет а у мня серый экран и все....в чем глюк?

    ОтветитьУдалить
  119. У меня получилось, но в другой последовательности запуска. Накидаю инструкцию - выложу. Не буду уверять, что это единственно верный вариант, но он работает!

    ОтветитьУдалить
  120. А можно ли через соединение, описанное в этой статье, добраться до своей флэшки, подключённой к удалённому компу, и скопировать с неё файлы на комп, с которого я залезаю? Я как-то плохо представляю себе, как это можно сделать через консоль.

    ОтветитьУдалить
  121. Доброго дня, У меня есть сервер на SUSE и прога нуждающаяся в X (Maple). Так как на сервере иксов отродясь не было возникает вопрос какие пакеты необходимо установить на сервер чтобы описанное в статье заработало?
    P.S. На аналогичном сервере, но с установленным Gnome (и Хorg естественно) всё прекрасно работает.

    ОтветитьУдалить
  122. Получилось, но немного не так.

    В конфиге ssh сервера:
    X11Forwarding yes

    В putty:
    X display location :8 (наверно можно любую другую цифру кроме 0, но мне 8 нравится =)

    В Xming номер дислея разумеется тоже 8

    А теперь немного полезной инфы.

    Как автоматизировать процесс для простых юзеров, которых пугают "неведомые черные окна" putty

    1)Настраиваем putty для подключения "в один клик". Наверно можно как-то делать это с ключами для пущей безопасности, но мне это было не нужно, и поэтому я делал через пароль.
    Для этого в putty в Connection -> Data в поле Auto-login username пишем имя пользователя, которым следует логиниться на удаленную машину. Делаем остальные настройки и обязательно сохраняем как сессию. К примеру я свою сессию назвал по имени компа STrouter.
    Для проверки создаем ярлык к putty со следующими параметрами "C:\Program Files\PuTTY\putty.exe" -load STrouter -pw supermegapass
    Где вместо STrouter - имя сессии в putty, а вместо supermegapass - пароль для подключения к удаленному компу.
    2)Настраиваем Xming, сохраняем настройки в *.xlaunch файл. Запускаем ваш преднастроенный *.xlaunch файл, запускаем ярлык к putty, проверяем что все работает правильно, нигде ничего не требуется вводить, и X-приложения работают.
    3)На удаленный комп ставим какую-нибудь прогу-тулбар для запуска приложений. Тут на свое усмотрение, я использовал Awant Window Navigator. Настраивать awn на локальном рабочем столе не нужно, так как оно хранит настройки для каждого дисплея отдельно (кстати может кто-нибудь подскажет где именно?=), поэтому настраивать его надо запустив непосредственно на Xming-е. Если с удаленного компа требуется запускать только какое-нибудь одно приложение, то этот пункт нужно пропустить.
    4)Редактируем сессию в putty - в Connection -> SSH в строку Remote command вписываем команду для запуска тулбара или приложения (для awn это avant-window-navigator). Сохраняем сессию.
    5)Редактируем файл *.xlaunch
    Вместо "Start no client" выбираем "Start a program". На следующем шаге переключатель ставим в Run Local, в строку запуска копируем из ярлыка команду запуска putty, т.е. "C:\Program Files\PuTTY\putty.exe" -load STrouter -pw supermegapass, где вместо STrouter - имя сессии в putty, а вместо supermegapass - пароль. Завершаем дальнейшую настройку, сохраняем файл *.xlaunch.
    6)Запускаем его и видим панельку awn (или ваше приложение) и значок Xming-а в трее. Непонятное простым юзерам окно putty не вылезает (по крайней мере у меня =)
    http://img279.imagevenue.com/aAfkjfp01fo1i-5134/loc357/589147896_xfwd_122_357lo.jpg

    Недостаток метода:
    Если закрыть панель awn, не закрывая остальные приложения, то эти все приложения самоликвидируются, но Xming при этом останется висеть. Однако если закрыть все приложения, а потом панель awn, то сервер должен самозакрыться.

    А теперь вопросы:
    1)Х-приложения стартуют в цветовой схеме ubuntu по умолчанию, однако если открыть конфигуратор внешнего вида, то цветовая схема приходит в норму (становится такой, какая была настроена пользователем) и сохраняется до перезапуска Xming'а. Может какой-нибудь командой можно заставить принудительно обновить цветовую схему? Я бы ее в строку запуска включил =)
    2)Открываем nautilus локально и пробуем открыть сетевую папку, например smb://stbox/ - все получается.
    Открываем "форвардированный" nautilus, делаем то же самое - ругается "Nautilus не обрабатывает адреса smb". В чем собака зарыта? Кстати то же самое происходит и в локально запущенном рутовом наутилусе (gksu nautilus).
    3)Не во всех случаях вылезает окно для ввода пароля при запуске чего-нить административного. Например, если запустить synaptic, то оно вылезет, а если запустить менеджер обновлений и попытаться установить обновления - ничего не происходит, приходится делать это локально.

    ОтветитьУдалить
  123. Настроил всё еще до того, как уивдел этут статью, потом только xming по статье сделал, но с расладкой всё равно никак дело не идет, ни кепслок, ни контрол шифт. Кто знает, что тут можно сделать ? может на debiane поковыряться ?

    ОтветитьУдалить
  124. login as: root
    root@10.0.254.40's password:
    Linux bexar_bash_badboy 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:32:27 UTC 2010 x86_64 GNU/Linux
    Ubuntu 10.10

    Welcome to Ubuntu!
    * Documentation: https://help.ubuntu.com/

    428 packages can be updated.
    251 updates are security updates.

    New release 'natty' available.
    Run 'do-release-upgrade' to upgrade to it.

    Last login: Wed Nov 28 19:40:24 2012 from 10.88.116.35
    root@bexar_bash_badboy:~# sudo ponoff

    (ponoff:9533): Gtk-WARNING **: cannot open display:
    root@bexar_bash_badboy:~# /kwrite
    -bash: /kwrite: No such file or directory
    root@bexar_bash_badboy:~# /gedit
    -bash: /gedit: No such file or directory
    root@bexar_bash_badboy:~#
    вообщем незапускаеца таблицы

    мож где ошибся


    ОтветитьУдалить
  125. Такой вопрос - а при настройке форвардинга иксов, прописывать внешний мой IP?

    ОтветитьУдалить
  126. Ага, все классно, получается.. А как открыть полностью рабочий стол и с него передвигаться по папкам?? т.е. не командой запускай нужный файл, а именно с рабочего стола (из графической оболочки линукса)

    СПАСИБО ЗА ПОСТ!)

    ОтветитьУдалить
    Ответы
    1. Это проще, можно через RDC, но тогда будет все в отдельном окне. Можно запустить командой какой-нибудь файловый менеджер (Dolphin, Nautilus), тогда можно визуально передвигаться по папкам и даже открывать файлы (наверное). Чтобы не выполнять постоянно команды, можно сделать основные ярлыки, например для того же файлового менеджера.

      Удалить
  127. Этот комментарий был удален автором.

    ОтветитьУдалить
  128. всем привет. такая вот ситуация. подскажите что нибудь. Нужно удалённо подключится к сеседовскому компу . я знаю его ip и порт. не клацая на его компе я смогу подключится и увидеть что он делает? за ответ заранее благодарен)

    ОтветитьУдалить
  129. Я уже пятый год на домашнем сервере Debian 7 управляю рабочим столом по протоколу VNC с использованием приложения vino. До невероятности простая настройка. На сервере достаточно лишь поставить две "птички" в окне настроек "Позволить другим пользователям видеть ваш рабочий стол" и "Позволить другим пользователям управлять вашим рабочим столом". В Windows надо установить, или использовать portable приложение VNCViewer или UltraVNC viewer. Если нужен доступ по сети из Linux, то установить приложение Remmina. Единственное НО, управлять по локальной сети рабочим столом Linux из Windows, получилось только в Debian 7. В других Linux (Ubuntu, ZorinOS, Mint, Rosa Fresh) организовать доступ получилось только из Linux. В Debian 8 такое управление сделать пока не удалось ни с помощью vino, ни с помощью vnc4server. Управлять при помощи x11vnc, как будто получилось, но пока не смог добиться сохранения настроек.

    ОтветитьУдалить