Escritorio KDE en Debian

Written by blitous on Agosto 14, 2008 – 4:24 am -

Hace ya tiempo publique un mini (muy mini) howto de como instalar un escritorio Debian, pero en ese momento lo hice de una manera muy genérica y sin especificar un escritorio en especifico.

Ahora diré como instalar un sistema Debian con escritorio KDE.

Suponiendo que ya esta instalado el sistema base (para evitar escribir algo que cualquiera puede hacer).
Bueno, cuando se arranque el sistema por primera vez, y haberse logueado como root, habrá que editar /etc/apt/sources.list para comenzar a instalar los paquetes.

El archivo sources.list que tengo es este:

  1. ## Repositorio Oficial ##
  2. deb http://ftp.us.debian.org/debian lenny main contrib non-free
  3. deb-src http://ftp.us.debian.org/debian lenny main contrib non-free
  4. ## Repositorio Multimedia ##
  5. deb http://www.debian-multimedia.org lenny main
  6. ## Actualizaciones de Seguridad ##
  7. deb http://security.debian.org/ lenny/updates main contrib non-free
  8. deb-src http://security.debian.org/ lenny/updates main contrib non-free

Y hacer un aptitude update

En primera hay que instalar el paquete debian-multimedia-keyring para que deje de molestar cada vez que se tiene que instalar un paquete de ese repositorio:

apt-get install debian-multimedia-keyring

Después de esto hacer:

aptitude update

Ya esta listo para actualizar el sistema, hacer un:

aptitude full-upgrade

Después reiniciar con el nuevo kernel.

Ya estando de nuevo en el sistema logueado como root, hay que instalar el sistema de sonido ALSA:

aptitude install alsa

Después configurar ALSA:

alsaconf

Saldrá un menú donde buscara la tarjeta grafica y la configurara.

Ya después de esto se puede instalar el sistema grafico:

aptitude install x-window-system

Bajara un buena cantidad de paquetes, ya después de que termine se supone que ya estará configurado el sistema gráfico, pero por si acaso no lo esta (como fue en mi caso), tuve que modificar xorg.conf a mano y poco a poco, hasta que quedo de esta manera y me ha dado buenos resultados.

  1. # xorg.conf (xorg X Window System server configuration file)
  2. #
  3. # This file was generated by dexconf, the Debian X Configuration tool, using
  4. # values from the debconf database.
  5. #
  6. # Edit this file with caution, and see the xorg.conf manual page.
  7. # (Type ”man xorg.conf” at the shell prompt.)
  8. #
  9. # This file is automatically updated on xserver-xorg package upgrades *only*
  10. # if it has not been modified since the last upgrade of the xserver-xorg
  11. # package.
  12. #
  13. # If you have edited this file but would like it to be automatically updated
  14. # again, run the following command:
  15. #   sudo dpkg-reconfigure -phigh xserver-xorg
  16. Section “Files”
  17. FontPath    “/usr/local/share/fonts”
  18. EndSection
  19. Section “InputDevice”
  20. Identifier  “Generic Keyboard”
  21. Driver      “kbd”
  22. Option      “CoreKeyboard”
  23. Option      “XkbRules” “xorg”
  24. Option      “XkbModel” “pc105″
  25. Option      “XkbLayout” “us”
  26. EndSection
  27. Section “InputDevice”
  28. Identifier  “Configured Mouse”
  29. Driver      “mouse”
  30. Option      “CorePointer”
  31. Option      “Device” “/dev/input/mice”
  32. Option      “Protocol” “ImPS/2″
  33. Option      “Emulate3Buttons” “true”
  34. EndSection
  35. Section “InputDevice”
  36. Identifier  “Synaptics Touchpad”
  37. Driver      “synaptics”
  38. Option      “SendCoreEvents” “true”
  39. Option      “Device” “/dev/psaux”
  40. Option      “Protocol” “auto-dev”
  41. Option          “EdgeMotionMinSpeed” “200″
  42. Option          “MinSpeed” “0.8″
  43. Option          “MaxSpeed” “1.00″
  44. Option          “BottomEdge” “650″
  45. Option          “EdgeMotionMaxSpeed” “200″
  46. Option          “UpDownScrolling” “0″
  47. Option          “CircScrollTrigger” “2″
  48. Option          “SHMConfig” “on”
  49. Option          “LeftEdge” “120″
  50. Option          “FingerLow” “14″
  51. Option          “HorizScrollDelta” “20″
  52. Option          “MaxTapMove” “110″
  53. Option          “FingerHigh” “15″
  54. Option          “VertScrollDelta” “20″
  55. Option          “CircularScrolling” “1″
  56. Option          “AccelFactor” “0.015″
  57. Option          “TopEdge” “120″
  58. Option          “RightEdge” “830″
  59. EndSection
  60. Section “Device”
  61. Identifier  “Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller”
  62. Driver      “intel”
  63. BusID       “PCI:0:2:0″
  64. EndSection
  65. Section “Monitor”
  66. Identifier  “Monitor genérico”
  67. Option      “DPMS”
  68. EndSection
  69. Section “Screen”
  70. Identifier  “Default Screen”
  71. Device      “Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller”
  72. Monitor     “Monitor genérico”
  73. DefaultDepth    24
  74. SubSection “Display”
  75. Modes       “1280×800″
  76. EndSubSection
  77. EndSection
  78. Section “ServerLayout”
  79. Identifier  “Default Layout”
  80. Screen      “Default Screen”
  81. InputDevice “Generic Keyboard”
  82. InputDevice “Configured Mouse”
  83. InputDevice “Synaptics Touchpad”
  84. EndSection
  85. Section “Extensions”
  86. Option “Composite” “Enable”
  87. EndSection
  88. Section “DRI”
  89. Mode 0666
  90. EndSection

Cambiar el driver “intel” por el que use su grafica, los nombres de los dispositivos (para que no se confundan), el tamaño de la resolución por la que usen y algún otro cambio que le quieran hacer.

Ahora si, Xorg ya esta configurado y con aceleración 3D.

Si se tiene una portátil, y sabiendo que la instalación básica de Debian no instala ACPI ni esas cosas que necesita un portátil, se puede recurrir a tasksel (así se llama el comando) y en el menú escoger la opción de sistema portátil y pasara a instalar los paquetes necesarios.

En el escritorio escogí KDE, por lo que para instalarlo se puede realizar lo siguiente:

aptitude install kde-core kde-i18n-es kmix amarok k3b k3b-i18n gwenview gwenview-i18n ksnapshot kaffeine katapult smplayer rar unrar network-manager-kde kpowersave konq-plugins iceweasel iceweasel-l10n-es-es kpdf

Tal vez parezcan muchos paquetes, pero de esa manera se instalara un sistema que no estará muy cargado como cuando se instala el meta-paquete kde o los principales meta-paquetes de este.

Para instalar OpenOffice.org:

aptitude install openoffice.org openoffice.org-l10n-es openoffice.org-kde

Los diccionarios se instalaran con el asistente de OpenOffice.

Para instalar Java:

aptitude install sun-java6-jre sun-java6-plugin

Si es programador de Java, sustituir sun-java6-jre por sun-java6-jdk.

En la sección multimedia, ya esta SMPlayer, que es uno de los mejores reproductores de video y kaffeine que es otro buen reproducor de audio y video.

Pero faltarían los codecs:

aptitude install w32codecs libdvdcss2 libx264-60

Para chatear, se puede instalar Kopete, kmess, emesene, amsn, etc.

Si es programador o si compilar programas:

aptitude install build-essential xorg-dev kdebase-dev

xorg-dev y kdebase-dev no son realmente necesarios, pero cuando se compilan programas con librerías gráficas son necesarios.

Un buen IDE:

aptitude install kdevelop

Y si bajan musica o cualquier cosa por el Ares:

aptitude install wine

