首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android中基于SSH的X应用程序

Android中基于SSH的X应用程序
EN

Stack Overflow用户
提问于 2012-10-10 10:27:47
回答 1查看 80.2K关注 0票数 26

我想问一下如何通过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应用程序?环境是家庭无线网络。

EN

回答 1

Stack Overflow用户

发布于 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服务器就会写入屏幕。显示过程实际上是在用户的计算机上完成的,无论它在哪里,您的计算机都将成为服务器。太疯狂了,不是吗?

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12811124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档