Docker-3
前回に引き続き、Dockerで開発環境構築。
GUIセットアップ編。
(かなり長いし、画像もそんなにないのできついと思いますので
おヒマな時にでも笑。)
docker上でデスクトップ、という運用がそもそも普通はやらないので笑、
参考文献がネット上にあまりなかったです。
で、前回LinuxtでGUIといえばubuntuだ!と思い、
docker ubuntu でググるとそれっぽい記事がいくつか出てきましたので
それを参考に進めます。
DockerでUbuntuデスクトップを使おう - さくらのナレッジ
まずは上記を参考に実施。
ホストのブラウザでdocker起動のサーバをデスクトップ環境で見る方法。
上記記事で指定のイメージをローカルに取得。
$docker pull dorowu/ubuntu-desktop-lxde-vnc
参考URLだと、ターミナル上でpwとか入れるけど聞かれませんでした。
http://localhost:6080/vnc.htmlでアクセス。
一瞬で終了!笑
Dockerではすでにいろいろな人が作ったイメージが配布されているので、
こういうのないかな、
と思ったやつはすでに誰かが作って公開していることが多いです。
ただ冷静に考えて、ブラウザで開発は無理すぎる...となり別の方法を検討。
続いて、以下記事を参考に。
とりあえず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と同様。)
再ログイン後、文字化けが治っているのを確認!
ただ、ダラダラと書いたものの日本語入力はいまだできず。
一旦保留。
ちょっと長すぎるので、javaの導入は次回!