这个脚本的功能是监视log文件(或者任意文本文件)的变化,并在terminal窗口标题栏上显示log文件的行数。其中调用了
这里还有一个用这个脚本做的.desktop文件,解开后双击就可以用了。需要注意的是,内嵌在.desktop文件中的脚本中的%要用%%来替代。
另外,从这个程序中也不难看出,在X11下监视、窃取键盘操作是很容易实现的。这也就是为什么在X11下的虚拟终端里运行sudo是有安全隐患的,而应该用gksudo一类程序代替。
以下是这个程序:
less +F filename
功能,它和tail -f filename
类似,不过可以按Ctrl-C后翻看前面的内容,按Shift-F继续监视文件末尾。这个脚本一个比较fancy的功能是当log文件有更新时,任务栏上的terminal窗口会像pidgin来消息时那样闪动。这里还有一个用这个脚本做的.desktop文件,解开后双击就可以用了。需要注意的是,内嵌在.desktop文件中的脚本中的%要用%%来替代。
另外,从这个程序中也不难看出,在X11下监视、窃取键盘操作是很容易实现的。这也就是为什么在X11下的虚拟终端里运行sudo是有安全隐患的,而应该用gksudo一类程序代替。
以下是这个程序:
#!/bin/sh FILE="/var/log/syslog" PROMPT_COMMAND= ID="$RANDOM no way there is a window with the same name $RANDOM" echo -ne "\033]0;$ID\007" ID=`xwininfo -name "$ID" | grep "Window id: 0x[[:xdigit:]]*" -o | cut -d\ -f3` xev -id $ID | awk "/FocusIn|FocusOut/ { system(\"xprop -id $ID -remove _NET_WM_STATE\") }" & while true; do if [ "$TIME" != "`stat -c %Y "$FILE"`" ]; then TIME=`stat -c %Y "$FILE"` xprop -id $ID -f _NET_WM_STATE 32a -set _NET_WM_STATE _NET_WM_STATE_DEMANDS_ATTENTION echo -ne "\033]0;`wc -l "$FILE" | cut -d\ -f1` `basename "$FILE"`\007" fi sleep 2 done & less +F "$FILE" kill %1 kill %2
- labrador's blog
- 8628 次点击
发表新评论