From OS2World.Com Wiki
Revision as of 01:26, 27 December 2017 by Ak120 (talk | contribs)
Jump to navigation Jump to search

Login is a program which provides multiple desktops to your WPS. Every user defined desktop can be protected by a password. It doesn't protect any files, so be VERY careful when you use it.

What's new:

In version 0.4 you can use the ENTER or the TAB key to move the cursor from the username to the password entry field. If the login is incorrect, the window "shakes" itself. :) The program uses the emx.dll and emxlibc.dll. If you don't have it on your system (or an older version), replace the old ones or make them available by LIBPATH in your config.sys. For those ones who want to use a statically linked version: There is one in the directory .\static.

How it works:

When Login is started, it asks for a user name and a password. If these are correct, Login sets the user .ini file, which is associated with the user name, and then starts pmshell (or any other application).

Needed parameters for Login: Login needs the full name of the user data file as argv[1] and the application to start as argv[2].


login.exe c:\utils\login\userdata.login c:\os2\pmshell.exe

How to install:

To install it correctly, you must do some changes to your config.sys. The modifications are:

  • FIRST: ADD A CALL=CMD.EXE STATEMENT!! It saves a lot of trouble in the case that something goes wrong.
  • SECOND: Create a backup of your .ini files! Login doesn't modify them, but the WPS does.
  • Replace the PROTSHELL statement with login.exe and the needed parameters. Example:
PROTSHELL=C:\UTILS\LOGIN.EXE c:\utils\login\userdata.login c:\os2\pmshell.exe
  • Add following setting:

If you forget it, pmshell won't open your folders or programs or whatever you start automatically.

  • REMOVE the following setting:SET RUNWORKPLACE=<anyprogram>

If you forget it, the RUNWORKPLACE will start before you're logged in.

You should create a new user .ini file with "makeini initial.ini ini.rc", which you set as the default USER_INI file. That's why... you'll see.

  • Create the user data file. Use the userdata.log file as a template. The format is:

First line: The magic cookie for the program. Do not change this line! After this line, every three lines are one user entry. The order is:

  • user name
  • password
  • full path and name of the user ini file.

It's a good idea to add the initial.ini desktop as a service entry.

How to create a new desktop:

  • Use the makeini utility to create a new user .ini file.
  • Add an entry associated with the new user file to the user data file.
  • Reboot and log in with the new name.
  • The WPS should start with the well-known default desktop for beginners. This is the new one. Now you can change it til it fits to your needs.


  • If a new USER_INI file is set, the desktop background color and the system settings (like window animation) will not be changed. Therefore you should configure this with the initial.ini desktop for your needs.
  • To have printing capability from every desktop, you MUST install the printer drivers for EVERY desktop separately. This makes sense, because every printer object has its own queue.
  • To get more save operation of the WPS with multiple desktops, every desktop directory tree should be located in its own subdirectory. Example:

User 1: c:\user_1\Desktop - there is the Desktop subdirectory tree for user 1, located normally in c:\desktop or "c:\os/2 2.0 Desktop". Move it with the WPS to this location (important!), but ONLY if it is the active desktop!

User 2: c:\user_2\Desktop - the Desktop tree for user 2. Same procedure as above.

This is my own experience with desktop directories.


The magic cookie in the userdata.log file has been changed. Please REPLACE the old with the new one. If the program shows a MsgBox like "Userdata file not found or corrupted" then the magic cookie is the problem.


Changes made in version 0.4:

  • "Shaking" of window when login is incorrect.

Changes made in version 0.31:

  • The login window now centers automatically on the screen.
  • Compiled with some other options, now using emx.dll and emxlibc.dll (smaller executable).

Version 0.2:

  • Initial release.



  • Open source software under the GNU GPL V3 license.
  • Author: Jens Glathe