Ubuntu更换默认terminal(nautilus更换右键菜单中的在终端中打开)

2023-05-16

更新

22.04里缺少关键软件filemanager-actions,原因是gnome感觉这东西好久没人维护了,所以把这东西干掉了:
https://gitlab.gnome.org/Infrastructure/Infrastructure/-/issues/671

所以以下教程应该只适用于22.04之前的版本

如果确实需要的话,可以手动下载安装以下三个包,虽然来自20.04,但是当前还是可用的:

https://packages.ubuntu.com/focal/filemanager-actions
https://packages.ubuntu.com/focal/filemanager-actions-libs
https://packages.ubuntu.com/focal/filemanager-actions-data


背景:

最近想把ububtu自带的gnome-terminal给换了


过程:

我选中了terminator

sudo apt install terminator

然后看起来一切正常,ctrl+alt+t打开的已经是terminator了,如果有读者在这一步有问题,那么自己执行

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

并选中自己要换的终端即可。

然后问题就来了,我发现natilus里右键打开的终端依旧是gonme-terminal


问题原因:

这个右键菜单不是nautilus提供的,由包nautilus-extension-gnome-terminal提供,而右键打开终端使用gnome-terminal 则是硬编码在libterminal-nautilus.so 里面的。
右键菜单无法更换这个问题很早就提出来了,但是没有解决或者不予解决的原因如下:

  1. nautilus-extension-gnome-terminal包名就已经告诉你了这是针对于gnome-terminal的插件
  2. nautilus-extension-gnome-terminal实际上的提供者是gnome-terminal,是gnome-terminal提供的nautilus插件,他们没有责任对别的终端进行支持

所以我们只能手工实现一个更加通用的右键菜单了。


解决方案:

首先去掉原有的右键菜单:

sudo apt remove nautilus-extension-gnome-terminal

而后安装fma:

sudo apt install filemanager-actions

打开fma设置:

fma-config-tool

具体配置如下:
在这里插入图片描述
在这里插入图片描述
注意,上图路径可以直接改为你想改的终端,例如/usr/bin/termnator或者写成指向x-terminal-emulator,在指向x-terminal-emulator的情况下即是指向系统当前默认终端。
上图参数是:

--working-directory=%d/%b

