我有一个谷歌珊瑚开发板。我希望gstreamer插件能与默认用户mendel以外的用户一起使用。我执行了以下步骤,遇到了问题。
-
使用以下命令安装gstreamer
sudo apt-get install -y gstreamer1.0-plugins-bad gstreamer1.0-plugins-good python3-gst-1.0 python3-gi
-
然后在下面的脚本中克隆了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.如果我们以克隆user.sh的名称保存上述文件。然后使用以下命令./clone-user.sh mendel user2
如果我们切换到上面使用
sudo su - user2
创建的用户并运行命令gst-launch-1.0 videotestsrc ! waylandsink
。那么gstreamer就不起作用了。如果我们使用的是默认用户,那么作为命令
gst-launch-1.0 videotestsrc ! waylandsink
的作用。就我而言,它是mendel。
我已经尝试过链接。但它也不起作用。
您可以使用获取新用户的id
$ echo $UID
将文件从/run/user/1000复制到新用户的id:
$ cp -r /run/user/1000 /run/user/$UID
拥有它:
$ sudo chown username:username -R /run/user/$UID/*
设置XDG_RUNTIME_DIR:
$ export XDG_RUNTIME_DIR=/run/user/1000
我能够做到这一点,并使用mendel和root运行edgetpu_classify
和gst-launch-1.0
。