我可以从 nautilus 中删除“在终端中打开”菜单项吗?

我可以从 nautilus 中删除“在终端中打开”菜单项吗?

就这么简单。我可以删除菜单项吗?

(我实际上想要它,因为当在 gnome-terminal 中启动自定义编辑时它会损坏,所以我编译了以前可以工作的 16.04 之前的旧扩展,但现在我有两个“在终端中打开”菜单项)。

答案1

从 Ubuntu 18.04 开始,负责“在终端中打开”上下文菜单选项的 Nautilus 扩展是名为 的单独软件包的一部分nautilus-extension-gnome-terminal。此软件包不是gnome-terminal所需依赖项的一部分(它只是推荐的一部分),因此可以通过运行以下命令安全地删除:

sudo apt remove nautilus-extension-gnome-terminal

如果有人感兴趣的话,扩展文件现在位于/usr/lib/x86_64-linux-gnu/nautilus/extensions-3.0/libterminal-nautilus.so而不是旧/usr/lib/nautilus/extensions-3.0/libterminal-nautilus.so位置。考虑到它由包管理器管理,我不建议触碰它,但我觉得我应该包括这些信息以保证答案的完整性。

答案2

在较新版本的 Nautilus(例如 3.14(包含在 Ubuntu 15.04 中))中,在终端中打开命令是 gnome-terminal 包的一部分,它会安装 libterminal-nautilus 扩展(在/usr/lib/nautilus/extensions-3.0/libterminal-nautilus.so)。

可以使用 sudo 在终端中轻松删除它:

$ sudo mv -vi /usr/lib/nautilus/extensions-3.0/libterminal-nautilus.so{,.bak}

之后你需要退出 Nautilus 才能看到应用的更改:

$ nautilus -q

(nautilus:16373): GLib-GIO-CRITICAL **: g_dbus_interface_skeleton_unexport: assertion 'interface_->priv->connections != NULL' failed

(nautilus:16373): GLib-GIO-CRITICAL **: g_dbus_interface_skeleton_unexport: assertion 'interface_->priv->connections != NULL' failed

(nautilus:16373): Gtk-CRITICAL **: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

(nautilus:16373): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(nautilus:16373): GLib-GObject-CRITICAL **: g_signal_connect_object: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

如果 Nautilus 没有通过这种方式成功退出(例如,您看到超时),您可以命令操作系统将其终止:

$ pkill -e nautilus
nautilus killed (pid 15962)

之后您可以重新启动 Nautilus,它将显示已删除的条目。

前:

之前:nautilus 上下文菜单带有“在终端中打开”条目

后:

之后:nautilus 上下文菜单没有“在终端中打开”条目

参考文献:

相关内容