Y bajar el .exe de la pagina del ares y ejecutar con el wine (regularmente se configura solo para ejecutar los .exe a base de clicks).

Para optimizar un poco el sistema.

Editar el archivo /etc/sysctl.conf y agregar al ultimo:

vm.swappiness=10

Instalar los paquetes preload y prelink

aptitude install preload prelink

Preload se carga solo en el arranque, pero prelink, en internet hay muchos manuales de como hacerlo (los de ubuntu funcionan igual).

El paquete sysv-rc-conf para editar los servicios de arranque, el paquete localepurge para eliminar locales que no se usan. El paquete deborphan para librerías huérfanas, en fin, hay muchas maneras de tener un sistema optimizado y estable.

Bueno, este es el sistema que mas o menos creo que se adapta a las necesidades de un usuario común, sin necesidad de tener una gran cantidad de paquetes que jamas usara y se sienta perdido con los menús llenos.

Escrito por Link del blog LinkBlog

Subscribe to my RSS feed

Varios interfaces conectados a un ADSL (Load balancing)

Written by blitous on Junio 1, 2008 – 2:45 pm -

Muchas veces tenemos varios interfaces de red (Ethernet / Wireless) que sobran y no se les da todo el uso que merecen. Vamos a ver como poder usar múltiples tarjetas conectadas todas a un solo ordenador y a un mismo router ADSL, de forma que el trafico sea repartido entre todos los interfaces de red que dispongamos (Balanceo de carga).

Esto puede carecer de utilidad a simple vista, pero permite aumentar el ancho de banda en una red LAN y le da más confiabilidad a la conexión, ya que cuando un interfaz muere los demás se reparten el trabajo siendo transparente para el usuario. Lógicamente, aunque carezca de poca importancia, también complicaría un poco el entendimiento del tráfico capturado por un supuesto espía de la red.

Ejemplo de aumento de ancho de banda:

Tarjeta FastEthernet (100 Mbps) + Wireless (11 Mbps) + Wireless (54) Mbps = 165 Mbps (Teóricos)

NOTA: Por supuesto hablamos del ancho de banda de la red LAN, el ADSL contratado no varía lógicamente. Para lograr un aumento del ancho de banda ADSL, cada interfaz de red debe conectarse a otro router ADSL para sumar los anchos de banda, no es el caso.

GNU/Linux se encarga automáticamente del balanceo de carga entre los interfaces si usamos kernels no muy antiguos. Solo debemos de crear unas ip virtuales en el router e indicar a GNU/Linux las rutas por defecto (A esas ip virtuales) con misma métrica para que el trafico pueda ser batido entre interfaces, como veremos en el ejemplo de fácil comprensión.

Opciones del kernel activadas

equal cost multi path (Por norma activada)

En Kernel 2.6 ademas es recomendable activar:

Dentro de IP: Virtual Server Configuration > IP virtual server support

TCP load balancing support
UDP load balancing support
ESP load balancing support
AH load balancing support

NOTA: Por norma si el kernel es nuevo todo esto viene activado.

Comandos interesantes:

ip route show -> Muestra las rutas.
ip route show cache -> Muestra las rutas en cache.
ip route flush default -> Borra las rutas.
ip route flush cache -> Borra las utas de la cache.

Permitir que linux enrute (Permite a GNU/Linux pasar paquetes entre los distintos interfaces de red)

# echo 1 > /proc/sys/net/ipv4/ip_forward

NOTA: Obligatorio hacerlo antes de levantar los interfaces !!

Ficheros de interes:

/proc/net/rt_cache -> Rutas de la cache
/proc/sys/net/ipv4/route/gc_timeout -> Tiempo usado por el kernel para eliminar una ruta.
/proc/sys/net/ipv4/route/max_size -> Tamaño máximo de la caché de rutas. Se eliminan entradas antiguas cuando la caché alcance el limite.

Demos paso al ejemplo practico para ver como implementar el balanceo.

Interfaces usados

eth0 (Fastethernet) 100 Mbps
rausb0 (Wireless 11g) 54 Mbps
wlan (Wireless 11b) 11 Mbps

Router: Xavi Wireless x7868r (ADSL)

Configurando las direcciones IP:

Lo primero que debemos hacer es configurar el router para que escuche peticiones de múltiples redes. En el caso del ejemplo usaremos la redes:

192.168.1.1 / 255.255.255.0 (Default)
192.168.2.1 / 255.255.255.0 (Virtual)
192.168.3.1 / 255.255.255.0 (Virtual)

Pocos son los routers ADSL que no permiten aplicar alias a los interfaces que permita el acceso al mismo con varias ip pertenecientes a distintas redes. Mostraremos como hacerlo en el router Xavi, pero como comente en los demás el proceso de creación sera distinto, pero no por ello complicado. El nombre que suele recibir es “Segmentación de Red- IP alias”.

Navegador: 192.168.1.1 -> “LAN Settings..” -> “Change default LAN port IP address” -> “Advanced…” -> Creamos las ip de la forma anteriormente comentada.

En otros routers por ejemplo Zyxel la forma de hacerlo seria esta.

Una vez tenemos debidamente configurado el router para responder peticiones desde distintas redes, tenemos que crear las direcciones IP de los interfaces que conectaran al router, ya sean ethernet o wireless. El router al que intentamos conectar en este ejemplo usa encriptación WEP de 64 bits, para darle un poco mas jugo veamos que pasos realizar para conectarnos con las distintas tarjetas. Lo haremos de forma estándar ya que cada distribución de GNU/Linux permite configurar la red de formas distintas con distintas aplicaciones gráficas, archivos de configuración y demás. Al hacerlo mediante comandos estándar debería de funcionar en todas las distros.

Direcciones IP de los interfaces:

192.168.1.33 / 255.255.255.0 (Wlan0) -> Wireless
192.168.2.1 / 255.255.255.0 (Rausb0) -> Wireless
192.168.3.1 / 255.255.255.0 (eth0)

* Conectando wlan0 a la red Wireless:

#wlanctl-ng wlan0 lnxreq_ifstate ifstate=enable
#wlanctl-ng wlan0 dot11req_mibset mibattribute=dot11PrivacyInvoked=true
#wlanctl-ng wlan0 dot11req_mibset mibattribute=dot11WEPDefaultKeyID=0
#wlanctl-ng wlan0 dot11req_mibset mibattribute=dot11WEPDefaultKey0=aa:aa:aa:aa:aa
#wlanctl-ng wlan0 lnxreq_autojoin ssid=Wireless_gratis authtype=opensystem

* Configurando dirección IP de wlan0:

#ifconfig wlan0 192.168.1.33 netmask 255.255.255.0 broadcast 192.168.1.255
#route add default gw 192.168.1.1 dev wlan0

* Conectando rausb0 a la red Wireless:

# iwconfig rausb0 essid Wireless_gratis mode managed channel 2
# iwconfig rausb0 key aaaaaaaaaa

* Configurando dirección IP de rausb0:

#ifconfig rausb0 192.168.2.33 netmask 255.255.255.0 broadcast 192.168.2.255
#route add default gw 192.168.1.1 dev rausb0

* Configurando dirección IP de eth0:

# ifconfig eth0 192.168.3.33 netmask 255.255.255.0 broadcast 192.168.3.255
# route add default gw 192.168.33.1 dev eth0

Comprobando que están todas las Interfaces correctamente conectadas:

# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.3.0 * 255.255.255.0 U 0 0 0 eth0
192.168.2.0 * 255.255.255.0 U 0 0 0 rausb0
localnet * 255.255.255.0 U 0 0 0 wlan0
loopback * 255.0.0.0 U 0 0 0 lo
default 192.168.3.1 0.0.0.0 UG 0 0 0 eth0
default 192.168.2.1 0.0.0.0 UG 0 0 0 rausb0
default 192.168.1.1 0.0.0.0 UG 0 0 0 wlan0

