2012年8月26日 星期日

GKrellM(電腦系統狀態顯示程式)之安裝、設定

CPU 溫度是否過高?機殼內的溫度又如何?散熱扇的轉速是否正常?希望對電腦系統的狀態,隨時都能一清二楚嗎?

    如果,這些都是你使用電腦時的疑問,那麼 GKrellM 這個程式就可以給你解答。

一、切換成 root 身份

以下操作若無特別說明,都需先切換成 root 身份,請參考 "在 Linux 中,切換為 root 身分以操作、設定系統" 一文。

二、安裝需要的套件

要讓 GKrellM 能夠偵測電腦系統的狀態,除了 gklrellm 這個顯示狀態的套件外,還有幾個輔助套件需要安裝,
[root@Celeron-D ~]# yum install gkrellm lm_sensors hddtemp
其中,lm_sensors 是偵測溫度、電壓等系統可偵測到的狀態。hddtemp 則是偵測硬碟溫度。

三、設定套件

「硬碟溫度偵測」的設定

先編輯 " /etc/sysconfig/hddtemp " 這個檔案,以使用 gedit 為例,
[root@Celeron-D ~]# gedit /etc/sysconfig/hddtemp
找到以 HDDTEMP_OPTIONS 為首的這列文字,加上要偵測的硬碟編號,結果如下:
HDDTEMP_OPTIONS="-l 127.0.0.1 -d /dev/sda -d /dev/sdb"
上例中,設定成偵測兩個硬碟:/dev/sda 是硬碟一,/dev/sdb 是硬碟二。光這樣還不夠,要讓偵測動作每次開機都能自動運作,還要下這個命令,
[root@Celeron-D ~]# chkconfig --list hddtemp
hddtemp         0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉
[root@Celeron-D ~]# chkconfig --level 35 hddtemp on
[root@Celeron-D ~]# chkconfig --list hddtemp
hddtemp         0:關閉 1:關閉 2:關閉 3:開啟 4:關閉 5:開啟 6:關閉
[root@Celeron-D ~]# /etc/init.d/hddtemp start
啟動硬碟溫度偵測系統程式(hddtemp):                      [  確定  ]
[root@Celeron-D ~]#
上例中,第一、三個命令是查詢 hddtemp 這個服務的開啟狀態,第二個命令是開啟 hddtemp 在系統「運行等級」3 和 5 自動開啟,第四個命令是啟動 hddtemp 這個服務。
注意:若 hddtemp 已在啟動狀態,就將 start 改成 restart 這個參數,以新設定重新啟動。

    在 Fedora 17 裏,因為服務程式的管理機制改變,要下另一個命令
[root@Celeron-D ~]# systemctl enable hddtemp.service
[root@Celeron-D ~]# systemctl start hddtemp.service
上例中,第一個命令是讓它每次開機都自動執行,第二個命令是讓這個服務立即執行,方便待會的操作。
注意:若 hddtemp 已在啟動狀態,就將 start 改成 restart 這個參數,以新設定重新啟動。

    也可下文字命令偵測硬碟溫度,這個命令不需 root 身份也可執行,
[SiB@Celeron-D ~]$ hddtemp
/dev/sda: WDC WD1600JB-00REA0: 47°C
/dev/sdb: HDS722580VLAT20: 47°C
[SiB@Celeron-D ~]$
注意:因為光碟、燒錄機多未支援 SMART 技術,目前只能偵測硬碟溫度。

「系統溫度、電壓偵測」的設定

要執行一次系統偵測模組的設定,用這個命令可以產生一個偵測組態結果,自動匯入系統設定,
[root@Celeron-D ~]# sensors-detect
# sensors-detect revision 6031 (2012-03-07 17:14:01 +0100)
# Board: MICRO-STAR INTERNATIONAL CO., LTD MS-7103

This program will help you determine which kernel modules you need
  . . . . .
Driver `w83627hf':
* ISA bus, address 0x290
Chip `Winbond W83687THF Super IO Sensors' (confidence: 9)

Do you want to overwrite /etc/sysconfig/lm_sensors? (YES/no): 
Starting lm_sensors: loading module w83627hf               [  確定  ]
Unloading i2c-dev... OK

