我正在运行一个非常新安装的蓝鳍金枪鱼基于 Fedora Silverblue 原子桌面,使用 Wayland 的 GNOME shell,以及大部分 Flatpak 应用程序。(值得一提的是,我最近将桌面从 Windows 迁移到了 Linux,因此虽然对 Linux 命令行半熟练,但我还没有学会 Linux 桌面的所有复杂之处)。
当我在拖放操作中尝试使用 Alt+Tab 切换窗口时,遇到了两个非常烦人的问题:
问题 1:在进行拖放操作时使用 Alt+Tab 会跳过窗口: 当使用 Alt+Tab 正常切换应用程序时,一切都按预期进行。
但是在拖放操作中按下 Alt+Tab 时,通常会跳过下一个窗口(在下面的视频中为 Chrome),而是让下一个应用程序(视频中为文本编辑器)获得焦点。
根据我的测试,第一个问题似乎影响所有应用程序,无论它们使用 Wayland 还是 Xwayland。
问题#2:Tab 键似乎没有释放:在拖放操作中使用 Alt+Tab 切换到 Chrome 时,Chrome 似乎没有收到 Tab 键的 KeyUp 事件,因此认为 Tab 键一直被按住 - 即使在使用 Esc 中止拖放操作之后也是如此。
似乎第二个问题仅限于使用 Xwayland 的应用程序(如 VS Code 或下面视频中的 Chrome),而原生使用 Wayland 的应用程序(如下面视频中的 GNOME 文本编辑器)不受影响。
附注一下,“拖放指示器”(即在拖放操作中显示拖放区域的应用程序)似乎也只在某些时候起作用,但我可以忍受。
以下是展示该问题的视频(首先只需按 Alt+Tab,然后在拖放操作时按 Alt+Tab):
我完全不知道是什么导致了这两个问题,谷歌搜索以及我自己的实验也没有给我带来任何有用的结果(我首先怀疑 Flatpak 与第二个问题有关,但事实似乎并非如此)。任何关于导致这些问题的原因或哪些组件可能相关的指示,在这一点上都非常感激。
PS:为了完整起见,以下是可能相关组件的版本:
Fedora Linux: 38.20240322.0 (Bluefin)
Kernel: Linux 6.7.9-100.fc38.x86_64
GNOME: 44.10
Mutter: 44.9
❯ rpm -qa | grep wayland
libwayland-client-1.22.0-1.fc38.x86_64
libwayland-server-1.22.0-1.fc38.x86_64
libwayland-cursor-1.22.0-1.fc38.x86_64
libwayland-egl-1.22.0-1.fc38.x86_64
xorg-x11-server-Xwayland-22.1.9-5.fc38.x86_64
qt5-qtwayland-5.15.12-2.fc38.x86_64
gnome-session-wayland-session-44.0-1.fc38.x86_64
❯ rpm -qa | grep mutter
mutter-common-44.9-1.fc38.noarch
mutter-44.9-1.fc38.x86_64
❯ rpm -qa | grep x11
libxkbcommon-x11-1.5.0-2.fc38.x86_64
xorg-x11-xauth-1.1.2-3.fc38.x86_64
xorg-x11-server-common-1.20.14-29.fc38.x86_64
xorg-x11-drv-wacom-serial-support-1.2.0-1.fc38.x86_64
xorg-x11-drv-libinput-1.3.0-1.fc38.x86_64
xorg-x11-server-Xorg-1.20.14-29.fc38.x86_64
xorg-x11-xinit-1.4.0-17.fc38.x86_64
xorg-x11-server-Xwayland-22.1.9-5.fc38.x86_64
xorg-x11-fonts-ISO8859-1-100dpi-7.5-35.fc38.noarch
qt5-qtx11extras-5.15.12-1.fc38.x86_64
xorg-x11-drv-amdgpu-23.0.0-1.fc38.x86_64
xorg-x11-drv-ati-19.1.0-9.fc38.x86_64
xorg-x11-drv-evdev-2.10.6-13.fc38.x86_64
xorg-x11-drv-fbdev-0.5.0-12.fc38.x86_64
xorg-x11-drv-intel-2.99.917-55.20210115.fc38.x86_64
xorg-x11-drv-nouveau-1.0.17-5.fc38.x86_64
xorg-x11-drv-openchrome-0.6.400-5.20210215git5dbad06.fc38.x86_64
xorg-x11-drv-qxl-0.1.6-1.fc38.x86_64
xorg-x11-drv-vesa-2.5.0-5.fc38.x86_64
xorg-x11-drv-vmware-13.4.0-1.fc38.x86_64
xorg-x11-drv-wacom-1.2.0-1.fc38.x86_64
dbus-x11-1.14.10-1.fc38.x86_64