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

打造无障碍Ubuntu远程工作环境:XRDP、VNC与向日葵等三大远程连接方案

XRDP、VNC与向日葵等三大远程连接方案

  • 启用SSH Root远程登录
    • Ubuntu Server
    • Ubuntu Desktop
  • XRDP远程桌面方案
    • 安装XRDP
    • XRDP服务管理
    • 配置防火墙规则
    • 开启Ubuntu屏幕共享
    • 远程连接
  • VNC远程桌面方案
    • 安装VNC
    • 配置显示管理器
    • 配置VNC密码
    • 创建VNC系统服务
    • VNC客户端连接
  • 向日葵远程连接方案
    • 安装向日葵客户端
    • 启动向日葵客户端
  • 中文输入法配置
    • Fcitx输入法框架
    • 搜狗输入法

启用SSH Root远程登录

Ubuntu Server

在启用SSH Root远程登录时,应当确保Root用户有正确配置密码。

sudo passwd root

出于安全考虑,Ubuntu默认禁止root用户通过SSH远程登录。需要编辑SSH服务配置文件开启SSH Root远程登录

编辑vim /etc/ssh/sshd_config配置文件,将PermitRootLogin设置为yes

# Authentication:#LoginGraceTime 2m
#PermitRootLogin prohibit-password
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

修改完成后,需要重启 SSH 服务使配置生效:

systemctl restart sshd

Ubuntu Desktop

在Ubuntu桌面系统中,root账号是默认无法登陆系统的,执行以下操作开启Ubuntu桌面系统使用root账号登录

执行sudo vim /etc/pam.d/gdm-autologin,注释以下内容,第三行左右

auth required pam_succeed_if.so user != root quiet_success

执行sudo vim /etc/pam.d/gdm-password,注释以下内容,第三行左右

auth required pam_succeed_if.so user != root quiet_success

执行sudo vim /root/.profile修改配置文件,文档最后一行前添加

 tty -s &&mesg n || true

重启系统使其生效

reboot

XRDP远程桌面方案

安装XRDP

XRDP是一个开源的 RDP 服务器实现,允许通过Windows远程桌面连接Ubuntu系统。

安装XRDP及相关组件:

sudo apt-get install xrdp  tightvncserver -y

XRDP服务管理

使用systemctl命令全面管理XRDP服务:

 # 开机启动
sudo systemctl enable xrdp.service# 启动
sudo systemctl start xrdp.service # 状态
sudo systemctl status xrdp.service # 重启
sudo systemctl restart xrdp.service# 停止
sudo systemctl stop xrdp.service 

配置防火墙规则

确保远程连接端口在防火墙中开放:

# 启用UFW防火墙
sudo ufw enable # 允许RDP标准端口3389通过防火墙
sudo ufw allow from any to any port 3389 proto tcp# 重新加载防火墙规则使变更生效
sudo ufw reload 

开启Ubuntu屏幕共享

在Ubuntu系统设置中开启屏幕共享功能以支持远程控制:
在这里插入图片描述

远程连接

在Windows系统上通过内置远程桌面工具连接Ubuntu:

1.按下 `Win+R` 组合键,输入 `mstsc` 打开远程桌面连接工具2.输入目标 Ubuntu 服务器的 IP 地址和端口(默认 3389)3.输入 Ubuntu 系统的用户名和密码进行认证

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
注意:

如果已经使用root账号登录过了系统,则需要在远程桌面详情里使用如下认证提供密码登录才能登录。反之直接使用root用户名与密码直接登录,其他账号则没有这个问题。

在这里插入图片描述

VNC远程桌面方案

VNC (Virtual Network Computing) 是另一种跨平台的远程桌面协议,在图形处理方面具有一定优势:

安装VNC

在ubuntu中安装x11vnc服务器

sudo apt-get install x11vnc

配置显示管理器

安装LightDM显示管理器:支持本地图形界面以获得最好的兼容性

sudo apt-get install lightdm

安装过程中会出现以下选项,选择lightdm然后回车即可
在这里插入图片描述
因为安装了lightdm图形管理程序,需要重启系统

