Ubuntu удаленный рабочий стол настройка. Подключение к удаленному рабочему столу Linux из Windows. Подключение к рабочему столу Linux Ubuntu с использованием XDMCP

На днях мне подарили старый ноутбук Compaq nc6120, старичок конечно, но в свое время за такой компьютер я бы многое отдал. Добавил я ему оперативки, переустановил Windows XP и установил на него нужный SEO софт. Этот ноутбук только и нужен мне для того, чтобы у меня была Windows XP и я мог на нём делать то, что не могу сделать в Линукс. Но у ноутбука убитая клавиатура, да и пользоваться двумя мышками не очень удобно. И вот я стал решать, как подключиться к Windows из Linux?


До этого все программы, которые не работают под Linux я . Но виртуальная машина потребляет много ресурсов и мой ноутбук периодически из-за этого зависал. Идеальный вариант сейчас - это удалённо подключиться к виндовс и вывести её рабочий стол на основной монитор. Тогда этот старый ноутбук можно запихнуть куда подальше и подключаться к нему дистанционно, через wifi, например.

Несколько лет назад я проделывал такие вещи и теперь нужно просто вспомнить всё. С чего начнём?

Как настроить удаленный рабочий стол?

Самое простое - это воспользоваться подключением к удалённому рабочему столу Windows. Для этого во тут (как на картинке) у вас должна быть поставлена галочка и включены все службы по умолчанию. Для этого щёлкаем по МОЙ КОМПЬЮТЕР правой кнопкой мыши, выбираем СВОЙСТВА. Затем переходим в вкладку УДАЛЁННЫЕ СЕАНСЫ. И ставим галочку напротив "Разрешить удалённый доступ к этому компьютеру".

После этого нам нужно сделать так, чтобы IP адрес у нас был статический, а не динамический. Для этого сначала . Ищем в меню ПУСК вкладку ВЫПОЛНИТЬ и даём команду cmd . Затем в появившемся терминале даём команду ipconfig .

Мой адрес, как можно видеть, 192.168.1.6, можно такой и сделать статическим. Для этого идём в сетевые подключения, и по значку БЕСПРОВОДНОЕ СЕТЕВОЕ ПОДКЛЮЧЕНИЕ щёлкаем правой кнопкой. Выбираем СВОЙСТВА. В появившемся окошке переходим во вкладку ОБЩЕЕ и выбираем протокол TCP/IP. Щёлкаем по нему и нажимаем кнопку СВОЙСТВА.

Теперь убираем ТОЧКУ с пункта ПОЛУЧИТЬ IP АДРЕС АВТОМАТИЧЕСКИ и переставляем его на ИСПОЛЬЗОВАТЬ СЛЕДУЮЩИЙ IP АДРЕС. Далее прописываем все, как у меня, учитывая только то, что основной IP адрес у вас может быть немного другой.

Если вдруг вам не видно:

192.168.1.6 255.255.255.0 192.168.1.1 8.8.8.8 8.8.4.4

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

Все, с Windows закончили, осталось только установить нужную программу в Linux. Можно установить программу Vinagre, хотя есть и другие. Если она вас не устроит, то откройте Synaptic и в поиск введите слово RDP - протокол этой службы. Найдёте ещё с дюжину программ, которые делают тоже самое.

Ну а мы установим эту программу, Vinagre :

Sudo apt-get install vinagre

После установки идём в МЕНЮ - ИНТЕРНЕТ - ПРОСМОТР УДАЛЁННЫХ РАБОЧИХ СТОЛОВ. Запускаем программу и вводим все, что необходимо: ip адрес, который мы до этого придумали, логин администратора (admin) и размер экрана.

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

Если у вас Windows 7 или 8, то можно все сделать тоже самое. Но я до сих пор уверен, что у майкроофт, с остальными даже бесплатно работать не хочу.

И ещё один момент: в программе вы заметите, что кроме RDP есть и другие протоколы, по которым можно подключиться к Windows - VNC и . Эти протоколы лучше данного, но для подключения по ним нужен дополнительный софт в Windows. Даже больше скажу: нужно запустить VNC или SSH сервер. Я раньше это делал и как это реализовать знаю. Но об этом напишу как нибудь в другой раз:)

Привет! Спасибо за сайт, он классный!
Успехов тебе и развития!

Спасибо, стараемся!

