2018年5月11日金曜日

LXDでEclipse OxygenとXfce Desktop環境、XRDPをインストールしたコンテナ(Ubuntu16.04)を構築する

Atomはオープンソースのテキストエディタです。
XRDPもインストールされているので、リモートデスクトップから接続することができます。ユーザはubuntu、パスワードもubuntuです。

〇Eclipse Oxygenの画面


〇構築方法
LXDで以下のコマンドを実行して、Eclipse OxygenとXfce Desktop環境インストールされたコンテナを構築します。
lxc init ubuntu:16.04 lxdxfceeclipse
lxc config set lxdxfceeclipse user.user-data - < config.yml
lxc start lxdxfceeclipse

config.yml
#cloud-config

package_upgrade: true

hostname: lxdxfceeclipse
manage_etc_hosts: true

write_files:
  - path: /tmp/.xsessionrc
    content: |
      export LANG=ja_JP.UTF-8
      export GTK_IM_MODULE=fcitx
      export QT_IM_MODULE=fcitx
      export XMODIFIERS="@im=fcitx"
      sed -i -e "s/^EnabledIMList.*$/EnabledIMList=fcitx-keyboard-jp:True,mozc:True,fcitx-keyboard-us:False/" /home/ubuntu/.config/fcitx/profile
      fcitx -r -d &

  - path: /etc/default/keyboard
    content: |
      XKBMODEL="pc106"
      XKBLAYOUT="jp"
      XKBVARIANT=""
      XKBOPTIONS=""
      BACKSPACE="guess"

  - path: /tmp/eclipse.desktop
    content: |
      #!/usr/bin/env xdg-open
      [Desktop Entry]
      Version=1.0
      Type=Application
      Terminal=false
      Exec=/opt/eclipse/eclipse
      Name=eclipse
      Categories=Development;

runcmd:
  - 'sed -i.bak -e "s#http://archive.ubuntu.com/ubuntu/#http://ftp.riken.jp/pub/Linux/ubuntu/#g" /etc/apt/sources.list'
  - 'localectl set-locale LANG=ja_JP.UTF-8'
  - 'localectl set-keymap jp106'
  - 'apt-get update'
  - 'apt-get -y install software-properties-common'
  - 'add-apt-repository ppa:hermlnx/xrdp'
  - 'apt-get update'
  - 'echo "export LANG=ja_JP.UTF-8" >> /home/ubuntu/.bash_profile'
  - "echo 'ubuntu:ubuntu' | chpasswd"
  - 'apt-get -y install xrdp fcitx-mozc xubuntu-desktop language-pack-ja language-pack-ja'
  - 'im-config -n fcitx'
  - 'mv /tmp/.xsessionrc /home/ubuntu'
  - 'chown -R ubuntu:ubuntu /home/ubuntu'
  - 'apt-get -y install openjdk-8-jdk'
  - 'wget http://ftp.yz.yamagata-u.ac.jp/pub/eclipse/technology/epp/downloads/release/oxygen/3a/eclipse-java-oxygen-3a-linux-gtk-x86_64.tar.gz'
  - 'tar xvfz eclipse-java-oxygen-3a-linux-gtk-x86_64.tar.gz'
  - 'mv eclipse /opt'
  - 'mv /tmp/eclipse.desktop /usr/share/applications'
  - 'fcitx -r -d &'

final_message: "completed."

〇コンテナのIPを調べる
コンテナのIPは以下のコマンドで調べることができます。
lxc list

〇ホストマシンの外部からコンテナにアクセスしたい場合
以下のコマンドを実行します。
PORT=3389 PUBLIC_IP=<ホストのIP> CONTAINER_IP=<コンテナのIP> sudo -E bash -c 'iptables -t nat -I PREROUTING -i eth0 -p TCP -d $PUBLIC_IP --dport $PORT -j DNAT --to-destination $CONTAINER_IP:$PORT -m comment --comment "container"'

〇コンテナに入る
lxc exec lxdxfceeclipse /bin/bash

〇コンテナの停止
lxc stop lxdxfceeclipse

〇コンテナの削除
lxc delete lxdxfceeclipse


○関連情報
・Eclipseに関する他の記事はこちらを参照してください。

0 件のコメント:

コメントを投稿