Mostrando entradas con la etiqueta cómo.... Mostrar todas las entradas
Mostrando entradas con la etiqueta cómo.... Mostrar todas las entradas

04 abril 2008

Configurar un SAI en Debian (o Ubuntu)

Tengo un SAI baratito hace tiempo, de los que tiene conexión a puerto serie y USB. Es un Yukai Powermust600. Me lo compré en una temporada en que íbamos a varios apagones por semana. Ahora sólo ocurren por la noche, así la compañía eléctrica ahorra un poco (nosotros no) y no molesta a nadie (es un decir). Sólo ocurre cada varios meses, aunque puede ser media hora de corte.

Otros sistemas necesitan instalar el programa o controlador que lleva el SAI. En el CD incluso hay versión para Linux, pero ni funciona ni es necesaria en absoluto. Vamos a utilizar una de esas joyas que tenemos escondidas que se configuran a base de tocar ficheros, la infraestructura que lleva Debian para configurar estas baterías de respaldo, nut (network UPS tools). Está orientado a grandes sistemas y por ello tiene cientos de posibilidades, lo que lo hace ligeramente complicado de configurar, pero eso no quita que podamos usarlo con un sistema personal. El procedimiento descrito sirve para las últimas versiones de Debian y Ubuntu, y seguramente para algunas anteriores y posteriores, ya que no hay demasiados cambios en la forma. Comentar que si en debian no usas sudo, todas las lineas que lo indican tendrán que hacerse como root. Vamos a ello.

Primero que nada, instalamos nut:
sudo apt-get install nut
Ahora miramos qué controlador es necesario para nuestro SAI. Tenemos dos opciones, mirar en la web, o mirar las páginas de manual:
man nutupsdrv
Al final aparecen todos los controladores, de los que tendríamos que mirar uno a uno sus respectivas páginas de manual para ver qué modelos cubren. El que nos ocupa es megatec y su página de manual indica sus parámetros, las órdenes que podemos darle y algunas variables. En versiones anteriores era el mustek, pero como dice su página de manual, está obsoleto y debe usarse el otro.
Algo importante: Sólo responde al puerto serie, el USB no se usa. Quien no tenga puerto serie que se olvide de este modelo. Otros como APC o MGE sí funcionan con puerto serie. Además, próximamente se integrará con HAL y el gestor de energía de Gnome lo reconocerá, entre otras cosas.

Seguimos. Ahora creamos el archivo /etc/nut/ups.conf y le introducimos algunos datos:
sudo gedit /etc/nut/ups.conf

[misai]
driver = megatec
port = /dev/ttyS0

Suponiendo que está conectado en el primer puerto serie. El nombre "misai" será con el que se identificará este SAI. Podemos poner el que queramos, pero hay que tenerlo en cuenta en los siguientes ficheros.
Ahora hacemos que arranque al iniciar el sistema:
sudo gedit /etc/default/nut
Buscamos las lineas siguientes, que tenemos que dejar tal como se indica:
START_UPSD=yes
START_UPSMON=yes

Ahora copiamos los siguientes archivos, que sirven como base:
sudo cp /usr/share/doc/nut/examples/upsd.conf /etc/nut/upsd.conf
sudo cp /usr/share/doc/nut/examples/upsd.users /etc/nut/upsd.users
sudo cp /usr/share/doc/nut/examples/upsmon.conf.gz /etc/nut/upsmon.conf.gz
sudo gunzip /etc/nut/upsmon.conf.gz

Tenemos que modificar los dos últimos:
sudo gedit /etc/nut/upsd.users
[admin]
password = contraseña
allowfrom = localhost
actions = SET
instcmds = ALL
[usuario]
password = contraseña
allowfrom = localhost
upsmon master

Esto nos crea dos usuarios de nut, con la contraseña que indicamos, y con acceso únicamente desde nuestro propio equipo. Puesto que hay contraseñas, este archivo hay que protegerlo. Lo haremos con todos al final. Ahora editamos el otro archivo:
sudo gedit /etc/nut/upsmon.conf
y le añadimos la linea siguiente, que indicará el usuario que utilizamos para acceder, su contraseña, y obviamente, el nombre de nuestro sai, localizado en el equipo local.
MONITOR misai@localhost 1 usuario contraseña master


