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

slmsl1lt  于 2023-08-03  发布在  其他
关注(0)|答案(3)|浏览(307)

我想在连接到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转发?

zrfyljdw

zrfyljdw1#

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

DISPLAY=:0

字符串
在Mac终端,然后ssh -X,它工作了。

wlzqhblo

wlzqhblo2#

这里绝对不应该有http://,我认为你的:22来自SSH端口,不是你应该使用的X11显示号。本地机器上的DISPLAY几乎总是:0.0,如果您在机器上使用echo $DISPLAY时没有看到它,则可能是那里出了问题。
首先确保您可以单独在Mac上运行X11应用程序。您可能需要安装XQuartz
尝试在没有sudo的情况下运行;也许root是不允许在Mac上与你的X11对话的。此外,也许可以从xterm窗口(当您手动打开XQuartz时,该窗口应该会打开,或者可以从其菜单中启动)中尝试ssh -X,以确保它选择正确的DISPLAY。

2vuwiymt

2vuwiymt3#

我之前也遇到过同样的问题。原来我没有在Mac上安装X11转发包。所以请确保你安装了brew的XQuartz:

brew install xquartz --cask

字符串
(请注意,当Mac上未安装xquartz时,错误消息可能与您的错误消息类似,因此请先检查您的本地计算机。
然后确保您有export DISPLAY=:0,或者您可以通过echo $DISPLAY检查$DISPLAY。之后,通过使用verbose ssh -v -X user@host,您应该会发现如下调试消息:

debug1: Requesting X11 forwarding with authentication spoofing.


这对我很有效。虽然eog命令稍后显示速度较慢。

相关问题