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
The only problem with that is that Macs probably represent all of the anti-Unix nonsense he's trying to get away from by fleeing to one of the pure BSDs.
I also can't imagine a Gentoo user being satisfied with Mac hardware. Gentoo is kind of the polar opposite of the Apple mentality. The end user has limited control and is presented with limited questionable choices.
A Pirate and a Puritan look the same on a balance sheet.
I have been a huge supporter of Linux since I brought up my first Linux box in September of 1996. I sneaked Linux onto the raised floor of a multi-billion dollar Fortune 500 company in about 1998. By the time I left that job, RHEL was the preferred O.S. with well over 200 (virtual + physical) systems in use.
On the off chance that someone in a position of authority over Linux development reads this, you people are cutting your own throats with lunacy such as systemd and networkmanager.
Like the original poster, I am starting to look for alternatives to Linux.
Circle the wagons and fire inward. Entropy increases without bounds.
It has been a fairly long slide.
I feel like at some point mass adoption became the big goal, and a lot of the things that really drew my to Linux in the first place have eroded away.
I always loved the variety of choices for just about everything and the general "if you don't like it, change it or make your own" mindset. The new thinking seems to be centered around agreeing on standards and rallying around a subset of options in order to make a more presentable solution to present to the masses. This is probably great for humanity and all, and even if we just end up with an open source version of Windows it's probably a good thing, but it's not what made me love Linux.
Systemd is just another step down that road.
If most of your applications are open source, switching to BSD will be fairly straight forward on that front. That's particularly since you're coming from Gentoo (i.e. you'll probably have to compile a lot of the software that you want to run under BSD).
The biggest hurdles are going to be the sorts of things that a generic question cannot address. Is your hardware compatible with the version of BSD that you've selected? Unlike Linux, where everyone is using the same kernel and has almost the same access to kernel modules, different implementations of BSD use different kernels. As such, selecting an implementation depends as much on low level details as it does on the userspace. (While I've pointed out hardware compatibility, any feature that is found in the kernel needs consideration.)
Another consideration is whether you're comfortable with managing BSD systems. Unlike hardware support, this is difficult to assess objectively. Some people like the core OS being a unified system that you update all at once. Other people like the piecemeal approach of Linux. Keep in mind that the core OS could mean everything from the kernel, to development tools, to the X server. (It does vary a bit from implementation to implementation.)
You will also run into a bunch of stuff that you'll have to relearn, particularly if you're accustomed to working in the shell. Software packaging and installation is the first one you'll bump into, but BSD also has it's own set of utilities. Some of these utilities are quite similar to the GNU utilities, but the extended functionality is quite different.
If you want to switch to BSD, I suggest doing it on a secondary computer first. If you run into specific issues, ask specific questions. Odds are that those issues can be resolved, but it will take time to sort through all of them. BSD can be an immense pleasure to use, but it involves a lot more than which applications are and aren't available.
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.
Both OpenBSD and NetBSD come with XFCE, OpenBox, Firefox, mplayer (or equivalent). NetBSD pkgsrc may be a bit closer to Gentoo than OpenBSD ports/packages, but both are excellent package systems. You may get more games with NetBSD, including Minecraft and others but I haven't checked, so don't quote me on this.
If you are used to Gentoo, picking one or the other should not be too difficult, but OpenBSD, while a bit picky when it comes to hardware, is also a bit easier to use: if a piece of harware is supported, it is supported. Period. NetBSD often requires compiling a specific kernel to add this or that peripheral. OpenBSD usually supports everything out of the box, as long as it is in its harware compatibility list. Plus, there is this schweet schweet security goodness, now with LibreSSL gooey core!
Here is a quick example: I have had a motherboard die on me. I just ripped off the main HDD out, put it into a slightly different machine, and OpenBSD just picked up the harware changes, reconfigured, checked the filesystems and worked without making a fuss. I have used OpenBSD for many years in a second-hand laptop, where everything was supported, and it was a pleasure to use as my main machine. The update procedure is quick and easy, and a new version of the OS comes out every 6 months like clockwork.
So there you go, hope this helps.
The right to offend is far more important than the right not to be offended. (Rowan Atkinson)
You don't want to use BSD on the desktop.
I'm not saying you can't, all the usual stuff is in FreeBSD ports, there are distributions like PC-BSD that attempt to be good for desktops out of the box. If you really want to make it happen, you can. I've watched many Linux and FreeBSD folks spend countless hours making their desktops work.
Even going to a hard core sysadmin conference, you're going to see a sea of Mac's, some folks even using Windows, and a smattering of the hard core on Linux desktops. Why? To work with other people in their company or at other companies they need Skype, or WebEx to work. They need Excel to open the quotation for hardware, and flash player to view some mandatory training. They want resource browsing that just works so they can print to a printer in the office.
The reason BSD is great in the data center is lots of people use it for that. It's a network effect. You're standing on the shoulders of other folks. It's the same reason Windows and OS X dominate the user desktop market, the software you need just works on them, someone else has made it work. If I told you to replace all of your data center servers with Windows 8 boxes you'd probably laugh at me, and yet the opposite question does not provoke the same response!
So if you want to, try. It can be done, with much blood, sweat, and tears. You might find that fun, if so enjoy! You might work for a small enough company or even just yourself where you can mandate BSD, and LibreOffice and be happy. If so, you are extremely lucky. Otherwise as a long term, die hard, FreeBSD supporter I can tell you from 20+ years experience, you're going to just frustrate yourself.
Maybe I'm just in a bad mood and being an asshole, but I can't quite wrap my head around this post. "Hi everyone, I'm a random anonymous person on the Internet. For reasons I won't explain, I've decided I don't like Linux, and I want to try BSD. My needs are that I really want to play 3 specific games and run Firefox." I'm not even seeing where he actually asks a question, but timothy wants to know how Mr. Anonymous can fix his undisclosed Linux problems by moving to BSD.
Well, let's see. First, since you're apparently just running games, who cares what OS you're using? Does your current OS play those games? If yes, keep it. If not, look to see what operating system supports those games, and choose one of those operating systems to try out. Firefox and some kind of view player? I don't think that'll be much of a problem. Somehow the issue of hardware support isn't raised.
You know what? Use PC-BSD. AFIAK, it's basically the only BSD distribution, aside from Mac OSX, that's specifically targeting desktop use. Or maybe, since you only need a web browser and a couple of games, you should use whatever OS runs those games and stop worrying about it.
So is there a point to using OpenBSD if you install flash? I'm not trolling, I'm curious and open to the fact that there is almost certainly something I haven't considered, but running OpenBSD and then installing flash feels like spending a million bucks on a safe, and then writing the combination code to open it on a sticky note attached to the backside of a painting hung on the wall next to the safe's door.
What changed under Obama? Nothing Good
OS X is Unix. FreeBSD, Linux and every other crappy "work-alike" you idiots are talking about, by contrast, aren't.
Oh, come on, it's not just that. It's also PulseAudio, also from Poettering, and udev, from RedHat's Kay Sievers, and how glibc emphasizes performance over security, from (formerly) RedHat's Ulrich Drepper, and possibly some of the silliness around RedHat-funded KVM, and the NIH silliness around ZFS vs (Oracle) btrfs, and dtrace vs strace/ftrace/whatever, and the performance of NetFilter and its proposed replacement nftables vs BSD's pf...
systemd might be the straw that breaks the camel's back, but there are many areas where someone might have issues with Linux. Personally, I'm not that invested in it either way, so I'm most swayed by software and hardware compatibility, where Linux wins really, really big. Though, I wonder what sort of reality distortion bubble RedHat is projecting around their developers, that so many of the issues are with RedHat stuff.
Have a nice time.
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.
...is a Debian userland on top of the BSD kernel. It lets you use all the tools you're used to while also getting all the FreeBSD kernel goodness, like in-kernel ZFS, etc.
It's still a work in progress and not all packages are built for it, but it works really well and is very pleasant to use; plus you get dpkg and apt.
Of course, one possible downside is that you don't get the BSD userland, which has a flavour all of its own. Whether you think this is a good thing or a bad thing is purely a matter of personal taste.
| which variety of BSD would you suggest?
OSX
Maybe if you only want clicky clicky ways of changing things. Otherwise there is still a full terminal and BASH installed, and you can update many many system settings through the CLI. I am using a terminal right now as a matter of fact.
Then there is the questionable applescript / automator scripts you can make. I say questionable because I don't know if they can change any deep system things, but automator at least can do some pretty neat tricks... I don't know if Linux has something comparable, other than shell scripts which I can still run in OS/X.
To err is human; effective mayhem requires the root password!
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.
Also due to "a variety of reasons", I've also been looking at BSD on the desktop. Co-incidentally, I was just trying out the new PC-BSD release in a VirtualBox VM as this article appeared. It gave me a nice KDE desktop and so far looks pretty slick. The other stuff there like the package manager and control panel is enough to give Ubuntu a run for its money. I'll be interested in seeing how good it is in practice after a few weeks of real use.
Over the last year I've been slowly moving my software away from Linux. It's now mostly on FreeBSD or in the late stages of porting to BSD (adding BSD-specific features e.g. ZFS support, jail support). The desktop is really the only thing I still keep a Debian system around for. My last system will be a GNU/kFreeBSD jail instance on a FreeBSD server. I'll do a bare metal PC-BSD install in a few days and give it a try. If it works nicely, I think my last Debian unstable system will be removed in the near future. I was trying out (since 10.0) the newcons console and radeonkms stuff; mostly worked fine, and now with the new Xorg, no different than with Linux (maybe better, even, due to missing the worst parts of the freedesktoppy crap).
Linux in general, and Debian in particular, have been the major focus of my life over the last 14-16 years. It's been quite sad to let it go after the amount I've invested into it personally, but with systemd becoming unavoidable in unstable, it's no longer a system I wish to use or develop for, and developing went from being a joy to quite unpleasant. The enthusiasm I had was killed by several years of systemd flamewars and the last sparks were extinguished by bad interactions with a certain number of gnome and systemd people. It was clear over 18 months back this was an inevitable outcome unless something dramatically changed (which hasn't happened), and that my needs, goals and wishes were almost diametrically opposed to the new world order. systemd is the straw which broke the proverbial camel's back. Over the last few months I've had a few bug reports for my software. All due to systemd changing how the system works fairly fundamentally, and yet every upstream is supposed to work around this. This is code which is pretty much just using POSIX features directly out of APUE (Stevens). The lack of care for backward compatibility is unbelievable for such a fundamental part of the system, and altering the behaviour of basic POSIX features even moreso.
Hi, adrian@freebsd.org here. If you've had issues with suspend/resume and poor battery life then please drop us/me a line. That's something a group of us are slowly fixing.
-adrian
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.
Wow, add that to systemd and pulseaudio and it's almost looking like he's on the MS payroll to break stuff in linux. However, the reality is likely to be that he has a vision to change linux into something different to what it is now which of course is not going to be painless and seamless - hence the annoyance with pulseaudio during the first few years of development and the annoyance with NetworkManager until relatively recently. NetworkManager may have pissed me off at times on fixed systems (and earlier in development) but it's now a pretty nice thing to have on laptops.
If you want to completety change the compartmentalised idea of linux (where you change settings and they stay changed) to something very interdependant there's going to be a pile of glitches on the way to pretending to be a Mac. Complaints about beta software going into distros are fairly pointless since it's not going to get much better without a lot of people hammering at it and finding the problems. It does however mean that there is a very large and widening gap between what's acceptable in an office environment (RHEL6 or Fedora13 from 2010) and the cutting edge (Fedora20).
I just encountered a link about refracta. It turns out to be absurdly easy to fork Debian, at least for now.
Refracta is rather close to Debian testing. Its home page
is http://www.ibiblio.org/refract...
At http://forums.debian.net/viewt... it is described as
(for testing, without libsystemd0, it's pinned).
It even uses the Debian repositories!
Are there any other forks?
-- hendrik