Qualche anno fa ho acquistato, a circa 500€, un Mac Mini: tecnicamente si definisce un MacMini 2,1 per differenziarlo dalla versioni più vecchie o più recenti. L'idea era quella di utilizzarlo per scrivere applicazioni per iOS (iPhone, iPad, iQuelCheTiPare) ma subito è stato piazzato in sala. Non avevo infatti spazio per un monitor aggiuntivo sulla scrivania e non avevo nemmeno un monitor HDMI a disposizione.
In sala ha subito fatto amicizia con la TV (con l'uscita HDMI nativa), con l'impianto stereo (con l'uscita SPDIF) e con gli utenti, essendo fornito di porta IrDA. Insomma ha scalzato in meno di mezz'ora l'XBOX come Media Player visto che immediatamente ho installato XBMC per OSX. Sono andato avanti così per circa un anno e mezzo ma ci sono cose che mi hanno fatto imbestialire in tutto questo periodo:
I popup erano sempre di natura diversa: aggiornamenti di Remote Buddy, aggiornamenti OSX, task notturni che si sentivano soli. Non volendo installare in sala Mouse e Tastiera mi sono fornito di AirMouse (applicazione per iPhone) per zittire il popup, ridare il focus a XBMC ed eliminare il puntatore del mouse. Niente di fastidioso, sia chiaro, ma pur sempre una presenza di troppo. A favore di questa soluzione completamente compatibile c'è la fantastica funzionalità di sleep & wakeup di questo Mac, quindi durante la notte il Mac si spegne e la mattina successiva si riaccende da solo, riducendo i consumi e rimanendo comparabile, in termini di tempi di avvio, con l'XBOX originaria.
L'articolo è in periodico aggiornamento
Un giorno mi sono rotto ed ho deciso di installare Linux. Esistono varie guide al riguardo e tutte più o meno dicono che ce la si può fare: si configura BootCamp per creare spazio per una nuova partizione (nel mio caso da 16GB, chiamata /dev/sda3), si installa rEFIt come boot-loader e poi si infila un CD di Linux, nel mio caso Debian Squeeze a 64bit.
L'installazione procede tranquillamente, si installa tutto in /dev/sda3 compreso Grub; al reboot si effettua un sync dell'MBR da rEFIt, si fa ancora un boot con OSX per modificare il file /efi/refit/refit.conf e scommentare "legacyfirst", oltre a ridurre il timeout da 20 a 5 secondi. Il boot successivo è automaticamente Linux.
Ora veniamo ad un po' di tips&tricks. Il primo, il più interessante per me, è la procedura di avvio e spegnimento: vorrei infatti mantenere la buona abitudine dello spegnimento notturno. Per farlo basta schedulare in crontab la programmazione della riaccensione (da farsi ogni volta) e lo spegnimento. Per il primo il comando è:
/bin/date '+%s' -d 'tomorrow 13:00' >/sys/class/rtc/rtc0/wakealarm
il file virtuale su cui si scrive, il device, è appunto il dispositivo che controlla la riaccensione ed accetta un timestamp che indichi l'orario di riaccensione. Il comando date non solo supporta tale formato ma permette anche di specificare la nuova data in maniera dinamica e amichevole, nel mio caso "domani alle 13" oppure "oggi alle 9" (today 9:00). Questo comando può essere messo in crontab e schedulato al boot oppure ad un orario in cui si è certi che la macchina sia accesa, che so anche subito prima dello spegnimento. Il vantaggio di questo nuovo approccio è ad esempio quello di poter differenziare gli orari di accensione dipendentemente dalla giornata: durante la settimana si accende nel tardo pomeriggio, durante il week-end di prima mattina.
Veniamo allo spegnimento perché non è banale: programmare un "telinit 0" oppure uno "shutdown -r now" pare non basare: il Mac si "spegne", il led frontale pure, ma in verità rimane acceso in attesa di qualcosa... il primo effetto è un mancato risparmio dal punto di vista elettrico, dall'altro la mancata riaccensione perché il PC non si è ... mai spento. Per sbaglio ho constatato che spegnendo il Mac dal pulsante sul retro lo spegnimento avviene regolarmente, ho spiato quindi la configurazione di ACPI ed ho scoperto che il comando corretto è:
/sbin/shutdown -h -P now
prendete nota qualora sia un problema che vi affligge e vi sia stato detto che non è risolvibile.
Veniamo ora all'avvio di XBMC in maniera automatica: è piuttosto semplice e se non è collegato un mouse ci evita l'annoso problema del puntatore; lo script di avvio semplificato è:
#!/bin/sh
### BEGIN INIT INFO
# Provides: xbmc
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: XBMC Server
### END INIT INFO
case "" in
start)
su root -c "xinit /usr/bin/xbmc --standalone --no-test >/var/log/xbmc.log 2>&1 &"
;;
stop)
killall xbmc
;;
esac
exit 0
deb http://www.debian-multimedia.org sid main non-free
deb http://mi.mirror.garr.it/mirrors/debian/ sid main
apt-get install xbmc xbmc-data xbmc-bin
apt-get install xserver-xorg x-window-system xterm linux-sound-base alsa-base alsa-utils
Se poi si vuole utilizzare AirPlay con iPhone/iPad/iPod, cosa abbastanza facile, è necessario aggiungere avahi-daemon python-twisted xbmc-eventclients-common. Da poco, almeno al momento in cui scrivo, è stato creato uno script Python chiamato play2wifi. Lo si installa dove si crede, ci si assicuri che sia sempre in esecuzione tramite /etc/intitab:
c1:23:respawn:/usr/bin/python /opt/Play2wifi/src/play2wifi.py
lo si configura (IP e porta dell'accesso Web ad XBMC, precedentemente attivato dai settings di XBMC senza username e password) e si copia in /etc/avahi/services/play2wifi.service la definizione del servizio:
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_airplay._tcp</type>
<port>22555</port>
</service>
</service-group>
Nella versione 0.1 non supporta Youtube ma ho risolto il problema e suggerito la soluzione all'autore quindi penso che la cosa venga risolta a brevissimo.