На днях наконец то улучшил эту систему: дело в том, что подключение порой сильно тормозит, так как все идет по вай файл (а это не самая лучшая скорость) плюс через роутер. Так как роутер стоит далеко, то тормоза постоянно.

Я сделал так: у меня есть обычные роутер, как то покупал давно, я соединил им два ноутбука через обычные сетевые карты. На одном поставить адрес 192.168.0.1, а на другом 192.168.0.2 и и там и там маску сети 255.255.255.0

Больше ничего не прописывал. Теперь в удаленном подключении выставляю эти адреса, канал 100 Мбит и все работает как часы.

Все мы хотим работать там, где нам комфортно, и удаленный доступ к системам - очень удобная вещь. Многие удаленные рабочие системным предназначены для подключения и настройки своих узлов. Для компаний это идеально; ну, а любителям оно зачем? Конечно, всем энтузиастам хочется иметь больше одного компьютера, и в подобном случае будет удобно подключиться через вашу собственную сеть или даже через Web.

Есть такие приложения, которые мы не хотим запускать прямо на своем компьютере. На то может быть масса причин: например, вы притворяетесь, что сидите дома, будучи на самом деле за границей. Это, конечно, достижимо благодаря VPN. Кроме того, вы, возможно, захотите отвести для определенных задач отдельную систему или просто администрировать домашнюю систему автоматизации.

Распространенная причина для энтузиастов - проблемы с производительностью. Ноутбуки, способные обработать самую новейшую анимацию или скомпилировать вашу самую последнюю итерацию программы, чересчур дороги, а такую же систему в виде настольного ПК можно получить за относительно скромную сумму. Если вы работаете с Blender, рендеринг можно делать удаленно, а на локальном компьютере ограничиться только отображением всего приложения. Ваша среда разработки может требовать большого объема памяти, и дожидаясь, пока программа скомпилируется, вы бы с удовольствием отключились и занялись чем-нибудь еще.

Так какие у вас есть опции?

Вначале была опция X для SSH (-X). И она работала довольно неплохо - когда ваш удаленный компьютер был не далеко, а рядом с вами, и у вас была гарантированная пропускная способность 100 Мб/с. Использование SSH подобным образом удобно только если для работы с вашими задачами у вас есть сервер без мыши, клавиатуры и монитора - вероятнее всего, файловый сервер или нечто подобное. Если вы хотите использовать старый настольный ПК, который пылится у вас в кладовке, или если вы постоянно находитесь в отъезде, этого будет недостаточно.

Удвоим удовольствие

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

Клиентов, или просмотрщиков , для локального компьютера имеется множество, и многие адаптированы под ваш рабочий стол. Как обычно, всё, что начинается с ‘g’ - для инструментария GTK. Большинство абонентов включены в ваш дистрибутив, и их можно добавить через менеджер пакетов. Ваш автор использует для доступа к своим серверам просмотрщик tigervnc и канал SSH.

При тестировании этого вы должны начать с установки и настройки сервера, а уж потом сможете внести разные клиенты. Установка VNC-сервера на удаленной машине требует привилегий root, если только вы не решите воспользоваться инструментом области пользователя, например, Linuxbrew.

Процедура установки использует обычные команды управления пакетами:

$ sudo apt install vncserver

$ sudo yum install vncserver

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

Теперь хитрость в том, чтобы обеспечить открытость всех портов, и здесь нам опять нужны привилегии root. Обычно vncserver начинает с порта номер 5901 и поднимается вверх по номерам. Однако этот номер можно назначить любым, если только вы не запутаете своих напарников или не обращаетесь к общим портам. Поскольку протокол VNC небезопасен, этот подход не рекомендуется, разве что вы используете его внутри своей собственной сети и при проводном соединении.

Однако, чтобы повысить безопасность, надо пресечь использование порта 59xx. Для этого добавьте опцию “localhost” в виде одной строки в ~/.vnc/config . Следующее относится к приведенному выше примеру, но в таком формате:

Система с такими настройками требует для работы канал SSH. Кстати о нем…

Канал SSH отсюда

Чтобы обеспечить себе зашифрованную коммуникацию, надо создать канал SSH со своего локального компьютера.

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

Сначала выберите порт. Здесь мы взяли 5906, и, следовательно, дисплей (6). Чтобы не было других VNC-сессий на локальном ПК, на локальной стороне канала мы начали с 5910. При настройке полной системы выберите более запоминаемый диапазон портов: $ ssh -L 5910:localhost:5906 На удаленном хосте запустите vncserver; возможно, вам понадобится указать кое-какие параметры для настройки экрана и показателя дисплея.

В данном случае мы хотим запустить сессию, которая выстоит, даже если прервется соединение или мы закроем просмотр-щик. Когда этот режим включен, вы должны задать пароль VNC. Поэтому на удаленном сервер запустите

$ vncpasswd [ your_password ]

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

Чтобы запустить экземпляр сервера, просто запустите команду, и она присвоит очередной дисплей. В нашем случае мы хотим запустить дисплей (а именно, 6), поэтому команда выглядит так:

$ tigervncserver - xstartup / usr / bin / xterm : 6

New ‘DS - Tage . matstage : 6 (matstage ) "desktop at : 6 on machine DS - Tage . matstage

Starting applications specified in / usr / bin / xterm

Log file is / home / matstage / . vnc / DS - Tage . matstage : 6.log

Для подключения к VNC-серверу скомандуйте xtigervncviewer -SecurityTypes VncAuth -passwd /home/matstage/.vnc/passwd:6 .

Как видите, сервер запускается и сообщает вам, что делать для работы с ним. Однако нам нужен доступ к нему с другого компьютера, поэтому мы должны запустить несколько другую команду, чтобы получить корректное отображение. Номер 6 в инструкции относится к дисплею, и он должен соединяться через канал SSH; в этом примере мы соединили 5910 с 5906. При настройке полной системы выберите более запоминаемый диапазон портов.

Если вы запустите абонент без пароля, перед вами появится окно для его ввода:

$ xtigervncviewer localhost : 5910

Очень легко допустить еще одну ошибку: подключиться не к тому порту. В таком случае на стороне сервера вы увидите сообщение, где говорится: ‘channel 3: open failed: connect failed: Connection refused . Это хороший признак того, что связь между компьютерами есть и что вам просто надо подправить настройки.

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

Чтобы остановить свою сессию, вы можете выйти из вашей удаленной сессии или отключить сессию через SSH.

Но остановить сессию надо, сначала ее найдя. Чтобы убедиться, что у вас нет бесконтрольных сессий, сначала сделайте их список:

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

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

$ vncserver - useold - name Blender - xstartup awesome : 6

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

Для получения доступа к этим функциям вы нажимаете на F8 при работающем просмотрщике. Появится всплывающее окно ssvnc, и вы можете выбирать из списка. Начиная сверху списка, у вас есть опция полноэкранного режима. Отправка, F8, F9 и Ctrl + Alt + Del с удаленного ПК блокируются, поскольку их использует просмотрщик. Далее по списку имеются настройки качества, которые можно изменить.

Другие опции в этом всплывающем списке работают с цветом - вы можете изменить глубину цвета и вернуться к градации серого. Из того же окна запускается окно передачи файлов. Это программа Java с одним столбцом для каждой стороны соединения и кнопками между ними для выбора файлов и их отправки.

Файлы частной настройки для ssvnc размещаются в директориях.vnc/, где вы найдете файлы и для других пакетов VNC.

Некоторые из этих пакетов описаны далее. У вас также есть пароли в зашифрованной форме и ключи RSA для аутентификации. Профили, которые вы создаете из GUI ssvnc, хранятся здесь, на случай, если вам понадобится внести изменения с помощью командной строки.

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

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

Время быть реальным

Чтобы установить RealVNC, перейдите на его страницу (www. realvnc.com) и скачайте пакет VNC connect для компьютера, который хотите контролировать. Продолжайте установку так же, как для обычных пакетов для вашего дистрибутива.

$ sudo dpkg - i VNC - Server - 6.2.0 - Linux - x64 . deb

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

На вашем локальном компьютере вы должны следовать обычной процедуре установки пакета VNC-viewer и запуска программы. При первом запуске вам предложат войти в вашу учетку; и зарегистрированные вами компьютеры появятся в вашем списке учетных записей. Программа RealVNC весьма изящна, и вы быстро освоитесь; но если вам надо подключить более пяти компьютеров, придется раскошелиться.

Наш ответ Nomachine

