Viernes 23 de septiembre de 2016

Mario Oyorzábal

Mario Oyorzábal
TuXsOuL

mate segfault por incompatibilidad de gtk en stretch

Una de las cosas por las que me gusta trabajar con GNU/Linux Debian, es las diferentes ramas que tiene y el uso especifico que se les da, por ejemplo, para sistemas en producción, que están expuestos a internet usamos la rama “stable” (estable), obviamente por razones de seguridad y estabilidad, para algunos sistemas que no están expuestos a internet, por ejemplo una intranet o de uso personal, me gusta usar la rama “testing” (prueba), ya que permite tener software más actualizado, pero que podemos tener alguno que otro programa roto en funcionamiento o que puede una aplicación romper a otra.

Usando la rama “testing” actualmente conocida como “stretch” y después de cambiar el ambiente gráfico de “gnome” a “mate“; para mi gusto “mate” es lo que principalmente me agradaba de “gnome” antes; aproximadamente en una actualización a finales de agosto, comienzo a notar una serie de “segfault’s” como se puede ver en la siguiente salida filtrada de log:

Aug 30 13:31:34 localhost kernel: [ 1477.591409] mate-panel[3190]: segfault at ffffffff ip b720517f sp bf8eb920 error 5 in libgtk-3.so.0.2000.9[b6e6f000+7d3000]
Sep  6 11:44:47 localhost kernel: [  649.424976] mate-terminal[6525]: segfault at bf23ad18 ip b628badb sp bf23ad00 error 6 in libc-2.23.so[b6257000+1ad000]
Sep  6 11:44:57 localhost kernel: [  659.608839] mate-terminal[6562]: segfault at bf535d38 ip b630badb sp bf535d20 error 6 in libc-2.23.so[b62d7000+1ad000]
Sep  6 11:45:11 localhost kernel: [  672.915031] mate-terminal[6576]: segfault at bf78ade8 ip b62e8adb sp bf78add0 error 6 in libc-2.23.so[b62b4000+1ad000]
Sep  6 11:48:54 localhost kernel: [  896.160228] caja[6254]: segfault at bf11efe8 ip b6065adb sp bf11efd0 error 6 in libc-2.23.so[b6031000+1ad000]
Sep  6 11:49:09 localhost kernel: [  910.938601] caja[6625]: segfault at bf615e48 ip b60b2adb sp bf615e30 error 6 in libc-2.23.so[b607e000+1ad000]
Sep  6 11:50:02 localhost kernel: [  964.724594] caja[6641]: segfault at bf39eff0 ip b6057b1a sp bf39eff4 error 6 in libc-2.23.so[b6023000+1ad000]
Sep  6 11:50:06 localhost kernel: [  968.442151] caja[6717]: segfault at bf721f28 ip b611fadb sp bf721f10 error 6 in libc-2.23.so[b60eb000+1ad000]
Sep 19 18:07:11 localhost kernel: [  134.419892] caja[2549]: segfault at bf3e1f58 ip b60b7adb sp bf3e1f40 error 6 in libc-2.23.so[b6083000+1ad000]
Sep 19 18:31:35 localhost kernel: [ 1598.396412] caja[2864]: segfault at bf2e5ffc ip b6128796 sp bf2e5ff0 error 6 in libc-2.23.so[b60f4000+1ad000]
Sep 19 18:37:11 localhost kernel: [ 1934.770757] caja[3949]: segfault at bf45beb8 ip b60b4adb sp bf45bea0 error 6 in libc-2.23.so[b6080000+1ad000]

El problema se manifestaba de la siguiente manera, el ambiente gráfico de “mate” si cargaba sin problema alguno, pero al entrar la letra que tenia era un poco diferente a lo usual, al tratar de abrir “caja” el administrador de archivos no se abría, en el caso de la terminal o consola se abría la ventana pero el contenido estaba siempre en blanco o vacío por lo que no se veía nada aunque se ejecutará un comando, dado los “segfault’s” anteriores, aplicaciones como “chromium” o “libreOffice” funcionaban sin ningún problema aparente.

Al principio no le di importancia, la mayor parte de mi trabajo lo hago en una consola o terminal via conexiones ssh, lo que hacía era usar las terminales virtuales que se tienen F1, F2, etc, por otro lado suele ser en cierto punto normal en la rama de “testing” tener detalles así, que después gracias a maintainers en debian y a la comunidad, se reportan y solucionan.

Haciendo una búsqueda para ver que pasaba, ya que era necesario ejecutar algunas aplicaciones propias de “mate”, encontré un reporte en github el #627, en el que se daba a conocer el problema.

“Mate” esta siendo afectado por una actualización a las siguientes librerías: gir1.2-gtk-3.0, libgail-3-0, libgtk-3-0 y libgtk-3-bin, las cuales se actualizaron de la versión 3.20.7-1 a la 3.21.5-3, lo que rompió de cierta forma a “mate” ya que no es compatible con esas versiones.

Para arreglar el problema tenemos dos opciones, esperar a que se actualice “mate” a la versión 1.15 o en su caso y más rápido, des-actualizar las librerías mencionadas a una versión anterior, para esto se puede utilizar el siguiente repositorio en el “source.list” y recomiendo el uso de aptitude, que para mi es mejor:

# version anterior de librerias para mate
deb http://snapshot.debian.org/archive/debian/20160818T221621Z/ testing main contrib non-free

Con lo anterior y una vez des-actualizadas las librerías deberíamos tener algo como lo siguiente:

stretch_mate_gtk_packages_627

Como aún no se cuenta con “mate” 1.15 en debian, es posible que este detalle se tenga por un algún rato, en lo que se lleva a cabo la inclusión de los nuevos paquetes, ya que no creo que se incluyan correcciones a la versión 1.14 que esta de salida, dado que en la página del proyecto de “mate” se ve que va por la versión 1.16.

Ha este momento mi escritorio funciona bien y no he tenido que ejecutar ningún otro comando.

Sábado 17 de septiembre de 2016

Mario Oyorzábal

Mario Oyorzábal
TuXsOuL

sat-cfdi

Hace tiempo algunos compañeros y conocidos, me habían sugerido la creación de algún software o librería, para la creación de facturas digitales o CFDI que utilizamos en México, el cual es principalmente una estructura XML con elementos de control y validación, además de los ya conocidos elementos que conformaban lo que era una factura en papel.

En ese entonces, comenzaron a salir varias herramientas para la creación y emisión de facturas, por ejemplo en mi caso, como freelance utilizo los servicios de Factura Gorila, una aplicación que a mi parecer es excelente; así como también el SAT, promovió para quienes creaban sus facturas con medios propios los PAC, que son entidades autorizadas por el SAT utilizadas para la certificación de los archivos XML.

Viendo lo anterior y al no tener o ver una necesidad que faltará cubrir, dejé el tema y solo me mantuve informado de las modificaciones y noticias del SAT sobre la facturación.

En estos últimos días, se me ha presentado la necesidad de crear y emitir facturas por medios propios, bueno, por software propio o de creación propia.

Lo primero que hice fue buscar el famoso “Anexo 20” del SAT, en ese archivo esta contenida la estructura que debe de tener el archivo XML. También busque si existían librerías que permitieran la creación de archivos XML validos, lamentablemente, ninguno cubría mis necesidades, por lo cual opte por crear una librería propia.

La idea de crear una propia librería, es que pueda crear una estructura limpia y válida, así como también incluya información para interactuar con la API de PAC’s autorizados por el SAT, para conseguir el timbrado y la certificación del XML, es decir, me permita crear, timbrar y me regrese además la información necesaria para crear el archivo PDF para la presentación del XML, sin olvidar que se pueda adaptar a las nuevas modificaciones que el SAT vaya solicitando.

El proyecto tiene el nombre de “sat-cfdi“, tal vez cambie en el futuro, dado que no soy bueno para los nombres.

Al ser un proyecto nuevo, muchas cosas faltan aún, como por ejemplo: validación de los diferentes datos entre ellos los rfc’s, consulta de la lista LCO, creación del código QR, la creación de addendas y en un futuro algo muy ambicioso es el que se pueda utilizar esta librería en cualquier proyecto sin importar el lenguaje de programación que se este utilizando.

Como siempre pasa, al ser una necesidad de un proyecto que estoy desarrollando, me estoy dando cuenta de cosas que hacen falta y que poco a poco iré implementando para cubrir dichas necesidades.

Si te es útil el proyecto no olvides hacerlo saber, así como también enviar tus ideas y sugerencias.

Martes 06 de septiembre de 2016

Héctor Daniel Cortés

Héctor Daniel Cortés
'Aztec Eagle' Turbo

PostreSQL-azos!


