Если CUPS не находит принтер в Linux: дело Бумаги, Flatpak и тупики протокола .local

Опубликовано TheJoe на

Приблизительное время чтения: 3 минут

Если ты следишь за мной какое-то время, вы знаете, что у меня слабость к эффективности в применении к повседневной жизни. 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 undoppio collo di bottigliache 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 unasandbox” (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 systemdirettamente 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.

  1. Recuperate l’indirizzo IP della vostra stampante (ad esempio dal display della stessa o facendo un ping del suo nome di rete). Mettiamo caso sia 192.168.1.50.
  2. Aprite il browser su http://localhost:631, andate nella scheda Printers e selezionate la vostra stampante HP.
  3. Nel menu a tendina Administration, cliccate su Modify Printer.
  4. Sotto la voce Other Network Printers, selezionate AppSocket/HP JetDirect e premete Continua.
  5. Nel campo Connection, inserite l’indirizzo IP diretto usando questa precisa sintassi: socket://192.168.1.50
  6. 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? Дайте мне знать в комментариях!


TheJoe

Я держу это в качестве хобби блог от 2009. Я графики энтузиастов, технология, Программное обеспечение с открытым исходным кодом. Среди моих статей не будет трудно найти о музыке, и некоторые личные размышления, но я предпочитаю, чтобы направить линию блога в основном технологии. Для получения дополнительной информации связаться со мной.

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

оставьте ответ

Заполнитель аватара

Ваш электронный адрес не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатывается комментарий данных.