Header Ads

Gtk-WARNING recently-used

El archivo  recently-used.xbel es usado por Linux para listar los archivos recientes. En el caso Ubuntu 18.04 (tal vez en otros sistemas y versiones) puede aparecer un molesto mensaje "Gtk-WARNING" cuando una aplicación GTK intenta acceder a este archivo.
Puede ignorarlos, pero si decide no hacerlo, primero verificamos el path de recently-used.xbel (donde "user" es echo $USER):
cat /home/user/.local/share/recently-used.xbel
Nota: Es posible que al abrir alguna aplicación GTK (Pluma, Gedit, etc) desde el terminal, usando el comando "sudo" (o abrirlas desde root) aparezca el mismo mensaje de error que en la imagen del encabezado del post:
(gedit:8305): Gtk-WARNING **: Attempting to store changes into `/root/.local/share/recently-used.xbel', but failed: Failed to create file '/root/.local/share/recently-used.xbel.3VXH3V': No such file or directory
(gedit:8305): Gtk-WARNING **: Attempting to set the permissions of `/root/.local/share/recently-used.xbel', but failed: No such file or directory
Esto se debe a que, por defecto,  recently-used.xbel no existe para root. Si desea crearlo:
mkdir -p /root/.local/share/recently-used.xbel
ls -l /root/.local/share/recently-used.xbel
Otra solución es usar gksudo ('gksu' es un frontend de 'su' y 'gksudo' de 'sudo'), que establece HOME = ~ root, y copia .Xauthority en un directorio tmp evitando que los archivos en su directorio de inicio sean propiedad (y se usen) de la raíz, pero gksudo ya no está disponible en Ubuntu 18.04, aunque puede ser  sustituido por la variable “admin://” .
Volviendo a nuestro tema, ahora verificamos la propiedad, permisos e inmutabilidad del archivo  recently-used.xbel de la cuenta de usuario, y el resultado debería ser similar a este:
ls -l /home/user/.local/share/recently-used.xbel
-rw------- 1 user user 3321 nov 21 08:58 /home/user/.local/share/recently-used.xbel

sudo lsattr /home/user/.local/share/recently-used.xbel
--------------e--- /home/user/.local/share/recently-used.xbel
Pero, según la siguiente imagen:
gedit Gtk-WARNING
Es muy probable que al correr los comandos descritos el resultado sea distinto. Un escenario posible podría ser:
-rw------- 1 root root 3321 nov 21 08:58 /home/user/.local/share/recently-used.xbel
-----i--------e--- /home/user/.local/share/recently-used.xbel
Entonces, para arreglarlo, ejecute los siguientes comandos, según sea el resultado anterior:
chattr -i /home/user/.local/share/recently-used.xbel
chown user:user /home/user/.local/share/recently-used.xbel
Otro aspecto importante es que muchas aplicaciones consultan el archivo  recently-used.xbel.  En el ejemplo siguiente el cliente de Mega (megasync) lo consulta periódicamente y si hemos visitado algún enlace de descarga, es altamente probable que el capturador de enlaces de megasync lo "atrape" y lo descargue sin consentimiento:
megasync consultando recently-used.xbel (previamente bloqueado)
Hay algunos que sugieren eliminarlo por razones de privacidad y seguridad, especialmente en servidores en producción. Algunas maneras se describen en el post de Alex Cabal, pero un  "rm" sería suficiente.
rm -f /home/user/.local/share/recently-used.xbel
Con la tecnología de Blogger.