Ubuntu下conky 的風扇轉速和顯卡溫度顯示問題的解決辦法

系統:ubuntu10.04
筆記本:Thinkpad R400
顯卡:ATI 3400
問題:安裝完conky後,顯示CPU溫度等信息正常,但顯示不了風扇的轉速和顯卡的溫度,網上找了一些解決的辦法,悲劇的是我運行aticonfig --adgt命令時報錯。無法獲取顯卡溫度,風扇轉速的問題也沒有找到解決的辦法,琢磨了一下午,終於找到了解決的辦法。
獲取顯卡溫度時報錯如下:ERROR - Get temperature failed for the Default Adapter - ATI Mobility Radeon HD 3400 Series
我們知道,conky獲取系統信息時是通過獲取系統文件的一些特殊字段來獲取信息的,換句話說,conky是一個平臺,我們要做的就是把所要監控的信息接入這個平臺,而調取這些信息都是通過系統本身的命令來完成的,這時就顯示了conky強大的功能了,幾乎可以顯示你想顯示的所有系統信息,當然,前提是你知道如何調用這些信息,在編輯conky配置文件時,你需要對管道等linux下的概念很熟悉,同時,對grep,cut等命令的用法很熟悉,這點是非常重要的。
網上很多針對獲取A卡溫度的方法是調用顯卡驅動本身的aticonfig --odgt命令來完成的,這確實是最好的辦法,但在這種辦法失效的情況下,就只有另尋別的辦法了,以下是我的配置文件,我是通過sensors這個監控程序,來獲取顯卡的溫度和風扇的轉速,然後conky通過調取sensors所獲得的信息的相關字段來獲得風扇的轉速和顯卡的溫度,以下是我的conky配置文件。有一點需要說明的是該配置文件參考借鑑了http://forum.ubuntu.org.cn/viewtopic.php?t=271567上的一篇文章,顯示風扇轉速和顯卡溫度是我自己加進去的,同時修改了顯示器亮度的配置。在此對作者表示感謝。
# -*- conf -*-
#
# ~/.conkyrc - Conky configuration file

# do not fork to background
background no
# font settings
use_xft yes
font Comic Sans MS-8
uppercase no

# update every 3 secs
update_interval 2

# stay running forever
total_run_times 0

# draw to root window
own_window yes
own_window_type override
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

# avoid flickering
double_buffer yes

# size
minimum_size 400 100
maximum_width 1280

# position
alignment top_left
gap_x 0
gap_y 0

# colors
default_color white
default_shade_color black
default_outline_color black
color0 000000
color1 144556
color2 33b0dc

# borders
draw_borders no
stippled_borders 8
border_margin 4
border_width 1

# shades
draw_shades no

# outline
draw_outline no

# spacer
use_spacer no

# buffers
no_buffers yes

# sampling
cpu_avg_samples 2
net_avg_samples 2

# configuration
TEXT
${voffset 35}${offset 95}${color2}System
${offset 95}$color1 CPU: $color2 ${execi 99999 cat /proc/cpuinfo | grep "model name" -m1 | cut -d":" -f2 | cut -d" " -f2- | sed 's#Processor ##'}
${offset 95}$color1 System: $color2 ${execi 99999 lsb_release -d -s -c | tr -s "\n" " "} $kernel
${offset 95}$color1 Uptime:$color2 $uptime $color1 Load:$color2 $loadavg

${voffset -60}${offset 655}${color2}Display: Lenovo Thinkpad LCD (1280*800)
${offset 655}$color2 Brightness $color2${exec cat /proc/acpi/video/VID1/LCD0/brightness | grep current}%