Ya están todos los archivos con su contenido adecuado. Ahora falta protegerlos:
sudo chown root.nut /etc/nut/*
sudo chmod g+r /etc/nut/*
sudo chmod o-r /etc/nut/upsd.users

Serán de root y del grupo nut, que tendrán acceso de sólo lectura, y los demás ninguno.

Falta lo más importante: dar acceso a nut al puerto serie:
sudo usermod -a -G dialout nut

Ya por fin vamos a ponerlo en marcha:
sudo /etc/init.d/nut start

Si todo va bien dirá que ha conectado con el SAI. Si no, hay algo que nos hemos dejado.

Si se fuera la luz, tras unos instantes, se apagaría el ordenador ordenadamente, y tras él, el propio SAI. Al volver la luz volvería a encenderse todo. Veamos que nos dice el SAI:
upsc misai@localhost
battery.charge: 95.0
battery.voltage: 13.50
battery.voltage.nominal: 12.0
driver.name: megatec
driver.parameter.port: /dev/ttyS0
driver.version: 2.0.5
driver.version.internal: 1.5
input.frequency: 50.0
input.voltage: 230.5
input.voltage.fault: 230.5
input.voltage.maximum: 232.9
input.voltage.minimum: 223.7
output.voltage: 225.6
output.voltage.nominal: 220.0
ups.beeper.status: disabled
ups.delay.shutdown: 0
ups.delay.start: 2
ups.load: 23.0
ups.mfr: unknown
ups.model: unknown
ups.serial: unknown
ups.status: OL
ups.temperature: 25.0

Si queremos ver sólo un dato, podemos filtrarlo con grep.

Ahora que nos diga qué podemos hacer con él:
upscmd -l misai@localhost
Si tienes el SAI en el dormitorio será recomendable quitarle el pito. No querréis enteraros así de que se ha ido la luz:
upscmd -u admin -p contraseña misai@localhost beeper.toggle

Hay una forma más bonita de ver los datos. Vamos a instalar un programa de KDE para ello, pues parece ser el único:
sudo apt-get install knutclient
Lo ejecutamos (ALT+F2 y escribir knutclient) y vamos a Preferencias>configurar>SAI Añadir
Ponemos el nombre del SAI, y en dirección localhost, el nombre del usuario y la contraseña, todo igual que pusimos en los archivos de texto. Podemos seleccionar las variables que queremos que nos muestre. Por ejemplo, el voltaje de entrada y la carga. Tras aceptar, veremos los datos gráficamente. Una luz verde nos indica que todo va bien, y si hay un corte o la batería está baja, sendas luces rojas nos lo indicarán.

05 agosto 2007

Cómo instalar LTSP en Feisty. Terminales tontas.

Ha venido a mis manos un trasto viejo, un pentium 200. Tiene una gráfica ATI decente para la época (hace 10 años) y 64 MB de memoria, una cantidad de risa actualmente, pero utilizable. Lo primero que he hecho ha sido instalarle debian con el escritorio xfce. Es bastante lento, así que habrá que aprovecharlo de otra manera.
El equipo de uso va a hacer de servidor de terminal aprovechando el proyecto de servidor de terminal de linux (LTSP). Hice una pequeña descripción aquí. Con él podremos utilizar un ordenador totalmente desfasado como si estuviéramos delante de uno moderno.

Es bastante fácil ponerlo en marcha si no hay contratiempos. La información sobre esto en la red no es ninguna maravilla y me he tirado toda la mañana con esto, porque una parte se negaba a funcionar. El servidor tftp no se iniciaba desde inetd por haber interferencias, así que he tenido que chapucear un poco antes de darme cuenta de que realmente instala todo convenientemente él solito.

La terminal no tendrá disco duro y arrancará por red. Necesita arrancar por PXE y la tarjeta de red ha de soportarlo. Si la lleva la placa base lo normal es que lo soporte y funcionará sin hacerle nada, y si es añadida, deberá llevar un chip para la rom. Si está el zócalo vacío, o simplemente no hay manera de que funcione así y no puede usarse este método, antes que nada veremos el otro. Habrá que arrancar con un disco.
Primero comentaremos cómo hacerlo con un disquete; cutre, pero efectivo. Para ello hemos de comprobar qué dispositivo es la tarjeta de red que vamos a usar en la terminal. Habrá que montar la tarjeta en algún equipo que podamos manipular y después escribir en una consola:

lspci|grep net
lspci -n

Con lo primero vemos el modelo y con el segundo hemos de buscar, viendo los números de la primera columna, cual es el código del fabricante y el modelo. Sabiendo esto, vamos a esta página (elegir la última versión, actualmente 5.4.3) a buscar una ROM para la tarjeta que usaremos en el disquete. En el desplegable buscamos el modelo. Si no lo encontramos, hemos de buscar el nombre de su controlador aquí (o en el enlace que hay en la misma página) y luego volver a buscarlo en el desplegable, sabiendo que pondrá controlador:modelo. Descargamos el archivo pulsando en "Get ROM" y metemos un disquete en la disquetera.
Después vamos adonde tenemos el archivo y escribimos:
cd DirectorioDondeLoHemosGuardado
cat eb-5.2.4-ns8390.zdsk >/dev/fd0

Con esto ya tenemos el disco de arranque listo para usar.

Si queremos usar un CD (un desperdicio, pero más fiable), seguiríamos el mismo procedimiento, pero en la página de ROM-o-matic, elegiríamos en "ROM output format" "ISO bootable image" y grabaríamos la imagen descargada con el k3b o con el programa que queramos. Obviamente necesitaremos que nuestra terminal tenga lector, que seguramente sólo servirá para arrancar.
También puede hacerse con un lápiz USB, pero es más costoso de hacer.


Una vez claro cómo arrancar las terminales, empecemos a instalar cosas en el equipo que hará de servidor.

El método normal hace que se instale y configure todo prácticamente él solo. Instalamos ltsp:
sudo apt-get install ltsp-server-standalone

Hay que usar ltsp-server si quieres usar un servidor dhcp aparte en lugar del que se instala por defecto (dhcp3-server) en la propia máquina. Si así fuera tendrías que configurar en aquella máquina el archivo /etc/dhcp3/dhcpd.conf.

Con el servidor único dedicado el archivo a configurar sería, aunque por defecto seguramente estará todo correcto, el /etc/ltsp/dhcpd.conf
Ahí pondrá algo parecido a lo siguiente:
authoritative;

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.20 192.168.0.21;
option domain-name "example.com";
option domain-name-servers 192.168.0.1;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
filename "/ltsp/i386/pxelinux.0";
}
else{
filename "/ltsp/i386/nbi.img";
}
option root-path "/opt/ltsp/i386";
}

Tiene exactamente la misma sintaxis que el archivo de configuración de dhcpd, puesto que dicho servidor lo utiliza. Por defecto los datos serán correctos, pero podemos por ejemplo cambiar el rango de direcciones, como en este caso que se lo he reducido al 20 y 21.

Se instalan automáticamente openbsd-inetd y tftp-hpa. El primero se configura con el archivo /etc/inetd.conf y el segundo con /etc/default/tftpd-hpa. Tftp se inicia desde inetd a no ser que lo reconfiguremos con dpkg-reconfigure tftpd y elijamos que sea un demonio. Realmente esto es totalmente innecesario. En el segundo archivo por defecto pondrá:
RUN_DAEMON="no"
OPTIONS="-l -s /var/lib/tftpboot"


Ahora tenemos que construir el entorno de terminal. Esto tardará bastante, porque descarga algo parecido a una minidistribución:
sudo ltsp-build-client

Después de esto instalamos el servidor ssh. Todas las conexiones de terminal se realizan por conexión segura y comprimida:
sudo apt-get install openssh-server
sudo ltsp-update-sshkeys

La segunda línea es necesario repetirla cuando, por la razón que sea, cambiemos la ip del servidor.

Para reiniciar los servidores comentados, por si hacemos cambios en sus configuraciones, haríamos:
sudo /etc/init.d/dhcp3-server restart
sudo /etc/init.d/tftpd-hpa restart
sudo /etc/init.d/openbsd-inetd restart

El tftpd-hpa es el que ha dado algún problemilla. Si su reinicio hace algo raro es que no funciona. La manera de solucionarlo en ese caso sería reconfigurar como indicaba antes, ponerlo como demonio (RUN_DAEMON="yes") y desactivarlo en inetd, y volver a reiniciar con las lineas anteriores.

Ahora nos podemos ir a la máquina vieja y ver cómo arranca por red. Tanto con el disquete como por pxe ha funcionado correctamente.
Si queremos configurar algo para los equipos que se conectarán, tenemos el archivo /opt/ltsp/i386/etc/lts.conf. Por defecto detecta todo automáticamente y ha funcionado perfectamente.

Actualizado 18/08/07: Con el pentium200 tarda en arrancar 3:25 mas los 25 segundos de la BIOS y tal, 4 minutos, pero nos entretenemos mientras porque va mostrando lo que hace. Parece ser que debería tardar bastante menos, y se ralentiza por alguna cuestión de esta versión. Posteriormente funciona prácticamente como si estuvieramos delante del servidor, así que tampoco pasa nada.

He detectado un problema que consiste en una exagerada ralentización del servidor (las X tardan una eternidad en arrancar) esté o no conectado el cliente. Tiene una fácil solución. Si tenemos una terminal abierta, veremos que hay un error recurrente sobre pulseaudio. Pues ésto parece ser la causa. Para corregirlo instalamos pulseaudio y posiblemente también será necesario pulseaudio-esound-compat, que se quejará de una dependencia, pero no tiene importancia. Ahora funciona perfecto.

15 julio 2007

Cómo mover el sistema operativo de un disco a otro

(Actualizado 01/02/2008) Como artículo número 100 vamos a hacer uno útil. Puesto que últimamente he cambiado un par de discos duros, vamos a ver cómo cambiar el disco duro principal del ordenador y que quede todo como estaba, normalmente buscando tener más espacio con un disco nuevo. Será una aplicación y recopilación de algunas cosas ya comentadas, como aquel artículo de mover /home a una partición nueva y otros.

Primero que nada, ya enchufado y demás, tenemos que hacerle las particiones. Para ello usaremos el editor de particiones de Gnome lanzándolo desde la consola si la tenemos a mano (gparted) o desde "Sistema>Administración>Editor de particiones de Gnome" después de arrancar el sistema como siempre. Si no lo tenemos instalado (por defecto no lo está en Debian ni Ubuntu) lo instalamos desde el gestor de paquetes synaptic o en consola:

sudo apt-get install gparted
Claro, que si quieres usar el fdisk, nada lo impide.

Una vez iniciado, vemos las particiones que tenemos creadas en el disco en uso. Estarán con un candado por estar montadas. Seleccionamos el otro disco (el nuevo) en el desplegable de la derecha y hacemos las mismas particiones con el tamaño que queramos y con el mismo tipo que tenían aquellas. Si no lo recordamos, nos apuntamos los nombres de las particiones que hemos creado y a qué se destinan. Si no recordamos a qué se destinaban originalmente, lo miramos en /etc/fstab

Ahora, para evitar cualquier tipo de problema, cerramos sesión, salimos a una consola (control+alt+F1 mismo) y pasamos a la raiz y al modo monousuario escribiendo:
init 1
cd /
Podríamos hacer esto también usando un CD en vivo de ubuntu y puede incluso resultar más cómodo por no tener que pasar a monousuario, pero más lento por tener que arrancarlo.
Ahora tenemos que montar la primera partición que queramos copiar. Si sólo tenemos una, acabamos rápido.
mount /dev/sdb1 /mnt

Ahora copiamos desde la partición donde tenemos datos a la nueva partición que acabamos de montar.
cp -ax . /mnt

Con esto se copiarán todos los datos de la partición en la que estamos (en este caso, la de sistema porque estamos en /) y no de otras que tengamos montadas. Desmontamos con umount /mnt. Ahora deberemos repetir el proceso con cada una de las particiones que tengamos poniéndonos en su directorio raiz correspondiente (por ejemplo, /home, en su caso).
Puede ser algo engorroso, y además no hay ningún indicador de lo que le queda en las copias, pero funciona perfectamente.

Una vez copiados los datos, ya podemos volver al modo multiusuario con X.
init 5

El paso siguiente es hacer que el nuevo disco sea capaz de arrancar el sistema. Para ello el /etc/fstab debe incluir los identificadores correctos de las particiones, que no serán los mismos por ser un disco distinto y particiones nuevas, y deberemos instalar el cargador grub. También debemos indicarle el identificador correcto del disco a éste último. Todo ello es más fácil de lo que parece.

Primero cambiamos el /etc/fstab. Volvemos a montar la partición raiz en el mismo sitio que cuando hemos hecho la copia para tener acceso a este archivo, al que lógicamente accederemos como /mnt/etc/fstab. Cuidado con esto, no vayamos a omitir /mnt y tocar el del sistema que estamos usando. Editamos el archivo:
sudo gedit /mnt/etc/fstab

En otra consola sacaremos los identificadores de nuestras particiones. Escribimos la siguiente orden:
sudo vol_id /dev/sdb1

Donde /dev/sda1 es la partición sobre la que queremos conocer el identificador.
Lo haremos para cada una de las particiones que hemos creado antes de copiar. La linea de interés de todo lo que nos muestra es la que dice ID_FS_UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Los x son números hexadecimales (tienen números y algunas letras).
En lugar de usar la orden anterior con cada partición podemos ver todas a la vez con:
blkid

En el fstab que tenemos abierto cambiaremos los UUID por los que hemos sacado. Es recomendable añadir una linea que empiece por # (comentario) para cada partición donde indiquemos, como recordatorio, qué partición corresponde a ese identificador. Por ejemplo, #/dev/sda1. Hecho esto, guardamos. Ahora falta el grub.

Si tenemos el directorio /boot en la misma partición (si no, desmontamos y montamos la que corresponda) editamos el archivo /boot/grub/menu.lst.
sudo gedit /mnt/boot/grub/menu.lst

Nos vamos hacia el final y en los núcleos que usamos normalmente (serán los dos últimos bloques donde pone, como mínimo, las filas title, root, kernel, initrd) tendremos que sustituir el UUID por el identificador que corresponda a la partición raiz /. Volver a ver el /etc/fstab en caso de dudas. Ahora instalamos el cargador en el disco nuevo.Aquí lo describí.
sudo grub-install --root-directory=/mnt /dev/sdb

Con esto, ya podemos quitar el disco viejo y reiniciar el sistema con el nuevo.

Ahora que parece que todo está bien todavía hay un pequeño problema: Cuando actualicemos el núcleo, volverá a ponernos el UUID del disco anterior. Fácil de solucionar. Renombramos el archivo de configuración de grub para luego generar uno nuevo:
sudo mv /boot/grub/menu.lst /boot/grub/menu.lst.anterior
sudo update-grub

Con el update-grub se generará un nuevo archivo menu.lst que ya tendrá los UUID nuevos, y ya será así siempre.

Ahora es necesario hacer lo que indiqué al final de este artículo, que comento a continuación:
Hay que modificar:
sudo gedit /etc/initramfs-tools/conf.d/resume
y ponemos
RESUME=UUID=chorrodeletras

donde "chorrodeletras" es el identificador de la partición de intercambio.
Guardamos, y escribimos por último:
sudo update-initramfs -u

Ya está todo solucionado.

14 mayo 2007

Cómo instalar el servidor de acceso remoto NXserver

Tal como prometí, vamos a ver la instalación para Debian Etch y Ubuntu Feisty, edgy y dapper.
Empezamos con Ubuntu, que será el caso más sencillo.

Añadimos estos repositorios en Synaptic>Configuración>Repositorios o editando /etc/apt/sources.list y añadiendo estas lineas:

deb http://mirror.ubuntulinux.nl feisty-seveas freenx
deb-src http://mirror.ubuntulinux.nl feisty-seveas freenx

Estos repositorios son para Ubuntu Feisty. Si usas edgy o dapper, sustituye feisty por edgy o dapper.
Luego las claves:
wget http://mirror.ubuntulinux.nl/1135D466.gpg -O- | sudo apt-key add -

Ahora instalamos freenx y nxclient por consola, que es más rápido:
sudo apt-get update
sudo apt-get install freenx nxclient

Ya está funcionando. Para configurarlo y demás, ver al final, ya que es idéntico para ubuntu y debian.

Ahora toca cómo instalarlo en Debian. La dificultad que nos encontramos es que, pese a tener repositorios, estos están algo anticuados. A mi me da un error al ejecutar el cliente. Puedes probar por si a ti te funciona o si sabes cómo corregir el error. Este es el repositorio:
deb http://packages.debianbase.de/etch/i386/nx/ ./

Actualizamos e instalamos freenx. Durante la instalación, hay que elegir las claves nomachine, tal como propone.

Vamos al método que sí funciona, que es más engorroso, por ser más estilo windows:
Descargamos tres archivos de la web de Nomachine: nxclient, nxnode y nxserver. Los instalamos uno a uno con gdebi en el orden que he indicado o más rápido en consola con:
cd RutaDondeTenemosLosArchivos
dpkg -i nxclient_2.1.0-17_i386.deb nxnode_2.1.0-17_i386.deb nxserver_2.1.0-17_i386.deb

Añadido: Si lo queremos hacer desde consola todo, la descarga podemos hacerla así (para la versión actual):

wget http://64.34.161.181/download/2.1.0/Linux/nxclient_2.1.0-17_i386.deb
wget http://64.34.161.181/download/2.1.0/Linux/nxnode_2.1.0-22_i386.deb
wget http://64.34.161.181/download/2.1.0/Linux/FE/nxserver_2.1.0-22_i386.deb

Ya lo tenemos funcionando. Editado: pero falta una cosa si todavía no tenemos ssh instalado:
sudo apt-get install ssh

Con esto ya podemos conectarnos.

Tanto en ubuntu como en Debian podemos hacer las siguientes cosas:
Ahora tendremos nuevos lanzadores para el asistente nxclient en la sección de programas "Internet" que nos servirán para conectarnos a otros equipos.

Para parar el servidor escribimos en una terminal:
sudo /usr/NX/bin/nxserver --stop

y para ponerlo en marcha lo mismo pero con "--start"

NX utiliza el puerto del ssh y además el puerto 5000, así que en caso de usar cortafuegos, hay que abrir estos puertos.
Puede cambiarse el puerto ssh
sudo nano /etc/ssh/sshd_config

cambiando
Port 22

por el que queramos. Reiniciamos ssh
sudo /etc/init.d/ssh restart

y ahora modificamos el archivo node.conf:
sudo nano /etc/nxserver/node.conf

Cambiamos la linea
#SSHD_PORT=22

quitandole el # y sustituyendo el 22 por el número de puerto que hemos puesto para ssh. Dicho puerto lo tendremos que recordar para nuestros accesos remotos.

Puede ser una buena práctica crear usuarios para acceso remoto, para así no modificar nada de los usuarios normales:
sudo /usr/NX/bin/nxserver --useradd usuario --system

y ahora pedirá una contraseña. El paso siguiente es reiniciar el servidor nx:
sudo /usr/NX/bin/nxserver --restart

Ya tenemos un usuario de sistema exclusivo para acceso remoto.

Como no hay página de manual, para ver las demás opciones que tenemos podemos escribir simplemente "sudo /usr/NX/bin/nxserver"

09 mayo 2007

Cómo configurar la síntesis midi

...en Ubuntu feisty y anteriores, y Debian. Era un artículo pendiente desde hace varias versiones. Próximamente tocaremos algo de edición.

Vas a reproducir un archivo .mid y no se oye nada. ¿Por qué?
Los archivos .mid o midi son como partituras. El ordenador las toca, pero por defecto no se instala ningún sintetizador de midi, así que es como si te pones a tocar el piano sin tener un teclado de piano debajo de los dedos. Tendremos que instalar el sintetizador.

Si resulta que tenemos una tarjeta creative tipo awe32 (live o audigy), o de otras marcas que tienen capacidades de tablas de ondas, no haría falta instalar estos sintetizadores. Sólo haría falta cargar un banco de muestras en la tarjeta. En el CD de instalación suele haber algunos bancos, pero también los podemos descargar de internet. Hay algunos libres que pueden usarse. (se ampliará)

Si tenemos sonido integrado en la placa no tendremos síntesis de tabla de onda y tendremos que emularla mediante logical cargando el procesador ligeramente (o mucho, dependiendo de las opciones). Entonces vamos a instalar un sintetizador. Tenemos en principio dos sintetizadores midi por logical: fluidsynth y timidity. Describiré como se hace en Ubuntu Feisty, aunque en las versiones anteriores y en Debian es exactamente igual. Aunque fluidsynth es algo más fácil de manejar al principio para ciertas cosas (cumple la especificación "soundfont2" y funciona más o menos como si tuviéramos una tarjeta con tabla de ondas), instalaremos timidity, puesto que fluidsynth a mi me dió problemas hace tiempo y timidity no.

Vamos a synaptic y buscamos timidity, marcamos y aplicamos o más rápido, en la consola:

sudo apt-get install timidity

Luego tenemos que editar su archivo de configuración para que se inicie su demonio al arrancar el sistema (si usas kde, usa kate o kedit o lo que prefieras en lugar de gedit):
sudo gedit /etc/default/timidity

descomentamos (quitamos el #) la linea siguiente:
#TIM_ALSASEQ=true

Ahora igual tenemos que añadir ciertos módulos, aunque normalmente están ya cargados.
Podemos comprobarlo previamente escribiendo
lsmod |grep snd-seq

y miramos si tenemos cargados los de la lista de abajo. Si no, editamos:
sudo gedit /etc/modules

y los añadimos
snd-seq-device
snd-seq-midi
snd-seq-oss
snd-seq-midi-event
snd-seq

Para tenerlos activos YA y no tener que reiniciar podemos escribir para cada uno:
sudo modprobe snd-seq-elquesea


Y para arrancar timidity:
sudo /etc/init.d/timidity start

aunque antes de esto necesitamos unos cuantos bancos de muestras. Tenemos disponibles los freepats:
sudo apt-get install freepats

Por defecto se usan estos, así que ya tenemos la síntesis midi activada.
De todas maneras tenemos que editar las opciones de timidity, pues seguramente con las opciones por defecto (todo activado) nuestro procesador sufra bastante, y no hay necesidad de usar la mayoría de características.
(se ampliará)

22 abril 2007

Probando (e instalando) Ubuntu 7.04, "Feisty Fawn"

Ya tenemos aquí al cervatillo bullanguero. Bueno, ya lo he instalado unas cuantas veces: una ha sido actualización, usando el gestor de actualizaciones. Otras dos desde cero.


Empezamos con la instalación desde cero. He usado el equipo de pruebas, como siempre, un P4 2.8, 512 MB, tarjeta nvidia, etc, y otro AMD con 256Mb y nvidia, más viejo. Todas las alfa me habían dado problemas con el primero, por algún extraño fallo con la grabadora. La definitiva ni uno.
Arranco el CD en vivo. En el menú de arranque elijo español y elimino la opción "quiet" en el P4 para que me indique la información que debería mostrar siempre, y la barra de progreso de costumbre. Hace un extraño en ambos equipos justo cuando la barra tiene que crecer y no crece. En uno sigue mostrando datos y en el otro tengo que salir a la consola para verlo. Finalmente muestra el entorno gráfico y acaba de arrancar, tardando (desde que pulso el encendido) 3 minutos en el P4. Bastante más en el otro.
En uno la red funciona debido a que se puede autoconfigurar por estar directamente conectado al enrutador. El otro no conecta inicialmente por fallo mío (es algo especial y debe configurarse manualmente).
Pulso el icono Instalar y comienza la instalación. En el P4, abro el navegador, la consola, etc, produciendo cierto retardo en la instalación. Ésta se realiza, desde que pulso el icono de instalar, incluyendo la selección de particiones manual, etc. en 30 minutos. En el otro equipo tarda como 3/4 de hora sin tocar nada.
La instalación, en sus prerrequisitos hace las preguntas típicas de país, teclado, zona horaria (con el mapamundi), usuario y contraseña, y particionado. También se incluye el nuevo asistente de importación de configuraciones de otros sistemas operativos. Dicen que funciona, pero no uso otros sistemas, así que no lo he podido probar.
El particionador ha mejorado muchísimo. Es muy fácil de manejar. Hace olvidar el gparted. En la opción manual se muestra toda la información necesaria y varios botones para actuar óptimamente. Yo tenía creadas las particiones previamente, pero tengo que elegir el punto de montaje de éstas, así que voy pulsando "Modificar" tras elegir cada partición para cambiar dicho dato.
Le doy a siguiente y empieza a instalar, mostrando la barra de progreso y lo que va haciendo. Pregunta si reinicia una vez ha acabado y pulso que si. Va cerrando y expulsa el CD, pidiendo que pulse intro para reiniciar. Lo hago y empieza a arrancar.
Ha mejorado bastante el trabajo artístico. El tema de la ventana de validación y la ventana del inicio de gnome están muy mejoradas. La musiquita me sigue pareciendo de aficionado aporreando un teclado y mezclando pistas sin ton ni son, aunque parece que hay gente a la que le gusta.


Una vez iniciado, a lo primero que voy es a Sistema>Preferencias>Efectos de escritorio. Me pide la contraseña para gestionar los controladores restringidos. Me indica que puedo usar el controlador nvidia privativo. Lo marco y lo descarga e instala. Me pide que vuelva a la opción de Efectos de escritorio tras reiniciar para activarla. Reinicio tal como me aconseja y me indica que tengo un controlador restringido funcionando. Perfecto. Más fácil creo que es imposible.
Vuelvo a la opción y ya tengo Compiz en marcha. No es Beryl, no confundamos, que veo a más de uno que cree que van a ver todas las opciones de beryl. Se ha elegido Compiz por ser más estable ahora mismo.

Para el caso de una ati, con el controlador libre funcionan directamente los efectos con la misma opción comentada antes sin tener que instalar nada, pero pueden fallar algunas opciones de la tarjeta, como la salida DVI, así que para instalar el controlador privativo de ATI, iríamos a Sistema>Administración>Gestor de controladores restringidos y tras marcarlo, reiniciamos y ya lo tenemos instalado, pero no podemos usar los efectos de escritorio porque ATI sigue sin incluir la extensión de composición en su controlador. O sea, que o usamos efectos, o usamos las otras posibilidades de la tarjeta y un mayor rendimiento 3D. Lo que cada uno vea mejor.

Voy a probar una película divx. Me dice que si busca los códec. Le digo que si y me muestra los que puede instalar. Los marco, me avisa de posibles problemas legales según paises (aquí no hay problema) y empieza a descargar e instalar. Absolutamente impresionante.

Voy a Lugares>Red para ver un recurso compartido. Aparece perfectamente.
El recurso que busco es algún archivo sid, de música del Commodore 64. Se reconoce. Le doy doble clic y busca una aplicación para reproducirlo. Me aconseja amarok, acepto y la instala, pero se ha equivocado. Necesita el sidplay. Bueno, es un formato que poca gente va a usar, así que se puede perdonar.

Voy a compartir una carpeta para copiarle archivos midi desde otro equipo. Me dice que puede instalar el servidor samba y nfs. Dejo marcados ambos. Tengo que cambiar los permisos del directorio compartido porque la seguridad unix dice que "pa tu tia" accediendo desde la red. Accedo y copio. Evidentemente se reconocen los archivos mid. Hago doble clic y se abre amarok. Mal asunto. Desinstalo amarok para probar cuales serían las alternativas que da ubuntu para un midi cuando no hay ningún programa instalado reconocido. Dice amarok y kmid. Instalo ambos. Kmid obviamente sí es el programa adecuado, pero no hay cargados bancos de sonido, así que no suena nada. Esto es algo normal. Hay que instalar un par de cosas que contaré en un artículo pendiente desde hace tiempo.

Voy a la consola y tecleo wine. Me dice que compruebe si tengo activado el componente "universe" (debería decir repositorio) y teclee sudo apt-get install wine. Genial. Si tienes hecho un guión para arrancar wine, no hay tal aviso, pero bueno, no está hecho para ese caso. El caso para el que está hecho es que vayas a teclear algo y la orden en cuestión no está, y te dice cómo instalarla. Algo tremendamente útil.
Instalo además del wine, msttcorefonts para evitar problemas con wine. Y para un juego 3D de windows que voy a probar tengo que copiar la tahoma.ttf en .wine/drive_c/windows/fonts, para que me salgan las letras. El juego, exclusivo de windows, funciona tremendamente bien. Esta versión de wine ya podíamos usarla en edgy.
Wine se ha integrado en los menús de gnome, apareciendo entre otras cosas el desinstalador de aplicaciones de wine.

En el sistema donde he actualizado la cosa fue perfecta. En las anteriores actualizaciones hubo errores pero esta vez ninguno. Tengo que actualizar otros equipos, así que ya comentaré que ha pasado. Un fallo si que hay: Firefox se ha "olvidado" de la configuración que tenía. ¿Usará esta versión algo diferente que hace que las configuraciones anteriores no se lean? porque estar, están. Investigaré. Vaya, ha vuelto a recordar todo. Esto es muy raro.

Otra de las novedades es el icono de conexión de red. Yo no uso inalámbrica ni ganas, así que no se en qué afecta a quien la use. Los comentarios dicen que el soporte a este tipo de redes ha mejorado mucho. Lo que he visto es que con autoconfiguración (dhcp) el icono da vueltas para indicar que hay cambios. Quizá sea útil para algo.

Tomboy, el utilísimo programa para notas ahora tiene un icono más claro. El de antes no tengo muy claro qué representaba. Ha habido algún cambio añadiendole más opciones. Mejor.

Ah, el gran tema: los dispositivos reconocidos. Todos. Ni más ni menos. Tarjetas de sonido, de televisión, etc. Mi tarjeta TDT (avermedia 777) por fin tiene el mando a distancia utilizable. En edgy el núcleo no lo reconocía aunque el resto funcionase a al perfección.
No sólo los dispositivos que están instalados en el equipo. Enchufo mi cámara con el cable usb y la detecta inmediatamente, mostrándome las fotos para importar. En el equipo que he actualizado no lo hace. Ya fallaba con edgy, obligándome a abrir gtkam a mano, que reconoce la cámara a la perfección igualmente. Seguramente hay alguna opción que evita que se abra.

Evolution ha mejorado, como cada versión. Openoffice también, incluido su aspecto. Inkscape va incluyendo sus inacabables y tremendas mejoras. Todas las aplicaciones han mejorado más o menos.
Entre los juegos, el entretenido Frozen Bubble está en su versión 2, en la que han cambiado la música (podría haber más temas), que mola bastante (Ubuntu podría contactar con esta gente) y hay nuevos detalles. Se han incluido más opciones de juego.

Otra de las novedades es el apoyo que está dando Ubuntu al proyecto "linux terminal server", que sirve para poder conectarse fácilmente (o menos difícil que antes) con terminales tontas mediante vnc.

Por último, decir que veo a Gnome algo más rápido, aunque sigue teniendo importantes carencias. Sobre todo esa de no avisar de que está abriendo una aplicación. ¿Que costaría poner el botón en la barra de tareas inmediatamente con un reloj dando vueltas o algo así, como SÍ hace KDE? En fin. Que si lo hace KDE, aunque sea perfecto, no lo tiene que hacer Gnome. Estoy por pasarme a KDE y eso que nunca me ha acabado de gustar. Quizá a algún otro.

15 abril 2007

Instalación de Debian 4.0 Etch

Tras el artículo del lanzamiento y cambios de la versión, por fin he probado a instalar la versión i386, en un amd64. Por pruebas no será. La prueba rápida ha salido mal por tener poco espacio en disco a propósito (sigue sin comprobarse). Ha sido en una máquina virtual, con la imagen iso. La siguiente prueba ha sido con un disco externo. Y otra más en la máquina virtual con espacio suficiente.

Es curioso esperar ver el flamante instalador gráfico de Debian y encontrarse con el de toda la vida. Hay que escribir installgui para tener el instalador gráfico, y expertgui si se quieren todas las opciones. El arranque tiene ayuda de sobra, pulsando, tal como dice, F1. Pulsar intro sin escribir nada lleva al instalador de toda la vida, que tiene unos requisitos de 32 Mb de memoria física y 256 Mb de disco duro. Vamos, que podría instalarlo en el 486. Escribir expert lleva a una instalación de texto con todas las opciones. ¿Cual cogemos? Pues texto y gráfica son idénticas, excepto porque en la gráfica usamos la consola 5 con las X y gtk, con colores, botones, ratón y posibilidad de tomar un pantallazo, y en la de texto, la consola 1 con fondo gris y azul, para manejar con teclado. Digo lo de las consolas porque desde siempre se puede utilizar una consola mientras se instala, con lo que haya instalado en el momento, y así sabemos dónde tenemos que volver.

El modo experto tiene algunas opciones más que el modo normal y nos muestra siempre la opción del menú general de instalación para que la elijamos, pero es menos experto de lo que esperaba. En todo caso, las opciones extra que muestra en el modo experto siempre indican los datos por defecto que se tomarían en el caso normal. Creo que podrían combinarse ambos modos de alguna manera en el modo gráfico.

Vamos a la instalación, diferenciando casos. Tras cargar el instalador, nos pregunta el idioma. Esto creo que lo debería hacer ANTES de cargar el instalador, porque no tenemos por qué saber inglés para leer la ayuda que muestra para arrancar, por muy buena que sea. Están ordenados alfabéticamente por cómo se escriben en inglés. Debería ser como hace Ubuntu, que los pone por orden de la denominación propia de cada idioma, mucho más fácil de encontrar. Van dos detalles feos y aun no hemos empezado.

Ahora nos pregunta nuestro país y el teclado. Como opción extra en el modo experto tenemos que pregunta la localización (es_ES@utf-8) y el tipo de teclado.
Tras responder, monta y analiza el CDROM (DVD) y carga los componentes adicionales del instalador. En el experto tenemos sendos pasos con más opciones. En el primero, podemos eliminar módulos IDE que sepamos innecesarios y elegir si iniciamos los servicios pcmcia (sólo útil si tenemos un portátil). Tras eso nos dice que ha detectado correctamente el disco y pasamos al segundo paso, cargar componentes, pudiendo elegir extras del instalador.

Luego intenta configurar la red automáticamente. Si no puede porque no tenemos ningún servidor DHCP en la red (el enrutador o el módem no lo tienen, o no la indican por alguna razón), avisa del fallo y da la opción de reintentar, reintentar indicando la IP de un servidor DHCP, indicar la dirección manualmente, o dejarlo para otro momento. En la máquina virtual no ha podido detectarlo. En la prueba real, sin problemas, dado que el enrutador provee direcciones, aunque normalmente le indicaría la dirección manualmente. Si tenéis un módem para banda ancha, necesariamente ha de ser automáticamente. Si no la da, reiniciarlo.
En el experto tenemos detección y configuración, pero en esencia es igual.

Posteriormente nos pregunta el nombre de la máquina. Le ponemos el que queramos o dejamos el predefinido, Debian.

Después detecta los discos duros y pasamos a las opciones de particionado. Es idéntico en ambos modos. Tenemos el guiado (todo el disco), el guiado con LVM (gestor de volúmenes lógicos-permite cambiar fácilmente el tamaño de las particiones una vez instalado), guiado LVM cifrado y manual. En todos los guiados nos preguntará si queremos una única partición, separar /home o separar /home /usr /var y /tmp. Si usamos LVM, después de configurarlo no podremos modificar los datos de las particiones hasta que se acabe la instalación. En el manual podemos crear las particiones como queramos de una forma sencilla, ya clásica en el instalador. Para más información, aquí está mi artículo sobre particiones.
Si hemos elegido la opción LVM con cifrado porque por alguna razón queremos usarlo (ver más adelante, me ha fallado), nos preguntará una frase de contraseña para la partición. Debería tener más de 20 caracteres alfanuméricos, aunque pueden ser menos. Luego pregunta el nombre del grupo del volumen, predefinido debian, y ya nos muestra todo lo que va a hacer. Había elegido separar /home. Por ello informa de 3 volúmenes, ext3 y swap: /home (LV home / (LV root) e intercambio (LV swap_1). Estos están incluidos en el volumen cifrado sda5_crypt, de tipo K lvm. Y más externamente nos indica sda1 con /boot y sda5 cifrado. En el caso de LVM sólo, lo anterior es igual excepto por el volumen contenedor cifrado.

Ahora la zona horaria correspondiente al país que elegimos al principio (Para España: Peninsular, Islas Canarias, Ceuta y Melilla). Luego si el reloj está en UTC en el modo experto (tiempo universal coordinado). Si sólo usamos GNU/Linux, podemos ponerle que sí.

Ahora nos preguntará la contraseña del superusuario; luego pide un usuario nuevo y su contraseña. Si usamos el modo experto, pregunta si habilita las contraseñas ocultas (obviamente si, a no ser que queramos hacer experimentos) y si queremos ocultar el usuario root y usar sudo en su lugar. Ubuntu no usa root y creo que sería bueno que Debian lo introdujera por defecto y no como opción experta. El hecho es que al final de la instalación no funciona como debe el sudo en gnome...

Tras esto se instala el sistema base sin preguntar nada. En el modo experto si preguntará. Primero qué núcleo queremos usar. Según el procesador que tengamos nos recomienda un núcleo. Por defecto me marca el linux-image-2.6-k7 (corresponde al 2.6.18.4) aunque también puedo elegir el amd64, que representa el soporte minimalista de 64 bit en la versión i386. Luego nos pregunta que usamos para crear el initrd. Pues initramfs-tools, que es la preferida.

Después se configura el gestor de paquetes y nos pregunta si queremos usar una réplica para descargar de la red. En caso afirmativo, cual, y los datos del proxy, si es que usamos alguno.

Ahora toca la instalación de programas, lo que va a tardar sobre 20 minutos, pero antes nos pregunta si queremos participar en la encuesta de paquetes, para enviar información anónima sobre qué programas usamos más, cosa que podemos activar o desactivar cuando queramos. La tarea seleccionada por defecto es "sistema estándar", así que elegiremos también "Entorno de escritorio" a no ser que queramos alguna de las otras opciones: Servidor web, de impresoras, DNS, ficheros, correo, o de base de datos, y ordenador portátil. No podemos cambiar nada más en ningún caso, cosa totalmente absurda en el modo experto. Antiguamente se podía seleccionar lo que se quisiera, con el horroroso dselect. Parece que no hay sustituto y la opción que tenemos es, instalar lo mínimo y una vez terminado todo, instalar el resto como queramos.

Si instalamos un entorno de escritorio, y aunque no lo hagamos, no encuentro comprensible que no esté activado por defecto "powernow", la característica de ahorro de energía de los procesadores actuales. Tampoco están activados los sensores. Creo que ambas cosas son imprescindibles en cualquier entorno. Puede que esté en el de ordenador portátil, pero no me parece lógico que sea sólo ahí.

Ahora se instalará el cargador del arranque, grub. En la prueba con LVM cifrado falla y quiero pensar que es por la virtualización. En cualquier otro caso funciona correctamente. No pregunta nada (instala directamente en el primer disco) a no ser que usemos el modo experto, en el que puedes seleccionar en qué disco quieres poner el arranque, aunque no detalla como me gustaría. Lo bueno sería que indicara una lista de particiones y elegir cual. Lo permite con un par, pero no con todas las existentes, e indica ejemplos que podemos confundir con nuestro caso. Hay que teclear la partición.

Finaliza, se expulsa el disco y reinicia el sistema para usar por fin Debian. La prueba en un próximo artículo.

03 abril 2007

Cómo cambiar /home a una partición nueva (o clonar partición)

Alguna vez en la vida os habréis encontrado con la necesidad de copiar el contenido de una partición de un sitio a otro. Esto que en otros sistemas operativos se hace con una conocida aplicación propietaria con su disco de arranque, en los sistemas unix se puede hacer fácilmente.

Los pasos previos son la parte más larga, necesaria en cualquier caso. Primero tenemos que tener claro de dónde a dónde vamos a mover lo que sea. Supongamos que tenemos un sistema linux instalado en nuestro disco duro, en una partición única, y queremos separar /home a una partición nueva. Si sólo tenemos ese disco y queremos hacer esas nuevas particiones, tenemos que dejar algún espacio donde crear la nueva. Para eso hemos de reiniciar con un disco, por ejemplo el CD en vivo de Ubuntu, y abrir el gestor de particiones de Gnome (gparted). Con él habría que redimensionar la partición y crear la nueva. Tenemos que fijarnos bien en el nombre de la nueva. Ver aquí sobre los tamaños adecuados.
Esto tiene riesgos; podría salir mal (muy muy mal) y pueden perderse todos los datos, así que con un solo disco duro, tocar algo siempre es arriesgado. Lo mejor es siempre tener un respaldo en otro disco por si hubiera algún problema. Además, dependiendo del espacio que tengamos ocupado en el disco el asunto puede complicarse hasta el punto de ser imposible. Tenemos que reducir la partición que tenemos y nos tiene que quedar sitio para poder mover /home a esa partición nueva. Si no hay espacio, o lo hacemos progresivamente (mover poco a poco y redimensionar varias veces) o hay que usar necesariamente otro disco. No pueden hacerse milagros.

Una vez tenemos claro de dónde a dónde vamos a mover, tenemos que tener montada la partición nueva para poder copiar a ella los archivos.

sudo mount /dev/nombredelapartición /mnt/nuevapart

donde nombredelapartición será el nombre de la nueva partición que hemos creado, y nuevapart un directorio que habremos creado (sudo mkdir (/mnt/nuevapart) dentro de /mnt con objeto de montarla aquí.

Finalizados los pasos previos, empezaremos a copiar los archivos. Esto puede hacerse desde el CD en vivo o desde el sistema instalado, pero si es este segundo caso, sería recomendable pasar al modo monousuario, para evitar problemas:
sudo init 1

Vamos al directorio origen, en este caso /home y empezamos a copiar
cd /home
cp -ax . /mnt/nuevapart

Ya está copiado. Esta última orden es la que sirve para clonar. ATENCIÓN AL ".". Aunque este método ya está probado, siempre hay que comprobar que no nos hemos equivocado en algo (o que el que escribe se ha dejado algún detalle) antes de continuar. Podemos usar esto para crear respaldos. Y si queremos mantener una copia de seguridad continua, añadiríamos el parámetro "u", que sólo copia en caso de haber archivos más nuevos que los del destino.

Ahora queremos seguir con el cambio de sitio de /home. Tenemos que hacer que se monte al arrancar el sistema (primero la montamos para tenerla ya), y renombrar el /home viejo para que no moleste. Podremos borrarlo cuando acabemos, o dejarlo como respaldo.
cd /
mv /home /home.viejo
mkdir /home
mount /dev/nombredelapartición /home

Salimos del modo monousuario:
init 5

Ahora tenemos que editar el /etc/fstab, que es el archivo donde se le indica al sistema dónde se montan las particiones.
Usamos el editor que queramos:
sudo gedit /etc/fstab

Y añadimos esta linea al final.
/dev/nombredelapartición /home ext3 defaults 0 1

(Actualizado 01/02/2008) Éste es el método antiguo. Si queremos usar identificadores únicos (UUID), en lugar de /dev/nombredelapartición habrá que poner el chorro de letras que nos de tras UUID esta orden:
sudo vol_id /dev/nombredelapartición

O nos fijamos en la línea correspondiente de ésta, que nos da todos:
blkid

Hecho. Al reiniciar tendremos todo funcionando exactamente igual, pero con particiones separadas, más seguro.

29 marzo 2007

Instalar enlightenment e17 en ubuntu

(Actualizado febrero2009) Antes de hacer el artículo de análisis del espectacular escritorio enlightenment e17, versión que ahora mismo es la de desarrollo, voy a comentar como se instala en (en dapper y siguientes)editado: ahora sólo está disponible para hardy. En los repositorios está la versión estable e16 (sólo habría que elegirla), pero ésta está bastante mejorada y vamos a probarla.



Para instalarla tenemos que añadir el repositorio para ubuntu del servidor de enlightenment.
Primero editamos el /etc/apt/sources.list o vamos al Synaptic (Sistema>Administración>Gestor de paquetes Synaptic) y en Configuración elegimos Repositorios, Otros proveedores y Añadir. En ambos casos añadimos las siguientes lineas:
#Binarios
deb http://edevelop.org/ubuntu dapper e17
#Fuentes
deb-src http://edevelop.org/ubuntu dapper e17

y después autenticamos el servidor escribiendo (o copiando y pegando-seleccionar y pulsar con boton central) en la consola (Aplicaciones>Accesorios>Terminal):
wget http://lut1n.ifrance.com/repo_key.asc
sudo apt-key add repo_key.asc


Parece que el repositorio indicado no sirve. Hay que usar éste:
deb http://e17.dunnewind.net/ubuntu hardy e17
deb-src http://e17.dunnewind.net/ubuntu hardy e17

y la clave para autenticar el servidor estaría en http://e17.dunnewind.net/repo_key.asc

Después lo de siempre. En Synaptic pulsamos recargar, luego buscamos e17, lo elegimos e instalamos. O mucho más rápido, en la consola:
sudo apt-get update
sudo apt-get install e17

Tras menos de cinco minutitos, lo tendremos instalado, preparado para probarlo.
Si sale algún error, hay que darle a esto:
sudo apt-get -f install
No ha sido mi caso.
Ahora cerramos sesión, y en la pantalla de validación elegimos, en opciones, la sesión enlightenment.
Nos validamos y ahí lo tenemos.

23 febrero 2007

Cómo instalar Beryl con aiglx en Ubuntu Feisty

Si, también puede instalarse beryl en la alfa de Ubuntu. Seguramente cuando Feisty sea oficial el método será el mismo pero vamos a cómo es ahora, tal como dice la web de beryl, aunque allí lo pone en inglés. ACTUALIZADO: Sí, es exactamente igual, comprobado.


Es muy similar a la descrita para edgy aquí. De hecho, no describiré lo que es idéntico (iniciar beryl y añadirlo a la sesión), así que para eso remitiré al enlace anterior. Lo que sí recordaré es que esto vale para todas las tarjetas gráficas, menos ATI. Sí vale para las ATI que puedan funcionar con el controlador libre, que no son todas, y además éste no permite ciertas características, como la salida DVI o de vídeo, así que por ahora no hay solución para las ATI. Editado: No he probado con XGL aunque según beryl-project.org parece que se hace de la misma manera que para edgy, sustituyendo edgy por feisty.

Vamos a empezar. Añadimos el repositorio. Editamos la lista de repositorios escribiendo en una terminal:
sudo gedit /etc/apt/sources.list
y añadimos al final del fichero:
deb http://ubuntu.beryl-project.org feisty main
Lo guardamos y escribimos en la terminal:
wget http://ubuntu.beryl-project.org/root@lupine.me.uk.gpg -O- | sudo apt-key add -
para autenticar el repositorio. Ahora actualizamos la información sobre los repositorios:
sudo apt-get update

Ahora una novedad. Activar aiglx. Editado: esto realmente no se de dónde se lo sacaron (ya lo han eliminado) porque el hecho es que el archivo aiglx-setup no existe. Sospecho que era de otra distribución porque en Ubuntu Feisty al menos esto no se usa. aiglx está activado por defecto (Feisty incluye X.org 7.2 con AIGLX de serie), y no es necesario hacer /sbin/aiglx-setup enable

Ahora configuramos el servidor gráfico (el servidor X) editando su archivo de configuración:
sudo gedit /etc/X11/xorg.conf
Comprobamos que en la sección "Module" tenemos:
Load "dri"
Load "vbe"
Load "glx"
Si no están los incluimos. Y si alguno tiene delante un #, borramos el #, pues este símbolo hace que se ignore la linea por considerarse como comentario.
Ahora vamos a la sección "Device" de la tarjeta gráfica y añadimos:
Option "XAANoOffscreenPixmaps"
Option "AddARGBGLXVisuals" "True"
La segunda opción se usará en las ATI (con controlador libre, lógicamente) si hay problemas con los bordes de las ventanas. En las nVidia también se usará si aparece el error "no GLXFBConfig for depth 32", cosa que han comprobado que ocurre en las GeForce4 MX 440 y GeForce FX 5600. Vamos, que lo ponemos en cualquier caso y punto.
Por último, al final del archivo añadimos, si no existe ya:
Section "DRI"
Mode 0666
EndSection

Esto siguiente era necesario para las versiones anteriores, pero ya no es necesario en Feisty, así que si lo tienes en tu xorg.conf, puedes eliminarlo:
Section "Extensions"
Option "Composite" "Enable"
EndSection

Ahora toca reiniciar el servidor gráfico. Para ello hay varias maneras. La más cómoda es cerrar la sesión y una vez estamos en la pantalla de inicio, antes de validarnos, pulsamos control+alt+retroceso. Esto mata al servidor y se vuelve a iniciar. La otra, más limpia, es escribir:
sudo /etc/init.d/gdm restart
Para kubuntu, en lugar de gdm, kdm. Si la pantalla se queda en negro, pulsa control+alt+f1 para entrar en una consola, valídate (pon el nombre de usuario y la contraseña según te pida) y vuelve a escribir lo anterior. Ahora volverás a la consola gráfica, a la pantalla de inicio. Si sigues en la consola de texto, escribe "exit" y pulsa control+alt+F7. Ahora si tiene que estar.

Para instalar Beryl e incluirlo al iniciar sesión, ver cómo se hace para edgy aquí. Es idéntico, aunque quizá tengas que instalar también "beryl-manager" si quieres tener el icono en la bandeja. Mira en el synaptic todas las cosas que hay disponibles buscando "beryl", que son bastantes.

18 febrero 2007

Cómo instalar Beryl con XGL en Ubuntu Edgy (6.10)

En la web del proyecto Beryl no está traducido al 100% el Cómo de XGL, así que hago la traducción aquí con ciertas modificaciones, tras haberlo instalado en este ordenador. Instalar Xgl y Beryl en Ubuntu Edgy Eft es fácil, pero hacer que trabaje todo en condiciones no es tan fácil, así que vamos a ello.


Primero de todo, el servidor XGL requiere aceleración 3D. En algunos casos podría estar instalado sin molestarse, pero creo que eso no ocurre demasiadas veces. La comprobación típica es escribir en una consola lo siguiente:
glxinfo | grep direct
Si contesta
direct rendering: Yes
es que hay aceleración, así que no hay que preocuparse por la configuración de la tarjeta. Si pone que NO, hay que instalar el controlador adecuado. En la web de Ubuntu pueden encontrarse las instrucciones. También puede usarse automatix, más recomendable, ya que lo hace todo solo.

Antes de continuar, quiero aclarar algo importante. Utilizar XGL es necesario sólo para tarjetas ATI (y otras menos conocidas) y sólo para el caso en que no funcione correctamente aiglx con el controlador libre o no podamos usarlo porque no nos da ciertas características (como la salida DVI). Mira aquí para las instrucciones correspondientes a aiglx, que serán las que hay que usar para Intel y Nvidia. La instalación de Beryl con XGL comparada con aiglx es difícil, además de las desventajas de tener un segundo servidor gráfico en marcha, así que siempre que sea posible, mejor usar aiglx y no XGL.

Vamos al meollo del asunto. Añadimos los repositorios de beryl. Para ello podemos usar Synaptic y elegir Configuración>Repositorios, u otros gestores, y lo más rápido, por consola:
sudo gedit /etc/apt/sources.list
y añadimos al final del todo:
deb http://ubuntu.beryl-project.org/ edgy main

Pueden usarse también las réplicas siguientes:
deb http://www.beerorkid.com/compiz edgy main-edgy 
deb http://media.blutkind.org/xgl edgy main
deb http://beryl.xglusers.de/ edgy main
que pueden ir más rápidas que el principal, aunque puede darse el caso de que no estén sincronizados y les falten algunos paquetes.

Estos repositorios están firmados con gpg para verificar su autenticidad. Para añadir las claves gpg, escribimos:
wget http://ubuntu.beryl-project.org/root@lupine.me.uk.gpg -O- | sudo apt-key add -
wget http://download.tuxfamily.org/3v1deb/DD800CD9.gpg -O- | sudo apt-key add -
wget http://www.beerorkid.com/compiz/quinn.key.asc -O - | sudo apt-key add -
Todos en el caso en que hayamos añadido las réplicas. Si sólo ponemos el principal, con la primera línea es suficiente.

Ahora actualizamos la información de los repositorios.
sudo apt-get update
Instalamos XGL:
sudo apt-get install xserver-xgl

Ahora instalamos los paquetes beryl y emerald-themes, siendo lo segundo los temas de las ventanas. Beryl es un metapaquete que instalará las dependencias requeridas como beryl-core, beryl-plugins, beryl-manager y beryl-settings, así como el decorador emerald, pero no los temas.
sudo apt-get install beryl emerald-themes
Si quieres usar el decorador de ventanas de KDE, añade a la línea anterior "aquamarine"

Esto era lo fácil. Ahora vamos a lo menos fácil.
Hay dos formas de validarse en una sesión XGL e iniciar el gestor de composición Beryl.

La primera es añadir una sesión XGL a gdm (o kdm). Es útil para la mayoría de casos dado que permite intercambiar entre una sesión con XGL y otra normal con solo cerrar la sesión y volver a entrar. Uno de los casos que hacen necesario esto es que algunas aplicaciones puede ser que no funcionen correctamente con XGL. Esto ocurre por ejemplo con la televisión digital, que funciona terriblemente lenta. La reproducción de vídeos, aunque funciona perfectamente, gasta más procesador, así que en algunos equipos con poca memoria (XGL gasta) quizá vaya peor. También hay que tener en cuenta que Beryl no se puede considerar totalmente estable, así que esto siempre viene bien.

Vamos a añadir la sesión.
Crearemos un guión de inicio y luego una entrada en la pantalla de inicio que llame al guión. Lo primero:
sudo gedit /usr/local/bin/startxgl.sh

En una nvidia, si es que no quieres usar aiglx que es lo más fácil y recomendado, pondríamos:
 #!/bin/sh
/usr/bin/Xgl :1 -fullscreen -ac -br -accel xv:fbo -accel glx:pbuffer &
sleep 4
export DISPLAY=:1
exec gnome-session

Esto para Gnome. Para KDE cambiamos la última linea por:
exec startkde

Para ATI, que es el caso realmente interesante con XGL:
#!/bin/sh
Xgl -fullscreen :1 -ac -br -accel glx:pbuffer -accel xv:pbuffer &
sleep 4
export DISPLAY=:1
exec gnome-session

para Gnome. Para KDE cambiamos la última linea por:
exec startkde

y para xcfe:
exec xfce4-session

Se dice que iniciándolo así se puede perder en algunos casos (a mi no me ha pasado) la configuración de las tipografías y el puntero del ratón, puesto que no se cargan junto con Xgl. La forma correcta en ese caso sería exec /etc/X11/Xsession en lugar de gnome-session o startkde. O sea, que se tiene que poner así: exec /etc/X11/Xsession startkde

Un tema extremadamente importante en este punto. Todos los que hemos usado XGL hemos sufrido el estúpido detalle de perder los botones de apagar el sistema y reiniciar, teniendo que cerrar la sesión para luego poder apagar o reiniciar en la pantalla de inicio, por culpa de tener un servidor encima de otro. Vamos a ver como se soluciona este problema, para tener la ventana de cierre totalmente normal. Modificaríamos lo de antes de esta manera:
#!/bin/sh
Xgl -fullscreen :1 -ac -br -accel glx:pbuffer -accel xv:pbuffer &
sleep 4
export DISPLAY=:1
cookie="$(xauth -i nextract - :0 | cut -d ' ' -f 9)"
xauth -i add :1 . "$cookie"
exec gnome-session

El tema de Gnome no se verá en todos los casos correctamente, mostrando un aspecto bastante feo por mucho beryl que haya. O sea, que no está cargando el tema de Gnome. A mi me ha pasado. En lugar de lo de antes escribiríamos:
#!/bin/sh
Xgl :1 -fullscreen -ac -accel xv:pbuffer -accel glx:pbuffer &
DISPLAY=:1
exec dbus-launch --exit-with-session gnome-session

que requiere instalar beryl-dbus teóricamente, aunque según creo está ya desfasado, pues la versión no coincide y se queja de un archivo ya existente. Vamos, que dbus ya se incluye en beryl. Y en todo caso, a mi no me ha resuelto nada. Cuestión de probar. Si no os funciona hay otra manera que a mi sí que me funciona.
Escribimos en una consola:
gnome-settings-daemon &

Si esto nos lo arregla, añadimos gnome-settings-daemon en sesiones, de la misma forma que comentaré después para añadir beryl-manager, aunque hay que hacerlo después de este.

Más posibles problemas, aunque este es raro. El servidor X calcula correctamente los puntos por pulgada, pero puede ocurrir que la tarjeta gráfica informe mal sobre la medida del monitor. Si las tipografías se muestran demasiado pequeñas por ello, habría que hacer el truquito de añadir el parámetro -dpi 96 a la llamada a Xgl del archivo que editábamos antes:
Xgl :1 -fullscreen -ac -accel xv:pbuffer -accel glx:pbuffer -dpi 96 &

aunque la forma limpia debería ser editar el archivo de configuración del servidor e incluir en la seccion Monitor la linea
DisplaySize  344        222
siendo esos valores los correspondientes a tu monitor, en milímetros.

Ahora hacemos el guión ejecutable para que pueda ser utilizable, o sea, que pueda ser llamado desde la entrada del inicio de sesión. Escribimos:
sudo chmod a+x /usr/local/bin/startxgl.sh

Para crear la entrada de la ventana de inicio, hay que crear el archivo /etc/X11/sessions/xgl.desktop
sudo mkdir -p /etc/X11/sessions
sudo gedit /etc/X11/sessions/xgl.desktop

y en el escribiremos lo siguiente
[Desktop Entry]
Encoding=UTF-8
Name=Xgl
Exec=/usr/local/bin/startxgl.sh
Icon=
Type=Application

El nombre Xgl será el que aparecerá en la lista de sesiones. Puedes poner cualquier otro que te guste en su lugar, tal como gnome-XGL o lo que quieras.
Para kdm quizá tenga que ser en /usr/share/xsessions

Ya está todo. Ahora al arrancar el sistema, podrás elegir en la pantalla de inicio de GDM o KDM la sesión Xgl (o el nombre que le hayas puesto). Al entrar, Xgl se ejecutará por encima del servidor X estándar, o sea, en DISPLAY: 1, y cargará el escritorio. Ahora podrás ejecutar Beryl, como se comenta después. Si entras con una sesión normal, será todo como siempre, sin Beryl.

Ahora vamos al caso en que cambiaremos la sesión de inicio normal. Es mejor hacerlo como se ha explicado antes, con dos sesiones en lugar de esto, pero si quieres hacerlo por alguna razón, así se haría:
sudo gedit /etc/gdm/gdm.conf-custom

Al final del todo añadimos
0=Xgl
[server-Xgl]
name=Xgl server
command=/usr/bin/Xgl :0 -fullscreen -ac -accel glx:pbuffer -accel xv:fbo
flexible=true

Al reiniciar la sesión gráfica, el servidor Xgl estará funcionando.

Vamos ya a lo que interesa: ejecutar Beryl. Para iniciar Beryl, simplemente hay que teclear "beryl", aunque es más cómodo usar el gestor en su lugar. Por ello, mejor teclear en una consola:
beryl-manager

Si todo va bien, (en la consola irá mostrando algunos datos) mostrará la pantalla de entrada, un logo ondulante, y los bordes de las ventanas cambiarán a un tema inicial de Emerald. También podremos notar los demás cambios, como el tambaleo al mover las ventanas, el cubo al cambiar de escritorio, y todo lo demás. Hay que destacar la aparición de un icono nuevo en la bandeja del sistema correspondiente al gestor de Beryl, (si es que hemos arrancado beryl con beryl-manager, claro). Con él podemos configurar cualquier cosa pensable de beryl. De todas formas, se añaden nuevas entradas en Aplicaciones.
Si no arranca, quizá haya que ir a las opciones que brinda la gema y seleccionar el gestor de ventanas beryl. Si ni así, hay que fijarse en qué errores nos ha dado la consola...

Ahora que todo ha ido bien, nos falta que arranque beryl cada vez que iniciamos una sesión. Esto antes quedaba hecho de serie, pero bueno.

Vamos a Sistema > Preferencias > Sesiones.
Seleccionamos la pestaña Programas de Inicio.
Pinchamos en el botón Añadir y tecleamos: beryl-manager
Repetimos el paso anterior y añadimos beryl-xgl.

Para añadir beryl al inicio en KDE por consola escribiríamos:
ln -s /usr/bin/beryl-manager ~/.kde/Autostart/beryl-manager

Para iniciar el gestor de beryl sólo cuando se inicia con la sesión Xgl en lugar de siempre, habría que, en lugar de hacer lo anterior, crear un guión extra de la forma siguiente:
sudo gedit /usr/local/bin/start_beryl.sh

Escribimos esto:
#!/bin/bash
#
# Iniciar beryl-manager en gnome-session
#
if (( `ps -A -o comm | grep -c '^Xgl$'` == "1" )); then
DISPLAY=:1 beryl-manager
DISPLAY=:1 beryl-xgl
else echo "${0}: Error: beryl-manager no se ha iniciado. ¿Xgl no está funcionando?"
fi

y guardamos. Lo hacemos ejecutable:
sudo chmod a+x /usr/local/bin/start_beryl.sh

Y ahora si añadimos el guión al inicio de sesión:
Vamos a Sistema>Preferencias>Sesiones
En la pestaña "Programas de Inicio" pulsamos sobre "Añadir" y escribimos /usr/local/bin/start_beryl.sh en la ventana de dialogo que emerge. Pulsamos en cerrar y ya está hecho.
Ahora, si cerramos la sesión y la volvemos a iniciar, el guión mirará si XGL está iniciado y si es así (estamos en la sesión Xgl que creamos), se lanzará beryl-manager, el gestor de beryl. Aunque lo descrito es para Gnome, funciona también para KDE, aunque la forma de añadirlo al inicio es como la descrita en el apartado anterior.

07 febrero 2007

Cómo instalar Beryl con AIGLX en Ubuntu Edgy(6.10)

Esta información está sacada del sitio oficial en inglés, aunque no es una traducción exacta de aquél.
La instalación de Beryl con AIGLX es la forma más fácil, y funciona con casi todas las gráficas. Casi todas porque con ATI sólo se puede hacer con los controladores libres, que no van demasiado rápido y no permiten configuraciones especiales, como multimonitor.
Si estás en ese caso es recomendable que uses XGL. Aquí está como usarlo.

Empecemos. Hay que añadir los siguientes repositorios:

deb http://ubuntu.beryl-project.org/ edgy main
deb-src http://ubuntu.beryl-project.org edgy main

Ya sabemos que puede hacerse en synaptic o editando el sources.list tecleando en una terminal:
sudo gedit /etc/apt/sources.list

Para que no dé aviso de sitio inseguro hay que añadir la clave GPG, que demostrará que los paquetes son auténticos. Tecleamos esto:

wget http://ubuntu.beryl-project.org/root@lupine.me.uk.gpg -O- | sudo apt-key add -

Si quieres lo último, lo inestable, mira aquí. De paso puedes reportar informes de fallos al equipo.

Puesto que lo más rápido es explicarlo y hacerlo por consola, por mucho que se quejen algunos, hay que copiar y pegar lo siguiente (con seleccionarlo ya se copia, y con el botón central se pega).
Primero actualizamos:

sudo apt-get update

Luego hay que activar AIGLX configurando el servidor X, aunque podría no ser necesario.
sudo gedit /etc/X11/xorg.conf

En la sección "Module", deben estar incluidas al menos las lineas siguientes, que no deben empezar por #:
Load "dri"
Load "dbe"
Load "glx"

En la sección "Device", que es donde se indica la tarjeta gráfica, añadimos:
Option "XAANoOffscreenPixmaps"

Al final del archivo, si no existe ya, añadimos:
Section "DRI"
Mode 0666
EndSection

Section "Extensions"
Option "Composite" "Enable"
EndSection

Ahora reiniciamos el servidor X. Usaremos la forma suave. Antes de esto, si tenemos algo abierto, hay que guardarlo. Y sobre todo, guardarse este artículo. Alguna vez he olvidado ese pequeño detalle ;)
sudo /etc/init.d/gdm restart


Ahora, para instalar Beryl, simplemente teclea (o copia y pega)

sudo apt-get install beryl

Ahora, si no se han instalado con la orden anterior, los temas:
sudo apt-get install emerald-themes

Para iniciar Beryl, simplemente hay que teclear "beryl", aunque es más cómodo usar el gestor en su lugar. Por ello, mejor teclear
beryl-manager

Si todo va bien, (en la consola irá mostrando algunos datos) mostrará la pantalla de entrada, y los bordes de las ventanas cambiarán a un tema inicial de Emerald. También podremos notar los demás cambios, como el tambaleo al mover las ventanas, el cubo al cambiar de escritorio, y todo lo demás. Destacar que aparece un icono nuevo en la bandeja del sistema correspondiente al gestor de Beryl, si es que arrancamos beryl con beryl-manager. Con él podemos configurar cualquier cosa pensable de beryl. De todas formas, se añaden nuevas entradas en Aplicaciones. Con esto faltaría una cosa.

Si no sale la pantalla de entrada, hay que indicar al gestor que cargue Beryl. Pinchamos en la gema roja, y en Gestor de Ventanas elegimos Beryl. Si no funciona, algo está fallando. Hay que fijarse en la información mostrada en la consola que comentábamos antes.

Se comenta en el wiki de beryl que podría ser recomendable crear una sesión nueva, al estilo de lo que se necesita para XGL, pero por si algo falla, tendremos una forma de iniciar la sesión sin problemas.
Para ello hacen falta dos archivos: un guión de inicio y un archivo de sesión X.
Para lo primero,
gráficamente en gnome:
gksudo gedit /usr/bin/startberyl.sh

introducimos
#!/bin/sh
beryl-manager
sleep 4
exec gnome-session

Podría hacerse en las rutas /usr/local/bin o ~/bin en lugar de la indicada.

Para KDE
kdesu kwrite /usr/bin/startberyl.sh

introducimos
#!/bin/sh
export KDEWM="/usr/bin/beryl-manager"
exec startkde

En lugar de los editores gráficos de gnome o kde podemos usar el editor de consola que queramos.

Para XCFE,
sudo nano /usr/bin/startberyl.sh

e introducimos

#!/bin/sh
beryl-manager
sleep 4
exec xfce4-session


Parece ser que la última linea, en el caso de gnome, puede ser modificada por
exec dbus-launch --exit-with-session gnome-session

para evitar algunos problemas, aunque desconozco qué problemas son esos. Equivalente para kde poniendo startkde.

Tras crear el fichero, hay que hacerlo ejecutable:
sudo chmod a+x /usr/bin/startberyl.sh

Creamos la sesión creando el fichero siguiente:
sudo nano /usr/share/xsessions/Beryl.desktop

en el que introduciremos:
[Desktop Entry]
Encoding=UTF-8
Name=Beryl
Exec=/usr/bin/startberyl.sh
Icon=
Type=Application

Esto será tanto para GDM como KDM (Gnome y KDE respectivamente), donde tendremos una nueva sesión llamada Beryl disponible para seleccionarla. Al acceder validándose en esta sesión, Beryl se ejecutará (se ejecuta startberyl.sh tal como indica la entrada que editabamos antes) y se cargará nuestro Gnome o KDE.
Si seleccionamos una sesión normal, tendremos la sesión de siempre, con el escritorio normal.

Si no queremos tener varias sesiones y queremos tener beryl en la sesión de siempre haremos lo siguiente:

GNOME
Vamos a Sistema > Preferencias > Sesiones.
Seleccionamos la pestaña Programas de Inicio.
Pinchamos en el botón Añadir y tecleamos: beryl-manager
Repetimos el paso anterior y añadimos beryl.

KDE
Hay que hacerlo en la consola:
ln -s /usr/bin/beryl-manager ~/.kde/Autostart/beryl-manager

Si falla algo después de añadir el gestor a la sesión normal (el cubo es blanco o la pantalla está totalmente vacía tras el logo de Beryl), y no puedes hacer nada para descargar beryl, puedes hacer lo siguiente:

Pulsa Ctrl-Alt-F2. Con ello irás a una consola de texto. Valídate y teclea (ahora no vale copiar y pegar):

Gnome:
rm ~/.config/autostart/beryl-manager.desktop

KDE:
rm ~/.kde/Autostart/beryl-manager

Para volver a la consola gráfica (a gnome o kde), pulsamos Ctrl-Alt-F7, donde seguiremos viendo mal el escritorio, así que, o pulsaremos Ctrl-Alt-Retroceso, o teclearemos sudo /etc/init.d/gdm restart (kdm start for KDE) para reiniciar el servidor gráfico.

Si notas que Beryl va demasiado lento puedes abrir el Gestor de Ajustes de Beryl y eliminar (o toquetear) el efecto borroso (blur). Algunas combinaciones o ajustes son realmente lentos en algunas tarjetas gráficas.

05 enero 2007

Crear un DVD con menús (con Ubuntu Edgy)

Seguramente alguna vez habréis querido haceros una copia de seguridad de algún DVD. Eso que es totalmente legal (e incomprensiblemente nos obligan a pagar un canon y nos tachan de piratas) podemos hacerlo usando k9copy, aunque a veces resulta más cómodo descargarlo con el amule.

Ahora pongamos que queréis haceros una recopilación de esos archivos que habéis descargado o creasteis en su momento, en un DVD. Si, sería fácil, copiar los archivos directamente, pero lo queremos hacer bonito y le pondremos menú.

Si tenemos unos cuantos archivos de vídeo en el formato que sea, divx, xvid, o cualquier otro, con la extensión que sea, primero los convertiremos a mpeg2, que es el formato que usan los DVD. Podría hacerse todo con el mismo programa, QDVDAuthor, pero puesto que al hacerlo me ha dado errores que me han resultado bastante incomprensibles, voy a comentar como hacerlo sin tener problemas. Para convertir, usamos DeVeDe por ejemplo. También puede usarse avidemux, pero el primero es más sencillo y está en español, y avidemux no.

Vamos a ver el funcionamiento básico de DeVeDe. Al iniciarlo nos muestra 4 botones para elegir el tipo de disco que queremos crear. Elegimos Video DVD en este caso.
Ahora nos muestra la pantalla principal del programa en la que tenemos dos listas, títulos y archivos, abajo la barra que indica cuánto queda por llenar y un par de opciones. La barra no parece medir muy bien, aunque hay que tener en cuenta que se basa en estimaciones. Para mi prueba se ha dado el caso que ni con el 150% llegaba al 100% real. No era demasiado contenido. Lo mejor es probar primero con un único archivo y ver lo que ocupa, y montárselo sabiendo eso. Títulos corresponde a los títulos o capítulos del DVD, las secciones hacia las que podemos saltar.

Pantalla principal de DeVeDe

Si creamos un DVD sin menús, por cada título pondremos un archivo de película en la lista de la derecha (En caso contrario podemos añadir todas en el primero) Creamos tantos títulos como archivos vayamos a añadir pulsando repetidamente en "añadir" de la lista título. Seleccionamos cada uno y pulsamos "añadir" en la lista de la derecha, lo que nos mostrará un dialogo con varias opciones. Primero seleccionar el archivo de la película con el botón de arriba. Al seleccionarla, nos mostrará información sobre ella inmediatamente debajo. Tasa de vídeo y de audio tendremos que modificarlas de acuerdo al tamaño que tengan las películas que vayamos a meter en el disco y el espacio que nos vaya quedando en él al añadir cada una. En avanzadas no es necesario que modifiquemos nada.

Una vez añadido todo, vamos a las 3 opciones de abajo. Está seleccionada la última, "Crear una imagen ISO". Con ésta grabaríamos directamente con cualquier programa de grabación a un DVD (sin menús, recordemos). La anterior, "Crear estructura del disco", nos dejaría creado el contenido del DVD con sus correspondientes directorios, que luego tendríamos que seleccionar para grabarlos.
La primera opción, "Únicamente convertir a MPEG", es la que seleccionaremos para el caso que nos ocupa, crear menús.
Pulsamos "siguiente" y nos preguntará dónde queremos guardar los archivos mpeg (o el DVD en su caso) y el nombre por el que comenzarán los archivos mpeg. Hecho esto, aceptamos y comenzará a codificar, cosa que puede tardar bastante tiempo, más de media hora. Evidentemente, depende del equipo que tengas.

Vamos a la siguiente fase: crear menús. Tenemos el programa QDVDAuthor. Por desgracia está en inglés, pero es sencillo. Es algo inestable y tiene varios errores que corregiremos fácilmente, pero id guardando cada vez que hagáis cambios por si el autoguardado no llega a tiempo.
Pantalla principal de Qdvdauthor

Vamos a empezar. Creamos nuevo proyecto. Nos pedirá un directorio temporal. Le ponemos un subdirectorio de donde tenemos almacenados los archivos, que crearemos para esto. Le damos a siguiente (next) y nos pregunta por el nombre del proyecto, nos indica la ruta que le escribimos antes, y abajo la ruta del DVD, que puede ser otro subdirectorio de donde estábamos. Si pulsáis browse para examinar, cuando aceptéis tened cuidado que no aparezca la barra / al final de todo, porque causa problemas. Le dais a acabar (finish). Ahora hay que ver si está instalado lo necesario. Y os preguntareis: ¿Para que están las dependencias? yo me pregunto lo mismo. Vamos al menú Herramientas (Tools) y elegimos Configurar (Setup). Elegimos la solapa Rutas (paths) y pulsamos en Examinar sistema (scan system). Lo que nos aparezca con fondo blanco lo tenemos instalado. Lo que no, hay que instalarlo, aunque todo no es necesario. Por ejemplo, no es necesario instalar movie-to-dvd, pcm2aiff, mctoolame y dvdrecord. Mas que nada porque no está en los repositorios y con lo demás nos bastamos. Hecho esto, por fin podemos empezar a crear menús.

Primero que nada añadimos las películas con el botón "add movie". Seleccionamos todas las que convertimos con DeVeDe (pulsando control mientras seleccionamos cada una) y aceptamos.
Nos saldrán fotogramas de cada una de las películas que hemos introducido. Ahora nos toca seleccionar cada una con el botón derecho, elegir propiedades (properties) y edit. Ahí comprobaremos que la relación de aspecto (aspect ratio) es correcta. Si el archivo corresponde a una película panorámica, deberá poner 16:9. Si es formato normal de televisión, deberá poner 4:3. Si pone lo contrario de lo esperado, deberemos cambiarlo para que no nos deforme la imagen. Si en "formato" pone NTSC en lugar de PAL, tendremos que sobreescribirlo y poner PAL, a no ser que uséis el otro formato, claro.

La verdad, explicar esto es más largo que hacerlo. Añadimos el fondo que pretendamos poner con "Add Background". Si le queremos poner sonido, lo mismo con "Add sound".
Si vamos a crear submenús (capítulos, sonido, etc), vamos al menú DVDAuthor y seleccionamos añadir menú (add menu). Ahora en la lista de objetos veremos Submenu 1, y tendremos una nueva solapa en la representación del menú. Los submenús se editan igual que el principal. Pulsamos en su solapa y podremos editarlo, añadiendo una imagen de fondo de la misma manera que antes.

Ahora añadimos el texto de los menús, sea en el principal o en los submenús. En el menú DVDmenu tenemos Añadir texto (add text). Esto nos transforma el puntero en una cruz, que tenemos que usar para enmarcar la zona del texto, y posteriormente ya podremos escribir en el dialogo que nos saldrá. Así vamos añadiendo las opciones que queramos. Para cambiarlo de sitio hay que arrastrarlo. Si le da por cambiar de forma, elegís el objeto con el botón derecho y pulsáis "matrix". Dejáis zoom a 1 y el resto a 0 y volverá a su forma normal.
Para los textos que tengan que ser opciones pulsaremos con el botón derecho en la lista de la izquierda sobre cada uno de los objetos que los representan y elegiremos "Define as button". Le damos un nombre descriptivo para no confundirnos, y donde dice "action" desplegaremos la de la derecha para elegir lo que necesitemos. Si esa opción inicia una de las películas, elegimos "Movie files" y justo debajo desplegaremos para elegir la película. Si esta opción despliega un submenú, lo seleccionaremos. Haremos lo mismo sobre cada botón creado.

Ya está hecho. Ahora vamos al menú DVDAuthor y elegimos crear DVD (create DVD). Nos mostrará las instrucciones que va a utilizar para crear el DVD. Hay que modificar algunas. Donde veamos que pone 48000 tenemos que quitarle los ceros y si vemos alguna doble barra // tenemos que dejar una sola /.
Bueno, ya parece que está. Pulsamos Aceptar (OK) y empezará a crear el DVD. Luego grabamos los directorios audio_ts y video_ts con el k3b y ya tenemos DVD con menús.

01 enero 2007

Particiones para instalar linux

Si hay un tema que pueda decirse que es el más preguntado en los foros sobre linux, sin duda es éste: ¿Que particiones necesita linux? ¿que tamaños tienen que tener las particiones?
La respuesta es fácil y normalmente la respuesta suele estar en esos mismos foros. Pero el problema de los foros es que la información está desperdigada.

En Línux (GNU/Linux) necesitamos al menos una partición. Cada sistema operativo usa su sistema de archivos, así que para instalar Linux necesitamos una partición exclusiva para él. Suele ser de tipo ext3 o ReiserFS, aunque en un futuro próximo se impondrá ext4.

Realmente siempre usamos al menos dos particiones, por una simple cuestión de rendimiento. Esa segunda partición es la de intercambio. En otros sistemas operativos se usa un fichero para la memoria virtual (la memoria que se usa cuando la RAM se acaba, simplificando mucho), pero crear el fichero con una forma de asignación totalmente distinta a la memoria, y sobre la marcha, produce fragmentación (sobre todo en el sistema operativo más usado), y todo ello se traduce en un menor rendimiento. En linux usaremos una partición específica del tipo swap para intercambio (aunque también puede usarse un fichero), con un rendimiento óptimo. El tamaño generalmente ha sido del doble de la memoria física (la RAM), pero a partir de 512 MB se considera que es un desperdicio de espacio. Incluso se dice que no debe ser de más de ese tamaño. Hay razones para considerar que la regla debe seguir así, por las características de hibernación y suspensión, que pueden usar el intercambio para guardar la memoria al desactivarla, pero normalmente con usar el mismo tamaño que la RAM es suficiente incluso usando dichas características.

En general es recomendable usar tres particiones por cuestiones de seguridad y fiabilidad. El crear más particiones lo que significa es que separamos partes del sistema (directorios) en particiones, por lo que serán independientes, y en caso de algún error (comúnmente humano) o saturación, tendremos lo demás a salvo. Entonces tendremos lo siguiente:
Partición del sistema /
Partición de intercambio
Partición de los usuarios /home

¿Que tamaños hay que dar a esas particiones?
La del sistema es raro que supere los 6Gb, así que éste es un buen tamaño para usar. En caso de instalar aplicaciones propietarias (por ejemplo, juegos comerciales) en sistemas con varios usuarios, posiblemente éstas se instalen en la partición del sistema, así que quizá sea mejor usar 15Gb para no quedarse corto. De todas maneras éstas pueden instalarse en la partición de los usuarios, que veremos ahora.
La partición de los usuarios es la partición que contendrá los directorios de los usuarios, ( /home/el64 ) por tanto todos sus datos, el contenido de su escritorio, sus configuraciones, etc. Esta es la partición que mayor tamaño debe tener, sobre todo si almacenamos películas (por ejemplo, extraídas de DVD). Ésta ocupará el resto del disco.

Pueden crearse aun más particiones. La partición extra más común, al menos hasta hace pocos años "gracias" a lilo, hoy en desuso, es la del arranque ( /boot). Contiene el núcleo del sistema (linux) y los archivos de configuración de éste y del cargador grub. Un tamaño de unos simples 20 megas es suficiente. Si le das 80 tampoco pasa nada. Entonces una configuración general podría ser esta (exactamente por este orden):

Arranque /boot (50Mb)
Sistema / (>5Gb)
Intercambio (= memoria RAM o hasta el doble de ésta)
Usuarios /home (resto del disco)


Si tienes un servidor, tienes alguna necesidad especial, o simplemente eres un maniático, puedes querer crear aun más particiones. Por ejemplo para /usr, directorio donde se encuentran casi todos los programas, archivos compartibles(pero no modificables) entre varios servidores, lo que llega a ser casi todo el sistema. Para el caso de un servidor es recomendable crear una partición para /var, directorio que varía su tamaño enormemente en ese entorno; el crear esta partición protegería a las demás de quedarse sin espacio.

Un caso más relacionado con rendimiento puro (sobre todo para profesionales del vídeo) podría ser crear una partición con un sistema de ficheros que tuviera un mejor rendimiento para el caso de almacenaje de ficheros grandes, como el XFS, dado que ext3, aun no teniendo ningún tipo de problema con estos ficheros, está orientado a tener mayor velocidad con ficheros pequeños. Podría ser algo así como /home/el64/DVD, o en cualquier otro lugar. Las particiones se pueden montar como se quiera, siempre con respeto a la estructura de directorios de linux.

Para ver como se tratan las particiones en linux, mira este otro artículo.

30 noviembre 2006

Televisión y TDT (televisión digital terrestre) en linux.

El asunto de las tarjetas de televisión suele ser un tema algo complicado en linux. Pocas veces es tan fácil como enchufar y funcionar. Voy a tratar Ubuntu edgy. De todas maneras es extensible a cualquier distribución siempre que se tengan en cuenta los detalles. Las que no están basadas en Debian desconozco si los archivos que comento están en el mismo lugar, aunque supongo que si.

Empezamos con las de televisión analógica. Tengo una tarjeta de televisión de Conceptronic. La CTVFMi. Sirve para oir la radio también, y además cuenta con un mando a distancia. En su momento la probé en windows y he de decir que el manejo del mando es un asco, así como los controladores. El programa incluido era bastante malo. Luego mejoró cuando sacaron la versión 2, pero aun así, el mando no es configurable y el controlador algo chungo. Es el problema de no existir una plataforma común. Va en windows, pero windows no tiene ningún estándar. Cada fabricante se lo monta como quiere. Bueno, realmente, como funcione en windows la verdad es que me importa poco, puesto que lo que a mi me interesaba es que funcionara en Linux, más concretamente en Ubuntu. La cuestión es que la compatibilidad ha ido mejorando poco a poco. Al principio ni se reconocía, y ahora hay compatibilidad incluso con el mando a distancia. Pero como pasa con muchas de estas tarjetas, no se reconoce correctamente al 100% porque al fabricante le da por cambiar su identificador interno. Buscando buscando encontré todo lo necesario.
La conceptronic CTVFMi figura como la tarjeta número 137 del módulo bttv. La cuestión es crear un archivo para que en el arranque quede todo configurado, mando incluido.
Editamos:

sudo gedit /etc/modprobe.d/bttv

y escribimos:
options bttv card=137 pll=1 radio=1 automute=0 tuner=5 remote=1


El mando a distancia funcionará inmediatamente, pero cuidado con el botón de apagar, que sale el menú de apagar el equipo. Podemos usar casi todas las teclas, pero para lo que el quiera en principio, porque no es configurable hasta que instalemos lirc y le asignemos funciones personalizadas. Esto queda para el futuro.

En el caso de otras tarjetas usaríamos el mismo archivo, pero indicando otras opciones. Aquí se puede consultar el listado de tarjetas soportadas.
Por ejemplo, para una pinnacle pctv rave, vemos en el listado que el número de tarjeta es :
card=39 - Pinnacle PCTV Studio/Rave

El archivito debe incluir:
options bttv card=39

pero esta tarjeta se detecta perfectamente, por lo que no haría falta. Al escribir dmesg vemos como se detecta:
bttv0: using: Pinnacle PCTV Studio/Rave [card=39,autodetected]


Con estas tarjetas se pueden usar un gran número de programas para ver la tele. xawtv es el, digamos, más estable, porque no tiene problemas con ninguna tarjeta gráfica. Permite hacer todo lo necesario, incluso grabar en el formato que queramos. El tvtime es bastante bueno, sobre todo gráficamente, comparando el interfaz con el del xawtv, pero puede tener problemas con las ATI, a las que hay que poner un parámetro en el xorg.conf para que marche. Aun así, hay un estúpido problema con ATI: cuando arrancas el programa queda la pantalla en negro. Solución: control+alt+f1 para ir a una consola, y tras ver la linea "login:", control+alt+f7 para volver al Xwindow y ahora si, ver la tele. Hay algún otro programa, pero no lo recuerdo. Con estos dos tenemos bastante.
Editado: si tienes una tarjeta gráfica nvidia seguramente no te funcionará xawtv directamente porque el controlador ya no provee DGA. Para que funcione habrá que modificar el lanzador y ejecutarlo con esto:
xawtv -nodga -device /dev/video0


Con el gnome-radio oimos la radio sin problemas, siempre que la tarjeta que tengamos lo soporte, claro. Curiosamente la conceptronic lleva dos conectores para antena, uno para radio y otro para televisión. En linux con tener conectado el cable de la tele ya vale para las dos cosas, desconozco por qué, pero es mucho mejor.

Ahora vamos al otro tipo de tarjetas, las TDT (Televisión Digital Terrestre). No veo la necesidad de usar siglas, porque simplemente es televisión digital, pero al menos las han adaptado. El futuro seguramente será de la Televisión Digital Satelital (¿TDS?), o sea, por satélite, pero ahora vamos con la que nos entra por la antena de toda la vida.

Tengo una avermedia dvb 777. Es una TDT pura, al contrario que otras mixtas (analógica y TDT) que quizá compliquen un poco la configuración por tener que tocar más de un módulo. Con esta se usa el módulo saa7134. Esta tarjeta se soporta desde el núcleo 2.6.17. Con núcleos anteriores, como el que lleva Ubuntu Dapper, no funciona. Hay que cambiar el núcleo y actualizar video4linux para que pueda funcionar. Con edgy y posteriores no hay problemas. Mi tarjeta tiene unas especificaciones ligeramente distintas al del modelo inicial que sacó avermedia. Parece ser que usa un saa7133 y antes usaba un saa7134. Por esta razón no se reconoce directamente con ese núcleo y hay que indicarlo en un archivo de configuración que indicaré después. No soporta todavía el mando a distancia. En núcleos posteriores (y versiones posteriores de Ubuntu/Debian) ya se soporta.
Para que quede configurada correctamente en caso de que no se detecte en el arranque hay que crear el siguiente archivo:
sudo gedit /etc/modprobe.d/saa7134

con los siguientes datos:
options saa7134 card=85 alsa=1

Con esto no basta, porque hace falta que se cargue otro módulo, que por razones que desconozco, no se carga directamente. Editamos el archivo /etc/modules
sudo gedit /etc/modules

y le añadimos una linea:
saa7134-dvb

Con esto ya tenemos la tarjeta totalmente configurada y marchando. Y por cierto, va muy bien esta tarjeta. Falta el mando, pero eso será otro asunto.

Para poder ver la televisión digital no nos valen los mismos programas. Hay varias opciones, pero la mejor y más sencilla es usar el reproductor multimedios Kaffeine. Arrancamos y elegimos "Digital TV". Para configurarlo, DVB>configurar DVB. Aquí se selecciona la fuente, que corresponde a un archivo con los canales. Puede usarse auto, pero esto tiene el problemita que puede hacer que se cuelgue el programa al llegar a una franja de frecuencias superior a lo que soporta la tarjeta. Mejor elegir una de las opciones. Hay unos cuantos disponibles, pero a mi no me sirvieron. En este caso la solución no es muy fácil en principio, así que hice una mezcla de varios con los limites superior e inferior y todas las posibilidades, así que vale para cualquier zona de España. Le puse algunos comentarios según el listado de canales actual (ver aqui) de Valencia, pero por lo demás, vale para todas partes.
Este archivo, para que sea accesible al kaffeine, ha de estar aqui, y llamarse como vuestra ciudad, o como queráis:
.kde/share/apps/kaffeine/dvb-t/es-Valencia

El contenido:

# DVB-T Valencia
T 490000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.23:Telecomarca, Unedisa
T 514000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # c26:nada
T 570000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # c33:nada
T 618000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.39:nada
T 682000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.47:nada
T 708000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.50:nada
T 730000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.53:GV-998
T 746000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.55:TV3, K3/33, 3/24, 300
T 762000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.57:Canal9, Punt2, Popular TV, LP Teva
T 770000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.58:TVE1, TVE2, TVE 24H, Clan/TVE 50 Años, RNE1, RNEC, RNE3
T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.59
T 786000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.60
T 794000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.61:nada
T 810000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.63:nada
T 818000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C64:nada
T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.66: Veo, SETenVeo, NetTV, Teledeporte.
T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.67: Cuatro, CNN+,40 Latino, La Sexta.
T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.68: Tele 5, Tele 5 Sport, Tele 5 Estrellas, Fly Music.
T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.69: Antena 3, Antena.Neox, Antena.Nova, Telehit, Onda Cero, Europa FM, Onda Melodía.

Tras crear este archivo, lo elegís entre las fuentes y aceptáis. Ahora hay que sintonizar. Hay que ir a la opción DVB>Canales. Pulsar "Comenzar exploración" y empezarán a salir todos los canales, así como la potencia de la señal y la relación señal/ruido. Y ya podéis ver la TDT.