hotate-issimoの日記

超絶マイペースに自己研鑽に励む

ubuntuにeclipseをインストール

【2020/02/23追記】
日本語化プラグインなどを入れたい場合は、ubuntuソフトウェアからダウンロードしては駄目。要注意!

hotate-issimo.hatenablog.com

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

Windowsでできていたことをubuntuでもできるようにしたい。
というわけで、まずはeclipseをインストールする。

環境

ubuntu 18.04
ecripse IDE 2019-03

ecripseをダウンロード

ubuntuソフトウェアでeclipseと検索すると出てくる。インストールボタンをポチッとするだけでOK。 f:id:hotate-issimo:20191011191054p:plain

起動してみるとJavaの実行環境がないぞ、と言われた。
f:id:hotate-issimo:20191011191214p:plain
そういえばいつもeclipseをインストールする、というときはpleiades All in One で必要なものがすべて揃った状態でインストールしていたんだっけ…。

JDKをインストール

ターミナルを起動して、インストールされていないと知りつつもひとまずjava -version。

$ java -version

Command 'java' not found, but can be installed with:

sudo apt install default-jre            
sudo apt install openjdk-11-jre-headless
sudo apt install openjdk-8-jre-headless 

後ろについてるheadlessとは…?
「最小Javaランタイム – 非GUI Javaプログラムの実行に必要」なのがheadlessらしい。
JavaGUIというとSwingとか?研修でちょろっと触ったことはあるけれど今後使うことはなさそうだしheadlessでいいかな、と思いつつ、万が一使うことがあった場合にプログラムが動かない!と慌てることになるのも嫌なのでopenjdk-11-jreをインストールすることにした。

$ sudo apt install openjdk-11-jre

$ java -version
openjdk version "11.0.4" 2019-07-16
OpenJDK Runtime Environment (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3)
OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3, mixed mode, sharing)

インストール中に表示される文は省略したけれど、最終的にjava -version でこんなふうに表示されたらインストール成功。

eclipse起動

javaの準備が完了したので起動してみる。
ワークスペースを聞かれるので、デフォルトを設定。変更するつもりもないので、左下の今後表示しないにチェックしておく。 f:id:hotate-issimo:20191011194838p:plain
f:id:hotate-issimo:20191011194904p:plain

起動できた。

日本語化

英語でも雰囲気で行けるけれど日本語化しておきたい。

こちらからLinux用の日本語化プラグインをダウンロード
mergedoc.osdn.jp

eclipseのインストール場所

ファイルをコピーしたりする必要があるわけだけれど、eclipseはどこにインストールされているのか?
参考にしたサイトでは /home/user/eclipse と書かれていたけれどもいない。それらしき場所を見てみたけれど見つからず、eclipse.exeで検索をかけてみても見つからず。

散々悩んだ結果、eclipseの設定から確認できることが判明。
Help → About EclipseIDE
f:id:hotate-issimo:20191011195414p:plain
Instllation Details
f:id:hotate-issimo:20191011195434p:plain

configuration
f:id:hotate-issimo:20191011195451p:plain eclipse.home.location のところにパスが記載されている。
ということで、私の端末では /snap/eclipse/40/ にインストールされていた。

readmeどおりにやってみる

プラグインに同封されているreadmeに従って設定してみた。
…が、ダウンロードした plugins/jp.sourceforge.mergedoc.pleiades を /snap/eclipse/40/plugins にコピーしようとしたところ怒られてしまった。

$ cp -r /home/useraaa/ダウンロード/pleiades/plugins/jp.sourceforge.mergedoc.pleiades/ /snap/eclipse/40/plugins
cp: ディレクトリ './plugins/jp.sourceforge.mergedoc.pleiades' を作成できません: 読み込み専用ファイルシステムです

どうやらsnapディレクトリ自体が読み込み専用のディレクトリらしい。
ユーザーディレクトリ内にもsnapディレクトリがあり、こちらは自由に触れるので、ここをいじれば良い感じに動いたりする…?

とりあえずやってみようということで、/home/useraaa/snap/eclipse/40 内にダウンロードしたfeaturesとpluginsをコピー

$ cp -r /home/useraaa/ダウンロード/pleiades/plugins /home/useraaa/snap/eclipse/40/plugins
$ cp -r /home/useraaa/ダウンロード/pleiades/features /home/useraaa/snap/eclipse/40/features

iniファイルを修正する必要があるので、/snap/eclipse/40/eclipse.ini を /home/useraaa/snap/eclipse/40/eclipse.ini へコピー

$ cp /snap/eclipse/40/eclipse.ini /home/useraaa/snap/eclipse/40/eclipse.ini

