在无头 Linux 服务器上(如果感兴趣的话,可以使用最新的 Fedora),如何检测插入的光盘是音频磁盘,而不是数据磁盘或视频 DVD?没有安装桌面环境,我宁愿不安装。
我看到的是挂载失败,但我猜测数据磁盘损坏也可能是这种情况:
[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
有什么建议么?
答案1
实现此目的的一种方法是使用偏执狂命令行工具。在 Ubuntu Linux 中,你可以通过
sudo apt install cdparanoia
然后运行
cdparanoia -Q
其中“-Q”代表“查询”。如果驱动器中没有音频光盘,您将得到
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?
否则它看起来像...
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
答案2
如何检测插入的光盘是否是音频光盘?
#!/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