f

2015-10-21

Setting icon for MSYS2 shortcut

MSYS2のショートカットにアイコンを設定した。設定手順を記す。

MSYS2をインストールすると,スタートメニューに[MinGW-w64 Win64 Shell]という名前でメニューが追加される。これを選択することで/mingw64/binにPATHを通した状態でMSYS2が起動できる。

しかし,この方法での起動には以下の問題がある。

  1. タスクバーにピン留めしたときのアイコンがMSYS2でない。
  2. タスクバーにピン留めしたアイコンをクリックして実行すると,余分にタスクバーにターミナルのアイコンが表示されてしまう(下図参照)。

  3. ターミナルのアイコンをタスクバーにピン留めして実行した場合,MSYS2のPATHが一切設定されていない状態となる。

これは,スタートメニューの[MinGW-w64 Win64 Shell]が環境変数を設定してminttyを実行すようなbatファイルになっているためだ。[MinGW-w64 Win64 Shell]をタスクバーにピン留めして右クリック→プロパティからリンク先を見ると以下の内容となっている。

C:\Windows\System32\cmd.exe /A /Q /K C:\msys64\mingw64_shell.bat

このようにcmd.exeからmingw64_shell.batmingw32_shell.bat)を起動している。mingw64_shell.batは中で環境変数を設定してminttyからbashを起動している。仕組みがわかれば自分で設定できる。mingw64_shell.batmingw32_shell.bat)では環境変数MSYSTEMの設定が重要である。この環境変数の設定でMSYSから使うMinGW-w64のアーキテクチャ(64/32bit)ごとのプログラムのPATH(それぞれ,/mingw64/bin/mingw32/bin)を設定している。以下のようにすることでアーキテクチャを指定できる。

  • MinGW-w64の32bit版:MSYSTEM=MINGW32
  • MinGW-w64の64bit版:MSYSTEM=MINGW64

この仕組みがわかっていれば自分でショートカットを作り,MSYS2起動時にアイコンの設定も可能だ。ここでは設定の手順を記す。

  1. どこでもよいが,例えばデスクトップ[右クリック]→[新規作成]→[ショートカット]でショートカットを作成する

  2. リンク先に以下を記述する。
    C:\msys64\usr\bin\mintty.exe -i /msys2.ico /bin/env MSYSTEM="MINGW64" /bin/bash --login -i

  3. ショートカットの名前を[MSYS2-64 Terminal]にする。

  4. 作成されたアイコンを右クリックして[プロパティ]を選択。

  5. [ショートカットタブ]→[アイコンの変更]

  6. [このファイル内のアイコンを検索]に以下を入力して,その後表示されたアイコンを選択。
    %SystemDrive%\msys64\msys2.ico

この設定で以下のようにアイコンが設定された。

あとはこれをタスクバーにピン留めしておけばクリック一発でMINGW64にPATHのとおったMSYS2が起動できる。自分で設定するのが面倒ならば,以下にMINGW32とMINGW64に設定済みのショートカットを用意しているので使うとよい。ファイル名を選択→Rawボタン押下でダウンロードできる。拡張子が.downloadになっていたら.downloadを削除してリネームすればよい。

https://github.com/lamsh/uploader/tree/master/MSYS2/shortcut

参考:Windows/MinGW-MSYS/インストール - yanor.net/wiki http://yanor.net/wiki/?Windows-%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%2FMinGW-MSYS%2F%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB

2 件のコメント: