答案1
如果您使用 gtk3,则设置位于libgtk-3-common
包中,/usr/share/themes/Emacs/gtk-3.0/gtk-keys.css
您可以使用以下方式启用它们:
gsettings set org.gnome.desktop.interface gtk-key-theme "Emacs"
切换回来:
gsettings set org.gnome.desktop.interface gtk-key-theme "Default"
如果您使用 gtk2,则设置位于libgtk2.0-common
包 中,/usr/share/themes/Emacs/gtk-2.0-key/gtkrc
您可以使用以下方式启用它们:
gconftool-2 --type=string --set /desktop/gnome/interface/gtk_key_theme Emacs
如果你想自定义按键绑定,你可以将设置复制~/.themes/
到cp -r /usr/share/themes/Emacs ~/.themes/
附言:那么这是否意味着您已经成功赢得与 Unity 的战斗,并将所有修改密钥窃取回来供 Emacs 使用?!:)
答案2
从 Chrome 59 开始, 切换到 gtk3,设置gtk-key-theme-name
为:Emacs
~/.config/gtk-3.0/settings.ini
[Settings]
gtk-key-theme-name = Emacs
答案3
Cinnamon 有自己的设置:
gsettings set org.cinnamon.desktop.interface gtk-key-theme "Emacs" # use emacs
gsettings set org.cinnamon.desktop.interface gtk-key-theme "Default" # use default
答案4
gnome-tweaks
直到我打开“键盘和鼠标”下的“Emacs 输入” (打开设置 GUI 的命令)后,它才对我起作用。我启用和禁用了其他选项;仅gnome-tweaks
在我的系统上有效。
到目前为止,我已经看到了四种提议的解决方案(不包括基于 GTK-2 的解决方案,因为 Chrome 已经有一段时间使用 GTK-3 了):
gsettings set org.gnome.desktop.interface gtk-key-theme "Emacs"
[Settings] gtk-key-theme-name = Emacs
在 ~/.config/gtk-3.0/settings.ini- “Emacs 输入”
gnome-tweaks
- 等待 Google 修补一些原本可以正常工作的东西。
所有这些系统似乎都是争夺按键绑定控制权的不同系统,其中一个(或上面未列出的系统)将获胜。这不是一个好的情况,但请注意,您可能需要查看列表。
此外,我在每次实验中都会退出并重新启动 Chrome(尽管我没有重新启动计算机或 X 会话)。我不知道这是否有必要 — 我不知道 Chrome 是否会“实时”检测到按键绑定或在启动时检查它 — 但它可以让实验更干净。