在Archlinux上玩Quake4有一段时间了。为了免得以后忘记,我把我在玩的时候遇到一些问题写下来做个备忘。

在Archlinux上安装Quake4很方便,AUR上就有人提供PKGBUILD,下回来makepkg之即可,但要确保 /tmp 有足够的剩余空间来解压程序,如果和我一样 /tmp 目录是挂载到 tmpfs 上的,空间不多的情况下需要自行修改解压的路径,下面是我改好的PKGBUILD(还需要配合AUR里的相应文件)。
# Contributor: Andrew Simmons <andrew.simmons {[at]} gmail {[dot]} com>
pkgname=quake4
pkgver=1.4.2
pkgrel=1
pkgdesc="Quake 4 Engine. You need the retail .pk4 files to play."
url="http://www.quake4game.com/"
license=('custom:"Quake 4"' \
'custom:"PunkBuster"')
depends=('alsa-lib>=1.0.6' 'sdl>=1.2.0' 'libxext' 'libgl')
arch=('i686')
install=quake4.install
source=(ftp://ftp.idsoftware.com/idstuff/$pkgname/linux/$pkgname-linux-$pkgver.x86.run \
$pkgname.sh $pkgname-dedicated.sh $pkgname-smp.sh)
md5sums=('b186954ab5fbadd57f7ca9519b5b0503'
'54f7cdb2aa75c1cee9fcbef2a3af507d'
'62137ca958cc8b8d3d42a49a8ada1ec5'
'7a70531044dc207a57a3c3cc4ed78336')
build() {
cd $startdir/src
chmod +x $pkgname-linux-$pkgver.x86.run
mkdir -p $startdir/pkg/opt/$pkgname \
$startdir/pkg/usr/bin \
$startdir/pkg/usr/share/licenses/$pkgname \
$startdir/pkg/opt/$pkgname/q4base
./$pkgname-linux-$pkgver.x86.run --target $pkgname -- -i $startdir/pkg/opt/$pkgname -b $startdir/pkg/usr/bin
# ncurses & gtk installers don't return 1 when canceled, so check that files are installed
ls $startdir/pkg/opt/$pkgname/q4base || return 1
install -m755 -D $pkgname.sh $startdir/pkg/opt/$pkgname/$pkgname
install -m755 -D $pkgname-dedicated.sh $startdir/pkg/opt/$pkgname/$pkgname-dedicated
install -m755 -D $pkgname-smp.sh $startdir/pkg/opt/$pkgname/$pkgname-smp
ln -sf /opt/$pkgname/$pkgname $startdir/pkg/usr/bin/$pkgname
ln -sf /opt/$pkgname/$pkgname-dedicated $startdir/pkg/usr/bin/$pkgname-dedicated
ln -sf /opt/$pkgname/$pkgname-smp $startdir/pkg/usr/bin/$pkgname-smp
ln -sf /opt/$pkgname/License.txt $startdir/pkg/usr/share/licenses/$pkgname/License.txt
ln -sf /opt/$pkgname/pb/PBEULA.txt $startdir/pkg/usr/share/licenses/$pkgname/PBEULA.txt
} |
安装完成后需要将游戏DVD里的 pak001.pk4 到 pak012.pk4 和 zpak_english.pk4 这些文件复制到 /opt/quake4/q4base 下,然后在终端运行 quake4 即可进入游戏。
如果喜欢作弊,只要在游戏中按着 Ctrl+Alt+~ 调出控制台,输入作弊码即可。比如输入 god 就是无敌,输入 give all 能得到所有武器和子弹。但每次子弹用完后又要打开控制台从新输入,太麻烦了,这时可以编辑 “/home/YOURNAME/.quake4/q4base/Quake4Config.cfg“ 这个文件,在里面增加快捷键绑定,比如我添加了
bind "KP_HOME" "testlight"
bind "KP_END" "god"
bind "KP_DOWNARROW" "notarget"
bind "KP_PGDN" "give all"
bind "KP_5" "spawn char_marine_tech_armed" |
以后只要按小键盘上对应的键就能实现这些功能了。
最后说一下,比如我想跳到某一关,例如最后一关,网上说的那些命令我试过了,不行的,但可以使用devmap这个命令。方法是在控制台输入“devmap gmae/地图名”,这个好理解,但地图名怎么知道呢?方法也很简单,同样的控制台,用 dir 这个命令,相信用Linux的人对这个命令不是陌生了。
Software Archlinux, Game, Quake4
本来一直用Archlinux源里的0.7.8版,从没出现问题,无奈昨天pacman -Syu后,开始撒野了。症状是今天开机后,不能启动fusion-icon,连ccsm也不能,在终端上运行提示缺失libprotobuf.so.2这个文件,用Google查了下,没发现什么有用的信息。正在纳闷之际,给我发现以前下回来的这个自动编译compiz的脚本,于是动起了自己编译compiz的念头。整个编译过程大概用了30分钟左右吧,装上后在终端启动fusion-icon,还真的能启动了!一直用了几小时都没出现问题,觉得很满意。
脚本下载地址:(box | SkyDrive)
该脚本来源于linuxsir.org论坛的zhuqin_83,我修改了其中几个PKGBUILD里的git地址,加上了一个最小化效果的patch,删了一些已过时的plugin。
PS:Goodbye,2008年!

