ubuntu16.04.1安装xrdp实现远程桌面访问

本文介绍如何在 Ubuntu 16.04 上安装 Xrdp 远程桌面服务,包括安装 TigerVNC 和 Xrdp 的步骤,以及配置文件的修改方法。此外还解决了远程桌面连接时出现的多个会话问题。

之前测试过xfce4桌面,但是其实ubuntu16.04.1默认的unity桌面也是可以的.首先需要安装 tigervncserver_1.6.80

wget -c http://www.c-nergy.be/downloads/tigervncserver_1.6.80-4_amd64.zip #下载
unzip tigervncserver_1.6.80-4_amd64.zip #解压
sudo apt install ./tigervncserver_1.6.80-4_amd64.deb #安装,自动解决依赖

然后安装xrdp

sudo apt install xrdp

修改xrdp配置文件/etc/xrdp/startwm.sh,解决xrdp远程后无图像,无顶栏的问题..

#!/bin/sh

if [ -r /etc/default/locale ]; then
  . /etc/default/locale
  export LANG LANGUAGE
fi

/usr/lib/gnome-session/gnome-session-binary --session=ubuntu &
/usr/lib/x86_64-linux-gnu/unity/unity-panel-service &
/usr/lib/unity-settings-daemon/unity-settings-daemon &

for indicator in /usr/lib/x86_64-linux-gnu/indicator-*;
do
        basename=`basename ${indicator}`
        dirname=`dirname ${indicator}`
        service=${dirname}/${basename}/${basename}-service
        ${service} &
done

. /etc/profile
unity
. /etc/X11/Xsession

修改 /etc/pam.d/sesman 文件,添加两行,解决环境变量不全的问题

#%PAM-1.0
session       required   pam_env.so readenv=1 envfile=/etc/environment
session       required   pam_env.so readenv=1 envfile=/etc/default/locale
@include common-auth
@include common-account
@include common-session
@include common-password

添加配置文件 /etc/polkit-1/localauthority.conf.d/02-allow-colord.conf

polkit.addRule(function(action, subject) {
if ((action.id == “org.freedesktop.color-manager.create-device” ||
action.id == “org.freedesktop.color-manager.create-profile” ||
action.id == “org.freedesktop.color-manager.delete-device” ||
action.id == “org.freedesktop.color-manager.delete-profile” ||
action.id == “org.freedesktop.color-manager.modify-device” ||
action.id == “org.freedesktop.color-manager.modify-profile”) &&
subject.isInGroup(“{users}”)) {
return polkit.Result.YES;
}
});

重启服务

sudo service xrdp restart
sudo service polkitd restart

连接成功后如下图显示

可以看到有正常的顶栏(任务栏,可以用来注销当前用户),而且环境变量也是正确的.系统的版本是Ubuntu16.04.1

以上就是ubuntu16.04 安装xrdp 的步骤.

但是在实际使用中发现存在以下严重问题

相同的账户并不能共享画面,即用ip(192.168.1.3),账号test,连接远程桌面;然后再用ip(192.168.1.4)账号test,连接远程桌面.这两个画面可以同时显示,且不一样,但都是相同的 test账号的.这与微软的远程桌面不一致.微软的远程桌面同一个账号只能有一个画面,后来登录者会踢掉前者的画面.相同账号具有排他性.所以对于不想麻烦的同学,推荐一个写好的脚本.网站在这里

http://c-nergy.be/blog/?p=11719,我测试的 是 

http://www.c-nergy.be/downloads/install-xrdp-1.9.2.zip

因为脚本使用git,所以不同时间拉取的代码可能不一样.我测试发现,默认运行后并不能远程桌面访问,会提示 发生身份验证错误,给函数提供的标志无效

查询后得知,需要修改 /etc/xrdp/xrdp.ini 

; set SSL protocols
; can be comma separated list of 'SSLv3', 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'
ssl_protocols=TLSv1

将默认的 TLSV1.3修改为TLSv1或者用逗号分隔后添加 TLSv1

之后就可以正常的远程访问桌面,并且相同账号只能有一个画面,方便在不同的地方远程使用.

But,再次测试发现,通过 mstsc 看到的画面 和直接在服务器上登录相同的账号看到的画面不一致,也就是说相同的账号最多有两个画面,一个服务器本地登录的画面,一个远程桌面的画面.以上的脚本基本满足要求了.和windows的还是不一致.windows 相同的账号只有一个画面不区分本地和远程桌面.

评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值