!! 한글이 출력되게 하는 방법이야 다양하지만 zhcon, fbterm, jfbterm 등등.. !! 입력이 되게 하는 방법은 많지 않다.
!! 여러가지 찾아봤는데 zhcon, fbterm, jfbterm등등..
1. zhcon 빠르고 중국,일본어등 입력을 지원하지만 한글은 지원하지 않는다. 패치를 하시려면 하시라.. 그러나 개발이 진행되지 않으므로, 업그레이드되는 환경을 절대 따라잡지 못할 것이므로 포기.
2. jfbterm 설치 후 입력을 해봐도 안되더라.. 그래서 찾아본게 jfbterm-han과 jfbterm-uxp, jfbterm-nabi 소스를 구해서 컴파일 데비안파일 까지 다 만들어 봤는데.. 의존성 문제가 있다. libhangul0의 버전떄문에.. ibus와 충돌.. 심각하다 그리도 또 빠뜨릴 수 없는 문제.. exit하면 얼어버린다. X윈도우가 떠있다면 전환해서 kill할 수 있는 경우도 있지만 아예 먹통되서 리부팅 해야 하는 경우가 빈번.. 왜냐면 exit는 bash내장 명령으로 버릇처럼 항상 쓰이기 마련이므로..
3. fbterm 설치후 ucimf, ucimf-openvanilla, openvanilla-imgeneric 를 설치한후 fbterm -i fbterm-ucimf 이런식으로 하면 한글을 입력 할 수 있다. 근데 ucimf 라는 입력방식이 중국어 입력 시스템에 맞춰져 있어서 입력하는게 상당히 불편하다. 해보시면 머야 이러 실 것이다.
............... 거의 몇 년은 포기했다보다.. ...............
그러다 구글링에서 찾아낸것 uim-fep 입력이 가능하단다. 찾아서 설치해봤으나 아무런 변화도 없고.. 흑흑.. 그러다 다시 구글링에서 해법을 찾아냈으나, 안타깝게도 원본 주소를 잊어버려서..
바꾼 후 에 맨위의 판넬에 Input method Indicator 를 추가 하고, 기본입력기를 벼루로 설정 벼루 키설정에서 한글키와 Ctrl+Space(반드시 넣어야 됨) Shift+Space 등을 추가. 로그아웃해서 세션을 다시 시작해야 ibus->uim으로 바뀜
벼루 키설정 파일은 ~/.uim.d/customs/custom-byeoru-keys1.scm에 저장됨 참고하시라.
** 콘솔에서 입력가능 하게 만들기 ** uim-fep를 실행한 후에 보면 밑에 byeoru[B A]라고 나옴.. exit라고 치면 입력기를 빠져나옴 입력기 전환은 Ctrl+Space로 Shift+Space나 한글키 안먹더라구요 아마도 키보드 설정 때문이겟지만.. 바꾸기도 머하고 그냥 Ctrl+Space를 쓰기로 함 여기까진 X 터미널에서 해본것이고.
jfbterm나 fbterm 을 실행하려면 framebuffer를 설정 해야 되야겟지요. grub.cfg는 변경하면 안된다고 머라머라하니 (update-grub으로 자동 생성)
그리고 리부팅하고 jfbterm uim-fep 한글 입력이 가능하다 (물론 gdm이나 X가 떠있지 않아도 된다) exit를 입력하면 얼어버린다.
** 편하게 사용하기 ** 터미널에서 로그인시 자동으로 jfbterm를 실행해 보자. .bashrc에서 jfbterm이 실행되어 있으면 uim-fep를 실행되게끔 해보았으나 실패했다 mmap(mmio)에러가 난다. 그래서 .profile에 추가 jfbterm -q -e 명령으로 사용 해결..(-q는 조용히 하란 뜻임) alias를 넣어보았으나 실패했다.
++ ~/.profile에 다음을 추가 ++ ##여기서 부터 ------------------------------------------ tty_tmp=`tty | sed -e "s/\/dev\/\([ty]*\)\([0-9]*\).*/\1 \2/"` ttytype=${tty_tmp%% *}
#콘솔에서 로그인 한경우 if [ "$ttytype" == "tty" ]; then echo "You are in Console." ttyno=${tty_tmp##* } # 원하는 tty 번호를 입력하자 예시는 (3-6번 tty)까지를 사용하게 하고 있다. for available in 3 4 5 6; do [ $ttyno -eq $available ] && { echo "Intialize JFBTERM .."
#로그인쉘의 PID를 기억함 export JFBTERM_PID=$$ #alias exit='[ "eval echo \$$" != "$JFBTERM_PID" ] && kill -9 $$ ]' #jfbterm실행하면서 입력기 로드.. exec /usr/bin/jfbterm -q -e /usr/bin/uim-fep #fi }; done #터미널에서 로그인 한 경우 else echo "Maybe you are in X-Window." fi ##여기 까지 ---------------------------------------------------
** exit시 얼어버리는 문제 임시방편 **
++ ~/.bash_aliases에 다음을 추가 ++ ##여기서 부터 ------------------------------------------ #.profile에서 저장한 PID와 자신의 PID를 비교 같으면 아무짓도 안하고.. # 다르면(로그인쉘이 아니라면) 자신을 죽인다 # 어떻게 죽이느냐 exit는 alias하므로 exit명령을 사용할 수는 없을 것 이므로 # kill -9 $$로 자신을 죽이라고 신호 보낸후 exit코드를 리턴하게 한다 # echo|sed "d;q $!" 라는 코드는 sed가 죽으면서 $!(alias의 인수)를 exit코드로 반환하게 한다. # exit 1과 같은 명령의 처리법임.
여기 까지 하면 거의 문제 없이 한글 을 사용할 수 가 있다. 긴글을 읽어내느라 고생들 하셨겠지만... 제가 고생한것에 비하면 그건 아무것 도 아니니 이해 해 주시리라 믿는다. uim-fep는 어떤 콘솔프로그램에서도 키보드문제등만 없다면 한글을 훌륭히 처리해준다.
!!!!!!!!!! UIM 만세 UIM-FEP 만세 !!!!!!!!!!
** 콘솔에서 영어로 보자구??? ** #하지만 한글입출력이 콘솔에서도 된다면.. 그럴필요가 없을껄? ##여기서 부터 ---------------------------------------- #위의 스크립트중 #콘솔에서 로그인 한경우 if [ "$ttytype" == "tty" ]; then #밑에 다음을 넣으면 man페이지가 영어로 나옴 #export LANGUAGE=en_US.UTF-8;en;ko_KR.UTF-8;ko #export LC_ALL="C" 혹은 export LC_ALL="en_US.UTF-8"로 #설정하면 기본 로케일을 미국영어로 인식함 ##여기 까지 -------------------------------------------
** 추가 팁: gdm 띠우지 않기 ** ++ /etc/init/gdm.conf 파일의 수정 ++ ##여기서 부터 ------------------------------------------ start on ((filesystem and (runlevel [!036] #요기 밑에 #and runlevel 3 #을 추가 거부조건과 일치조건이 같아서 절대로 실행이 안 됨 ##여기 까지----------------------------------------------