一直在想可不可以用文字終端機打指令上網,因為現在的瀏覽器都太肥了,Firefox和Chrome皆然。我們的老祖宗(其實也才30年前)都是用DOS文字介面上Telnet BBS的。
FYI:現在台灣PTT(中國人稱陰間論壇)用SSH指令ssh bbsu@ptt.cc也可以上喔!不用開網頁版。在只能用SSH的工作階段也能上去發廢文。畢竟Linux版PcMan年久失修…還在用GTK2真不想下載。但依照終端機的不同,可能會無法顯示中文字。
那我們沒理由不能用Linux終端機看網頁。
現在主流的社群媒體網站,大概只有Hacker News和old.reddit.com是能用終端機瀏覽的了吧。其他的網站都太「臃腫」了。看看這個motherfucking website,你不需要網頁框架也能做好網站!去你媽的。
老實說,我的網站雖然注重簡潔,可是也不太能用終端機檢視。
看看Linux有哪些終端機瀏覽器。這些瀏覽器方案可比主流的瀏覽器要輕量多了呢。這些文字瀏覽器不依賴X11或Wayland視窗系統就能用,甚至你在SSH遠端工作的時候可以開來偷摸魚一下。這些輕量的瀏覽器對資源拮据的老電腦也有用。啊,不過你要檢視網頁下載的檔案的話,可能還是需要一個圖形環境。
各大Linux發行版多半有收錄這些套件。文字終端機的特色就是全部用鍵盤操作,可不是點一點就能上網了。如果你會用Vim這類編輯器的話,通常看一下程式裡面附贈的manpage你就會很快上手了。
偽裝成文字編輯器的作業系統Emacs有內建EWW文字瀏覽器,Lynx是現存最古老的文字瀏覽器。這兩個只能看Web 1.0時代的網頁,或者純文字的HTML網頁。用這個上網世界一片黑暗,人生是黑白的,瞬間倒退回30年前。
w3m則是支援CSS排版的文字瀏覽器,文字版面比較接近真正網頁的樣子,當然文字以外的地方要靠想像力。w3m還可以顯示網頁圖片。這需要終端機支援Terminal graphics protocol,例如Kitty + ImageMagick可以在終端機內繪製完整解析度的圖片。或者使用Sixel像素畫呈現。播放影片的話,透過w3m載入外部程式的方式,點選特定網址後丟給mpv播放即可。
這大概是勉強能用的文字瀏覽器,有基本瀏覽資料的功能又能看圖,讓網路世界不那麼灰暗,RAM佔用不到100MB。
現代,還有終端機渲染全彩網頁的例子。
例如這個Browsh,將headless Firefox的畫面串流到終端機裡面 ~ 這可以確保JavaScript和CSS排版運作。不過這樣會啟動一個Firefox實例,雖然在背景執行,但RAM佔用就趨近正常的Firefox了呀。
比Browsh更進階的有基於Chromium的Carbonyl,沒有跑一個瀏覽器實例,而是渲染後傳到終端機裡面,讓WebGL運作並用Unicode顯示字元。除了文字以外元素都是馬賽克。RAM佔用不到100MB。且SSH工作階段也能用。可我不知道為什麼我打中文都會變成韓文。實用性不高,純炫技用的。
唉,或許得拋棄用一個文字瀏覽器全包的想法,而是給各自的網站都安裝一個TUI程式去顯示比較好。例如,Reddit、YouTube、Spotify、Discord這類對第三方API開放的網站都有對應的TUI程式可以處理。Github上面一搜一大把。
例如這是Rust寫的youtube-tui
不過不是所有網頁都能用文字TUI呈現呀!
真的需要瀏覽器的話,我想想喔,不如開一個極簡瀏覽器吧。比如Qutebrowser視窗很簡單,只有顯示網頁的功能,其餘功能都要用Vim快捷鍵操作。這就還可以吧!這個Qutebrowser可以完全不用滑鼠瀏覽網頁內容,按組合鍵就能點選網頁上任一元素。
不過這個用的是QtWebEngine渲染分頁,載入完整網頁的話,瀏覽器RAM佔用就跟一般Chromium瀏覽器無異了。
看來我們還是需要完整瀏覽器。


