感谢支持
我们一直在努力

Ubuntu下Conky的设置

最近十分懒惰,只是在看文章,一直没来更新博客。今天有负罪感,所以就来涂两笔。
此前就一直见有人的Ubuntu桌面上面有个很漂亮的系统监视器,后来才知道叫Conky。去项目主页看了一下,觉得好复杂就懒得弄了。后来搜到有个Wizard软件可以傻瓜式配置Conky,但是又有人说不是很好用,有些特性调不出来,作罢。前天不知道怎么想的,突然又来劲了,于是开始啃Conky的Wiki,最后发现,其实Conky的配置非常简单。


Conky的默认配置文件.conkyrc内分两部分,配置和显示。配置部分内主要是编写Conky运行的一些基本参数,例如宽度、默认颜色、默认字体、刷新间隔等等。TEXT行之后进入显示部分的配置。显示的配置也很简单,无非就是“你写什么它显示什么”,“你换行它也换行”。然后在一些重要数值的位置,用Conky的变量填充进去就可以了。例如显示计算机的名称和内核版本:


TEXT
Hostname: $nodename
Kernel: $kernel


完了。$nodename和$kernel就是两个Conky的内置变量,前者显示机器名称,后者显示内核版本。全部的内置变量可以去Conky的Reference内查找。这里先贴一个我的Conky的截图:



对应的我的.conkyrc文件:


update_interval 1.0        # 更新时间间隔
double_buffer yes       
# 双缓存,解决Conky闪烁问题
use_xft yes               
# 自定义字体
xftfont DejaVu Sans Mono:size
=9

maximum_width
300        # Conky最大宽度像素值
default_color gray       
# Conky默认颜色
alignment top_right       
# Conky默认位置
#draw_outline yes        # 绘制文本、图案的轮廓线

# 解决Conky和桌面图标的冲突问题
own_window yes
own_window_type override
own_window_hints undecorated
own_window_transparent yes

TEXT
# 系统信息总览
${color white}${font :bold:size
=12}[SYSTEM] $font$color $alignr$time
Hostname: $alignr $nodename
Kernel: $alignr $kernel
Uptime: $alignr $color $uptime
System
load: $alignr $loadavg
Running Processes: $alignr $running_processes
/$processes
Running Threads: $alignr $running_threads
/$threads

# 显示当前四核CPU的频率、使用率的数值和示意图
${color white}${font :bold:size
=12}[PROCESSORS] $font$color ${execpi 8 sensors | grep Core 0 | cut characters 14-21} ${execpi 8 sensors | grep ‘Core 1’ | cut –characters 14-21}
Core 1: ${freq_g 1}GHz (${cpu cpu1}%) ${alignr 100}${cpubar cpu1}
Core
2: ${freq_g 2}GHz (${cpu cpu2}%) ${alignr 100}${cpubar cpu2}
#Core 3: ${freq_g 3}GHz (${cpu cpu3}%) ${alignr 100}${cpubar cpu3}
#Core 4: ${freq_g 4}GHz (${cpu cpu4}%) ${alignr 100}${cpubar cpu4}

# 列出排名前五的CPU消耗进程
${font :bold:size
=9}Name $alignc PID $alignr CPU $font
${top name
1} $alignc ${top pid 1} $alignr ${top cpu 1}%
${top name
2} $alignc ${top pid 2} $alignr ${top cpu 2}%
${top name
3} $alignc ${top pid 3} $alignr ${top cpu 3}%
${top name
4} $alignc ${top pid 4} $alignr ${top cpu 4}%
${top name
5} $alignc ${top pid 5} $alignr ${top cpu 5}%

# 显示计算机当前内存的使用情况
${color white}${font :bold:size
=12}[MEMORY] $font:$color $mem/$memmax $memperc%
${membar}

# 列出排名前五的内存消耗进程
${font :bold:size
=9}Name $alignc PID $alignr RAM $font
${top_mem name
1} $alignc ${top_mem pid 1} $alignr ${top_mem mem 1}%
${top_mem name
2} $alignc ${top_mem pid 2} $alignr ${top_mem mem 2}%
${top_mem name
3} $alignc ${top_mem pid 3} $alignr ${top_mem mem 3}%
${top_mem name
4} $alignc ${top_mem pid 4} $alignr ${top_mem mem 4}%
${top_mem name
5} $alignc ${top_mem pid 5} $alignr ${top_mem mem 5}%

# 显示磁盘的使用情况,并且显示磁盘使用示意图
# 因为只分有两个区,所以只显示//home的磁盘使用情况
${color white}${font :bold:size
=12}[HDD] $font$color
/ $alignr ${fs_used /} of ${fs_size /} (${fs_used_perc /}%)
${fs_bar
/}
/home $alignr ${fs_used /home} of ${fs_size /home} (${fs_used_perc /home}%)
${fs_bar
/home}
swap $alignr $swap of $swapmax ($swapperc
%)
$swapbar

# 显示网络使用情况
${color white}${font :bold:size
=12}[NETWORK] $font$color
IP address: $alignr${addr eth0}
Download: $alignr ${downspeed eth0}
/s
Upload: $alignr ${upspeed eth0}
/s

# 天气预报
${color white}${font :bold:size
=12}[WEATHER] $font$color $alignr ${execi 1800 conkyForecast l FRXX0141 d CN},${execi 1800 conkyForecast l FRXX0141 d CO}
${font ConkyWeather:size
=50}${execi 1800 conkyForecast l FRXX0141 d WF}$alignc${font ConkyWind:size=50}${execi 1800 conkyForecast l FRXX0141 d BS}$font

# 当前日期的天气情况汇报
Condition: $alignr${execi
1800 conkyForecast l FRXX0141 d CC}
Temperature: $alignr${execi
1800 conkyForecast l FRXX0141 d HT}
Humidity: $alignr${execi
1800 conkyForecast l FRXX0141 d HM}
Wind speed: $alignr${execi
1800 conkyForecast l FRXX0141 d WS}
Sunrise: $alignr${execi
1800 conkyForecast l FRXX0141 d SR}
Sunset: $alignr${execi
1800 conkyForecast l FRXX0141 d SS}
Last update: $alignr${execi
1800 conkyForecast l FRXX0141 d LF}

# 今后四天的天气情况汇报
${execi
1800 conkyForecast l FRXX0141 d DW s 1 e 4 w c 9}
${font ConkyWeather:size
=30}${execi 1800 conkyForecast l FRXX0141 d WF s 1 e 4 c 3}$font
${execi
1800 conkyForecast l FRXX0141 d HT s 1 e 4 c 9}
${execi
1800 conkyForecast l FRXX0141 d LT s 1 e 4 c 9}

这里唯一麻烦一点的就是气象预报的显示。首先你需要安装conkyForecast包:


<!–

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

–>sudo addaptrepository ppa:conkycompanions/ppa
sudo apt
get update
sudo apt
get install conkyforecast


然后把ConkyForecast目录下的配置文件样本复制到你自己的个人目录内,默认隐藏:


<!–

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

–>cp /usr/share/conkyforecast/conkyForecast.config ~/.conkyForecast.config


ConkyForecast的气象信息都是去www.weather.com这个网站上面读取的。先去这个网站申请一个帐号,然后去服务页面申请一个Weather XML Data Feed的服务,免费的。接着很快你就可以收到一个电子邮件,内容一大堆,最重要的是两串字符:Partner IDLicense Key。分别填充到XOAP_PARTNER_IDXOAP_LICENCE_KEY里面。


然后还需要你所在地区的代码,去气象网首页,在Find Weather的搜索栏里面输入你所要搜索气象的地区的名称,例如我搜杭州的,就是Hangzhou, China。如果网站成功搜到地区,则会显示该地区的气象,然后在浏览器里面的地址栏里面,就会显示该地区的代码:http://www.weather.com/weather/today/CHXX0044,杭州的代码就是CHXX0044,留着一会儿有用。


