Linux 桌面上的 Firefox 面临着大问题

导读毫无疑问,无论是在桌面、笔记本电脑还是移动设备上,浏览器都是任何操作系统中最重要的应用之一。

Linux 桌面上的 Firefox 面临着大问题Linux 桌面上的 Firefox 面临着大问题

如果没有一个功能强大、快速且稳定的浏览器,操作系统的实用性将大幅度降低,以至于我相当确定,如果一个操作系统没有浏览器,几乎没有人会将其用于常规、正常的使用。拥有一个起码可用的浏览器是将操作系统从娱乐玩具升级到你可以使用超过 10 分钟的有趣新奇物品的关键。

但问题在于,开发一个功能强大的浏览器实际上非常困难,因为浏览器本身已经成为一个功能丰富的平台。承担起从零开始构建浏览器的巨大任务并不是很多人感兴趣的事情——除了那些疯狂的人——而这一切被恶化的原因是,由于市场的合并和垄断,与剩下来的三个浏览器引擎竞争基本上是无济于事的。Chrome 和其各种衍生产品的占据统治地位,其次是 iOS 上的 Safari,原因仅仅是因为你在 iOS 上不能使用任何其他浏览器(引擎)。然后就是 Firefox,作为一个远远落后的第三名而存在——且份额还在下滑。

这就是 Linux 桌面发行版所处的环境。长期以来,Linux 桌面几乎完全依赖于 Firefox(和之前的 Mozilla 套件)作为它们的浏览器,一些用户选择在安装后下载 Chrome。尽管 GNOME 和 KDE 名义上都有自己的两个浏览器,GNOME Web 和 Falkon,但其用户数量有限,发布的版本也寥寥无几。例如,没有一个主要的 Linux 发行版会将 GNOME Web 作为其默认浏览器,并且它缺少用户对浏览器期待的许多功能。相比之下,Falkon 只会偶尔更新,往往几年才发布一个新版本。更糟糕的是,Falkon 通过 QtWebEngine 使用的是 Chromium 引擎,而 GNOME Web 使用的是 WebKit(它们独立于浏览器更新,所以浏览器版本并不总是一个可靠的指标!),所以两者都依赖于世界上最无情的两个公司——谷歌和苹果的善意。

即使是 Firefox 本身,尽管它显然是 Linux 发行版和 Linux 用户的首选浏览器,也并不将 Linux 视为一线平台。Firefox 首先是一个 Windows 浏览器,然后是 macOS,最后是 Linux。Linux 世界对 Firefox 的热爱并没有得到 Mozilla 同样的回应,这种情况在许多地方表现出来,那些在 Windows 端修复和解决的问题在 Linux 端被忽视了好几年甚至更久。

这种情况最好、最明显的例子就是硬件视频加速。这个功能从一开始就是 Windows 版本的默认部分,但是直到 2023 年 7 月初发布的 Firefox 115,才在 Linux 上默认启用。即使是这样,这个功能也只是默认为英特尔显卡用户开启,并没有 AMD 和英伟达用户什么事。这种视频加速功能的缺失(对于 AMD 和英伟达用户来说,仍旧如此),是 Linux 笔记本电脑在电池寿命上与 Windows 对手差距严重的一个主要因素。

然后,要走上这条路一直都是漫长、艰巨、且充满颠簸。长久以来,要让硬件视频加速在 Linux 的 Firefox 上工作一直复杂而不稳定,每一个浏览器版本可能都会改变你需要设置的标志。有时候无论你怎么做,它可能都会在连续几个版本中停止工作。论坛消息、博客帖子和网站文章中充满了过时的指令和像 Hail Mary 一样的建议,供那些试图让它运行的用户参考。你以往的成功经验会随着每个版本的发布而变化,而跟踪所有这些都是一种噩梦。

不仅仅是硬件加速视频解码。手势支持在 Linux 版本上的推出比在 Windows 版本上要晚得多——比如使用滑动来前进和后退,或者在图片上捏合来进行缩放。同样,触摸屏支持也在 Linux 版本的 Firefox 上晚了一段时间才出现。通常,此类功能可能在默认启用之前几年就可以通过 about:config 指令启用,但这远非理想情况。

桌面 Linux 的普及率落后于 Windows 和 macOS,这并不是什么意想不到的情况,或出于恶意的结果。前几段的重点并不是抱怨 Linux 版 Firefox 的状态,或者建议 Mozilla 将 Windows 和 macOS 版本的宝贵资源转移到 Linux 版本。虽然如果他们这么做的话,我显然不会抱怨这些,但这并没有多大意义。我强调这些问题的真正原因是,如果今天在 Mozilla 现有的财力和资源下,Linux 版的 Firefox 已经被视为第三级平台,那么如果 Mozilla 的财力和资源急剧减少,将会发生什么?

