マシン上のすべてのユーザー向け: 書き込み先/usr/bin

マシン上のすべてのユーザー向け: 書き込み先/usr/bin

Firefox をダウンロードしましたが、(Gnome 3.4.2)firefoxで実行すると、代わりに Iceweasel が実行されます。この問題の原因と思われるファイルを見つけるために、次のコマンドを使用しました。Alt+F2type

#!/bin/sh

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

exec iceweasel "$@"

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

exec [location of downloaded firefox] "$@"

firefoxではなくダウンロードした Firefox のコピーを実行する別の方法はありますかiceweasel?

答え1

マシン上のすべてのユーザー向け: 書き込み先/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

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

自分だけのために:~/bin

binFirefox をホーム ディレクトリのどこかにダウンロードした場合は、この方法を使用します。Debian はデフォルトで、ディレクトリ内にディレクトリがある場合はパスの先頭に追加されるように設定されています$HOME。したがって、必要な操作は次のとおりです。

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

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

答え2

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

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

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

では、 に最新の Firefox バイナリをインストールし/opt/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'

ご覧のとおり、各オプションは特定の優先順位に結びついており、代替案が機能しているときに自動車モードは、どのオプションが選択されるかを定義します。また、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

関連情報