在 Ubuntu 18.04 中,我进行了这样的设置,以便卸载 gnome-terminal。这样一来,gnome-terminal 和 nautilus-extension-gnome-terminal 也都卸载了。这还会删除上下文菜单项“在终端中打开”(在桌面视图以及 nautilus 文件资源管理器视图中)
我这样做是为了使用不同的终端。但是,我希望恢复“在终端中打开”功能,并使用 nautilus-python 使其正常工作。示例:https://github.com/GNOME/nautilus-python/blob/master/examples/open-terminal.py
我最近升级到了 Ubuntu 20.04,并尝试了相同的设置。但是,似乎 nautilus 桌面视图上的上下文菜单(这还是 nautilus 吗?)并没有删除“在终端中打开”项。我的假设是,有其他东西将它添加到那里,因为当我在 open-terminal.py(上面的文件)中更改“在终端中打开”的标签时,它会在 Nautilus 文件管理器视图中适当地更改上下文菜单,但不会更改桌面视图。
我调查了一下/var/log/syslog
,它一直在打印行
Aug 5 02:24:00 xps-13-7390 gnome-shell[14400]: Unknown option: --working-directory
这是因为通常如果它使用 gnome-terminal --working-directory 是一个可以传递的参数,但是,我使用的终端不接受它。
我该如何做才能删除它、添加新的上下文菜单项或者修复它正在传递的命令。
更新:经过进一步研究,看起来 Nautilus 已从 Ubuntu 20.04 中的 GNOME 桌面中删除https://www.reddit.com/r/pop_os/comments/gpw4h9/missing_new_document_context_menu_on_desktop/frp6j7h/(这是 pop_os,是 System76 的 debian/Ubuntu 衍生版本,但发现似乎相同)
另外,查看了 gsettings / dconf-editor 并且发现没有任何东西可以控制这些内容,但是,某些桌面设置 + 壁纸背景等内容仍然在架构下进行控制,org.gnome.desktop
这让我相信它仍然是 gnome 桌面?
update2:相关吗?https://gitlab.gnome.org/GNOME/nautilus/-/issues/158
update3:看起来它正在使用此处写的 gnome shell 扩展:https://gitlab.gnome.org/World/ShellExtensions/desktop-icons
终端中的打开来自这里:https://gitlab.gnome.org/World/ShellExtensions/desktop-icons/-/blob/master/desktopGrid.js#L355
并且“--working-directory”来自这里: https://gitlab.gnome.org/World/ShellExtensions/desktop-icons/-/blob/master/desktopIconsUtil.js#L45
答案1
可以通过注释掉扩展源代码中的某些代码并重新启动 gnome-shell 来解决这个问题。
脚步:
cd /usr/share/gnome-shell/extensions/desktop-icons@csoriano
vi desktopIconsUtil.js
--working-directory=${workdir}
像这样注释掉:/*`--working-directory=${workdir}`*/
并保存文件。- 在 Ubuntu 中按Alt+ f2“运行命令”。
- 输入
r
,按enter。GNOME shell 应该会重新启动。
这应该可以解决问题。对于您选择的终端可能具有的其他选项,可能可以在同一位置进行更多自定义。此外,可能需要在扩展的源代码中修复此问题,可能需要考虑提交拉取请求或其他方法。