Guide:Linux的完整Wayland设置

2021-03-11 02:43:06

本文是在Arch Linux上实现全部不可能的Wayland设置的指南。如果您遵循整个指南,最终将有:

您还将学习如何确认应用程序是否在旅途中运行,并将意识到Xwayland和仍需要正确运行的主要程序。虽然本指南记在拱门Linux中,但它应该适应您运行的任何品牌的Linux。享受,祝你好运!

注意:您可能希望在持续之前在手机或第二台计算机上打开本指南,因为我们需要在整个次数多次重新启动窗口管理器。

Hayland是Linux的下一代显示协议。你可能听说过" x" (或" x11"或" xorg"),但您可能没有知道其问题:年龄,性能,安全和开发友好。即使是Adam Jackson,X的长期发行经理也会呼吁采用Hayland。也就是说,X是完善的,过渡赢得了' T夜间发生。 Linux系统上的许多核心应用程序紧紧绑定到其生态系统:

但是,您可能会感到惊讶地知道您几乎肯定已经安装了Wayland。

> pacman-qi waylandname:Waylandversion:1.19.0-1description:一个计算机显示服务器协议:x86_64url:https://wayland.freedesktop.org/licenses:mit#...等

幸运的是,对于我们来说,Linux生态系统'过渡到Wayland的过渡一直在稳步前进。 GTK和QT等主要GUI框架完全支持它。默认情况下,Ubuntu 21.04将与Wayland运行。但无需等待主要发布会移动:我们今天可以跳到Hayland。

您应该知道没有一些主要应用程序,其中不到(或赢得' t orcan' t)支持wayland。像这样的程序仍然可以通过名为Xwayland的孤立的X实例来在Wayland环境中运行。这意味着向Wayland的过渡可以逐步:你赢了'丢失了你仍然需要的旧节目。

在我们继续前进之前的最后一篇好消息:在Wayland,你不需要像Picom或Compiz这样的Compositor程序,' s与窗口管理器分开。翻译?移动部件较少,管理的配置较少,终端透明度只能作用!

在ARCH Linux上,运行以下命令以安装您的所有内容' ll需要指南和通用WATHAND兼容性的主要部分:

QT5-HAYLAND和GLFW-HAYLAND分别为QT5和GLFW提供WAYLAND API兼容性。 XEYES在下面解释。

在Hayland中,应用程序被监禁,无法检查其他窗口的UI状态(例如,鼠标位置)。这不是x真的,因此xwayland不是真的。 Xeyes是一种可笑的程序,我们可以使用来探测Xwayland运行的Windows。它的眼睛会追随你的鼠标,但只有x窗口。

据x知道,你的鼠标只是"去了"什么时候不在Xwayland窗口上。

摇摆是一个平铺的窗口经理和I3的替代品。就像它的灵感一样,它也写在C中,因此非常快,资源开销很少。虽然摇摆可以读取i3配置(即您的/home/you/.config/i3/config),但我建议以空白的slate开头,然后按照需要复制特定绑定。

现在退出任何桌面环境/窗口管理器您'重新进入,并下拉到基本的登录终端。从这里,运行摇摆并摇摆应开始。恭喜,你'重新运行的wayland!

嗯,'不是太早庆祝。您可能习惯于在.xinitrc中的execi3中的行,然后用startx启动x。不再!从这里,一切都在我们的摇摆配置中发生。说到哪些是以下一些亮点。

这是我的完全摇摆配置。否则,摇摆主要记录在其男页中。如有疑问,请先检查它们。如果这失败,您也可以咨询Sway Wiki。

以下是您' LL立即需要的一些有用绑定,但稍后可以自由更改:

我有两个显示器:我的笔记本电脑到我的左边,我的正确监视器直接在我面前。让我的鼠标在监视器边界上自然移动需要以下内容:

在确定用于第二监视器的适当偏移(第二行中的1280)有一些数学涉及。有关更多信息,请参阅Man Sway-expute。您可以使用swaymsg -t get_outputs查看所有监视器的官方名称和可用分辨率。

I3-差距是一个流行的I3变体,允许在Windows之间的间隙。幸运的是,此功能已包含在摇摆中,并且可以通过在摇摆配置中添加以下某处来激活:

#每个窗口周围的10像素边框。空白内部10#删除每个窗口的标题栏。 default_border pixel 3.

您需要退出一次摇摆一次并将其从登录终端重新运行,以便更改生效。

虽然尚未集成在我自己的配置中,SetWall可用于设置随机背景图像:

Alacritty是一个伟大的现代终端仿真器,具有窗程默认值。使用Super + Return打开新终端时,它也是默认的摇摆。我多年使用了Urxvt,但最近切换到Alacritty后,我刚刚离开了一些问题。

我对Alacritty且默认配置的唯一改变的是后台透明度。在/home/you/.config/alacritty/alacritty.yml:

摇摆的默认栏非常好,但是方式解锁了更多的定制性。它也是"只是作品"在多个监视器上,与需要自定义脚本的PolyBar不同。

要使用WayBar而不是默认条,请在摇摆配置结束时注释出栏部分,并在其位置添加以下位置:

