LinuxQQ自动崩溃退出的解决

在QQ网站下载linux的安装包后(linuxqq_v1.0.2-beta1_i386.deb),安装使用,发现QQ经常崩溃。
解决方法如下:
sudo gedit /usr/bin/qq
在第二行加入: export GDK_NATIVE_WINDOWS=true

即全文修改为:

#! /bin/sh
export GDK_NATIVE_WINDOWS=true
cd /usr/share/tencent/qq/
./qq

保存后退出,重启QQ
在网上搜了一下GDK_NATIVE_WINDOWS=true参数到作用,但是没看太明白。。。
原文地址:http://blogs.gurulabs.com/dax/2009/10/what-gdk-native.html
GDK has been rewritten to use 'client-side windows'. This means that GDK maintains its own window hierarchy and only uses X windows where it is necessary or explicitly requested. Some of the benefits of this change are
  • Reduced flicker
  • The ability to do transformed and animated rendering of widgets
  • Easier embedding of GTK+ widgets, e.g. into Clutter scene graphs

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. When using "client-side windows" all window manipulation by an application must go through GDK. Adobe needs to update Acroread to be compatible with this feature.


原因:GTK是一个API库,以前应该是基于X api的,现在GTK重写了, 更好用,结构没有变,只保留了一部分必要的X函数。很多应用程序用到了X的api,直接的或者间接的,但是由于GTK不再完全依赖于X api, 而这些应用又都是基于GTK的,所以当应用程序使用X的函数时会出现问题。
    一切问题都是由于 GTK的重写引起的。所以老的版本不会有这样的问题。GTK为了解决兼容的问题,增加了一个选项GDK_NATIVE_WINDOWS=1,这样就可以使 用原始的GTK环境了。

你可能感兴趣的:(LinuxQQ自动崩溃退出的解决)