• Home
  • Blog
    • Technews
    • Pensiero del giorno
    • FILM
  • Informatica
  • Fotografie
    • Concerti
    • Vacanze
    • Varie
  • Acqua
  • La Wishlist

MacMini, Linux e XBMC

Mercoledì 05 Gennaio 2011 13:58

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:

  • lo scarso numero di pulsanti sul telecomando, risolto con un ricevitore IrDA secondario e Remote Buddy
  • la presenza costante del puntatore del mouse, risolto con un software aggiuntivo
  • il fatto che ogni volta che passavo col televisore sull'ingresso HDMI avevo sempre un nuovo popup, sopra XMBC, che richiedeva attenzioni

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.

Startup e shutdown

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.

Avvio di XBMC

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


Da attivare poi con update-rc.d xbmc defaults. Io ho installato la versione aggiornata di XBMC, la 10.0, ma per farlo è attualmente necessario utilizzare i repository sid di debian e di debian-multimedia:


deb http://www.debian-multimedia.org sid main non-free
deb http://mi.mirror.garr.it/mirrors/debian/ sid main


ed installare:


apt-get install xbmc xbmc-data xbmc-bin
apt-get install xserver-xorg x-window-system xterm linux-sound-base alsa-base alsa-utils

AirPlay

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.

Twitter status

Euro-convertitore: vintage o attualissimo? #buonanotte http://t.co/3iLU9SGn
I am watching Midnight In Paris. http://t.co/c79JyA2o
Quale luce non elettrica dovrei avere su un'auto al distributore? #buonanotte http://t.co/SjAed7UB
 

Meteo

Anguillara Sabazia: 17.5 °C
Genova Albaro: 21.2 °C

Temperatura Casa: 22.1 °C
Pressione Casa: 978.2 hPa
Umidità Casa: 62 %
Pioggia ultime 24h: 0.0 mm