I do, fundamentally, six things on my chat box.
1) Web browsing
This is easy. I use Firefox on Windows. I can use Firefox on Linux.
Again, not hard. Thunderbird, meet Thunderbird. Oh hey it works. Next!
X-Chat is my chat client of choice on Windows. On Linux, it turns out there's two X-Chats. One of them is based in Gnome. The other isn't. I will admit that I wasn't entirely sure if there was any important difference, besides "this one uses an API I don't know, and this one uses a different API I also don't know", bu it turns out there is. The Gnome one does not contain several features I want. Why? Who can say.
Unfortunately, Ubuntu has built-in support for one of them, and it's the Gnome one.
I was able to get it working by recompiling it. But this slightly annoyed me. At least it works.
Outcome: Success, eventually.
Sadly, everything's going to go downhill from here.
On Windows I use Trillian. Trillian doesn't exist on Linux. I decided to try out Gaim. Gaim is a hideous eyesore and does not include features that I use, like metacontacts. Seriously. It's butt-ugly and it doesn't even work great. I don't like it at all.
Some searching for a good open-source IM client yielded Miranda. Miranda turned out to be Windows. (It looks good though. You might want to try it.) More searching yielded Kopete. Kopete does most of what I want. It is, sadly, missing several important features, like AIM file transfers and a working MSN implementation. It also occasionally crashes when I change settings and burns 5% of my CPU at all times, but it appears to be the best thing out there for my needs.
5) Webcomic browsing
Firefox is missing one crucial feature for my webcomic needs. I need to be able to replace bookmarks easily. Internet Explorer stores bookmarks in the Windows file system, which has its pros and cons, but means that two bookmarks cannot exist with the same name. Firefox does not do this, and will happily store two different bookmarks with the same name. Deleting that second bookmark takes a noticable amount of effort when "clobber a bookmark with a new version" is a common task.
So far I've been completely unable to find an extension that will do this for me. I've found one that will replace bookmarks that point to the same place, but when the entire point is replacing bookmarks that point to different places, that's not very useful. And that's the closest I've come.
I can probably write one. I'm just not particularly interested in doing so. I want to use my computer - not spend all my time forcing my computer to work.
Outcome: Failure, fixable with effort.
6) Remote desktop
I find it convenient to use my computer from anywhere. I can connect in from work, or from my mom's house, or from friends' houses and check email or do whatever. Windows has a neat little program called RDP that does this efficiently and smoothly. Linux has VNC.
VNC is a turd.
It does exactly what it was designed to do, but what it was designed to do is fundamentally an order of magnitude less efficient than RDP. VNC screenscrapes. RDP intercepts drawing calls. Once you've used RDP, VNC is, to put it bluntly, awful.
There's something called NX that might be RDP-for-Linux. It is, of course, not built into Ubuntu. It looks moderately difficult to set up and documentation ranges from two-years-old to two-months-old - the latter includes many warnings about using certain versions of certain packages. On top of this, some pages claim that the "log into an existing session" functionality that I so want is difficult to set up . . . those that acknowledge the existence of that desire at all.
Outcome: Failure, possibly fixable with effort.
I'm not really sure where to go from here. I'd like to use Linux. I really would. But fundamentally I want to use Linux - not spend all my time trying to shoehorn Linux into my working habits (or, even worse, shoehorn my working habits into Linux.) The programs I want really don't seem all that difficult - but much of this is stuff that is not glamorous, and is not particularly fun, and is rather difficult. And so it does not get done.
If open-source software has a failing, it's this.
I haven't decided yet. Linux is neat. I will admit that I like Kopete, despite the lack of certain features. It's very, very pretty. But if Linux can't do a third of the things I need, it may still not be viable for me yet.