Mobaxterm的Xserver服务打开远程的firefox实例
Mobaxterm的Xserver服务打开远程的firefox实例前言摘要主要工具1. win102.linuxLinux服务器上安装过程与问题可视化展示插入链接与图片资源收集前言由于经常性网络非常差,但是ssh系列的通过租任的百度服务器先通过wget载到服务器,在从服务器通过sftp下载速度较快,具体原因不清楚,但是就萌生了通过ssh浏览东西,在下载的想法。经网络搜索X11协议可以对浏览器交互的
Mobaxterm的Xserver服务打开远程的firefox实例
- 前言
- 摘要
- 主要工具
- 1. win10
- 2. linux
- Linux服务器上安装过程与问题
- 可视化展示
- 效果图
- 资源收集
前言
由于经常性网络非常差,但是ssh系列的通过租任的百度服务器先通过wget载到服务器,在从服务器通过sftp下载速度较快,具体原因不清楚,但是就萌生了通过ssh浏览东西,在下载的想法。
经网络搜索X11协议可以对浏览器交互的转发。
注:本章将介绍有操作和解决的问题,还存在部分遗留问题。有的操作可能因为非连贯性问题,所有在后面有补充,比如我升级python2到python3结果造成yum的异常。大部分解决都是经过搜索获取的,将会把来源附上。实现的效果图也将提供。
摘要
x11 mobaxterm ssh xorg-x11-xauth
主要工具
1. win10
mobaxterm:我是用的是便携式版本,直接在win10打开即可,但是这个最新12版本我下载不了,官网可以访问,但是使用服务器wget也下载不了,最终让同学帮忙下载的。
2. linux
firefox 通过管理软件下载
ssh 服务端和客户端 这个基本上远程机器都有,我没有操作下载
mesa-dri-drivers 通过管理软件下载
xorg-x11-xauth通过管理软件下载
Linux服务器上安装过程与问题
- 在linux服务器安装火狐软件
#使用yum安装
yum -y install firefox yum install firefox
ssh连接上远程服务器直接使用 firefox 打开,将有异常信息
Failed to open connection to “session” message bus: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11 Running without a11y support! Error: no DISPLAY environment variable specified
- Linux进行ssh的x11配置并重启
2.1 修改ssh配置
[root@linux-template-7 ~]# cat /etc/ssh/sshd_config
vi /etc/ssh/sshd_config
X11Forwarding yes
X11UseLocalhost no -- 禁止将X11转发请求绑定到本地回环地址上
2.2 ssh重启
#先使用root权限进行机器重启Reboot the system.重启服务器
reboot
#机器重启后再重启ssh服务
service sshd restart
- x11的鉴权工具安装
问题:Error getting authority: Error initializing authority: Could not connect: Connection refused (g-io-error-quark, 39)
yum install xorg-x11-xauth
#相关执行展示
已加载插件:langpacks, versionlock
base | 3.6 kB 00:00:00
epel | 4.7 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
webtatic | 3.6 kB 00:00:00
(1/3): epel/x86_64/updateinfo | 1.0 MB 00:00:00
(2/3): updates/7/x86_64/primary_db | 3.0 MB 00:00:00
(3/3): epel/x86_64/primary_db | 6.8 MB 00:00:00
Excluding 1 update due to versionlock (use "yum versionlock status" to show it)
正在解决依赖关系
--> 正在检查事务
---> 软件包 xorg-x11-xauth.x86_64.1.1.0.9-1.el7 将被 安装
--> 正在处理依赖关系 libXmuu.so.1()(64bit),它被软件包 1:xorg-x11-xauth-1.0.9-1.el7.x86_64 需 要
--> 正在检查事务
---> 软件包 libXmu.x86_64.0.1.1.2-2.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
=============================================================================================
Package 架构 版本 源 大小
=============================================================================================
正在安装:
xorg-x11-xauth x86_64 1:1.0.9-1.el7 base 30 k
为依赖而安装:
libXmu x86_64 1.1.2-2.el7 base 71 k
事务概要
=============================================================================================
安装 1 软件包 (+1 依赖软件包)
总下载量:101 k
安装大小:216 k
Is this ok [y/d/N]: y
Downloading packages:
(1/2): libXmu-1.1.2-2.el7.x86_64.rpm | 71 kB 00:00:00
(2/2): xorg-x11-xauth-1.0.9-1.el7.x86_64.rpm | 30 kB 00:00:00
---------------------------------------------------------------------------------------------
总计 491 kB/s | 101 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : libXmu-1.1.2-2.el7.x86_64 1/2
正在安装 : 1:xorg-x11-xauth-1.0.9-1.el7.x86_64 2/2
验证中 : libXmu-1.1.2-2.el7.x86_64 1/2
验证中 : 1:xorg-x11-xauth-1.0.9-1.el7.x86_64 2/2
已安装:
xorg-x11-xauth.x86_64 1:1.0.9-1.el7
作为依赖被安装:
libXmu.x86_64 0:1.1.2-2.el7
完毕!
- load driver
问题:libGL error: unable to load driver: swrast_dri.so libGL error: failed to load driver: swrast
#编辑当前用户(即要启用firefox的用户)的.bash_profile文件
vim ~/.bash_profile
#追加以下一行:
unset LIBGL_ALWAYS_INDIRECT
#安装
yum install -y mesa-libGLES-devel.x86_64 mesa-dri-drivers
参见(https://yunwei365.blog.csdn.net/article/details/107139084)
已加载插件:langpacks, versionlock
Excluding 1 update due to versionlock (use "yum versionlock status" to show it)
正在解决依赖关系
--> 正在检查事务
---> 软件包 mesa-dri-drivers.x86_64.0.18.3.4-7.el7_8.1 将被 安装
--> 正在处理依赖关系 mesa-filesystem(x86-64),它被软件包 mesa-dri-drivers-18.3.4-7.el7_8.1.x86_64 需要
--> 正在处理依赖关系 libLLVM-7-rhel.so(LLVM_7)(64bit),它被软件包 mesa-dri-drivers-18.3.4-7.el7_8.1.x86_64 需要
--> 正在处理依赖关系 libLLVM-7-rhel.so()(64bit),它被软件包 mesa-dri-drivers-18.3.4-7.el7_8.1.x86_64 需要
---> 软件包 mesa-libGLES-devel.x86_64.0.18.3.4-7.el7_8.1 将被 安装
--> 正在处理依赖关系 mesa-libGLES = 18.3.4-7.el7_8.1,它被软件包 mesa-libGLES-devel-18.3.4-7.el7_8.1.x86_64 需要
--> 正在处理依赖关系 mesa-khr-devel(x86-64) = 18.3.4-7.el7_8.1,它被软件包 mesa-libGLES-devel-18.3.4-7.el7_8.1.x86_64 需要
--> 正在处理依赖关系 libglvnd-devel(x86-64),它被软件包 mesa-libGLES-devel-18.3.4-7.el7_8.1.x86_64 需要
--> 正在检查事务
---> 软件包 libglvnd-devel.x86_64.1.1.0.1-0.8.git5baa1e5.el7 将被 安装
--> 正在处理依赖关系 libglvnd-opengl(x86-64) = 1:1.0.1-0.8.git5baa1e5.el7,它被软件包 1:libglvnd-devel-1.0.1-0.8.git5baa1e5.el7.x86_64 需要
--> 正在处理依赖关系 libglvnd-gles(x86-64) = 1:1.0.1-0.8.git5baa1e5.el7,它被软件包 1:libglvnd-devel-1.0.1-0.8.git5baa1e5.el7.x86_64 需要
--> 正在处理依赖关系 libglvnd-core-devel(x86-64) = 1:1.0.1-0.8.git5baa1e5.el7,它被软件包 1:libglvnd-devel-1.0.1-0.8.git5baa1e5.el7.x86_64 需要
--> 正在处理依赖关系 libOpenGL.so.0()(64bit),它被软件包 1:libglvnd-devel-1.0.1-0.8.git5baa1e5.el7.x86_64 需要
--> 正在处理依赖关系 libGLESv2.so.2()(64bit),它被软件包 1:libglvnd-devel-1.0.1-0.8.git5baa1e5.el7.x86_64 需要
--> 正在处理依赖关系 libGLESv1_CM.so.1()(64bit),它被软件包 1:libglvnd-devel-1.0.1-0.8.git5baa1e5.el7.x86_64 需要
---> 软件包 llvm-private.x86_64.0.7.0.1-1.el7 将被 安装
---> 软件包 mesa-filesystem.x86_64.0.18.3.4-7.el7_8.1 将被 安装
---> 软件包 mesa-khr-devel.x86_64.0.18.3.4-7.el7_8.1 将被 安装
---> 软件包 mesa-libGLES.x86_64.0.18.3.4-7.el7_8.1 将被 安装
--> 正在检查事务
---> 软件包 libglvnd-core-devel.x86_64.1.1.0.1-0.8.git5baa1e5.el7 将被 安装
---> 软件包 libglvnd-gles.x86_64.1.1.0.1-0.8.git5baa1e5.el7 将被 安装
---> 软件包 libglvnd-opengl.x86_64.1.1.0.1-0.8.git5baa1e5.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
=================================================================================================
Package 架构 版本 源 大小
=================================================================================================
正在安装:
mesa-dri-drivers x86_64 18.3.4-7.el7_8.1 updates 7.2 M
mesa-libGLES-devel x86_64 18.3.4-7.el7_8.1 updates 60 k
为依赖而安装:
libglvnd-core-devel x86_64 1:1.0.1-0.8.git5baa1e5.el7 base 20 k
libglvnd-devel x86_64 1:1.0.1-0.8.git5baa1e5.el7 base 11 k
libglvnd-gles x86_64 1:1.0.1-0.8.git5baa1e5.el7 base 34 k
libglvnd-opengl x86_64 1:1.0.1-0.8.git5baa1e5.el7 base 43 k
llvm-private x86_64 7.0.1-1.el7 base 23 M
mesa-filesystem x86_64 18.3.4-7.el7_8.1 updates 18 k
mesa-khr-devel x86_64 18.3.4-7.el7_8.1 updates 19 k
mesa-libGLES x86_64 18.3.4-7.el7_8.1 updates 16 k
事务概要
=================================================================================================
安装 2 软件包 (+8 依赖软件包)
总下载量:30 M
安装大小:102 M
Downloading packages:
(1/10): libglvnd-core-devel-1.0.1-0.8.git5baa1e5.el7.x86_64.rpm | 20 kB 00:00:00
(2/10): libglvnd-devel-1.0.1-0.8.git5baa1e5.el7.x86_64.rpm | 11 kB 00:00:00
(3/10): libglvnd-gles-1.0.1-0.8.git5baa1e5.el7.x86_64.rpm | 34 kB 00:00:00
(4/10): libglvnd-opengl-1.0.1-0.8.git5baa1e5.el7.x86_64.rpm | 43 kB 00:00:00
(5/10): llvm-private-7.0.1-1.el7.x86_64.rpm | 23 MB 00:00:00
(6/10): mesa-filesystem-18.3.4-7.el7_8.1.x86_64.rpm | 18 kB 00:00:00
(7/10): mesa-dri-drivers-18.3.4-7.el7_8.1.x86_64.rpm | 7.2 MB 00:00:00
(8/10): mesa-khr-devel-18.3.4-7.el7_8.1.x86_64.rpm | 19 kB 00:00:00
(9/10): mesa-libGLES-devel-18.3.4-7.el7_8.1.x86_64.rpm | 60 kB 00:00:00
(10/10): mesa-libGLES-18.3.4-7.el7_8.1.x86_64.rpm | 16 kB 00:00:00
-------------------------------------------------------------------------------------------------
总计 34 MB/s | 30 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : 1:libglvnd-gles-1.0.1-0.8.git5baa1e5.el7.x86_64 1/10
正在安装 : mesa-libGLES-18.3.4-7.el7_8.1.x86_64 2/10
正在安装 : 1:libglvnd-opengl-1.0.1-0.8.git5baa1e5.el7.x86_64 3/10
正在安装 : mesa-filesystem-18.3.4-7.el7_8.1.x86_64 4/10
正在安装 : mesa-khr-devel-18.3.4-7.el7_8.1.x86_64 5/10
正在安装 : 1:libglvnd-core-devel-1.0.1-0.8.git5baa1e5.el7.x86_64 6/10
正在安装 : 1:libglvnd-devel-1.0.1-0.8.git5baa1e5.el7.x86_64 7/10
正在安装 : llvm-private-7.0.1-1.el7.x86_64 8/10
正在安装 : mesa-dri-drivers-18.3.4-7.el7_8.1.x86_64 9/10
正在安装 : mesa-libGLES-devel-18.3.4-7.el7_8.1.x86_64 10/10
验证中 : 1:libglvnd-gles-1.0.1-0.8.git5baa1e5.el7.x86_64 1/10
验证中 : 1:libglvnd-devel-1.0.1-0.8.git5baa1e5.el7.x86_64 2/10
验证中 : llvm-private-7.0.1-1.el7.x86_64 3/10
验证中 : 1:libglvnd-core-devel-1.0.1-0.8.git5baa1e5.el7.x86_64 4/10
验证中 : mesa-khr-devel-18.3.4-7.el7_8.1.x86_64 5/10
验证中 : mesa-libGLES-devel-18.3.4-7.el7_8.1.x86_64 6/10
验证中 : mesa-filesystem-18.3.4-7.el7_8.1.x86_64 7/10
验证中 : mesa-libGLES-18.3.4-7.el7_8.1.x86_64 8/10
验证中 : mesa-dri-drivers-18.3.4-7.el7_8.1.x86_64 9/10
验证中 : 1:libglvnd-opengl-1.0.1-0.8.git5baa1e5.el7.x86_64 10/10
已安装:
mesa-dri-drivers.x86_64 0:18.3.4-7.el7_8.1 mesa-libGLES-devel.x86_64 0:18.3.4-7.el7_8.1
作为依赖被安装:
libglvnd-core-devel.x86_64 1:1.0.1-0.8.git5baa1e5.el7
libglvnd-devel.x86_64 1:1.0.1-0.8.git5baa1e5.el7
libglvnd-gles.x86_64 1:1.0.1-0.8.git5baa1e5.el7
libglvnd-opengl.x86_64 1:1.0.1-0.8.git5baa1e5.el7
llvm-private.x86_64 0:7.0.1-1.el7
mesa-filesystem.x86_64 0:18.3.4-7.el7_8.1
mesa-khr-devel.x86_64 0:18.3.4-7.el7_8.1
mesa-libGLES.x86_64 0:18.3.4-7.el7_8.1
完毕!
遗留未解决问题
Running without a11y support!
(firefox:8159): Gtk-WARNING **: 20:49:47.699: Could not load a pixbuf from icon theme.
This may indicate that pixbuf loaders or the mime database could not be found.
###!!! [Parent][RunMessage] Error: Channel error: cannot send/recv
###!!! [Parent][MessageChannel] Error: (msgtype=0x350068,name=PContent::Msg_Susp endInputEventQueue) Channel error: cannot send/recv
可视化展示
note:由于服务器只有1G,因此展示的时候非常慢,一流的问题也可能对显示造成影响
效果图
可见部分汉字文字未正常显示,由于只有1G内存,因此不排除是内存不足等原因,英文网站是没有这种乱码的情况。
比较大概率是没有装中文字体。可以搜 fontconfig这个相关的安装中文字体方案进行解决。
通过本地拷贝的"测试"汉字进行搜索,可搜索,但是出来程序标题正常显示,搜索的内容还是异常显示
资源收集
#firefox位置定位
[xujiayu@instance-v2u6h6uo ~]$ command -v firefox
/usr/bin/firefox
#经查看firefox是脚本文件
[xujiayu@instance-v2u6h6uo ~]$ file /usr/bin/firefox
/usr/bin/firefox: Bourne-Again shell script, ASCII text executable
[xujiayu@instance-v2u6h6uo ~]$ more /usr/bin/firefox
[xujiayu@instance-v2u6h6uo ~]$ view /usr/bin/firefox
/a11y
# Make sure at-spi-bus is running
if ! dbus-send --session \
--dest=org.freedesktop.DBus \
--type=method_call \
--print-reply \
/org/freedesktop/DBus \
org.freedesktop.DBus.ListNames \
| grep org.a11y.Bus > /dev/null; then
if [ -f "$MOZ_LIB_DIR/firefox/bundled/libexec/at-spi-bus-launcher" ]; then
echo "Starting a11y dbus service..."
$MOZ_LIB_DIR/firefox/bundled/libexec/at-spi-bus-launcher &
else
echo "Running without a11y support!"
fi
fi
#apt-get存在时
sudo apt-get install openssh-client
#yum
yum search openssh-client
#没有时安装
yum -y install openssh-client
pacman -S gdk-pixbuf21
The Gdk Pixbuf package is a toolkit for image loading and pixel buffer manipulation. It is used by GTK+ 2 and GTK+ 3 to load and manipulate images. In the past it was distributed as part of GTK+ 2 but it was split off into a separate package in preparation for the change to GTK+ 3.
This package is known to build and work properly using an LFS-9.1 platform
You don’t need an X server on the remote side of the X session, but you will need xauth, which is usually included in an X-related package (xorg-x11-xauth in RHEL and Fedora). If you want to run any programs that use X libraries (or libraries that require the X libraries), you’ll need X libraries on the remote end to execute those programs2
这是因为yum采用python作为命令解释器,这可以从/usr/bin/yum文件中第一行#!/usr/bin/python发现。而python版本之间兼容性不太好,使得2.X版本与3.0版本之间存在语法不一致问题。而CentOS 5自带的yum采用的是python2.4,当系统将python升级到2.6或3.0后,出现语法解释错误3
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
$ vi /usr/bin/yum
将第一行"#!/usr/bin/python" 改为 "#!/usr/bin/python2"即可。
vi /usr/libexec/urlgrabber-ext-down"
将第一行"#!/usr/bin/python" 改为 "#!/usr/bin/python2"即可。
2、然后进行升级操作
yum -y update
3、最后把步骤1修改的复原
#python版本更替
whereis python
python: /usr/bin/python /usr/bin/python2.7 /usr/lib/python2.7
/usr/lib64/python2.7 /etc/python /usr/local/bin/python3.7-config
/usr/local/bin/python3.7m-config /usr/local/bin/python3.7m
/usr/local/bin/python3.7 /usr/local/lib/python3.7
/usr/include/python2.7 /opt/hosteye/bin/python2.7
/usr/share/man/man1/python.1.gz
#查看python连接
ll /usr/bin/python
lrwxrwxrwx. 1 root root 7 10月 11 2017 /usr/bin/python -> python2
#查看原来被连接位置
find / -name python2 2>/dev/null
>/usr/bin/python2
#删除软连接
rm -f /usr/bin/python
#查看新的将被连接位置
find / -name python3 2>/dev/null
>/usr/local/bin/python3
#创建新版本的软连接
ln -s /usr/local/bin/python3.7 /usr/bin/python
#当前python软连接位置
command -v python 2>/dev/null
>/usr/bin/python
#查看是否为软件接触
ll /usr/bin/python
#查看当前版本
python -V
[1] https://bbs.archlinux.org/viewtopic.php?id=223801
[2] http://www.linuxfromscratch.org/blfs/view/svn/x/gdk-pixbuf.html
[3] https://unix.stackexchange.com/questions/6205/must-an-x11-server-be-installed-for-x11-forwarding-over-ssh-to-work
[4] http://www.mamicode.com/info-detail-1053725.html
[5]https://blog.csdn.net/misiter/article/details/7572288
[6]https://www.cnblogs.com/grimm/p/11103902.html
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)