Как графически взаимодействовать с безголовым сервером?

42

У меня есть сервер разработки Ubuntu на работе. Это старый стоечный сервер, который находится где-то в темнице компании, куда никто никогда не заходит. Единственный способ, которым он может работать, - это так называемый безголовый сервер (то есть без подключенного монитора / клавиатуры и приема только сетевых подключений).

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

Я провел небольшое исследование по этому вопросу, но не смог прийти к каким-либо определенным выводам. Я читал о попытке перенаправить среду X через ssh, что, по крайней мере, решило бы мои проблемы с безопасностью. Кто-нибудь может поделиться своим опытом в настройке этого? Есть ли другой способ, на который стоит обратить внимание?

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

Silvo
источник

Ответы:

20

Да, пересылка X через ssh действительно прекрасна. Это позволяет вам использовать графические приложения для отдельных приложений и иметь окна, управляемые вашей собственной средой рабочего стола. Вам даже не нужна среда рабочего стола, установленная на сервере.

Вам нужно настроить некоторые вещи аутентификации для его работы, хотя. Я считаю, что для этого тебе нужен xauth.

Это намного быстрее, чем VNC. VNC всегда был довольно медленным в моем опыте.

Изменить: У меня нет опыта использования этого метода через Windows, но я нашел этот учебник для вас, если вы заинтересованы.

DLH
источник
2
«ssh -X <server> <program>» должен настроить все (мне никогда не нужно было самому касаться xauth, хотя его нужно установить, чтобы опция -X работала в ssh).
Подавление
@Suppressingfire: О, спасибо. Я думаю, я должен был включить команду сам.
DLH
2
Да, X перенаправление работает с Windows. Я использовал его с Cygwin / X , на Windows XP. Не самый быстрый или самый красивый, но работает.
mp3foley
Пересылка ssh X11 также ограничивает то, какие сервисы вы должны включить на своем сервере! Я подозреваю, что большинство серверов в любом случае имеют SSH. Включение удаленного X11 (XDMCP) на самом деле не известно как безопасный.
LassePoulsen
ссылка на учебник теперь не работает, помните, кто может обновить ее?
Сова
13

Вы можете использовать freenx вместо vnc. Freenx передает x-команды (с кэшированием) вместо растровых изображений.

txwikinger
источник
Могу ли я использовать его на компьютере с Windows?
Сильво
2
Я полагаю, что вы можете загрузить клиент NoMachine NX для Windows и что он работает с FreeNX, хотя я могу ошибаться. nomachine.com/download.php
manyxcxi
9

Xming и XDMCP - отличный вариант.

Редактировать:

Xming - это x-сервер для Windows, основанный на Cygwin, имеющий возможность совместно использовать буфер обмена и реализующий различные макеты рабочего стола.

XDMCP - это простой и - важный - незашифрованный протокол (не используйте его через Интернет) для соединения X-displaymanager и x-server.

ddeimeke
источник
Вы, вероятно, должны отредактировать ответ, чтобы включить немного больше деталей о том, почему и как это работает. Зная, что означают Xming и XDCMP, это лучший выбор.
Ressu
Я сделаю это.
ддеймеке
7

Я не знаю о «лучшем» способе, я думаю, YMMV, но вот довольно полный обзор инструментов в вашем распоряжении: http://www.mynitor.com/2010/02/07/15-remote-desktop- решения-в-Linux /

В частности, вот мой опыт:

  1. nomachine nx - впечатляющая скорость. В его основном режиме вы чувствуете, что вы находитесь перед консолью. Он поддерживает запуск новых сессий, а также теневое копирование консоли (но затенение медленнее). Он поддерживает отсоединение и присоединение к сеансам. Совместное использование буфера обмена работало только для меня, и я не смог это исправить. nomachine предлагает бесплатные серверные и клиентские пакеты с некоторыми лицензионными ограничениями.
    FreeNX построен на библиотеках nomachine nx

  2. x2go - Впечатлил это также особенно перенаправление звука, но я не использовал его так долго, как nomachine nx, потому что узнал об этом позже.

  3. x11vnc - Отличный vnc-сервер, который может подключиться к сеансу консоли. Используется в сочетании с nomachine nx. Я не уверен, можно ли запустить его в автономном режиме, но я перечисляю его, если это возможно, потому что для меня это был самый быстрый сервер VNC.

  4. xrdp - Выглядело многообещающе, но, похоже, не поддерживается. Решение для кочевников OpenSuse основано на xrdp, и я слышал, что кочевник - лучший опыт удаленного рабочего стола, который вы можете получить на Linux.

  5. teamviewer - версия для Linux все еще бета, работает под Wine и потребляет некоторый процессор, но я использовал его совсем недавно, и я был доволен этим. Не уверен, работает ли он на безголовом сервере.

Ли Ло
источник
2

Также рассмотрим xpra , который позволяет вам отсоединиться от запущенного сеанса из другого места, например, «screen for X».

Есть также Window Shifter , интерфейс для xpra, который должен работать и для Windows, см. Демонстрацию .

blueyed
источник
1
Это выглядит интересно.
Ли Ло
1

Хотя по своей природе он небезопасен, вы можете использовать XDMCP в локальной сети. Я часто использую его для доступа к виртуальным машинам. Это так же, как войти на рабочий стол, за исключением того, что вы выбрали удаленный сервер.

Тим Пост
источник
1

Я использую x11vnc , который работает очень хорошо для меня. Это позволяет вам поддерживать постоянную графическую сессию между соединениями, так что вы можете отключиться и снова подключиться, и все будет так, как вы его оставили. Он также поддерживает туннелирование по SSH. Посмотрите эти документы сообщества Ubuntu для краткого описания и некоторых инструкций по его настройке.

Алекс Грин
источник
1

Я успешно использовал freenx в Ubuntu с помощью клиента Windows с http://nomachine.com .

Для меня это означало позволить мне использовать старый планшетный компьютер (который боролся даже с чистой установкой Windows XP) в качестве внешнего интерфейса в более мощную настольную машину Ubuntu.

Единственная проблема, с которой я столкнулся, заключалась в том, что вам нужно было отключить «Визуальные эффекты», чтобы получить достойную производительность.

Я собирался прокомментировать ответ txwikinger с предложением nxserver, но мне не хватает репутации.

Большая волна
источник
1

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

Я использую x2go, который прост в использовании и исключительно прост в использовании. Это дает вам полный рабочий стол, как если бы вы подключили новый экран и клавиатуру к вашему серверу. Он имеет полную функциональность X.

x2go НЕ является решением для удаленного рабочего стола. Вы получаете совершенно новый сеанс. Однако вы можете отключить и повторно подключиться к тому же или другому компьютеру с клиентом x2go; ваш рабочий стол постоянный. Лучше всего то, что рабочий стол на вашем клиентском компьютере полностью масштабируется в режиме реального времени, просто изменяя размер окна.

x2go использует ssh для транспорта, поэтому ваши данные зашифрованы. Это упрощает обход брандмауэров. На скорость не влияет использование ssh для транспорта.

Клиентское программное обеспечение x2go доступно для Linux, Windows и Mac.

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

Хью Бунту
источник