Hace poco tiempo que instalé Xubuntu en mi ordenador, y trasteando entre las aplicaciones disponibles, encontré Geany, un fantástico IDE para programar en varios de lenguajes (entre ellos PHP). Su principal virtud es que consume muy poca memoria RAM. Además, es un IDE muy completo. Aquí os dejo una imagen de esta maravilla de editor:
Anteriormente usaba Netbeans, y he de reconocer que también es un IDE genial, con una gran comunidad de usuarios y bastantes años en el mercado, lo que lo convierte un software maduro. El único inconveniente es que lo programaron con un pequeño duende en su interior que se alimenta de memoria RAM. En realidad es un problema que comparten todas las aplicaciones que corren en Java. Por lo visto, los desarrolladores de Java no consideraron el desmesurado consumo de memoria un factor a tener en cuenta. Y la realidad es que la memoria es cara y cada vez los sistemas son más exigentes.
Intentaré abordar de la forma más objetiva que pueda algunas de las ventajas y desventajas de Netbeans y Geany.
Ventajas de Netbeans sobre Geany:
1. Control de versiones integrado en el propio IDE. He de decir que Geany también tiene un plugin para el control de versiones, pero ni de lejos puede compararse al plugin de Netbeans. Mediante este plugin, podemos saber visualmente qué archivos hemos modificado y el código que hemos cambiado. Esto nos permite llevar un control de versiones de nuestro propio código y mejorar el trabajo en equipo. Aquí os dejo un pantallazo.
2. Documentación “inline” del código fuente para PHP.. También tiene Geany un plugin para documentar “in situ” el código fuente, pero todavía no han desarrollado uno para PHP, que es el lenguaje en el que trabajo principalmente. Netbeans tiene un plugin para documentar directamente el código fuente, siguiendo las directrices de PHPDocumentor. Aquí encontraréis más información de cómo funciona este plugin: PHPDoc
3. Varios proyectos abiertos al mismo tiempo. Podemos tener varios proyectos abiertos al mismo tiempo y pasar de un proyecto a otro cómodamente. En el caso de Geany, deberíamos cerrar primero el proyecto y luego abrir otro. Aunque también podemos tener dos instancias abiertas de Geany. Total, para lo poco que pesa.
Ventajas de Geany sobre Neatbeans:
1. Consume muy poca memoria. En términos generales, se puede decir que una instancia de Netbeans consume tanta memoria como trece instancias de Geany. Aquí os dejo un pantallazo para que comparéis la memoria consumida por uno y otro programa:
Conclusión:
Netbeans es un excelente IDE, tiene una gran comunidad de usuarios y bastantes años de experiencia. Ha sido mi IDE favorito durante mucho tiempo. Pero considero inadmisible la cantidad ingente de memoria que consume. Por esa razón dejaré de usar este editor y usaré Geany en su lugar.
En el post anterior (SSH Login automático – Parte 1), vimos cómo acceder a un servidor remoto a través de SSH sin necesidad de introducir ningún password. Tan sólo había que seguir los puntos indicados. En este post, usaremos un único script que automatice ese proceso, de manera que acceder a un servidor remoto sea tan sencillo como ejecutar el siguiente comando:
sshcon user@mydomain.com
Antes de usar este comando, deberemos instalar sshpass. Si vienes de la distribución Ubuntu, no instales sshpass desde el administrador de paquetes (Synaptic o apt-get), porque tiene errores. Mejor descarga y compila los fuentes por tí mismo (descargar sshpass).
Una vez instalado sshpass, descargamos y guardamos el script sshcon de aquí. Abrimos un terminal y lo instalamos:
# damos permiso de ejecución
# y colocamos el script en un lugar accesible
Imaginemos que tenemos un dominio ‘mydomain.com’, al cual accedemos mediante el protocolo SSH con el usuario ‘john’. Para acceder a nuestro servidor, tan sólo deberemos ejecutar:
sshcon john@mydomain.com
La primera vez nos pedirá el password, pero las siguientes veces accederá automáticamente sin necesidad de teclear el password nuevamente.
Nota final: El script ha sido probado en Xubuntu 11.10 (Oneiric Ocelot).
En este post veremos cómo conectarnos a un servidor remoto a través del protocolo SSH sin necesidad de escribir ningún password. Si queremos conectarnos a un servidor SSH, tendremos que ejecutar el siguiente comando:
ssh user@domain.com
Una vez establecida la conexión, nos pedirá el password.
Imaginemos que nuestro dominio se llama ‘mydomain.com’ y el usuario con el que me conecto es ‘john’. Los pasos a seguir para conectarnos a ‘mydomain.com’ sin necesidad de escribir ningún password son los siguientes:
1. Vamos a la home de nuestro ordenador:
cd
2. Creamos el directorio .ssh:
mkdir -p .ssh
En el caso de que ya exista el directorio .ssh (lo más probable), la instrucción anterior no hace nada.
3. Generamos una clave pública y otra privada
ssh-keygen -t rsa -f .ssh/mydomain.com -N ''
La instrucción anterior crea dos archivos y los guarda en el directorio .ssh: ‘mydomain.com’ y ‘mydomain.com.pub’. El archivo ‘mydomain.com’ contiene nuestra clave privada y el archivo ‘mydomain.com.pub’ contiene la clave pública.
El parámetro -N '' indica que no queremos usar ninguna ‘clave propia’. La ‘clave propia’ reemplazará la clave del servidor por una nuestra, más fácil de recordar. Pero entre tú y yo; los únicos que usamos mi ordenador somos mi gato y yo. Y no creo que mi gato sea capaz de acceder al servidor de mi cliente (o eso espero). Por lo que dejaremos esta clave en blanco.
4. Creamos el directorio .ssh en el servidor remoto:
ssh john@mydomain.com mkdir -p .ssh
Nos pedirá la clave. Si el directorio ‘.ssh’ ya existe en el servidor remoto (lo más probable), entonces la instrucción anterior no hace nada.
5. Añadimos la clave pública que hemos generado en el punto 3. al final archivo ‘.ssh/authorized_keys’ del servidor remoto (nos volverá a pedir la clave):
6. Borramos la clave pública de nuestro ordenador, porque no la necesitamos:
rm .ssh/mydomain.com.pub
La clave pública es necesaria sólo en el servidor remoto.
7. Y finalmente, podremos conectarnos al servidor remoto de manera automática:
ssh -i .ssh/mydomain.com john@mydomain.com
El parámetro -i .ssh/mydomain.com indica el archivo que contiene la clave privada con la que nos queremos conectar.
Podemos repetir el mismo proceso con el resto de nuestros dominios. Al final, tendremos un montón de archivos en nuestro directorio .ssh con las claves privadas.