一种让Linux窗口应用运行在全屏模式的简单粗暴方法
导航思路操作步骤禁用默认DM(Display Manger)创建自己的startx脚本让自己的startx脚本开机启动重启总结思路在嵌入式Linux系统里,整机一般只运行一个应用,并且是开机自启动,所以用不上Display Manager,可以直接替换成应用。替换后,就没有窗口系统了,应用也就不会带上窗口系统的标题栏、关闭按钮等,实现被动全屏。操作步骤在Ubuntu 1604上验证通过,其他环境大
·
思路
在嵌入式Linux系统里,整机一般只运行一个应用,并且是开机自启动,所以用不上Display Manager,可以直接替换成应用。
替换后,就没有窗口系统了,应用也就不会带上窗口系统的标题栏、关闭按钮等,实现被动全屏
。
操作步骤
在Ubuntu 1604上验证通过,其他环境大同小异
禁用默认DM(Display Manger)
修改/etc/X11/default-display-manager
配置文件,默认值应该是/usr/sbin/lightdm
之类的,将其内容改成false
- 注意不要将原来的内容用
#
注释再加false
,这样不会生效,因为X只读第一行,并以为是DM的路径,造成混乱。
创建自己的startx脚本
以系统自带的startx
为蓝本,在启动xinit
命令那一行前面,加上client
环境变量的赋值,就构成了my-startx
脚本:
client="/root/sh/startApp.sh" # startApp.sh是我们的应用(你也可以替换成firefox等,只要是GUI程序就行)
xinit "$client" $clientargs -- "$server" $display $serverargs # GUI程序直接跟X server打交道,避免DM这个中间商赚差价^_^
retval=$?
让自己的startx脚本开机启动
修改/etc/rc.local
,在exit 0
前加一行即可。
/path/to/my-startx &
exit 0
注意在行尾加&
符号,好让我们的应用不占用终端,免得rc.local
脚本不退出,阻塞其他初始化流程。
重启
重启后设备应该就会直接进入应用界面,且是全屏的。
总结
该方法不仅简单,而且不需要改应用代码,对于源码找不到的应用比较合适
另外不启动DM,也能省不少系统资源,很适合嵌入式系统。
更多推荐
已为社区贡献2条内容
所有评论(0)