我已经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 stterm
1找到哪里。在我的系统上,您可以在 找到它/usr/bin/stterm
。在下文中,我将假设您具有相同的位置。
Vim 问题
使用上述命令后,终端的键绑定(默认为++ Ctrl)将打开。但是从文件管理器或其他任何使用桌面条目调用 Vim 仍将使用旧终端。为了举例,让我们考虑它是在 找到的。Alttst
gnome-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-emulator
为st
我的x-terminal-emulator
指向lxterm