Jun 26 2010

Media Server desde GNU/Linux para PS3

En este post explicaré cómo montar un media server para poder ver las películas, imágenes y reproducir los contenidos multimedia que tengamos en nuestro PC con GNU/Linux desde un PS3. Esto es particularmente útil para reproducir archivos .avi que tengan subtítulos aparte (.sub, .srt) ya que el PS3 es capaz de reproducir videos .avi pero no cargar los subtítulos, así que ahora sí se podrá usar el PS3 para ver las películas y series con subtítulos

Gracias a un programa llamado ps3mediaserver (Un media server escrito en Java, lo que hace que sea multiplataforma) es muy sencillo llevar a cabo este procedimiento que describiré en estos pasos:

1. Establecer conectividad entre el PS3 y el PC
Esto se puede lograr bien sea con un router (preferiblemente con cable de red dado que por wifi es lenta la transferencia de datos) o conectando el PS3 directamente al PC con una cable de red cruzado y estableciendo IP’s estáticas para ambos dispositivos. El último es mi caso por eso tengo un script adicional al momento de ejecutar PMS para que el proceso de establecer la IP sea automático. Este script se los mostraré con más detalle al final del post.

2. Activar la búsqueda de servidores multimedia en el PS3
En Ajustes-»Ajustes de red»Conexión al servidor multimedia seleccionar la opción activar

3. Preparar el sistema para el uso de PMS
Debemos instalar el JRE, mencoder y ffmpeg lo cual logramos con un

sudo apt-get install ffmpeg mencoder sun-java6-jre

si nuestra distribución es Ubuntu

4. Descargar PMS
Vamos a la página de PMS y en la parte de la derecha vemos el enlace para descargar la versión para GNU/Linux (tgz), lo descargamos y descomprimimos en una carpeta desde la que lo deseemos ejecutar

5. Ejecución PMS
Para ejecutar PMS sólo necesitamos correr un script que encontraremos en la carpeta que nos creó al descomprimir

sh RUTA_PMS/PMS.sh

NOTA: Si la ruta donde tenemos el script tiene espacios (por ej /media/CRIS/Mi/ música/Juegos/PS3/pms-linux-1.10.5), la ejecución nos sacará un error como este:

cd: 24: can't cd to /media/CRIS/Mi/ música/Juegos/PS3/pms-linux-1.10.5
Unable to access jarfile /home/cristianpark/pms.jar

Debemos editar el script PMS.sh de forma que la línea 3 quede así:
#DIRNAME=`dirname $0`

Y la línea 24 quede con la ruta donde va a estar el script, en mi caso:
PMS_HOME=`cd "/media/CRIS/Mi música/Juegos/PS3/pms-linux-1.10.5"; pwd`

Nota: /media/CRIS/Mi\ música/Juegos/PS3/pms-linux-1.10.5/ en mi script es la ruta donde tengo PMS.sh, cada quien debe adaptar esto a su ruta

Hay un link para descargar el script PMS.sh modificado al final del post

6. Configuración carga subtítulos
Para configurar la carga automática de subtítulos .srt y .sub en los videos, debemos seguir los pasos que se muestran en la imagen.

