Pracuję nad podręcznikiem systemu Linux, który mówi mi o urządzeniach. Mówi, że jeśli wyślę odpowiednie wyjście /dev/dsp
, to odtworzy dźwięk. Przykład jest taki cat file.wav > /dev/dsp
, gdzie file.wav to po prostu dowolny plik .wav.
Kiedy to robię, otrzymuję odmowę zgody. Jeśli uruchomię to z sudo, nadal otrzymam pozwolenie. Jeśli su
pierwszy raz, dźwięk nie będzie odtwarzany.
Dlaczego otrzymuję odmowę zgody sudo
? Dlaczego nawet dźwięk nie gra su
?
linux-mint
devices
Korgan Rivera
źródło
źródło
audio
grupie.Odpowiedzi:
/dev/dsp
jest częścią OSS, która od dawna nie była częścią jądra Linuksa. Od dawna został zastąpiony przez ALSA, który korzysta z różnych urządzeń, różnych programów i innego API.Istnieje jednak moduł warstwy emulacji. Jeśli jest dostępny, załadowanie
snd-pcm-oss
modułu umożliwi korzystanie z urządzeń PCM dla OSS, takich jak/dev/dsp
.Lub po prostu trzymaj się przesyłania danych do
aplay
lubpaplay
zamiast tego.źródło
sudo modprobe snd-pcm-oss
działa na moim Ubuntu, aby załadować ten moduł. I dostać/dev/dsp1
a/dev/dsp2
nie z tego.Zgodnie z tym stwierdzeniem brzmi to tak, jakbyś próbował wykonać polecenie takie jak:
Powodem, dla którego nadal pojawia się „odmowa uprawnień”, jest to, że powłoka najpierw próbuje otworzyć
/dev/dsp
urządzenie dla danych wyjściowych, zanim uruchomi polecenie (które jestsudo
). Aby powłoka otworzyła przekierowanie z uprawnieniami roota, musisz zrobić coś takiego:źródło
Nieaktualna książka, jak wspomniano.
Tak więc, aby przykłady działały z bardziej nowoczesnym linuksem, gdzie mówi coś takiego
zmień na:
Właśnie zrobiłeś swoje pierwsze portowanie kodu! Zdobyć! Nie krępuj się wysłać łatki autora książki. :-)
źródło