•        ubuntu作为一个标准的linux发行版,现已经被越来越多的人所接受和尝试。我自己使用ubuntu也一年有余了,从最初8.04 lts的 Hardy Heron,到9.04 的Jaunty Jackalope,看到了linux桌面版本的不断发展,也看到了许多不如意的地方。事实上ubuntu并不能够替代windows:如果您嫌您的xp过于陈旧,或是vista侵占内存太多跑起来太慢,那也许即将在十月中旬发售的windows 7是你的最好选择,ubuntu在桌面领域,相较于windows依然还有很长的路要走。所以说在配置整个ubuntu的过程中折腾将始终贯穿于其中,那些各种各样稀奇古怪的囧事都会毫无征兆的发生。这篇文章是为了那些刚接触ubuntu的新人作为一个参考,也是为了自己将来如果要重配ub的话也好有一个大致的思路。

     

    1. launchpad的ppa源问题:很多软件都有测试版,那这些软件的测试版都会放到ppa.launchpad.net的源上进行同步,但国内用户漂洋过海去下ppa源的话速度会惊人的低,无论是电信还是网通,用2m宽带竟然会变成蛋疼的3kb/s。解决方法是使用ubuntu tweak的“使用PPA镜像”功能,它把所有的ppa.launchpad.net源地址都替换成了archive.ubuntu.org.cn/ppa/的国内镜像,速度一下子就飚上去了。

        

     


    2. VMWare WorkStation 6.5.2 156735 for linux 序列号  THWW8-HRZAH-A24FA-4YTN3 我知道很多人都会要的,网上出来的都失效了。


    3. top命令可以查询察看系统进程信息,有些东西是你用系统监视器看不到的,比如xorg的占用率。


    4. 你有没有觉得其实ubuntu跑的比xp和vista都要慢?如果是这样的话尝试用top命令看看xorg的占用率是多少,有的时候如果你什么都不动xorg都可能占到30% cpu,在xp和vista下面cpu占用率可一直是维持在10%一下的啊。


    5. 归根到底xorg到底是什么东西,按wiki上的说法是“xorg是X Window System的官方参考实现”,挺模糊的。事实上X Window System是一个C/S结构的程序,Xorg只是提供了一个X Server,负责底层的操作,只要装xwindows  xorg都会被使用到,因为每一个图形界面程序都会调用它,是一个底层的X server。当你运行一个程序的时候,这个程序会连接到X server上,由X server接收键盘鼠标输入和负责屏幕输出。那为何xorg会在空闲时也如此占用cpu,似乎只有一个答案那就是……目前的Xserver渲染架构严重落后于时代,自Xfree时代遗留的问题在Xorg里也未得到足够的重视,而2D加速,3D加速等都依赖于一个好的内存和执行管理器。


    6. Redhat的一个大牛不满X架构的严重老化,另起炉灶设计一个全新的X server,代号Wayland,目前还不实用。


    7. 网上xorg的症状很多,但未得到普遍重视
    http://forum.ubuntu.org.cn/viewtopic.php?f=126&t=118677
    http://forum.ubuntu.org.cn/viewtopic.php?f=77&t=185189&start=0
    http://forum.ubuntu.org.cn/viewtopic.php?f=77&t=221881&start=0
    于是众人有言:人家都说linux配置要求低。可怎么我感觉配置要求高啊!Xorg真TM烂!
    而对我来说最大的问题就在于笔记本的散热和风扇,很明显的可以感觉到比风扇比vista下要转的勤,温度也会高一点。本本散热不好的同学要注意了。


    8. ubuntu 9.04的pdf乱码:即使在你看完速配指南执行了 sudo apt-get install xpdf-chinese-traditional poppler-data,修改配置文件/etc/fonts/conf.d/49-sansserif.conf之后,发现打开的pdf真tmd还是乱码,该怎么办。解决方法是将Windows中 C:\Windows\Fonts的所有字体拷贝到Ubuntu的/usr/share/fonts下面即可。神奇的是我的opera字体大小不一的问题也同时解决了。


    9. 可惜的是在ubuntu下面opera没有firefox做的那么完善,scim冲突依然是老生常谈。如果你是按照教程执行了“sudo apt-get install scim-qtimm 安装scim的qt模块”并且“sudo gedit /usr/bin/opera 在文件中加入export QT_IM_MODULE="scim"”依然没有解决这个问题的话可以试试ibus。

    10. 但是opera默认不能用ibus,于是网上有了一篇如何在opera中使用ibus的教程,然而这篇教程如果我粘过来的话那大概会占到整个文章长度的一半。Linux下的Opera似乎本身就是和中文环境格格不入的……


    11. 谈到scim就放个最近很火的google输入法 for linux deb包的地址吧,装完之后唯一的缺陷此就是输入法无法识别ctrl,也就是说你在使用google输入法的同时无法进行ctrl+C复制和ctrl+C粘贴的操作。

    http://filer.blogbus.com/5209349/resource_52093491255778671t.deb


    12. 要设置任何一个输入法为默认输入法的命令为im-switch -s xxx ,xxx为scim,fcitx,ibus等输入法,但是如果在之前加了sudo的话就会出现悲剧。


    13. sudo im-switch -s xxx
    开机ROOT用户才会默认输入法为XXX
    im-switch -s xxx
    开机后当前用户 默认输入法为xxx


    14. 有的时候在任何命令前面加上sudo而不看命令本身确实不是一个好习惯,上文即是如此。要Sudo一个输入法还是小事,要是先打Sudo su,然后一个rm命令的话就会造成一些不必要的麻烦。我曾经在root用户的权限下连续删掉好几个大于1G的tar包,结果回收站里连个1 Byte的影子都没有,硬盘容量也一点都没有减少。原因是root下的回收站和home下的回收站是两码事,我当时没有意识到只要我用root账户登录删除回收站就可以解决,结果白忙活了好半天,当然也可以试试看强行清空回收站的方法:sudo rm -rf ~/.local/share/Trash/{files,infos}/。(我怎么会有那么多需要删除的大于1G的tar包……这其实都是网上的tar备份打包方法的剩余产物。)


    15. 网上备份ubuntu的使用方法都是使用tar,但是tar在还原时有几个很不好的缺点。按坛子上adagio的说法“ghost这些东西是基于扇区的,而tar是基于文件的,如果源文件没有而目标分区有的,那么还原之后就有;如果源文件有而目标分区没有的,那么还原之后也有。换句话说,tar只会把原来的放回去并覆盖同名的文件,而不会删除已有的“差异”文件,和copy是一个道理,如果你想达到ghost的效果,那么就应该先删除原来的文件;如果是还原分区就应该先format。”也就是说在tar还原恢复系统的时候得先用live cd把原盘全部格掉,然后再解压tar包。然而这还不是最麻烦的,最麻烦的是得去该menu.lst得引导配置文件和fstab的挂载点配置文件,若不修改则必将造成不能进系统的大悲剧。因此我推荐用下面这个图形化工具来做备份和还原。


    16. http://forum.ubuntu.org.cn/viewtopic.php?f=77&t=176612#6pt
    Ucloner 3.5
    克隆或备份时会自动跳过 /mnt/* 、/media/* 、 /proc 、/sys 、/tmp 以及缓存 /var/cache/apt/archives/*.deb 、 /var/cache/apt/archives/partial/* 。如果有其它挂载点如 /windows/* 、 /home/*/win_c 之类,可手动指定排除之。
    克隆或恢复系统后会自动生成新的 fstab 。
    可自动安装 GRUB,前提条件是被克隆或被恢复的系统中装有 GRUB 。
    克隆或恢复时会自动更改主机名以避免出现重名。如果您不喜欢自动更改的主机名,可用 change_hostname.sh 修改,使用方法:sudo sh change_hostname.sh 新主机名 ,或 sudo sh change_hostname.sh 后按提示操作。
    关键是可以在恢复的时候自动安装grub和确定fstab,那就可以省去很多麻烦了。


    17. ubuntu 8.04的gnome回收站没有恢复功能,ubuntu 9.04 的networkmanager无线网络连接没有断开按键。


    18. 于是大多数人都会去试试看wicd,传说中networkmanager的无线替代品。有两点让我无法对wicd满意,第一是在输入密码的时候是自己挑选密钥类型而非自动判别,第二是不能识别中文ssid。


    19. 请谨慎对待安装ubuntu的早期版本,如果你还想延长你的硬盘寿命的话。在低版本的ubuntu中,有一个对硬盘产生致命危害的bug,就是所谓的load unload cycle count问题。


    20. 按Linuxtoy的bread的说法:“大家都知道,硬盘的数据传输是通过磁头读写磁盘上的数据来完成的。在工作过程中,磁头并不与磁盘的盘面直接接触,两者之间有一层很薄的空气薄膜,这层空气 薄膜是由于磁盘的高速旋转产生的。如果磁盘停止旋转,空气薄膜消失,磁头则会直接接触到盘片,更详细一点说,会接触到盘片的landing zone,或者叫做start/stop zone,这无疑对盘片的寿命以及对存储在这块区域的数据造成不好的影响。因此在早期阶段,硬盘制造商一般会在对盘片的表面或landing zone部分做特殊的处理,并尽量避免在landing zone存储数据。但是随着人们对于硬盘传输速度和硬盘容量需求的不断增加,制造商需要不断提高硬盘的面密度,同时要求盘片表面尽可能地平滑,这无疑与之前采用的技术产生了冲突,再加上其他的一些因素,硬盘制造商迫切地需要一种新的方式来替代之前采用的磁头直接接触盘面的行为。这时IBM的工程师们提出了一种叫做 Load/Unload的技术。简单来说,Load/Unload技术有点像老式的点唱机,当盘片转速降低无法再产生空气薄膜的时候,就将磁臂以及磁头旋 转一下,停靠到磁盘旁边的一个小斜坡上。这样就完全避免了磁头与盘片的直接接触。总体来说,Load/Unload技术是有利的,比如可以提高硬盘的可靠性:硬盘遭到撞击的时候磁头不会划伤盘面;可以提高硬盘的面密度:不再需要对盘片 表面做特殊的处理,可以提供平滑的盘面;以及可以有效地降低功耗:低功耗的程序可以通过多次请求Load/Unload来减少盘片的旋转时间,或者设置旋转超时时间(spin down timeout)来让磁头定期的做Load/Unload等等。虽然Load/Unload技术有很多优点,但毫无疑问频繁的Load/Unload操作会造成磁头的磨损,严重的话会造成数据读写失效,也就说,硬盘挂了。那么到底Load/Unload多少次会挂呢?最流行的说法是到60W次,西部数据的一份产品规格说明书上也明确标示出了这一数字但也有人指出SMART参数根本就是扯淡,好多坏掉的硬盘SMART值很低好的硬盘SMART值超标,因此根本不能成为评判标准以至于现在好多新机器都直 接屏掉。但无论如何,频繁地卸载/挂载总不是什么好事。尤其是当你已经了解到Load/Unload次数过多有可能造成硬盘挂掉的时候,我想无论再有人辟谣,你也不会高枕无忧了。毕竟相对于硬盘本身来说,上面的数据可是要重要的多。各大linux发行版好像就Ubuntu被报告有这个问题,但这实际上并不是Ubuntu的电源策略太变态,恰恰相反,默认情况下Ubuntu会直接沿用硬件固件里面的设定。其他的发行版中SUSE也有类似的电源管理的BUG,初次之外的发行版似乎默认会忽略硬盘的这个节能功能,所以不会有类似的问题。”有一大篇对此阐述原理的文章 http://linuxtoy.org/archives/ubuntu-harddisk.html讲的很不错
    cnbeta上也有两篇文章针对load unload cycle count的具体解决方案,
    http://www.cnbeta.com/articles/42191.htm
    http://www.cnbeta.com/articles/42421.htm
    不过现在这个问题已经解决了
    https://bugs.launchpad.net/ubuntu/+source/acpi-support/+bug/59695
    在我的9.04上load unload cycle count只有10000多。


    21. 你的ubuntu关机的时候会不会听到硬盘很清脆的咔嗒一声?这声脆响和硬盘突然停止的声音出奇的相似……原因是那个声音是硬盘磁头复位的声音,当关机时ubuntu没有等到硬盘完全停止转动,就断电了。解决方法为修改/etc/init.d/halt 脚本中的spleep 值为30。坛子上的讨论帖中有具体的描述http://forum.ubuntu.org.cn/viewtopic.php?f=42&t=42316
    Cnbeta上有位仁兄囧的很:去ub的坛子上发帖求助这个问题,得到的回复却是被指责为无理取闹,说关机本来就是这样的。
    http://www.cnbeta.com/articles/42191.htm 右侧热门评论
    甚至坛子上还有人调侃道:feisty终于有关机音乐了,好期待阿
    faint……


    22. 所有的linux都不需要磁盘碎片整理, 包括ubuntu,原因如下
    http://forum.ubuntu.org.cn/viewtopic.php?t=27451


    23. 安装完8.10和9.04后文泉驿字体会变得很模糊,坛子的集中讨论帖 http://forum.ubuntu.org.cn/viewtopic.php?f=8&t=162858
    我自己捣鼓了很久,包括
    开启正黑的内嵌点阵:sudo nano /etc/fonts/conf.d/44-wqy-zenhei.conf
    找到代码:
    <edit name="embeddedbitmap"><bool>false</bool></edit> 把false换成true。
    或者,
    如果在/etc/fonts/conf.avail中如果能够找到66-wqy-zenhei-sharp.conf的话,把它link到conf.d中。
    代码:
    sudo ln -s /etc/fonts/conf.avail/66-wqy-zenhei-sharp.conf  /etc/fonts/conf.d
    但这些都不管用,最后唯一有效的方法是
    修改
    /etc/fonts/conf.d/69-language-selector-zh-cn.conf
    把各部分的
    <string>WenQuanYi Bitmap Song</string>
    放到
    <string>WenQuanYi Zen Hei</string>
    前面就行了
    具体见
    http://forum.ubuntu.org.cn/viewtopic.php?f=8&t=162858&start=30 的32楼


    24. ubuntu的默认声音奇小无比,即使调到最大也只不过windows的1/3,解决的办法是打开终端输入alsamixer,回车之后调大Master,PCM,Front就行了。当然如果你RP特别差,像下面这位仁兄一样就没办法了。http://forum.ubuntu.org.cn/viewtopic.php?f=42&t=177522&start=0   标题为“声卡音量小,别告诉我alsamixer调节,否则愤怒了”,最后这小伙子只好买了个外接的音响解决问题……faint


    25. 原想声音问题已经解决,不过居然出现了更奇怪的现象,就是100%音量跟90%音量可能差了有1倍,那个音量瀑布汗啊……目前尚无解决方法。


    26. linux发行版的alpha是不能乱装的,尤其是对于ubuntu。曾经在8.10 alpha里面出现过破坏intel网卡的实例:http://www.hengss.com/xueyuan/sort0367/sort0373/info-39204.html 所以说linux alpha版会破坏硬件并非虚言。


    27. ubuntu尽管提供了版本之间的升级,但这种升级做的并不好。强烈建议在升级前先做好备份,免得到时追悔莫及。官方的说明是“如果您在使用一个旧版本的Ubuntu,您也许希望升级到新版本。为防止软件膨胀,建议一个新的安装。”网上没有一篇文章解释什么是软件膨胀。


    28. ubuntu的内存社交换区(虚拟内存)使用策略是尽量优先物理内存再使用swap,也就是说你会看到物理内存已经到了600m,swap却只有1m多。


    29. 要降低swap使用的频率和读写率可以修改sudo gedit /etc/sysctl.conf,使vm.swappiness=10。1G 内存推荐值为 5,2G 内存推荐值为 3,不推荐把值设为 0 。不过既然ubuntu的交换区默认使用率已经大大低于物理内存,做这步似乎也是可有可无。


    30. 并行启动程序 /etc/init.d/rc修改 CONCURRENCY=none为CONCURRENCY=shell但据说这种方法可能会造成启动问题,慎用,建议多核cpu才使用。


    31. preload可以把一些常用到的库文件预加载到内存,用部分内存空间换取应用程序启动速度的提升,建议安装。


    32. 不推荐把默认的linux-generic内核换成linux-rt,因为realtime抢占式内核和nvidia 的受限驱动有可能产生冲突,详见http://www.linuxbyte.org/ubuntu-904-an-zhuang-pei-zhi-you-hua-quan-ji-lu.html/2


    33. 9.04的对于ipv6是采取直接嵌入内核得方式,而非之前把模块加入blacklist就行了的,因此想要禁用ipv6得自己编译内核,OTZ……所以还是不要禁了吧。


    34. ubuntu可以直接把内存中的一部分挂载,也就是说可以把内存当成硬盘来用,具体设置参见tmpfs:http://forum.ubuntu.org.cn/viewtopic.php?f=48&t=211526&start=30 的34楼,这篇教程比我的写得整篇文章都要长。


    35. 以下几行在firefox的about:config中需要修改的数值可以控制到服务器的最大链接数,加快浏览速度。
    network.http.max-connections    32
    network.http.max-connections-per-server 10
    network.http.max-persistent-connections-per-proxy  10
    network.http.max-persistent-connections-per-server 8
    以下允许浏览器同时发出多个请求给服务器,而不必等待服务器的返回信息,从而大大加快网页下载速度。
    network.http.pipelining -> true
    network.http.proxy.pipelining -> true
    network.http.pipelining.maxrequests -> 8


    36. ubuntu下有一个默认测试显卡分数的命令,在终端了输入glxgears就可以看到,我的8400GMs是2000fps多。


    37. 在使用ubuntu 9.04的wubi安装时一定要把windows所有的盘符的标签名改成英文,否则安装不会成功。

    38. amule的文件名经常会出现乱码的情况。可以再任务列表中选择一个,右键选 ‘显示文件信息’, 出现多组文件名, 再从中选择链接中名称一致的,接管-确认之后就能看到正确中文了。


    39. 在文件管理器nautilus里使用中键可以在同一窗口中使用新标签页打开文件夹内容。


    40. 3d桌面设置全解,网上没有比这个帖子再说的更好了 http://forum.ubuntu.org.cn/viewtopic.php?f=94&t=140531


    41. 0.8.2 compiz 的CCSM窗口管理选项里没有窗口组合与标签


    42. linux死机了怎么办?linux会死机吗?使用fork 炸弹可以轻松让linux死机,那我们该怎么办才能摆脱困境。有两种方法。


    43. 第一种是:
    1、按下 Ctrl+Alt+F1,进入到虚拟终端;
    2、输入账号、密码登陆;
    3、输入“sudo /etc/init.d/gdm stop”关闭 X-Window;
    4、接着输入“sudo /etc/init.d/gdm start”重启 X-Window;
    5、按下 Ctrl+Alt+F7,回到桌面;


    44. 第二种则是reisub法,大家在键盘上找,可以找到一个叫做“Sys Rq”的键,在台机的键盘上通常与 Prt Sc 共键,在笔记本可能在其他位置,如 Delete。以台机为例,要使用这种方法需要按住 Alt-Print(Sys Rq),然后依次按下 reisub 这几个键,按完 b 系统就会重启。在通用发行版中这个功能默认是关闭的,终端中输入echo 1 >/proc/sys/kernel/sysrq可以开启系统请求功能。 原理请参见http://blog.upsuper.org.cn/what-to-do-if-linux-crash/


    45. Thunderbird收取大邮件大附件的时候经常会出现xxx connection timeout的现象这可以通过增大pop3连接超时器设置。mail.pop3_response_timeout,默认值是45秒。可以增加到180秒,原理参见“Modify Thunderbird settings"。


    46. 重装grub的万能方法
    我想说的不是重装windows后进不了ubuntu的解决方法,我想说的是如果在引导的时候碰到了各种各样的error怎么办,包括一失手删掉了grub,或者是美化grub失败,这几条命令将有助于重装你的grub。
    先用livecd启动,假定sda2为你ubuntu的安装分区ext3为你的系统的文件类型,请一定要注意这点,否则会造成不可预料的后果
    然后在终端中一步步输入
    cd /
    sudo -s -H
    mount -t ext3 /dev/sda2 /mnt
    mount -t proc proc /mnt/proc
    mount -t sysfs sys /mnt/sys
    mount -o bind /dev /mnt/dev
    chroot /mnt  /bin/bash
    wiki对这几条命令的解释为透过live cd去执行真实物理硬盘上的系统,然后修复grub。
    grub-install /dev/sda //修复到MBR
    grub-install /dev/sda2 //修复到分区

    http://wiki.ubuntu-tw.org/index.php?title=HowtoRestoreGrub 可以看到更多信息,令人吃惊的是这种方法只有在对岸的wiki上才能看到,简体的wiki则浮云了。


    47. 网上的方法大多是抄来抄去,比如
            $sudo su
        $grub
        grub>boot (hdx,y)
        grub>setup (hdx)
    这种方法的前提条件是ubuntu中的grub软件是完好无损的,并且只有mbr信息被windows覆盖了。而一旦grub本身出现错误的话也就无能为力了。

    48. 拥有“超级牛力”的apt-get和aptitude的区别在于aptitude 在处理依赖问题上更佳一些。举例来说,aptitude 在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。由于教程上用的是apt-get,我使用apt-get的习惯也就保留了下来。


    49. 永中office打开ppt全屏后无法定位和结束放映,具体参见 http://bbs.evermoresw.com.cn/thread-38802-1-1.html

    以后想到再加进来吧,今天就这么多,如有错误,希望可以指正。