Ubuntu12.10のデフォルトブラウザとしてChromeを使用しています。ビジネス目的でFirefoxを使用する必要があります(私の仕事に関連する特定のWebサイトはFirefoxでのみ機能します)。Ubuntuを強制する方法はありますか? Chromeを他のすべてのタスクのデフォルトブラウザとして維持しながら、特定の種類のURL(おそらく通常の式で定義されている)にFirefoxを使用するには?おそらくバックグラウンドで実行されるシェルスクリプトとして?Iこれをシステム全体で機能させ、Chrome自体やPDF/ODTなどからのリンクをカバーします。
私は解決策を探しましたが、他のブラウザで特定のリンクを開くためのボタンを追加するFirefox拡張機能であるOpenWith以外に何も見つかりませんでした。これは、事前にFirefoxを開く必要があり、まったく役に立ちません。
誰かアイデアはありますか? Linuxの場合は Choosy のようなものですか?
「お気に入り」プログラムでリソースを開くLinuxの実行可能ファイルは、xdg-open
と呼ばれます。やや複雑ですが、xdg-mime install
を使用してルールを追加できます。ただし、特定のURLのようなものに対してこれを実行できるかどうかはわかりません。
これは、特定のデスクトップ環境がデフォルトのプログラムを開くために異なる実行可能ファイルとメソッドを使用するという点でさらに複雑になります。たとえば、KDEにはkde-open
がありますが、すべてのKDEアプリケーションがこれを使用しているわけではないようです。
とにかく、シェルスクリプトとファイル内のドメイン/ URLのリストを使用するだけで、これは部分的に機能しました。あなたはそれをあなたの好みに微調整することができます。
注:デスクトップ環境によっては、mayが他の実行可能ファイルに対してこのプロセスを繰り返す必要がある場合があります。たとえば、Gnomeにはgvfs-open
、KDEにはkde-open
、XFCEにはexo-open
があります。 (それでも、すべてのアプリケーションで機能するとは限りません。)
注:シェルスクリプトは、システムにインストールされているpcregrep
に依存します。
xdg-open
実行可能ファイルを見つける
which xdg-open
ホームフォルダに新しいディレクトリを作成します
mkdir -p ~/.local/bin
~/.bashrc
ファイルに以下を追加します
〜/ .bashrc
export PATH="${HOME}/.local/bin:${PATH}"
新しく作成したフォルダにシェルスクリプトを作成します。 (システムに適したものになるように、必ず上位4つの変数を編集してください!)
〜/ .local/bin/xdg-open
#!/bin/bash
DOMAIN_LIST_FILE=~/'domains.txt'
OTHER_BROWSER='/path/to/other-browser' # For instance /usr/bin/firefox
BROWSER_OPTIONS='' # Optional, for command line options passed to browser
XDG_OPEN='/path/to/xdg-open'
if echo "$1" | pcregrep -q '^https?://'; then
matching=0
while read domain; do
if echo "$1" | pcregrep -q "^https?://${domain}"; then
matching=1
break
fi
done < "$DOMAIN_LIST_FILE"
if [[ $matching -eq 1 ]]; then
"$OTHER_BROWSER" $BROWSER_OPTIONS ${*}
exit 0
fi
fi
"$XDG_OPEN" ${*}
ホームフォルダにドメインのリストを作成します
〜/ domains.txt
stackexchange.com
stackoverflow.com
superuser.com
ログアウトしてから再度ログインすると、設定が有効になります