官方的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/
原因:链接 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就没有警告信息了。