2008年8月10日

昨天一次偶然的crash导致了文件系统被破坏,经ubuntu自身启动过程的检查和修复后,系统基本恢复了正常。但是还是留下了一个后遗症,那就是截至到登录界面时,都正常;当进入gnome后,某些窗口启动的异常缓慢,在窗体间切换也异常缓慢,打开xterm后甚至无法输入文字。另外,从托盘图标来看,scim并没有启动起来。
尝试着在xterm中运行scim,其结果如下:
Launching a SCIM daemon with Socket FrontEnd...
Loading simple Config module ...
Creating backend ...
Launching a SCIM process with x11...
Loading simple Config module ...
Creating backend ...
SCIM has exited abnormally.
尝试在新立得中卸载所有scim模块,之后系统恢复正常。至此,可判定和scim输入法有关。
使用dmesg检查系统消息,发现scim-launcher异常,error 4。卸载重装后,系统再次陷入了缓慢状态。由此,可判断scim程序本身未被破坏,仅是某些原因造成的冲突而已。
反复尝试若干方法,无果。
今天早上,突然灵光一下——何不检查一下配置文件?或许是scim无法正常loader自己的配置导致的问题呢?毕竟,这个和fs破坏最挨边,另外,在系统异常关闭时最难处理的也就是保存现有配置了。卸载掉scim,使用rm -dfR删除HOME下的.scim目录及其各级文件夹,再重新安装scim,一切恢复正常。
正所谓“文章本天成,妙手偶得之”阿。~ ;)
发表于 2008-08-10 07:45 乾坤一笑 阅读(378) | 评论 (2)编辑 收藏

2008年6月1日

KPDF
gVIM
gHEX
星际译王
chmsee
xCHM
XCHAT_IRC
Skype
FileZilla FTP
KSnapshot
GQView
Camorama
VitualBox
Audacious
Brasero光盘刻录
RealPlayer 11
mplayer
SMPlayer
VLC Media Player
Tilda
gparted
rar/unrar
ePSxe
ID3iconv
pySopcast
thinkfinger-0.3
network manager applet

----------------
firefox 插件
DownThemAll!
User Agent Switcher
发表于 2008-06-01 23:40 乾坤一笑 阅读(2070) | 评论 (2)编辑 收藏

2008年5月27日

1. DownThemAll!
一个多线程下载插件,傻瓜式操作,能使下载速度达到你的网络带宽的极限。如我的机器上可以达到500KB/s

2. User Agent Switcher
使用Firefox访问淘宝必备,切换Intenet Explorer 7方式可以使用支付宝了。

发表于 2008-05-27 07:40 乾坤一笑 阅读(1426) | 评论 (2)编辑 收藏
 
经验证gnash确实比adobe flash耗资源耗的多。所以,解决的方法是卸掉gnash,安装adobe flash。
需要注意的是adobe flash不提供64bit的版本。所以在64 bit 的ubuntu上必须加装中间层nspluginwrapper

# 删除gnash及其浏览器插件
sudo apt-get remove gnash gnash-common mozilla-plugin-gnash

# 安装adobe flash插件
sudo mkdir -p /usr/lib/X11/fonts/Type1
sudo apt-get install flashplugin-nonfree nspluginwrapper



发表于 2008-05-27 07:29 乾坤一笑 阅读(862) | 评论 (0)编辑 收藏

2008年4月12日

ubuntu 8.04更新ttf_wqy_zhenghei后,默认的系统字体monospace 11对应的正黑变成了宋体。后发现把monospace字体大小改为13即可恢复正黑显示。但是13对于平时显示的标题、菜单来说,实在是太大了。

后,有网友指点,文泉驿网站上有该问题的原因说明和解决方案:
Ubuntu 8.04用户注意:4月9日更新的ttf-wqy-zenhei将[内嵌点阵设置为默认显示]。对于希望使用AA的矢量字体显示的朋友,请下载[44-wqy-zenhei.conf],并覆盖系统中的/etc/fonts/conf.d/44-wqy-zenhei.conf

下载链接如下:http://wenq.org/upload/44-wqy-zenhei.conf

经验证,该方案正确有效。:p
发表于 2008-04-12 22:29 乾坤一笑 阅读(1353) | 评论 (3)编辑 收藏
 
ubuntu更新内核的频率很高,时间长了,开机的启动列表里面总有一大串不用的内核选项。如何清掉这些项目? 如何卸载相关内核及其所占的空间资源?

方法很简单,在新立得里面remove相关的包就可以了,ubuntu会自动更新grub列表。

每个内核主要有4个包:
linux-headers-2.6.24-14
linux-headers-2.6.24-14-generic
linux-restricted-modules-2.6.24-14-generic
linux-ubuntu-modules-2.6.24-14-generic
此外,如果你还同时使用virtualbox的话,还要移出:
virtualbox-ose-modules-2.6.24-14-generic

一般来说,每次升级内核后,我会保留前一个版本(万一新内核有bug或者兼容性问题还可以用老内核),而更早的内核则会手动统统删掉。
发表于 2008-04-12 08:37 乾坤一笑 阅读(808) | 评论 (0)编辑 收藏

2008年3月16日

终于用上了Firefox 3.0 beta 4,速度较Firefox 2.0快了好大一截,甚至比我印象中的IE也要快好多,这才显现出Linux网络的优势嘛,以往浏览网页的瓶颈都在这里了。

beta 4 在ubuntu 源里面默认是英文版本,所以都是英文的菜单。
可以到下面地址下载中文语言包,之后重启一下就可以了。
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0b4/linux-i686/xpi/
下载 zh-CN.xpi安装 (倒数第二个) 以后每次升级后到这个FTP里按对应的版本号下载zh-CN插件

如果还是不显示中文菜单,可以在地址栏输入about:config,回车后进入工程模式,将general.useragent.locale修改为zh-CN。重启后生效。

另外,推荐一个插件——DownloadThemAll,多线程下载插件,速度比Mutiget还快些。最贴心的是由于它是firefox插件,所以后续下载过程在firefox就可以完成,非常方便。


发表于 2008-03-16 21:45 乾坤一笑 阅读(1523) | 评论 (14)编辑 收藏
 
一般来说都是缺相关解码插件的问题。定位问题的方法很简单,在xterm下执行mplayer,看看输出结果再说。如下:

$ mplayer -fs test1.rm
MPlayer 1.0rc2-4.2.3 (C) 2000-2007 MPlayer Team
CPU: Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz (Family: 6, Model: 15, Stepping: 6)
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing v1.rm.
REAL file format detected.
Stream description: Audio Stream
Stream mimetype: audio/x-pn-realaudio
[real] Audio stream found, -aid 0
Stream description: Video Stream
Stream mimetype: video/x-pn-realvideo
[real] Video stream found, -vid 1
Stream mimetype: logical-fileinfo
VIDEO: [RV30] 320x240 24bpp 29.000 fps 0.0 kbps ( 0.0 kbyte/s)
Clip info:
name: K1mv_001 Digital Phoro Album �2001
author: Digital Phoro Album http://manet.iinet.net.au/photoalbum/
copyright: Digital Phoro Album �2001
xscreensaver_disable: Could not find XScreenSaver window.
GNOME screensaver disabled
==========================================================================
Opening video decoder: [realvid] RealVideo decoder
Error: /usr/lib/codecs/drvc.so: cannot open shared object file: No such file or directory
ERROR: Could not open required DirectShow codec drvc.so.
Read the RealVideo section of the DOCS!
VDecoder init failed :(
Opening video decoder: [realvid] RealVideo decoder
ERROR: Could not open required DirectShow codec drvc.dll.
Read the RealVideo section of the DOCS!
VDecoder init failed :(
Opening video decoder: [realvid] RealVideo decoder
Error: /usr/lib/codecs/drv3.so.6.0: cannot open shared object file: No such file or directory
ERROR: Could not open required DirectShow codec drv3.so.6.0.
Read the RealVideo section of the DOCS!
VDecoder init failed :(
Opening video decoder: [realvid] RealVideo decoder
ERROR: Could not open required DirectShow codec drv33260.dll.
Read the RealVideo section of the DOCS!
VDecoder init failed :(
Opening video decoder: [realvid] RealVideo decoder
Error: /usr/lib/codecs/drvc.bundle/Contents/MacOS/drvc: cannot open shared object file: No such file or directory
ERROR: Could not open required DirectShow codec drvc.bundle/Contents/MacOS/drvc.
Read the RealVideo section of the DOCS!
VDecoder init failed :(
Cannot find codec matching selected -vo and video format 0x30335652.
Read DOCS/HTML/en/codecs.html!
==========================================================================
==========================================================================
Forced audio codec: mad
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 22050 Hz, 1 ch, s16le, 32.0 kbit/9.08% (ratio: 4005->44100)
Selected audio codec: [ffcook] afm: ffmpeg (FFmpeg COOK audio decoder)
==========================================================================
AO: [alsa] 48000Hz 1ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A: 42.0 (41.9) of 1403.0 (23:23.0) 0.8%

MPlayer interrupted by signal 2 in module: play_audio


上述信息表明,mplayer运行过程中一直在查找一个叫做drvc.so的解码链接库,但是我们并没有提供。如果我们找到这个库,并把他放在/usr/lib/codecs/里,就可以解决这个问题。对于i386的机器,直接装w32codecs就可以了。对于x64的机器,可以安装essential-amd64-20061203.tar.bz2这个包,下载链接是http://www2.mplayerhq.hu/MPlayer/releases/codecs/essential-amd64-20061203.tar.bz2




发表于 2008-03-16 14:58 乾坤一笑 阅读(1868) | 评论 (2)编辑 收藏

2008年3月11日

如果是从硬盘直接安装ubuntu ISO的,和光盘安装有些不同——没有选择安装界面语言的那一步,其结果就是安装了一个英文版的OS到机器上。如何将主要的界面改为中文呢?在System-> 系统管理-> Language Support中的"Supported Language"选"汉语","Default Language"也选"汉语"。确定之后,会自动从源上下载相关的语言包和字体,之后界面就全面中文化了。

顺便说两句:1) 做上面一步之前最好先吧源换为连接最快的源。 2) SCIM如何加入输入中文支持?在新立得里面安装包scim pinyin即可。
发表于 2008-03-11 23:09 乾坤一笑 阅读(1355) | 评论 (2)编辑 收藏

2008年3月8日

在ubuntu 7.04版本中iwl3945驱动是正常的,可用的。在我升级到ubuntu 8.04 alpha5之后,该驱动不可用了。尝试各种方法,查阅国外N多论坛网站,终于解决了此问题,特把解决过程记录于此,留给大家参考。

7.04版本都支持了这个驱动,说明ubuntu对这款无线网卡的支持还是做得到位的,一般来说也不能把它从后续版本中拿掉。所以,问题可能出在某些配置冲突方面,比如内核和驱动冲突,驱动之间依赖冲突,等等。

首先,检查内核和驱动的冲突,驱动是否装全了。
$ uname -r
2.6.24-11-generic

说明当前内核的版本号是2.6.24-11

$ dpkg -l |grep linux-ubuntu-modules
pc linux-ubuntu-modules-2.6.22-10-generic 2.6.22-10.25 Ubuntu supplied Linux modules for version 2.
pc linux-ubuntu-modules-2.6.22-11-generic 2.6.22-11.28 Ubuntu supplied Linux modules for version 2.
pc linux-ubuntu-modules-2.6.22-12-generic 2.6.22-12.32 Ubuntu supplied Linux modules for version 2.
rc linux-ubuntu-modules-2.6.22-13-generic 2.6.22-13.34 Ubuntu supplied Linux modules for version 2.
pc linux-ubuntu-modules-2.6.22-14-generic 2.6.22-14.38 Ubuntu supplied Linux modules for version 2.
ii linux-ubuntu-modules-2.6.24-11-generic 2.6.24-11.15 Ubuntu supplied Linux modules for version 2.
rc linux-ubuntu-modules-2.6.24-7-generic 2.6.24-7.12 Ubuntu supplied Linux modules for version 2.
ii linux-ubuntu-modules-2.6.24-8-generic 2.6.24-8.13 Ubuntu supplied Linux modules for version 2.

上述列表中有2.6.24-11,说明对应的驱动版本是配套的。(注意,里面有一些module是以前装过现在删掉的,从新立得里面可以看得更仔细些。)

$ ls -l /lib/modules/`uname -r`/ubuntu/wireless/iwlwifi/iwlwifi/compatible
总用量 316
-rw-r--r-- 1 root root 145472 2008-03-02 00:36 iwl3945.ko
-rw-r--r-- 1 root root 166744 2008-03-02 00:36 iwl4965.ko
$ ls -l /lib/modules/`uname -r`/ubuntu/wireless/iwlwifi/mac80211/compatible/net/mac80211
总用量 360
-rw-r--r-- 1 root root 349760 2008-03-02 00:36 iwlwifi_mac80211.ko
-rw-r--r-- 1 root root 12192 2008-03-02 00:36 iwlwifi_rc80211_simple.ko

上面两个命令,说明驱动里面有iwl3945的驱动,以及运行这个驱动所需的mac80211子系统。注意看iwlwifi_mac80211.ko,这个驱动说明iwlwifi和mac80211的驱动是放在一起编译出来的。目前iwl3945有两种编译方式,一种是单独编译mac80211、 ieee80211、ipw3945(iwl3945)并放在一起用,另外一种就是iwlwifi_mac80211.ko这种从一开始就是放在一起编译的。这两种方法产生的驱动不能混着用,会有冲突,我遇到的问题就是这种冲突。

在我的机器上,如果执行modprobe iwl3945,会存在如下错误:

FATAL: Error inserting iwl3945 (/lib/modules/2.6.22-14-generic/ubuntu/wireless/iwlwifi/iwlwifi/origin/iwl3945.ko): Unknown symbol in module, or unknown parameter (see dmesg)

dmesg:

[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_rx_irqsafe
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_get_hdrlen
[ 112.528000] iwl3945: Unknown symbol iwlwifi_iwlwifi_ieee80211_tx_status_irqsafe
[ 112.528000] iwl3945: Unknown symbol iwlwifi_iwlwifi_ieee80211_stop_queues
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_tx_status
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_rate_control_unregister
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_stop_queue
[ 112.528000] iwl3945: Unknown symbol iwlwifi_sta_info_put
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_free_hw
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_beacon_get
[ 112.528000] iwl3945: Unknown symbol iwlwifi_sta_info_get
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_alloc_hw
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_scan_completed
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_register_hw
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_wake_queue
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_rate_control_register
[ 112.528000] iwl3945: Unknown symbol iwlwifi_iwlwifi_ieee80211_register_hwmode
[ 112.532000] iwl3945: Unknown symbol iwlwifi_ieee80211_unregister_hw
[ 112.532000] iwl3945: Unknown symbol iwlwifi_ieee80211_start_queues

如果把第一种方式编译的驱动卸载掉,并加载第二种方式的驱动,就解决了问题:
sudo modprobe -r ipw3945
sudo modprobe -r ieee80211
sudo modprobe -r ieee80211_crypt
sudo modprobe -r mac80211
sudo modprobe iwlwifi_mac80211
sudo modprobe iwl3945

成功。好了,试试看:
% ifconfig wlan0_rename up
% iwconfig wlan0_rename


可以看到:

wlan0_rename: unassociated ESSID:off/any
Mode:Managed Channel=0 Access Point: 00:00:00:00:00:00
Bit Rate=0 kb/s Tx-Power=20 dBm
RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0


okey,驱动已经没问题了,按平常操作的方式配置无线网络即可。

-------------
乾坤一笑 写于2008年3月8日 转载请标明出处和原文链接
发表于 2008-03-08 23:49 乾坤一笑 阅读(1420) | 评论 (5)编辑 收藏
 
方法有多种,最彻底的是把原先不符合ID3标准的标签给转换过来。
在ubuntu下可以执行:
sudo find . -iname "*.mp3" -execdir mid3iconv -e GBK {} \;
这样就把当前目录及其各级子目录下所有的mp3给处理一遍。
发表于 2008-03-08 23:37 乾坤一笑 阅读(1129) | 评论 (1)编辑 收藏

2007年10月28日

一个典型的例子就是新浪网,一打开其网页,CPU资源占用率飙升至70%左右,并且长期保持之直到关闭该网页位置。检查进程列表,发现开了N多个gnash进程(我估计是页面山有一个flash就开一个gnash进程)。是可忍恕不可忍,直接到新立德里面卸载掉gnash,再次打开网页,一切都恢复正常了,并且flash还可以照常播放。^_^ (我估计后台可能还有个adobe的flash插件,不过我没有仔细去check)
发表于 2007-10-28 09:21 乾坤一笑 阅读(2185) | 评论 (1)编辑 收藏

2007年9月9日

原帖: http://oteam.cn/2007/07/25/view-ubuntu-version/


摘录如下:



方法一

在终端中执行下列指令:
cat /etc/issue

可以查看当前正在运行的 Ubuntu 的版本号。其输出结果类似下面的内容:
Ubuntu 7.04

方法二

使用 lsb_release 命令也可以查看 Ubuntu 的版本号,与方法一相比,内容更为详细。执行指令如下:
sudo lsb_release -a

将输出结果:
Distributor ID: Ubuntu
Description: Ubuntu 7.04
Release: 7.04
Codename: feisty

~~~~~~~~~

两种方法,相比之下,还是第二中有用些。看看我机器上的输出结果:

spark@spark-laptop:~$ sudo lsb_release -a
[sudo] password for spark:

No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu gutsy (development branch)
Release: 7.10
Codename: gutsy




发表于 2007-09-09 11:00 乾坤一笑 阅读(1952) | 评论 (1)编辑 收藏
 
这两个bug看来是Firefox 2.0.0.6自身的问题了,解决不了,但是我找到了规避的方法。

一、书签->将本页加入书签 界面吊死
虽然没法直接加书签了,但是可以通过 书签->管理书签->文件->书签 来添加。需要手动输入书签名和网址,比较麻烦,但是由于平时加书签的频率也不算太高,勉强能接受。
还有一种方法,由于我有gmail帐户,所以可以通过插件使用google的书签。添加一个firefox google bookmarks,就可以在firefox菜单上多出一个GBookmarks书签来,可以使用google书签。跟原有的书签使用起来一个样,只不过他是保存在google帐户里面的,所以可以在其他机器上快速导入使用。也不错阿。

二、首选项 界面吊死
虽然没法直接进入首选项了,但是由于Linux整体设计风格是数据和界面分离的,所以低耦合挽救了这个问题。通过在地址栏输入about:config可以直接编辑 firefox设置,所有的firefox设置都在这里了,并且从变量名字上也很好猜出来其含义,所以也基本应付了。
其含义在mozilla网站上有说明: http://kb.mozillazine.org/About:config_entries

三、下载 界面吊死
在下载的过程中,也会出现同样的吊死情况。在about:config修改了几个配置,竟然改的不吊死了,不明白,这属于蒙的。:)
browser.download.manager.closeWhenDone true
browser.download.manager.showWhenStarting false
browser.download.manager.useWindow false


等待firefox继续升级~
-------------
乾坤一笑 写于2007年9月3日 转载请标明出处和原文链接



今天找到了根因:都是主题惹的祸哦。把主题换成"Human"或者"清爽"就okey了。我原来选用的"十字架"和新的firefox有些不兼容。这个困扰我一周的问题终于解决了。
-------------
乾坤一笑 写于2007年9月09日 转载请标明出处和原文链接


发表于 2007-09-09 10:54 乾坤一笑 阅读(1703) | 评论 (2)编辑 收藏
 
记不清是修改了什么了,大概是改了登录界面首选项里面的一些设置,反正现在重启后进不了桌面了。程序在登录窗口的时候还是正常的,输入用户名和密码,确定之后,登录音乐声响起,结果弹出一个对话框:“欢迎程序似乎崩溃,我将启动另外一个欢迎程序”。(凭印象写的,大概是这些文字。)点确定后他又启动了一次,发现还是启动不起来。

可以进入安全模式,但是发现“系统->首选项->登录界面”这个菜单项找不到了。由于正常启动会出错,我切换到另外一个控制台(Ctrl+Alt+F2)去登录,startx,系统提示gdm已经启动了。不管他, 根据提示,sudo rm /tmp/.X0-lock,然后再startx,就可以进入桌面了。

现在是需要进入那个“登录界面首选项”了,在网上百度一番,后来找到了进入的方法:
sudo dbus-launch gdmsetup

经ubuntu china forum上的朋友提示,做了如下修改:把启动辅助功能登录的勾去掉。退出后重新启动Gnome,一切恢复正常。
-------------
乾坤一笑 写于2007年9月2日 转载请标明出处和原文链接

发表于 2007-09-09 10:50 乾坤一笑 阅读(1826) | 评论 (2)编辑 收藏
 
Gutsy Gibbon已经发布了Alpha 5了,我终于抵挡不住诱惑去做小白了。(Ubuntu 7.10 Gutsy Gibbon将共有6个Alpha版、1个Beta版、1个RC版、1个Final版。)

从网上查一下,就知道了Ubuntu升级的方法,其实很简单: 把源里面的feisty换成gutsy,然后用apt-get更新即可。(Feisty是Ubuntu 7.04版本,Gutsy是Ubuntu7.10版本)全部更新完毕后,重启一下即可,升级的过程中该聊天该上网完全不耽误事。

sudo sed -i "s/feisty/gutsy" /etc/apt/sources.list
sudo apt-get update
sudo apt-get dist-upgrade

Gutsy的界面米有看出和Feisty有什么大区别,但是总体感觉要更柔和、更自然。

有人说,从7.04升级到7.10和格掉硬盘重装7.10效果不大相同。我没有试过,也不大好说明。但是我的想法是这样的:所谓apt-get 的dist-upgrade无非是以原有的包为基础(就是我7.04上自己添添减减自己定制的包了),首先把这些包升级,如果依赖上有问题的话,就分别去下载依赖相关的包。而重新安装则是完全按照开发人员配置的组合去装的,所以会有所不同。不过升级上去的,也肯定可以通过手动添加一些包达到和重新安装相同的效果的,对不? ;) 更何况源里面有些东东还是比较老的,我花了不少心血才把他整成新的整好用了,可不想在麻烦一遍,所以就这么升吧。
-------------
乾坤一笑 写于2007年9月2日 转载请标明出处和原文链接


发表于 2007-09-09 10:49 乾坤一笑 阅读(1485) | 评论 (1)编辑 收藏
 
ubuntu 7.04中自带了vmware player 1.0.2-2 , 这是一个vmware workstation的超简化版,只能使用现成的OS镜像,不能自己创建OS镜像。因此它是免费的,深受广大Linux fans的喜欢,甚至比server版和workstation版还流行的多。

这个自带的1.0.2-2版本有一个bug, 就是使用net bridge方式创建的OS,并不能和宿主计算机通信,比如网上邻居中就看不到宿主计算机。但是这个虚拟OS访问局域网中的其他计算机却没有丝毫的问题。奇哉怪哉。

经过我在百度/google上不断的搜索,大体上明白了原因。原来这是一个bug,在vmware player 2.0上已经解决了。于是乎,跑到vmware的网站上下载了一个2.0版本装上,果然没有问题了。
-------------
乾坤一笑 写于2007年8月19日 转载请标明出处和原文链接


发表于 2007-09-09 10:42 乾坤一笑 阅读(1837) | 评论 (2)编辑 收藏

2007年8月12日

原文链接: http://www.osxcn.com/ubuntu/mp3-tag-encoding.html
作者:Nicky
这篇blog写的非常好,尤其是文章结尾那两个工具的用法更是我经常查找。为了不每次都去搜索原文,所以粘在这里算是做个笔记了。:) 感谢Nicky兄的贡献。


对 mp3 乱码问题的分析和解决
Category: Ubuntu, Author: Nicky, Popularity: 26%

最近尝试 Listen 和 Banshee 才发现,Rhythmbox 上出现的 mp3 乱码问题依旧,而且更加严重,想要彻底弄清和解决必须搞清两点,第一, mp3 标签类型和编码,第二,各种播放器对 mp3 标签读取情况,相信它们应该都有相关的开发文档来说明,但我还是用了一个最笨的方法,就是一个一个的测试来得出结论,真理不是来自于实践吗?

1、了解 mp3 标签类型和使用的编码

首先说 mp3 标签类型和编码,大家应该知道目前主要存在这几种标准,ID3v1, ID3v2 2.3, ID3v2 2.4, APEv2,ID3v1 只支持 ISO-8859-1 编码 (编码集参考),严格的说它是不支持中文的 (并不代表它不能储存中文信息,目前中文 mp3 的 ID3v1 标签都使用这个字段来储存 GBK/GB18030 编码的中文信息),而第二版 (ID3v2) 支持的格式增加了 utf-16,直到 2.4 版才开始支持 uft-8,但 ID3v2 标准没有统一标签内容的编码,例如 2.4 版的 ID3v2 你可以使用 ISO-8859-1 编码,也可以使用 utf-16/uft-8 这种 Unicode 编码格式。做得最好的是 APEv2,它不但有很好的扩展性,而且还把编码格式统一为 utf-8,这样一来只要支持 APEv2 读取的播放器播放带有 APEv2 标签的 mp3 就不会存在乱码问题。

2、了解各种播放器对 mp3 标签读取情况

接下来研究的就是各种播放器对这几种标准的标签支持程度,测试的播放器有:gnome 自带的 Rhythmbox 0.10.0, Listen 0.5, Banshee 0.12.1+dfsg-3, Quod Libet 0.24, Exaile! 0.2.8, GMPC 0.13.0, Audacious 1.2.2。

测试的方法很简单,用一个 mp3 文件,分别写入不同类型的标签 (排列组合下来共 20 多种),在 ID3v1 和 ID3v2 2.3/2.4 中分别使用不同的编码写入中文信息 (如 GBK 编码),然后用这些播放器去读取,得到其结果。从这次的测试结果来看,Rhythmbox 对各种 mp3 的标签支持最好,这主要归功于它支持 APEv2 标签的读取。而 Banshee 和剩下的播放器完全一样,都不支持 APEv2 的读取,这个就能很好的解释为什么一些 mp3 在 Rhythmbox 上正常,在其他播放器上就会乱码。原因是现在很多 mp3 为了兼容,都同时使用了 ID3v1 和 APEv2 标签,Rhythmbox 读取 ID3v1 一样会乱码,但它优先读取了 APEv2 标签,而 Banshee 这些播放器不支持 APEv2 就只能读取 ID3v1,当然会乱码了。

他们的共同特点就是,所依赖的 libid3tag 库完全按照 ID3 标准来读取标签内容。不管使用何种标准的标签,只要是读取以 Unicode 编码的中文内容,肯定没有问题,遇到 GBK/GB18030 编码的中文内容时,还是把它当成 ISO-8859-1 编码来读取,不乱才怪。

ps: Vista 上的 WMP 不支持 ID3v2 2.4 和 APEv2 标签的读取,但它很聪明不能读取就用文件名代替,千千静听支持全系列标签的读取,但不支持以 ID3v2 2.4 标准的写入,不知道即将发布的 5.0 有变化没有。foobar2000 v0.9.4.3 支持全系列标签的读取,默认使用 ID3v2 2.4 (utf-8) 写入,不愧被誉为经典。

3、解决办法

既然明白了乱码的原因,就得找解决办法,一种办法就像 Win 上的播放器一样,可以根据本地的编码方式来解码,或使用一些其他转码机制,要不还可以选择优先读取顺序。以上测试的播放器中除了 Audacious 外其他都不支自定义编码读取功能。另外一个解决办法就是把 mp3 标签转换为 Unicode 编码,这种方式既简单又支持标准,推荐大家使用。如果像 Banshee 一样支持显示文件路径也可以解决乱码问题,但这不是根本之道。

目前发现有 2 个工具可以把标签转换为 Unicode 编码,而且都支持批量转换。

1) 一个是周枫用 java 编写的 ID3iconv 0.2.1,最后更新时间为 2004/2/20。

