這問題上 Google 找到的回覆是
語法:
From: maxo <maxo@NOSPAMhome.se>
Subject: SOLUTION Firefox 0.9 Linux remote script (how to make default browser)
User-Agent: Pan/0.14.2.91 (As She Crawled Across the Table)
Message-Id: <pan.2004.06.17.03.13.07.166540@NOSPAMhome.se>
Newsgroups: alt.fan.mozilla,alt.os.linux,alt.os.linux.redhat,alt.os.linux.mandrake,comp.os.linux.redhat,linux.redhat.misc
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Lines: 66
Date: Thu, 17 Jun 2004 03:14:29 GMT
NNTP-Posting-Host: 207.69.50.165
X-Complaints-To: abuse@earthlink.net
X-Trace: newsread2.news.pas.earthlink.net 1087442069 207.69.50.165 (Wed, 16 Jun 2004 20:14:29 PDT)
NNTP-Posting-Date: Wed, 16 Jun 2004 20:14:29 PDT
Organization: EarthLink Inc. -- http://www.EarthLink.net
I know this is heavily cross posted, but it seemed like a important enough
thing. ;) :D
For the not so tech savvy: this is how to tell your desktop environment to
launch Firefox when needed from another program, or if it's already
launched, to open a new tab with the requested URL.
Any other Linux users having problems with -remote, I came across a solution on the Firefox Bugs forum.
Before:
CODE
code:
firefox -remote 'ping()'
firefox -remote 'openURL(http://www.somethingawful.com/, new-tab)'
After:
CODE
code:
firefox -a firefox -remote 'ping()'
firefox -a firefox -remote 'openURL(http://www.somethingawful.com/, new-tab)'
In practice you would create a script like this and tell either KDE or
Gnome to use it as the default browser, I call mine .firefox.sh and put it
in my home directory.
this would work for Firefox 0.8 or earlier
#!/bin/sh
MOZILLA="/usr/bin/firefox"
if $MOZILLA -remote "ping()" 2>/dev/null
then
echo "Mozilla already launch"
location=",new-tab"
exec $MOZILLA -remote "openURL($1$location)"
else
exec $MOZILLA "$@"
fi
exit 1
For Firefox 0.9 you would use this
#!/bin/sh
MOZILLA="/usr/bin/firefox"
if $MOZILLA -a firefox -remote "ping()" 2>/dev/null
then
echo "Mozilla already launch"
location=",new-tab"
exec $MOZILLA -a firefox-remote "openURL($1$location)"
else
exec $MOZILLA "$@"
fi
exit 1
I hope this helps.
:D
然後我換湯不換藥的改為
語法:
#!/bin/sh
if /usr/local/firefox/firefox -a firefox -remote 'ping()' 2>/dev/null
then
echo "Firefox already launch"
exec /usr/local/firefox/firefox -a firefox -remote "openURL($1, new-tab)"
else
exec /usr/local/firefox/firefox -a firefox $1
fi
exit 1
最粗淺的作法:
1. 開一個文字檔案命名為 firefox.sh。
2. 將上面短的那組 CODE 完整貼入。
3. 將 firefox.sh 改為可執行。
4. 將 Mozilla Firefox 的圖示指向 firefox.sh。
5. 照常使用,但不會出現要你新增 Profile 的狀況了。
ps. 其中 /usr/local/firefox/firefox 是 Mozilla Firefox 的安裝路徑和執行檔。請依個人環境調整。