实现这个功能,要完成两步:
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桌面,保证数据安全,可以看下面的方式
若想将QT程序直接当成ubuntu的桌面的话,则必须替换掉/usr/share/xsessions
下的所有文件,该文件夹下默认存放加载ubuntu桌面的所有配置文件
xsessions/
├── ubuntu-communitheme-snap.desktop
└── ubuntu.desktop
cd /usr/share/
mv xsessions xsessions_ubuntu
mkdir xsessions
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找不到该显示的桌面了,所以会无限显示登录页面
“The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.” – Tom Cargill
标 题:在Ubuntu下开机自启动自己的QT程序而不启动Ubuntu的桌面