やりたいこと
環境
Ubuntu 18.04.2 LTS Server
方針
- Xvfbで仮想ディスプレイを作って、x11vncでその画面を手元のPCに転送する
- リッチなデスクトップ環境は不要なのでインストールしない
- SSH X11 Forwardingは使わない。最初に試してみたが、遅くて使い物にならなかった
手順
概要
1. 必要なパッケージをインストールする
Xvfb、x11vnc、Firefox、日本語フォントをインストールする。
$ sudo apt install xvfb x11vnc firefox 'fonts-takao-*'
2. x11vncのパスワードを設定する
$ x11vnc -storepasswd Enter VNC password: Verify password: Write password to /home/ubuntu/.vnc/passwd? [y]/n y Password written to: /home/ubuntu/.vnc/passwd
3. 仮想ディスプレイを作る
$ Xvfb :99 -screen 0 1280x720x16 &
4. VNCサーバを起動する
$ x11vnc -display :99 -usepw -forever -bg
5. Firefoxを起動する
$ DISPLAY=:99 firefox
または
$ export DISPLAY=:99 $ firefox
6. VNCクライアントで表示する
Macなら標準でインストールされている「画面共有 (Screen Sharing)」アプリで接続できる。 Macのターミナルで次のコマンドを実行する。
$ open vnc://サーバのIPアドレス:5900/
画面共有アプリが起動し、パスワードを聞かれる。
パスワードを入力すると画面転送が始まる。
キーボードやマウスによる入力操作も可能。
画面の右と下が黒くなってFirefoxのウィンドウを最大化できないのが気持ち悪いが、本質ではないのでトラブルシューティングは割愛する。
終了したい時
FirefoxをCtrl+Cで終了した後、Xvfbをkillする。
$ pkill -f "Xvfb :99"
Xvfbをkillすれば、同時にx11vncも終了する。