개발자, 디자이너, 혹은 헤비 유저들의 책상을 보면 공통적인 풍경이 있습니다. 메인 작업을 위한 고사양 윈도우 데스크탑, 서버 관리를 위한 리눅스 머신, 그리고 디자인이나 앱 개발을 위한 맥북까지. 다중 기기 환경은 생산성을 높여주지만, 동시에 물리적인 고통을 수반합니다. 책상 위는 키보드와 마우스로 가득 차고, 의자를 돌려가며 다른 입력 장치를 잡아야 하는 번거로움은 작업의 흐름(Flow)을 끊어먹는 주범입니다.

이 문제를 해결하기 위해 많은 이들이 수십만 원짜리 하드웨어 KVM 스위치를 구매하지만, 복잡한 배선과 제한된 포트 수, 그리고 미세한 입력 지연은 여전히 숙제로 남습니다.
오늘 소개할 **’Deskflow’**는 물리적 장비 없이, 오직 소프트웨어와 네트워크만으로 이 모든 문제를 해결하는 오픈소스 솔루션입니다. 과거 유료 소프트웨어였던 ‘Synergy’와 그 파생작인 ‘Barrier’의 계보를 잇는 이 강력한 도구가 어떻게 다중 OS 환경을 하나의 시스템처럼 통합하는지, 그 기술적 원리와 실전 활용법을 심층 분석합니다.
1. 패러다임의 전환: 하드웨어 KVM vs 소프트웨어 KVM
Deskflow를 이해하기 위해서는 먼저 **KVM(Keyboard, Video, Mouse)**의 개념을 재정립해야 합니다.
하드웨어 KVM의 한계
전통적인 하드웨어 KVM은 물리적인 스위칭 박스입니다. 버튼을 누르면 모니터 화면과 USB 신호가 통째로 B 컴퓨터로 넘어갑니다.
- 단점: 화면이 전환되는 동안의 ‘깜빡임(Blackout)’, 비싼 가격, 그리고 케이블 지옥. 무엇보다 “동시에 두 화면을 보면서 작업하는” 멀티태스킹 환경에는 부적합합니다.
Deskflow가 제시하는 ‘가상 KVM’
Deskflow는 ‘비디오(Video)’를 공유하지 않습니다. 각 컴퓨터는 각자의 모니터를 그대로 유지합니다. 대신 **입력 신호(Input Signal)**만을 네트워크 패킷으로 변환하여 실시간으로 전송합니다.
- 사용자 경험(UX): 윈도우 PC의 마우스 커서를 화면 오른쪽 끝으로 밀면, 자연스럽게 옆에 있는 맥북의 화면 왼쪽에서 커서가 나타납니다. 그 순간 키보드 입력 권한도 맥북으로 넘어갑니다. 마치 두 컴퓨터가 거대한 하나의 듀얼 모니터 시스템인 것처럼 작동하는 것입니다.
2. 오픈소스의 계보: Synergy부터 Deskflow까지
이 기술의 역사는 꽤 깁니다. 2000년대 초반 Synergy라는 걸출한 오픈소스가 있었지만, 상용화되면서 유료로 전환되었습니다. 이에 반발한 커뮤니티가 코드를 포크(Fork)하여 Barrier를 만들었지만, 최근 유지보수가 정체되었습니다. Deskflow는 이 Barrier를 기반으로(혹은 Input Leap 프로젝트와 궤를 같이하며) 최신 OS 호환성과 보안을 대폭 강화하여 등장한, 현시점 가장 진보된 무료 오픈소스 KVM 솔루션입니다.
3. 아키텍처 및 작동 원리 심층 분석
Deskflow는 클라이언트-서버(Client-Server) 모델을 따르며, TCP/IP 프로토콜 위에서 작동합니다.
① 서버 (Server): 입력의 주체
키보드와 마우스가 물리적으로 연결된 ‘메인 컴퓨터’가 서버가 됩니다. 서버는 자신의 입력 장치에서 발생하는 이벤트(좌표 이동, 클릭, 키스트로크)를 감시(Hooking)하다가, 커서가 지정된 ‘엣지(Edge)’를 넘어가면 해당 이벤트를 패킷으로 캡슐화하여 네트워크로 쏩니다.
② 클라이언트 (Client): 명령의 수행자
제어를 받는 서브 컴퓨터들이 클라이언트가 됩니다. 서버로부터 패킷을 수신하면, 이를 OS가 이해할 수 있는 가상 입력 신호로 변환하여 실행합니다.
③ 지연 시간(Latency)과 네트워크
“네트워크로 마우스를 움직이면 끊기지 않을까?”라는 우려가 있을 수 있습니다. Deskflow는 마우스 좌표 같은 매우 가벼운 데이터만 전송하므로, 일반적인 로컬 네트워크(LAN) 환경에서는 지연을 거의 느낄 수 없습니다.
- 권장 환경: 가능하면 모든 기기를 **유선 랜(Ethernet)**에 연결하는 것이 좋습니다. 와이파이 환경이라도 5GHz 대역을 사용하면 쾌적하지만, 2.4GHz 대역이나 신호가 약한 곳에서는 미세한 밀림 현상이 발생할 수 있습니다.
4. 핵심 기능: 단순 공유를 넘어선 통합
Deskflow는 단순히 마우스만 넘겨주는 것이 아닙니다. OS 간의 장벽을 허무는 강력한 기능들을 제공합니다.
클립보드 공유 (Clipboard Sharing)
가장 강력한 기능입니다. 윈도우에서 웹사이트 URL을 Ctrl+C로 복사하고, 마우스를 리눅스 화면으로 넘겨 Ctrl+V를 누르면 즉시 붙여넣기가 됩니다.
- 기술적 원리: 텍스트(Plain Text), HTML, 비트맵(Bitmap) 등 다양한 MIME 타입을 지원하여 단순 텍스트뿐만 아니라 캡처한 이미지 조각까지 공유할 수 있습니다. (단, 대용량 파일 복사는 OS 간 파일 시스템 차이로 인해 제한적일 수 있습니다.)
보안 연결 (TLS Encryption)
나의 모든 키보드 입력이 네트워크를 타고 날아다닌다는 것은 보안상 큰 리스크입니다. (키로깅의 위험). Deskflow는 이를 방지하기 위해 SSL/TLS 암호화를 지원합니다.
- 서버와 클라이언트가 처음 연결될 때 고유한 **’지문(Fingerprint)’**을 교환합니다. 사용자가 눈으로 이 코드가 일치하는지 확인하고 승인해야만 연결이 성립되므로, 중간자 공격(MITM)이나 승인되지 않은 기기의 접속을 원천 차단합니다.
5. 설치 및 구성 가이드 (크로스 플랫폼)
Deskflow의 강점은 OS를 가리지 않는다는 점입니다. 윈도우, 맥, 리눅스, 심지어 라즈베리 파이까지 연결할 수 있습니다.
Step 1: 설치
- Windows/macOS: 깃허브(GitHub) 릴리즈 페이지에서 최신 인스톨러를 다운로드합니다. 윈도우의 경우 ‘Visual C++ Redistributable’이 필요할 수 있습니다.
- Linux: 우분투/데비안 계열은
sudo apt install deskflow, 페도라는 sudo dnf install deskflow 명령어로 간단히 설치 가능합니다.
Step 2: 서버 구성 (메인 PC)
- 앱을 실행하고 **”Server (share this computer’s mouse and keyboard)”**를 체크합니다.
- ‘Configure Server’ 버튼을 누르면 그리드(Grid) 화면이 나옵니다.
- 우측 상단의 모니터 아이콘을 드래그하여, 실제 책상 위 모니터 배치와 똑같이 놓습니다. (예: 메인 모니터 오른쪽에 노트북 배치)
Step 3: 클라이언트 구성 (서브 PC)
- 앱을 실행하고 **”Client (use another computer’s keyboard and mouse)”**를 체크합니다.
- 서버 IP 항목에 메인 PC의 IP 주소를 입력하거나,
Auto config를 체크합니다. Start를 누르면 서버 쪽에서 “새로운 클라이언트가 접속을 시도합니다”라는 로그와 함께 지문 확인 팝업이 뜹니다. 승인하면 연결 완료!
6. 트러블슈팅: 전문가를 위한 문제 해결
잘 되다가도 안 될 때가 있습니다. 특히 리눅스 환경에서는 몇 가지 기술적 장벽이 존재합니다.
① 리눅스와 Wayland 이슈
최근 리눅스 배포판들이 X11 대신 Wayland 디스플레이 서버를 채택하면서 문제가 생겼습니다. Wayland는 보안 구조상 응용 프로그램이 다른 프로그램의 입력에 간섭하는 것을 엄격히 차단하기 때문입니다.
- 증상: 마우스 커서는 보이지만 클릭이 안 되거나, 클립보드 공유가 먹통이 됨.
- 해결책:
- 로그인 화면(GDM 등)의 설정(톱니바퀴 아이콘)에서 세션을 ‘Ubuntu on Xorg’ 또는 **’X11’**로 변경하여 부팅합니다. (가장 확실한 방법)
- Wayland를 고수해야 한다면
libei 라이브러리를 지원하는 최신 빌드의 Deskflow(또는 Input Leap)를 사용해야 합니다.
② 방화벽과 포트 포워딩
연결이 타임아웃(Timeout) 된다면 99% 방화벽 문제입니다.
- 기본 포트: Deskflow는 TCP 24800 포트를 사용합니다.
- 해결:
- Windows: 제어판 방화벽 설정에서 Deskflow 앱 통신 허용.
- Linux:
sudo ufw allow 24800 명령어로 포트 개방. - 명령어 확인:
sudo lsof -nP -i:24800 명령어로 해당 포트가 ‘LISTEN’ 상태인지 확인하세요.
③ 한영 전환 문제
OS가 섞여 있을 때(예: 윈도우 서버 -> 맥 클라이언트) 한영 키가 제대로 작동하지 않을 수 있습니다. 이는 키 코드(Key Code) 매핑이 서로 다르기 때문입니다.
- 해결: 맥 설정에서
Caps Lock을 한영 전환으로 쓰도록 설정하거나, Deskflow 설정 파일에서 키 매핑(Key Mapping) 스크립트를 수정하여 해결할 수 있습니다.
7. 결론: 책상 위의 자유를 찾아서
Deskflow는 단순한 유틸리티 프로그램이 아닙니다. 물리적인 경계를 허물고, 파편화된 컴퓨팅 환경을 하나로 묶어주는 **’워크플로우 통합 플랫폼’**입니다.
이 도구를 도입함으로써 여러분은:
- 책상 위를 어지럽히던 키보드와 마우스를 치워버리고,
- 의자를 돌리는 불필요한 움직임을 없애고,
- 직관적인 마우스 이동만으로 OS를 넘나드는 **’몰입(Immersion)’**을 경험하게 될 것입니다.
지금 당장 Deskflow를 설치하세요. 윈도우의 생산성과 리눅스의 개발 환경, 맥의 디자인 툴이 마우스 커서 하나로 연결되는 마법 같은 경험이 여러분을 기다립니다.