Ubuntu

如何解決 Qt 應用程序的圖形問題?(dolphin:14635): Gdk-WARNING **: shmget failed: error 28 (No space left on device)

  • July 17, 2019

我在 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
  • 在哪裡: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基於應用程序

截屏

海豚qt視覺錯誤

有關的

我測試了從Upgraded to Ubuntu 15.10 Wily 得到的答案並得到 QNativeImage: Unable to attach shared memory segment with the following command:

QT_GRAPHICSSYSTEM=native dolphin

它有效!使用者界面不再有錯誤。

永久解決方案

參考上述問題的解決方案,編輯/etc/environment添加:

QT_GRAPHICSSYSTEM=native

可能的值為native和。raster``opengl

我在這裡找到了這個問題的另一個解決方案:

QNativeImage:無法附加到 KDE QT 應用程序上的共享記憶體段

最後我可以通過禁用 MITSHM lib 來解決這個問題。

這可以通過在~/.profile文件中添加以下行來完成。(即system env var:)

QT_X11_NO_MITSHM=1

引用自:https://unix.stackexchange.com/questions/244087