我怎么能ssh到vncserver会话

时间:2015-07-14 02:54:10

标签: ubuntu-14.04 vnc-server vnc-viewer

我想启动网页测试,它会使用 selenium 在Firefox上运行测试。

与此同时,我想使用vnc viewer查看正在进行的测试。

但我不想在vnc查看器中输入命令。我可以ssh到vnc会话,以便我可以通过putty或其他ssh客户端启动测试。

例如,如果我输入firefox命令,我可以在查看器中看到浏览器打开。

由于

1 个答案:

答案 0 :(得分:2)

长期警告!

以下是我的想法:

  • 您有一个在selenium上运行的vnc服务器的实例。
    • 此实例由selenium上的脚本或其他某个vnc客户端控制。
    • 此实例有一个虚拟帧缓冲区和一个可以运行测试的xwindows会话。
  • 然后你想要两种连接
    • 一个命令输入功能,就像ssh到selenium box上x-session终端上的shell一样
    • 来自基于Putty的系统的查看功能,您可以启动和停止,而不会影响selenium框上程序的运行。我认为观众是一个Windows系统,因为这就是putty的运行。

这要求您设置四件事。

1)关于硒盒的会议; 2)基于Putty的VNC隧道3)控制VNC会话,以及4)观众会话。

1)您需要在selenium框上使用 Xvnc 会话。您将要使用 vncserver 启动它,因为它会为你做很多事情。选择一个未使用的vnc端口(它们在5900 +显示号码范围内)。您提供显示编号(例如,:2),几何,(我发现我还必须提供深度),以及为安全起见,参数 localhost

这使命令看起来像这样:

vncserver :2 -geometry 1280x1024 -depth 24 -localhost -AlwaysShared

如果这是您第一次运行此命令,它将要求您输入密码,默认情况下,此密码将使用单向加密并存储在您的主目录〜/ .vnc / passwd中。 (查看手册页以获取所需的权限。)同样,如果这是您第一次, vncserver 脚本还将再设置1个文件,每次启动它都会创建两个新文件:( .log .pid )。

  • xstart 这是一个shell脚本,用于在虚拟帧缓冲区中启动x会话。如果有人可以提供这方面的参考会有所帮助 - 它很敏感,并且在每个系统上似乎都有所不同。使用主目录之外的文件会很复杂。我建议让不同的用户在其空间中运行这些测试。使用 vncserver 提供的xstart文件更有可能取得成功
  • hostname:session.log 包含xstart脚本中命令的输出。弄清楚出了什么问题可能很方便。
  • hostname:session.pid 包含Xvnc服务器的进程ID,以便 vncserver -kill:2 知道要杀死的人。

2)您需要设置Putty隧道。 Putty可以使用ssh连接到远程selenium框。听起来好像你以前使用过这个,所以我将展示如何从本地主机到服务器盒的隧道。下面的这两张照片是Putty配置屏幕,以便您拥有隧道。

Putty - >配置 - > SSH - > Auth(你告诉它你的私钥在哪里。

Putty -> configuration -> SSH -> Auth (where you tell it where your private key is

这是您输入隧道的端口名称的位置 - 条目设置为添加远程:5902< - >本地主机:5901

This is where you enter the port names for the tunnels - the entries are set up to add remote:5902 <-> localhost:5901

3)设置控制连接您有两种选择。

  1. 您可以在Putty终端
  2. 中设置显示变量
      

    bash%导出DISPLAY =:2
          bash% firefox&amp;

    1. 启动并运行隧道后,您可以连接命令vnc客户端和查看vnc客户端。我在Windows上使用tightVNC,它运行得很好。请注意,不是在tightvnc中提供远程主机的名称,而是提供连接 localhost:2 ,如下图所示:
    2. use the red circled configuration button to get to the following menu - Note that you use the hostname 'localhost'

      使用红色圆圈配置按钮进入以下菜单

      the two red circles show how the two options that you want to set

      两个红色圆圈显示您要设置的两个选项。对于控制连接,取消选中仅查看复选框。

      ** 4)观看连接! **您可以按照与上面选项2相同的方式进行设置,但请选中仅查看复选框。

      在这两种情况下,您可能都想检查请求共享会话

      让我知道这对你有用。