Kor*_*era 15 devices linux-mint
我正在阅读一本 Linux 教科书,它告诉我有关设备的信息。它说如果我将适当的输出发送到/dev/dsp,那么它会播放声音。示例是cat file.wav > /dev/dsp,其中 file.wav 只是任何 .wav 文件。
当我这样做时,我的许可被拒绝。如果我用 sudo 运行它,我仍然会被拒绝。如果我su首先,没有声音播放。
为什么我的权限被拒绝sudo?为什么即使使用 也没有声音播放su?
Ign*_*ams 17
/dev/dsp是 OSS 的一部分,它在……很长一段时间内都不是 Linux 内核的一部分。它早已被 ALSA 所取代,后者使用不同的设备、不同的程序和不同的 API。
不过有一个仿真层模块。如果可用,则加载该snd-pcm-oss模块将使您能够将 PCM 设备用于 OSS,例如/dev/dsp.
或者只是坚持将数据传递给aplay或paplay代替。
Gre*_*ill 12
如果我用 sudo 运行它,我仍然会被拒绝。
通过此语句,听起来您正在尝试以下命令:
sudo cat file.wav > /dev/dsp
Run Code Online (Sandbox Code Playgroud)
您继续获得“权限被拒绝”的原因是您的 shell在运行命令(即)之前首先尝试打开/dev/dsp设备进行输出。要让 shell 以 root 权限打开重定向,您必须执行以下操作:sudo
sudo sh -c 'cat file.wav > /dev/dsp'
Run Code Online (Sandbox Code Playgroud)
小智 9
如上所述,过时的书。
因此,为了使示例适用于更现代的 linux,它说的是
cat music.wav > /dev/dsp
Run Code Online (Sandbox Code Playgroud)
将其更改为:
cat music.wav | aplay
Run Code Online (Sandbox Code Playgroud)
您刚刚完成了第一次代码移植!赢!随意发送本书作者补丁。:-)
| 归档时间: |
|
| 查看次数: |
22860 次 |
| 最近记录: |