Главная >> Инструкции >> Удаленный рабочий стол в Ubuntu 24.04 и 24.10

Удаленный рабочий стол в Ubuntu 24.04 и 24.10

Функция удаленного рабочего стола позволяет подключится к удаленному компьютеру или виртуальной машине по сети. Это довольно удобно, но до недавнего времени у Ubuntu с этим было не всё так просто. Встроенная програма удалённого рабочего стола не поддерживала создание новых сессий, а большинство сторонних программ не работали если испозуется Wayland, не имели открытый исходный код, либо использовали сторонний сервер для связи.

В Gnome 46 встроенный сервис удалённого рабочего стола получил обновление и возможность создавать новые сессии. Это позволяет использовать его в качестве замены x11vnc или xrdp и в этой статье мы рассмотрим как это всё настроить. Я буду рассматривать всё на примере Ubuntu 24.10, поскольку она поставляется с GNOME 47 и содержит самую свежую имплементацию Gnome Remote Desktop, но эти инструкции должны работать и для Ubuntu 24.04.


Содержание статьи

Как это работало раньше?

Когда я только начал пользоваться 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 адрес в настройках удалённого соединения что сделает подключение более удобным.

Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

12 комментариев к “Удаленный рабочий стол в Ubuntu 24.04 и 24.10”

  1. Дело обстоит много интереснее, когда нужно подключиться к машине, не настроенной предварительно, или даже не оснащенной монитором (т.н. headless), вроде облачного сервера. И в Gnome Remote Desktop такой сценарий предусмотрен, но уже через командную оболочку посредством SSH. Материал можно дополнить!

    Ответить
  2. Вновь отличная статья. Всё подробно, понятно с отличными скриншотами и прекрасным литературным русским языком. Но главное конечно: "Наконец-то он вернулся! Мы так соскучились!".

    Ответить
  3. Каноникал, прямо сказать, нужную вещь запилил в 22.04. В 24.04 довели до ума.
    Теперь задача со * как то же самое запилить в системе с другой средой - МАТЕ или, скажем CINNAMON. Этого добра там нет. В смысле оно, вероятнее, где-то надежно упрятано.

    Собственный опыт на синнамоне успехом (пока что) не увенчался. Если у кого будет положительный результат в мате и синнамон -- делитесь.

    Ответить
  4. Всё работает, но заходя по rdp с разных устройств и в живую закрываются все приложения юзера, юзер один. "Удаленный вход невозможен, потому что локальный сеанс уже запущен...Принудительная остановка приведет к завершению всех запущенных..." Поведайте секрет - Как правильно входить/выходить, чтобы приложения и процессы не закрывались?

    Ответить
    • Если я правильно понял вопрос, вы пытаетесь одноврменно подключится с нескольких устройств к одной сессии пользователя. На данный момент для удаленного входа есть ограничение: один пользователь - одна сессия, не важно локальная она или удаленная. Возможно это изменится в следующих версиях и появится возможность перехватывать управление, но пока этого нет и нужно только завершать сессию чтобы создать новую. Пока остается только использовать Desktop Sharing если нужно подключится к активной локальной сессии как это делалось раньше.

      Ответить
      • Нет, не одновременно. Подключился - запустил программу - закрыл окно RDP. Подключаюсь заново, с того же устройства и логина - "Удаленный вход невозможен, потому что локальный сеанс уже запущен...Принудительная остановка приведет к завершению всех запущенных..."
        Вот как подключится к существующему сеансу? Согласие на принудительную остановку приводит к закрытию работающих программ, именно в этом проблема. Закрывает старый сеанс и открывает новый.
        Даже при физическом входе на комп, после подключения удаленного, то же самое - "Вход в систему невозможен, так как для пользователя User уже запущен удаленный сеанс."

        Ответить
          • С тем, что вы не можете авторизоваться от имени пользователя для которого уже запущена удаленная сессия локально ничего не сделать. Пока это так роботает. Но со входом в ранее закрытую удаленную сессию удаленно в Ubuntu 24.04 были проблемы, и они были исправлены в GNOME 47 (Ubuntu 24.10).

Оставьте комментарий