Попробуйте следующее:
__ DURATION_HMS = $ (ffmpeg -i "$ {FILE}" 2> & 1 | grep Duration | \
grep -e '[0-9] \ {2 \}: [0-9] \ {2 \}: [0-9] \ {2 \}' -o)
Это связано с тем, что подключение дисплея X11 принадлежит пользователю , под которым вы входите через SSH . Механизм X11Forwarding
не позволяет никому другому использовать дисплей.
К счастью, есть обходной путь. После использования su
и становления другим пользователем введите эту команду:
xauth add $(xauth -f ~username/.Xauthority list | tail -1)
где ~username
— ваш первоначальный пользователь, т.е. пользователь, с которым вы подключались к серверу.
Очевидно, это работает, если ваш новый пользователь имеет достаточно прав для чтения ~username/.Xauthority
(, т.е. если вы su
на root
, то проблем нет, если другому пользователю может не работать и вам нужно проверить/изменить разрешения ).
Следующие шаги должны устранить проблему.
Скажите, что это работает для user1
и вы хотите использовать его для user2
Дляuser1
:
$ xauth list $DISPLAY
<output1>
$ echo $DISPLAY
<outoput2>
Переключиться на другого пользователя, т.е.user2
$ xauth add <output1>
$ export DISPLAY=<output2>
Попробуйте:
$ xclock