Gstreamer не работает с другим пользователем, кроме Mendel - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть Google Dev Coral Board. Я хочу, чтобы плагин gstreamer работал с пользователем, отличным от пользователя по умолчанию mendel . Я выполнил следующие шаги и столкнулся с проблемой.

  1. Установил gstreamer с помощью следующей команды .
    sudo apt-get install -y gstreamer1.0-plugins-bad gstreamer1.0-plugins-good python3-gst-1.0 python3-gi

  2. Затем клонировали пользователя mendel в следующем сценарии.

SRC=$1
DEST=$2

SRC_GROUPS=$(id -Gn ${SRC} | sed "s/${SRC} //g" | sed "s/ ${SRC}//g" | sed "s/ /,/g")
SRC_SHELL=$(awk -F : -v name=${SRC} '(name == $1) { print $7 }' /etc/passwd)

useradd --groups ${SRC_GROUPS} --shell ${SRC_SHELL} --create-home ${DEST}
passwd ${DEST}


3. Если мы сохраним указанный выше файл под именем clone-user. sh. Затем используйте следующую команду
./clone-user.sh mendel user2.

Если мы переключаемся на пользователя, созданного выше, с помощью sudo su - user2 и запускаем команду gst-launch-1.0 videotestsrc ! waylandsink. Тогда gstreamer не будет работать.

Где команда gst-launch-1.0 videotestsrc ! waylandsink работает, если мы используем пользователя по умолчанию. В моем случае это Мендель .

Я попробовал ссылку . Но это также не работает.

1 Ответ

0 голосов
/ 19 февраля 2020

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

$ echo $UID

скопировать файлы из / run / user / 1000 в идентификатор нового пользователя:

$ cp -r /run/user/1000 /run/user/$UID

владеть им:

$ sudo chown username:username -R /run/user/$UID/*

set XDG_RUNTIME_DIR:

$ export XDG_RUNTIME_DIR=/run/user/1000

Я могу сделать это и запустить edgetpu_classify и gst-launch-1.0 с Менделем и root.

...