Como desabilitar wlan0 ao desligar

2

Desde há muito tempo, o meu Sony Vaio com o Lubuntu 11.10 está a mostrar uma mensagem vermelha FAIL durante o processo de encerramento.

Ele tenta matar alguns processos e as mensagens brancas na tela congeladas por alguns segundos (uma pequena pausa) e então a FAIL aparece e o desligamento continua.

Mas não foi assim quando eu instalei o Lubuntu. Algo aconteceu e eu não sabia até a semana passada.

Na semana passada, descobri por que está pausando o processo de desligamento por um tempo.

Desativei o adaptador sem fio usando o botão na frente do meu laptop (ou seja, o hardware estava desligado). Então notei que o desligamento foi tão rápido. Nenhuma mensagem de FALHA e meu laptop estava desligado depois de 5 ou 6 segundos.

Tenho quase certeza de que alguma conexão wlan0 está mantendo o processo de desligamento. Talvez esteja tentando se manter conectado ou tentando desativar a conexão.

Se eu desativá-lo usando o botão, tudo fica rápido.

Alguma ideia para corrigir isso?

Editar: seguindo a sugestão dada por @Gilles, agora o processo de desligamento é muito rápido. Eu usei o script dele com a linha adicional rfkill block all .

Mas, como podemos ver na imagem abaixo, o script está retornando alguns not found .

    
por Sigur 28.05.2013 / 18:00

2 respostas

3

A mensagem "matar todo o processo restante ..." vem do script de desligamento /etc/init.d/sendsigs , que é executado como parte da seqüência de desligamento através do link simbólico /etc/rc0.d/S20sendsigs .

Você pode executar um script personalizado antecipadamente vinculando-o em /etc/rc0.d e /etc/rc6.d ( 0 para desligamento, 6 para reinicialização - não pergunte) e dando a ele uma prioridade menor que 20. Escreva o seguindo script como /etc/init.d/sigur-wlan-stop :

#!/bin/sh
## Turn off all wireless networks
for x in /sys/class/net/*; do
  if [ -e "$x/wireless" ]; then
    if grep -q "^$x=" /run/network/ifstate; then ifdown "${x##*/}"; fi
    ifconfig "${x##*/}" down
  fi
done

Torne o script executável e vincule-o nos scripts de desligamento:

chmod 755 /etc/init.d/sigur-wlan-stop
ln -s ../init.d/sigur-wlan-stop /etc/rc0.d/S10sigur-wlan-stop
ln -s ../init.d/sigur-wlan-stop /etc/rc6.d/S10sigur-wlan-stop
    
por 29.05.2013 / 19:35
1

Se você quiser que ele desligue o dispositivo sem fio antes desligue, eu recomendaria colocar

sudo ifconfig wlan0 down

no seu arquivo ~ / .bash_logout, dessa forma ele será desativado durante o logout e você não precisa se preocupar com os níveis corretos de execução nos arquivos rc, resultando em uma seqüência rápida de desligamento.

Se você for solicitado a fornecer sua senha sudo, também poderá fazer

sudo nano /etc/sudoers

e adicione

username ALL=(ALL) NOPASSWD: ALL

até o final do arquivo (onde nome de usuário é seu nome de usuário) que permitirá usar o sudo sem solicitar uma senha toda vez e, assim, permitir que você desative sua conexão sem fio antes de iniciar a seqüência de desligamento sem um prompt de senha .

    
por 28.05.2013 / 22:51