Еще одно решение для удаленной работы - использование протоколов nomachine. Они ведут начало от проприетарного ПО под названием NX. Протокол открытый, что привело к созданию свободной версии и версии с открытым кодом: FreeNX. В настоящий момент самая популярная версия называется x2go. Она дает тяжеловесна по сравнению со сжатым X-протоколом, так что может не подойти вам, если вы используете Wayland. На самом деле, многие рабочие столы не поддерживаются или требуют обходных путей. Однако Mate поддерживается полностью, и если он ваш фаворит, тогда ищите его пакет для удаленной работы. Для лучшей производительности вы также можете использовать LXDE, который отлично сработал у автора.

(1 оценок, среднее: 5,00 из 5)

В этой статье я покажу вам, как можно получить удаленный доступ к компьютеру с Ubuntu. Имеется ввиду доступ к удаленному рабочему столу, т.к. с доступом к консоли все понятно, и наверное SSH особо в описании не нуждается.
Показывать я буду на примере vnc сервера и xrdp. Т.к. если планируете подключаться с компьютера Windows, VNC на нем скорее всего будет работать, мягко говоря не очень быстро, плюс к этому, нужно будет еще поставить VNC клиента на компьютер, а такая возможность есть далеко не всегда. Мы сделаем так, что можно будет подключаться к компьютеру 1) по чистому vnc протоколу, 2) можно будет подключаться по RDP, а уже из под RDP сессии подключаться по VNC к рабочему столу, это позволит не устанавливать дополнительно VNC клиент на компьютер с которого осуществляется подключение.
Требование к этой схеме одно – у вас должен быть белый IP, в идеале лучше использовать VPN или SSH туннель . Давайте начнем с установки VNC сервера на Ubuntu, я предпочитаю x11vnc. Для того что бы его установить нужно набрать в консоли:

Sudo apt-get update sudo apt-get install x11vnc

X11vnc –storepasswd

Будет предложено ввести пароль, и указать, где размещать файл с паролем.
Далее сделаем что бы x11vnc запускался автоматически.

1) Если у вас система использует systemd (например ubuntu 15.04 и выше) нужно создать конфиг:

Sudo nano /lib/systemd/system/x11vnc.service Description=Start x11vnc at startup. After=multi-user.target Type=simple ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/sanglyb/.vnc/passwd -rfbport 5906 -shared WantedBy=multi-user.target

Само собой, за место /home/sanglyb должна быть ваша домашняя папка, или путь до файла который был указан при создании пароля, если он отличается.

После этого нужно выполнить команды:

Sudo systemctl daemon-reload sudo systemctl enable x11vnc.service

2) Если у вас система использует upstart (например старые версии ubuntu до 15.04) нужно создать конфиг, лежать он должен в папке / etc / init / :

Sudo nano /etc/init/x11vnc.conf

И нужно вписать в этот файл следующее содержимое:

Start on login-session-start script /usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/sanglyb/.vnc/passwd -rfbport 5900 -shared end script

Аналогично примеру с systemd, замените путь до файла с паролем для vnc на ваш.

После чего можно запустить x11vnc сервис.

В первом случае:

Sudo service x11vnc start

Во втором:

Sudo start x11vnc

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

Далее можно попробовать подключиться к нашему компьютеру по vnc. Если все прошло удачно, и после перезагрузки компьютера vnc сервер будет запущен, можно переходить к следующему шагу – установке xrdp сервера.
Для его установки нужно набрать в терминале:

Sudo apt-get install xrdp

После этого нужно поправить конфиг:

Sudo nano /etc/xrdp/xrdp.ini

В нем уберем все пункты кроме globals и console (xrdp2) и изменить название с xrdp2 на xrdp1, то есть у вас должны остаться 2 секции:

Bitmap_cache=yes bitmap_compression=yes port=3389 crypt_level=low channel_code=1 max_bpp=24 #black=000000 #grey=d6d3ce #dark_grey=808080 #blue=08246b #dark_blue=08246b #white=ffffff #red=ff0000 #green=00ff00 #background=626c72 name=console lib=libvnc.so ip=127.0.0.1 port=5906 username=na password=ask

После чего нужно набрать команду

Sudo /etc/init.d/xrdp restart

И можно подключаться. После входа по RDP будет окно аторизации, к которое нужно ввести пароль VNC.

Июль 28

