Linux 교과서를 통해 작업 중이며 장치에 대해 알려줍니다. 적절한 출력을에 보내면 /dev/dsp
소리가 재생됩니다. 예를 들어 cat file.wav > /dev/dsp
, file.wav는 모든 .wav 파일입니다.
이렇게하면 권한이 거부됩니다. sudo로 이것을 실행하면 여전히 권한이 거부됩니다. 내가 만약 su
첫째, 사운드가 재생되지 않습니다.
권한이 거부 된 이유는 무엇 sudo
입니까? 왜 소리가 들리지 su
않습니까?
답변
/dev/dsp
Linux 커널에 포함되지 않은 OSS의 일부입니다. ALSA는 오랫동안 다른 장치, 다른 프로그램 및 다른 API를 사용합니다.
에뮬레이션 레이어 모듈이 있습니다. 사용 가능한 경우 snd-pcm-oss
모듈 을로드 하면와 같은 OSS 용 PCM 장치를 사용할 수 있습니다 /dev/dsp
.
또는 파이핑 데이터를 그대로 aplay
또는 paplay
대신 사용하십시오.
답변
sudo로 이것을 실행하면 여전히 권한이 거부됩니다.
이 문장에 따르면 다음과 같은 명령을 시도하는 것처럼 들립니다.
sudo cat file.wav > /dev/dsp
“permission denied”가 계속 발생하는 이유 는 명령 ()을 실행 하기 전에 쉘이 먼저/dev/dsp
출력을 위해 장치 를 열려고 하기 때문sudo
입니다. 쉘이 루트 권한으로 경로 재 지정을 열려면 다음과 같은 작업을 수행해야합니다.
sudo sh -c 'cat file.wav > /dev/dsp'
답변
명시된 바와 같이 오래된 책.
예를 들어 더 현대적인 리눅스에서 작동하게하려면 다음과 같이 말합니다.
cat music.wav > /dev/dsp
그것을 다음으로 변경하십시오 :
cat music.wav | aplay
그리고 첫 번째 코드 포팅을 완료했습니다! 승리! 책 저자 패치를 자유롭게 보내십시오. 🙂