2018년 5월 19일 토요일

2018년 5월 그놈 모임 회고

지난 2월에 류창우님 주최로 그놈 상반기 번역 모임을 진행했었습니다. 당시 모임 후 뒷풀이 자리에서 제가 5월 모임을 제안했었는데요, 그 때 제안에는 5월 모임의 주제가 없었습니다.  단지 그놈 핵페스트처럼 모여서 소스 뜯고 놀(?)면서 자유롭게 소스 패치 커밋을 진행하는 그런 분위기를 원했었거든요. 자유 오픈소스 커뮤니티 답게 어떤 주제에 속박되지 않고 즉흥적으로 그날 주제를 잡고 진행을 했으면 좋겠다 해서 주제에 속박되지 않는 모임을 진행하려고 했습니다.

그런데, 4월 28일 우분투 한국 커뮤니티에서 우분투 18.04 LTS 릴리즈 파티 겸 세미나에 제가 우연히 참석을 해보면서 hanjp 프로젝트 내용을 듣고 약간 생각이 바뀌었습니다.

1) 그놈 환경에서 한글 입력기 관련해서 계속 문제가 나타나는 상황
2) 우분투 한국 커뮤니티쪽에서 진행하는 한글-가나 입력기(hanjp 프로젝트) 프로젝트가 몇가지 걸리는 문제로 지지부진한 상황

입력기라는 주제가 겹쳐져 두 커뮤니티가 같이 모임을 하면 어떨까?  멘토-멘티 조인트 모임으로서의 의미도 있고 하여 모임에 오시겠다고 한 몇몇분께만 (...) 여쭤봤는데 다들 괜찮다고 해주셔서 5월 세미나 주제를 "한글 입력기"로  정하고 모였습니다.

그래서 5월 19일 그놈 한국과 우분투 한국 커뮤니티 공동으로 선릉역 5번 출구 아남타워 7층 과학기술정보통신부 정보통신산업진흥원 글로벌오픈프론티어 개발자 랩에서 모임을 진행했습니다(길다 OTL). 그놈 모임 관점에서는 오랜만에 고등학생분도 오시고 모임 참여자 평균 연령이 많이 낮아졌(?...) 습니다.

1. 한글 입력 동작 요약

이 부분은 제가 발표했습니다. 정말 핵심적인 부분에 있어서는 다들 알고 있을거라 짐작을 해서(실제로도 거의 대부분 이해하는 부분이었습니다) libhangul과 ibus, ibus-hangul 의 동작 관계에 대해 설명하고 간단하게 상태 전이 그래프를 보여드렸습니다. 이 모임에는 한국어를 모르는 분들이 없기 때문에 어쨌든 간단히 넘어갔습니다. 모임이 있기 전 메신저 대화방을 통해 들은 몇가지 고려사항도 언급했습니다.

Slide: https://www.slideshare.net/gnomekr/20180519-hangul-processing

2. 리눅스 데스크톱의 한국어 입출력

류창우님께서 과거에 XKB에 기여하신 내용을 바탕으로 구현 배경과 동작 흐름 등을 정리하여 발표해주셨습니다. 한글 입력기는 X.org 뿐만 아니라 Wayland에서의 동작도 고려해야 하는 상황인데, Wayland에서 자체적으로 입력을 처리하는 지원 함수를 구현하는 내용 일부를 정리하여 공유해주셨고, "한글 입력 동작 요약" 과정에서 빠뜨린 preedit와 commit 처리 과정의 알고리즘을 정리하여 보여주셨습니다.

Slide: https://www.slideshare.net/gnomekr/korean-input-overview-in-the-linux-desktop

3. hanjp

김광연 학생이 현재 작성중인 코드를 모두 보여주면서 빌드 및 테스트를 할 수 있도록 테스트 코드를 작성하였고, 현재 막히는 부분이 어디 부분인지, 빌드에 필요한 옵션은 무엇인지, 오류나는 부분이 어디인지 찾고 이를 해결할 방안에 대해 논의하였습니다. 류창우님과 문관경님께서 gcc 빌드 옵션, Makefile 작성, gdb 디버깅에 많은 도움을 주셨습니다. 결과와 참고자료는 항상 github.com 한국 우분투 커뮤니티 계정에 공유하고 있습니다.

참고: https://github.com/ubuntu-kr/hanjp-im

4. jhbuild를 활용한 그놈 개발 환경 구축, 빌드, 테스트, 이슈등록(문관경)

그놈 기반 프로그램은 단순한 앱 프로그램도 있지만, 시스템 전반적으로 영향을 주는 라이브러리나 시스템

*Note: 일반적으로 Javascript(gjs)로 작성하는 부분에 대해서는 진입장벽이 상대적으로 낮은데, gnome-shell에 익숙해질 필요가 있습니다. 이 분야 개발자들이 Inspector 대용으로 쓸 수 있는게 looking-glass라는 그놈 쉘 확장 기능이며, 객체의 속성, 값을 볼 수 있습니다. 이걸 쓰면 어느정도 익숙해지는데 도움을 받을 수 있습니다.

참고 1: https://docs.google.com/document/d/1F5Yf515SgZPimIujRmTgbtY78aVLWS3EpU_z5TRyIJs/edit
참고 2: https://wiki.gnome.org/Projects/GnomeShell/DebuggingJavaScript

5. 기타참고

(1) KDE 입력기 자료 링크 공유(성대현)

Complex text input in Plasma(KDE mailing list)
https://mail.kde.org/pipermail/plasma-devel/2017-April/068978.html

Complex text input in plasma
https://blogs.kde.org/2017/04/06/complex-text-input-plasma

Akademy 2017 Input Methods in Plasma 5
Modern and global text input
https://conf.kde.org/en/akademy2017/public/events/359

Input Methods in Plasma 5 - Eike Hein
https://www.youtube.com/watch?v=wE0KDabPfsQ

(2) Wayland 한글 입력 문제 해결 시도(문관경, 류창우)

wayland text input breaks Korean Hangul preedit (#152)
https://gitlab.gnome.org/GNOME/mutter/issues/152

input method: Use IbusIMContext "forward-key-event" signal (#275)
https://gitlab.gnome.org/GNOME/gnome-shell/issues/275

(3) 문제 확인

entry -> entry buffer 한글 입력이 마우스 커서 누를때 마다 바뀌는 문제
text view 한글 프리에디트 커서 위치가 잘못되는 문제
한글입력하다 다른 윈도우에 갈때 입력 포인트가 따라가는 문제?
ibus restart 하면 먹통. wayland.  한글말고도 마찬가지일것

6. 사진

우분투 한국 커뮤니티 회장 한영빈군과 문관경님께서 촬영해주셨습니다. 감사합니다 :)
아, 제가 찍은 것도 있군요.




*참고 : 이 후기는 과학기술정보통신부 산하 정보통신산업진흥원 공개소프트웨어개발자랩의 지원을 받아 작성했습니다.

댓글 1개:

  1. 한글 입력은 정말 영원한 숙제 같네요. 검색할 때, 한글 경우, 조합중인 상태에서는 검색이 되지 않습니다. space나 커서를 쳐서 조합을 끝내야 검색이 됩니다. 이건 리눅스 뿐만 아니라 맥에서도 문제가 있습니다.

    답글삭제