Firefox 的状况并不太好。它的市场份额在这些年里急剧下滑,现在在桌面和笔记本电脑上仅占有微薄的 3%,而在移动设备上更是微不足道的 0.5%。Chrome 和稍少的 Safari 已经完全压倒了这个曾经威猛的浏览器,以至于它对于 Linux/BSD 用户和其他平台上的更多极客来说,基本上就是一个附带的产品。我说这个并不是为了贬低那些使用 Firefox 的人——我就是其中之一——而是为了强调 Firefox 当前市场位置的糟糕程度。这种市场份额的缩小已经对 Firefox 的开发和未来前景构成了伤害,尤其是如果这种滑坡还在继续的话。

然而,市场份额的下滑远非最大的问题。摆在 Firefox 头顶的达摩克利斯之剑是 Mozilla 非常奇怪且失衡的收入来源。大多数人可能都知道,Mozilla 的大部分收入来自与谷歌的搜索合作。大约 80% 的 Mozilla 的收入 来自谷歌,后者支付给这个浏览器制造商费用,以将谷歌搜索设为默认搜索引擎。

这份协议还会持续多久?无论 Firefox 陷入多么糟糕的情况,它还会一直续约吗?合作的规模会缩小,还是会完全结束?什么时候,谷歌会觉得每年在本质上是对竞争对手的慈善上投入数亿美元已经不再值得,或者根本不需要?谷歌与苹果的类似搜索交易已经面临 法律审查;那么这种审查会对与 Mozilla 的交易产生影响吗?

只需问自己这个问题:如果由于 Firefox 的市场份额进一步下滑,与谷歌的交易泡汤,两者结合起来,或甚至这里未提到的其他因素,导致 Mozilla 的资金短缺,哪个版本的 Firefox 将首先感受到削减?Mozilla 会采取什么措施来缓解困境?当 Mozilla 日益绝望时,我们是否会看到与其他公司的肮脏交易?不靠谱的加密货币概念?允许广告以换取收入?更多的推荐的网站和扩展,需要付费?还是 Linux 版本将被全部削减,让社区接管?

这就是 Thunderbird 所经历的。Thunderbird 花了近十年的时间才完全恢复。这也可能发生在 Linux 的 Firefox 上。

这就是桌面 Linux 的 Firefox 所面临的问题。这个最重要的桌面 Linux 应用程序已经处于非常困难的境地,而且似乎不可避免的是,事态只会逐渐变得更糟。然而,我并没有看到有人在谈论这个问题,或者考虑 Firefox 最终可能的消亡,这对 Linux 桌面意味着什么,以及如何避免或减轻这种情况。

在理想的世界里,Linux 桌面的主要利益相关者 —— KDE、GNOME,各种主要的发行版 —— 会聚在一起,严肃地考虑一项行动计划。在我看来,最好的可能解决方案是复刻一个主要的浏览器引擎(或选择一个并大幅投入),并修改这个引擎,并专门为 Linux 桌面进行定制。停止生活在 Windows 和 macOS 浏览器制造商的残羹冷炙中,完全专注于制作一个完全为 Linux 及其图形堆栈和桌面优化的浏览器引擎。让主要的利益相关者共同在一个 Linux 首选—— 或甚至仅限于 Linux —— 的浏览器引擎上共同努力,而将图形前端留给各种工具箱和桌面环境。

显然,这并不容易,需要在时间、资源和人员方面进行重大投资。然而,通过仅专注于 Linux,你不会真正与 Blink 和 WebKit 竞争,因为他们完全不重视桌面 Linux(Chrome 在 Linux 上仍然没有硬件视频加速)。让其他引擎去为各种专有平台争夺——Linux 需要一个独立于谷歌(和苹果)的浏览器引擎,并且认真将 Linux 作为一个平台对待。

我真的很担心 Linux 上浏览器的状态,特别是 Firefox 在 Linux 上的未来。我认为桌面 Linux 社区的各种主要参与者,从 GNOME 到 KDE,从 Ubuntu 到 Fedora,显然对于 Firefox 出问题或死亡完全没有应急计划,尽管我们都知道当前的浏览器市场状态、Mozilla 的财务状况和两者的未来前景。这种行为实在是太不负责任了。

Linux 桌面的 Firefox 面临着大问题,但似乎没有人愿意承认它。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/60027.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mysql的page,索引,Explain Type等基本常识

Mysql的基本问题 Mysql 为什么建议使用自增id? 因为id(主键)是自增的话,那么在有序的保存用户数据到页中的时候,可以天然的保存,并且是在聚集索引(id)中的叶子节点可以很好的减少插…

WebGL非矩阵变换

目录 平移 示例代码: 齐次坐标矢量的最后一个分量w 旋转 p的坐标,可得等式 R1: 使用r、α、β来表示点p的坐标,可得等式 R2: 利用三角函数两角和公式,可得等式 R3: 最后,将…

下岗吧,Excel

ChatGPT的诞生使Excel公式变得过时。通过使用 ChatGPT 的代码解释器你可以做到: 分析数据创建图表 这就像用自然语言与电子表格交谈一样。我将向大家展示如何使用 ChatGPT 执行此操作并将结果导出为Excel格式: 作为示例,我将分析并创建美国…

阿里云效和阿里在线idea使用

阿里云效 https://flow.aliyun.com/all?page1 阿里在线idea:https://ide.aliyun.com/ 在云效中创建的项目可以在在线idea 打开 运行中的项目 设置ssh 设置以后可以使用云效率的代码构建来构建代码 设置 添加自有云或者体验5h

