RK3588使用笔记:系统开启远程桌面

一、前言

远程桌面两种方式,xrdp和vnc,各有优缺点,根据自己设备实际情况去使用,有UI界面但是没有显示屏的使用VNC,多人协同开发的使用xrdp

目录

一、前言

二、环境

三、正文

1.xrdp方式

2.vnc方式

四、结语


二、环境

RK3588(linux5.10.66+debian/ubuntu/麒麟是桌面文件系统)

调试笔记本window10,安装常用工具winscp,xshell,finalshell,secureRTP等等

VMware17+Ubuntu20.04源码开发环境(这里就依赖于各个硬件平台的厂家提供资料了)

三、正文

1.xrdp方式

此方法不能同步嵌入式设备的屏幕到windows的共享桌面端

安装并启用xrdp服务

sudo apt-get install xrdp xorgxrdp

# 安装桌面环境(选择一个)

# 银河麒麟 UKUI

sudo apt-get install ukui-desktop-environment

# GNOME(这个不好使,黑屏闪退)

sudo apt-get install xubuntu-desktop

# XFCE

sudo apt-get install xfce4 xfce4-goodies

两种界面分别如下:

修改/etc/xrdp/startwm.sh,配置桌面环境

sudo vim /etc/xrdp/startwm.sh

直接替换最后两行:

# 银河麒麟 UKUI

export XDG_SESSION_TYPE=x11

exec ukui-session

# GNOME(这个不好使)

export XDG_SESSION_TYPE=x11

exec gnome-session

# XFCE

exec startxfce4

#!/bin/sh
# xrdp X session start script (c) 2015, 2017 mirabilos
# published under The MirOS Licence

if test -r /etc/profile; then
	. /etc/profile
fi

if test -r /etc/default/locale; then
	. /etc/default/locale
	test -z "${LANG+x}" || export LANG
	test -z "${LANGUAGE+x}" || export LANGUAGE
	test -z "${LC_ADDRESS+x}" || export LC_ADDRESS
	test -z "${LC_ALL+x}" || export LC_ALL
	test -z "${LC_COLLATE+x}" || export LC_COLLATE
	test -z "${LC_CTYPE+x}" || export LC_CTYPE
	test -z "${LC_IDENTIFICATION+x}" || export LC_IDENTIFICATION
	test -z "${LC_MEASUREMENT+x}" || export LC_MEASUREMENT
	test -z "${LC_MESSAGES+x}" || export LC_MESSAGES
	test -z "${LC_MONETARY+x}" || export LC_MONETARY
	test -z "${LC_NAME+x}" || export LC_NAME
	test -z "${LC_NUMERIC+x}" || export LC_NUMERIC
	test -z "${LC_PAPER+x}" || export LC_PAPER
	test -z "${LC_TELEPHONE+x}" || export LC_TELEPHONE
	test -z "${LC_TIME+x}" || export LC_TIME
	test -z "${LOCPATH+x}" || export LOCPATH
fi

if test -r /etc/profile; then
	. /etc/profile
fi

#test -x /etc/X11/Xsession && exec /etc/X11/Xsession
#exec /bin/sh /etc/X11/Xsession

# 方案1:自动选择当前桌面环境(推荐)
#if [ -n "$DESKTOP_SESSION" ]; then
#       	case "$DESKTOP_SESSION" in
#		ukui) exec ukui-session ;;
#		gnome) exec gnome-session ;;
#		xfce) exec startxfce4 ;;
#		*) exec /etc/X11/Xsession ;;
#	esac
#else
# 方案2:手动指定默认环境(例如UKUI)
#	export XDG_SESSION_TYPE=x11
#	exec ukui-session
#fi

#手动指定默认环境(麒麟UKUI)
export XDG_SESSION_TYPE=x11
exec ukui-session

修后后执行,如果不是调试不用执行

sudo systemctl restart xrdp

加权限

sudo chmod +x /etc/xrdp/startwm.sh

设置开机自启

sudo systemctl start xrdp

sudo systemctl enable xrdp

查xrdp服务状态:

sudo systemctl status xrdp

确保服务状态为active (running)

之后检查防火墙是否开启,如果未安装提示没有防火墙就不用管了

检查 ufw 防火墙状态:sudo ufw status(默认未安装)

检查 firewalld 防火墙状态:sudo firewall-cmd --state(默认未安装)

 iptables(较旧的 Linux 发行版):

sudo iptables -L -n | grep 3389

如果没有输出,说明 3389 端口未放行,放行命令:

sudo iptables -A INPUT -p tcp --dport 3389 -j ACCEPT

保存规则(防止重启失效):

