Once you have successfully installed and run LispWorks, you can configure it to suit your local conditions and needs, producing an image that is set up the way you want it to be every time you start it up.
There are two levels of configuration: configuring and resaving the image, thereby creating a new image that is exactly as you want it at startup, and configuring certain aspects of LispWorks as it starts up.
These two levels are available for good reason: while some configuration details may be of use to all LispWorks users on your site (for instance, having a particular library built in to the image where before it was only load-on-demand) others may be a matter of personal preference (for instance how many editor windows are allowed on-screen, or the colors of tool windows).
In the first case, you alter the global LispWorks image and global settings files in the config
directory to achieve your aims.
In the second case, you make entries in a file in your home directory called .lispworks
. This is a file read every time LispWorks starts up, and it can contain any valid Common Lisp code. (Most of the configurable settings in LispWorks can be controlled from Common Lisp.)
You can install copies of LispWorks for more than one platform in the same directory hierarchy. All platform-specific files are supplied with platform-specific names.
There are four files in the LispWorks library containing settings you can change in order to configure images:
config/configure.lisp
contains settings governing fundamental issues like where to find the LispWorks runtime directory structure, and so on. You should read through configure.lisp
and check that you are happy with all the settings therein. The most common change required is to *lispworks-directory*
, which points to the root of the installation hierarchy.
config/siteinit.lisp
contains any forms that are appropriate to the whole site but which are to be loaded afresh each time the image is started. The sample siteinit
file distributed with LispWorks contains only the form:
(load-all-patches)
private-patches/load.lisp
is loaded by load-all-patches
, and should contain forms to load any private (named) patches that Lisp Support might send you.
config/a-dot-lispworks.lisp
is a sample .lispworks
file. You might like to copy this into your home directory and use it as a basis for your own .lispworks
file.
Both configure.lisp
and a-dot-lispworks.lisp
are preloaded into the image before it is shipped, so if you are happy with the settings in these files, you need not change them.
On startup, the image loads siteinit.lisp
and your .lispworks
file, in that order. The command line options -siteinit
and -init
can be used to specify loading of different files or to suppress them altogether. See the example in Saving and testing the configured image below, and see also LispWorks initialization arguments for further details.
It is not usually necessary to save an image merely to preload patches and your configuration, because these load very quickly on modern machines.
However, if you want to save an image to reduce startup time for a complex configuration (such as large application code) or to save a windowing image, then proceed as described in this section.
Make a copy of config/configure.lisp
called /tmp/my-configuration.lisp
. When you have made any desired changes in my-configuration.lisp
you can save a new LispWorks image, as described in Create and use a save-image script.
unix% cd /usr/lib/lispworks
unix% lispworks-7-0-0-sparc-solaris
-init -
-siteinit -
If the image will not run at this stage, it is probably not finding a valid key. See Keyfiles and how to obtain them.
CL-USER 1 > (load "/tmp/my-configuration.lisp")
CL-USER 2 > (load-all-patches)
CL-USER 3 > (save-image "/usr/local/bin/lispworks")
Saving the image takes some time.
You can now use the new image by starting it just as you did the generic image. The generic image will not be required after the installation process has been completed successfully.
Do not try to save a new image over an image that is currently running. Instead, save an image under a unique name, and then, if necessary, replace the new image with the old one after the call to save-image
has returned.
You should now test the new LispWorks image. To test a configured version of LispWorks, do the following:
CL-USER 1 > (inspect 1)
Before information about the fixnum 1 is printed, the system should load the inspector from the load-on-demand
directory.
CL-USER 2 > (env:start-environment :display "serverhostname")
Where serverhostname is the name of the machine running the X server. The window-based environment should now initialize--during initialization an X window displaying a copyright notice will appear on the screen.
You can work through some of the examples in the LispWorks User Guide and Reference Manual to check further that the configured image has successfully built.
LispWorks Release Notes and Installation Guide - 2 Mar 2015