[root@Celeron-D ~]#
上例中,會有許多詢問,通常用預設答案即可,最後一個詢問一定要答 [ Y ] 。正常情況下,安裝後這個「系統溫度、電壓偵測」服務會設定為「自動啟動」,如果不確定,用這個命令檢查,
[root@Celeron-D ~]# chkconfig --list lm_sensors
lm_sensors      0:關閉 1:關閉 2:開啟 3:開啟 4:開啟 5:開啟 6:關閉
[root@Celeron-D ~]# chkconfig --level 35 lm_sensors on
[root@Celeron-D ~]# chkconfig --list lm_sensors
lm_sensors      0:關閉 1:關閉 2:開啟 3:開啟 4:開啟 5:開啟 6:關閉
[root@Celeron-D ~]# /etc/init.d/lm_sensors start
Starting lm_sensors: loading module w83627hf               [  確定  ]
[root@Celeron-D ~]# 
上例中,第一、三個命令是查詢 lm_sensors 這個服務的開啟狀態,第二個命令是開啟 hddtemp 在系統「運行等級」3 和 5 自動開啟,第四個命令是啟動 lm_sensors 這個服務的操作。

注意:若 lm_sensors 已在啟動狀態,就將 start 改成 restart 這個參數,以新設定重新啟動。

    在 Fedora 17 裏,因為服務程式的管理機制改變,要下另一個命令
[root@Celeron-D ~]# systemctl enable lm_sensors.service
[root@Celeron-D ~]# systemctl start  lm_sensors.service
[root@Celeron-D ~]# systemctl status lm_sensors.service
lm_sensors.service - Initialize hardware monitoring sensors
    Loaded: loaded (/usr/lib/systemd/system/lm_sensors.service; enabled)
    Active: active (exited) since Sun, 26 Aug 2012 15:02:12 +0800; 2min 16s ago
   Process: 3080 ExecStart=/usr/bin/sensors -s (code=exited, status=0/SUCCESS)
   Process: 3078 ExecStart=/sbin/modprobe -qab $BUS_MODULES $HWMON_MODULES (code=exited, status=1/FAILURE)
    CGroup: name=systemd:/system/lm_sensors.service

[root@Celeron-D ~]#
第一個命令是設定為開機時自動啟動服務,第二個命令是立即啟動服務,而第三個命是查詢服務的設定:在列首為『Loaded:』那列文字的後面有『enabled』,表示這個服務會自動啟動;列首為『Active:』那列有『active』,表示目前這個服務為啟動狀態。所以,這個服務算是設定成功了。

GKrellM 的顯示設定

從「程式選單」的「應用程式」→「系統工具」→「GKrellM System Monitor」啟動 GKrellM
第一次執行會跳出一個「簡介視窗」,按「確定 (O)」就可以。接著,要叫出「GKrellM Configuration」的設定視窗,直接按 [F1] 鍵或在外框上緣按「滑鼠右鍵」,
GKrellM Configuration 的設定視窗就可以看到了,
待會要示範顯示偵測到的「硬碟溫度」,所以先把「硬碟」的顯示設定好。在左欄點選「Monitors」→「Builtins」→「Disk」,在右欄點選「Options」只將 sda 、sdb 打勾(因剛才設定其偵測這兩個硬碟),其它不要勾,如下圖所示
接著設定偵測顯示,在左欄點選「Monitors」→「Builtins」→「Sensors」,在右欄點選「Setup」→「Temperatures」左邊的三角形,會出現所有能偵測到的溫度項目,在「□ sda」打勾,右邊的「Location」選「Disk」,如下圖所示
「□  sdb」如法泡製。至於 CPU 的溫度在哪裏呢?有的系統不能正確回應 CPU 的名稱,但是溫度是有偵測到,先將 acpitz 及 thermal_zone0 等讀數前的 □ 打勾,GKrellM 會顯示讀數,我通常挑選最高的讀數當 CPU 的溫度讀數。至於 CPU 的讀數也可選擇「Location」讓它顯示在 CPU 那一區。
    有些不常用的狀態,可以不讓它顯示,限於篇幅只在下圖秀出設定的結果,
其它顯示項目的設定步驟,以後再詳述。

已測試版本:

  • Fedora: 14, 17

沒有留言:

張貼留言

感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)