在Ubuntu 18.04 LTS中如何使用窗口菜单加速器/助记符?

在Ubuntu 16.04 LTS上,我使用了简单的键盘快捷方式来设置属性“始终置顶”(以Nautilus窗口为例):
1. 按下Alt+Space, ![Alt+Space显示窗口菜单](https://istack.dev59.com/PIX9e.webp)
2. 按下t 3. 在下一次按下Alt+Space或右键单击后,我可以看到窗口已被设置为“始终置顶”。 ![窗口已设置为始终置顶](https://istack.dev59.com/BKct9.webp)
在标准的Ubuntu 18.04 LTS和GNOME Shell中,我可以按下Alt+Space

window menu on Alt+Space

但它对t没有反应。
似乎是一个真实的bug 1710421自17.10以来
如何在标准的Ubuntu 18.04 LTS中启用菜单加速键/助记符?

24年前的gnome-shell bug,不会被修复,你在浪费时间。使用其他的shell就能正常工作。 - doug
我现在正在使用窗口管理器,所以无法真正测试它。但是在这个帖子中的第二个答案,使用wmctrl的那个,我认为值得一试。虽然不是对你问题的直接回答,但至少你可以使用键盘。 - aasril
3在很少有问题的情况下,问题的点赞数超过了回答的点赞数!**:D :D :D** 很好的问题! - Fabby
2为什么他们要移除用户如此习惯的东西呢? - asgs
1@N0rbert 我是 XFCE 的粉丝,一直以来都喜欢并使用它。只是在升级到 Ubuntu 16 到 18 版本后,这种行为发生了变化。XFCE 在底层也使用了 Gnome shell 吗? - asgs
让我们在聊天中继续这个讨论:https://chat.stackexchange.com/rooms/84434/discussion-between-asgs-and-n0rbert。 - asgs
6个回答

在GNOME Shell上是不可能的!欢迎来到一个充满无法预测的限制和问题的新世界!
要在Ubuntu 18.04 LTS和20.04 LTS上设置这些快捷键,您可以切换到:
  • Unity - 可以通过sudo apt-get install ubuntu-unity-desktop进行安装:

    Ubuntu 18.04 LTS with Unity desktop

  • GNOME FlashBack - 可以通过sudo apt-get install gnome-panel进行安装:

    GNOME FlashBack on Ubuntu 18.04 LTS

  • MATE Desktop Environment(我最喜欢的,因为它避免了GNOME的困扰)- 可以通过sudo apt-get install ubuntu-mate-desktop^进行安装:

    Ubuntu 18.04 LTS with MATE DE

  • XFCExubuntu-desktop^)没有“始终置顶”的助记符,但是可用且外观非常漂亮:

    xUbuntu 18.04 LTS

  • Cinnamoncinnamon-desktop-environment)具有所有必要的助记符:

    Cinnamon on Ubuntu 18.04 LTS

  • KDEkubuntu-desktop^)具有助记符,可以通过Alt+F3(所谓的“窗口操作菜单”)访问-例如,要将窗口保持在其他窗口之上,您需要点击Alt+F3M(用于“更多操作”),A(用于保持在其他窗口之上),并且菜单非常丰富:

    Kubuntu 18.04 LTS

  • Openboxopenbox),LXDE / LXQT / Lubuntulubuntu-desktop^lxqt)具有助记符,可以通过Alt+Space进行访问:

    OpenBox, LXDE/Lubuntu/LXQT on 18.04 LTS

  • Budgieubuntu-budgie-desktop^)具有助记符,可以通过Alt+Space进行访问:

    Ubuntu Budgie


2根据N0rber的建议,我成功移除了Gnome桌面环境并切换到了Xubuntu。现在我可以享受Xfce的简洁风格以及键盘助记符功能。真是一举两得!非常感谢! - asgs
2你可以添加LXDE/Openbox :) - DK Bose
1@DKBose 加入了 LXDE/Openbox,感谢您的建议 :) - N0rbert
包名末尾的 ^ 是什么作用? - törzsmókus
@törzsmókus '^' 的意思是“任务”,就像 tasksel 中描述的那样。它用于正确完整地安装桌面元包。 - N0rbert

很遗憾,Alt+Space窗口菜单不再支持助记符。似乎没有意图重新引入它。当前的错误报告已经两年了。最初的问题是在2014年提出的。
不过,常见操作仍然可以使用键盘快捷键完成。这样更快捷,因为不需要看到菜单,并且只需按下一个按键即可减少工作量。
  • 最小化:按下Super+h
  • 最大化:按下Super+
  • 还原:按下Super+。使用Alt+F10在最大化和还原之间切换。
  • 移动:按下Alt+F7
  • 调整大小:按下Alt+F8
  • 关闭窗口:按下Alt+F4

这些键盘快捷键可以在设置-键盘中进行更改。

对于始终置顶,默认情况下没有定义键盘组合,也没有在设置-键盘中公开。您仍然可以使用dconf-editor或gsettings命令来定义一个键盘组合。例如,要将Super+t设置为切换窗口置顶,执行以下命令:

gsettings set org.gnome.desktop.wm.keybindings always-on-top "['<Super>t']"

使用命令进行撤销
gsettings reset org.gnome.desktop.wm.keybindings always-on-top

我暂时采用了分配 <kbd>ctrl</kbd>+<kbd>alt</kbd>+<kbd>up</kbd> 的方法。 - asgs
这个对我来说完美运作。为了让它起作用,我必须用引号括起来。"['<Super>t']" - Dan Jay
@shan 确实,需要加上引号。谢谢你指出这个问题:我会尽快更正。 - vanadium
对于调整大小,同时按下Super+down似乎也有效。 - Cyriac Antony
@CyriacAntony 谢谢,我已经添加了。我还添加了“遗留”的Alt+F10(在Windows中已经定义为这样,我猜是这样)以在最大化和正常模式之间切换。 - vanadium

KISS(保持简单愚蠢)的答案是做一个简单的操作:Alt+空格,然后按下 Enter。虽然不如 Alt+空格,然后按下 i 好用,但仍然比以下步骤更好:
  • 将手从键盘上拿开,
  • 寻找鼠标,
  • 指向,
  • 点击
  • 再将手移回键盘...
  • ¯\_(ツ)_/¯


    1从今天开始,我可以使用Alt+Space打开窗口菜单,并用箭头键上下移动菜单。但是我无法使用Enter键来实际选择任何菜单选项。 - eksortso
    还有一件事。那种轻率的“¯_(ツ)_/¯”回应是侮辱性的。我建议将其删除。 - eksortso
    6这是一个耸肩的表情@eksortso:它意味着“这不是一个完美的解决方案,只是一个权宜之计”。 - Fabby
    1每当我看到那件事情时,上下文意味着它的含义是"我不知道也不在乎"。对于一个问答网站来说,这是一种严厉的情绪,尽管现在我想这可能不是你的本意。当我将其与KISS一起阅读时,KISS曾经作为对开发人员的讽刺性格言"保持简单,笨蛋",我把你的评论解释为对用户的沮丧,并以敌意作出了反应。虽然我试图保持礼貌,但我不确定我是否真的做得太过分了。 - eksortso
    3亲吻不应被视为对开发者的“讽刺箴言”,而应被视为在大多数甚至所有情况下都要遵循的生活准则。 - tatsu
    @tatsu +1 谢谢! :-) - Fabby
    1这是一个相当糟糕的解决方案。希望有真正的助记支持。 - WestCoastProjects
    就像@eksortso所说的那样,按下ENTER键(或者空格键或任何我尝试过的键)并不会选择突出显示的菜单选项。 - törzsmókus

    实际上,有几个快捷方式可以这样做。
    我不知道它们在早期的Ubuntu中是什么。
    它们是我的Windows行为。
    Windows / 动作 / Ubuntu
    Alt+Spacen最小化Super+h
    Alt+Spacex最大化Super+
    Alt+Spacer取消最大化Super+
    Alt+Spacec关闭Alt+F4
    Alt+Spacem移动Alt+F7
    Alt+Spaces调整大小Alt+F8
    还有更多的。
    setting  >  device  >  keyboard
    

    你可以在那里定义或重新定义所有这些快捷方式。但是我认为按下三个键......这是你的选择。


    我回到了Ubuntu/Unity,但如果要再次处理Gnome,我会使用这个。 - WestCoastProjects