Shell Access


In this chapter, I take you on a fast flight through the few Windows programs that can work over a Unix command-line interface (usually known as a Shell account). Why the perfunctory look? Because I strongly recommend that you get a PPP or SLIP account. That way you can use the many excellent Internet applications that work via WinSock and PPP or SLIP connections. But you may decide that it is terribly advantageous for you to have a Shell account (for cost reasons for example). Or you may already have Shell account.

NOTE: How can you tell if you already have a Shell account? Simple. If you use a terminal emulator, such as Windows Terminal, to connect, and if you type Unix commands on a command-line after you connect, then you're using a Shell account.

My mixed experiences with Unix have endeared me to the few programs that manage to work over the same connection that I would normally use to type cryptic commands. First, I want to introduce you to a program that is seriously shaking up the Internet world -- The Internet Adapter, or TIA.

NOTE: If you don't intend to use Unix or to get a Shell account with an Internet provider, I strongly recommend that you skip this chapter, remembering only that it's here should you need it later on in your Internet wanderings.


The Internet Adapter


On different occasions, I've seen postings that wonder why someone hasn't written a program to enable graphical programs that normally require a WinSock-based connection to work with a normal Shell account. In fact, a number of these programs are in the works, mostly from large Internet providers, such as Pipeline and Netcom, but the programs generally use a proprietary protocol for talking to the host machine, which means that you can't use such standard Windows Internet programs as Eudora, News Xpress, and WinWeb (which I write about at length in chapter 13). Instead, you must use the graphical client software provided by the same people who created the proprietary protocol.

I don't approve of this method of providing Internet access for two reasons. First, and most importantly, this method seriously limits your choice of software for any particular task. With a full WinSock-based connection, I can choose between Mosaic and Netscape, Eudora and WinQVT/NET Mail, WinVN and News Xpress. In fact, I may even use multiple programs for the same thing -- some programs that do the same thing have non-overlapping merits. You lose this flexibility when you are locked into a proprietary solution. Second, the Internet is a vast and fast-moving place, and new capabilities -- which are generally supported first and often best by freeware and shareware programmers -- appear all the time. If you are locked into a specific proprietary program, there's no way you can use Cornell's Internet videoconferencing software, CU-SeeMe, have a conference using WSIRC, or enter MUD space with WinWorld. All of these programs depend on the standard TCP/IP protocols that the Internet relies on, and these proprietary programs from Internet providers, useful as they may be, generally don't give you a standard TCP connection to the Internet.


TIA Basics


The Internet Adapter does not rely on any proprietary protocols. TIA is a relatively small (about 250K) Unix program that you run on your normal Unix Shell account, and it acts as a SLIP emulator. In other words, after you install TIA on your Shell account, running TIA turns your Shell account into a SLIP account for that session. Although a TIA emulated-SLIP account is not quite the same as a real SLIP account, TIA's SLIP emulation is completely standard in terms of working with WinSock-based software on the PC (or MacTCP if you use a Macintosh).

Just to repeat myself then, with the addition of a single Unix program that Cyberspace Development sells for $25, you can turn your plain old Shell account into a whizzy new SLIP account and use all of the WinSock-based software I discuss in chapter 13. I realize this all sounds a bit like a Ginsu knife commercial (did I mention how TIA can cut beer cans, too?), but TIA works.

NOTE: To use the graphical software I discuss in chapter 13 with a TIA account, you must still have WinSock and a version of SLIP installed. Don't worry about whether you have them installed because both come with this book!

TIA has become popular at sites that aren't commercial or that don't have much money to buy the expensive terminal servers that make real SLIP accounts easily possible. Because Cyberspace Development sells TIA to individuals, individual users now have the option of getting a SLIP account; whereas in the past, if the machine didn't support SLIP, that was the end of the story. I heartily applaud putting power in the hands of the individual.


TIA Details


The following details about how TIA turns your Shell account into a SLIP account may not make much sense if you haven't looked through chapter 11 yet. Go ahead and skip the details unless you're interested in how TIA works.

Here's how TIA works. You do not get your own IP number, which uniquely identifies your PC on the Internet while you're connected, as you do with a real SLIP account. Instead, TIA uses the IP number of the machine your Shell account is on, and "redirects" traffic back at you (this is the magic part). If you must enter an IP number in some software, any number -- such as 1.1.1.1 -- should do fine because it's just a dummy address.

