如果我使用 Nautilus 或手动使用“gvfs-mount smb://SERVER-IP/Share”使用/访问 SMB 共享,我的性能很差,在我的 100 Mbit 网络上只有大约 7 mb/s。
如果我在 Windows 上访问相同的共享,我将获得 100 Mbit(大约 11 mb/s)的sudo mount -t cifs //SERVER-IP/Share /mountpount全速,如果我使用 cifs 而不是 gvfs 进行安装,我也会获得全速,所以任何人都可以告诉我是否存在性能问题/错误在 gvfs 中或 gvfs 如何以不同方式使用 SMB 共享?
我使用多个文件测试了读取性能(来自我的网络 SMB 共享),并且总是,cifs 版本是全速的,而 GVFS 版本的速度要少一些 mb/s。
经过一番研究,我发现了一些优化 Ubuntu 安装的 SMB 设置的技巧和一些网络调整技巧,但是随着 CIFS 挂载共享获得完整的网络速度,我不相信这是那种问题。
我通过 Nautilus 挂载我的 Samba 共享。我知道,在幕后,共享安装在保险丝上,Nautilus 以某种方式在smb://URL 和文件系统中的实际位置之间进行转换。
是否可以为 GVFS 安装的共享、目录或文件检索文件系统中的“真实”路径?如何?
编辑:如果其他任何事情都失败了,可以发明一种适用于任何文件的工具,并且只需将命令行参数复制到剪贴板。然后只需要告诉 Nautilus 为所有文件和目录提供这个工具。
这是相关的,但没有回答我的问题:如何从 Nautilus 复制当前路径?
当我将文件从我的相机(通过 USB 连接)复制到我笔记本电脑中的 SSD 时,一些文件被复制,然后复制停止。我不知道为什么,任何想法或要调查的事情都值得赞赏,或者要查看的错误报告。
我已经阅读了这个答案- 使用 gvfs 可以很好地安装相机(佳能 40D,以防万一)。我可以在 Nautilus 或终端(在/run/user/username/gvfs/...)中看到照片,我可以复制几张照片,但不是很多。使用终端或 Nautilus 进程会挂起,直到相机进入睡眠状态。Digikam 根本无法复制任何内容,Rapid Photo Downloader 也是如此。Shotwell 最终确实做到了,但这对我来说是一个很好的解决方案。
我已经禁用了 nautilus 的缩略图生成。发生这种情况时,平均负载保持在 1 左右,而 CPU 使用率一半空闲,一半等待(其他程序使用少量用户/系统)。cpu列表顶部的程序top都与复制照片无关。日志中没有太多 - 从/var/log/syslog
Dec 2 16:20:52 mishtop dbus[945]: [system] Activating service name='org.freedesktop.UDisks' (using servicehelper)
Dec 2 16:20:52 mishtop dbus[945]: [system] Successfully activated service 'org.freedesktop.UDisks'
Dec 2 16:21:24 mishtop kernel: [ 2297.180130] usb 2-2: new high-speed USB device number 4 using ehci_hcd
Dec 2 16:21:24 mishtop kernel: [ 2297.314272] …Run Code Online (Sandbox Code Playgroud) 当我插入手机时,gvfs 会自动安装我的手机,出于各种原因我不想要这个。
如何禁用此特定设备的自动挂载,但继续允许其他 USB 设备自动挂载?
这是插入后的安装:
~$ gvfs-mount -l
Drive(0): ST320LT007-9ZV142
Type: GProxyDrive (GProxyVolumeMonitorUDisks2)
Drive(1): HL-DT-ST DVD+/-RW GU60N
Type: GProxyDrive (GProxyVolumeMonitorUDisks2)
Drive(2): Generic Ultra HS-SD/MMC
Type: GProxyDrive (GProxyVolumeMonitorUDisks2)
Volume(0): Galaxy Nexus
Type: GProxyVolume (GProxyVolumeMonitorMTP)
Mount(0): Galaxy Nexus -> mtp://[usb:002,020]/
Type: GProxyShadowMount (GProxyVolumeMonitorMTP)
Mount(0): mtp -> mtp://[usb:002,020]/
Type: GDaemonMount
Run Code Online (Sandbox Code Playgroud)
2013 年 5 月 21 日星期二 00:03:00 EDT 更新:
我发现 /usr/share/gvfs/mounts/mtp.mount 包含:
[Mount]
Type=mtp
Exec=/usr/lib/gvfs/gvfsd-mtp
AutoMount=false
Run Code Online (Sandbox Code Playgroud)
不幸的是,这个 AutoMount 参数似乎没有任何作用。
与此同时,我遵循了这里的建议,并在org.gnome.desktop.media-handling. 这会全局禁用它,但它比替代方法更好。希望我们将来有特定于设备或协议(或两者!)的 gvfs 自动挂载配置。
由于几天后我的 Ubuntu 从 14.10 升级到 15.04,我无法再从某些文件夹将文件发送到垃圾箱。
从 Nautilus 删除时,我现在收到一个弹出窗口:
“aaa.png” can't be put in the trash. Do you want to delete it immediately?
Run Code Online (Sandbox Code Playgroud)
多年来一直很好地工作:(
我有一个双引导系统 Ubuntu/Windows。Ubuntu 在 EXT4 分区上,而 Windows 和数据在 NTFS 分区上。
NTFS 分区在登录时通过 gvfs 挂载:
gvfs-mount -d /dev/sdb9
Run Code Online (Sandbox Code Playgroud)
在我的主文件夹中,我有几个指向 NTFS 分区上文件夹的符号链接,如下所示:
Downloads -> /media/stephane/dmn/User/Downloads/
Run Code Online (Sandbox Code Playgroud)
我从终端尝试过~/Downloads:
gvfs-trash aaa.png
Error trashing file: Unable to trash file: Invalid cross-device link
Run Code Online (Sandbox Code Playgroud)
但是在原始文件夹中/media/stephane/dmn/User/Downloads/,相同的命令可以完美运行!
虽然我有点理解这个错误,但该设置已经存在多年,而且我一直在删除文件而没有回头也没有问题。
那么 gvfs-trash 发生了什么,为什么它突然不能再将这些文件作为垃圾桶呢?
有没有办法让它再次工作?
我尝试过的事情:
~/.local/share/Trash:所有内容及其子文件夹都是我的.Trash-1000/NTFS 分区上的权限:同样的,我拥有所有正确的权限fstab而不是挂载 …我似乎无法在 Ubuntu 15.04 中找到 GVFS 文件夹,它的位置从 14.10 开始是否已更改?
旧地点:
/run/user/1000/gvfs/
Run Code Online (Sandbox Code Playgroud)
那么地点搬了吗?我问的原因是,自从从 14.10 升级到 15.04 以来,我在播放来自 Samba 共享的视频和音乐文件时遇到问题,我猜测 gvfs 是原因。
我尝试了另一个建议我安装 gvfs-fuse 的答案,但这已经安装了 - 重新安装没有帮助。
我想第二个问题是,如果位置相同,为什么不再安装任何东西?
由于安全问题和引入了密码策略,我们的 Windows 文件服务器 SMBv1 最近被关闭。
从那时起,我们无法使用 Gigolo 从 Ubuntu 16.04 挂载更多共享。我们收到德国错误“Einhängen der Windows-Freigabe ist fehlgeschlagen: Die Wartezeit für die Verbindung ist abgelaufen”(超时)
现在我们能够在手动安装时将问题追溯到 SMBv1:
sudo mount -t cifs -o username=me //foo.local/digital /mnt
Run Code Online (Sandbox Code Playgroud)
不起作用,而
sudo mount -t cifs -o vers=2.0,username=me //foo.local/digital /mnt
Run Code Online (Sandbox Code Playgroud)
确实有效。
到目前为止一切顺利 - 但我们不想错过通过 Gigolo / Thunar 安装的舒适感。
如何告诉 Gigolo / Thunar(我认为两者都基于 GVFS)使用 smbV2?
当我杀死了一个冻结的 gvfs-sftp 进程并想再次使用它时,如何重新启动整个 gvfs“子系统”?
GVFS 是在 Nautilus 中单击驱动器(包括网络驱动器)时负责安装/卸载驱动器的子系统。
问题是有时传输会冻结,我需要杀死冻结的“提供者”(例如 gvfs-sftp)。但是后来我无法再使用 SFTP 连接到 Nautilus 中的任何网络驱动器。重新启动整个计算机会有所帮助,但可能有更好的方法。
我在电脑里搜索了整个/etc,想知道这个gvfs系统是怎么启动的,但是没有成功。
一个多月以来,我看到这个进程“gvfs-udisks2-volume-monitor”使用我的一个 cpu 核心的频率一直在 25% 到 50% 之间。
\n我正在 Linux 6.2.0-35-generic、x86-64、用作服务器和媒体系统的消费类硬件、CPU:Ryzen 3 4300GE、操作系统和一些数据位于 nvme-ssd 上运行 Ubuntu 22.04.3 LTS (2tb 970 evo plus),数据位于 3 个硬盘上,其中两个在 mdadm-raid 中,主要处于睡眠状态,全部位于自行打印的 PC 机箱中,没有连接其他存储,连接两个 USB 用于为交换机供电灯、一个用于 USV 通信的 USB 接口和一个用于键盘的 USB 接口。拔掉所有 USB 不会改变 cpu 使用率。gvfs版本似乎是1.48.2-0ubuntu1。我主要运行 Nextcloud、Jellyfin 和 Apache2、一些小型应用程序和 docker 容器。
\n这是每半小时测量一次的 cpu 使用率图表ps -e -o pid,user,comm,%cpu | grep \'gvfs-udisks\',最后的峰值是在重新启动后:\n cpu 使用率图表
请帮我解决这个问题。
\n我不知道需要什么附加信息,我只会在这里列出我尝试过的内容:
richi@richihomecl:~$ sudo ps -e -o ppid,pid,user,comm,%cpu | grep …Run Code Online (Sandbox Code Playgroud) 在新的 Ubuntu 上,您通常有这些默认(空)文件夹:
都带有特殊的标志。
但是,这些标志是从哪里来的?,是什么让 Nautilus 展示这些标志?现在 Nautilus 已经放弃了标志支持,我无法通过 GUI 检查或更改这些标志。只是在这里好奇...
更新
正如我对 Uri 的回答发表的评论一样:这里的每个人都是对的:在这种情况下,我将标志与文件夹特定的图标混淆了。但是:让我重新表述我的问题:
例如,为什么 Nautilus 知道它必须为这些目录应用一个特殊的图标?实际目录上是否有一些标志,GVFS 中的元数据字段,还是硬编码到 Nautilus 中?
(运行 Ubuntu 12.04.1)