【お知らせ】


<2015/06/20 追記>
バッチファイルからシェルスクリプトを起動する方法を変更しました。

【本題】



(方法1)で紹介したラッパースクリプトを使わない方法を紹介します。

※ 以下に紹介するスクリプトでは、Windows の setx コマンドを使っています。
  このコマンドは、Windows XP には標準装備されていないコマンドとなりますので、追加インストールが必要となります。
  http://www.atmarkit.co.jp/fwin2k/win2ktips/1003setx/setx.html



案1) win-ssh-agent.exe を使う。
    http://d.hatena.ne.jp/ganaware/20111102/1320222616


案2) 以下のスクリプトを作成し、Emacs 起動前に一度だけ batファイルを起動する。

■ ssh-agent.exe を使う場合

1) 次のスクリプトを作成する。

~/bin/win-ssh-agent.sh
#!/bin/sh

ps | grep -q 'ssh-agent$'

if [ $? -ne 0 ]; then
    eval `ssh-agent -s` > /dev/null
    ssh-add
    /c/Windows/system32/setx SSH_AGENT_PID "$SSH_AGENT_PID"
    /c/Windows/system32/setx SSH_AUTH_SOCK "$SSH_AUTH_SOCK"
fi

win-ssh-agent.bat ← デスクトップなどに置く
<Cygwin のインストールパス>/bin/bash -c "PATH=/bin:/home/bin win-ssh-agent.sh"
pause

2) Emacs 起動前に、一度だけ win-ssh-agent.bat を実行する。


■ ssh-pageant.exe を使う場合

1) ~/bin に ssh-pageant.exe を格納する。
 https://github.com/cuviper/ssh-pageant/downloads

2) 次のスクリプトを作成する。

~/bin/win-ssh-pageant.sh
#!/bin/sh

ps | grep -q 'ssh-pageant$'

if [ $? -ne 0 ]; then
    eval `~/bin/ssh-pageant -s -q`
    /c/Windows/system32/setx SSH_PAGEANT_PID "$SSH_PAGEANT_PID"
    /c/Windows/system32/setx SSH_AUTH_SOCK "$SSH_AUTH_SOCK"
fi

win-ssh-pageant.bat ← デスクトップなどに置く
<Cygwin のインストールパス>/bin/bash -c "PATH=/bin:/home/bin win-ssh-pageant.sh"
pause

3) Emacs 起動前に、一度だけ win-ssh-pageant.bat を実行する。


<変更履歴>
  • 2015/06/20 バッチファイルからシェルスクリプトを起動する方法を変更した。