Estou trabalhando em um livro do Linux e ele está me falando sobre dispositivos. Ele diz que se eu enviar a saída apropriada para /dev/dsp
, ele reproduzirá um som. O exemplo é cat file.wav > /dev/dsp
onde file.wav é qualquer arquivo .wav.
Quando faço isso, recebo permissão negada. Se eu executar isso com o sudo, ainda recebo permissão negada. Se eu su
primeiro, nenhum som é reproduzido.
Por que obtenho permissão negada sudo
? Por que nenhum som é reproduzido su
?
linux-mint
devices
Korgan Rivera
fonte
fonte
audio
grupo.Respostas:
/dev/dsp
faz parte do OSS, que não faz parte do kernel do Linux há ... muito tempo. Há muito que é substituído pelo ALSA, que usa dispositivos diferentes, programas diferentes e uma API diferente.Existe um módulo de camada de emulação. Se estiver disponível, carregar o
snd-pcm-oss
módulo permitirá que você use os dispositivos PCM para OSS, como/dev/dsp
.Ou apenas mantenha a tubulação de dados para
aplay
ou empaplay
vez disso.fonte
sudo modprobe snd-pcm-oss
funciona no meu ubuntu para carregar esse módulo. Eu recebo um/dev/dsp1
e outro/dev/dsp2
disso.Por esta declaração, parece que você está tentando um comando como:
O motivo pelo qual você continua recebendo "permissão negada" é que seu shell primeiro tenta abrir o
/dev/dsp
dispositivo para saída, antes de executar o comando (que ésudo
). Para que o shell abra o redirecionamento com privilégios de root, você teria que fazer algo como:fonte
Livro desatualizado, conforme observado.
Então, para fazer os exemplos funcionarem com o linux mais moderno, onde diz algo como
altere para:
E você acabou de fazer sua primeira portabilidade de código! Ganhar! Sinta-se à vontade para enviar as correções do autor do livro. :-)
fonte