Instalar la última versión de Arduino IDE en Ubuntu / Linux Mint

diciembre 30, 2015 1 comentario

La versión del Arduino IDE que viene en los repositorios de Ubuntu / Linux Mint es muy antigua: es la 1.0.5 y en estos momentos la última versión disponible para descargar es la 1.6.7. Como no he encontrado ningún PPA con la última versión, comento los pasos a seguir para poder instalar la versión que se descarga.

  1. Descarga el archivo de https://www.arduino.cc/en/Main/Software
  2. Descomprimir el archivo: $ tar -xvf arduino-1.6.7-linux64.tar.xz
  3. Mover el directorio a /opt: $ sudo mv arduino-1.6.7 /opt
  4. Ejecutar el instalador: $ /opt/arduino-1.6.7/install.sh
  5. Añadir nuestro usuario al grupo “dialout”: $ useradd -G dialout username

Este último paso es importante para poder programar nuestro Arduino ya que si no, dará un error de que no tiene permisos de escrituras en el pue

Anuncios
Categorías:Arduino, Ubuntu

Xiaomi Gamepad en Android y Linux Mint

septiembre 23, 2015 2 comentarios

Hace ya un tiempo vi una oferta en GearBest de este mando y la verdad es que estoy muy contento con él. En su momento costó unos 20€ y realmente merece la pena. Lleva dos pilas AA, que en mi caso son recargables y duran mucho tiempo. Tienen una supuesta autonomía de 80 horas.

La primera prueba que hice fue con mi Nexus 4 y se emparejó a la primera. Para emparejar es necesario pulsar unos 5 segundos el botón que señalo en la foto, hasta que empieza a parpadear muy rápido. En ese momento es encesario buscar el mando desde el móvil que lo localizará con un nombre que suena a chino (nunca mejor dicho). No es necesario introducir PIN.

IMG_20150923_123726

Hay algunos juegos que funcionan con este tipo de mandos, como por ejemplo el magnífico Sword Of Xolan. Pero lo mejor de todo es que también se puede usar con MAME4droid, por lo que las horas de diversión están aseguradas.

Como no podía ser menos también quise probar con la versión de MAME para Linux, y también es prácticamente inmediato de configurar. Lo único que tuve que hacer fue comprar un adaptador Bluetooth y opté por el Orico BTA-403-BK. Una vez conectado podremos acceder al icono de configuración Bluetooth de Linux Mint y emparejar. Una vez emparejado, arranca MAME y ya podrás jugar a todos esos juegos viejunos que siempre te gustaron.

Categorías:Ubuntu Etiquetas: , , ,

LiveConnect y Linux (2)

febrero 9, 2015 Deja un comentario

Después de unos días, me comenta Jaime Hablutzel que existe una forma de que funcione con las últimas versiones de Java. La solución es ir al Java Control Panel y en Java Runtime Environment Settings añadir el parámetro:

 -Djnlp.nativeMixedCodeDialog=false

Aquí una captura de pantalla:

LiveConnect

Categorías:Debian, Java, Ubuntu Etiquetas: , , , , ,

LiveConnect y Linux

febrero 5, 2015 Deja un comentario

Resulta que el problema del LiveConnect ocurre sólo en Linux. Consiste en que no se puede hacer una llamada desde Javascript a un método del Applet. Afecta, por ejemplo, al LiveEdit de OpenKM. Para que funcione desde Linux, o instalas el OpenJDK y el plugin para el navegador IcedTea o tienes que usar el JDK de Oracle 1.7u67. A partir de esa versión ya no funciona.

Instrucciones de instalación:

  $ sudo apt-get purge openjdk* icedtea* oracle-java*
  • Crear directorio de instalación:
  $ sudo mkdir /usr/local/java
  • Descomprimir el JDK:
  $ sudo tar xzvf Descargas/jdk-7u67-linux-x64.tar.gz -C /usr/local/java/
  • Poner los comandos del JDK en el PATH; añade al final del fichero /etc/profile esto:
  export PATH=$PATH:/usr/local/java/jdk1.7.0_67/bin
  • Instalar plugin en Firefox (y Chrome):
  $ cd /usr/lib/mozilla/plugins
  $ sudo ln -s /usr/local/java/jdk1.7.0_67/jre/lib/amd64/libnpjp2.so .

A partir de ahora funcionará sin problemas. A la espera de una solución definitiva por parte de Oracle.

 

Categorías:Debian, Java, Ubuntu Etiquetas: , , , , ,

SSH and Windows

marzo 28, 2014 Deja un comentario

You can configure a SSH server in Windows installing freeSSHd. Once installed you have to create an user and will be used to access to the Windows server. To be accesible to also need to open the 22 port in the Windows firewall.

If you use a Windows virtual machine to access another server because a VPN, you can connect from your Linux console to the destination server using this Windows as a proxy. For example, the final server IP is 192.168.1.25 and the Windows IP is 192.168.0.12. The port forwarding will be from 192.168.0.12:5555 to 192.168.1.25:22. Yo can achieve this in several ways:

Windows provided solution

Creation rule:

netsh interface portproxy add v4tov4 listenport=5555 listenaddress=0.0.0.0 connectport=22 connectaddress=192.168.1.25

Delete rule:

netsh interface portproxy delete v4tov4 listenport=5555 listenaddress=0.0.0.0

Using an application

Install the application PassPort. Yo must run this application as Administration to be able to setup the forward.

Using Putty

