有很多方法可以操作 FreeBSD ,其中一種就是在文字終端機上打字。 如此使用 FreeBSD 即可輕易的體會到 UNIX® 作業系統的威力和彈性。 這一節描述什麼是“終端機”和 “console” ,以及可以如何在 FreeBSD 中運用它們。
如果您沒有將 FreeBSD 設定成開機時自動進入圖形化模式,系統會在啟動的 script 跑完之後顯示登入的提示符號。 您將會看到像是這樣的東西:
Additional ABI support:. Local package initialization:. Additional TCP options:. Fri Sep 20 13:01:06 EEST 2002 FreeBSD/i386 (pc3.example.org) (ttyv0) login:
這個訊息在您的系統上會有些許的不同,但是應該會看到類似的東西。 我們感興趣的是最後兩行,最後兩行是:
FreeBSD/i386 (pc3.example.org) (ttyv0)
這行包含了剛開機完系統的資訊。 您看到的是在 Intel 或相容處理器的
x86 架構上執行的 “FreeBSD”的 console[1]。 這台機器的名字(每台 UNIX® 機器都有一個名字)是
pc3.example.org
,而您現在看到的是它的系統
console—— ttyv0
終端機。
最後的一行應該都會是:
login:
這是您應該要輸入您的“帳號名稱”的地方。 下一小節將告訴您如何登入 FreeBSD。
FreeBSD 是一個 multiuser、multiprocessing 的系統。 這是一個正式的名稱,指的是在單一機器上可以同時被不同人使用, 但同時可以執行很多程式的系統。
每一種多使用者系統都需要可以分辨不同“使用者”的方法。 在 FreeBSD (以及所有的 UNIX®-like 作業系統) 中,所有的使用者在執行程式之前必須先“登入”系統。 每個使用者都有一組獨特的帳號名稱 (“username”)及密碼(“password”)。 FreeBSD 在允許使用者執行程式前將會先問這兩個問題。
在 FreeBSD 開機並跑完啟動的 script 之後[2],它將會印出提示字元要求您輸入正確的帳號名稱:
login:
在這個範例裡,我們假設您的帳號是john
。
在提示字元處輸入 john
並按下 Enter
。 接著您應該會看到另一個提示字元要您輸入“密碼”:
login: john
Password:
輸入 john
的密碼,再按下
Enter。 輸入的密碼
不會顯示在螢幕上。
您不需要為此擔心,這樣做是為了安全上的問題。
如果您輸入了正確的密碼,您應該已經登入 FreeBSD。 現在就可以嘗試所有可用的指令了。
您應該會看到MOTD
(即今日訊息、Messages Of The Day),後面接著命令提示字元
(一個 #
,$
, 或是
%
字元)。 這就表示您已經成功登入
FreeBSD 了。
在一個 Console 下執行 UNIX® 當然是沒有問題,然而 FreeBSD 是可以同時執行很多程式的。 像 FreeBSD 這樣可以同時執行一大堆程式的作業系統,只有一個 console 可以輸入指令實在是有點浪費。 因此 “virtual consoles” 就顯得相當好用。
可以設定讓 FreeBSD 同時有很多 virtual console, 用幾個按鍵的組合就可以從一個 virtual console 跳到別的 virtual console 。 每一個 console 都有自已不同的輸出頻道,當從某一個 virtual console 切換到下一個的時候,FreeBSD 會自動處理鍵盤輸入及螢幕輸出。
FreeBSD 保留了特別的按鍵組合來切換 console [3]。 您可以用 Alt+F1、 Alt+F2、到 Alt+F8 來切換 FreeBSD 的不同 console。
當您從一個 console 切換到下一個的時候,FreeBSD 會處理螢幕輸出的儲存及回復。 這就“好像”有很多“虛擬”的螢幕和鍵盤, 可以讓您輸入指令到 FreeBSD 執行。 在某一個 console 上執行的程式並不會因為切到別的 console 而停止執行,切換到另一個 console 時,它們仍會繼續執行。
FreeBSD 預設的虛擬 console 總共有 8 個,
但這並非硬性規定,您可輕鬆設定這些虛擬 console 的數量增減。
有關虛擬 console 的編號跟設定都在
/etc/ttys
這檔案內設定。
可以用 /etc/ttys
檔案來設定
FreeBSD 的虛擬 console。 檔案內每行非註解文字(該行開頭沒有
#
這字)都是設定終端機或虛擬 console。
FreeBSD 預設有 9 個虛擬 console 但只啟動 8 個,也就是以下以
ttyv
開頭的那幾行設定。
# name getty type status comments # ttyv0 "/usr/libexec/getty Pc" cons25 on secure # Virtual terminals ttyv1 "/usr/libexec/getty Pc" cons25 on secure ttyv2 "/usr/libexec/getty Pc" cons25 on secure ttyv3 "/usr/libexec/getty Pc" cons25 on secure ttyv4 "/usr/libexec/getty Pc" cons25 on secure ttyv5 "/usr/libexec/getty Pc" cons25 on secure ttyv6 "/usr/libexec/getty Pc" cons25 on secure ttyv7 "/usr/libexec/getty Pc" cons25 on secure ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure
有關各欄位的設定以及其他選項,請參閱 ttys(5) 說明。
有關 “single user 模式” 的介紹在
節 12.6.2, “Single-User Mode”
這邊有詳盡介紹。 在 single user 模式時,能夠使用的 console
只有一個,並無虛擬 console 可用。 而 single user 模式相關設定值可以在
/etc/ttys
檔做調整。 下面以
console
開頭的那行,就是了:
# name getty type status comments # # If console is marked "insecure", then init will ask for the root password # when going to single-user mode. console none unknown off secure
在 console
那行前面的註解有提到,可以把那行的
secure
改為 insecure
,
如此一來,即使 FreeBSD 進入 single user 模式,
仍會要求您輸入 root
的密碼。
請審慎考慮是否要改為
insecure
。 因為萬一忘記
root
密碼的話,若要登入 single user
模式就有些麻煩了。儘管還有其他方式可以登入,但對不熟 FreeBSD
開機程序的人而言,就會相當棘手。
FreeBSD console 預設顯示大小可以調整為 1024x768、1280x1024 或其他顯示卡與螢幕有支援的解析度大小。 要切換顯示大小,必須要重新編譯 kernel 並加入下面這兩項設定:
options VESA options SC_PIXEL_MODE
一旦 kernel 有加入這兩項並重新編譯完畢,就可以用 vidcontrol(1) 來偵測目前所支援的模式有哪些。 若要查看支援的模式,可以打:
#
vidcontrol -i mode
該指令會顯示該機器所支援的顯示模式清單。 然後可以在
root
console 內透過 vidcontrol(1) 指令,
來更改顯示模式:
#
vidcontrol MODE_279
若對新的顯示模式覺得還不錯,可以在 /etc/rc.conf
設定之,以讓每次重開機後會自動生效。 以上面這情況為例,就是:
allscreens_flags="MODE_279"
[1] 這就是 i386
的意義。 注意即使您不是在
Intel 的 386 處理器上執行 FreeBSD ,一樣是i386
。
這不是指你的處理器的型號,這裡顯示的是你處理器的“架構”
[2] 這些啟動的 script 是在開機的時候 FreeBSD 會自動執行的程式。 他們主要的功能是將所有該執行的東西設定好, 並將您設定成背景執行的服務啟動。
[3] 在 syscons(4)、atkbd(4)、vidcontrol(1)、以及 kbdcontrol(1)等 manual page 中,對於 FreeBSD 的 console 及鍵盤驅動程式有詳細的技術說明。 我們在這裡不討論細節, 有興趣的讀者隨時可以在 manual pages 中查到關於運作方式的更詳細且完整的解釋。
本文及其他文件,可由此下載: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/。
若有 FreeBSD 方面疑問,請先閱讀
FreeBSD 相關文件,如不能解決的話,再洽詢
<questions@FreeBSD.org>。
關於本文件的問題,請洽詢
<doc@FreeBSD.org>。