iniファイルにreadmeからコピペして下記2行を追加

-Xverify:none
-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

クリーンオプションをつけて起動

$ /snap/eclipse/40/eclipse -clean

起動はできたけれど英語のまま。ユーザーディレクトリのsnapディレクトリをいじったところでだめらしい。残念。

結論

eclipse起動時に、--launcher.ini オプションをつけることで読み込むiniファイルを設定できるらしい。
この方法で、ユーザーディレクトリのsnapディレクトリに作成したiniファイルを読み込ませて起動することにする。

その前に、iniファイルの中身を変更 。-javaagent に設定するパスをフルパスに書き換える。

-javaagent:/home/useraaa/snap/eclipse/40/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

iniファイルを指定して起動。クリーンも忘れずに。

$ /snap/eclipse/40/eclipse --launcher.ini /home/useraaa/snap/eclipse/40/eclipse.ini -clean

f:id:hotate-issimo:20191011201347p:plain
日本語になったー!

炎上そして残業

リリース前の追い込みとか、ゴールが見えたうえでの残業なら全然頑張れるけれど、いくら障害対応しても新たな障害が見つかり続けて終わりが見えないのは辛い。

鎮火するのが先か気力が尽きるのが先か。

 

各工程の終わりに次の工程に進んで良いかの判断会議があるのに、「問題は色々あるけれど次工程で巻き返します!」と毎回報告して毎回承認されてるの意味がわからないよ…。

偉い人たちの会議では一体何が行われているんだ…。

 

あとプロパー会社の社員は残業規制に則って休むのが酷い光景だなと思う。会社の力関係がえげつない形で浮き彫りになっている。

「休むな」ということではなく、「全員等しく休ませろ」ということが言いたい。念のため。

 

世の中から炎上案件がなくなることを祈って眠りにつこう…。

ハイドロカルチャー経過観察20190913

ミューレンベッキア

f:id:hotate-issimo:20190913064533j:image

安定してわさわさ。

2株植えているので、そろそろ1株ずつ器を分けた方が良さそう。

 

 

秋麗

f:id:hotate-issimo:20190913064540j:image

下の葉が1つ取れた以外は変化なし。

 

 

乙女心

f:id:hotate-issimo:20190913064600j:image

いよいよヤバいと思い確認したところ根腐れしていた。

 

f:id:hotate-issimo:20190913064609j:image

健康そうな部分だけカットして植え直したのが8月29日。

ハイドロボールは熱湯消毒してから再利用。

 

f:id:hotate-issimo:20190913064620j:image

そして現在の様子…全部の葉が駄目になるまでは見守る。

 

ubuntuをデュアルブートでインストール

 

きっかけ

WSLでubuntuをインストールして使ってみたけれど、ubuntuから見たらWSLは異端なのかなとふと思った。通常のubuntuならできることがWSLではできなかったりなど。

というわけで、デュアルブートubuntuを入れてみることにした。

 

環境

本体:マウスコンピュータのノートPC

Windows10 Home

ubuntu18.04 

 

手順

ググると出てくるサイトを参考に。先駆者の皆様に感謝。

ただ、BIOSとか触り慣れていなくてちょっと不安になるところに限って、見た目が私のと違う…と戸惑ってしまったので、参考までに私の環境でのスクリーンショットを載せてみる。

 

USBにubuntuを書き込み

こちらから日本語版のisoイメージをダウンロード。

www.ubuntulinux.jp

 

こちらからLive USBを作成するツールをダウンロード。

ja.osdn.net

 

ダウンロードしたUNetbootinを起動し、isoイメージをUSBに書き込む。

f:id:hotate-issimo:20190904063637p:plain

 

高速起動を無効化

コントロールパネル → ハードウェアとサウンド → 電源オプション → 電源ボタンの定義とパスワード保護の有効化

高速スタートアップを有効にするのチェックをオフにする。

 

ボリュームの縮小

スタートを右クリック → ディスクの管理

対象ドライブを選択して右クリック → ボリュームの縮小

 

f:id:hotate-issimo:20190904064440p:plain

ubuntuインストール後のスクリーンショット

 

私のPCはCドライブがSSDで小容量、Dドライブが大容量HDDという感じなので、Dドライブの方を縮小してインストールすることにした。

ディスク1中央の513MB部分がインストールしたubuntu…だと思う。

 

BIOSの設定変更

PC起動直後にdelキー連打してもBIOSに移動できなかったので、Windowsの設定 → 更新とセキュリティ → 回復 → 今すぐ再起動 → トラブルシューティング → 詳細オプション → UEFIファームウェアの設定 → 再起動

