Удаленный рабочий стол на VPS-хостинге

Dmitry Kornev
  • 5 декабря 2013
  • 47k

Ранее бывало, что я оставлял включенным дома компьютер, чтобы потом удаленно зайти на него и выполнить какие-то действия, которые не мог делать мобильно или на работе. Теперь для этой цели я стал использовать VPS-хостинг и связку Debian 6.0 +LXDE +XRDP. Подключиться к такому столу можно отовсюду — из iOS, Android, Windows.


Почему на хостинге лучше, чем дома?

Не факт, что лучше. В том и другом варианте есть свои плюсы и минусы. Мне понравилось, что я могу воспользоваться хостингом в любой точке планеты, иногда это полезно. Еще плюс на мой взгляд в том, что это еще один независимый «компьютер» со своим дисковым пространством, не мотающий электричество и стоящий недорого. Главный минус — это конфиденциальность. Можно, конечно, принять ряд мер, но она все равно будет под вопросом.


Выбор хостинга

Я предпочитаю VPS/VDS, реализованный с использованием технологий XEN, KVM. Последний вариант предпочтительней, но XEN тоже очень хорош. Если говорить простым языком, то хостинг VPS/VDS — виртуальный компьютер, работающий в рамках физического компьютера. На одном физическом компьютере может быть запущено очень и очень много виртуальных. Иногда хостинги наглеют и размещают их больше, чем положено. В результате «виртуалки» начинают «тормозить» и мешаться друг другу. Названные технологии гарантируют, что такого не будет, ресурсы для них выделяются жестко. А вот всякие OpenVZ этого не гарантируют, да и у них есть другие минусы.

Стоимость хостинга VPS/VDS на XEN/KVM начинается от 6-8 долларов в месяц с лимитированным трафиком. С безлимитным трафиком от 12-14 долларов. В России брать не советую, стабильность хромает, да и дороже. Лучше в Германии или других странах поблизости. Если большой пинг не смущает, то можно в США. Я здесь писал про достаточно хорошего хостера. Он действительно хорош! До сих пор им пользуюсь. Есть русская поддержка, цены неплохие, плюс безлимитный трафик. Еще варианты можно поискать здесь.

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


Выбор операционной системы

Если вы слишком дружны с Windows, то можете арендовать сервер именно с этой операционной системой. Получите тот же интерфейс, знакомые диалоги, возможность ставить привычный софт и т.д. Серверный вариант Windows мало чем отличается от десктоп, особенно для поставленной задачи.

Я как-то последнее время от Windows начинаю сторониться, особенно после появления Windows 8. По-моему, если нет нужды иметь именно Windows-сервер, то лучше всего для сервера — это Linux. Профессионалы обычно выбирают для серверов Debian. Можно выбрать Ubuntu, если первый вариант хостер не предлагает. Хотя я с таким не сталкивался. Версия — лучше, конечно, поновее. На текущий момент нормой является Debian 7.0, но вполне еще жив Debian 6.0. Еще даже не объявлена дата окончания его поддержки, так что шестую версию, думаю, еще долго можно использовать. Я ее выбрал из-за отсутствия семерки среди дистрибутивов у хостера. Разрядность следует выбирать — 32 бита, если у вашего VPS/VDS-сервера оперативной памяти в пределах 2Гб, если больше, то там уже можно подумать.


Выбор конфигурации

Если необходим простой удаленный рабочий стол с Linux, то достаточно конфигурации порядка 512Мб/15Гб – это объем памяти и накопителя. Можно еще посмотреть, чтобы частота процессора была повыше, и было несколько ядер. Хотя это уже второстепенно. Чаще всего, все определяется объемом памяти — если ее достаточно, то остального и подавно хватит. Если вы хотите запускать много софта или будете выполнять другие ресурсоемкие задачи, то смотрите уже сами.

Под простой удаленный рабочий стол с использованием Debian 6.0 +LXDE +XRDP достаточно 512Мб памяти.

