Lotus Notes FAQ Visit Our Sponsor!

Can you run the Notes Client on Linux?

Peter Leugner figured out to run the Notes 7.01 client on WINE:
- Get the latest wine from http://www.winehq.com (Version 0.9.19)
- Run the install: wine whatevertheinstalliscalled.exe
- Copy oleacc.dll and oleaccrc.dll from an existing windows to ~/.wine/drive_c/windows/system32 (depending on your settings this could be in windows/system, just copy them in both to be safe). Without this, you can't edit the preferences.
- Edit notes.ini and append the line
DisableUniscribe=1
This gets rid of a bunch of errormessages, I don't know, what it actually does.
- Start notes:
WINEDLLOVERRIDES="oleacc=n" ; wine "C:\Program Files\lotus\notes\nlnotes.exe"

There's a WINE wiki page on how to run the Win32 Notes client on Linux.


WINE (a windows emulator for Linux) has gotten good enough that it will run the R5 Notes client. Phil Colbourn (pcolbourn@argus.net.au) posted this helpful guide to getting it working:
* Download and install Codeweavers Wine rpm. I used codeweavers-wine-20010112-1.i386.rpm

* If you are mounting a dos partition, setup fstab and mount it. My /etc/fstab entry for my FAT32 partition is:

/dev/hda6 /mnt/e vfat noauto,owner,user 0 0

* Run winesetup Programs-System-Wine Config under gnome. I set these options:
- Look & feel to Win95
- Window Mode to Managed
- Drive E HD /mnt/e (my FAT32 partition)
- Drive H network ${HOME}
- Drive Z network / to have access to the file system
- I added E:\lotus\notes;E:\lotus\notes\data to the Path
I'm using a Compaq Armada E500. I has a lucent winmodem (for the money I expected a self-contained modem). Fortunately a linmodem driver is available. It creates a /dev/ttyLT0 device. In the ports section I set this as a Coms port, but I have not tested it yet. I also have a network HP 8000 printer set as lp and lp4 (for printing 4 pages per page, full duplex)

My ~/.wine/config file is listed here:

WINE REGISTRY Version 2
;; All keys relative to \\Machine\\Software\\Wine\\Wine\\Config

;;
;; MS-DOS drives configuration
;;
;; Each section has the following format:
;; [Drive X]
;; Path=xxx (Unix path for drive root)
;; Type=xxx (supported types are 'floppy', 'hd', 'cdrom' and 'network')
;; Label=xxx (drive label, at most 11 characters)
;; Serial=xxx (serial number, 8 characters hexadecimal number)
;; Filesystem=xxx (supported types are 'msdos'/'dos'/'fat', 'win95'/'vfat', 'unix')
;; This is the FS Wine is supposed to emulate on a certain
;; directory structure.
;; Recommended:
;; - "win95" for ext2fs, VFAT and FAT32
;; - "msdos" for FAT16 (ugly, upgrading to VFAT driver strongly recommended)
;; DON'T use "unix" unless you intend to port programs using Winelib !
;; Device=/dev/xx (only if you want to allow raw device access)
;;

[Drive A]
"Type" = "floppy"
"Path" = "/mnt/floppy"
"Label" = "/mnt/floppy"
"Device" = "/dev/fd0"

[Drive C]
"Path" = "/home/pc901725/.wine/fake_windows"
"Type" = "hd"
"Label" = "/home/pc901725/.wine/fake_windows"
"Filesystem" = "win95"

[Drive E]
"Type" = "hd"
"Path" = "/mnt/e"
"Label" = "/mnt/e"
"FS" = "win95"

[Drive Z]
"Type" = "network"
"Path" = "/"
"Label" = "Root"
"FS" = "win95"

[wine]
"Windows" = "C:\\Windows"
"System" = "C:\\Windows\\system"
"Path" = 
"C:\\Windows;C:\\Windows\\system;e:\\lotus\\notes;e:\\lotus\\notes\\data;C:\\Temp"
"Temp" = "C:\\Temp"
"GraphicsDriver" = "x11drv"
; Wine doesn't pass directory symlinks to Windows programs by default.
; Enabling this may crash some programs that do recursive lookups of a whole
; subdir tree in case of a symlink pointing back to itself.
;ShowDirSymlinks=1
"ShellLinker" = "wineshelllink"

[DllDefaults]
"DefaultLoadOrder" = "builtin, so, native"

[DllOverrides]
"kernel32" = "builtin"
"gdi32" = "builtin"
"user32" = "builtin"
"krnl386" = "builtin"
"gdi" = "builtin"
"user" = "builtin"
"toolhelp" = "builtin"
"comdlg32" = "builtin"
"commdlg" = "builtin"
"version" = "builtin"
"ver" = "builtin"
"shell32" = "builtin"
"shell" = "builtin"
"shlwapi" = "builtin"
"lz32" = "builtin"
"lzexpand" = "builtin"
"commctrl" = "builtin"
"comctl32" = "builtin"
"wsock32" = "builtin"
"winsock" = "builtin"
"advapi32" = "builtin"
"crtdll" = "builtin"
"ntdll" = "builtin"
"mpr" = "builtin"
"winspool.drv" = "builtin"
"ddraw" = "builtin"
"dinput" = "builtin"
"dsound" = "builtin"
"winmm" = "builtin"
"mmsystem" = "builtin"
"msvideo" = "builtin"
"msvfw32" = "builtin"
"mcicda.drv" = "builtin"
"mciseq.drv" = "builtin"
"mciwave.drv" = "builtin"
"mciavi.drv" = "builtin"
"mcianim.drv" = "builtin"
"msacm.drv" = "builtin"
"midimap.drv" = "builtin"
"glide2x" = "so"
"glide3x" = "so"
"opengl32" = "builtin"
"shfolder" = "builtin"
"rpcrt4" = "builtin"
"w32skrnl" = "builtin"
"wnaspi32" = "builtin"
"wow32" = "builtin"
"system" = "builtin"
"display" = "builtin"
"wprocs" = "builtin"
"wineps" = "builtin"
"icmp" = "builtin"

[x11drv]
; Number of colors to allocate from the system palette 
"AllocSystemColors" = "100"
; Use a private color map
"PrivateColorMap" = "N"
; Favor correctness over speed in some graphics operations
"PerfectGraphics" = "N"
; Color depth to use on multi-depth screens
;;ScreenDepth = 16
; Name of X11 display to use
;;Display = :0.0
; Allow the window manager to manage created windows
"Managed" = "Y"
; Run Wine windows in desktop. Contains "N" or something like "800x600".
"Desktop" = "N"
; Use XFree86 DGA extension if present
"UseDGA" = "Y"
; Use XShm extension if present
"UseXShm" = "Y"
; Enable DirectX mouse grab
"DXGrab" = "N"
; Create the desktop window with a double-buffered visual
; (useful to play OpenGL games)
"DesktopDoubleBuffered" = "N"
; Code page used for captions in managed mode
; 0 means default ANSI code page (CP_ACP == 0)
"TextCP" = "0"
; Use this if you have more than one port for video on your setup 
; (Wine uses for now the first 'input image' it finds).
;; XVideoPort = 43

[fonts]
;Read documentation/fonts before adding aliases
"Resolution" = "96"
"Default" = "-adobe-times-"

[serialports]
"Com1" = "/dev/ttyS14"
"Com2" = "/dev/ttyLT0"
"Com3" = "/dev/modem,38400"
"Com4" = "/dev/ttyS14"

[parallelports]
"Lpt1" = "/dev/lp"
"Lpt2" = "/dev/lp4"

[spooler]
"LPT1:" = "|lpr -P lp"
"LPT2:" = "|lpr -P lp4"
"LPT3:" = "/dev/lp3"
"LPT4:" = "|gs -sDEVICE=bj200 -sOutputFile=/tmp/fred -q -"

[ports]
;read=0x779,0x379,0x280-0x2a0
;write=0x779,0x379,0x280-0x2a0

[spy]
"Exclude" = "WM_SIZE;WM_TIMER;"

[registry]
; Paths must be given in /dir/dir/file.reg format.
; Wine will not understand dos file names here...

;These are all booleans. Y/y/T/t/1 are true, N/n/F/f/0 are false.
;Defaults are read all, write to Home
; Global registries (stored in /etc)
"LoadGlobalRegistryFiles" = "Y"
; Home registries (stored in ~user/.wine/)
"LoadHomeRegistryFiles" = "Y"
; Load Windows registries from the Windows directory
"LoadWindowsRegistryFiles" = "Y"
; TRY to write all changes to home registries
"WritetoHomeRegistryFiles" = "Y"
; Registry periodic save timeout in seconds
; PeriodicSave=600
; Save only modified keys
"SaveOnlyUpdatedKeys" = "Y"

[Tweak.Layout]
;; WineLook=xxx (supported styles are 'Win31'(default), 'Win95', 'Win98')
"WineLook" = "Win95"

[Console]
;Drivers=tty
;XtermProg=nxterm
;InitialRows=25
;InitialColumns=80
;TerminalType=nxterm

[Clipboard]
"ClearAllSelections" = "0"
"PersistentSelection" = "1"


[Drive D]
"Path" = "/mnt/cdrom"
"Type" = "cdrom"
"Device" = "/dev/cdrom"

[Drive H]
"Path" = "${HOME}"
"Type" = "network"
"Device" = ""

==========
Installing Lotus Notes r506 (r504 upgraded to r506 using incremental installers under MS-Windows)
==========

I already had a r506 shared install on my Windows partition. It was an r504 full shared install upgraded to r506. If I had the CD handy, I could have installed it under Wine and applied the upgrades to r506 (as I have done this in the past)

I relocated the shared Notes install to E:\lotus\notes, and my data directory to E:\lotus\notes\data. Drive E: in MS-Windows 2000 is /mnt/e under Linux and I mapped this to drive E: under Wine. This way I can share my Notes program and data files between MS-Windows and Linux/Wine.

To setup the registry, I ran wine e:\lotus\notes\setup.

I had a lot of trouble getting Notes to work. I tried all sorts of DLL combinations (builtin v's native). Eventually I discovered it was some redistributed files in the Notes program directory that were causing me grief. I removed them and ... I don't need MS-Windows 2000 anymore.

The files I removed (renamed actually) were these:
- imagehlp.dll
- msvcrt.dll
- olepro32.dll
- rpcrt4.dll (I think)

If these don't exist in your Notes program directory, don't worry.

==========
Running Notes under Wine
==========

I made this small script and placed it into ~/bin/notes

echo preparing to start notes...
if [ ! -f /mnt/e/lotus/notes/Notes.exe ]; then
  echo mounting /mnt/e...
  mount /mnt/e
fi
echo starting notes...
wine e:\\lotus\\notes\\nlnotes.exe =e:\\lotus\\notes\\data\\notes.ini

It mounts my Wine E: drive if it is not already mounted, then starts Notes using nlnotes.exe rather than notes.exe. This is because notes.exe launches the Notes splash screen first and then runs nlnotes.exe (I think). But when you close Notes (nlnotes.exe actually), the splash screen does not get closed and seems to remain running under Wine even though you can not see it. I think this happens in MS-Windows as well except that it is closed when nlnotes is closed. From my experience, nlnotes is all you need, and it does not waste memory (under wine at least). I now run nlnotes.exe instead of notes.exe under MS-Windows.

NB: chmod u+x ~/bin/notes before using it

==========
WIN.INI Modifications
==========

To control the date and time format (to dd/MM/yyyy and 24 hour time) I added these entries into C:\Windows\WIN.INI since I could not get them to work in the registry.

[intl]
iTLZero=1
iDate=1
sDate=/
sShortDate=dd/MM/yyyy
sLongDate=dddd, MMMM dd, yyyy
iTime=1
iTimePrefix=1
sTime=:
s1159=
s2359=
sTimeFormat=HH:mm:ss

NB: These work but I do not know what consistutes the minimum set.

==========
NOTES.INI
==========
This is an annotated extract of my NOTES.INI file in E:\lotus\notes\data.

[Notes]
Directory=e:\Lotus\Notes\Data - case does not seem to matter
WinNTIconPath=e:\lotus\notes\data\W32
Timezone=-10 - Australia
ClockType=24_HOUR - this did not do anything
DST=0 - our parent org does not run DST, so we can not either
TCPIP=TCP, 0, 15, 0
COM1=XPC,1,15,0,,12288,
COM2=XPC,2,15,0,,12292,115200,16,_pcgend.mdm,60,15 - my own generic modem file
COM3=XPC,3,15,0,
COM4=XPC,4,15,0,,12302,57600,16,_pcgend.mdm,60,15
COM5=XPC,5,15,0,,12292,115200,16,_PCGEND.MDM,60,15
Ports=TCPIP,COM4
DisabledPorts=COM2,COM5,COM1,COM3

MailServer=CN=amber/O=RailCom - amber is a Linux Domino server! We are running two one on RH7.0 and another on Debian. The one on Debian is not very stable yet, but it also has a stallion multi-port serial card, and is our Notes dial-in server. The RH7.0 server runs well, but currently only  as a mail/HTTP server and we are only running it on a non SMP 2.2 kernel (the box has two processors, SCSI RAID, and 1G RAM)

SPELL_DIR=e:\lotus\notes\data
DateOrder=DMY - this did not do anything either

==========

Well that is it. I'd be interested if this helps or if you find any improvements I can make.

Status for support can also be found here.


IBM has also released a Hanover native Linux Notes client.

John Smolenaers was nice enough to write up how to install it on Debian which isn't one of the supported platforms:

INSTALLING LOTUS NOTES 7.0.1 ON DEBIAN 3.1 (SARGE)

PREREQUISITES
This procedure is based on a standard Debian 3.1 (Sarge) Desktop installation using the Linux kernel 2.4 with Gnome as the default Desktop Environment.
PROCEDURE
1. Copy the directory Lotus Notes 7.0.1 for Linux Setup to /tmp or another location of your choice (if you do not know where Lotus Notes 7.0.1 for Linux Setup folder is, contact Internal IT for the location). You can either use your favourite GUI file browser or from a new terminal window by typing;
cp Source/Lotus Notes 7.0.1 for Linux Setup /tmp
2. From a terminal screen type in the following;

su root

and type in the root password when prompted.
3. Install the debian package libmotif3 by typing in;
apt-get install libmotif3

4. Create the file /etc/gre.conf by typing in;
nano )w /etc/gre.conf

or using your favourite text editor (e.g vi, emacs etc(). Insert the two following lines;
[1.7.8] <-------------- Version of Mozilla installed
GRE_PATH=/usr/lib/mozilla <-------------- Path to location of Mozilla
then save and close the file. If using nano as your text editor, you can save and close the file using the key sequence;
Ctrl+X
Y
Enter
5. Create the directory /opt/IBM by typing in;
mkdir /opt/IBM

6. Change the permission of the directory /opt/IBM to allow all users to have write permissions by typing in;
chmod 777 /opt/IBM

7. Ensure the file /tmp/Lotus Notes 7.0.1 for Linux Setup/setup_wct_platform.bin has execute permissions by typing in;
chmod 777 /tmp/Lotus\ Notes\ 7.0.1\ for\ Linux\ Setup/setup_wct_platform.bin

8. Exit as SU from the terminal screen by typing;
exit
and pressing;
Enter
9. Change to the Lotus Notes 7.0.1 for Linux Setup directory by typing in;
cd /tmp/ Lotus\ Notes\ 7.0.1\ for\ Linux\ Setup

10. Start the installation for Lotus Notes 7.0.1 by typing in;
./setup_wct_platform.bin

11. After a short while, the &Installation wizard for IBM Workplace Managed Client8 will open stating that it will install with the item &Lotus Notes Plugin8. Click Next to continue the installation.
12. Accept the terms and click Next.
13. Leave the &Directory Name:8 as the default unless you know what you are doing then click Next.
14. Click Next again and the installation wizard will begin installing files.
15. Once the files have finished installing, click Next.
16. The wizard will close and open the &Setup wizard for IBM Workplace Manage Client8 and begin installing more files. When it has almost finished, a new windows will open called &Installer8 (this is the Lotus Notes plugin installer).
17. Accept the terms again and click Next.
18. The installer will install the &Lotus Notes Application Plugin8 files. Once it has finished, it will state that you need to logout and log back in. Ignore this and click Finish.
19. The &Setup wizard for IBM Workplace Manage Client8 will finish and you can click Finish8.
20. Lotus Notes will open with two blank panes. Don,t panic, just close it as you need to set-up some environment variables and paths before it will work properly. Once closed, create the text file /home/<username>/.noteslauncher by opening a terminal window and typing in;
nano )w /home/<username>/.noteslauncher
or using your favourite text editor (e.g vi, emacs etc(). Insert the following lines;
#!/bin/sh
export NOTESBIN=/home/<username>/notes
export NOTESDATA=/home/<username>/notes/data
export NOTESDIR=/home/<username>/notes/data
export LD_LIBRARY_PATH=$NOTESBIN:$NOTESBIN/jvm/bin/classic:$NOTESBIN/jvm/bin:$LD_LIBRARY_PATH
export PATH=$NOTESBIN/jvm/bin:$NOTESBIN:$PATH
export CLASSPATH=./:$NOTESBIN/:$CLASSPATH
/opt/IBM/Workplace\ Managed\ Client/rcp/richclient -personality com.ibm.workplace.noteswc.standalone.linux.personality
then save and close the file. If using nano as your text editor, you can save and close the file using the key sequence;
Ctrl+X
Y
Enter
21. Ensure the file /home/<username>/.noteslauncher has execute permissions by opening a terminal window and typing in;
chmod 777 /home/<username>/.noteslauncher

22. On your desktop, go to the properties of the icon labelled IBM Lotus Notes by right clicking on it and selecting Properties from the context menu.
23. Select the Launcher TAB and change the Command: field to;
/home/<username>/.noteslauncher
Then click Close to close the properties window.
24. Launch Lotus Notes by double clicking on the IBM Lotus Notes icon on the desktop. Since this is the first time Lotus notes has been run, the Lotus Notes Client Configuration window will open at the Welcome screen.


Applies to Notes Versions: 5, 6, 6.5, 7
Last Modified: August 29, 2006