Why Linux Didn't Work
[Ante scriptum: if you read the FSM post by email and only saw "[image]" as the content, please view it online at this link.]
Before school started, I tried to install Linux on my machine, dual-booting with WinXP. The experience was, overall, disastrous. After fighting with it for about four days, I gave up and reformatted the computer and left it with Windows XP. All this happened late September, about three weeks ago.
I chose to install Fedora Core-4. My reason was rather simple: Fedora is the Linux distribution I'm familiar with. I've heard that Debian, Gentoo, etc. are "better" but novice as I am I don't really care - I just want a working Linux system. That being said, last time I installed Debian it didn't have my network drivers included in the distribution, but Fedora did...
The installation went rather smoothly, as has been the case every time I've installed Fedora (5 times now, I think). Dual-booting was quite a breeze, in fact; it was easier than I'd been led to believe online. The only thing I had to do was to manually partition the disk during Windows installation, installing it into the first 15 gb instead of the whole 60 gb.
It wasn't trivial to decide how to lay out my hard drive. My requirements in all of this are:
- to be able to operate, for the most part, in Linux: development, email, etc.
- to be able to run my Windows applications and games
- to be able to share data across Windows and Linux
I settled on 15 gb for Windows, 10 gb for Linux and 20 gb for Shared. I had to leave some room (1 gb) for the Linux swap partition, etc.
Anyhow, so far so good - I now have a computer with Windows and Linux; I can boot into both. Windows "just works" - wireless works, dual-monitor display works, everything is just working. Linux, on the other hand, did not "just work".
The first and most distressing problem was the wireless card not working. This is not acceptable as I depend on wireless at school, and I used to at home (but now we've switched to plain old LAN cables, for other reasons). Of course, it doesn't help that Broadcom (maker of the wireless card) doesn't distribute Linux drivers for their wireless cards, and hasn't opened up specs to make it easy for others to write them.
So, to get my drivers working, I had to do something incredibly perverse: run Windows drivers on Linux, wrapped using a tool called "ndiswrapper". It ended up working, a day or two later, but it just felt very wrong... Anyhow, so now I have my wireless card "working" - that is, Linux is able to detect the hardware and talk to it. Now comes the interesting part - getting the card to work, as in connecting to wireless networks.
First problem: obviously, there is no GUI that allows you to see what networks are available and choose/configure the one you'd like to connect to. OK, I can handle command-line, no problems. However, the command line, well, stunk. Perhaps the Windows GUI has some black magic, but it allows you to simply scan all channels, for all public SSIDs (i.e., all networks that broadcast their presence via their network name). I was unable to do the same using the command line tools. Sure, I was probably doing something wrong, but you'd think this kind of thing would not be too hard.
The other problem is that my wireless network doesn't broadcast its presence - i.e., the SSID is "hidden" - so I had to manually set that up. I tried what seemed obvious: I set the driver's SSID to mine, set the channel, and nothing worked.
After fighting with this for a day or two, I eventually found the sequence of wizardly incantations that allowed me to get wireless working. On boot, I had to go in, set the SSID, restart the interface, and then it would find the network. Of course, that means that booting was a very slow process, because Linux seems to want to get an IP address before booting. (I guess that's understandable for e.g. a server.)
I did end up finding a tool called "WiFi Radar" that seemed to mostly do the job of scanning the network and allowing me to connect to one. It wasn't completely reliable and looked like it needed some work, but it was easier to use that than to continually futz around with the command line.
Anyhow, I finally got my wireless more or less working. By this time I wasn't very happy with this whole experience and was feeling all around rather grumpy about the whole thing. As I played around with Firefox, I realized that my 5-button mouse wasn't working. Three buttons plus wheel were working, but the last two buttons seemed to be inactive. No problem, I thought; that should be a simple setting somewhere...
So much for that - I had to edit the X11 config files. They were rather arcane to me, and in fact I'm still not entirely sure why the configuration change worked. There was some voodoo about needing to recognize 7 buttons, because the wheel counts as two buttons, but a counter-spell is also needed because the wheel buttons are 6 and 7 on the mouse but need to be recognized as 4 and 5 by the computer... During all this time, I was continually frustrated with a simple thought: is it not a common enough thing to want to change the mouse configuration, to make it easy to do so? And this all was with my five-button wheel mouse at home. What if I'd gone to work and hooked up a three-button wheel mouse? Would it have stopped working? Groan...
The next thing I tried was to set up dual-display using my graphics card. Now that I've been using it on Windows for so long, I'm almost addicted to it; having twice the screen real estate is extremely valuable. Of course - and I suppose you guessed this by the tone of this post - it didn't work! Wheeee. If I plugged in the monitor without changing any settings, I get this funky display of whirring lines - I guess it was simply outputting the same thing to the VGA port as it was to the laptop LCD display. The more interesting part is that changing the settings using the system tools made the system crash. Well, not quite crash; it simply wouldn't start the graphical interface anymore.
Oh, and let's not forget that, of course, the laptop power management wasn't quite working. I was very pleasantly surprised to see that Fedora detected my HyperThreading processor, and correctly detected two processors. I was also surprised that it was apparently able to correctly speed throttle the processor; that is, when the load was low, it converted them to 1600 MHz instead of 3200 MHz in order to save battery power and not overheat the computer. That's what worked. What didn't work was suspend (standby) and hibernation. A laptop without those is rather like a lame duck, and loses a good chunk of its purpose.
At this point, I've got a laptop with:
- unreliable and it-works-but-I-have-no-idea-how-the-hell-it-works wireless
- a mouse that requires black magic to work, and I hadn't even tried connecting a three-button instead
- a dual-monitor system that simply doesn't work
- a laptop that could only behave as a desktop
By this time I was seriously asking myself questions such as "what am I doing", "why am I here", etc. I'd sunk five days into getting this to work, and it still didn't really work. I'd cut up my hard drive and was finding myself short. I had to sink 1.7 gigs on Windows into swap + hibernation, and another gig for swap on Linux - that felt awfully redundant, even if it was unavoidable. Oh, and I could only touch the shared partition as root on Linux, not as myself, and was too frustrated to go figure out how to change that.
I started assessing why I wanted to switch to Linux in the first place. My reasons are/were:
1- remove dependency on Windows and proprietary software, where possible
2- be able to harness the full power of the Unix/Linux shell
3- as a continuation of 2, have a powerful development environment available
4- have a learning experience
5- because Linux is nifty
To elaborate briefly on 1, I have no moral objection to paying for software. In fact, I think it's completely silly to conflate information and software when advocating free transfer of information. Of course, I prefer to not spend money on software, but it doesn't bother me to go buy stuff. Besides, open source software isn't always comparable. In some areas, it is; I've heard that Blender (3d graphics) and the GIMP (graphics editing) are very good tools; I've never tried the former but the latter was completely incomprehensible to me the first time I loaded it up. To be fair, I use Photoshop and have gotten used to it; it also felt very arcane to me at first ("how the firk-ding-blast do I draw a *#@!#@!%" square on the canvas?!")
Closing the parenthetical remark, I wasn't able to justify all the pain spent on getting Linux on my laptop. I use Cygwin on Windows. It comes awfully close to providing a full Unix environment, at least as far as I'm concerned as a user. It has symbolic links, which I really, really like.
In fact, symlinks are probably what I miss the most on Windows. Shortcuts don't compare: a shortcut only works if you double click on it. If c:\foo is a shortcut to c:\bla\bla\bla, I can't, for instance, save a file to "c:\foo\bar.txt". It is awfully convenient to have symlinks set up, so that I can sort my files many ways.
Opening another brief parenthetical, it would be really nice to have a relational file system of sorts. Let me explain with a case study: I archive all my courses, homework, notes, etc. I sometimes want to search this archive by year, and other times by subject matter. However, the 'flat' file system model forces me to choose one scheme, and stick to it. Symlinks can address this issue, by creating one "master scheme" and then setting up another scheme that symlinks into the master list. This isn't perfect, but it works. I've done this with Windows shortcuts, but they simply don't have the same flexibility and elegance of symbolic links.
Anyhow, it's closing time. At some point I might write a longer piece about why I think Linux isn't ready for the public yet, but why I think that should be fairly clear after reading this post. I consider myself fairly computer literate - in fact, let's be honest, I consider myself to be extremely computer literate. I'm not going to blame Linux for my lack of expertise. What I am going to contend, however, is that the Linux community is very dynamic and hence very hard to keep track of if you're not in the middle of it. Looking for help means searching not through documentation (which is, when present in the first place, all too often distressingly sparse) but through forum posts. Of course, forum posts are not always the most reliable source of information, not to mention the most convenient.
So that's that. Now I'm running Windows XP and even though I miss Linux from time to time when I develop, I'm generally happy. One note: I haven't installed Visual Studio or Office, and hope to not need to. I have Open Office for the latter - it's actually quite good - and Eclipse for the former. As for email, I no longer use Outlook but instead use Thunderbird. It's better in many respects. But that's another post, for another day. For now, I need to go get some sleep!
^ TOP
Posted on 10/15/05 at 00:40:39 by dchaley . (permanent link)
Comments
Add a comment
|
Comment by Eric:
(from c-24-6-224-148.hsd1.ca.comcast.net)
David,
Hello. I do agree that Linux is not quite there as far as ease of installation and ease of use for what I call "mom and pop" and "mother-in-law" situations. However, to be fair, when one is attempting to coexist with a Microsoft Windows operating system, one is attempting to coexist with a operating system that, itself, does *not* share that wish. And whose developers have actively taken steps to make that coexistence very, very difficult.
That's the bad news. The good news is that there is a good group of people, locally, who are attempting through everything to keep each others shoes clean and shiny and free of... such encumbrances. It's called the Linux CABAL, it has a web page of <http://linuxmafia.com/cabal/>, and has a mailing list of <conspire@linuxmafia.com>.
Cheers,
Eric
Comment by dchaley:
(from DNab423280.Stanford.EDU)
Hi Eric,
Actually, I never even really got to problems with 'sharing' (other than trying to figure out how to partition my disk). I simply didn't manage to get Linux working to my satisfaction and it was starting to be more pain than gain. So many basic (read: fundamental for me, not "easy") features weren't working, and I was running out of time to figure them out.
My problem is not just that it's not ready for "mom and pop" - IMHO I am hardly "mom and pop" yet I found myself having to work very hard at getting things to work that "should" have been easy.
I'm sure it would have been oodles easier if I'd been trying to set up a desktop. In fact, as I mentioned, I'm planning on doing exactly that with my next desktop (whenever that is). In the meantime, though, I have my laptop and things just weren't working for me.
Thanks for the link to CABAL, though - I'll definitely keep that in mind next time I make a foray into LinuxLand. :)
Best,
- David