No Icons on Cinnamon Desktop

I’ve posted before about Linux Mint, as well as using Xfce.  While I hadn’t gotten Cinnamon working on the older machine, I did realize that there is in fact an ebuild for this on Gentoo.  I’ve been trying it on a laptop, and have found it to be pretty nice.  However, after logging in a few times, I could no longer see any icons on my desktop, nor could I drag anything onto it.

This is caused by the filemanager, nemo, not starting at login and taking over the desktop.  Starting the file manager manually by clicking the taskbar icon brings the icons back, but this only lasts until you close it.  I wasn’t sure what was causing this, until I remembered that I still had Gnome3 installed, which uses nautilus to manage the desktop.  Cinnamon is derived from Gnome, and you can actually use gnome-session-properties to manage startup applications in both.  The problem was that both nautilus and nemo were trying to take over, and neither were winning.

I didn’t have gnome-session-poperties installed, but I got it by emerging gnome-media.  In the list of applications it listed ‘Files’ twice.  Find the one that starts nautilus (highlight it and click ‘Edit’, then see what command it uses) and disable it.  After logging out and logging in again I had my desktop back to normal.

XFCE/Nautilus Hybrid Desktop

It’s been a while since posting here, but I haven’t forgotten about you :).  I’ve still been mulling over (read: procrastinating) on some things, but a lot of that has been put on hold due to some positive developments in my life which I will not go into.  However, I do have some other news:

  • Development on my inverter project continues, look for more information sometime in the future (who knows).
  • I recently received my Raspberry Pi, and am looking at making it into the server for this site.
  • I’ve also been considering ways to make the Pi run at least partially on solar power.  As I’ve mentioned before this would be a neat thing to have my server do, although there are some logistical obstacles.

That said, the rest of this post is not about anything mentioned in the above list.  Rather, it deals with my frustrations regarding Gnome.  I upgraded to Gnome 3 on my Gentoo machine, and for the most part was happy with it.  That is, once I got used to the layout.  I understand why people might not like it, but it didn’t bother me too much.  However, eventually it started getting unstable, as in certain things would make it crash.  At first it was not much of a problem, but then it started to get more and more random.  I switched to Fallback Mode, which I actually kind of liked too.  However, this too proved to crash a little too often.  (Note: I was also having some issues with the clutter-gst package and introspection USE flag not compiling, but I think my stability problems are related to the current nVidia drivers.)

The other day, a crash happened while playing around with the excellent EDA software KiCad, and that was it: time to migrate to something else.  I’d used Xfce in the past, and had been happy with it, although I usually stuck to Gnome because I was familiar with it most of all.  Desperate, I emerged it.  It’s a great environment as is, but it just felt lacking.  I wanted to manage my desktop like I did under Gnome, with my wallpapers and the like.  Actually, I wanted Gnome, but it just wasn’t working out.  This post will explain how I made this environment more like Gnome by using Xfce with Gnome’s Nautilus file manager.  It’s not difficult, and hopefully it will help someone out.

Xfce is a lightweight desktop, and I should point out that doing this sort of defeats the purpose of having it.  That said, I had the hardware resources to use Gnome more than comfortably, so this really isn’t an issue.  Also, if you really like it, you might consider a distribution that uses it by default, which will probably integrate it fairly well.

Anyway, assuming you’re switching from something else (Gnome in my case), to start with you’ll need to install Xfce.  To do this on Gentoo, I used the following command (as root):

emerge -avt xfce4-meta

(Note: The Gentoo Xfce Configuration Guide is a great place to check out if using this distro.)

Next, logout and log back in with Xfce selected as your desktop.  You should have a vanilla looking desktop, and now we want to have Nautilus manage the folders and icons.  Open the Settings Manager (Applications Menu->Settings), and click on Session and Startup.  Now, before I go on, I should say that we are going to determine what gets started when you log in to your Xfce desktop.  So, close everything you don’t want open (leave the Settings manager open though).  In the Session tab, you should see a list of running applications.  Select the xfdesktop program, and kill it.  Now click the Save Session button.

So now, Xfce isn’t managing the desktop.  Click the Application Autostart tab, and you will see a bunch of different services, some Xfce-related, some Gnome-related.  In my case there was one called Files, which I checked.  This basically runs the command nautilus -n, which has Nautilus manage the desktop.  (If you’re unsure, you can select it, hit Edit, and look at the command.)  I also activated some other things, like the SSH Key Agent.

Logging out and logging in again, you should now have Xfce panels, but with a desktop managed by Gnome that responds like it did before.  If you want, play with the Xfce panels, and you can make it look fairly Gnome-like.  It’s a little weird, but I’m happy with it.  It doesn’t have all the 3D effects of Gnome, but it’s responsive, and so far has been fairly stable.

Gentoo Network Interfaces Problem

I recently had an issue on my Gentoo desktop which was sort of frustrating, but which I’ve since gotten past.  I turned my machine on one day, only to find the mouse and keyboard not responding once the login screen came up.  Now, most of the time that’s just what can happen after an update, if you don’t reemerge xorg-server and the xf86-input-whatever packages.  Problem was, I couldn’t log in, and for some reason, eth0 hadn’t come up.  This meant no SSH, either.

First, a little about my setup.  I have two network cards in this machine.  One is the onboard gigabit one, which is my main nic (eth0).  The other is an extra PCI one (eth1) that I have statically configured for cases when I want to do a direct transfer between machines, or troubleshoot (like in this case).  The problem was, eth0 wasn’t coming up, and was instead doing a DHCP timeout (as if it weren’t connected at all).  I checked the cables, all looked good.

I ended up booting into the System Rescue CD (which I recommend having on hand if you do anything with computers) and checking a few things out.  I checked /var/log/messages and found these lines:

Mar 27 15:18:56 fishingcat kernel: [   13.847407] ADDRCONF(NETDEV_UP): eth0: link is not ready
Mar 27 15:18:57 fishingcat dhcpcd[2401]: eth0: waiting for carrier

This had me puzzled, but then I found this:

Mar 27 15:27:12 fishingcat /etc/init.d/udev-mount[7333]: Udev uses a devtmpfs mounted on /dev to manage devices.
Mar 27 15:27:12 fishingcat /etc/init.d/udev-mount[7335]: This means that CONFIG_DEVTMPFS=y is required
Mar 27 15:27:12 fishingcat /etc/init.d/udev-mount[7336]: in the kernel configuration.
Mar 27 15:27:12 fishingcat /etc/init.d/udev-mount[7324]: ERROR: udev-mount failed to start
Mar 27 15:27:12 fishingcat /etc/init.d/udev[7323]: ERROR: cannot start udev as udev-mount would not start

Bingo.  I had remembered from an encounter at work that udev likes to create persistent naming rules for hardware.  This is a new feature, and is generally a good thing: it keeps eth0 as eth0 for the next reboot, same for eth1.  But with udev not starting, no dice.  So, following the error message, I enabled the appropriate kernel option in make menuconfig.  (For me, this was under Device Drivers -> Generic Driver Options -> Maintain a devtmpfs filesystem to mount at /dev.)

I’m not really sure what caused that to become disabled in the first place, but it’s fixed now, so there you go.

Gentoo and Xorg Updates

Just a reminder to myself and others…  On Gentoo, at least on amd64, when updating X you sometimes find that your mouse and keyboard don’t work.  The solution to this, it seems, is to just reemerge xf86-input-evdev and then restart X.  I don’t remember what causes this, but luckily it’s not that time consuming to fix.

On a non-computer related note, it’s finally spring.  Last weekend (the 9th and 10th) represented the first truly nice days of the season, and while it’s a bit cooler now it’s fairly obvious that winter has left us.  So go outside, and enjoy the weather.

Rhythmbox on Gentoo

Quick fix here.  I use Rhythmbox on my Gentoo machine, and like it a lot.  Recently, though, when updating to rhythmbox-0.13.3 on amd_64 the build would fail.  I noticed that the build would fail, with something like this:

make[4]: Entering directory `/var/tmp/portage/media-sound/rhythmbox-0.13.3/work/rhythmbox-0.13.3/plugins/status-icon’
CC     libstatus_icon_la-rb-status-icon-plugin.lo
CC     libstatus_icon_la-rb-tray-icon-gtk.lo
rb-status-icon-plugin.c: In function ‘visibility_changed_cb’:
rb-status-icon-plugin.c:334:38: error: ‘RBStatusIconPluginPrivate’ has no member named ‘notify_supports_persistence’
rb-status-icon-plugin.c: In function ‘playing_changed_cb’:
rb-status-icon-plugin.c:1062:18: error: ‘RBStatusIconPluginPrivate’ has no member named ‘notify_supports_persistence’
make[4]: *** [libstatus_icon_la-rb-status-icon-plugin.lo] Error 1
make[4]: *** Waiting for unfinished jobs….
make[4]: Leaving directory `/var/tmp/portage/media-sound/rhythmbox-0.13.3/work/rhythmbox-0.13.3/plugins/status-icon’
make[3]: *** [all] Error 2
make[3]: Leaving directory `/var/tmp/portage/media-sound/rhythmbox-0.13.3/work/rhythmbox-0.13.3/plugins/status-icon’
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/media-sound/rhythmbox-0.13.3/work/rhythmbox-0.13.3/plugins’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/media-sound/rhythmbox-0.13.3/work/rhythmbox-0.13.3′
make: *** [all] Error 2
emake failed

This turned out to be a problem with the libnotify useflag, which I had disabled.  Enabling it fixed the problem and made it build.

Gentoo Not Detecting CD

Alright, so in case I didn’t mention it before, I am running Gentoo again on my desktop.  Things are good, compiling is fun, etc.  However, every once in a while there is a little snag.  Just recently (yes, around 1:30 AM, it’s a night off and I got sidetracked), I had reason to burn a CD (which I don’t do very often).  Well, I stuck the CD in, and Gnome didn’t pick it up.  IE, I installed Brasero to burn it, and it wouldn’t detect the CD in the drive.  That sucks.

As I also run Ubuntu, I’ve gotten used to having things picked up and configured for me, from CD drives and USB hotplugging, to things I never knew existed.  Well, I knew I’d had this CD problem before and had fixed it.  Turns out all I had to do with edit /etc/fstab and comment out a line I had for mounting /dev/cdrom.  (If you run Gentoo, you most likely know what I am referring to here, if not go browse their documentation.)  After that I just took the CD out and a few seconds later put it back in again.  Brasero picked it up and I was off.

In case you’re curious, this CD is a Windows live CD.  Yes, you read that correctly, apparently it can be done.  It’s for my laptop, a Lenovo G530.  I want to update the BIOS, and while I think there are hacks for sticking the BIOS image on a bootable DOS USB drive, I wasn’t entirely confident in that.  (Their site gives you a Windows-only BIOS flashing program.  You can extract the BIOS file itself, though.)  So I looked up how to do the live CD, and set it up in a VM I had on my laptop and transferred it to my desktop, with its faster CD drive.  I used BartPE to do it.

Why would one update the BIOS, you ask?  Well, my laptop, a Lenovo G530 has this nasty habit of beeping whenever I plug the power cord in.  Or take it out.  Or when the battery gets low.  The sound is loud and annoying, and while muting the sound stops it, this a) only works when the system boots up and b) means that if I want to have any sound I have to put up with it.  I usually just mute temporarily, or plug the cord in when it’s off.  But sometimes I’ll be on battery and listening to music through earbuds, when the battery will be nearing the end of its charge and all of a sudden a deafening beep will resonate through my skull.  Well, my laptop runs version 1.08 of the BIOS, while the new version, 1.10 supposedly fixes this.

Also, I removed the the hard drive from my machine first, just so the booted Windows didn’t mess with it.  I also took out the battery, not sure if that makes a difference.  (Someone recommended it when updating BIOS.)  So after this hopefully I won’t have to touch Windows on bare hardware for a while.

Battery Life and Other Nonsense

As I mentioned before, I have switched my laptop to Gentoo again after getting a new battery for it.  When I first finished my Gentoo install there was this beautiful feeling of euphoria…  It was just a raw Linux system, somewhat optimised for my machine.  It could be a normal Gnome desktop, it could be a mobile server…  It could be a workstation with no GUI at all…  So much potential, so many things I could do without having a predetermined computing environment like what Ubuntu provided.

Yeah, I ended up putting Gnome on it, along with the other types of apps normal people tend to put on their laptops: OpenOffice, Firefox, Pidgin (thus completing the desktop publishing-Web browsing-instant messaging trifecta), etc.  And now I find myself trying to replicate a lot of the things Ubuntu did configure out of the box.  Things like PulseAudio, multimedia codecs, and power management settings.

Actually the power management was a bit of a sticking point with Ubuntu.  I mean, it did provide decent control over LCD backlight brightness, and it configured CPU frequency scaling out of the box.  But at the same time I still never got the battery life I got in Windows.  The same is true for Gentoo.  I can get maybe four hours of life, which is nice.  But the older, smaller battery was rated for about this also.  Yeah, I know that rating’s a bit optimistic, but I sitll got maybe three of those hours on XP.  I’d like to get about 5 or 6 with this battery.

So I have some tweaking to do, no matter which distro I use on here.  I really do like having a less-bloated system, and at the very least Gentoo is a little more encouraging of tweaking, and is more familiar to me, so I may as well try diferent power saving methods on here for a while.  (Yeah, compiling software takes a bit of juice, but I do that when I’m plugged in anyway.)  Ubuntu 9.04 is coming out soon, and I’m thinking I might go and try it on here.

So, that’s that.  On an lighter note, the sun is coming out more and more here in Rochester.  We’re finally starting to get some Spring weather, even though we also just got some snow.  (I woke up one morning and it looked like it was winter outside.  It didn’t last long, but it was still weird.)  Though I do enjoy winter I am looking forward to the warmer weather a lot.  Soon it will be summer, and I will (hopefully) be working.  Getting away from class will be nice.

Back to Gentoo

When I first started on Linux, my distribution was RedHat 8.0 on our old HP Vectra.  After installing it I found that I couldn’t get X to start, and so I had to navigate the system from the command line, without the GUI.  It was a good learning experience, and I think I ended up breaking the system a few times.

When I finally got a more powerful machine, I tried RedHat again, then Fedora Core, then I think Suse, and then back to Fedora…  At first it was motivated by some driver problem that made the system freeze (I never figured out what it was, but it did just stop at one point), but later on it was just to get exposure to the different distros.  And there were (and are) a lot of nice ones.  However, I wanted to tinker.  And then a friend introduced me to Gentoo.

My first install on that machine, a dual AMD MP 2800 took three days.  I think I did a Stage 1 install (no longer supported), in which the entire system is compiled from source.  I ended up reinstalling a few times after, but in the end Gentoo was what I stuck with.  I liked it, it was fast and gave me a lot of things to customize and tweak.

Sometime a little more than a year ago this computer had a power supply problem, and I decided I might as well just upgrade as it was kind of outdated anyway.  So I went with an Intel Core 2 Quad system, and it’s been good.  But, I had also been doing some recording on Linux, making a low-latency kernel necessary.  I had patched it here and there on Gentoo, but I started to take an interest in Ubuntu Studio, as it takes care of a lot of that for you.  Also, while I still liked Gentoo I still had a few incidents in which I updated the system only to have some package like X or Gnome broken, and my desktop gone.  On top of that I had been starting to recommend Ubuntu to other people, after hearing about its supposed user-friendliness.  So, I went with Ubuntu Studio on my desktop.  I had actually been running normal Ubuntu on my laptop, and it was alright.  I was really impressed with Ubuntu Studio, though.  Doing my audio stuff was easy, and performance was decent.  Overall, I was happy.

Now, in an earlier post I mentioned how my laptop only ran at 600 MHz despite a supposed speed of 1.4 GHz.  Well, that was my primary reason for switching to Ubuntu on that box, though having everything configured out of the box was nice too.  I figured I just didn’t want to do all the compiling Gentoo entailed on such a slow machine.  Well, I fixed the bug (it was hardware related), and the performance jumped.  It was great for a while.

Now, I still run Ubuntu Studio on my desktop, despite some annoyances with 8.10 version’s low latency kernel not supporting multiple processors, and thus only running on of the cores on my processor (I don’t use it unless I need to record).  Now, another annoyance, and one that I especially noticed on my laptop was the bloat present in Ubuntu.  After deciding I didn’t feel like putting up with it anymore, I relented and did a Gentoo install this weekend.

And so far it’s been great.  Even with the speed bug fixed compile times can be long, but thanks to Ice Cream I can distribute some of the compiling to my desktop.  (Most packages are fine with this, some don’t seem to like it so much.)  I got Gnome installed, got power management and CPU frequency scaling working, along with suspending to RAM.  So now I have a zippy Linux install on my laptop.

Gentoo is a bit of work, but it’s worth it, in particular if you want to learn about how your system works.  I recommend it.