macでもファイル比較アプリWinMerge2.14.0-jpが動きます

Windowsでファイル比較ツールのド定番は、WinMergeじゃないでしょうか?WinMergeが登場する以前は、WinDiff(Visual Studio同梱)が定番でしたね。Macでファイル比較アプリの定番といえば何でしょうか?FileMerge(open /Applications/Xcode.app/Contents/Applications/FileMerge.app)?CompareMerge?単純なファイル比較はVisual Studio Codeが結構使えます。ただフォルダを2つ指定して一気に違いを見るようなことができませんよね。macでもWinMerge使えたら・・・使えました。

macでWinMergeを動かすデメリットとメリット



WinMergeはmacOS High Sierra 10.13.3でも動作します。バイナリの形式が違います。そのためそのままでは動かないのでWineというWindows環境でなくてもWindowsソフトが使えるツールを使います。これがデメリットでもあります。WinMerge日本語版(2.14.0-jp-145のZIP版は24MBぐらいです。これをMacで動作させるために必要なソフトは以下2つです。
  1. XQuartz(macのXサーバー関連)が必要。無料でダウンロードできます。179MBぐらいストレージ使います。
  2. Wine(今回はWine Development版の3.2を使っています)が必要です。無料でダウンロードできます。409MBぐらいストレージ使います。


=>588MB余計にストレージを占有してしまうのがデメリットです。

メリットもありますよね。慣れ親しんだWinMergeがmacOS High Sierraで動きます。Visualでファイル、フォルダの違いが見てわかります。

macでファイル比較やフォルダ内の違いを知りたい場合、ターミナルからdiffコマンドを使うとサクッと違いがわかります。左右分けて違いを見たい場合は、-yオプションを使います。(diff -y)1行が短いテキストの比較ならこれで満足できると思います。ただ1行が長かったり、視覚的(色など)に違いを把握したい場合には不向きですよね。

macでもファイル比較アプリWinMerge2.14.0-jpが動きます


macでもファイル比較アプリWinMergeが動作するところまでやって見ます。動画はmacOS High Sierra 10.13.3のmacで撮影しています。

【環境を整える】ファイルの入手とインストール


必要な環境をダウンロード、インストールするまでの手順は、以前WinSCPを動かした際の方法が使えます。こちらを参照してください:macでWinSCPを動かすための環境を整える(macyarounanoka)
今回は、最新の開発版Wine 3.2をダウンロード&インストールしています。インストールしているバージョンは違います。Wineのインストール手順で64bitをチェック入れてくださいね。

続いて、WinMerge日本語サイトからZip版をダウンロードします。ここでは~/Download/フォルダに自動展開されたものを使っています。WinMerge 2.14.0-jp-145(64bit)をダウンロードしました。
WinMerge日本語版の入手先:WinMerge 日本語版


【初回起動はいくつか注意点があります】


実際にWineとWinMergeを初回起動している動画がこちらです。注意するポイントがわかります。

説明が足りないかもしれませんので、ここで補足します。
1)macOS High Sierraの次のバージョンから32bitアプリが動かなくなるようです。
Wineを64ビットで動かすためには、wine64 プログラムで起動する必要があります。

2)Wineインストール後、初回起動で初めてWindowsアプリを動かすと環境設定が始まります。
Wine用monoとWine用Geckoのインストールを促されます。これは初回だけ促されます。

3)macのストレージは、Zドライブに割り当てられています

【macでWinMerge】フォルダを比較して見ました。


CSS、JS、PHPファイルなど計1508ファイルあるwordpressのソースコード4.9.4と4.8.5の異なるバージョンでフォルダを比較しています。こちらの動画でどういった感じかがわかります。

この動画を見ると以下のことがわかります。
・WinMergeがmacOS High Sierra上でちゃんと動いている!
・WinMergeからmacのストレージのフォルダ、ファイルにアクセスできている。
・1508ファイルの比較もあっという間に終わっている(内蔵ストレージなので当然ですね!)
・フォルダ比較後、異なるファイルの比較もサクサク動いている。


また動画では省略していますが、Wine3.2で動かしたWinMergeは、Finderからフォルダをドラック&ドロップするとドロップできました。エクスプローラーで使う感じと同じように使えましたよ。

まとめ


いかがでしたでしょうか、ここまでWineをインストールするデメリット、macOS High SierraでWinMergeが動くってことがわかったかと思います。今回Wineはインストール後一切設定しないで使って見ました。インストールしたらそのままWinMergeが動きますよ。


macでエコなタイマー・ストップウォッチ!アプリ不要です。

macOSには標準でタイマーやストップウォッチぐらいあっていいと思いませんか?ないんですよね〜。日付・日時指定で通知がほしいって場合は、標準アプリのリマインダーやカレンダーで十分満足できます。5分後にアラームを鳴らしたい、かかる時間を計測したいと単純なことは別途アプリが必要になったりします。腕時計やiPhone標準の時計アプリからストップウォッチやタイマーを使っていませんか?こっちの方が便利ですから当然使っている方多いと思います。100円均一でアラーム・ストップウォッチ・タイマーがついた時計、ストップウォッチも買えるのに標準でついていないなんてって思ってしまいますね。

Windowsは標準アプリでタイマー、ストップウォッチ機能が付いています。
macでアプリ不要でタイマーやストップウォッチを使う方法の1つにWeb(Javascript)で公開されているサイトにアクセスする方法があります。ストップウォッチの機能は、ミリ秒精度のものが多いですよね。CPUに負荷がかかります。時間を計るだけなんですけど・・・

CPUに負荷がかかるとファンの音がうなり始めますし、熱もすごいことになってくるのでiPhoneや腕時計を使った方が絶対エコ!です。(笑)

これはミリ秒単位で描画している宿命でもありますね。ミリ秒の精度が必要な方はiPhone使った方がいいと思います。米googleでストップウォッチ、タイマーの機能があります。Googleが作ったストップウォッチでも、ファンの音がうなり始めましたよ。
こちらでチェックできます=>米google stopwatch機能(タイマー機能にも切り替えて使えます)


macでエコなストップウォッチはtimeです


止めるまで、経過時間を一切表示しない代わりに、CPUの負担はほぼない簡易ストップウォッチがターミナルから使えます。
time catコマンドです。timeというのは時間計測するコマンドです。catは通常ファイルの内容を見るコマンドですが、ファイルを指定しない場合、入力を受け付ける待ち状態になります。Control+Cキーで終了させることでrealに経過時間が表示されるトリックです。
timeで何もしないコマンド(cat)を動かし続けて、止めるまでの時間を計測することができます。
macyarounanoka$ time cat
^C

real 5m58.123s
user 0m0.002s
sys 0m0.002s


catコマンドはほぼ何もしない入力待受の状態でCPUにほとんどインパクトを与えません。表示も動作もエコです。

macでエコなタイマーは、sleepです。


米google Timer機能は、なぜかCPUの負担が大きかったです。macでCPU負担の少ないエコなタイマは、sleepコマンドで実現できます。sleepコマンドは秒精度です。小数表記でミリ秒も指定することができます。指定秒数経過したら”時間になりました”とか好きな言葉で喋ったり、音を鳴らしたり、通知を出したり、画面をフラッシュさせることもできます。

画面フラッシュは、brightnessというコマンドを入れる必要があるのでここでは省略しています。
コマンドは以下のような形で、ターミナルから指定します。
sleep 60.0 ; 時間が経過したらアクションさせたいコマンド



時間がきたら喋って教えてくれる


時間が経過した後、喋らせることができます。macOSには標準でテキストを音声に変えてくれるsayコマンドがあります。このコマンドで好きなテキストを指定することで喋らせることができます。
sleep 60.0 ; say 時間がきました。

60.0秒経過した後、”時間がきました"と喋ります。

喋る声は、システム環境設定>アクセシビリティから変更することができます。OtoyaさんとKyokoさんが日本語担当です。
macで喋る声はOtoyaさんとKyokoさん

システムの声よりカスタマイズすることができます。sayコマンドで何も音が出ない方はこのボイスがインストールされていない可能性があります。カスタマイズから入手してみてください。(お金を払う必要なしです)

時間がきたら音楽・サウンドでわかる


コマンドラインから音を鳴らすことができます。
単純なビープ音は、以下コマンドです。
sleep 300;tput bel

5分経過した後、ぽんっと音がなります。

何回かビープ音を繰り返したい場合は、以下コマンドです
sleep 180;osascript -e 'beep 3'

3分経過した後、ぽんぽんぽんっと音がなります。

macOS標準の音を鳴らす場合は、以下コマンドです。
sleep 600;afplay /System/Library/Sounds/Ping.aiff

10分経過した後、ピィンっと音がなります。
Pingのほか、Basso、Blow、Bottle、Frog、Funk、Glass、Hero、Morse、Purr、Sosumi、Submarine、Tinkのバリエーションがあります。

繰り返して鳴らしたい場合は、;で区切って複数回コマンドを指定させます。
sleep 600;afplay /System/Library/Sounds/Ping.aiff;afplay /System/Library/Sounds/Ping.aiff



同じコマンドで音楽を鳴らすことができます。鳴らす長さを秒数で指定することができます。
sleep 1800; afplay -t 秒数 ~/音楽.mp3 

30分経過した後、音楽が指定秒数かかります。

時間がきたら通知と音でわかる


通知は、osascriptコマンド(スクリプトコマンド)を使います。
osascript -e 'display notification "時間です" sound name "Ping" '

mac-simple-notification-201802.png

こんな感じで通知が表示され、Ping音もなります。音の名前は、前述のこちらにあるシステム音名が指定できます。

sleep 300.0;osascript -e 'display notification "時間です" sound name "Ping" '

5分経過後、音と通知で知らせてくれます。

まとめ


タイマーが必要、ストップウォッチが必要って時にmacさえあればできる方法をご紹介してきました。単機能なので使い勝手は悪いです。その代わりほとんどCPU使わないので暑くなったら使ってみてください。




APFSって互換性あるの?macOS Sierra(10.12.6)と10.13.3で検証してみた結果

macOS High Sierraの発表があった2017年6月ごろ、macOS SierraでもApple File Systemが使えるような気がしていました。diskutilコマンドでapfsコンテナを作ったり、マウントしたりすることができたはずですよね。macOS High Sierraのサポート情報を確認していたら、Apple File System(APFS)は、macOS High Sierraのみのサポートとなっていました。こちらの「Mac のディスクをフォーマットするときに APFS と Mac OS 拡張のどちらを選択するか」にAPFS を使うには、macOS High Sierra が必要です。それ以前のバージョンの Mac オペレーティングシステムでは、APFS でフォーマットされたボリュームがマウントされません。という記載を見つけました。macOS 10.12.6で作れたAPFSは全く互換性のないファイルシステムらしいです。Wikiにも互換性がない旨が記載されています。
Wikiのページを読み、じゃHigh SierraでAPFSフォーマットしたものなら大丈夫なのか?と疑問が浮かびました。

この先読み進めれば、わかります。結論を先に書いておきます。
APFSの互換性はない!って思った方が幸せです。マウントはできました。書き込みもできました。でもFirst Aidは失敗するし、APFSドライバーのバージョンもベータレベルなので常用するのは怖いです。

これから実際にmacOS 10.12.6と、macOS 10.13.3を使った検証結果です。HDDは、WD Elements(2TB)です。(リンク先はアマゾンです。)
今回の検証は、SSD(HFS+)をAPFSに変更しようかと思ったところから始まっています。SSDで試す前にフォーマットしてもOKなHDDがあったのでHDDで検証しています。

SierraとHigh SierraのAPFSの違い


macOS High Sierra 10.13.3でAPFSでフォーマットした2TBのUSB3.0ハードディスクをSierraに接続してみました。この記事を書く前にフォーマットしています。ファイルシステムはカーネル拡張機能として読み込まれています。バージョン番号が表示できるので、ドライバ(カーネル拡張機能)に違いがあるのかを確認してみます。
macOS SierraHigh Sierra
APFSのバージョン0.3748.41.3
HFS+のバージョン366.70.3407.30.1
APFSのバージョンは、com.apple.filesystems.apfsのバージョンです。HFS+のバージョンは、com.apple.filesystems.hfs.kextのバージョン番号です。

=>APFSのドライバーが全然違うことがわかりました。

macOS SierraのAPFSドライバのバージョンは0.3、High Sierraは748.41.3です。0.xはプレビュー版、ベータ版、またはアルファ版といった位置づけだと思うのでやっぱり利用は厳しいかもしれません。

APFSドライバーは、APFSフォーマット済みディスクを接続することで自動的にロードされます。APFSボリュームがない状況だとバージョン番号は確認できませんでした。
どちらのmacOSも、この記事を書いている時点でAppleから適用されているセキュリティアップデートなどは全て適用している状況です。

ディスクユーティリティの違い


続いて、ディスクユーティリティの違いです。High Sierra、Sierraの順で掲載しています。ここで使っているUSBハードディスクはWD Elements 25A2 Mediaで認識されます。
【macOS High Sierra 10.13.3 ディスクユーティリティのバージョン 17.0(1635)】
macOS High Sierra 10.13.3 ディスクユーティリティのバージョン 17.0(1635)でGUIDパーティション、APFS形式でフォーマットしています。ボリュームは単一にしています。
【macOS Sierra 10.12.6 ディスクユーティリティのバージョン 16.3(1579.1)】
macOS Sierra 10.12.6 のディスクユーティリティのバージョンは、16.3(1579.1)でした。

外部ディスク、コンテナ、APFSボリュームの順に並んでます。
外部ディスク
【macOS High Sierra 10.13.3 】
10.13.3 ディスクユーティリティでみるWD Elements 25A2 Media

【macOS Sierra 10.12.6 】1つのディスクで階層表示でディスク>コンテナー>ボリュームと表示されませんでした。ディスクとコンテナーが分かれています。
【macOS Sierra 10.12.6】WD Elements 25A2 Mediaの2TB USB外部物理ディスクと認識しています。分かれているとちょっと怖いです。
10.12.6 ディスクユーティリティでみるWD Elements 25A2 Media

コンテナ
【macOS High Sierra 10.13.3 】
10.13.3  ディスクユーティリティでみるAPFSのコンテナ

