Como ejetar um CD / DVD a partir da linha de comando

30

Eu cliquei com o botão direito no ícone do DVD no Iniciador Unity para ejetá-lo, mas em vez de apertar o botão 'Ejetar', eu perdi e cliquei na opção 'Desbloquear da Barra de Lançamento'.

Como faço para ejetar o disco da unidade agora que a opção Launcher está faltando?

    
por Chris Wilson 08.12.2012 / 00:05

3 respostas

48

Para ejetar um disco da unidade, seja um CD ou um DVD, por Chris Wilson 08.12.2012 / 00:05

13

Para abrir a unidade de CD / ejete o CD: Abra o Terminal ctrl + alt + t e digite eject Para fechar a bandeja, digite eject -t E para alternar (se abrir, fechar e se fechado, aberto) digite eject -T

Todos esses comandos podem ser digitados no diálogo de execução ( alt + F2 )

Para mais opções, digite eject -h no Terminal.

    
por Tim 17.11.2013 / 19:54
7

Abrindo a bandeja

Comandos:

  • bandeja aberta: eject
  • fechar bandeja: eject -t

Função Fácil para .bashrc

alias opentray='eject'

Alguns problemas surgem quando ejetar unidades. Às vezes, eles não querem ejetar, porque estão montados, etc. Você pode substituir isso com eject -l /media/mountpoint ou ( /mnt/mountpoint ). Eu escrevi uma função que pode ser chamada simplesmente digitando opentray na sua linha de comando.

Aviso

Isso funciona somente se

  • você configura um ponto de montagem permanente para sua unidade /dev/sr0 (a mesma coisa que /dev/cdrom , que está apenas vinculada simbolicamente a /dev/sr0 )
  • seu ponto de montagem é criado automaticamente quando você insere um disco na unidade. (Isso pode ser ignorado se você remover / comentar todas as linhas em que rm -r "$ {mountdir}" existe dessa forma o ponto de montagem nunca será removido automaticamente)
  • Deve ser executado como root a menos que você altere as permissões manualmente das funções de montagem (nunca tentei isso)
function opentray ()
{
    mountdir="/media/DVD"
    if [ -d "${mountdir}" ] # If directory ${mountdir} exists
    then
        if [ $(mount | grep -c "${mountdir}") = 1 ] # If drive is mounted, then
        then
            echo "/dev/sr0 is now mounted to ${mountdir}. I'll try to unmount it first and eject/open the tray."
            umount -l "${mountdir}"
            rm -r "${mountdir}"
            sysctl -w dev.cdrom.autoclose=0 # Ensure drive doesn't auto pull tray back in.  
            eject
            exit
        else
            echo "/dev/sr0 is not mounted. Opening the tray should be easy. Ejecting/opening now."
            rm -r "${mountdir}"
            sysctl -w dev.cdrom.autoclose=0 # Ensure drive doesn't auto pull tray back in.  
            eject
            exit
        fi
    else
        echo 'The directory "${mountdir}" does not exist. Ejecting/opening the tray.'
        sysctl -w dev.cdrom.autoclose=0 # Ensure drive doesn't auto pull tray back in.
        eject
        exit
    fi
}

Fechando a bandeja

Para completar, você pode adicionar esse alias ao seu .bashrc (ou .bash_aliases file) para puxar a bandeja de volta da linha de comando. Você não precisa ser root.

alias closetray='eject -t'
    
por Jonathan Komar 17.01.2015 / 11:21