Коротко о компонентах:

  • LXDE — это легкая, простая, удобная графическая оболочка. Внизу у нее панелька, на которой слева выпадающее меню, справа часы и другие иконки — все стандартно и привычно. Главная ее фишка в нетребовательности к ресурсам, что важно для нас.
  • XRDP — это софт под Linux для работы удаленного рабочего стола. Он использует протокол RDP, который является родным для Windows. Интересен протокол тем, что имеет клиенты под самые разные операционные системы. Для меня было важно, чтобы я мог подключаться с iOS, Android, Windows. Еще большой плюс в его алгоритме работы. Он более легкий, оптимизированный, в отличие от VNC. При мобильной работе через 3G-интернет и т.д. — это важно.

Система Debian 6.0 +LXDE +XRDP «съедает» примерно 1,5Гб диска, 105Мб памяти, т.е. чуть более 400Мб памяти остается для работы прочего софта. Это немного, но для простых задач достаточно.


Настройка

Устанавливать систему обычно не требуется. Вы при заказе хостинга выбираете просто нужный дистрибутив. Хостер предоставляет вам его уже в готовом виде, остается только войти в консоль, используя root-доступ. Хорошие хостеры дают дополнительно доступ к специальной панели управления, откуда можно в любой момент переустановить систему, просто выбрав из списка нужную, и подтвердив действие.

При заказе VPS/VDS-сервера хостер может спросить hostname. Если вы не планируете работать с электронной почтой средствами сервера, то можете указать что угодно, например, «myserver». В другом случае у вас должен быть домен и именно его нужно указывать.

Для подключения к вашему VPS/VDS-серверу возможны варианты, но чаще всего это SSH-доступ. Хостер сообщает необходимую информацию. Имея SSH-доступ подключиться к своему серверу из Linux можно из консоли, команда ssh имя@ip. Здесь — имя — это обычно root, ip – это IP-адрес вашего VPS/VDS-сервера. Для подключения по SSH из Windows есть программа Putty.

Итак, вы подключены к консоли своего VPS/VDS-сервера, теперь выполняем команды.

Обновляем систему:

apt-get update
apt-get upgrade
apt-get dist-upgrade

Устанавливаем графическую оболочку:

apt-get install lxde xorg xterm

Устанавливаем XRDP:

apt-get install xrdp

Все! Ничего специально настраивать не нужно. В крайнем случае это можно сделать потом. Перезапускам сервер. Можно из консоли — команда reboot. Подождите пару минут, чтобы ваш сервер успел перезапуститься, после этого можете пробовать подключаться к нему, уже по протоколу RDP.

Из под Windows – это программа в «Пуск», «Все программы», «Стандартные», «Подключение к удаленному рабочему столу». Введите IP сервера.

Подключение к удаленному рабочему столу

В параметрах, при желании, можете задать настройки отображения — 1024x768x16-бит.

Настройки удаленного рабочего стола

Все, — вперед. Когда подключитесь, то выберите в выпадающем меню модуль «sesman-Xvnc», введите свой логин (root) и пароль.

Подключение с помощью XRDP

Получаем следующий результат:

Удаленный рабочий стол на VPS-хостинге

Для подключения из под iOS и Android мне понравилась программа PocketCloud. В ней можно создать соединение, сразу указав логин и пароль. После этого для подключения достаточно будет пары кликов. У меня сразу заработало, результат тот же:

PocketCloudPocketCloudРабочий стол на VPS через iPad

Можно устанавливать рабочий софт. Установка софта под Linux делается из консоли. Далее пара примеров.

Устанавливаем MC (полезный файловый менеджер для консоли):

apt-get install mc

Устанавливаем IceWeasel (аналог Mozilla Firefox для Debian):

apt-get install iceweasel

В общем, все достаточно просто. Поиск вам в помощь.


Проблемы

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

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

Решение

Во-вторых, у меня не получилось добавить русскую раскладку клавиатуры. Доступна только английская. Решения в поиске опять же есть, но они не работают. Здесь проблема скорее всего из-за выбранного режима работы XRDP, а именно «sesman-Xvnc». Вероятно, она решится если использовать «sesman-X11rdp». Для последнего режима надо установить соответствующий софт. В стандартном репозитории Debian нет X11rdp, собирать что-то «руками» я не люблю. Вот, кто хочет попробовать.

