🇪🇸 ¿ Como crear un atajo de teclado (shortcut) para Flameshot y hacer pantallazos solo al pulsar la tecla “Print Screen” ? aquí tenéis los pasos a ejecutar :

Una breve presentación :

Flameshot es un programa que permite hacer capturas de pantalla, es Free con GNU General Public License v3.0 & open source software.

xbindkeys es un programa que permite lanzar comandos shell con teclado o con el ratón (mouse).

bspwm es un gestor de ventanas en mosaico que representa las ventanas como las hojas de un árbol binario completo.

El entorno

El entorno en el que esto esta hecho es una distribución Gnu-Linux Parrot con bspwm en una maquina virtual, como se puede aprender en el curso “Personalización de entorno en Linux” de la academia hack4u.

Al principio la maquina virtual fue creada con WMware en windows y mas tarde exportada a VirtualBox en Archlinux.

Aquí tenéis las etapas para conseguirlo(*). Manos a la obra…

* Si prefieres solo poner 2 lineas en el /home/${USER}/.config/sxhkd/sxhkdrc* ver aqui



1. Instalar xbindkeys

Lo normal en un ambiente Parrot.

sudo apt update
# sudo parrot-upgrade (si necesario)
sudo apt install flameshot xbindkeys

# Flameshot lo mismo, ya sabeis
sudo apt install flameshot


2. Comprobamos que xbindkeys y Flameshot estan instalados.

Esto solamente para estar seguros, es opcional.

$ which xbindkeys
/usr/bin/xbindkeys

$ command -v flameshot
/usr/bin/flameshot

command -v para variar de which.



3. Configuración del shortcut

a) Primero debemos crear un fichero .xbindkeysrc en el path : /home/${USER}

echo '' > .xbindkeysrc

b) Ahora buscamos el comando que pondremos en el .xbindkeysrc
Al lanzar este comando : xbindkeys --key , se abre una ventana y debes pulsar la tecla “Print Screen”

$ xbindkeys --key
Press combination of keys or/and click under the window.
You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"NoCommand"
    m:0x10 + c:107
    Mod2 + Print

Después cierras con Ctrl + C

c) Copia las 3 ultimas lineas en /home/${USER}/.xbindkeysrc para que quede asi :

# Launch Flameshot
"flameshot gui &>/dev/null & disown"
m:0x10 + c:107
Mod2 + Print

(cambiando “NoCommand” por tu atajo)

Para probar antes de hacer que los cambios sean permanentes.

  • Lanza xbindkeys : /usr/bin/xbindkeys
  • Test dandole à la tecla “Print Screen”


4. Hacer que los cambios sean permanentes

  1. Abrir /home/${USER}/.config/bspwm/bspwmrc y poner dentro estas dos lineas :
# Arranca xbindkeys (para flameshot)
/usr/bin/xbindkeys

Configuracion de bspwm

Salir de la session y volver a entrar

sudo kill -9 -1

Probando

Pulsa en la tecla “Print Screen” y …

TADA !!!

Si lo configuraste bien (y tu maquina no salió ardiendo), ya puedes disfrutar de tus capturas de pantalla.
Si quieres indagar en el tema podrías hacer que solo al darle a un botón de tu ratón funcione igual.

No olvides el man de bspwm, xbindkeys y flameshot.


Comentarios finales

Si lo quieres hacer solo con sxhkd debes poner estas lineas en el /home/${USER}/.config/sxhkd/sxhkdrc :

# Print screen
Print
        flameshot gui &>/dev/null & disown

Despues del primer arranque de flameshot, este queda en funcionamiento como se puede apreciar con este commando.
Si lo quieres cerrar pues le haces un kill.

❯ ps aux | grep flameshot
rnek0       6045  2.2  2.6 1499540 107460 ?      Sl   14:52   0:03 /usr/bin/flameshot
rnek0       7116  0.0  0.0   6260   648 pts/0    S+   14:55   0:00 grep --color=auto flameshot


Mi conclusión : No hacking, no fun. So Happy Hacking.