无法挂载 SMB 共享。“请选择其他查看器并重试”

无法挂载 SMB 共享。“请选择其他查看器并重试”

不要以为这是一个典型的“我无法安装 Windows 共享”帖子。

我使用的是原版 Ubuntu 12.04。我很确定这是 Nautilus 的问题,但我已经陷入了困境。我有一个共享无法通过 nautilus 使用 smb://server/share 挂载。我收到以下错误。

错误:无法挂载 Windows 共享
请选择其他查看器并重试

我可以使用相同的凭据从其他机器(非 Ubuntu)安装此共享,因此我知道我在目标共享上有权限。我可以从我的 Ubuntu 机器上安装其他服务器上的其他共享,因此我很确定我的 Ubuntu 机器上拥有我需要的所有 smb 包。更有趣的是,如果我从命令行使用 smbclient,我可以从我的 Ubuntu 机器上毫无问题地安装此共享。

我们知道的是:

  1. 目标共享权限正常(从其他机器访问没有问题)
  2. smb 在 Ubuntu 机器上设置正确(访问其他 Windows 共享没有问题)
  3. 我只在使用 nautilus 时收到错误
  4. smbclient 在终端中工作,没有问题

任何帮助都将不胜感激。谷歌搜索显示存在简单的挂载/权限问题,但我认为这里的问题不在这里。

如果您需要更多信息,请与我们联系。

更新 1:

gvfs-mount smb://host/share失败并出现以下错误:

错误安装位置:无法安装 Windows 共享

更新 2:

约翰 -

  • 我尝试了#1并得到了与上面相同的错误。
  • #2 不是一个选项。这是一个生产共享,如果我更改共享的名称,这会破坏许多用户的工作。
  • 我尝试了#3并得到了同样的select another viewer and try again错误。

更新 3:

我在这个盒子上安装了一个 Debian 客户虚拟机。它可以毫无问题地连接到此共享。我尝试了从终端执行 gvfs-mount,也尝试了从 nautilus 执行 gvfs-mount。它们都成功了。

以下是有关 Deb VM 的一些信息:

$ uname -a
Linux debian 2.6.32-5-amd64 #1 SMP Sun Sep 23 10:07:46 UTC 2012 x86_64 GNU/Linux
$ dpkg -l |grep gvfs
ii  gvfs                                 1.6.4-3                           userspace 
$ dpkg -l |grep nautilus
ii  nautilus                             2.30.1-2squeeze1                  file manager and graphical shell for GNOME

希望这会有帮助

更新 4

我首先检查的是查看日志。挂载失败时,系统日志中没有记录任何内容。

更新 5

  • 将共享名添加到现有共享并出现相同的错误。
  • 服务器事件日志中没有任何内容
  • 在同一台服务器上测试了不同的共享并能够连接。让您认为这是一个权限问题,但我可以通过 smbclient 命令从命令行连接到有问题的共享。
  • 我对降级选项不太满意

答案1

我也遇到过这个问题,我敢打赌你也遇到了同样的问题。

这种情况只发生在一些共享中。我有guest ok = Yes,但权限只允许所有者列出目录内容。

例如:

[documents]
    path = /home/ghodmode/Documents
    read only = No
    guest ok = Yes

... 和 ...

ghodmode@server ~ % ls -dl /home/ghodmode/Documents/
drwxr--r-- 12 ghodmode ghodmode 4096 Dec 14 03:32 /home/ghodmode/Documents/

结果正是您描述的错误消息。这告诉我,即使 nautilus 已经以登录用户身份访问了其他共享,它仍会以访客用户身份访问服务器上的共享。

默认的来宾用户是“nobody”。

对我来说,解决方案是更改权限。我怀疑该设置guest ok = No也有效。

答案2

开始之前,请仔细检查网络位置是否输入正确。这是您收到此错误的原因之一。 \\hostname\share

就我而言,在诊断出这实际上是一个 DNS 问题后,我能够解决此问题。

尝试从 Ubuntu 的终端 ping Windows 机器:

ping <hostname>

如果无法通过主机名 ping 通,请尝试 IP 地址。如果 IP 地址有效,则表示 DNS 存在问题,DNS 服务器无法解析主机的 IP 地址。

在我的组织中,我们将企业 DNS 与 Windows Server 结合使用。使用 Windows 中的命令提示符,运行:

ipconfig /all

获取每个 DNS 服务器条目并将其添加到 Ubuntu 计算机上的 /etc/hosts 中的 hosts 文件中

/etc/hosts 文件接受“IP HOSTNAME”形式的条目,例如:

10.1.2.1 mydnsserver1

DNS 也应在接口文件 /etc/network/interfaces 中指定,您要检查的特定行是 dns-nameservers 和 dns-search。dns-nameservers 应设置为您在上面的 hosts 文件中输入的条目,并且可以采用多个 IP 地址,dns-search 应设置为您的域(如果正在使用)。IP 地址只是示例。

auto eth0
iface eth0 inet static
        address 10.1.2.10
        netmask 255.255.255.0
        gateway 10.1.1.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 10.1.2.1
        dns-search mydomain.com

检查你的 /etc/samba/smb.conf 文件并确保你的工作组正确。以防万一。

一旦满意,请运行此命令:

sudo /etc/init.d/networking force-reload 

假设所有设置都正确,您应该能够通过主机名 ping 主机,从而解决错误。

答案3

  1. 让我们创建一些方便阅读的简写

    • ProblemShare - Windows 共享 Nautilus 安装时出现问题
    • ProblemServer - Windows 服务器共享 ProblemShare
    • 问题机器 - Ubuntu 机器/桌面在安装上述共享时遇到困难。
    • ProblemAccount - ProblemMachine 的 Ubuntu 帐户在使用 Nautilus 安装 ProblemShare 时出现问题
  2. 测试 #1

    在 ProblemMachine 上

    • 确保系统没有安装任何 samba 共享(检查 /etc/fstab)
    • 重启
    • 创建一个新用户,然后尝试ProblemShare使用 Nautilus 安装。

      如果新用户挂载成功,则您的 Nautitlus 和相关包没有问题。

  3. 测试 #2

    在 ProblemMachine 上

    • 确保系统没有安装任何 samba 共享(检查 /etc/fstab)
    • 重启
    • 登录问题帐号
    • 确保桌面/Nautilus 没有任何活动的 samba 挂载,尤其是 ProblemServer。
    • 确保登录脚本中没有 Samba 自动挂载
    • 注销然后登录 ProblemAccount
    • 打开 Nautilus

      1. 点击菜单栏中的“文件”(屏幕顶部)
      2. 选择“连接到服务器...”
      3. 输入信息
        • 服务器:<问题服务器名称或 IP,非 URL 格式>
        • 类型:Windows 共享
        • 用户名和密码,使用您的 Windows 凭据
      4. 连接后,选择“ProblemShare”

    如果此挂载成功,则您的问题是由缓存凭证或钥匙链中的凭证引起的。

答案4

我收到了相同的错误消息,当我尝试安装无法通过名称访问的 Windows 驱动器时,解决方案是通过 IP 地址安装 Windows 驱动器。

相关内容