X11: Клиент не авторизовался при вызове с помощью sudo

Возможный дубликат:
Можно ли запустить графическую программу на рабочем столе другого пользователя с правами root?

Я пытаюсь сделать эквивалент:

$ sudo -u myuser DISPLAY=:1 xterm 

Однако, это дает мне следующую ошибку

 Client is not authorized to connect to Server 

С другой стороны, я могу сделать это просто отлично:

 $ sudo -u -i myuser $ DISPLAY=:1 xterm 

Почему X-сервер не позволяет запускать X11-приложение напрямую как другой пользователь, и есть ли способ, который я могу явно разрешить?

2 Solutions collect form web for “X11: Клиент не авторизовался при вызове с помощью sudo”

Разрешение другому пользователю подключиться к вашему X-серверу означает, что он может видеть ваш экран, видеть, что вы печатаете (например, пароли), убивать ваши приложения (завершая их подключение к X-серверу) и, таким образом, выходить из системы, если он убивает ваши оконный менеджер, заманивает вас поддельными окнами … Имея это в виду, легко понять, почему по умолчанию это запрещено.

Чтобы разрешить другому пользователю доступ к вашему X-серверу, вы можете либо предоставить ему код доступа для вашего сервера (см. Вывод xauth list "$DISPLAY" или если другой пользователь является локальным, запустите xhost +si:localuser:myuser

Если у вас есть пароль пользователя myuser или ключ в файлах ~ / .ssh / authorized_keys myuser, и ваша система не поддерживает xhost +si:localuser , вы можете попробовать ssh -X myuser@localhost xterm

-X позволяет пересылать X через это ssh-соединение, создавая новый виртуальный X-сервер, доступный только для этого другого пользователя, который отправляет запросы на ваш X-сервер, не открывая его для любого процесса, выполняемого любым пользователем в системе, что обычно происходит, когда xhost встречает срочную необходимость или лень или ICBFRTFM, приводящую к xhost +localhost .

Этот метод также работает (и показывает весь его потенциал), когда пользователь находится на удаленной машине.

Есть некоторые накладные расходы при пересылке X поверх ssh, как это, но если вы не используете что-то интенсивно графическое (например, 3D-игру), вы вряд ли заметите какое-либо снижение производительности. Добавление опции -o Ciphers=arcfour в ssh может повысить производительность.

(Кстати, я запускал 3D-программы, такие как клиенты второго уровня, через соединение ssh -X подобное этому, подключение к другой машине в моей домашней локальной сети. Это не очень удобно, но она работает достаточно хорошо для тестирования)

  • Как уменьшить площадь видимого окна X11 Root?
  • xsel и xclip висят
  • Переназначить ключи Ctl и Alt - ошибка xmodmap
  • минимизация и повышение окна из сценария оболочки
  • X: узнать, видимо ли окно пользователю, т.е. не покрыто другими
  • Переключить Alt и клавишу Windows, кроме случаев, когда используется внешняя клавиатура
  • Не удалось запустить сеанс Java GUI X11 из контейнера докеров
  • FVWM: Сделать xterm на вершине, условно
  • Какой самый простой способ сделать снимок того, что я делаю на рабочем столе Linux?
  • Оказывает ли система X-оконной системы масштабируемость?
  • Как определить, находится ли окно в фокусе?
  • Перемещение окна на другой компьютер
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.