miércoles, 31 de octubre de 2012

Script en perl para ver las dimensiones de una imagen


Como dije,en el lapso del tiempo en el que haga los tutoriales de perl,sacare pequeños programas para que vean para que funciona perl,ya que me he dado cuenta de que muchas personas dicen y me han dicho que no es muy funcional perl,que mejor ponga tutoriales de python,pero no perl es muy muy funcional,para muchas cosas y es mi lenguaje de programación interpretado favorito y sirve para muchas cosas al igual que como hemos visto con bash,solo que perl reune lo mejor de C,sh,AWK, sed, Lisp para poder crear programas como el que vamos a ver hasta programas muy muy potentes,ya sea para multimedia o seguridad informática ademas de muchas otras cosas mas.

Bueno esta entrada no es una parte de nuestra serie te tutoriales sobre perl,solo es un ejemplo de un script que te puede servir para algo como a mi me ha servido.

Nota:Esto es programación si se te hace complicado puedes usar herramientas como gimp,o un visor de imágenes con esta cualidad, que son muchos.Este es un ejemplo para entusiastas a la programación Perl


Lo que hace este script es solo mostrar las dimensiones de una imagen

Ancho por alto

Hice dos scripts

1.Lo lee por entrada del teclado

Así es,es leída la ruta por el teclado, así que no tendrás que poner la ruta en el script sino que la escribirás a la hora de ejecutar el programa.



2.Aun mejor,si tienes zenity lo puedes hacer mas simple,solo ejecutas el script y abrira un buscador grafico ya con las extensiones filtradas.

Primero que nada,necesita el modulo Image::Size

Aprendimos a instalar módulos en la entrada pasada

Enlace

Así que lo instalamos con CPAN

install Image::Size

Y aquí el código

Script 1 sin zenity



Si necesitas saber las dimensiones de una imagen desde un sistema sin shell grafica prueba este script



Enlace

Explicado con #

#!/usr/bin/env perl

use strict;
use Image::Size; # Usar modulo
system("clear"); # limpiar pantalla

print "Ruta de la imagen :"; # < Imprimimos eso
my $imagen = <STDIN>; # Ruta desde entrada del teclado

chop($imagen); # Limpiamos la entrada

my ($ancho, $alto) = imgsize($imagen); # Comandos que miden la imagen

print "Tu imagen $imagen es de :\n";  # < Imprimimos esto
print "Ancho: $ancho x Alto: $alto\n"; # Imprimimos medidas
exit(1);



Script 2 con zenity




Si tienes zenity y gnome,xfce u otro escritorio que soporte zenity y quieres ver un poco de perl en acción,prueba este script

Enlace

Explicado

#!/usr/bin/env perl

use strict;
use Image::Size; # Usar modulo 
system("clear"); # limpiar pantalla

print "Ruta de la imagen :  \n"; # < Imprimimos eso

my @formatos = ( # Array con los formatos compatibles(hay mas)

 'formatos --file-filter=*.JPG',
 'formatos --file-filter=*.bmp',
 'formatos --file-filter=*.jpeg',
 'formatos --file-filter=*.jpg',
 'formatos --file-filter=*.png',
 'formatos --file-filter=*.tif',
 'formatos --file-filter=*.xbm',
 'formatos --file-filter=*.xpm',
 'formatos --file-filter=*.gif'
);

my $imagen =`zenity --file-selection @formatos --title="Selecciona una imagen"`;

# ^ Variable que abre zenity

chop($imagen);  # Limpiamos la seleccion

if ( $imagen eq $1 ) { # Estructura selectiva para ver si se selecciono algo con zenty

print "No elegiste una imagen\n";
exit(1);
}
else{ # Si se selciono algo se ejecuta lo siguiente

my ($ancho, $alto) = imgsize($imagen); # Comandos que miden la imagen

print "Tu imagen $imagen es de :\n";
print "Ancho: $ancho x Alto: $alto\n"; # Imprimos las medidas

exit(1);
}

Para usarlo creen un documento .pl 

En terminal

touch dimension-imagen.pl

Luego con tu editor favorito

editor_favorito dimension-imagen.pl

Por ejemplo

vim dimension-imagen.pl

Pegan el código



Y guardan

Luego le dan permisos de ejecución

chmod +x dimension-imagen.pl

Y ejecutan

./dimension-imagen.pl

Eso es todo

Si no tienes zenity puedes instalarlo ya que el segundo script es mucho mas útil  si usas Gnome,XFCE con

Para Ubuntu

sudo apt-get install zenity

Para openSUSE

sudo zypper in zenity

Para Archlinux

sudo pacman -S zenity

Para Gentoo

Como root

emerge zenity

Bueno puede que el script sea mucha molestia ya que esto se hace con clic derecho información y ahí están los pixeles,pero hay que hacer desde lo basico para poder hacer cosas mas grandes,espero que les haya servido y hayan aprendido algunas cosas.

Leer más...

Como instalar módulos perl en Archlinux

Si se han dado cuenta en varios scripts en perl que se encuentran en internet necesitan módulos,por ejemplo

 use Image::Grab;


Aquí indica que se va usar el modulo  Image::Grab;,en un script,incluso esto puede ser usado por nosotros mismos a la hora de programar,bueno si ejecutamos un script con un modulo que no este instalado,dara error de compilación y resaltara la linea de error,que es donde se llama el modulo,bueno la solución es instalar el modulo,o los módulos que necesitemos.

Yo en mi caso estoy usando Archlinux y vamos a usar CPAN para instalar los modulos

Que es CPAN?

CPAN es el acrónimo de Comprehensive Perl Archive Network. Es un enorme archivo de software escrito en Perl, así como de documentación sobre el mismo. 