【macOS Sierra 10.12.6】本来は、WD Elements 25A2 Mediaの下の階層として表示されるべきAppleAPFSMediaです。2TB未初期化らしいです。うーん。
10.12.6  ディスクユーティリティでみるAPFSのコンテナ

APFSボリューム
【macOS High Sierra 10.13.3 】
10.13.3  ディスクユーティリティでみるAPFSボリューム

【macOS Sierra 10.12.6】APFSボリュームの本体です。2TB論理ボリュームAPFS(大文字/小文字を区別)と認識されています。APFSで作っています。大文字小文字は区別されないで表示されるのが正しです。
10.12.6  ディスクユーティリティでみるAPFSボリューム


ディスクユーティリティで見る限り、macOS Sierra 10.12.6でもAPFSディスク、コンテナ、ボリュームは認識して表示できることがわかりました。でも問題もありましたね。もっと怖い問題も抱えています。

APFSボリューム、AppleAPFSMediaのFirst Aidは失敗しました。WD Elements 25A2 MediaのFirst Aidはすんなり成功したんですけどね・・
macOS High Sierra 10.13.3は、ディスク、コンテナ、ボリューム全部First Aid正常終了しています。

【macOS Sierra 10.12.6】WD Elements 25A2 MediaのFirst Aidは成功しています。
成功!WD Elements 25A2 MediaのFirst Aid結果

(クリックすると拡大表示されます)
【macOS Sierra 10.12.6】AppleAPFSMediaのFirst Aidは警告で終わっています。
警告!AppleAPFSMediaのFirst Aid結果

(クリックすると拡大表示されます)
【macOS Sierra 10.12.6】APFSボリュームのFirst Aidは失敗です。
失敗!APFSボリュームのFirst Aid結果

(クリックすると拡大表示されます)


diskutilコマンドの違い


続いて、diskutilコマンドのlist出力結果の違いです。 APFS Volumeの容量に少しだけ違いがあるようです(同じ内容のはずですが・・)。これ以外はほぼ同一です。diskutilコマンドではほぼ違いがないです。High Sierra、Sierraの順で掲載しています。
【macOS High Sierra 10.13.3】
/dev/disk3 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *2.0 TB disk3
1: EFI EFI 209.7 MB disk3s1
2: Apple_APFS Container disk4 2.0 TB disk3s2

/dev/disk4 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +2.0 TB disk4
Physical Store disk3s2
1: APFS Volume 名称未設定 999.4 KB disk4s1

【macOS Sierra 10.12.6】
/dev/disk3 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *2.0 TB disk3
1: EFI EFI 209.7 MB disk3s1
2: Apple_APFS Container disk6 2.0 TB disk3s2

/dev/disk6 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +2.0 TB disk6
Physical Store disk3s2
1: APFS Volume 名称未設定 1.0 MB disk6s1



High Sierraでフォーマット済みAPFSボリュームをSierraでマウントしてみた


使えるのか?認識できるのか?疑問でしたが、普通にマウントはできました。
ボリューム名はデフォルトの「名称未設定」にしています。
High Sierra(10.13.3)であらかじめ日本語フォルダ「名称未設定フォルダ」、日本語ファイル名「日本語ファイル名.txt」を作っています。これはWikiで英語環境以外は問題が起きると書いてあったので確認のためです。
macOS 10.12.6でAPFSボリュームを接続後、Finderで内容を確認しているスクリーンショット


=>macOS High Sierraで書き込んだ日本語ファイル名、日本語フォルダ名は文字化けしないことがわかりました。

今度は、macOS Sierraで日本語フォルダ、日本語ファイル名を作って、macOS High Sierraで見えるの?ってところを確認してみました。スクリーンショットはありません。
=>macOS Sierraで書き込んだ日本語ファイル名、、日本語フォルダ名も文字化けしないことがわかりました。

macOS Sierra 10.12.6 APFSボリュームはFirst Aidが機能しません。ボリュームのマウントはできますが、ご利用は避けた方が無難です。


まとめ


ここまでで、macOS SierraのAPFSドライバーのバージョンは、アルファ・ベータ版レベル、ディスクユーティリティで認識しているけど、ちょっと表示が変、First Aidは使えない、APFSボリューム自体文字化けしないで書き込めたり読み込んだりできることがわかったかと思います。

macOS SierraでもAPFSの互換性はあるっていう感じですが、最低限の互換性と思った方が良さそうな結果です。持っているSSDをAPFSにコンバートして、macOS Sierraで使う計画は、怖いので凍結です。

APFS使うならmacOS High Sierraにアップグレードですね!



  • 祝!初マック(mac book retina 13インチ)!retina美しいです^^マックに関係するTips、情報、はまったことの解決策等
  • Mac野郎なのか
  • プロフィール

このページの先頭へ