设置 nautilus-open-terminal 来启动 Terminator 而不是 gnome-terminal

YXD*_*YXD 66 nautilus gnome-terminal terminator

nautilus-open-terminal软件包添加了一个菜单/右键单击选项以在当前目录中打开终端。

我想把这个从开放gnome-terminal改为开放terminator这里有一些关于更改默认终端模拟器的建议,但是这些说明似乎不再有效,而且我在系统设置中找不到任何可以更改默认模拟器的地方。

我也试过:

$ sudo update-alternatives --config x-terminal-emulator
Run Code Online (Sandbox Code Playgroud)

选择

* 0            /usr/bin/terminator               50        auto mode
Run Code Online (Sandbox Code Playgroud)

但这似乎没有任何效果。知道如何让这个工作吗?

Tak*_*kat 44

Nautilus-Actions 安装 nautilus-actions

我们可以使用nautilus-actions定义我们自己的右键单击上下文菜单项。

在此处输入图片说明

  • 操作选项卡中,给您的操作一个合理的标签,例如“在终结者中打开”并选择在选择或上下文菜单中显示它。

  • 接下来打开命令选项卡以输入要运行的命令

在此处输入图片说明

  • 提供命令 ( /usr/bin/terminator) 和程序选项 ( --working-directory=%d/%b)的完整路径,以便在 Terminator 中打开当前路径。

  • 之后再次注销并且(或者只是重新启动鹦鹉螺nautilus -q)以下将显示右键单击上下文菜单:

在此处输入图片说明

  • 如果您不希望在子菜单中打开“在终结器中打开”,请在 Nautilus-Actions 中,转到“编辑”>“首选项”>“禁用“创建根“Nautilus-Actions”菜单” (9认同)
  • 该项目似乎已存档,并且该软件包在 apt 存储库中不再可用(在 Pop!_OS 22.04 上测试) (3认同)

小智 42

Ubuntu 13.04 :(如果你是通过谷歌来到这里的)

您无法再更改使用的终端应用程序。

详细信息nautilus-open-terminal用于GAppInfo启动终端进程,它使用终端模拟器的硬编码列表:https : //git.gnome.org/browse/glib/tree/gio/gdesktopappinfo.c#n1106

解决方案:

  1. 删除 gnome 终端: sudo apt-get remove gnome-terminal
  2. 将终止符符号链接到 gnome 终端: sudo ln -s /usr/bin/terminator /usr/bin/gnome-terminal

  • 这在 16.04 中不起作用。我可以从命令行启动 `gnome-terminal`,但是 Nautilus 的“在终端中打开”选项什么也不做。 (13认同)

Bru*_*ira 23

要在 gnome 中配置默认​​终端,您需要安装 dconf-tools (sudo apt-get install dconf-tools)。

之后,您可以使用 dconf-editor 或 gsettings 来设置您喜欢的终端模拟器。本指南使用gsettings.

安装后terminator输入这个命令

gsettings set org.gnome.desktop.default-applications.terminal exec /usr/bin/terminator
Run Code Online (Sandbox Code Playgroud)

exec-args为您需要的终端设置,在您的情况下-x执行nautilus-open-terminal.

gsettings set org.gnome.desktop.default-applications.terminal exec-arg "-x"
Run Code Online (Sandbox Code Playgroud)

在此终结器将成为您的默认终端模拟器之后,当nautilus-open-terminal调用默认终端时,它应该打开terminator而不是gnome-terminal.

  • 这在 Ubuntu 16.04 上不起作用... (7认同)
  • 这在 Ubuntu 22.04 上不起作用 (3认同)
  • 这不适用于 Ubuntu 20.04 (2认同)

Sea*_*one 11

适用于 Ubuntu 22.04 及以上版本

告诉 gnome-terminal 打开您的首选终端

一个有点hacky的解决方法,但它对我有用:

  1. 打开 gnome-terminal 并导航到首选项 >(您的个人资料)> 命令
  2. 选中“运行自定义命令而不是我的 shell”并为您的首选终端模拟器添加命令
  3. 在“保留工作目录”下选择“始终”

警告:这将导致 gnome-terminal 在启动后立即关闭。我建议将“命令退出时”设置为“保持终端打开”进行测试,以确保一切按预期工作。

恢复:从另一个终端运行gnome-terminal --preferences以仅打开首选项窗口,然后取消选中“运行自定义命令而不是我的 shell”。

在此输入图像描述

  • 当然,这有点“hacky”,但在我看来,比安装其他软件包和调整许多东西更容易(而且侵入性小得多)。谢谢。 (4认同)

Pal*_*oha 9

Ubuntu 19.04 和 20.04 更新

我同意Takkat 的这个答案,它建议安装nautilus-configuration-tool来解决这个问题,但由于 Ubuntu 19.04 (Disco Dingo) 因此也适用于 Ubuntu 20.04 (Focal Fossa) 这个包被称为filemanager-actions。我知道感谢N0rbert 的回答。因此,如果您收到此错误:E: Unable to locate package nautilus-actions-config-tool 请使用以下命令:

sudo apt install filemanager-actions  # To install
fma-config-tool  # To run the configuration tool
Run Code Online (Sandbox Code Playgroud)

并按照N0rbert 的回答中的说明进行操作

如果您希望您的操作出现在上下文菜单顶层,请转到Edit > Preferences > Runtime Preferences并取消选中Create a root 'FileManager-Actions' menu(基于stefg-bz的评论)。


离题但相关(Yakuake 终端)

如果你发现这个答案,因为你正在努力实现的事情是一样的任择议定书要求,但Yakuake终端,使用脚本yakuake-session这个回购,并设置在文件管理器,操作配置工具你这样的行动的命令:

Path: /usr/bin/yakuake-session
Parameters: --workdir=%d/%b
Working directory: %d
Run Code Online (Sandbox Code Playgroud)

我还必须这样做sudo apt install qdbus-qt5才能使其正常工作,否则我会得到yakuake-session: error: cannot connect to Yakuake.

我无法发表评论,所以我添加了一个新答案(我不明白这个规则 tbh)