You are on page 1of 53

卷首语 ·1·

本刊致谢

本杂志在制作过程中得到本校三叶草工作组全体成员的支持,在此致谢。你们对本

杂志的制作及推广给予了很大的支持,尤其是三叶草小组网站(http://www.myclover.

org/)的设计者李波,为了本杂志能正常下载,下了很大的功夫修改网站的一些细节问

题。

得到我校技术论坛(http://tech.cuit.edu.cn)Linux版版主城市流浪猫提供的技术

支持,在此致谢。

本杂志的前两期在网上得到一些读者的评论,你们的评论,我们会认真的对待。很

感谢你们的支持及反馈。尤其是王万清老师(初中数学教师),你的来信,非常认真的对

本杂志提出了很多的不错的建议,在此一并感谢!

得到本校众多的Linux爱好者的支持,在此就不写名字了,一并致谢。

最后:

向阅读本杂志的人致谢,你们将会对国内 Linux 的推广起到更大的作用;

向正在使用并坚定地使用 Ubuntu 的人致谢,你们的行为改变了我们;

向正在使用 Linux 其它版本的人致谢,你们为Linux世界多元化起了不可低估的作用;

向准备用 Linux 的人致谢,你们是未来的希望!

三叶草 桃源工作室
版权 ·2·

2008 年 9 月刊 总第 3 期
本杂志基于GNU1 的自由精神,你可以免费、自由地使用,并可以任意的传播、修改、
及发布你的修改版本。但是,不得用于商业用途。
本杂志基于GPL的协议发布,任何对本杂志的传播、修改及发布修改版本的时候,
必须同样基于GPL的协议。如果你转载本刊的文章,请注明原作者及出处。
本杂志大部分文章皆是原创,有的文章转载于网络和社区,为了更好地传播开源的思
想,我们只是做个整理,如果侵犯了你的权益,请来信告知。

主 办: 成都信息工程学院 桃源工作室(三叶草 Linux小组)


总 编: 任柳江 (renewjoy)
组织策划: 叩容
主 编: 雷宇田
审 稿: renewjoy、雷宇田、曾繁荣
封面设计: 刘臻、坦克杀手
排 版: 高昌健
技术支持: 城市流浪猫
网站维护: 李波
网站支持: http://www.myclover.org
ftp 下载: ftp://210.41.224.194/
论坛支持: http://tech.cuit.edu.cn/

投稿邮箱: rlj linux@126.com lyt1231@gmail.com


QQ 联系: (renewjoy)376549092 (plain ray)85388803

Powerd by LATEX & XETEX

Copyleft °
c 2008 桃源工作室

1
GNU ( 发 音 : Guh-NOO ) 是“GNU's Not Unix”的递归缩写。为保证 GNU 软件可以自由地“使用、
复制、修改和发布”,所有 GNU 软件都在一份在禁止其他人添加任何限制的情况下授权所有权利给任何
人的协议条款, GNU通用公共许可证(GNU General Public License, GPL)。这个就是被称为“反版权”(或称
Copyleft)的概念。——选自:百度百科
目录 ·3·

目录

卷首语 1

版权 2

开源社区 5
UbuntuChina 互动社区介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Linux文化 6
Linux为什么这么安全? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Tux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Shell演义之前世今生篇 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Linux之于Windows的区别 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
你用Linux能办到, 用Windows或在Mac上却无法办到的最酷的事儿是什么? . . . . 12

三叶草工作组简介 14

Beautify 15
桌面秀 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
修改GDM的背景图片 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Vim & Emacs 18


在Emacs中完成C++程序的编辑、编译和运行 . . . . . . . . . . . . . . . . . . . . 18
更改bash命令行编辑器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

本刊活动---上门安装Ubuntu 21

脚本 & 编程 22
python中加入中文支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
GTK+入门-GUI 猜数字游戏实现与源代码分析 . . . . . . . . . . . . . . . . . . . 23
bash中变量declare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
gcc编译C++程序的一个小问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Linux基础知识 31
GNU/Linux目录结构介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
播放电影的时候,为何可以更改其文件名? . . . . . . . . . . . . . . . . . . . . . 32
用date命令来获得当前时间的多种格式 . . . . . . . . . . . . . . . . . . . . . . . 33
用一个C++程序来理解Linux的输出重定向 . . . . . . . . . . . . . . . . . . . . . . 34

《桃源》杂志稿件要求 37
目录 ·4·

Ubuntu应用 38
交互式进程查看器-htop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
解决学校教育网登录的问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
如何用命令弹出光盘? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Ubuntu助80后追忆童年生活 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Ubuntu安装ftp软件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Ubuntu 中 VMware Workstation 的安装 . . . . . . . . . . . . . . . . . . . . . . . . 45
看奥运开幕式的救星:在线电视qsopcast . . . . . . . . . . . . . . . . . . . . . . . 45
Ubuntu下使用校内通 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
校园网802.1x自动连接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
再说Ubuntu 8.04 软件源的配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Ubuntu下独立版本的飞信程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

读者问答 51
刚安装完ubuntu8.04,感觉界面挺好的,现在问题一大堆 . . . . . . . . . . . . . 51

关于本刊 52
开源社区 ·5·

开源社区

UbuntuChina 互动社区介绍

UbuntuChina互动社区是第一个Ubuntu中国实验室的社区网站,专注于Ubuntu在中
国的应用和传播,互动社区与其他社区相比它更专注于Ubuntu应用、互动和传播,是一
个只谈Ubuntu应用和技巧的社区,踏踏实实推进Ubuntu在中国普及和应用的社区,这
里的互动,不仅仅是线上的互动,更有线下丰富的互动和开源普及活动。
值得一提是,UbuntuChina社区还是专注于Ubuntu 系统的国际独立电子杂志《Full
Circle》中文版的主力分发站点,并为该国际社区提供了http://fcctt.UbuntuChina.
com独立域名,更有丰富的Linux和Ubuntu学习资源,是Linux和Ubuntu初学者学习的最
佳选择。

回到目录
Linux文化 ·6·

Linux文化

Linux为什么这么安全?
软件工程系 Java07级1班 雷宇田

在今年3月26日开始的CanSecWest黑客大赛上了,黑客们的攻击目标是执行MacOS
X 10.5.2的MacBook Air、使用Ubuntu 7.10的Sony VAIO VGN-TZ37CN,以及搭载Windows
Vista Ultimate SP1平台的Fujitsu U810等三台计算机,各操作系统皆已下载所有的更新及
修补程序。就在比赛的第二天,Mac Os被攻破,随后Vista也被拿下。然而直到比赛结束
那天,那台运行Ubuntu 7.10的Sony VAIO岿然不动!于是大家又开始了一场关于操作系
统安全性的讨论。而在本期,我们将着重讨论Linux系统为什么这么安全。

根本原因
我认为Linux安全的根本原因是其内核以及很多运行在其上软件都是开源的。没
有那个程序是绝对安全的,但是一旦将它的源代码公开,大家都可以帮助查找软件的
Bug。如此一来,Linux的漏洞相对于闭源的Windows和Mac Os安全得多了!

软件原因
Linux继承了很多UNIX的优良传统,文件系统就是其中一个。Linux的文件系统在设
计上考虑很很多安全的因素,它通过对用户权限的详细分配而很好地做到了系统安全与
用户使用上的契合。系统的超级权限属于root用户,而普通的用户一般是不会使用root
帐号的,而是使用权限较低的用户。这样,即使在改用户下出现了病毒,病毒本身也没
有权限去修改系统设置。如果普通用户需要对系统进行设置,就得用超级用户的权限,
这之前会有一个机器与人交互的进行验证的过程,病毒做不到这一点。明确的权限分配
让Linux在骨子上就是相当安全的。

用户原因
就目前来看,Linux的用户的计算机水平相对较高,在系统的使用和设置上都给黑
客们减少了进攻的机会。如果某个计算机用户一直使用权限很高的帐号(比如root),
那么该计算机所处的安全性会大大降低。又如某台服务器使用的是Linux系统,那么他
需要将用户产生的数据和服务器操作系统本身放在两个不同的地方(具体来说,应该在
不同硬盘或计算机下),如此可以很好的防止DDOS攻击。

价值原因
2008年,Linux在世界上的PC的普及率历史性地突破了1%,这给奋战在Linux上的同
志们一个很大的鼓舞。然而这个数字依然小到不少黑客不愿去研究它的漏洞。

黑客原因
Linux文化 ·7·

又回到今年春天那次黑客大赛。比赛结束后,有黑客称他们其实已经找到了Ubuntu
的一个漏洞,但是他们没有把它攻破在于这款开源的系统仍然处于发展的阶段。

回到目录

Tux
收集、整理:雷宇田

【引言】不象其它商业操作系统,Linux没有采用一个令人肃然起敬的徽标。这个
穿着黑色燕尾服的小家伙充分表达了自由软件运动无忧、无虑、无畏的态度。
由于企鹅的样子就像身穿一件黑色的小礼服(TUXedo),一说这就是Linux徽标
Tux的名字的由来。不过现在也有不少人相信,“Tux”这个名字来源于Torvalds UniX。
并且也有人固执的认为它是吉祥物而非徽标,但并不重要
据说大约1996年,大家就开始考虑给Linux定义一个徽标。有些人说可以模仿其他操
作系统徽标,有人说可以用凶猛的动物比如鲨鱼、老鹰之类的用来象征Linux的健壮和
气魄。可是Linus Torvalds最终决定以一只企鹅作为Linux的徽标。为什么Linus要选择企
鹅呢?那是因为Linus一向比较喜欢企鹅,而且在澳大利亚的时候曾被一只动物园的企鹅
咬了一口。正当大家为自己的方案争论不休时,Linus无意提到了企鹅,大家便停止了争
论。虽然这个理由并不那么让人信服,正如Linus所说,“这没有很好的理由,真的”。
如今的Tux是1996年的最佳Linux图标竞赛中被选出,由Larry Ewing利用GIMP设计出
来的,并在以下条例发布:Permission to use and/or modify this image is granted provided you
acknowledge me lewing@isc.tamu.edu and The GIMP if someone asks.
Tux已经成为了Linux和开源社区的相知。英国Linux用户组(British LUG)甚至在当地
的动物园认养了几只企鹅。

上图的解说:IBM spray-painted these 'Peace, Love, Linux' adverts over sidewalks in New
York and San Francisco - and ended up paying fines and having their advertising executives doing
community service to remove them under the graffiti laws.
Linux文化 ·8·

回到目录

Shell演义之前世今生篇
作者:UbuntuChina.com 何晓龙

一、Shell的前世-群雄并起

在Unix以及类Unix系统中,大家经常要使用Shell,它的起源可以追溯到操作系统的
鼻祖-UNIX。1969年,AT&T 贝尔实验室的Ken Thompson开始利用一台闲置的 PDP-7计
算机开发了一种多用户,多任务操作系统, Ken Thompson照片如图1所示。

图 1 Unix之父Ken Thompson(大胡子)

过了不久,Dennis Richie也加入了这个项目,在他们共同努力下UNIX诞生了,Ken
Thompson和Dennis Richie的照片如图2。
Linux文化 ·9·

图 2 Ken Thompson和Dennis Richie合作开发

在他们的开发过程中,Dennis Richie吸取了更早的麻省理工学院一个名为MULTICS
操作系统项目失败的教训,将这个操作系统命名为UNIX。早期UNIX是用汇编语言编写
的,但从其第三个版本开始,他们为了提高系统的可移植性和开发效率,为UNIX专门
开发了一种崭新的编程语言C,并用C语言重新编写大部分代码。通过这次重新编写,
UNIX得以移植到更为强大的DEC PDP-11/45与11/70计算机上运行。在UNIX发展早期,
其源代码是公开的,并且开发文档也十分详细,所有这些都为人们进行研究提供了方
便,UNIX很快成为当时欧美各大高校讲解操作系统的蓝本,所以UNIX很快成为当时
校园流行的操作系统。不仅如此,加州大学伯克利分校还根据UNIX源代码,开发出了
大名鼎鼎的BSD,这是UNIX的一个最著名的变种。不过好景不长,从UNIX的Version 7
开始,AT&T将UNIX商业化,更换了许可协议,不再允许先前自由开放的做法。与此
同时,第一个重要的标准UNIX Shell于1979年末在Version 7 UNIX环境推出,并以作者
Stephen Bourne的名字命名,叫做Bourne Shell(简称为sh)。Bourne Shell是基于另一种叫
做Algol的语言。比较有意思的是,Bourne Shell当时主要用于系统管理任务的自动化。此
后,Bourne Shell凭借其简单和高速而广受欢迎,很快就成为流行的Shell。当然,Bourne
Shell也有不少缺点,如缺少一些交互的功能,如命令作业控制、历史和别名等。而在这
时,AT&T UNIX 的一个著名分支BSD Unix也悄然兴起,随着风头正劲的BSD,另一个
老牌Shell也粉墨登场,它就是加州大学Berkeley分校于20世纪70年代末开发,作为2BSD
UNIX系统的一部分发布的C Shell(简称为csh)。它的主要开发者是Bill Joy,Bill Joy被
誉为软件爱迪生,是前任Sun的首席科学家,当年在Berkeley时主持开发了最早版本的
BSD,Bill Joy的照片如图3。
Linux文化 · 10 ·

图 3 软件爱迪生Bill Joy

C Shell提供了很多标准的Bourne Shell不具备的功能。C shell基于C语言,作为编程语


言使用时,语法也类似于C,所以程序员可能会很喜欢它。此外,C Shell还提供了增强
交互使用的功能,如作业控制、命令行历史和别名等。当然,C Shell的缺点和其优点一
样明显,由于它是为大型机设计并增加了很多新功能,所以,C shell在小型机器上运行
可能比较慢。跟为麻烦的是,即使在大型机上,C Shell的速度也不如Bourne Shell,而这
个问题,在当时的硬件条件下可以说是致命弱点了。C Shell之后又出现了TC Shell,它
是C Shell的扩展版本,且具有完全兼容性。新增的功能包括:命令行编辑(如vi)、历史
清单的滚动、高级的文件名功能、变量和命令补全、拼写纠错、作业调度、账户自动上
锁和注销、历史清单中增加时间戳等。新增的功能确实很多。人们经常会问“TC shell
中的T到底代表什么含义呢?”这就要涉及到一段历史。1976年,DEC发布了一种新的
虚拟内存操作系统——TOPS-20,这种操作系统基于 TENEX,可以被美国国内的多个
研究人员同时使用。TOPS-20最显著的特点是“遗忘识别”,也称为“命令补全”,用
户可以借助Esc键获取大多数的命令或助记符,从而使得系统能正常运行。TC shell的创
建者受到TENEX/TOPS-20的这个功能以及其他功能的影响,开发了csh的一种版本,并
模仿TENEX的名称,将这种shell称为TENEX C shell,简称为TC shell、tc-shell或tcsh。这
样,Bourne Shell和C Shell共存的格局形成了,使得当时的UNIX用户有了选择的权利,
有了选择就会有争议,两大主流Shell即丰富了用户的选项,同时也导致了很长一段时间
内,人们对哪个Shell更好的争论。就这样,时间到了20世纪80年代中期,AT&T的David
Korn推出了Korn Shell(简称为ksh)。Korn Shell于1986年发布,并在1988年UNIX的SVR4
版本发布时正式成为它的一部分。Korn Shell其实是Bourne shell的一个扩展集,它提供了
对Bourne shell的向上兼容性,并且融入入了许多C Shell中受大家欢迎的功能,在兼收并
蓄的同时,并没有牺牲速度和效率,恰恰相反,Korn Shell本身很快速和高效。Korn Shell
经历了许多版本,虽然1993版正逐渐流行,目前用得最广泛的还是1988版,时至今日,
Korn Shell几乎是多数Unix的标准Shell。Korn Shell推出后,又出现了Z Shell(zsh),它是
Korn Shell的克隆版,集成了TC shell的一些功能。Z shell的作者是Paul Falsted,大家可以
从网上免费获的。

二、Shell的今生-重归一统

Shell发展到今天,几乎没有什么悬念了,主要是受到图形界面(GUI)技术兴起
Linux文化 · 11 ·

冲击,大家操作计算机的方式也发生了质的改变,文字界面由主流变为辅助。在Unix
领域,是Korn Shell的天下,而在Linux的地盘,则是Bash一统江山,Bash是Bourne Again
Shell的缩写,自由软件基金会于开发出Bash,它的设计符合了IEEE POSIX P1003.2/ISO
9945.2 Shell和工具标准。Bourne Again shell诞生于1988年1月10日,作者是Brian Fox,后来
由Chet Ramey对它进行维护、加强以及修改Bug。Bash的第一个版本是0.99。现在的版本
(到目前为止的)是2.05版,它主要是对2.0版本进行了加强,大家要知道自己使用的是哪个
Bash版本,可以使用Bash的“-- version”选项来查看,图4为Ubuntu中使用的Bash版本。

图 4 Ubuntu 7.10默认Bash版本

下面来谈一下Bash的突出特点,主要表现在交互和编程两方面,Bash都提供了很多
Bourne Shell没有的功能,当然,原来在Bourne Shell下编写的脚本无需修改就可以在Bash
下运行。Bash融合了C shell和Korn shell最有用的功能。Bash对Bourne Shell的改进包括:
命令行历史与编辑、作业控制、函数、别名、数组、整数运算(底数可以是2∼64),以及
Korn Shell的一些功能,如扩展的元字符,用于生成菜单的select循环和let命令等。

回到目录

Linux之于Windows的区别
本文来自网络,王红庆整理

Linux 提供服务与 Windows 提供服务有个很显著的区别。打个比方,去饭店吃饭,名


叫 Linux 的厨师提供给各个小料成分、使用方式等,由用户自己来调制喜欢的菜肴;而名
叫 Windows 的“厨师”提供的就是一道做好的菜,“经理”Microsoft说,Windows 调查了
大量普通消费者的口味,尽量保证这道菜符合每个人的口味。
这个例子意味着 Linux 是可定制的系统,除了必须的服务软件外,其它很多没用的东
西是可以不安装的。由于软件都是有安全性问题的,越少软件组成的系统其安全性就越
高。Linux 以其可定制的特性保证了系统的高安全性。
此外,Linux 是一个松耦合系统,而 Windows 是一个紧耦合系统。耦合表示的是各个部
件之间的关联程度。使用 Linux 的时候服务 A 瘫痪了,不会影响到或很少影响到服务 B, 而
在 Windows 中,经常可以碰到某个服务瘫痪导致整个系统崩溃的情况。
Linux 的稳定性由此可以得出结论。
Linux文化 · 12 ·

回到目录

你用Linux能办到, 用Windows或在Mac上却无法办到的最酷的事
儿是什么?
原作者 Matthew Helmke
翻译: DAY

原文链接:http://matthewhelmke.net/wordpress/2008/02/02/
what-is-the-coolest-thing-you-can-do-using-linux-that-you-can-t-do-with-windows-or-on-a

1. 名正言顺地升级到最新版本, 无须付钱。

2. 让最新版的操作系统在相同的硬件上比之前的版本跑得更快。

3. 倘若我不喜欢默认设置, 可以轻易安装运行不同的图形界面。

4. 用一条命令安装二十个程序。

5. 让系统自动为我更新所有安装的程序。

6. 在多台电脑上安装我的OS(Ubuntu)之同一副本而不用担心许可协议的限制或者激
活码。

7. 派放操作系统副本以及运行其上的其他程序而不触犯任何条例准则, 不论是政府定
的, 道德上的抑或良心上的, 因为原本它完全就是要这么受用的。

8. 完全控制我的电脑硬件, 知晓在我的软件中不存在心怀叵测的软件公司和政府机构
安置的秘密后门。

9. 运行我的电脑, 无需使用病毒扫描程序, 更用不着针对恶意广告软件/间谍软件的防


护, 甚至我可以确保获取所有安全更新而连月不用重启我的电脑。

10. 运行我的电脑而无需对我的硬盘驱动进行碎片整理。

11. 试用软件, 一旦发觉我不喜欢, 便卸载, 且知道它没有在某个注册表项上留下任何可


能逐步累积并拖慢我机器速度的残渣碎片。

12. 一个造成需要彻底重装系统的大大的失误能在不到一小时内搞定, 因为我把我所有


的数据都放在了另外一块与操作系统和程序相隔离的分区。

13. 在一台已三年的旧电脑上,引导进入一个在炫目与效果上与Windows Vista一样酷


的桌面...用时不超过40秒, 包括输入我的登录用户名和密码。

14. 名正言顺地对任何我所想的东东进行量身设置, 包括我最喜欢的程序. 我甚至可以


寻访软件开发者向他们请教, 建言献策, 如果我愿意我还可以参与到实际的设计/软
件起草过程当中。
Linux文化 · 13 ·

15. 让4个以上的文字处理器窗口开着在页面上工作, 听音乐, 玩转炫目的桌面效果, 与


一个相当快乐的社区保持沟通, 让Firefox, 即时消息以及电子邮件客户端同时开启,
完全不必向他人求取代码来使我的OS正常运作, 系统不会运行缓慢以致如同废物。

16. 用命令 "dpkg --get-selections > pkg.list"就将我已安装的软件详尽列出, 在一个单独的


分区将我的/etc以及/home目录进行备份, 而且可在任何时候轻易地恢复你的系统。

17. 同时运行多个桌面, 甚至让多个用户同时登录使用电脑。

18. 调整一块硬盘分区的大小, 无须删除它亦不会丢失其上的任何数据。

19. 相同的硬件, 用上超过5年的时间, 直到它真的需要替换为止... 我有些硬件都快将近


10年了, 跑Linux, 依然好使。

20. 在OS还在安装时就浏览网页!

21. 几乎可用任何硬件, 而其驱动都内含在操作系统中... 避免了去网上游窜搜寻硬件制


造商网站才能找到的必要。

22. 获取几乎任何东东的源代码, 包括OS内核以及我大部分的应用程序。

我还可以继续, 但估计已经够长了吧。

回到目录
三叶草工作组简介 · 14 ·

三叶草工作组简介
成都信息工程学院三叶草工作组成立于2005年4月,其前身是2002级网络一班
的“N1小组”,原来成员分布在02级网络工程系。当初成立的目的是协助举办网络
工程系第一届网络攻防大赛。目前主要从事网站开发、网络安全及Linux的相关项目的
开发。现在小组成员主要分布在网络工程系、软件工程系、计算机科学与技术系。

小组在校内科技团队中已经有一定的影响力,不仅如此,小组已经受到校外的关
注。小组曾被以下媒体或门户网站报道:成都商报、四川在线、川新闻网、搜狐、大旗
网、南开大学等。

小组在信息安全领域有一定的技术层次。小组原成员中有两个是国内著名安全组织
B.C.T的核心成员,他们发现了国内著名论坛程序“动网DVBBS”的安全漏洞,另有小
组成员是国内安全网站校园黑客联盟的核心成员。小组协助网络工程系举办了第一、
二、三、四届网络攻防大赛,受到媒体的广泛关注,成都商报、四川在线、 qq新闻、
搜狐、雅虎、TOM、《黑客x档案》、《黑客防线》等均报道了大赛的相关情况,其中
第二阶攻防大赛还举行了与川大的对抗赛,取得了圆满的结果。小组成员已在《黑客手
册》、《黑客X档案》上发表过多篇关于网络安全技术的文章。

小组在Linux操作系统的推广方面也有很大成果。协助成立了Linux爱好者小组,成
员分布主要分布在航空港和龙泉校区。小组向校内用户推广 Linux,并得到了国内的几
大Linux组织的技术支持,如Linux公社(出品过Magic Linux)、Linuxsir。小组已经成为了
Linux校园行的成员,作为西南地区第二个(还有四川大学)向西南地区推广magic Linux
版本和magic Linux源的学校。小组一成员成为Linux公社联络员之一,并是lcuc论坛西南
地区版主。目前,小组已经带动了很大一部分人去使用Linux。小组成员以后将投入到
magic Linux的应用软件的开发中。2008年7月,小组开始《桃源》Ubuntu应用杂志的制
作和发布。

小组在校内做了很多科技项目:小组成员独立完成“蝴蝶软件”开发,并在学院第
二届科技节软件设计大赛中获得二等奖。小组在第一届“组网与配置大赛”中获优胜
奖,第二届网络攻防中获得一等奖。小组对学生处网站进行改版,并完成网络工程系网
站制作,完成学生信息管理系统的制作,完成助学中心网站建设等等。此外,小组还处
理多个老师的个人网站的安全问题,处理校友网安全问题。小组成员还编写了很多免费
的软件,如站长编程助手(已被各大下载网站收录,如天空)、日志清理器、u盘wcfgs
病毒专杀等。小组成员自行开发的ben-blog系统广受好评。

小组网站:http://www.myclover.org
小组论坛:http://tech.cuit.edu.cn

回到目录
Beautify · 15 ·

Beautify

桌面秀
Beautify · 16 ·

回到目录

修改GDM的背景图片
author:AlertSniper

URL:http://williamchen123.blog.163.com/blog/static/37159076200853014955559/
Beautify · 17 ·

这个.....本人制作的是GDM,不是用KDE的,KDE的本人没用过,所以这篇文章不
适合用KDE的人~
转入正题,Ubuntu的登录界面我们称之为GDM,KDE的就称为KDM(同理可得)
自己制作我是不会的!那个....太麻烦了,如果你有耐心的话可以自己试试,我的做
法是修改他人的GDM主题包来达到自己想要的效果:首先去http://www.gnome-look.
org/或者http://art.gnome.org/下载一个GDM主题包!要找到一个你适合的风格
的,因为这要和你的背景配合好才有好的效果....解压主题包(这个不用我教吧~)找到
解压出来的文件,找到一个名为GdmGreeterTheme.desktop的文件,用工具打开之~(用
什么呢?我是用Emacs)文件内容如下(//后为本人的注释,便于各位阅读,没有实际
用途):

[GdmGreeterTheme] //这个不理它,没什么用的!
Greeter=EarthLights.xml //这个就是要用的的XML文件的文件名,修改后你的
那个XML文件名也要相应的修改
Name=EarthLights //这个是主题名称~
Description=Night view of the earth //这个是主题介绍
Author=Nicolas Limare // 作者名称~
Copyright=(c) 2006 Nicolas Limare (from Ubuntu Human theme,
image from NASA Visible Earth Project) //版权信息
Screenshot=screenshot.png //这个是缩略图,用于显示主题样式的!随便你怎么改~

我修改后的内容是这样的:

[GdmGreeterTheme]
Greeter=AlertSniper.xml
Name=AlertSniper's desktop
Description=AlertSniper personal desktop
Author=AlertSniper
Copyright=(c) 2006 Nicolas Limare (from Ubuntu Human theme,
image from NASA Visible Earth Project)
Screenshot=10.jpg

版权我觉得没有必要该大家要改也可以.....10.jpg是我用到的壁纸图片.....我没有做缩
略图(呵呵)然后改那个XML,就是那个EarthLights.xml啦~
这个就是这个主题GDM的核心文件啦~把上面的代码中的红色字体部分修改成我
准备好的10.jpg,这样这个登录界面的背景就是你定义的图片了~最后收尾工作,把这
个XML文件名字改成AlertSniper.xml,就是你刚才定义的XML文件,压缩成tar.gz文件,
用系统的登录窗口中的添加按钮安装上去~这样就算大功告成~

回到目录
Vim & Emacs · 18 ·

Vim & Emacs

在Emacs中完成C++程序的编辑、编译和运行
renewjoy

0、在终端启动emacs

$ emacs

1、建立一个新的程序文件.执行 C-x C-f,然后在屏幕的底部出现minibuffer,在光


标提示你输入文件名称,文件名称要带上后缀名,如hello.cpp。回车,然后开始编辑源
代码。
2、输入程序代码,如下:

#include <iostream>

int main(int argc, char *argv[])


{
std::cout << "I can now use emacs to edit, compile and run a C+
+ program!";

return 0;
}

输入好内容后,按C-x C-s保存文件。
3、编译代码。执行Alt-x,在出现minibuffer中输入compile后回车:

提示你输入编译命令。

默认情况下,有个make -k,按Backspace, 删除make -k, 然后输入:g++ -o hello


hello.c
Vim & Emacs · 19 ·

此时emacs会开启一个小窗口, 显示: Compilation finished at Sat Aug 30


15:30:35, 呵呵,编译成功.

4、执行生成的可执行文件。执行alt-x,输入:eshell,回车后出现一个命令行窗
口。在其中执行命令 $ ./hello。

说明:C-x表示先按住Ctrl键, 再按x键。C-x C-f表示先按Ctrl键,再按x,放开,再


按Ctrl,再按f,当然你也可以一直按住Ctrl键,然后再按x,接着再按f.

回到目录

更改bash命令行编辑器
renewjoy

首先,请理解一个概念,我们在shell中经常用于输入命令的一个行,其实就是一个
行编辑器,也称为命令行编辑器。
命令行编辑器允许用户使用特定的文本编辑器(vi或emacs)来编辑当前命令行或命
令历史文件中的任何命令。
bash shell默认使用基于emacs文本编辑器的命令行编辑,而我暂时却只熟悉vi编辑
器,那么就可以把bash的命令行编辑改为vi模式。
选用vi风格的编辑器:

$ set -o vi #注:此处不能用vim来代替vi

选用emacs风格的编辑器:(bash默认的命令行编辑风格)

$ set -o emacs
Vim & Emacs · 20 ·

因为命令行编辑功能非常有用,可把上述设置添加到.bashrc中去,这样就可以每次在
启动bash的时候,都仍能用你最习惯的风格了。
那么,设置成vi的风格后,和原来有什么区别呢?
1、基本上在vi中能对一行(或部分)进行操作的命令,在些行编辑器中,仍然能
用。
比如:命令行的查找功能。

$ ESC(按键)/linux1x #查找命令历史中最近一个包含字符串linux1x的命令,为了
找出更早的一个包含指定字符串的命令,输入“n“重复执行这一检索过程。

2、注意:vi命令行编辑器开始时处于输入模式,为了使用vi命令,必须按下ESC
键,进入命令模式。
3、下面是使用vi风格和emacs风格的对比:

光标移动命令 vi emacs
光标左移一个字符 h Ctrl-b
光标右移一个字符 l Ctrl-f
光标左移一个字 b ALT-b
光标右移一个字 w ALT-f
把光标移至行首 ˆ Ctrl-a
把光标移至行尾 $ Ctrl-e
上一条历史记录 k Ctrl-p
下一条历史记录 l Ctrl-n

编辑命令 vi emacs
删除当前字符 x Ctrl-d
删除当前字 dw ALT-d
删除一行 dd Ctrl-a Ctrl-k
修改一个字 cw
附加文本 a
插入文本 i

回到目录
本刊活动---上门安装Ubuntu · 21 ·

本刊活动---上门安装Ubuntu

如果你恰好看了这本杂志,觉得 Ubuntu很不错。你深深地被她华丽的外表所吸引,被

她强健的安全性给征服,被她的简单和易用性给俘虏,被她...... 然 后,你应该是好想试试。

你认为是时候改变了,是时候安装一个Ubuntu系统来适合自己的学习和 生活,那么你第

一步就面临装系统。

现在 Ubuntu最新版本 8.04 的安装过程非常简单,根本不需要怎么设置, 差不多是全自

动的了。只要你愿意用google/baidu,即使你没有任何基础,你也总能在网上找到很多的教

程。

尽管如此,可是仍然有人不敢去尝试。因为要分区,有几个小步骤要设置。我们本来

是希望如果你想用 Ubuntu,那你应该自己尝试去安装,这样你会获得更多。然初次接触

Ubuntu 的你,并不敢自己去尝试。也总有人并不会装 Windows,我就常见有人不知道用光

盘安装 Windows 还得从光盘启动的道理。

如果你也并不敢自己尝试,或者,你在多次的尝试皆失败后,那请往下看......

当然,也许你会失望。我在这儿并不打算给你写个安装教程之类的文章, 而是一个特

大惊喜, 如果你恰好住在成都信息工程学院航空港校区的话。

鉴于目前的情况来看,总有人不敢去尝试,因为他怕,怕坏了硬盘上的资料。而且,难道

会用系统的人一定要懂得怎么分区、怎么装系统吗?你去问 Windows 的用户就知道了。

于是,本杂志推出了“免费上门安装Ubuntu“的服务。只要你有需要,我们尽可能的

安排人上门来为你服务。当然,如果你是笔记本,最好请你带到我们指定的地点,因为这样

更方便给你安装。如果你是女生,用的是台式机,并且住女生寝室,那么很抱歉,我们目前还

没有提供这样的服务。当然,希望看到杂志的你以后能为其它同学提供这个服务。

如果你确定要安装,并且需要人来帮忙。那么请联系我们2 。我相信聪明你会找到联

系方式的,对吗?

注:原则上本活动针对“成都信息工程学院航空港校区”的学生,但是如果你能把

你的电脑带到这儿来,我们会很乐意为你安装系统。

回到目录

2
你可以在这里在线提交申http://tech.cuit.edu.cn/forum/thread-1536-1-1.html
脚本 & 编程 · 22 ·

脚本 & 编程

python中加入中文
renewjoy

文件如下(文件名为cuit.py)

#!/usr/bin/python
print "成都信息工程学院 三叶草桃源工作室!"

运行时会出错

renewjoy@ubuntu:python$ ./cuit.py
File "./cuit.py", line 2
SyntaxError: Non- ASCII character '\xe6' in file ./
cuit.py on line 2, but no encoding declared; see http://www.python.org/
peps/pep-0263.html for details

查看了本机python的版本,为Python 2.5.2
这是一个极小的问题。在python代码中,用了中文注释,不能被python解释器理
解,解决方案是,在"#/usr/bin/python"之后加入一行代码:

# coding=utf8 "注意:前面的'#'不能少,等号两边不能有空格"

或者:

# coding: utf8

网上有文章说,设置成coding=gb2312也行,可是在本机上运行时却出现:

File "./cuit.py", line 3


SyntaxError: 'gb2312' codec can't decode bytes in position 7-8:
illegal multibyte sequence

出现上面的错误,应该和Ubuntu默认的编码(utf8)有关,所以,在设置时也必须用
utf8。
最后修改的文件如下:
脚本 & 编程 · 23 ·

#!/usr/bin/python
#coding=utf8
print "成都信息工程学院 三叶草桃源工作室!"

运行:

renewjoy@ubuntu:python$ ./cuit.py
成都信息工程学院 三叶草桃源工作室!

回到目录

GTK+入门-GUI 猜数字游戏实现与源代码分析
城市流浪猫

现在正是 Linux 全面向桌面进军的时候,Linux 从 Unix 系统继承了许多特征,包括强大


的字符用户接口,对于计算机技术人员,字符界面是强大,高效,灵活的,但是对于普通桌面
用户来讲,这无疑是一个非常大的挑战。因此,学习 Linux 系统下的 GUI 程序设计对于致
力于推广 Linux 的应用开发人员来说是非常有必要的。
Linux 下的 GUI 程序开发有许多选择,可以选择许多种程序设计语言,也有许多种界
面开发库可以选择,其中最出名的,当然是用于 GNOME 开发的 GTK+和开发了 KDE 和
QT。QT 是一个用于 GUI程序设计的 C++库,有良好的设计与封装,可以达到艺术级的应
用程序界面。GTK+是用 C 语言开发的图形界面开发包,最早用于 GIMP 的开发,后来应用
到了我们大家熟悉的 GNOME 桌面系统的开发,GTK+使用 C 语言,却是使用了面向对象
的设计思想,稳定,高效,效果也非常不错,已有大量的应用使用 GTK+开发。

实现源代码

Main.c 源代码如下:

/*
*
* main.c
*
* Created on: 2008-8-12
* Author: zhzhxtrrk
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
脚本 & 编程 · 24 ·

#include <unistd.h>
#include <sys/types.h>
#include <gtk/gtk.h>
#define MAX_NUMBER 10
#define MAX_TIMES 4

int times = 0; /*尝试次数*/


int number = 0; /*要猜的数*/

/**
* guess()
* 猜数字的逻辑部分,代码很简单,不作讲解
* @param widget 触发事件的控件
* @param data 用户数据,要求为entry控件指针
*/
void guess(GtkWidget* widget, gpointer data) {
if (0 == times) {
time_t t;
time(&t);
srand(t);
number = random() % MAX_NUMBER;
}

int guess = atoi(gtk_entry_get_text(GTK_ENTRY(data)));/*得到文本框


的值*/
gtk_entry_set_text(GTK_ENTRY(data), "");/*置空文本框,方便接下来的操作
*/

char message[1024];
if (guess > number) {
if (times >= MAX_TIMES - 1) {
sprintf(message, "哎,没有机会了!\n答案是%d。", number);
times = 0;
} else {
sprintf(message, "大了点!\n再试试。");
times++;
}
} else if (guess < number) {
if (times >= MAX_TIMES - 1) {
sprintf(message, "哎,没有机会了!\n答案是%d。", number);
times = 0;
} else {
sprintf(message, "小了点!\n再试试。");
times++;
脚本 & 编程 · 25 ·

}
} else if (guess == number) {
sprintf(message, "恭喜你!\n答对了!");
times = 0;
}

/**
* 通常这段代码都是这个组合,弹出一个消息框
* 要注意的是GTK的消息框不会自动关闭,所以最后一句不可少
*/
GtkWidget* messageDialog = gtk_message_dialog_new
(NULL, GTK_DIALOG_MODAL,
GTK_MESSAGE_INFO, GTK_BUTTONS_OK, message); /*创建消息框*/
gtk_window_set_title(GTK_WINDOW(messageDialog), "猜数字!");/*设置
消息框标题*/
gtk_dialog_run(GTK_DIALOG(messageDialog)); /*弹出消息框*/
gtk_widget_destroy(messageDialog);/*关闭消息框*/
}

/**
* createWindow()
* 创建主界面
* @return 创建完成的窗口
*/
GtkWidget* createWindow() {
GtkWidget* window = gtk_window_new(GTK_WINDOW_TOPLEVEL);/*创建窗口
*/
gtk_window_set_title(GTK_WINDOW(window), "猜数字");/*设置窗口标题*/
g_signal_connect (window, "destroy", G_CALLBACK
(gtk_main_quit), NULL);/*绑定关闭消息*/

GtkWidget* hbox = gtk_hbox_new(FALSE, 0);/*创建一个横向的布局盒*/


gtk_container_add(GTK_CONTAINER(window), hbox);/*将它放到窗口上*/

GtkWidget* entry = NULL;/*文本框*/


GtkWidget* button = NULL;/*按钮*/

entry = gtk_entry_new();/*创建文本框*/
gtk_box_pack_start(GTK_BOX(hbox), entry, TRUE, TRUE, 0);/*放它放到
布局盒里*/

button = gtk_button_new_with_label("猜!");/*创建按钮*/
g_signal_connect(button, "clicked", G_CALLBACK(guess), entry);/*
绑定单击事件*/
脚本 & 编程 · 26 ·

gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, TRUE, 0);/*放入


布局盒中*/

return window;/*返回窗口*/
}

