[ 连载 ] 海瑟薇的 Conky 教室(更新:Conky 安装)


#1


为了响应苏姐的「建设一个有借有还的高技术型社区」的号召,还有为了兑现我当初顺嘴胡嘞做出的承诺(主要还是后者,做人要讲诚信,前者有点远),特开本连载。

本连载中,我将深入一些我能看懂的技术细节,这涉及到 Conky/Lua/Python,争取做到和大家一起学习(目前为止,关于 Lua 和 Python 我还一窍不通)。所以:

  1. 伸手党可以滚粗了。这不是一个像 U 坛那些几万点击量的,「下这个、下那个、安装、装逼去也~」的帖子,这是一个小众的教你究竟怎么做到别人能做到的事情的帖子。中文圈似乎还没有这样的帖子(你可以把它想象成从零单排或者超神之路这样的东西,但是我估计我做不到。)。

  2. 我也不知道自己究竟能够在这个话题上探索多远,结帖的时间是什么时候(所以高手请轻喷,喷红眼我就不写了)。如果我犯了错误,欢迎随时温柔指出。

教学方式上准备采用事例教学的方法,也即讲解的内容全部来自于互联网上那些狂拽酷炫得看不出是 conky 的配置。副作用是等这个连载结帖后,你可能可以找到几乎所有评价超高的 conky 配置在 openSUSE 上的实现方法。但请相信这不是我的本意,我的本意是让你也有写出这种配置的技术储备。

学习语言的时候可能会用到一些网上下得到的书本。

另外,本文需要的前提是 Shell。关于 Shell 我们 论坛 FTP](论坛公共 ftp) 里的 openSUSE 新手入门指南 PDF 专门有两章,我觉得讲的非常好。我假设你已经看过了。实际上我用到的会非常少,因为我对它懂的也不是很多。但这是一种与桌面完全不同的思想,我希望你能够了解它。

目录(不定期更新)

  1. 准备 [2013-10-05]
  2. Conky 介绍和安装
    1.1 Conky 的介绍
    1.2 Conky 的安装 [2013-10-06]

============================= 正文 =============================

  1. 准备

警告:如果你是新手,那你可能需要安装一个 openSUSE。 对,这是对某些以 U 为中心的帖子的一个赤果果的报复(新手朋友们想起换 openSUSE 后还去 U 坛找答案时的那些惨痛经历了吗?现世报马上就来了),我全程都会使用 openSUSE 专有的东西而不加提示,这对新手很不友好。所以受不了请换 openSUSE 学习。我觉得我换了 openSUSE 后学到的东西多得多,所以我要加强这个错觉。

