In questo articolo andremo ad analizzare Zathura, un leggero visualizzatore di documenti PDF, PostScript, DjVu e fumetti.

Zathura in Ubuntu
Di default nelle principali distribuzioni Linux troviamo preinstallato un software dedicato alla visualizzazione di documenti PDF come ad esempio Okular, Evince ecc. Per distribuzioni “leggere” troviamo anche altri reader di PDF come ad esempio MuPDF oppure Zathura, software open source dalle caratteristiche davvero molto interessanti. Zathura è progetto che punta a fornire un leggero visualizzatore di PDF con un’esperienza utente in stile Vim con svariate scorciatoie da tastiera dedicate il tutto in un’interfaccia grafica semplice e minimale.

Tra le principali caratteristiche di Zathura troviamo il supporto per plugin di terze parti che ci consentono di visualizzare ad esempio PostScript, DjVu e fumetti in formato CBR. Zathura include il supporto per segnalibri, la possibilità di stampare un’intero documento o specifiche pagine, effettuare ricerche all’interno del documento, navigazione dell’indice e sincronizzazione SyncTex in avanti e indietro. Con Zathura potremo ad esempio cambiare la visualizzazione con il tasto “D”, possiamo trovare e avviare un documento con il tasto O, ruotare una pagina con il tasto R ecc.

Zathura è disponibile nei repository ufficiali di Debian, Ubuntu e derivate basta digitare da terminale:

sudo apt-get install zathura zathura-cb zathura-ps zathura-djvu

Per installare Zathura in Arch Linux basta digitare:

sudo pacman -S zathura 

Per installare Zathura in altre distribuzioni Linux basta consultare questa pagina.