Tiene presencia en la Web a través de su sitio www.cpan.org y sus 481 espejos (269 registrados) distribuidos por todo el mundo.1

Actualmente hay más de 100.000 módulos empaquetados en más de 23.000 paquetes, aportados por más de 9.000 autores.


Bueno vamos a comenzar

Tutorial

1.Entra como root en la shell

su

2.Introduce este comando

perl -MCPAN -e shell
3.Entraremos a CPAN



Ahora si queremos instalar un modulo hacemos esto

Por ejemplo el que mencione
install Image::Grab



Atención: CPAN se puede usar desde la terminal usando

cpan

Pero si no lo hacen como root dará errores



Así que la próxima vez que instales un modulo usa

su

cpan


Y también

Si necesitan un modulo pueden buscarlo aquí

search.cpan.org/

Leer más...

martes, 30 de octubre de 2012

Que hacer después de instalar ubuntu 12.10 quantal quetzal

Bueno hace poco instale Ubuntu 12.10 y aqui unas cosas que podemos hacer antes que nada para dejar listo nuestro nuevo sistema operativo.

Después de esto


:D

0.Si son nuevos en linux lo primero que hay que hacer es buscar la terminal(consola)

En el dash(icono de ubuntu) busquen terminal,o presionen

ctrl+alt+t 

En cualquier lugar

Y la abrira,esto es porque todo lo de abajo que esta entre x y dice sudo,va en la terminal.

1.Instalar codecs multimedia

mp3,flash y otras hierbas

En terminal

sudo apt-get install ubuntu-restricted-extras 

De video

sudo -E wget –output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list && sudo apt-get –quiet update && sudo apt-get –yes –quiet –allow-unauthenticated install medibuntu-keyring && sudo apt-get –quiet update 

sudo apt-get install libdvdcss2 non-free-codecs 

32 bit

sudo apt-get install w32codecs 

64 bit

sudo apt-get install w64codecs 

2.Configurar firewall

En Ubuntu y no solo en esta distribucion existe el firewall,un poco distinto a otros sistemas,pero existe

Para activarlo solo hacemos lo siguiente

En terminal


sudo ufw enable


Si quieren crear reglas

instalen la interfaz de ufw

sudo apt-get install gufw

Mas info

Es para 12.04 pero funciona igual

3.Instalar gdbi

Si son nuevos en Linux y Ubuntu les doy la bienvenida y les adelanto que existen unos archivos con extensión .deb que pueden o van a encontrar en la Internet a la hora de buscar programas para ubuntu,y con gdbi la instalación de esos programas (.deb) se reduce a clic derecho abrir con gdebi,instalar.

Así que es recomendable que lo instalen

sudo apt-get install gdebi

4.Instalar google chrome

En mi opinión propia chrome es el navegador mas veloz del mundo y con las extensiones lo hace que sea un navegador web que nos servira de mucha utilidad, así que si quieren otro navegador aparte de firefo lo instalamos

Descarga el  programa en .deb

Enlace

Y instala con gdebi

5.Instalar synaptic

Synaptic es una aplicación que nos sera de mucha utilidad ya que es como un software center pero mucho mas ligero y eficaz,les recomiendo que lo instalen,por que al igual que gdebi sera de mucha utilidad

sudo apt-get install synaptic


6.Instalar herramienta de configuración avanzada

En U ubuntu 12.10 nos trae el programa de configuración nativo del sistema y ademas de la configuración de compiz,pero si quieres mas configuración instala unsettigs para una mayor configuración y personalización

sudo add-apt-repository ppa:diesch/testing 
sudo apt-get update 
sudo apt-get install unsettings 

7.Instala soporte para .rar y .zip

No es una mentira que en cualquier sistema operativo necesitamos trabajar con .rar y .zip, así que en linux ubuntu instalamos el soporte para poder usar .rar .zip y parecidos con:

sudo apt-get install unrar rar p7zip-full unace unzip sharutils mpack lha arj 

Bueno eso es todo, pondría 10 cosas ya que hay muchas cosas pero no.



En el futuro mas tutoriales de personalización y ayuda sobre ubuntu 12.10

Leer más...

lunes, 29 de octubre de 2012

Invertir texto con perl en Unix


Hoy me dieron ganas de hacer algo de programación avanzada en juego para diversión esto es algo muy básico de la programación perl pero un poco avanzado si se comienza en esto,mi lenguaje favorito igual o mas que bash.

Lo que haremos es voltear una palabra,solo eso :D

Bueno el script es este

Copia y ejecuta

#!/usr/bin/perl

my $letra="Tiempo de Tux"; # cambia la palabra que quieras cambiar

chomp($letra); 

print scalar reverse "$letra";


Listo ahora si lo quieren hacer desde la entrada del teclado y un poco colorido :D este es el comando código


Enlace


Ahora si no son fanes de los scripts y son unixeros como yo pueden hacer esto con un pipe

echo "Tiempo de Tux" | perl -ne 'chomp;print scalar reverse . "\n";'
Eso es todo :D

Leer más...

Como reconocer el touchpad en Archlinux

Bueno esto ya lo había configurado hace un tiempo pero me toco de nuevo y les quiero compartir la solución para el touchpad en Archlinux.



Si se habrán dado cuenta al instalar una shell gráfica después de las X en Archlinux no nos reconoce el touchpad,bueno esto se soluciona fácil.

Bueno solo basta con instalar synaptics


sudo pacman -S xf86-input-synaptics

Y reiniciamos

sudo reboot
Y listo,si tienen problemas pueden copiar la configuracion que encontre en <°Linux

