Cómo activar notificaciones de paquetes de Pacman en Arch Linux

Hola a todos. Esperaba escribir una nueva entrada para comentarles sobre mi semestre, pero aún me faltan las notas de UN ramo (¬¬) así que no puedo decir aún que pasé todo (si es que D: ) así que para rellenar en este blog, les comentaré algo que creé y espero que a muchos, quienes usamos Arch Linux, les sirva. Es un notificador, que avisa cuando hay nuevas actualizciones. Así me ahorro de tener que estar buscando actualizaciones manualmente.

Aclaro de antemano, que esto lo he probado sólo en GNOME 3. Si usted lo ha probado en otro escritorio basado en GTK, agradecería comentar sus resultados.

Bien, comencemos.

Primero que todo, debemos agregar a nuestro usuario al grupo wheel. Como root, hacemos esto:

gpasswd -a usuario wheel

Luego, siguiendo como root, agregamos a nuestro usuario para que ejecute las actualizaciones de Pacman sin la necesidad de tener que ingresar la contraseña cada vez que anteponemos con sudo:

visudo

Y luego se nos abrirá el editor. Apretamos la tecla “i” para entrar al modo de editor. Ahí debemos agregar lo siguiente:

%wheel ALL = NOPASSWD: /usr/bin/pacman

Guardamos con ESC y luego escribimos tal cual: “:x” (sin las comillas).

Ahora creamos un nuevo archivo, con un editor cualquiera. El contenido debe ser el siguiente:

[ccne lang=”python” width=”600″ tab_size=”2″]

from gi.repository import Notify
from subprocess import check_output, check_call, call
from time import sleep

call([“sudo”,”pacman”,”-Syy”])
a = check_call([“sudo”,”pacman”,”-Qu”])
if a == 0:
salida = check_output([“sudo”,”pacman”,”-Qu”])
lista = salida.split(“n”)
lista.pop()
largo = len(lista)
Notify.init(‘pacnotify’)
if largo == 1:
mensaje = “Usted tiene 1 actualizacion en Pacman”
else:
mensaje = “Usted tiene %d actualizaciones en Pacman” % largo
n = Notify.Notification.new(mensaje,salida,’dialog-information’)
n.show()
sleep(15)
n.close()
Notify.uninit()
else:
pass

[/ccne]

(Por alguna razón, el Codecolorer no me deja intentar ¬¬ así que por si no se entendió, recomiendo que vean esto: http://pastebin.com/7rFJgcnq )

Guarden eso en un archivo llamado pacnotify.py donde ustedes quieran. Recomiendo tenerlo en una carpeta en el home.

Ahora vamos a hacer que esto se ejecute solo gracias a Cron. Sólo vamos a aplicar:

crontab -e

Y en el contenido (la edición es de la misma forma que cuando usaron visudo), agregamos esto:

*/5 * * * * env DISPLAY=:0 /usr/bin/python2 /ruta/donde/tienen/el/pacnotify.py >/dev/null 2>&1

Ahí estamos diciendo que el script se ejecute cada 5 minutos.

Ahora sólo deben esperar a que ocurra la magia. Yo lo he probado y les garantizo que funciona.

Saludos a todos y espero sus comentarios 😀

Jorgicio

En volá podría gustarte también...

Agregar un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *

A %d blogueros les gusta esto: