Buscar aquí

23 junio 2014

Conectar pidgin a chat corporativos

Pidgin, tiene un plugin llamado sipe, que permite conectarlo a los chat corportivos basados en Microsoft, como por ejemplo office-communicator o lync.  La instalación es muy simple, en Fedora 20 viene como un paquete separado: pidgin-sipe se instala y reinician pidgin (SÓLO PIDGIN) y verán en la lista de tipos de cuenta la opción office-communicator :D

07 abril 2014

"Matar" una sesión ssh "colgada" en espera de desconexión

Muchas veces pasa, que una sesión ssh queda colgada si existe algún problema de comunicación... no tomando en  cuenta ninguna tecla que apretemos, sea enter o letra, y la espera para la desconexión -en mi caso- suele ser largo, entonces me resulta más rápido, enviar el caracter de escape a la sesión y terminarla de manera forzada.  Así, por ejemplo, si tenemos la consola "pegada", muchas veces la solución es lanzar un kill o cerrar la consola, pero con eso, perdemos la historia... entonces la opción es como decía, presionar las teclas para el caracter de escape y cerrar la conexión.  En el caso del Fedora 17 y el paquete ssh es el caracter ~ seguido de un punto. En la práctica sería así:

consola "pegada":

entonces presiono la tecla alt gr + ñ y eso es igual al caracter ~
después presiono la tecla . (punto)
y debieran ver el mensaje "Conexión finalizada a satisfactoriamente" o su equivalente en inglés.

ojo, que si bien el caracter ~ está en mi teclado, el efecto no es el mismo, tiene que ser con la letra ñ...

Ahora como sé que este es el procedimiento... porque aparece en el man de ssh:

-e escape_char
             Sets the escape character for sessions with a pty (default: ‘~’).
             The escape character is only recognized at the beginning of a
             line.  The escape character followed by a dot (‘.’) closes the
             connection




23 enero 2014

Crear "apodos" para comandos largos o comunes o complicados

Hay comandos que usamos muy a menudo y que probablemente son cosas largas como:

ll | sort -n +4 | tail

claro ejecutarlo una vez no es nada, pero si usamos un alias, podemos tan sólo ejecutar por ejemplo llsrt, cómo hacer esto? simple... usamos el comando alias para hacer este "apodo" así:

alias llsrt="ll | sort -n +4 | tail"

y con esto cada vez que ejecutemos llsrt, será lo mismo que ll | sort -n +4 | tail (esto ordena los archivos en el directorio local por tamaño y muestra los más grandes)

ahora, esto durará sólo nuestra sesión en la consola.  Para hacerlo permanente y usable en cualquier sesión del usuario, podemos agregarlo a nuestro archivo de profile de usuario, que es el archivo que tiene las opciones de inicio de sesión, así dependiendo del shell es el archivo de profile.  Aprovechando de matar dos pájaros de un tiro, para saber que shell se esta usando hay que ejecutar:

echo $SHELL

entonces si el shell es:

- /usr/bin/sh es .profile
- bin/csh es .login
- /usr/bin/ksh es .profile
- bin/bash es .bash_profile

editarlo y agregar la línea del alias.

Si fuera necesario quitar en medio de la sesión el alias, puede ejecutar unalias y listo... el alias es eliminado.

El archivo de profile se encuentra en el home del usuario, si no conocen cual es el home del usuario, pueden usar el comando cd (así tal cual, sólo sin nada más y les llevara al home y ahi estará el archivo .profile) y al editar el .profile, quedará disponible sólo para ese usuario.




30 octubre 2013

usar el punto . en búsquedas con grep


Grep es una gran herramienta para buscar, pero usar un punto . dentro del texto, lo torna problemático, pues lo considera como un reemplazo para cualquier carácter y si queremos buscar todos los archivos o palabras en un archivo donde hay un listado de archivos y se busca una extensión o tipo de archivos en particular, si usamos:

find /home/katador > archivosenhome

y ahora quiero buscar todos los archivos con extensión java dentro de archivosenhome... si uso:

grep .java archivosenhome

va a mostrar un listado gigantesco donde txt no necesariamente es la extensión, sino dentro del nombre...

/home/arturo/eclipsework/mytracker/src/com/example/mytracker/MainActivity.java
/home/arturo/eclipsework/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt
/home/arturo/.eclipse/org.eclipse.platform_4.2.0_793567567/configuration/org.eclipse.osgi/bundles/450/1/.cp/images/topiclabel/ov_javadev48.gif

Como ven... muestra todo tipo de cosas... ahora si yo quiero sólo, pero sólo los archivos .java ejecuto:

grep "\.java" archivosenhome

las "" indican que sea ese  texto y el \ es para "escapar" el punto e indicar que es un caracter más, no para que lo use como reemplazante.  OJO que con esto mostrará todas las líneas que terminan con .java

Finalmente, si quiero buscar un texto que está en cualquier parte incluyendo el punto, se debe:

grep "\."texto archivosenhome

con esto, mostrará todas las líneas que tienen .texto en cualquier lugar.

Otra opción es utilizar la opción -F en grep, y el comportamiento es igual que la segunda opción, sería usar un:

grep -F .texto archivosenhome 

Esto también fue probado en HPUX y funciona igual que lo descrito.


28 octubre 2013

¿Dónde está el ícono para conectarme a una red Wifi o de cable?

Muchas veces de seguro, ha pasado que por algún desconocido motivo este ícono:



se desaparece sin más ni más y no podemos realizar ninguna conexión de red.  Este ícono, es el applet de NetworkManager, un servicio que viene en linux y que ayuda a manejar las conexiones de red facilmente y para recuperarlo hay dos opciones:
  • Levantar el applet (ícono) a mano.
  • Realizar la operación a mano, vía línea de comando.

Para levantar el applet a mano, es simple, se abre una terminal y ejecutamos el comando:

nm-applet&

Tras la ejecución se verá inmediatamente el ícono en el área de notificación y debiera funcionar normalmente.

Para ejecutar las mismas tareas vía línea de comando se debe utilizar nm-cli, que es un comando que nos ayuda a ejecutar acciones sobre NetworkManager vía línea de comando.

Primero, es necesario saber como se llama la conexión que queremos utilizar, para ello, ejecutamos nmcli con los siguientes parámetros para listar las conexiones disponibles:

[katador@laptop3 ~]$ nmcli con list
NAME                      UUID                                   TYPE              TIMESTAMP-REAL                   
ArtAP                     e1bd410a-8ac9-427d-bae2-0229682c4181   802-11-wireless   Thu 12 Sep 2013 03:40:58 PM CLST 
GUEST-TM                  a6b68d82-17a9-4645-b30c-ebc431f7ddf7   802-11-wireless   Fri 27 Sep 2013 04:36:02 PM CLST
System p4p1               1d265048-8f7f-40b4-b27d-b68db9821698   802-3-ethernet    Tue 22 Oct 2013 10:25:53 PM CLST
VPN1                        8f119f52-386a-4f05-a632-0aa6d9e24480   vpn               never                          

En este caso ArtAP, es una red Wifi de mi telefono celular y GUEST-TM es una wifi de oficina.  La de cable es System p4p1, y es la que me interesa habilitar, entonces, debemos ejecutar nmcli de la siguiente forma:

[katador@laptop3 ~]$ nmcli con up id "System p4p1"


con esto, realizo la conexión de cable, para una wifi es igual.

Es importante notar que las conexiones que se ven en el listado que entrega nmcli, son las que están previamente guardadas en la applet, no las nuevas o "desconocidas".

Actualización: en fedora 20, viene separado en el paquete network-manager-applet

23 octubre 2013

buscar programas con yum

Generalmente estamos acostumbrados a  buscar sólo una palabra con yum, pero también podemos usar dos o más, así, si buscamos por ejemplo:

yum search window manager

nos mostrará todos los programas que tengan ambas palabras, no necesariamente juntas, ahora si nos interesa que estén juntas, hay que usar

yum search "window manager"

y así se obtiene, una lista donde ambas palabras están así, juntas...


10 junio 2013

Manejar una pantalla extra en X

Cuando se usa un laptop, se suele hacer necesario un monitor extra, y muchas veces al usar linux el botón de cambio de pantalla no funciona expandiendo el escritorio, sólo lo duplica o traspasa de una pantalla a otra.  Una solución, es utilizar el comando xrandr, que ayuda de manera muy simple a la manipulación de X y monitores.

Primero, xrandr así, sin parametros, entrega la información de los monitores conectados.  Así, si no existe ningún monitor extra conectado, arrojará algo como esto:

[ktdr@note3 ~]$ xrandr

Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS connected 1366x768+0+0 (normal left inverted right x axis y axis) 309mm x 174mm
   1366x768       60.0*+
   1280x720       59.9 
   1152x768       59.8 
   1024x768      120.1     60.0     59.9 
   960x720       120.0 
   928x696       120.1 
   896x672       120.0 
   800x600       120.0     60.3     59.9     56.2 
   848x480        59.7 
   700x525       120.0 
   720x480        59.7 
   640x512       120.0 
   640x480       120.0     59.9     59.4 
   512x384       120.0 
   400x300       120.6    112.7 
   320x240       120.1 
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)

Lo importante de aquí, es:
  • La resolución utilizada actualmente (la que tiene el *),
  • Los nombres de los monitores, es muy importante, pues estos nombres se usan con el comando.
Ahora, si se conecta, por ejemplo, una telvisión:
[ktdr@note3 ~]$ xrandr
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
VGA-0 connected (normal left inverted right x axis y axis)
   1360x768       60.0 +
   1280x768       59.9 
   1280x720       60.0 
   1024x768       60.0 
   800x600        60.3 
   640x480        60.0 
LVDS connected 1366x768+0+0 (normal left inverted right x axis y axis) 309mm x 174mm
   1366x768       60.0*+
   1280x720       59.9 
   1152x768       59.8 
   1024x768      120.1     60.0     59.9 
   960x720       120.0 
   928x696       120.1 
   896x672       120.0 
   800x600       120.0     60.3     59.9     56.2 
   848x480        59.7 
   700x525       120.0 
   720x480        59.7 
   640x512       120.0 
   640x480       120.0     59.9     59.4 
   512x384       120.0 
   400x300       120.6    112.7 
   320x240       120.1 
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)

Se puede ver que VGA-0 está conectado e indica la resolución actual (también con el *).

Ahora, para hacer una extensión del escritorio se utiliza un comando como:

xrandr --output VGA-0 --right-of LVDS --auto

Aquí, se indica que la salida de VGA-0 va a la derecha de LVDS (la pantalla del laptop)  y el --auto, seleccionará la mejor resolución.

Un detalle importante, es que si se suspende o hiberna el laptop podría aparecer con un escritorio más grande que la pantalla, para eso sólo es necesario ejecutar:

xrandr --output VGA-0 --auto

con esto, se detecta que no está conectado y se ajusta automaticamente el tamaño del escritorio.