Software Compiz, git, script, shell
在昨天,opera 中国版 for linux 终于发布了,据LinuxToy上的报道,Opera 中国版基于 Opera 9.63,“初步解决了经年来 Linux 上 Opera 中文字体显示混乱的问题”。
更加详细的改进请移步到 Opera 官方中文社区
(12月26日21:46)重要更新:实在抱歉,由于大意,贴上来的并不是最终的PKGBUILD,这个比最终版的少了一行代码,现在已经修改过来了。 如果你在这个时间之前使用过这个PKGBUILD,请使用新的PKGBUILD重新生成安装包并安装之。
(12月30日01:29)感谢 oahong 朋友的提醒,现在可以自动修复文件名了,无需手动下载deb包。
好了,回归主题,这次发布的中国版暂时只有 Ubuntu/Debian 的 deb 包和 opernSUSE 的 rpm 包,连一个 tar 的压缩包的都没有,所以只好下载 deb 格式的,而且由于是发布到论坛上的,致使下载地址被隐藏了,无法直接用wget下载 deb 包,所以要比较麻烦,先去 Opera 论坛上下载(x86) 或 Opera 论坛上下载(amd64),并和 PKGBUILD 文件放在同一目录,现在不需要了,剩下的只需运行 makepkg 并安装之。
PKGBUILD 文件内容:
# Contributor: clayton <suzebi {[at]} gmail {[dot]} com>
pkgname=opera-china-qt3
pkgver=9.63
pkgrel=1
pkgdesc="The Opera web browser"
url="http://www.operachina.com/linux/"
arch=('i686' 'x86_64')
depends=('qt3')
license=('custom:opera')
conflicts=('opera' 'opera-qt3' 'opera-qt4' 'opera-static')
source=('http://bbs.operachina.com/download/file.php?id=9703')
[ "$CARCH" = "x86_64" ] && source=('http://bbs.operachina.com/download/file.php?id=9704')
md5sums=('ad89437e22cfb7ee4179ddb8b2a402a4')
[ "$CARCH" = "x86_64" ] && md5sums=('87cdf2731c5bc878790a825efaeb7605')
build() {
cd $startdir/src/
### fix the pkgname
if [ "$CARCH" = "i686" ]; then
_pkgname="opera_9.63.ibis.2474.gcc4.qt3_i386.deb"
mv file.php?id=9703 $_pkgname
else
_pkgname="opera_9.63.ibis.2474.gcc4.qt3_amd64.deb"
mv file.php?id=9704 $_pkgname
fi
ar vx $_pkgname
tar xfz data.tar.gz
cp -a $startdir/src/usr $startdir/pkg
cp -a $startdir/src/etc $startdir/pkg
} |
下面是我用中国版 Opera 打开 ShareItem.org 的截图。

