Algunas notas útiles sobre linux

Crear archivos de cierto tamaño para pruebas

Me ha surgido la necesidad de crear archivos de cierto tamaño, simplemente para probar transferencias u otras cuestiones. La forma de crear dicho archivo es, simplemente, con el siguiente comando:

En este caso creará un archivo prueba.out de 1 mega con ceros. Es posible utilizar como origen /dev/random, por ejemplo, sin embargo demora más (/dev/random es un archivo que actúa como generador de números aleatorios).

Servicios en Ubuntu >= 15.04

systemctl es el comando para gestionar los servicios, en particular:

 

Algunas notas útiles sobre python

Configuración de Vim. Un guía útil aquí. Básicamente, agregar a ~/.vimrc:

Comunidad Argentina. Si sos de argentina y no estás suscripto a esta lista debe ser porque aún no usás python… ¡que estas esperando!

Desarrollo de videojuegos

PyGame. http://www.pygame.org/

Pilas Engine. http://pilas-engine.com.ar/

Kivy. https://kivy.org/

 

(más notas se agregarán… en algún momento del viaje)

Entornos virtuales con virtualenv

Los entornos virtuales nos permiten mantener un entorno aislado del sistema operativo en el que trabajaremos con versiones específicas de python y otras librerías que usemos. Así podemos tener un proyecto usando python2.7 con unas determinas librerías y otro con python3.4 usando las mismas librerías en otras versiones y otro con python3.5 y con las mismas librerías pero en versiones posteriores. Cada proyecto mantendrá sus dependencias en las versiones que sabemos que funcionan y nos permitirán trabajar en cada proyecto con tranquilidad.

Para trabajar con entornos virtuales, haremos lo siguiente:

1. Crear el entorno virtual:

  • Con el parámetro -p indicamos la ruta al ejecutable de python a utilizar en el entorno virtual (y que dentro de él referenciaremos únicamente como python). Podemos indicar la ruta manualmente o de la manera mostrada (el comando which devuelve la ubicación del archivo pasado como parámetro).
  • .venv es el directorio destino dentro del cual se almacenarán todas las librerías y otras yerbas utilizadas en el entorno. El punto es simplemente para que esta ruta sea oculta.

2. Activar el entorno virtual:

activate activa el entorno virtual. source (o el comando “.” punto) es un comando de bash que ejecuta el script en el contexto del shell actual (las variables creadas por el script se mantienen y las modificaciones en variables también), si no se usa este comando los scripts se ejecutan en el contexto de un subshell.

3. Desactivar el entorno virtual luego de trabajar con el proyecto:

 

Como nota adicional, es posible conocer todas las dependencias instaladas en el entorno virtual haciendo: pip freeze > requirements.txt (lo último es simplemente para mantener esa lista en un archivo).

Luego podríamos crear otro entorno virtual idéntico haciendo:

 

Linux Ubuntu 16.10 setup y notas generales

El siguiente post es más bien un ayuda memoria para mí, pero podría serle útil a otras personas.

Habilitar aceleración por hardware en VMWare. Se debe agregar la siguiente línea en ~/.vmware/preferences:

Instalación de Java. Es conveniente utilizar open java, que se encuentra en los respositorios estándar:

Cambiar permisos de archivos y carpetas. Sobre todo si estamos trabajando con árboles de archivos provenientes de otros S.O. esto es muy útil:

Agregar fuentes de paquetes a la lista. En internet se puede encontrar unas líneas como las siguientes:

Esto funciona en sistemas como debian, pero en Ubuntu se usa sudo. La forma de adaptar esto es la siguiente:

El comando tee lee de la entrada estándar y escribe en la salida estándar, con la salvedad que indicamos el argumento –append para que no cree un archivo nuevo sino que agregue la línea al archivo existente.

Google Drive: Grive. (Fuente) Para instalar la herramienta:

Para su uso:

Este comando generará un enlace único en la terminal que podrás presionar y que se abrirá en tu navegador por defecto. Se abrirá una página web con un código de 40 dígitos que tendrás que copiar y pegar en la terminal. Después de introducirlo, Grive empezará a subir a la nube los documentos que se contengan en la localización a la que navegaste antes desde la terminal. Esto creará los directorios con la misma estructura que tienen en tu disco duro.

De ahí en más para sincronizar haremos desde la misma carpeta:

FL Studio. En mi caso tengo una licencia de FL Studio. Instalo el mismo con PlayOnLinux (que lo instalo desde los respositorios de Ubuntu) y utilizo la versión más reciente de Wine. Luego de instalar FL Studio agrego Core Fonts, DXFullSetup y WineAsio. Sin embargo al ejecutar la aplicación no aparecen las fonts de menús y otras. El truco para resolver este problema es conseguir Arial.ttf y copiarlo en drive_c, específicamente en la carpeta windows/fonts.

PostgreSQL y pgAdmin3. Luego de la instalación podemos hacer:

De esta manera podremos conectarnos fácilmente al servidor usando como usuario y password postgres.

Visualizar logs. Es muy útil tener una consola disponible con el estado real de ciertos logs cuándo trabajamos con sistemas complejos y en etapas de desarrollo. El siguiente comando nos provee de esa ventaja:

Skype. La forma más sencilla de instalar skype es utilizar el administrador de paquetes Synaptic. Pasar por el menú Configuración -> Respositorios, ir a la solapa “Otro software” y marcar “Socios de Canonical”. Luego de que la lista de paquetes se actualice estará Skype disponible para su instalación.

Mouse titilante y ¿desaparece?. No había tenido este problema en otras versiones de Ubuntu. El problema simplemente se soluciona deshabilitando un segundo monitor indicado como desconocido. Ir a Opciones del sistema -> Monitores y deshabilitar el indicado como “Unknown Monitor”:

Programas interesantes. Varios programas nos harán la vida más sencilla y, dependiendo de nuestro workflow diario, optimizaremos el trabajo (a no ser que se diga lo contrario, todos se encuentran en los repositorios de Ubuntu/Debian):

  • Shutter – Esta aplicación permite hacer capturas de pantalla por área, pantalla, etc., y además permite editar las capturas, agregar flechas, marcos. Muy útil.
  • Play On Linux – Un gestor de Wine que es simplemente sorprendente.
  • Bumblebee – “The Bumblebee Project proudly presents version 3.2.1 of Bumblebee, a project aiming to support NVIDIA Optimus technology under Linux.”. En mi caso, este proyecto me permitió utilizar en mi Asus N53S la placa onboard en lugar de la NVidia todo el tiempo (que aumenta la temperatura notablemente).
  • TLP – Es una aplicación para gestión de energía. Entre otras cosas tlp-stat permite ver varios indicadores del sistema (por ejemplo tlp-stat -t nos muestra la temperatura de la CPU)

Instalar Cinnamon. Si bien Ubuntu es una excelente distribución linux, el administrador de escritorio Unity es, realmente, horrible, incómodo y poco personalizable. Para aquellos que quieran algo de mejor calidad, una excelente alternativa es Cinnamon. Para instalarlo, simplemente:

Remmina. Cuándo el trabajo involucra tener una conexión a escritorios remotos de Windows, Remmina llega al rescate. El problema es que en Ubuntu 6.10 viene por defecto la versión 1.1.2 que es muy buena, pero encontré un problema que me molesta bastante y es que el copy&paste del remoto al local no siempre funciona. La solución es simple: utilizar la versión más reciente (al momento de escribir esto es la 1.2). Para ello simplemente seguimos las instrucciones indicadas aquí, que básicamente se reducen a: