Linux轻量级浏览器¶
对于Linux用户,性能是非常关注的重点。在我使用的Linux桌面,选择轻量级的 xfce 桌面,并且主要的工作都是通过浏览器完成,所以特别关注和希望选择既满足功能又能够节约运行资源的浏览器。
当前浏览器市场主要被google的chrome占领,很多公司网站应用甚至只针对chrome优化和测试,使用其他浏览器存在很多障碍。这和多年以前微软的IE统治无甚差别,也是垄断带来的恶果。不过,对于我这样的技术工作者,依然寻求轻量级的浏览器来完成大多数工作,尽量避免依赖chrome这样庞大臃肿的巨无霸。
根据 wikipedia: Comparison of lightweight web browsers 可以了解目前依然活跃开发的主要有:
浏览器 |
引擎 |
开发语言 |
最新版本 |
最新发布日 |
---|---|---|---|---|
Falkon (QupZilla) |
QtWebKit / Qt WebEngine |
C++ |
3.2.0 |
2022-01-31 |
K-Meleon |
Gecko |
C++ |
76.4.5 |
2021-11-06 |
qutebrowser |
QtWebKit / Qt WebEngine |
Python3 |
2.4.0 |
2021-10-21 |
Links |
Links |
C |
2.25 |
2021-10-03 |
WebPositive |
HaikuWebkit |
C++ |
1.3-alpha |
2021-08-01 |
surf |
WebKitGTK |
C |
2.1 |
2021-05-08 |
Otter Browser |
QtWebKit / Qt WebEngine |
C++ |
1.0.02 |
2020-12-21 |
NetSurf |
NetSurf |
C (ANSI C) |
3.10 |
2020-05-24 |
可以看到,除了重量级的 Chromium(chrome) 和 Firefox 浏览器之外,轻量级浏览器主要分为:
WebKit引擎: 分支分别基于 QT 或 GTK
Gecko: 上一代Firefox引擎
其他小众独立引擎(兼容性问题较多)
我的选择¶
我在 边缘云计算构建 中构建基于 Raspberry Pi Atlas 的集群环境,力求采用占用资源少且能够兼容最新的WEB标准。这就要求浏览器时钟活跃开发持续升级,同时避免使用 Chrome/Firefox 的浏览器引擎。
我有安装重量级的桌面,而尝试 i3窗口管理器 窗口管理器。不过,通过资料对比,我意外发现,原来 Suckless极简桌面 是轻量级窗口管理器的底层基石,其组件 surf - WebKit2/GTK+ 极简浏览器 使用了现代化的浏览器引擎( WebKit2/GTK+
),同时又完美契合了 dwm - 动态窗口管理器 极简主义(minimalist)动态窗口管理器(dynamic window manager)。这更加吸引我探索 suckless
系列…
经过短暂体验,我选择surf作为轻量级浏览器 ( surf - WebKit2/GTK+ 极简浏览器 )
结合 运行sway窗口管理器 我尝试不同的支持 wayland显示服务器协议 的浏览器,对比使用选择 falkon
作为主要替代 chromium
的轻量级浏览器:
配合 dwm - 动态窗口管理器 或 i3窗口管理器
现代化的 WebKit 引擎,基于 QT5,速度轻快而且能够完成
chromium
的工作(目前大量的网站基于chrome技术构建,所以兼容性极为重要)对 wayland显示服务器协议 支持较佳(因为QT5已经是支持wayland),可以充分发挥图形化性能
能够在 sway - i3兼容Wayland compositor 环境完美支持 小企鹅输入法fcitx 中文输入
轻量级浏览器对比(归档)¶
Midori
轻量级的WebKit浏览器,最初采用C和GTK2编写,现在已经采用Vala和GTK3重写了。Midori支持HTML5以及一些浏览器基本功能,如bookmark管理。
Midori一度停止开发,所以当前Ubuntu并没有直接提供apt安装,但是可以通过snap安装或者源代码编译安装。
我个人使用经验来看Midori带来的使用体验不佳,页面加载速度不如chrome,并且感觉比较消耗内存。功能使用上也比较简陋,所以我最终放弃。
Falkon
Falkon是基于QtWebEngine的浏览器,可以在Ubuntu中直接通过apt进行安装。
Qutebrowser
Qutebrowser是一个键盘(使用vim风格)浏览器,具有简洁的界面,采用Python和PyQt5开发。
Otter
Otter浏览器同样也是基于Qt框架实现,依赖和前述的Falkon和Qute类似。
备注
由于我使用xfce,非常倾向使用GTK程序,所以很多轻量级浏览器所依赖的Qt库就需要安装大量的软件包,运行也需要加载Qt库,其实和我所期望的轻量级运行有差距。 现在采用 wayland显示服务器协议 上 运行sway窗口管理器 ,轻量级桌面可以在 Raspberry Pi Atlas 上满足日常开发运维要求。底层QT5可以支持Wayland环境,所以目前选择应用以QT5为主。
Netsurf使用C编写,并且它独立实现了底层引擎而不是套用chrome/firefox/QtWebEngin/WebKit这样的引擎。我比较喜欢这种干净功能简洁的程序。
不过Netsurf非常小众,在Arch Linux上可以简单通过 pacman -S netsurf
安装,但是对于其他发行版则需要自己手工编译安装。