オタク日記
(Mac と Linux, 2019Q2)

目次

2019-05-18 (Sat): 保守速報 (1: Let's Encrypt Certificates)
2019-05-01 (Wed): macOS を Mojave に (3: Audio, Siri)
2019-04-24 (Wed): macOS を Mojave に (2: Audio/Sound)
2019-04-17 (Wed): macOS を Mojave にアップグレード (1)

古い日記:
2019Q1  
2018Q4   2018Q3   2018Q2   2018Q1  
2017Q4   2017Q3   2017Q2   2017Q1  
2016Q4   2016Q3   2016Q2   2016Q1  
2015Q4   2015Q3   2015Q2   2015Q1  
2014Q4   2014Q3   2014Q2   2014Q1  


2019-05-18 (Sat): 保守速報 (1: Let's Encrypt Certificates)

かなり右往左往したものの、とりあえず最初の自動 renewal もうまく行って、 もうこれで一安心と思っていたのだが……

Mail による Warning がおかしい (digoc04)

事のおこりは、Let's Encrypt (以下 LE) から Mail で「あと 2x 日で Expire するよ」という警告が届き始めた事。 自動 renewal を設定してあるので、有効期間が残り 30 日を切ると、cron で renewal script が実行され、また、90 日に戻る筈。 が、日が経っても有効期限がどんどん減って行くばかり

To: <fukuda @ waremo.com>
Subject: Let's Encrypt certificate expiration notice for domain "imap.otacky.jp" (and 3 more)
From: Let's Encrypt Expiry Bot >expiry@letsencrypt.org<
Date: Wed, 15 May 2019 04:32:54 +0000
.....

Hello,

Your certificate (or certificates) for the names listed below will expire in 10 days 
(on 25 May 19 04:39 +0000). Please make sure to renew your certificate before 
then, or visitors to your website will encounter errors. 

.....
	imap.otacky.jp
	lists.otacky.jp
	smtp.otacky.jp
	www.otacky.jp
.....
      

一方で、certbot で確認すると、(当然ながら) 73 日残っている、と表示される。

fukuda@digoc04:~% sudo certbot certificates   
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
  Certificate Name: www.otacky.jp
    Domains: www.otacky.jp imap.otacky.jp lists.otacky.jp otacky.jp smtp.otacky.jp
    Expiry Date: 2019-07-29 02:54:40+00:00 (VALID: 73 days)   <<< (*)
    Certificate Path: /etc/letsencrypt/live/www.otacky.jp/fullchain.pem
    Private Key Path: /etc/letsenlcrypt/live/www.otacky.jp/privkey.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

ちょっと心配になってあちこち調べ回ったが、なかなか、これ、 と言った情報が見付からない。でも、結局 LE のサイトでそれらしい「説明」 を見つけたが、何と:

という事らしい。(「なんと……」なんて書いたけど、 こうやって書き並べると「妥当」な有り様だとも思える。) 要するに「現在の Email による警告は無視して良い。」という事。

成程……だけど、やっぱり、古いセットと新しいのとで重複している部分 (つまり、otacky.jp 以外の全部) が expire する事はないのか、 という不安は残る。5 月 25 日前後は、ちょっと注意して、www.otacky.jp を見守る事にしよう。

Renew のタイミングは randomaize されている (digoc03)

上の digoc04 での「すったもんだ」のせいもあり、 たまたま間近に迫っていた digoc03 上の /etc/cron.d/certbot による自動更新を注視してみる事にした。

が、いきなり慌てさせられる結果に…… % sudo certbot certificates の結果が 'VALID: 30 days' の後、'VALID: 29 days' となっていて、更新されてないように見える。

なので、まずは /etc/cron.d/certbot がちゃんと動いているを確かめようと思うのだが、 これが簡単には行かない (systemctl が cron を制御するようになって、 なんだか難しくなっている。) とまれ:

fukuda@digoc03:~% sudo lv /var/log/syslog 
....
May 16 12:00:01 digoc03 CRON[6135]: (root) CMD (test -x
   /usr/bin/certbot -a \! -d /run 
/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew)
....

fukuda@digoc03:~% systemctl show certbot.timer
Unit=certbot.service
NextElapseUSecRealtime=Thu 2019-05-16 23:23:08 JST
NextElapseUSecMonotonic=0
LastTriggerUSec=Thu 2019-05-16 09:39:44 JST
...
      

という事で、2019-05-16 12:00 にちゃんと /etc/crond.d/certbot は走っている。 が、実行はそれから「11 時間 23 分後」の 2019-05-16T23:23:08 という事らしい。

「なんでや!」てなもんだが、改めて 43200 秒を計算してみると 12 時間となるので、 たまたま長い方の端に近い時間を引き当てたという事だろう。

仕方がないのでそのまま寝てしまったが、翌朝確認するとちゃんと更新されていた。

fukuda@digoc03:~% sudo certbot certificates   
.....
Found the following certs:
  Certificate Name: www.waremo.com
    Domains: waremo.com dms.waremo.com www.waremo.com
    Expiry Date: 2019-08-14 13:24:04+00:00 (VALID: 89 days)
.....

ま、早い話が「早とちり」して慌てまくったが、証明書は正しく取得されていて、 その renewal の設定にも問題無かった、という事か。それにしても、 Let's Encrypt のこの辺り (Email による警告や cron.d/certbot の構成) は「凝り過ぎ」でとっても解り難い。


2019-05-01 (Wed): macOS を Mojave に (3: Audio, Siri)

Audio の突然死

突然 Mac から音が出なくなるという件の問題は、 その頻度が我慢できるぎりぎりの線に留まっている事もあり、 なんとかイライラを押えながら使ってきた。 勿論その間は何とか原因を特定しようと注意していたのであるが、 結局何の手掛かりも得られなかった。解ったのは、 どうやら何かのアプリを起動する事が切っ掛けになるのではなく、coreaudiod の再起動から「しばらく経つ」と出る、という事くらい。

突然死の原因究明

ただ、その後、Siri を使おうとしてみたり、また、Amazon.com の Prime Video のアカウントの復活を図ったりしている時に、上記の問題が邪魔をするという事があり、 ちょっと「向き」になってきた。とは言え、Google の検索になかなかひっかからず、 ようやく見付けた Apple の Communities の同様の問題にかんする Q にも、 なかなか回答が付かなかった。 同ページの「回答がつかない時は自分で質問してみたら?」 なんていうかなりいい加減なアドバイスに従って (StackOverflow だと叱られそうな) 似たような質問を敢えてしてみたら、 何と早速 reply がもらえて、それによると、S/W の衝突が原因かも知れないから EtreCheck というツールを走らせて、その full report を載せてみろ、と。

件の EtreCheck は App Store にも有って、評判が最悪 (一つ星) の上に、 1,800 円もするらしいけど、背に腹は……という事で、ダウンロードして走らせてみた。 (幸い、1,800 円は "full version" に上げるのに必要なだけらしい。) 結果は、"No Error", だが、幾つか Warning が有った。 しかし、どの項目も今回の問題と関連は無さそうなものばかり。

が、その report には、"Audio Plugins" という項目があり、 その中:

Audio Plug-ins:
   AirPlay: 2.0 (Apple - installed 2019-04-16)
   BridgeAudioSP: 5.39 (Apple - installed 2019-04-16)
   .....
   Apowersoft Audio Device New: 1.0.1.0 (? - installed 2019-02-25)
   .....

で Mojave インストールより古い Plugin "Apowersoft Audio..." が見付かった。これは Apowersoft Audio Recorder をインストールした時の「なごり」らしく、みるからに怪しい。

原因が解ればもう八割方解決したようなもの

まずはこれを消してしまう事を試みる……対応する directory を捜すのに手間取ったが、

fukuda@falcon:~% sudo rm -rf /Library/Audio/Plug-Ins/HAL/Apowersoft Audio Device New.driver/ 

で、あっさり除去できた。

coreaudiod を [Quit] -> [Force Quit] して respawn してみたら、ちゃんと音は出ている。加えて、Activity Monitor で、その前後の Statistics を比較してみると、

coreaudiod statistics (original)
Apower plugin を削除前
coreaudiod statistics (original)
Apower plugin を削除後


のように、はっきり違っている。特に %CPU については、audio が動いてなくても数% 以上有ったのが、 Apower plugin を削除した後は、0% になっている。(動き出しても 1% 以下。)

実際の検証はまだ 1 日程度なので「確実に直った」とは言えないが、 ほぼ間違いないだろう。

まとめ

要は:

という事だろう。改めて Journal を読み返すと、Audio Recoder を install/uninstall して High Sierra がおかしくなったのを、Mojave に上げる事で何とかしよう、という思惑が有ったようだ。 (で、その思惑は見事に外れた……)

「相性」がこんなに問題になるとは、いやはや……(懐しいという感じもあるけど :-) ) でも、(サードパーティ製とは言え) ツールを使って見通しよく解析できて、 それに基いて試した対策が一発で決まった訣で、 やっぱり進歩してるなぁ macOS。

Siri は健在

現下のお題「音声変換」の直近の課題は Amazon Alexa を RasPi に組込む事なんだが、 そのために Echo Dot を導入して弄っている事もあって、 Siri がどんな風に進化しているのか、つい試してみたくなったのだった。

「古い Mac では 'Hey Siri' がサポートされていない」を早とちりして、 「Mojave には Siri が無い」と思い込んでいたが、勿論 😀 そんな事はない。

音声認識は素晴しい

Alexa の音声認識は、英語も日本語も素晴しいものが有るが、(Hey なしの) Siri もなかなかの物である。Mac 版の場合は、 認識の途中結果が文として画面に表示されるので、特に印象的。私の酷い発音に応じて、 酷い (途方もない) 単語が認識され表示されていくのに、 言い終った途端に、文全体が書き直されて、大体自分の言った (つもりの) 文章になる…… 大したもんだ。

ただ、まあ、コマンドというか指示や質問をしている間は、大概「定型表現」だから、 それ (文全体の確からしさから文を確定する) が効果大なのかも知れない。 なので、これが dictation になったらどうなるか、が本当のテストになるのだろう。 (Sierra, High Sierra では dictation を試してみたが、あまり感心しなかった。)

Siri に dictation させるのにどうやれば良いか解らなかったので、 前回同様、EmacsMac.app でやってみた。 直接の比較にならないけど、なかなか良くなったと思う。驚いた事に、 'It's a holiday today, Greenery Day.' をちゃんと聞き取って、 'It's a holiday today greenery day' とタイプインしてくれた。 (私の発音から 'greenery' を聞き取るとは……。) Punctuation の補い方を勉強して、本格的に使い始めるかな? (嘘です。 自分が英語で考える、もしくは英作文するスピードなぞ、 自分のタイピングで十分追い付けるし、その方がストレスが少ない :-)

やれる事も増えている

Amazon Alexa に刺激されたのか、Alexa にできる事は Siri も大抵できるようだ。'Play the podcast of NPR news.' で、Siri を起動、Podcasts の中から、'NPR News Now' を選んで再生してくれる。 (しかし、Alexa と違って、'Play the news' や 'Play NPR news' は理解しない。)

また、'Play a piano sonata by Mozart.' も (どうやってるのか解らないが :-) ) iTune のアルバムの中から、前に演奏していた Mozart を選んで再生してくれる。 (これにはちょっと感動した。)

