如何使 st 成为 linuxmint cinnamon 中的默认终端

如何使 st 成为 linuxmint cinnamon 中的默认终端

我已经st安装在我的$PATH(in /usr/local/bin).但是,我仍然没有st在列表中看到它,当我在终端中Prefered Applications运行时它也没有作为选项出现。sudo update-alternatives --config x-terminal-emulator我如何将其设置为默认值?

答案1

如果st未列出,sudo update-alternatives --config x-terminal-emulator您可以使用

gsettings set org.cinnamon.desktop.default-applications.terminal exec <path_to_st>

<path_to_st>可以使用which stterm1找到哪里。在我的系统上,您可以在 找到它/usr/bin/stterm。在下文中,我将假设您具有相同的位置。

Vim 问题

使用上述命令后,终端的键绑定(默认为++ Ctrl)将打开。但是从文件管理器或其他任何使用桌面条目调用 Vim 仍将使用旧终端。为了举例,让我们考虑它是在 找到的。Alttstgnome-terminal/usr/bin/gnome-terminal

您可以尝试通过编辑 Vim 的桌面条目来解决该问题:

cp /usr/share/applications/vim.desktop ~/.local/share/applications/
vim ~/.local/share/applications/vim.desktop

vim.desktop
-----------
#TryExec=vim
#Exec=vim %F
#Terminal=True
Exec=stterm -e "vim %F"
Terminal=False

在我的系统上它可以工作但st立即关闭。我尝试stterm用另一个终端模拟器替换它,它可以工作,所以我相信st在处理桌面条目时存在问题。

残酷的解决方案

由于某些程序仍然使用旧的,gnome-terminal解决该问题的最佳方法是将其符号链接到stterm

mkdir ~/.local/bin
ln -s /usr/bin/ssterm ~/.local/bin/gnome-terminal

这解决了所有问题,但不是一个优雅的解决方案。rm ~/.local/share/applications/vim.desktop如果您在上一个解决方案之后尝试此解决方案,请不要忘记。


1在基于 Debian 和 Ubuntu 的系统上,st打包为stterm.

答案2

如果st运行时不作为选项出现,sudo update-alternatives --config x-terminal-emulator则可以update-alternatives使用以下命令将其添加到:sudo update-alternatives --install <link> <name> <path> <priority>

就我而言,它看起来像这样:sudo update-alternatives --install /usr/bin/x-terminal-emulator x-terminal-emulator /usr/local/bin/st 100

执行命令后,您应该能够看到并选择st是否现在运行 sudo update-alternatives --config x-terminal-emulator

答案3

我的解决方案是将 XTERM 变量从更改/etc/alternatives/x-terminal-emulatorst

我的x-terminal-emulator指向lxterm

相关内容