应用程序如何从 smb 共享打开/保存到 smb 共享?

应用程序如何从 smb 共享打开/保存到 smb 共享?

在不同的应用程序中,使用菜单打开/保存文件时,出现的对话框可能会提供不同的选择。其中很多应用程序缺乏浏览网络和连接到(就我而言)NAS 上的 smb(samba)共享的功能。我的问题是:哪里出了问题或者哪些软件包有缺陷

我的机器(Xubuntu 12.10)上安装了 samba,还有 gvfs 及其后端。

图纳尔(1.5.3),我可以通过以下方式轻松访问共享:
  - 单击侧窗格中的“浏览网络”快捷方式,
  - 使用自制的快捷方式指向共享上的文件夹
  - 输入路径,如“smb://datastore/action/Pictures”
当尚未安装共享时,会出现一个对话框来输入我的凭据。

Thunar 将自制的快捷方式添加到文件 ~/.gtk-bookmarks,为了确保万无一失,我将其与 .config/gtk-3.0/bookmarks 链接起来。

自由办公室( 3.6.2.2) 我发现与 Thunar 中相同的快捷方式,只是缺少“浏览网络”。smb 共享的快捷方式确实有效,但仅用于浏览。只要我以“/”结尾,输入路径就可以正常工作(“smb://datastore/action/”有效,而“smb://datastore/action”无效)。
输入“smb://datastore/”时,会显示所有共享,但单击它们会导致错误消息“不是目录”。
当我最后单击“保存”按钮时,我收到一条错误消息,指出“文件路径不存在”。如果我尝试打开文件,对话框会关闭,什么也不会发生。

错误行为似乎只与对话框有关。在 Thunar 中单击 smb 共享上的 LibreOffice 文件即可打开它,单击 LibreOffice 工具栏上的保存按钮即可保存它。

我测试过档案管理器(3.6.1.1),拇指(3.0.2),瘸子(2.8.2)Inkscape(0.48.3.1)和Gnome MPlayer(1.0.6)。它们的行为与 LibreOffice 类似,尽管打开文件可能有效。

看着火狐(17.0),叶垫(0.8.18.1)和大胆(2.0.1),我找不到访问 smb 共享的方法。所有指向 smb 共享的快捷方式都缺失,输入以“smb://”开头的路径不会产生任何结果。

那么,原因在哪里?是 gvfs、gtk、samba、应用程序本身,还是缺少某些软件包?依赖于 java、python、perl 等的应用程序又如何?它们是否需要额外的软件包来访问 smb 共享?这是否只存在于 smb 共享中?还是所有类型的网络共享都存在此问题?也许这与最近更改挂载点 (~/.gvfs/ -> /run/user/$USER/gvfs/) 及其糟糕的映射有关?

欢迎提供更多深刻见解!

答案1

问题是应用程序本身不一定使用 gvfs 来执行 I/O。使用 smb:// 应该可以在 Firefox 中工作,但使用“文件打开”对话框则不行。如果 Firefox 没有在没有“GNOME”集成支持的情况下重新编译,那么直接在位置栏中输入 URL 应该可以工作。

不直接使用 gvfs 进行文件 I/O 的应用程序需要通过 gvfs 挂载点 (~/.gvfs/ 或 /run/user/$USER/gvfs/) 打开文件才能与其交互。从 Thunar 内部打开 Libreoffice 中的文件可能有效,因为它使用的是挂载点路径,而不是文件的 smb:// URL。

相关内容