mercoledì 31 gennaio 2007

Skype e microfono muto

Per poter essere uditi dagli interlocutori Skype durante una conversazione, occorre accedere al mixer audio preferito ( kmix o similari ), ed attivare, tra i dispositivi di ingresso, non solo il microfono, ma anche il capture. Quest'ultimo controllo è fondamentale, perchè altrimenti anche con il micro al massimo l'audio non lascia il computer. Il livello di capturing deve essere messo al massimo, e deve essere attivata l'opzione di registrazione.

Un altro interruttore che è utile attivare per le conversazioni Skype è il mic boost, che amplifica di 20 DB il segnale microfonico, rendendo la voce ancora più comprensibile al proprio interlocutore. In caso di attivazione di tale switch, è bene non tenere al massimo il controllo del microfono, per evitare effetti di rimbombo e di innesco sulle casse del laptop.

Inoltre, è fondamentale che Skype parta dopo il mixer in uso. Almeno sulla mia macchina, se Skype parte prima di Kmix gli interlocutori non sentono nulla anche attivando correttamente i controlli suddetti.

mercoledì 24 gennaio 2007

Gestione dell'energia con ACPI

Fedora consente di gestire l'energia del laptop Toshiba attraverso APM e ACPI. Tuttavia, ACPI ( Advanced Configuration and Power Interface ) è pienamente supportato dal kernel Fedora, ed è inoltre una specifica nativa Toshiba, nel senso che Toshiba è una delle case promotrici di tale standard, quindi rappresenta una scelta quasi naturale nella gestione dell'energia del laptop.

Attivare ACPI come servizio al boot della macchina, al posto di APM, potrebbe comunque non bastare, perchè non sono nuove situazioni nelle quali la macchina, a seguito di un resume, non funziona appropriatamente: blank screen, audio muto, ecc.

La modalità che ho scelto per la gestione tramite ACPI della sospensione e del riavvio del sistema è per ora legata solamente alla sospensione su RAM ( stand-by ). Opzioni quali la sospensione su disco o l'ibernazione completa non sono ancora state provate; in particolare, l'ibernazione richiede moduli software aggiuntivi.

La sospensione viene realizzata semplicemente chiudendo il portatile; riaprendolo, il sistema riparte automaticamente. Non faccio uso delle opzioni messe a disposizione dal modulo KDE Klaptop, non perchè esse non funzionino, ma perchè occorre una impostazione specifica che al momento non mi occorre. E' molto semplice chiudere il portatile ed attivare lo stand-by, e riaprirlo, attivando automaticamente il resume.

Per ottenere questo risultato, da utente root, seguire i passi seguenti.

Nella directory /etc/acpi/actions, inserire il file lid.sh e attivare i permessi di esecuzione. Il file avrà questo contenuto:

#!/bin/sh
/path/to/suspend.sh

dove /path/to va sostituito con il percorso assoluto dello script shell che si occupa della sospensione e della riattivazione del sistema. Un esempio è stato inserito sotto.

Nella directory /etc/acpi/events, inserire il file lid. Il file avrà questo contenuto:

event=button[ /]lid.*
action=/etc/acpi/actions/lid.sh

Questo file determina quale script verrà eseguito alla chiusura del portatile, nel nostro caso lid.sh, che a sua volta invocherà [..]/suspend.sh.

Questo è il file suspend.sh nella mia macchina:
#!/bin/sh

# discover video card's ID
ID=`lspci | grep VGA | awk '{ print $1 }' | sed -e 's@0000:@@' -e 's@:@/@'`

# securely create a temporary file
#TMP_FILE=`mktemp /var/tmp/video_state.XXXXXX`
TMP_FILE=`mktemp /tmp/video_state.XXXXXX`
trap 'rm -f $TMP_FILE' 0 1 15

# switch to virtual terminal 1 to avoid graphics
# corruption in X
chvt 1

# write all unwritten data (just in case)
sync

# dump current data from the video card to the
# temporary file
cat /proc/bus/pci/$ID > $TMP_FILE

# Arresto il network prima del suspend
/etc/init.d/network stop

# Evito che ALSA si inchiodi al resume
amixer -c 0 sset Master mute

