Как мы можем открыть Gtk и другие приложения графического интерфейса через командную строку с Wayland?
Когда я пытаюсь открыть базовый скрипт PyGTK или Gedit, я получаю эту ошибку:
chris@fluffie:~/workspace/wiki-web$ gedit
No protocol specified
Unable to init server: Could not connect: Connection refused
(gedit:13376): Gtk-WARNING **: cannot open display:
Настройка $DISPLAY
просто немного изменяет ошибку.
Большинство решений , которые я нашел для этого, вращаются вокруг попытки запуска этих приложений от имени пользователя root и хотят, чтобы вы запускали xhost:
chris@fluffie:~/workspace/wiki-web$ xhost si:localuser:root
xhost: unable to open display ""
Что, похоже, не помогает (так как я думаете, что предполагается изменять только права доступа?)
Есть идеи, как запустить мои скрипты на python?
Добавление хвоста моего .bashrc с обновлениями, которые я сделал для него:
# Make CapsLock behave like Ctrl
setxkbmap -option ctrl:nocaps
# make press-release CapsLock behave like Escape
xcape -e 'Control_L=Escape' -t 500
alias nose2="python3 /home/chris/.local/lib/python3.5/site-packages/nose2/__main__.py"
export PATH=$PATH:/home/chris/bin
export USER="chris"
#export DISPLAY=":0"
#export DEPTH="16"
#export GEOMETRY="1280x1024"
#export OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY} -localhost"
export EDITOR="vim"
export SYSTEMD_EDITOR="/usr/bin/vim"
export TERM="tmux"
Редактировать:
Похоже, это проблема с tmux. Я могу открыть gedit или мой скрипт на dinky python через терминал, если он находится за пределами tmux. Поэтому мне просто нужно выяснить, как исправить tmux (или почему это невозможно сделать).
Вы дважды правы - это проблема tmux, и большинство решений просто говорят, что нужно запускать с правами root, что чаще всего является неправильным ответом.
Tmux не импортирует все автоматически в свою сессию. Вы можете указать конкретные переменные, которые вы хотите быть доступными в сеансе, используя update-environment
в вашем ~/.tmux.conf
:
set -g update-environment 'DISPLAY TERM XAUTHORITY WINDOWID'
Для связанных с SSH проблем xhost, включите SSH_ASKPASS SSH_AGENT_PID SSH_CONNECTION
в этот список.