日記:2018年11月22日木曜日・霜月・赤口

最近ブログの更新が滞っている。いろいろ作業はしていて、メモもとっているけどまとめる気力がなくて更新出来ていない。特にSwingWorkerを概ね理解し、実装できたあたりや、Bluetoothのドライバ消失事件、あとqjackmanの記事の続きなど。

正直ずっと騒がしい世相が続いていると感じている。実は今月の12日に母方のじいちゃんがお逝きなさりまして、兵庫の実家さんにお通夜、葬式いったりしました。満88才だったので長寿を全うしなさいました。

最近外でコーディングをラップトップでしたいなと思い、(いつもはiMac27インチと24インチディスプレイ連結ですわ。。)金大の理工系図書館や、昨日はJaistの図書館にいってコーディングしてきた。Jaistはなんと24時間使える、超便利施設。研究成果も日本で最高峰レベルらしい。キャンパスは小さいけど研究機関らしい趣きで、新しい。

RSIまたの名を頸肩腕障害のほうは、やっぱ痛みを抱えながらの作業が多い。あと末端血流障害、手足の先端の重度の冷え性も秋深まってきて、暗い影の接近を感じている。

肝心のエロースのほうはというと、ワンピースでいうとインペルダウンの囚人のような地獄を感じている。なんじゃこの国家は。


Advertisements

Jaydle開発メモ:JMenuBarの追加、アクションの追加、内部クラスの復習、JFileChooser実装のための知識の整理メモ

とりあえずLibreOffice Writer似とったメモを貼っておく🙃

==========================================================

JMenubarを追加する

frame.setJMenuBar(menubar);//frameはJFrameオブジェクト、munubarはJMenuBarオブジェクト

 簡単 うまくいった

参考サイト

https://www.javadrive.jp/tutorial/jmenu/

・アクションの追加

JMenuItemオブジェクトのメソッド addActionListenerからactionPerformedメソッドを実行する

 内部クラスを使って、メソッドを書く場所は確保した。

  ダウンロードボタンも少し修正した(JFrameActionListenerを実装せずに内部クラスで実装した)Screenshot from 2018-10-23 22-18-21

参考サイト

http://java2008.blog103.fc2.com/blog-entry-43.html

・内部クラスの復習

class ButtonListener implements ActionListener
{

public void actionPerformed(ActionEvent e)

{

strIn=textIn.getText();

if(strIn.length()>13)

dlAudio(strIn);

}

}

・メモ

File、プロセスビルダーの保存ディレクトリ、空白ではエラーが出る

JFileChooserの実装

  • showOpenDialog()showSaveDialog()メソッドと使うのが最も簡単

  • showDialog()も使える

  • 上記のメソッドはそれぞれユーザがどのようにダイアログを終わらせたかを表す整数のステータスコードを返す

  • もし返却された値がAPPROVE_OPTIONならば、ユーザはファイルを選んだ、それはgetSelectedFile()メソッドから得ることができる

オライリーJFCクイックリファレンス(原)より

ダイアログからやったほうがよさげ

P440

JFileChooserはダイアログからできているみたい。だからダイアログをやるといい。

Macみたいにクイックファイルリーダが欲しい。

それにしても、洋ドラの「シリコンバレー」で、リチャード・ヘンドリクスがスティーブ・ジョブズだの、スティーブ・ウォズニアックだの言っていた。Youtubeで検索してこの動画を見ていた。
”Creativity”というもんが伝わった。

日記:平成30年10月15日月曜日(神無月、先負w)

今日は、吾輩のiMacにMacOSを新規インストールしようと思う。
GPUの故障により、10ヶ月くらい?お蔵入りしていた我が七台目のコンピュータ iMac named “Em-P”(Model A1312 EMC2429)。

リフローと言われる修理方法で復活を遂げて、四ヶ月あまり。
修理自分で分解して行ったけど、それなりに大変だった。メモリ4GBが一枚使えなくなっているし。
こっちもリフローして見る予定。修理に目覚めてから、修理待ち製品が並んでいる。やつらのヤジが聞こえてきそうな気がするくらいだ。w Elektron MachineDrumも、メンテ中に配線切れて、片方からしか音でなくなっていて、基盤に配線工事が必要だし、iPadは電池交換で復活した。大変喜ばしいが、サポート切れていて、iBookが使えねぇし、PDFみる術確立できてねぇ。あとWiiのドライブが壊れて、イジェクトできないやつと、CDコンポのドライブの回転不良も心のどこかでスタックオーバーフロー現象でてる。

