Удаленной рабочий стол в Linux без VNC

    Есть очень много способов управлять удаленного рабочего стола Linux компьютера — VNC, RDP и т.д. Я затрону самой базовой способ — CLI (командная строка).

    Часть первая уже была на хабре здесь как один из советов. С этого и начнем — это довольно простой способ для запуска приложения с удаленного компьютера на локальный экран. Это может быть полезно как быстрое решение для преодоления местных ограничений которых нет на удаленной машине (сетевые или аппаратные ограничения, запуск приложения которого нет на локального компьютера). Необходимо иметь X сервер работающий на локальной машине и по крайней мере одно рабочее окно терминала. С терминала (GNOME-Terminal, Konsole, Xterm) делаем SSH к другой машине с экспедиций сессии для X.

    localuser@localhost:~$ ssh -X remoteuser@remotehost
    localuser@localhost:~$ ssh -Y remoteuser@remotehost

    Первый вариант используется в общем случае, второй — когда сессия в защищенной сети, где безопасность не столь важна (например в домашней сети, позади брандмауэра). Затем запускаем приложение:

    remoteuser@remotehost:~$ firefox &

    Примечание — Firefox не будет запускаться на удаленной машине, если уже работает на локальной. Ошибки не выводится, но в конце концов совершается переход к работающему окну Firefox-a. Может это правда и для других программ ?!

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

    Альтернатива этого метода это запустить только Х-сервер и Xterm (или другой терминальной эмулятор) на локальной машине, a оконный менеджер (Window Manager) запустить на сервере. В конце концов оконный менеджер это только еще одно приложение, работающее в Х сервере. Таким образом, все меню на рабочем столе фактически являются меню из удаленного компьютера. Приложения тоже запускаются на удаленном компьютере как и прежде, а их интерфейс отображается тоже на локального рабочего стола. Преимущество этого метода в возможности использовать старых машин (Pentium I, II) в качестве Х терминала для мощного компьютера, когда LTSP больше чем нам нужно.

    В текстовой консоли (Ctrl-Alt-F1) запускаем Х-сервер с единственным терминальным окном, без менеджера окон:

    localuser@localhost:~$ xinit /usr/bin/xterm -- :1 &

    (Можно и попроще:

    localuser@localhost:~$ xinit /usr/bin/xterm

    но только при условий, что Х сервер не работает, т.е. gdm, kdm или xdm неактивны, и никто не запустил Х чрез startx)


    Теперь нужно добавить разрешение для сессий на удаленного компьютера. Соединение может быть выполнено через SSH туннелирование, если сеть не является безопасной, но это приводит к снижению скорости. Если сеть достаточно безопасна, можно разрешить X сессию чрез “xhost +remotehost”

    1. SSH туннелирование:

    localuser@localhost:~$ ssh -fY remoteuser@remotehost /usr/bin/wmaker

    2. Или без туннелирования:

    localuser@localhost:~$ xhost +remotehost
    localuser@localhost:~$ ssh -f remoteuser@remotehost /usr/bin/wmaker -display localhost:1

    В первом варианте, если удаленный SSH сервер поддерживает его, используются локальную переменную DISPLAY и туннелирование сессий через SSH. Второй вариант позволяет remotehost-а отправлять данные непосредственно в локальном Х дисплеем. Все ваши действия осуществляются на удаленной машине, но отображаются на локальном рабочем столе.

    Примечание: Вместо WindowMaker может быть использован Fluxbox, Blackbox, TWM, FVWM или другой менеджер окон. Использование KDE или Gnome возможно, но не рекомендуется из за высоких требований к скорости. Лучше выберите простого и легкого менеджера окон.

    PS Русский у меня не матерный, данный материал редактировался с помощи SpellChecker.net. Пишите в комментах, буду изправлять(ся).

    PPS Здесь оригинал и перевод на болгарском
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 9

      +1
      Дорогой писатель, тема хорошая и даже нужная.

      Но божеж мой: ИМХО слишком много опечаток, несогласованных окончаний и падежей. Я лично очень спотыкался при прочтении. Поправьте, будьте так добры!
        0
        Ето лучшее, на что способен мой давно забытый русский. :-( Если все так плохо, боюсь, что надо изправить все сначала. Помогите плз…
          –1
          Word в помощь.
            0
            Все не так страшно.

            Просто заставляет спотыкаться.

            В дополнение к уже посоветованному Ворду (если вдруг нет пакета проверки русской орфографии) можно использовать онлайн сервисы проверки
            Я нашел несколько, задав Гуглу вопрос
            «проверить орфографию онлайн»

            Удачи!

            ЗЫ Простите за занудство. Все таки блог русский :)
          +2
          про xming напишите чтоли для приличия) решение то подходит и для ЗлоОС, даром что только в одну сторону.
            +1
            Коллега, ну в самом деле, ошибок в статье просто немеряно. В некоторых местах ошибки такие грубые, что меняют смысл написанного. Откройте текст в Ворде, он кучу ошибок исправит.
              +1
              «рабочее окно терминала» на локальной машине иметь необязательно. В консоли:

              screen -dMS X X :0
              DISPLAY=":0" ssh -Y remote-host remote-command

              Всё.
                0
                screen -dmS… — это m маленькая, опечатка вышла
                  0
                  Спасибо для дополнения. Еще в /etc/X11/Xwrapper.config надо проверить параметр allowed_users. Если он установлен как

                  allowed_users=conslole

                  это работать не будет. Надо заменить на

                  allowed_users=anybody

                  (Debian/Ubuntu по дефолту allowed_users=console)

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое