본문 바로가기
야매 개발실/iOS

MAC OSX Synergy 자동실행 방법

by 야매플머 2012. 5. 11.
반응형

이 내용은 블로그 : http://eunmin.tistory.com/26 내용을 가져온 것입니다. 

실제 셋팅 해보고 처음에는 작동 안되나 싶었는데.. 작동 잘 됨을 확인 했습니다.

 

MAC Mini를 처음 받아 보고나서 익숙하지 않은 GUI에 꽤 당황을 했습니다만 터미널을 열어보고 조금 안심이 된 것이 어디선가 많이 봤던 터미널... UNIX/Linux 시스템의 그것과 같았습니다. 어디서 줏어 듣기로 MAC OSX의 기반이 UNIX 시스템이라던데 맞는거 같습니다. 알고 있던 콘솔 명령어도 그대로 사용 가능하더군요.

뭐 그런거 보다 가장 큰 난관은 회사의 제 자리에서 두개의 시스템을 어떻게 컨트롤 하느냐가 문제였습니다. 회사 다른 개발자 분 에게 문의해보니 Synergy라는 녀석이 있더군요, (저는 KVM? 같은거 생각했습니다. 예전에는 물리적으로 한셋트의 키보드 마우스로 컨트롤 하게 해주는 장비가 있었거든요.. 아마 요즘도 쓰지 않나 싶네요. 품질 좋은 녀석이나 연결 대수가 많은 것은 가격도 꽤 했던 기억이 납니다.)

 

KVM.jpg

(KVM 장비, 실제로 서버 렉케이스에 이런녀석 붙여서 여러대 서버를 로컬에서 관리하고 하기도 했었던..)

 

이렇게 물리적으로 연결 관리를 해주던 녀석을 소프트웨어로 네트웍을 통해 제어 할 수 있도록 해주는 녀석이 바로 Synergy라는 프로그램 이더군요. 기본적으로 컨트롤 셋트가 달린 쪽이 Server가 되고 제어를 당할(?) 녀석이 클라이언트가 되어서 클라이언트는 서버에 접속하여 컨트롤을 당하는(?) 그런 형태입니다. http://synergy-foss.org/ko-kr/ (공식 홈페이지) 

이렇게 훌륭한 소프트웨어가 무려, 무료 오픈소스 라이센스입니다. 정말 이정도 프로그램이면 적당한 가격에 저렴하게 판매를 해도 개인 사용들도 충분히 구매할 매리트가 있지 않을까 싶긴한데요. 뭐.. 무선 네트워크나 인터넷을 통해서 연결할 경우 좀 불안한 접속 상태를 보이는 경우가 있긴 합니다만, 로컬네트웍에서 연결 하는 경우는 큰 문제가 없어 보입니다.

일단 설치 방법 등은 여기저기 많이 있으니 나중에 한번 기회되면 올려볼까 하고요. 일단 잃어 먹지 않기위해 MAC OSX에서 Synergy 자동실행 설정을 하는걸 기록해 두고자 합니다. MAC OSX에서는 GUI가 제공되지 않는 Synergy 버전이 있고 GUI가 제공되는 SynergyKM 버전이 있습니다. 어떤 것을 설치 하셔도 크게 관계는 없습니다. 저 같은경우에는 삽질하다 두가지 버전이 다 설치 되었네요. 그런데 특이한건 자동 실행 스크립트를 넣었더니 SynergyKM GUI상태창에 실행 상태가 모니터 되더군요.. 사용하는 파일 위치는 분명 다를텐데 말입니다 -_-; 뭔가 미스테리 .. 역시 야매야매 합니다.

 

여튼 여기저기 구글링을 해서 찾은 방법하나를 기록해 놓아 보려고 합니다. 저는 이런 방식의 자동 실행 방식을 이용하여 적용해 두었습니다.

 

synergystart.sh라는 이름으로 아래 파일을 만든다. (아래는 클라이언트 기준, 서버도 동일하게 하면된다) *root로 실행할 경우 copy & paste에 문제가 있기 때문에 사용자 계정으로 실행하도록 한다!

  1. #!/bin/bash
  2. synergy_user=$(whoami)
  3. if [ "$synergy_user" == "root" ]
  4. then
  5.         su 사용자계정 -c "$0 $*"
  6.         exit
  7. fi
  8. /시너지 경로/synergyc -f 서버아이피주소 > /시너지 경로/synergy.log 2>&1 &

아래 처럼해서 루트 계정으로 변경한다.

  1.   $ sudo su -

실행 스크립트가 위치할 디렉토리를 생성한다.

  1.  # mkdir -p /Library/LoginWindow

LoginHook.sh라는 이름으로 아래 파일을 만든다.

  1. #!/bin/sh
  2. prog=(/시너지 경로/synergystart.sh)
  3.  
  4. ### Stop any currently running Synergy client
  5. killall ${prog[0]##*/}
  6.  
  7. ### Start the new client
  8. exec "${prog[@]}"

실행 권한을 준다.

  1.  # chmod +x /Library/LoginWindow/LoginHook.sh

로긴훅에 등록 한다.

  1. # defaults write com.apple.loginwindow LoginHook /Library/LoginWindow/LoginHook.sh

 

네 이렇게 설정 하였습니다. 자동실행 우선순위가 조금 뒤쪽인건지 이렇게 해놓고 나니 부팅되고 잠시 기다려주면 자동 실행이 되더군요. 처음에는 작동이 안되는 줄 알았습니다.(물론 Synergy 자체 설정에 삽질도 좀 있습니다. 전 야매야매 하니까요) 여튼 이것으로 편안하게 사용할 수 있게 되었습니다. 그럼 즐거운 개발되세요!

이 글은 스프링노트에서 작성되었습니다.

반응형

'야매 개발실 > iOS' 카테고리의 다른 글

[iOS] Cocos2d-x 시작하기.  (0) 2012.08.11