Monday, December 19, 2011

Linux Mint 12 with MATE

If you are a fan of GNOME 2 you probably think GNOME 3 is unusable garbage. Linus does. Well MATE is here to save the day. MATE is a fork of GNOME 2 that can be installed on the same system as GNOME 3. Linux Mint 12 comes with MATE and GNOME 3 + MGSE.

MGSE (Mint Gnome Shell Extensions) are a set of extensions that make GNOME 3 less sucky, important things like an applications menu, a task bar, and task switching (Alt+Tab) that actually switches tasks not applications.

Even with MGSE I found GNOME 3 unbearable. There's no application launcher (Quick Launch) on the panel. You can add an extension which will put "favorites" on panel, but you can't customize or rearrange the favorites list. There are annoying "hot corners". If you are in a full screen video and you move the cursor to the bottom-right to click the button to exit full screen, an annoying notifications overlay pops up, blocking the button you are trying to click. If you accidentally move the cursor to the top-left you're in for a treat! An activities overlay will cover your whole screen, what fun! You'll probably try to desperately click in empty areas, the desktop, or menu bars trying to get rid of it, but the overlay won't leave unless you hit Esc.

MATE saves the day. Mint with MATE is awesome. It's slick looking, fast, and productive.

One issue I had with MATE was that the fonts were HUGE. For some reason the MATE font DPI was set to something like 370dpi. To fix that go to the Mint [Start] Menu -> System -> Preferences -> Appearance, select the Fonts tab, click Details in the bottom-right, change the dots per inch to something sane like 96.

Real transparency in gnome-terminal
If you have tried to use a transparent background in Terminal under GNOME 2 you have probably noticed it's not really transparent, all you can see behind it is the desktop background. In GNOME 3 the terminal can be truly transparent, like the Mac OS X Terminal. With GNOME 3 being unusable, I'm using MATE, which defaults to the old fake transparency (technically it's mate-terminal in MATE).

But you can fix it! Go to the Mint [Start] Menu -> System -> Peferences -> Desktop Settings. Select Windows. Check 'Use Gnome compositing' -- boom, real transparency. Apparently window compositing has existed since 2008 with the release of GNOME 2.22, I just never noticed it before.

Volume level
For some reason the system would not remember the sound volume level I set, instead resetting it to 100% after every reboot. That was especially annoying in GNOME 3 because it blasted some login sound, at least MATE doesn't play annoying sounds by default.

I decided to set the sound lower on every log-in, here's how:

  1. Find the PulseAudio sink index number associated with your sound card. 
    1. Run 'pactl list short sinks'.
    2. The index number in first column, it's probably 0.
  2. Test it with pactl, e.g., 'pactl set-sink-volume 0 25%'.
  3. Go to Mint Menu -> System -> Preferences -> Startup Applications.
  4. Click Add, give the new startup program a  name like "Lower Volume"
  5. In Command enter 'pactl set-sink-volume 0 25%', or whatever index and volume you want.
  6. Click Add and Close.
min4win.exe is a Windows installer for Linux Mint, basically the same as wubi.exe for Ubuntu. It comes on the Linux Mint 12 CD, but not on the DVD. I thought these installers were useless, I thought they were just a splash screen the told you to restart you computer with the CD in the drive. Boy was I wrong!

The Windows installer is amazing. It actually installs Linux from within Windows, it even adds Linux to Add or Remove Programs so it can be uninstalled in a familiar way. The best part is that it doesn't re-partition your hard drive or replace the boot loader.

The installer works by creating a large file on your hard drive (C:\linuxmint\disks\root.disk), the file is loop mounted as the root file system. A smaller swap file is also created and loop mounted. The installer modifies boot.ini to add C:\wubildr.mbr = "Linux Mint" which loads GRUB, and GRUB boots Linux with the loop devices. When you turn on the computer the Windows boot loader will give you a choice of Windows or Linux.

Your C:\ drive is mounted as /host, with full read-write access. So the Linux root file system can be small, and you can continue to store large files in your Windows My Documents folder.

I installed Linux Mint 12 on a desktop and Linux Mint 10 LXDE on a netbook using mint4win.exe. The Mint 12 installer is super easy, all the defaults are sane. The Mint 10 LXDE installer is a little quirky. The first part of the install from within Windows is good, there aren't really any options other than hard disk size. Once the Windows install completes you reboot and choose Linux Mint at the prompt. This is where things get odd. It boots Linux, but it's not really the installed Linux you would expect, instead it is basically a LiveCD with an installer. You then have to install Linux Mint for real by clicking the icon the the desktop. But don't accept the defaults!

By default the LiveCD installer wants to install the boot loader (GRUB) in the MBR of /dev/sda. You don't want to do that, it will overwrite the Windows boot loader. Instead tell it to install the boot loader on /dev/loop0, which is your Linux root disk. That way the Windows boot loader is unmolested and you can uninstall Linux Mint if you want to.

Linux Mint 12 is great. Every geek running Windows should go install it right now, with mint4win you have nothing to lose. It can do everything Windows can do, except stream Netflix. And it's so much nicer to use.