CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·주식한당 ·아이포니앙 ·MaClien ·방탄소년당 ·일본산당 ·개발한당 ·자전거당 ·이륜차당 ·소시당 ·AI당 ·패스오브엑자일당 ·안드로메당 ·나스당 ·클다방 ·바다건너당 ·걸그룹당 ·사과시계당 ·물고기당 ·전기자전거당 ·노젓는당 ·노키앙 ·가상화폐당 ·곰돌이당 ·윈폰이당 ·축구당 ·키보드당 ·리눅서당 ·IoT당 ·창업한당 ·소셜게임한당 ·여행을떠난당 ·골프당 ·콘솔한당 ·디아블로당 ·찰칵찍당 ·3D메이킹 ·X세대당 ·ADHD당 ·AI그림당 ·날아간당 ·육아당 ·배드민턴당 ·야구당 ·농구당 ·블랙베리당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·캠핑간당 ·냐옹이당 ·문명하셨당 ·클래시앙 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·개판이당 ·동숲한당 ·날아올랑 ·e북본당 ·갖고다닌당 ·이브한당 ·패셔니앙 ·도시어부당 ·FM한당 ·맛있겠당 ·포뮬러당 ·젬워한당 ·안경쓴당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·KARA당 ·꼬들한당 ·덕질한당 ·어학당 ·가죽당 ·레고당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·영화본당 ·MTG한당 ·소리당 ·적는당 ·방송한당 ·PC튜닝한당 ·그림그린당 ·소풍간당 ·심는당 ·라즈베리파이당 ·품앱이당 ·리듬탄당 ·달린당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·나혼자산당 ·스타한당 ·스팀한당 ·파도탄당 ·퐁당퐁당 ·테니스친당 ·테스트당 ·빨콩이당 ·공대시계당 ·터치패드당 ·트윗당 ·VR당 ·시계찬당 ·WebOs당 ·위스키당 ·와인마신당 ·WOW당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

사용기

리눅스 한글 입력기 버그 사냥기 15

2015-05-22 16:57:06 218.♡.83.15
NeverEnd

 

벌써 1년이나 되어 버린 내용이지만, 혹시나 다른 분들에게 도움이 될까 해서 정리해봅니다.

 

우분투가 버전업 될 때 마다 항상 빠지지 않고 나오는 이야기중에 하나가 한글 입력이 제대로 안된다 입니다. scim 시절에는 잘 쓰고 있었는데, 한동안 안쓰다가 다시 되돌아와 보니, 한글입력이 되긴 하는데 이건 원.. 된다고 말 할 수조차 없는 상황이 되버렸습니다. ibus를 쓰니 KDE에서 입력도 안되고, 몇년째 같은 버그는 해결이 되지도 않고 있고, 그나마 새로 만들어서 나아 보이는 fcitx는 KDE에서 입력이 잘되는데, ibus와 똑같은 한글 입력 문제를 가지고 있고, 벼루나 나비를 쓰려니 qt creator에서 뭔가 부자연스러운 듯 해서, 삽을 들어 버렸습니다.

 

우선 어떤 문제인지 정리를 먼저 했습니다.

 

1. 띄어쓰기가 제멋대로 나온다.

  "클리앙은 인터넷" 이라고 치면 "클리앙 은인​터넷”이라고 나옵니다.

 

2. 마지막 글자가 사라진다.

  클리앙Clien이라고 치면, 클리Clien이라고 한영변환이 일어나기 직전의 글자가 사라집니다.

 

3. 글자를 입력하는 도중에 마우스 포커스를 이동하면, 이동한 포커스를 따라서 글자가 날아다님.

  클리앙 이라도 치는 도중에 다른 창을 선택하면, 입력하던 창에서는 클리가 남아 있고 옮겨간 창에 앙이 붙어 있습니다.

 
