Por que recebo um erro “Não há impressora padrão” ao usar “ssh lpr”, mas não quando eu ssh in?

1

Eu tenho um servidor remoto (linux) que eu ssh para do meu PC (também linux) para imprimir minhas coisas.

Tudo funciona se eu fizer:

    ssh ${remote_server}
    (now in remote server)
    lpr readme.txt

Ou:

    ssh ${remote_server} lpr readme.txt -P$PRINTER
    (this works too)

Mas se eu fizer isso:

    ssh ${remote_server} lpr readme.txt 
    (I get a "there-is-no-default-printer" error.)

Eu defini a variável de ambiente $ PRINTER para que "ssh echo $ PRINTER" me forneça o nome correto da impressora.

    
por alexloh 23.06.2011 / 21:28

2 respostas

3

Observe que a execução:

ssh <host> echo $PRINTER

... não informa nada sobre o ambiente remoto, porque $PRINTER será expandido pelo seu shell local. Por outro lado:

ssh <host> 'echo $PRINTER'

... lhe dirá algo útil (observe as aspas simples).

Suspeito que o que está acontecendo é que você está definindo a variável de ambiente PRINTER em um arquivo que só é originado para logins interativos. Você está usando bash ? Ou alguma outra coisa? Onde você está configurando PRINTER ?

    
por 23.06.2011 / 21:35
0

Pode ser que $PRINTER esteja definido em /etc/profile ou ~/.profile , que é ignorado para sessões não interativas.

Seu teste - ssh echo $PRINTER - é inválido, pois a variável é expandida localmente e o que é executado é ssh echo printername .

    
por 23.06.2011 / 21:36