Am 20.02.2013 11:06, schrieb Oleksandr Shneyder:
I would prefer the solution suggested by Morty. Actually, I already thought about it and i want include it in new implementation of x2goclient. X2goclient will simply check a spool directory on server and download a print jobs in PDF format via existing libssh connection.
Again, this sounds like unneccessary overhead. You're turning a stream of data into a file, you need to have some sort of monitoring system (either polling regularly or triggered by the change to the filesystem) and what for - to turn the file into the stream of data that it originally was. With all this happening on the server.
This solution is much simpler, no need a cups, lpr, or ssh daemon running on a client and implementation is just the same for all operating systems.
Well, you need the server-side cups or you wouldn't be able to print, with either solution. And my previous post contained a solution where you would only turn the data stream into a file after it arrives on the client, not on the server as well. This would work without *additional* cups, lpr or ssh on the client - it uses whatever the client (Linux, Mac OS and Windows) normally uses for printing and only needs an open tunneled port in the existing SSH connection.
Though, to be honest, I would simply connect to the existing CUPS via tunnel if the client uses Linux or Mac OS. No need to add complexity there.
-Stefan