Если ssh может установить соединение, оно установит DISPLAY
правильное значение. Поскольку вы X11DisplayOffset
установили значение 10 (значение по умолчанию), ssh будет использовать первый доступный дисплей, начиная с 10. Если вы видите значение, которое меньше 10¹, то что-то мешает нормальной переадресации X11, установленной с помощью ssh, по крайней мере, с помощью переопределение DISPLAY
. Значение :0
(или :0.0
часть после точки не имеет значения) указывает на первое отображение, которое было запущено на машине, которое в типичных случаях является активным сеансом (или графическим приглашением для входа в систему) на консоли машины.
Наиболее вероятным объяснением поведения, которое вы наблюдаете, является набор одного из ваших файлов конфигурации оболочки DISPLAY
. Наиболее очевидным виновником является ~/.bashrc
(который из-за причуды bash выполняется всякий раз, когда родитель bash является rshd
или sshd
, даже если оболочка не является интерактивной). Еще один файл, который определяет переменные среды /etc/environment
. Если это так, решение очевидно: не устанавливайте DISPLAY
там. (Есть очень мало случаев, когда вам нужно установить DISPLAY
вручную.)
Есть и другие экзотические объяснения. Это может произойти, если вы изменили свою оболочку входа в систему screen
(симпатичная идея в теории, но не практичная), и у вас есть файл инициализации оболочки, который принудительно устанавливается DISPLAY
внутри экрана (не очень хорошая идея). Это также может произойти, если вы настроили сервер на прием переменных среды, отправленных клиентом ( AcceptEnv
директива in sshd_config
), клиент отправляет DISPLAY
, и X-соединение не может быть установлено. Или это может произойти, если вы установите переменную окружения на сервере с помощью command
директивы in ~/.ssh/authorized_keys
. Или xterm
может быть сценарий.
¹ Или какое-либо значение X11DisplayOffset
в конфигурации сервера, но вряд ли когда-либо изменилось по умолчанию.
xterm
в текущем терминале до SSH-IN?