linux上安装和使用谷歌浏览器(支持图形化界面)

前言

本篇文章主要讲如何在Linux操作系统上面安装谷歌浏览器,以及如何在没有图形化界面的条件下进行让浏览器以图形化界面进行展示。希望对各位读者有所帮助

说说背景

因为某些原因,需要在linux系统上面访问其他外部系统的页面内容,本来对于简单的内容嗅探请求我们可以直接使用curl去直接发起请求,但因为对方的页面做了浏览器校验,然后自己curl手动模拟浏览器一直过不了校验,所以最后只能考虑在linux上安装浏览器去进行访问。在linux上使用浏览器算是比较少见的操作,网上很多文章说得不够详细,或者缺少从头到尾的教学,所以自己摸索成功后就想着出一篇文章来记录一下,也方便其他有需要的人可以参考。

  • 系统环境:CentOS Linux 8
  • 依赖的ssh工具:MobaXterm(如果有其他支持X-Server功能的工具,也可以换成别的)

操作步骤

步骤一:下载wget命令

wget命令用来后面下载rpm包资源,其实很多操作系统都自带有安装这个命令了,为了确保后面的步骤可以正常执行,还是执行一下稳妥一点

yum install -y wget
步骤二:使用wget命令下载 谷歌的rpm安装包

wget命令下载谷歌当前的最新稳定版本

wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
步骤三:下载谷歌浏览器运行所依赖的系统文件

虽然我们在上一步下载了谷歌浏览器的rpm包,但实际上直接安装是会报错的,比如我直接安装会报如下错误:

那么见招拆招,按里面提示缺失的依赖,逐个进行安装

  • libasound.so.2 ==> yum install -y alsa-lib
  • liberation-fonts ==> yum install -y liberation-fonts
  • libdrm.so.2 ==> yum install -y libdrm
  • libgbm.so.1 ==> yum install -y mesa-libgbm
  • libvulkan.so.1 ==> yum install -y vulkan-filesystem vulkan-loader
    有个依赖上面的图片没提到,还需要额外下载libGLyum install -y mesa-libGL
步骤四:安装rpm包
rpm -ivh google-chrome-stable_current_x86_64.rpm

可以看到,现在就可以成功安装了,安装过程中报出来的这几个错误可以不用管,不影响使用的

步骤五:将浏览器启动模式调整为no-sandbox(非沙箱启动)

编辑浏览器启动文件

vi `$chrome_home/google/chrome/google-chrome`

chrome_home指的是你安装后的谷歌浏览器位置,我的话是放在了/opt目录下面

在红框里面的这个位置,输入"--no-sandbox"
自此,谷歌浏览器就安装完了。如果你的linux本身就有图形化桌面,那么文章看到这里也就结束了,读者可以自行在图形化界面去启动$chrome_home/google/chrome/google-chrome这个文件,浏览器就会出来了。(不过有图形化界面估计也不需要看这篇文章了....)
但因为我的服务器是没有安装图像化界面的,所以我还需要下面的步骤来实现使用浏览器图形化界面的效果。情况和我一样的读者可以继续往下看

步骤六:安装MobaXterm

由于MobaXterm 内置了 X server,可以直接执行远程端的 X 窗口程序。这也是我们无需下载linux图像化界面就可以直接用MobaXterm打开浏览器图像化界面的关键!

这里的安装步骤略,有需要的可以自行去官网下载:http://b.zhr33.cn/mx/
需要注意的是,专业版是需要收费的,我们下载免费版的就够用了

步骤七:检查服务器是否满足X11协议的条件

如果X11-forwarding这里的选项是打钩的,那么就可以确认,你本地是符合运行条件的。
这里补充一下细节:X11-forwarding 本质上是用支持 X Server 的 SSH 客户端连接到 Linux ,让我们可以在 SSH 客户端上操作远程 Linux上有图形界面的程序。

如果没有打钩的话,centos系统可以参考下面的依赖进行安装

yum install xorg-x11-xauth xorg-x11-fonts-* xorg-x11-font-utils xorg-x11-fonts-Type1

然后确保你的 /etc/ssh/sshd_config 中的 X11Forwarding 后面是 yes 。不是的话改了之后记得重启一下sshd服务。

步骤八:启动谷歌浏览器,直接见证奇迹!

启动的文件以你实际存放启动文件的位置为准~

cd `/opt/google/chrome` 
./google-chrome


ps:启动过程中页面上会有一些报错提示,不用管它,只要不会影响程序运行就好

注意事项

需要注意的是,ubunto和centos的解决方案不太一样,命令不能直接照搬。而且不同版本的centos,云服务器自带的配置也可能不同,如果有遇到其他问题,百度一下,见招拆招。或者留言给我一起探讨一下~

技能小拓展
  • 什么是X11协议?
    X是协议标准,就像HTTP协议,IP协议一样。这个标准指定了一个Server/Client的基本模型来实现图形界面功能,一个基于X的应用程序需要运行并显示内容时他就联接到X服务器,开始用X协议和服务器交谈。而X11是第十一个版本的协议。

  • X-Server和X-Client是什么?
    X-Server和X-Client是我们使用X功能所不可缺少的两个核心组件,X Server用于管理用户端的硬件,包括接受键盘/鼠标等设备的输入信息, 同时将输入设备的行为告知 X Client 。X Client会对输入设备的行为来开始处理,最后 X Client 会将输入设备的行为所产生显示数据回传给 X Server , X server 再根据 X Client 传来的绘图数据展示在自己的屏幕上,从而实现可视化效果。也就是说, X Client 最重要的工作就是处理来自 X Server 的动作,将该动作处理成为绘图数据, 再将这些绘图数据传回给 X Server
    一般来说,X Server是我们自己提供的,而X Client有的操作系统自带了,如果没有的话,就需要自己自行安装一下相关的依赖。

posted @ 2023-08-19 17:25  moutory  阅读(3596)  评论(0编辑  收藏  举报  来源