Mostrando entradas con la etiqueta trucos. Mostrar todas las entradas
Mostrando entradas con la etiqueta trucos. Mostrar todas las entradas

lunes, 7 de septiembre de 2015

Usando Meld con Git en Linux

Cuando usamos Git, podemos ver los cambios entre dos commits con el comando diff:

git diff master development

Sin embargo la salida del diff puede llegar a ser confusa, especialmente si hay muchos cambios entre las versiones. Uno de los programas gráficos más conocidos para visualizar estos diffs es Meld. Para que Git utilice Meld a la hora de visualizar las diferencias basta con escribir:

git config --global diff.tool meld

El --global sirve para que el cambio se aplique a todos los repositorios Git del sistema. A partir de ahora, bastará con hacer:

git difftool master development

O, si se quiere comparar a nivel de directorios, en lugar de entre archivos individuales:

git difftool -d master development


domingo, 16 de junio de 2013

Creando túneles SSH con Putty

Para transferir archivos con un servidor del trabajo, me resulta muy cómodo usar WinSCP. El problema surge cuando me conecto desde mi piso, y he de entrar primero al servidor general de SSH y, una vez ahí, acceder al servidor en cuestión mediante su IP interna. En este caso no podía usar WinSCP y tenía que transferir los ficheros manualmente con scp… hasta ahora.

¿La solución? Accedemos al servidor en cuestión con un cliente SSH como Putty y establecemos un túnel SSH entre el servidor y nuestro PC. A continuación conectamos WinSCP al “lado” del túnel que se encuentra en nuestro PC, y de forma transparente la información llegará al otro “lado”, es decir, al servidor.

Para que se entienda mejor, he hecho un pequeño esquema:

image

Tenemos por un lado el PC de mi casa. Desde él, puedo hacer un SSH al servidor SSH a través de Internet, pero no al servidor destino, ya que éste no tiene su IP ni su puerto SSH conectado a Internet, sino a la red interna. Lo que queremos conseguir es algo parecido a la flecha verde de arriba: conectarnos al servidor destino de manera que el resto de aplicaciones crean que se trata de una conexión directa.

Hacer esto con Putty es muy sencillo. Comenzamos abriéndo Putty y estableciendo los datos generales de la conexión:

image

En “Host Name” he puesto la dirección del servidor SSH, desde el cual tengo que acceder a servidor destino. Podemos cambiar también la codificación de caracteres (en Window>Translation) y poner el nombre de usuario por defecto en Connection>Data. Pero vayamos a la parte interesante:

image

En Connection>SSH>Tunnels podemos establecer nuestro túnel. Para ello, en Source Port pondremos nuestro “lado” del túnel, es decir, el puerto de nuestro PC que vamos a conectar con el servidor destino. En Destination pondremos el otro “lado” del túnel, es decir, la dirección y el puerto del servidor destino una vez que hemos entrado en el servidor SSH. Por último pulsamos en Add y podemos ver que se ha añadido una línea como la que he tachado parcialmente en azul. Básicamente esto dice: “Cuando nos conectemos al puerto 2222 de nuestro PC, en realidad accederemos al servidor destino Y:22, que se encuentra dentro de la conexión SSH que hemos establecido previamente con el servidor SSH X:22. Si abrimos ahora la conexión, podemos comprobar cómo funciona perfectamente:

image

Como vemos, cuando accedemos al puerto 2222 de nuestra máquina, vemos el SSH del servidor destino. Ahora que vemos que el túnel funciona, sólo queda conectarnos con WinSCP directamente a localhost:2222, y podremos acceder directamente al servidor destino gracias al túnel SSH.

image

sábado, 1 de septiembre de 2012

Ejecutando la radio al inicio automáticamente

Dado que ya tengo la radio mínimamente funcional, una de las cosas que quería hacer es ejecutarla automáticamente al inicio del sistema, para que pueda utilizarla sin necesidad de conectarme al RPi por SSH para iniciar el programa.

En Internet he encontrado muchas formas de hacerlo, yo explico aquí una, pero seguramente habrá otras muchas que sirvan perfectamente. La información la obtuve de un post de StackOverflow.

En la mayoría de sistemas Linux, el proceso de arranque es el siguiente:

  • El bootloader termina de cargar.
  • Se ejecutan los scripts de /etc/rc.sysinit
  • Se consulta en qué runlevel debe establecerse el sistema consultando /etc/inittab
  • Se ejecutan los scripts del runlevel correspondiente, situados en /etc/rcX.d, donde X es el runlevel del sistema (0, 1, 2…)
  • Por último, se ejecutan los scripts de /etc/rc.local

Como queremos que nuestro sistema sea completamente funcional cuando arranquemos nuestra radio, debemos iniciarla desde /etc/rc.local. Para ello basta con abrir este archivo con permisos de administrador con un editor de texto:

sudo nano /etc/rc.local

Y añadir al final del fichero, justo antes del exit, nuestro programa como podemos ver en la imagen:

image

Ya sólo queda guardar el texto (Ctrl+O), Cerrar nano (Ctrl+X) y reiniciar el sistema. Si todo ha sido correcto, la radio debería arrancar automáticamente. Dejo un vídeo de cómo me funciona a mí:

martes, 28 de agosto de 2012

Atajos de teclado en la búsqueda de Google

Desde hace tiempo es posible utilizar la búsqueda de Google utilizando tan sólo el teclado. Pruébalo: abre una ventana con la página de Google, escribe algo para buscar y pulsa Intro. Hasta ahí todo normal, lo bueno viene ahora.

Si pulsas Tabulador, aparece una flecha azul a la izquierda del primer resultado, y podemos movernos entre resultados mediante las flechas del teclado (arriba y abajo). Si queremos acceder a un resultado concreto basta con poner la flecha sobre él y pulsar Intro, y si queremos volver a buscar, basta con seguir escribiendo y automáticamente el cursor vuelve a la caja de búsqueda.

Lo que puede pasar es que nada de esto ocurra, que es lo que me pasó a mí hace unos meses, coincidiendo con unos cambios en la interfaz de Google, y supuse que habrían eliminado esta característica por falta de uso. Sin embargo lo que pasaba es que tenía deshabilitado Google Instant (es decir, que Google empiece a buscar resultados mientras escribimos y no cuando pulsemos en buscar) y se ve que esto también deshabilita los atajos de teclado.

Para volver a activar Google Instant, basta con buscar algo en Google y pulsar sobre el icono de configuración de la parte superior derecha de la página (el del engranaje). En el menú seleccionamos Ajustes de búsqueda (la primera opción) y seleccionamos "Mostrar siempre resultados de Google Instant". Sólo queda guardar los cambios y ya se podrá usar sin problemas.

Lo ideal sería que estos atajos viniesen habilitados por defecto, ya que ahora hay que tener la sesión iniciada para que Google recuerde tus preferencias, pero al menos ya puedo volver a usarlos, que no es poco.