SUMMARY | 问题概要
两个问题:gvfs 连 SMB 和 FTP 都有毛病
环境:
- 系统:Deepin25
- gvfs 版本:1.54.2
- 服务端:华硕 RT-AX86U 路由器
问题一:SMB 共享名带空格就挂不上
我这台华硕路由器上的 SMB 共享名是 data (at data),里头有空格和括号。Windows 一点问题没有,但是 Linux 文件管理器(不管是 Deepin 自带的还是 Nautilus)就是连不上。
具体现象:
- 地址栏输入
smb://192.168.50.1/,能看到共享列表,正确显示 data (at data) ← 这步是好的
- 点进去,或者直接输入
smb://192.168.50.1/data (at data),弹出认证框,输完账号密码,转几圈,报错
- 终端里用 smbclient 完全正常:
smbclient '//192.168.50.1/data (at data)' -U beichu
# 秒连,能读能写
gvfs 那边的报错:
gio list "smb://192.168.50.1/" # 能列出共享
gio mount "smb://192.168.50.1/data%20(at%20data)" # 报错
具体错误是 g-io-error-quark: 挂载 Windows 共享失败:无效的参数 (0)。
我试了 URL 编码、不编码、只用空格不用括号,全不行。list 没问题,一到 mount_enclosing_volume 就炸。smbclient 能用说明底层的 libsmbclient 是支持这种共享名的,在 gvfs 那层没处理好。
问题二:FTP 要求加密,gvfs 搞不定
同一个路由器开了 FTP 服务,文件管理器输 ftp://192.168.50.1/ 也连不上。一开始以为也是 bug,后来看了下协议交互:
220 Welcome to ASUS RT-AX86U FTP service.
USER beichu
530 Non-anonymous sessions must use encryption.
这玩意非匿名用户必须走 TLS 加密(也就是 FTP over TLS / FTPS),不接受明文密码。但 gvfs 的 FTP 后端貌似默认走明文,或者压根没正确处理 FTPS,反正文件管理器里连不上。
总结
两个服务在 Windows 下都正常,smbclient 和 lftp 这类命令行工具也能用,但文件管理器(gvfs)就是不行。SMB 那边是共享名带特殊字符就挂,FTP 这边是不支持 FTPS 加密连接。
SOFTWARE/OS VERSIONS | 软件/系统版本信息
- 系统:Deepin25
- gvfs 版本:1.54.2
- 服务端:华硕 RT-AX86U 路由器
PRE-REQUIREMENT | 预置条件
No response
STEPS TO REPRODUCE | 复现步骤
看正文
OBSERVED RESULT | 观察到的结果
No response
EXPECTED RESULT | 期望的结果
No response
ADDITIONAL INFORMATION | 额外补充
No response
SUMMARY | 问题概要
两个问题:gvfs 连 SMB 和 FTP 都有毛病
环境:
问题一:SMB 共享名带空格就挂不上
我这台华硕路由器上的 SMB 共享名是
data (at data),里头有空格和括号。Windows 一点问题没有,但是 Linux 文件管理器(不管是 Deepin 自带的还是 Nautilus)就是连不上。具体现象:
smb://192.168.50.1/,能看到共享列表,正确显示data (at data)← 这步是好的smb://192.168.50.1/data (at data),弹出认证框,输完账号密码,转几圈,报错gvfs 那边的报错:
具体错误是
g-io-error-quark: 挂载 Windows 共享失败:无效的参数 (0)。我试了 URL 编码、不编码、只用空格不用括号,全不行。
list没问题,一到mount_enclosing_volume就炸。smbclient 能用说明底层的 libsmbclient 是支持这种共享名的,在 gvfs 那层没处理好。问题二:FTP 要求加密,gvfs 搞不定
同一个路由器开了 FTP 服务,文件管理器输
ftp://192.168.50.1/也连不上。一开始以为也是 bug,后来看了下协议交互:这玩意非匿名用户必须走 TLS 加密(也就是 FTP over TLS / FTPS),不接受明文密码。但 gvfs 的 FTP 后端貌似默认走明文,或者压根没正确处理 FTPS,反正文件管理器里连不上。
总结
两个服务在 Windows 下都正常,smbclient 和 lftp 这类命令行工具也能用,但文件管理器(gvfs)就是不行。SMB 那边是共享名带特殊字符就挂,FTP 这边是不支持 FTPS 加密连接。
SOFTWARE/OS VERSIONS | 软件/系统版本信息
PRE-REQUIREMENT | 预置条件
No response
STEPS TO REPRODUCE | 复现步骤
看正文
OBSERVED RESULT | 观察到的结果
No response
EXPECTED RESULT | 期望的结果
No response
ADDITIONAL INFORMATION | 额外补充
No response