¿Qué aplicación consume más ancho de banda?
Como hacer un servidor SSH protocolo de comunicación para controlar un ordenador en remoto.
SSH (acrónimo del inglés Secure SHell, cuya traducción sería intérprete de comandos seguro) es un protocolo de comunicación para controlar un ordenador en remoto a través de una CLI (Command Line Interface -Interfaz de Línea de Comandos- también llamada: "shell".
Sirve para conectarnos con un ordenador ante el cual no estamos físicamente, bien porque está en una sala de servidores refrigerada, bien porque no tiene teclado ni pantalla, por ejemplo los que están apilados en un rack (un armario donde se guardan ordenadores como los servidores web, de correo electrónico, firewalls, etc...).
Es parecido a Telnet, con la gran diferencia de que en el caso de ssh, la información viaja codificada con lo cual es muchísimo más segura, en el caso de conectarnos a un ordenador que esté en nuestra LAN no es tan importante, pero si nos conectamos a través de Internet es fundamental, casi diría que imprescindible, usar un protocolo seguro como SSH. .
Conectarnos a un servidor ssh.
Para conectarnos con un servidor SSH remoto desde Ubuntu tenemos un cliente por defecto. En Windows no, hay que descargar un cliente (por ejemplo, el programa putty(Putty)). Usar el cliente es muy sencillo: basta con teclear desde una consola o terminal lo siguiente:
$ ssh host_remoto
Donde host_remoto es la IP del servidor SSH o el nombre de este. Eso hará que nos conectemos con nuestro nombre de usuario. Si queremos conectar como un usuario remoto teclearemos:
$ ssh usuario_remoto@host_remoto
Luego nos pide la contraseña del usuario. La primera vez que nos conectemos a un servidor tarda un poco más y nos pide confirmación tecleando "yes" con todas sus letras, las subsiguientes ya no. Sabemos que estamos conectados porque el prompt cambia y aparece en lugar del nombre de nuestro host el nombre del host remoto.
Los comandos, programas y scripts que lancemos tras conectarnos se ejecutarán en la máquina a las que nos hayamos conectado, utilizando los recursos del host remoto (CPU, memoria, disco, etc.).
Esta arquitectura puede utilizarse, por ejemplo, para tener un servidor más potente y varios clientes que ejecutan aplicaciones en dicha máquina.
Para ejecutar aplicaciones gráficas en la máquina a la que nos conectamos tenemos dos opciones. La primera consiste en definir la variable $DISPLAY apuntando a la máquina desde la que nos conectamos.
$ export DISPLAY=host_local:0.0
Este mecanismo no se recomienda por motivos de seguridad (el protocolo X11 no se encuentra cifrado) y, además, pueden encontrarse problemas porque cortafuegos intermedios bloqueen ese tráfico (puertos 600x TCP).
Una solución mejor es utilizar un túnel SSH para encapsular el protocolo X11, lo que transmite la información de manera segura y, además, no suele dar problemas con los cortafuegos intermedios.
Para poder ejecutar aplicaciones gráficas en el host remoto de forma segura, necesitamos dos cosas. La primera, que en la configuración del servidor SSH del host remoto (/etc/ssh/sshd_config) se encuentre activada la siguiente opción:
X11Forwarding yes
Para aprovechar esta característica, hemos de conectarnos usando el parámetro -X, lo que exportará la configuración de la variable $DISPLAY con lo que podremos ejecutar aplicaciones gráficas de forma remota:
$ ssh -X usuario_remoto@host_remoto
Ahora si ejecutas el programa xclock verás que la ventana sale en tu escritorio:
$ xclock
Tipo de ataque man-in-the-middle.
Imaginemos que la IP de nuestro servidor es 192.168.2.3. Nos conectamos via SSH desde otro equipo, la primera vez tarda un poco más porque tiene que escribir en el archivo /home/[nuestro_usuario]/.ssh/known_host una entrada para esa IP.
Las subsiguientes veces que nos conectemos compara la clave gpg de la IP con la que tiene guardada en el archivo known_host, en caso de variar supone que el ordenador es distinto -por ejemplo, porque el ordenador servidor ssh ha sido formateado o porque se ha apagado y sustituido por otro al que se le ha asignado la misma IP-. Ese es el error man-in-the-middle y significa: "el ordenador cuya IP es esa, no es el mismo que yo conocía. Puede ser que alguien se esté haciendo pasar por él" y no nos deja volvernos a conectar salvo que borremos la entrada de esa IP en el archivo known_host.
Evitar que nos pida el password cada vez.
Siempre que conectemos a un ordenador remoto con SSH nos va a pedir el password de acceso para asegurarse de que tenemos permisos. Hay una forma de evitar que nos pida el password siempre haciendo que el ordenador remoto confíe en nosotros. Para ello hemos de generar un par de claves DSA que se usarán en la relación de confianza:
$ ssh-keygen -t dsa
se generara esto:
Generating public/private dsa key pair.
Enter file in which to save the key (/home/usuario/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/usuario/.ssh/id_dsa.
Your public key has been saved in /home/usuario/.ssh/id_dsa.pub.
The key fingerprint is:
81:a1:d3:96:fa:a2:73:4d:3a:76:c1:fd:3f:6a:6f:1e usuario@localhost
Una vez generada la copiamos al usuario del ordenador remoto con el que queremos mantener la relación de confianza usando el comando ssh-copy-id.
Este es un ejemplo del uso con la salida del programa: $ ssh-copy-id usuario_remoto@192.168.0.1
Now try logging into the machine, with "ssh 'usuario_remoto@192.168.0.1'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
Si te da el error No identities found prueba a indicarle la ruta de la clave pública con -i
Para que funcione correctamente el comando ssh-copy-id el agente tiene que estar activo para la sesión. Si no lo has puesto que lo arranque al inicio como se explica un poco más abajo, tendrás que arrancarlo desde la consola ejecutando ssh-add.
Ahora solo hay que arrancar el agente SSH para que recuerde nuestra contraseña. Nos pregunta la contraseña y ahora ya podemos acceder al ordenador remoto sin tener que escribir el password cada vez.
$ ssh-add
El agente sólo dura mientras esté activa nuestra consola. O sea que si la cerramos y la volvemos a abrir ya no está activo el agente y nos volverá a pedir el password cada vez. Para evitar esto lo que podemos hacer es añadir el agente a la sesión para que se ejecute cada vez que se inicie GNOME. Al iniciar saldrá un diálogo que nos preguntará por la contraseña.
Copia de seguridad .
Si vas a migrar la configuración de tu usuario a otra máquina tienes que conservar el directorio $HOME/.ssh. Ahí es donde se guarda los ficheros de la clave pública y privada generadas en el punto anterior:
$ tar czf ssh.tgz $HOME/.ssh
SSHFS o montar directorio remoto con SSH
Algunas veces necesitamos trabajar durante bastante tiempo con un sistema remoto, copiando y editando ficheros. Existe la posibilidad de usar Nautilus que se puede conectar remotamente al servidor usando el protocolo 'sftp://, pero suele ser lento y muchas veces es más práctico usar la línea de comandos. La solución sería montar un recurso remoto al estilo de NFS y encima sin tener que se root. Pues si, se puede
Fuse es un módulo del kenel que permite montar distintos sistemas de ficheros con un usuario normal sin privilegios. SSHFS es un programa creado por el autor de fuse que permite montar un directorio remoto usando SSH.
Accederemos localmente como si estuviera en nuestra propia máquina. Hay que instalar el programa sshfs. El usuario que puede montar el sistema de ficheros tiene que pertenecer al grupo fuse.
$ sudo usermod -G fuse -a usuario_local
Tenemos que salir y volver a entrar en el sistema para que se haga efectivo el cambio de grupo. Antes de empezar a usar fuse tienes que cargar el módulo en memoria:
$ sudo modprobe fuse
Ahora vamos a hacer una prueba:
$ mkdir ~/directorio_remoto
$ sshfs usuario_remoto@servidor_remoto:/tmp ~/directorio_remoto
Este comando monta el directorio /tmp del servidor remoto en el directorio local ~/directorio_remoto. Ahora podemos trabajar en el directorio montado como si de un directorio local se tratase. Para desmontar el directorio:
$ fusermount -u ~/directorio_remoto
Si vamos a trabajar a diario con este directorio remoto, quizás es buena idea añadirlo al fichero /etc/fstab. De esta forma se montará automáticamente al iniciar nuestro ordenador o manualmente (si elegimos la opción noauto) sin necesidad de especificar la localización remota cada vez. Este es un ejemplo de configuración:
$ sshfs#usuario_remoto@remote_server:/tmp /home/usuario_local/directorio_remoto fuse defaults,auto 0 0
Si vamos a usar fuse y sshfs regularmente, tendrías que editar el fichero /etc/modules y añadir el módulo fuse. De otra forma tendrás que cargar el módulo manualmente cada vez que lo quieras usar:
$ sudo sh -c "echo fuse >> /etc/modules"
Ejecutar comandos en un host remoto.
Ahora que ya sabemos como entrar en un ordenador remoto sin el password, por qué no ejecutar comandos remotamente? Se abre un nuevo mundo de posibilidades muy útiles como tareas que se pueden ejecutar de forma automática.
$ ssh usuario_remoto@host_remoto "find /tmp -name *.txt"
Este comando buscará los ficheros de texto del directorio temporal que hay en el ordenador remoto. Si bien es un ejemplo poc útil, en la vida de un administrador de sistema hay muchos buenos ejemplos.
Y vamos a dar una nueva vuelta de rosca: si estamos administrando sistemas Unix/Linux es muy posible que necesitemos ejecutar el mismo programa en varios servidores a la vez. Este sencillo script e suna gran ayuda en esos casos:
#!/usr/bin/perl
@hosts=(
"usuario1\@maquina1.guay.es",
"usuario2\@maquina2.guay.es"
);
die "Uso: runonall \'command\'\n" unless $ARGV[0];
foreach(@hosts){
print "$_ -> $ARGV[0]:\n";
print `ssh $_ $ARGV[0]`;
}
Enviar u obtener archivos y carpetas con scp
En una consola o terminal tecleamos:
$ scp -r usuario@maquina:/home/carpeta .
luego ponemos la password del usuario y nos copiará la carpeta "/home/carpeta" remota en el directorio actual "." naturalmente siempre que usuario tenga permisos sobre la carpeta y su cuenta esté entre las de los que pueden hacer ssh. La opción "-r" significa recursivo, es decir, copia la carpeta y todo su contenido, incluidas las subcarpetas y el contenido de éstas. Si no lo ponemos la orden para copiar todos los archivos de una carpeta sería:
$ scp usuario@maquina:/home/carpeta/* .
Si lo que queremos es enviar una carpeta con su contenido, utilizaremos la orden:
$ scp /home/carpeta/* usuario@maquina:/carpeta/
Hacer todo esto en modo gráfico.
Silo que que queremos es conectarnos a un ordenador por ssh en modo grafico también lo podremos hacer. Es mas simple pero tambien tienes menos posibilidades, o para hacer ciertas cosas tardas mas incluso que haciendolo por consola pero para las operaciones faciles como administrar, editar un fichero tambien es posible hacerlo de esta manera.
Entraremos en Lugares -> Conectarse al servidor...
Elegiremos en el combbo de arriba en lugar de FTP publico, SSH y pondremos la IP o el nombre (en caso de anteriormente ya hallamos editado el fichero hosts) y asi despues de teclear la contraseña y aceptar estaremos ya dentro del mismo.
Instalación del servidor SSH.
El cliente ya viene instalado por defecto, de modo que para instalar el servidor de SSH en nuestro sistema lo único que necesitas es instalar el paquete openssh-server.
Restringir el acceso SSH
Para evitar que todos los usarios de la máquina estén accesibles por SSH tendremos que editar como root el fichero /etc/ssh/sshd_conf, y añadir la línea AllowUsers y a continuación los usuarios que deseamos que se puedan conectar remotamente via SSH:
$ sudo gedit /etc/ssh/sshd_conf
Y añadimos la línea:
AllowUsers usuario1 usuario2 usuario3
Para que los cambios surtan efectos habrá que reiniciar el servidor:
$ sudo /etc/init.d/ssh restart
* Restarting OpenBSD Secure Shell server...
Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:
Guía de GHex editor hexadecimal de GNOME: preferencias.
- Número máximo de niveles de deshacer
- Use esta casilla de selección para especificar el número máximo de acciones que puede deshacer.
- Mostrar el desplazamiento del cursor en la barra de estado como
- Use esta lista desplegable para seleccionar el formato en el que se mostrará el desplazamiento del cursor. El formato puede ser decimal, hexadecimal o una cadena de estilo de impresión personalizado que sólo contenga los especificadores de formato x, o y s.
- Mostrar columna de los desplazamientos
- Seleccione esta opción para visualizar los desplazamientos del cursor en una columna situada a la izquierda de la vista hexadecimal de la ventana Editor Hexadecimal de GNOME.
Visualizar.
- Tipografía
- Use las cajas de selección de tipografía para editar la información existente sobre la tipografía o para escribir información nueva sobre ésta. Especifique un tipo, estilo y tamaño de tipografía para mostrar el contenido de los archivos en GHex.
- Tipo de grupo predeterminado
- Seleccione una de las siguientes opciones para especificar cómo GHex muestra el contenido hexadecimal de un archivo en la ventana de GHex:
- Bytes: bytes únicos.
- Palabras: grupos de dos bytes.
- Palabras largas: grupos de cuatro bytes. Tipografía de los datos
- Imprimir.
- Pulse en el botón Fuente de los datos para especificar el tipo,estilo y tamaño de la tipografía que desea utilizar para imprimir los datos de un archivo.
- Tipografía de las cabeceras
- Pulse en el botón Tipografía de las cabeceras para especificar el tipo ,el estilo y el tamaño de la tipografía que desea utilizar para imprimir la información de cabecera de un archivo.
- Sobreimprimir un recuadro sombreado
- Use este cuadro de incremento para especificar el número de líneas que desea que el Editor hexadecimal de GNOME imprima dentro de un recuadro sombreado . Si el valor del cuadro de incremento es 10, el Editor hexadecimal de GNOME imprimirá las 10 primeras líneas del archivo sin el recuadro sombreado, y las 10 siguientes con el recuadro, y así sucesivamente. Si el valor del cuadro de incremento es 0, GHex no imprimirá ningun recuadro sombreado.
Guía de GHex editor hexadecimal de GNOME: editar un archivo
- Pulse en la vista hexadecimal o ASCII del archivo. La vista en la que el cursor está activo muestra un cursor completo. La vista en la que el cursor no está activo muestra el contorno del cursor.
- Use cualquiera de los siguientes métodos para mover el cursor por el archivo:
- Use la barra de desplazamiento de la ventana o las flechas del teclado para desplazarse a lo largo del archivo.
- Seleccione Editar ▸ Ir a byte, introduzca el desplazamiento del cursor como un valor decimal o hexadecimal y, luego, haga clic en Aceptar. El formato del valor hexadecimal debe ser 0x seguido del desplazamiento, por ejemplo, 0x3.
- Edite el formato ASCII del mismo modo que edita un archivo de texto normal. Para editar el formato hexadecimal, use los valores del 0 a 9 y de la a a la f.
Para cortar, copiar, y pegar datos elija Editar ▸ Cortar, Editar ▸ Copiar, y Editar ▸ Pegar.
Para deshacer y editar elija Editar ▸ Deshacer. Para rehacer una acción elija Editar ▸ Rehacer. El número de ediciones previas que puede deshacer está determinado en la configuración de Número máximo de niveles de deshacer en la sección en pestañas Sección 4.1: Editar del cuadro de diálogoPreferences .
Guardar un archivo.
Para guardar un archivo, tiene dos opciones:
- Para guardar cambios en el archivo actual, seleccione Archivo ▸ Guardar.
- Para guardar el archivo actual bajo un nuevo nombre, seleccione Archivo ▸ Guardar como. Introduzca un nombre para el archivo en el cuadro de diálogo Seleccione el archivo donde quiere guardar el buffer actual y luego haga clic en Aceptar.
Para revertir a la última versión del archivo actual que haya guardado, y deshacer todas las ediciones que realizó en el archivo desde que lo guardó, elija Archivo ▸ Revertir, después pulse Sí en el cuadro de diálogo Pregunta.
Buscar datos en un archivo.
Para buscar una cadena hexadecimal o ASCII en un archivo, ejecute los siguientes pasos:
- Seleccione Editar ▸ Buscar.
- En el cuadro de diálogo Buscar los datos, seleccione una de las siguientes opciones:
- Buscar datos hexadecimales
- Buscar datos ASCII
- Escriba la cadena que desea encontrar.
- Pulse en Buscar siguiente para buscar la siguiente aparición de la cadena.
- Pulse en Buscar anterior para buscar la aparición anterior de la cadena.
- Pulse en Cancelar para cerrar el diálogo Buscar datos.
Para realizar una busqueda avanzada, ejecute los siguientes pasos:
- Seleccione Editar ▸ Búsqueda avanzada.
- En el cuadro de diálogo Buscar datos, seleccione el criterio de búsqueda requerido. Para obtener información acerca de cómo añadir nuevos criterios de búsqueda, consulte Sección 3.6: Añadir criterios de búsqueda.
- Pulse en Buscar siguiente para buscar la siguiente aparición de la cadena.
- Pulse en Buscar anterior para buscar la aparición anterior de la cadena.
- Pulse en Cerrar para cerrar el diálogo Buscar datos.
Para añadir criterios de búsqueda, realice los siguientes pasos:
- Seleccione Editar ▸ Búsqueda avanzada.
- Pulse en Añadir nuevo dentro del cuadro de diálogo Buscar datos.
- En el cuadro de diálogo Añadir búsqueda, seleccione una de las siguientes opciones:
- Buscar datos hexadecimales
- Buscar datos ASCII
- Escriba la cadena que desea encontrar.
- Use la rueda de color o las casillas de selección para escoger un color para resaltar loscriterios de búsqueda.
- Pulse en Añadir.
- Pulse en Cancelar para cerrar el diálogo Buscar datos.
Para eliminar un criterio de búsqueda, siga los siguientes pasos:
- Seleccione Editar ▸ Búsqueda avanzada.
- En el cuadro de diálogo Buscar los datos, seleccione el criterio de búsqueda que desea eliminar.
- Pulse en Eliminar seleccionados.
- Pulse en Cancelar para cerrar el diálogo Buscar datos.
Para buscar una cadena hexadecimal o ASCII en un archivo y luego reemplazarla, ejecute los siguientes pasos:
- Seleccione Editar ▸ Reemplazar.
- En la ventana de diálogo Buscar & reemplazar datos, seleccione una de las siguientes opciones:
- Reemplazar datos hexadecimales
- Reemplazar datos ASCII
- En el primer cuadro de texto, escriba la cadena que desea encontrar.
- En el segundo cuadro de texto, escriba la cadena con la que desea reemplazar la cadena que está buscando.
- Pulse en Buscar el siguiente.
- Pulse en Reemplazar para reemplazar la aparición actual de la cadena, o bien en Reemplazar todo para reemplazar todas las apariciones de la cadena.
- Pulse en Cancelar para cerrar el diálogo Buscar y reemplazar datos
Para añdir otra vista del archivo actual a la ventana de Editor Hexadecimal de GNOME, seleccione Ver ▸ Añadir vista.
Para quitar una vista del archivo actual, seleccione Ver ▸ Eliminar vista. Al cerrar el ultimo archivo abierto, también se cerrará la aplicación.
Cambiar el tipo de grupo de datos.
Para modificar la forma en que GHex muestra el contenidohexadecimal de un archivo en la ventana de GHex, seleccioneVer ▸ Agrupar datos como, y seleccione una de las siguientes opciones:
- Bytes: bytes únicos.
- Palabras: grupos de dos bytes.
- Palabras largas: grupos de cuatro bytes.
Para exportar los datos de la ventana de GHex a HTML, seleccione Archivo ▸ Guardar como HTML. Seleccione una carpeta y especifique un nombre para el archivo HTML y pulse Aceptar. GHex implementa las siguientes acciones:
- Crea un archivo HTML independiente para cada página de datos que se muestra en la ventana Editor Hexadecimal de GNOME.
- Usa el nombre de archivo HTML que usted especifique como base para el nombre del archivo.
- Adjudica un número de página al nombre del archivo para diferenciar los documentos.
Ver una tabla de caracteres.
Para ver una tabla que contenga las representaciones ASCII, hexadecimales, decimales, octales y binarias de los valores que van de 0 a 255, seleccione Herramientas ▸ Tabla de caracteres.
Ver conversiones de datos.
Para visualizar conversiones binarias, decimales, hexadecimales y ASCII hasta un máximo de cuatro bytes de datos, ejecute los siguientes pasos:
- Seleccione Herramientas ▸ Convertidor base.
- Seleccione una de las siguientes opciones:
- Escriba los datos que desea convertir en uno de los campos del cuadro de diálogo Convertidor base y pulse Intro.
- Si desea ver las conversiones de los datos de la posición del cursor en el archivo abierto, haga clic en el botón Recuperar valor del cursor.
- Pulse en Cerrar para cerrar el diálogo Conversor de base.
Para mostrar u ocultar el cuadro de diálogo de conversión de tipo, seleccioneVentanas ▸ Diálogo de conversión de tipo.
El cuadro de diálogo de conversión de tipos mustra el valor del carácter seleccionado en las siguientes representaciones:
- 8 bits con signo
- 8 bits sin signo
- 16 bits con signo
- 16 bits sin signo
- 32 bits con signo
- 32 bits sin signo
- 32 bits en coma flotante
- 64 bits en coma flotante
- Hexadecimal
- Octal
- Binario
- Longitud del flujo
- Mostrar la decodificación en little endian
- Seleccione esta opcion para mostrar la decodificación en little endian.
- Mostrar como hexadecimal los números sin signo y en coma flotante
- Seleccione esta opción para mostrar los números sin signo y en coma flotante como números hexadecimales.
Para imprimir un archivo, seleccione Archivo ▸ Imprimir. Seleccione las opciones de impresión que necesita en el cuadro de diálogo Imprimir y, a continuación, pulse en Aceptar.
Para obtener una vista previa de una copia impresa del archivo, seleccione Archivo ▸ Vista previa de impresión.
Guía de GHex editor hexadecimal de GNOME: procedimientos iniciales.
- Visualizar un archivo en formato ASCII y hexadecimal de forma simultánea.
- Editar un archivo en formato ASCII o hexadecimal.
Para iniciar Editor Hexadecimal de GNOME, siga los siguientes pasos:
- Menú Aplicaciones
- Seleccione Accesorios ▸ Editor hexadecimal.
- Línea de comandos
- Ejecute el siguiente comando: ghex
Al iniciar Editor Hexadecimal de GNOME, se muestra la siguiente ventana.
Al abrir un archivo en Editor hexadecimal de GNOME, la aplicación muestra dicho archivo en la siguiente ventana.
- Barra de menús
- Los menús que aparecen en la barra de menú contienen todos los comandos necesarios para trabajar con archivos en Editor Hexadecimal de GNOME.
- Una columna de desplazamientos del cursor
- El desplazamiento del cursor es la distancia entre el comienzo del archivo y el primer byte de cada línea. De manera predeterminada, Editor Hexadecimal de GNOME muestra la columna de desplazamientos del cursor en la parte izquierda de la vista hexadecimal.
- Panel de visualización en la parte izquierda
- El panel de visualización ubicado en la parte izquierda del área de visualización muestra una vista hexadecimal del archivo.
- Panel de visualización en la parte derecha
- El panel de visualización ubicado en la parte derecha del área de visualización muestra una vista ASCII del archivo.
- Diálogo de conversión de tipo
- El cuadro de diálogo de conversión de tipo debajo del área de visualización muestra el valor del carácter seleccionado en distintos formatos numéricos.
Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:
10 configuraciones para Conky atractivas y minimalistas.
Conky es una aplicación de escritorio ideada con la finalidad de ofrecer información acerca del estado del sistema.
Por ejemplo:
- El uso de la memoria.
- Un historial del uso de la CPU.
- Temperaturas.
- Velocidades de ventiralores.
- Hora-Fecha.
- Estado del Disco Duro.
Recuerden leer las instrucciones especificas de cada script, algunos necesitan ciertos plugins para poder mostrar el clima correctamente, y siempre es importante instalar las tipografías que usan, entre otros detalles.
Si te interesa profundizar el tema:
- Como crear tus propios gadgets en Ubuntu con Conky.
- Instalar Conky con previsión del tiempo en Ubuntu 10.10 Maverick Meerkat.
eOS
Conky-Vision
Black 2.0 Conky
Conky Flipclock
Flat-Weather for Conky
Dark Pixel Conky
Elementary Conky
Cloud Conky
Dinnamo Clock Conky
Helix Conky
Gscan2pdf útil herramienta para extraer el texto de archivos pdf que han sido escaneados como imagen.
Este sencillo programa permite extraer el texto de archivos pdf que han sido escaneados como imagen, de manera similar que algunos ORC's de Windows.
Su instalación es muy sencilla, viene en los repositorios de los discos y se puede instalar desde Synaptic, o se puede descargar de la página principal gscan2pdf.sourceforge.net/ . Además se va a necesitar el respectivo paquete de idioma que en mi caso es tesseract-orc-spa.
Como viene con interfaz gráfica es bastante intuitivo, pero de todas formas ahí va una pequeña intro de como sacarle el texto a un pdf formado de imagenes o una imagen.
1.- Abrimos la ventana principal.
2.- Despues vamos al menú Archivo y elegimos Importar, seleccionamos el archivo y abrir.
3.- Aparecerá una pequeña ventana indicandonos que páginas queremos analizar.
Esto es puede traer un poco de problemas porque algunos documentos e imagenes están formados por capas y cambia el orden de las páginas.
4.- Ahora se nos mostrará las imagenes de las páginas que elejimos antes.
5.- Por último, a lo que vine, buscamos la imagen que tenga texto, vamos al menú Herramientas, OCR y
se abre una ventana en la que elegimos el motor de busqueda y el idioma, seleccionamos Tessract.
6.- Automaticamente el texto en forma de imagen es extraido y está listo para copiarse.
En caso de querer sacarle texto a una imagen, en el paso 5, como motor elegimos GORC y se obtiene el texto aunque sin caracteres especiales ni tildes.
Espero que les sea útil y mas que todo les ahorre tiempo.
Capturas de pantallas.
Como liberar memoria SWAP con Swapon y Swapoff.
Después de cerrar la aplicación parte de la memoria RAM se queda libre como es obvio, pero muchos procesos que antes estaban en la memoria RAM han pasado a la Swap para dejar libre el proceso de la aplicación que acabamos de cerrar.
Eso provoca que el sistema responda con mas latencias y tarde mas tiempo en ejecutar tareas nuevas que no estén en RAM. En esos casos mucha gente lo que hace es reiniciar, pero de lejos es una opción molesta y completamente innecesaria.
Con el comando free podemos ver la memoria disponible en la terminal. Nos dice la memoria libre, la memoria ocupada por cache y la memoria ocupada por la Swap.
Por ejemplo así es como queda mi ordenador portátil después de hacer un render pesado con Blender, como podéis ver, hay mucha memoria Swap ocupada y sin embargo hay memoria RAM disponible que no se esta utilizando.
Ahora podemos pasar el contenido de la Swap a la memoria RAM, pero para ello primero nos tenemos que asegurar que la cantidad de memoria Swap utilizada ocupe menos espacio de lo que nos queda libre en la memoria RAM, obviamente seria una barbaridad forzar un traspaso de memoria Swap a la RAM si no nos queda memoria RAM libre, por que entonces ocurriría un desborde de memoria haciendo que muchos procesos vitales se colgaran y el kernel entraría en un bucle irrecuperable o mas conocido como Kernel Panic.
Por ejemplo en mi caso tengo 40,8 MB de Swap utilizada, y me queda 139,7 MB de RAM libre como podéis ver en la imagen.
Ahora tenemos que desactivar la partición Swap con la instrucción swap <función>, para desactivarla seria con el siguiente comando:
sudo swapoff -a
Con esto todas las particiones de intercambio que pudiera tener nuestro sistema se desactivaran temporalmente haciendo que todo su contenido se copie a la memoria RAM (la velocidad dependerá de lo rápida que sea la memoria RAM y el bus del chipset). Ahora volvemos a comprobar el estado con el comando free, y podemos observar que la Swap tiene 0 Bytes de capacidad, lo que significa que esta desactivado.
Ahora para volver a activarlo (no se recomienda en absoluto mantenerla desactivada), la activamos con el siguiente comando:
sudo swapon -a
Ahora al volver a ejecutar el comando free, vemos que efectivamente no se esta utilizando por que se ha copiado a la RAM, pero la partición vuelve a tener el tamaño original, es decir, que esta activado. Con esta simple función podemos ganar mas respuesta de vez en cuando si el sistema es sometido a grandes cargas de memoria. En el caso de que tengamos mas de una partición Swap, como por ejemplo ocurría con el caso de la PlayStation 3 que podíamos usar la memoria gráfica como Swap mas la que tengamos en la partición del disco duro, entonces podemos ver la prioridad de las particiones con la función -s, el comando completo seria este:
sudo swapon -s
Y nos saldrá algo así:
En mi caso solo tengo una partición que es lo recomendado para la gran mayoría de sistemas. Lo que indica diciendo -1 significa que tiene menos prioridad que la memoria RAM, si tuviésemos otra partición nos lo diría con -2, -3, etc—
Man Page (8)
NOMBRE
swapon, swapoff - (des)habilita dispositivos o ficheros para el paginado y el trasiego
DESCRIPCIÓN
Swapon se emplea para especificar dispositivos sobre los cuales van a tener lugar las actividades de paginado y trasiego. Las llamadas a swapon se hacen normalmente en el fichero de inicio del sistema en modo multi-usuario, normalmente /etc/rc, haciendo ahí que todos los dispositivos de trasiego estén disponibles, de modo que las actividades de paginado y trasiego se intercalen entre varios dispositivos o ficheros.
Normalmente, se emplea la primera forma:
-h
Proporciona ayuda.
-V
Muestra la versión.
-s
Muestra un sumario del uso del trasiego por dispositivo.
-a
Se hacen disponibles para el trasiego todos los dispositivos marcados con ``sw'', de tipo `swap', en el fichero /etc/fstab.
-p prioridad
Especifica la prioridad para swapon. Esta opción sólo está disponible si swapon se ha compilado y se está usando bajo un núcleo 1.3.2 ó superior. prioridad es un valor entre 0 y 32767. Vea swapon(2) para una descripción completa de las prioridades de trasiego. Añada pri=valor al campo de opciones de /etc/fstab para el empleo con swapon -a.
Swapoff deshabilita el trasiego en los dispositivos o ficheros especificados, o en todas las entradas de tipo `swap' de /etc/fstab cuando se da la opción -a.
El comando unix dig es una de las mejores opciones a la hora de hacer troubleshooting.
Vamos a ver unos cuantos ejemplos de algunas las posibilidades que nos ofrece.
Como siempre podrán encontrar más información en la página man del comando o la ayuda:
$ man dig
$ dig -h
Ejecución sin argumentos.
.Cuando ejecutamos el comando dig sin argumentos se realiza una consulta de los NS (Name Servers) raíz o root servers “.”. Cara al troubleshooting o debug no suele ser de mucha utilidad:
Dominio como argumento.
La forma más común y simple de ejecutar dig. En este caso pasamos como argumento el dominio a consultar. Cuando no se especifica nada se consulta siempre el registro A del dominio.
Al no especificar tampoco los servidores DNS contra los que hacer la consulta se utilizan los especificados en nuestra conexión (/etc/resolv.conf). Debemos prestar especial importancia a la sección ANSWER SECTION, ya que muestra el resultado de nuestra consulta:
Dominio como argumento y usando un name server específico.
El comando anterior usaba el DNS local especificado en /etc/resolv.conf (127.0.0.1) para solicitar el registro A del dominio, en este caso vamos a hacer la consulta contra un NS externo, el de google por ejemplo (8.8.8.8). Se indica con la IP/nombre del servidor precedida de @.
Se puede ver en la sección final como se especifica el servidor que utilizamos para la query (negrita). La respuesta debería ser la misma que los servidores autoritativos del dominio, en caso contrario podría haber envenenamiento DNS, DNS spoofing…:
Especificar el registro (A, NS, MX, CNAME…) a consultar.
Como decía antes, por defecto se consulta el registro A del dominio, pero podemos especificar el tipo de registro que queramos (ANY, NS, A, MX, SIG,SOA…):
Consultar todos los registros de la zona DNS.
En lugar de especificar el tipo de registro a mostrar (A, MX, CNAME, AAAA…) podemos decir directamente que consulte todos los que se sirven en la zona DNS del dominio con el parámetero ANY:
Hacer debug con el parámetro trace.
El parámetro “+trace” es muy útil para hacer debug ante problemas de resolución DNS ya que permite ver la traza y saltos de la petición hasta que llega al servidor autoritativo que ofrece la respuesta del registro:
Para realizar consultas de reverse DNS tenemos el parámetro -x:
El Mundo de Ubuntu en las Redes Sociales
Espero que esta publicación te haya gustado. Si tienes alguna duda, consulta o quieras complementar este post, no dudes en escribir en la zona de comentarios. También puedes visitar Facebook, Twitter, Google +, Linkedin, Instagram, Pinterest, restantes Redes Sociales y Feedly donde encontrarás información complementaria a este blog. COMPARTE EN!