【Linux】SSH启动桌面窗口程序
硬件:全志H3芯片,HDMI口插一个显示器软件:Ubuntu16.04,运行MATE Desktop登录:用
·
实验环境
硬件:全志H3芯片,HDMI口插一个显示器DISPLAY :0.0;一个USB摄像头,挂在/dev/video0上。
软件:Ubuntu16.04,运行MATE Desktop。
登录:用MobaXTerm通过SSH登录到Linux板卡。
需求
由于Linux板卡只有一个显示器,没有键盘鼠标。需要启动一个桌面程序(以Camorama显示usb摄像头为例)。
验证实验环境
如何验证显示器和摄像头:
printenv 从打印的信息中找一条DISPLAY …,它的格式是DISPLAYhost:NumA.NumB,例如在ssh终端打印出来是DISPLAY=localhost:10.0;在桌面终端打印出来是DISPALY=:0.0
ls /dev/video*可以列出摄像头。
具体步骤
-
step1:开机,SSH登录
板卡有两个用户:一个pi,一个root。而桌面环境登录的用户是pi,所以ssh登录也登录到pi -
step2:设置允许别的用户启动窗体程序
xhost +
-
step3:设置窗口程序要输出的显示器:
export DISPLAY=:0.0
-
step4:启动程序:例如
camorama /dev/video0
-
step5:上述操作要求ssh终端中的用户与桌面用户一样,而若要在ssh中用root用户启动桌面程序就会报错
No protocol specified Error: couldn't open display :0
要解决这个问题,需要在.bashrc中添加:
export XAUTHORITY=~/.Xauthority
保存退出,再使其生效:
source ~/.bashrc
即可用其他用户启动桌面程序。
现象
摄像头启动成功。
更多推荐
已为社区贡献1条内容
所有评论(0)