Linux 교과서를 읽고 있는데 장치에 대해 알려줍니다. 적절한 출력을 보내면 /dev/dsp
사운드가 재생된다고 합니다. 예를 들어 cat file.wav > /dev/dsp
file.wav는 임의의 .wav 파일입니다.
이렇게 하면 내 허가가 거부됩니다. sudo로 실행해도 여전히 거부됩니다. 내가 su
먼저 가면 소리가 나지 않습니다.
내 허가가 거부된 이유는 무엇입니까 sudo
? 사용하는데 왜 소리가 나지 않나요 su
?
답변1
/dev/dsp
이는 오랫동안 Linux 커널의 일부가 아니었던 OSS의 일부입니다. 오랫동안 다른 장치, 다른 프로그램, 다른 API를 사용하는 ALSA로 대체되었습니다.
그러나 시뮬레이션 레이어 모듈이 있습니다. 가능한 경우 이 모듈을 로드하면 OSS가 포함된 snd-pcm-oss
PCM 장치를 사용할 수 있습니다./dev/dsp
아니면 그냥 데이터를 aplay
또는 으로 전송하라고 주장하세요 paplay
.
답변2
sudo로 실행해도 여전히 거부됩니다.
이 문장을 사용하면 다음과 같은 명령을 시도하는 것처럼 들립니다.
sudo cat file.wav > /dev/dsp
"권한 거부" 메시지가 계속 나타나는 이유는 쉘이첫 번째/dev/dsp
출력을 위해 장치를 열어보십시오 .앞으로명령(예: sudo
)을 실행합니다. 쉘이 루트 권한으로 리디렉션을 열도록 하려면 다음을 수행해야 합니다:
sudo sh -c 'cat file.wav > /dev/dsp'
답변3
언급했듯이 오래된 책입니다.
따라서 이러한 예제를 보다 현대적인 Linux에서 작동하게 하려면 다음과 같이 말해야 합니다.
cat music.wav > /dev/dsp
다음으로 변경하세요.
cat music.wav | aplay
# or
aplay music.wav