SIMPLE LINUX, UBUNTU, LINUS & COMPIZ
Quite a title eh? Well this is sort of a random stream-of-consciousness kind of post. So be prepared. But this place was getting a little dull recently so I thought I’d rehash some of the things I’ve done to my machines recently and perhaps review them a bit. So here goes.
I think I read (though I can’t seem to find the reference anywhere) an interview with Linus Torvalds recently in which he said something like the following (if you know the reference feel free to let me know, I’m pretty sure it was on Kernel Trap this year sometime):
I don’t use Debian or any other ‘low-level’ Linux flavors because I feel like Linux should be easy to use and manageable for day-to-day work, etc.
Those of you that know me well probably know that I have made nothing short of a career in the past 3 years going exactly in the opposite direction here. Recently however, I decided to take the plunge for a number of reasons. They are briefly: 1) I’ve got way too many machines to take care of these days, 2) I love Debian but on laptops I find it a bit annoying to have to configure dynamic things every time I move and 3) Recently I screwed up a bunch of my machines and decided it was time to reinstall them, 4) Being ridiculously OCD I needed to have all my machines running the same software and they all basically need to look the same. Lastly, and definitely most importantly, Ion3 was really having trouble running a lot of the software I needed to run, including Fluent (ANSYS), Gambit, Matlab, etc. So all these things together, along with my acquisition of a brand new laptop, made me decide to take the plunge and reinstall all my machines with … (drum-roll), 64-bit Ubuntu.
Generally I’m pretty happy with my choice. I loved the Ion3 window manager and Debian in general, but Ubuntu is basically Debian with some fancy crap built on top of it. So the backend is basically the same. Plus the update cycle is way better in Ubuntu … well, at least faster. As far as using Gnome, I’m not completely sold yet. I sort of like it … I guess, and I’m getting used to it. But I do miss the simplicity of Ion3. I don’t, however, miss configuring everything manually in Debian for my laptop or the huge number of problems I had with applications really not liking the Ion3 windowing model.
Oddly, Ubuntu Gusty’s (7.10) compositing window manager (Compiz Fusion 0.52) is pretty annoying. There are really no real benefits to it so far as I can tell, other than Aero/Aqua-type effects. And there are plenty of annoyances. As I first got back to reinstalling my systems, basically everything that didn’t work with Ion3 well also didn’t work with Compiz, so I had to disable it out of the box on all of my machines. Annoying.
Alec turned me on to ‘unison’ as a nice little remote folder syncing utility, which is quite wonderful. I use it now to sync my document tree between my 3 work machines (work laptop, work desktop and home desktop). It’s designed for just 2 machines but it works equally well with 3.
I also got a nice new laptop recently, a Dell Latitude D430, which is their ultra-portable business machine. I’ve used it extensively already and generally I’m quite happy with it. Ubuntu runs great on it — I haven’t really been able to detect even the slightest hitch yet — it’s got fantastic battery life and the performance sacrifices due to ultra-portability and long battery life really don’t affect me in the slightest. It’s really going to be brilliant to be able to work on a plane or while traveling, not to mention when I just need to get out of lab for any number of reasons (there are lots of them).
I’m not sure I have much else to say. Lots of real work to get done since my OP is over, as my boss wants to publish pretty soon and I really don’t have enough yet done to do that. Hopefully I’ll be writing paper #2 in February. I doubt anyone will really care about this post but it’s here for you if you like; I had to write something, this place is dead. Hey you … write something for vdov.
Cheers.
I switched from ion3 to xmonad early this year and haven’t looked back – it’s a great window manager that gets out of your way and lets you use your windows.
Unfortunately, Ubuntu’s update cycle is too fast to include it, but it’s in Debian, and a new version was recently released.
I was at FOSSCamp a few weeks ago – Canonical’s attempt at an unconference – and some guys were showing off Compiz or one of the other 3D bling. Their sales pitch was that it was actually useful in that it gave tactile feedback to moving windows around. Apparently windows schooching across the screen is now considered usable; who’d have thought?
The other cool thing about xmonad I forgot to mention is that it realizes that not all applications play well with window management and makes them usable. mplayer doesn’t pop up in some oddly-sized window, and you can float and unfloat windows at a keypress.
3 part comments … awesome. interesting re: xmonad … i will have to give that a look today.
“Ubuntu’s update cycle is too fast to include it” … haha.
i’m not exactly sure what their definition of tactile feedback is, but i’m pretty sure mine doesn’t include things without feedback.
you could easily float and unfloat windows at a keypress in ion3 as well … what’s different there? i suppose i’ll find out …
Thanks Alec, re: unison and xmonad. xmonad is an improvement on ion3 for my purposes. I’m a convert.
First order of business: make mod the winkey. Anyone done this yet?
What’s with the tiling WMs being written in obscure (to me) languages like Lua and Haskell?
My ~/.xmonad/xmonad.hs configuration file is pretty simple – I have the mod key bound to left alt (requires some xkb/xmodmap trickery), but use mod2Mask to get the Windows key. I have a custom status bar with time/load/IP using dzen up at the top, and I only use two modes: tabbed (full screen with tabs for title names, like ion3) and tiled with a horizontal split. On the widescreen monitor I use a vertical split.
I’m cool and run the xmonad dev version; I don’t believe this config will work with 0.4.
I’m sure vdov is going to butcher this:
$ cat ~/.xmonad/xmonad.hs
import Graphics.X11.Xlib
import XMonad
import XMonad.Layouts
import XMonad.Layout.NoBorders
import XMonad.Layout.Tabbed
layout = my_tabbed ||| my_tiled
where
my_tiled = Mirror $ Tall nmaster delta ratio
nmaster = 1
ratio = 1/2
delta = 3/100
my_tabbed = noBorders (tabbed shrinkText defaultTConf)
main = xmonad $ defaultConfig
{ defaultGaps = [(18,0,0,0)]
, terminal = “urxvtc”
, modMask = mod3Mask
, layoutHook = layout
}
yup, vdov butchered the whitespace
xmonad will automatically float some things, and it’s easy to configure it to float your preferred application. I don’t remember ion3 doing that, but I stopped using it a long time ago.
xmonad is also so much easier to configure. I know Lua decently well and couldn’t figure out the ion3 configuration stuff for the life of me. I know Haskell better than Lua, but that doesn’t explain the orders of magnitude easier configuration.
I hear you can also use xmonad as GNOME’s window manager, so you can keep the ubuntu fluff and still have a smart window manager
alrighty … i’ll take that all into considerations. for future reference, vdov has the
(hopefully these actually show up) tags for preserving whitespace, though i don’t know about using them in comments. we’re probably about to find out when i click ’submit comment’ …
haha awesome, totally works. they are (exploding with some spaces) < pre > and < / pre >
i’ll take the liberty of reposting your xmonad rc correctly …
import Graphics.X11.Xlib import XMonad import XMonad.Layouts import XMonad.Layout.NoBorders import XMonad.Layout.Tabbed layout = my_tabbed ||| my_tiled where my_tiled = Mirror $ Tall nmaster delta ratio nmaster = 1 ratio = 1/2 delta = 3/100 my_tabbed = noBorders (tabbed shrinkText defaultTConf) main = xmonad $ defaultConfig { defaultGaps = [(18,0,0,0)] , terminal = "urxvtc" , modMask = mod3Mask , layoutHook = layout }for those keeping score at home, winkey is mod4Mask (mod2Mask == numlock)
Alec, you heard right. You can use xmonad as a window manager under Gnome. Just put the following in your .gnomerc file:
export WINDOW_MANAGER=”"
It works really well.
Whoa, I had some embedded characters in my comment that your blog software did not like. Let me try again. Just put the following in your .gnomerc file:
export WINDOW_MANAGER=”path-to-your-xmonad-executable”