Como listar todos os drivers óticos presentes?

2

Como posso listar todos os drivers óticos instalados com udev ou qualquer outra ferramenta baseada em núcleo (o perl também é muito bom)?

P.S .: Eu sei sobre o comando wodim --devices , mas é uma dependência indesejável.

    
por Anton Shevtsov 25.02.2013 / 05:32

1 resposta

1

Se você gosta do Perl, então este código de exemplo encontrado no CPAN poderia fazer o truque. Também tem baixas dependências. A biblioteca que você precisa é Device-Cdio .

use strict;

BEGIN {
    chdir 'example' if -d 'example';
    use lib '../lib';
    eval "use blib";  # if we fail keep going - maybe we have installed Cdio
}

use Device::Cdio;
use Device::Cdio::Device;
use Device::Cdio::Track;
use vars qw($0 $program $pause %opts);

sub print_drive_class($$$) {
    my ($msg, $bitmask, $any) = @_;
    my @cd_drives = Device::Cdio::get_devices_with_cap($bitmask, $any);
    print "$msg...\n";
    foreach my $drive (@cd_drives) {
    print "Drive $drive\n";
    }
    print "-----\n";
}
my @cd_drives = Device::Cdio::get_devices($perlcdio::DRIVER_DEVICE);
foreach my $drive (@cd_drives) {
    print "Drive $drive\n";
}
print "-----\n";
print_drive_class("All CD-ROM drives (again)", $perlcdio::FS_MATCH_ALL, 0);
    
por 25.02.2013 / 07:57