2022年5月13日 星期五

VNC 之 firefox 開錯門

兩種 「人力 bit」 模型 在資訊領域好東西的聲量往往輸給商業宣傳包裝過的次級品。 (望向微軟) 例如 X Window 跨網路執行應用軟體的能力,早在三十年前或更早就已存在。 比方說在甲電腦啟動 vnc 服務tigervncserver -geometry 800x600 :59 然後在乙電腦開啟 vnc 遠端連線: xtigervncviewer 甲電腦的IP:59 那麼你在 vnc 的命令列上可以決定下一個指令的視窗要開在本地 (乙電腦) 還是遠端 (甲電腦)。 如果沒有指定, 系統會查看 $DISPLAY 環境變數, 預設開在本地。 如果設定 export DISPLAY=:0 則會開在遠端甲電腦的視窗環境裡面。 右圖顯示的是本機連到本機的狀況, 你可以看得出來看圖軟體 feh 的兩個視窗, 一個開在 (乙電腦的) vnc viewer 裡面 (calf.jpg) 另一個則因為這樣啟動: DISPLAY=:0 feh excited-anna.png 而開在外面 (甲電腦)。 [補充說明: vnc 大約是 2000 前後的東西, 只是因為拿它來解說 X 的遠端執行功能比較方便。]

X Window 絕大多數的圖形介面軟體都是這樣運作; 但 firefox 卻不是。 在乙電腦的 vnc viewer 視窗裡面啟動 firefox 的時候, 它總是會開錯門、 進到甲電腦的視窗環境去。 這個問題困擾我很久, 最近終於搜尋到 答案: 啟動命令的時候這樣下: firefox -no-remote 就成功地讓 firefox 開在乙電腦的 vnc viewer 連線視窗裡面。 如果甲電腦原先已經有 firefox 在執行, 可能會失敗。 這時需要先關掉甲電腦的 firefox; 或是先用 firefox -p 建立一個新的 profile, 然後才能叫 firefox 用這個新的身份在乙電腦裡開啟第二個 firefox 視窗。

沒有留言:

張貼留言

因為垃圾留言太多,現在改為審核後才發佈,請耐心等候一兩天。