我正在使用一个需要与Ubuntu服务器建立RDP连接的现有工具。
应用程序在服务器上的特定DISPLAY上的xvfb显示服务器(使用命令xvfb-run)中运行。
我已经安装了xrdp来打开与此Xserver的连接,但是每次启动新连接时,xrdp-sesman(xrdp工具的会话管理器)都会在另一个DISPLAY上打开一个新的Xvnc服务器。
我的目标是将xrdp连接隧道连接到我的应用程序所在的特定DISPLAY,有人知道这是否可行?
v
中的xvfb
意味着您正在使用虚拟显示器。
你可能想看看像x11vnc这样的东西。
x11vnc允许用户远程查看并与任何VNC查看器与真实的X显示器(即与物理监视器,键盘和鼠标相对应的显示器)进行交互。通过这种方式,它扮演WinVNC为Windows播放的Unix / X11的角色。
AskUbuntu有这样的设置指南(引用如下)
如果要远程访问Unity桌面,则需要xrdp和x11vnc。
首先,安装xrdp和x11vnc:
apt-get install xrdp x11vnc
(或者你的发行版等价物)然后编辑
/etc/xrdp/xrdp.ini
并确保它至少包含以下内容:
[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389
crypt_level=high
channel_code=1
max_bpp=24
[xrdp1]
name=Remote Desktop
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=5900
重新启动xrdp以使更改生效:
/etc/init.d/xrdp restart
现在打开一个终端窗口(Ctrl + Alt + T)并设置一个VNC密码(您不希望通过互联网保持对桌面的开放访问):
x11vnc -usepw
系统将提示您设置密码,该密码将用于RDP身份验证。
最后一步是启动x11vnc。你可以使用大量的选项,但这里有一个让你入门的例子(在你刚刚打开的同一个终端窗口中运行它):
x11vnc -rfbauth ~/.vnc/passwd -display WAIT:0 -reopen -nevershared
-forever -wirecopyrect always -scrollcopyrect always -norepeat -1 -xkb -capslock -skip_keycodes 187,188 -bg -o ~/x11vnc.log &
&最后将使x11vnc运行后台,因此您可以关闭终端窗口并使其保持运行。
如果希望x11vnc在重新启动后自动运行,则需要将此命令添加到启动脚本中。