已请求X11转发,但未设置DISPLAY

问题描述

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

sudo ssh -Xvvv id@host

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

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

X11 forwarding requested but DISPLAY not set

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

export DISPLAY=http://localhost:22

也不起作用。如何启用X11转发?

解决方法

那里肯定不应该有http://,而且我认为您的:22来自SSH端口,而不是您应该使用的X11显示编号。在本地计算机上的DISPLAY几乎总是:0.0,如果您在计算机上echo $DISPLAY时还没有看到,那可能是错误的地方。

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

尝试在没有sudo的情况下运行;也许root不允许与Mac上的X11对话。另外,也许尝试从ssh -X窗口(应该在您手动打开XQuartz时打开,或者可以从其菜单启动该窗口)中打开xterm,以确保其拾取正确的DISPLAY。

,

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

DISPLAY=:0

在 Mac 终端中,然后 ssh -X 并且它起作用了。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...