Customising Screen-Profile Files

I wrote a while ago about the new version of screen in Ubuntu Jaunty. Screen is an application which lets you run lots of tabs inside one terminal window, then disconnect from screen and reconnect again later. You can turn on and off a whole bunch of notifications which appear inside screen, and I also added the pink tabs I used with older versions of screen.

The tabs line is the one in the profile file which starts “caption always”.

caption always "%{wk}%H%{Bk}|%{Mk}%?%-Lw%?%{km}[%n*%f %t]%?(%u)%?%{mk}%?%+Lw%? %=%{Bk}"

I also altered the “hardstatus string” line, which holds lots of placeholders, to remove the clock – I run screen on my laptop inside KDE mostly, so I already know what time it is. Annoyingly this isn’t customisable via the menus but I edited my profile file to get rid of it – here’s the diff

29c29
< hardstatus string '%99`%{= kw} %100`%112`%= %102`%101`%114`%115`%108`%113`%119`%117`%118`%116`%106`%104`%103`%105`%107`%Y-%m-%d %0c:%s'
---
> hardstatus string '%99`%{= kw} %100`%112`%= %102`%101`%114`%115`%108`%113`%119`%117`%118`%116`%106`%104`%103`%105`%107`'

The only thing annoying me now is that screen seems to constantly redraw itself, so Konsole thinks there is activity in that screen, when there isn’t. Suggestions on stopping this or more ways you can customise your screen file are gratefully received – just add a comment!

Ubuntu Netbook Remix on Aspire One

A while ago, actually quite a while ago in May, I put the Ubuntu Netbook Remix version of Ubuntu 9.04 Jaunty Jackalope onto my lovely blue Acer Aspire One netbook.

The way this works is that on another machine (or I guess on an existing OS on the netbook) you download a bootable USB key image. With some trepidation (not a whole lot, I did back up first), I put in the USB key and settled in to see how far I could get with the installation.

Well, a short time later I realised I’d finished installing and was really just fiddling! Straight out of the box the wifi worked, the hibernate worked, sound (in and out) worked, the webcam worked, and there is this great window handler thing which amalgamates title bar and task bar into one. There’s also a cute menu on the desktop – all in all its really neat:

The working hibernate in particular has really made a big difference, at home the netbook just gets used for short bursts and lives next to my bed, usually plugged in. When it comes into its own though is at conferences! I can flip this thing open, use it, and flip it shut, pretty much all day. The startup time is really small from suspend and so long as I’m only dipping in and out (at conferences, I’m mostly in talks so I’m only ever checking mail etc), the battery life easily lasts a day.

Thanks to the Ubuntu folks – this is one quality piece of software and now I love my little netbook even more. Anyone else using the netbook remix? Were your experiences as good as mine?

Presenting Under Linux: xrandr

This is a mini-primer on using xrandr to configure a second screen under Linux, but first I’ll start with some background.

I’ve been a linux user for a few years now but when I started working for Ibuildings I started giving presentations, either as a speaker or when delivering training – and for a long time I used to boot into Windows for those, using a VM if I needed to code.

The main reasons I wasn’t comfortable using Linux to present were:

  • I have Powerpoint and I use the presenter view a lot
  • Linux doesn’t automatically find and configure monitors like Windows can.

Since Ubuntu Intrepid Ibex (8.10), its been possible to reconfigure screen in Linux without restarting X. But I was kind of scared of xrandr and I still liked the Powerpoint presenter view so I just carried on with windows. Then I realised that Open Office had also released a presenter view and I gave it a try. With one obstacle removed it was time to learn to work xrandr, which means I can also work external monitors without fiddling with xorg.conf, very useful. I’m now pretty confident with it so here’s the benefit of my wisdom*

xrandr

The first thing to do is figure out what you have and what your options are. So plug in the second screen and run xrandr with no arguments. On my system I get something like this:

Screen 0: minimum 320 x 200, current 1024 x 768, maximum 2560 x 1024
VGA connected 1024x768+0+0 (normal left inverted right x axis y axis) 338mm x 270mm
   1280x1024      60.0 +   75.0
   1024x768       75.0*    60.0
   800x600        75.0     60.3
   640x480        75.0     59.9
   720x400        70.1
LVDS connected 1024x768+0+0 (normal left inverted right x axis y axis) 304mm x 190mm
   1280x800       60.0 +   50.0
   1024x768       85.0     75.0*    70.1     60.0
   832x624        74.6
   800x600        85.1     72.2     75.0     60.3     56.2
   640x480        85.0     72.8     75.0     59.9
   720x400        85.0
   640x400        85.1
   640x350        85.1
HDMI-1 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)

This shows VGA (your external output) and LVDS (the laptop screen) and all the various modes they support. I sometimes see output under HDMI-1, and this seems to cause problems so I always turn off this output by running:

xrandr --output HDMI-1 --off

Next I send a command to set the resolutions on both screens. For projectors I tend to go with 800×600 as this almost always works and it means the text on my laptop screen is then so large I can see it from several feet away!

xrandr --output LVDS --mode 800x600 --output VGA --mode 800x600

Its perfectly fine to have different resolutions on both machines but bear in mind that X has one desktop and will show you sections of it on each monitor so if they’re different sizes you sometimes get either bits missing off one monitor or one of the outputs looks stretched. I don’t really have any general advice with this other than get the projector in the right ratio and then fiddle with the available modes to see what works for you.

To set the second screen to be different from the first (i.e. tiled rather than mirrored), just tell xrandr where you want it.

xrandr --output LVDS --mode 1280x800 --output VGA --mode 1024x768 --right-of LVDS

Again you’ll get sections of a single desktop, not two separate areas, so things might look odd if they are on both screens. For me this command has worked really well since I got to grips with it in the last few months, and I’ve plugged various machines in to various external monitors and given a few different talks. I’m sure there is a lot more to know about xrandr but I haven’t needed it yet – hope this is helpful! If you have any experiences with this or anything to add, just drop a line into the comments form.

* I’m not an expert by any means, but the above works for me on Ubuntu with my Thinkpad T400 and my Acer Aspire One.