Acceder al terminal desde Chromium
Soy partidario de pequeñas aplicaciones especializadas, antes de tener una gran aplicación que lo haga todo. Mas que nada por consumo de recursos y eficiencia. Esto no siempre es así, puesto que habrá aplicaciones que sean mas eficientes aún realizando las tareas.
Aún así me ha llamado la atención, esto de poder tener el terminal directamente en Chromium. Lo he estado probando, y en cuanto al menos es llamativo.
El funcionamiento es igual que el del terminal, con la ventaja de que te sugiere los comandos a ejecutar:
o los posibles directorios en caso de que quieras acceder a alguno:
Instalación
Para la instalación tienes que tirar de terminal, lo primero instalar las dependencias necesarias:
sudo apt-get install git libssl-dev
Una vez instaladas las dependencias tendrás que descargar, compilar e instalar “node”, “npm” (un gestor de node) y TermKit. Para ello tienes que ejecutar los siguientes comandos:
cd ~ mkdir TermKitProj cd TermKitProj git clone https://github.com/joyent/node.git cd node ./configure make sudo make install cd .. git clone http://github.com/isaacs/npm.git cd npm sudo make install cd .. git clone https://github.com/Floby/TermKit.git --recursive cd TermKit/ npm install
Funcionamiento
Una vez instalado lo primero que tenemos que hacer es inicar TermKit, para ello, en el terminal ejecutas el siguiente comando:
node Node/nodekit.js
Esto nos tiene que dar como salida algo como ésto:
Una vez iniciado Termkit, vas a Chromium, a la dirección “http://http://localhost:2222/” y a disfrutar
Ventajas sobre el terminal tradicional
A parte de que es mucho más vistoso, y que te ayuda en la elección del comando a ejecutar o del directorio que quieres ir, tienes que el comando “cat” te permite visualizar imágenes:
o que te saca un script realizado en Python con la sintaxis coloreada:
Conclusiones
A mi en particular como curiosidad, pues eso, me resulta curioso. En cuanto a lo práctico, pues que quieres que te diga, solamente se trata de un interfaz para hacerte el terminal más atractivo, por que la realidad todo lo ejecutas en el terminal:
Para esto por ahora, me quedo con el terminal, luego si eso ya veremos…
Vía | askubuntu
Más información | Tech Drive-in, easy tech blog, Acko.net
Popularity: 5% [?]
Hacer un vídeo de fotografías en un minuto desde el terminal
Al contrario de lo que puedas pensar, no soy de los que machacan a sus visitas con reportajes fotográficos o videos de sus viajes, celebraciones o acontecimientos. Es mas, no me gusta que en un visita me pongan a mi el video o el reportaje, realmente es algo que me molesta profundamente. Es más, raramente veo las fotografías que hago, salvo cuando tengo que escribir un artículo como el presente.
Pero probablemente, yo sea un bicho raro. Hay mucha gente que disfruta, tanto poniéndo el vídeo como viéndolo, según el caso. Sin embargo, sucede que como vamos como vamos, montar un vídeo se puede convertir en un trabajo realmente tedioso, o que simplemente no queremos gastar ese tiempo en hacer el vídeo, preferimos dedicarlo a otras cosas.
La ventaja de GNU/Linux, es que hay herramientas verdaderamente potentes. Normalmente conocemos algunos usos de ellas, o simplemente desconocemos que existan, pero están ahí, y en un momento te pueden sacar de un apuro.
Haciendo el vídeo
Codificando las imágenes
El vídeo lo voy a montar de un conjunto de fotografías todas en formato JPEG. Se trata de 159 imágenes, y teniendo en cuenta que mi archivo de audio es de 8 minutos, cada imagen tiene que estar expuesta un total de (8 * 60)/159 = 3.0189 segundos. O lo que es lo mismo, 0.33125 imágenes por segundo.
Antes de montar el vídeo he redimensionado las imágenes, de forma que tengan todas 800×600. Este paso se puede obviar, el problema, es que se puede aparecer, una parte de la imagen anterior y una parte de la imagen posterior en imágenes que sean mas altas que anchas, y da sensación de chapuza. En principio podías pensar en mogrify:
mogrify -resize 800x600 *.JPG
Pero con esto no vas a obtener el resultado que perseguimos, dado que lo que va a hará será ajustar al menor de los lados. Es decir si es una imagen con una altura superior a 600, escalará la imagen de forma que quede con esta altura, pero la anchura será menor, y estaremos en el mismo caso que antes.
Por esta razón utilizamos el siguiente script de Python:
import sys
import math
from os import path
from sys import argv
from PIL import Image
def isinteger(x):
try:
return int(x) == x
except:
return False
def tointeger(x):
try:
return int(x)
except:
return 0
def main():
argv = sys.argv
if len(argv) < 2: print 'At least one file to resize' exit(-1) W = 800 H = 600 files=argv[1:] for file in files: if path.splitext(file)[1].upper() == '.JPG': tf=path.splitext(file) im = Image.open(file) w,h=im.size scalex = w / float(W) scaley = h / float(H) if scalex > scaley:
scale = scalex
else:
scale = scaley
w = int(w / scale)
h = int(h / scale)
im_out = im.resize((w,h), Image.BICUBIC)
im_out = im_out.convert('RGBA')
background = Image.new('RGBA', (W,H), (0, 0, 0, 0))
xi=int(math.fabs(W-w)/2)
xf=int(math.fabs(W+w)/2)
yi=int(math.fabs(H-h)/2)
yf=int(math.fabs(H+h)/2)
background.paste(im_out,(xi,yi,xf,yf))
im_out = background
im_out.save(tf[0]+'_'+str(W)+'x'+str(H)+tf[1])
exit(0)
if __name__ == '__main__':
main()
que puedes descargar desde aquí:
Ahora solo tienes que copiar este script en el directorio en cuestión y redimensionar las imágenes:
python redimensiona800x600.py *.JPG
Lo que hace el script es crear un fondo de color negro de dimensiones 800×600 y sobre el pega nuestra imagen, ahora si que todas las imágenes tendrán las dimensiones requeridas.
Hayamos redimensionado las imágenes o no, ahora toca montar el vídeo. Para ello utilizaremos el siguiente comando:
mencoder mf://*.JPG -mf w=800:h=600:fps=0.33125:type=jpg -ovc copy -oac copy -o video.avi
la extensión *.JPG es porque todas las imágenes tienen la extensión en mayúsculas. Los siguientes parámetros corresponden al ancho (w=800) y alto (h=600) de las imágenes. Luego tenemos la tasa de imágenes por segundo (fps=0.33125), que como hemos calculado antes es de 0.33125 imágenes por segundo para que dure exactamente 8 minutos, y los siguientes parámetros es para que copie el video (-ovc) para que copie el audio (-oac), aunque todavía no tenemos y por último, el archivo de salida (-o video.avi)
Obteniendo el audio
El audio lo voy a sacar de youtube. Para obtener el audio y dado que partimos de que lo hacemos todo desde el terminal, utilizaré el comando youtube-dl. Con esto bajo el vídeo en cuestión:
youtube-dl http://www.youtube.com/watch?v=zsr6c4TrWBg
Ahora toca extraer el audio de este vídeo, para ello recurrimos de nuevo a mencoder:
mencoder zsr6c4TrWBg.flv -of rawaudio -oac mp3lame -ovc copy -o audio.mp3
Montando video y audio
Como paso final, nos queda componer video y audio:
mencoder -ovc copy -audiofile audio.mp3 -oac copy video.avi -o output.avi
Resumiendo
Todo esto lo he montado en un script “de_fotos_a_pelicula.sh”:
#!/bin/bash python redimensiona800x600.py *.JPG mencoder mf://*_800x600.JPG -mf w=800:h=600:fps=0.33125:type=jpg -ovc copy -oac$ rm -f *_800x600.JPG mencoder zsr6c4TrWBg.flv -of rawaudio -oac mp3lame -ovc copy -o audio.mp3 mencoder -ovc copy -audiofile audio.mp3 -oac copy video.avi -o output.avi rm -f video.avi audio.mp3
y lo he lanzado anteponiendo el comando “time”, para conocer el tiempo que tarda en hacer toda la operación:
real 1m3.918s
user 0m53.730s
sys 0m1.020s
Como ves nada una miseria, un poco más de un minutillo.
El resultado
Conclusiones
Evidentemente, donde vas a “perder” más tiempo es seleccionando las fotografías que quieres incorporar en el vídeo y la música que le quieres poner. Pero una vez solucionado estos dos puntos, que no son nada despreciables, y decidiendo el orden de las imágenes, montar el video es “coser y cantar“.
Claro que no tiene ningún efecto especial, ni cosas por el estilo. Pero se trata de realizar un vídeo rápido y sin dedicarle mucho tiempo a los aspectos técnicos, solo tienes que elegir las fotografías, el orden y la música. Sencillo pero efectivo.
Más información: MPlayerhq, electron.mit.edu, youtube-dl, commandlinefu.com, superuser.com, daveymorris.co.uk, manpagez, refranespopulares
Popularity: 9% [?]
Guarda los comandos en el historial en tiempo real en Ubuntu
Hace ya algún tiempo que escribí a cerca de utilizar o aumentar el historial del terminal:
- Incrementar el tamaño del historial de tu terminal en Ubuntu
- Utilizando el historial del terminal de Ubuntu
Y es que, para los que utilizamos con frecuencia el terminal, el historial es de gran ayuda, tanto repetir frecuentes comandos, como para recordar como utilizamos un comando determinado.
Sin embargo, el historial se guarda cuando cerramos el terminal que estamos utilizando. Así que te habrá pasado que has querido buscar algún comando que has ejecutado en la sesión que tienes abierta en el terminal y no lo encuentras. Claro todavía no lo ha guardado. Pero claro, no te vas a pasar 20 minutos con los cursores buscando aquel comando que ejecutaste hace unas horas.
Pues la solución es bien sencilla, solo tienes que añadir la siguiente línea en “.bashrc”:
shopt -s histappend ; PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
En la versión anterior de mi “.bashrc”, las entradas eran las siguientes:
Como ves, mi entrada era:
shopt -s histappend
La he modificado añadiendo una almohadilla, por si acaso me arrepiento y quiero volver a la versión anterior. Ahora me queda algo como esto:
El problema es que el historial se encuentra disponible en tiempo real para cada uno de los terminales que tenemos abiertos de forma independiente. Lo que hacemos en un terminal, no está disponible en tiempo real para otro terminal, lo que es una verdadera lástima.
A mi que me gusta tener varios terminales abiertos de forma simultánea, y copiar de uno a otro, ejecutar comandos en uno, comprobar resultados en otro, etc.., una característica así me vendría de perilla.
Vía | commandlinefu.com
Popularity: 6% [?]
La diferencia entre comillas y dobles comillas en el shell
Ayer leí un interesante artículo en How-To Geek, sobre el uso de comillas y dobles comillas, que es muy esclarecedor para todos aquellos que hacemos un uso frecuente del terminal, y que vamos aprendiendo a base de teclado y lo que vamos leyendo aquí y allá, sin el uso de ningún manual (craso error).
Esto me lleva a reproducirlo más o menos, con algunos ejemplos adicionales, y mis propias pruebas e interpretaciones.
Entrecomillado de texto
Popularity: 5% [?]
Aprende buenos hábitos usando el terminal
Ayer leí, gracias a barrapunto.com, el artículo sobre cómo adquirir buenos hábitos en la consola de Unix escrito en DeveloperWorks por el autor de Linux Cookbook. La verdad es que me gustó sobremanera, no todos los hábitos, pero si algunos de ellos, lo suficiente como para reproducirlos, añadiendo mis propios comentarios y ejemplos, según que caso, dejando únicamente los que son los que más me han gustado.
Os recomiendo su lectura, si no la de este artículo, si la del original, es verdaderamente interesante:
- Crea directorios en una sola línea
- Cambia el path y no muevas archivos
- Combina los comandos utilizando operadores de control
- Usa secuencias de escape con entradas largas
- Agrupa tus comandos en una lista
Popularity: 6% [?]
Si no te aclaras con el Terminal: CLIcompanion
Ahora, después de un tiempo, estoy tan acostumbrado al uso del Terminal (CLI – Command Line Interface / Línea de comandos), que muchos de los trabajos de mantenimiento, actualización, e intalación, los hago directamente sobre el terminal sin lugar a dudas. No solo, trabajos referentes a instalación y mantenimiento, sino otros trabajos repetitivos o de conversión de formatos o de copia y pega son más cómodos de realizar desde el terminal.
Claro, esto es fácil de hacer cuando llevas tiempo y te has acostumbrado, pero que hasta entonces, ¿Hay alguna manera de llevarlo más comodamente? Pues si, CLIcompanion.
Popularity: 3% [?]
Colorea tu terminal
No es que quiera descubrir las Americas a estas alturas de la vida, pero según queda reflejado en mis últimos posts, he tenido que reinstalar mi Lucid Lynx, en varias ocasiones, y en algunas de ellas, por desesperación he borrado los archivos de configuración de Firefox, Thunderbird y el .bashrc entre otros.
Como es de esperar, no tenía ninguna copia de seguridad así que he tenido que buscar en internet hasta que he localizado uno que me ha gustado. Lo descargué de Google Code, exactamente de un repositorio creado por Lovejet. No tengo claro que sea el autor del archivo (ese es el inconveniente de no indicarlo en el encabezamiento). Además si ves el repositorio i-like-tux, observarás que básicamente se trata de una recopilación de libros (muy interesante por otra parte de Linux), mira el listado.
Bueno, independientemente de la autoría, tengo que decir que mi terminal ha quedado estupendo, sino mira a ver:
El código lo puedes descargar desde la página o bien copiar y pegar en tu .bashrc (que se encuentra en tu directorio):
Popularity: 5% [?]

















