Synergy 한글키 패치 공식 버전 적용 및 최종 정리

Synergy 한글키 패치는 공식 소스에 이미 반영 되었지만, 블로그를 갈아타면서 옮겨둘 만한 것은 다시 정리해서 재작성 해 둔다. 글을 드문드문 쓰다보니 어떤 글은 반말, 어떤 글은 존대말 섞여 있다. 그러려니 해 달라...


꽤 오래 전에 등록하였던 한글키 패치 PR이 공식 Synergy 버전에 반영되었습니다.
Synergy 1.8.8 버전 이후로는 별다른 한글키 패치가 필요없습니다.
그 동안 SSL을 지원하는 Pro 버전을 구입하고도, 한글키 문제로 이용하지 못했던 분들도 이제 공식 버전을 이용할 수 있게 되었네요.

제가 빌드한 마지막 Synergy 한글키 패치 버전입니다.

[다운로드 링크]
Synergy 1.8.8 Windows 64bit 버전
Synergy 1.8.8 Windows 32bit 버전


마지막 정리 차원에서 Synergy 한글키 관련 내용을 적어둡니다.

1. 한글키 문제의 원인
https://ommokazza.blogspot.kr/2017/07/synergy.html


2. 한글키 패치 Github 주소
이미 공식버전에 반영 되었지만, 어떤 수정을 했는지 궁금하신 분들을 위해 남겨둡니다.
https://github.com/ommokazza/synergy

keyup 브랜치는 Pull Request를 하지 않은 상태입니다.
지금 상태로도 큰 문제는 없어 보이기도 하고, 깔끔한 수정방법이 아니라서요.
(한글키 패치도 딱히 깔끔하지는 않은데...
아무리 고민해 봐도 더 나은 방법을 찾을 수 가 없었습니다..)


3. Synergy 윈도우 버전 빌드 방법 (<= 1.8.x)
https://ommokazza.blogspot.kr/2017/07/synergy-version-18x.html


4. Shift + Space키를 한영전환키로 사용할 때의 설정
윈도우에서 드라이버 변경이나 레지스트리 수정을 통해 Shift-Space키를 한영전환키로 이용할 때의 결정적인 문제는, 해당 키가 순수하게 시너지 클라이언트쪽으로 넘어가지 않는 것입니다.

윈도우 서버 - 리눅스 클라이언트 쪽에서 확인을 해 보면, Shift-Space를 누를 경우 그냥 Left-Shift로 인식을 합니다. (Shift-Space키를 한영전환키로 이용할 때 말이죠) 물론 윈도우에서 Shift-Space키를 한영전환키로 이용하지 않는 경우라면 그대로 넘어가기에 리눅스 클라이언트 쪽에서 Shift-Space키를 한영전환키로 이용하도록 설정되어 있는 경우라면 동작할 것으로 예상합니다.

그래서 결국 택한 방법은 한영키를 누르던 Shift-Space키를 누르던 리눅스 쪽에 한영전환키 값을 넘기도록 하고 리눅스 쪽에서 좀 더 설정해 주는 방법을 택하였습니다. 리눅스 클라이언트 쪽에서 한영전환키를 Shfit-Space, 한영키 모두 매핑해 두는 것입니다. 물론 리눅스 클라이언트 쪽에 한영키만 매핑해도 동작은 합니다만, 사실 Shift-Space키를 이용하는 분이라면 시너지가 아닌 직접 리눅스를 이용할 때도 Shift-Space키를 이용할 것이기 때문에 두 키 모두 매핑해 두는 방법을 권하는 것이죠.

제가 개발용으로 사용하는 Ubuntu 14.04의 ibus에서는 어떻게 설정하는지 보여드리겠습니다.


오른쪽에 보시면 'Switch to next source using:'에는 'Shift-Space'가 할당되어 있습니다. 다른 키로 되어 있다면 마우스로 클릭하셔서 Shift-Space 입력하시면 됩니다. 이때는 synergy가 아닌 직접 리눅스 머신에서 입력해 주셔야 합니다.

다음 previous source에는 Hangul이라고 되어있는데, 한글키를 설정해 주려면 설정이 안된다고 나옵니다. 그래서 저는 아래와 같이 터미널을 열어 강제로 지정해 주었습니다.

gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "['Hangul']"

이렇게 설정해 두면 설정이 완료된 것입니다.
다른 리눅스 배포본이나 입력기를 이용하신다면 거기에 맞게 설정을 해 주시기 바랍니다.


5. Window 서버 + 우분투 리눅스 클리이언트에서 Synergy 설정
일단 lightdm에 등록하여 GUI 로그인 프롬프트에서도 synergy 동작하도록 합니다.

sudo vi /etc/lightdm/lightdm.conf 하여 아래 내용 추가

[SeatDefaults]
greeter-setup-script=/usr/bin/synergyc -n 이름 -d INFO 서버IP
session-setup-script=/usr/bin/killall synergyc

위의 synergy는 GUI 로그인 프롬프트에서만 동작하도록 하는 것입니다.
이름은 synergy 서버에서 인식할 수 있는 synergy client 이름입니다.
이 synergy는 root권한으로 실행이 되고, 이것을 그대로 이용하여 일반 유저 로그인시 여러 문제가 생깁니다. 그래서 유저 세션이 시작하기 전에 root 권한으로 실행된 synergy를 종료해 주고, 로그인 후에 다시 유저 권한으로 synergy를 실행해 주도록 해야합니다.

로그인이 완료되면 먼저 synergy 를 실행하여 환경설정을 해 줍니다.
언어는 영어 혹은 한국어, Client 선택 - 시리얼키가 있다면 입력하고요.
Auto config의 체크를 없애고 서버 IP를 직접 입력해 줍니다.

윈도우 서버쪽에서는 화면이름으로 클라이언트를 추가해 주면 됩니다.
그다음 설정에 들어가 Hide on startup 체크하시고 마지막으로 시작 프로그램에 등록하도록 합니다.

윈도우키 > Startup Applcations > AddName : SynergyCommand: /usr/bin/synergy

P.S
(Server / Client 화면 전환 단축키 설정)
Windows - Linux 잠금화면 상태에서 Linux 쪽으로 키보드/마우스 컨트롤이 넘어간 뒤 Windows 쪽으로다시 컨트롤이 안 넘어와 Windows쪽 잠금화면 해제가 안되는 상황이 계속 발생한다면 Windows의 Synergy 서버쪽에서 단축키 설정으로 강제로 서버로 컨트롤이 넘어오게 설정해 줍니다.