Putty can also configure port forwarding (in this case it’s called SSH Tunneling because the forward is secured because it’s encrypted). Go to Connection > SSH > Tunnels and create with this data:

  • Local ports accept connections from other hosts: Checked
  • Source port: 5555
  • Destination: 192.168.1.25:22
  • Local: Checked
  • Auto: Checked

Once completed, click on the Add button.

Categorías:Debian, Ubuntu Etiquetas: , ,

Cambio en caliente de clases en Tomcat con IntelliJ

marzo 18, 2014 Deja un comentario

De acuerdo con su página, la DCEVM (Dynamic Code Evolution Virtual Machine – Máquina Virtual de Evolución de Código Dinámico) es una modificación de máquina virtual de Java HotSpot (TM) que permite cambios de las clases cargadas en tiempo de ejecución. Las máquina virtual que solemos usar permite cambios en el cuerpo de los métodos, pero no añadir nuevos métodos o cambiar la definición de los mismos.

Cuando estás desarrollando es bastante habitual que tengas que cambiar la implementación de una clase, y muchas veces ese cambio hace que debas parar el servidor de aplicaciones y arrancarlo de nuevo para que los cambios surtan efectos. Dependiendo de la complejidad de la aplicación, estos tiempos de parada e inicio pueden ser relativamente largos y aburridos. Gracias a DCEVM el esperar se va a acabar 🙂

Sé que existe otros métodos para conseguir este mismo objetivo, como JRebel que funciona bastante bien. De hecho se publicita argumentando que estos tiempos de reinicio cuestan dinero a la empresa que mediante su solución ahorra dinero. No tengo nada en contra de JRebel, pero DCEVM funciona realmente bien y además es gratis 😛

Desde hace unos meses uso IntelliJ, de modo que explicaré cómo configurarlo para usar esta máquina virtual alternativa. Vamos a File > Settings > Plugins, clickamos en Browse repositories y buscamos “DCEVM integration”. Una vez instalado debemos reiniciar el IDE. Al iniciar IntelliJ nos mostrará un mensaje “DCEVM is avaiblable fro your environment: Would you like to download it?” para decirnos que existe una versión disponible de DCEVM y si la queremos bajar. Obviamente, si que queremos.

Una vez bajada, vamos a la configuración de Tomcat (Edit Configuration…) y en la solapa Startup/Connection seleccionados Debug y añadimos la variable JAVA_HOME con la ubicación local de DCEVM. En la solapa Server seleccionamos Update classes and resources para la opción On frame deactivation.

Ahora cuando arranques Tomcat en modo debug podrás hacer las modificaciones que quieras sin tener que reinciarlo.

Categorías:Java Etiquetas: , ,

Mover VPS a VirtualBox

abril 15, 2013 Deja un comentario

Vamos a ver los pasos necesarios para mover un servidor VPS a un máquina virtual local con VirtualBox.

Primero vamos a replicar el disco del servidor a nuestro ordenador. Para ello vamos a usar las herramienta netcat y dd. Antes de nada decir que para que funcione lo mejor posible, ninguna partición del disco debe estar montada. Para ello se debe arrancar desde otro disco. En mi caso que uso Hetzner, desde la consola de administración (ellos los llaman robot) permite arrancar el VPS en modo rescue.

Una vez hecho esto, en la máquina destino ejecutamos lo siguiente:

$ nc -v -l 5525 > srvdisk.gz

En el servidor esto:

$ dd if=/dev/sda conv=sync,noerror bs=16M | gzip | nc -v -q 0 host.dst.ip 5525

Una vez clonado el disco, lo descomprimimos:

$ gunzip srvdisk.gz

Y vemos las particiones que tiene:

$ fdisk -l srvdisk

Por último lo convertimos a formato VDI para poder usarlo desde VirtualBox:

$ vboxmanage convertfromraw srvdisk srvdisk.vdi

Una vez creado el disco para VirtualBox creamos una nueva máquina virtual y le decimos que use este disco convertido.

Por último habrá que hacer algunos ajustes en la configuración de Linux para que funcione correctamente. En mi caso el proveedor de hosting es Hetzner y el VPS va con Ubuntu 12.04, por lo que los cambios fueron los siguientes:

  • En el fichero /etc/apt/sources.list comentar los repositorios de Hetzner y poner los de Ubuntu:
deb http://es.archive.ubuntu.com/ubuntu precise main restricted universe multiverse
deb http://es.archive.ubuntu.com/ubuntu precise-backports main restricted universe multiverse
deb http://es.archive.ubuntu.com/ubuntu precise-updates main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu precise-security main restricted universe multiverse
  • En el fichero /etc/resolv.conf comentar los nameserver de Hetzner y poner los de Google:
nameserver 8.8.8.8
nameserver 8.8.4.4
  • En el fichero /etc/network/interfaces comentar la configuración de red de Hetzner y poner la que mejor se adapte.
auto eth0
iface eth0 inet static
 address 192.168.0.100
 broadcast 192.168.0.255
 netmask 255.255.255.0
 gateway 192.168.0.1
  • En el fichero /etc/udev/rules.d/70-persistent-net.rules comentar la primera línea de Hetzner donde viene la MAC de la tarjeta del VPS y que quede de esta forma (La segunda entrada se añadirá automáticamente y el parámetro ATTR{address} será diferente ya que se trata de la MAC de la tarjeta de red de la máquina virtual de VirtualBox. Lo importante es que el parámetro NAME sea “eth0”.):
# device: eth0
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1c:14:01:4f:68", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x8086:/sys/devices/pci0000:00/0000:00:03.0 (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:b9:04:bf", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

Y con todo esto ya podríamos usar el VPS localmente.

Categorías:Debian, Ubuntu Etiquetas: , , , , , , , ,