My Own Memory Hole
Blog♯keybinding

My Own Tmux Cheat Sheet

Il s'agit ici pour moi de réunir en un lien unique, clairement identifiable — pour moi du moins — un certain nombre de ressources consacrées à Tmux, collant le plus possible à mes petits besoins et à mon usage limité de ce « multiplexeur de terminaux ».

Installation et préparation de base

Tmux est disponible dans les dépôts et il suffit pour l'installer d'un :

sudo apt install tmux

Ensuite, on récupère et on place dans notre /home les fichiers de configuration proposé par Gregory Pakosz sur GitHub :

cd /home/$USER
git clone https://github.com/gpakosz/.tmux.git
ln -s -f .tmux/.tmux.conf
cp .tmux/.tmux.conf.local .

Configuration personnelle

...

Raccourcis claviers

Avec cette configuration proposée par Gregory Pakosz, le préfixe à utiliser est soit Ctrl+b, celui par défaut de tmux, soit Ctrl+a.

<prefix> " ou <prefix> - : partager le panneau horizontalement
<prefix> % ou <prefix> _ : partager le panneau verticalement
<prefix> c : créer un nouveau panneau
<prefix> x : détruire le panneau actif

<prefix> space : alterne entre les différentes dispositions de panneaux possibles
<prefix> alt+1 : organise les panneaux verticalement
<prefix> alt+2 : organise les panneaux horizontalement

<prefix> ! : transforme un panneau en fenêtre
Pour envoyer un panneau vers une autre fenêtre, il faut commencer par saisir le raccourci <prefix> : et de saisir :

join-pane -t :<int>

<prefix> m : (dés)activer le mode souris

Copier-Coller

Pour profiter pleinement du copier-coller, il convient d'installer le paquet xclip et de bien avoir dans le fichier ~/.tmux.conf.local la ligne suivante :

tmux_conf_copy_to_os_clipboard=true

À la souris, il suffit de surligner le texte à copier et d'utiliser Alt+w.

