Imprimir em uma impressora local a partir da sessão remota SSH

2

Eu tenho o seguinte problema. Meus arquivos de trabalho normais estão em uma máquina remota para a qual eu posso usar o SSH. Eu quero ser capaz de imprimir a partir de uma máquina remota em uma impressora local sem ter que imprimir em um arquivo e, em seguida, o arquivo scp para a máquina local.

O que eu preciso é de um script ou de um programa que possa ser chamado na máquina remota que aceita um arquivo como um argumento (ou lê entrada de stdin, não importa), e de alguma forma executa lpr na máquina local. / p>

Restrições: 1) A máquina local não executa o servidor SSH. Assim, eu não posso ter um script que scp é o arquivo de volta para a máquina local, e executa remotamente lpr.

2) Não há servidor de e-mail na máquina local, portanto não posso enviar o arquivo por e-mail e filtrá-lo localmente.

Ambas as máquinas executam o Linux com uma variedade normal de programas, e eu posso executar meus próprios scripts e compilar programas. Alguma idéia?

    
por Boris Bukh 31.08.2010 / 19:20

3 respostas

0

Eu encontrei o programa que eu precisava: bcvi utiliza encaminhamento de porta reversa para permitir a execução de vários comandos no computador local. Não é bem documentado e, em particular, faz uma suposição severa sobre a instalação e, no meu caso, as alterações padrão feitas no arquivo de inicialização do shell conflitaram com o tratamento da variável TERM em outro lugar, mas o código-fonte é autoexplicativo e fácil para modificar.

    
por 31.08.2010 / 22:08
1

Assumindo que seu servidor linux local rode um servidor de impressão, você pode usar o encaminhamento de porta ssh para fazê-lo funcionar ...

  1. Na sua máquina local, você precisa de um servidor de impressão configurado para aceitar solicitações de impressão remota usando o protocolo lpr.
  2. Quando você se conecta ao servidor remoto, adicione isso à sua linha de comando ssh: -R 515:localhost:515
    Isso fará com que o ssh escute a porta TCP 515 no servidor remoto e encaminhe todas as conexões para a máquina local através do túnel ssh. Uma vez lá, as conexões serão encaminhadas para a porta 515 do host local, que é o seu servidor de impressão.
  3. Configure uma fila de impressão na máquina remota que aponta para o host local: 515.

Se o servidor remoto já estiver executando um servidor de impressão, acredito que seja possível alterar as portas para evitar um conflito.

    
por 31.08.2010 / 19:28
0

Imprimindo via códigos de controle VT100, você pode empurrar PostScript ou outros arquivos binários através destes comandos de volta para sua impressora local, o seu cliente pode variar.

Some terminals support local printing:
Print Screen        <ESC>[i
Print the current screen.
Print Line      <ESC>[1i
Print the current line.
Stop Print Log      <ESC>[4i
Disable log.
Start Print Log     <ESC>[5i
Start log; all received text is echoed to a printer.

link

    
por 29.10.2010 / 00:32

Tags