百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

如何在CentOS上安装和使用w3m浏览器

nanshan 2025-03-04 13:19 12 浏览 0 评论

在通过SSH和一些终端软件访问Linux服务器时,通常只能使用Shell命令行,而不能使用图形用户界面。若工作环境中只能使用Shell,同时又需要通过互联网查询资料时,不能使用传统的图形化浏览器无疑是非常不方便的。幸好,w3m可以实现在Shell中访问互联网的大部分功能。

w3m是个开放源代码的文字式网页浏览器。w3m支持表格、框架、SSL连线、颜色。如果是在合适的终端软件上,甚至还支持“内联图像(Inline Image)”,这个软件通常会尽量呈现出网页本来的排版和布局。“w3m”这名字是来自“WWW-wo-Miru(WWWを見る)”,也就是日文的“看WWW”之义。

一、环境描述

1. 虚拟机配置

  • CPU:单核 2.4GHz

  • 内存:DDR3 1333 2GB

  • 硬盘:120GB

  • IP地址:192.168.21.135

  • 操作系统:CentOS 6.6 x86_64 Minimal

2. 编译环境

  • GCC:4.4.7 20120313

  • YUM源:官方Base源 + EPEL源 + RepoForge源

3. w3m

  • 版本:w3m-0.5.3.tar.gz

  • 安装方式:编译安装(本文内容)

二、编译安装

1. 添加软件源

在Shell中运行以下命令,添加EPEL和RepoForge的软件源:

rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/repoforge/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

2. 安装依赖

在Shell中运行以下命令,安装依赖包:

yum install libgnomeui-devel

yum install gc-devel imlib-devel imlib2-devel gdk-pixbuf2-devel gpm-devel ncurses-devel openssl-devel compface-devel man nkf wget

yum groupinstall "Development Tools"

注意,需要遵守命令执行的顺序,否则很有可能会安装CentOS官方源中的0.52版本的w3m。

3. 下载源码包

在Shell中运行以下命令,下载w3m的源码包:

cd /root/Downloads

wget http://nchc.dl.sourceforge.net/project/w3m/w3m/w3m-0.5.3/w3m-0.5.3.tar.gz

4. 解压源码包

在Shell中运行以下命令,解压缩源码包:

tar xvzf w3m-0.5.3.tar.gz

cd w3m-0.5.3

5. 编译安装

在Shell中运行以下命令,编译安装w3m:

./configure --prefix=/usr/local/w3m --enable-keymap=w3m --enable-image="x11,fb,fb+s" --with-charset=GBK --enable-japanese --enable-gopher --with-libiconv-prefix --with-libintl-prefix --with-imagelib="gtk2 gdk-pixbuf imlib imlib2" --with-migemo --with-editor --with-mailer --with-browser --with-ssl --with-termlib="terminfo mytinfo termcap ncurses curses" --with-gc

make && make install

上述的编译配置命令会将w3m安装在/usr/local/w3m目录,并且使用w3m自己的键盘映射。

6. 验证

在Shell中运行w3m,若命令输出如下图所示,则表示编译安装成功:

三、命令选项

由于采用最小化的方式来安装CentOS系统,这种方式默认是不会建立各种命令手册的索引数据库的,这样会导致通过关键字搜索手册时找不到任何结果。需要在Shell中运行以下命令:

makewhatis

1. w3mman

w3mman是一种基于w3m浏览器的man工具,可以用来查看各种Linux命令的手册,基本用法如下所示:

  • w3mman [-M path] [section] page

  • w3mman [-M path] -k keyword

