My de-facto desktop OS is linux, which I use for almost everything. (I have XP installed, which I use almost exclusively for playing games,) However, linux is not free of its own deficiencies.
The biggest deficiency in linux is poor hardware support. I fully understand that linux or the linux developers are not to be blamed for this. The main culprits are the hardware manufacturers who have zero support for linux, forcing linux developers to add support by hacking, which sometimes results in rather poorly working support.
However, regardless of who is the real culprit for this doesn't change the fact: Poor hardware support can be a real PitA sometimes. Even though I'm not a big fan of Windows, just the fact that 100% of hardware manufacturers out there ensure (or try to ensure) 100% Windows compatibility (at least for WinXP) results in far less headaches in practice.
In Windows, adding new hardware is 99.9% of the time truely plug&play. In linux it's usually plug&pray. It works like 95% of time like a charm, but that 5% of non- or poorly supported hardware can be really annoying.
And we are not talking about some exotic, fancy hardware that only 1 person in a million uses. We are talking about hardware that something like half of PC users have, such as an ATI display card. Regardless of ATI's best efforts to support linux, support for these cards is lacking at best. The third-party "hacked" driver 'radeon' works with most ATI cards, but completely lacks 3D acceleration support. The proprietary ATI driver works if it works (eg. the latest driver crashes my computer).
Depending on the distro, the distro installer may be completely unable to configure the ATI display properly, making X fail to start. I have noticed this at least with Debian, Ubuntu and sometimes with OpenSUSE (whether the installer of the latter can configure X to work seems to depend on your specific graphics card and other things).
The integrated sound chip in my motherboard is poorly supported. It was poorly supported when it was brand new over 3 years ago, and it's still poorly supported today. For example when using the OSS sound driver, the volume control doesn't work (it always plays at full volume). When playing with ALSA, the volume control works, but sometimes the sound is noisy.
In general, playing sounds properly seems to be a problem for many programs. Mplayer plays ok, but many other programs (especially ones which only support OSS) may suffer from flawed playback (eg. the sound might skip from time to time). I have never had such problems in Windows, where hardware support for things like display and sound cards is usually flawless. Luckily mplayer presents no problems, else it would be a serious hindrance to my linux usage.
The "Linux" that ships with Eee PCs is so dumbed down it's insulting. I formatted it even though there's a back door to give you a shell (which you can sudo into a root shell).
My sister has an Acer brand still running the original OS. It's ext2 but it doesn't do filesystem checks on boot even if they're called for. Guess what I did Sunday night.
Linux gives you the ultimate in flexibility and allows you to customize everything (and I do mean everything) to your heart's content. Doesn't mean you'll get it right though.
Linux gives you the ultimate in flexibility and allows you to customize everything (and I do mean everything) to your heart's content. Doesn't mean you'll get it right though.
That's just what I love about it - if there's a problem or just something in general you want changed - you can at least try or find somebody else who has already done what you want. Also, there usually is a good documentation around to help you out.
I'm not too big of a Linux fan, but I am sure most distros of that and maybe even Unix would make things pretty simple.
Apple releasing Mac OS X more likely started a new but twisted revolution because from 9.2.2 and earlier was more simpler than it can be, at least the way most users would see it.
Microsoft on the other hand may have became jealous of the strong arm of Mac OS X and decide to release versions of Windows that seem to be almost within the scope of OS X.
The one thing I hate the most is Genuine Advantage validations. So what if Windows seems to be pirated. Apple doesn't do that but they still keep an eye out for things that look suspicious.
As a final thought, I explain that Apple continues to carry a stronger arm than Microsoft when it comes to efficient operating systems that's not a bunch of "resource pigs" on Old McDonald's farm. But the moment that I ever look to fully adjust to Mac OS X, especially within Leopard/Snow Leopard, that will take time and guts.
Windows XP is what I use on all my computers. I have had Zero problems with it and love it.
Vista is another story. That is so bad it makes OSX look good.
Windows 7 is showing promise though.
I think this touches on a complicated subject: How do you define "UNIX"?
Is it enough for an OS to have a kernel whose design principles are (somewhat) based on the kernel of the original unix? This even though the design of the kernel is pretty much invisible to the user (and mostly to programmers, unless you go really, really low-level)? If only the kernel is unix-like, but nothing else running on top of it is (as is arguably the case with MacOS X), can it still be called "unix"?
What else can be used to define something as "unix"? Maybe POSIX compatibility? Nope, If that was the case, then Windows NT would be "unix". It clearly isn't. (It can be argued to what extent NT has POSIX compatibility, but the same can be argued from most "unix" operating systems, including linux. Rarely do they have 100% POSIX compliance.)
What else? Command-line shells and certain command-line tools? Nope. That would make Windows a unix as well, because most typical "unix" command-line tools are available for it (even though not natively, only by third-party add-ons).
Some people say that Linux is not unix (although it's completely unclear to me why). If Linux is not unix, then definitely MacOS X isn't either. (On the other scale, some people argue that some OSes which are a lot less "unixy" than Linux have been historically called "a unix OS", and thus it's completely correct to call Linux "a unix", with whatever adjectives you might want to add to that.)
Really good point, Warp. As I (believe) I said, I use OSX, but am confused when downloading some program from a website. OS X is sometimes not listed, but the UNIX download works, while other times it does not. Confusing for non-techies like myself.
adelikat wrote:
I very much agree with this post.
Bobmario511 wrote:
Forget party hats, Christmas tree hats all the way man.
I think it can be said that OS X has support for running (most) unix programs (at least those which are posix-compliant), either directly or through its X windowing subsystem.
OTOH unless you can download a version of the program specifically for OS X, you usually need to compile the unix program from sources before you can run it in your mac. I don't really understand how "the unix downloads works" for you...
OTOH unless you can download a version of the program specifically for OS X, you usually need to compile the unix program from sources before you can run it in your mac. I don't really understand how "the unix downloads works" for you...
Admittedly, I couldn't think of a good example until today. When I tried to run the program, OS X warned me "This is a Unix program downloaded from the internet... etc etc." Fun times with gray area!
adelikat wrote:
I very much agree with this post.
Bobmario511 wrote:
Forget party hats, Christmas tree hats all the way man.
I've been using Ubuntu on a VM for some days now, and I mostly like it, but.. While all the super duper security in su, root, chmod etc is nice for a server, it's incredibly annoying for a desktop. I've typed my password and chmod +x so many times my hands are sore. I also seem to find important config files in crazy paths like (exaggerated example) /sys/bus/fs/ecryptfs/kernel/dev/proc/block/usr/var/lib/socket9/etc/opt/firm/initrd. Can someone convince me these are not problematic? Otherwise I'm going back to Windows.
Weird, I never had to type chmod once and I'm using it on my Laptop for the last 6 month. In fact, I rarely if ever use the command line.
I think it depends on the use you do with it. I mostly use pidgin and firefox, nothing much more than that. Else I use my Windows box.
When I create a bash shell script, I get "permission denied" when I try to run it from the terminal. I have to give myself permission to run it by using chmod +x. Every time I install an application through apt-get or make install after compiling, I need to be root, which means I have to add "sudo" before the command and type my password, else I get 13 permission denied. It gets annoying typing my password so often. Alternatively, I can type sudo su - and type my password, and I will be root until I exit the terminal. However, I have heard you need to be very careful with what you do as root - if you edit a file as root, programs can't edit the file by themselves, which can break the system. This whole super duper security thing is nice for a server, but very tiring for a desktop. Sure, if all you do is use the in-built programs like Firefox, it won't be a problem.
Instead of running the script directly via "./name.sh" you can instead do "bash name.sh". But generally I just got used to setting execute permissions on things I want to run. It's practically a reflex now.
As for installation, yep, you also need to be root to do that. If you didn't need root to install stuff, then hostile software could blow away important system utilities without you realizing it, which is obviously bad. Besides, how often do you need to install things?
I wouldn't really characterize this as "super duper security"; it's just how things are.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
I've been using Ubuntu on a VM for some days now, and I mostly like it, but.. While all the super duper security in su, root, chmod etc is nice for a server, it's incredibly annoying for a desktop. I've typed my password and chmod +x so many times my hands are sore.
I honestly don't understand what is it that you are doing that requires constant root privileges.
I was a Sparc/Solaris user for almost 10 years, with no root privileges (because it was not my computer, but the school's) and never had a problem. I have now used OpenSuse Linux in my home computer for over 5 years, and I seldom need to manually execute anything as root. About the only thing I have to execute as root is when I need to install ATI's properietary display driver (being properietary, it's obviously not found in OpenSuse's official repository), and if I want to tail /var/log/apache2/access_log. (I could give myself privileges to read it directly, but I watch it so rarely that I haven't bothered.)
I also seem to find important config files in crazy paths like (exaggerated example) /sys/bus/fs/ecryptfs/kernel/dev/proc/block/usr/var/lib/socket9/etc/opt/firm/initrd.
Either you are using the wrong distro (which sounds a bit surprising to me, as I have heard Ubuntu should be rather user-friendly), or you are using it in the wrong way.
With OpenSuse I seldom need to edit any config file by hand. OpenSuse's system management tool Yast takes care of about everything with a couple of mouse clicks (it parses those cryptic config files somewhere in the innards of the system, presents their contents graphically in a clear simple format, and automatically saves any changes). I can even fully configure apache directly from Yast. Managing software (installation, upgrading, deinstallation) can be done graphically and easily with the mouse. I don't even need to go to the command line to install anything, if it can be found in the repositories (although I'm certainly not afraid of the command line). There are very few things which cannot be done with Yast and I don't even remember the last time I had to edit some system config file directly.
Can someone convince me these are not problematic? Otherwise I'm going back to Windows.
Maybe try OpenSuse next time? And when you get it installed, first thing is to launch Yast2 to see what's there.
I like to update my programs like mplayer from SVN often, and every single time I need to become root. You have some good points though.
Warp wrote:
Maybe try OpenSuse next time? And when you get it installed, first thing is to launch Yast2 to see what's there.
When talking about different linux distro, most time I'm alway looking about how the package manager works first, everything else about the distribution is a bit optionnal since sometime you should find a way to install a "minimal systhem" that would allow you to design your system as you want...
So here is my point about different linux distribution that I tested, as workstation:
ArchLinux:
Package manager: Use Pacman to install yaourt and you should now be able to easily install some more unknow program in the AUR depot, where everybody is allowed to write a pkgbuild.. that you can see before installation(good thing to do, if you don't want to broke your system). This is probably the most up-to-date binary linux distro, quite user-friendly with a guide and starting from a minimal systhem... I love this distribution (as binary)
Slackware:
Package manager: There's no package manager as default and no annoying dependance manager, so you have to choice if want to install want or keep using slackbuild(this is actually a nice way to learn how your systhem work and customize it even more!!)
Debian:
Package manager: Apt-get is easy... the only problem that you may encounter is if you have some dependance issue that aren't checked, but this a good way to keep you systhem stable and when there some problem, you can alway patch it by yourself! Also, if your looking in the sid depot, you can enjoy some up-to-date package, that are all patched by some expert...
Gentoo:
Since gentoo is a source distro, you are now in the right environement for optimize your systhem to be quick and learn how thing work in same time. You can compile(as long as you get a good CPU) while sleeping, configure your own kernel for YOUR computer, without unnecessary thing and somethime allowing some special kernel feature that can a pain to activate in other linux distribution.
Package Manager: The USE flag is what it make easier to don't have to configure every single package.
There some other distribution that I tested, but that sometime ago, so they probably change there way how thing works.
So anyway, I think it's just very obvious to use bash script to install a program(thought, can be a good pratice for linux from scratch)..
Just use you package manager/learn it!