Sinon, au clavier, il faut commencer par utiliser <prefix> [ pour entrer en mode copie, se rendre au début du texte à copier, appuyer sur Espace, se rendre à la fin et simplement appuyer sur Entrée.

Window tilling / Split screen sous Openbox-LXDE

Il est particulièrement simple sous LXDE de configurer des raccourcis clavier permettant de redimensionner et de positionner les fenêtres, permettant ainsi d'afficher simultanément plusieurs applications.

Pour cela, il suffit d'éditer le fichier ~/.config/openbox/lxde-rc.xml et d'ajouter dans la section <keyboard> ce qui suit :

    <keybind key="C-W-Up">        # FullScreen
      <action name="Maximize"/>
    </keybind>
    <keybind key="C-W-Down">        # MiddleScreen
      <action name="UnmaximizeFull"/>
      <action name="MoveResizeTo"><x>center</x><y>center</y><width>50%</width><height>50%</height></action>
    </keybind>

    <keybind key="C-W-Left">        # HalfLeftScreen
      <action name="UnmaximizeFull"/>
      <action name="MoveResizeTo"><x>0</x><y>0</y><height>100%</height><width>50%</width></action>
    </keybind>
    <keybind key="C-W-Right">        # HalfRightScreen
      <action name="UnmaximizeFull"/>
      <action name="MoveResizeTo"><x>-0</x><y>0</y><height>100%</height><width>50%</width></action>
    </keybind>

    <keybind key="C-W-1">        # UpperQuarterLeft
      <action name="UnmaximizeFull"/>
      <action name="MoveResizeTo"><x>0</x><y>0</y><height>50%</height><width>50%</width></action>
    </keybind>

    <keybind key="C-W-2">        # LowerQuarterLeft
      <action name="UnmaximizeFull"/>
      <action name="MoveResizeTo"><x>0</x><y>-0</y><height>50%</height><width>50%</width></action>
    </keybind>

    <keybind key="C-W-3">        # LowerQuarterRight
      <action name="UnmaximizeFull"/>
      <action name="MoveResizeTo"><x>-0</x><y>-0</y><height>50%</height><width>50%</width></action>
    </keybind>

    <keybind key="C-W-4">        # UpperQuarterRight
      <action name="UnmaximizeFull"/>
      <action name="MoveResizeTo"><x>-0</x><y>0</y><height>50%</height><width>50%</width></action>
    </keybind>

Lubuntu 18.04 sur ASUS F200M : réglages système au clavier

Sous Lubuntu 18.04, presque tous les réglages accessibles via la touche Fn de mon Asus F200M sont fonctionnels « out of scratch » à l'exception de celui (dés)activant le touchpad et d'un léger souci sur les touche de volume.

Activer / désactiver le touchpad

On commence par déterminer si la touche de raccourcis Fn+F9 est reconnue, grâce à l'outil xev :

$ xev | grep 'keycode'
    state 0x0, keycode 199 (keysym 0x1008ffa9, XF86TouchpadToggle), same_screen YES,

Elle l'est ! On garde donc ce XF86TouchpadToggle de côté ; si ce n'est pas le cas, on peut toujours se rabattre sur un raccourci du genre Windows+F9.

J'ai déjà eu l'occasion de produire deux posts consacrés à ce raccourci de (dés)activation du touchpad: le premier pour Xubuntu 14.04, le second sous Xubuntu 14.10.

Par chance, dans mon cas, l'outil synclient utilisé sous Xubuntu 14.04 fonctionne bien.

On crée donc un répertoire bin/ dans notre dossier personnel, et l'on y crée un script bash toggle-trackpad.sh :

$ mkdir ~/bin
$ nano ~/bin/toggle-trackpad.sh

On y colle ceci :

#!/bin/bash
synclient TouchpadOff=$(synclient -l | grep -c 'TouchpadOff.*=.*0')

On enregistre et on rend ce script exécutable :

$ chmod +x ~/bin/toggle-trackpad.sh

Il nous faut maintenant indiquer le raccourcis clavier souhaité à l'environnement de bureau LXDE. On édite le fichier ~/.config/openbox/lubuntu-rc.xml et l'on y ajoute, à la fin de la section consacrée aux raccourcis clavier, donc juste avant </keyboard>, un nouveau raccourci clavier pour appeler le script toggle-touchpad.sh:

<keybind key="XF86TouchpadToggle">
    <action name="Execute">
        <command>~/bin/toggle-trackpad.sh</command>
    </action>
</keybind>

Une fois le fichier enregistré, pas la peine de redémarrer ou de quitter votre session! Il suffit de lancer la commande suivante, et vous devriez pouvoir utiliser le raccourci juste créé.

$ openbox --reconfigure

Réglage du volume

Mute/Unmute

Si le raccourci Fn+F10 coupait bien le son, il était impossible de le restaurer à son état précédent, le son restait sur "mute".

Merci à mutz sur le forum anglophone d'Ubuntu qui m'a permis de corriger ce petit souci avec cette petite commande :

$ amixer -D pulse set Master toggle

Elle permet de couper et de réactiver le son, alternativement. Il suffit juste alors de modifier la définition du raccourci clavier dans le fichier ~/.config/openbox/lubuntu-rc.xml.
Remplacer

<keybind key="XF86AudioMute">
  <action name="Execute">
    <command>amixer -q sset Master toggle
  </action>
</keybind>

par ceci:

<keybind key="XF86AudioMute">
  <action name="Execute">
    <command>amixer -D pulse set Master toggle
  </action>
</keybind>

Réglage du volume

Il semblerait que l'installation de certains paquets liés à PulseAudio et que l'utilisation de l'applet pasystray en lieu et place de l'applet fournie de base avec Lubuntu causent le non fonctionnement des raccourcis Fn+F11 et Fn+F12 (après une installation fraîche, aucun souci !).

Du coup, on suit la logique du point précédent et on ajoute l'option -D pulse à la commande amixer et tout rentre dans l'ordre ; il suffit donc de modifier dans le fichier ~/.config/openbox/lubuntu-rc.xml les raccourcis associés aux touches XF86AudioRaiseVolume et XF86AudioLowerVolume (notez qu'il est possible de modifier la valeur pour avoir un pas plus conséquent) :

<keybind key="XF86AudioRaiseVolume">
  <action name="Execute">
    <command>amixer -D pulse set Master 3%+ unmute</command>
  </action>
</keybind>
<keybind key="XF86AudioLowerVolume">
  <action name="Execute">
    <command>amixer -D pulse set Master 3%- unmute</command>
  </action>
</keybind>

Mais elle est où ma notification ?

Heu... Je ne sais pas... --' Mais grâce à Konrad Strack, on va en créer une ! On ne touche à pas grand chose de son travail, de son script, si ce n'est qu'on remplace les commandes amixer par celles qui fonctionnent bien chez nous avec PulseAudio.

Il faut au préalable avoir installé le paquet libnotify-bin pour bénéficier de la commande notify-send :

$ sudo apt-get install libnotify-bin

Il est possible de modifier le pas du réglage du volume (step=5) ainsi que, pour la notification en elle-même (la commande notify-send), la durée de la notification (l'argument -t 1000) ou les icones appelées (-i audio-volume-muted-panel).

On crée donc le script ~/bin/volume.sh :

#!/bin/bash

step=5

if [[ $# -eq 1 ]]; then
  case $1 in
    "up")
      amixer -D pulse set Master $step\%+;;
    "down")
      amixer -D pulse set Master $step\%-;;
    "toggle")
      amixer -D pulse set Master toggle;;
    *)
      echo "Invalid option";;
  esac
fi

muted=`amixer -D pulse get Master|tail -n1|sed -E 's/.*\[([a-z]+)\]/\1/'`
volume=`amixer -D pulse get Master|tail -n1|sed -E 's/.*\[([0-9]+)\%\].*/\1/'`

if [[ $muted == "off" ]]; then
  notify-send "Muted" -t 1000 -i audio-volume-muted-panel -h int:value:$volume
else
  notify-send "Volume" -t 1000 -i audio-volume-medium-panel -h int:value:$volume
fi

On le rend exécutable :

$ chmod +x ~/bin/volume.sh 

Et on n'a plus qu'à modifier la commande appelée par nos raccourcis claviers :

<keybind key="XF86AudioRaiseVolume">
    <action name="Execute">
        <command>volume.sh up</command>
    </action>
</keybind>
<keybind key="XF86AudioLowerVolume">
    <action name="Execute">
        <command>volume.sh down</command>
    </action>
</keybind>
<keybind key="XF86AudioMute">
    <action name="Execute">
        <command>volume.sh toggle</command>
    </action>
</keybind>

Sachez enfin qu'il est possible de personnaliser l'apparence des notifications.

Alternative

Ce script semblait par moment rencontrer quelques bugs sur mon netbook et une alternative semble être de passer par le daemon xfce4-volumed :

$ sudo apt-get install xfce4-volumed

Ensuite, il faut veiller à ce que xfce4-volumed soit bien lancé au démarrage ; pour ce faire, il suffit d'ouvrir le fichier /etc/xdg/autostart/xfce4-volumed.desktop et de commenter (en ajoutant un #) la dernière ligne :

OnlyShowIn=XFCE;

Il convient alors de commenter les raccourcis clavier liés au volume dans le fichier ~/.config/openbox/lubuntu-rc.xml.

(Dés)Activer le Wifi avec un raccourci clavier sous Xubuntu 15.04 sur ASUS F200M

Dans un article précédent, j'avais présenté un court script permettant d'activer et de désactiver le Wifi sur mon netbook ASUS F200M sous Xubuntu avec les touches "fonctions".

Après la mise à jour vers la dernière version de Xubuntu (15.04), ce raccourci clavier ne fonctionne plus, le script n'étant plus opérant. Après quelques rapides tests, il semblerait que la syntaxe de nmcli ait changé.

Voici donc la version revue du script "wifi-toggle.sh" :

#!/bin/bash
status=$(nmcli -t -f WIFI g)
if [ $status = "activé" ]&nbsp;; then
    notify-send -i network-wireless-disconnected "Wireless" "Wireless disabled"
    nmcli r wifi off
else
    notify-send -i network-wireless-none "Wireless" "Wireless enabled"
    nmcli r wifi on
fi
exit 0

Une fois enregistré (chez moi dans ~/bin/wifi-toggle.sh), il faut le rendre exécutable :

$ chmod +x /home/$USER/bin/wifi-toggle.sh

Ensuite, ouvrez le panneau de configuration du clavier de Xfce depuis le menu ou directement avec la commande :

$ xfce4-keyboard-settings

et rendez-vous dans l'onglet « Raccourcis d'applications » et ajouter un raccourci avec pour commande :

/home/$USER/bin/wifi-toggle.sh

puis le raccourci souhaité. Chez moi, le raccourci Fn+F9 est bien reconnu dans l'utilitaire de Xfce.

Activer/Désactiver le touchpad avec un raccourci clavier sous Xubuntu sur netbook ASUS F200M

Dans un article précédent, j'avais présenté un court script permettant d'activer et de désactiver le touchpad sur mon netbook ASUS F200M sous Xubuntu.

Après la mise à jour vers la dernière version de Xubuntu (14.10), ce raccourci clavier ne fonctionne plus, le script n'étant plus opérant. Toutes les tentatives que j'ai faites avec des scripts utilisant synclient ont échoué.

Du coup, la lecture de ce thread sur le forum Ubuntu anglophone m'a permis de découvrir xinput et un script me permettant de pouvoir activer ou désactiver mon touchpad facilement.

On crée donc le script "trackpad-toggle.sh" :

#!/bin/bash
id=$(xinput --list --id-only 'ETPS/2 Elantech Touchpad')
devEnabled=$(xinput --list-props $id | awk '/Device Enabled/{print&nbsp;!$NF}')
xinput --set-prop $id 'Device Enabled' $devEnabled
notify-send --icon computer 'Synaptics TouchPad' &quot;Device Enabled = $devEnabled&quot;

Une fois enregistré (chez moi dans bin/trackpad-toggle.sh), il faut le rendre exécutable :

$ chmod +x /home/$USER/bin/trackpad-toggle.sh

Ensuite, ouvrez le panneau de configuration du clavier de Xfce depuis le menu ou directement avec la commande :

$ xfce4-keyboard-settings

et rendez-vous dans l'onglet « Raccourcis d'applications » et ajouter un raccourci avec pour commande :

/home/$USER/bin/trackpad-toggle.sh

puis le raccourci souhaité. Chez moi, le raccourci Fn+F9 est bien reconnu dans l'utilitaire de Xfce.

Raccourcis clavier de réglages système avec Xubuntu sur netbook ASUS F200M

Sur mon netbook ASUS F200M, je n'ai rencontré aucun souci à l'installation de la dernière version de Xubuntu, la 14.04, et tout semble fonctionner parfaitement out of the box.

Hormis quelques touches de fonction du clavier telles celles concernant le réglage de la luminosité, le touchpad, le mode avion...

Activer / désactiver le touchpad

Si le touchpad est d'emblée fonctionnel et configurable à travers le panneau de configuration de Xubuntu, la combinaison Fn+F9 ne donne aucun résultat.

Après de nombreuses recherches et d'essais je suis finalement tombé sur la documentation anglophone d'ArchLinux et sur son article Touchpad Synaptics qui donne une solution, que j'ai mixée avec deux ou trois détails venant d'ailleurs...

Commencer par créer un répertoire bin dans votre /home/$USER :

$ mkdir /home/$USER/bin

Créez un fichier :

$ nano /home/$USER/bin/trackpad-toggle.sh

dans lequel vous copiez ce script :

#!/bin/bash
synclient TouchpadOff=$(synclient -l | grep -c 'TouchpadOff.*=.*0')

Rendez-le exécutable :

$ chmod +x /home/$USER/bin/trackpad-toggle.sh

Ensuite, ouvrez le panneau de configuration du clavier de Xfce depuis le menu ou directement avec la commande :

$ xfce4-keyboard-settings

et rendez-vous dans l'onglet « Raccourcis d'applications » et ajouter un raccourci avec pour commande :

/home/$USER/bin/trackpad-toggle.sh

puis le raccourci souhaité. Chez moi, le raccourci Fn+F9 est bien reconnu dans l'utilitaire de Xfce.

MAJ : sous Xubuntu 14.10, ce script ne fonctionnait plus ; pour une nouvelle version, rendez-vous sur Activer/Désactiver le touchpad avec un raccourcis clavier sous Xubuntu sur netbook ASUS F200M.

Activer / désactiver le wifi

Là encore aucun problème de wifi après l'installation à l'exception du bouton « mode avion » (Fn+F2) qui ne fonctionne pas, que ce soit pour le Bluetooth ou le wifi.

Du coup, comme pour le touchpad je souhaitais pouvoir désactiver le wifi très rapidement sans avoir à utiliser une souris ou le touchpad.

Cette fois, les remerciements doivent aller à Gerhard Burger on askubuntu.com.

Créez le fichier :

$ nano /home/$USER/bin/wifi-toggle.sh

et collez-y ce script :

#!/bin/bash
status=$(nmcli -t -f WIFI nm)
if [ $status = "enabled" ]&nbsp;; then
    notify-send -i network-wireless-disconnected "Wireless" "Wireless disabled"
    nmcli nm wifi off
else
    notify-send -i network-wireless-none "Wireless" "Wireless enabled"
    nmcli nm wifi on
fi
exit 0

ATTENTION : en fonction de la langue de votre système, vous devrez modifier la ligne 3 (enabled) en fonction de la réponse à la commande :

$ nmcli -t -f WIFI nm

Si vous ne souhaitez pas voir apparaître de notifications lors de l'activation ou la désactivation du wifi, il faut commenter les lignes 4 et 7.

Enregistrez et rendez-le exécutable :

$ chmod +x /home/$USER/bin/wifi-toggle.sh

Puis créer un nouveau raccourci clavier en utilisant la commande :

/home/$USER/bin/wifi-toggle.sh

avec le raccourci de votre choix. Chez moi le raccourci Fn+F2 n'est pas reconnu et du coup j'ai choisi Super+F2.

MAJ : sous Xubuntu 15.04, ce script ne fonctionnait plus ; pour une nouvelle version, rendez-vous sur Activer/Désactiver le Wifi avec un raccourci clavier sous Xubuntu 15.04 sur netbook ASUS F200M.

Régler la luminosité

Après l'installation, impossible de régler la luminosité de l'écran avec les raccourcis clavier Fn+F5 et Fn+F6.

J'ai commencé par installer les derniers pilotes grâce à l'application fournie par Intel comme expliqué dans la documentation Ubuntu francophone.

Au redémarrage toujours rien... Quelques recherches plus tard, j'installe le paquet xfce4-power-manager-plugins qui fournit l'applet de tableau de bord « Régler la luminosité » :

$ sudo apt-get install xfce4-power-manager-plugins

Mais même avec l'applet, rien à faire.

De nouveau, quelques heures de recherche en tout genre pour finalement découvrir l'article Backlight de wiki.ubuntu.com.

On commence par vérifier que le répertoire /sys/class/backlight/intel_backlight/ existe bien. Si non, je ne sais que dire ; si oui, c'est tout bon.
On ouvre le fichier /etc/default/grub

$ sudo nano /etc/default/grub

et on modifie la ligne

GRUB_CMDLINE_LINUX_DEFAULT=&quot;quiet splash&quot;

en

GRUB_CMDLINE_LINUX_DEFAULT=&quot;quiet splash video.use_native_backlight=1&quot;

Puis on lance la commande :

$ sudo update-grub

On redémarre et on doit pouvoir régler la luminosité grâce à l'applet du tableau de bord.

On commence par installer l'utilitaire xbacklight :

$ sudo apt-get install xbacklight

On lance la commande

$ xbacklight

et l'on doit avoir comme retour 100.000000 ou peut-être une autre valeur.

Ensuite essayez de lancer les commandes suivantes :

$ xbacklight -dec 20
$ xbacklight -inc 20

La luminosité de votre écran devrait varier. Pour plus d'information sur le fonctionnement de xbacklight :

$ xbacklight -h
usage: xbacklight [options]
  where options are:
  -display <display> or -d <display>
  -help
  -set <percentage> or = <percentage>
  -inc <percentage> or + <percentage>
  -dec <percentage> or - <percentage>
  -get
  -time <fade time in milliseconds>
  -steps <number of steps in fade>

Les combinaisons Fn+F5 et Fn+F6 n'étant pas reconnues, on peut créer deux nouveaux raccourcis clavier, le premier attribué à la combinaison Super+F5 avec la commande

$ xbacklight -dec 20

le second associé à la combinaison Super+F6 avec la commande

$ xbacklight -inc 20

Vous devriez pouvoir vérifier la luminosité de l'écran de deux façon :

  • soit avec la commande

    $ xbacklight

    qui retourne un pourcentage ;

  • soit avec la commande
    $ cat /sys/class/backlight/intel_backlight/brightness

    qui renvoie la valeur absolue de la luminosité, la valeur maximale étant accessible avec la commande

    $ cat /sys/class/backlight/intel_backlight/max_brightness

À noter que l'on peut également jouer sur le contraste en utilisant xgamma :

$ xgamma -gamma 0.7

La mise en veille ne fonctionne plus ?

Après ces manipulations et la modification du fichier /etc/default/grub (ou peut-être dès le départ -- je ne sais plus trop), la mise en veille ne fonctionnait plus. Une lecture rapide de la page BootOptions sur help.ubuntu.com permet de repérer l'option acpi_osi=Linux.
Du coup, on modifie le fichier /etc/default/grub

$ sudo nano /etc/default/grub

et on modifie la ligne

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video.use_native_backlight=1";

en

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video.use_native_backlight=1 acpi_osi=Linux"

Puis on lance la commande :

$ sudo update-grub

et on redémarre. Vous devriez maintenant bénéficier de la mise en veille.