Ubuntu 20.04 disponibile al download! 🎉

La mia scrivania

Ubuntu 20.04 Focal Fossa è stato appena rilasciato! Questa è l’ultima versione LTS del famoso sistema operativo open source con supporto fino al 2025.

Bando alle ciance, se non vuoi perdere tempo procedi subito con il download dell’ultima versione tramite il link sottostante:

Novità

Sebbene il rilascio ufficiale sia oggi io è già da un mesetto che lo utilizzo quotidianamente sul mio PC del lavoro senza alcun problema. Per cui di seguito ti mostro le novità dell’ultima fatica di Canonical con qualche commento personale sul mio utilizzo.

NOTA: i miei commenti fanno riferimento al passaggio dalla versione 18.04 alla 20.04. Se hai aggiornato di volta in volta alla 18.10, 19.04 e 19.10 probabilmente avrai già notato alcuni dei cambiamenti che ho riportato.

Iniziamo a parlare dei miglioramenti sotto il cofano. L’ultima versione di Ubuntu utilizza il Kernel 5.4 che, oltre ai soliti miglioramenti alle performance e a migliorare il supporto all’hardware più recente, introduce il supporto nativo ai file system exFAT. Finalmente non sarà più necessario installare pacchetti aggiuntivi per leggere chiavette e memory card.
La mia vecchia guida su come montare i volumi exFat potrà finalmente andare in pensione.

Nonostante il Kernel 5.6 non fosse pronto per il rilascio di Ubuntu, gli sviluppatori di Canonical si sono comunque adoperati per fare il backport di WireGuard anche su Ubuntu 20.04. Per chi non lo conoscesse, WireGuard è un software che permette di connettersi a tunnel VPN senza bisogno di utilizzare tool esterni.

Passiamo ora all’avvio del sistema. Fin dalla pressione del tasto di avvio è possibile accorgersi dei miglioramenti fatti dagli sviluppatori. Infatti è stato introdotto un nuovo splash screen che mostra all’avvio il logo del produttore del computer. Inoltre la velocità di avvio del sistema è stata ulteriormente migliorata grazie all’introduzione di un nuovo algoritmo di compressione (lz4) del kernel e di intramfs.
Sul mio PC Ubuntu ora si avvia veramente in un lampo!

Arrivati alla schermata di accesso del sistema operativo è possibile accorgersi anche di altri piccoli miglioramenti all’usabilità. Innanzitutto non esiste più la “tendina” da trascinare verso l’alto per inserire la password. Gli sviluppatori hanno anche lavorato alla rifinitura della grafica. Ora è possibile vedere dalla schermata di blocco le notifiche arrivate e come background viene utilizzata un versione sfocata dello sfondo del desktop dell’utente.

Inserita la password di accesso, GNOME 3.36 ci accoglie in tutto il suo splendore. Chi proviene da Ubuntu 18.04 apprezzerà fin da subito la maggiore pulizia e la migliore cura dei dettagli nella UI.
Tra i miglioramenti più utili all’usabilità del sistema operativo c’è l’introduzione della modalità non disturbare. Attivando questa modalità tutte le notifiche verranno silenziate. Veramente utilissimo durante le presentazioni e durante le videochiamate di lavoro.

La nuova modalità non disturbare nel centro notifiche

Anche l’app switcher (alt+tab) è stato migliorato. Nella versione precedente di Ubuntu, aprendo due finestre di FireFox queste venivano raggruppate in un unico elemento. Ora invece ogni finestra ha la sua icona nello switcher.
Per me che utilizzo quasi esclusivamente alt-tab per cambiare finestra questa è veramente una manna dal cielo!

Sopra: Il vecchio task switcher che raggruppava i software; Sotto: il nuovo task switcher con un icona per ogni applicazione

Un altro cambiamento è stato fatto all’applicazione Ubuntu Store che è stata rimpiazzato con il più moderno Snap Store. A prima vista potrebbe sembrare quasi la stessa cosa ma a parte il lavoro di bug-fix e di miglioramento generale, il nuovo Snap Store permette di avere delle funzionalità più avanzate (ad esempio è possibile selezionare quale versione del pacchetto installare).

Il nuovo Snap Store permette di selezionare la versione del software installare.

Un altro cambiamento che farà la gioia di chi utilizza monitor 4K è il supporto al fractional scaling. Da ora non sarà più necessario scegliere tra un fattore di scala del 100% o del 200% ma sarà possibile selezionare dei valori intermedi come ad esempio 125% o 150%.

Ma la cosa più bella dell’ultima release di Ubuntu è l’introduzione del tema scuro! Finalmente è possibile modificare con un solo click l’aspetto complessivo del sistema. Da nautilus (per esplorare i file) a gedit (il text editor), dal pannello delle impostazioni a firefox ora tutto il sistema utilizzerà consistentemente i colori scuri.
L’ultima release di Ubuntu è un piacere per gli occhi per me che adoro il tema scuro.

Qualche bug

L’ultima versione di Ubuntu però non è perfetta e nel corso di questo mese ho notato anche qualche bug minore durante il mio utilizzo giornaliero.

Partiamo dal più fastidioso, il tema scuro di gedit rende praticamente illeggibile il testo in quanto, nel momento in cui viene selezionata una riga, questa viene evidenziata di bianco con il testo bianco. L’unica soluzione per aggirare il problema e leggere il testo è selezionare tutto il testo. Speriamo in una patch a breve.

Testo bianco con evidenziazione bianca. Decisamente poco leggibile.

Un’altra piccolezza piuttosto fastidiosa è il fatto che da nautilus non è possibile trascinare con il mouse i file sul desktop. Non capisco se è una scelta di progetto o un bug ma spero che gli sviluppatori di Canonical riescano a risolvere anche questo problema.

Ma il problema più fastidioso è che a volte, quando a fine giornata arresto il sistema, il processo di chiusura del sistema operativo si inchioda ed è necessario attendere diversi minuti prima che si spenga completamente. Sospetto che possa essere un bug legato ai driver proprietari di nvidia ma nulla che non possa essere risolto con una patch.

Ma quindi devo aggiornare?

Secondo me se non fai uso di software particolari puoi aggiornare senza troppi pensieri all’ultima versione per godere di una versione che non rivoluziona il modo di lavoro ma rifinisce vari aspetti del sistema operativo che lo rendono più efficiente e più piacevole da utilizzare.

Se utilizzi un sistema a 32bit tuttavia non potrai aggiornare direttamente ad Ubuntu 20.04 visto che gli sviluppatori hanno deciso di abbandonare questa vecchia architettura per concentrarsi unicamente nello sviluppo del sistema a 64bit.

In ogni caso Ubuntu 18.04 è ancora supportato fino al 2023 per cui se non vuoi rischiare l’aggiornamento o se non sei sicuro che il tuo hardware sia compatibile puoi posporre l’aggiornamento e farlo tranquillamente più avanti nel tempo.


Se questo post ti è stato utile puoi farmelo sapere lasciando un commento qui sotto oppure scrivendomi direttamente a t.me/lorenzomillucci.
Inoltre ti invito ad iscriverti al mio canale Telegram e a seguirmi su Twitter per non perderti nemmeno un post del mio blog. A presto!

Software engineer presso Slope.
Appassionato di videogame, nel tempo libero mi diletto a scrivere su questo blog.
Per non perderti nemmeno un post puoi seguirmi su Telegram!

Comprimere PDF su Linux utilizzando Ghostscript

Documenti da scansionare

Ti è mai capitato di dover scansionare un documento di diverse pagine e di accorgerti solo alla fine che il file PDF ottenuto abbia un peso spropositato?

A me è capitato giusto ieri. Dovevo mandare una serie di scartoffie al commercialista ma il file PDF che ho ottenuto risultava troppo pesante (11 MB) per il form di caricamento dei documenti (max 5MB).

Per risolvere questi tipi di problemi esistono vari servizi online che ti permettono di caricare il file PDF e di comprimerlo senza dover installare nulla nel tuo PC. Tuttavia, trattandosi di documenti privati ho pensato non fosse il caso di regalare così i miei dati ad un servizio che non so cosa combini con i documenti caricati dagli utenti.

Quindi mi sono arrovellato il cervello e mi sono chiesto: “Possibile che su Ubuntu non esista nulla che permette di comprimere i PDF direttamente dal terminale?

Ovviamente la risposta a tale domanda è: si, esiste il modo di comprimere i file PDF da terminale. E per farlo esiste il seguente non-troppo-semplice comando di GhostScript:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=<LIVELLO-COMPRESSIONE> -dNOPAUSE -dQUIET -dBATCH -sOutputFile=<OUTPUT-FILE> <INPUT-FILE>

All’interno del comando devi sostituire:

  • <LIVELLO-COMPRESSIONE> rappresenta la qualità (e quindi la dimensione) del file finale. Sono ammessi i valori:
    • /screen minima qualità
    • /ebook qualità media
    • /printer buona qualità
    • /prepress massima qualità
  • <OUTPUT-FILE> è il nome del file compresso prodotto dal comando
  • <INPUT-FILE> è il nome del file da comprimere

PS: per avere più informazioni su tutti i possibili parametri di GhostScript ti basta digitare sul terminale man gs

Quindi per ottenere un buon rapporto qualità/peso ho deciso di utilizzare il livello di compressione /ebook tramite il seguente comando:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=documenti-ebook.pdf documenti.pdf

Statistiche

Utilizzando un documento da 11,6MB come prova ho ottenuto i seguenti risultati:

  • 536,5kB a qualità screen
  • 1,4MB in qualità ebook
  • 11,6MB in qualità printer
  • 11,6MB in qualità prepress

Come puoi vedere gli ultimi due livelli di compressione non hanno cambiato la dimensione del file ottenuto. Questo vuol dire che di default l’applicazione dello scanner utilizza printer come livello di compressione.

PDF ottenuti utilizzando i vari livelli di compressione
PDF ottenuti utilizzando i vari livelli di compressione

Se questo post ti è stato utile puoi farmelo sapere lasciando un commento qui sotto oppure scrivendomi direttamente a t.me/lorenzomillucci.
Inoltre ti invito ad iscriverti al mio canale Telegram e a seguirmi su Twitter per non perderti nemmeno un post del mio blog. A presto!

Fonte

Software engineer presso Slope.
Appassionato di videogame, nel tempo libero mi diletto a scrivere su questo blog.
Per non perderti nemmeno un post puoi seguirmi su Telegram!

Aumentare il font-size di GRUB su schermi HiDPI

GRUB con font troppo piccolo

Gli schermi HighDPI sono ormai la norma per un ampia gamma di dispositivi. Grazie ad una maggiore densità dei pixel dello schermo è impossibile per l’occhio umano distinguere un pixel dall’altro incrementando notevolmente la qualità del testo e delle immagini mostrate.

Questo costante incremento della densità di pixel però ha come effetto collaterale il fatto che alcuni software necessitano di ottimizzazioni all’interfaccia grafica per evitare che la diminuzione della dimensione dei pixel riduca eccessivamente la dimensione degli elementi mostrati.

Uno dei software che risulta illeggibile sul mio Dell XPS a causa della dimensione microscopica del testo è il bootloader predefinito di Ubuntu: GRUB.