생판 처음 보는 남의 소스를 들여다 보니 감을 잡기 힘듭니다. 근데 현상을 보니 ibus와 매우 유사한 것 같아서 ibus 버그 리포팅을 뒤지기 시작 했습니다.​ ibus에서는 2009년에 이미 확인되어 해결된 문제 였습니다.(https://code.google.com/p/ibus/issues/detail?id=654)
 
소스를 들여다 보니, 한글을 입력하는 도중에 한글외 문자가 들어오면 입력기를 거치지 않고, 바로 바이패스 하고, 입력중이 문자는 그 뒤로 전달이 되어 문자열 역전현상이 일어 난것처럼 보였습니다. 우선 github에서 fcitx 소스를 클론하고, 수정한 후에 원저작자에게 ibus와 똑같은 버그에 똑같은 해결 법이라고 pull request를 보냅니다. 그리고, fcitx-qt5도 수정 합니다. 이제 첫번째 문제는 해결이 됐습니다.
 
두번째는 한글 입력 특성에 있습니다. 조합을 해야 하는 한글 특성상, preedit->commit의 단계를 거쳐야 합니다. 한글은 중국어와 다른게 한글은 입력하는 그대로 쓰면 되지만, 중국어는 입력하는 내용을 바탕으로 후보중에서 골라야하는 상황이 발생합니다. 따라서 입력하는 도중에 입력언어가 달라지면, preedit 텍스트를 reset시켜야 합니다. 근데, 원저작자가 중국사람이다보니 한글입력과 중국어 입력의 차이를 이해하지 못하여 만들어진 버그 였습니다. 즉 중국어는 입력 하다가 취소를 누르면 다시 원상복귀하지만, 한글은 입력하는 도중에 취소를 선택하더라도 그 때까지 입력하던 문자는 그대로 남아 있어야 합니다. 
 
마지막 문제는 입력기에서 focus out 이벤트에 대해서 처리를 제대로 하지 못해서 벌어지는 문제 였습니다. 즉 focus out이 일어날 때 commit을 시키든가 reset을 시키든가 했었어야 하는데, 그러지 못해서 포커스를 따라서 둥둥 떠다니고 있었습니다.(애석하게도 해결은 했는데 어떻게 해결했는지 남아있지나 않네요;;;), focus out이 일어날 때 reset을 시키도록 수정 했습니다.
 
두번째와 세번째는 pull request를 보냈지만, 거절 당하고, 대신 어떤 문제인지 확인해준 원저작자 덕분에 다른 방식으로 해결이 되었습니다.
 
모든 패치를 보내고 다시 소스를 받아서 한글을 입력해보니, 원하는 대로 잘 입력이 되고 있습니다. 오픈소스 프로젝트답게 불편하면 고쳐서 쓰지라는 상황이 잘 들어 맞기도 하고, kubuntu 15.04를 쓰는데 한글 입력에 스트레스를 받지 않으니 참 좋습니다.​
NeverEnd 님의 게시글 댓글
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [15]
랑카랑카
IP 211.♡.73.129
05-22 2015-05-22 17:04:31 / 수정일: 2017-04-30 15:35:33
·
수고하셨습니다~
izbeam
IP 220.♡.214.125
05-22 2015-05-22 17:36:12 / 수정일: 2017-04-30 15:35:33
·
수고하셨습니다..!!!!
Laspus
IP 223.♡.163.81
05-22 2015-05-22 17:44:05 / 수정일: 2017-04-30 15:35:33
·
잘 읽었습니다... 역시 목마른 사람이 우물 파는 것이지만.... 우물을 팔만한 능력이 있어야 되는군요.!
돼지아빠
IP 118.♡.225.178
05-22 2015-05-22 17:55:07 / 수정일: 2017-04-30 15:35:33
·
그래도 지금은 i18n은 제대로 되어있죠. gtk 하고 qt Fontset/FontGuess 적용하는 패치 만들고 메일 보내서 적용해달라고 하고 할때는 이게 머하는 짓인지..
nice2u
IP 115.♡.6.65
05-22 2015-05-22 18:02:25 / 수정일: 2017-04-30 15:35:33
·
박수~~~짝짝짝!!!
인터오아시스
IP 211.♡.213.55
05-22 2015-05-22 18:30:27 / 수정일: 2017-04-30 15:35:33
·
우분투 사용자로서 정말 감사합니다.:)
kleinstein
IP 217.♡.224.25
05-22 2015-05-22 18:32:42 / 수정일: 2017-04-30 15:35:33
·
수고 많으셨네요~
apikoka
IP 223.♡.172.42
05-22 2015-05-22 18:46:58 / 수정일: 2017-04-30 15:35:33
·
nabi를 쓰는건 어떠세요?
from CV
soyeomul
IP 66.♡.82.169
05-22 2015-05-22 19:44:34 / 수정일: 2017-04-30 15:35:33
·
고생하셨어요!! 그리고 감사합니다!!
꿈을꾸다
IP 110.♡.50.167
05-22 2015-05-22 20:02:08 / 수정일: 2017-04-30 15:35:33
·
우분투 그놈 15.04에서 ibus 사용하고 있는데 문제 없습니다. 우분투가 버그 많기는 하죠. 요즘은 유니티 넥스트에 신경 쓰느라 버그가 더 많아진 것 같아요.
#CLiOS
FireBug
IP 175.♡.55.106
05-22 2015-05-22 21:56:42 / 수정일: 2017-04-30 15:35:33
·
저는 한글입력 관련.. 잘 된다는 방법 다 써봐도 도무지 100% 해결은 안되더군요.
근데 해결하셨다니 !!! 감사합니다 ㅠㅠ
YouthGoneWild
IP 183.♡.235.69
05-22 2015-05-22 22:29:58 / 수정일: 2017-04-30 15:35:33
·
오픈 소스 커미터! 멋집니다.
행복저장소
IP 110.♡.47.10
05-24 2015-05-24 07:43:25 / 수정일: 2017-04-30 15:35:33
·
오웃... 정말 버그리포팅은 어찌해서든 하겠는데 어디를 고쳐야 하는지는 까막눈입니다. 저는 한글입력기 문제로 골이 아퍼 이것 저것 사용하다 현재는 하모니카프로젝트 민트리눅스 쓰고 거기에는 벼루입력기가 달렸는데 오류는 없는 듯 합니다.
소스를 들여다보고 수정해서 전송까지 해주시는 덕분에 저희같은 엔드유저는 도움을 받고 삽니다. 글쓴이의 수고로움에ㅡ다시한번 감사드립니다.
켄지삼촌
IP 175.♡.17.102
05-26 2015-05-26 07:15:21 / 수정일: 2017-04-30 15:35:33
·
감사합니다. 언제부터 패치가 적용될까요? 14.10사용중입니다.
CodeDiver
IP 210.♡.147.10
06-07 2025-06-07 05:13:20
·
10년 후에도 동일한 버그 발생....
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.