UbuntuStudio Tips:マウス＆キーボードを共有してみた

#はじめに

Win10のアップデートに壁癖してUbuntuやCentOSに乗り換えた方々、快適なデスクトップ生活送ってますか？
私は諸般の事情でUbuntuの派生のUbuntuStudioをメインで使っているのですが、複数マシンがあると、マウス＆キーボードの切り替えが面倒になってきました。

そこで、今回barrierというソフト(Synergyってソフトのフォークらしい)を導入してみました。


今回はつぎのような環境ができあがる想定です。
やりたいことはわかってもらえますかねーーー

![about-barrier-qtr.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111803/1fcc6840-1d02-2808-94e8-ab0f6825fcfb.png)


ちなみにディストリビューションのバージョンは以下のとおりです

サーバ（ホスト名: ryunosyn）:UbuntuStudio 18.10
クライアント(ホスト名: kenpu):UbuntuStudio 19.04

#インストール

ディストリビューションによってはPPAつかわなきゃいけない場合もあるみたいですけど、aptで入れるだけでした。らくちんですね。

いつものおまじないするだけです:

```
sudo apt update
sudo apt install barrier
```

#設定

barrierでは物理的なマウス＆キーボードを提供するマシンをサーバ、それらを共有するマシンをクライアントと呼びます。
以下、サーバ＆クライアントそれぞれ設定します。

---
1.サーバ側の設定

コマンドラインからbarrierと入力して起動します。
（メニューにも登録されてるのでお好きな方で！）
Server(share this computer's mouse and keyboard)にチェックを入れ、サーバの設定を押します

![barr-svr-startup-clipped.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111803/3b237b9d-a826-5b07-06f5-4448f953e175.png)

サーバの設定では画面レイアウト等を設定できます。
起動すると真ん中にサーバのアイコン(ryunosyn)がでます。
右上にある画面アイコンを追加してクライアント側(kenpu)のレイアウトをきめます。

![barrier-svr-cfg-01-clipped.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111803/d75016b4-30d4-307d-a678-e7d206431fb0.png)

レイアウトがおわったらOKボタンを押して元の画面にもどって[開始]ボタンをおします。
(押し忘れないでくださいね、サーバ動いていないと共有できませんから....) ←←←←←←ハマった奴がここにいます


---

2.クライアント側の設定

クライアント側も同じようにbarrierと入力して、今度はClientの方にチェックをいれます。
Auto configのチェックボックスを外してサーバのIPまたはホスト名を入力し、[開始]を押します
(あ、画像だと停止になってるところに開始ボタンがあります)

![barr-cl-clipped.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111803/12cc1a2c-0a68-e728-1a88-8bb626e1a589.png)

これで見事、キーボード＆マウスが共有できるようになりました、やったね！

#自動起動＆自動ログイン

ここまで設定して気づいたのですが、barrierクライアントの方は自動ログオンして、普段はマウス＆キーボード外しときたいなぁと思いました。
標準のデスクトップでは一度ログオンしないとbarrier起動できないですからね！！

やりかたは色々ありますが、lightdmの自動ログオンを設定した後、xfce4の自動開始アプリケーションでシェルスクリプト起動することにしました。

---
1.lightdmの自動ログオン

UbuntuStudio/Ubuntuの場合、自動ログオンする設定をインストール時に選択できますが、後から変更はGUIからはできません。
パスワードログオンを設定した後から自動ログオンの設定をする場合はlightdmの設定を変更します。

まずはautologinグループを作成し、ログオンするユーザ(ここではtheworkerという名前とします)をグループにautologin所属させます。

```
sudo groupadd -r autologin
sudo gpasswd -a theworker autologin
```

つぎにlightdmの設定を変更し、電源投入後、theworkerでデスクトップを立ち上げるようにします。
コンフィグの書き方としては/etc/lightdm/lightdm-gtk-greeter.confを書き換える方法もあるみたいですが、今回は/etc/lightdm/lightdm.conf.d/autologin.confというファイルを作って設定しました。

```/etc/lightdm/lightdm.conf.d/autologin.conf
[Seat:*]
autologin-user=theworker
autologin-user-timeout=0
autologin-session=lightdm-autologin

## この↓オプションはセキュリティ的にあんまよくないですけど、
## 昔ながらのやりかたでやっぱアプリの画面だけ
## ホスト間で転送したい事がたまにあるのでONにしときます
xserver-allow-tcp=true

```

まずはこれでデスクトップに自動ログオンできるようになりました。


---
2.xfce4の自動開始アプリケーションの登録

つぎにxfce4の自動開始アプリケーションにbarrierクライアントを立ち上げるシェルスクリプトを登録します。

まずはシェルスクリプトを作成します。theworkerのホームディレクトリに、以下のシェルスクリプトを作成します。

```/home/theworker/bin/start-barrierc.sh
#!/usr/bin/bash

barrierc --name kenpu --name kenpu --enable-crypto -f  ryunosyn

```

barriercがbarrierクライアントを動かすコマンドです。
デフォルトではデーモンモードで立ち上がるみたいですが、なぜかうまく動かなかったので-fオプションでフォアグラウンドで起動します。



そして、xfce4の自動開始アプリケーションに作成したstart-barrierc.shを登録します。
[設定マネージャ]→[セッションと起動]→[追加]から登録します。

![00-settimgr-clipped.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111803/a7ff5209-63f4-73db-2f75-6a3461c399a7.png)
![01-session-boot-clipped.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111803/7e907045-d153-debe-c2f1-0e8b662434f1.png)
![02-regcmd-clipped.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111803/e81700ef-d265-7680-0602-b1c365105e12.png)


これで再起動すると、自動的にデスクトップがあがってbarrierクライアントが立ち上がってきます。

#さいごに

便利っす！！
これでながら仕事が捗ります！！
(たまにひっかかることもあるけど)

欲を言えばウインドウも移動できる（Xineramatopをネットワーク越しで組むみたいな)とありがたいですけど、あんまり設定が面倒だったり、低速LANで使えなかったりするのもアレなんで、ここが妥協点かなー
まぁ、欲しければ自分で作れって話なんですけどね。

素のUbuntuやCentOSなんかと比べると、イマイチUbuntuStudioは情報が少ないようなきがするので、次はUbuntuStudio固有の話とかLinuxで音楽する話とか書いてみたいっす。

---
---
######2019/8/17 追記

なーんかたまにキーボードが変な挙動するみたいです。
とりあえずサーバリブートしたり、barrierサーバ側を再起動してみたりしてみましたが、どーもよくわからない......。
まぁ今後バグfixされるでしょう(他力本願)。