Category Archives: Terminal

Cambia el tamaño de la terminal con un script en Python

Hace un rato publicamos un pequeño tutorial para cambiar el tamaño de la ventana de la terminal de Gnome. Pues debido a que siempre ando probando distintas distribuciones en una partición de 8 Gb especialmente para eso, y también a que soy demasiado flojo, decidí hacer un pequeño script en Python para evitarme estar editando el archivo con cada instalación:


#!/usr/bin/env python
#Copyleft Raymundo Vásquez Ruiz
import re, fileinput

def change_settings(col, lin):
	line_pattern = ':co#(d*):it#(d*):li#(d*).*'
	try:
		for line in fileinput.FileInput("/usr/share/vte/termcap/xterm", inplace=1):
			match = re.search(line_pattern,line)
			if match:
				match_groups = match.groups()
				if len(match_groups) == 3:
					columns = match_groups[0]
					it = match_groups[1]
					lines = match_groups[2]
					line = line.replace(line, "t:co#%s:it#%s:li#%s:\n" % (col, it, lin))
			print line,
	except OSError, e:
		if e.errno == 13 :
			print "You dont have permission to do this!"
		else:
			print e.message

if __name__ == "__main__":
	from optparse import OptionParser
	parser = OptionParser()
	parser.add_option("-c", dest="columns", default=80)
	parser.add_option("-l", dest="lines", default=24)
	(options, args) = parser.parse_args()
	change_settings(options.columns, options.lines)

Copien el archivo y asignen un nombre, el que deseen, sólo asegúrense de que tiene la extensión .py.

Una vez guardado procedemos a ejecutarlo de la siguiente manera:

sudo python termset.py -c 130 -l 80

Donde
termset.py debe ser sustituído por el nombre que le asignaron.

-c indica el número de columnas.

-l indica el número de líneas

Agradecería las sugerencias, aún no me las sé todas en Python =)

Unir archivos zxx (zip split)

gestorarchivadores
En ocasiones tenemos que lidiar con archivos comprimidos separados en varias partes, debido a que algunos servidores o la estructura de archivos de algún disco duro o partición tienen un límite de capacidad para cada archivo.

En mi caso me encontré con la siguiente estructura: archivo_split.z01, archivo_split.z02 … archivo_split.zip, que intenté abrir con el Gestor de Archivadores de Gnome y con 7zip con resultados nulos. Pues bueno, pensando lógicamente, absurdo a veces, se me ocurrió pegar el archivo a mano

Continue reading

Cómo: Cambiar el tamaño predeterminado de la terminal en gnome

terminalAunque Gnome en las ansias de simplificar y mantener estabilidad en el código y las acciones a realizar en el entorno sacrifica algunas veces ciertas características funcionales que muchos de nosotros necesitamos, digamos por ahorra tiempo o por simple comodidad, sigue siendo Software Libre, lo cual siginifica que hasta el más mínimo detalle puede ser modificado a nuestro antojo para adaptarlo a nuestras necesidades. En este caso muchas siempre requiero un tamaño diferente para la terminal que el predeterminado 80×24 (columnas x filas), aunque en las preferencias del perfil podemos cambiar la tipografía, el fondo, colores, etc, no podemos realizar esta modificación. Para esto es necesario acudir a un archivo de configuración. Editamos el siguiente archivo
sudo nano /usr/share/vte/termcap/xterm
Y buscamos la línea que indique
:co#80:it#8:li#24:
Donde co indica las columnas y li el número de líneas, es decir ancho y alto respectivamente. Modificamos a nuestro antojo pudiendo quedar esto
:co#130:it#8:li#24:
Que es como yo lo prefiero

Valores de configuración

Recuperando datos de partición encriptada con Finnix

Finnix LiveCD

Finnix LiveCD

En una decisión desafortunada (originada por la falta de conocimiento y una cierta confusión con el paquete linux-image) yaboot dejó de funcionar en una iBook G4 que tenía Debian Etch instalado , la primicia era rescatar los datos, posteriormente reinstalar el sistema optando esta vez por Lenny, la dificultad estaba en que la partición / estaba cifrada –desde mi punto de vista está mal particionada, ya que se debería mantener /home aparte y con la encriptación a sólo esa–  así que no había espacio para generar una instalación por la incertidumbre de perder los i-nodos, y uno que otro bloque con información, y por tanto todo iba a ser más difícil. Continue reading

