# Barrier

"Barrier"는 오픈 소스 소프트웨어로, 여러 컴퓨터의 키보드와 마우스를 단일 컴퓨터의 입력 장치로 사용할 수 있게 해주는 KVM (Keyboard, Video, Mouse) 스위치의 소프트웨어 버전입니다.

Barrier의 주요 특징은 다음과 같습니다:

1. **다중 플랫폼 지원**: Barrier는 Windows, macOS, 그리고 Linux에서 동작합니다.
2. **클립보드 공유**: 한 컴퓨터에서 텍스트 복사하고 다른 컴퓨터에 붙여넣을 수 있습니다.
3. **오픈 소스**: Barrier는 GPL 라이선스로 배포되는 오픈 소스 프로젝트입니다.

Barrier를 사용하면 여러 컴퓨터를 사용하는 작업 공간에서 키보드와 마우스 스위칭 장치를 구입할 필요 없이 효율적으로 작업할 수 있습니다.

### Barrier 설치하기.

```
$ sudo apt install -y barrier
```

### Barrier 실행하기.

프로그램 메뉴에서 "barrier" 또는 Albert(alt + space) barrier로 실행합니다.&#x20;

<div><figure><img src="https://92945037-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgXAyiVsXX2LfvRsAMZo1%2Fuploads%2FXnwMy09jU3WBOWUW0Fjg%2F%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%2C%202023-10-26%2015-49-07.png?alt=media&#x26;token=5234f862-025b-4fa8-b700-3ab95c4580be" alt=""><figcaption></figcaption></figure> <figure><img src="https://92945037-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgXAyiVsXX2LfvRsAMZo1%2Fuploads%2F2S4aOB45my65dBi2JjBh%2F%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%2C%202023-10-26%2015-50-18.png?alt=media&#x26;token=6b7866c0-be40-46ad-a31b-24f804445b29" alt=""><figcaption></figcaption></figure></div>

<figure><img src="https://92945037-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgXAyiVsXX2LfvRsAMZo1%2Fuploads%2F0JR7s489HTGUk1zRZ4wD%2F%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%2C%202023-10-26%2015-51-17.png?alt=media&#x26;token=5529fbf2-619a-4f04-bcb6-bfc7e13d057b" alt=""><figcaption></figcaption></figure>

### Barrier 설정하기

Barrier는 서버와 클리아언트로 설정을 합니다.&#x20;

* 서버는 마우스와 키보드를 사용하실 컴퓨터를 의미하며,
* 클라이언트는 사용하실 여러대의 컴퓨터입니다.&#x20;

### Barrier 서버 설정하기

1. 아래 그림과 같이 Barrier를 실행하신 후,  서버에 체크를 하시고 "서버설정" 버튼을 클릭합니다.

<figure><img src="https://92945037-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgXAyiVsXX2LfvRsAMZo1%2Fuploads%2F2AKk9ONN1ROqaYfipphz%2Fimage.png?alt=media&#x26;token=89c329d6-bde7-4650-b425-2f9b596a3528" alt=""><figcaption></figcaption></figure>

2. Barrier 서버 구성과 레이어 설정을 진행합니다.&#x20;
   1. 우측 상단의 모니터를 마우스로 선택하여 드래그로 끌어다 놓습니다.&#x20;
   2. "이름없음" 지정된 모니터가 생성됩니다.

<figure><img src="https://92945037-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgXAyiVsXX2LfvRsAMZo1%2Fuploads%2FW4zNUk2fSZqDhkPmm6uH%2Fimage.png?alt=media&#x26;token=cde5747a-8140-4842-8f9b-816be9072bf1" alt=""><figcaption></figcaption></figure>

3. "이름없음" 모니터를 마우스 더블클릭을 하고, 화면 이름에 컴퓨터의 화면 이름(장치 이름)을 입력하고 OK버튼을 클릭합니다.

   &#x20;<mark style="color:red;">**- 잠깐!. 컴퓨터의 화면이름을 몰르시겠다고요??**</mark>&#x20;

   &#x20;<mark style="color:red;">**- 그러면 클라이언트로 사용하실 컴퓨터에 Barrier를 실행하신 후 "F4"를 눌르시면 확인할 수 있어요..**</mark>

<figure><img src="https://92945037-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgXAyiVsXX2LfvRsAMZo1%2Fuploads%2Feolr9B8PuNmg8SBUj40j%2Fimage.png?alt=media&#x26;token=5ec9bab3-89c8-49f3-8979-81dda4a54cc7" alt=""><figcaption></figcaption></figure>

4. "이름없음"에서 입력하신 화면이름으로 변경됩니다.&#x20;

<figure><img src="https://92945037-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgXAyiVsXX2LfvRsAMZo1%2Fuploads%2FJlAb1oSE74PQA83aHZJk%2Fimage.png?alt=media&#x26;token=4303a9ef-0dbc-4557-9711-e3fe01b25fdd" alt=""><figcaption></figcaption></figure>

5. 그리고 간편 사용을 위해 단축키 설정을 진행합니다.&#x20;
   1. 그림에서 "1 단축키" 탭을 눌리시고,  "2 생성" 버튼을 클릭하면, "3. 단축키" 설정창이 나옵니다.&#x20;
   2. 사용하실 키보드 단축키를 지정하고 "ok"버튼을 클릭하세요.

