Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Coming from Ubuntu, I tried to see how I could use FreeBSD as my main desktop OS but I was rather disappointed. I was not able to set up X and I decided to try PCBSD which in my opinion proved to be not as usable as Ubuntu. What are the under-appreciated features of FreeBSD in your opinion?


The big feature for me is more a lack of one: it doesn't go shifting things under your feet. No pulseaudio, no udev, no pmount, no networkmanager. BSD is a lot better at keeping a coherent interface onto its system commands; if you've used it at any time in the last 30 years, you'll still know how to run a BSD system. A number of my ubuntu-using friends have actually given up on doing upgrades after repeated disasters; with freebsd I can upgrade in confidence that it won't break anything.

In terms of specific features, jails and ZFS are the ones that immediately come to mind. But if you want features FreeBSD is probably not the system for you; it's built with stability as a higher priority.


What's wrong with udev and pmount? Do you want to scan dmesg to see which serial port your USB AVR programmer has appeared as? Do you really want to edit /etc/fstab to mount a flash drive?

pmount and udev are both simple pieces of software that automate away common tasks. I don't understand all the hate.


>Do you want to scan dmesg to see which serial port your USB AVR programmer has appeared as?

If I only have to do it once it's no biggie. Do you want to have to rummage around in /dev to see which new name your DVD writer has been given today? I suspect that specific udev bug has been fixed by now, but I still don't feel confident that I can reboot a linux system and have my device nodes be the same ones they were before, even though I haven't plugged anything new into the USB ports since 2009.

>Do you really want to edit /etc/fstab to mount a flash drive?

I should've been clearer; if you set it to allow user-level mounting then FreeBSD will let one simply use the regular "mount" command with its ordinary arguments to mount a flash drive. No need for a new command with a new name.


I still don't feel confident that I can reboot a linux system and have my device nodes be the same ones they were before

I'm sorry to hear that? udev lets you match devices by their serial number, so there's no reason why device symlinks should be moving around on you unless you've written overly-general rules. (Expecting something like /dev/ttyUSB0 to point to a particular device is rather optimistic, of course, which is why you write a rule to make that /dev/avr_programmer or something.)


> (Expecting something like /dev/ttyUSB0 to point to a particular device is rather optimistic, of course, which is why you write a rule to make that /dev/avr_programmer or something.)

And then the rule format changes, or something. Point is I've never had a problem finding a device without udev; I don't generally hotplug things into my desktop. The exception would be flash drives, but the first one plugged in becomes da0, the next one becomes da1... it's never been an issue for me because my only use cases are "leave this drive plugged in all the time and mount it in fstab", in which case it has a stable device node in practice if not in theory, and "mount a friend's drive that I will most likely never connect again"... anyway. My experience is that for a system with the same set of devices plugged into it, multiple boots will reliably give each device the same /dev node on a non-udev system.


The first Unix server I've set up was FreeBSD. I was able to go from zero to multiple services working in a sensible manner with next to no Unix experience, using only the Handbook and Running Linux as my guides. Mind you, that was done via command line, not by clicking buttons, so I gained a lot of understanding of how things work in those 3 days.

The core system installs in couple of minutes and runs well on even the crappiest hardware.

There is not WTF stuff associated with runlevels (there are no runlevels).

You can find and install software by navigating a certain directory in the system and typing in one standard command. Great for feature discovery.

FreeBSD has the best documentation among all the software I have ever used: the Handbook, the help screens in the installer, the security emails, the upgrade notes.


The keyword for me is "desktop". I know FreeBSD might be a good server OS. My question is what features does FreeBSD bring forward for the desktop user in order to be a serious concurrent for Ubuntu, Fedora and the other desktop OS distros.(Does it have a better sound devices support ? better window/desktop manager ? Printer support ? Is it better suited for beginers/average experienced users ?)


