我有一个文件共享服务器(samba 守护进程)在本地网络的 Debian 服务器上运行。我永远无法解决的问题是,每当我离开本地网络(带着我的笔记本去工作或外出)时,我的 Ubuntu 系统就会冻结。调查显示 gnome-shell 和 nautilus 陷入困境D状态。发生这种情况是由于内核无法访问服务器(因为我不再在网络中)。显然,如果不授予服务器访问权限,这些进程就无法恢复。有时,这是根本不可能的。过去,我需要强制重启系统。使用较新的内核,我至少可以杀死它们。
我想要的是,每当我在网络中时,都能自动访问文件共享。每当我离开本地网络时,我的系统都不会冻结。我不想每次离开网络时都手动挂载/卸载文件服务器。我想尽可能简单地访问共享,如果无法访问,则显示一个简单的错误消息。
另一台 Windows PC 可以执行此操作,并且也需要访问权限。
我需要切换到网络文件系统?另一个协议?挂载参数? (我试过诺因特尔和柔软的参数)
我当前的安装线在/etc/fstab:
//server/media /media/networkshare cifs soft,credentials=/home/user/.credentials,iocharset=utf8,uid=useruid,vers=3.0 0 0
自动文件系统如果我在空闲时间之前离开网络,也会阻止 gnome-shell 和其他应用程序。或者由于某种原因,某些应用程序不断访问网络驱动器(例如 nautilus 或 gnome-shell)。
如果我通过连接Nemo 中的书签(连接到服务器),此时 gnome-shell 或 nemo 不会进入 D 状态,但当 PC 在新网络(不同的本地网络,无法访问文件服务器)中唤醒(睡眠/唤醒)时,gnome-shell 会冻结。