/**
* main()
* 主函数,初始化环境,显示主界面,开始GTK的运行
* @return 程序状态
*/
int main(int argc, char* argv[]) {
gtk_init(&argc, &argv);/*初始化GTK环境*/
gtk_widget_show_all(createWindow());/*显示界面*/
gtk_main();/*开始运行*/

return 0;
}

makefile 源代码:

all:
gcc main.c -o guess `pkg-config --cflags --libs gtk+-2.0`
clean:
rm main

编译与运行

启动终端,进入源代码文件所在文件夹输入

make

编译源程序,得到可执行文件 guess。在终端里输入

./guess

启动程序。

源代码分析
脚本 & 编程 · 27 ·

如果你有一定的 C 语言基础,根据源代码里的注释,相信你应该能对程序的大致流程
有一个比较清晰的认识:-)
程序从 main()函数开始,首先初始化 GTK 环境,然后程序调用 createWindow()生成
程序的主窗口,并将它显示出来,接着进入主循环,主函数的任务到此也就算是结束了,到这
里后,程序会停下来,等待用户在图形界面上的操作,在图形界面上的操作邮一种叫作回调
函数的函数来响应给出相应的结果。这和普通的 C 程序设计里有些不同,这也正是图形
界面程序的特殊性,因为用户在图形界面上操作有多种选择,而且这些选择很多时候没有
明显的顺序性,用户的操作往往也有一定的随机性。与其按普通的顺序处理的方式来处
理这些随机的操作,还不如在操作的时候再来根据操作选择相应的函数来执行,这也正是
回调函数的精髓所在。所谓回调函数,可以这样理解,用户的操作是一个事件,我们在程序
里为这个事件注册一个函数,告诉系统在这个事件发生的时候主动的来执行这个函数通
知程序这个事件发生了,并交由程序作出相应的处理。这个事件发生的时候被调用的函
数就叫作回调函数。这种设计在这种随机性事件比较普遍的系统中非常常见,而图形界
面的程序就是一个典型的例子。
在 createWindow()函数里,调用了 GTK+的一系列函数生成了程序的主界面,并注册
了用于处理事件的回调函数,程序的注释里说明了具体的做法,更具体的函数用法的说明
就请有兴趣的读者自己查阅 GTK+的手册了。这段代码用到了布局管理的知识,这在图形
界面程序设计里很有价值,相信读者深入学习的时候会渐渐发现它的价值,在这里提醒大
家学习的时候多注意一下这些布局管理器,灵活运用它们,就可以作出非常精美聪明的界
面。这里更多的是需要大家去查手册,我需要解释的有两点。

