标签 Wayland 下的文章

你无需在 Wayland 上放弃使用 Shutter!

哎,我一直在担心有一天我得切换到只支持 Wayland 的 Linux 发行版,结果发现 Shutter 不工作。

它是 Linux 中用于捕捉和编辑 屏幕截图的最佳工具 之一,我每天都会使用它来为这里和其他地方的工作捕捉各种截图。

我知道 GNOME 的屏幕截图工具已经有了很大的进步,但是就像人们所说的,“旧习难改”。所以,当我发现有一种方法可以在所有的 Wayland 上运行 Shutter 时,我自然是相当兴奋。

请跟随我一起了解这个精彩的开源项目。这个项目由一位热心的 Shutter 爱好者发起,他的目标就是让 Shutter 能在配备 Wayland 的发行版上顺利运行。

在 Wayland 上使用 Shutter:有何期待?

这个项目由来自意大利的 IT 开发者 Maurizio 发起,他热衷于 Linux,因为他不能接受 Shutter 无法在他的 Ubuntu 系统上正常运行,因此这个项目应运而生。

因此,他复刻了 Shutter 的代码仓库,并利用 GNOME 的屏幕截图工具 的命令行工具进行开发,同时尽力保持用户界面和以往的操作习惯不变

如下图所示,这个项目与你从 Shutter 那里期待的体验几乎无二,你可以在界面上发现所有熟悉的选项。在运行着 Ubuntu 23.10 的虚拟机上用这个工具截图时,我并未感到有什么两样。

我还发现,按只截图窗口或选取特定区域也变得容易了。只是那个通常用来截图特定窗口或桌面的下拉菜单似乎并未起到应有的功能,反而变得有点挪作他用。

? 这是我在 Ubuntu 23.10 的 Wayland 上进行选区捕捉的结果。

如果你想截图你系统中特定的桌面空间,你需要切换到那个桌面,使 Shutter 转到同一屏幕,然后使用“ 桌面 Desktop ”选项进行截图。

对于只截图窗口也是类似,只要将应用和 Shutter 切到同一屏幕,使用“ 窗口 Window ”选项就能够截取窗口的截图。

至此已经足够了。我真心期待 Shutter 的开发更上层楼,希望我们能看到此类改进被融入原有的项目中。

? 如何下载运行于 Wayland 的 Shutter?

在开始下载和安装之前,请确保你已经彻底卸载了你之前安装的任何版本的 Shutter。

接下来,你有两种获取这个 Shutter 变体的方法可选。第一种方法是直接访问它的 GitHub 仓库,下载提供的 “.deb” 文件。

在 Wayland 上的 Shutter(GitHub)

而我更为推荐的是第二种方法,尤其适用于 Ubuntu 23.10 或者更高的版本,因为它可以自动处理所有的依赖关系。你只需要运行以下的命令即可:

setfacl -m u:_apt:rx .
wget https://github.com/mvivarelli/shutter-on-wayland/raw/master/shutter-on-wayland_0.99.4-6_all.deb
sudo apt -f install ./shutter-on-wayland_0.99.4-6_all.deb

如果安装后你在启动 Shutter 时遇到了卡顿或者延迟的问题,那么你可以通过重启你的系统来解决此类问题。

? 对于这个项目,你有什么样的想法呢?你会考虑使用它吗?


via: https://news.itsfoss.com/shutter-wayland-linux/

作者:Sourav Rudra 选题:lujun9972 译者:ChatGPT 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

LCTT 译注:之前翻译发布的《Wayland 真的毁掉一切了吗?》引来了很多讨论,为了使讨论更全面,我也将该文所反驳的原文也翻译过来,供大家参考。

如果你希望现有的应用程序能够“顺利运行”,而不需要做调整,那么你可能更愿意避免使用 Wayland。

Wayland 并没有解决我遇到的问题,但却破坏了我几乎需要的一切。甚至是最基本、最简单的事情(如 xkill) - 在这种情况下没有明显的替代品。通常,它会保持破坏的状态,因为 Wayland 的人员似乎主要关心的是 Automotive、Gnome,也许还有 KDE - 并在此过程中忽视了其他人,比如那些只使用 X11 窗口管理器或 GNUstep 的人。