UPDATE formatos_etiquetas_mineros SET descr=v.description FROM
(SELECT formatos_etiquetas_mineros.id, etiquetas.descr || ' [' || etiquetas.etiqueta || '] ' || mineros.tipo AS description
FROM formatos_etiquetas_mineros
JOIN formatos ON formatos_etiquetas_mineros.formato = formatos.id
JOIN etiquetas ON formatos_etiquetas_mineros.etiqueta = etiquetas.id
JOIN mineros ON formatos_etiquetas_mineros.minero = mineros.id
WHERE mineros.tipo
'None') AS v
WHERE formatos_etiquetas_mineros.id=v.id

Jueves 30 de junio de 2016

Héctor Daniel Cortés

Héctor Daniel Cortés
'Aztec Eagle' Turbo

Fedora 24 en FitPC 1

¡Al fin!
Fedora 24 corriendo (en realidad, caminando) en la FitPC. Nada mal para un equipo de más de diez años.

Miércoles 18 de mayo de 2016

Mario Oyorzábal

Mario Oyorzábal
TuXsOuL

capsula cifrada del tiempo

Hace tiempo vi un documental de Stephen Hawking, el cual trataba sobre el “tiempo” y no me refiero a como estará el clima, en el documental realizo un pequeño experimento, con el objetivo de comprobar que los viajeros a través del tiempo no existen, en caso contrario, ya estarían entre nosotros.

El experimento que realizo es muy sencillo, se dispuso hacer una fiesta en la cual el invitado de honor seria un viajero del tiempo, para estar seguros que solamente alguien del futuro asistiría a la fiesta, mantuvo en secreto los detalles de la misma, fecha, hora y coordenadas de la ubicación geográfica de la fiesta. Como era de esperarse nadie asistió, por lo que Stephen Hawking, concluyo que los viajeros en el tiempo no existen.

No pienso lo mismo que Stephen Hawking, hay muchos factores para que un viajero del tiempo no asistierá a la fiesta, obviamente, una de estas razones podría ser, que no es posible para un ser humano viajar en el tiempo.

Uno de estos factores es la propia invitación que se le hace al viajero del tiempo, no sabemos como nuestro mensaje pueda durar algunos años, o por que no hacerla que dure miles de años, para que nuestro viajero del tiempo lea nuestra invitación y guste de pasar un buen rato charlando con nosotros.

Tanto para nosotros (presente) y personas del pasado, tenemos una manera sencilla de enviar información u objetos al futuro, mediante una “cápsula del tiempo“, lamentablemente, esta opción tiene dos inconvenientes, se puede presentar un daño a lo que se envíe, si no se hace de la manera correcta; segundo, no es posible evitar que alguien acceda al contenido de manera anticipada a la fecha que se desea que se abra, ademas de que puede ser robado su contenido.

La otra opción es la manera digital, crear contenido y aplicarle cifrado, para que en “teoría”, nadie pueda ver el contenido, este método también tiene sus ventajas y desventajas; ventaja, muy económico el crearlo y no requiere mucho esfuerzo; desventaja, el contenido digital es mas fácil de eliminarse o corromperse con el tiempo, sin dejar huella, en alguna ocasión leí un artículo que trataba este problema, si dejáramos de usar papel y ser ciento por ciento digitales.

Y es así, como cree mi pequeña cápsula del tiempo digital, versión cifrada, por lo que estuve estudiando que algoritmos aplicar, que configuraciones, etc., la teoría dice que debería de pasar como mínimo mil años, para que alguien o algo accediera al mensaje que cree, pero la verdad no lo creo tanto, así que mínimo quiero pensar que pasaran cincuenta años, si no es que la primer computadora cuántica hace su aparición o en su caso skynet.

Con la siguiente información se puede crear el archivo “capsula.txt”:

 [email protected]:~$ cat capsula.txt
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

No olvidar de introducir un salto de línea al final, el archivo debe tener 79 líneas.

Al crear el archivo “capsula.txt”, debe validar con el siguiente hash:

 [email protected]:~$ sha256sum capsula.txt 
2256ba58a874f3acc5f4d868027a56e8076372edf096585fec5c64564433c1ed capsula.txt 

El mensaje anterior, se creo en otra computadora, la cual ha sido formateada y se le aplico sobre escritura de datos aleatorios al disco duro de varias pasadas, se que eso no basta, así que utilice otros métodos adicionales.

Si te interea particiar en el experimento, puedes publicar el contenido del archivo “capsula.txt” en un post de tú blog, o solo guardándolo en tú disco duro o memoria usb. La intensión no es ganar enlaces a este post, por lo que eso lo dejo a tú criterio.

