lunes, 17 de septiembre de 2012

Como instalar conky lua en Ubuntu 12.04

Conky es un monitor de nuestro sistema y en configurarlo se puede llevar uno mucho tiempo,en este caso les mostrare conky lua que seria una de las tantas configuraciones que se pueden hacer a conky,bueno asi queda,esta es una netbook y tiene problemas por la pequeña pantalla,pero en una laptop o Desktop se ve bien,bueno de hecho hasta en netbook se ve bien me refiero a completo:



1.Primero instalamos Conky y lua


sudo apt-get install conky

sudo apt-get install lua5.2

2.Descargamos conky lua

Descarga


Creamos las carpetas necesarias en el Home(Carpeta Personal)

En terminal

cd ~


mkdir .lua


mkdir .lua/scripts


mkdir .conky

3.Abrimos nautilus y descomprimimos conkylua.tar.gz >> también descomprimimos el archivo para Ubuntu.tar.gz,se creara una carpeta llamada:

Conky ubuntu-lua

Adentro vendran tres archivos



Les digo que hacer con esos archivos

1.conkyrc

Renombralo .conkyrc y muevelo a la carpeta home(Carpeta Personal)

2.clock_rings.lua

Copialo a .lua/scripts

Presiona

ctrl+h

Para ver la carpeta .lua/scripts

3.new-ubuntu-logo.png

Copialo a la carpeta .conky

Si no la vez en la carpeta personal

Presiona

ctrl+h
4.Ya esta todo listo

