There is a bug with the viewer in *buntu that causes it to segfault. It is due to *buntu shipping with PyQt 4.4 and Qt 4.5. As you've found PyQt 4.4 is not 100% compatible with Qt 4.5. There are two solutions.
1) Install PyQt 4.5.
2) Find the main_ui.py file for the viewer, it should be in some place like /usr/lib/python2.6/dist-packages/calibre/gui2/viewer and comment out (put a # at the beginning of the line) the line that looks like one of the following:
Code:
self.view.setUrl(QtCore.QUrl("about:blank"))
self.view.setProperty("url", QtCore.QVariant(QtCore.QUrl("about:blank")))