Como posso desligar depois de desmontar um dispositivo USB da linha de comando?

1

Anteriormente, eu perguntei a esta questão sobre como suspender o Linux após um determinado período de tempo.

Gostaria de fazer uma pergunta semelhante. Supondo que eu tenha um dispositivo USB conectado ao meu sistema (OS = Fedora 13), existem comandos que podem:

  • desligue o dispositivo USB e,

  • depois de desanexar, desligue o sistema após um intervalo especificado.

Para ser mais preciso, desanexar significa um comando que remove o dispositivo com segurança.

    
por crskhr 11.10.2010 / 23:04

2 respostas

4

Eu assumo por USB você quer dizer um pendrive ou disco rígido externo montado em seu sistema de arquivos. Você "desconecta" isso desmontando o dispositivo. Para isso você terá que usar o comando umount. Você pode usar o dispositivo ou o ponto de montagem, por exemplo:

umount /dev/sdb1 ou umount /mnt/usb

Veja man umount para mais detalhes.

Para desligar seu sistema, você usa o comando shutdown . -h irá "Parar ou desligar após o encerramento" . A manpage diz:

SYNOPSIS
       /sbin/shutdown [-akrhPHfFnc] [-t sec] time [warning message]

Você pode usá-lo para desligar o sistema após um período de tempo específico. O comando a seguir irá parar seu sistema após 30 minutos:

shutdown -h 30

Agora você tem um comando que só deve ser executado após o sucesso do outro. Isso é feito com & & amp ;, abreviação de uma instrução condicional e um recurso do seu shell (Nota: || existe também). O segundo comando só será executado se o primeiro retornar sem erros. Isso é indicado por um código de retorno de 0. Por exemplo:

umount /dev/sdb1 && shutdown -h 15 desconectará seu USB e interromperá seu sistema após 15 minutos.

Se isso não responder à sua pergunta, seja mais específico.

    
por 11.10.2010 / 23:37
2

Parece que você deseja que sua máquina seja desligada automaticamente quando você remover um pendrive USB.

Eu não fiz isso sozinho, mas o novo serviço Upstart (que é suportado no Fedora 9 em diante) tem a capacidade de executar scripts baseados em um evento. Aqui está um artigo discute como um evento pode ser acionado quando como um dispositivo hotplug ou quando uma impressora USB está conectada .

Em teoria, um evento também pode ser gerado quando você desconecta um dispositivo USB e esse evento pode chamar um script arbitrário, como shutdown -h now ou lock the screen .

Eu vi sistemas Windows e Mac que bloqueiam automaticamente a tela quando um dispositivo Bluetooth deixa a proximidade do computador, e isso é provavelmente possível no Linux usando o Upstart.

    
por 12.10.2010 / 01:31