我在 Ubuntu 10.04 上使用 VirtualBox OSE。
我有一台 Windows 7 客户虚拟机,我几乎只用它来通过 MS Outlook 访问我的 Exchange 邮箱。如果我在 Outlook 中单击 URL,它显然会在客户虚拟机中的 IE 中打开,有什么方法可以让它执行某种重定向吗?
如果我单击 VM 内的 URL,我希望它在 Ubuntu 主机中的默认浏览器中加载。
答案1
如果存在这样的办法,那将是一个巨大的安全漏洞。
您最多可以做的是使用共享剪贴板:安装 Guest 附加功能后,您的客户操作系统的剪贴板可以与您的主机操作系统共享。
答案2
理论上是的。您可以让客户机中的存根处理程序向主机上运行的守护进程发送一条消息,该守护进程实际上会调用正确的应用程序。但我自己从未见过这样的设置。
答案3
我也有同样的情况主意作为伊格纳西奥·巴斯克斯·艾布拉姆斯并且我实现了它。
因此,第一部分是 HTTP 服务器,它监听您想要打开浏览器的机器上的请求。收到传入请求后,它会(在浏览器中)打开作为 POST 请求参数提供的 URL。
选一个:
- Python脚本,无依赖项:浏览器守护进程.py
- Python脚本,需要烧瓶:浏览器守护进程.py
您应该将此脚本添加到启动中,它应该在后台运行。
第二部分是调用请求。
选一个:
您应该将此脚本指定为您的默认浏览器。如何做到这一点……是一个单独的问题。您可以搜索类似“Windows 将自定义可执行文件设置为默认浏览器”。
它也可以用作命令行工具:./open_url.py 'http://google.com/'
Python 脚本应该可以在所有主流系统上运行,并且可以使用任何较新的 Python 版本(我怀疑是 2.6+、3.1+)。
在 Windows 上,如果你不想让 Python 脚本在命令窗口中运行,则应将其扩展名更改为.pyw
。如果要停止它,请使用任务管理器(查找pythonw.exe)。
VirtualBox 网络适配器应设置为 NAT(默认设置)。有关 IP 地址的更多信息这里. 端口的选择是任意的,可以随意更改1337到处都是其他的东西。
该服务器是安全的,因为它只监听来自本地主机的连接。VirtualBox 可以让它以某种方式工作。但如果您希望它远程工作,请将监听 IP 地址指定为'0.0.0.0'
或 而''
不是'localhost'
。
答案4
我也有同样的情况。以下是我的好办法:
我创建了包含以下内容的脚本~/bin/pburl
:
#!/bin/bash
set -eu
exec gnome-open $(xclip -out -selection clipboard)
# EOF
它会获取您剪贴板中的任何 URL,并使用 gnome 的默认 url 处理程序(在我的情况下是 Chrome)将其作为 URL 打开。
我的用法是:
- 在 Outlook(在来宾上)中,我“复制超链接”。
- 我单击桌面或非虚拟机窗口。
- 我按下 Control-Space 键,启动突触并输入
pburl
。
瞧!URL 打开了。
它不如直接点击那么好,但确实缩短了整个复制-打开-浏览器-粘贴的过程。