Android中的X-Applications over SSH

use*_*435 23 ssh android xserver

我想问一下如何通过SSH运行X-applications.

我让Linux桌面运行SL6.3与Gnome 2x.在运行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-applications?环境是家庭无线网络.

小智 15

我知道这个帖子已经老了......但是,我想确保在paulsm4的回答中澄清一些误导性的东西......

X向后...您没有连接到X服务器.您在本地计算机上运行服务器(他称之为客户端的实际上是服务器).当您连接到安装了X lib的远程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
-----------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

大多数情况下,X Server和X Client是相同的(就像在本地桌面上一样).因此,一旦客户端写入X,本地X服务器就会写入屏幕.显示过程实际上是在用户的计算机上完成的,无论如何,您的计算机将成为服务器.疯了不是吗?

  • 我注意到这个关于"错误的方式"的东西的模因已经误导了人们数十年.它不是*错误的方式.X是显示服务器.所以渲染(显示)的东西显然是服务器.即使它是在你的ssh客户端上.即使您连接到服务器以在那里运行程序,它们仍然是显示服务器的客户端.对此没有任何误导或混淆.只有两台服务器.显示服务器和"服务器"服务器.这恰恰是彼此的客户对彼此的用途. (5认同)

mys*_*set 5

您可以在Android机器上安装以下X11Server

https://play.google.com/store/apps/details?id=au.com.darkside.XServer&hl=en

并按照几个后续步骤:

  1. 启动android-xserver
  2. 像ConnectBot一样启动ssh客户端(远程机器有ForwardX11 yes)
  3. 运行xclock,xterm ......任何其他X11实用程序

请注意,因为android-xserver,X11实现它不是一个完整的.

  • 也感谢 @myset 花时间回答,是的,我将不得不鄙视它,直到它可以运行 vim 或 chrome 等任意应用程序。:-) (2认同)
  • 在以下位置查看指南:https://bbs.linuxdistrocommunity.com/discussion/1188/x11-forward-to-your-phone-tablet - 这解释得更好一些。 (2认同)