Saturday·05·May·2012
unburden-home-dir uploaded to Sid //at 02:54 //by abe
Most popular web browsers cause quite a lot of I/O on a user’s home directory and their cache’s also take up quite some disk space – with Google’s Chrome/Chromium you can’t even configure how much disk space should be used for the cache.
This causes unnecessary network traffic and no more makes sense if the home directory itself comes over the network, e.g. via NFS or Samba. And on laptops it spins up the disks and unnecessarily costs battery power and therefore lowers the potential battery life.
Such caches also costs scarce disk space on SSDs or flash cards as common in laptops, netbooks and other mobile devices, and often get backed up without any real use.
To take some of this burden off our NFS servers at work I started to develop an Xsession.d hook which moves off such caches to the local disk and puts in symbolic links instead into the user’s home directory when the user locally logs in.
This hook quickly became a standalone Perl script named unburden-home-dir and the Xsession.d hook just a wrapper around it. Due to some unsolved issues I didn’t feel it’s good enough for Debian Unstable, so I uploaded it just to Debian Experimental back then.
Pietro Abate’s recent blog posting about unburden-home-dir on Planet Debian gave me the right kick to make another try to solve the remaining issues.
And the mental distance gained over the time indeed helped and I could fix the remaining issues. So I added some polish to the package and uploaded it to Debian Unstable.
If you used the previous version from experimental, you have to take care of a few things:
- Previously some configuration files sported
unburden_home_dir
as base name while others usedunburden-home-dir
as base name as that’s also the package name. Now all configuration files use the package name, i.e.unburden-home-dir
as base name. - “Conffiles” under
/etc/
should be renamed by dpkg automatically, but per-user configuration files ($HOME/.unburden_home_dir
and$HOME/.unburden_home_dir_list
) must be manually renamed to$HOME/.unburden-home-dir
and$HOME/.unburden-home-dir.list
. - By adding
UNBURDEN_HOME=yes
to$HOME/.unburden-home-dir
every user can decide himself if he wants the Xsession.d hook to be used when he logs in under X. On managed workstations with many users this eases testing of unburden-home-dir with just a few users a lot.
You can follow the development of unburden-home-dir also on GitHub and on Gitorious as well as on Ohloh.
Enjoy!
Tagged as: $HOME, cache, Chrome, Chromium, Conkeror, Debian, Epiphany, Experimental, Firefox, Galeon, Google, I/O, Icedove, Iceweasel, Kazehakase, Mozilla, NFS, Opera, performance, Planet Debian, Sid, symlinks, Thumbnails, Thunderbird, Trash, unburden-home-dir, Unstable, X
// show without comments // write a comment
Related stories
Thursday·27·October·2011
Conkeror in the Debian NEW queue //at 22:57 //by abe
I already mentioned a few times in the blog that I’m working on a Debian package of the Conkeror web browser. And now, after a lot of fine-tuning (and I still further new ideas how to improve the package ;-) Conkeror is finally in the NEW queue and hopefully will hit unstable in a few days. (Update Thursday, 03-Jul-2008, 18:13 CEST: The package has been accepted by Jörg and should be included on most architectures in tonight’s updates.)
Those who could hardly await it can fetch Conkeror .debs from http://noone.org/debian/. The conkeror package itself is a non-architecture specific package (but needs xulrunner-1.9 to be available), and its small C-written helper program spawn-process-helper is available as package conkeror-spawn-process-helper for i386, amd64, sparc, alpha, powerpc, kfreebsd-i386 and kfreebsd-amd64. There are no backported packages for Etch available, though, since I don’t know of anyone yet, who has successfully backported xulrunner-1.9 to Etch.
Interestingly the interest in Conkeror seems to have risen in the Debian community independently of its Debian packaging. Luca Capello, who sponsored the upload of my Conkeror package, pointed me to two blog post on Planet Debian, written by people being fed up with Firefox 3 already and are looking for a more lean, but still Gecko based web browser: Decklin Foster is fed up with Firefox’ -eh- Iceweasel’s arrogance and MJ Ray is fed up with Firefox 3 and its SSL problems.
Since my previously favourited Gecko based web browser Kazehakase never became really stable but instead became slow and leaking memory (and therefore not much better than Firefox 2), I can imagine that it’s no more an candidate for people seaking for a lean and fast web browser.
Conkeror has some “strange” concepts of which the primary one is that it looks and feels like Emacs:
The current location is shown in a status bar below the website, where Emacs usually shows buffer names. All input, even entering new URLs to go to, is done via the mini-buffer, an input line below the status bar.
Instead of tabs it uses Emacs’ concept of buffers. So no tab bar clutter and though easy access to all currently open pages.
It has no buttons, menu-bar or such. And except the status bar and mini-buffer, it uses the whole size of the window for the displayed web page. This is the main reason why I prefer Conkeror on the 7” EeePC: I don’t want to waste any pixels for buttons or menu bars and still have a fully functional web browser.
It of course has Emacs alike keybindings (with a slight touch of Lynx). While this may seem awkward for the vi world (Hey, they have the vimperator*, also in Debian since a few days!), as an Emacs user you just have to remember that you web browser now also expects to be treated like an Emacs. It just works:
C-x C-c
- Exit Emacs -eh- Conkeror
C-x C-f
- Open File -eh- web page in new buffer
C-x C-b
- Change to some other tab -eh- buffer
C-x C-v
- Replace web page in this buffer and use the current URL as start for entering the new one
C-x 5 2
- Open new frame -eh- window
C-x 5 0
- Close current frame -eh- window
C-x k
- Close tab, -eh- kill buffer
C-h i
- Documentation
C-s
- Incremental search forward
C-r
- Incremental search backward
C-g
- Stop
l
- Go back (Think info-mode)
g
- Go to (Open web page in this buffer)
(Hehe, I like the faces of vi users having read these keybindings and now wondering how to remember them. SCNR. Well, sometimes vi key bindings are a mystery to me, too. :-)
There are of course many more and nearly all are the same as in Emacs, even the universal argument
C-u
and theM-x
command-line are there. E.g.C-u g
lets you open a web page in a new buffer, too.Conkeror also has very promising concept for following and copying links with the keyboard only. Opera is very inefficient here since you have to jump from link to link to get to the one you want. In Conkeror you just press
f
for following orc
for copying links and then all links on the currently shown part of the page show a small number attached to it. Then you just enter the number (and additionally press enter if the number is ambigous) and the link is either opened or copied to the clipboard.A funny anecdote about how this concept grew over the time: Early versions of Conkeror (back in the days when it just was a Firefox externsion as vimperator) numbered all links on the page, not only the visible ones. On large pages with many links or buttons (e.g. my blog ;-), this took minutes to complete. The idea to just number the visible links is so simple and important – but someone first needed to have it. :-)
Footnotes
*) I just noticed that there is now also muttator, making
Thunderbird look and behave like vim (and probably also mutt), too.
Wonder into which e-mail client the Emacs community will convert
Thunderbird. GNUS? RMAIL? VM? Wanderslust? What will it be called?
Wunderbird? Thunderslust? (SCNRE ;-)
Tagged as: alpha, amd64, Browser, Conkeror, Debian, EeePC, Emacs, Firefox, Firefox 2, GNUS, i386, Kazehakase, kfreebsd-amd64, kfreebsd-i386, Lenny, MUA, muttator, NEW, Opera, packaging, Planet Debian, powerpc, RMAIL, sparc, Thunderbird, vim, vimperator, Wanderslust, XULRunner
// show without comments // write a comment
Related stories
The World without a sage web browser? — or — Why Firefox sucks //at 22:57 //by abe
Although I read our Debian’s Joey’s blog posting about not being able to produce Mozilla security updates for Debian, only now, after reading about other Debian’s Joey’s try to fix a security hole in Debian’s Mozilla Firefox, I see how asshole-like the Mozilla Foundation’s security policy looks to Linux (and maybe other operating system’s) distributions, who favour stableness over feature richness.
As many know (or at least were forced to know ;-) I don’t like Firefox, because in spite of all the plugins it can’t cope with all the useful features of Galeon 1.2.x or Opera. That’s the UI point of view.
But from the political (correctness) point of view, we have to ask ourself: What sage browser does the open source world still have?
- Mozilla does not provide security patches, so Firefox, Mozilla (RIP), Epiphany and Galeon are no more acceptable for distribution use.
- Konqueror has planed to drop KHTML in favor of Mozillas Gecko. So see above.
- Dillo’s rendering engine is fast but not really state of the art. Same counts for glinks (aka “links -g”).
- Lynx, links and w3m somehow don’t count since the distributions (and sometimes, me too ;-) primarily need a graphical web browser.
But back to usaility: I heard from quite a few people — even open source people — evaluating or even already using Opera as an alternative, because there is no sage open source web browser, even if you don’t count Mozillas security policy. And I can understand them. If Galeon wouldn’t exist, I probably would be a convinced Opera on Debian user myself, although Opera is closed source. But I and many more can’t live without a working and sage web browser.
The only thing, I don’t like with Opera is that this company seems to
be (or at least was a few years ago) very chaotic and uncoordinated.
(And I really wonder, how they are able to produce such impressive
software.) But that’s another story…
Tagged as: Debian, FAIL, Firefox, Galeon, Lynx, Mozilla, Open Source, Opera, Other Blogs, RIP, Security, UI
// show without comments // write a comment
Related stories
Wednesday·24·November·2010
Group packages by origin in aptitude //at 00:06 //by abe
I always wondered how others recognise non-Debian packages in the aptitude package tree. I also missed the additional priority level in the hierachy well-known from good old dselect.
For the last one, I quickly found out that you can set the priority as
subsection — it’s straight forward after you’ve read the
documentation: Just add ,priority
at the end of the
default grouping method for package views under “Options → UI
Options” in the aptitude menu.
Getting the origin as given in the Release file of the repository a
package originates from is a little bit more difficult. You need to
use the pattern()
group function with the appropriate
search pattern: pattern(~O)
Since already the default default grouping method for package views
doesn’t fit into the dialog, I nowadays just edit /etc/apt/apt.conf
directly for changes on
aptitude’s default grouping method for package views. It now looks
like this on several of my machines:
Aptitude::UI { Default-Grouping "filter(missing),status,section(subdir,passthrough),pattern(~O),section(topdir),priority"; };
In aptitude this looks like this:
[...] --- text - Text processing utilities --\ utils - Various system utilities --- Debian --- Mowgli --- volatile.debian.org --\ web - Web browsers, servers, proxies, and other tools --- Debian --- Opera Software ASA --\ x11 - The X window system and related software --\ Debian --- contrib - Programs which depend on software not in Debian --\ main - The main Debian archive --- Priority optional --- Priority extra --- non-free - Programs which are not free software --- Mowgli [...]
Unfortunately this doesn’t work with all non-Debian repositories since a few repository maintainer, e.g. those from Emdebian, arrogate to just keep “Debian” as their packages’ origin. This could be solved, if there’s a possibility to group by e.g. repository URL (host and/or path).
Another problem I haven’t solved yet is that grouping by origin does neither work with locally created nor virtual packages nor tasks — probably since all of them lack an origin. Those branches are just empty or don’t even show up anymore with this configuration. I probably have to dig a little bit more in the aptitude documentation to resolve this.
Now playing: E-Rotic — Max don’t have sex with your ex
Tagged as: aptitude, Debian, Emdebian, Etch, Mowgli, Now Playing, nuggets, Opera, Sid, Text Mode
// show without comments // write a comment
Related stories
Monday·02·November·2009
Bath Tub, Rubber Keyboard, Ratpoison and Opera //at 18:24 //by abe
I recently noticed that a very good way to safely read webcomics in
the bath tub is an old laptop with a big screen (e.g. a IBM ThinkPad
A-series like my 15” A31 which has a nice 1400×1050 resolution),
a water proof keyboard, the screen-alike, keyboard only driven (hence
the name) window manager ratpoison (other keyboard driven window
managers like wmii
or awesome
probably will do as well as ratpoison) and a good keyboard driven web
browser which can bind or by default has bound a key to follow
<link rel="next" ... />
tags.
Like Opera. Opera has bound the space bar to scroll one page down and if you reach the bottom of the page to go to the next page as labeled in the link tag. Additionally the full screen mode is helpful, too.
Or the dream browser of all Emacs addicts, Conkeror, which has bound
the function browser-follow-next
to ]]
.
(Conkeror packages will hit Debian Experimental quite soon.)
Or the GNOME feed reader Liferea which has bound Ctrl-Space by default to scroll down the content by one page and if you reach the bottom of the content go to the next unread item.
With that equipment I can read my favourite web comics like Questionable Content (whose content seldomly is questionable :-) or Ozy and Millie (Think of a mixture of Calvin & Hobbes, Peanuts and Kevin & Kell) in the bath tub without drying my hands before reading the next comic or fearing water or health damage by the combination of water and computer. I just press one or two keys on the keyboard floating over my lap and have a good time.
BTW: I’ve got a blue, non-branded one (packaging reveals it as “AirTouch Keyboard”, probably
manufactured by SanChuan Electronics, China) with swiss-german layout from ARP Datacom (whose website
offers no permanent links and insists on session cookies
*puke*
), but those from Keysonic or from ROCK seem to be very similar — nowadays they are also
available in illuminated, miscellaneous colors and wireless, but only IP65, probably because of the necessarily accessible
battery compartment.
But this kind of having fun still has optimisation potential: non-flexibel water-proof keyboard (IP67 recommended, so those IP66 keyboards and mice recently posted at UF LOTD are probably not tight enough), flat screen mounted above the bath tub, etc. ;-) Or maybe a completely water proof laptop if such thing exists — Does it?
One more note: In Debian Sid and Lenny recently a new tool called keynav has been added, which allows you to control the mouse
quickly using the keyboard only. So with Sid or Lenny, I don’t even
need an waterproof mouse or trackball if an application insists on
mouse usage. ;-)
Tagged as: A31, AirTouch, AirTouch Keyboard, awesome, bath tub, Calvin and Hobbes, Conkeror, Debian Experimental, Debian Sid, Emacs, Feed Reader, flexible keayboard, Hardware, Kevin and Kell, keyboard, keyboard driven, keyboard only, keynav, Keysonic, Lenovo, Liferea, loadrunner, Opera, Other Blogs, Ozy and Millie, Peanuts, Questionable Content, ratpoison, rubber keyboard, Thinkpad, Unotron, water-proof, water-resistant, webcomic, wmii, xulrunner
// show without comments // write a comment
Related stories
Wednesday·11·February·2009
Favourite Linux Desktop Applications //at 15:01 //by abe
foosel tagged me, whatever that means. Perhaps it’s the English word for “Stöckchen” (German for “small stick”) of which I always wondered how the English blogging part of the blogosphere is calling that kind of coercing blog posts… ;-)
So these are the rules:
- blog a list with your favorite desktop Linux software (as many or few you want)
- add links to the software project’s websites
- post these rules
- tag three other Linux using bloggers
Interestingly splitbrain, who started the thing just calls it “Meme”, but to me memes are the same thing just without duress. ;-)
So you want to know about what Linux desktop software I like and use, hmm? Desktop means GUI, doesn’t it? There are only a few GUI application I really use often since, as you probably know, X is primarily a terminal multiplexer and screen resolutions are compared by how many 80×25 xterms with fixed font you can get on one screen without overlapping. ;-)
But to be honest: Although I’m more the command line guy hacking cryptic lines into windows with small fonts, there are a few thing where I don’t want to miss X and the GUI applications: For all things web – that means web browser, feed reader, etc. But then there is also a bunch of GUI software I use occasionally or as alternative tool to some text mode or command line software.
Web
Liferea – My favuorite feed reader although it takes ages to start and since a few days also starts crashing, probably since I have configured it to cache up to 1000 items per feed and have subscribed to several hundred feeds.
I do not read them all though, but I use them togther with Liferea’s “search all feeds” feature as a Google News replacement. ;-) I though read a lot of feeds in it, since I use it for news, blogs, webcomics and to read missed tweets on Twitter. It organizes the feeds in a tree structure so I can easily group different types of content together.
Opera – I’m back using Opera as my primary web browser since they offer alpha versions for 64-bit Linux.
Initally I started using Opera with version 3.60 on Windows 95 somewhere about 10 years ago and I’ve always come back to it when no current free browser fits my needs.
Although it hasn’t an AddOn possibility as Firefox has, I still prefer it over the bloaty and leaky and quite unstable Firefox 2, since it offers nearly every functionality I need (mainly mouse gestures and a flexible tab management), is fast, needs less RAM and is quite stable for an alpha version. And Firefox only offers those features I need via Addons which are often the cause for leaking or crashing. Haven’t tested Firefox 3 yet, but it’s said to be be less bloaty…
Kazehakase – Formerly I used kazehakase as my primary web browser since I really like its user interface, but the version in Etch is quite slow and seems to have memory leaks. It’s currently the second browser I have always open. But since my browsers always have uptimes in terms of months I don’t need web browsers that are leaking, so I’m thinking about replacing it with something more stable.
Conkeror – A Gecko 1.9 (i.e. Firefox 3) based web browser completely controllable with the keyboard. And the key bindings are those from Emacs and partially also from the classic text-mode browser Lynx. Will be available in Debian Experimental soon.
Netsurf looks very promising as it’s a simple and fast browser with it’s own rendering engine and originating on RISC OS. But since I’m a heavy tab user (60 tabs in one window are not really seldom), a browser (yet) without tabs isn’t really that useful for me. But I hope it will get tabs soon.
Midori – The other upcoming new browser in the Linux world is using Apple’s WebKit (which itself is based on KDE’s KHTML) underneath. Only in Experimental yet (form a Debian point of view :-). Use it on my Debian Sid machine to play around with it.
Twitux – A simple GTK Twitter client which doesn’t clutter the screen with unnecessary icons or buttons. Just a small menu bar, status bar and the tweets.
Azureus – In the seldom case where I need to download files via Bittorrent I either use Opera’s builtin client or Azureus. The nice thing about Azureus is that you can get nice graphical as well as textual statistics about all aspects of your downloads.
X / Desktop Environment
FVWM – My favourite window manager for normal, big or multiple screens. I use it since more than 10 years (twm and tvtwm were its predecessors) and its configuration has evolved since then quite a bit to tinted transparent window frames and title bars, etc.
I tried other window managers in between (e.g. Sawfish and GNOME’s own Metacity, each for a month or so and both together GNOME, also played around with KDE on one machine) and I always came back to FVWM. No other window manager is so fast and configurable in regards of keybindings. Handles multiple screen very well and out of the box, too.
ratpoison – My favourite window manager for small screens (less than about 1024×768, e.g. on my EeePC, on the 8” touchscreen connected to my MicroClient Jr. or on my 1996 ThinkPad 760ED with 133 MHz Pentium 1) since it doesn’t waste screen space for window borders or title bars. It just maximizes all windows by default to screen resolution. You then can manage (split, resize, switch, close, kill) windows as you are used to manage shells and text-mode applications with screen(1). Doesn’t work that well with multiple xrandr managed screens though if they don’t have the same size.
FLWM – The Fast and Light Window Manager. My favourite low-end but still DAU compatible window manager. Use that on demo and guest accounts, especially on low end machines.
Synergy – connects displays of other computers (not only X but also even Mac or Windows) with your mouse and keyboard similar to a KVM switch. I use it at work to add my laptop as fourth monitor. ;-)
trayer – A desktop environmen independend system tray developed by the FVWM Crystal Project. Since I changed from manually editing /etc/network/interface on my laptop each time I came into a new wireless LAN to using GNOME’s Network Manager, I needed a system tray for the nm-applet. Trayer is quite easy to configure using command line options and can handle tinted transparency as I use with FVWM and ATerms. So it fits in perfectly.
- ratmenu and dmenu – For showing generated menus together with ratpoison, I use ratmenu (e.g. as replacement for ratpoison’s non-interactive window list) and dmenu (e.g. as application menu using my own wrapper which generates the menu from some config file). Probably will publish that code once it proved itself stable.
xtrlock – the simplest tool to lock you desktop: The mouse turns into a lock and it only goes away if you enter the right password. No screen saver included though and everyone can see what’s on your desk. I like it though. Use it on low-end machines.
xosview – my favourite system monitor since more than a decade.
XScreenSaver and Really Slick Screensavers (GLX Port) – Configurable and command controllable screen saver daemon. Favourite modes: GLMatrix and Substrate from XScreenSaver and Lattice Sky Rocket and Hufo’s Smoke from RSS GLX.
Terminals
xterm – there is no better X terminal emulator than the original xterm. I found no other terminal which is so fast, has no problems with text-mode applications (aterms break aptitude’s display), no problems with character set encodings, which can be embedded into other applications and which has a fully working classic Unix cut & paste.
aterm – When I need a fancy transparent terminal for showing a fancy desktop, I use the AfterStep Terminal Emulator aterm. In that case, the system tray, the window borders, the window’s title bar and the terminal on my desktop have the same fancy tinted transparency.
yeahconsole – A wrapper around xterm which works like the pulldown console in quake. Good for the short shell usage inbetween. ;-)
The other similar pull down consoles I know (KDEish yakuake and GNOMEish tilda) had some issues with focus and keybindings while yeahconsole works just out of the box and showed no problems until now.
Audio and Video
XMMS and Audacious – If I want to play a single list of files of the same file format or single stream, I usually use the command line tools mpg123 and ogg123. But if I need anything more fancy or more flexible, I prefer the WinAMP clones. Formerly XMMS, nowadays Audacious. Both with some old skin which I use since more than a decade and which I initially used with WinAMP 2 on Windows 95.
mplayer – no fancy GUI, easily controllable with the keyboard, plays most video file formats I can remember. ;-)
Editing and Developing
GNU Emacs – I’ve been raised with GNU Emacs and Lisp at university, so I’m quite sticked to that. I usually only start one Emacs instance and connect to it using emacsclient. I also like TRAMP for editing remote files. but I don’t need it that often.
On machines, where I don’t want a full blown Emacs installation or under root I prefer GNU Emacs’ little brother GNU Zile (Zile Is a Lossy Emacs), but that’s text-mode and no GUI software.
OpenOffice.org – I think it’s a really great software, but I use it quite seldom, usually only when I have to open some file in a Microsoft file format. For writing letters, articles, presentations and so I have LaTeX.
Gnumeric – My preferred spreadsheet application. Although for some purposes I use the OpenOffice.org spreadsheet, usually when Gnumeric has not all necessary features.
Graphics
xv – Yet another tool I use since more than a decade: No other image viewer is so fast and yet so easy to use with both keyboard and mouse. Open source, but unfortunately not (yet?) free software.
keyjnote – fancy PDF presenter with a lot of interactive features.
pdfcube – PDF presenter turning pages as a cube as compiz or Macs do with the desktop.
Chat
Pidgin – I usually use irssi inside a screen for IRC as well as Jabber and ICQ (via Bitlbee), but I also often have a local Jabber client running which then is Pidgin (formerly known as GAIM).
Other Tools
Unison – I use it to synchonise the cache and state of my feed reader between laptop and workstation. And I do indeed prefer the GUI version over the text-mode version. I use the text-mode only if I use it from some remote location.
XKeyCaps – The ideal tool to wreck you keyboard layout. ;-)
XGnokii – Used it to backup my former Nokia mobile phones, the 6130, the 6210i and the 6310i. Doesn’t work anymore with my new E51, though.
Sunbird / Iceowl – Not really using it yet, but I plan to use it as my primary calendar tool.
QEMU / KVM / KQEMU – My favourite desktop hardware emulator. (For servers, I prefer Xen for virtualization.)
Games
- ScummVM
- Planet Penguin Racer / Extreme Tux Racer (all forks of Tux Racer)
- Frozen Bubble
- Battle for Wesnoth
- cuyo, xpuyopuyo, flobopuyo
- Sauerbraten
- PrBoom / Freedoom
- Neverball / Neverputt
- Briquolo
- xfrisk
- Icebreaker
- XBomb
Non-Desktop Applications
In case someone wonders about my mail client, Jabber client, IRC client, ICQ client, file manager, notes taking application, shell and versioning system – they’re all command line or text-mode applications:
- E-Mail: mutt
- Chat, Instant Messaging: irssi + Bitlbee + GNU Screen
- File management: coreutils (and sometimes busybox ;-)
- Notes: hnb
- Shell: zsh
- Version control: Subversion (svn), Mercurial (hg)
Who’s next?
That’s difficult:
- maol would be interesting, but since a while he just blogs in Jeopardy style, so he would need pack all those programs into the subject of his blog post… No, not a good idea.
- Venty! No, has no active blog anymore.
- Dieter! No, no Linux user.
Hmmm, I think I have to look in a different corner of my circle of friends. Hmm. Ah, now I know:
- dyfa – not really a Linux user, but I guess FreeBSD is ok, too. :-)
- nion – this will be really interesting. He even uses more strange software than I do. ;-)
- alphascorpii – no idea what she prefers (except that it will be available as Debian package ;-)
And no, I don’t expect posts as comprehensive as mine. :-)
Tagged as: alphascorpii, aterm, Audacious, Azureus, Bitlbee, Conkeror, Debian Experimental, desktop, dmenu, dyfa, Emacs, fancyness, Firefox, FLWM, foosel, FVWM, GAIM, gnokii, GNOME, GNOME Network Manager, Gnumeric, GUI, Iceowl, ICQ, IRC, irssi, Jabber, Jeopardy, Kazehakase, keyjnote, KQEMU, KVM, Liferea, Linux, maol, Meme, Metacity, Midori, more than a decade, mpg123, mplayer, Netsurf, nion, ogg123, Open Source, OpenOffice.org, Opera, Other Blogs, pdfcube, Pidgin, Planet Debian, Planet Dokuwiki, QEMU, ratmenu, ratpoison, RSS GLX, Sawfish, splitbrain, Stöckchen, Sunbird, synergy, tilda, trayer, tvtwm, Twitter, Twitux, twm, unison, Venty, web browser, WinAMP, window manager, Windows 95, X, XKeyCaps, XMMS, xosview, XScreenSaver, xterm, xtrlock, xv, yakuake, yeahconsole, zile
// show without comments // write a comment
Related stories
Tuesday·20·January·2009
How I use my virtual desktops //at 00:29 //by abe
Many months ago I stumbled upon this German written meme about how users use their virtual desktops. I use virtual desktops since my very early Unix times (tvtwm on Sun Sparc SLC/ELC/IPX with greyscale screens running SunOS 4.x), so in the meantime I use them nearly everywhere the same way.
Short Summary
3x5, no overlapping windows, either tiling or fullscreen, keyboard navigation, xterms, yeahconsole, FVWM, panel for systray.
Window Manager of Choice
My window manager of choice is FVWM since more than a decade. I tried others like Sawfish, Metacity and Compiz, but I couldn’t get them behave like the FVWM I got used to, so I always came back.
Since I hate overlapping windows, I use FVWM a lot like a tiling window manager. FVWM has this nice function to maximize windows so that they occupy as much space as available, but do not overlap other windows. This function was also often missing when I tried other window managers. I though do not want to use real tiling window managers since I have a few sticky windows around (e.g. the panner with the virtual desktops and xosview) and they shouldn’t be overlapped either.
Virtual Desktops
Switching between virtual desktops is done with the keyboard only – with Ctrl-Shift as modifier and the cursor keys. The cursor keys are usually pressed with thumb, ring and small finger of the right hand. Which hand presses Ctrl and Shift depend on the situation and keyboard layout, but it’s usually either ring and small finger of the left hand, or pointer and middle finger of the right hand. So I’m able to switch the virtual desktop with only one hand.
I have always three rows of virtual desktops and usually four or five columns.
The top row is usually occupied with xterms. It’s my work space. The top left workspace usually contains at least one xterms with a shell and one with mutt, my favourite e-mail client since nearly a decade. At home the second left virtual desktop in the top row usually contains a full-screen Liferea (my preferred feed reader) while at work it contains the GNU Emacs main window besides two xterms. Emacs and the emacs server are automatically started at login.
This also means that I switch the virtual desktops when I switch between mutt and Emacs for typing the content of an e-mail. Did this already during my studies. (At home mutt runs inside a screen, so there I just switch the virtual terminal with Ctrl-A Ctrl-A instead of the virtual desktop. Not that big difference ;-)
The other virtual desktops of the the top row get filled with xterms as needed. Usually one virtual desktop per task.
The middle row is for web browsers. One full screen browser (usually Conkeror or Opera) per virtual desktop, often opened with many tabs (tabs in Opera, buffers in Conkeror) related to the task I’m accomplishing in the xterms in the virtual deskop directly above.
The third row usually contains root shells for maintenance tasks, either permanently open ones on machines I need an administrate often (e.g. daily updates of Debian testing or Debian unstable machines), or for temporary mass administration (Linux workstations on the job, all Xen DomUs of one Xen server, etc.) using pconsole.
yeahconsole
Additionally I have a sticky yeahconsole running, an xterm which slides down from the top like the console in Quake. (It’s the only overlapping thing I use. :-) My yeahconsole can be activated on every virtual desktop by pressing Ctrl-Alt-Z (with QWERTY layout, Ctrl-Alt-Y with QWERTZ layout). It’s the terminal for those one-line jobs then and when, e.g. calling ccal, translate, wget or clive.
Changes over time
Of course the desktop usage changes from time to time:
At work I have more than one monitor, so in the meanwhile the second row with the web browsers “moved” to the second screen – with independent virtual desktops (multiple X servers, no Xinerama). The second row on the main screen at work is now used the same way as the third row with a slight preference for the permanently open shells while the third row is more used for mass administration with pconsole.
At home I used XMMS respective Audacious for a long time (my FVWM panner and xosview are exactly as wide as WinAmp2/XMMS/Audacious, guess why:-) which usually was sticky the same way as the panner and xosview are. But when I started using last.fm recently, I moved to Rhythmbox (after testing some other music players like e.g. Amarok) which I use in fullscreen as I do with web browsers and the feed reader. So it occupies a complete virtual desktop, usually the second one in the middle row – below the feed reader because I don’t need a corresponding web browser for the feed reader. (Just found out that there is a last.fm player for text-mode, so maybe that will change again. :-)
Another thing which changed my virtual desktop usage was the switch from a classical tabbed web browser (Galeon, Kazehakase, Opera) to the buffer oriented Conkeror. With a tabbed web browser I have either no overview over all open tabs (one row tab bar or truncated tab menu) or they occupy too much space of the browser window. That was another reason for more than one browser window and therefore more than one virtual desktop with fullscreen web browser windows. With Conkeror tabs are optional (and not even enabled by default), Conkeror uses buffer like Emacs and if you want to switch to another buffer, you press C-x b and then start typing parts of the buffer’s name (e.g. parts of the URL or the web page title) to narrow down the list of buffers until only one is left or until you have spotted the wanted buffer in the list and choose it with the cursor keys. So the need for more than one browser window is gone.
For a long time I didn’t need any task/menu/start/whatever bar on my desktop. But since neither NetworkManager nor wicd have a comand-line interface (yet) and bluetooth seems also easier handled from the system tray my laptops also use either gnome-panel (big screen, long sessions with FVWM) or lxpanel (formerly used trayer; use it on small screen, short sessions with ratpoison or matchbox) on my laptops. It’s sticky and always visible. (No overlapping, remember? ;-)
The panel is usually at the bottom on the screen as by default with Windows or KDE, not at top as with GNOME and MacOS. Only on the OpenMoko, I have the panel at the top to be close to what I’m used from Nokia mobile phones.
Things I tried …
… but didn’t survive in my setup:
- Desktop icons – nearly always covered if you use a tiling window manager. (I though use root window menus – mostly for starting applications later occupying that space where I clicked. ;-)
- A button to minimize all windows. Only sissies without virtual deskops need that. ;-)
- Automatically scrolling logfile content on the desktop (root-tail, root-portal, etc) – the space was too precious to not use it for xterms or web browsers. ;-)
Systems without Virtual Desktops
Anyway, there are systems where I don’t use virtual desktops at all.
On systems with a screen resolution so small that there’s not enough
space for two non-overlapping, fixed font 80x25 xterms on the screen
(e.g. on my MicroClient with 8” touch screen, the 7” EeePC or the
OpenMoko) I do not use virtual desktops at all. On such systems I use
all applications in fullscreen, so switching between applications is
like switching virtual desktops anyway. My window managers of choice
for such systems are ratpoison for systems with keyboard and matchbox
for system without keyboard. With ratpoison you treat windows like
terminals in GNU screen, so there are no new keybindings to learn if
you’re already used to screen (which I use nearly daily since more
than a decade).
Tagged as: Audacious, buffers, ccal, clive, Compiz, Conkeror, desktop, EeePC, Emacs, FVWM, Galeon, GNOME, icons, Kazehakase, keyboard-driven, Last.fm, Liferea, LXDE, lxpanel, matchbox, meme, Metacity, MicroClient, multiscreen, mutt, Nokia, OpenMoko, Opera, Other Blogs, overlapping, panel, QWERTY, QWERTZ, ratpoison, Rhythmbox, root-tail, Sawfish, screen, Sparc, tabbed browsing, tabs, tiling window manager, touch screen, translate, trayer, tvtwm, virtual, wget, WinAmp, window manager, X, Xinerama, XMMS, xosview, xterm, yeahconsole
// show without comments // write a comment