ただ、App 間の連携は必ずしもスムースとは言えず、Security の設定と絡んで、 'Sorry, I have no ability to do it.' と言われる事がよくある。 中でも「なんだかなぁ」だったのは、WiFi が off だと、Siri は私がどこに居るか解らないようだ。('Where am I?' に答えられないだけでなく、 'What's the weather?' 等、場所を特定しないといけない質問にも答えられず、 'I don't know where you are. Please turn on WiFi ....' などと言う。 (macOS の [Today/Notification] では事もなげに稲城市のお天気を表示しているので、 「WiFi が on でなければ場所が解らない」は Siri のバグだろう。)

UI はちょっと……

Sierra になって、始めて Mac に Siri が載った頃、 その使い勝手がどうだったか実はよく憶えていないので、 それと比較して、という議論はできないが、現状の UI があまり洗練されているとは言えないのは確か。

何より、Siri の起動の key combination (short cut) が 'Hold Option Space' なのだが、これが慣れないと結構難しい。まあ、「難しい」という程でもないのだが、 コマンドを発する度に押さないといけないので、時々間違えてしまう。

これも、Alexa は Hey Siri のように、 音声で起動できるようになれば何て事はないだろう。むしろ、iPhone で使える Hey Siri が、何故 (古い) Mac で使えないのか (使えるようにしないのか) 不思議なくらいのもんだ。

ただまあ iPhone 附属のヘッドホンを使う場合は、Siri をヘッドホンの「スイッチの長押し」で起動できる。これは便利だ。 Cloud Player 他を Safari から起動していると、 このスイッチもボリュームコントロールも、はたまた mic も (iPhone の時と同様) ちゃんと使える事もあり、ますます iPhone ヘッドホン凄い、となった。 あと、音質もこのヘッドホンの方が、Echo Dot より遥かに良い。 使い始めた頃は、「間に合わせ」のつもりで「そのうち Wireless のヘッドホンを」と思っていたのだが、 こうなるともう暫くはこのヘッドホンで行くしかないな。


2019-04-24 (Wed): macOS を Mojave に (2: Audio/Sound)

音声の再生は専ら iPhone からだった

実は、このところ Audio/Sound の分野ではあまり Mac-mini (Falcon) の出番は無かった。 DVD や Amazon prime で映画を観る時はさすがに Falcon だが、 それ以外の殆んど全て、例えば、 Podcast でニュースを聞く、らじる & らじるでラジオ放送を聞く、 Audible で「本を聞く」……いずれも、iPhone の上でやるようになってきていた。

最初は些細な差だったように思う。 iPhone の Podcast App の方が、iTunes より UI が (やや) 洗練されている、とか、 iPhone の Audible App の方が、Amazon Cloud Player よりやや使い勝手が良い——ヘッドホンの「コントローラ」が使えるとか、 章毎のプログレスバーが見える、等等。 そのうち、ヘッドフォンを継ぎ直す、もしくは取り換えるのが面倒という事もあり、 段々 iPhone で何でも聞くようになっていたのだと思う。

おまけに、High Sierra の晩年は、音声を処理する自作プログラムを走らせたり、 ラジオを録音するアプリをインストールしたりしたせいか、時々、 音声が全く再生されなくなる、という問題が発生していた。一旦ダメ、となると、 どのアプリからも全くウンともスンとも言わなくなり、iTunes の progress bar もちっとも進まない。何だか、ずーっと奥の深いところで、 壊れている気配。「音声処理」は今後の開発委託の中心的な「お題」となりそうなので、 何とかしないといけないのだが、これはちょっとてこずりそう……という事で、 前述の通り、 ずっとほっぽっていた「Mojave へのアップグレード」に踏み切ったのだった。

Mohave で何でも聞けるように

アップグレードの結果、 「ウンともスンとも言わなくなる」という問題は解消できたように見えたので、 懸案だった、「音声は全部 Mac-mini へ」を実行してみた。

「らじる ★ らじる」も、Audible Cloud Player も、ずっと起動しっぱなし、 という訣にはいかない (時間が経つと、起動ボタンが反応しなくなるので、 その都度、player を再起動しないといけない) というあたりが、 若干スマートではないが、それでも、 一つのスクリーンで音声関連を全てコントロールできる、というのは大きな進歩だろう。

やっぱり音声が「落ちる」事がある

凄いぞ、Mojave! と言いたいところだが、 音声に関してあんまりあれこれ一遍に試したせいか、 High Sierra で問題になっていた 「時々ウンともスンとも言わなくなる」が再発した。

という事で、少々残念な状況ではあるが、まあ、 (「iPhone をメインに」に戻らず) なんとか使い続けている。 しかし、こういうトラブルは結構有るに違いないと思い、 ちょっとサーチしてみると、なんと Apple Community に、 'Audio drops randomly - killing coreaudiod is the only solution' という「そのものズバリ」の質問があった……が、二ヶ月近く経った今も誰も答えていない。 次の Mohave のアップデートで何とか直っていると嬉しいんだがなぁ。


2019-04-17 (Wed): macOS を Mojave にアップグレード (1)

APFS にしたい……

とずっと思っていた。HFS+ も悪くはないが、Disk Utility の診断で permission error がしつこく残るとか、 はたまた、日本語ファイル名の扱いに失敗するとか (特に、Windows で製作・圧縮されたディレクトリの日本語ファイル名が酷い) 等の「偶に出るだけだけど結構うるさい」問題が解決されるのでは、との期待が有った訣。 だが High Sierra で APFS が導入された時、Fusion Drive は除外されていたので、我 Mac-mini は対象外だった。(MacBook Air はすんなり APFS になっていた。)

で、いよいよ Mojave でそれが実現する見通しとなったのだが、 「上書きアップグレード」で、なんでファイルシステムが変更できるのか、 どうしても納得できなくて、半年あまりの間「様子見」をしていた :-)

しかし、最近、音声を弄る (処理する) プロジェクトに手を染めかけている事もあり、 かつては鬼門として避けていた sound 関連のアプリを若干入れてみたりしたが、早速地雷を踏んだようで、 Safari (の上の Audible Player on Browser, YouTube) や Skype, はたまた Line で「音声が再生できない」という問題が出た。

で、この問題で四苦八苦するなら、一層の事、macOS をアップグレードしてやろう、と。

インストールはスムース

例によって、App Store でインストールボタンを押すだけ。 High Sierra の時と比較してかなり「順調」で手間要らず:

ざっと確認したところ、動かなくなっている 3rd Party Appli は無い模様。 (High Sierra に上げた時は、「駐車禁止」マークがついた Appli がいくつか有った。)

一方で、プリインストール・アプリとしては、News, Home が新しく入っており、 代りに Siri が消えた。(実は、ちょっと試した後、全く使ってなかったけど、 これからスマート・スピーカーと比べようと思っていたのに……残念!)

当然の事ながら、ファイルシステムは APFS になっている。

Mojave APFS
Mojave で APFS になった

MacPorts

何はともあれ、MacPorts を更新しなければ。

ちょっと利巧になって、旧版の MacPorts パッケージは消さずにそのままにしておいた。 そのため、emacs-mac, Terminal.app がそのまま使えた。

