私は単純なシェルスクリプトを持っています:
#!/bin/zsh
URL=$1
function findBrowser {
processName=$1
ps ax | grep "$processName" | grep -v grep | wc -l
}
CNTFF=`findBrowser "firefox"`
CNTCH=`findBrowser "chromium"`
echo "$*" > $HOME/logurls
if [ $CNTFF -ge 1 ]
then
/usr/bin/firefox "$URL"
elif [ $CNTCH -ge 1 ]
then
/usr/bin/chromium "$URL"
else
echo "No running browser instance"
fi
URL を引数としてコマンド ラインから呼び出された場合、すべてが正常に機能します。しかし、urxvt の構成でスクリプトを指定すると、URL は渡されません (ログ URL をチェックしています)。
urxvt の構成は次のとおりです。
URxvt.perl-ext-common: default,matcher,clipboard
URxvt.matcher.button: 1
URxvt.urlLauncher: $HOME/bin/openurl
最も奇妙なことは、urlLauncher を /usr/bin/firefox に変更すると、何らかの形で URL が開くことです。そのため、URL は Firefox に渡されているようですが、スクリプトには渡されていません。
それをデバッグする方法は何ですか?または、urxv について何か不足していますか?
$HOME/bin / openurlの代わりに/home/user/bin/openurlを指定するとうまくいきます