在 Ubuntu 下开机自启动自己的 QT 程序而不启动 Ubuntu 的桌面

Posted smartvxworks

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在 Ubuntu 下开机自启动自己的 QT 程序而不启动 Ubuntu 的桌面相关的知识,希望对你有一定的参考价值。

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 找不到该显示的桌面了,所以会无限显示登录页面

 ubuntu 找不到该显示的桌面了的恢复方法

1.选择*Ubuntu 的高级选项

 

2.选择Ubuntu,with Linux 5.3.0-59-generic (recovery mode)

3.选择root  Drop to root shell prompt,然后点击OK启动命令行

4.然后在命令行下,操作下面恢复桌面

 cd /usr/share/

mv xsessions_ubuntu xsessions

以上是关于在 Ubuntu 下开机自启动自己的 QT 程序而不启动 Ubuntu 的桌面的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu GUI程序开机自启设置

ubuntu 设置脚本开机自启动

Ubuntu 解决 /etc/rc.local 开机启动问题

Ubuntu 18.04 程序设置开机自启动

jetson nano(ubuntu18.04)设置开机自启动python文件

Ubuntu 设置系统环境变量和开机自启动