Mostrando las entradas con la etiqueta archlinux. Mostrar todas las entradas
Mostrando las entradas con la etiqueta archlinux. Mostrar todas las entradas

lunes, 10 de junio de 2013

Visor pdf ligero con pcmanfm

Hay un visor de pdf que abre los documentos desde la linea de comandos,a este programa se le pasa un parámetro que es le nombre del fichero y en pcmanfm tenemos la capacidad de configurar los programas de esta manera asi que tendremos un visor de pdf ligero y usable desde pcmanfm.

Tutorial

Instalamos el visor:

 En Gentoo

sudo emerge -av app-text/mupdf

En Ubuntu


sudo add-apt-repository ppa:guilhem-fr/mupdf

sudo apt-get update
sudo apt-get install MuPDF

En Arch

pacman -S mupdf

Bien,ahora vamos a pcmanfm y le damos clic derecho a un PDF

Abrir con...

Y Linea de comandos # O su equivalente en ingles

Y escribimos:

mupdf %f

Y listo


Eso es todo :D
 


Leer más...

lunes, 22 de abril de 2013

Como usar gnome 3.8 modo clasico en Archlinux

Hace algo de tiempo que salio Gnome 3.8 para desarrolladores para que estos la pongan en su distribucion,en algunas ya ha llegado como en openSUSE,pero en Arch no :(

Bueno en el ultimo pacman -Syu que hice no me salia en las repos estables,solo en las testing.

Asi que hoy por hoy 23/04/2013 debemos activar las repos testing para poder usar gnome 3.8,si ya hace mucho de esta fecha es posible que ya este en los repos oficiales.

De todas formas aunque sea testing no me ha dado problemas(algunos menores) pero bueno vale la pena (en mi opinión) a comparación de 3.4 o 3.6.

Tutorial

Activamos las repos testing:

En terminal

nano /etc/pacman.conf
Buscamos



#[testing]
#Include = /etc/pacman.d/mirrorlist

Y les quitamos el gato (#) ahora salvamos y salimos

ctr + o

ctrl + x

Actualizamos las repos y el sistema:

Si tenemos instalado gnome shell 3.6 o 3.4

sudo pacman -Syu

Si no tenemos gnome(no tenemos nada o LXDE,etc):


sudo pacman -Syu gnome
Eso nos instala Gnome Shell 3.8

Ahora instalamos el modo clasico

sudo pacman -S extra/gnome-shell-extensions

Eso es todo,elegimos desde el login manager Gnome Clasic


Un video :D



La verdad este Entorno es una maravilla,yo que soy usuario de Gnome la versión 3.6 me había decepcionado un poco porque donde la uso es una netbook y no estaba optimizada,pero esta version en modo clásico me va perfecto.

Y no les digo mas,prueben ustedes mismos :D

Leer más...

sábado, 6 de abril de 2013

tint2 panel ligero para Linux

En Linux existen distintos entornos de escritorio para poder configurar nuestro escritorio como nosotros queramos,hay unos avanzados como gnome-panel hay otros muy avanzados como el de KDE,pero hay muchos paneles minimalistas que estan incluso por debajo(menos consumo de recursos) que lxpanel o xfcepanel,existen varios pero uno de los mas populares es tint2,un panel muy ligero y muy minimalista,tanto que debemos configurarlo en modo texto(tambien hay GUI),pero que nos puede quedar muy bien adaptado a nuestro entorno de escritorio:

Nota: Primero una advertencia, este panel esta hecho para poder funcionar con entornos mínimos LXDE,XFCE,openbox,fluxbox no lo he probado en Tilling Window Manager(Awesome,Notion,i3,etc) y en entornos pesados (gnome shell,kde,unity) va a dar problemas.


Tutorial

1.Instalamos

Ubuntu :

sudo apt-get install tint2
Archlinux:

sudo pacman -S tint2

Gentoo:

Tint2 minimo:

sudo emerge -av tint2
Tint2 con batería y configuración por GUI:

su

echo 'x11-misc/tint2 battery examples tint2conf' >> /etc/portage/package.use

sudo emerge  tint2 


Tint2 total(GUI completa,Bateria,lanzadores)

emerge subversion

mkdir ~/tint2 && cd ~/tint2

svn checkout http://tint2.googlecode.com/svn/trunk/ Tint2-read-only
cd tint2*

mkdir build

cd build

cmake -DCMAKE_INSTALL_PREFIX=/usr ../

make

sudo make install

Configuración:

Abrimos tint2:

En terminal

tint2 & exit

Si nos bajamos tint2 con GUI configurar es muy fácil solo buscamos en el menu tint2conf o en terminal

tint2conf & exit
o

tint2wizard & exit


Desde aquí podemos meter nuestra configuración, es muy facil como si fuera gnome-panel o el panel de KDE,tambien se puede hacer de modo texto pero  no voy a hablar de como configurar ya que es largo de explicar y ya teniendo la GUI no hay porque complicarnos, aquí un tutorial:

Enlace
Ahora ya tenemos panel para administrar las ventanas y ver la hora y bateria, también si implementamos systray nos mostrara la bandeja de aplicaciones(wicd,networkmanager,fusion-icon)

Ahora solo añadiremos un menu,un menu para poder acceder a nuestras app's,esto es opcional ya que por ejemplo openbox trae su propio menu en el escritorio pero,bueno asi es como queda:





Asi es,es un script en Perl + Gtk2 de trizen el programador al que le debemos Alsi,para usar:

Para sistemas no Arch:

Necesitamos usar Gtk2 y tener Perl/Gtk2:

sudo cpan Gtk2

También necesitamos Linux::DesktopFiles

sudo cpan Linux::DesktopFiles
Y descargar el script

Enlace
Para Arch

yaourt -S menutray
Y usamos:


Distros no Arch

perl script.pl --help
Veremos las opcines,por ejemplo para crear un menú con iconos:

perl script.pl -i

Para Arch

menutray

Las configuraciones las podemos están en :

~/.config/menutray/
Asi que en terminal

cd ~/.config/menutray/ && ls

Todo esta en Perl mi lenguaje nativo :P,pero casi no se necesita modificar nada porque todo es automático el único archivo que les recomiendo editar es config.pl

nano config.pl

Aquí cambiamos los valores de la configuración por ejemplo trae geany no editor nativo,yo no uso eso así que pongo gedit por ejemplo:


Ahora solo falta iniciarlos al inicio:

En openbox:

Editamos

nano ~/.config/openbox/autostart.sh
Escribimos:

tint2 &

perl script.pl -i &

En LXDE:

Editamos:

nano /etc/xdg/lxsession/LXDE/autostart
Escribimos:

@tint2 

@perl script.pl -i

Para Fluxbox no se :(

Asi que eso es todo :D
Leer más...

martes, 5 de febrero de 2013

Como instalar conky-lua Archlinux/Gentoo

Conky lua es una de las cosas que me gustan mas de Linux y hace poco que lo conosco,el hecho es que lua es uno de los lenguajes que me gustan y poder usarlo para personificar el escritorio de mi sistema operativo es como un sueño,pero en fin ni lo he hecho :P

No he programado nada desde 0 que sea para conky,solo he modificado los scripts ya hechos como los de ring, y bueno en esta ocacion veremos como instalarlos en Archlinux y Gentoo que son las distribuciones que tengo y he tenido algunos problemas, básicos, pero puede que a mas de uno ayude.

Archlinux

Para Archlinux conky lua esta en Aur así que necesitan yaourt:

Tutorial 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"


Instalamos conky-lua


yaourt -S conky-lua

Con soporte para nvidia

yaourt -S conky-lua-nv

 Y listo :D, solo guarden su archivo de configuración como .conkyrc en su home

Para ejecutar en terminal:

conky & exit

Y dependiendo de su entorno,añadan conky a ejecutar al inicar sesion





En Gentoo

Necesitamos esto en nuestro make.conf


X imlib iostats lua lua-cairo lua-imlib wiifi
Con soporte de nvidia también:

nvidia


Así que:

nano /etc/portage/make.conf

Y añadimos o vemos si tenemos eso en nuestra variable USE

Y instalamos

sudo emerge -av conky
Así de fácil bueno es lo que yo uso,por ejemplo yo uso rings con la tipografia de ubuntu así que la instalo

sudo emerge -av media-fonts/ubuntu-font-family

Y si quieren por ejemplo conkyguayadeque

Necesitan añadir este overlay

sunrise

 Bueno,yo modifique el ring que vimos en este tutorial 

Y quedo así:

Hay muchos conky's(configuraciones)

Enlace

Eso es todo


Referencia github.com/tuxtor
Leer más...

jueves, 24 de enero de 2013

Tutorial modulos python 3 desde Unix

Esta es la parte 3 de los tutoriales de python 3.x sobre Unix

Se recomienda leer las partes anteriores:

Enlace

Los módulos son los archivos con extensión .py,.pyo,.pyc.

A diferencia de los módulos principales que son los .py que venimos viendo en estos tutoriales,estos archivos son lineas de ordenes que usan otras lineas de ordenes,osea módulos para scripts,aunque los dos tengan la misma extensión .py.

A lo que en Tiempo de Tux llamamos script otras web's les pueden decir módulos  pero en concreto son lineas de ordenes,algo que hace entender a las computadoras lo que queremos hacer.

Así que bueno, en esta ocasión vamos a aprender a usar y crear módulos para usarlos en nuestros script's.

Primero que nada debemos saber que son las funciones y como usarlas,en esta ocasión veremos las funciones muy por encima y en otra ocasión las fortaleceremos con mas conocimiento:

Funciones

Las funciones en python se definen con la llave especial def(Defining) seguida del nombre de la función y los argumentos,estos últimos encerrados en ():

def nombre_f (argumeto1, argumeto2):

Los argumentos son datos que le pasaremos a lo que este adentro de la función,desde el llamado de la función:

Adentro de la función pueden ir muchas cosas,desde print hasta algoritmos muy muy complicados que incluso usan/llaman otras funciones,por ejemplo print

def nombre_funcion (argumeto1, argumeto2):
print (argumeto1)
print (argumeto2)

Llamada de funciones:

Las funciones las llamamos cuando las necesitemos y como dije le pasamos el argumento,los argumentos son parametros que trabajaremos desde la misma función,estos parámetro o argumentos los creamos desde ahi mismo o desviamos una variable ya creada:

nombre_funcion(“Argumento 1”, “Argumeto 2”)  # Para llamar las funciones solo basta escribir su nombre

Y también enviar los argumentos (si usamos o necesitamos tales)

Script de ejemplo:

#!/usr/bin/env python3

def nombre_f (argumeto1, argumeto2):
print (argumeto1)
nombre_f(“Argumento 1”, “Argumeto 2”)

Como dije le podemos pasar argumentos, si lo necesitamos,por ejemplo tenemos definidos un nombre y un apellido y queremos imprimirlos desde la función,solo haríamos esto:

#!/usr/bin/env python3


nombre = "Damian"
apellido = "Rivera"


def unir(nombre,apelido):
       print ("Me llamo :", nombre, apellido)


unir(nombre,apellido)

También cabe destacar que en la llave def después del nombre de la función podemos asignarle un descriptor(nuevo nombre) a nuestro argumento que deseamos trabajar:

Por ejemplo la variable global se llama "nombre" pero podemos asignarle un descriptor nuevo para poder trabajar con el en la llave def:


#!/usr/bin/env python3


nombre = "Damian" # Variables-
apellido = "Rivera" # Globales


def unir(n,a): # Transformamos las variables a n y a

       print ("Me llamo :", n, a) #Aquí ya podemos usar el descriptor


unir(nombre,apellido) # Aquí le pasamos las variables globales


Del mismo modo podemos hacer operaciones aritméticas

Enlace 


También podemos llamar funciones desde otras funciones y usar los mismos nombres para las variables locales:

Enlace



Módulos

Los módulos son otros scripts o lineas de ordenes que importamos para poderlos usar en nuestro script principal,primero que nada se tiene que hacer la importación con la llave import seguido del nombre del modulo, por ejemplo:

import os

Los módulos contienen funciones las cuales llamamos con un punto (.),

os.uname() # Aquí estamos llamando la función de os que devuelve nuestro logname

Ya que debajo de os,puede haber uname,getlogin,getcwd,etc como vimos en el script, y para llamarlos solo debemos colocar un (.), también hay que tener en cuenta que aveces la salida del comando no es una simple variable,puede ser una lista o algo mas complejo y se debe manejar como es:

Si es una lista, por ejemplo uname de os:

#!/usr/bin/env python3

import os 

sistema = os.uname() 

print ("Argumentos en la lista :", sistema[:]) 

print ("Primer argumento:", sistema[0])




En ese caso estamos importando el modulo os y estamos pidiendo la función uname,la cual devuelve una lista.

Existen muchos módulos para python,no se si se compare con CPAN de Perl pero hay muchos,bien comenzemos:

Los módulos que usen como por ejemplo Gtk o Qt tienen su propia API asi que no les puedo explicar como usarlos ya que es mucha documentación y solamente se usan como uname de os,solo que aun grado mas alto.

Pero vamos a crear nuestros propios modulos,primero que nada vamos a crear una carpeta y dos archivos de texto para el ejemplo:

Como somos Unixeros,o por lo menos yo,abran una consola y metan este pipe:

mkdir mmdulos; cd mmdulos; touch mi_modulo.py && touch mi_script.py; clear; echo "Tenemos `ls  | wc -l` archivos: "; ls


(mmdulos es mis módulos :P)




Ahora vamos a crear unas funciones para mi_modulo.py con lo que aprendimos en esta entrada y el enlace de abajo:

Enlace
Mete esto en mi_modulo.py

Desde la termina puedes usar

gedit mi_modulo.py

Y mete esto:


#!/usr/bin/env python3

def mayus(p1): # Función que convierte a mayúsculas
     print (str.upper(p1))

def minus(p1):
     print (str.lower(p1)) # Función que convierte en minúsculas


Lo explico,estamos creando dos funciones una que convierte en mayúsculas y otra que convierte en minúsculas las cadenas de texto(es raro porque estas ya pertenecen a una función del sistema,pero es un ejemplo)

Ahora en  mi_script.py mete esto:

#!/usr/bin/env python3

import mi_modulo # Llamaos el modulo que creamos

hola = "hola" # Definimos una variable para probar

print ("La funcion mayus convierte:", hola, "en :")

mi_modulo.mayus(hola) # La convertimos :D


Y ejecutamos  mi_script.py

Como se dan cuenta si son programadores,ya experimentados no uso return,algo fundamental de una función esto lo hago porque las salidas de las funciones las manejo desde las mismas,no las trabajo desde otro lugar,por ejemplo:


def mayus(p1): # Función que convierte a mayúsculas
     print (str.upper(p1))


imprime la cadena por lo cual no es necesario hacer en el script:

print (mi_modulo.mayus(hola))

Porque es un ejemplo,ya que así es como manejo return:

Borramos lo que hemos escrito en los dos archivos:

En la consola


cat /dev/null > mi_modulo.py > mi_script.py

Y metemos en mi_modulo.py :



#!/usr/bin/env python3

def mayus(p1): # Función que convierte a mayusculas
     return (str.upper(p1)) # Regresa la cadena convertida

def minus(p1):
     return (str.lower(p1)) # Funcion que convierte en minusculas



Y en mi_script.py:



#!/usr/bin/env python3

import mi_modulo

hola = "hola"

print ("La funcion mayus convierte:", hola, "en : ")

mi_modulo.mayus(hola)) # No imprime nada


print (mi_modulo.mayus(hola) # Adivinen, si imprime


# De hecho podemos usar su información para trabajarla de otra forma:

cadena = mi_modulo.mayus(hola)

print (cadena.replace("O","I")) 



Con la llave return, podemos manejar la salida como un dato y podemos trabajarla,pero no es necesario en todas las funciones si estas tienen su propia salida.

Eso es todo,les dejo un poco mas de documentación(muy buena) de pycartagena:


Enlace
Leer más...

lunes, 21 de enero de 2013

Como recuperar grub en Ubuntu 12.10

El grub es el arranque de la pc,un poco después del cargador inicial y aveces lo podemos arruinar por x razón y a mas de uno le ha aparecido grub rescue > , esto pasa tras instalar un sistema junto a ubuntu,mas que nada windows,pero ami me paso con Archlinux,y tuve que arreglarlo y les comparto la solución.

Nota: Tutorial basado en que ya tenias antes grub y era de ubuntu

Primero que nada,iniciamos nuestro cd live(pendrive o dvd también) de Linux,sea Arch,ubuntu,gentoo,etc desde el cargador de inicio.

Yo use Ubuntu 12.10 porque mismo tenia el liveusb de este:

Ahora abrimos una terminal(si usamos un sistema con entorno gráfico)

Ahora vemos nuestra partición de ubuntu como root o sudo, con :

sudo fdisk -l 

En mi caso era una partición extendida en /dev/sda5

La montamos en la carpeta /mnt

sudo mount /dev/sda5 /mnt

Después montamos todo lo demás con :

sudo mount --bind  /dev /mnt/dev
Ya con nuestro sistema montado en /mnt iniciamos un entorno aislado chroot para usar el sistema desde el OSlive

sudo chroot /mnt
Ya en el sistema de ubuntu,reinstalamos el grub

sudo grub-install --recheck /dev/sda

Y listo :D

También convendría hacer un update para que busque los sistemas,aunque en ocasiones no es necesario:

sudo update-grub2

Aquí un ejemplo(ya no es el OSlive)

Eso es todo :D
Leer más...

martes, 8 de enero de 2013

Como instalar screenlets en Archlinux

Los screenlets son lo que podríamos llamar widgets,los cuales están programados en Python y dibujados usando el conocido Cairo(en el mundo de la programación) en vectores svg,estos me recuerdan dos cosas:

1.Los widgets de Windows Vista:

Se parecen,pero en Linux se ven mucho mejor,ademas son widgets osea que son lo mismo pero en otras plataformas y escritos en otros lenguajes.

2.Conky:

Conky es un monitor del sistema, y los widgets son pequeñas aplicaciones de escritorio,conky lo podemos configurar en Lua,en Texto y los widgets en Python & Cairo,HTML, JavaScript y CSS.

Digo que me recuerda Compiz,por un screenlet que se llama sysmonitor:

Me recuerda a conky(porque de hecho esta basado en el)

Y bueno vamos a comenzar.

Tutorial

1.Instala screenlets

sudo pacman -S screenlets

Con eso se nos instala el programa,pero no trae nada,asi que instalamos el paquete básico:

2.Paquete básico

sudo pacman -S screenlets-pack-basic 
Ahora buscamos screenlets y lo abrimos:

3.Configurar

Elegimos uno,por ejemplo sysinfo(Le damos clic)



Y le damos Iniciar/Parar(en el lado de la izquierda)

Y si queremos que se inicie al logearnos también palomeamos la opción de abajo

Auto-arrancar- al inicio
También cada screenlet tiene sus opciones y podemos acceder a ellas dando clic derecho sobre este:




Yo uso Gnome 3.6,pero también funciona en KDE


Eso es todo :D
Leer más...

sábado, 29 de diciembre de 2012

Tutorial scripting python 3.3 desde Unix


Comenzaremos los tutoriales para programar en python versión 3.3,como saben si son seguidores del sitio hace un tiempo realice algunos tutoriales sobre python,estos los cancele por algunas cuestiones y me disculpo por ello.

En esta ocasión daremos un repaso rápido a lo que ya habíamos visto en python 2.7 así que si no tienes ni idea de programación estos tutoriales te servirán para adentrarte en el mundo de programación y python en si,ya que los haré los mas explicados posible y he habilitado todos los comentarios para que puedan comentar con la cuenta que tengan y sin cuenta,por si tienen algún aporte o duda.

Como dije daremos un repaso a lo que ya habíamos visto en python 2.7,como si no hubiese otros tutoriales de python.

Hola Mundo

Explico que es hola mundo,hola mundo es el primer programa/script que creamos en nuestro lenguaje de programación en lo que consiste este grandioso programa es en imprimir hola mundo en la pc,en algunos casos desde la consola y en otros desde una ventana.

En este caso como es introducción,lo haremos desde la consola usando scripting

Uno, ver que versión de de python tenemos

python -V

Ahora teniendo la versión 3.x comenzamos

Nota: Yo tengo una distro RR y trae python 3.x por defecto,ubuntu 12.10 por ejemplo trae python 2.7 y 3.x


Primero que nada debemos ver donde esta el interprete(python)

En terminal

which python

La salida sera algo como esto

/usr/bin/python
Si python -V no muestra 3.x,puedes buscar python 3 así

which python3
Y la salida sera algo como esto:


/usr/bin/python3

Usa esta ruta para lo de bajo.

Si aun así no sale python 3.x es porque no lo tienes instalado

En ubuntu 12.10:






En Archlinux :




Tomaremos la salida y le agregaremos #! y env,que quede así

#!/usr/bin/env python
O
#!/usr/bin/env python3 

Con #! llamamos el interprete(python)

Y con env ?

Si vamos a programar en serio,vamos a usar nuestro script en distintos sistemas(en este caso tipo Unix) y no todos tienen la misma (como yo le digo arquitectura[no me refiero a x64,x86,etc],me refiero a en que rama(carpeta) guarda el interprete ) ruta del interprete

Por ejemplo en FreeBSD

/usr/local/bin/python

Y con env busca python

Ya que env es un ejecutable y con añadir python después de el estamos diciendo que busque python

Es lo mismo que escribir en la consola

env python

Y también podemos buscar env(este ejecutable si siempre en /usr/bin)

which env

Así que siempre que inicies un script usa #!/usr/bin/env python

En este caso de preferencia

#!/usr/bin/env python3
Por si no es la versión que tienes por defecto

Ahora otra practica que se usa es asignar la codificación del script en mi caso no lo uso,pero si se necesita investigar al respecto.

Ahora si Hola Mundo:

Lo que acabamos de hacer es para hacer uso de scripting,ya que python tiene una consola en la cual podemos usar los comandos que veremos solo escribiendo python en la terminal,la cual no veremos,ya que estos tutoriales están dedicados al scripting.

Como mencione Hola mundo se basa en imprimir texto en la pc,en este caso la consola y el comando que se usa en python para hacer esto es print:

En python 3.3 debemos encerrar entre () lo que queremos imprimir y el texto "":

print ("Hola Mundo desde Python 3.3!!!")

Script :

#!/usr/bin/env python

print ("Hola MUndo desde Python 3.3!!!")

Recuerden que si python 3.x no esta por defecto en /usr/bin/python hagan asi el script:


#!/usr/bin/env python3

print ("Hola MUndo desde Python 3.3!!!")



Los scripts son linea de ordenes en un archivo con extensión .py,asi que para usar ese gran programa solo escribanlo en un archivo de texto y guárdenlo con extensión .py

Hay dos formas de ejecutar:

1.Si no tiene el hashbang/shebang se puede usar así:

python script.py

2.Si tiene hashbang se ejecuta de esta manera

Le damos permisos de ejecucion:

chmod +x script.py

Y lo ejecutamos asi:

./script.py

3.En mi caso yo lo ejecuto asi

python script.py
o

python3 script.py

Aunque tenga hashbang,esto para no perder tiempo en darle permisos de ejecución y dárselos hasta que este listo para usarse y compartirse.

Así que lo ejecutamos

python holamundo.py

Variables :

Las variables son fundamentales en los lenguajes de programación son asignaciones de valores que varían estos valores pueden ser números letras u otras cosas,las variables se definen con el símbolo = y con una palabra clave la cual no puede ser un comando del sistema:

En el caso de texto,llamado cadena o string debe ir encerrado en "" o '' para que se defina como cadena

Vamos a definir una variable llamada cadena con el valor de string "Mi cadena":

cadena = "Mi cadena"

En el caso de números sea enteros o de punto no debe ir en modo string(encerrados en "") debe ir libres de esta característica:

Vamos a definir dos variables de números una llamada numero y otra punto con valores 10 y 10.5:

numero = 10

punto = 10.5

Eso es todo lo que necesitamos saber sobre variables(de momento).

Ahora llamarlas,las variables son leídas por el interprete,pero no serán mostradas/ejecutadas hasta que sean llamadas de alguna manera, en este caso solo imprimiremos su valor en la consola:

#!/usr/bin/env python

cadena = "Mi cadena"
numero = 10
punto = 10.5

# < esto es un comentario,no lo toma en cuenta python
# Imprimiremos {

print ("Cadena: ",cadena)
print ("Numero: ",numero)
print ("Punto: ",punto)

# } Fin del script


Al ejecutar vean el resultado.

Yo defino/uso print de esta manera

#!/usr/bin/env python

cadena = "Mi cadena"
numero = 10
punto = 10.5

print ("Cadena: ",cadena,"\nNumero: ",numero,"\nPunto: ",punto)

Y obtenemos el mismo resultado,por que el símbolo \n quiere decir nueva linea.

Lo que también queda aclarar es las comas (,) esta coma usada de esta manera quiere decir también,por ejemplo en español diría:

imprime ("Cadena: " también variable cadena también "en nuevalinea Numero : también etc)

Vamos a hacer unas operaciones aritméticas:

No es difícil hacer esto,solo necesitamos los símbolos que se usan y no va a mas de lo que usábamos en la secundaria o tal vez primaria:

- resta

+ suma

% resto

/ division

* multimplicacion

// cociente

** potencia

Ahora vamos a ver un ejemplo

En un script escribimos:

print ( 1 + 1 )

Y imprime dos.

Igual en las otras operaciones,ahora vamos a definir el valor de nuestra operación desde la entrada del teclado con el comando input()

#!/usr/bin/env python

print ("Vamos a sumar dos numeros,definelos tu mismo")

numero1 = input("Escribe el numero uno: ")
numero2 = input("Escribe el numero dos: ")

# Podemos hacerlo de dos formas
# Forma uno desde variable {

suma = numero1 + numero2

# Lo llamamos

print (suma)

# } Fin de forma 1

# Forma 2 {

print (numero1 + numero2)

# } Fin forma2

Si ejecutamos el valor sera los dos juntos,por ejemplo si sumamos 10 + 10 el resultado sera 1010,esto se debe a que el valor que tomo fue desde input y este lo tomo como string, lo que debemos hacer es convertirlo a integer/entero como mencione (numero)

Pasando la variable a integer con el comando int desde otra variable:

#!/usr/bin/env python

print ("Vamos a sumar dos numeros,definelos tu mismo")

numero1 = input("Escribe el numero uno: ")
numero2 = input("Escribe el numero dos: ")

nume1 = int(numero1) # Pasamos el valor a entero
nume2 = int(numero2) # Las dos variables

# Podemos hacerlo de dos formas
# Forma uno desde variable {

suma = nume1 + nume2 # Ahora la operacion se hace sobre las nuevas variables

# Lo llamamos

print (suma)

# } Fin de forma 1

# Forma 2 {

print (nume1 + nume2) # Tambien aqui se realiza la operacion sobre las nuevas variables

# } Fin forma2

Ahora una nota importante,yo recomiendo que hagan esto desde un editor potente como kate,gedit o vim,si pueden usar un IDE también es recomendable,pero esto es mas que nada por que resalta la sintasix con colores y hace mas fácil el entendimiento, así que si pueden instalen,vim,kate,gedit:




Esto no es tan fácil ya que los programadores,coders,desarrolladores tenemos que ser analistas previsores,pensar en todo lo que puede ser un posible error o tan solo posible entrada,por ejemplo si nuestro numero es de punto (floating point) de punto flotante,debemos convertirlo a este formato:

Ahora con el operador float

#!/usr/bin/env python

print ("Vamos a sumar dos punto flotante,definelos tu mismo")

numero1 = input("Escribe el numero uno: ")
numero2 = input("Escribe el numero dos: ")

nume1 = float(numero1) # Pasamos el valor a flotante
nume2 = float(numero2) # Las dos variables

# Podemos hacerlo de dos formas
# Forma uno desde variable {

suma = nume1 + nume2 # Ahora la operacion se hace sobre las nuevas variables

# Lo llamamos

print (suma)

# } Fin de forma 1

# Forma 2 {

print (nume1 + nume2) # Tambien aqui se realiza la operacion sobre las nuevas variables

# } Fin forma2

Bien como vemos es sencillo,ahora vamos a ver estructuras selectivas

Estructuras selectivas

Las estructuras selectivas son caminos por donde ir,por ejemplo :

No vean el código,solo copien,ejecuten y vean lo que hace:

Desde ahora uso pastebin ya que necesita ir identado y puede que el formato de blogger haga que pierda el estilo de identacion(explico abajo)

Enlace

Aqui nos sirve este script ^ de dos formas:

1.Para ver como funcionan las estructuras selectivas,vimos que compara si el valor es igual a algunos de los que nos da y elige un camino por donde ir(Explicado mejor mas abajo)

2.Para ver como debe ir identado el código python ya que python es muy especial y ademas de que se ve mejor el código identado, lo usa para saber que usar,ya que no cierra su ciclo selectivo,por ejemplo Perl:

if (condicion) { # < Abre ciclo
# comandos
} # < Cierra ciclo

Y en python es asi

if condicion:
comandos

En lo personal me gusta mas como maneja los datos Perl :\

Ya que no requiere identacion y incluso podemos entrar a la competencia de codigo ofuscado,como por ejemplo el perfecto rectangulo de Just Another Hacker Unix Perl

Enlace

Que funcina O_O

Pero bueno vamos a seguir

En las estructuras selectivas hay que tener claro los comprobadores,porque se parecen a otros operadores, hay que tener muy claro esto:

= asignación

== comprobacion

Muy en claro,al igual que los demás:

< menor que  
<= menor o igual que  
> mayor que  
>= mayor o igual que  
== igual  
!= no igual
is objecto identificado  
is not  no identificado

Todo esto ^ lo podemos usar en las estructuras selectivas:

Pero antes si no conocen ningún lenguaje de programación,existen tres estructuras

En python son:

if,elif y else

Por ejemplo

if es si # Valor verdadero

elif es si,sobre otra condición # Valor verdadero

else es no sobre las otras comparaciones # Valor falso

Por ejemplo veamos este script:

Enlace

Como vemos podemos comparar muchas veces usando elif,pero solo una usando else,lo cual es bueno porque es algo que no es,ya que en español seria:

si es (if)

si es este, en vez (elif)

si no es ninguno (else)

Eso es todo por ahora,se me fue volando el tiempo y no vimos todo lo que vimos en tres tutoriales python 2.7,sera en otra ocasión :D

Eso es todo por ahora :D
Leer más...

domingo, 23 de diciembre de 2012

tbashconverter 1.3 script para convertir videos

Una vez mas actualice este script que programe que me ha funcionado mucho,de hecho tengo una suite de script's :D hechos en perl,bash,python y ruby algunos los he puesto como el descargador de vídeos de youtube de perl o el navegador web python[Qt]/perl[Gtk] y el escaner de puertos bash y otros.

Como dije este script sirve bastante,ya que siendo honesto muchos programas/scripts que hago solo los hago y los dejo tirados,por usar otros mas profesionales,y en esta caso no,es el único convertidor que uso :D

Bueno que añadí en esta versión:

Como ven es una versión nueva,ya que no es un arreglo a algún bug,si no que añadí nueva función.

Si nueva función,solo una :\

Lo que hace es que como esta basado en ffmpeg hice la GUI en zenity para fácil conversión,pero aveces estamos ya en la carpeta donde esta el video que vamos a convertir desde la terminal, así que añadí es nueva función:

Poder convertir vídeos desde linea de comandos,esto suena un poco tonto,ya que ffmpeg lo hace así nativamente:

ffmpeg -i video.mp4 video.flv

Y tbashconverter

tbashconverter video.mp4 
Por ejemplo abrimos necesitamos convertir un video

Abrimos terminal y escribimos

tbashconverter

Y nos aparece la GUI que solo tenemos que ir llenando(muy fácil)

Ahora la otra opción(nueva opción)


Ya estamos usando la terminal y estamos en la carpeta del video,para rápidamente solo escribimos

tbasconverter video

Y nos aparecerá una GUI similar a la otra

Suena raro,pero me paso y por eso lo programe :P

Y para que no sea mala practica esto, para que funcione sin problemas nuestro script,solo debe estar en /usr/bin con permisos:

-rwxr-xr-x 1 root root
Este es el código(use scripting un poco mas avanzado)

Enlace
Para usar solo:

1.Abren un editor

Y pegan el código


2.Lo guardan como tbashconverter en su Carpeta personal

3.Abren una terminal y teclean

sudo mv ~/tbashconverter /usr/bin/tbashconverter

4.Le dan permisos de ejecución

sudo chmod +x /usr/bin/tbashconverter

5.Listo escribe

tbashconverter 
Eso es lo básico si llevan un tiempo en Linux/Unix pueden usar su propia forma de ejecutarlo,ya que como saben no es la unica.

En la terminal :D
Leer más...

lunes, 10 de diciembre de 2012

tbashconverter 1.2.2

Hace un tiempo vengo creando este script escrito en bash con una unión de ffmpeg y zenity como funciones,mas que nada esto es para transformar videos fácilmente.

Lo vengo actualizando y añadiendo cosas,ase un tiempo encontre otro error:

El cual arregle:

Enlace

Ase un tiempo se veía así:



Y lo he mejorado,pero como dije tiene errores y solo los arreglo cuando me doy cuenta (esta entrada es para comentar otro error).

Este error es que no permite archivos con espacios,sea salida o entrada :(

Y me di cuenta al convertir un vídeo con estos espacios, ya que normalmente siempre uso:

Esta sintaxis:

ffmpeg -i nombre-nombre.mp4 nombre.mp3

Pero me di cuenta al hacer

ffmpeg -i nombre nombre nombre nombre.flv no nombre.mp3
No encontraba el archivo y daba error

Así que ya lo arregle,pueden convertir vídeos con salida y entrada con espacios .

Aquí lo pueden descargar:

Enlace

Y lo ejecutan Igual que siempre:

Copian el código de pastebin

En terminal

 cd ~/


 touch tbashconverter.sh


 gedit tbashconverter.sh

Pegan el código guardan 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 derecho >> ejecutar >> en un terminal

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

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


Si encuentran otro error comenten para arreglarlo y mejorar este script :D


Leer más...

miércoles, 5 de diciembre de 2012

Atajos del teclado para gnome shell 3.6

Nunca he hecho un tutorial de atajos del teclado para Gnome Shell ni para ningún otro escritorio?

Así que ya es tiempo que lo realice :D



Bien, en gnome 3.X tenemos distintas combinaciones de teclas para distintas funciones,estas combinaciones son únicas y claro que podemos añadir mas,pero aquí las mas funcionales.

Teclas del sistema:

imp pnt: Al igual que en otras distribuciones,o incluso windows,sirve para sacar un screenshot a la pantalla.

alt + imp pnt: Saca un screenshot de nuestra actual ventana.

Super(Icono Windows): nos lanza a las actividades.

Super+Tab: Cambia de ventanas abiertas rapidamente.

Ctrl+Alt+Tab: Nos da selección entre actividades y centro de mensajes

Ctrl+Alt+↑ y Ctrl+Alt+↓: Cambia de escritorios rápidamente(aunque estes usando solo uno)

Ctrl+Alt+Supr: Opciones de administración.

Ctrl+Alt+L: Bloquea la pantalla.

Shift+imp pnt: Nos da la opción de capturar una parte de la pantalla con el puntero.

Ctrl+Alt+Shift+R: Comienza a grabar el escritorio,con el grabador nativo de gnome 3.

Alt+Tab: Abre pequeñas ventanas para cambiar el programa en uso.

Alt+| : Abre pequeñas ventanas con pequeñas ventanas para cambiar el programa en uso.

Teclas comunes:


Ctrl+A: Selecciona todo el texto o todos los elementos en una lista.
Ctrl+X: Cortar (quitar) el texto o los elementos seleccionados y colocarlo en el escritorio.
Ctrl+C: Copia el texto o los elementos seleccionados al portapapeles.
Ctrl+V: Pega los contenidos del portapapeles.
Ctrl+Z: Deshacer la última acción.

Nuestras propias combinaciones:

También podemos crear nuestras propias combinaciones o modificar las que ya hay:

Vamos a Configuración del Sistema >> Teclado >> Atajos >> Combinación...

Ya agregamos la nuestra,por ejemplo para abrir terminal: Ctrl+Alt+T,para firefox,Ctrl+Alt+F,etc



Eso es todo :D


Leer más...

domingo, 2 de diciembre de 2012

Borrar partición swap de Archlinux y crear archivo de remplazo


Si usan archlinux sabrán que en la wiki o en la mayoría de los tutoriales de instalación (incluido el mio),recomendamos 4 particiones, dos en ext4 el boot y la swap,pero si queremos instalar otro sistema necesitamos tener solo tres o menos ya que en la cuarta es donde crearíamos nuestro file system extended,por ejemplo yo tengo Ubuntu/openSUSE y windows 7 en una pc y son cerca de 8 particiones y nuestro sda solo permite 4 primarias.



Lo que podemos hacer es eliminar una,que podría ser también la home y luego montarla en el /,pero no se si así se pueda usar archlinux(como gentoo,slackware) así que mejor eliminaremos la sd4 que seria la swap y crearemos un archivo que lo remplace,para poder tener la swap pero sin usar una partición.

Esto me paso cuando quise instalar FreeBSD junto a Archlinux y no me dejo por eso mismo de que necesitaba una partición sobre las 4 primeras,mejor termine instalándolo junto a Gentoo,pero bueno esa es otra historia :(

Tutorial

Primero checamos el estado de nuestra swap

Primero como root

su


swapon -s

Luego si esta corriendo la detenemos

swapoff -a

Ahora con cfdisk entramos al disco y lo borramos

cfdisk


Ya borrada nos cercioramos con fdisk

fdisk -l /dev/sda


Ahora creamos el archivo de swap

Lo creamos con

fallocate -l 512M /swapfile

En donde dice 512M sera el tamaño de la swap,de preferencia mas grande o igual a 512Mb

Ahora le damos los permisos que requiere

chmod 600 /swapfile

La formateamos como swap

mkswap /swapfile

Y lo activamos

swapon /swapfile

Ahora solo queda editar el fstab para que arrance correctamente

nano /etc/fstab

Y agregamos

/swapfile none swap defaults 0 0

También desactivamos la que era sda4

con un #,o lo borramos



Ahora solo queda redimensionar el home y el / por si quieren instalar otra distribución o usar la partición que era de la swap para otra cosa, o si quieren pueden agregarle el espacio de el que era /dev/sda4 a las otras particiones.

Para que no haya memoria sin asignar







También podemos checar que ahora la swap corre bajo el archivo y no bajo la partición

Eso es todo :D

Referencia:

wiki.archlinux.org/index.php/Swap

Leer más...

viernes, 30 de noviembre de 2012

Saber la información del sistema con python

Python es un lenguaje de programación que me gusta mucho solo que no lo vemos mucho,porque hice unos cuantos tutoriales  que no tuvieron mucha reacción :(,y de todas formas aunque me guste python,prefiero perl,al igual que el iOS sobre android,pero aun asi veremos unas cuantas entradas sobre este excelente lenguaje de programación de alto nivel :D

Bien, en python existen comandos que llaman al sistema,mas que nada esto lo debemos iniciar con:

import os

Muchas veces necesario también

import sys

y

import time

Claro que esto va después del hashbag/shebang,queda así:

#!/usr/bin/env python

import os

import time

 En esta ocasión solo voy a usar esos dos (time,os),bien ahora lo que debemos hacer es llamar las variables

estas se definen así

os.comando()

Sobre nuestra variable,que queda así

mi_variable = os.comando()


Esto en perl es lo que seria(no seria es un ejemplo por si sabes perl,mas que python)

my $nuevo=os->new();

my $mi_variable =$nuevo->comando();

Bueno ahora un ejemplo ya bien hecho:

Para obtener nuestro LOGNAME:

mi_logname = os.getlogin()

Esto seria así ya en un script completo:

#!/usr/bin/env python

import os

mi_logname = os.getlogin()

print ("Tu LOGNAME es :",mi_logname)



Eso es todo :D

Para saber lo que se puede hacer con os visiten:


docs.python.org/2/library/os.html

Aquí un script un poco mas grande para un ejemplo mayor:

 #!/usr/bin/env python

import os
import time
  
Usuario = os.getlogin() 
locacion = os.getcwd()
soperativo = os.uname()
hora = time.time()
horaFormato = time.ctime(hora)

print ("\nMi sistema : \n")
print ("Tu logname es :",Usuario)
print ("Directorio actual : ",locacion)
print ("Kernel : ",soperativo[0])
print ("Release : ", soperativo[2])
print ("Fecha : ",horaFormato,"\n")

Espero que les sirva :D



Leer más...