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

本贴最后更新于 1893 天前,其中的信息可能已经时移世易

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

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    125 引用 • 169 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...