在 18.04.2 上禁用 CTRL-SHIFT-U。我卸载了 ibus 并且组合仍然有效?

Hay*_*Hay 8 keyboard shortcut-keys ibus intellij

我想CTRL-SHIFT-U在 18.04.2上禁用。

目前,CTRL-SHIFT-U在文本提示中按下会使u屏幕上出现下划线,并且在按下 Escape 或 Enter 之前,按键不会将文本附加到提示中。

这使我无法使用 IntelliJ IDE 中的默认组合来切换大小写,而且我不希望使用默认值以外的其他组合。

Superuser 和 Askubuntu 上有无数关于这个的问题。我尝试了大部分答案,没有一个有任何明显的效果。

转到语言支持 > 键盘输入法系统 > 将值设置为(一些答案建议按应用系统范围按钮)

或者

添加export IBUS_ENABLE_SYNC_MOVE=1~/.profile然后重启

或者

杀死ibus-daemon进程

这个,进程确实存在,但它被杀死后立即重生。

在整个答案中,都暗示 ibus 应对这种行为负责。甚至还有一个关于这个的 GitHub 问题。所以我最终屈服并决定尝试ibus使用apt-get remove ibusand删除包apt-get purge ibus,这是其中一个答案所建议的。

重启后,CTRL-SHIFT-U 还是这样。即使在启动后也不再有任何ibus-daemon进程。如果我转到语言支持,则不再有 ibus 作为键盘输入法系统选项。它被设置为 none,只有 XIM 保留作为替代。

为什么CTRL-SHIFT-U即使在卸载 ibus 后仍然有效,我如何在 Ubuntu 18.04.2 上一劳永逸地禁用它?

top*_*opr 2

有一种方法无需进行系统范围的更改,这可能会导致不受欢迎的副作用。运行 IDEA,并将环境变量XMODIFIERS设置为空。有几种方法可以做到这一点:

  1. 从命令行或脚本运行 IDEA,如下所示:

    XMODIFIERS="" /path/to/idea/bin/idea.sh
    
    Run Code Online (Sandbox Code Playgroud)
  2. 编辑 idea.sh 并在顶部添加以下行:

    export XMODIFIERS=""
    
    Run Code Online (Sandbox Code Playgroud)
  3. 编辑 IDEA 的 Gnome 桌面条目~/.local/share/applications/jetbrains-idea.desktop并在该行之前添加Exec以下内容:

    Exec=env XMODIFIERS="" "/path/to/idea/bin/idea.sh" %f
    
    Run Code Online (Sandbox Code Playgroud)

两者都可以。最后一个是通过单击 Dock 中的图标来启动 IDEA,而其他的也可以从命令行运行。请记住,如果第一种方法与间歇性脚本一起使用,则 IDEA 创建的桌面条目不会指向该脚本。因此,您可能需要更改该Exec行的路径,使其指向您的脚本或使用方法 2。不过,每次安装新版本的 IDEA 时都需要重新应用此方法。

我的解决方案是:

  1. 将IDEA安装到类似的文件夹中some/path/idea/idea-IU-192.6817.14
  2. 运行 IDEA 并为其创建桌面条目(菜单Tools
  3. 链接current文件夹下给定的 IDEA 版本

    ln -s some/path/idea/idea-IU-192.6817.14 some/path/idea/current
    
    Run Code Online (Sandbox Code Playgroud)
  4. 编辑~/.local/share/applications/jetbrains-idea.desktop和更改Exec

    Exec=env XMODIFIERS="" "some/path/idea/current/bin/idea.sh" %f
    
    Run Code Online (Sandbox Code Playgroud)

每当您下载新版本的 IDEA 时,只需将其链接为即可current,无需重复这些步骤。显然,将新版本的 IDEA 始终提取到同一文件夹并替换以前的版本也可以在不链接的情况下工作。

  • 如果 IntelliJ 作为 snap 安装,桌面条目位于 /var/lib/snapd/desktop/applications/intellij-idea-ultimate_intellij-idea-ultimate.desktop (我不知道为什么名称重复)然后行是 `Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/intellij-idea-ultimate_intellij-idea-ultimate.desktop XMODIFIERS="" /snap/bin/intellij-idea-ultimate %f ` (2认同)

Sar*_*uez 2

这是此处列出的错误:

https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/1885914

我找到的解决方案是删除 ibus 包:

$ sudo apt-get remove ibus
$ sudo apt-get purge ibus
Run Code Online (Sandbox Code Playgroud)

转到更新并设置Ubuntu焦点窝版本的存储库并删除剩余的eoan

转到更新并设置 Ubuntu 焦点窝版本的存储库,然后删除剩余的 eoan 并重新安装 ibus:

sudo apt-get install ibus
Run Code Online (Sandbox Code Playgroud)

转到语言支持并为用户和 root 设置 iBus 方法

在用户和 root 的终端中:

ibus-setup
Run Code Online (Sandbox Code Playgroud)

并更改表情符号选项卡中的快捷方式

在用户和 root 的终端中:

im-config
Run Code Online (Sandbox Code Playgroud)

并设置ibus

对于终端中的用户:

gedit .bashrc
Run Code Online (Sandbox Code Playgroud)

在末尾添加以下行:

export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
Run Code Online (Sandbox Code Playgroud)