Debian Wheezy-Testing su HP 635

Versione del 26 mag 2015 alle 07:15 di HAL 9000 (discussione | contributi) (rimosso Testing, sostituito con Stretch)
Debian-swirl.png Versioni Compatibili

Debian 7 "wheezy"
Debian 8 "jessie"
Debian 9 "stretch"

Descrizione

Guida per l'installazione e l'ottimizzazione di Debian Wheezy/Testing su portatile HP 635.
Questa guida presuppone una conoscenza intermedia di GNU/Linux e di Debian.

  ATTENZIONE
Questa guida non si pone l'obbiettivo di creare un'installazione completamente libera di Debian ma punta a proporre la massima ottimizzazione del sistema con tutti gli strumenti disponibile per Debian.


Introduzione

L'HP 635 è un portatile di fascia medio/bassa, molto economico, che può vantare di essere uno dei pochi portatili che viene ancora venduto con preinstallato un sistema GNU/Linux: Suse Linux Enterprise Desktop 11. Questa versione enterprise di GNU/Linux, a mio avviso, ha delle politiche troppo restrittive sulla disponibilità dei pacchetti reperibili nei repository e questo ne pregiudica l'utilizzo, si possono aggirare queste restrizioni in due modi:

  1. aggiungendo i repository di OpenSuse (la via semplice e immediata)
  2. installando un sistema operativo GNU/Linux più libero e flessibile come Debian (la via faticosa ma più soddisfacente)

Io tratterò del secondo metodo anche se vorrei avvisare tutti che il portatile così come viene venduto è perfettamente funzionate in ogni suo aspetto. Infatti installando Debian ho avuto non pochi problemi a risolvere uno ad uno ogni piccolo problema, perché il portatile non funziona completamente out-of-the-box; inoltre, prima di dedicarmi all'installazione di Debian, non ho studiato la configurazione di SLED e quindi ogni settaggio è stato il faticoso frutto di analisi, studio e tentavi vari, che però hanno reso questa guida sicuramente più soddisfacente da scrivere.

Faccio presente che l'hardware di questo portatile supporta il kernel amd64, quindi consiglio di usare la versione a 64bit di Debian; inoltre ho preferito installare Debian Testing (che al momento è ancora Wheezy) per poter giovare di un kernel più aggiornato e per avvalermi delle ultime novità in ambito software e di Desktop Environment; e che la scelta di quest'ultimo è ricaduta su Xfce4.8.

Per cui questa guida sarà idealmente divisa in due parti: una prima parte dedicata all'installazione che dovrebbe essere simile a tutti gli ambienti; e una seconda parte dedicata all'ottimizzazione che sarà dedicata ad Xfce, per cui molte soluzione potrebbero non essere adatte a Gnome3 e addirittura potrebbero rivelarsi inutili.


  Suggerimento
Ci sono argomenti in questa guida che non vengono trattati come ad esempio la webcam. Tutto ciò che non viene trattato espressamente deve intendersi come funzionante senza bisogno di configurazioni particolari.


Hardware

  • Processore: 2x AMD E-450 APU with Radeon(tm) HD Graphics
  • Memoria: 1650MB (848MB used)Operating System
  • Scheda grafica integrata: AMD Radeon HD 6320 GraphicsX11
  • Risoluzione video: 1366x768
  • Scheda audio: HDA-Intel - HDA ATI SB
  • Scheda ethernet: RTL8101E/RTL8102E PCI Express Fast Ethernet controller
  • Scheda wifi: AR9285 Wireless Network Adapter (PCI-Express)


Output di LSPCI

00:00.0 Host bridge: Advanced Micro Devices [AMD] Family 14h Processor Root Complex
00:01.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Wrestler [Radeon HD 6320]
00:01.1 Audio device: Advanced Micro Devices [AMD] nee ATI Wrestler HDMI Audio [Radeon HD 6250/6310]
00:11.0 SATA controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]
00:12.0 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:12.2 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:14.0 SMBus: Advanced Micro Devices [AMD] nee ATI SBx00 SMBus Controller (rev 42)
00:14.2 Audio device: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) (rev 40)
00:14.3 ISA bridge: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 LPC host controller (rev 40)
00:14.4 PCI bridge: Advanced Micro Devices [AMD] nee ATI SBx00 PCI to PCI Bridge (rev 40)
00:14.5 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
00:15.0 PCI bridge: Advanced Micro Devices [AMD] nee ATI SB700/SB800/SB900 PCI to PCI bridge (PCIE port 0)
00:15.1 PCI bridge: Advanced Micro Devices [AMD] nee ATI SB700/SB800/SB900 PCI to PCI bridge (PCIE port 1)
00:15.3 PCI bridge: Advanced Micro Devices [AMD] nee ATI SB900 PCI to PCI bridge (PCIE port 3)
00:16.0 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:16.2 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 0 (rev 43)
00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 1
00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 2
00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 3
00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 4
00:18.5 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 6
00:18.6 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 5
00:18.7 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 7
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 05)
07:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)


Installazione

Per l'installazione di Debian Testing vi rimando alla guida ufficiale e alla guida Debianizzata che posso essere validi assistenti anche per Testing.
L'immagine settimanale di Debian Testing Xfce4 la potete scaricare da qui


Avviare Debian la prima volta

Contrariamente a quanto credete una volta installata Debian (sia Squeeze che Wheezy) potreste avere delle spiacevoli sorprese se avviaste normalmente il sistema da Grub. Quindi vi esorto a non farlo perché potreste trovarvi con lo schermo completamente illeggibile e di conseguenza con il computer inutilizzabile; se dovesse capitarvi non vi spaventante ma tenete premuti insieme i tasti alt e stamp premete in sequenza r e i s u b per riavviare da kernel il PC.


  ATTENZIONE
È importante, prima di avviare il PC per la prima volta, modificare i parametri di avvio dell'immagine del kernel.


Modificate la stringa che lancia l'immagine del kernel aggiungendo dopo quiet la stringa radeon.modeset=0 se non dovesse funzionare provate con radeon.modeset=1

A questo punto se volete utilizzare i driver open source Radeon non vi resta che modificare il file /etc/default/grub nel modo descritto sotto per evitare di avere problemi col monitor e la scheda grafica al prossimo riavvio:

GRUB_CMDLINE_LINUX_DEFAULT="quiet radeon.modeset=X"

Dove per X si intende il valore che avete utilizzate per avviare la prima volta il portatile.

Ottimizzazione hardware

Semplici indicazioni per il riconoscimento dell'hardware da parte del sistema operativo.

Installazione dei firmware

Questo è un portatile rognoso che funziona meglio con i firmware chiusi per cui consiglio a tutti di installarli. Per farlo però dovete avere attivi nei vostri repository le sezioni contrib e non-free. Se non sapete di cosa sto parlando vi consiglio prima di leggere questa guida. Posto che tutto è in ordine, da terminale possiamo installare i seguenti pacchetti:

# aptitude install firmware-atheros firmware-linux firmware-realtek rfkill

Verifica dell'hardware audio e video

Audio

Verificate se l'audio funziona correttamente con:

$ cat /proc/asound/cards
0 [Generic        ]: HDA-Intel - HD-Audio Generic
                     HD-Audio Generic at 0x90444000 irq 44
1 [SB             ]: HDA-Intel - HDA ATI SB
                     HDA ATI SB at 0x90440000 irq 16

In ogni caso per un uso ottimale di ALSA vi consiglio di creare il file /etc/asound.conf con i seguenti parametri:

pcm.!default {
    type plug
    slave.pcm "dmixer"
}

pcm.dmixer  {
     type dmix
     ipc_key 1024
     slave {
        pcm "hw:1,0"
        period_time 0
        period_size 1024
        buffer_size 4096
        rate 44100
    }
    bindings {
        0 0
        1 1
    }
}

ctl.dmixer {
    type hw
    card 1
}

  /etc/asound.conf
Questa configurazione vi risparmia di usare PulseAudio perché permette il mixing delle applicazioni tramite ALSA. Potete quindi usare più applicazioni audiovideo simultaneamente senza blocchi dell'audio.


