Also, would anyone talk about FreeBSD vs Linux? What are some reasons to choose each?
Also, would anyone talk about FreeBSD vs Linux? What are some reasons to choose each?
There is also the fact that you're running a clean system. You install once, grab what you need, and you're left with a stable system where every potential problem has a very easy and well-documented fix. You do not suffer things like screen tearing because some unwanted compositor you do not actually use is conflicting with your Desktop Environment.
There are plenty of good distros, and they all have the lack of Ubuntu in common, my favorite is Arch, but your own opinion is the only one that matters, take an afternoon to check out the various favorites.
Now to Debian testing. It's almost perfect. I'm missing a bleeding-edge software update from time to time, but usually you can cherry-pick from Debian sid. There haven't been any issues with updates breaking stuff. I'm using XFCE, so it is fairly light-weight. I can even install Steam and play a game from time to time. It gets out of my way when I want to be productive, but I can still customize it without it getting bloated.
Slackware or Arch are great ways to get to know Linux.
It's one of the oldest sayings in the community that "if you know Slackware, you know Linux". This is somewhat less true for Arch but pretty close and still has the same spirit.
I've run Slackware, Debian, you name it and built my own LFS systems and run those as well. Slackware is as "raw Linux" as it gets, but due to frustrations with recent versions, I switched to Arch and haven't looked back for my Linux systems. It makes administration much simpler without having to do much that's specific to the distro and different from what you should expect in Linux.
That isn't something even remotely true about Ubuntu -- and apparently getting less so as time goes on.
tl;dr: what I'm trying to say here is that there are users and there are administrators. If you can't administrate your Linux system, you don't know Linux. Ubuntu tries to be a Linux system for users without needing to be a sysadmin. This is an idea that's "okay" I guess but in my opinion still not ready for primetime. Using a Ubuntu system isn't "knowing Linux".
Now, I feel Ubuntu took away the administrative capabilities of a system that has not yet grown out of its need to be administered.
It doesn't do nearly as much patching as other distros (save for Slackware or CRUX) to packages making reporting bugs upstream much more straightforward.
This explains it better than I do: https://wiki.archlinux.org/index.php/The_Arch_Way
Updating it needs some care, since once every few months a breaking change is announced requiring some manual intervention. But that's not a problem if you subscribe to the mailing list.
As a huge FreeBSD supporter, I feel there are many great reasons to choose FreeBSD, between the theoretical: well designed kernel, unified system; direct lineage to Unix; to the more legal: permissive licensing model; and the more technical; UFS support, BSD Jails, security work leaching over from OpenBSD. And personally, Ports being my favorite (source) packaging system.
But Linux has the killer feature: GPU support. Now, this is generally down to better community on the desktop, and the entire ecosystem is better, between drivers. Windowing systems, Video Games.
So even I, a massive FreeBSD supporter, have stopped running FreeBSD on my desktop out of pure practicality. It just isn't practical to do such.
For the non-linux experienced I would recommend starting with Mint (of which there are 4 versions, Cinnamon, MATE, KDE, Xfce.)
http://archlinuxarm.org/developers/distcc-cross-compiling
But I cannot turn off the screensaver...
Ever since I switched to Linux (it's been a few months now) because of those drivers issues, a small part of me dies every time I sit in front of this machine. :) What comforts me is that FreeBSD is focused on the server side, and doesn't compromise that for desktop battles which IMHO are lost to proprietary systems anyway. I would gladly accept using any convenient piece of crap on the desktop, such as Ubuntu or any other Linux distro, if that means FreeBSD stays focused on serious business(tm). On the server, you can take it from my cold dead hands.
Now, to get in the right state of mind for using it on the desktop you have to understand one simple fact -- no desktop related software is part of FreeBSD. FreeBSD is a whole operating system developed in unison consisting of the kernel, standard BSD and POSIX userspace and some necessary third party software without which it would simply not be a complete Unix system. Everything X (and desktop) related is part of the Ports system (i.e. third party software ported to FreeBSD but not part of it). This means that if you want Ubuntu level integration and functionality of your desktop you'll have to configure it yourself. I've seen many people who didn't understand this point clearly get frustrated and angry and miss the beauty of it.
So, for desktop use:
Pros (in no particular order):
* The sound system -- unlike the Linux mess, FreeBSD always had a sound sound system. ;) No need for PulseAudios of the day or whatnot to get multichannel, etc. it's all working right there in the kernel.
* The Ports -- you simply get the latest versions of applications as soon as available. Note however that sometimes Ports contributors and commiters can lag and you might end up waiting, but since the Ports tree is unique and shared among all supported releases of the system there is no policy of keeping outdated version of applications (it's partially a side effect of the fact that Ports are not part of the system and as such need not be stable, although some important things, and where it makes sense, have multiple versions maintained). High profile software usually gets updated within a few days.
* One of my favourites is GELI, the GEOM[3] module for disk encryption. It's so straightforward and easy to use (command line tools only) it's a real joy. It supports cool stuff like having a USB stick as a token in addition to a password. Because it's part of GEOM you can layer things completely freely, although with some caveats if you use GPT partitions.
* Some enterprise/server class features that might come in handy on the desktop -- Jails, GEOM in general, ZFS, PF...
* For Linux only applications there's Linuxulator (kernel translation for system calls) which works great although it's a bit dated (I think it doesn't support stuff added since Linux 2.4, may get updated eventually). Works with no performance penalty.
* Sanity and peace of mind (granted, this is subjective)
Cons:
* It may not have the drivers for some popular desktop hardware. FreeBSD is really server and enterprise oriented and it shows in driver availability. YMMV and always check the Hardware Notes for a particular release. Nvidia cards are fully supported with the proprietary driver.
* My personal pet peeve -- for years and years TeX Live wasn't available for FreeBSD. It's slowly changing and it should go into the Ports replacing the ancient teTeX (similar for Sage Math).
* The Ports -- yes they are in the cons too. While it didn't bother me that much, building stuff from source can be a burden. On faster machines it's not that scary, but each time Perl, pcre or something other that a lot of stuff depends on gets a version bump, if you're not careful, things can get hairy. On the other hand PKGNG, the new binary package management system, is great and once the new format packages become widely and officially available all of this will become a non-issue.
* As I said, you have to configure most things of interest on a desktop machine yourself. Apart from what vanilla desktop environments offer themselves, there is very little system level hand holding. OTOH, most if not all of it is documented.
* I'm not sure of Gnome 3 status right now, there were some problems. KDE 4 on the other hand has a great ports team supporting it and it's regulary updated, no problems there.
General remarks that are neither cons nor pros:
* Flash works fine in my experience (since it's Flash for Linux it requires Linux emulation enabled) but since HTML 5 become the norm I never bothered with it (for stuff not supporting HTML 5 video I just used applications which use Mplayer to stream flv and that's actually how I prefer it).
* Gaming -- if it works in Wine it will work in FreeBSD (having an Nvidia card is recomended).
[1] The basics work from 9-RELEASE onward at least up to Ivy Bridge graphics, but going to console from X via Alt+Ctrl+F<n> doesn't work and I think there are some other minor issues. Nothing absolutely critical, but I like things that work to work properly, it's the FreeBSD way after all.
[2] http://www.freebsd.org/doc/en/books/handbook/
[3] https://en.wikipedia.org/wiki/GEOM
EDIT: formatting