jump to navigation

Controlar una PC con x2x en Ubuntu 9.04 11 mayo 2009

Posted by bushwaca in Acceso Remoto, Linux, Ubuntu.
Tags: , ,
trackback
x2x

x2x

X2x es una herramienta que nos permite compartir (controlar) el teclado y raton de una pc con otra. Es como si tuviesemos un KVM virtual, solo que aqui no compartimos el video. Para los que no lo saben un KVM es un conmutador de monitor, teclado y raton (Keyboard, Video, Mouse). Para lograr este cometido usaremos ssh y si les interesa esto de ssh pueden mirar esto.

Esto es genial para controlar nuestra PC y laptop (o tambien dos PCs de escritorio o dos Laptops) usando un solo teclado y mouse sin gastar en un KVM (ademas mi laptop no tiene entrada PS/2 jaja). Ademas es muy simple de usar, solo debemos mover el mouse asta la esquina de la pantalla para comenzar a controlar la otra pc (previamente debemos ejecutar un comando).

Nota: Si bien tambien existe x2vnc para hacer lo mismo y tal vez mas simple (aunque muy poco), con ssh se comporta mas fluido (ademas los paquetes de x2vnc estan algo desatendidos).

Comencemos:
Para no marearnos llamaremos cliente a la pc que controlara y servidor a la pc que sera controlada. Las dos maquinas tendran como sistema operativo a Ubuntu.

a) En el servidor:

1 – Primero que nada vamos a instalar el servidor ssh y X2x
sudo apt-get install ssh openssh-server x2x

2 – Ahora una minima configuracion:
Yo ya escribi otro post sobre como es que debemos configurar al servidor ssh pero aqui solo pondre la configuracion minima para que les funcione. Yo, en su lugar miraria ese post y aplicaria esos cambios ya que tener ese servicio hace a la pc muy insegura si no lo configuramos como corresponde. Aqui el link.

Abrimos una consola y ponemos:
sudo gedit /etc/ssh/sshd_config

a – Debemos buscar la linea que dice:
-“port 22” y modificarla por algun puerto de nuestro gusto.
-“PermitRootLogin yes” y cambiarla por “no”. Esto es para no permitir loguearse como root.
-“X11Forwarding yes” verificamos que este asi.

b – Al final del fichero agregamos:
AllowUsers pablo

“AllowUsers” nos permite determinar que usuarios estan permitidos para usar ssh. “Pablo” es un ejemplo de un nombre de un usuario, pongan el nombre de algun usuario que ya este creado en el servidor, por ejemplo el nombre del usuario con el que ingresaron al sistema (con el que se loguearon en el servidor).

c – Ahora guardamos el fichero, lo cerramos y reiniciamos la configuracion del servidor SSH con:
sudo /etc/init.d/ssh restart

3 – Debemos averiguar la ip del servidor
Abrimos una consola y ponemos:
ifconfig

Y fijate donde dice algo asi:

eth0 Link encap:Ethernet direcciónHW 00:1f:2a:5d:d9:98
inet dirección:192.144.5.243 Difusión:192.144.1.255
Máscara:255.255.255.0

“Inet direccion” es la IP actual de esa PC, anotamos ese numero ya que nos sera util mas adelante para poder conectarnos.

b) En la maquina cliente:
1 – Abrimos una consola e instalamos ssh:
sudo aptitude install ssh

2 – Para comezar a controlar las “x” de la otra pc debemos ejecutar el comando “ssh” con unas opciones que se corresponden con la siguiente forma:
ssh -X -p PUERTO USUARIO@IP-o-DOMINIO x2x -DIRECCION -to :COORDENADA

Desglosemos esto:

ssh = herramienta para la comunicacion remota

-X = modificador para actuar sobre las “x”

-p PUERTO = “-p” modificador y PUERTO es el puerto que utilizamos en ssh para acceder al servidor.

USUARIO = es el nombre de usuario que tiene permiso para usar ssh en el servidor.

IP-o-DOMINIO = IP o dominio de la pc que controlaremos (servidor).

x2x = herramienta para el control del teclado y mouse de forma remota

-DIRECCION = indica la direccion donde nos movemos con el mouse para comezar a controlar la otra pc.
Las opciones pueden ser: west (izquierda), east (derecha), north (arriba) y south (abajo)

-to :COORDENADA = “-to” es el modificador y COORDENADA es la coordenada de las “x” que tomara como referencia para comenzar a controlar.

Ejemplo:
ssh -X -p 1234 pablo@192.144.5.243 x2x -west -to :0.0

En definitiva lo que debemos hacer es abrir una consola y poner:
ssh -X -p 1234 pablo@192.144.5.243 x2x -west -to :0.0

y lo que debes cambiar es:

