Если CUPS не находит принтер в Linux: дело Бумаги, Flatpak и тупики протокола .local
Если ты следишь за мной какое-то время, вы знаете, что у меня слабость к эффективности в применении к повседневной жизни. Qualche tempo fa vi avevo già parlato di Boomaga, это удивительное программное обеспечение с открытым исходным кодом, которое служит “виртуальный принтер” и позволяет делать впечатляющие вещи, come unire più documenti in un unico flusso, riordinare le pagine e, прежде всего, gestire il fronte/retro (duplex) in modo intelligente anche quando i software nativi fanno i capricci.
Di recente ho deciso di rimetterlo alla prova sulla mia fidata Solus Linux, installandolo questa volta tramite Флэтпак. Tutto sembrava perfetto: lancio un paio di stampe per accorparle, Boomaga si apre regolarmente, mi mostra le anteprime in modo impeccabile, seleziono la mia stampante di rete (una HP Smart Tank 7000) e imposto il sistema duplex. Clicco su “печать” е… il nulla. Silenzio assoluto.
Andando a sbirciare nel pannello di controllo di CUPS (il server di stampa di Linux), mi sono trovato davanti a un vicolo cieco tanto frustrante quanto comune: “Non è possibile localizzare la stampante”.
Cosa era successo? E come si risolve? Vi spiego tutto.
L’origine del problema: Sandbox e Fantasmi di Rete
Quando ci si imbatte in questo errore, la colpa è quasi sempre di un “doppio collo di bottiglia” che coinvolge la sicurezza dei Flatpak e il modo in cui Linux gestisce le stampanti di rete.
1. L’isolamento del Flatpak
I pacchetti Flatpak sono fantastici perché vengono eseguiti dentro una “sandbox” (un ambiente isolato dal resto del sistema). Il rovescio della medaglia è che, se non istruiti a dovere, non possono comunicare con l’esterno. В моем случае, Boomaga non aveva i permessi per accedere alla rete locale né per parlare direttamente con il server di stampa CUPS del sistema ospite.
Se vi trovate spesso a combattere con i permessi delle applicazioni isolate, vi ricordo che in passato ho scritto una guida dettagliata su come gestire i permessi Flatpak graficamente con Flatseal (un tool salvavita per questi scenari).
2. Il tranello del protocollo dnssd://
Andando a controllare la configurazione della stampante su CUPS (по адресу http://localhost:631), ho notato che la connessione predefinita era registrata con una stringa di questo tipo: dnssd://HP%20Smart%20Tank%207000...local/
Questo significa che il sistema prova a cercare la stampante usando il protocollo mDNS/Bonjour (gli indirizzi che finiscono in .local). Se la distribuzione Linux non ha il demone di risoluzione dei nomi attivo (o se il Flatpak lo blocca), la stampante diventa improvvisamente un fantasma. Diventa invisibile persino alle applicazioni native come Evince!
La Soluzione: Abbattere le barriere e andare al sodo
Per risolvere definitivamente e far ripartire la stampa fronte/retro su Boomaga, i passaggi da seguire sono due.
Passo 1: Aprire le gabbie del Flatpak
Dobbiamo dire esplicitamente a Flatpak che Boomaga ha il permesso di usare la rete e il sistema di stampa. Possiamo farlo comodamente da terminale con un unico comando di override:
flatpak override --user --socket=cups --share=network io.github.Boomaga
примечание: se usate Flatseal, potete attivare le voci “сеть” е “CUPS print system” direttamente dalla sua interfaccia grafica.
Passo 2: Addomesticare CUPS con l’AppSocket (IP Diretto)
Per eliminare alla radice l’incertezza degli indirizzi .local, la strategia migliore è assegnare alla stampante un IP statico e riconfigurarla in CUPS tramite il protocollo AppSocket / HP JetDirect.
- Recuperate l’indirizzo IP della vostra stampante (ad esempio dal display della stessa o facendo un
pingdel suo nome di rete). Mettiamo caso sia192.168.1.50. - Aprite il browser su
http://localhost:631, andate nella scheda Printers e selezionate la vostra stampante HP. - Nel menu a tendina Administration, cliccate su Modify Printer.
- Sotto la voce Other Network Printers, selezionate AppSocket/HP JetDirect e premete Continua.
- Nel campo Connection, inserite l’indirizzo IP diretto usando questa precisa sintassi:
socket://192.168.1.50 - Proseguite confermando i driver già presenti e salvate le modifiche.
Il verdetto
Bypassando i balletti di rete del protocollo dnssd e dando a Flatpak le chiavi di accesso a CUPS, l’ingranaggio è tornato a girare. Ora posso mandare qualsiasi documento a Boomaga, gestirmi l’anteprima, decidere il layout e lanciare la stampa: la HP ST7000 riceve il segnale in un millisecondo, stampando in un perfetto fronte/retro senza più perdersi nella rete.
E voi avete mai avuto problemi simili con le stampanti su Linux e i pacchetti Flatpak? Дайте мне знать в комментариях!


0 Комментарии