sudo reboot

配置VNC密码

为VNC连接生成VNC密码文件,这个密码是用来连接VNC的时候, 登录用的。会问是否需要将密码保存在某个目录下,输入y确认即可

root@master:~/work# x11vnc -storepasswd
Enter VNC password: 
Verify password:    
Write password to /root/.vnc/passwd?  [y]/n y
Password written to: /root/.vnc/passwd

创建VNC系统服务

1.创建服务配置文件

编辑vim /etc/systemd/system/x11vnc.service创建启动脚本文件

2.辑服务配置内容

注意: 需要指定VNC密码文件位置

[Unit]
Description="Start x11vnc"
After=multi-user.target[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /root/.vnc/passwd -rfbport 5900 -shared[Install]
WantedBy=multi-user.target

参数说明

-auth guess:自动查找认证文件

-forever:持续运行,不会在一次连接后退出

-loop:在连接断开后重新监听

-noxdamage:减少屏幕更新流量,提高性能

-repeat:允许按键重复

-rfbauth:指定VNC密码文件路径

-rfbport:指定VNC服务端口(标准端口5900)

-shared:允许多个客户端同时连接

3.设置开机自启服务:

 systemctl enable x11vnc

4.启动VNC服务:

systemctl start x11vnc

5.查看VNC服务状态:

root@master:~/work# systemctl status x11vnc
● x11vnc.service - "Start x11vnc"Loaded: loaded (/etc/systemd/system/x11vnc.service; enabled; vendor preset: enabled)Active: active (running) since Fri 2024-01-19 10:11:21 CST; 8s agoMain PID: 8464 (x11vnc)Tasks: 10 (limit: 23953)Memory: 9.0MCPU: 3.100sCGroup: /system.slice/x11vnc.service├─ 8464 /usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /root/.vnc/passwd -rfbport 5900 -shared├─11261 /usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /root/.vnc/passwd -rfbport 5900 -shared├─12059 sh -c "/usr/bin/x11vnc -findauth  -env FD_XDM=1"├─12060 /usr/bin/x11vnc -findauth -env FD_XDM=1├─12061 sh -c "/bin/sh /tmp/fd.MDITDW -n"├─12062 /bin/sh /tmp/fd.MDITDW -n└─12489 /bin/sh /tmp/fd.MDITDW -n119 10:11:29 master x11vnc[11277]: /tmp/fd.bx0yov: 1: netstat: not found
119 10:11:29 master x11vnc[11306]: xauth:  unable to generate an authority file name
119 10:11:29 master x11vnc[11332]: /tmp/fd.bx0yov: 1: netstat: not found
119 10:11:29 master x11vnc[11320]: /tmp/fd.bx0yov: 320: [: -a: unexpected operator
119 10:11:29 master x11vnc[11320]: /tmp/fd.bx0yov: 320: [: -a: unexpected operator
119 10:11:30 master x11vnc[11261]: 19/01/2024 10:11:30 -auth guess: failed for display='unset'
119 10:11:30 master x11vnc[11261]: 19/01/2024 10:11:30 -auth guess: since we are root, retrying with FD_XDM=1
119 10:11:30 master x11vnc[12074]: /tmp/fd.MDITDW: 1: netstat: not found
119 10:11:30 master x11vnc[12062]: /tmp/fd.MDITDW: 320: [: -a: unexpected operator

VNC客户端连接

这里演示使用专业远程工具 MobaXterm 进行 VNC 连接:

1. 打开 MobaXterm,选择 Session → VNC2. 输入服务器 IP 和端口(默认 5900)3. 连接时输入之前设置的 VNC 密码

在这里插入图片描述
输入生成VNC密码文件时,设置的密码
在这里插入图片描述
远程连接成功
在这里插入图片描述

向日葵远程连接方案

向日葵是一款功能全面的国产远程控制软件,支持多平台,对Linux系统提供良好支持。

安装向日葵客户端

根据需求选择安装图形界面版本或纯命令行版本

图形界面版本

https://d.oray.com/sunlogin/linux/SunloginClient_11.0.1.44968_amd64.deb

命令行版本

wget https://d.oray.com/sunlogin/linux/sunloginclientshell-10.1.1.28779-amd64.deb

使用dpkg工具安装下载的软件包:

sudo dpkg -i 向日葵安装包文件名.deb

启动向日葵客户端

1.图形界面版本

在应用程序列表中找到向日葵客户端图标,双击运行。首次运行需要登录向日葵账号。

2.命令行版本
通过以下命令启动服务:

/usr/local/sunlogin/bin/sunloginclient

需要卸载向日葵时,使用以下命令:

sudo dpkg -r sunloginclient

注意:

注销用户在登入的时候,选择xorg,如果不选的话,Windows远控的时候,会一直卡在加载界面。

中文输入法配置

Fcitx输入法框架

Fcitx 是 Linux 系统下流行的输入法框架,支持多种输入法

安装fcitx

# 安装Fcitx核心组件和输入表
sudo apt-get install fcitx-bin  fcitx-table

配置fcitx
Ubuntu 22.04 下配置 Fcitx 的步骤:

1. 打开系统设置 → 区域与语言 → 管理已安装的语言2. 在弹出的语言支持窗口中,将`键盘输入法系统`设置为`Fcitx 4`3. 关闭窗口后重启Ubuntu使配置生效

搜狗输入法

搜狗输入法是 Linux 平台流行的中文输入解决方案

安装搜狗输入法For Linux

https://pinyin.sogou.com/linux/?r=pinyin

安装相关依赖,然后重启Ubuntu

sudo apt install libqt5qml5 libqt5quick5 libqt5quickwidgets5 qml-module-qtquick2sudo apt install libgsettings-qt1
http://www.xdnf.cn/news/14797.html

相关文章:

  • CppCon 2018 学习:EMULATING THE NINTENDO 3DS
  • 【C#】如果有一个数值如 168.0000100,如何去除末尾的无效零,只显示有效的小数位数,让DeepSeek给我们解答
  • 量化选股策略 聚宽
  • 基于Python的GIS-RS多源数据处理(TIF/SHP/NC/...)【20250630】
  • 华为云Flexus+DeepSeek征文 | 对接华为云ModelArts Studio大模型:AI赋能投资理财分析与决策
  • js代码03
  • 每天一个前端小知识 Day 17 - 微前端架构实战与 Module Federation
  • 基于Flask技术的民宿管理系统的设计与实现
  • 嵌入式原理与应用篇---常见基础知识(10)
  • 前后端Dockerfile
  • Spring生态:云原生与AI的革新突破
  • python环境快速搭建
  • Windows11系统中安装docker并配置docker镜像到pycharm中
  • 企业自建云概念解读|私有云、专有云、混合云、分布式云、企业云
  • 对称非对称加密,https和http,https通讯原理,Charles抓包原理
  • 《如何在 Spring 中实现 MQ 消息的自动重连:监听与发送双通道策略》
  • JavaEE初阶第五期:解锁多线程,从 “单车道” 到 “高速公路” 的编程升级(三)
  • Windows环境下Docker容器化的安装与设置指南
  • 时序数据库IoTDB监控指标采集与可视化指南
  • 基于MATLAB的SVM支持向量机的乳腺癌分类方法应用
  • 现代 JavaScript (ES6+) 入门到实战(六):异步的终极形态 - async/await 的优雅魔法
  • HTTP中常见的Content-Type
  • HybridCLR热更新实例项目及改造流程
  • 现代 JavaScript (ES6+) 入门到实战(五):告别回调地狱,Promise 完全入门
  • 免费SSL证书一键申请与自动续期
  • STM32——HAL库总结
  • 【AGI】Qwen VLo:多模态AI的范式重构与AGI演进关键里程碑
  • mac触摸板设置右键
  • 【HuggingFace】模型下载至本地访问
  • 基于Pandas和FineBI的昆明职位数据分析与可视化实现(三)- 职位数据统计分析