Buscar este blog

miércoles, 10 de abril de 2013

Creando scripts personalizados

Hace algunos días publiqué un post dedicado a aquellos problemas con la resolución de video. Al finalizar agregué un script que me hacía la vida más fácil, dado que ejecutaba las instrucciones que explicaba en el post.

Hoy quiero explicarles como crear nuestros propios scripts dentro de GNU/Linux.

¿Qué es un script?



Un script es un archivo compuesto por un conjunto de instrucciones que se ejecutan en la computadora una a la vez, de manera secuencial. Consiste en un archivo que contiene las líneas de instrucciones que deberán ejecutarse cada vez que mandemos llamar a dicho archivo.

Un script representa un método sencillo de programación. Dado que sus intrucciones son leídas por el intérprete del sistema, éste manda llamar a los programas o sentencias que ahí se indican.

Anatomía de un script


Básicamente, un script se compone de una cabecera, instrucciones y comentarios. Aún cuando no existe una nomclatura base para generar un script, se recomienda utilizar una similar a ésta:

inicio del script

comentarios <<que hace el scrip, quien lo realiza, etc>>

instrucciones del script

Con estos datos es posible entender nosotros qué realiza el script y cómo lo hace.

Crear un script


Para crear un script la mecánica es muy simple. Solamente haremos un archivo y le pondremos la extensión sh. Podemos lanzarnos directamente con un editor de archivos, o bien, crear un archivo vacío para luego editarlo.

Para crear un archivo vacío, haremos uso del comando touch.

# touch miScrip.sh

Esto crea un archivo sin nada en él, solamente el nombre.

O bien, podemos abrir un editor de textos, crear el archivo y escribir directamente en él las intrucciones. Esto puede hacerse con cualquier editor como nano, vi o emacs, o en modo gráfico con el gedit.

Supongamos que ya abrimos el archivo. Lo que tenemos que hacer a continuación es indicarle al script cuál será el intérprete de comandos que utilizará. Pueden ser /bin/bash o /usr/bin/pearl. En realidad no importa cuál intérprete se utilice. Esto es solamente para indicarle a GNU/Linux con que intérprete leerá los comandos.

Ya que decidimos cuál será el intérprete a utilizar tenemos que agregar nuestra primera línea al archivo. En esta línea se le indicará cuál es el intérprete de comandos. Supongamos que elegimos bash. La línea será:

#! /bin/bash/

Si por el contrario decidimos usar pearl, la línea deberá ser como ésta:

#! /usr/bin/pearl

Es importante escribirlo tal y como se indica. La combinación de caracteres #! le indicará a GNU/Linux de donde debe sacar el intérprete para los comandos.

Un script básico


Supongamos que tenemos que realizar una tarea repetitiva. Esta tarea consiste en movernos del directorio en que nos encontremos a un directorio llamado "Paso" ubicado en /home/usuario. Luego, en ese directorio borraremos un archivo llamado "miFile.txt". Y finalmente nos moveremos al directorio /home.

Si este proceso lo tenemos que realizar unas veinte veces al día, lo que tendríamos que hacer (secuencialmente) cada vez que se requiere es esto:

# cd /home/Paso <<enter>>
# rm miFile.txt <<enter>>
# cd /home <<enter>>

Son tres instrucciones solamente, pero, realizar estas tres instrucciones veinte veces al día resulta monótono. Si por el contrario, estas intrucciones se encuentran en un solo archivo, sólo tenemos que ejecutar ese archivo cada vez que lo necesitemos.

Como a mi me gusta usar la terminar, abriré una y escribiré lo siguiente:

# nano miScript.sh

Observen que el nombre de archivo tiene que llevar por fuerza la extensión .sh.

Una vez abierto el editor escribiré mi script de la siguiente manera:

!# /bin/bash

# Este script realiza la tarea más monótona del día
# que consiste en realizar mi trabajo. Escrito para bash.

cd /home/Paso
rm miFile.txt
cd /home
echo "Tarea realizada. Have a nice day!"

Si quisiéramos que el intérprete fuea perl, escribiremos el script de la siguiente manera:


!# /usr/bin/pearl

# Este script realiza la tarea más monótona del día
# que consiste en realizar mi trabajo. Escrito para pearl.

cd /home/Paso
rm miFile.txt
cd /home
echo "Tarea realizada. Have a nice day!"


Guardaré mi archivo y ¡Listo! Mi primer script está creado.