使用方法:
java -jar ~/id3iconv-0.2.1.jar -e gbk *.mp3

如果想转换当前目录下的所有 mp3 (包括子目录):
find . -iname "*.mp3" -execdir java -jar ~/id3iconv-0.2.1.jar -e gbk {} \;

* 注意以上 ~/id3iconv-0.2.1.jar 位置根据自己情况而定
* 相信现在大陆绝大多数能找到的 mp3 标签都是以 GBK/GB18030 编码,使用 -e gbk 来处理就够了,当然你也可以使用 -e gb18030 来处理。
* -e gbk 参数是代表把 GBK 编码的标签转换为 Unicode 编码,本身是 Unicode 编码的就不转换。如果需要转换其他编码的文件可以自行修改,如改为 Big5。
* 经测试,转换后为 2.3 版的 ID3v2,编码格式为 uft-16

2) 另外一个是用 Python 写的 “Mutagen”,目前最新版本 1.11,Ubuntu 7.04 源里也带有 1.10 版本的 Mutagen,可以用这个命令来安装:
sudo apt-get install python-mutagen

ps:安装 Quod Libet 和 Listen 都必须这个

使用方法:
mid3iconv -e gbk *.mp3

如果想转换当前目录下的所有 mp3 (包括子目录):
find . -iname "*.mp3" -execdir mid3iconv -e gbk {} \;

