2008年10月9日星期四

升级 Ubuntu 8.10 后无法使用网络的问题

今天将系统从 Ubuntu 8.04 升级到 8.10 beta,基本上一切正常。只是本来在公司用得好好的网络链接,回到宿舍后却突然无法使用了。

使用 ifconfig 发现 eth0 没有从路由器上获得 IP 地址。在 /var/log/syslog 中看到系统不断地重复输出(3秒一次)

Oct 7 22:34:54 ubuntu NetworkManager: disconnected by the system bus.
Oct 7 22:34:57 ubuntu NetworkManager: nm_dbus_manager_start_service(): Could not acquire the NetworkManager service as it is already taken.

通过浏览日志发现,系统在启动的时候其实已经通过 DHCP 获得了 IP 地址,而且 Activation (eth0) Stage 的五个步骤也全部成功完成。但是随后输出一下日志

Oct 7 22:20:22 ubuntu NetworkManager: (eth0): carrier now OFF (device state 8 )
Oct 7 22:20:22 ubuntu NetworkManager: (eth0): device state change: 8 -> 2
Oct 7 22:20:22 ubuntu NetworkManager: (eth0): deactivating device.
Oct 7 22:20:22 ubuntu NetworkManager: eth0: canceled DHCP transaction, dhcp client pid 6853

不知道为什么会突然 carrier OFF。考虑到网上很多用户反映 Ubuntu 8.10 的 NetworkManager 不好用,不能排除新版本的 NetworkManager 依旧存在某些 bug。

如果需要快速恢复系统的网络链接,一个快捷的方法是编辑 /etc/network/interfaces 文件。我打开文件后发现其中内容只有 lo 的配置:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface

于是为 eth0(有线链接)和 eth1(无线链接)加上配置,如下:

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet dhcp

保存之后执行
sudo /etc/init.d/networking restart
即可恢复。但是这时 NetworkManager 不再管理网络链接,点击其图标会提示 device is unmanaged。

如果希望保留 NetworkManager 的特性,还可以编辑 /etc/NetworkManager/nm-system-settings.conf,将其中的

[ifupdown]
managed=false

修改成为

[ifupdown]
managed=true

即可。

http://www.dreamcode.org/blog/posts/32.html原贴地址

2008年9月19日星期五

非常漂亮的GNOME主题

这是我最近使用GNOME桌面主题:Glow,确实非常漂亮。因为其自带了很多款配色,在统一的Widget样式上,你可以找到自己喜欢的配色。 

应朋友要求,所以写篇有关主题的安装与配置。


—–

这款主题名叫:Glow,来自GNOME-Look.org,与一般的GTK+2的主题不同,它需要另外一个系统并没有自带的GTK+引擎才能使用。因此在安装主题前,需要安装这个名为Aurora的GTK+引擎。

Aurora Gtk Engine可以在这里下载到:

http://www.gnome-look.org/content/show.php/Aurora+Gtk+Engine?content=56438

下载的压缩包里面有两个文件,解压后,其中aurora-1.4.tar.gz是引擎相关的,gtkrc_themes.tar.bz2是引擎自带的三个主题,你可以自己试用之。


linuxdesktop.cn/">

将其中的aurora-1.4.tar.gz解包,假设解压至主目录~/aurora-1.4。

接下来我们要编译aurora了,确认你已经安装好了相关开发包,如果没有的话,请打开终端执行sudo apt-get install gnome-core-devel

准备好以后,就开始编译吧!打开你的终端,然后执行下面的指令:

cd ~/aurora-1.4
./configure --prefix=/usr --enable-animation(其中enable-animation这个参数用于启用动画效果,aurora引擎具备一些动画效果)
make
sudo make install(或者你可以用sudo checkinstall来打包)



安装完成后,就可以去下载Glow主题了。

访问:http://www.gnome-look.org/content/show.php/Glow?content=85996

下载其中的GTK2 Theme(如果你是xfce桌面,选择Xfwm4),这里强烈建议安装Emerald边框,这样才能达到一致的效果。

安装Glow主题和Emerald的边框不必多言,到“系统”->“首选择”->“外观”即可安装。至于Emerald,首先保证你sudo apt-get install emerald,然后打开Emerald Theme Manager即可安装。

安装后,根据你自己喜欢的配色,选择喜爱的Glow吧!其中我选择的是Glow Water,即截图中显示的主题。还有各种亮色、暗色、绿色、红色等配色,一定有你喜欢的。


linuxdesktop.cn/">

至于图标主题的话,我使用的是Linux下普遍的Tango主题,大家也可以根据自己的喜好使

2008年8月28日星期四

ubuntu8.04解决flash不能显示中文的问题

修改/etc/fonts/conf.d/49-sansserif.conf内容如下,解决flash不能显示中文的问题:
代码:







sans-serif


serif


monospace


文泉驿正黑


2008年8月23日星期六

给VirtualBox的vdi文件瘦身

用VirtualBox,随着时间推移,其VDI文件越来越大,其中有很多是无效的数据,因此想办法去掉

第一步,下载SDelete,是MS出的,从http://www.microsoft.com/technet/sysinternals/Security/SDelete.mspx下载后,放到虚拟的WINDOWS里,在WINDOWS的命令行里运行

sdelete -c c:

目的是把硬盘里的空闲区域用0来填充

第二步,下载vditool,从http://www.virtualbox.org/download/testcase/vditool下好后,在命令行下运行,./vditool,显示其用法

vditool Copyright (c) 2004-2005 InnoTek Systemberatung GmbH.

Usage: vditool [Params]
Commands and params:
NEW Filename Mbytes - create new image;
DD Filename DDFilename - create new image From DD format image;
CONVERT Filename - convert VDI image From old format;
DUMP Filename - debug dump;
RESETGEO Filename - reset geometry information;
COPY FromImage ToImage - make image copy;
COPYDD FromImage DDFilename - make a DD copy of the image;
SHRINK Filename - optimize (reduce) VDI image size.

可以看到SHRINK这个参数可以减少VDI的大小,还有一个DD参数,可以从DD文件创建VDI,方便测试自己写的操作系统

运行./vditool SHRINK vdifilename,可以比较慢,主要看VDI文件的大小,不过这样做之后,大小就可以减少了

2008年8月20日星期三

ubuntu删除旧内核的shell脚本

随着ubuntu的更新,特别是其内核的更新,系统中就 会存留很多版本的内核,要知道每个都很大,不但浪费硬盘空间,而且在启动的时候,grub的选项里会出现很多个内核,很是不好,所以就需要删除旧版本的已 经不用的内核。一下的shell脚本就可以帮你轻松搞定问题,这个脚本是转载学长。

#!/bin/sh
#Program:
# Let user uninstall unused kernels which installed as debian package form.
#Author:
# mtyy110
if [ "`whoami`" != 'root' ]; then
echo 'Requires superuser privilege.'
exit 1
fi
dpkg --get-selections | grep 'linux-' | grep -v 'deinstall' | grep "\-[0-9]\.[0-9]\{1,2\}\.[0-9]\{1,2\}\-"
while [ 1 ]
do
total=`dpkg --get-selections | grep 'linux-' | grep -v 'deinstall' | grep "\-[0-9]\.[0-9]\{1,2\}\.[0-9]\{1,2\}\-" | wc -l`
read -p "Which version would you like to uninstall?(0 to quit)" version
if [ $version = "0" ]; then
break
fi
tmp=`echo $version | grep "^[0-9]\.[0-9]\{1,2\}\.[0-9]\{1,2\}\-\{0,1\}[0-9]\{0,2\}$" | wc -l`
if [ $tmp -eq 0 ]; then
echo "Not an available version format,please input full version."
continue
fi
sum=`dpkg --get-selections | grep 'linux-' | grep -v 'deinstall' | grep "\-[0-9]\.[0-9]\{1,2\}\.[0-9]\{1,2\}\-" | grep "$version" | wc -l`
if [ $sum -eq 0 ]; then
echo "Not find version $version.Ignored."
continue
fi
tmp=`uname -r | grep "$version" | wc -l`
if [ $tmp -eq 1 ]; then
read -p "This will uninstall the kernel current used:`uname -r`.Are you sure?(y/N)" choice
if [ "$choice" != 'y' -a "$choice" != 'Y' ]; then
continue
fi
fi
if [ $total -le $sum ]; then
read -p "This will uninstall all the kernels in the system.Are you sure?(y/N)" choice
if [ "$choice" -o 'y' -a "$choice" -o 'Y' ]; then
continue
fi
fi
apt-get remove `dpkg --get-selections | grep 'linux-' | grep -v 'deinstall' | grep "\-$version" | cut -f 1`
read -p "Continue to uninstall other kernel?(Y/n)" choice
if [ "$choice" = 'n' -o "$choice" = 'N' ]; then
break
fi
dpkg --get-selections | grep 'linux-' | grep -v 'deinstall' | grep "\-[0-9]\.[0-9]\{1,2\}\.[0-9]\{1,2\}\-"
done
exit 0