って愚痴のような駄文つらねて、すいまソン。

今日は、iMac内蔵ドライブにパーティション作ってあった、”Mac HD Renewal”にMacOSをインスツールするぞ。これで仕切り直し、ただLogicのインスコ、めっちゃ時間かかった記憶がある。。

iMacのドライブもGPUエラーから復活するとき、ごねにごねたんだよね。電源ケーブルさしたまま、メモリ抜いたら一回起動不可になった。しかも結構深くハマって、非常時モードのターミナルから、修復コマンドで1〜2時間格闘した。具体的に言うと、データの修復要請がでて、一度は復活したけど別の本命データは今も修復できない状態で。そっちは、ただ起動しただけでそうなった。あれは忘れもしないサッカーの国際自愛の日。Suchmosがなんか歌ってたな。有料ソフト5千円くらいの使えば治りそうなんだけど。ワンダーシェアとか。フリーのやつはなんか写真用とかが多くて、ファイル名とかフォルダの階層構造とかが復元できない模様。バックアップのファイルとか乱れ並んでいて有限なディスクスペースにどっかり座っちゃっている。ヌリカベや石臼の類。w

ゴシップガールを見ていてフリーズして、そこから再起不能になってしかも私のRSIを電磁波によって蝕み、公園の大地で素足になって消磁とかしてた。

 

Git push error:Gitでプッシュできなかった件

masa@lve-imac2:~/Desktop/git/masa-examples$ git push https://github.com/iamaturtle113/masa-examples.git master
Username for 'https://github.com': iamaturtle113
Password for 'https://iamaturtle113@github.com': 
To https://github.com/iamaturtle113/masa-examples.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/iamaturtle113/masa-examples.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

ローカルで新しいディレクトリを作って、その中にファイル入れたら、プッシュエラーでた。

一度pullする。

git pull https://github.com/iamaturtle113/masa-examples.git master

ずらずらファイルできた。

masa@lve-imac2:~/Desktop/git/masa-examples$ git pull https://github.com/iamaturtle113/masa-examples.git master
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 6 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (6/6), done.
From https://github.com/iamaturtle113/masa-examples
* branch master -> FETCH_HEAD
Adding practice/testImport.java
Adding practice/testImport.class
Adding practice/candelTestdir/IOMethods.java
Adding practice/candelTestdir/IOMethods.class
Adding practice/candelTestdir/.IOMethods.java.swp
Auto-merging practice/Thread1.java
CONFLICT (content): Merge conflict in practice/Thread1.java
Adding practice/Thread1.class
Adding practice/Thread1$ImpleRunnable2.class
Adding practice/Thread1$ImpleRunnable.class
Adding practice/RegexPractice01.java
Adding practice/RegexPractice01.class
Adding practice/IOMethods.class
Adding practice/.testImport.java.swp
CONFLICT (directory/file): There is a directory with name practice in HEAD. Adding practice as practice~b343e0c4b8b3b437105f2e8e535e69781941291c
Automatic merge failed; fix conflicts and then commit the result.
masa@lve-imac2:~/Desktop/git/masa-examples$ git push https://github.com/iamaturtle113/masa-examples.git master

 

でpushしたけど、また同じエラー。

To https://github.com/iamaturtle113/masa-examples.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/iamaturtle113/masa-examples.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

とりあえず、URLをオリジンに追加。

git remote add origin https://github.com/iamaturtle113/masa-examples.git

 

次にマージ

masa@lve-imac2:~/Desktop/git/masa-examples$ git fetch && git merge origin/master
From https://github.com/iamaturtle113/masa-examples
* [new branch] master -> origin/master
error: 'practice' appears as both a file and as a directory
error: practice: cannot drop to stage #0
error: merge is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.

普通ならコレで解決するらしいが、今回はだめだ。

masa@lve-imac2:~/Desktop/git/masa-examples$ git merge origin/master
error: 'practice' appears as both a file and as a directory
error: practice: cannot drop to stage #0
error: merge is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.

どうしよう。

masa@lve-imac2:~/Desktop/git/masa-examples$ git status
On branch master
You have unmerged paths.
(fix conflicts and run "git commit")

Unmerged paths:
(use "git add <file>..." to mark resolution)

added by them: practice
both modified: practice/Thread1.java

Untracked files:
(use "git add <file>..." to include in what will be committed)

practice~b343e0c4b8b3b437105f2e8e535e69781941291c

no changes added to commit (use "git add" and/or "git commit -a")

