viernes, 26 de marzo de 2010

Cuando instalamos linux slackware, seleccionamos el gestor de ventanas kde como gestor predefinido. De este modo, tras arrancar, hacemos login en terminal modo texto, para, a continuación, iniciar el entorno gráfico escribiendo el comando startx. Dicho comando lanza las X y el gestor de ventanas KDE. Lo que vamos a ver en este artículo es como modificar el gestor de ventanas utilizado por defecto.

Tras lanzar el servidor X, el sistema operativo lanzara el gestor de ventanas que se configurado en el fichero .xinitrc que encuentre en la carpeta $HOME del usuario que lanza el entorno gráfico. En caso de no encontrarlo utilizara el fichero /etc/X11/xinit/xinitrc. De esta manera podemos modificar el gestor por defecto que se asigna a los usuarios, o configurar individualmente un gestor para cada usuario. Vamos a ver el contenido del directorio /etc/X11/xinit.



Podemos observar como el fichero xinitrc no es más que un enlace al xinitrc concreto para cada gestor de ventanas que tenemos instalado en nuestro sistema. Para modificar el gestor por defecto (kde) por el gestor xfce4, debemos eliminar el enlace y crear otro nuevo enlazando al xinitrc de xfce4. De todos modos esto no nos sirve para modificar el gestor en los usuarios ya creados si estos ya tienen un fichero .xinitrc en su directorio $HOME. En nuestro caso tenemos creado el usuario root. Vamos a modificar su /root/.xinitrc para que su gestor de ventanas sea xfce4.


Al final del fichero vermos lo siguiente:
El comando startkde es el que inicia el gestor de ventanas kde una vez que estan corriendo las X. Comentamos la linea y añadimos el comando startxfce4 para iniciar dicho gestor de ventanas.


Una vez realizados dichos cambios ejecutamos el comanto startx y podemos observar como el gestor de ventanas utilizado es xfce4.



Si queremos ser lo más austeros posibles, y consumir pocos recursos en gráficos, podemos recurrir a blackbox. Para ello modificaremos el fichero .xinitrc poniendo al final el comando blackbox en lugar de startxfce4.



Ya sabemos configurar el gestor de ventanas, ahora solo es cuestión de escoger el que más nos guste en función de los recursos que queramos dedicar al entorno gráfico.

lunes, 22 de marzo de 2010

Una de las grandes "pegas" que tiene linux, es la instalación de aplicaciones. El problema son las dependencias a librerias, problema que distribuciones como debian resuelve con apt-get, fedora con yum... etc. En slackware lo más parecido que hay son los slackbuilds, que no son más que scripts para compilar los ficheros fuente de la aplicación en cuestión. Desde luego, si compilamos un programa, siempre quedara más optimizado y adaptado a nuestro equipo que un precompilado, pero nos encontramos con el problema de las dependencias.  Desde hace tiempo, procuro compilar todas las aplicaciones que instalo, aunque a veces toca lidiar con problemas que puedes llegar a tardar un buen rato en resolver.
Hoy he instalado una aplicación para generar imágenes HDR. La apliación en cuestión se llama pfstools, su interface gráfico qtpfsgui, y dicho interface depende de una libreria llamada fftw. Comienzo instalando pfstools y todo ok, ya puedo crear los HDR desde consola. Después instalo fftw y perfecto. A continuación intento instalar qtpfsgui... error¡¡ no encuentra las librerías de ftw (el .configure dice que esta todo ok, pero en el make falla). Total, que buscando las librerias que necesitaba veo que no están. Tras muchas vueltas logre encontrar la solución, compilar tres versiones de las librerias en función de la precisión de coma flotante requerida (¡toma ya! el archivo INSTALL de fftw no decia nada al respecto). Menos mal que lo encontre en el script de instalación de slackbuilds para fftw. Dicha información también la podemos encontrar en el siguiente enlace:

 

jueves, 18 de marzo de 2010

Antes de comenzar, he de decir que estos cambios se pueden realizar desde el interface gráfico de forma similar a windows, pero la cuestión es cambiar el idioma por defecto del sistema. El problema que tenemos, es que aunque cambiemos el idioma del usuario administrador, cada nuevo usuario que creemos tendrá que configurar el idioma y el mapa de teclado.
Aclarado esto, vamos a castellanizar nuestro slackware (que para eso somos de Castilla x) ). Vamos a comenzar por el mapa de teclado. Para modificarlo para todos los usuarios debemos cambiarlo en el archivo de configuración del servidor X, en el que se pueden configurar, además del mapa de teclado, el tipo de ratón que utilizamos, resoluciones soportadas, tipo de monitor, etc... . Podemos utilizar el asistente xorgsetup, o editar el fichero /etc/X11/xorg.conf. Lo normal es tener siempre hecho un backup de dicho fichero por si la liamos. ¡Comenzamos!


No voy a contar como funciona el editor vi, ya que de este tema hay multitud de manuales por internet, pero con saber cambiar a modo de inserción con la "i", a modo comando con "esc", borrar con la "x", y guardar con ":wq", será suficiente para lo que necesitamos hacer en la mayoria de los ficheros de configuración. El fichero es bastante grande, buscamos el siguiente fragmento:



