Вопрос или проблема
(заголовок не смог создать более 50 VNC+Gnome сессий (ограничения dubs/systemctl))
Я пытаюсь создать 50 VNC сессий на машине с CentOS 7.6. Я создал локального пользователя. После входа в систему я смог создать только 9 сессий.
После этого VNC сервер запускается, но сразу же выдает ошибку:
Пример VNC лога
Copyright (C) 1999-2017 TigerVNC Team и многие другие (см. README.txt)
См. http://www.tigervnc.org для получения информации о TigerVNC.
Подлежащая версия X-сервера 12001000, Фонд X.Org
Пн Ноя 25 12:42:38 2019
vncext: VNC расширение работает!
vncext: Ожидание VNC подключений на всех интерфейсах, порт 5959
vncext: создан VNC сервер для экрана 0
/localhome//iesdvnc/.vnc/xstartup: строка 5: 28820 Трассировка/прерывание /etc/X11/xinit/xinitrc
dmesg содержит что-то подобное…
47.022483] ловушки: gnome-session-b[10647] ловушка int3 ip:7fd7ea82fb11 sp:7ffd0a245090 ошибка:0
[ 55.985977] ловушки: gnome-session-b[11755] ловушка int3 ip:7f81b8595b11 sp:7ffdbfee0910 ошибка:0
[ 60.403733] ловушки: gnome-session-b[12603] ловушка int3 ip:7fb06491ab11 sp:7ffd42f68e00 ошибка:0
[ 60.982362] ловушки: gnome-session-b[13356] ловушка int3 ip:7fa59f459b11 sp:7ffea65498d0 ошибка:0
[ 62.825407] ловушки: gnome-session-b[14135] ловушка int3 ip:7f2e4334fb11 sp:7ffd33387220 ошибка:0
Я подозреваю, что это связано с системными ограничениями для пользователя или ограничениями dbus. Я не могу продолжить. Пожалуйста, предложите, что можно изменить, чтобы создать десятки VNC дисплеев.
После дополнительной отладки ошибка:
ОШИБКА: Не удалось подключиться к системной шине: GDBus.Error:org.freedesktop.DBus.Error.LimitsExceeded: Максимальное число активных подключений для UID <user id> достигнуто
Попробуйте создать файл /etc/dbus-1/system.conf
с следующей конфигурацией:
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<limit name="max_connections_per_user">10000</limit>
</busconfig>
Для ограничения сессий вы можете создать /etc/dbus-1/session.conf
или /etc/dbus-1/system-local.conf
, но, согласно ошибке #492941, это может не сработать.
Источники:
Ответ или решение
Проблема, с которой вы столкнулись, связана с лимитами на количество активных соединений для вашего UID (идентификатора пользователя) в D-Bus. Это поведение можно изменить, настроив конфигурацию D-Bus. Ниже приведены шаги, которые помогут вам решить эту проблему и создать необходимое количество VNC сеансов.
Шаг 1: Изменение конфигурации D-Bus
-
Создание файла конфигурации: Вам необходимо создать файл конфигурации для системной шины D-Bus в
/etc/dbus-1/system.conf
. Для этого откройте текстовый редактор с правами администратора и создайте файл:sudo nano /etc/dbus-1/system.conf
-
Добавление конфигурации: Вставьте следующий код в файл:
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> <busconfig> <limit name="max_connections_per_user">10000</limit> </busconfig>
Сохраните и закройте файл.
Шаг 2: Изменение лимитов для сеансов D-Bus
-
Создание файла для сеанса: Следующий шаг – это изменение лимитов для сеансов D-Bus. Вы можете создать файл
/etc/dbus-1/session.conf
или отредактировать/etc/dbus-1/system-local.conf
. Для начала создадим новый файл:sudo nano /etc/dbus-1/session.conf
-
Добавление аналогичной конфигурации: Вставьте аналогичный код, как в предыдущем файле:
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> <busconfig> <limit name="max_connections_per_user">10000</limit> </busconfig>
Сохраните и закройте файл.
Шаг 3: Перезагрузка D-Bus
После сохранения всех изменений необходимо перезапустить D-Bus для применения новых настроек. Вы можете сделать это с помощью следующей команды:
sudo systemctl restart dbus
Шаг 4: Проверка и создание VNC-сессий
Теперь попробуйте снова создать VNC-сеансы. Если все прошло успешно, вы должны иметь возможность создать больше 9 сеансов без возникновения ошибки "LimitsExceeded".
Примечания
- Если проблема сохраняется, проверьте системные лог-файлы на наличие других ограничений или ошибок, которые могут влиять на создание сессий.
- Убедитесь, что ваш сервер достаточно ресурсов для поддержки такого количества сессий.
Полезные ссылки
Следуя этим шагам, вы должны быть в состоянии преодолеть ограничения и создать нужное количество VNC-сессий на вашем сервере.