2017년 3월 3일 금요일

[ Kali Linux ] 리눅스 사운드 음량 조절

 [ Kali Linux ] 리눅스 사운드 음량 조절
                  리눅스 볼륨 조절
                  리눅스 노트북 볼륨 조절
                  리눅스 소리 설정
                  리눅스 사운드 재생


칼리 리눅스를 노트북에 설치했는데,
소리는 나오지만, F9, F10 버튼으로 음량 조절이 안 됐다.






우분투로 설치했을 땐 됐는데 말이다.


인터넷을 뒤져보며, 사운드 패키지도 다시 설치하고 난리를 쳤는데,

apt-get install linux-sound-base libasound2 alsa-base alsa-utils alsa-oss alsamixergui

로 설치하니, 갑자기 되더라.
두근거리는 마음에 재부팅을 하니 다시 안 됐다.


저 패키지를 지우고 다시 설치를 해봤는데,
뭔가 잘못됐는지, GUI 로 부팅이 안 되고, Text 버전인 CUI 로만 진입이 돼서
결국 리눅스 다시 설치했다..
패키지 지울 때 조심하도록 하자..


아무튼 삽질 후,
저 사운드 패키지 중 어느 부분이 볼륨 조절이 먹힌 건지 알아보기 위해
하나씩 설치를 해봤는데, 안 됐다.


다시 인터넷을 검색해보았다.
찾아보니, pulseaudio 라는 데몬을 실행해보라는 내용이 있었다.


/usr/bin/pulseaudio 


!!!!!!!!!!!!!!!!!!!

된다.

된다!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
F9, F10 키를 눌러봐도 잘 먹힌다.


차근차근 다시 보니,



컴퓨터 부팅하자마자. 사운드 안 될때이다.
ps -ef |grep pulse 를 쳐보면
puseaudio 라는 데몬은 분명 떠 있다.



/usr/bin/pulseaudio



저런 메세지 뱉으면서, 사운드는 작동 되나,
저 상태로 멈춰있다. Ctrl + C 를 누르면 다시 사운드 안 되고,
그냥 저 상태로 터미널 끄면 된다.

pulseaudio 데몬은 두 개 떠져있는 걸 볼 수 있다.



이제 사운드가 되는 걸 볼 수 있다.


/usr/bin/pulseaudio


해결.


끝.





몇 가지 삽질했던 걸 추가하자면,

컴퓨터 부팅할 때마다 저 명령어를 넣기가 번거로워

1.
/etc/rc.local    (부팅하면 이 안에 있는 명령어들을 실행해준다.)

/usr/bin/pulseaudio 명령어를 추가하여

재부팅해보니,
크...
부팅 안 된다.

생각해보니 아까 /usr/bin/pulseaudio 를 실행했을 때 멈춰있다고 했는데
역시 부팅될 때도 멈춰있나 보다.
에러뜨면서 멈춰있다.

결국 다행히 리눅스 안전모드로 들어가서 rc.local 수정한 걸 원래대로 되돌리고
부팅하니 제대로 된다.

실패.



2.
/etc/init.d/
안에 스크립트 언어로 만들어서 넣은 뒤,
update-rc.d example.sh defaults 
명령어 날려서 service 등록을 해준다.

그럼 부팅했을 때, 저 안에 있는 스크립트들을 자동으로 실행시켜주며

service example.sh start 

명령어로 내리고 올릴 수 있다.
(등록 해제 : update-rc.d example.sh remove)


**
쉘이나 exe 프로그램을 실행시킬 수 있는 권한이 있다.
처음 쉘을 만들면
-rw-r--r--
로 되어있을 거다.
root 조차 실행 권한이 없다.

chmod 755 파일명
으로 바꿔주고 실행해보면 잘 된다.

drwxrwxrwx
d : d 는 directory 폴더, - 는 파일, l 는 링크
r : 읽기 권한
w : 쓰기 권한
x : 실행 권한
첫 번째 rwx : 소유자 권한 (뭐 root 겠지)
두 번째 rwx : 그룹 권한
세 번째 rwx : 일반 사용자 권한
**


두근두근 재부팅!

실패.

또 부팅 안 된다.
안전모드로 들어가서 롤백.

실패.



3.
그렇다! 생각해보니 데몬을 실행시켰을 때
멈춰있다면, 백그라운드로 실행시키면 된다.


/use/bin/pulseaudio 데몬 실행시키는 쉘 언어를 하나 만든 뒤,


sh ./example.sh &
(&를 마지막에 붙여주면 백그라운드로 실행)

를 rc.local 에 등록하였다.

그럼 부팅될 때, 저 스크립트를 백그라운드로 실행시켜줄 것이다.

재부팅!
오오오!! 이번엔 부팅은 된다.

근데 또 실패.

왜 그럴까.
로그인하기 전에는 사운드가 잡혀있었는데, 로그인만 하고 나면
사운드가 다시 없어져있다.

ps -ef |grep pulseaudio
로 보면
원래 실행시키는 것 + 내가 스크립트로 추가해서 실행되는 pulseaudio
이렇게 데몬이 두 개 띄워져있다.
데몬은 떠 있는데 왜 안 될까.


실패.



4.
rc.local 이든
init.d/ 안에 쉘 언어로 넣어주든
이건 모두 부팅 중에 이루어지는 것이라고 한다.

즉, 완전히 부팅이 된 뒤, 실행시키는 방법을 찾아보았다.


crontab -e 
를 터미널에 친 뒤,

크론탭을 열어

@reboot /example/example.sh 

를 추가해주었다.


저장한 뒤 재부팅!!

실패.

로그인하니 역시 안 된다.

시바저라ㅓ낭ㄹ

하아.....


여러가지 방법을 찾아보았지만 자동으로 실행시키는 건 안 됐다.
pulseaudio 라는 프로그램이
ROOT 로그인할 때 문제를 일으키는 것 같다.



/usr/bin/gnome-session-properties
를 터미널에 치면 시작프로그램 편집이란게 나온다고 다른 블로그에서 그러는데,
gnome이 업데이트가 됐는지, GUI 로 시작프로그램 편집도 안 된다.


일단 번거롭지만 부팅하자마자
가장 가까운 위치에 스크립트를 실행시키는 방법 밖엔 없는 것 같다.


일단 이렇게 써야할 것 같다.


삽질 끝.







도움을 받은 사이트

http://4444-textcube.blogspot.kr/2009/05/%EB%8D%B0%EB%B9%84%EC%95%88debian-%EC%82%AC%EC%9A%B4%EB%93%9C-%ED%8C%A8%ED%82%A4%EC%A7%80-%EC%84%A4%EC%B9%98.html

http://searchme.tistory.com/27



댓글 없음:

댓글 쓰기