【失败】Gnome将默认终端设置为 Kitty
起因
一会儿gnome-terminal一会儿kitty终端,实在是受不了,决定取缔默认的gnome-terminal。
过程
在 Ubuntu 或 Debian 系统上:
确保 Kitty 已经安装。如果未安装,可以在终端中运行命令sudo apt install kitty -y进行安装。
使用系统的update - alternatives工具来设置默认终端,运行命令
sudo update-alternatives --config x-terminal-emulator
这个命令可以理解为切换快捷键对应的执行文件。(详情在下边->理解update-alternatives)
。
显然没有kitty,那怎么办?如果看过我的一篇文章——切换不同版本的JAVA,其中就使用了update-alternatives
命令。
下面手动进行添加
which kitty
# 输出 -> /home/ying/.local/bin/kitty
# 1大家可以手动微调
sudo update-alternatives --install /usr/bin/x-terminal-emulator x-terminal-emulator /home/ying/.local/bin/kitty 50# 或者执行(没有尝试过哈,不是很会写shell)
sudo update-alternatives --install /usr/bin/x-terminal-emulator x-terminal-emulator $(which kitty) 50# 2添加完成之后呢,查看一下
sudo update-alternatives --config x-terminal-emulator
update-alternatives --display x-terminal-emulator
对比上面的图片是不是发现了一点变化,这里我也不知道为什么,以后有能力再补充吧,不影响使用的。
命令执行后,系统会列出所有已安装的终端应用程序,每个终端都有对应的选择编号。输入 Kitty 对应的选择编号,然后按回车键,即可将 Kitty 设置为默认终端。
在其他 Linux 系统上:通常可以通过系统的默认应用程序设置来完成。例如,在 Cinnamon 桌面环境中,可以使用 “首选应用程序” 进行设置。具体步骤可能因不同的桌面环境和 Linux 发行版而有所差异。
发现右键打开还是默认的gnome-terminal
在文件管理器中右键打开终端仍然是 gnome-terminal,这是因为文件管理器中右键打开终端的功能是由 nautilus-extension-gnome-terminal 插件提供的,它将 gnome-terminal 硬编码在了 libterminal-nautilus.so 中。所以即使你通过系统设置或 update-alternatives 命令将系统默认终端设置为了 Kitty,也无法改变文件管理器右键菜单中打开终端的行为。
要解决这个问题,可以按照以下步骤操作:
首先去掉原有的右键菜单:sudo apt remove nautilus-extension-gnome-terminal
。
安装 filemanager-actions
(如果系统中没有安装的话),它可以用来创建自定义的文件管理器右键菜单。安装命令为:sudo apt install filemanager-actions。
打开 filemanager - actions 的配置界面,在其中添加一个新的动作,将其命名为 “在 Kitty 中打开”(或其他你喜欢的名称),并设置命令为 /home/ying/.local/bin/kitty(这是你的 Kitty 路径)。你还可以根据需要设置快捷键等其他选项。
在文件管理器的偏好设置中取消 “使用默认的文件管理器菜单” 选项的勾选,然后保存并关闭设置。
重启文件管理器,使更改生效。在 Ubuntu 中,可以通过在终端中执行 nautilus - q 关闭文件管理器,然后重新打开它。
经过以上设置后,文件管理器的右键菜单中应该会出现你自定义的 “在 Kitty 中打开” 选项,点击它就可以使用 Kitty 终端打开当前目录了。
理解update-alternatives
这个命令可以理解为切换快捷键对应的执行文件。
比如我有两个可执行文件
1./usr/bin/exe1
2./usr/bin/exe2
那我们想要通过相同的名字去启动它们中的任意一个,怎么办?
这里就可以使用到update-alternatives
命令
它可以将exe1/exe2绑定到可执行文件exe
那么我们可以通过exe
去启动exe1/exe2,那么具体启动哪个就需要大家自己配置了。
sudo update-alternatives --config