Raccourcis clavier "globaux" avec comme sans X

Hello !

J’aimerai assigner des commandes a certaines touches de mon clavier (essentiellement pour le volume sonore et la musique), mais je n’ai pas la moindre idee d’ou commencer a chercher…

L’objectif est que la commande soit lancee quelle que soit l’application en cours, graphique ou non…

Toute piste de recherche est la bienvenue !

tu as cette possibilité sous KDE mais aussi, je suppose sous d’autres gestionnaire de fenêtres/bureaux.

Essaie de voir avec remoot (remoot.org/), pas dans les dépôts debian. Il y a de bonnes explications sur leur site. Ça c’est pour la partie avec X.

Maintenant sans X… Peut-être via des scripts acpi.

Je viens de jeter un oeil sur le site de remoot…
Ce qui m’a permis a la fois de voir que je n’en avais pas besoin (je prefere utiliser directement mocp et amixer), mais aussi d’apprendre l’existence de xbindkeys qui me semble etre ce qu’il me faut pour utiliser mes raccourcis sous X !

@ Ricardo : Je n’utilise pas de gestionnaire de fenetres, mes (tres rares) applications graphiques sont lancees par un alias du type app=‘xinit /chemin/app’…

Si je n’ai toujours aucune idee pour ce qui est d’une solution en ligne de commande, c’est surtout sous X que se manque se fait sentir… Bah oui, en ligne de commande il me suffit de taper directement la commande en question !

voila une autre piste peut être
une réponse que j’avais donné pour une config clavier multimédia
http://forum.debian-fr.org/viewtopic.php?f=3&t=26612&p=263948#p263948
:006

A y est, j’ai reussi a configurer xbindkeys selon mes desirs (je suppose qu’xmodmap que propose sinozis a un comportement semblable) !

Maintenant, reste a trouver comment le lancer en meme temps que mes sessions graphiques, en gardant en tete que je n’utilise pas de gestionnaire de fenetres…
Peut etre du cote d’.xinitrc ? Mais je crois que ce dernier est ignore lorsqu’on lance xinit avec un argument comme je le fais…

Une solution temporaire quoique tres moche : remplacer dans le fichier .bash_aliases tous les alias du type alias app=‘xinit /chemin/app’ par des alias du type app=‘xinit /usr/bin/xterm -e “xbindkeys && app”’ !

Ca marche, mais je prefererais trouver une solution modifiant directement le comportement de xinit plutot que de devoir passer par xterm a chaque fois…

Toute suggestion est la bienvenue !

Le paquet keyboard-configuration bien configuré permet en tous cas à mes logiciels graphiques de gérer les touches multimžédia de mon clavier (un logitech de modèle inconnu, « Logitech Media Elite » si j’en crois ce que j’ai répondu à un ‘dpkg-reconfigure keyboard-configuration’) sans manipulation supplémentaire !

Il me semble qu’il faut lancer xmodmap avant xbindkey pour que tout marche bien, mais si tu n’as pas de bugs alors tout roule!
Si tu veux que xbindkey soit lancé en même temps que n’importe quelle application X, pourquoi ne ferais-tu pas un .xinitrc de ce genre :

[code]export LC_ALL=fr_FR.UTF-8
export LANG=fr_FR.UTF-8
if which dbus-launch >/dev/null && test -z “$DBUS_SESSION_BUS_ADDRESS”; then
eval dbus-launch --sh-syntax --exit-with-session
fi
export OOO_FORCE_DESKTOP=gtk
mpd &
mpdscribble &
urxvtd &
/home/xavier/Documents/Scripts/mails.sh &
/home/xavier/Documents/Scripts/wallpaper.sh &
case $1 in
dwm )
/home/xavier/Documents/Scripts/dmenu/dstatus.sh &
exec /usr/local/bin/dwm
;;
xfce )
startxfce4
;;
evilwm )
exec evilwm -bg “3C3C3C” -fg “554444” -bw 2 -mask1 mod4 -mask2 mod4 -term dmenu_run
;;
wmii )
exec wmii
;;
"")

	/home/xavier/Documents/Scripts/dmenu/dstatus.sh &
	exec /usr/bin/dwm
	;;
* ) 
	$1 
;;

