Смотрим на Ubuntu «издалека»

Владимир Попов
И так далее…

От неофитов Linux иногда приходится слышать вопрос: а есть тут терминальный сервер? Причём, как правило, имеется в виду удалённый сеанс Х Window. Для занимающихся удалённым администрированим, вопрос звучит странно. При администрировании гетерогенных сетей меня, например, чаще интересовало: есть ли консольный терминальный вход для данного win-хоста и какие non-gui средства администрирования в наличии. И дело отнюдь не в привязанностях. Коннект «слишком тостым» не бывает, а вычислительные ресурсы любой системы ограничены. Так что случаи управления загруженным на 98% рассылкой спама win-хостом по каналу 128 kbit/s вовсе не единичны.

В рамках «Дожили«, однако, управлять предстояло Ubuntu. И, поскольку имело место большое желание переложить это управление на кого-то (вполне вероятно, не знакомого с bash, в принципе), то пришлось предоставляемые возможности перебрать. Забегая вперёд, скажу, что конечным результатом стало отключение автозапуска gdm. Но если кому-то интересно…

Доступ к нужному хосту получаем обычно по SSH (в разных комбинациях). SSH-клиентом, общим для разных ОС, является putty. Разумеется, нет в putty ничего принципиально отличного от консольного ssh (более того: собственный формат файла ключей следует отнести к недостаткам), но кросс-платформенность и возможность хранить настройки сеанса в едином профайле опреляют выбор.

Сохранять в профайле отдельного соединения представляется разумным следующее:

  • Host Name & port — разумеется;
  • Window->Translation==UTF-8 (для Ubuntu). Правда, Linux-реализация putty с UTF-кодировкой по-прежнему не ладит;
  • Connection->Data->Auto-login username – тогда при обмене ключами коннект полностью автоматизируется, ничуть не потеряв в своей защищённости;
  • вышеупомянутые файлы ключей (*.ppk) указываются в Conection->SSH->Auth
  • в Conection->SSH->X11 можно разрешить X11 Forwarding. Это даст возможность использовать клиент-серверную природу X Window: сервер – свой, под рукой, клиентское приложение – на удалённом компьютере. Для этого даже виндовый вариант X Window сервера придумали: Xming, называется. Только «от лукавого» всё это: медленно;
  • поэтому идём дальше и в Conection->SSH->Tunnels описываем туннели для vnc (L5901 127.0.0.01:5901) и rdp (L33891 127.0.0.1:3389). Локальный порт 33891 выбран по причине неприемлемости сочетания 127.0.0.1:3389 для mstsc.exe (а rdp-клиенты у нас могут быть любые).

Из трёх vnc-серверов в составе Ubuntu:

  • пропускаем vino – собственный сервер Gnome, для работы которого нужна Gnome-сессия на удалённом компьютере, что для сервера не всегда уместно;
  • пропускаем tightvncserver — «любимец win-публики». В Linux-реализации Ubuntu практически не работает клавиатура. Причём, в предыдущих версиях — работала. Бывает…
  • устанавливаем и используем vnc3server. Говорят, уступает в скорости tightvncserver, но зато всё работает.

vnc-сервер запускаем прямо из командной строки ssh-сессии командой vncserver :1:1» – т.к. полагаем свободным первый виртуальный десктоп). При первом запуске потребует задания пароля. Убирать ли vnc-сервер из памяти по окончании сеанса — хозяйское дело (vncserver -kill :1). Если запускать от своего имени — сеанс будет «свой», если посредством sudoroot-а. Возможный источник путаницы — принадлежность временных файлов, создаваемых в ходе сеанса. При необходимости их принадлежность нужно править вручную. Или: попросту удалять файлы, «обруганные» на предмет доступа vnc-сервером при запуске.

Что касается сервиса xrdp, то он успешно инсталлируется, стартует и работает, обеспечивая доступ к vnc-сессии из RDP-клиента ( /etc/init.d/xrdp {start|stop|status} ). Вот, только обещанного ускорения почти не наблюдается. Зато можно подключиться в отсутствие vnc-клиента.

С некоторых пор работает также TeamViewer. Без толку, однако. Никакого выигрыша в скорости, но те же трудности, что и с Vino. То есть: последние два из упомянутых варианта (TeamViewer/Vino) «держим в памяти» до тех пор, пока работу с Linux-десктопами не придётся объяснять «на пальцах», как это имеет место для ms windows.

Resume: «удалённый рабочий стол» Ubuntu получить можно, хотя и не такой «шустрый», как RDP-сессия win-сервера. Осталось выяснить: кому и зачем это нужно. Поскольку в данном частном случае речь шла о сервере, то ответ был достаточно очевиден: да никому, в общем-то…


Tags:

9 Comments to “Смотрим на Ubuntu «издалека»”

  1. Честно говоря, ни разу не пользовался удалённым графическим доступом (зачем?), но, как мне кажется, вместо VNC стоит посмотреть либо на ssh -X (с Х-сервером на стороне жаждущего удалённой работы), либо на FreeNX (оно заточено под медленные линки)

  2. Это вы погорячились – насчет «никому не нужен». Нужные скрипты (бэкап/рестор/шатдаун/по вкусу) с симлинками на десктопе – и даже целый главный бухгалтер справляется с задачами насущными, не испытывая разрыва шаблона )). Проверено за 2,5 года необслуживаемой эксплуатации в качестве самба файлсервера. Так что в некоторых условиях вполне себе.

  3. Так в «терминальном ssh» тоже можно хранить настройки сеанса в отдельном файле – man ssh_config

  4. > посмотреть либо на ssh -X
    Xming – это как раз из этой «оперы»

    > либо на FreeNX
    Вот, только до FreeNX дело не дошло: неофит к этому моменту уже сказал: «хватит»

  5. > Это вы погорячились – насчет «никому не нужен».

    «Поскольку в данном частном случае…»

  6. > в «терминальном ssh» тоже можно хранить настройки сеанса в отдельном файле
    Угу. И использовать его под win-дой… А я-то, старый дурак, и не догадывался.
    Кажется, стоит познакомиться с возможностями WP в части менеджмента комментариев…

  7. FreeNX не может к текущей сессии приконектится… а так лучший вариант для удалёнки

  8. «Осталось выяснить: кому и зачем это нужно.»

    Я часто слышу такой тезис от своих опытных админов, и вот что могу на это сказать. Если у человека использующего линукс сугубо рабочие задачи по администрированию, ему и screen’а за глаза хватит, больше ему ничего не нужно.

    Быстрый удаленный gui нужен в первую очередь, чтобы подключится к текущей сессии с уже открытыми приложениями, чтобы посмотреть, что партнёр в аське написал, закончить писать письмо, поработать в netbeans с уже открытым проектом, просто посидеть в своем привычном окружении так, как будто ты находишься за этим компьютером.

    Честно говоря, когда решил изучить линукс, пересел на арч, поставил kde, решил настроить для себя привычное окружение и стиль работы, Я был просто обескуражен тем, насколько графические оболочки линукса отстают в удобстве от винды 10-летней давности.
    Да да, тут вместо быстрого виндового rdp, который коннектился к текущей сессии и просто летал, мы получаем уй с маслом, а имеено не понятно зачем придуманный тормозной vnc и x forwarding для ssh; xrdp понравился, но он к текущей сессии коннектиться не может, а пробрасывание текущей сессии через vnc ни к чему хорошему не приводит ибо vnc зараза. freenx тоже к текущей сессии не может коннектиться, а nx free просто тормозная зараза, вместе с teamview и подобными поделками.

    Так вот для людей которым кровь из носу необходим хороший удаленный доступ, линукс – не подходит, как нелепо это звучит, но тут просто отсутствует достойный удаленный gui доступ, всё на уровне 10 летней давности.

  9. С предыдущим оратором – согласен. Настраивал рабочую станцию для людей занимающихся форексом – На линь-машинке крутилось 50 торговых терминалов с ботами. Их нужно было контролировать с любого ноута/ПК/планшета под вин ХР- вин 7, естественно визуально. После 3х дней и ночей мучений решено было купить лицензию на тимвивер и не мучаться. Хотя я сам – ярый приверженец *nix систем, но тут был огорчен.

Leave a Reply


сро альянс строителей .