GeekTool是一款能让MM的Mac桌面变得相当漂亮的软件,虽然Mac OS X desktop已经很漂亮了.它是一款"系统偏好设置"中的应用.设置它需要花费你许多时间.
好了,我们开始吧.首先请看下我的当前桌面截图:http://d.pr/SYY8
是的,时间并非静止的,而且左下角的系统内存分配显示也是实时的.这些,就是GeekTools的功劳.在下载安装完毕后,我们打开"系统偏好设置.app",选择"其它"处的GeekTool即可进入.

可向桌面以三种不同的方式添加东西.而我们主要用到的就是shell命令.上图中的我为了显示不同大小,不同字体,不同颜色的日期与时间,我添加了4个shell.每一个shell在对应的Properties(属性)中修改参数,包括字体,颜色,背景色,显示的字符,编码,位置,透明度调节等等等等.群组功能的意思就是一系列的Geeklets你可以将它们归类再选择应用.
GeekTool的设置也就这些了,它具体可以实现以下功能:
时间与日期
- 月份: m或者B
- 简写的月份: b
- 日期: d
- 年/月/日: D
- 星期: A
- 不显示"星期"俩字: a
- 12制时的小时: l
- 24制时的小时:H
- 分钟: M
- 秒 :S
- 上下午: p
- 以上,请注意大小写
具体的shell写法: date + "%H:%M" ,该意思则为显示24制时的当前小时时刻 和 当前的分钟时刻.在中间我使用了: (冒号)将它们隔开了,这样显示地更加惟妙惟肖.
其中""是英文输入状态下的写法,可省略,也可以使用单引号.运用以上的写法我分别写了四个Geeklets,如下图:

- date +%H:%M
- date +%B
- date +%A
- date +'%d'
- 注意:如果你显示了秒,记得确保refresh every处保持0 ,这样它就会每秒都跳动了
日历
在shell中填入以下命令:
- cal | sed "s/^/ /;s/$/ /;s/ $(date +%e) / $(date +%e | sed 's/./#/g') /"
其中的# 则为当前日期,你可用其它各类字符来替换,比如
磁盘使用状况
- df -h | grep disk0s2 | awk '{print "Macintosh HD:", $2, "total,", $3, "used,", $4, "remaining"}'
其中你运行了之后就会发现引号内的Macintosh HD啊,total啊,used啊,remaining啊都可以用中文来替换显示的.
废纸篓的大小
- du -sh ~/.Trash/ | awk '{print "废纸篓: " $1}'
Mac已运行时间
- uptime | awk '{sub(/[0-9]|user\,|users\,|load/, "", $6); sub(/mins,|min,/, "min", $6); sub(/user\,|users\,/, "", $5); sub(",", "min", $5); sub(":", "h ", $5); sub(/[0-9]/, "", $4); sub(/day,/, " day ", $4); sub(/days,/, " days ", $4); sub(/mins,|min,/, "min", $4); sub("hrs,", "h", $4); sub(":", "h ", $3); sub(",", "min", $3); print "Uptime: " $3$4$5$6}'
磁盘信息
- df -g | awk '/\/dev\/disk0/ {print "我的硬盘 - "$2-$3"G of "$2"G remaining ""("$5")" }';
内存CPU进程数显示(只是如上图所示我的显示方法)
- top -l 1 | awk '/PhysMem/ {print "RAM : " $8 " "}' ; \
- top -l 2 | awk '/CPU usage/ && NR > 5 {print $1, ":", $3, $4, $5, $6, $7, $8}'
- ps -arcwwwxo "pid %cpu command" | egrep "PID|$1" | grep -v grep | head -12 | tail -11
Mac系统版本及CPU,内存等硬件信息
- scutil --get ComputerName;
- sw_vers | awk -F':\t' '{print $2}' | paste -d ' ' - - -;
- sysctl -n hw.memsize | awk '{print $0/1073741824" GB RAM"}';
- sysctl -n machdep.cpu.brand_string;
电源状态
- my_ac_adapt=`ioreg -w0 -l | grep ExternalConnected | awk '{print $5}'`
- if [ "$my_ac_adapt" == "Yes" ]
- then
- echo "Power : External"
- else
- cur_power=`ioreg -w0 -l | grep CurrentCapacity | awk '{print $5}'`
- max_power=`ioreg -w0 -l | grep MaxCapacity | awk '{print $5}'`
- bat_percent=`echo "scale=2;$cur_power / $max_power" | bc`
- bat_percent=`echo "$bat_percent * 100" | bc | sed 's/100//'`
- cyc_count=`ioreg -w0 -l | grep "Cycle Count" | awk 'BEGIN { FS = "=" } ; {print $8}' | awk 'BEGIN { FS = "}" } ; {print $1}'`
- echo "Power : Battery ($bat_percent%)"
- echo "Cycles : $cyc_count"
- fi
我的桌面还显示了一条谚语,它来自dailyzen
- curl -s http://www.dailyzen.com/ | sed -n "/<\!--Add Quote for correct day-->/,/<\/TD>/p"|sed -e "s/<[^>]*>//g" |strings|fold -sw60
- 由于它是一天更新一次的,因此在这里我可以将该条shell的refresh every改成3600
看到这里,你应该意识到你该去找一张并不是那么复杂的桌面背景图来做真正的搭配了吧.而且如果你有优美的字体,那你的桌面将会更"丰富多彩".我不敢说我的GeekTool配置是美的,而且上述的每一条shell命令并不是指定唯一的,每一条都可变.每一个人有每一个人不同的配法,所谓完全DIY.
除了上述我列举的,也推荐阅读以下信息:
MacX上的讨论(中文)
Macing的GeekTool科普(中文),其中包括了iTunes信息的与天气图标的显示.
SmokingApples(英文)---看看人家的geektool配置后的桌面吧
iamawesome(英文)---这位仁兄给出了自己的php方式显示天气桌面的图标,而且底下的评论给出的方法也相当多.
MacOSXTips的Geeklets:http://www.macosxtips.co.uk/geeklets/ --上面给出的geeklets可以直接下载拿来用了,而且都配了图片说明.
GeekTool发布页面:http://projects.tynsoe.org/en/geektool/
GeekTool当前版本3.0,属于免费软件.
GeekTool的卸载
因为它是安装在系统偏好设置面板上的,官方给出的文档需要删除Library/Preferences/org.tynsoe.geektool.plist文件.而且GeekTool的dmg安装文件内也包含了卸载,点击即可.