BIOSへ。ずいぶん長い道のりだ…。

 

・secure boot 無効化

無効化しておかないとubuntuをインストールできないらしい。

f:id:hotate-issimo:20190904065523j:plain

securityタブのSecure boot を選択してEnter

enabledかdisabledの2択が表示されるので、disabledを選択してEnter

 

・fast boot無効化

PC起動の高速化を無効にするらしい。

f:id:hotate-issimo:20190904065739j:plain

advancedタブのFast Bootを選択してEnter

enabledかdisabledの2択が表示されるので、disabledを選択してEnter

 

・起動順序の変更

f:id:hotate-issimo:20190904065932j:plain

BootタブのBoot Option #1 を選択してEnter 

設定できる機能の一覧が表示されるので、USBを選択してEnter


ちなみに、#1にwindows、#4にUSBがいる状態で#1をUSBに変更すると、自動的に#4がwindowsになる。うっかり設定が漏れたりしないので安心。

 

・変更を保存して再起動

f:id:hotate-issimo:20190904070401j:plain

ExitタブのSave Changes and Reset を選択してEnter

これで再起動される。

 

Ubuntuインストール 

再起動するとUbuntuが起動する。しばらく待つとデスクトップが表示されるので、Ubuntu18.04のインストールをクリック

f:id:hotate-issimo:20190904070547j:plain

 

この後は大体デフォルトのまま次へでOK
キーボードレイアウト 

f:id:hotate-issimo:20190904070713j:plain


wifiの設定

f:id:hotate-issimo:20190904070831j:plain

 
アップデートとソフトウェアのインストール設定

f:id:hotate-issimo:20190904070851j:plain

 


インストール方法

f:id:hotate-issimo:20190904070926j:plain

f:id:hotate-issimo:20190904071026j:plain

 

地域の設定

f:id:hotate-issimo:20190904071116j:plain

 

アカウントの設定

f:id:hotate-issimo:20190904071137j:plain

 

ここまで設定が完了するとインストールが始まる。

f:id:hotate-issimo:20190904071220j:plain

 

完了すると再起動を求められるので、今すぐ再起動を選択。

以降はPC起動時に下記のような画面が表示され、WindowsUbuntuか選んで起動できるようになる。

f:id:hotate-issimo:20190904071314j:plain

 

デュアルブートにしてみて

若干の不具合が発生。Windowsを起動すると時間がずれている。

f:id:hotate-issimo:20190904071800p:plain

f:id:hotate-issimo:20190904071813p:plain

f:id:hotate-issimo:20190904071826p:plain

 

最後のスクリーンショットが正しい日時。

タイムゾーンはあっているのになぜか9時間戻ってしまう。
時刻の自動設定をオフ → オンで一瞬で直るので大した問題ではないが、起動するたびに修正する必要があるのでちょっと面倒…。

  

BIOS普段触らないから恐い、デュアルブートよくわからない、と思っていたけれど、いざやってみると結構あっさり。

やっぱり手を動かしてみるって大事。

読書:カイゼン・ジャーニー

ストーリーパートで主人公・江島さんが壁にぶつかったり奮闘したりする物語を読み、解説パートで具体的な改善方法や手法の説明を読む。解説はストーリーパートに登場するキャラクターが解説してくれる、という文体で進むので読みやすい。

帰省時の移動中の時間潰し目的で購入したので、全体的に軽い文体でちょうど良かった。

 

なれる!SE』というラノベも、こんな感じでキャラクターの解説が入っていたなとふと思い出した。ネットワーク周りの話がメインだった気がするけれど。そういえばこのラノベが話題になったの10年前くらいか…恐ろしい…。

 

閑話休題

 

一番思ったことは、チームメンバー一人一人の人柄・協力姿勢って大事だよね、ということ。

ストーリー中に出てくる人たちみんな良い人すぎた。巻き込もうとすると巻き込まれてくれるって実際素敵なことだと思う。

何かを決める場とか、出席しろと言われたから出席しているだけで我関せず、みたいな人は割といると思う。自分も思い当たる節があるので反省。

 

むきなおり合宿の目的とか意図とかには賛成だけれど、貸し会議室→ちょっと良いお食事処(に会社の金で)で良いのではと思ってしまう。

1泊とは言っても荷物の準備とか面倒じゃない…?正直遊びに行くのでもダルいと思ってしまうから、仕事のためとか考えてしまったらもうだめだ。

 

最初に出てくる『自分がいつもいる場所から外に出てみよう』みたいな感じで、現場で取り組んだことがない、または経験が少ない色々な知識を得られて良かった。

