广州做鞋的网站,如何在阿里云做网站,互联网是什么,就要外贸人才网论坛背景
本人使用 Ubuntu Server 22.04 服务器#xff0c;所以没有图形界面#xff0c;而 QNX Software Center 需要图形界面。为了保证服务器环境的整理#xff0c;计划使用Docker部署QNX Software Center 一瓶安装图形界面。本方既是实现方案的记录。
资源
Dockerfile所以没有图形界面而 QNX Software Center 需要图形界面。为了保证服务器环境的整理计划使用Docker部署QNX Software Center 一瓶安装图形界面。本方既是实现方案的记录。
资源
DockerfileDocker 创建脚本start-vnc.shVNC 启动脚本qnx-setup-2.0.4-202501021438-linux.run qnx 安装包(官网下载 [链接])
方案
处理一、跳过qnx安装时提示
qnx安装时大致有三个询问的交互接口
[press q to scroll to the bottom of this agreement]输入q并回车跳至用户协议底部Please type y to accept, n otherwise:输入y并回车同意用户协议Specify installation path (default: /home/gaoyang3513/qnx):输入 /opt/qnx安装至 /opt/qnx 目录下
参考 qnx 安装的help信息跳过交互并修改安装目录为/opt/qnx的命令如下
qnx-setup-2.0.4-202501021438-linux.run --quiet --noexec --nox11 --target /opt/qnx处理二、支持图形显示与交互
当前 Ubuntu Server 宿主机无图形界面参考AI工具给到的建议选用 Xvfb 虚拟显示 VNC 客户端 的方式支持用户连接并操作。其中 XvfbX Virtual Framebuffer 是一个在内存中运行的虚拟 X11 服务器它本身不提供可视化的图形界面但可以运行需要图形环境的应用程序。将 Xvfb 的虚拟显示内容通过 VNC 暴露给用户。 安装 Xvfb 和 VNC 服务器 sudo apt-get install xvfb x11vnc启动 Xvfb 并绑定 VNC 服务 # 启动 Xvfb显示号 99
Xvfb :99 -screen 0 1280x1024x24 # 启动 VNC 服务器绑定到 Xvfb 的显示号
x11vnc -display :99 -forever -shared -nopw 通过 VNC 客户端连接 使用 VNC 客户端如 TigerVNC、RealVNC连接到服务器的 5900 端口。此时可以看到 Xvfb 的虚拟显示界面并操作其中的应用程序。
构建运行
命令如下
# 构建Docker
docker build -t qnx-vnc .# 运行
docker run -it -p 5901:5901 --name qnx-vnc-container qnx-vnc展示 附件 Dockerfile # 基于 Ubuntu 22.04
FROM ubuntu:22.04# 安装基础工具和依赖
RUN apt-get update apt-get install -y \wget \xvfb \fluxbox \x11vnc \xterm \libgtk-3-0 \libnss3 \libx11-xcb1 \libxtst6 \libasound2 \expect \dbus-x11 \gnome-session-bin \libswt-gtk-4-jni \sudo # 复制安装包和脚本
COPY qnx-setup-2.0.4-202501021438-linux.run /tmp/
COPY install_qnx.exp /tmp/# 运行自动化安装
RUN chmod x /tmp/qnx-setup-2.0.4-202501021438-linux.run \/tmp/qnx-setup-2.0.4-202501021438-linux.run --quiet --noexec --nox11 --target /opt/qnx# 创建非 root 用户避免权限问题
RUN useradd -m -s /bin/bash qnxuser \echo qnxuser ALL(ALL) NOPASSWD: ALL /etc/sudoers# 配置启动脚本
COPY start-vnc.sh /start-vnc.sh
RUN chmod x /start-vnc.sh# 设置 VNC 端口和显示变量
ENV DISPLAY:1 \VNC_PORT5901 \RESOLUTION1280x1024x24# 切换到非 root 用户
USER qnxuser
WORKDIR /home/qnxuser# 启动 VNC 服务和 QNX Software Center
CMD [/start-vnc.sh] start-vnc.sh #!/bin/bash# 启动 Xvfb 虚拟显示
Xvfb $DISPLAY -screen 0 $RESOLUTION # 启动 Fluxbox 窗口管理器
fluxbox # 启动 x11vnc 服务器监听 VNC 端口
x11vnc -display $DISPLAY -forever -shared -rfbport $VNC_PORT -bg -nopw # 启动 QNX Software Center
/opt/qnx/qnxsoftwarecenter/qnxsoftwarecenter