Home Zathura

  • Box2Tux #LinuxITA

    Altro inutile reader di PDF… Stiamo sprofondando…

    • Rho

      sudo sed -i ‘s/=reader di PDF/=commento/g’ http://bit.ly/1AbqDUY
      ^_^

      • lolloruns

        ahahah! sei un pazzo!
        (penso che l’abbiano capita in pochi)

      • ZaccariaF

        È vero,non esistono più i linuxiani di una volta.

    • EnricoD

      sono d’accordo, arriveremo ad un certo punto che ci saranno 20 applicazioni per ogni cosa e nessuno di questi fatto come si deve.. ma attento a quello che dici che ci sarà qualcuno che ti risponderà che la libertà è anche questo e che non è un male, anzi.. è il bello del mondo Gnu/Linux, tutti fanno quello che gli pare seppur inutile
      sfornare derivate di derivate di derivate fatte cambiando due cose, 3000 browser basati su ff, 2999 su chromium, 50 lettori pdf minimali scrausi, 50.000 emulatori terminale…. cosi uno c’ha scelta, capito? peccato che poi bisogna scegliere tra mille c*****
      peccato, peccato, risorse sprecate per niente

      • JackPulde

        Quoto!

        Però posso “tirare” un’ipotesi?
        Non è che tanti si buttano a ricreare un software da zero perchè è difficile reperire il codice sorgente :/?

        Può essere una cavolata, ma magari uno non sa da dove iniziare per cercarlo…

        Se viene creato un programma dove raggruppa tutti i codici sorgenti e quindi da li riprenderli e aggiungere del codice?

        • Matteo

          E’ una battuta, vero?
          No, dimmi che è una battuta….

          • JackPulde

            Avrò scritto sicuramente male… Tanto che è passata per una battuta haha.

            Comunque perchè dici? Almeno argomenta D:

          • Kim Allamandola

            #define ONLY_FOR_LONGRUNNING_UNIXMEN
            Hai scritto male, la correzzione è: “tanti ricreano da zero perché il codice dei ‘cloni’ preesistenti è poco digeribile e gli sviluppatori degli stessi sono poco inclini ad accogliere nuove idee”. In questa forma sono parzialmente d’accordo e la causa è un discorso di livello molto più alto che porto avanti da anni e che a tanti non piace: il successo di UNIX è stato il successo del C, ovvero un linguaggio, AI TEMPI, semplice, d’alto livello, con una libreria standard ricca e funzionante e con performance e “pesi” adatti anche a scrivere un OS. Oggi non è più così, oggi di equivalente al C – la parte riguardante le performance c’è il Python, con la parte riguardante le performance ma con “problemi di semplicità” c’è il Go.

            Quello di cui abbiam bisogno oggi è di riconoscere che s’è concluso un ciclo tecnologico i cui principi base sono sempre validi ma non più implementati né implementabili al netto delle tecnologie/soluzioni classiche per cui bisogna prepararsi ad un gran salto evolutivo riscrivendo gli OS attuali come fu fatto ai tempi dei primi unix. Questo richiede almeno un lustro, risorse sopratutto intellettive, enormi (e queste son sempre più scarse) ma non è un’idea è un problema che si può posticipare per un po’ ma prima o poi andrà affrontato.

            Ad oggi tutte le risposte sono state cercare di negare il problema aggirandolo con soluzioni iper-complesse che stan su con lo scotch.

          • ZaccariaF

            Ad oggi tutte le risposte sono state cercare di negare il problema
            aggirandolo con soluzioni iper-complesse che stan su con lo scotch.

            Ma sai bisogna produrre, essere veloci,fare soldi,farsi vedere mica si può perdere tempo, con cose come il rendere un codice efficente o usare ciò che già c’è.

          • Kim Allamandola

            Si, poi i costi e i problemi per tenere in piedi certe torri di babele si tengono fuori dal computo…

          • Non ha senso

            Parli in modo strano. Declini il C e abbracci la sponda opposta, senza tenere conto che il primo ti fa ancora da pilastro senza il quale molti altri linguaggi non potrebbero esistere. Ma scusa il Python per vivere non necessita di librerie scritte ed estese proprio in C/C++ ??? Ed il Go on il suo GC (copiato da altri ovvio) pensi che sia escluso? Lasciamo perdere.

          • Kim Allamandola

            E con ciò?

            Il concetto di *evoluzione* non vuol dire buttar via tutto quel che c’è e ricominciare da capo eh! Evolvere vuol dire talvolta migliorare l’esistente così com’è, talvolta riscrivere da capo *facendo tesoro dell’esperienza passata*, ecc ecc ecc.

            Il C *ai tempi* aveva certe caratteristiche, ad oggi è col C++ l’unico linguaggio d’un livello tale da poter essere impiegato per certi progetti ma è totalmente inadatto il per il 99% di tutti gli altri, col C si scriveranno nuove soluzioni che quando saran pronte andran con le proprie gambe. Per dirne una il compilatore Go è partito in C, adesso lo stan riscrivendo pian piano in Go, tra qualche anno sarà in grado di compilare se stesso e non ci sarà più bisogno del C.

            Mi rendo conto che in una società reazionaria il concetto di evoluzione suoni “strano” ma a ben pensarci non è così complesso!

          • Non ha senso

            E con ciò tutto! Che il compilatore sia partito in C ci credo bene, naturale. Altrimenti come facevano a darsi uno start? E comunque non c’entra con quello che dicevo. Come non c’entra il concetto di evoluzione associato ad un linguaggio (Go) nato per se stesso fin dall’inizio. Mi basta sapere che non supporta l’intercettazione di eccezioni in modo diretto, l’eredità dei tipi, la programmazione generica, le asserzioni e l’overloading dei metodi, per capire che è solo un linguaggio per giocare che nulla ha da confrontarsi con la vera evoluzione. Ma scherziamo?

          • Kim Allamandola

            Certo, ntp.org, CloudFlare, bitly, un bel po’ di servizi di Google sono fatti per giocare… Il C stesso è fatto per giocare giacché al massimo hai le struct… Ah, certo anche i creatori di Go sono studenti perditempo, alcuni di loro qualche anno fa han scritto i primi UNIX poi si son stufati e son passati ad altri giochi.

            Se per te l’OO classica è l’unica cosa seria non possiamo discutere di programmazione.

          • ZaccariaF

            anche i creatori di Go qualche anno fa han scritto i primi UNIX

            IMHO; son rimasti a quel “qualche” anno fa.Nell’ era della programmazione ad aspetti,se non scrivi codice per MCU, un linguaggio come il Go non serve ad una fava.

          • Kim Allamandola

            Molto opinabile, quanto codice di chessò Linux (kernel, non ometto GNU altrimenti) trovi a tema microcontrollori?

            Seconda cosa il paradigma OO che secondo alcuni i questo blog (ma non solo) sarebbe l’unico moderno oltre a essere accademicamente parlando sostanzialmente schifato in favore di un (altrettanto dubbio) ritorno al funzionale dove si trova chessò sempre in Linux (che, ricordo è scritto in C, asm e poco altro, non in C++) tanto per dire.

            Go non è solo un nuovo linguaggio compilato (come potrebbe essere il D) ma anche un nuovo paradigma di sviluppo che richiama, al pari del C ai tempo d’oro, altri paradigmi talvolta di nicchia talvolta non compresi dalle masse.

          • ZaccariaF

            Il problema persiste, la prog. concorrente genera terribili side effects indefinibili in compilazione che portano a un programma inefficente, anche se ben ottimizzato e parallelizzato.
            Belandi, se manco gestisci asserzioni e eccezzioni, dove vuoi andare mica son tutti geni come Raymond e Pike!
            Parlavo dei miei cari MCU perché lì in penuria di memoria si cerca di usare più concorrente possibile, ma alla fine son sempre dolori.
            Il Go,temo farà la fine dei microkernel,di Inferno e altre cose fighe sullo schermo(più che carta) ma molto meno nella sostanza.
            La OO domina perché dà molti meno grattacapi e usa il più possibile dati al posto di codice, è ordinata,ed facile appioparci un GC perché le istanze arrivano sempre a chiusura(prima o poi);è un paradigma per ingozzarsi di dati cosa o scriver interfacce(ce son principalmente menu che sono dati mischiati a poco codice), che in questi anni è stato molto utile, con la complicità di una memoria sempre più economica
            ,quasi tutti siamo stati cresciuti così, non c’è da meravigliarsi se poi non san nulla di ottimizzazione.
            La funzionale È il paradigma di prog. usa un linguaggio universale(la matematica) e tiene lontani i bug grazie alla univocità dei suoi predicati(per questo adoro il Python e il Perl che ne ànno una buona implementazione).
            Linux è molto procedurale perché rimane vincolato all’ ANSI C che non consente di allontanarsi molto e alla sua portabilità;i kernel sono un discorso spinoso, perché non solo son codice da eseguire, ma gestiscono l’ HW che li gestisce,XD devono essere pensati come li penserebbe una macchina, altrimenti si finisce male;il parallelismo verte sul fatto che anche un microcont. lo programmi così,il Go sarebbe belllo se ne facessero un port per i Pic, ma nell’ informatica di alto livello, dove serve maggiormente ordinare e immagazzinare al posto di eseguire velocemente, non ha futuro.

          • Kim Allamandola

            Prendi un ottimo esempio “isttuzionalizzato” di invito all’OOP: Java. Hai presente quelle “belle” paginate e paginate di exceptions che escono fuori ogni spesso dalla sostanziale totalità dei sw java? Queli bei n-mila files che per capirci qualcosa ti serve un manifest e javac? Bé questo è l’Esempio per cui l’OOP ha un suo perché ma da prendere con grano salis, Go è OO a modo suo, con appunto quel grano salis. Certo, purtroppo si porta dietro dei retaggi cari a Pike dei tempi di Multics (ora Plan9) e degli Unix Haters che avevano ragione in teoria ma torto in pratica ma nel complesso ha corretto di molto il tiro dei tempi. Secondo me se solo avessero scelto una sintassi più vicina al Python oggi Go sarebbe il più usato di tutti i linguaggi.

            Ad ogni modo il suo campo è proprio l’informatica di alto livello ed è proprio in questa che ha successo, a partire da piccoli calibri come Google. Go serve proprio dove per la dimensione (enorme) dei progetti C++ diverrebbe indebuggabile. Non credo invece che lo vedrai sui pic: anche se oggi in “informatica” si tende a dimenticare il mondo fisico Go ha comunque altri obiettivi…

          • Sandro

            Nel mio piccolo ti posso dire che un linguaggio come dici te, simile al go ma meno osceno e multi-paradigma e più vicino al Python in realtà esiste ed è sotto licenza Apache. Si chiama F#. Informarsi per credere. Ovvio che non è il C++, come non lo è neanche il go. Poco ci piove.

          • Kim Allamandola

            F# non è pensabile per un reale uso di sistema è il suo paradigma concorrente per quanto efficiente è complesso e per la maggior parte dei casi più scomodo del CSP…

            Per il C++ dico solo meno male! Per me è un aborto che non doveva manco nascere anche se più che dar la colpa o il merito a qualche linguaggio sarebbe bene darla a chi forma i “programmatori” dalla base…

          • Sandro

            Concordo in pieno: purtroppo è andata così e ce lo hanno fatto bere il C++ nonostante fosse indigesto. Però neanche il go è pensabile (per il momento) ad un uso associato nella costruzione dei mattoni di un kernel. Mancano ancora troppi step.

          • ZaccariaF

            Go serve proprio dove per la dimensione (enorme) dei progetti C++ diverrebbe indebuggabile

            Secondo me moltissimi progetti C++ diventano indebuggabili perché troppi “pollici opponibili” non capiscono che C != C++ e lo usano come un C con classi xD.
            Prima C++ diventa AspectC++, davvero, e non source-to-source,quindi integrando pesanti elementi di programmazione funzionale,meglio è.

            Java?JAVA!!!? Ti piace vincere facile eh? Ma lo sai che l’altro giorno ha vinto il premio WOOIE? Worst Object Oriented Implementation Ever!

          • Non ha senso

            Scusami ti leggo solo adesso.
            Beh punto 1) Il classicismo non mi piace e non sono un sostenitore del C, sia chiaro.
            2) Se Go è così efficiente, spiegami come mai Blink il motore di Chrome è ancora tutto prevalentemente in C++? Come mai hanno esitato ad usarlo visto che è di casa loro no? Non hanno incluso neanche una mezza riga di codice. Possibile? Gli scopi e l’utenza sono ben altri, ecco la risposta. Buono sì, ma non per tutto. In più con un GC che ti mette un buon prosciutto di Parma sugli occhi, dove vai?

            Se vogliamo parlare di quello che può magari essere una vera evoluzione allora io opterei per il “Rust” di Mozilla (in fase embrionale).

            Dai domani è Natale, sii sincero con te stesso tanto la verità la conosci. Buon Natale 😉

          • Kim Allamandola

            Perché Blink non è nato dal foglio bianco, è solo WebKit che a sua volta è KHTML di Konqueror/Kde3 e questo è nato in C++. Go ad oggi stà iniziando a riscrivere in Go se stesso, o meglio quelle parti che ancora non sono in Go e sono un bel po’, Google per ora va di corsa, lo adotta per i nuovi progetti dal foglio bianco ma non riscrive ancora nulla, specie di gigante, idem più o meno tutti gli altri utenti Go, solo pochi in tempi recenti han riscritto pezzi della loro infrastruttura IT in Go. È un concetto che oggi non va di moda ma ci sono cose ottime che necessitano di parecchi anni per essere mature!

            Ps buone feste in mezzo ritardo 🙂

    • Kim Allamandola

      Perché? Credi che forse gli sviluppatori di questo ennesimo viewer se non si fossero dedicati a lui avrebbero dato sostanziali contributi altrove?

      IMO no. C’è gente a cui piace scrivere codice così, dov’è il problema? Chi sviluppa tutte queste app-semi-giocattolo non ha nella quasi totalità dei casi competenze per far null’altro di più importante, non sono risorse sottratte a nulla, è solo segno che ci sono ancora tanti “programmatori” hobbisti alla ricerca di un ambiente a loro amichevole e questo IMO è un gran bene perché il singolo hobbista non farà nulla di significativo ma nell’insieme contribuisce ad avvicinare il clicchettatore folle a concetti meno insostenibili a vantaggio di tutta la community.

      • ZaccariaF

        è solo segno che ci sono ancora tanti “programmatori” hobbisti alla
        ricerca di un ambiente a loro amichevole e questo IMO è un gran bene
        perché il singolo hobbista non farà nulla di significativo ma
        nell’insieme contribuisce ad avvicinare il clicchettatore folle a
        concetti meno insostenibili a vantaggio di tutta la community.

        Guarda, ci sono milioni di righe di commenti e doc da tradurre,funzioni e classi da aggiornare a versioni dei linguaggi più recenti e codice da ripulire dei rami secchi.
        Ma la sindrome del Vero Programmatore™
        è oramai pandemica.
        #ifdef U_R_NOT_A_LUSER
        Inutile fare il fork selvaggio, se una community non ti accetta il primo pezzetto di codicillo che gli invii, dimostri solo che han fatto bene a respingerlo.
        #endif

        • Kim Allamandola

          Sinceramente il fork selvaggio non lo vedo, vedo tanti progettini-giocattolo che sgomitano ma sono diciamo come bambini piccoli che vogliono imparare non come adulti che si azzuffano…

          Di progetti “validi” ce ne sono ben pochi e questi stan continuando per la loro strada, quel che mi preoccupa semmai è che di progetti core ce ne sono veramente pochi e tutti abbastanza verso il viale del tramonto come design. Non solo per GNU/Linux, per *tutti* gli OS!

          • ZaccariaF

            Di progetti “validi” ce ne sono ben pochi e questi stan continuando per
            la loro strada, quel che mi preoccupa semmai è che di progetti core ce
            ne sono veramente pochi e tutti abbastanza verso il viale del tramonto
            come design. Non solo per GNU/Linux, per *tutti* gli OS!

            Vedi che succede a chiudere i laboratori di ricerca? Perché bisogna far spazio alla “innovazione” e “dinamicità” con una spruzzata di fresch(schif)ezza privata?
            Il cui loro motto è… Finche non si accorgono che fa male o e marcio o obsoleto, tu continua a venderlo?!

          • Kim Allamandola

            Si, il fatto è che quando dai il bianco su una macchina d’umido subito ti sembra che tutto vada ma poi riparare la perdita e i danni che ha causato è assai più lungo, costoso e doloroso…

            Quel che mi gira è che certi LART non sono legali, per lo meno se applicati su appropriate parti del corpo di soggetti impiantati nelle classi dirigenti economiche e politiche…

          • ZaccariaF

            certi LART

            Ouch! XDDD

          • Kim Allamandola

            In verità proporrei solo oggetti già in largo commercio, solo modificati per adattarli allo scopo, diciamo aggiungendo sostanze vischiose, peperoncino tritato, vetro frantumato, filo spinato ecc………..

            Vabbé scusino i benpensanti per l’OT 🙂

  • Siro

    Avendolo usato… posso dire che é una buona idea in generale, ma ti fa passare la voglia di leggere pdf! 😀

    Okular non si batte! L’ho installato pur usando Awesome e cercando di avere un parco software minimale al massimo.

  • mah.. gira e rigira i migliori sono sempre okular e evince.
    epdfview sarebbe ottimo se avesse un’anteprima delle pagine come evince ma purtroppo ha solo l’indice e secondo me è scomodo… inoltre con epdfview ho un problema.. che quando seleziono del testo questo viene evidenziato di grigio ma non trasparente quindi non leggo sotto

  • hmmmm mi sento ridotto a pdf…

  • Marco

    Credo di essere l’unico qui che con questo lettore si trova benissimo, è felicemente il mio lettore pdf di default da mesi ormai..

  • behemoth

    Ho un vecchio ibook del 2003 con appena 256 MB di memoria che non ho alcuna intenzione di mandare in pensione, zathura è semplicemente perfetto per leggere documentazione senza appesantire eccessivamente il sistema.

No more articles