Ubuntu“从服务器获取共享列表失败”问题的解决方法

问题:

Ubuntu 18.04LTS 用smb方式连接服务器192.168.0.123失败,显示:“从服务器获取共享列表失败”,服务器192.168.0.123的操作系统为windows,且共享设置正常。

原因不明,之前的ubuntu 16.04没有这个问题,但是像deepin 15.8也存在这个问题。

 

假设:

IP地址:192.168.0.123

用户名:myname

密码:1234

共享目录名称:E盘

 

解决方法:

一、命令行下的smb连接

 

$ sudo su

#必须用root权限

 

smbclient -L //192.168.0.123 -U myname

#查询有哪些共享目录,需要输入用户密码

例如显示:

Sharename       Type      Comment

---------       ----      -------

IPC$            IPC       远程 IPC

Users           Disk      

E盘              Disk      

可以看到这里目录“E盘”,然后就可以挂载这个目录(或者说这个盘)

 

smbclient //192.168.0.123/E盘 -U myname

#进入这个目录,这时候会出现smb: \>

smb: \> help  #查询可以用的命令

比如smb: \> ls    #查询文件情况

 

这个命令可以解决在不清楚有什么共享目录时可以找到自己想要的那个目录的具体名称(比如本例中的E盘),这个名称对下一步很重要。

 

二、用桌面文件管理器打开

 

$ sudo apt install cifs-utils

#安装cifs-utils服务

 

$ sudo mkdir /mnt/123E

#创建一个挂载用的目录,要放在/mnt目录下,自己命名,比如123E

 

$ sudo mount.cifs //192.168.0.123/E盘 /mnt/123E -o username=myname, passwd=1234

#挂载到/mnt/123E目录,会出现输入密码要求

Password for myname@//192.168.0.123/E盘:  1234

请注意,username=XXX逗号后面是有空格的!

 

$ sudo nautilus /mnt/123E

 

用文件管理器打开这个目录(其他linux系统可以尝试用文件管理器,找到/mnt/123E,右键“以管理员权限打开”即可)。

 

三、以后简化

如果有多次需要,可以写一个sh文件来解决。

用gedit把命令按顺序写好,内容例如:

sudo mount.cifs //192.168.0.123/E盘 /mnt/123E -o username=myname, passwd=1234

 

sudo nautilus /mnt/123E

 

然后把文件改成.sh后缀(比如123E.sh)保存在一个目录下,右键,属性——权限——允许作为程序执行文件,打勾。需要的时候就在终端运行

./128E.sh

 

然后输入密码后就会直接打开这个目录了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章