现在在你的.conkyrc文件里面需要插入气象的地方,插入:


<!–

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

–>${execi 1800 conkyForecast l FRXX0141 d WF}


1800是刷新事件,也就是30分钟刷新一次。频率不用太高,因为气象网站上面的气候是1小时刷新一次的。l参数后面跟的就是地区代码,d参数指定数据返回类型。如果需要查看所有数据类型,就在终端内输入:


<!–

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

–>conkyForecast help


conkyForecast的气象图标实际是一种字体,所以想要显示对应天气的图标,只需要设置好字体就可以了,所以此前那条命令的完整格式是:


<!–

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

–>${font ConkyWeather:size=50}${execi 1800 conkyForecast l FRXX0141 d WF}$font


也就是使用50号的ConkyWeather字体来显示当前的天气情况,这样Conky就会显示对应的天气图标了。所需的字体文件都被安装在/usr/share/fonts/truetype/下。对字体的使用有一定的要求,并不是任何字体都适用于任何数据类型。按照作者自己的说法:



  1. ConkyWeather字体适用于WF类型;
  2. Arrows字体适用于BF类型,用于显示风向;
  3. ConkyWind,ConkyWindN和ConkyWindNESW适用于BF或者BS类型,也是显示风向;
  4. Moon Phases字体适用于MF类型,用来显示月相。

我的天气设置可以在上面的.conkyrc文件末尾处找到。不是很难理解的。
唯一需要注意的就是:启动Conky之后,你可以一边修改配置文件,一边直接观察效果。Conky可以检测到配置文件的变动,然后刷新显示。但是如果你在Conky启动以后安装了ConkyForecast,并且开始配置气象预报等等,你需要重启启动一次Conky,不然即便你的气象配置都是正确的也是无法正常显示气象信息的。


最后就是制作一个启动脚本,每次系统启动的时候,自动启动Conky了:


<!–

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

–>sleep 10
killall conky
conky
c /home/shouyanbo/.conkyrc
exit


我这里设置的是先等待10秒钟,等你的桌面加载完毕之后再启动Conky,将这个文件保存为start_conky.sh到你喜欢的目录,然后为其赋予执行权:


<!–

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

–>chmod u+x start_conky.sh


然后去你的桌面菜单:“系统” → “首选项” → “启动应用程序”,把这个脚本添加进去就可以了。试着“注销”,然后重新登录登录看下效果,一般来说是木有问题的了。


 


P.S. 一直很烦新版Ubuntu里面面板上那个Indicator的插件。就是可以同时聊天、收发邮件、泡虚拟社区的东东。三项功能集合在一起,本来是一个挺好的创意。但是聊天使用的是Empathy,邮件用的Evolution,虚拟社区那个是叫硅什么玩意儿的。最后那个没用过不好说,其他两个真的很垃圾。聊天不敌emesene,邮件不及雷鸟。还有那个至今不是很明白的Ubuntu Me还是什么的插件。好像是你的Ubuntu的ID也可以用来聊天或者如何,可以设置状态等等,一点用没有。所以以上两个东西可以直接毙掉,净化桌面:


<!–

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

–>sudo aptget remove indicatormessages
sudo apt
get remove indicatorme
sudo apt
get remove evolution
sudo apt
get remove empathy
sudo apt
get autoremove
killall gnome
panel


搞定……

if ($ != jQuery) {
$ = jQuery.noConflict();
}
var isLogined = false;
var cb_blogId = 79478;
var cb_entryId = 1949042;
var cb_blogApp = “shouyanbo”;
var cb_blogUserGuid = “c247573c-8df6-df11-ac81-842b2b196315”;
var cb_entryCreatedDate = ‘2011/2/3 20:48:00’;

赞(0) 打赏
转载请注明出处:服务器评测 » Ubuntu下Conky的设置
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