Nov 262013

Note: This article applies to GNOME 3.10 in Fedora 20. You no longer need these steps in GNOME 3.14 in Fedora 21.

I’m setting up an Alfresco server and I need to test some of the tweaks and configuration I’m working with. Alfresco is big; lots of components including Java, an application server, usually a front end server, a database, etc., etc.  In addition, it is certified to work with a narrow set of other software. For example, Alfresco certifies against Red Hat Enterprise Linux 6, but my development machine is Fedora 19. Red Hat Enterprise Linux 6 comes with MySQL, but Alfresco certifies against a much more recent version.

This is the perfect use-case for an Virtual Machine.

So I started virt-manager to get started. I configured a VM, but … failed. It seems that virt-manager wants to place the image for the virtual machine under /var/lib/libvirt/images. However the /var tree on my laptop is fairly small. I don’t have the space to install a whole other OS there. My home directory, on the other hand, has plenty of space.

This is a perfect use-case for GNOME Boxes.

And, in fact, GNOME Boxes is awesome. Setting up the VM and making it run was easy, quick, and pleasent.  Until it wasn’t.

You see, GNOME Boxes uses isolated networking. The Virtual Machine can connect to external hosts, but nothing can connect into it. After 2 days of struggling, here is how to fix it on Fedora 19:

  • Shut down the virtual machine.
  • Get the name or id of your virtual machine. Run, from the command to get the name:
$ virsh -c qemu:///session list --all
  • Edit your VM’s configuration file using virsh as below: (My VM is named rhel6.4, so that’s what I used. You may need to use the ID of the VM, if available.)
$ virsh edit rhel6.4
  • Find the lines that look like this:
<interface type='user'>
 <mac address='52:54:00:bf:c5:97'/>
 <model type='rtl8139'/>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
  • Remove those lines and replace them with: (If you are not using Fedora, it’s possible that your network device is not named “virbr0“. You can get a list of all the interface names using ifconfig.)
<interface type='bridge'>
 <mac address='00:16:3e:1a:b3:4a'/>
 <source bridge='virbr0'/>
 <model type='virtio'/>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
  • Start the VM, and you should be all set!

Easy, right?

Well, maybe you’re still having problems? Some troubleshooting tips:

  • You may not have bridging set up. Check /etc/qemu/bridge.conf to see that it contains the line:
allow virbr0
  • If you want to run or configure your Boxes VM in virt-manager, you need to connect to the user session, which isn’t possible via the user interface yet. Run:
$ virt-manager -c qemu+unix:///session

If this isn’t working for you, you can request assistance on IRC at: #boxes on GimpNet. If you do not have an IRC client, you can use this web page.

Will this get easier in the future? Absolutely. You can read the discussion and follow the progress on GNOME Bugzilla.

Edits on Nov 27, 2013: Virt Manager and Boxes do NOT need to be shut down while editing the VM details. There is a virsh command to get a list of VM names. Your network interface may not match mine if you are not running Fedora. Add link to the #boxes channel on IRC. Add in troubleshooting section for users without bridged networking configured. You do NOT need to run the VM using virt-manager after this configuration change, Boxes will handle it fine. Add in the Bugzilla link. Thanks to teuf, zeenix, and elad on IRC for the corrections.

Edit on Jan 22, 2015: Fixes and improvements to Boxes for GNOME 3.14 make this article out of date — the changes mentioned here are now the default Boxes configuration.

 Posted by at 2:21 pm
Aug 232012

Just a quick tip for people who use multiple user accounts at once on Fedora. (I test software using brand new user accounts sometimes, for example. I’ve heard of others may use multiple user accounts to try and sandbox applications they expect to misbehave. [I recommend a VM for this, FWIW.])

If you’ve ever switched users in Fedora and couldn’t get sound to work (su - testuser or ssh testuser@localhost) this tip is for you!

First, you need to install paprefs:

# yum install paprefs

Then, as the default desktop user, run the command:

$ paprefs

Papref's configuration screen

Make sure “Enable network access to local sound devices” is checked.

Then click [ Close ] and sound will work perfectly!

Feb 082008

Well, as my last two posts implied, I own a TiVo again.  In fact, I own a TiVoHDPay per view on the TiVo works through Amazon, so they have the best price.  I’ve been playing with it for 2 days now and I have some thoughts, comments, and a small review.

The TiVoHD is a much different device from the Series 1 TiVo I received 7 years ago. The Series 1 was intended to be connected to your cable box as a pure DVR addition.  The TiVoHD becomes your cable box and your Internet/TV media center.  It’s hard to compare them since they are very different devices.

The Verizon FiOS cable box with DVR is a lot closer, and the TiVo is worse in some ways:

  • you don’t get On Demand or Verizon’s pay per view: This is working with Comcast now if you live in the Boston area.  I shed no tears for pay per view, but On Demand had a lot of free content.
  • the TiVo interface is almost unacceptably slow: When you press a button on the remote, it takes anywhere from a half second to a full second for the device to register it.  To make matters worse, with a Dolby receiver, the TiVo sometimes doesn’t make a confirmation sound.  This problem makes the device feel cheap and hard to use.  I’m amazed that they released it without solving this problem.  Other people think so too.
  • entering text using the remote (for searches) is much, much harder:  Verizon had the ability to use the letter substitutions on the number keys to enter text.  So 228 matched CAT and BAT, but searching was easier and faster.
  • the guide doesn’t show which shows will be recorded already: this didn’t work reliably on the Verizon DVR, but it was nice to look through the list of shows and see that The Daily Show was going to be recorded.