まずは command line tools のインストール

fukuda@falcon:~% xcode-select --install 

'MacPorts base system' (MacPorts-2.5.4-10.14-Mojave.pkg) を <https://www.macports.org/install.php> からダウンロードしてインストール。こうしておくと

fukuda@falcon:~% sudo port selfupdate 
--->  Updating MacPorts base sources using rsync
MacPorts base version 2.5.4 installed,
MacPorts base version 2.5.4 downloaded.
--->  Updating the ports tree
--->  MacPorts base is already the latest version

The ports tree has been updated. To upgrade your installed ports, you should run
  port upgrade outdated
fukuda@falcon:~% port outdated
The following installed ports are outdated:
apache2              2.4.39_0 < 2.4.39_0  (platform darwin 17 != darwin 18)  
apr                  1.6.5_0 < 1.6.5_0  (platform darwin 17 != darwin 18)  
apr-util             1.6.1_2 < 1.6.1_2  (platform darwin 17 != darwin 18)  
.....

のように、port コマンドが使えるようになる上に、既存の port package のバージョンが、darwin のバージョンも含めて比較されているので、 ひょっとしたら、'port upgrade' でやれてしまうのではないかと思い、 ダメモトでやってみた。すると……

fukuda@falcon:~% sudo port upgrade outdated
--->  Fetching archive for apr
--->  Attempting to fetch apr-1.6.5_0.darwin_18.x86_64.tbz2 \
         from http://kmq.jp.packages.macports.org/apr
--->  Attempting to fetch apr-1.6.5_0.darwin_18.x86_64.tbz2.rmd160 \
         from http://kmq.jp.packages.macports.org/apr
--->  Unable to uninstall apr @1.6.5_0, the following ports depend on it:
--->  	apr-util @1.6.1_2
--->  	serf1 @1.3.9_1
--->  	nmap @7.70_0+pcre+ssl+subversion
--->  	subversion @1.11.1_0
--->  	apache2 @2.4.38_0+preforkmpm
--->  	apache2 @2.4.39_0+preforkmpm
Warning: Uninstall forced.  Proceeding despite dependencies.
--->  Deactivating apr @1.6.5_0
--->  Cleaning apr
--->  Uninstalling apr @1.6.5_0
--->  Cleaning apr
--->  Installing apr @1.6.5_0
--->  Activating apr @1.6.5_0
--->  Cleaning apr
--->  Fetching archive for expat
--->  Attempting to fetch expat-2.2.6_1.darwin_18.x86_64.tbz2 
         from http://kmq.jp.packa
.....
	

のように、High Sierra 用のパッケージをアンインストールした上で、 Mojave 用のパッケージがインストールされる。凄い! (これまでのように、手で既存のパッケージの構成を保存したり、 コマンドを消去したりする必要が無い訣だ。)

