前書き
SSH経由でUbuntu18.04にリモートデスクトップで接続できる環境作ろうとした時に苦労しました。Vinoやvnc4serverを試したが失敗しました。vnc4serverのインストールはできたのですが、画面がグレー色になりました。また、MATEの環境ではうまくいったのですが、デフォルトのGNOME環境を使いたかったためすこし苦労しました。僕の環境は以下の通りです。
$ lsb_release -a
Description: Ubuntu 18.04.3 LTS
Release: 18.04
Codename: bionic
こちらのサイトを参考に漸くインストールできたので、その手順をシェアーしたいと思います。
僕がやった作業が以下の通りです。
- tigervncのインストール
- リモートデスクトップで接続するユーザーの作成
- スタートアップスクリプトの作成
- vncサーバーの起動
詳細
① tigervncのインストール
まずは、Ubuntuの最新のパッケージ情報を取得し、tigervncをインストールします。
$ sudo apt-get update
$ sudo apt-get install tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension
② VNCユーザ作成
vncを許可するユーザでログインします。
$ su <存在するユーザー>
そして、以下のコマンドを実行し、パスワードの設定します。
パスワードに関する質問が聞かれた「N」を入力します。
$ vncpasswd
vncpasswdコマンドが機能しない場合は、vncserverコマンドを使用してパスワードを入力し、vncserverを強制終了します。
$ vncserver
$ vncserver -kill :*
③ 設定ファイルの作成
次に、VNCサーバーがアクティブ化されたときに実行される初期構成としてスタートアップスクリプトを作成します。
$ vi ~/.vnc/xstartup
以下のスクリプトを張り付けます。
#!/bin/sh
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &
④ 起動
以下のコマンドでvncサーバーを起動します。
$ vncserver -localhost no -geometry 800x600 -depth 24
これで準備完了、YEAH~
viewerを使ってアクセスしてみてください。
上記のコマンドで使ったパラメーターの意味は以下のようになります。
- localhost:リモート接続のうち、セキュアトンネルを利用してないものを禁止
(noにする事でトンネル作らずアクセスできる) - geometry:画面のサイズ
- depth:画面のビットカラー
8 (256色)、 16 (最大65536色)、 24 (最大約1600万色)のいずれかを指定
VNCサーバーの終了
まずは動作中のVNCサーバーの一覧を表示します。
$ vncserver -list
TigerVNC server sessions:
X DISPLAY # PROCESS ID
:1 14534
上記の場合は、一つだけ起動しており、そのVNCサーバーを終了するときは以下のコマンドを実行します。
$ vncserver -kill :1
-killパラメーターにDISPLAY番号を指定します。
また、ワイルドカードを使う事で一気にすべてのVNCサーバーを終了させることもできます。
$ vncserver -kill :*