Currently in v0.6.1 beta
by Richard Lewis (aka simulatoralive on sourceforge)


You can use the sourceforge pages setup for JINX to do this, or you can mail me directly. I welcome comments and suggestions for improving JINX. I will also answer your questions if I haven't been clear enough in the documentation and/or source code.

What is JINX?
JINX is a java based multiuser command line environment. This program allows multiple users to log in simultaneously through an abstracted user interface and run java based command line programs. The default setup uses a telnet server on port 2223. Future versions will support other methods of logging in; notably, I plan to add a JINX based terminal system, because I'm unhappy with the capabilities of telnet interfaces. However, I plan to continue to support telnet (even though I don't like it), but it's capabilities may be very limited by comparison.

Most programs should work with only minor modification. GUI programs will not work. This is intentional, so that people won't load GUI components from a remote system, stupidly expecting them to show up on their own computer.

Currently, there are issues with Sun's version was designed under the assumption that java programs won't be changing their current directory. For relative files (ie "./", for example) java will always work with the file from the directory that the JVM was loaded from, completely ignoring the "user.dir" system property, even though I patched it to work through an InheritableThreadLocal. The next release will remedy this problem if at all possible. I plan to implement something similiar to JDistro's VFS system (see In fact, JDistro is the project that made me realize that it was even possible to replace standard java classes at runtime.

Note: There are two valid user names currently setup: root (password: 'lockout') and guest (no password, just hit enter). The system is also setup to accept new account formation from the "new" user account. Look at the comments in the default system properties file (usr/src/jinx/bin/jinx/defaults/ to learn how to disable this behavior.