Bueno falta el clima(yo no lo configure,pero si quieren configurarlo:

Abre .conkyrc

En terminal

gedit ~/.conkyrc

Buscamos la linea TEXT

Ahí abra una linea que indica la zona en donde estamos ${weather

Cambia LQBK




Por tu locación,para buscar el código de tu locación, visita el enlace de abajo

Enlace
El código es el que esta antes del .html

Ejemplo:

http://weather.noaa.gov/weather/current/Codigo.html

Guardas y listo,ya tienes temperatura en conky

5.Ya listo,ahora solo iniciar conky

En terminal
conky

Y se iniciara en el escritorio

6.Se preguntaran si necesitan escribir conky siempre para iniciarlo,y la respuesta es si.

Pero también podemos hacer que inicie automáticamente con el sistema con un pequeño script en bash

Script:


#/bin/bash

sleep 15

exec /usr/bin/conky

exit 0;

# Fin del script


Ese código lo metemos en un de texto,le ponemos de nombre startconky.sh

Creamos uno y le damos permisos de ejecución

Después en el engrane de arriba >> aplicaciones al inicio >> Añadir >> y en comando examinar

Elegimos el script startconky.sh

En nombre y comentario pongan lo que gusten, despues añadir

Y listo tenemos conky lua en ubuntu 12.04

Y recuerda si te sirvió,dale google haya abajo y claro si tienes cuenta google



Y si se preguntan como se cierra conky si se inicio con el sistema y no hay botones ni nada?

La respuesta es

En terminal

top | grep conky 

Cuando salga una linea de datos

ctrl+c

Copia el proceso,que es el que esta hasta la izquierda



En mi caso 2048

kill 2048
Ahora si eso es todo ¿Creo?

Leer más...

domingo, 16 de septiembre de 2012

Script en bash que muestra la informacion de Ubuntu 12.04


Bueno,hago este script por dos razones,una ultimante ando programando cualquier cosa que se me ocurra en bash y este script en especial les puede ser de utilidad,en segunda lo hago porque se los voy a entregar en tres formas y tres dificultades

1.El codigo en si: Este codigo lo pueden modificar,cambiarle el nombre por si usan otra distribucion como debian,etc y ejecutarlo donde quieran,crear su propia hoja .sh y ejecutarla desde donde quieran y como quieran

2. Empaquetada en .tar.gz: es el script ya hecho pero con un amigo que le ayudara a instalarse en el lugar donde siempre lo podremos ejecutar,con solo un comando,deben desempaquetarlo correr el instalador.sh y correrlo desde terminal

3.En .deb: no hay problema en poner este script en .deb ya que solo es para Ubuntu,esta es la manera mas facil de instalar ya que solo le damos clic derecho abrir con el centro de software y instalar

Luego corremos el comando desde Terminal(De hecho en el centro de software,da las instrucciones)

Esas tres formas van a entrar en los cursos bash que en este caso se uniria

Unix >> Linea de comados >> bash >> Lenguaje de programacion >> Debian >> Crear paquetes .deb

basado en la arquitectura y claro todo esto corriendo en el Kernel de Linux

Todo esto para entender un poco mas como funciona UNIX >> Bash >> Script >> Debian >> Linux >> Se ejecuta

Bueno voviendo al script:


Este script es como el famoso Archey de ArhLinux o el screenfetch de todas las distros y tambien incluidos otros como BSD,OS X,etc

El script de Screenfetch luce asi sobre Ubuntu :




Y el mio luce asi:



Es mas rapido ya que corre sobre solo un sistema y Screenfetch se tarda un poco mas en detectar la distribucion

Bueno en características técnicas

Le puse de nombre myosbuntu

Esta basado sobre la imagen impresa de Ubuntu 12.04 con figlet y modificada con colores

La información que muestra es:

Sistema : El sistema en todos los casos va a ser GNU/Linux a menos que se corra bajo otro Unixe 
User : Usuario con hostname
Shell : ruta de la Shell que estamos usando
Arquitectura : i386/etc
Kernel : Linux, lo mas logico a menos que se corra bajo otro unixe
Version : del kernel
CPU: Nombre,GHz/etc 
Pkgs :  paquetes instalados 
P-A: Algo muy importante,puertos abiertos(necesitan instalar nmap)

Bueno les dejo las tres opciones para la instalación

Depende: nmap

sudo apt-get install nmap

1.Dificil

Copia el codigo en un script .sh, mandalo a /usr/bin,dale permisos de ejecusion +x

Código:


#!/bin/bash

# Nombre de la distribucion en color 1;35

echo -e "\e[1;35m _   _ _                 _             _ ____    ___  _  _\e[0m"
echo -e "\e[1;35m| | | | |__  _   _ _ __ | |_ _   _    / |___ \  / _ \| || |   \e[0m"
echo -e "\e[1;35m| | | | '_ \| | | | '_ \| __| | | |   | | __) || | | | || |_\e[0m"
echo -e "\e[1;35m| |_| | |_) | |_| | | | | |_| |_| |   | |/ __/ | |_| |__   _|\e[0m"
echo -e "\e[1;35m \___/|_.__/ \__,_|_| |_|\__|\__,_|   |_|_____(_)___/   |_|\e[0m"
echo ""

# Variables con los comandos del sistema

nombre=`uname -s`
arquitectura=`uname -i`
hostname=`hostname`
OS=`uname -o`
user=`whoami`
verk=`uname -r`
shell=`echo $SHELL`
cpu=$(awk -F':' '/model name/{ print $2 }' /proc/cpuinfo | head -n 1 | tr -s " " | sed 's/^ //');
paketes=$(dpkg --get-selections | wc -l);
puertosabiertos=`nmap localhost | grep open | wc -l`

# Cambiamos el color de salida de las variables

var1=`echo -e "\e[1;35m$nombre\e[0m"`
var2=`echo -e "\e[1;35m$arquitectura\e[0m"`
var3=`echo -e "\e[1;35m$OS\e[0m"`
var4=`echo -e "\e[1;35m$verk\e[0m"`
var5=`echo -e "\e[1;31m$hostname\e[0m"`
var6=`echo -e "\e[1;36m$user\e[0m"`
var7=`echo -e "\e[1;35m$shell\e[0m"`
var8=`echo -e "\e[1;35m$cpu\e[0m"`
var9=`echo -e "\e[1;35m$paketes\e[0m"`
var10=`echo -e "\e[1;35m$puertosabiertos\e[0m"`

# Llamamos las variables con el color ya cambiado

echo Sistema : $var3 User : $var6@$var5 Shell : $var7
echo Arquitectura : $var2 Kernel : $var1 Version : $var4
echo CPU: $var8 Pkgs : $var9 P-A: $var10


2.Medio

Descarga el tar.gz

Enlace

Abre terminal y teclea

cd ~/Descargas && mkdir myosbuntu && mv ./myosbuntu.tar.gz ~/Descargas/myosbuntu && tar -xzvf myosbuntu.tar.gz && chmod +x ./instalar.sh && sudo ./instalar.sh

Explico los camndos de arriba para que no piensen que los voy a hackear con eso XD y sirve que le damos un repaso a Unix

cd ~/Descargas : Cambiamos de directorio a Descargas(puede dar error si tu navegador no descarga en Descargas,asi que cambia esta ruta por donde se descargan tus cosas de internet)

mkdir myosbuntu : Creamos una carpeta llamada myosbuntu

mv ./myosbuntu.tar.gz ~/Descargas/myosbuntu : movemos el archivo que descargamos a la nueva carpeta,para trabajar mas limpio

tar -xzvf myosbuntu.tar.gz : Descomprimimos el .tar.gz,para que muestre los dos archivos que cree

chmod +x ./instalar.sh : Le da permisos de ejecucion al instalador

sudo ./instalar.sh : Ejecuta el instalador,con permisos de root claro,para poder copiar el script a /usr/bin

Los &&,serian en español como "tambien"

3.Facil

Descarga el .deb

.deb es un paquete Debian,para debian y toda su familia incluido el iOS jailbroken,cree un .deb por si se te hace dificil los pasos anteriores

Solo descarga

Enlace

Clic derecho abrir en centro de software

Instalar

O con terminal

cd /Descargas


sudo dpkg -i myosbuntu.deb

Y ejecuta en terminal

myosbuntu

para correr el script

Bueno eso es todo,en una entrada futura mostrare como crear .debs y instaladores .sh

Nota:El script del .deb y el .tar.gz no están compilados,asi que tambien los pueden modifcar,solo le cambian el nombre del programador :D
Leer más...

sábado, 15 de septiembre de 2012

Como Abrir y cerrar tty1 en Ubuntu 12.04 LTS

tty1,2,3,4,5 es la Shell de consola osea la Shell de consola,bueno un poco mas explicado tty1,2,3,4,5 es la interfaz gráfica de bash,csh,tcsh,zsh,sh,etc, es una terminal o consola en si.

Este tutorial esta especifico "Como Abrir y cerrar tty1 en Ubuntu 12.04 LTS" aunque no solo sirve en Ubuntu y en su versión 12.04,si no que para muchas versiones y distros mas,bueno el hecho es que en la red varios bloggers o webmasters dicen que abramos tty1 para cambiar al en especifico que no se podría hacer sin salir del entorno gráfico gnome,KDE,LXDE,etc,pero luego entra la cuestión de como se cierra, que es y otras preguntas mas.

Para abrir tty1 se usa el comando

ctrl+alt+f2

En mi caso con la distribucion de mi teclado,en otras distribuciones lo que cambia seria el F

Para abrir tty2 se usa el comando

ctrl+alt+fn+f3

Y así sucesivamente hasta la tty5,ya que el que seria la tecla para tty6 es el entorno de escritorio

Asi que para volver a nuestro escritorio este seria el comando


ctrl+alt+fn+f7

En mi caso,ustedes deben probar sus teclas,creo que solo varia por las F's

Bueno,lo que pasa es que podemos tener abiertas todas las tty y trabajar en todas y aparte el entorno de escritorio

Por ejemplo

Abrimos tty1

ctrl+alt+f2

Nos logeamos

Pulsamos

ls

Abrimos tty2

ctrl+alt+fn+f3
Nos logeamos

Pulsamos

netstat

Abrimos tty3

ctrl+alt+fn+f4
Nos logeamos

pulsamos

ss

Y si cambiamos a cualquiera de las tres seguirán haciendo su trabajo y incluso podemos cambiarnos al entorno de escritorio

Con

ctrl+alt+fn+f7

Y seguirán trabajando las tty's

Bueno eso es todo

-->
Leer más...

Script para convertir videos mp4 a audio mp3 (actualizado 1.0.1)


Esta es una versión actualizada del script que hice hace una semana,mas o menos,incluso le añadi mas cosas el mismo día :D,pero ya no lo encontraba por tanto desorden que tengo en la Pc,pero bueno en este caso ¿que añadí?


1.Suplante la prengunta del nombre de salida haciendo uso de zenity en vez de un comando bash

2.Añadi autobuscar lo necesario por si no tenemos instalado las dependencias avisara,que hace falta

3.Añadi el proceso en interfaz junto a la conversion en consola,osea a la hora de convertir veremos esto



Bueno eso es todo lo que añadi XD

Pero en el futuro añadire mas cosas,para que no solo sea un script sino que pienso convertir esto en una intefaz grafica completa para ffmpeg aunque yo creo no,porque de nombre le puse tbashconverter(Tiempo de convertir con un script en bash) así que si ya no es script no tiene caso,pero por el momento se puede hacer un uso estupendo de zenity y en el futuro le añadiré mas formatos opciones,etc

Como usar:

1.Crea un archivo de texto vacio y

Pega esto:


#!/bin/bash 

# Programador: Tiempo de Tux
# Pagina web: www.itimetux.com

#---------------------------------# 
#-----tbashconverter--------------#
#------Vesion 1.0.1---------------#
#---------------------------------#

echo -e "\e[1;35m____________________________________________\e[0m"
echo -e "\e[1;35m--------Convierte tus videos mp4 a música mp3----------\e[0m"
echo -e "\e[1;35m------------------------------------------------------------------------\e[0m"

echo '---Verificando las dependencias---'

# Verificando todo lo necesario

noffmpeg="Error no tienes ffmpeg instalado :( instalalo y vuelve a correr el script"
nozenity="Error no tienes zenity instalado :( instalalo y vuelve a correr el script"

# Verificando con las variables lo necesario

# zenity

which zenity
if [ ! $? = 0 ]; then
   echo "$nozenity" > /tmp/error-notfound
   xdg-open /tmp/error-notfound
   exit
fi

# ffmpeg

which ffmpeg
if [ ! $? = 0 ]; then
   echo "$noffmpeg" > /tmp/error-notfound
   xdg-open /tmp/error-notfound
   exit
else
echo '-------Listo-------'
fi

echo 'Deseas continuar(Si,No)'

read opcion

case $opcion in

si|SI|Si)

echo "Seleciona un video"

for archivo in `zenity --file-selection --file-filter=*.mp4`
do

if [ -f $archivo ]
then

nombre=`zenity --entry --text="Como se llamara la pista de audio(no .mp3)"`
if [ ! $? = 0 ] ; then
echo "No elegiste un nombre"
exit 6;
fi

echo -e '\e[0;31m# Si presionas ctrl+c en el transcurso puede que no se complete la conversion\e[0m'

echo "Convertir(Si,No)"

read opciion

case $opciion in 

si|SI|Si)
(
echo "15" ; ffmpeg -i $archivo $nombre.mp3
) | 
zenity --progress --text=Convirtiendo percentage=0 --pulsate
if [ ! "$?" = 0 ] ; then
echo "Conversion cancelada"
exit 6;
fi

