Fedora 25 (KDE) - nefungujú GUI aplikácie vyžadujúce práva superužívateľa

Zdravím. Môj problém je zrejmý z názvu otázky. Napríklad pri pokuse spustiť krusader v konzole to vyzerá takto:


[mgm64@mgm64-Extensa-5620 ~]$ kdesu krusader
No X authentication info set for display ":0"
No X authentication info set for display ":0"
No X authentication info set for display ":0"
[mgm64@mgm64-Extensa-5620 ~]$ sudo krusader
[sudo] heslo pre používateľa mgm64: 
No protocol specified
krusader: cannot connect to X server :0
[mgm64@mgm64-Extensa-5620 ~]$ su
Heslo: 
[root@mgm64-Extensa-5620 mgm64]# krusader
Invalid MIT-MAGIC-COOKIE-1 keykrusader: cannot connect to X server :0
[root@mgm64-Extensa-5620 mgm64]#

Nepomohlo ani vytvorenie nového užívateľa. Jediný spôsob, ako spúšťanie gui programov sfunkčniť je, že sa zo systému odhlásim a následne sa prihlásim priamo ako užívateľ root. Keď potom odhlásim roota a prihlásim sa znovu ako užívateľ už síce všetko funguje, ale iba do reštartovania PC.

Kolega, který pracuje na KDE, říká, že prý pomůže:


sudo rm ~/.Xauthority /root/.Xauthority

Nepomohlo to.

Skúsil som ešte doinštalovať LXDE, a problém pretrváva aj tam. Ale keď sa odhlásim s LXDE a potom prihlásim do KDE (alebo tiež naopak, ak mám najskôr spustené KDE a prepnem sa do LXDE) tak to spúšťanie pod sudo funguje. Do reštartu PC.

Nefunguje to ani v jiných prostředích a naopak ostatní Qt aplikace, co jsme zkoušeli, fungují. V tom případě to vypadá na nějakou chybu (nebo vlastnost) Krusaderu. Asi to X serveru nepředává nějaké informace, které X server v tomto případě potřebuje. Nahlásil bych to jako chybu.

Nemá náhodou Krusader možnost přepnout do roota přímo ve svém UI? Možná proto tento způsob blokuje. Obecně se pouštění celých GUI aplikací pod rootem nepovažuje za bezpečné a třeba Wayland už to ani nepodporuje.

U mňa to nefunguje pri všetkých GUI aplikáciách (QT/KDE ani GTK) spúšťaných pod sudo/su. Ten krusader som uviedol iba ako príklad. Nespustia sa ani tie, ktoré pracujú iba s oprávneniami roota ako kuser, alebo správca diskov (partitionmanager).
Ale zatiaľ som nejaké riešenie našiel. Po spustení príkazu:


[mgm64@mgm64-Extensa-5620 ~]$ xhost +local:mgm64
non-network local connections being added to access control list
[mgm64@mgm64-Extensa-5620 ~]$

to už funguje.

Hmm… to vypadá na nějak hodně přísně nastavená Xka. To by ale nemělo ve Fedoře být výchozí nastavení.

Mně se v GNOMu dělo něco podobného, stačí před spuštěním programu spustit příkaz


xhost +local:

Vydrží to do restartování počítače, tak jsem si to dal do ~/.bashrc. Nejsem si jist, co přesně to dělá, ale pomáhá to.

Už po upgrade z F23 na F24 se mi “Krusader s právy roota” nespustil, teď v F25 je to totož. Jen bílá plocha.
A spuštění z konzole taky krachne:


[root@private jin]# krusader
krusader(3939)/kdeui (kdelibs): Session bus not found 
To circumvent this problem try the following command (with Linux and bash) 
export $(dbus-launch) 
KCrash: Application 'krusader' crashing...
KCrash: Attempting to start /usr/libexec/kde4/drkonqi from kdeinit
KCrash: Connect sock_file=/root/.kde/socket-private/kdeinit4__1
Warning: connect() failed: : No such file or directory
KCrash: Attempting to start /usr/libexec/kde4/drkonqi directly
drkonqi(3940)/kdeui (kdelibs): Session bus not found 
To circumvent this problem try the following command (with Linux and bash) 
export $(dbus-launch) 
[root@private jin]#

Mas tam napsany i navod co s tim mas delat:
export $(dbus-launch)