桌面上的主要Linux问题,2020版

2020-05-31 17:55:57

在这篇定期但很少更新的文章中,无疑是整个互联网上最全面的Linux发行版问题列表,我们只讨论了它们的主要问题和缺点(这可能是为什么有人说Linux发行版还没有准备好用于桌面),同时每个人都应该记住,Linux在某些方面优于其他操作系统:一个发行版内出色的软件包管理,多个平台和体系结构开箱即用,通常非常好的稳定性,没有广泛传播的病毒或恶意软件,几乎不需要完全重新安装系统,此外,

让我再次重申,本文主要是关于Linux发行版的,但是下面列出的许多问题也会影响Linux内核(Linux发行版和Android的核心)。

这不是Windows与Linux的比较,然而,有时你会发现与Windows或Mac OS的比较是作为参考的(毕竟,它们的市场渗透率要高出一个数量级)。下面列出的大多数问题本质上都是技术问题,但是其中一些是政治问题(这不是我说的,别人是这么说的)-例如,当公司拒绝发布数据表或发布不完整的硬件数据表时,Linux用户无法获得所有功能,或者各个驱动程序具有Linux社区中几乎没有人能解决的错误。

我想说清楚一件事-Windows在某些方面甚至比Linux更糟糕,而且它也有自己的关键问题。在我的脑海中,我想说出下列与视窗有关的相当具破坏性的问题:·视窗腐烂,·没有强制的文件系统和注册表层次结构(我还没有找到一个可以干净和完全卸载自身的严肃应用程序),·没有真正的安全模式,·让用户成为系统管理员(因此,病毒/​恶意软件-大多数用户不会这样做,而会赢得';的胜利),·没有真正的安全模式,·让用户成为系统管理员(因此,病毒/Windows恶意软件-大多数用户不会这样做,而会赢得';我不理解UAC警告),·没有好的打包机制(MSI是脆弱的可憎之物),·没有系统范围的更新机制(包括第三方软件),··Windows极难调试,··Windows启动问题往往是致命的,无法解决,除非您从头开始重新安装,··Windows依赖于硬件(尤其是从UEFI运行),··SSD磁盘上文件系统碎片严重,··Windows更新极不可靠,还浪费磁盘空间等。

也许你已经听说过很多次Android,因此Linux正在征服整个世界,因为它运行在大多数智能手机上(确实是很小的专用计算机,但不是台式机),所以Linux正在征服整个世界,因为它运行在大多数智能手机上(确实是很小的专用计算机,但不是台式机)。然而,有两件重要的事情需要记住--首先,Android不是Linux(此外,您有没有看到有人在他们的台式机或笔记本电脑上运行Android?)。Android包含唯一的Linux组件-内核(而且,它是一个固定的旧版本(2016年为3.0.x、3.4.x或3.10.x),由谷歌单独维护和支持)。其次,Android不是桌面操作系统,它是用于手机、平板电脑和其他触摸屏设备的操作系统。所以,这篇文章不是关于Android的,而是关于Linux发行版和这些发行版(以下称为发行版)所包含的开源软件的大军。

清单上的绿色项目要么是部分解决的、不重要的、有问题的,要么是有变通办法的。

这份清单迫切需要重组,因为这里提到的一些问题很关键,而另一些则不是。作为一名用户,你很有可能永远不会遇到它们(如果你有合适的硬件,千万不要弄乱你的系统,只使用你发行版中相当有限的一套软件)。

如果您认为Linux是完美的,并且没有问题,请关闭此页面。

如果您认为任何对Linux的批评都只是无端辱骂Linux,请关闭此页面。

如果您认为这篇文章的目的是要说明Linux或Linux中的任何东西都无法正常使用,那么您就大错特错了,请关闭此页面。

如果您相信Linux和Linux用户在没有商业软件和游戏的情况下可以很好地工作/生活,请关闭此页面。

如果您认为我是来宣传Windows或Mac OS的,请关闭此页面。

如果你认为我是来散布关于Linux的谎言或诽谤的,请立即关闭这个页面,永远不要再回来。你到底在这里做什么?请回到火焰战和诽谤上来。

请记住,此列表的目的是显示Linux中需要修复的内容,而不是查找其中的故障。

(对于那些讨厌阅读长篇文本的人,下面有一个TL;DR版本)。所以Linux很烂是因为..。

硬件支持:视频加速器/​加速(另请参阅X系统部分)。太棒了!用于大多数笔记本电脑的NVIDIA Optimus技术在Linux上通常不能很好地工作。人们在屏幕撕裂、新内核发布等问题上苦苦挣扎。

太棒了!开放源码驱动程序存在某些问题,有时甚至非常严重(英特尔-!和AMD):!开源的NVIDIA驱动程序比其专有驱动程序慢得多(最多20倍),原因是电源管理不完整(这完全是NVIDIA的错误,它拒绝向Nouveau项目提供所需的固件)。

太棒了!开源NVIDIA驱动程序nouveau不能正确且完全支持电源管理功能和风扇速度管理(这主要是NVIDIA的错误所致)。

太棒了!专有的NVIDIA驱动程序有一个让您的GPU保持在最高性能水平的坏习惯,这会显著增加功耗,如果是移动用户,则会显著缩短电池寿命。NVIDIA在2017年7月就意识到了这个漏洞,虽然他们在2019年做出了改进,但这个问题仍然存在。

!!根据一位匿名的NVIDIA工程师的说法,几乎每一艘游戏船都坏了…。在某些情况下,我们谈论的是公然违反API规则的行为……。在驱动程序中已经有很多可选的补丁,它们可以根据每个游戏的设置简单地打开或关闭,然后是更特定于游戏的黑客攻击。有没有想过为什么几乎每个主要游戏版本都伴随着AMD和/或NVIDIA发布的匹配驱动程序?开源社区根本没有资源来实施类似的黑客攻击来修复损坏的游戏,这意味着至少对于复杂的AAA游戏来说,专有驱动程序仍将是唯一的选择。

太棒了!在支持非标准显示分辨率方面,Linux驱动程序通常比Windows/Mac OS驱动程序差得多(它们需要大量的修补工作,即手动配置),非常高(又名。HiDPI)显示分辨率或自定义刷新率。

太棒了!在Linux下,设置多显示器配置尤其是使用运行二进制NVIDIA驱动程序的多个GPU可能是一项主要任务。

(对于大多数用户来说不是问题,但仍然)NVIDIA GPU很可能永远不会支持GPU电压调谐,这意味着没有适当的超频或欠频来节省电能。

!!监控GPU参数的工具状态和可用性极差,如频率、电压和风扇曲线(类似于Windows中的MSI Afterburner或GPU-Z)、性能覆盖(FRIPS、RivaTuner Statistics Server)、录制游戏会话和流。

音频子系统:PulseAudio不适合多用户模式-是的,很多人共享他们的PC(未经测试的解决方案可以在这里找到)。

太棒了!没有可靠的回声消除(如果您使用正常的麦克风和扬声器,在很多情况下您将无法正常使用Skype和其他VoIP服务)。Windows、Android和MacOS在系统级别实现它。现在有一个针对PulseAudio的解决方案-希望将来默认启用它,或者/并且会有更简单的使用方式。

这很难说是交易的破坏者,但音频专业人士也想使用Linux:如果不使用控制台,通常不可能设置高清晰度音频支持(>;=96 kHz,>;=24bit)。

在大多数发行版中,默认情况下不包括或启用各种音频效果,如音量归一化。

打印机、扫描仪和其他或多或少的外围设备:仍然有许多打印机根本不受支持或仅勉强支持-有人认为用户应该在购买硬件之前研究Linux兼容性。如果用户在已经拥有一些硬件的情况下决定从Windows切换到Linux,该怎么办?当人们购买Windows PC时,他们会做什么调查吗?不,他们正确地认为一切都会开箱即用。

某些型号的扫描仪和(网络)摄像头仍然不受充分支持(同样,Windows驱动程序中的许多功能缺失),或者根本不受支持。

某些硬件的驱动程序不完整或不稳定。一些硬件的设置问题(如最新笔记本电脑、网络摄像头或Wi-Fi卡中的触摸板,例如,802.11ac和USB Wi-Fi适配器在Linux下几乎不受支持,在许多情况下它们根本无法使用)。许多人报告说,Broadcom和Realtek网络适配器在Linux下几乎不可用或完全不可用。

笔记本电脑、平板电脑、2合1设备等:不完全或缺少对现代笔记本电脑采用的某些节能功能的支持(例如PCIe ASPM、正确的视频解码加速、深度省电状态等)。因此,在Linux下,你不会获得与Windows或MacOS相同的电池续航时间,而且你的笔记本电脑会运行得更热。Jupiter(不幸停产),请参阅Linux高级电源管理。2018年7月19日编辑:如果您正在Fedora 28和Linux 4.17及更高版本上运行受支持的硬件,那么除了观看视频之外,Linux下的电源管理也一定非常出色(无论是在线还是离线:Linux中的视频解码加速仍然是一个非常可悲的故事)。

