关于作者

用户名:mlsong
笔名:mlsong
地区: 浙江-宁波
行业:其他

日历  

快速登录

+ 用户名:
+ 密 码:

在线留言



友情博客

访问统计:
文章个数:46
评论个数:31
留言条数:4




Powered by BlogDriver 2.1

KS工作室

 

=====停靠心情的港湾===放飞理想的驿站===崇尚自由的国度===共享知识的空间=====

文章

开始搬家咯
早就不只一次的说过blogchina这个自称最大的国内blog是最不稳定的,但一直也适应它的不稳定。可现在二十次登录有十九次是系统错误,这种错也太低级了点吧?!

文章里引用的XML代码,它会自作聪明地转成XML页面,是不是很弱智?!

而且这能登录的一次还有大于85%的机率会在你发表新文章时出错,不是那个让人恶心的错误画面,就是utf8乱码,然后搞得你几十分钟的文章不翼而飞,如果你多点几下发表,主页上会有N个同样的文章,这是什么破系统?!

所以:

blogchina = 低级 + 弱智 + 垃圾系统

谁知道什么时候这个大垃圾会把我们苦心经营的文章一夜之间都del掉,还是搬到msn space去了,对于一个anti-microsoft的Linuxer、Unixer来说,还真有些讽刺意味,但谁叫国内的blog一个比一个垃圾,一个比一个不成气候!而中国的网络又把blogger给封掉了,真是无奈。不过好在msn space是microsoft唯一一个free的东东,因此也不违背*nixer的自由精神吧。

- 作者: mlsong 2005年09月29日, 星期四 13:33  回复(0) |  引用(0) 加入博采

scim
为了在X Window里输入中文,就需要设置相关文件。

如果仅仅是xdm或startx的话,只需在~/.xinitrc里加入如下几行:
export GDK_USE_XFT=1
export GTK_IM_MODULE='scim'
export XMODIFIERS="@im=SCIM"
scim -d &

如果是gdm,就在/etc/X11/xinit/xinitrd.d下新建一个文件名以两位数字开头的文件比如29scim,然后把上面几行加入,保存后给文件以755的权限,重启X Window登录就可以用Ctrl+Space随时调出输入法。

如果是fcix,把"scim"改成"fcix"。

- 作者: mlsong 2005年09月28日, 星期三 12:36  回复(0) |  引用(0) 加入博采

Firefox的一些小设置
Firefox菜单字体过小,就修改browser.display.screen_resolution为90。

Firefox界面字体的修改:在.mozilla/firefox/*.default/chrome/下新建名为userChrome.css的文件,然后可照下面的修改为你所希望的字体和大小:
* {
font-size: 9pt !important;
}
* {
font-family: Tahoma !important;
}

网页内汉字过小,就修改font.min-size.variable.zh-CN为12。

要使用中键关Tab,就修改middlemouse.contentLoadURL为false。

如果希望所有的链接都以Tab形式打开,修改browser.link.open_external和browser.link.open_newwindow的值都为3。

启用工具栏的google搜索:打开about:config,清空browser.search.param.Google.1.custom和browser.search.param.Google.1.default的内容。

由于网络或者服务器问题导致网页不能打开的时候,Firefox通常会弹出一个对话框,如果你觉得这样不符合你的浏览习惯的话,你可以在about:config中修改browser.xul.error_pages.enabled 的值为 True。

- 作者: mlsong 2005年09月26日, 星期一 10:03  回复(0) |  引用(0) 加入博采

英文界面中文显示和输入的设定
这前的汉化一文中,locale设成了LC_ALL是为了方便汉化,其实要显示中文只需设置locale中的LC_CTYPE和LC_MESSAGES为中文就能正常显示和输入中文,这样就满足了英文界面中文支持的要求。

设置locale相关如下(LFS不支持UTF-8,这个问题以后再补贴。用其他发行版的话可以用en_US.UTF-8和zh_CN.UTF-8替换):
export LANG=en_US
export LANGUAGE=en_US
export LC_CTYPE=zh_CN

显示的locale信息如下:
LANG=en_US
LC_CTYPE=zh_CN
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES=zh_CN
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=

- 作者: mlsong 2005年09月18日, 星期日 22:55  回复(0) |  引用(0) 加入博采

Linux的汉化
说到Linux的汉化问题,其实很简单,但由于Linux的版本过多汉化过程中多多少少有些不同,而且运行于X的WM种类繁多而造成网上资料不能照搬照抄,因此经常最终导致初登Linux殿堂的兄弟因此产生畏惧从而却步。实在是很可惜。所以今天我就简单的写几句。

各个版本的不同也就不提了,而WM比如KDE与GNOME的不同汉化也不是我想说的,我是从一个单纯的由一个个源码包构成的LFS系统的角度对具有泛性的汉化小结一下,相信对于不用KDE和GNOME的朋友会有些帮助。

让我们分四步走:

一、locale
这个基本上不用多说,发行版在安装时就设置好了的。如果是LFS,那就在~/profile里加个“export LC_ALL=zh_CN”,当然zh_CN后面再加GB2312或是GBK或是UTF-8就看你的喜好了。这个设好了的话,同时也能在mlterm里正常显示中文了。

二、加入所需字体
通常的做法是把Windows下的simsun.ttc改名为simsun.ttf放到/usr/X11R6/lib/X11/fonts/下TTF或TrueType目录下(具体看你的X系统实际情况。也可自建目录,然后把目录加到/usr/X11/xorg.conf(或XFree86.conf)中)
然后打开一个终端运行"mkfontscale"、"mkfontdir"、"fc-cache",再重启X系统就能使用新加的字体了。

三、/etc/font/font.conf
当然这个文件不是万不得已的话最好不要动,因为升级fontconf包时会被覆盖,通常的做法是在同级目录下建个local.conf或在用户目录下建.font.conf。基本上不用修改,唯一要改的情况就是第二步中加入的中文字体发虚,所以在fontconfig与/fontconfig中加入如下代码(为了防止blogchina这个笨系统把下面代码转成xml页面,就把"<"都去掉了,可在每行首及"/"前加上"<"):
match target="font">
test name="pixelsize" compare="more_eq">
double>8/double>
/test>
test name="pixelsize" compare="less_eq">
double>18/double>
/test>
edit name="antialias">
bool>false/bool>
/edit>
/match>

这样中文显示就跟Windows上没什么两样了。但有些系统里英文字体间距会放大,那顺便再加入下面几行:
match target="font">
test target="pattern" name="lang" compare="contains">
string>zh-tw>

string>zh-cn/string>
string>ja/string>
string>ko/string>
/test>
edit name="spacing">
const>proportional/const>
/edit>
edit name="globaladvance">
bool>false/bool>
/edit>
/match>


四、基于GTK2的程序
经过上面的设置,系统的中文支持已经很好了,不过还有些基于GTK2的程序比如SCIM的面板显示、LumaQQ里的中文字体等偏小,这就要在/etc/gtk-2.0/下新建一个gtkrc的文件(如果已经存在的话就对其修改),然后加入下列代码:
style "default"
{
font_name = "helvetica,simsun,sans 12"
}

widget_class "*" style "default"
保存再重启X系统就可以了。

什么?你还有GTK程序?能不用就不用吧,不过既然用了,那就改/etc/gtk/gtkrc.zh_CN(相应于你第一步中设的locale)如下:
style "gtk-default-zh-cn" {
fontset = "-*-*-medium-r-normal--14-*-*-*-*-*-iso8859-1,\ -*-*-medium-r-normal--14-*-*-*-*-*-gb2312.1980-0,*-r-*"
}
class "GtkWidget" style "gtk-default-zh-cn"

就这四步,够简单吧?!

- 作者: mlsong 2005年09月16日, 星期五 20:40  回复(0) |  引用(0) 加入博采

编译Linux内核
花掉一个晚上的时间顺利把LFS的内核升级到2.6.13.1。顺便把自己定制并精简后的.config跟SuSE对比了一下,就明白了为什么发行版的硬件支持越来越好,最终还是要归功于内核的硬件支持越来越好,而发行版除了必须的选项是选择编译进内核外,其他差不多都选成了module,又有几个是"is not set"的?

不过发行版毕竟是要兼容性越好越有市场,这也是没办法的事。但对于我们来说还是垃圾太多。最要命的,SuSE的CPU选项居然是586编译的,相信其他发行版也是一样的,实在无语...


安装前:

#make mrproper
#make menuconfig (基于文本选单的配置界面)

  在闪过几行字之后就可以看到界面

  在界面的上部是配置工作的使用说明,使用箭头键在各选项间移动,使用enter进入下一层菜单,每个选项上的高亮字母是键盘快捷方式,使用它可以快速 的到达你想设置的菜单项上。在括号中按y将这个项目编译进内核中,按M编译为模块,按N为不选择。按?将打印这个选项的帮助信息,按esc将返回到上层菜 单。 GUI工具的基本概念也与之类似我们就不详细讨论了。在后面我将主要使用menuconfig来设置各个选项,选项的次序以它为准,其它工具中各选项也基 本与之对应。切记把声卡的模块编译进内核不然无法发声!!

编译和安装内核


#make
#make install

编译和安装模块


#make modules(编译选择的模块)
#make modules_install(将编译后的模块转移到系统标准位置)


介绍一下新内核中的图形界面配置工具

  新内核中有两个GUI配置工具,过去的make xconfig现在是一个使用QT库作为界面方案的配置工具了,所以你要使用它必需先安装QT库。一般的发行版光盘中都包含了这个软件包。

  另一个是make gconfig这是一个使用GTK库作为界面方案的工具,同样你要使用它就要先安装GTK库。这两个工具与原来的GUI工具在界面上有很大的变化,更加符合一般图形界面程序的使用习惯。

  而传统的控制台配置工具menuconfig则没什么太大的变化基本上保持了原来的样子,不喜欢花里糊哨的GUI工具的兄弟还是用这个吧:)

  在2.6中还添加了几个以调试为目的的make选项,它们是allyesconfig、allnoconfig、allmodconfig分别表示将 所有选项加载为y、将所有选项加载为n、将所有选项加载为m。它们是为内核开发人员与测试人员准备的,与我们的关系不大。

  make menuconfig (部分)选项说明

第一项 Code maturity level options (代码成熟度选项)

  按enter进入后选项如下

[*] Prompt for development and/or incomplete code/drivers
  默认情况下是选择的,这将会在设置界面中显示还在开发或者还没有完成的代码与驱动.你应该选择它,因为有许多设备可能必需选择这个选项才能进行配置,实际上它是安全的。

[*] Select only drivers expected to compile cleanly
  选择这个选项你将不会看到一些已知的存在问题的驱动程序选项,默认的情况下也是选择的。如果你有设备没有找到驱动选项,你可以将这一项去掉,或许就可以找到相关驱动了,不过它可能是有BUG的。

[*] Select only drivers that don't need compile-time external firmware
  如果你不需要在内核对一些外部设备的固件作map支持就选择它,这也是默认选项。

第二项 General setup

  其中的选项如下

[*] Support for paging of anonymous memory
  这个选项将使你的内核支持虚拟内存,也就是让你的计算机好象拥有比实际内存更多 多的内存空间用来执行很大的程序。默认是选择的。

[*] System V IPC
  为进程提供通信机制,这将使系统中各进程间有交换信息与保持同步的能力。有些程序只有在选Y的情况下才能运行,所以不用考虑,这里一定要选。

[ ] BSD Process Accounting
  这里选择Y将会让内核为用户层的进程建立一个帐目(进程通过一个特殊的系统调用来通知内核),当程序退出时内核会将进程的相关信息记录到帐目文件中,主要包括进程的创建时间、 创建者,内存占用等信息。如果你需要就Y吧:)

[*] Sysctl support
  这将提供一个接口让你可以动态的更改一些核心参数与变量,而不需要重新启动系统。打开这个选项将会增加内核的体积至少8KB。如果你的内核仅用制作安装与恢复系统系统盘那么可以不选,以减少对内存的占用。

[ ] Kernel .config support
  这将会把内核的配置信息与相关的文档说明编译进内核中,以后可以使用一些工具来提取它用来重新构建内核,一般不用选它。

[ ] Remove kernel features (for embedded systems) --->
  这个选项将会把一些特性从内核中移除,以减少内核体积。对于桌面用户来讲,这可不是一个好主意,所以不要选它。至于其中的内容我会在以后的补遗中介绍。

第三项 Loadable module support (可加载模块选项)

  其选项如下:

[*] Enable loadable module support
  这个选项可以让你的内核支持模块,模块是什么呢?模块是一小段代码,编译后可在系统内核运行时动态的加入内核,从而为内核增加一些特性或是对某种硬件 进行支持。一般一些不常用到的驱动或特性可以编译为模块以减少内核的体积。在运行时可以使用modprobe命令来加载它到内核中去(在不需要时还可以移 除它)。
  一些特性是否编译为模块的原则是,不常使用的,特别是在系统启动时不需要的驱动可以将其编译为模块,如果是一些在系统启动时就要用到的驱动比如说文件系统,系统总线的支持就不要编为模块了,否在无法启动系统。(当然还有一些变通的方法,我以后会提到)

[ ] Module unloading
  这个选项可以让你卸载不再使用的模块,如果不选的话你将不能卸载任何模块(有些模块一旦加载就不能卸载,不管是否选择了这个选项)。不选择这个选项会让你的内核体积减小一点

[ ] Module versioning support (EXPERIMENTAL)
  这个选项将让你可以使用其它版本内核中编译的模块,不过并不可靠,所以一般我们不选择它

[*] Automatic kernel module loading
  一般情况下,如果我们的内核在某些任务中要使用一些被编译为模块的驱动或特性时,我们要先使用modprobe命令来加载它,内核才能使用。不过,如 果你选择了这个选项,在内核需要一些模块时它可以自动调用modprobe命令来加载需要的模块,这是个很棒的特性,当然要选Y喽:)

第四项 Processor type and features

Subarchitecture Type (PC-compatible)
  这是一个比较新的特性,主要的目的是使Linux可以支持多种PC标准,一般我们使用的PC机是遵循所谓IBM兼容结构(pc/at)。这个选项可以让你选择一些其它架构。我们一般选择PC-compatible就可以了。

Processor family (Pentium-4/Celeron(P4-based)/Xeon)
  这个不用我讲了吧,你是什么CPU就选什么吧:)

[ ] Generic x86 support
  这个选项提供了对X86系列CPU最大的兼容性,用来支持一些很少见的x86体系的CPU,它可能会降低一些系统性能。所以如果你的CPU能够在上面的列表中找到就不要选这个吧。

[ ] HPET Timer Support
  这也是一个新的特性,HPET是intel制定的新的用以代替传统的8254(PIT)中断定时器与RTC的定时器,全称叫作高精度事件定时器。如果 你有一台较新的机器就选它吧,一般它是一个安全的选项,即使你的硬件不支持HPET也不会造成问题,因为它会自动用8254替换。

[*] Symmetric multi-processing support
  这个也不用多讲了吧,如果你使用多处理器系统就选吧,如果你和我一样使用一个单CPU系统还是把它请出去吧。

( Maximum number of CPUs (2-255)
  这里用来配置让Linux最多支持几路CPU,根据你的需要选择。

[*] Preemptible Kernel
  这可是个新特性,几乎所有介绍2.6的文章都会提到,这就是可抢先式内核。也就是说被一些优先级很高的程序可以先与一些低优先级的程序执行,即使这些 程序是在核心态下执行(这实际上仍然不是真正的抢先式内核)。从而减少内核潜伏期,提高系统的响应。当然在一些特殊的点的内核是不可抢先的,比如内核中的 调度程序自身在执行时就是不可被抢先的。这个特性可以提高桌面系统、实时系统的性能,所以还是选上吧。

[*] Machine Check Exception
  如果你的系统出现一些问题比如CPU过热,内核将会在屏幕上打印相关信息来提醒你。这个功能是需要硬件支持的。你可以查看/proc/cpuinfo 看看是否有mce标志,有的话就选吧。如果你十分十分的不幸,选了它之后出现问题,可以在启动时加nomce参数来关闭它。

[*] Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4
  打开这个选项将会检查你机器上可能存在的问题,如果有一个非致命错误出现将会自动的修复并且记录,这可以帮助你查出程序出现问题的原因,是一个不错的 选项,当然它只能用在AMD Athlon/Duron / Intel Pentium 4这类CPU上。如果你正好在用它们中的一个你就选吧。

[*] check for P4 thermal throttling interrupt.
  如果打开这个选项,在P4的CPU温度过高(也就是P4的温控装置起作用)时会在屏幕上显示出相关的信息,根据你的情况选择吧。

< > Toshiba Laptop support
  这个选项是针对Toshiba笔记本的,可以用来访问Toshiba的系统管理模式,也就是可以直接设置BIOS。不过要注意它只在Toshiba自 己的 BIOS中起作用。假如你有一台Toshiba笔记本,可惜它的BIOS是Phoenix的,那这个选项仍然是梁山军师----无用:)

< > Dell laptop support
  这个同上面的选项基本相同,自己看着办吧:)

< > /dev/cpu/microcode - Intel IA32 CPU microcode support
  这个选项将让你可以更新Intel IA32系列处理器的微代码,当然你还必须在文件系统选项中选择devfs才能正常的使用它如果你把它译为模块你还需要在modprobe.conf中 加上这一行alias char-major-10-184 microcode
  内核本身并不带有微代码的二进制文件,你可以到这个网址去得到新的信息

< > /dev/cpu/*/msr - Model-specific register support
  这个选项桌面用户一般用不到,它主要用在Intel的嵌入式CPU中的,这个寄存器的作用也依赖与不同的CPU类型而有所不同,一般可以用来改变一些CPU原有物理结构的用途,但不同的CPU用途差别也很大。

