远程运行Linux窗口程序使用X Windows太重量级了,可以使用Xvfb新建虚拟X窗口,通过x11vnc启动VNC Server并转发Xvfb启动的虚拟窗口。
|
|
yum <span style="color:#C20CB9;font-weight:bold;">install</span> xorg-x11-server-Xvfb yum <span style="color:#C20CB9;font-weight:bold;">install</span> x11vnc <span style="color:#666666;font-style:italic;">#新建X虚拟窗口</span> Xvfb :<span>1</span> <span style="color:#660033;">-screen</span> <span>0</span> 1024x768x24 <span style="color:#660033;">-nolisten</span> tcp <span style="font-weight:bold;">&</span> <span style="color:#666666;font-style:italic;">#设置默认窗口为新建的虚拟窗口,打开窗口程序时调用</span> <span style="color:#7A0874;font-weight:bold;">export</span> <span style="color:#007800;">DISPLAY</span>=:<span>1</span> <span style="color:#666666;font-style:italic;">#或</span> <span style="color:#007800;">DISPLAY</span>=:<span>1</span> firefox |
|
INIT:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
|
<span style="color:#666666;font-style:italic;">#!/bin/bash</span> <span style="color:#666666;font-style:italic;">#chkconfig: 345 95 50</span> <span style="color:#666666;font-style:italic;">#description: Starts xvfb on display 1</span> <span style="font-weight:bold;">if</span> <span style="color:#7A0874;font-weight:bold;">[</span> <span style="color:#660033;">-z</span> <span style="color:#FF0000;">"$1"</span> <span style="color:#7A0874;font-weight:bold;">]</span>; <span style="font-weight:bold;">then</span> <span style="color:#7A0874;font-weight:bold;">echo</span> <span style="color:#FF0000;">"<span style="color:#780078;">`basename $0`</span> {start|stop}"</span> <span style="color:#7A0874;font-weight:bold;">exit</span> <span style="font-weight:bold;">fi</span> <span style="font-weight:bold;">case</span> <span style="color:#FF0000;">"$1"</span> <span style="font-weight:bold;">in</span> start<span style="color:#7A0874;font-weight:bold;">)</span> Xvfb :<span>1</span> <span style="color:#660033;">-screen</span> <span>0</span> 1024x768x24 <span style="color:#660033;">-nolisten</span> tcp <span style="font-weight:bold;">&</span> <span style="color:#7A0874;font-weight:bold;">export</span> <span style="color:#007800;">DISPLAY</span>=:<span>1</span> <span style="color:#7A0874;font-weight:bold;">echo</span> <span style="color:#FF0000;">'export DISPLAY=:1'</span> <span style="font-weight:bold;">>></span> ~<span style="font-weight:bold;">/</span>.bashrc <span style="font-weight:bold;">;;</span> stop<span style="color:#7A0874;font-weight:bold;">)</span> <span style="color:#C20CB9;font-weight:bold;">killall</span> Xvfb <span style="font-weight:bold;">;;</span> <span style="font-weight:bold;">esac</span> |
|
#新建VNC服务器并转发指定X窗口
|
|
x11vnc <span style="color:#660033;">-listen</span> 0.0.0.0 <span style="color:#660033;">-rfbport</span> <span>5900</span> <span style="color:#660033;">-noipv6</span> <span style="color:#660033;">-passwd</span> password <span style="color:#660033;">-display</span> :<span>1</span> <span style="color:#660033;">-forever</span> |
|
然后通过VNC客户端连接,默认端口5900,Windows下可使用TightVNC或UltraVNC。
启动的软件窗口太小,设置:
|
|
xdotool search <span style="color:#660033;">--name</span> <span style="color:#FF0000;">".*Mozilla Firefox"</span> windowsize <span>1440</span> <span>900</span> |
|