Ahora mediante cualquier monitor / analizador de la red (gkrellm, net-applet, etc.. ) debemos hacer ping a las distintas direcciones ip del “gateway / router / puerta de enlace predeterminada,..” Es decir, si hago un ping a una ip del gateway debemos de observar actividad en la interfaz de red unida a dicha red del gateway:

ping -s 999 192.168.3.1 -> Debe mostrarse actividad en el interfaz eth0
ping -s 999 192.168.2.1 -> Debe mostrarse actividad en el interfaz rausb0
ping -s 999 192.168.1.1 -> Debe mostrarse actividad en el interfaz wlan0

De no ser así, es que alguna red falla (Problemas Wireless / Direccionamiento IP / Fallo en la creación de la ip-virtual del router) y no se batirá carga a través de ella. Este paso es importante ya que aunque sin tener tres interfaces de red el router también contestaría a cualquiera de esas ip teniendo una sola tarjeta de red, se debe tener en cuenta.

Una vez todas las interfaces estén funcionando correctamente GNU/Linux se encargará de batir la carga de forma efectiva entre las interfaces de red. Veamos un ejemplo de como quedaria una salida del comando iwconfig para ver de que forma aparecen configuradas las tarjetas wireless:
PLAIN TEXT
XML:
rausb0    RT73 WLAN  ESSID:”Wireless_gratis”  Nickname:”busipc”
Mode:Managed  Frequency=2 MHz  Access Point: 00:01:38:68:02:D9
Bit Rate=54 Mb/s
RTS thr:off   Fragment thr:off
Encryption key:AAAA-AAAA-AA
Link Quality=77/100  Signal level:-62 dBm  Noise level:-99 dBm
Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
Tx excessive retries:0  Invalid misc:0   Missed beacon:0

wlan0     IEEE 802.11-b  ESSID:”Wireless_gratis”  Nickname:”Wireless_gratis”
Mode:Managed  Frequency:2.417 GHz  Access Point: 00:01:38:68:02:D9
Bit Rate:11 Mb/s   Tx-Power:18 dBm
Retry min limit:8   RTS thr:off   Fragment thr:off
Encryption key:AAAA-AAAA-AA   Security mode:open
Link Quality=65/92  Signal level=-34 dBm  Noise level=-100 dBm
Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Veamos como el Kernel mueve / balancea la carga entre las tres interfaces:

Balanceo de carga con tres interfaces

El orden es el siguiente, de izquierda a derecha eth0, rausb0 y wlan0. Como podemos apreciar en eth0 tenemos fullduplex, subida y bajada por el mismo interface, en los otros dos solo tenemos bajada. también a parte de balancear en cuanto a la subida y bajada lo hace por protocolo.

eth0 -> TCP, SMTP, UDP, BITTORRENT, DNS, HTTP Y MSNMS (Subida y bajada)
rausb0 -> TCP y MSNMS (Bajada)
wlan0 -> BITTORRENT y UDP (Bajada)

Como vemos lo hace de forma organizada, ahora veamos que ocurre si perdiéramos un interfaz,.. por ejemplo el ethernet, quedándonos solo con las dos tarjetas wireless unidas al router / punto de acceso.

Balanceo de carga con dos interfaces wireless

Como vemos en la imagen, de la subida se encarga una tarjeta y de la bajada la otra. Pero también podemos encontrarnos con que bate la carga de la siguiente forma:

Balanceo de carga con dos interfaces wireless, en modo fullduplex las dos

Cada interfaz maneja tanto trafico de subida y de bajada. Como vemos puede ser muy variante la forma en la que GNU/Linux balancea la carga entre interfaces dependiendo del momento, la carga, los interfaces, el orden de las rutas por defecto,.. Como vemos algo muy fácil al alcance de todo el mundo y que permite usar las interfaces de red que nos sobran, aumentando un poco la estabilidad y el ancho de banda de nuestras conexiones.

Subscribe to my RSS feed