Ask Slashdot: Workaday Software For BSD On the Desktop?
An anonymous reader writes So for a variety of reasons (some related to recent events, some ongoing for a while) I've kinda soured on Linux and have been looking at giving BSD a shot on the desktop. I've been a Gentoo user for many years and am reasonably comfortable diving into stuff, so I don't anticipate user friendliness being a show stopper. I suspect it's more likely something I currently do will have poor support in the BSD world. I have of course been doing some reading and will probably just give it a try at some point regardless, but I was curious what experience and advice other slashdot users could share. There's been many bold comments on slashdot about moving away from Linux, so I suspect I'm not the only one asking these questions. Use-case wise, my list of must haves is: Minecraft, and probably more dubiously, FTB; mplayer or equivalent (very much prefer mplayer as it's what I've used forever); VirtualBox or something equivalent; Firefox (like mplayer, it's just what I've always used, and while I would consider alternatives, that would definitely be a negative); Flash (I hate it, but browsing the web sans-flash is still a pain); OpenRA (this is the one I anticipate giving me the most trouble, but playing it is somewhat of an obsession).
Stuff that would be nice but I can live without: Full disk encryption; Openbox / XFCE (It's what I use now and would like to keep using, but I could probably switch to something else without too much grief); jackd/rakarrack or something equivalent (currently use my computer as a cheap guitar amp/effects stack); Qt (toolkit of choice for my own stuff). What's the most painless way to transition to BSD for this constellation of uses, and which variety of BSD would you suggest?
Stuff that would be nice but I can live without: Full disk encryption; Openbox / XFCE (It's what I use now and would like to keep using, but I could probably switch to something else without too much grief); jackd/rakarrack or something equivalent (currently use my computer as a cheap guitar amp/effects stack); Qt (toolkit of choice for my own stuff). What's the most painless way to transition to BSD for this constellation of uses, and which variety of BSD would you suggest?
It's basically a respin of FreeBSD with some packages preinstalled and a nice desktop from the get-go. It includes Firefox and Flash in a default install, works as a VirtualBox guest and host, there's a Java implementation for your Minecraft fix, and there's good documentation.
You can also choose between several DEs and WMs, such as KDE, Cinnamon, FVWM, Xfce, and many others.
Just go with FreeBSD. It's the one with most broad hardware support and easiest to transition from Linux. The major desktop projects (KDE, XFCE, GNOME (probably not any more) try to have FreeBSD support as their priority. Less so for the other BSDs.
OpenBSD and NetBSD have their pluses, and excel in their respective areas. I think that after getting used to FreeBSD, you will have an easier time with OpenBSD on your firewall and NetBSD on your toaster :P
FreeBSD is the fastest, easiest to use and most widely supported option you will find. You can run any program that you can run on Linux, you'll never have to worry about running out of RAM due to FreeBSD's advanced memory optimization algorithms, and installing software is a cinch. You have two ways to do everything, and you don't have to worry about being locked in to the vendor's way of using the software that's available to you, because FreeBSD gives you all the control you could want. Additionally FreeBSD doesn't crash, and it's completely invulnerable to security vulnerabilities due to the included bhyve hypervisor which keeps each process in its own FreeBSD jail. You'll have to configure the IPs for each jail statically, though which can be a pain, but it's worth it. Additionally, FreeBSD is much faster at opening files because it caches the entire file system in memory, which isn't possible in other operating systems, but due to the aforementioned memory optimization algorithms, is perfectly sensible. Additionally, you can mock users of all other operating systems, such as DOS or OS/2, which lack the great features and security of FreeBSD. If you want to compare FreeBSD to other BSDs, such as iOS or Android, that's understandable, but neither of those operating systems give you full root mode or allow you to compile your own software. Additionally, FreeBSD has recently adopted the Clang compiler, which emits a sound reminiscent of two metal bars colliding to let you know your compilation is complete, and colorizes your warnings if you have a hard time parsing your own output. If you want the the latest file system, or multiprocessor support, though, you should think about using Dragonfly, which has these features built in.
In summary, if you prefer emacs and lisp to vi and C, you should use Linux, which is written in lisp on an emacs editor. However, if you feel more comfortable with vi, or are looking forward to trying out the soon to be released second edition, vim, and write your programs in C, you should use FreeBSD. FreeBSD comes with vi and C support built in, and you can try the new vim text editor if you buy a CD from a third party vendor which will allow you to install it in a jail managed by bhyve to protect you from any bugs running beta software may introduce into the expected behavior of your installation of FreeBSD.
OS X is Unix. FreeBSD, Linux and every other crappy "work-alike" you idiots are talking about, by contrast, aren't.
a focus on usability and mass appeal over flexibility and choice.
Let's parse that, because there's a lot packed in that small fragment.
focus on usability, so your complaint is that a vendor is spending a lot of time and effort making the software easy to use? Huh?
mass appeal, it's somehow a negative if the best option available is something everyone likes? Or turned around, it can only be a good option if a lot of people hate it? Huh?
over flexibility and choice, in what? In software? On a Mac you can open up a terminal window and ./configure;make;make install pretty much any open source software I've ever seen. I think you'll be hard pressed to find any software that runs on FreeBSD that does not run on a Mac. Exactly how is a Mac limiting your choice of software? Perhaps you mean they only allow specific things in their App store? That's kind of like complaining that Ford limits your choice of tires by only selling Firestone in the service department. Maybe you mean in hardware? Except you can run any operating system you like on it. Plenty of people have installed Windows or even FreeBSD onto Apple hardware, it works just fine. You can throw out all of OS X if you want and still use the hardware. Now true, you can't do the opposite and run OS X on hardware of your choosing, so I'll give you that is a small limitation. But in the end what difference does that make.
You were drawn to linux to play. We've all gone through a phase where we tested 10 different window managers just to see what each could do. Linux, FreeBSD make that easy. It's fun. Other than a couple of guys at RedHat, I can't think of anyone who gets paid to do that though. Your job description probably doesn't include testing every software alternative in Linux.
I've been using BSD for a long time, both in OpenBSD and FreeBSD. FreeBSD is fantastic. I use mostly just plain Xorg and i3 window manager. With emacs, LaTeX and conkeror I can accomplish all that I need to do, and do it efficiently. However you can put as many bells and whistles on your installation as you want. True, you could do that with linux but there are some very important advantages with using FreeBSD:
1/ ZFS file system. This alone is worth switching to FreeBSD. If you don't know what it is, learn how to use it. What is extremely useful is doing "zfs send" of snapshots to another machine. Need more storage? Just add a disk to the pool. ZFS is very much production grade in FreeBSD 10.1.
2/ Jails. These are better than VirtualBox in my humble opinion, but they do have a learning curve. The advantage is putting each jail on a zfs filesystem where you can do snapshots of different stages of your application deployment and if something doesn't work you can simply rollback. Yes, I know you can do this with VMWare and the rest but jails allow me to access the filesystem directly in the command line and in general it is much more intuitive for my work habits. Note that you can also install jails of different flavors - for instance a debian jail where you can run everything just like it is on linux.
VirtualBox works just fine on FreeBSD, but I'll admit I haven't used it much.
3/ General simplicity of the system. Linux is fastly becoming as non-unix like as possible [though to be fair GNU is Not Unix]. Just a simple install of Ubuntu and you will see tons of processes running that you sometimes wonder what they are all up to. This may provide some utility for some people, but most people will never use those features. In FreeBSD I know exactly what each process is doing and it is very easy to turn off or enable as I desire. FreeBSD provides me control because I know the system, and the system is easier to know because it is much simpler and in my opinion more coherently designed.
4/ Much better documentation. FreeBSD (and BSD in general) has a good reputation for providing documentation. Almost everything you need is in the handbook. Also there is a lot of stability in the way things are done. Often in Linux the entire manner of doing things is changed from one version to another. Plus there are no monstrosities like NetworkManager which are opaque and not very well documented.
5/ More secure - a system is only as secure in as much as you know how it is working and what it is doing. In this case FreeBSD is more secure because I know more of what it is doing. With Ubuntu giving web searches every time you try to find a file on your machine, there is just asking for trouble.
6/ The system is more responsive. FreeBSD simple feels more 'alive' in the sense it is doing only what you want it to do. You don't have to wait for that useless application to stop doing what it is doing because it is not there. You don't need to wait for the indexing of the harddrive to give you back control of the system, as you decide when it should be done, etc. But I think even the UI elements are much smoother even on large desktops like KDE. The scrolling of windows for instance seems much more responsive than it is on linux, but that could be due to all sorts of factors.
As to your particular needs:
A/ Minecraft works just fine. http://minecraft.gamepedia.com...
B/ I have no idea, but an acquaintance tells me it works. In the forums they mention FreeBSD so someone must be using it.
C/ Mplayer works just fine, but I've seen a lot of people use VLC.
D/ Firefox works extremely well, though I use Conkeror which is simply a different shell to the same browser.
E/ Flash works with a multiple of different options.
F/ No idea to be honest about OpenRA. If there is source code I'm sure you could get it to run. At the very worst there is a linux-emulation layer.
G/ All the major Desktop Environments are in
I just went through this a few days ago. Seems every year or two, I re-visit FreeBSD and ask myself, what would I miss if I switched entirely. A brief description of my encounters with FreeBSD 10.1 this week below:
/KVM, but VirtualBox could certainly fill this need.
1. ZFS cross platform worked beautifully. I have a multi-disk "ZFS on Linux - created" pool. I had no problems importing the pool with FreeBSD. And, as I switched back after running the pool under FreeBSD for a few days, I encountered no issues re-importing the pool under ZFS on Linux.
2. I have many KVM/qemu VMs. I'd love to run bhyve, but many VMs are Windows. It's not too hard to convert the images to boot up under VirtualBox. VirtualBox under FreeBSD works very well. For managing multiple VMs across several servers, I prefer virt-manager
3. While copying large vm images, I realized BSD's cp command doesn't support sparse files. One is left to use rsync. There is the linux/compat cp command which does support sparse, however this cp command crashed on me while copying large files.
4. Minecraft -- It worked great under FreeBSD -- just be sure to follow the directions to point to the correct Java runtime in your Minecraft profile.
5. I installed serveral other programs I use frequently (some binary installs from pkg and some source compiles): Chromium, Thunderbird, Blender, KDE, Gimp, Kdenlive, LibreOffice, OpenJDK , NVidia driver using a 3-headed display, VLC, MPV, HandBrake, FFMpeg, and others. All these worked fine. For the most part, my FreeBSD desktop was indistinguishable from my Linux desktop.
6. I set up several NFS4 exported mount points. No issues mounting these from multiple Linux hosts.
7. Webcam tested no issues. I had to install webcamd and follow the instructions.
8. Audio tested and worked well out of the box.
9. VNC server and clients worked fine.
Overall, I'm -- once again -- very impressed. Setup was fast ( even ports package compiles were very fast ). I'm familiar with FreeBSD, so that helps with the install time. Newcomers should always expect to put in extra time (As mentioned, PCBSD can help get you into a graphical environment quickly, so less of a learning curve). What would I miss if I switched over 100%??? I would miss KVM/virt-manager, native cp support of sparse files, native mkvmerge, and I'd love to get a native Eclipse IDE Luna port., and an intel 7260 Wifi driver. To be fair, I still need to give it more time. I might try again this weekend and coming week, since I'll have some free time. If you enjoy tinkering and learning the details of configuring your OS, FreeBSD is great. For a quick, get-it-up-and-working, PCBSD works very well.
Seriously. This is getting silly. If people want to flee the main Distro's because they think that Debian is getting stupid. Can they please just fork Debian and improve on it? Apt-get works really well. I just feel that a ton of people are throwing the baby out with the bathwater. The Linux kernel does not mandate systemd. There is no reason to ditch Linux. If the problem is distributions mandating systemd then it is time to start a distro that removes systemd and Gnome. Let's not kid ourselves here. Right now it's Gnome and systemd that are pushing this move on everyone. If people don't like it, they should be looking to fork a distribution and fixing the issue. Maybe brand themselves as a POSIX/SYS-V init Compliant distribution.