X11 Переадресация не работает, если SU для другого пользователя

Попробуйте следующее:

__ DURATION_HMS = $ (ffmpeg -i "$ {FILE}" 2> & 1 | grep Duration | \ grep -e '[0-9] \ {2 \}: [0-9] \ {2 \}: [0-9] \ {2 \}' -o)

1
18.10.2018, 15:05
2 ответа

Это связано с тем, что подключение дисплея X11 принадлежит пользователю , под которым вы входите через SSH . Механизм X11Forwardingне позволяет никому другому использовать дисплей.

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

xauth add $(xauth -f ~username/.Xauthority list | tail -1)

где ~username— ваш первоначальный пользователь, т.е. пользователь, с которым вы подключались к серверу.

Очевидно, это работает, если ваш новый пользователь имеет достаточно прав для чтения ~username/.Xauthority(, т.е. если вы suна root, то проблем нет, если другому пользователю может не работать и вам нужно проверить/изменить разрешения ).

2
27.01.2020, 23:31

Следующие шаги должны устранить проблему.

Скажите, что это работает для user1и вы хотите использовать его для user2

.

Дляuser1:

$ xauth list $DISPLAY
<output1>
$ echo $DISPLAY
<outoput2>

Переключиться на другого пользователя, т.е.user2

$ xauth add <output1> 
$ export DISPLAY=<output2>

Попробуйте:

$ xclock
6
27.01.2020, 23:31

Теги

Похожие вопросы