Ghost in the Shell
A Bit on Shell Managers
When diving into the fathomless ocean that is skinning, you're bound
to run into the cephalopod that is the shell replacement sooner or
later. A frightfull creature to most, for they do not comprehend what
it does and why.
Here, I'll introduce you to some scuba gear to help you out with your
shell encounters, it's called the shell manager and it helps you keeping
your relationship with these creatures a friendly one.
First up I'll take a peek at the four most popular shell managers
(which means that these are the four I know of). There'll be quite a
bit of jargon here, so in the second part, I'll compare these pieces
of diving equipment and explain what those mystic function do. And
I'll finish this crash course with some pointers to more info and the
usual conclusion.
Installing and uninstalling shells manually
In the days before shell managers switching shells had to be done by
hand. Not too difficult, except when you use the wrong path to your shell
of choice, then Windows will greet you at startup with a friendly
message stating you have to reinstall it. This usually leads to complaints
all over the place: "LiteStep has messed up my computer. I had to
reformat and reinstall Windows to get my machine back up running. I
hate you and your piece of crap software!!". Well, newsflash, Windows
is lying. There's no need to reinstall Windows and there's certainly
no need to format you drive.
Under Win9x (Windows 95, 98 and ME) changing your shell is done by
opening the file c:windowssystem.ini up in a text editor.
Locate the line starting with shell= and change the path
to wherever you've stashed your alternate shell. For me, it would be
something like: shell=e:sysshellLiteSteplitestep.exe,
'cos that's where LiteStep's executable is located on my machine.
Save, reboot (or log out and in) and you should be either running your
new shell or facing Windows' reinstall message.
Under WinNT (Windows NT, 2000 and XP) changing your shell is a little
bit more complicated. It involves *gasp* *horror* the Registry. First
you fire up regedit, this is done by going to the Start Menu, clicking
on Run... and typing regedit, finished with an [enter].
Then locate the key HKEY_LOCAL_MACHINESoftwareMicrosoftWindows
NTCurrentVersionWinlogonshell and change it's value to the
path to the executable of the shell you want to run. Then close regedit,
reboot or log out and in and you should be using your new shell.
Uninstalling is a matter of changing these paths back to the original
path to explorer.exe (Windows' default shell). Not too hard from within
Window itself, but what do you do when you get the reinstall message?
Under Win9x, you have to boot to DOS. This is done by holding Ctrl
at startup or pressing F8 when the "Windows is now loading" message
is displayed. Then select DOS, and type edit c:windowssystem.ini.
Change the value of shell= back to shell=explorer.exe,
save, exit and type win or reboot.
Since the location of the shell is defined in the Registry under WinNT,
recovering from an incorrect setting is not that easy. Actually, I have
no idea how to change it back. You could try to restore a backup of
your Registry or so. Luckily, we have shell managers these days that
handle these things for you. So you shouldn't have to worry about setting
the wrong path and such.
Shell managers
For this article I've picked the four shell managers that I know off.
LiteSpawn is the classic every shell tweaker knows, ShellON is the one
that is currently dethroning it, Carapace is my personal favourite and
Snafkin is the oriental rising star. Make no mistake, each one is
perfectly capable of handling your daily shell needs, any choice
between them is purely based on what your personal preferences are.
Note that the shell manager will play the role of the shell in order
to do its job, meaning it has to be set as the default shell. Depending
on the app this can be done from within the manager itself or has to
be done manually.
Carapace 2.0 build 534 (beta)
Starting off with my favourite, Carapace is the only skinnable
shell manager out there. Unfortunately, it does not seem to be that
popular out there. But I think this has more to do with people not
knowing it than with it being flawed.
Carapace is a work in progress, therefore part of the configuration
has to be done by altering its configuration file. Not too hard,
but that's exactly what we're trying to get away from with shell
managers. All the features are there though, it has support for
multiple shells, provides crash protection and can auto-select a
default shell at startup. The interface is fairly straight forward,
although, as said, only partially functioning, so this concoction
should hold no secrets for its users
Carapace consists of two programs, Carapace.exe, the
shell manager and CPConfig.exe, the configuration app.
In order to run Carapace, you first have to make sure it can find
its skins. To do so open carapace.set in a text editor
and change the line Theme_loc= to the directory of the
theme you want to use. After that, run CPConfig and Carapace will
install itself as the default shell. Now you can add shells to it,
a process which is rather self guiding.
After a reboot (or log out/in) Carapace will load and will wait for
about five seconds (depending on how long you've set this period)
to allow you to pick a predefined shell, configure it or pick a file
to use as shell. If you do not pick a shell within these five seconds,
it will automatically load the shell you've set as default and exit.
If you've configured it to crash protect the shell it loaded it will
not exit, but instead run hidden, monitoring your shell and will pop
up again if your shell crashes.
The interesting bit is ofcourse its skinnability. Carapace is partially
skinnable. You can skin the shell selection window you see at startup.
The skinning format should be familiar to experienced skinners, it's
a combination of a textfile and several bitmaps. As usual Magic Pink
(255,0,255) is used a the transparent colour. An interesting bit is
that Carapace can use a Flash movie as a splash screen.
LiteSpawn 1.80
As you may have guessed from the name, LiteSpawn was originally
intended to be used with the LiteStep shell. Due to this, it has
support for some special LiteStep tricks, like enabling the user
to use a different theme per profile or switch "on the fly".
It's a bit of an old timer, this last version dates back to May
'99, two-and-a-half years ago. So it may come as no surprise
that you won't find anything about Windows 2000, ME or XP in the
documentation. I haven't checked, but it should run on those
systems anyway (after all, ME is the latest in the 9x series,
while 2000 and XP continue the NT line).
Nonetheless, it's a full-featured beast, boasting support for
multiple shells, automatic selection of a shell after a given
period of time, shell selection based on user profiles and the
life saver called crash protection or in other words, allowing
you to select a shell again after one has crashed (which happens
to people that mess with their system loads of times). This prevents
floating around with no way to run programs ('cause that's what
shells do) after your shell has kicked the bucket, which really
isn't much fun.
Configuration is done through a textfile called LiteSpawn.cfg, which
resides in the LiteSpawn directory. Even though all options are
thoroughly described in the documentation that comes with the
program, we live in a time where configuring "by hand" is too big
a task for the average skinner, so LiteSpawn is not for the wary.
ShellON 2.30
My first impression with ShellON was, "awmygawd, options everywhere".
This beasty looks rather complex to the uninitiated. It literally
has options everywhere. But heralded as the successor to the throne
of LiteSpawn, that was to be expected.
ShellON does a lot. Aside from dedicated shell managing functions
like crash protection and multiple user profiles, it also sports
features as wallpaper switching and scripting. This would be the
perfect place for a corny "sadly it doesn't do the dishes" joke, but
I'm not that sad. The wallpaper functions can fulfill your
every wallpaper dream, keep a list of walls, monitor folders for
auto-adding, change it every two minutes or at start up and more.
Scripting is an interesting function. When using ShellON as your
shell manager, you can let it run scripts before it loads your shell,
meaning you could let it run programs and copy files before loading
your shell. Okay, so I haven't figured out any use for it yet.
Like Carapace, ShellON consists of the shell loader, ShellON.exe,
and a separate configuration program, config.exe.
First thing to do when installing it is run this configuration program.
It will then ask you to create a profile. If you name the profile
the same as your login name, ShellON can autoload the shell you've
picked as default whenever you log in without asking (if you've set
it to do so ofcourse). Handy when multiple users share the same
machine and use different shells. But unlike Carapace, you have to
explicitely tell ShellON to install itself as shell manager (it's
got a button to do so). Although, after running it, I noticed it did
had changed the default shell without asking... Hmm, curious.
After you've added some shells to it (all done through the GUI), reboot.
Upon reboot you'll see ShellON's splash screen. Here you can hit
[space] to load another profile. After a couple of
seconds, the shell selection screen will popup and you can pick a
shell to launch. You can also choose to browse for a file and load
that as shell or load nothing. Whatever you pick, ShellON will then
miminise to the tray, from which it can be accessed. Ofcourse, if
you choose to load nothing, you'll be left shell-less.
In case you're wondering, this is just the default scenario. You can
customise ShellON to behave just as you please. If options is your
game, ShellON's the manager for you. Too bad it's not skinnable.
Snafkin 4.73.1f.eng
Snafkin's a bit of a mystery, it's a Japanese shell manager being
developed since '99 by Ken Akashi and recently translated into English
by allelimo. It's completely configured through the GUI, which is
very clear and to-the-point.
Upon running Snafkin, you'll first be greeted by a small Japanese
splash screen, soon followed by Snafkin's shell selection screen.
It will always show this screen, so even if you manage to mess things
up with the configuration, you can always restore things through here.
Snafkin will show the default shell and a list of available shells
beneath that. First thing to do when running it for the first time
is adding all your shells and setting Snafkin as the default shell.
This can be done by adding it to the shell list, selecting it and then
pressing the "Change Shell" button or by going to the configuration
screen and and flicking on "Set Snafkin as Main Shell".
From this configuration screen you can also set a default shell to
load (or in other words, the shell Snafkin will load) and a timeout
value. After loading the shell, Snafkin will minimise to the tray for
easy shell switching. It doesn't seem to offer crash protection though,
so when your shell goes down, Snafkin's tray icon will become unreachable.
Meaning only a reboot can save you.
Aside from these basic functions, Snafkin also supports plugins.
Currently, there's three of them available, a Run plugin, a wallpaper
changer and a Recycle Bin emptier. All in all this is a simple and
easy to use shell manager. It doesn't offer any advanced functions, like
the others, but if you're new to shells, I'd suggest you'd check this
one out.
A comparison of features
"That's all and well", you think, "but what's the gear for me?" No worries,
your guide to the oceans has got things under control. The table below gives
an overview of some of the common features found in shell managers. And if
those terms mean nothing to you, there's an explanation of what they mean too.
| |
Carapace |
LiteSpawn |
ShellON |
Snafkin |
| filesize |
348k |
47k |
646k |
128k |
| GUI configuration |
partial |
no |
yes |
yes |
| crash protection |
yes |
yes |
yes |
no |
| user profiles |
no |
yes |
yes |
no |
| shell select |
yes |
yes |
yes |
yes |
| timeout select |
yes |
yes |
yes |
yes |
| load file |
yes |
yes |
yes |
partial |
| skinnable |
yes |
no |
no |
no |
GUI configuration
-
In order to use it, a shell manager has to be configured first. As always,
there are two ways to do this, either by altering a textfile (the manual
way) or by means of a GUI, a graphical user interface, or in other words,
point and click style.
One of the reasons people use shell managers is to get away from manual
configuration. You have to know what you are doing when configuring manually,
which means you have to read the documentation. Say what? I ain't going
to read no documentation!! A GUI on the other hand list all the option and
allows the user to flick them on and off at will without the risk of messing
up (okay, the risk is there, but it's a lot smaller than via manual configuration).
LiteSpawn is intended for the hardcore LiteStep user, one who is comfortable
editing the step.rc (LiteStep's main configuration file) by hand and therefore
comes with a manual config, which may be too difficult for new users.
Carapace, ShellON and Snafkin each come with a GUI, making things much
easier. Or is it? Carapace's GUI is only partially finished, so parts of
it aren't functioning yet. For instance, skin selection must be done by
altering Carapace's configuration file. ShellON is completely controlled
by its GUI, but it is rather complex one with options everywhere. No, the
best GUI for the total newbie is Snafkin's. Simple, to the point, the way
it should be.
crash protection
-
Shells have this nasty habit of crashing every once in a while and since
your shell is just about the only way you can run programs, that's serious
stuff. Without crash protection, the only way out is a reboot (or log in and
out). A shell manager that has crash protection will be running invisibly,
watching your shell. If the shell crashes, the shell manager will pop up
and lets you reload this shell, load another shell, shutdown, etcetera.
Aside from Snafkin, all shell managers support crash protection. LiteSpawn
does it on every shell by default, unless you explicitely tell it not to.
Carapace and ShellON do it the other way around, they offers no protection
unless you tell it to do so on a per shell basis (so you have to set it
for every shell you want to use). Curiously, I've found no mention whether
or not Snafkin supports crash protection (no, I did not try), so I guess
it doesn't.
user profiles
-
LiteSpawn and Snafkin have support for user profiles. This means that they
will load a shell depending on who logs in. With LiteSpawn all users share
the same list of shells, but have a different default one. It can also be
set to load their personal shell without showing the list. With ShellON
each user has a different set of shells to choose from and like LiteSpawn
a user can bypass this list at will. Carapace and Snafkin do not support
user profiles. I personally do not use these functions, because I never
log in.
shell select, timeout select and load file
-
Core reason for using a shell managing is being able to choose which shell
to run without much hassle. For that reason all shell managers will show
you a list of the shells you've configured once you've booted or logged
in.
Remember that the shells in the list don't show up automagically, you
have to configure them first. This is not a difficult task, Carapace and
ShellON both come with a separate configuration utitility with which
you can pick the shells and add them to the list. In Snafkin, this is
done from within the shell manager itself and LiteSpawn has to be configured
manually (with the risk of mistyping the paths to the shells). So the
first thing to do once you've installed your shell manager is to set
up your shells.
Understandably, you might not want to have to select which shell to load
every bloody time you start your machine. In order to take care of that,
all shell managers allow you to set a period of time after which the
shell you've set as default will be loaded.
Aside from selecting a shell from the list, LiteSpawn, Carapace and ShellON
will let you pick a file to load as your shell. Quite a handy feature if
you've forgotten or were too lazy to configure your shell manager when
first running it, or if you want to try out a new shell without having
to configure it first. Snafkin doesn't need this, because it will show
the configuration screen by default.
What shell manager to use depends on how computer savvy you are and how often
you switch shells. For newbies, Snafkin, with it's easy interface and configuration,
would be the manager of choice. Power users will prefer LiteSpawn for the shear
number of options it supports or ShellON if they want even more options and
luxury things like scripts and auto-wallpaper changing. And I prefer Carapace
for the simple reason that it is skinnable. In the end, as always, it's all a
matter of what you prefer.
Futher linkage
Now that we've discussed all that, time to play. I must say that most of this
story is pure deduction. I'm a lazy bastard, so I've ran the managers on top
of Explorer, instead of actually running them on their own (except for Carapace
ofcourse). So the only way for you to find out if my impressions were accurate,
is to try for yourself. Here's where to find them:
And some places to find some shells to play with, mostly news sites linking
to most of the shells out there:
Before I forget, a final word: if you just want to see the shell in action,
you can always run it on top of the Explorer shell. In other words, if you
merely want to see what it's all about, you don't need to install a shell
as a shell and you won't need a shell manager either. There is a downside
to this though. Because you run it on top of Explorer, you'll loose things
like hotkeys, the tray and possibly more, because Explorer already takes
care of this. So if you want to see a shell in full effect (with full
functionality), it really has to be installed. And that's when a shell manager
is very convenient to have around.
And there you have it. Time to encounter the cephalopods from up close.
No need for fear no more. Right? The only thing left to do is slit on
the scuba gear suited for you and hop into the wide beyond that awaits.
Cast away the chains of Redmond, if only in appearance. Enter the Shell...
(( craeonics | 06012002 ))
addendum (those wee notes you stick in later)
During the time at which this article was originally written (January) and
now (September), quite a few things have happened in ShellLand. Meaning some
of the stuff up there can be (and probably is) somewhat outdated.
Most notably this message pixol (author of Carapace) shot of to Tek HQ and which
was relayed to me like three months later (which is why I never replied):
"thank you for mentioning carapace in the article, as that was a nice surprise.
Unfortunately I think ls2k might be down now, so I have lost my site. Meaning
no one will be able to reach it until I find another host, or host it on LDI.
I must mention however I am releasing carapace in the next month which is a
total recode and will be released officially under lowdimension. Once again
thanks for all your hard work, and as always it was an excellent read :)"
Recently pixol's site has resurfaced somewhere out there. Don't really know
where. Not sure about the other links, but I trust Ravi has plenty of time
to check them all out. If not, we'll just have to come around and club him
for being a lazy bastard. [Ed: Yeesh! Ok Ok, here's a link to pixol's site. And yeah, I updated some of the links...]
Another thing: this article was aimed at skinners that knew absolutely
nothing about shells, other than the misconception that they are 'complex' --
so the die-hard Shell-Shocked audience might find it a bit too simplistic.
(( craeonics | 07092002 ))
* some site-links were updated, and some of them just don't exist anymore.