For a desktop OS, I'd only recommend it for experienced users and those who are willing to hit lots of walls and keep going. You will have a harder time getting almost everything running. For sound, you may have a lot of headaches if you don't like parsing logs for errors, scouring man pages and tweaking config files many times before finding a mix of settings that works. At least that was my experience the second time I tried to use it as a desktop OS (the first time, I gave up before I got to sound). Maybe try PC-BSD, which is aimed at providing a user-friendly FreeBSD desktop experience. FreeBSD does not implement lots of features or aim to be the first to support new hardware.

I have used it as a desktop OS for a few years, and it was definitely a learning experience for me. It was a great one though, because the experience helped me land my first job right out of college in a shop that extensively uses FreeBSD.

But TBH, you should probably just use it for servers ;)


It does not have drivers support as good as Linux. Though I found that most peripherals work as intended. The desktop/windows managers are the same as in Linux world - Gnome, KDE, Xfce and Lxde. Most softwares which work on linux will work on FreeBSD too like Python, Ruby, Java. On top of that, FreeBSD has Linux binary compatibility. So, technically, you can run anything that runs on Linux. But, I found that google tools or gigantic packages like eclipse do not work on FreeBSD (or I don't know how to make them work). The best thing about FreeBSD is what is best about distros like Arch Linux. They have rolling release. So, you don't have to distupgrade every year and face some weird upgrade problems. Another thing is FreeBSD is much stable (like Debian), which has the same advantages and disadvantages. The cutting-edge stuff does not appear in FreeBSD ports/packages till it is thoroughly tested. Third advantage is FreeBSD is a whole Unix OS in contrast to Linux being a kernel. So, you don't have a lot of variety like in Linux world, which is again a good thing and a bad thing. Most sys admins have experience only in a debian or red-hat distro. So, it will be difficult to find somebody if you are using a distro like Gentoo or Arch or Slackware. In BSD world, there are only two server-based OSes - FreeBSD and OpenBSD, which are similar (at least not as different as debian and red-hat). Finally, FreeBSD is closer to its Unix-roots than Linux. I find that FreeBSD people believe that if you have good documentation, people will be comfortable with command line. Linux world is more about making it more newbie friendly with nice GUIs. (Hence the dominance of Ubuntu).


My typical question is what does "desktop" even mean? Yes, BSD can run a window manager. It can run cups (though perhaps not the binary driver that counts as support for your $20 inkjet. I recommend, for many reasons, dropping the $100 it takes to get a laser printer with an ethernet port). It's POSIX and X11.

You may have trouble with flash, but didn't you get the memo? Flash is dying. :)


It's not a good desktop system. Furthermore, I don't think that's a priority of most FreeBSD users or developers. If you aren't comfortable in minimal environments, you should be using a more user-friendly system like Ubuntu/Mac/Windows.


I completely agree.

The handbook is brilliant, FreeBSD is the first non-windows OS I've ever installed. Back then I didn't have an internet connection and did everything with the Handbook alone.

Compared to ubuntu (or really most linux distros, or even PCBSD) it's of course much more complicated, but I really understood what I was doing and how stuff worked.

If you really want to understand how a un*x system works, I really recommand that you give it a try (I've heard similar testimonies from people installing Slackware as well, but FreeBSD's handbook is really stellar).

Beyond that, of course it's not Linux so the hardware support is sometimes sub-par, so I use Linux on the desktop these days. It's still my OS of choice for my servers tho and I wouldn't trade it for anything else.


After Linux/Ubuntu 10.10 upgraded to 12.04 and I saw the default window manager/Desktop Environment has suddenly changed from A to Z! (From GNOME to Unity) That's something which never happens in FBSD, and this is one of the reasons I still use FBSD because I know by each release there will be various improvements but not any unwelcomed and frustrating surprises.


Well, geom, ZFS and dtrace are generally features that people like a lot. Also, the BSDs are quite lightweight, which makes them nice for such hardware.

Linux has competing technologies such as btrfs and SystemTap, but they may not be as mature.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: