Descarga de vídeos con yt-dlp

yt-dlp es un programa para descargar vídeos de las principales plataformas online.

Su uso básico es muy sencillo: En primer lugar, comprobamos qué formatos están disponibles para descargar. Para eso utilizaremos la opción «–list-formats»:

yt-dlp --list-formats URL

Devolverá una lista cuyas entradas empiezan con un número ID y el resto de características. De ahí elegimos la que se corresponda con tipo de archivo y resolución. También nos aseguramos de que tenga canal de audio (CH 2). Por ejemplo:

ID EXT RESOLUTION FPS CH

18 mp4 480x360 30 2

Y luego descargamos seleccionando la ID correspondiente con la opción «-f» y la ID correspondiente:

yt-dlp -f 18 URL

Cone, otro programa de correo para la consola, y gmail

Antes escribí sobre el cliente de correo Mutt, el mas apreciado por su versatilidad, pero que también puede ser un rompecabezas.
Cone, en cambio, es un programa muy sencillo, tanto de configurar como de utilizar, inspirado en Pine. Como desventajas, no muestra tan bien los correos formateados en html, y aunque puedes configurar múltiples cuentas de correo en recepción, sólo se puede configurar una para envío.
Al instalarlo y ejecutarlo, nos recibe esta pantalla:

cone1

Pulsando M vamos al menú que tiene este aspecto:

cone2

Allí iremos a «New Account», pulsaremos «I» para elegir «IMAP», y rellenaremos el formulario con algo mas o menos así:

Account name: como-te-apetezca-llamarle
Server: imap.gmail.com
Login: tucuenta@gmail.com
Password: *************
[ ] Do not send password in clear text
[X] Use an encrypted connection

Luego pulsaremos [LOGIN], et voilá, ya está hecho. Pero atención: Sólo para recepción. Para enviar correos hay que configurar el correo saliente:

Pulsamos M para ir al menú, SETUP, y allí rellenamos:

Outgoing SMTP Server: smtp.gmail.com
SMTP userid (optional): tucuenta@gmail.com
[X] Use SMTP tunneled over SSL

Como véis, sólo se puede configurar una cuenta de correo saliente por SMTP, por lo que las respuestas a cualquier email recibido en cualquier cuenta, se enviarán desde la que aquí esté configurada.

Otros detalles:

Cone pedirá la contraseña de cada cuenta para acceder, a menos que se cree una contraseña maestra. Para eso, en el menú vamos a MASTER PASSWORD, y creamos una. A partir de ahora, sólo tendremos que poner esta contraseña en el momento de ejecutar Cone.

Mutt, un cliente de correo, y configurar varias cuentas de Gmail por IMAP

Mutt es un cliente de correo que funciona en terminal, es decir, no necesita entorno gráfico. ¿Quién no tiene entorno gráfico? prácticamente nadie, ¿y qué?.

¿Qué es lo que espero de un programa de correo?. Me interesa recibir los mensajes que me envían personalmente, el texto, y si vienen con adjuntos, poder guardarlos o abrirlos con el programa que corresponda. Que se puedan leer los correos que vienen en html, aunque no pueda apreciar el diseño, que se muestren ordenados y legibles. Poder responder fácilmente. Que se mantenga el orden de los emails y respuestas. Y poder configurar varias cuentas en el mismo programa, por IMAP, para no tener que ir a los webmails (que no sólo son cada día mas complejos, pesados y lentos, sino que me obligan a hacerlo con un navegador de última generación, también complejo, pesado y lento).

Todo esto lo resuelve Mutt, al precio de una configuración bastante mas complicada que montar un mueble de Ikea. Hay otros programas mas fáciles de configurar y de usar, pero no son tan completos.

A lo que vamos: Lo primero es instalarlo. Si usas Debian:

apt-get install mutt mutt-patched urlview

(mutt-patched agrega un menú lateral, y urlview permite abrir los enlaces en un programa externo).

Ahora hay que configurarlo. Puede ser una pesadilla, y no me extraña que la mayoría de usuarios desista inmediatamente. El manual es una biblia. Pero rebuscando en internet se encuentran unos cuántos sitios donde se puede encontrar información, aunque la mayoría no deja de ser confusa (sólo quiero configurar mi cuenta, no hacer un master).

Finalmente lo hice (lo configuré, no hice el master). La configuración de una sola cuenta es mas sencilla, pero si se configura desde el principio como si fueran varias, será mas fácil agregar otras nuevas.

Separaremos la configuración general de la específica de cada cuenta. Para eso, crearemos una carpeta «.mutt» (nótese que empieza con un punto, porque es oculta) en nuestro directorio home y dentro de ella crearemos: una carpeta «cache», que contendrá otras dos: «msgs» y «headers», un archivo muttrc que contendrá la configuración global, y un archivo por cada cuenta que configuremos. Quedará mas o menos así:

/home/usuario/.mutt/
msgs/
headers/
muttrc
cuenta1
cuenta2

En el archivo muttrc pondremos:

set header_cache = ~/.mutt/cache/headers # guarda encabezados
set message_cachedir = ~/.mutt/cache/msgs # guarda mensajes
unset imap_passive # permite abrir conexiones automáticamente
set imap_keepalive = 300 # mantiene activa la conexión
set mail_check = 120 # comprueba correo
set move = no
set sort = 'threads'
set sort_aux = 'reverse-last-date-received'
# Cuenta 1:
source ~/.mutt/cuenta1
folder-hook $folder 'source ~/.mutt/cuenta1'
# Cuenta 2:
source ~/.mutt/cuenta2
folder-hook $folder 'source ~/.mutt/cuenta2'
# Shortcuts
macro index,pager <f2> '<sync-mailbox><enter-command>source ~/.mutt/cuenta1<enter><change-folder>!<enter>'
macro index,pager <f3> '<sync-mailbox><enter-command>source ~/.mutt/cuenta2<enter><change-folder>!<enter>'

Y ahora rellenaremos los dos archivos «cuenta1» y «cuenta2» como sigue:

set imap_user = USUARIO@gmail.com
set imap_pass = CLAVE
set folder = "imaps://USUARIO@imap.gmail.com:993"
set spoolfile = +INBOX # carpeta principal, donde llegan los mensajes
set postponed = +Drafts
mailboxes =INBOX
set smtp_url = smtp://USUARIO:$imap_pass@smtp.gmail.com:587 # aquí va el usuario, y la contraseña es la misma de imap
set realname = "NOMBRE REAL"
set from = CORREO@gmail.com
set hostname = "gmail.com"
account-hook $folder "set imap_user=USUARIO@gmail.com imap_pass=CLAVE"

Hecho ésto, las dos cuentas estarán funcionales, se podrá recibir y enviar correo con ambas. Para pasar de una cuenta a otra pulsaremos las teclas F1 y F2.
Y con la satisfacción de que el sistema está funcionando, podemos leer el manual entero para mejorar y optimizar la configuración. Como veréis, hemos puesto las contraseñas en texto plano en el archivo de configuración. No parece muy seguro. Es un buen sitio dónde comenzar.

rsync – Copiar archivos a lo grande

Para copiar archivos en la consola, típicamente usamos cp. Es sencillo, rápido y funciona. Pero cuando se copian grandes cantidades de archivos, o incluso archivos muy grandes, y sobre todo entre dispositivos diferentes, empiezan los problemas. Conectas un pendrive usb, o la tarjeta de memoria de la cámara y le das a copiar 3000 fotos a tu carpeta Imágenes, o intentas pasar un archivo de 1,5gb a un pendrive. Comienza bien, pero pronto notas que empieza a ir cada vez mas despacio, hasta que parece que no acabará nunca.

La solución se llama rsync. Es un comando muy completo y potente que sirve para copiar archivos en forma local o remota, es decir que puedes usarlo entre dispositivos de tu ordenador, o para enviar archivos a través de la red.

Una función muy importante de rsync es que, si los archivos ya existen en la carpeta de destino, no los reescribirá, y si un archivo está cortado lo continúa desde donde ha quedado (por ejemplo, si la copia de aquél archivo de 1,5gb se ha cortado cuando sólo le faltaban 100mb). Es muy útil para hacer copias de seguridad, como mantener una réplica de toda tu carpeta Imágenes en un disco duro externo.

Al grano. Haremos:

rsync -avP /carpeta/de/origen/ /carpeta/de/destino/

ATENCIÓN: Es importante la barra inclinada ( / ) al final del directorio de origen. Si se coloca la barra inclinada, copiará los archivos que hay en ese directorio. Si no se coloca, copiará el directorio completo con sus archivos. En otras palabras:

rsync -avP /media/camera/ /home/yo/Imagenes/  

Copiará todos los archivos que hay dentro de la carpeta camera en la carpeta Imagenes. Pero:

rsync -avP /media/camera /home/yo/Imagenes/  

Creará también la carpeta camera/ dentro de Imágenes, con su contenido, quedando las imágenes dentro de /home/yo/Imagenes/camera/

La opción -a significa que se copiarán los archivos en modo «archivo«, y mantendrán los permisos, enlaces, usuario, grupo, etc, originales; también hará la copia recursiva (copiará los subdirectorios). La opción -v es para tener un feedback de lo que está sucediendo. Y la opción -P mostrará una barra de progreso de la transferencia y se encargará de los archivos transferidos parcialmente.

xrandr

El tiempo pasa volando.

Comentaré una utilidad excelente para pantallas tft que tienen el soporte giratorio, entre otras: xrandr .

Con ella se puede modificar todo tipo de parámetros de la pantalla, pero lo que utilizo constantemente es girar la pantalla a izquierda para realizar algunas actividades gráficas con la pantalla en vertical. También resulta práctica para ver algunas páginas web (como ésta), o invertir la imagen si utilizas un proyector.

Es muy sencillo:

xrandr -o left , gira la pantalla hacia la izquierda. Otras opciones son:

-o right

-o normal

-o inverted

Para usarla con facilidad, he hecho dos atajos de teclado (tecla Win + flecha izq y tecla Win + flecha arriba). En xfce, yendo a Inicio > Configuración > Teclado. Así puedo cambiar de una posición a otra rápidamente.

 

Recuperar contraseña de WordPress

Si has instalado wordpress y pierdes, por casualidad, la clave de tus usuarios (y no es que admita públicamente que me haya sucedido a mi, solo es un ejemplo!), puedes recuperarla si tienes acceso a la base de datos. Si has perdido la clave de tu base de datos ya tienes otro problema…

Supongamos que has perdido la clave de tu usuario admin. Tendrás que entrar a tu mysql:

mysql -u tuusuario -p dbdelwordpress

Una vez dentro hay una tabla de usuarios: wp_users . con describe wp_users; verás como está conformada, con select ID, user_login from wp_users; verás la lista de usuarios. Para cambiar la clave del usuario admin, pon:

update wp_users set user_pass=md5('clavenueva') where user_login="admin";

Con eso habrás guardado la nueva clave codificada con md5, que es lo que usa wordpress