2008年8月18日星期一

wine字体调整方法

1、从c:\windows\fonts\里拷贝一个simsun.ttc到~/.wine/drive_c/windows/fonts/

2、修改/加入 ~/.wine/system.reg
[System\\CurrentControlSet\\Hardware Profiles\\Current\\Software\\Fonts]
"LogPixels"=dword:00000070

这里是改变dialog window buttom的字体大小


3.修改/加入 ~/.wine/windows的dir/win.ini
[Desktop]
menufontsize=13
messagefontsize=13
statusfontsize=13
IconTitleSize=13

这边是改变其他字体的大小

另外:
修改~/.wine/system.reg

[Software\\Microsoft\\Windows NT\\CurrentVersion\\FontSubstitutes] 1144897563

"MS Shell Dlg"="SimSun"
"MS Shell Dlg 2"="SimSun"

可以解决某些按钮字体的问题

在某些系统中,以上方法都不能解决字体默认为simsun,最后发现,系统最先使用simfang.ttf,所以可以这样做:
ln -s SimSun.ttc simfang.ttc
因为simfang.ttc在simfang.ttf前,所以使用了simsun字体

wine Ms Office 2003

1. 将richedit20.dll和richedit32.dll还有msxml3.dll三个文件在winecfg里面设为native(windows).

2.上网下载以上三个文件的安装包:

http://media.codeweavers.com/pub/crossover/office/support/richedit30.exe

http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=28494391-052b-42ff-9674-f752bdca9582

3.执行安装

richedit30.exe
msiexec /i msxml3.msi

4.运行Office的Setup.exe

建议安装选择查看细节,把“输入法”那块给取消掉,要不然会安装微软拼音,退出OFFICE后不会退出输入法,得手动结束ctfmon.exe进程。

经我试验最新版的wine可以不用做每二步与第三步……

2008年8月15日星期五

vim使用说明

===============================================================================
= 欢 迎 阅 读 《 V I M 教 程 》 —— 版本 1.5 =
===============================================================================
vim 是一个具有很多命令的功能非常强大的编辑器。限于篇幅,在本教程当中
就详细介绍了。本教程的设计目标是讲述一些必要的基本命令,而掌握好这些
命令,您就能够很容易将vim当作一个通用的万能编辑器来使用了。

完成本教程的内容大约需要25-30分钟,取决于您训练的时间。

每一节的命令操作将会更改本文。推荐您复制本文的一个副本,然后在副本上
进行训练(如果您是通过"vimtutor"来起动教程的,那么本文就已经是副本了)。

切记一点∶本教程的设计思路是在使用中进行学习的。也就是说,您需要通过
执行命令来学习他们本身的正确用法。如果您只是阅读而不操作,那么您可能
会很快遗忘这些命令的!

好了,现在请确定您的Shift-Lock(大小写锁定键)还没有按下,然后按键盘上
的字母键 j 足够多的次数来移动光标,直到第一节的内容能够完全充满屏幕。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第一讲第一节∶移动光标


※※ 要移动光标,请依照说明分别按下 h、j、k、l 键。 ※※

^
k 提示∶ h 的键位于左边,每次按下就会向左移动。
<> l 的键位于右边,每次按下就会向右移动。
j j 键看起来很象一支尖端方向朝下的箭头。
v

1. 请随意在屏幕内移动光标,直至您觉得舒服为止。

2. 按下下行键(j),直到出现光标重复下行。

---> 现在您应该已经学会如何移动到下一讲吧。

3. 现在请使用下行键,将光标移动到第二讲。

提示∶如果您不敢确定您所按下的字母,请按下键回到正常(Normal)模式。
然后再次从键盘输入您想要的命令。

提示∶光标键应当也能正常工作的。但是使用hjkl键,在习惯之后您就能够快速
地在屏幕内四处移动光标了。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第一讲第二节∶VIM的进入和退出


!! 特别提示∶敬请阅读完整本一节的内容,然后才能执行以下所讲解的命令。

1. 请按键(这是为了确保您处在正常模式)。

2. 然后输入∶ :q! <回车>

---> 这种方式的退出编辑器绝不会保存您进入编辑器以来所做的改动。
如果您想保存更改再退出,请输入∶
:wq <回车>

3. 如果您看到了命令行提示符,请输入能够带您回到本教程的命令,那就是∶

vimtutor <回车>

通常情况下您也可以用这种方式∶

vim tutor <回车>

---> 这里的 'vim' 表示进入vim编辑器,而 'tutor'则是您准备要编辑的文件。

4. 如果您自信已经牢牢记住了这些步骤的话,请从步骤1执行到步骤3退出,然
后再次进入编辑器。接著将光标移动到第一讲第三节来继续我们的教程讲解。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第一讲第三节∶文本编辑之删除


** 在正常(Normal)模式下,可以按下 x 键来删除光标所在位置的字符。**

1. 请将光标移动到本节中下面标记有 ---> 的那一行。

2. 为了修正输入错误,请将光标移至准备删除的字符的位置处。

3. 然后按下 x 键将错误字符删除掉。

4. 重复步骤2到步骤4,直到句子修正为止。

---> The ccow jumpedd ovverr thhe mooon.

5. 好了,该行已经修正了,下一节内容是第一讲第四节。

特别提示∶在您浏览本教程时,不要强行记忆。记住一点∶在使用中学习。



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第一讲第四节∶文本编辑之插入


** 在正常模式下,可以按下 i 键来插入文本。**

1. 请将光标移动到本节中下面标记有 ---> 的第一行。

2. 为了使得第一行内容雷同于第二行,请将光标移至文本第一个字符准备插入
的位置。

3. 然后按下 i 键,接著输入必要的文本字符。

4. 所有文本都修正完毕,请按下 键返回正常模式。
重复步骤2至步骤4以便修正句子。

---> There is text misng this .
---> There is some text missing from this line.

5. 如果您对文本插入操作已经很满意,请接著阅读下面的小结。



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第一讲小结


1. 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键。
h (左移) j (下行) k (上行) l (右移)

2. 欲进入vim编辑器(从命令行提示符),请输入∶vim 文件名 <回车>

3. 欲退出vim编辑器,请输入以下命令放弃所有修改∶

:q! <回车>

或者输入以下命令保存所有修改∶

:wq <回车>

4. 在正常模式下删除光标所在位置的字符,请按∶ x

5. 在正常模式下要在光标所在位置开始插入文本,请按∶

i 输入必要文本

特别提示∶按下 键会带您回到正常模式或者取消一个不期望或者部分完成
的命令。

好了,第一讲到此结束。下面接下来继续第二讲的内容。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第二讲第一节∶删除类命令


** 输入 dw 可以从光标处删除至一个单字/单词的末尾。**

1. 请按下 键确保您处于正常模式。

2. 请将光标移动到本节中下面标记有 ---> 的那一行。

3. 请将光标移至准备要删除的单词的开始。

4. 接著输入 dw 删除掉该单词。

特别提示∶您所输入的 dw 会在您输入的同时出现在屏幕的最后一行。如果您输
入有误,请按下 键取消,然后重新再来。

---> There are a some words fun that don't belong paper in this sentence.

5. 重复步骤3至步骤4,直至句子修正完毕。接著继续第二讲第二节内容。



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第二讲第二节∶其他删除类命令


** 输入 d$ 从当前光标删除到行末。**

1. 请按下 键确保您处于正常模式。

2. 请将光标移动到本节中下面标记有 ---> 的那一行。

3. 请将光标移动到该行的尾部(也就是在第一个点号‘.’后面)。

4. 然后输入 d$ 从光标处删至当前行尾部。

---> Somebody typed the end of this line twice. end of this line twice.


5. 请继续学习第二讲第三节就知道是怎么回事了。





~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第二讲第三节∶关于命令和对象


删除命令 d 的格式如下∶

[number] d object 或者 d [number] object

其意如下∶
number - 代表执行命令的次数(可选项,缺省设置为 1 )。
d - 代表删除。
object - 代表命令所要操作的对象(下面有相关介绍)。

一个简短的对象列表∶
w - 从当前光标当前位置直到单字/单词末尾,包括空格。
e - 从当前光标当前位置直到单字/单词末尾,但是 *不* 包括空格。
$ - 从当前光标当前位置直到当前行末。

特别提示∶
对于勇于探索者,请在正常模式下面仅按代表相应对象的键而不使用命令,则
将看到光标的移动正如上面的对象列表所代表的一样。




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第二讲第四节∶对象命令的特殊情况


** 输入 dd 可以删除整一个当前行。 **

鉴于整行删除的高频度,VIM 的设计者决定要简化整行删除,仅需要在同一行上
击打两次 d 就可以删除掉光标所在的整行了。

1. 请将光标移动到本节中下面的短句段落中的第二行。
2. 输入 dd 删除该行。
3. 然后移动到第四行。
4. 接著输入 2dd (还记得前面讲过的 number-command-object 吗?) 删除两行。

1) Roses are red,
2) Mud is fun,
3) Violets are blue,
4) I have a car,
5) Clocks tell time,
6) Sugar is sweet
7) And so are you.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第二讲第五节∶撤消类命令


** 输入 u 来撤消最后执行的命令,输入 U 来修正整行。**

1. 请将光标移动到本节中下面标记有 ---> 的那一行,并将其置于第一个错误
处。
2. 输入 x 删除第一个不想保留的字母。
3. 然后输入 u 撤消最后执行的(一次)命令。
4. 这次要使用 x 修正本行的所有错误。
5. 现在输入一个大写的 U ,恢复到该行的原始状态。
6. 接著多次输入 u 以撤消 U 以及更前的命令。
7. 然后多次输入 CTRL-R (先按下 CTRL 键不放开,接著输入 R 键) ,这样就
可以执行恢复命令,也就是撤消掉撤消命令。

---> Fiix the errors oon thhis line and reeplace them witth undo.

8. 这些都是非常有用的命令。下面是第二讲的小结了。




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第二讲小结


1. 欲从当前光标删除至单字/单词末尾,请输入∶dw

2. 欲从当前光标删除至当前行末尾,请输入∶d$

3. 欲删除整行,请输入∶dd

4. 在正常模式下一个命令的格式是∶

[number] command object 或者 command [number] object
其意是∶
number - 代表的是命令执行的次数
command - 代表要做的事情,比如 d 代表删除
object - 代表要操作的对象,比如 w 代表单字/单词,$ 代表到行末等等。
$ (to the end of line), etc.

5. 欲撤消以前的操作,请输入∶u (小写的u)
欲撤消在一行中所做的改动,请输入∶U (大写的U)
欲撤消以前的撤消命令,恢复以前的操作结果,请输入∶CTRL-R

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第三讲第一节∶置入类命令


** 输入 p 将最后一次删除的内容置入光标之后 **

1. 请将光标移动到本节中下面示范段落的首行。

2. 输入 dd 将该行删除,这样会将该行保存到vim的缓冲区中。

3. 接著将光标移动到准备置入的位置的上方。记住∶是上方哦。

4. 然后在正常模式下(键进入),输入 p 将该行粘贴置入。

5. 重复步骤2至步骤4,将所有的行依序放置到正确的位置上。

d) Can you learn too?
b) Violets are blue,
c) Intelligence is learned,
a) Roses are red,



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第三讲第二节∶替换类命令


** 输入 r 和一个字符替换光标所在位置的字符。**

1. 请将光标移动到本节中下面标记有 ---> 的第一行。

2. 请移动光标到第一个错误的适当位置。

3. 接著输入 r ,这样就能将错误替换掉了。

4. 重复步骤2和步骤3,知道第一行是已经修改完毕。

---> Whan this lime was tuoed in, someone presswd some wrojg keys!
---> When this line was typed in, someone pressed some wrong keys!

5. 然后我们继续学校第三讲第三节。

特别提示∶切记您要在使用中学习,而不是在记忆中学习。



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第三讲第三节∶更改类命令


** 要改变一个单字/单词的部分或者全部,请输入 cw **

1. 请将光标移动到本节中下面标记有 ---> 的第一行。

2. 接著把光标放在单词 lubw 的字母 u 的位置那里。

3. 然后输入 cw 就可以修正该单词了(在本例这里是输入 ine 。)

4. 最后按 键,然后光标定位到下一个错误第一个准备更改的字母处。

5. 重复步骤3和步骤4,知道第一个句子完全雷同第二个句子。

---> This lubw has a few wptfd that mrrf changing usf the change command.
---> This line has a few words that need changing using the change command.

提示∶请注意 cw 命令不仅仅是替换了一个单词,也让您进入文本插入状态了。



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第三讲第四节∶使用c指令的其他更改类命令


** 更改类指令可以使用同删除类命令所使用的对象参数。**

1. 更改类指令的工作方式跟删除类命令是一致的。操作格式是∶

[number] c object 或者 c [number] object

2. 对象参数也是一样的,比如 w 代表单字/单词,$代表行末等等。

3. 请将光标移动到本节中下面标记有 ---> 的第一行。

4. 接著将光标移动到第一个错误处。

5. 然后输入 c$ 使得该行剩下的部分更正得同第二行一样。最后按 键。

---> The end of this line needs some help to make it like the second.
---> The end of this line needs to be corrected using the c$ command.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第三讲小结


1. 要重新置入已经删除的文本内容,请输入小写字母 p。该操作可以将已删除
的文本内容置于光标之后。如果最后一次删除的是一个整行,那么该行将置
于当前光标所在行的下一行。

2. 要替换光标所在位置的字符,请输入小写的 r 和要替换掉原位置字符的新字
符即可。

3. 更改类命令允许您改变指定的对象,从当前光标所在位置直到对象的末尾。
比如输入 cw 可以替换当前光标到单词的末尾的内容;输入 c$ 可以替换当
前光标到行末的内容。

4. 更改类命令的格式是∶

[number] c object 或者 c [number] object

下面我们继续学习下一讲。



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第四讲第一节∶定位及文件状态


** 输入 CTRL-g 显示当前编辑文件中当前光标所在行位置以及文件状态信息。
输入 SHIFT-G 则直接跳转到文件中的某一指定行。**

提示∶切记要先通读本节内容,之后才可以执行以下步骤!!!

1. 按下 CTRL 键不放开然后按 g 键。然后就会看到页面最底部出现一个状态信
息行,显示的内容是当前编辑的文件名和文件的总行数。请记住步骤3的行号。

2. 按下 SHIFT-G 键可以使得当前光标直接跳转到文件最后一行。

3. 输入您曾停留的行号,然后按下 SHIFT-G。这样就可以返回到您第一次按下
CTRL-g 时所在的行好了。注意∶输入行号时,行号是不会在屏幕上显示出来
的。

4. 如果愿意,您可以继续执行步骤1至步骤三。



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第四讲第二节∶搜索类命令


** 输入 / 以及尾随的字符串可以用以在当前文件中查找该字符串。**

1. 在正常模式下输入 / 字符。您此时会注意到该字符和光标都会出现在屏幕底
部,这跟 : 命令是一样的。

2. 接著输入 errroor <回车>。那个errroor就是您要查找的字符串。

3. 要查找同上一次的字符串,只需要按 n 键。要向相反方向查找同上一次的字
符串,请输入 Shift-N 即可。

4. 如果您想逆向查找字符串,请使用 ? 代替 / 进行。

---> When the search reaches the end of the file it will continue at the start.

"errroor" is not the way to spell error; errroor is an error.

提示∶如果查找已经到达文件末尾,查找会自动从文件头部继续查找。



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第四讲第三节∶配对括号的查找


** 按 % 可以查找配对的括号 )、]、}。**

