Docker-3

前回に引き続き、Dockerで開発環境構築。

GUIセットアップ編。

(かなり長いし、画像もそんなにないのできついと思いますので

おヒマな時にでも笑。)

 

docker上でデスクトップ、という運用がそもそも普通はやらないので笑、

参考文献がネット上にあまりなかったです。

で、前回LinuxtでGUIといえばubuntuだ!と思い、

docker ubuntu でググるとそれっぽい記事がいくつか出てきましたので

それを参考に進めます。

 

DockerでUbuntuデスクトップを使おう - さくらのナレッジ

まずは上記を参考に実施。

ホストのブラウザでdocker起動のサーバをデスクトップ環境で見る方法。

上記記事で指定のイメージをローカルに取得。

$docker pull dorowu/ubuntu-desktop-lxde-vnc

参考URLだと、ターミナル上でpwとか入れるけど聞かれませんでした。

PWはubuntu、でChromeから

http://localhost:6080/vnc.htmlでアクセス。

一瞬で終了!笑

Dockerではすでにいろいろな人が作ったイメージが配布されているので、

こういうのないかな、

と思ったやつはすでに誰かが作って公開していることが多いです。

ただ冷静に考えて、ブラウザで開発は無理すぎる...となり別の方法を検討。

 

続いて、以下記事を参考に。

blog.flect.co.jp


とりあえずubuntuの最新を落として起動します。

$docker pull ubuntu:latest

$docker run -it *コンテナID* /bin/bash

記事によると、デスクトップはlxdeという軽量なやつを使用し、

ホストとの接続にはtigerVNCと呼ばれるものを使用します。

今回はWinでいうところのリモートデスクトップ的な感じで

dockerコンテナに接続します。

一つ目はブラウザだったのでそこが違っております。

 

ubuntuなどのdebianディストリビューションではapt-getで取得。

yumじゃないっす)

#apt-gete update

#apt-get install lxde

#apt-get install openssh-surver

#apt-get install mozc-surver

#apt-get install uim

#apt-get install vim

vimはもろもろ編集のためにいれました。(mozc,uimは日本語入力用)

で、1度でうまくいかないので#apt-gete update、cleanを繰り返します。

lxdeが完了すると、キーボードの初期設定的なのがいきなり出てきますが

よくわからなかったのでそれっぽいものを選択しました汗。

#locale-gen en_US.UTF.8

ロケールを設定。

#wget -np https://bintray.com/artifact/download/tigervnc/stable/tigervnc-Linux-x86_64-1.4.0.tar.gz

#tar zvxf tigervnc-Linux-x86_64-1.4.0.tar.gz 

tigervncをwgetで取得します。

vncにログインするためにユーザーが必要であるため、centというユーザを作成。

#su cent

rootからcentに切り替え、

#vncserver

で初回起動。vncserverのパスワードの設定を行えるので設定。

ここで要注意ですが、パスワードは8文字らしいです。

これを知らず、適当に設定したパスワードが8文字以上で

後の工程で全然ログインできず、苦労しました。

(設定時になにもチェックがないので注意!!)

#vncserver -kill :1

vncサーバを一旦終了。

起動すると起動スクリプトが生成されるのでそちらを参考サイトにあわせて

編集しました。以下にあります。

#cd /home/xxxx/.vnc/xstartup

設定が終わったら、参考サイトにあわせてstart.shを作成します。

参考サイトのhogeは初回起動時に作成したuserに併せて書き換えます。

ロケールもja_JP.utf8に書き換え。

start.shのパーミッションも念のため誰でも実行できるように実行権限付与。

 

終わったら一旦exitで抜け、いよいよ接続。

$docker run -p 5901:5901 編集してるイメージ名 /root/start.sh

-pでポートフォワードし、末尾で先ほど作成したシェルを指定しています。

が、全然つながらない…。

どうやら、ホストのセキュリティソフトのファイヤーウォールが

邪魔をしていたようなので一旦解除。(回避方法は調査中。)

で、さらに自分は先ほどのPWの件で入れなかったので

一度/bin/bashで同じコンテナに入って以下でvncserverのPWを再設定しました。

#vncpasswd

うまくいかないときは、以下のファイルがない?かも

/usr/bin/vncpasswd

/home/cent/.vnc/passwd

tigervncはtigerviewerで見る、みたいに思っていたのでtigerviewer起動。

ip:port を指定。

なんか画面が粗い…macには標準でvncクライアントが入ってるので

以降はそっちでやります。

finder>移動>サーバに接続

vnc//ip:port

 

ログイン完了。

まだ日本語関連のものが足りなかったので、以下を実行。

#apt-get install language-pack-ja language-pack-ja-base

#export LANG=ja_JP.utf8

#export LC_ALL="ja_JP.utf8"

#update-locale LANG=ja_JP.utf8

しかし、なんかデスクトップが文字化けしている。(文字が四角形に…)

ググって以下を取得。

#apt-get upgrade

#apt-get install synaptic

home/cent/.config/ibus/busに権限がないと怒られ起動できないので、

ibus以下の権限を変更。(ibusがキーボード入力とかを制御しているらしいです。)

うまくいかず…

以下サイト参考に日本語化。

軽量Linuxを試す/wattOS R8 LXDEの日本語化 | 仙台メディアデザイン

#apt-get install ibus-mozc fonts-horai-umefont

ibusのアイコンが画面に出ないので、以下参考に対応。

LubuntuでIBusアイコンを表示する - 白烏のチラ裏

すでにインストール済みのもあったので以下2つだけ。

# apt-get install python-gconf

# apt-get install python-pexpect

ちなみに、インストール済みかの確認は以下で。

#dpkg -l | grep hoge

まだ出ない…。

 

デスクトップからibusの設定を色いろ変更してみる。

カスタムフォントを使うという項目があるので、

そこに先ほどインストールした梅フォントを設定。

さらにインプットメソッドという項目があり、

ここで切り替えのキーバインドを変更できる!

(ちなみに、使用しているMacはUS配列のため半角/全角キーがありません。)

ホストと同様のCtrl + spaceを設定しました。

すると、切り替えの表示が画面に出る!

うまくいった!と思ったらホストのみ入力が切り替わっていました…。

(ちなみに、右クリックに当たるのは二本指タップ。ホストのMacと同様。)

 

再ログイン後、文字化けが治っているのを確認!

f:id:ikeda1990ikeda:20170218000141p:plain

ただ、ダラダラと書いたものの日本語入力はいまだできず。

一旦保留。

 

ちょっと長すぎるので、javaの導入は次回!