I added a few lines of code to wmcbrine's virtual remote Python program. I changed the action of the Guide button from sending the guide signal to starting a browser window with a guide and buttons to change the channel. There is probably a better way of programmatically doing this, but it works.
Web.py version 0.37 is required -- http://webpy.org/
. As of the date of this post, sudo apt-get install python-webpy on my Ubuntu machine does not install 0.37.
If you are not a Comcast customer, you will need to change the web address in TV_Listings_TiVo_Remote.html to an appropriate guide site. There is no fancy way of changing the buttons in the browser -- you will need to modify the html file.