KALF Computertechniek
Bron van informatie
Browse TopicsAsk a Question
Topic: systeem
QuestionLast Updated on 26 Feb 2016 at 11:57
keyerror: XDG_RUNTIME_DIR not set in the environment
Answer

Deze fout treedt op in combinatie met de "cannot open DISPLAY" melding en kan veroorzaakt worden door bv Bleachbit al superuser te gebruiken danwel een (internet-) upgrade van deze applicatie.
De fora staan vol met deze meldingen/klachten, maar een eenduidig antwoord krijgt men niet.

Mochten als "root" opgestarte grafische programma's niet meer werken, dan komt dat mede omdat in de laatste kernel het "sudo" commando achterhaald en "afgeschaft" (deprecated) is  en als gevolg daarvan volgen foutmeldingen als:

Invalid MIT-MAGIC-COOKIE-1 key
** (synaptic:3572): WARNING **: Could not open X display
Invalid MIT-MAGIC-COOKIE-1 keyerror: XDG_RUNTIME_DIR not set in the environment

Een viertal oplossingen zijn : 

1) Voor mij de beste oplossing:

user@host:~$ sudo su
host ~ # cat /home/usernaam/.Xauthority >.Xauthority 
host ~ # echo $DISPLAY
:0
host ~ # export DISPLAY=:0
host ~ # exit

2) Voeg toe aan "~/.bashrc"

if [ -z "$XAUTHORITY" ]; then
XAUTHORITY=$HOME/.Xauthority
export XAUTHORITY
fi

3)  Maak een "alias" voor sudo aan in .bash_aliases:

alias sudo='pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY'

Activeer de wijzigingen via:

source ~/.bashrc

nu zal bij een superuser opdracht een popup verschijnen voor het wachtwoord.
Het nadeel vindt ik dat mijn Guake terminal daardoor zijn focus verliest.

4) De niet zo elegante "hack" en ultieme noodrem: voeg toe aan .bashrc:

xhost local:root > /dev/null

schakelt voor locale gebruikers Xauth uit en het probleem is als sneeuw voor de zon verdwenen.

Een aannemelijke, maar door mij nog niet geteste, oplossing zou ook kunnen zijn:

Re: Getting X11 forwarding through ssh working after running su

Drucken