# Mouse e tastiera non funzionano più [RISOLTO]

## arkindal

Saluti a tutti, 

premetto che TUTTO funzionava bene prima, mouse, tastiera, X...

Ieri prendo il portatile, do il comando kdm e non succede niente, killall kdm, kdm, niente.

startx

fatal server error, no screen found (o simile).

Una rapida googolata mi fa risolvere il problema facendomi riconfigurare xorg.conf, ora startx e kdm partono bene ma quando sono in interfaccia grafica mouse e tastiera non funzionano, nemmeno per passare da interfaccia a shell premendo ctrl+alt+f1.

Qualche idea?Last edited by arkindal on Tue Aug 30, 2011 12:55 am; edited 1 time in total

----------

## Ic3M4n

hai per caso aggiornato xorg-server ultimamente? nel caso devi reinstallare i singoli moduli dei device...

nel mio caso questi sono:

```

eix -cCI x11-drivers

[I] x11-drivers/nvidia-drivers (270.41.19@31/07/2011): NVIDIA X11 driver and GLX libraries

[I] x11-drivers/xf86-input-evdev (2.6.0@25/06/2011): Generic Linux input driver

[I] x11-drivers/xf86-input-joystick (1.6.0@05/07/2011): X.Org driver for joystick input devices

[I] x11-drivers/xf86-input-keyboard (1.6.0@25/06/2011): Keyboard input driver

[I] x11-drivers/xf86-input-mouse (1.7.0@25/06/2011): X.Org driver for mouse input devices

[I] x11-drivers/xf86-input-synaptics (1.4.0@25/06/2011): Driver for Synaptics touchpads

[I] x11-drivers/xf86-video-nouveau (0.0.16_pre20110323@25/06/2011): Accelerated Open Source driver for nVidia cards

```

nel tuo li trovi con lo stesso comando.

se non ti trovi in questa situazione le informazioni che hai dato mi sa che sono un po' pochine per poter risalire al problema.

my 2 cents

----------

## arkindal

Io aggiorno ogni giorno, quindi mi sa che il problema è quello.

Sono nuovo di gentoo, non ho capito benissimo se devo ricompilare il kernel o reinstallare i driver con emerge.

----------

## Ic3M4n

con emerge...

il comando che ho dato è eix, se non l'hai installato fallo, è un programma esterno che velocizza di molto la ricerca dei pacchetti da installare.

----------

## arkindal

Grazie della dritta, quando mi libero ci provo!  :Smile: 

----------

## arkindal

Ha funzionato perfettamente, ti ringrazio!

----------

## djinnZ

```
for n in `ls /var/db/pkg/x11-drivers` ; do emerge -1 =x11-drivers/$n ; done
```

oppure

```
for n in `eix --only-names -I x11-drivers/*` ; do emerge -1 $n ; done
```

----------

## Ic3M4n

bello --only-names non lo conoscevo. brao

ed io che mi tiravo matto con grep... cosa diceva il saggio? RTFM?

----------

## arkindal

 *djinnZ wrote:*   

> 
> 
> ```
> for n in `ls /var/db/pkg/x11-drivers` ; do emerge -1 =x11-drivers/$n ; done
> ```
> ...

 

Mi vergogno tanto a ammetterlo ma... Non ho proprio capito :-\

----------

## Ic3M4n

con il comando che ho scritto io hai la lista dei pacchetti da aggiornare che poi o riscrivi nel terminale o ti metti a copiaincollarli, se hai più di due pacchetti da installare direi che è un po' una scocciatura; con quello che ti ha dato djinnZ, non li ho provati (ho la paranoia che il caro djinnZ abbia inserito qualche rm -rf /* da qualche parte   :Wink:  ), dovresti essere in grado di installarli senza dover far alcun copia incolla in quanto il ciclo for prende i singoli pacchetti in output da eix o dal contenuto della dir in /var e lo da in pasto direttamente ad emerge. l'unico difetto che vedo nel suo approccio è che viene lanciato n volte emerge ed ogni volta il calcolo delle dipendenze ci potrebbe mettere un po' di tempo. il lancio di un processo solo, da come la vedo, potrebbe essere più veloce. anche l'utilizzo del parametro --nodeps potrebbe essere preso in considerazione da associare ad emerge, tanto uno vuole installare il singolo pacchetto. il tempo di "attesa" dovrebbe calare un altro pochino.

----------

## arkindal

Oh, capito, grazie  :Smile: 

 *Ic3M4n wrote:*   

> (ho la paranoia che il caro djinnZ abbia inserito qualche rm -rf /* da qualche parte   )

 

Sarebbe una cosa cattivissima, troppo.

----------

## djinnZ

 *Ic3M4n wrote:*   

> RTFM?

 No, utilizzare quell'inutile orpello che madre natura ha messo a separare le orecchie... la pigrizia è una cosa sana quando non è mentale... questi sono i risultati di un sistema educativo oppressivo basato sulla selezione a matrice classista... capita di re-inventare l'acqua calda... etc.  :Mr. Green: 

Per punizione riassumi (compreso quanto sotto) e scrivi un bel tip...  :Laughing: 

Se è per questo c'è anche modo far sputare ad eix una lista di in un'unica riga e nel formato esatto ma la sintassi è pazzesca (e mal documentata) o più semplicemente si può pensare a qualcosa del genere ls | xargs.

Il primo approccio è più utile quando ci sono pacchetti slotted (e non è iul caso dei driver xorg) rispetto ad eix.

Compilando un pacchetto alla volta ne compili il più possibile ma, di contro, potresti non vedere se ne hai saltato qualcuno. Dato che i driver sono pochi e non c'è da sbattersi più di tanto (oltre alla possibilità di un EMERGE_DEFAULT_OPTS="--quiet" che non guasta) per una singola linea di comando.

@arkindal: l'idea è solo suggerire lo scripting in linea di comando per fare simili cose in vece dell'approccio da utonto (windozziano). Il for in una singola riga è uno strumento eccelso e troppo spesso sottovalutato od ignorato.

E di norma metto sempre qualche errore negli script che posto (del genere un ";" od un "done" mancante però) tanto per rendere impossibile utilizzarli alla cieca (premesso che un errore può sempre capitare, quindi mai fidarsi). Ma c'è chi vuol provocare anche se non raccolgo. E se proprio si vuol esser cattivi è meglio un rm * * in / anzichenò.

Spero che la logica e l'approccio ti siano chiari adesso.

----------

## arkindal

Dici che per spingere la gente a non copiaincollare le cose come pecore senza capirci una mazza le obblighi a leggersi bene i comandi che suggerisci se non sbaglio.

Condivido lo spirito, ma penso che alcuni utenti non arriverebbero a capire lo stesso, probabilmente sono uno di quelli, anche se vedendo le righe che suggerivi il ; mi sembrava strano.

----------

## djinnZ

```
for n in `ls /var/db/pkg/x11-drivers` ; do echo =x11-drivers/$n ; done
```

se invece scrivo

```
for n in `ls /var/db/pkg/x11-drivers` do echo =x11-drivers/$n ; done
```

la shell la prende a male e risponde

```
bash: syntax error near unexpected token `done'
```

senza eseguire nulla.

Dato che ho postato un paio di tip che usati senza capire e senza essere adattati renderebbero il sistema inutilizzabile ho usato questo espediente per impedire che possano essere eseguiti alla leggera.

Ma anche per riderci sopra, non lo nego (e la mia signature dovrebbe essere eloquente).

E da allora (anche perché, senza volerlo una volta avevo piazzato un errore serio) c'è chi sfotte.

Il comando (valido, tanto è banale e non può far danni) te lo ho postato per fornirti un punto di partenza da cui adattarlo, il forum non è un helpdesk e nemmeno un wiki.

Se c'era da cancellare file o lanciare emerge -C etc. il ; mancante (forse, non è che lo faccio sempre) ci sarebbe stato, ma te lo avrei detto "bada che ho inserito un errore apposta" altrimenti non serve a niente.

Non sarebbe la prima volta che qualcuno copia ed incolla uno script o dei comandi, da discussioni vecchie di anni e non più valide, per poi lamentarsi dei danni.

Dimmi piuttosto se hai capito la logica (per esempio se decidessi di ricompilare tutto kde-base niente -O ed xargs devi vedere se puoi permettertelo) e che imparare ad usare la shell è cosa buona e giusta, tuo dovere e fonte di salvezza...  :Twisted Evil: 

----------

## arkindal

 *djinnZ wrote:*   

> 
> 
> Dimmi piuttosto se hai capito la logica (per esempio se decidessi di ricompilare tutto kde-base niente -O ed xargs devi vedere se puoi permettertelo) e che imparare ad usare la shell è cosa buona e giusta, tuo dovere e fonte di salvezza... 

 

Cosa intendi con "se hai capito la logica"? 

Per quanto riguarda la shell si, ho capito bene che bisogna saperla usare, prima il mio portatile montava openbox standalone con tint2 come barra e facevo tutto tutto da linea di comando, sono dovuto passare a kde perchè, purtroppo, è l'unico ambiente che mi permette di vedere le thumbnail di tutte le immagini quando cerco di caricarne una impedendomi di doverle cliccare per vederle (invece che usare il dialogo di gtk vedo direttamente il file manager), e tutto questo me lo ero un po' autoimposto per prendere confidenza con la shell. Ho iniziato a usare linux con ubuntu, poi sono passato a arch e ora sto usando gentoo, uso distro sempre più complicate proprio per imparare, mi diverte, guardo con ammirazione e un po' di invidia quelli che sono MOLTO più bravi di me, spero un giorno di potermi rendere utile come quelli che stanno aiutando me a migliorare.

Tutta questa trafila noiosissima per dire che si, so che usare la shell è bene e che spesso per ottenere qualcosa BISOGNA usarla  :Razz: 

----------

## Ic3M4n

@djinnZ: Per quanto riguarda il:

 *Quote:*   

> Compilando un pacchetto alla volta ne compili il più possibile ma, di contro, potresti non vedere se ne hai saltato qualcuno. Dato che i driver sono pochi e non c'è da sbattersi più di tanto (oltre alla possibilità di un EMERGE_DEFAULT_OPTS="--quiet" che non guasta) per una singola linea di comando. 

 

con portage 2.2, non so se esistesse anche prima c'è un opzione caruccia --keep-going=y che continua a compilare i pacchetti anche dopo una failure. alla fine riassume sinteticamente i pacchetti che hanno fallito la compilazione dandoti la possibilità di non essere perennemente davanti al monitor quando compili infinità di pacchetti.

----------

## djinnZ

@Ic3M4n: da 2.1.qualcosa.

Ma il rovescio della medaglia è che --resume --skipfirst oltre a saltare il pacchetto che fallisce se è una dipendenza salta anche il pacchetto che lo richiede e tutte le altre sue dipendenze.

Non ne sono molto felice e trovo assurdo dovermi sbattere con degli script per ovviare. (In fase di prima installazione la differenza c'è)

MI sa che è la volta buona che passo a paludis.

```
emerge --quiet --keep-going=y -a1v `eix --only-names -I x11-drivers/* | xargs`
```

è funzionale allo scopo ma

```
emerge --quiet --keep-going=y -a1Dv `eix --only-names -I x11-libs/* | xargs`
```

dovrebbe lasciarti diversi pacchetti da compilare.

Se poi parli di cose del genere emerge -e @system ... puoi immaginare le bestemmie.

C'è un apposito corollario alla legge di murphy sulle innovazioni dannose ed il proverbio sulla via vecchia e la nuova risale all'antica Roma, se non erro.

@arkindal: se hai capito come si usano emerge, eix e la shell per ricompilare intere parti del sistema, se ti è chiaro quando usare ls /var/db/pkg (NB: è la directory che contiene il database dei pacchetti, caldamente consigliato farne un backup di quando in quando e se la pialli o ne danneggi il contenuto è facile dover ricominciare da zero) etc.

----------

## arkindal

 *djinnZ wrote:*   

> 
> 
> @arkindal: se hai capito come si usano emerge, eix e la shell per ricompilare intere parti del sistema, se ti è chiaro quando usare ls /var/db/pkg (NB: è la directory che contiene il database dei pacchetti, caldamente consigliato farne un backup di quando in quando e se la pialli o ne danneggi il contenuto è facile dover ricominciare da zero) etc.

 

Emerge più o meno, mi è chiaro come installare, disinstallare e aggiornare, ma altre possibilità devo ancora impararle. Eix lo uso da così poco, so solo usarlo per quel che mi ha spiegato prima Ic3m4n.

Ricompilare parti del sistema, dubito di averlo capito visto che non capisco nemmeno cosa vuol dire  :Sad: 

ls /var/db/pkg lista il contenuto della cartella e grazie mille per il consiglio sul backup  :Smile: 

----------

