Installation of Minicom. Edit the Makefile to choose your C-compiler and CFLAGS. Entries for a lot of systems are already defined, you only have to uncomment them. Also define where your binaries go and where you want the configuration files to be placed. The default configuration is to compile for Linux, and to install it in /usr/local{bin,etc}. Now edit "config.h". Reasonable defaults for some systems are already filled in, and changes will probably not be needed. If everything is allright, you can type "make" and "minicom", "keyserv" and "runscript" will be compiled. Ignore any warnings you might see; I couldn't keep the source generic and at the same time get all compilers to shut up (Linux and Coherent compilers don't give warnings; the BSD 2.3.3 gcc does). If you have gotten this far, it is time to install the executables. if you trust the installation procedure (I do!) you can just type 'make install' as root. If you insist on installing manually: 1. Copy "minicom" to a bin directory (eg /usr/local/bin). chown it to root and install it set-uid. (chmod 4755 minicom) 2. Copy "runscript" to the place defined in "Makefile". 3. Do this with "keyserv" too. (If you have a system with the select() system call, you won't have the 'keyserv' binary anymore !). Don't install "runscript" and/or "keyserv" setuid root! 4. Edit the "minicom.users" file (in the directory as defined in "Makefile") to add users who may use minicom. If you don't install "minicom.users" everybody may use minicom! 5 Minicom has been installed. Configuration. Probably most defaults are not good enough for your system. So type (still as root) "minicom -s". This will not initialize minicom but brings you directly into the configuration menu. See the minicom manual page for details. Graphics. Some terminals, such as most consoles on Unixes that run on IBM compatible PC's, can display special line drawing characters. If these characters map 1-to-1 to the IBM character set, you can just use the '-l' (literal) flag when invoking minicom. If this mapping is not 1-to-1, you can add some special entries to your termcap file. The things to be added to a minix console termcap entry are for example: :gA=\311:gB=\315:gC=\273:gD=\310:gE=\272:gF=\274:gG=\332:\ :gH=\304:gI=\277:gJ=\300:gK=\263:gL=\331:gM=\307:gN=\266:\ :gO=\209:gP=\207:gQ=\198:gR=\181:gS=\210:gT=\208:gU=\206:\ :gV=\197:gW=\215:gX=\216:gY=\176:gZ=\178: (Don't forget to add a backslash at the end of the original entry!) This is only an example, this termcap information is not needed because the mapping is 1-to-1. Minicom does not need this termcap information, but it looks a lot nicer. The termcap entries for these graphic characters were made up by Fred van Kempen I believe, and minicom only uses gA-gL. These are the IBM box-drawing characters, their coding is: double lined single lined meaning ASCII equivalent gA gG upper-left corner + gB gH horizontal line - gC gI upper-right corner + gD gJ lower-left corner + gE gK vertical line | gF gL lower-right corner. + The Linux console only maps 1-to-1 in a special mode. Therefore you need to make a special termcap entry in /etc/termcap that initializes the console on startup: mc|minicom|mc80x25|termcap entry for minicom on the console:\ :is=\E(U\E[m\E>\E[4;20l:\E[?8;25h\E[?1;5;6;7l:\ :rs=\E(B\E[m\E>\E[4;20l:\E[?7;8;25h\E[?1;5;6l:\ :bc=:as=:ae=:am=:vb=\E(B\007\E(U:\ :tc=console: To use this information instead of the normal 'console' information, minicom has to be invoked with the '-t mc' option (meaning use TERM=mc instead of the normal TERM environment variable). And, in my /etc/profile I have added the lines: if [ "$TERM" = console ] then MINICOM="-l -con -tmc" ; export MINICOM fi So when I log in on the console I can use minicom in full color full ANSI mode to call all kinds of BBS's and the like! x/y/z modem. It is possible to use rz/sz from Minicom, but the newest versions don't use stdin/stdout and stderr , so you'll have to patch them. The Minix versions of rz/sz work ok, so no worries. It's probably better to get the Minix versions from somewhere anyway, since they have no Copyrights on them. Security. For those of you who never trust a program running as root, it is possible to run minicom setgid UUCP. This is not entirely trivial, so the default is to run as root anyway. To enable minicom running as group uucp, the following steps, under Minix, must be taken: - Recompile minicom with the '-D_SECURE' flag added to CFLAGS in Makefile. - Install minicom setuid root, setgid uucp like this: -r-sr-sr-x 1 root uucp 85636 May 7 19:43 minicom* - If you use ungetty, make it setuid root, group uucp like this: -r-sr-xr-- 3 root uucp 14698 Mar 10 21:07 /etc/getty* - Make the lockfiles directory, /usr/spool/uucp, writable for group uucp. When minicom starts up, it opens the modem device (that's why it has to be setuid root) and then it sets its effective uid to its real uid. Then only the setgid bit stays honoured, so that minicom runs setgid uucp. There is one major disadvantage: all files created by the minicom for the user (~/.dialdir and ~/.minirc.*) will have the group 'uucp'. I can't see major problems with this, but I don't really like it.