微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决已请求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 并且它起作用了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。