Son las opciones por defecto del teclado. Descomentamos (Eliminamos el caracter # del comienzo de linea) la linea que se refiere a XkdbLayout, y cambiamos "us" por "es". Tendremos lo siguiente:


Guardamos los cambios y salimos. Ya tenemos el mapa de teclado por defecto modificado para todos los usuarios. Ahora cambiemos el idioma.
Muchas aplicaciones, entre ellas algunos gestores de ventanas, consultan el valor de la variable de entorno LANG para mostrar el interface en el idioma configurado en el sistema. El valor de dicha variable se asigna en los fichero lang.csh y lang.sh contenidos en el directorio /etc/profile.d/


En ambos ficheros buscaremos la linea descomentada donde se asigna el valor y lo modificaremos por "es_ES".

Una vez hecho el cambio en ambos ficheros, la proxima vez que iniciemos el equipo, las variables tendrán el nuevo valor asignado. Si queremos efectuar los cambios, modificamos el valor de la variable asignandoselo desde el shell, poniendo "LANG=es_ES".
Con esto ya tenemos "castellanizado" el sistema.

viernes, 12 de marzo de 2010

A continuación dejo el manual de instalación de linux slackware. Este es el primer paso para realizar el esquema de aula docente descrito en un post anterior . Linux slackware será el sistema operativo base en todos los equipos, y la idea es preparar un equipo para dicho proposito y después clonarlo en todo el aula. El proceso de instalación es demasiado largo para exponerlo en un solo articulo, asi que he realizado una presentación bastante detallada. Poco a poco ire añadiendo más articulos con los pasos de configuración del sistema, e instalación de aplicaciones necesarias.



P.D.: al subirla a slidshare, hay varias cosas del formato de la presentación original que se han perdido. Esta visto que slideshare convierte peor los odp que los ppt.

lunes, 8 de marzo de 2010

Vamos a ver como configurar una conexión LAN de forma estática. Los datos que necesitamos saber para poder configurar la conexión son:
- Red en la que nos encontramos, y la dirección IP que corresponde a nuestro equipo.
- Dirección IP de la puerta de enlace predeterminada.
- Dirección IP de al menos un servidor DNS.

Una vez que tenemos estos datos tenemos tres maneras de poder configurar el equipo:
- Con la herramienta netconfig
- A mano. (La configuración dura hasta que el equipo se reinicie).
- Modificando los ficheros de configuración de conexiones de red.

La primera es muy sencilla, de modo que aqui solo trataremos la segunda y la tercera. Comencemos por la segunda realizando un ejemplo práctico.
Imaginemos el siguiente escenario: nos encontramos con nuestro ordenador portatil en un aula con conexión a internet y sin servidor dhcp, se nos indica que la red es la 192.168.0.0/24, la dirección para nuestro equipo es la 192.168.0.57, la puerta de enlace predeterminada y el servidor dns es 192.168.0.1. Esta conexión la vamos a usar solo de manera puntual, por lo que vamos a configurarla de forma manual para poder utilizarla en el momento.
Lo primero que debemos hacer es asignar la dirección ip y la mascara de red al interface de red local de nuestro equipo. Para ello lo primero que necesitamos saber es con que nombre esta identificado dicho interface, para ello ejecutamos el comando

ifconfig
Si solo muestra el interface de loopback, es posible que el sistema haya detectado la tarjeta de red pero esta se encuentre desactivada. En ese caso ejecutaremos el comando

ifconfig -a.




Vemos que el interface que queremos configurar se llama eth0. Lo primero que debemos hacer es activarlo, para ello ejecutamos el comando
ifconfig eth0 up
A continuación indicaremos al equipo su dirección IP y su mascara de subred con el siguiente comando:

ifconfig eth0 192.168.0.57 netmask 255.255.255.0




En este momento ya podriamos comprobar que estamos en la red local haciendo ping a cualquier equipo que se encuentre encendido en la misma red. Pero todavia no podemos acceder a internet, ya que nos falta una puerta de enlace predeterminada y la ip de un servidor dns.
La puerta de enlace predeterminada se configura en la tabla de rutas de nuestro equipo. Para mostrar la tabla de rutas ejecutamos el comanto

route -n

Observamos como no tenemos ninguna puerta de enlace predeterminada configurada. Para añadirla ejecutamos:

route add default gw 192.168.0.1



Ya tenemos terminada la configuración del equipo para poder salir a internet, solo necesitamos añadir un servidor de DNS. Para ello editamos el archivo /etc/resolv.conf y añadimos la siguiente linea:
nameserver ipservidordns

donde ipservidordns es la dirección ip de un servidor dns, como por ejemplo: 80.58.0.33.





Si queremos realizar una configuración de red permanente (tercera opción), editaremos el fichero /etc/rc.d/rc.inet1.conf. Parte de su contenido se mustra en la siguiente imagen.



A continuación, editaremos los campos correspondientes al interface de red que queremos configurar, en nuestro caso eth0. Asignaremos la dirección ip, la mascara de subred, y la puerta de enlace predeterminado. El fichero, según la configuración de nuestro ejemplo, quedara de la siguiente manera:




Tras modificar estos parametros en el fichero, salimos guardando los cambios.

A partir de ahora cuando arranquemos el equipo, el interface de red eth0 se configurara con los parámetros que hemos indicado en el fichero, pero para configurarlo en la sesión actual, ejecutaremos el siguiente comando:

/etc/rc.d/rc.inet1 restart

El servidor dns se sigue configurando en el mismo fichero que en el caso anterior.