如何通过 SSH 从远程打印到本地 LAN 打印机?

cas*_*xer 6 ssh printing ssh-tunneling

好的,所以在我的本地 X 屏幕上从远程服务器运行应用程序是相当直接的,就好像它们是本地应用程序一样。问题是,在尝试打印时,远程应用程序只能看到远程端的打印机。

是否可以(当然可以)将本地 CUPS 服务器端口转发到远程会话?如果是这样,如何?我曾尝试使用 -L 选项和打印机 (515) 服务,但无济于事。

cas*_*xer 3

似乎端口 515 用于Unix 打印的早期lpd实现。CUPS 使用端口 631 进行 IPP 打印。如果没有 root 权限,则无法使用端口 631。而是使用 > 1024 的端口,然后将 CUPS 指向该端口以在本地打印机上进行打印。适用于 CUPS 的 ssh 示例咒语(假设您没有 root 权限):

ssh -R 6311:localhost:631 remotehost
Run Code Online (Sandbox Code Playgroud)

要测试是否成功,假设本地主机上的管理员设置了默认打印机队列,请在远程主机上发出以下命令:

lpq -h localhost:6311
Run Code Online (Sandbox Code Playgroud)

可以使用以下命令在命令行上提交作业:

lpr -H localhost:6311 files-to-print
Run Code Online (Sandbox Code Playgroud)