Home > Dashboard > GeoShell R4 > ... > Installing Geoshell > Setting Different Shells for Different Users
GeoShell R4 Log In | Sign Up   View a printable version of the current page.
Setting Different Shells for Different Users
Added by Jaykul, last edited by Jaykul on Apr 25, 2007
Labels: 

As of Windows 2000 and XP, it's possible to set up separate shells for each profile without using a shell manager. However, shell managers continue to provide an enhanced interface and advanced features like choosing your shell at bootup, and they are still the easiest way to configure multiple shells. We used to recommend shellOn, Carapace, Snafkin or ShellS. These have been disappearing slowly, so if you find a link is down, please report it ... we were able to procure the source and distribution rights for ShellS, so we'll make sure at least that one stays around ...

Native per-profile shells

ShellS makes it easy!
You should consider using ShellS to set you shell, it features the ability to set your shell "per user" or "per machine" and doesn't require running every time you log in (unlike the ones listed above).
Setting a shell per profile this way is not as easy, and requires Editing the Registry by hand, so follow these steps carefully, and please BACKUP your registry first!
  1. Navigate in your registry to: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ini File Mapping\system.ini\boot
  2. change Shell = SYS:Microsoft\Windows NT\CurrentVersion\Winlogon to Shell = USR:Software\Microsoft\Windows NT\CurrentVersion\Winlogon - This basically means that windows is supposed to look at the CurrentUser key to see what shell is supposed to be running, before it looks at the LocalMachine key.
  3. Now navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
  4. create a string value: Shell = Explorer.exe (This is the default shell, which will be used for profiles which don't specify their own shell)
  5. Logon to the profiles where you do not want the default shell to load. (make sure you can edit the registry: Poweruser status should be enough)
  6. Navigate to HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
  7. Add or change Shell = C:\geoshell directory\Geoshell.exe Using the path to GeoShell.exe on your system. This will be the shell that's loaded by windows whenever you use this profile.

I followed the instructions above on my Windows 2000 SP4 system.
Just as a test, I copied explorer.exe to explorer2.exe.
I then set HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell=explorer2.exe

I expect that, since I'm using an exact copy of explorer.exe as the shell, everything should still look the same. However, when I start up the computer, no start menu, taskbar, etc. appears. It seems that I'm not using anything as a shell. Any ideas why this wouldn't work or how to go about troubleshooting it? I didn't notice anything out of the ordinary in the Event Log. Thanks.

Posted by M G at Jun 25, 2006 01:25 | Permalink

Correction - I was logging out and back in, not restarting my computer. It seems that logging out and back in is not enough to change the shell correctly. When I restart my computer, however, the shell did change correctly.

Posted by M G at Jun 25, 2006 07:33 | Permalink
Site powered by a free Open Source Project / Non-profit License (more) of Confluence - the Enterprise wiki.
Learn more or evaluate Confluence for your organisation.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.3 Build:#641 Jan 13, 2007) - Bug/feature request - Contact Administrators