echo -e "\e[1;35mListo tu archivo se guardo en $PWD\e[0m"
echo -e '\e[0;31m# Si presionaste ctrl+c puede que este incompleto\e[0m'
;;

no|NO|No)

exit 0;

;;

esac

fi

done

;;

no|NO|No)

exit 1;

;;

*)

echo "Esa no es una opcion :("

exit 2;

;;

esac

# Fin del codigo




2.Guardalo como tbashconverter.sh

3.Dale clic derecho >> Propiedades >> y Palomea "Permitir ejecutar archivo como un programa"



4.Dale clic y ejecutar >> Ejecutar en un terminal




También lo pueden ejecutar como el clasico uso de la SHELL

chmod +x tbashconverter.sh


./tbashconverter.sh

Pero recomiendo los pasos que dije

Y disfruta ripeando el audio de tus .mp4 a .mp3
Leer más...

Compilar archivos mono .cs desde la terminal Linux


Me preguntaban si se podía compilar las hojas .cs desde terminal o desde otro lado sin usar monodevelop,y la respuesta es si de hecho así le hacían nuestros antepasados xD,por ejemplo si tenemos vim para programar y queremos hacerlo desde aquí podriamos hacer esto:

vim usuarios.cs

Añadimos un codigo,por ejemplo:

using System;

namespace Usuarios

{
         class MainClass 
         {
public static void Main(string[] args) 
{
        
        string usuario1;
        string usuario2;

        Console.WriteLine("Usurario 1 Introduce tu nombre :");
        usuario1 = Console.ReadLine();

        Console.WriteLine("Usuario 2 Introduce tu nombre:");
        usuario2 = Console.ReadLine();


        Console.WriteLine("Usuario 1 : {0}",usuario1);
        Console.WriteLine("Usuario 2 : {0}",usuario2);
}
         }
}



Lo guardamos y ahora lo compilamos

Pero primero instalamos lo necesario

C Sharp 

gcc (GNU Compiler Collection)

sudo apt-get install mono-mcs


sudo apt-get install gcc

Y claro mono lo debemos tener instalado también

Bien compilamos

mcs usarios.cs

Y nos creara el .exe

Ahora solo lo ejecutamos

mono usarios.exe

o

chmod 775 usuarios.exe


./usuarios.exe








Ups,creo que tiene unas faltas de ortografía,lo corrigen(Usurario)

Y listo tenemos creado nuestro .exe sin usar un IDE,claro que se complican mas las cosas,por ejemplo para referenciar un .dll,tenemos que buscarlo y luego referenciar desde terminal el .dll al .cs, por ejemplo el dll System.Windows.Forms.dll,tendriamos que buscarlo así

cd /usr/lib/mono/


find System.Windows.Forms.dll ./ | grep Windows



Y refenciarlo asi

mcs -r:/usr/lib/mono/4.0/System.Windows.Forms.dll  usuarios.cs

Claro que no funcionaria con usuarios.cs porque no esta escrito para usar este .dll pero es un ejemplo y demás para depurar es excelente monodevelop asi que instalenlo.

Bueno eso es todo

Leer más...

viernes, 14 de septiembre de 2012

Tutorial Mono C# parte 1



Bueno este tutorial da inicio a los tutoriales de programacion en mono C#,pero se preguntaran que hace mono aqui en Tiempo de Tux,bueno en mi vida he aprendido a manejar distintos lenguajes de programacion bash,python,perl,lua,java,mono de manera autodidacta y mono es uno de ellos,estos tutoriales no les llamare "cursos",porque no me siento un maestro en mono ni mucho menos,pero les enseñare el principio basico de lo que es este lenguaje y ademas les enseñare a mi modo que como muchos de ustedes podran haber visto uso mucha informacion imagenes,ejemplos,etc para entender lo mejor posible lo que les escribo,bueno si son usarios avanzados o programadores les invito a comentar si tengo errores o si se me olvida algo,ya que como dije no soy un maestro en mono y podemos intercambiar ideas,ya en otra pagina entenderan un poco mas :D.

Bueno C# es un lenguaje es un lenguaje de programación orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma .NET

Este lenguaje C# nada tendria que ver con Tiempo de Tux(tutoriales para OS tipo Unix) ni por el software libre,ni por Linux,ni por Unix,por el iOS alo mejor si por Objective-C,mas que nada seria por microsoft y aqui nada que ver microsoft y Windows,sin embargo aunque su creación dependió directamente de la empresa de Redmond y es el lenguaje para desarrollar con la plataforma .NET, gracias a Miguel de Icaza tenemos una alternativa libre compatible con esta nueva tecnología, y esta alternativa se llamada Mono.

Asi que comenzemos...



Hoy veremos

Instalar IDE en Ubuntu

Como ejecutar los archivos .exe mono que creemos

Hola Mundo

Variables


Tutorial

1.Instalamos monodevelop

monodevelop es un IDE(entorno de desarrollo integrado) que nos permitira depurar,constuir,nos guiara con colores en la sintaxis,etc,asi que lo instalamos

Yo lo instalale en Ubuntu para mas rapido

sudo apt-get install monodevelop

En otras distribuciones googlen

Con eso tenemos mono y monodevelop instalado en ubuntu,digo ubuntu ya que yo siempre lo he usado en ubuntu asi que adios a Vim amenos de que queramos complicarnos mas,como por ejemplo para que vim nos reconosca la sintaxix para que nos guie seria

vim archivo.cs



2.Como correr archivos

Los archivos generados son .exe, así que si recuerdan a Windows son esos,los ejecutables .exe,estos arhivos pueden ser grandiosos programas o pueden ser solo ejemplos como HolaMundo,variables,etc

Para ejecutar un programa .exe solo basta darle permisos de ejecución 775 o +x y ejecutarlo en la terminal o dando clic derecho abrir con mono runtime,o mono runtime(terminal),claro cuando ya tenemos instalado mono

En terminal seria

cd /ruta_Del_exe


chmod 775 nombre.exe


./nombre.exe

En modo visual seria

Al .exe

clic derecho >> Propiedades >> Permisos >> Marcar (Permitir ejecutar archivo como un programa)

clic derecho >> abrir cono mono runtime

3.Hola Mundo con mono

Hola Mundo! es el primer programa que realizamos en todos los leguajes de progracion,que consiste en imprimir texto, que en este caso seria en la terminal

El programa Hola Mundo escrito en C# Mono luce asi:

using System;

namespace Hola
{
class MainClass
{
public static void Main (string[] args)
{
Console.WriteLine ("Hello World!");
}
}
}

Bueno el programa es fácil de construir y de hecho ya biene hecho en monodevelop:

Abrimos monodevelop >> Nueva solución >> Proyecto de Consola :

Nombre : HolaMundo

Ubicación ejemplo /home/tu_usuario

Nombre de la solucion: HolaMundo



Dejamos en blanco las funcionalidades del proyecto



Listo nos sale automaticamente

using System;

namespace Holamund
{
class MainClass
{
public static void Main (string[] args)
{
Console.WriteLine ("Hello World!");
}
}
}

Solo tendriamos que cambiar la parte de ("Hello World!") por ("Hola Mundo!"),para tener nuetro primer programa escrito en mono.

Para ejecutarlo le damos en ejecutar en la parte de arriba

Bueno ahora explico el programa con // (no vayan ejecutar este) bueno si quieren 

using System; // Indicamos que vamos a hacer uso del sistema

namespace Holamund // Definimos nuestro espacio de nombres que en este caso es Holamund(Podemos cambiarlo)
{ //Abrimos Holamund
class MainClass // Definimos la clase, que en este caso es una MainClass
{ // Abrimos MainClass
public static void Main (string[] args) // Definimos el metodo Main y le pasamos (string[] args)
{ // Abrimos el comando que ejecutara el texto
Console.WriteLine ("Hola Mundo!"); // Comando que imprime texto (Console.WriteLine) con su sintaxis ("Texto");
} // Cerramos el comando que ejecutara el texto
} // Cerramos MainClass
} // Cerramos Holamund

Así de fácil,un poco mas largo que el print "Hola Mundo" de python pero aun es entendible :D

Algo muy importante,usar el comando depurar en vez del comando ejecutar,este nos indicara donde hay errores para entrar en acción y arreglarlos,si no hay errores lo ejecutara




4.Variables

Las variables tambien es algo vasico en cualquier leguaje de programacion,por ejemplo en mono las variables se definen asi:

string variable = "variable1"; 

Por ejemplo para hacer Hola Mundo en una variable en vez de el codigo que usamos antes seria:

using System;

namespace Variablehola
{
class MainClass
{
public static void Main (string[] args)
{
        string var = "Hola Mundo!";

        Console.WriteLine("{0}", var);
}
}
}

Vieron,ahora lo explico

using System; // Usamos el sistema

namespace Variablehola // Nombre "Variablehola"
{
class MainClass # Clase "MainClass"
{
public static void Main (string[] args) // Definimos el metodo Main y le pasamos (string[] args) que esta vez si usaremos
{
        string var = "Hola Mundo!"; // Definimos la variable "Hola Mundo!

        Console.WriteLine("{0}", var); // La llamamos con un vector ({0}) que es igual a la variable var
}
} // Estos simbolos solo son abrir y cerrar
}

Bien,siempre me tardo un poco para enseñar como interactuar con el programa pero en mono vamos a verlo de una vez,en mono podemos usar el comado:

Console.ReadLine();

Que seria el equivalente al read opcion,de bash o al raw_imput( <) de python,etc

Por ejemplo vamos a hacer "Hola Mundo" pero que nosotros mismos lo definamos en la consola

using System;

namespace varhola
{
class MainClass
{
public static void Main (string[] args)
{
string mundo;

Console.Write("Escribe Hola Mundo! : ");
        mundo = Console.ReadLine();

        Console.WriteLine("{0}", mundo);
}
}
}

Vamos Bien? XD

Lo explico:

using System;

