Trying to provide support for Linux software could also potentially be nightmarish given the innumerable factors at play. There's no end to the number of ways any given Linux box may be set up.
I hear this often about Linux and don't really understand what people mean. Interested to hear someone else's perspective.
From my perspective, there are options in the Linux world but a pretty clear beaten path of common choices. The one choice you have to make is the toolkit - QT or GTK+ - but that seems like it. In terms of things like sessions, caching all the distributions follow the same standard (e.g freedesktop.org)