You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSHFS挂载路径下Nautilus CLI命令启动极慢但GUI操作快速的优化方案咨询

SSHFS挂载路径下Nautilus CLI命令启动极慢但GUI操作快速的优化方案咨询

我之前碰到过完全一样的问题,折腾了一阵终于找到几个可行的解决办法,分享给你:

一、先搞懂为什么nautilus .这么慢

核心原因是:通过CLI启动Nautilus并指定远程目录时,它会默认触发一堆预加载操作——比如递归扫描目录下的所有文件、生成缩略图、读取文件元数据等,这些操作在SSHFS挂载的远程路径下会产生大量网络往返请求,跨WAN时每一次请求的延迟都会被放大,最终导致启动慢到离谱;而手动在已有Nautilus窗口粘贴路径,只会加载当前目录的基础内容,不会触发这些冗余的预加载逻辑。

二、解决方案1:修改Nautilus设置,禁用远程目录的预加载

直接从根源减少远程目录的不必要网络请求:

  • 打开Nautilus的「偏好设置」,切换到「预览」标签页,把「远程文件」的预览选项改成「从不」,或者仅保留「文件信息」(不要勾选生成缩略图)
  • 也可以用命令行快速修改配置(适合批量操作或服务器环境):
    # 全局禁用缩略图生成
    gsettings set org.gnome.nautilus.preferences show-thumbnails 'never'
    # 或者仅限制远程文件的缩略图大小(设为0就是禁用)
    gsettings set org.gnome.nautilus.preferences remote-thumbnail-limit 0
    

修改后再试nautilus .,速度应该会有明显提升,不过可能还是不如手动粘贴路径快。

三、解决方案2:写脚本模拟手动粘贴路径的操作

既然手动操作快,那我们就用脚本自动模拟这个流程,比你之前试的dbus方法更直观可靠。需要先安装xdotool(Ubuntu下直接sudo apt install xdotool),然后创建一个脚本:

#!/bin/bash
# 获取当前终端所在的目录
CURRENT_DIR=$(pwd)

# 检查是否有Nautilus窗口在运行,没有就先打开一个本地目录(启动快)
if ! pgrep -x "nautilus" > /dev/null; then
    nautilus ~ &
    sleep 0.5 # 给窗口一点启动时间
fi

# 激活Nautilus窗口,聚焦地址栏,输入当前路径并回车
xdotool search --class nautilus windowactivate --sync
xdotool key Ctrl+l # 按下Ctrl+l聚焦地址栏
xdotool type "$CURRENT_DIR" # 输入当前目录路径
xdotool key Return # 回车跳转

保存为open-nautilus-fast.sh,然后给它加执行权限:

chmod +x open-nautilus-fast.sh

之后在SSHFS挂载的目录下运行这个脚本,就能获得和手动粘贴路径一样的速度了。

四、额外小技巧

如果不想每次都敲脚本路径,可以把它加到~/.bashrc或者~/.zshrc里作为别名:

alias fast-nautilus='~/path/to/open-nautilus-fast.sh'

之后直接输入fast-nautilus就能快速打开当前目录了。

备注:内容来源于stack exchange,提问作者Erotemic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 10:59:40