首页 > Ubuntu > 在virtualbox里面的xp中点击超链,在ubuntu里面用ff查看?

在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,那怎么办呢?

这两天尝试了几种方案,总结如下:

  1. 假浏览器法:打开链接时,假浏览器把目标url写入host和guest的文件交换区的一个文件(如 url.txt),在host里面发现文件修改了,然后就读出来,执行shell_exec("firefox $url");
    • 注 册假浏览器法:并设置为xp的默认浏览器,在假浏览器中得到要打开的url,传递到ubuntu
      • 看了微软在 线帮助,设置了注册表并没有生效
    • 直接替换法:用假浏览器替换掉iexplorer.exe,但是有wfp 文件保护
    • 注 意:用php的filemtime($path);函数获取的文件修改地址,为什么文件修改了,但是它的返回值还是不变呢?
      • 原 因:php为了提高性能,做了cache
      • 解决办法:调用前filemtime清除cache:clearstatcache();
  2. 代理服务器法:在ubuntu上php写一个小的server,把IE的代理服务器配置成它。
    • 代理服务器要做的事:把 GET后面的东西拿出来,shell_exec("firefox $url");
    • 不 足之处:
      • 每次xp中会出一个失败的ie页面
      • https的会有CONNECT方法,这个不处理,就会有问 题:gtalk里面打开Inbox就会失败;outlook启动时也会发起https
      • 各种程序暗地里的http请求会失败,比如hi会 发起一些请求
  3. 监控剪贴板法: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 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.