🔥

Ubuntu MATE リモートデスクトップ

2022/04/23に公開

こちらの記事を参考にしました。
https://ossyaritoori.hatenablog.com/entry/2020/08/19/Ubuntu_18.04_リモートデスクトップ接続のための_サーバー

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よりも、便利かもしれないです。

https://genchan.net/it/virtualization/docker/13063/

コンテナの中に入ってインストールを続けます。

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などの参考記事

http://blawat2015.no-ip.com/~mieki256/diary/202007112.html

.xinitrc, .xsession の勉強になる記事です。

https://gordiustears.net/xinitrc-xsession-xprofile/

文字入力のibusとfcitxのどちらを使っているか確認してから、コードをコピペした方が良いです。
https://blue-red.ddo.jp/~ao/wiki/wiki.cgi?page=X�β��̤�¾��X�����С���ɽ������

#パスワード設定
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でリモートデスクトップ環境できました

https://twitter.com/masaru21/status/1517737623116263424

昨日まで悪戦苦闘していたGNOME(ubuntu-desktop)のリモートデスクトップ環境作りと比べたら、とても簡単に作ることが出来ました。
私は、今回ubuntuでコンテナを作っていたのでクライアントソフトは、Remminaを使いました。

Remmina で not support H264 エラー

グラフィックボードのエラーに見えたので、検索してみました。
こちらの記事のお陰で、接続できました。
感謝しています。

https://jade.alt-area.jp/archives/735

何故かDockerで作るUbuntuのデスクトップは、

日本語環境に変更しようとしても、保存が出来ないようです。
不思議です。
ネットの記事で見つけた他のLinuxのデスクトップ環境も、一つだけ使えたけど後は、設定画面が勝手に閉じてしまうなど思うように使えないのです。
そのため自分で使いやすい環境を作ろうと、この数日試行錯誤を続けていました。
この現象についても、引き続き調べたいと思っています。

コンテナのインポート、エクスポートを経験

先ほどubuntu18.04LTSで作った今回のコンテナイメージをsaveコマンドを使い、外付けHDD経由で、MacBookAirに取り込む事ができました。
そして、起動もできました。

Discussion