远程Linux机器图形化界面使用及音频转发
对于一些远程Linux云机器,一般我们在使用时通过各种ssh连接工具连接,并使用命令行方式操作,但是部分需要图形化界面验证的应用,必须需要使用到远程机器的图形化功能,本文记录总结一些跟远程使用Linux机器图形化界面以及需要音频的一些方法。
前提
基本上远端机器上都需要安装界面系统,我们在本地连接时才能实现图形化界面,一般来说安装界面系统的命令有以下:
yum groupinstall "X Windows System"
#Rhel系统下使用:
yum groupinstall "Server with GUI"
yum groupinstall "gnome-desktop"
不确定界面环境安装的具体名字,可以通过以下指令把所有可安装的列出来:
yum group list
最后执行 init 5
启动界面
第一种方法:X11转发界面
使用X11转发界面功能,需要再本地系统上安装X11服务器(一般的远程连接工具如mobaxterm等都带,开启即可),远程服务器上需要配置好sshd的X11选项。
它的原理是远端服务器的X请求转发到本地ssh客户端上的XServer
例子: Kylin系统机器配置
1.修改sshd_config
vim /etc/ssh/sshd_config
AllowAgentForwarding yes
AllowTcpForwarding yes
X11Forwarding yes
X11UseLocalhost no
2. systemctl restart sshd
3. 重新连接会话
如果仍有问题:请检查xorg-X11-xauth包是否安装成功
第二种方法:VNC远程连接界面
使用VNC访问界面,需要再远程机器上安装VNC Server,本地通过VNC Client(MOBAXterm自带VNC)去连接
它的原理是把图像绘制好后通过远程发送给VNC Client进行解码显示
远程机器安装VNC Server:yum -y install tigervnc-server
远程机器启动VNC Server:vncserver
默认启动的vnc服务端口是5901,可以通过vncserver :num
来指定端口(用于机器网络策略被限制端口范围是使用),启动的端口号为5900+num
本地机器使用带有VNC Client连接功能的工具,或者下载VNC Client官方客户端,指定ip和vncserver的端口进行连接
第三种方法:XRDP远程连接界面(可重定向声音)
关于音频重定向使用:在VNC协议远程连接桌面中,默认情况下并不支持音频重定向
而RDP协议,默认支持音频重定向,可以在远端机器上安装RDP协议支持包,本地通过RDP协议连接,既可以实现图形化界面机器,也可以实现音频转发。
基于Rhel7.5系统进行安装操作演示:(rpm安装是由于远程机器的yum源没有安装包,所以下载的rpm进行安装)
- 远程机器安装桌面环境,见前提部分
- 安装xrdp:
yum install xrdp-0.9.25-2.el7.x86_64.rpm
需要安装的依赖包:yum install imlib2-1.4.9-8.el7.x86_64.rpm
- 启动xrdp:
systemctl start xrdp
systemctl enable xrdp
- 安装PulseAudio服务(需要11.1版本):
yum install pulseaudio
查看版本是否正确:pulseaudio --version
安装11.1版本(这里使用源码编译安装,需要依赖intltool、libtool、libsndfile):
1)安装intltool
tar -zxvf intltool-0.40.6.tar.gz
cd intltool-0.40.6/
./configure --prefix=/usr
make && make install
若安装报错:checking for XML::Parser…configure:error:XML::Parser perl module is required for intltool
需要安装:yum install perl-XML-Parser
2)安装libtool
tar -xvf libtool-2.4.6.tar.gz
cd libtool-2.4.6/
./configure
make && make install
若安装报错:checking for GNU M4 that supports accurate traces…configure:error:no acceptable m4 could be found in $PATH.
需要安装:yum install m4
3)安装libsndfile
yum install libsndfile-1.0.25-12.el7.x86_64.rpm
yum install libsndfile-devel-1.0.25-12.el7.x86_64.rpm
yum install libsndfile-utils-1.0.25-12.el7.x86_64.rpm
4)安装pulseaudio-11.1
tar -xvf pulseaudio-11.1.tar.xz
cd pulseaudio-11.1/
./configure --prefix={where you want to install} --without-caps
make && make install
- 安装pulseaudio-module-xrdp
(使用源码安装,需要依赖autoconf、automake、libtool)
yum install autoconf -y
yum install automake -y
yum install libtool -y
yum install pulseaudio-libs-devel -y
unzip pulseaudio-module-xrdp-master.zip
cd pulseaudio-module-xrdp-master/
./bootstrap
./configure PULSE_DIR={pulseaudio-11.1源码路径}
检查是否安装成功:
ls $(pkg-config --variable=modlibexecdir libpulse)
结果中有module-xrdp-sink.so,module-xrdp-source.so说明成功
6. 启动PulseAudio服务:pulseaudio --start
(需要用普通用户启动,root用户启动会被限制)
7. 重启xrdp:systemctl restart xrdp
8. 使用Windows的远程桌面连接工具,输入ip地址连接到远程Linux机器上(此方案注意,登陆会黑屏一会反应比较慢,且同一个用户不能在本地和远程同事登陆,也就是同一个用户只允许同一个会话)
原文地址:https://blog.csdn.net/zuolj/article/details/140267570
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!