It’s better in a number of ways too: the channel guides are much much nicer; scheduling shows is easier and more understandable; fewer bugs; the TV picture seems better somehow (maybe a better MPEG decoder?); easier to use; expandable storage; ability to record shows to DVD or VCR; closed caption support; a better remote; swivel search; and Guru Guides which help you find interesting things to watch.

But the most interesting thing about the new TiVoHD happens when you give it a broadband connection.  TiVo seems to be trying to make their device a full media center.  You can listen to Internet radio stations, (on your stereo!) log into online photo sites and view them on your TV, purchase and play movies from Amazon, etc., etc.  It will also allow you to download recorded shows and movies to your computer, (and then to your iPod, etc) stream photos and music from your computer, and transfer videos from your computer to your TiVo.

And finally, TiVo has released an API to design new applications and do cool and interesting things. And here again things fall down.  There are some developers creating interesting things, but development seems to be slowing or stopping.  A grand community doesn’t seem to have formed.  In fact, the forum is fairly quiet.  Obvious ideas like Youtube videos, Facebook monitors, or networked games aren’t even being discussed.

So, what’s going on?  Is TiVo too hard to obtain now?  Is there not enough of an audience?  Are the hackers all using the open source equivalents?   Is it too hard to install and use third-party software?  Or is this just a community management or advertising problem?  Or am I missing a vibrant community of people? Does it cost too much for developers?  (The monthly price seems to be much cheaper than renting the Verizon box…)

Aug 182007

Do not try this. It’s not a good idea. I don’t endorse it.

That said, I have a Google Calendar that I want to view in Evolution (if just for the nice reminders) but I don’t want to make public, and I can’t use the private URL. I need Evolution to authenticate to Google, and download the calendar. If you can use a private URL, there is already a good solution.

To that end, I made a terrible, horrible, no good patch to allow Evolution to authenticate to Google so I can download my calendar. The trick is to pre-auth with Google, get the auth token from the result, and store it in GConf. From there, the patch will make evolution-data-server recognize Google Calendar URLs and send the auth token in a special header.

Before I get to the patch, here are the problems:

  • Seriously, it’s an ugly patch
  • You have to recompile evolution-data-server
  • Adding an auth token to GConf?! What are you, nuts?
  • Evolution may not be able to understand the appointments set by Google’s calendar
  • The calendar only updates every once in a while
  • You can’t edit the calendar in Evolution

Here’s how to make it work:

First authenticate with Google to get your auth token:

curl -D - -d accountType=HOSTED_OR_GOOGLE \
-d Email='username%40domain' -d Passwd='password'  \
-d service=cl -d source=evolution-testing-0.0.0

Replace username with your email username. Replace domain with your email domain — this will usually be Then replace password with your google password.

This will return three lines, the last one will look like this: Auth=DQAAAGgA...dk3fA5N

Then run:

gconftool-2 --type string -s /apps/evolution/calendar/gauth authstring

You’ll need to replace authstring with the 180+ character string returned by the previous command.

You should only have to do the above once. Or whenever the auth string
expires which seems to be very rare, if at all.

Then quit Evolution and kill the data server with this command:

evolution --force-shutdown

Start evolution after applying this patch.

Go to the calendar component and add:


as a web calendar. You’ll need to replace username with your email username and domain with your email domain, usually You’ll need to check “Use Secure Connection” and I recommend that you cache the calendar locally.

Happily it works for me until the real solution is available.

 Posted by at 11:44 am
Feb 182007

Back when I worked for Ximian a common complaint we heard was that Evolution wasn’t good for sending formatted text because it always word wrapped it causing lots of errors.  This was pretty frustrating because it wasn’t true, but since we heard it all the time, it was obviously too confusing.  Here’s the dialog.  Can you guess how to preformat text from this screenshot?

Evolution Composer

If you guessed that you click on the dropdown that says: “Normal” and select “Preformat,” you’re right!

Most people seem to assume that the second toolbar doesn’t do anything when you’re not write an HTML mail.  But that’s not true.

I recently filed this bug report against the Evolution composer. The problem is that the composer is too confusing to use.  Here is the composer editing an HTML message:

Evolution Composer HTML Mode

I propose that the main toolbar lose the “insert” capabilities that only work in HTML mode and gain a toggle button which switches between HTML and plain text mode. When the button is pressed in, you’re sending an HTML message.The secondary toolbar should only contain the controls that are currently active. So text color, font size, font decoration, and font style will not be shown in text mode. And instead of “normal” the default mode should be named for what it actually does: “Word Wrap.” Something like this:

Revised Evolution Composer Text Mode

With this scheme, HTML mode looks like this:

Revised Evolution Composer HTML Mode

See the bug for more mockups.

 Posted by at 4:34 pm
Feb 172007

For more than a year now, I’ve had a small High Definition Television, but for many reasons (okay mostly cheapness) only been able to use it to display standard cable. Well, that changed a few days ago when Verizon FiOS TV became available in my area. We got it just before the rate hike in our area.

This service is really amazing. The free installation is intense and lasted all day because they seem very concerned that everything work perfectly when they leave. The technician stayed until the network service was exactly as fast as what I’d paid for, and the television was playing HDTV and standard TV perfectly.  All the cables were free.  All the equiptment except for the cable box rental is free.  Very very impressive.

The picture quality on the television is amazing.  Standard TV looks better than DVDs.  HDTV looks so good it almost doesn’t matter what you’re watching.  And the 5.1 channel audio is great.

Oh. And this is all cheaper than what I was paying RCN without HDTV.

So far, the only problem I’ve seen is two 1 second audio drop outs during the Super Bowl.

Now if only my TiVO Series 1 could record HDTV.

 Posted by at 9:36 pm