繁体   English   中英

请求 X11 转发但未设置 DISPLAY

[英]X11 forwarding requested but DISPLAY not set

我想在连接到 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情况下运行; 也许在 Mac 上不允许 root 与您的 X11 交谈。 另外,也许可以在xterm窗口中尝试ssh -X (当您手动打开 XQuartz 时应该会打开它,或者可以从它的菜单中启动)以确保它选择正确的 DISPLAY。

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

DISPLAY=:0

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM