Isso parece um pouco antigo, por isso não sei se você já encontrou uma resposta, mas resolvi recentemente um problema semelhante.
Esse problema é composto por vários problemas:
- O novo navegador de arquivos sempre obtém informações sobre os vários sistemas de arquivos disponíveis - ou seja, se você tiver 5 compartilhamentos montados, sejam eles SSH, CIFS ou NFS, e estiverem visíveis na seção "rede" do painel de lugares (lado esquerdo), eles sempre terão um fread () chamado para eles.
- Alguns desses compartilhamentos levarão mais tempo para responder, mesmo com as devidas credenciais, e farão com que o Nautilus pare de funcionar ao abri-lo após um período de inatividade ou se um servidor desaparecer.
- Muitos outros aplicativos fazem com que o nautilus fread () s - Eu testemunhei isso fazendo um strace no processo nautilus, mas esse problema parece estar conectado apenas quando algo solicita uma lista completa (como uma janela aberta de arquivo).
- Sempre que você abre o nautilus (clicando no ícone da pasta de arquivos no painel), ele faz uma varredura das pastas em seu diretório pessoal e no conteúdo interno. Se você fizer seu ponto de montagem algo como / home / $ user / server_mount, o nautilus irá travar quando o servidor ficar indisponível.
Note que isso também afeta outros aplicativos, como o Evolution. Receber eventos do calendário ou responder a uma mensagem faria com que o Evolution "escurecesse" como estava aguardando. Eu estou supondo que estava solicitando uma lista completa de arquivos para o botão de anexo, mas eu não investiguei mais.
Minha solução rápida para mim foi apenas desmontar os compartilhamentos de rede aos quais eu estava conectado. Por enquanto, só me conectarei quando precisar acessar os recursos e, em seguida, desmontarei quando terminar.
Você está semi-permanentemente ligado, então sua solução será um pouco diferente, e é algo que eu fiz no passado.
- Para lidar com a reconexão depois que o servidor voltar, você vai querer usar um autofs - como autofs
- Para lidar com o nautilus trava quando o servidor não está disponível, realoque o ponto de montagem em algum lugar que não seja um ponto de partida padrão para o nautilus, como um subdiretório. / home / $ user / mounts / server_mount
- Você precisará que sua montagem seja reprovada no seu aplicativo em tempo hábil quando o servidor for desativado. Para fazer isso, você desejará adicionar as opções
soft,retrans=1,retry=0,intrà sua montagem. Se a memória me serve corretamente, os valores de retransmissão e repetição só funcionam com o NFS sobre UDP, que é o padrão. Se você estiver usando TCP, os valores de tempo limite serão baseados nas configurações da pilha TCP.
HTH