Wayland 的支持者们让人们觉得 Wayland 是 Xorg 的“继任者”,但事实上并非如此。它只是一个不兼容的替代品,并且甚至没有(也不打算)具有对等的功能(存在 功能缺失)。不像 X11(X 窗口系统),Wayland 协议设计者们积极避开“窗口”的概念,而是编造出让人无法理解的词语,如 “xdg\_toplevel”。

不要使用 Wayland 会话! 不要让 Wayland 毁掉一切,然后让其他人修复它造成的破坏。或者强制让每个人更多地使用红帽或 Gnome 组件(glib、Portals、Pipewire)!

Wayland 似乎是由那些对已有软件毫不关心的人创造出来的。他们以为每个人都乐于重写所有东西,或者只使用 Linux 上的 Gnome(而不是,NetBSD 上与 ROX Filer 搭配使用的 twm 之类)。

补充:当我写下上述内容时,我并没有真正意识到 Wayland 究竟是什么,我只是注意到一些发行版(如 Fedora)开始推送它给我,并在我开始使用后发现了一些问题。现在我明白了实际上你不能“安装 Wayland”,因为与 Xorg 不同,并没有一个“Wayland 显示服务器”,每个桌面环境都有自己的“显示服务器”。也许 “Wayland 的开发者们” 关心的并不只是 Gnome,但任何在 Gnome 的 Wayland 实现中的修复并不能自动地惠及所有的 Wayland 软件用户,也许他们也不会推荐这种实现。

2023 年 12 月再次补充:如果有什么东西想要替代桌面电脑(比如专业 Unix 工作站)的 X11,那么它最好支持用于那种场景的所有需要的功能(以及关键概念,如窗口)。那些人们的冰箱上也有显示器在这种讨论,在此并不重要。我们需要提出 缺失的 Wayland 协议 以实现与 X11 的全面功能一致性。

Wayland 的设计本身就存在问题

  • 一旦窗口管理器出现崩溃,所有正在运行的应用程序都将被迫停止。
  • 你无法以 root 用户的身份运行应用程序
  • 设计上的限制使你无法执行在 Xorg 中可以实现的众多功能
  • 没有一个被所有人所使用,且与桌面环境无关的 /usr/bin/wayland 显示服务器应用程序(这与 Xorg 不同)
  • 它将大量的工作都推给了窗口管理器。结果就是,在不同的窗口管理器中,相同的基础功能可能会有不同的实现方式,存在不同的表现和问题——也就是说,那些在桌面环境 A 中正常运行的可能在桌面环境 B 中并不适用(例如,你经常会听到有人说某个功能 “在 Wayland 上能正常工作”,但是实际上它只能在 Gnome 和 KDE 上正常运行,而不能在所有的 Wayland 实现上运行)。这个问题在以下的链接中得到了很好的总结:https://gitlab.freedesktop.org/wayland/wayland/-/issues/233

Wayland 造成破坏的情况

下面列出了许多这种破坏情况,译者不打算详细列出细节(可在原文处查看)。这些人们补充的 Wayland 造成破坏的情况有:

  • Wayland 影响了屏幕录制应用的正常运行
  • Wayland 影响了屏幕共享应用的正常运行
  • Wayland 影响了自动化软件的正常运行
  • Wayland 影响了 Gnome-Global-AppMenu(Gnome 的全局菜单)的正常运行
  • Wayland 破坏了与 KDE platformplugin 的全局菜单链接
  • Wayland 影响了与非 KDE Qt platformplugins 的全局菜单正常运行
  • Wayland 影响了那些没有提供特殊 Wayland Qt 插件的 AppImage 的运行
  • Wayland 影响了 Redshift 的正常运行
  • Wayland 影响了全局快捷键的正常使用
  • Xfce 在 Wayland 下可能无法正常工作?
  • Wayland 在英伟达硬件上可能无法正常工作?
  • Wayland 在英特尔硬件上表现异常
  • Wayland 偏向 Linux,影响了 BSD 的正常运行
  • Wayland 复杂化了服务器端窗口装饰的处理
  • Wayland 影响了窗口自我提升 / 激活的功能
  • Wayland 影响了 RescueTime 的正常工作
  • Wayland 影响了窗口管理器的正常运行
  • Wayland 需要 JWM、TWM、XDM、IceWM 等重新实现类似 Xorg 的功能
  • Wayland 影响了 \_NET\_WM\_STATE\_SKIP\_TASKBAR 协议的正常使用
  • Wayland 影响了 NoMachine NX 的正常运行
  • Wayland 影响了 xclip 的正常使用
  • Wayland 影响了 SUDO\_ASKPASS 的正常工作
  • Wayland 影响了 X11 atoms 的正常使用
  • Wayland 影响了游戏的正常运行
  • Wayland 影响了 xdotool 的正常使用
  • Wayland 影响了 xkill 的正常工作
  • Wayland 影响了屏保的正常显示
  • Wayland 影响了窗口位置设置的准确性
  • Wayland 影响了色彩管理的正确性
  • Wayland 影响了 DRM 租赁的正常流程
  • Wayland 影响了家庭内流媒体的正常播放
  • Wayland 影响了 NetWM 的正常工作
  • Wayland 影响了窗口图标的正常显示
  • Wayland 影响了拖放功能的正常使用

