ssh и sudo, но нет $ DISPLAY

Обычно я делаю это на ssh для получения приложения X, используя sudo su

 ssh -X server 

Вход OKI

 xauth list $DISPLAY 

который возвращается мне

 server/unix:10 MIT-MAGIC-COOKIE-1 blablablablabla 

Тогда я

 sudo su xauth add server/unix:10 MIT-MAGIC-COOKIE-1 blablablablabla 

И после запуска X-приложения. Я понимаю, это правильно.

Проблема в Centos7, я делаю

 xauth list $DISPLAY 

И он ничего не возвращает. Я пытаюсь добавить волшебные куки MIT, данные

 xauth list 

Но, конечно, это не сработает. Обычная X-пересылка через ssh, без sudo.

Настройки sshd одинаковы на 3 серверах:

  1. slackware WORKS
  2. hpux WORKS
  3. centos7 НЕ РАБОТАЕТ

  • различия между vesa и fbdev Xorg драйверами?
  • сенсорные устройства через 2 графические карты
  • Запустить второй X-сервер из X в качестве службы systemd
  • Можно ли переместить окно с одного экрана X на другой на одном хосте?
  • Могу ли я сделать вторую мышь / клавиатуру (виртуальную) для использования xdotool?
  • Переключиться на текстовую консоль в Fedora
  • Как масштабировать оконный менеджер i3 для моего дисплея HiDPI?
  • Как настроить клавиши numpad с помощью XKB?
  • 2 Solutions collect form web for “ssh и sudo, но нет $ DISPLAY”

    Другим решением является объединение файла .Xauthority текущего пользователя с файлом пользователя root.

    1. ssh user@host
    2. измените разрешения файла .Xauthority, чтобы у root также был доступ к нему.
    3. sudo su - root
    4. xauth merge /home/users/user/.Xauthority

    Контрольная работа

     gedit somefile.log 

    Он должен открыть окно gedit.

    Решение найдено. Альтернативный метод, скопированный из этого блога Использование этого скрипта

     userfirst=sshloginuser usersecond=sudoorsuuser $usersecond@host$ su - $userfirst -c 'xauth list' |\ grep `echo $DISPLAY |\ cut -d ':' -f 2 |\ cut -d '.' -f 1 |\ sed -es/^/:/` |\ xargs -n 3 xauth add 

    Или просто Регистрация в качестве пользователя1

     xauth list 

    su или sudo su user2

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