В мире ИТ существует уже довольно широкий спектр операционных систем, начиная с серверных, заканчивая операционными системами для мобильных устройств. В обычных пользовательских компьютерах и в серверах довольно часто используются две ОС — Linux и Windows. Поэтому очень часто возникают ситуации, когда приходится подключаться по сети из одной операционной системы к другой для выполнения разнообразных операций.
В этой статье мы рассмотрим варианты подключения к Linux из Windows. Существуют бесплатные и условно бесплатные утилиты вроде AnyDesk или TeamViewer, но установка их довольно тривиальна и не нуждается в дополнительном пояснении. Утилиты подобного рода обладают рядом ограничений при бесплатном некоммерческом использовании, либо их функциональность не удовлетворяет тем или иным потребностям пользователя. Мы рассмотрим полностью бесплатные способы как подключится к Linux из Windows.
Удалённый доступ к Linux с помощью VNC
На сегодняшний день самое популярное удаленное подключение к Linux из Windows, с использованием привычный в Windows графического интерфейса, является VNC (Virtual Network Computing) — утилита, использующая протокол RFB (Remote FrameBuffer — удалённый кадровый буфер). Управление осуществляется путём передачи нажатий клавиш на клавиатуре и движений мыши с одного компьютера на другой и ретрансляции содержимого экрана через компьютерную сеть.
В качестве сервера VNC в данном примере будет использоваться TightVNC, установленный в Ubuntu 20.04. Для установки сервера VNC необходимо выполнить ряд действий:
Шаг 1. Установка рабочей среды XFCE
Xfce — одна из самых легковесных рабочих сред, используемых в Linux, она будет быстро работать даже при слабом и нестабильном сетевом подключении. Установите её с помощью команд:
sudo apt update
sudo apt install xfce4 xfce4-goodies
Шаг 2. Установка TightVNC
Далее установите TightVNC:
sudo apt install tightvncserver
Шаг 3. Настройка пароля
Перед началом выполнения всех действий необходимо задать пароль пользователя VNC. Выполните команду:
vncpasswd
Вам будет предложено создать новый пароль, а также пароль только для просмотра. Откажитесь от второй опции:
Завершите процесс vncserver:
vncserver -kill :1
Шаг 4. Настройка скрипта запуска
Отредактируйте скрипт, который выполняется после запуска VNC-сервера:
nano ~/.vnc/xstartup
Он должен содержать такой текст:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &
Сделайте файл исполняемым:
chmod +x ~/.vnc/xstartup
Шаг 5. Запуск VNC сервера
На этом этапе уже можно запустить VNC-сервер с помощью команды:
vncserver
Шаг 6. Подключение из Windows
Для того, чтобы подключиться из Windows к вашему Linux-серверу, используйте TightVNC Viewer.
Укажите IP-адрес компьютера, к которому нужно подключиться, и номер порта в поле Remote Host. В данном примере — 192.168.56.102::5901:
После того, как будет введён пароль, вы должны увидеть рабочий стол Xfce:
Шаг 8. Настройка systemd
Для того, чтобы запуск вашего VNC-сервера добавить в автозагрузку надо использовать systemd. Создайте новый файл сервиса systemd:
sudo nano /etc/systemd/system/vncserver@.service
Его содержимое должно быть следующим:
[Unit]
Description=Systemd VNC server startup script for Ubuntu 20.04
After=syslog.target network.target
[Service]
Type=forking
User=ubuntu
ExecStartPre=-/usr/bin/vncserver -kill :%i &> /dev/null
ExecStart=/usr/bin/vncserver -depth 24 -geometry 800x600 :%i
PIDFile=/home/ubuntu/.vnc/%H:%i.pid
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
Измените имя пользователя ubuntu и рабочего каталога ubuntu на нужные вам значения. Если у вас запущен VNC-сервер, остановите его:
vncserver -kill :1
Сообщите systemd о появлении нового сервиса:
sudo systemctl daemon-reload
Добавьте запуск вашего нового сервиса в список автозагрузки:
sudo systemctl enable vncserver@1.service
Запустите VNC-сервер:
sudo systemctl start vncserver@1
Использование RDP для удалённого подключения
Помимо VNC, для управления Linux-сервером из Windows можно воспользоваться RDP (Remote Desktop Protocol). Для этого на компьютере с Ubuntu 20.04 установите утилиту xrdp:
sudo apt install xrdp
Для корректной работы сервиса необходимо добавить пользователя xrdp в группу ssl-cert:
sudo adduser xrdp ssl-cert
Установите Xfce:
sudo apt-get install xfce4
Добавьте Xfce в сессии RDP в качестве рабочего стола по умолчанию:
echo xfce4-session >~/.xsession
Перезапустите сервис xrdp:
sudo systemctl restart xrdp.service
Процедура подключения из Windows к Linux-серверу по протоколу RDP почти ничем не отличается от подключения к удалённым Windows-серверам. Введите IP-адрес сервера, логин и пароль пользователя в Linux:
Если всё сделано правильно, вы увидите рабочий стол Xfce:
Для подключения к компьютеру под управлением Linux по протоколу SSH из Windows можно воспользоваться PowerShell. Сначала становите OpenSSH Client, если ещё не установлен. Запустите на вашем компьютере PowerShell от имени администратора системы и выполните следующую команду:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
Это необходимо для того, чтобы узнать текущую версию SSH-клиента. В данном примере доступна версия OpenSSH.Client-0.0.1.0. Установите OpenSSH.Client с помощью команды:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Для того, чтобы подключиться к устройству, на котором запущен SSH-сервер, необходимо ввести имя пользователя и IP-адрес. Команда для подключения по SSH используя PowerShell выглядит так:
ssh ubuntu@192.168.56.1
Здесь ubuntu — имя пользователя на удалённом компьютере, а 192.168.56.1 — IP-адрес Linux-сервера, на котором запущен демон SSH.
При первом подключении необходимо подтвердить использование специального персонального ключа для шифрованного соединения по SSH-протоколу (введите слово Yes), затем введите пароль пользователя (в данном случае для пользователя ubuntu):
Как видите, соединение прошло успешно. Теперь можно выполнять все команды так же, как если бы вы их выполняли используя стандартный Linux SSH-клиент:
Для завершения терминальной сессии на удалённом компьютере введите команду exit. Теперь вы знаете как выполняется подключение к Linux из Windows по SSH.
Использование Putty для подключения к Linux
Пожалуй, одним из самых популярных способов подключения к Linux из Windows является кроссплатформенная утилита Putty — небольшая по размерам, но очень часто незаменима для подключения по таким протоколам как SSH, Telnet, rlogin и даже с помощью последовательных портов.
Для обычного подключения к Linux-серверу по протоколу SSH достаточно в поле Host Name (or IP—address) указать его IP-адрес и нажать кнопку Open (в данном примере Linux-сервер имеет IP-адрес: 192.168.56.102):
При первом подключении Putty предупредит, что используется специальный ключ безопасности и его нужно добавить в доверенные хосты. Нажмите кнопку Да:
Далее нужно будет ввести логин и пароль. Если всё сделано правильно, запустится удалённая сессия терминала Linux:
Мало кто знает, что Putty позволяет запустить почти любое приложение, установленное на компьютере с Linux, по сети в Windows. Для этого на компьютере с Windows нужно установить собственный X-сервер. В данном примере воспользуемся Xming.
Скачайте Xming с официального сайта. Установка довольно тривиальная, поэтому не будем на ней останавливаться. Ничего не меняйте в процессе установки. Просто нажимайте кнопку Next до тех пор, пока программа не установится и не запустится:
Когда установка Xming завершится, откройте Putty и в настройках сессии для вашего подключения в разделе SSH -> X11 включите флажок напротив опции Enable X11 forwarding, а также, в строке Отображение дисплея X впишите значение localhost:0, после чего откройте сессию подключения с помощью кнопки Open:
В открывшемся терминале Putty введите консольное название программы, обладающей графическим интерфейсом. В данном примере введено название графического редактора drawing:
drawing &
(Знак & позволит запустить программу в фоновом режиме, в этом случае в окне Putty можно будет выполнять и другие команды):
Как видите, Linux-приложение drawing успешно запустилось по сети на X-сервере, установленном в Windows. С ним можно работать так же, как и с локальным приложением.
Выводы
Сегодня не существует слишком уж больших проблем для подключения к Linux из Windows. Способов существует довольно много. Каждый из них обладает своими достоинствами и недостатками, например, скорость работы VNC, да и других тоже, существенно зависит от скорости сетевого соединения. Существуют также программные средства, позволяющие подключаться к Linux-серверам используя мессенджеры или браузеры.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Создавая виртуальный сервер на VPS.house, вы получаете полностью 100% готовую к использованию операционную систему Windows Server, к которому сразу же можно подключаться по сети с любого внешнего устройства по протолку RDP.
RDP (Remote Desktop Protocol) – специальный протокол, разработанный компанией Microsoft для удаленного управления ОС Windows (протокол удалённого рабочего стола). Изначально, разумеется, как и многие вещи под Windows, этот протокол разработали другие люди, но в настоящее время поддерживает его и развивает Microsoft.
Согласно условиям лицензирования, ОС Windows Server допускает по умолчанию не более 2-х одновременных подключений по RDP к серверу, если нужно больше, то понимается терминальный сервер и лицензируется либо количество пользователей, либо количество подключаемых устройств. Но, подключившись к серверу по RDP, вы также можете поставить любое удобное вам решение для удалённого управления рабочим столом: TeamViewer, RAdmin и прочие.
Данная статья описывает процесс подключения к серверу Windows по RDP с многих популярных операционных систем. Ввиду этого получилась она довольно длинной. Моментально перейти к нужному вам разделу вы можете по этому меню:
Подключение в VPS серверу из десктопной Windows
Данная инструкция проверена и работает успешно на всех популярных версиях Windows для персональных компьютеров: XP, Vista, Windows 7, 8, 8.1 и 10.
В каждой операционной системе Windows есть встроенное приложение для подключения по RDP – это программа «Подключение к удалённому рабочему столу» (Remote Desktop Connection в англоязычных ОС).
Для запуска ее зайдите по пути:
Пуск -> Программы -> Стандартные -> Подключение к удалённому рабочему столу
Если вы используете Windows 8, тогда:
Пуск -> Приложения -> Подключение к удалённому рабочему столу
Если вы используете Windows 10, тогда:
Пуск -> Все приложения (может этого пункта не быть!) -> Стандартные Windows -> Подключение к удалённому рабочему столу
Или же просто нажмите комбинацию клавиш Win+R и в открывшемся окне наберите mstsc
В открывшемся окне наберите IP-адрес вашего виртуального сервера и нажмите кнопку «Подключить». IP-адрес сервера вы можете видеть в вашем личном кабинете в разделе «Мои серверы»:
Если вы заказали сервер с 2-я или большим количеством IP-адресов, то для подключения к серверу вы можете использовать любой из них – это ни на что не влияет.
Те, кто впервые стакиваются с созданием удалённого рабочего стола, часто задаются вопросом «Зачем нужны эти IP-адреса и сколько нужно именно им», часто также путают количество IP-адресов с количеством рабочих столов или учётных записей, или полагают, что если зайти на сервер по одному адресу, то открывая браузер именно этот адрес будет браузер использовать. Нас самом же деле это всего лишь список внешних адресов, по которому можно подключиться к серверу, сама работа на сервере уже после подключения никаким образом не меняется.
Чаща всего при подключении по умолчанию настроена автоматическая передача данных из буфера обмена, а также подключаются к серверу и становятся на нём видны локальные диски устройства, с которого вы подключаетесь. При сразу после нажатия на кнопку «Подключить» вы можете увидеть уведомление о возможном вреде, который может нанести как удалённый компьютер вашему, так и ваш удалённому. Такое вполне возможно если вы подключаетесь к чужому серверу, на котором могут быть вирусы или вы подключаетесь к своему проведенному серверу с чужого заражённого ПК.
Подключаясь к только что созданному и чистому серверу можно смело отключить дальнейшие уведомления и продолжить процесс подключения.
Далее вы увидите окно с вводом авторизационных данных:
При создании каждого нового сервера система VPS.house автоматически генерирует новый уникальный пароль для него, при этом на всех серверах Windows по умолчанию остаётся имя пользователя Administrator. Пароль от сервера отображается также в личном кабинете возле вашего сервера на странице «Мои серверы»:
В целях безопасности, по умолчанию пароль от сервера скрыт и отображается только по нажатию на ссылку «Показать пароль», при этом сайт попросит вас ввести пароль от вашей учётной записи на VPS.house.
Обратите, пожалуйста, внимание на то, что очень часто при попытке подключения с Windows 7 если копировать и вставлять пароль, система показывает ошибку о неверно введённых учетных данных, тоже самое может возникать и в других версиях. Если вы с этим столкнулись, просто
введите пароль вручную
и обязательно с учётом регистра (заглавные буквы вводите заглавными, а строчные строчными и строго в английской раскладке клавиатуры).
После успешной авторизации перед началом сессии вы получите уведомление о неуспешной проверке подлинности удаленного компьютера. Причина этого уведомления в том, что сессия на стороне сервера шифруется по умолчанию с помощью SSL-сертификата, который сгенерировал сам же сервер, а не тем, что мог быть выдан авторизованным центром сертификации.
Данное уведомление не говорит о проблемах безопасности, и вы смело можете отключить его для будущих подключений к этому же серверу, отметив галочкой «Больше не выводить запрос о подключениях к этому компьютеру».
Если вы используете для работы Windows XP и при подключении система выдает ошибку с текстом «Удаленный компьютер требует проверку подлинности на уровне сети, которую данный компьютер не поддерживает», значит на ваш ПК очень сильно устарел и нужно дополнительно установить небольшое обновление, где его взять и как установить
мы подробно расписали здесь
.
Встроенная программа подключения к удалённому рабочему столу позволяет с лёгкостью передавать файлы на сервер, копируя их на вашем ПК и вставляя в любую папку уже на самом сервере и наоборот. Помимо этого, можно включить передачу на сервер практически любых USB-устройств и сетевых принтеров и сканеров.
Для включения этих возможностей перед подключением к серверу нажмите на кнопку «Показать параметры»:
Откроется режим расширенных настроек подключения к вашему VDS серверу. Перейдите на вкладку «Локальные ресурсы» и отметьте галочкой требуемые для вас устройства:
Еще одна очень полезная и популярная функция – это возможность создать готовый файл подключения (так называемый «ярлык»), в котором уже сохранены все нужные вам настройки и данные авторизации на сервере. Это особенно удобно если вы хотите дать доступ сотруднику, который не является опытным пользователем ПК.
Для этого также в расширенных настройках подключения на вкладке «Общие» введите имя пользователя (на серверах VPS.house это всегда по умолчанию Administrator), отметьте галочкой «Разрешить мне сохранять учетные данные», чтобы не приходилось вводить пароль каждый раз и, по завершению внесения всех нужных вам остальных параметров подключения (если таковые есть), нажиме кнопку «Сохранить как»:
В итоге вы получите готовый файл с подключением, который вы можете отправить вашему коллеге и тот в свою очередь подключится к серверу 2-я простыми кликами по нему мышкой.
В целях безопасности по умолчанию в данный файл не будет добавлен пароль от учётной записи, он будет запрошен при первом подключении.
Как подключиться к серверу по RDP если вы работаете с Ubuntu
Протокол подключения к уделённому рабочему столу Windows (RDP) – это закрытый протокол компании Microsoft, официальных служб под операционные системы Linux Microsoft не выпускает, но так или иначе уже давно существуют стабильно работающие решения, которые в последних редакциях Ubuntu даже включены в изначальную сборку.
Речи идет о клиенте под названием Remmina
По умолчанию если Remmina включена в вашу сборку, вы можете найти ее в Поиске по запросу «Remote Desktop Client», если ее нет, то установите ее при помощи следующих команд в Терминале.
- Устанавливаем пакет Remmina
sudo apt-add-repository ppa:remmina-ppa-team/remmina-next
- Устанавливаем обновления
sudo apt-get update
- Устанавливаем плагин протокола RDP
sudo apt-get install remmina remmina-plugin-rdp libfreerdp-plugins-standard
- Если ранее у вас уже была установлена какая-либо версия Remmina или была запущена до установки, то ее необходимо перезапустить. Это лучше всего сделать перезагрузкой компьютера или с помощью команды:
udo killall remmina
Если после её выполнения вы получили сообщение об ошибке типа «процесс не найден», значит и так все хорошо и можно было команду и не выполнять.
В меню поиска наберите «remote desktop» или «remmina», чтобы найти установленное приложение:
Remmina позволяет добавлять и сохранять список подключений для быстрого доступа к тому или иному серверу. Для сознания нового нажмите на «+», как показано на изображении:
Заполните поля авторизационными данными, которые
указаны в вашем личном кабинете
:
На вкладке «Advanced» вы можете также указать качество подключения к серверу и детализации при передаче изображений:
После сохранения данных вы всегда сможете найти ваш сервер в списке подключений Remmina. Для подключения к серверу теперь достаточно просто кликнуть дважды мышкой по строке сервера:
Если вы подключаетесь к серверу впервые с этого приложения, то оно может показать информацию о ошибке в сертификате безопасности. Почему это происходит
мы описали выше в блоке подключения к серверу из десктопной Windows
.
Достаточно нажать «ОК» и программа продолжит подключение к вашему серверу:
Как подключиться к серверу по RDP если вы работаете с Debian
Протокол RDP (Remote Desktop Protocol) – это закрытый протокол удалённого рабочего стола Microsoft. К сожалению, они не выпускают официальных клиентов для работы подключения к серверам Windows с операционных систем, работающих на базе Linux. Однако уже довольно давно существуют стабильно работающие решения.
Одно из самых популярных – это клиент для всевозможных удалённых Remmina, именно его мы и рекомендуем использовать для включения к серверам VPS.house или любым другим под управлением ОС Windows.
- Указываем путь к установочным файлам
echo 'deb http://ftp.debian.org/debian stretch-backports main' | sudo tee --append /etc/apt/sources.list.d/stretch-backports.list >> /dev/null
- Запускаем процесс установки
sudo apt update
- Устанавливаем плагин протокола RDP
sudo apt install -t stretch-backports remmina remmina-plugin-rdp remmina-plugin-secret libfreerdp-plugins-standard
Сразу после установки приложение можно найти через поиск программ:
В отличие стандартного от RDP-клиента ОС Windows, Remmina позволяет сохранять в список все свои подключения к различным серверам и осуществлять моментальный доступ к ним. Для добавления первого сервера в список нажмите «+» в левом верхнем углу:
В открывшемся окне задайте параметры подключения к вашему серверу и введите удобное для запоминания имя сервера. Все необходимые для подключения данных указаны в вашем личном кабинете:
На вкладке «Advanced» («Дополнительные») вы можете задать параметры передачи звука с сервера на ваш ПК, а также качество передаваемого изображения при подключении:
После сохранения я настроек вы увидите новую строку в списке подключений. Для начала работы с сервером достаточно просто дважды кликнуть по нему мышкой:
В момент первого подключения к серверу Remmina покажет уведомление у недоверенном сертификате шифрования. Это не является какой-либо ошибкой или проблемой безопасности. Причину этого сообщения мы описали выше. Просто нажмите «ОК» и вы увидите рабочий стол вашего сервера, при условии, разумеется, что все данные для подключения ранее были введены корректно.
Подключение серверу по RDP из Mac OS
Для подключения к удалённому рабочему столу для Mac OS компания Microsoft разработала и поддерживает официальный RDP-клиент. Он стабильно работает с любыми версиями ОС Windows.
Для загрузки его перейдите на сайт iTunes: https://itunes.apple.com/gb/app/id715768417
Программа обладает интуитивно понятным интерфейсом и позволяет создавать список серверов для дальнейшего моментального подключения к ним.
Для добавления нового сервера в список нажмите «New», как показано на скриншоте:
В открывшемся окне укажите авторизационные данные, как указано
в вашем личном кабинете
(IP-адрес сервера, логин Administrator и его пароль), и укажите произвольное название для нового подключения (Connection Name).
По завершению ввода нажмите на кнопку закрытия окна – все данных сохранятся и появится строчка с вашим сервером в списке подключений:
Кликните на эту строчку дважды мышкой, и вы подключитесь к серверу.
При попытке подключения к вашему VPS серверу если он работает на Windows Server 2008 или более новой версии, программа покажет уведомление о том, что не удалось проверить сертификат шифрования. Это не является проблемой безопасности, а всего лишь говорит о том, что сертификат выдан не сертифицированным центром, а сгенерирован самим же сервером.
Для того, чтобы это сообщение в будущем не возникало для этого сервера, нажмите «Показать сертификат».
Отметьте галочкой «Всегда доверять…» и нажмите «Continue».
Если в настройках подключения все параметры были введены без ошибок (IP-адрес, логин и пароль), то вы сразу же увидите рабочий стол вашего Windows Server:
Подключение к VDS серверу со смартфона или планшета на iOS (с iPhone или iPad)
Для iOS копания Microsoft выпускает полноценный официальный RDP-клиент комфортного и стабильного подключения к удалённому рабочему столу. Приложение называется Microsoft Remote Desktop или Удаленный рабочий стол: https://itunes.apple.com/ru/app/id714464092
Microsoft Remote Desktop позволяет заранее настроить целый список используемых вами для частого подключения серверов.
Специфика его работы заключается в том, что информация об учётных записях создаётся и хранится отдельно от самого списка серверов. Соответственно, для начала нам требуется добавить учётную запись пользователя Administrator. Для этого нажмите на кнопку настроек (иконка шестерёнок в верхнем левом углу) и выберите «Учётные записи»:
В открывшемся окне нажмите на «Добавление учётной записи пользователя» и введите логин Administrator и его пароль, как отображается
в вашем личном кабинете
:
По завершению вы увидите, что учётная запись Administrator добавлена в список, далее нажмите кнопку «Готово» и вы вернетесь на стартовый экран.
Следующим шагом добавляется непосредственно информация о самом сервере. Нажмите кнопку «+» в правом верхнем углу приложения и в открывшемся меню выберите «Рабочий стол»:
В окне добавления нового подключения укажите IP-адрес вашего сервера и выдерите учётную запись Administrator, добавленную на прошлом шаге:
В момент первого подключения вы увидите уведомление вы увидите уведомление о недоверенном сертификате безопасности. Причину этого
мы описали выше
. Выдерите «Больше не спрашивать для этого ПК» и нажмите «Принять».
В случае если IP-адрес и авторотационные данные указаны без ошибки, вы успешно подключитесь к вашему виртуальному серверу:
Как подключиться к VPS серверу со смартфона или планшета на Android
Для устройств под управлением Android компания Microsoft выпускает полноценное приложение для работы с удалённым рабочим столом – Microsoft Remote Desktop. Скачайте его как любое другое приложение в
Google Play
.
В отличие от всех описанных выше приложений для подключений с ПК, мобильное приложение Microsoft Remote Desktop разделяет учётные записи и сам список подключений. Поэтому сначала нужно добавить в список учётную запись пользователя Administrator с его паролем, который показан
в вашем личном кабинете
:
После добавления учётной записи возвращайтесь на главный экран приложения для добавления самого подключения (адреса вашего VDS сервера):
В открывшемся окне укажите IP-адрес вашего сервера (указан в
личном кабинете
), выберите добавленную ранее учётную запись Administrator и нажмите «Сохранить» («Save»):
На главном экране в списке подключений появится ваш сервер, просто нажмите на него, и программа начтёт подключение. Если вы подключаетесь с этого приложения к серверу впервые, то увидите информационное сообщение о том, что приложению не удалось проверить сертификат шифрования. Почему так происходит
описано в начале статьи
.
Достаточно отметить галочкой «Never ask again for connections to this PC» и данное уведомление больше появляться не будет. Далее нажмите «Connect» и если все авторотационные данные и IP-адрес сервера указан без ошибок, вы успешно к нему подключитесь:
P.S.: У клиентов нашего VPS-хостинга часто возникает вопрос, как подключиться к серверу с того или иного устройства. В поисковиках можно найти все эти инструкции в том числе и с картинками, и с видео. Надеюсь, данная статья, будет полезной и здесь, как содержащая в одном месте инструкции по подключению со всех самых популярных устройств и операционных систем.
Вам нужен удаленный доступ к настольному компьютеру Linux из Windows? Вот что вам нужно знать о RDP, VNC и SSH для Linux.
Установили сервер Linux? Возможно, вы настроили его как решение для сетевого хранения данных. А может быть, у вас есть рабочий ПК с Linux, медиацентр или вы просто держите дополнительный ПК в другой комнате.
Как бы то ни было, в какой-то момент вам понадобится удаленный доступ к устройству Linux с ПК или ноутбука под управлением Windows. Каково же решение?
У пользователей Windows есть несколько инструментов, которые обеспечивают простой удаленный рабочий стол с Windows на Linux. Хотите узнать, как сделать удаленный рабочий стол с Windows на Linux? Читайте дальше!
Вам понадобится IP-адрес устройства Linux
Перед тем как удаленно подключиться к Linux из Windows, вам понадобится IP-адрес устройства. Он нужен для всех вариантов удаленного подключения, хотя в некоторых случаях достаточно имени хоста (сетевого имени устройства).
Самый простой способ проверить IP-адрес – войти в систему на устройстве Linux и открыть терминал. Введите:
hostname -I
На экране появится IP-адрес устройства. Для получения более подробной информации вы также можете использовать
ip address
Если ваша система Linux имеет несколько соединений, они будут перечислены с префиксами. Например, подключение Ethernet будет перечислено как eth0. Если система подключена к беспроводной сети, ищите IP-адрес, указанный напротив wlan0.
Если это не так просто или неудобно, есть другой способ, который почти так же прост. В окне браузера подключитесь к маршрутизатору. Обычно это адрес 192.168.0.1 или 192.168.0.0. Посмотрите на самом маршрутизаторе или в документации, которая прилагается к нему.
Войдя в маршрутизатор, найдите опцию со списком подключенных устройств. Просмотрите IP-адреса, чтобы найти устройство Linux по имени хоста. Некоторые маршрутизаторы могут даже отображать операционную систему устройства. IP-адрес будет указан рядом, его следует записать на будущее.
Первый и самый простой вариант – это RDP, протокол удаленного рабочего стола, который встроен в Windows.
Перед началом работы вам необходимо установить программное обеспечение xrdp на ваш Linux-компьютер. Вы можете сделать это с помощью одной команды:
sudo apt install xrdp
Для RDP в Linux запустите программу Remote Desktop на машине Windows. В Windows 8 и более поздних версиях ее можно найти через Поиск, просто введя буквы “rdp”.
Откройте окно “Подключение к удаленному рабочему столу”:
- Введите IP-адрес
- Используйте Показать параметры для любых дополнительных требований к подключению
- Нажмите кнопку Подключиться
Все очень просто.
Преимущества RDP: несмотря на то, что настройка может занять немного больше времени, использование RDP обеспечивает высокую надежность и удаленный доступ к рабочему столу Linux. Это делает его идеальным инструментом для удаленной работы с машинами Linux.
Если вы планируете использовать RDP на регулярной основе, вы можете сэкономить немного времени, создав эти пользовательские конфигурации для Windows RDP.
Подключение к Linux из Windows с помощью VNC
Виртуальное сетевое подключение (VNC) также позволяет получить удаленный доступ к рабочему столу Linux. Однако, как и в случае с RDP, вам потребуется установить специальное программное обеспечение.
Для Linux требуется серверное программное обеспечение VNC, для Windows – клиентское приложение.
Одним из самых популярных вариантов подключения к Linux через VNC является TightVNC. Клиентское программное обеспечение для Windows вы найдете на сайте, но убедитесь, что выбрали правильную версию.
Скачать: VNC для Windows
После этого установите tightvncserver на свой Linux-компьютер. Это можно сделать через SSH (см. следующий раздел) или с физическим доступом к компьютеру.
Сначала в Linux проверьте наличие обновлений:
sudo apt update
Затем установите TightVNC Server:
sudo apt install tightvncserver
После установки запустите tightvncserver и задайте пароль, когда появится запрос.
sudo tightvncserver
Для паролей существует ограничение в восемь символов. После запуска tightvncserver вы увидите уведомление с номером порта – запишите его.
Как только вы это сделаете, вы сможете подключиться к машине Linux из Windows:
- Запустите приложение TightVNC Viewer в Windows.
- Введите IP-адрес и номер порта
- Нажмите кнопку Подключиться
- Введите установленный пароль, когда появится запрос
После этого откроется удаленный рабочий стол, и вы сможете начать использовать выбранное вами приложение – в пределах разумного. Некоторые приложения с высокими графическими требованиями вряд ли будут работать надежно, если вообще будут работать.
Преимущества VNC: предлагая быстрый доступ к удаленному ПК, TightVNC имеет свои ограничения. Вы можете выполнять стандартные вычислительные задачи, но деятельность, связанная с мультимедиа, сильно ограничена.
Удаленный доступ в Linux через SSH
SSH (Secure Shell) – это отличный способ получить удаленный доступ к вашему Linux-устройству. Этот способ не ограничивается Windows, так как SSH можно использовать практически с любого устройства. Он также очень безопасен.
У вас есть два варианта использования SSH в Windows:
- SSH в Windows PowerShell
- Скачать инструмент SSH PuTTY
Давайте рассмотрим оба варианта.
Удаленный доступ к Linux с помощью SSH в Windows PowerShell
Windows PowerShell – это новый инструмент командной строки в Windows 10, заменивший старое приложение Command Prompt. Найдите его, щелкнув правой кнопкой мыши “Пуск”, чтобы открыть меню “Питание”, и выберите Windows PowerShell. Чтобы подключиться по SSH, введите:
ssh [IP_ADDRESS].
Так, если устройство Linux имеет IP-адрес 192.168.13.123, введите:
ssh 192.168.13.123
- Когда появится запрос, примите сертификат
- Введите имя пользователя и пароль
Теперь у вас есть удаленный SSH-доступ к Linux.
Удаленное подключение к Linux с помощью SSH в PuTTY
Приложение PuTTY можно скачать, хотя оно и недоступно в Windows. Однако PuTTY не устанавливается. Вместо этого вы просто запускаете загруженный EXE-файл.
Скачать: PuTTY (бесплатно)
Для удобства рекомендуется создать ярлык на рабочем столе.
Чтобы использовать PuTTY для SSH:
- Выберите Сеанс > Имя хоста
- Введите сетевое имя компьютера Linux или введите IP-адрес, который вы указали ранее.
- Выберите SSH, затем Открыть
- Когда появится запрос на принятие сертификата для соединения, сделайте это.
- Введите имя пользователя и пароль для входа на устройство Linux.
Преимущества SSH: использование этого метода позволяет быстро вносить изменения в Linux, не пачкая рук. Особенно подходит для установки программного обеспечения и изменения администратора. Он также полезен для настройки следующего варианта, VNC! SSH также идеально подходит для серверов без установленной среды рабочего стола.
Однако если вам нужно удаленное подключение к рабочему столу Linux из Windows, попробуйте VNC или RDP.
Три метода удаленного рабочего стола Windows для подключения к Linux
Независимо от вашей цели, найдется подходящий вариант подключения к машине Linux из Windows. Эти методы работают независимо от того, является ли устройство сервером, настольным ПК на работе, медиацентром или даже Raspberry Pi.
От самого простого к самому сложному – удаленный доступ к Linux из Windows с помощью:
- RDP (протокол удаленного рабочего стола)
- VNC (виртуальное сетевое подключение)
- SSH (Secure Shell)
Если ваш дистрибутив Linux – Ubuntu, у вас уже есть встроенный инструмент удаленного рабочего стола, совместимый с VNC.
Все знают что к операционным системам Linux можно подключиться по SSH. Это только один из вариантов, если установить кое какие компоненты, то доступ можно получить и по всем знакомому RDP. Т.е вы сможете например из Windows по RDP подключиться к Linux. И видите не только терминал а графическую оболочку. Давайте посмотрим как подключиться к удаленному рабочему столу Debian.
Советую прочитать статьи в которых я рассказывал о том как установить клиент рабочего стола Remmina, как с её помощью подключаться по SSH к другим Linux системам и как из Linux подключиться к Windows по RDP.
Как из Manjaro подключаться к другим ОС
Как подключить к Linux по SSH из Linux
Как подключиться к Windows из linux
Подключаемся к Debian по RDP
Что бы иметь возможность подключения необходимо установить RDP сервер на Linux. Для этого открываем терминал получаем права супер пользователя и вводим команду установки RDP сервера.
apt-get install xrdp
На этом настройка машины к которой хотим получить доступ по RDP завершена.
Самое главное пользователь под которым вы будите подключаться не должен быть авторизован локально.
Проверяем, пробуем подключится к Linux из Lunux по RDP. Я например попробую подключиться к Debian из Simle Linux с помощью клиента удаленного рабочего стола Remmina. Выбираем проток RDP вводим IP адрес компьютера с Debian. Дальше вводим учетные данные.
Все как видите мы подключились к графической оболочке Debian по RDP из Linux.
То же самое можно сделать и в Windows. Открываем RDP вводим IP адрес, авторизуемся и получаем доступ к графической оболочки Linux из Windows.
Как видите получить доступ к Linux по RDP очень легко.
xRDP is a free and open-source implementation of Windows Remote Desktop Protocol (RDP), that started in 2004.
With RDP you can connect to a another computer over a network and control it through its graphical user interface, and use it almost as if you were sitting right in front of it. You also control the remote machine from operating systems that support RDP, which includes Windows, Mac, Linux, Android and iOS.
xRDP allows non-Microsoft operating systems such as Linux and BSD to provide a fully-functional RDP-compliant remote desktop environment.
The xRDP server is full-screen and doesn’t require any special client-side software to be installed. xRDP allows RDP clients to present an X Windows desktop to the user. It works by bridging graphics from an X Windows system (Unix-like OS) to the client (the one receiving commands) and relaying controls back from the client to X.
This tutorial explains how to install xRDP on a remote machine running Debian 10 or Debian 11, how to install multiple desktop environments on the remote machine, how to connect to it from different operating systems, how to fix a few common issues, and a few optimizations you can make to possibly improve a laggy connection.
Table of Contents
- Prerequisites
- Step 1 – Install xRDP on Debian 10/11
- Configure Firewall for xRDP
- Allow Specific IP Range
- Configuring xRDP
- Step 2 – Install Your Preferred Desktop Environment
- Install GNOME Desktop Environment
- Install XFCE Desktop Environment
- Install MATE Desktop Environment
- Install KDE Plasma Desktop Environment
- Install LXQt Desktop Environment
- Install LXDE Desktop Environment
- Install Cinnamon Desktop Environment
- Installing Budgie Desktop Environment
- Installing Openbox
- Switching Between Desktop Environments
- Step 3 – Connecting to Your Debian 10/11 Machine using Remote Desktop Environment
- Connect from Windows
- Connect from OSX
- Connect from Linux
- Connect from iOS/Android
- Fix: Authentication Required Prompt
- 1. Authentication is required to refresh the system repositories
- 2. Authentication is required to create a color-managed device
- 3. Authentication is required to set the network proxy used for downloading software
- xRDP Connection Slow/Laggy
- Using a lightweight desktop environment
- Improving Performance when connecting from Windows
- Improving Performance when connecting from Linux
- Frequent Errors
- Black Screen / Oh No ! Something has gone wrong…
- Conclusion
Prerequisites
- Debian 10 or Debian 11 server with a minimum of 2GB, but 4GB is better. (You can check out my review of Contabo.com’s cheap and high resource VPS, if you’re interested)
- A
non-root sudo user
. Being a sudo user gives you to have administrative privileges without having to log in as a root user. We do not recommend logging in as a root user because when you’re logged in as a root user, all your applications are running with root privileges. That makes your system vulnerable to outside and inside threats.
Update package index:
sudo apt update
Step 1 – Install xRDP on Debian 10/11
To install xRDP on Debian 10/11 run the following command:
sudo apt -y install xrdp
Once installed you can check the status of xRDP by running:
sudo systemctl status xrdp
The output should look something like this:
● xrdp.service - xrdp daemon Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2021-03-11 13:47:22 UTC; 59s ago Docs: man:xrdp(8) man:xrdp.ini(5) Main PID: 3488 (xrdp) Tasks: 1 (limit: 4717) Memory: 1.1M CGroup: /system.slice/xrdp.service └─3488 /usr/sbin/xrdp Mar 11 13:47:21 xrdp xrdp[3487]: (3487)(140439008667456)[DEBUG] Testing if xrdp can listen on 0.0.0.0 port 3389. Mar 11 13:47:21 xrdp xrdp[3487]: (3487)(140439008667456)[DEBUG] Closed socket 7 (AF_INET6 :: port 3389) Mar 11 13:47:21 xrdp systemd[1]: xrdp.service: Can't open PID file /run/xrdp/xrdp.pid (yet?) after start: No such file or directory Mar 11 13:47:22 xrdp systemd[1]: Started xrdp daemon. Mar 11 13:47:22 xrdp systemd[1]: /lib/systemd/system/xrdp.service:8: PIDFile= references path below legacy directory /var/run/, updating /var/run/xrdp/xrdp.pid → /run/xrdp/xrdp.pid; please update the unit file accordingly. Mar 11 13:47:22 xrdp systemd[1]: /lib/systemd/system/xrdp.service:8: PIDFile= references path below legacy directory /var/run/, updating /var/run/xrdp/xrdp.pid → /run/xrdp/xrdp.pid; please update the unit file accordingly. Mar 11 13:47:22 xrdp systemd[1]: /lib/systemd/system/xrdp.service:8: PIDFile= references path below legacy directory /var/run/, updating /var/run/xrdp/xrdp.pid → /run/xrdp/xrdp.pid; please update the unit file accordingly. Mar 11 13:47:23 xrdp xrdp[3488]: (3488)(140439008667456)[INFO ] starting xrdp with pid 3488 Mar 11 13:47:23 xrdp xrdp[3488]: (3488)(140439008667456)[INFO ] listening to port 3389 on 0.0.0.0 Mar 11 13:47:25 xrdp systemd[1]: /lib/systemd/system/xrdp.service:8: PIDFile= references path below legacy directory /var/run/, updating /var/run/xrdp/xrdp.pid → /run/xrdp/xrdp.pid; please update the unit file accordingly.
xRDP uses the /etc/ssl/private/ssl-cert-snakeoil.key
file which belongs to the ssl-cert group. As such we need to add the xRDP user to that group:
sudo adduser xrdp ssl-cert
Configure Firewall for xRDP
The Remote Desktop Protocol uses port 3389 by default.
If you’re using a firewall then you’ll need to allow that port. We’ll assume you’re using UFW.
If you want to allow access via RDP from anywhere, then run the following command:
sudo ufw allow 3389
Allow Specific IP Range
If you want to allow access from a specific IP address or IP range run the following command, replacing the example range 1.2.3.4/32
with the one you want:
sudo ufw allow from 1.2.3.4/32 to any port 3389
Configuring xRDP
Configuration files for xRDP are located in /etc/xrdp
. The main configuration file is /etc/xrdp/xrdp.ini
.
By default, you don’t need to configure anything, but it’s there if you need to customize xRDP. You can read about how to configure it on the Linux man page for xrdp.ini
Keep in mind to restart xRDP after making any changes so they get applied:
sudo systemctl restart xrdp
Step 2 – Install Your Preferred Desktop Environment
To control the remote machine like a desktop you’ll need to install a desktop environment.
Desktop environments set Linux apart from Windows and macOS where you’re stuck with the same GUI. However, in each Linux distribution, you can take advantage of more than one desktop environment.
A desktop environment combines the various graphical components like the file manager and mouse pointer to make up a GUI. Users can not only choose and install their favorite desktop environment. They can even install more than one desktop environment and choose a different one each time they log in.
If you’ve installed xRDP but haven’t installed a desktop environment you can still connect, but after logging in you’ll see just the console:
Install GNOME Desktop Environment
GNOME is one of the most popular, free, and open-source desktop environments. It mainly targets Linux systems but can also run on BSD. GNOME is an excellent alternative to proprietary options like KDE.
What makes GNOME popular is that it’s built on the idea of using multiple workspaces and managing them dynamically. GNOME allows users a lot of flexibility in terms of the desktop interface. They can even make it look like macOS or Windows.
To install GNOME run the following command:
sudo apt-get install task-gnome-desktop
You can read more about GNOME for Debian here: https://wiki.debian.org/Gnome
Install XFCE Desktop Environment
Xfce is one of the most light-weight desktop environments for Unix-like operating systems. It’s built to be fast, light-weight, user-friendly, and visually attractive.
Since Xfce embodies the Unix philosophy of reusability and modularity, it consists of separate packages that come together as a desktop environment. Users can select packages according to their needs and preferences.
To install XFCE run the following command:
sudo apt install task-xfce-desktop
You can read more about XFCE for Debian here: https://wiki.debian.org/Xfce
Install MATE Desktop Environment
MATE is the continuation of GNOME 2, which was renamed MATE to avoid confusion with GNOME. The idea of MATE was born after the classic menu and taskbar were replaced in GNOME 3, which prompted unrest amongst the GNOME patriots. Several Linux distributions including Debian, Fedora, and Linux Mint have MATE available via the official repositories.
To install MATE Desktop run the following command:
sudo apt install task-mate-desktop
You can read more about MATE for Debian here: https://wiki.debian.org/MATE
Install KDE Plasma Desktop Environment
KDE Plasma is the fifth and current version of KDE’s graphical workspace environments primarily for Linux systems. It’s a user interface technology that can run on numerous devices including desktops, notebooks, tablets, smartphones, and even embedded devices.
KDE Plasma also introduced a new theme called Breeze. KDE’s graphical interface has migrated completely to QML (that uses OpenGL for hardware acceleration). That’s why KDE Plasma offers better performance alongside less power consumption.
To install KDE Plasma Desktop run the following command:
sudo apt install task-kde-desktop
You can read more about KDE Plasma for Debian here: https://wiki.debian.org/KDE
Install LXQt Desktop Environment
LXQt is among the minimalistic and light-weight desktop environments in Linux. It’s an excellent alternative to LXDE and provides the same light-weight, minimalistic environment. The only difference between the two is that LXQt uses Qt (standard toolkit for KDE) while LXDE uses GTK (standard toolkit for GNOME).
LXQt is the default desktop environment in many Linux distributions and can be installed as an alternative desktop in Debian and OpenSUSE.
To install LXQt run the following command:
sudo apt install task-lxqt-desktop
While installing LXQt you’ll be asked to select your preferred window manager. Here I selected Openbox. You can read more about Window Managers here: https://wiki.debian.org/WindowManager
You can read more about LXQt for Debian here: https://wiki.debian.org/LXQt
Install LXDE Desktop Environment
LXDE (Light-weight X11 Desktop Environment) is another free desktop environment that requires low resources. LXDE uses less RAM and CPU and it’s designed especially Phoronix for cloud computers with low hardware specifications.
According to some tests conducted by Phoronix in 2010, LXDE 0.5 has the lowest memory consumption. Phoronix tested the five most popular desktop environments including GNOME 2.29, KDE Plasma desktop 4.4, and XFCE 4.6.
To install LXDE run the following command:
sudo apt install task-lxde-desktop
You can read more about LXDE for Debian here: https://wiki.debian.org/LXDE
Install Cinnamon Desktop Environment
The release of GNOME 3 brought about major unrest among GNOME loyalists because it replaced the traditional desktop metaphor or GNOME 2. That gave rise to two different desktop environments that maintained the convention, MATE (GNOME 2 continuation) and Cinnamon (GNOME 3 with traditional desktop metaphor). It’s the primary desktop environment for Linux Mint and comes as an optional desktop in other Linux distributions and Unix-like OS.
To install Cinnamon Desktop run the following command:
sudo apt install task-cinnamon-desktop
There doesn’t seem to be an article for Cinnamon Desktop on https://wiki.debian.org
Installing Budgie Desktop Environment
Budgie is another desktop environment that’s developed using GNOME technologies like GTK (3.x and further). Budgie’s design is focused on simplicity and minimalism. Amongst other desktop environments like KDE and GNOME, Budgie tends to be light-weight and takes less storage space.
To install Budgie run the following command:
sudo apt install budgie-desktop
Installing Openbox
Unlike GNOME, LXDE, and MATE, Openbox is not exactly a desktop environment. It’s a free and stacking windows manager for X Windows systems. A windows manager is the program that divides your screen into the boxes where the program run.
Other popular desktop environments like LXDE and LXQt (the two most light-weight desktop environments) also use Openbox. It’s designed to be fast, small, and fully-compliant with ICCCM (Inte-Client Communication Conventions Manual) and EWMH (Extended Window Manager Hints).
If not already installed along with other desktop environments, such as LXQt, then you can install it by itself. It can be useful since you can use it as a stripped down desktop environment, if you’re trying to reduce resource usage as much as possible.
To install Openbox run the following command:
sudo apt install openbox
You can read more about LXQt for Debian here: https://wiki.debian.org/Openbox
Switching Between Desktop Environments
You can install multiple desktop environments and switch between them.
The screenshots I’ve provided above are from all the desktop environments listed above, all installed on the same server.
To switch between desktop environments run the following command:
sudo update-alternatives --config x-session-manager
And you’ll be presented with a list of all the available desktop environments installed on the system, and you can select which one you want to be enabled:
There are 10 choices for the alternative x-session-manager (providing /usr/bin/x-session-manager). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/bin/startlxqt 50 auto mode 1 /usr/bin/cinnamon-session 50 manual mode 2 /usr/bin/gnome-session 50 manual mode 3 /usr/bin/lxsession 49 manual mode 4 /usr/bin/mate-session 50 manual mode 5 /usr/bin/openbox-session 40 manual mode 6 /usr/bin/startkde 40 manual mode 7 /usr/bin/startlxde 50 manual mode * 8 /usr/bin/startlxqt 50 manual mode 9 /usr/bin/startxfce4 50 manual mode 10 /usr/bin/xfce4-session 40 manual mode Press <enter> to keep the current choice[*], or type selection number: 4
The option marked by the * (asterisk) is the active desktop environment.
You can enter the number corresponding to the desktop environment you want to enable and press Enter.
You don’t need to restart xRDP for the changes to take effect.
Step 3 – Connecting to Your Debian 10/11 Machine using Remote Desktop Environment
If you’ve ever used RDP to connect to a Windows machine, you’ll know you usually provide the IP/hostname, username, and password to the remote desktop client, after which you’re logged into the remote machine.
In this case, you’ll fill in the IP/hostname in the remote desktop client app, and then you’ll be taken to a login screen on the remote machine, where you can fill in your username/password.
The login screen will look something like this:
Connect from Windows
Windows comes with the Remote Desktop Connection app already installed.
To connect to your remote desktop search for the Remote Desktop Connection app and run it.
In the app window, under Computer, fill in the IP or hostname of your remote machine and click Connect. You should then be presented with the login screen from the remote desktop, where you can fill in your username and password.
Connect from OSX
First, download the Microsoft Remote Desktop App from the Mac App Store.
After you run it you’ll see a button to Add PC – which means to add a configuration for connecting to a new remote desktop.
Click on it and you’ll see a prompt where you can fill in some details. The minimum needed is the PC name which is the IP or hostname of the remote machine.
After you’ve added it and connect to it you’ll be presented with the login screen where you can enter your username/password.
Connect from Linux
Multiple well-known remote desktop clients are connecting from Linux, but we’ll discuss Remmina. It’s very popular and it’s the one I use.
Other popular solutions are rdesktop, FreeRDP, or Vinagre.
You can check the following article to see how to install Remmina on your distro https://remmina.org/how-to-install-remmina/
When you launch it you can create a new desktop connection profile by clicking the + (plus) icon in the top left corner:
After which just give it a name (for easy reference), select RDP – Remote Desktop Protocol in the Protocol dropdown.
In the Server section, fill in the IP or hostname of your remote machine and click Connect (to connect) or Save and Connect (to save the connection profile and immediately connect to the server).
Then you’ll be taken to the login screen where you can fill in the username and password.
Connect from iOS/Android
To connect to your remote machine via RDP you’ll need to download the Microsoft Remote Desktop App.
- For Android, the app is Remote Desktop 8
- For iOS, the app is Remote Desktop Mobile
After it’s installed and you run it you’ll see a button to Add desktop. Tap this to fill in the connection details for your remote machine.
The minimum you need to add is the IP or hostname for your remote machine and tap SAVE. After which you can tap on the newly created desktop and the connection should start and the login screen displayed.
Fix: Authentication Required Prompt
On some desktop environments, some nagging prompts require additional authentication.
You can dismiss them and continue the session without it popping up again, but that is a temporary fix, as it will pop up later.
Debian uses a framework called Polkit, which handles application authorization. It captures actions that the user is attempting to perform and checks if they are authorized or if they aren’t and need to authenticate for them to be authorized. Polkit reads some policy files to determine this.
What we’ll do is create such a policy file ourselves.
Create and edit the file with your preferred text editor.
sudo nano /etc/polkit-1/localauthority.conf.d/02-allow-colord.conf
And paste the following:
polkit.addRule(function(action, subject) { if ((action.id == "org.freedesktop.color-manager.create-device" || action.id == "org.freedesktop.color-manager.create-profile" || action.id == "org.freedesktop.color-manager.delete-device" || action.id == "org.freedesktop.color-manager.delete-profile" || action.id == "org.freedesktop.color-manager.modify-device" || action.id == "org.freedesktop.color-manager.modify-profile" || action.id == "org.freedesktop.packagekit.system-sources-refresh" || action.id == "org.freedesktop.packagekit.system-network-proxy-configure") && subject.isInGroup("{users}")) { return polkit.Result.YES; } });
The above should handle any of the following authentication warnings, for users that belong to the user’s group (you can replace users with any other group you prefer).
The following are some common authentication warnings:
1. Authentication is required to refresh the system repositories
I’ve encountered this issue on Cinnamon Desktop.
2. Authentication is required to create a color-managed device
I encountered this issue on GNOME.
3. Authentication is required to set the network proxy used for downloading software
I encountered this issue on KDE Plasma Desktop.
xRDP Connection Slow/Laggy
If you’re experiencing a slow/laggy connection, then some of the best options to improve performance include:
Using a lightweight desktop environment
The most lightweight desktop environment among the ones listed above is Openbox. Other lightweight environments are LXQt, LXDE, and XFCE.
Improving Performance when connecting from Windows
Improve performance by reducing color depth & visual styles
You can do this right before connecting to the server.
In the Display tab, you can choose color depth. The lower it is, the faster the connection should be. You should test this yourself until you find what works for you.
In the Experience tab, you can select an option from the Performance dropdown. The higher in the list, the more performance you get, and the more visual styles are removed.
Also, you’ll want to check the Persistent bitmap caching in the Experience tab.
Set Remote Desktop Connection Process Priority to Realtime
The next option is setting the RDC process priority to Realtime in Task Manager.
To do this open Task Manager, locate Remote Desktop Connection->(Right-click on it), right-click and click Go to details. This will take you to the Details tab and highlight mstsc.exe. Right-click on it and hover over Set priority->Realtime.
Improving Performance when connecting from Linux
Improve performance by reducing color depth & visual styles
When creating a remote desktop connection profile, in the Basic tab, in the Color depth dropdown, reduce the color depth to a level you find acceptable.
In the Advanced tab, under Quality select poorer quality to improve speed.
Set Remote Desktop Connection Process Priority to Realtime
Launch the System Monitor, right-click on Remmina (or the process for the software you’re using for remote desktop connection), go to Change Priority->Very High.
Frequent Errors
Black Screen / Oh No ! Something has gone wrong…
There seems to be an issue with the current versions of xrdp and xorgxrdp available in Debian 11. Instead of a black screen I was now getting an error along the lines of “Oh No ! Something has gone wrong….”
The solution that worked for me is from this comment on the Github issue:
Download the following versions of xorgxrdp and xrdp from https://snapshot.debian.org/:
wget https://snapshot.debian.org/archive/debian/20210302T032219Z/pool/main/x/xorgxrdp/xorgxrdp_0.2.15-1_amd64.deb wget https://snapshot.debian.org/archive/debian/20210302T032219Z/pool/main/x/xrdp/xrdp_0.9.15-1_amd64.deb
These versions are still compatible with libc6 on Debian Bullseye. This is important to note, because I initially tried newer versions of xorgxrdp and xrdp and one of them required a newer version of libc6.
And install them:
sudo apt install ./xorgxrdp_0.2.15-1_amd64.deb sudo apt install ./xrdp_0.9.15-1_amd64.deb
This should upgrade your existing xordxrdp and xrdp.
Now when you connect via xRDP, the login screen will probably have Session: LoggingPerLogger selected in the dropdown.
Just select Xorg and click ok and fill in your username and password.
Now xRDP should work properly. In this case, the issues were with GNOME. After upgrading xorgxrdp and xrdp it works.
Conclusion
Hopefully, you’ve managed to install xRDP on your Debian 10/11 remote machine, connected to it using your preferred desktop environment, and optimized the connection for speed.
If you encounter any issues, then feel free to leave a comment or contact us, and we’ll get back to you as soon as possible.
Настроить сервер Linux? Возможно, вы настроили его как решение для сетевого хранилища. Или, может быть, у вас есть рабочий компьютер с Linux, медиацентр или простой дополнительный компьютер в другой комнате.
Как бы то ни было, в какой-то момент вам понадобится удаленный доступ к устройству Linux с ПК с Windows или ноутбука. Итак, каково решение?
У пользователей Windows есть несколько инструментов, которые обеспечивают простой удаленный рабочий стол из Windows в Linux. Хотите знать, как получить доступ к вашему рабочему столу Linux из Windows? Читай дальше!
Вам понадобится IP-адрес устройства Linux
Прежде чем начать, найдите IP-адрес вашего устройства Linux. Это необходимо для всех параметров удаленного подключения, хотя в некоторых случаях подходит имя хоста (сетевое имя устройства).
Самый простой способ проверить IP-адрес — войти в систему на вашем устройстве Linux и открыть терминал. Войти:
ifconfig
IP-адрес устройства будет отображаться.
Если у Linux есть Ethernet-соединение, адрес будет указан вместе с eth0. Если он подключен по беспроводной сети, найдите IP-адрес, указанный для wlan0.
Если это не легко или не удобно, есть другой метод, который почти такой же простой. В окне браузера подключитесь к маршрутизатору. Обычно это адрес 192.168.0.1 или 192.168.0.100 . Вы должны быть в состоянии проверить, посмотрев на сам маршрутизатор или на документацию, поставляемую с ним.
После входа в маршрутизатор найдите опцию «Подключенные устройства» или аналогичную. Просмотрите IP-адреса, чтобы найти ваше устройство Linux по имени хоста. Некоторые маршрутизаторы могут даже отображать операционную систему устройства. Вы найдете IP-адрес, указанный рядом.
Запишите IP-адрес, так как он понадобится вам позже. И убедитесь, что вы знаете имя пользователя и пароль для вашего компьютера или сервера Linux!
Первый и самый простой вариант — RDP, протокол удаленного рабочего стола, встроенный в Windows.
Перед началом вам необходимо установить программное обеспечение xrdp на вашем Linux-компьютере. Вы можете сделать это лично или используя SSH (см. Ниже) с помощью одной команды:
sudo apt install xrdp
Чтобы перевести RDP в Linux, запустите программное обеспечение Remote Desktop на вашем компьютере с Windows. В Windows 8 и более поздних версиях его можно найти с помощью поиска, просто введя буквы «rdp».
При открытом окне «Подключение к удаленному рабочему столу»:
- Введите IP-адрес
- Используйте Показать параметры для любых дополнительных требований к соединению
- Нажмите Подключиться
Это так просто.
Преимущества RDP: хотя настройка может занять немного больше времени, использование RDP обеспечивает высокую надежность и удаленный доступ к рабочему столу в Linux. Это делает его идеальным инструментом для удаленной работы с машинами Linux.
Если вы планируете использовать RDP на регулярной основе, вы можете сэкономить время, создав эти пользовательские конфигурации для Windows RDP.
Удаленный В Linux Из Windows С VNC
Виртуальное сетевое соединение (VNC) также предоставляет удаленный доступ к вашему рабочему столу Linux. Однако, как и в случае с RDP, вам необходимо установить специальное программное обеспечение. На коробке Linux требуется программное обеспечение VNC-сервера; в Windows клиентское приложение.
TightVNC — один из самых популярных вариантов подключения к Linux через VNC. Вы найдете клиентское программное обеспечение Windows на веб-сайте , но убедитесь, что выбрали правильную версию.
Скачать: VNC для Windows
После того, как вы это сделаете, установите Inversion-сервер на вашем Linux-компьютере. Это может быть через SSH (см. Следующий раздел) или с физическим доступом к компьютеру.
Во-первых, в Linux проверьте наличие обновлений:
sudo apt update
Далее выполните эту команду:
sudo apt install tightvncserver
После установки, запустите silentvncserver и установите пароль при появлении запроса.
sudo tightvncserver
Существует восемь символов для паролей. Теперь, когда закручивается туго настроенный сервер, вы увидите уведомление с номером порта — запишите его.
Для удаленного подключения к Linux из Windows:
- Запустите приложение TightVNC Viewer в Windows
- Введите IP-адрес и номер порта
- Нажмите Подключиться
- Введите пароль, который вы установили при появлении запроса
После этого откроется удаленный рабочий стол, и вы сможете начать использовать приложение по своему выбору — в пределах разумного. Некоторые приложения с высокими графическими требованиями вряд ли будут работать надежно, если вообще будут работать.
Преимущества VNC: предлагая быстрый доступ к удаленному ПК, TightVNC имеет свои ограничения. Вы можете выполнять стандартные вычислительные задачи, но действия, связанные со СМИ, строго ограничены.
Remote Into Linux через SSH
SSH (Secure Shell) — отличный способ получить удаленный доступ к вашему устройству Linux. Вы также не ограничены Windows с этой опцией, так как SSH может использоваться практически с любого устройства. Это также очень безопасно.
У вас есть два варианта SSH в Windows:
- SSH в Windows PowerShell
- Загрузите инструмент PuTTY SSH
Давайте посмотрим на оба.
Удаленный доступ к Linux с SSH в Windows PowerShell
Windows PowerShell — это новый инструмент командной строки в Windows 10, заменивший старое приложение командной строки. Чтобы найти его, щелкните правой кнопкой мыши «Пуск», чтобы получить доступ к меню питания, и выберите Windows PowerShell. В SSH введите:
ssh [IP_ADDRESS]
Поэтому, если устройство Linux имеет IP-адрес 192.168.13.123, введите:
- ssh 192.168.13.123
- При появлении запроса примите сертификат
- Введите имя пользователя и пароль
Теперь у вас есть удаленный SSH-доступ к Linux.
Подключайтесь к Linux удаленно, используя SSH в PuTTY
Хотя приложение PuTTY изначально недоступно в Windows, его можно загрузить. PuTTY не установлен, однако. Вместо этого вы просто запускаете загруженный EXE-файл.
Скачать: PuTTY
Для удобства рекомендуется создать ярлык на рабочем столе.
Чтобы использовать PuTTY для SSH:
- Выберите Session > Host Name
- Введите имя сети компьютера Linux или введите IP-адрес, который вы указали ранее
- Выберите SSH, затем Открыть
- Когда будет предложено принять сертификат для подключения, сделайте это
- Введите имя пользователя и пароль для входа в ваше устройство Linux
Преимущества SSH: использование этого метода позволяет быстро вносить изменения в Linux, не пачкая рук. Особенно подходит для установки программного обеспечения и изменения администратора. Это также полезно для настройки следующей опции, VNC! SSH также идеально подходит для серверов без установленной среды рабочего стола.
Однако, если вам нужно удаленное подключение к рабочему столу Linux, попробуйте VNC или RDP.
Три способа удаленного управления Linux из Windows
Независимо от вашего варианта использования, есть подходящий вариант для удаленного доступа к устройству Linux из Windows. Эти методы работают независимо от того, является ли устройство сервером, настольным ПК на работе, медиацентром или даже Raspberry Pi.
От простого к сложному удаленного доступа к Linux из Windows, используя:
- RDP (протокол удаленного рабочего стола)
- VNC (виртуальное сетевое соединение)
- SSH (Secure Shell)
Если ваш дистрибутив Linux является Ubuntu, у вас уже есть встроенный VNC-совместимый инструмент удаленного рабочего стола.
Содержание
- Что такое SSH?
- Способ 1. Встроенный SSH-клиент в Windows 10
- Способ 2: использование SSH в подсистеме Windows для Linux
- Способ 3: использовать Putty
- Завершение
Что такое SSH?
SSH означает Secure Shell – протокол, который был изобретен в 1995 году для замены небезопасного Telnet (телекоммуникационная сеть).
Теперь системный администратор является основным способом безопасного входа на удаленные серверы Linux через общедоступный Интернет.
Хотя он выглядит и действует так же, как Telnet, все коммуникации по протоколу SSH зашифрованы для предотвращения перехвата пакетов.
Если вы используете компьютер с Linux или Mac, SSH-клиент установлен по умолчанию.
Вы можете открыть окно терминала и запустить команду ssh, как показано ниже, для подключения к удаленному серверу Linux.
ssh username@itsecforu.local
Теперь давайте обсудим, как использовать SSH в Windows.
Способ 1. Встроенный SSH-клиент в Windows 10
Группа разработчиков Microsoft PowerShell решила перенести OpenSSH (и клиент, и сервер) на Windows в 2015 году.
Наконец, он появился в Windows 10 Fall Creator Update в 2017 году и по умолчанию включена в обновлении от апреля 2018 года.
Чтобы использовать клиент OpenSSH в Windows 10, просто откройте окно PowerShell или окно командной строки и выполните команду ssh.
Например, если я хочу подключиться к своему рабочему столу Ubuntu в локальной сети, я бы запустил.
ssh cryptoparty@192.168.0.101
cryptoparty – это имя пользователя на моем рабочем столе Ubuntu, а 192.168.0.101 – это частный IP-адрес моего рабочего стола Ubuntu.
При первом подключении к компьютеру с Linux вам будет предложено принять ключ хоста.
Затем введите свой пароль для входа.
После входа в систему вы можете запускать команды Linux для выполнения административных задач.
Чтобы выйти из окна Linux, выполните команду выхода или нажмите Ctrl + D.
Чтобы выйти из окна Linux, выполните команду exit или нажмите Ctrl + D.
Способ 2: использование SSH в подсистеме Windows для Linux
Подсистема Windows для Linux (WSL) позволяет запускать встроенные средства командной строки Linux непосредственно в Windows 10.
Если вы являетесь системным администратором, WSL, вероятно, является излишним просто для использования SSH, поскольку он установит и запустит дистрибутив Linux (без графического интерфейса) на рабочем столе Windows 10.
Kali Linux в подсистеме Windows для Linux
WSL создан для веб-разработчиков или тех, кому нужно работать над проектами с открытым исходным кодом.
Вы можете использовать не только SSH, но и другие инструменты командной строки Linux (Bash, sed, awk и т. д.).
Откройте Microsoft Store и введите WSL в поле поиска. Выберите «Запустить Linux на Windows» и установите дистрибутив Linux по вашему выбору.
Например, я выбрал Ubuntu и нажимаю кнопку Get, чтобы установить ее.
После установки дистрибутива Linux откройте панель управления и выберите «Программы» -> «Включить или отключить функции Windows».
Установите флажок Подсистема Windows для Linux, чтобы включить эту функцию.
(Вам может потребоваться перезагрузить компьютер с Windows, чтобы изменения вступили в силу.)
После этого вы можете использовать команду ssh, как показано ниже, для подключения к серверу Linux или ПК, на котором работает SSH-сервер.
ssh itsecforu@192.168.0.101
Способ 3: использовать Putty
Putty – известный и самый популярный SSH-клиент в Windows до появления клиента Windows OpenSSH и подсистемы Windows для Linux.
Чтобы использовать SSH с Putty, вам необходимо скачать программу Putty с официального сайта и установить ее.
Запустите Putty из меню «Пуск». Затем введите IP-адрес или имя хоста окна Linux и нажмите кнопку «Open», чтобы подключиться к этом серверу.
Примите ключ хоста, и вам будет предложено ввести имя пользователя и пароль.
См. также:
- Как использовать команды SSH в командной строке Windows 10
- 6 команд для очистки терминала Linux
Завершение
Я надеюсь, что эта статья помогла вам использовать SSH в Windows.
Как всегда, если вы нашли эту статью полезной, поделитесь ей, чтобы получить больше советов и рекомендаций. Берегите себя 🙂
На чтение 9 мин Просмотров 3.2к. Обновлено 09.09.2021
Microsoft Windows — популярная операционная система. В Windows 10 появилась новая функция под названием WSL (подсистема Windows для Linux). Это дополнительная функция, которая позволяет разработчикам и опытным пользователям запускать среду GNU / Linux непосредственно в Windows без необходимости в традиционной виртуализации или конфигурации двойной загрузки.
В этом руководстве вы узнаете, как запустить графический интерфейс Debian в Windows 10 с помощью WSL.
Содержание
- Debian на WSL
- Включение WSL
- Скачивание и установка Debian
- Настройка Debian
- Настройка графического интерфейса
- Предпосылки
- Установка компонентов
- Установка VNC-сервера
- Установка.NET Runtime
- Установка systemd-genie
- Настройка пароля VNC-сервера
- Замена X по умолчанию на Xvnc
- Настройка переменных среды
- Запускаем systemd-genie
- Заключение
Debian на WSL
Инструмент WSL изначально был разработан Microsoft в сотрудничестве с Canonical, создателем Ubuntu. По сути, это уровень совместимости с ядром, основанный на Ubuntu.
В 2020 году Microsoft выпустила WSL 2. Он предлагает несколько важных улучшений по сравнению с WSL 1. Он предлагает лучшую совместимость системы, лучшее управление виртуальными машинами, полную поддержку ядра Linux и многое другое. Посмотрите разницу между WSL 1 и WSL 2. Обратите внимание, что WSL 2 доступен только для Windows 10 версии 2004, сборка 19041 или выше. Выполните следующую команду, чтобы проверить версию Windows 10, которую вы используете.
Поскольку WSL изначально был основан на Ubuntu, он по умолчанию поддерживает Debian. Debian для WSL доступен в Microsoft Store. Однако мы продемонстрируем, как установить Debian даже без учетной записи Microsoft.
В случае Windows все команды будут выполняться в Windows PowerShell с правами администратора. Это Linux-эквивалент запуска оболочки sudo. Чтобы запустить PowerShell с правами администратора, нажмите «Win + X» и выберите «Windows PowerShell (Admin)».
Включение WSL
Дополнительные функции, такие как WSL, по умолчанию не включены. К счастью, включить WSL очень просто. Выполните следующую команду в PowerShell.
$ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
WSL 2 также требует функции платформы виртуальных машин.
$ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Эти изменения требуют перезапуска системы для полной работоспособности.
После перезагрузки запустите PowerShell с правами администратора. Сделайте WSL 2 версией по умолчанию.
$ wsl —set-default-version 2
Обратите внимание: если вы используете 64-разрядную версию Windows 10, вам может потребоваться загрузить и установить пакет обновления ядра Linux для WSL 2.
Скачивание и установка Debian
Сначала ознакомьтесь со всеми доступными дистрибутивами, поддерживаемыми WSL.
Скажите WSL установить Debian. Debian доступен в виде устанавливаемого пакета в Microsoft Store.
Процесс может занять несколько минут.
Настройка Debian
Debian установлен. Если вы установили с помощью WSL, автоматически появится новая оболочка. Во время первого запуска оболочка Debian попросит создать нового пользователя.
Если вы хотите получить доступ к Debian позже, используйте следующую команду WSL. С этого момента я буду использовать Терминал Windows для простоты использования.
Обновите кеш APT и обновите все пакеты.
$ sudo apt update && sudo apt upgrade -y
Затем нам нужно проверить, используем ли мы последнюю версию Debian. На момент написания этого руководства последним стабильным выпуском был Debian 11 под кодовым названием bullseye.
В моем случае это Debian 9 (stretch), где должен быть Debian 11 (bullseye). Для получения последней версии Debian требуется обновление дистрибутива.
Сначала сделайте резервную копию файла sources.list.
$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
В файле sources.list замените все экземпляры stretch (Debian 9) на bullseye (Debian 11). Это фактически укажет APT работать с пакетами для Debian 11. Откройте sources.list в текстовом редакторе и замените все экземпляры stretch на bullseye.
$ sudo nano /etc/apt/sources.list
Вот примерный список репозиториев для Debian 11 bullseye.
$ deb http://deb.debian.org/debian bullseye main contrib non-free
$ deb http://deb.debian.org/debian bullseye-updates main contrib non-free
$ deb http://security.debian.org/debian-security bullseye-security main contrib non-free
Теперь снова запустите команды обновления APT.
$ sudo apt clean && sudo apt update
Это будет разрешение на перезапуск различных служб во время процесса. Выберите «Да».
Теперь мы можем безопасно избавиться от устаревших пакетов в системе.
Перезапустите сеанс Debian, чтобы изменения вступили в силу. Проверьте изменение.
Настройка графического интерфейса
На данный момент система Debian полностью функциональна. Однако единственный способ взаимодействия с системой — это интерфейс командной строки. По умолчанию графический интерфейс отсутствует.
Мы можем обойти это, внедрив VNC. Процесс настройки несколько сложен, но вполне выполним.
Предпосылки
Для этого метода есть несколько предварительных условий. Во-первых, убедитесь, что дистрибутив WSL настроен для работы с WSL 2.
$ wsl —set-version Debian 2
Установка компонентов
Теперь войдите в оболочку Debian. Нам нужны дополнительные компоненты, такие как curl и wget.
$ sudo apt update && sudo apt install -y curl wget
Мы будем устанавливать tasksel, очень удобный инструмент для управления различными компонентами рабочего стола и служб. Выполните следующую команду APT.
$ sudo apt install tasksel
Запустите tasksel с привилегиями sudo.
Он покажет список групп пакетов и пакетов. Нажмите пробел, чтобы выбрать / отменить выбор группы. После того, как вы выбрали нужные, нажмите «ОК».
Инструмент скачает и установит все необходимые компоненты. Это займет некоторое время.
Установка VNC-сервера
Следующим шагом будет установка VNC-сервера. Для этого мы установим TigerVNC.
$ sudo apt-get install tigervnc-standalone-server
Установка.NET Runtime
.NET — это универсальная платформа для создания приложений для Windows, Linux и macOS от Microsoft. Он нам понадобится для следующей части конфигурации.
Выполните следующие команды, чтобы установить.NET Runtime. Для получения более подробных инструкций по установке ознакомьтесь с официальным руководством по установке.NET от Microsoft.
$ wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
$ sudo apt install ./packages-microsoft-prod.deb
$ rm packages-microsoft-prod.deb
$ sudo apt update && sudo apt install apt-transport-https
$ sudo apt update && sudo apt install dotnet-runtime-5.0
Установка systemd-genie
WSL, сам по себе, является всего лишь простой реализацией фреймворка Linux. Использование systemd-genie — это способ дать Debian полноценный и функциональный фреймворк Linux.
Мы уже установили его зависимость (.NET Runtime). Осталось только настроить репозиторий systemd-genie и установить пакет.
Сначала настройте репозиторий APT для systemd-genie.
$ wget -O /etc/apt/trusted.gpg.d/wsl-transdebian.gpg https://arkane-systems.github.io/wsl-transdebian/apt/wsl-transdebian.gpg
$ chmod a+r /etc/apt/trusted.gpg.d/wsl-transdebian.gpg
$ cat << EOF > /etc/apt/sources.list.d/wsl-transdebian.list
$ deb https://arkane-systems.github.io/wsl-transdebian/apt/ $(lsb_release -cs) main
$ deb-src https://arkane-systems.github.io/wsl-transdebian/apt/ $(lsb_release -cs) main
$ EOF
Наконец, установите systemd-genie.
$ sudo apt install systemd-genie
Установлены все необходимые инструменты. Пришло время настроить их для получения ожидаемого поведения.
Настройка пароля VNC-сервера
В настройке VNC у каждого пользователя будут уникальные пароли. Для полной функциональности нам нужно как минимум три пароля, по одному для каждого из следующих пользователей.
- root
- gdm
- <current_user>
Сначала настройте пароль VNC для текущего пользователя.
Затем настройте пароль VNC для root.
Наконец, настройте пароль VNC для GDM. Обратите внимание, что вы можете пропустить этот шаг, если вы не выбрали установку среды рабочего стола GNOME.
$ sudo -H -u Debian-gdm vncpasswd
Замена X по умолчанию на Xvnc
Функция диспетчера отображения по умолчанию — вызывать экземпляры X для каждого пользовательского сеанса (включая экран входа в систему). Однако, поскольку мы собираемся использовать сервер VNC, он не будет сокращаться. Для работы с VNC подходящим кандидатом является Xvnc.
Далее наша цель — заменить X на Xvnc. Это требует настройки сценария Xorg, который вызывает Xvnc вместо службы отображения X / Xorg.
Прежде чем продолжить, всегда рекомендуется делать резервную копию существующего скрипта Xorg.
$ sudo mv /usr/bin/Xorg /usr/bin/Xorg.old
Теперь создайте новый скрипт Xorg.
$ sudo nano /usr/bin/Xorg.new
Введите следующий код.
#!/bin/bash
for arg do
shift
case $arg in
vt*)
set — «$@» «${arg//vt/tty}«
;;
-keeptty)
;;
-novtswitch)
;;
*)
set — «$@» «$arg«
;;
esac
done
# display geometry
command=(«/usr/bin/Xvnc» «-geometry» «1366×768» «-PasswordFile» «${HOME:-/root}/.vnc/passwd» «$@»)
systemd-cat -t /usr/bin/Xorg echo «launching Xvnc:» «${command[@]}«
exec «${command[@]}«
Сохраните файл и закройте редактор. Для правильной работы файл должен иметь правильные права доступа.
$ sudo chmod 0755 /usr/bin/Xorg.new
Создайте ссылку на файл для эмуляции исходного скрипта Xorg.
$ sudo ln -sf /usr/bin/Xorg.new /usr/bin/Xorg
Настройка переменных среды
Нам нужно настроить некоторые переменные среды, чтобы Xorg считывал данные от пользователя, выполняющего команду genie. Для этого нам нужно настроить файл bashrc как корневого, так и текущего пользователя. Обратите внимание, что bashrc отличается от bash_profile.
Откройте bashrc текущего пользователя.
Добавьте следующие коды в конец файла.
export XDG_RUNTIME_DIR=/run/user/$UID
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk ‘{print $2; exit;}’):0.0
sudo /etc/init.d/dbus start &> /dev/null
Сделайте то же самое с файлом bashrc пользователя root.
$ su —
$ nano ~/.bashrc
export XDG_RUNTIME_DIR=/run/user/$UID
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk ‘{print $2; exit;}’):0.0
sudo /etc/init.d/dbus start &> /dev/null
Наконец, перезагрузите bashrc для текущего пользователя.
Запускаем systemd-genie
Теперь systemd настроен на автоматический запуск gdm и создание экземпляра отображения X для экземпляра входа в систему. Из-за конфигурации вместо этого он будет создавать экземпляры Xvnc. Он начнёт слушать с 5900.
Следующая команда покажет сообщение «подключение к systemd», за которым следует несколько ошибок. Ошибки ожидаются. Вы должны попасть на экран входа в систему.
Вуаля! Вы успешно вошли в систему Debian с графическим интерфейсом, работающую под WSL 2! Все, что осталось, — это подключиться к серверу WSL через VNC. Следующая команда сообщит IP-адрес сервера.
Для подключения к системе используйте клиент VNC (на порту 5900). Для входа используйте пароль gdm VNC. Это должно привести вас на экран входа в систему.
Заключение
Для пользователей Windows WSL — отличный способ привыкнуть к миру Linux без необходимости изучать все с нуля. В этом руководстве демонстрируется рекомендуемый метод установки и настройки Debian 11 с графическим интерфейсом пользователя на WSL с помощью сервера VNC (TigerVNC).