'리눅스'에 해당되는 글 5건

  1. 2009.02.21 리눅스에서 mbc 라디오 온에어 듣기 2
  2. 2008.12.18 리눅스/파이어폭스로 kbs 온에어 듣기
  3. 2008.12.14 리눅스 비프음 끄기
  4. 2008.12.14 Fedora Core 6 한글 환경 설정하기 1
  5. 2008.12.14 mysql 기초

리눅스에서 mbc 라디오 온에어 듣기

원래 mbc 라디오는 고정된 mms URL로 들을 수 있었는데 언제부턴가 imbc 사이트에 로그인을 하지 않으면 재생이 되지 않도록 바뀌어 있었다. 게다가 imbc 사이트에서 들으려고 해도 Active-X 컨트롤을 설치해야 하기 때문에 정상적인 방법으로는 리눅스에서 들을 수 없게 되었다.

예전에 kbs 온에어를 리눅스에서 듣는 방법을 찾아본 적이 있어 imbc 사이트에도 한 번 도전해 보기로 했다. Active-X를 사용하더라도 최종적으로 mms URL을 보내주는 과정은 있을 것이라는 믿음으로 시작했다.

이번에는 ethereal(http://www.ethereal.com)을 사용하기로 했다. 윈도우 XP에서 ethereal을 실행하여 익스플로러로 imbc 온에어를 최종적으로 듣기 까지의 패킷을 캡쳐했다. 아래처럼 여러 패킷이 보이는데 그 중 "playercue.imbc.com"가 눈에 띄었다. 온에어를 실행할 때 뜨는 팝업창의 주소이기 때문이다.


playercue.imbc.com으로 오고 가는 패킷을 하나씩 살펴 봤지만 raw 메시지를 보려니 쉽지 않았다. 패킷의 내용을 문자열로 변환해서 함께 보여주기는 하지만 역시 난해하다. 그러다가 "Follow TCP Stream"이라는 메뉴를 발견했다.


이 기능은 하나의 TCP 커넥션에서 오고 가는 패킷을 모아 차례대로 보여주는 기능인데, 다음과 같이 HTTP 패킷을 보기 좋게 정리해 준다.


가장 마지막 부분을 보면 ASX 태그 안에 mms URL이 포함되어 있는 것을 볼 수 있다. 온에어 주소 뒤에 긴 문자열이 있는데 인증 문자열 보인다. 이 주소를 긁어다가 곰플레어로 재생해 보니 잘 나왔다. 뭔가 되가는 것 같다. 이제 문제는 어떻게 인증 문자열을 포함한 주소를 얻어내느냐인데 역시 위에 답이 있었다.

ASX 메시지를 받기 직전을 보면 GET /Player/ ..  이렇게 요청한 URL 주소가 나와 있다. imbc 사이트에 로그인한 후 이 주소로 접속해보니 ASX 파일이 나오고 그 파일을 열어보니 인증 문자열이 추가된 mms URL이 들어 있었다.

몇 번을 테스트한 결과 불필요한 부분은 빼고 http://playercue.imbc.com/player/Player.asp?Subclass=LR&MediaUrl=mms://liveradio.imbc.com/OnAirMFM로 접속하면 된다는 것을 알 수 있었다(OnAirMFM은 FM4U를 의미. 표준FM은 OnAirMFM 대신 OnAirSFM을 쓰면 된다.)


이제 리눅스 / 파이어폭스 환경에서도 되는 지만 확인해 보는 일만 남았다. 같은 방법으로 접속해 보니 토템 플레이어가 뜨면서 imbc 온에어 재생 시 나오는 광고 동영상이 몇 개 나오지만 온에어는 나오지 않았다. 뭔가 이상하다 싶어 파이어폭스 환경 설정에서 토템이 열리지 않도록 하고 다시 해보니, ASX 파일이 다운로드 되지만 윈도우/익스플로러와는 달리 mms URL 부분에 인증 문자열(REF 태그의 HREF attribute에 있는 '?'로 시작하는 문자열)만 붙어 있었다. 토템을 열어 주소 창에 "mms://liveradio.imbc.com/OnAirMFM"을 치고 끝에 인증 문자열을 붙인 후 재생을 하니 잘 나왔다. 왜 리눅스/파이어폭스에서는 full URL이 나오지 않는 지는 알 수 없지만 리눅스에서도 imbc 라디오 온에어를 들을 수 있게 된 것이다(다른 버전으로는 실행을 안해봐서 파폭 버전에 따른 문제인지는 모르겠다.)

방법만 정리하면,
1. imbc 사이트에 로그인한다.
2. 파이어폭스로 http://playercue.imbc.com/player/Player.asp?Subclass=LR&MediaUrl=mms://liveradio.imbc.com/OnAirMFM에 접속해 ASX 파일을 다운 받는다(표준FM은 OnAirMFM 대신 OnAirSFM을 사용)
3. ASX 파일을 열어 인증 문자열을 복사한다.
4. 토템 등의 동영상 플레이어를 실행하고 주소 창에 mms://liveradio.imbc.com/OnAirMFM
를 입력하고 뒤에 3에서 얻은 인증 문자열을 붙여 넣고('?' 포함) 재생한다.
5. 즐겁게 듣는다.

※ 인증 후 재생을 두 번 이상 시도하면 막히는 kbs와는 달리 mbc의 인증 정보는 시간이 지나도 만료되지 않는 것 같다.



리눅스/파이어폭스로 kbs 온에어 듣기

컴퓨터로 종종 라디오(온에어)를 듣는다. 예전에는 방송사 사이트에 접속해서 듣곤 했지만, 요즘에는 각 방송사에서 만든 라디오 프로그램(콩 - kbs, 미니 - mbc, 고릴라 - sbs 등)도 있어 인터넷만 연결되어 있으면 손쉽게 들을 수 있다. 단, 윈도우즈용만 있다는 문제가 있긴 하다.

리눅스에서도 라디오를 들을 수는 있다. 라디오 URL이 대부분 mms로 되어 있기 때문에 그 주소만 안다면 mms 재생 가능한 플레이어를 사용해서 들을 수 있다. mbc와 sbs, 그리고 몇몇 방송들은 이 방법을 사용하면 들을 수 있다. (http://ubuntu.or.kr/viewtopic.php?p=11644)

하지만 kbs는 그렇지가 않다. 알려진 mms 주소도 없어 kbs 사이트 온에어를 통해 들으려고 해봤지만 역시 파이어폭스는 제대로 지원이 안 됐다. 작년에 리눅스에서 kbs 온에어를 들으려고 삽질한 끝에 몇 가지 사실을 알 수 있었다.

1. 우선 kbs 사이트에 가입되어 있어야 한다. kbs의 온에어는 사용자 로그인을 거친 후에만 재생할 수 있도록 되어 있다. 로그인 하지 않고 mms 주소에 접근하면 권한이 없어 재생할 수 없다.
2. mms 주소가 일정하지 않다. IP 주소가 거의 비슷하긴 하지만 항상 동일하지는 않다.

결국 일단 kbs 사이트에 로그인을 하되 사이트의 온에어 링크로는 접근이 안되니, 다른 경로를 찾아야 한다는 것을 알 수 있었다.

2009. 1. 4. 추가 : 희한하게 팝업 차단을 하고 링크를 누르면 온에어가 작동이 된다ㅡㅡ;(FF 3.0.5 버전). 그 동안 삽질한 게 좀 허무하기도 하지만 그 덕에 공부 좀 했으니 그 시간이 아깝지는 않다.

리눅스 비프음 끄기

콘솔에서 # setterm -blength 0

X윈도우에서 # xset b off

매번 실행하기 귀찮다면 다음을 ~/.bashrc 파일에 추가해 준다.

-------------------------------------------
if [ "$TERM" = "xterm" ]; then
     xset b off
elif [ "$TERM" = "linux" ]; then
    setterm -blength 0
fi
--------------------------------------------

Fedora Core 6 한글 환경 설정하기

1. 한글 폰트 설치

  Fedora Core 6를 텍스트 모드에서 설치한 후 재부팅하면 다음과 같이 글자가 제대로 나오지 않는다(영문 그래픽 설치 후 한글 환경으로 바꿔도 같은 현상이 발생한다.) 이는 한글 폰트 패키지(fonts-korean)가 설치되지 않았기 때문이다. 따라서 yum을 사용하여 설치해줘야 한다.

<그림1 - 한글이 깨져 보인다>


1-1) 페도라의 yum은 http://mirrors.fedoraproject.org에서 미러를 찾아 사용하도록 설정되어 있지만 한국 미러가 존재하지 않기 때문에 그대로 yum을 사용하면 매우 느리다(http://fedora.redhat.com/Download/mirrors.html에는 한국 미러가 지정되어 있던데 왜 저기는 없는지 모르겠다). 그러므로 수동으로 한국 미러를 사용하도록 고쳐준다(여기서는 카이스트 미러를 사용한다).

 

/etc/yum.repos.d/fedora-core.repo,

/etc/yum.repos.d/fedora-updates.repo,

/etc/yum.repos.d/fedora-extras.repo 이 세 파일을 연 후, mirrorlist 줄을 주석처리하고 baseurl을 주석해제한 후, url을 각각 다음처럼 고쳐준다.

 

baseurl=ftp://ftp.kaist.ac.kr/pub/fedora/linux/core/$releasever/$basearch/os/

baseurl=ftp://ftp.kaist.ac.kr/pub/fedora/linux/core/updates/$releasever/$basearch/

baseurl=ftp://ftp.kaist.ac.kr/pub/fedora/linux/extras/$releasever/$basearch/

 

 

1-2) yum을 사용하여 fonts-korean을 설치한다.

 

