web-dev-qa-db-ja.com

アイスウィーゼルの代わりにダウンロードしたFirefoxをFirefoxコマンドで実行する

Firefoxをダウンロードしましたが、でfirefoxを実行すると Alt+F2 (Gnome 3.4.2)、代わりにIceweaselが実行されます。 typeコマンドを使用して、これに明らかに関与しているファイルを見つけました。

#!/bin/sh

FIREFOX="$(which $0)"
[ -x "$FIREFOX.real" ] && exec "$FIREFOX.real" "$@"

exec iceweasel "$@"

簡単な解決策は、最後の行を次のように置き換えることです。

exec [location of downloaded firefox] "$@"

firefoxiceweaselの代わりにダウンロードしたFirefoxのコピーを実行するようにする別の方法はありますか?

3
user296844

マシン上のすべてのユーザーの場合:/usr/binへの書き込み

スクリプト自体は、iceweaselの代替を提供する方法を提案しています。スクリプトは/usr/bin/firefoxと呼ばれていると思います。したがって、ライン

FIREFOX="$(which $0)"

FIREFOX/usr/bin/firefoxに設定します。したがって、$FIREFOX.real/usr/bin/firefox.realになります。この線

[ -x "$FIREFOX.real" ] && exec "$FIREFOX.real" "$@"

.realサフィックスが付いた実行可能ファイルが存在するかどうかを確認し、それを実行します。見つからない場合は、iceweaselにフォールバックします。したがって、iceweaselをバイパスするには、firefox.realを作成する必要があります。

Sudo ln -sT "$location_to_firefox" /usr/bin/firefox.real

/usr/binに書き込むには、root権限が必要であることに注意してください。

自分のためだけに:~/binへの書き込み

Firefoxをホームディレクトリのどこかにダウンロードした場合は、この方法を使用してください。 Debianはデフォルトで設定されているため、$HOMEディレクトリにbinディレクトリがある場合、パスの先頭に追加されます。したがって、あなたがしなければならないのは:

mkdir -p ~/bin && ln -sT "$location_to_firefox" ~/bin/firefox

そのシンボリックリンクが配置されると、/usr/bin/firefoxが上書きされます。変更を有効にするには、ログアウトしてから再度ログインします。確認するには、command -v firefoxを実行し、Firefoxへのパスが~/binディレクトリに出力されることを確認します。

3
jw013

特にgnomeの場合、gnome-www-browserと呼ばれるDebianの代替構成があります。 Debianの代替案は、特定の機能に対して可能なサイト全体の代替案のセットを定義する方法を提供します。 gnomeブラウザーの場合、ブラウザーが必要になるか呼び出されるたびにデスクトップによって起動されるブラウザーへのシンボリックリンクにすぎません。

/usr/sbin/update-alternatives(8)を使用して、構成、使用可能なオプションの一覧表示、オプションの追加と削除を行うことができます。例えば:

# update-alternatives --list gnome-www-browser
/usr/bin/chromium
/usr/bin/iceweasel
/usr/bin/opera

それで、あなたが/opt/firefoxに最新のFirefoxバイナリをインストールしたばかりで、それをすべてのgnomeユーザーのデフォルトブラウザとして設定したいとします。まず、利用可能なブラウザのリストにその新しいバイナリを追加する必要があります。

# update-alternatives --install /usr/bin/gnome-www-browser gnome-www-browser /opt/firefox/firefox 100

# update-alternatives --list gnome-www-browser
/opt/firefox/firefox
/usr/bin/chromium
/usr/bin/iceweasel
/usr/bin/opera

# update-alternatives --display gnome-www-browser
gnome-www-browser - auto-mode
  link currently points to /usr/bin/opera 
/opt/firefox/firefox - prority 100
/usr/bin/chromium - priority 40
/usr/bin/iceweasel - priority 70
  slave gnome-www-browser.1.gz: /usr/share/man/man1/iceweasel.1.gz
/usr/bin/opera - priority 200
  slave gnome-www-browser.1.gz: /usr/share/man/man1/opera.1.gz
Current 'best' version is '/usr/bin/opera'

ご覧のとおり、各オプションは特定の優先度に関連付けられています。これは、代替がautoモードで動作しているときに、選択されるオプションを定義します。また、Firefoxの優先度を100に定義し、operaパッケージが優先度200(!)でインストールされ、自動モードのデフォルトになっていることもわかります。引き継ぐオプションを設定して、その決定を上書きします。

# /usr/bin/update-alternatives --set gnome-www-browser /opt/firefox/firefox

# update-alternatives --display gnome-www-browser
gnome-www-browser - manual-mode
  link currently points to /opt/firefox/firefox 
/opt/firefox/firefox - prority 100
/usr/bin/chromium - priority 40
/usr/bin/iceweasel - priority 70
  slave gnome-www-browser.1.gz: /usr/share/man/man1/iceweasel.1.gz
/usr/bin/opera - priority 200
  slave gnome-www-browser.1.gz: /usr/share/man/man1/opera.1.gz
Current 'best' version is '/usr/bin/opera'

リンクとモードの両方が更新されていることがわかります。

ボーナスとして、を使用してfirefoxを起動する必要はありません alt-F2 もう。

1
didierc