Ahora solo queda esperar, para ver que sucede.

 

Viernes 06 de mayo de 2016

Max Valdez

Max Valdez
GaRaGeD Style

honeypot para web: glastopf sobre raspberry pi

Vamos a ver rápidamente cómo instalar rápidamente un honeypot para web sobre una raspberry pi 3, debería ser casi tan sencillo instalarlo en una versión anterior, con la diferencia de que en este caso estoy usando la tarjeta WIFI interna que trae la nueva versión, en la versión 2 podría haber usado un adaptador WIFI USB, que no tiene gran ciencia tampoco, en particular he usado los tp-link que son pequeñitos y totalmente compatibles con raspbian/Linux en general.

En esta ocasión no tenía una máquina con lector de memorias SD a la mano, así que tuve que usar una iMac (si, ya se) y fue particularmente latoso el proceso, la formateada de la tarjeta es sencilla, google es tu amigo!, pero la copiada de la imagen de raspbian por “dd” tomó algo así como 3 o 4 horas, una cosa ridícula. No recuerdo cuánto tomó la vez anterior en mi laptop, pero estoy seguro que no fue tanto, la próxima vez que haga el proceso voy a tomar el tiempo en linux y actualizo la nota para comparar.

Una vez que raspbian ya está instalado y corriendo recomiendo cambiar la clave y aumentar el tamaño de la partición al máximo con el comando:

$ sudo raspi-config.

Posteriormente instalas los prerequisitos, este es el resumen de lo que instalé:

$ apt-get install python-mysqldb python-chardet python-requests python-sqlalchemy python-lxml python-gevent libevent-dev python-dev build-essential make
$ apt-get install screen

el segundo renglón es para tener el “multiplexor” de consola, porque es una lata eso de estar conectando múltiples veces en diferentes ventanas, si no sabes usarlo, es buen momento para aprender, aunque no voy a mencionar nada más al respecto en este post.

Con eso podemos correr el comando de instalación de glastopf:

pip install glastopf

Si llegara a fallar, hay que poner atención a la salida para encontrar qué faltó, seguramente es algún prerequisito, y lo más probable es que se pueda instalar de paquete.

Después de eso instalas el analizador, para ello hay que instalar los prerequisitos:

apt-get install libdancer2-perl libgeo-ip-perl libdbi-perl libclass-dbi-sqlite-perl

Y después hay que clonar el repositorio y configurarlo tal y como se describe en la página de glastopf-analytics.

En resúmen:

$ git clone https://github.com/vavkamil/Glastopf-Analytics.git
$ cd Glastopf-Analytics/
$ vi lib/MyWeb/App.pm
$ perl ./bin/app.pl

Visitamos http://[IP de la raspi]:3000 y vemos algo similar a esto:
glastopf

Con eso pueden empezar a probar ataques a aplicaciones web, glastopf tiene una buena cantidad de respuestas adecuadas para muchos atáques típicos, en especial los de acceso a archivos locales, y a inyecciones SQL.

Si empiezo a ver cosas interesantes las agregaré por aquí.

Martes 19 de abril de 2016

Max Valdez

Max Valdez
GaRaGeD Style

Vamos a ponerle alegría a esto

Me gusta mucho este arreglo de Samba pa ti, y es una de las primeras rolas que empecé a intentar en la guitarra, como lo mío no es el arte (de hecho no se qué es lo mío todavía), en realidad ni me sale todavía, pero eso no quita que me guste mucho la rola, y en particular este arreglo que está bastante sencillo.

Ahí se los dejo para la posteridá

p.d. algún día espero tocarla más o menos bien, como para subir mi propio video haciendole cover al cover.

Lunes 07 de marzo de 2016

Héctor Daniel Cortés

Héctor Daniel Cortés
'Aztec Eagle' Turbo

Informe PAPIME

Dice el dicho «No hay plazo que no se cumpla» y ha llegado la hora de presentar el Informe Final del Proyecto PAPIME.

Estaré ocupado.

Sábado 13 de junio de 2015

Iván Alemán

Iván Alemán
Iván Alemán

Dynamically change the font size under rxvt-unicode (urxvt)

Terminal-icon

Like many, I have had my fair share of terminal emulators, from the good ol’ days of Konsole, xterm, gnome-terminal, Terminator and Eterm to name a few until I finally settle down with rxvt more specifically with rxvt-unicode.

