viernes, 25 de marzo de 2011

Mantener programas activos al cerrar el terminal

Muchas veces hemos abierto programas desde una terminal y queremos dejarlos activos al cerrar.
O bien si queremos dejar abierto algo en una maquina remota, también podemos hacerlo.

Para ello segun se esta ejecutando el programa presionamos Ctrl + z y después escribimos:
bg
disown


Ahora ya podemos cerrar el terminal sin problemas.

Borrar una palabra en un terminal

Es un poco chorra crear una entrada para esto, pero bueno, a mi me vale.

Podemos cortar una palabra entera cuando estemos con el terminal si hacemos Ctrl + w, o presionamos Esc y luego (no a la vez) backspace (la de borrar).

Se comporta de igual manera a cuando hacemos Ctrl + backspace en un editor de textos.

Relacionadas:
Terminal: buscar un comando ejecutado antes
Corta y pega en bash

lunes, 21 de marzo de 2011

Ejemplo /etc/network/interfaces

Para configurar dinámicamente la ip:
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp


Para configurar estáticamente la ip:
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.128
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1


La verdad es que las opciones de network y broadcast nunca las había configurado antes, pero en este caso (en Debian 6), no se porque pero me iba demasiado lenta la configuración si no ponía estos parámetros (quizás tenga otra cosa mal :?).

Pidgin - Esperando la conexión a la red

Esto me ocurrió en Debian 6 "escuiss".
Este es un problema que me daba el Pidgin, me aparecía el mensaje "Esperando la conexión a la red".

Todo porque el network manager me dejo de funcionar al configurar estáticamente la dirección IP.

Así que lo solucioné desinstalando el network manager (pa lo que sirve):
sudo aptitude remove network-manager network-manager-gnome

No lo he probado pero recomiendan por ahí wicd para la gestión de la red (sobretodo en portátiles, para el wifi).

Saludos varios (pa cuando me autolea :()

viernes, 11 de marzo de 2011

Script para convertir ficheros en linux (ffmpeg)

Este es un pequeño script para convertir ficheros con ffmpeg.

No tiene casi opciones, y las opciones de video puestas son que mantenga la misma calidad de entrada que de salida. Y en el audio esta puesto para que codifique a mp3 sin mas.
Lo único que se puede elegir es el tipo de fichero de salida (con -f) y el número de threads (con -t) con el que lo vamos a convertir.

Yo lo utilizo para pasar los vídeos flv a avi, sin tener que andar tocando mucho, y después me los puedo pasar al móvil.

El tamaño de salida no lo he tocado porque mi móvil se come todos los vídeos, pero podéis modificarlo y dejadlo al gusto.

Aquí esta, creáis un fichero con éste contenido, le dais permisos de ejecucion (chmod +x archivo) y ya lo tenéis.
Ej: Yo lo he llamado conv, así que quedaría: conv -t 4 jl.flv

#!/bin/bash
# Default values
THREADS="1"
VFORMAT="avi"

# Parse options
while (($#))
do
case $1 in
-t)
shift
THREADS=$1
echo "Number of threads $THREADS"
;;
-f)
shift
VFORMAT=$1
echo "Video Format = $VFORMAT"
;;
-h)
echo "Usage: $0 [-t threads] [-f format] [-h help] file"
echo " by default threads=2, format=avi"
exit
;;
*)
FICHERO_IN=$1
FICHERO_IN_TRUNK=${FICHERO_IN%.*}
echo "Fichero entrada: $FICHERO_IN"

FICHERO_OUT="$FICHERO_IN_TRUNK.${VFORMAT}"
echo "Fichero salida: $FICHERO_OUT"
;;
esac
shift
done

ffmpeg -threads $THREADS -sameq -i $FICHERO_IN -acodec libmp3lame $FICHERO_OUT

martes, 8 de marzo de 2011

Crear enlaces simbólicos en ntfs

Es posible crear enlaces simbólicos en ntfs utilizando junction, que podéis descargar aquí.
Una vez descargado, se descomprime en la carpeta de System32, dentro de Windows, para poder utilizarlo y así ademas no tenemos que andar tocando el PATH.

Después para utilizarlo es necesario abrir un terminal (Símbolo de Sistema en Windows 7) y desde alli crear el enlace.

Creamos un enlace de la siguiente manera:

junction enlace_simbolico ruta_hacia_datos

Como nota añadir que se permite los enlaces simbólicos entre diferentes unidades del sistema.

Por ejemplo Si tenemos la carpeta G:\Datos\Descargas y queremos que en C:\ haya una carpeta llamada Datos que enlace a la otra sería de la siguiente manera.

cd C:
junction
Descargas G:\Datos\Descargas

o bien

junction C:\Descargas G:\Datos\Descargas

Con eso ya tendríamos nuestro enlace.

Hay que tener cuidado a la hora de borrar ya que si borramos el conteido del enlace perderemos los datos.
Si lo que queremos es desacer el enlace lo haremos de la siguiente manera:

junction -d C:\Descargas

Y con eso ya desharíamos el enlace.

sábado, 5 de marzo de 2011

"Device is busy"...., problem?

Cuando nos encontremos con este problema podemos hacer varias cosas para librarnos de él.
Hay dos fases, primero encontrar al cuplable, y después .... (que parezca un accidente).

Finding a culpable


Con fuser ejecutamos:
fuser -m /dev/sde1
/dev/sde1: 5884


Ya tenemos ahí al culpable: 5884.

Una vez que tenemos el culpable ya podemos acabar con él.
Aunque sólo sea por curiosidad no estaría de mas ver la cara del culpable, para ello nos basta hacer:
ps auxw | grep 5884
jewi 5884 0.0 0.1 25828 4848 pts/2 Ss 19:54 0:00 /bin/bash


Y como podemos observar en este caso soy un poco corki, me deje en un terminal un directorio abierto en el que teníamos montado el dispositivo.

Yo en mi caso salí de ese directorio y ya pude cerrarlo. Pero si no es el caso tenemos cosas con las que acabar con el proceso.

kill -9 5884

And it is all.

jueves, 3 de marzo de 2011

Corta y pega en bash

En bash tenemos algunos comandos que nos pueden servir de utilidad a la hora de copiar y pegar comandos.

  • C^a : Va al principio de la linea
  • C^e : Va al final de la linea
  • C^k : corta lo que hay en la linea a partir de la posición actual y lo guarda en un buffer.
  • C^y : pega el contenido del buffer a partir de la posición actual.
Nota: C^ significa pulsar la tecla Ctrl y la que indiquemos a continuación.