esac
[/code]
En fait, au début, tu as toutes les commandes que tu veux lancer à chaque fois. Ensuite, tu as un comportement différent selon ce que tu passe en argument, et si tu ne passe rien, ce sera dwm de lancé (ici). À noter qu’il faudrait sans doute remplacer le $1 par un $@ .

Vais décortiquer attentivement tout ça !
Depuis le temps que je cherche à comprendre comment se construit un .xinitrc…

Je crois qu’il me manquait tout bêtement le $1 (ou $@)…

Salut,

@thuban: Il y a un petit truc qui me dérange dans ton .xinitrc: Il ne prend pas en compte les options de sécurité présente lors d’un xinit “système”(cf image).
Ce fil m’a fait réfléchir à ça. Il doit y avoir moyen de l’améliorer ( j’bidouillerai ça un de ces quatre :017 )
@+
:006

[quote=“Clem_ufo”]Salut,

@thuban: Il y a un petit truc qui me dérange dans ton .xinitrc: Il ne prend pas en compte les options de sécurité présente lors d’un xinit “système”(cf image)./quote]
A priori si, les options que tu donnes sont au lancement du serveur X donc lors du lancement de [g|k|x]dm, le xinitrc vient après pour savoir quels programmes lancer (typiquement XFCE ou KDE ou gnome ou ce que tu veux), à ce stade, le serveur X est lancé avec ou sans l’option nolisten tcp qui elle se configure dans les fichiers de config de xdm/gdm/kdm ou dans ceux de xorg (si lancement avec startx)

Bonsoir,
L’image que j’ai posté correspond à un X.init “normal”

Le script ( vu par htop ) renvoi juste : ‘/usr/bin/X’ ( voire juste ‘X’ )
C’est peut-être superflu ou “tatillon” mais ça m’interpelle.

Avec un .xinitrc “normal” ( du genre ‘exec ma-session-préférée’) ces options sont prises en comptes.

Il doit y avoir quelque chose dans le /etc/X11/Xsession.d/* et/ou à ajouter dans le /etc/X11/Xsession.options ou le .xinitrc afin de compléter le ~/.xinitrc.

Que donne un ps -ax ?

Hop!

root      2053  3.9  0.7 117468 32004 tty7     Rs+  14:25   0:05 X :0

et cat /proc/2053/cmdline

[code]root 29280 1.8 0.8 121840 36416 tty7 Rs+ 17:06 0:13 X :0

[/code]

clem@Sid:~$ cat /proc/29280/cmdline X:0

J’ai fouillé dans /etc/X11/ mais je n’ai pas trouvé le script qui appelle ces options :017

Edit=
Trouvé!

[code]clem@Sid:~$ cat /etc/X11/xinit/xserverrc
#!/bin/sh

exec /usr/bin/X -nolisten tcp “$@”
[/code]

En copiant le /etc/X11/xinit/xserverrc dans un .xserverrc, il y a du mieux:

/usr/bin/X -nolisten tcp

manque le ‘:0 -auth /tmp/serverauth.Kdk6CcLeYP’

[quote=“Clem_ufo”]Salut,

@thuban: Il y a un petit truc qui me dérange dans ton .xinitrc: Il ne prend pas en compte les options de sécurité présente lors d’un xinit “système”(cf image).
Ce fil m’a fait réfléchir à ça. Il doit y avoir moyen de l’améliorer ( j’bidouillerai ça un de ces quatre :017 )
@+
:006[/quote]
En anglais : bugs.debian.org/cgi-bin/bugrepor … =525886#30

En gros, utiliser .xsession au lieu de .xinitrc et appeler startx.

Je ne comprends pas très bien ce que vous dites. Quel est le risque si on lance X comme je le fais en fait?

[quote=“thuban”]
Je ne comprends pas très bien ce que vous dites. Quel est le risque si on lance X comme je le fais en fait?[/quote]
Je n’en ai aucune idée :shifty: mais si les devs ont inclus ces options c’est qu’il y a surement une raison :017 D’ailleurs puisqu’elles sont inclues par défaut pourquoi s’en priver :smiley:

[quote=“Knucky”]
En anglais : bugs.debian.org/cgi-bin/bugrepor … =525886#30

En gros, utiliser .xsession au lieu de .xinitrc et appeler startx.[/quote]
Merci. Je vais tester.