PC Frikis

Beta, como Goooogle

Archive for Enero, 2007

Los Bytes Mágicos

¿Cómo podemos distinguir un tipo de fichero de otro? Por ejemplo, un mp3 de un archivo de vídeo. Sí, ya sé, mirando la extensión, pero qué ocurre si borramos la extensión del nombre de archivo, ¿Cómo podemos saberlo entonces?

Sí, podemos abrir el archivo en un reproductor y ver qué pasa, pero, ¿Y si no tenemos ni idea de qué puede ser el archivo? no podemos ir probando con todos los programas que tengamos a ver si el fichero se abre.

Para solucionar esto existen los Magic Bytes (Bytes Mágicos), que son nada más y nada menos que una serie de bytes que nos permiten identificar inequívocamente un archivo. Por ejemplo un mp3 contendrá las cabeceras que todo fichero mp3 debe tener, lo mismo sucederá con un archivo mpeg o un fichero ejecutable.

Una utilidad muy interesante en linux es el comando “file” que nos permite identificar ficheros sin hacer caso a la extensión. Por ejemplo:

$ file unarchivo.zip
unarchivo.zip: Zip archive data, at least v2.0 to extract

Le cambiamos el nombre y sigue saliendo lo mismo:

$ mv unarchivo.zip unarchivo
$ file unarchivo
unarchivo: Zip archive data, at least v2.0 to extract

Si probamos con un archivo avi incluso nos dirá las propiedades de este:

$ file video.avi
video.avi: RIFF (little-endian) data, AVI, 640 x 480, 23.98 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)

¡Y hasta identifica ficheros de código!

$ file otroarchivo
otroarchivo: PHP script text

Escritorio remoto con VNC

Actualmente es bastante frecuente dejar un PC casero encendido las 24h, descargando cosas,  haciendo de servidor http o incluso, para utilizarlo desde cualquier parte del mundo como si estuvieras en tu casa, gracias a VNC.

Hay básicamente dos formas de utilizar un escritorio remoto, de forma compartida (almenos en linux) o de forma dedicada. Es decir, podemos hacer que nuestra sesión de X (o de Windows) sea compartida y otros usuarios puedan conectar a ella o podemos iniciar un escritorio al que únicamente se podrá acceder via vnc (hasta dónde yo sé esto sólo es posible en linux).

Para el primer caso, si queremos compartir nuestro actual escritorio, podemos utilizar x11vnc (apt-get install x11vnc en linux). Iniciamos el entorno gráfico (el que sea, kde, gnome, xfce, fluxbox … ) y abrimos una consola, para escribir:

x11vnc -storepasswd

Nos preguntará por una contraseña y nos dirá si la queremos guardar, introduciremos una contraseña y diremos que sí a guardar. Por defecto la guardará en ~/.vnc/passwd así que usaremos ese archivo en el siguiente comando:

x11vnc -rfbauth ~/.vnc/passwd

¡Ya está! ¡Así de fácil! Tenemos el entorno X actual disponible para acceder desde cualquier PC conectado a internet (eso sí, procura tener mapeado el puerto 5900 en tu router). Ahora sólo necesitas el visor, que puedes encontrar en la web oficial de vnc o puedes instalarlo via tu sistema de paquetes favorito (en debian apt-get install xvncviewer).

Ahora sólo te queda ejecutar el xvncviewer e indicar la ip y el escritorio, que por defecto es el 0. Si el PC donde está compartido el escritorio tiene la ip 192.168.0.4 pues pondrás en el xvncviewer 192.168.0.4:0

Si lo que quieres es crear un nuevo entorno gráfico dedicado a vnc entonces tendrás que instalar vnc4server (apt-get install vnc4server) y hacer lo siguiente:

vncpasswd

vnc4server -depth 16 -geometry 1024×768

Con el parámetro depth indicas la profundiad de color y con geometry la resolución del nuevo escritorio. Al ejecutar este comando verás algo parecido a esto:

New ‘hostname:2 (usuario)’ desktop is hostname:2

El “:2″ es el número de escritorio, es lo que tendrás que utilizar cuando lances el xvncviewer y además, mapear el puerto 5900+2 en el router, es decir, el 5902.

Para cerrar un servidor vnc sólo tienes que hacer vnc4server -kill :2 (o el número que sea).