Cygwinのターミナルでgitkを利用しようとすると、以下のメッセージでエラー。

Application initialization failed: no display name and no $DISPLAY environment variable
Error in startup script: no display name and no $DISPLAY environment variable
while executing
“load /usr/lib/tk8.5/../../bin/libtk8.5.dll Tk”
(“package ifneeded Tk 8.5.11” script)
invoked from within
“package require Tk”
(file “/usr/bin/gitk” line 10)

調べてみると、仕様変更によって、x win serverを起動しないといけないらしい。

今回の情報源はココを参考。

Xwin サーバを立ち上げて、Cygwinからgitkを使えるようにする

まずは、xinit/xorg-serverを Cygwinのsetup.exeからインストール。

xwinサーバを立ちあげる。

startxwin >/dev/null 2>&1

環境変数を設定する。

export DISPLAY=localhost:0.0

gitkを実行すると、まだ、エラーがでる。

Error in startup script: unknown color name “SystemButtonFace”
while executing
“winfo rgb . $c”
(procedure “setui” line 3)
invoked from within
“setui $uicolor”
(file “/usr/bin/gitk” line 11522)

これは古いgitkがあると駄目っぽい。.gitkを削除。

rm ~/.gitk

gitkを再起動して、起動された。

~/.bash_profileに起動のためのコマンド追加

gitkを使おうするたびに、コマンドを叩くのは面倒なので、~/.bash_profileに以下の2つのコマンドを記入する。

startxwin >/dev/null 2>&1
export DISPLAY=localhost:0.0

これで今まで通り、gitkコマンドを叩くだけで、開けるようになった。

gitk

image

環境

$ cygcheck -c cygwin git gitk
Cygwin Package Information
Package Version Status
cygwin 1.7.17-1 OK
git 1.7.9-1 OK
gitk 1.7.9-1 OK

Windows7 64bit