現在很多服務都 Web 化,但是在電腦瀏覽器開很多 Tab,切換無法使用 Alt-Tab 有點麻煩,希望可以將網頁直接變成應用程式,可以直接 Alt-Tab 就切換到直接操作,可以怎麼做呢?
- 註:此篇是將 Facebook (Meta) 的 Messenger (messenger.com) 變成 Ubuntu Linux Xwindow 的 應用程式
Linux 使用 Nativefier 將 Web 服務變成應用程式
Nativefier 官方 GitHub:nativefier/nativefier: Make any web page a desktop application
前置準備與安裝路徑
- 將程式安裝放在:/opt/
- 網路搜尋 Faceook messenger icon,先抓個 png 下來,存成:/home/user/gnome-apps/messenger.png
Linux 的 Facebook Messenger App 製作安裝步驟
- sudo snap install nativefier # 或 sudo npm install nativefier -g
- 操作範例:
- nativefier https://www.messenger.com -p linux
- nativefier -p linux -a x64 -n messenger https://www.messenger.com/
- 操作範例:
- 建立 Messenger App 的命令:nativefier -p linux -a x64 -n messenger --icon /home/user/gnome-apps/messenger.png --internal-urls "messenger.com.*?" --single-instance "https://www.messenger.com/"
- 註:icon 需要放在自己目錄下,icon 會自動 cp 到 resources/app/icon.png
- 要將哪些視窗開啟在同一視窗,要在 internal-urls 設定,多筆用 | 隔開 (若沒有這樣設定 Messenger 會一直開啟外部瀏覽器,會無法登入成功)
- nativefier --name "Gmail" "https://gmail.com" --internal-urls "accounts.google.com|gmail.com"
- 註:這作法的缺點是,裡面點選網址會另外開個小視窗,但是那視窗沒有網址列,可以使用「Ctrl-L」(小寫L) 的快速鍵直接複製網址,在自行貼去瀏覽器
- sudo mv messenger-linux-x64 /opt/ # 把這種額外安裝的軟體都放 /opt 下面
- cd /opt/messenger-linux-x64/
- ./messenger # 就可以直接執行
- 記得登入下方要選「保持登入」
- 於 Ubuntu Gnome 建立 Messenger 快速捷徑
- vim ~/.local/share/applications/messenger.desktop
[Desktop Entry]
Type=Application
Exec=/opt/messenger-linux-x64/messenger --no-sandbox
Name=Facebook Messenger
Icon=/opt/messenger-linux-x64/resources/app/icon.png
- vim ~/.local/share/applications/messenger.desktop
相關網頁
- Nativefier, converts websites into desktop apps in Ubuntu 18.10 | Ubunlog
- How to force to open all links in same window in nativefier?
- --internal-urls examples · Issue #530 · nativefier/nativefier · GitHub
- Nativefier — 將你的網頁變成桌面應用程式
- web applications - What is the easiest way a non-technical person can build a site-specific browser on a Mac using Github's Electron?
- Nativefier_將任何網頁製作成桌面應用程序 - HackMD
- Manually write Messenger Desktop for Linux with Nativefier