我想将 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 已对几个特定终端仿真器的可执行文件搜索进行了硬编码测试$PATH
。xdg-terminal-exec
首先在那里进行测试,然后再测试其他终端仿真器。如果xdg-terminal-exec
在您的 中找到$PATH
,它将被使用,除了更改 中的程序外,您无能为力$PATH
:
# ln -s /usr/bin/lilyterm /usr/bin/xdg-terminal-exec
答案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。