素直に

git add .
git status で確認すると、エラー消えた。
git merge origin/master -> commitしてからマージしてくれと

masa@lve-imac2:~/Desktop/git/masa-examples$ git merge origin/master
fatal: You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you merge.
masa@lve-imac2:~/Desktop/git/masa-examples$ git merge origin/master
Already up-to-date.

masa@lve-imac2:~/Desktop/git/masa-examples$ git push https://github.com/iamaturtle113/masa-examples.git masterUsername for 'https://github.com': iamaturtle113
Password for 'https://iamaturtle113@github.com': 
Counting objects: 21, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (20/20), done.
Writing objects: 100% (21/21), 7.34 KiB | 0 bytes/s, done.
Total 21 (delta 6), reused 0 (delta 0)
remote: Resolving deltas: 100% (6/6), done.
To https://github.com/iamaturtle113/masa-examples.git
b343e0c..b442916 master -> master

解決です。。

 

参考
https://qiita.com/takanatsu/items/fc89de9bd11148da1438

GAE (Google App Engine)で遊ぶ

公式サイトからダウンロード。ワタクシの場合はJavaザマス。

https://cloud.google.com/appengine/downloads?hl=ja

ダウンロードしたあとは、解凍して、シェルにパスを通すみたい。binディレクトリ。
ファイルの置き場迷うが、 /usr/local/ 下とする

export PATH="$PATH:/usr/local/appengine-java-sdk-1.9.63/bin/"
その際の参考資料
Windowsユーザーに教えるLinuxの常識(3):各ディレクトリの役割を知ろう(サブディレクトリ編) (2/2)
http://www.atmarkit.co.jp/ait/articles/0109/07/news002_2.html

 

以下、クイックスタートに沿って、リアルタイムで進行中

 

git cloneでソースのダウンロード。
私の場合 ~/Code/googleAppEngine/ にダウソ。

mvn appengine:devserver

を実行。
なんか、

[INFO] INFO: Dev App Server is now running

となり、サーバーが起動中になってるみたい。
http://localhost:8080/

にブラウザからアクセスすると、

Event tracked.

と書いてある。

mvn appengine:devserver コマンドを実行するディレクトリ間違えた。

…/appengine/helloworldで上記のコマンド実行、localhost:8080/にアクセス ->

ブラウザに

Hello, world

と書いてある。

 

次は、プリント文の中身を書き換え、mvn clean packageを実行して、リビルド。
ワタクシのバアイハ、

This is Test web page of Masataka Nakamura a.k.a La Ville Eternell
Overriding Google App Engine Example 'Hello World App'.
This is Java SDK.
Other contents coming soon maybe..
By teh way I wanna go Siliycon Valley... huh,,,

にした。

 

そして、デプロイのためにCloud Platformプロジェクトと、App Engineアプリケーションを作った。

プロジェクト名は… λ 笑
masa’s first project にした。

リージョンはアメリカ西海岸にしてみた。

サインインに

4/cQCmazgJm8NWlnKt4JJbZvrMqjeHTr1VINh-lDFTIPp7rMZJ1qvQXRw

をアプリにコピペしてくれとある。

なんかよくわからないなと思ったら、google cloud platformに登録しなきゃいけないっぽい。

登録してSDKをインストール。linux版はココから

gcloud init とかでログインしてたら、
.botoファイルを作ったらしいな。これ。

 

・Ubuntuのエラー

よくコンソールみたら、

(java:18774): Gtk-WARNING **: Unable to locate theme engine in module_path: “adwaita”,

ってエラーも出てる

 

https://askubuntu.com/questions/774664/gtk-warning-unable-to-locate-theme-engine-in-module-path-adwaita-error-o

sudo apt install gnome-themes-standard

で解決かな。

 

SuccessCodeのペースト先がわからん

IAM

 

オンラインのチュートリアルに従うと、なんかデフォルトの…でデプロイできなかった。

yamlがないとgcloudコマンドでデプロイできないとなる。
yaml作るか?

gcloud init で 使うプロジェクトをオンラインチュートリアルでつくったものに変えた。

cloudshellでmavenのプラグイン足りてないってエラー。

appengine系のプラグイン足りてないみたい

mvn appengine:devserver これはローカルからアクセスできるようにするためのコマンド

 

