Ubuntu

如何在 Ubuntu 的 Firefox 52 中使用 Java 外掛?

  • April 6, 2019

我正在使用 Ubuntu Mate Xenial,但找不到在 Firefox 52 中執行 Java 的方法。

Firefox在版本 52 中禁用了 NPAPI 外掛,但 Flash 外掛除外。這意味著您不能再使用 Java 外掛。

要繼續使用 Java 外掛,您需要切換到仍然支持它的 Firefox 52 ESR。

如果您希望繼續使用目前(最新)版本的 Firefox,但同時安裝 Firefox 51(FF 51),那麼您可以在需要使用 JRE(Java NPAPI)外掛時使用 FF 51 ,您可以按照以下步驟操作:

  1. 以普通使用者(不是 root / 超級使用者!)身份打開 shell 終端視窗,然後執行此命令以創建“應用程序”文件夾:
mkdir ~/applications
  1. 現在關閉所有 Firefox 實例(windows),然後執行這個 shell 命令,以下載並安裝 FF 51 壓縮包,然後刪除 FF 51 自動更新程序:
sudo killall firefox ; if [ `getconf LONG_BIT` == 64 ]; then wget https://ftp.mozilla.org/pub/firefox/releases/51.0/linux-x86_64/en-US/firefox-51.0.tar.bz2 -O ~/applications/ff51.tar.bz2; else wget https://ftp.mozilla.org/pub/firefox/releases/51.0/linux-i686/en-US/firefox-51.0.tar.bz2 -O ~/applications/ff51.tar.bz2; fi; cd ~/applications ; tar -xvf ~/applications/ff51.tar.bz2 ; rm ~/applications/ff51.tar.bz2 ~/applications/firefox/updater*
  • 注意:上述命令下載的是美國英語 ( en-US) 的 FF 51。例如,如果您想要巴西葡萄牙語版本,請在上面的命令中替換en-USpt-BR。同樣的邏輯也適用於其他語言。可在此處找到可用於 FF 51 的 ISO 語言國家程式碼的完整列表。
  1. 下一個命令將為您的自定義 FF 51 安裝創建外掛文件夾。
if [ ! -d ~/.mozilla ]; then mkdir ~/.mozilla; fi; if [ ! -d ~/.mozilla/plugins ]; then mkdir ~/.mozilla/plugins; fi; chmod -R 770 ~/.mozilla
  1. 現在,假設您使用的是 JRE(不是 JDK),執行此命令以在FF 51 外掛文件夾中創建指向 JVM(Java 虛擬機)二進製文件( java文件)的符號連結:
if [ `getconf LONG_BIT` == 64 ]; then sudo ln -sf $(echo $(which java) | rev | cut -c10- | rev)/lib/amd64/libnpjp2.so ~/.mozilla/plugins/sunjava; else sudo ln -sf $(echo $(which java) | rev | cut -c10- | rev)/lib/i386/libnpjp2.so ~/.mozilla/plugins/sunjava; fi
  1. 在內部創建一個指向 FF 51 的符號連結,/usr/bin/以便在執行命令firefox51時終端啟動 FF 51:
sudo ln -sf ~/applications/firefox/firefox /usr/bin/firefox51
  1. 好的!現在讓我們啟動 Firefox 的配置文件管理器:
firefox51 -P
  1. 會出現一個視窗。確保該Work offline未選中(未標記)並且該Use the selected profile without asking at startup框已選中(標記)。另外,請注意該列表已經有一個default配置文件:這是 Firefox 的標準配置文件,所以它應該保留。

在同一視窗中,點擊Create Profile...,然後點擊Next,轉到Enter new profile name:並鍵入ff51。之後,點擊Finish

請注意,現在ff51選擇了配置文件,這使其成為新的標準配置文件。但這是錯誤的。因此,default再次選擇配置文件並(僅)然後點擊Exit。 8. 現在執行此命令以使用新ff51配置文件啟動 FF 51:

firefox51 -P ff51
  1. 現在您正在執行 FF 51,打開about:config URL(這是 Firefox 的配置頁面),取消選中該Show this warning again框並點擊I accept the risk!,然後轉到Search:並鍵入app.update.enabled(此參數定義 Firefox 是否應搜尋更新)。如果app.update.enabled存在且其屬性為true,請點兩下它以將此屬性更改為false(您也可以右鍵點擊它然後選擇Toggle,以反轉其值)。
  2. 對參數重複相同的過程app.update.enabled:如果它可用且其屬性為true,則將其屬性更改為false
  3. 現在該配置文件ff51已創建並配置為永遠不會讓 FF 51 執行自動自我更新,關閉所有 FF 51 視窗,讓我們進行一些測試!
  4. 如果您啟動目前的 Firefox,about:support URL 必須向您顯示您正在執行最新的 Firefox 版本,about:profiles必須向您顯示目前使用的配置文件是default,並且about:config必須向您顯示參數app.update.enableapp.update.auto被設置為true

