我正在使用需要 RDP 连接到 Ubuntu 服务器的现有工具。
该应用程序在服务器上特定DISPLAY上的xvfb显示服务器中运行(使用命令xvfb-run ) 。
我已经安装了xrdp来打开到这个 Xserver 的连接,但是每次我启动一个新连接时,xrdp-sesman(它是xrdp工具的会话管理器)都会在不同的 DISPLAY 上打开一个新的Xvnc 服务器。
我的目标是将 xrdp 连接隧道连接到我的应用程序所在的特定 DISPLAY,有人知道这是否可能吗?
v
inxvfb
表示您正在使用虚拟显示器。
您可能想研究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 密码(您不想让从 Internet 对您的桌面开放访问):
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 在重新启动后自动运行,则需要将此命令添加到您的启动脚本中。