玩Quake4遇到的一些问题及解决方法

2009年1月4日

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

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 , ,

自动从git上下载compiz源码并编译的shell脚本

2008年12月31日

本来一直用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年!
Photobucket

Software , , ,

[PKGBUILD] opera 中国版 for linux

2008年12月26日

在昨天,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 的截图。

中国版 Opera 截图

Software , ,

tmpfs的应用

2008年12月25日

什么是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:祝大家生蛋节快乐! :D

Configure , , ,

字体美化:微软雅黑

2008年10月24日

先说说我的平台:Archlinux + GNOME2.24 / xfce4.4.2
在安装字体之前,首先要装好ubuntu版的cairo、fontconfig、freetype2、libxft。当然,你也可以使用lcd版的,但我个人觉得ubuntu的比lcd的显示效果要好。下面是AUR上的链接

在vista上M$启用了不少新字体,但由于版权的问题,我这里就不提供了,有兴趣的Google之。

  1. Segoe UI 为 Vista 新英文 UI ClearType 字体
  2. Sans Serif 字体: Calibri Candara Corbel
  3. Serif 字体: Cambria Constantia
  4. monospace 字体: Consolas
  5. Msyh + Msyh bold 为 Vista 新中文字体
  6. Msjh + Msjh Bold 为 Vista 新繁体中文字体
  7. Meiryo + Meiryo Bold 为 Vista 新日文字体
  8. Malgun Gothic + bold 为 Vista 新韩文字体

将以上的字体放到 /usr/share/fonts/vista 下,然后在该目录下执行

sudo mkfontdir
sudo mkfontscale

并在 /etc/X11/xorg.conf 里加入一行:

FontPath “/usr/share/fonts/vista”

最后创建字体缓存

 fc-cache -fv

确保 /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面板的“系统”—“首选项”—“外观”,选择“字体”—“细节”,按照下图设置


screenshot10.png

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


nautilus截图

日文字体


日文字体

中文字体


中文字体

shareitem.org在firefox下的截图


shareitem.org在firefox下的截图

163.com在firefox下的截图


163.com在firefox下的截图

Desktop, FireFox , , ,

新闻:Linus Torvalds开博了!

2008年10月9日

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

Linus_Torvalds
(图片来源于维基百科

News , ,

Full Circle 第16期中文版和第17期英文版下载

2008年9月28日

下载 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 ,