Mostrando entradas con la etiqueta Trucos Ubuntu. Mostrar todas las entradas
Mostrando entradas con la etiqueta Trucos Ubuntu. Mostrar todas las entradas

domingo, 25 de marzo de 2012

Configuración de un server para compartir internet


Hay veces que tenemos un ordenador viejo, que no anda con ningún Windows, al menos de los menos viejos, ya  que Windows es un devorador de recursos y exige continuamente hardware nuevo para funcionar.
Linux por el contrario nos brinda la oportunidad de aprovechar prácticamente cualquier pc por muy viejo que sea.

Así que id desempolvando esos viejos pc's.

Veamos, en muchos tutoriales de internet podemos ver fácilmente como compartir internet con otros equipos usando sistemas Linux.

Lo que ocurre es que la mayoría de las veces está orientado a sistemas con interfaz gráfica, y claro está, si estás usando un sistema sin las X, como Ubuntu Server pues te encontrarás que no puedes seguir esos tutos, caso a parte, no siempre sabes que cambios se están haciendo a nivel de configuración...

Bueno, en esta entrada intentaré explicar de forma breve la configuración básica de un sistema para:

-Funcionar como un router. (incluso como repetidor sin necesidad de que el router desde el que viene la señal soporte wds )

-Crear una red local.
-Compartir internet.
-Asignar ips y DNS de forma automática al resto de pcs.

Nota: Hay distribuciones especiales de linux para hacer función de router o proxy, como "Router Linux" o "Freesco" y que pueden andar sin instalación desde un live-CD pero aquí no los usaremos, ya que buscamos usar el sistema que tenemos instalado.

Requisitos:
-Necesitamos al menos 2 interfaz de red, ya que por una nos comunicaremos con el exterior, (internet) y con la otra nos comunicaremos con el resto de pc's.
Pueden ser tarjetas de red Ethernet o Wifi.

-Iptables, que sirve para administrar conexiones y aplicar reglas. (cualquier versión del kernel igual o superior a la 2.6 serviría ya que lo trae por defecto)

-dnsmasq, que nos servirá para asignar ips y dns de forma automática al resto de máquinas que lo soliciten.

Bueno, partiremos de que ya tendremos configurada la conexión a internet en la máquina en la que estamos trabajando de acuerdo a los requisitos de nuestro proveedor.

Encendemos el server y nos logueamos.

Imaginemos que tenemos conectado el servidor a un moden por cable de red, y que tenemos otra tarjeta libre.

Serían Eth0 y Eth1 respectivamente.
Para empezar tenemos que  echar un vistazo al archivo /etc/network/interfaces y editar lo que nos haga falta.

sudo nano /etc/network/interfaces

En este caso el contenido el el siguiente:

auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp

Esto quiere decir que tenemos configurado la tarjeta de red eth0 para obtener ip por dhcp, pero no hay menciones para eth1, así que lo pondremos nosotros, pero lo haremos de forma manual ya que lo que estamos haciendo es crear una red con esa interfaz.

auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255

Presionamos Ctrl+o para guardar (confirmamos presionando enter) y Ctrl+x 
para cerrar.  

La configuración quedaría así:

Ip de la máquina es 192.168.0.1
La máscara de red es  255.255.255.0
Y la dirección de difusión es la 192.168.0.255

Con eso ya hemos configurado nuestra tarjeta para que coja esos valores.
Pero para que sean efectivos ahora mismo hemos de reiniciar el servicio de red.
sudo /etc/init.d/netwoking restart
Ahora hay que activar ip_forward para que nuestro server no ignore los paquetes
que no vayan destinado a si mismo, ya que pueden ser paquetes para otros
equipos y esto haría que esos equipos no obtuviesen respuesta del exterior.

Para activarlo podemos hacerlo de dos formas:

-Provisionalmente (Se pierde al reiniciar):
echo 1 > /proc/sys/net/ipv4/ip_forward
-De manera permanente:
Editando el archivo /etc/sysctl.conf
sudo nano /etc/sysctl.conf
Y descomentando la linea:

#net.ipv4.ip_forward=1

Descomentar es quitar la "#" de manera que quede así:

net.ipv4.ip_forward=1
Presionamos Ctrl+o para guardar (confirmamos presionando enter)
 y Ctrl+x para cerrar.
Bien, ya nos queda menos, ahora vamos a activar NAT para que los equipos que 
estén conectados a nuestro server puedan salir a internet mediante la ip del server.
Lo que hace nat es como una bifurcación de los datos entre redes.
Para esto usaremos iptables con el siguiente comando:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Vamos a explicarlo:
Iptables es el comando para modificar las reglas.
-t Es para especificar el tipo de tabla a la que van dirigidas las reglas.
nat Es el tipo de tabla.
-A Añade la regla a las ya existentes.
POSTROUTING Modifica los paquetes justo antes de reenviarlos a las máquinas
correspondientes
-o Sirve para especificar hacia que tarjeta van redirigidos los paquetes.
eth0 Es nuestra tarjeta conectada a insternet.
-j Especifica hacia donde se aplican las reglas
MASQUERADE Indica el enmascaramiento ip.
Traducido, que todo lo que entre a nuestro pc por el puerto que no sea eth0 se 
enmascara para reenviarlo a la tarjeta eth0
XD
Esta regla solo se aplica en esta sesión, cuando reiniciemos se desactivará.
(Ya la haremos permanente si nos funciona bien)

Pues desde ya, cualquier pc conectado a nustra tarjeta eth1 tendría acceso a 
internet, pero lo que pasa es que tendríamos que configurar las direciones ip y 
las dns a mano, puesto que no tenemos activo dhcp, peto eso lo podemos arreglar
con el programa dnsmasq

Así que lo instalamos si no lo hemos hecho ya.
sudo apt-get install dnsmasq 

Ahora cambiamos la configuración:
sudo nano /etc/dnsmasq.conf

Buscamos las lineas siguientes y las modificamos para que queden así:

listen-address=192.168.0.1 bind-interfaces dhcp-range=192.168.0.2,192.168.0.254,12h

Unas hay que descomentarlas y otras cambiar los valores.
Presionamos Ctrl+o para guardar (confirmamos presionando enter)
 y Ctrl+x para cerrar.

Reiniciamos el servicio con:
sudo /etc/init.d/dnsmasq restart
Y ahora sí, cualquier pc conectado a ese puerto obtendrá ip, dns y acceso a
internet.
Si queremos conectar muchos pc's podemos colocar un hub, de manera que
multiplico por 4 u 8 los puertos de red y todos los pc's tendrían el mismo trato,
sus propias ips, dns y acceso a internet.
Bueno, si nos funciona podemos dejar fija la reglas existentes de iptables así:

Creamos un script que contenga la regla:

sudo nano firewall.sh

Introducimos los parámetros:

#!/bin/sh #Regla de iptables para canalizar iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #Activación de ip_fordward echo 1 > /proc/sys/net/ipv4/ip_forward

Nota:Si activaste ip_fordward de manera permanente no es necesario hacerlo de nuevo.

Guardas el archivo y lo cierras.
Le damos permiso de ejecución y exclusividad para root:

sudo chmod 700 firewall.sh
sudo chown root:root firewall.sh

Ahora solo tendríamos que añadir una linea nueva al final del archivo /etc/init.d/rc.local para que ejecute el script al inicio:

sudo nano /etc/init.d/rc.local

Os movéis hasta el final del archivo y poneis la ruta del script que hemos creado.
En mi caso es:

/etc/firewall.sh

Guardáis y cerráis
Pues listo.
Si lo que queréis es compartir internet por wifi podemos hacerlo así:
Volvemos a editar el archivo /etc/network/interfaces

sudo nano /etc/network/interfaces

En este caso el cambio sería el siguiente:

auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto wlan0 iface wlan0 inet static address 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255
wireless_essid "nombre de tu red wifi"
wireless_channel 6
wireless_mode ad hoc
#
# Para usar claves con texto o en hexadecimal descomentar una de las lineas:
#wireless_key s:claveweptexto
wireless_key 0123456789

Presionamos Ctrl+o para guardar (confirmamos presionando enter) y Ctrl+x 
para cerrar.

Reiniciamos la configuración de red:
sudo /etc/init.d/netwoking restart

Con eso el resto de pc's podrán ver un nuevo punto de acceso wifi al que pueden
acceder para tener internet.
El problema es que este tipo de configuración es equipo a equipo, y no se pueden 
conectar más de un pc al mismo tiempo al punto de acceso creado.

Un saludo y espero que os sirva a más de uno.

Una de las fuentes que he visitado:
http://crysol.org/es/router-casero

sábado, 10 de marzo de 2012

Crear archivos y directorios con caracter ascendente o descendente

Gracias al compañero anticongelante miembro de Ubuntu-es.org puedo compartir con ustedes algo que aprendí en el foro...

A veces puede ser necesario crear muchos archivos y/o carpetas del tipo:

fichero1
fichero2
fichero3


O también del tipo:
Carpeta1
Carpeta2
....

O con letras
fichero a
fichero b
etc etc

Para hacer esto acudiremos a una consola o terminal y usaremos el comando correspondiente, por ejemplo, para crear archivos podemos usar touch, y para crear directorios como no, usaremos el comando mkdir.

touch F{1..9} "Crea los ficheros desde el 1 hasta el 9"
Ejemplo: F1 F2 F3 F4 F5 F6 F7 F8 F9

touch F{1..100} "Crea los ficheros desde el 1 hasta el 100"
Ejemplo: F1 F2 F3 F4 F5 F6 F7 F8 F9...F100

touch F{a..z} "Crea los ficheros desde la a hasta la z"
Ejemplo: Fa Fb Fc Fe...Fz

mkdir D{1..9} "Crea los directorios desde el 1 hasta el 9"
Ejemplo: D1 D2 D3 D4 D5 D6 D7 D8 D9

mkdir D{1..100} "Crea los directorios desde el 1 hasta el 100"
Ejemplo: D1 D2 D3 D4 D5 D6 D7 D8 D9...D100

mkdir D{a..z} "Crea los directorios desde el a hasta la z"
Ejemplo: Da Db Dc De...Dz

Se puede utilizar varias llaves, todas las que se quieran:
touch F{1..9}{a..z}
touch F{1..9}{a..z}{1..5}

Si queréis usar un nombre de carpeta o archivo compuesto por espacios es suficiente con meterlo entre "".

Ejemplo:
touch "kaka de la vaca "{1..10}
 

El resultado sería:
kaka de la vaca 1   kaka de la vaca 3  kaka de la vaca 6  kaka de la vaca 9
kaka de la vaca 10  kaka de la vaca 4  kaka de la vaca 7
kaka de la vaca 2   kaka de la vaca 5  kaka de la vaca 8



A veces es necesario por cuestión de orden que los números sean mostrados como "01, 02, 03, 04" en lugar de "1, 2, 3, 4..."

Pues eso se soluciona tan fácil como agregar el cero delante.

scorpyo@pc-cito:~/Escritorio/pruebas$ touch "Fichero número  "{01..10}
scorpyo@pc-cito:~/Escritorio/pruebas$ ls
Fichero número  01  Fichero número  04  Fichero número  07  Fichero número  10
Fichero número  02  Fichero número  05  Fichero número  08
Fichero número  03  Fichero número  06  Fichero número  09


Un saludo y gracias de nuevo a anticongelante

Fuente: http://www.ubuntu-es.org/node/165890#comment-471384

sábado, 22 de octubre de 2011

Solución a que "acpi=off" cause problemas como apagar el pc o ver estado de la batería

Muchos tenemos que desactivar ACPI desde el grub o desde la BIOS para poder usar Ubuntu.

El problema biene despues por los daños colaterales que causa el desactivar ACPI.
-No muestra la batería.
-No muestra algunos sensores.
-Hay que apagar el pc de forma manual.

De todas esas, la que yo creo que da más palo es apagar el pc con el botón, supuestamente el pc no sufre, ya que el sistema para todos los procesos, para los discos y detiene todos los trabajos en memoria... (O eso debería)

Pero bueno, aquí una posible solución para, por lo menos, poder apagar de forma automática.

Funciona a partir de la versión 9.10

No lo he podido probar al 100% pero es un rayito de luz para quien quiera probar.

Hay que añadir el comando acpi=force al archivo /etc/default/grub.......

scorpyo@toshiba:~$ sudo nano /etc/default/grub
En las primeras líneas buscamos esta línea:
GRUB_CMDLINE_LINUX=""
Y lo que tenemos que hacer es añadir el comando "acpi=force" entre las comillas quedando así:

GRUB_CMDLINE_LINUX="acpi=force"

Ahora, presionamos Ctrl+o para guardarlo, confirmamos presionando "enter" y salimos del editor con Ctrl+x.

Ahora actualizamos el grub así:
scorpyo@toshiba:~$ sudo update-grub2


Reiniciamos el pc, aún no han hecho efectos los cambios, lo hará la primera vez que vuelva a encender.

Un saludo y espero que sirva.

Autor: PedroLuis
Fuente: http://www.ubuntu-es.org/node/120425

viernes, 21 de octubre de 2011

Encender un ordenador remotamente

Hola de nuevo.
En este tutorial lo que pretendo es mostrar como encender un pc desde otro pc, claro está, siempre que haya una conexión entre ellos (internet, lan local, etc).
Explicaré todos los pasos necesarios para que podáis conseguir hacer esto.

Lo primero es lo primero, información, ya que no todos sabéis de informática, es mejor que el tutorial comience..... así. XD

Un poco de información:
Cuando un pc se apaga, la fuente de alimentación o batería mantiene la corriente en la placa base a bajo nivel.

Normalmente las placas se valen de esto para mantener la fecha y hora del sistema aún cuando la pila de la placa está agotada, pero hay mas cosas que puede hacer la placa, como encender el pc mediante cualquier pulsación del teclado o mediante la activación de un determinado evento en una tarjeta PCI.

Casi todas la placas de hoy en día permiten el arranque mediante estas opciones añadidas a la BIOS (Pequeño chip que controla la placa base).

Comprobaciones:
A nosotros lo que nos interesa es hacer que el pc se encienda a travez de la tarjeta de red, así que lo primero que tenemos que hacer en el pc que queremos arrancar remotamente, es saber si soporta esta cualidad.
Encendemos el pc, y durante el arranque de este accedemos a la BIOS presionando la tecla 'suprimir' o 'DEL', aunque en muchas placas no sirven estos botones y hay que utilizar otros, estos suelen indicarse durante el arranque con frases como "Press F2  for BIOS Setup", en tal caso presionaríamos F2 y accederíamos a la BIOS.

Una vez dentro, tendríamos que buscar la sección POWER y activar la opción de "despertar por PCI" que en la BIOS puede aparecer como Power On by PCI Devices o el Power On by PCI Cards

Bien, si tenemos estas opciones significa que la placa permite encender remotamente, así que la habilitamos colocando su valor a ENABLE (Habilitado).

Ok, ahora vamos asta la opción exit, y salimos guardando los cambios "Exit and save configuration"

Configuración de tarjeta:
Ahora, ya tenemos activada la opción en nuestra BIOS, pero queda comprobar si nuestra tarjeta de red es capaz de quedarse  'despierta' cuando el ordenador se apaga y avisar a la placa para que se encienda el pc cuando alguien le da la orden.
Esta capacidad se conoce como WOL, que son las siglas de Wake On Lan (despertar/levantar por LAN) y vamos a ver si nuestra tarjeta lo soporta accediendo a nuestro maravilloso mundo que es la terminal de linux.
Lo dicho, encendemos nuestro sistema Linux del pc que queremos arrancar remotamente, y abrimos una terminal.

Lo primero que necesitamos es conocer si nuestra tarjeta soporta la opción WOL, así que instalaremos una pequeña aplicación que nos servirá tanto como para comprobar esto, como para activarlo.

scorpyo@toshiba:~$ sudo apt-get install ethtool

Con eso se instalará el programa ethtool.
Cuando termine la instalación comprobamos cual es nuestra tarjeta de red así:

scorpyo@toshiba:~$ ifconfig

Esto nos devolverá algo como:
eth0      Link encap:Ethernet  direcciónHW 60:4b:a6:50:74:ea  
          ACTIVO DIFUSIÓN MULTICAST  MTU:1500  Métrica:1
          Paquetes RX:65802 errores:0 perdidos:0 overruns:0 frame:0
          Paquetes TX:65893 errores:0 perdidos:0 overruns:0 carrier:0
          colisiones:0 long.colaTX:1000
          Bytes RX:10748466 (10.7 MB)  TX bytes:4209197 (4

Bien, lo que os he resaltado en azul, es importante.

eth0 Ese es el nombre asignado a la tarjeta de red, en vuestro caso puede ser eth0 o eth1...
60:4b:a6:50:74:ea Es la dirección MAC de la tarjeta de red, que es único.

Debéis apuntar la dirección MAC, ya que la usaremos para despertar la tarjeta desde otro ordenador.

Ahora que ya sabemos como se llama nuestra tarjeta (en mi caso eth0) pues comprobamos si la tarjeta soporta wol usando ethtool así:

scorpyo@toshiba:~$ sudo ethtool eth0
[sudo] password for scorpyo:
Settings for eth0:
    Supported ports: [ TP MII ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Speed: 10Mb/s
    Duplex: Half
    Port: MII
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: on
    Supports Wake-on: pumbg
    Wake-on: d
    Current message level: 0x00000033 (51)
    Link detected: no

De nuevo, os resalto la información importante en azul.
Si os aparece el parámetro Wake-on: d vamos por buen camino, aunque la d significa que está desactivado.

Vamos a activarlo de la siguiente manera:


scorpyo@toshiba:~$ sudo ethtool -s eth0 wol g

Y para comprobar que ahora está activado:

scorpyo@toshiba:~$ sudo ethtool eth0
 
[sudo] password for scorpyo:
Settings for eth0:
    Supported ports: [ TP MII ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Speed: 10Mb/s
    Duplex: Half
    Port: MII
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: on
    Supports Wake-on: pumbg
    Wake-on: g
    Current message level: 0x00000033 (51)
    Link detected: no

Como veis, ahora está activada con la opción "g" esto hace que la tarjeta despierte con un MagicPacket (paquete mágico).

El MagicPacket es una señal que se le manda a la dirección MAC que comienza con FF FF FF FF FF FF y sigue con 16 repeticiones de la dirección MAC que queremos despertar.

La opción wol puede activarse de muchas otras maneras, pero la que nos interesa a nosotros es esta. Para mas info sobre esto usar el "man ethtool"

Perfecto, ahora ya hemos hecho que la tarjeta sepa que ha de quedarse a la escucha siempre y cuando apaguemos el pc de forma adecuada, es decir, sin tirar del cable o sacar la batería, o sin apagar a lo bestia desde el botón.... jejeje.

Encendiendo el pc remotamente: 

Para hacer esto es fundamental que el ordenador que queremos encender, esté apagado... jjajajaja ¿claro no? 

Ahora en serio, para arrancar el pc solo necesitamos usar el comando wakeonlan y saber su dirección mac (que ya la apuntamos más arriba) 

Primero instalamos la aplicación, aunque casi seguro que ya la tenéis instalada...

scorpyo@toshiba:~$ sudo apt-get install wakeonlan

Lo segundo y último, es despertar el pc.

Si estamos en su misma red, bastará con:

scorpyo@toshiba:~$ sudo wakeonlan  60:4b:a6:50:74:ea

Y si estamos desde internet en otro lugar del mundo.. jejeje tenemos que hacerlo añadiendo antes de la mac, la dirección ip del router en el que está conectado el pc, o la dirección ip del pc si este se conecta a internet directamente sin router.

scorpyo@toshiba:~$ sudo wakeonlan 82.125.12.14 60:4b:a6:50:74:ea

Y eso os devolverá algo como:

Sending magic packet to 255.255.255.255:9 with 60:4b:a6:50:74:ea

Y el pc, debe de comenzar a arrancar el solito...

Por cierto, normalmente no debe de haber problema atravesando el router, pero si experimentáis problemas al despertar el pc como que no os obedece podéis configurar el router para que os mande los paquetes entrantes por el puerto 9 hacia la dirección de difusión que suele ser la 192.168.0.255

Espero que os haya servido.

martes, 27 de septiembre de 2011

Detector de presencia por bluetooth

Esto, más que nada es una vacilada.... pero bueno, tal vez le saquéis provecho.

La idea original es de Javier Perez y el script está algo modificado pero todo el mérito es suyo.
http://javierperez.eu/bloqueo-y-desbloqueo-de-pantalla-por-detector-de-presencia-en-ubuntu-con-bluetooth-aimtooth/
Se trata de bloquear la pantalla (o cualquier cosa que se nos ocurra) cuando nos alejamos del ordenador de manera automática, y volver a desbloquearla cuando nos acercamos sin tocar absolutamente nada.

Necesitamos que nuestro ordenador disponga de bluetooth y de un terminal movil también con bluetooth.

Para ello nos ayudamos de un script que lo que hace es crear continuamente un vínculo con nuestro terminal móvil y comprobar la calidad de la señal, si esta baja de un mínimo, significa que nos estamos alejando, con lo que la pantalla se bloquea, y si nos acercamos, la calidad sube y por tanto la pantalla se desbloquea.

El script es el siguiente:

------------ Copia el texto --------------
#!/bin/bash

export INTERFACE="6H:A8:84:4B:54:F6"

while true; do

hcitool cc ${INTERFACE}

sleep 1

Signal="`hcitool lq ${INTERFACE}`"

echo $Signal

if [ "${Signal##*: }" -lt 240 ]; then
    echo "Baja señal"
    sudo -u scorpyo gnome-screensaver-command --lock

else

    if [ "${Signal##*: }" -gt 240 ]; then
        echo "Conectado"
        sudo -u scorpyo gnome-screensaver-command --deactivate

    else
   
        echo "Desconectado"
        sudo -u scorpyo gnome-screensaver-command --lock
fi
fi

hcitool dc ${INTERFACE}
done
-----------------FIN DE TEXTO---------------

Copiad el texto a un archivo de texto.
Sustituir lo que está en negrita por vuestros datos, scorpyo es mi usuario, vosotros poned el vuestro.

El primer parámetro... el de los numeros y letras separados por ":"  es el identificador de vuestro terminal movil, si queréis saber cual es el vuestro abrid una terminal y teclear:

scorpyo@pc:~$ hcitool scan
Scanning ...
    6H:A8:84:4B:54:F6    Scorpyo
    H6:G5:D2:4S:B1:43    Maria

Como veis, yo puse el número que identifica a mi terminal.

Guardáis el archivo, le dais permisos de ejecución de una de estas dos formas:

-Botón derecho sobre el archivo, Propiedades, luego pincháis en la pestaña "permisos" y por último marcáis la casilla de "permitir ejecutar el archivo como un programa"

O también desde una terminal con el comando:

-scorpyo@pc:~$ sudo chmod +x /ruta/del/archivo

Para ejecutar el archivo debemos hacerlo con poderes de administrador.
Abrimos una terminal y ponemos:

scorpyo@pc:~$ sudo ./ruta/del/archivo

Bien, ahora solo tendréis que comprobar como os va si os alejáis del ordenador y os acercáis..... y modificar si es necesario los valores de calidad del enlace... por si son demasiado exigentes para vuestro movil o demasiado tolerante...

Podéis darle otras utilidades así que dadle vueltas al coco y si se os ocurre modificaciones comentadlas y compartidlas.


---------------------------------------------------

 He trabajado en una modificación del script que lo hace más elegante, mas facil de usar y menos trabajoso, ya que el original te puede bloquear la pantalla por un error tuyo o del bluetooth.

Mejoras:

-No es necesario cambiar nada en el script si se usa Gnome, ya que está preparado para añadir a las variables del programa los datos necesarios para no tener que hacer cambios en él script.

-Integración con el escritorio Gnome mediante Zenity.

-Se instalan paquetes necesarios para poder mandar mensajes al usuario en panatalla (pc)

-Hace un escaneo de los dispositivos y te presenta una lista, así es más fácil elegir el teléfono.

-Se notifica al usuario de los datos y acontecimientos mediantes mensajes con botones

-Se crea un perfil del teléfono para mejor seguimiento.

-Se avisa al usuario del móvil al que está vinculado el programa.

-Controla la presencia del móvil antes de empezar, si este no existe se aborta el arranque del programa.

-Se han introducido mejoras para evitar bloquear la pantalla por un "pico" de baja intensidad.

-No es necesario ejecutarlo desde una ventana de terminal.

-Relanzando el script se activa o desactiva el seguimiento del terminal móvil.

-Crea un acceso directo al escritorio si se desea.

El Script es el siguiente, está claro que no será el mejor, pero cumple con su cometido.
------------------------------------------------------
Bluedetecth-gnome-Scorpyo Megaupload
------------------------------------------------------
Si os sirve espero que comentéis... así sabré que no me puse a trabajar en el para nada.

Un saludo.

jueves, 8 de septiembre de 2011

Lanzar una aplicación al inicio en un determinado escritorio

A mucha gente, le gusta, por ejemplo lanzar determinada aplicación para que se inicie al arrancar el sistema y hacer login, hasta ahí perfecto.
Pero el problema es que la mayoría de las veces, ese programa no nos interesa que esté abierto en el escritorio principal de trabajo, si no que queremos que se lance hacia otro escritorio.....

Eso, ha fecha de hoy no he encontrado a nadie que lo haya conseguido directamente, si mediante el programa devilspie, que a mi parecer requiere bastantes conocimientos y para lo que queremos creo yo que es más sencillo esto que he inventado, algo rudimentario pero con un efecto muy chulo y elegante, a la vez que efectivo.

Esta entrada, he de admitir que me ha dado mucha guerra poder llevarla a cabo... tras decenas de pruebas y errores lo he conseguido tras una noche entera delante de la pantalla y sin dormir he creado un sript facil de usar, además, quedará un efecto muy muy elegante para lo que queremos hacer.

Bien, aquí hay una diferencia en el método.
Si usas compiz o si no lo usas, ya que el comando cambia.

Instalando aplicaciones necesarias
scorpyo@pc:~$ sudo apt-get install wmctrl

-Si usas compiz:

Debes instalar el centro de control de compiz para activar un par de efectos que son necesarios para el correcto funcionamiento.

scorpyo@pc:~$ sudo apt-get install compizconfig-settings-manager

Ahora abriremos dicha aplicación en Sistema > Preferencias > Administrador de opciones de compiz config

En el apartado "Escritorio" activamos "Cubo de escritorio" y "Girar cubo" lo configuramos si queremos para que esté a nuestro gusto, o lo dejamos como está por defecto.


Creando el script
Ahora, nos queda crear el scrip que hará todo el trabajo por nosotros que posteriormente haremos que se inicie en nuestra sesión.

Este script hace lo siguiente:

-Creará un bucle y no saldrá de este hasta conseguir su objetivo.

-Comprobará si compiz ya está activo, si no lo está, seguirá el bucle.

-En cuanto esté compiz activo, el script ejecutará los comandos necesarios para girar el cubo a la cara 2 (vosotros lo podéis cambiar) esperar un par de segundos mientras se posiciona y termina la transisión, lanza el programa que queremos y vuelve inmediatamente hacia el escritorio 1.

Ok.

Abriremos una terminal para trabajar.
Creamos una carpeta en nuestro directorio personal para guardar nuestro scrip

scorpyo@pc:~$ mkdir ~ /mis-aplicaciones

Creamos el script que girará el cubo y ejecutará el programa.

scorpyo@pc:~$ gedit ~/mis-aplicaciones/script-windows (vosotros poned el nombre que queráis, yo lanzaré una máquina de virtualbox con windows)

Ahora copiamos todo esto:

 -----------------Copia el texto------------------

#!/bin/bash

#    Este es un script que girará su escritorio y lanzará una o varias aplicaciones.
#    Copyright (C) <2011> <Miguel Ponce Torres>
#
#    Este programa es software libre: usted puede redistribuirlo y / o modificar
#    bajo los términos de la GNU General Public License publicada por
#    la Free Software Foundation, bien de la versión 3 de la Licencia, o
#    (A su elección) cualquier versión posterior.
#
#    Este programa se distribuye con la esperanza de que sea útil,
#    pero SIN NINGUNA GARANTÍA, incluso sin la garantía implícita de
#    COMERCIALIZACIÓN o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la
#    Licencia Pública General GNU para más detalles.
#
#    Debería haber recibido una copia de la Licencia Pública General GNU
#    junto con este programa. Si no, vea <http://www.gnu.org/licenses/>.
#
#    Si quiere contactar con <Miguel Ponce Torres> puede hacerlo en: miguelponcetorres@gmail.com
#
# Este script usa el comando wmctrl con las variantes siguientes:
# wmctr -o <valor>      Para compiz
# wmctrl -s <valor>     Para metacity
#
#
# Bucle a la espera de corroborar que copiz está en ejecución.
NOZOMBY=0
while n=0
do

    #Se comprueba si el gestor de ventanas está corriendo
    ps -A | grep compiz
 
    #Si está corriendo el valor de $? es 0
    if [ $? = "0" ]
    then

        # Espera un segundo y gira el cubo
        #hacia la derecha una vez
        sleep 1
        wmctrl -o 1366,0

        # Le damos 2 segundos antes de seguir para que se
        # posisione el cubo
        sleep 2

        # Comando o comandos separados por ; que ejegutará el script
        vboxmanage startvm Windows
  
        # Volvemos al escritorio 1
        wmctrl -o 0,0
        break
    else

        sleep 1
        let NOZOMBY=NOZOMBY+1
        echo "Aún no está listo el gestor de ventanas.... $NOZOMBY intentos"
        if [ $NOZOMBY = "10" ]
        then
            exit

        fi
    fi

done

---------------------Fin-------------------
Lo que está en verde, es el gestor de ventanas que estés usando, en mi caso uso compiz así que es el que espera a que se ejecute, si no lo hace en cierto tiempo, el escrit se terminaría para no quedar zombi.

Lo que está en rojo es el comando o lista de comandos separados por retornos de carro o ";" que se ejecutan con el script.

Lo que está en morado es el ancho de la resolución de vuestro escritorio si usas compiz, si usas metacity es el número de escritorio si no estáis seguros de la posisión en la que está el escritorio al que queréis mandar la aplicación, os movéis a dicho escritorio, y abrid una terminal para poner:

scorpyo@pc:~$ wmctrl -d
0  * DG: 5464x768  VP: 1366,0  WA: 0,0 1366x731  Área de trabajo 1

El valor VP es el que te interesa en mi caso es:
0,0 en el escritorio 0
1366,0 en el escritorio 1
2732,0 en el escritorio 2
4098,0 en el escritorio 3

Nota, fijaros que el valor de la resolución simplemente se va sumando...
Siempre con el decimal.

Nota: El área de trabajo no cambia, ya que compiz trabaja de otra forma pero no importa.

Para hacer una prueba en directo ahora mismo si tienes compiz, en la terminal pon:

scorpyo@pc:~$ wmctrl -o resolución-escritorio-2;sleep 2;wmctrl -o 0,0

Eso hará que el escritorio gire al lado que hayas puesto y tras dos segundos volverá al escritorio 1

Bien, si tuviésemos metacity en lugar de compiz, el valor morado es simplemente el número del escritorio al que queremos movernos pero el comando cambia:

scorpyo@pc:~$ wmctrl -s 1
o
scorpyo@pc:~$ wmctrl -s 2
o

scorpyo@pc:~$ wmctrl -s 3

Etc....

Para hacer una prueba en directo ahora mismo si tienes metacity, en la terminal pon:

scorpyo@pc:~$ wmctrl -s número-de-escritorio;sleep 2;wmctrl -s 0

El número de escritorios empieza por 0
0 ----> Escritorio1
1 ----> Escritorio2
2 ----> Escritorio3
3 ----> Escritorio4

Cuando tengamos el script terminado, lo gardamos y cerramos gedit.
Ahora le damos permisos de ejecución así:


scorpyo@pc:~$ chmod +x ~/mis-aplicaciones/script-windows (cambia script-windows por el nombre de tu script)
 
Conseguir que se inicie en tu sesión
En la terminal nos moveremos a la carpeta /home/tu-usuario/.config/autostart y crearemos un lanzador para nuestra aplicación

scorpyo@pc:~$ gedit ~/.config/autostart/script-windows.desktop 

Pegamos lo siguiente:

[Desktop Entry]
Type=Application
Name=Nombre de la aplicaicón
Comment=Arranca máquina virtual y la manda al escritorio 2 (descriptción)
Icon=
Exec=/home/scorpyo/mis-aplicaciones/script-windows



Tu solo haz de cambiar lo que está en gris claro para que cuadre con tus datos y con tu script.

Guardamos y reiniciamos para ver como funciona.

Así queda mi ejemplo


Espero que os haya servido.


domingo, 4 de septiembre de 2011

Manuales de comandos y programas en español con la orden "man"

Para muchos que usan por primera vez un comando o para aquellos que quieren ver diferentes usos de este, es muy común acudir a la orden man

Escribir "man" delante del comando hace que se muestre en pantalla el manual que acompaña a dicho comando o programa... pero normalmente, el manual viene en inglés. Muchos nos defendemos bastante bien, pero a otros les cuesta mucho.

La solución es descargar los manuales en español y así man, buscará los manuales en español y no en inglés.

Así que abrimos una terminal y ponemos:
Actualizamos el sistema...

scorpyo@pc:~$ sudo apt-get update&& sudo apt-get upgrade -y

... y ahora instalamos los paquetes necesarios...

scorpyo@pc:~$ sudo apt-get install manpages-es manpages-es-extra

Listo, ya tenéis los manuales en español siempre y cuando haya traducciones al español del comando, si no es así, man acudirá al manual en inglés.

Un saludo a todos.

jueves, 1 de septiembre de 2011

Widgets en su pantalla con screenlets que no se minimizen

Una de las cosas que la gente echa en falta sobre el escritorio de Ubuntu, son los Widgets que muestran cosas tales como la hora, el tiempo, el consumo de CPU o la batería...... etc.

Os voy  a explicar como instalar un programa que tiene multitud de widget y configurar algunas de sus opciones.

Lo primero es lo primero, vamos a descargar el programa en sí.

sudo apt-get install screenlets

Ahora, ejecutamos el programa que se encuentra en: Aplicaciones > Accesorios > Screenlets

Una vez abierto, tenemos que elegir los widget que queramos añadir al escritorio, uno a uno, bien haciendo doble click o eligiéndolos y activando la opción "Iniciar/Parar" (si queremos varios gadgets iguales, tendremos que hacer doble click para uno nuevo tantas veces como widgets repetidos queramos).

Aseguraos de que tenéis activada la opción de "Auto-arrancar al inicio" ya que si nó lo hacéis tendréis que activar el programa tras cada reinicio para poder ver los widgets.


Una vez que tengamos todos los widgets colocados, tenemos varias opciones sobre cada uno.....



Solo comentaré las más útiles...

Lo primero que queremos es controlar el widget esté delante o atrás de las ventanas que hay en pantalla, esto se consigue pinchando con el botón derecho, luego elegimos "Ventana" y en el menú que se despliega damos a "Mantener delante" o "Mantener detrás" ya según elijamos.

Otra cosa importante es si queremos que el widget esté o no presente en los demás escritorios.... para eso tenemos que pinchar con el botón derecho, luego elegimos "Ventana" y por último activamos la casilla "Adherido"

Bien, ahora todo el mundo dirá.....

<<Si si, muy bonito todo... pero ¿Por qué, o Linux todo poderoso minimizas mis widgets si le doy al botón "Mostrar escritorio"?>>

Bueno, les doy una solución rápida...

Aprieten ALT+F2 y os saldrá una ventana para ejecutar, pongan esto:

gconftool-2 --type bool --set /apps/compiz/general/allscreens/options/hide_skip_taskbar_windows false
 
Listo, espero que os haya servido.

Un saludo.

jueves, 4 de agosto de 2011

Aumenta la velocidad del arranque en ubuntu

Veamos, en Ubuntu se biene usando desde hace tiempo una pequeña aplicación llamada ureadahead que hace un inventario de las aplicaciones que se cargan durante el arranque, y lo que hace concretamente es mediante la lectura de todos los archivos necesarios durante el arranque crea un paquete con todos los archivos y esto da un acceso más rápido, entonces así durante el arranque leerá estos archivos de antemano, minimizando los tiempos de acceso para los discos duros.

El caso, es que una vez que ureadahead a creado ese paquete, ya no se iniciará más, puesto que ya no tienes que volver a crear ese paquete de "aceleración".

Pero... ¿y si instalamos cosas importantes, o actualizaciones que crean grandes cambios en el inicio?

Pues tendríamos que volver a crear el paquete para acelerar el proceso.

¿Por que no se hace eso solo y automáticamente de forma periódica?
Pues porque el proceso de arranque con ureadahead andando ralentiza el arranque de manera considerable y claro, tendríamos un arranque lento en lugar de un arranque rápido.... jajaja que cosas ¿no?

Pues bueno, una vez explicado esto, os mostraré una manera para crear un nuevo paquete de arranque.

Cuando encendáis el PC y salga el GRUB, (si no sale, mantener pulsado la tecla shift o precionar Esc) dirigiros al arranque que soléis utilizar, presionamos la tecla "E" y saldrán los datos de arranque para esa linea, tenemos que ir hasta la linea que comienza con linux o kernel y colocar al final de la linea la palabra "profile" sin las comillas, muy importante es que sepáis que la línea, al ser larga no termina donde parece, si no que casi con total seguridad sigue más abajo así que tenedlo en cuenta, no os preocupéis por los cambios, no son permanentes y solo serán para este arranque.

Cuando terminéis de editar, apretamos Ctrl+x y con eso arrancamos el sistema con esa configuración y ya estará ejecutandose ureadahead y estará creando un paquete nuevo.

Si tenéis que poner la contraseña para iniciar sesión, hacerlo rápido, ya que ureadahead dejará de funcionar a los 45 segundos de lanzarse.

Notareis que el arranque es muy lento, pero es por lo que comenté más arriba.

Cuando todo termine, (esperar unos minutos por seguridad) reiniciáis para probar el nuevo arranque.

Ya me contaréis.

Nota: hay quien nota mucha mejoría y hay quien no nota nada, eso es según lo desfragmentado que esté el disco duro o cambiado que esté vuestro arranque.

Un saludo a todos.

martes, 26 de julio de 2011

Mi script para preparar mi ubuntu 10.10 y 10.04

Pues bien, como me cansé de repetir el proceso en varios ordenadores, creé un script que me prepara cualquier ubuntu 10.04 y 10.10 en cuestión de un click y esperar, esperar y esperar, tened en cuenta de que lo hace todo de golpe.

Copia esto en un archivo de texto:
------------------Código----------------
#!/bin/bash

echo "Primero se actualizará el sistema"
sleep 2
sudo apt-get update && sudo apt-get upgrade -y

echo "Se instalaran los programas mas comunes y más usados"
sleep 2
sudo apt-get install aptoncd gparted uck isomaster testdisk gfxboot-dev deborphan numlockx gnome-alsamixer sbackup firestarter xchat nmap emesene vlc ettercap tcpxtract dsniff macchanger virtualbox-ose virtualbox-guest-additions k3b kde-l10n-es gimp aircrack-ng ubuntu-restricted-extras winff avidemux audacity cheese openoffice.org openoffice.org-help-es rar p7zip-full unace unzip file-roller wine compizconfig-settings-manager compiz-fusion-plugins-extra fusion-icon emerald gtk-recordmydesktop

echo "Ahora se instalará cinelerra"
sleep 2
sudo add-apt-repository ppa:cinelerra-ppa/ppa
sudo apt-get update
sudo apt-get install cinelerra

echo "Ahora se acelerará la salida del plymouth y se cambiará por la de solar"

echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash
sudo update-initramfs -u
sudo update-grub

sudo apt-get install plymouth-theme-solar

#Para poner la prioridad a 100 y la original a 10
sudo update-alternatives --install /lib/plymouth/themes/default.plymouth default.plymouth /lib/plymouth/themes/solar/solar.plymouth 100
sudo update-alternatives --install /lib/plymouth/themes/default.plymouth default.plymouth /lib/plymouth/themes/ubuntu-logo/ubuntu-logo.plymouth 10

#Para elegirlo:
sudo update-alternatives --config default.plymouth
sudo update-initramfs -u

#Ahora se quita el sobre del correo
sudo apt-get purge indicator-messages

#Aquí se activa la reprodución de DVD
sudo apt-get install libdvdread4
sudo /usr/share/doc/libdvdread4/install-css.sh

echo "¡Listo!"

# Por Scorpyo82 miembro de aprendicestux y ubuntu-es

-----------------fin de codigo-----------------

Guardáis el archivo en el escritorio con el nombre de "instalar".
Abrimos una terminal y:
scorpyo@pc:~$ cd ~/Escritorio
scorpyo@pc:~$ ./instalar
Ahora a esperar.

Esto es un ejemplo, vosotros podeis modificar el archivo para vuestras necesidades.

Un saludo.

Crea tu propia distro con UCK y más aún

UCK es un programa que coge una imagen .iso que tu digas y que sea de Ubuntu, y te deja editarla.

Para ello el programa descomprime en la carpeta tmp de tu carpeta personal (/home/scorpyo/tmp) toda la imagen iso y luego la enjaula mediante chroot para que puedas usar una terminal como si estuvieses metido dentro del Ubuntu de la imagen .iso.

Para instalarlo:

scorpyo@pc:~$ sudo apt-get install uck

Bien, pues abrimos el programa (está en inglés), elige el idioma del instalador, luego los idiomas que incluirá la distro (cuanto menos idiomas, menos ocupará), te saldrá otra pregunta sobre si quieres "customizar el disco" pues claro, le dices que sí, y la última pregunta es si dejar o quitar la posibilidad de instalar ubuntu en windows mediante wubi.
Cuando estés en el apartado en el que te da a elegir si abrir synaptic o otras cosas estamos preparados......

Vale, ahora haremos un truquito que te ahorrará un montón de tiempo (siempre y cuando estés remasterizando una distro exacta a la que usas actualmente) y más aún si tienes una conexión a internet lenta.
Abre una terminal de tu ubuntu y escribe:
 sudo cp -r /var/cache/apt/archives/* ~/tmp/remarter-apt-cache/archives
Con eso hemos copiado toda la caché de archivos que tu descargaste en tu ubuntu, ya sabes, actualizaciones, programas, etc, ahora sí, puedes continuar, elige abrir synaptics.

En este punto el symaptic (del ubuntu que estás remasterizando) te buscará actualizaciones y toda la pesca, pero no los descargará puesto que ya los tienes copiados ;-). Antes de actualizarlo, abre la opción de configuarión y luego dale a repositorios.
En la primera pestaña de la ventana que te sale activa las 4 primeras casillas.
Ahora acepta, dale a reload y actualiza el sistema.
Bien, ahora llega el momento de cerrar Synaptics se te volverá a aparecer la ventana que te da a elegir de nuevo entre synaptics, consola o empaquetar tu ubuntu. Pues dale a abrir una consola.

Y ahora llega el momento de instalar tooooodo lo que tienes en el otro, y recuerda que te ahorras las descargas de estos porque hemos copiado la caché de tu ubuntu, (a no ser que isntales otras cosas que no tengas en el original)
Te recuerdo que tienes que activar el plymouth que tienes actualmente, tambien debes de activar el soporte para dvd y bajar codecs.

Lo mejor es que te hagas un script para eso y de un paso lo haces todo.
Bueno, cuando hayas acabado cierra la terminal pero no le des a empaquetar, ahora vamos a copiar la configuración de tu ubuntu para que las futuras instalaciones con el CD que estás a punto de crear, siempre tenga el aspecto actual. (recuerda tener el fondo de pantalla en tu carpeta personal, para que este siempre esté presente en futuras instalaciones)
Antes de hacer lo siguiente, borra los archivos de la papelera si tienes y la caché del navegador y sus claves, ya que todo esto se copiará en el CD y si se lo pasas a un colega pues...... imagina.
Ahora abre una terminal en tu ubuntu y escribe lo siguiente:
gksu nautilus ~
Con eso se abrirá una ventana de nautilus como root y abrirá directamente tu carpeta personal actual, aprieta Ctrl+h para ver los archivos ocultos (los que empiezan con un ".")
Ahora ve selecionando todas las carpeta que quieras copiar y todas las carpetas que empiezan con "."
Para hacerlo mantén presionado Ctrl y ve haciendo click en cada cosa que quieras selecionar.
Cuando lo tengas todo le das a copiar, ahora abre la carpeta /tmp/remaster-root/etc/skel/ cuando llegues, copia todo ahí.
Cierra nautilus y en la terminal escribe:
sudo rm -r ~/tmp/remaster-root/etc/skel/gnome2/keyrings
Eso borra las claves para que te ponga las nuevas.
Ahora sí, jejeje ya puedes cerrar la terminal y darle a Building o como se escriba.
Suerte y cualquier cosa ya sabéis, dadle al google y si no encuentras pásate por aquí.

Un saludo.

domingo, 24 de julio de 2011

Encontrar las mejores DNS para tu conexión con namebench

Hola de nuevo, una de las razones por la que escribo este post es porque a mucha gente le va muy mal internet, y muchas veces se vuelven locos buscando una solución mas enrevesada cuando en realidad es tan solo culpa de las DNS.

¿Que es esto?
DNS = Domain Name System
Pues para que todos nos entendamos cuando llamamos a google (www.google.es) no estamos llamando más que a una dirección IP.
Pero hay de nosotros si tuviésemos que recordar la ip de google actual, la 74.125.39.105.
Si queréis podeis probar, jejeje tan solo meter esos numeros en el navegador y veréis como se carga la página de google.

Pues bien, para que no tengamos que recordar esos números para cada dirección existen los DNS que no son otra cosa que unos servidores a los que solicitamos las direcciones WEB, es decir, funcionan como un filtro para localizar las las IP's del dominio al que estamos llamando y nos la reporta.

Si queréis  datos más técnicos tenéis la wikipedia: http://es.wikipedia.org/wiki/Domain_Name_System

Pues bién, el problema es que según a que DNS estemos pidiendo la resolución de las web tardaremos más o menos.
Esto se debe a muchos factores, algunos son:

-Lejanía respecto a nuestro pc (si, la lejanía importa, cuanto más lejos, mas puntos tiene que atravesar nuestra petición y por lo tanto, más tardará en llegarnos una respuesta)

-Saturación del servidor DNS.

Pues bien, el problema es, ¿como cambio mis dns? y, ¿Que DNS elijo?

Voy a explicaros como elejir las mejores DNS para vuestra conexión y como cambiar las DNS en ubuntu.

Primero instalamos el programa que vamos a usar, se llama namebench así que...

scorpyo@pc:~$ sudo apt-get install namebench

Una vez instalado nos encontramos con un problema que nadie comenta, y es que sí, que el programa buscara DNS y tal, pero las que busca son extranjeras, no nos valen a los españoles o argentinos.

Solución:
Vamos a añadir una lista de DNS de España (tambien dejo una lista para los argentinos, que sé que me siguen)

Lista para España:

----------------------Copia el texto--------------------------
# DNS de España
[regional]
217.116.0.176=ns1.acens.net
217.116.0.177=ns2.acens.net
212.36.64.16=dns1.adam.es
212.36.64.17=dns2.adam.es
195.5.64.2=ns1.landsraad.net
195.5.64.6=ns2.landsraad.net
217.76.128.131=dns7.servidoresdns.net
217.76.128.4=atlante.servidoresdns.net
217.76.129.131=dns8.servidoresdns.net
217.76.129.4=prometeo.servidoresdns.net
62.81.0.1=mayor.red.retevision.es
62.81.0.35=35-0-81-62.libre.auna.net
62.81.0.36=36-0-81-62.libre.auna.net
62.81.16.131=131-16-81-62.libre.auna.net
62.81.16.132=132-16-81-62.libre.auna.net
62.81.31.250=dns.iddeo.es
212.145.4.97=ns1.comunitel.net
212.145.4.98=ns2.comunitel.net
193.43.232.4=dns1.conexionfutura.com
213.139.0.51=ns0.es.easynet.net
213.139.0.52=ns1.es.easynet.net
212.55.8.132=dns.euskaltel.es
212.55.8.133=dns2.euskaltel.es
217.11.108.234=dns.bcn.iberbanda.es
217.11.96.234=dns.mad.iberbanda.es
193.127.102.104=ns2.presenzia.net
193.127.102.45=ns1.presenzia.net
213.172.33.34=ns1.neo.es
213.172.33.35=ns2.neo.es
62.14.2.1=dns1.inversas.jazztel.es
62.14.4.64=dnscache1.jazzvisp.com
62.14.4.65=dnscache2.jazzvisp.com
62.14.63.145=[Unknown]
62.42.230.135=dns01.ono.com
62.42.230.136=newsf01.ono.com
62.42.230.24=resolv.ono.com
62.42.63.51=dns03.ono.com
62.42.63.52=[Unknown]
213.195.64.129=dns1.ibercom.com
213.195.79.129=dns2.ibercom.com
212.21.224.5=sn1.retena.es
212.21.224.6=sn2.retena.es
212.21.224.3=sn1.reterioja.es
212.21.224.4=sn2.reterioja.es
212.51.33.106=ns-cor.net.mundo-r.com
212.51.33.73=ns.mundo-r.com
212.4.96.21=ns2.grupalia.com
212.4.96.22=ns1.grupalia.com
130.244.127.161=dns1.swip.net
130.244.127.169=dns2.swip.net
212.89.0.31=dns.telecable.es
194.179.1.100=minerva.ttd.net
194.179.1.101=artemis.ttd.net
194.224.52.36=ns1.telefonica-data.com
194.224.52.37=ns2.telefonica-data.com
194.224.52.4=esifw1.tsai.es
194.224.52.6=esifw2.tsai.es
213.0.184.68=minerva.ttd.net
213.0.184.69=artemis.ttd.net
80.58.0.33=33.Red-80-58-0.pooles.rima-tde.net
80.58.0.97=97.Red-80-58-0.pooles.rima-tde.net
80.58.32.33=33.Red-80-58-32.pooles.rima-tde.net
80.58.32.97=97.Red-80-58-32.pooles.rima-tde.net
195.235.113.3=dns.terra.es
195.235.96.90=tpdns2.terra.es
213.4.132.1=dns1.terra.es
213.4.141.1=dns2.terra.es
212.166.64.1=dns1.tiscali.es
212.166.64.2=dns2.tiscali.es
62.37.225.56=dns.comtenidos.com
62.37.225.57=dns2.comtenidos.com
62.37.225.58=pdns03pub.uni2.es
62.37.228.20=m2cachedns.uni2.es
62.37.228.22=m2cachedns2.uni2.es
62.37.228.22=m2cachedns2.uni2.es
62.37.236.200=dns2.wanadoo.es
62.37.237.140=dns1.wanadoo.es
62.151.20.6=ns2.bs-ya.com
62.151.20.7=ns.bs-ya.com
62.151.2.65=dns.yaonline.es
62.151.2.8=dns.ya.com
62.151.8.100=dns2.ya.com
-----------Fin------------

Lista para Argentina (los que he encontrado):

----------------------Copia el texto--------------------------
# DNS para Argentina[regional] 200.45.191.35=ARNET
200.45.191.40=ARNET
200.45.0.115=ARNET
200.45.0.116=ARNET
200.42.0.108=Ciudad_INTERNET
200.42.0.109=Ciudad_INTERNET
200.49.156.3=FIBERTEL
200.49.159.69=FIBERTEL
200.49.156.8=FIBERTEL
200.49.156.7=FIBERTEL
200.51.212.7=SPEEDY
200.51.211.7=SPEEDY
200.69.193.1=IPLAN
200.69.193.2=IPLAN

-----------Fin------------

Ahora hay que añadir estos DNS en el archivo namebench.cfg que se encuentra en /etc/namebench/namebenc.cfg

En la terminal escribimos:
scorpyo@pc:~$ sudo gedit /etc/namebench/namebench.cfg


Se nos abrirá el archivo pertinente y lo que tenemos que hacer es añadir justo después de que termine la primer lista de DNS la nuestra (podemos borrar la antigua, yo la borré pero guardé una copia)

Queda así para el caso de España:
---------------------------- texto no completo -----------------------------
# How many servers should we include in our benchmark test
num_servers=11

# Always include at least one of each anycast service in the benchmarks.
[global]
8.8.8.8=Google Public DNS
8.8.4.4=Google Public DNS-2
208.67.220.220=OpenDNS
208.67.222.222=OpenDNS-2
156.154.70.1=UltraDNS
156.154.71.1=UltraDNS-2
216.146.35.35=DynGuide
216.146.36.36=DynGuide-2
2001_470_20__2=Hurricane Electric IPv6

# DNS de España
217.116.0.176=ns1.acens.net
217.116.0.177=ns2.acens.net
212.36.64.16=dns1.adam.es
212.36.64.17=dns2.adam.es
195.5.64.2=ns1.landsraad.net
195.5.64.6=ns2.landsraad.net
217.76.128.131=dns7.servidoresdns.net
217.76.128.4=atlante.servidoresdns.net
217.76.129.131=dns8.servidoresdns.net
217.76.129.4=prometeo.servidoresdns.net
62.81.0.1=mayor.red.retevision.es
62.81.0.35=35-0-81-62.libre.auna.net
62.81.0.36=36-0-81-62.libre.auna.net
62.81.16.131=131-16-81-62.libre.auna.net
62.81.16.132=132-16-81-62.libre.auna.net
62.81.31.250=dns.iddeo.es
212.145.4.97=ns1.comunitel.net
212.145.4.98=ns2.comunitel.net
193.43.232.4=dns1.conexionfutura.com
213.139.0.51=ns0.es.easynet.net
213.139.0.52=ns1.es.easynet.net
212.55.8.132=dns.euskaltel.es
212.55.8.133=dns2.euskaltel.es
217.11.108.234=dns.bcn.iberbanda.es
217.11.96.234=dns.mad.iberbanda.es
193.127.102.104=ns2.presenzia.net
193.127.102.45=ns1.presenzia.net
213.172.33.34=ns1.neo.es
213.172.33.35=ns2.neo.es
62.14.2.1=dns1.inversas.jazztel.es
62.14.4.64=dnscache1.jazzvisp.com
62.14.4.65=dnscache2.jazzvisp.com
62.14.63.145=[Unknown]
62.42.230.135=dns01.ono.com
62.42.230.136=newsf01.ono.com
62.42.230.24=resolv.ono.com
62.42.63.51=dns03.ono.com
62.42.63.52=[Unknown]
213.195.64.129=dns1.ibercom.com
213.195.79.129=dns2.ibercom.com
212.21.224.5=sn1.retena.es
212.21.224.6=sn2.retena.es
212.21.224.3=sn1.reterioja.es
212.21.224.4=sn2.reterioja.es
212.51.33.106=ns-cor.net.mundo-r.com
212.51.33.73=ns.mundo-r.com
212.4.96.21=ns2.grupalia.com
212.4.96.22=ns1.grupalia.com
130.244.127.161=dns1.swip.net
130.244.127.169=dns2.swip.net
212.89.0.31=dns.telecable.es
194.179.1.100=minerva.ttd.net
194.179.1.101=artemis.ttd.net
194.224.52.36=ns1.telefonica-data.com
194.224.52.37=ns2.telefonica-data.com
194.224.52.4=esifw1.tsai.es
194.224.52.6=esifw2.tsai.es
213.0.184.68=minerva.ttd.net
213.0.184.69=artemis.ttd.net
80.58.0.33=33.Red-80-58-0.pooles.rima-tde.net
80.58.0.97=97.Red-80-58-0.pooles.rima-tde.net
80.58.32.33=33.Red-80-58-32.pooles.rima-tde.net
80.58.32.97=97.Red-80-58-32.pooles.rima-tde.net
195.235.113.3=dns.terra.es
195.235.96.90=tpdns2.terra.es
213.4.132.1=dns1.terra.es
213.4.141.1=dns2.terra.es
212.166.64.1=dns1.tiscali.es
212.166.64.2=dns2.tiscali.es
62.37.225.56=dns.comtenidos.com
62.37.225.57=dns2.comtenidos.com
62.37.225.58=pdns03pub.uni2.es
62.37.228.20=m2cachedns.uni2.es
62.37.228.22=m2cachedns2.uni2.es
62.37.228.22=m2cachedns2.uni2.es
62.37.236.200=dns2.wanadoo.es
62.37.237.140=dns1.wanadoo.es
62.151.20.6=ns2.bs-ya.com
62.151.20.7=ns.bs-ya.com
62.151.2.65=dns.yaonline.es
62.151.2.8=dns.ya.com
62.151.8.100=dns2.ya.com
---------------- el texto continua .......------------

Guardamos el archivo y listo.


Ahora sí, escribimos en una terminal:

scorpyo@pc:~$ namebench

Ahora se abrirá una ventana:


Nos aseguramos de que está pinchada las dos primeras opciónes.

Ahora tan solo dadle a "Start Benchmark"
Esto tardará un buen rato, dependiendo de la cantidad de DNS que hayamos añadido.
En la ventana de la terminal veréis el proceso...



Si os saliese un error de que el router redirige los datos y demás tendréis que revisar la configuración del router, (Yo pasé de complicarme y me conecté directo sin pasar por el router, activando el cortafuegos).

Cuando todo termine se os abrirá una ventana del navegador con las estadísticas, y os saldrá el mejor DNS encontrado y la mejora con respecto al que usas actualmente:




Ahora solo queda añadir esos valores a nuestra conexión.
Podemos hacerlo al router, para que este nos lo añada a todos los equipos automáticamente.
Pero ahora mismo explicaré como hacerlo en nuestro Ubuntu, haciendo que ignore las direcciones DNS que nos reporta el router y usando las nuestras propias.
En mi resultado, el programa me aconseja estos DNS:

Primary: 80.58.0.33
Secundary: 194.179.1.100
Tertiary: 217.11.96.234

Para añadirlos pinchamos con el botón derecho sobre el icono de conexión que tenemos en el panel superior (yo lo tengo en el inferior) elegimos "Editar las conexiones" y seleccionamos nuestra conexión, en mi caso selecciono la pestaña inalámbrica y selecciono mi conexión, le doy a editar y nos vamos a la pestaña "Ajustes de IPv4" en método elegimos "Solo direcciones automáticas (DHCP)"
Y ahora, en la parte inferior añadimos los servidore DNS en el orden en el que nos mostró el programa y separados por ","
Servidores DNS: 80.58.0.33,194.179.1.100,217.11.96.234

Aplicamos y listo.
Ahora solo tenemos que desconectarnos y volvernos a conectar y de esta manera estaremos usando los DNS nuevos.

Y ahora os dejo un vídeo con el proceso, el audio no es muy bueno, pero espero que lo entendais:

Pincha en el vídeo para ir a youtube y verlo en grande





Un saludo.