- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
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. Вы сможете запускать графические приложения без какой-либо дополнительной настройки.