最后在perferences中取消nautilus菜单布局中那个默认的勾:
在这里插入图片描述
保存,关闭fma-config,重启一下nautilus

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu更换默认terminal(nautilus更换右键菜单中的在终端中打开) 的相关文章

  • 在nodejs中使用node-sass时找不到libsass绑定

    我想使用node sass模块在我的node js v0 12应用程序从性能中受益libsass 我执行了npm i node sass安装模块 到目前为止没有错误 现在混乱开始了 如果我只是打开REPL在终端中尝试node sass那么一
  • 如何使用 exec() 启动和停止 PHP 开发服务器

    如何使用 exec 函数启动和停止 PHP 开发服务器 我需要这样做才能自动化我的 BDD 测试 这将停止我的脚本的执行 echo exec php S localhost 8000 所以我需要一种方法从 PHP 启动服务器并能够继续执行我
  • 如何在 Mac OS X 上以 root 身份运行脚本? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我应该在 Mac OS X 终端上输入什么才能以 root 身份运行脚本 与任何基于 UNIX 的环境一样 您可以使用sudo http xkcd c
  • stripe 登录 zsh:未找到命令:stripe

    我正在跟进条纹文档 https stripe com docs stripe cli install当我去stripe login在步骤 2 中 我收到以下错误 zsh 找不到命令 条带 我已经执行了步骤 1 安装 stripe CLI 为
  • VSCode 上的 Pipenv:为什么终端上不显示 (pipenv)?

    我正在 VSCode Bash 终端上设置 pipelinev 虚拟环境 但它没有显示 pipenv 这使得它非常混乱 当我使用Pycharm并让它配置pipenv环境时 它会自动显示 pipenv 在项目路径之后 所以很容易判断我是否在
  • Iptables v1.6.1 无法初始化 iptables 表“过滤器”Ubuntu 18.04 Bash Windows

    我正在从 Windows Bash 运行 Ubuntu 18 04 uname a Linux DESKTOP M87DGAS 4 4 0 17134 Microsoft 112 Microsoft Thu Jun 07 22 57 00
  • 如何在Python中获取Linux控制台窗口宽度

    python 有没有办法以编程方式确定控制台的宽度 我的意思是一行中不换行的字符数 而不是窗口的像素宽度 Edit 寻找适用于 Linux 的解决方案 不确定为什么它在模块中shutil 但它在 Python 3 3 中出现了 看 查询输出
  • docker 容器中 PostgreSQL 的权限问题

    我正在尝试使用 PostgreSQL 运行一个 docker 映像 该映像配置了一个用于持久数据的卷 docker compose yml version 3 1 services db image postgres restart alw
  • Apple 听写 - 在应用程序中使用

    有什么方法可以在本机 Apple 应用程序中利用 Apple 的听写语音转文本功能吗 你的问题有点模糊 最好先知道你尝试使用或做什么 或者你想要实现什么目标 更常见的是关键字识别 API 但可以用于此目的的语音识别 API 是张开耳朵 ht
  • pyqt5不显示窗口[重复]

    这个问题在这里已经有答案了 我真的希望有人能帮助我解决这个问题 我正在尝试开始使用pyqt5 并且几乎从我正在学习的课程中复制了这段代码 代码似乎执行没有任何问题 但我应该看到的窗口根本没有出现 我做错了什么 我正在尝试ubuntu 18顺
  • 在 ubuntu 上使用 Kurento 安装错误

    我已经浏览了 Stackoverflow 上的所有 Kurento 问题 之前似乎没有出现过这个错误 我已经根据安装指南安装了 Kurento 媒体服务器和 java 客户端示例 我正在运行媒体服务器 当我去运行客户端应用程序时 问题就出现
  • 与本机 Windows NPM/Yarn 处理相比,为什么 WSL 极其缓慢?

    我最近经常使用 WSL 因为我需要一些本机 UNIX 工具 并且模拟器还不够好 我注意到使用 NPM Yarn 时的速度差异令人难以置信 我进行了一个简单的测试 证实了我的感受 测试正在运行npx create react app my t
  • Titanium SDK 在 Ubuntu 12.04 上无法识别 Titanium CLI、node、alloy 或 npm

    Titanium SDK 在 Ubuntu 12 04 上无法识别 Titanium CLI node alloy 或 npm 我按照此处的 Titanium SDK 安装说明进行操作 http docs appcelerator com
  • 如何在终端中显示图像?

    是否有任何类型的实用程序可以用来将图像转换为 ASCII 然后在我的终端中打印 我寻找过 但似乎没有找到 一个名为cacaview http linux die net man 1 cacaview允许您执行此操作 它是交互式的 允许您平移
  • Ubuntu DEB 安装程序使所有 Java 应用程序具有相同的图标

    我已经为基于 Debian 的系统创建了 Java 应用程序的 DEB 安装程序 在我的 DEB 包中 我使用 desktop 文件 如下所示 Desktop Entry Encoding UTF 8 Version version Typ
  • 在 ubuntu 10 64 位上安装 java 时出错

    EDIT 我添加此注释是为了解释为什么我将这个问题保留在这里 我添加了 Android 作为关键字 我想知道其他人是否尝试过下载代码以及如何解决此问题 我担心如果我问 Ubuntu 他们会建议我使用 OpenJDK 但问题是 有人使用该 S
  • 如何在ubuntu服务器上安装android SDK

    我在 ubuntu 服务器中有一个 React Native 项目 我想构建一个用于生产的 Android 应用程序 为此 我首先必须生成 Gradle Wrapper 文件 因此我在中运行此命令android目录 gradle wrapp
  • 为什么我无法“停用”pyenv / virtualenv?如何“修复”安装

    我是新安装的乌班图16 04并考虑到使用最新版本的开发pandas我安装了Python 3 6 0使用虚拟环境 选择 3 6 0 的一个原因是因为我在某处读到这个版本的 Python 可以原生处理虚拟环境 即无需安装任何其他东西 无论如何安
  • 如何重新安装最新的cmake版本?

    我想在Linux环境下安装cmake的最新版本 我安装了 cmake 3 5 版 但某些应用程序不支持 我尝试通过卸载当前版本来升级它 但是当我使用 sudo apt get install cmake 重新安装时 我重新安装了相同的版本
  • 安装 openstack 时发生错误:./stack.sh:137:die

    我尝试使用以下命令通过 devstack 安装 openstack git 克隆https github com openstack dev devstack git https github com openstack dev devst

随机推荐