Решение

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


Что еще?

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

Комментарии

Я может не догоняю, а зачем это вообще нужно? Чтобы носить с собой не ноут с полноценной ОС, а 500г планшет с инетом? Так сейчас есть х86 девайсы и ставь туды хоть Убунту, хоть Хакинтош, я уж не говорю про форточки...
Планшет с x86 - это наверно прикольно, но это узкоспециализированная вещь. Для всего остального таскать второй планшет? :-) Мне нравится iOS, но иногда в ней что-то сделать не удается, и как раз для этого я делал такой удаленный рабочий стол. Цепляться к нему можно хоть с планшета, хоть с обычного компьютера, если понадобится.
а как удалить сборку XRDP и X11rdp «руками», и поставить всё как было. Попытался поудалять руками, теперь у меня ничего вообще не работает. Попытался всё переустановить, теперь запускаю службу XRDP пишет


root@sgold:~# service xrdp start
xrdp: unrecognized service
Не люблю мусор в системе, обычно сначала наэксперементируюсь вдоволь, а потом еще раз все с чистого листа по пунктикам, именно как надо. Делов-то... всего несколько команд...
очень с большими мучениями вроде вернул чтобы заработало, скажи а у тебя работает переключалка на русский язык уже когда ты вошёл в сеанс (уже видишь рабочий стол там итп)? просто у меня только английский
Тоже только английский, я писал про это в статье. Чтобы работал русский это надо именно XRDP+X11RDP. Вот здесь есть про полуавтоматический способ установки этой связки. Ставится легко, но работает тоже не сильно стабильно.
Да я всё делаю как там, потом у меня появляется другое окошко XRDP, вбиваю логин/пароль - RDP клиент просто вылетает, и ничего не происходит ... такие дела, ошибок при компиляции и сборки нет
Возможно что-то лишнее уже есть в системе или было. Бывало у меня и такое, что тоже нифига не работало. Но если с нуля, и только все по инструкции, то в итоге у меня все получалось.

Сейчас машину уже прибил, но в будущем может понадобится снова... Как-то мне запомнилось, что ничего сложного в настройке нет. Настройка - это лишь вопрос времени, причем 99% времени - просто ожидания, пока оно само ставится.
Пользуюсь Thinstuff XP/VS Terminal Server, альтернативный вариант описанному в статье способу, но для большого кол-ва пользователей и для стабильной работы сервера/пользователей рекомендую использовать её. Главные плюсы этой программки это стабильность и её недорогая стоимость. В общем советую!!!
Это вообще из другой области. На свой рабочий или домашний комп с Windows можно много чего поставить. Но уж лучше тогда встроенный функционал Windows использовать! Я про RDP (Remote Desktop Protocol). Это уже оплачено, если у вас лицензия Windows полная. А кроме того не забываем про безопасность, анонимность и т.д. В этом вопросе лучше довериться Microsoft и RDP, чем левым каким-то малоизвестным разработчикам. Кто знает, что они там напрограммировали. Если вообще никому доверяться не хочется, то только Open Source, т.е. описанное в статье решение!
Сделал все в точности, как в Вашей статье, но к сожалению ни с первого раза ни с двадцатого подключится к серверу не удается... Хотя все компоненты установлены и обновлены. При попытке подключения, Подключение к удаленному рабочему столу долго думает (10-15 секунд) и выдает сообщение об ошибке -
Удаленному рабочему столу не удалось подключиться к удаленному компьютеру по одной из следующих причин:

1) Не включен удаленный доступ к серверу
2) Удаленный компьютер выключен
3) Удаленный компьютер не подключен к сети

Удостоверьтесь, что удаленный компьютер включен, подключен к сети и удаленный доступ к нему включен.
---------------------------
ОК Справка
---------------------------
Вопрос - что не так и в какую сторону копать?
Разобрался с данным вопросом. Дело было в том, что в админке хостинга IP для доступа ROOT пользователя через терминал один, а IP для доступа через RDP - другой. Не знаю, как так. Но имеем, то что имеем.