# far avviare un'applicazione all'acpid [risolto]

## MajinJoko

Salve a tutti,

la situazione è questa:

prima usavo acpi4asus, che gestiva tramite un demone (avviato dal mio utente) gli eventi generati dal mio portatile

ora sono passato al modulo asus-laptop presente nel kernel, che redirige gli eventi delle hotkeys sull'acpid.

Visto che a questi tasti ho associato applicazioni come Opera e Nautilus, fintanto che erano gestiti dal demone asus_acpid non c'era problema, perché lo avviavo ogni volta che entravo in gnome, e Opera si apriva correttamente sul mio desktop.

Invece adesso, lo script viene eseguito

 *Quote:*   

> Mar  4 20:01:26 Onizuka acpid: received event "hotkey ATKD 00000051 00000003"
> 
> Mar  4 20:01:26 Onizuka acpid: notifying client 5740[0:0]
> 
> Mar  4 20:01:26 Onizuka acpid: notifying client 5740[0:0]
> ...

 

ma non succede niente.

Mi sembra più che normale, come può sapere l'acpid che l'evento è generato dall'utente mik?

Come posso fare? Purtroppo cercando i vari script per l'acpid ottengo tutta una serie di script che non fanno al mio caso (sono per lo più dedicati a gestire la scarsa batteria o la pressione del pulsante Power).

L'unica cosa che avevo pensato era di provare ad impostare il comando come "su - mik /home/mik/.asus_acpi/hotk2.sh", ma in questo caso:

 *Quote:*   

> Mar  4 20:08:17 Onizuka acpid: executing action "'su - mik /home/mik/.asus_acpi/hotk3.sh'"
> 
> Mar  4 20:08:17 Onizuka acpid: action exited with status 127
> 
> Mar  4 20:08:17 Onizuka acpid: completed event "hotkey ATKD 0000006b 0000000d"

 

Come si nota, cambia lo status di uscita. Probabilmente non è il corretto modo di procedere.

Potete darmi un consiglio voi?

Grazie mille

edit: nell'ultimo caso dovevo mettere

```
action=su - mik /home/mik/.asus_acpi/hotk3.sh
```

anziché:

```
action='su - mik /home/mik/.asus_acpi/hotk3.sh'
```

Così ora torno ad ottenere l'exit status 0: *Quote:*   

> Mar  4 20:18:08 Onizuka acpid: executing action "su - mik /home/mik/.asus_acpi/hotk3.sh"
> 
> Mar  4 20:18:08 Onizuka su[10103]: Successful su for mik by root
> 
> Mar  4 20:18:08 Onizuka su[10103]: + ??? root:mik
> ...

 

Evidentemente, anche questa non è la strada giusta   :Sad: 

----------

## MeMyselfAndI

Non credo che il tuo sia il modo di procedere corretto perche' acpid e' un demone che gira con permessi root se non sbaglio, e non e' concettualmente creato per quel genere di cose che vuoi fare te.

Hai pensato a qualcosa da caricare all'avvio della tua sessione tipo uno dei mille gestori di hotkeys ?

----------

## MajinJoko

Perfetto, allora sbagliavo proprio tutto tutto, eh?

Dovrei quindi tornare indietro. Però L'acpi4asus che usavo prima (che conteneva il demone asus_acpid) con i kernel >2.6.21 non si compila più.

Cercherò dunque qualcosa del genere. Avete dei consigli?

In portage ho visto questo:

 *Quote:*   

> * x11-misc/hotkeys
> 
>      Available versions:  0.5.7.1-r1 ~0.5.7.4.0.1 {gtk xosd}
> 
>      Homepage:            http://packages.debian.org/unstable/x11/hotkeys
> ...

 

Magari è questo ciò a cui ti riferivi. Domani in giornata lo proverò.

Per ora grazie mille.

edit: niente, non è lui. Nel senso che io mi trovo a lavorare con eventi dell'acpi, mentre hotkeys richiede dei keycode. Ic3M4n mi ha segnalato questo: http://gentoo-wiki.com/HARDWARE_Asus_F3JM

ove è riportato uno script che in modo un pò macchinoso fa ciò che mi serve.

Altrimenti ho trovato questo:

https://forums.gentoo.org/viewtopic-t-593276-highlight-hotkeys.html

Tuttavia, la strada più percorribile mi sembra quella di ripiegare in qualche modo ancora su asus_acpid. Se solo si compilasse   :Very Happy: 

----------

## oRDeX

Prima di tutto vorrei correggerti dicendoti che il comando 'su' accetta come parametro un comando da eseguire tramite l'opzione -c, quindi sarebbe corretto scrivere:

```
action='su - mik -c "programma da eseguire come utente mik"'
```

Poi, come detto sopra, acpid gira da root, quindi non e' pensato proprio per questo..

Un altro consiglio, io torvo molto piu' comodo specificare in 'action' uno script e successivamente, al suo interno, procedere con qualsiasi tipo di operazione (cambiamento utente, ecc..)

----------

## MajinJoko

Grazie mille.

Comunque una precisazione: mi appoggiavo già ad uno script. Poi, per le prove, ho messo direttamente il comando.

E grazie ancora per la precisazione del "-c". Non la conoscevo proprio.

Alla fine ho risolto installando il solo asus_acpid (l'ho estratto dal tar di acpi4asus e l'ho compilato).

Ringrazio ancora tutti

----------