댓글

  1. 피시(메인)랑 노트북(클라이언트)이랑 시너지연결했는데
    다른건 다 잘되는데 노트북에서 한영키가 안먹습니다 ㅠㅠ
    어떡하며ㅑㄴ 좋을까요 인터넷에 찾아서 이것저것 패치파일 다운받아서
    덮어쓰기도 해보고 ........다 해보았는데 되지가 않습니다.. 도움 받을수있는지요

    답글삭제
    답글
    1. 일반적인 상황이라면 데스크탑쪽은 103/106 키보드로 예상되고, 노트북 쪽은 101/102 키보드 일 것 같습니다.
      그래서 노트북 쪽에서 데스크탑쪽의 한영키 자체를 처리하지 않아서 발생하는 문제가 아닐까 의심하고 있습니다.

      생각나는 방법은 데스크탑쪽 키보드 레이아웃을 'PC/AT 101키 호환 키보드/USB 키보드 (종류 1)'로 변경해서 노트북과 동일하게 오른쪽 Alt 키로 한영 전환을 하는 것입니다. 이렇게 할 경우 한/영키가 무용지물이 될 것 같네요.

      삭제
    2. 지금 피시도 노트북도
      PC/AT 101키 호환키보드/USB키보드(종류3) 이렇게 되어있는데요ㅠㅠ
      한영키가 무용지물해도되는데 피시에서 알트키 누르면 노트북도 한영이 변환이 되었음 하는데 ...오늘도 인터넷에서 검색해서 이것저것해보고 시너지 몇번을 지우고 깔아봤는데 답이 없습니다 답글 정말 감사합니다... 다른방법은 없겠지요?ㅠㅠ

      삭제
    3. 종류3은 쉬프트+스페이스를 한영전환키로 사용하는 걸로 알고 있습니다. 종류1은 오른쪽 알트키고요.

      종류3으로 되어 있으시다면 쉬프트+스페이스키를 눌러서 한영전환이 되는지 확인해 보는게 어떨까요?

      삭제
    4. 네네! 각자 피시나 각자 노트북에선 한영전환이 됩니다.
      그런데 문제는 피시에서 사용하는 키보드로 노트북 한영이 안되고 있습니다...ㅠㅠ

      삭제
  2. 안녕하세요..공유해 주셔서 감사합니다.
    혹시 시리얼을 넣지 않으면 사용이 불가능 한지요??

    답글삭제
    답글
    1. 1.8.8 버전 기준으로 넣지 않아도 사용이 가능했던 것으로 기억합니다. 단순히 미등록 버전이라고 보여질 뿐입니다

      삭제
  3. 직접 빌드해주신거 감사합니다 잘쓰고있어요

    답글삭제
  4. 꼭 필요했는데 덕분에 잘 설치해서 써보는 중입니다. 감사합니다^^

    이 프로그램을 한글 환경에서 쓸 수 있게 제작해 주신 분이 한국분이고 이렇게 라도 뵙게 되니 감사하기도 하고 신기하기도 하고 그렇습니다.

    개발사 홈페이지를 보니 2버전이 곧 나온다고 해서 구매해서 사용해 볼까 생각중인데, 올려주신 버전에서는 원격의 PC에서 휠 스크롤이 됐다 안됐다 합니다.

    안정적으로 사용 하는 노하우라던지, 유료로 배포중인 최신 버전에서는 이부분이 안정화 된건지 등 알고계시는 부분이 있다면 알려주실수 있을까요.

    번거롭게 해드리는 거 같아서 죄송합니다. 그리고 이렇게 공유 주셔서 다시한번 감사드립니다^^

    답글삭제
    답글
    1. 어떤 환경에서 사용하고 계신가요?

      저는 윈도7 Server에 우분투 14.04 Client에서 1.8.8 버전을 사용하고 있는데, 그러한 경험을 해보지는 못했습니다.
      현재 1.x 대 버전은 1.10.1 버전까지 릴리즈 된 것으로 보이는데, 릴리즈 노트에서 그러한 수정내용은 본 적이 없습니다.

      마우스만 문제가 있다고 하면, 마우스 드라이버라던가 마우스 관련 소프트웨어가 영향을 미친게 아닐까 생각해 봅니다.

      삭제
    2. 안녕하세요 ^^ 답글 달아주셔서 감사드립니다!!!

      서버와 클라이언트 모두 윈10 환견이어서 크게 문제될게 없다고 생각했는데, 답글 올려주신 것 읽고 사용하고 있는 로지텍 MX ERGO 마우스 프로그램을 클라이언트쪽만 삭제를 해봤습니다.

      삭제 하자마자 아주 쾌적하게 마우스 스크롤이 되내요. ^^
      휠 굴리는 속도까지도 반응을 잘 해줘서 정말 행복한 중입니다!!

      한번쯤 의심해 볼 수 있는 부분인데 말씀듣고서야 생각하다니 죄송스럽내요.

      덕분에 잘 해결했습니다!! 감사합니다~~~!!

      삭제
    3. 로지텍에서 제공하는 flow 기능보다 이 프로그램이 빠르고 편리합니다. 많은 분들이 사용해 보시면 좋겠어요 ^^

      삭제
  5. 한가지 질문이 있습니다. 현재 윈도우(server)-맥북(client)로 사용중이고 synergy 1.10.1 버전을 상용중에 있습니다. 맥북은 karabiner-elements를 이용해서 f18키를 오른쪽 command에 맵핑하여 한영전환을 하고 있고요. 그런데 synergy를 이용하여 한영키가 안먹히는데 어떻게 방법이 없을까요??

    답글삭제
    답글
    1. 제가 맥을 사용해 본적이 없어서 정확한 답변은 드리기 어렵네요.

      조금 검색을 해봤는데, 디엠님의 경우 맥의 한영키 전환을 완전히 커스텀해서 사용하고 있는 듯 합니다.

      저의 수정사항은 순수하게 Windows에서 키를 보내는 부분 한정입니다.
      따라서 맥 Synergy를 직접 빌드하시거나, 혹은 한영키 변환 부분을 좀 다르게 구성해야 하지 않을까 생각해 봅니다.

      예를들어, 입력소스를 3가지 이상 언어를 사용한다면 좀 헷갈리겠지만, 2개라면 이전 입력 소스로 변경하는 것을 F18로 매핑하고, 다음 소스로 변경하는 키는 디폴트 값으로 두는 방법이 떠오르네요.

      그래도 해결이 안된다면, Synergy이나 Karabiner쪽 (둘다 Github에 프로젝트가 있는 듯한..)에 이슈 등록을 해보시는 건 어떨까 싶네요.

      삭제

댓글 쓰기

이 블로그의 인기 게시물

[게임개발 스토리] 장르/타입/조합 정보와 몇 가지 팁

[윈도우] 실행 중인 프로그램의 타이틀을 변경하는 유틸리티