如何使用 RDP 或 RFB 将 Python 连接到 VirtualBox?
有没有办法使用 Python 的 RDP 远程访问无头 VirtualBox 4.x 的库存版本的屏幕或使用 VNC 协议访问它?
我也希望能够访问启动屏幕 (F12),因此我无法在 Guest 中启动 VNC 服务器,因为 Guest 尚未启动。
请注意,我已经有纯 Python
的 RFB
版本,但是库存 VirtualBox
似乎不支持 VNC
风格的远程连接,OTOH 遗憾的是,我不知何故无法找到 Python
RDP
库。
到目前为止我发现但我不想使用:
- 一个Java RDP客户端,但是我不想换马,所以我想保留它Python
VirtualBox API
似乎为Python提供了访问帧缓冲区,但我不完全确定。然而,这仅绑定到 VirtualBox,RDP 库(或让 VB 谈论 RFB)会更通用。
注意:
- 所以我需要的是一种将
VNC
/RFB
支持添加到原始VirtualBox
(.vbox-extpack< /code>?)
- 或找到一些用纯
Python
编写的RDP
库。 - 它必须至少在所有支持 VirtualBox 的平台上可用。
如果两者都不可行,我想我会尝试使用 Python 中的 VirtualBox API。
Is there a way to access the screen of a stock version of a headless VirtualBox
4.x remotely using RDP
with Python or access it using the VNC protocol?
I want to be able to access the boot screen (F12), too, so I cannot boot a VNC server in the Guest as the Guest is not yet booted.
Note that I already have an RFB
version in pure Python
, however stock VirtualBox
seems not to support VNC
style remote connections, OTOH I somehow was unable to find a Python
RDP
library, sadly.
What I found so far but I do not want to use:
- A Java RDP client, however I do not want to switch horses, so I want to keep it Python
VirtualBox API
seems to provide Python with access to the framebuffer, but I am not completely sure. However this then is bound to VirtualBox only, an RDP library (or letting VB talk RFB) would be more generic.
Notes:
- So what I need either is a way to add
VNC
/RFB
support to an originalVirtualBox
(.vbox-extpack
?) - or find some
RDP
library written in purePython
. - It must be available on at least all platforms for which VirtualBox is available.
If neither is possible, I think I will try the VirtualBox API in Python.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您尝试过 rdpy 吗?它是建立在twisted之上的。
Have you tried rdpy? It's built on top of twisted.
您是否考虑过 Jython,它应该能够与您已有的 Java 库本地集成?
Have you considered Jython, which ought to be able to integrate natively with the Java library you already have?