It has been reported that by launching an X client (e.g. xterm, xclock, gaim) in a rootless session from an NX Client installed on a 32bit architecture to an NX server installed on a 64bit architecture, the local X server prints the following error in the .xsession-errors file:
*warning: internal X error: BadDrawable (invalid Pixmap or Window parameter) *
Request code: 14 X_GetGeometry *
Request minor code: 0 *
Resource ID: 0x0 *
Error serial: 3258612 *
when I launch yast in a Nomachine NX session, yast opens but there are no icons, just an empty form, this happens too when I try to edit the smb.conf file with the sact tool, it opens kwrite with root permission, kwrite opens but there are no icons or content just an empty form, but if I open a root session, there is no problem, yast works just fine, It has nothing to do with the libcairo2 problem, I think it is a permissions problem
if I run yast with a command I get this output
X Error: BadAccess (attempt to access private resource denied) 10
extension: 129 (MIT-SHM)
Minor opcode:: 1 (X_ShmAttach)
resource id: 0x57
X Error: badShmSeg (invalid shared segment parameter) 128
Extension: 129 (MIT-SHM)
Minor opcode: 5 (X_ShmCreatePixmap)
resource id: 0x3800018
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_copyArea)
resource id: 0x3800011
It seems to be a bug in libqt4…
I think it is caused by the following change:
Thu Feb 21 09:56:04 UTC 2013 - mvyskocil@suse.com
- fix bnc#802634: information disclosure via QSharedMemory (CVE-2013-0254)
* libqt4-CVE-2013-0254.patch
Hi, i know this is an old topic but im on openSUSE 13.2 and im a newbie to all this. How do I go about changing the non bugged version of libqt4-x11 so I can start yast using nomachine? Adding a 12.3 repository to 13.2 just strikes me as a bad idea, wont it downgrade all the other packages as well or…? My understanding of repositories/package management is pretty limited.
This would probably break your system, yes.
And YaST doesn’t use libqt4 at all in 13.2, it has been proted to Qt5 already, so installing a different libqt4-x11 won’t help in the slightest.
I have no idea whether Qt5 has the same problem, maybe you see a completely different issue?
Setting the environment variable QT_X11_NO_MITSHM=1 should workaround this issue as well, but I’m not sure whether this is still supported by Qt5.
But try to run YaST like this:
kdesu QT_X11_NO_MITSHM=1 /sbin/yast2
Does this help?
If not, please run “su -” in a terminal window, run “yast2” and post the output. This should at least tell whether your problem is the same as discussed in this thread.
Thanks for the reply, I tried the first suggestion (just type “kdesu QT_X11_NO_MITSHM=1 /sbin/yast2” into the terminal right?) a window popped up asking for root privileges but after that yast still didnt show up unfortunately.
This is the output from the terminal window when running “yast2” as su.
max@maxserver:~> su -
Password:
maxserver:~ # yast2
/sbin/yast2: line 440: 15042 Segmentation fault $y2ccbin $Y2UI_ARGS "$@"
maxserver:~ #
Yes. But as I said, I don’t know whether that variable has any effect with Qt5.
This is the output from the terminal window when running “yast2” as su.
max@maxserver:~> su -
Password:
maxserver:~ # yast2
/sbin/yast2: line 440: 15042 Segmentation fault $y2ccbin $Y2UI_ARGS "$@"
maxserver:~ #
This indicates that you have a completely different problem, not at all related to MITSHM as discussed in this thread.
Please post the last lines of /var/log/YaST2/y2log, and you should probably better open a new thread about your problem.
It does sound like this though: https://bugzilla.opensuse.org/show_bug.cgi?id=903557
Hm, I only see ncurses mentioned in there. The ncurses version doesn’t use Qt at all.
And I don’t even see any problem in there.
Did it work now or does not even the text mode version start?
Try to run “kdesu /sbin/yast2 --qt” or just “/sbin/yast2 --qt” after “su -”, and then post the last lines of the log again.
The second command didnt work, it didnt like “–qt” for some reason.
max@maxserver:~> kdesu /sbin/yast2 --qt
max@maxserver:~> su - /sbin/yast2 --qt
su: unrecognized option '--qt'
Usage:
su [options] -] <user> <argument>...]]
Change the effective user ID and group ID to that of <user>.
A mere - implies -l. If <user> is not given, root is assumed.
Options:
-m, -p, --preserve-environment do not reset environment variables
-g, --group <group> specify the primary group
-G, --supp-group <group> specify a supplemental group
-, -l, --login make the shell a login shell
-c, --command <command> pass a single command to the shell with -c
--session-command <command> pass a single command to the shell with -c
and do not create a new session
-f, --fast pass -f to the shell (for csh or tcsh)
-s, --shell <shell> run <shell> if /etc/shells allows it
-h, --help display this help and exit
-V, --version output version information and exit
For more details see su(1).
max@maxserver:~>
Strangely enough there are no new entries in the log at all:
Hm. Then yast apparently does not even try to start…
Try the second command again to see whether this produces something in the log. If not, then YaST seems to crash before it even opens the log, which I would find extremely strange.
Just to be sure, please also post your repo list and the installed YaST UI packages:
I closed the log when I ran the command just in case that would affect it being changed. Dunno if I mentioned but yast does work as long as its not done via nomachine, if I plug in a screen and open it that way its fine.