Jump to content
From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Xhost. Дата последней синхронизации: 2023-02-08. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Из man-страницы Xhost (выделено жирным шрифтом):

  Программа xhost используется для добавления и удаления имен хостов или имен пользователей из списка, которым разрешено устанавливать соединения с X-сервером. В случае с хостами это обеспечивает рудиментарную форму контроля конфиденциальности и безопасности. Этого достаточно только для рабочей станции (одного пользователя), хотя это и ограничивает возможности злоупотребления. Среды, требующие более сложных мер, должны реализовать механизм на основе пользователя или использовать хуки в протоколе для передачи других данных аутентификации на сервер.

Полную информацию смотрите в xhost(1).

## Установка

Установите пакет xorg-xhost.

## Использование

Warning: Эта команда предоставляет любому локальному пользователю доступ к вашему X-серверу. Это может быть нормально для однопользовательской машины, но опасно для многопользовательской системы. Если вы хотите предоставить доступ root к X - лучше установить переменную окружения `$XAUTHORITY`. Эта переменная сохраняется sudo и su по умолчанию (но не `su -`).

Чтобы предоставить доступ к приложению, запущенному с помощью sudo или su, на графический сервер (он же сеанс X, он же экран вашего компьютера), откройте терминал и введите текст от имени вашего обычного пользователя:

    $ xhost +SI:localuser:username

Чтобы вернуть все в нормальное состояние, с контролируемым доступом к экрану X:

    $ xhost -

`xhost +` полностью отключит аутентификацию X. Не делайте этого, если не знаете что делаете.

## Вывод 'cannot connect to X server :0.0'

Warning: Эта команда отключает контроль доступа, что означает, что любой пользователь в системе или в вашей сети, если X прослушивает сеть, имеет доступ к вашему `$DISPLAY` без какой-либо аутентификации. Это открывает брешь в безопасности вашей системы, позволяющей другим пользователям запускать приложения (включая регистраторы ключей) на вашем X-сервере.

Приведенная выше команда `xhost +` избавит вас от этого вывода, хотя бы на время; один из способов навсегда избавиться от этой проблемы, среди многих других, - это добавить

    xhost + > /dev/null

в ваш файл `~/.bashrc`. Таким образом, каждый раз, когда вы открываете терминал, команда будет выполняться. Если у вас еще нет файла `` в домашнем каталоге - можно создать его, добавив только эту строку. Если вы не добавите `> /dev/null`, то каждый раз, когда будете открывать терминал - будете видеть сообщение: access control disabled, clients can connect from any host, что является подтверждением того, что теперь вы можете запускать вашу_программу от имени root без проблем.

## Смотрите также

- X-аутентификация с помощью cookies и xhost (ошибка "No protocol specified" ("Протокол не указан"))

Category:

- X server (Русский)