[root@FC6 ~]# yum install fonts-korean

 

  이제 X윈도우를 재시작하면 한글이 잘 나오는 것을 볼 수 있을 것이다.

 

 

2. 한글 입력기 설치

  이제 한글을 볼 수는 있게 되었는데 아직 한글 입력은 불가능하다. 한글을 입력하려면 한글 입력기 패키지들을 설치해줘야 한다.

 

앞서와 마찬가지로 yum을 사용하여 필요한 패키지(scim-libs, scim,scim-hangul)를 설치한다.

 

[root@FC6 ~]# yum install scim-hangul

(scim-libs, scim이 함께 설치된다.)

 

  다시 X윈도우를 재시작하면 패널에 scim이 떠 있는 것을 확인할 수 있으며,   Shift+Space 또는 Ctrl+Space를 사용하여 한/영 전환을 할 수 있다.

 

<그림2 - scim이 떠 있고, 한글 입력이 가능>


※ 한/영키, 한자키 사용하기

----------------------------------------------------------------------------

1) # xev를 실행한 후, 한/영키, 한자키를 눌러 키코드를 알아낸다.

2) /etc/X11/Xmodmap 파일에 다음과 같이 추가한다(키코드가 209, 210일 경우)

...

keycode 209 = Hangul_Hanja