<figure><img src="https://92945037-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgXAyiVsXX2LfvRsAMZo1%2Fuploads%2FIDufl246GiZuplQRwohK%2Fimage.png?alt=media&#x26;token=861fa1e4-9a90-40f4-ad3c-3ab209908a87" alt=""><figcaption></figcaption></figure>

6. 좌측 단축키 레이어에서 지정하신 단축키를 클릭하시고,  우측 행동 레이어에서 "1. 생성" 버튼을 클릭합니다.&#x20;

   &#x20;\- 동작 설정창에서 원하시는 수행 동작을 선택하시면 됩니다.&#x20;

   &#x20;\- 전 동작 설정의 옵션에서 Toggle Screen을 선택하겠습니다.&#x20;

<figure><img src="https://92945037-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgXAyiVsXX2LfvRsAMZo1%2Fuploads%2F02Q7pP0bnGtmkNrLSy3T%2Fimage.png?alt=media&#x26;token=877cb4e9-8402-4a61-9c43-54ff8ab65981" alt=""><figcaption></figcaption></figure>

7. Barrier를 사용하기 위한 서버 설정이 완료된것이며, "OK" 버튼을 클릭하여 "서버설정" 창을 닫으시고  Barrier의 "시작" 버튼을 클릭합니다.

<div><figure><img src="https://92945037-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgXAyiVsXX2LfvRsAMZo1%2Fuploads%2FtpmYW0dnsKcZv83TMZGO%2F%EC%84%A0%ED%83%9D%20%EC%98%81%EC%97%AD_018.png?alt=media&#x26;token=30e27c3b-d06e-4505-bdbb-99c947af9ad6" alt=""><figcaption></figcaption></figure> <figure><img src="https://92945037-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgXAyiVsXX2LfvRsAMZo1%2Fuploads%2FGHmykZs1I6HdqFUTWvAL%2F%EC%84%A0%ED%83%9D%20%EC%98%81%EC%97%AD_019.png?alt=media&#x26;token=2880b4b2-3a86-4fc4-8e9c-db99bb74b290" alt=""><figcaption></figcaption></figure></div>

<figure><img src="https://92945037-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgXAyiVsXX2LfvRsAMZo1%2Fuploads%2Fl1u10GW6S2q69c9rOZWm%2Fimage.png?alt=media&#x26;token=6792ce0f-f524-4fd2-8e8a-cf5f5bd85256" alt=""><figcaption></figcaption></figure>

### Barrier 클라이언트 설정하기.

1. Barrier 실행 후 클라이언트 체크를 하시고 "시작" 버튼을 클릭합니다.&#x20;

<figure><img src="https://92945037-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgXAyiVsXX2LfvRsAMZo1%2Fuploads%2FldbmSq6DZiyr8TtzmQFh%2Fimage.png?alt=media&#x26;token=d91e7855-d007-47f9-96ac-b385781ba810" alt=""><figcaption></figcaption></figure>

2. Security question 창이 나오는데 여기에서 "Yes" 버튼을 클릭합니다.&#x20;

<figure><img src="https://92945037-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgXAyiVsXX2LfvRsAMZo1%2Fuploads%2FzoLS0uqCYj1REVHTrf8q%2Fimage.png?alt=media&#x26;token=a80f5698-7401-4ac5-9298-9d9401dcf765" alt=""><figcaption></figcaption></figure>

3. 클라이언트 설정이 완료되었습니다. Barrier창을 닫아주세요... 창을 닫는다고 종료되는게 아니니 문제 없습니다.&#x20;

   &#x20;\- Barrier 종료는 작업표시줄에 Barrier 아이콘으로 종료하시면됩니다.&#x20;

<figure><img src="https://92945037-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgXAyiVsXX2LfvRsAMZo1%2Fuploads%2FhX2Epm3byE02FAPbcE5U%2F3.png?alt=media&#x26;token=fc939d2f-2c84-4c29-ab72-4369a3ebf597" alt=""><figcaption></figcaption></figure>

#### 이로써 서버와 클라이언트 설정이 완료되었습니다.&#x20;

#### 지정하신 단축키를 이용해서 하나의 키보드와 마우스로 여러개의 컴퓨터를 관리해 보세요...

#### 아주 아주 좋\~습니다.&#x20;

### 잠깐.!!&#x20;

재부팅 할때마다 Barrier을 실행 시켜야 하는데 귀찮아 집니다.&#x20;

시스템 서비스로 등록해서 더\~\~편하게 사용해보세요.

1. Service 파일 생성 ( /etc/systemd/system/\<client or Server\_barrier>.service
2. 데몬 재시작. (sudo systemctl daemon-reload )
3. 서비스 활성화 ( sudo systemctl enable \<client or Server\_barrier>.service

\<Client>&#x20;

```
[Unit]
Description=Start Barrier Client
After=network.target

[Service]
User=<systemuser>
ExecStart=/usr/bin/barrierc -f --no-tray --debug INFO --name <clientname> --enable-crypto [<serverip>]:<serverport>
Restart=on-failure
RestartSec=5s


[Install]
WantedBy=multi-user.target
```

\<Server>

```
[Unit]
Description=Start Barrier Server
After=network.target

[Service]
User=<systemuser>
ExecStart=/usr/bin/barriers -f --no-tray --debug INFO --name <servername> --enable-crypto -c <path-to-config> --address :24800
Restart=on-failure
RestartSec=5s


[Install]
WantedBy=multi-user.target
```