今の仕事は保守メンテで小規模な修正ばかりだからウオーターフォールで開発しているから。まあ新規構築でもウォーターフォールしそうな社風だけれど。

 

まとめ。うまい具合に巻き込み巻き込まれる人間になりたい。

ハイドロカルチャー経過観察 20190805

ミューレンベッキア

f:id:hotate-issimo:20190807002359j:image

すくすく成長中。
なんだけれども、新しい葉が黄色っぽい。水やりには問題ないと思われるので、肥料をあげて様子見。


秋麗

f:id:hotate-issimo:20190807002430j:image

乙女心

f:id:hotate-issimo:20190807002437j:image

 

日照不足の被害者たち。窓の方に向かって曲がってしまった。

 

晴れるようになってから乙女心の葉が取れる問題は収まったと思いきや、なんだかまたダメそうなやつが…。秋麗も下葉が1つ萎れて取れてしまった。

 

夏は休眠期だし、下手に肥料あげても悪化させることもあるみたいなのでこのまま見守ることにする。
風通しの悪さが原因かなとも思うけれど、もはや窓を開けても風はなく蒸し暑い空気が流れ込んでくるだけなのでどうにもならず。

Javaプロジェクトをgitで管理する

疑問

他の人が作ったgitリポジトリを見たら、自分で作ったリポジトリとフォルダ構成が違った。

他の人が作ったリポジトリ

リポジトリ
├ src/main
│ └ Sample.java
└ README.md

自分が作ったリポジトリ

リポジトリ
├ sample
│  └ src/main
│      └ Sample.java
└ README.md

細々した点は省いたがお分かりいただけただろうか。
仮にsampleという名前にしてあるフォルダはEclipseで作ってあったプロジェクトのフォルダである。

この状態で利用していて困ったことはないんだけれども、プロジェクトの中身がリポジトリ直下にあった方がスマートだな?そしておそらくそれが主流なんだろうな?
ということで、きれいなフォルダ構成のリポジトリ作成を目指す。

問題

①クローンしてローカルリポジトリを作成し、そのローカルリポジトリに対してEclipse上のプロジェクトを共有しようとすると、上記のように余計なフォルダができてしまう。(ターゲット・ロケーション部分参照)
f:id:hotate-issimo:20190731102745p:plain

ワークスペースを直接ローカルリポジトリーにしようとすると「ワークスペースリポジトリー作成するのは良くないよ」的な警告が出る。無視することは可能だが、なんだかいけてない。
f:id:hotate-issimo:20190731102842p:plain

解決策

①クローンしない
ワークスペース外にプロジェクトを作成する

ということで、

手順まとめ

1.リモートリポジトリを作成

GitLabにログインして、『New Project』から作成。今回はREADME.mdは作らないでおく。
f:id:hotate-issimo:20190731103157p:plain

お手軽にマスターブランチにプッシュしていきたいのでプロテクトを解除する。
Settings ⇒ Repository ⇒ Protected Branches のExpandボタン押下 ⇒ Unprotectボタンを押下
f:id:hotate-issimo:20190731103623p:plain

2.ローカルリポジトリを作成

ワークスペース上にプロジェクトを作成してしまっている場合は、プロジェクトを右クリック ⇒ リファクタリング ⇒ 移動 で、ローカルリポジトリにしたいフォルダに移動しておく。

プロジェクトを右クリック ⇒ チーム ⇒ プロジェクトの共用
Git を選択して次へ
f:id:hotate-issimo:20190731104853p:plain

プロジェクトの親フォルダー内のリポジトリーを使用または作成にチェック
プロジェクトを選択するとプロジェクトのパスが表示されるので、リポジトリーの作成ボタンを押下
f:id:hotate-issimo:20190731105039p:plain

完了ボタンを押下で、ローカルリポジトリの作成完了
f:id:hotate-issimo:20190731105115p:plain
f:id:hotate-issimo:20190731105123p:plain

ついでに .gitignore作成

classファイルなどをGit管理対象外とするための設定ファイルを作成する。
Windowsでは『.』で始まるファイルを作成できないので、Eclipseで新規 ⇒ ファイル から『.gitignore』という名前のファイルを作成し、こちらの内容をコピペする↓
qiita.com

3.リモートリポジトリを追加

パースペクティブをGitに変更し、リモートを右クリック ⇒ リモートの作成
f:id:hotate-issimo:20190731105948p:plain

作成ボタンを押下
f:id:hotate-issimo:20190731110020p:plain

変更ボタンを押下
f:id:hotate-issimo:20190731110109p:plain

