Ubuntu 默认安装后建议替换/删除的软件

最近刚全新安装了一次 Ubuntu 12.10 amd64,把安装过程中替换和删除的软件做一下笔记,方便参考。

1. 所有安装、删除操作均使用 Synaptic (新立得包管理器) 进行,刚装好的系统建议只保留以下几个 meta packages 作为“手动”,其他都改为自动,方便今后删除无用包:

ubuntu-desktop, ubuntu-standard, ubuntu-minimal (这三个是推荐软件), linux-generic (内核不解释), language-pack-gnome-en, language-pack-gnome-zh-hans (这两个是语言包)

2. 自带浏览器——Firefox

这个因人而异,如果你喜欢火狐就用着,它跟 Ubuntu 系统集成是最紧密的,也是带 Logo 的官方维护版。可用的替换包括:

chromium-browser (开源版,软件源里面有), google-chrome-stable (需要到 Google 官方下载,比楼上的强力), Opera (没用过不知道包名,也需要到官方下载)

3. 自带办公套件——LibreOffice

LO 和之前的 OOo (现在的 Apache OOo) 对 Microsoft Office 的文件兼容性都一般,尤其是包含排版问题的 Word 和 Powerpoint,因此建议卸载后选用永中 (官方网站有,强力推荐这个) 或 WPS (官方还在封闭测试,估计我有生之年看不见稳定版了)。

4. 自带播放器——Totem

这个基本没用过,也基本没人用,可以按照自己喜好选择比较成熟的播放器:

vlc (VideoLan 很多人用), smplayer (mplayer 作为后端,Qt 前端)。同时建议安装 ubuntu-restricted-extras 带来的 GStreamer 和 FFmpeg (libav) 系列解码器。

5. 自带输入法——IBus

个人感觉 fcitx 比 ibus 稍微成熟一点,支持更多后端以及可用的云输入法 (IBus 的云输入法要自己编译,自称还不成熟)。推荐的搭配为 fcitx + fcitx-libpinyin + fcitx-module-cloudpinyin 而不要用传统的拼音引擎。

反正你说成熟吧,Ubuntu 桌面版就没有什么成熟的玩意,我就不多吐槽了,谁用谁怀孕。

6. 自带 BitTorrent 客户端——Transmission

它本身没啥不好的,但是在下载六维之类 IPv6 PT 的时候总会有些种子下载不到,包括 Vuze (Azureus)、Deluge、qBitTorrent 等我测试过的都有一些问题,具体问题我也懒得去检查(本来那些 PT 毛病就很多,我也不吐槽了),总之建议换用 uTorrent Server (也就是 uTorrent 的 Linux 版本)。虽然官方说是 Alpha 测试阶段,可是 uTorrent 的代码质量我觉得也没问题,本来就是拿到 Linux 上重新编译一遍而已嘛。可以从官方下载到 x86 / amd64 的可执行文件。

7. 其他可以精简的软件:

各种乱七八糟国家的字体 (ttf- / fonts- 开头,根据语言自己选择删除),
各种乱七八糟牌子的打印机驱动 (printer-driver- 开头,有一个不能删,其他不用打印机可以都删掉),
自带游戏 (除非你喜欢,否则在新立得的 “组别–游戏和娱乐” 中删掉即可),
各种显卡、输入设备驱动 (xserver-xorg-video- / xserver-xorg-input- 开头,不懂的尽量别碰),
Unity Lens (Dash 里那些智能搜索,不用的可以把这些 unity-lens- / unity-scope- 开头的还有 zeitgeist 都删掉),
empathy (不支持我大 QQ 还留着干嘛,不需要可删),
gwibber (支持新浪和搜狐,不需要可删),
thunderbird (看邮件的客户端,不需要可删),
smbclient (Samba 是跟 Windows 共享文件夹用的,不需要可删)。

8. 都清理好了之后,别忘了在新立得的 “状态 — 已安装(可自动删除)” 里把余下的库啥的都删掉。

配置Linux下的VirtualBox虚拟机使用USB设备

包括添加用户组,下载安装扩展包,配置 USB 设备等部分,可以在虚拟机内直接访问主机的 USB 设备,如打印机、摄像头、手机等。

安装 VirtualBox 的过程不再重复,这里演示使用的版本是 virtualbox-4.2 (4.2.0-80737~Ubuntu~precise)。

1. 将当前用户添加到 vboxuser 组中。只有这样的用户才有访问USB设备的权限。

sudo gpasswd -a `whoami` vboxusers

2.(可选) 到官方网站下载 Oracle VM VirtualBox Extension Pack 扩展包,提供 USB 2.0 设备的支持。如果USB设备运行在1.0下,或者运行没有问题,则可以不安装。这个包(以及虚拟机内的Guest Additions)有版权限制,仅限个人用户使用。

下载页面:https://www.virtualbox.org/wiki/Downloads 请按照 VirtualBox 的版本下载,双击即可提示安装。

3. 在虚拟机设置页面中,启用 USB 支持并添加相应的设备过滤器。(暂时没有图片,稍后补上)

点击“USB 设备”项,勾选“启用 USB 控制器”,如果安装了扩展包还可以勾选“启用 USB 2.0 (EHCI) 控制器”,然后点击右侧的加号,选择要使用的设备,确定即可。

4. 启动虚拟机,等待安装新硬件(如果有单独的驱动,也要一并安装)即可。

让NetworkManager在某个连接启动和停止时自动执行特定命令

本篇介绍如何配置 Ubuntu 中 Network Manager 的 dispatcher 脚本,使某个特定连接上线或下线时自动执行相应命令。

为什么会有这个需求呢?因为我在学校的网络里有 native IPv6,在家里就没有,需要用 gogo6 的客户端获取 6over4 的连接,而在学校的时候这样就不如本地 IPv6 速度快。

这样,因为校园网的连接是一个特定的,只需要在校园网连上的时候自动停止 gogoc 服务,断开时再自动启动即可。首先我们需要到 /etc/NetworkManager/system-connections/ 中找到校园网的连接,获取它的 uuid(形如 “27f6539a-xxxx-xxxx-xxxx-947cf89d56d6” 的一串十六进制符号)。

以下内容部分参考 NetworkManager 的 manpage。NM 版本为 0.9.4.0。将以下脚本(按提示修改配置后)放到 /etc/NetworkManager/dispatcher.d/98xiaodu 中,拥有者为 root 并使其拥有执行权限。(点击下载这段脚本

#!/bin/bash

# 要指定的连接UUID
MY_UUID="27f6539a-xxxx-xxxx-xxxx-947cf89d56d6"
# 连接上线时执行的命令
MY_UP="service gogoc stop"
# 连接离线时执行的命令
MY_DOWN="service gogoc start"

if [ "$CONNECTION_UUID" == "$MY_UUID" ]; then
  case "$2" in
    up|vpn-up)
      exec $MY_UP
    ;;
    down|vpn-down)
      exec $MY_DOWN
    ;;
  esac
fi

这样就可以在连接上线和下线时自动执行其中的命令,执行的权限是 root。更多信息请查看 man NetworkManager。

Ubuntu配置、编译、安装自定义内核笔记

在VirtualBox虚拟机下 Ubuntu 12.04 环境编译自己的 Linux 内核,版本是3.2.28。

参考资料:

  1. http://zhyu.me/linux/compile-your-own-ubuntu-kernel.html
  2. http://www.howtogeek.com/howto/ubuntu/how-to-customize-your-ubuntu-kernel/
  3. http://bodhizazen.net/Tutorials/kernel

UPDATE: (2012.10.30)
1. 由于 kernel-package 中的 make-kpkg 有各种各样的问题,而 Linux 内核自带的 make 又比较完善,所以本笔记更新为使用 make 安装而非 deb 包。取消 deb 包的坏处在于,删除内核时需要手动删除内核文件及模块。
2. 教育网用户可以在中科大的镜像下载内核源代码,地址为: http://mirrors.ustc.edu.cn/linux-kernel/v3.0/ 。
3. 本教程适合各种版本的 Linux 内核(最好是3.x版本)。

教程前提是已经安装好虚拟机,下载解压了Linux 3.2.28内核。

首先要安装依赖包,包括:build-essential、kernel-package、fakeroot和libncurses5-dev(用于menuconfig):

sudo apt-get install build-essential fakeroot libncurses5-dev

切换到内核源代码目录下,首先将Ubuntu自带的内核配置拷贝过来作为基础:

make mrproper #相当于clean
cp /boot/config-`uname -r` ./.config #复制当前系统内核
make oldconfig

然后,按照当前虚拟机的实际硬件环境,清理一些不必要的模块:

make localmodconfig

在以上两步中,会问一些关于配置的问题(缺少一些配置项之类的),建议直接按住回车使用默认值。

接下来如果有特殊需要(例如VirtualBox的VGA驱动它检测不到,或者ftrace中的一个检测器默认关闭需要打开),可以进行自己的配置:

make menuconfig

在menuconfig环境中,按y表示编译进内核,n表示不编译,m表示编译成模块,h获得帮助。如果不是很明白,建议直接使用默认配置编译,不要menuconfig。

配置完成后保存,并开始编译、安装内核,这里使用Ubuntu自己的kernel-package脚本编译,而不直接make 使用自带的 Makefile 方式进行编译和安装。

make all #编译内核及模块
sudo make modules_install
sudo make install

安装完成后重启,就会自动用新内核启动了。如果启动不了,就按住Shift返回原内核,然后:

cat /var/log/dmesg.0 | less

查看上次启动的内核错误,相应的修改配置后重新编译即可。

使用MacType美化系统字体步骤

MacType是一个能美化系统字体的工具,比Windows自带的ClearType工具渲染效果更好,可以达到类似苹果Mac OS的效果。

口说无凭,先上图为证。这是使用MacType+热替换字体的效果,系统为Win7 x64。可以看到,默认的雅黑字体和宋体都被替换了,而且有华丽的渲染效果。

MacType的前身是另一个美化软件——GDI++,关于它的介绍可以查询 WikiPedia gdi++ 词条。以下内容截取自Wikipedia:

gdi++是一个替代Windows自身核心部件GDI+进行字体渲染的开源软件。

gdi++通过向所有进程注入自己的动态链接库截取Windows GDI+(gdi32.dll)的工作,转由自己执行以进行字体渲染。

gdi++允许用户通过配置文件对字体渲染进行详细的定制,让用户可以根据自身需求得到更清晰、舒适的字体渲染效果。

以下是使用MacType进行渲染和(可选)字体替换的详细步骤。仅供参考,请注意操作前对系统进行备份。

1. 访问MacType的论坛下载最新版:极限社区MacType论坛

2. 安装MacType程序,并启动桌面上的MacType用户向导。

3. 向导第一步为“MacType加载方式”,这里建议选择“服务加载”,一方面可以方便的开关MacType(注册表方式需要重启才能切换开关),另一方面不会出现托盘图标(相对托盘加载方式)。选择完成后进入“下一步”。

4. 第二步需要选择一个“配置”,选择完成后点击“完成”,之后确定修改即可。

前面8个配置主要用来渲染系统自带的字体,CRT是普通的纯平显示器,LCD是液晶显示器,可以根据自己电脑显示的预览图,选择一个看起来最清楚或最喜欢的。

最后3个配置,需要用到第5步的字体“XHei”和“XSong”进行热替换(HotShift),如果没有安装字体会显示的非常模糊。

5. (可选) 安装XHei字体和XSong字体,用来替换系统自带字体。

(1) 首先去论坛下载这两个字体(为了获取最新版请去论坛查看和下载)。

(2) 下载后解压缩(注意是7z格式,请用7-Zip,或者WinRAR 3.93以上解压),找到你喜欢的XHei和XSong两个字体,注意请使用“XHei.TTC”和“XSong.TTC”版本,不要使用“SimSun.TTC”或者文件名较长的版本,以免加载失败。在两个字体上分别右键安装,或者拷贝到%WinDir%Fonts文件夹中,即可完成安装。

(3) 如果使用的不是XSong Sharp字体(因为还有一个XSong Harmony),或者没有使用XHei而是换用其他字体,请打开 %ProgramFiles(x86)%MacTypeiniXMac 中你想要的配置(建议备份),打开后找到 [FontSubstitutes] 和 [FontSubstitutes@Office] 这两段,将等号右侧的字体修改为你使用的对应名称即可。

(4) 在第4步的向导中,选择修改之后的后三个配置文件之一,保存后即可。

注意:并不是所有程序都可以用MacType渲染字体。例如IE9使用硬件加速,网页内容无法渲染;某些软件会与MacType加载或字体热替换冲突。具体软件请参见论坛上的“MacType渲染不正常软件名录”,并自行确定解决方法。

最后提醒一下,这篇博文绝大部分均为小杜博客原创内容,使用“Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆”协议授权。转载时,请按照协议要求署名、使用和共享。