アフィリエイト広告を利用しています

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使えたら・・・使えました。

この記事は2018年2月時点に実施した内容に基づいています。最新版のmacOS Big Surでは動作しません。WineはCatalina以降サポートしていないようです。
2021年2月 Wine5.7 Develop(winehq-devel-5.7.pkg)+macOS Big Surで動作を確認しました。以下のようなエラーで起動できませんでした。
open /Applications/Wine\ Devel.app
The application cannot be opened for an unexpected reason, error=Error Domain=NSOSStatusErrorDomain Code=-10386 "(null)" UserInfo={_LSLine=3665, _LSFunction=_LSOpenStuffCallLocal}

有償版のCrossOverでは動作する模様です。
Wine自体はLinuxでも動作させることができます。vmwareのFusion Playerは個人利用であれば無償で使えます。「mac上でFusion Playerを用いてLinuxを動かし、その上でWinMergeを動作させる」(全て無料)

確かにmacで動くね、でもちょっと遠くなぃ?ですね・・・
Visual Studio Code(無料) ファイルの比較(少しグラフィカル)表示が可能です。
Visual Studio 2019 for Mac 拡張機能でVs Diffが動くかも(ためしてないです)
WinMergeの代わりになるアプリはhttps://alternativeto.net/software/winmerge/で探すことができます。


WinMerge3プロジェクトが消滅していました。macネイティブ動作できるかと期待していましたが残念。
最近フォルダ自体の比較をあまり使わなくなりました。ローカルgit環境でVisual Studio Codeを使うと変更した全てのファイルを一望、ファイルを選ぶと違いをビジュアルに比較、元に戻すこともできる、フォルダを比較したくなる場面が減りましたよ。git環境で使うVisual Studio Codeは強力です。

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 Venturaで時計アプリが搭載されました。この時計アプリは世界時計、アラーム、ストップウォッチ、タイマーの機能が内蔵されています。この時計アプリで全て解決できます。以下macOS Ventura以前のmacOSには驚くことに時計アプリ内蔵されていませんでした。時計アプリの代替えに何が利用できるのかをまとめた記事になっています。


macOS Ventura以降のmacOSをご利用の方は標準アプリの時計アプリを利用してください。



macOSには標準でタイマーやストップウォッチぐらいあっていいと思いませんか?ないんですよね〜。

日付・日時指定で通知がほしいって場合は、標準アプリのリマインダーやカレンダーで十分満足できます。5分後にアラームを鳴らしたい、かかる時間を計測したいと単純なことは別途アプリが必要になったりします。

腕時計やiPhone標準の時計アプリからストップウォッチやタイマーを使っていませんか?こっちの方が便利ですから当然使っている方多いと思います。100円均一でアラーム・ストップウォッチ・タイマーがついた時計、ストップウォッチも買えるのに標準でついていないなんてって思ってしまいますね。


MacBook Air M2 2022購入しました。アップルシリコン製のMacはiPhoneのアプリが動かせます。Apple社のiPhone用時計アプリ、これを使えば全て問題解決!?と思ったんですが・・・

Appleが提要しているiPhone用アプリはNGでした。App Storeにありません。

iPhoneアプリ(Apple製以外)のストップウォッチアプリ(無料・有料)などは見つかります。M1/M2 Macの方はApp Store(iPhone及びiPad Appタブ)で探してインストールできます。Intel Macではこの機能ありません。




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野郎なのか
  • プロフィール

このページの先頭へ