Archive

Archive for the ‘God Damnit Linux’ Category

Ubuntu 11.04 Installer Fail

August 24th, 2011 3 comments

So I decided to take a go at Ubuntu 11.04 in a virtual machine before taking the leap and installing it for real. As I understand it, the new Unity desktop is a pretty major departure from the Gnome 2.x desktop that I’m used to, and I want to see if it’s as bad as it looks in the screenshots.

Unfortunately, I’ve yet to make it to the desktop, as Ubuntu has decided that it will take 42 minutes to download some language packs that I neither want or need.

Didn’t I tell it what language I speak as the first step of the install process? Surely this can be done later.

Categories: God Damnit Linux, Jon F, Ubuntu Tags:

Recovering a Corrupted Banshee Database

February 27th, 2011 11 comments

A couple of nights ago, I left Banshee running overnight, filling my phone with music to listen to the next day at work. Sometime during that process, the media player crashed in a big way, and my entire system ground to a halt. When I woke up the next morning, my computer was frozen solid, with no keyboard or mouse input accepted, and the system clock hadn’t advanced since 11:16pm the previous night. I did a hard reboot, hoping that all would be well when it came back up.

Boy was I wrong.

The Problem

It seems that when Banshee went down, it took my library database file with it. Now, whenever I launch the application, I get a lovely dialog box that looks something like this:


Launching the application from the command line provides more details:

jonf@THE-LINUX-EXPERIMENT: ~/.config/banshee-1$ banshee-1
[Info  11:20:32.175] Running Banshee 1.9.0: [source-tarball (linux-gnu, x86_64) @ 2010-12-09 13:07:07 EST]
[Warn  11:20:32.451] Service `Banshee.Database.BansheeDbConnection’ not started: The database disk image is malformed
database disk image is malformed
[Warn  11:20:32.453] Caught an exception – Mono.Data.Sqlite.SqliteException: The database disk image is malformed

Apparently, the SQLite database that forms the backend of Banshee is severely corrupted, and the application can’t open it for reading. Based on the command line output, I figured that Banshee uses SQLite3 for its database, and after a little bit of research, I found out that it stores the database file at ~/.config/banshee-1/banshee.db. After installing the SQLite3 package from my repositories with the command sudo apt-get install sqlite3, I was able to connect to the database without issue. A little bit of reading over at sqlite.org showed me how to do an integrity check on the database, which came back with some nasty results:

jonf@THE-LINUX-EXPERIMENT:~/.config/banshee-1$ sqlite3 -interactive banshee.db
SQLite version 3.6.22
Enter “.help” for instructions
Enter SQL statements terminated with a “;”
sqlite> PRAGMA integrity_check;
*** in database main ***
Main freelist: 2291 of 2292 pages missing from overflow list starting at 18928
On tree page 28 cell 4: Child page depth differs
On tree page 28 cell 6: 2nd reference to page 15475
On tree page 28 cell 6: Child page depth differs

On tree page 16807 cell 25: Child page depth differs
On tree page 16807 cell 26: 2nd reference to page 18171
On tree page 16807 cell 26: Child page depth differs

Each line of this output refers to a broken or corrupted index, with a total of 99 errors reported. Yikes.

The Solution

Before attempting to fix the problem, I made a backup of the broken database, just in case some data could be resurrected from it. To do this, I made sure that Banshee wasn’t running, and then made a copy of the database file with the command cp ~/.config/banshee-1/banshee.db ~/.config/banshee-1/banshee.db.old.

Since the integrity check showed a number of broken or corrupted indices, I thought perhaps I would be able to recover the database by rebuilding all of its indices. A quick scan of the SQLite documentation turned up the REINDEX function. Again, I connected to the database through the command-line interpreter, and gave it a shot:

jonf@THE-LINUX-EXPERIMENT:~/.config/banshee-1$ sqlite3 -interactive banshee.db
SQLite version 3.6.22
Enter “.help” for instructions
Enter SQL statements terminated with a “;”
sqlite> REINDEX;
Error: database disk image is malformed

That clearly didn’t work.

My next thought was to drop and re-create all of the indices in the database, in hopes that I could rebuild them. I used the graphical tool sqliteman (available from your repositories with the command sudo apt-get install sqliteman) to dump the database schema out to a text file and then scrolled through the file looking for each index. I managed to drop all but four of them, but got the image malformed error whenever I tried to drop the remaining four or recreate any of the ones that were successfully dropped.

Out of ideas, I resorted to attempting to recover what data I could from the mangled file. Using sqliteman, I created a dump of my library data to go along with the schema dump that I had created earlier. The good thing about this dump is that it contains all of the data with none of the indices. Next, I opened up a terminal and navigated to the temporary directory where I had saved the database dump. Using the sqlite3 command line interpreter, I built an image of the old database from the dump:

jonf@THE-LINUX-EXPERIMENT:~/Desktop/banshee$ sqlite3 -interactive banshee.db
SQLite version 3.6.22
Enter “.help” for instructions
Enter SQL statements terminated with a “;”
sqlite> .read dump.sql

Finally, I copied the newly created database into the banshee data directory with the command cp ~/Desktop/banshee/banshee.db  ~/.config/banshee-1/banshee.db.

The next time I started the application, all of my data was restored.

Prevention

I’ve put a lot of work into collecting and maintaining all of the music in my Banshee library. In order to avoid losing all of that work, I’ve decided to write a short script that takes a backup image of the library database every so often, and puts it in a safe place on my hard drive. Once I get that put together, I’ll throw it up on here for so that everybody can use it.

Well, Here Goes Nothing

December 14th, 2010 No comments

During a routine update of my Fedora 13 system, I received the following notification:

You’ll notice, upon careful inspection, that the update utility would like to remove my kernel. This ought to be fun.

Categories: God Damnit Linux, Jon F Tags:

Why I Hate Samba

December 12th, 2010 9 comments

This file copy is running over my local wireless network:

Apparently Samba uses less than 1% of available network bandwidth for file copies...

That is all.

Categories: God Damnit Linux, Jon F Tags: , ,

Unwanted Effects on my Line-in Interface

August 26th, 2010 No comments

Shortly after purchasing an xbox360, I wrote a short piece that gave instructions for forwarding your line-in audio through your pc speakers. By using this method and sharing my network connection, I’ve managed to run my xbox as a peripheral to my main computer setup, saving me space and money.

Lately however, the line-in loopback has not been working as expected. At times, it sounds like effects have been applied to the line. In particular, it sounds like somebody has applied a phaser or a delay effect to the input signal.

For the last week or so, I’ve been scratching my head about this issue, trying to figure out what part of my system may have applied effects to my loopback, but not to other audio on the system. Tonight, I was reviewing my original instructions for setting the thing up, and noticed that the module was being loaded on startup after being added to a system config file:

sudo sh -c ' echo "load-module module-loopback" >>  /etc/pulse/default.pa '

On a hunch, I took a look at the end of the file, and found the following lines:

### Make some devices default
#set-default-sink output
#set-default-source input
load-module module-loopback
load-module module-loopback

It looked like the instruction to load the loopback module had ended up in the config file twice! Because of this, the module was being loaded twice on startup.

So what does this have to do with the effects on the line? Well, if you play two copies of the same sound with a half-second gap between them, your ears will be tricked into thinking that you’re hearing one copy of the sound, but that it’s all echoey, as if a delay effect had been applied. If you repeat the experiment but this time decrease the gap between the two sounds even further, say to a few milliseconds, your ears will hear one copy of the sound with a phaser effect applied.

Essentially, when the module loaded twice, it was capturing the mix from the line-in port twice and playing back two separate copies of the audio. Depending on how close together these instances  were, the result sounded normal, phased, or delayed. I fixed the issue by removing one of the lines and then restarting the machine. This time, it started only one copy of the service, and everything sounded fine.

The moral of the story: If you’re loading modules at startup, make sure that you only start one copy of them.

PulseAudio: Monitoring your Line-In Interface

July 11th, 2010 22 comments

At home, my setup consists of three machines –  a laptop, a PC, and an XBOX 360. The latter two share a set of speakers, but I hate having to climb under the desk to switch the cables around, and wanted a better way to switch them back and forth. My good friend Tyler B suggested that I run the line out from the XBOX into the line-in on my sound card, and just let my computer handle the audio in the same way that it handles music and movies. In theory, this works great. In practice, I had one hell of a time figuring out how to force the GNOME sound manager applet into doing my bidding.

After quite a bit of googling, I found the answer on the Ubuntu forums. It turns out that the secret lies in a pulse audio module that isn’t enabled by default. Open up a terminal and use the following commands to permanently enable this behaviour. As always, make sure that you understand what’s up before running random commands that you find on the internet as root:

pactl load-module module-loopback
sudo sh -c ' echo "load-module module-loopback" >>  /etc/pulse/default.pa '

The first line instructs PulseAudio (one of the many ways that your system talks with the underlying sound hardware) to load a module called loopback, which unsurprisingly, loops incoming audio back through your outputs. This means that you can hear everything that comes into your line-in port in real time. Note that this behaviour does not extend to your microphone input by design. The second line simply tells PulseAudio to load this module whenever the system starts.

Now if you’ll excuse me, I have jerks to run over in GTA…

Adobe Air and Fedora 12

March 22nd, 2010 2 comments

This weekend, I installed Fedora 12 (Constantine) on my laptop, and I have to say that so far, I’m impressed. Thanks to the standard GNOME desktop, it looked familiar, and felt like a more polished version of the Debian desktop that I’m used to. The installation only took 15 minutes, and almost everything worked immediately.

One of the only things that I’ve had troubles with thus far is Adobe AIR. Now normally, I avoid Adobe apps like they’re the plague, since the great ones are really expensive (Photoshop, Premiere, etc), and the free ones are awful and full of security holes (Reader, Flash on anything but Windows). In this case however, I got hooked on the AIR framework because of Tweetdeck, an excellent little application that makes managing Twitter feeds a dream.

Unfortunately, it doesn’t work worth a shit on Fedora 12.

Now most AIR apps ship with an installer that will put the framework on your system if you don’t already have it. I’ve always had problems with this method on Linux, and have instead downloaded AIR directly from Adobe as a *.bin file, and installed it manually from a root terminal.

The next step is to install the app. In the case of Tweetdeck, the process is a little bit convoluted because they use a Flash widget on their website (Christ, why?) that starts the installation for you – sketchy from a security standpoint, but it’s always worked well for me in the past. Under Fedora, the installer just crashed.

Hoping for a workaround, I downloaded the *.air installer file to my desktop and tried to use the Adobe AIR Application Installer from my root terminal to do the job. All that got me was a bunch of angry error text. After a quick IxQuicking, I found this blog post with some answers in the comments:

#delete the AIR certs:
rm -rf /etc/opt/Adobe/certificates/crypt/

#install your application like this:
su – /opt/Adobe\ AIR/Versions/1.0/airappinstaller /path/to/install/file.air

While this worked, and the install actually completed (albeit with a bunch of angry error messages yelling at me for deleting the AIR security certs), Tweetdeck failed to function on launch first launch, complaining about Adobe AIR failing, and requesting that I file a bug.

Luckily, one quick restart later, and everything worked perfectly.

So long story short, AIR is kinda dirty on Fedora, and doesn’t work as well as on other distributions. Everything else, however, works great.

Empathy: What a Piece of Garbage

March 20th, 2010 17 comments

The Empathy instant messaging client for Gnome is not yet ready to be the default client on your favourite Gnome-based distribution. In fact, I can’t even make it work! Tyler B originally posted about this problem way back in October, but it doesn’t seem to have been fixed during the interim.

To demonstrate my point, allow me to walk you through the process of adding an MSN account, one of the officially supported protocols, to a clean install of Empathy:

  1. After launching Empathy, select Accounts from the Edit menu:

    The accounts manager for Empathy

    Hey guys, nice UI. Way to give that listbox a default width. And why the hell is this dialogue box so big, anyway?

  2. Select the MSN protocol from the dropdown menu, and hit the create button:

    The list of protocols that Empathy "supports"

    Wow, way to get icons for every protocol, guys. Either have icons, or don't, ok?

  3. Enter your MSN email address and account password, and hit the Connect button:

    Adding my account details to the new MSN account in Empathy

    Hey, see that Add button under the listbox? If I click that, I can add a new account, before even finishing with this one! Wow, recursion in a GUI! Sweet!

  4. With the new account created, hit the Close button, and watch as the authentication of your newly added MSN account fails:

    Authentication of my newly added account failed

    Wouldn't you know it, my freshly minted account failed to authenticate. I wonder what the problem is...

  5. Hit the Edit Account button, and open up the Advanced area of the Account Manager window that pops up:

    The Advanced area of the Account Manager window in Empathy

    Have you ever seen anything communicate over port 0? I haven't

  6. Open up your working copy of the trusty Pidgin instant messenging client, put the correct port number into the Port textbox in Empathy, and try to figure out how to save your changes:

    Empathy notifies me that I have unsaved changes

    Since I couldn't click apply, I hit Close. Empathy warned me that I hadn't saved my changes, and only then enabled the Apply button in the Account Manager window... Fuck me

  7. Watch as, even with the correct Server and Port information, Empathy continues to fail miserably at connecting to an MSN account:

    The contact list again

    Hey, it's still failing to connect. Imagine that.

The Bottom line? This application is buggy, untested, incompatible, falsely-advertised garbage. I want my Pidgin back. It may have some rough edges, but at least it connects. How these glaring errors and this horrible GUI design ever got past the community is beyond me. I do hope that Empathy has something even somewhat mediocre up their sleeves for their 2.29 release, but until then, I’m headed back to Pidgin.

Pulse Audio Nonsense

January 4th, 2010 3 comments

Just a heads up: This isn’t the kind of post that contains answers to your problems. It is, unfortunately, the kind of post that contains a lot of the steps that I took to fix a problem, without much information about the order in which I performed them, why I performed them, or what they did. All that I can tell you is that after doing some or all of these things in an arbitrary order, stuff seemed to work better than it did before.

It’s funny how these posts often seem to come about when trying to get hardware related things working. I distinctly remember writing one of these about getting hardware compositing working on Debian. This one is about getting reliable audio on Kubuntu 9.10.

You see, I have recently been experiencing some odd behaviour from my audio stack in Kubuntu. My machine almost always plays the startup/shutdown noises, Banshee usually provides audio by way of GStreamer, videos playing in VLC are sometimes accompanied by audio, and Flash videos almost never have working sound. Generally speaking, restarting the machine will change one or all of these items, and sometimes none. The system is usuable, but frustrating (although I might be forgiven for saying that having no audio in Flash prevents me from wasting so much time watching youtube videos when I ought to be working).

Tonight, after some time on the #kubuntu IRC channel and the #pulseaudio channel on freenode, I managed to fix all of that, and my system now supports full 5.1 surround audio, at all times, and from all applications. Cool, no? Basically, the fix was to install some PulseAudio apps:

sudo apt-get install pulseaudio pavucontrol padevchooser

Next, go to System Settings > Multimedia, and set PulseAudio as the preferred audio device in each of the categories on the left. Finally, restart the machine a couple of times. If you’re lucky, once you restart and run pavucontrol from the terminal, you’ll see a dialog box called Volume Control. Head over to the Configuration tab, and start choosing different profiles until you can hear some audio from your system. Also, I found that most of these profiles were muted by default – you can change that on the Output Devices tab. If one of the profiles works for  you, congratulations! If not, well, I guess you’re no worse off than you were before. I warned you that this was that kind of post.

Also, while attempting to fix my audio problems, I found some neat sites:

  • Colin Guthrie – I spoke to this guy on IRC, and he was really helpful. He also seems to write a lot of stuff for the PulseAudio/Phonon stack in KDE. His site is a wealth of information about the stack that I really don’t understand, but makes for good reading.
  • Musings on Maintaining Ubuntu – Some guy named Dan who seems to be a lead audio developer for the Ubuntu project. Also a very interesting read, and full of interesting information about audio support in Karmic.
  • A Script that Profiles your Audio Setup – This bash script compiles a readout of what your machine thinks is going on with your audio hardware, and automatically hosts it on the web so that you can share it with people trying to help you out.
  • A Handy Diagram of the Linux Audio Stack – This really explains a lot about what the hell is going on when an application tries to play audio in the Linux.
  • What the Linux Audio Stack Seems Like – This diagram reflects my level of understanding of Linux audio. It also reminds me of XKCD.
  • Ardour – The Digital Audio Workstation – In the classic tradition of running before walking, I just have to try this app out.

Kubuntu 9.10 (Part II)

January 4th, 2010 No comments

Well I managed to fix my compositing problem but I honestly don’t know why it worked. Basically I went into the System Settings > Desktop > Desktop Effects menu and manually turned off all desktop effects. Next I used jockey-text to disable the ATI driver. After a quick restart I re-enabled the ATI driver and restarted again. Once I logged in I went back into the System Settings > Desktop > Desktop Effects menu and enabled desktop effects. This magically worked… but only until I restarted. In order to actually get it to start enabled I had to go back into System Settings > Desktop > Desktop Effects and then click on the Advanced tab and then disable functionality checks. I am sure this is dangerous or something but its the only way I can get my computer to restart with the effects enabled by default.

I’m really starting to hate this graphics card…

Linux Saves the Day

December 23rd, 2009 5 comments

Earlier this week I had an experience where using Linux got me out of trouble in a relatively quick and easy manner. The catch? It was kind of Linux’s fault that I was in trouble in the first place.

Around halfway through November my Linux install on my laptop crapped out, and really fucked things up hard. However, my Windows install wasn’t affected, so I started using Windows on my laptop primarily, while switching to an openSUSE VM on my desktop for my home computing needs.

About a week back I decided it was time to reinstall Linux on my laptop, since exams and my 600 hojillion final projects were out of the way. I booted into Win7, nuked the partitions being used by Linux and… went and got some pizza and forgot to finish my install. Turns out I hadn’t restarted my PC anywhere between that day and when shit hit the fan. When I did restart, I was informed to the merry tune of a PC Speaker screech that my computer had no bootable media.

… Well shit.

My first reaction was to try again, my second was to check to make sure the hard drive was plugged in firmly. After doing this a few times, I was so enraged about my lost data that I was about ready to repave the whole drive when I had the good sense to throw in a BartPE live CD and check to see if there was any data left on the drive. To my elation, all of my data was still in tact! It was at this precise moment I thought to myself “Oh drat, I bet I uninstalled that darned GRUB bootloader. Fiddlesticks!”

However, all was not lost. I know that Linux is great and is capable of finding other OS installs during its install and setting them up in GRUB without me having to look around for a windows boot point and do it myself. 20 minutes and an openSUSE install later, everything was back to normal on my laptop, Win7 and openSUSE 11.1 included!

As we speak I’m attempting an in-place upgrade to openSUSE 11.2 so hopefully I get lucky and everything goes smoothly!

Going Linux, Once and for All

December 23rd, 2009 7 comments

With the linux experiment coming to an end, and my Vista PC requiring a reinstall, I decided to take the leap and go all linux all the time. To that end, I’ve installed Kubuntu on my desktop PC.

I would like to be able to report that the Kubuntu install experience was better than the Debian one, or even on par with a Windows install. Unfortunately, that just isn’t the case.

My machine contains three 500GB hard drives. One is used as the system drive, while an integrated hardware RAID controller binds the other two together as a RAID1 array. Under Windows, this setup worked perfectly. Under Kubuntu, it crashed the graphical installer, and threw the text-based installer into fits of rage.

With plenty of help from the #kubuntu IRC channel on freenode, I managed to complete the Kubuntu install by running it with the two RAID drives disconnected from the motherboard. After finishing the install, I shut down, reconnected the RAID drives, and booted back up. At this point, the RAID drives were visible from Dolphin, but appeared as two discrete drives.

It was explained to me via this article that the hardware RAID support that I had always enjoyed under windows was in fact a ‘fake RAID,’ and is not supported on Linux. Instead, I need to reformat the two drives, and then link them together with a software RAID. More on that process in a later post, once I figure out how to actually do it.

At this point, I have my desktop back up and running, reasonably customized, and looking good. After trying KDE’s default Amarok media player and failing to figure out how to properly import an m3u playlist, I opted to use Gnome’s Banshee player for the time being instead. It is a predictable yet stable iTunes clone that has proved more than capable of handling my library for the time being. I will probably look into Amarok and a few other media players in the future. On that note, if you’re having trouble playing your MP3 files on Linux, check out this post on the ubuntu forums for information about a few of the necessary GStreamer plugins.

For now, my main tasks include setting up my RAID array, getting my ergonomic bluetooth wireless mouse working, and working out folder and printer sharing on our local Windows network. In addition, I would like to set up a Windows XP image inside of Sun’s Virtual Box so that I can continue to use Microsoft Visual Studio, the only Windows application that I’ve yet to find a Linux replacement for.

This is just the beginning of the next chapter of my own personal Linux experiment; stay tuned for more excitement.

This post first appeared at Index out of Bounds.

Phoenix Rising

December 12th, 2009 3 comments

As we prepare to bring The Linux Experiment to a close over the coming weeks, I find that this has been a time of (mostly solemn) reflection for myself and others.  At the very least, it’s been an interesting experience with various flavours of Linux and what it has to offer.  At its peak, it’s been a roller-coaster of controversial posts (my bad), positive experiences, and the urge to shatter our screens into pieces.

Let me share with you some of the things I’ve personally taken away from this experiment over the last three-and-a-half months.

Fedora 12 is on the bleeding edge of Linux development

This has been a point of discussion on both of our podcasts at this point, and a particular sore spot with both myself and Tyler.  It’s come to a place wherein I’m sort of… afraid to perform updates to my system out of fear of just bricking it entirely.  While this is admittedly something that could happen under any operating system and any platform, it’s never been as bad for me as it has been under Fedora 12.

As an example, the last *six* kernel updates for me to both Fedora 11 and 12 combined have completely broken graphics capability with my adapter (a GeForce 8600 M GS).  Yes, I know that the Fedora development team is not responsible for ensuring that my graphics card works with their operating system – but this is not something the average user should have to worry about.  Tyler has also had this issue, and I think would tend to agree with me.

Linux is fun, too

Though there have been so many frustrating moments over the last four months that I have been tempted to just format everything and go back to my native Windows 7 (previously: release candidate, now RTM).  Through all of this though, Fedora – and Linux in general – has never stopped interesting me.

This could just be due to the fact that I’ve been learning so much – I can definitely do a lot more now than I ever could before under a Linux environment, and am reasonably pleased with this – but I’ve never sat down on my laptop and been bored to play around with getting stuff to work.  In addition, with some software (such as Wine or CrossOver) I’ve been able to get a number of Windows games working as well.  Linux can play, too!

Customizing my UI has also been a very nice experience.  It looks roughly like Sasha’s now – no bottom panel, GnomeDo with Docky, and Compiz effects… it’s quite pretty now.

There’s always another way

If there’s one thing I’ve chosen to take away from this experiment it’s that there is ALWAYS some kind of alternative to any of my problems, or anything I can do under another platform or operating system.  Cisco VPN client won’t install under Wine, nor will the Linux client version?  BAM, say hello to vpnc.

Need a comprehensive messaging platform with support for multiple services?  Welcome Pidgin into the ring.

No, I still can’t do everything I could do in Windows… but I’m sure, given enough time, I could make Fedora 12 an extremely viable alternative to Windows 7 for me.

The long and short of it

There’s a reason I’ve chosen my clever and rather cliche title for this post.  According to lore, a phoenix is a bird that would rise up from its own ashes in a rebirth cycle after igniting its nest at the end of a life cycle.  So is the case for Fedora 12 and my experience with Linux.

At this point, I could not see myself continuing my tenure with the Fedora operating system.  For a Linux user with my relatively low level of experience, it is too advanced and too likely to brick itself with a round of updates to be viable for me. Perhaps after quite a bit more experience with Linux on the whole, I could revisit it – but not for a good long while.  This is not to say it’s unstable – it’s been rock solid, never crashing once – but it’s just not for me.

To that end, Fedora 12 rests after a long and interest-filled tenure with me.  Rising from the ashes is a new user in the world of Linux – me.  I can say with confidence that I will be experimenting with Linux distributions in the future – maybe dipping my feet in the somewhat familiar waters of Ubuntu once more before wading into the deep-end.

Watch out, Linux community… here I come.

Categories: Dana H, Fedora, God Damnit Linux, Linux Tags:

A Tale of Two Fonts

December 10th, 2009 3 comments
Hey, where'd my text go?

Hey, where'd my text go?

I set my system font to Dingbat, which worked perfectly in every application except for Open Office. The strange part is that the font worked just fine in all of the other programs that I have installed. Silly OpenOffice.

Coming to Grips with Reality

December 8th, 2009 No comments

The following is a cautionary tale about putting more trust in the software installed on your system than in your own knowledge.

Recently, while preparing for a big presentation that relied on me running a Java applet in Iceweasel, I discovered that I needed to install an additional package to make it work. This being nothing out of the ordinary, I opened up a terminal, and used apt-cache search to locate the package in question. Upon doing so, my system notified me that I had well over 50 ‘unnecessary’ packages installed. It recommended that I take care of the issue with the apt-get autoremove command.

Bad idea.

On restart, I found that my system was virtually destroyed. It seemed to start X11, but refused to give me either a terminal or a gdm login prompt. After booting into Debian’s rescue mode and messing about in the terminal for some time trying to fix a few circular dependencies and get my system back, I decided that it wasn’t worth my time, backed up my files with an Ubuntu live disk, and reinstalled from a netinst nightly build disk of the testing repositories. (Whew, that was a long sentence)

Unfortunately, just as soon as I rebooted from the install, I found that my system lacked a graphical display manager, and that I could only log in to my terminal, even though I had explicitly told the installer to add GNOME to my system. I headed over to #debian for some help, and found out that the testing repositories were broken, and that my system lacked gdm for some unknown reason. After following their instructions to work around the problem, I got my desktop back, and once more have a fully functioning system.

The moral of the story is a hard one for me to swallow. You see, I have come to the revelation that I don’t know what I’m doing. Over the course of the last 3 months, I have learned an awful lot about running and maintaining a Linux system, but I still lack the ability to fix even the simplest of problems without running for help. Sure, I can install and configure a Debian box like nobody’s business, having done it about 5 times since this experiment started; but I still lack the ability to diagnose a catastrophic failure and to recover from it without a good dose of help. I have also realized something that as a software developer, I know and should have been paying attention to when I used that fatal autoremove command – when something seems wrong, trust your instincts over your software, because they’re usually correct.

This entire experiment has been a huge learning experience for me. I installed an operating system that I had never used before, and eschewed the user-friendly Ubuntu for Debian, a distribution that adheres strictly to free software ideals and isn’t nearly as easy for beginners to use. That done, after a month of experience, I switched over from the stable version of Debian to the testing repositories, figuring that it would net me some newer software that occasionally worked better (especially in the case of Open Office and Gnome Network Manager), and some experience with running a somewhat less stable system. I certainly got what I wished for.

Overall, I don’t regret a thing, and I intend to keep the testing repositories installed on my laptop. I don’t usually use it for anything but note taking in class, so as long as I back it up regularly, I don’t mind if it breaks on occasion; I enjoy learning new things, and Debian keeps me on my toes. In addition, I think that I’ll install Kubuntu on my desktop machine when this whole thing is over.  I like Debian a lot, but I’ve heard good things about Ubuntu and its variants, and feel that I should give them a try now that I’ve had my taste of what a distribution that isn’t written with beginners in mind is like. I have been very impressed by Linux, and have no doubts that it will become a major part of my computing experience, if not replacing Windows entirely – but I recognize that I still have a long way to go before I’ve really accomplished my goals.

As an afterthought: If anybody is familiar with some good tutorials for somebody who has basic knowledge but needs to learn more about what’s going on below the surface of a Linux install, please recommend them to me.

Eclipse… Again

November 21st, 2009 No comments

Man I’m beginning to sound like a broken record. Last night I reinstalled my Debian system. Somewhere along the line, I made a mess with my repositories, and as Wayne suggested in the comments on one of my previous posts, a good way to avoid many of these issues is to install your Testing system directly from a netinst daily build cd image instead of installing Lenny and then upgrading.

So I did. Upon inserting the install disc and attempting to use the graphical installer, I was confronted with a terminal spewing error messages about missing drivers or something. Figuring that this was just an error related to the daily installer build, I backed out of the graphical installer and took a shot at the expert install. Now that I know my way around Linux, the expert installer isn’t so daunting, and the rest of the process went smoothly, although it took awhile.

This morning, I figured I’d be productive and write some Java on my freshly installed system. So I went over to synaptic, and searched out Eclipse… only to find that it didn’t exist in the Testing repositories. How strange. A google and a half later and I had found that eclipse is available in Lenny, as well as Sid, but is conspicuously absent from Testing. What to do?

I hit the #debian IRC channel and asked for a bit of help, which i promptly got, in the form of these instructions:

  1. Add the line deb-src http://ftp.us.debian.org/debian sid main non-free contrib to your sources list.
  2. From a root terminal, run apt-get update
  3. From a root terminal, run apt-get install build-essential
  4. Navigate to an empty directory somewhere on your system
  5. Run apt-get build-dep eclipse. This will download almost 200MB of source code to your system. Don’t do it over a wireless connection like I did.
  6. Run apt-get -b source eclipse. Don’t worry if this step takes forever – it took almost an hour on my system.
  7. install the resultant debs. This step is painful, because while all of the dependencies will have been created for you, there is a certain order to installing them that requires a bit of trial and error to figure out.

So after a little over an hour of messing about, I have a working Eclipse install on my system, and can get some real work done. It was frustrating, but hey, thanks to the guys over at #debian, it wasn’t the end of the world.

I Cannot Has Eclipse?

November 20th, 2009 No comments
Screenshot-Add-Remove Applications

You know, that's interesting, as I'm quite certain that I've installed Eclipse on x86 hardware before...

Configuring BlueZync and Failing at Barry

November 6th, 2009 1 comment

After successfully compiling and installing the BlueZync for Thunderbird plugin last night, I decided to take a shot at actually synchronizing my Blackberry with Thunderbird. The first step was a little bit of configuration. For that, I followed this guide on the BlueZync website.

Everything was going fine until I got to the section entitled “Mozilla plugin for OpenSync.” In this section, you are instructed to execute the command ldconfig -p | grep libxpcom.so, which checks if the file libxpcom.so is registered as a symlink on your system. After finding out that it was not, I entered the command locate libxpcom.so from a root terminal, and found three locations for the file in question on my system. I then used the line export LD_LIBRARY_PATH=/usr/lib/icedove:/usr/lib/iceowl:/usr/lib/xulrunner-1.9 to register the symlink. Unfortunately, even after running the export command, ldconfig failed to find the link. Although this one will probably bite me in the ass later on, I’ll skip it for now.

At this point in the install process, I could access the BlueZync settings panel from within Thunderbird, and run the command line osynctool –listplugins and see the mozilla-sync plugin listed, which is the part of the BlueZync suite that really interests me. mozilla-sync is a plugin for OpenSync that should allow me to interface my Blackberry with Thunderbird (with the help of the Barry libraries, which provide another OpenSync plugin that communicates with the phone).

To continue, it was necessary to install all of the elements of the Barry libraries in order to get their OpenSync plugin that would complete the chain. This is where I may have committed my second cardinal sin – dpkg notified me that in order to install the opensync-plugin-barry package, I had to install a version of the libopensync0 package that was between v0.22 and v0.3. As I understand it, Bluezync already installed some version of OpenSync onto my machine, and I have a feeling that reinstalling a different version may ruin all of the progress that I’ve made thus far.

Indeed, after finishing the Barry install and running osynctool –listplugins again, mozilla-sync was still listed, but opensync-plugin-barry was not. This is strange, as in my last three attempts at this process, getting Barry to show up was the easy part. Now the tables have turned, and I have what I assume to be a properly working BlueZync install, but without the Barry component that would make it all work with my phone.

Back to the proverbial drawing board with me…

Back at Square 1

November 2nd, 2009 2 comments

This morning I reinstalled my Debian system. I began by downloading an ISO for the current Debian Stable build (called Lenny), and installing it with the graphical installer. That done, I used a couple of my old posts to get my wireless firmware installed and to upgrade my system to the Testing repositories.

Unfortunately, I have realized that a clean install of Debian Linux is a pretty plain place to be in. Even though I have the benefit of my old writings to help me get up to speed, some, like the ones dealing with how to get Compiz working properly, are somewhat lacking in detail.

Naturally, I’ve replaced all of the problems that running multiple desktop environments was causing with all of the problems that an entirely unconfigured system can cause. I’ve already mentioned that I haven’t gotten Compiz working yet (whenever I turn it on, all of my window decorations disappear), and there is some error with Postgre that causes Synaptic and Aptitude to complain whenever I make changes to my system:

E: postgresql-8.4: subprocess installed post-installation script returned error exit status 1
E: postgresql: dependency problems – leaving unconfigured
E: postgresql-contrib-8.4: dependency problems – leaving unconfigured
E: postgresql-contrib: dependency problems – leaving unconfigured

Most stressing is the fact that I cannot get into the preferences for the Nautilus file system browser. Whenever I try to open the preferences dialog from the edit menu, it (and most of GNOME) crash. Running Nautilus from the terminal yields me this output:

(nautilus:4213): Gtk-CRITICAL **: gtk_combo_box_append_text: assertion `GTK_IS_COMBO_BOX (combo_box)’ failed

(nautilus:4213): GLib-GObject-CRITICAL **: g_object_set_data_full: assertion `G_IS_OBJECT (object)’ failed

(nautilus:4213): Gtk-CRITICAL **: gtk_widget_set_sensitive: assertion `GTK_IS_WIDGET (widget)’ failed

(nautilus:4213): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(nautilus:4213): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)’ failed

(nautilus:4213): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(nautilus:4213): GLib-GObject-CRITICAL **: g_signal_handlers_block_matched: assertion `G_TYPE_CHECK_INSTANCE (instance)’ failed

(nautilus:4213): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)’ failed
Segmentation fault

Actually, the terminal prints output similar to the above, but so much of it that this post would take up most of the front page of the site were I to post it all. I have no idea what the hell any of that means, or how it got into my system, or why I cannot get into the preferences panel of Nautilus as a result.

Until I do figure it out, I’ll be spending a lot of time on the #debian channel. Along with these major problems come a number of small tasks, like adding myself to the sudo keyring, adding the Testing repository keys to my sources list so that it stops yelling that all of my software is unverifiable.

Fucking Linux.

Flash problems in Firefox

October 25th, 2009 5 comments

I mentioned in the podcast that I was having problems viewing Flash stuff in Firefox and I blamed it on KDE. I may have jumped the gun here, because the same issue started cropping up in GNOME. I went on the Linux Mint forums and other users were having similar issues. I’ve run the code that they suggested in the terminal, but I’m not sure if it worked because the problem doesn’t manifest instantly – sometimes it takes over half an hour before websites that run flash white themselves out.