做一些准备工作:
1.甲骨文ARM(为了性能保证系统体验,建议ARM 2核心或更高!)
2.系统可以是Ubuntu或者Debian,如果要配置声音转发,系统需满足:
Ubuntu20.04 -> pulseaudio 13.99 ✓
Debian11 -> pulseaudio 14.2 ✓
Ubuntu22.04 -> pulseaudio 15.99 ✗
更新! Pulseaudio官方给了一键脚本,我在Ubuntu23上试验成功,应该是没有版本限制了
脚本在此 -> Build on Debian or Ubuntu - neutrinolabs/pulseaudio-module-xrdp Wiki
如果用脚本安装并root登录桌面,必须执行下面这篇文章最后面debug红字部分,否则root没声音!!!
增加ROOT对声音的权限 -> https://www.you2php.com/?id=205
3.甲骨文门户面板里的端口建议全开!
安装Ubuntu官方Gnome桌面:
接下来做一次更新和升级,执行命令:
apt update -y ; apt upgrade -y
升级后设置一下语言:(为了让大家进入图形系统后能够设置中文界面!)
dpkg-reconfigure locales
在出现的第一画面里做如下选择,空格键是选择,Tab键可以跳到"OK"上,Enter键确认:
再进入到第二画面后,同样通过空格键选择中文为默认的语言编码,用Tab键跳到"OK"上回车确认:
设置完毕后,重新连接一次服务器,会发现系统支持中文展示了
下面开始桌面环境的安装,这里安装ubuntu desktop而不是xfce,执行命令
apt install ubuntu-desktop
安装过程耗时较长,耐心等待,直至完成。
完毕后进行Xrdp的安装,提供远程桌面访问的能力,执行以下命令
apt install xrdp -y
Xrdp会安装成服务,可以验证一下
systemctl status xrdp
可以看到红色ERROR这一行信息,如何解决呢?执行以下命令,可以看到红色的信息不见了
adduser xrdp ssl-cert
systemctl restart xrdp
systemctl status xrdp
这样桌面环境和远程服务安装好后,就可以连接到远程桌面。经过反复的测试和实验,使用Windows 10 默认的远程桌面工具mstsc,体验非常卡顿,具体原因具体可以总结一下,就是微软的rdp与Linux的Xrdp进行连接时存在兼容性问题,不要以为纯粹是网络问题,其实甲骨文ARM的性能非常夸张,可以很负责任的告诉大家,甲骨文的这个ARM芯片,相比于X86架构,你很难在消费市场上找到能比他强的,总之性能就是给的实在,具体大家深入体会后就明白了。
安装Linux FRP服务
接下来FRP将会彻底解决远程桌面卡顿的问题,在这里给大家普及一下FRP的运作机制,首先FRP分为客户端frpc和服务端frps,大家只要记住,哪个要做中转机哪个就放服务端,客户端放在ARM上,如果像我这种用甲骨文春川的本来国内直连速度就比较好,那就可以服务端和客户端都放在ARM机器上,这样就相当于ARM本地做了一次端口转发,理解这个逻辑,那么就开始干!
实测 甲骨文首尔ARM FRP本地中转 油管4K丝滑
FRP github链接
https://github.com/fatedier/frp/releases/
客户端方面
1.解压包,把如下文件放到/etc/frp 目录下
2.修改frpc.ini文件
[common]
server_addr = 127.0.0.1(机器内部做转发,就用127.0.0.1,如果用腾讯云香港做服转发,就填腾讯云的IP)
server_port = 7000
token = 12345678
[13389]
type = tcp
remote_port = 13389
local_ip = 127.0.0.1
local_port = 3389
3.把systemd文件夹下的frpc.service,放到/etc/systemd/system下。
设置权限
chmod 754 frpc.service
设置开机启动即可
systemctl enable frpc.service
4.在/etc/frp目录下
cp frpc /usr/bin
chmod +x /usr/bin/frpc
systemctl start frpc
ps -ef|grep frpc
客户端结束
服务端方面
1.解压包,把如下文件放到/etc/frp 目录下
2.修改frps.ini文件(这里为了方便大家不掉坑,我这里直接给出自己已经搭建成功的配置文件给大家,完整覆盖过去)
[common]
bind_port = 7000
token = 12345678
3.把systemd文件夹下的frps.service,放到/etc/systemd/system下
设置权限
chmod 754 frps.service
设置开机启动即可
systemctl enable frps.service
4.在/etc/frp目录下
cp frps /usr/bin
chmod +x /usr/bin/frps
systemctl start frps
ps -ef|grep frps
完成,结束
在RDP里设置成这样:
然后大家可以开始登陆RDP了
1.在ARM机器上做内部转发的在RDP输入甲骨文IP:13389 进入后会显示xrdp界面,账号是root 密码自己输入自己的。
2.在比如腾讯云上做服务端的,在rdp上输入腾讯云的IP地址:13389即可进入xrdp。
连接到桌面后,一路点击Next,最后点击Start Using Ubuntu:
接下来设置中文及中文输入法支持,依次点击左上角的Activities-Show Applications-Language Support:
之后在Language Support中增加语言支持:
如果是上图这样的,先点击安装,再点击"添加或删除语言"按钮,找到"中文(简体)"打勾,Apply。
完成后,顺便将键盘输入法系统选择成为"iBus":
重启系统,重连后会看到界面菜单均已中文显示。点击右上角电源标识旁边的小尖号,菜单里点击设置:
在设置的界面中找到"区域与语言",能够看到语言已经设置成为"汉语":
我们接下来要设置中文输入法,点击下面的"+",出现输入源小窗口:
点击"汉语":
点击"中文(智能拼音)"进行"添加"就完成了输入法的设置。
至此已经完成所有的配置工作,接下来使用Ubuntu20.04系统自带的Firefox浏览器畅快的上一下英特耐特吧
2021/12/8 增加声音转发支持,手动编译配置
2022/9/25 增加一键脚本,下面不用看了,直达:https://www.you2php.com/?id=213
先确认系统版本,Debian全部支持,Ubuntu<=20.04,否则不用往下看了
先配置源
代码不要照搬,手动配置Pulseaudio
Bash
apt update;apt upgrade -y;
apt-get install software-properties-common -y
apt-get install git libpulse-dev autoconf m4 intltool dpkg-dev libtool libsndfile-dev libcap-dev libjson-c-dev make gcc curl wget -y
apt-get build-dep pulseaudio -y
apt source pulseaudio
权限报错,请删除"pulseaudio-13.99.1"文件夹
rm -rf pulseaudio-13.99.1
chmod 777 pulseaudio*
apt source pulseaudio
cd pulseaudio-13.99.1
环境不同,自行解决依赖关系
./configure
cd ../
git clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.git
cd pulseaudio-module-xrdp
./bootstrap
./configure PULSE_DIR="/root/pulseaudio-13.99.1"
make
先执行 pulseaudio
如果提示命令不存在,参考下面的额外步骤手动安装
如果命令存在,按ctrl+c结束,回到正常步骤
额外步骤 cd ~;cd pulseaudio-13.99.1
额外步骤 make
额外步骤 make install
最后 cd ../;cd pulseaudio-module-xrdp
然后继续执行下面几步
cd src/.libs
install -t "/var/lib/xrdp-pulseaudio-installer" -D -m 644 *.so
install -t "/usr/lib/pulse-13.99.1/modules" -D -m 644 *.so
reboot
配置完成后,远程桌面这两个勾上,使用非root账户登陆服务器,可以识别到声卡<伪输出>
重启pulseaudio,声卡变成<xrdp sink>,这样就有声音了
Bash
pulseaudio -k //这里卡住按ctrl+c强行结束
killall pulseaudio //这里卡住按ctrl+c强行结束
pulseaudio &
非ubuntu系统可以安装pavucontrol音频管理器
下面是debug部分
1.执行 pulseaudio & ,声卡变成<xrdp sink>,点击测试没有声音,终端输出 [xrdp-sink] module-xrdp-sink.c: sink_process_msg: not running,这是因为模块module-xrdp-sink 没有加载
解决方法:在文件 /etc/pulse/default.pa 末尾另起一行,添加 load-module module-xrdp-sink 保存重启
2.root用户需要执行以下命令,将root添加到pulse组
Bash
gpasswd -a root pulse
gpasswd -a root pulse-access
pulseaudio自启动方法 (root)
Bash
vim /voice.sh
//在根目录新建voice.sh
#! /bin/bash
pulseaudio -k
pulseaudio &
//按esc,再输入:wq回车,保存文件
执行 chmod 777 /voice.sh 赋权
重启以root身份登录就可以了,非root用户确保要有执行voice.sh的权限
源有问题可以参考我的sources.list
Bash
deb http://ports.ubuntu.com/ focal-security main restricted
deb http://ports.ubuntu.com/ focal main restricted
deb http://ports.ubuntu.com/ focal-updates main restricted
deb http://ports.ubuntu.com/ focal universe
deb http://ports.ubuntu.com/ focal-updates universe
deb http://ports.ubuntu.com/ focal multiverse
deb http://ports.ubuntu.com/ focal-updates multiverse
deb http://ports.ubuntu.com/ focal-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu focal partner
deb-src http://archive.canonical.com/ubuntu focal partner
deb http://ports.ubuntu.com/ubuntu-ports focal-security main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports focal-security main universe restricted multiverse
deb http://ports.ubuntu.com/ubuntu-ports focal-security universe
deb http://ports.ubuntu.com/ubuntu-ports focal-security multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ focal main universe restricted multiverse
deb-src http://ports.ubuntu.com/ubuntu-ports/ focal main universe restricted multiverse
官方源,还有报错就换这个
Bash
deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu focal partner
deb-src http://archive.canonical.com/ubuntu focal partner