< > /dev/cpu/*/cpuid - CPU information support
  这会在/dev/cpu中建立一系列的设备文件,用以让过程去访问指定的CPU。一般不用选。

< > BIOS Enhanced Disk Drive calls determine boot disk (EXPERIMENTAL)
  这将可以打开实模式下BIOS中的增强磁盘设备服务,以决定从哪个磁盘上启动。这一般是安全的,不过大多数BIOS提供商都没有实现这个特性。

High Memory Support (off)
  如果你有大容量的内存(超过4G)你要选它,以使内核可以使用这部分内存。偶是没这命啦这部分永远为OFF,如果你有你就ON吧。

[ ] Math emulation
  在你的CPU上如果没有数学协处理器的话,打开这个选项可以让内核模拟一个,以提升浮点计算能力,不过慢的可以。如果你使用的不是古董CPU的话(486SX以前的)这一项你永远都不需要。

[*] MTRR (Memory Type Range Register)support
  在Intel p6家族的处理器中(Ppro、 PII和更新的)有一个内存类型范围寄存器,可用来控制处理器访问的内存范围。打开它一般可以提升显卡的显示性能,所以我们当然要在这说Y喽:)

第五项 Power management options (
ACPI, APM)(高级电源管理)

[*] Power Management support
  如果你想让你的Linux支持高级电源管理(也就是平常我们说的软关机、系统休眠等)需要选择它。

[ ] Software Suspend (EXPERIMENTAL)
  选择这个选项你可以挂起你的计算机(有点象XP中的休眠),打开这项功能后,你可以使用swsusp或者shutdown -z 来挂起你的计算机。这样系统会将你当前正在进行的工作(也就是当前内存中的内容)作成一个镜象保存到你的交换分区中,在你下一次启动时使用启动参数 “resume=/dev/你的交换分区”,内核就会将上一次的工作内核从镜象文件中恢复到内存,这可以大大提高系统的启动速度。当你不想恢复上次的工作 时向内核传递参数“noresume"。不过系统启动后你的交换分区将不可以使用,你可以使用mkswap命令来重新格式化你的交换分区。这个功能不需要 高级电源管理的支持。很不错的功能,我一直有用,大家也来试试吧:)

[ ] Suspend-to-Disk Support
  这个选项与上面的功能基本相同,不过更灵活一些,可以通过下面的子选项来指定一个专用的交换分区来保存内存镜象。

() Default resume partition
  与上面的选项配合,来指定保存镜象的分区。

(Ad
ACPIvanced Configuration and Power Interface) Support --->
  从这里进入电源管
ACPI理的配置界面,要注意与APM不能同时使用,如果你同时配置了这两者,那么在系统启动时如果发现一个可工作的设备ACPI那么APM将被关闭,ACPI会被加载

[*] Supp
ACPIort
  这个选项应该不用我多说了,要想让你的系统使用来
ACPI管理你的电源就要选上它,另外要想让它起作用,你还要在系统中安装acpid守护程序。

[*] Sleep States (EXPERIMENTAL)
  选择这个选项可以使你的系统具有挂起的功能,也就是说你可以暂时中断你的工作,让你的系统处与一种低电能消耗的状态(sleep state),你此时的系统状态会保存在内存或者磁盘上(取决于挂起的深度),当你需要时再恢复到正常的工作状态。但由于各种系统之间的差别,目前这项功 能并不完善。只有很少的设备可以完美的支持这个特性,所以不建议一般用户使用它。

< > AC Adapter
  这是用来支持移动系统中的交流适配器的,以指示当前系统是不是在使用交流电,对于台式机不需要这个选项。

< > Battery
  这个选项用于通过/proc/acpi/battery来向用户提供移动系统中的电池状态信息。同上面那个选项一样对台式机没有作用。

<*> Button
  这个选项用于注册基于电源按钮的事件,比如power, sleep等,当你按下按钮时事件将发生,一个守护程序将读取/proc/acpi/event,并执行用户在这些事件上定义的动作比如让系统关机。

<*> Fan
  这个选项提供对系统风扇的控制支持,可以通过用户层的程序来对系统风扇进行控制(比如打开,关闭,读取当前风扇的运行状态等,不过只有极少数的硬件支持它)。

<*> Processor
  打开这个选项将让你的系统具有处理IDIE状态的能力,也就是说可以让你的处理器在空闲时节省电能。个人认为这个选项是一定要选的。

<*> Thermal Zone
  当你的系统温度过高时,可以
ACPI利用这个选项来控制你的系统,及时调整系统的工作状态以保护你的CPU,非常棒的一个特性一定要选呀,要不然也就不用使用了。(ACPI当然这需要硬件的支持)

< > ASUS/Medion Laptop Extras
  这主要是为ASUS生产的笔记本电脑准备的,以提供对这些系统上那些额外的按钮们的支持,用户可以通过它们来打开或者关闭LCD的背光,调整亮度、定制LED的闪烁指示等功能。用户可以通过/proc/acpi/asus来改变这些设置。

< > Toshiba Laptop Extras
  这个选项是对Toshiba笔记本提供特别支持的,它的作用同上面的选项基本相同,如果你有一台这样的本本的话就选它吧。

[ ] Debug Statements
  如果选择它当出现
ACPI错误时会打印出详细的信息,这将会增加内核的体积大约50k,如果没有必要还是不要选它吧。

[ ] Relaxed AML
  选择它的话翻
ACPI译器将会放松对AML的错误检查,一些笔记本电脑可能需要它才能正常的使用ACPI(一些糟糕的桌面机可能也需要它,如果你的系统使用时ACPI出现问题不妨选上它试试)


- 作者: mlsong 2005年09月12日, 星期一 22:34  回复(0) |  引用(0) 加入博采

Linux版本选择小测试
目前共有30多个Linux发行版,其中有一定名气的也有十来种,哪种最适合你呢?这里有个测试站点(http://eedok.voidofmind.com/linux/chooser.html),疑惑中的朋友可以去试一下。

以下是我的测试结果,很准,LFS是我的不二选 :-)

Your ideal distro is:
  • Built for older computers
  • More technical to learn off of
  • Installed with a console installer
  • Only installed with a base system
  • Packed with many choices for an application
  • Lightweight and speedy
  • Source or optimized package based

here's how the distributions in the database match up to your choices:
Distro nameMatch %
Ubuntu 5/11: 45%
Mandriva 4/11: 36%
Fedora 5/11: 45%
MEPIS 2/11: 18%
SuSe 4/11: 36%
Debian 8/11: 72%
Knoppix 3/11: 27%
Gentoo 8/11: 72%
Slackware 8/11: 72%
Damn Small 4/11: 36%
Arch 7/11: 63%
Vector 6/11: 54%
Beatrix 4/11: 36%
Ark 2/11: 18%
LFS 10/11: 90%
EvilEntity 7/11: 63%

Based on these results we recommend you to try(if you haven't tried it yet):
LFS

- 作者: mlsong 2005年09月11日, 星期日 18:40  回复(0) |  引用(0) 加入博采

Enlightenment的中文显示问题
如果说要在所有的Linux X Window里选出一个小巧而不失华丽、设置简单而又漂亮的,那么enlightenment无疑是很好的一个选择,其他默认的设置就已经很漂亮,更有ripples和waves(Java的水波效果)的支持。

从5年前第一次接触就已经喜欢上了她,只是当时还是作为Gnome的一部分,而且当时KDE和Gnome也很快捷,同时作为初学者KDE和Gnome里的集成软件很让人新奇。但随着KDE和Gnome这两大系统的日渐庞大和臃肿不堪,以及对Linux整个系统的日渐熟悉,所以终于有一天开始把这两大系统都抛掉(更何况我现在用的全手工编译的LFS,要我在上面用源码编译KDE或GNOME的话...还不如把本本送人)。在用了一段时间的Fluxbox和xfce后,很快又用回了enlightenment。 enlightenment的优点很多,小巧而华丽应该是其中两大特色。源码安装包才1.8M,整个编译过程也很快,而且基本不用设置。开发中的e17版本更是默认的MacOS界面,其漂亮可想而知。

其实enlightenment默认就支持中文,只是theme包里都没有中文字体文件,所以Firefox的抬头显示的中文是乱码。要让她能正常显示中文,只需从Windows里拷贝simsun.ttc字体,然后修改你在用的theme里的文件就行,根本不用像网上复制来复制去的文章里说的修改gtk和locale那么麻烦(那么其实也是没用的,我用的utf-8,又不装gnome和gnome-devel,所以修改这两者对我而言是无从说起的,但我就是很清晰的中文显示)。

下面就以BlueSteel(很cool的一个theme)为例说明:

1、将simsun.ttc放到BlueSteel/ttfonts下,并改名为simsun.ttf。其实BleuSteel默认的vixar.ttf字体很难看,可以从winter主题里拷Vera.ttf和VeraBd.ttf过来,Vera就比vixar好看,而VeraBd是粗体显示,用来显示tooltips是很好的选择。下面就用这三者来显示和美观BlueSteel。

2、BlueSteel下的fonts.cfg文件。这个文件是0.16.8版的BlueSteel才有的,是将分散在borders、coords、focuslist、init、menustyle、spager、tooltips文件夹下面的.cfg文件内的字体设置项汇总起来设置的一个文件,是一个很好的编程思路。如果是0.16.8版之前的,就要依次在这些文件夹下面的.cfg文件里找到vixar然后改成我们刚准备好的那三个ttf文件。

3、fonts.cfg文件修改如下:
#include __E_CFG_VERSION 1 __FONTS __BGN

font-default "Vera/8"
font-border "Simsun/10"
font-coords "Vera/8"
font-dialog "Vera/8"
font-epplet #这几行没变动过,因为我不用epplet,可以设成系统支持的好看的字体 "-*-lucida-medium-r-normal-*-*-80-*-*-p-*-*-*,-*-helvetica-medium-r-normal-*-8-*" font-epplet-small "-*-lucida-medium-r-normal-*-*-80-*-*-p-*-*-*,-*-helvetica-medium-r-normal-*-8-*" font-epplet-medium "-*-lucida-medium-r-normal-*-*-100-*-*-p-*-*-*,-*-helvetica-medium-r-normal-*-10-*" font-epplet-large "-*-lucida-medium-r-normal-*-*-120-*-*-p-*-*-*,-*-helvetica-medium-r-normal-*-12-*"
font-focus "Simsun/10"
font-iconbox "Simsun/10"
font-init "Vera/8"
font-menu "Vera/8" #如果你的菜单里有中文选项,那么把这行的字体改成Simsun/8
font-pager "Simsun/10"
font-tooltip "VeraBd/7"

4、restart enlightenment就行。如果是0.16.8版之前的enlightenment,那还要把用户目录下的.enlightenment(0.16.8版是.e16)下的cache文件夹删掉,否则生重启后系统还是读cache下的旧文件。

下面是修改后的几张截图:

中文的firefox标题显示


VeraBd.ttf的tooltips显示



标题菜单是simsun.ttf,菜单是Vera.ttf,如果菜单里有中文项,fonts.cfg里的menu一行改成simsun就能显示

- 作者: mlsong 2005年09月8日, 星期四 14:17  回复(1) |  引用(0) 加入博采

在mutt里直接看doc、xls、ppt、pdf附件文件
mutt的强大是其他任一图形界面邮件客户端的忠实用户所无法想象的,就比如有很多人都用doc、xsl、ppt、pdf作为附件发送,要看这些附件很简单,因为windows上的Office和Acrobat系列就行,而Linux上有OpenOffice和Acrobatread也能看。但问题是,要是我不愿意以打开附件的方式,而是直接在邮件里看这些文件呢?用mutt很容易就能做到这。

首先要装上以下包,一般在发行版里都有,要是没有的话就去找相关站点的源码包编译。

1、wvware--doc以html或txt显示
有wv和wv2两种,只要wv就行。
2、xlhtml--excel以html显示,一起装上的ppthtml能让powerpoint以html显示,不过  如果是源码安装的话可能会在make时遇到depcomp找不到的错误,这时可以用下面的方法:
$ tar -xzvf xlhtml-0.5.tgz
$ cd xlhtml-0.5
$ aclocal; autoconf; automake --add-missing
这下ls看一下,depcomp出来了吧?然后照常法就行:
$ configure --prefix=/usr
$ make
# make install
3、pdftotext--装上xpdf后就已经有了,pdf文件以txt格式显示
4、w3m或lynx--文本界面的浏览器,推荐w3m

然后修改.muttrc和.mailcap文件如下:
.muttrc:
......
auto_view application/msword application/excel application/powerpoint
application/pdf
......

.mailcap:
......
# Word
application/msword; wvHtml %s - | w3m -dump -T text/html; copiousoutput; nametemplate=%s.html
# PDF
application/pdf; pdftotext %s - | w3m -dump; copiousoutput; nametemplate=%s.txt
# Excel
application/excel; xlhtml %s | w3m -dump -T text/html; copiousoutput; nametemplate=%s.html
# PowerPoint
application/powerpoint; ppthtml %s | w3m -dump -T text/html; copiousoutput; nametemplate=%s.html
......

这里要注意powerpoint这一行,一般都是以pptHtml而不是上面的ppthtml,但我在SuSE里遇到下面的问题,可笑但无奈-_-:
mlsong@linux:~> pptHtml
bash: pptHtml: command not found
mlsong@linux:~> ppthtml
pptHtml - Outputs Power Point files as Html.
Usage: pptHtml

最后一行的显示是让我用pptHtml为命令,但打pptHtml却没有这命令,而敲ppthtml显示的格式却是pptHtml ...当然为ppthtml建个链接为pptHtml就可以统一起来,只是SuSE安装文件里的rpm居然会有这种错误真让人不能理解(harmless bug?),这也就是为什么我一再提倡下载源码包自己编译常用软件而不是找rpm的原因。


然后再打开你的mutt看邮件就可以直接在邮件内容里看doc、xls、ppt、pdf里的内容。

以下是一张截图,附件是TIPatterns.doc,邮件内容是空的,下文绿色的Thinking一行开始就是doc文件的内容,可以看到附件是内嵌在邮件中显示的。当然其中的收件人和发件人信息都用gimp去掉了 :-)

- 作者: mlsong 2005年09月5日, 星期一 19:01  回复(2) |  引用(0) 加入博采

MPlayer的安装
首先需要的包要装全,主要是gtk和glib及相应devel。

然后把win32code包解压后放到/usr/local/lib/codecs(也可以是任意路径,但那就要在configure mplayer时加入路径参数)下,
PATH=$PATH:/opt/gnome/bin (指定gtk和glib位置)
./configuree --enable-gui --enable-menu --enable-largefiles --prefix=/opt/mplayer/

然后就
make
make install
都不会有问题。

安装完后,下一个skin放到/opt/mplayer/mplayer/Skin/default下(是把解压后目录下的文件直接放到default下)就可以用gmplayer启动图形界面。别忘了同时下个好的字体。当然如果要MPlayer按照你的要求来动作的话,再写一份好的config文件(样例文件在安装包的etc目录下)。

如果要看在线电影,从http://mplayerplug-in.sourceforge.net下载mplayerplug-in装上,一定要有mozilla-devel和gecko-sdk,上mozilla的网站下载跟你的mozilla版本要一致,解压,configure mplayerplug-in时加上--with-gecko-sdk=/path/to/gecko-sdk


- 作者: mlsong 2005年08月25日, 星期四 17:04  回复(0) |  引用(0) 加入博采

OpenQ的安装与配置
经常看到一些朋友问为什么configure、make、make install都顺利通过的可就是Gaim里仍找不到QQ的协议。其实这个问题很简单,只要找到系统里的Gaim的lib所在的位置就好办了。当然各个Linux版的默认路径不一样,但大致就那么几个地方,不在/usr/lib/gaim里,就去opt下的gnome里找找。

知道了Gaim的lib目录后,只需要cd到该目录(比如假设是/opt/gnome/lib/gaim),然后建立两个链接文件(我的openq装在/opt/OpenQ下):
ln /opt/OpenQ/lib/gaim/libqq.la libqq.la
ln /opt/OpenQ/lib/gaim/libqq.so libqq.so

然后再启动你的Gaim,是不是在Preferences里多了个QQ的选项?

顺便说一下我的是Gaim-1.5+OpenQ-0.3.2。

安装Gaim时当然主要为了支持MSN,所以要用MSN的朋友别忘了找下面的包先依次装上以支持SSL。发行版的话也请把相应的devel包装上:
libgpg-error   http://ftp.gnupg.org/gcrypt/libgpg-error
libgcrypt   ftp://ftp.gnupg.org/gcrypt/libgcrypt/
libtasn1   ftp://ftp.gnutls.org/pub/gnutls/libtasn1/
gnutls   ftp://ftp.gnutls.org/pub/gnutls/
运行configure时如果出现 SSL Library/Libraries......... : GNUTLS就能保证能顺利登录MSN了,然后make,make install应该不会再有问题。

OpenQ就是太不稳定,经常导致整个Gaim不知不觉中退出了。要是为了用QQ的话,当前最好的选择还是LumaQQ。未来的Eva也可关注一下,不过Eva针对的是KDE系统和QT库,这样的定位对于讨厌臃肿的KDE和有版权限制的QT的Unix类软件使用者来说再好也是虚设。期待正式版出来时会有GTK版。

- 作者: mlsong 2005年08月24日, 星期三 04:57  回复(0) |  引用(0) 加入博采

StarDict的安装
说起Linux上的StarDict,可以说是咱们中国人在这个自由软件的国度作出的一大贡献,同时也让国人看到为Linux在中国的发展所应该走的一条光明大道---创作出使Linux更方便于使用于普及的软件,而不是像国内所谓“Linux公司”所走的“只会汉化”、“软件缩水”、“自由软件(包括Linux)的收费”这样一条背离GPL精神的路子。

StarDict是Linux上最强大的词典软件,庞大且可扩展的词汇量(尤其是Oxford)再加上真人发音,一点都不向Windows里的金山词霸示弱,更难能可贵的是这是GPL的,也就是免费的。相信每个像我这样已经跟Microsoft说“No”的朋友都会在自己的Linux里装上这个的吧。

说到安装(不推荐rpm安装),不外乎:
./configure
make
make install
这些当然没什么可说的。不过经常在一些BBS里看到一些朋友会在configure或是make时遇到这样那样的麻烦,所以我就在此处把一些可能遇到的问题整理一下。

1、configure
这一步一般就用如下的命令:./configure --prefix=/opt/stardict (要是你跟我一样不装gnome系统的话,那还请再在后面加上--disable-gnome-support,否则就算是前两步都通过了,在make install时还是会遇到问题,会提示找不到stardict-C.omf.out)
在这一步经常遇到的问题就是gtk找不到、pkg-config找不到、libgnomeui-devel >= 2.2.0不满足等等,找包装上就行,如果是发行版,那就把相关devel也装上。这以后有些发行版还可能遇到的一个问题就是gconftool-2的路徑不对,这时只要对路径赋正确参数指定gconftool-2位置就行,比如“PATH=$PATH:/opt/gnome/bin”,然后就能顺利通过了。

2、make
这一步里一般也都是缺包的问题(尤其是自定义选择性安装没有选gnome的)。下面列出一些(左边的是缺的文件,右边是需要安装的包):
libgnome-keyring.la gnome-keyring
libjpeg.la libjpeg-devel
libesd.la esound-devel
装上这些就能顺利make了。

安装完成后,自然要加上词典才能用,下载后的词典只要解压就能用,不过路径一定要正确(如果前面configure时使用的是默认的参数,那么下面的/opt/stardict/share应该都改成/usr/local/share):

Dictionaries(http://stardict.sourceforge.net/Dictionaries.php):
tar -xjvf a.tar.bz2
mv a /opt/stardict/share/stardict/dic

Tree Dictionaries(http://stardict.sourceforge.net/TreeDictionaries.php):
tar -xjvf a.tar.bz2
mv a /opt/stardict/share/stardict/treedict

另外,如果要让StarDict具有朗读功能,那么解压WyabdcRealPeopleTTS到/usr/share/WyabdcRealPeopleTTS,再在主程序的选项里选上“Pronouce the word when pop up”就可以了。


- 作者: mlsong 2005年08月23日, 星期二 23:35  回复(0) |  引用(0) 加入博采

硬盘维修
人都说玩电脑,可这半个月来却是电脑在玩我,没带停的,真晕。

最先出现的是内存问题,256M的挂掉了,在几经排错和确诊后,把备用的128和64都拿出来换上,然后把系统从2003 server一路降级到2000。

过不多久,ps/2口的键盘不灵了,接到本本的ps/2口是好得不能再好,可就是接到台式机上不能认;用ps2-usb转接线后也照样不认,最后只能祭出杀手锏--把主板上的C151电容撬掉才搞定(我的是华硕CUSL2-C,PIII时代经典主板)

键盘好了,硬盘又翘掉一块,这才是最费事的,不仅排错费时,连诊断都费时。差不多能用上的工具都用上了,虽说现在正常工作了,但毕竟占去了我十来天的业余时间,命苦啊!

好了,下面介绍一下硬盘维修必备的工具,以便有此需要的朋友参考:

1、HDD
这是用来对坏扇区进行修复的工具。电脑读写反应慢、经常无故死机时就用得上。别跟我提windows自带的scandisk,那个用来查还好,但要真用来修硬盘那可真是天方夜谈。

2、DM和LFormat
这两个都是用来低格硬盘用,要是HDD以后还不行的话,就用这两者之一了。而DM除了低格还有很多选项,比如清零操作,可以在低格之前用,要是清零后正常 了的话就不用低格了,毕竟低格是有风险的!说到低格,曾有相当一段时间我都把它当万能法宝,比如分区表乱以至于pqmagic读不出时低格一下就正常了。 但这次,我却遇到LFormat进行不下去的问题,可见低格也不是万能的。而且,都说LFormat兼容性比DM好,但这次却是我的DM把LFormat 未竟的事业进行到底了,只不过,低格后问题还不见好,可见我这硬盘问题真是不小。

3、PNU
低格后能正常分区了,但就是格式化时还出现Track 0 Bad的提示,看来零磁道也有问题了,于是就到了PNU上场了,可以用它来把零磁道从1面0柱1扇区改成0面1柱1扇区。之前开机自检时找不到硬盘的,经过这一步以后也能找到了。

4、SFDisk和FBDisk
这两个工具可谓小巧,但功能很强,可以用来扫描出坏扇区的位置,然后可以算出大致的字节位置(自己做一下乘法,很简单的),接下来分区,并把坏扇区所在附近 的区(分给它十兆二十兆的就行)删掉不用,那以后只读写没有坏扇区的区以防坏扇区扩散。
区别是:SFDisk扫描完成后要手工计算坏区位置,但正因为这一灵活性可以最大限度分出可用空间;而FBDisk是全自动计算,完成后只选出四个分区供你使用,如果坏区比较分散的话,最后得到的可用空间将很小,不过分出的空间可使用性比SFDisk大。
到了这一步,绝大多数坏硬盘都能起死回生。但分区结束后,常常会导致分区表错误,这时再配合下面的工具基本上都能修正过来。

5、KV3000和DiskGen
对,是它,你没看错,是江民的国货。别不相信,江民可真是硬盘的行家里手,他做的一个逻辑不知道搞死多少国人的硬盘。人家用你的盗版说明人家认同你的 产品功能(其实也没什么功能),只是你的正版价格太离谱,你不好好改正定价,还要用使用KV盗版的用户付出硬盘终结的代价,人品真是...好在那时我还处 在非正版不买不用(当时只知道国货-_-)的阶段,所以没遇到过,但却见到过一些朋友中招,而好多没中招的听到时也是咬牙切齿。这以后我也没再用过KV的 东西,只听说今年过年前后它又把人家的IE当病毒删了,估计也是到目前为止唯一能删IE的软件-_-。
好了言归正传,KV3000有一个很实用的功能,是用来修复被CIH(那个年代CIH真是恶梦)破坏的分区表。对于分区表坏掉的硬盘,只要进入KV3000,然后按F10进行修复就能搞定,这也算是江民对国人做的一大贡献吧。
还有一个国货DiskGen也能完成相同的任务,但它的自动识别不准,只能用交互式的方式一个个找,而且在它找的过程中,会把所有以前分过的分区信息列出来,功能可谓强劲但你必须做出判断哪些才是你当前的分区信息。

6、PC-3000
“一款软件不可能支持整个产业,但PC-3000绝对可以”。这是业界对PC-3000的评论。
要是经过上几步你都还没能搞定你的硬盘的话,那你只能用这个了。它的功能之强实在是令人惊奇,谓是硬盘修复的瑞士军刀,上面所说的几款软的功能它都能实 现,而且你要是觉得你的硬盘有吱吱声的话也可以用它来去掉,甚至还能修复物理损坏!俄罗斯人做的东西就是强,杀毒软件业里一个Kaspersky独领风骚 多少年,现在全球杀软50强里有不少都是用它的引擎。如果说Kaspersky是俄罗斯人的一大奇迹的话,那这个PC-3000是更高的奇迹。只有用过的 人才知道它的强。
PC-3000是价值几万元的货色,但它真值这个价,只要你会用,那就能把80%以上的硬盘修复。用过它以后,你就不会奇怪为什么网上经常有人收购硬盘尸 体了。顺便说一句,这家伙分软件版和硬件版,专业人士用的都是硬件卡,你在网上能下载到软件版,但大多数都是俄文版,先学些俄文吧:-)

- 作者: mlsong 2005年08月15日, 星期一 14:32  回复(0) |  引用(0) 加入博采

已锁定
此日志的浏览权限已被作者锁定,请同作者联系,发送短消息,如果你的身份符合作者的要求,点击此处可以进行浏览

- 作者: mlsong 2005年08月15日, 星期一 12:39  回复(0) |  引用(0) 加入博采

Fetchmail收Gmail邮件的设置
由于Gmail的pop端口是995 SSL而不是正常的110,smtp是465 SSL而不是正常的25,因此试着用Mutt+Postfix+Fetchmail进行设置的朋友想必都很郁闷吧?

其实解决这个问题最简单的方法莫过于在Mutt的.muttrc文件中加上”set pop_host="pops://user:passwd@pop.gmail.com",以后在Mutt中只要按"G"就是接收邮件。简单是简单,但毕竟每次都要自己手动收,很不方便。所以今天我再在这里提一下解决方案。

1、首先需要两个认证文件,下载地址分别是:http://ftp1.sourceforge.net/souptonuts/googlepop.pem,http://ftp1.sourceforge.net/souptonuts/thawte.pem。把这两个文件放到一个目录中,我是放在~/下(不要问我~/是什么...)。

2、开一个终端,运行:“c_rehash” ~,会生成两个文件,就不用去管它们了。

3、剩下的工作很简单了,只要在你的~目录下编辑一下.fetchmailrc文件如下就行:
    # Sample /home/mlsong/.fetchmailrc file for Gmail
#
# Check mail every 90 seconds
set daemon 90
set syslog
set postmaster mlsong
#set bouncemail
#

# To keep mail on the server use the you would put keep at the end.
# user 'yourloginname@gmail.com' with pass "yourpassword" is 'mlsong' here options ssl
#  sslcertck sslcertpath '/home/mlsong' keep
#
poll pop.gmail.com with proto POP3 and options no dns
user 'yourloginname@gmail.com' with pass "yourpassword" is 'mlsong' here options
ssl sslcertck sslcertpath '/home/mlsong'
smtphost localhost
# You would use this to by-pass Postfix
# mda '/usr/bin/procmail -d %T'
4、最后只要把你的fetchmail daemon加到启动里就可以了。


- 作者: mlsong 2005年07月31日, 星期日 01:23  回复(1) |  引用(0) 加入博采