* 相信现在大陆绝大多数能找到的 mp3 标签都是以 GBK/GB18030 编码,使用 -e gbk 来处理就够了,当然你也可以使用 -e gb18030 来处理。
* -e gbk 参数是代表把 GBK 编码的标签转换为 Unicode 编码,本身是 Unicode 编码的就不转换。如果需要转换其他编码的文件可以自行修改,如改为 Big5。
* 经测试,转换后为 2.4 版的 ID3v2,编码格式为 uft-16
* 不过它会同时用 Unicode 编码填满 D3v1, ID3v2, APEv2 标签,但是 ID3v1 又不支持中文的 Unicode 编码,所以转换后的 ID3v1 标签全是问号。所以最好加上 –remove-v1 参数,转换后删除 ID3v1 标签。
mid3iconv -e gbk --remove-v1 *.mp3


(OVER)

发表于 2007-08-12 11:56 乾坤一笑 阅读(1845) | 评论 (1)编辑 收藏
 
原帖: http://forum.ubuntu.org.cn/about56409.html&highlight=skype+AND
作者:ghostdomcode

ghostdomcode使用的是早期版本,我针对现有版本skype_static-1.4.0.99对操作步骤稍微做了些修改,加了几句废话般的注释,但核心思路还是一样的。


先把必须的库装上。在64bit下兼容32bit软件需要用ia32等库
sudo apt-get install ia32-libs ia32-libs-sdl ia32-libs-gtk lib32asound2

下载skype。因为skype.com上提供的ubuntu 7.04的skype是32位版本,我们没法用,所以只能下那个static的通用版本了。
wget http://www.skype.com/go/getskype-linux-static

解压缩,并把skype装到对应的目录。skype的Readme里面有详细解释。
tar -xvjf skype_static-1.4.0.99.tar.bz2
cd skype_static-1.4.0.99

sudo mv skype /usr/bin/
sudo mkdir /usr/share/skype
sudo mv sounds /usr/share/skype/
cd ..

重要的来了,libsigc++和libcddbus这两个库比较难装。
wget http://mirrors.kernel.org/ubuntu/pool/main/libs/libsigc++-2.0/libsigc++-2.0-0c2a_2.0.17-2build1_i386.deb
sudo dpkg -x libsigc++-2.0-0c2a_2.0.17-2build1_i386.deb libsigc

wget http://mirrors.kernel.org/ubuntu/pool/main/d/dbus/libdbus-1-3_1.0.2-1ubuntu3_i386.deb
sudo dpkg -x libdbus-1-3_1.0.2-1ubuntu3_i386.deb libsigc

sudo cp libsigc/usr/lib/* /usr/lib32/
sudo ln -s /usr/lib32/libdbus-1.so.3 /usr/lib32/libdbus-1.so.2
sudo ldconfig /usr/lib32ls
sudo rm -rf skype-1.4.0.64
sudo rm -rf libsigc

Okey了,装上图标,建立一个快捷方式就圆满了。
sudo mv skype_static-1.4.0.99/icons/SkypeBlue_32x32.png /usr/share/icons/


在系统->首选项->主菜单里面给Skype建立一个Menu就Okey了。
名称:Skype
命令:/usr/bin/skype
图标:/usr/share/icons/SkypeBlue_32x32.png

(OVER)

发表于 2007-08-12 11:53 乾坤一笑 阅读(1927) | 评论 (0)编辑 收藏

2007年6月10日

不太了解ubuntu的历史,所以也不明白ubuntu选用应用程序的标准。在这几个月的使用经验中,我用第三方的程序替换了几个原配的ubuntu应用程序,使我终于有了超于windows的使用感受。

1. Rhythmbox
mp3播放器。这东东的缺点一是中文歌曲列表都是乱码,二是播放过程中老是挂死。有一些mp3还都播不出来。 我用Beep Media Player代替了它,这源自我早期使用Linux 的经验。

2.Totem
影音播放器,极其不好用。网上有朋友推荐使用xine的内核的Totem代替gstream的内核的totem,但是我觉得依然是不要用。我选择了mplayer,真是啥都播放的出来,爽得不得了。

3.Network Manager
这东东在我的机器上发现了一种非常严重的bug。我的本本是通过一个家中路由器上网的,照理说网关设置成路由器的ip地址就okey了,域名解析的工作应该由路由器来做。但是Network Manager会搜索到ISP提供的DNS,并把它设为我的首选的DNS。这直接导致了我虽然能够ping通外面的ip,但是没法通过域名浏览web网页。并且,根据我的实践经验推测,这个东东会定时的重新扫描网络并改变网络设置的,就是说开机后我手动把DNS设置成路由器的ip,不一会儿它就会给我设成ISP提供的DNS,我再手动设过去,他又手动设回来……真是气死人了。后来我找了一个名叫“网络选择器”的东东代替了它,才彻底脱离了烦恼。

除此之外,其他的经验还有:
1. Pidgin 2.0.1非常好用。源里面没有pidgin,只有gaim beta6,所以必须手动编译安装一下。
2. LumaQQ虽然有点老,但是比较好使。
3.星际译王很好用。我装的是Collins的词典和牛津高阶英汉双解辞典。
4.Firefox 最好配些插件。我选用了FireFTP(这样firefox就变成了一个很好用的ftp工具),MediaPlayerConenctivity(播放网页中内嵌媒体),Compact menu + Firefox showcase + myfirefox (这两个插件+一个皮肤就把firefox整成IE7.0的造型了,非常爽)

发表于 2007-06-10 17:37 乾坤一笑 阅读(2825) | 评论 (4)编辑 收藏