在GNOME Shell中,强制使用alt + tab键只在当前工作区切换。

我正在寻找一种干净快速的方法,可以在按下快捷键alt + tab时,强制Ubuntu 14.04中的GNOME仅在当前工作区间切换活动应用程序。
7个回答

简单来说:
gsettings set org.gnome.shell.app-switcher current-workspace-only true

10超级快速,无需额外软件,完全按要求完成!+1 - Jamie-505
这在我的Ubuntu 16.04上不起作用。我觉得可能是因为这些设置在几个不同的应用程序中进行管理。有没有办法让这个设置覆盖其他设置? - n1k31t4
1在Ubuntu 17.04上对我有效。 - Esteban Filardi
2...而对于我来说是在17.10。 - colan
19它在Ubuntu 18.04上运行良好。 非常简单,无需安装任何东西。 - Andrea Tulimiero
2奇怪的是,在18.04版本中对我不起作用,但这个扩展可以:https://extensions.gnome.org/extension/310/alt-tab-workspace/ - k_g
很好。我该如何将此设为所有用户的默认设置? - crafter
1@crafter 请查看如何更改新用户的默认设置? - wjandrea
1这应该是被接受的答案!在Ubuntu 18.04上有效。谢谢,谢谢,谢谢!!! - Dmitry Shevkoplyas
1如果它不起作用,你可以尝试用完整路径/usr/bin/gsettings替换gsettings。像Anaconda这样的软件包管理器可能会干扰默认的gsettings别名。 - Tahlor
2同样适用于20.04。 - Jong
在18.04版本上对我不起作用。 - faceclean
有没有人知道这是否对屏幕也适用?即在我当前正在交互的屏幕上,在不切换到其他屏幕的情况下,使用 alt+tab 在各个工具之间切换。我喜欢在一块屏幕上固定设置一组工具(如电子邮件、Slack等),然后在另一块主屏幕上进行实际工作,但是按 alt+tab 会选择 Slack 或电子邮件,而不是在主屏幕上使用的两个工具之间切换。 - M1ke
1这对我在21.10日期上有效。 - Marc-François
这只适用于"切换应用程序"还是也适用于"切换窗口"? - Kvothe
依然在工作!很棒 - let4be

这是我想出来的解决方案:
非常快速和简单,无需任何安装或扩展。
  1. 安装 dconf-editor(已在当前的Debian/Ubuntu发行版上安装):

    sudo apt-get install dconf-editor
    
  2. 打开 dconf-editor(从Dash或终端中)

  3. 导航至:org -> gnome -> shell -> app-switcher
  4. 将 "current-workspace-only" 设置为 true

    screenshot

完成了 :)


15希望Gnome能把这个放在他们的设置小工具中。 - leo-the-manic
2请同时添加@austinmarton的答案,因为虽然这个更通用,但还有一种不需要额外安装的gnome方式。 - Mihail Malostanidis
7我已经将功能问题添加到Gnome TWEAK项目中了 https://gitlab.gnome.org/GNOME/gnome-tweaks/issues/123 - sobi3ch
希望这将成为未来版本的默认设置! - samb
这应该在Gnome Tweak上!同意 @sobi3ch - rtindru
1从Ubuntu 18.04开始,可以在/org/gnome/shell/window-switcher/current-workspace-only找到此设置。 - GuruBob
@GuruBob 我在18.04的dconf中都有这两个设置可用,不过答案中提到的shell/app-switcher是我需要更改的一个。 - EoghanM
2警告:在Ubuntu 18.04中对我无效,但命令行版本有效:gsettings set org.gnome.shell.app-switcher current-workspace-only true - carlo.polisini

似乎已被修复

gsettings set org.gnome.shell.window-switcher current-workspace-only true
gsettings set org.gnome.shell.app-switcher current-workspace-only true

1看起来我只需要第一个(.window-switcher)。 - kerner1000
这个做到了。它只显示当前工作区中的应用程序,并且当一个应用程序在不同的工作区中有两个实例时,按下Alt+Tab键时会阻止同时显示两个实例。但是你必须同时使用这个答案中的两个命令。太棒了,谢谢! - juliangonzalez
Debian Buster:第一行就让我满意了。 - RichieHH

作为安装dconf-editor并且要频繁操作鼠标的替代方案,您也可以通过终端来完成这个操作。
要创建current-workspace-only值:
dconf write /org/gnome/shell/app-switcher/current-workspace-only 'true'

恢复默认设置以擦除它:
dconf reset /org/gnome/shell/app-switcher/current-workspace-only

我希望 dconf-editor 能够通过路径、属性和值进行搜索,这样我会更喜欢它。

3使用gsettings(后续)答案只是一个更高级的API,它还设置了dconf的值(直接访问dconf可能不如使用gsettings更受欢迎)。 - michael
1这个解决方案在Ubuntu 21.10上仍然有效。完美。 - KFO
对于尚不存在的密钥,dconf 不允许您自动完成它们,而 gsettings 可以。例如:dconf write /org/gnome/shell/app-sw 按 Tab 键无法自动补全,但是 gsettings set org.gnome.shell.app-sw 按 Tab 键会自动补全为 gsettings set org.gnome.shell.app-switcher - trusktr

对于那些想要在当前工作区中通过标签切换打开的窗口,但又希望能够在任何工作区中通过标签切换所有打开的应用程序的人来说,可以通过更改键盘快捷键来实现这一点。
在“设置”>“设备”>“键盘”(在Ubuntu 17.10上)下:
- 切换窗口:Alt+Tab - 切换应用程序:Super+Tab

这有点棘手 - Alt+Tab切换窗口时,即使更改键盘快捷键也会生效。有没有办法解决这个问题? - Rick-777
是的,Alt+Tab将显示在当前工作区打开的窗口,而Super+Tab将显示所有打开的程序(在任何工作区)。您想要实现什么目标?让Alt+Tab显示当前工作区中的打开程序而不是打开的窗口吗? - Clauds
1嗨!我正在尝试设置特定的行为,但似乎无法做到。两个命令始终表现相同。我也尝试了使用gsettings current-workspace-only来切换窗口和应用程序,但也没有成功。有什么想法吗?谢谢 :) - Biggybi
我检查了我的gsettings,我有org.gnome.shell.app-switcher current-workspace-only falseorg.gnome.shell.window-switcher current-workspace-only true - Clauds
这并没有回答问题,但仍然是一个很好的建议。 - crafter
太好了,谢谢!我刚在Ubuntu 18.04上做了这个,真的很有帮助。似乎我最初没有将Alt+Tab绑定到任何操作(但它仍然执行了“切换应用程序”的动作)。在将Alt+Tab绑定到“切换窗口”之后,由于某种原因,我不得不重新将Super+Tab绑定到“切换应用程序”。 - Daniel Buckmaster

AlternateTab

如果你也想在切换器上取消分组应用程序,你可以添加官方支持的AlternateTab扩展

screenshot

此外

实际上,Ubuntu 在即将发布的版本(19.04)中将把 Alternatetab 设置为默认的 Alt+tab 切换方式,而当前的默认应用切换器将保持在 Super+tab


这里的其他解决方案在我的Ubuntu 18.04.1上没有起作用,但是Alt Tab Workspace扩展程序有效。

这很奇怪。如果你按照这段代码去做,它和austinmarton的回答是一样的。 - Pablo Bianchi