Fortunatamente per correggere questo problema è sufficiente modificare la dimensione del font utilizzato da GRUB.

Aggiungere il font alla partizione di boot

La prima cosa da fare è convertire il font da utilizzare in un formato (PFF2 font format) che GRUB sia in grado di impiegare all’avvio del sistema tramite il programma grub-mkfont.

sudo grub-mkfont --output=/boot/grub/fonts/DejaVuSansMono24.pf2 --size=24 /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf

NOTA: in questo caso ho scelto di utilizzare il font DejaVuSansMono ma è possibile utilizzare uno qualunque dei font installati nel sistema. (Ad esempio potresti usare il font predefinito di Ubuntu /usr/share/fonts/truetype/ubuntu/UbuntuMono-R.ttf)
Nel mio caso ho scelto una dimensione del font pari a 24 ma puoi scegliere quella che meglio si adatta al tuo sistema.
Anche il nome del font di output può essere scelto liberamente ma in questo caso per chiarezza ho scelto di usare le convenzione: nome del font + dimensione.

Aggiungere il font alla configurazione di GRUB

Una volta che il font è stato convertito in un formato compatibile con GRUB è necessario modificare la configurazione in modo che venga utilizzato al posto di quello predefinito.
Per farlo bisogna aggiungere la riga GRUB_FONT=<path_font_da_utilizzare> al file /etc/default/grub con il comando:

sudo nano /etc/default/grub
Modifica del file /etc/default/grub
Modifica del file /etc/default/grub

Una volta terminate le modifiche bisogna fare in modo che siano applicate con il comando sudo update-grub.
A questo punto non resta che riavviare il sistema per vedere le modifiche applicate.

GRUB finalmente con testo leggibile

Se questo post ti è stato utile puoi farmelo sapere lasciando un commento qui sotto oppure scrivendomi direttamente a t.me/lorenzomillucci.
Inoltre ti invito ad iscriverti al mio canale Telegram e a seguirmi su Twitter per non perderti nemmeno un post del mio blog. A presto!

Fonte A
Fonte B

Software engineer presso Slope.
Appassionato di videogame, nel tempo libero mi diletto a scrivere su questo blog.
Per non perderti nemmeno un post puoi seguirmi su Telegram!

Firefox: Installare un certificato SSL self-signed da Ubuntu

Attenzione: potenziale rischio per la sicurezza

NOTE: if you want, you can read this tutorial in English 🎉

NOTA: la guida funziona anche su Fedora!

Durante lo sviluppo di applicazioni web può capitare di avere la necessità di creare e di utilizzare dei certificati SSL self-signed e cioè che non sono firmati da nessuna delle autorità di certificazione riconosciute.
In questi casi i browser mostrano un messaggio d’errore che avverte l’utente del fatto che il sito a cui si sta connettendo non ha un certificato riconosciuto e che questo potrebbe rappresentare un potenziale rischio per la sicurezza.

Per evitare che ad ogni connessione venga mostrato l’avviso di sicurezza è necessario fare in modo che il browser riconosca il nostro certificato come valido.

In questo post ti spiegherò come aggiungere (ed eventualmente rimuovere) un certificato SSL all’archivio utilizzato da Firefox in modo da non ricevere più alcun avviso di sicurezza dal browser.

NOTA: se utilizzi anche Google Chrome ricordati di seguire la procedura per aggiungere un certificato anche li.

Identificare la cartella con il profilo di Firefox

Quando utilizzi Firefox ogni modifica alle impostazioni, ai preferiti o alle estensioni viene memorizzata all’interno di una cartella speciale chiamata profile.
All’interno di questa cartella è custodito anche il database dei certificati considerati attendibili dal browser per cui, per poterne aggiungere uno, la prima cosa da fare è individuare la cartella in cui è memorizzato il tuo profilo.

Per farlo ti basta aprire Firefox e digitare nella barra degli indirizzi:

about:profiles
Pagina about:profiles di Firefox
about:profiles di Firefox

Il percorso del profilo è quello indicato dalla label Cartella radice(o Root Directory in inglese).

Ad esempio, nel mio caso il profilo si trova nella cartella: /home/lorenzo/.mozilla/firefox/s9kh79z8.default

Aggiungere il certificato

Per poter aggiungere un certificato SSL a Firefox è necessario installare il tool certutil.
Per installarlo puoi usare il seguente comando da terminale:

sudo apt install libnss3-tools

NOTA: a seconda della versione del sistema operativo questo pacchetto potrebbe essere già incluso all’interno della distribuzione in uso.

Una volta terminata l’installazione, per aggiungere un certificato ti basta utilizzare il seguente comando:

certutil -A -n "<CERT_NICKNAME>" -t "TC,," -i <PATH_FILE_CRT> -d sql:<PATH_PROFILO_FIREFOX>

Dove:

  • CERT_NICKNAME: indica l’alias da utilizzare per riconoscere il certificato nella lista di quelli installati
  • PATH_FILE_CRT: indica il path del file .crt da importare
  • PATH_PROFILO_FIREFOX: indica il path del profilo utilizzato su Firefox (individuato al punto precedente)

NOTA: Per sapere cosa significano i trustargs (la parte dopo il -t) puoi consultare la documentazione ufficiale.

Ad esempio nel mio caso il comando precedente si traduce in:

certutil -A -n "slope" -t "TC,," -i ~/Downloads/slope.crt -d sql:/home/lorenzo/.mozilla/firefox/s9kh79z8.default 

Verificare i certificati installati

Per verificare che il comando di aggiunta del certificato sia andato a buon fine o più in generale per visualizzare i certificati installati, puoi utilizzare il seguente comando:

 certutil -d sql:<PATH_PROFILO_FIREFOX> -L      

Rimuovere un certificato

Nel caso in cui tu abbia bisogno di rimuovere un certificato installato ti basta conoscere il suo nickname (che puoi vedere con il comando precedente) e digitare:

certutil  -D -n "<CERT_NICKNAME>"  -d sql:<PATH_PROFILO_FIREFOX>    

Conclusioni

Se questo post ti è stato utile puoi farmelo sapere lasciando un commento qui sotto oppure scrivendomi direttamente a t.me/lorenzomillucci.
Inoltre ti invito ad iscriverti al mio canale Telegram e a seguirmi su Twitter per non perderti nemmeno un post del mio blog. A presto!

Software engineer presso Slope.
Appassionato di videogame, nel tempo libero mi diletto a scrivere su questo blog.
Per non perderti nemmeno un post puoi seguirmi su Telegram!

Impossibile aggiornare Ubuntu 16.04 alla release 18.04

Lo ammetto: in passato ho sempre avuto esperienze terribili con l’avanzamento di versione di Ubuntu per cui preferisco sempre aggiornare eseguendo un’installazione pulita.

Questa volta però non avevo proprio voglia di fare tutta la trafila necessaria a riconfigurare un nuovo sistema operativo da capo. Dovendo passare da una LTS alla successiva ed essendo il PC in questione utilizzato principalmente per la navigazione Internet ho deciso di tentare la sorte ed eseguire l’upgrade da Ubuntu 16.04 ad Ubuntu 18.04.

E’ andato tutto liscio? Non proprio…

Il problema

Mi appresto ad avviare l’aggiornamento all’ultima release rigorosamente da terminale tramite il comando:

sudo do-release-upgrade

Nel terminale le scritte cominciano a scorrere ed io attendo fiducioso che il processo mi chieda la conferma per l’installazione del nuovo aggiornamento… e invece compare il messaggio Ripristino dello stato originale del sistema

Verifica un nuovo rilascio di ubuntu
Scaricamento di:1 Firma dello strumento di avanzamento versione [819 B]        
Scaricamento di:2 Strumento di avanzamento versione [1.242 kB]                 
Recuperati 1.243 kB in 0s (0 B/s)                                              
autenticazione di «bionic.tar.gz» con «bionic.tar.gz.gpg» 
estrazione di «bionic.tar.gz»

Lettura della cache

Controllo gestore dei pacchetti
Lettura elenco dei pacchetti... Fatto
Generazione albero delle dipendenze        
Lettura informazioni sullo stato... Fatto 
Trovato http://it.archive.ubuntu.com/ubuntu xenial InRelease                   
Trovato http://it.archive.ubuntu.com/ubuntu xenial-updates InRelease           
Scaricamento di:1 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]
Trovato http://it.archive.ubuntu.com/ubuntu xenial-backports InRelease         
Recuperati 109 kB in 0s (0 B/s)                                                
Lettura elenco dei pacchetti... Fatto     
Generazione albero delle dipendenze        
Lettura informazioni sullo stato... Fatto 

Ripristino dello stato originale del sistema

Interruzione
Lettura elenco dei pacchetti... Fatto     
Generazione albero delle dipendenze        
Lettura informazioni sullo stato... Fatto 

Cosa diavolo può essere andato storto? E’ vero che è una vecchia versione di Ubuntu ma è anche vero che a parte 4-5 programmi non c’è quasi nulla di installato.
Un po’ sfiduciato allora decido di provare a vedere se nei log c’è qualche informazione utile che mi aiuti a capire cosa è andato storto.
Apro il file /var/log/dist-upgrade/DATA_TENTATIVO_UPGRADE/main.log e leggo:

2019-11-30 11:00:49,902 INFO Using config files '['./DistUpgrade.cfg.xenial']'
2019-11-30 11:00:49,903 INFO uname information: 'Linux lorenzo-Lenovo-G580 4.15.0-70-generic #79~16.04.1-Ubuntu SMP Tue Nov 12 14:01:10 UTC 2019 x86_64'
2019-11-30 11:00:50,269 INFO apt version: '1.2.32'
2019-11-30 11:00:50,269 INFO python version: '3.5.2 (default, Oct  8 2019, 13:06:37) 
[GCC 5.4.0 20160609]'
2019-11-30 11:00:50,273 INFO release-upgrader version '18.04.36' started
2019-11-30 11:00:50,283 INFO locale: 'it_IT' 'UTF-8'
2019-11-30 11:00:50,347 INFO screen could not be run
2019-11-30 11:00:50,537 DEBUG Using 'DistUpgradeViewText' view
2019-11-30 11:00:50,596 DEBUG enable dpkg --force-overwrite
2019-11-30 11:00:50,635 DEBUG creating statefile: '/var/log/dist-upgrade/apt-clone_system_state.tar.gz'
2019-11-30 11:00:55,723 DEBUG lsb-release: 'xenial'
2019-11-30 11:00:55,724 DEBUG _pythonSymlinkCheck run
2019-11-30 11:00:55,726 DEBUG openCache()
2019-11-30 11:00:55,726 DEBUG No such plugin directory: ./plugins
2019-11-30 11:00:55,726 DEBUG plugins for condition 'PreCacheOpen' are '[]'
2019-11-30 11:00:55,726 DEBUG plugins for condition 'bionicPreCacheOpen' are '[]'
2019-11-30 11:00:55,726 DEBUG plugins for condition 'from_xenialPreCacheOpen' are '[]'
2019-11-30 11:00:55,727 DEBUG quirks: running PreCacheOpen
2019-11-30 11:00:55,727 DEBUG running Quirks.PreCacheOpen
2019-11-30 11:00:56,354 DEBUG /openCache(), new cache size 90197
2019-11-30 11:00:56,354 DEBUG need_server_mode(): run in 'desktop' mode, (because of pkg 'ubuntu-desktop')
2019-11-30 11:00:56,354 DEBUG checkViewDepends()
2019-11-30 11:00:56,355 DEBUG running doUpdate() (showErrors=False)
2019-11-30 11:00:57,702 DEBUG openCache()
2019-11-30 11:00:58,373 DEBUG /openCache(), new cache size 90197
2019-11-30 11:00:58,373 DEBUG doPostInitialUpdate
2019-11-30 11:00:58,373 DEBUG plugins for condition 'PostInitialUpdate' are '[]'
2019-11-30 11:00:58,373 DEBUG plugins for condition 'bionicPostInitialUpdate' are '[]'
2019-11-30 11:00:58,373 DEBUG plugins for condition 'from_xenialPostInitialUpdate' are '[]'
2019-11-30 11:00:58,373 DEBUG quirks: running bionicPostInitialUpdate
2019-11-30 11:00:58,374 DEBUG running Quirks.bionicPostInitialUpdate
2019-11-30 11:01:03,393 DEBUG abort called
2019-11-30 11:01:03,394 DEBUG openCache()
2019-11-30 11:01:04,067 DEBUG /openCache(), new cache size 90197

Il problema sembra essere causato dopo che viene registrato running Quirks.bionicPostInitialUpdate.

Vuoi vedere che alla fine mi conveniva davvero fare un installazione pulita anche questa volta?

Decido di non darmi per vinto e provare a cercare su Google una possibile soluzione al problema.

Tra i vari risultati trovo una segnalazione di un bug di Ubuntu in cui viene indicato come colpevole snapd.

Provo a verificare se nel mio sistema il servizio snapd sia avviato correttamente con il comando:

sudo service snapd status

e a quanto pare effettivamente sembra esserci un problema:

nov 30 10:53:00 lorenzo-Lenovo-G580 systemd[1]: snapd.service: Failed with resul
nov 30 10:53:01 lorenzo-Lenovo-G580 systemd[1]: snapd.service: Service hold-off 
nov 30 10:53:01 lorenzo-Lenovo-G580 systemd[1]: Stopped Snappy daemon.
nov 30 10:53:01 lorenzo-Lenovo-G580 systemd[1]: snapd.service: Start request rep
nov 30 10:53:01 lorenzo-Lenovo-G580 systemd[1]: Failed to start Snappy daemon.
nov 30 10:53:01 lorenzo-Lenovo-G580 systemd[1]: snapd.service: Unit entered fail
nov 30 10:53:01 lorenzo-Lenovo-G580 systemd[1]: snapd.service: Triggering OnFail
nov 30 10:53:01 lorenzo-Lenovo-G580 systemd[1]: snapd.service: Failed with resul
nov 30 11:04:11 lorenzo-Lenovo-G580 systemd[1]: Stopped Snappy daemon.

La soluzione

Apparentemente il colpevole è il servizio snapd di Ubuntu che avendo qualche problema impedisce l’avanzamento di versione.
Decido quindi di tagliare la testa al toro e di provare una rimozione e reinstallazione del servizio con i comandi:

sudo apt purge snapd && sudo apt install snapd

Infine, rilanciando l’installazione con il comando sudo do-release-upgrade, l’installazione della nuova versione inizia correttamente e riesce a completarsi con successo.
Questo post è stato scritto direttamente dal PC appena aggiornato ad Ubuntu 18.04 🙂

Se questo post ti è stato utile puoi farmelo sapere lasciando un commento qui sotto oppure scrivendomi direttamente a t.me/lorenzomillucci.
Inoltre ti invito ad iscriverti al mio canale Telegram e a seguirmi su Twitter per non perderti nemmeno un post del mio blog. A presto!

Software engineer presso Slope.
Appassionato di videogame, nel tempo libero mi diletto a scrivere su questo blog.
Per non perderti nemmeno un post puoi seguirmi su Telegram!

Installare Python 3.8 su Ubuntu 18.04

NOTA: Ubuntu 20.04 offre di default Python 3.8. Se stai usando l’ultima LTS di Ubuntu questa guida non è più necessaria.

E’ stato da poco rilasciata la versione 3.8 di Python! 🎉
Per sapere le novità introdotte dal nuovo update ti lascio il link all’articolo ufficiale della documentazione.

In questo post ti mostro come installarlo subito su Ubuntu 18.04 sfruttando un PPA aggiuntivo.

Installazione

Per installare subito l’ultimissima versione di python sul tuo sistema apri il terminale e digita i seguenti comandi:

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.8

NOTA: dallo stesso repository puoi scaricare anche le versioni 3.1, 3.5 e 3.7 di python (la versione 3.6 è quella fornita di default da Ubuntu)

Non appena l’installazione sarà finita potrai utilizzare la nuovissima versione di python utilizzando il comando python3.8

Python 3.8 installato
Python 3.8 installato

Conclusioni

Se questo post ti è stato utile puoi farmelo sapere con un commento qui sotto oppure scrivendomi direttamente a t.me/lorenzomillucci.
Inoltre ti invito ad iscriverti al mio canale Telegram e a seguirmi su Twitter per non perderti nemmeno un post del mio blog. A presto!

Software engineer presso Slope.
Appassionato di videogame, nel tempo libero mi diletto a scrivere su questo blog.
Per non perderti nemmeno un post puoi seguirmi su Telegram!

Installare i driver per la scheda di rete RTL8821CE su Ubuntu 18.04 e 20.04

AGGIORNAMENTO: alcuni utenti mi hanno segnalato che questa guida può essere seguita con successo sia su Ubuntu 20.04 che su Fedora 31!

Se hai provato ad installare Ubuntu 18.04 su di un PC con la scheda di rete Realtek RTL8821CE avrai sicuramente notato che questa non viene riconosciuta dal sistema operativo.

In attesa che i driver di questa scheda di rete vengano aggiunti all’interno di Ubuntu è possibile installarli manualmente seguendo la procedura descritta di seguito.

Verificare di avere la scheda RTL8821CE

Per vedere quali schede di rete hai installato all’interno del tuo computer puoi usare il comando:

lspci | egrep -i --color 'network'

Se come risultato ottieni:

Network controller: Realtek Semiconductor Co., Ltd. RTL8821CE 802.11ac PCIe Wireless Network Adapter

Allora significa che nel tuo computer è presente la scheda in questione e puoi procedere all’installazione dei driver descritta di seguito.

Installare i driver

Per installare i driver devi usare i seguenti comandi:

sudo apt install --reinstall git dkms build-essential linux-headers-$(uname -r)
git clone https://github.com/tomaspinho/rtl8821ce
cd rtl8821ce
chmod +x dkms-install.sh
sudo ./dkms-install.sh

NOTA: affinché la procedura vada a buon fine devi essere connesso ad internet. Puoi farlo utilizzando il cavo Ethernet al tuo modem oppure utilizzare il tuo smartphone in tethering connettendolo via USB.

A questo punto, riavviando il sistema, la scheda di rete dovrebbe essere finalmente riconosciuta dal sistema ed essere pronta per l’utilizzo.

NOTA: affinché l’installazione dei driver vada a buon fine devi avere Secure Boot disattivato all’interno di UEFI altrimenti potresti ricevere il seguente messaggio d’errore

Your system has UEFI Secure Boot enabled.                                   
 │                                                                             
 │ UEFI Secure Boot requires additional configuration to work with             
 │ third-party drivers.                                                       
 │                                                                             
 │ The system will assist you in configuring UEFI Secure Boot. To permit       
 │ the use of third-party drivers, a new Machine-Owner Key (MOK) has been     
 │ generated. This key now needs to be enrolled in your system's firmware.     
 │                                                                             
 │ To ensure that this change is being made by you as an authorized user,     
 │ and not by an attacker, you must choose a password now and then confirm     
 │ the change after reboot using the same password, in both the "Enroll       
 │ MOK" and "Change Secure Boot state" menus that will be presented to you     
 │ when this system reboots.

Rimozione dei driver

Nel caso in cui ci fossero problemi puoi sempre rimuovere i driver installati spostandoti nella cartella in cui li hai scaricati e digitando i comandi:

chmod +x dkms-remove.sh
sudo ./dkms-remove.sh

Conclusioni

Se questo post ti è stato utile puoi farmelo sapere con un commento qui sotto oppure scrivendomi direttamente a t.me/lorenzomillucci.
Inoltre ti invito ad iscriverti al mio canale Telegram per non perderti nemmeno un post del mio blog.

Fonte

Software engineer presso Slope.
Appassionato di videogame, nel tempo libero mi diletto a scrivere su questo blog.
Per non perderti nemmeno un post puoi seguirmi su Telegram!

Installare XAMPP su Ubuntu

Chiunque voglia iniziare a studiare la programmazione web deve affrontare lo step iniziale di creare un ambiente server all’interno del proprio computer. Ciò spesso vuol dire dover installare e configurare un server Apache, l’interprete PHP e un DBMS per gestire un database.

L’installazione di questi programmi non è di per se difficoltosa ma può richiedere un quantitativo considerevole di tempo e può causare qualche grattacapo agli utenti meno esperti. Proprio per far fronte all’esigenza di avere un ambiente di sviluppo web facile e veloce è nato il software open-source XAMPP.

XAMPP è una distribuzione di Apache completamente gratuita e semplice da installare, contenente MySQL, PHP e Perl.

– sito web di Xampp

Proprio per la sua semplicità di installazione e utilizzo XAMPP è la soluzione software che di solito si consiglia a chiunque voglia avvicinarsi alla programmazione web tramite PHP.

Per chi preferisce il video alla lettura del post

Installazione

La prima cosa da fare, naturalmente, è scaricare il pacchetto di installazione dal sito web ufficiale di XAMPP:

https://www.apachefriends.org/it/index.html

Oppure scaricandolo dal terminale con il comando:

wget "https://downloadsapachefriends.global.ssl.fastly.net/7.4.3/xampp-linux-x64-7.4.3-0-installer.run"

Per procedere all’installazione del pacchetto appena scaricato devi prima di tutto fornirgli i permessi di esecuzione. Puoi farlo aprendo il terminale e, spostandoti nella cartella che contiene il pacchetto, digitando:

chmod +x ./xampp-linux-x64-7.4.3-0-installer.run 

NOTA: nel momento in cui scrivo, l’ultima versione di XAMPP disponibile è la 7.4.3-0. Quando verranno rilasciate versioni aggiornate dovrai cambiare il comando inserendo numero della versione che andrai ad utilizzare.

A questo punto sei pronto per avviare l’installazione vera e propria del programma tramite il seguente comando di terminale:

sudo ./xampp-linux-x64-7.4.3-0-installer.run 

Si aprirà una finestra con uno wizard di installazione grafico in cui, per terminare l’installazione, ti sarà sufficiente premere sempre il pulsante avanti.

NOTA: ad un certo punto ti verrà chiesto se vuoi avere maggiori informazioni su bitnami per XAMPP, se non sei interessato puoi tranquillamente levare la spunta dalla checkbox.