Truco: desmontando el CD/DVD que no responde

En ciertas ocasiones un proceso que se queda como zombie o en una ejecución cíclica no nos permite desmontar o expulsar la unidad de CD del equipo, y aparece el mensaje device is busy, para estos casos nos auxiliamos del comando fuser para que podamos retomar el control del dispositivo.

Primero averiguamos quién chingao tiene secuestrada a la unidad.
sudo fuser /media/cdrom
Esto mostrará los procesos que no permiten desmontar la unidad. Ahora, para poder liberarlo tecleamos
sudo fuser -k /media/cdrom
Et voilà, ahora podemos expulsarlo.

Manual de fuser

Breves ejemplos del uso del comando find

Hace unos pocos días comenté acerca de la herramienta catfish la cual nos permite realizar búsquedas de archivos en el equipo. Pero en este breve tiempo que la he estado utilizando sigo prefiriendo la línea de comandos por la versatilidad que ofrece. Aquí mostraré algunos usos del comando find, para demostrar qué tan poderoso puede llegar a ser.

Comenzamos con una búsqueda sencilla. Supongamos que tenemos una carpeta llamada estado y un archivo de texto llamado de igual forma.
find . -name "estado"
Con esta instrucción se le indica que encuentre estado dentro de la carpeta actual (representada por el punto) y sus subcarpetas. Esto nos mostrará tanto el archivo como la carpeta. Cabe recordar que siempre podemos utilizar los comodines.
Si queremos que sólo muestre los archivos llamados estado, ejecutamos
find . -type f -name "estado"
También podemos buscar archivos por su contenido auxiliándose del comando grep. Supongamos que tenemos varios códigos en C, si ejecutamos
find . -name "*.c" -exec grep -l "BUFSIZ" {} ;
obtendremos como resultado todos los archivos con extensión .c que contengan BUFSIZ dentro de el.
Si queremos realizar reemplazo de texto podemos ejecutar el comando de la siguiente forma
find . -name "*.c" -exec sed -i -r 's/iNumerob/iNumeroPrimo/' {} ;
con esto reemplazamos iNumero por iNumeroPrimo
Ahora se da uno cuenta de que find es muy útil :D.

Podemos encontrar archivos que superen cierto tamaño. En este ejemplo find nos mostrará los archivos dentro de la carpeta del usuario (~) que superen los 10Mb.
find ~ -size 10M -type f
Podemos encontrar archivos que hayan sido modificados en los n últimos días. En este ejemplo se muestran los archivos que han sido modificados en los últimos 2 días.
find . -ctime -2 -type f.
La mejor ayuda es el manual que proporciona Linux.

Catfish: búsqueda de archivos.

Yo soy un defensor del uso de la terminal en los sistemas Unix-like, pero también soy defensor de la libertad del usuario para elegir cómo hacer las cosas, yo entiendo perfectamente que no todos tienen el ánimo para aprenderse comandos y parámetros cada día, así que prefieren herramientas con interfaces gráficas.

Aquí sale catfish: deseaba utilizar una interfaz para realizar la búsqueda de archivos dentro de mi equipo y sin depender de demonios utilizando mi procesador para indexar los metadatos. Regularmente lo hago mediante el comando find, el cual considero excelente debido a los parámetros de exclusión o inclusión con los que cuenta, pero regularmente es sólo encontrar un archivo.

Catfish es una herramienta de búsqueda para linux y unix. Basicamente es un frontend para diferentes demonios de búsqueda, que provee una interfaz unificada. La interfaz es ligera intencionalmente, utilizando solamente GTK+.

Así que para no hacer un
sudo find / -name fstab --print
siempre podemos utilizar un cuadro de diálogo bastante sencillo.

Podemos realizar la búsqueda mediante ciertos parámetros básicos, como el tipo de archivo o la ruta de origen, así como elegir el demonio o comando que deseamos utilizar para realizar la búsqueda.

catfish