5
8
ログインできない

Mac上でターミナルのシェルを変更しようとしたらハマった話。
問題発生

  • OSX時代にtcshを設定していた
  • いまどきtcshはないだろうと、ターミナルをbashに設定した
  • bashを設定したのに、新規シェルが常にtcshになる
  • macOSでは.plistにログインシェルが書かれているらしい
  • plistを編集したらユーザーごと存在しないことにされた(ターミナル起動しない、sshで入れない)

トラブルシュート(失敗)
編集してしまったのは
“/private/var/db/dslocal/nodes/Default/users/.plist” です。
ユーザ編集不可なのですが、tcshをbashに変えるぐらいはいいよね?と安易に編集してしまいました。
編集直後は「新しいターミナルを起動してもプロンプトが帰ってこない」という状態になってしまいました。
そこで再起動をして見たのですが、なんと、ユーザ一覧に自分の名前が出てこない!
どうやら再起動時にplistの中身をチェックされるらしく、「plistが壊れている=ユーザーとして認めない」ということになってしまったようです。
仕方なく別のアカウントで入りなおして見たのですが、そちらはsu権限を付与してなかったので何もできず(そりゃそうだ)。
トラブル原因のファイルを修正どころか閲覧もできなくなってしまったのです。困った。

リカバリーモードでターミナル(操作はできる)
数年ぶりにリカバリーモードで起動してみました
(command”⌘”+”R”)。
リカバリーモードはあまりメンテナンスされていないのか、昔懐かしい「Aqua」なインターフェースです。
ここから「ターミナル」を起動。どうやらwheelグループ権限を付与されているようで、上記ファイルは編集できそう。
しかし、”/private/var/”以下に”db/dslocal”フォルダが見つからない。何故?

どうやらリカバリー時にはマウント状況が変わるらしく、探しているファイルは”/private”ではなく”/Volumes/Macintosh HD/private”に格納されていました。ふぅ。

再編集して再起動(失敗)
vimで.plistを開き、”/bin/bash”となっている箇所を”/bin/tcsh”に戻して保存。
しかし再起動してもログイン画面にユーザーアイコンが現れません。失敗です。

vimに助けられる(成功)
plistファイルはバイナリなので、テキストだけを変更したつもりで他のところを壊してしまったのでしょう。
リカバリーモードではplistエディタも使えず手詰まりです。
しかし僕は、vimでバックアップファイルを作成するように設定しています。念のために”.vim”を見に行くと、オリジナルの”.plist”が残されていました。
再びリカバリーモードに入り、バックアップのplistを”/private/var/db/dslocal/nodes/Default/users/”にコピー。
再起動するとユーザーアイコンが現れてくれたのでした。助かった・・・

結論:
実はこれまでもvimのバックアップに助けられたことが何回かあります。
ターミナルで間違えてrmしてしまった時にバックアップから掘り出すのは、割とよくあります。
また、保存場所を忘れてしまった時にswapファイルのフルパスを参照したりします。
万が一に備えて、vimのバックアップとスワップ設定しておくことをお勧めします。

8
30
無線給電

iPhone用の無線給電装置を買ってしまいました。

ケーブルの抜差しは確かに面倒だけど、朝と晩に一回ずつだから我慢するかというスタンスでした。

しかし、某所で使っているところを見せてもらったら素直にカッコいい。

バッテリーで有名なAnkerからスタンド式が出ていたので迷わずポチ。

「置くだけ」は快適です。

9
12
災震情報

今年の夏は豪雨や地震や猛暑と、日本列島は大変でしたね。

北海道は冷夏ぐらいだったのですが、9月になって台風と地震に見舞われてしまいました。
今回の揺れは道内では観測史上最大だとか。実際、揺れている最中に「これは3.11クラスの揺れだな」と思いました。
まあ、揺れた後に地震警報が来るというタイムラグから、震源地が近いので大きく揺れたと分かりましたが。

停電は午前3時半から午後10時までの約20時間。
こんなに長時間の停電は初めての経験でした。
震災から一週間が経過して、生活はほぼ元どおりです。

ご心配をおかけしました。

12
30
D3を使う

ブラウザにグラフを表示するライブラリD3.jsを使ってみました。
データを放り込めばグラフが出来るというお手軽なものではなく、グレフのレイアウトやアクションは一つ一つ手でコードを書く必要があるという硬派なライブラリです。
あまりの難しさに投げ出しそうでしたが、要はSVGの要素を追加していくだけと気づいてからはスイスイ。
ようやく構想通りのデザインを仕上げることができたのでした。

しかし、一難去ってまた一難。
このブログで使っている「ワードプレス」は内部構造が独特で、追加ライブラリや自作Javascriptを埋め込むことは基本的にできません。
せっかく作ったのにどうしようと思っていたら、ワードプレスでD3を使うためのプラグインがありました。
こちらも独特な記述が必要ですが、何とかクリア。

出来上がったものがこちらです。起動時のアニメーションとか、マウスオーバーで値を表示してくれます。

9
27
連携プレー

仕事用の携帯をiPhoneからアンドロイドに変えました。
使わなくなった古いiPhoneを職場用に仕立て上げたのが2年前の話

しかし、発売から6年が経過した機種なので、さすがに電池がヘタって来ました。
ネットで調べ物をするとすぐに電池が消耗し、午後にはシャットダウンしてしまう始末。
さすがに限界かと思い、新しいケータイの検討を始めました。

選択肢は2つ。
(1)新型iPhoneを購入して、今の機種を職場用に格下げ
(2)今の機種はそのままで、新しく職場用携帯を買う
 a.中古のiPhoneを買う
 b.新品のアンドロイドを買う
悩んだ末にアンドロイド携帯を買うことにしました。お値段18000円(税抜)。

最大の理由は、FitBitとの連携です。
FitBitは腕時計型の心拍計で、時計や心拍表示の他に、電話やSMSの着信を知らせてくれます。
しかし、iPhoneではメールやLINEの通知を受け取ることができません。
せっかくスマートフォンとの連携があるのに、メールが受け取れないというのは残念。

アンドロイドにはこれを回避するアプリケーションが配布されており、FitBitでメールを見ることができるのです。
実際に試して見ると、確かにメールやLINEがFitBitに表示されます。
これまではメール着信のたびにスマートフォンを取り出して中身を確認していましたが、腕時計を眺めるだけで差出人が分かるのは、まさにSF映画の世界です。