已请求 X11 转发但未设置 DISPLAY

zen*_*vil 9 x11 ubuntu nvidia-jetson

我想在连接到 Jetson Xavier nx 的 macOS 上启用 x11 转发。但是,连接后:

sudo ssh -Xvvv id@host
Run Code Online (Sandbox Code Playgroud)

连接建立成功。但在详细日志中,我得到以下信息:

debug3: send packet: type 50
debug2: we sent a password packet, wait for reply
debug3: receive packet: type 52
debug1: Authentication succeeded (password).
Authenticated to proto1 ([192.168.1.106]:22).
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug3: send packet: type 90
debug1: Requesting no-more-sessions@openssh.com
debug3: send packet: type 80
debug1: Entering interactive session.
debug1: pledge: exec
debug3: receive packet: type 80
debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
debug3: receive packet: type 91
debug2: channel_input_open_confirmation: channel 0: callback start
debug1: X11 forwarding requested but DISPLAY not set
debug2: fd 4 setting TCP_NODELAY
debug3: ssh_packet_set_tos: set IP_TOS 0x48
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
debug3: send packet: type 98
debug1: Sending environment.
debug3: Ignored env TERM
debug3: Ignored env SSH_AUTH_SOCK
debug3: Ignored env PATH
debug1: Sending env LANG = en_US.UTF-8
debug2: channel 0: request env confirm 0
debug3: send packet: type 98
debug3: Ignored env HOME
debug3: Ignored env MAIL
debug3: Ignored env LOGNAME
debug3: Ignored env USER
debug3: Ignored env SHELL
debug3: Ignored env SUDO_COMMAND
debug3: Ignored env SUDO_USER
debug3: Ignored env SUDO_UID
debug3: Ignored env SUDO_GID
debug3: Ignored env __CF_USER_TEXT_ENCODING
debug2: channel 0: request shell confirm 1
debug3: send packet: type 98
debug2: channel_input_open_confirmation: channel 0: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug3: receive packet: type 99
debug2: channel_input_status_confirm: type 99 id 0
debug2: PTY allocation request accepted on channel 0
debug2: channel 0: rcvd adjust 2097152
debug3: receive packet: type 99
debug2: channel_input_status_confirm: type 99 id 0
debug2: shell request accepted on channel 0

Run Code Online (Sandbox Code Playgroud)
X11 forwarding requested but DISPLAY not set
Run Code Online (Sandbox Code Playgroud)

为了使 X11 转发正常工作,必须在连接时设置 DISPLAY 变量。手动设置 DISPLAY,如下所示:

export DISPLAY=http://localhost:22
Run Code Online (Sandbox Code Playgroud)

也不行。如何启用X11转发?

Sas*_*hev 13

我在尝试将 X11 转发到 XQuartz 时遇到了同样的问题。我相信当你从 Mac 进行 ssh 时,如果 Mac 终端中的 DISPLAY 没有设置,那么 ssh 客户端不知道将 X11 流量转发到哪里。所以我只是做了:

DISPLAY=:0
Run Code Online (Sandbox Code Playgroud)

在 Mac 终端中,然后ssh -X就可以了。


int*_*ect 6

好吧,那里绝对不应该有http://,而且我认为您:22来自 SSH 端口,而不是您应该使用的 X11 显示号码。您在本地计算机上的 DISPLAY 几乎总是:0.0,如果您在计算机上尚未看到该信息echo $DISPLAY,则可能存在问题。

首先确保您可以在 Mac 上单独运行 X11 应用程序。您可能需要安装XQuartz

尝试在没有sudo;的情况下运行 也许 root 不允许在 Mac 上与您的 X11 通信。另外,也许可以尝试ssh -X在一个xterm窗口内(当您手动打开 XQuartz 时应该打开该窗口,或者可以从其菜单启动)以确保它选择正确的显示。