namespace varhola
{
class MainClass
{
public static void Main (string[] args)
{
string mundo; // Definimos mundo y lo dejamos vacio

Console.Write("Escribe Hola Mundo! : "); // Definimos lo que imprimira en la consola
        mundo = Console.ReadLine(); // Llenamos la variable mundo desde la interacion de nostros con la consola

        Console.WriteLine("{0}", mundo); // Llamamos la variable mundo
}
}
}



Bueno ahora vamos a fucionar los dos codigos anteriores,definimos Hola pero Mundo lo escribiremos nosotros a la hora de ejecutar:

using System;

namespace varhola
{
class MainClass
{
public static void Main (string[] args)
{
string mundo;
        string hola = "Hola";

Console.Write("Escribe Mundo! : ");
        mundo = Console.ReadLine();

        Console.WriteLine("{0} {1}",hola, mundo);
}
}
}

Bien se pude hacer alreves,para definir Hola en vez de Mundo,seria:

using System;

namespace varhola
{
class MainClass
{
public static void Main (string[] args)
{
string hola;
        string mundo = "Mundo!";

Console.Write("Escribe Hola : ");
        hola = Console.ReadLine();

        Console.WriteLine("{0}{1}",hola, mundo);
}
}
}

Se puede practicar mucho por ejemplo para que nos pregunte el nombre de user y hostaname,seria así:


using System;

namespace variables
{
class MainClass
{
public static void Main (string[] args)
{
string hostname; 
string user;

Console.Write("¿Cual es tu hostname : ");
hostname = Console.ReadLine();

Console.Write("¿Como te llamas :");
user = Console.ReadLine();

        Console.WriteLine("Hostname :{0}",hostname);
Console.WriteLine("User :{0}",user);
}
}
}










Eso es todo por ahora después veremos



pueden ver los que ha hecho el sitio amigo

http://casidiablo.net/c-y-net/



Leer más...

Como cambiar la animación al abrir y cerrar una app en el iPhone

Esto también es para el iPod Touch 3G y 4G o mejor dicho para el el iPhone y iPod touch que soporten iOS 5 y estén jailbrekeados

Esta app de cydia se llama

DisplayCandy 

 Bueno el programa esta disponible en cydia

Solo lo buscamos como

displaycandy




Y lo instalamos

Estos son unos efectos que se pueden lograr



Me  recuera los efectos de Compiz en Linux





O aun mas los de OS X 
Leer más...

Llego el iPhone 5 (Características)

Ha llegado el dispositivo de apple mas esperado,el iPhone 5,estará disponible el 19 de Septiembre en Estados Unidos y una semana después en todo el mundo.

En las características oficiales dichas rápidamente



Más delgado: solo 7.6 milímetros
Procesador: Chip A6(Mucha mas potencia)
Pantalla: Pantalla 4''(Mas pantalla)
Peso: 112 gramos.(Mas ligero)

Cámara Delantera: HD, video 720p.

Conexión: 4G LTE - Bluetooth 4.0 - WiFi (Mayor conectividad en todo)
Cámara Trasera: Fotos Panorámicas, 1080p, 8 megapixeles.
Micrófonos: Tres micrófonos.
Nueva Dock (Hardware)
Mayor duración de batería

Sin duda este iPhone va ha ser lo que siempre han sido sus antecesores unos excelentes dispositivos que se acoplan a cualquier persona,sea el uso que sea que les den



















El precio de este iPhone en Estados Unidos sera de


con un plazo forzoso de 2 años

Aquí en México aun no se sabe,pero seguramente como siempre el precio sera muy muy diferente al de aya arriba en lo que seria pesos,




Pueden ver la información completa y un vídeo en Apple.com

Características

Comparación con los otros iPhone  


Precio
-->
Leer más...

jueves, 13 de septiembre de 2012

Ver que puertos tenemos abiertos y cerrarlos en Linux/Unix

Los puertos de informática son muy muy importantes,tanto que por ahi podrian hackearnos, en la informática existen mas de 1000 puertos y mas sobre cada sistema,por ejemplo en el iPhone o iOS existe el puerto iphone-sync que es el 62078,el mas básico o conocido puede ser 22 SSH o 80 http, que deben haberlos oído por ahí,el 21 ftp,el 3306 mysql,etc

El hecho es que estos puertos nos podrían constar mucho tenerlos abiertos,por ejemplo en el iOS existe openSSH y si lo tenemos abierto por defecto solo bastaría tener nuestra ip y nos hackeaban porque la mayoria de los usuarios del iOS no cambian el pass de root que es alpine,de esa misma manera en Linux si tenemos abierto el ssh y consiguen nuestra ip y nos adivinan la contraseña  acceden a nuestro sistema,por el 80 hay exploits para apache,etc

Tutorial 

Para saber que puertos tenemos abiertos necesitamos nmap

Instalamos

Ubuntu/derivados

sudo apt-get install nmap

FreeBSD

sudo pkg_add -rv nmap

openSUSE

sudo zypper in nmap

Archlinux

sudo pacman -S nmap

Googlen para su distribucion si no la inclui

2.Escaneamos

nmap localhost

Por ejemplo ami me sale esto

Starting Nmap 5.21 ( http://nmap.org ) at 2012-09-13 14:46 CDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0023s latency).
Not shown: 995 closed ports

PORT     STATE SERVICE
21/tcp   open  ftp
80/tcp   open  http
3306/tcp open  mysql
etc
etc

Si queremos filtrar los resultados usen este comando

nmap localhost | grep open

y se iltraran los resultados

21/tcp   open  ftp
80/tcp   open  http
3306/tcp open  mysql
etc
etc

Para cerrarlos usamos este comando

sudo fuser -k puerto

ejemplo

sudo fuser -k 80/tcp 

Algunos puertos no los podemos cerrar con este comando porque necesitamos hacerlo desde su misma linea de ordenes ¡pero la mayoría si!

De hecho cree este script en bash para cerrarlos facilmente


#!/bin/bash

# Programador : Tiempo de Tux
# Pagina web : www.itimetux.com
# Depende:fuser,nmap,zenity
# Probado → Ubuntu 12.04,11.10,openSUSE 12.1,Archlinux,FreeBSD(modificando el hasbang),Mint 13

echo -e "\e[1;35mBuscando lo necesario\e[0m"

# Verificando todo lo necesario

nonmap="Error no tienes nmap instalado :("
nozenity="Error no tienes zenity instalado :("
nofuser="Error no tienes fuser instalado :("

# Verificando con las variables lo necesario(puedes borrar desde Verificando todo lo necesario hasta principal cuando instales lo necesario)

# zenity

which zenity
if [ ! $? = 0 ]; then
   echo "$nozenity" > /tmp/error-notfound
   xdg-open /tmp/error-notfound
   exit
fi

# nmap

which nmap
if [ ! $? = 0 ]; then
   echo "$nonmap" > /tmp/error-notfound
   xdg-open /tmp/error-notfound
   exit
fi

# fuser

which fuser
if [ ! $? = 0 ]; then
   echo "$nofuser" > /tmp/error-notfound
   xdg-open /tmp/error-notfound
   exit
else
echo -e "\e[1;35mListo\e[0m"
fi

# Principal

err="No seleccionaste ningun puerto"

# Pipe principal con verificacion de argumentos

puer=`nmap localhost | grep open | zenity --list --column="Puertos Abiertos"`
if [ ! $? = 0 ]; then
   echo -e '\e[0;31mError no se seleccion ningun puerto\e[0m'
   exit
fi

# Bucle principal

for puertos in $puer
do

if [ $# -ne 1 ]

then

# Filtrando los resultados

var1=`echo $puertos | grep tcp && echo $puertos | grep udp`

echo $var1

# Mostrando puerto elegido en la consola

echo -e "\e[1;35mElegido puerto $var1\e[m"

echo "Cerrar Si/No"

echo -e '\e[0;31m# Nesesitas privilegios de root\e[0m'

read option

# Leer respuesta

case $option in

si|Si|SI)

# Cerrar puerto

sudo fuser -k $var1

exit 3;
;;

no|No|NO)

# Salir

exit 1;
;;
esac

else 

exit 0;

fi

done


# Fin del codigo :D

Da uno que otro error porque lo acabo de crear pero lo editare cuando tenga tiempo y de hecho ya se cuales son los problemas xD




Si tenemos puertos abiertos muy extraños o no los conocemos googlen para que sirven,o vean los servicios de mismo Unix

less /etc/services

Aquí un vídeo de como explotan windows mediante un puerto abierto




Y algo parecido nos puede pasar en Linux si tenemos puertos abiertos,bueno tenemos que tenerlos abiertos por algo y en Linux entraría la cuestión de iptables,pero lo que recomiendo es que si no los usan cierrenlos


Eso es todo

Leer más...

martes, 11 de septiembre de 2012

Como cambiar el hostname de Linux

Bueno en varias distribuciones como openSUSE,se puede cambiar con Yast o en otras con programas con interfaz gráfica,en otros como Archlinux o Slackware o incluso Ubuntu lo tenemos que hacer editando los archivos de /etc.

No se si en haya un programa para hacer esto pero en fin,vamos a cambiarlo a la brava

Si no sabes cual es el hostname,es este:


El hostname también aparece en la configuración de nuestro router cuando nos conectamos a una red wi-fi ya sea usando fing o arp.

En la configuración de la mayoría de las distribuciones el hostname se guarda en /etc que es donde se guardan los archivos de configuración de los sistemas tipo Unix.

Lo verificamos con

ls /etc | grep host

y


cat /etc/hosts


cat /etc/hostname


Bueno, ya viendo donde esta(de hecho hay muchos archivos de hostname) 

locate hostname

pero solo necesitamos estos dos

hostname y hosts

los editamos los dos

sudo nano /etc/hostname

Borramos el hostname actual y escribimos el nuevo,lo guardamos

después

sudo nano /etc/hosts

También borramos el hostname y escribimos el nuevo

127.0.0.1 localhost
127.0.1.1 tu_hostname

Por ultimo teclemos

sudo hostname nuevo_hostname 
Si nos da error con sudo,es porque editamos mal asi que editen bien usando

sudo -s

Y cheken los dos archivos que editaron

Por ultimo reinicien la Pc

Eso es todo

Leer más...

lunes, 10 de septiembre de 2012

Compilar scripts en bash?

Bueno en una entrada pasada les entregue un script escrito en bash para facilitar la conversión de vídeos de extension .mp4 a archivos de audio de extensión .mp3 usando ffmpeg,el hecho es que estaba ofuscado,compilado, entripado y en esta entrada aprenderemos a compilar scripts .sh para que nadie los pueda editar,esto hace que nadie los pueda editar,solo nosotros o crackers usando ingeniería inversa.

Bueno el hecho es que esto solo seria valido si nuestro script fuera un gran script,lo suficiente para que valiera la pena encriptarlo,pero al encriptarlo donde queda la licencia de Software Libre, esta:


#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#  
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#  
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
#  MA 02110-1301, USA.
#  



bueno en mi opinión incluso un script encriptado podria llevar esa licencia solo que tambien entregar el script original y el binario

En cuanto al programa que usaremos para compilar nuestros scripts se llama shc

Wiki

Por ejemplo mi script para convertir vídeos luce así compilado



Muy distinto a como luce el original

















Bueno el script de la entrada pasada es este,por si quieren editarlo mejorarlo o estudiarlo con lo que hemos aprendido en los tutoriales de bash:

No esta guiado ya que es muy simple y si han estudiado los tutoriales bash del sitio,les dejo de tarea que lo guíen con comentarios

#!/bin/bash

# Programador: Tiempo de Tux
# Pagina web: www.itimetux.com

echo -e "\e[1;35m_______________________________________________________\e[0m"

echo -e "\e[1;35m--------Convierte tus videos mp4 a musica mp3--------------------------\e[0m"
echo -e "\e[1;35m----------------------------------------------------------------------------------------\e[0m"

echo -e '\e[0;31m# Asegurate de tener instalado ffmpeg y zenity\e[0m'


echo 'Deseas continuar(Si,No)'

read opcion


case $opcion in


si|SI|Si)


         echo "Seleciona un video"


for archivo in `zenity --file-selection --file-filter=*.mp4`

do

if [ -f $archivo ]

then

        echo 'Como se va a llamar la pista de audio?'


read option

        echo -e '\e[0;31m# Si presionas ctrl+c en el transcurso puede que no se complete la conversion\e[0m'


        echo "Convertir(Si,No)"


read opciion


case $opciion in 


si|SI|Si)


        ffmpeg -i $archivo $option.mp3


        echo "Listo tu archivo se guardo en $PWD"

        echo "Si presionaste ctrl+c puede que este incompleto"
;;

no|NO|No)


exit 0;

;;

esac


fi


done

;;

no|NO|No)


exit 1;

;;

*)


          echo "Esa no es una opcion :("


exit 2;

;;
esac

# Fin del codigo
Y les dejo el Ecriptado
Enlace


Tutorial compilar scripts sh

Para compilar nuestros scripts necesitaremos descargar sch y compilarlo para que funcione

1.Descarga(3.8.7)

Enlace

Si tienen wget usen esta orden

wget http://www.datsi.fi.upm.es/ frosal/sources/shc-3.8.7.tgz

2. Descompriman y acedan a la carpeta

tar xvfz shc-3.8.7.tgz
cd shc-3.8.7
3.Copilamos

make


sudo install -D -s shc /usr/bin/shc


sudo install -D -m 644 shc.1 /usr/man/man1/shc.1

4.Usamos

Debemos acceder a la carpeta donde tengamos el script,por ejemplo documentos

cd ~/Documentos
Ahora compilamos el script

shc -f nombre.sh
Bien este comando creara dos archivos ademas de dejar el original

Crearan los archivos con extensión .sh.x.c y el archivo .sh.x 

El archivo .sh.x es el script ofuscado

Y el archivo .sh.x.c es el código fuente en C del archivo.sh,este archivo en C se usa para crear el archivo encriptado

Bueno si lo ejecutan con el interprete no funcionara

bash archivo.sh

Lo tendremos que ejecutar dándole permisos de ejecución

chmod +x archivo.sh.x


./archivo.sh.x

Pero este archivo solo lo podremos usar nosotros,osea no lo podremos compartir con nadie

Ahora como compartir el script encriptado

Pues usando este código

shc -v -r -T -f archivo.sh

De esa manera podrás compartir el archivo,pero ecriptado

De hecho hasta le podemos poner fecha de caducidad por si queremos que al usarlo se pongan en contacto con notros o queramos venderlo,etc

Por ejemplo para que el convertidor de videos solo sirviera hasta el 21 del 12 del 2012 xD

Usaríamos este comando

shc-e-m 21/12/2012 "Lo siento el script ya no sirve ya se acabo el mundo xD"-f convertidor.sh

Y al ejecutarlo despues de esa fecha no se ejecutara se ejecutara el mensaje

Eso es todo, investiguen un poco mas sobre shc o sobre la ingeniería inversa si les interesa este tema





Leer más...