[howto] Arrancando desde la red, sin CD ni disco rígido.

Siguiendo la saga del post anterior en donde presentaba a dnsmasq como la navaja suiza del arranque remoto para clientes sin disco rígido – lo que se conoce como diskless o thin clients – completo el artículo con una breve explicación acerca de como poner en funcionamiento este sistema para que nos sirva como DHCP server, TFTP server y PXE server.

Englobando un poco la idea general, lo que se persigue es:

  1. Nunca mas tener que volver a usar un CD o un diskette para arrancar una PC.
  2. Arrancar un ordenador usando únicamente la red (Tenga este disco rígido o no)
  3. Disponer de una serie de imágenes para arrancar desde la red entre las que incluyo:
    • Algunas distribuciones de linux (Cualquier versión de Ubuntu y System Rescue CD)
    • Imágenes ISO de cualquier CD Booteable
    • Windows desde la red.
    • Imágenes de Diskette booteables.

Todo esto se consigue combinando tres piezas que tienen que interactuar entre si:

  • Dnsmasq
  • Grub4Dos
  • PXElinux

Sigue leyendo

[TIP] Reproducir videos de Youtube usando mplayer.

La idea es:

Copiar la URL (dirección del video de youtube) al clipboard (portapapeles) con CTRL + C o el botón derecho del mouse y ejecutar mplayer para que lo reproduzca con un atajo de teclado, bash de por medio.

En mi caso he usado lineakd que actualmente me está gestionando todas las teclas multimedia del teclado para llamar a mplayer desde una de estas teclas, pero para hacerlo mas universal, usaremos atajos de teclado:

Desde una terminal, paso por paso:

Instalar xclip y mplayer. No puedo dar instrucciones específicas para cada distribución de linux por que no las conozco, cada uno sabrá como instalar ambos paquetes en su linux, con apt-get, yum, pacman o lo que sea que usen. En Gentoo:

~ $ emerge xclip mplayer

Crear un archivo:

~ $ touch yt.sh

Hacerlo  ejecutable:

~ $ chmod +x yt.sh

Editar el archivo (si no se dispone de nano instalado, cualquier otro editor de texto sirve):

~ $ nano yt.sh

Copiar dentro del archivo yt.sh el siguiente contenido:

#!/bin/bash
youtube_url=`xclip -o|sed «s/ .*//»|head -n1`
mplayer -fs $(echo «http://youtube.com/get_video.php?$(curl -s $youtube_url | sed -n «/watch_fullscreen/s;.*\(video_id.\+\)&title.*;\1;p»)»)

Copiar yt.sh a algún lugar que quede dentro del PATH:

~ $ sudo cp yt.sh /usr/bin/

Crear un atajo de teclado que llame a yt.sh. De nuevo no puedo dar instrucciones específicas pero todos los gestores de ventanas (Gnome, KDE, XFCE, etc…) tienen algún modo de definir atajos de teclado.

He estado mirando un poco y para usar atajos de teclado en XCFE que es el entorno de escritorio que estoy usando hay que ir a Settings / Xfce 4 settings manager / Keyboard / Application shortcuts. (Sepan disculpar pero tengo XFCE instalado en inglés).

Por ejemplo, asociar el combo de teclas CTRL + M para que al ser pulsado ejecute yt.sh o si quieren llamarlo por el path completo, que llame a /usr/bin/yt.sh

Funcionamiento:

  1. Copiar la URL (la dirección del video de youtube) al portapapeles con CTRL + C o con el botón derecho del mouse desde su navegador.
  2. Presionar el combo de teclas que lanza yt.sh (supongamos que CTRL + M)
  3. Disfrutar del video en pantalla completa, reproducido por mplayer. Se puede salir del modo pantalla completa durante la reproducción presionando la tecla F y ver el estado de la preproducción presionando la tecla O (Por OSD). El volumen se controla con las teclas [/] y [*] facilmente ubicables en el teclado numérico. También se pueden corregir desfasajes entre el audio y el video usando las teclas [+] y [-].

La idea original de parsear la URL de youtube y pasarsela a mplayer la saqué de este blog. El funcionamiento de xclip de este otro.

Que lo disfruten…

[TIP] Como hacer que sudo no pida contraseña.

Esto es bien básico pero ya me lo preguntaron dos veces en una semana.

El archivo de configuración que controla sudo se encuentra en /etc y se llama sudoers.

Unicamente los usuarios definidos en /etc/sudoers tienen permido para usar el comando sudo, con lo que por lo general uno se encuentra con esto:

pepito ALL=(ALL) ALL

Con lo que el usuario pepito puede ejecutar sudo pero se le pide la contraseña de root cada vez.

Para que sudo deje de preguntar la contraseña cada vez, la misma línea anterior tiene que decir:

pepito ALL=(ALL) NOPASSWD:ALL

Eso hace que sudo no pida la contraseña – el password – cada vez que es ejecutado por el usuario pepito.

La comodidad ante todo, la seguridad al final.

[TIP] Concatenado inverso con tac / cat

¿Quién no ha usado cat en la consola de linux para algo alguna vez? Que tire la primera piedra!

Este me lo mostró un amigo hace algunos años y lo acabo de recordar por que he tenido que usarlo. Yo ni sabía que existía tal cosa…

El comando es tac, hace exactamente lo inverso a cat. Es decir, si mi archivo.txt contiene dos líneas: linea1 y linea2, hacer cat archivo.txt me devuelve:

~ $ cat archivo.txt
linea1
linea2

Si por otrto lado, uso tac, el resultado:

~ $ tac archivo.txt
linea2
linea1

Muy útil en esos casos en que necesitamos solo la cabecera de un archivo, por ejemplo.