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 找不到該顯示的桌面了,所以會無限顯示登錄頁面