[OSX, 우분투] OSX의 synergys 와 우분투의 synergyc 사용하기 Computer Tip


synergy를 이용하여 
맥의 OSX에다가 synergys 서버를 띄우로 (왼쪽),
우분투에다가 synergyc 클라이언트를 이용하여 (오른쪽)
맥의 키보드와 마우스로 우분투 시스템을 제어하는 것을 해 본다.

1) 설치

1.1) OSX 에서의 synergy 설치
$ sudo port synergy

1.2) 우분투에서의 synergy 설치
$ sudo apt-get install synergy-plus

2) 설정

설정은 synergy 서버에만 설정하면 된다.

OSX 맥에서 
$ sudo vi /opt/local/etc/synergy/synergy.conf
# sample synergy configuration file
#
# comments begin with the # character and continue to the end of
# line.  comments may appear anywhere the syntax permits.

section: screens
    # three hosts named:  mbp13, mcchae-ThinkPad-X300, and curly
    mbp13.local:
    mcchae-ThinkPad-X300:
end

section: links
    # mcchae-ThinkPad-X300 is to the right of mbp13 
    mbp13.local:
        right = mcchae-ThinkPad-X300

    # mbp13 is to the left of mcchae-ThinkPad-X300 and curly is above mcchae-ThinkPad-X300.
    # and mcchae-ThinkPad-X300 have a symmetric connection (they're in
    # opposite directions of each other).
    mcchae-ThinkPad-X300:
        left  = mbp13.local
end

section: options
    #heartbeat = 5000
    #switchDelay = 500
    #screenSaverSync = false
    #win32KeepForeground = true
end

위의 내용에서, mbp13 대신,
사과>시스템환경설정>공유
위의 컴퓨터 이름을 설정해 주면 된다.

또한 mcchae-ThinkPad-X300 대신 들어오는 컴퓨터 이름을 알려면,

일단 OSX 의 터미널 창에서
$ synergys -f

명령으로 (foreground) 수행시킨 다음, 
우분투에서 
$ synergyc -f mbp13<또는 ip>
와 같이 접속해 보면 접속하려는 컴퓨터 이름을 알 수 있고, 그 내용을 위의 conf 파일에 넣는다.

3) 기동
OSX에서 일단 위의 conf 내용을 넣고 나서는
터미널에서 
$ synergys
로 기동시키면 된다.

또한 우분투 시스템에서는
$ synergy <osx_ip혹은hostname>

이렇게 주면 된다.

만약, OSX 시스템이 DHCP로 접속할 때마다 IP가 변경된다면,

OSX 에서 자신의 터미널 창에서

$ crontab -e
* * * * * /sbin/ping -q -c 1 h99 >/dev/null 2>/dev/null

이라는 줄을 추가한다. 
이 때의 전제는 위에 공유에서 보듯이 파일공유와 그 옵션에 SMB 접근 허용이 되어 있다는 전제에서이다.
위와 같이 하는 이유는 우분투 시스템이 h99(안 변한다는 가정)이고 여기로 적어도 ping이 한번이라도 가야
나중에 findsmb 명령으로 해당 서버 정보를 구할 수 있기 때문이었다.
즉, 위의 크론테이블에 일분에 한번씩 ping을 해 보기 때문에 일분에 한번은 갱신을 하게 된다.

그 다음 우분투 시스템에 다음과 같은 syc.sh 파일을 만들어,
돌려주면 변한 OSX 시스템으로 자동 접속하게 된다.

$ cat syc.sh 
#!/bin/bash

# needed package
# sudo apt-get install smbclient

killall synergyc 2>/dev/null

SYC_HOST="MBP13"

SYC_IP=`findsmb | grep $SYC_HOST | awk '{print $1;}'`
if [ -n "$SYC_IP" ];then
synergyc $SYC_IP
else
echo "Cannot find $SYC_HOST for synergy server!!!"
fi

 

4) TODO
OSX의 전체화면으로 되었을 경우, (각 응용프로그램에서 전체화면을 누르거나 space 에서 보는 등)
우분투로 넘어가지 않는 상황이 발생했다.
(옵션을 조정해도 되지 않는다. Windows에서 서버를 돌릴 경우,

win32KeepForeground = true

를 하면 된다고 하는데, 잘 안되었다.
(해결하신 분 알려주시면 대단히 감사합니다) 

핑백

덧글

댓글 입력 영역

구글애드텍스트