今現在、USB-C搭載の新しいMacBookはどう使うか?

USB-Cとどう過ごすのかということで、いくつかの記事をここに投稿しました。まず、分かりきった結論かもしれませんが、29WのApple純正のACアダプタが安定して利用するということです。12Wだと、電源供給の認識はしますが、ディスプレイアダプタが間に入ると、おそらくそのディスプレイアダプタやそこから接続されている機器に配給する電力が足りなくなるのだと思いますが、予想外なことが起こります。従って、ディスプレイアダプタを使うときには、29WのACアダプタを使うべきです。この容量のもので、USB出力のものはあるかもしれませんが、結局Apple純正品がいちばんコンパクトで持ち運びしやすいということになりますね。ただ、2mのUSB-C両端ケーブルはちょっと長いので、短いものが欲しくなります。

仮にiPadのアダプタが役に立つとしたら、外出時、それほどの時間は使わないけど、念のためアダプタを持っておきたいとか、ディスプレイアダプタを使わない場合ということに限られるかと思います。それでも、以前に書いたように場所によっては給電状態にならないのであれば、やはり持ち歩くだけ無駄なのかもしれません。そういうわけで、結局、確実に電源にするには、Apple純正のACアダプタということになります。

ディスプレイは、DELLの4Kの27インチでMac純正ではありませんし、HDMIでの接続です。外付けディスプレイの接続が安定しないのがちょっと困り者です。いちばん困るのは、「ディスプレイ」環境設定での設定が記録されていないのか、何かある時点の記録なのか、変更しても戻るということです。しかし、これは、毎回そうでもないです。シャットダウンしてもそうなるときは続けてなるのだけど、なぜか突然、「直前と同じ状態」になったりします。

そして、ディスプレイがフリーズすることが稀にありあす。ディスプレイの電源ボタンを長押ししても、電源が消えず、画面も真っ暗なので、ディスプレイの電源の抜き差しが必要です。ディスプレイアダプタがフリーズしたかのようなときもあります。DELLのディスプレイはスリープと認識しますが、ディスプレイアダプタのすべてのコネクタを抜いて、挿し直すと直ります。その間、Mac側の操作で復活はどうやっても出来ない状態になります。これらは、純正のACアダプタを使っていてもごくごく稀に発生します。もしかしたら、ディスプレイアダプタには常に電源が入っているわけですから、コンピュータのリセットと連動していないということが原因の1つではないのだろうかと考えますが、それは単に推測です。

そういうわけで、Mini Display Portのアダプタが、次の期待ということになります。

NELog.logに大量の書き込みはAdobe Creative Cloudの問題

珍しく、Adobe関連の話題ですが、いつも通りトラブルシューティングです。

ある日、OS X Yosemiteでコンソールを開くと、~/Library/LogsにあるNELog.logおよび「NELog 11-21-2014 02-58-57.log」みたいな日付つきのログが大量にあることを発見しました。しかも、毎分40KBあまりも出力している。1日50MBくらいだけど、消している時間があるので30MBくらい? 日付を見れば、何ヶ月か前からあるようで、数ギガくらい使っていそうな勢いです。しかし、なんでしょうね?このNSLog.logの正体は? 中身を見ると、こんな感じで、ちょっと手がかりがありません。SQLite関連のエラーが目に付きます。