1. 把光标放在本节下面标记有 --> 那一行中的任何一个 (、[ 或 { 处。

2. 接著按 % 字符。

3. 此时光标的位置应当是在配对的括号处。

4. 再次按 % 就可以跳回配对的第一个括号处。

---> This ( is a test line with ('s, ['s ] and {'s } in it. ))

提示∶在程序调试时,这个功能用来查找不配对的括号是很有用的。






~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第四讲第四节∶修正错误的方法之一


** 输入 :s/old/new/g 可以替换 old 为 new。**

1. 请将光标移动到本节中下面标记有 ---> 的那一行。

2. 输入 :s/thee/the <回车> 。请注意该命令只改变光标所在行的第一个匹配
串。

3. 输入 :s/thee/the/g 则是替换全行的匹配串。

---> the best time to see thee flowers is in thee spring.

4. 要替换两行之间出现的每个匹配串,请输入 :#,#s/old/new/g (#,#代表的是
两行的行号)。输入 :%s/old/new/g 则是替换整个文件中的每个匹配串。




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第四讲小结


1. Ctrl-g 用于显示当前光标所在位置和文件状态信息。Shift-G 用于将光标跳
转至文件最后一行。先敲入一个行号然后按 Shift-G 则是将光标移动至该行
号代表的行。

2. 输入 / 然后紧随一个字符串是则是在当前所编辑的文档中向后查找该字符串。
输入问号 ? 然后紧随一个字符串是则是在当前所编辑的文档中向前查找该字
符串。完成一次查找之后按 n 键则是重复上一次的命令,可在同一方向上查
找下一个字符串所在;或者按 Shift-N 向相反方向查找下该字符串所在。

3. 如果光标当前位置是括号(、)、[、]、{、},按 % 可以将光标移动到配对的
括号上。

4. 在一行内替换头一个字符串 old 为新的字符串 new,请输入 :s/old/new
在一行内替换所有的字符串 old 为新的字符串 new,请输入 :s/old/new/g
在两行内替换所有的字符串 old 为新的字符串 new,请输入 :#,#s/old/new/g
在文件内替换所有的字符串 old 为新的字符串 new,请输入 :%s/old/new/g
进行全文替换时询问用户确认每个替换需添加 c 选项,请输入 :%s/old/new/gc


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第五讲第一节∶在 VIM 内执行外部命令的方法


** 输入 :! 然后紧随著输入一个外部命令可以执行该外部命令。**

1. 按下我们所熟悉的 : 命令设置光标到屏幕底部。这样就可以让您输入命令了。

2. 接著输入感叹号 ! 这个字符,这样就允许您执行外部的 shell 命令了。

3. 我们以 ls 命令为例。输入 !ls <回车> 。该命令就会列举出您当前目录的
内容,就如同您在命令行提示符下输入 ls 命令的结果一样。如果 !ls 没起
作用,您可以试试 :!dir 看看。

---> 提示∶ 所有的外部命令都可以以这种方式执行。

---> 提示∶ 所有的 : 命令都必须以 <回车> 告终。




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第五讲第二节∶关于保存文件的更多信息


** 要将对文件的改动保存到文件中,请输入 :w FILENAME 。**

1. 输入 :!dir 或者 :!ls 获知当前目录的内容。您应当已知道最后还得敲
<回车> 吧。

2. 选择一个尚未存在文件名,比如 TEST 。

3. 接著输入 :w TEST (此处 TEST 是您所选择的文件名。)

4. 该命令会以 TEST 为文件名保存整个文件 (VIM 教程)。为了确保正确保存,
请再次输入 :!dir 查看您的目录列表内容。

---> 请注意∶如果您退出 VIM 然后在以文件名 TEST 为参数进入,那么该文件内
容应该同您保存时的文件内容是完全一样的。

5. 现在您可以通过输入 :!rm TEST 来删除 TEST 文件了。



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第五讲第三节∶一个具有选择性的保存命令


** 要保存文件的部分内容,请输入 :#,# w FILENAME **

1. 再来执行一次 :!dir 或者 :!ls 获知当前目录的内容,然后选择一个合适的
不重名的文件名,比如 TEST 。

2. 接著将光标移动至本页的最顶端,然后按 CTRL-g 找到该行的行号。别忘了
行号哦。

3. 接著把光标移动至本页的最底端,再按一次 CTRL-g 。也别忘了这个行好哦。

4. 为了只保存文章的某个部分,请输入 :#,# w TEST 。这里的 #,# 就是上面
要求您记住的行号(顶端行号,底端行号),而 TEST 就是选定的文件名。

5. 最后,用 :!dir 确认文件是否正确保存。但是这次先别删除掉。




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第五讲第四节∶提取和合并文件


** 要向当前文件中插入另外的文件的内容,请输入 :r FILENAME **

1. 请键入 :!dir 确认您前面创建的 TEST 文件还在。

2. 然后将光标移动至当前页面的顶端。

特别提示∶ 执行步骤3之后您将看到第五讲第三节,请届时再往下移动回到这里来。

3. 接著通过 :r TEST 将前面创建的名为 TEST 的文件提取进来。

特别提示∶您所提取进来的文件将从光标所在位置处开始置入。

4. 为了确认文件已经提取成功,移动光标回到原来的位置就可以注意有两份第
五讲第三节,一份是原本,另外一份是来自文件的副本。



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第五讲小结


1. :!command 用于执行一个外部命令 command。

请看一些实际例子∶
:!dir - 用于显示当前目录的内容。
:!rm FILENAME - 用于删除名为 FILENAME 的文件。

2. :w FILENAME 可将当前 VIM 中正在编辑的文件保存到名为 FILENAME 的文
件中。

3. :#,#w FILENAME 可将当前编辑文件第 # 行至第 # 行的内容保存到文件
FILENAME 中。

4. :r FILENAME 可提取磁盘文件 FILENAME 并将其插入到当前文件的光标位置
后面。







~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第六讲第一节∶打开类命令


** 输入 o 将在光标的下方打开新的一行并进入插入模式。**

1. 请将光标移动到本节中下面标记有 ---> 的那一行。

2. 接著输入小写的 o 在光标 *下方* 打开新的一行并进入插入模式。

3. 然后复制标记有 ---> 的行并按 键退出插入模式而进入正常模式。

---> After typing o the cursor is placed on the open line in Insert mode.

4. 为了在光标 *上方* 打开新的一行,只需要输入大写的 O 而不是小写的 o
就可以了。请在下行测试一下吧。当光标处在在该行上时,按 Shift-O可以
在该行上方新开一行。

Open up a line above this by typing Shift-O while the cursor is on this line.





~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第六讲第二节∶光标后插入类命令


** 输入 a 将可在光标之后插入文本。 **

1. 请在正常模式下通过输入 $ 将光标移动到本节中下面标记有 ---> 的第一行
的末尾。

2. 接著输入小写的 a 则可在光标之后插入文本了。大写的 A 则可以直接在行
末插入文本。

提示∶输入大写 A 的操作方法可以在行末插入文本,避免了输入 i,光标定位到
最后一个字符,输入的文本, 回复正常模式,箭头右键移动光标以及
x 删除当前光标所在位置字符等等诸多繁杂的操作。

3. 操作之后第一行就可以补充完整了。请注意光标后插入文本与插入模式是基
本完全一致的,只是文本插入的位置定位稍有不同罢了。

---> This line will allow you to practice
---> This line will allow you to practice appending text to the end of a line.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第六讲第三节∶另外一个置换类命令的版本


** 输入大写的 R 可连续替换多个字符。**

1. 请将光标移动到本节中下面标记有 ---> 的第一行。

2. 移动光标到第一行中不同于标有 ---> 的第二行的第一个单词的开始,即单
词 last 处。

3. 然后输入大写的 R 开始把第一行中的不同于第二行的剩余字符逐一输入,就
可以全部替换掉原有的字符而使得第一行完全雷同第二行了。

---> To make the first line the same as the last on this page use the keys.
---> To make the first line the same as the second, type R and the new text.

4. 请注意∶如果您按 退出置换模式回复正常模式,尚未替换的文本将仍
然保持原状。





~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第六讲第四节∶设置类命令的选项


** 设置可使查找或者替换可忽略大小写的选项 **


1. 要查找单词 ignore 可在正常模式下输入 /ignore 。要重复查找该词,可以
重复按 n 键。

2. 然后设置 ic 选项(ic就是英文忽略大小写Ignore Case的首字母缩写词),即
输入∶
:set ic

3. 现在可以通过键入 n 键再次查找单词 ignore。重复查找可以重复键入 n 键。

4. 然后设置 hlsearch 和 incsearch 这两个选项,输入以下内容∶
:set hls is

5. 现在可以再次输入查找命令,看看会有什么效果∶
/ignore

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第六讲小结


1. 输入小写的 o 可以在光标下方打开新的一行并将光标置于新开的行首,进入
插入模式。
输入大写的 O 可以在光标上方打开新的一行并将光标置于新开的行首,进入
插入模式。

2. 输入小写的 a 可以在光标所在位置之后插入文本。
输入大写的 A 可以在光标所在行的行末之后插入文本。

3. 输入大写的 R 将进入替换模式,直至按 键退出替换模式而进入正常
模式。

4. 输入 :set xxx 可以设置 xxx 选项。









~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第七讲∶在线帮助命令

** 使用在线帮助系统 **

Vim 拥有一个细致全面的在线帮助系统。要启动该帮助系统,请选择如下三种方
法之一∶
- 按下 键 (如果键盘上有的话)
- 按下 键 (如果键盘上有的话)
- 输入 :help <回车>

输入 :q <回车> 可以关闭帮助窗口。

提供一个正确的参数给":help"命令,您可以找到关于该主题的帮助。请试验以
下参数(可别忘了按回车键哦。Smile

:help w <回车>
:help c_
:help insert-index <回车>
:help user-manual <回车>




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第八讲∶创建一个启动脚本

** 启用vim的功能 **

Vim的功能特性要比vi多得多,但大部分功能都没有缺省激活。为了启动更多的
功能,您得创建一个vimrc文件。

1. 开始编辑vimrc文件,这取决于您所使用的操作系统∶

:edit ~/.vimrc 这是Unix系统所使用的命令
:edit $VIM/_vimrc 这是Windows系统所使用的命令

2. 接着导入vimrc范例文件∶

:read $VIMRUNTIME/vimrc_example.vim

3. 保存文件,命令为∶

:write

在下次您启动vim的时候,编辑器就会有了语法高亮的功能。您可以继续把您喜
欢的其它功能设置添加到这个vimrc文件中。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

vim 教程到此结束。本教程只是为了简明地介绍一下vim编辑器,但已足以让您
很容易学会使用本编辑器了。毋庸质疑,vim还有很多很多的命令,本教程所介
绍的还差得远著呢。所以您要精通的话,还望继续努力哦。下一步您可以阅读
vim手册,使用的命令是∶
:help user-manual

为了更进一步的参考和学习,以下这本书值得推荐∶

Vim - Vi Improved - 作者∶Steve Oualline
出版社∶New Riders

这是第一本完全讲解vim的书籍。对于初学者特别有用。其中还包含有大量实例
和图示。欲知详情,请访问 http://iccf-holland.org/click5.html

以下这本书比较老了而且内容主要是vi而不是vim,但是也值得推荐∶

Learning the Vi Editor - 作者∶Linda Lamb
出版社∶O'Reilly & Associates Inc.

这是一本不错的书,通过它您几乎能够了解到全部vi能够做到的事情。此书的第
六个版本也包含了一些关于vim的信息。

本教程是由来自Calorado School of Minese的Michael C. Pierce、Robert K.
Ware 所编写的,其中来自Colorado State University的Charles Smith提供了
很多创意。编者通信地址是∶

bware@mines.colorado.edu

本教程已由Bram Moolenaar专为vim进行修订。



译制者附言∶
===========
简体中文教程翻译版之译制者为梁昌泰 ,还有
另外一个联系地址∶linuxrat@gnuchina.org。

繁体中文教程是从简体中文教程翻译版使用 Debian GNU/Linux 中文项目小
组的于广辉先生编写的中文汉字转码器 autoconvert 转换而成的,并对转
换的结果做了一些细节的改动。

变更记录∶
=========
2002年03月18日 梁昌泰
根据Bram Molenaar先生在2002年03月16日的来信要求,将vimtutor1.4中译
版升级到vimtutor1.5。

2001年11月15日 梁昌泰
将vimtutor1.4中译版提交给Bram Molenaar和Sven Guckes。

2008年8月9日星期六

黑客背单词的安装

reciteword是一款中文界面的背单词软件(也称黑客背单词),功能比较强大。在Ubuntu中安装可能会遇到一些小困难,故在此说明一下。

本文介绍的是从源码编译安装的过程。

下载程序

reciteword的网站是: http://reciteword.cosoft.org.cn/reciteword/index.html

作者提供了如下几个包,请按需下载源码包:

* 主程序源码(必须) reciteword
* 课本(重要) reciteword-books
* 词典(可选) reciteword-dicts
* 皮肤(可选) reciteword-skins-rw
* 真人发音 WyabdcRealPeopleTTS (可选,是stardict的真人语音)

准备工具

先安装编译需要的包

# apt-get install libesd0-dev pkg-config libgtk2.0-dev esound

安装libesd0-alsa0,保证开启esd后,仍能用alsa。

# apt-get install libesd-alsa0

启用esd,这是reciteword播放声音所必须的:(假设是gnome环境)

在菜单中:系统->首选项->音效,在打开的窗口中:音效->允许软件混音(ESD)。

为了使设置生效,建议你最好重新启动系统。

黑客背单词的安装

安装过程就没有什么特别的了,进入存有reciteword的文件后:

tar xvfj reciteword-*.tar.bz2

cd reciteword-0.*

./configure --prefix=/usr

make

sudo make install


课本的安装:

tar -xjvf reciteword-books-*.tar.bz2  && sudo mv books /usr/share/reciteword/

词典的安装:

tar -xjvf reciteword-dicts-*.tar.bz2  && mv dicts /usr/share/reciteword/

皮肤的安装:

tar -xjvf reciteword-skins-rw-*.tar.bz2  && sudo mv rw /usr/share/reciteword/skins

真人声音的安装:

tar -xjvf WyabdcRealPeopleTTS.tar.bz2  && sudo mv WyabdcRealPeopleTTS /usr/share

注意: 真人声音安装的位置是/usr/share,这个位置不要改变,即使configure时prefix不同。

然后菜单中就可以找到“背单词”了,在终端中执行 reciteword也行。

rpm安装

作者还提供了编译好的rpm包供RH系列用户使用 在Ubuntu下可以使用alien转换为deb包,然后安装

安装alien

sudo apt-get install alien

下载rpm包

wget -c http://downloads.sourceforge.net/reciteword/reciteword-0.8.4-1.fc8.i386.rpm

安装

sudo chmod 755 reciteword-0.8.4-1.fc8.i386.rpm

sudo alien reciteword-0.8.4-1.fc8.i386.rpm

sudo dpkg -i reciteword-*.deb

2008年7月22日星期二

linux下的网络映射

Windows可以通过网络邻居访问局域网主机,而在Linux下可以通过Samba客户端访问局域网内的Windows主机,也可以通过Samba服务 器给Windows主机提供文件、打印机服务。为了方便讲述,这里假设Windows主机的计算机名为Peter,设Linux主机的名称为 RedHat。

  1.安装Samba组件
  如果选择完全安装Red Hat Linux 9.0,则系统会默认安装Samba组件。我们可以在终端命令窗口输入以下命令进行验证:

  [root@ahpeng root] rpm -qa | grep samba

  如果结果出现以下所示的5个软件包,则表示已经安装:

  samba-swat-2.2.7a-7.9.0

  samba-2.2.7a-7.9.0

  redhat-config-samba-1.0.4-1

  samba-common-2.2.7a-7.9.0

  samba-client-2.2.7a-7.9.0

   如果没有安装过Samba软件包,则可以插入第1张安装光盘,然后鼠标依次单击"主菜单→系统设置→添加/删除应用程序"菜单项,打开"软件包管理"对 话框,在该对话框中找到"Windows文件服务器"选项,确保该选项处于选中状态,然后单击"更新"按钮即可开始安装。

  你也可以把第1张安装光盘插入光驱,然后在终端命令窗口输入以下命令:

  [root@ahpeng root]# cd /mnt/cdrom/RedHat/RPMS

  [root@ahpeng RPMS]# rpm -ivh samba*

  [root@ahpeng RPMS]# rpm -ivh redhat-config-samba-1.0.4-1.noarch.rpm

  2.Linux主机访问Windows主机
  安装好Samba之后,就有了与Windows互相访问的基础。这里先介绍一下如何用字符命令方式访问Windows宿主机的共享资源。

  (1)查询宿主机的共享资源

   可以使用"smbclient -L WindowsHostName"命令(此处的WindowsHostName用Windows主机名代替)。本例是要查询Windows主机Peter 上的共享资源,可以在终端窗口输入"smbclient -L Peter"命令,然后回车即可看到Windows主机的共享资源。

  (2)连接宿主机的共享目录

   可以使用"smbclient //WindowsHostName/ShareName"命令来连接Windows主机上的某个共享文件夹,如果该共享文件夹需要用户名和密码,则可以 使用"smbclient //WindowsHostName/ShareName -U UserName"命令。例如要连接Windows主机Peter上的共享目录Share,我们可以在终端窗口输入"smbclient //Peter/Share"命令然后回车即可。

  如果连接成功,即可出现"smb:>"提示符,在该命令提示符下输入适当的命令,即可对所连接的共享目录进行操作。

  Smb支持的命令有大约40个命令,可以很方便地对共享目录进行删除、重命名、切换目录等操作。如果要列出共享目录"Share"下的具体内容,可以使用ls命令。要删除其下的test.txt文件,可以使用"del test.txt"命令。

  (3)映射网络驱动器

   我们知道,Windows下可以将共享目录映射为网络驱动器,这样就可以把共享目录当成本地文件夹来使用。在Linux下可以借助于smbmount命 令来实现,具体的命令参数是"smbmount //WindowsHostName/ShareName /mnt/smbdir"(此处的ShareName指代Windows共享资源名称,smbdir指代挂载点名称)。假设要将Windows主机 Peter下的共享文件夹Share映射为/mnt/WinShare目录,具体步骤是:

  首先在/mnt目录下创建一个目录,假设为/mnt/WinShare;

  然后打开终端命令窗口,运行"smbmount //Peter/Share /mnt/WinShare"即可;

  现在再在文件管理器里打开/mnt/WinShare目录可以看到共享目录的内容!要卸载该映射目录,可以使用umount命令。

  (4)用Nautilus访问Windows主机

  借助Gnome桌面下的文件管理器Nautilus,我们可以用图形界面来访问Windows主机,这里要注意的是Nautilus只是提供访问Windows主机的图形界面,具体的底层操作还是借助于Samba客户端来完成。

  在Gnome桌面环境下,单击"主菜单→网络服务器"菜单项,即可用Nautilus文件管理器查看工作组列表。双击工作组名称,即可看到其下的Windows主机。

   双击其中的某台Windows主机图标,即可看到该主机的共享文件夹,可以看到这和Windows下的网络邻居几乎一样。

  由于Nautilus本身就是Red Hat Linux的文件管理器,所以我们可以任意往Windows共享目录里拷贝文件、删除文件、创建目录等等(对于Windows 2000/XP主机还需要考虑该共享资源的权限设置)。

  3.Windows主机访问Linux主机
  要想让Windows宿主机能够访问Linux虚拟机,就必须在Linux虚拟机上启动Samba服务。在启动之前,还需要对Samba服务的属性进行配置,例如指定Linux虚拟机的共享目录、所在的工作组名称等。

  (1)配置Samba服务器

   在以前版本的Red Hat Linux,我们必须直接修改Samba配置文件smb.conf,或者使用SWAT对Samba进行全方位的设置。Red Hat Linux 9.0新引入了一个图形化的Samba服务器配置工具,可以让我们很方便地对Samba服务器进行配置。以root用户身份登录系统,单击"主菜单→系统 设置→服务器设置→Samba服务器"菜单项,即可打开Samba服务器配置对话框。也可以在终端命令窗口输入"redhat-config- samba",来访问Samba服务器配置对话框。

  首先对Samba服务器的基本设置和安全选项进行配置,单击配置对话框上的"首选项→服务器设置"菜单项,即可打开服务器设置对话框。

  基本设置:在对话框的"基本"标签页,我们可以指定Linux主机所在的工作组名称,需要注意的是,此处的工作组名称不一定非得与Windows主机所在的工作组名称一致。

  安全设置:然后进行Samba服务器安全设置,这里一共有4个选项。

   "验证模式"代表如果Windows主机不是位于NT域里,此处应该选择"共享"验证模式,这样只有在连接Samba服务器上的指定共享时才要求输入用 户名、密码;"验证服务器"代表对于"共享"验证模式,无需启用此项设置;"加密口令"选项应该选择"是",这样可以防止黑客用嗅探器截获密码明文;"来 宾账号"代表当来宾用户要登录入 Samba 服务器时,他们必须被映射到服务器上的某个有效用户。选择系统上的现存用户名之一作为来宾Samba账号。当用户使用来宾账号登录入 Samba 服务器,他们拥有和这个用户相同的特权。

  添加共享目录:单击Samba配置对话框工具栏上的"增加"按钮。在打开的对话框中的" 基本"标签页上,指定(共享)目录为某个存在的目录,例如可以指定/tmp,再指定该目录的基本权限是只读还是读/写。在"访问"标签页上,可以指定允许 所有用户访问、或者只允许某些用户访问。

  (2)启动Samba服务器

  打开终端命令窗口,输入"/sbin/service smb start"命令,即可出现以下提示信息,表示Samba服务已经启动。

  # /sbin/service smb start

  启动SMB 服务 [确定]

  启动NMB 服务 [确定]

  接下来在Windows里打开"网络邻居",就可以看到我们刚才设置的Samba服务器了!

2008年7月21日星期一

Ubuntu系统清理

If you want to clean your ubuntu machine you need to follow these simple steps to remove all unnecessary junk files.

2008年7月20日星期日

删除Ubuntu Linux系统旧内核的方法

使用Ubuntu一段时间后,就会发觉由于自动升级,系统里安装了很多内核。像我,竟然安装了下面那么多,这个造成了漫长的启动列表。必须删掉一些不用的。

  首先就是使用如下命令,列出所有安装的内核,下表中,带有image的就是内核文件。从中选择要卸载的包,用apt-get来卸载

  [tc@ibm:~]$ dpkg --get-selections|grep linux

  libselinux1 install

  linux-386 install

  linux-image-2.6.15-23-386 install

  linux-image-2.6.15-27-386 install

  linux-image-2.6.15-27-686 install

  linux-image-2.6.15-28-386 install

  linux-image-2.6.15-28-686 deinstall

  linux-image-386 install

  linux-kernel-headers install

  linux-restricted-modules-2.6.15-23-386 install

  linux-restricted-modules-2.6.15-27-386 install

  linux-restricted-modules-2.6.15-27-686 install

  linux-restricted-modules-2.6.15-28-386 install

  linux-restricted-modules-2.6.15-28-686 deinstall

  linux-restricted-modules-386 install

  linux-restricted-modules-common install

  linux-sound-base install

  util-linux install

  具体的卸载方法为

  sudo apt-get remove linux-image-2.6.15-23-386

  这样就可以实现自动删除内核文件了,还可以释放磁盘空间。

  另外还要记录一个命令。

  uname -a

  使用这个命令可以查看当前系统使用的内核。

ubuntu系统的一些清理

提示 1:清理残余的配置文件

一般而言,当我们从 Ubuntu 系统中删除了一个软件之后,该软件的残余配置文件并没有被删除。如果你确信以后不再使用该软件,那么保留其配置文件实在没有必要,所以我们大可一并删除之。

要删除某个软件的残余配置文件,可以执行下面的操作:
在终端中执行 sudo synaptic,以便启动 Synaptic 包管理工具。
点击 Synaptic 右下角的 Status 按钮进行切换。
现在,你应该能够在 Synaptic 的左边看到 Not installed (residual config)。选择它即可在右边看到包含有残余配置文件的包,你可以在此选择删除该包。

提示 2:清理下载的缓存包

我们在 Ubuntu 中通过 sudo apt-get install 安装软件时,其下载的包都缓存在 /var/cache/apt/archives/ 目录中。如果要清理掉这些已下载的缓存包,那么可以执行命令:
sudo apt-get autoclean
sudo apt-get clean

提示 3:清理不再需要的包

我们知道,在 Ubuntu 系统中安装软件时,该软件的依赖通常也会自动安装上。那么,在我们删除该软件后,其依赖可能需要我们手动删除之。你可以运行 sudo apt-get autoremove 命令来解决这个问题。

提示 4:清理无用的语言文件

Ubuntu 与其他 Linux 发行版一样,是一个支持多语言界面的系统。其实,对使用自己母语的我们来说,通常保留中文即可,你也可以保留自己所需要使用的语言,如英文。其他的语言文件于我们而言则没有必要保留。

为了清理这些无用的语言文件,你需要在 Ubuntu 系统中安装一个名为 localepurge 的小工具。

安装 localepurge 是十分简单的,只需执行 sudo aptitude install localepurge 命令就可以了。在安装的过程中,程序会提示你进入如下图所示的画面中进行配置。

localepurge
使用空格键可以选择需要保留的区域配置,其他的则会被删除。当以后在安装程序时,此工具也会自动执行,勿需再次配置。中文用户保留zh、zh_CN、zh_CN.*

提示 5:清理无用的翻译内容

你可以使用 trans-purge 这组小工具来清理 *.desktop、mime-database、gconf schema 中的无用翻译内容。

trans-purge 这组小工具使用过程如下:
下载源代码:

wget http://pcman.sayya.org/desktop-purge.c
wget http://pcman.sayya.org/mime-purge.c
wget http://pcman.sayya.org/gconf-purge.c
安装编译依赖:
sudo apt-get install libglib2.0-dev
编译程序:

gcc `pkg-config glib-2.0 --cflags --libs` -o desktop-purge desktop-purge.c
gcc `pkg-config glib-2.0 --cflags --libs` -o mime-purge mime-purge.c
gcc `pkg-config glib-2.0 --cflags --libs` -o gconf-purge gconf-purge.c
安装程序:

sudo cp desktop-purge /usr/bin/ sudo cp mime-purge /usr/bin/ sudo cp gconf-purge /usr/bin/ 执行清理:
手动清理:

sudo desktop-purge
sudo mime-purge
sudo gconf-purge
自动清理:

让每次 apt-get 安装软件后自动进行清理。创建 /etc/apt/apt.conf.d/99-transpurge 文件,并添加下列内容:

DPkg
{
Post-Invoke {"if [ $(ps w -p "$PPID" | grep -c remove) != 1 ]; then /usr/bin/desktop-purge > /dev/null; /usr/bin/mime-purge >/dev/null ; /usr/bin/gconf-purge > /dev/null; else exit 0; fi";};
};

警告:无用翻译在清除后无法还原,若使用后造成系统损坏,作者并不负责。

2008年7月18日星期五

ATI 7500显卡在Ubuntu 8.04下开启特效和3D桌面

本人电脑03年的老本IBM t40,ATI 7500 32M 的显卡,装7.10版本,默认受限驱动,直接开启特效,效果比较流畅。新装了 Ubuntu 8.04,默认驱动里面啥也没有,打开 "外观" -- "视觉效果" 里面只能选择默认的 "无",其他无法选择;装上xserver-xgl后,能开启特效,但是不流畅,和7.10里的效果相比差距比较大,不知道有没有其它的方法,就目前而言,我能找的解决方法都不行。

首先教你怎样打开特效,打开“终端运行

mkdir -p ~/.config/compiz && echo SKIP_CHECKS=yes >> ~/.config/compiz/compiz-manager

就可以忽略检测,直接打开特效,可以看得到窗口的“果冻”效果了。

如果要打开3D桌面,可以按以下步骤,打开“终端”,运行以下:

sudo apt-get install xserver-xgl
sudo apt-get install compiz compiz-gnome
sudo apt-get install compizconfig-settings-manager
sudo apt-get install compiz-fusion-*

以上都安装好后你就可以在“系统”--“首选项”里找到“advanced desktop effects settings”,打开面板后就可以按你的要求去选择了,有兴趣就去试试吧。

ubuntu本地源清除重复包

之前折腾出一个方法制作本地备份源,不过,Ubuntu总是会更新的,半个月来都更新了很多包了,apt的缓存文件夹还保留更新的包,那么需要把更新的包移动到本地源文件夹,同时把旧的包删掉,以免浪费空间。

第一种方法
把本地源挂载到apt的缓存文件夹,也就是

sudo mount --bind ~/pool/archives /var/cache/apt/archives

然后运行

sudo apt-get autoclean

删掉多余的包,不过不好的地方就是没有安装的包也会被删除,比如我没有安装xubuntu-desktop,这个包就会被删除了,但我想保留这个包在本地源里,如果没这种特殊需要,这就是最简单的方法了。

另一种方法
就是重新建立包信息描述文件(Packages.gz),建立程序会输出重复包的错误信息,处理一下错误信息过滤出重复包,然后删掉。假设当前目录为pool,archives是放置包的文件夹。先看看现在有多少个包

ls archives/ | wc -l

然后建立重新建立包信息描述文件,不过先不压缩,同时把错误信息重定向到文件。

dpkg-scanpackages archives /dev/null > Packages 2> errlist

然后运行下边这条命令,花了不少功夫研究,过滤出多余的包地址,同时把地址写到errlist2里

cat errlist | grep '现将使用此名并忽略来自\|\<名称重复\>' | cut -d '/' -f 2 | sed 's/[ )].*//g' | sed 's/^/archives\//g' | tee errlist2

如果没有包显示出来,表示没有多余包可删除了。然后就直接压缩吧。要删除,那么就运行

cat errlist2 | xargs rm

重新确认一下到底有没有删除

ls archives/ | wc -l

最后就是压缩和清理临时文件。

gzip -9c Packages > Packages.gz
rm errlist errlist2 Packages

DIY Ubuntu Linux系统

二十一世纪到了,每个人都强调自己的个性,于是一种叫做DIY的东西悄然兴起。

操作系统作为全人类智慧的结晶,自然DIY起来难度极大,因而DIY出一个操作系统成就感绝对比买宜家的东西的成就感大。

为了不至于从头开始编写一个操作系统,我们当然把采用现成的操作系统作为一个底线。

当然,我们可以通过LFS让我们爽到底,但是,能够做到LFS的人可真的是凤毛麟角。而且更重要的是LFS简直在挑战我的忍耐程度。

我的这篇文章,教大家如何DIY一个自己的ubuntu发行版。在非常节省时间的情况下,达到耍酷的目的。

就好比LFS一样,我们需要一个创作基地。我们首先建立一个变量。建立这个变量的好处很明显,即使你不用~/diy_ubuntu这个目录,一样可以照着这个文章继续做下去。

$ export WORK=~/diy_ubuntu

$ mkdir -p $WORK

然后我们把光盘镜像文件挂到/mnt

$ sudo mount -t iso9660 -o loop dapper-live-i386.iso /mnt

$ cd $WORK

复制文件光盘文件

$ mkdir ubuntu-livecd

$ cp -a /mnt/. ubuntu-livecd

$ chmod -R u+w ubuntu-livecd

$ sudo umount /mnt

由于光盘中包含了很多windows下面的自由软件,我们来把不必要的文件删除。当然你可以保留。

$ rm -rf $WORK/ubuntu-livecd/programs

把光盘中的压缩文件挂起来,这个样子以后你可以在$WORK/old目录中看到一个完整的linux操作系统的目录。

$ mkdir $WORK/old

$ sudo mount -t squashfs -o loop,ro $WORK/ubuntu-livecd/casper/filesystem.squashfs $WORK/old

我们建立一个2GB大小的文件系统,然后把这个文件当作一个设备文件格式化,结果系统给出了一个警告,别理会它,选择是就是。

$ sudo dd if=/dev/zero of=$WORK/ubuntu-fs.ext2 bs=1M count=2147

$ sudo mke2fs $WORK/ubuntu-fs.ext2

然后我们把这个空文件系统挂起来。

$ mkdir $WORK/new

$ sudo mount -o loop $WORK/ubuntu-fs.ext2 $WORK/new

复制linux操作系统的文件.由于我们事先得到的linux是压缩的,所以我们把它解压了。

$ sudo cp -a $WORK/old/. $WORK/new

当然现在$WORK/old就没有用处了。废掉它

$ sudo umount $WORK/old

我们首先进入刚才得到的那个操作系统

$ sudo cp /etc/resolv.conf $WORK/new/etc/

$ sudo mount -t proc -o bind /proc $WORK/new/proc

$ sudo chroot $WORK/new /bin/bash

现在你就进入系统了,高喊linux for human beings,大炼ubuntu,想干什么就干什么。

# vi /etc/apt/sources.list #选择适合你的源

# apt-get update

# apt-get dist-upgrade

# apt-get install 你想装的软件

# apt-get clean

.... #更多的配置

最后离开你的那个操作系统

# exit

$ sudo umount $WORK/new/proc

$ sudo rm $WORK/new/etc/resolv.conf

现在你已经回到了你的初始状态中

把manifest重新整一遍

$ sudo chroot $WORK/new dpkg-query -W --showformat='${Package} ${Version}\n' > $WORK/ubuntu-livecd/casper/filesystem.manifest

然后做一下“磁盘清理”

$ sudo dd if=/dev/zero of=$WORK/new/dummyfile

$ sudo rm $WORK/new/dummyfile

重新压缩系统

$ sudo rm $WORK/ubuntu-livecd/casper/filesystem.squashfs

$ cd $WORK/new

$ sudo mksquashfs . $WORK/ubuntu-livecd/casper/filesystem.squashfs

你的改动都保存了。现在把$WORK/new废掉

$ cd $WORK

$ sudo umount $WORK/new

把文件的md5重新算一下

$ cd $WORK/ubuntu-livecd

$ sudo find . -type f -print0 |xargs -0 md5sum |sudo tee md5sum.txt

建立光盘镜像,命令很长,忍受着点。

$ cd $WORK

$ sudo mkisofs -o ubuntu-new.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -r -V "My Cool Ubuntu Live CD" -cache-inodes -J -l ubuntu-livecd

然后你就可以用iso把光盘烧了

然后你就可以在别人前面耍酷了。最后,王子和公主过着幸福的生活。

2008年7月17日星期四

做Ubuntu本地源

1.安装必要的软件包dpkg-dev
代码:
sudo apt-get install dpkg-dev

2.备份已经下载到本机的软件包和更新
代码:
mkdir ~/soft #在根目录建立soft文件夹,该目录名可选
sudo cp -a /var/cache/apt/archives/* ~/soft

3.建立包列表及依赖信息文件
代码:
cd ~/
sudo dpkg-scanpackages soft /dev/null |gzip >soft/Packages.gz

该命令执行完成后,将在~/soft目录下生成一个Packages.gz文件,里面记录了本地包的列表及包依赖信息,sudo apt-get update命令就是为了获取该文件中的信息
4.保存建立好的本地包及Packages.gz
代码:
sudo mv ~/soft /media/hda7/linux/soft/packs/
#后面这个保存路径随个人喜好而定

5.至此,本地源就基本建好了,下面是添加源
代码:
sudo vim /etc/apt/sources.list

加入下面的源地址,注意与常见的网络源格式不同
代码:
deb file:///media/hda7/linux/soft/packs soft/

保存退出vim,然后在终端里执行:
代码:
sudo apt-get update && sudo apt-get dist-upgrade

接下来就是正常的apt-get install了,安装本地源上的包时,该包不会再复制到
代码:
/var/cache/apt/archives/

里面,而是直接安装,所以不用担心会多浪费硬盘空间。

Ubuntu8.04常用软件,配置和命令

1,修改你的源,并升级到最新的系统,这个最最基本的,必做:
sudo gedit /etc/apt/sources.list

在编辑器里,删除所有东西,并在加上下面的行:

Mirror.lupaworld.com 更新服务器(浙江省杭州市电信,亚洲地区官方更新服务器,推荐全国用户使用。):

deb http://mirror.lupaworld.com/ubuntu hardy main restricted universe multiverse
deb http://mirror.lupaworld.com/ubuntu hardy-security main restricted universe multiverse
deb http://mirror.lupaworld.com/ubuntu hardy-updates main restricted universe multiverse
deb-src http://mirror.lupaworld.com/ubuntu hardy main restricted universe multiverse
deb-src http://mirror.lupaworld.com/ubuntu hardy-security main restricted universe multiverse
deb-src http://mirror.lupaworld.com/ubuntu hardy-updates main restricted universe multiverse

Cn99的服务器,全国最出名的服务器,网通都很快

deb http://ubuntu.cn99.com/ubuntu/ hardy main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ hardy-security main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ hardy-updates main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ hardy-proposed main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ hardy-backports main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ hardy main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ hardy-security main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ hardy-updates main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ hardy-proposed main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ hardy-backports main restricted universe multiverse

系统升级(如果出现需要输入[Y/n] 或 [y/N] 一律输入 y 并 回车):

sudo apt-get update

sudo apt-get dist-upgrade

2, 根据你安装的系统来选择安装的中文支持环境(这样可以少装几个没用的语言包)
sudo apt-get install language-pack-gnome-zh language-pack-gnome-zh-base \ language-pack-zh language-pack-zh-base language-support-zh

3, 安装输入法,你可以在SCIM和fcitx输入法中任选一种安装(强列推荐fcitx)
sudo apt-get install fcitx
im-switch -s fcitx

4, 安装更好的多媒体mp3播放驱动:Audacious , 它比xmms要爽,最好用的,还可以换皮肤(见我另外的文章)

sudo apt-get install audacious w32codecs

解决歌名列表乱码问题:直接在播放列表中选择chinses.方便吧

5.安装各种视频(rmvb,wmv等)播放器,我安装的是smplayer,他是mplayer的前端

sudo apt-get install mplayer smplayer w32codecs

6, 安装英汉辞典, 星际翻王不错,用在Ubuntu上挺方便, 而且有稳定的源

sudo apt-get install stardict stardict-common

字典的话,建议使用金山的,因为我们都习惯了.(我是网上下的哦,不要讲我。。。)
下载地址:
计算机字典: http://blogimg.chinaunix.net/blog/upfile/071030005804.gz
中英字典: http://blogimg.chinaunix.net/blog/upfile/071030005154.gz
英中字典: http://blogimg.chinaunix.net/blog/upfile/071030005439.gz

7, 安装bt软件

sudo apt-get install azureus(现在不推荐了)发现了更加好的
奔流
软件论坛:http://groups.google.com/group/benliud获取,真是太快了,太好用了

8, 安装编译工具包: build-essential(你想重新编译什么的话,我现在很少用到)

sudo apt-get install build-essential

9, 安装rar(这个太常用了)

sudo apt-get install unrar

10, 安装Flash播放器及其Firefox插件

sudo apt-get install flashplayer-mozilla
Firefox常用用插件
Super DragAndGo
Adblock_plus
Fasterfox
MediaWrap
DownThemAll

为firefox增加baidu搜索
打开http://mycroft.mozdev.org/download.html.然后搜索框中输入baidu,然后在结果中点击“Baidu (百度)”,弹出的对话框按“确定”即可。

Ubuntu8.04中firefox3 beta5是默认是英文版本,所以都是英文的菜单。
可以到下面地址下载中文语言包,之后重启一下就可以了。
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0b5/linux-i686/xpi/
下载 zh-CN.xpi安装

Ubuntu 8.04最近字体配置的变化造成的Flash中文乱码的修复

将/etc/fonts/conf.d/49-sansserif.conf删除即可

11.flashplayer独立的播放器.象我看新概念英文之类,就推荐Adobe的standalone player (flashplayer)。很好用.

这个可以到Adobe 的网站下载个flash 9 播放器

http://www.adobe.com/support/flashplayer/downloads.html#fp9

选择

Download the Linux debugger and standalone players (TAR.GZ, 8.41 MB)

里面有个独立版本(standalone)的 解出来之后, 直接输入命令就可以用了

SWF 播放器DIY的配置

1. 解压flashplayer.tar.gz 并拷贝到 /usr/bin

2. 制作用来显示的图标, 拷贝到 /usr/share/pixmaps

3. 新建一个falshplayer.desktop文件, 拷贝到/usr/share/applications

-------------------falshplayer.desktop的内容------------------------------------

[Desktop Entry]

Name=FlashPlayer 9

Name[zh_CN]=FlashPlayer 9

GenericName=Media Player

Exec=flashplayer

Type=Application

Encoding=UTF-8

Icon=flash48.png

Categories=GNOME;Application;AudioVideo;Audio;Video;Player

MimeType=video/swf

12.字体设置

在新的8.04中这个就不用设置了.

13.超级好用的ftp软件,win下也有哦.Filezilla就是他,没错.你一定会喜欢的

sudo apt-get install filezilla filezilla-locales

14.SSH客户端慢的解决方法

把/etc/ssh/ssh_config里面的GSSAPIAuthentication修改成no就ok了。

GSSAPIAuthentication no

常用命令

sudo hdparm -cdtT /dev/hda 测试IDE硬盘的读写速度

以下仅适合IDE硬盘操作,sata硬盘勿试

=====================================

sudo hdparm -c 1 -d 1 /dev/hda 设置硬盘到 I/O 32位,开启DMA。

sudo hdparm -k 1 /dev/hda 保存更改

=====================================

sudo aptitude update && sudo aptitude safe-upgrade 一键升级系统

sudo apt-get autoremove 自动卸载不需要的软件包

sudo apt-get autoclean 清理旧版本的软件缓存

sudo apt-get clean 清理所有apt下载的软件缓存

dpkg -l |grep ^rc|awk '{print $2}' |tr ["\n"] [" "]|sudo xargs dpkg -P -
清除所有删除包的残余配置文件

lspci 显示系统PCI总线信息

sudo lshw 显示系统详细硬件信息

cat /proc/cpuinfo 显示CPU信息

uname -a 查看内核版本
更改分区卷标,分别是ext和xfsd:

sudo e2label /dev/hda5 E_Download
sudo xfs_admin -L E_Backup /dev/hda12

apt-cache search name 搜索包含“name”软件包

进程

ps -A 查看当前有哪些进程

kill 进程号(就是ps -A中的第一列的数字) 中止一个进程

killall 进程名 中止一个进程(同上)

kill -9 进程号 强制中止一个进程(在上面进程中止不成功的时候使用)

killall -9 进程名 强制中止一个进程(同上)

xkill 图形方式中止一个程序(出现骷髅标志的鼠标,点击需要中止的程序即可)

top 查看当前进程的实时状况

lsof -p 查看进程打开的文件

nautilus的地址栏里输入 fonts:/// 可以查看本机所有的fonts

fc-cache -f 安装字体后刷新字体缓存(加上 -v 参数可以刷新所有字体缓存)

在ubuntu右键创建“以管理员权限打开夹”

sudo apt-get install nautilus-gksu

ksnapshot不错的图型软件

sudo apt-get install ksnapshot