Enlace 
Y lo copian en la configuración de synaptics

En terminal(por ejemplo yo en gnome)


sudo gedit /etc/X11/xorg.conf.d/10-synaptics.conf

Luego en gedit


ctrl+a

ctrl+v

ctrl+s

ctrl+q
Y reinician

Si no pueden acceder a la configuracion por lo mismo del touchpad,pueden editar con nano


sudo nano /etc/X11/xorg.conf.d/10-synaptics.conf
Desde otra pc por ssh


 Eso es todo

Referencia

http://blog.desdelinux.net/soluciona-todos-tus-problemas-con-el-touchpad/

https://wiki.archlinux.org/index.php/Touchpad_Synaptics
Leer más...

sábado, 27 de octubre de 2012

Como cambiar el wallpaper automáticamente en gnome 3 (Shell,Unity)



Script escrito en Perl

Bueno ayer no tuve tiempo de hacer el tutorial en perl como cada semana,pero hoy me puse a escribir un script muy pequeño pero muy eficiente,lo que hace es cambiar el fondo de pantalla cada cierto tiempo,a diferencia de los demas que hemos visto este script esta escrito en perl,los otros que hemos visto estan hechos en bash y de hecho este tambien se podia hacer en bash pero mejor use el poder que tienen los arrays de perl para hacerlo mas simple,y de hecho en el próximo tutorial de perl veremos los arrays,este script aunque esta en perl llama muchas funciones del sistema con las comillas invertidas,que también veremos después en un tutorial,pero de momento les dejo el script que es para cambiar el fondo de pantalla de gnome shell o unity,bueno yo no uso unity pero conociendo el sistema se cambian con el mismo comando,bueno si son ubunteros y no les sirve comenten para cambiar titulo y ver si puedo hacer uno para unity



Tutorial

1.Abre tu editor de texto favorito

Copia esto

Enlace
Si no funciona este es otro enlace

Enlace

Vamos a explicar el código como si fuese un tutorial de perl con #

#!/usr/bin/perl # Hashbang

# Lo necesario para que se ejecute nuestro script

use strict; # Vamos a usar strict asi que lo pedimos 

use warnings; # Vamos a usar warnigs así que lo pedimos 

# Principal

# Ruta de las imagenes

my $folder = "/home/hackloper775/Downloads/wallpapers/"; # Cambia esta locación por tu carpeta 

# Tiempo que va a esperar para cabiar el wallpaper

my $tiempo = 180; # Cambia esta parte por los segundos que quieras

my @fotos = `ls $folder | grep [jJ][pP][eE]*[gG]`; # Variable array que buscara las imágenes con comandos del sistema

my $wallpaper; # Escribimos variable del wallpaper

while( 1 ) # Iniciamos bucle

