Функция удаленного рабочего стола позволяет подключится к удаленному компьютеру или виртуальной машине по сети. Это довольно удобно, но до недавнего времени у Ubuntu с этим было не всё так просто. Встроенная програма удалённого рабочего стола не поддерживала создание новых сессий, а большинство сторонних программ не работали если испозуется Wayland, не имели открытый исходный код, либо использовали сторонний сервер для связи.
В Gnome 46 встроенный сервис удалённого рабочего стола получил обновление и возможность создавать новые сессии. Это позволяет использовать его в качестве замены x11vnc или xrdp и в этой статье мы рассмотрим как это всё настроить. Я буду рассматривать всё на примере Ubuntu 24.10, поскольку она поставляется с GNOME 47 и содержит самую свежую имплементацию Gnome Remote Desktop, но эти инструкции должны работать и для Ubuntu 24.04.
Содержание статьи
- Как это работало раньше?
- Как это работает сейчас?
- Как настроить удаленный рабочий стол в Ubuntu
- Выводы
Как это работало раньше?
Когда я только начал пользоваться Linux, был очень популярным сервис x11vnc, который запускался от имени пользователя и позволял подключиться к активной сессии удалённо. Вам было достаточно настроить пароль для подключения и запустить x11vnc в терминале или через автозапуск. Потом вы могли подключится к такому компьютеру с помощью клиента VNC просто указав настроенный пароль и имя пользователя. Если на компьютере уже была активная сессия вы подключались к ней. Если нет, вы видели экран входа в систему, на котором могли авторизоваться.
Также тогда существовал сервис XRDP, который был более продвинутый и позволял вам просто вводить при подключении имя пользователя и его пароль в системе к которой нужно подключиться. После этого для вас создавалась новая сессия в которой вы могли работать удалённо. Но с помощью XRDP вы не могли подключиться к уже запущенной сессии, по крайней мере по умолчанию.
В Gnome был реализован свой сервис удалённого рабочего стола - Gnome Remote Desktop (g-r-d). Но до недавнего времени в нём было довольно сложно повторить функциональность x11vnc и тем более XRDP. Вы могли настроить логин и пароль для авторизации в настройках, и если на компьютере уже была активная сессия то вы могли к ней подключится используя этот логин и пароль. Если активной сессии не было, то и подключится вы не могли. Также если у сессии заблокирован экран, то вы тоже получали бы ошибку. Фактически для того чтобы вы могли подключится к удалённому компьютеру за ним должен был быть человек, который бы включил сервис, разблокировал экран и сказал вам пароль. Кое-что из этого можно было поправить расширениями GNOME, но далеко не всё. В этой из предыдущих статтей я рассказывал как всё настроить в Ubuntu 22.04.
Как это работает сейчас?
В Gnome 46 для Gnome Remote Desktop была добавлена функция удалённого входа. Теперь встроенный сервис удалённого рабочего стола состоит из двух сервисов. Оба используют протокол RDP. Первый выполняется от имени суперпользователя и отвечает за создание удалённых сессий, подключение к ним и использует по умолчанию порт 3389. А второй выполняется от имени пользователя, для локальной сессии, и позволяет подключится к активной сессии пользователя как это работало раньше и использует порт 3390. Фактически если вам нужно подключиться к удалённому компьютеру без участия пользователя за этим компьютером вы используете первый сервис. Важно отметить что это отдельные сервисы и вам не обязательно настраивать оба. Если нужно помочь пользователю сделать что-то в его сессии - тогда второй сервис. Во втором сервисе логика работы практически не поменялась.
Сервис удаленного входа реализован довольно интересно и чем-то напоминает XRDP. При подключении вы используете настроенные логин и пароль и попадаете на экран входа GNOME. Здесь вы можете выбрать нужного пользователя и ввести его пароль:
Дальше создается или открывается уже существующая удалённая сессия и вы получаете над ней контроль:
Если вы отсоединитесь, а потом захотите подсоединиться снова, то вам снова надо будет повторить процедуру авторизации, но вы попадете в ту же сессию со всеми активными приложениями. Несколько пользователей могут авторизоваться и работать в удалённых сессиях одновременно. Но есть ограничение, один пользователь - одна сессия - одно подключение. Если подключитесь к уже активной удалённой сессии, то предыдущее подключение будет прервано. Если для пользователя уже запущена локальная сессия, то удаленная сессия создана не будет, актуально и наоборот. В целом это логично, потому что вам не надо думать как подключиться к ранее созданной сессии, а для подключения к локальным сессиям существует отдельный сервис.
Как настроить удаленный рабочий стол в Ubuntu
Теперь давайте рассмотрим как включить удаленный рабочий стол в Ubuntu 24.04 используя сервис g-r-d.
Доступ к активной сессии
Откройте Settings, затем перейдите в раздел System и выберите Remote Desktop:
Дальше вам нужна вкладка Desktop Sharing. Здесь нужно включить переключатели напротив Desktop Sharing и Remote Control. Далее вы можете указать логин и пароль для авторизации в разделе Login Details. При чем если не настроите свои данные входа, то программа будет использовать логин вашего пользователя и сгенерирует случайный пароль. В разделе How to Connect вы можете видеть используемый порт и имя хоста.
Если вам нужно подключиться по IP адресу, а не имени хоста, то IP компьютера можно узнать выполнив команду:
ip -br a
Теперь вы можете закрыть программу настроек. Вы можете убедится что всё работает проверив запущен ли сервеис пользователя gnome-remote-desktop:
systemctl status --user gnome-remote-desktop
Далее используете эти данные на друком компьютере чтобы подключиться удалённо к этому, например, с помощью программы Connections. Например, если у компьютера к которому вы хотите подключиться IP адрес **192.168.124.156 то укажите в Connections такую строку *192.168.124.156:3390*:
После ввода логина и пароля если они были указаны верно перед вами сразу откроется удаленный рабочий стол.
Удалённый вход
Откройте Settings, затем перейдите в раздел System и выберите Remote Desktop:
На этот раз вам нужна вкладка Remote Login. Здесь нужно нажать кнопку Unlock и ввести пароль вашего пользователя для того чтобы получить возможность менять системные настройки:
Затем включите переключатель напротив Remote Login и уажите логин и пароль для авторизации в разделе Login Details:
После этого закройте программу настроек и перезагрузите компьютер. Вы можете убедится что сервис работает выполнив команду:
sudo systemctl status gnome-remote-desktop
Это всё, теперь можно переходить к подключению. Рассмотрим пример подключения с помощью программы Connections. Если IP адрес компьютера к которому подключаемся 192.168.124.156, то в поле адреса нужно ввести 192.168.124.156:3389:
Затем нужно ввести логин и пароль, настроенные в разделе Login Details:
Далее надо выбрать пользователя от имени которого вы хотите войти:
И остается только ввести пароль этого пользователя:
После чего программа перенаправит вас на удалённый рабочий стол:
Выводы
В этой статье мы рассмотрели как включить удаленный рабочий стол Ubuntu 24.04 или 24.10 штатными средствами в GNOME. Было показано как подключиться к активной сессии пользователя, а также как создавать удалённые сессии.
Эта функциональность появилась недавно, в Ubuntu 24.04, поэтому могут встречаться ещё кое-какие баги. Но это начало и со временем мы получим полноценный удалённый рабочий стол с поддержкой Wayland и всеми необходимыми функциями, которые есть в XRDP. Например в Ubuntu 24.10 было, подключение к ранее созданной удалённой сессии после отсоединения, также, скорее всего, в следующем релизе вместо имени хоста будет показываться IP адрес в настройках удалённого соединения что сделает подключение более удобным.
Спасибо за обзор! неужели теперь можно стандартными инструментами подключиться с винды в убунту? Кайф