要は(TL;DR)
IBM Cloud/Ubuntu 18.04 LTSでリモートからデスクトップ(gnome3)使いたいなら、以下の手順でうまくいくはず!
- ubuntu 18.04 LTS minimumのオーダーと起動
- rootでログイン
apt update
apt install ubuntu-desktop xrdp tigervnc-standalone-server tigervnc-xorg-extension
- Windowsのリモートデスクトップでログイン(XVnc利用)
- ( オプション) xrdpの設定のカスタマイズ(後述)
はじめに
こんにちわ!石田です。当記事は同じことに悩む方もおられるかもしれないと思い、お手間を省くためにメモとして書きます。実は今ハンズオンセミナーのための環境をあれこれ検討してます。要件としてはIBM Cloud上に立てた仮想サーバー(ubuntu)上にGUI(デスクトップ環境)いれてWindows10のクライアントからデスクトップ環境を使いたい。まあ「普通にvnc使えばいいよね!」と思って早速あれこれ試したのですが、実際にやってみるとvncserverの実装の選択肢がいろいろあって迷いますし、ネット上の記事通りにやってみると環境が違うので動かなかったり、構成が面倒だったり、繋がってもパッケージが不足してるせいで画面が灰色のままだったり、うまく接続できても画面サイズが合ってなかったり、画質が著しく悪かったり、、と全然うまくいかなくてもうvncにはウンザリ1しました。
であれこれ検索してたら「xrdpならクライアントにWindows のリモート・デスクトップが使えるよ」との記事が!「お、これはいい!」と思ってやってみたら、すごく簡単にいい感じのデスクトップにアクセスできたので手順を記録しておこうと思った次第です。(とはいえこの記事自体も時間の経過とともに「この通りやったけどできない!」ってオチになるかもしれませんので、その際はご容赦ください。一応2019/10月時点です)
前提環境とやりたいこと
- IBM Cloud のVirtual Server(Public)
- OSはUbuntu 18.04 Minimal LTS -> デスクトップ(GUI)なしなので、gnome3を後から入れたい2
- Ubuntuのgnome3のデスクトップにWindowsからいい感じでアクセスしたい
設定作業
大きい流れ
ネットのブログ「Ubuntu/WindowsからUbuntuにリモートデスクトップ接続する」が元ネタです。この場を借りてお礼申し上げます。
【1】仮想サーバーをオーダー/起動/sshでrootログイン
【2】アップデート( apt update )
【3】デスクトップ環境( ubuntu-desktop )およびリモート環境(xrdp/tiger-vnc)をインストール( apt install )
【4】Windowsの「リモート・デスクトップ」からxvncで接続
【5】(オプション) xrdpの設定のカスタマイズ
【1】仮想サーバーをオーダー/起動/sshでrootログイン
普通の作業なので省略しますが、必要ならこちらをご参照ください
【2】アップデート( apt update )
普通にapt update
します
【3】デスクトップ環境( ubuntu-desktop )およびリモート環境(xrdp/tiger-vnc)をインストール( apt install )
apt install ubuntu-desktop xrdp tigervnc-standalone-server tigervnc-xorg-extension
1000個以上のモジュールをインストールするので30分以上かかります。気長にお待ちください。
【4】Windowsの「リモート・デスクトップ」からxvncで接続
インストールが終われば、そのままデスクトップにアクセスできます。(vncの設定等は不要)
いったんエラーになりますが、「OK」でパネルが表示されます3
Sessionを**「Xvnc」に変えて**仮想サーバーのIDとパスワードを入力して「OK」ボタン。いったん画面が黒くなりますが5-10秒くらい待っていると、、ジャーン! デスクトップが現れます!
デフォルトでは何も表示されていませんが、Activitiesの下をクリックするとメニューが表示されます。
ちなみに使っていてなんらかの理由で再ログインがうまくいかない場合は、残っているvncサーバーのセッションをkillしてみてください。その状態で試みるとうまくいくようです
root@virtualserver01:~# ps -ef|grep vnc
root 12341 12339 2 08:57 ? 00:00:00 Xvnc :10 -auth .Xauthority -geometry 1920x1080 -depth 32 -rfbauth /root/.vnc/sesman_root_passwd:10 -bs -nolisten tcp -localhost -dpi 96
root 12809 1147 0 08:57 pts/0 00:00:00 grep --color=auto vnc
root@virtualserver01:~# kill -9 12341
root@virtualserver01:~# ps -ef|grep vnc
root 13147 1147 0 09:01 pts/0 00:00:00 grep --color=auto vnc
root@virtualserver01:~#
【5】(オプション) xrdpの設定のカスタマイズ
このままでも使えるのですが、メニューを固定化したり、といったカスタマイズを行っておいた方がよいでしょう。冒頭に掲げたブログ記事の「Ubuntu18.04用xrdp設定」に2つのカスタマイズ作業が掲載されていますので「ユーザー毎に」実施します。(シェル化してくださっているので便利です)
以上です。vnc入れてxstartupとかあれこれ設定いじったり、クライアントにvncviewer入れずに済むので、すごく楽です!
ご参考まで) 今回使ったVirtual Serverの起動まで
IBM Cloud クラッシック・インフラストラクチャー(旧Softlayer) の仮想サーバーは無償のLiteプランではご利用いただけません。(PAYG=クレジットカード登録など)何らかのPaid-Accountが必要です。
-
ubuntu 18.04を選んで起動2
当記事の主旨ではubuntu 18.04 LTSを選ぶこと以外は自由ですが、一応。
- Type of Virtual Server: Public
- Billing: Hourly デフォはHourly(時間単位課金)だと思いますが確認しましょう!意図せずMonthlyにして後で後悔せぬように。
- Location: お好みで
- サイズ: お好みで
- Image: Ubuntu 18.04 Minimal LTS ~ GUIなしなので後で入れます
最終的に私はこれで注文(起動)しました。一時間0.06$の激安VM。
- 起動を確認
DevicesのパネルでStatusがPower-OnになりIPとパスワードが割り振られていれば起動は完了しています。
- rootのパスワードは「show password」をクリックすると見られます。
以下は念のためですがVMを発注すると以下のように連続的に3通のメールが来ます。
- #1 .. オーダーを受けた確認だよ
- #2 .. オーダーを承認したんでこれから処理するよ
- #3 .. オーダーしたVMが起動したよ
- SSHでログイン
すでにこの状態でSSHのServer(sshd)は動いているので、パブリックIPに対してrootと<表示されたパスワード>でSSHを使ってログインします。