Hi,
yes, Kubuntu is the same as ubuntu but uses KDE as the default desktop, there's also Xubuntu (for xfce) and probably many others...
About the desktop, I don't see why you would want "something like windows", you're used to it, ok, but it doesn't mean it's better. You might like gnome or kde or xfce or whatever, better than your windows desktop. You're moving out of windows, so try not to stay attached to some things like that. I suggest you try a few desktops for a while, then decide which one to keep. I personally don't like gnome or kde (they look too much like windows:p) because I'm used to enlightenment... you can try the
http://www.elivecd.org (apparently, he now
requires a donation... development version is free, and if you post on some website about elive, you get it for free... whatever). I tried elivecd a long time ago and it's great, works great and is very useful. You could also use ubuntu then install E17 on it (but elive is still better since it got preconfigured a lot of stuff).
The distribution you choose should NOT be based on the desktop you want to use. The distribution is about your needs... for example :
debian : excellent for servers, very very very stable
ubuntu : user friendly, good for newbies, for a desktop
gentoo : if you're an optimization freak, you compile everything yourself optimized for your CPU (the whole system, even the compiler, you will recompile it with gentoo)
slackware : very good and stable but not user friendly
Fedora Core : easy to use afaik, haven't tried it so I can't say what's its pros and cons
etc...
Fedora Core uses rpms (use 'yum' I *think* as equivalent to apt-get), ubuntu/debian use .deb files (apt-get), gentoo it's .ebuild, slackware .tgz ...
The window manager you want to use can be installed on ANY of these distributions (most of the time you'll have many window manager and when you login, you can choose which one to use for your session).
about ubuntu with the bar being at the top, I'm pretty sure it's configurable and you can put it wherever you want (probably just drag/drop the bar to the bottom...) but I don't use gnome so I can't tell you how to do it. What I do know though is that KDE is huge and slow... and most people are pro-gtk/pro-gnome, but I don't want to start a flame war (I don't use ANY of them!)
aMSN (and any other linux program) should just work the exact same way on all of these distributions.. read wikipedia or something to know what's really different about each distro.. usually, it's just a matter of 'taste', + the pros and cons of each.
An example of difference is, on debian, you do 'apt-get install amsn', you'll get version 0.94 maybe because debian is focused on stability and until the newer version is thoroughly tested and certified stable, it won't go in the apt-get repository (I might be a bit exagerating now...), on ubuntu, you might find the 0.97RC1, on gentoo, you can use a flag for it to download and compile the SVN version directly... So that's where the difference goes, how often the packages get updated, how stable is it, how thoroughly tested is it, etc...
Apart from that.. linux is linux.. so any linux program should work the exact same way no matter which distribution (unless for example distro foobar uses a new version of Xorg which itself has a bug, so amsn will crash because it can't connect to the X server, blablabla, but it's a rare case).
About your 'apt-get install ubuntu-desktop', you're right, it would be counter intuitive, and no,y ou don't need to do it manually on the CLI, but that's how I do it, because I prefer a simplistic system, so when I install the OS, I use the 'bare system', which is usually around 60 MB, then I install what I need when I feell the need for it, so usually after a month or two, any program that I might need (emacs, vi, more, less, ssh, svn, etc...) will be installed, and I have the system I need. but in theory, it should install the 'ubuntu-desktop' (which contains hundreds of dependencies, like X, gnome, etc..) by default.
Same goes for the next question.. since I use windows at home, I have linux only for my server.. the server is headless (no screen) so I don't need to install any window manager or X... so if I try to install amsn on it, it will try to install X with it since it's required... but anyways, it was just an example to show you the dependency system, it will depend on it, but it will not install it for you since it would have been already installed.
Concerning downloadable executables, no, that's the whole issue with linux, there are literally thousands (or hundreds of thousands) different distributions of linux out there, each one being different.. one uses X.org, others use Xfree86, some use libstdc++ 5, others libstdc++ 6, some have libc ABI compatible with gcc 3.4 others with gcc 4.0, some have gnome, some have kde, some have foobar, etc... in general, it's so much customizable that everyone has something different.. amsn depends on TkCximage for image handling, which is a library written in C++ so it links against libstdc++... I think that today 1/3 of the systems have version 5 and 1/3 have version 6 and 1/3 have both versions installed. Compiling amsn to work for them all was a huge problem, everyone was having difficulties, it was the biggest question in the forums when 0.95 got out. autopackage takes care of this problem by having a very old libc ABI so everyone is compatible, and the libstdc++ issue is solved by statically linking the libstdc++ library into the .so
anyways, in short, that's the problem with linux, I think the biggest problem, it means that everyone has to compile their programs for their systems... but thanks to distros repositories, your system has the same configuration as everyone using the same distribution (and same version), so you can download binary files for your distro, and it will work on your machine.
With aMSN, what we did before is provide something like 20 different packages, one for each type of distribution... it was such a huge issue.. but nowadays, it's not a problem anymore.
Having an executable is nice like in windows, but a repository system is better.. everything is taken care of by the system. If you can't find a program in the system, you can always write to the distro maintainers to add the package there, or just use the 'normal linux method', download the source package, extract it, and type "./configure && make install" and you're done... if it doesn't build, it will say something like : "libpng-dev missing" then you do apt-get install libpng-dev, and rerun the configure/make.. do it until all dependencies are met....
You can also create a debian file, and install it and you're done (for amsn, type "make deb" it will create the deb, so you can uninstall with apt-get remove amsn... if you were to use the SVN version).
Concerning amsn, compilation, etc.. no, there is no compilation needed for the amsn code.. BUT we use tcl/tk... it's fully interpreted, not like java, but the main problem with it is that it's very limited on what you can do.. so we HAD to add extensions to the language...
for example, there's no way to capture from a webcam.. so we had to write code in C to capture from the webcam and create a Tcl extension that will allow us to do it from tcl... same for image handling.. Tk only handles gif files, we need png support, so we have an extension for the png/jpg/etc... the voice clips and webcam codecs are written in C... the traydock is in C, the code for making the taskbar flash when you get a new message, it's in C... for capturing audio for the voice clips, it's libsnack (which is a dependency, we didn't write that extension)... some for drag&drop support... etc...
Just so you know.. Tcl is a 'shell'... it's actually 'tclsh' the command for it.. so you can use it instead of bash if you want :p Here's the list of ALL the commands it provides :
http://www.tcl.tk/man/tcl8.4/TclCmd/contents.htm (and
http://www.tcl.tk/man/tcl8.4/TkCmd/contents.htm for the toolkit)... compare that for example to the Java classes
http://java.sun.com/j2se/1.4.2/docs/api/allclasses-noframe.html .... that's why some things have to be compiled.. but apart from these 'extensions', everything is interpreted.
Finally, about DLL hell, I don't know what that is *exactly*, but go to c:\program files\ and look in each directory for the dlls.. try to see how many times the same dll are shipped with the program.. amsn for example c:\program files\amsn\bin.. what do you see? tcl/tk interpreter in there... good.. now you install another program which uses tcl/tk.. what will happen ? they'll also bundle tcl/tk with their app.. so now you have two installations of tcl/tk, both being 'private' (not usable by other programs), so it's a huge watse of space.. same goes for libiconv, or whatever.. and think about ALL the apps that use openssl... how many are they ? they all have the dlls of openssl bundled with them... it's a huge waste of space.. on linux, you install ONLY the program, all the dependencies get installed
system-wide so everyone can use them, and everyone uses the same version.. if a new version of openssl is out (to fix a security hole for example) ALL programs using openssl become more secure... while on windows there would be only one program with the new version of the dll and all others are still vulnerable... etc.. that, I would call dll hell.. although I'm not sure if that's what he meant.
Concerning that UPS thing, it's probably a rare case... from my experience, linux works best.. here's an anecdote.. I have a webcam and ALWAYS had issues with it on windows, the drivers had to be installed everytime, I always needed the CD with me.. for some reason the driver get uninstalled without me asking for anything, etc... it was hell... on windows... I never had the guts to test it on linux, being sure it would be hell to get it to work on linux... but once, I had no choice, I had to do webcam, and had no windows pc around.. so I plugged it in, and was waiting for the worse... as soon as I plugged it, the driver (that was installed with the system) got loaded into the kernel, automagically, it detected my webcam, added the device, and it was usable right away... I was so surprised on how easy it was...
For UPS, I also bought APC ups systems last year.. I installed the utility suite in windows, and all was fine.. then I went to linux... I did :
apt-cache search apc ups
it gave me this output :
kakaroto% apt-cache search apc ups
apcupsd - APC UPS Power Management (daemon)
apcupsd-cgi - APC UPS Power Management (web interface)
apcupsd-doc - APC UPS Power Management (documentation/examples)
collectd - statistics collection daemon
gapcmon - apcupsd monitor GUI
genpower - Monitor UPS and handle line power failures
nut-snmp - A meta SNMP Driver subsystem for the nut - Network UPS Tools
powstatd - Configurable UPS monitoring daemon
texlive-latex-extra - TeX Live: LaTeX supplementary packages
tinysnmp-module-ups - UPS MIB module for TinySNMP
there.. I just did 'apt-get install apcupsd' and I was done, it installed it.. the repo has all the software I need, even the UPS daemon for the APC brand.. with the GUI monitor, etc...
look at this :
kakaroto% apt-cache show gapcmon
Package: gapcmon
Priority: optional
Section: utils
Installed-Size: 240
Maintainer: Mario Iseli <admin@marioiseli.com>
Architecture: i386
Version: 0.8.5-1
Depends: libatk1.0-0 (>= 1.13.2), libc6 (>= 2.5), libcairo2 (>= 1.2.4), libfontconfig1 (>= 2.4.0), libgconf2-4 (>= 2.13.5), libglib2.0-0 (>= 2.12.9), libgtk2.0-0 (>= 2.8.0), liborbit2 (>= 1:2.14.1), libpango1.0-0 (>= 1.14.8), libx11-6, libxcursor1 (>> 1.1.2), libxext6, libxfixes3 (>= 1:4.0.1), libxi6, libxinerama1, libxrandr2, libxrender1
Recommends: apcupsd
Filename: pool/main/g/gapcmon/gapcmon_0.8.5-1_i386.deb
Size: 67190
MD5sum: adb7c30cb6801c39ffc24510411669fd
SHA1: 0698f065b699065fce20ef7d5e4b381c7909bca8
SHA256: 4ec1ff00f0a6fea268c985d65ddb1f75bec3030b8c1e86790d40c6791f21588b
Description: apcupsd monitor GUI
This tool is extremely useful if you have a lot of un-interruptable power
supplies. You can add them to a list of devices in gapcmon and it will keep
the statistics refreshed. It will also help you to see damaged batteries.
.
Homepage: <http://gapcmon.sourceforge.net>
Tag: uitoolkit::gtk
you see all the dependencies the monitor needs.. it will all get installed, and it will recomend the apcupsd daemon... I get a description, the homepage, etc... it's all MUCH easier than having to look for it through google or whatever I would need to do if I was on windows...
So... in short, dependencies are not hell, as long as your distro is well chosen (this was on debian, ubuntu probably has the same), and sometimes it's better than windows.. and a program not having its dependencies bundled is a lot better because it saves space and is more reliable (remember the openssl example or the amsn's tcl/tk bundle).
I think that's about it, I've been writing for about an hour, and I'm tired.. I'll leave it at that.. I hope I was helpful for you! don't forget I'm no expert.
and btw, your rambling did make a lot of sense.. now I hope mine does too, lol

Take care, and keep us informed on what you did
