Вопрос или проблема
Как указано в заголовке, я включил службу общего доступа к экрану по умолчанию в ubuntu gnome. Хорошая новость в том, что она поддерживает как MS RDP, так и VNC протоколы. Однако я обнаружил, что VNC принимает только одно соединение. Если один пользователь уже подключен к рабочему столу через VNC, второй пользователь (использующий realVNC) получит сообщение об ошибке “Соединение неожиданно закрыто”. Еще одно преимущество заключается в том, что соединение RDP не имеет этого ограничения. Несколько пользователей могут одновременно подключаться к одному и тому же рабочему столу через RDP (что также странно, поскольку настоящая версия Windows DESKTOP принимает только одно соединение). В /var/log/syslog есть лог-событие “gnome-remote-de[идентификатор процесса]: Отказ в новом VNC-соединении: уже активная сессия”
Кто-нибудь знает, как сделать несколько VNC-соединений? Конечно, я могу использовать RDP, но я бы предпочел остаться с VNC, так как другие компьютеры прекрасно работают с VNC. Использовать больше одного инструмента кажется… раздражающим. Установка другого VNC-сервера кажется избыточной.
Исправление: Я только что заметил, что рабочий стол – это X11, а не wayland. Удалите все “wayland” выше.
Вам нужно определить больше дисплеев в вашей X11 настройке для vnc. В данный момент у него есть только один физически подключенный дисплей. Я не делал ничего подобного, поэтому не знаю, как это сделать. Google – ваш друг: Добавить виртуальный X11 экран для использования через VNC
Ответ или решение
Решение проблемы с несколькими подключениями VNC в Ubuntu 22.04 LTS
Введение
Использование VNC (Virtual Network Computing) для удалённого доступа к рабочему столу Ubuntu 22.04 LTS может сталкиваться с ограничениями по количеству одновременных подключений. В данной статье мы рассмотрим, почему VNC в вашем случае принимает только одно соединение, и как добиться поддержки нескольких подключений, сохраняя при этом функциональность системы.
Описание проблемы
Вы включили стандартный сервис удалённого рабочего стола GNOME, который поддерживает как протоколы VNC, так и RDP. Однако, при попытке подключиться к одному и тому же рабочему столу через VNC, вам систематически выдаётся ошибка "The connection closed unexpectedly" после того, как уже есть активное соединение. В то же время, RDP позволяет нескольким пользователям одновременно подключаться к одному и тому же рабочему столу.
Лог-файл /var/log/syslog
указывает на ошибку: gnome-remote-de[process id]: Refusing new VNC connection: already an active session
, что явно указывает на невозможность создания новых VNC-сессий при наличии активной.
Причины ограничения
По умолчанию, сервис VNC в Ubuntu настроен на использование одного активного соединения, что связано с конфигурацией X11. Если система подключена к физическому экрану, такой как консоль Linux, то она будет ограничена одним пользователем.
Решение проблемы
Чтобы разрешить несколько VNC-соединений на одной машине, вам необходимо создать несколько виртуальных дисплеев в X11. Вот шаги, которые помогут вам настроить это:
1. Установка необходимых пакетов
Убедитесь, что у вас установлены необходимые пакеты для работы с VNC:
sudo apt update
sudo apt install tightvncserver
2. Конфигурация виртуальных дисплеев
Создайте конфигурацию для дополнительных виртуальных дисплеев. Для этого вам потребуется редактировать файл конфигурации вашего дисплея:
-
Создайте скрипт для запуска нового VNC-сервера. Например, создайте файл
~/.vnc/xstartup
и добавьте в него содержимое:#!/bin/sh xrdb $HOME/.Xresources startgnome &
-
Дайте права на выполнение этому файлу:
chmod +x ~/.vnc/xstartup
-
Запустите VNC сервер на новом виртуальном дисплее:
vncserver :1
Это создаст новый виртуальный дисплей, на котором будет доступен другой экземпляр рабочего стола GNOME.
3. Подключение к VNC
Теперь вы можете подключаться к различным виртуальным дисплеям, используя :1
для первого дополнительного соединения, :2
для второго и так далее.
4. Управление VNC-сессиями
Чтобы остановить или перезапустить VNC-сессии, можно использовать следующие команды:
vncserver -kill :1
Заключение
Следуя данным шагам, вы сможете настроить поддержку нескольких VNC-соединений на вашем Ubuntu 22.04 LTS. Это позволит вам использовать протокол VNC по мере необходимости, сохраняя доступ к функциональности нескольких удалённых пользователей. Если понадобятся дополнительные настройки, вы всегда можете обратиться к сообществу или специализированной документации. Помните, что использование RDP также является отличным вариантом, если вы хотите использовать одновременное подключение нескольких клиентов.