Assegnare un comando di shell ad un tasto.

Salve, ho trovato il comando per poter modificare la luminosità dello schermo del mio SAMSUNG NC10.

setpci -s 00:02.1 F4.B=99

Avevo intenzione di assegnargli il tasto di tastiera, ma ho un paio di problemi:

  1. Abbiamo bisogno di essere root:

[xxx@yyy ~]$ su Password:
Mi sono ricordato che a “preferenze”->“authorizations” potevo modificare le autorizzazioni, ma non sono riusci o trovare dove andare a modficare.

  1. Pensavo di usare “preferenze”->“Scorciatoie da tastiera”, ma penso che cosi non funzioni perché l’ho provato con altri comandi da tastiera e non va.

Qualche consiglio??

Usi kde o gnome?

gnome

Ho in parte risolto il problema, ho installato xbindkeys.
Poi ho creato il file di configurazione:

xbindkeys --defaults > ~/.xbindkeysrc

Poi usando il comando:

xbindkeys -k

Posso identificare l’identificativo del tasto:
“(Scheme function)”
m:0x4 + c:116
Control + Down

Poi al posto di “(Scheme function)” ci scrivo il comando: "setpci -s 00:02.1 F4.B=30"

Inizialmente non funzionava perché il comando funziona solo da root. Quindi questa procedura lo ripetuta da superuser e funziona tutto.
Ho anche ripertuto la stessa procedura assegnando Control + Up a “setpci -s 00:02.1 F4.B=99”.

Ora per concludere l’opera devo dire al mio fedora di far partire il xbindkeys con i privilegi da root.

Come posso fare?
Un’altra cosa, ho trovato anche il comando nvclock per la luminosità delle schede nvidia, esiste una cosa simile anche per le intel?

Potresti assegnare il permesso :

# chmod u+s /usr/bin/xbindkeys

Ma al momento non ho pensato ad eventuali controindicazioni ad assegnare tale permesso al xbindkeys…

Cosa fa u+s? Non lo mai usato.
Mica da privilegi da super-user al programma? Se cosi non va!

Cosa succede se facciochmod u+s setpci??
Perchè il mio ostacolo maggiore è che per eseguire il comando setpci devo essere root.

Cosi come è configurato ORA il sistema ho messo il file di configurazione del xbindkeys dentro la cartella root. Ora per poter far funzionare tutto ogni volta che accendo il pc devo fare da terminale:

[utente@notebook ~]$ su
Password: 
[root@notebook utente]# xbindkeys

Vorrei che questa operazione sia fatta in automatico.
Una volta ho fatto una cosa del genere inserendo dei comandi in un file. Ma ora proprio non ricordo.

Comunque mi interessa prima sapere se posso assegnare setpci ad un utente normale, risolviamo un problema alla volta :smiley:

Ho messo troppa carne al fuoco :smiley:

  1. Io ho “setpci -s 00:02.1 F4.B=99” che può essere eseguito solo da root.
    E’ possibile impostare qualcosa per poterlo eseguire anche da utente normale??

  2. Per poter eseguire un comando automaticamente all’avvio del sistema dove lo devo inserire?

Trovate le risposte a queste due domande penso di stare apposto. :smiley:

  1. ti ha risposto l’ottimo Geno

  2. devi mettere il comando in: /etc/rc.d/rc.local

ho inserito il comando dentro /etc/rc.d/rc.local
ma non mi parte, vi posto il mio rc.local:

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
xbindkeys

Infatti cercando tra i processi attivi non lo trovo, io ho fatto

ps -ef