This howto is about installing and configuring Xen under the Linux distribution Debian Lenny. It also shows some simple steps to create and manage Xen-images.
Xen belongs to the group of paravirtualization, there an hypervisor (which runs on the host system) distributes cpu-cycles and other resources to virtual guest systems. The guest system will be directly executed on the CPU, with the exception of system calls, which are forwarded to the hypervisor. This works without special hardware extensions at an amazing performance, closely to native speed. The only drawback is that the host system must be patched in order to use the hypervisor instead of real syscalls. Special kernel-patches for Linux, FreeBSD, Solaris, and other free operating systems are already available. If you like to run Windows, which can’t be patched, you must stick with hardware-virtualization, a feature that Xen now also offers. read more »
One of the biggest drawbacks of GNU Screen is that you don’t see an overview of your virtual terminals in most standard configurations. But that can be easily changed. My screen now looks like this:
Screenshot of extented screen with taskbar
You can clearly see which programs are running and you have a good overview. The other goodies like cpu load display and the clock is also very practical.
The global configuration file /etc/screenrc already has some minor tweaks (Depending on your distribution). If you only want the taskbar for a particular user, than the local .screenrc in your home directory is the file to edit.
With “backtick” a command-directive (1 here - must be a number) is noted. The “0 0″ then means that whenever a new output from the program is produced, screen stores the last line of output. “Hardstatus” is for the taskbar and each % directive is for special purposes. With `% 1 for example the last line of the backtick command is printed. For all the other directives better read the GNU screen-manpage
This awk-oneliner uses the information from /proc/stat to calculate the cpuload for one second. That is supported on all unixes with proc support (Mac OS X has no proc).
What’s missing now, is dynamic window titles. In the previous configuration, all titles are set to “n * bash”, we had to change the titles manually.
With a special escape-sequence, the title can be set from the console. The screen manpage explains the procedure:
The default name for all shell windows can be set with the "shelltitle"
command in the .screenrc file, while all other windows are created with
a "screen" command and thus can have their name set with the -t option.
Interactively, there is the title-string escape-sequence
(kname\) and the “title” command (C-a A). The former can be
output from an application to control the window’s name under software
control, and the latter will prompt for a name when typed. You can
also bind pre-defined names to keys with the “title” command to set
things quickly without prompting.
Finally, screen has a shell-specific heuristic that is enabled by set-
ting the window’s name to “search|name” and arranging to have a null
title escape-sequence output as a part of your prompt. The search por-
tion specifies an end-of-prompt search string, while the name portion
specifies the default shell name for the window. If the name ends in a
‘:’ screen will add what it believes to be the current command running
in the window to the end of the window’s shell name (e.g. “name:cmd”).
Otherwise the current command name supersedes the shell name while it
is running.
Here’s how it works: you must modify your shell prompt to output a
null title-escape-sequence (k\) as a part of your prompt.
The last part of your prompt must be the same as the string you speci-
fied for the search portion of the title. Once this is set up, screen
will use the title-escape-sequence to clear the previous command name
and get ready for the next command. Then, when a newline is received
from the shell, a search is made for the end of the prompt. If found,
it will grab the first word after the matched string and use it as the
command name. If the command name begins with either ‘!’, ‘%’, or ‘^’
screen will use the first word on the following line (if found) in
preference to the just-found name. This helps csh users get better
command names when using job control or history recall commands.
My shellprompt looks like this:
server1 pastacode #
That means, all my commands are typed in after the #. So, I have to add this to my .shellrc :
#dynamic title
shelltitle '# |bash'
Screen now looks for a # when it gets the escape-sequence. “| Bash” means that the default title is “Bash”. We now only need the escape sequence in our promt; that can be customized (in Bash) with the PS1 variable. To do this we will either edit the /etc/bashrc (for any user) or the local .bashrc in our home directory. My .bashrc looks like this:
The PS1 is altered to add the screen escape-sequence, but only when we are in screen. In my file, you can actually choose between two versions: either the current path is the dynamic title, or the program name, although I prefer the latter. Unfortunately viewing both seems to be not a trivial thing.
So I hope the whole thing works for you - for suggestions, better ideas - write a comment!
Last but not least my complete .screenrc:
#no bells and startup messages
startup_message off
vbell off
#10000 lines scrollback buffer
defscrollback 10000
#no login
deflogin off
# Default shell
shell bash
#Timeout for displaying messages
msgwait 1
activity " Activity has appeared in window %n - %t"
From a certain size on one’s own music collection is not simply sortable in a file structure. The index approach is something I started to like, I gained control over my collection again. This approach is used by almost all the major players - be it Amarok (Linux), Windows Media Player or Itunes.
Songbird is coming to conquer the crown of this sort of audioplayers. The big download button on getsongbird.com, the domain, the site …. all that is familiar and is reminiscent of Firefox and Co. read more »
“Harness gravity with your crayon and set about creating blocks, ramps, levers, pulleys and whatever else you fancy to get the little red thing to the little yellow thing.”
The SDL-Linux source was used to port and I only needed minor changes. Mail me if you want the project files. The port is native (Cocoa-SDL!), so no xorg server is needed
* Intel Mac. Sorry, no UB. Couldn’t make the library Box2D for ppc. If you tell me how much you would love it to have a ppc version, I may try it again.
* Mac Os X >= 10.4
Please comment for questions and tell me if it works for you. HAVE FUN!