(http://www.digimoon.net/)
리눅스 콘솔 상에서 한글 입출력을 가능케 하는 방법에 대해 소개해 보고자 합니다.
jfbterm 이라는 패키지를 이용하는 방법입니다.
관련링크: http://hangul-jfbterm.kldp.net/install.html
KLDP를 비롯해서 인터넷에 관련 기술 문서들이 여럿 있기는 하지만 패키지 파일 링크가 깨진 곳도 있고 좀처럼 쉽게 기술된 문서도 흔치 않기에 삽질의 결과로 나름대로 쉽게 정리한 자료를 공개합니다.
CentOS 5.0 32bit 에 소스컴파일로 설치하는 방법입니다. 우선 패키지부터 구해야죠.
( http://kldp.net/frs/?group_id=463 )
압축 풀고 난 뒤 아래와 같은 과정으로 설치합니다. 고대~로 따라 하기만 하면 됩니다.
소스 설치라고 해서 거부감 갖는 일은 없도록 합시다. 저는 개인적으로 소스 설치를 선호~ ㅎ
# tar xzvf jfbterm-0.4.7-7-han-3.5.tar.gz
# cd jfbterm-0.4.7-7-han-3.5/
# ./configure --prefix=/usr
# make
# make install
# cat termcap.jfbterm>> /etc/termcap
# tic terminfo.jfbterm
# cp jfbterm.conf.sample.han /usr/etc/jfbterm.conf
# cd jfbterm-0.4.7-7-han-3.5/
# ./configure --prefix=/usr
# make
# make install
# cat termcap.jfbterm>> /etc/termcap
# tic terminfo.jfbterm
# cp jfbterm.conf.sample.han /usr/etc/jfbterm.conf
그 다음 시스템 부팅 시 프레임버퍼로 부팅할 수 있게 하기 위해 부트로더 환경설정 파일을 수정해 줘야 합니다.
대부분 grub를 부트로더로 많이들 쓰실 겁니다. /boot/grub/grub.conf 파일을 열어서 아래와 같이 수정합니다.
붉은색으로 표시한 부분이 추가 설정한 부분입니다.
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda3
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-53.1.21.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-53.1.21.el5 ro root=LABEL=/ vga=771
initrd /initrd-2.6.18-53.1.21.el5.img
title CentOS (2.6.18-53.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-53.el5 ro root=LABEL=/ vga=771
initrd /initrd-2.6.18-53.el5.img
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda3
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-53.1.21.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-53.1.21.el5 ro root=LABEL=/ vga=771
initrd /initrd-2.6.18-53.1.21.el5.img
title CentOS (2.6.18-53.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-53.el5 ro root=LABEL=/ vga=771
initrd /initrd-2.6.18-53.el5.img
위와 같이 설정하게 되면 콘솔 화면 해상도가 800x600 으로 변경됩니다. 기본값인 600 x 480 해상도에 비해 화면에 표시될 수 있는 텍스트의 수가 대폭 늘어나고 가독성도 좋아지더군요. 그리고 부팅 시 펭귄 이미지도 뜹니다. ^^
grub을 편집했으면 재부팅 한 번 해 주고 다음 작업으로 넘어가 봅시다.
다시 http://kldp.net/frs/?group_id=463 <- 이 링크로 가 보면 친절하게도 이미 한글용 폰트 패키지가 제공되고 있음을 확인할 수 있습니다. /usr/etc/jfbterm.conf 파일을 편집하기에 앞서 /usr/share/fonts 디렉토리로 이동한 후 폰트 패키지를 다운로드하여 압축을 풀어 놓습니다.
# cd /usr/share/fonts
# wget http://kldp.net/frs/download.php/1242/jfbterm-font-pack-1.tar.gz
# tar xvfz jfbterm-font-pack-1.tar.gz
# cd jfbterm-font-pack-1
# ls -l
-r--r--r-- 1 root root 141431 Jun 16 21:17 ieng_ihangul.pcf.gz
-r--r--r-- 1 root root 2222 Jun 16 21:17 ieng.pcf.gz
-rw-r--r-- 1 root root 33276 Jun 16 21:17 ihan_ksc.pcf.gz
-rw-r--r-- 1 root root 812907 Jun 16 21:17 unifont.pcf.gz
#
# wget http://kldp.net/frs/download.php/1242/jfbterm-font-pack-1.tar.gz
# tar xvfz jfbterm-font-pack-1.tar.gz
# cd jfbterm-font-pack-1
# ls -l
-r--r--r-- 1 root root 141431 Jun 16 21:17 ieng_ihangul.pcf.gz
-r--r--r-- 1 root root 2222 Jun 16 21:17 ieng.pcf.gz
-rw-r--r-- 1 root root 33276 Jun 16 21:17 ihan_ksc.pcf.gz
-rw-r--r-- 1 root root 812907 Jun 16 21:17 unifont.pcf.gz
#
소스로 jfbterm 을 설치하게 되면 /usr/etc 디렉토리에 jfbterm.conf 파일이 위치하게 됩니다.
/usr/etc/jfbterm.conf 파일을 편집기로 열어봅니다.
아래 링크를 참조하면 위 설정 파일의 내용을 어떻게 고칠 수 있는지 나와 있습니다.
http://hangul-jfbterm.kldp.net/install.html
fontset 이라는 지시자가 있는 곳의 폰트 경로를 적당히 수정하기만 하면 끝입니다.
/usr/share/fonts/jfbterm-font-pack-1 디렉토리에 넣어둔 폰트 파일로 지정하면 되는 것이죠.
붉은 색으로 표시된 부분과 동일하게 수정하면 됩니다.
###############################################################################
#
# Font configuration
# Absolute path or relative path to PWD
#
###############################################################################
fontset : iso646-1973irv,pcf,L,/usr/share/fonts/jfbterm-font-pack-1/ieng.pcf.gz
+fontset: ansix3.4-1968,alias,L,iso646-1973irv
#+fontset: jisc6226-1978,pcf,L,/usr/X11R6/lib/X11/fonts/misc/jiskan16.pcf.gz
#+fontset: jisx0208-1983,alias,L,jisc6226-1978
#+fontset: jisc6220-1969roman,pcf,L,/usr/X11R6/lib/X11/fonts/misc/a18rk.pcf.gz
#+fontset: jisc6220-1969kana,alias,R,jisc6220-1969roman
#+fontset: jisx0212-1990,pcf,L,/usr/X11R6/lib/X11/fonts/misc/jksp16.pcf.gz
#+fontset: gb2312-80,pcf,L,/usr/X11R6/lib/X11/fonts/misc/gb16fs.pcf.gz
+fontset: ksc5601-1987,pcf,L,/usr/share/fonts/jfbterm-font-pack-1/ihan_ksc.pcf.gz
#+fontset: iso8859.1-1987,pcf,R,/usr/share/fonts/jfbterm-font-pack-1/ieng_ihangul.pcf.gz
#+fontset: iso8859.2-1987,pcf,R,/usr/X11R6/lib/X11/fonts/misc/lt2-16-etl.pcf.gz
#+fontset: iso8859.3-1988,pcf,R,/usr/X11R6/lib/X11/fonts/misc/lt3-16-etl.pcf.gz
#+fontset: iso8859.4-1988,pcf,R,/usr/X11R6/lib/X11/fonts/misc/lt4-16-etl.pcf.gz
#+fontset: iso8859.5-1988,pcf,R,/usr/X11R6/lib/X11/fonts/misc/cyr16-etl.pcf.gz
#+fontset: iso8859.7-1987,pcf,R,/usr/X11R6/lib/X11/fonts/misc/grk16-etl.pcf.gz
#+fontset: iso8859.8-1988,pcf,R,/usr/X11R6/lib/X11/fonts/misc/heb16-etl.pcf.gz
#+fontset: iso8859.9-1989,pcf,R,/usr/X11R6/lib/X11/fonts/misc/lt5-16-etl.pcf.gz
#+fontset: iso8859.10-1992,pcf,R,/usr/X11R6/lib/X11/fonts/misc/8x13-ISO8859-10.pcf.gz
#+fontset: iso8859.13-1998,pcf,R,/usr/X11R6/lib/X11/fonts/misc/8x13-ISO8859-13.pcf.gz
#+fontset: iso8859.14-1998,pcf,R,/usr/X11R6/lib/X11/fonts/misc/8x13-ISO8859-14.pcf.gz
#+fontset: iso8859.15-1999,pcf,R,/usr/X11R6/lib/X11/fonts/misc/8x13-ISO8859-15.pcf.gz
+fontset: vt100-graphics,pcf,L,/usr/share/fonts/jfbterm/vt100-graphics.pcf.gz
+fontset: iso10646.1,pcf,U,/usr/share/fonts/jfbterm-font-pack-1/unifont.pcf.gz
#
# Font configuration
# Absolute path or relative path to PWD
#
###############################################################################
fontset : iso646-1973irv,pcf,L,/usr/share/fonts/jfbterm-font-pack-1/ieng.pcf.gz
+fontset: ansix3.4-1968,alias,L,iso646-1973irv
#+fontset: jisc6226-1978,pcf,L,/usr/X11R6/lib/X11/fonts/misc/jiskan16.pcf.gz
#+fontset: jisx0208-1983,alias,L,jisc6226-1978
#+fontset: jisc6220-1969roman,pcf,L,/usr/X11R6/lib/X11/fonts/misc/a18rk.pcf.gz
#+fontset: jisc6220-1969kana,alias,R,jisc6220-1969roman
#+fontset: jisx0212-1990,pcf,L,/usr/X11R6/lib/X11/fonts/misc/jksp16.pcf.gz
#+fontset: gb2312-80,pcf,L,/usr/X11R6/lib/X11/fonts/misc/gb16fs.pcf.gz
+fontset: ksc5601-1987,pcf,L,/usr/share/fonts/jfbterm-font-pack-1/ihan_ksc.pcf.gz
#+fontset: iso8859.1-1987,pcf,R,/usr/share/fonts/jfbterm-font-pack-1/ieng_ihangul.pcf.gz
#+fontset: iso8859.2-1987,pcf,R,/usr/X11R6/lib/X11/fonts/misc/lt2-16-etl.pcf.gz
#+fontset: iso8859.3-1988,pcf,R,/usr/X11R6/lib/X11/fonts/misc/lt3-16-etl.pcf.gz
#+fontset: iso8859.4-1988,pcf,R,/usr/X11R6/lib/X11/fonts/misc/lt4-16-etl.pcf.gz
#+fontset: iso8859.5-1988,pcf,R,/usr/X11R6/lib/X11/fonts/misc/cyr16-etl.pcf.gz
#+fontset: iso8859.7-1987,pcf,R,/usr/X11R6/lib/X11/fonts/misc/grk16-etl.pcf.gz
#+fontset: iso8859.8-1988,pcf,R,/usr/X11R6/lib/X11/fonts/misc/heb16-etl.pcf.gz
#+fontset: iso8859.9-1989,pcf,R,/usr/X11R6/lib/X11/fonts/misc/lt5-16-etl.pcf.gz
#+fontset: iso8859.10-1992,pcf,R,/usr/X11R6/lib/X11/fonts/misc/8x13-ISO8859-10.pcf.gz
#+fontset: iso8859.13-1998,pcf,R,/usr/X11R6/lib/X11/fonts/misc/8x13-ISO8859-13.pcf.gz
#+fontset: iso8859.14-1998,pcf,R,/usr/X11R6/lib/X11/fonts/misc/8x13-ISO8859-14.pcf.gz
#+fontset: iso8859.15-1999,pcf,R,/usr/X11R6/lib/X11/fonts/misc/8x13-ISO8859-15.pcf.gz
+fontset: vt100-graphics,pcf,L,/usr/share/fonts/jfbterm/vt100-graphics.pcf.gz
+fontset: iso10646.1,pcf,U,/usr/share/fonts/jfbterm-font-pack-1/unifont.pcf.gz
jfbterm 명령어로 이제 콘솔 상에서도 한글 입출력이 가능합니다.
# jfbterm
한영모드 입력 전환은 <shift> + <space bar> 입니다.