There are many things that urxvt does well, but dynamically handling the size of a font is not one of them, it was not conceived in that way or oriented towards a desktop environment (DE) in particular. But it’s meant to run almost everywhere.

But, there is always hope!

And in this case you can add support for dynamically changing the font following some easy steps.

Go grab the required perl extension1.

https://github.com/majutsushi/urxvt-font-size

Install the extension (or create a link) in the directory:

$HOME/.urxvt/ext

Add the script instruction to the file you use to keep your urxvt configuration either .Xresources or .Xdefaults so it will be loaded on the next session.

URxvt.perl-ext-common:  ...,font-size

And after loading the script add the following lines to control the
behavior, this keybindings work under urxvt version 9.14 and onwards:

URxvt.keysym.C-Up:     perl:font-size:increase
URxvt.keysym.C-Down:   perl:font-size:decrease
URxvt.keysym.C-S-Up:   perl:font-size:incglobal
URxvt.keysym.C-S-Down: perl:font-size:decglobal

The keybindings basically work like this, pressing the control key plus the up or down key will increase/decrease the font size for the actual terminal, pressing the same keys plus shift key will increase/decrease the font size of all the terminals open (once all the urxvt sessions have loaded the new configuration) and this is it!

Now, urxvt is a little bit more wise and useful.


  1. Thank you majutsushi for this perl extension. 

Miércoles 04 de marzo de 2015

Iván Alemán

Iván Alemán
Iván Alemán

Compiling Synergy for OS X Yosemite

First, a brief history of why do this…

Terminal-icon
I have two computers in my desk and having two sets of keyboards and mice takes too much space on top of that, sometimes I found myself typing in the wrong keyboard which could be problematic. Thus having one set of peripherals and a way to use them in both computers is something I find useful. Enter Synergy.

Why Synergy and not a (hardware) KVM?

For starters, Synergy used to be a completely free project and very easy to install under GNU/Linux most of the time, the configuration was/is a proper UNIX™ like using text files and in general was easy to find, setup and use. Nowadays Synergy is not easy to get since (still a FLOSS project) its developers have decided to charge one time US$5 fee, paying this fee (supposedly) makes very easy to obtain it and allows its development to keep going but if you don’t want/like to pay for it1 developers encourage you to either compile it or grab a nightly build2 and basically as with many FLOSS projects you read or investigate until you make it work on your environment.

With a (hardware) KVM one must start by picking the right model, if available buy it, then we need to accommodate space for it in our desk/environment, then you need to setup the cables and at some point you need to use the other computer you need to press a button to make the change this every time you go back and forth. These are in my opinion too many disadvantages, but of course things like keyboard configuration per OS work (Alt-Gr works!) as expected.

Still for now I prefer using Synergy and here’s how to compile it.

Pre-requisites

The following must be present on the OS X system and properly configured:

  • Homebrew, install it by following the instructions on brew.sh
  • CMake, install it with brew install cmake
  • Git, install it with brew install git
  • Qt, install it with brew install qt. Add the following links so Qt has no problem finding its requirements:
$ cd /Library/Frameworks/
$ sudo ln -s /usr/local/Cellar/qt/4.8.6/lib/QtCore.framework/
$ sudo ln -s /usr/local/Cellar/qt/4.8.6/lib/QtGui.framework/
$ sudo ln -s /usr/local/Cellar/qt/4.8.6/lib/QtNetwork.framework/
  • Xcode, get it from AppStore or from here
  • Make sure the /Developer directory exist and inside this directory the following links must be present:
$ cd /Developer/
$ ls -lrt
total 16
drwxrwxr-x  3 root     admin  102 Jan 15  2014 Extras
drwxrwxr-x  3 root     admin  102 Jan 15  2014 Documentation
drwxrwxr-x  4 root     admin  136 Jan 15  2014 Applications
lrwxr-xr-x  1 al3man1  admin   76 Nov  4 14:36 Library -> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Library
lrwxr-xr-x  1 al3man1  admin   73 Nov  4 14:37 SDKs -> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/SDKs

Otherwise create them:

$ cd /Developer/
ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Library
ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/SDKs

Next, we clone the repository

From Github:

$ git clone https://github.com/synergy/synergy.git
Cloning into 'synergy'...
remote: Counting objects: 15034, done.
remote: Compressing objects: 100% (4043/4043), done.
remote: Total 15034 (delta 11872), reused 13702 (delta 10812)
Receiving objects: 100% (15034/15034), 47.99 MiB | 1.31 MiB/s, done.
Resolving deltas: 100% (11872/11872), done.
Checking connectivity... done.

