我想问一下如何通过SSH运行X应用程序,如下所示。
我的Linux桌面运行SL6.3和Gnome 2x。在运行CM9的安卓平板电脑上,我安装了适用于安卓的Connectbot和X-Server。我可以通过SSH使用Connectbot成功登录Linux box。
我在Linuxbox上的/etc/ssh/sshd中设置了X-forwarding选项(X11Forwarding是)。
现在,当我使用-X选项时,ssh -X用户名@主机名:端口,Connectbot反复询问密码,即使我提供了一个正确的密码,并说-‘身份验证方法’密码‘失败。
如何在平板电脑中通过SSH成功运行X应用程序?环境是家庭无线网络。
发布于 2015-02-27 07:51:43
我知道这个帖子很老了..。但是,我想确保我澄清了Paulsm4的答案中一些误导性的东西……
X是反向的..。您不能连接到X服务器。您在本地机器上运行服务器(他所说的客户端实际上是服务器)。当您连接到一个安装了X库的远程Nix机器,并将-X开关添加到您的SSH命令中时,ssh将把X请求转发给您。在另一端运行的程序(Gnome,Chrome,PyCharm等)将是你的X客户端,它将被上传回包含X服务器的桌面。这是一个序列图:
User Remote
-----------------------------------------------------------------------
User Inits SSH -X Session -----------------> SSH Server Auth User
|
V
SSH Session is established <---------------- SSH User is Authenticated
|
V
User Initiates App on server --------------> App Starts Running
|
V
App Writes output to X Server
|
V
Xorg receives write commands <-------------- SSH Tunnels that back to User
|
V
Writing occurs on desktop
-----------------------------------------------------------------------
大多数情况下,X Server和X Client是相同的(就像在本地桌面上一样)。因此,一旦客户端写入X,本地X服务器就会写入屏幕。显示过程实际上是在用户的计算机上完成的,无论它在哪里,您的计算机都将成为服务器。太疯狂了,不是吗?
https://stackoverflow.com/questions/12811124
复制相似问题