Conectar dos PCs que usan GNU/Linux directamente mediante conexión directa por cable será el objetivo de este post.
¿Qué necesitamos?

Un cable RJ45 cruzado y dos ordenadores con tarjetas de red.
Es importante que el RJ45 sea cruzado (es casi igual que un RJ45 recto sólo que con un par de cables cruzados), aunque hoy en día hay tarjetas de red que hacen este “cruzamiento” por hardware, pero si no estás seguro, hazte con un RJ45 cruzado, no son más que 4 ó 5 euros dependiendo de la longitud del cable.
Configuración
Una vez conectado el cable a las dos tarjetas de red de ambos PCs, debemos configurar la red en Linux. Esto lo podemos hacer de forma gráfica usando herramientas propias de cada distribución o a mano, con la consola, en modo texto. Aquí lo explicaré de esta segunda manera para que pueda ser usado en cualquier sistema Linux que tengas instalado, con independencia de la distribución que uses.
Debemos saber antes cuál es nuestra interfaz de red. Es del estilo eth0, eth1… Si sólo tenemos una tarjeta red, será eth0. Por si acaso puedes escribir en un terminal ~$ dmesg | grep eth , te aparecerá algo como:
eth0: RealTek RTL8139 at 0xd08c0000, 00:02:44:67:8a:4f, IRQ 5
eth0: Identified 8139 chip type ‘RTL-8139C’
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
eth0: no IPv6 routers present
eth0: link down
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
Para este caso, la tarjeta de red es eth0.
Ahora, siendo root, editamos el fichero /etc/network/interfaces, con este texto en lugar del que haya en la parte que corresponde a eth0:
auto eth0
iface eth0 inet static
address 192.168.0.10
netmask 255.255.255.0
En address ponemos la IP que tendrá el equipo. Se sigue la norma 192.168.x.x para hacer referencia a que se trata de una red local. Luego se puede poner lo que se quiera, aquí he optado por que acabase en .0.10, pero vale .10.30, .255.255, etc.
En el otro PC también deberemos editar ese fichero pero en address tendremos que cambiar el último octeto, es decir, tendremos que poner algo distinto a 10 (para nuestro ejemplo), es decir, podríamos poner 192.168.0.11. El resto lo dejaremos igual para que estén en la misma red.
Reiniciamos la red. Como superusuario: # /etc/init.d/networking restart , en los dos ordenadores.
Ahora veamos si se puede establecer conexión entre ellos. Desde el segundo PC (por ejemplo) hacemos ping 192.168.0.10, es decir, la IP del primer PC. Nos debe responder algo como:
PING 192.168.0.10 (192.168.0.10) 56(84) bytes of data.
64 bytes from 192.168.0.10: icmp_seq=1 ttl=64 time=0.108 ms
64 bytes from 192.168.0.10: icmp_seq=2 ttl=64 time=0.070 ms
64 bytes from 192.168.0.10: icmp_seq=3 ttl=64 time=0.084 ms
64 bytes from 192.168.0.10: icmp_seq=4 ttl=64 time=0.078 ms
Pulsamos Ctrl + C para detener la ejecución. Ya tenemos los dos PCs conectados :-)
Utilidades
Están claras las posibilidades de conectar dos PCs directamente: jugar en red (vale, sólo es una red de dos ordenadores pero así no tendremos que compartir un mismo ordenador para jugar dos jugadores), transferencia de archivos entre los mismos… en fin, lo que se te ocurra. Además, puedes hacer que uno se conecte a Internet y compartir la conexión con el otro, pero eso ya es otro tema :-P
Los que hayáis actualizado hoy vuestra Ubuntu en su versión Dapper Drake (6.06), os habréis fijado que había disponible una actualización para el xorg (el servidor gráfico), pues resulta que me entero por mi tío que al reiniciar el PC le aparecían unas cuantas letras en la consola y no podía accedera al escritorio. Total, que la conclusión fue que se le había desconfigurado el servidor gráfico (xserver). Ahora mismo lo acabo de solucionar y os pongo aquí lo que hay que hacer por si también habéis tenido este problema (gracias a Ubuntu forums:
Nos descargarmos el núcleo del servidor gráfico:
tempwin@ubuntu:~/ wget -c http://people.ubuntu.com/~rodarvus/packages/dapper/xorg-server/xserver-xorg-core_1.0.2-0ubuntu10.4_i386.deb
Y el paquete con los archivos para desarrolladores:
tempwin@ubuntu:~/ wget -c http://people.ubuntu.com/~rodarvus/packages/dapper/xorg-server/xserver-xorg-dev_1.0.2-0ubuntu10.4_i386.deb
Los instalamos:
tempwin@ubuntu:~/ sudo dpkg -i xserver-xorg-core*.deb
Y ahora a reiniciar el PC.
NOTA: Quienes uséis los drivers propietarios de Nvidia o ATi, tendréis que reinstalarlos o no funcionarán.
Actualización [ 22/08/2006 ]: Los de Ubuntu se apuraron a sacar un nuevo paquete corregido, así que si todavía tienes el problema, no te hace falta otra cosa que hacer actualizar: $ sudo apt-get update && apt-get upgrade y reiniciar.
La situación
Ayer mismo estaba instalándole, desde cero, el Windows XP al PC de mi tío. Hasta hace unas semanas, sólo tenía instalado Windows y le comenté la posibilidad de instalar otro sistema operativo, GNU/Linux, para que lo probara. Así que le instalé Ubuntu.
Sin embargo, hacía tiempo que su Windows XP iba realmente mal, ya se sabe, así que me dijo si podía formatear la partición en la que estaba e instalarlo desde cero, todo limpito. A ello me puse y cuando terminé la instalación y reinicié… ¡pasó del gestor de arranque! Es decir, no me cargaba grub para dejarme elegir el sistema operativo a cargar, sencillamente se cargaba Windows XP. Eso no se hace, Microsoft…
La solución
Quizás tenía que haberme imaginado que pasaría eso, pero es que nunca había instalado un XP (en mi vida sólo he instalado Windwows 98 SE…), ya que podría haber creado un disco de arranque con el grub, pero veamos cómo lo solucioné.
Nos descargamos alguna distribución live de GNU/Linux, ya sabéis esas que se instalan en la memoria, te dejan un linux listo para usarlo y todo configurado automáticamente y cuando apagas el PC, se borra y te deja todo como estaba. Os recomendaría descargar la popular Knoppix, pero cualquier otra vale también.
Cuando estemos ya en la live, vamos a la consola y nos identificamos como superusuario (root). En Knoppix hay un icono que pone consola de root. Ahora reinstalaremos el grub, entrando en grub :-P
root@linux:/# grub
Y estaremos dentro del grub:
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For
the first word, TAB lists possible command
completions. Anywhere else TAB lists the possible
completions of a device/filename. ]
grub>
Buscamos dónde está instalado el grub (en el caso de no saberlo):
grub> find /boot/grub/stage1
Nos devolverá algo como (hd0,0), que puede variar según tu sistema.
El gestor de arranque grub numera las particiones siguiendo este esquema: (hddiscoduro, partición). Por ejemplo, (hd0, 0), sería la primera partición del disco primario, es decir: /dev/hda1. Si tenemos (hd0) se refiere a /dev/hda. (hd1,1) sería /dev/hdb2, un segundo disco duro, y así para el resto.
En este caso, grub está instalado en /dev/hda1. Ahora escribimos:
grub> root (hd0,0)
De esta manera le estamos diciendo a grub dónde está instalado.
Recuerda que tendrás que poner lo que te haya devuelto el comando anterior, aquí sencillamente pongo un ejemplo concreto.
Ya queda poco. Venga, escribe:
grub> setup (hd0)
Con el comando anterior lo instalamos en el sector de arranque (MBR) del disco duro primario.
Y para acabar:
grub> quit
Así salimos del grub y se comprobarán los cambios. Ahora toca reiniciar y hale, a dar gracias al mundo de GNU/Linux y el software libre ;-)
unp es de esas utilidades para consola que son realmente útiles. Se trata de una interfaz (o front-end) para la mayoría de los programas descompresores que hay para linux: unrar para los .rar, unace para los .ace, tar para hacer tarballs (paquetes), unzip para los .zip…
Pero, claro, cada uno de esos programas tiene sus opciones para descomprimir. Algunos no son muy complicados como $ unrar e archivo.rar, pero ¿qué hay de los comprimidos con zip y empaquetados con tar? Habría que hacer $ tar zxvf archivo.tar.gz. Nada fácil de recordar, ¿no? Aquí es donde interviene unp, que no es más que un script con las opciones de descompresión de todos estos programas y nosotros lo único que tenemos que hacer para descomprimir el archivo que queramos es:
pepe@casa:~$unp comprimido.ext
Ya está. Así de sencillo y sin tener que memorizar comandos para cada programa :-)
OJO, tenéis que tener instalados los programas a los que llama unp (ver principio del post)
OJO, el uso continuado de este programa hace olvidar los tropecientas opciones de los programas de descompresión :-P
¿Dónde conseguirlo? En tu gestor de paquetes habitual (synaptic, yum, yast…)