我使用的是 Linux Mint 17.2 Rafaela(即 Ubuntu 14.04),QT
升级后所有基于我的应用程序都很难看(文本混乱,菜单内容消失,参见下面的屏幕截图)。
环境
$ lsb_release -a
No LSB modules are available.
Distributor ID: LinuxMint
Description: Linux Mint 17.2 Rafaela
Release: 17.2
Codename: rafaela
- 关键DE:
4.14.2
- 海豚:
4.14.2
错误
$ dolphin
Object::connect: No such signal org::freedesktop::UPower::DeviceAdded(QDBusObjectPath)
Object::connect: No such signal org::freedesktop::UPower::DeviceRemoved(QDBusObjectPath)
QNativeImage: Unable to attach to shared memory segment.
(dolphin:14220): Gdk-WARNING **: shmget failed: error 28 (No space left on device)
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id: 0x0
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id: 0x0
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id: 0x0
(dolphin:14220): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed
(dolphin:14220): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed
我有类似的问题:
smplayer
,vlc
,`digikam
- 和其他
qt
基于的应用程序
截屏
有关的
答案1
我测试了答案升级到Ubuntu 15.10 Wily并获取QNativeImage:无法附加共享内存段使用以下命令:
QT_GRAPHICSSYSTEM=native dolphin
它有效! UI 不再有错误。
永久解决方案
解决方案参考来自上述问题,编辑/etc/environment
添加:
QT_GRAPHICSSYSTEM=native
可能的值为native
、raster
和opengl
。
答案2
我在这里找到了该问题的其他解决方案:
QNativeImage:无法附加到 KDE QT 应用程序上的共享内存段
最后我可以通过禁用 MITSHM lib 来解决这个问题。
这可以通过向文件添加以下行来完成
~/.profile
。 (IE:system env var
)
QT_X11_NO_MITSHM=1