맥북과 우분투에서 키보드 같이 사용하기 – synergy

우분투 노트북에 기계식 키보드를 따로 연결해서 사용하고 있었는데 맥북을 같이 사용하게 되자 손이 바빠졌다. 두 개의 키보드를 사용하는 것은 너무 불편했다. Synergy를 설치해서 키보드와 마우스를 공유하는 방법으로 문제를 해결했다. Synergy는 키보드와 마우스를 공유하는 오픈 소스 프로그램이다.

지금은 (2018년 10월) 설치가 더 쉬운 barrier를 사용하고 있다. synergy 1.9에서 포크되었다.

컴파일

Synergy 최신 버전v2.0.0컴파일 했더니 맥에서 아래 에러가 발생했다.

/Users/RDTeam/synergy-core/src/lib/platform/OSXKeyState.cpp:341:18: error:
    cannot initialize a variable of type 'CGEventFlags' with an rvalue of type
    'int'
    CGEventFlags modifiers = 0;
                ^           ~

분석은 포기하고 이전 버전인 v1.8.8 버전을 컴파일했다. 그랬더니 이번엔 맥과 우분투에서 동일한 에러가 발생했다.

CMake Error at src/test/CMakeLists.txt:24 (add_library):
Cannot find source file:

    ../../ext/gmock-1.6.0/src/gmock-all.cc

Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
.hxx .in .txx


CMake Error at src/test/CMakeLists.txt:23 (add_library):
Cannot find source file:

    ../../ext/gtest-1.6.0/src/gtest-all.cc

Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
.hxx .in .txx

버전을 더 낮추어 v1.8.2를 시도해도 마찬가지였다. 자세히 살펴보니 ext 폴더 안에 gmock, gtest 압축 파일이 있었다. 이 압축 파일을 풀고 다시 컴파일했다. 아래는 이때 사용한 명령어 들이다. 따로 다운로드할 수 있다.

wget https://github.com/symless/synergy-core/archive/v1.8.8-stable.zip
unzip v1.8.8-stable.zip
cd synergy-core-1.8.8-stable/ext
unzip gmock-1.6.0.zip -d gmock-1.6.0
unzip gtest-1.6.0.zip -d gtest-1.6.0
cd ..
mkdir build
cd build
cmake ..
make
ls ../bin/synergyc ../bin/synergys

curl 라이브러리가 없다고 에러가 나면 아래 링크를 참조하길 바란다.

나의 경우 Ubuntu 16.04 LTS에선 컴파일이 잘되었는데 Ubuntu 18.04 LTS에서 SSL 에러가 발생해서 아래 내용으로 컴파일했다.

실행 방법

아래의 명령으로 맥북과 우분투의 키보드를 같이 사용할 수 있다. 물론 마우스도 문제 없다.

#server (ubuntu)
synergys -f -n moe

#client (mac)
synergyc -n larry 192.168.0.3

아래는 지금 사용하고 있는 구성인데 우분투의 노트북 모니터는 사용하지 않는다.
Synergy 설정 파일을 사용하는데 이 파일은 서버에만 위치하면 된다. 이 설정 파일은 마우스를 외부 모니터 좌 하단으로 이동하면 맥 북으로 포커스가 넘어가고 맥 북에서 모니터 오른쪽으로 마우스를 옮기면 외부 모니터로 포커스가 변하는 방식이다. 나의 경우 Win-backtick 키를 사용하여 전환하고 있다. 설정 파일을 변경하여 원하는 방식으로 동작시킬 수 있다.

                +-----------------+
                |                 |
 Mac            |                 |      Ubuntu
+----------+    |                 |     +----------+
| Mac OS X |->  |                 |     | 16.04    |
| 10.11.6  |-><-|                 |     | xenial   |
+----------+    +--------+--------+     +----------+
 \ ******** \            |<----HDMI----/ ******** /
  -----+------        ---+---         -----+------
       |                                   |
       |                                   |
       | synergy client     synergy server |
       +--------------Synergy--------------+
                          \
                           \
                            `---> 네트워크로 연결된다.

장점

키보드와 마우스를 공유한다.
우분투 노트북에 synergy 서버를 설치하고 맥북에 synergy 클라이언트를 설치했다. 사용할 노트북을 선택하는 방법은 두 가지가 있다. 모니터의 특정 테두리로 마우스를 옮기거나 특수키를 입력하는 것이다. 이 두 가지 방법은 설정파일을 (~/.synergy.conf) 사용하여 조정할 수 있다.

우분투 키 설정을 그대로 사용할 수 있다.
여러 툴들을(xbindkeys, xmodmap) 사용하여 키 설정을 변경하여 사용하고 있다. Synergy를 사용하면 이런 설정을 맥북에서 따로 할 필요 없이 그대로 사용할 수 있는 장점이 있다. 반대로 맥북을 synergy 서버로 사용하는 경우도 마찬가지로 키 설정을 그대로 사용할 수 있다.

텍스트 복사하기가 가능하다.
맥북과 우분투 노트북 사이에 서로 텍스트를 복사하고 붙여 넣을 수 있다. 상상 이상으로 편리하다.

마무리

최신 버전을 설치하지 못한 것이 아쉬웠지만 괜찮다. 노트북 터치 패드가 불편한 나에게 마우스를 같이 사용하는 것도 너무 편했다. 바람이 있다면 파일이 전송되었으면 좋겠다.

맥북과 우분투에서 키보드 같이 사용하기 – synergy”에 대한 답글 1개

  1. 잘 지내시죠? ㅎ
    가끔씩 블로그 잘 보고 있습니다~!

    텍스트 그림 그려주는 건 어디서 하신건가요? ㅎㅎ

    건강하세요!

    좋아요

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

This site uses Akismet to reduce spam. Learn how your comment data is processed.