Waybar Wiki有很多示例配置,这里是我自己的自定义CSS样式。酒吧本身是透明的,右上方的小部件和托盘看起来像这样:

在调整Waybar Config后,它足以通过Super + Shift + C刷新摇摆,也可以刷新您的Waybars。

默认情况下,摇摆使用DMENU进行开放程序,但令人惊讶的是其UI在Xwayland运行。有许多替代方案可用,我选择了WOFI。

这是我解决的样子,但自''自由地尝试!请注意,您' ll需要以下摇摆配置:

有一些不同的提示模式。 Drun仅匹配并显示"桌面&#34的程序的命中;在您的机器上的某个地方参与,而不是您路径上的一切。事实上,没有这样做可以具有性能问题并且是一个已知的问题。

大多数应用程序,如果在GTK或QT上运行,则拥有自动的Wayland支持,并且不需要进一步配置。一些特定的程序需要调整,我们' LL地址下面。

许多当前资源声明您需要设置的GTK和QT特定的环境变量,以便他们使用HADLAND,但我发现这不令人兴奋。

关于:Firefox中的支持页面具有标题为窗口协议的字段,告诉我们它通过哪种协议运行。如果仍然在x11上,这个字段会说x11。如果通过摇摆没有下面的调整,你应该看到Xwayland。与XEYES的快速测试也应该揭示Firefox ISN' T但是通过Hayland自然地运行。让'解决这个问题。

将moz_enable_wayland环境变量设置为1.我放在我的鱼类配置中(其他shell的用户需要类似的东西):

退出摇动并完全退出一次。一旦重新登录并重新开放,此变量也应该传播到重要的地方。现在,如果您通过WOFI再次打开Firefox并查看:支持,您应该发现:

是的,曾经是真的。截至2021年初,emacs可以用"纯gtk"内部,使它完全是Haydand兼容。此功能将在EMACS 28中提供(截至本文的撰写未发布),但幸运的是,探析了Hayland Development Branch并填写了预构建的二进制文件。我们可以使用像Aura这样的工具安装它:

请注意,此包提供:Emacs,因此它将取代您安装的任何其他Emacs包。

质子游戏喜欢美国工作的工作,因为它们在一个高度调整的葡萄酒/依赖环境中运行,所以已知每个游戏工作。在我们中,在摇摆中窗口大小和搬迁良好。

对于像底栖(旧的),三星2(图形沉重)和桌面模拟器(现代工具链)这样的原生游戏,我必须将环境变量SDL_Videodriver设置为X11。否则他们无法正常开始。来自拱维基:

注意:许多专有游戏都与旧版本的SDL捆绑在一起,这会使Notsupport Wayland并列如果您设置SDL_VIDEODRIVER = HAYLAND,则可能完全突破。

如果你不想强迫所有SDL用法到X11,你不必。 Steam允许我们每场比赛设定特定的环境变量。要设置此操作,请右键单击游戏,访问其属性。一般>启动选项,输入以下内容,您的游戏应运行:

键入时,我使用Colemak布局,因此我在我的摇摆配置中有以下内容:

不幸的是,似乎有一个奇怪的错误,布局将突然将在某些窗户中突然切换回qwerty。我注意到以下症状:当终端打开时,左侧最XWayland窗口将切换回QWERTY。我在这两种方式上发现了两种方式:

摇摆非常接近具有用于切换输入方法的一流支持(请参阅摇摆#4740,摇摆#5890和摇摆#4932)。目前,这里是通过DBUS工作的设置,使我们能够在除了Alacritty之外的所有Wayland和Xwayland Windows中更改方法和键入日语。

希望您现在在Waybar托盘中看到一个键盘图标。要配置FCITX5,请打开Fcitx5-ConfigTool。这是我的设置:

你'我会看到我专门将我的英文键盘设置为Colemak,并从右侧的列表中添加了Mozc。选中“全局选项”选项卡以设置方法切换钥匙绑定。之后,点击应用,您现在应该能够切换输入方法和键入日语。如果钥匙绑定不起作用,您还可以通过单击“线栏托盘”中的图标切换方法。

在Firefox和Chromium中的屏幕共享可以通过管道和一些帮助程序包,尽管目前我们只能共享整个屏幕而不是单独的窗口。要继续,请先安装以下软件包:

让'首先使用mozilla' s gum测试页面测试Firefox。当浏览器提示您输入窗口选择时,选择“使用操作系统设置:

对于铬,我们需要激活一个特征标志,以允许铬与管道交谈。首次访问Chrome://标志,然后查找并启用WebRTCPipeire支持功能。它'它!

Digial Art Program Krita是一个在QT5中运行的精彩应用程序,但由于某些硬件支持的原因(对于Styli等)而言,它会导致Notsupport Wayland,因此总是在Xwayland运行。

电子应用(Discord,Slack,Signal,Vscode)始终在Xwayland运行,但Wayland支持最近登陆了12版。一旦应用程序赶到最新的电子,我们应该得到Wayland支持"免费" 。在那之前,像Discord这样的应用中的屏幕共享只会为其他Xwayland应用程序工作。