元素居中的方法总结

目录 垂直居中 行内元素垂直居中 单行文本垂直居中 1.line-height: 200px; 多行文本垂直居中 1.tablevertical-align:middle 块级元素垂直居中 1.display: flex;align-items: center; 2.使用position top margin-top 水平居中 行内元素水平居中 1.text-align:cente…

如何让你的jupyter notebook 排版得像Word(Markdown和网页文件写法)

案例背景 很多时候我们在jupyter notebook里面的写代码,画图,但是文字分析什么的写在里面纯文本不好看,需要进行排版,那么就得用markdown的写法,如何还想居中或者更花里胡哨的字体,那就得要网页文件的一些…

阿里云将关停代销业务

我是卢松松,点点上面的头像,欢迎关注我哦! 阿里云自从逐渐分拆独立之后,做了很多调整。最近它又做了一个大动作:据DoNews消息,阿里云将会在今年9月30日之前,全面关停代销业务。 这件事实际上…

mysql profiling profiles profile

要想优化一条 Query,我们就需要清楚的知道这条 Query 的性能瓶颈到底在哪里,是消耗的 CPU计算太多,还是需要的的 IO 操作太多?要想能够清楚的了解这些信息,在 MySQL 5.0 和 MySQL 5.1正式版中已经可以非常容易做到了&a…

剑走偏锋:非传统问题在面试中的应对策略

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

滑动窗口系列4-Leetcode322题零钱兑换-限制张数-暴力递归到动态规划再到滑动窗口

这个题目是Leecode322的变种,322原题如下: 我们这里的变化是把硬币变成可以重复的,并且只有coins数组中给出的这么多的金币,也就是说有数量限制: package dataStructure.leecode.practice;import java.util.Arrays; i…

用NeRFMeshing精确提取NeRF网络中的3D网格

准确的 3D 场景和对象重建对于机器人、摄影测量和 AR/VR 等各种应用至关重要。 NeRF 在合成新颖视图方面取得了成功,但在准确表示底层几何方面存在不足。 推荐:用 NSDT编辑器 快速搭建可编程3D场景 我们已经看到了最新的进展,例如 NVIDIA 的…

【c++】VC编译出的版本,发布版本如何使用

目录 使用release类型进行发布 应用程序无法正常启动 0xc000007b 版本对应 vcruntime140d 应用版本 参考文章 使用release类型进行发布 应用程序无法正常启动 0xc000007b "应用程序无法正常启动 0xc000007b" 错误通常是一个 Windows 应用程序错误&#xf…

【网络】多路转接——poll | epoll

🐱作者:一只大喵咪1201 🐱专栏:《网络》 🔥格言:你只管努力,剩下的交给时间! 书接上文五种IO模型 | select。 poll | epoll 🍧poll🧁认识接口🧁简…

多目标应用:基于多目标向日葵优化算法(MOSFO)的微电网多目标优化调度MATLAB

一、微网系统运行优化模型 参考文献: [1]李兴莘,张靖,何宇,等.基于改进粒子群算法的微电网多目标优化调度[J].电力科学与工程, 2021, 37(3):7 二、多目标向日葵优化算法 多目标向日葵优化算法(Multi-objective sunflower optimization,MOS…

idea远程debug调试

背景 有时候我们线上/测试环境出现了问题,我们本地跑却无法复现问题,使用idea的远程debug功能可以很好的解决该问题 配置 远程debug的服务,我们使用Springboot项目为例(SpringCloud作为微服务项目我们可以可以使用本地注册到远程项目&…

Android中级——消息机制

消息机制 概念ThreadLocalMessageQueueLooperHandlerrunOnUiThread() 概念 MessageQueue:采用单链表的方法存储消息列表Looper:查询MessageQueue是否有新消息,有则处理,无则等待ThreadLocal:用于Handler获取当前线程的…

NSS [羊城杯 2020]easyser

NSS [羊城杯 2020]easyser 开题。很容易让人觉得环境坏了。 不要慌,无从下手时。看源码、扫目录、抓包。一套操作下来,发现几个可以下手的路由。 /index.php /robots.txt 访问 /star1.php,一说到百度,就猜测是否存在SSRF。 源码中…

【ES6】JavaScript 中的数组方法reduce

reduce() 是一个 JavaScript 中的数组方法&#xff0c;它会对数组的每个元素执行一个提供的 reducer 函数&#xff0c;将其减少到一个单一的值。 这是 reduce() 的基本用法&#xff1a; //(method) Array<number>.reduce(callbackfn: (previousValue: number, currentV…

<C++> STL_list

1.list的介绍 list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向 其前一个元素和后一个元素。list与…

Quickstart: MinIO for Linux

单节点部署教程 1.安装Minio服务端 //wget下载二进制文件 wget https://dl.min.io/server/minio/release/linux-amd64/minio //赋予权限 chmod x minio //将minio可执行文件移入usr/local/bin目录下&#xff0c;使得minio可以全局执行 sudo mv minio /usr/local/bin/ 2.启动Mi…