Unable to mount smb share. "Please select another viewer and try again"
This don't think this is the typical, "I can't mount a windows share" post.
I am using stock Ubuntu 12.04. I am pretty sure this is a Nautilus issue, but I have reached a dead end. I have one share that I can't mount using smb://server/share via nautilus. I get the following error.
Error: Failed to mount Windows share
Please select another viewer and try again
I can mount this share from other machines(non-ubuntu) using the same credentials so I know I have perms on the destination share. I can mount other shares on other servers from my Ubuntu box so I am pretty sure I have all the smb packages I need on my Ubuntu box. To make thing more interesting, if I use smbclient from the command line, I mount this share with no problems from my Ubuntu box.
So here's what we know:
- destination share perms are ok (no problem accessing from other machines)
- smb is setup correctly on Ubuntu box (access other windows shares no problem)
- I only get the error when using nautilus
- smbclient in terminal works, no problem
Any help would be greatly appreciated. Googling turned up simple mount/perms issues, and I don't think that is what is going on here.
Let me know if you need more information.
Hugh
Update 1:
gvfs-mount smb://host/share
failed with the following error:
Error mounting location: Failed to mount Windows share
Update 2:
John -
- I tried #1 and got the same error as above.
- #2 is not an option. This is a production share and if I changed the name of the share it would break things for many users.
- I tried #3 and got the same
select another viewer and try again
error.
Update 3:
I installed a Debian guest VM on this box. It can connect to this share without issue. I tried both gvfs-mount from the terminal and I tried it from nautilus. They were both successful.
Here's some info on the 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
I hope this helps a little
Update 4
Looking at the logs was one of the first things I checked. Nothing gets logged to syslog with the mount fails.
Update 5
- added share name to existing share and got the same error.
- nothing in server event logs
- tested a different share on same server and was able to connect. makes you think it is a perms issue, except I can connect to problematic share from command line via smbclient command.
- I am not thrilled about the downgrade option
Solution 1:
I had this problem too and I'll bet yours is the same.
It only happened with some shares. I had guest ok = Yes
, but the permissions only allowed the owner to list the directory contents.
For example:
[documents]
path = /home/ghodmode/Documents
read only = No
guest ok = Yes
... and ...
ghodmode@server ~ % ls -dl /home/ghodmode/Documents/
drwxr--r-- 12 ghodmode ghodmode 4096 Dec 14 03:32 /home/ghodmode/Documents/
The result was exactly the error message you described. This tells me that nautilus will access shares on a server as a guest user when it can even if it has already accessed other shares as a logged in user.
The default guest user is "nobody".
The solution for me was to change the permissions. I suspect that setting guest ok = No
would also work.
Solution 2:
Before you begin, double check the network location is typed correctly. This is one reason you will get this error. \\hostname\share
In my case, I was able to resolve this issue after diagnosing that it was in fact a DNS issue.
Try to ping the Windows machine in a terminal from Ubuntu:
ping <hostname>
If you cannot ping it via its hostname, try the IP address instead. If the IP address works, then you have a DNS issue where the DNS server is unable to resolve the IP address for the host.
In my organisation, we use an enterprise DNS with Windows Servers. Using the command prompt in Windows, run:
ipconfig /all
Take each of the DNS Server entries and add them to the hosts file on the Ubuntu machine in /etc/hosts
The /etc/hosts file accepts entries as "IP HOSTNAME", example:
10.1.2.1 mydnsserver1
The DNS should also be specified in the interfaces file /etc/network/interfaces, the specific lines you want to check are dns-nameservers and dns-search. dns-nameservers should be set to the entry you put in your hosts file above and can take multiple IP addresses, dns-search should be set to your domain (if in use). IP addresses are just examples.
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
Check your /etc/samba/smb.conf file and ensure your workgroup is correct. Just in case.
Once you are satisfied, run this command:
sudo /etc/init.d/networking force-reload
Assuming all the settings are correct, you should be able to ping the host via its hostname which will in turn resolve the error.