Ubuntu 16.04.1とXRDP再び!日本語を取り返せ!
Posted on 2016/08/28(Sun) 04:50 in technical
はじまり
UbuntuにXRDPを入れて検証環境を便利にしたい、ただそれだけなんです。
Ubuntu 16.04が出て少し経つので、ここらで検証環境を作り直します。
今日は Ubuntu server 16.04.1 + MATE + X11RDP-o-Matic + ubuntu-defaults-ja によるWindowsからリモートデスクトップできるGNS3環境を作ります。
この番組は、魔法つかいプリキュア! 第18話 「魔法界再び!リンクルストーンを取り返せ!」のパクリタイトルでお送りします。
まだ開発環境で疲弊してるの?って言われかねない状況です。えぇい、そんなことは分かっておる。
ハードウェア
物理マシンにそのままぶち込んでいるので、グラフィック周りでは環境問題が出るかもしれませんね。
当たり障りのない内容で言うと、MBD-X9SCM-FにXeon E3-1235を載せてるくらいですね。:
$ grep Xeon /proc/cpuinfo | head -1 model name : Intel(R) Xeon(R) CPU E31235 @ 3.20GHz $ lspci | grep VGA 03:03.0 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200eW WPCM450 (rev 0a)
構築
警告
最新のリリースでは、IBusに対する問題が修正されているので、ibusをfcitxに適宜読み替える必要があります。
ubuntu-16.04.1-server-amd64.iso を使ってインストールしました。IPMIって素敵。
インストール時に以下追加してます。:
[X] Virtual Machine Host [X] OpenSSH Server
まずシステムのアップデート。:
sudo apt update sudo apt upgrade -y sudo apt autoremove -y sudo apt autoclean -y sudo reboot
XRDPの前にデスクトップ環境であるMATEを入れ、NetworkManagerを*しておきます。:
sudo apt install -y ubuntu-mate-desktop mate-desktop-environment mate-desktop-environment-extras sudo systemctl disable NetworkManager sudo systemctl stop NetworkManager sudo systemctl enable networking.service sudo vi /etc/network/interfaces auto eth0 iface eth0 inet dhcp sudo systemctl start networking.service
XRDPはX11RDP-o-Maticを利用させてもらいます。
Ubuntu 16.04に関しては最近の話題で手順が微妙ですが、 https://github.com/scarygliders/X11RDP-o-Matic/pull/61 を参考にこんな感じで入れます。:
cd ~ sudo apt-get install -y git git clone https://github.com/metalefty/X11RDP-o-Matic.git cd X11RDP-o-Matic sudo ./X11rdp-o-matic.sh --justdoit --branch devel
この段階で、XRDPは動いているのでWindowsからリモートデスクトップ可能になります。
ただ、この時点では灰色の画面と会えるだけですね、うんうん。
なんだか面倒な話なんですけど、Ubuntuの標準的な入力フレームワークはFcitx+Mozcになって、MATEはちゃんとFcitx準拠っぽいんですがXRDP経由だとやっぱりIBusじゃないとうまく入力できないよ、みたいな状況らしくて歴史をちゃんと把握してない身分の僕は唸りながらコマンドを叩いている状態です。
閑話休題。
次に日本語の入力周りを整えます。ここは https://www.ubuntulinux.jp/japanese を利用させてもらいます。:
cd ~ wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add - wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add - sudo wget https://www.ubuntulinux.jp/sources.list.d/xenial.list -O /etc/apt/sources.list.d/ubuntu-ja.list sudo apt-get update sudo apt install -y ibus-mozc ubuntu-defaults-ja
で、リモートデスクトップでログインした時に、MATEが立ち上がるようにしておきます(ここでは特定のユーザーだけ):
cd ~ echo 'export GTK_IM_MODULE=ibus export QT_IM_MODULE=ibus export XMODIFIERS="@im=ibus" mate-session' > ~/.xsession
リモートデスクトップでログインして、MATEのデスクトップが見えたらまずはOK。
設定個所はこの2つ(うろ覚えなので日本語まじり):
System -> Prefecenses -> Personal -> Language Support -> ユーティリティ起動時に不足言語情報をインストール -> 言語のインストール -> Japanese System -> Prefecenses -> Others -> IBus Prefecenses -> Input Method -> Add -> Japanese-Mozc
IBus PreferenceでJapanese-Mozcが見つからない場合は、:
kill `pidof ibus-daemon` ibus-setup
とかすると見えるようになる気がしますね。
設定が終わったら:
System -> Log Out <Username>
で抜けて、再度リモートデスクトップでログインし直すと、はれて日本語入力ができるようになっている気がします。
あとはいつものようにGNS3を入れておしまいです。
お疲れ様でした。
上手くいかなかった人は...お疲れ様です。
良く分かんないメモ
当初は、最初から日本語対応してるならその方が楽じゃないですか、って思ってUbuntu Desktopを入れたんですよ。
MATE入れてリモートデスクトップもできて日本語入力もできて、あぁ楽かもしれないな、って思ったんですよ。
で、Visual Studio Codeをインストールした辺りから雲行きが怪しくなってきたの。
最初に遭遇したのはこれ。 https://github.com/Microsoft/vscode/issues/3451
Visual Studio Codeを起動しようとしたら:
Xlib: extension "XInputExtension" missing on display ":10.0".
と言われる。一応、これは:
sudo sed -i 's/BIG-REQUESTS/_IG-REQUESTS/' /usr/lib/x86_64-linux-gnu/libxcb.so.1
とかすると一応動くようにはなるのだけど、いやいやそれsedして済ませる問題じゃなくない、ってやつ。
で、次はGNS3を入れるわけ。そうしたら今度は:
The X11 connection broke: Maximum allowed requested length exceeded (code 4) libGL error: failed to load driver: swrast
とかなってこれもGUIの起動にコケる。
libGLの方は sudo apt install nvidia-current-updates すると消えるんだけど、いやそもそもここでnvidiaが出てくるってどういうことなんですかねぇ...?
と、この辺りで厳しくなって撤退。
Ubuntu Serverに後から必要なものを突っ込んでいく方式で、一応動いたような感じになりましたとさ。
おわり
おしまいです。