I have my system set up so I log into my GUI environment as a regular user, and from a Konsole, if I su - to root, and run GUI commands, the windows appear on my regular user's desktop. I may not have set this up right, but I'm pretty sure I did. Whenever I run a GUI application as root, though, some messages appear on the command line. Among them are: QPixmap: Cannot create a QPixmap when no GUI is being used QPixmap: Cannot create a QPixmap when no GUI is being used QPixmap: Cannot create a QPixmap when no GUI is being used QPixmap: Cannot create a QPixmap when no GUI is being used I reported the bug to KDE and they suggested that it's up to the distribution to filter out these unnecessary messages from QT (see the URL I provided). Reproducible: Always Steps to Reproduce: 1.Log into KDE as a regular user 2.Set up /etc/profile so $PATH gets all the paths to GUI applications 3.Start Konsole 4.Enter "su -" 5.Run a GUI application (say, another Konsole) Actual Results: The unwanted messages appear Expected Results: Nothing appears root>emerge info Portage 2.0.51-r2 (!/default-x86-2004.0, gcc-3.3.4, glibc-2.3.3.20040420-r1, 2.6.8-gentoo i686) ================================================================= System uname: 2.6.8-gentoo i686 AMD Athlon(tm) XP 2500+ Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.14.90.0.8-r1 Headers: sys-kernel/linux-headers-2.4.21-r1 Libtools: sys-devel/libtool-1.5.2-r5 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache distlocks sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://adelie.polymtl.ca/ http://mirror.clarkson.edu/pub/distributions/gentoo/ ftp://ftp.ussg.iu.edu/pub/linux/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow X alsa apm arts avi berkdb cdr crypt cups dvd encode foomaticdb gdbm gif gpm gtk2 imlib java jpeg kde libg++ libwww mad mikmod mmx motif mozilla mpeg mysql ncurses nls oggvorbis opengl pam pdflib perl png ppds python qt quicktime readline scanner sdl slang spell ssl svga tcpd truetype usb x86 xml2 xmms xprint xv zlib"
What's the fix?
The reason for these ones: QPixmap: Cannot create a QPixmap when no GUI is being used is in /usr/kde/3.3/include/kapplication.h: private: ... QPixmap aIconPixmap; // BIC (KDE 4) make a pointer, to avoid creating if noGUI QPixmap aMiniIconPixmap; // BIC (KDE 4) make a pointer, to avoid creating if noGUI ... They will go away eventually (in KDE 4), so I don't think it is worth adding a patch or passing an extra define in qt ebuild. (BTW: this not related to being root: try running 'kbuildsycoca' in a console) The kde bug report also mention the "Mutex destroy failure" errors, these are related to being root and should be addressed by kde developers. The error indicates some problem with the usage of the QMutex class (but I'm no expert...) anyway, that warning could be disabled passing a define to the qt ebuild, too.
> (BTW: this not related to being root: try running 'kbuildsycoca' in a console) What does kbuildsycoca do? I couldn't seem to find that anywhere. I assume you meant to run it as root? I tried doing that and it didn't help matters. In fact that program itself produced lots of the same kinds of warnings.
kbuildsycoca was an example of a program showing the warning even if you're not root. I didn't provide a solution ;)
OK, you're right. Though when I'm not root it's only there twice instead of 4 times.
For the record, one can add "-DQT_NO_CHECK" to his CFLAGS to suppress those warnings, but I don't think it's worth doing it in the ebuild for everyone...