![通过 emacs tramp 模式访问 smb 共享-反复提示输入密码](https://linux22.com/image/1621656/%E9%80%9A%E8%BF%87%20emacs%20tramp%20%E6%A8%A1%E5%BC%8F%E8%AE%BF%E9%97%AE%20smb%20%E5%85%B1%E4%BA%AB-%E5%8F%8D%E5%A4%8D%E6%8F%90%E7%A4%BA%E8%BE%93%E5%85%A5%E5%AF%86%E7%A0%81.png)
如果我smbclient
从 unix 主机上的命令行使用来访问 Windows 服务器共享(恰好是 Active Directory 域中的 Windows 服务器),它工作正常。我可以访问服务器上的目录和文件。以下是smbclient
成功的命令:
smbclient -U user -W domain -I ip_host //sharetop
因此现在我尝试使用 emacs 中的 tramp 模式来打开(find-file
)以下 url:
/smb:user%domain@ip_host:/sharetop
我按预期收到了密码提示:
Password for /smb:user%domain@ip_host:
然而,当我进入正确的密码(与 smbclient 使用的密码相同),它只会再次显示密码提示。缓冲区*Messages*
有:
Tramp: Opening connection for //user@ip_host/sharetop...failed
我正在寻找 emacs tramp 模式访问指向 Windows 服务器的 smb url 上的文件的成功案例。或者也许是一种获取更多信息而不仅仅是“失败”的方法。
更新
我设置tramp-verbose
(踪迹)到 6,显示 smbclient 命令行:
smbclient -g -L ip_host -U user -W domain -s /dev/null
-L
是用于 netbios 名称的。就我而言,我使用的是 IP 地址或 DNS 名称。因此,看来我必须弄清楚如何说服 tramp/smb 接受 IP 地址而不是 netbios 名称。
答案1
嗯,Tramp-L
也需要参数才能应用-g
,即查找现有共享。使用-I
将使查看共享变得更加困难。有可能,但尚未实现。
我建议将功能请求(又名错误报告)写到 Tramp 邮件列表,或作为 Emacs 错误报告。