dasom-im / dasom

Dasom is a multilingual input method framework
https://dasom-im.github.io
GNU Lesser General Public License v3.0
12 stars 3 forks source link

안녕하세요. 다솜 입력기 사용하다가 한가지 문제가 생긴듯하여...질문좀 드립니다... #70

Closed YoungHoonZo closed 8 years ago

YoungHoonZo commented 8 years ago

저는 리눅스 민트 17.3 ROSA KDE를 사용하고 있고, 키보드는 리얼포스 87u 턴키리스 사용중이구요. 첨부한 이미지를 보시면 트레이에 다솜입력기 인디케이터가 느낌표로 표시되어 있습니다. 이렇게 표시가 되면 그 뒤로를 한영전환이 되질 않습니다. 혹시나 해서 dconf에서 korean-101-104-key-compatible에 체크를 지웠다가 다시 해봐도 안되구요... 재부팅을 하거나 로그아웃/로그인을 해야만 정상적으로 다시 한영전환이 되는 현상이 나타나고 있습니다. 이슈트래커 어딘가에서 dasom-indicator 와 dasom-damon의 연결이 끊겨서 그렇다는걸 봤는데, 다시 연결 할수 있는 방법은 찾을수가 없어서 이렇게 남겨 봅니다.

그리고 마지막으로 덕분에 한영전환 삽질 안하고 쓸수 있게 해주셔서...감사합니다 ^^

1

ghost commented 8 years ago

sudo grep "Creating pipes" /var/log/syslog 이 명령을 해보시고 결과를 올려주세요. https://github.com/dasom-im/dasom/issues/64 와 같은 문제인지 확인하기 위함입니다.

YoungHoonZo commented 8 years ago

64 에 올라와 있는 로그는 보이지 않습니다.

sudo grep "Creating pipes" /var/log/syslog 를 해봐도 아무 내용도 안나오는데요... 그대신에 프로세스:dasom-daemon (null)-WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files

프로세스:dasom-indicator (null)-WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files

이런 에러는 보입니다.

ghost commented 8 years ago

sudo grep dasom /var/log/syslog 이 명령을 하여 내용을 올려주세요.

YoungHoonZo commented 8 years ago

Apr 26 09:34:38 yhzo-desktop dasom-daemon[2412]: (null)-WARNING _: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files Apr 26 09:34:38 yhzo-desktop dasom-indicator[2417]: (null)-WARNING _: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files Apr 26 10:36:50 yhzo-desktop dasom-daemon[2412]: dasom-Message: XNInputStyle is ignored

요로코롬 나옵니다.

ghost commented 8 years ago

재현 방법을 모르겠습니다. 이러한 문제를 겪는 분들은 추가적인 정보를 제공해주세요.

그리고 dasom-indicator 와 dasom-damon의 연결이 끊겼을 경우 재연결하는 방법은 현재 없습니다. 재연결하는 코드를 추가할 경우 어떠한 사유로 에러가 발생할 경우 그 에러를 찾기가 매우 어렵기 때문에 재연결하는 코드를 추가할 계획이 없습니다. 원인은 차츰 알아보도록 하겠습니다.

이슈트래커 어딘가에서 dasom-indicator 와 dasom-damon의 연결이 끊겨서 그렇다는걸 봤는데, 다시 연결 할수 있는 방법은 찾을수가 없어서 이렇게 남겨 봅니다.

YoungHoonZo commented 8 years ago

그렇군요...저도 간헐적으로 나오는 거라서 명확한 재현방법을 알려드리지 못할거 같습니다... 비슷한 증상이 발견되면 다시 올리겠습니다... 이 이슈는 오픈해 놓을까요? 아니면 닫을까요?

ghost commented 8 years ago

원인 파악을 못했으므로 열린 상태로 두시면 좋겠습니다.

YoungHoonZo commented 8 years ago

