在GNOME Shell中,如何轻松地在窗口之间切换而不是应用程序?

目前,如果我按住ALT + TAB,然后在仍然按住ALT的情况下按下TAB,我可以在一个小视图中在应用程序之间切换,然后当我释放所有按键时,该应用程序及其所有窗口都会显示在最前面。
这非常有用,但我想知道是否有一种方法可以使用相同的键盘快捷方式在不将窗口与应用程序分组的情况下在个别窗口之间进行切换?

我正在运行Ubuntu GNOME 15.10,GNOME 3.18。


1只是一点小提示:Unity桌面默认就有这个功能。 - Takkat
4我还是无法相信Gnome破坏了AltTab功能。 - Manu
定义一个自定义的键盘快捷方式:alt-tab -> 切换窗口。无需安装扩展程序。 - Jonathan Hartley
6个回答

你可以使用Alt+`(在Tab键上方的键)在同一应用程序的窗口之间切换。
你甚至可以混合使用Alt+Tab在应用程序之间切换,以及Alt+`在所选应用程序的窗口之间切换。
这里有一个解释的陈述,来自Canonical的Didier Roche的这篇博客文章。它是讨论Ubuntu 17.10中gnome集成开发的系列文章的一部分。

这在MATE上运行得非常好。只是提一下,因为在GNOME上的行为似乎不够干净。但是通过这种组合,我得到了一个仅限于应用窗口的切换器,正如我所期望的那样。 - Zanna
你写道:“在MATE上这个很好用”。你说的“好用”是指什么?是指Alt+TAB能够在窗口之间切换吗?我的使用情况是:我想要用Alt+TAB在两个终端之间切换。我不想要一种变通方法,我想要的是Alt+TAB功能。 - guettli
这似乎在非美国键盘上无法正常工作... - Robert Riedl
1糟糕的设计选择,在涉及国际键盘时引用存在混乱问题... - Kiwy
记住,你可以定义一个自定义的键盘快捷方式,将切换窗口的操作从alt-`重新映射为alt-tab(如本页面下面的答案所述)。 - Jonathan Hartley

Alternatetab就是你一直在找的扩展!

按照这里管理扩展说明来激活它(不过在那个部分之前你也应该先阅读一下文本)。由于它是预装的扩展,你只需要激活它(除非你已经删除了它,那么你需要按照安装新扩展部分的说明进行操作)。

现在,当你按下ALT + TAB,然后按下TAB而不松开ALT(直到你选择要切换到的窗口 - 然后简单地释放两个键,它将把该窗口置于顶部),你应该能够在各个窗口之间切换,而不是应用程序!

Alternatetab in action


你可能想要补充一下,直接网页安装程序选项只适用于Firefox浏览器。至少对我来说,Chrome/Chromium会显示一个消息,表示找不到正在运行的GNOME副本。 - TheWanderer
@Zacharee1:那些浏览器里没有安装和激活GNOME集成插件吗? - user364819
我不确定。我只知道在Chrome上,该网站无法检测到GNOME是否正在运行。我猜这是因为Firefox随许多Linux发行版一起发布,并且执行此类检测的脚本在Firefox和Chrome中的工作方式有所不同。 - TheWanderer
@Zacharee1:网站本身并不进行检测,它是一个默认安装的插件,名为“Gnome Shell Integration”,所以如果在Chrome中没有安装该插件,它将无法工作。 - user364819
哦,嗯,是的,在Chrome上没有安装它 :p。我在想它到底是如何完成的。 - TheWanderer
通过Ubuntu商店安装AlternateTab使其完美运行。 - Malachi Bazar
2该扩展现已弃用。扩展页面上有一个视频,此答案也描述了一种更简单的方法。https://askubuntu.com/a/1154780/970836 - Keerthi Kumar P

作为一个对Ubuntu还比较新的人,我发现其他答案很令人困惑。经过一番搜索,我找到了一个更简单的解决方案,因为我也希望使用Alt + Tab来切换所有打开的窗口,而不仅仅是打开的应用程序。
在Ubuntu 18.04中,你只需要进入键盘设置,如下所示: Keyboard settings 然后将切换窗口设置为Alt + Tab。它会自动禁用默认情况下分配给该组合键的切换应用程序
无需额外的软件。

这太棒了。在我的 Gnome 版本中,我只能使用这个图形用户界面来映射“切换窗口”,而不能映射“向后切换窗口”,当我这样做时,它会自动分配给 shift-alt-tab。这个三键组合很难按,所以我喜欢将 shift-windows-backwards 映射到 alt-<key-above-tab>。可以使用 @pomsky 回答中提到的 gsettings 命令来实现这一点。 - Jonathan Hartley

你可以使用 alt+esc 组合键。
虽然它不像 alt+tab 那样美观,没有显示应用程序图标/窗口的叠加层。但它能完成任务,只是切换到下一个窗口等等。

1不是我想要的,但知道了“alt esc”还是很不错的,很好! - Luke
还没有办法中止它(就像你可以通过按下<kbd>esc</kbd>键来<kbd>alt</kbd>+<kbd>tab</kbd>一样),这可能会非常令人恼火。 - Tgr
是的,看起来没有办法中止它,但你也可以通过按下<Alt><Shift><Esc>来切换到相反的方向。 - pomsky

这种行为也可以在没有GNOME扩展的情况下实现。我在Super User上找到了一个类似的问题,指出了如何设置正确的GNOME按键绑定。
使用gsettings来完成它:
$ gsettings set org.gnome.desktop.wm.keybindings switch-windows "['<Alt>Tab']"
$ gsettings set org.gnome.desktop.wm.keybindings switch-windows-backward "['<Shift><Alt>Tab']"
$ gsettings set org.gnome.desktop.wm.keybindings switch-applications "['<Super>Tab']"
$ gsettings set org.gnome.desktop.wm.keybindings switch-applications-backward "['<Shift><Super>Tab']"

使用上面的代码,当你按下ALT+TAB时,你将在窗口之间切换,而按下SUPER+TAB将使你切换应用程序。
允许使用图形界面完成同样的操作。

我之前一直在使用这个解决方案,一直都很好用,直到今天。似乎是gnome的更新搞砸了它。现在按下alt+tab只会显示我最近使用过alt+`的应用程序窗口。这真的很奇怪,因为我甚至在gsettings中禁用了alt+`。我一直避免转向Mint+Cinnamon,但这是我能容忍的最后一个gnome的烦恼。我喜欢gnome shell的易用性,但对于专业使用来说,它实在太不稳定了。 - Wilson Freitas

alt tab - down-arrow 是我的方法。

例如,如果我有多个终端窗口,在按下 alttab 后,再按下 arrow down 键,我可以通过使用 <--> 方向键来选择不同的窗口。

enter image description here

enter image description here