01/12/15 03:28:07:157 | [WARN] | | ANSClient | | NELocalDataManager | | | 9983 | Not able to get the settings from local db for key (KLastNotificationResponseOlderTimestamp). Error msg - Sqlite Error: The database disk image is malformed
01/12/15 03:28:07:158 | [INFO] | | ANSClient | | NEGlobalData | | | 9983 | Unable to get last Notification Response Timestamp. Fetching notifications from server epoch
01/12/15 03:28:07:286 | [WARN] | | ANSClient | | NELocalDataManager | | | 9984 | Not able to get the settings from local db for key (KLastNotificationResponseOlderTimestamp). Error msg - Sqlite Error: The database disk image is malformed
01/12/15 03:28:07:286 | [INFO] | | ANSClient | | NEGlobalData | | | 9984 | Unable to get last Notification Response Timestamp. Fetching notifications from server epoch
01/12/15 03:28:07:287 | [INFO] | | ANSClient | | NEGlobalData | | | 9984 | Mode is online
01/12/15 03:28:08:159 | [WARN] | | ANSClient | | NELocalDataManager | | | 9983 | Not able to get the settings from local db for key (KLastNotificationResponseNewerTimestamp). Error msg - Sqlite Error: The database disk image is malformed
01/12/15 03:28:09:073 | [WARN] | | ANSClient | | NELocalDataManager | | | 9984 | Not able to insert the settings in local db. Error code - 0, and Error msg - Sqlite Error: The database disk image is malformed
01/12/15 03:28:09:073 | [INFO] | | ANSClient | | ConfigurationManager | | | 9984 | Unable to save parameters in Database. Default Configurations are set
01/12/15 03:28:09:076 | [WARN] | | ANSClient | | NELocalDataManager | | | 9984 | Not able to update create new notification in local db. Error code : 0, and Error msg : Sqlite Error: The database disk image is malformed
01/12/15 03:28:09:076 | [WARN] | | ANSClient | | NENotificationsProcessor | | | 9984 | Unable to create notification for notification ID: 8c1f6505-824e-43e9-8a57-15ad8f47ba7c
01/12/15 03:28:09:076 | [WARN] | | ANSClient | | NEDataFetcherAndProcessor | | | 9984 | Unable to complete Notification process operation
01/12/15 03:28:09:076 | [WARN] | | ANSClient | | NELocalDataManager | | | 9984 | Not able to insert the settings in local db. Error code - 0, and Error msg - Sqlite Error: The database disk image is malformed
01/12/15 03:28:09:076 | [WARN] | | ANSClient | | NEGlobalData | | | 9984 | Unable to store last Notification Response Timestamp
01/12/15 03:28:09:076 | [WARN] | | ANSClient | | NELocalDataManager | | | 9984 | Not able to insert the settings in local db. Error code - 0, and Error msg - Sqlite Error: The database disk image is malformed
01/12/15 03:28:09:076 | [WARN] | | ANSClient | | NEGlobalData | | | 9984 | Unable to store last Notification Response Timestamp
01/12/15 03:28:09:076 | [WARN] | | ANSClient | | NELocalDataManager | | | 9984 | Not able to insert the settings in local db. Error code - 0, and Error msg - Sqlite Error: The database disk image is malformed
01/12/15 03:28:09:076 | [WARN] | | ANSClient | | NEGlobalData | | | 9984 | Unable to store last Notification Response Timestamp
01/12/15 03:28:09:076 | [WARN] | | ANSClient | | NEDataRequestHandler | | | 9984 | Unable to get Notification Data from the requested timestamps
01/12/15 03:28:09:164 | [WARN] | | ANSClient | | NELocalDataManager | | | 9983 | Not able to get the settings from local db for key (KLastNotificationResponseNewerTimestamp). Error msg - Sqlite Error: The database disk image is malformed

手がかりがまるでないのですが、まず見つけたのはこのドイツ語のBBSです。ドイツ語はよくわかりませんが、これから、Adobe CCが出力することを見つけました。そして、このNELog.logを開いているプロセスをlsofでチェックして、そのプロセスIDからCreative Cloudアプリケーション、つまり、メニューバーにある無限大のみたいなアイコンのアプリケーションであることがわかります。

$ lsof | grep NELog.log
Creative   3443 msyk   66w     REG                1,4   2876129  3280800 /Users/msyk/.Trash/NELog.log
$ ps -p 3443
  PID TTY           TIME CMD
 3443 ??         0:55.59 /Applications/Utilities/Adobe Creative Cloud/ACC/Creative Cloud.app/Contents/MacOS/Creative Cloud

ここまでくると、「adobe creative cloud nelog」みたいに検索ができるわけで、そうすると、ここの先のようなメッセージがあり、そこに書いてあることをヒントにして、解決ができました。要するに設定ファイルのフォルダを作り直させれば良い模様です。手順は次のようなものです。

  1. Creative Cloudアプリケーションを終了します。メニューバーにあるアイコンをクリックしてウインドウを表示し、右上にあるギアのアイコンをクリックして表示されるメニューから「終了」を選択します。
    shot9808
  2. 以下のようにターミナルからコマンドを入力して、設定フォルダを一旦空にします。念のため、現状を別のフォルダ名にバックアップします(別にターミナルでなくてもよく、Finderで作業してもいいです)。
cd "~/Library/Application Support/Adobe"
mv OOBE OOBE_old
  1. アプリケーションフォルダにあるAdobe Creative Cloudフォルダの、Adobe Creative Cloudアプリケーションをダブルクリックして起動します。

これで大量のログ吐き出しはなくなりました。NELog.logは1分ごとに数行程度の出力をしていますが、まあ、それは無視していいくらいかと思います。なお、記憶しているAdobe IDは消えてしまうようで、その再入力は必要です。

なお、Creative Cloudは他にoobelib.log、ACC.log、PDApp.logというログもけっこう大量に吐き出しますが、まあ、NELog.logほどではありません。こちらは、アプリ起動時に大量のログを書き出します。数ヶ月で100MB程度ですが、これらについても日付のついたファイルは不要と思います。

Yosemiteのmanは2本指スライドでスクロールするぞ!!

Yosemiteを入れた方、ターミナルを起動して、たとえば、「man diskutil」と入れてください。長いmanをスクロールするのは、えーっとcontrlなんだっけ〜と思う前にトラックパッドで2本指でスライドさせてください。なんと、manがスクロールします。Linuxマシンにつないでもできますよ。

ということで、manというより、Terminal.appの動作がトラックパッドに最適化されたってことですが、わかりやすいタイトルをつけてみました。