Observen que la primera línea del script le indicará a GNU/Linux cuál será el intérprete a usar.

La segunda y tercera línea son un comentario sobre lo que hace el script. Los comentarios se indican con el símbolo #.

Posteriormente se especifican las tareas que realizará el script de manera secuencial.

Finalmente imprimirá en pantalla un pequeño mensaje. Las impresiones de pantalla se indican con el comando echo.

Ejecutando el script


Hasta este momento nuestro script es solamente un conjunto de líneas en un archivo. Sin embargo, si tratamos de ejecutarlo obtendremos un mensaje de error. Esto se debe a que aún no le hemos dado permisos de ejecución.

Para poder ejecutar el script, desde la consola escribiremos lo siguiente:

#sudo chmod 755 miScript.sh 

La opción 755 le da permisis sólo al propietario, pero si queremos que el script sea funcional a cualquier usuario, entonces utilicemos 777.

Escribiremos la contraseña y ¡Listo! Ahora nuestro script está listo para funcionar.

Desde la consola escribiremos:

# ./miScript.sh

o bien

# sh miScript.sh

Es importante escribir ./ o sh antes del nombre del script, de lo contrario GNU/Linux no sabrá que se trata de ejecutar.

Ahora, si son más bien flojos y no quieren usar la consola, pueden hacer clic con el botón derecho del mouse en el archivo desde su administrador de archivos, seleccionar Propiedades, luego la pestaña Permisos y finalmente clic en la opción Permitir ejecutar el archivo como un programa.

Ya con esto simplemente lo mandaremos llamar con un doble-clic o bien desde la consola.

¡Y listo! Nuestra tarea monótona se verá aliviada, al ejecutar una única sentencia en lugar de cuatro o cinco cada vez.

Finalmente


Recuerden que en un script podemos incluir todos aquellos comandos que utilizamos en GNU/Linux. Podemos usar sudo, su, clear, ls, etc. Solamente sean cuidadosos sobre lo que hacen para evitar problemas en su sistema.

Happy Hacking!!!

sudo VS su



Muchas veces nos encontramos con literatura que nos dice que, si queremos instalar una aplicación den GNU/Linux debemos convertirnos en super usuarios o root. GNU/Linux ofrece alternativas a esta problemática, sin embargo, éstas deben ser tratadas con cuidado.

¿Por qué cuidarse al utilizar una cuenta root o sudo? Muy simple. Porque estaríamos abriendo la puerta a nuestro sistema. Pero, para entender esto, primero expliquemos cada una de ellas.

su


su es el acrónimo de Swith User, aunque también es conocido sin ser correcto como "Super User". Este comando permite abrir una sesión dentro de la existente como otro usuario. Por ejemplo, supongamos que nuestro usuario de uso corriente se llama "tito" y tenemos otro usuario llamado "lolo". Si abrimos la sesión con nuestro usuario tito y necesitamos abrir otra sesión como lolo sin cerrar nuestro sistema, abriremos una consola y escribiremos

su lolo

Esto abre una sesión con ese usuario, pero seguimos en la carpeta en que estamos trabajando.

Si por el contrario ponemos un guión medio (-) después del comando su, forzaremos al sistema a abrir una nueva terminal con las preferencias del usuario lolo, dentro de nuestra sesión.

Si además de esto, solamente ponemos su, el sistema lo tomará como si quisiéramos acceder como el usuario root. Recuerde que root es el usuario más importante de todo GNU/Linux, es el "Súper Usuario", por lo que les recomiendo que sean muy cuidadosos con este comando.

sudo


El comando sudo (super user do) es una utilidad que permite a los usuarios ejecutar programas con los privilegios de seguridad de otro usuario (generalmente root) de manera segura. Para poder utilizarlo, nuestro usuario debe por fuerza ser parte del grupo de usuarios sodoers. Algunas distribuciones como Ubuntu y sus derivados incluyen al usuario que se crea al inicio de la instalación en el grupo sudoers. Otras como Mandriva u openSUSE no lo hacen, por lo que hay que incluirlo manualmente al grupo.

Para poder incluir al usuario en el grupo sudoers, es necesario editar el archivo del  mismo nombre. Para agregarlo haremos lo siguiente:

# su
Password: ********* <tecleamos la contraseña de root>
root@equipo:/home/usuario# nano /etc/sudoers <indicamos que abriremos el editor y el archivo>

