Bueno en esta ocasion vamos a instalar cambiar el tema y habilitar los numeros en vim usando archlinux :D,el procedimiento es parecido al de FreeBSD y Gentoo,no igual a Ubuntu o derivados,ya que en Ubuntu o deribados o creo que tambien en fedora y openSUSE,la configuracion de vim se guarda en /etc/vim/vimrc y en estos sistemas que mencione se guardan en nuestro home (~)
Ya casi tenemos en nuestras garras la versión final de Ubuntu 12.10 :D,mientras tanto podemos usar la mas reciente beta,la beta 2 para ver lo que se viene
con esta nueva versión de ubuntu, aquí las descargas:
Las novedades mas importantes Linux kernel 3.5.4 y Python 3.2 ademas de Unity 6.6 y muchas cosas mas,dentro te poco tendremos la versión final y si quieren ya es recomendable instalar esta,y solo haremos un update cuando salga la final
Este tutorial lo hago como un tip,por si usan Archlinux,Gentoo,Debian o cualquier distribucion que no tenga entorno de escritorio en algun momento,en la instalacion o al estar recien instalado.
No lo usen en ubuntu openSUSE o Fedora,si lo hacen es bajo su responsabilidad
Probado:Solo en Gentoo y Archlinux
Para conectarse a una red wifi primero necesitamos saber cuales están a la mano y para eso hacemos un escaneo con
(interfaz) iwlist wlan0 scan
o
iwlist scan
Pero nos tira muchos resultados,asi que como distinguir una red y conectarnos a ella,bueno yo les recomiendo hacer uso de las tuberias de unix
Primero listamos las redes por ESSID osea el nombre y lo mandamos a un archivo de texto
iwlist wlan0 scan | grep ESSID >> red.sh
Luego nos saldra esto si lo checamos con cat o less
Luego lo abrimos con nuestro editor
(joe) (VI) (vim) (etc)
vim red.sh
Ahora dejamos nuestra red y le añadimos esto
#!/bin/bash iwconfig wlan0 essid "Mi-red" # O con clave wep
iwconfig wlan0 essid "Mi-red" key "clave"
# y sleep 5; # un poco de espera para que se establezca bien la conexión exit 0;
Yo añadí dhcpcd para asignarme una ip,pero puede que sea mejor que lo hagan manualmente,dependiendo su tipo de conexión
Este tutorial es para la configuración de conky,si siguieron el tutorial anterior en donde hacemos uso de lua para ponerle un tema a coky comenten para que les diga como desabilitarlo,bueno el hecho es que conky se puede configurar de muchas maneras,ya vimos conky lua,ahora veremos conky colors
Se nos va a descargar un comprimido zip,le damos clic derecho y extraer aqui saldrá una carpeta,entramos a ella Tenemos que entrar en modo terminal Por ejemplo
cd Descargas/conky-colors
Si no quieren complicarse para darse locación en esta carpeta vean este tutorial
Bueno las combinaciones la pueden ver ustedes mismo tecleando
conky-colors
Lo único que les digo como ejemplo seria para poder el idioma en español y poner el calendario seria:
cony-colors --lang=es --calendar
Luego si quieren checar el manual de conky poco a poco sin verlo en la terminal y ir haciendo las contaminaciones les recomiendo este pipe
En terminal
conky-colors >> ~/Manual-conky-colors.txt
Luego en su carpeta personal se creara un documento llamado Manual-conky-colors.txt,lo abren con editor de textos y también un documento nuevo y pueden probar las combinaciones
5.Que inicien con el equipo en el login
Bueno en la pagina de arriba también dice como hacer que inicie con el equipo,pero yo lo hago de esta manera(con bash)
Bueno.me da orgullo decir que el sitio llego a las 500,00 paginas vistas, que son como unas 100.000 personas diferentes que han visto el blog :D ,bueno esto lo digo porque google me dice muchas cosas y me dice que la mayoría de los usuarios (75%) son nuevos o desde nuevas ip's y que cada uno ve cerca de 4 o 3 paginas en su visita y dura unos 7 minutos,bueno los tienen bien checados,pero así es la red, también sin contar que muchas visitas registradas pueden ser spiders o robots, también quiero recordar que destruí el sitio una vez y esa vez ya habíamos superado las 500.000 paginas vistas,asi que si los sumamos ya superamos el 1,000,000 de paginas vistas en poco mas de un año dos dominios una destrucción y muchos cambios radicales en cuanto a la temática del sitio.
Bueno espero que con este blog haya ayudado un poco a los usuarios de software libre y de Linux y y también espero haber difundido un poco mas este movimiento que es todo un estilo de vida :D
Bueno eso es todo espero que esta entrada no sea spam pero tenia que decirlo,en las proximas entradas veremos mas sobre
Hay una cosa que se llama Abrir en terminal,esta es una extensión para Nautilus y se puede descargar con un apt-get incluso por ahí había escrito algo sobre esta extensión pero en fin,muchas veces necesitamos darnos locación desde terminal en Ubuntu o cualquier otro sistema Linux,pero para esto aveces nos encontramos en una carpeta muy rara desde nautilus y tenemos que acceder desde la terminal para realizar una acción,compilar,ejecutar scripts,ejecutar una app o ejecutable desde terminal,esto es muy visto a la hora de compilar con mono o ejecutar un script escrito en x lenguaje o compilar un programa y ejecutar sus respectivos comandos,pero como dije aveces es difícil llegar a esa ruta y para esto les traigo un script en bash para nautilus y poder usar el comando abrir en terminal sin instalar nada,solamente basta con copiar un pipe y ya.
Esto es de lo mas básico de KDE con dolphin pero hace falta en nautilus Ubuntu 12.04 Unity, así que para ello solo copien y peguen este pipe en Terminal:
Hoy tenia un poco de tiempo y ya que andamos metidos en eso del scripting bash, resolví meterle mas cosas a el script que escribí para facilitar el uso de ffmpeg o para convertir vídeos mas fácilmente en Linux y mas que nada en FreeBSD ya que este script lo escribí para FreeBSD y aunque necesitamos instalar zenity y ffmpeg primero lo he podido usar y me ha sacado de complicaciones al convertir videos en FreeBSD,bueno en FreeBSD solo cambien el hashbang a la ruta de bash o de sh.
El script ya le añadí mas formatos,ya no dice convierte vídeos de mp4 a música mp3,ya solo dice convierte vídeos,porque añadí los siguientes formatos
Formatos : flv,mpeg,mov,mp4,wav,mp3
También le cambie el inicio para que checke las dependencias y limpie la terminal para que podamos trabajar mas cómodo
Y arregle unos cuantos errorsillos que había por ahí
Eso es todo suena poco pero casi rescribi todo el script y funciona como debe
Para ejecutarlo lo copian en un archivo de texto,lo renombran tbashconverter.sh y le dan clic derecho >> Propiedades >> Permisos y palomean ejecutar como programa Luego ejecutar en una Terminal
Le dan clic derecho >> Propiedades >> Permisos y palomean ejecutar como programa
Luego ejecutar en una Terminal
También se podría mandar a /usr/bin para que se pueda ejecutar con el comando tbashconverter,solamente sin bash tbashconverter o ./tbashconverter,pero este script guarda los videos en la carpeta donde se ejecuta,osea guardaría los vídeos en /usr/bin y para esto seria necesario ejecutar como root y los vídeos serian de root y los tendiéramos que mover,etc, así que luego arreglo eso para que se pueda ejecutar sin necesitad de bash tbashconverter en la carpeta que este y que podamos elegir la carpeta de salida.
Esta es la parte 6 de los tutoriales tipo cursos para aprender como funciona el lenguaje de programacion bash y porque no,para aprender a crear scripts o programas que nos ayuden a usar o administrar el sistema
En esta ocacion veremos case y esac que seria case y su palabra alrevez esac,como ocurre con if en bash se cierra con fi,que es if volteado,bueno case y esac nos permiten tomar deciciones mezclando esto con read,read es una toma de decisiones,es interactuar desde el teclado con la terminal,esto ya lo hemos visto en python y mono C# en este sitio,y bueno vamos a empezar con los ejemplos:
El programa hola mundo,es el que se encarga de imprimir texto en la terminal o ventana en dado caso de un lenguaje,el programa hola mundo fue el primero que vimos en estos tutoriales pero lo traigo de nuevo,vitaminado con condicionales if,fi y el comando read
Código:
#!/bin/bash
echo " Escribe hola mundo"
tex="Hola Mundo"
read opcion
if [[ $opcion = $tex ]]
then
echo -e "\e[1;34m$opcion\e[0m"
else
echo "No escribiste bien"
exit 0;
fi
Lo explico
Aquí usamos una variable(tex) para definir el texto "Hola Mundo" nos da toma de decisión con el comando read y al final compara con una condicional(ya las vimos en una entrada pasada) si se cumple el texto,si se cumple ejecuta Hola Mundo en color azul y si no se cumple muestra "No escribiste bien" y se cierra el programa.
Ahora ¿el comando case para que sirve?
bueno nos ayuda ha desviar la respuesta a un comando,que puede ser del sistema o algo local
codigo:
#!/bin/bash
echo "Presiona t para mostrar texto"
echo "Presiona l para listar tu contenido"
read opcion
case $opcion in
t)
echo "Hola Mundo"
;;
l)
ls
;;
*)
echo "Opcion incorrecta saliendo..."
;;
esac
Bien,explico el código con #
#!/bin/bash
echo "Presiona t para mostrar texto" # Mostramos la opciones echo "Presiona l para listar tu contenido" # Mostramos las opciones read opcion # Leemos las opciones
case $opcion in # Tomamos las opciones
t) # Si elegimos t...
echo "Hola Mundo" #Muestra esto
;; # Símbolo de cierre de elección
l) # Si elegimos l...
ls # Ejecuta esto,comando del sistema que lista el contenido
;; # Simbolo de cierre de elección
*) # Si no elegimos ninguna de las anteriores...
echo "Opcion incorrecta saliendo..." # Se muestra esto y sale
;; # Simbolo de cierre de elección
esac # Cierre de case
Ahora,como se pueden haber dado cuenta solo se elige de a una letra l) o t) esto no es necesariamente así,ya que se puede usar texto) o listar),incluso esto puede ir mas haya usando este símbolo | que quiere decir or en español o,por ejemplo tener dos palabras o letras para ejecutar,solo un comando,por ejemplo listar|LISTAR) que seria listar o LISTAR
codigo:
#!/bin/bash
echo "Presiona t para mostrar texto"
echo "Presiona l para listar tu contenido"
read opcion
case $opcion in
t|texto|TEXTO) # Varias palabras o letras
echo "Hola Mundo"
;;
l|listar|LISTAR)
ls
;;
*)
echo "Opcion incorrecta saliendo..."
;;
esac
Aquí lo único que se tiene que explicar es que se pueden usar varias palabras o letras que si son elegidas con read,ejecutara solo un comando.
Ahora como hacer para que no se cierre hasta que escribamos Hola Mundo? bueno para eso haremos uso de un bucle while
#!/bin/bash
while [ 1 ]; do
read opcion
case $opcion in
t|T)
echo "Hola Mundo"
;;
s|S)
exit 0;
;;
help)
echo "Presiona s para salir"
echo "Presiona t para mostrar texto"
;;
*)
echo "Opcion incorrecta"
echo "Presiona help para obtener ayuda"
;;
esac
done
Vieron,se pueden hacer cosas muy buenas con bash,ahora explico el codigo con #
#!/bin/bash
while [ 1 ]; do # Iniciamos bucle con una condición logica,repetira y repetira los comandos hasta encontrarse con algún exit que lo cierre o algún argumento que rompa el bucle
read opcion
case $opcion in
t|T)
echo "Hola Mundo"
;;
s|S) # Este comando cierra el bucle y sale del programa
exit 0; # Argumento
;;
help) # Añadido help para mostrar los textos
echo "Presiona s para salir"
echo "Presiona t para mostrar texto"
;;
*) # Si se presiona cualquier otra tecla que no este asignada,mostrara esto y podremos ver la guia del pequeño programa
echo "Opcion incorrecta"
echo "Presiona help para obtener ayuda"
;;
esac
done
Bien ahora si usamos el comando clear(no lo uso mucho) para limpiar la pantalla y que se vea un poco mejor usaríamos algo como lo que esta en el enlace de abajo, también usariamos sleep en el codigo y para que se vea un poco mas bonito vamos a identarlo
Les recomiendo que identen, aunque bash no sea como python y de un error,les recomiendo que identen con tab los scripts que creen,los dos codigos de abajo no estan identados.
Bueno en el código use n=1,que quiere decir que le doy el valor de 1 a la variable n,luego cuando entra en el bucle y ve si la variable n es igual a 1,si lo ejecuta,luego cuando encuentra en un comando que n es 2 u otro valor se cierra,es parecido a exit solo que en ocaciones puede ser mas eficas si el codigo es largo ya que tambien se pudo haber escrito de esta manera
Código anterior:
#!/bin/bash n=1 while [ $n = 1 ] do clear echo "Texto o Salir (t/s)" read opcion case "$opcion" in t|T) clear echo "Hola Mundo" sleep 3 n=2 # Argumento que rompe el bucle ;; s|S) n=2 ;; help) clear echo "Presiona s para salir" echo "Presiona t para mostrar texto" sleep 3 ;; *) clear echo "Opcion incorrecta" echo "Presiona help para obtener ayuda" sleep 3 ;; esac done
Otra forma de escribirlo: #!/bin/bash while [ 1 ]; do clear echo "Texto o Salir (t/s)" read opcion case "$opcion" in t|T) clear echo "Hola Mundo" sleep 3 exit 1; ;; s|S) exit 2; ;; help) clear echo "Presiona s para salir" echo "Presiona t para mostrar texto" sleep 3 ;; *) clear echo "Opcion incorrecta" echo "Presiona help para obtener ayuda" sleep 3 ;; esac done
Les dejo un video de demostración del codigo anterior,ya identado y ejecutado
Bueno eso es todo,lo que hay que hablar sobre case esac y read,en la proxima entrada veremos operaciones aritmeticas que no lo hemos visto y es de lo primero que debi haber escrito XD
No se si soy yo,mi pc o Ubuntu que es que no escucho sonido al iniciar sesión, a lo mejor me estoy quedando sordo por tanto metalcore ,bueno el hecho es que no se si arruine algo de la instalación o Ubuntu 12.04 no trae sonido al iniciar sesion,lo bueno es que como Ubuntu es Linux y es muy abierto se puede añadir sonido fácilmente usando bash y metiendo lo necesario en las carpetas necesarias
Bueno vamos a añadir sonido al inicio de Ubuntu 12.04....
Lo que quieran incluso una larga canción :D
Necesitan un archivo de sonido,yo recomiendo un archivo .wav de cuando mucho 6 segundos,pero como dije se puede añadir hasta musica .mp3
Bueno tambien necesitamos aplay,(ya esta instalado)
Y dos script
Uno:
#!/bin/bash
sleep 10;
aplay /ruta_del_sonido
exit 0;
Dos:
#!/bin/bash
exec bash /ruta_primer_script
exit 0;
Tutorial
1.Yo tengo una carpeta de scripts en el home,para modificar un poco el sistema,te recomiendo crear una
(No cierren terminal hasta que les diga)
Abran una Terminal
En terminal
mkdir ~/scripts
cd ~/scripts
2.Creamos el script adentro de la carpeta que creamos el primer script
En terminal
nano sonido.sh
Y pegamos el script(ctrl+shift+v)
#!/bin/bash
sleep 10;
aplay /ruta_del_sonido
exit 0;
Cambia la ruta del audio
Por ejemplo que tu archivo estubiera en la carpeta Musica,seria asi
#!/bin/bash
sleep 10;
aplay ~/Musica/archivo.wav
exit 0;
Lo guardamos(ctrl+o enter) y salimos(ctrl+x)
Nota: esa captura es de vim,mas complicado de usar que nano,pero es una muestra de como queda
Ahora le damos permisos de ejecucion
En terminal
chmod +x sonido.sh
Listo el primero
3.Creamos el segundo
touch startsnd
y
nano startsnd
Pegamos
#!/bin/bash
exec bash ~/scripts/startsound.sh
exit 0;
Ese si es nano
Guardamos y Salimos
Le damos permisos de ejecucion
chmod +x startsnd
Probamos,
bash startsnd
Si escuchan la cacion o sonido vamos bien,si no, revisen todo de nuevo y si aun no comenten
Presionen para callar la cancion,sonido
ctrl+c
Movemos el archivo
sudo mv ./startsnd /usr/bin
Cerramos terminal
ctrl+d
Abrimos el engrane de la esquina superior derecha y Aplicaciones al Inicio
En Nombre : Sonido de inicio
En comando : /usr/bin/startsound
En comentario : Lo que quieran
Guardenlo(Añadir)
Y eso es todo,ahora al inicar sesion o al prender el equipo,escucharan el sonido,cancion que eligieron
Si son avanzados se pueden dar cuenta que incluso podriamos hacer esto
sudo mv ./sonido.sh /usr/bin/sonido
Y en comando
/usr/bin/sonido
Pero no,bueno si quieren haganlo asi,pero en fin se puede hacer esto de muchas maneras,incluso iba a crear algo para simplificarlo,pero así se entiende mejor como se ejecutan las cosas en Linux,como lo que hace Archlinux.
De pronto se me ocurrio programar un script para administrar o facilitar el uso de apt de Debian o basados,esto seria escrito en bash para mas rápido ya que también se podría hacer en python,pero mas rápido y accesible en bash,bueno yo siempre googleo antes lo que quiero hacer,por si esta en Internet y ver si servirá de algo lo que voy a escribir porque si ya alguien lo a hecho de nada sirve hacerlo,a menos que fuera otra alternativa,bueno el hecho es que encontré un excelente script para hacer esto,en
Bueno el hecho es que el script que encontre es muy bueno y mejor no escribí el mio,pero bueno el script permite,buscar,instalar y otras cosas mas sobre paquetes de software basados en apt,o sea en Debian
Por la fecha del script lo escribieron en el año 2006,pero eso no importa ya que funciona perfecto
Código:
#!/bin/bash #Fecha 11-03-2006 #Autor: si,tu #Licencia GNU-GPL #Tomado parte del ubuntusetup de ryan (ubuntu-geek) echo -e "\033[1;32m----------- Opciones -----------\033[0m"; echo "1 -> Instalar paquetes"; echo "2 -> Ver paquetes instalados"; echo "3 -> Actualizar el sistema"; echo "4 -> Buscar paquete"; echo "5 -> Eliminacion automantica de paquetes viejos"; echo "6 -> Chequear Dependencias"; printf "\033[1;32m\tOpción >> \033[0m"; read PAK case $PAK in 1) printf "\033[1;30mNombre del Paquetes a instalar: >>\033[0m"; read PAKN if [ "$PAKN" = "" ];then exit 1 else sudo apt-get install $PAKN fi ;; 2) printf "\033[1;30mEscriba aqui el nombre de algun paquete que desea ver si lo tiene isntalado: >> \033[0m"; read PAKN if [ "$PAKN" = "" ];then exit 1 else echo -e "\033[1;30mTiene el/los siguiente/s paquete/s: >>\033[0m"; sudo dpkg -l | grep $PAKN | awk '{print $2}' | nl -s " - " fi ;; 3) echo -e "\033[1;30mSe va actualizar el sistema\033[0m"; sudo apt-get upgrade && sudo apt-get dist-upgrade ;; 4) printf "\033[1;30mNombre del Paquetes a buscar: >> \033[0m"; read PAKB if [ "$PAKB" = "" ];then exit 1 else echo -e "\033[1;30mID ->\tPaquete\t - Comentario:\033[0m"; apt-cache -v search $PAKB | nl -nrz -w3 -s " -> " | more busqueda=(`apt-cache search $PAKB | cut -f1 -d " "`) printf "\033[1;30mID del paquete que va instalar >>\033[0m"; fi read PAKN $(PAKN=0) if [ ! -z "$PAKN" ]; then echo -e "\033[1;30mInstalando el paquete $PAKN -> \033[0m" ${busqueda[$PAKN-1]}; sudo apt-get install ${busqueda[$PAKN-1]} fi ;; 5) echo -e "\033[1;30mSe eliminaran paquetes viejos automaticamente\033[0m"; sudo apt-get autoclean ;; 6) echo -e "\033[1;30mSe chequearas si hay dependencias corruptas y si las hay se arreglaran\033[0m"; sudo apt-get -f check ;; *) exit 1 ;; esac Ese es el codigo,para usarlo copienlo y pegenlo en un archivo de texto,luego denle permisos de ejecución y ejecutenlo con el interprete o desde la carpeta,ejemplo