mvn appengine:updateの結果
[INFO] Running -A masas-first-project -V masas-first-project1 –oauth2 update /home/masa/Code/googleAppEngine/java-docs-samples/appengine/helloworld/target/appengine-helloworld-1.0-SNAPSHOT
The following URL can be used to authenticate:
https://accounts.google.com/o/oauth2/auth?access_type=offline&approval_prompt=force&client_id=550516889912.apps.googleusercontent.com&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=code&scope=https://www.googleapis.com/auth/appengine.admin%20https://www.googleapis.com/auth/cloud-platform
Attempting to open it in your browser now.

これはappcfgの話みたい。それへの許可を与えるための画面かな。

英語版の”Quickstart for Java 8 for App Engine Standard Environment“を試す。

gcloud auth application-default login

で、ブラウザからAuth Libraryをトラストするかというの話になる。トラストした。

You are now authenticated with the Google Cloud SDK!となる

 

gcloudコマンドの説明
https://cloud.google.com/sdk/gcloud/

 

 gcloud components install app-engine-java

コマンドを実行。なんかインストールした。

git clone https://github.com/GoogleCloudPlatform/getting-started-java.git

で別のソースをダウンロード

 

gcloud info
たたいたら、ダウンロードディレクトリにインストールされていることがわかった。移動したいな

Installation Root: [/home/masa/Downloads/google-cloud-sdk]

 

 

mvn appengine:deployのエラーコード

[INFO] GCLOUD: ERROR: (gcloud.app.deploy) The current Google Cloud project [testproject-218805] does not contain an App Engine application. Use `gcloud app create` to initialize an App Engine application within the project.

`gcloud app create`でプロジェクトのアップエンジンアプリを初期化してくださいと出てる。
そのとおりにして、またmvn appengine:deployすると。。

Screenshot from 2018-10-08 15-04-36

実は、stackoverflowにも質問していた

 

自由日記 平成30年10月6日(土曜日)自転車(ロードバイク)のメンテナンス:タイヤ交換のあとで

昨日、ロードバイク(といっても、後輪のクイックリリースや、ブレーキ周りのシフター((アルテガみたいの))もついていない、ファッションバイクともいわれるクラスのもの)の後輪のタイヤとチューブとリムテープの交換をした。

Rim

前輪はクイックリリースがついているが、後輪はついてないから、タイヤを取るのに手間取りました。
スパナでボルトを外して、スプロケット(日本語では鎖車という見たい。ベルトの代わりに鎖を用いて伝動する鎖伝動に用いる歯車。鎖歯車とある。)からチェーンを外して。。。
初めて後輪を外して、ハブのベアリングなどが固くなっていることに気づいた。

もう四年も乗っていて、その間パンクもなかったし、特に洗車と注油以外のメンテはしていなかった。
最初のトラブルはディレイラー周りだった。そこで、Youtubeでビデオみたり、Webで調べて、シフトがスムーズに行く調整を行った。そういえば、最初に「ZINN & THE ART OF ROAD BIKE MAINTENANCE 4th Edition」という本を買ってあった。英語で難しくて、あまり読めないけど。

それから、フィッテイングのために、計測も入れた、ハンドルの高さや、サドルの高さの調整もした。それで、かなりライドの心地よさがアップした。
それからすぐに、シフトケーブルカバーが捻れて曲がって、シフトできなくなった。
それでイオンバイクでケーブルカバー買って、長さを、もっていった壊れたケーブルに合わせて切ってもらって、取り付けた。

そして直った!!でも次の洗車で、今度はフロントディレイラーの調子がおかしくなった。上にシフトしたとき、すぐに落ちてきて、シフトできない。イオンバイクの人に見てもらったら、ただシフターのレバーのカバーのゆルミだった。そこで、ハンドルブラケットの歪みを教えてもらった。

「あれ、ゴム系のパーツ、もうとっくに死んでね?」となり、タイヤ交換に至った。

一度、タイヤのいれる方向間違えた。前輪は抜かりなかったのに。。。
あと、チェーンも戻すとき手間取ったし。ちゃんと通り道に通ってなくて、はめ直した。
二時間以上かかったなぁ。😒

でも乗り心地、乗り味、良くなった。グリップが帰ってきたし、なんかチューブの感じもレース用な感じがする。
スプロケットのプラスチックカバーも壊して取ったし。走り用になってきた。

次は、ブレーキシューの交換だなぁ。
😃😃😃

最近は、なんか落ち着かないし、満たされない思いがしている。
家にいても、焦る気持ちがつきまとっている。
😤

IMG_2817_small

「ウィキリークスの秘密-ジュリアン・アサンジ完全密着-」 というドキュメンタリー映画を観た