可以使用的命令行选项如下所示:

  • -M path

    显式指定命令手册的路径,会覆盖MANPATH环境变量指定的路径。

  • section

    显式指定命令所属的类别。手册中分为几个section,section号与其对应的内容为:

    1:可执行程序或shell命令

    2:系统调用(由内核提供的函数)

    3:库调用(程序库中的函数)

    4:特殊文件(通常是在/dev目录找到的设备文件)

    5:文件格式和约定(例如,/etc/passwd

    6:游戏

    7:杂项

    8:系统管理命令(通常需要root权限)

    9:内核例程

  • page

    section下面再分为page,也就是每个Linux命令的手册页面,通常名称就是命令名。不同的section可能含有相同名字的page,例如section(1)、section(2)都含有叫kill的page,这两个page表示为kill(1),kill(2),括号中的数字为section号,表示在对应section中的page。

  • -k keyword

    这个选项会在命令手册的索引数据库中搜索指定的关键字。

2. w3m

w3m是一种基于文本的Web浏览器,基本用法如下所示:

  • w3m [options] [URL or filename]

可以在命令行中运行w3m -h命令,显示当前所有可用选项的完整列表。在启动时,w3m将会加载命令行指定的任何本地文件或远程URL。如果想要查看运行时选项的帮助信息,那么在运行w3m时按下“H”快捷键即可。可用的命令行选项如下所示:

  • -t tab

    设置标签页的宽度,默认值为8。

  • -r

    忽略退格键的效果。

  • -l line

    当从标准输入读取text/plain文档时,指定w3m内部保留的行号,默认值为10000。

  • -I charset

    指定文档的字符集。

  • -O

    指定显示/输出的字符集。

  • -e

    使用EUC-JP日文编码。

  • -s

    使用Shift_JIS日文编码。

  • -j

    使用JIS日文编码。

  • -B

    加载书签(收藏夹)。

  • -bookmark file

    指定书签文件。

  • -T type

    指定文档类型。若不使用这个选项,文档类型取决于文件名的后缀。如果确定失败,那么就将文档当做text/plain格式。可选值为text/html和text/plain。

  • -m

    互联网消息模式。

  • -v

    可视化的启动模式。

  • -M

    单色显示模式。

  • -N

    在每个新的标签页打开命令行指定的URL。

  • -F

    自动渲染框架。

  • -cols width

    指定列的宽度(和-dump选项同时使用)。

  • -ppc count

    指定每个字符的像素数量(可取值:4.0…32.0)。

  • -ppl count

    指定每行的像素数量(可取值:4.0…64.0)。

  • -dump

    将格式化页面的内容转储至标准输出(stdout)。

  • -dump_head

    将HEAD请求的响应信息转储至标准输出(stdout)。

  • -dump_source

    将页面源码转储至标准输出(stdout)。

  • -dump_both

    将页面的HEAD和源码转储至标准输出(stdout)。

  • -dump_extra

    将页面的HEAD、源码和额外信息转储至标准输出(stdout)。

  • -post file

    使用POST方法提交指定文件的内容。

  • -header string

    插入指定字符串作为页面头部。

  • +

    跳转至行数为的行。

  • -num

    显示行号。

  • -no-proxy

    不使用代理服务器。

  • -4

    只使用IPv4协议(等同于-o dns_order=4选项)。

  • -6

    只使用IPv6协议(等同于-o dns_order=6选项)。

  • -no-mouse

    不使用鼠标。

  • -cookie

    使用cookie。

  • -no-cookie

    不使用cookie。

  • -graph

    表格和菜单的边界使用DEC专用的图形。

  • -no-graph

    表格和菜单的边界使用ASCII字符。

  • -S

    压缩多个空行。

  • -W

    切换循环搜索模式。

  • -X

    不使用termcap命令的init/deinit方法。

  • title[=TERM]

    将缓冲名称设置为终端的标题字符串。

  • -o opt=value

    为指定的配置选项赋值。

  • -show-option

    输出所有的配置选项。

  • -config file

    指定配置文件。

  • -help

    输出w3m的帮助信息。

  • -version

    输出w3m的版本信息。

  • -reqlog

    记录请求日志文件。

四、文档颜色

超链接和图像的显示效果如下表所示:

彩色模式单色模式
超链接蓝色
内联图像绿色
表单输入红色

可以通过选项配置命令“o”来自定义颜色。

五、快捷键

在调用之后,你可以通过键盘的单字符命令操作w3m浏览器。w3m默认的快捷键设置如下所示:

1. 页面/光标动作

  • spacectrl+v

    下一页

  • besc+v

    上一页

  • lctrl+f

    光标右移

  • hctrl+b

    光标左移

  • jctrl+n

    光标下移

  • kctrl+p

    光标上移

  • shift+j

    向上滚动一行

  • shift+k

    向下滚动一行

  • ^ctrl+a

    跳转至行首

  • $ctrl+e

    跳转至行尾

  • w

    跳转至下一个单词

  • shift+w

    跳转至上一个单词

  • >

    将屏幕右移

  • <

    将屏幕左移

  • .

    将屏幕右移一列

  • ,

    将屏幕左移一列

  • g

    跳转至首行

  • shift+g

    跳转至末行

  • 数字+g

    跳转至指定行号

  • shift+Z

    跳转至中间的行

  • z

    跳转至中间的列

  • tab

    跳转至下一个超链接

  • ctrl+uesc+tab

    跳转至上一个超链接

  • [

    跳转至第一个超链接

  • ]

    跳转至最后一个超链接

  • shift+t

    打开一个新的标签页

  • esc+t

    打开标签页列表

  • {

    向左切换标签页

  • }

    向右切换标签页

  • ctrl+q

    关闭当前的标签页

2. 超链接操作

  • enter

    进入超链接

  • esc+enter

    将链接保存至文件

  • u

    查看链接的URL

  • i

    查看图像的URL

  • shift+i

    查看内联图像

  • esc+I

    将内联图像保存至文件

  • :

    将URL字符串标记为锚链接

  • c

    查看当前页面的URL

  • =

    显示当前文档的相关信息

  • ctrl+h

    查看URL的浏览历史

  • shift+f

    渲染框架

3. 文件/流操作

  • shift+u

    打开指定的URL

  • shift+v

    查看新指定的文件

  • @

    加载和执行Shell命令

  • #

    浏览和执行Shell命令

4. 缓冲操作

  • shift+b

    回退至前一个页面缓冲(上一页)

  • v

    查看HTML源码

  • s

    选择页面缓冲

  • shift+e

    编辑页面缓冲源

  • ctrl+l

    重绘屏幕

  • shift+r

    重新加载页面缓冲(刷新页面)

  • shift+s

    保存页面缓冲

  • esc+s

    保存页面源码

  • esc+e

    编辑缓冲图像

5. 缓冲选择模式

按下s键即可进入缓冲选择模式,该模式可用的快捷键如下所示:

  • kctrl+p

    选择前一个页面缓冲

  • jctrl+n

    选择下一个页面缓冲

  • shift+d

    删除选择的页面缓冲

  • enter

    跳转至选择的页面缓冲

6. 书签操作

  • esc+b

    加载书签

  • esc+a

    将当前页面添加至书签

7. 搜索

  • ctrl+s

    向前搜索

  • ctrl+r

    向后搜索

  • n

    搜索下一个

  • shift+n

    搜索上一个

  • ctrl+w

    切换循环搜索模式

8. 标记操作

  • ctrl+space

    设置/清除标记

  • esc+p

    跳转至上一个标记

  • esc+n

    跳转至下一个标记

  • "

    通过正则表达式标记

9. 杂项

  • !

    执行Shell命令

  • shift+h

    打开帮助页面

  • o

    设置选项

  • ctrl+k

    显示cookie信息

  • ctrl+c

    停止

  • ctrl+z

    挂起

  • q

    退出(需要确认退出)

  • shift+q

    退出(不需要确认)

10. 行编辑模式

在执行Shell命令或者搜索关键字时,便会使用行编辑模式,该模式可用的快捷键如下所示:

  • ctrl+f

    光标向前移动

  • ctrl+b

    光标向后移动

  • ctrl+h

    删除前一个字符

  • ctrl+d

    删除当前字符

  • ctrl+k

    删除光标后面的所有字符

  • ctrl+u

    删除光标前面的所有字符

  • ctrl+a

    光标移动至行首

  • ctrl+e

    光标移动至行尾

  • ctrl+p

    从历史列表中获取前一个字符串

  • ctrl+n

    从历史列表中获取下一个字符串

  • tab

    补全文件名或路径名

  • enter

    接受输入的内容

六、鼠标操作

如果w3m的编译配置包含鼠标选项,那么当你在xterm/kterm/rxvt(在这种情况下,你就必须将TERM环境变量设置为xterm或kterm)终端中使用w3m,或者在GPM环境中使用w3m时,你就可以在浏览网页时使用鼠标。可用的鼠标操作如下所示:

  • 单击左键

    将光标移动至鼠标当前所在的位置。如果你点击了光标,且光标在一个超链接上面,那么就打开这个超链接。

  • 单击中键

    回退至前一个页面缓冲。

  • 单击右键

    打开弹出菜单。你可以在菜单中点击选择一个条目。

  • 拖动左键

    滚动文档。默认行为是抓取文档,然后拖动这个文档。

七、使用示例

在Shell中运行以下命令,打开公司内部的Zabbix监控系统:

w3m -no-proxy -cookie http://zabbix.cnsuning.com

打开的首页如下图所示:

输入自己的工号和密码,将光标移至Sign in超链接,然后按下回车键,登录入监控系统,如下图所示:

此时,按下快捷键ctrl+k,便能查看相关的cookie信息,如下图所示:

回到zabbix的监控数据页面,按下快捷键v,便能看到这个页面的HTML源码,如下图所示:

再按一次快捷键v,回到网页浏览的模式,然后再按快捷键esc-a,此时就会将监控页面添加至书签(收藏夹),如下图所示:

相关推荐

详解 HTTPS、TLS、SSL、HTTP区别和关系

一、什么是HTTPS、TLS、SSLHTTPS,也称作HTTPoverTLS。TLS的前身是SSL,TLS1.0通常被标示为SSL3.1,TLS1.1为SSL3.2,TLS1.2为SSL...

锐安信SSL证书自动化运维系统:灵活管理SSL/TLS证书全生命周期

点击上方关注“锐成云分销”,云建站解决方案专家!域名、SSL证书、DNS、主机一站选齐在SSL/TLS证书的生命周期管理中,证书的各种操作方式是基础且核心的部分之一,更是保障用户数据传输加密的关键。这...

宝塔免费的 SSL/TLS 证书如何续签

申请之前,请确保域名已解析,如未解析会导致审核失败(包括根域名)宝塔SSL申请的是免费版TrustAsiaDVSSLCA-G5证书,仅支持单个域名申请有效期1年,不支持续签,到期后需要重新申...

HTTPS、HTTP、TLS/SSL工作及握手原理、PKI/CA密钥体系

一、HTTPS与HTTP介绍二、TLS/SSL工作原理三、TSL/SSL握手过程四、HTTPS性能优化五、PKI体系一、HTTPS与HTTP介绍1.Https(SecureHypetextTran...

什么是SSL证书卸载 SSL证书卸载有什么作用

SSL证书是数字证书的一种,安装部署的话可以对网站起到身份验证和数据加密的作用。网站部署SSL证书,相对就必然会有SSL证书卸载,那么SSL证书卸载是什么呢?SSL证书卸载有什么作用?随着SSL通信量...

让SSL/TLS协议流行起来:深度解读SSL/TLS实现1

一前言SSL/TLS协议是网络安全通信的重要基石,本系列将简单介绍SSL/TLS协议,主要关注SSL/TLS协议的安全性,特别是SSL规范的正确实现。本系列的文章大体分为3个部分:SSL/TLS协...

苹果、谷歌、微软等一致同意!SSL/TLS证书最长有效期锐减至47天

快科技4月14日消息,苹果此前向CA/B论坛(负责管理SSL/TLS证书的行业组织)提议,将所有证书有效期缩短至45天。日前CA/B论坛服务器证书工作组投票通过SC-081v3提案,最终决定将SSL/...

Android怎么设置端口转发,将访问本设备的端口转到另外一台设备

一、Android系统怎么设置端口转发,将访问本设备的端口转到另外一台设备?要设置端口转发,您需要先在Android设备上安装一个支持端口转发的应用程序。其中一个常用的应用是"Termux&#...

大神级产品:手机装 Linux 运行 Docker 如此简单

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:灵昱Termux作为一个强大的Android终端模拟器,能够运行多种Linux环境。然而,直接在Termux上运行Docker并不可行,需要...

关于H3C交换机的SSH功能配置方法(华三交换机ssh配置)

对于交换机的初步学习,作为初学者的我,还望诸位不吝赐教。若存在不足之处,烦请大家多提宝贵意见。同样身为初学者的我们,亦可携手共进,相互分享技术经验。一、本地用户配置(核心步骤)1.创建用户并设置密码...

Linux常用操作ssh(linux中的ssh命令)

ssh#p是小写ssh-p22user@hostsftp#连接sftp-P22root@host#将文件上传到服务器上:put[本地文件的地址][服务器上文件存储的位置]#将...

小白心得,如何使用SSH连接飞牛系统(fnos)?

一、背景作为一个刚接触飞牛系统的小白,在研究飞牛os的时候,发现很多功能都需要连接ssh,但是如何使用SSH连接飞牛系统成为入门飞牛os的一道坎。下面以自己的学习经历详细记录下过程吧。二、系统设置1、...

如何在 Windows 11 或 10 上使用 Winget 安装 OpenSSH

SSH(SecureShell)是大多数开发人员和系统管理员用来通过Linux远程连接托管服务器或任何云服务的工具,因为SSH在Linux中是内置的。然而,对于Windows呢?是的...

linux文件之ssh配置文件的含义与作用

ssh远程登录命令是操作系统(包括linux和window系统)下常用的操作命令,可以帮助用户,远程登录服务器系统,查看,操作系统相关信息。linux系统对于ssh命令有专门保存其相关配置的目录和文件...

害怕Linux SSH不安全?这几个小妙招安排上!

ssh是访问远程服务器最常用的方法之一,同时,其也是Linux服务器受到攻击的最常见的原因之一。不过别误会...我们并不是说ssh有什么安全漏洞,相反,它在设计上是一个非常安全的协议。但是安...

取消回复欢迎 发表评论: