Publi

  • Enviar notificaciones con sonido en MATE

    Hace unos días estuve hablando de cómo enviar notificaciones en nuestros scripts. Bien, estas notificaciones por el momento, eran mudas, aunque hay un método sencillo para que cobren algo de vida en MATE y al aparecer emitan un sonido.

    Estoy particularizando para MATE, porque es el notificador que estoy utilizando (aunque mi entorno es XFCE), puede que en otros notificadores también funcione.

    El método es sencillo, tenemos que insertar una propiedad o hint a la notificación llamado «sound-file» de tipo string.… Leer artículo completo

  • Script para activar y desactivar el touchpad de mi portátil

    touchpads
    Muchos portátlies traen un control hardware para activar y desactivar el touchpad, en cambio otros lo traen por software, por lo que debemos ser nosotros los encargados de activar y desactivar el touchpad cuando se accione la tecla.

    Para ello podemos utilizar este pequeño script:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #!/bin/bash
    ICONS_PATH=$HOME/scripts/img
    OFF=`synclient | grep TouchpadOff | grep 0`

    if [ -z "$OFF" ]
    then
        synclient TouchpadOff=0
        notify-send -i $ICONS_PATH/touchpad-enable-icon.png -a TDE "Touchpad activado"
    else
        synclient TouchpadOff=1
        notify-send -i $ICONS_PATH/touchpad-disable-icon.png -a TDE "Touchpad desactivado"
    fi

    Lo primero que hace es determinar si el touchpad está activado o desactivado, y si está activado, lo desactiva y vicevesa, muy sencillo.… Leer artículo completo

  • Activando teclas para obtener nuevas funcionalidades.

    tecladoEn ocasiones, adquirimos un teclado nuevo, con muchas teclas especiales, o si compramos un nuevo portátil, seguramente éste tenga varias teclas especiales que el sistema por defecto no identifica.
    El problema la mayoría de las veces, es que tenemos una tecla, cuyo código no es reconocido. Para ello tenemos la utilidad xmodmap, podemos hacer que una tecla determinada se comporte como otra. Tenemos un listado completo de los códigos de las teclas aquí [Link original] y aquí [Original].… Leer artículo completo

  • Enviar notificaciones desde nuestros scripts con notify-send

    notificacionEs un tema que se ha tratado varias veces en otros blogs y tutoriales a lo largo de Internet, y es que algo que tienen en común muchos entornos de escritorio de GNU/Linux en la actualidad es un demonio de notificaciones, éste recibe mensajes de las aplicaciones que quieran escribir una notificación (valga la redundancia), y los muestra en pantalla.
    Lo bueno que tiene hacerlo así es que cualquier aplicación que quiera escribir algo, sólo tiene que enviar el texto y sólo tenemos un dibujante, eso reduce bastante el coste en memoria (si tenemos cuatro aplicaciones y las cuatro se dedican a lo mismo, estamos desperdiciando memoria), por otra parte, unifica el estilo (en el mismo ejemplo de antes, tendríamos cuatro formas de dibujar distintas y a lo mejor, cada una con un estilo diferente) y por otra parte, dada la filosofía que siguen estos proyectos, nos proporcionan herramientas para enviar notificaciones fácilmente.… Leer artículo completo

  • Ejecutar scripts mientras inicia el sistema

    botas

    En ocasiones, queremos automatizar tareas al arranque del ordenador, tal vez para ofrecer asistencia remota (y enviarnos la IP del ordenador), actualizar una base de datos, correr scripts en una página web, hacer que el ordenador emita un sonido, inicializar un sistema antirrobo, o incluso interactúe con un arduino.

    En muchas ocasiones, incluir nuestros scripts en /etc/rc.local basta, en Debian y derivadas lo encontramos fácilmente, en otras distribuciones también hay forma de hacerlo, aunque si necesitamos algo más complicado, como por ejemplo ejecutar varios scripts en un directorio determinado, en varios runlevels y que cuando se apague el ordenador se ejecuten otros scripts diferentes he hecho un pequeño init-script.… Leer artículo completo

  • Hallar información de un dispositivo de red en C

    Volviendo a un artículo anterior donde hallábamos la dirección IP de un dispositivo, he decidido extender un poco la funcionalidad para poder hallar más información acerca de un dispositivo de red.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <arpa/inet.h>
    #include <stdio.h>
    #include <sys/types.h>
    #include <sys/ioctl.h>
    #include <net/if.h>
    #include <string.h>

    #define get_addr(var) (*(struct in_addr *) &var.ifr_addr.sa_data[2])

    int getdevinfo(char * ifname) {
      int sock;
      struct ifreq ifr;

      sock=socket(AF_INET, SOCK_DGRAM, 0);
      if (sock<0)
        return -1;          /* No puedo crear el socket */

      ifr.
    Leer artículo completo
  • Hallar la IP de un dispositivo en C

    Puede que se nos haya presentado alguna vez la necesidad de saber la dirección de un dispositivo desde nuestro programa, y no es plan de ponernos a ejecutar ifconfig o algún programa parecido para hallar la dirección.

    Podemos hablar con ioctl() una función destinada a definir y obtener información de dispositivos. Hay cientos de llamadas, aquí comentaremos la llamada SIOCGIFADDR cuya función es la que comentábamos, obtener la dirección de un interfaz de red.… Leer artículo completo

  • Redimensionar ventanas con Alt+Botón derecho en GNOME 2

    Aunque GNOME2 ya está algo antiguo, aún lo uso en algún equipo viejo, y una cosa que yo utilizo muy a menudo es la redimensión de ventanas con Alt+Botón derecho del ratón (para mover también es muy rápido Alt+Botón izquierdo), aunque GNOME 2 trae por defecto la redimensión con Alt+Botón central lo que no me resulta muy cómodo a veces (sobre todo en portátiles cuando no hay botón central).

    Para ello, aunque se puede hacer de forma gráfica, a veces es mejor un copia y pega de consola:

    $ gconftool-2 –set /apps/metacity/general/resize_with_right_button –type=bool True

    Leer artículo completo
  • mayúsculas y minúsculas en BASH (toupper(), tolower()) [copia y pega]

    mayuscula En ocasiones, es muy útil crear scripts en bash, aunque en ocasiones debemos controlar las mayúsculas y minúsculas, por ejemplo renombrando archivos, escribiendo informes o para ajustarse a diferentes convenciones a la hora de hacer un programa. Aquí dejo ejemplos de funciones tipo strtoupper(), strtolower(), por decir un equivalente en PHP.

    Hay opciones, la elección de alguna de estas opciones depende del entorno en que nos encontremos, ya sea BASH, algún otro clon, y dispongamos de awk o tr.… Leer artículo completo

  • Calmando los ventiladores de netbooks Acer One

    En ocasiones, el ventilador de los netbook Acer One puede llegar a ser algo molesto, y bueno, no es porque sea molesto, sobre todo es porque un ventilador girando a toda pastilla, aunque es bueno que tenga fresco el procesador, es capaz de gastar una batería un 40% más rápido y si estamos fuera de casa o lejos de un enchufe se nos acaba el chollo pronto, eso sí, el portátil estará frío.… Leer artículo completo