我的大部分导航都是在终端中进行的,但是在某些情况下,在 GUI 中打开目录会更好。在 Ubuntu Linux 上,默认文件浏览器是 nautilius。我的工作流程通常是: cd 到终端上感兴趣的文件夹,然后运行nautilus .
(或者xdg-open .
,它实际上做同样的事情),这会弹出一个查找窗口。
虽然我所做的大部分工作都是在本地计算机上进行的,但有时我需要导航远程计算机上的文件系统。这非常适合我的工作流程。我只是简单地通过 sshfs 安装远程计算机,并假装一切都是本地的。
然而,这是我遇到问题的地方。nautilus .
在 sshfs 安装目录中运行非常慢。我认识到,由于资源不是本地的,因此会出现一些滞后,但我看到的放缓程度远远超出了我的预期。
观察结果
为了演示该问题,我通过 sshfs 安装了一台远程计算机,该计算机位于大约 20 英里之外。当我 cd 进入已安装的目录并运行:time nautilus .
我得到:
real 1m13.918s
user 0m0.045s
sys 0m0.133s
打开远程窗口需要1分多钟的时间。请注意,当我 ping 机器时,延迟时间大约40.5 ms
为 64 字节。
此外,如果我首先打开本地 nautilus 窗口并将安装的路径复制到导航栏中,它会加载得非常快。不到3秒。
现在,应该注意的是,如果我使用 LAN 上的 ping 值大致为 的计算机执行此操作,则不会出现这种缓慢情况0.618 ms
。nautilus .
在这台附近的远程计算机上运行的
是:
time nautilus .
real 0m1.454s
user 0m0.008s
sys 0m0.024s
然而,与我将 sshfs 安装路径复制到 nautilus 导航栏所需的时间相比,这仍然有点慢。这需要不到一秒钟的时间。
作为比较,当我nautilius .
在本地运行时,结果几乎是即时的:
time nautilus .
real 0m0.082s
user 0m0.017s
sys 0m0.009s
概括
为了总结这些结果,这里列出了运行时间
nautilus .
与将 sshfs 安装路径粘贴到 nautilus 导航栏所需的时间,以及我的本地计算机、局域网上的附近计算机和远程计算机上的 ping 时间。广域网。
距离 | (“时间”、“鹦鹉螺”。) | ('时间', '导航栏') | ('时间', 'ping') |
---|---|---|---|
本地主机 | 0米0.082秒 | <1秒 | 0.050毫秒 |
局域网 | 0米1.454秒 | <1秒 | 0.618 毫秒 |
广域网 | 1分13.918秒 | <3秒 | 40.5毫秒 |
在我看来,跑步nautilus .
必须进行大量的往返才能达到我测量的方式。
不幸的是,我无法为此提供 MWE,因为它需要外部硬件,但希望我的描述足够详细。
问题
我想知道是否有任何方法可以使nautilus .
速度更快,或者编写一些脚本,以便脚本快速打开本地 nautilus 窗口,然后使用宏将路径复制到导航栏中,以便我可以获得手动方法,无需手动复制/粘贴序列。
我尝试通过此线程使用 dbus:https://unix.stackexchange.com/questions/364997/open-a-directory-in-the-default-file-manager-and-select-a-file 但我没有运气不太好。