Ubuntu 9.10使用过程中一些小问题与解决方法


官方的QQ for Linux总是崩掉

描述:在Ubuntu9.10下使用QQ for Linux 1.0.2 Beta1时,总是在发几个讯息后就自动关闭。

解决:以前以为是没安装好,就使用了一段时间Webqq。昨天随便搜了下原来是GDK的问题。

在 /usr/bin/qq 文件中加入 export GDK_NATIVE_WINDOWS=true 这一行就可以了。

修改后的文件内容如下:

   #!/bin/sh

   export GDK_NATIVE_WINDOWS=true

   cd /usr/share/tencent/qq/

   ./qq

原因:链接 http://blogs.gurulabs.com/dax/2009/10/what-gdk-native.html 解释了GDK_NATIVE_WINDOWS=1的原因。主要内容如下:

GDK is the underlying graphical toolkit for creating GUI applications using GTK ...

GDK has been rewritten to use 'client-side windows' ... Some of the benefits of this change are...

Launching an app with GDK_NATIVE_WINDOWS=1 application turns off this feature. This is needed if the application manipulates the windows it creates using direct X API calls or a mixture of X API and GDK instead of just going through GDK ...

大意是GTK在底层调用了GDK,而GDK现在被重写了,有了一些改变。使用 GDK_NATIVE_WINDOWS=1 可以关闭新特性,使之前的一些程序兼容。网上还看到 eclipse 似乎也有这种GDK问题,一些按钮不好使用。解决方法也是在eclipse启动脚本里加入这句。

debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process
描述:同一时刻只有一个安装进程存在,为避免同时写入,造成冲突就会生成锁文件。若中途中断了一个安装进程,锁文件还继续被那个进程所占有,再开安装程序就会出现此错误。

解决:sudo lsof /var/cache/debconf/config.dat 或者

   sudo fuser -v /var/cahce/debconf/config.dat

   可以查看到拥有config.dat的文件的进程的pid,再用 sudo kill pid 终止此进程就可以了。

lsof和fuser都有列出打开指定文件的进程的pid功能。

fuser - identify processes using files or sockets

lsof - list open files

>NetworkManager的图标总显示小红叉
描述:网络已经连接上了,但网络图标总是小红叉。

解决:利用 sudo gedit /etc/NetworkManager/nm-system-settings.conf 打开文件后,将其中的 managed=false改为 managed=true即可。

>Ubuntu9.10安装Gvim后每次启动都有警告输出
描述:启动gvim时,都会显示几行以下警告,虽然可以运行,但看着别扭。

   CRITICAL **: gtk_form_set_static_gravity: assertion `static_gravity_supported' failed

解决:1、在 /etc/apt/sources.list 中加入

deb http://ppa.launchpad.net/jk-ozlabs/vim/ubuntu karmic main
deb-src http://ppa.launchpad.net/jk-ozlabs/vim/ubuntu karmic main

我是ubuntu9.10版本,所以是karmic

   2、然后创建一个文件,文件名任意,将以下内容复制进去

>-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: SKS 1.0.10

mI0EStwumQEEALZWmSxdQpavSde5mh2aL9CKIvf9cwsOI8Li9RRjE9uaqjcDfzBgj52BvByO
k8RsOhlueiX3mZhmA8+u261J47n5xLR9meHg2ouihonAPSq9PoMCL4kBUinqREpjpzQsuMDf
9jqFC84a/ipeagY3rL88f9mTjJMeCyBim0vvt2WbABEBAAG0HUxhdW5jaHBhZCBQUEEgZm9y
IEplcmVteSBLZXJyiLYEEwECACAFAkrcLpkCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAK
CRA0ixRvr7dns/IaBACI6aPD76r83H/TIfeSDtsYjZLUgwJUmpZfNdzfwV/pPZFzClJZBJ2U
MQYzo4qhGd+Z8x1O1+NX/DUMOjZVozUoHm0bRJjxNHzGGNzr1cP3in6pH811+EHHcm1+wl3E
CzHxL1Coy5x8pl91nb0OYarYpAKkyx9LkmR3RL4LsCt+uw==
=XMAz
-----END PGP PUBLIC KEY BLOCK-----

>   3、面板中[系统]--> [系统管理] --> [软件源] --> [身份验证] --> [导入密钥文件]就是刚才新建的那个文件。

   4、最后在命令行中运行

sudo apt-get update
sudo apt-get dist-upgrade

再启动gvim就没有警告信息了。

相关内容