Non avendo ancora acquistato un telecomando per controllare freevo, mi sono inventato un modo per poter usare in alternativa il mouse.
Ho appositamente creato una pagina nel wiki di freevo, nella quale descrivo come si configura.
Quello che non ho indicato, ma che potrebbe essere utile farlo in un altra pagina del wiki, è come lanciare freevo dopo che la fase di avvio del mediabox è terminata.
Ho deciso infatti di non eseguire automaticamente freevo, visto che potrei avere bisogno del media box solo come server (mldonkey o file) e non per vedere un film. Inoltre, l'esecuzione di freevo incrementa l'uso della CPU dal 3 al 30% (in modalità idle!), per cui in ottica di risparmio energetico e di durata di componenti hardware ho deciso di lanciarlo solo in caso di necessità.
Login automatico
La prima cosa da fare è quella di impostare il login automatico: si compila il semplice file dal nome autologin.c contentente:
Poi si modifica il file /etc/event.d/tty1 (/etc/init/tty1.conf) in modo che risulti simile a questo:
Segnalazione di boot terminato
Nel file .bashrc, eseguito automaticamente nel passo precedente, si mette alla fine la seguente sequenza di comandi:
Lancio di freevo a schermo spento
Il comando mousem del passo precedente è un altro applicativo scritto in c da compilare
Ho appositamente creato una pagina nel wiki di freevo, nella quale descrivo come si configura.
Quello che non ho indicato, ma che potrebbe essere utile farlo in un altra pagina del wiki, è come lanciare freevo dopo che la fase di avvio del mediabox è terminata.
Ho deciso infatti di non eseguire automaticamente freevo, visto che potrei avere bisogno del media box solo come server (mldonkey o file) e non per vedere un film. Inoltre, l'esecuzione di freevo incrementa l'uso della CPU dal 3 al 30% (in modalità idle!), per cui in ottica di risparmio energetico e di durata di componenti hardware ho deciso di lanciarlo solo in caso di necessità.
Login automatico
La prima cosa da fare è quella di impostare il login automatico: si compila il semplice file dal nome autologin.c contentente:
int main() { execlp( "login", "login", "-f", "nomeutente", 0); }dove al posto di nomeutente si mette l'utenza con cui si vuole effettuare l'accesso automatico.
Poi si modifica il file /etc/event.d/tty1 (/etc/init/tty1.conf) in modo che risulti simile a questo:
start on stopped rc2dove /usr/local/sbin/autologin è il programma compilato poco sopra.
start on stopped rc3
start on stopped rc4
start on stopped rc5
stop on runlevel 0
stop on runlevel 1
stop on runlevel 6
respawn
exec /sbin/getty -n -l /usr/local/sbin/autologin 38400 tty1
Segnalazione di boot terminato
Nel file .bashrc, eseguito automaticamente nel passo precedente, si mette alla fine la seguente sequenza di comandi:
if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty1 ]; thenCon beep si intende un comando che esegue un suonetto, disponibile nella fattispecie eseguendo "sudo apt-get install beep" da terminale. Se non si sente il suonetto, probabilmente è disabilitato nel file /etc/modprobe.d/blacklist, riabilitarlo commentando la riga "blacklist pcspkr".
beep
./mousem
fi
Lancio di freevo a schermo spento
Il comando mousem del passo precedente è un altro applicativo scritto in c da compilare
Questo programma associa al tasto sinistro del mouse l'esecuzione di un programma a nostra scelta, nella fattispecie lo script vai.sh che contiene:#include <stdio.h> #include <gpm.h> #include <unistd.h> int my_handler(Gpm_Event *event, void *data) { switch(event->buttons) { case 1: printf("tasto dx\n"); break; case 2: printf("tasto cx\n"); break; case 4: printf("\a\n"); execl("/home/zac/vai.sh", "vai.sh", (char *)0); break; } return 0; } int main() { Gpm_Connect conn; int c; conn.eventMask = ~0; /* Want to know about all the events */ conn.defaultMask = 0; /* don't handle anything by default */ conn.minMod = 0; /* want everything */ conn.maxMod = ~0; /* all modifiers included */ if(Gpm_Open(&conn, 0) == -1) printf("Cannot connect to mouse server\n"); printf("mouse menù\n"); gpm_handler = my_handler; while((c = Gpm_Getc(stdin)) != EOF) printf("%c", c); Gpm_Close(); return 0; }
#!/bin/shche esegue il server x, e quando si esce da freevo rilancia automaticamente il programma che ascolta il mouse.
xinit
./mousem
Nessun commento:
Posta un commento