Se avete problemi con il riconoscimento dell'audio tramite applet (come ne ho avuto io con Xfce4.8) controllate che sia installato il pacchetto gstreamer0.10-alsa.


  Suggerimento
Verificate che al momento della vostra installazione quale versione di gstreamer sia attualmente di base in Debian, perché potreste ritrovarvi ad esempio gstreamer0.11 .


HDMI AUDIO

Purtroppo l'uscita audio HDMI non viene riconosciuta a caldo e per questo motivo va impostata manualmente di volta in volta. Esistono dei workaround per creare delle regole per udev ai fini di impostare il riconoscimento della porta HDMI automaticamente ma in questo paragrafo mi limiterò a suggerire un semplice script che attiva e disattiva l'uscita audio HDMI a richiesta.

Per prima cosa dobbiamo conoscere qual è l'indirizzo hardware dell'uscita HDMI:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 0: ALC270 Analog [ALC270 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Poi creiamo all'interno della nostra /HOME il file .asoundrc_off con le seguenti istruzioni:

pcm.!default {
  type hw
  card 0
  device 3
}

A questo punto creiamo un script (che io ho posizionato nella /HOME in una cartella chiamata .scripts) che abilita e disabilita a richiesta l'audio HDMI da associare comodamente ad una combinazione di tasti. In questo script ho usato il comando sudo ma se voi non lo usate dovete sostituire ai comandi con sudo il comando:

su -c 'azione da eseguire'

Lo script lo potete chiamare e posizionare dove volete, io l'ho chiamato hdmi e messo nella cartella .scripts è molto rudimentale per cui sentitevi liberi di modificarlo come più vi aggrada. Semplicemente cambia il nome del file .asoundrc_off in .asoundrc e riavvia alsa, e viceversa, aggiornandovi con una notifica del cambiamento di stato.

#!/bin/bash
########################################
# DESCRIPTION: Switch HDMI AUDIO ON/OFF
########################################
# Check the condition of .asoundrc
hdmiCheck=`ls ~/ -a | grep asou`
hdmi=".asoundrc"
# if OFF turn ON, else turn OFF
if [ $hdmiCheck != $hdmi ]
then
mv $HOME/.asoundrc_off $HOME/.asoundrc
xterm -e 'sudo invoke-rc.d alsa-utils restart' 
notify-send -i dialog-information "HDMI AUDIO ON"
else
mv $HOME/.asoundrc $HOME/.asoundrc_off
xterm -e 'sudo invoke-rc.d alsa-utils restart' 
notify-send -i dialog-error "HDMI AUDIO OFF"
fi
#END
  ATTENZIONE
Questo script abilita l'uscita audio HDMI ma disattiva la funzione dmixer quindi significa che potete usare un'applicazione audio alla volta, per questo motivo è utile principalmente per collegare il PC ad un televisore HD e guardare un film ma non per usare più applicazioni che richiedono l'audio simultaneamente.


Video

Per verificare che il driver video sia funzionante installiamo il pacchetto mesa-utils e controlliamo se è abilitata l'accelerazione 3D tramite modulo radeon:

$ glxinfo | grep vendor && glxinfo | grep render

Se non avete avvisi di qualche errore significa che tutto è correttamente funzionante.

Ottimizzazione video

Qualora non aveste problemi con i driver Radeon le impostazioni di default non sono sufficienti per avere una buona resa.
Per prima cosa consiglio di usare i driver Gallium per il 3D e per farlo bisogna installare il pacchetto libgl1-mesa-dri-experimental, installato e riavviato il server grafico dovreste avere questo output dal terminale:

$ glxinfo | grep vendor && glxinfo | grep render
server glx vendor string: SGI
client glx vendor string: Mesa Project and SGI
OpenGL vendor string: X.Org
direct rendering: Yes
OpenGL renderer string: Gallium 0.4 on AMD PALM
    GL_EXT_vertex_array_bgra, GL_NV_conditional_render,

Per quanto da Squeeze in poi non serva generare un file xorg.conf è necessario per potere avere una visione decente crearlo e aggiungere i parametri che vi suggerisco:

# nano /etc/X11/xorg.conf

E incollare questo:

## Migliorare le prestazioni video

Section "Device"    
      Option      "EnablePageFlip"      "true"    
      Option      "AccelDFS"            "on"   # disabilitare se avete instabilità 
      Option      "RenderAccel"         "true"        
      Option      "AccelMethod"         "EXA"  # disabilitare se avete instabilità   
      Option      "EXAVSync"            "true"    
      Identifier  "Card0"    
      Driver      "radeon"    
      BusID       "PCI:0:1:0"
EndSection

Section "Extensions"
      Option      "Composite" "Enable"
EndSection

Section "DRI"        
      Mode 0666
EndSection

Con queste impostazioni non ho problemi di tearing e sono in grado di riprodurre video in HD, certo la CPU è sottoposta ad un elevato consumo di risorse.

Impostazioni particolari per i Kernel 3.11 e superiori
  ATTENZIONE
Le indicazioni riportate valgono solo per il Kernel 3.11


Dal Kernel 3.11 in poi sono stati (e saranno) fatti molti miglioramenti per i driver open.
Al momento in cui scrivo, per Debian Jessie, il Kernel 3.11 è il più aggiornato a disposizione. Per questo Kernel è a disposizione un'utile opzione che dovrebbe incrementare le opzioni di una vasta gamma di GPU e APU radeon. L'opzione da abilitare si chiama [1] che tuttavia di default è stata resa disabilitata ma si può rendere attiva aggiungendo questo parametro al file /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="quiet radeon.dpm=1"

Fatta questa modifica dobbiamo aggiornare il file grub.cfg con questo comando:

# update-grub

E riavviamo, una volta effettuato il login possiamo verificare lo stato di attivazione con questo comando:

$ dmesg | grep dpm

Tra le varie voci stampate a video dovreste trovare questa:

[drm] radeon: dpm initialized

Va da sé che se notate un decremento delle prestazioni dovete rimuovere il parametro in questione dal Kernel.

Tasti funzione

Di default nel BIOS i tasti funzione sono attivati senza bisogno di combinarli con il tasto fn, quindi se non voleste questa impostazione dovrete entrare nel BIOS e modificare tale parametro. A questo punto dell'installazione funzionano i seguenti tasti funzioni:

  • F2: diminuisce la luminosità del monitor
  • F3: aumenta la luminosità del monitor
  • F4: non funziona (e non so neanche cosa faccia)
  • F5: carica la pagina principale di Iceweasel
  • F6: traccia indietro con Listen (uso questo riproduttore musicale)
  • F7: funziona il play con Listen ma non funziona come pausa
  • F8: traccia avanti con Listen
  • I tasti F9, F10, F11 gestiscono l'audio ma con Xfce4.8 non funzionano, per il loro funzionamento rimando a questa sezione.
  • F12: per far funzionare il tasto di spegnimento del Wi-Fi bisogna innanzi tutto lanciare questo comando:
# rfkill list
0: hp-wifi: Wireless LAN
         Soft blocked: no
         Hard blocked: no 
1: hp-bluetooth: Bluetooth
         Soft blocked: no
         Hard blocked: no 
2: phy0: Wireless LAN
         Soft blocked: no
         Hard blocked: no 3: hci0: Bluetooth
         Soft blocked: no
         Hard blocked: no

Dopo di che la combinazione fn+F12 sembra funzionare correttamente; la descrizione di questa procedura è puramente empirica.

Installazione driver video AMD/ATI

Prima di iniziare vi rimando alla lettura del wiki ufficiale.

Installazione dei pacchetti necessari

Da terminale scaricate i pacchetti per l'installazione:

# aptitude -r install linux-headers-$(uname -r) fglrx-control fglrx-driver

Disabilitare i moduli Radeon

Ricordando sempre che ci stiamo basando su Xfce4.8 Debian Wheezy/Testing, dobbiamo disattivare alcuni moduli del kernel ma per farlo prima dobbiamo disattivare il server grafico. Entrate in una console e loggatevi preferibilmente come amministratori:

# invoke-rc.d lightdm stop

Disabilitiamo i moduli readeon e drm:

# modprobe -r radeon drm

Non vi preoccupate se dà errore perché tanto bisogna riavviare il sistema, basta un semplice reboot da console come amministratore o con sudo e il gioco è fatto.

Configurare i driver proprietari

Sempre con il server grafico disattivato (disattivatelo alla schermata di login) lanciamo il comando:

# aticonfig --initial

Riattiviamo il server grafico:

# invoke-rc.d lightdm start

Una volta loggati dentro l'ambiente apriamo un terminale e verifichiamo che sia tutto in ordine:

$ fglrxinfo
display: :0.0  screen: 0
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: AMD Radeon HD 6320 Graphics
OpenGL version string: 4.2.11566 Compatibility Profile Context

Sfruttiamo l'accelerazione video

L'HP 635 monta un'uscita HDMI, significa che la scheda video integrata è in grado di visualizzare i video in HD ma per farlo bisogna installare correttamente i driver XVBA e poi linkarli correttamente al back-end di VAAPI, tuttavia con le versioni successive a Wheezy è sufficiente impostare correttamente le variabili d'ambiente.

Per prima cosa installiamo i pacchetti necessari, questa operazione è identica per Wheezy e le versioni successive:

# aptitude install amd-libopencl1 xvba-va-driver libva-glx1 libva-x11-1 vainfo

Ho dovuto a questo punto dividere le indicazioni per Wheezy e per Jessy, di quest'ultima poi riporto solo per installazione a 64 bit!

Istruzioni per Wheezy

Verifichiamo se funzionano il corretto link alle librerie:

$ vainfo
libva: VA-API version 0.32.0
Xlib:  extension "XFree86-DRI" missing on display ":0.0".
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/i386-linux-gnu/dri/fglrx_drv_video.so
libva: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit

Se c'è questo errore allora creiamo questo link simbolico in base al tipo di installazione:

$ sudo ln -s /usr/lib/va/drivers/fglrx_drv_video.so /usr/lib/x86_64-linux-gnu/dri/fglrx_drv_video.so  # 64-bit
$ sudo ln -s /usr/lib/va/drivers/fglrx_drv_video.so /usr/lib/dri/fglrx_drv_video.so  # 32-bit

Ora dovremmo avere le impostazioni abilitate e l'accelerazione hardware funzionante!

$ vainfo
libva: VA-API version 0.32.0
libva: User requested driver 'xvba'
libva: Trying to open /usr/lib/va/drivers/xvba_drv_video.so
libva: va_openDriver() returns 0
vainfo: VA-API version: 0.32 (libva 1.0.15)
vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.8.0
vainfo: Supported profile and entrypoints
      VAProfileH264High               :    VAEntrypointVLD
      VAProfileVC1Advanced            :    VAEntrypointVLD

Istruzioni per Jessie (e successive) a 64bit

Con Jessie (ancora in versione testing) e i vari aggiornamenti quei collegamenti simbolici non sono più validi e al contrario le librerie sono collegate correttamente; infatti dopo l'installazione il comando vainfo non segnala problemi:

$ vainfo
libva info: VA-API version 0.34.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/fglrx_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.34 (libva 1.2.1)
vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.8.0
vainfo: Supported profile and entrypoints
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD

Ma ugualmente l'accelerazione non veniva attivata in VLC; per cui indagando sul wiki di VLC ho scoperto che bisogna settare le variabili d'ambiente.
Basta modificare il file /etc/environment aggiungendo i seguenti parametri, che ricordo essere validi solo per le versioni a 64bit:

LIBVA_DRIVER_NAME=xvba
LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri

Poi riavviamo il computer perché quando ho riavviato il server grafico, uscendo semplicemente dalla sessione, questo non si è caricato correttamente.

Adesso abbiamo attivato l'accelerazione hardware che possiamo ad esempio sfruttare con un programma come VLC.

Ottimizzazioni particolari per Xfce4.8

Una serie di trucchi per migliorare l'esperienza d'uso con questo ambiente grafico.

  Suggerimento
Sto consigliando l'utilizzo di diversi script, ricordati di renderli eseguibili per poterli utilizzare. In Xfce puoi farlo cliccando col tasto destro e spuntando la voce 'permetti di eseguire il file come programma'.


Abilitare i tasti speciali per la gestione dell'audio con volumeicon-alsa

Il demone Xfce4-volumed non sono mai riuscito a farlo funzionare per cui anche se ponete l'applet audio mixer sulla tray non funzionerà, il mio consiglio è quello di togliere (nel senso spuntare) l'avvio di quel demone dalle preferenze e installare il pacchetto volumeicon-alsa. Rendetelo poi avviabile ad inizio sessione dalle preferenze in sessione e avvio con il comando volumeicon e avrete l' applet funzionante nella tray; se spuntate tutte le voci in hotkeys nelle preferenze dell' applet avrete funzionanti i tasti speciali con tanto di visualizzazione del cambiamento del livello di volume nelle notifiche di Xfce4.

Abilitare i tasti speciali per la gestione dell'audio con pulse

  ATTENZIONE
Queste indicazioni sono pensate espressamente per pulse audio.


Se preferite installare pulse perché è un gestore audio più moderno rispetto ad alsa e molti programmi multimediali si appoggiano alla sua infrastruttura potete seguire queste istruzioni. Prima però per impostare pulse vi rimando alla guida debianizzata.

Pulse di default non regola il volume con i tasti audio presenti nel portatile ma noi possiamo rimappare i tasti funzione in Xfce e associare i comandi, ma per farlo tramite dobbiamo utilizzare questo script, che vi consiglio di mettere in una cartella invisibile (la mia l'ho chiamata .scripts) all'interno della home, da lanciare all'avvio creando una voce in 'gestore impostazioni', 'sessione e avvio', 'avvio automatico' e 'aggiungi' nome e posizione dello script:

#!/bin/bash

#### Create ~/.pulse/mute if not exists
ls ~/.pulse/mute &> /dev/null
if [[ $? != 0 ]]
then
    echo "false" > ~/.pulse/mutefi

####Create ~/.pulse/volume if not exists
ls ~/.pulse/volume &> /dev/null
if [[ $? != 0 ]]
then    echo "65536" > ~/.pulse/volume
fi

CURVOL=`cat ~/.pulse/volume`    #Reads in the current volume
MUTE=`cat ~/.pulse/mute`        #Reads mute state

if [[ $1 == "increase" ]]
then
    CURVOL=$(($CURVOL + 3277))    #3277 is 5% of the total volume, you can change this to suit your needs.
    if [[ $CURVOL -ge 65536 ]]
    then
        CURVOL=65536
    fi
elif [[ $1 == "decrease" ]]
then
    CURVOL=$(($CURVOL - 3277))
    if [[ $CURVOL -le 0 ]]
    then
        CURVOL=0
    fi
elif [[ $1 == "mute" ]]
then
    if [[ $MUTE == "false" ]]
    then
        pactl set-sink-mute 0 1
        echo "true" > ~/.pulse/mute
    exit
    else
        pactl set-sink-mute 0 0
        echo "false" > ~/.pulse/mute
    exit
    fi
fi

pactl set-sink-volume 0 $CURVOL
echo $CURVOL > ~/.pulse/volume    # Write the new volume to disk to be read the next time the script is run.

Andare nel 'gestore delle impostazioni', 'tastiera' e 'scorciatoie' per rimappare i tasti volume con i seguenti parametri:

amixer set Master 5%+ 
amixer set Master 5%- 
amixer set Master toggle

Abilitare il tapping

Il tapping non è attivo di default ma possiamo attivarlo lanciando un comando all'avvio

$ synclient TapButton1=1

Consiglio di installare il pacchetto gpointing-device-settings per modificare i parametri del tapping.

Attivare e disattivare il touchpad

Su SLED 11 funzionava l'attivazione/disattivazione del touchpad tramite doppio colpo sull'angolo alto a sinistra. Con Debian non sono riuscito a risolvere questo problema ma ho trovato una procedura altrettanto valida:

#!/bin/bash 
####################################### 
# DESCRIPTION: Toggles Touchpad ON/OFF 
# DATE: 15.4.2011 # AUTHOR: ssnjara 
####################################### 
# Check if Touchpad is ON and set "var" acording 
var=`synclient | grep TouchpadOff | cut -d\= -f2` 
# if ON turn OFF, else turn ON 
if [ $var -eq 0 ] 
then 
synclient TouchpadOff=1 notify-send -i dialog-error "Touchpad disabled!" 
else 
synclient TouchpadOFF=0 notify-send -i dialog-information "Touchpad enabled!" 
fi 
#END

Infine mappare il comando con una nuova combinazione di tasti (io ho usato super + F4).

Problemi vari

Essendo un'installazione basata su Testing (prima Wheezy poi Jessie) nel tempo mi sono dovuto imbattere in alcune problematiche che sono insorte dopo alcuni aggiornamenti, alcune di esse sono riuscito a risolvere altre invece rimangono ancora senza una soluzione, altri problemi invece non dipendono direttamente dalla versione di Debian in uso.

Frame Buffer non funzionante

Dopo diversi aggiornamenti di Xorg, Catalyst e altro ancora le console TTY non sono più visualizzabili perché non viene creata la voce /dev/fb0 e quindi non si può più accedere al sistema in modalità testuale senza server grafico attivo. Per risolverlo ho utilizzato questo workaround: http://crunchbanglinux.org/wiki/howto/adjust_grub2_framebuffer

Si prenda in esame di seguire le indicazioni presenti alla pagina ufficiale del Wiki di Debian: https://wiki.debian.org/GrubTransition.

Problemi con il mouse

Il pacchetto laptop_mode_tools ha, quando il portatile è alimentato dalla batteria, il pessimo comportamento di mettere in sospensione il mouse se inattivo per qualche minuto. Questa impostazione è a dir poco irritante ma si può risolvere facilmente.
Per prima cosa bisogna scoprire qual è l'indirizzo USB del proprio mouse da terminale:

$ lsusb | grep mouse
Bus 001 Device 004: ID 062a:0000 Creative Labs Optical mouse

Poi andiamo a modificare questo file /etc/laptop-mode/conf.d/usb-autosuspend.conf cercando la parte che ci interessa andando ad aggiungere gli otto numeri dopo la voce ID nel mio caso sono 062a:0000, come riportato qui sotto:

# The list of USB IDs that should not use autosuspend. Use lsusb to find out the
# IDs of your USB devices.
# Example: AUTOSUSPEND_USBID_BLACKLIST="046d:c025 0123:abcd"
AUTOSUSPEND_USBID_BLACKLIST="062a:0000"

Ora il mouse funzionerà senza mai andare in sospensione.

  ATTENZIONE
Questa procedura va fatta per ogni mouse che pensiate di usare con il vostro portatile.


Problemi con la luminosità dello schermo

Può succedere che con alcuni kernel il sistema non sia in grado di regolare automatica la luminosità dello schermo io ho risolto il problema in questo modo:

  • Con i driver Open
Potete provare ad aggiungere questo parametro all'avvio del kernel modificando il file /etc/default/grub:
GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi_backlight=vendor"
Fatta questa modifica dobbiamo aggiornare il file grub.cfg con questo comando:
# update-grub
E riavviamo, già dal caricamento dovremmo accorgerci del cambiamento avvenuto


  • Con i driver Catalyst
In questo caso, non sapendo della soluzione precedente, ho installato il pacchetto xbacklight e aggiunto all'avvio di sessione il seguente comando:
xbacklight -set 100
Questo imposta la luminosità al 100%, potete settare il valore che preferite se non gradite lo schermo troppo luminoso.

Webography

L'elenco dei siti che ho consultato per la realizzazione di questa guida:




Guida scritta da: Danielsan 14:07, 1 mag 2012 (CEST)   Debianized 20%
Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized