Archive for October 2008

解决 scim-python 无法使用 shift 切换中英文状态的问题

在某些系统下,scim-python 输入法会出现无法使用 shift 键切换中英文的情况。这种问题一般是由于 scim-bridge 引起的,一个简单的解决办法就是不是用 scim-bridge。输入命令:

sudo im-switch -c

出现以下信息:

[patrick@ubuntu:~]$ sudo im-switch -c
System wide default for zh_CN locale is marked with [+].

There are 5 alternatives which provide `xinput-zh_CN'.

  Selection    Alternative
-----------------------------------------------
          1    /etc/X11/xinit/xinput.d/scim-pinyin
          2    /etc/X11/xinit/xinput.d/ibus
*         3    /etc/X11/xinit/xinput.d/scim
          4    /etc/X11/xinit/xinput.d/scim-immodule
+         5    /etc/X11/xinit/xinput.d/scim-bridge

Press enter to keep the default[*], or type selection number: 3

选择 scim 而不是 scim-bridge,回车保存,再重新登录系统即可。

升级 Ubuntu 8.10 后无法使用网络的问题

今天将系统从 Ubuntu 8.04 升级到 8.10 beta,基本上一切正常。只是本来在公司用得好好的网络链接,回到宿舍后却突然无法使用了。

使用 ifconfig 发现 eth0 没有从路由器上获得 IP 地址。在 /var/log/syslog 中看到系统不断地重复输出(3秒一次)

Oct  7 22:34:54 ubuntu NetworkManager: <info>  disconnected by the system bus.
Oct  7 22:34:57 ubuntu NetworkManager: <WARN>  nm_dbus_manager_start_service(): Could not acquire the NetworkManager service as it is already taken.

通过浏览日志发现,系统在启动的时候其实已经通过 DHCP 获得了 IP 地址,而且 Activation (eth0) Stage 的五个步骤也全部成功完成。但是随后输出一下日志

Oct  7 22:20:22 ubuntu NetworkManager: <info>  (eth0): carrier now OFF (device state 8 )
Oct  7 22:20:22 ubuntu NetworkManager: <info>  (eth0): device state change: 8 -> 2
Oct  7 22:20:22 ubuntu NetworkManager: <info>  (eth0): deactivating device.
Oct  7 22:20:22 ubuntu NetworkManager: <info>  eth0: canceled DHCP transaction, dhcp client pid 6853

不知道为什么会突然 carrier OFF。考虑到网上很多用户反映 Ubuntu 8.10 的 NetworkManager 不好用,不能排除新版本的 NetworkManager 依旧存在某些 bug。

如果需要快速恢复系统的网络链接,一个快捷的方法是编辑 /etc/network/interfaces 文件。我打开文件后发现其中内容只有 lo 的配置:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface

于是为 eth0(有线链接)和 eth1(无线链接)加上配置,如下:

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet dhcp

保存之后执行
sudo /etc/init.d/networking restart
即可恢复。但是这时 NetworkManager 不再管理网络链接,点击其图标会提示 device is unmanaged。

如果希望保留 NetworkManager 的特性,还可以编辑 /etc/NetworkManager/nm-system-settings.conf,将其中的

[ifupdown]
managed=false

修改成为

[ifupdown]
managed=true

即可。