页面

2009/02/21

Acoc -- 给命令输出添点色彩

如今,终端下的世界也不像以前那样,只有黑白两色,不少命令都支持带有色彩的输出,舒适了广大命令行爱好者的眼睛~ 

但是一些基础命令,输出的还是黑白的信息,比如 ping, traceroute, route, df, lsmod, rpm ……

Acoc 的全称是 Arbitrary Command Output Colourer,就像名字说的那样,Acoc 可以给任何命令的输出添上色彩。

Acoc 基于 Ruby,需要 Term::ANSIColor 和 Term::ANSIColor 这两个 Ruby 库。Acoc 的工作原理就像一个 wraper,接收命令的输出,加上颜色,然后再显示出来,Acoc 内置了不少基础命令的模板,只要运行 acoc command 就可以了~

让我们来看看效果:

 traceroute 的输出,相应快的用绿色表示,速度慢的用黄色和红色,一目了然~

 

df 的输出, 磁盘空间告急的分别用黄色和红色显示了出来~

ifconfig 的输出,着重显示了 IP 地址和流量信息~ 

top 的输出,虽然赶不上 htop,但是比原来密密麻麻的感觉要好多了~

更多的命令效果自己尝试一下吧,我就不一一列举了  。你可以看看 /etc/acoc.conf 这个文件,里面列出了支持的命令和模板,如果你有兴趣,可以更改这些设定,甚至添加新的命令,官方的设置指南在这里

不过每个名列前打个 acoc 有点麻烦,如果借助 shell  的 alias 功能就方便多了,比如你想彩色输出 ping 这个命令,那么只要:

alias ping='acoc ping'

就可以直接输入原始的 ping 命令,也会输出彩色的结果了。把这个 alias 丢到 ~/.bashrc 里去就可以了~

Acoc 的主页: http://www.caliban.org/ruby/acoc.shtml

出自:http://www.linuxgem.org/posts/4886


Safe-rm -- 防止误删重要的文件

在控制台非常容易误删文件,这可是个痛苦的经历,转瞬间,重要的文件就灰飞烟灭了……误删了系统文件还可以重装,如果误删了自己的文档资料,那就哭死了。

虽然可以 alias rm='rm -i' ,但是一个眼花,或者 -rf 就可以轻易让这道脆弱的防线崩溃。

Safe-rm 可以给你重要的文件目录加一层保护,他其实是一个 rm 命令的封装,在执行真正的 rm 操作前,先检查目录和文件是否在保护列表中,如果在就放弃,并且打印出一条错误信息~

你可以在这里下载 Safe-rm 软件包,解压后会得到一个 safe-rm 可执行文件,将这个文件拷贝到 /usr/local/bin,就可以使用 safe-rm 命令来删除文件了,用法和参数和 rm 是一样的。

当然,最好是能够替换掉系统默认的 rm 命令,这样即使是不知道 safe-rm 的用户,也可以受到保护。只需做一个 rm 的符号链接:

  1. ln -s /usr/local/bin/safe-rm /usr/local/bin/rm

然后,要保证环境变量 PATH 中,/usr/local/bin 在 其他路径的前面:

  1. PATH=/usr/local/bin:/bin:/usr/bin

这样 rm 命令实际调用的就是 safe-rm 命令了。

safe-rm 命令使用两个配置文件:

/etc/safe-rm.conf
~/.safe-rm

分别为全局和用户的保护文件列表,只需要将重要文件或者目录的完整路径输入进去就可以了,每条以回车分隔。

例如,在 ~/.safe-rm 中写:

  1. mywork
  2. mydoc

这样,我主目录下的 mywork 和 mydoc 这两个目录就不会被删除了。如果强行执行 rm -R mywork,那么就会出现错误信息:

Safe-rm 的主页: http://code.google.com/p/safe-rm/

来自:http://www.linuxgem.org

Hv3 -- 通过 ACID2 测试的开源浏览器

Hv3 (Html Viewer 3) 是一款小巧和快速的开源浏览器。和其他的 mozilla 外壳不同,Hv3 的 Html 渲染引擎基于 Tkhtml3,可能大多数人都没有听说过,但是值得一提的是,Tkhtml3 是可以通过 ACID2 测试的 

另外一点值得一提的是,Tkhtml3 这个渲染引擎完全是用 C 来写的,可能正因为如此,Hv3 渲染网页的速度飞快,滚屏也毫不含糊。

