ubuntuにeclipseをインストール
【2020/02/23追記】
日本語化プラグインなどを入れたい場合は、ubuntuソフトウェアからダウンロードしては駄目。要注意!
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
Windowsでできていたことをubuntuでもできるようにしたい。
というわけで、まずはeclipseをインストールする。
環境
ubuntu 18.04
ecripse IDE 2019-03
ecripseをダウンロード
ubuntuソフトウェアでeclipseと検索すると出てくる。インストールボタンをポチッとするだけでOK。
起動してみるとJavaの実行環境がないぞ、と言われた。
そういえばいつも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らしい。
JavaでGUIというと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の準備が完了したので起動してみる。
ワークスペースを聞かれるので、デフォルトを設定。変更するつもりもないので、左下の今後表示しないにチェックしておく。
起動できた。
日本語化
英語でも雰囲気で行けるけれど日本語化しておきたい。
こちらからLinux用の日本語化プラグインをダウンロード
mergedoc.osdn.jp
eclipseのインストール場所
ファイルをコピーしたりする必要があるわけだけれど、eclipseはどこにインストールされているのか?
参考にしたサイトでは /home/user/eclipse と書かれていたけれどもいない。それらしき場所を見てみたけれど見つからず、eclipse.exeで検索をかけてみても見つからず。
散々悩んだ結果、eclipseの設定から確認できることが判明。
Help → About EclipseIDE
Instllation Details
configuration
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
日本語になったー!
炎上そして残業
リリース前の追い込みとか、ゴールが見えたうえでの残業なら全然頑張れるけれど、いくら障害対応しても新たな障害が見つかり続けて終わりが見えないのは辛い。
鎮火するのが先か気力が尽きるのが先か。
各工程の終わりに次の工程に進んで良いかの判断会議があるのに、「問題は色々あるけれど次工程で巻き返します!」と毎回報告して毎回承認されてるの意味がわからないよ…。
偉い人たちの会議では一体何が行われているんだ…。
あとプロパー会社の社員は残業規制に則って休むのが酷い光景だなと思う。会社の力関係がえげつない形で浮き彫りになっている。
「休むな」ということではなく、「全員等しく休ませろ」ということが言いたい。念のため。
世の中から炎上案件がなくなることを祈って眠りにつこう…。
ハイドロカルチャー経過観察20190913
ミューレンベッキア
安定してわさわさ。
2株植えているので、そろそろ1株ずつ器を分けた方が良さそう。
秋麗
下の葉が1つ取れた以外は変化なし。
乙女心
いよいよヤバいと思い確認したところ根腐れしていた。
健康そうな部分だけカットして植え直したのが8月29日。
ハイドロボールは熱湯消毒してから再利用。
そして現在の様子…全部の葉が駄目になるまでは見守る。
ubuntuをデュアルブートでインストール
きっかけ
WSLでubuntuをインストールして使ってみたけれど、ubuntuから見たらWSLは異端なのかなとふと思った。通常のubuntuならできることがWSLではできなかったりなど。
というわけで、デュアルブートでubuntuを入れてみることにした。
環境
本体:マウスコンピュータのノートPC
Windows10 Home
ubuntu18.04
手順
ググると出てくるサイトを参考に。先駆者の皆様に感謝。
ただ、BIOSとか触り慣れていなくてちょっと不安になるところに限って、見た目が私のと違う…と戸惑ってしまったので、参考までに私の環境でのスクリーンショットを載せてみる。
USBにubuntuを書き込み
こちらから日本語版のisoイメージをダウンロード。
こちらからLive USBを作成するツールをダウンロード。
ダウンロードしたUNetbootinを起動し、isoイメージをUSBに書き込む。
高速起動を無効化
コントロールパネル → ハードウェアとサウンド → 電源オプション → 電源ボタンの定義とパスワード保護の有効化
高速スタートアップを有効にするのチェックをオフにする。
ボリュームの縮小
スタートを右クリック → ディスクの管理
対象ドライブを選択して右クリック → ボリュームの縮小
私のPCはCドライブがSSDで小容量、Dドライブが大容量HDDという感じなので、Dドライブの方を縮小してインストールすることにした。
ディスク1中央の513MB部分がインストールしたubuntu…だと思う。
BIOSの設定変更
PC起動直後にdelキー連打してもBIOSに移動できなかったので、Windowsの設定 → 更新とセキュリティ → 回復 → 今すぐ再起動 → トラブルシューティング → 詳細オプション → UEFIファームウェアの設定 → 再起動
でBIOSへ。ずいぶん長い道のりだ…。
・secure boot 無効化
無効化しておかないとubuntuをインストールできないらしい。
securityタブのSecure boot を選択してEnter
enabledかdisabledの2択が表示されるので、disabledを選択してEnter
・fast boot無効化
PC起動の高速化を無効にするらしい。
advancedタブのFast Bootを選択してEnter
enabledかdisabledの2択が表示されるので、disabledを選択してEnter
・起動順序の変更
BootタブのBoot Option #1 を選択してEnter
設定できる機能の一覧が表示されるので、USBを選択してEnter
ちなみに、#1にwindows、#4にUSBがいる状態で#1をUSBに変更すると、自動的に#4がwindowsになる。うっかり設定が漏れたりしないので安心。
・変更を保存して再起動
ExitタブのSave Changes and Reset を選択してEnter
これで再起動される。
Ubuntuインストール
再起動するとUbuntuが起動する。しばらく待つとデスクトップが表示されるので、Ubuntu18.04のインストールをクリック
この後は大体デフォルトのまま次へでOK
キーボードレイアウト
wifiの設定
アップデートとソフトウェアのインストール設定
インストール方法
地域の設定
アカウントの設定
ここまで設定が完了するとインストールが始まる。
完了すると再起動を求められるので、今すぐ再起動を選択。
以降はPC起動時に下記のような画面が表示され、WindowsかUbuntuか選んで起動できるようになる。
デュアルブートにしてみて
若干の不具合が発生。Windowsを起動すると時間がずれている。
最後のスクリーンショットが正しい日時。
タイムゾーンはあっているのになぜか9時間戻ってしまう。
時刻の自動設定をオフ → オンで一瞬で直るので大した問題ではないが、起動するたびに修正する必要があるのでちょっと面倒…。
BIOS普段触らないから恐い、デュアルブートよくわからない、と思っていたけれど、いざやってみると結構あっさり。
やっぱり手を動かしてみるって大事。
読書:カイゼン・ジャーニー
ストーリーパートで主人公・江島さんが壁にぶつかったり奮闘したりする物語を読み、解説パートで具体的な改善方法や手法の説明を読む。解説はストーリーパートに登場するキャラクターが解説してくれる、という文体で進むので読みやすい。
帰省時の移動中の時間潰し目的で購入したので、全体的に軽い文体でちょうど良かった。
『なれる!SE』というラノベも、こんな感じでキャラクターの解説が入っていたなとふと思い出した。ネットワーク周りの話がメインだった気がするけれど。そういえばこのラノベが話題になったの10年前くらいか…恐ろしい…。
閑話休題。
一番思ったことは、チームメンバー一人一人の人柄・協力姿勢って大事だよね、ということ。
ストーリー中に出てくる人たちみんな良い人すぎた。巻き込もうとすると巻き込まれてくれるって実際素敵なことだと思う。
何かを決める場とか、出席しろと言われたから出席しているだけで我関せず、みたいな人は割といると思う。自分も思い当たる節があるので反省。
むきなおり合宿の目的とか意図とかには賛成だけれど、貸し会議室→ちょっと良いお食事処(に会社の金で)で良いのではと思ってしまう。
1泊とは言っても荷物の準備とか面倒じゃない…?正直遊びに行くのでもダルいと思ってしまうから、仕事のためとか考えてしまったらもうだめだ。
最初に出てくる『自分がいつもいる場所から外に出てみよう』みたいな感じで、現場で取り組んだことがない、または経験が少ない色々な知識を得られて良かった。
今の仕事は保守メンテで小規模な修正ばかりだからウオーターフォールで開発しているから。まあ新規構築でもウォーターフォールしそうな社風だけれど。
まとめ。うまい具合に巻き込み巻き込まれる人間になりたい。
ハイドロカルチャー経過観察 20190805
ミューレンベッキア
すくすく成長中。
なんだけれども、新しい葉が黄色っぽい。水やりには問題ないと思われるので、肥料をあげて様子見。
秋麗
乙女心
日照不足の被害者たち。窓の方に向かって曲がってしまった。
晴れるようになってから乙女心の葉が取れる問題は収まったと思いきや、なんだかまたダメそうなやつが…。秋麗も下葉が1つ萎れて取れてしまった。
夏は休眠期だし、下手に肥料あげても悪化させることもあるみたいなのでこのまま見守ることにする。
風通しの悪さが原因かなとも思うけれど、もはや窓を開けても風はなく蒸し暑い空気が流れ込んでくるだけなのでどうにもならず。
Javaプロジェクトをgitで管理する
疑問
他の人が作ったgitリポジトリを見たら、自分で作ったリポジトリとフォルダ構成が違った。
他の人が作ったリポジトリ
リポジトリ ├ src/main │ └ Sample.java └ README.md
自分が作ったリポジトリ
リポジトリ ├ sample │ └ src/main │ └ Sample.java └ README.md
細々した点は省いたがお分かりいただけただろうか。
仮にsampleという名前にしてあるフォルダはEclipseで作ってあったプロジェクトのフォルダである。
この状態で利用していて困ったことはないんだけれども、プロジェクトの中身がリポジトリ直下にあった方がスマートだな?そしておそらくそれが主流なんだろうな?
ということで、きれいなフォルダ構成のリポジトリ作成を目指す。
問題
①クローンしてローカルリポジトリを作成し、そのローカルリポジトリに対してEclipse上のプロジェクトを共有しようとすると、上記のように余計なフォルダができてしまう。(ターゲット・ロケーション部分参照)
②ワークスペースを直接ローカルリポジトリーにしようとすると「ワークスペースにリポジトリー作成するのは良くないよ」的な警告が出る。無視することは可能だが、なんだかいけてない。
手順まとめ
1.リモートリポジトリを作成
GitLabにログインして、『New Project』から作成。今回はREADME.mdは作らないでおく。
お手軽にマスターブランチにプッシュしていきたいのでプロテクトを解除する。
Settings ⇒ Repository ⇒ Protected Branches のExpandボタン押下 ⇒ Unprotectボタンを押下
2.ローカルリポジトリを作成
ワークスペース上にプロジェクトを作成してしまっている場合は、プロジェクトを右クリック ⇒ リファクタリング ⇒ 移動 で、ローカルリポジトリにしたいフォルダに移動しておく。
プロジェクトを右クリック ⇒ チーム ⇒ プロジェクトの共用
Git を選択して次へ
プロジェクトの親フォルダー内のリポジトリーを使用または作成にチェック
プロジェクトを選択するとプロジェクトのパスが表示されるので、リポジトリーの作成ボタンを押下
完了ボタンを押下で、ローカルリポジトリの作成完了
ついでに .gitignore作成
classファイルなどをGit管理対象外とするための設定ファイルを作成する。
Windowsでは『.』で始まるファイルを作成できないので、Eclipseで新規 ⇒ ファイル から『.gitignore』という名前のファイルを作成し、こちらの内容をコピペする↓
qiita.com
3.リモートリポジトリを追加
パースペクティブをGitに変更し、リモートを右クリック ⇒ リモートの作成
作成ボタンを押下
変更ボタンを押下
URI欄にリモートリポジトリのURIを入力。他の項目は自動入力されるので、完了ボタンを押下
保存ボタンを押下
4.コミット・プッシュ
プロジェクトを右クリック ⇒ チーム ⇒ コミット
ステージされていないコミット欄の、プラスが2つ重なった記号(Add all~)を押下
コミットメッセージを入力。初回は『Initial commit』が慣例らしい
『コミットおよびプッシュ』を押下。なんやかんや一気にやっちゃうのが楽。
・・・と思いきや、何かのエラーになり(ハードコピー撮りもらし)よくわからない状態に。
右クリック ⇒ チーム ⇒ ヒストリーに表示 で見てみると、コミットまではできている様子。
じゃあ次はプッシュだな、ということで右クリック ⇒ チーム …すると、アップストリームへプッシュが非活性になっており、代わりにブランチのプッシュというのがいる。どうやらこちらでプッシュしろということらしい?
『リモートリポジトリが見つからないよ』的なエラーが出るけれど無視してプレビューボタンを押下...接続できないってさ。
そういえばGitLabアカウントとSSHキーを使い分けたくてちょろっと設定をいじったことを思い出した。
これ以降ハードコピーのURIがデフォルト(GitLabからコピーしたもの)と若干変わるけれど、普通はデフォルトのままでいけるはず。そもそもこのエラー自体でないと思う。
改めてプレビューボタンを押下。SSHキーのパスフレーズを求められたら入力
プッシュボタンを押下
GitLabの方を確認してみると、ちゃんとプッシュされている!めでたしめでたし。
アカウント変え忘れていたので黒塗りで。プライベートでリポジトリ作成したんだけれども、作成者のアカウント以外でもプッシュできてしまうのね…。
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。
すでにリポジトリは存在するので、完了ボタンを押すだけ!
他人の作業を覗き見るのは大事!
業務で勉強できればいいんだろうけれど、うち某社製の謎ツールなのよね…SVNですらない…。