Crear accesos directos para activar y desactivar redes ZeroTier en Gnome

Actualmente ZeroTier no tiene interfaz de usuario oficial para Linux. Sin embargo ejecutar manualmente los comandos para conectarse y desconectarse de una red puede ser tedioso y mantener una red siempre conectada puede suponer un riesgo de seguridad en ciertos casos. Para solucionar este problema hago uso de la extensión de Gnome Shell llamada Command menu para crear mis propios accesos directos en el try de Gnome.

Para hacer esto lo primero que tenemos que hacer es instalar la extension desde la propia web: https://extensions.gnome.org/extension/4850/command-menu/ posteriormente tenemos que crear un archivo en la carpeta home de nuestro usuario con el nombre .commands.json. En el repositorio oficial de la extensión tenemos un ejemplo de configuración.

Antes de crear nuestros accesos directos para activar y desactivar nuestras redes de zerotier, tenemos que asegurarnos que el comando puede ejecutarse con sudo sin pedir contraseña, para ello ejecutamos el comando sudo visudo en una terminal para editar el archivo sudoers del sistema. Y añadimos la siguiente linea sustituyendo user por el nombre de usuario del equipo en local. Esto va a hacer que al ejecutar comandos de zerotier-cli con sudo, no se nos pida contraseña.

user ALL = NOPASSWD:/usr/sbin/zerotier-cli

Ten en cuenta que es posible que en tu distribución de linux es posible que el ejecutable de zerotier-cli no este en esa ruta. Puedes buscar la ruta correcta ejecutando whereis zerotier-cli en una terminal.

Una vez tenemos permisos para ejecutar zerotier-cli como administrador sin contraseña, podemos editar el archivo de configuración .commands.json que creamos anteriormente, la sintaxis es bastante autoexplicativa:

[
    {
        "title": "Zerotier trabajo Connect",
        "command": "sudo zerotier-cli join 5565b83fb780af70",
        "icon": "emblem-default"
    },
    {
        "title": "Zerotier trabajo Leave",
        "command": "sudo zerotier-cli leave 5565b83fb780af70",
        "icon": "process-stop"
    },
    {
        "title": "Zerotier todohacker Connect",
        "command": "sudo zerotier-cli join 0a65b83fb780a2c6",
        "icon": "emblem-default"
    },
    {
        "title": "Zerotier todohacker Leave",
        "command": "sudo zerotier-cli leave 0a65b83fb780a2c6",
        "icon": "process-stop"
    }
]

Por ultimo comentar que la lista de iconos oficial se puede encontrar en la página de Freedesktop pero teniendo en cuenta que su usabilidad es nula ya que no aparecen las imágenes, es mas sencillo usar esta página de la wikipedia, en concreto, los iconos en cuestión son los que aparecen en la columna de Tango.