Stylus Toolbox




User FAQs

Developer Info


Mailing Lists

Stylus Toolbox FAQ


What printers does Stylus Toolbox support?

Stylus Toolbox supports any Epson printer supported by escputil.  As of 0.2.5, the initial release, Stylus Toolbox only supports checking ink levels on CMYK printers.  Other printers that use more or fewer inks will probably not parse the ink levels correctly from escputil.   I'm expecting that people with different printer models from my own Epson C88 will help to develop this functionality, either through testing cycles or adding the code. Update: The latest version, version 0.2.7 now has initial support for 6-color printers, but the support is untested at this time. If you have a Stylus Photo 6-color printer and would like to help test, please join the stylus-toolbox-devel list and download the latest version.

Why do I need this?  This functionality is built in to the KDE printing system.

That's great if you're using KDE.   Stylus Toolbox  is targetted at GNOME users or those using lightweight window managers like Fluxbox or XFCE.

You know there's this other project called stylus-control ...

Yeah.  I know. It sucks. ;-) No, seriously, it's no longer an escptuil front-end, instead choosing to integrate escputil's functionality within itself. This means that it doesn't work with some of the newer printers, whereas if it still was just an escputil front-end, it would automatically support all printers that Gutenprint supports. I also know all about mtink and the various libinklevel frontends. None of the libinklevel frontends support cleaning nozzles or printing nozzle checks. As for mtink/xwtools, it's Motif. Ick. Need I say more?

Stylus Toolbox crashes if it doesn't find a configuration file.

Download version 0.2.5a or later. This was a known issue in 0.2.5.   If you insist on using that version, Just do a 'touch ~/.stylus-toolbox.conf' before running.

Stylus Toolbox doesn't work with my printer.

Post a message on the stylus-toolbox-users mailing list.

I can't seem to get any ink status and nothing works.

Ok. Just make sure you have access to the raw printer device on the computer the printer is attached to. To figure out where your raw printer device is, open the Preferences window and open up the 'advanced settings' under the spinny triangle thing. You'll see it where it says 'raw device.' Now, get to a shell on the computer the printer is attached to and type 'chmod 666 /dev/usb/lp0' (or whatever). Alternatively, you can add yourself to the 'lp' group on most Linux systems.

I did what you said in the last question, and it was working, but now it's stopped working.

Well, if the obvious stuff like "the printer is on" and "the printer is online" all checks out, the next problem is that the printer might be busy. This could be because the printer is printing something (or about to) or because one of the ink cartridges is empty.

It won't get an ink status if one of the ink cartridges is empty? How stupid is that?

Well, that's true, but this isn't always the case. Sometimes it works, sometimes it doesn't. You'd have to ask Epson as to why their hair-brained printers don't work right sometimes.

The Align Heads function doesn't seem to work.

Did you try with escputil? Escputil 5.0.0 doesn't seem to work with the Stylus C88, and it may be true for other printers. If it works with escputil and not with Stylus Toolbox, post a message on the stylus-toolbox-users mailing list. And if it doesn't work in escputil, go bug the Gutenprint developers. Please. :-D

When I close the preferences dialog and try to re-open it, I get a blank window.

This was been fixed in version 0.2.7.

When I start the installer, all I get is an xterm; the setup assistant never seems to start.

There will be an error message in the xterm which should help you figure out the problem. Mostly, though, this is usually due to not having pexpect installed on the system. Pexpect is available in the APT repositories for all Debian-based distros and is available in the YUM repositories on Fedora. Check with your distro maintainer or download and install it yourself.

How do I use Stylus Toolbox for a printer installed on a remote Unix or Linux host?

Versions prior to 1.x:

Make sure that OpenSSH server is installed and running on the remote Linux host. Then generate the requisite ssh public and private keys, adding the private key to the remote hosts' ~/.ssh/authorized_keys file. (Read the OpenSSH documentation if you are unsure how to do this). You must also have escputil installed on the remote host.

Next, startup stylus-toolbox (currently you need escputil installed on the same machine to do this, this may be fixed in future releases :/). In the Preferences dialog, change the 'Location of escputil' to read:

ssh <hostname> /path/to/escputil

Make sure you change <hostname> and /path/to as appropriate.

Versions 1.x and later:

Version 1.0-rc0 now supports "Just Works" configuration of remote printers. You need the following setup:

Server Client

Most distros come with most or all of the above pre-installed.

When you select the printer in the Preferences window, Stylus Toolbox will automatically detect that this is a remote printer and it will inform you that it must SSH into the remote host. You can either a provide it a username and password, or you can check the 'Use key-based authentication' checkbox to use public key authentication as described above under 'Prior to version 1.x'.

Note that saving the password is very insecure. It will be obscured in .stylus-toolbox.conf, but the key to decrypt it is stored in the Python code, so, well, you do the math. Therefore, it is highly recommended that you either type in the password every time Stylus Toolbox connects, or you use public key authentication. See the OpenSSH documentation for setting up public key authentication in SSH.


Why Python?

Why not?  It works for other front-ends like Serpentine.

Eww.  What's up with the Hungarian?

One of the first programming books I ever bought when I started out writing GUI applications was Charles Petzold's Programming Windows. *shrug*  Old habits die hard. The Hungarian notation is being phased out anyway, since I've decided that it's not that useful after all.

How come all of the event-handling code for all of the GUI windows is all in one class?

Because that's how I wrote it. ;)  If you think it should be otherwise, state your case in rational, reasonable manner and maybe I'll change it. This is now out of date -- the backend code has since been separated into it's own module.

What license are you using?

GPL v2, v3 whatever Logo         Python Powered       Made with PyDEV

Entire website Copyright © 2006-2008 Rob A. Shinn. Licensed under the GNU Free Documentation License