keycode 210 = Hangul

...

3) scim 설정에서 변환키에 한/영키, 한자키를 추가한다.

------------------------------------------------------------------------------

 

 

※ KDE에서 한글을 사용하려면 kde-i18n-Korean 패키지가 필요하다. 앞서와 같이 yum을 사용해 설치하면 된다.



mysql 기초

1. mysql 시작
# service mysqld start
(mysql 데몬은 mysql 계정으로 실행됨)


2. mysql이 작동 중인지 테스트하기
 1) 실제로 접속해서 확인하기
 $ mysql -u root mysql ( root로 mysql 데이터베이스에 접속한다. )
 mysql>  \s (서버 정보 보기)
 mysql > \q 또는 quit (나가기)

 2) 또는 mysqladmin으로 확인하기
 $ mysqladmin -u root version (실행 중인 mysql 서버 정보를 보여준다.)


3. root 패스워드 변경
 1) $ mysqladmin -u root password [패스워드] 를 사용해서 root 패스워드를 변경할 수 있다. 그러나 shell history에 패스워드가 텍스트로 남게 되므로 보안 상 좋지 않다.

 2) mysql에 접속해서 변경하기
  $ mysql -u root
  mysql> set password=password('패스워드');

패스워드를 설정한 후에는 $ mysql -u root -p 실행한 뒤, 패스워드를 쳐야 접속할 수 있다.

※ mysql의 root는 시스템 계정 root와는 아무 관계가 없다. 계정을 가진 어떤 사용자도 mysql에 접속할 수 있다.


4. root를 localhost에서만 접속 가능하도록 설정하기
보안상 root 사용자는 localhost에서만 접속 가능하도록 설정하는 게 좋다.
$ mysql -u root -p (mysql에 root로 접속)
mysql> select user, host, password from mysql.user;
(현재 등록되어 있는 사용자들의  id, 접속 가능한 호스트, 패스워드를 확인)

+------+-----------+------------------+
| user | host      | password         |
+------+-----------+------------------+
| root | localhost | 574a3a0a1e20ce6e |
| root | young     |                  |
|      | young     |                  |
|      | localhost |                  |
+------+-----------+------------------+
4 rows in set (0.01 sec)

mysql> delete from mysql.user where host != 'localhost';
(localhost가 아닌 곳에서는 접속할 수 없도록 함)
mysql> select user, host, password from mysql.user;

+------+-----------+------------------+
| user | host      | password         |
+------+-----------+------------------+
| root | localhost | 574a3a0a1e20ce6e |
|      | localhost |                  |
+------+-----------+------------------+
2 rows in set (0.01 sec)


5. 사용자 추가하기
mysql> grant all on *.* to user@localhost identified by 'secretpassword';

※ Beginning Linux Programming 3rd  참고...
prev 1 next