Valve anuncia o lançamento de Counter Strike 2

Como imprimir no iPhone e iPad através do Linux Ubuntu

Imprimir no iPhone e iPadFaz poucos dias troquei o Windows pelo Linux Ubuntu no meu computador de trabalho. Como tenho um iPad sem conexão 3G (apenas Wi-Fi) tive que configurá-lo para que ele pudesse acessar a internet através do computador. Depois de um pouco de pesquisa na internet descobrir como compartilhar a conexão 3G no Linux e postei um tutorial à respeito aqui mesmo no blog. O próximo passo foi habilitar a impressão no iPad e no iPhone, o que também não foi tarefa das mais difíceis.

Confira a seguir um pequeno tutorial de como habilitar a impressão dos gadgets da Apple através de uma impressora comum, sem AirPrint.

Verificando os pré-requisitos e fazendo as modificações necessárias

Antes de qualquer coisa, para habilitar a impressão no iPhone e no iPad é preciso que o computador que vai compartilhar a impressão esteja configurado corretamente. Não vou entrar em detalhes sobre isso. No meu caso utilizo uma multifuncional HP Deskjet FS4200, que foi reconhecida automaticamente pelo Ubuntu.

Para que a sua impressora seja enxergada pelo iPhone e pelo iPad, verifique se ela está compartilhada e, portanto, visível para a sua rede. O CUPS também deve estar instalado e configurado corretamente (no Ubuntu ele é padrão).

Por padrão outra máquinas não conseguirão enxergar a impressora. Para testar isso, abra o navegador Web de outro computador conectado à rede e digite na barra de endereços o seguinte: "http://192.168.0.1:631/printers/". Lembrando que o IP antes do número 631 (a porta do CUPS) pode variar de acordo com o computador na rede que será responsável pelas impressões.

Se depois de digitar o endereço acima aparecer uma página com as impressoras disponíveis na rede, tudo está certo (conforme a figura abaixo). Agora, faça o mesmo no iPhone ou no iPad. Digite o mesmo endereço acima no navegador do aparelho e veja se a impressora aparece.

Impressão Linux CUPS

Em caso positivo, você tem os requisitos para começar a imprimir. Agora, teste a impressão. Ainda no iPhone e no iPad, clique sobre o nome da sua impressora. No lado esquerdo sobre o nome dela, há uma caixa de listagem. Clique nela e procure por "Print Test Page". Se imprimir corretamente, você está pronto para seguir para o próximo passo.

Do contrário, será necessário fazer algumas modificações no sistema. Mais especificamente no arquivo de configuração do CUPS. Faça o seguinte abra o arquivo "/etc/cups/cupsd.conf" no seu editor de textos preferido em modo administrador (root). Eu uso o gedit. Isso pode ser feito abrindo-se uma terminal (ALT+F2) e digitando-se o seguinte e depois pressionando "enter":  "sudo gedit /etc/cups/cupsd.conf". Altere (por sua própria conta e risco) as seguintes partes do arquivo conforme abaixo e salve.

# Only listen for connections from the local machine.
#Listen localhost:631
#Listen /var/run/cups/cups.sock
Port 631
ServerAlias *
 e
# Restrict access to the server...
<Location />
Order allow,deny
Allow @LOCAL
</Location>

Esses dois trechos do arquivo servem para fazer outros computadores (incluindo o iPhone e o iPad) enxergarem a impressora. Mas, para que se possa imprimir de qualquer programa no iPad, ainda é preciso fazer mais um coisa: instalar o "avahi" que seria a grosso modo, o equivalente ao AirPrint no Windows.

Instalando o avahi

Agora, para fazer tudo funcionar corretamente e fazer com que os aplicativos no iPhone e no iPad consigam enxergar a impressora, vamos instalar o avahi no Linux. A maneira mais fácil de fazer isso é através da "Central de Programas do Ubuntu". Procure por "avahi" na caixa de busca. Depois de localizado o programa é só clicar em instalar e esperar o Linux baixá-lo.

Depois de ter o "avahi" instalado será preciso criar um serviço de impressão no Linux. Não há uma maneira fácil de fazer isso é digitando o seguinte comando:  "sudo gedit /etc/avahi/services/printer.service". Isso deve fazer abrir uma janela em branco. Dentro dela cole o seguinte código:
<xml version="1.0" standalone='no'?><!--*-nxml-*--><!DOCTYPE service-group SYSTEM "avahi-service.dtd"> <service-group>
<name>HP Deskjet F4200 series</name>
 <service>
<type>_ipp._tcp</type>
<subtype>_universal._sub._ipp._tcp</subtype>
<port>631</port>
<txt-record>txtver=1</txt-record>
<txt-record>qtotal=1</txt-record>
<txt-record>rp=printers/Deskjet-F4200-Series</txt-record>
<txt-record>ty=HP Deskjet F4200 serie</txt-record> <txt-record>adminurl=http://192.168.0.1:631/printers/Deskjet-F4200-Series</txt-record>
<txt-record>note=HP Deskjet F4200 series</txt-record>
<txt-record>priority=0</txt-record>
<txt-record>product=virtual Printer</txt-record>
<txt-record>printer-state=3</txt-record>
<txt-record>printer-type=0x801046</txt-record>
<txt-record>Transparent=T</txt-record>
<txt-record>Binary=T</txt-record>
<txt-record>Fax=F</txt-record>
<txt-record>Color=T</txt-record>
<txt-record>Duplex=T</txt-record>
<txt-record>Staple=F</txt-record>
<txt-record>Copies=T</txt-record>
<txt-record>Collate=F</txt-record>
<txt-record>Punch=F</txt-record>
<txt-record>Bind=F</txt-record>
<txt-record>Sort=F</txt-record>
<txt-record>Scan=F</txt-record> <txt-record>pdl=application/octet-stream,application/pdf,application/postscript,image/jpeg,image/png,image/urf</txt-record><txt-record>URF=W8,SRGB24,CP1,RS600</txt-record></service> </service-group>
Não esqueça de salvar o arquivo. Mas antes o mais importante é alterar os dados conforme o modelo da sua impressora. Essas informações podem ser obtidas no CUPS, ou indo diretamente nas configurações da impressora. as informações mais importantes no código acima são os campos "rp" e "adminurl" que devem apontar exatamente para o caminho da impressora. Se tudo for feito corretamente, a impressora vai aparecer no seu dispositivo.

Para imprimir, basta abri o aplicativo desejado como o Safari e clicar no botão ao lado da barra de endereços e clicar em "Imprimir". Se a impressora não aparecer, toque em "Selecionar impressora". Espere o iPhone ou iPad encontrá-la e a selecione. Pronto, agora é só clicar novamente em "Imprimir".

Espero que esse artigo seja útil para os usuários do Linux. Porém é bom avisar que ele pode não funcionar em todas as distribuições e nem com todas as impressoras. Também é preciso lembrar que o procedimento pode não funcionar em qualquer versão do iOS embora eu tenha testado no iOS 5.1 conforme pode ser visto na imagem abaixo.