Thanks for the suggestions below. The addition to the global.conf helped for 
the transparent printing. I am now getting proper output on the printer. 
However, the job will not complete if it is over 67% of a page. I have 
changed the timeout values from very low to very high and all in between. I 
have also captured the print job to a file to verifiy that all of the job is 
being sent. The file I get looks perfect and if I cat it while in linux (out 
of dosemu) on the terminal it prints the entire job to the printer without 
issue. The proper escape code sequences are in place. I have printed jobs 
from 1/2 page to 30+ pages this way.

Does anyone have ideas on what maybe causing the print job to stop short when 
printing to the terminal in dosemu? It appears to me that dosemu is blocking 
or stopping something or losing something in buffer? And I am confident that 
the terminal is never seeing the entire print job as it is "locked" in print 
mode waiting for the escape sequence to tell it to start displaying back to 
the screen. I have to power cycle the terminal to get control back.

FYI - for the printing, I have used tprint, vtprint, and my own script. I am 
currently using my own script as it seems to be working the best.

Thanks again,

Jay Pfeifer



On Monday 11 February 2002 09:25, Matthew Nuzum wrote:
> This is roughly what I did to get this working in v 0.98.
>
> You must create a script (or use vtprint which I'm happy to email you as
> an ~60K attachment) that sends the appropriate escape code to the
> terminal for pass thru printing, outputs stdin to terminal, and then
> finishes by turning off pass-through printing.
>
> You then have to change your global.conf file to recognize the new
> printing.  Personally, I set a variable on users's terminals who were
> logging in through telnet.  I don't remember how I did this, I think I
> used a command line parameter to DOSEMU.  It was called u_terminal.  If
> this variable existed, the global.conf file would not use LPR, but
> instead use this script (which I named /usr/local/bin/print).
>
> I don't know how much of this is still usable in the newer versions of
> DOSEMU, this code is coming up on 3 years old.  For what it's worth,
> here's a snippet from my global.conf file.
>
>
>     if (strlen($_printer))
>         ifdef u_terminal
>           foreach $xxx ($LIST_DELIM, $_printer)
>            $xxx = "'/usr/local/bin/print '";
>            printer { options " %s"  command $$xxx  timeout 40 }
>           done
>         else
>           foreach $xxx ($LIST_DELIM, $_printer)
>            $xxx = "'-P", $xxx, " %s'";
>            printer { options $$xxx command "lpr" timeout
> $_printer_timeout }
>           done
>         endif
>     endif
>
> I had a problem printing greater than ~17 pages.  It would lock up the
> terminal.  Looking at this code, I think the 'timeout 40' might have
> been the culprit.
>
> If this works, I'd love (and I mean that) to hear about it.  Let me know
> what pitfalls you hit and if/how you worked around them.
>
> I may be able to help more.  But because of time, the details get a
> little fuzzy if you don't ask specific questions.
>
> Matt Nuzum
>
> On Sun, 2002-02-10 at 23:46, Jay Pfeifer wrote:
>     Hello,
>
>     I have read various discussions on transparent printing in dosemu and
> have been unable to find a thread with an answer that fits my scenario.
>
>     I am using dosemu 1.0.2 and MS-DOS 6.22 on SuSE Linux 7.3 with the
> 2.4.16 kernel. I have been successful in getting dosemu to run my dos
> application. I have it running on the console, using SSH, and through
> Sherwood 7000 series terminals connected to 4 port serial cards (Longshine
> LCS-8880 and the like). However, next I needed to get printing to work. I
> can print to the printer on /dev/lp0 - not a problem. Remote printers using
> TCP/IP, no problem. But, printing to the printer slaved to the serial
> terminal would not work while dosemu was running. If I was on a terminal at
> a login prompt or logged in to any linux app/shell... no problem I could
> print to the slaved printer all day. However, as soon as I would run
> dosemu, the ESC sequences sent seemed to be being blocked or the tty
> (/dev/ttyS4) was locked... I couldn't get lpd/lpr to overcome and I could
> not find a switch or parameter for dosemu that would resolve the issue.
>
>     So, after a some research, I noticed a thread ( Re: dosemu cannot sends
>     char(27) ) dated 2001-05-15 from Eric W. Biederman. He goes on to
> explain that one could modify lpt.c and terminal.c to allow for calls to
> lpt1 to be redirected to the terminal's slaved printer by dosemu. I looked
> at the 2 files and am unsure how to approach implementing this... So, now I
> am asking for help.
>
>     Does anyone have the code to allow for jobs sent to lpt1 in dosemu to
> be sent back to the terminal prepended with the appropriate ESC sequence (
> ESC[5i in my case) to tell the terminal to send to the printer, then at the
> end of the job, send the appropriate sequence ( ESC[4i in my case) to tell
> the terminal to start sending back to the screen? Or is there a setting in
> the dosemu.conf or global.conf that can be modified to achieve the same
> result?
>
>     Or, does anyone have any better suggestions on how to get this to work.
> Also, understanding that the person who is using a terminal will only need
> to run this dos application and print only to the printer attached to their
> terminal.
>
>     Thanks in advance.
>
>     Regards,
>
>     Jay Pfeifer
>     -
>     To unsubscribe from this list: send the line "unsubscribe linux-msdos"
> in the body of a message to [EMAIL PROTECTED]
>     More majordomo info at  http://vger.kernel.org/majordomo-info.html
-
To unsubscribe from this list: send the line "unsubscribe linux-msdos" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to