ShiftItアプリをmacOS Mojaveで使用する方法
ShiftItで警告みたいなのが出るようになった
皆さんmacでウィンドウ分割って何を使っていますか?最近(OS X EI Capitan以降)は、Split Viewなんて機能も標準装備されているんですが、Split Viewは3分割・4分割できないので自分は時と場合によってShiftItとSplit Viewを使い分けています。ただどうも32bit版を使い続けていたようでこの前OSをアップデートした中で『これ64bitツールじゃないよ!』といった感じの警告が出るようになり気持ち悪かったので、64bit版を入れ直したんですがちょっと手順が必要だったのでここに残しておこうと思ったしだいです。
ShiftItとは
macで一番有名(だと思ってる)ウィンドウ分割ツールです。以前使っていた"公式版"はいつの間にか終了しているらしく今はMike's Versionさんがその後を引き継いでるとのこと、引き継がれたソースはgithubにて公開されているので、こちらを使わせていただく形で最新化したいと思います。
ShiftIt導入手順
導入自体は、サクッといけるんですが、"アップデートの確認"を使う場合ちょっとした対応が必要になるので、そこも含め記載して行こうと思います。
1. shiftItをダウンロード
Mike's Versionさんのgithubサイトから"Latest release"のzipファイルをダウンロードします。
上のリンクからgithubのreleasesページを開きます。開いたら"Latest release"を探します。2019年4月16日現在1.6.6
が"Latest release"になります(①の部分)。
"Latest release"を見つけたら②の部分のShiftIt-1.6.6.zip
(バイナリファイル)をダウンロードします。(時期によってバージョンが違うので"Latest release"下にあるShiftIt-X.X.X.zip
をダウンロードして下さい。)下の"Source code"はソースをそれぞれzip圧縮とtar.gz圧縮*1で用意されているのですが、アプリを使用したいだけであれば関係ないので無視して貰って大丈夫です。
2. shiftIt-X.X.X.zipを解凍
ダウンロードしたshiftIt-1.6.6.zip
を解凍します。(ダブルクリックすれば解凍できると思います。)解凍するとShiftIt.app
()ができます。
3.アプリケーションフォルダに移動
解凍してできたShiftIt.app
()をアプリケーションフォルダに移動させます。
4. 起動の前にロックを解除
移動させたShiftIt.app
をダブルクリックすると下のようなメッセージが出ると思います。(でない場合は問題ないので5に進んじゃって下さい。)
ShiftIt.app”は、開発元が未確認のため開けません。
メッセージが出てしまった場合、前に"Caffeine"の時にも書かせて貰った理由と同じ理由で"ShiftIt"もロックを解除しないと使用することができません。
"Caffeine"時と同じ操作になりますが、"ShiftIt"のロック解除手順も記載しておきます。
メニューバーのリンゴマークから"システム環境設定"を開きます。開いたら"セキュリティとプライバシー"を選択します。
③の"プライバシー"タブを選択、④の"アクセシビリティ"を選び⑤の鍵を外して⑥の"ShiftIt.app"にチェックを入れて⑤の鍵を戻して完了です。
それでもメッセージが出て実行できない場合は"セキュリティとプライバシー"の一般タブ(⑦)も確認してみて下さい。
⑨の"ダウンロードしたアプリケーションの実行許可"を見て、もし"App Store"が選択されていた場合は⑧の鍵のロックを外し"App Storeと確認済みの開発元からのアプリケーションを許可"を選択して⑨の鍵をロックして完了です。
5.常駐設定
移動させたShiftIt.app
をダブルクリックするとメニューバーに登録されるので、これで起動完了です。そのまま常駐させたい場合はメニューバーにあるShiftItアイコン()をクリックするとメニューが表示されます。
そのメニューから環境設定を選ぶとShiftItの環境設定画面がでるので、その中にあるログイン時に開くにチェックを入れておくと再ログインしてもログインしたタイミングで起動されるので常に常駐されるようになります。
ShiftItアップデートの確認でエラーがでる方へ
新しいShiftItはアップデートの確認ができるようになりました。(昔からだったらごめんなさい。)
ただ自分の場合、”アップデートの確認”をクリックしたところエラーになってしまいうまくアップデート確認できなかったので、その時自分が解決した対応方法を記載しておきます。
ShiftIt.appの属性を確認
まず、ShiftIt.appの属性を調べたいのでターミナルアプリを立ち上げます。
control + space
上のショートカットを実行すると"Spotlight検索"が立ち上がるので、そこに"ターミナル"と打ち込んで、ターミナルアプリを立ち上げて下さい。
ターミナルアプリを使いcd
コマンドを実行してShiftIt.appの置いてある場所に移動します。(今回の場合、アプリケーションフォルダに移動想定で話を勧めます。)
cd /Applications
cd
コマンドにて移動したらls
コマンドでShiftIt.appの属性を確認します。
ls -ld ShiftIt.app
drwxr-xr-x@ ShiftIt.app
@が付いていれば自分が対応した方法でエラーがでなくなると思います。
属性の@って何?
自分も知らなかったので調べました。拡張属性らしいです。似たもので"+"があってそれは拡張セキュリティ情報(ACL*2)とのこと、今回は拡張属性を掘り下げます。
拡張属性とは
extended attribute(EA)。通常の基本属性(種別*3+パーミッション、所有者、所有グループ、ファイル名など)とは別に拡張された属性で名前空間識別子という名前空間に情報を付与することができるようです。
名前空間識別子
拡張属性には、user, trusted, security, systemという名前空間があり、それぞれ下に書いた内容でルール化されているようです。
識別子 | 内容 |
---|---|
user | ユーザー用(自由に設定可能) |
trusted | スーパーユーザーのみが利用可能 |
security | カーネルが使用 |
system | カーネルが使用 |
使用用途として、通常ユーザーはuserの領域を使用して例えばFinderに表示されないように設定など、基本属性ではできない設定を行い使用しているみたいですね。
本題に戻るんですが、拡張属性*4はxattr
にて確認や属性の付与、削除ができます。今回の場合はこんな感じで確認できます。
xattr ShiftIt.app
すると、com.apple.quarantine
と表示されるんですが、どうもこの設定が悪さをしているようなのです。この設定はセキュリティの一貫で、何気なくファイルを実行してしまってウィルスやマルウェアに感染するのを防止するため『開いてもよろしいですか?』と注意喚起してくれる設定になります(だいぶザックリ(^^; )。なので通常であれば悪いことは無いんですが今回のような一度信用したアプリの最新確認をするのに一々この設定に引っかかりエラーになるというのもちょっとな感じがするので、今回はこの設定を消してしまいます。
拡張属性(user空間の情報)を消す方法
だいぶ長くなってしまいましたが、これを実行することで今回の"アップデートの確認"ができない問題は解決です(自分はこれで解決しました)。
xattr -dr com.apple.quarantine ShiftIt.app
オプションについてディレクト内を再帰的に削除したいので-dr
を指定しています。
上の拡張属性削除コマンドを実行後、もう一度ls -ld ShiftIt.app
を実行してみて@
が消えていればOKなので、この状態で"アップデートの確認"を実行してみて下さい。
これがでれば成功です。
余談 xattrのオプション
-l
で詳細情報も表示
xattr -l ShiftIt.app com.apple.quarantine: 0081;5cb4bdb2;Chrome;4BCF018E-A807-45C7-A6C5-57402FB69627
-p + <拡張属性名>
で詳細情報のみ表示
xattr -p com.apple.quarantine ShiftIt.app 0081;5cb4bdb2;Chrome;4BCF018E-A807-45C7-A6C5-57402FB69627
最後に一言
どうでしたか?ShiftItを新しくするだけだったんですが、いろんな情報てんこ盛りで自分も意外に勉強になりました。次回はそろそろAWSサービスの続きを書こうと思ってます。
それでは、今回はここまで!