!!通常情况下,您不能在Linux中使用新的便携设备,因为对某些特性的适当支持实现得太晚了,发行版甚至更晚才获得这种支持。

笔记本电脑/笔记本电脑通常有不起作用的特殊按钮和功能(例如,FN+F1-F12组合或特殊省电模式)。

太棒了!当一些硬件在新的内核版本中莫名其妙地停止工作时,通常会在Linux内核中引入回归。我个人曾报告过两个严重的音频播放倒退问题,这两个问题都已得到解决,但是大多数用户不知道如何归档错误、如何平分倒退、如何识别有问题的组件。

软件支持:X system(当前Linux中的主要视频输出服务器):X.org对于现代PC和应用程序来说很大程度上是过时的、不合适的,甚至非常不安全。

没有高级的、稳定的、正常的(真正向前和向后兼容)和标准化的API来开发GUI应用程序(比如核心Win32 API-大多数Windows 95应用程序仍然可以在Windows10中正常运行--也就是24年的二进制兼容性)。GTK和Qt(不兼容的GTK版本1、2、3、4和不兼容的Qt版本4、5、6仅在过去十年中)都不会努力向后兼容。Qt公司还改变了他们工具包的许可模式,这使得在Linux下使用这个库成了问题。

太棒了!使用本地键盘布局的人的键盘快捷键处理已损坏(此错误已有15年历史)。

太棒了!如果你运行的是一个带有自定义分辨率的全屏应用程序,X.org不会自动在桌面分辨率之间切换--奇怪的是,一些Linux开发者反对在Linux上玩游戏的整个想法。但是,由于Linux不是游戏平台,也没有人对Linux作为游戏平台感兴趣,这个问题的重要性是值得商榷的。Valve已经发布了Steam for Linux,他们现在正在将他们的游戏移植到Linux上-但这只是杯水车薪。

