Starting GUI programs as root usually is not a problem. In worst case, sudo
inside a terminal should do the trick.
However, recently I had to start a QT application as sudo from within GNOME. It was the yubikey configuration GUI, a third party tool thus not part of any desktop environment. Executing the app failed, it only showed a gray window and multiple errors in the command line:
$ sudo /usr/bin/yubikey-personalization-gui X Error: BadAccess (attempt to access private resource denied) 10 Extension: 130 (MIT-SHM) Minor opcode: 1 (X_ShmAttach) Resource id: 0x142 X Error: BadShmSeg (invalid shared segment parameter) 128 Extension: 130 (MIT-SHM) Minor opcode: 5 (X_ShmCreatePixmap) Resource id: 0xfa X Error: BadDrawable (invalid Pixmap or Window parameter) 9 Major opcode: 62 (X_CopyArea) Resource id: 0x2800015
Workarounds like pkexec
and adding a policykit rule didn’t help, either. The error indicates that there is a problem with the MIT Shared Memory Extension of X.
A good workaround is to deactivate the usage of the extension on command line:
$ sudo QT_X11_NO_MITSHM=1 /usr/bin/yubikey-personalization-gui
It works like a charm.
Use kdesudo or gksu
Both are not provided in Fedora.
Sounds more like a feature to me. YOU DO NOT RUN GRAPHICAL APPLICATIONS AS ROOT.
Why not? gui kdesudo is no more harmful than cli sudo. And:
mati@scout:~$ ps uax | grep X
root 1298 1.4 0.4 271060 65432 tty7 Ss+ 18:00 3:41 /usr/bin/X :0 vt7 -br -nolisten tcp -auth /var/run/xauth/A:0-NWy0Mb
At the en X runs as root.
You are of course right! =)
Having said that, I would love to see an improved version of the yubikey GUI which actually takes that into account. But up until then, it seems to need the root rights.