Windows に gedit をインストールできた (...だがしかし)
Windows に gedit をインストールできた!
以前に Windows 上で利用できるお手軽メモ帳アプリを探していて、本当は gedit が使えたらいいんだけど... みたいな記事を書きました。
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