{

$wallpaper = $fotos[rand($#fotos)]; # Definimos variable wallpaper

`gsettings set org.gnome.desktop.background picture-uri "file:"$folder$wallpaper`; # Iniciamos el programa(lo que sera visible) con un comando del sistema encomillado invertido

sleep($tiempo); # Iniciamos la espera que definimos antes y se repite al ser un bucle infinito pero una nueva imagen cada vez

}

Un poco mas de aclaración

En la variable folder es donde tenemos nuestras imagenes,para que no tengan problemas creen una carpeta en donde quieran y metan las imágenes que van a usar luego copien la ruta.

Por ejemplo si usan nautilus

Usen el script abrir en terminal

En terminal

 touch ~/.gnome2/nautilus-scripts/Abrir-con-terminal && echo '#!/bin/bash' >> ~/.gnome2/nautilus-scripts/Abrir-con-terminal && echo "gnome-terminal" >> ~/.gnome2/nautilus-scripts/Abrir-con-terminal && chmod +x ~/.gnome2/nautilus-scripts/Abrir-con-terminal
Mas info

Y luego den clic derecho abrir en terminal y usan el comando


pwd

Les devolverá como salida su locación


Lo copian y lo pegan en la variable my $folder con su editor favorito por ejemplo yo estoy usando ee desde terminal






Bueno ya explicada y copiada en un documento

La renombramos como queramos y la salvamos en nuestra carpeta personal,pero sin extensión,por ejemplo yo le puse

wallchanperl

Ahora abrimos terminal y le damos permisos de ejecución

chmod +x wallchanperl

Y como les he dicho yo tengo una carpeta de scripts para modificar el sistema,les recomiendo una

mkdir ~/scripts

Y movemos el script

mv wallchanperl ~/scripts/

Ahora ya esta pero antes lo probamos

cd ~/scripts/

perl wallchanperl

Si todo va bien debe de haber cambiado el fondo de su escritorio,si no revisen el problema(dirá en terminal) y copian y pegan el problema como comentario para ayudarles

Si todo va bien detienen el script

ctrl+c

Y solo falta hacer que inicie al inicio

Si usan unity

En el engrane de la esquina superior derecha




 aplicaciones al inicio >> añadir


Y ponen esto

En nombre: wallchanperl

En comando: /home/tu_usuario/scripts/wallchanperl

En comentario: Lo que quieran

Y listo cierran sesión y ya

Si usan gnome-shell como yo

En terminal

gnome-session-properties

Y le dan añadir(add) y ponen esto

En nombre: wallchanperl

En comando: /home/tu_usuario/scripts/wallchanperl

En comentario: Lo que quieran




Cierran sesión y listo

Bueno eso es todo,el único problema es que al iniciar sesión se ve el fondo de color unos segundos hasta que inicie el script,tal vez haya otros problemas,comenten haber que puedo hacer.

Vídeo de demostración

Leer más...

jueves, 25 de octubre de 2012

Como usar compiz-fusion en LXDE

Bueno en este caso traigo algo que hice hace un tiempo en LXDE en Archlinux no se sirva con Lubuntu por ejemplo, pero espero que algún lubutero lea esto y comente si funciona

Lo que haremos es usar los efectos de compiz-fusion en la shell grafica LXDE,el cubo,quemar,etc


1.Para archlinux

Instalamos compiz-fusion

sudo pacman -S compiz-fusion-gtk

Configuramos

sudo nano /etc/xdg/lxsession/LXDE/desktop.conf



Editan la linea que dice window_manager= y que quede asi


window_manager=compiz --indirect-rendering ccp

Esa configuración es para todos los usuarios,pero se puede ver afectada por la configuración propia de cada usuario,asi que conviene editar igual el desktop.conf de nuestro usuario comun:


nano ~/.config/lxsession/LXDE/desktop.conf



Ahora editamos el archivo /etc/xdg/lxsession/LXDE/autostart

Y añadimos 

@fusion-icon




Y listo entramos a LXDE (por gdm,startx)

Basados en ubuntu



Bueno investigue las configuraciones y ya se mas o menos donde están

1.Primero instalamos lo necesario


sudo apt-get install compizconfig-settings-manager compiz-fusion-plugins-extra fusion-icon
2.Editamos


Configuramos

Editamos el archivo /etc/xdg/lxsession/LXDE/autostart


 nano /etc/xdg/lxsession/LXDE/autostart


Y añadimos 
@compiz --replace
@fusion-icon




Bueno investigue la configuración global de LXDE se guarda en

/etc/xdg/lxsession/

Lo unico que tienen que investigar es donde esta autostart

Porque por ejemplo en Linux Mint con LXDE esta en

/etc/xdg/lxsession/Mint-lxde/autostart

Pueden ver con

ls /etc/xdg/lxsession

Y van checando por carpeta o mas facil

con

find /etc/xdg/lxsession -name autostart





Si encuentran autostart y editan pero no les funciona y no inicia el escritorio

Pueden presionar

alt+f2

Y se logean

Después usan nano y dejan todo igual

Si usan LXDE en una distro que no sea arch comenten ya que no he usado LXDE en basados en Ubuntu

Referencia

http://wiki.lxde.org/en/LXDE:Questions

https://wiki.archlinux.org/index.php/LXDE_(Espa%C3%B1ol)

Leer más...

aircrack-ng en Archlinux

Bueno esta entra es un poco rara ya que solo queria decir que aircrack funciona muy bien en Achlinux,en el pasado lo habia probado en Backtrack o Blackbuntu pero hay que tener en cuenta que esos dos sistemas son suites de pentest basadas en una distribucion grande como en este caso Ubuntu o también había hablado de Pentoo basado en Gentoo :D,bueno el hecho es que los programas que se encuentren en Backtrack,etc los podemos instalar en nuestra distribución y me anime a instalar aircrack-ng en archlinux para recordar viejos tiempos :D,lo que pasa es que el kernel de linux añade nuevas características como soporte para mas tarjetas y en este caso tengo el

uname -r

3.6.3-1-ARCH

Que es el mas reciente,incluso ubuntu debió haber añadido el 3.5(creo) en su versión mas reciente(12.10) y en arch basta con un simple

sudo pacman -Syu

Para estar al punto en cuanto a programas y núcleo

Hace un tiempo instale aircrack en el arch con AIF y no me reconocía ni en modo wlan mi tarjeta pero eso cambio, a lo mejor hice algo mal o a lo mejor si añadieron soporte para mi tarjeta

ath9k_htc


Bueno para instalar aircrack basta con

sudo pacman -S aircrack-ng

Y lo usan con los comandos de siempre

airdump,aireplay,aircrack,etc

Por ejemplo aquí estoy haciendo una prueba de seguridad a mi red nueva de infinitum


Recuerden que esto es para uso de nuestro propio equipo,por ejemplo yo, revente la clave wep en dos minutos meto wpa,si la crackeo también meto PSK TKIP,si también la crackeo, también meto un hardware mas potente para el router o ya no uso wi-fi

Esto no es paranoia ya que ya hemos hablado de que si logramos o logran meterse a nuestra red,pueden hacer un escaneo en rango 24 y localizan todos los ip,hostname,OS de nuestra red y con armitage o un programa como ettercap o cualquier otro seria un gran problema.

Leer más...

miércoles, 24 de octubre de 2012

tbashconverter 1.2 script en bash para convertir videos

Como saben estoy haciendo un script en bash para facilitar la conversion de videos con ffmpeg,o si no saben estoy haciendo un script en bash para facilitar la conversión de videos con ffmpeg,mas que nada es un codigo para que sirva de ejemplo para los tutoriales de bash,ya que también he hecho por ejemplo un fuser de puertos con nmap u otros scripts.

Bueno en esta ocasión pongo a disposision la version 1.2 de este script que le he puesto tbashconverter

Lo mas importante de esta version es

Licencia GNU

Arreglo de errores en dialogos zenity

Carpeta de salida(puedes elegirá carpeta de salida ajena a donde esta el script :D)

Y un nuevo esqueleto mas veloz(en vez de condicionales me baso en case/esac)

Y bueno eso es todo,la verdad es que me daban ganas de usar gtk+ para que quedara mejor con solo una interfaz pero no,una razon es porque se el eslogan es zenity y ffmpeg y otra cosa es porque esta muy dividido linux y no serviría en todas las distribuciones.

Así que vamos a dejarlo a su estilo ya que para interfaces hay muchos convertidores y muy potentes

También ahora esta en dos paste

En pastebin

Enlace

Y en el paste de nuestros amigos de <°Linux

Enlace

Bien para usarlo es igual que siempre

Copian el código

En terminal

cd ~/


touch tbashconverter.sh


gedit tbashconverter.sh

Pegan el código y cierran

Y después


chmod +x tbashconverter-1.2.sh

Y ejecutan con

./tbashconverter-1.2.sh

o

bash tbashconverter-1.2.sh

o

con nautilus

clic ejecutar en un terminal

O si prefieren como ya tiene ruta donde salvar el video pueden moverlo a /usr/bin para poder usarlo donde sea con solo escribir tbashconverter en terminal

sudo mv ./tbashconverter.sh /usr/bin/tbashconverter


Solo hay un problema el script esta programado para que busque las dependencias mas importantes que serian zenity y ffmpeg pero no obstante pueden faltar codecs y les tire errores,eso se resuelve con ver el error (sale en rojo hasta abajo) y goglearlo para ver que paquetes te hacen falta en tu distribución.


Leer más...

Como cambiar el fondo de gdm en gnome shell Archlinux

Si son usuarios de Gnome (Ahora Gnome 3 Shell) como yo se abran dado cuenta que ahora tiene un nuevo Login manager(Dysplay manager) desde Gnome 3,este login manager es visto mas que nada en Fedora y Archlinux porque en Ubuntu aunque se puede instalar Gnome Shell tiene su propio login manager

Bueno si no les gusta el fondo azul lo pueden cambiar en vez de optar por otro como kdm o slim

Tutorial


1.Instalamos gdm3setup

Necesitan yaourt

yaourt -S gdm3setup


2.Ates de abrir gdm3 setup primero necesitan tener sus imagenes en la carpeta donde estan los wallpapers nativos del sistema,asi que copiamos nuestras imágenes o imágenes que queramos poner de fondo a dicha carpeta

Primero nos damos locación en donde tengamos nuestra imagen

Por ejemplo yo en Downloads

Nota:De preferencia que sean .jpg o .jpeg

cd Downloads

Si son varias imágenes

sudo cp *jpg /usr/share/backgrounds
Si es una

sudo cp imagen.jpg /usr/share/backgrounds



3.Ahora si abrimos gdm3 setup en el dash




Y elegimos la imagen



Nos pedirá password y listo

La próxima vez que vemos el login manager tendrá nueva imagen de fondo

Y si se dan cuenta en gdm3 setup nos da la opción de cambiar también el tema se Gnome Shell

Eso es todo


Leer más...

martes, 23 de octubre de 2012

Curso bash Uso avanzado de variables



Esta parte ya de las ultimas de estos tutoriales tipo cursos de bash,solo abra 10 partes y esta es la parte numero 8,



Parte 1

Parte 2

Parte 3

Parte 4  

Parte 5 

Parte 6
Parte 7 

en esta ocasión veremos el uso avanzado de variables,en los tutoriales pasados ya hemos visto el uso de variables pero ahora los veremos de otra forma



En los tutoriales pasados los vimos de esta manera

mi_maquina="super-tux"

echo "$mi_maquina"

Ese es el uso normal con el símbolo $

Pero también lo podemos hacer de esta manera

mi_maquina="super-tux"

echo ${mi_maquina}

Cual es la diferencia?

Pues no es mucha,de hecho es idéntica a la pasada pero nos dar pie en los siguientes símbolos que veremos

Pero por ejemplo hay una definicion identica solo que se inicia con : y en vez de consultarla es definirla

En ves de

mi_maquina="super-tux"

echo "$mi_maquina"


Es

: ${mi_maquina:="super-tux"}

echo ${mi_maquina}

Aquí si hay un poco de diferencia aunque no mucha ya que la verdadera diferencia entraria al usar


: ${mi_maquina:-"super-tux"}



1.La variable que veremos primero es la variable especial para ver la longitud de una variable

El símbolo o mejor dicho patrón o sintaxis es esta

${#variable} 

Ahora como usarla en un script

#!/bin/bash

variable="uno"

echo "La longitud de la letra uno es ${#variable}"

Como vieron si ya lo ejecutaron ejecuta la longitud de la cadena de la variable $variable,por ejemplo veamos esto

#!/bin/bash

variable="uno"

echo "La longitud de la letra $variable es ${#variable}"

Imprime lo mismo solo que primero imprime la variable como lo habiamos visto antes,esto a que se debe?

Se debe a que primero usamos la $variable como cadena que seria uno(lo imprime en pantalla) y luego la volvemos a usar consultar pero ahora con el patrón ${#variable} que mide la longitud de la cadena de nuestra variable que seria tres u1-n2-o3.

Esto se puede usar de muchas maneras

2.La segunda variable que veremos sera la que usa el valor o valores de vectores y este es el patrón

${varible[numero]} 

Pero primero que es un vector

Rápidamente un vector es el numero de una variable encerrada en []

Por ejemplo

#!/bin/bash

variable[0]="Hola"
variable[1]="Mundo"

echo ${variable[0]} ${variable[1]} 

Hay que poner en claro que los vectores los podemos iniciar en 0 y no en 1

Por ejemplo

#!/bin/bash

# Mi sistema

OS[0]=`hostname`
OS[1]=`uname`
OS[2]=$LOGNAME
OS[3]="y estas usando variables especiales!!"

echo Eres ${OS[2]} estas usando ${OS[1]} en la maquina ${OS[0]} ${OS[3]}  

Ahora,hay un valor que entra dentro de este mismo que también seria el pasado,ha esto es a lo que me refiero

Saber cuantos vectores estamos usando

Este es el símbolo

${#variable[*]} 


Por ejemplo

#!/bin/bash

# Mi sistema

variable[0]="uno"
variable[1]="dos"
variable[2]="tres"
variable[3]="cuatro"

echo ${variable[0]} ${variable[1]} ${variable[2]} ${variable[3]} estas usando ${#variable[*]} vectores

Eso es todo

Hay mas variables avanzadas pero ya entrarían en el core scripting por ser mas avanzadas y de momento solo nos estamos introduciendo al mundo de Shell scripting


Leer más...

sábado, 20 de octubre de 2012

Como instalar KDE en Archlinux



Bueno KDE es un escritorio muy bueno,pero muy pesado ami en lo personal me gusta mas gnome o openbox ya que los tengo en Gentoo,y si conocen gentoo conceran el problema que abria para instalar KDE,en Archlinux lo instale porque es rápido y me preguntaron como hacerlo bueno pues aqui el tutorial

Tutorial

Esto esta basado que ya tienes el sistema base y Xorg configurado

Parte 1

Parte 2
Procedemos

1.Entren como usuario normal



2.En terminal

Como yo estoy traumado con la Internet descargue el mas ligero pero que ya se pueda usar que es meta

sudo pacman -S kde-meta

Si quieren todo

sudo pacman -S kde

O para ver los paquetes

pacman -Ss kde

Hay una mas ligera que es

pacman -S kdebase phonon-vlc

Para ponerlo en español

pacman -S kde-l10n-es

Esperamos,son cerca de 100mb(+ o -),ami me dio 50mb pero ya había instalado cosas antes

3.Cuando termine añadan esto:

exec ck-launch-session startkde

a su .xinitrc

Escriban

echo "exec ck-launch-session startkde" >> ~/.xinitrc 
Si tienen mas escritorios mejor entren con nano y comenten # los otros

nano ~/.xinitrc 



Y para iniciar kde

startx

Si quieren un login manager,pueden buscar en la wiki de archlinux

kdm,gdm,slim

En Tiempo de Tux

Tenemos el tutorial de SLIM

Enlace 

Y a disfrutar


Leer más...

viernes, 19 de octubre de 2012

Tutorial perl desde Unix estructuras selectivas


Bueno vamos a comenzar rápido con esta parte que es la tres de estos tutoriales sobre perl,como dije en la entrada pasada existen distintos tipos de variables y la única que hemos visto son las escalares, después veremos hashes,arrays,etc pero de momento con lo que hemos aprendido basta para aprender como funcionan las estructuras selectivas osea (if,else y elsif)

En perl al igual que en otros lenguajes de programación existen una parte del programa que es una estructura selectiva,que verifica la parte del programa y decide que hacer.

 por ejemplo

En texto plano en español,seria así (+ o -) lo que pensaría el programa del código que mostrare a continuación

imprimir Como te llamas,si es el nombre demianx86 abriré lo que estoy programado para hacer

Código

#!/usr/bin/perl

my $nombre="demianx864"; # Cambia tu nombre
print "Teclea tu nombre para continuar : ";
my $user=<STDIN>;
chop($user);
if ($user == $nombre) {
print ("Bienvenido\n");
}


Lo explico con #

#!/usr/bin/perl

my $nombre="demianx864"; # Definimos el nombre(nuestro nombre)
print "Teclea tu nombre para continuar : "; # Imprimimos esto para que nos ayude de guia
my $user=<STDIN>; # Llamamos la entrada del teclado
chop($user); # Limpiamos la entrada, como vimos en la entrada anterior
if ($user == $nombre) { # Verificamos si coninciden los nombres
print ("Bienvenido\n"); # Si coincide se imprime esto o el comando que haya 
}

Como pueden ver no funciona,por ejemplo escriban lo que escriban dirá bienvenidos,¿esto a que se debe?

bueno se los dejaría de tarea,pero no podemos continuar si no lo explico

Lo que pasa es que hay dos cuestiones aquí

1.Estamos usando un comparador de caracteres numéricos (==) que compara los caracteres y los usa como un solo dato(como cadena,texto) escribamos lo que escribamos sera un solo valor (texto) pero si escribimos números ahí si diferencia(por que se comparan como números)

Los operadores numéricos son estos

Operador Descripción

<  menor que
>  mayor que
==  igual que
<=  menor o igual que
>=  mayor o igual que
!=  no igual a

Los operadores de cadenas son estos

Operador   Descripción

lt   menor que
gt   mayor que
eq   igual a
le   menor o igual que
ge         Mayor o igual que
ne   No igual a

Así que sabiendo eso, así seria el script

#!/usr/bin/perl

my $nombre="demianx864";
print "Teclea tu nombre para continuar : ";
my $user=<STDIN>;
chop($user);
if ($user eq $nombre) { # Así reconocerá sean números o letras la longitud e igualdad
print ("Bienvenido\n");
}

2.La cuestión numero dos es que el script no piensa esto(si no es el nombre que hago) así que le decimos que hacer si el nombre no es igual con el comando else

La estructura de un script con else seria así

If (condición) { # Si se cumple la condicion
comandos a ejecutar
}
else { # De lo contrario
comandos a ejecutar
}

Y implementados en nuestro ejemplo luciría así


#!/usr/local/bin/perl

my $nombre="demianx864";
print "Teclea tu nombre para continuar : ";
my $user=<STDIN>;
chop($user);

if ($user eq $nombre) {
print ("Bienvenido\n");
}
else {
print "Quien rayos eres largo de aqui |:(\n";
}

Bien hay otra cosa que se llama elsif que seria así

if (condicion) { # Si se cumple esta condicion
secuencia de procesos
}
elsif (condicion) { # Si se cumple esta condicion
secuencia de procesos
}
elsif (condicion) { # Si se cumple esta condicion
secuencia de procesos
}
elsif (condicion) { # Si se cumple esta condición y así todos los elsif que quieras
}
else (condicion) { # De lo contrario
secuencia procesos
}

Por ejemplo lo podrías usar así



en nuestro script

#!/usr/local/bin/perl

system("clear");
system("sleep 1");

my $nombre="demianx864";
my $invitado="invitado";

print "Usuario : ";
my $user=<STDIN>;
chop($user);

if ($user eq $nombre) {
print ("Bienvenido $nombre\n");
}
elsif ($user eq $invitado) {

print ("Binvenido a la sesion de $invitado\n");
}
else {
print "Usuario incorrecto largo de aqui |:(\n";
}


Como vieron añadí

system("clear");
system("sleep 1");



Estos son comandos del sistema que llama perl, después los veremos, solo que use esto para hacer un trabajo mas limpio, también los usaremos de ahora en adelante,para que se vea mejor nuestros pequeños scripts,de momento eso es todo.


Leer más...

martes, 16 de octubre de 2012

Conferencias de Richard Stallman en México

Desde uno de mis blogs de lectura y sitio amigo me entero que Richard Stallman 



dará una serie conferencias en donde hablará de la importancia del Software libre y del movimiento por el software libre en el mes de octubre aquí en México,es una noticia un poco retrasada ya que hoy es 16 de octubre pero aun quedan algunas fechas y pueden ver donde serán


15 de octubre, 16 hrs.
Por una sociedad digital libre
Aula Magna, INFOTEC

16 de octubre, 10 hrs.
Copyright vs comunidad
Auditorio Javier Barrios Sierra, Facultad de Ingeniería, Universidad Nacional Autónoma de México (UNAM)

18 de octubre, 10 hrs.
Por una sociedad digital libre
Edificio A, 3er piso, Universidad Autónoma Metropolitana – Unidad Xochimilco.

19 de octubre, 13 hrs.
Por una sociedad digital libre
Sala Sandoval Vallarta, Universidad Autónoma Metropolitana – Unidad Iztapalapa.


22 de octubre, 12 hrs.
El movimiento del software libre
Aula A6, Instituto Tecnológico de Alvaro Obregón (ITAO)

23 de octubre, 13 hrs.
El software libre y tu libertad
Auditorio Crescencio Ballesteros, Universidad Iberoamericana – Campus Sta. Fe

24 de octubre, 10 hrs.
Copyright vs. Comunidad
Auditorio Francisco de Vitoria, Universidad Popular Autónoma del Estado de Puebla

Via : Ubuntu & Software libre
Leer más...

Nueva Plantilla en el blog (temporal)



Bueno si están viendo el blog pueden darse cuenta que cambio un poco,o mucho (de blanco a negro),el hecho es que cambie la plantilla porque me gusta darle estilo al sitio cuando es una temporada importante,mas que nada hallowen,navidad y san valentin,ya que son temporadas en las que vale la pena cambiar el estilo del sitio,eso en mi opinion personal,la plantilla anterior volvera en noviembre y me gusta mas ya que me gusta mas lo claro y luminoso,pero de todas formas es Tiempo de hallowen y es Tiempo de Tux :D de hecho si has visitido el sitio en distintas epocas has podido ver widgets volando por ahí de distintas fechas.


Espero que te guste el diseño

Si no les gusta pueden cambiar a las vistas en este enlace

Enlace
Leer más...

domingo, 14 de octubre de 2012

Como instalar plymouth en Archlinux 2012

Plymouth que es el nombre real de nuestro splashscreen a la hora de prender nuestra pc,a lo que me refiero es a esto

Prendes la pc con Arh


Con plymouth







Sin plymouth




Mejor,bueno para algunas personas,yo en lo personal me gusta sin plymouth pero quise hacer este tutorial por si no les gusta el cargador nativo que muestra como se carga el sistema y quieren poner una imagen de Arch,a la hora de encender y apagar nuestra pc con arch

Nota:Esto es peligroso ya que cambia configuraciones muy importantes así que lo haces bajo tu propio criterio,no me hago responsable de daños a la pc

También algo que puede pasar es que para cuando leas esto puede que estés usando un arch diferente al mio y puedas tener problemas por los cambios de configuración así que mi arch es

uname -r

3.5.5-1-ARCH


Tutorial

Necesitas yaourt

Así que lo instalamos

1.Instalar yaourt


Editamos el archivo pacman.conf

sudo nano /etc/pacman.conf
Y añadimos esto al final 


Para i686:

    [archlinuxfr]
    Server = http://repo.archlinux.fr/i686

Para x86_64:

    [archlinuxfr]
    Server = http://repo.archlinux.fr/x86_64

Guardamos


Instalamos
sudo pacman -Sy yaourt
Luego borramos lo que añadimos


sudo nano /etc/pacman.conf

Para i686:

    [archlinuxfr]

    Server = http://repo.archlinux.fr/i686

Para x86_64:


    [archlinuxfr]

    Server = http://repo.archlinux.fr/x86_64

Ahora editamos el /etc/yaourtrc


sudo nano /etc/yaourtrc

Descomentamos (#)

Lo que dice PACMAN="pacman"


# Command
PACMAN="pacman"
#DIFFEDITCMD="vimdiff"


2.Descargamos plymouth

yaourt -S plymouth-git

3.Añadimos plymouth a los HOOKS de /etc/mkinitcpio.conf

Entramos como root

su

nano /etc/mkinitcpio.conf

Buscan los HOOKS(hay varios) y en los que tienen estas lineas al principio"base udev autodetect"

Añaden plymouth

HOOKS="base udev autodetect plymouth etc etc..."

Guardan y salen de nano

Ahora reconstruimos el kernel con

mkinitcpio -p linux

Les debe aparecer plymouth en la reconstruccion del kernel




si no les sale esperen a que acabe y vuelvan a revisar los HOOKS que todo este bien y si aun asi no, añaden plymouth a los otros HOOKS(es que depende de la maquina que uses).

4.Configuramos el Grub (en mi caso grub 2)

nano /etc/default/grub

Editamos estas lineas

GRUB_CMDLINE_LINUX_DEFAULT=
GRUB_CMDLINE_LINUX=

y que quede asi

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=" splash"




Guardamos y salimos de nano

Recargamos la configuración de grub ya modificada

grub-mkconfig -o /boot/grub/grub.cfg

5.Algo muy importante,hacer que el plymouth se detenga cuando cargue el sistema

Basta con añadir algo a /etc/rc.local

nano /etc/rc.local

Y añadimos abajo

/bin/plymouth quit --retain-splash


Guardamos y salimos de nano

6.Para ver los temas que tenemos usamos este comando

plymouth-set-default-theme -l

Y para acomodar uno nuevo(por ejemplo solar)

plymouth-set-default-theme solar

Y reconstruimos

mkinitcpio -p linux

Eso es todo

Vídeo de como inicia mi netbook





Referencia

https://wiki.archlinux.org/index.php/Plymouth
Leer más...

sábado, 13 de octubre de 2012

Como usar wlan0 en FreeBSD 9.0


Bueno como saben uso FreeBSD o si no saben, uso FreeBSD,esto de este tutorial mas que nada es para los Linuxeros ya que puede que los windowseros digan que ,es wlan0,wlan es wi-fi pero wlan0 que diablos es,bueno wlan0,1,2,etc es la interfaz de red de nuestra conexión inalambrica,osea el nombre de nuestro punto de salida para conectarnos a un router o punto de acceso a wi-fi

En Linux existe el punto de acceso eth0 que la interfaz de conexión alambica osea la interfaz que se conecta por (ethernet,cable) en FreeBSD cambia un poco ya que es llamada re0,pero si hablamos literalmente es la misma y sirve para lo mismo,(para conectarse por cable a Internet)

También esta la que es el punto de este tutorial(wlan0),la interfaz wlan0,que en FreeBSD nos aparece con el nombre ath0,puede que a ustedes incluso les salga otro,si es así lean la documentación de FreeBSD para que puedan usar correctamente su hardware, aquí el punto es que no es lo mismo ath0 de FreeBSD y wlan0 de Linux,de hecho yo creo que es mas potente,ath0 ya que desde aquí es creada la interfaz wlan0,hay que tener en cuenta que no lo cambiamos el nombre,lo que hacemos es crear una wlan0 partiendo de ath0.

Tutorial

También hay que tener en cuenta que en FreeBSD no existe iwconfig

Checa tus interfaces con

ifconfig

Te deben salir todas, así que creamos un alias,que sera wlan0

ifconfig wlan0 create wlandev ath0

Listo,ahora vuelve a chekar ifconfig

Y saldrá wlan0

Bien,ahora la levantamos

ifconfig wlan0 up

Y listo ya esta lista para conectarse a wi-fi

Ahora lo que haremos es escanear las redes cercanas

Si han usado Gentoo o Archlinux(que son los que he usado,no se en cual otra distribución de haga así esto) sabrán que para conectarnos a wifi,hacemos esto

Escanear puntos de acceso

iwlist wlan0 scan

Y para conectarnos

iwconfig wlan0 essid "Tu_ESSID"

luego

dhcpcd(o tal vez no)

En FreeBSD lo hacemos así

Escanear puntos de acceso

ifconfig wlan0 list scan

Cheken bien lo que les sale,ya que le manda algo como esto

SSID/MESH ID     BSSID                      CHAN RATE   S:N     INT CAPS
Axtel-extremo   00:13:46:49:41:76   11   54M -90:96   100 EPS  WPA WME
Infinitum            00:11:95:c3:0d:ac    1     54M -83:96   100 EPS  WPA
etc           etc    etc etc     etc     etc        etc  etc


Y para conectarnos,tenemos que especificar nuestra inet,channel,ssid,netmask y la interfaz que es wlan0:

ifconfig wlan0 inet "tu-inet" netmask 255.255.255.0 ssid "Tu-SSID" channel "Canal"

Por ejemplo

ifconfig wlan0 inet 192.168.1.15 netmask 255.255.255.0 ssid Axtel123 channel 1

Y listo con eso nos asociamos a nuestra conexión por wi-fi

Nota:Esto esta basado en que ya tienes funcionando,o funciona bien tu interfaz de red,osea que FreeBSD ya te detecto tu hardware para el wi-fi

También esta basado en la conexión a un router sin clave de acceso, así que si tienen wpa personal que es lo mas seguro vean este tutorial

http://mundofreebsd.blogspot.mx/2011/03/configurar-wifi-wpa-psk-en-freebsd-81.html

Y si tienen wep u otra configuración,cheken la documentación oficial de FreeBSD

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-wireless.html

Ahora les dejo unos vídeos de como FreeBSD es un gran sistema que puede ser usado como un sistema de escritorio (Win/Mac/Ubuntu/etc)







Yo no dejo el mio,por alguna cuestiones :\ (tengo gnome 2 sin ninguna modificacion,solo el wallpaper :D,no es nada del otro mundo)


Eso es todo


Leer más...