「ウィキリークスの秘密-ジュリアン・アサンジ完全密着-」 というドキュメンタリー映画を観て、感化されたので、さっと感じたことをこのパブリックノートに書きます。

数日前、うみみらい図書館で「クリーンコード」という、コーディングに関する本を読みました。そこに、Wikipediaの周りのプログラマの話も載っていて、(いま、創始者のジミー・ウェルズについてググったけど、ちょっと記憶ちがいかな)こういうWebサービスを開始する人も、かなりプログラムうまかったりする。

ジュリアン・アサンジも書けるプログラマ、、みたい。なんかハッキングてか(、クラッキングだね)にも少年時代関わってたんかな?その「クリーンコード」では、プログラミング手法とかで業績上げたようなプログラマのことが、本人の肖像イラスト画つきで描かれていて、面白かった。(デザインパターンとか、エクストリーム・プログラミングとか、オブジェクト指向とかのイノベーター)ジェフ・ベゾスも書けるプログラマだしね。

たぶんアサンジも、このWebサービス始めようと思うまでに、いろいろなプログラムを勉強して、もちろんその周りの理学(数学、物理学、化学)も学んだだろうし、社会のことも考えていたと思う。てかこの人ジャーナリストでもあるし。
デスクトップユーティリティープログラムのアルゴリズムや、OSの仕組みとかも勉強したろうと思う。

で、ある時、「ドッカーン」ってことだろうね。社会に必要なプログラムが頭に降りてきて、しかもコーディングができる。あとサーバーの設立・管理ができて、そこに人がアクセスしたくなるサーバ・アプリケーションを作った。

201109_3_c1

映画を観て、感じたことは、ヨーロッパ的な価値観と、地続きの異文化としての中東、そして移民していった兄弟としてのアメリカ。そのアメリカが、イラクと戦争を起こし(ずっと前から石油を巡って侵攻していたけど)、そこでハイテク最新兵器を使って、圧倒的な力で暴力事件を起こしている。

今日、インスタでpolicepostsというアカウントで、警察がカップルを捕まえるところをみていた。映画の中では、六人の民間人が、多分特に理由がなく、銃撃をうけて、それを助けようとした人まで撃たれていた。子供も二人いて、重症を負い、いまも後遺症が続いている。

歴史の本とテレビ(NHKもたまにはいいことをする)で学んだことによれば、私有財産が生まれる前は、人類はもっと平和に過ごしていた。総力戦的なことはあまりしなかった。現代は戦争があまりに巨大化している。どこかで人間の動物性が壊れて、凶暴化しているのでは。。

ある日、大事ななにかが壊れることがある。今日アマゾンから届いたパッケージの中に、アフリカの子どもたちに募金を募るパンフレットが入っていた。そういえば、インスタでも、ボランティアのポストにコメントしたな。

アメリカは好きだけど、軍事行動の闇は地球の精神を侵している。それが強く心に残った。少数の悲劇の当事者のことを考えずにあってはならないと思う。

ウィキリークス
https://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A3%E3%82%AD%E3%83%AA%E3%83%BC%E3%82%AF%E3%82%B9

SwingWorkerとProcessBuilderで、順次更新される(フリーズしない)JTextAreaのコーディング:その一

タイトルの通り、「SwingWorkerとProcessBuilderで、順次更新される(フリーズしない)JTextAreaのコーディング」を調べていた。もう二週間くらい前からのゴール。
まずSwingWorkerにたどり着くまでに時間がかかった。

この辺 「JTextAreaで表示が遅れる」(1) Java Solution - @IT会議室

とか見ていて、まずスレッド、まぁ並行プログラミング(Concurrent Programming)とか言われている領域かと思うけど、その辺の知識が必要になった。注1

・イニシャルスレッド
・イベントディスパッチスレッド
・ワーカースレッド

の話題が出てくる。あと

・Runnableインターフェース 注2
・javax.swing.SwingUtilities – invokeLater(Runnable doRun)

とかね。

で、少し勉強しているうちに、SwingWorkerクラスに突き当たった。
スタックオーバーフローさまさま。

システムの(まぁbashか)lsコマンドを再帰的に行って、SwingのJTextAreaに順次表示するプログラムが載っている。
https://stackoverflow.com/questions/20600721/display-indeterminate-jprogressbar-while-batch-file-runs/20603012#20603012

この板でリンクを教えてもらった。
https://stackoverflow.com/questions/45538227/how-do-i-get-the-jtextarea-to-update-with-each-ping

