Printing a file from local computer using printer connected to remote server

5,308

Solution 1

Basically, having lp (executed by ssh on the remote machine) read from STDIN which is provided outside the ssh-call like this should work:

cat file-to-print | ssh user@remotehost "lp -"

For more comfort, have a look at this guy's script that gives CUPS a sshlpr://-backend.

Solution 2

Depending on which printing system is running on the server, you may be able to run the same lp directly on your client machine and use SSH to forward its connection to the server.

For example, CUPS, which is the printing system of OSX and the most common on Linux nowadays, listens on port 631 (that's the standard IPP port). LPD, the traditional unix printing protocol, listens on port 515.

So if the printing system is CUPS, install a CUPS client on your local machine, and try

ssh -L 631:localhost:631 server.example.com sleep 999999999 &

Then run lpq or lpstat and see if you can reach the printers.

If you find a working configuration, put the SSH command above in a session startup script, or define a host alias with the appropriate LocalForward directive in ~/.ssh/config.

Share:
5,308

Related videos on Youtube

syntagma
Author by

syntagma

Updated on September 18, 2022

Comments

  • syntagma
    syntagma almost 2 years

    On the remote server, I use lp command to print documents. I can connect to this server through SSH.

    How can I print a file directly from my local computer using that printer?