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-приложение напрямую как другой пользователь, и есть ли способ, который я могу явно разрешить?

  • startx не работает fedora 23
  • Android SDK на Linux без NO GUI
  • Как настроить lynx для передачи изображений в xloadimage, xv или zvg?
  • Не удается запустить приложение, которое зависит от X как службы systemd
  • Включение растровых шрифтов выборочно в X?
  • Использование переназначенной клавиши Left Control <LCTL> в качестве ярлыка
  • Создание «~» ввода клавиши Shift + Esc, как в США.
  • Как использовать опцию '-config' для `setxkbmap`?
  • 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 подобное этому, подключение к другой машине в моей домашней локальной сети. Это не очень удобно, но она работает достаточно хорошо для тестирования)

    Interesting Posts

    Добавление useraccount в качестве пользователя root с помощью «usermod -G root useraccount»?

    Используется ли Unix бухгалтерами и другими не-программистами в AT & T в 70-х и 80-х годах?

    Как отформатировать 16-гигабайтный pendrive для хранения всего 2 ГБ

    Есть ли ограничение для жестких ссылок для одного файла?

    Насколько безопасно sudo при запуске от root для запуска приложения в качестве менее привилегированного пользователя?

    kernel panic, затем спам от трекера-miner-f в syslog

    Что делать, когда вы удаляете разрешение на выполнение из некоторых системных двоичных файлов или библиотек?

    Чтение Bash из / dev / tcp без внешних двоичных файлов

    locales: изменить формат времени по умолчанию

    Настроить ebuild в Gentoo в дереве порталов

    Загрузка ядра через NFS

    Как создать открытую точку доступа Wi-Fi без пароля в Linux Mint?

    awk-фильтрация в реальном времени с файлом в виде списка шаблонов

    В отчетах SAR% commit включает использование кеша страницы?

    Изменяет ли команда cp файловую структуру?

    Linux и Unix - лучшая ОС в мире.