"Después del juego es antes del juego"
Sepp Herberger

Mostrando entradas con la etiqueta atajo teclado. Mostrar todas las entradas
Mostrando entradas con la etiqueta atajo teclado. Mostrar todas las entradas

jueves, 3 de diciembre de 2020

Alternar entre dos servidores DNS con un atajo de teclado.

He necesitado alternar entre el servidor DNS de mi red (192.168.1.100) y el de Google (8.8.8.8) para hacer unas pruebas con pihole. Como editar resolv.conf cada vez que quería cambiar el DNS es un coñazo, he hecho un script:
# cat /usr/local/bin/change_dns
#!/bin/bash

if grep "8.8.8.8" /etc/resolv.conf > /dev/null 2>&1
then
  sed -i "s/^nameserver.*$/nameserver 192.168.1.100/g" /etc/resolv.conf
else
  sed -i "s/^nameserver.*$/nameserver 8.8.8.8/g" /etc/resolv.conf
fi
exit 0
Para modificar el resolv.conf hay que ser root y yo quiero que esto lo haga cualquier usuario, asi que meto en /etc/sudoers:
# cat /etc/sudoers
.....
ALL   ALL = (ALL) NOPASSWD: /usr/local/bin/change_dns
.....
Ahora cualquier mindundi podrá ejecutarlo siendo root por un instante con "sudo /usr/local/bin/change_dns" o "gksu /usr/local/bin/change_dns".

Por último hay que definir el atajo de teclado para ejecutar el comando. Como usuario regular (no root) hacemos en un terminal:
$ xfconf-query -c xfce4-keyboard-shortcuts -p '/commands/custom/<Alt>d' --create -v -t string -s "gksu /usr/local/bin/change_dns"
Con esto vinculamos la combinacion de teclas Alt+d con la ejecución del script. Esto queda definido solo para el usuario actual, es decir, no es un atajo de teclado que se defina a nivel de sistema como hicimos aquí. La definición del atajo se guarda en:
$ cat .config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
<channel name="xfce4-keyboard-shortcuts" version="1.0">
  <property name="commands" type="empty">
    <property name="default" type="empty">
      .....
     <property name="custom" type="empty">
      <property name="override" type="bool" value="true"/>
      <property name="&lt;Alt&gt;d" type="string" value="gksu /usr/local/bin/change_dns"/>
      .......
    </property>
  </property>
  .....
</channel>
Y ya está, pulsando Alt-d pasa de un servidor DNS a otro de forma inmediata.
Bueno, ya está. La Chang'e 5 alunizó:



Ahora está recogiendo muestras, para subir, acoplarse al módulo de vuelta y traer el material a la Tierra. Es curioso, es el mismo esquema que el de una misión tripulada. Algo están tramando.

De momento nos deleitamos con esta preciosa foto de gran calidad: