Ubuntu MATE リモートデスクトップ
こちらの記事を参考にしました。
Docker で作りためのコマンド
docker run -itd --privileged -p 2222:22 -p 13389:3389 -p 5901:5900 --name ubuntu1804 --hostname ubuntu ubuntu:18.04
#コンテナの中に入ります
docker container exec -it ubuntu1804 bash
コンテナ名 ubuntu1804は、適宜書き換えてください。
ホスト名も、適宜書き換えてください。
私は、この記事を知ってから、直接コマンドでコンテナイメージを作る便利さを覚えました。
ある意味VirtualBoxよりも、便利かもしれないです。
コンテナの中に入ってインストールを続けます。
Dockerfileで私も書いているのですが、このコマンドを手動で入力していきます。
apt-get update
apt-get -y upgrade
#sudo インストール
apt-get install sudo
#この2つは、インストールした方がよさそうです。
apt-get install -y init
apt-get install systemd
#VIMは、インストールしましょう。
apt-get install vim
XRDPなどの参考記事
.xinitrc, .xsession の勉強になる記事です。
文字入力のibusとfcitxのどちらを使っているか確認してから、コードをコピペした方が良いです。
#パスワード設定
passwd
#xrdpをインストール
apt-get -y install xrdp
systemctlを使えるように、ここで一旦コンテナから出てコミットします。
```bash
exit
#コンテナ確認
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
09e7eed4a19e ubuntu:18.04 "bash" 54 minutes ago Up 54 minutes 0.0.0.0:2222->22/tcp, :::2222->22/tcp, 0.0.0.0:13389->3389/tcp, :::13389->3389/tcp, 0.0.0.0:5901->5900/tcp, :::5901->5900/tcp ubuntu1804
docker commit 09e7eed4a19e ubuntu-test
docker images
#コミットして新しく作ったコンテナイメージを起動するときに、このようにします。
docker run -it --privileged -p 2222:22 -p 13389:3389 -p 5901:5901 --name ubuntu-test2 --hostname ubuntu-test ubuntu-test /sbin/init
docker stop [コンテナID]
/sbin/init
を使って起動することで、systemctl
が使えるようになります。
ubuntuでコンテナ作る時の注意
Dockerで動くubuntuで、リモートデスクトップの環境を作るように作業を進める時、注意があります。
それは、コンテナをdocker startまたはrunで起動させると、コンテナで作っているデスクトップが起動して混乱します。
急にログイン画面に、変わってしまいます。
そのため、コンテナを作る初めの方で、最低でもpasswd
で、パスワードを設定しておいた方が良いです。
Ubuntuの場合、リモートデスクトップの環境を作らなくてもコンテナ内の作業GUIで操作できることは、すごいと思います。
Macでは、リモートデスクトップとして接続しないといけなかったです。
便利なのですが、ログインできないと困ってしまいます。
そのため、コンテナを起動する前に、ユーザーのパスワードを設定しましょう。
-dを指定しないでコンテナを起動した場合、コマンドプロンプトも表示されないので、入力もできなくなります。
新しくターミナルを開いて作業すると良いです。
docker container exec -it ubuntu-test2 bash
リモートデスクトップから抜ける時の注意点
リモートデスクトップを接続しているクライアントソフトを閉じることで、作業を終了してください。
私は、今ubuntuでコンテナを作っています。
MATEで電源を切るを選択すると、MacBookAirの電源も落ちてしまいます。
そして、起動までに大変な手間がかかります。
そのため、MATEを終了させず、リモートデスクトップのクライアントソフトのウィンドウを閉じるようにしてください。
MATEでリモートデスクトップ環境できました
昨日まで悪戦苦闘していたGNOME(ubuntu-desktop)のリモートデスクトップ環境作りと比べたら、とても簡単に作ることが出来ました。
私は、今回ubuntuでコンテナを作っていたのでクライアントソフトは、Remminaを使いました。
Remmina で not support H264 エラー
グラフィックボードのエラーに見えたので、検索してみました。
こちらの記事のお陰で、接続できました。
感謝しています。
何故かDockerで作るUbuntuのデスクトップは、
日本語環境に変更しようとしても、保存が出来ないようです。
不思議です。
ネットの記事で見つけた他のLinuxのデスクトップ環境も、一つだけ使えたけど後は、設定画面が勝手に閉じてしまうなど思うように使えないのです。
そのため自分で使いやすい環境を作ろうと、この数日試行錯誤を続けていました。
この現象についても、引き続き調べたいと思っています。
コンテナのインポート、エクスポートを経験
先ほどubuntu18.04LTSで作った今回のコンテナイメージをsaveコマンドを使い、外付けHDD経由で、MacBookAirに取り込む事ができました。
そして、起動もできました。
Discussion