从本地PC发送X11窗口,通过SSH将VNC发送到远程PC,无需触摸远程PC

时间:2017-04-10 14:24:17

标签: ssh vnc vnc-server vnc-viewer

假设我有两台Linux PC:LOCAL,我身体坐着,REMOTE,连接到投影机。所以, 坐在我的LOCAL计算机上,我想要启动一个图形应用程序,比如google-chrome,我想让它显示在远程计算机上 - 但我不想亲自去远程计算机并启动'vncviewer'每个时间我想这样做。我甚至不想去那里登录。我怎么能解决这个问题?

换句话说,我不想每次都这样做:

  1. 在本地PC上启动x11vnc服务器:

    LOCAL_PC ~$ x11vnc
    # and do some graphical stuff, like: 
    LOCAL_PC ~$ firefox &
    
  2. 然后,物理地转到远程计算机并启动vnc客户端:

    REMOTE_PC ~$ vncviewer LOCAL_PC_IP
    

1 个答案:

答案 0 :(得分:0)

所以我找到了解决方案。 (以确保这是您正在寻找的东西:此解决方案将帮助您在计算机上打开图形应用程序并将其显示在远程计算机监视器上

短版

    REMOTE_PC ~$ xhost +localhost
    LOCAL_PC ~$ x11vnc -geometry 2560x1440 &
    LOCAL_PC ~$ ssh UserName@REMOTE_PC_IP "export DISPLAY=:0.0 xeyes && cinnamon-screensaver-command -d && vncviewer LOCAL_PC_IP"

P.S。我不知道第一行是否必要

长版:

REMOTE_PC - 连接到投影仪的电脑

LOCAL_PC - 是你坐的电脑。

使用IP-REMOTE_PC_IP

对REMOTE_PC进行操作

启用localhost x控制。实际上去输入,你需要做一次。

    xhost +localhost

在LOCAL_PC上使用IP做的事情 - LOCAL_PC_IP

启动vnc服务器

    x11vnc -geometry 2560x1440

ssh到远程电脑

    ssh username@REMOTE_PC_IP

导出显示,解锁该远程PC上的屏幕(如输入密码并登录),启动客户端并连接到本地PC上启动的服务器。

    export DISPLAY=:0.0 xeyes
    cinnamon-screensaver-command -d
    vncviewer LOCAL_PC_IP

P.S。代替 cinnamon-screensaver-command,你可能需要使用gnome-screensaver-command