URI欄にリモートリポジトリのURIを入力。他の項目は自動入力されるので、完了ボタンを押下
f:id:hotate-issimo:20190731110422p:plain

保存ボタンを押下
f:id:hotate-issimo:20190731110505p:plain
f:id:hotate-issimo:20190731110528p:plain

4.コミット・プッシュ

プロジェクトを右クリック ⇒ チーム ⇒ コミット
f:id:hotate-issimo:20190731155145p:plain

ステージされていないコミット欄の、プラスが2つ重なった記号(Add all~)を押下
f:id:hotate-issimo:20190731155240p:plain

コミットメッセージを入力。初回は『Initial commit』が慣例らしい
f:id:hotate-issimo:20190731155312p:plain

『コミットおよびプッシュ』を押下。なんやかんや一気にやっちゃうのが楽。
・・・と思いきや、何かのエラーになり(ハードコピー撮りもらし)よくわからない状態に。
f:id:hotate-issimo:20190731155344p:plain

右クリック ⇒ チーム ⇒ ヒストリーに表示 で見てみると、コミットまではできている様子。
f:id:hotate-issimo:20190731155422p:plain

じゃあ次はプッシュだな、ということで右クリック ⇒ チーム …すると、アップストリームへプッシュが非活性になっており、代わりにブランチのプッシュというのがいる。どうやらこちらでプッシュしろということらしい?
f:id:hotate-issimo:20190731155528p:plain

『リモートリポジトリが見つからないよ』的なエラーが出るけれど無視してプレビューボタンを押下...接続できないってさ。
f:id:hotate-issimo:20190731155545p:plain
f:id:hotate-issimo:20190731155557p:plain
f:id:hotate-issimo:20190731155612p:plain

そういえばGitLabアカウントとSSHキーを使い分けたくてちょろっと設定をいじったことを思い出した。
これ以降ハードコピーのURIがデフォルト(GitLabからコピーしたもの)と若干変わるけれど、普通はデフォルトのままでいけるはず。そもそもこのエラー自体でないと思う。

改めてプレビューボタンを押下。SSHキーのパスフレーズを求められたら入力
f:id:hotate-issimo:20190731155652p:plain

プッシュボタンを押下
f:id:hotate-issimo:20190731155706p:plain

GitLabの方を確認してみると、ちゃんとプッシュされている!めでたしめでたし。
f:id:hotate-issimo:20190731155727p:plain

アカウント変え忘れていたので黒塗りで。プライベートでリポジトリ作成したんだけれども、作成者のアカウント以外でもプッシュできてしまうのね…。

gitコマンドでの手順まとめ

長々とEclipseでの手順を書いてきたけれど、gitコマンドとも仲良くやりたい。
何なら今回の作業だとコマンドの方が楽なんじゃないかと思う。

リモートリポジトリの作成と.gitignoreの作成は手順が同じなので省略。

ローカルリポジトリの作成~プッシュの手順は以下の通り。(GitLabのヘルプより)

cd existing_folder
git init
git remote add origin git@gitlab.com:hotateissimo/gittest.git
git add .
git commit -m "Initial commit"
git push -u origin master

cd で対象フォルダに移動し、git init でローカルリポジトリを作成。今回の例だと、対象フォルダはEclipseのプロジェクトフォルダに当たる。
git remote でリモートリポジトリを追加。
git add . でローカルリポジトリ内のファイルをステージング(コミット対象にする的な)

ちなみに、どのファイルが対象になっているかはgit status で確認できる。

$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

        new file:   .gitignore
        new file:   src/main/Exec.java

Changes to be committed: 以下に記載されているのが対象ファイル。Eclipseで操作したときと同じになっている。

続いてコミット、プッシュを行う。

$ git commit -m "Initial commit"
[master (root-commit) 9ff3a66] Initial commit
 2 files changed, 69 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 src/main/Exec.java


$ git push -u origin master
Enter passphrase for key '/c/Users/user/.ssh/id_rsa_hotate':
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (6/6), 983 bytes | 983.00 KiB/s, done.
Total 6 (delta 0), reused 0 (delta 0)
To gitlab.com.hotate:hotateissimo/gittest.git
 * [new branch]      master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

それぞれこんな感じの実行結果が表示されたら成功。

最後に、Eclipse上のプロジェクトとローカルリポジトリを紐付けるには、右クリック ⇒ チーム ⇒ プロジェクトの共用 をすればOK。
すでにリポジトリは存在するので、完了ボタンを押すだけ!
f:id:hotate-issimo:20190731163230p:plain



他人の作業を覗き見るのは大事!
業務で勉強できればいいんだろうけれど、うち某社製の謎ツールなのよね…SVNですらない…。