📝

Windows に gedit をインストールできた (...だがしかし)

2025/02/24に公開

Windows に gedit をインストールできた!

以前に Windows 上で利用できるお手軽メモ帳アプリを探していて、本当は gedit が使えたらいいんだけど... みたいな記事を書きました。

https://zenn.dev/j_sakamoto/articles/7e41594d87dfc3

WSL の GUI から使うのは、いくら昨今は軽量とはいえそのためだけに WSL が動くのも気が引けて、さりとて自分でソースコードから make する器量もなくて諦めていたんですが、諦めきれなくて改めてネットで調べ直してみたところ、MSYS2 上で動かせばいいじゃん、という方法を発見し、実際に成功しました (下図)。

MSYS2 って?

MSYS2 とは、Windows 上に Unix ライクな環境を再現するソフトウェア群です。Windows 用のインストーラが用意されていて、それで MSYS2 を Windows にインストールすると、Windows 上で POSIX 互換の API 層を提供するライブラリが配置されます。加えて Unix 系 OS で使える各種コマンドも同梱されていて、Windows 上でそれらコマンドが利用できるようになります。さらパッケージマネージャー (Pacman) を介してその他のアプリケーションを追加インストールすることができるようになります。

この Windows 上の MSYS2 環境に、パッケージマネージャー経由で gedit をインストールできることがわかりました。

インストール手順 - まずは MSYS2 のインストール

インストール手順ですが、まずは MSYS2 のインストールから始めます。これは難しいことは何もなくて、普通に MSYS2 の公式サイトからインストーラーをダウンロードして実行し、表示される画面に従ってインストールを進めるのみです。

MSYS2 の公式サイト https://www.msys2.org/ をブラウザで開くと、ページ中程に「msys2-x86_64-xxxxxxxx.exe」という、インストーラへのリンクがあります。これをクリックしてダウンロード、実行して、MSYS2 のインストールを済ませます。

パッケージマネージャーで gedit をインストール

無事 MSYS2 をインストールできたら、スタートメニューから「MSYS2 MSYS」を実行して MSYS2 のターミナルウィンドウを開きます。そこで以下のコマンドを実行し、gedit をインストールします。

pacman -S mingw-w64-x86_64-gedit

インストールが完了すると C:\msys64\mingw64\bin フォルダに gedit.exe が配置され、これを起動することで gedit が Windows 上で起動します!

Windows で gedit を使えるようになった、のですが...

ということで、めでたく Windows 上で gedit が使えるようになりました。PATH さえ通しておけば PowerShell 等のターミナルから起動できるのはもちろん、エクスプローラー上でのファイル右クリックに登録することで、エクスプローラーからもファイルを開くときに gedit で開くことができるようになります。

ということで、最初はとても喜んだのですが...

すこし使って初めて知ったのですが、なんと、gedit のウィンドウには Windows のウィンドウスナップ機能が働かないのでした。GTK 由来なのか、独自のスナップ動作はあるようなのですが (gedit のウィンドウを、スクリーンの左右端に近づけると、スクリーンの横半分を占めるように gedit のウィンドウがスナップされる)、しかし、例えば Windows キー + 上矢印で最大化、などの、Windows における一般的なウィンドウ操作にまったく反応しません。

また、開いたファイルの拡張子ごとの言語設定も、自分の力量不足なのか、うまく設定できませんでした。自分の場合、C# のプロジェクトファイル (拡張子 .csproj) を gedit で開いたときは、XML として構文ハイライトして欲しいのです。しかし gedit でこれを指定する方法がいずれか試してもうまくいかず、常にのっぺらな配色で開かれてしましました。

しばらくは我慢して使っていたものの、以上の問題・課題に耐えられず、Windows 上での gedit の常用は諦めるに至りました。

ウィンドウスナップと構文ハイライト構成の問題が解消できれば、Windows 上での gedit の利用は継続していたと思うので、ちょっと残念です。MSYS2 という互換レイヤーのおかげでここまでできたのは素晴らしいことと思いますが、やはり異なるプラットフォームで gedit を動かすには制約・限界もあるということで、自分のケースでは使用は断念することとなりました。

Discussion