• Ubuntu常见问题 - [技术笔记]

    2008-05-27

    分类: 技术笔记

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://iyubo.blogbus.com/logs/21769026.html

    保持更新

    安装时选择的语言是简体中文,装好以后切换为英语:

    新装好的系统需要升级,更新源文件(更新前备份)
    $ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    $ sudo gedit /etc/apt/sources.list
    deb http://tw.archive.ubuntu.com/ubuntu hardy main restricted universe multiverse
    deb http://tw.archive.ubuntu.com/ubuntu hardy-security main restricted universe multiverse
    deb http://tw.archive.ubuntu.com/ubuntu hardy-updates main restricted universe multiverse
    deb http://tw.archive.ubuntu.com/ubuntu hardy-backports main restricted universe multiverse
    deb http://tw.archive.ubuntu.com/ubuntu hardy-proposed main restricted universe multiverse
    deb-src http://tw.archive.ubuntu.com/ubuntu hardy main restricted universe multiverse
    deb-src http://tw.archive.ubuntu.com/ubuntu hardy-security main restricted universe multiverse
    deb-src http://tw.archive.ubuntu.com/ubuntu hardy-updates main restricted universe multiverse
    deb-src http://tw.archive.ubuntu.com/ubuntu hardy-backports main restricted universe multiverse
    deb-src http://tw.archive.ubuntu.com/ubuntu hardy-proposed main restricted universe multiverse

    注: Ubuntu 8.04无法通过dhcp自动获取IP访问网络?
    解决方法: 禁用ipv6:

    $ sudo gedit /etc/modprobe.d/aliases
    注销掉alias net-pf-10 ipv6 (不会注销? 找到这一行,在前面加上#)

    $ sudo gedit /etc/modprobe.d/blacklist
    在最底部加上下面的内容

    # disable ipv6 module
    blacklist ipv6

    修改完后重启

    不用DHCP得到的DNS而自己指定
    $ sudo gedit /etc/dhcp3/dhclient.conf,找到下面这一行,去掉注释符并修改后面的127.0.0.1为自己想使用的DNS服务器地址
    #prepend domain-name-servers 127.0.0.1;

    使用静态指定IP

    $ sudo gedit /etc/network/interface

    auto eth0
    allow-hotplug eth0
    iface eth0 inet static
    address 10.100.8.20
    netmask 255.255.255.0
    gateway 10.100.8.1


    升级
    $ sudo apt-get update
    $ sudo apt-get upgrade

    添加中文支持:
    System -> Administration -> Language Support,勾选Chinese

    安装scim,中文输入支持

    $ sudo apt-get install scim scim-chinese scim-gtk2-immodule scim-tables-zh xfonts-intl-chinese xfonts-intl-chinese-big ttf-arphic-gbsn00lp ttf-arphic-gkai00mp ttf-arphic-bkai00mp ttf-arphic-bsmi00lp

    注: 中文输入常见问题:
    不能在eva,skype里输入中文
    设定scim-bridge为默认输入法:
    $ im-switch -s scim-bridge -z en_US
    $ sudo gedit /etc/X11/xinit/xinput.d/scim
    修改为
    GTK_IM_MODULE=scim-bridge
    QT_IM_MODULE=scim-bridge

    安装Mplayer
    $ sudo wget http://www.medibuntu.org/sources.list.d/hardy.list -O /etc/apt/sources.list.d/medibuntu.list
    $ wget -q http://packages.medibuntu.org/medibuntu-key.gpg -O - | sudo apt-key add - && sudo apt-get update
    $ sudo apt-get install python-mutagen libxine1-ffmpeg mjpegtools ffmpeg lame faad sox mplayer libxine1-bin totem-xine w32codecs

    Mplayer问题:
    有声音,但是视频窗口黑屏
    解决办法: 在Mplayer的Preferences里面,找到Video->Available Drivers,选择xv或者x11(总有一款适合你:))

    启动慢
    解决办法: 在Mplayer的Preferences里面,找到Misc->Stop XScreenSaver,把此项前面的框勾选去掉(确保此项未选中)

    调节视频窗口大小后图像始终只有原始大小
    解决办法: sudo gedit ~/.mplayer/config,在里面增加一行zoom=yes

    安装IM聊天工具
    卸载默认的pidgin(MSN有emesene,gtalk有gajim,QQ用eva)
    $ sudo apt-get remove pidgin

    安装skype,emesene,gajim
    $ sudo apt-get install skype emesene gajim

    安装IM常见问题:
    解决emesene在MSN群聊里面不能显示用户名的问题:
    $ gedit emesene.patch

     

     


    --- Switchboard.py        2008-04-15 20:52:04.000000000 +0800
    +++ /usr/share/emesene/emesenelib/Switchboard.py        2008-04-15 20:53:52.000000000 +0800
    @@ -276,6 +276,10 @@
                         charset = Type.split('text/plain; charset=')[1]
                     except IndexError:
                         charset = ''
    +
    +                if 'P4-Context' in header:
    +                        nick += header['P4-Context']
    +                        body = "[" + header['P4-Context'] + "]: " + body
                     
                     self.emit('message', tid, nick, body, format, charset)
                     self.msn.emit('message-received', tid)


    保存,退出
    或者下载这个补丁(tar.gz包,下载后解压即可)
    $ sudo patch -p0 < emesene.patch

    eva版本太低不能登录:
    实际用apt-get安装了才发现,eva的版本0.4.1太低,已经不能登录了。从网上搜索源码包手动编译安装(最新的版本是0.4.921):
    $ wget ftp://60.28.33.92:4789/soft/eva-20080127_1.tar.bz2
    $ tar jxvf eva-20080127_1.tar.bz2
    $ ./configure --prefix=/usr
    $ make
    $ sudo make install

    注: ./configure过程中常见问题:
    错误: C compiler cannot create executables
    解决:sudo apt-get install gcc libc6-dev

    错误:checking for C compiler default output... configure: error: C compiler cannot create executables
    解决:sudo apt-get install libc6-dev

    错误:configure: error: C++ preprocessor "/lib/cpp" fails sanity check
    解决:sudo apt-get install build-essential

    错误: Can't find X includes. Please check your installation and add the correct paths!
    解决:sudo apt-get install xlibs-dev

    错误: Qt (>= Qt 3.0) (headers and libraries) not found. Please check your installation!
    解决:sudo apt-get install libqt3-headers libqt3-mt-dev

    错误:in the prefix, you've chosen, are no KDE headers installed. This will fail.
    So, check this please and use another prefix! which basically means its going to want to install a lot of KDE specific packages to work. This 'configure:error'
    is due to it expecting you to be running KDE and again refers to some 'headers'.
    解决:sudo apt-get update
         sudo apt-get install kdelibs4-dev kdelibs4c2a

    错误:./admin/cvs.sh: 585: autoconf: not found
    解决:sudo apt-get install autoconf

    错误: *** GTK >= 2.4.0 not installed! ***
    解决:sudo apt-get build-dep gedit

    错误:heching for gtk-config... no
    checking for GTK - version = 1.2.0... no
    *** The gtk-config script installed by GTK could not be found
    *** If GTK was installed in PREFIX, make sure PREFIX/bin is in
    *** your path, or set the GTK_CONFIG enviroment variable to the
    *** full path to gtk-config.
    configure: error: Cannot find GTK: Is gtk-config in path?
    解决:sudo apt-get install libgtk1.2-dev


    安装常用工具
    截图(Scrot),星际词霸(Stardict),kchmviewer(查看chm文件),audacious(听歌)
    $ sudo apt-get remove rhythmbox
    $ sudo apt-get install scrot stardict kchmviewer audacious

    安装stardict词典(也可以直接去下载,手动安装):
    $ sudo apt-get install stardict-cdict-gb stardict-cedict-gb stardict-hanzim stardict-langdao-ce-gb stardict-langdao-ec-gb stardict-oxford-gb stardict-xdict-ce-gb stardict-xdict-ec-gb

    修改kchmviewer配置文件,解决双击.chm文件出错和中文乱码(有时)问题: (橙色为修改后的内容)

    $ sudo gedit  /usr/share/applications/kchmviewer.desktop

    [Desktop Entry]
    Categories=Qt;KDE;Utility;
    Encoding=GB2312
    Type=Application
    Exec=kchmviewer %f
    Icon=kchmviewer.png
    Comment=
    Terminal=0
    Name=KchmViewer
    Comment=A viewer of CHM (MS-Help) files
    MimeType=application/chm

    卸载自带的transmission,安装multiget和deluge
    $ sudo apt-get remove transmission-common
    $ sudo apt-get install libwxbase2.6-0 libwxgtk2.6-0
    $ sudo dpkg -i multiget_1.1.4-0~getdeb1_i386.deb
    $ sudo apt-get install deluge-torrent

    gedit打开中文乱码问题:
    运行gconf-editor,在左边的树中选择apps->gedit-2->preferences->encodings
    修改auto_detected的值,增加GB18030,并提升到最高

    使用64位机器强制安装32位deb包
    $ sudo apt-get install ia32-libs lib32asound2

    启用桌面特效

    安装驱动


    这篇是一个很好的参考

    安装特效管理
    $ sudo apt-get install compizconfig-settings-manager

    给关闭动作添加火焰效果
    System -> Preferences -> Advanced Desktop Effects Settings, 在Effection里面点击Animations,在Close Animation里面New一个,Close Effect选择Burn,Duration选择200,Window Match中输入 type=Normal|Dialog|ModalDialog|Utility|Unknown|Menu|PopupMenu|DropdownMenu后点close关闭,并将新添加的这一项移到最顶部即可。怎么样,试试吧,是不是很炫?

    解决混音问题:
    为什么我在同时打开两个应用程序时不能听到声音呢?大多数Linux初学者都遇到这样一个问题:“为什么我在同时打开两个应用程序时不能听到声音呢?”这是因为你的声卡需要“软混音”。值得庆幸的是,ALSA提供了这项功能,这使得解决这个问题并不是很难。

    首先需要安装libesd-alsa0,它就在Ubuntu官方软件库中。
    $ sudo apt-get install libesd-alsa0

    然后用sudo gedit或您喜欢的文本编辑器创建文件/etc/asound.conf(请确定您使用了sudo,因为您需要root权限):
    $ sudo gedit /etc/asound.conf
    输入以下内容并保存关闭。

    pcm.card0 {
       type hw
       card 0
     }
     pcm.!default {
       type plug
       slave.pcm "dmixer"
     }
     pcm.dmixer {
       type dmix
       ipc_key 1025
       slave {
         pcm "hw:0,0"
         period_time 0
         period_size 1024
         buffer_size 4096
         periods 128
         rate 44100
      }
       bindings {
         0 0
        1 1
      }
     }

    (上面的文件可以在大多数声卡上正常运行…尽管我成功地测试了三个不同的声卡,但我还是不能确保它可以使所有声卡都能正常运行)

    修改esd配置文件(请自觉养成修改前备份的好习惯)
    $ sudo gedit /etc/esound/esd.conf,将文件改成下面的内容:

    [esd]
    auto_spawn=1
    spawn_options=-terminate -nobeeps -as 2 -d default
    spawn_wait_ms=100
    # default options are used in spawned and non-spawned mode
    default_options=

    然 后打开您的Gnome声音控制面板并启用声音服务器,接着到多媒体系统选择控制面板,将其设成ALSA或ESD,并重启计算机。 接下来您就可以将应用程序设成使用ALSA或ESD,这样您就可以一次听到多个声音了。就算是玩着用ALSA发音的游戏并听到使用ESD的GNOME应用 发出的声音也没有任何问题!
    选择System -> Preferences -> Sound,
    Sound Events: PulseAudio Sound Server
    Others: ALSA
    这里需要灵活一些,我也调试了一会才得到最终的结果,现在我能同时听到rhythmbox, mplayer, im的声音。mplayer的preferences里面的audio设置的选项要和这里的一致才行,Good Luck!

    有些朋友按照上述的方法设置却遇到了问题,他们不能在mozilla/firefox/epiphany程序中听到声音,结果我发现在启动 firefox时,程序查找libesd.so.1而系统却只有libesd.so.0,所以只要运行命令
    $ sudo ln -s /usr/lib/libesd.so.0 /usr/lib/libesd.so.1
    后就可以解决这个问题了

    安装雅黑字体
    下载相关文件
    雅黑字体 Fonts.zip
    配置文件 yahei.tar.gz

    解压并将字体复制到~/.fonts目录
    $ unzip -d fonts Fonts.zip
    $ cp -a fonts ~/.fonts
    $ sudo fc-cache -f
    $ sudo tar zxvf yahei.tar.gz --directory=/etc/fonts
    $ cd /etc/fonts/conf.avail
    $ sudo cp 51-local.conf 51-local.conf.bak
    $ sudo cp ../local.conf 51-local.conf
    $ sudo mv 69-language-selector-zh-cn.conf 69-language-selector-zh-cn.conf.bak

    重启X
    Ctrl+Alt+Backspace


    收藏到:Del.icio.us