2015年1月2日金曜日

Ubuntu14.04でAndroid端末をサブモニタとして使う

試行錯誤の結果、nexus7をPCのサブモニタとして使うことに成功したので、やり方を共有します。
動きはかなりカクカクモッサリです。
エクセルや静止画を見ながら作業したい場合は使えると思います。


仕組み

画像の通信は、WiFiネットワーク内でVNC(Virtual Network Computing)を利用しています。
画像は、バーチャルディスプレイを設定して、内蔵モニタからでは見えない部分をandroidで表示しています。

必要なもの

ubuntuがインストールされたPC
android端末
ローカルネットワーク

全体の手順

ubuntuでデスクトップ共有の設定をする
androidからデスクトップにアクセスする
ubuntuでバーチャルディスプレイを設定する

ubuntuでデスクトップ共有の設定をする


メニューで「デスクトップ」と入力すると「デスクトップの共有」が出てくるので、それを選択します。


遠隔でデスクトップを共有できるように、設定を変更します。
自分は下の図のようにしました。


androidからデスクトップにアクセスする


「bVNC Free」というアプリを利用します。


ダウンロードしたらアプリを起動して入力画面を表示させます。
今回の設定で入力するのは、「VNC Server」と「VNC Password」の2箇所です。
VNC Serverの調べ方は今から説明します。
VNC Passwordには「デスクトップ共有の設定」の時に設定したパスワードを入力してください。

androidの入力画面

「VNC Server」の部分にはデスクトップ共有をするpcのIPアドレスを入力します。
IPアドレスを調べるために、ubuntuのデスクトップ右上にある「ネットワーク」アイコンを選択した後「接続情報」を選択します。

ubuntuのデスクトップ右上のメニュー

その後表示されるウィンドウの「IPv4」の「IPアドレス」が今回使うIPアドレスです。


IPアドレスとパスワードを入力したら、右上の「Connect」を押してPCに接続します。


androidの接続がうまく行くと、ubuntu側で接続許可を求めてくるので承認します。


成功すれば、ubuntuのデスクトップをandroidで操作できるようになるはずです。


ubuntuでバーチャルディスプレイを設定する


画面の設定値(今回は幅1440px 高さ900px ポートレート60)を調べます。
幅と高さはお好みで変えてください。
cvt 1440 900 60


表示された設定値をコピーしてモニタ設定に追加します。(「Modeline」の部分は不要です。)
xrandr --newmode "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync



設定値が追加されたことを確認します。
xrandr -q


バーチャルディスプレイに設定値を追加します
xrandr --addmode VIRTUAL1 1440x900_60.00

追加されていることを確認します。
xrandr -q

VIRTUAL1に設定が追加されて、「*」が付いていれば、バーチャルディスプレイが動いているので、android端末で表示できるはずです。

バーチャルディスプレイは「ディスプレイ」の設定からoffに出来ます。


入力したコマンドは再起動するとリセットされるので、この設定を維持したい方は
/etc/rc.local
にコマンドを追加しておくと便利です。

以上です。
誰かのお役に立てれば幸いです。

参考
Thread: Use VNC as a second monitor
UbuntuでVNC使えるようになるまでメモ
ubuntu manuals xrandr
XSF / How to use xrandr

2 件のコメント :

Unknown さんのコメント...

ubuntuでバーチャルディスプレイを設定するから全くできません。
outputにVIRTUAL1とか無いです

Asuki Kono さんのコメント...

VIRTUAL1を作るためのコマンドは実行しましたか?
OSが異なると、記事の内容ではやりたいことを実現できない可能性もあります。