xterm.js 主控台為什麼是灰色的,以及真正需要的是哪一種主控台

Proxmox 提供不只一種進入執行中客體的方式,而大家最常想用的那一種,卻常常在沒有任何說明的情況下無法使用。變成灰色的選項並沒有壞,它在等兩項設定:一項在主機上,一項在客體內部。

AtlasPVE ·

本條目涵蓋以下問題

  • proxmox xterm js 反灰
  • proxmox xterm js 無法使用
  • proxmox novnc 和 spice 差別
  • proxmox 文字終端機與圖形主控台
  • proxmox 序列主控台

打開虛擬機器的主控台選單,其中一個選項是灰色的。沒有任何說明。換到旁邊那台虛擬機器,同一個選項卻能用。

這不是故障。Proxmox VE 提供了好幾扇通往執行中客體的門,它們不能互相替代,其中一扇還有前提條件,而且因為沒有任何提示,很容易被忽略。

這幾扇門,以及每一扇究竟是什麼

圖形主控台。這是虛擬機器上永遠能用的那一種。它在瀏覽器中繪出客體模擬出來的螢幕畫面,就和實體機器接上螢幕時看到的一模一樣。它不需要任何設定,因為模擬的顯示卡永遠都在。

SPICE。一種功能更豐富的遠端顯示協定,適合需要讓桌面客體有更好效能、聲音或本機裝置重新導向的時候。它需要在自己的電腦上安裝用戶端應用程式,客體也要設定合適的顯示類型,所以它是刻意的選擇,而不是預設值。

序列終端機。純文字的主控台,完全不涉及圖形。會變成灰色的就是這一種。

容器主控台。容器完全不模擬硬體,所以它的主控台是完全不同的機制。這就是為什麼容器的主控台無法使用,和虛擬機器的主控台無法使用,是兩個不同的問題,答案也不同。

文字主控台為什麼無法使用

它需要序列埠,而除非有人加上,否則虛擬機器並沒有序列埠。沒有序列埠,就沒有序列主控台,選單中的選項也就直接變成灰色。

在用來驗證這一點的主機上,八台虛擬機器中有四台完全沒有序列埠。在這四台上,這個選項永遠是灰色的,而畫面上沒有任何地方提到序列埠。

加上了一半,畫面卻仍然一片黑

在虛擬機器上加入序列埠,只是主機這一側。還有第二側,跳過它會造成最令人困惑的結果:主控台打開了,也連上了,卻什麼都不顯示。

客體也必須在那條線上說話才行。在現代的 Linux 客體上,這表示要有一個掛在序列裝置上的登入服務;在較舊的 init 系統上,設定方式不同。也可以選擇讓開機載入程式把開機訊息一併送到那裡,而這正是下面幾種情況的重點所在。

一片空白的序列主控台,通常並不代表故障。它代表的是客體內部沒有任何東西在那個連接埠上說話。

為什麼要這麼麻煩

圖形主控台比較簡單,所以老實說,問題在於為什麼還有人要費這個工夫。理由都很具體,而每一個理由,都是圖形主控台派不上用場的時刻。

核心崩潰與開機訊息。客體在開機完成前失敗時,關鍵的文字會在一個無法往回捲動的畫面上一閃而過。序列主控台則會以文字的形式提供這些文字。

像終端機一樣運作的複製貼上。因為它是文字,而不是文字的圖片。

鍵盤配置錯亂。當圖形主控台把按鍵對應錯誤時,文字主控台通常仍然能用。

失去網路連線。兩種主控台在這種情況下都還能用,但當客體狀況差到連畫面都畫不出來時,文字主控台依然可用。

該用哪一種

只是例行查看執行中的機器時,就用圖形主控台;它永遠都在,什麼也不需要。

對於預料日後可能需要救援的客體,要在需要它之前就設定好序列主控台。在事故發生時才做,就等於要在一台無法登入的機器上,編輯一份碰不到的設定。這個順序就是全部的重點。

對於重視使用體驗的桌面工作負載,SPICE 值得為它安裝用戶端。

至於容器,就使用它自己的主控台,並把它的疑難排解當成另一個主題。

Atlas 的做法

Atlas 不另外打造第五種主控台。從 Atlas 開啟客體的主控台時,它會把操作交給 Proxmox VE 自己的圖形主控台,這是刻意的,因為重新實作一次,就等於多了一個需要信任的東西,也多了一個可能壞掉的東西。

Atlas 幫得上忙的地方在更早之前:也就是那些通常會讓人不得不打開主控台的工作。很大一部分打開主控台的情況,並不是在除錯,而只是某個沒有對應畫面的設定變更。這些變更改為放在介面裡。

主控台是留給真正出問題的那一天用的。目標是讓平凡的星期二不需要用到它。

資料來源

Proxmox 官方文件。內容為英文,且在此主題上以官方文件為準。

相關條目

這項工作在 Atlas 中是什麼樣子?

前往產品頁面