【CubieTruck】基于Xserver无桌面系统

来源:互联网 发布:唱歌好听的网络歌手 编辑:程序博客网 时间:2024/05/17 02:32
前面两篇文件讲述的是Qt程序调用底层gui接口的两种方式的环境搭建,一是基于frame buffer,二是基于x lib(xlib再调fb)。
由于xlib把fb优化的很好,动态画面无延迟,有时候需要一些比较炫的动态gui,又不想让用户看到桌面,希望开机直接显示自己的gui,那该怎么做呢?
本文主要讲述如何开机启动自己的程序,代替桌面系统。
先介绍一下可行性原理。
linux下的桌面系统一般统称为x Windows,大部分人认识就到此为止。其实xWindows的启动过程大体还分为两步:一是启动x Server;二是启动Windows Manager。xserver是一切窗口程序的基础,WindowsManager是一个窗口管理程序,管理窗口层叠、移动、大小变化等等,事实上它也是一个gui程序。那么我们是不是可以也写一个gui替换WM呢?当然可以。
以lubuntu为例,开机启动的就是lightdm(其他的有KDE、Gnome等)。我们先让开机进入命令行,不启动lightdm。由于lubuntu没有/etc/inittab文件,我们换一个思路,不启动lightdm也可,编辑一下文件/etc/X11/default-display-manager,将/usr/bin/lightdm注释掉(有些其他镜像中有/etc/inittab,将启动等级改为3即可),然后重启看看,是不是进入命令行了。
再就是自动登录,这个编辑两个文件,/etc/lxdm/default.conf加一行autologin=用户名,/etc/lightdm/lightdm.conf加两行autologin-user=用户名 autologin-user-timeout=0。事实上这一步不用做,这个是针对lightdm登录的,启动过程中发现已经是root登录过了。
最后就是自动启动程序,编辑/home/root/.profile,最后面加上一行: xinit 你的程序绝对路径(确保你的程序有执行权限)。xinit是启动xserver的。

0 0
原创粉丝点击