g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);/


*绑定关闭消息*/

这是第一个需要解释的地方,GTK+的程序在关闭主窗口的时候,虽然主窗口会被释放
掉,但是进程并不会结束,因此,我们调用这行代码把关闭窗口事件和 GTK+退出主循环的
函数 gtk main quit()关联起来,这样,在关闭主窗口的时候,进程会一并结束(严格讲并不
是结束进程,还记得我们讲过的gtk main()吧,从面说到程序执行到 gtk main()会停下来,
当执行 gtk main quit()的时候只是从主循环函数 gtk main()中返回,接着向下执行),多
数情况下这是适用的。

g_signal_connect(button, "clicked", G_CALLBACK(guess), entry);/*绑定单


击事件*/

这句是这个程序的明星,这行代码把按钮的鼠标点击事件和 guess()函数联系在了一
起,当点击按钮这个事件发生的时候,回调函数 guess()被执行,处理相应的逻辑。
接下来就是 guess()函数了,这个函数前面提到,会在点击按钮的时候执行,这个函数
主要是处理猜数字的逻辑,比较简单,也就不多做解释了,配合注释和 GTK+手册,应该不会
脚本 & 编程 · 28 ·

有多大的问题。不过,要提醒的是,对于初学者,要转变下思路,以往通过循环来处理的这种
逻辑在用这种随机性事件来触发时候在程序代码上的相应调整,转变思路,充分,有效的利
用回调函数的特点。

