Не удается запустить программы с графическим интерфейсом из командной строки из-за неправильной переменной DISPLAY
Я использую Ubuntu 18.10 и не могу запускать программы с графическим интерфейсом через командную строку. Это относится к subl
(для возвышенного текста) и Firefox. При попытке запустить Firefox через CLI; это печатает: Invalid MIT-MAGIC-COOKIE-1 key
,
Моя среда показывает:
➜ echo $DISPLAY
:0.0
И у меня есть файл с этим cookie:
➜ echo $XAUTHORITY
/run/user/1000/gdm/Xauthority
➜ cat /run/user/1000/gdm/Xauthority
voltaireMIT-MAGIC-COOKIE-1OZ��8�ص������v�voltaireMIT-MAGIC-COOKIE-1OZ��8�ص������v%
Также:
➜ xauth list
voltaire/unix: MIT-MAGIC-COOKIE-1 4f5abfd438eb88d8b586f0fbad8aee76
#ffff#766f6c7461697265#: MIT-MAGIC-COOKIE-1 4f5abfd438eb88d8b586f0fbad8aee76
Похоже, что запущены два процесса Xorg:
➜ ps aux | grep xorg
root 1400 0.0 0.1 213748 48068 tty1 Sl+ 09:29 0:00 /usr/lib/xorg/Xorg vt1 -displayfd 3 -auth /run/user/121/gdm/Xauthority -background none -noreset -keeptty -verbose 7 -core
root 4701 1.9 0.5 658612 195732 tty2 Sl+ 09:30 1:50 /usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 7 -core
Ранее я установил lightdm для решения проблемы с входом в систему, и в моей системе установлены текущие графические драйверы NVIDIA. Я думаю, это очень связано?
Когда я бегу:
DISPLAY=:1 subl
оно работает!
Что я мог сделать, чтобы это исправить?
Обновить
я удалил ~/.Xauthority
и перезагрузился, но проблема все еще остается.
1 ответ
Проблема заключалась в том, что DISPLAY
был неправильно установлен на :0.0
с помощью файла конфигурации оболочки. После того как я удалил это, запуск программ из оболочки снова стал возможен.
Вы можете использовать эту команду для поиска по всем файлам конфигурации оболочки по умолчанию:
grep "DISPLAY" ~/.bashrc ~/.profile ~/.bash_profile ~/bash.login \
~/.bash_aliases /etc/bash.bashrc /etc/profile \
/etc/profile.d/* /etc/environment 2> /dev/null
На самом деле существует два процесса Xorg, что является ожидаемым поведением, поэтому это не должно быть проблемой само по себе.
Так же .Xauthority
файл не кажется необходимым.