Ich arbeite gerade an einem Linux-Lehrbuch, in dem es um Geräte geht. Es heißt, wenn ich den entsprechenden Ausgang an sende /dev/dsp
, wird ein Ton abgespielt. Im Beispiel ist cat file.wav > /dev/dsp
file.wav eine beliebige .wav-Datei.
Wenn ich das tue, wird mir die Erlaubnis verweigert. Wenn ich das mit sudo starte, wird mir die Erlaubnis trotzdem verweigert. Wenn ich das su
zuerst mache, wird kein Ton abgespielt.
Warum bekomme ich die Erlaubnis verweigert sudo
? Warum spielt kein Ton mit su
?
linux-mint
devices
Korgan Rivera
quelle
quelle
audio
Gruppe befindet.Antworten:
/dev/dsp
ist ein Teil von OSS, der seit ... langer Zeit nicht mehr zum Linux-Kernel gehört. Es wird seit langem von ALSA abgelöst, das unterschiedliche Geräte, unterschiedliche Programme und eine unterschiedliche API verwendet.Es gibt jedoch ein Emulationsebenenmodul. Wenn es verfügbar ist, können Sie durch Laden des
snd-pcm-oss
Moduls die PCM-Geräte für OSS verwenden, z/dev/dsp
.Oder bleiben Sie einfach beim Weiterleiten von Daten an
aplay
oderpaplay
stattdessen.quelle
sudo modprobe snd-pcm-oss
funktioniert auf meinem Ubuntu, um dieses Modul zu laden. Ich bekomme ein/dev/dsp1
und ein/dev/dsp2
raus.Nach dieser Aussage klingt es, als würden Sie einen Befehl wie den folgenden versuchen:
Der Grund dafür, dass Ihnen weiterhin die Berechtigung verweigert wird, besteht darin, dass Ihre Shell zuerst versucht, das
/dev/dsp
Gerät für die Ausgabe zu öffnen , bevor Sie den Befehl ausführen (welcher istsudo
). Damit die Shell die Umleitung mit Root-Rechten öffnet, müssten Sie Folgendes tun:quelle
Wie bereits erwähnt, veraltetes Buch.
Damit die Beispiele mit modernerem Linux funktionieren, steht dort so etwas wie
ändere es in:
Und Sie haben gerade Ihre erste Code-Portierung durchgeführt! Sieg! Fühlen Sie sich frei, um die Buchautor Patches zu senden. :-)
quelle