${voffset 85}${offset 95}${color2}CPU 1
${offset 95}$color1 Usage: $color2${cpu cpu1}% $color1 Temperature:$color2 $acpitemp ${font iYaHei:size=8}℃
${offset 95}${font}$color1 Load: $color2$cpu% ${cpubar cpu0 6,200}
${offset 95}$color1 ${cpugraph cpu0 20,270 000000 33b0dc}
${offset 95}${color2}CPU 2
${offset 95}$color1 Usage: $color2${cpu cpu2}% $color1 Temperature:$color2 $acpitemp ${font iYaHei:size=8}℃
${offset 95}${font}$color1 Load: $color2$cpu% ${cpubar cpu1 6,200}
${offset 95}$color1 ${cpugraph cpu1 20,270 000000 33b0dc}
${offset 95}${color2}FAN: $color1${execi 300 /usr/bin/sensors | grep fan | cut -c11-17}rpm      #獲取風扇轉速
${offset 95}${color2}GPU:  $color1${execi 300 /usr/bin/sensors | grep temp4 | cut -c15-16}℃      #獲取顯卡溫度
${offset 95}${color2}HDD: $color1${hddtemp /dev/sda}℃    #獲取硬盤溫度,實際上也可通過獲取顯卡溫度的方法獲取硬盤溫度,只是該方法比較方便。

${voffset 35}${offset 95}${color2}Wireless (${wireless_essid wlan0})
${offset 95}$color1 IPv4: $color2${addr wlan0} ${color #144556} WLAN quality: $color2${wireless_link_qual_perc wlan0}% ${wireless_link_bar 5, 40 wlan0}
${offset 95}$color1 Down: $color2${downspeed wlan0} /s $color1 ${downspeedgraph wlan0 8,100 000000 33b0dc} $color1 Up:$color2 ${upspeed wlan0} /s $color1 ${upspeedgraph wlan0 8,100 000000 33b0dc}
${offset 95}${color2}Wire
${offset 95}$color1 IPv4: $color2${addr eth0}
${offset 95}$color1 Down: $color2${downspeed eth0}/s $color1 ${downspeedgraph eth0 8,100 000000 33b0dc} $color1 Up:$color2 ${upspeed eth0} /s $color1 ${upspeedgraph eth0 8,100 000000 33b0dc}

${voffset -430}${offset 1100}
${voffset 460}${offset 1120}$color2 ${font}Battery: $color2 ${battery_percent BAT0}% ${battery_bar BAT0}
${offset 1120}$color1 State: $color2$acpiacadapter

${voffset 30}${offset 1010}${color2}File System (${fs_type /})
${offset 1010}$color1 Total:$color2 ${fs_size /} $color1 Free:$color2 ${fs_free /} ${fs_used_perc /}%
${offset 1010}$color1 Usage:$color2 ${fs_bar 5,170 /}
${offset 1010}${color2}/home (ext4)
${offset 1010}$color1 Total:$color2 ${fs_size /home} $color1 Free:$color2 ${fs_free /home} ${fs_used_perc /home}%
${offset 1010}$color1 Usage:$color2 ${fs_bar 5,170 /home}
${offset 1010}${color2}/boot (ext4)
${offset 1010}$color1 Total:$color2 ${fs_size /boot} $color1 Free:$color2 ${fs_free /boot} ${fs_used_perc /boot}%
${offset 1010}$color1 Usage:$color2 ${fs_bar 5,170 /boot}

${voffset -10}${offset 400}${color1}Memory ${color2}($memmax)
${offset 400}${color1}RAM: $color2$mem($memperc%) ${membar 5,142}
${offset 400}${color1}Swap: $color2$swap ($swapperc%) ${membar 5,142}


${voffset -150}${offset 100}${color1}Processes: $color2$processes $color1 Runing:$color2${tcp_portmon 1 65535 count}
${offset 100}${color2}Name              PID     CPU%   MEM%
${offset 100}${color1} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${offset 100}${color1} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${offset 100}${color1} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}

${offset 100}${color2}Mem usage
${offset 100}${color1} ${top_mem name 1} ${top_mem pid 1} ${top_mem cpu 1} ${top_mem mem 1}
${offset 100}${color1} ${top_mem name 2} ${top_mem pid 2} ${top_mem cpu 2} ${top_mem mem 2}
${offset 100}${color1} ${top_mem name 3} ${top_mem pid 3} ${top_mem cpu 3} ${top_mem mem 3}
顯示效果如圖(因上傳圖片大小限制,故爲局部圖,全圖基本和http://forum.ubuntu.org.cn/viewtopic.php?t=271567上的圖片差不多,區別主要在風扇轉速和顯卡溫度的顯示上)





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章