Подтвердить что ты не робот

Настройка X11 Пересылка по ssh

Я пытаюсь настроить пересылку x11 для мониторинга видео на встроенной платформе робототехники, но я не могу заставить панель генерировать графический вывод. Я запускаю Arch Linux на Beagleboard xM, подключенном напрямую через Ethernet (хотя я планирую использовать WiFi в будущем). Когда я пытаюсь установить переменную DISPLAY, она примет ее, но когда я пытаюсь запустить приложение x11, он говорит:

(Object:287): Gtk-WARNING **: cannot open display: [displaynamehere]

очевидно, [displaynamehere] был тем, что я пытался установить в качестве дисплея, но не отображалось место отображения. Что странно в том, что всякий раз, когда я подключаюсь через ssh -X, он не дает мне никаких ошибок и не сохраняет мою переменную DISPLAY.

(EDIT) Я также проверил журнал отладки и получил этот вывод:

debug2: load_server_config: filename /etc/ssh/sshd_config
debug2: load_server_config: done config len = 315
debug2: parse_server_config: config /etc/ssh/sshd_config len 315
debug3: /etc/ssh/sshd_config:53 setting AuthorizedKeysFile .ssh/authorized_keys
debug3: /etc/ssh/sshd_config:75 setting ChallengeResponseAuthentication no
debug3: /etc/ssh/sshd_config:96 setting UsePAM yes
debug3: /etc/ssh/sshd_config:101 setting X11Forwarding yes
debug3: /etc/ssh/sshd_config:104 setting PrintMotd no 
debug3: /etc/ssh/sshd_config:108 setting UsePrivilegeSeparation sandbox     
debug3: /etc/ssh/sshd_config:124 setting Subsystem sftp /usr/lib/ssh/sftp-server
debug1: sshd version OpenSSH_6.3, OpenSSL 1.0.1e 11 Feb 2013
debug3: Incorrect RSA1 identifier
debug1: read PEM private key done: type RSA
debug3: Incorrect RSA1 identifier
debug3: Could not load "/etc/ssh/ssh_host_rsa_key" as a RSA1 public key
debug1: private host key: #0 type 1 RSA
debug3: Incorrect RSA1 identifier
debug1: read PEM private key done: type DSA
debug3: Incorrect RSA1 identifier
debug3: Could not load "/etc/ssh/ssh_host_dsa_key" as a RSA1 public key
debug1: private host key: #1 type 2 DSA
debug3: Incorrect RSA1 identifier
debug1: read PEM private key done: type ECDSA
debug3: Incorrect RSA1 identifier
debug3: Could not load "/etc/ssh/ssh_host_ecdsa_key" as a RSA1 public key
debug1: private host key: #2 type 3 ECDSA
debug1: rexec_argv[0]='/usr/bin/sshd'
debug1: rexec_argv[1]='-ddd'
debug3: oom_adjust_setup
Set /proc/self/oom_score_adj from 0 to -1000
debug2: fd 3 setting O_NONBLOCK
debug1: Bind to port 22 on 0.0.0.0.
Bind to port 22 on 0.0.0.0 failed: Address already in use.
debug2: fd 3 setting O_NONBLOCK
debug3: sock_set_v6only: set socket 3 IPV6_V6ONLY
debug1: Bind to port 22 on ::.
Server listening on :: port 22.

Любые предложения были бы очень благодарны, я пробовал на этом с google почти неделю безрезультатно.

Спасибо большое!

4b9b3361

Ответ 1

На сервере

Изменить /etc/ssh/sshd_config:

AllowAgentForwarding yes
AllowTcpForwarding yes
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost no

Перезапустите демон sshd:

sudo service sshd restart
# or
sudo /etc/init.d/ssh restart
# or whatever way of restarting your box services works on your distro...

yum -y update xauth
apt-get -y update xauth
yum -y install xauth
apt-get -y install xauth

Теперь выйдите из сервера:

exit

На клиенте

Установите переменную среды DISPLAY локально:

export DISPLAY=:0.0

и запустите доверенное SSH-соединение с сервером:

ssh -Y [email protected]$ssh_server

Подтвердите успех с помощью графического приложения. При необходимости установите приложение, поддерживающее пересылку X11. Как пример:

yum -y install xclock

и действие:

for i in {1..3} ; do bash -c "xclock &" ; done ;

Ответ 2

ssh должен автоматически установить DISPLAY. обычные подозреваемые: отсутствует "X11Forwarding yes" в /etc/ssh/sshd _config

Для отладки вы можете запускать подробный режим на клиенте и сервере, и вы можете заметить что-то: попробуйте "сервер" (режим отладки, без демона)

$ /usr/sbin/sshd -d -p 222

на "клиенте":

$ ssh -v -Y [email protected] -p 222

Время от времени я встречаю странную вещь, например "missing xauth"...

Ответ 3

Всякий раз, когда у меня была эта проблема, почти всегда было два варианта: я думаю, вы должны установить их ниже, прежде чем вносить какие-либо изменения в вашу конфигурацию, например, установить DISPLAY и т.д.

X11Forwarding yes
X11UseLocalhost no