DataScience
article thumbnail
728x90

하드웨어

KVM 스위치 

K(키보드), V(비디오 모니터), M(마우스)를 한 셋트로 하여 여러 대의 컴퓨터를 사용할 수 있도록 해주는 장치입니다.

단순한 장치인데 가격대가 생각보다 조금 있습니다. 

물리적으로 버튼을 눌러서 원하는 PC에 순차적으로 연결할 수 있습니다. 

소프트웨어

Mouse Without Borders

같은 네트워크에 연결된 윈도우PC들을 하나의 키보드, 마우스로 자유롭게 사용할 수 있는 프로그램입니다.

https://www.microsoft.com/en-us/download/details.aspx?id=35460 여기서 다운로드 받을 수 있습니다.

사용하려는 PC에 전부 설치하시고 실행하면 아래와 같은 창이 뜹니다. 

맨처음 설치한 상황이면 NO를 클릭합니다.

코드들을 다음 설치한 PC에 입력합니다.

그러면 연결 성공했다는 메시지가 뜨고 설정이 완료됩니다

 

듀얼모니터 쓰듯이 화면 가장자리로 커서가 넘어가면 다음 PC로 입력장치 제어가 넘어갑니다. 클립보드 공유와 파일 복사 도 가능합니다.

 

Barrier

제가 이글에서 추천드리고자 하는 프로그램입니다. 

Barrier는 같은 네트워크상에 있는 리눅스PC-윈도우PC 공유가 가능합니다. 설정방법은 Mouse Without Borders와 비슷하고 제어권 넘어가는 형식, 클립보드공유도 똑같습니다. 

https://github.com/debauchee/barrier/releases 여기서 다운받을 수 있습니다. open source입니다.

windows에는 exe파일을 받아 설치합니다.

Linux에서는 터미널 명령어로 직접 받을 수 있습니다.

sudo apt install barrier

저는 Arch Linux를 쓰기에 아래 명령어로 설치했습니다.

sudo Pacman -S barrier

우분투와 아치리눅스 외에 다른 리눅스도 많이 지원합니다. 각 리눅스 저장소를 확인해보세요.

 

키보드가 연결된 컴퓨터에서 설치를 완료하고 실행을 하면 아래와 같은 창이 뜹니다.

Server에 체크하고 서버설정을 누르면 아래와 같은 창이 뜹니다.

Grid를 더블클릭해서 아래와 같이 연결할PC(client)의 화면이름을 넣고 OK버튼을 누릅니다.

아래와 같이 제어권 전환과 커서 화면 고정을 단축키로 지정해놓으면 단축키로만 제어권을 전환할 수 있습니다.

설정을 마친후 아래와 같이 설정이 됐으면 OK버튼을 누릅니다.

시작버튼을 눌러 서버가 실행되도록 합니다.

 

연결하고 싶은 PC에 설치를 하고 실행하면 Client에 체크를 합니다. 

 

화면이름을 서버에서 제대로 적었으면 Auto config로도 바로 연결되지만 연결되지 않을경우에는 체크를 풀고 직접 IP주소를 써넣으면 됩니다. 그리고 시작을 누르면 서버와 클라이언트 서로 연결됩니다.

Log창은 F2키를 누르면 볼수 있습니다.

 

trouble shooting

Log창에 SSL관련 에러가 발생하면서 연결이 안되는 상황

서버에 SSL인증서가 없기 때문입니다.  

서버가 Windows일 경우 Powershell에 아래 명령어 그대로 입력해주면 됩니다. 

$cert = New-SelfSignedCertificate -DnsName Barrier -KeyExportPolicy Exportable

# Public key to Base64
$CertBase64 = [System.Convert]::ToBase64String($cert.RawData, 'InsertLineBreaks')

# Private key to Base64
$RSACng = [System.Security.Cryptography.X509Certificates.RSACertificateExtensions]::GetRSAPrivateKey($cert)
$KeyBytes = $RSACng.Key.Export([System.Security.Cryptography.CngKeyBlobFormat]::Pkcs8PrivateBlob)
$KeyBase64 = [System.Convert]::ToBase64String($KeyBytes, [System.Base64FormattingOptions]::InsertLineBreaks)

# Put it all together
$Pem = @"
-----BEGIN PRIVATE KEY-----
$KeyBase64
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
$CertBase64
-----END CERTIFICATE-----
"@

# Output to file
$Pem | Out-File -FilePath $env:LOCALAPPDATA\Barrier\SSL\Barrier.pem -Encoding Ascii

서버가 Linux일 경우 터미널에 아래 명령어를 입력하세요.

cd ~/.local/share/barrier/SSL
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out Barrier.cert
openssl req -key Barrier.cert -x509 -new -out Barrier.pem
cat Barrier.cert >> Barrier.pem

그리고 서버를 재시작 하면 연결이 정상적으로 됩니다.

 

리눅스가 클라이언트인 경우 마우스 커서가 안보이는 상황 

연결은 정상적으로 됐으나 제어권이 넘어가도 리눅스 화면에서 마우스 커서가 보이지 않습니다. 제 아치 리눅스 바탕화면은 GNOME을 이용하는데 GNOME이 마우스를 감지 못하면 기본적으로 터치스크린 모드로 설정되고 커서가 숨겨진다고 합니다. 

아래 명령어로 실행을 활성화 하세요

dconf write /org/gnome/settings-daemon/plugins/cursor/active false

 

여전히 마우스 커서가 안보이면 Xorg와 Wayland환경이 혼합되서 발생한 문제일 수 도 있습니다. GNOME을 Xorg로 시작하면 해결이 됩니다.

Xorg시작 방법은 사용자 로그인시 비번입력 할때 우측아래에 톱니모양을 누르고 GNOME on Xorg를 선택하시면 됩니다. 

 

윈도우 서버의 디스플레이 비율이 100%가 아닌경우에도 이 상황이 발생합니다

https://github.com/debauchee/barrier/issues/1894

 

Windows 11 desktop scaling issue · Issue #1894 · debauchee/barrier

What happened? Mouse gets stuck on an invisible line whose location changes based on scaling, at normal scale it has no issue. This issue was resolved when i uninstalled barrier. Version v2.3.4 Git...

github.com

위 글을 참조하면 디스플레이 비율을 100%로 변경하거나 2.3.4 버전을 쓰는게 해결방법 같습니다.

 

더이상 여러대의 컴퓨터를 사용할때 여러대의 키보드, 마우스를 사용하지 마세요.

profile

DataScience

@Ninestar

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!