Firefox on Linux
| 此處所提及的 Linux 解決方案僅適用於 Debian 系列的、使用 KDE 桌面環境的 Linux 發行版。 |
安裝以及 Profile 相關
使用——
#!/bin/bash
sudo apt remove --autoremove firefox -y
[ -d "$HOME/.mozilla" ] && rm -rf "$HOME/.mozilla"
[ -d "$HOME/.cache/mozilla" ] && rm -rf "$HOME/.cache/mozilla"
sudo apt update
sudo apt install firefox-esr -y
sleep 2
firefox-esr &
sleep 5
pkill -f firefox
來解除現有的 Firefox 安裝,並安裝 Firefox ESR. 安裝完成後會自動開啟 5 秒然後關閉,以確保其預設的 Profile 資料夾建立。之後使用——
#!/bin/bash
PF=$(grep Path= ~/.mozilla/firefox/profiles.ini | grep default-esr | cut -d= -f2)
if [ -d "$HOME/.mozilla/firefox/$PF" ]; then
find "$HOME/.mozilla/firefox/$PF" -mindepth 1 -delete
wget -O /tmp/myfirefoxprofilebackup.7z https://your.domain.com/path/to/your_firefox_profile.7z
7z x -y /tmp/myfirefoxprofilebackup.7z -o"$HOME/.mozilla/firefox/$PF"
chmod -R 755 "$HOME/.mozilla/firefox/$PF"
rm /tmp/myfirefoxprofilebackup.7z
fi
來從 https
| 前述之內容已合併至 inst 一篇,故此處將不再更新,只做為歷史保留。 |
不過,在從網路來源更新 Profile(而不是初始安裝時灌入 Profile)之前,可能還想要將現有資料夾中的 con/ 中並將其設為可執行模式。)
#!/bin/bash
files=("content-prefs.sqlite" "cookies.sqlite" "favicons.sqlite" "formhistory.sqlite" "key4.db" "logins.json" "permissions.sqlite" "places.sqlite")
7z a -t7z -mx=9 -aoa -mfb=273 -md=1024m -ms=on -mqs=on -mtc -mta -mtm -stl -mhe $1 "FxPD_$(date '+%y%m%d-%H%M').7z" "${files[@]}"
#!/bin/bash
PF=$HOME/.mozilla/firefox/$(grep Path= ~/.mozilla/firefox/profiles.ini | grep default-esr | cut -d= -f2)
files=("$PF/content-prefs.sqlite" "$PF/cookies.sqlite" "$PF/favicons.sqlite" "$PF/formhistory.sqlite" "$PF/key4.db" "$PF/logins.json" "$PF/permissions.sqlite" "$PF/places.sqlite")
7z a -t7z -mx=9 -aoa -mfb=273 -md=1024m -ms=on -mqs=on -mtc -mta -mtm -stl -mhe $1 "FxPD_$(date '+%y%m%d-%H%M').7z" "${files[@]}"
使用第一個 bash 檔的好處是,它可以打包任意位址的 Firefox 或者 Firefox-based 瀏覽器的 Profile 資料夾中的這八個檔案,只要手動進入 Firefox 或者 Firefox-based 瀏覽器的 Profile 資料夾所在之處,便可簡單地使用 fpk 來打包。而第二個 bash 檔則鎖定了 Mozilla Firefox 這款瀏覽器在作業系統內的預設位址所建立的屬於 Firefox ESR 的預設 Profile 資料夾。用第二個的好處是,可以在任意位址開啟命令提示然後使用 fpk-f 來將這一預設 Profile 資料夾內的這八個檔案打包到在地。
無論使用哪一個,都可在輸入 fpk 或 fpk-f 時透過追加 -p 來令 7z 提示請求為壓縮檔設定密碼,或者直接使用比如 -p123WSX 來為壓縮檔設定密碼為 ‘123WSX’.
CSS Modification
在 Windows 下做好的 Firefox Profile 可直接放到 Linux 下面去使用,反之亦然。(但對於另一款我連名字都不想提的十分難用的反人類作業系統則不然,嘗試將別的作業系統下做好的 Firefox Profile 直接放過去會有無盡的問題。)唯 CSS 部分需要在已經調好的 Windows 版本上再做一些小的修改(Windows 下的 CSS 調修可參照此篇):
首先將 user
/* @import "./css/appbutton/appbutton_in_titlebar.css"; /**/
然後在 Windows 版的 mypadding-inline-start: 21px;, 具體來說就是要修改下面這些(淡黃色背景突顯列為比照 Windows 版本新加的)——
| 自 Firefox 140 起已無需做此部分修改,因為在 Linux 上已無法實現令圖示與文字分別對齊(或者說實現起來巨麻煩)。 |
#copytabtitleurl_bugbugnow_net-menuitem-_menu0::after {
content: "Both";
display: -moz-box;
padding-inline-end: 0.8rem;
padding-inline-start: 21px;
}
#copytabtitleurl_bugbugnow_net-menuitem-_menu1::after {
content: "Title(s) only";
display: -moz-box;
padding-inline-end: 0.8rem;
padding-inline-start: 21px;
}
#copytabtitleurl_bugbugnow_net-menuitem-_menu2::after {
content: "URL(s) only";
display: -moz-box;
padding-inline-end: 0.8rem;
padding-inline-start: 21px;
}
#context-openlinkprivate {
-webkit-box-ordinal-group: -11 !important;
-moz-box-ordinal-group: -11 !important;
-box-ordinal-group: -11 !important;
order: -11 !important;
}
#context-openlinkprivate label {
visibility: collapse !important;
display: none !important;
}
#context-openlinkprivate::after {
content: "Open in Private Window";
display: -moz-box;
padding-inline-start: 21px;
}
#context-stripOnShareLink label {
visibility: collapse !important;
display: none !important;
}
#context-stripOnShareLink::after {
content: "Copy Clean Link (U)";
display: -moz-box;
padding-inline-start: 21px;
}
#strip-on-share label {
visibility: collapse !important;
display: none !important;
}
#strip-on-share::after {
content: "Copy Clean (N)";
display: -moz-box;
padding-inline-start: 21px;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-url-wayback label {
visibility: collapse !important;
display: none !important;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-url-wayback::after {
content: "Wayback Machine";
display: -moz-box;
padding-inline-end: 0.8rem;
padding-inline-start: 21px;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-url-archive label {
visibility: collapse !important;
display: none !important;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-url-archive::after {
content: "archive.today";
display: -moz-box;
padding-inline-end: 0.8rem;
padding-inline-start: 21px;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-url-ghost-archive label {
visibility: collapse !important;
display: none !important;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-url-ghost-archive::after {
content: "Ghost Archive";
display: -moz-box;
padding-inline-end: 0.8rem;
padding-inline-start: 21px;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-url-both label {
visibility: collapse !important;
display: none !important;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-url-both::after {
content: "All above";
display: -moz-box;
padding-inline-end: 0.8rem;
padding-inline-start: 21px;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-image-url-wayback label {
visibility: collapse !important;
display: none !important;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-image-url-wayback::after {
content: "Image > Wayback Machine";
display: -moz-box;
padding-inline-end: 0.8rem;
padding-inline-start: 21px;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-link-url-wayback label {
visibility: collapse !important;
display: none !important;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-link-url-wayback::after {
content: "Link > Wayback Machine";
display: -moz-box;
padding-inline-end: 0.8rem;
padding-inline-start: 21px;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-image-url-archive label {
visibility: collapse !important;
display: none !important;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-image-url-archive::after {
content: "Image > archive.today";
display: -moz-box;
padding-inline-end: 0.8rem;
padding-inline-start: 21px;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-link-url-archive label {
visibility: collapse !important;
display: none !important;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-link-url-archive::after {
content: "Link > archive.today";
display: -moz-box;
padding-inline-end: 0.8rem;
padding-inline-start: 21px;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-image-url-ghost-archive label {
visibility: collapse !important;
display: none !important;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-image-url-ghost-archive::after {
content: "Image > Ghost Archive";
display: -moz-box;
padding-inline-end: 0.8rem;
padding-inline-start: 21px;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-link-url-ghost-archive label {
visibility: collapse !important;
display: none !important;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-link-url-ghost-archive::after {
content: "Link > Ghost Archive";
display: -moz-box;
padding-inline-end: 0.8rem;
padding-inline-start: 21px;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-image-url-both label {
visibility: collapse !important;
display: none !important;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-image-url-both::after {
content: "Image > All above";
display: -moz-box;
padding-inline-end: 0.8rem;
padding-inline-start: 21px;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-link-url-both label {
visibility: collapse !important;
display: none !important;
}
#_save-url-to-wayback-machine-firefox-addon-menuitem-_archive-link-url-both::after {
content: "Link > All above";
display: -moz-box;
padding-inline-end: 0.8rem;
padding-inline-start: 21px;
}
[id^="_ee9507aa-5b54-4548-a8b1-f1840b6d5c26_"] label {
visibility: collapse !important;
display: none !important;
}
[id^="_ee9507aa-5b54-4548-a8b1-f1840b6d5c26_"]::after {
content: "Background Image";
display: -moz-box;
padding-inline-end: 0.8rem;
padding-inline-start: 21px;
}
這裡當然可以 consolidate 一下,原版其實也可以 consolidate, 但是我懶得動了。
由於在 Linux 上的 Firefox 最好不要去用那個「復刻版」的「Firefox 按鈕」,因此有關 appbutton 的那些 CSS 修改可以完全跳過——如果是參照此篇來新建 Profile 並新(改)寫 CSS 的話。但是如果是直接使用已經改好的 Windows 版的 CSS 檔案,則改動過的 appbutton 部分因為也用不到,倒也沒有必要「恢復原樣」。