总结

本文通过一个简单的图形界面猜数字游戏,介绍了一下 GTK+图形界面开发包,并对
图形界面程序设计给了一点提示,内容不多,仅供入门读者参考,希望能对您有所帮助。
祝大家学习进步,也祝大家能够享受 Linux 带给我们的快乐。

回到目录

bash中变量declare
王宏庆

当我们进行计算的时候,bash 到底能不能了解我们给予的是数字还是纯字符呢?这 个
非常重要,因为会造成系统的误判。
让我们试试看!
当我们输入 3*8 的结果时,应当怎么做呢?如果我们用命令行逐行输入,结果如下:

winelder@winelder:~/Documents/scripts$ a=3
winelder@winelder:~/Documents/scripts$ b=8
winelder@winelder:~/Documents/scripts$ c=$a*$b
winelder@winelder:~/Documents/scripts$ echo $c
3*8
winelder@winelder:~/Documents/scripts$

上面输出的并不是我们所希望的 24(3*8=24) 的结果,到底是什么原因呢??这是因 为我


们没有定义该变量,因此该变量仍然呈现默认的字符串形式。
所以我们需要先声明变量,声明变量使用 declare 指令。
declare
语法:
declare [-afirx]
参数说明:
-a: 定义为数组 array
-f: 定义为函数 function
-i: 定义为整数 integer
-r: 定义为只读
-x: 定义为通过环境输出变量
下面是脚本的完整例子:
脚本 & 编程 · 29 ·

