原文地址: https://leif.fun/articles/2019/09/16/1568623863832.html
1. /etc/profile方式
实现这个功能,要完成两步:
1、系统设置->用户账户->点击我的账户->点击右上角的解锁->打开自动登录->点击右上角的锁定->退出系统设置
2、在/etc/profile
文件的开头添加执行qt程序的命令。如:
cd /usr/local/src/QT_dir(这里是可执行文件的绝对路径)
./hello
或者直接写:
/usr/local/src/QT_dir/hello
这样在启动的时候,Ubuntu就不会启动自己的桌面了,另外要是想自己QT应用程序结束时,主机也自动关机的话,就直接在执行qt程序的指令后面添加:init 0
注意:上述方法当QT程序崩溃的时候,会自动跳转到登录页面,输入密码过后会进入ubuntu桌面,若想不加载ubuntu桌面,保证数据安全,可以看下面的方式
2.xessions方式
若想将QT程序直接当成ubuntu的桌面的话,则必须替换掉/usr/share/xsessions
下的所有文件,该文件夹下默认存放加载ubuntu桌面的所有配置文件
xsessions/
├── ubuntu-communitheme-snap.desktop
└── ubuntu.desktop
2.1备份Ubuntu配置文件
cd /usr/share/
mv xsessions xsessions_ubuntu
2.2新建新的xsessions文件夹
mkdir xsessions
2.3新建QT桌面配置文件和执行脚本(文件名随意)
touch QT.desktop
toch QT.sh
文件内容:
QT.desktop
[Desktop Entry]
Type=Application
Exec=sudo -u root /bin/bash /usr/share/xsessions/QT.sh
QT.sh
xset s 0 #关闭屏幕保护
xset dpms 0 0 0 #关闭屏幕休眠
cd /usr/local/src/QT_dir
./hello
整体目录结构
xsessions
├── QT.desktop
└── QT.sh
xsessions_ubuntu
├── ubuntu-communitheme-snap.desktop
└── ubuntu.desktop
注意:此方法当QT崩溃时会跳转到登录界面,但是输入密码过后会反复显示登录界面,无法进入任何桌面,那是因为QT程序已经作为了ubuntu的当前桌面,而程序崩溃之后,脚本执行完毕,故ubuntu找不到该显示的桌面了,所以会无限显示登录页面
网友评论