Я очень смущен полем X11DisplayOffset
в sshd_config
Смещение, среднее сдвиг положения от корректного как lubuntu - Дисплей, смещается. Посмотрите, что изображение - Спрашивает Ubuntu
Однако, когда делают ssh -X user@host
открыть 'Firefox' на удаленном рабочем столе,
Браузер отображается правильно без смещения.
Что делает X11DisplayOffset
?
X11DisplayOffset
не относится к смещению в геометрии дисплея - это касается идентификации, которой отображаются, клиенты, запущенные по соединению SSH, должны использовать для не вмешательства в локальные дисплеи. От man sshd_config
:
X11DisplayOffset
Specifies the first display number available for sshd(8)'s X11
forwarding. This prevents sshd from interfering with real X11
servers. The default is 10.
Архитектура X-окон позволяет, чтобы X-сервер управлял несколькими дисплеями. Обычно на автономной рабочей станции с единственным локальным пользователем, только необходимо иметь дело с единственным дисплеем - обычно нумеровал 0 и часто называемый как :0
, например, в присвоениях переменной среды как DISPLAY=:0
. Но на серверах, которые могут выполнять несколько X сессий (пользовательская дистанционная работа на пути VNC, например, или разделяют X сессий на различных виртуальных терминалах) может быть несколько дисплеев, маркированных :1
, :2
, и так далее.
То, когда передача X11 по SSH добавляется к соединению, которое добавляет требование для дополнительных уникальных чисел дисплея (так, чтобы X-клиенты туннелировали по соединению SSH, направлено к корректному удаленному серверу дисплея). Для предотвращения конфликтов с локальными дисплеями смещение добавляется к нумерации дисплея так, чтобы удаленные дисплеи были пронумерованы :10
, :11
, :12
, ...
Директива X11DisplayOffset
связан с $DISPLAY
переменная среды. От man sshd_config
:
X11DisplayOffset
Specifies the first display number available for sshd(8)'s X11 forwarding.
This prevents sshd from interfering with real X11 servers. The default is 10.
Так, с настройками по умолчанию, когда Вы используете -X
опция в Вашем ssh управляет к $DISPLAY
envvar присвоят значение следующим образом (примечание без -X
или -Y
переменная будет сброшена):
$ echo $DISPLAY
localhost:10.0
где:
localhost
(hostname
) название компьютера, куда X-сервер работает. Опущенное имя хоста означает localhost.
10
(D
) порядковый номер. Это может варьироваться, если существует несколько дисплеев, подключенных к одному компьютеру.
0
(S
) экранное число. Дисплей может на самом деле иметь несколько экранов.