Al final del archivo agregaremos al usuario de la siguiente manera:

usuario ALL=(ALL) ALL

Y finalmente grabaremos el archivo.

De esta manera queda agregado el usuario al grupo.

Aclaro que en este caso se estaría usando el editor nano, sin embargo puede ser el editor vi, gedit o emacs. Esto depende de las preferencias de uso de cada quien. Simplemente se sustituirá nano por el nombre del editor preferido.

Pudiera darse el caso que no se cuente con el programa sudo instalado en el sistema. Algunas distribuciones no lo incluyen en su instalación por defecto, por lo que deberemos instalarlo manualmente. En Debian y sus derivados escribiríamos lo siguiente en la consola:

# su
Password: ********* <tecleamos la contraseña de root>
root@equipo:/home/usuario# apt-get install sudo

Con esto queda instalado el paquete sudo en el sistema.

sudo VS su


Ahora que ya hemos visto la diferencia entre ambos es muy importante hacer notar lo siguiente:

Cuando usamos su, abrimos las puertas de nuestro sistema a cualquier persona que pase por ahí, si dejamos nuestro equipo abierto y sin protección. Es por esta razón que los distribuidores de GNU/Linux hacen énfasis en no utilizar la cuenta root a menos que sea absolutamente necesario. 

Por el contrario, cuando hacemos uso de sudo, solamente lo hacemos en ese momento. Si queremos instalar un programa, es mejor usar sudo que su, pues el comando solamente habilita la acción de instalación para ese programa, siguiendo la ejecución de todo lo demás.

Además recuerden que su permite un acceso total al sistema de archivos de GNU/Linux, con lo que un usuario malintencionado podría acceder a todas las subcarpetas del sistema de archivos (/home) y robar información, aún cuando éstas carpetas estén cifradas.

Espero les sea de utilidad.

Happy Hacking!!!


Comandos para el manejo de archivos en GNU/Linux

Como saben me encanta hacer uso de la consola y en ocasiones, cuando explico algún procedimiento solamente comento el comando que se usa en ese procedimiento en particular, sin embargo, esto no significa que sea el único comando a utilizar.

Hay veces que un usuario necesita hacer uso de otros comandos, ya sea simplemente por necesidad o por querer experimentar su uso.

A continuación expongo algunos de los comandos más utilizados para trabajar con archivos en GNU/Linux.

Listar todos los archivos (excepto los ocultos) del directorio actual, en formato detallado.
ls -l

Listar los archivos del directorio actual, indicando el tipo de archivo.

ls -F

Listar todos los archivos (incluyendo los ocultos) del directorio actual, en formato detallado y presentarlo en columnas.

ls -laC

Borrar el archivo o directorio denominado "fichero"

rm fichero

Borrar el directorio denominado "directorio", incluyendo todos sus archivos y subdirectorios.

rm -rf directorio

Copiar el archivo o directorio denominado "fichero" al directorio "/home/datos".

cp fichero /home/datos/

Mover el archivo o directorio denominado "fichero" al directorio "/home/datos".

mv fichero /home/datos/

Visualizar el archivo denominado "archivo".

cat archivo

Visualizar todas las paginas de mantenimiento que contienen la palabra "palabraclave".

man -k palabraclave

Visualizar el archivo denominado "archivo", una página a la vez. Para avanzar a la siguiente página se debe presionar la barra espaciadora.

more archivo

Visualizar las 10 primeras líneas del archivo denominado "archivo".

head archivo

Visualizar las 20 primeras líneas del archivo denominado "archivo".

head -20 archivo

Visualizar las 10 últimas líneas del archivo denominado "archivo".

tail archivo

Visualizar las 20 últimas líneas del archivo denominado "archivo".

tail -20 archivo

Happy hacking!!!

martes, 2 de abril de 2013

Usando GNU/Linux por primera vez

Hoy esta entrada está dedicada a una querida amiga de hace muchos años. ¿Y por qué a ella? Pues simplemente porque el día de ayer platicamos lo que significa el cambio de un sistema operativo a otro, sobre todo cuando tooooda tu vida has usado el de la ventanita.

Recuerdo que hace algunos años (iba a decir muchos, pero no faltará quien me diga que estoy viejillo), cuando yo también decidí hacer esa transición de un sistema conocido a uno desconocido, uno de mis queridos amigos (el Javo) me decía: 

"Cambiar de sistema operativo, es como cambiar de religión. Hay diferentes dogmas, diferentes rituales, diferentes santos. Por ejemplo, el concepto de 'servidor' en Linux tiene dos acepciones distintas: Por un lado puede ser un equipo que hace esa función, y por otro es un programa que realiza funciones específicas."

Recuerdo que esto me dejó con algunas dudas, las cuales poco a poco se fueron disipando al usar diariamente el sistema. Ayer que platicaba con Claudia le decía: "Mira Clau, anímate a usarlo, lo peor que puede pasar es que lo descompongas y lo volvemos a instalar." Sin embargo, actualmente esta transición es mucho más sencilla que cuando yo la hice, y esto es porque en aquellos años no tenías de otra que instalar el sistema en tu computadora, y si no te gustaba o tenías demasiadas dudas y querías regresar a tu sistema anterior, tenías que volver a instalar todo de nuevo. Actualmente, con el uso de los "LiveCD" este paso es muy sencillo.

Usando un LiveCD



Primeramente, ¿Qué es un "LiveCD"? Como su propio nombre nos indica, se trata de un disco cd (o dvd, en cuyo caso se denomina LiveDVD) que contiene el sistema operativo en cuestión, pero que puede arrancar desde él sin necesidad de instalarlo. Esto es muy conveniente porque podemos usar el nuevo sistema sin necesidad de que se realicen modificaciones a nuestro equipo. Así, si no nos gusta esa distribución o simplemente no queremos instalarlo. 

Actualmente prácticamente todas las distribuciones cuentan con un livecd o livedvd, dependiendo del tamaño del sistema operativo. Cómo muchos saben, mi distro favorita es Ubuntu, por lo que este post tratará de cómo utilizar el livecd de ella, aunque puede ser utilizado con cualquier otra, ya sea basada en Ubuntu (lubuntu, xubuntu, debian, Mint) o en aquellas basadas en RedHat (Fedora, Mandriva, etc.)

Primeramente descargaremos la distro de nuestro agrado y nuestras necesidades. Recordemos que los equipos viejitos (y algunos nuevos) que solamente pueden manejar hasta 4 GB de RAM utilizan el chipset basado en intel x86. Por otro lado, los equipos que pueden manejar más de esta cantidad de memoria utilizan el chipset basado en el AMD 64. Dado lo anterior debemos descargar la imagen ISO adecuada a nuestro equipo (32 bits o 64 bits). Si quieren instalar un sistema de 64 bits en un equipo de 32 bits, lo más probable es que la instalación no prospere y el sistema se los indicará. No pasará nada, simplemente habremos perdido un poco más de tiempo.

Una vez que tenemos nuestra imagen ISO descargada, procederemos a "quemarla" en un CD o DVD, dependiendo del tamaño. Si el archivo mide menos de 700 MB entonces lo haremos en un CD, de lo contrario en un DVD. 

Si nuestro equipo soporta el arranque desde un pendrive (memoria USB para los que no entendieron), entonces podemos usar algún programa para simular la creación de un disco cd en una memoria. Si ya utilizas linux te recomiendo usar el programa UNetBootin. Si aún usas el de la ventanita o el de la manzanita, entonces busca en google un programa que te permita instalar una iso en una memoria USB. Para este post, asumiremos que contamos con un CD.

Insertaremos el disco en la unidad del equipo y arrancaremos la computadora. Dependiendo de la distro usada aparecerá un menú en pantalla (en inglés) que nos permitirá seleccionar la opción deseada. 


Como lo que queremos hacer es probar Ubuntu sin instalarlo, seleccionaremos la opción que diga "Try". Recuerden que dependiendo de la distribución deseada, esto puede variar.

Una vez que lo seleccionemos el sistema arrancará y nos mostrará el escritorio del sistema.


La imagen mostrada corresponde a la versión 12.04 de Ubuntu.

Observen los enlaces en el escritorio (Examples e Install). Antes de realizar cualquier cosa es necesario conectarnos a internet. Si nuestro equipo se conecta por medio de un cable de red, entonces no tenemos que realizar ninguna acción, pero si se conecta por wi-fi, entonces, en la parte superior derecha de la pantalla, haremos clic en el ícono de red y seleccionaremos la red a la que nos conectaremos, escribiremos la clave de red y listo.



Una vez conectados a internet podremos usar el navegador, etc. ¿Por qué nos conectamos? Por si queremos instalarlo. La instalación de Ubuntu requiere estar conectado a internet para descargar las actualizaciones, codecs, etc.

Probemos todos los programas. Utilicemos la suite LibreOffice, el manejador de imágenes GIMP, el quemador de discos Brasero, etc. Sintámonos libres de experimentar. Si algo sucede, no se preocupen. El sistema no está instalado físicamente en el equipo, sino en memoria. Por este motivo es probable que lo sintamos un poco lento en comparación a nuestro equipo habitual.

Para salir de este sistema, haremos clic en la parte superior derecha de nuestra pantalla en el ícono del engrane y luego en "Shutdown". Ubuntu se cerrará y en un momento nos solicitará que retiremos el CD de la unidad y presionemos ENTER.


Sacaremos el CD, presionaremos ENTER y el equipo se reiniciará, arrancando con el sistema operativo que tenga instalado físicamente (usualmente güindous).

Importante: Recuerden que esto es una evaluación del sistema. Los cambios que le hagamos, instalaciones, archivos que modifiquemos, etc. NO SE GUARDARAN. Todo aquello que hagamos se perderá al cerrar el equipo.

¿Lo instalamos?


Bien, lo hemos probado una y otra vez y decidimos instalarlo. Ya arrancamos con el livecd, entramos a probarlo, configuramos la red y hacemos doble clic en el ícono "Install".

Ubuntu nos preguntará cuál será el idioma a utilizar en la instalación. Por omisión viene en inglés, pero podemos cambiarlo a cualquiera de las opciones disponibles (que son un montón, por cierto).


Seleccionaremos el idioma y haremos clic en el botón Next o Siguiente si lo hicieron en español. También podemos seleccionar la plantilla del teclado. Para el caso de México seleccionaremos Latinoamericano.



Ubuntu revisará que el equipo cumpla con algunos requerimientos mínimos y nos mostrará los resultados. El sistema necesita un mínimo de 4.5 GB de espacio en disco para su instalación. Además requiere estar conectado a internet (por eso lo hicimos al arrancar la versión Live). Si se trata de una Laptop, aún cuando tenga la pila funcionando se recomienda conectarla a la corriente.


Además, podemos descargar durante la instalación aquellos complementos de terceros que necesitemos más adelante. Estos componentes son las librerías para el manejo de archivos propietarios como los MP3, AVI, etc. Recomiendo seleccionar las dos casillas que vienen en la parte inferior y hacer clic en el botón "Continuar".

Si no contamos con sistema operativo instalado en la computadora, se nos mostrará una pantalla como ésta.


Si por el contrario ya tenemos un sistema operativo instalado en el equipo, Ubuntu lo detectará y nos mostrará una pantalla como ésta:


Aquí decidiremos si queremos conservar el sistema operativo instalado (lo cual no recomiendo) o si usamos todo el disco para instalar Ubuntu. Si seleccionamos conservar el sistema operativo anterior, se creará un sistema de arranque dual, es decir, al arrancar el equipo se nos mostrará una opción para decidir con qué sistema queremos iniciar. Además deberemos especificar el tamaño que tendrá cada instalación. Ubuntu puede particionar el disco de manera que una parte de él se quede para el otro sistema y el resto para él. Es tan sencillo como deslizar la barra y establecer el tamaño para cada sistema.



Si por el contrario deseamos utilizar todo el disco y eliminar todo lo que haya en él, seleccionemos la opción Replace. A continuación nos preguntará dónde nos encontramos. Esto lo hace a fin de acomodar las preferencias de horario, sistemas y otras cosillas. Seleccionaremos la ciudad en donde estamos. Si es México, simplemente seleccionaremos aquella que se ajuste a nuestro uso horario, por lo general Mexico City.


Ahora escribiremos los datos de nuestro equipo, así como los de nuestra cuenta de usuario. Las opciones son sencillas. Escribiremos nuestro nombre completo (o apodo, jejeje), luego el nombre de nuestra computadora (Ej. CasitaMia), después el nombre de usuario que deseamos. Ubuntu sugerirá un nombre de usuario a partir del nombre completo que hayamos escrito, y si no nos gusta su sugerencia, entonces escribiremos el nuestro. Luego escribiremos la contraseña que deseamos usar (esto es obligatorio), la volveremos a escribir, y luego seleccionaremos cómo queremos ingresar al sistema.