Installazione di XAMPP su Ubuntu

Terminata l’installazione, se hai lasciato la spunta su “Launch XAMPP” ti verrà aperta una finestra con il pannello di controllo del programma.

Pannello di controllo di XAMPP

Dal pannello di controllo di XAMPP, andando sulla scheda “Manage Servers” puoi verificare lo stato dei vari servizi che compongono il programma e, nel caso in cui non lo fossero già, avviarli.

Per verificare che il programma stia funzionando correttamente ti basta provare la connessione al server appena creato aprendo un browser e visitando l’indirizzo:

http://localhost/

Se tutto ha funzionato correttamente verrai accolto dalla pagina di benvenuto di XAMPP.

Pagina di benvenuto di XAMPP

Come avviare e arrestare XAMPP

Sfortunatamente l’installer di XAMPP non genera automaticamente un lanciatore per avviare il programma dall’elenco dei software installati. Di conseguenza per avviare XAMPP bisogna ricorrere al terminale utilizzando uno dei seguenti due modi:

  • con il comando sudo /opt/lampp/lampp start che avvierà automaticamente tutti i servizi di XAMPP senza passare per il pannello di controllo grafico.
  • oppure avviando il pannello di controllo utilizzando il comando sudo /opt/lampp/manager-linux-x64.rune poi avviare i servizi di XAMPP dalla scheda “Manage Servers”

Analogamente, per arrestare XAMPP una volta terminato il lavoro, puoi usare uno dei seguenti due modi:

  • con il comando sudo /opt/lampp/lampp stop
  • usando il pannello di controllo di XAMPP, arrestando i servizi manualmente dalla scheda “Manage Servers”

Creazione di una nuova pagina web

Per creare una nuova pagina web da servire mediante il server XAMPP basta creare un nuovo file all’interno della cartella /opt/lampp/htdocs.

Di default questa cartella non è scrivibile dall’utente corrente in quanto appartenente all’utente e al gruppo root.

Per aggiustare i permessi in modo che l’utente corrente possa scrivere all’interno di questa cartella senza che sia necessari utilizzare sudo ogni volta basta usare il seguente comando da terminale:

 sudo chown -R USER_NAME:GROUP_NAME /opt/lampp/htdocs/

Rimpiazzando USER_NAME e GROUP_NAME con il tuo nome utente. Per sapere qual’è il tuo nome utente puoi usare il comando whoami mentre per sapere il nome del gruppo puoi usare il comando id -gn.

Ad esempio nel mio caso sia il nome utente che il nome del gruppo sono esattamente lorenzo per cui il comando che ho digitato è stato:

sudo chown -R lorenzo:lorenzo /opt/lampp/htdocs/

A questo punto, per verificare che tutto funzioni correttamente puoi creare una nuova cartella chiamata test all’interno di /opt/lampp/htdocs/. Per creare la prima pagina web crea un nuovo file chiamato index.html all’interno della cartella e digita all’interno il seguente contenuto:

<html>
<h1>Hello world from XAMPP!</h1>
</html>
Creazione della prima pagina web

A questo punto, se tutto avrà funzionato correttamente, navigando all’indirizzo http://localhost/test/ verrà servita del server web la tua pagina web appena creata.

La prima pagina web servita direttamente da XAMPP

Se questo post ti è stato utile puoi farmelo sapere lasciando un commento qui sotto oppure scrivendomi direttamente a t.me/lorenzomillucci.
Inoltre ti invito ad iscriverti al mio canale Telegram e a seguirmi su Twitter per non perderti nemmeno un post del mio blog. A presto!

Software engineer presso Slope.
Appassionato di videogame, nel tempo libero mi diletto a scrivere su questo blog.
Per non perderti nemmeno un post puoi seguirmi su Telegram!

Come aggiornare l’LTS enablement stack (HWE) ad Ubuntu 18.04.4

AGGIORNAMENTO (12 Feb 2020): Oggi è stata rilasciata la versione 18.04.4 di Ubuntu. Qui trovi il comunicato ufficiale. Se hai installato Ubuntu 18.04 subito dopo il suo rilascio ad Aprile 2018 puoi seguire questa guida per aggiornare l’HWE alla versione 18.04.4, se invece hai installato la 18.04.2 riceverai automaticamente l’HWE nuovo insieme ai normali update di sistema.


La seconda point release di Ubuntu (18.04.2) è stata appena rilasciata! Questo aggiornamento non introduce alcuna novità sostanziale ma include le ultime patch di sicurezza, vari aggiornamenti alle applicazioni di sistema oltre che bugfix minori vari.
Per sapere tutte le migliorie apportate da Ubuntu 18.04.2 puoi visitare la pagina della documentazione dedicata.

Perché una point release?

Il team di Ubuntu periodicamente rilascia delle immagini ISO aggiornate del sistema operativo in modo che chi installa il sistema per la prima volta non sia costretto a scaricare fin dal primo avvio migliaia di aggiornamenti arretrati.

Cos’è un LTS hardware enablement stack (HWE)

Con il rilascio della seconda point release di Ubuntu gli sviluppatori gli sviluppatori del sistema operativo includono una nuova versione del kernel e uno stack grafico aggiornato. Ciò, tra le altre cose, permette di migliorare la compatibilità di Ubuntu con il nuovo hardware che dovesse essere rilasciato rispetto alla prima release. Queste modifiche al cuore del sistema operativo prendono il nome di Hardware Enablement Stack (HWE).

Siccome queste modifiche coinvolgono parti molto delicate del sistema operativo e possono compromettere la stabilità del computer, il team di Ubuntu ha stabilito che solo gli utenti che installano il sistema operativo partendo da Ubuntu 18.04.2 abbiano il nuovo HWE abilitato di default.
Di conseguenza, gli utenti che dovessero aver installato Ubuntu 18.04 o 18.04.1 prima di questa point release continueranno a ricevere tutti gli aggiornamenti del sistema operativo ma non verranno migrati automaticamente al nuovo HWE.

Ubuntu 18.04.2 installato nel mio PC

Aggiornare HWE su installazioni precedenti alla 18.04.2

Mentre gli utenti che installano Ubuntu partendo dalla 18.04.2 hanno il nuovo HWE abilitato di default, gli utenti che dovessero aver installato Ubuntu in precedenza possono aggiornare manualmente l’HWE tramite il seguente comando:

sudo apt install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04 xwayland-hwe-18.04

Per sapere se stai già utilizzando l’ultimo enablement stack puoi utilizzare questo comando:

 hwe-support-status --verbose 

Conclusioni

Ad oggi ho già aggiornato il computer fisso di casa al nuovo HWE riscontrando un leggero aumento delle prestazioni e della reattività nell’utilizzo dei programmi più comuni.
Il vero banco di prova del nuovo aggiornamento sarà il Dell XPS 13 che utilizzo al lavoro. Visto che sto riscontrando alcuni problemi nell’utilizzo quotidiano di questo portatile non appena avrò un po’ di tempo libero proverò a vedere se l’aggiornamento del kernel riesce a sistemarli. Chiaramente riporterò in questo post come andrà a finire.

Per altre informazioni sull’enablement stack ti rimando alla documentazione ufficiale di Ubuntu.

Se questo post ti è stato utile puoi farmelo sapere lasciando un commento qui sotto oppure scrivendomi direttamente a t.me/lorenzomillucci.
Inoltre ti invito ad iscriverti al mio canale Telegram e a seguirmi su Twitter per non perderti nemmeno un post del mio blog. A presto!

Software engineer presso Slope.
Appassionato di videogame, nel tempo libero mi diletto a scrivere su questo blog.
Per non perderti nemmeno un post puoi seguirmi su Telegram!

Abilitare l’accelerazione Hardware su Firefox per Linux

AGGIORNAMENTO 20/03/2020: Sembra che qualcosa si stia muovendo e forse tra qualche tempo potremo avere il supporto all’accelerazione hardware nativo su Firefox utilizzando wayland! 🤞

Per motivi a me sconosciuti Firefox (ma anche Chrome) disabilita di default l’accelerazione hardware su tutte le distribuzioni Linux.

Questo si traduce in un notevole aumento del carico di lavoro che la CPU deve gestire quanto viene riprodotto un video. Ad esempio, aprire un video su YouTube dal mio Dell XPS innesca una reazione a catena per cui aumenta il carico di lavoro della CPU che a sua volta aumenta la velocità di rotazione delle ventole che fanno arroventare la superficie del computer e di conseguenza fanno scaricare prima la batteria e rendono fastidiosamente rumoroso il portatile.

Attivare l’accelerazione hardware GPU

La soluzione a questo problema è utilizzare la GPU per decodificare i video tramite l’accelerazione hardware. Stranamente non è possibile attivare tramite l’interfaccia grafica di Firefox l’accelerazione hardware per cui bisogna ricorrere all’editor avanzato di configurazione accessibile inserendo nella barra degli indirizzi:

about:config

Se è la prima volta che provi ad accedere all’editor di configurazione ti verrà mostrato un messaggio di avvertimento come il seguente:

Messaggio di avvertimento: La modifica dei valori predefiniti delle impostazioni avanzate può compromettere la stabilità del browser.
La modifica dei valori predefiniti delle impostazioni avanzate può compromettere la stabilità del browser.

Per procedere dovrai dichiarare di accettare i rischi dovuti ad una cattiva configurazione.

A questo punto per abilitare l’accelerazione hardware ti basta modificare la seguente voce in modo che il valore sia impostato a true:

layers.acceleration.force-enabled
Pagina about:config
layers.acceleration.force-enabled

NOTA: Una volta fatta la modifica devi riavviare Firefox affinché l’accelerazione hardware venga effettivamente attivata.

Verificare l’attivazione

Per verificare che l’accelerazione hardware si sia attivata correttamente puoi aprire l’indirizzo:

about:support

Se nella sezione Grafica, alla voce Composizione trovi scritto Basic allora le modifiche non hanno avuto effetto e non stai usando ancora l’accelerazione hardware. Viceversa, se alla voce Composizione trovi scritto OpenGL allora significa che che l’accelerazione hardware GPU è in funzione.

Pagina about:support
Composizione: OpenGL – l’accelerazione hardware è stata correttamente attivata

Conclusioni

Con questa piccola modifica avrai sicuramente un minor carico di lavoro sulla CPU, un abbassamento delle temperature e, se utilizzi un portatile, un aumento della durata della batteria.

Se vuoi rimanere sempre aggiornato su ciò che posto in questo blog iscriviti al mio canale Telegram oppure, se hai bisogno di aiuto nel seguire questa guida o non ti è chiaro qualche passaggio puoi lasciarmi un commento qui sotto, inviarmi un tweet a @LorenzoMillu oppure scrivermi direttamente a t.me/lorenzomillucci.

NOTA: nel caso in cui Firefox dovesse iniziare a chiudersi inaspettatamente o riportare dei problemi di stabilità in seguito a queste modifiche puoi sempre riportarti alle impostazioni consigliate riportando il valore di layers.acceleration.force-enabled a false.

Software engineer presso Slope.
Appassionato di videogame, nel tempo libero mi diletto a scrivere su questo blog.
Per non perderti nemmeno un post puoi seguirmi su Telegram!