Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

[Synergy] 여러 컴퓨터에서 키보드, 마우스 공유

이런 훌륭한 프로그램이 있군요. ^^

[Synergy] 여러 컴퓨터에서 키보드, 마우스 공유
; http://blog.powerumc.kr/475

위의 글에서 언급한 것처럼 현재 $4.99의 유료로 전환된 상태입니다.

다운로드 링크
; http://synergy-project.org/download/?list

단지,프로그래머라면 여전히 무료로 사용할 수 있는 방법이 있는데 SVN에 모든 소스 코드를 공개하고 있기 때문입니다.

Source Code 
; http://synergy-project.org/wiki/Source_Code

따라서 다음의 명령을 통해 로컬에 모든 소스 코드를 다운로드 받을 수 있습니다.

svn checkout http://svn.synergy-project.org/trunk synergy

빌드 방법은 아래의 사이트에 자세하게 있고,

Compiling 
; http://synergy-project.org/wiki/Compiling

여기서는 윈도우 버전만 빌드해 볼텐데요. 빌드 스크립트가 파이썬으로 되어 있으므로 우선 파이썬을 설치해야 합니다.

ActivePython
; http://www.activestate.com/activepython

그리고 cmake도 필요하니 다운로드 받고,

CMake - Latest Release (3.0.2)
; http://www.cmake.org/cmake/resources/software.html

"Qt SDK"에 포함된 qmake.exe도 필요하니 다운로드 받습니다.

qt-sdk-win-opensource-2010.02.exe (약 280MB, 설치하면 1.4GB)
; http://synergy-foss.org/mirror/qt-sdk-win-opensource-2010.02.exe

이제 PATH 환경 변수를 점검해야 하는데요. 위에서 설치한 3가지 도구에서 아래의 exe 파일들이 실행 가능하도록 PATH 환경 변수에 있음을 확인해야 합니다.

  • Pyhton의 python.exe
  • CMake의 bin\cmake.exe
  • Qt의 qt\bin\qmake.exe

즉, cmd.exe를 실행해서 python.exe, cmake.exe, qmake.exe가 모두 실행되는 상태여야 합니다.

아쉽게도 아직 끝이 아닌데, 윈도우 8의 경우 qmake.exe가 호환성 이슈로 인해 실행이 안되므로 (오류 발생 - Qt: Untested Windows version 6.2 detected!) 탐색기에서 qmake.exe의 속성창을 열어 "Compatibility" 탭의 호환 모드를 "Windows XP (Service Pack 3)"으로 맞추고 cmd.exe를 관리자 권한으로 실행시킨 다음 실행 중인 모든 Visual Studio를 종료하고, 다음의 명령을 차례로 실행시킵니다.

hm conf -g1
hm build

그럼, \synergy\build 폴더에 synergy.sln 파일이 생성되는데요. 이 파일을 Visual Studio 2010에서 로드해 Release 모드로 빌드하면 \synergy\bin\Release 폴더에 실행 파일이 생성됩니다. 그런데, 애석하게도 이렇게 빌드한 버전에서는 "[Synergy] 여러 컴퓨터에서 키보드, 마우스 공유" 글에 나온 UI를 가진 프로그램이 없고 콘솔 프로그램 형식만 있습니다.

어쨌든, 이렇게 빌드된 콘솔 프로그램으로 테스트를 해볼텐데, 각각 THESERVER, THECLIENT 라는 컴퓨터 이름을 가진 2대의 윈도우 PC에서 진행해 봤습니다.

서버는 THESERVER PC가 되고 여기서는 \synergy\bin\Release\synergys.exe 프로그램을 실행할 텐데, 이 때 옵션으로 conf 파일을 지정해야 합니다. 형식은 "How to configure Synergy in six steps" 글에 나온 것을 응용해 제 상황에 맞게 다음과 같이 구성했습니다.

section: screens
THESERVER:
THECLIENT:
end

section: aliases
THECLIENT:
192.168.0.95
end

section: links
THESERVER:
left = THECLIENT
THECLIENT:
right = THESERVER
end

section: options
screenSaverSync = false
end 

위의 설정은, THESERVER와 THECLIENT PC가 있고 이 때 서버 측에서 허용할 PC의 IP 주소는 192.168.0.95가 됩니다. 아울러 THESEREVR의 모니터에서 좌측으로 마우스를 이동하면 THECLIENT 화면으로 넘어가고 그 반대도 동작합니다.

이렇게 conf 파일이 마련되었으면 다음과 같이 해당 conf 파일의 경로와 함께 서버 프로그램을 실행해 줍니다.

c:\...\Release>synergys --config .\synergy.conf
INFO: Synergy 1.6.0 Server on Microsoft Windows 6.2 x86 (WOW64)
NOTE: started server, waiting for clients

클라이언트가 될 PC에는 \synergy\bin\Release\synergyc.exe 파일을 복사한 후 서버의 IP 주소를 입력해 실행해 줍니다.

C:\Temp>synergyc 192.168.0.53
INFO: Synergy 1.6.0 Client on Microsoft Windows 6.2 x86
NOTE: started client
NOTE: connecting to '192.168.0.53': 192.168.0.53:24800
NOTE: connected to server

