Browsers

News Recommended Links

Internet Explorer keyboard shortcuts

 References Tools Outlines
CSS Server Side Includes (SSI) Directory to HTML converters Free HTML Editors Humor Etc

BrowserWatch is the leading site for information about browsers and plug-ins.

Integrating a Command Shell Into a Web Browser

The Browser-Shell

In order to create scripts of commands, we embedded Tcl [18] into LAPIS. Tcl was chosen partly because of its syntactic simplicity, and partly because a good Java implementation was available [5]. Tcl is also well-suited to interactive command execution.

Instead of presenting a Tcl interpreter in a separate window, LAPIS integrates the interpreter directly into the browser window. Tcl commands may be typed into the Location box. The typed command is applied to the current page, and its output is displayed in the browser as a new page that is added to the browsing history.

Using the Location box as a command line has several advantages. The page generated by a command can be browsed like a page generated by a URL. The browsing interface - Back, Forward, Stop, and Reload - also applies to command outputs. The Back button returns the browser to the previous page, Stop aborts a long-running command, and Reload runs the command again.

Since either a URL or a command can be typed into the Location box, LAPIS must be able to distinguish between them. The problem is trivial if the typed entry begins with a protocol prefix, such as http: or file:, and LAPIS also recognizes the protocol cmd: for invoking a command unambiguously. If the typed entry does not begin with a prefix, LAPIS tries every possible interpretation: first as a command to execute, then as a filename to display, then as a domain name for a web server. This is an extension of the heuristics already used by the Location box of most web browsers.

For security reasons, LAPIS only executes a cmd: URL if it originates locally - e.g., if it is typed into the Location box or found in a page loaded from the local filesystem. A link in a remote web page cannot invoke a Tcl command.

Browsers for Command Line Warriors.

Links.

As it turned out, I already had a copy of the links browser. It had been installed with the initial Mandrake distribution.

As I said above, I believe the best way to experience the new software is to use the native key-map, if there are alternatives offered. In the case of links, the keystrokes are (mostly) lynx compatible, so I did not have much to re-learn. In any case there did not seem to be alternative maps.

For someone who has grown used to the rude and grungy output from lynx, the layout in links is much slicker. The support for tables looks good. The screen also feels fast. I would have thought that both links and lynx would be using raw rather than cooked termio calls. Nevertheless the links programmers seem to have got a little closer to the metal. Now I probably shouldn't speculate without looking at the source. However, it certainly feels smoother. Sometimes getting closer to the hardware can be a disadvantage, although I did not find any obvious problems.

Initially I thought I did have a problem. I had some difficulty using the mouse. I pressed "g" to go to a new URL, and a high-lighted box popped up. Very flash, I thought (well, Ok we are talking system console here, I'm sure that all you GUI snobs would be underwhelmed by this eighties' technology). However, I could not paste text into this box from another virtual console. Also I couldn't cut text from the links screen. This will be a be a major nuisance, I thought. It turned out that links had been too smart for me. The reason the mouse behaved strangely was that links had detected the mouse and was actually working with mouse support. Unfortunately it was configured for a three button mouse, and my two-button mouse does not emulate three-button support. I did not pursue it further. This would be a giant leap forward! Finally in the 21st Century, I might start using a mouse with my console browser. Ok let's not get too excited.

Like its' older brother, links boasts the ability of passing image files to a viewer such as zgv. This looks like a handy feature, since it would enable previewing graphics files without starting up an X session. Unfortunately I do not have svga installed, so I will have to install it when I get a chance. I will update this review with any information when I do. In fact this feature can be used to pass the file to any application. Also like lynx, the other possibility mentioned in the documentation is Xloadimage, an X-based image viewer. This seems less useful. If I was already in an X session, I would use a GUI browser like Mozilla or Konqueror.

Also I could not get links to work with the oracle Metalink site. Let me first recap on the way that lynx behaves when I visit Metalink. I get an error message that appears as follows:

Alert!: Access without authorization denied -- retrying
Next, after a brief interval, a prompt appears at the bottom of the screen and asks me for my login. And I can login as normal. Furthermore, I could add that when using GUI browsers like Mozilla, a dialog box opens when I click login. Such dialog boxes are typical of Javascript.

Links, however does not work at all. Instead I get the following error message:

                                    401 Authorization Required

                    Authorization Required

    This server could not verify that you are authorized to access the
    document requested. Either you supplied the wrong credentials (e.g., bad
    password), or your browser doesn't understand how to supply the
    credentials required.
And I cannot seem to get any further. I have not investigated the problem in detail. However, I thought it might be a user agent string problem. I am not sure if the Oracle site indulges in Browser Sniffing (see Agent Strings in Popular Browsers), but if they do, it might explain this behaviour. Or it could be a bug in the links software. I was testing version 0.96 which is just a BETA release. I would need to do further testing to determine what the actual problem is.

Nevertheless I thought I would try cloaking the browser to see if this would help my problem. I spent nearly half an hour searching for where links specifies the user agent string, and I could not find it. In lynx, you can find this in the option screen (by pressing "o"). I tried a web-search to see if I could discover where links might keep this information. Unfortunately the keyword links is not a very distinctive keyword to base a search on. Still if anyone knows how to specify the user agent string, can you drop me a line?

I spent some time trying to figure how links calls an editor to edit a local file. Eventually I resorted to RTFM and found that links is designed to be called by the editor, rather than call the editor. Actually when I think about it, this approach has its' good points.

Complaints:
 

I would like to find where I can change the user agent string. Not that I want to do this often. But if I ever did, I would like to know where it is. I am sure I could find it with a bit more research, but it should have been a little more obvious.

I may be just grizzling, but I could not find an option to scroll up or down by a half screen. Some equivalent of the "(" and ")" keys in lynx would be handy. Ok, I am just grizzling. After a while I found that Ctrl-N and Ctrl-P move up and down by one line.

Also I found it tedious that I had to type "http://" in front of some URLs (e.g. localhost). There is probably some way to alter this behaviour. But most browsers automatically add an "http://" when the first GET fails.

Pressing "/" takes me into the search mode. This is almost a standard key for searching on unix systems. One annoying feature is that the search does not immediately take me to the first occurrence. It only goes there when the "n" (next) key is pressed. Ok, it's just a niggle. I would get used to it if I was using the software regularly.

Summary:
Links is a good plain text browser. For lynx users, the transition should be fairly painless. The rendering and mouse support is very good. However, I would be reluctant to cite table and mouse support as a reason for changing to a different text browser. Anyone who feels strongly about rendering tables would stick to a GUI browser.

I liked the layout and the default colours. I also appreciated that links shows italicised text in a different colour. It was the only one of these three browsers which had this capability.