Eu também tive esse problema e sei como isso pode ser estressante.
Pesquisando no google e tentando algumas alterações, encontrei uma solução.
Os passos são:
1 - Precisamos fazer alterações no smb.conf (/etc/samba/smb.conf). Você pode fazer isso com gedit, nano ou algum outro programa. Com o gedit é assim:
sudo gedit /etc/samba/smb.conf
2 - Então precisamos encontrar a constante / variável "ordem de resolução de nomes". No meu caso, essa constante tem o valor igual a wins host bm lmhosts. Eu não sei se isso muda alguma coisa, mas eu mudo "wins lmhosts bcast host" para "wins bcast lmhosts host". Então, minha final é "ordem de resolução de nomes = vence o host de bm lmhosts".
3 - Eu adicionei estas linhas no smb.conf na final.
netbios name = <hostname>
client lanman auth = yes
client ntlmv2 auth = no
Você pode encontrar o seu nome de host, digitando "hostname" no seu terminal, e então apenas altere sua resposta de terminal.
Agora não tenho mais este problema:
1 - timeout de rede
2 - nautilus procurando por rede e não conseguindo encontrar.
3 - desconectar da pasta de rede montada quando não estiver usando.
4 - nautilus travando após a desconexão e tentando se conectar à pasta montada.
5 - Nautilus não pode se conectar após "nmbd restart" e "smbd restart" (Algumas vezes este comando funciona e outros não, para recuperar a rede).