LoginSignup
8
15

More than 5 years have passed since last update.

日本語対応Eclipseが入ったdockerコンテナを作ってみた(CentOS7編)

Last updated at Posted at 2018-02-12

環境
Windows 10 Pro 1709(16299.192)
Docker version 17.12.0-ce, build c97c6d6
CentOS Linux release 7.4.1708 (Core)
MobaXterm Persomal Edition Build 3582
Eclipse Installer version: 1.7.0 Build 3059(4.7 oxygen)
Pleiades-Eclipse日本語化プラグイン 2017.10.20版

はじめに

Dockerイメージ「centosjp」を元に、Eclipseをインストールした「dev_eclipse」イメージを作成します。
Dockerイメージ「centosjp」の作り方は、Window10に日本語対応CentOS7のdockerコンテナを作ってみたを参照。
MobaXtermのインストール方法は、EclipseをインストールしたDockerイメージを作ってみたを参照。
EUC-JPの文字を含んだC++のソースコードをコンパイルできる環境を作ります。

メモ
  ・Eclipse直接の日本語入力ができない。IMEが半角となってしまう。
    ☞ (暫定対応)Windowsのメモ帳等で入力した日本語をコピペする。
  ・一定時間イベントがないと、Eclipseが強制停止してしまう。
    ☞ (暫定対応)セッションタイムアウトが起きないよう、xeyesを起動しておく

yum install xeyes
xeyes &

  ・Gktのエラーメッセージが出力される。

(Eclipse:261): Gtk-WARNING **: Negative content width -1 (allocation 1, extents 1x1) while allocating gadget (node trough, owner GtkProgressBar)

(Eclipse:261): Gtk-CRITICAL **: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkScrollbar

    ☞ (解決)起動する前に、export SWT_GTK3=0 とするとエラーがでなくなる。

//www.eclipse.org/forums/index.php/t/1081230/
export SWT_GTK3=0
./eclipse

1.「Dockerfile」を作成

Dockerfile
FROM centosjp
LABEL maintainer "michiru <0ashina0@gmail.com>"

#キャッシュクリア
RUN yum clean all

#"Development and Creative Workstation"グループのインストール
RUN yum -y install deltarpm
RUN yum -y groupinstall "Development and Creative Workstation"

#Eclipseダウンロード
RUN wget -q -O /tmp/eclipse-inst-linux64.tar.gz "https://www.eclipse.org/downloads/download.php?file=/oomph/epp/oxygen/R/eclipse-inst-linux64.tar.gz&mirror_id=1"
RUN tar xavf /tmp/eclipse-* -C /opt/
RUN ln -s /opt/eclipse-installer /usr/bin

# 日本語プラグインをダウンロード
ADD http://ftp.jaist.ac.jp/pub/mergedoc/pleiades/build/stable/pleiades.zip /tmp
RUN unzip /tmp/pleiades.zip -d /tmp

# gccのインストール
RUN yum -y install gcc
RUN yum -y install gcc-c++

2.「Dockerイメージ」devの作成(Eclipseインストール直前のイメージ)

PS C:\Users\UserName> docker build ./ -t dev

3.「Dockerコンテナ」の作成&起動

PS C:\Users\UserName> docker run -it -e DISPLAY=<ホストのIPアドレス>:0.0 dev

例) docker run -it -e DISPLAY=192.168.11.12:0.0 dev

4.Eclipseのインストール

CentOS
[root@275f75a472cb ~]# /usr/bin/eclipse-installer/eclipse-inst

eclipse.png

Refer to Eclipse IDE Downloads

5.日本語プラグインの追加

[root@275f75a472cb /]# cp -r /plugins/* /root/eclipse/cpp-oxygen/eclipse/plugins/
[root@275f75a472cb /]# cp -r /features/* /root/eclipse/cpp-oxygen/eclipse/features/

6.日本語プラグインの読み込みの設定追加

eclipse.ini

eclipse_ini.png

7.起動

/root/eclipse/cpp-oxygen/eclipse/eclipse

8.プロジェクト作成

ファイル->新規->C++プロジェクト
new_project.png

9.ビルド

(プロジェクト上で右メニュ)->プロジェクトのビルド
build.png

10.実行

実行アイコンクリック
run.png

11.結果

result.png

12.日本語入力(UTF-8)

日本語を入力して実行
(Window上のメモ帳に日本語入力したものを、Copy&Pasteしている。)
eclipse_jp.png

CentOSがUTF-8なので、UTF-8でファイルが作成される。
ファイルのプロパティーで確認する(ファイルを選択し「Alt+Enter」)と、UTF-8になっている。
file_prop.png
eclipse_utf8.png

13.日本語入力(EUC-JP)

プロジェクトの文字コードをEUC-JPに変更
  プロジェクトを選択し「Alt+Enter」。テキストファイルエンコードをEUC-JPを入力。(プルダウンにはないので、直接入力する。)
eclipse_euc.png
eclipse_utf8err.png

文字化けするので、一旦削除し再入力後、実行。
eclipse_eucok.png
ファイルのプロパティーもEUC-JPになっている。
file_prop_euc.png

fileコマンドで確認。EUC-JP(fileコマンドはISO-8859と表示する)のファイルが作成されている。

EUC-JP
[root@275f75a472cb ~]# file eclipse-workspace/test/src/test.cpp
eclipse-workspace/test/src/test.cpp: C source, ISO-8859 text
[root@275f75a472cb ~]#

参考)UTF-8の場合

UTF-8
[root@275f75a472cb ~]# file eclipse-workspace/test/src/test.cpp
eclipse-workspace/test/src/test.cpp: C source, UTF-8 Unicode text
[root@275f75a472cb ~]#

14.等幅のフォントに変更

ソースコード特に全角を含む場合、等幅のフォントのほうが見やすいので、等幅フォントに変更する。

ウィンドウ->設定メニューから設定画面を開く
font.png

一般->外観->色とフォントメニューを選択後、テキストフォントを選択。編集ボタンをクリックする。
font_dialog1.png

ゴシックフォントを選択し、必要に応じてサイズを変更する、
font_dialog2.png

設定したフォントで表示される
font_change.png

メモ

環境により起動エラーとなる。
「6. 日本語プラグインの読み込みの設定追加」で-Xverify:noneをeclipse.iniに追加したことによるものらしい。
日本語でなくても困らないので(いちいちプラグインをインストールする必要があるが)、日本語プラグインの使用はやめている。

8
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
15