네...알겠습니다... 아 그리고 혹시 다솜입력기 트레이 인디케이터에서 마우스 우클릭후 종료를 하고나서 다솜 입력기를 다시 시작 시킬수 있는 방법은 있나요??

ghost commented 8 years ago

그냥 터미널에서 일반 사용자 권한으로 dasom-indicator 하시면 됩니다. 참고로 dasom-indicator --help 하시면 간단한 설명을 보실 수 있습니다.

ghost commented 8 years ago

아래 메시지 말고 다른 메시지도 많을 겁니다. 아래 메시지는 dasom-daemon 죽는 것과는 직접적인 관련이 없습니다. 스크린샷을 보면 이클립스가 보이는데... https://github.com/dasom-im/dasom/issues/64 이슈를 잘 읽어보시고 이 이슈가 아닌지 다시 한번 확인 부탁드립니다.

Apr 26 09:34:38 yhzo-desktop dasom-daemon[2412]: (null)-WARNING *: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
Apr 26 09:34:38 yhzo-desktop dasom-indicator[2417]: (null)-WARNING *: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
Apr 26 10:36:50 yhzo-desktop dasom-daemon[2412]: dasom-Message: XNInputStyle is ignored
ghost commented 8 years ago

리눅스 민트 17.3 ROSA KDE 를 버추얼 박스에 설치하였습니다. 제 판단에는... 이클립스가 im context 를 수백개를 생성하므로 dasom-daemon 에서 시스템 최대 파일 제한 수 1024 가 넘어가서 에러가 발생하는 것 같습니다.

hodong@hodong-VirtualBox:~ > ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 7879
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 7879
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

이클립스를 사용하다보면 다솜 input context 에 연결된 socket 개수가 1024개를 초과하는 경우가 쉽게 발생됩니다. 이는 이클립스에서 쓸데없이 너무 많이 gtk im context 를 생성하기 때문입니다.(이클립스 버그) 다솜 입력기가 im context 당 socket 1개를 사용하도록 되어 있습니다. nimf_im_new() 함수를 호출하면 서버에 소켓으로 접속하는 구조로 되어 있기 때문입니다. 그런데 열린 소켓이 너무 많은 상태가 되면 성능이 저하되므로 클라이언트 프로세스 당 1개의 소켓을 열어서 소켓 1개로 통신을 하는 구조로 변경하는 작업을 하였습니다. 이 변경 작업은 까다로워서 오랜 시간을 필요로 하기 때문에 다솜 입력기에는 적용하지 않을 것이고 님프 입력기에만 적용하였습니다.

다솜 개발자와 님프 개발자는 동일인입니다. 님프(Nimf) 입력기는 다솜 입력기를 계승하는 프로젝트입니다. 다음의 명령으로 공식 님프 PPA 저장소를 추가합니다.

sudo add-apt-repository ppa:hodong/nimf

공식 님프 PPA 저장소 추가 후에 다음의 명령으로 패키지를 설치합니다.

sudo apt-get update
sudo apt-get install nimf

터미널에서 사용자 계정 권한으로 다음 명령을 실행합니다.

im-config -n nimf

(주의: 관리자가 아닌 일반 사용자 계정으로 로그인하셨다면 관리자 권한으로 im-config 을 실행시키지 마십시오.)

그리고 나서

로그아웃
로그인

합니다.

키보드에 하드웨어 한글키, 한자키가 없는 경우 설정법은 다음 링크를 참고하세요. http://cogniti-works.blogspot.kr/2016/04/blog-post.html screenshot from 2016-05-01 02 09 26

사용하시다가 문제가 발생하시면 https://github.com/cogniti/nimf/issues 에 글을 남겨주세요. 즐거운 리눅스 생활하시기 바랍니다.

그리고, 이 이슈를 닫아주시기 바랍니다.

YoungHoonZo commented 8 years ago

그렇군요... 입력기 님프로 바꿔보고 사용하면서 다시 이슈 생기면 올리도록 하겠습니다... 감사합니다...