2009/04/29
中国象棋软件:GMChess 0.20
GMChess 是由 lerosua 主力,基于开源项目象棋巫师所开发出来的中国象棋软件。
该版本有如下功能:
支持多种网络象棋平台的棋谱读取
支持与电脑 AI 对战
项目主页:http://code.google.com/p/gmchess/
作者主页:lerosua
下载 GMChess 0.20 源码包
2009/04/25
快速搞定Grub Error 21!
Grub提示Error 21的含义是无法找到grub.conf文件。解决的方法也很简单。
用Ubuntu的安装盘启动系统,然后在命令行下取得管理员权限:
$sudo -s
进入grub:
#grub
在提示符下面输入这行命令:
grub> find /boot/grub/stage1
您会得到一个类似(hd0,0)之类的反馈。根据您的安装位置可能看到的结果有所不同。
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
OK,搞定!
SSH 使用技巧一则: 创建快捷方式
在管理服务器时,我通常选择使用 SSH 方式。以下是一则 SSH 使用技巧,希望对你有用。
创建快捷方式
当你在执行 ssh 命令登录服务器时,有没有被需要输入命令后面的一长串参数感到厌烦呢?比如,名为 serveradmin@domain.com 的用户要登录到 example.com 主机上,需执行:
ssh serveradmin@domain.com@example.com
你当然可以使用 alias,但 SSH 本身也提供有相应的解决方案──你可以为需要经常访问的远程主机创建快捷方式。
找找看你的用户主目录下是否有 .ssh,若没有,则使用 mkdir 创建一个;
使用你喜欢的文本编辑器(如 Vim)来创建 config 配置文件:
vim ~/.ssh/config
仍以前面的例子来说明,假设我要创建的快捷方式名为 lt,则加入下面的内容,其中 HostName 为主机名,User 为用户名:
Host lt HostName example.com User serveradmin@domain.com
保存编辑。
现在,你只要执行 ssh lt
就可以了。
开源中文朗读软件: eGuideDog & eSpeak
这两个是已经可以工作的软件,支持普通话、广东话发音,虽然离效果良好还有段距离。它们的数据部分可以当作中文语音库。
- eGuideDog: http://e-guidedog.sourceforge.net
- eSpeak:http://espeak.sourceforge.net
这个页面可以直接在线测试:
http://e-guidedog.sourceforge.net/ekho.php
发音效果呼吸声音很重,应是录音环境和设备问题,改进余地还很大。
参考:
五个你可能不知道的 Linux 桌面环境
像是 GNOME、KDE、Xfce、LXDE 这些 Linux 桌面环境,想必大家都比较熟悉。本文将向你介绍五个你可能不知道的 Linux 桌面环境,虽然它们没有前面的那些桌面环境出名,但是同样值得大家关注。
Mezzo
Mezzo 采用 FVWM 作为窗口管理器,其桌面看上去十分简洁。目前,SymphonyOne 使用的即是 Mezzo 桌面环境。
Equinox Desktop Environment
Equinox Desktop Environment 简称“EDE”,它非常轻巧,占用内存也低,其外观跟 M$ Windows 9x/2000 相似。
官方主页:http://equinox-project.org
Étoilé
Étoilé 基于 GNUstep 而建立,看起来像 Mac OS X。
官方主页:http://etoileos.com
ROX Desktop
ROX Desktop 运行快速,其核心为 ROX-Filer 文件管理器。
官方主页:http://roscidus.com/desktop/
Pyro Desktop
Pyro Desktop 建立在 Mozilla Firefox 上,试图将 Web 与现代桌面整合在一起。
echo 与 sudo
众所周知,使用 echo 并配合命令重定向是实现向文件中写入信息的快捷方式。本文介绍如何将 echo 命令与 sudo 命令配合使用,实现向那些只有系统管理员才有权限操作的文件中写入信息。
比如要向 test.asc 文件中随便写入点内容,可以:
# 或者
$ echo "信息" >> test.asc
下面,如果将 test.asc 权限设置为只有 root 用户才有权限进行写操作:
然后,我们使用 sudo 并配合 echo 命令再次向修改权限之后的 test.asc 文件中写入信息:
-bash: test.asc: Permission denied
这时,可以看到 bash 拒绝这么做,说是权限不够。这是因为重定向符号 “>” 和 ">>" 也是 bash 的命令。我们使用 sudo 只是让 echo 命令具有了 root 权限,但是没有让 “>” 和 ">>" 命令也具有 root 权限,所以 bash 会认为这两个命令都没有像 test.asc 文件写入信息的权限。
解决这一问题的途径有两种。第一种是利用 "sh -c" 命令,它可以让 bash 将一个字串作为完整的命令来执行,这样就可以将 sudo 的影响范围扩展到整条命令。具体用法如下:
另一种方法是利用管道和 tee 命令,该命令可以从标准输入中读入信息并将其写入标准输出或文件中,具体用法如下:
注意,tee 命令的 "-a" 选项的作用等同于 ">>" 命令,如果去除该选项,那么 tee 命令的作用就等同于 ">" 命令。
2009/04/08
在Ubuntu 8.10里创建个人加密文件夹[译]
原文 《How to Create a Private Encrypted Folder On Ubuntu 8.10 (Intrepid)》, 来自Ubuntu Geek。
eCryptfs是一个兼容POSIX的商用级堆栈加密Linux文件系统。它能提供一些高级密钥管理规则。eCryptfs把加密元写在每个加密文件的头中,所以加了密的文件即使被复制到别的主机中也可以使用密钥解密。把 eCryptfs 当作是一种 “gnupgfs” 好了,eCryptfs 是Linux 文件系统的一种。他的内核组件已经是2.6.19以后的Linux内核的一部分。
在Ubuntu 8.10 Intrepid中安装eCryptfs
sudo aptitude install ecryptfs-utils
安装完毕之后您需要创建加密目录:
mkdir ~/Personal
用下面这条命令来需要确立其他人无法访问这个文件夹:
chmod 700 ~/Personal
把ecryptfs挂载到 Personal 文件夹:
sudo mount -t ecryptfs ~/Personal ~/Personal
过程中系统将提示您回答几个问题:
为新创建的文件选择密钥类型:
按 “1″ 选择挂载密码
输入并确认您的挂载密码。
选择加密的位数。
默认选项是[16]。如果您不知道应该选啥,直接按回车来选择默认值。然后设置 plaintext passthrough (这个实在不知道咋翻译合适)
如果您想在文件夹中使用未加密文件清选择 ‘Y’ 否则选 ‘N’.
现在在您的主文件夹中应该能看到已经挂载了一个Personal驱动器。
测试您的加密文件夹
在您的加密文件夹中添加一些文件。
卸载文件夹。
sudo umount ~/Personal
现在您可以试着打开Personal文件夹来查看您的文件了。
为您的个人目录创建启动器
如果您想让创建个人文件夹的过程更加容易,您可以创建一个启动器。在桌面上点击鼠标右键->创建启动器。
输入如下内容:
类型(T):终端中的应用程序l
名称(N):个人文件夹 (可自定义)
命令(C):sudo mount -t ecryptfs /home/ruchi/Personal /home/ruchi/Personal
key=passphrase,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n (Replace ruchi with your own username)
下次如果您想挂载您的Personal文件夹就只需要点击这个启动器了。它将会打开一个终端询问您的挂载密码,只要验证通过就会看见主文件夹下面挂载了Personal文件夹。
Nexuiz 推出 2.5 版本
开源的第一人称射击游戏 Nexuiz 于近日推出了 2.5 版本。新版本为玩家带来了许多改进和增强,主要包括增添了新的游戏模式 Race、新的地图、新的武器、地图编辑器 NetRadiant、以及新的音乐,重新制作了 HUD 和用户可调整计分卡,完全重写了 Client/Server 通信,支持将视频捕获存为 OggTheora 格式,改进了机器人,具有更佳的视觉显示,等等。
查阅 Nexuiz 2.5 发布公告,以了解详细情形。
Nexuiz 支持 Linux、Mac OS X、Windows 等平台,可从其官方及镜像站点下载。
使用 diff2html 将 diff 输出结果转换为高亮 HTML 文本
diff2html 是一个 Bash 脚本,利用管道机制将 diff 输出结果转换为彩色的 HTML 文档,便于向他人提供易于观看的 diff 对比结果,可点击这里下载。
用法: diff -u file1 file2 | diff2html result.html
输出结果类似下图所示。
diff2html 脚本内容详见:http://www.linuxjournal.com/content/convert-diff-output-colorized-html