Rearrange the python scripting support a bit.
[screen-lua.git] / src / INSTALL
blob17c2212fc410c57a1f64717e2ab33726f73d0af9
1 Installation of screen3.6                                         jw 9.04.95
4 0.) This instruction is quite lengthy
5 -------------------------------------
6 .. and there are still important items near the end. Start here:
7 Unpack. Screen comes as a compressed tar archive. You need gzip to 
8 uncompress.  And... well, you probably already managed that step, 
9 when you are reading this.
11 For general documentation on the coding and usage standards this
12 distributions follows, see the GNU standards document on
13 prep.ai.mit.edu:pub/gnu/standards.*, especially the `Makefile
14 Conventions', `Configuration', and `User Interfaces' sections.
17 1.) configure & config.status
18 -----------------------------
19 Run configure. This should create a reasonable Makefile and a config.h file
20 suited for your machine. Rename config.status to reflect the architecture 
21 (hostname) where it was built. To reconfigure quickly for that architecture
22 just run that config.status file.
23 If this process fails, try to find out what configure did do and what it
24 should have checked. Mail me.
25 Actually the initial Makefile that comes with the distribution just runs
26 configure -- thus you can start by typing 'make' right after unpacking.
27 You will be prompted to run 'make' again, which will really make screen.
29 2.) Makefile & config.h
30 -----------------------
31 Look through the Makefile & user configuration section in config.h and check
32 pathnames. Change them to suit your installation requirements. Usually 
33 sysadmins discuss the location of SOCKDIR, whether it should be in /tmp or 
34 not. At least it must be on a filesystem that supports sockets/fifos.
35 SOCKDIR must not point into an AFS (Andrew File System) mounted directory. 
36 If you are uncertain about your NFS implementation, use a UFS directory for 
37 SOCKDIR. Personally, I favour a users home directory and recommend the the 
38 /tmp/ area. 
39 The path for ETCSCREENRC may also need to be adapted.
41 3.) how to actually compile 
42 ---------------------------
43 Run 'make'. Screen should compile without too many warnings :)
44 The creation of term.h, comm.h, tty.c or osdef.h may fail on some machines
45 for some odd reason. (E.g. the sed under SCO-unix is known to be 
46 case-insensitive and breaks term.h.) If so, please mail a short description 
47 of the problem to screen@uni-erlangen.de and use the files ending in .dist 
48 as a replacement (or in case of osdef.h retry with an empty file).
49 You can then try 'make install' (if you dare).
51 4.) where to install
52 --------------------
53 You may well run screen from your private binary directory and with a 
54 private socket directory like $HOME/.screen. But to have a full featured
55 screen and (from a users point of view) more secure pty's you should
56 consult a system administrator and discuss installing screen setuid-root
57 in some globally accessible directory like /usr/local/bin.
59 Consider this, when deciding whether you install screen setuid-root:
60 - On some machines root privileges are required to open pty's. 
61 - Pty's should be owned by the user, so that she can do chmod to prevent
62   intruder attacks. The PTYs used by screen will remain world read-writable
63   if screen is not installed setuid-root.
64 - Some commands only work properly when the pty is owned by the user.
65   These include mesg and biff.
66 - The ^At feature may need to lseek and read the kernel file to retrieve 
67   the load average. 
68 - On most machines utmp slots can only be created/manipulated with root
69   privileges. Users will appear to be logged on the primary terminal
70   instead of the screen windows, if screen is not installed setuid-root.
71 - Multi-user screen sessions are only allowed when screen has a root-s-bit.
72 - If screen sockets of multiple users are kept in one directory (e.g. 
73   /tmp/screens), this directory must be world writable when screen is not
74   installed setuid-root. Any user can remove or abuse any socket then.
75   
77 5.) doc/screen.1 & doc/screen.texinfo
78 -------------------------------------
79 The man page doc/screen.1 should go to /usr/local/man/man1, or some similar
80 directory. It should format nicely with nroff -man. If it does not, then
81 try removing extra dots with: sed -e 's/^\.\././' < screen.1 | nroff -man 
82 The info page doc/screen.texinfo contains basically the same information as
83 the man-page, we may have missed one or another thing in one of the files.
84 If so, mail me.
86 6.) etc/screenrc & etc/etcscreenrc
87 ----------------------------------
88 The files screenrc and etc/etcscreenrc are instructive samples that
89 demonstrate what can/should be done from your private .screenrc and from
90 $ETCSCREENRC -- do not just copy them. Read them.  Look through the 
91 etcscreenrc file for system wide defaults that you like to set. e.g. 
92 autodetach off, startup_message off, vbell on, ...
93 Since version 3.2.15 the screenrc file syntax changed slightly. All rc files
94 from previous versions should be run through the 'newsyntax' script that comes 
95 with this package.
96 If and only if you want to install screen as a console multiplexer, look
97 at the *.sample files and what 'make cscreen' suggests.
99 7.) terminfo/screeninfo.src & terminfo/screencap
100 ------------------------------------------------
101 Every now and then we update the termcap/terminfo entries for screen. 
102 E.g. keycodes were added in 3.6.0 -- thus you check that your termcap/terminfo
103 database is up to date. See the README in the terminfo subdirectory.
105 8.) have fun
106 ------------
107 To get an idea what the basic screen commands are, read the file README.
108 Request snail mail address for liquid and solid donations. :-)
110 Juergen & Michael. (screen@uni-erlangen.de)