如果您關閉系統上安裝的目前(最新)Firefox 版本,然後啟動 Firefox 51(您可以通過執行 shell 命令來完成firefox51 -P ff51),那麼about:support URL 必須顯示您正在執行 Firefox 版本51.0,about:profiles必須向您顯示目前使用的配置文件是ff51,並且about:config必須向您顯示參數app.update.enableapp.update.auto都設置為false

關閉所有 Firefox 視窗,然後執行 shell 命令firefox並轉到about:preferences#advanced,點擊Update選項卡並確保Automatically install updates (recommended: improved security)已選中(如果未選中,請選擇它),因為您目前的 Firefox 必須使用default配置文件執行,並且此類配置文件必須設置為使 Firefox 自動執行其自我更新。如果這樣的框不可見,則意味著 Firefox 已經配置為執行自動自我更新,並且此配置受到保護,不會被修改。

現在您目前的Firefox 已正確配置,關閉它並firefox51 -P ff51再次執行,然後轉到about:preferences#advanced,點擊Update選項卡並確保該框Never check for updates (not recommended: security risk)已選中(如果未選中,請選中它),因為您的 FF 51必須使用“替代”配置文件執行安裝,ff51並且必須將此類配置文件設置為拒絕自動自我更新。

PS:如果FF 51上彈出一個視窗要求您重新啟動瀏覽器以便它可以應用更新,請不要擔心:只需點擊“重新啟動”按鈕即可。由於之前已刪除 FF 51 更新程序,因此 FF 51 將無法自行更新。

保持 FF 51 打開並使用 profile ff51,然後轉到about:support並確保您真正使用的是 FF 版本51.0(這是完整/正確的版本號)。此外,如果檢測到 NPAPI JRE 外掛,那麼如果您轉到about:plugins,您將Java(TM) Plug-in在那裡看到一個文本。您可以訪問https://www.java.com/pt_BR/download/installed8.jsp以檢查您的 FF 51 瀏覽器是否確實檢測到並能夠執行 NPAPI Java 外掛。

如果 Java 外掛不能正常工作,可能是被阻止了:只需轉到about:addons,點擊Plugins選項卡,然後在 Java 外掛行中選擇Always activate選項。 13. 從現在開始,每次需要執行 Firefox 51 時,只需打開一個 shell 終端視窗並執行以下命令:

firefox51 -P ff51
  1. 您還可以firefox51.desktop在 下創建一個文件/usr/share/applications/,該文件被許多 Linux 發行版檢測為“應用程序”文件夾,並且可能(不是 100% 肯定)使您的 FF 51 安裝在您的發行版的應用程序菜單的某處可見(假設您的 Linux 發行版執行DE - 桌面環境)。

如果您不知道如何創建.desktop文件並想使用 shell 命令來嘗試(不一定成功)創建此類文件,請執行以下 shell 命令:

sudo cp `find /usr/share/applications -iname '*firefox*.desktop' -print -quit` /usr/share/applications/firefox51.desktop ; sudo sed -i -e 's|Exec=firefox \%u|Exec=firefox51 -P ff51 \%u|' "/usr/share/applications/firefox51.desktop" ; sudo sed -i -e 's|Exec=firefox -new-window|Exec=firefox51 -P ff51 -new-window|' "/usr/share/applications/firefox51.desktop" ; sudo sed -i -e 's|Exec=firefox -private-window|Exec=firefox51 -P ff51 -private-window|' "/usr/share/applications/firefox51.desktop" ; sudo sed -i -e 's|Firefox|Firefox 51|' "/usr/share/applications/firefox51.desktop"
  • 注意:如果你想讓上面的“超級命令”有一點機會工作,你必須安裝目前版本的 Firefox,因為上面的命令做的第一件事就是在 中查找firefox.desktop文件/usr/share/applications/,並且唯一的如果您安裝了目前的 Firefox 版本(FF 51 除外),則存在此類文件的機會。
  1. 如果啟動器成功創建(並正確配置),Linux 發行版 DE 的應用程序菜單將顯示一些應用程序啟動器,其名稱為“Firefox 51”或類似名稱。此啟動器將始終使用替代配置文件啟動 Firefox 51,ff51並且此 FF 51 安裝將永遠不會嘗試自我更新(即使這樣做,它也會失敗……)。只要您保持 JRE 更新並且其外掛具有指向 的符號連結~/.mozilla/plugins/sunjava,您的 FF 51 安裝將能夠在網站請求時執行 Java/JRE NPAPI 外掛。

腳註

  • 如果您想查看about:Firefox 使用的 URL 的完整列表,只需轉到about:about。我特別發現about:moz​​illa非常有趣(同時也很奇怪)。
  • “能力越大,責任越大”:一些about:URL 可以讓你做一些可以破壞你的瀏覽器的事情。當心。你被警告了。

引用自:https://unix.stackexchange.com/questions/353445