Take a Peek at Some of the Freshest Projects Around
For all you system administrators out there keeping track of important log files with tail, this is definitely worth a look. When using the follow mode (tail -f filename), tail re-reads a file once a second by default. inotail takes a different approach by making use of a newer kernel feature, the inotify API. Instead of a clumsy cyclical update based purely on time, inotail listens to special events sent by the kernel using the new API.
After testing inotail, I was happy to see its results. I simply took a text file and read it with the command inotail -f test.txt. With the text file, I added lines one at a time and saved the document each time as I added a line. As soon as I pressed Save, the inotail screen output instantly updated without a hitch. Okay, so it's not exactly going to impress your mates, but system administrators probably are going to find an instant use for this far more elegant approach to keeping an eye on file updates.
I'm afraid that you still will have to compile this one from source, but it isn't hard. According to developer Tobiad Klauser's Web site, inotail should be in the Debian repository soon, but it isn't there at the time of this writing. To compile and install inotail, simply extract the tarball (available on the main page of the Web site), and go to the new directory. Enter the commands:
$ make (as root or sudo) # make install
As with most source compilations, this places the executable in /usr/local/bin by default. If you would rather place it in /usr/bin, enter the command:
# make prefix=/usr install
The only real factor hampering this project for now is time. inotail requires at least a 2.6.13 kernel, which still is fairly young for many system administrators who tend to use somewhat older and more mature distributions than the rest of us. After a year or so has passed, when inotail has been accepted into the Debian archive and administrators have upgraded their distributions, inotail should be finding its way into many an admin's toolbox.
Home Page: distanz.ch/inotail
For those of you who like minimalist window managers, Karmen may be your future choice. Designed to “just work”, it has no dependencies except Xlib and no configuration file to fiddle around with. According to the README file, these are its main goals for full release:
Intuitive, efficient window management.
Provide a high-quality look and feel.
Standards compliance (ICCCM and EWMH/NetWM).
Work well as a standalone window manager.
Work well with other desktop utilities and environments.
Focus on window management and let other tools do the rest.
Head to the main Web site to grab the latest tarball. Indeed, installing it was a cinch. Doing a simple:
$ ./configure $ make (as root or sudo) # make install
was all that was required, and as it says on the tin, there are no weird little dependencies to get in the way. It also happens to be quick and sleek, and each time I turned my head back around to look at the monitor, configure, make or make install was already done!
Once you have the Karmen desktop running, moving windows around is nice and familiar in a KDE/GNOME/Windows way, with clicking to focus and window resizing working in the intuitive way users have come to expect. Rather than the all-too-common annoyance of having to click on a window's titlebar to change focus that plagues many lightweight window managers, Karmen lets you switch window focus by clicking within a window's body. Maximizing is a different affair though; whereas two obvious minus and close buttons sit at the top right of a window, maximizing requires that you double-click the titlebar—not immediately obvious. For a list of windows (whether active or minimized), right-click on the desktop, and a new menu appears, allowing you to bring to focus any windows currently running.
Another interesting note: Karmen seems to be quite a keyboard-driven window manager. For instance, to tell a window to stay on top of others, click the titlebar with the Shift key held down. Shift-clicking again disables the stay-on-top property of the window. A welcome addition to minimalist window managers, pressing the familiar old Alt-Tab cycles between windows. In fact, most basic GUI functions can be performed via the keyboard, generally by using a combination of Alt and another key.
However, Karmen is quite young in its development, with some strong limitations in its current form. Still lacking is any kind of menu for major functions, such as logging out or choosing a simple xterm. Indeed, Karmen still requires that you kill its process manually to exit—obviously something that will be changed in the future, but a definite indicator of a project that's still in its infancy. Lacking too are startup scripts to start the window manager cleanly; you either have to make your own script or edit .xinitrc. For those who can't be bothered with this, you also could start Karmen from the command line, but you have to add & xterm specifically after the command. Thankfully, these topics are touched upon in a nice man page—a professional touch at this early stage. Also, for now, Karmen is a strictly one-desktop affair, but hopefully this also will change.
All limitations aside, however, developer Johan Veenhuizen's approach seems to be one of working on individual sections cleanly and then moving on. The coding is indeed very clean and stable—although in its infancy—and looks like it will be a snazzy little desktop once finished. I reckon Karmen definitely will find a home with many niche users once it matures.
John Knight is the New Projects columnist for Linux Journal.
Linux Journal Annual Archive
Editorial Advisory Panel
Thank you to our 2014 Editorial Advisors!
- Jeff Parent
- Brad Baillio
- Nick Baronian
- Steve Case
- Chadalavada Kalyana
- Caleb Cullen
- Keir Davis
- Michael Eager
- Nick Faltys
- Dennis Frey
- Philip Jacob
- Jay Kruizenga
- Steve Marquez
- Dave McAllister
- Craig Oda
- Mike Roberts
- Chris Stark
- Patrick Swartz
- David Lynch
- Alicia Gibb
- Thomas Quinlan
- Carson McDonald
- Kristen Shoemaker
- Charnell Luchich
- James Walker
- Victor Gregorio
- Hari Boukis
- Brian Conner
- David Lane