ssh -Y(可信 X11 转发)和ssh -X(不可信 X11 转发)有什么区别?据我了解,它与安全性有关,但我没有掌握区别以及何时使用哪个。
我可以访问一个集群,并想使用最简单的示例通过 X11 转发 ssh 进入它,看看它是否有效。目前,我只需登录集群:
$ ssh -Y user@cluster
Run Code Online (Sandbox Code Playgroud)
我知道集群中唯一有一些显示(如 gui)的程序是matlab,所以我只运行它:
$ matlab
Run Code Online (Sandbox Code Playgroud)
过去是有效的,但我想知道最简单的命令来在我的屏幕上显示一些东西,看看它是否有效。目前,运行会matlab打开命令界面,但不会显示错误或其他任何内容。
有人知道什么是替代命令来查看是否有任何工作吗?一个与 Ubuntu 一起继承并且不需要我安装 X11 以外的任何东西的命令就是这个想法。就像是:
$ display_a_box_with_text HELLOWORLD
Run Code Online (Sandbox Code Playgroud)
我不确定是否只是我,但检查 X11 是否正常工作的唯一方法是运行 MATLAB,这似乎很荒谬。必须有更好的方法来检查这一点。
ssh与 X11 转发一起使用时,我在运行 gui 应用程序时收到各种错误和警告。
例如,每当我运行gitg 时,都会收到以下警告:
** (gitg:15904): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-ychCoQcrqT: Connection refused
Run Code Online (Sandbox Code Playgroud)
除了丑陋之外,这是否表明任何真正的错误?
我在运行evince 时收到相同的警告:
** (evince:16634): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-ychCoQcrqT: Connection refused
Run Code Online (Sandbox Code Playgroud)
...或eog:
** (eog:16872): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-ychCoQcrqT: Connection refused
Run Code Online (Sandbox Code Playgroud)
等等。
也许值得一提:我从 12.04 连接到(是的,不受支持)13.04。
使用ssh -X user@host我可以在主机上启动程序,X11 转发允许我在远程机器上看到它们的窗口。但是,我希望能够转发/重定向现有的窗口。
我会怎么做(如果可能的话)?
请注意,VNC 不是一个选项(主机上没有安装服务器,我的用户权限有限)。
我已经安装了 Ubuntu Desktop 16.04.2 LTS 并想从我的 X11 转发 ssh 会话启动 firefox,但我收到以下错误消息:
user@user-Virtual-Machine:~$ firefox
Failed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Broadway display type not supported: localhost:10.0
Error: cannot open display: localhost:10.0
Run Code Online (Sandbox Code Playgroud)
我正在使用最新版本的 BitVise SSH 客户端
我的 SSH 客户端中的设置如下所示: 单击此处查看 X11 客户端设置
我的 sshd_config 看起来像这样:
Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
UsePrivilegeSeparation yes
KeyRegenerationInterval 3600
ServerKeyBits 1024
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime …Run Code Online (Sandbox Code Playgroud) 鉴于:
我export $(dbus-launch)在我的/etc/bash.bashrc文件中使用,因为我通常在非管理员用户下运行并且需要su - admin做任何危险的事情。
正常行为: 转到 dash,打开 gedit。顶部菜单可见。
异常行为
进入终端,输入:gedit。然后,顶部菜单中可见。(即使发送到 bg 问题仍然存在)
附加信息:
我注意到当我执行 a 时gksudo gedit,菜单出现在窗口的菜单栏下方而不是顶部菜单......
更多附加信息:
我刚刚找到了罪魁祸首:X11-forwarding。当我export $(dbus-launch)从我的bash.bashrc文件中删除时,“异常”行为就会停止。
有没有人知道如何使异常恢复正常?(保持 x11 转发?)我到处找,但除了没有显示首选项的错误外,我没有找到解决这个问题的方法......
我已经在Ubuntu 16.04.3 服务器上设置了x-forwarding,尽管转发有效,但每次我启动 GUI 应用程序时,它都会在终端中报告以下错误。
(<app-name>:<pid>) LIBDBUSMENU-GLIB-WARNING **: Unable to get session bus: Failed to execute child process "dbus-launch" (No such file or directory)
Run Code Online (Sandbox Code Playgroud)
这显然不是关键,但它并没有像它应该的那样工作。
我该如何修复?
编辑我主要是尝试启动 Firefox。
我一辈子都不能让 x11forwarding 工作。我“按书”做了所有事情......客户端和服务器都在运行 ubuntu 11.04。两者都打开了 ssh、vnc、x11 和 FW 端口
/etc/ssh/ssh_config
ForwardAgent yes
ForwardX11 yes
ForwardX11Trusted yes
Run Code Online (Sandbox Code Playgroud)
/etc/ssh/sshd_config
X11Forwarding yes
X11DisplayOffset 10
apt-get install xauth
xauth is already the newest version.
Run Code Online (Sandbox Code Playgroud)
ssh server -Xvl userecho $DISPLAY 返回空白 xterm 返回 xterm Xt error: Can't open display:
xterm: DISPLAY is not set
Run Code Online (Sandbox Code Playgroud)
仍然没有任何作用...
所以我做了export DISPLAY=localhost:10.0
然后echo $DISPLAY返回localhost:10.0但xterm返回xterm Xt error: …
如何使用 SSH 从远程服务器运行 X11 GUI 应用程序?
例如:
我从我的第一个桌面到第二个桌面,我想从第二个桌面运行 GUI 应用程序并将 X11 重定向到第一个。
因此,经过多次反复试验,我设法获得了 X11 转发工作。我办公室的桌面是 Ubuntu 16.04 LTS,我使用 XQuartz 从我的 MacBook Pro ssh 进入。当我 ssh 进入时,我在终端上得到以下信息:
Warning: No xauth data; using fake authentication data for X11 forwarding.
Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-128-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Run Code Online (Sandbox Code Playgroud)
我知道 X11 转发工作正常,因为我可以让 FireFox 转发,但它非常慢且有问题。
但我无法让谷歌浏览器转发。终端在运行命令时提供以下信息google-chrome:
ATTENTION: default value of option force_s3tc_enable overridden by environment.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
[10497:10497:0702/053002.891053:ERROR:gl_context_glx.cc(227)] Couldn't make context current with …Run Code Online (Sandbox Code Playgroud)