Ubuntu20.04 xrdp多人远程桌面访问

安装xrdp

参考

sudo apt install xrdp 
sudo adduser xrdp ssl-cert  
sudo systemctl restart xrdp

注意,如果已有桌面,即ubutnu桌面版本,可以选择不装桌面。
Gnome与xfce相比,xfce由于其轻巧,它可以安装在低端台式机上。Xfce优雅的外观,增强了用户体验,它对用户非常友好,性能优于其他桌面环境,它提供了许多可定制的接触点以供灵活使用。

黑屏处理

2、解决办法:
(1):打开startwm.sh文件

sudo vim /etc/xrdp/startwm.sh
#添加以下内容
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR

(2)添加位置
在这里插入图片描述
(3):保存退出即可。
(4):重启服务

sudo systemctl restart xrdp

解决登录时反复验证问题

解决“色彩管理设备” / “color managed device” 弹窗
创建文件 /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla 并写入内容:

[Allow Colord all Users]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile
ResultAny=no
ResultInactive=no
ResultActive=yes

解决“刷新系统软件源需要认证” / “refresh the system repositories” 弹窗
创建文件 /etc/polkit-1/localauthority/50-local.d/46-allow-packagekit.pkla 并写入内容:

[Allow Refresh Repository all Users]
Identity=unix-user:*
Action=org.freedesktop.packagekit.system-sources-refresh
ResultAny=no
ResultInactive=no
ResultActive=yes

参考

windows自带远程 解决每次登录输入账户密码

点击显示选项
在这里插入图片描述
输入用户名 勾选允许保存凭据
在这里插入图片描述

自动锁屏问题

如果自动锁屏后无法登入。
这个bug很无厘头,系统是20.04,就是如果新增账户是又桌面设置里的users去添加的并设置密码,或者原始的默认账户,那么自动锁屏后无法登入。所以解决方案有两个:
1.
ssh远程重启xrdp服务,

sudo systemctl restart xrdp

注意已开启的桌面都会关掉。
然后重新登录进去系统设置里把锁屏设置为never。
2.
ssh远程重启xrdp服务,

sudo systemctl restart xrdp

用命令行sudo passwd user 修改密码,嗯,就是你用了命令行修改了密码之后,在锁屏就没问题了,可以登录,神奇。

默认桌面无法登入问题

Ubuntu桌面版本的默认账户桌面启动自动进入桌面,且启动的是系统自带的桌面,但会导致进入锁屏界面输入密码无法登入的问题,具体原因不详,解决办法一是临时方案搜索该用户下的xorg进程,杀掉,这样就没桌面了,二是长期方案设置ubuntu启动不进入桌面即可。参考

sudo systemctl set-default multi-user.target #关闭图形
sudo systemctl set-default graphical.target #启动图形

## 桌面没有图标,没有dock(右侧边栏)解决,主题颜色等
简单点就是搜索extensions,去吧三个选项都打开。
![在这里插入图片描述](https://img-blog.csdnimg.cn/118dadc2ca9543b5b0dbb5ddf4b135f2.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAVG9tYm9u,size_20,color_FFFFFF,t_70,g_se,x_16)
另外想改更多的设置,比如主题,比如titlebar(右上角最小化,最大化图标等)安装一个插件:

```bash
sudo apt install gnome-tweak-tool

然后去搜索tweaks就行了,里面很多设置,慢慢摸索吧


## 与vnc的区别
[参考](https://blog.51cto.com/u_14128718/2517036#:~:text=%E4%B8%AA%E4%BA%BA%E6%8E%A8%E8%8D%90%E4%BD%BF%E7%94%A8xrdp%EF%BC%8C%E5%B9%B6%E4%B8%94,%E6%94%AF%E6%8C%81%E7%9A%84%EF%BC%8Cvnc%E5%88%99%E4%B8%8D%E8%A1%8C%E3%80%82)

如果服务器两种方式都安装,桌面还基本互不影响。但同一账户用不同的方式登录桌面,还是会出点问题。尽量别来个都装,或者别两种方式同时使用

另外,xrdp的方式,有些系统设置是不给你动的,比如users下面不会给你unlock。
但vnc可以,不过这个无伤大雅。

vnc可以多个客户端远程同一个桌面,但是自然同时操作会互相影响,如果只是其中一个终端操作,其他客户端同步画面可以看。vino不支持多账户同时远程自己的桌面。

xrdp下,各账户对应的桌面,只能一个客户端登录,重复登陆会把之前的挤掉。但是可以多账户同时远程自己对应的桌面。

## 后记
如果采取Ubuntu自带的vino作为服务端,vnc本身也是可以一个账户一个桌面的,但是不能同时,且比如从A账户想换成B账户,得把A账户注销掉,否则切换的话,后台A账户的vino还会存在,此时去用vnc-viewer远程就是黑屏,因为远程到了A账户的vino上的桌面去了,但实际已经切换到了B账户。所以要注销在登录另外一个账户,但这样的话,一旦注销又不能远程,没法登录另外一个账户,所以就是死循环了,也就是,多桌面方案不好采取自带的vino。
但估计其他的vnc-server方案有可以实现多桌面的,可以试一下。

遇到个vino出问题了的,具体就是,比如我用ubuntu桌面里的设置下的sharing里,去更改vino登录密码,而实际下的ort.gnome.Vino 下的密码并没有跟着变。暂时没法复现,猜测可以采取重装ubuntu桌面的[方式](https://www.zhihu.com/question/41770698/answer/92270590):

```bash
sudo apt-get update
sudo apt-get install --reinstall ubuntu-desktop
sudo apt-get install unity

debain11安装xrdp

步骤差不多,需要添加自启动,参考
桌面闪退

后记

Ubuntu20.04下测试,其他低版本,Debian等应该是差不多的安装,不过问题处理很可能不一样

### 如何使用SSH进行Ubuntu 20.04系统的远程管理 #### 配置SSH服务以允许Root登录 为了能够通过SSH远程控制Ubuntu 20.04系统,首先需要确保已安装OpenSSH服务器软件包。通常情况下,在新安装的Ubuntu Server版本上,默认已经预装此组件。如果尚未安装,则可以通过命令`sudo apt install openssh-server`来完成安装。 对于希望启用root账户直接通过SSH登录的情况,需编辑配置文件 `/etc/ssh/sshd_config` ,找到其中关于 `PermitRootLogin` 的选项,并将其设置为 `yes` 或者更安全的选择是设为 `prohibit-password` 并采用密钥认证方式[^1]: ```bash # 修改 /etc/ssh/sshd_config 文件中的 PermitRootLogin 参数 sudo nano /etc/ssh/sshd_config ``` 修改完成后保存更改并重启SSH服务使新的设定生效: ```bash sudo systemctl restart sshd ``` #### 使用VSCode实现SSH远程开发环境搭建 除了基本的命令行操作外,还可以利用Visual Studio Code (简称 VSCode) 提供的强大功能来进行更加高效的远程编码工作。这涉及到在本地计算机上的VSCode客户端以及目标Ubuntu机器之间的连接建立过程[^2]。 具体来说就是先要在Ubuntu端正常运行着SSHD服务;接着按照官方文档指导安装好Remote - SSH插件之后,在VSCode内部输入对应的目标主机地址及相关凭证信息即可轻松建立起稳定的双向通信链路,从而实现在熟悉的IDE界面下开展远端项目的编写调试等活动。 #### 开启和设置Root帐户用于远程访问 值得注意的是,出于安全性考虑,Ubuntu默认并不会创建一个可直接使用的root用户账号及其关联密码。因此打算让root拥有完整的网络权限之前,应该先给它分配一组强健有效的口令组合[^3]: ```bash sudo passwd root ``` 以上步骤执行完毕后,便可以尝试从其他设备发起针对该Linux实例的安全shell会话请求了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值