우분투에서 한글 맨페이지를 보자!

밑의 방법은 groff-utf8이 추가적으로 필요하다.
이것 없이 한글 맨페이지를 보는 방법은 http://blog.haz3.com/115 를 참고하길 바람
-----
우분투 기본 한글 로케일은 ko_KR.UTF8 이다. 그래서 한글 맨페이지(manpages-ko)를 볼때는 깨져서 제대로 볼 수 없다. 그래서 UTF8환경에서 한글 맨페이지를 보려면 어떻게 해야할까? 라고 우분투채널의 강분도님이 의문을 주셨다. ㅡ0ㅡ (이때부터 삽질의 시작이.. ㅠㅠ)
그래서 구글링은 한 결과 groff-utf8이라는게 있단다. 이게 뭐냐면 맨페이지 포맷터랄까? html의 각종 태그를 포맷팅해서 브라우져에서 이뿌게 보여주는 것 처럼 맨페이지도 일종의 문법을 가지고 있고, 이뿌게 보여주기 위해 포맷팅을 하는 것이다. 이때 utf8의 경우는 제대로 동작하지 못하는 것 같다. 그래서 groff-utf8이라는 것이 조금 도와준다랄까?
gorff-utf8페이지에 있는 것처럼 커맨드창에서 실행하면 잘 되지만, man 명령어로 보면 utf8이 아닌 ascii8로 인코딩을 하게 된다. 따라서 약간의 man(우분투 man-db 패키지) 소스의 수정이 필요하고 그 내용은 다음과 같다.

패치내용 보기


그리고 /etc/manpath.config 에 다음을 추가한다.
...
#DEFINE         nroff   /usr/bin/nroff -mandoc
DEFINE  nroff   /usr/bin/groff-utf8 -mandoc
#DEFINE         eqn     /usr/bin/eqn
...

이것으로 man-db에 대한 패치및 설정은 끝나고, groff-utf8을 설치 및 약간의 수정이 필요하다.
groff-utf8페이지에서 소스를 받아 설치한다.
$ wget http://www.haible.de/bruno/gnu/groff-utf8.tar.gz
$ tar xvfz groff-utf8.tar.gz
$ cd groff-utf8
$ make
$ make install PREFIX=/usr

/usr/bin에 설치하고 다른 곳에 설치하고 싶다면 PREFIX를 /usr/local 등으로 바꿔도 된다. 또한 manpath.config 내용도 수정이 필요하다.

이렇게 하면 한글 맨페이지를 제대로 보여주게 된다. 하지만 번역이 안된 영문페이지는 오류를 보여주게 되는데, 이럴 경우는 /usr/bin/groff-utf8을 다음과 같이 수정한다.
#case "$device" in
#  "") echo "$0: missing device" 1>&2; exit 1;;
#  utf8 | html) ;;
#  *) echo "$0: unsupported device '$device'" 1>&2; exit 1;;
#esac
#
#GROFF_COMMAND_PREFIX=u8_${device}_
#export GROFF_COMMAND_PREFIX
# We use -s (invocation of soelim), because it's easier to stuff the u8_prep
# pass into soelim than into troff, because the command-line option parsing of
# soelim is simpler.
case "$device" in
  utf8 | html) GROFF_COMMAND_PREFIX=u8_${device}_ groff -s "$@" | \
                                   u8_${device}_postp;;
  *) groff -s "$@";;
esac

위 과정을 적용하여 우분투 Gutgy 패키지를 만들어 두었다. 내용은 man-db에 패치를 적용하고 groff-utf8을 넣어두었다. Gutsy저장소를 사용하면 바로 업데이트 할 수 있다.
패키지: man-db_2.4.4-3+utf8_i386.deb
저장소 사용법: http://blog.haz3.com/107
이 방법은 그냥 편법을 써서 되도록만 하였고 실제 소스에 패치를 반영하기에는 무리가 있다. 제대로 동작하기 위해서는 groff-utf8이 기본적으로 제공되는 패키지가 아니기 때문에 groff의 수정도 필요할 것 같다.

참고: groff-utf8
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 헤즈

2007/12/17 14:13 2007/12/17 14:13
Response
No Trackback , 6 Comments
RSS :
http://blog.haz3.com/rss/response/114

Trackback URL : http://blog.haz3.com/trackback/114

Comments List

  1. 스진 2007/12/17 15:19 # M/D Reply Permalink

    ㅋㅋ 헤즈님, 분도님 쵝호~ ㅎㅎ

  2. 신준철 2007/12/17 21:26 # M/D Reply Permalink

    글중에 꾸러미만 설치하면 되나요?
    그러면 터미널창에서 명령어 설명이 한글로 나온다는 뜻인가요?
    아니면 도움말과 지원에서 한글로 나온다는 뜻인가요?
    꾸러미 설치해도 터미널창에서 영어로 나옵니다.(man cp)

    1. 헤즈 2007/12/17 21:35 # M/D Permalink

      http://blog.haz3.com/115 를 보시고 저장소를 등록하셔서 쓰시거나,
      http://archive.haz3.com/ubuntu/pool/gutsy/all/binary-i386/
      에서 man-db, groff, groff-base 를 수동설치하시면 됩니다.
      그리고
      sudo apt-get install manpages-ko
      로 한글 맨페이지를 설치하시면 man cp 할 때 한글문서를 보실 수 있습니다.

  3. 신준철 2007/12/17 21:51 # M/D Reply Permalink

    apt-get 으로 설치했습니다. 터미널에서 한글로 나오네요.
    잘 쓰겠습니다.^^,

  4. sakuragi 2007/12/19 00:11 # M/D Reply Permalink

    멋지구려 = _=)乃

  5. raskolnikov 2008/05/11 03:54 # M/D Reply Permalink

    오~ 헤즈님 저에게 빛을 내려주시는 군요
    감사드립니다.
    우분투에서 맨 페이지를 한글로 볼 수 있음으로 해서
    더 많은 우분투유져, 그리고 리눅스 유져들이 생기길 기원합니다.
    고생하신 헤즈님, 다시한번 감사합니다.

Leave a comment
« Previous : 1 : ... 88 : 89 : 90 : 91 : 92 : 93 : 94 : 95 : 96 : ... 203 : Next »

블로그 이미지

기억하는 것 보다 잊는 게 어렵다.

- 헤즈

Archives

Calendar

«   2009/07   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

Site Stats

Total hits:
85704
Today:
16
Yesterday:
97

196

109

-30 days

today : 16