外出先でプレゼンする際にタブレットをディスプレイ代わりにしたいと思ったのが発端です。
外部ディスプレイやプロジェクタ、あるいは180度開くノートPCがあれば事足ります。
私のVersaProは180度開閉機構が無い上に12.1インチディスプレイのため、画面を見せながら作業をするには向きません。
目次
条件
以下を選定の絶対条件とします。
- セキュリティ優先
- Android端末のroot化はしない
- 外部のサーバを経由しない
- PC側はLinux
- 親機(ノートPC)は Lubuntu
以下を満たしていれば更にGood!
- 無料
- 機種に依存しない
- 有線(USB接続)
調査結果
調べてみて気が付いたんですが、スマホ・タブレットをサブディスプレイ化するアプリって少ないんですね。
ましてや、Linux + Android の組み合わせだとなかなか見つからない...。
調べた中では”komado2”がすごいマッチしていたんですが、PC側がWindowsのみのサポートのため、今回は泣く泣く除外しました。
なお、”komado2”はタブレットを2種類のモードで使うことができるアプリです。
有料ですが、高機能な上にUSB接続ができるので素晴らしいです。
- デスクトップ拡張
タブレットを2台目のディスプレイとして利用可能 - ミラーリング
タブレットにPCと同じ画面を表示
base on http://komado.abt.jp/index.html
Komadoについて
komadoはスマートフォンをWindowsのサブモニタとして活用出来るアプリケーションです。
サブモニタの表示はふたつの方法が用意されています。
セカンドディスプレイ
Windowsのセカンドモニタとしてスマートフォンを利用します。
ミラーリング
メインモニタの画面ををスマートフォンへ転送し表示します
VNC
適当なアプリが見つからなかったので、今回はVNCを利用することにしました。
少し分かりにくいのですが、
- PC側をVNCサーバ
- タブレット側をVNCビューア
にすると(本来の使い方とは逆ですが)PC側の画面をタブレットに映し出すことができます。
概要 | 機能 | 備考 |
---|---|---|
親機 | VNCサーバ | Lubuntu 16.04.3 x86 |
子機 | VNCビューア | Android 4.4 |
接続 | Wi-Fi | WANは経由しない |
Lubuntu 16.04 に vino 導入
PCにデスクトップ共有"vino"をインストールします。
なお、デスクトップ共有"vino"はVNCサーバです。
base on http://e-words.jp/w/VNC.html
VNC【 Virtual Network Computing 】とは、ネットワークを通じて別のコンピュータに接続し、そのデスクトップ画面を呼び出して操作することができるリモートデスクトップソフトの一つ。
VNCサーバとVNCクライアントの2種類のソフトウェアがあり、操作される側にはサーバを、操作する側にはクライアントをそれぞれインストールする。
インストール
$ sudo apt-get install vino
設定
設定は「デスクトップ共有の設定」から行います。
以下、コマンドで画面を開きます。
vino-preferences
設定は好みもあるかと思いますが、私は以下の項目にチェックを入れました。
- 他のユーザが自分のデスクトップを表示できる
- このマシンへの接続を毎回確認する
- 通知領域のアイコンを表示 → 誰かが接続している時のみ
vino 起動
ファイアウォール解除
VNCサーバはデフォルトで5900番ポートを使用するので、開放します。
$ sudo ufw allow 5900
$ sudo ufw reload
$ sudo ufw status
状態: アクティブ
To Action From
-- ------ ----
5900 ALLOW Anywhere
5900 (v6) ALLOW Anywhere (v6)
VNCサーバ vino 起動
$ sudo /usr/lib/vino/vino-server
※コンソールが起動している間(または Ctrl + C するまで)、有効です。
Anrdoid で VNCビューア
VNCビューアにはPC版も有名な"RealVNC - VNC Viewer"を使用しました。
上記(でなくても構いませんが)VNCビューアを"Google Play ストア"から導入したらPCのIPアドレスなどを登録して接続します。
追加設定
以下のメッセージが表示されたので、リモートアクセスの暗号化をOFFにします。
The authentication mechanism requested cannot be provided by the computer.
要求された認証メカニズムは、コンピュータによって提供されることはできません。
※セキュリティの観点からはOFFにすべきではありませんが、上記「デスクトップ共有の設定」で接続の有無が判断しやすいことと、今回は使用時のみVNCサーバを起動する運用のため、良しとしました
暗号化OFF設定
dconfの編集
"dconf"はユーザ設定を管理するキーベースの設定システムで、デスクトップ環境やアプリケーションの設定、キーボード割り当て等がまとめられています。
base on https://debian-handbook.info/browse/ja-JP/stable/sect.graphical-desktops.html
アプリケーション設定データは DConf データベースに保存されます。
従って、設定情報を問い合わせたり編集することが可能です。
これを行うには、gsettings や dconf などのコマンドラインツール、または dconf-editor グラフィカルユーザインターフェースを使います。
dconfエディタの導入
$ sudo apt-get install dconf-editor
dconfの設定変更
導入したdconfエディタを起動して編集します。
dconf-editor
※設定変更は即時反映されます
- dconfエディタ
- dconf
- org
- gnome
- desktop
- remote-access
- "require-encryption"のチェックをOFF
- remote-access
- desktop
- gnome
- org
- dconf
base on require-encryption
If true, remote users accessing the desktop are required to support encryption. It is highly recommended that you use a client which supports encryption unless the intervening network is trusted.
TRUE にすると、リモートユーザーがデスクトップにアクセスするには暗号化がサポートされている必要があります。このようなアクセスを取りなすネットワークが信頼できるものでない限り、暗号化をサポートしているクライアントの使用を強く推奨します。
VNCビューアの暗号関連エラーの場合は、上記設定でクリアされるはずです。