Linux(33)Rockchip RK3568 Ubuntu22.04上通过SSH运行Qt程序和关闭Chrome的密钥提示

简介: Linux(33)Rockchip RK3568 Ubuntu22.04上通过SSH运行Qt程序和关闭Chrome的密钥提示

嵌入式系统中运行Qt程序通常需要一些特别的配置,尤其是在没有标准图形环境的情况下。本文将详细介绍如何在Rockchip RK3568平台上配置和运行Qt程序,以及如何解决一些常见的问题。

ssh/adb 运行界面应用不需要x11转发

使用Linux Framebuffer (fbdev)

Qt可以配置为使用Linux Framebuffer作为后端来显示界面。这不需要X11支持,但可能不支持Qt的一些高级功能。要使用Framebuffer,可以设置环境变量:

export QT_QPA_PLATFORM=linuxfb
使用EGLFS

EGLFS是一个适用于嵌入式系统的Qt平台插件,它使用OpenGL ES来渲染图形界面。要使用EGLFS,可以设置环境变量:

export QT_QPA_PLATFORM=eglfs
使用Wayland

如果RK3568系统上安装了Wayland,并且Qt支持Wayland,可以使用Wayland作为显示后端。设置环境变量:

export QT_QPA_PLATFORM=wayland
Qt平台插件参数

QT_QPA_PLATFORM环境变量支持多种参数,包括:

  • linuxfb: 使用Linux Framebuffer。
  • eglfs: 使用EGL Full Screen。
  • wayland: 使用Wayland。
  • xcb: 使用X Window System。
  • minimal: 最小化后端。
  • offscreen: 无显示后端。
  • vnc: 通过VNC协议远程显示。
Qt程序无法连接到X服务器

最终解决办法:

如果Qt程序无法连接到X11服务器,需要设置DISPLAY环境变量,并检查X权限和服务器状态:

export DISPLAY=:0
export QT_QPA_PLATFORM=linuxfb
# 这样adb 和 ssh都可以执行qt程序,饼显示到display 桌面上。
# xhost +SI:localuser:<root>
OpenGL驱动问题

如果遇到OpenGL驱动问题,可以尝试禁用OpenGL加速或配置Qt使用OpenGL ES驱动:

export QT_OPENGL=software

关闭Google Chrome的密钥环密码提示

要关闭Google Chrome的新密钥环密码提示,可以修改Chrome的启动配置文件:

sudo vi/usr/share/applications/google-chrome.desktop

在文件中添加--password-store=basic到Chrome的启动命令:

Exec=/usr/bin/google-chrome-stable --password-store=basic %U

完整的/usr/share/applications/google-chrome.desktop

echo "[Desktop Entry]
Version=1.0
Name=Google Chrome
Exec=/usr/bin/google-chrome-stable --password-store=basic --homepage www.baidu.com %U
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=google-chrome
Categories=Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml_xml;image/webp;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;
Actions=new-window;new-private-window;
[Desktop Action new-window]
Name=New Window
Exec=/usr/bin/google-chrome-stable --password-store=basic --homepage www.baidu.com
TargetEnvironment=Unity
[Desktop Action new-private-window]
Name=New Incognito Window
Exec=/usr/bin/google-chrome-stable --password-store=basic --incognito --homepage www.baidu.com
TargetEnvironment=Unity" |  tee /usr/share/applications/google-chrome.desktop

这将使Chrome的密码存储方式更改为基本模式,不再提示输入新密钥环密码。

总结

在嵌入式系统中ssh/adb 运行Qt程序可能需要一些额外的步骤和调试。本文提供了一些常见问题的解决方案,Linux平台上顺利运行Qt程序。


相关文章
|
10月前
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
527 24
|
9月前
|
安全 网络协议 Linux
Linux查 ssh端口号和服务状态
本指南详细介绍如何检查SSH服务的运行状态,包括通过进程命令验证服务启动、查看监听端口、检测系统服务状态以及防火墙配置。同时提供安全建议,如修改默认端口、禁用密码登录和定期更新系统,确保SSH服务稳定与安全。适用于不同Linux发行版(Systemd/SysVinit),帮助用户全面排查和优化SSH配置。
|
11月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
477 10
|
Ubuntu Linux Go
golang编译成Linux可运行文件
本文介绍了如何在 Linux 上编译和运行 Golang 程序,涵盖了本地编译和交叉编译的步骤。通过这些步骤,您可以轻松地将 Golang 程序编译成适合 Linux 平台的可执行文件,并在目标服务器上运行。掌握这些技巧,可以提高开发和部署 Golang 应用的效率。
2591 14
|
机器学习/深度学习 人工智能 Ubuntu
|
存储 数据可视化 Java
震惊!如何在linux下部署项目,部署/运行jar包 超详细保姆级教程!
如何在Linux系统下部署和运行Java项目jar包,包括传输文件到Linux、使用nohup命令运行jar包、查看端口状态、杀死进程和查看项目运行状态,以及如何解决“没有主清单属性”的错误。
2802 2
震惊!如何在linux下部署项目,部署/运行jar包 超详细保姆级教程!
|
C语言 Android开发 C++
基于MTuner软件进行qt的mingw编译程序的内存泄漏检测
本文介绍了使用MTuner软件进行Qt MinGW编译程序的内存泄漏检测的方法,提供了MTuner的下载链接和测试代码示例,并通过将Debug程序拖入MTuner来定位内存泄漏问题。
477 4
基于MTuner软件进行qt的mingw编译程序的内存泄漏检测
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
Linux Shell
6-9|linux查询现在运行的进程
6-9|linux查询现在运行的进程