MacOS High Sierraにてターミナルからスクリーンセーバーを起動

High Sierraになってから、スクリーンセーバーを起動するプログラム ScreenSaverEngine.app の場所が変更されてしまい、今まで使っていた画面ロック用スクリプトが使えなくなった。
ここによると、次のようにディレクトリが移動されただけで、昨日はそのまま使えそうなので、コマンドへのパスを書き換えるだけの修正で済んだ。

旧パス /System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app
新パス /System/Library/CoreServices/ScreenSaverEngine.app
#! /bin/sh

if [[ $OSTYPE = linux* ]]; then
    echo 'This program runs only on Mac.'
    exit 1
elif [[ $OSTYPE = darwin* ]]; then
    open '/System/Library/CoreServices/ScreenSaverEngine.app'
fi

MacOS Sierraにてssh秘密鍵を自動で読み込ませる

MacOS Sierraより前のMacOSOS X)では、初回のssh接続時に自動的に秘密鍵パスフレーズをKeychainに保存していてくれていたけれど、Sierraからは動作が変わったようで、標準ではKeychainを使用しないようになった様子。そのため、1度ssh接続したことのあるホストにssh接続を試みても、(Keychainを使わないため)毎回パスフレーズを聞かれる。

ssh接続時にKeychainを使うようにするには、sshのconfig(~/.ssh/config)に以下の設定を追加する。特定のホストに対してのみKeychainを使いたいのであれば、「Host *」の代わりに「Host host01」のように記述すれば良い。

Host *
  UseKeychain yes

Keychainを使わずに、ssh agentを使っていた人には関係ない話題。

参考

pipでインストールしたパッケージ

過去との重複もある。

$ pip install Cython ipython matplotlib numpy pylint PyYAML

pip-reviewでパッケージのアップデートできなくなったので、最近は次のコマンドでアップデートしてる。

pip list | cut -d ' ' -f 1 | xargs pip install -U

Time Machineのバックアップを削除

USBディスクに保存しておいたTime Machineバックアップデータがディスク容量を圧迫し始めたので、削除できないか調査してみた。
このページが参考になった。実際にはFinderは使う必要なく、Time Machine管理コマンドtmutilにバックアップファイル一覧を表示するサブコマンドがあるので、それでどのバックアップが保存されているか確認し、不要なものを削除すれば良い。tmutilを実行する時はTime MachineバックアップディスクをMacに接続しておくこと。

バックアップ一覧の確認

$ tmutil listbackups
/Volumes/Data Disk/Backups.backupdb/atelier/2015-07-27-110539
/Volumes/Data Disk/Backups.backupdb/atelier/2015-08-13-182112
/Volumes/Data Disk/Backups.backupdb/atelier/2015-08-24-111531
/Volumes/Data Disk/Backups.backupdb/atelier/2015-09-09-190714
/Volumes/Data Disk/Backups.backupdb/atelier/2015-09-22-193829
/Volumes/Data Disk/Backups.backupdb/atelier/2015-09-29-120016
/Volumes/Data Disk/Backups.backupdb/atelier/2015-10-09-153511
/Volumes/Data Disk/Backups.backupdb/atelier/2015-10-16-175233
/Volumes/Data Disk/Backups.backupdb/atelier/2015-10-27-162958
/Volumes/Data Disk/Backups.backupdb/atelier/2015-11-06-105206
/Volumes/Data Disk/Backups.backupdb/atelier/2015-11-13-160959
/Volumes/Data Disk/Backups.backupdb/atelier/2015-11-24-123753
/Volumes/Data Disk/Backups.backupdb/atelier/2015-12-09-230239
/Volumes/Data Disk/Backups.backupdb/atelier/2015-12-28-160636
/Volumes/Data Disk/Backups.backupdb/atelier/2016-01-08-190954

特定のバックアップを削除

$ sudo tmutil delete /Volumes/Data\ Disk/Backups.backupdb/atelier/2015-07-27-110539
Deleting: /Volumes/Data Disk/Backups.backupdb/atelier/2015-07-27-110539

Deleted (21.6G): /Volumes/Data Disk/Backups.backupdb/atelier/2015-07-27-110539
Total deleted: 21.6G

スクリプトで自動化するなら、ディスク名にはスペースのない名前を割り当てた方が良い。

Microsoft Office 2016 for Macインストールと日本語利用

職場のMacにOffice 2016をインストールした。Macは言語環境英語で利用しているので、インストール直後はOfficeも英語環境となっていた。ただ、Officeは日本語で利用したいので、このページを参考に日本語化した。

1. Word、ExcelPowerpointを日本語化

  • ターミナル上で以下のコマンドを実行
$ defaults write com.microsoft.Word AppleLanguages '(ja)'
$ defaults write com.microsoft.Excel AppleLanguages '(ja)'
$ defaults write com.microsoft.Powerpoint AppleLanguages '(ja)'

2. 設定の反映を確認

$ defaults find AppleLanguages
Found 1 keys in domain 'com.microsoft.Powerpoint': {
    AppleLanguages =     (
        ja
    );
}
Found 1 keys in domain 'com.microsoft.Word': {
    AppleLanguages =     (
        ja
    );
}
Found 1 keys in domain 'com.microsoft.Excel': {
    AppleLanguages =     (
        ja
    );
}
# 設定に応じて他にも表示される

設定を削除してシステム標準言語に戻すには、以下のようにすればいいらしい。

$ defaults delete com.apple.mail AppleLanguages