Software Linux, opera, pkgbuild
什么是tmpfs?tmpfs是一个高效的文件系统,之所以高效,是因为其使用内存作为存储设备。通过tmpfs,我们能像使用硬盘一样的使用内存。众所周知,内存的读取写入速度是硬盘不能比拟的。但由于内存的易失性,当系统掉电时,所有在tmpfs上的内容将会丢失。根据这些特性,我们可以将一些目录挂载到tmpfs文件系统下,设置正确下还能起到加快某些命令执行的速度。例如 pacman -Ss 。而且从这篇文章得知,tmpfs还会自动释放出未用的空间,大可放心的使用tmpfs。下面我列举一些我在Archlinux上使用tmpfs的一些心得。
首先建议物理内存容量至少要有1G以上,过少的内存反而会起反效果。例如我的物理内容容量为2G。(现在内存都是白菜价了)下面列举一些可以挂载到tmpfs上的目录,当然,你也可以将其他目录也挂载上去,这主要看你的内存大小和想象力了
,例如你可以将整个 Firefox 都搬到内存上运行。
/tmp
该目录是用来存放不同程序执行时产生的临时文件,既然是临时文件,即使在关机时没有保存也不会有大碍,而且还可以减少硬盘I/O读写次数。所以这个目录大可放心挂载到tmpfs上。
/var/tmp
功能上和/tmp目录相似,一些kde程序会用到这个目录。
/var/lib/pacman/sync(Archlinux特有)
这个目录是pacman特有的,用来存储每个可用仓库的软件列表,依赖关系等的信息。你每次执行 pacman -Sy 命令,就是将互联网上软件仓库的信息下载到这个目录,而执行 pacman -Ss 就是从这个目录下的信息中查询。如果将这个目录挂载到tmpfs上,可以加快搜索软件时的查询速度,但缺点是每次启动系统后都要重新执行一次 pacman -Sy 命令来生成这个目录下的内容,除非你用脚本控制每次关机都备份这个目录下的内容,如何取舍就要看各位了
。
说了一大堆,那究竟如何才能挂载这些目录呢?方法很简单,直接写到 /etc/fstab 下,然后重启系统。不推荐直接用mount命令挂载,这会马上清空这些目录下的内容,有可能会导致正在运行的程序出错。
将下面这句加入到 /etc/fstab 内。
none /tmp tmpfs defaults,size=100m 0 0
值得注意 size=100m 这个选项,这是控制使用多少内存的关键,如果不加上这个选项,将默认使用一半容量的内存。例如这里就使用100M的内存空间,并挂载到 /tmp 下。其他的目录请如此类推,又或者加大 /tmp 下的空间,例如使用300M内存,然后将其他目录做符号链接到 /tmp 下,总之实现的方法有很多,就看各位喜欢
。enjoy it !
PS:祝大家生蛋节快乐!
Configure FileSystem, HowTo, Skills, tmpfs
先说说我的平台:Archlinux + GNOME2.24 / xfce4.4.2
在安装字体之前,首先要装好ubuntu版的cairo、fontconfig、freetype2、libxft。当然,你也可以使用lcd版的,但我个人觉得ubuntu的比lcd的显示效果要好。下面是AUR上的链接
在vista上M$启用了不少新字体,但由于版权的问题,我这里就不提供了,有兴趣的Google之。
- Segoe UI 为 Vista 新英文 UI ClearType 字体
- Sans Serif 字体: Calibri Candara Corbel
- Serif 字体: Cambria Constantia
- monospace 字体: Consolas
- Msyh + Msyh bold 为 Vista 新中文字体
- Msjh + Msjh Bold 为 Vista 新繁体中文字体
- Meiryo + Meiryo Bold 为 Vista 新日文字体
- Malgun Gothic + bold 为 Vista 新韩文字体
将以上的字体放到 /usr/share/fonts/vista 下,然后在该目录下执行
sudo mkfontdir
sudo mkfontscale |
并在 /etc/X11/xorg.conf 里加入一行:
FontPath “/usr/share/fonts/vista”
最后创建字体缓存
确保 /etc/fonts/conf.d/ 下有 51-local.conf 这个文件,并确保里面的内容是
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Load local system customization file -->
<include ignore_missing="yes">local.conf</include>
</fontconfig> |
然后下载这个local.conf文件(box.net | MediaFile | DivShare),解压后放到 /etc/fonts/ 下。这个文件是很早以前从linuxsir.org论坛上收集的,不记得原作者是谁了,在此对原作者说声抱歉。好了,重启系统(或注销)吧。
然后打开GNOME面板的“系统”—“首选项”—“外观”,选择“字体”—“细节”,按照下图设置

不用去改默认的字体,保持默认的Sans即可。怎样?效果还不错把。下面是我的一些截图。
nautilus截图

日文字体

中文字体

shareitem.org在firefox下的截图

163.com在firefox下的截图

Desktop, FireFox Archlinux, Fonts, HowTo, 雅黑
Linux 之父:李纳斯·托沃兹(Linus Torvalds),最近他在Google Blogger上开了个博客。
地址:http://torvalds-family.blogspot.com/

(图片来源于维基百科)
News Blog, Linus, News
下载 Ubuntu Full Circle 社区杂志第16期(英文版 | 简体中文版 | 繁体中文版)
下载 Ubuntu Full Circle 社区杂志第17期(英文版)
第16期主要内容有:
- Command and Conquer - Creating And Moving Files.
- How-To: Create Your Own Ubuntu, Create Your Own Server Part 8, Using GIMP Part 5 and GNOME-Look Guide.
- My Story - Out With The New, In With The Old
- My Opinion - GNOME And KDE Themes
- MOTU Interview - Jamie Strandboge
- Top 5 - Twitter Clients
第17期主要内容有:
- Command and Conquer - Nano & Vim.
- How-To : Program in C - Part 1, Connect to IRC, Using GIMP - Part 6 and Scan & Convert to PDF.
- My Story - …When I Was Two
- My Opinion - Is This The Year?
- MOTU Interview - Harald Sitter
- Top 5 - Email Notifiers
Magazine Full Circle, Ubuntu
最新评论