不仅如此,Hv3 还支持 Tab 页浏览、书签、搜索,在 Linux 下也可以完美显示中文,唯一的弱点只是对 Javascript 的支持不是很完善。

如果你喜欢研究的话,可以瞧瞧 Tkhtml3 的源代码,看看他是如何在这么小的体积内达到通过 ACID2 的程度。除此之外,你也可以把他当作快速查看 html 文档的阅读工具。

在 Linux 下安装,需要按照以下步骤:

  wget http://tkhtml.tcl.tk/hv3-linux-nightly-08_0203.gz
  gunzip hv3-linux-nightly-08_0203.gz
  chmod 755 hv3-linux-nightly-08_0203
  ./hv3-linux-nightly-08_0203

Hv3 的官方网站在:http://tkhtml.tcl.tk/hv3.html

来自: http://www.dup2.org/node/1051 from BT的花

一键式备份你的 Gnome

用得最习惯的 Gnome 桌面配置往往不是一蹴而就,而是一段时间慢慢调整得来的,如果要更换电脑,或是转移到另外的 Linux 系统上工作,就要把原来的配置转移过来。

当然你可以直接打包 Gnome 配置的相关目录,甚至整个家目录,不过 Yourgnome 这个小脚本可以更加方便的完成备份和恢复的任务。

Yourgnome 就是一个 bash 脚本文件,他可以备份和恢复你的 Gnome 的:

  1. 所有主题
  2. panel 设置
  3. 蓝牙管理器设置
  4. Evolution 设置
  5. 归档管理器设置
  6. 屏保
  7. 会话设置
  8. Gnome-terminal 设置
  9. 音量控制设置
  10. Metacity 和 Compiz 设置
  11. Update-manager 和 Notifier 设置
  12. Totem 设置
  13. 网络管理器设置
  14. Screenlets 设置

询问保存位置后,yourgnome 会把所有的配置文件打包成一个 tar.gz。

脚本非常简单,以至于可以贴在这里:

#!/bin/sh
#-------------------------------------------#
#                     yourgnome version 1          #
#       http://code.google.com/p/yourgnome          #
#                            Licence: GPL            #
#       http://www.gnu.org/licenses/gpl.html   #
#-------------------------------------------#
clear;
echo "yourgnome Version 1 , http://code.google.com/p/yourgnome\n";
echo "this tool used to backup your Gnome in one tar.gz file !";
echo "Also, it restores that backup for you when you want !";
echo "\n";
echo "\033[1m 1] Backup.\033[0m";
echo "\033[1m 2] Restore.\033[0m";
read -p "->> 1 or 2 ?: " choice
if [ $choice -eq 1 ];
then
clear
echo "yourgnome Version 1 , http://code.google.com/p/yourgnome\n";
echo "this tool used to backup your Gnome in one tar.gz file !";
echo "Also, it restores that backup for you when you want !";
echo "\n";
echo "->> Gnome will be backed up for the user: \033[1m$USERNAME\033[0m";
echo "->> type the path in which you want to save the backup, then press Enter ..";
echo "->> e.g. /home/$USERNAME/Desktop"
read -p "->> Path: " path
clear
nowd=`date | awk '{ print $3_$2_$6 }'`
ran=`echo $$`
echo "yourgnome Version 1 , http://code.google.com/p/yourgnome\n";
echo "this tool used to backup your Gnome in one tar.gz file !";
echo "Also, it restores that backup for you when you want !";
echo "\n";
echo "\033[1m**-->> 0] Creating temporary folder ..\033[0m";
mkdir /tmp/yourgnome_$ran-$nowd
echo "\033[1m**-->> Done !\033[0m";
echo "\033[1m**-->> 1] Creating backup of: Gnome Themes ..\033[0m";
cd $HOME/
tar -z -P --create --file /tmp/yourgnome_$ran-$nowd/yourgnome_themes_$ran-$nowd.tar.gz .themes
echo "\033[1m**-->> Done !\033[0m";
echo "\033[1m**-->> 2] Creating backup of: Gnome Background Image ..\033[0m";
bgpath=`gconftool-2 -g /desktop/gnome/background/picture_filename`
bgdir=`dirname $bgpath`
fname=`basename $bgpath`
cd $bgdir/
tar -z -P --create --file /tmp/yourgnome_$ran-$nowd/yourgnome_bg_$ran-$nowd.tar.gz $fname
echo "\033[1m**-->> Done !\033[0m";
echo "\033[1m**-->> 3] Creating backup of: Gnome Configuration Records ..\033[0m";
cd $HOME/
tar -z -P --create --file /tmp/yourgnome_$ran-$nowd/yourgnome_conf_$ran-$nowd.tar.gz .gconf
gconftool-2 --dump / > /tmp/yourgnome_$ran-$nowd/dump
echo "\033[1m**-->> Done !\033[0m";
echo "\033[1m**-->> 4] Creating Info Files ..\033[0m";
echo "$ran-$nowd" > /tmp/yourgnome_$ran-$nowd/infofile
echo "$fname" > /tmp/yourgnome_$ran-$nowd/bgfile
echo "\033[1m**-->> Done !\033[0m";
echo "\033[1m**-->> 5] Creating Final File ..\033[0m";
echo "\033[1mQ:\033[0m What name you want for the final backup file ?"
echo "e.g. MyBackUp"
read -p "filename: " n
cd /tmp/yourgnome_$ran-$nowd/
tar -z -P --create --file $path/$n.tar.gz *
echo "\033[1m**-->> Done !\033[0m";
echo "\033[1m**-->> 6] Removing temporary folder ..\033[0m";
rm -rf /tmp/yourgnome_$ran-$nowd
echo "\033[1m**-->> Done !\033[0m";
fi
if [ $choice -eq 2 ];
then
clear
echo "yourgnome Version 1 , http://code.google.com/p/yourgnome\n";
echo "this tool used to backup your Gnome in one tar.gz file !";
echo "Also, it restores that backup for you when you want !";
echo "\n";
echo "type the path with filename of yourgnome backup .."
echo "->> e.g. /home/$USERNAME/Desktop/MyBackUp.tar.gz"
read -p "->> Backup File: " epath
echo "\033[1m**-->> 0] Creating temporary folder ..\033[0m";
if [ ! -d /tmp/yourgnome ]then
mkdir /tmp/yourgnome
fi

