Welcome to the FAQ for Porting from UNIX to NT
Warning! This FAQ is out-dated. You are
seeing it only
because your browser does not support
frames!
We apologize for the inconvenience.
Summary: This FAQ contains a list of Frequently
Asked Questions about how to port UNIX applications to
Microsoft's Windows NT. It should be read by anyone who
intends to, or is actively porting UNIX applications. It is a
working document. Suggestions, questions, answers are
welcome.
Last update: 04 July, 1995, First draft: 16 May, 1995
Trivial revision: 05 July, 1996 with pointers to new web
site.
Update frequency: as necessary
Editor: David Wihl
(wihl@shore.net) Check out the New England NT
Users Group!!
Availability: This is available via WWW from
http://www.nentug.org/unix-to-nt
We welcome your contributions and comments on this FAQ. We
also encourage you to send us any additional information you
would like to see added to this document. Send your comments
to the editor via the email address listed above. If you
include attached files use MIME or UUENCODE for the
attachments. MIME is preferred for attachments.
Standard Disclaimer: There is no guarantee that the
information in this FAQ is correct, nor can anyone
contributing to this FAQ be held responsible for the
information which they contribute.
Some important general information about developing
for NT can be found New England NT
Users Group Developer Info. Page. Information specific to
UNIX is found here.
0.0 What Internet resources are there for the UNIX porter
0.1 Some General Porting Opinions
I.1 Where can I get Microsoft's POSIX subsystem for NT?
I.2. What are the restrictions of NT's POSIX?
I.3. Why is the POSIX subsystem so brain-damaged?
I.4. How do I get vi to run?
I.5 Where can I found more about NT's POSIX subsystem?
II.1 Where can I find GNU for NT?
II.2 What other toolkits are there?
II.3 What if my codebase is already on Windows?
Section III - Porting
Standard UNIX Code
III.1 Using stdio
III.2 Setuid and Security Aspects
Section IV - Porting
Socket and Network Code
IV.1 Availability of ONC/RPC/XDR under NT
IV.2 DCE RPC under NT
IV.3 Mimicking accept() and select() in NT
IV.4 WinSock Apps
http://uts.cc.utexas.edu/~neuroses/xwin95.html@@@
Section V - NT Versions
of UNIX and TCP/IP Utilities
Where is.....
V.1 Tcl 7.3 and Tk 3.6
V.2 NIST and USNO Time Client
V.3 NFS Client and Server, Samba
V.4 FTP Client, FTP Server, Ping, Traceroute, Telnet
Client, Telnet Server
V.5 NNTP Server
V.6 DNS/BIND
V.7 SMTP and POP daemon
V.8 Perl
V.9 Listserv
V.10 Finger Daemon
V.11 CRON
V.12 HTTP Server
V.13 X Client and Server
V.14 Displaying Windows applications on X servers
V.15 SendMail, BLAT
V.16 Bash
V.17 C-Shell
V.18 Kerberos
V.19 EMACS
0.0 What Internet resources are there for the UNIX
porter
Directly from Microsoft,
via FTP there are a number of UNIX
to Windows Presentations in Powerpoint and text format.
Also there is a relatively complete catalog
of 32 bit applications.
O'Reilly and Assoc. has
an interesting interview
with Microsoft's liaison to the UNIX community.
Bristol (makers of
Wind/U) maintain an excellent bibliography
that contains a number of useful pointers, especially with
regards to GUI portability.
0.1 Some General Porting Opinions
During discussions on the various NT newsgroups, some
general opinions come up about porting from UNIX to NT.
Edited citations will appear here:
Regarding your general porting strategy:
From: hamilton@BIX.com (hamilton on BIX); on:
comp.os.ms-windows.programmer.win32; Date: 22 May 95
mansionj@gstldn9.merrill (James Mansion LADS LDN
X4923) writes:
>Arguably, Consensys and Datafocus are doing it
right. [Using a UNIX style library that are maps to NT
native calls]
I think you meant: "Consensy and Datafocus
www.datafocus.com NuTCRACKER argue they're doing it
right." The question is how many others agree. While
there may be certain cases where the porting library approach
makes sense (e.g., for in-house developers with a captive
"market" and pressure from management to absolutely
minimize the porting effort and source changes), I can't find
any reason to recommend this to anyone working in a more
competitive environment. I'm fully satisfied that you can
invariably get a better product with a native port. Your
performance will be better, your functionality will be better
and your "fit" with NT will be better. I've had
several occasions to help a number of vendors begin their
ports from UNIX to NT at the Microsoft porting lab (at
Microsoft's request) and at the vendors' locations.
Invariably, the best indicator of their early success has
been the choice of a native vs. a porting library approach.
Folks choosing to use a porting library invariably get
totally balled up learning to deal with the ideosyncracies of
the porting library. At the end of should have been an
intensive week-long learning experience, they still know next
to nothing about Win32. Instead, they've flittered the time
away trying to do things that should have been simple, like
using the debugger: with one of these packages, for example,
you try stepping into main() and instead of just stopping at
the first executable statement, you're off and running
because the library's startup routines have fired off God
knows how many threads to handshake with their
"kernel" process. Everyone except those involved
can see what's going on:
"Doctor, Doctor, it hurts when I do this!"
"Don't do that."
"But I've really get this working but it hurts
when I do this."
I can't help but suspect that the reason so many
seemingly intelligent, flexible developers might get sucked
in to these porting library approaches is because they don't
have enough confidence in themselves to learn a new API.
Believe me, it can be done. People dumber than fenceposts
have done it and you can, too. And as you learn Win32 and as
you begin to consider the particulars of your own porting
problem, most likely you'll find solutions popping right out
at you as ways to get your native port done quickly.
If you think you need to be competitive, you will
have to do a native port. Period. If you don't think you need
to be competitive or if you think it's going to be all that
much faster with a porting library, you are probably wrong.
Regards,
Doug Hamilton KD1UJ hamilton@bix.com Ph 508-440-8307
FAX 508-440-8308
Hamilton Laboratories, 21 Shadow Oak Drive, Sudbury,
MA 01776-3165, USA
Regarding Shell Usage:
From: feoh@kropotkin.gnu.ai.mit.edu (Chris Patti); on:
comp.os.ms-windows.programmer.win32; Date: 24 May 95
Foisting a UNIX shell on NT is IMNSHO the wrong
thing for most people's needs. Shrouding yourself in an
ever-so-thin veil of UNIX will only make you that much more
keenly aware of the fact that you're NOT using UNIX to begin
with :)
I would strongly suggest that you at least take a
look at 4DOS/NT. It provides just about all of the
functionality of a UNIX shell (at least all of it that makes
sense under NT.) and a MUCH comfier environment that's
tailored to the environment you're in as opposed to the one
you'd like to be in.
[4DOS, and the similiar Command/32 V1.0 are available at
The SimTel
archives -Ed]
Back to the Contents
I.1 Where can I get Microsoft's POSIX subsystem for NT?
NT has a built-in protected subsystem for POSIX. It starts
automatically when a POSIX application loads and stays active
until shutdown. The process name is psxss.
Microsoft provides a series of POSIX utilities, including
source code, in the Resource
Kit. Some of the included utilities are: ar, cat,
chmod, vi, ls, mv, rm, and sh.
The Resource Kit can be purchased from Microsoft (US$149
before May 31, 1995, $199 after), Software Spectrum (US
800-824-3323 US$84, Canada 800-624-6224 CDN$118 , part number
M24265).
You can also download
the utilities for free.
The Reskit is not enough to develop POSIX applications -
you really need the SDK from, again, MSDN Level 2 (See Section 0).
I.2 What are the restrictions of NT's POSIX?
The POSIX subsystem that is supplied by Microsoft with NT
has several important limitations.
To quote the Resource Kit:
With this release of Windows NT, POSIX applications
have no direct access to any of the facilities and
features of the Win32 subsystem, such as memory mapped
files, networking, graphics, or dynamic data exchange.
That one sentence says a lot! No networking means no
Winsock or any other communication protocol. No graphics
means that you restricted to only console-based (Command
Window) applications. No memory mapped files restricts one of
the methods of communicating between processes under NT.
Simply stated, applications using the POSIX subsystem of NT
can't do a whole lot. To do anything interesting, you need to
access Microsoft's Win32 API, or at least wrap a series of
Unix-like calls around the Win32 API. See Section II.
I.3 Why is the POSIX subsystem so brain-damaged?
The general consensus is that Microsoft put in the POSIX
subsystem in order to bid NT on U.S. government contracts
where POSIX can be a requirement. The NT implementation is a
strict implementation of the POSIX.1 standard and nothing
more. So, the subsystem isn't so much as brain-damaged, but
severely handicapped by not adding anything beyond the
specification.
The unfortunate result for those wishing to port UNIX
applications, is that unless the application needs no more
system resources than cat, the POSIX subsystem is
useless. In fact, attempting to port to the POSIX subsystem
will probably be a complete waste of time as any one of
several brick walls will be hit very quickly. The alternative
is to start with the Win32 API and one of several porting
aids listed in the next section.
I.4 How do I get vi to run?
Ah yes, one of the great secrets of the NT POSIX
subsystem. See also Knowledge Base article Q108581.
First, you need to create a termcap file:
li|ansi|psx_ansi|:\
:co#80:li#25:\
:am:pt:ms:bw:\
:cl=\E[2J:cm=\E[%i%d;%dH:ce=\E[K:cd=\E[J:\
:sf=\E[S:sr=\E[T:\
:ho=\E[H:sc=\E[s:rc=\E[u:up=\E[A:d=^J:nd=\E[C:le=^H:\
:ku=\E[A:kd=\E[V:kr=\E[C:kl=\E[D:kb=^H:\
:so=\E[7m:se=\E[m:mr=\E[7m:me=\E[0m:\
Second, you need to a bunch of environment variables:
SET _POSIX_TERM=on
SET TERM=ansi
SET TERMCAP=location of termcap file in POSIX file format
which is case-sensitive.
e.g. SET TERMCAP=//D/RESKIT35/posix/termcap
SET TMP=//C/TEMP
Important note: setting the TMP environment variable in
POSIX style renders it incompatible with a lot of other
applications, including Visual C++. So you should have a
separate command window just for vi. All the other variables
may be permanently set in the Control Panel\System applet.
That should be it.
I.5 Where can I found more about NT's POSIX subsystem?
In the NT 3.5 Resource Kit, Resource Guide, Chapter 17 -
POSIX Compatibility.
Back to the Contents
II.1 Where can I find GNU for NT?
At U. of
Texas which has a version that was compiled under NT 3.1.
You should also look at Yale University's GNU
archive to find GCC and GNAT for NT. Also, if can connect
you'll be able to find a mirror at CICA.
One caveat: when using WinZipNT to extract the GNU
archives, disable CR/LF translation or you else you will get
the "not a valid executable" when attempting to use
the binaries. Thanks to Garth Kidd
A commercialized version, called Toolbuster is made
by Congruent, and
can be purchased from The Programmer's Shop (+1-617-740-0101
US$180).
According to Chris
Patti :
The GNU tools [Congruent] offered for ~$250
CLAIM to be fully supported but my company has been
SORELY dissappointed with their performance so far.
They include a version of emacs that's among the
worst ports I've ever encountered. Many of the other GNU
tools barely work (e.g. less exhibits all sorts of
bizarre behaviour, etc)
II.2 What other toolkits are there?
Since there is a similarity of function between numerous
UNIX calls and NT services, a number of bright people have
the idea of mapping UNIX calls to NT. This can simplfy life
in some respects or complicate it. See the Opinion question
of Section 0. Having said
that, the following toolkits may be of use to you.
Of course MKS sells its
popular toolkit for NT.
Doug Hamilton has an
excellent C-Shell port that
includes many utilities.
Datafocus, with its
NuTCRACKER product, has one of the most complete UNIX-like
libraries available for NT.
According to an old Microsoft list, Hippix also sells a
package similar to Congruent, but alas it seems that Hippix
has gone out of business. Hippix can still be purchased from Pacific HiTech for very cheap.
There is a brave solo attempt to wrap many NT routines in
UNIX-like jackets. There is considerably more work to be done
in this area, but you can find the current state of affairs
at the DOWNHILL
project.
There is also Unite, a product from Consensys. It claims
to be a direct port of UNIX System V Release 4 source code
and includes over 100 commands and the C and Korn shells.
[pointers, please! -Ed.]
II.3 What if my codebase is already on Windows?
As alternative, you can maintain your code on Windows, and
then port from there to other platforms.
There are also several products that help your Windows
code run on UNIX. The general idea is to take Microsoft's
class hierarchy, called MFC or Microsoft Foundation Classes,
and port them to various other platforms including UNIX.
Microsoft does maintain greatest control this way.
Mainsoft publishes
one that includes mapping to X calls. - Thanks to David Herron of Mainsoft
Another, called Wind/U, is produced by Bristol.
Back to the Contents
III.1 Using stdio
Choi Young-Kyu
asked the following straight-forward questions in the
comp.os.ms-windows.programmer.win32 newsgroup and received
three excellent replies:
Questions:
1. Is it impossible to generate a console command which
display an image onto the screen such as "xv" in
UNIX ? For example in UNIX:
% cat image.gif | ...image-processing... | xv -
2. If 1 is possible, what are those tools available in
network ?
3. If not, what is the best approach to separate console
commands and GUIs ?
Reply 1 - Charlie Beerman:
Choi, if you are writing a console-mode application you
have to get the handles to the standard input/output/error
streams. Here is an example:
HANDLE hStderr;
HANDLE hStdin;
HANDLE hStdout;
hStderr = GetStdHandle( STD_ERROR_HANDLE );
hStdin = GetStdHandle( STD_INPUT_HANDLE );
hStdout = GetStdHandle( STD_OUTPUT_HANDLE );
Then you can read from stdin and write to stdout/stderr
using the ReadFile and WriteFile API calls. (The first
argument to these calls is the appropriate file handle from
the example.)
I haven' t tried passing non-text data through this
mechanism though, so I'm not certain what will happen if your
data contains a byte with value 26 decimal (CTRL-Z).
The main difficulty in what you are trying to do is to
pipe data to a Windows application. In DOS and Windows 3.1, a
"pipe" is implemented by a temporary file, so the
input must be complete before the output can go to the other
end of the "pipe". This is not true on NT, though.
If XV can read data from the standard input, great.
Otherwise, you have to trick the pipe into using a temporary
file.
I just wrote a program to do something similar. What I had
to do was to read the standard input using the mechanism I
described above, and write the data to a temporary file. Then
I could use CreateProcess to start my Windows application
with the temporary filename as a command-line argument. Of
course, I need to delete the temporary file at some point. I
used the API call WaitForInputIdle to wait until the Windows
app finished initializing. You can also use
GetExitCodeProcess to find out if the Windows app has
terminated and wait for that before deleting the temporary
file.
If you want this program send me mail and I'll make it
available to you. Let me know if you want the source and/or
executable. The program is called PIPETO and is used as in
this example:
C:> dir | pipeto notepad
in which case the output of the DIR command is sent to the
Windows NT Notepad. Like I said, I haven't tried it with
binary data.
Reply 2 - Doug
Hamilton (author of the Hamilton C-Shell):
No problem. You can write such an app under NT also. Even
graphical apps inherit stdio handles, which they can retrieve
with GetStdHandle. The only limitation you should bear in
mind is that if the handle being passed to the graphical
process is to a console window, it will not be valid outside
that console window.
Let me give you an example: Suppose you write a graphical
app that tries to use printf. You start it from the DOS
command prompt running in a console window. No output shows
up. Why? Because the handle you've passed it isn't valid in
that new graphical window. Same thing if the graphical app
had tried to read stdin and you'd passed it a handle tied to
the keyboard in you console window.
But if the handles you pass are tied to any other kind of
thing you might normally use with stdio, it'll work just
fine. In your example, your xv app will have no trouble
reading data from stdin because stdin will be tied to the
output end of a pipe, which is certainly inheritable to a
graphical app.
Reply 3 - Adrian Milliner
There is nothing to stop any console process from opening
windows and reading the message queue. For example the
following is quite OK:
#include <stdio.h>
#include <windows.h>
void main(int argc, char*argv[])
{
if (argc > 1)
MessageBox(NULL,argv[1],argv[0],MB_OK);
}
Obviously you have access to stdin, stdout etc. For
graphics data, you'd have to set the the translation mode to
binary using something like:
_setmode(_fileno(stdin),_O_BINARY);
If you wanted to access stdin/out through a normal GUI
application, then you can access HANDLEs to these streams
using GetStdHandle().
If you already had an NT application that reads images
from files, you could make it read from a pipe by writing a
simple console app that copies stdin (in binary mode) to a
temp file, then call the other app with that file as it's
parameter...
III.2 Setuid and Security Aspects
Well, finally as of NT version 3.51, the Security APIs
have been made public. Since the final commercial release,
build 1057, they actually work (the beta version, build 944,
had some problems).
As an example, see the source code of an NT version of
UNIX's su command written by David Wihl (editor of this
FAQ) and Steffen
Krause.
Back to the Contents
IV.1 Availability of ONC/RPC/XDR under NT
NetManage sells an
RPC/XDR-SDK for NT, among other very useful TCP/IP products
for Windows.
Noblenet (+1-508-460-8222) also has ONC RPC for NT. Thanks
to Bill Duckett
of NobleNet.
Also, GMD in Germany has a free version available (click here to
download it).
IV.2 DCE RPC under NT
[coming soon -Ed]
IV.3 Mimicking accept() and select() in NT
WaitForMultipleObjects works fine with connected
sockets, it will not work with bound but non-connected
sockets (the sort that you could do an accept() on in UNIX).
This means if you have a select() loop that processes
requests and also (under UNIX) will return on requests for
new connections you can't use WaitForMultipleObjects(). You
have to use another thread doing the Winsock select() and
then cascade it up to the WaitForMultipleObjects via a
pipe.... (tacky) - Thanks to Jeremy
Allison
Back to the Contents
Section V - NT Versions of UNIX
and TCP/IP Utilities
Where is.....
V.1 Tcl 7.3 and Tk 3.6
The latest location is at Berkeley
A mirror of TKNT3.6 is available at Alcatel.
Tk
4.0 is also available. Expect is not supported under NT.
- Thanks to Gordon
Chaffee
V.2 NIST and USNO Time Client
Somar (from Mr. Ramos,
get it?) has one utility as shareware. They published a
number of other useful tools as well.
Tardis can read the time off of a remote NTP server, this
is not the protocol that it delivers in turn for you to use
with local clients on a LAN. Also it does not use the NTP
protocol, but the old RFC 868 TIME protocol. NTP is more
accurate and won't allow the time to go backwards (and cause
file dates, etc. to get messed up).
There is also Todd Aven's NTPDate
program. From its README:
NTPDATE.EXE is an NT (Intel) port of the ntpdate
program which comes as part of the xntp distribution.
NTPDATE will query one or more NTP servers and set the
local clock based on a statistical interpolation of the
'real' time.
Apparently xntp
has been ported to NT. Thanks to Anthony Roby.
V.3 NFS Client and Server, Samba
If ever something needed to be put in a FAQ: Check out Samba's Web
Site, (or you can download it
directly) for a great GNU freeware package that allows
your UNIX machine to participate in a LAN Manager network. It
consists of a pair of services which can be run on a UNIX
machine to allow said machine to export its local file system
and printers as SMB shares. In other words, if you build
Samba and install it on a UNIX box, your lanman clients
(including Windows for Workgroups and Windows NT) will be
able to access the file system and printers on the UNIX
machine in a manner you configure. Thanks to John L.
Miller
There are several commercial NFS versions:
There are probably others. Thanks to Cal Sawyer.
V.4 FTP Client, FTP Server, Ping, Traceroute, Telnet
Client, Telnet Server
All of these are built-in to NT. Traceroute can be found
in %systemroot%\system32\tracert.exe. Security Warning: Don't
overlook the built-in "guest" account. If you set
up FTP server, anyone can log into the guest account by
giving any name/any password. Fix this by
"disabling" guest account under User Admin.
An excellent FTP client called WS_FTP32 is available from
many archives including CICA.
A GUI Ping, WSPING32, is available at BHS.
Ataman produces Rlogind, Rexcd and
Telnetd Services (for Intel), written by C. Brian Sturgill ,
President of Ataman.
Beame and Whiteside also
produces a Telnet Server.
Seattle Lab's also
has a Telnet Server, as well as several other related
packages (job scheduler, serial port server) that will be
useful to anyone who needs a TelnetD. Check it out. Thanks to Donald D. Meek.
A Telnet server for Windows NT 3.5 by Software Innovations
will be available soon (call 1-800-946-6688 for more
information).
V.5 NNTP Server
Jeff Croffler has
an excellent NNTP server for available at both a primary
(info and program) and alternate
(program only) site.
V.6 DNS/BIND
Microsoft supplies a port of DNS in the Reskit (See Section I). Unfortunately, it
does not work very well.
The current alternative is using a DNS/BIND port from Metainfo, or NetManage, or Corporate Computer, Inc.
V.7 SMTP and POP Daemon
So far, five have been discovered. There must be others:
- A popular shareware version called NTMAIL
is available, written by Brian Dorricott
- Another version can be found at Metrics. If you
need more information, send e-mail
or ask for a description.
- Information Electronics has
several mail gateway products including SMTP, UUCP,
NNTP, POP3, Microsoft Mail, Lotus Notes, QuickMail
(and others). Thanks to Tate Moore .
- Also a secure post.office program is currently under
beta test from Software.Com
Inc. Thanks to Bill Landry.
- ConnectSoft
has fairly complete e-mail router between MCI Mail,
CompuServe, MAPI, Netware MHS, the Internet, GEnie,
X.400, and America Online
V.8 Perl
At Intergraph
there is a free version of Perl version 4.0. Some very useful
NT specific extensions were added, especially with regards to
reading and writing the Registry.
There is finally a beta
of Version 5 of perl commissioned by Microsoft. If you
want further announcements, you can subscribe to ntperl Mailing List
(put 'subscribe ntperl' or 'subscribe ntperl-announce' in the
body). For more info, contact Dick Hardt at hip
communications Inc (604-685-0124, FAX: 604-654-9881) , or Hip's Web site. Thanks to Joseph Casadonte.
V.9 Listserv
LISTSERV is a commercial product made by l-soft.
Brian Dorricott's NTMAIL
also has listserv functionality.
Also, you may want to look at Ipswitch's Web Site
or send e-mail
(personal, non-automated response) for a description of their
product.
V.10 Finger Daemon
Finger32.exe is also available at BHS.
According to Bobby L.
Rose, you can find a better port at Marcopia
(look for fingerd-i386.zip). It is very much like the Unix
finger daemon. It uses individual .plan and .project files
and can enumerate users.
V.11 CRON
There is of course a built in scheduler under NT called
'at'. There is also a freeware crond service for NT
called ntcrnl.exe available at BHS
and at a UK
Mirror. Thanks to Mark
Woollard.
V.12 HTTP Server
Anyone interested in an HTTP Server for NT should first
check out EMWAC's
Internet Toolchest. It is the starting point. Having
said that, here are some alternatives.
First, the freeware: EMWAC's HTTP Server is supplied in
the NT Reskit (See Section I).
Website from O'Reilly
and Assoc.supports CGI, and Win-cgi, which allows you to run
16 bit windows applications.
"I have done a lot of work with VB in this way
and its really nice."- Dale E. Reed Jr.
Purveyor,
(based upon the EMWAC server) from Process Software has a 30
day evaluation copy.
There is also the SAIC
HTTP-server.
"We used to be running the EMWAC-server but we
changed to SAIC HTTP because it has more features when it
comes to allowing/disallowing access to specific
www-pages. It also has some other nice features which the
free EMWAC-server lacks (I really like the EMWAC-server,
but i think SAIC's is better)." Arne
Carlsson
There is also a gateway
between Oracle and an NT Webserver. Thanks to Albert Rybalkin.
V.13 X Client and Server
The r6 client can be found at U. of
Texas. To quote Don
Loflin, the Microlib/NT librarian:
Please note that x11r6bin.tar.Z includes Windows NT
(Intel) binaries only for the X clients included in the
standard x11r6 distribution, which can be found on
ftp.x.org and its mirrors. There is no X server for NT in
the package, nor is there an xterm for NT.
To unpack x11r6bin.tar.Z, you'll need a 'compress' and
'tar' program for NT. Check the microlib/nt/gnu directory
for suitable NT/Intel versions.
There also commercial versions from:
- Hummingbird's
eXceed
- DEC's eXcursion
- Starnet's xwin
(for Win32s). Thanks to David Robinson.@@@
- There is the shareware pc-xdemo.zip, that apparently
has performance problems.
V.14 Displaying Windows applications on X servers
Tektronix has come up
with an innovative product that lets you display Windows
applications on an X server. The product, Win
DD, places a lot of hooks into the operating system that
translate MS-Windows messages into the X protocol. The
problem: there may be so many hooks that the service packs
(maintenance releases) will not be compatible.
ConnectSoft
is about to release "Xwindows Connection" software
that will allow you to login to an NT system from a Unix X
system/term and run MS-Windows apps and display them on the
Xwindow System. Thanks to Bob
Tadlock,
Citrix may have a similar product (305) 755-0559.
There is also a Remote
Desktop, which is not X, but at least allows remote
viewing of the desktop. Thanks to Bernd Backhaus.
V.15 SendMail, BLAT
blat for NT can be found at the College
Press, or SimTel.
Thanks to James
Nelson and Dave
Gruber.
V.16 Bash
bash can be found at Sunsite
(look for the bash_nt-xxx directory). Here is the
announcement:
Mountain Math Software announces the Beta site release
of a port of `bash' the `born again shell' to Windows NT
3.5. This port is based on GNU code and uses some of the
Downhill Project code but it is solely the responsibility
of Mountain Math Software.
Although this is a somewhat crippled and not fully
compatible `bash' it is still immensely superior to
`cmd.exe'. There are many things one needs to do,
especially in working with large software projects, that
require a fully functioning command line shell. This port
of `bash' is a freely distributable (under the GNU
General Public License) shell that meets that need.
There are three archives:
bash_nt-1.14.2_bin_tar.gz -- executables and
installation instructions
bash_nt-1.14.2_src_tar.gz -- source code
bash_nt-1.14.2_doc_tar.gz -- postscript format
documentation
HTH, Ulysese
Brown (ubrown@pipeline.com, ubrown@bug.com)
V.17 C-Shell
Doug Hamilton has an
excellent C-Shell for all architectures supported by NT. A
demonstration version is available at several archives. A
commercial version can also be ordered from Hamilton
Laboratories (Sudbury, MA, USA - +1-508-440-8307, FAX:
+1-508-440-8308). Here is an extract from the marketing
material:
Hamilton C shell recreates the original UNIX C shell
and utilities, adding numerous enhancements. Over 130
commands, utilities and built-in functions including
alias, cat, chmod, cls, cp, cron, cut, diff, dirs,
dskread, dskwrite, du, eval, fgrep, grep, hashstat, head,
history, kill, more, mt, mv, popd, printf, ps, pushd, rm,
sed, sleep, split, strings, tabs, tail, tar (supports
tape drives), tee, time, touch, tr, uniq, vol, wc,
whereis and xd. Designed from scratch. Carefully follows
all Windows NT and Windows95 (Chicago) conventions.
Fanatical quality.
V.18 Kerberos
Cybersafe (Redmond,
WA, USA) has a version. Thanks to Jeff Oberlander.
V.19 EMACS
Besides the GNU tools listed in section II, there is at least
one other version of EMACS floating around:
Back to the Contents