En ajustes de transcodificación-»Motores de Video-»Mencoder seleccionar la opción Autocargar subtítulos *.srt/*.srt con el mismo nombre de archivo

7. Acceder a los archivos desde el PS3
Desde el PS3 por el menú video podremos acceder al Servidor Multimedia y navegar en el sistema de archivos de nuestra distribución. Por ej: / » /media » /CRIS » » /CRIS/Series

OPCIONAL

Automatizar proceso de establecer IP estática en el PC
Como les había mencionado anteriormente, el PS3 lo tengo conectado directamente al PC con un cable cruzado por lo que antes de lanzar PMS debo establecer la IP manualmente (10.0.0.2 para el equipo y tengo configurado el PS3 con 10.0.0.3) por eso creé este sencillo script que establece la IP como root y ejecuta PMS como el usuario que llega como parámetro (para no ejecutarlo como root). Ubicamos este script en la misma carpeta donde está PMS.sh

Este es el contenido del script (Daré un link para descargarlo posteriormente)

#!/bin/sh
# @author Cristian Gómez Alvarez
# @fecha Junio 26 de 2010
#
# @params $1: Nombre del usuario estandard del sistema (para no ejecutar psm como root)
#

## Se establece la dirección IP estática para el PC (El PS3 tiene IP 10.0.0.3)
ifconfig eth0 10.0.0.2 netmask 255.255.255.0 up

# Se ejecuta PMS como usuario estandard
su - $1 -c "sh /media/CRIS/Mi\ música/Juegos/PS3/pms-linux-1.10.5/PMS.sh"

Nota:/media/CRIS/Mi\ música/Juegos/PS3/pms-linux-1.10.5/ en mi script es la ruta donde tengo PMS.sh, cada quien debe adaptar esto a su ruta

Agregar lanzador en el menú (Gnome)
Esta opción es para los que nos gusta hacer las cosas más fáciles cuando se puede y ejecutar PMS desde el menú en Gnome. Para esto:
- Click derecho en el menú y seleccionamos la opción Editar los menús.
- Seleccionar el menú en el que se quiere crear el lanzador (en mi caso Sonido y Video)
- Seleccionar Elemento Nuevo (parte superior derecha) y en la parte donde dice comando ponemos

gksudo sh "/media/CRIS/Mi música/Juegos/PS3/pms-linux-1.10.5/lanzar_pms.sh" nombre_usuario
si necesitamos asignar la IP estática
o
gksudo sh "/media/CRIS/Mi música/Juegos/PS3/pms-linux-1.10.5/PMS.sh" nombre_usuario
si nos conectamos a través de un router

Donde nombre_usuario es el nombre del usuario sin privilegios de root del sistema (con el que se va a ejecutar PMS). En otras palabras el mismo con el que iniciamos sesión regularmente

Nota:/media/CRIS/Mi\ música/Juegos/PS3/pms-linux-1.10.5/ en el lanzador es la ruta donde tengo PMS.sh, cada quien debe adaptar esto a su ruta

El comando de una forma más ortodoxa es

gksudo sh "/media/CRIS/Mi música/Juegos/PS3/pms-linux-1.10.5/lanzar_pms.sh" `whoami`
pero no sé por qué no me funcionó el `whoami`en el lanzador, por lo que decidí poner el nombre del usuario para no crear otro script adicional o complicar más las cosas.

Esta imagen pretende aclarar un poco el proceso de creación del lanzador

Como les había prometido aquí están los scripts que se necesitan en determinados casos:
- PMS.sh modificado: Si la ruta desde la que ejecutamos PMS tiene espacios
- lanzar_pms.sh: Si conectamos el PC directamente al PS3 con un cable cruzado y deseamos automatizar el proceso de asignar IP estática (10.0.0.2 en este caso)

Ahora sólo nos queda disfrutar de una buena película o de nuestra serie favorita desde nuestro PS3 cargando los subtítulos adecuados!!!

Don’t Worry………Be Linux!!!!!


Jan 29 2010

Cambiar el wallpaper en el OpenMoko

Buenas noches, hacía mucho no tenía tiempo de postear algo sobre el OpenMoko y estaba aburrido por no poder hacer algo con el juguetico pero hace poco lo estuve desempolvando para mirar el nuevo SHR (que ya estrenó rama testing -antes sólo había rama unstable-) y se puede ver que con la nueva versión todo va un poco más rápido y hay unas barras en el menú de una llamada para administrar el volumen del micrófono y del altavoz. Lo único malo (y bastante) es que cuando me llaman, las otras personas no me escuchan, espero que sea una configuración que no he hecho aún y no el temido buzz (defecto que posee la versión del OpenMoko que tengo). Pienso que puede ser por configuración porque con Android (no dejo Android instalado porque es muy invasivo, no deja tener dual boot) no tenía ese problema.

Ese fue el pequeño resumen de lo que ha pasado con mi FreeRunner últimante, ahora sí entremos en detalles acerca de cambiar el wallpaper en el OpenMoko usando SHR como distribución.
Los archivos que utiliza SHR como wallpapers no son simples imagenes png o jpg, son archivos especiales con extensión edj. Para crear estos archivos a partir de imágenes png o jpg, debemos seguir estos pasos:

1. Obtener la (s) imágen (es) de 480×640 que deseamos tener entre los posibles wallpapers para nuestro OpenMoko. Hasta donde sé, se pueden usar imágenes en formato jpg, jpeg y png

2. Instalar el paquete edje-utils en nuestra distro. Por ejemplo para Arch Linux, el paquete se llama edje-svn; para ubuntu podremos ver el proceso aquí (para Karmic Koala, ponemos la última línea -la que está en la nota). Este paquete nos proveerá varias herramientas, la que nos interesa particularmente es edje_cc que nos permitirá crear los archivos edj que necesitamos.

3. Crear el archivo de configuración que se usará para producir el .edj. Un archivo de configuración (.edc) luce así:

images { image: “Ink-6.png” LOSSY 90; }
collections {
group { name: “e/desktop/background”;
data { item: “style” “2″; }
max: 480 640;
parts {
part { name: “col”; type: RECT; mouse_events: 0;
description { state: “default” 0.0;
color: 255 255 255 255;
} }
part { name: “bg”; mouse_events: 0;
description { state: “default” 0.0;
min: 480 640; max: 480 640;
image { normal: “Ink-6.png“; }
} } } } }
Se debe prestar atención a las líneas en negrita que son las que hacen referencia a la imagen que vamos a convertir en edj

4. Tener en el mismo directorio el archivo edc y el archivo de la imagen referenciada en este (como adivinarán en este paso, si se quieren crear varios wallpapers, se tendrá que modificar el arcihvo .edc para que haga referencia a una imagen a la vez) y generar un archivo edj para cada uno.

5. Ejecutar en la consola el siguiente comando
edje_cc $@ -id . -fd . archivoConfiguracion.edc -o archivoSalida.edj
En el comando anterior se cambia archivoConfiguracion.edc y archivoSalida.edj por los nombres que queramos

6. Conectar el OpenMoko al PC y transferir (via ssh o sftp si se quiere) los archivos edj que se obtuvieron en el paso 5 y ubicarlos en cualquiera de estas carpetas según donde queramos que se vean en el menú de SHR:

- Personal: /home/root/.e/e/backgrounds

- Sistema:  /usr/share/enlightenment/data/backgrounds
NOTA: Puede que en las rutas anteriores no exista la carpeta backgrounds, si es así, debemos crearla (mkdir backgrounds por la consola de shh)

7. En el OpenMoko, desplegamos en menú superior de SHR y seleccionamos en la esquina superior izquierda una rueda verde (logo de SHR?) en las nuevas versiones o un ícono de herramienta en las versiones antiguas. Esto nos abrirá el menú de configuración de SHR en el que se ven varios “tabs” o pestañas cada una con diferentes opciones. Seleccionamos allí la pestaña Look y luego la opción wallpaper.
Este menú no se ve bien en la pantalla (el texto sale cortado) pero no obstante es navegable y podemos ver que hay un radio button que nos permite seleccionar entre Personal, System y Use Theme Wallpaper; las dos primeras representan las carpetas que nombramos en el punto anterior.
Así que si por ejemplo pusimos nuestro wallpaper en /usr/share/enlightenment/data/backgrounds, podremos encontrarlo seleccionando System en el radio button que vemos arriba. En la parte izquierda podremos ver los nombres de los wallpapers y seleccionando uno, podremos ver su vista previa en la parte derecha.
Una vez sepamos cual estableceremos como wallpaper, seleccionaremos OK o APPLY y al volver al escritorio de SHR podremos ver que nuestros cambios ya tuvieron efecto.

Como vieron el proceso para seleccionar un wallpaper para el OpenMoko no es tan sencillo como poner imágenes en un directorio y luego seleccionarlas, pero después de generar el archivo edj, el proceso se resume a esto.

Si no quieren tener que hacer las configuraciones, aquí hay algunos archivos edj listos para que los suban a su OpenMoko y los disfruten

Don’t Worry………Be Linux!!!!!!!!!


May 9 2009

Ocultar Volúmenes Montados en Debian

A continuación detallo la forma cómo se quitan los volúmenes (particiones, memorias USB, celulares) que al montarse en nuestro Debian (y otras distros) se ven en nuestro escritorio (Gnome). Es bastante sencillo:

1. Abrir el editor de configuración de gnome (gconf-editor): esto se puede hacer escribiendo gconf-editor en consola o yendo a Aplicaciones»Herramientas del Sistema»Editor de configuración
2. Vamos a apps»nautilus»desktop y seleccionamos/deseleccionamos las opciones según queramos. Para lograr que desaparezcan del escritorio los volúmenes cuando se monten, deseleccionamos la opcion “volumes_visible” y listo el pollo. Adicionalmente encontraremos opciones para ocultar también los íconos de Equipo, carpeta personal y Papelera por si nos interesa mostrar/ocultar alguno de ellos.

Ocultar volúmenes

PD: como dato curioso podemos ver que se pueden cambiar los nombres de los íconos del escritorio (Equipo, carpeta personal y papelera) dándole valor a las opciones del menú que vimos,
EJ: trash_icon_name
Aquí les dejo un pantallazo de cómo queda el escritorio sin íconos de Equipo, carpeta personal ni los volúmenes montados y además la Papelera se llama “La Basura” ahora.

Escritorio sin íconos de volúmenes montados

Escritorio sin íconos de volúmenes montados

Don’t Worry………Be Linux!!!!!!!!!!!