# suspend
echo -n mem > /sys/power/state

# restore video card data from the temporary file
# on resume
cat $TMP_FILE > /proc/bus/pci/$ID

# switch back to virtual terminal 7 (running X)
chvt 7

# Riabilito ALSA
amixer -c 0 sset Master unmute

# Riattivo il network dopo il suspend
/etc/init.d/network start

# remove temporary file
rm -f $TMP_FILE


Naturalmente, il file deve avere i permessi di esecuzione.

Questo script gestisce appropriatamente lo schermo, ed evita il blank screen se si chiude il portatile in ambiente X. In ambiente console, occorre riattivare la console con [CTRL] [ALT] [Fx], dove x sta per la console desiderata.

Lo script, che è stato prelevato da questo ottimo articolo assieme ai passi per attivare il supporto ACPI in modalità minimale di stand-by, è stato arricchito da alcune operazioni ( evidenziate in verde ) volte a sospendere e ripristinare correttamente l'intero sistema.

In particolare, prima della sospensione vengono disattivate tutte le interfacce di rete correntemente attive, e viene disattivato il Master control di ALSA, in quanto la sospensione del sistema ( con ALSA come layer sonoro ) blocca ALSA alla riattivazione, disattivando conseguentemente l'audio. Dato che Fedora non ha ( nella release 5 e superiori ) sistemi semplici di riattivazione di ALSA senza effettuare un reboot, l'inserimento di questa semplice sequenza di comandi sembra riattivare correttamente il supporto sonoro. Grazie alle informazioni presenti in questo articolo, e ai files gentilmente messi a disposizione dall'autore, è stato possibile arrivare a questa soluzione.

La riattivazione delle interfacce di rete, necessaria alla mia specifica configurazione, viene effettuata invece automaticamente dallo script.

Etichette:

domenica 21 gennaio 2007

Flash plugin per Firefox non visualizza tutti i Font

In attesa del nuovo plugin Adobe Flash per Linux, l'attuale versione del plugin Adobe Macromedia Flash per Firefox ( 7.x ) presenta un inconveniente di visualizzazione di caratteri, dovuto all'ambiente di sviluppo del plugin stesso.

Può infatti capitare che un oggetto Flash caricato nell'environment Firefox non visualizzi nessun carattere al suo interno, o solamente una parte.

Per risolvere questo problema, agire come riportato su questa pagina . In pratica, il codice da inserire come utente root da terminale è questo:

[root> ~]# mkdir -p /usr/X11R6/lib/X11
[root> ~]# cd /usr/X11R6/lib/X11
[root> X11]# ln -s /etc/X11/fs
[root> X11]# ln -s /usr/share/X11/fonts

Al termine di queste semplici operazioni, il plugin Flash dovrebbe essere in grado di visualizzare immediatamente i caratteri che prima non venivano visualizzati.

Grazie a tutte le persone che nei vari blog hanno contribuito a diffondere questa (pseudo)patch.

sabato 13 gennaio 2007

Aprire Mozilla Firefox sempre massimizzato

Il browser Mozilla Firefox salva in chiusura le impostazioni della dimensione della finestra, in modo da riaprirsi la volta successiva nello stesso modo.

Tale comportamento, memorizzato nel file localstore.rdf all'interno dei file personali di Firefox nella cartella $HOME, può diventare un problema, nel momento in cui alcuni siti Internet aprono al click su alcuni loro collegamenti nuove finestre di navigazione e le ridimensionano a grandezze precise. Se Firefox viene chiuso con queste finestre ancora attive, può prendere come dimensione di default quella della finestra ridimensionata, ed il risultato diventa che ogni volta che si apre Firefox, poi occorre massimizzarlo con un nuovo click sul pulsante di massimizzazione.

Per fare sì che Mozilla Firefox si apra sempre massimizzato, occorre:
  • Attivare il browser.
  • Massimizzare la finestra senza aprire alcun collegamento, nemmeno in una nuova scheda.
  • Chiudere il browser.
Questo dovrebbe permettere, da quel momento in poi, l'apertura di Firefox sempre in finestra massimizzata. Ripetere quando necessario queste semplici operazioni, in caso di perdita di questa impostazione.