I have 2 PCs. One runs Windows Me and the other has Linux 7.0. I have a printer (Canon S400) on my Windows Me PC that is not supported by Linux 7.0, so I want to connect my 2 PCs and print to the Windows Me printer from Linux. Can this be done? I have been reading about SAMBA, but this seems to support a Windows client and a Linux Print Server, or a Linux client and a Linux Print Server. Before I installed Linux, the Linux PC had Windows 98, and I was able to share files between the 2 PCs, using Ethernet cards, the appropriate cable, and the appropriate Windows system settings (which someonw did for me). Can a similar thing be done for Linux and Windows Me? Thanks.
Samba is a file and print services system -- it will allow your Linux machine to appear as a "normal" windows PC to ME. It is easy to configure (just edit the sample smbd.conf, or, if you must use swat).
I'm sure thsi can be done, but (as you have found out) it is not the usual way of doing this. I recomend you check out smbclient on your Red Hat system ("man smbclient") which may help you set up access to shared resources on your Windows system. However, I have a few questions: In what way is the printer not supported by Linux ? If it's some sort of wierd driver or protocol issue it may be that even if the Linux system can send data to the printer via the Windows box it still may make no sense! What sort of sockets does the printer have ? The cheapest and simplest way to share a printer these days is to plug each machine into a separate port. Can you plug the Windows machine into a USB socket and the Linux machine into a parallel port, for example?
Hmmm. That's a sticky one. The problem with printing on 9x systems is that the printer "driver" isn't a driver at all - it's a graphics converter that takes Windows GDI and translates to device-specific control codes. There's actually 4 ways to print on a Windows machine. 1. Windows printing via a "printer driver" 2. Windows printing via a device-independent "printer driver" - NT-based systems (I think this converts to Windows Metafile format). The device-independent output is passed via the network to the printing machine, which does a second conversion to native printer codes - except I believe some printers--notably HP--understand the device-independent form internally 3. Raw print via the TRUE printer driver - the LPT device. In this case, the source machine has to insert any low-level print control codes before it goes over the network. This is the mechansim used for legacy DOS apps running in command shells and by POSIX apps. Here's some solutions. None of them are ideal, but one of them may be tolerable. 1. Convert the Windows ME machine to NT/Win2K (or XP?) and use the device-independent spooler (check for Samba docs on whether this is possible). 2. Print to PDF's and use a Windows version of GhostScript to print the PDF's. Maximum graphics for maximum work. 3. Some printers support PostScript. If your is one, switch to the PostScript Windows driver and you may be able to get Samba printing to work OK without the tedium of manually ruinning GhostScript. In some cases, you can even switch between the two modes on the fly (or at least between print jobs). 4. If you're just looking for business reports, read the hardware manual for the basic control codes, concatenate them to the Linux print job and do "dumb printing" 5. Last, but not least, buy a cheap printer that DOES work with Linux and share it out over Samba! You can add a second LPT port via USB.
An IDE is no substitute for an Intelligent Developer.