SwingWorkerはジェネリクスを使うし、ActionListenerや、SwingWorkerの継承メソッドの定義やら、GUIを伴って、複数のクラスを使っていて、いろんな要素の絡みがややこしい。

 

注1 並行プログラミングと並列プログラミングを混同していた。並行はConcurrent、並列はParalell

  • 並列(Parallel) : 複数のプロセスで各々のスレッドを同時に処理すること
  • 並行(Concurrent) : 一つのプロセスで複数のスレッドを切り替えながら動作することで、疑似的に複数のスレッドを同時に処理すること
参考サイト
Qiita Javaの並行処理を理解する(入門編)
https://qiita.com/bremen/items/b87bff49565fc9abc91b

注2 Runnableインターフェースのインプリメンテーションをしたクラスを作って、run()メソッドをオーバーライドする。そしてそのインスタンスを生成する、ことあたりがミソのよう。

参考 HeadFirstJava 一版 15章ネットワークとスレッド

 

iMacのUbuntu上でVirtualboxを使ってMacOSの仮想環境を作る

virtualbox

 

基本的なところは、とりあえず省いて、躓(つまず)いた点を中心に記述していく。

僕の場合は、USBスティック(ペンドライブ)のMacOS El-Capitanを使いインストールしようと思ったのだが、USBの設定で少し戸惑った。結局、焼いてあるイメージと、dmgの扱い、isoへの変換やらでまた躓いた。

ユーザをvboxusersグループに登録し、キーを追加した。

sudo gpasswd -a "username" vboxusers

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | \
sudo apt-key add - #(こっちのはうまくいかなかった。Oracleのサイトにdebian系の設定のしかたが書いてある、僕はオフィシャルの方法は試していない)
Oracle Official
https://www.virtualbox.org/wiki/Linux_Downloads

そして、OracleからでているExtensionPackのインストールが必要になった。これがないとUSB2.0や3.0が使えない。その際、インストールされていた、Virtualboxのバージョンが古くて、ExtentionPackのインストールが失敗した。最新版のダウンロードのためのapt用のリポジトリの登録やらなんやらをして、アップデートしたにはしたが、どこかでエラーが出て、結局Oracleから.debファイルをダウソして、再インストールした。(ExtentionPackは5.2版しか受け付けなかった。あと32bit版をインストールしていたのではないかという説がある。)
これで、ExtensionPackのインストールはうまくいった。

そして、MacからSierraOSをダウンロードして、パッケージを開き、dmgファイルをコピーして、バーチャルマシンに読み込ませて、スタートさせたけど、途中でフリーズ、てか処理進まなくなった。。isoイメージへの変換と、iMacのデバイスをターミナルからしなきゃいけない記述を見つけた。

とりあえずここまでで、一旦トライは終えた。

この記事も、きっと更新致す。

 

もう一度トライ

2018-10-12-Fri

ここのサイト
https://webnetforce.net/make-macos-bootable-iso/
を参考にdmgからisoファイルに変換した。

hdiutilとかちょっと何となくしか意味わからなかったけど、手順に従って進めると

/tmpディレクトリにHighSierra.iso.cdrというファイルができていた。

Ubuntuを立ち上げて
それを”mv”コマンドで HighSierra.isoに名前を変えた。

ここのサイト
https://webnetforce.net/macos-high-sierra-on-virtualbox/

に従って、仮想マシンの設定と、コマンドラインからのVBの設定をした。

そして、isoをマウントして起動した。
でも途中でフリーズしてしまった。

なんでだろう。

このサイトも参考にした
https://www.howtogeek.com/289594/how-to-install-macos-sierra-in-virtualbox-on-windows-10/

Ubuntuで外付けHDDがスリープしない件

hdparmコマンドの使用が一般的なようだが、僕の環境ではエラーで動かなかった。

SG_IO: bad/missing sense data, sb[]: 70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

どうやら、SCSIやらATAやら、コントローラ、容量が大きすぎ(8TB)などの話になって、別のコマンドを勧められた。

hd-idleコマンド。インストール少しターミナルから実行するコマンド多かった。

ラズパイのセッティングに関するサイトに載っていた。
https://www.htpcguides.com/spin-down-and-manage-hard-drive-power-on-raspberry-pi/
頼みのコマンド hd-idle
http://hd-idle.sourceforge.net/

hd-idleコマンドが

/home/hd-idle

に作られていた。場所変えようかな。普通は/usr/localあたりなんか

追って更新する予定。