我想在连接到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转发?
3条答案
按热度按时间zrfyljdw1#
我在尝试将X11转发到XQuartz时遇到了同样的问题。我相信当你从Mac上使用ssh时,如果Mac终端中的DISPLAY没有设置,那么ssh客户端就不知道将X11流量转发到哪里。所以我就这么做了:
字符串
在Mac终端,然后
ssh -X
,它工作了。wlzqhblo2#
这里绝对不应该有
http://
,我认为你的:22
来自SSH端口,不是你应该使用的X11显示号。本地机器上的DISPLAY几乎总是:0.0
,如果您在机器上使用echo $DISPLAY
时没有看到它,则可能是那里出了问题。首先确保您可以单独在Mac上运行X11应用程序。您可能需要安装XQuartz。
尝试在没有
sudo
的情况下运行;也许root是不允许在Mac上与你的X11对话的。此外,也许可以从xterm
窗口(当您手动打开XQuartz时,该窗口应该会打开,或者可以从其菜单中启动)中尝试ssh -X
,以确保它选择正确的DISPLAY。2vuwiymt3#
我之前也遇到过同样的问题。原来我没有在Mac上安装X11转发包。所以请确保你安装了brew的XQuartz:
字符串
(请注意,当Mac上未安装xquartz时,错误消息可能与您的错误消息类似,因此请先检查您的本地计算机。
然后确保您有
export DISPLAY=:0
,或者您可以通过echo $DISPLAY
检查$DISPLAY
。之后,通过使用verbosessh -v -X user@host
,您应该会发现如下调试消息:型
这对我很有效。虽然
eog
命令稍后显示速度较慢。