经过多次排查,把这个问题解决了,安装apt install gvfs-fuse后重启就能解决问题。
在debian11下,查看smplayer的日志,发现它打开samba共享文件的路径是smb://xxx/yyy/file.mp4,提示错误是SPNEGO(ntlmssp) login failed: NT_STATUS_WRONG_CREDENTIAL_HANDLE,我们知道在命令行下访问samba文件,格式应该是smb://username:password@xxx/yyy/file.mp4,用mplayer的命令行测试一下,mpv smb://username:password@xxx/yyy/file.mp4,果然是可以打开的,所以之前日志中的提示信息,意思就是samba没有认证,所以无法打开文件file.mp4。
重新在debian12下查看smplayer的日志,发现它打开samba共享文件的路径是/run/user/1000/gvfs/'smb-share:server=xxx,share=yyy'/file.mp4,和debian11下不一样!于是去查gvfs是什么,全称是gnome virtual file system,我的理解gvfs是系统将远程的文件虚拟成本地文件的方式。使用apt list --installed |grep gvfs比较2个系统下gvfs相关安装包,发现debian11比debian12少了gvfs-fuse这个包!原来是debian11默认没有安装gvfs-fuse,而debian12默认安装了!自然而然,debian11安装gvfs-fuse,重启后,一切正常,查看smplayer的日志,它打开samba共享文件的路径也变成了/run/user/1000/gvfs/'smb-share:server=xxx,share=yyy'/file.mp4。
没有安装gvfs-fuse的时候其他类型文件如txt打开正常,排查发现文本编辑器pluma打开文件的菜单框可以显示caja里的samba路径和文件,而smplayer打开文件的菜单框无法显示caja里的samba路径和文件,在安装gvfs-fuse后打开文件的菜单框就可以显示caja里的samba路径和文件,这里面的逻辑还没搞清楚。
【 在 acliche 的大作中提到: 】
: 桌面环境下(mate desktop),使用文件管理器caja访问win7的共享,可以连接上,txt文档也能打开,但是mp4/mkv等视频文件使用vlc或smplayer打开,会要求再次输入用户名密码,关键是输入正确的信息后还是不能正常打开视频文件,smplayer提示SPNEGO(ntlmssp) login failed: NT_STATUS_WRONG_CREDENTIAL_HANDLE。搜索好久,未能解决问题。如果使用命令行mount.cifs挂载,则一切正常。测试了debian12,也正常。不知道有没有碰到类似问题的,求助。
--
FROM 36.112.181.*