Вопрос или проблема
Это для Ubuntu (kubuntu) 24.04 и также 22.04. (Я смог найти похожий вопрос, но касающийся версии Ubuntu, выпущенной десять лет назад.)
Сценарий использования таков: я единственный на локальной сети, и мне не нужна безопасность X11, и я просто хотел бы иметь возможность отправлять X11 приложения на любой дисплей без проблем. Итак:
- Как правильно включить TCP-прослушивание (которое по умолчанию отключено)?
- Как запустить X-сервер с отключенным контролем доступа (чтобы избежать необходимости иметь, например,
xhost +
в скрипте для входа)?
Ответ или решение
Включение прослушивания TCP и отключение контроля доступа для X11 на Ubuntu 22.04 и 24.04
Если вы используете Ubuntu (или Kubuntu) версии 22.04 или 24.04 и хотите настроить X11 для прослушивания TCP-соединений без контроля доступа, следуйте приведённым ниже инструкциям. Эти шаги помогут создать рабочую среду для запуска графических приложений X11 на различных дисплеях в пределах локальной сети.
Шаг 1: Включение прослушивания TCP
По умолчанию в Ubuntu и Kubuntu прослушивание TCP для X11 отключено по соображениям безопасности. Чтобы активировать его, вам нужно изменить параметры сервера X.
-
Открытие конфигурационного файла:
Вам нужно отредактировать файл конфигурации/etc/X11/xinit/xserverrc
. Откройте терминал и выполните команду:sudo nano /etc/X11/xinit/xserverrc
-
Изменение конфигурации:
Измените строку, начинающуюся сexec
, чтобы добавить параметр-listen tcp
. Отредактируйте файл так, чтобы он выглядел примерно так:exec /usr/bin/X -nolisten tcp :0
-
Сохранение изменений:
НажмитеCtrl + X
, затемY
, и, наконец,Enter
, чтобы сохранить изменения и выйти из редактора nano.
Эти действия позволят X-серверу принимать подключения по TCP.
Шаг 2: Запуск X-сервера с отключенным контролем доступа
Для того чтобы избежать использования команды xhost +
для отключения контроля доступа, вы можете запустить X-сервер с его отключенным контролем доступа прямо при старте.
-
Создание пользовательской конфигурации:
Вам нужно будет создать файл~/.xinitrc
, если он не существует. Это файл, который пользователь может использовать для настройки запуска X.Откройте терминал и выполните:
nano ~/.xinitrc
-
Добавление команд:
Добавьте следующую строку в файл:#!/bin/sh xhost + exec your_window_manager
Замените
your_window_manager
на ваш оконный менеджер (например,startkde
,startxfce4
и т.д.). -
Сохранение изменений:
Используя комбинациюCtrl + X
, затемY
, иEnter
, чтобы сохранить изменения. -
Установка прав на выполнение:
После создания или редактирования файла не забудьте установить права на выполнение:chmod +x ~/.xinitrc
Теперь, при запуске X-сессии, контроль доступа будет отключён автоматически, что упростит работу с X11-приложениями в вашей локальной сети.
Заключение
Следуя представленным шагам, вы сможете настроить X11 на Ubuntu 22.04 и 24.04 для работы без доступа через TCP и контроль доступа. Это обеспечит удобство работы с графическими приложениями на локальной сети. Тем не менее, помните о рисках безопасности, связанных с отключением контроля доступа, и используйте эту конфигурацию только в безопасной среде, например, в домашней сети.