太棒了!在应用程序退出时,X.org不会恢复Gamma(可感知为亮度增加)设置。如果您玩Valve/Wine游戏并遇到此问题,请在终端中运行`xGamma-1‘。您可以通过点击页面顶部的广告来感谢我;-)

太棒了!X.org允许应用程序独占地抓取键盘和鼠标输入。如果这类应用程序运行不当,您将拥有一个无法管理的系统,您甚至不能切换到文本终端。

太棒了!X.org中的键盘处理是被设计破坏的-当你有一个弹出式菜单或一个打开的菜单时,全局键盘快捷键/​键绑定不起作用(Qt)。

太棒了!对于VM应用程序,键盘处理不完整,向客户操作系统传递按键完全损坏。

太棒了!X.org架构本质上是不安全的--即使您在桌面会话中使用不同的用户(例如使用sudo和xhost)运行桌面GUI应用程序,该外来应用程序也可以捕获任何输入事件,还可以截取整个屏幕的屏幕截图。

太棒了!目前,X.org服务器没有永久存储和恢复用户更改的设置(xender设置、xv设置等)的方法。NVIDIA和ATI专有驱动程序都使用自定义实用程序来实现此目的。

!!X.org无法提供无催泪体验,只有当您在启用了vsync到空白的OpenGL模式下运行合成窗口管理器时,才能使用X.org。(=。

!!X.org不是多线程的。某些运行密集图形操作的应用程序可以很容易地冻结您的桌面(一个简单、容易重现的示例:在Wine下运行Adobe Photoshop 7.0,打开足够大的图像并应用复杂的过滤器-看到您的图形会话完全消亡,直到Photoshop完成其操作)。

太棒了!目前还没有办法在X.org下配置鼠标滚动速度/加速。一些小鼠模型在X.org下不规则滚动。

没有办法动态更换/​Upgrade/​降级X.org图形驱动程序(简单地说,就是重新启动X服务器,同时保留用户会话并运行应用程序)。

X.org服务器没有真正的安全模式(类似于KMS-请阅读下面的内容)。错误的配置和损坏的驱动程序可能会给你留下一个无法正常工作的系统,有时你无法访问文本虚拟控制台来纠正这种情况(2013年,这几乎成了一个问题,因为现在X.org经常不再驱动你的GPU-内核通过KMS来做到这一点)。

X.org在支持拼接显示器(例如4K显示器(Dell UP3214Q、Dell UP2414Q、华硕PQ321QE、精工电视等)方面完全不起作用)非常糟糕(对于旧的应用程序,IOW根本不起作用)。这是另一个架构限制。

太棒了!X.org下的快速用户切换(以及并发用户会话)的工作非常糟糕,而且是作为肮脏的黑客实现的:每个用户都会启动一个新的X.org服务器。可以在同一帐户下登录两次,但由于并发访问相同文件导致的错误而无法运行多个应用程序。快速用户切换最好在KDE中实现,其次是Gnome。相关问题:1)并发登录的用户无法访问相同的USB闪存驱动器。2)有报道称混音器音量设置存在问题。

韦兰:!!应用程序(或GUI工具包)必须实现它们自己的字体抗锯齿-没有用于设置系统范围字体呈现的API。大多数正常的高级窗口系统都是这样工作的-Windows、Android、MacOSX。在Wayland,所有客户端(阅读应用程序)都是完全独立的。

上述问题实际上是由于没有一个统一的图形工具包/API造成的(Wayland开发人员不会实现它)。唉,目前还没有人致力于让现有的工具包共享一个通用的设置字体抗锯齿、DPI缩放和窗口阴影的配置。至少在理论上这些问题可以很容易地解决,实际上我们已经有了三个独立的Wayland工具包(GTK3/Qt5/Enlightment)。

!!Wayland通过像素光栅化工作,这带来了两个永远无法解决的非常糟糕的关键问题:首先,忘记性能/带宽高效的RDP协议(它已经实现,但它的工作方式是发送大块屏幕的更新,即很像旧的效率低下的VNC),忘记OpenGL传递,忘记原始压缩视频传递。如果您感兴趣,所有这些功能都可以在Microsoft的RDP中使用。

!!Wayland不允许XWayland应用程序更改显示分辨率,这可能会使游戏运行速度变慢,因为合成器需要对每个游戏帧进行升级。此外,软件升级可能不是最佳选择。

!!屏幕共享目前还不能开箱即用(很可能在2020年修复)。

!!Wayland不允许应用程序独占抓取游戏和虚拟机等应用程序所需的鼠标/键盘。

!!Wayland缺乏发送远程输入的API,这使得Wayland不适合远程桌面操作。

!!同样适用于X服务器/协议:无论是X.org还是Wayland都不提供扩展/修改Window标题栏和文件打开/保存对话框的方法。这是一个非常强大的功能,在许多情况下都非常有用。同样,这是因为没有统一的工具包,也没有统一的窗口管理器(或协议)。

XWayland的刷新率被锁定在60 Hz--这实际上是一个严重的问题,因为大多数Linux游戏都使用X11协议。

Wayland应用程序不能在没有Wayland合成器的情况下运行,如果它崩溃,所有正在运行的应用程序都会死掉。在X.org/Microsoft Windows下没有这样的问题。

字体呈现(通过高级GUI库实现)问题:!开箱即用不能正确支持ClearType字体。即使现在支持ClearType字体呈现技术,您也无法正确调整它,因此Windows中的ClearType字体看起来很难看。

很多时候,默认字体看起来很难看,因为缺少好的(迎合LCD屏幕-亚像素RGB全提示)默认字体配置设置(这个相当不受欢迎的网站就有超过20%的访问者试图修复Linux中的坏字体(渲染))。

字体抗锯齿设置不能在许多DES下动态应用。除非我们有一个在所有Tooklit和桌面环境之间共享的高级GUI库,否则这个问题是不可能解决的。

Linux内核:!内核无法从视频、声音和网络驱动程序崩溃中恢复(我非常抱歉将其与Windows Vista/7/8/10进行比较,在Windows Vista/7/8/10中,此功能已经实现了很长时间,并且在很多情况下都运行得很好)。

KMS独占抓取视频输出并禁止VESA图形模式(因此不可能在运行中切换不同版本的图形驱动程序)。

!!KMS没有安全模式:有时KMS无法正确初始化您的显示器,您的系统完全无法访问(内核选项Nomodeset可以拯救您,但它会阻止KMS驱动程序工作-因此,要么您有80x25文本控制台,要么您的显示器完全死机)。

传统的linux/unix(ext4/​Reiser/​xfs/​jfs/​btrfs/等)。文件系统在大容量介质存储上使用时可能会出现问题。

文件描述符和网络套接字不能强制关闭-在没有先卸载的情况下移除USB棒确实是不安全的,因为这会导致陈旧的挂载点,在某些情况下还会导致OOPS和崩溃。出于同样的原因,您不能修改分区表,也不能动态调整/移动根分区的大小。

在大多数情况下,如果您正在运行X会话,内核崩溃(=死机)是不可见的。此外,KMS防止内核切换到普通的640x480或80x25(文本)VGA模式来打印错误消息。作为。

..