Чому Linux не дозволить мені грати з / dev / dsp?


12

Я працюю над підручником Linux, і він розповідає про пристрої. У ньому сказано, що якщо я надішлю відповідний вихід /dev/dsp, він відтворить звук. Наприклад cat file.wav > /dev/dsp, де file.wav - це будь-який файл .wav.

Коли я це роблю, мені отримують відмову в дозволі. Якщо я запускаю це з судо, мені все одно відмовляють у дозволі. Якщо я suперший, звук не грає.

Чому мені отримують відмову в дозволі sudo? Чому навіть не звучить звук su?


1
Переконайтеся, що ваш користувач у audioгрупі.
Карл Гронер

Вам також може знадобитися переконатися, що у вашому WAV-файлі є неочищений звук - не всі файли .wav є сировими.
Дрейк Кларріс

@DrakeClarris, це може спричинити виведення шуму, а не дозвіл відхилений.
cjm

@cjm Я думав більше про тишу, коли грав у су
Drake Clarris

Відповіді:


14

/dev/dspце частина OSS, яка не була частиною ядра Linux протягом ... дуже давно. Його давно витіснила ALSA, яка використовує різні пристрої, різні програми та інший API.

Однак є модуль рівня емуляції. Якщо вона доступна, завантаження snd-pcm-ossмодуля дозволить вам використовувати пристрої PCM для ОС, таких як /dev/dsp.

Або просто дотримуйтесь конвеєрних даних до цього aplayчи paplayзамість нього.


2
sudo modprobe snd-pcm-ossпрацює на моєму ubuntu для завантаження цього модуля. Я отримую /dev/dsp1і /dev/dsp2вихід з цього.
Веда

9

Якщо я запускаю це з судо, мені все одно відмовляють у дозволі.

За цим твердженням звучить, як ви намагаєтеся виконати команду на зразок:

sudo cat file.wav > /dev/dsp

Причина, чому ви продовжуєте отримувати "дозвіл відмовлено", полягає в тому, що ваша оболонка спочатку намагається відкрити /dev/dspпристрій для виведення, перш ніж запустити команду (яка є sudo). Щоб оболонка відкрила перенаправлення з правами root, вам доведеться зробити щось на кшталт:

sudo sh -c 'cat file.wav > /dev/dsp'

6

Застаріла книга, як зазначалося.
Отже, щоб приклади працювали з більш сучасними Linux, де написано щось подібне

cat music.wav > /dev/dsp

змінити його на:

cat music.wav | aplay

І ви тільки що зробили свою першу перенесення коду! Виграй! Сміливо надсилайте патчі автора книги. :-)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.