#!/bin/bash
#filenaem: declare_variable.sh
declare -i a=3
declare -i b=8
declare -i c=$a*$b
echo "$a * $b = $c"

执行脚本,输出:

./declare_variable.sh
3 * 8 = 24

回到目录

gcc编译C++程序的一个小问题
renewjoy

程序代码如下:(文件名为program.c)

#include <iostream>

int main ()
{
std::cout << "I love CUIT!" << std::endl;

return 0;
}

按如下命令,编译出错:

$ gcc -o program -lstdc++ program.c


program.c:1:20: error: iostream: No such file or directory
program.c: In function ‘main’:
program.c:5: error: expected expression before ‘:’ token

但是把文件名改为:program.cpp后成功编译。
结论:gcc把带有扩展名.C/.cpp/.cc/.c++/.cxx的文件编译成C++文件。而如果gcc遇
到.c文件,就会把它编译成C程序。尽管gcc和g++都可以编译C++程序,但我们还是建
议使用g++,因为它的默认环境是C++,并且自动链接C++标准程序库。
脚本 & 编程 · 30 ·

回到目录
Linux基础知识 · 31 ·

Linux基础知识

GNU/Linux目录结构介绍
曾繁荣

在GNU/Linux里面,所有的目录都是从 /(root)根目录所扩展的树状结构。也许有
些朋友会问,如果有很多个盘,那不就有很多根目录吗? 事实不是这样的!那些硬盘
的某个分区不会像MS Windows一樣,分割成C盘、D盘和E盘等等,而都是在那个根目
录或底下的某个子目录,只是把某个分割区挂载(mount)到那个目錄罢了,也就是说在
Microsoft Windows的分区对应到GNU/Linux的话,就是挂载在某一个目录底下。
如果这样的挂来挂去,总要有个初始化源头让我们挂吧? 所以至少要有一块分割区
给根目录/(root),其它的目录就会以此为基础续挂在根目录的某个子目录下。如此就会
形成一个如下图4-1的树状结构。
GNU/Linux的发行版太多了,在早期每个发行版都有自己首选的目录分配方式,不
同的版本有不一样的目录分配,因此而造成很多使用者的困扰。为了平息这样的乱局,
Filesystem Hierarchy Standard(FHS:http://www.pathname.com/fhs/)就出面制定了一些
标准,让各个发行版有个纲要可以知道哪个目录要放什么样的东西。当前FHS定义的是
每个目录的大纲,所以很多细部配置文件的文件名或许还是有所不同,但是几乎都放在
同一个目录底下了。这样用户在寻找的时候,应该是容易许多了。所以Ubuntu也遵循这
样的命名结构,图4-1在別的发行版也适用。
我们了解了上面的內容之后,知道在安装时必需有一个/(root)根目录,其它目录是
依附在它下面。这些其它的目录所使用的实体硬盘空间可以是独立出来在另外一颗硬
盘或同一颗的其它分割区或者甚至不用独立出来。如果沒有独立出来的话,就是使用 /
(root)根目录分割区的空间或者在上一层的实体分割区空间。
根据图4-1读者可以自行评估哪一个目录比较重要,然后决定是否独立出来,这样
子可以拿来当成损害控管之用。
Linux基础知识 · 32 ·

回到目录

播放电影的时候,为何可以更改其文件名?
renewjoy

偶然一次,我把正在播放的电影的文件名更改了,但是电影还继续能正常播放,当
时百思不解。
后来,知道了inode。
关于inode的知识,请参考其它的书箱。这里,只按我的理解来说说inode,当我们
点击一个电影文件时,我们是通过文件名来识别的,而操作系统会把文件名转换成相
应的inode number,通过inode number找到文件的inode,然后再通过inode结构里面的data
pointer找到文件的内容。也就是说,mplayer进程是以文件的inode结构里面的data pointer
来找到文件的,而不是我们主观认为的以文件名来识别。
当我们更改文件名的时候,文件的inode number并没有更改,所以进程能继续识别
出。
于是,我们可以进行更多的操作,而不管文件是否正在被使用。比如:移动文件、
重命名,删除。对于删除,如果进程正在使用,那我们用删除命令后,文件并没有真正
Linux基础知识 · 33 ·

删除,只有当使用文件的进程全部退出后,文件才真正的删除。
文件系统的inode特性只有类UNIX系统才支持,非UNIX系统都不支持。比如:FAT
文件系统。

回到目录

用date命令来获得当前时间的多种格式
renewjoy

我通常用date命令在脚本中获得当前时间,可当时却还不知道他有很多的输出格
式,害我还用awk来获取各个段,然后再组合使用。
现在才发觉,date命令有很多的输出格式控制符,只要会了,感觉会得心应手。
下面举例说明:
1、获得当前时间完整格式。

renewjoy@ubuntu:~$ date
Fri Aug 22 21:38:56 CST 2008

2、获得当前日期,格式为“年_月_日”

renewjoy@ubuntu:~$ date "+%Y_%m_%d" #用下划线来连接,还可用符


号"-"但是不能用空格
2008_08_22

3、获得当前时间距 1970-01-01 00:00:00 UTC的秒数

renewjoy@ubuntu:~$ date +%s


1219412514

4、把从1970-01-01 00:00:00 UTC到当前的秒数转换成可读的时间格式

renewjoy@ubuntu:~$ date -d @1219412514


Fri Aug 22 21:41:54 CST 2008

5、获得当天星期几名称的完整英语单词。
Linux基础知识 · 34 ·

renewjoy@ubuntu:~$ date +%A


Friday

还可以用date +%ˆA来显示大写的星期几名称。

renewjoy@ubuntu:~$ date +%^A


FRIDAY

6、获得当月名称的完整英语单词。

renewjoy@ubuntu:~$ date +%B


August

7、只显示当前时间。

renewjoy@ubuntu:~$ date +%T


21:47:28

更多的用法请使用date --help查看。

回到目录

用一个C++程序来理解Linux的输出重定向
renewjoy

很多初学Linux的朋友,一开始还不怎么理解Linux的输出重定向和错误重定向。同
样的,很多初学C++语言的朋友,也并不理解std::cout和std::cerr的本质区别,感
觉他们似乎是一样的。
提示:Linux的标准输出重定向/标准错误重定向,可以和C++的标准输出流/标准错
误流结合起来学习,两者结合起来更容易理解。而且,从这个角度讲,C++与Linux系
统是一致的。
(关于Linux中标准输出重定向/标准错误重定向,和C++中的std::cout/std::cerr知
识,请参考相应的书目)
下面用一个C++程序来演示Linux系统的重定向:
程序的代码:
Linux基础知识 · 35 ·

// Filename: redirection.cpp
// Author: renewjoy
// Date: Sun Aug 24 13:42:06 CST 2008
// Function: 演示标准输出流和标准错误流

#include <iostream>

int main()
{
std::cout << "This a standard out stream!" << std::endl;
std::cerr << "This a standard error stream!" << std::endl;

return 0;
}

编译程序:g++ -o redirection redirection.cpp


以下是程序的几种运行方式:
0、直接运行程序

renewjoy@ubuntu:cpp$ ./redirection #输出结果说明,标准输出设备和标准错误设


备,都默认为屏幕(显示器)。
This a standard out stream!
This a standard error stream!

1、将标准输出重定向到文件output.txt

renewjoy@ubuntu:cpp$ ./redirection > output.txt #把程序的标准输出重定


向到output.txt文件中.此时,标准错误设备仍为屏幕
This a standard error stream!
renewjoy@ubuntu:cpp$ cat output.txt #查看文件output.txt的内容
This a standard out stream!

2、将标准错误重定向到文件error.txt

renewjoy@ubuntu:cpp$ ./redirection 2> error.txt #程序的输出结果为C++程序


中“标准输出流”语句的内容
This a standard out stream!
renewjoy@ubuntu:cpp$ cat error.txt #查看文件error.txt的内容
This a standard error stream!
Linux基础知识 · 36 ·

3、将标准输出、标准错误分别重定向到不同文件:

renewjoy@ubuntu:cpp$ ./redirection 1> output_cp.txt 2> error_cp.txt #


此时屏幕没有任何输出
renewjoy@ubuntu:cpp$ cat output_cp.txt #查看标准输出文件
This a standard out stream!
renewjoy@ubuntu:cpp$ cat error_cp.txt #查看标准错误文件
This a standard error stream!

4、将标准输出与标准错误定向到同一文件:

renewjoy@ubuntu:cpp$ ./redirection > output_error.txt 2>&1 #


此时屏幕没有任何输出
renewjoy@ubuntu:cpp$ cat output_error.txt #查看文件内容
This a standard out stream!
This a standard error stream!

回到目录
《桃源》杂志稿件要求 · 37 ·

《桃源》杂志稿件要求

真心希望得到你的稿件,但是为了大家的方便,稿件有如下的要求:

1. 因本杂志是免费在网上传播,此举也没有给我们带来经济收入,所以投向本刊的

稿件暂时没有稿费。

2. 来稿请注明作者。如果作者是在校学生,希望注明所在学校及所学专业(针对高等

院校),这样对读者也许有更好的带头效果。如果从网上转载的,请注明转载的

出处(以链接形式),并一定要注明原作者。

3. 来稿请尽量使用tex格式的文件,如果你的文章中有图片,而你又不熟悉tex的排

版,那么请使用odt(或者doc)格式,如果文章中没有图片,尽量使用txt的文本格

式。

4. 有插图说明的必须另行附上插图,然后和文章一起打包发过来,打包格式以.tar.gz

和.tar.bz2为佳,不建议用rar格式。

5. 如果作者对格式有要求,要注明。能不能修改,要注明。未注明的,我们一律视

为可以按我们的要求进行更改。

6. 你的文章我们会在两个星期之内告诉你结果,如果没有收到我们的答复,请联系

我们,了解原因。

7. 请自己保留底稿,来稿不论是否录用,一律不退还底稿。

8. 投稿信箱:rlj linux@126.com lyt1231@gmail.com

9. 如有疑问,联系QQ:376549092 85388803

回到目录
Ubuntu应用 · 38 ·

Ubuntu应用

交互式进程查看器-htop
renewjoy

软件作者:Hisham Muhammad
网址:http://htop.sourceforge.net/index.php?page=main
htop是为Linux系统设计的,一个可以让用户与之交互的进程查看器。它是文本模式
的应用程序(用于控制台或 X 终端中)。编译的时候需要库ncurses,在内核为2.4 和2.6
中测试。当前具有按树状方式来查看进程,支持颜色主题,可以定制等特性。
htop 与 top 之间的比较:

• 在"htop"中,可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整的命
令行。

• 在"top"之中,你会常常遇到一些迟缓,因为你不小心输入了一些没有功能的字
母。

• "htop"启动比 top 更快。(top在显示之前似乎需要一点时间来收集数据)。

• 在"htop"中,杀进程时不需要输入进程号。而"top"需要。

• htop 支持鼠标操作。

• top 已经很老了,因此,它被用得更多且经得起考验。

htop的安装:

sudo apt-get install htop

回到目录

解决学校教育网登录的问题
软件工程 Java07级1班 雷宇田

注:1、本文专门针对成都信息工程学院的教育网之登录问题。我们学校的教育网
采用华为H3C802.1x解决方案,如果非本校的读者的联网也采用H3C,那么可以尝试以
下方法(不过由于版本的问题,不保证能成功)。
这已经是很多刚刚踏入Linux殿堂的同学们遇到的问题了,由于无法在Linux下连接
学校的教育网,不少人因此放弃了继续使用。我刚开始使用Ubuntu时,也遇到了这个问
题。还好学校考虑到了我们Linux用户,提供了H3C的Linux登录软件,在经过一番努力
之后,成功连了网。
Ubuntu应用 · 39 ·

学校提供的软件有三个版本的,我们目前使用h3c802.1xClient 2.40-R0162 rh7这个版


本。校外用户选择适合自己的版本。以下是下载地址:
ftp://tech.cuit.edu.cn
现在开始安装、设置、上网:
0.解压后在终端下进入到其目录下,之后输入:sudo ./pre.ps
1.设置连接方式(按照我校标准)。输入:sudo linux1x -c。之后输入“Y”确认
要进行设置;选择“Trap by multicast”即“2”;之后的都选择的选项分别是YYYNY。
设置完成!
2.登录:sudo linux1x -d
很简单吧?
不过要提醒的是,如果中途出现错误说找不到libstdc++-libc6.2-2.so.3,那么回到解
压目录下,运行命令:

sudo cp libstdc++-libc6.2-2.so.3 /usr/lib

以上便是个人经验的总结,如果大家还有更多的想法,请上论坛参与讨论。

附:
1、在航空港校区,也只有一部分学生宿舍能在ubuntu下直接连上校园网,16、17
栋是绝对可以的。其它的各栋楼,没有具体统计。
2、这样以后每次连网都需要用sudo,可能你觉得麻烦。而且还需要手动连接,想让
系统自动连接且不用sudo,那么,请看另外一篇文章。

回到目录

如何用命令弹出光盘?
renewjoy

1、弹出光盘:eject
2、关闭光驱:eject -t (只针对台式机,笔记本需要手动关闭)

回到目录

Ubuntu助80后追忆童年生活
--在Ubuntu中重温红白机和世嘉五代游戏

何晓龙

虽然人们常说年纪大了才怀旧,但笔者现在就开始怀旧了,可能是怀念童年的无忧
无虑,少不经事,也可能是今日成年人世界的压力太大的缘故吧,常常回忆起童年的一
些事情,当然最难忘的还是当年的游戏机。
Ubuntu应用 · 40 ·

70/80后童年或少年时代,多数都有游戏机相伴,比如说红白机,小霸王以及后来
的世嘉五代等,重温经典游戏常常会令我们想起一些童年或少年时代的生活片段,好在
有了模拟器,本文就来介绍如何在Ubuntu 7.10中使用红白机和世嘉五代的模拟器,找回
那些难忘的记忆!

一、红白机篇
任天堂的FC(FamilyComputer)就是日本任天堂公司1983年推出的家用游戏机,在中
国一般称为“红白机”。在欧美则称为NES(NintendoEntertainmentSystem)。 想当年,
FC只凭借一颗1.78MHz的8位CPU及只有2KB的内存和显存就统治了多年游戏世界。
想必当年许多人都玩过红白机吧,可能它还配陪伴很多朋友度过童年的美好时光,
这么多年过去了,这个满载着大家美好童年回忆的游戏机,想必多数朋友都会在闲暇之
余来重温一下,Ubuntu中的Gfceu这款FC模拟器就可以满足大家的渴望,本技巧就是来
介绍如何实现Ubuntu下模拟运行红白机游戏。
1.安装模拟器
由于Ubuntu默认的软件源中已经为大家准备了gfceu这款出色的FC模拟器,所以就
选择它来安装,在终端中运行如下命令:

$ sudo apt-get install gfceu

安装成功后,便可选择Ubuntu主菜单“应用程序-游戏-GFCEUltraNESEmula-
tor”选项来运行红白机模拟器了。
2.模拟游戏
光有了模拟器,没有游戏ROM文件也是玩不了游戏的,FC模拟器的ROM打包文件
可以在UbuntuChina互动社区游戏乐园(http://www.ubuntuchina.com/forumdisplay.
php?fid=70&page=1)下载,下载后解压,然后简单配置一下键盘映射、音效和显示,
如图5所示。
设置完成后,从“Main”标签页中选择ROM文件中的游戏,如图5所示。
Ubuntu应用 · 41 ·

图 5 加载游戏ROM

单击“执行”按钮就可以开始重温当年红白机经典游戏,回味童年的快乐了,下
图就是在Ubuntu中运行80后必玩游戏超级玛丽3,当年许多朋友都为这些游戏如痴如醉
过,如图6所示。

图 6 超级玛丽3快乐的回忆

二、世嘉五代篇
Ubuntu应用 · 42 ·

1989年推出的世嘉MEGA DRIVE游戏机是第一台16位游戏机,中文名字为世嘉五
代,由于其采用了摩托罗拉68000和Z80两个CPU,所以图像和声音在当时十分突出,再
加上当时优秀之作不断,赢得了很多玩家的支持,如著名的动作游戏战斧、Sonic以及
怒之铁拳系列都是当时玩家的最爱。
1.安装模拟器
选择Ubuntu主菜单“应用程序-附件 -终端”选项,并在终端中输入如下命令开
始安裝。

$ sudo apt-get install dgen

2.模拟游戏
成功安装后,在终端中使用下列指令运行Ubuntu世嘉五代模拟器DGen。

$ dgen 参数 ROM文件

对于DGen来说,最为有用的参数如表1所示:

表 1 DGen常用操作键
参数 功能
-f 全屏显示
-J 使用手柄

下面就来详细介绍一下这些常用参数的使用,如果喜欢全屏显示游戏,可以使用如
下命令:

$ dgen –f NZTQ2.zip

如果手柄可以被Ubuntu识别,那就要用“-J”参数来使用,通常来说,多数手柄
可以被Ubuntu支持,尤其是USB手柄,所以也可以被DGen支持。
至于最后一个参数,大家可能比较费解,由于一个游戏有好多版本,如美版、日
版、欧版等,所以有时会发生显示不兼容的情况,这个参数通常在运行DGen不支持的
显示制式的游戏文件时使用。
可以使用如表2的方法享受世嘉游戏。
Ubuntu应用 · 43 ·

表 2 DGen常用操作键
按键 功能
Enter键 开始游戏
键盘方向键 控制方向
Z键 暂停游戏
A键 手柄A键
S键 手柄B键
D键 手柄C键

UbuntuChina互动社区(http://www.ubuntuchina.com/)游戏乐园为大家提供了
丰富的世嘉五代经典游戏ROM文件,大家可以在社区搜索下载,DGen游戏效果如图7所
示。

图 7 世嘉五代经典动作游戏怒之铁拳

更多文章请看作者博客http://blog.sina.com.cn/ubuntuchina

回到目录

Ubuntu安装ftp软件
renewjoy

安装最后显示:
Ubuntu应用 · 44 ·

sudo apt-get install vsftpd

Adding system user `ftp' (UID 112) ...


Adding new user `ftp' (UID 112) with group `nogroup' ...
Not creating home directory `/home/ftp'.
* Starting FTP server: vsftpd [ OK ]

renewjoy@ubuntu:home$ ls -l
total 28
drwxr-xr-x 2 root nogroup 4096 2008-08-27 23:08 ftp
drwxr-xr-x 12 joy joy 4096 2008-08-03 23:41 joy
drwx------ 2 root root 16384 2008-07-24 19:19 lost+found
drwxr-xr-x 71 renewjoy renewjoy 4096 2008-08-27 23:10 renewjoy

1.安装vsftpd

apt-get install vsftpd

2.启动vsftpd

/etc/init.d/vsftpd restart

3.将/home/ftp的属主改为自己帐户

cd /home
chown 帐户 ftp

4.每次将文件或目录拷贝到/home/ftp(利用root权限)

cp /某文件夹或某文件 /home/ftp

5.改权限

cd /home/ftp
chmod 755 -R *
Ubuntu应用 · 45 ·

在虚拟机中用ftp://IP地址就可以访问了。

回到目录

Ubuntu 中 VMware Workstation 的安装


兰大07级通信工程 刘栋

与 Ubuntu 初次见面,一下子很难摆脱 windows 的怀抱,想彻底的投入 linux 一时是不


可能了,两个方法:1,双系统;2,请出大名鼎鼎的虚拟机 了。第一个方法就不多说了,绝对的
麻烦,比如说舍不得游戏的笔者,三天内了装了 N 次系统,大概数一下,XP 有 3 次,Ubuntu 有
两次。别问我为什么,有兴趣的话可以自己试一下,嘿嘿。至于虚拟机,最有名的当然是
VMware workstation 了,下面就讲述一下 VMware 的安装配置。
首先要下载 VMware,建议到官网(http://www.vmware.com/)上下载软件,现在最新
的版本是 6.04,网站是全英文的,相信各位应该知道在哪下载的,下载了对应的版本后,右键
解压,解压出的文件名为“vmware-distrib”将解压出来的文件夹转到 tmp 文件夹中,然后
打开终端,

etemallg@etemallg:~$ cd /tmp/vmware-distrib
etemallg@etemallg:/tmp/vmware-distrib$ sudo ./vmware-install.pl

然后按照提示一路“ENTER”“yes”“no”下去,只有一个地方要注意,就是在询问
是否和主机共享一个私有网络时,不要选择默认的“YES”,选择“no”,否则你会发现陷
入了无尽的循环中。
安装完毕后在“Applications”中的“系统工具”可以找到“VMware Workstation”点
击即可。如果不知道如何使用 VMware,可以上虚拟机之家(http://www.xuniji.com/)寻
找教程,这个是我找到的教程 http://www.xuniji.com/vmware/view.asp?id=245,按照
上面所说的就可以使用虚拟机了。
虚拟机安装后可以在 VM 标签中选择安装 vm tools,安装后就可以是主机与虚拟机件
互相拖曳文件了,相当的方便。这是个商业软件,注册了话可以使用一个月,但是你的注册
邮箱会被不断的骚扰,所以还是找一个注册机吧,在 verycd 上可以找到,再就是红联上可
以找到一位网友发的注册机(http://www.linuxdiyf.com/bbs/viewthread.php?tid=
83172&highlight=vmware%2Bworkstation).在“HELP“ 标签里有注册的选项。
PS:虚拟机里是装不上显卡驱动的,所以游戏就不用想了。

回到目录

看奥运开幕式的救星:在线电视qsopcast
renewjoy
Ubuntu应用 · 46 ·

奥林匹克的圣火终于在北京鸟巢点燃了。非常高兴。
为了看今晚的奥运会,还颇费了一番周折。因为windows下的声卡装不上,只得在
ubuntu下寻找方法了,可是有直播权的几家网站都只支持IE,看来想用Firefox来播放的
可能性不大了。
幸亏前些时间在一个论坛上看到一个帖子,于是便再去试试,果然,还成功了。
从下面地址中下载两个包:http://tech.cuit.edu.cn/forum/thread-1790-1-2.
html
直接用命令安装即可,命令:sudo dpkg -i software name.deb
安装后启动:Applications/Internet/qsopcast即可。软件的使用方法很简单,自己摸索
吧。
提示:

• 当时有CCTV-1,2,3,4,6,8台,不过后来几次都有变化,可能有你想要的
台,也可能没有。

• 本软件默认用的播放器是mplayer,需要事先安装。如果不想安装mplayer,则要调整
默认播放器。

• 开始缓冲需要点时间,请耐心等待。但是一旦缓冲完毕,在我机子上播放4个小时
的开幕式(当时用宽带),中间一点都没有卡。

回到目录

Ubuntu下使用校内通
软件工程系 Java07级1班 雷宇田

校内网是目前中国最大的SNS网站,我刚收到大学通知书后就在上面注册了一个账
号。如今的校内网是很多大学生常去的网站,我几乎天天都要上去看看。去年他们推
出了自己的IM,又增强了校内产品对用户的黏性。可以说现在大学生的IM除了QQ就是
校内通了。今年7月底,腾讯出了自己的QQ for Linux,这同时也加大了大家对Linux下
校内通客户端的期待。这两天,我偶然发现校内通使用的协议是符合XMPP规范的,而
Ubuntu的Pidgin正好可以使用这个规范的协议。在网上搜索了半天,终于搞到了校内通
的相关参数并配置成功登上校内通了。现在我给大家分享如何在Ubuntu下使用校内通:

1. 在“应用程序-互联网”里面找到并打开你的Pidgin。选择菜单栏内的“账户”-“管
理”(如果你初次使用,会自动弹出账户管理窗口),在弹出的“账户”窗口
内,点击“添加”。

2. 在新弹出的“添加账户”窗口的基本选项卡内,协议选择“XMPP”,用户名是你
的校内数字ID,域名是“www.xiaonei.com”,资源随便填,密码当然就是你校内
的密码啦。然后切换选项卡到“高级”,在连接服务器内填“talk.xiaonei.com”。

3. 最后点击保存按钮就完成了。
Ubuntu应用 · 47 ·

这个Pidgin版校内通可以实现以下功能:

• 显示所有好友及其状态与心情

• 更改自己的状态(如在线、隐身等)

• 与好友聊天、发送表情

• 显示会话对方当前的输入状态和会话状态

• 显示校内通里面的一些提示,如谁上传了照片,谁发表了文章等

总的来说,Pidgin下的校内通功能非常丰富,也基本满足了大家的需要。不过使用
了一段时间后,我也感受到了一些美中不足之处,这不是很稳定,有时要掉线。

回到目录

校园网802.1x自动连接
renewjoy

用华为的802.1x连接的校园网,每次启动系统都得运行网络连接命令,想找个自动
运行的方法。
1、给linux1x命令设置位"uid",这样做的目的是以普通用户的身份就可以运行命令
linux1x.

sudo chmod u+s `which linux1x` #在我的电脑上,`which linux1x`相当于/


usr/local/bin/linux1x

2、把网络连接命令添加到启动程序里面去。
点击:System/Perferences/Sessions/add,在弹出的对话框中,按如下方式输入即可。
name: net-connect(随便写)
command: linux1x -d
comment: connect to Internet(也可随便写)

回到目录

再说Ubuntu 8.04 软件源的配置


王红庆

在linux操作系统中,最初只有.tar.gz的打包文件,用户必须编译每个他想在GNU/
Linux上运行的软件。用户们普遍认为系统很有必要提供一种方法来管理这些安 装在机
Ubuntu应用 · 48 ·

器上的软件包,当Debian诞生时,这样一个管理工具也就应运而生,它被命名为dpkg。
从而著名的“package”概念第一次出现在 GNU/Linux系统中。
ubuntu正是基于Debian的linux发行版。因此它的包管理工具也是dpkg。广大linux
迷和GNU/Linux制作者认为,他们需要一个快速、实用、高效的方法来安装软件包,
当软件包更新时,这个工具应该能自动管理关联文件和维护已有配置文件,于是APT
(Advanced Packaging Tool)诞生了。APT后来还被Conectiva改造用来管理rpm,并被其
它Linux发行版本采用为它们的软件包管理工具。
上期中(即桃源第二期八月刊中)网络工程系07级4班涂建超所作《Ubuntu 8.04 软
件源的配置》一文中,已给出软件源的基本配置。笔者认为在大部分校友以校园网作为
接入网络方式的情况下,很有必要给出详细的软件源配置方法,在众多的软件源中作出
筛选,以得到快速,稳定而且完整的软件源。
本文的宗旨正是给出一个简单,实用的方法来选择最佳镜像发布站点加入source.list
文件中。所遵循的原则即是:KISS(Kepp It Simple,Stupid)
一个新用户经常问到的问题是:“该将哪个Debian镜像发布站点加入source.list文
件?”。有很多方法来选择镜像发布站点,专家们可能会写一个脚本去测试不同站点的
ping time,不过有一个现成的程序可以帮你:netselect。
1) 安装netselect

sudo apt-get install netselect

2) select不带参数运行时会显示它的帮助信息。运行它时加上以空格分隔的镜像主
机列表,它会返回一个分值和列表中的一个主机名。这个分值通过评估ping time和hops
number(一个网络请求报文到达目标主机所经过的转发主机的个数)来得出。它与镜像
站点预计下载速度成反比,即数值越小越好。返回的主机名是主机列表中得分最低的那
个(查看列表中所有主机的得分情况可使用-vv选项)。看下例:

winelder@wophochess:~$netselect ftp.debian.org http.us.debian.org


ftp.at.debian.org download.unesp.br ftp.debian.org.br
365 ftp.debian.org.br

它表示,在netselect后列出的所有主机中,ftp.debian.org.br是下载速度最快的主机,
其得分为365。那么把它加入到sources.list中吧!(sudo gedit /etc/apt/sources.list....)
3) 从0.3版开始,netselect软件包包含了netselect-apt脚本,它使上述操作自动完成。
只需将发布目录树做为参数(默认为 stable)输入,sources.list文件就会生成速度最快的
main和non-US镜像站点列表,并保存在当前目录下。下面的例子生成一个包含 stable发
布镜像站点列表的sources.list
Ubuntu应用 · 49 ·

winelder@wophochess:~$ ls sources.list
ls: sources.list: File or directory not found
winelder@wophochess:~$ netselect-apt stable
(...)
winelder@wophochess:~$ ls -l sources.list
sources.list
winelder@wophochess:~$

(记住:sources.list生成在当前目录下,必须将其移至/etc/apt目录。)

回到目录

Ubuntu下独立版本的飞信程序
renewjoy

下载地址:http://tech.cuit.edu.cn/forum/thread-1889-1-2.html
安装:

sudo dpkg -i linux_fetion_v0.8.0_8.04_i386.deb

ubuntu下无法输入中文时安装:

sudo apt-get install scim-bridge-client-qt4

测试环境:

ubuntu8.04
$ uname -r
2.6.24-19-generic
Ubuntu应用 · 50 ·

回到目录
读者问答 · 51 ·

读者问答

刚安装完ubuntu8.04,感觉界面挺好的,现在问题一大堆
四川 德阳 ilikelinux

刚硬盘安装完ubuntu,感觉界面挺好的,是8.04的,有点慢,可能是我机子配置
低,现在问题一大堆:
1.中文输入法没得.
2.连mp3都放不了,要解码器,不懂.
3.网页视频放不了.
4.rar格式的文件无法识别啊
5.对于这个ubuntu,有下载工具吗,可以提高下载速度.
6.推荐几款软件,请各位朋友,装起来能够傻瓜化.谢谢。
我是德阳广汉的,请多多关照!希望你们能帮我解决这些问题,让我早日用流畅
ubuntu8.04,谢谢!

本刊回答:(renewjoy)
1.scim的安装: 选择System/Administration/Language support 找到中文语言,安装中文
包,系统自动安装scim输入法。装好后,重启X(Ctrl+alt+backspace),然用Ctrl + space 调
出scim。
2.mp3解码器:在点击mp3后,系统会提示没有解码器,然后点击搜索安装即可。
如果实在不行,装个播放器(audacious)也可以。

sudo apt-get install audacious

3.让firefox网页播放视频要装个插件。
下载地址:http://tech.cuit.edu.cn/forum/redirect.php?tid=2064&goto=lastpost#
lastpost
4.装个rar格式支持,然后用命令或鼠标就可以解压(打包)rar格式文件。

sudo apt-get install rar unrar

5. 本论坛上介绍了一个MutiGet下载软件,(http://tech.cuit.edu.cn/forum/thread-456-1-6.
html),支持断点继传。具体下载速度看你用的网络。宽带的话,还是很快的。
6. 关于软件介绍,请关注本刊前一、二期及后继期刊。

回到目录
关于本刊 · 52 ·

关于本刊
桃源工作室

关于杂志中文名称“桃源”:现实的Windows世界让我们已经无法忍受,于是寻找

了一个桃花源般的世界。这是另一个美丽而和谐的世界,欢迎你来桃源参观。

关于杂志英文名称:做这个杂志的灵感来源于开源精神,于是便把“源”译为

source, “桃”自然想到就用拼音了,恰好Tao的英语意思是“道”,于是便直接译成:

Tao of Source(The Tao of Open Source)。

关于代码的图片格式:图片格式更好看些,我们一致这样认为。当然,更主要的是

因为,读者不应该直接copy本杂志的代码,如果你连自己将代码输入编辑器的兴趣都没

有,那你也没有运行这些程序代码的必要,对吗?

关于本杂志:这是成都信息工程学院三叶草Linux小组的共同爱好,我们每人花点

时间便做出来了。没有什么技术含量,只为推广国内Linux的普及使用。杂志前两期用

Open Office排版,从这期开始,用LATEX来做。

关于桃源工作室:桃源工作室是三叶草的Linux小组,只因杂志需要,从而形成一

个工作室。

关于桃源工作室招新问题(面向本校):如果你爱好Ubuntu或者其它的Linux发行版

本,并且希望能把你所学的知识能在校园里得到推广,那么请加入我们。我们是一群有

激情、无私分享精神的人,这儿有对开源痴迷的朋友,你将通过这个杂志让更多的人了

解到Ubuntu,了解到开源。也通过本杂志搭成的平台,让更多的人了解你,让你接触更

多的爱好Ubuntu的朋友。

关于投稿:如果你有文章,并愿意向我们投稿,那我们非常欢迎你。让咱们行动起

来,为Linux做点实事。具体稿件要求,请看另外一篇文章。

回到目录