echo "\033[1m**-->> 1] Reading backup ..\033[0m";
tar --extract --directory=/tmp/yourgnome --file=$epath
getinfofile=`cat /tmp/yourgnome/infofile`
echo "\033[1m**-->> Done !\033[0m";
echo "\033[1m**-->> 2] Extracting: Gnome Themes ..\033[0m";
cd /tmp/yourgnome/
tar --extract --directory=$HOME --file=yourgnome_themes_$getinfofile.tar.gz
echo "\033[1m**-->> Done !\033[0m";
echo "\033[1m**-->> 3] Extracting: Gnome Configuration Records ..\033[0m";
tar --extract --directory=$HOME --file=yourgnome_conf_$getinfofile.tar.gz
gconftool-2 --load /tmp/yourgnome/dump /
echo "\033[1m**-->> Done !\033[0m";
echo "\033[1m**-->> 4] Extracting: Gnome Background Image ..\033[0m";
echo "type a path to save the background image in .."
echo "->> e.g. /home/$USERNAME/Desktop"
read -p "->> Path: " np
tar --extract -P --directory=$np --file=yourgnome_bg_$getinfofile.tar.gz
bgf=`cat /tmp/yourgnome/bgfile`
gconftool-2 -s /desktop/gnome/background/picture_filename -t string $np/$bgf
echo "\033[1m**-->> Done !\033[0m";
echo "\033[1m**-->> 5] Removing temporary folder ..\033[0m";
rm -rf /tmp/yourgnome
echo "\033[1m**-->> Done !\033[0m";
fi

你也可以在 http://code.google.com/p/yourgnome 来下载最新的脚本。

Tegaki:自由的手写识别软件

Linux似乎在平板电脑领域做的不是很好,很大一方面主要是因为缺少配套的手写识别支持。

现在这个情形可能要改变了,Tegaki专案就是来解决这个的。

Tegaki是一个相当年轻的工程,它于2009年2月11日发布了初始化0.1版本。

Tegaki目标成为桌面和移动领域的现代化的手写识别软件,支持中文和日文的手写识别,更重要的是,它是自由软件,完全开源。

它由好几个部分组成,其中包括基础部分,scim的集成和GTK的界面等等。

目前的0.1版似乎已经做的不错,请看截图和视频:

tegaki

想要关注该项目的详细信息,可以访问:Tegaki Project