HyperCard on BasiliskII

いつもなら、これのコンパチビリティを真っ先に心配するのだけど、 今回は、ちょっとうっかりしていた。が、とりあえず、動いた。 ただ、従来からある問題はそのまま:

  1. 長く起動したままにしておくと、たまに画面の R と G が飛んでしまい、 B だけになる。(カーソルを動かすと直る。)
  2. (HyperCard で) 再生される音声が、1 オクターブ程高くなる。
  3. (HyperCard が) 日本語のコピーペーストを受け付けない。
  4. かな漢字変換として、BasiliskII 内の「ことえり」をつかうしかない。

「そのうち HyperCard は卒業するから、ま、いいか……」 といつものように、達観 (諦観?) しそうになったけど、 たまたま (久し振りに) Emaculation を眺めていたら BasiliskII が新しくなっている事を知って、試してみる事にした。

  1. 同サイトに示されているところから、BasiliskII_sdl2_64bit_20180711.zip をダウンロードし、
  2. インストールは、その中身の BasiliskII.appBasiliskIIGUI.app/Applications/ へ、keycodes~/BasiliskII/ へ copy するだけ。
  3. BasiliskIIGUI.app をダブルクリックして起動、 [Keyboard/Mouse] タブで、'Use Raw Keycodes' が新しくインストールした keycodes を指すようにする。
    BasiliskIIGUI
    Raw Keycodes が、新しい keycodes (keycodes.new) 指すように設定

まだ、keycodes がどう変わったのかもよく見ていないが、 数日使ってみて、かなり色々改善されている。 とりわけ上記の「問題」は:

  1. 表示が Blue だけになる: まだ使い始めて三日程なので、 はっきり改善したとは言えないが、とりあえずまだ発生していない。
  2. TTS (Text to Speech) の音声がカン高くなる: きれいに治った。しかし、所詮は Victoria なので、聞き取れるようになったというだけで、macOS の Alex や Samatha の自然さには遠く及ばない。
  3. 日本語のコピーペースト: 驚いた事に、HyperCard の field のフォントが Osaka になっていれば、何の問題もなく、(例えば Emacs との間で) 日本語がコピーペーストできる。Osaka でないと、 ペーストした時点では文字化けするが、後で Osaka にすれば、ちゃんと表示される。
  4. かな漢字変換: 上記の「改善」で、AquaSKK が使えるのではないかと大いに期待したが、全くダメだった。残念! (まったく見当違いの期待だったような気もするが。)

ということで、首尾は上々!Mac 側の OS がどんどんアップグレードされても、 ちゃんと動き続けるだけでなくて、ますます改善されていく……まったく、 作者の R. P. Regensburg さんには感謝の一言! (しかし、これで、 「HyperCard 卒業」はますます遠退いたような気がする :-)


396/1,362,871 Valid CSS! Valid HTML 5.0
Taka Fukuda
Last modified: 2019-05-19 (Sun) 07:37:10 JST