Then we start the compilation

I had better results using the Xcode as the CMake generator, you can check the ones you have installed by issuing the command hm genlist from the root directory of the recently cloned repository, then in the following step you can use the number specific to your preferred generator3.

Go into your project directory and type:

$ ./hm.sh genlist
1: Unix Makefiles
2: Xcode
3: Eclipse CDT4 - Unix Makefiles

You will see that in this case Xcode is number 2 which is the one we are going to use.

Let´s configure

Issue the following command in your terminal:

$ ./hm.sh conf -g2 --mac-sdk 10.10 --mac-identity `hostname`

The -g2 parameter is pointing to the generator to use in this case is Xcode.
You can change the bit of hostname to anything you like, as is it should translate to your computer hostname.

If no errors are detected you may continue with the next step.

Let´s build the app

Running the following command will start the build of the app:

$ ./hm.sh build

Hopefully you won’t run into troubles following these steps. At the end you can find the app inside the binfolder of your project.

Happy hacking!

Edit 1:

My actual configuration involves an OS X machine (server) and a GNU/Linux machine (client) I was a lot disappointed that Alt-gr did not behave correctly in the client machine so much that I was in the process to buy a KVM switch since without this key I can not really access to many symbols required in the CLI (@, \, |, etc.) I even created and script to display these symbols so I can copy/paste when needed, this was getting on my way so much that I was relaying in Ctrl-r to load past commands and then modify them but sometimes it was not enough. Today I decided after publishing this post that I would try to fix the Alt-gr issue and I am happy to say that I found a solution after reading and looking to several bug reports and discussing the issue on IRC finally some light! In summary, I updated the GNU/Linux machine to the latest Synergy version at the moment 1.6.3 (it was running version 1.4.x) and in the server machine (that is running 1.6.1) I created a configuration file instead of using the default of the Synergy GUI I opted for using the exported configuration file and added a line:

alt = altgr

This line was added to the section screens in this case for the client (Linux machine) restarted the server and everything worked out! If helps I am using a QWERTZ (German) keyboard and now works properly on both systems. The full configuration of this specific section is as follows:

section: screens
    linux_client:
        halfDuplexCapsLock = false
        halfDuplexNumLock = false
        halfDuplexScrollLock = false
        xtestIsXineramaUnaware = false
        switchCorners = none
        switchCornerSize = 0
      alt = altgr
    osx_server:
        halfDuplexCapsLock = false
        halfDuplexNumLock = false
        halfDuplexScrollLock = false
        xtestIsXineramaUnaware = false
        switchCorners = none
        switchCornerSize = 0
end

Edit 2:

Of course the “fix” for the Alt-gr key breaks the Alt key… which in my case is sad, I am running Awesome WM and movements and other stuff requires this key, I will have to remap it or really get a KVM switch for now I don’t see any other solutions.


  1. Synergy is very useful yes! But to pay for it I will need e.g. that the Alt-gr key behaves properly between OS X and GNU/Linux, there are many other glitches but this is in the top of my list. 
  2. Here, if you don’t want to compile: http://synergy-project.org/nightly 
  3. In my case 2 is -g2 passed as argument in the command line 
Iván Alemán

Iván Alemán
Iván Alemán

urxvt unknown terminal type with ssh

Terminal-icon
There are times when you log in via SSH into a server and your terminal is not supported therefore sometimes not fully functional.

Something like this:

$ clear
'rxvt-unicode-256color': unknown terminal type.

This is quite easy to fix and as with many things with GNU/Linux there are various ways you can do it, here are two.

The first solution you can try is to export the $TERM variable in either .bash_profile or .bashrc add one of the following lines.

export TERM='xterm-256color'
export TERM='linux'

The second solution (and maybe a better one) would be to copy your terminal profile known as terminfo file to the server in this case to your $HOME directory.

First create the directory to keep the terminfo file in the server:

mkdir -p ~/.terminfo/r 

Next, copy the matching file found on your local machine to the server, for urxvt-unicode-256color would be:

scp /usr/share/terminfo/r/rxvt-unicode-256color [email protected]:.terminfo/r

And that is all, new sessions will recognize and set the right $TERM.

Miércoles 26 de noviembre de 2014

Max Valdez

Max Valdez
GaRaGeD Style

They call me slim shady!

I’m back !

I’m back !