Linux内核的VGA模式对照表

在 /boot/grub/menu.lst 的内核命令后加上 vga=nnn (nnn为整数)参数可以使用高分辨率的命令行界面。其值如下。

640x480 800x600 1024x768 1280x1024
8bit 769 771 773 775
15bit 784 787 790 793
16bit 785 788 791 794
24bit 786 789 792 795

(Read More)

使用Devil's Pie自动化你的Gnome

我们知道,在KDE中可以通过窗口管理器方便地将窗口设置为总在最前、设置出现在所有工作区等, 但是Ubuntu 6.06的Gnome中无法做到这一点。Gnome所用的窗口管理器MetaCity认为这些不是窗口管理器的任务, 因此没有实现这些功能。好在Gnome的一名开发者为我们开发了 Devil’s Pie 这个程序,它能够根据预先设定的动作自动控制Gnome中的窗口。

(Read More)

bash-completion:增强bash自动补齐功能

默认情况下,在bash中按 TAB 可以自动补齐,但仅能自动补齐命令名和文件名。bash-2.05及以后的版本提供了自动补齐的编程接口,通过安装 bash-completion 来使用 TAB 键自动补齐几乎任何内容,包括参数、文件、目录甚至包名称等等。例如:(表示按TAB键)

$ rpm -<TAB>    (自动补齐参数)
-F  -U  -V  -b  -e  -i  -q  -t
$ man cat<TAB>    (自动补齐manpage)
cat       catan     catanf    catanh    catanhf   catanhl   catanl    catch     catclose  catdic    catgets   catopen
$ tar xjvf <TAB>   (补齐时仅显示tar.bz2文件)
gimp-2.2.13.tar.bz2  glib-2.12.3.tar.bz2

最近的发行版一般都自带bash-completion包,如果你的bash没有这个功能,可以从这里下载bash-completion包并安装。安装方法很简单,下载到的包中包含一个 bas-completion 文件,将其放在 /etc 下,然后编辑 /etc/bashrc,在 if [ “$PS1” ]; then 的判断中加入以下内容:

if [ "$PS1" ]; then
  ...其他内容省略,加入以下内容
  # Run bash completion code
  if [ -r /etc/bash_completion ]; then
  # Source completion code.
    . /etc/bash_completion
  fi
fi

(Read More)

将你的Ubuntu装扮成 Mac OS X

这是一篇美化教程,教你如何将 Ubuntu 6.06 Dapper 装扮成 Mac OS 的样子。 本文参考了Ultimate Ubuntu Dapper Look Like OSX这篇文章。

先来看看抓图。

ubuntu_mac_os_x.png

(Read More)

Ubuntu下ATI显卡驱动安装成功

安装参考:Ubuntu中国Wiki

(Read More)

配置gaim登录gtalk

用以下的方法可以通过 gaim 登录 gtalk。

  1. 设置协议为Jabber。
  2. 设置用户名为你的gmail用户名。
  3. 设置服务器为 gmail.com。
  4. 确保选中“若可用则使用TLS”选项。
  5. 设置连接服务器为takl.google.com。

gaim_gtalk.png

2008/1/13更新:gaim已经更名为pidgen,并且发现在gentoo里面最新版pidgen-2.2.1已经可以直接选择Google Talk协议了。

(Read More)

Ubuntu 6.06下编译gVim7.0

首先安装编译工具。

$ sudo apt-get install build-essential
$ sudo apt-get install ncurses-dev
$ sudo apt-get install xorg-dev
$ sudo apt-get install libgtk2.0-dev

然后从 http://www.vim.org 下载 gvim 7.0 的最新源代码 vim-7.0.tar.bz2。

$ wget ftp://ftp.vim.org/pub/vim/unix/vim-7.0.tar.bz2
$ tar xjvf vim-7.0.tar.bz2
$ cd vim70

编译并安装:

$ ./configure --enable-fontset --enable-cscope --enable-gui --enable-multibyte --with-x
$ make
$ sudo make install

确认安装是否正确:

$ gvim

如果能正常显示 gVim 的界面则说明安装成功。然后删除自带的 vim 6.4。

$ sudo apt-get remove vim vim-common vim-runtime

建立符号链接使其指向 vim 7.0。

$ sudo ln -s vim /usr/local/bin/vi
$ sudo ln -s /usr/local/bin/vim /bin/vi

(Read More)

rpm与dpkg的对照表

翻译自 http://www.clug.ca/node/236

rpm dpkg 动作
rpm -i filename.rpm dpkg -i filename.deb 安装
rpm -U filename.rpm dpkg -i filename.deb 更新
rpm -e pkgname dpkg -P pkgname 删除
rpm -q pkgname dpkg -l pkgname 查询
rpm -qa dpkg --get-selections 列出所有安装的包
rpm -qi pkgname dpkg -p pkgname 显示包的详细信息
rpm -qf filename dpkg -S filename 显示包含指定文件的包
rpm -ql pkgname dpkg -L pkgname 显示包中的文件列表
yum search pattern apt-cache search pattern 搜索包含pattern的包

(Read More)

在Windows XP安装盘中集成SP2

首先将Windows XP安装程序复制到某个文件夹下,如 D:\WindowsXP。然后执行 WindowsXP-KB835935-SP2-JPN.exe /s:D:\WindowsXP 即可将SP2集成到XP安装程序中。

(Read More)

主动编程

这篇文章的思想来自于Michael Feathers的Offensive Coding。标题直译过来是“攻击性编程”,但是为了避免与攻击性代码混淆。

这篇文章说,与其被动地做参数检查,不如一开始就避免传递错误参数。我们在书写一个函数时习惯于下意识地检查参数的合法性,不合法则返回null呀-1等表示错误的值。这种“防御”式的代码通常会导致不必要的代码复杂度。换个角度思考,如果能通过某种方法确保使用者不会使用错误的参数进行调用,就可以省却函数内部的参数检查。当然不是说参数检查有什么不对,而是要避免不必要的检查。

(Read More)