你需要一个 Shell 和一个终端模拟器。我用的 Shell 是 Zsh(https://zh.opensuse.org/SDB:Zsh),它和 Bash 有不同但不同的地方基本我也不知道怎么用。终端模拟器是 KDE 的 konsole。你不需要一定和我一样。

你需要去网上偷一张逼格非常高的壁纸,一张好的壁纸是美化成功的一半(原话好像是:新手评价一个发行版好不好 90% 是看壁纸),所以在教剩下的 50% 中的 30% 之前,我们先把这个准备工作做掉。一张好的壁纸可以让你产生你的 conky 好看一百倍的感觉。

可以用的资源有:

  • DeviantArt

minimalist-wallpaper.deviantart.com/

custom-linux.deviantart.com/

deviantart.com/customization/wallpaper/

linux-users.deviantart.com/

DA 是个大宝库,关键看你怎么挖掘,上面是我挖掘到的。PS:苏姐的 DA:http://doublechou.deviantart.com/

  • 500px minus 和 Flickr

500px.com/popular

minus.com/

flickr.com/explore(境内可能被墙了)

  • G+ 资源(肯定是被墙着的)

Landscape Photography(风景):https://plus.google.com/communities/116871042716967304935

HDR Photography(HDR 高清):https://plus.google.com/communities/101254971006166501000

Amazing places to see(风景):https://plus.google.com/communities/109933143164651576714

Places to see before you die(风景):https://plus.google.com/communities/115498623068861010577

Places to see before you die 2(风景):https://plus.google.com/communities/101946781416245240821

中文摄影圈:https://plus.google.com/communities/103785794103073191528

二次元美图:https://plus.google.com/communities/101352955055895228561

壁纸、桌布、Wallpaper(二次元向):https://plus.google.com/communities/110423200912983884576

第 0 篇完结。谢谢观赏。


第四章 conky 与 3D 桌面
#2
  1. Conky 的介绍和安装

1.1 Conky 的介绍:

Conky 的官方定义是:一个用于 Xorg 图形服务器的高级的、高度可配置的系统监视器。

用方便理解的话语来讲呢,在 Linux 的早期时代,系统管理员们是直接在控制台(console)监视系统的,也就是使用各种各样的 shell 脚本。比如:

cat /proc/meminfo | grep MemFree

把这个贴到 konsole/gnome-terminal 中去,运行一下,你就知道你系统的空闲内存(就是没有被使用的)现在有多少了。(PS:如果你是高手,你应该知道这个命令其实并不精确,因为可以用的内存不但包括从来没有用到过的内存,还包括那些已经用完了有新任务进来随时可以释放的内存,这里就把后者略过了,因为要计算后者需要另一个程序 awk,那是另一个话题了)

因为 Linux 内核的一个哲学叫做「一切皆文本」,什么都是纯文本文件,最开放,不会像 M$ 一样去封装它以至于不知道这种封装格式的人看不到或者只能通过 M$ 提供的文档和接口看到一部分,换句话说调试 Linux 内核只要你懂调试知识就可以,而调试微软内核你得先成为它的核心员工。而给我们带来的好处就是,直接去读(cat)它的那个文本文件就知道系统状态了。 所以,conky 的好处不在于它能让你知道系统状态,而在于它能让你更方便的知道系统状态。

那再用循环语句 + sleep 函数写个脚本不断的去读它,你就能随时知道了:

#!/bin/sh
while true; do
    cat /proc/meminfo | grep MemFree
    sleep 60;
done

好理解吧,#!/bin/sh 是一个学名叫做 shebang 的东西,每个 shell 脚本甚至解释型语言(就是不用编译直接在控制台输入就能跑的编程语言)都必须要有(比如 Python 的是 #!/usr/bin/env python),不然系统不知道用什么程序去执行这段脚本,这里用 sh 也就是任何一种 shell 都可以。while true 的意思跟英文的意思是一样的,「在 xx 的时候」,这里是在「true 真」的时候,也就是永远没有假,于是你不关机它就永远跑下去咯。do 就是做,做什么事呢?做缩进的代码块(code block)里面的事:获取空闲内存信息,然后睡觉(sleep),睡多久呢?睡 60 秒,这里默认是秒,你也可以更久比如 1h 或者更短比如 500ms,其它格式的时间都要明确的告诉它,不然就是秒。然后就做好了(done),于是再去看看 while,好吧还是 true,于是循环往复以至无穷。

于是现在你知道了,大概怎么做「系统监视」,但是你仔细想就会发现: 我还是需要一个控制台 。

这在早期是没有任何问题的哦。但是后来产生了 Xorg,也就是说我现在显示器可以显示一些 Windows 雏形一样的图形窗口了。后来基于它又有了桌面环境(KDE/GNOME),于是现在我们发现,我不一定非要用黑乎乎的控制台,才可以监视系统。桌面环境下有很多的挂件可以看到啊。如果没有 conky 的话,挂件不是很好吗?实际上对于一些缺乏必要的技能的小白来说,挂件到现在也很好很萌的。

但是,系统管理员们不行啊,因为我要使用桌面环境的挂件,第一我需要安装一整套桌面环境,还要跑起来,那很大很吃资源的。而且,摆在机房里面的服务器并没有显示器的啊。而且,我跑起来了桌面环境我也不是随时都会登的啊。这多浪费啊。

于是他们就想到了,我可以只跑 Xorg,用远程 VNC 接入,用我电脑的显示器,好吧现在我有了一个丑丑的 Xorg 环境。但是怎么让我之前的 shell 脚本的结果显示在桌面上呢?

于是 Conky 应运而生。它其实是一个在 Xorg 上画窗口的程序,这是它的主业。它在 Xorg 上画一个窗口,然后把底层(「一切皆文件」中的文件)绑定成一个个变量,比如 $mem,在 conky 脚本里 $mem 就是内存用量(可能不是真的,但是简单举例)。于是你只要远程登陆 Xorg,运行 conky,在 conky 的配置里写个 $mem,于是另一个丑丑的窗口跳出来,上面只有一行字,就是你的内存用量。

于是这样子,conky 的「高级」就体现出来了,它比 shell 脚本高级,我是能显示在桌面上的 shell 脚本。

那么什么是「高度可配置」呢?因为它的另一项主业是把底层的一些命令绑定成一个个变量。如果我要的变量没有呢?我可以使用解释型语言(比如 shell 脚本,比如 perl/python/ruby)自己写。我只要能定义一个变量,在最后输出(return)一个结果就可以。因为 conky 定义了一个用法叫做 exec(执行),我可以在 conky 里执行其它命令。于是缺什么写什么,就是高度可配置。甚至如果你会写 C 的话,你还可以直接把你的变量定义到你的 conky 修改版本里去。

但是到现在为止,它依然跟我们桌面用户没什么关系,因为:丑。

直到 Lua 的产生,Lua 是阿根廷人开发的一种解释型语言,它非常轻量,适合这种环境(因为 conky 自己就很轻量,你弄个重型语言 C++ 做扩展接口就没有意义了啊); 它非常好学!这是重点,它非常接近人类语言,只比 shell 难一点(上面我做例子的那个 shell 脚本只要你懂一点点英文就能猜出它是干嘛的吧),是一种用户稍微花点心思就能学会的语言,学会它并不算真正意义上的程序员,但是你又能干很多以前做不到的事(比如魔兽世界的外挂就是 lua 写的) ; 它做图(plotting)的代码非常容易,不像你用 C++ 在桌面画个圆给我看看?我是不会。。。但 lua 可能不到 50 行代码就画了一个圆。

于是 conky + lua 就成为了一种非常流行的方式。conky 也从此脱离了傻大黑粗的印象,画圆画曲线画形状,比方块形的桌面挂件要好看得多,而且资源占用甚至有时要少于桌面挂件。

现在我们基本了解了 Conky 究竟是怎么一回事:它就是一个面向系统管理员的大玩具(现在多了一项,用户的终极玩具,因为:你真的关心你系统资源使用情况吗?你只关心「卡」或「不卡」吧。。。那样其实只要给你一个最多能显示两个字的对话框甚至是一个能变色的开关就好了呀。你明明只是拿它当装饰品吧,这也是为什么本教学里我只教你怎么把 conky 弄漂亮而不教你怎么去看到更多资源使用的原因啦),它漂亮也不是因为它本身漂亮,而是 Lua 让它变得漂亮!

Conky 介绍篇完结。谢谢观赏。

1.2 Conky 的安装:

openSUSE 的 conky 是由苏姐温柔呵护的,所以我们就没有必要编译了。

你有两个地方可以安装 conky:server:monitoring 源或 Packman Multimedia 源,它们有什么区别呢?

%if 0%{?packman_bs}
    --enable-audacious=yes 
    --enable-nvidia=yes 
    --enable-xmms2=yes
%else

也就是说,你如果使用 audacious/xmm2 这两个播放器或者想要通过 conky 显示您的 NVIDIA 显卡信息才需要 Packman 里的 conky。但是那两个播放器基本没人使,现在还有 N 卡的基本都是 bumblebee 了吧(按照苏姐在硬件版块的说明,N 卡在 bumblebee 下是隐身的看不到的)。所以一般用 server:monitoring 源里的就可以了。(因为现在 conky 是 1.9.0 而 12.3 源里的是 1.8.3,到了 13.1 的时候连加源都不用了)

加源:(13.1 以后就不用了)

sudo zypper ar -f http://download.opensuse.org/repositories/server:/monitoring/openSUSE_12.3/ server:monitoring
sudo zypper ref

安装 conky:

sudo zypper in conky conky-cairo conky-imlib2

conky-cairo 是因为你需要 cairo 来画漂亮的图,imlib2 同理,它是渲染 3D 图的。现在网上的 conky 配置没有不用它们的。现在装了免得以后麻烦。

到这里就安完了 conky。下面我们要安装苏姐温柔维护的另外一套 conky-plugins。

这是嵬集的散落互联网上各处的高人对 conky 进行的扩展(大部分是 python 的,用 conky 要建立一个观念,就是底层扩展基本都是 shell 或者 python,界面美化是 lua 的),比如检查 Gmail 未读邮件啊,显示最近的天气啊等等。因为这个工作非常漫长琐碎,估计苏姐也不知道什么时候加新东西,所以没有提交进官方源(因为维护起来不方便吧)。现在网上的 conky 配置基本也没有不用它们的。所以就先装上免得以后麻烦。

加源:

sudo zypper ar -f http://download.opensuse.org/repositories/home:/MargueriteSu/openSUSE_12.3/ home:MargueriteSu
sudo zypper ref

安装:

sudo zypper in conky-plugins

目前这个搬运了 U 的 Conky Companions Team 维护的全套插件,按照它的 README.SUSE,苏姐说有发现有好的插件请及时通知它更新,未来我们在这个教学里学习写的插件就贡献给它好了。

至此。conky 完全安装完毕。下一篇就开始正式涉足到神秘的 conky 世界了呢,期待吧!谢谢观赏。


#3

文采很好, 好期待后面的内容


#4

很期待啊


#5

恩… 想到 U 论坛的这个帖子
forum.ubuntu.org.cn/viewtopic.php?f=94&t=313031

lz 怎么看啊? :joy:


#6

明显不一样的东西啊,你那个只是帮你如何使用上他的配置文件,而这个确实教你什么是 conky、如何自己配置自己的 conky、、、、
这个可以说是真正意义上的 conky 第一贴喔,所以大家都在期待中。


#7

说到点子上了…U 论坛一般都是给你鱼, 很少教你捕鱼的


#8

我滚来了。下面带来 conky 教学真正意义上的第一篇。

  1. 通过一个小例子初步接触 conky 配置文件

大家在网上到处都可以看到「配置 conky」,那么何谓配置呢?很简单,去编辑 conky 的配置文件。实际上在 Linux 下「配置 XXX」最终都会落实到改配置文件,不管你是图形做的还是 VIM 做的,因为「一切皆文本」。那么 conky 的配置文件在哪里呢?

/etc/conky/conky.conf
$HOME/.conkyrc

有人会说,为什么是两个位置?它们之间究竟是什么关系?

按理说这个问题不应该由我来为你解答,应该祭出 margueirte 这种规则上的大神来教育你下什么叫做 LSB (Linux Standard Base)。

LSB 的意思是说,Linux 有好多发行版,而 Linux 是自由的,于是会出现很尴尬的情况:软件开发者们不知道自己的安装脚本究竟把文件装到哪里才是对的!比如 Debian 的 python 文件有些是装到 /usr/share/pyshared 文件夹的,而 Fedora 则是 /usr/lib/python2.7/site-packages/,没有一点相同点。

于是就出现了 LSB,制定一个标准,定义了一些 Linux 通用文件夹的用途,比如 /home/anne,/home 就是用来做用户个人主文件夹的,如果有人把它的软件装到了 /home/bin/xxx 那他实质上就违背了 LSB,虽然没有什么「严厉惩罚」吧,但是这很二不是么?之前是没人去定义什么叫做「聪明」,于是相应的也就没有「二」。现在「聪明」已经被定义出来了,就是海瑟薇那样的。于是 Debian 再死性不改装到 /usr/share/pyshared 就是二了。因为 /usr/share/ 已经被 LSB 定义为数据文件专用(data)了。而 .py 非明不是数据文件。

好,LSB 能解释为什么在 /etc 和 /home 下面放,但为什么有两个配置文件?这涉及到 Linux 哲学上的多用户系统。所谓多用户系统,就是你上面还有个老大哥,系统管理员,在看着你。他有 root 权限可以决定你可以做什么不可以做什么。现在是你的个人电脑你既是一般用户又是系统管理员,你就知道 root 密码,但不代表你只有一个身份,不然就不需要 sudo 了对吗。

两个配置文件的意思就是说有一个是 root 才可以改的,这样系统管理员可以去定义你们这群一般用户默认启动 conky 时看到的 conky 是什么样子的。而 $HOME/.conkyrc 则是你自己的。你可以定义只有我看到的 conky 是什么样的。

(高手可能又出来跑题了,是的,这种方式并不是完美的。因为如果你去 rpm -qf /etc/conky/conky.conf 你会发现这个文件是受到包管理器控制的,而 $HOME/.conkyrc 则不是。于是系统管理员非常尴尬,他改的东西又被会他的老大哥:打包者无情地冲刷一遍又一遍。更加聪明的方法可能是结合这种与 systemd 的配置,打包者改 /usr/lib/systemd/system 的配置,系统管理员改 /etc/systemd/system 的配置,用户改 $HOME/.systemd/system 的配置。很可惜除了睿智的海瑟薇目前为止还没人想到。)

另外需要提到一点,conky 的主命令(就是 conky) 提供了一种机制,可以让它启动两个以上的 conkyrc:

conky -c $HOME/.conky/conkyrc1
conky -c $HOME/.conky/conkyrc2

分别显示在你屏幕的左边和右边。所以诸位看到网上某些非常炫酷的很大只的 conky 配置(它甚至有 startup.sh 让你启动)请不要惊讶,它可能不止一个 conkyrc。

而上面的机制其实就是说,我再上面讲的都是废话,因为我完全可以:

conky -c /path/to/whatever/I/want/conkyrc1

来把我的 conkyrc 放到任何位置。

好了,何谓「配置 conky」解释完毕。

于是我们下面就要来攻坚了。那就是 conkyrc 这个配置文件究竟是怎样的。这里我准备用一个小例子来说明。(不要以为麻雀虽小五脏就不全了,一个小村落也可能有两个电脑房!)这个小例子就是被许多人用着的 Gotham Conky(http://custom-linux.deviantart.com/art/Gotham-Conky-config-205465419)。

!](http://fc07.deviantart.net/fs70/i/2011/108/c/2/gotham___conky_config_by_psyjunta-d3ebu4r.png)

它非常之简单(相应的内存占用就小,诸位要明确一个概念,conky 不是不拿群众一针一线的雷锋,它也要吃粮的,而且它严格说是一种脚本语言而不是编译语言,所以不存在通过编译参数进行 CPU/ 内存优化这种高级的东西,你让它干的越多,它吃的就越多,所以不要以为 conky 就一定比挂件省资源,如果你的 conky 自定义函数都是用 Java 写的,那它不比你的 android 手机轻量!这就是为什么在上一篇我会屡次强调 python/lua 对 conky 的贡献和作用的原因),而又非常的美观,所以你可能无意之中见到过它的许多「变种」,比如苏姐曾经这个:

!](https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcTXPl7WaASOq9sq2oxpHEpJM3yjCLZx-44pgtJ5McpKzDUYFWN1)

好我们下载它。然后解压。注意很多 conky 的压缩档你解压了可能什么都没有,这让很多新手大叫被骗,但实际上它是有的,因为如果只有一个 .conkyrc 的话,你不「显示隐藏文件」是看不到的(linux 下以点开头的文件都会被隐藏,非 root 权限你 ls 都看不到)。我们这个就是这个情况。所以:

mv .conkyrc gotham-conkyrc

了解这个对你未来的人生会有很大帮助,你女朋友可能发现你们公用的电脑硬盘变得非常满却找不到你的教育片。

use_xft yes
xftfont 123:size=8
xftalpha 0.1
update_interval 1
total_run_times 0
own_window no
own_window_type override
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
minimum_size 250 5
maximum_width 500
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no
default_color white
default_shade_color red
default_outline_color green
alignment top_left
gap_x 60
gap_y 300
no_buffers yes
uppercase no
cpu_avg_samples 2
net_avg_samples 1
override_utf8_locale yes
use_spacer yes


TEXT
${voffset 10}${color EAEAEA}${font GE Inspira:pixelsize=120}${time %H:%M}${font}${voffset -84}${offset 10}${color FFA300}${font GE Inspira:pixelsize=42}${time %d} ${voffset -15}${color EAEAEA}${font GE Inspira:pixelsize=22}${time  %B} ${time %Y}${font}${voffset 24}${font GE Inspira:pixelsize=58}${offset -148}${time %A}${font}
${voffset 1}${offset 12}${font Ubuntu:pixelsize=10}${color FFA300}HD ${offset 9}$color${fs_free /} / ${fs_size /}${offset 30}${color FFA300}RAM ${offset 9}$color$mem / $memmax${offset 30}${color FFA300}CPU ${offset 9}$color${cpu cpu0}%

是的,这就是 Gotham Conky 的全部了。但是吧,你不改依然直接跑不了。其实吧,你们应该确立起这个概念,conky 不改是不能用的,所以即使楼上有人贴的链接里面也得教你怎么吃鱼对吧。

我之所以选它入门,因为它既没有使用 python 插件也没有使用 lua 画图,完全是作者强悍的审美弄出来的极品。这样我们可以专注在 conky 的配置文件中,而不要去找任何东西。

它基本上分成了两大块:TEXT 之前和 TEXT 之后。TEXT 是一个旗标,它之后的所有东西都会被画到最终你看到的 conky 窗口(conky 跟所有其它应用程序一样是有一个主窗口的,你看不到它不代表不存在,因为它可能背景透明可能没有边框,要想确认 conky 究竟有没有主窗口很简单,安装完 conky 直接运行 conky,你看到的那个大黑框是不是累感不爱了?那个就是),而之前的东西都不会被画,所以配置选项写在前面,要画的东西写在后面。


我们分开来讲,先来看配置选项部分。

注意我是不太可能会把 conky 所有的配置选项都给你讲解一遍的,因为有些几乎从来就没有人用到过。想了解 conky 的全部配置选项怎么办呢?

man conky

你就看到了。而且如果你足够耐心,你都不需要我这个小老师来为你穿针引线说重点,都在 manpage 里写着呢。(苏姐给我发信说她正在翻译这个 manpage,有了中文后就更方便了)所以我只讲我用到的,尽量少讲意思,多讲用法,多讲例题。

use_xft yes
xftfont 123:size=8
xftalpha 0.1
update_interval 1
total_run_times 0

先讲这几个。

  • use_xft:使用 xft 渲染。那么要知道什么是 xft。xft 是 Xorg 窗口系统利用 freetype 渲染字体的一个库,所以简单的说,你只要在 TEXT 下面要画的图里用到了 .ttf/.otf 格式的字体,那你这里必须是 yes,实际上几乎没有 no。因为这都 2013 年了,不使用 Truetype 技术进行反锯齿的字体几乎找不到了。这只是 conky 为了显示自己开发于 truetype 以前、「百年老字号」的一个炫耀性的东西罢了。

  • xftfont 123:size=8 要使用的 xft 字体也就是 .ttf/.otf 字体。manpage 里没说格式,但是这里可以简单的看出格式是 字体名: 字号。123?根本没有这个字体。size=8 是英文 8 号字。为什么要用一个完全不存在的字体呢?因为这里指定的是默认字体,作者只需要一个字号。实际上在 TEXT 以下的文本你也会发现,作者需要写字的时候都定义了 ${font GE Inspira:pixelsize=120}文字 ${font}。它的字体是随时变动的。而没定义大小就会用英文 8 号。实际上如果它所有的地方都使用了 pixelsize=xxx 的话它连这个选项都不需要。

  • xftalpha 0.1 字体的 Alpha。Alpha 就是不透明度(不要觉得怪,是「不透明度」而不是「透明度」,因为 100% 不透明度就是没透明,而 100% 的透明度是完全透明,实际上 Linux 下是没有「透明度」这个术语的,好吧,在给点课外内容:KDE 的「活动不透明度」「不活不透明度」的绕口令现在你能理解了吧),如果你玩过 PS 玩过 GIMP 这很容易理解。我简单的截图为例:


而 xftalpha 就是给,注意了,xftfont 中指定的字体应用不透明度。为什么说是 xftfont 中指定的字体呢?它的意思是说如果你在 TEXT 下面的部分使用 ${font GE Inspira:pixelsize=120}文字 ${font} 替换了文字,这个文字是不会应用到不透明度的。 所以这里作者犯了一个错误,他不应该用 123:size=8 应该用 *:size=8 。实际上你看它的概念图也发现了字体是完全没有透明的。真正有透明的字体应该像这样:


  • update_interval 1。大家都能理解,图片是一次性的,做出来之后就不会再变了。那么 conky 其实就是在你桌面上画图的程序。而你要看的可不是永久静态的东西,你要监视的是自己的系统。「即时的」。而 update_interval 就是以秒计的更新周期,每隔 1 秒就画张新图,把你的旧图替换掉,于是肉眼看它就是「即时的」、「动态的」了。实际上所有的计算机程序都没有「即时的」,只是延迟低到你感觉不出而已。

  • total_run_times 0。也是以秒计。它的意思是说,conky 更新几次(看上面的 update_interval)后就会退出。如果你设置了次数,比如 5 次,那 conky 在你的桌面上显示不了一会儿。作者这里设置成了 0,表示除非你手动干掉 conky,否则它永远不自己退出。但实际上, 所有的命令行程序默认就是这个德行啊!

作者写的这个选项就直接证明了,他只是有点审美而已,实际技术可能还不如海瑟薇理解得透彻。甚至这整个配置的骨架都是他抄别人的,有些看不懂的就没敢删。很可能他自己就是半瓶水(五个选项里用错俩,考试也就 60 分的样子)。但这丝毫影响不了这个配置的经典程度,所以这也鼓励了大家,我虽然菜,但我的某些简单东西也是可能久远流传的。关键是我敢去做。北欧的人就是这样。好多人懂 Linux 懂的并不多,但它们几乎每一个人的桌面都不一样,都是自定义过的。(原效果图上那个「星期一」嘛,用 Google 翻译一下就知道作者是哪儿的了)

未完待续 。出去办点事情。


#9

果然授人以鱼不如授人以渔,讲的很好啊,期待更新!


#10

楼主好霸气的感觉 有女汉子的风范 :1:
不管怎样 语言关得过 否则玩 Linux 不是找痛苦吗


#11

催更啦,快给我们讲讲 own_window 那一串设置都是啥意思,感觉很混乱,conky 自己的文档也没说清楚……(conky 的 wiki 大概被墙了不知道上面说清楚没 - -)


#12

Audacious 现在用的人还是很多的。


#13

学习中!谢谢提供!


#14

断更了吗?不是说出去办事的吗,办了 9 个月。。。


#15

up 断更了咩,等着学习呢


#16

很有用谢谢楼主,先mark一下