Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

Am running some legacy software for my business, which runs on dBase 5, which has been updated over the years with a great deal of investment in time; this runs our finances, ordering, etc. pretty well. In order to be able to switch my business to Ubuntu (which I would like to do), I have to be able to run these programs, and particularly print data. I have tried printing in DosEmu, but that locks the program up, have tried DosBox, which seems to be more stable and runs things fine, but will not print. So I tried printing to a file in DosBox and have this manually printed with:

lp -d HP-LaserJet-m2727-MFP /home/paul/dosdrive/*.prn

and that prints fine, but I have to leave the program and close DosBox before the file shows in Ubuntu and I can print it; not ideal for a business package. I have found a DosBox SVN Daum, which I have tried on an XP machine, is stable and prints fine, but this is only available for Windows. The source code is available for this program, but compiling this is well beyond my expertise. Is there any way around all this?

share|improve this question
add comment

1 Answer 1

On an enthusiast site there is a special build of dosbox for Linux based systems; the 32 bit version is still available there, although there are older 64 bit versions if you need them. You don't need to compile it (although I would probably compile the official dosbox-0.74 source code and just integrate the printer patch: see here for more information on SVN builds and compiling dosbox).

Nevertheless, if you don't wish to compile you can use these builds from that site: I have checked them and they are fine, but, as we normally say with other things such as ppas, use at your own risk. The 32 bit version does include 'almost' all the patches in the Windows version. The download includes a dosbox executable, a dosbox_debug executable and a dosbox conf.

The dosbox conf includes the printing support:

    [printer]
#     printer: Enable printer emulation.
#         dpi: Resolution of printer (default 360).
#       width: Width of paper in 1/10 inch (default 85 = 8.5'').
#      height: Height of paper in 1/10 inch (default 110 = 11.0'').
# printoutput: Output method for finished pages: 
#                png     : Creates PNG images (default)
#                ps      : Creates Postscript
#                bmp     : Creates BMP images (very huge files, not recommend)
#              
#   multipage: Adds all pages to one Postscript file or printer job until CTRL-F2 is pressed.
#     docpath: The path where the output files are stored.
#     timeout: (in milliseconds) if nonzero: the time the page will
#              be ejected automatically after when no more data
#              arrives at the printer.

printer=true
dpi=360
width=85
height=110
printoutput=png
multipage=false
docpath=.
timeout=0

However, before you run it, you must install some important dependencies (you will probably have the sdl ones already):

sudo apt-get install libphysfs1 libpng12-0 libsdl1.2debian libsdl-sound1.2 libsdl-net1.2

So to make sure you do not get your normal dosbox confused with this one, keep this alternative dosbox and its conf file in a folder in your home folder and open terminal and run it with, for example,

/home/mike/DOS/dosbox -conf dosbox.conf
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.