解决方法

对于用户:可以避免使用 Wayland 会话,或者卸载那些只提供 Wayland 会话的桌面环境或 Linux 分发版。同时,也可以尽量避免使用只适用于 Wayland 的应用,比如 PreSonus Studio One(可能的解决策略:在 https://github.com/cage-kiosk/cage 中运行此类应用)。

对于应用开发者:可以采取措施强制在 X11/Xwayland 上运行应用程序,就像 2023 年 11 月的 LibrePCB 所做的一样。

强制用户习惯 Wayland 的实例

这种情况正是本文想要警告和避免的。

参考资料

(题图:DA/fbfad36b-baba-4237-aceb-c86b99ef379b)


via: https://gist.github.com/probonopd/9feb7c20257af5dd915e3a9f2d1f2277

作者:Probonopd 译者:ChatGPT 校对:wxy

Wayland 毁掉一切!”有些人已经看过了这篇 Probonopd 批评 Wayland 的略有名气的文章。Probonopd 是 AppImage 开发者的核心者之一,他批评 Wayland 并非 X11 的直接替代品。他在 GitHub 上创建了一个 新的仓库,再次吸引了公众的目光,他希望为目前 Wayland 原生应用无法使用的功能创建协议。而这些功能是 Wayland 标准协议有意缺失的,但缺乏标准化意味着它们无法成为应用开发者可信赖的平台组成部分。

尽管开发者圈子里有人对此一笑置之,乃至嘲笑,但对于普通人来说,“Wayland 毁掉一切!”这句指责可能戳中要害,或者至少看起来有几分道理。因为从某种角度,Probonopd 是对的:Wayland 确实破坏了所有直接依赖 X11 功能的事物!

只是这种角度是错误的。

试想,如果我说:“Linux 让 Photoshop 无法工作,你还是应该坚持使用 Windows!”你该如何回应呢?你可能会说:“等等,问题的关键是 Photoshop 不支持 Linux!”你说得对,这是一个微妙且重要的区别,它将责任放在了正确的位置。因为即使是 Linux,也无法“不破坏” Photoshop;相反,Adobe 需要为其产品进行移植,只不过他们还没有做罢了。

对于 X11 和 Wayland,情况也同样适用。Wayland 并不是为了取代 X11 而设计的,就像 Linux 不是为了取代 Windows 而设计的一样。当我们从一个操作系统转到另一个时,有必要调整我们的期望,认清可能需要的改变。

尽管 Wayland 并非设计为 X11 的直接替代品,但它最终肯定会取代 X11。但这意味着它从一开始就打算比 X11 做得更少,而这是正确的。

X11 是个糟糕的平台

在那些古老的日子里,X11 是个完整的开发平台。以 X11 为目标的应用程序可以使用 X11,通过内建的小部件工具包来进行 UI 绘制;借助自带的打印服务器打印文件;进行屏幕录屏;设定全局快捷键等等。这一切都远在我接触技术之前,但我感觉到,X11 要么是在最初就被设定为面向应用开发者的开发平台,要么在早期阶段迅速演变成了这样一个平台。

然而,情况并没有如预期那样发展。即使是以当时的标准而言,其内置的 UI 工具包看起来也很丑陋。那些请求同一资源的应用可能会互相冲突,破坏彼此的功能,除非卸载其中一个应用程序,否则根本无法修复。像打印这样的特性渐渐没落,因为将这样的功能放在窗口管理器里就是个错误,而后续的维护者也缺少必要的专业知识或兴趣去维护它。诸如此类,不一而足。

像 Qt 和 GTK 这样的 UI 工具包迅速崛起,以更适合用户和便于应用开发者定位的方式,接管了大多数此类应用平台程序的中间件职能。我们这里说的是九十年代中期,那已是相当久远的时代了。

(当然,这样说可能有些不公平;人们抱怨 Wayland 缺少的其实并不是打印服务器。实际上,更多的是关于应用能否设置自定义窗口图标,以及移动自身的窗口。这些都是非常困难的情况;Wayland 上没有这些功能,理由就是这些功能在 X11 中被滥用,导致了难以解决的问题。要将这些功能移植到 Wayland 并非易事,涉及很多的权衡决定。)

Linux 并非一个平台

然而,UI 工具包的兴起无疑导致了应用程序的格局变得支离破碎。现在,FOSS 应用程序开发者不再为一个目标(X11)进行开发,而是为 Qt、GTK 或其他工具进行开发,从而我们看到了了大量的“KDE 应用” 和 “GNOME 应用”。是的,这些应用可能在其他平台里也能运行,但很明显,它们是在哪个平台和工具包上开发的,在哪个平台和工具包上运行效果最好。在其他平台运行时,它们可能看起来感觉很奇怪,或者某些功能可能不好用或根本无法使用。

这就是我们今天的现状。没有人会专门去编写一个 “X11 应用”;他们的应用可能会采用 X11 的某些特性,但这只是因为没有更好的替代方案,而实际上,在应用的 99.9% 的功能实现中,他们会选择 Qt、GTK、KDE Frameworks 或者其他相似工具。

这给我们带来了一个潜在的棘手问题: Linux 也不是一个真正的平台,在成为一个平台方面它并不比 X11 更成功。因为几乎没人会专门编写一个“Linux 应用”;直接调用原始的 Linux 内核系统通常是没必要的,因为无论你使用的是什么 UI 工具包,都会封装这些功能,并且将其抽象到工具包所支持的所有各种平台上。这样一来,工具包就能确保这些功能在 Linux 平台也都能顺利工作。

真正的平台

那么,对于跨桌面的互操作性而言,所有希望都已经破灭了吗?不,实际上现在的前景比以往任何时候都要美好!因为如今事实上出现了一个新兴的平台;如果你需要,它可以将各种应用工具包都抽象化。我说的是 Portals、PipeWire,以及 Wayland 协议。

Probonopd 认为这些都是附加组件,不应该在系统上运行,但我认为他的这种观点并不站得住脚。提供全面功能的单体窗口服务器模式在几十年前就被证明是失败的。取而代之的是库和 API,每个 FOSS 开发者都可以合理预期在现代系统运行这些。

门户系统提供了一种标准化的方法,用于展示平台原生的打开或保存对话框、发送通知、以其他应用打开文档、打印文档、拍摄截图、录制屏幕、处理拖放操作、查看用户当前主题是亮色还是暗色,等等。在很多功能的实现上,门户系统都倚赖于 PipeWire,因此你可以预期 PipeWire 也会被安装。同时,你也可以期待大部分 Wayland 合成器 — 尤其是两个最重要的合成器 KWin 和 Mutter — 支持几乎所有公开标准化的 Wayland 协议。

我认为这就是平台:Portals + Wayland + PipeWire。很明显,并没有一个好记的名字来囊括这一切。? 或许我们可以叫它 PW 2。不过,如果你的应用程序以这些平台为目标,那么它几乎可以在所有现代 Linux 系统上运行。并且,Qt 和 GTK 这两个大型的 FOSS 工具包都为此提供了全面的支持。所以,使用你喜欢的任何 UI 工具包都可。

为何是现在?

我们最近听到越来越多关于这个话题的讨论,因为这个转型正在加速发展。X11 的维护者已经宣布终止对其的维护,而 Plasma 则开始默认采用 Wayland,GNOME 也是如此。Fedora 甚至完全放弃了对 X11 的支持。

我们现在正处于这样一个阶段,那些以前从未考虑过这个问题的人开始思考,并意识到他们的特定使用场景所需的所有组件都还没有到位。可这其实是好事!他们的意见被听取了,变化就有可能发生。我希望这一切能早点发生,但我们也要承认现实,我们还在路上,最近围绕远程控制、色彩管理、绘图板以及窗口布局等方面的提案和工作非常频繁。可能会有一个尴尬的阶段在等我们,直到所有需要的部分都到位。对于那些由于关键遗漏而备受困扰的人,我建议他们继续使用 X11,直至问题解决。没人会去阻止你(嗯,除了 Fedora,所以如果你确实无法适应,那就不要用 Fedora ?)。探索新事物应该是充满乐趣的,如果不是这样,那就转换一个角度再尝试吧。

结语

在这个语境下,“毁掉一切”或许可以更准确地表达为“还没完全移植所有事物”。这种移植是必要的,因为 Wayland 设计的目标聚焦于未来,而未来并不完全兼容我们过去所做的一切,因为事实证明,其中很多东西已经没有意义了。对于那些有意义的东西,我们已经提供了一个兼容层(XWayland),同时,任何需要深度系统集成的部分,一般都有一个解决的路径(如 Portal、Wayland 协议以及 PipeWire)或者正在积极的研发中。整个世界,都在发生变化!

(题图:DA/d5a50347-47e0-472f-833b-58203196a743)


via: https://pointieststick.com/2023/12/26/does-wayland-really-break-everything/

作者:Nate Graham 译者:ChatGPT 校对:wxy

Cinnamon 6.0 与 Wayland 会话听起来很有趣!

Cinnamon 成为出色的 Linux 桌面环境 有很多原因,Linux 社区喜爱 Linux Mint 部分归功于它。

它提供的用户体验和 定制 Cinnamon Desktop 的各种方法 吸引了用户。

现在,这个桌面环境升级了,Cinnamon 6.0 来了。那么,让我们来看看吧。

Cinnamon 6.0:可以期待什么? ?

Cinnamon 6.0 on Wayland

Cinnamon 6.0 的一大亮点就是Wayland。这项功能 酝酿 已久,现在作为实验支持出现。

从 Linux Mint 21.3 开始,你可以从登录屏幕切换到 Wayland 会话。

除了人们可能期望从 Wayland 获得的通常的细节之外,似乎还有对分数缩放的实验性支持,这一点从该版本的“添加缩放监视器帧缓冲区”提交中可以明显看出。

不过,开发人员已澄清,Wayland 尚未取代 Cinnamon 上的 X11。因为他们对 Wayland 的实现有其局限性,甚至缺乏一些功能。

但是,这只是一个起点,开发人员预计 Wayland 支持将在 2026 年之前完全准备就绪,也就是 Linux Mint 23.x 预计发布的时间。

? 你可以从登录屏幕在默认 Xorg 会话或 Wayland 会话之间切换。

继续,此版本还有其他更改!

例如修复电源小程序电池状态X11 的改进支持 AVIF 图像通知屏幕的新选项颜色选择器支持截图工具等等。

你可以浏览 变更日志 以了解有关 Cinnamon 6.0 的技术改进的更多信息。发布公告发布后,我们将在此处链接。

有趣的是,许多 Linux 发行版(比如 elementary OS)都在努力将默认设置过渡到 Wayland。

但是,Cinnamon 的开发人员正在采取一种相当谨慎的方法,以确保在 Cinnamon 默认切换到 Wayland 之前,他们的 Wayland 实现已经完全就绪。

? 获取 Cinnamon 6.0

好吧,如果你想在 Linux Mint 上运行它,则必须等到今年晚些时候,Linux Mint 21.3 “Virginia” 发布,其中包含 Cinnamon 6。

对于那些等不及的人,你可以从官方 GitHub 仓库 下载源代码 tarball,并手动安装。

Cinnamon 6.0(源代码)

? 你对 Cinnamon 6 提供的功能感到兴奋吗?


via: https://news.itsfoss.com/cinnamon-6-0-release/

作者:Sourav Rudra 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

1 Ubuntu Budgie 准备转而采用 Xfce

去年一月,有报道称,Budgie 桌面计划从基于 GNOME 转向 Enlightenment。但最近,Budgie 项目负责人称,Budgie 桌面希望构建一个纯 Wayland 环境,但由于 Enlightenment 对 Wayland 的只是还只是“实验性”的,因而该开发团队将与 Xfce 开发人员合作,为 Budgie 的 Wayland 未来而努力。

消息来源:The Register
老王点评:虽然我一直不批评 Linux 桌面到处在造轮子,但是目前看起来,无论是 GNOME、Enlightenment,还是 Xfce 都有各自的问题。

2 KDE Plasma 的 Wayland 支持仅剩一个阻碍

KDE Plasma 6.0 的功能冻结很快就会到来,Plasma Wayland 支持的三大阻碍也即将全部清除。在本周的改动中,在 Plasma Wayland 会话中重启或关闭系统将导致未保存更改的应用程序提示用户保存,而不是立即退出。这是 KDE 的最后三个 Wayland 问题之一。目前只剩下一个阻碍:并非所有的粘滞键选项都能正常工作,该问题也将很快解决。

消息来源:Phoronix
老王点评:怎么感觉,一夜之间大家都纷纷快速逃离了 X11 了?

3 PHP 8.0 生命终结

与所有软件一样,PHP 也有一个稳定的开发周期,以便解决新功能、错误和安全问题。2023 年 11 月 26 日,发布于三年前的 PHP 8.0 版本将终止支持,安全问题将不再得到修补。而前几天,PHP 8.3 刚刚发布。8.4 正在开发中。

消息来源:PHP
老王点评:别说 8.0 ,用更老版本的有没有?

微软的人工智能投资稳定了其云业务

据报道,微软在生成式人工智能方面的投资开始促进销售,最明显的是扭转了公司重要的云计算产品增长放缓的趋势。微软向推出了 ChatGPT 的 OpenAI 建立了合作伙伴关系,并向其投资了 130 亿美元,因此微软被许多公司视为领先的人工智能供应商。财报显示,微软的旗舰云计算产品 Azure 增长了 29%,高于上一季度的 26%。微软 CEO 称,超过 1.8 万家企业正在使用微软的 Azure OpenAI 服务,这其中包括以前没有使用过 Azure 的客户。但是,虽然微软在必应搜索引擎中集成了人工智能驱动的聊天机器人,但 “没有证据” 表明必应的搜索市场份额有实际增长。

消息来源:《纽约时报》
老王点评:操作系统业务不好时,投资云计算;云业务缺少增长点时,投资人工智能。

苹果推出了三年的私人 Wi-Fi 一直未能隐藏地址

如果设备在所有网络中始终使用相同的 Wi-Fi MAC 地址,该地址就很容易与设备的网络活动和位置联系起来。私人 Wi-Fi 地址旨在通过为每个不同的 Wi-Fi 网络生成不同的 MAC 地址来避免这种跟踪。但苹果从 2020 年 9 月推出该功能以来,一直未能真正隐藏 MAC 地址,原因是与苹果 Bonjour 网络协议相关的 mDNSResponder 进程存在漏洞。安全专家发现,当 iPhone 加入一个网络时,它会发送组播请求以发现网络中的 AirPlay 设备。在这些请求中,iOS 会发送设备的真实 Wi-Fi MAC 地址。

消息来源:The Register
老王点评:百密一疏,隐藏了三年的 MAC 地址,其实一直在偷偷泄露。

Linux Mint 将获得 Wayland 试验性支持

Linux Mint 是最后一个仅支持 X11 的重要 Linux 桌面之一,它正开始发生变化。计划于 2023 年圣诞节发布的 Linux Mint 21.3 将是第一个提供 Wayland 会话的 Linux Mint 发行版,但还处于试验状态,其默认会话仍将是 X11 会话。开发者认为 Linux Mint 在 2026 年 23.x 发布之前,不需要 Wayland 支持。“Wayland 会话不会像默认会话那样稳定。它将缺少一些功能,也有自己的局限性”,也就是说还需要几年的时间来完善。

消息来源:9to5linux
老王点评:从反馈来看,全面迁移 Wayland 确实在很多方面都没做好准备。