Archivi tag: Mac OS X

Homebrew vs MacPorts

Homebrew e MacPorts sono due diversi package manager che permettono di installare programmi e altri tool a riga di comando per estendere le funzionalità del sistema operativo.

Al momento Homebrew sembra essere il più popolare, grazie anche a un numero sostanzioso di pacchetti disponibili e costantemente aggiornati. La posizione predefinita in cui li installa è basata sull’utente, quindi i programmi possono essere eseguiti senza utilizzare una password “sudo” e questo è sicuramente la critica più grande dei puristi Unix. Homebrew utilizza anche più dipendenze fornite di serie con macOS, il che significa in sostanza che è più integrato con il sistema operativo, o almeno così dicono i suoi sostenitori. Il rovescio della medaglia è che molte di queste dipendenze potrebbero diventare presto obsolete: Apple infatti sembra prediligere software BSD non sempre aggiornato ma più testato. Inoltre potrebbe decidere di non includere qualcosa di queste dipendenze nella prossima versione o in un aggiornamento. In questo caso il software brew potrebbe smettere di funzionare e si dovrà procedere con una reinstallazione da zero.

I fan di Macports diranno che è stato quello per lungo tempo ha beneficiato del supporto di Apple e probabilmente lo è ancora. I pacchetti disponibili sono più numerosi, tuttavia non sono aggiornati quanto lo sono quelli di Homebrew. A quanto pare, a detta di alcuni, i ports impiegano poco più di un paio di giorni per aggiornare il pacchetto all’ultima versione.
Quando si installa un pacchetto, MacPorts lo mette in una posizione centrale ed è necessario utilizzare una password “sudo”. Per questi motivi MacPorts incontra il favore di molti utenti Unix. Un altro punto a suo favore è che non dipende da nessuna delle librerie fornite con macOS stesso perché scarica e installa le proprie. Il lato positivo è che i pacchetti Macports non sono così influenzati dagli aggiornamenti software di Apple e non si affidano a nessuna libreria di sistema obsoleta e preinstallata. Il rovescio della medaglia è che ti ritrovi due versioni diverse di certe librerie e dipendenze, occupando così più spazio sul disco.

La domanda su quale dei due sistemi sia il migliore non ha una ancora ricevuto una risposta valida per tutti. Entrambi hanno vantaggi e svantaggi: Homebrew è il più popolare in questo momento e il suo numero di pacchetti è in costante aumento, ma MacPorts sembra essere il più sicuro quando si tratta di installazioni e aggiornamenti. Molti sviluppatori scelgono di averli installati entrambi, così che se non riesci a trovare quello che ti serve su uno, usi l’altro.

Un semplice stress test

Un piccolo trucco per fare andare il proprio Mac su di giri, utile come semplice stress test da riga di comando. Da Terminale digitiamo:

$ yes > /dev/null & yes > /dev/null & yes > /dev/null & yes > /dev/null &

Attraverso l’utility Monitoraggio Attività potremo vedere il carico di lavoro della CPU:

Per terminare il test digitiamo:

$ killall yes

Assicuratevi di terminare ogni processo, altrimenti le ventole di raffreddamento continueranno  a girare alla massima velocità.

Speedtest a riga di comando

In OS X è possibile eseguire un semplice test di velocità della propria linea dati in download digitando da Terminale il comando:

$ curl -o /dev/null http://speedtest.wdc01.softlayer.com/downloads/test10.zip

Per rendere il tutto più semplice possiamo creare un alias, editando il proprio file .bashrc e aggiungere la riga che segue:

alias speedtest='curl -o /dev/null http://speedtest.wdc01.softlayer.com/downloads/test10.zip'

Così sarà sufficiente digitare al prompt semplicemente:

$ speedtest

 

Unire due o più avi o altri formati video da terminale

Per unire due o più video in unico in un unico file è sufficiente eseguire i seguenti comandi da Terminale:

$ cat video1.avi video2.avi > out.avi
$ mencoder -forceidx -oac copy -ovc copy out.avi -o out_final.avi
$ rm out.avi

Il comando cat legge il contenuto di ciascun file, byte per byte, e lo riscrive nel file di output accordandoli nell’ordine specificato. Si potrebbe pensare erroneamente che sarebbe sufficiente questo ma se si prova ad aprire il file out.avi il lettore video utilizzato indicherà come durata totale quella del primo video. Questo perché legge l’header del primo file. In effetti cat non rielabora il flusso dati in ingresso trattando ogni tipo di file allo stesso modo, a prescindere dalla sua natura.

Pertanto è necessario riscrivere l’header del file in uscita. Ecco quindi il motivo del secondo comando: mencoder rilegge tutto lo stream, sia audio che video, e scrive un nuovo header nel file di output finale. Le opzioni -oac copy e -ovc copy indicano al programma di copiare i flussi audio e video senza rielaborarne il formato, così da rendere il processo estremamente veloce.

Un’ultima nota: mentre cat fa parte del set di comandi standard unix ed è quindi già presente in OS X, mencoder richiedere l’installazione a parte. Io uso MacPorts ed è stato sufficiente installare il pacchetto mplayer:

$ sudo port selfupdate
$ sudo port upgrade outdated 
$ sudo port install mplayer

Tutto qui.

Modifica della lingua utilizzata nella schermata di login del Mac

Mi capitava da diverso tempo che dopo un aggiornamento di sistema la schermata di login del mio Mac appariva con le scritte in inglese e la cosa mi dava abbastanza fastidio. Ogni volta ero costretto ad entrare nelle impostazioni del mio utente, cambiare la lingua e riavviare per poi reimpostarla un’altra volta in italiano. Questa operazione laboriosa mi permetteva di reimpostare la lingua italiana anche nella schermata di login.

Successivamente mi sono reso conto che la cosa non funziona più se sul sistema sono presenti più di un utente. In questo caso l’operazione sopra descritta si limitava a cambiare la lingua dell’utente, non più anche quella di sistema.

Poi ho trovato questa semplice soluzione direttamente sul sito di supporto Apple. E’ sufficiente aprire il terminale e scrivere:

sudo languagesetup

Selezionare quindi la lingua desiderata e infine riavviare (oppure eseguire il logout). L’utente deve avere i privilegi di amministratore.