clamtk Gtk-ОПОВЕЩЕНИЕ **: не удается открыть дисплей

Вопрос или проблема

Я сейчас пытаюсь запустить clamtk по ssh-соединению. Из прочитанного я понял, что нужно включить Xforwarding, поэтому я попробовал следующее.

  1. На Mac я скачал XQuartz. Там я подключился к своему серверу, выполнив ssh -Y user@server. Я смог войти. В командной строке я запустил:

    clamtk

И я получил эту ошибку:

Gtk-WARNING **: cannot open display:  at /usr/lib64/perl5/vendor_perl/Gtk2.pm line 168.

Я также попробовал:
ssh -X user@server из XQuartz. Я получил ту же ошибку.

ИЗМЕНЕНИЕ: Я перешел по ссылке в комментариях и попробовал это из того ответа:
1. Перешел в /etc/ssh/sshd_config и установил X11Forwarding yes
2. Установил export DISPLAY="127.0.0.1:10.0"
Ни один из этих вариантов не сработал для меня.

Я почти уверен, что это означает, что программа имеет графический интерфейс (такие как skype или wireshark), и она не может отображаться в терминале.

Ответ или решение

Сообщение об ошибке Gtk-WARNING **: cannot open display, которое вы получаете при попытке запустить ClamTK через SSH, указывает на то, что приложение не может получить доступ к дисплею X-сервера для отображения своего графического интерфейса. Проблема может возникать по нескольким причинам, и ниже приведены пошаговые рекомендации по устранению этой ошибки.

1. Убедитесь, что XQuartz установлен и запущен

Перед подключением к серверу убедитесь, что вы установили XQuartz на ваш Mac и активно запущен XQuartz. Убедитесь, что вы открываете новый терминал через XQuartz.

2. Подключение к серверу с X Forwarding

При подключении к серверу, используйте ключи -Y или -X для включения X Forwarding:

ssh -Y user@server

или

ssh -X user@server

Если используете -Y, это обеспечивает более широкие возможности, чем -X, и может помочь в некоторых случаях.

3. Проверка конфигурации SSH на сервере

Убедитесь, что на сервере в файле конфигурации SSH (/etc/ssh/sshd_config) включены следующие строки:

X11Forwarding yes
X11DisplayOffset 10

После внесения изменений необходимо перезапустить демона SSH на сервере:

sudo systemctl restart sshd

4. Установка переменной DISPLAY

При успешном подключении к серверу убедитесь, что переменная окружения DISPLAY настроена правильно. Обычно это делает SSH автоматически, но для проверки выполните:

echo $DISPLAY

Если она не задана, вы можете установить ее вручную, как например:

export DISPLAY=localhost:0

или

export DISPLAY=127.0.0.1:10.0

5. Проверка работы X-сервера

Для проверки, функционирует ли ваш X-сервер, можно выполнить простую команду:

xterm

Если окно xterm открывается, это означает, что X-сервер работает правильно.

6. Устранение возможных проблем

  • Firewall и безопасность: Убедитесь, что firewall на сервере не блокирует соединение. Иногда настройка безопасности может предотвратить передачу данных.
  • Authentication cookies: Если вы все еще сталкиваетесь с проблемами, попробуйте обновить cookies для аутентификации X:
xauth list

Проверьте, есть ли записи, соответствующие вашему хосту и дисплею, и если нет, добавьте их.

Заключение

Следуя перечисленным рекомендациям, вы сможете устранить ошибку Gtk-WARNING **: cannot open display при попытке запустить ClamTK через SSH. Если проблема не разрешена, возможно, стоит проверить логи SSH или конфигурации X-сервера для дальнейшей диагностики. Помните, что успешная настройка терминалов с графическим интерфейсом требует четкого следования указанным шагам и учёта различных параметров как на клиенте, так и на сервере.

Оцените материал
Добавить комментарий

Капча загружается...