Lxn-Chan!

(~ ̄▽ ̄)→))* ̄▽ ̄*)o

使用 Panther X2 + ArmbianOS 为例为其配置无头远程桌面。

需求确认

Panther X2 是一款具备 RK3566 + 4GB RAM + 32GB EMMC 的设备,最早作为矿机出现,后因行情变化,导致该产品廉价大批流出。

这款设备不具备显示输出接口,但出于某些原因我仍需要在其上运行桌面环境。按照本站在 armbian 上安装 xfce 和 VNC 做远程桌面一文中的方法安装xfce后,其桌面并不能做到始终在后台运行,VNC退出后桌面进程即停止。经过一些研究,已可以做到在无物理显示输出的前提下让桌面始终运行。核心思路就是:造一个“虚拟显示器” + 让 xfce 在它上面自启动 + 再把画面共享出去。

按照本文方法,应该也可以同时应用到x86设备上。

环境介绍

主机:Panther X2(4+32),系统安装在SD卡上,SD卡为SanDisk Extreme 64GB。

操作系统:v26.02.0 for RK.Panther-X2 running Armbian Linux 6.12.69-ophub;内核版本:6.12.69-ophub

部署桌面

  1. 安装必要软件包:
    1
    apt install -y xvfb xfce4 xfce4-goodies x11vnc libayatana-appindicator3-1 libappindicator3-1 libegl1-mesa dbus-x11 fonts-noto-cjk fonts-wqy-zenhei fonts-wqy-microhei
    其中:
    xvfb用于启动虚拟显示器;
    xfce4 xfce4-goodies为xfce;
    x11vnc用于使用VNC共享桌面;
    libayatana-appindicator3-1 libappindicator3-1为托盘图标支持库;
    libegl1-mesa用于处理 OpenGL/EGL 运行库缺失问题;
    fonts-noto-cjk fonts-wqy-zenhei fonts-wqy-microhei处理中文兼容性问题;
    此外,如果需要无障碍服务也可以安装如下包:
    1
    apt install -y at-spi2-core at-spi2-common
  2. 启动虚拟桌面测试一下:
    1
    2
    3
    Xvfb :0 -screen 0 1280x800x24 &
    export DISPLAY=:0
    startxfce4 &
    如果这一步没报错,说明::0 这个“假显示器”起来了,且xfce已经在后台跑着了。
  3. 启动x11vnc将桌面通过vnc协议导出:
    1
    x11vnc -display :0 -forever -nopw -shared -rfbport 5901
    通过VNC Viewer连接主机IP:5901(可以根据实际需求更改端口号)即可看到桌面。
  4. 重启主机(或者能够彻底kill掉上面所有进程也可以)
  5. 新建服务文件/etc/systemd/system/xfce-headless.service
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    [Unit]
    Description=Headless xfce Desktop
    After=network.target
    Documentation=https://lxnchan.cn/headless-linux-desktop.html

    [Service]
    Type=simple
    User=root
    Environment=DISPLAY=:0
    ExecStart=/usr/bin/bash -c "\
    /usr/bin/Xvfb :0 -screen 0 1280x800x24 & \
    sleep 2 && \
    /usr/bin/startxfce4 & \
    sleep 2 && \
    /usr/bin/x11vnc -display :0 -forever -nopw -shared -rfbport 5901 \
    "
    Restart=always

    [Install]
    WantedBy=multi-user.target
    启动服务即可:
    1
    systemctl daemon-reload && systemctl enable --now xfce-headless.service

 简单说两句



联系站长 | 服务状态 | 友情链接

备案号:辽ICP备19013963号

津公网安备12011602300394号

中国互联网违法和不良信息举报中心

架构版本号:8.2.0 | 本站已全面支持IPv6

正在载入运行数据(1/2)请稍后...
正在载入运行数据(2/2)请稍后...

O to die advancing on!

Copyright 2024 LingXuanNing, All rights reserved.