I am in the process of making FreeBSD my primary desktop OS, which is not always easy since I have a limited amout of *nix experience. I chose FreeBSD after doing the Linux distro-dance, and eventually settled on FreeBSD because it seemed to be the best behaving OS. Based on word-of-mouth, and netcraft figures, the FreeBSD team has accomplished the goal of creating a completely free world-class Operating System. My problem is that my goal is slightly out-of -alignment with the FreeBSD teams's goal, since I *also* want an OS that is easy to use as a desktop OS. When I was having problems getting the Helix player to work on FreeBSD, I briefly went and tried "Ubuntu Linux", since it appeared to be a good desktop OS. I quickly found that using Ubuntu meant learning how to do everything "the Ubuntu way", which would not have been so bad if things worked as advertised. Trying to play an mp3 file in XMMS resulted in my machine locking up. There are some good Ubuntu sites that have detailed explanations of how to accomplish certain tasks, but it quickly became apparently that getting Ubuntu to work wasn't going to be any easier that using FreeBSD - so I might as well stick with FreeBSD. Which is what I did.

I know about DesktopBSD and PC-BSD. They both appear to use KDE, which I think might be a fatal flaw (for my puposes). I tend to use Gnome, but I also think Gnome would be a mistake. I prefer to use programs that have as few dependencies as possible. I currently use FluxBox, and plan to use FVWM2 (once I figure out how to control it). I've had sound problems when I used KDE, and heard about CD-burning problems when people use Gnome. KDE and GNOME are probably fine if you are going to use them exclusively, but I prefer a best-of-breed approach. I want a lean and fast machine, that doesn't break easily.

Recently I have been able to get my FreeBSD desktop PC to an ideal state. I got my deskjet printer working. I can play enemy-fortress now that I have the nvidia drivers loaded. Anjuta is a good IDE with wxWidgets support. XMMS doesn't hang. Pptpclient can connect to my workplace's Win XP machine. QEMU can run Win2k when I need to. Life is good and getting better. It just took a long time to get here.

One remaining issue is that I tend to update my machine, which sometimes breaks things. It occurred to me, that the solution to this should be to not track x-current. I'm not completely familiar with the way the branches are named, but I believe a "release" is a stable snapshot in time - the type of release that would be burned on a CD. At that point in time, "release" is frozen, and "current" continues to march ahead with new features and fixes. I think there is another type of branch called "tracking"(?), which only adds fixes to a "release". The "tracking" branch is better for servers where you don't want new features and the bugs that sometimes accompany them. I now realize that a desktop machine running a lot of GUI apps should probably be tracking "tracking" instead of "current". That way, a new fancier version of some dependency would not break portions of my desktop. Instructions on how to configure a desktop system might suggest the user not track "current", but instead the "tracking" branch that only has security fixes.

What I wish existed is a document that I will eventually write, if it does not already exist somewhere. This document what be how to configure a functional desktop that had a high chance of working, and a high chance of not breaking. It would have to assume certain things, like a deskjet-compatible printer, ne2000 compatible NIC, nvidia based video, VESA compliant monitor, etc. If those requirements were met, there could be a long list of apps that were guaranteed to work out-of-the-box for a specific "release" of FreeBSD - if specific instructions were followed. This might sound draconian to people with a lot of FreeBSD experience, but for newbies trying to escape the Windows World it is a passport to the New World.

The list of possible tasks would be something like: Connect to work via VPN and RemoteDesktop, browse with Firefox+Java+Flash, print on an HP printer, play 2-3 OpenGL games, develop within Anjuta C++ IDE, play-rip-burn DVDs and CDs, connect to iPod, connect digital camera, connect scanner, update system (without it breaking), run QEMU, run WINE, Thunderbird email, and just about everything else a typical desktop user might want to do. It would *not* be things like, "run a major Apache website", or configure email for 10,000 users, etc. It would be about being Free and functional.

I liked DesktopBSD's goal of being FreeBSD+otherstuff, where the base system is still 100% FreeBSD. I also like what PC-BSD will probably be trying soon, to mimic the way Mac OSX runs apps with all their dependencies in a type of "jail" - that would make installing desktop apps a breeze. I think PC-BSD is going to have to petition video to be allowed in/out of the jail, or something like that. I have also heard about the KDE "klik" initiative, but it sounds KDE-dependent. As far as I could tell, neither DBSD or PCBSD had a way to install via floppies, which negated my ability to run them on my preferred (if not old) laptop. It seemed to me that a "standard desktop configuration" for a "standard FreeBSD installation" would suit me better.
Does such a thing exist?

If not, what I plan to do is document what I have done. The goal would be to help people with a little-to-moderate amount of *nix experience get a functional system up and running, and that would stay up and running. Giant apps like KDE and Gnome would be avoided. Best-of-breed would be encouraged. Questions and answers would generally be restricted to the recommended apps. As users became more experienced, they would naturally drift away and do more of there own thing. When I first started running FreeBSD, I didn't want choice - I wanted to be able to get things done. My level of experience was not high enough for me to figure out things on my own, so I ended up running back to Windows or Linux. I recently passed a milestone where I started to feel as if my core personal files were safer on FreeBSD than on Windows - which was a big deal. Now I run back to FreeBSD. This is where I would want other beginners to be, as soon as possible.

One important function of such a usability document should be "how to never lose your data files". I actually use a 2nd machine as a Subversion server, but I think an extra partition with a local repository would allow someone with a single machine to accomplish the same thing. It is hard for me to put in to words how big a deal it is to be able to guarantee your stuff isn't going to disappear unexpectedly. When you're a complete newbie, a dead X server might mean a fresh install - complete with drive format if thats all you know how to do.

Dru's "BSD Hacks" book has a good hack about using "g4u"(?) ("ghost four you"), which shows how to make an image copy of your machine to a FTP server - so you can restore it exactly if you your drive gets wiped out. Image copies are good for newbies, since they can "back up" to a point before the user broke something important. Data protection and recovery should be stressed to beginners. No one will use a system for very long, if they fear it.

So my overall idea is to use a "tracking" branch so the core OS doesn't break during updates, uses a "best-of-breed" software package approach, has a lightweight WindowManager (flux, fvwm, or xfce), expects recommend hardware (ne2000-compat, soundblaster-compat, hayes-compat, vesa-compat, etc), and has procedures for safe-guarding configuration and personal data. If this could be done, it could function as a "training area" for new FreeBSD users.

I would want to do this a little bit separate from the normal FreeBSD mailing lists. Maybe on a forum or email list somewhere. One effect it might have would be to pull some of the absolute newby questions off the primary lists and in to the "training area", at least for newbies willing to follow the recommended path. I'm not a FreeBSD expert, and some questions would certainly get escalated to the "real" FreeBSD lists, but at least there would be a buffer.

Again I want to stress, I'm not talking about a fork, new software, or anything like that - just a well lit path for beginners. We *are* talking about an OS that's mascot is a "daemonic beastie", :-)

Any suggestions?

thanks for reading this!




_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to