如何在 Windows 和 Linux PC 之间实现非阻塞网络文件共享

如何在 Windows 和 Linux PC 之间实现非阻塞网络文件共享

我有一个文件共享服务器(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 会冻结。

这与autofs 问题“读取主地图时出现问题,超出最长等待时间”

相关内容