using sco or Linux server and win98 clients, I would like the serial and
parallel ports on the win98 client to become pseudo devices.
i.e.. /dev/win98lpt1 represents the lpt1 port of the win98 machine.
by doing this I can cat filename > /dev/win98lpt1 from any terminal or even
the server and have the file print.
thank you.
>using sco or Linux server and win98 clients, I would like the serial and
>parallel ports on the win98 client to become pseudo devices.
>i.e.. /dev/win98lpt1 represents the lpt1 port of the win98 machine.
>by doing this I can cat filename > /dev/win98lpt1 from any terminal or even
>the server and have the file print.
if only win98 machines were real servers you might be able to do this, but
since they aren't you are probably up a creek.
--
okay, have a sig then
As a general case, perhaps, but for the specific case that the OP mentions -
accessing a printer attached to a Windows PC from the UNIX box - there is
certainly software available which will support it. I've used ICE from James
River (http://www.jriver.com/) do to this in the past from SCO systems.
It all depends if the OP really needs device level access to the Windows ports
from UNIX, or just wants to be able to print to the Windows printers from
UNIX.
Ian.
> using sco or Linux server and win98 clients, I would like the serial and
> parallel ports on the win98 client to become pseudo devices.
> i.e.. /dev/win98lpt1 represents the lpt1 port of the win98 machine.
> by doing this I can cat filename > /dev/win98lpt1 from any terminal or even
> the server and have the file print.
We have recently introduced a product called "VirtPort". Our goal was to
create a virtual serial port; a comm port that was physically on a Windows PC
(any Windows from 95 on) is virtualized over a TCP/IP network, so that it
appears to be a serial port on a Unix host. The connection is bidirectional,
with flow control. We have not done this for parallel ports yet, but that
should not be difficult.
See
http://www.anzio.com/products/virtport.htm
Regards,
....Bob Rasmussen, President, Rasmussen Software, Inc.
personal e-mail: r...@anzio.com
company e-mail: r...@anzio.com
voice: (US) 503-624-0360 (9:00-6:00 Pacific Time)
fax: (US) 503-624-0760
web: http://www.anzio.com
Please ignore me ignoring the fact that the problem's already solved :-)
I'd like to join up some of the dots. I've mentioned that I particularly
like the free Windows Lpd from www.kabelmax.de - receives data by lpr
(UNIX remote printer protocol) and either prints it, or does anything
else you care to specify with it. Executes any nominated command on it.
(Designed for GhostScript PostScript.) Damn, I promised to proofread
the guy's German-English translation as thanks and I never got to it yet,
but it's pretty clear - he just wanted it to come across in grammatical
English. Still, I really should get to doing that.
For this sort of solution you probably wouldn't "cat file >/dev/win98lp"
but maybe "lp -d win98lp filename". And it would go to one particular
PC, regardless of the PC terminal that you were running on.
But SCO UNIX identifies your PC IP address in the "who -x -m" or "nwho"
commands (unless you have a firewall like ours), and so you could have
one proper Lpr destination defined for each terminal, i.e. each PC's own
printer (and each PC running an "Lpr"). If you have hundreds then it's
possible to generate an appropriate Lpr configuration file.
The official tool on SCO UNIX to write to your own terminal's printer
is "lprint".
If there's still a compelling reason to do "cat >/dev/..." - perhaps an
application that must be given a port name in /dev/ that it can dump to,
instead of a proper UNIX printer (I believe it's happened) - then
I presume that you could use SCO command "mkfifo" (Linux might differ
in name?) to create a permanent pipeline, and set a command or a script
running (at boot time) that reads from the pipeline one line at a time -
say - and sends the data off to be printed. ("netcat" for this?)
But creating your own crap in /dev/ just to support that seems like
bad practice.
And it might still not work (some developers are incredibly crotchety),
so feasible but probably not attractive is to set up one or more login
accounts simply to provide a printing service. Suppose you have a
terminal emulator that can log in automatically, as "print02", and
when user "print02" logs in, the server runs the script "chmod 666 `tty`;
echo '\033[5i'; read whatever;exit" - then the terminal window stays
open until someone types a carriage return into it, and (subject to
the terminal emulator's behaviour) anything that's sent to print02's
port in /dev/ttyp* (by any user) will be sent straight to the PC's
printer. (Let me know if I've accidentally made the terminal too
vulnerable.)
And I presume that "ln `tty` /dev/win98pr02" thrown into the script
lets you type "cat file > /dev/win98pr02" - to a true device - at last.
(Since I reckon it's also possible that the application insists
on a real device.) You might need to "rm /dev/win98pr02" first to
delete the association with the device that was used last time.
The terminal emulator that provides this service can be launched
minimised (even trayed) from computer02's Windows StartUp menu,
to log in automatically.
thank you.
smbclient enables a client running on nix to send a print job to a doze
print server. It is included as part of the SAMBA package.
-----Original Message-----
From: Liverpool_fc [mailto:liverp...@americanaprep.com]
Posted At: 05 September 2001 15:26
Posted To: admin
Conversation: pseudo devices.
Subject: Re: pseudo devices.
If they're multiple _serial_ terminals, the terminal concentrator
driver software usually implements a pseudo device. For instance,
for terminal ttya16, there'll be a port /dev/ttya16p or /dev/pra16
or something like that. Output to /dev/ttya16p by "lp" or
quick-dirty "cat" is recycled through the system and dribbled out
to /dev/ttya16 topped and tailed with Esc[5i and Esc[4i, or the
other terminal escape sequences of your choice that make your
terminal print.
If you don't have this, then read your documentation. Catting to
devices in /dev/ chosen at random is not wise ;-)
If they're networked terminals (TCP/IP), then "lprint" (may require
a little work*) or my suggestion using "mkfifo" could be set up.
"lprint" is recommended.
* Mr. Brian White kindly provided:
> to make lprint work on any ansi-compatible terminal
> * login on that terminal
> * infocmp > temp.src
> * vi temp.src
> add the following to the end...(yes, include that trailing comma)
> mc5=\E[5i, mc4=\E[4i,
> * tic temp.src
"Anthony W. Youngman" <Anthony....@ECA-International.com> wrote in
message
news:B7EF3B5AF8601E4DB40...@ESP.eca-international.com...
If the unix server is running samba, you can export printcap, and all
the printers will appear in your windows box's network neighbourhood.
It's that easy, I've done it by accident in the past ... :-)
> using sco or Linux server and win98 clients, I would like the serial and
> parallel ports on the win98 client to become pseudo devices. i.e..
> /dev/win98lpt1 represents the lpt1 port of the win98 machine. by doing
> this I can cat filename > /dev/win98lpt1 from any terminal or even the
> server and have the file print.
I think you have asked the question in a way that has people confused,
and that is why nobody think they have the answer to this.
Actually, what you want to do, is gain access to the Windows printer from
Unix.
The easy way to do this is share the printer over the network, so you
need to set up windows in such a way that the printer is 'shared' and had
a network name.
Then you need a client program on the Unix machine.
Depending on what Unix you have, the way to do it will be different, and
the results, too.
I have managed to get access from Linux to Win95 printer by setting up a
print client.
You can also use smbclient, part of Samba.
If you can make Window talk TCP/IP, it is the easiest for all Unices (and
all OSes in general, since TCP/IP is the network standard).
Otherwise, you must make Unix talk IPX, and that is possible, too.
If you want to create a device entry in the kernel, then it is much more
complicated, and the people who know how to do that, they probably don't
know what to do on the Windows side!
Some files that you are interested in:
/etc/inetd.conf
/etc/services
/etc/printcap
/etc/hosts
/etc/hosts.lpd
/etc/papd.conf
/var/spool/xxx
Some programs that you are intersted in:
lpd
lpr
inetd
Hope this helps a little,
Atle
I've used it its good
Jim Simpson
Scotland
"Jan Atle Ramsli" <tro...@skyremovethisnet.be> wrote in message
news:3bf64484$0$230$ba62...@news.skynet.be...