我想问一下关于通过SSH运行X-applications如下。
我有运行 SL6.3 和 Gnome 2x 的 Linux 桌面。在运行 CM9 的 Android 平板电脑上,我有适用于 Android 的 Connectbot 和 X-Server。 我可以通过 SSH 使用 Connectbot 成功登录 Linux。
我在 Linuxbox 的/etc/ssh/sshd_config 中设置了 X-forwarding 的选项。(X11Forwarding yes)。
现在当我使用 -X 选项时, ssh -X username@hostname:port , Connectbot 重复询问密码,即使我提供了正确的密码,并说 - '身份验证方法'密码'失败。
如何在平板电脑上通过 SSH 成功运行 X 应用程序? 环境是家庭无线网络。
最佳答案
我知道这个帖子很旧...但是,我想确保我澄清了 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 服务器和 X 客户端是相同的(就像在本地桌面上一样)。因此,一旦客户端写入 X,本地 X 服务器就会写入屏幕。显示过程实际上是在用户的计算机上完成的,无论它在哪里,您的计算机都会成为服务器。是不是很疯狂?
关于android - Android 中基于 SSH 的 X-Applications,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12811124/