오~~~ 정말 마우스를 왼쪽 모니터 영역 밖으로 끌어가니 클라이언트 쪽 화면의 마우스가 움직입니다. ^^ 클립보드에 복사한 내용도 잘 전달되는데, 아쉬운 것은 윈도우 8.1을 지원하지 못하는 것인지 알 수 없지만 클라이언트 측으로 마우스가 넘어갔을 때 키보드 입력이 'ALT'키가 눌린 상태로 전달이 되는 문제가 있습니다. 그래서 텍스트 입력은 안되고 메뉴 선택이 되는 동작이 이뤄집니다.

그 점을 제외하고는 훌륭하게 잘 동작합니다. ^^

참고로, 예전 버전의 윈도우 설치 버전을 다음과 같이 sourceforge에서도 구할 수 있다는 점.

Download SynergyInstaller-1.3.1.exe (923.6 kB) 
; http://sourceforge.net/projects/synergy2/files/Binaries/1.3.1/

(소스코드로부터 빌드된 바이너리는 1.6.0 버전입니다.)




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 9/20/2014]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 61  62  [63]  64  65  66  67  68  69  70  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
12363정성태10/11/202021113.NET Framework: 947. C# 9.0 - (1) 대상으로 형식화된 new 식(Target-typed new expressions) [2]파일 다운로드1
12362정성태10/11/202017665VS.NET IDE: 151. Visual Studio 2019에 .NET 5 rc/preview 적용하는 방법
12361정성태10/11/202019686.NET Framework: 946. C# 9.0을 위한 개발 환경 구성
12360정성태10/8/202014922오류 유형: 666. The type or namespace name '...' does not exist in the namespace 'Microsoft.VisualStudio.TestTools' (are you missing an assembly reference?)
12359정성태10/7/202017133오류 유형: 665. Windows - 재부팅 후 iSCSI 연결이 끊기는 문제
12358정성태10/7/202017987오류 유형: 664. Web Deploy 설치 시 "A newer version of Microsoft Web Deploy 3.6 was found on this machine." 오류 [3]
12357정성태10/7/202015630오류 유형: 663. 이벤트 로그 - The storage optimizer couldn't complete retrim on New Volume
12356정성태10/7/202031265오류 유형: 662. ASP.NET Core와 500.19, 500.21 오류 (0x8007000d)
12355정성태10/3/202014793오류 유형: 661. Hyper-V Linux VM의 Internal 유형의 가상 Switch에 대한 IP 연결이 되지 않는 경우
12354정성태10/2/202028800오류 유형: 660. Web Deploy (msdeploy.axd) 실행 시 오류 기록 [1]
12353정성태10/2/202018254개발 환경 구성: 518. 비주얼 스튜디오에서 IIS 웹 서버로 "Web Deploy"를 이용해 배포하는 방법
12352정성태10/2/202019502개발 환경 구성: 517. Hyper-V Internal 네트워크에 NAT을 이용한 인터넷 연결 제공
12351정성태10/2/202017961오류 유형: 659. Nox 실행이 안 되는 경우 - Unable to bind to the underlying transport for ...
12350정성태9/25/202022377Windows: 175. 윈도우 환경에서 클라이언트 소켓의 최대 접속 수 [2]파일 다운로드1
12349정성태9/25/202016541Linux: 32. Ubuntu 20.04 - docker를 위한 tcp 바인딩 추가
12348정성태9/25/202017581오류 유형: 658. 리눅스 docker - Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock
12347정성태9/25/202033113Windows: 174. WSL 2의 네트워크 통신 방법 [4]
12346정성태9/25/202016577오류 유형: 657. IIS - http://localhost 방문 시 Service Unavailable 503 오류 발생
12345정성태9/25/202016095오류 유형: 656. iisreset 실행 시 "Restart attempt failed." 오류가 발생하지만 웹 서비스는 정상적인 경우파일 다운로드1
12344정성태9/25/202018031Windows: 173. 서비스 관리자에 "IIS Admin Service"가 등록되어 있지 않다면?
12343정성태9/24/202029085.NET Framework: 945. C# - 닷넷 응용 프로그램에서 메모리 누수가 발생할 수 있는 패턴 [5]
12342정성태9/24/202019123디버깅 기술: 171. windbg - 인스턴스가 살아 있어 메모리 누수가 발생하고 있는지 확인하는 방법
12341정성태9/23/202017153.NET Framework: 944. C# - 인스턴스가 살아 있어 메모리 누수가 발생하고 있는지 확인하는 방법파일 다운로드1
12340정성태9/23/202016817.NET Framework: 943. WPF - WindowsFormsHost를 담은 윈도우 생성 시 메모리 누수
12339정성태9/21/202016993오류 유형: 655. 코어 모드의 윈도우는 GUI 모드의 윈도우로 교체가 안 됩니다.
12338정성태9/21/202016996오류 유형: 654. 우분투 설치 시 "CHS: Error 2001 reading sector ..." 오류 발생
... 61  62  [63]  64  65  66  67  68  69  70  71  72  73  74  75  ...