В новых версиях Ubuntu уже есть встроенный VNC сервер . Мы будем использовать его стандартные средства. Пока разбирался в данном вопросе — пришлось почитать приличное количество форумов. Так вот, многие пользователи пишут, что в версии ubuntu 14.04 данный фокус не проходит из-за каких-то внутренних тонкостей устройства ядра. Я в данный вопрос глубоко не вдавался…в любом случае, если вдруг вы являетесь счастливым обладателем именно этой версии — можете воспользоваться альтернативным сервером x11vnc.

Ставится он довольно просто:

Sudo apt-get remove vino sudo apt-get install x11vnc

В этой же статье, будет рассмотрен стандартный VNC сервер уже включенный в ubuntu по умолчанию. Как все настроить?

Коннектимся к удаленному хосту.

Подключаемся через ssh к удаленному компьютеру, к которому хотим получить графический доступ. При этом мы должны знать его ip и логин с паролем пользователя — экран которого хотим видеть. По сути — нам подойдут данные любого пользователя с правами sudo, но тогда прийдется донастраивать некоторые моменты.

Итак, допустим в локальной сети мы имеем компьютер под ubuntu с ip адресом 10.20.0.30 и пользователем feanor184 . Коннектимся к нему из консоли с ключем -X (для запуска графических иксов):

Ssh -X [email protected]

вводим пароль и попадаем в консоль нашего удаленного компьютера.

Теперь, вводим в ней:

Sudo vino-preferences

и видим графическое окно

Тут ставим галочки:

allow other users to view your desktop — разрешаем смотреть рабочий стол.

allow other users to control your desktop — разрешаем управлять мышкой и клавиатурой удаленно.

require the user to enter this password — обязательно устанавливаем пароль на подключение. Мало ли кто лазиет в нашей сети

show notification area icon: always — всегда отображаем иконку vnc вверху экрана в трее.

Вы можете выставить так же свои настройки — здесь описаны мои настройки)

Сохраняем настройки и отсоединяемся от удаленного хоста.

Для подключения к настроенному компьютеру используем любой клиент с поддержкой vnc.

Например, Remmina — для Linux.

UltraVNC Viewer — для Windows.

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

Что имеем в итоге?

Мы получили возможность подключаться к удаленному компьютеру под ubuntu и выполнять на нем любые операции так, как если бы мы сами сидели за его монитором

Если по какой-либо причине тебе потребовалось получить доступ к удаленной машине с Ubuntu именно через RDP, то не отчаивайся — все возможно! Для этого существует инструмент под названием xrdp. В данной инструкции я расскажу, как можно подключиться к Ubuntu через RDP из Windows.

Установка необходимых пакетов

Нам потребуется установить в систему два пакета — xrdp и xorgxrdp, но второй итак находится в зависимостях первого, поэтому достаточно выполнить одну команду:

Sudo apt install xrdp

Настройка xrdp

Для корректной работы необходимо, чтобы был открыт TCP порт 3389 — убедись, что твой брандмауэр не блокирует данный порт.
Также, если в системе не установлено ни одно окружение рабочего стола — то стоит его установить, например Xfce, сделать это можно командой:

Sudo apt install xfce4

Также в домашнем каталоге пользователя, от имени которого будет происходить вход в систему должен быть расположен файл .xsession в котором указана команда запуска оболочки, в нашем примере это startxfce4 (для запуска xfce). После создания этого файла выполни команду sudo systemctl restart xrdp для обновления конфигурации xrdp (если он уже был запущен).

Запуск xrdp

Для запуска сервиса следует выполнить команду:

Sudo systemctl start xrdp

а для того, чтобы xrdp стартовал вместе с системой (не обязательно) команду:

Sudo systemctl enable xrdp

Соответственно остановка и отключение автозапуска сервиса:

Sudo systemctl stop xrdp sudo systemctl disable xrdp

Подключение из Windows

Открываем меню подключения к удаленному рабочему столу. Универсальный способ сделать это — через «Выполнить» — нажимаем Win+R и в открывшемся окне набираем mstsc:

В открывшемся окне указываем машины с Ubuntu и жмем «Подключить»:

В появившемся приглашении указываем данные учетной записи в Ubuntu от имени которой будет происходить подключение:

И, после нажатия «Ok», попадаем в систему:

В данном примере была использована Ubuntu 18.04 и Windows 10.