Skip to content

Posts tagged ‘terminal’

19
jun

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.

0097_Área de trabajo 1

El funcionamiento es igual que el del terminal, con la ventaja de que te sugiere los comandos a ejecutar:

0099_Área de trabajo 1

o los posibles directorios en caso de que quieras acceder a alguno:

0098_Área de trabajo 1

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:

0105_atareao@zorita: -home-atareao-temporal-TermKitProj-TermKit

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:

0104_Área de trabajo 1

o que te saca un script realizado en Python con la sintaxis coloreada:

0102_Área de trabajo 1

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:

0107_atareao@zorita: -home-atareao-temporal-TermKitProj-TermKit

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% [?]

7
jun

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í:

Redimensionar imagenes a 800x600
Redimensionar imagenes a 800x600
redimensiona800x600.gz
1.1 KiB
64 Downloads
Details...

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% [?]

1
jun

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:

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:

0002_lorenzo@vandellos: -home-lorenzo

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:

0003_lorenzo@vandellos: -home-lorenzo

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% [?]

29
sep

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

Sigue leyendo…Read more

Popularity: 5% [?]

24
sep

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:

  1. Crea directorios en una sola línea
  2. Cambia el path y no muevas archivos
  3. Combina los comandos utilizando operadores de control
  4. Usa secuencias de escape con entradas largas
  5. Agrupa tus comandos en una lista

Sigue leyendo…Read more

Popularity: 6% [?]

19
ago

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.

clicompanion.png

Sigue leyendo…Read more

Popularity: 3% [?]

7
ago

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 terminal coloreado

El terminal coloreado

El código lo puedes descargar desde la página o bien copiar y pegar en tu .bashrc (que se encuentra en tu directorio):

Sigue leyendo…Read more

Popularity: 5% [?]

Bad Behavior has blocked 2572 access attempts in the last 7 days.

Easy AdSense by Unreal