在virtualbox里面的xp中点击超链,在ubuntu里面用ff查看?
- 本文链接地址:http://zhubaining.com/blog/2010/03/29/archives/%e5%9c%a8virtualbox%e9%87%8c%e9%9d%a2%e7%9a%84xp%e4%b8%ad%e7%82%b9%e5%87%bb%e8%b6%85%e9%93%be%ef%bc%8c%e5%9c%a8ubuntu%e9%87%8c%e9%9d%a2%e7%94%a8ff%e6%9f%a5%e7%9c%8b%ef%bc%9f
- 作者:zhubaining
# 更新:有了新方案,请查看:http://hi.baidu.com/zhubaining/blog/item/a88151103e3caf0c203f2e58.html
我在ubuntu的virtualbox里面安装了windows xp,有时候会在xp里面获得一些链接,然而,我不想在xp里面用ie打开这些链接,因为我上网的利器是ubuntu的firefox,那怎么办呢?
这两天尝试了几种方案,总结如下:
- 假浏览器法:打开链接时,假浏览器把目标url写入host和guest的文件交换区的一个文件(如 url.txt),在host里面发现文件修改了,然后就读出来,执行shell_exec("firefox $url");
- 注 册假浏览器法:并设置为xp的默认浏览器,在假浏览器中得到要打开的url,传递到ubuntu
- 看了微软在 线帮助,设置了注册表并没有生效
- 直接替换法:用假浏览器替换掉iexplorer.exe,但是有wfp 文件保护
- xp中没有开发环境,要写程序怎么办?可以把php转换为exe。工具名:bamcompile; 地址:http://www.bambalam.se/bamcompile/
- 对 付wfp的方法:http://www.bitsum.com/aboutwfp.asp
- 注 意:用php的filemtime($path);函数获取的文件修改地址,为什么文件修改了,但是它的返回值还是不变呢?
- 原 因:php为了提高性能,做了cache
- 解决办法:调用前filemtime清除cache:clearstatcache();
- 代理服务器法:在ubuntu上php写一个小的server,把IE的代理服务器配置成它。
- 代理服务器要做的事:把 GET后面的东西拿出来,shell_exec("firefox $url");
- 用代理服务器的时候,GET后面是完整的 url,比如http://xxx.com/sfas
- 不 足之处:
- 每次xp中会出一个失败的ie页面
- https的会有CONNECT方法,这个不处理,就会有问 题:gtalk里面打开Inbox就会失败;outlook启动时也会发起https
- 各种程序暗地里的http请求会失败,比如hi会 发起一些请求
- 监控剪贴板法:virtualbox本身已经完成了host和guest系统的剪贴 板互通,那么只需要在guest里面把需要打开的url传递给host,分工如下:
- guest:先复制目标url到剪贴板,再 复制一个特殊的标识比如“ff_it_now_zbn”
- 如何方便快捷地把特殊标识复制到剪贴板?
- 答案:热键 映射工具。AutoHotkey:http://www.autohotkey.com/download/, 可以编辑ahk脚本,具体参见随带的chm帮助
- # 我现在设置成了“Ctrl+鼠标右键”,很方便!
- host: 运行一个程序,不停地从剪贴板中获取内容,如果是“ff_it_now_zbn”,则shell_exec("firefox 上次从剪贴板中获取的url");
- 如何与剪贴板交互?答案:xsel工具(apt-get install xsel)
- 如 何设置自动启动?答案:gui设置:System=》Preferences=》Startup Applications
我目前正在使用第三种方案,感觉还不错。
分类: Ubuntu
Recent Comments