Se puede seleccionar la primera opción, la cual hace que NO se nos pregunte nuestra contraseña al arrancar. La segunda opción hará que en cada inicio de sesión se nos pregunte nuestra contraseña.

Si deseamos encriptar nuestra carpeta personal, seleccionaremos la opción "Encriptar". Luego haremos clic en el botón Continuar.


En realidad esa es toda la información que debemos suministrarle al sistema. A continuación Ubuntu realizará la copia de archivos, la descarga de lo demás y lo acomodará todo. Dependiendo de la velocidad de nuestro internet y de nuestro equipo el proceso puede llevar desde unos cinco minutos, hasta unos veinte.


Finalmente se nos mostrará un mensaje indicando que la instalación ha sido concluida.


Al hacer clic en Reiniciar ahora, Ubuntu nos pedirá que extraigamos el disco, presionemos ENTER y luego se reiniciará el equipo.

¡¡¡FELICIDADES!!! Ahora ya tienes instalado tu Ubuntu en tu equipo.

¿Qué me instaló Ubuntu?


Al terminar la instalación verás que ya cuentas con varios programas para poder manejar tu equipo. A continuación te muestro un listado de algunos de los programas incluidos:



  • Firefox (Navegador)
  • LibreOffice (Write, Math, Impress - Procesador de textos, Hojas de cálculo, presentaciones)
  • Brasero (Quemador de discos)
Instalados, pero no visibles en el dock:

  • GIMP (Editor de Imágenes)
  • Audacity (Reproductor de Audio)
  • Totem (Reproductor de videos)
  • PDF Viewer (Lector de archivos PDF, imágenes, etc.)
  • Pidgin (Cliente de mensajería multiprotocolo)
  • SimpleScan (Para usarse con el escáner)
  • Y muchos otros

Además de estos programas que son visibles en el dock del menú a la izquiera de la pantalla, si haces clic en el botón Inicio del menú (parte superior izquierda) podrás escribir el nombre de lo que necesitas y te aparecerá.

¿Y si se requieren controladores adicionales?


Ubuntu es capaz de detectar si algún componente de hardware de tu equipo requiere algún controlador propietario, es decir, que no viene incluido en la instalación. Si este es tu caso, te mostrará un mensaje indicado que existen controladores propietarios para instalar.


Simplemente seleccionaremos el controlador adecuado y lo activaremos. Ubuntu descargará los archivos, los instalará y te pedirá que reinicies el equipo.

También podemos buscarlos manualmente, escribiendo en el botón Inicio.




Happy Hacking!!!

domingo, 3 de marzo de 2013

Lubuntu - Linux para equipos viejitos

¿Tienes una computadora viejita? ¿Guardas entre tus viejos cachivaches una computadora pentium II con 256 de RAM y un mini disco duro de 10 GB? ¿Quieres usar Ubuntu?

Respira tranquilo. Aún puedes sacarle jugo a esos equipos viejos que tienes e instalarles Ubuntu GNU/Linux. Para ello puedes usar alguna distro destinada a equipos así. Lubuntu es una buena opción.

Lubuntu es una distro basada en Ubuntu que utiliza un escritorio gráfico ligero (LXDE) y elimina muchas de las aplicaciones "pesadas". Los requisitos mínimos para ejecutar Lubuntu son:

- Pentium II o superior
- 128 MB de RAM

Al estar basada en la versión LTS (Long Term Service) nos asegura 5 años de actualizaciones.


Puedes descargar Lubuntu desde este enlace. Es un archivo ISO.

Happy Hacking!!!

miércoles, 20 de febrero de 2013

HTPC - Netflix para GNU/Linuxeros

Hace muchos años, allá por el 2000 me nació la inquietud de instalar una computadora en la sala de la casa, desde la cual tuviera acceso a mis películas, mis canciones, e incluso a internet, pero no quería usar el sistema operativo como tal, sino una aplicación ex-profeso para ello. Dado que la tecnología en aquellos años estaba aún en pañales comparada con la de ahora, tuve que programar toda mi aplicación desde cero. Utilizaba mi red TCP/IP para ello, me enlazaba a mi servidor de medios donde tenía todas mis películas ripeadas, mis archivos MP3, etc. Esto me llevó cerca de un año hacerlo, porque además lo hacía en mis escasos ratos libres. Al final la aplicación hacía exactamente lo que yo quería que hiciera, pero tenía un defecto: estaba limitada por las capacidades de mi sistema operativo (el de la ventana en aquellos años).

