The MacTerminal MINI-HOWTO: Client-server connection with kermit.

Next Previous Contents

## 3. Client-server connection with `kermit`.

This is the most transient of all the configurations described here. It requires the least amount of system configuration, although in operation, it is the more difficult to use of the systems described here.

In brief, you start `kermit` on both the Linux machine and the Mac, and place one of them in server mode. It doesn't matter which machine is the client ant which is the server, because this is a peer-to-peer connection. However, the Linux `kermit` can take advantage of Linux's superior scripting abilities, so it seems logical (to me at least) to designate the Linux-side `kermit` as the server, because this is the more readily automated task.

You should ensure that `kermit` is installed correctly on both the Mac and the Linux PC. Follow the instructions in the respective kermit distributions. On the Linux machine type `kermit` at the shell prompt to start it. You may need root permissions in order to set the port and baud rate.

`kermit`, the recent POSIX versions for Unices, supports baud rates up to 115 Kbps. The more recent Macintosh versions support serial port speeds up to 57.6 Kbps. This should be more than sufficient for any dumb tty-type application, but if you need a higher-speed connection, you're s.o.l, as far as `kermit` and serial lines are concerned. However, `kermit` provides facilities for communication over a TCP/IP link, but I haven't been able to test it. See the alternative in the following sections. Just remember, especially on the Mac side, to use a different port for `kermit` serial connections than your TCP/IP connections, because Mac `kermit` will rudely hose a serial port that is already in use.

With that in mind, your `.kermrc` file would contain something like this:

    echo Executing site initialization file /usr/local/bin/ckermit.local.ini....
    set prompt Chanel3 >
    set line /dev/ttyS0
    set baud 38400
    set send packet-length 2000
    set receive packet-length 2000
    set block 3
    set file type binary

Then, in your `~/.kermrc` file, you would have a line like

    take /usr/local/bin/ckermit.local.ini

On the Macintosh side, set the same communication parameters for bps, stop bits, parity, and word length. Some older versions of Mac Kermit do not support 2k packets, so you might need to set a smaller packet size. Howerver, `kermit` sets the communication packet length based on the receive packet-length setting, so you need to set a shorter packet size on the Linux end, too.

To actually communicate over the link, you need to enter server mode on either the Mac or Linux side. It doesn't matter which. See the `kermit` docs for details of server mode.

## 3.1 Macintosh resources.

This is one of the very few `kermit` applications where setting a `text` file type for transfers is useful. This is because Macintosh files have two parts: the data fork and the resource fork. The data fork corresponds to what we in the Linux world think of as a file: it's the actual data. The resource fork contains bitmaps for the icons, keymaps, font specifications, and the like. If you transfer a file from Linux to the Mac, the file won't be recognized as a text file by the Mac, if you use binary mode.

When transferring binary files between the two systems, you should use the Macintosh `.hqx` BinHex format, which is a 7-bit encoding of an 8-bit data file. Mac utilities like BinHexer or StuffIt will covert the file to its binary form.

If you have a text file which inadvertently ends up as a data-only file on the Mac, it's likely that it won't even appear in an Open dialog list box. What you need to do is open the file with ResEdit, which is available from `mac.archive.umich.edu`. ResEdit will tell you that the file you're opening has no resource fork and then asks if you would like to add one. You should answer "Yes" to this question. You can then edit the file's Type and Creator by selecting the Open Special option of the File menu. All Macintosh text files are type `TEXT`, so replace the question marks in the Text box with that. The Creator code depends on your text editor or word processor. Each one is unique, incidentally, and is how the Mac identifies different apps. The Creator code for GNU Emacs on the Mac is `EMAC`, for example. If in doubt what the creator code of your text editor or word processor is, use `ttxt`, which is the creator code for TeachText (which is the Mac equivalent of `EDLIN.EXE`.) Then your real word processor or text editor can translate the file from TeachText to its native type.

There are many other neato things which TeachText can do, so it's worthwhile to keep it permanently on your Mac. The book Voodoo Mac, by Kay Yarborough Nelson, is a good source of tried-and-true Macintosh tricks that use ResEdit, TeachText, the Finder, and other overlooked programs.

Next Previous Contents