Este é um bug bem conhecido: link
É um daqueles erros felizmente raros, mas ainda assim embaraçosos, de alto impacto e com mais de dois anos de duração que impactam negativamente o brilho do Ubuntu.
Ele deve afetar somente as conexões WIFI, mas não vejo nenhum detalhe sobre isso na sua pergunta. Se você está experimentando isso através de uma conexão com fio, então algo mais está em jogo aqui.
Até que o Network Manager seja consertado (ele encerra as conexões wi-fi muito rapidamente - antes que qualquer um dos scripts de inicialização sejam acionados), a única solução viável que consegui encontrar é usar o AutoFS.
Parafraseado no link
sudo apt-get install autofs
Crie /etc/auto.cifs com este conteúdo de arquivo:
#!/bin/bash
# $Id$
# This file must be executable to work! chmod 755!
key=""
# Note: create a cred file for each windows/Samba-Server in your network
# which requires password authentification. The file should contain
# exactly two lines:
# username=user
# password=*****
# Please don't use blank spaces to separate the equal sign from the
# user account name or password.
credfile="/etc/auto.smb.$key"
# Note: Use cifs instead of smbfs:
mountopts="-fstype=cifs,file_mode=0644,dir_mode=0755,uid=user,gid=users"
smbclientopts=""
for P in /bin /sbin /usr/bin /usr/sbin
do
if [ -x $P/smbclient ]
then
SMBCLIENT=$P/smbclient
break
fi
done
[ -x $SMBCLIENT ] || exit 1
if [ -e "$credfile" ]
then
mountopts=$mountopts",credentials=$credfile"
smbclientopts="-A "$credfile
else
smbclientopts="-N"
fi
$SMBCLIENT $smbclientopts -gL $key 2>/dev/null \
| awk -v key="$key" -v opts="$mountopts" -F'|' -- '
BEGIN { ORS=""; first=1 }
/Disk/ { if (first) { print opts; first=0 };
gsub(/ /, "\ ", );
sub(/$/, "\$", );
print " \\n\t /" , "://" key "/" }
END { if (!first) print "\n"; else exit 1 }
'
(edite a linha mountops para refletir seu nome de usuário real)
Faça com que exectuable com sudo chmod 755 /etc/auto.cifs
Em seguida, adicione esta linha ao seu /etc/auto.master, na parte inferior:
/smb /etc/auto.cifs --timeout=60 --ghost
Finalmente, reinicie o autofs com esta linha (ou uma reinicialização funcionaria, é claro):
sudo service autofs restart
E você deve ser capaz de abrir o nautilus para / smb / server / share (ou ls -l /smb/Server/Share
)
O desligamento, a suspensão e o modo de hibernação devem ser perfeitos.
Se você usar senhas para se conectar a seus compartilhamentos, você terá que adicionar outro arquivo em / etc / para cada servidor ao qual se conectar, com nome de usuário e senha especificados. Faça um "man autofs" para mais detalhes sobre isso, mas aqui está a essência:
Você precisa de um arquivo de credenciais para cada compartilhamento protegido por senha ao qual está se conectando. No seu caso, seu servidor é chamado de "Servidor", então crie o arquivo relevante com gksudo gedit /etc/auto.smb.Server
. Em seguida, coloque isso no arquivo:
username=myusername
password=mypassword
(obviamente editando os campos conforme necessário).
Em seguida, você precisará garantir que esse arquivo seja legível somente por root com sudo chmod 600 /etc/auto.smb.Server
.
Em seguida, reinicie o autofs como acima e tente navegar / smb / Server - você deverá ver uma lista de seus compartilhamentos.
Se você se conectar usando um endereço IP, precisará repetir esse processo para /etc/auto.smb.192.168.1.10 ou qualquer outra coisa.