GUI付きのLXDコンテナ
GUI全盛の時代に生きている身としてはなんだかんだ行ってもGUIが欲しい。というか、GUIないとどうしようもない作業も多い。LXDを開発環境にしている身としてはGUI付きの環境構築技術は必須である。ので、ここにメモを残しておく。前はxrdpを使っていたがFireFox上で右クリックをするとフリーズするというバグに悩まされたので環境を作り直した。
6月27日追記:
X2Goもフリーズするので結局vnc4serverで頑張っている。よく考えたらローカルでつながっているからそんなに無駄をそぐ必要はなかった。
7月29日追記:
1周回ってX2Goに戻ってきた。FirefoxのタブやサイズがおかしいのはLXDEでは比較的問題ない。ちょっとおかしい気もするが。
2021/02/25追記: Ubuntu 20.10上で20.04を動かすのにも使えた。X2GOくんなんかフルスクリーンでやるのは簡単だけどwindowでやるにはどうしたらいいんだこれ。
実施内容
コンテナの名前をmelodicにしているがこれはROS melodicの開発環境を構築し直したときの手順を書き直しているためである。
lxc launch ubuntu:18.04 melodic
ubunutuの公式リモートサーバーから18.04のイメージをダウンロードしてコンテナを作成するコマンド
lxc exec melodic -- /bin/bash
作ったコンテナのbashにrootでログインするコマンド。
vi /etc/apt/sources.list
jaistにレポジトリを書き換えるためにviで開く
:%s/archive.ubuntu.com/ftp.jaist.ac.jp\/pub\/Linux/
:wq
書き換えて抜ける
apt update;apt upgrade -y
言うに及ばず
systemctl disable bluetooth
どうやらBluetoothが有効だとx2goの環境だとエラーを吐かれるらしい。xrdpのときもBluetoothにはちょっと悩まされたのでリモートデスクトップと相性が悪いのだろうか。16.04だとこれを下のコマンドする前にしないとBluetooth周りでエラー吐かれる。
今回はx2goというソフトでGUIを飛ばすのでその関係のソフトとデスクトップ環境を入れる。
MATEを入れるなら以下のコマンド。2021年9月現在だととりあえずMATEを入れておくのが安定な感じがある。
apt install -y x2goserver x2goserver-xsession ubuntu-mate-core
LXDEを入れるなら以下のコマンド。背景が設定されていないので発狂したくなければここらへん(https://www.gnome-look.org/browse/cat/400/ord/latest/ )のを落とせばいいんじゃないだろうか。
apt install -y x2goserver x2goserver-xsession lubuntu-desktop
※2019/05/21追記 LXDEはUbuntu19.04だとQt使ってるのでX2Goでは使えない。Mateはいけるっぽい。
※2020/3/12追記 いつの間にかX2GOにLXQt対応が入っていたので試してみたが、なんか左上にウィンドウが張り付いてしまって閉じれなかったりウィンドウを開いてもタスクバーに表示されなかったりで不具合があったので推奨しない。
passwd ubuntu
デフォルトで作成されているubuntuというアカウントにパスワードを設定する。
exit
コンテナから抜ける。
ssh-keygen -t id_25519
ssh鍵を生成していない人はこのコマンドで生成すればよい。同じ手順でもう一度作る場合はやる必要はない。デフォルトの場所に保存しない場合は次のコマンドの場所を適宜読み替えること。自分はパスフレーズを設定しなかった。ローカル用だし。
2021/02/25追記: 暗号の人間がデフォルトのrsa推すのもあれだったのでid_25519に変えた
lxc file push ~/.ssh/id_25519.pub melodic/home/ubuntu/.ssh/authorized_keys
sshの鍵をコンテナにコピーしている。これでSSHで入れるようになる。x2goはsshを通じて通信をするらしい。
apt install -y x2goclient
ホストにx2goのクライアントソフトを入れる。
lxc list
x2goで入るためにIPアドレスを確認する。
あとは適当にクライアントを設定すればx2goで入れる。
文字サイズがおかしいときは外観の設定(Appearance)をいじること(MATEの場合)
~~firefoxのタブのサイズや文字サイズがおかしいのは治っていないが倍率を調整して使っている。chromiumは多少マシ。~~LXDEにしたら我慢できる程度に解決した。
フルスクリーンのショートカットはCtrl+Alt+F。
日本語IMEはibus-mozcを使っている。
#参考文献
https://blog.simos.info/how-to-use-the-x2go-remote-desktop-with-lxd-containers/
http://futurismo.biz/archives/6880/
https://wiki.x2go.org/doku.php/doc:usage:x2goclient#keyboard_shortcuts