Hoy debo decir que instalar un sistema así es de lo más sencillo. Claro, ya pasaron muchos años desde entonces y la tecnología ha avanzado mucho. De entrada antes no había en el mercado pantallas de TV que se conectaran a la PC de manera nativa, sino que teníamos que hacer uso de una tarjeta especial que convertía la señal de la placa madre hacia un formato NTSC. Además, desde hace muchos años que no uso el sistemilla ese de la ventanita.

Vamos por partes y empecemos por definir algunos términos.

¿Qué significa HTPC? Son las iniciales de Home Theater Personal Computer. Esto significa en cristiano que una computadora personal se puede convertir en un teatro en casa. Si bien es cierto que en el mercado existen muchas opciones, nada como hacerlo uno mismo.

Ahora les explicaré en qué consistió mi proyecto y cómo es que lo llevé a cabo.

En mis posesiones más preciadas constaba una vieja computadora Pentium IV HT con 1 G de memoria RAM y 180 G de disco duro. Así pues, decidí darle un mejor uso que el de mesa de noche. La convertí en mi nuevo HTPC. Además de la computadora adquirí también un teclado y mouse inalámbricos Logitech pequeños y una tarjeta de captura de video.

Ahora lo más importante: el sistema operativo. Personalmente uso Ubuntu, pero la solución puede adaptarse incluso al sistema de la manzanita y al de la ventanita. Recomiendo más la utilización de GNU/Linux porque administra mejor los recursos de hardware, pero como dice el ranchero "ahí tu".

¿Qué software necesito?

Existen muchas opciones en el mercado, algunas de paga otras libres. En este caso nos referiremos a dos en particular: MythTV y XBMC.

MythTV es un programa bastante bueno que se compone de dos partes: un back-end que se encarga de controlar el sistema como tal y un front-end que es la parte visual del usuario. MythTV. MythTV en realidad son un conjunto de aplicaciones que ayudan a convertir la computadora en una grabadora de video digital (como el TIVO) con la cual podemos grabar programas de televisión en el disco duro para visualizarlos posteriormente, e incluso más allá, pues se puede jugar, navegar en internet, reproducir videos (DVD y archivos), escuchar música, etc. Incluso existen en el mercado controles remotos que interactúan con Myth de manera que no se requiere teclado o mouse. Incluso existe una versión LiveCD basada en Ubuntu llamada MythBuntu (descárgala desde aquí)


XBMC (Xbox Media Center) es un centro de entretenimiento multimedia multiplataforma bajo licencia GNU/GPL. Inicialmente fue creado para la primera generación de la consola XBox, sin embargo se ha portado para correr de manera nativa en GNU/Linux, Mac OS X (con Leopard, Tiger y Apple TV) y Windows. Incluso se puede descargar la imagen LiveCD (XBMC Live) basada en Linux y que además es instalable. Soporta una gran variedad de formatos multimedia y funciona básicamente mediante Plug-ins.

Personalmente sugiero la utilización de XBMC aparte, es decir, no usando la versión LiveCD (descárgala desde aquí).

Mi proyecto

Bueno, pues dado lo anterior primeramente quise probar con MythTV. Descargué la ISO de Mythbuntu y la instalé en el equipo. Para los usuarios nuevos ésta puede ser la mejor opción pues instala todos los componentes (back-end y front-end, además de otros servidores necesarios) de manera automática. Al final y después de varias pruebas me di cuenta de que no era exactamente lo que yo quería.

Después de esto, decidí instalar en el equipo una distribución fresca de Ubuntu 12.04 y realizar las instalaciones manualmente. A sugerencia de un amigo decidí probar XBMC. Para ello lo instalé en el equipo y ¡sorpresa! Es excelente. Hace lo que quiero y puede crecer mediante el uso de add-ons y plug-ins.

XBMC y algunas recomendaciones


XBMC funciona a base de plug-ins escritos en Python. Python viene instalado por default en nuestra distro, pero es necesario antes de eso realizar algunos pasillos más. Aunque XBMC viene con scripts por omisión para ver cosas básicas, existen en el mercado muchos más que podemos descargar para hacer más entretenido nuestro equipo. Estos los veremos más adelante.

Instalando mi equipo


Lo primero fue instalar Ubuntu 12.04 de la manera acostumbrada. Es importante al iniciar la instalación indicarle que utilice los componentes de terceros como el MP3 para que funcione correctamente en el futuro. Si no lo hacemos no hay problema, solo tendremos que instalarlos más adelante.

Una vez terminada la instalación, abrí una terminal y escribí

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libdvdcss2

Ahora sí, instalemos xbmc escribiendo en la terminal

sudo apt-get install xbmc

La última versión es la 12, pero si pueden descargar la 11 (Frodo) es mejor.

El proceso es muy rápido y a partir de ahí ya podemos hacer uso de nuestro xbmc.



Les sugiero tirarse un pequeño clavado al sitio de xbmc para que lean algunos conceptos básicos de su configuración.


Películas on-line tipo Netflix

Una de las más grandes ventajas de este tipo de sistemas es la posibilidad de ver películas que están alojadas en la red, al más puro estilo de Netflix, pero sin costos en ello. Como digo más arriba, xbmc funciona a base de plug-ins y el que les recomiendo para ver películas es pelisalacarta.

pelisalacarta

pelisalacarta es un plug-in que permite que xbmc se conecte a muchos sitios en internet (cinetux, vivo, etc.) para visualizar sus contenidos de una manera gratuita. Antes de usar este plug-in les sugiero que entren al sitio real-debrid y creen una cuenta de usuario gratuita. Les servirá más adelante para poder visualizar correctamente las películas.

pelisalacarta lamentablemente no se encuentra en los repositorios oficiales de xbmc, por lo que es necesario descargarlo desde este sitio. Se trata de un archivo zip y así se descarga. Cuando lo tengan NO LO DESEMPAQUEN. xbmc requiere que el archivo o plug-in se encuentre así para instalarlo.

Desde la opción System instalen el plug-in. Pueden encontrar más ayuda al respecto en este excelente post (en inglés).


Ahora configuraremos el plug-in. Aquí está la ayuda oficial. Recuerden en la pantalla Login introducir los datos de su cuenta en real-debrid, para que puedan descargar más películas.

Por cierto, instalen también JDownloader para que sus descargas sean más efectivas. En Ubuntu abriremos una terminal y escribiremos

sudo apt-get install jdownloader

¡Listo! Ahora podemos disfrutar de nuestro HTPC en la comodidad de nuestra sala o cuarto. Solamente conecten su PC a su pantalla de 42" y a disfrutar.

Inversión total


Para finalizar quiero decirles que solamente hice algunas inversiones para levantar este sistema:


  • Nuevo Gabinete más pequeño ($800.00 MN)
  • Tarjeta de captura de video ($250.00)
  • Teclado y Mouse Logitech inalámbricos ($180.00)
  • Bocinas con subwoofer ($300.00)
Total: $1530.00 MN


Así mismo quiero comentarles que pueden hacer que su HTPC NO PAREZCA UNA PC si integran sus componentes dentro de una vieja VHS o un viejo DVD. El límite es su imaginación.

Happy Hacking!!!

lunes, 11 de febrero de 2013

Cómo quitar la protección de copias de DVD en Ubuntu

Analicemos el siguiente escenario:

Tenemos nuestra colección de DVD's, nuestras películas favoritas y las queremos pasar a nuestra tablet, ponerlas en nuestro servidor de medios, etc. Lo que necesitamos hacer es ripearlas, es decir, leer el disco y extraer solamente lo que necesitamos de él, o sea, el archivo de video. Si han checado la estructura de un DVD verán que existen al menos dos carpetas. Estas se llaman VIDEO_TS y AUDIO_TS. Sin embargo, debido a las restricciones de los fabricantes, estos archivos contienen una protección contra copia.

La protección de copias de DVD no viene incluida por defecto en Ubuntu, pero sí se puede conseguir como un paquete más, a través de los repositorios de software. Para poder copiar un dvd al disco duro e incluso para copiar lo a otro disco, requerimos instalar la librería libdvdcss2. Por las restricciones del fabricante, Ubuntu no lo incluye dentro de la instalación estándar, así que tendremos que instalarlo nosotros manualmente. Esto se debe a que el software para desencriptar un DVD sigue siendo ilegal en ciertos países.

Para instalar la librería, abriremos una terminal y escribiremos:

sudo apt-get istall libdvdcss2

¡Listo! Ahora podemos usar el software de nuestra elección, Para rippear un dvd les recomiendo el programa Acid DVD Ripper, el cuál pueden descargar desde el centro de software de ubuntu.

Happy Hackking!!!