如何在 GNOME 中设置默认终端?

如何在 GNOME 中设置默认终端?

我想将 GNOME 桌面环境中的默认终端更改为lilyterm。以下是我在网上找到的说明:

gsettings set org.gnome.desktop.default-applications.terminal exec lilyterm
gsettings set org.gnome.desktop.default-applications.terminal exec-arg ""

但是当我按下应该运行默认终端的快捷方式时,我得到了:

Windows 管理器警告:终端命令“(null)”错误。终端命令未定义。

我哪里犯了错误?

答案1

您是否尝试过通过终端命令来更改它:

sudo update-alternatives --config x-terminal-emulator

gnome-terminal我猜如果 GNOME 快捷方式专门设置为而不是,这没有帮助x-terminal-emulator

答案2

这里的大多数答案对于今天的 Gnome 软件来说都是过时的。对于 Gnome 3.36,没有简单的解决方法。问题在于大多数 Gnome 软件都是基于 Gio 的,它决定最终使用哪个终端仿真器。引用来自 gitlab.gnome.org 的 Gnome 开发人员

当启动指定在终端中运行的应用程序时,gnome-shell 将使用哪个终端的决定是由 glib 而不是 gnome-shell 做出的,并且当前在 glib 中有一个正在尝试的硬编码终端列表。

因此,以 Gio 为例(版本 2.76.2)负责此行为的代码,我们可以看到 Gio 已对几个特定终端仿真器的可执行文件搜索进行了硬编码测试$PATHxdg-terminal-exec首先在那里进行测试,然后再测试其他终端仿真器。如果xdg-terminal-exec在您的 中找到$PATH,它将被使用,除了更改 中的程序外,您无能为力$PATH

# ln -s /usr/bin/lilyterm /usr/bin/xdg-terminal-exec

这也意味着,使用 来解决这个问题最广泛的方法gsettings不起作用(这里也提出了:12345)。

答案3

有以下几种选择:

  • 尝试:

    gsettings set org.gnome.desktop.default-applications.terminal exec 'lilyterm'
    gsettings set org.gnome.desktop.default-applications.terminal exec-arg '-x'
    

    注意:您需要注销并重新登录(在 Ubuntu 13.04 上的 GNOME 上测试成功)。

  • 另一种可能是去快捷方式在 GNOME 设置中并使用 as 命令添加一个新的lilyterm,并将其设置为Ctrl+ Alt+T或您喜欢的任何其他值。

  • gnome-terminal另一种方法是用指向的符号链接替换lilyterm​​- 但您不想这样做。

答案4

也许您应该打开添加/编辑用户对话框,看看是否可以在那里更改默认终端。

更新:用户和组(作为管理员)> 选择用户 > 高级设置 > 高级 > Shell

有一个下拉菜单,但您也可以输入/path/to/your/shell。

相关内容