1234 = por el puerto que pusiste al configurar ssh en el servidor. Si no lo cambiaste usa el puerto 22 por defecto, por lo tanto en vez de 1234 pone 22.
pablo = por el nombre de algun usuario que ya este creado en tu servidor (por ejemplo con el que ingresas al sistema operativo) y que tambien lo agregaste en el archivo de configuracion de ssh (lo explique arriba con lo de “AllowUsers”). Si no le agregaste el parametro “AllowUsers” a ssh, creo que deberia funcionar el comando anterior eliminando “pablo@”, es decir dejando solo la IP.
192.144.5.243 = lo cambias por la IP de tu pc que hace de servidor (averiguamos esto cuando pusimos “ifconfig”)

El resto si quieren lo dejan tal cual esta, solo cambian estas 3 cosas.

3 – Una vez que ejecutamos el comando anterior de forma correcta movemos el puntero del mouse asta el final de la pantalla (en este caso derecha ya que usamos la opcion “west”) y vemos como el puntero pasa de una pantalla a la de la otra pc permitiendonos controlar tambien su teclado. Si nos volvemos a mover, pero esta vez a la izquierda de la pantalla, volveremos a controlar la otra.

c) Crearle un lanzador: (opcional)
Si ya nos funciona y nos gusta como quedo podemos crearle un lanzador. Ademas como es algo complicadillo de recordar nos puede ir muy bien tenerlo si hacemos un uso frecuente de esta herramienta.

a – Nos posicionamos en la barra superior de Gnome donde dice “Aplicaciones”- click derecho – “Editar los menus”.
b – Nos paramos por ejemplo en en “Accesorios” y seleccionamos “Nuevo elemento”
c – En nombre ponemos un nombre descriptivo como “KVM-SSH”
d – En comando ponemos el comando para lanzarlo como les explique antes.. como por ejemplo “ssh -X -p 1234 pablo@192.144.5.243 x2x -west -to :0.0”(sin comillas).
e – Si quieren le dan click al icono que les aparece y se lo cambian.

Nota: Tambien de forma muy similar podriamos crearle un lanzador pero desde el escritorio haciendo click derecho sobre el.

d) Cerrar x2x
Si ejecutaron el comando desde una consola, con solo cerrarla el proceso dejara de funcionar. Ahora bien, si le creamos un lanzador debemos hacer un “kill” desde la consola (usamos “top” para identificar el PID) o desde el monitor del sistema.

Listo.

Espero que les sea util.

Comentarios»

1. Gerardo - 30 mayo 2009

OK, excelente, pero si solo tengo la dirección IP?

bushwaca - 31 mayo 2009

Como que si solamente tienes la ip?
Disculpa pero puede que no entienda bien tu consulta o puede que entendiste algo mal de esto. Veamos si doy con lo que queires preguntarme:

a) Esto de x2x es solamente para comprartir el teclado y el mouse con otra PC que este en tu misma red, nada mas que eso. Es decir que debes tener acceso de forma fisica a las dos PCs para que esto de resultado. Si yo uso esto para controlar una pc que esta a 100 metros de distancia de nada me sirve porque no veo lo que tipeo ni veo donde pongo el puntero del mouse, ya que el monitor esta a 100 metros… no se si se entiende la idea.
En resumen, si por ejemplo tu tienes una pc de escritorio y una laptop, podrias usar tu laptop con el teclado y el mouse de la pc de escritorio si las dos pcs estan encendidas y en red entre si.

b) De casualidad lo que me consultas es que hiciste todo esto, paso por paso, pero el unico dato que tienes para conectarte es la ip del servidor? Bueno, puede que no se entendio, pero si… si hiciste todo tienes datos suficientes, no solo la IP.

De haber hecho todo esto paso por paso pegas este comando tal cual en la pc que hace de cliente (la que fisicamente tendra el teclado y el mouse y que usaras):
ssh -X -p 1234 pablo@192.144.5.243 x2x -west -to :0.0

y lo que le cambias es:

1234 = por el puerto que le escribiste al configurar ssh (arriba lo explique)
pablo = por el nombre de algun usuario que ya este creado en tu servidor (por ejemplo con el que ingresas al sistema operativo) y que tambien lo agregaste en el archivo de configuracion de ssh (lo explique arriba con lo de “Allowuser”).
192.144.5.243 = lo cambias por la IP de tu pc que hace de servidor (la que controlaras)

El resto si quieres lo dejas tal cual esta, solo cambia estas 3 cosas. Crei que esto lo habia explicado cuando explique cada parametro pero puede que no se entienda. De paso editare el post original por las dudas.

c) Siempre el comando sera de este estilo:
ssh -X -p 1234 pablo@192.144.5.243 x2x -west -to :0.0

Podria resumirse un poco…
Si tenemos configurado ssh para que permita a cualquier usuario ingresar siempre que lo haga desde la red local (localhost) podriamos borrar el usuario (pablo en este caso).
Si dejasemos configurado el puerto de ssh como esta por defecto sin cambiarlo (es el puerto 22 el que pone por defecto) podriamos eliminar el “-p 1234″ en este caso.

Si eliminamos todo eso podriamos ejecutar esta aplicacion con:
ssh -X 192.144.5.243 x2x -west -to :0.0

Pero como veras no es mucho menos, ademas es mas inseguro.

Espero haber aclarado tu duda. Saludos

2. Alí - 28 agosto 2009

La verdad, Bushwaca, es tienes una paciencia única para explayarte. Tu respuesta a Gerardo da muestras de ello. Yo le hubiese pedido que reformulara su pregunta, pues la que hizo está llena de ambigüedad. Debo decirte que me parece excelente el artículo que escribiste aunque en mi caso no le encuentro aplicación práctica. Estaba navengando buscando “cómo configurar un equipo para que actúe como servidor de archivos y cliente a la vez (Ubuntu Server y Ubuntu Desktop)”, pero hasta ahora solo he sacado en claro que tengo que tener un PC dedicado solamente a servidor de archivos que es precísamente lo que quiero evitar. En fin, repito, te felicito por tu escrito, y seguiré buscando mi asunto (A menos que tengas una sugerencia al respecto), Je, je.. Saludos.

bushwaca - 28 agosto 2009

Gracias por el cumplido jaja.

Aplicaciones practicas no tiene muchas, solo eso, controlas una pc con otra pero que estan a muy corta distancia….. digamos es similar a tener un kvm. Te sirve para ahorrar espacio en tu escritorio o no hacerte lio… algunas veces cuando trabajas con 2 pcs al mismo tiempo, tecleas o mueves el mouse cuando en realidad debiste tomar el otro (es mas frustrante de lo que parece cuando te ocurre).

Bueno, con respecto a tu consulta veamos si entendi…

Antes de seguir tomo nota textual:
– “cómo configurar un equipo para que actúe como servidor de archivos y cliente a la vez (Ubuntu Server y Ubuntu Desktop)”-
Imagino que lo que estas buscando no es poner un server en tu pc para conectarte a ella misma con esa misma pc porque como que no tiene mucho sentido (jajaja que raro me suena escribir esto). Por eso supongo que tambien tienes otra pc.

Creo que lo que buscas es:
Tu tienes una pc y quieres que esa actue como servidor de archivos pero ademas usarla como una pc de escritorio para no tenerla solamente ahi en un rincon.

Bien, lo primero que tienes que ver es QUE uso le daras a ese server (que compartiras, entre cuantas pcs, si solo sera por lan, etc) y COMO (comprar algo o cambiar la configuracion fisica y de algunas aplicaciones puede ayudar en algunos casos). Si bien eso parece simple, no lo es del todo, hay que sentarse uno momento a pensar jaja.

Que opciones tienes?
Nota: Como no me especificaste tomare como ejemplo que quieres hacer un servidor FTP, ya que es el sistema para compartir ficheros por exelencia, tanto dentro de una lan como fuera de ella.

1) Si solo comprartiras ficheros puedes hacer lo que quieres sin problemas, puedes que tu pc sea server de ficheros y ser un desktop al mismo tiempo. Por ejemplo instalas tu ubuntu normal (no necesariamente tienes que instalar ubuntu server para que sea un servidor), haces una particion en donde pondras lo que compartiras (esto es por una cuestion de orden y seguridad, ademas si compartes ficheros entre otros sistemas puede que debas darle un formato especial a esta particion) y luego instalas un servidor de FTP en el, como ftpd o cualquier otro, lo configuras y ya. Esto seria lo mas simple y logico en primera instancia.

2) Si solo la usaras con un par de pc dentro de la lan, directamente comaparte una capeta y ya.

3) Tambien puedes compratir una carpeta y poner un servidor ssh para hacer accesos remotos (tanto dentro de la lan como por fuera) si no son toneladas de usuarios y listo (hay info de esto aca y si quieres algo mas amigable luego puedes hacer esto).
Personalmente yo uso esta opcion (igualmete solo yo me conecto a ese server jajaj), ademas el sevidor de ssh tambien tiene sftp (que seria un ftp), es decir que con tu navegador de ficheros (Nautilus) puedes navegar por la otra pc y copiarla a la tuya sin problemas, solo copiando y pegando.

4) Dedicar una pc a ser server completamente es lo mejor, ahora, por una cuestion de espacios, ruidos y demas, tambien existe la opcion de conseguir un “Carry Disk” con ftp en el. Son unas cajitas que tienen ficha rj45 en la cual metes un disco rigido y listo. Luego lo conectas a tu switch, router, o pc que tengas y a travez de una interface web configuras tu server ftp y ya. Algunos traen disco, otros no, en algunos puedes meter discos IDE, pendrives, discos SATA, etc…. hay de todo y son muy lindos. Por poner un ejemplo mira esto para que me entiendas (hay bastante mas economicos).

PD: Espero que cuando la gente se suscribe a mis comentarios no les llegue un mail por cada vez que lo edito, sino soy un saturador de casillas de correo jajaja.

Bueno, saludos, gracias por comentar y suerte con tu emprendimiento.

Alí - 29 agosto 2009

Complacido y agradecido en extremo, Bushwaca. Un gran saludo.

bushwaca - 29 agosto 2009

Me alegro entonces.

Saludos.

3. Alí - 30 agosto 2009

A ver, amigo Bushwaca, si apelando a la virtud de Job que te caracteriza (refiriéndome al personaje bíblico), puedes echarme una manito en esto. Te ruego me disculpes si planteo cosas absurdas, dada mi manifiesta ignorancia al transitar por los vericuetos informáticos. Necesito crear un archivo tipo tabla en una base de datos (¿Mysql?) para vaciar en ella un aproximado de siete mil productos (registros). La tabla estaría conformada por 10 columnas (campos). Ahora, si emprendo yo solo la tarea de llenar esa tabla, me sorprendería la navidad del 2010, ó 2011, en esa tarea. Si tengo la base de datos en mi PC y quiero que otros tres usuarios, en otras tantas PC, en mi propio hogar, trabajen SOBRE LA MISMA BASE DE DATOS, introduciendo información, ¿qué programa me recomendarías para instalar en mi PC y en las otras clientes a fin de lograr eso?. No sé si decir ” a propósito” (by the way), pero seguí tus instrucciones instalando el ssh y funcionó de primer intento. ¿Serviría este programa para mis propósitos?. De antemano, muchas gracias.

bushwaca - 31 agosto 2009

Ok, bueno, primero aclararte que ese tipo de cosas no son lo mio, pero igual por ahi te oriento un poco segun mi experiencia.

Bien, segun lo que recuerdo, hace tiempo use, a modo experimental, Mysql. Te serviria para lo que tu quieres. Ahora, para pasar esa tremenda base, podria pedir ayuda a otras personas que trabajen conjuntamente contigo. La verdad que no se si se pueden importar, como por ejemplo si lo tienes en un fichero de openoffice a mysql si es esa tu consulta, seria cuestion de mirar un poco (aunque creo que no) o tal vez dependa en que tipo de archivo tengas tu base de datos o si existen conversores de estas cosas.

Primero que nada te recomiendo, ademas de Mysql, podrias instalar phpmyadmin (que depende de php y apache si mal no recuerdo, es decir que necesitas un servidor LAMP) y con esto modificarias tu base de datos a travez de un navegador web cualquiera. Ademas esto hace mas simple la configuracion y edicion de las bases de datos ya que tiene una interface web. Igual esto es cuestion de gustos, podrias directamente usar Mysql directamente sin instalar nada mas.

Que opciones tienes… pues segun tengo entendido tienes dos formas:

a) Podrias tener tu base de datos y trabajar directamente sobre mysql haciendo que los que te ayudan accedan a tu pc mediante ssh (u otro tipo de acceso remoto aunque te recomiendo ese por seguridad y demas). Para eso tendrias que tener tu base de datos en algun lugar de tu disco en donde los demas puedan acceder y manipular esa base de datos (es decir tener permisos sobre ssh y sobre ese fichero o ficheros de esas bases de datos).

b) Si instalaste el servidor LAMP, podrias poner un dominio y hacer publica esa base de datos (es decir que en ese momento se transformaria en una web propiamente dicha), con lo cual, podrian ingresar a modificar esa base de datos tus ayudantes como cuando ingresan a una web tan solo poniendo la direccion y logueandose sin hacer accesos remotos. Eso si, cada uno con su pass y con privilegios determinados segun lo necesites.

Mi recomendacion:
1) Primero mira si Mysql te rinde para lo que quieres hacer, luego hace un simple test ingresando 2 o 3 productos con esas “10 columnas”.
2) Configura bien Mysql (phpmyadmin y demas en el caso que te facilito las cosas para su edicion)
2) Pelea con los accesos remotos o haciendo una “web” para tu base de datos, es decir que recien aqui elige una de las dos opciones.

Nota: la segunda opcion seria la logica y mas usada.

Bueno, suerte con eso y lamento solo darte una idea.

PD: Te tocara pelearla y googlear bastante, configurar bien eso por lo general no sale a la primera.

Saludos.

Alí - 31 agosto 2009

Gracias. Con lo que me has indicado más un poco de googleado, creo que encontraré algo viable. En cualquier momento te informo los resultados. Salud.

bushwaca - 1 septiembre 2009

Dale, seguramente tendras suerte.

Saludos.


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: