当前位置: 首页 > news >正文

UBUNTU20.04 配置以QT界面程序代替系统界面启动,以及如何在tty模式下以linuxfb形式启动

QT界面代替系统界面启动

xsessions配置

将QT程序直接当成ubuntu的桌面,需要替换掉/usr/share/xsessions下的原有桌面配置文件。

将原目录的ubuntu.desktop文件后缀改名,重新创建新文件myApp.desktop文件并添加内容

[Desktop Entry]
Name=myapplication
Comment=auto start myapplication
Exec=/bin/bash /home/a/czk200/StartRun.sh #运行脚本
#Exec=/home/a/czk200/CZK #运行程序
Iocn=
Type=Application

QT配置

注意:此方法当QT崩溃时会跳转到登录界面,但是输入密码过后会反复显示登录界面,无法进入任何桌面,那是因为QT程序已经作为了ubuntu的当前桌面,而程序崩溃之后,脚本执行完毕,故ubuntu找不到该显示的桌面了,所以会无限显示登录页面,此时也可以通过Ctrl+Alt+F1~F3进入tty命令模式启动。

桌面模式下启动

QT启动配置脚本,注意权限问题

#!/bin/bashcd /home/a/czk200/
echo 123456 | sudo -S pwdexport DISPLAY=:0.0ulimit -c unlimited
export LD_LIBRARY_PATH=/usr/lib/
export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/plugins/
export QT_DEBUG_PLUGINS=1
#export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0
#export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event1sudo chmod 777 CZK./CZK# 启动CZK方式#1,图形界面模式启动
./CZK

tty模式启动

指定 linuxfb 这个选项告诉程序使用帧缓冲来渲染图形,而不是 X11 或 Wayland。linuxfb 是一个低级的显示方式,通常用于没有图形桌面的环境,或当你直接操作显示设备(比如嵌入式设备或没有 X11 的系统)时。

#!/bin/bashcd /home/a/czk200/
echo 123456 | sudo -S pwdexport DISPLAY=:0.0ulimit -c unlimited
export LD_LIBRARY_PATH=/usr/lib/
export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/plugins/
export QT_DEBUG_PLUGINS=1
#export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0
#export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event1# 启动 ./CZK
sudo chmod 777 CZK
sudo chmod 666 /dev/fb0
#gdb CZK# 启动CZK方式#2,tty模式启动
sudo chmod 666 /dev/fb0
./CZK --platform linuxfb:fb="/dev/fb0"

问题

1,出现qt.qpa.plugin:Could not load the Qt platform plugin “xcb“问题

运行可能会提示XCB库加载失败问题,有可能是由于XCB插件库指定路径问题,手动指定QT_QPA_PLATFORM_PLUGIN_PATH安装路径

export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/plugins/

2,出现

相关文章:

  • Java设计模式之代理模式详解
  • 大型三甲医院更换HIS系统全流程分析与经验考察(上)
  • 数据分析实战1(Excel制作报表)
  • Linux系统编程-DAY06
  • Opigno LMS 3.2.7 安装操作记录
  • pyspark实践
  • 火柴INIBOX专业矿机登场,碾压现有Initverse挖矿设备
  • YOLOv4:目标检测的新标杆
  • Pytest自动化测试框架搭建:Jenkins持续集成
  • AI学习搭档:开启终身学习新时代
  • torch cuda 版本安装
  • 【Java】DelayQueue
  • 5.27 day 30
  • 修改SpringBootApplication类的入参后,引用外部yml的启动命令要修改
  • Spring AI 本地Ollama
  • C++ 中的函数包装:std::bind()、std::function<>、函数指针与 Lambda
  • 一个开源的多播放源自动采集在线影视网站
  • 15.进程间通信(一)
  • c++复习_第一天(引用+小众考点)
  • 2025吉林CCPC 题解(前六题)
  • 同德县wap网站建设公司/网站关键词排名优化软件
  • 邢台做外贸网站/seo企业推广案例
  • 微商城手机网站制作公司/海外黄冈网站推广
  • 深圳黑马品牌网站设计/苏州seo网站公司
  • 什么网站建设最便宜/品牌推广的三个阶段
  • wordpress 断点调试/郑州关键词优化费用