Wer viele Browser zur Webentwicklung, oder einfach aus Spaß installiert hat, kennt das Problem.
Ein Link in der Shell per alt+u angesteuert und angeklickt, es gehen auch grafische Anwendungen, und ein anderer Browser öffnet sich, obwohl schon einer offen ist.
Hier springt das Script Browserstart in die Bresche, als definitiver Standardbrowser angegeben, schaut es nach, welcher Browser offen ist und öffnet in jenem ein Tab.
Bei mir ist die Einstellungen, dass wenn kein Browser offen ist, Chromium gestartet werden soll, falls dieser nicht vorhanden ist, bitte den Opera starten.
Am besten legt man sich das Script in sein ~/bin/-Verzeichnis, macht es ausführbar und definiert es als Standardbrowser.
Bei mir ist es z.B. für die Shell:
URxvt.perl-ext-common: url-select
URxvt.keysym.M-u: perl:url-select:select_next
URxvt.underlineURLs: true
URxvt.urlLauncher: /home/seraphyn/bin/browserstart
Enthalten sind die Browser: Opera, Firefox, Google-Chrome, Chromium
Natürlich kann man das Script auch sehr einfach erweitern für z.B. Konqueror, Galeon etc
#!/bin/bash
order=(
opera_new_tab
firefox_new_tab
google_chrome_new_tab
chrome_new_tab
chrome_new_win
opera_new_win
)
function mozlike_new_tab {
if [ "`pidof $2-bin`" ]; then
$2 -new-tab "$1"&
else
return 1
fi
}
# new firefox tab
function firefox_new_tab {
mozlike_new_tab $1 firefox
}
# helper function for firefox_new_win and swiftfox_new_win
function mozlike_new_win {
$2 -new-tab "$1"&
}
# new firefox window
function firefox_new_win {
mozlike_new_win $1 firefox
}
function opera_new_tab {
if [ "`pidof opera`" == "" ]; then
return 1
fi
opera -newpage $1
}
# new opera win
function opera_new_win {
opera -newwindow $1
}
function chrome_new_tab {
if [ "`pidof chromium-browser`" == "" ]; then
return 1
fi
chromium-browser --new-tab $1
}
function chrome_new_tab {
if [ "`pidof chrome`" == "" ]; then
return 1
fi
google-chrome --new-tab $1
}
function chrome_new_win {
chromium-browser --new-window $1
}
for i in `seq 1 ${#order[@]}`;
do
${order[$i-1]} $1 && exit
done