sudo iptables-save | sudo tee /etc/iptables/rules.v4

sudo service iptables save

验证端口是否可访问,即使防火墙放行了 3389 端口,仍然可以使用 netstat 或 ss 检查 xrdp 是否在监听:

sudo netstat -tulnp | grep 3389

sudo ss -tulnp | grep 3389

使用finalshell远程桌面

或者电脑WIN+R输入mstsc,连接ip,输入账号密码

两者其实都是调用windows系统自带的远程桌面,一样的

xrdp 默认不支持直接同步显示本地物理屏幕,它的工作机制是创建一个 新的独立桌面会话,而不是直接共享当前用户的已有图形会话(即本地显示器上看到的内容)。这是 xrdp 的架构设计决定的,与协议实现方式有关

2.vnc方式

此方法能同步,电脑要安装VNC-Viewer

安装x11vnc

sudo apt install x11vnc -y

设置访问密码,默认密码123就行

x11vnc -storepasswd

启动 x11vnc 共享当前屏幕

x11vnc -display :0 -forever -shared -rfbauth ~/.vnc/passwd

-display :0:绑定到本地屏幕(通过 echo $DISPLAY 确认)。

-forever:保持持久运行。

-shared:允许多客户端连接。

-rfbauth:指定密码文件。

从 Windows 连接,使用 VNC 客户端(如 TigerVNC Viewer 或 RealVNC),地址:目标IP:5900,输入刚设置的密码。

设置开机自启

创建 systemd 服务

sudo vim /etc/systemd/system/x11vnc.service

添加内容

[Unit]
Description=x11vnc Remote Desktop Service
After=display-manager.service

[Service]
ExecStart=/usr/bin/x11vnc -display :0 -forever -shared -rfbauth /root/.vnc/passwd
User=root
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

启用服务,和设置开机自启

sudo systemctl enable x11vnc

sudo systemctl start x11vnc

查x11vnc服务状态:

sudo systemctl status x11vnc

确保服务状态为active (running)

之后安装VNC-Viewer-7.13.1-Windows_1038_4ffee工具包

配置连接

之后就进入了,与桌面环境一模一样


20250401补充

当设备没有外接显示器时,使用远程桌面打开默认分辨率为1024x768,很显然不符合我们大部分场景需求,我们需要无显示器时打开的桌面也是1920x1080或者可以设置其他,这里补充设置说明

方式一:安装dummy(此方法可能会覆盖物理显示设备,当有实际的显示屏时就不显示了)

sudo apt update

sudo apt install xserver-xorg-video-dummy

mkdir /etc/X11/xorg.conf.d

sudo vim /etc/X11/xorg.conf.d/10-dummy.conf

填入以下内容(设置 1920x1080 分辨率)

Section "Device"
    Option "Ignore" "true"  # 关键:避免覆盖真实显卡
    Identifier "DummyDevice"
    Driver "dummy"
    VideoRam 256000  # 显存大小(KB)
EndSection

Section "Monitor"
    Identifier "DummyMonitor"
    HorizSync 30.0-70.0
    VertRefresh 50.0-75.0
    Modeline "1920x1080" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
EndSection

Section "Screen"
    Identifier "DummyScreen"
    Device "DummyDevice"
    Monitor "DummyMonitor"
    DefaultDepth 24
    SubSection "Display"
        Depth 24
        Modes "1920x1080"
    EndSubSection
EndSection

之后重启即可

可使用xrandr查看

xrandr

xrandr -q

如果没有输入

export DISPLAY=:0

方式二:强制修改 X11 的默认 Screen 分辨率(经测试此方法可行,无显示屏远程桌面分辨率调整了,接显示屏也会正常显示)

mkdir /etc/X11/xorg.conf.d

sudo nano /etc/X11/xorg.conf.d/10-screen.conf

填入以下内容:(见附件)

Section "Screen"

    Identifier "Screen0"

    Device     "Card0"

    Monitor    "Monitor0"

    DefaultDepth 24

    SubSection "Display"

        Depth    24

        Virtual 1920 1080  # 强制虚拟分辨率

    EndSubSection

EndSection

重启显示

sudo systemctl restart display-manager

重启系统,查看无外接显示屏时远程桌面分辨率是否1920x1080,外接显示屏时显示屏是否正常启动,远程桌面是否正常1920x1080

PS:当没有外接显示屏时通过远程桌面去系统设置的显示配置中可能会导致异常,正常都不需要配置了,不要瞎点即可

四、结语

远程桌面,搞起来搞起来,可以在配置设备时都配置,尤其是针对设备实际不接屏幕的,有大用!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大桶矿泉水

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值