Журнал LinuxFormat - перейти на главную

LXF91:Совет

Материал из Linuxformat
Перейти к: навигация, поиск

Совет месяца: Linux sux

Команду su чаще всего вызывают из консоли, чтобы отредактировать какой-нибудь общесистемный конфигурационный файл, но иногда возникает необходимость повысить привилегии для запуска графического приложения. Попробовав сделать это, вы получите такую ошибку:

Xlib: connection to “:0.0” refused by server.

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

Первый подход: обеспечить аутентификацию на X-сервере для новой (привилегированной) учетной записи. Для этого используется команда xhost. Выполните xhost +local:local от имени вашего обычного пользователя и вы увидите надпись: «non-network local connections being added to access control list». Теперь новый пользователь сможет запускать любое графическое приложение на том же X-экране. Если вы хотите включать эту возможность каждый раз, когда вы открываете X-сессию, следует добавить соответствующую команду в файл .bashrc – тогда она будет выполняться при старте новой копии оболочки Bash. Неприятным побочным эффектом данного решения является возникновение аутентификационной петли при попытке переключиться с помощью su обратно на вашу учетную запись. Используйте команду exit.

Второе решение еще проще. Используйте команду, альтернативную su, которая автоматически передает реквизиты вашей X-сессии. Она называется sux, и ее придется доустановить из репозиториев вашего дистрибутива вручную. После этого, для переключения учетной записи будет достаточно набрать sux newuser. Вы сможете запускать графические приложения без какой-либо дополнительной настройки.

Персональные инструменты
купить
подписаться
Яндекс.Метрика