Em um servidor linux headless, detecta se o disco óptico inserido é um disco de áudio

2

Em um servidor Linux sem cabeçalho (o mais recente fedora se isso for de interesse), como posso detectar que o disco óptico inserido é um disco de áudio, em oposição a um disco de dados ou um DVD de vídeo? Não há ambiente de desktop instalado e eu preferiria não instalar um.

O que eu posso ver é que a montagem falha, mas acho que também pode ser o caso de um disco de dados corrompido:

[root@server ~]# mount /dev/sr0 /mnt/cdrom
mount: /dev/sr0 is write-protected, mounting read-only
mount: /dev/sr0: can't read superblock
[root@server ~]# echo $?
32

Alguma sugestão?

    
por Isaac 28.04.2016 / 17:39

2 respostas

2

Uma maneira de conseguir isso é usar a ferramenta de linha de comando cdparanoia . No Ubuntu Linux você pode instalá-lo através de

sudo apt install cdparanoia

execute

cdparanoia -Q

Onde "-Q" significa "consulta". Se não houver nenhum disco de áudio na unidade, você obterá

cdparanoia III release 10.2 (September 11, 2008)
004: Unable to read table of contents header
Unable to open disc.  Is there an audio CD in the drive?

Caso contrário, parece ...

Table of contents (audio tracks only): track        length             begin        copy pre ch
===========================================================
  1.     8315 [01:50.65]        0 [00:00.00]    no   no  2
  2.    12830 [02:51.05]     8315 [01:50.65]    no   no  2
  3.    15642 [03:28.42]    21145 [04:41.70]    no   no  2
  4.    16238 [03:36.38]    36787 [08:10.37]    no   no  2
    
por 28.04.2016 / 17:59
3

Como posso detectar se um disco óptico inserido é um disco de áudio?

#!/bin/bash
checkforaudio='gvfs-info -f cdda://sr0/ | grep "filesystem::type: cdda"'
if [ "$checkforaudio" == "  filesystem::type: cdda" ]; then
    vlc cdda:///dev/sr0
    else
        checkfordvd='find /media/*/ -name "VIDEO_TS" | grep "VIDEO_TS"'
        if [ ${checkfordvd:(-8)} == "VIDEO_TS" ]; then
            vlc dvd:///dev/sr0
            else
            pcmanfm
        fi
fi
exit 0

Fonte link

    
por 28.04.2016 / 17:54