NOTE: Because you don't get your own IP number, you cannot set up your PC as an FTP server, for example, because there's no IP number for an FTP client somewhere else to connect to. That shouldn't be a problem because dialup users don't often offer services on the Internet. The Internet is a 24-hour kind of thing. Your connection typically is not.

Again, if you're not already familiar with SLIP and the like, this information won't make much sense, but TIA's performance is reportedly good, faster than normal SLIP in fact, and about as fast as Compressed SLIP, or CSLIP. Future releases (I believe version 1.1 is in store) will support CSLIP and even PPP, and will reportedly increase speed by 10 to 20 percent. TIA doesn't create much of a load for the host machine -- although the load is slightly more than a real SLIP account -- because when you use SLIP, you're not usually running programs on the host machine but are just using the network connection.

Installing TIA on your Unix Shell account is not a trivial task because you must install the proper version for the version of Unix running on your host machine. Cyberspace Development has ported TIA to a number of versions of Unix, and more are on the way. If you don't know what version of Unix is running on your Shell account, Cyberspace Development has a simple program that can find out the information for you, or you can look up your provider's Unix type in a database that Cyberspace Development is building. Essentially, you retrieve the proper version of TIA via FTP, Gopher, or the Web, and then you launch it. (For evaluation purposes, you can get a free version and test it for a while. Contact Cyberspace Development for an evaluation code.) Needless to say, in normal usage, you would script your SLIP program to log in to your Shell account and then run TIA to start up the SLIP emulation, but it's possible to start SLIP manually as well.

You can order TIA on the Internet itself if you wish, or if you currently have no email access, you can call SoftAware (an authorized TIA dealer) in Los Angeles at 310-314-1466. For more information about TIA, send email to tia-info@marketplace.com or connect to marketplace.com over the Web or via Gopher or FTP. Cyberspace Development now has a fax number you can try if you're in the U.S. at 800-807-3601.

http://marketplace.com/

gopher://marketplace.com/

ftp://marketplace.com/


Serial Programs


Creating a program that acts like a monkey and types the appropriate commands on the Unix command-line is quite a bit more difficult than it sounds. The main problem is that a surprising number of variations on Unix exist in the world, and even different sites running the same flavor of Unix may have their machines set up differently. The situation gets worse when new versions of Unix programs appear with slightly different commands or slightly different results to old commands. It's a programmer's nightmare.

NOTE: I use the term "serial program" to refer to any program not based on WinSock that can dial an Internet host of some sort, log in, and then provide you with a graphical interface to an Internet service, such as email.

Thus, the few programs that can exist in this harsh environment have evolved some similar methods of coping. Almost without exception, they work by relying on the user to get them properly connected to the remote system, and from there they take over, usually connected directly to the appropriate server port.


SlipKnot


SlipKnot is a terrific product for those people who want to browse the World Wide Web but do not have access to a SLIP account (hence the name SLIP Not. Cute, eh?). Like TIA, SlipKnot uses a Unix Shell account to pipe information to and from a series of windows. Unlike TIA, it does not provide a complete WinSock TCP/IP protocol stack. SlipKnot provides only regular terminal emulation and a graphical Web browser. However, SlipKnot requires almost no knowledge of the Unix operating system -- good news for us Unix amateurs.


Installation and Setup

First, you need to acquire SlipKnot. It is available on the net, including the following FTP sites:

ftp://oak.oakland.edu/SimTel/win3/internet/slnot100.zip

ftp://ftp.uoknor.edu/mirrors/SimTel/win3/internet/slnot100.zip

ftp://ftp.netcom.com/pub/pbrooks/slipknot/slnot100.zip

You must unzip the slnot100.zip file to a temporary directory and then run setup.exe just as you would for any new Windows program. The SlipKnot installation program installs all the necessary components, and then you're up and running. Don't forget to delete the files from the temporary directory when they are no longer needed after the installation.

When you start up SlipKnot for the first time, you need to set up a host (see figure 10.1). This screen may seem daunting, but I was able to use all the defaults except the entries in the Host section and the Unix Login section.

Figure 10.1: SlipKnot Host Settings.

You may also be intimidated by the scripting portion of the Unix Login section, but it is actually quite simple. The template included when you click on the Edit LOGIN Scipt is clear and concise. In fact, the modifications that I made to the template worked like a charm the first time, and I have never used or seen the scripting language before (although scripting languages have never been all that difficult). And even if you never figure out the scripting language, you can always connect by Manual Login.

After you connect for the first time and attempt to browse the World Wide Web (and you're at the Unix command prompt), SlipKnot makes a one-time exploratory evaluation of your system. Basically, SlipKnot wants to find out if your host has the appropriate Web client (lynx or www), and it wants to make sure that you're running a compatible Shell. I used Northwest Nexus's coho.halcyon.com, and it worked flawlessly the first time. I expect you to have similar results.


Basic Usage

At first view, SlipKnot looks like an ordinary terminal. In fact, it uses white text on a black background, just like the old dumb terminals I used in college. I've been using Windows so long, however, that it just seems more natural to have black text on a white background.

In any case, the terminal emulation is pretty basic (see figure 10.2). But if that's all you want out of SlipKnot, then you've downloaded the wrong program. After all, Windows Terminal could do that much.

Figure 10.2: Standard SlipKnot VT100 Terminal emulation.

At the bottom of the screen, oh so inconspicuously placed, is the button for World Wide Web. After you click this button, your terminal screen moves itself to the background. SlipKnot switches into Web browsing mode and displays a local SlipKnot home page.

The Web browser has a few troubling things about it. First of all, it doesn't quite feel like a Windows application. Sure there are menus, buttons, and dialog boxes. Yet it doesn't quite behave as you'd expect. For instance, all the windows are a fixed size. I find this quite surprising because I usually adjust my window sizes to accommodate the HTML page (see figure 10.3).

Figure 10.3: Odd size for Microsoft's home page.

Also, the main window seems to be just a window with menus and buttons on it. It is freely movable and independent of the currently displayed page (see figure 10.4).

Figure 10.4: Main window and toolbar.

Second, SlipKnot's Web browser does not yet support forms or authentication. This omission must be rectified quickly because more and more servers are requiring these features as time goes on. Also, the Web browser supports only HTTP and FTP services -- no Gopher, mailto URLs, or anything else.


Special Features

SlipKnot handles navigation differently than any other graphical Web browser I've used. Instead of simply navigating to another page when you click a hyperlink, it prompts you with an open URL dialog box and then opens up an entirely new window. This approach allows you to view multiple pages -- even multiple pages on different servers at the same time. If you have a large monitor, you can really fill it up with lots of different Web pages.

SlipKnot allows you to switch back and forth between Web browsing and terminal emulation. This feature is handy if you want to run any Unix-based utility, such as a newsreader or mail program. However, unlike real WinSock connections, you cannot simply open up multiple IP sessions (because you aren't communicating over IP). You're strictly limited to Web and terminal emulation.


Overall Evaluation

SlipKnot is a godsend for people who don't have access to SLIP or PPP. Remember, however, that although you get the WinSock TCP/IP protocol stack with this book, you don't necessarily have access to a provider that has a communications server that also supports SLIP and PPP. Granted, the Shell-only provider is a dying elephant, but until it goes to the secret elephant burial ground, SlipKnot is the easiest way to get graphical Web access via a Shell account (with TIA a close second).

Because SlipKnot communicates directly with the Unix host, you are constrianed by its CPU load. Therefore, if host response times are slow, SlipKnot also will be slow. This timing problem is usually not true of a communications server because WinSock applications run at a speed that's independent of the host machine. Also, because of the overhead with host communications, SlipKnot probably sees a 20 to 30 percent performance degradation from a true SLIP or PPP connection.

Personally, I'd recommend TIA over SlipKnot, but sometimes circumstances are a bit out of your control -- and your host may not allow you to install TIA. For easy nonobtrusive Web browsing, SlipKnot is the ticket.


Administrative Details

SlipKnot is shareware, and you should register the product. For all unregistered users, starting and stopping SlipKnot brings up a dialog box that encourages you to register. SlipKnot's author, Peter Brooks, is asking $29.95 for the shareware, and he's donating a portion of the receipts to an organization that supports refugees. Please help him out and pay the shareware fee if you use SlipKnot.

MicroMind, Inc.
417 W. 120 St., Suite 6B
New York, NY 10027
USA
212-864-0436 (fax)