<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8847417749346587759</id><updated>2012-02-09T20:54:12.969+01:00</updated><category term='WIfi'/><category term='verificacion'/><category term='control'/><category term='Ubunchu'/><category term='Fedora'/><category term='Prueba'/><category term='Dadga'/><category term='dd'/><category term='Sopcast'/><category term='bug'/><category term='remoto'/><category term='gdisk'/><category term='Canal'/><category term='Pegatinas'/><category term='personalizado'/><category term='ranking'/><category term='Epidermis'/><category term='Curso'/><category term='Mi Escritorio'/><category term='Escritorio'/><category term='make'/><category term='convertir'/><category term='sqlliteopenhelper'/><category term='CrunchBang'/><category term='Planetalinux'/><category term='Kubuntu'/><category term='Clínica'/><category term='Webcam 10.04'/><category term='Compiz'/><category term='Launchpad'/><category term='email'/><category term='Comfusion'/><category term='karaoke'/><category term='Apache'/><category term='Usuario'/><category term='Manual Ubuntu'/><category term='guardar datos'/><category term='1%'/><category term='Gmail Manager'/><category term='Dalle'/><category term='aMule'/><category term='Radiotray'/><category term='Ghost'/><category term='GRUB 2'/><category term='100%'/><category term='ogg'/><category term='Kaffeine'/><category term='ntfs'/><category term='Lynx'/><category term='Naranja'/><category term='Bluethooth'/><category term='descargar'/><category term='Diaspora'/><category term='metasploit'/><category term='Peppermint Two'/><category term='ed2k'/><category term='Tuxinfo'/><category term='Mediaplayer'/><category term='Gnome'/><category term='Lucid Linx'/><category term='Firefox'/><category term='Dominio propio'/><category term='Veterinaria'/><category term='mdf'/><category term='3pies'/><category term='Pacman'/><category term='Ricoh'/><category term='DifundeUbuntu'/><category term='Ubuntu Maverick Meerkat'/><category term='Bipanel'/><category term='Firefox 3.6.2 Ubuntu'/><category term='Grabar'/><category term='mp3'/><category term='Ubuntu One'/><category term='Download Manager Tweak'/><category term='touchpad'/><category term='reproductor'/><category term='Blogroll'/><category term='Mageia'/><category term='Instalar Openoffice 3.2'/><category term='Openoffice 3.2'/><category term='json'/><category term='320 kbps'/><category term='MBR'/><category term='VLC y TDT en Ubuntu'/><category term='mail'/><category term='Firefox 3.6'/><category term='conky'/><category term='Hazlo-Tu-Mismo'/><category term='Instalación Slackware'/><category term='VirtualBox'/><category term='stickerbook'/><category term='GRUB2'/><category term='pidgin'/><category term='OpenSuse'/><category term='BSD'/><category term='Openoffice'/><category term='estadísticas'/><category term='video downloadhelper'/><category term='Ubuntu Oneiric Ocelot'/><category term='Fuentes'/><category term='abiertos'/><category term='South Park'/><category term='Fairtrade Foundation'/><category term='Chrome'/><category term='Live'/><category term='archivo'/><category term='vídeo'/><category term='IRC'/><category term='umount'/><category term='Tucuman'/><category term='Problemas'/><category term='draw9patch'/><category term='Nouevau'/><category term='Terminal'/><category term='Trisquel'/><category term='r5u870'/><category term='miniatura'/><category term='Guía'/><category term='Libreoffice'/><category term='seleccionar foto'/><category term='GNOME Shell'/><category term='wallpaper'/><category term='Debian'/><category term='ntfs-config'/><category term='Madwifi'/><category term='phpmyadmin'/><category term='Ubuntu 9.1'/><category term='Arch Linux'/><category term='Ext4'/><category term='Thumbnail'/><category term='Firefox 5'/><category term='Open Source'/><category term='PHP'/><category term='sudo'/><category term='convertir paquetes .rpm a .deb'/><category term='Crear'/><category term='emesene'/><category term='Lucid'/><category term='teclado'/><category term='.com'/><category term='ATI'/><category term='HTM'/><category term='samba'/><category term='Hardware'/><category term='Ext3'/><category term='Encuesta'/><category term='ID3'/><category term='make install'/><category term='DV7'/><category term='PPA'/><category term='Aplicaciones'/><category term='P2P'/><category term='Firefox 3.5'/><category term='TDT'/><category term='gmail'/><category term='Applet'/><category term='openstickers'/><category term='MYSQL'/><category term='Gnome Format'/><category term='Plymouth'/><category term='Qalculate'/><category term='synaptics'/><category term='web'/><category term='L40-12k'/><category term='audio-convert'/><category term='Zenwalk'/><category term='Plantilla'/><category term='Log'/><category term='Floola'/><category term='AF9013'/><category term='Jaunty'/><category term='PSPComic'/><category term='Julián'/><category term='Sopcast player'/><category term='hckorootx'/><category term='pdfimages'/><category term='iPod'/><category term='aspecto'/><category term='Ubuntu Server'/><category term='GPG'/><category term='Refugio'/><category term='Ubuntu Maverick'/><category term='IP'/><category term='app'/><category term='FZ21S'/><category term='Pendrive'/><category term='Error'/><category term='QuakeLive'/><category term='Preview'/><category term='redondear y encuadrar imagenes'/><category term='Tuquito'/><category term='control personalizable'/><category term='xml'/><category term='Instalar Openoffice 3.2 desde respositorios'/><category term='HTC'/><category term='odp'/><category term='mono-common'/><category term='Subtítulos'/><category term='jpeg'/><category term='Avidemux'/><category term='soundconverter'/><category term='Couturier'/><category term='AR9285'/><category term='Movimiento'/><category term='AF9015'/><category term='Driver'/><category term='Abuso'/><category term='style'/><category term='Seamonkey'/><category term='Liferea'/><category term='Toshiba'/><category term='Google Analytics'/><category term='Traductor'/><category term='Cryptkeeper'/><category term='Niño'/><category term='VLC y TDT'/><category term='reconocimiento de voz'/><category term='Juntar'/><category term='Openoffice 3'/><category term='Release Candidate'/><category term='Ministerio'/><category term='Wav'/><category term='Free'/><category term='Gpodder'/><category term='exploit'/><category term='Gugler'/><category term='Ubuntuzilla'/><category term='Channel'/><category term='icono'/><category term='juegos'/><category term='Wireless'/><category term='TDT y VLC'/><category term='11.04'/><category term='Twitter'/><category term='Killer Tux'/><category term='Unir archivos en Ubuntu'/><category term='CNET'/><category term='Actualizar'/><category term='dual'/><category term='9.10'/><category term='Blogday'/><category term='PSP'/><category term='CNAME'/><category term='ntfs-3g'/><category term='youtube'/><category term='música'/><category term='Pixma'/><category term='Hotmail'/><category term='Commander'/><category term='cbz'/><category term='Addons'/><category term='Hacha Pro'/><category term='rpm'/><category term='partición'/><category term='Themes'/><category term='11.10'/><category term='Photorec'/><category term='Refresco'/><category term='CPU'/><category term='Avermedia'/><category term='Vaio'/><category term='maltrato'/><category term='parche'/><category term='rj-45'/><category term='mundogeek'/><category term='Ubuntu Open Week'/><category term='file'/><category term='Salida'/><category term='odt'/><category term='AverTV'/><category term='Disco'/><category term='código fuente'/><category term='LAMP'/><category term='Linux Mint'/><category term='servidor web'/><category term='Android Market'/><category term='OpenClipArt'/><category term='Epiphany'/><category term='nmap'/><category term='escaner'/><category term='configure'/><category term='estadística'/><category term='VolarX'/><category term='force'/><category term='servidor'/><category term='Audacious'/><category term='Java'/><category term='Rapidshare'/><category term='VLC'/><category term='Mandriva'/><category term='WinFF'/><category term='Quake'/><category term='conexión internet'/><category term='carpeta'/><category term='Natty Narwhal'/><category term='Atheros'/><category term='Informático'/><category term='Ubuntu Week'/><category term='calculadora'/><category term='portátil'/><category term='Update'/><category term='iptables'/><category term='Mundial'/><category term='SigmaTel STAC9872AK'/><category term='PlanetUbuntu.es'/><category term='9.04'/><category term='Redes'/><category term='Midori'/><category term='Repositorios'/><category term='Follow Friday Linuxero'/><category term='visor'/><category term='v0.5.859'/><category term='Desktop'/><category term='cover thumbnailer'/><category term='Gnome 3'/><category term='Dontzap'/><category term='Afatech'/><category term='Avant Window Navigator'/><category term='Salckware'/><category term='Windows'/><category term='13'/><category term='Formatear'/><category term='Unir archivos hacha'/><category term='Pygtranslator'/><category term='Auriculares'/><category term='audio'/><category term='IP1600'/><category term='servicio web'/><category term='nueva'/><category term='Shutter'/><category term='FTP'/><category term='HolaMundo'/><category term='Tipografía'/><category term='Unity'/><category term='Impresora'/><category term='video'/><category term='Ubuntutips'/><category term='Humor'/><category term='Primeros pasos con Ubuntu'/><category term='webupd8'/><category term='Máquina Virtual'/><category term='formateado'/><category term='Deb'/><category term='Arista'/><category term='srt'/><category term='CookiePie'/><category term='IBM'/><category term='Darwin'/><category term='mempodipper'/><category term='aircrack'/><category term='cifrar'/><category term='EFI'/><category term='Ubuntu-es'/><category term='Cpulimit'/><category term='Opera'/><category term='ffmpeg'/><category term='Spotify'/><category term='Imagen para Virtualbox'/><category term='Live CD'/><category term='pdf'/><category term='Wicd'/><category term='USB'/><category term='Asturix'/><category term='OpenSuse 12.1'/><category term='GPL'/><category term='Navidad'/><category term='Slackware 13.0'/><category term='about:config'/><category term='1.0.0'/><category term='Tip'/><category term='12.04'/><category term='Evolution'/><category term='Aniversario'/><category term='conexión'/><category term='Personalizar'/><category term='Pardus'/><category term='Eclipse'/><category term='BIND9'/><category term='Animales'/><category term='5.0'/><category term='Slackware'/><category term='batería'/><category term='Vagos'/><category term='SpreadUbuntu'/><category term='Gsopcast'/><category term='Extensiones'/><category term='JDownloader'/><category term='Unix'/><category term='Python'/><category term='Añadir'/><category term='Pringao'/><category term='cliente'/><category term='Protocolo'/><category term='bin'/><category term='Gnome-Commander'/><category term='Root'/><category term='particionado'/><category term='ISO'/><category term='Alien'/><category term='cbr'/><category term='Micro'/><category term='GNU'/><category term='Hacha'/><category term='3.6'/><category term='Vacaciones'/><category term='Chromium'/><category term='usb-imagewriter'/><category term='Incrustar'/><category term='Manga'/><category term='Papirux'/><category term='Impresión'/><category term='Conferencia'/><category term='compartir'/><category term='gimp'/><category term='camara'/><category term='firewall'/><category term='Webmin'/><category term='Facebook'/><category term='monitorizar'/><category term='vs'/><category term='KDE'/><category term='HP'/><category term='Temas'/><category term='puertos'/><category term='Comercio justo'/><category term='Multimedia'/><category term='Ultraportátil'/><category term='Veetle'/><category term='eLink'/><category term='sqlite'/><category term='limitar el consumo de CPU de un proceso'/><category term='Cola'/><category term='zenmap'/><category term='Archbang'/><category term='Oficina'/><category term='pdfmod'/><category term='Fragmentación'/><category term='estilo'/><category term='Google'/><category term='vrms'/><category term='Sesión'/><category term='RIP'/><category term='revistas'/><category term='Meme'/><category term='Frecuencia'/><category term='pocos'/><category term='Linux'/><category term='flac'/><category term='kernel'/><category term='Easytag'/><category term='tonterías'/><category term='Ubuntu'/><category term='Karmic'/><category term='12'/><category term='Gestor'/><category term='Ctrl+alt+backspace'/><category term='registros'/><category term='hotkeys'/><category term='Satellite'/><category term='install'/><category term='Día Ubuntu'/><category term='bluefish'/><category term='Atix'/><category term='iR Shell'/><category term='DNS'/><category term='VrtualBox'/><category term='Guillermo Latorre'/><category term='img'/><category term='daniel'/><category term='nrg'/><category term='10.10'/><category term='banda ancha móvil'/><category term='Sheltermanager'/><category term='A815'/><category term='Totem'/><category term='localhost'/><category term='Reenvío'/><category term='Merger'/><category term='conversores'/><category term='Arranque'/><category term='RSS'/><category term='Beta'/><category term='GPT'/><category term='Mac'/><category term='wikio'/><category term='Navegadores web en Ubuntu'/><category term='PC'/><category term='Ubuntu Week Español'/><category term='comprobar'/><category term='sharedpreferences'/><category term='ScenBeta'/><category term='Precise Pangolin'/><category term='Hoz'/><category term='Sony'/><category term='wussuo'/><category term='Cuenta simultánea'/><category term='Webcam'/><category term='Metadatos'/><category term='Instalar Openoffice 3.2 en Ubuntu'/><category term='ultrastar'/><category term='TiraEcol'/><category term='módem usb'/><category term='Ubuntu 10.04'/><category term='Ubuntu 11.04'/><category term='formato'/><category term='Error 1'/><category term='Ubuntu-jp'/><category term='Pavilion'/><category term='m4a'/><category term='programación'/><category term='mkfs.ntfs'/><category term='Bug 1'/><category term='Canonical'/><category term='Hachemuda'/><category term='HTML'/><category term='Non-Free'/><category term='Imágenes'/><category term='Hardy'/><category term='#FFL'/><category term='plugins'/><category term='Megaupload'/><category term='Tux'/><category term='DHCP'/><category term='base de datos'/><category term='Etiquetas'/><category term='BackTrack'/><category term='Ubuntu 11.10'/><category term='Software Libre'/><category term='Ubuntu 10.10'/><category term='Abuela'/><category term='descargar imagenes'/><category term='Blogrool'/><category term='ttf'/><category term='ejecter'/><category term='Servicio Técnico'/><category term='Problema'/><category term='joomla'/><category term='actualización'/><category term='Master Boot Record'/><category term='Instalación'/><category term='entorno de desarrollo'/><category term='PulseAudio'/><category term='Sonido'/><category term='Ubuntu 9.10'/><category term='16'/><category term='Toña'/><category term='Pystream'/><category term='The Document Foundation'/><category term='atajo'/><category term='Richard M. Stallman'/><category term='Glabels'/><category term='UbuntuDay'/><category term='GRUB'/><category term='Nvidia'/><category term='msn'/><category term='recursos'/><category term='Jugar'/><category term='Canon'/><category term='Complementos'/><category term='Mozilla'/><category term='Unetbootin'/><category term='Total Commander'/><category term='internet'/><category term='interfaz'/><category term='cue'/><category term='Software'/><category term='AWN'/><category term='Android'/><category term='ElPais'/><category term='Offtopic'/><category term='MeTv'/><category term='HTML5'/><category term='Correo'/><category term='Network Manager'/><category term='fondos'/><category term='lanzador'/><category term='Script'/><category term='GNU/Linux'/><category term='mount'/><category term='Karmic Koala'/><category term='arranque dual'/><category term='Compilar'/><category term='explicación'/><category term='Stallman'/><category term='Cd'/><category term='Medibuntu'/><category term='Nautilus'/><category term='Sun'/><category term='EncFS'/><category term='2.6.28'/><category term='Gestionar'/><category term='Curioso'/><category term='13.5'/><category term='Gparted'/><category term='Doctormo'/><category term='mensajería'/><category term='fdisk'/><category term='R'/><title type='text'>Nosinmiubuntu | Ubuntu en concreto, GNU/Linux en general</title><subtitle type='html'>Ubuntu en concreto, GNU/Linux en general</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.nosinmiubuntu.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default?start-index=101&amp;max-results=100'/><author><name>ISCARIO</name><uri>http://www.blogger.com/profile/17523670316461689984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://2.bp.blogspot.com/_Mbt2zMZyDys/STqtrR2McbI/AAAAAAAAABQ/txJZBXAnzx8/S220/wall_bsod.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>445</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-2937255589688071772</id><published>2012-02-09T19:30:00.006+01:00</published><updated>2012-02-09T20:54:12.978+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Compilar'/><category scheme='http://www.blogger.com/atom/ns#' term='configure'/><category scheme='http://www.blogger.com/atom/ns#' term='hckorootx'/><category scheme='http://www.blogger.com/atom/ns#' term='estadística'/><category scheme='http://www.blogger.com/atom/ns#' term='código fuente'/><category scheme='http://www.blogger.com/atom/ns#' term='make install'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='make'/><category scheme='http://www.blogger.com/atom/ns#' term='R'/><title type='text'>Instalar R (paquete estadístico) desde código fuente</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a href="http://1.bp.blogspot.com/-F4nhczw_Vok/TzOzMt5lYxI/AAAAAAAAAfU/ZXxX1loKRwA/s1600/Rlogo.jpg"&gt;&lt;img alt="" id="BLOGGER_PHOTO_ID_5707102183869473554" src="http://1.bp.blogspot.com/-F4nhczw_Vok/TzOzMt5lYxI/AAAAAAAAAfU/ZXxX1loKRwA/s320/Rlogo.jpg" style="cursor: pointer; float: left; height: 72px; margin: 0pt 10px 10px 0pt; width: 72px;" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-weight: bold;"&gt;R&lt;/span&gt; es un &lt;span style="font-weight: bold;"&gt;entorno libre orientado al cálculo estadístico&lt;/span&gt; que utiliza los lenguajes de programación &lt;span style="font-weight: bold;"&gt;C&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;C++&lt;/span&gt; y &lt;span style="font-weight: bold;"&gt;Fortran&lt;/span&gt; para realizar las tareas solicitadas por el usuario, y que se caracteriza por la particularidad de que sus comandos se ejecutan desde una terminal.  Instalar R en &lt;span style="font-weight: bold;"&gt;Ubuntu&lt;/span&gt; es realmente sencillo, pues está incluido en los repositorios de esta distribución; nos bastaría con un simple:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="font-weight: bold; text-align: center;"&gt;&lt;pre style="border: 1px dashed rgb(204, 204, 204); margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size:78%;"&gt;&lt;code&gt;sudo apt-get install r-base&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;y ya tendríamos R instalado en nuestro sistema.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;En esta entrada vamos a hacerlo un poco más difícil: instalaremos R desde su &lt;span style="font-weight: bold;"&gt;código fuente&lt;/span&gt;.  Así conoceremos los pasos que constituyen el &lt;span style="font-weight: bold;"&gt;proceso estándar de compilación/instalación en Linux&lt;/span&gt;, y que son los siguientes:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="font-weight: bold; text-align: center;"&gt;&lt;pre style="border: 1px dashed rgb(204, 204, 204); margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size:78%;"&gt;&lt;code&gt;./configure&lt;br /&gt;make&lt;br /&gt;sudo make install&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;u&gt;Manos a la obra&lt;/u&gt;:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-weight: bold;"&gt;1)&lt;/span&gt; Nos bajamos el código fuente de R (&lt;a href="http://cran.freestatistics.org/src/base/R-2/R-2.14.1.tar.gz"&gt;http://cran.freestatistics.org/src/base/R-2/R-2.14.1.tar.gz&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-weight: bold;"&gt;2)&lt;/span&gt; Abrimos una terminal y descomprimimos el archivo &lt;span style="font-style: italic;"&gt;R-2.14.1.tar.gz&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="font-weight: bold; text-align: center;"&gt;&lt;pre style="border: 1px dashed rgb(204, 204, 204); margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size:78%;"&gt;$ tar xvzf Descargas/R-2.14.1.tar.gz&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;3)&lt;/span&gt; Entramos en el directorio del código fuente de R y ejecutamos &lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold;font-size:78%;" &gt;./configure&lt;/span&gt;&lt;span style="font-size:78%;"&gt;.  Este script comprueba las &lt;/span&gt;&lt;span style="font-weight: bold;font-size:78%;" &gt;dependencias&lt;/span&gt;&lt;span style="font-size:78%;"&gt; necesarias para la compilación; si todas ellas están disponibles se creará un archivo &lt;/span&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;Makefile&lt;/span&gt;&lt;span style="font-size:78%;"&gt;, necesario para la posterior ejecución de &lt;/span&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;make&lt;/span&gt;&lt;span style="font-size:78%;"&gt;.  En caso contrario,&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-style: italic;"&gt;./configure&lt;/span&gt; nos irá detallando qué dependencias faltan:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-weight: bold; text-align: center;"&gt;&lt;pre style="border: 1px dashed rgb(204, 204, 204); margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;$ cd R-2.14.1&lt;br /&gt;$ ./configure&lt;br /&gt;configure: error: no acceptable C compiler found in $PATH&lt;br /&gt;See `config.log' for more details&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;* No hay compilador de C.  Lo instalamos (de paso también instalamos&lt;span style="font-style: italic;"&gt; make&lt;/span&gt;) y probamos de nuevo:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-weight: bold; text-align: center;"&gt;&lt;pre style="border: 1px dashed rgb(204, 204, 204); margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size:100%;"&gt;$ sudo apt-get install gcc make&lt;br /&gt;$ ./configure&lt;br /&gt;configure: error: No F77 compiler found&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;* No hay compilador de Fortran.  También lo instalamos:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border: 1px dashed rgb(204, 204, 204); margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-weight: bold;"&gt;$ sudo apt-get install gfortran&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;$ ./configure&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;configure: error: --with-readline=yes (default) and headers/libs are not available&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;* No se encuentra la librería de desarrollo &lt;span style="font-style: italic;"&gt;(dev&lt;/span&gt;) &lt;span style="font-style: italic;"&gt;readline&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border: 1px dashed rgb(204, 204, 204); margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-weight: bold;"&gt;$ sudo apt-get install libreadline-dev&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;$ ./configure&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;configure: error: --with-x=yes (default) and X11 headers/libs are not available&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;* Falta la librería de desarrollo (&lt;span style="font-style: italic;"&gt;dev&lt;/span&gt;)&lt;span style="font-style: italic;"&gt; xorg&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-weight: bold; text-align: center;"&gt;&lt;pre style="border: 1px dashed rgb(204, 204, 204); margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;$ sudo apt-get install xorg-dev&lt;br /&gt;$ ./configure&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;¡Por fin!  Esta vez&lt;span style="font-style: italic;"&gt; ./configure&lt;/span&gt; nos confirma que ya disponemos de todas las dependencias, pues, como podemos observar, el script completa su ejecución:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://4.bp.blogspot.com/--VxkSvUUJLk/TzO5C1V_03I/AAAAAAAAAfg/6sXQRX6PRrM/s1600/Captura1.png"&gt;&lt;img alt="" id="BLOGGER_PHOTO_ID_5707108611138769778" src="http://4.bp.blogspot.com/--VxkSvUUJLk/TzO5C1V_03I/AAAAAAAAAfg/6sXQRX6PRrM/s320/Captura1.png" style="cursor: pointer; display: block; height: 198px; margin: 0px auto 10px; text-align: center; width: 320px;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-weight: bold;"&gt;4)&lt;/span&gt; Lanzamos&lt;span style="font-weight: bold;"&gt; &lt;span style="font-style: italic;"&gt;make&lt;/span&gt;&lt;/span&gt;, que se encargará de leer y ejecutar todas las órdenes de compilación contenidas en el recién creado &lt;span style="font-style: italic;"&gt;Makefile&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://3.bp.blogspot.com/--EjiDzvDWSY/TzO_6jV3RTI/AAAAAAAAAfs/94TXWCU0wPU/s1600/Captura2.png"&gt;&lt;img alt="" id="BLOGGER_PHOTO_ID_5707116165448811826" src="http://3.bp.blogspot.com/--EjiDzvDWSY/TzO_6jV3RTI/AAAAAAAAAfs/94TXWCU0wPU/s320/Captura2.png" style="cursor: pointer; display: block; height: 206px; margin: 0px auto 10px; text-align: center; width: 320px;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-weight: bold;"&gt;5)&lt;/span&gt; Compilado.  En este punto del proceso, ya podríamos utilizar R sin necesidad de instalarlo a nivel de sistema (para todos los usuarios); sólo tendríamos que hacer&lt;span style="font-style: italic;"&gt; ./bin/R&lt;/span&gt; :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://4.bp.blogspot.com/-bvYkB4rybcE/TzPApK8yjaI/AAAAAAAAAf4/ZGttPuaCMrM/s1600/Captura3.png"&gt;&lt;img alt="" id="BLOGGER_PHOTO_ID_5707116966355045794" src="http://4.bp.blogspot.com/-bvYkB4rybcE/TzPApK8yjaI/AAAAAAAAAf4/ZGttPuaCMrM/s320/Captura3.png" style="cursor: pointer; display: block; height: 172px; margin: 0px auto 10px; text-align: center; width: 320px;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-weight: bold;"&gt;6)&lt;/span&gt; Pero vamos a hacer que esté disponible para todos con &lt;span style="font-style: italic; font-weight: bold;"&gt;sudo make install&lt;/span&gt; :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://3.bp.blogspot.com/-kfEqqZBd13U/TzPBh6jWxkI/AAAAAAAAAgE/GKfrno0T2PM/s1600/Captura4.png"&gt;&lt;img alt="" id="BLOGGER_PHOTO_ID_5707117941205943874" src="http://3.bp.blogspot.com/-kfEqqZBd13U/TzPBh6jWxkI/AAAAAAAAAgE/GKfrno0T2PM/s320/Captura4.png" style="cursor: pointer; display: block; height: 206px; margin: 0px auto 10px; text-align: center; width: 320px;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;Con el comando &lt;span style="font-style: italic;"&gt;which&lt;/span&gt; confirmamos que el ejecutable de R se encuentra en &lt;span style="font-style: italic;"&gt;/usr/local/bin&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;Saludos.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-2937255589688071772?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/2937255589688071772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/2937255589688071772'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/02/instalar-r-paquete-estadistico-desde.html' title='Instalar R (paquete estadístico) desde código fuente'/><author><name>hckorootx</name><uri>http://www.blogger.com/profile/00520963500831835524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-F4nhczw_Vok/TzOzMt5lYxI/AAAAAAAAAfU/ZXxX1loKRwA/s72-c/Rlogo.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-1425516298665252359</id><published>2012-02-08T13:21:00.002+01:00</published><updated>2012-02-08T23:50:31.789+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3pies'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Analytics'/><category scheme='http://www.blogger.com/atom/ns#' term='daniel'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><category scheme='http://www.blogger.com/atom/ns#' term='estadísticas'/><title type='text'>Google Analytics en Android</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a href="http://3.bp.blogspot.com/-cydPEg6vRaE/TzEcqAj-uqI/AAAAAAAAAMI/ogL1MpkRHUI/s1600/gnome-monitor.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-cydPEg6vRaE/TzEcqAj-uqI/AAAAAAAAAMI/ogL1MpkRHUI/s1600/gnome-monitor.png" /&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;Buenas, hace poco he integrado las estadísticas de Google Analytics en una aplicación que estoy preparando. La verdad es que visto al final, el proceso no parece muy complicado, pero ir siguiendo los diferentes pasos a través de diferentes páginas y en inglés puede llegar a ser un tema que se le puede atragantar a más de uno. Hoy veremos como hacer esto en unos sencillos pasos.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Lo primero que tenemos que hacer es acceder con nuestra cuenta Google en la web de &lt;a href="http://www.google.com/analytics/" target="_blank"&gt;&lt;b&gt;Google Analytics&lt;/b&gt;&lt;/a&gt;. Las pasos a seguir los voy a hacer con &amp;nbsp;la nueva interfaz de Google por lo que puede variar algo para los que teneis la antigua. Pinchamos en el icono de administración de cuentas (barra naranja a la derecha), ahi teneis un botón para crear una cuenta nueva. Por cada una de vuestras aplicaciones creareis una.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://4.bp.blogspot.com/-IQSHyymdYR0/TzJBQn9WZ-I/AAAAAAAAAMQ/iIQwtT1bywo/s1600/Google_Analytics_01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="218" src="http://4.bp.blogspot.com/-IQSHyymdYR0/TzJBQn9WZ-I/AAAAAAAAAMQ/iIQwtT1bywo/s400/Google_Analytics_01.png" width="400" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Para los que ya han añadido estas estadísticas en una página web, deciros que son los mismos pasos, solo que con alguna pequeña diferencia. Le damos nombre a nuestra cuenta e indicamos que no es una página web, aunque podéis&amp;nbsp;poner que es una web e inventaros el dominio, por ejemplo con el espacio de nombres de vuestro proyecto o con un subdominio de alguna web vuestra.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Una vez rellenado todo, guardamos, y nos quedamos con el id de seguimiento,&amp;nbsp;olvidándonos&amp;nbsp;de todo el javascript que nos da (solo es necesario si lo integramos en una web). Además nos muestran un botón para &lt;a href="http://code.google.com/intl/es-ES/apis/analytics/docs/mobile/android.html" target="_blank"&gt;&lt;b&gt;descargar el SDK de Android&lt;/b&gt;&lt;/a&gt;. Desde aquí vais a la &lt;a href="http://code.google.com/apis/analytics/docs/mobile/download.html" target="_blank"&gt;&lt;b&gt;zona de descargas&lt;/b&gt;&lt;/a&gt; y descargais la &lt;a href="http://dl.google.com/gaformobileapps/GoogleAnalyticsAndroid_1.4.2.zip" target="_blank"&gt;&lt;b&gt;versión para Android&lt;/b&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Descomprimimos el archivo, dentro de este tenemos un archivo &lt;b&gt;libGoogleAnalytics.jar&lt;/b&gt;&amp;nbsp;y algún ejemplo para integrar en nuestras aplicaciones. Lo que hago normalmente es en la carpeta donde tengo mis proyectos, tengo una carpeta &lt;b&gt;libs&lt;/b&gt; para tener a mano siempre estas librerias que voy descargando.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Lo que si que teneis que hacer es abrir vuestro proyecto, y crear una carpeta llamada &lt;b&gt;libs&lt;/b&gt; en el raíz de la aplicación, y colocar aquí el archivo .jar. Ahora hacemos botón derecho sobre el nombre de nuestro proyecto y vamos a Properties -&amp;gt; Java Build Path -&amp;gt; Pestaña Libraries -&amp;gt; Botón add jars... en la pantalla que aparece buscamos nuestro proyecto y seleccionamos el archivo jar de la carpeta libs, y aceptamos todo.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Ahora en el archivo AndroidManifest.xml &amp;nbsp;añadimos los siguientes permisos para que la librería pueda funcionar, acceder a internet&amp;nbsp;y comprobar el estado de nuestra conexión&amp;nbsp;para registrar las visitas.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(204, 204, 204); margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&amp;lt;uses-permission android:name="android.permission.INTERNET" /&amp;gt;&lt;br /&gt;&amp;lt;uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /&amp;gt;&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Y vamos a crear una clase para que sea más sencillo utilizar las estadísticas en toda nuestra aplicación, le llamaremos &lt;b&gt;AnalyticsManager&lt;/b&gt;:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(204, 204, 204); margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;private GoogleAnalyticsTracker tracker;&lt;br /&gt; private String UA_Code;&lt;br /&gt; private int frecuencyUpdateGoogle = 60;&lt;br /&gt; private Context context;&lt;br /&gt; &lt;br /&gt; private GoogleAnalyticsTracker getTracker(){&lt;br /&gt;  if(tracker == null){&lt;br /&gt;   tracker = GoogleAnalyticsTracker.getInstance();&lt;br /&gt;   tracker.startNewSession(UA_Code, frecuencyUpdateGoogle ,this.context);&lt;br /&gt;  }&lt;br /&gt;  return tracker;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public AnalyticsManager(Context context,String UACode){&lt;br /&gt;  this.context = context;  &lt;br /&gt;  this.UA_Code = UACode;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public void registerPage(String page, String parameter){&lt;br /&gt;  this.getTracker().trackPageView("/" + page+ "/" + parameter);&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public void registerPage(String page){  &lt;br /&gt;  this.getTracker().trackPageView("/" + page);&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public void registerAction(String Category, String Action, String Label, int Value){&lt;br /&gt;  this.getTracker().trackEvent(Category, Action, Label, Value);&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public void stopTracker(){&lt;br /&gt;  if(this.getTracker() != null)&lt;br /&gt;   this.getTracker().stopSession();&lt;br /&gt; }&lt;br /&gt;}&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;La clase no es muy extensa, en el constructor le pasamos el context donde estamos y el id de seguimiento o UA_Code de Google. El UA_Code lo&amp;nbsp;podéis&amp;nbsp;guardar como una variable global, como veremos después, y de esta forma&amp;nbsp;podéis&amp;nbsp;exportar esta clase a cualquiera de vuestros proyectos. La frecuencia de refresco está en 60 segundos, si lo&amp;nbsp;creéis&amp;nbsp;oportuno, ajustad este parámetro a vuestras necesidades.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Para registrar estadísticas&amp;nbsp;tenéis&amp;nbsp;el método &lt;b&gt;registerPage&lt;/b&gt; al cual&amp;nbsp;podéis&amp;nbsp;indicar el nombre de la página, aquí será una activity, a la que navega el usuario, y&amp;nbsp;podéis&amp;nbsp;indicar también un parámetro más por si es una vista que muestra el detalle de algún&amp;nbsp;ítem, y podáis&amp;nbsp;saber hacia cuales navegan vuestros usuarios.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;El otro método es &lt;b&gt;registerAction&lt;/b&gt; y va a permitirnos registrar cuales son los botones, acciones etc... que más utilizan los usuarios. Podemos indicar la categoría, acción, etiqueta y valor de nuestros botones.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Llegados a este punto ya tenemos totalmente operativa nuestra aplicación, a partir de aquí sería tan fácil como instanciar esta clase y llamar a estos métodos cuando los necesitemos. Advertiros que Google no va a empezar a reflejar el histórico de las estadísticas hasta pasado un día, pero, hay una opción en la que&amp;nbsp;podéis&amp;nbsp;ver las estadísticas en tiempo real de los últimos 30 minutos y no&amp;nbsp;necesitáis&amp;nbsp;esperar un día para saber si está funcionando o no las estadísticas.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Ahora os voy a enseñar como registro en mi aplicación las estadísticas. Por un lado me creo una clase &lt;b&gt;AppGlobals&lt;/b&gt; que hereda de &lt;b&gt;Application&lt;/b&gt; y me permite acceder a propiedades u objetos que quiero tener de forma global en mi aplicación. Una vez creada teneis que abrir el archivo AndroidManifest.xml y en la pestaña Application chequeais la opción &lt;i&gt;Define an &amp;lt;application&amp;gt; tag in the AndroidManifest.xml&lt;/i&gt; y en Name pinchais en Browse y os aparecerá la clase AppGlobals, la seleccionais y guardais.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;En la clase AppGlobals vamos a tener el siguiente código, los métodos son static, de esta forma no es necesario instanciar esta clase para llamarlos:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(204, 204, 204); margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;public static String getUACodeAnalytics(){return "UA-xxxxxxxxx-x";}&lt;br /&gt;private static AnalyticsManager analyticsManager = null;&lt;br /&gt;&lt;br /&gt;public static AnalyticsManager getAnalyticsManager(Context context){&lt;br /&gt; if(analyticsManager == null)&lt;br /&gt;  analyticsManager = new AnalyticsManager(context,getUACodeAnalytics());&lt;br /&gt; return analyticsManager;&lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;public static AnalyticsManager getAnalyticsManager(){&lt;br /&gt; return analyticsManager;&lt;br /&gt;}&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Lo que estamos haciendo aquí es utilizar el AppGlobals para poder llamar la clase analytics, está ya se encarga de crear el objeto y pasarle el UA_Code si es necesario, de esta forma utilizarlo desde nuestras activitys es muy&amp;nbsp;fácil, solo tenemos que hacer una llamada más o menos así pero utilizando registerPage o registerAction según vuestras necesidades y con los parámetros que&amp;nbsp;consideréis&amp;nbsp;oportunos:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(204, 204, 204); margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;AppGlobals.getAnalyticsManager(this.getApplicationContext()).registerPage("MainMenu");&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Para abrir una nueva activity también suelo tener una clase donde tengo todas las llamadas a mis activitys localizadas, de esta forma si tengo que cambiar, como por ejemplo el nombre de la visita&amp;nbsp;solamente&amp;nbsp;hago el cambio aquí. Este es un tema diferente que no voy a tratar aquí pero seguramente no tardaré en hacerlo.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-1425516298665252359?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/1425516298665252359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/1425516298665252359'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/02/google-analytics-en-android.html' title='Google Analytics en Android'/><author><name>3pies</name><uri>http://www.blogger.com/profile/14470031703993523324</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-VKKxnPUlB-s/Tp77AZJHFCI/AAAAAAAAAGU/WFdJea-nTSU/s220/huella.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-cydPEg6vRaE/TzEcqAj-uqI/AAAAAAAAAMI/ogL1MpkRHUI/s72-c/gnome-monitor.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-8215648918041683458</id><published>2012-02-07T19:00:00.004+01:00</published><updated>2012-02-09T15:32:36.411+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wussuo'/><category scheme='http://www.blogger.com/atom/ns#' term='Redes'/><category scheme='http://www.blogger.com/atom/ns#' term='IP'/><category scheme='http://www.blogger.com/atom/ns#' term='DHCP'/><category scheme='http://www.blogger.com/atom/ns#' term='internet'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='Instalación'/><title type='text'>Instalar un servidor DHCP en Ubuntu</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-ZSCMjtjZycM/Ty70oCGJIKI/AAAAAAAAASg/7f1HmgR3TVU/s1600/server-icone-4693-96.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-ZSCMjtjZycM/Ty70oCGJIKI/AAAAAAAAASg/7f1HmgR3TVU/s1600/server-icone-4693-96.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Comenzamos la parte práctica de los 2 últimos artículos, para así tener nuestro &lt;b&gt;servidor DHCP&lt;/b&gt; en casa, o en cualquier entorno doméstico, configurado a nuestra manera, cubriendo nuestras necesidades y librándonos de asignar manualmente las opciones de red.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Tenemos nuestro Ubuntu preparado, así que vamos a ver los pasos de la instalación del servicio.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #38761d; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Requisitos&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Lo primero es entender el &lt;a href="http://www.nosinmiubuntu.com/2012/01/nuestras-amigas-las-direcciones-ip.html"&gt;&lt;b&gt;concepto de las direcciones IP.&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt; &lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Saber para qué sirve un &lt;a href="http://www.nosinmiubuntu.com/2012/01/dhcp-el-asignador-de-ip.html"&gt;servidor DHCP&lt;/a&gt;&lt;/b&gt;.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Tener &lt;a href="http://www.nosinmiubuntu.com/2011/11/webmin-administra-tu-sistema-mediante.html"&gt;&lt;b&gt;instalado el webmin&lt;/b&gt;&lt;/a&gt;, y que ya te explicamos cómo. (También te puede interesar &lt;a href="http://www.nosinmiubuntu.com/2011/11/vitamina-webmin-y-sacale-el-maximo.html" target="_blank"&gt;potenciar webmin&lt;/a&gt;).&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://www.nosinmiubuntu.com/2010/09/asignar-ip-estatica-en-ubuntu.html"&gt;&lt;b&gt;Asignar una IP fija&lt;/b&gt; &lt;/a&gt;(o estática). Es recomendable (obligatorio) para todos los tipos de servidores que montemos en un ordenador, tenerlos localizados siempre en la red. Así que si no está asignado ya, aquí tenéis el &lt;a href="http://www.nosinmiubuntu.com/2010/09/asignar-ip-estatica-en-ubuntu.html" target="_blank"&gt;artículo &lt;/a&gt;dónde podréis cambiar la IP.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b style="color: #38761d;"&gt;Detalles a tener en cuenta&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Lo normal en una red local, es que nuestro router funcione como servidor DHCP y asigne la configuración de red. Con lo cual, si tenemos este servicio funcionando, es recomendable que se &lt;b&gt;desactive&lt;/b&gt;. Esto se debe a que &lt;b&gt;no se puede asignar una dirección IP a dos ordenadores&lt;/b&gt;, y si esto ocurre, da un error de conflicto de IP. Y el que primero la tenga asignada, se quedará con ella,y el segundo se quedará con una &lt;b&gt;dirección alternativa&lt;/b&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;También debemos &lt;b&gt;planificar &lt;/b&gt;nuestro mapa de equipos en la red, y sus respectivas asignaciones de IP.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Otro detalle más que obvio, es que si el servidor en dónde lo instalamos está apagado, ningún ordenador que se conecte posteriormente recibirá la información de red, y obviamente, no tendrá acceso a la misma.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="color: #38761d;"&gt;Instalación&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Lo primero, es &lt;b&gt;instalar el software&lt;/b&gt; que nos permita que nuestro ordenador funcione a modo DHCP. Para ello, como buenos usuarios de ubuntu que somos, utilizaremos el &lt;b&gt;terminal&lt;/b&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;$ sudo apt-get install dhcp3-server&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Con esto instalaremos el software que necesita el ordenador, y si necesitamos&lt;b&gt; dependencias&lt;/b&gt;:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;$sudo apt-get install -f&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Ya está. Simple ¿no?&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;El siguiente paso (como ya tenemos instalado webmin) es entrar en él:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;https://localhost:10000&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Y una vez dentro&lt;b&gt; refrescaremos los módulos,&lt;/b&gt; y nos dirigiremos a la pestaña de servidores, y comprobaremos que lo reconoce.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Dejamos esta semana la publicación aquí, y en una semana, nos ocuparemos de &lt;b&gt;configurarlo&lt;/b&gt;!&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Es mucho más importante esa parte que ésta, pero sin este artículo no se puede realizar la segunda.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Un saludo.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-8215648918041683458?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/8215648918041683458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/8215648918041683458'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/02/instalar-un-servidor-dhcp-en-ubuntu.html' title='Instalar un servidor DHCP en Ubuntu'/><author><name>Darío Opazo</name><uri>https://profiles.google.com/110123856269968131730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-uV39F6CaXbU/AAAAAAAAAAI/AAAAAAAAAC4/6g206ktcSSk/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-ZSCMjtjZycM/Ty70oCGJIKI/AAAAAAAAASg/7f1HmgR3TVU/s72-c/server-icone-4693-96.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-591023652990885994</id><published>2012-02-06T22:11:00.000+01:00</published><updated>2012-02-06T22:11:01.080+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hckorootx'/><category scheme='http://www.blogger.com/atom/ns#' term='parche'/><category scheme='http://www.blogger.com/atom/ns#' term='kernel'/><category scheme='http://www.blogger.com/atom/ns#' term='exploit'/><category scheme='http://www.blogger.com/atom/ns#' term='mempodipper'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='actualización'/><title type='text'>La importancia de las actualizaciones</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a href="http://1.bp.blogspot.com/-HXjWZeYA0UM/TzADjzTzaWI/AAAAAAAAAfI/Pl0K1nZkI3A/s1600/Tux.png"&gt;&lt;img alt="" id="BLOGGER_PHOTO_ID_5706064641481992546" src="http://1.bp.blogspot.com/-HXjWZeYA0UM/TzADjzTzaWI/AAAAAAAAAfI/Pl0K1nZkI3A/s320/Tux.png" style="cursor: pointer; float: left; height: 72px; margin: 0pt 10px 10px 0pt; width: 72px;" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;Si hay algo que aventaja claramente a &lt;span style="font-weight: bold;"&gt;Ubuntu&lt;/span&gt; con respecto a otras distribuciones es su frecuencia de &lt;span style="font-weight: bold;"&gt;actualización&lt;/span&gt;; cada pocos días aparecen nuevas versiones de los diferentes elementos que integran este sistema operativo, así como parches que aportan mejoras o funcionalidades extra a las versiones ya instaladas.  Además, también es muy importante que el sistema se mantenga actualizado por motivos de &lt;span style="font-weight: bold;"&gt;seguridad&lt;/span&gt;, y aquí es a donde yo quería llegar...&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;No hace mucho, el amigo de &lt;a href="http://www.clopezsandez.com/"&gt;Así somos Linux&lt;/a&gt; me comentó la existencia de un problema de seguridad en el &lt;span style="font-weight: bold;"&gt;kernel 2.6.39 y superiores&lt;/span&gt;, el cual permitía a cualquier usuario convertirse en &lt;span style="font-style: italic;"&gt;root&lt;/span&gt; o administrador sin conocer su contraseña.  Ni corto ni perezoso, decidí buscar el &lt;span style="font-weight: bold;"&gt;exploit&lt;/span&gt; (pequeño programa que aprovecha una determinada vulnerabilidad del sistema) y ponerlo en práctica.  El nombre de dicho exploit es &lt;a href="http://git.zx2c4.com/CVE-2012-0056/tree/"&gt;mempodipper&lt;/a&gt;, fue programado por &lt;span style="font-weight: bold;"&gt;zx2c4&lt;/span&gt;, y se aprovecha de un bug en el manejo de los permisos del directorio &lt;span style="font-style: italic;"&gt;/proc/pid/mem&lt;/span&gt;, utilizado para leer y escribir directamente en la memoria de los procesos.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;Una vez descargados los archivos necesarios, compilé el exploit (ejecutable resultante subrayado en rojo):&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://2.bp.blogspot.com/-qqYzS_w2vKk/TzAC7gc58JI/AAAAAAAAAew/SUtxm5QdQNQ/s1600/Captura1.png"&gt;&lt;img alt="" id="BLOGGER_PHOTO_ID_5706063949225128082" src="http://2.bp.blogspot.com/-qqYzS_w2vKk/TzAC7gc58JI/AAAAAAAAAew/SUtxm5QdQNQ/s320/Captura1.png" style="cursor: pointer; display: block; height: 205px; margin: 0px auto 10px; text-align: center; width: 320px;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;Y procedí a ponerlo en marcha.  Fijaos en la salida del comando &lt;span style="font-style: italic;"&gt;whoami&lt;/span&gt; antes y después:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://3.bp.blogspot.com/-LabKYu1QBXk/TzADGniu8_I/AAAAAAAAAe8/YB-kVT5SByc/s1600/Captura2.png"&gt;&lt;img alt="" id="BLOGGER_PHOTO_ID_5706064140107183090" src="http://3.bp.blogspot.com/-LabKYu1QBXk/TzADGniu8_I/AAAAAAAAAe8/YB-kVT5SByc/s320/Captura2.png" style="cursor: pointer; display: block; height: 247px; margin: 0px auto 10px; text-align: center; width: 320px;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;En efecto, me había convertido en &lt;span style="font-style: italic;"&gt;root&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;Como en muchas otras ocasiones, ya hay un &lt;a href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e268337dfe26dfc7efd422a804dbb27977a3cccc"&gt;parche&lt;/a&gt; disponible, esta vez publicado por el propio &lt;span style="font-weight: bold;"&gt;Linus Torvalds&lt;/span&gt;.  Para probar este exploit  utilicé BackTrack 5 R1 (32 bits) con versión de kernel 2.6.39.4.  Sin embargo, también lo compilé y ejecuté en Ubuntu 11.10 (64 bits) con el kernel actualizado mediante repositorios, y el exploit ya no funcionó.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;Un saludo.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-591023652990885994?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.nosinmiubuntu.com/feeds/591023652990885994/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8847417749346587759&amp;postID=591023652990885994&amp;isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/591023652990885994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/591023652990885994'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/02/la-importancia-de-las-actualizaciones.html' title='La importancia de las actualizaciones'/><author><name>hckorootx</name><uri>http://www.blogger.com/profile/00520963500831835524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-HXjWZeYA0UM/TzADjzTzaWI/AAAAAAAAAfI/Pl0K1nZkI3A/s72-c/Tux.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-5996304332942837368</id><published>2012-02-05T21:39:00.000+01:00</published><updated>2012-02-05T21:39:42.568+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Escritorio'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='Kubuntu'/><title type='text'>El Escritorio del Lector #62</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s1600/64desktop.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s1600/64desktop.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;Para finalizar la semana, y como es ya una costumbre, volvemos con &lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;a href="http://www.nosinmiubuntu.com/search/label/Escritorio"&gt;"El Escritorio del Lector"&lt;/a&gt;&lt;/b&gt;.   No me cansaré de repetir que es una  sección que me ha sorprendido muy   gratamente, ya que vosotr@s sois los  que la hacéis seguir enviando   vuestras capturas y características. Es  muy gratificante que os   impliquéis con el blog, así que desde aquí os  agradecemos que sigáis   participando y comentando.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;Nuestro visitante #62 es &lt;b&gt;Hereldar, &lt;/b&gt;quien muy amablemente nos ha enviado todas las especificaciones, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;usuario de Kubuntu, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;y que nos ha enviado una descripción de los motivos de su escritorio, que os cito a continuación:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote class="tr_bq" style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;span style="font-size: small;"&gt;"Utilizo dos barras verticales para ahorrar espacio en pantalla, soy  programador y mi pantalla es demasiado alargada para mi gusto. Al  principio probé con una sola barra a la izquierda pero no me gustaba el  resultado, al final quedó como veis."&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/-CJi2Rd1j6ts/Ty7jzxxoLHI/AAAAAAAACHw/RU8WTVtDRLo/s1600/snapshot1f.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/-CJi2Rd1j6ts/Ty7jzxxoLHI/AAAAAAAACHw/RU8WTVtDRLo/s320/snapshot1f.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://4.bp.blogspot.com/-rWxOEWEFohE/Ty7j1Xk04eI/AAAAAAAACH4/rVKuYN969Bg/s1600/snapshot2tl.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/-rWxOEWEFohE/Ty7j1Xk04eI/AAAAAAAACH4/rVKuYN969Bg/s320/snapshot2tl.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://4.bp.blogspot.com/-oC8-pxs8H48/Ty7j2a2dKAI/AAAAAAAACIA/sYJjfgm1fu4/s1600/snapshot3od.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/-oC8-pxs8H48/Ty7j2a2dKAI/AAAAAAAACIA/sYJjfgm1fu4/s320/snapshot3od.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;S.O.: &lt;a href="http://www.kubuntu.org/"&gt;Kubuntu&amp;nbsp;&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Tema de Plasma: &lt;a href="http://malcer.deviantart.com/gallery/30908250"&gt;Caledonia&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Tema de iconos: &lt;a href="http://kde-look.org/content/show.php?content=132988"&gt;Faenza&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Decoración de ventanas: Oxygen&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Esquema de colores: Norway&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Fondo de escritorio: &lt;a href="http://hereldar.deviantart.com/#/d4aoys5"&gt;Caledonia for Kubuntu&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span&gt;&lt;span style="font-family: arial;"&gt;&lt;span&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;Desde                                   aquí os animo  (algo que agradezco de          antemano)  a               participar          enviando    vuestra     captura  o  capturas    con   sus         correspondientes                     características,   como &lt;b&gt;Sistema Operativo, Fondo de Escritorio, Tema de Ventanas y Tema de iconos&lt;/b&gt; a&lt;b style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; nosinmiubuntublog@gmail.com&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style="font-family: arial;"&gt;&lt;span&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span&gt;&lt;span&gt;Saludos.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-5996304332942837368?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/5996304332942837368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/5996304332942837368'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/02/el-escritorio-del-lector-62.html' title='El Escritorio del Lector #62'/><author><name>ISCARIO</name><uri>http://www.blogger.com/profile/17523670316461689984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://2.bp.blogspot.com/_Mbt2zMZyDys/STqtrR2McbI/AAAAAAAAABQ/txJZBXAnzx8/S220/wall_bsod.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s72-c/64desktop.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-8221736484632748816</id><published>2012-02-02T12:00:00.019+01:00</published><updated>2012-02-03T12:57:23.015+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gdisk'/><category scheme='http://www.blogger.com/atom/ns#' term='EFI'/><category scheme='http://www.blogger.com/atom/ns#' term='hckorootx'/><category scheme='http://www.blogger.com/atom/ns#' term='partición'/><category scheme='http://www.blogger.com/atom/ns#' term='GPT'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Particionado GPT</title><content type='html'>&lt;div style="TEXT-ALIGN: justify"&gt;&lt;a href="http://2.bp.blogspot.com/-kxGriJ4IcTo/Tyh3SlRls8I/AAAAAAAAAek/Y_VOgAfj8BY/s1600/disco.png"&gt;&lt;img style="MARGIN: 0pt 10px 10px 0pt; WIDTH: 72px; FLOAT: left; HEIGHT: 72px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5703940089191969730" alt="" src="http://2.bp.blogspot.com/-kxGriJ4IcTo/Tyh3SlRls8I/AAAAAAAAAek/Y_VOgAfj8BY/s320/disco.png" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;Muchos de vosotros conocéis las limitaciones del sistema de &lt;span style="FONT-WEIGHT: bold"&gt;particionado clásico&lt;/span&gt;, basado en un registro de arranque maestro (&lt;span style="FONT-WEIGHT: bold"&gt;Master Boot Record&lt;/span&gt; o &lt;span style="FONT-WEIGHT: bold"&gt;MBR&lt;/span&gt;); este método para gestionar/repartir el tamaño de nuestros discos duros se caracteriza por lo siguiente:&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="FONT-WEIGHT: bold"&gt;1)&lt;/span&gt; Se admite un máximo de &lt;span style="FONT-WEIGHT: bold"&gt;4 particiones primarias&lt;/span&gt;, o bien &lt;span style="FONT-WEIGHT: bold"&gt;3 particiones primarias y 1 extendida&lt;/span&gt;, pudiendo esta última albergar particiones lógicas.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="FONT-WEIGHT: bold"&gt;2)&lt;/span&gt; Cada partición no puede sobrepasar los &lt;span style="FONT-WEIGHT: bold"&gt;2,2 TB&lt;/span&gt; o terabytes de tamaño, por lo que con 4 particiones primarias, o 3 primarias y 1 extendida, nunca podríamos gestionar más de&lt;span style="FONT-WEIGHT: bold"&gt; 8,8 TB&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;Gracias a &lt;span style="FONT-WEIGHT: bold"&gt;Intel&lt;/span&gt; y a su &lt;span style="FONT-WEIGHT: bold"&gt;proyecto EFI&lt;/span&gt; (Extensible Firmware Interface) estas “limitaciones” han pasado a la historia, y escribo limitaciones entre comillas porque, a día de hoy, supongo que pocos usuarios medios necesitan un elevado número de particiones o un disco de 8,8 TB. Este proyecto no es ni mucho menos reciente, pues Intel comenzó a trabajar en él a mediados de los 90, y en el 2005 ya tenían fundación propia, conocida como &lt;span style="FONT-WEIGHT: bold"&gt;UEFI&lt;/span&gt; (&lt;a href="http://es.wikipedia.org/wiki/Extensible_Firmware_Interface"&gt;Wikipedia&lt;/a&gt;).&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;Para comprobar si nuestro equipo permite el uso de EFI, haciendo:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-weight: bold;"&gt;(para Ubuntu &amp;lt;= 10.10)&lt;/span&gt; &lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;code&gt;zcat /proc/config.gz | grep CONFIG_EFI=&lt;/code&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:78%;"&gt;&lt;code&gt;      &lt;/code&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;   &lt;span style="font-weight: bold;"&gt;(para Ubuntu &amp;gt; 10.10)&lt;/span&gt; &lt;/span&gt;&lt;span style="font-family:arial;font-size:78%;"&gt;&lt;code&gt;cat /boot/config-`uname -r` | grep CONFIG_EFI= &lt;/code&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;deberíamos encontrar una línea &lt;code&gt;CONFIG_EFI=y&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;Con el estándar EFI disponemos de un nuevo método de particionado que nos libera del viejo sistema MBR. Este método se denomina &lt;span style="FONT-WEIGHT: bold"&gt;GPT&lt;/span&gt; (&lt;span style="FONT-WEIGHT: bold"&gt;GUID Partition Table&lt;/span&gt;) y, a grandes rasgos, nos aporta las siguientes ventajas:&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;1)&lt;/span&gt; Se admite un máximo de &lt;span style="FONT-WEIGHT: bold"&gt;128 particiones primarias&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;2)&lt;/span&gt; Cada partición puede llegar a un tamaño de &lt;span style="FONT-WEIGHT: bold"&gt;9,3 ZB&lt;/span&gt; o zettabytes (1 zettabyte = 1 billón de terabytes).&lt;br /&gt;&lt;br /&gt;Como todavía no dispongo de un disco duro de 10 ZB (ni de 10 TB), vamos a ver un ejemplo de particionado GPT en un disco &lt;/span&gt;&lt;span style="font-size:78%;"&gt;de 160 GB, donde sobrepasaremos el límite de 4 particiones primarias propio de MBR&lt;/span&gt;&lt;span style="font-size:78%;"&gt;; para llevar esto a cabo no nos sirve el mítico &lt;span style="FONT-STYLE: italic"&gt;fdisk&lt;/span&gt;, si no que tendremos que recurrir a su pariente cercano &lt;span style="FONT-STYLE: italic"&gt;gdisk&lt;/span&gt;. Instalarlo es tan sencillo como hacer un &lt;code&gt;sudo apt-get install gdisk&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;Empecemos:&lt;br /&gt;&lt;br /&gt;En este caso, el disco duro es &lt;span style="FONT-STYLE: italic"&gt;/dev/sdc&lt;/span&gt;, así que:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://4.bp.blogspot.com/-BN8sCsVMAnc/TyhzTOlBSLI/AAAAAAAAAdo/p2QaVgmkanU/s1600/Captura1.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 205px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5703935702232811698" alt="" src="http://4.bp.blogspot.com/-BN8sCsVMAnc/TyhzTOlBSLI/AAAAAAAAAdo/p2QaVgmkanU/s320/Captura1.png" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;Antes de continuar, es necesario conocer los códigos para cada tipo de partición; para visualizar dichos códigos, pulsamos &lt;span style="FONT-STYLE: italic"&gt;l + Enter&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://4.bp.blogspot.com/-S8iSKjmyUdI/Tyhz2YS4lVI/AAAAAAAAAd0/crGjOJpEubY/s1600/Captura5.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 205px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5703936306136520018" alt="" src="http://4.bp.blogspot.com/-S8iSKjmyUdI/Tyhz2YS4lVI/AAAAAAAAAd0/crGjOJpEubY/s320/Captura5.png" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;El código correspondiente a una &lt;span style="FONT-WEIGHT: bold"&gt;partición Linux&lt;/span&gt; es &lt;span style="FONT-STYLE: italic"&gt;0700&lt;/span&gt;, y el perteneciente a una &lt;span style="FONT-WEIGHT: bold"&gt;partición Linux Swap&lt;/span&gt; es &lt;span style="FONT-STYLE: italic"&gt;8200&lt;/span&gt;.&lt;br /&gt;Vamos a crear 5 particiones primarias de 10 GB cada una; 4 de ellas van a ser particiones Linux, y la última será una Linux Swap:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://2.bp.blogspot.com/-2NZGWo4We2s/Tyh0x3xMXaI/AAAAAAAAAeA/sN__2yv5-X8/s1600/Captura2.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 206px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5703937328197426594" alt="" src="http://2.bp.blogspot.com/-2NZGWo4We2s/Tyh0x3xMXaI/AAAAAAAAAeA/sN__2yv5-X8/s320/Captura2.png" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://3.bp.blogspot.com/-bk6kK59kO70/Tyh06j6yI9I/AAAAAAAAAeM/dwdElq0Fuys/s1600/Captura3.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 214px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5703937477487764434" alt="" src="http://3.bp.blogspot.com/-bk6kK59kO70/Tyh06j6yI9I/AAAAAAAAAeM/dwdElq0Fuys/s320/Captura3.png" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Como podéis adivinar, para crear una nueva partición basta con pulsar &lt;span style="FONT-STYLE: italic"&gt;n + Enter&lt;/span&gt;. Sólo necesitamos introducir el tamaño (&lt;span style="FONT-STYLE: italic"&gt;+10G&lt;/span&gt;) y el tipo de partición (&lt;span style="FONT-STYLE: italic"&gt;0700&lt;/span&gt; ó &lt;span style="FONT-STYLE: italic"&gt;8200&lt;/span&gt;). Pulsando &lt;span style="FONT-STYLE: italic"&gt;p + Enter&lt;/span&gt; se nos muestran las particiones recién creadas:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://1.bp.blogspot.com/-KD2R-OXvJyA/Tyh1jtL4RMI/AAAAAAAAAeY/QJuV0SP8UXg/s1600/Captura4.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 130px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5703938184350024898" alt="" src="http://1.bp.blogspot.com/-KD2R-OXvJyA/Tyh1jtL4RMI/AAAAAAAAAeY/QJuV0SP8UXg/s320/Captura4.png" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Ahí están nuestras 5 particiones primarias. Bastará con teclear &lt;span style="FONT-STYLE: italic"&gt;w + Enter&lt;/span&gt; para salir de &lt;span style="FONT-STYLE: italic"&gt;gdisk&lt;/span&gt; guardando los cambios realizados.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Nota:&lt;/span&gt;  Sólo he verificado el reconocimiento de particiones GPT en Trisquel 4.0.1, Ubuntu 11.10, Fedora 16, openSUSE 12.1 y BackTrack 5.  Para otras distribuciones de Linux, consultad las documentaciones o manuales correspondientes.&lt;br /&gt;&lt;br /&gt;Un saludo.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-8221736484632748816?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.nosinmiubuntu.com/feeds/8221736484632748816/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8847417749346587759&amp;postID=8221736484632748816&amp;isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/8221736484632748816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/8221736484632748816'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/02/particionado-gpt.html' title='Particionado GPT'/><author><name>hckorootx</name><uri>http://www.blogger.com/profile/00520963500831835524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-kxGriJ4IcTo/Tyh3SlRls8I/AAAAAAAAAek/Y_VOgAfj8BY/s72-c/disco.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-6801893188293439094</id><published>2012-02-01T12:40:00.004+01:00</published><updated>2012-02-01T19:55:43.956+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3pies'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><category scheme='http://www.blogger.com/atom/ns#' term='daniel'/><category scheme='http://www.blogger.com/atom/ns#' term='json'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='MYSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='servicio web'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><title type='text'>Leyendo servicios web desde Android: JSON</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-FlB_YRZ49Ns/TwygpLfTXDI/AAAAAAAAAKo/d2igGBUiQ4g/s1600/Download.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-FlB_YRZ49Ns/TwygpLfTXDI/AAAAAAAAAKo/d2igGBUiQ4g/s1600/Download.png" width="80px" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;Buenas, estas dos semanas anteriores vimos &lt;a href="http://www.nosinmiubuntu.com/2012/01/prepara-tu-entorno-de-desarrollo-php-en.html" target="_blank"&gt;&lt;b&gt;como instalar en Ubuntu un entorno de desarrollo para PHP y MySQL&lt;/b&gt;&lt;/a&gt; y luego &lt;a href="http://www.nosinmiubuntu.com/2012/01/como-crear-servicios-web-php.html" target="_blank"&gt;&lt;b&gt;creamos nuestro primer servicio web&lt;/b&gt;&lt;/a&gt; para poder leerlo desde cualquier dispositivo (Android, IPhone, otro sitio web...). La semana pasada nos quedó pendiente ver como utilizar este servicio web en una aplicación Android, así que vamos allá.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;En el ejercicio de esta semana lo que vamos a hacer es conectarnos a nuestro servidor, leeremos y parsearemos el JSON que nos devuelva y por último lo guardaremos en base de datos en nuestro dispositivo.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;Para los que no tenéis un servidor donde realizar las pruebas no os preocupéis, con vuestro dispositivo y un router wifi podéis probarlo sin problema.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;Empezamos. Lo primero que haremos es abrir Eclipse. En un proyecto nuevo crearemos una nueva clase llamada &lt;b&gt;JSONManager&lt;/b&gt; la cual va a tener el siguiente método &lt;i&gt;static&lt;/i&gt; y &lt;i&gt;public&lt;/i&gt;:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(204, 204, 204); margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: 85%;"&gt;&lt;b&gt;&lt;br /&gt; public static JSONObject getJSONfromURL(String url){&lt;br /&gt;     InputStream is = null;&lt;br /&gt;     String result = "";&lt;br /&gt;     JSONObject json = null;&lt;br /&gt;      try{&lt;br /&gt;         HttpClient httpclient = new DefaultHttpClient();&lt;br /&gt;         HttpPost httppost = new HttpPost(url);&lt;br /&gt;         HttpResponse response = httpclient.execute(httppost);&lt;br /&gt;         HttpEntity entity = response.getEntity();&lt;br /&gt;         is = entity.getContent();&lt;br /&gt;     }catch(Exception e){}&lt;br /&gt;&lt;br /&gt;      try{&lt;br /&gt;         BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);&lt;br /&gt;         StringBuilder sb = new StringBuilder();&lt;br /&gt;         String line = null;&lt;br /&gt;         while ((line = reader.readLine()) != null) {&lt;br /&gt;             sb.append(line + "\n");&lt;br /&gt;         }&lt;br /&gt;         is.close();&lt;br /&gt;         result=sb.toString();&lt;br /&gt;     } catch(Exception e){}&lt;br /&gt;&lt;br /&gt;     try{&lt;br /&gt;         json = new JSONObject(result);&lt;br /&gt;     }catch(JSONException e){}&lt;br /&gt;&lt;br /&gt;      return json;&lt;br /&gt; }&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;El método se conectará a la URL que le indiquemos y tratará de leer y parsear la respuesta en un objeto JSONObject. La primera parte del método abre la conexión http y obtiene la respuesta en un &lt;b&gt;InputStream&lt;/b&gt;. La segunda parte, lee la respuesta y la parsea con un objeto &lt;b&gt;BufferedReader&lt;/b&gt; para poder finalmente pasarla a un &lt;b&gt;String&lt;/b&gt;. Este String es necesario en la tercera parte para crear un nuevo objeto &lt;b&gt;JSONObject&lt;/b&gt; que será lo que vamos a devolver finalmente.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;Para la siguiente parte creamos una nueva clase, la cual voy a llamar &lt;b&gt;JSONParserLibros&lt;/b&gt;. Esta clase se va a encargar de leer el servicio ayudado del método anterior y guardar en base de datos. Veamos que es lo que hace.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(204, 204, 204); margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: 85%;"&gt;&lt;b&gt;&lt;br /&gt;private Activity activity;&lt;br /&gt;private JSONObject jObject; &lt;br /&gt;private ProgressDialog progressDialog = null;&lt;br /&gt;private Runnable runReadAndParseJSON;&lt;br /&gt;&lt;br /&gt;public JSONParserLibros(Activity a){&lt;br /&gt;   activity = a;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void readAndParseJSONLibros() throws JSONException{&lt;br /&gt;   runReadAndParseJSON = new Runnable() {&lt;br /&gt;      @Override&lt;br /&gt;      public void run() {&lt;br /&gt;       try{&lt;br /&gt;          readJSONLibros();&lt;br /&gt;       } catch(Exception e){}&lt;br /&gt;      }&lt;br /&gt;   };&lt;br /&gt;   Thread thread = new Thread(null, runReadAndParseJSON,"bgReadJSONLibros");&lt;br /&gt;   thread.start();&lt;br /&gt;   progressDialog = ProgressDialog.show(activity, "Descargando información", "Por favor espere",true);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;private void readJSONLibros() throws JSONException{&lt;br /&gt;   jObject = JSONManager.getJSONfromURL("http://192.168.1.87/android/service.libros.php");&lt;br /&gt;   if(jObject != null)&lt;br /&gt;          parseJSONLibros(jObject.getJSONArray("libros"));&lt;br /&gt;   activity.runOnUiThread(returnRes);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;private void parseJSONLibros(JSONArray librosArray) throws JSONException{&lt;br /&gt;  for(int i = 0; i &amp;lt; librosArray.length(); i++){&lt;br /&gt;     Libro l = new Libro();&lt;br /&gt;     l.setIdLibro(librosArray.getJSONObject(i).getInt("id"));&lt;br /&gt;     l.setTitulo(librosArray.getJSONObject(i).getString("libro"));&lt;br /&gt;     l.setISBN(librosArray.getJSONObject(i).getString("isbn"));&lt;br /&gt;     l.save(activity);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;private Runnable returnRes = new Runnable(){ &lt;br /&gt; @Override &lt;br /&gt; public void run() {&lt;br /&gt;  progressDialog.dismiss();&lt;br /&gt; }&lt;br /&gt;};&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;Como veis, tiene bastantes métodos, vamos a ver que hace cada uno. Lo primero que nos encontramos son variables y el contructor de la clase.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;A continuación tenemos el método público que utilizaremos para llamar a nuestro servicio &lt;b&gt;readAndParseJsonLibros&lt;/b&gt;. Este método crea un nuevo hilo de ejecución dentro del cual se va a hacer la llamada al servicio web, además se inicia una ventana de dialogo que avisará al usuario que se está haciendo una descarga.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;La razón de hacerlo en un hilo de ejecución diferente es porque este es un proceso asíncrono que va a depender de diferentes factores como la velocidad de la conexión o de lo que tarde en responder el servidor.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;El siguiente método &lt;b&gt;readJsonLibros&lt;/b&gt; es private, y va a obtener el objeto JSON resultante de la llamada a nuestro servicio web mediante el método de la clase JSONMananger. Lo que hacemos a continuación es buscar el array de objetos json incluido dentro de libros. Aquí lo que vamos a tener es cada uno de los objetos json libro. Por último, se llama a un objeto Runnable definido al final de la clase que lo que va a hacer es cerrar la ventana de diálogo.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;Como veis, he puesto una IP de una red local para hacer la llamada al servicio, esta corresponde al equipo donde he desarrollado el servicio web. En el momento de probar esto, si teneis un router wifi, deberéis activar la conexión wifi en vuestro dispositivo Android y conectaros a vuestra red local para que podáis tener acceso al servicio. En caso de no tener wifi teneis otras opciones como montar el servicio web en un servidor en internet, los datos se descargarán echando mano de vuestra conexión 3G , o también lo podeis probar con el emulador de Android.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;Por último está el método &lt;b&gt;parseJSONLibros&lt;/b&gt;, este simplemente recorre el array que obtuvimos antes, en cada una de las vueltas se a tener acceso a un objeto json libro, el cual tiene las propiedades: id, libro e isbn. Podemos acceder al objeto mediante &lt;b&gt;librosArray.getJSONObject(i)&lt;/b&gt;, donde i es la posición que queremos recuperar, y para acceder a las propiedades simplemente con &lt;b&gt;getInt("nombre")&lt;/b&gt; o &lt;b&gt;getString("nombre")&lt;/b&gt;&lt;/span&gt; dependiendo del tipo de dato que tengamos que recuperar.&lt;/div&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;Por último, en mi caso me he creado un objeto &lt;b&gt;Libro&lt;/b&gt;, al cual seteo las propiedades correspondientes y llamo al método save para guardar en la base de datos de la aplicación. No os pongo como sería esta parte porque ya hemos tratado &lt;a href="http://www.nosinmiubuntu.com/2011/11/como-guardar-datos-en-android-bases-de.html" target="_blank"&gt;&lt;b&gt;cómo guardar datos en base de datos SQLite&lt;/b&gt;&lt;/a&gt; también podéis ver el resultado de lo que habéis descargado &lt;a href="http://www.nosinmiubuntu.com/2011/12/como-guardar-datos-en-android-bases-de.html" target="_blank"&gt;&lt;b&gt;leyendo los datos de la base de datos&lt;/b&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;Para utilizar esta clase simplemente debereis crear una instancia del objeto JSONParserLibros y llamar al método readAndParseJSONLibros en la parte de vuestra aplicación que más os interese. Utilizada en el método OnCreate de una Activity quedaría de la siguiente forma:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(204, 204, 204); margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: 85%;"&gt;&lt;b&gt;&lt;br /&gt;JSONParserLibros json = new JSONParserLibros(this);&lt;br /&gt;json.readAndParseJSONLibros();&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;Uno de los aspectos que debeis tener en cuenta también es la frecuencia con la que se actualizan vuestros contenidos, si los libros se actualizan de media cada 2 días lo que podeis hacer es &lt;a href="http://www.nosinmiubuntu.com/2011/11/como-guardar-datos-en-android.html" target="_blank"&gt;&lt;b&gt;guardar en las SharedPreferences&lt;/b&gt;&lt;/a&gt; la última fecha de actualización y en el método público readAndParseJsonLibros verificar que hayan pasado 2 días o más para llamar a vuestro servicio. Cada vez que hagais lectura reescribis esta fecha con la fecha actual.&lt;br /&gt;&lt;br /&gt;Bueno, hasta aquí la última parte de esta serie de capítulos dedicados a los servicios web. Espero os sean de ayuda. Por último, os voy adelantando el tema de la semana que viene, como registrar visitas con Google Analytics en nuestra aplicación Android.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-6801893188293439094?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/6801893188293439094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/6801893188293439094'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/02/leyendo-servicios-web-desde-android.html' title='Leyendo servicios web desde Android: JSON'/><author><name>3pies</name><uri>http://www.blogger.com/profile/14470031703993523324</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-VKKxnPUlB-s/Tp77AZJHFCI/AAAAAAAAAGU/WFdJea-nTSU/s220/huella.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-FlB_YRZ49Ns/TwygpLfTXDI/AAAAAAAAAKo/d2igGBUiQ4g/s72-c/Download.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-823427842810885541</id><published>2012-01-31T16:00:00.002+01:00</published><updated>2012-01-31T16:00:05.416+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wussuo'/><category scheme='http://www.blogger.com/atom/ns#' term='servidor'/><category scheme='http://www.blogger.com/atom/ns#' term='IP'/><category scheme='http://www.blogger.com/atom/ns#' term='DHCP'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>DHCP, El asignador de IP</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-hRDM4irb3hI/Tya5uIazPvI/AAAAAAAAASY/iOs-kE_liMM/s1600/0.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-hRDM4irb3hI/Tya5uIazPvI/AAAAAAAAASY/iOs-kE_liMM/s1600/0.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Continuamos en nuestro camino, y tras ya saber qué es una IP, y para qué sirve en el &lt;a href="http://www.nosinmiubuntu.com/2012/01/nuestras-amigas-las-direcciones-ip.html" target="_blank"&gt;anterior artículo&lt;/a&gt;, hoy vamos a dar un paso hacia más y saber qué es un servidor DHCP y cuáles son sus funciones dentro de una red. Y&amp;nbsp; descubriremos que está basado en el protocolo IP, y que es un servicio muy confortable.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #38761d; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;¿Que significan las siglas DHCP?&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Las siglas en inglés: &lt;i&gt;"Dynamic Host Configuration Protocol"&lt;/i&gt;, en español vendría a ser algo así como: &lt;b&gt;Protocolo de configuración dinámica de host&lt;/b&gt;. Esto significa en primera instancia, que es un &lt;u&gt;protocolo&lt;/u&gt;, un método estándar para que cualquier dispositivo pueda interactuar con este tipo de servicio. También gracias a su denominación, podemos observar que &lt;b&gt;sirve para configurar un host&lt;/b&gt;, ya sea éste un ordenador, un móvil o cualquier dispositivo que pueda conectarse a la red. Y la última palabra es "&lt;i&gt;dinámica&lt;/i&gt;", esto significa que no es necesario hacerlo de forma manual, que es un proceso automático.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #38761d; text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;¿Para qué sirve el servicio DHCP?&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Este protocolo, &lt;b&gt;permite&lt;/b&gt; que haya una &lt;b&gt;comunicación&lt;/b&gt; entre un dispositivo conectado a una red y el propio servidor DHCP. Esta comunicación se basa en el formato &lt;b&gt;cliente-servidor&lt;/b&gt; mediante el cual un cliente, como puede ser un ordenador, pide cierta información al servidor, que se la asigna mediante unos parámetros previamente asignados.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #38761d; text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;¿Qué información puede asignar un servidor DHCP a un cliente?&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Como ya hemos visto, los servidores brindan información a un cliente (&lt;i&gt;host&lt;/i&gt;), con el fin de simplificar las configuraciones de red. Esta puede ser:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Dirección IP&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Dirección IP del servidor DNS&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Dirección IP de la puerta de enlace&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Dirección de Broadcast&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Máscara de subred&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Tiempo máximo de asignación de IP (en caso de que ésta sea dinámica)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="color: #38761d; text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Direcciones IP mediante DHCP&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Una de las principales características del servicio de DHCP es asignar las direcciones IP a cada host de la red. Esto se consigue mediante un &lt;b&gt;intercambio&lt;/b&gt; &lt;b&gt;de mensajes&lt;/b&gt; entre el cliente y el servidor.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;El cliente se conecta a la red, y envía un paquete, llamado &lt;b&gt;&lt;i&gt;DHCPDiscovery&lt;/i&gt;&lt;/b&gt; , el cual &lt;b&gt;se difunde para toda la red&lt;/b&gt;, y todos los nodos de la red lo reciben, pero el único que lo procesará, será el servidor DHCP, el resto de los nodos lo ignorarán. Este paquete se manda a toda la red, porque el cliente no tiene porque saber si hay servidor DHCP o no, y si lo hay, tampoco debe saber la dirección IP.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Cuando el Servidor recibe este paquete, éste le responde un &lt;b&gt;&lt;i&gt;DHCPOffer&lt;/i&gt;&lt;/b&gt;, el cual le sirve unos parámetros iniciales para la configuración.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Al recibir este último paquete, el cliente, emite otro paquete, el &lt;i&gt;&lt;b&gt;DHCPResquest&lt;/b&gt;&lt;/i&gt;, donde confirma que recibió los parámetros iniciales, y pide al DHCP una dirección IP libre.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;El servidor recibe la petición del cliente, y el servidor le asigna toda la configuración de red restante mediante un &lt;i&gt;&lt;b&gt;DHCPACK&lt;/b&gt;&lt;/i&gt;. Y ya tendrá la configuración de red completada y lista para el uso. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Existen muchos otros paquetes de comunicación DHCP, pero los básicos son estos.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #38761d; text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Configurabilidad del DHCP&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;En este servicio se pueden configurar varias opciones, pero la más configurable sin duda es la dirección IP.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Formas de asignar una IP&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ol style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;&amp;nbsp;Asignación estática:&lt;/u&gt; El servidor asigna una dirección IP a una tarjeta de red, mediante su dirección MAC, que es única en el mundo.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;Asignación automática:&lt;/u&gt; El servidor asigna una dirección IP a un equipo, y éste la mantiene hasta que no la libere el propio cliente.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;Asignación dinámica:&lt;/u&gt; El servidor asigna las IP aleatoriamente, (entre un rango previamente asignado) y esta asignación tiene un tiempo límite para que la IP se libere y se asigne a otro equipo.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style="color: #38761d; text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Alternativas al DHCP&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Cuando este intercambio de paquetes no llega a buen puerto, el ordenador coge una IP alternativa, pero viene dada por el Sistema Operativo, y no por el servicio DHCP. Esto significa que la IP asignada no va a coincidir con la red.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;La próxima semana comenzamos la práctica de &lt;b&gt;Crear un servidor DHCP en Ubuntu&lt;/b&gt;, así que tenéis que tener esto claro para entenderlo mejor. &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-823427842810885541?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/823427842810885541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/823427842810885541'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/01/dhcp-el-asignador-de-ip.html' title='DHCP, El asignador de IP'/><author><name>Darío Opazo</name><uri>https://profiles.google.com/110123856269968131730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-uV39F6CaXbU/AAAAAAAAAAI/AAAAAAAAAC4/6g206ktcSSk/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-hRDM4irb3hI/Tya5uIazPvI/AAAAAAAAASY/iOs-kE_liMM/s72-c/0.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-591058875081752363</id><published>2012-01-30T21:30:00.000+01:00</published><updated>2012-01-30T21:30:45.426+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='Traductor'/><title type='text'>Gablabel, traduce textos desde tu escritorio fácilmente</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-TfN_RrbCSUA/TyFP_R1GHDI/AAAAAAAACGw/iArndxq_P5I/s1600/gablabel.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-TfN_RrbCSUA/TyFP_R1GHDI/AAAAAAAACGw/iArndxq_P5I/s1600/gablabel.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Si algo caracteriza a la Comunidad es la cantidad de proyectos que lleva a cabo. Encontramos un gran número de aplicaciones que ésta nos brinda, y las cuales nos facilitan la experiencia de usuario, además de tener a nuestra disposición el código, pudiendo mejorarlas si lo creemos oportuno, ya sea con ideas o directamente trabajando en él.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Uno de estos ejemplos es &lt;b&gt;Gablabel&lt;/b&gt;, una aplicación que como su autor nos describe, es un pequeño cliente de escritorio para Google  Translator, muy sencillo, ya que funciona como un pequeño  navegador.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Su autor es &lt;b&gt;Damián Nohales&lt;/b&gt;, desarrollador de software, y uno de los  que autores &lt;b&gt;gSharkDown&lt;/b&gt;, quien muy amablemente contactó con el blog para darnos a conocer esta simple, pero interesante aplicación. Este programa está desarrollado en el lenguaje de programación &lt;i&gt;Vala y CMake&lt;/i&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Su autor ha alojado el código en &lt;b&gt;&lt;a href="https://github.com/eagleoneraptor/gablabel"&gt;Github&lt;/a&gt;&lt;/b&gt;, y nos comenta que por ahora, sólo pudo compilarlo y empaquetarlo para la arquitectura i386, no estando garantizado que funcione en otra distro que no sea Ubuntu, ya  que se hace uso de la biblioteca para los indicadores de aplicaciones,  aunque esto es algo que debe arreglar. Existen dos paquetes para las dos últimas versiones de Ubuntu, es decir, tanto para &lt;b&gt;Natty&lt;/b&gt; como para &lt;b&gt;Oneiric&lt;/b&gt; en su página de &lt;b&gt;&lt;a href="https://github.com/eagleoneraptor/gablabel/downloads"&gt;Descargas&lt;/a&gt;&lt;/b&gt;.&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://1.bp.blogspot.com/-DoOKrUB96VQ/Tyb5jX847jI/AAAAAAAACHc/hrcgM_7MaHs/s1600/Pantallazo+del+2012-01-26+13%253A54%253A40.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="171" src="http://1.bp.blogspot.com/-DoOKrUB96VQ/Tyb5jX847jI/AAAAAAAACHc/hrcgM_7MaHs/s320/Pantallazo+del+2012-01-26+13%253A54%253A40.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Su funcionamiento es el mismo que si estuviéramos usando Google Translate, pero desde nuestro escritorio, disponiendo de algún atajo de teclado como los de la captura, además de poder poner la aplicación a pantalla completa, y como si estuviéramos en el traductor de Google, elegir el idioma al que queramos traducir. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://1.bp.blogspot.com/-MSUFBNY_BYM/Tyb8D5kJx7I/AAAAAAAACHo/-hxJS1uwal8/s1600/Pantallazo+del+2012-01-30+21:22:15.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="163" src="http://1.bp.blogspot.com/-MSUFBNY_BYM/Tyb8D5kJx7I/AAAAAAAACHo/-hxJS1uwal8/s320/Pantallazo+del+2012-01-30+21:22:15.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Desde el blog queremos felicitar a Damián, animarle a seguir desarrollando aplicaciones tan útiles, y agradecerle que las ponga a disposición de la Comunidad.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Aprovechando esta entrada, me gustaría comentar que estaremos encantados de publicar información sobre cualquier que programa estéis creando para GNU/Linux.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Saludos.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-591058875081752363?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/591058875081752363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/591058875081752363'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/01/gablabel-traduce-textos-desde-tu.html' title='Gablabel, traduce textos desde tu escritorio fácilmente'/><author><name>ISCARIO</name><uri>http://www.blogger.com/profile/17523670316461689984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://2.bp.blogspot.com/_Mbt2zMZyDys/STqtrR2McbI/AAAAAAAAABQ/txJZBXAnzx8/S220/wall_bsod.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-TfN_RrbCSUA/TyFP_R1GHDI/AAAAAAAACGw/iArndxq_P5I/s72-c/gablabel.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-8992699619995961543</id><published>2012-01-29T23:48:00.000+01:00</published><updated>2012-01-29T23:48:05.436+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Escritorio'/><category scheme='http://www.blogger.com/atom/ns#' term='GNOME Shell'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>El Escritorio del Lector #61</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s1600/64desktop.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s1600/64desktop.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;Para finalizar la semana, y como es ya una costumbre, volvemos con &lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;a href="http://www.nosinmiubuntu.com/search/label/Escritorio"&gt;"El Escritorio del Lector"&lt;/a&gt;&lt;/b&gt;.  No me cansaré de repetir que es una  sección que me ha sorprendido muy  gratamente, ya que vosotr@s sois los  que la hacéis seguir enviando  vuestras capturas y características. Es  muy gratificante que os  impliquéis con el blog, así que desde aquí os  agradecemos que sigáis  participando y comentando.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Nuestro visitante número 61, y no por ello menos importante, es &lt;b&gt;Ariel Escobar&lt;/b&gt;, quien muy amablemente nos envía sus especifcaciones. Ariel ha optado por &lt;b&gt;Gnome Shell&lt;/b&gt; en detrimento de Unity, algo por lo que muchos usuarios han optado, y que como ya hemos comentado en diversas ocasiones, demuestra el poder de elección del usuario.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/-qAGHQgPlsy8/TyXJK-ko5II/AAAAAAAACG4/r95nCCHebwk/s1600/Pantallazo+del+2011-12-12+15:41:48.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="179" src="http://2.bp.blogspot.com/-qAGHQgPlsy8/TyXJK-ko5II/AAAAAAAACG4/r95nCCHebwk/s320/Pantallazo+del+2011-12-12+15:41:48.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://4.bp.blogspot.com/-oxWYj_ZA7ys/TyXJM8QrmDI/AAAAAAAACHA/LuFzutUU0m0/s1600/Pantallazo+del+2011-12-12+15:42:15.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="179" src="http://4.bp.blogspot.com/-oxWYj_ZA7ys/TyXJM8QrmDI/AAAAAAAACHA/LuFzutUU0m0/s320/Pantallazo+del+2011-12-12+15:42:15.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://4.bp.blogspot.com/-Wratgq_RJCI/TyXJOnW_i4I/AAAAAAAACHI/fOqRA7pD6Dk/s1600/Pantallazo+del+2011-12-12+15:43:59.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="179" src="http://4.bp.blogspot.com/-Wratgq_RJCI/TyXJOnW_i4I/AAAAAAAACHI/fOqRA7pD6Dk/s320/Pantallazo+del+2011-12-12+15:43:59.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-_eE75djxfkI/TyXJQU8KNcI/AAAAAAAACHQ/0nEfL3dCyX8/s1600/Pantallazo+del+2011-12-12+15:44:46.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="179" src="http://4.bp.blogspot.com/-_eE75djxfkI/TyXJQU8KNcI/AAAAAAAACHQ/0nEfL3dCyX8/s320/Pantallazo+del+2011-12-12+15:44:46.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;S.O.:&lt;/span&gt; &lt;a href="http://www.ubuntu.com/download"&gt;Ubuntu 11.10&lt;/a&gt;&lt;/b&gt; &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Fondo de escitorio:&lt;/span&gt; &lt;a href="http://www.getfreehdwallpapers.com/wallpapers/11/adwaita_18502.jpg"&gt;Adwaita&lt;/a&gt; &lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Gnome-Shell:&lt;/span&gt; Adwaita &lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Iconos:&lt;/span&gt; Gnome&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;Desde                                  aquí os animo  (algo que agradezco de         antemano)  a               participar          enviando   vuestra     captura  o  capturas    con   sus         correspondientes                    características,   como &lt;b&gt;Sistema Operativo, Fondo de Escritorio, Tema de Ventanas y Tema de iconos&lt;/b&gt; a&lt;b style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; nosinmiubuntublog@gmail.com&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style="font-family: arial;"&gt;&lt;span style="font-size: xx-small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-size: small;"&gt;&lt;span&gt;Saludos.&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-8992699619995961543?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/8992699619995961543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/8992699619995961543'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/01/el-escritorio-del-lector-61.html' title='El Escritorio del Lector #61'/><author><name>ISCARIO</name><uri>http://www.blogger.com/profile/17523670316461689984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://2.bp.blogspot.com/_Mbt2zMZyDys/STqtrR2McbI/AAAAAAAAABQ/txJZBXAnzx8/S220/wall_bsod.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s72-c/64desktop.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-1495774405257484196</id><published>2012-01-25T12:53:00.000+01:00</published><updated>2012-01-31T11:40:25.099+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bluefish'/><category scheme='http://www.blogger.com/atom/ns#' term='3pies'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='phpmyadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='daniel'/><category scheme='http://www.blogger.com/atom/ns#' term='json'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='MYSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><title type='text'>Cómo crear servicios web PHP</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a href="http://2.bp.blogspot.com/--85bhQq9zZ8/Tx_io0TNSJI/AAAAAAAAAL4/ignHi47rpoc/s1600/www.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/--85bhQq9zZ8/Tx_io0TNSJI/AAAAAAAAAL4/ignHi47rpoc/s1600/www.png" /&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;Buenas, la semana pasada vimos&lt;a href="http://www.nosinmiubuntu.com/2012/01/prepara-tu-entorno-de-desarrollo-php-en.html" target="_blank"&gt; como instalar un servidor LAMP en nuestro Ubuntu y las herramientas necesarias para desarrollar con PHP y MySQL&lt;/a&gt;. Esta semana nos ponemos manos a la obra y veremos como desarrollar un pequeño servicio web para poder utilizarlo más tarde desde una aplicación Android y nutrir nuestra aplicación con datos.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Los formatos más utilizados para compartir información mediante estos servicios web son XML (y otros derivados) y JSON. &lt;a href="http://es.wikipedia.org/wiki/XML" target="_blank"&gt;&lt;b&gt;XML&lt;/b&gt;&lt;/a&gt; es un lenguaje de marcas muy similar al HTML, lo&amp;nbsp;podéis&amp;nbsp;ver normalmente en las fuentes RSS utilizadas para difundir listas de noticias. &lt;a href="http://es.wikipedia.org/wiki/JSON" target="_blank"&gt;&lt;b&gt;JSON&lt;/b&gt;&lt;/a&gt; es un formato ligero de intercambio de datos. Este último da mejores resultados en cuanto a rapidez y procesamiento, por lo tanto utilizaremos este, pero si&amp;nbsp;queréis utilizar XML solamente&amp;nbsp;deberéis&amp;nbsp;cambiar el formato de salida y listo.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Nuestro servicio va a devolvernos una lista de libros, para ellos primero crearemos una base de datos. Abrimos &lt;b&gt;phpMyAdmin&lt;/b&gt; para ello en un navegador escribimos &lt;b&gt;http://localhost/phpmyadmin&lt;/b&gt;. Vamos a "Base de datos" y creamos una nueva base de datos, le llamaremos &lt;b&gt;android&lt;/b&gt;, aparecerá en la lista de la parte izquierda. Pinchamos sobre ella y creamos una nueva tabla llamada &lt;b&gt;libros&lt;/b&gt; con 3 columnas: id_libro, libro y isbn. &lt;b&gt;Actualización:&lt;/b&gt; ponemos los nombres de las columnas en minúscula para no tener problemas a la hora de leerlo con el script PHP.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-JrfRwC2dA5s/Tx_ejKs8M0I/AAAAAAAAALg/WyxOOQ5tKxk/s1600/phpmyadmin_crear_base_de_datps.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="218" src="http://3.bp.blogspot.com/-JrfRwC2dA5s/Tx_ejKs8M0I/AAAAAAAAALg/WyxOOQ5tKxk/s400/phpmyadmin_crear_base_de_datps.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Para cada uno de los campos&amp;nbsp;deberéis&amp;nbsp;indicar de que tipo es, id_libro es un INT además como va a ser un identificador será PRIMARY y para que cada vez que insertemos un registro no nos tengamos que preocupar de calcular este dato marcamos la casilla AUTO INCREMENT.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Los campos libro y isbn son de tipo texto, tenemos VARCHAR el cual debemos indicar la longitud máxima, en nuestro caso pondremos 1.000 y 50 respectivamente. Existe otro tipo de dato para texto, TEXT, ideal cuando almacenamos grandes cantidades de texto, como por ejemplo el texto HTML de este artículo.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Una vez creada la tabla la&amp;nbsp;seleccionáis&amp;nbsp;e&amp;nbsp;insertáis&amp;nbsp;4 ó 5 registros para que luego al crear el servicio podamos comprobar como funciona.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-jVsweiF-qNs/Tx_etkzprxI/AAAAAAAAALo/lQywFfH9quM/s1600/phpmyadmin_tabla.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="218" src="http://1.bp.blogspot.com/-jVsweiF-qNs/Tx_etkzprxI/AAAAAAAAALo/lQywFfH9quM/s400/phpmyadmin_tabla.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;El siguiente paso es crear nuestro servicio para ello abrimos nuestro &lt;b&gt;IDE BlueFish&lt;/b&gt; y dentro de la ruta &lt;b&gt;/var/www/&lt;/b&gt; creamos una carpeta &lt;i&gt;android&lt;/i&gt; para nuestro servicio. El servicio constará de varios archivos los cuales os iré detallando que es lo que hace cada uno. Para crear cada uno de ellos haremos botón derecho del ratón sobre nuestra carpeta android, seleccionamos archivo nuevo y le damos el nombre correspondiente.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Empezamos con &lt;b&gt;globals.php&lt;/b&gt;, el cual va a tener parámetros de configuración, en principio para poder acceder a la base de datos. Como&amp;nbsp;podéis&amp;nbsp;ver he creado una clase &lt;b&gt;config&lt;/b&gt; y las propiedades son &lt;b&gt;static&lt;/b&gt;, es decir, no necesito crear un objeto config para poder acceder a estas. Como veis &lt;a href="http://es.wikipedia.org/wiki/Php" target="_blank"&gt;&lt;b&gt;PHP&lt;/b&gt;&lt;/a&gt; soporta programación orientada a objetos, aunque si&amp;nbsp;queréis&amp;nbsp;podéis&amp;nbsp;utilizar programación estructurada.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&amp;lt;?php&lt;br /&gt;class config{&lt;br /&gt; public static function getBBDDServer() {&lt;br /&gt;  return 'localhost';&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public static function getBBDDName(){&lt;br /&gt;  return  'android'; &lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public static function getBBDDUser(){&lt;br /&gt;  return 'root'; &lt;br /&gt; } &lt;br /&gt; &lt;br /&gt; public static function getBBDDPwd(){&lt;br /&gt;  return 'xxxxxx'; &lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;?&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;El siguiente archivo será &lt;b&gt;dbmanager.php&lt;/b&gt;, este archivo nos ayudará a gestionar la base de datos y las consultas que hagamos a ella. Lo voy a hacer lo más básico posible para no complicar mucho el ejemplo. Vuelvo a crear una clase &lt;b&gt;dbmanager&lt;/b&gt; con el método&amp;nbsp;&lt;b&gt;executeQuery&lt;/b&gt;, al que le pasamos una consulta, esta se ejecuta y nos devuelve el resultado.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="border: 1px solid lightgrey; margin: 0% auto; text-align: center; width: 90%;"&gt;&lt;div style="background-color: #f4f2f2; border-bottom: 1px solid lightgrey; font-weight: bold; padding: 5px 15px; text-align: left;"&gt;include_onde&lt;/div&gt;&lt;div style="padding: 5px 15px; text-align: left;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="text-align: -webkit-auto;"&gt;Destacar la instrucción&amp;nbsp;&lt;/span&gt;&lt;b style="text-align: -webkit-auto;"&gt;include_once&lt;/b&gt;&lt;span style="text-align: -webkit-auto;"&gt;&amp;nbsp;para referenciar nuestro archivo de configuración. Existe también la instrucción &lt;b&gt;include&lt;/b&gt;, la diferencia entre ellas es que la primera solo incluye una vez el mismo archivo, lo cual puede dar problemas si se incluye más de una vez.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Para poder utilizar las propiedades de esta clase lo hacemos con el nombre de la clase seguido de :: y el nombre de la propiedad o método.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&amp;lt;?php&lt;br /&gt;include_once('globals.php');&lt;br /&gt;&lt;br /&gt;class dbmanager{&lt;br /&gt; &lt;br /&gt; public function executeQuery($sql){&lt;br /&gt;  $con = mysql_connect(config::getBBDDServer(), config::getBBDDUser(), config::getBBDDPwd());&lt;br /&gt;  if (!$con)&lt;br /&gt;    {&lt;br /&gt;     die('Could not connect: ' . mysql_error());&lt;br /&gt;    }&lt;br /&gt;  &lt;br /&gt;  mysql_select_db(config::getBBDDName(), $con);&lt;br /&gt;  &lt;br /&gt;  $result = mysql_query($sql);&lt;br /&gt;  &lt;br /&gt;  mysql_close($con);&lt;br /&gt;  return $result;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;?&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;El siguiente archivo es &lt;b&gt;libros.php&lt;/b&gt;, otra vez hago los include de los archivos necesarios y creo una clase &lt;b&gt;libros&lt;/b&gt; con dos métodos. El primero de ellos &lt;b&gt;getLibros&lt;/b&gt;, crea un objeto dbmanager y ejecuta la consulta que hemos construido en el mismo método. Como veis es private por que lo vamos a utilizar únicamente dentro de la clase.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;El segundo método &lt;b&gt;getJSONLibros&lt;/b&gt; es publico y se encarga de obtener los datos con el método anterior y almacenar el resultado en la variable &lt;b&gt;$result&lt;/b&gt;, luego la recorre y construye la estructura JSON con cada uno de sus items, y por ultimo devuelve la variable &lt;b&gt;$json&lt;/b&gt;.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border: 1px solid lightgrey; margin: 0% auto; text-align: center; width: 90%;"&gt;&lt;div style="background-color: #f4f2f2; border-bottom: 1px solid lightgrey; font-weight: bold; padding: 5px 15px; text-align: left;"&gt;&lt;span style="font-size: small;"&gt;Variables PHP&lt;/span&gt;&lt;/div&gt;&lt;div style="padding: 5px 15px; text-align: left;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="text-align: -webkit-auto;"&gt;Como veis las variables en PHP se declaran con un $ siempre delante y para utilizar metodos de un objeto que hemos instanciado sería clase-&amp;gt;metodo. Si el método está en la misma clase seria $this-&amp;gt;metodo.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&amp;lt;?php&lt;br /&gt;include_once('globals.php');&lt;br /&gt;include_once('dbmanager.php');&lt;br /&gt;&lt;br /&gt;class libros{&lt;br /&gt;&lt;br /&gt;      private function getLibros(){&lt;br /&gt; $sql = "SELECT l.* ";&lt;br /&gt; $sql .= " FROM libros AS l ";&lt;br /&gt; $db = new dbmanager();&lt;br /&gt; return $db-&amp;gt;executeQuery($sql);&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     public function getJSONLibros(){&lt;br /&gt;        $json = "";&lt;br /&gt; $i = 0; &lt;br /&gt; $result = $this-&amp;gt;getLibros();&lt;br /&gt; $json .= " { \"libros\" : [ ";&lt;br /&gt;&lt;br /&gt; while($row = mysql_fetch_array($result)){&lt;br /&gt;    if($i &amp;gt; 0)&lt;br /&gt;     $json .= ",";&lt;br /&gt; &lt;br /&gt;    $json .= " { \"id\" : ".$row['id_libro'].", \"libro\": \"".$row['libro']."\", \"isbn\": \"".$row['isbn']."\" ";    &lt;br /&gt;    $json .= "} ";   &lt;br /&gt;    $i++;&lt;br /&gt;   }  &lt;br /&gt;  &lt;br /&gt; $json .= " ] ";&lt;br /&gt;   $json .= " } ";  &lt;br /&gt;   return $json; &lt;br /&gt;    }&lt;br /&gt;}&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;El último archivo es al que llamaremos para obtener el resultado de nuestro servicio, lo llamaremos &lt;b&gt;service.libros.php&lt;/b&gt;. Este archivo es muy simple,&amp;nbsp;únicamente&amp;nbsp;se hace el include necesario, instancia la clase &lt;b&gt;libros&lt;/b&gt; e imprimimos el resultado del método &lt;b&gt;getJSONLibros.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&amp;lt;?php&lt;br /&gt;include_once('libros.php');&lt;br /&gt;&lt;br /&gt;$libros = new libros();&lt;br /&gt;echo $libros-&amp;gt;getJSONLibros();&lt;br /&gt;?&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Por último probamos en el navegador este servicio con la url http://localhost/android/service.libros.php. Debería aparecer el JSON correspondiente, si&amp;nbsp;queréis&amp;nbsp;comprobar que está todo correcto&amp;nbsp;podéis&amp;nbsp;hacerlo en alguna de las webs que lo hacen online,&amp;nbsp;&lt;a href="http://jsonlint.com/"&gt;http://jsonlint.com/&lt;/a&gt;&amp;nbsp;por ejemplo.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Ahora ya tenemos listo nuestro servicio listo para poder leerlo con cualquier cliente, en nuestro caso haremos un cliente en Android la semana que viene que lea este JSON y nos lo muestre.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-1495774405257484196?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/1495774405257484196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/1495774405257484196'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/01/como-crear-servicios-web-php.html' title='Cómo crear servicios web PHP'/><author><name>3pies</name><uri>http://www.blogger.com/profile/14470031703993523324</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-VKKxnPUlB-s/Tp77AZJHFCI/AAAAAAAAAGU/WFdJea-nTSU/s220/huella.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/--85bhQq9zZ8/Tx_io0TNSJI/AAAAAAAAAL4/ignHi47rpoc/s72-c/www.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-6130162487294959179</id><published>2012-01-24T14:00:00.028+01:00</published><updated>2012-01-24T14:00:09.387+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wussuo'/><category scheme='http://www.blogger.com/atom/ns#' term='IP'/><category scheme='http://www.blogger.com/atom/ns#' term='Protocolo'/><category scheme='http://www.blogger.com/atom/ns#' term='internet'/><category scheme='http://www.blogger.com/atom/ns#' term='explicación'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Nuestras amigas las direcciones IP</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-SQNemHNiO9U/Tx2VXYVnPAI/AAAAAAAAAR8/rY-5pctNEAk/s1600/internet+inalambrico90x90.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-SQNemHNiO9U/Tx2VXYVnPAI/AAAAAAAAAR8/rY-5pctNEAk/s1600/internet+inalambrico90x90.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Tras haber terminado con éxito el &lt;a href="http://www.nosinmiubuntu.com/2011/12/guia-para-crear-un-servidor-dns-en.html" target="_blank"&gt;servidor DNS&lt;/a&gt;. Comenzamos una nueva serie de artículos, con la finalidad de instalar un &lt;b&gt;servidor DHCP&lt;/b&gt;. Pero para poder conseguir esto, primero debemos tener unos conceptos previos. Un servidor &lt;u&gt;DHCP&lt;/u&gt; sirve para asignar de manera automática las &lt;b&gt;IP&lt;/b&gt;s. En el siguiente artículo entraremos en detalle en los DHCP. Hoy nos tocan las &lt;b&gt;direcciones IP&lt;/b&gt;.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="color: #38761d;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;¿Qué significa IP y para qué sirve?&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;IP&lt;/b&gt; son las siglas inglesas de &lt;b&gt;Internet Protocol&lt;/b&gt;, lo cual significa que es el protocolo que sigue Internet para realizar sus comunicaciones, y en general la mayor parte de las &lt;b&gt;redes informáticas &lt;/b&gt;del mundo.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Este protocolo se basa en &lt;b&gt;asignar&lt;/b&gt; a cada elemento de la red (ordenador, router, impresora de red, móvil, página web...) &lt;b&gt;una dirección IP&lt;/b&gt; compuesta por una serie de números y puntos, y así que el dispositivo esté &lt;b&gt;localizable en la red&lt;/b&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Hoy en día existe una mejora de la IPv4 (la más común a día de hoy), que es la IPv6, que permite tener muchos más dispositivos, y además se agotaron las IPv4 públicas. Nos &lt;u&gt;centraremos en la IPv4&lt;/u&gt; porque es la que nos interesa para los posteriores artículos.&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #38761d; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #38761d; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Dirección IP&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;La direcciónIPv4 (A partir de ahora simplemente IP), es básicamente un &lt;b&gt;número binario&lt;/b&gt; formado por &lt;b&gt;32 bits&lt;/b&gt; (32 unos y ceros seguidos) que identifica de forma &lt;b&gt;lógica y estructurada&lt;/b&gt; un dispositivo o interfaz en una red de tipo&lt;i&gt; TCP/IP&lt;/i&gt;. Se divide en 4 octetos de código binario separados por puntos.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Una dirección IP está &lt;b&gt;dividida en dos&lt;/b&gt;, una parte que &lt;b&gt;identifica a la red&lt;/b&gt; a la cual está conectada, y la otra &lt;b&gt;identifica el dispositivo&lt;/b&gt; de ésa red a la cual pertenece.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt;&lt;b&gt;Ejemplo:&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: red;"&gt;192.168.0&lt;/span&gt;.&lt;span style="color: #38761d;"&gt;100&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="color: red; font-size: small;"&gt;RED   11000000 . 10101000 . 00000000.&lt;/span&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: #38761d; font-size: small;"&gt;01100100&lt;/span&gt;&lt;span style="font-size: small;"&gt; &lt;span style="color: #38761d;"&gt;HOST&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Esta dirección IP, por sí sola, no nos dice nada. Pero cuando terminéis este artículo, comprenderéis que la parte &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;"192.168.0" &lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;identifica a la red&lt;/b&gt;, y el resto &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;"100" &lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;indica que es&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt; el &lt;b&gt;dispositivo&lt;/b&gt; 100 de la red 192.168.0. Ahora veremos porqué.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #38761d; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Tipos&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;La finalidad de este protocolo es identificar y diferenciar unos dispositivos de otros y además unas redes de otras.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Por ello existen varias &lt;u&gt;&lt;b&gt;clases&lt;/b&gt;&lt;/u&gt; de IP:&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt;&lt;b&gt;Clase A: &lt;/b&gt;&lt;/i&gt;El primer octeto identifica la red, y los otros tres, el dispositivo. Este tipo de red se utiliza para poder tener muchos dispositivos por red.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;En este caso permite por cada red (primer octeto), más de 16 millones de dispositivos, pero sólo 128 redes diferentes.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Se diferencian de una manera básica, estas redes tienen un rango del primer octeto de 10.X.X.X hasta 126.X.X.X. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt;&lt;b&gt;Clase B&lt;/b&gt;&lt;/i&gt;: Los dos primeros octetos identifican la red, y los otros 2 los dispositivos. Es un tipo de red equilibrada, permite bastantes redes (16.384), y bastantes host o dispositivos (65.534) por cada red.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Sus rangos son desde: 128.0.X.X hasta 191.255.X.X.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt;&lt;b&gt;Clase C:&lt;/b&gt;&lt;/i&gt; Los tres primeros octetos identifican la red, y el último identifica el host. Permite más de dos millones de redes y 254 host por cada red.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;El rango para reconocerla es desde 192.0.0.X hasta 223.255.255.X&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;También se pueden clasificar en &lt;u&gt;&lt;b&gt;públicas o privadas&lt;/b&gt;&lt;/u&gt;.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Las &lt;b&gt;IP públicas&lt;/b&gt;, son las que se venden para poder tener una página web, un servidor o cualquier dispositivo accesible en la red de redes (Internet).&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;También son las que usamos para que tengamos acceso a Internet, cada proveedor (ISP) de internet nos proporciona una.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Las IP privadas, son las que no son públicas, y se &lt;b&gt;utilizan para crear redes locales&lt;/b&gt;, para que no creen conflictos con las públicas. Estas están reservadas por clases:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;Clase A&lt;/u&gt;: 10.0.0.0 hasta 10.255.255.255&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;Clase B&lt;/u&gt;: 172.16.0.0 hasta 172.31.255.255&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;Clase C&lt;/u&gt;: 192.168.0.0 hasta 192.168.255.255&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Las direcciones IP se pueden clasificar según su &lt;b&gt;configuración&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;IP fija&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Nosotros decidimos nuestra IP (local), definiéndola en la configuración del sistema operativo. En lo referente a Ubuntu podemos cambiarla siguiendo un &lt;a href="http://www.nosinmiubuntu.com/2010/09/asignar-ip-estatica-en-ubuntu.html"&gt;artículo de mi compañero&lt;/a&gt;. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;IP dinámica&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Un router o un servidor de DHCP asigna una IP&amp;nbsp; a cualquier dispositivo que se conecte a la red. Éste envía unos paquetes por la red y el servidor DHCP le responde con la IP que debe tomar.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #38761d; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Máscaras de Subred&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Las máscaras de subred sirven para dividir la parte de red en una dirección IP de la de host. Son también una serie de 32 bits separados en octetos. Pero la diferencia es que la parte de red la indican los unos, y la parte de host la indican los ceros.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt;&lt;b&gt;Ejemplo &lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Dirección IP:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Clase C:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;192.168.0.100&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="color: red; font-size: small;"&gt;11000000 . 10101000 . 00000000.&lt;/span&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: #38761d; font-size: small;"&gt;01100100&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Máscara de subred:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;255.255.255.0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="color: red; font-size: small;"&gt;11111111 . 11111111 . 11111111.&lt;/span&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: #38761d; font-size: small;"&gt;00000000 &lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;También puedes crear subredes cambiando la máscara, indicando hasta dónde es la parte de red, y dónde es el host.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Y hasta aquí este simple artículo sobre las direcciones IP. Espero que os ayude a entender el entramado de las redes informáticas. Cualquier duda, escribirla en los comentarios e intentaré ayudaros.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Un saludo.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-6130162487294959179?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/6130162487294959179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/6130162487294959179'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/01/nuestras-amigas-las-direcciones-ip.html' title='Nuestras amigas las direcciones IP'/><author><name>Darío Opazo</name><uri>https://profiles.google.com/110123856269968131730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-uV39F6CaXbU/AAAAAAAAAAI/AAAAAAAAAC4/6g206ktcSSk/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-SQNemHNiO9U/Tx2VXYVnPAI/AAAAAAAAAR8/rY-5pctNEAk/s72-c/internet+inalambrico90x90.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-302163366122320660</id><published>2012-01-22T23:59:00.001+01:00</published><updated>2012-01-26T01:03:49.913+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Escritorio'/><category scheme='http://www.blogger.com/atom/ns#' term='Archbang'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>El Escritorio del Lector #60</title><content type='html'>&lt;span style="font-family: arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-family: arial;"&gt;&lt;a href="http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s1600/64desktop.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s1600/64desktop.jpg" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;Como buen domingo que es, y recuperando la normalidad en lo referente a &lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;a href="http://www.nosinmiubuntu.com/search/label/Escritorio"&gt;"El Escritorio del Lector"&lt;/a&gt;, &lt;/b&gt;volvemos con el Escritorio número 60.  No me cansaré de repetir que es una sección que me ha sorprendido muy  gratamente, ya que vosotr@s sois los que la hacéis seguir enviando  vuestras capturas y características. Es muy gratificante que os  impliquéis con el blog, así que desde aquí os agradecemos que sigáis  participando y comentando.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;Nuestro visitante número 60 es &lt;b&gt;&lt;a href="http://www.lucasm86.com.ar/"&gt;Lucas&lt;/a&gt;&lt;/b&gt;, compañero blogger que sigo tanto en su cuenta &lt;a href="https://twitter.com/#%21/lucasm86"&gt;&lt;b&gt;Twitter&lt;/b&gt; &lt;/a&gt;como en su blog, y quien nos envía un Escritorio bastante simplificado y elegante, con un fondo de pantalla muy agradable a la vista, con la distribución &lt;b&gt;ArchBang.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;a href="http://4.bp.blogspot.com/-leKB0VSiP_M/TxyRHO-Y8SI/AAAAAAAACGg/-bPmSII5R74/s1600/escritorio_diciembre_con_aplicaciones_by_lucasm86-d4gxyc6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="256" src="http://4.bp.blogspot.com/-leKB0VSiP_M/TxyRHO-Y8SI/AAAAAAAACGg/-bPmSII5R74/s320/escritorio_diciembre_con_aplicaciones_by_lucasm86-d4gxyc6.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;a href="http://3.bp.blogspot.com/-C-uoOH1IxBc/TxyRIt8uDBI/AAAAAAAACGo/moN0ACL3VYM/s1600/escritorio_diciembre_limpio_by_lucasm86-d4gxyak.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="256" src="http://3.bp.blogspot.com/-C-uoOH1IxBc/TxyRIt8uDBI/AAAAAAAACGo/moN0ACL3VYM/s320/escritorio_diciembre_limpio_by_lucasm86-d4gxyak.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;SO:&lt;/span&gt; &lt;a href="http://archbang.org/"&gt;ArchBang &lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Wallpaper, se puede bajar desde este&lt;/span&gt; &lt;a href="http://lucasm86.deviantart.com/art/Wallpaper-de-diciembre-270322923"&gt;link&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Gestor de ventanas:&lt;/span&gt; &lt;a href="http://openbox.org/"&gt;OpenBox&lt;/a&gt; &lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Tema:&lt;/span&gt; Mist &lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="background-color: white;"&gt;&lt;span style="color: #444444;"&gt;Tema de iconos:&lt;/span&gt; &lt;/span&gt;&lt;a href="http://gnome-look.org/content/show.php/Faenza?content=128143"&gt;Faenza &lt;/a&gt;&lt;/b&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Aplicaciones:&lt;/span&gt; &lt;a href="http://paraisolinux.com/instalar-tint2-en-ubuntu-31-configuraciones/"&gt;Tint&lt;/a&gt;, &lt;a href="http://conky.sourceforge.net/"&gt;Conky&lt;/a&gt;, &lt;a href="http://code.google.com/p/wbar/"&gt;WBar&lt;/a&gt; y &lt;a href="https://wiki.archlinux.org/index.php/Xcompmgr"&gt;Xcompmgr&lt;/a&gt; para efectos de composición. &lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;Desde                                 aquí os animo  (algo que agradezco de        antemano)  a               participar          enviando   vuestra    captura  o  capturas    con   sus         correspondientes                   características,   como &lt;b&gt;Sistema Operativo, Fondo de Escritorio, Tema de Ventanas y Tema de iconos&lt;/b&gt; a&lt;b style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; nosinmiubuntublog@gmail.com&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-size: xx-small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-size: small;"&gt;Saludos.&amp;nbsp;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: arial;"&gt;        &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-302163366122320660?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/302163366122320660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/302163366122320660'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/01/el-escritorio-del-lector-60.html' title='El Escritorio del Lector #60'/><author><name>ISCARIO</name><uri>http://www.blogger.com/profile/17523670316461689984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://2.bp.blogspot.com/_Mbt2zMZyDys/STqtrR2McbI/AAAAAAAAABQ/txJZBXAnzx8/S220/wall_bsod.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s72-c/64desktop.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-7382024914683867116</id><published>2012-01-18T12:42:00.004+01:00</published><updated>2012-01-19T18:49:13.551+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bluefish'/><category scheme='http://www.blogger.com/atom/ns#' term='3pies'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='daniel'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><category scheme='http://www.blogger.com/atom/ns#' term='LAMP'/><category scheme='http://www.blogger.com/atom/ns#' term='phpmyadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='MYSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><category scheme='http://www.blogger.com/atom/ns#' term='entorno de desarrollo'/><category scheme='http://www.blogger.com/atom/ns#' term='servidor web'/><title type='text'>Prepara tu entorno de desarrollo PHP en Ubuntu: LAMP, phpMyAdmin y BlueFish</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-7CvaKLa9VE0/Txaqk-_qsHI/AAAAAAAAAK4/qu60konzQT8/s1600/Edit+file.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-7CvaKLa9VE0/Txaqk-_qsHI/AAAAAAAAAK4/qu60konzQT8/s1600/Edit+file.png" width="80px" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;Buenas, normalmente todas las semanas trato algún tema sobre Android, pero esta semana voy a cambiar un poco de tema, pero tengo mis razones. Esta semana voy a hablaros de como preparar vuestro Ubuntu para poder desarrollar con PHP. La razón es que a continuación os hablaré de como realizar un servicio que se comunicará con nuestras aplicaciones Android y nutrirlas de más información.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Para los que no lo&amp;nbsp;sepáis, &lt;b&gt;LAMP&lt;/b&gt; viene siendo la abreviatura de: Linux + Apache + MySQL + PHP. Este proporciona un servidor web Apache, un servidor de base de datos MySQL y toda la potencia de PHP para ejecutar nuestros sitios web.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;La instalación es muy sencilla, en un terminal debemos ejecutar lo siguiente:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;sudo apt-get install tasksel&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Esto lo que va a hacer es instalar el mismo paquete que utiliza Synaptic internamente, esto es porque en las nuevas versiones de Ubuntu desde la 10.10 no existe este paquete y debemos instalarlo de forma manual.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Una vez lista la instalación, ejecutamos la herramienta tasksel.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;sudo tasksel&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Aparecerá una ventana para seleccionar que software queremos instalar, nosotros en nuestro caso vamos a seleccionar LAMP Server (seleccionamos con la barra espaciadora). Empezamos la instalación y en un momento determinado nos pedirá una contraseña para el usuario "root" administrador de la base de datos MySQL,&amp;nbsp;asignáis&amp;nbsp;la que vosotros querrais y continuamos con la instalación.&lt;br /&gt;&lt;b&gt;Importante:&lt;/b&gt; si no&amp;nbsp;estáis&amp;nbsp;seguros para que sirve el resto de cosas no las quiteis podeis llegar a desinstalar componentes vitales para vuestro sistema. Muchas gracias a Alejandro Abarca por el aporte.&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://3.bp.blogspot.com/--XBH7yKLXvg/TxaszWMzWRI/AAAAAAAAALA/bhHzwgefKQk/s1600/tasksel.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="256" src="http://3.bp.blogspot.com/--XBH7yKLXvg/TxaszWMzWRI/AAAAAAAAALA/bhHzwgefKQk/s400/tasksel.png" width="400" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Una vez listo reiniciamos apache desde la consola.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;sudo /etc/init.d/apache2  restart&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Para comprobar que todo ha ido bien abrimos un navegador y escribimos en la barra de direcciones "http://localhost", está es la dirección de nuestra propia maquina, podemos acceder también mediante "http://127.0.0.1" o con la IP que tengamos asignada en nuestra red de área local. En cualquier caso, el resultado va a ser el mismo una página web en blanco con el texto "&lt;b&gt;It works!&lt;/b&gt;", es la página por defecto que nos muestra Apache.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;El directorio raíz donde tienen que estar ubicados nuestros sitios web es &lt;b&gt;/var/www/&lt;/b&gt;. Nuestro usuario no tendrá permisos para modificar en este directorio por lo que es recomendable que nos demos algún privilegio para facilitarnos el desarrollo para ejecutamos en un terminal lo siguiente:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;~$ cd /var/www/&lt;br /&gt;/var/www$  sudo chown -R usuario .&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Con esto último comando estamos&amp;nbsp;haciéndonos&amp;nbsp;propietarios de esta carpeta y todas las que contiene(no&amp;nbsp;olvidéis&amp;nbsp;incluir el punto que va al final). Como recomendación yo suelo tener un enlace a esta carpeta en mi carpeta personal por comodidad y rapidez a la hora de acceder a ella.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Si&amp;nbsp;queréis&amp;nbsp;comprobar y ver la configuración de nuestro servidor podeis crear en /var/www/ un archivo llamado &lt;b&gt;info.php&lt;/b&gt; con la siguiente línea:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&amp;lt;?php phpinfo(); ?&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Si ejecutamos esto en nuestro navegador mediante &lt;b&gt;http://localhost/info.php&lt;/b&gt; nos mostrará una página con la configuración de nuestro servidor.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://3.bp.blogspot.com/-RfOyIWauisc/Txat0k_-7WI/AAAAAAAAALY/t3kAa9oPoVI/s1600/phpinfo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="218" src="http://3.bp.blogspot.com/-RfOyIWauisc/Txat0k_-7WI/AAAAAAAAALY/t3kAa9oPoVI/s400/phpinfo.png" width="400" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Ahora que ya tenemos instalado el servidor, nos hacen falta las herramientas para desarrollar. Lo primero a instalar es una herramienta para gestionar nuestra base de datos, lo más común es &lt;b&gt;phpMyAdmin&lt;/b&gt;. Es una herramienta gestionada via web y os recomiendo que utiliceis esta porque los proveedores de sitios web son la que incluyen para gestionar los sitios, de esta forma a la hora de gestionar vuestro sitio web ya&amp;nbsp;estaréis&amp;nbsp;familiarizados con esta herramienta.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/-uDvBYqbDCI4/Txas_UBEyEI/AAAAAAAAALI/WMwsZqDq0uw/s1600/phpmyadmin.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="217" src="http://2.bp.blogspot.com/-uDvBYqbDCI4/Txas_UBEyEI/AAAAAAAAALI/WMwsZqDq0uw/s400/phpmyadmin.png" width="400" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Para instalarla ejecutamos en el terminal:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;sudo apt-get install phpmyadmin&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Y una vez instalada accedemos escribiendo en el navegador: &lt;b&gt;http://localhost/phpmyadmin&lt;/b&gt;. Existen otras herramientas como por ejemplo la que nos proporciona MySQL: MySQL Query Browser que también es bastante buena, pero nosotros vamos a centrarnos en phpMyAdmin.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;La última pieza para tener completo nuestro entorno de desarrollo es un IDE para desarrollar en PHP. Existen varias alternativas, de las cuales yo me quedo con dos:&amp;nbsp;&lt;b&gt;BlueFish&lt;/b&gt; por sencillez y &lt;b&gt;Eclipse + Plugin PDT&lt;/b&gt; porque es bastante completo y unifica en un solo IDE la mayoría de los&amp;nbsp;lenguajes&amp;nbsp;con los que personalmente trabajo.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Debido a que el desarrollo en PHP va a ser muy sencillo veremos como instalar BlueFish. Este se puede instalar desde el centro de software de Ubuntu o mediante el comando:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;sudo apt-get install bluefish&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://4.bp.blogspot.com/-WGgAzGzXYzM/TxatKXd42tI/AAAAAAAAALQ/YWSD1thwXQ4/s1600/bluefish.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://4.bp.blogspot.com/-WGgAzGzXYzM/TxatKXd42tI/AAAAAAAAALQ/YWSD1thwXQ4/s400/bluefish.png" width="400" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Y con este último paso terminado ya estamos preparados para empezar a desarrollar con PHP y MySQL. La semana que viene veremos como crear un pequeño servicio que posteriormente utilizaremos en una aplicación Android.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-7382024914683867116?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/7382024914683867116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/7382024914683867116'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/01/prepara-tu-entorno-de-desarrollo-php-en.html' title='Prepara tu entorno de desarrollo PHP en Ubuntu: LAMP, phpMyAdmin y BlueFish'/><author><name>3pies</name><uri>http://www.blogger.com/profile/14470031703993523324</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-VKKxnPUlB-s/Tp77AZJHFCI/AAAAAAAAAGU/WFdJea-nTSU/s220/huella.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-7CvaKLa9VE0/Txaqk-_qsHI/AAAAAAAAAK4/qu60konzQT8/s72-c/Edit+file.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-1087797273317591895</id><published>2012-01-17T16:38:00.002+01:00</published><updated>2012-01-17T16:40:28.994+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wussuo'/><category scheme='http://www.blogger.com/atom/ns#' term='servidor'/><category scheme='http://www.blogger.com/atom/ns#' term='DNS'/><category scheme='http://www.blogger.com/atom/ns#' term='Reenvío'/><category scheme='http://www.blogger.com/atom/ns#' term='internet'/><category scheme='http://www.blogger.com/atom/ns#' term='CNAME'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Guía para crear un Servidor DNS en Ubuntu Parte 3 (Última)</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://1.bp.blogspot.com/-jeDyeEgqYDA/TxRQ_ir7tXI/AAAAAAAAAQg/GSexnOgLej0/s1600/server-icone-4693-96.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-jeDyeEgqYDA/TxRQ_ir7tXI/AAAAAAAAAQg/GSexnOgLej0/s1600/server-icone-4693-96.png" /&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;Tras varias semanas aparcado, y yo de vacaciones, retomo la &lt;b&gt;última entrega&lt;/b&gt; que os tenía prometida, ya que, por diversos motivos no pude la semana pasada, volvemos con el tema de los DNS, para ya por fin finalizar este tema. Recordamos que si tenéis algunas &lt;b&gt;dudas&lt;/b&gt;, explicarlas mediante los comentarios, o la &lt;b&gt;pestaña superior de contactos&lt;/b&gt;.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Os dejo los enlaces anteriores por si necesitáis&lt;b&gt; repasarlos&lt;/b&gt; antes de continuar con esta guía y &lt;b&gt;dar por terminada la instalación y configuración del servidor&lt;/b&gt;:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://www.nosinmiubuntu.com/2011/12/nuestros-amigos-los-dns.html" target="_blank"&gt;Introducción a los DNS&lt;/a&gt;. ¿Qué son?¿Para qué sirven?&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://www.nosinmiubuntu.com/2011/12/guia-para-crear-un-servidor-dns-en.html" target="_blank"&gt;Instalación del DNS en Ubuntu&lt;/a&gt; (Parte 1)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://www.nosinmiubuntu.com/2011/12/guia-para-crear-un-servidor-dns-en_20.html" target="_blank"&gt;Configuración del DNS en Ubuntu&lt;/a&gt; (Parte 2)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Si hacemos un poco de memoria, ya sabemos cómo crear zonas en nuestro servidor, tanto directas como inversas. También sabemos ya cómo crear registros en ambas, y dar de alta nodos de nuestra red.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: #38761d; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;¿Qué vamos a aprender hoy?&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Reenvío de peticiones de servidor.&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Crear registros de alias (CNAME).&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Comprobar errores en el servidor.&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Crear una zona subordinada.&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Humildes consejos. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="color: #38761d;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #38761d; text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Reenvío de peticiones del servidor.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Hasta este momento, nuestro servidor DNS, sólo resuelve los nombres que estén registrados en él. Todo lo que esté fuera de esta área es invisible para el servidor. Esto se arregla simplemente &lt;b&gt;reenviando a otro servidor&lt;/b&gt; de nombres &lt;b&gt;aquellas peticiones que el nuestro no encuentre&lt;/b&gt;, ya sea un servidor de otra red local, u otro de Internet, como uno público.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Debemos dirigirnos a la página principal del BIND9 de webmin, y una vez allí entraremos en la sección de "&lt;b&gt;Reenviadores y Transferencias&lt;/b&gt;"&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/-Ypu3zSNuHe4/TxRpfTbq5jI/AAAAAAAAAQo/BA0e5bYTe0Q/s1600/IMAGEN1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-Ypu3zSNuHe4/TxRpfTbq5jI/AAAAAAAAAQo/BA0e5bYTe0Q/s1600/IMAGEN1.png" /&gt;&lt;/a&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Nos aparecerán todas las opciones que tenemos para poder reenviar las peticiones que no tengan un destinatario concreto. Lo único que debemos hacer es &lt;b&gt;poner la dirección IP&lt;/b&gt; en la cual se encuentra el servidor de red local, o de Internet.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://3.bp.blogspot.com/-lldk4QWPll8/TxRpf5t8bGI/AAAAAAAAAQs/Jbt222PWUNA/s1600/IMAGEN2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="220" src="http://3.bp.blogspot.com/-lldk4QWPll8/TxRpf5t8bGI/AAAAAAAAAQs/Jbt222PWUNA/s640/IMAGEN2.png" width="640" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border: 1px solid lightgrey; margin: 0% auto; text-align: justify; width: 90%;"&gt;&lt;div style="background-color: #f4f2f2; border-bottom: 1px solid lightgrey; font-weight: bold; padding: 5px 15px;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;Nota:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding: 5px 15px;"&gt;&lt;span style="font-size: small;"&gt;Los reenvíos de peticiones, tendrán prioridad según la plaza que ocupen en esta lista que nos muestran. En la imagen: primero buscará en el servidor 192.168.2.150 y tras eso buscará en el servidor 8.8.8.8 y finalmente en el 8.8.4.4&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Yo utilizo esos dos servidores, porque son unos &lt;i&gt;DNS de Google&lt;/i&gt;, los cuales tienen todas las direcciones públicas de Internet. Pero esos servidores &lt;b&gt;sólo nos servirán&lt;/b&gt; cuando queramos resolver &lt;b&gt;dominios de fuera de la red&lt;/b&gt; local. Si queremos que resuelvan dominios de otra red privada, debemos reenviar las peticiones al &lt;b&gt;otro servidor local&lt;/b&gt;, y que el segundo acepte esas peticiones extra. Finalmente le damos a salvar, y si es necesario &lt;u&gt;reiniciaremos&lt;/u&gt; el servicio.&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #38761d;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #38761d;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Crear registros Alias (CNAME)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Hasta este momento, para encontrar un ordenador, teníamos que escribir nuestra dirección tal que así (dependiendo de los registros creados):&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;iscario.nosinmiubuntu.&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Con el punto al final, y esto es más cómodo que la IP que era:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;192.168.1.101&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Pero vamos a darle una vuelta más de tuerca, cuando necesitamos que un equipo esté&lt;b&gt; visible por varios nombres&lt;/b&gt;, ya que quizás el trabajador "iscario" se encuentre además en la oficina 1, podemos referirnos a él como cualquiera de los dos nombres mediante este tipo de registros.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Para ello usamos los registros &lt;b&gt;CNAME&lt;/b&gt; o alias, los cuales sirven para crear, como su nombre indica, un &lt;b&gt;alias para poder localizar con varios nombres un mismo recurso de red&lt;/b&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Nos dirigimos&amp;nbsp; la página principal de BIND9, y entramos en nuestra zona primaria (en nuestro caso "nosinmiubuntu") y una vez allí, entraremos en la sección de &lt;b&gt;"Alias de nombre"&lt;/b&gt;.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://3.bp.blogspot.com/-RaIY7OyHZVk/TxRpgQRf8EI/AAAAAAAAAQ0/rJQiepjyvlw/s1600/IMAGEN3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-RaIY7OyHZVk/TxRpgQRf8EI/AAAAAAAAAQ0/rJQiepjyvlw/s1600/IMAGEN3.png" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Una vez dentro debemos escribir el &lt;b&gt;alias que le queramos poner&lt;/b&gt;, y en el cuadro de abajo la&lt;b&gt; dirección completa del nodo que queramos crear un alias&lt;/b&gt;,&lt;u&gt; es importante que le pongamos el punto final&lt;/u&gt;, fíjate bien. Como es lógico, no podemos repetir el nombre original, debemos escoger otro diferente. Finalmente le damos a crear, y nos aparecerá una lista con todos los que hemos creado.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://3.bp.blogspot.com/-vVMwnREMiQM/TxRpgpxfNpI/AAAAAAAAAQ4/ub2cHWVzjqk/s1600/IMAGEN4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="138" src="http://3.bp.blogspot.com/-vVMwnREMiQM/TxRpgpxfNpI/AAAAAAAAAQ4/ub2cHWVzjqk/s640/IMAGEN4.png" width="640" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;div style="color: #38761d;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Comprobar errores en el servidor.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Webmin&lt;/b&gt; tiene una opción muy simple que &lt;b&gt;comprueba de forma automática &lt;/b&gt;si tiene &lt;b&gt;errores&lt;/b&gt; los archivos de configuración. Para ello, vamos a la pantalla principal y entramos en la sección "&lt;i&gt;Check BIND Config&lt;/i&gt;".&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://3.bp.blogspot.com/-SduMzKVgKqY/TxRphKEh9gI/AAAAAAAAARE/eZpHFzXItIg/s1600/IMAGEN5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-SduMzKVgKqY/TxRphKEh9gI/AAAAAAAAARE/eZpHFzXItIg/s1600/IMAGEN5.png" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Al acceder a esta sección, webmin comprobará si tiene algún error (no es muy común utilizando webmin, pero puede ocurrir) y si es así, lo mostrará. En mi caso no hay ningún error, por lo cual me &lt;b&gt;muestra un mensaje&lt;/b&gt;, notificándome que no tengo ningún error en el archivo de configuración o en las zonas a las que hace referencia.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://1.bp.blogspot.com/-V2IDnJm7-lY/TxRph0BSseI/AAAAAAAAARM/tlZkI7_eQpg/s1600/IMAGEN6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="82" src="http://1.bp.blogspot.com/-V2IDnJm7-lY/TxRph0BSseI/AAAAAAAAARM/tlZkI7_eQpg/s640/IMAGEN6.png" width="640" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #38761d;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Crear una zona subordinada.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Las zonas subordinadas sirven para &lt;b&gt;compartir información de un servidor principal&lt;/b&gt;, y así poder funcionar como backup o como servidor para balancear la carga. &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Para crear una zona así, debemos ir a la página principal de BIND9, en webmin, y una vez allí debemos crear una zona, pero en este caso &lt;b&gt;subordinada&lt;/b&gt;.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-K8AgpA7kcRY/TxRshcaoILI/AAAAAAAAARg/PAYELGniAWY/s1600/IMAGEN7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="188" src="http://2.bp.blogspot.com/-K8AgpA7kcRY/TxRshcaoILI/AAAAAAAAARg/PAYELGniAWY/s640/IMAGEN7.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Entonces, se nos abre la pestaña de creación de zona, en la cual debemos de escribir el &lt;b&gt;nombre de la zona&lt;/b&gt;, y asignarle las &lt;b&gt;IPs del servidor &lt;/b&gt;del cual debe coger toda la información.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/-8pKoEelGd2o/TxRpiYj0y_I/AAAAAAAAARU/77gCOvkMTrQ/s1600/IMAGEN8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="182" src="http://2.bp.blogspot.com/-8pKoEelGd2o/TxRpiYj0y_I/AAAAAAAAARU/77gCOvkMTrQ/s640/IMAGEN8.png" width="640" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="border: 1px solid lightgrey; margin: 0% auto; text-align: justify; width: 90%;"&gt;&lt;div style="background-color: #f4f2f2; border-bottom: 1px solid lightgrey; font-weight: bold; padding: 5px 15px;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;Nota:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding: 5px 15px;"&gt;&lt;span style="font-size: small;"&gt;Recuerda, que debes poner una IP de la misma red que el servidor principal, para poder transferir esa información. Otra opción es tener correctamente configurado el router. Pero la clave es que &lt;b&gt;el equipo de la zona subordinada tenga acceso al servidor principal&lt;/b&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Finalmente, le damos a crear, y nos aparecerá una vista, como si fuera una zona maestra, podremos consultar los datos del DNS principal, pero &lt;b&gt;no podemos modificarlos&lt;/b&gt;, ya que sólo es una zona de apoyo o de copia de seguridad.&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #38761d;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #38761d;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Humildes Consejos&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #38761d;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Una gran parte de las veces que no funciona algo, debemos &lt;b&gt;parar el servicio BIND9 y volverlo a arrancar&lt;/b&gt;. De hecho deberíamos hacerlo en cada modificación que hacemos.&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Es muy importante la configuración de red&lt;/b&gt;. Si algo está mal configurado, no funcionará y no sabrás porque.&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Para que el servidor esté visible en Internet, debemos contratar una IP fija en nuestro ISP (Compañia de ADSL) y configurarlo con las IPs que nos den.&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Hay más cosas que no he explicado aquí, porque son más avanzadas, o yo no las veo imprescindibles para el funcionamiento del servidor. Pero recuerda que si usas una &lt;a href="http://www.nosinmiubuntu.com/2011/11/como-crear-una-maquina-virtual-en.html" target="_blank"&gt;máquina virtual&lt;/a&gt;, puedes trastear todo lo que quieras, sin estropear la configuración de tu equipo. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Nada más desde aquí. Un saludo, gracias por la paciencia, y espero me disculpéis por la tardanza. Hasta la próxima.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-1087797273317591895?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/1087797273317591895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/1087797273317591895'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/01/guia-para-crear-un-servidor-dns-en.html' title='Guía para crear un Servidor DNS en Ubuntu Parte 3 (Última)'/><author><name>Darío Opazo</name><uri>https://profiles.google.com/110123856269968131730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-uV39F6CaXbU/AAAAAAAAAAI/AAAAAAAAAC4/6g206ktcSSk/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-jeDyeEgqYDA/TxRQ_ir7tXI/AAAAAAAAAQg/GSexnOgLej0/s72-c/server-icone-4693-96.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-5263191440383039386</id><published>2012-01-16T18:07:00.002+01:00</published><updated>2012-01-16T18:07:58.189+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Asturix'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Asturix 4, una distribución muy interesante</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-WIas_ogy0XI/TxRKwmZQ4kI/AAAAAAAACF8/rM8u3U9B0ew/s1600/Asturix-3-logo-a-social-networking-focused-Ubuntu-based-distribution-with-KDE-desktop-large-png+%2528Custom%2529.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-WIas_ogy0XI/TxRKwmZQ4kI/AAAAAAAACF8/rM8u3U9B0ew/s1600/Asturix-3-logo-a-social-networking-focused-Ubuntu-based-distribution-with-KDE-desktop-large-png+%2528Custom%2529.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Dentro del universo GNU/Linux existen multitud de distribuciones, algo que para unas personas puede suponer un problema, y para otras algo maravilloso. En el blog nos decamentamos por la segunda opción, ya que tener esta diversidad ayuda a la libertad de elección del usuario y a enriquecer la Comunidad con posibilidades sorprendentes, que nos ayudan a disponer de cualquier herramienta o sistema que podamos imaginar.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Una de estas maravillosas opciones de las que podemos disfrutar es &lt;a href="http://asturix.com/"&gt;&lt;b&gt;Asturix&lt;/b&gt;&lt;/a&gt;, distribución basada en Ubuntu, y que nació en 2008 como una idea de &lt;b&gt;Luis  Iván Cuende&lt;/b&gt;.&lt;/span&gt;&lt;span style="font-size: small;"&gt; Nació como una&amp;nbsp; distribución linux regional, pero se ha convertido en una de las más reconocidas a nivel internacional, siendo &lt;strong&gt;instalada en más de 20 paises&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;, y haciéndose con múltiples premios y nominaciones, como 2 nominaciones en  ediciones especiales de Campus Party (Europa y Granada), desarrollada  por el proyecto Asturix.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Gracias a Ricardo López, su delegado de comunicaciones, nos enteramos de la &lt;a href="http://asturix.com/es/os/"&gt;&lt;b&gt;salida de Asturix 4&lt;/b&gt;&lt;/a&gt;, la cual viene con características tan suculentas como:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul class="itemlist" style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Nueva experiencia de usuario. Hemos desarrollado un &lt;strong&gt;nuevo entorno de escritorio&lt;/strong&gt; para mejorar la usabilidad, productividad y ayudarte a permacener concentrado, &lt;/span&gt;&lt;span style="font-size: small;"&gt;desarrollado con tecnologías web (como  HTML5 o CSS3).&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;ul class="itemlist" style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Tiene la &lt;strong&gt;mayor paleta de color del mundo&lt;/strong&gt; por  defecto. Gracias a nuestros colaboradores de GiveLifeCS puedes disfrutar  de más de 5000 colores cuando estés usando GIMP, Inkscape o cualquier  otra aplicación. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class="itemlist" style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;strong&gt;Previsualizaciones de todo&lt;/strong&gt;. Ahora ya no tienes que  abrir LibreOffice para ver un documento. Con la barra espaciadora podrás  previsualizar cualquier tipo de archivo. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class="itemlist" style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;strong&gt;Las redes sociales y de microblogging&lt;/strong&gt; están integradas, por lo que tendrás fácil acceso a&amp;nbsp;Twitter, Facebook o Identi.ca &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class="itemlist" style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Asturix Bridge te permite añadir, modificar y ejecutar &lt;strong&gt;aplicaciones web&lt;/strong&gt; como aplicaciones nativas. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class="itemlist" style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Chromium, LibreOffice, GIMP, Clementine, VLC… tiene todas las  aplicaciones que desearás encontrar. Además puedes instalar miles de  aplicaciones desde el &lt;strong&gt;Software Center.&lt;/strong&gt; &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: small;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;ul class="itemlist" style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;strong&gt;Música libre y gratuita&lt;/strong&gt; gracias a Jamendo, integrado en el reproductor Clementine. ¡Es legal!. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class="itemlist" style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Impresionante &lt;strong&gt;gestión de escritorios&lt;/strong&gt; con las teclas Super+S.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/-h0zkzkvQ_7k/TxRXsyBNqJI/AAAAAAAACGU/HU67c3kECc0/s1600/Screenshot+-+16_01_2012+%252C+17_57_23.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="288" src="http://2.bp.blogspot.com/-h0zkzkvQ_7k/TxRXsyBNqJI/AAAAAAAACGU/HU67c3kECc0/s640/Screenshot+-+16_01_2012+%252C+17_57_23.png" width="640" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Decir que a nivel de requerimientos, como ocurre con la mayoría de distribucionesGNU/Linux, no necesitas equipos muy potentes, teniendo como &lt;b&gt;Requerimientos mínimos 512 MB de RAM y 5 GB de HD&lt;/b&gt;, y como &lt;b&gt;Recomendados 1GB de RAM y 10 GB de HD&lt;/b&gt;.&lt;/span&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Sólo nos queda felicitar a todo el equipo de Asturix por el lanzamiento de esta nueva versión, y desearle toda la suerte del mundo, además de, por supuesto, recomendar que probéis este Sistema Operativo tan interesante.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt; Saludos.&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-5263191440383039386?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/5263191440383039386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/5263191440383039386'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/01/asturix-4-una-distribucion-muy.html' title='Asturix 4, una distribución muy interesante'/><author><name>ISCARIO</name><uri>http://www.blogger.com/profile/17523670316461689984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://2.bp.blogspot.com/_Mbt2zMZyDys/STqtrR2McbI/AAAAAAAAABQ/txJZBXAnzx8/S220/wall_bsod.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-WIas_ogy0XI/TxRKwmZQ4kI/AAAAAAAACF8/rM8u3U9B0ew/s72-c/Asturix-3-logo-a-social-networking-focused-Ubuntu-based-distribution-with-KDE-desktop-large-png+%2528Custom%2529.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-3608053875883575814</id><published>2012-01-15T20:57:00.000+01:00</published><updated>2012-01-15T20:57:59.902+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Escritorio'/><category scheme='http://www.blogger.com/atom/ns#' term='GNOME Shell'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>El Escritorio del Lector #59</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s1600/64desktop.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s1600/64desktop.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Como ya dijimos ayer esta semana hay doble ración de &lt;/span&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;a href="http://www.nosinmiubuntu.com/search/label/Escritorio"&gt;"El Escritorio del Lector"&lt;/a&gt;.&lt;/b&gt; No me cansaré de repetir que es una sección que me ha sorprendido muy gratamente, ya que vosotr@s sois los que la hacéis seguir enviando vuestras capturas y características. Es muy gratificante que os impliquéis con el blog, así que desde aquí os agradecemos que sigáis participando y comentando.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;En la segunda ración de la semana el portagonista es&lt;b&gt; Esteban Ramírez, &lt;/b&gt;quien nos muestra un área de trabajo basado en &lt;b&gt;Ubuntu con Gnome Shell&lt;/b&gt; como entorno de escritorio, lo que nos demuestra que aunque Ubuntu venga con Unity, y existan quejas al respecto, podemos modificar a nuestro antojo cualquier distribución.&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://1.bp.blogspot.com/-Or1zFk0f9DI/TxIcwgLSPDI/AAAAAAAACFc/oy3EffNV9y4/s1600/01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="179" src="http://1.bp.blogspot.com/-Or1zFk0f9DI/TxIcwgLSPDI/AAAAAAAACFc/oy3EffNV9y4/s320/01.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://1.bp.blogspot.com/-ft2tE5SKMPM/TxIcyQa8hRI/AAAAAAAACFk/Oeyri5o_Psw/s1600/02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="179" src="http://1.bp.blogspot.com/-ft2tE5SKMPM/TxIcyQa8hRI/AAAAAAAACFk/Oeyri5o_Psw/s320/02.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://4.bp.blogspot.com/-BZAeUCBT9I4/TxIc0BiRM7I/AAAAAAAACFs/J9y3-y2cUj8/s1600/03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="179" src="http://4.bp.blogspot.com/-BZAeUCBT9I4/TxIc0BiRM7I/AAAAAAAACFs/J9y3-y2cUj8/s320/03.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/-lYqKdhdOlUk/TxIc1lSiDSI/AAAAAAAACF0/CknzaF7SYPY/s1600/04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="179" src="http://2.bp.blogspot.com/-lYqKdhdOlUk/TxIc1lSiDSI/AAAAAAAACF0/CknzaF7SYPY/s320/04.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;S.O.: &lt;/span&gt;Ubuntu 11.10&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://www.ubuntu.com/"&gt; &lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Tema:&lt;/span&gt; &lt;a href="http://www.webupd8.org/2011/12/zukini-new-gtk23gnome-shell-theme-pack.html"&gt;Zukini&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&amp;nbsp;&lt;span style="color: #444444;"&gt;Iconos:&lt;/span&gt; &lt;a href="http://gnome-look.org/content/show.php/Faenza-Cupertino?content=129008"&gt;Faenza Cupertino&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt; &lt;span style="color: #444444;"&gt;Fondo de escritorio:&lt;/span&gt; &lt;a href="http://lassekongo83.deviantart.com/art/Derp-271379331"&gt;Derp&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;Ademas de algunas &lt;a href="https://extensions.gnome.org/"&gt;extensiones de Gnome Shell &lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;Desde                                aquí os animo  (algo que agradezco de       antemano)  a               participar          enviando   vuestra   captura  o  capturas    con   sus         correspondientes                  características,   como &lt;b&gt;Sistema Operativo, Fondo de Escritorio, Tema de Ventanas y Tema de iconos&lt;/b&gt; a&lt;b style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; nosinmiubuntublog@gmail.com&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-size: small;"&gt;Saludos.&amp;nbsp;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-3608053875883575814?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/3608053875883575814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/3608053875883575814'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/01/el-escritorio-del-lector-59.html' title='El Escritorio del Lector #59'/><author><name>ISCARIO</name><uri>http://www.blogger.com/profile/17523670316461689984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://2.bp.blogspot.com/_Mbt2zMZyDys/STqtrR2McbI/AAAAAAAAABQ/txJZBXAnzx8/S220/wall_bsod.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s72-c/64desktop.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-4963146174045861685</id><published>2012-01-14T19:48:00.001+01:00</published><updated>2012-01-14T19:59:32.382+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Mint'/><category scheme='http://www.blogger.com/atom/ns#' term='Escritorio'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>El Escritorio del Lector #58</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s1600/64desktop.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s1600/64desktop.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Como comentábamos la semana pasada, tuvimos un pequeño parón en lo referente a publicaciones debido a&amp;nbsp; las  vacaciones navideñas. Por ello, durante esta semana vamos a publicar&amp;nbsp;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt; &lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;a href="http://www.nosinmiubuntu.com/search/label/Escritorio"&gt;"El Escritorio del Lector"&lt;/a&gt;&lt;/b&gt;&amp;nbsp; tanto Sábado como Domingo, para así cumplir lo prometido a nuestros lectores.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;Me gustaría recordar que en esta sección, de la que estoy particularmente orgulloso por la gran aceptación que le habéis dado, aquí el&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;               protagonista puedes ser tú, tan sólo tienes que querer        mostrar     cómo es el área de trabajo donde te manejas, para que el        resto     conozcamos nuevos paquetes de iconos, temas, etc. Una muy         buena forma de     compartir vuestro trabajo a la hora de dejar  lo  más       cómodo posible  el    Escritorio.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Este atípico día para la sección está dedicado a &lt;b&gt;V. Hugo Btt, &lt;/b&gt;quien en vez de enviarnos un único Escritorio, nos envía dos, el mtivo no es otro que haberse cambiado de distribución, de &lt;b&gt;Ubuntu a Linux Mint&lt;/b&gt;, algo que como bien sabréis aparentemente&amp;nbsp; ha hecho mucha gente debido a Unity. El autor nos ha pedido que pongamos a vuestra disposición su correo por si tenéis alguna duda&lt;/span&gt;&lt;span style="font-size: small;"&gt; &lt;b style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;vhugo.btt@gmail.com&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://1.bp.blogspot.com/-VxLEqUNVs5A/TxG-ab_uw5I/AAAAAAAACE8/F51gT7em_Eg/s1600/Escritorio.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-VxLEqUNVs5A/TxG-ab_uw5I/AAAAAAAACE8/F51gT7em_Eg/s320/Escritorio.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/-P8T0htBGhJo/TxG-boWOQcI/AAAAAAAACFA/onFhtsNTc0Q/s1600/Pantallazo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-P8T0htBGhJo/TxG-boWOQcI/AAAAAAAACFA/onFhtsNTc0Q/s320/Pantallazo.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li style="text-align: center;"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: #444444;"&gt;S. O.:&lt;/span&gt; &lt;a href="http://cdimage.ubuntu.com/releases/11.04/release/"&gt;Ubuntu 11.04 en LiveUSB&lt;/a&gt;&lt;/span&gt; &lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li style="text-align: center;"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: #444444;"&gt;Tema:&lt;/span&gt; &lt;a href="http://gnome-look.org/content/show.php?content=121118"&gt;Ambiance&lt;/a&gt; modificado, color de selecciones #772953.&lt;/span&gt; &lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li style="text-align: center;"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: #444444;"&gt;Iconos:&lt;/span&gt; &lt;a href="http://gnome-look.org/content/show.php?content=126344"&gt;Awoken 2.3&lt;/a&gt;&lt;/span&gt; &lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li style="text-align: center;"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: #444444;"&gt;En pantalla:&lt;/span&gt; &lt;a href="https://launchpad.net/launch-lite-proj"&gt;Netbook Launcher Efl&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/-iMTsuW9o_sg/TxG_6mCwE1I/AAAAAAAACFM/xfr5rWafsgU/s1600/Desktop.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-iMTsuW9o_sg/TxG_6mCwE1I/AAAAAAAACFM/xfr5rWafsgU/s320/Desktop.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/-BuRmLMQyvq4/TxG_8fSqzHI/AAAAAAAACFU/kgp8oZQoIGI/s1600/Screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-BuRmLMQyvq4/TxG_8fSqzHI/AAAAAAAACFU/kgp8oZQoIGI/s320/Screenshot.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;b&gt;&lt;span style="color: #444444;"&gt;S.O.:&lt;/span&gt; &lt;a href="http://linuxmint.com/"&gt;Linux Mint 11 "Katya"&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;Desde                               aquí os animo  (algo que agradezco de      antemano)  a               participar          enviando   vuestra  captura  o  capturas    con   sus         correspondientes                 características,   como &lt;b&gt;Sistema Operativo, Fondo de Escritorio, Tema de Ventanas y Tema de iconos&lt;/b&gt; a&lt;b style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; nosinmiubuntublog@gmail.com&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;Saludos.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-4963146174045861685?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/4963146174045861685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/4963146174045861685'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/01/el-escritorio-del-lector-58.html' title='El Escritorio del Lector #58'/><author><name>ISCARIO</name><uri>http://www.blogger.com/profile/17523670316461689984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://2.bp.blogspot.com/_Mbt2zMZyDys/STqtrR2McbI/AAAAAAAAABQ/txJZBXAnzx8/S220/wall_bsod.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s72-c/64desktop.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-5691551090103672115</id><published>2012-01-13T12:00:00.012+01:00</published><updated>2012-01-13T12:00:03.920+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Usuario'/><category scheme='http://www.blogger.com/atom/ns#' term='Día Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Día del Usuario Ubuntu, aprende de la Comunidad</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-t5ERy7EQbg4/Tl_HHOW8XuI/AAAAAAAABuQ/IzIUuPfFtEs/s1600/start-here-ubuntu.redimensionado.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-t5ERy7EQbg4/Tl_HHOW8XuI/AAAAAAAABuQ/IzIUuPfFtEs/s1600/start-here-ubuntu.redimensionado.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: inherit; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Si hay algo que caracteriza a GNU/Linux en general, y a Ubuntu en concreto es la gran Comunidad que hay detrás. Gracias a ésta disponemos de una gran cantidad de canales con los que obtener información, los cuales sirven de ayuda tanto a la gente que está empezando como a los más expertos.&lt;/span&gt;&lt;/div&gt;&lt;div class="line874" style="font-family: inherit; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Uno de estos canales es Ubuntu Classrom, en el cual se crean una serie de charlas en eventos del tipo &lt;a href="http://www.nosinmiubuntu.com/2010/10/ubuntu-open-week-en-espanol.html"&gt;Ubuntu Open Week&lt;/a&gt;. Como gran parte de esta información está en inglés, disponemos de Classroom_ES, en la cual se organizan eventos paralelos en la lengua de Cervantes, gracias a gente como &lt;b&gt;&lt;a href="https://wiki.ubuntu.com/SergioMeneses"&gt;Sergio Meneses&lt;/a&gt;&lt;/b&gt; o &lt;b&gt;&lt;a href="https://wiki.ubuntu.com/costales" target="_blank"&gt;Marcos Costales&lt;/a&gt;&lt;/b&gt;, además de, por supuesto, los instructores que impartirán las charlas.&lt;/span&gt;&lt;/div&gt;&lt;div class="line874" style="font-family: inherit; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line874" style="font-family: inherit; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;En esta ocasión disponemos de la versión en español del &lt;b&gt;Día del Usuario Ubuntu&lt;/b&gt;, que como nos describen en su correspondiente &lt;b&gt;&lt;a href="https://wiki.ubuntu.com/DiaDelUsuarioUbuntu"&gt;wiki&lt;/a&gt;&lt;/b&gt;, nos es otra cosa que un conjunto de charlas  que se van a dar en el correr de un día para que los nuevos usuarios de  Ubuntu, con conocimientos básicos e intermedios puedan aprender cosas  como:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="line874" style="font-family: inherit; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: inherit; text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Cómo instalar Ubuntu.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="font-family: inherit; text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Encontrar programas equivalentes en Ubuntu.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="font-family: inherit; text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Cómo obtener ayuda.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="font-family: inherit; text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Aprender cosas básicas para utilizar Ubuntu.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="font-family: inherit; text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Aprender como integrarse y colaborar con la comunidad.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Para acceder a las sesiones&lt;/b&gt; simplemente tendrás que entrar en los canales &lt;b style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;#ubuntu-charlas&lt;/b&gt; y &lt;b style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;#ubuntu-charlas-chat&lt;/b&gt; de los servidores IRC de freenode irc.freenode.net o seguir el siguiente &lt;b&gt;&lt;a href="http://webchat.freenode.net/?channels=ubuntu-charlas-chat,ubuntu-charlas"&gt;enlace&lt;/a&gt;&lt;/b&gt;, donde deberás ingresar un nombre que te identifique (en Nickname) y dar clic en conectar (Connect).&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;div class="line874" style="font-family: inherit; text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Si quieres saber el &lt;b&gt;horario&lt;/b&gt; de las charlas para tu ciudad, da clic en el enlace con la hora UTC, este te mostrará la hora local en tu ciudad.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;table border="1" bordercolor="666633" class="tb"&gt;&lt;tbody&gt;&lt;tr&gt;  &lt;td style="text-align: center;"&gt;&lt;div class="line862"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Instructor&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt; &lt;/div&gt;&lt;/td&gt;   &lt;td style="text-align: center;"&gt;&lt;div class="line862"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&amp;nbsp;Tema&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt; &lt;/div&gt;&lt;/td&gt;   &lt;td style="text-align: center;"&gt;&lt;div class="line862"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp; Horario&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt; &lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td style="text-align: center;"&gt;&lt;div class="line862"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;a href="https://wiki.ubuntu.com/SergioMeneses"&gt;&amp;nbsp; SergioMeneses &amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt; &lt;/div&gt;&lt;/td&gt;   &lt;td style="text-align: center;"&gt;&lt;div class="line862"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp; Apertura de la jornada &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style="text-align: center;"&gt;&lt;div class="line862"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;a class="http" href="http://timeanddate.com/worldclock/fixedtime.html?iso=20120114T1730"&gt;&amp;nbsp;&amp;nbsp; 17:30 UTC&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td style="text-align: center;"&gt;&lt;div class="line891"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;a class="https" href="https://wiki.ubuntu.com/mimecar"&gt;&amp;nbsp; mimecar &amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt; &lt;/div&gt;&lt;/td&gt;   &lt;td style="text-align: center;"&gt;&lt;div class="line862"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp; Copias de seguridad: Grsync y Clonezilla &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style="text-align: center;"&gt;&lt;div class="line862"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;a class="http" href="http://timeanddate.com/worldclock/fixedtime.html?iso=20120114T18"&gt;&amp;nbsp;&amp;nbsp; 18:00 UTC&lt;/a&gt;&lt;/span&gt;&lt;/b&gt; &lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td style="text-align: center;"&gt;&lt;div class="line862"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;a href="https://wiki.ubuntu.com/costales"&gt;&amp;nbsp; costales &amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt; &lt;/div&gt;&lt;/td&gt;   &lt;td style="text-align: center;"&gt;&lt;div class="line862"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp; Seguridad básica: Cortafuegos Gufw &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style="text-align: center;"&gt;&lt;div class="line862"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;a class="http" href="http://timeanddate.com/worldclock/fixedtime.html?iso=20120114T19"&gt;&amp;nbsp;&amp;nbsp; 19:00 UTC&lt;/a&gt;&lt;/span&gt;&lt;/b&gt; &lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td style="text-align: center;"&gt;&lt;div class="line862"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;a href="https://wiki.ubuntu.com/primicachero"&gt;&amp;nbsp; primicachero &amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt; &lt;/div&gt;&lt;/td&gt;   &lt;td style="text-align: center;"&gt;&lt;div class="line862"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp; Equivalencia programas Windows/Ubuntu &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style="text-align: center;"&gt;&lt;div class="line862"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;a class="http" href="http://timeanddate.com/worldclock/fixedtime.html?iso=20120114T19"&gt;&amp;nbsp;&amp;nbsp; 19:30 UTC&lt;/a&gt;&lt;/span&gt;&lt;/b&gt; &lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td style="text-align: center;"&gt;&lt;div class="line862"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;a class="nonexistent" href="https://wiki.ubuntu.com/LinaPorras"&gt;&amp;nbsp; LinaPorras &amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt; &lt;/div&gt;&lt;/td&gt;   &lt;td style="text-align: center;"&gt;&lt;div class="line862"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp; Programas de Mensajería Instantánea en Ubuntu &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style="text-align: center;"&gt;&lt;div class="line862"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;a class="http" href="http://timeanddate.com/worldclock/fixedtime.html?iso=20120114T20"&gt;&amp;nbsp;&amp;nbsp; 20:00 UTC&lt;/a&gt;&lt;/span&gt;&lt;/b&gt; &lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td style="text-align: center;"&gt;&lt;div class="line891"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;a class="https" href="https://wiki.ubuntu.com/%7Echilicuil"&gt;&amp;nbsp; chilicuil &amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt; &lt;/div&gt;&lt;/td&gt;   &lt;td style="text-align: center;"&gt;&lt;div class="line862"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp; Corrección de bugs I &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style="text-align: center;"&gt;&lt;div class="line862"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;a class="http" href="http://timeanddate.com/worldclock/fixedtime.html?iso=20120114T21"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 21:00 UTC&lt;/a&gt;&lt;/span&gt;&lt;/b&gt; &lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td style="text-align: center;"&gt;&lt;div class="line891"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;a class="https" href="https://wiki.ubuntu.com/%7Echilicuil"&gt;&amp;nbsp; chilicuil &amp;nbsp;&amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt; &lt;/div&gt;&lt;/td&gt;   &lt;td style="text-align: center;"&gt;&lt;div class="line862"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp; Corrección de bugs II  &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;   &lt;td style="text-align: center;"&gt;&lt;div class="line862"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;a class="http" href="http://timeanddate.com/worldclock/fixedtime.html?iso=20120114T22"&gt;&amp;nbsp;&amp;nbsp; 22:00 UTC&amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt; &lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-T795w8F07VI/Tw8c0hDa9rI/AAAAAAAACEs/DgtO6GY1KNE/s1600/d%25C3%25ADa_usuario_ubuntu_2012_v2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-T795w8F07VI/Tw8c0hDa9rI/AAAAAAAACEs/DgtO6GY1KNE/s1600/d%25C3%25ADa_usuario_ubuntu_2012_v2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Como siempre que hay este tipo de eventos, desde el blog os animamos a asistir&lt;/span&gt;&lt;span style="font-family: arial; font-size: small;"&gt; tanto si  eres un usuario experto como novato, ya que pueden  resultar bastante interesantes, pudiendo interactuar con otros ubunteros  que tienen la misma filosofía de compartir.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;Saludos. &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;style type="text/css"&gt;.tb tr td{margin: 5px 10px; padding: 5px !important;}&lt;/style&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-5691551090103672115?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/5691551090103672115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/5691551090103672115'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/01/dia-del-usuario-ubuntu-aprende-de-la.html' title='Día del Usuario Ubuntu, aprende de la Comunidad'/><author><name>ISCARIO</name><uri>http://www.blogger.com/profile/17523670316461689984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://2.bp.blogspot.com/_Mbt2zMZyDys/STqtrR2McbI/AAAAAAAAABQ/txJZBXAnzx8/S220/wall_bsod.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-t5ERy7EQbg4/Tl_HHOW8XuI/AAAAAAAABuQ/IzIUuPfFtEs/s72-c/start-here-ubuntu.redimensionado.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-1334223454564561702</id><published>2012-01-12T00:00:00.011+01:00</published><updated>2012-01-12T01:27:56.373+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hckorootx'/><category scheme='http://www.blogger.com/atom/ns#' term='arranque dual'/><category scheme='http://www.blogger.com/atom/ns#' term='ISO'/><category scheme='http://www.blogger.com/atom/ns#' term='USB'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='GRUB 2'/><title type='text'>Arranque múltiple con dispositivos USB</title><content type='html'>&lt;div style="TEXT-ALIGN: justify"&gt;&lt;a href="http://2.bp.blogspot.com/-evO43XZ8X4I/Twy0HK7L_PI/AAAAAAAAAcI/xGZxHyvMf3w/s1600/logo.jpg"&gt;&lt;img style="MARGIN: 0pt 10px 10px 0pt; WIDTH: 72px; FLOAT: left; HEIGHT: 72px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5696125664001522930" alt="" src="http://2.bp.blogspot.com/-evO43XZ8X4I/Twy0HK7L_PI/AAAAAAAAAcI/xGZxHyvMf3w/s320/logo.jpg" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;Cada día que pasa, los &lt;span style="FONT-WEIGHT: bold"&gt;dispositivos de almacenamiento USB&lt;/span&gt; adquieren más fama, en detrimento de los soportes ópticos como CDs y DVDs; varios son los motivos: mayor velocidad de transferencia de datos, tamaño reducido, ..., y la aparición de equipos informáticos que ya no disponen de unidades ópticas, como puede ser un simple Netbook. Para la instalación de cualquier sistema operativo en uno de estos equipos, lo más habitual es hacer uso de un dispositivo USB preparado para tal fin. Últimamente, y con la proliferación de &lt;span style="FONT-WEIGHT: bold"&gt;Live CDs&lt;/span&gt; de un buen número de distribuciones de &lt;span style="FONT-WEIGHT: bold"&gt;GNU/Linux&lt;/span&gt;, también se utilizan dispositivos USB para probar éstas sin alterar los sistemas. Por otro lado, existen multitud de herramientas de diagnóstico, particionado y reparación que pueden ser utilizadas mediante un USB de arranque.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-size:78%;"&gt;En esta entrada, vamos a ver cómo preparar un dispositivo USB de 2 GB para que nos permita arrancar dos versiones distintas de &lt;span style="FONT-WEIGHT: bold"&gt;Ubuntu&lt;/span&gt;, sin necesidad de instalación alguna, simplemente a partir de sus &lt;span style="FONT-WEIGHT: bold"&gt;imágenes ISO&lt;/span&gt;. Para ello, utilizaremos el gestor de arranque &lt;span style="FONT-WEIGHT: bold"&gt;GRUB 2&lt;/span&gt;. Los pasos a seguir son los siguientes:&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;1.&lt;/span&gt; Instalamos GRUB 2 en el sistema:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="BORDER-BOTTOM: rgb(204,204,204) 1px dashed; BORDER-LEFT: rgb(204,204,204) 1px dashed; PADDING-BOTTOM: 8px; MARGIN: 0pt; PADDING-LEFT: 12px; WIDTH: 640px; PADDING-RIGHT: 12px; OVERFLOW: auto; BORDER-TOP: rgb(204,204,204) 1px dashed; BORDER-RIGHT: rgb(204,204,204) 1px dashed; PADDING-TOP: 8px"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;sudo apt-get install grub2&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="FONT-WEIGHT: bold"&gt;2.&lt;/span&gt; Conectamos el USB y comprobamos cuál es su punto de montaje y su nombre de dispositivo:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="BORDER-BOTTOM: rgb(204,204,204) 1px dashed; BORDER-LEFT: rgb(204,204,204) 1px dashed; PADDING-BOTTOM: 8px; MARGIN: 0pt; PADDING-LEFT: 12px; WIDTH: 640px; PADDING-RIGHT: 12px; OVERFLOW: auto; BORDER-TOP: rgb(204,204,204) 1px dashed; BORDER-RIGHT: rgb(204,204,204) 1px dashed; PADDING-TOP: 8px"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;mount | grep /media&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-size:78%;"&gt;En la siguiente imagen aparece subrayado en amarillo el nombre de dispositivo (&lt;span style="FONT-STYLE: italic"&gt;/dev/sdb&lt;/span&gt;) y en azul el punto de montaje (&lt;span style="FONT-STYLE: italic"&gt;/media/6ABE-30DD&lt;/span&gt;):&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://2.bp.blogspot.com/-CmwEEvX2QL0/Tw1oX0qT27I/AAAAAAAAAcg/CnO8k6pdHb4/s1600/Captura1.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 204px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5696323862175931314" alt="" src="http://2.bp.blogspot.com/-CmwEEvX2QL0/Tw1oX0qT27I/AAAAAAAAAcg/CnO8k6pdHb4/s320/Captura1.png" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="FONT-WEIGHT: bold"&gt;3.&lt;/span&gt; Instalamos GRUB 2 en el USB utilizando los datos obtenidos anteriormente:&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="BORDER-BOTTOM: rgb(204,204,204) 1px dashed; BORDER-LEFT: rgb(204,204,204) 1px dashed; PADDING-BOTTOM: 8px; MARGIN: 0pt; PADDING-LEFT: 12px; WIDTH: 640px; PADDING-RIGHT: 12px; OVERFLOW: auto; BORDER-TOP: rgb(204,204,204) 1px dashed; BORDER-RIGHT: rgb(204,204,204) 1px dashed; PADDING-TOP: 8px"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;sudo grub-install --root-directory=/media/6ABE-30DD /dev/sdb --force&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://1.bp.blogspot.com/-IFHOYYNEkQE/Tw1pMWLg6pI/AAAAAAAAAcs/tbfp_tBK5zk/s1600/Captura2.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 204px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5696324764526766738" alt="" src="http://1.bp.blogspot.com/-IFHOYYNEkQE/Tw1pMWLg6pI/AAAAAAAAAcs/tbfp_tBK5zk/s320/Captura2.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-size:78%;"&gt;Observamos que en el USB se ha creado un directorio &lt;span style="FONT-STYLE: italic"&gt;boot &lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://2.bp.blogspot.com/-S2gEvEoZLiU/Tw1p0aBtehI/AAAAAAAAAc4/qnPxESHM4jM/s1600/Captura3.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 218px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5696325452754156050" alt="" src="http://2.bp.blogspot.com/-S2gEvEoZLiU/Tw1p0aBtehI/AAAAAAAAAc4/qnPxESHM4jM/s320/Captura3.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="FONT-WEIGHT: bold"&gt;4.&lt;/span&gt; Copiamos al USB las imágenes ISO que vayamos a utilizar (podemos meter cada una de ellas en un directorio o bien dejarlas en el directorio raíz del dispositivo, como hemos hecho en este caso):&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://1.bp.blogspot.com/-X0dghSfoT0M/Tw1ruaY0VhI/AAAAAAAAAdE/03K4nB6vPkI/s1600/Captura4.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 218px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5696327548795115026" alt="" src="http://1.bp.blogspot.com/-X0dghSfoT0M/Tw1ruaY0VhI/AAAAAAAAAdE/03K4nB6vPkI/s320/Captura4.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="FONT-WEIGHT: bold;font-size:78%;" &gt;5.&lt;/span&gt;&lt;span style="font-size:78%;"&gt; Entramos en el directorio &lt;/span&gt;&lt;span style="FONT-STYLE: italic;font-size:78%;" &gt;boot/grub&lt;/span&gt;&lt;span style="font-size:78%;"&gt; del USB, creamos un archivo vacío y lo renombramos como &lt;/span&gt;&lt;span style="FONT-STYLE: italic;font-size:78%;" &gt;grub.cfg&lt;/span&gt;&lt;span style="font-size:78%;"&gt; :&lt;br /&gt;&lt;/span&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://1.bp.blogspot.com/-2UjL9hhY184/Tw1swwL6gNI/AAAAAAAAAdQ/186vBm7qTXY/s1600/Captura5.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 218px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5696328688517939410" alt="" src="http://1.bp.blogspot.com/-2UjL9hhY184/Tw1swwL6gNI/AAAAAAAAAdQ/186vBm7qTXY/s320/Captura5.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="FONT-WEIGHT: bold"&gt;6.&lt;/span&gt; Editamos &lt;span style="FONT-STYLE: italic"&gt;grub.cfg&lt;/span&gt; y le añadimos una entrada (&lt;code&gt;menuentry&lt;/code&gt;) por cada ISO que queramos incluir en el menú de arranque; en este punto es imprescindible conocer la ruta completa tanto del kernel (&lt;span style="FONT-STYLE: italic"&gt;vmlinuz&lt;/span&gt;) como del disco RAM inicial (&lt;span style="FONT-STYLE: italic"&gt;initrd&lt;/span&gt;), pues ambos pueden variar en función de la distribución elegida:&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://3.bp.blogspot.com/-XaaxjvHjZo4/Tw1wad0OZmI/AAAAAAAAAdc/vO8iSDlzrkE/s1600/Captura6.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 90px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5696332703676130914" alt="" src="http://3.bp.blogspot.com/-XaaxjvHjZo4/Tw1wad0OZmI/AAAAAAAAAdc/vO8iSDlzrkE/s320/Captura6.png" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-size:78%;"&gt;* El parámetro &lt;code&gt;boot&lt;/code&gt;, que figura inmediatamente después de &lt;code&gt;/casper/vmlinuz&lt;/code&gt;, hace referencia al directorio donde se encuentra el kernel de la ISO; en este caso, &lt;code&gt;boot=casper&lt;/code&gt;, pues &lt;span style="FONT-STYLE: italic"&gt;vmlinuz&lt;/span&gt; está dentro del directorio &lt;span style="FONT-STYLE: italic"&gt;casper&lt;/span&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-size:78%;"&gt;Guardamos&lt;span style="FONT-STYLE: italic"&gt; grub.cfg&lt;/span&gt; y ya tenemos listo nuestro USB con arranque múltiple. Podemos añadir las imágenes ISO que queramos, basta con crear una &lt;code&gt;menuentry&lt;/code&gt; para cada ISO. El límite está en la capacidad de almacenamiento del dispositivo USB.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;Saludos.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-1334223454564561702?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/1334223454564561702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/1334223454564561702'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/01/arranque-multiple-con-dispositivos-usb.html' title='Arranque múltiple con dispositivos USB'/><author><name>hckorootx</name><uri>http://www.blogger.com/profile/00520963500831835524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-evO43XZ8X4I/Twy0HK7L_PI/AAAAAAAAAcI/xGZxHyvMf3w/s72-c/logo.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-3439010531418350407</id><published>2012-01-11T14:27:00.001+01:00</published><updated>2012-01-11T14:54:07.560+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3pies'/><category scheme='http://www.blogger.com/atom/ns#' term='daniel'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='descargar imagenes'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><title type='text'>Cómo descargar imagenes en Android</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a href="http://4.bp.blogspot.com/-FlB_YRZ49Ns/TwygpLfTXDI/AAAAAAAAAKo/d2igGBUiQ4g/s1600/Download.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="70" src="http://4.bp.blogspot.com/-FlB_YRZ49Ns/TwygpLfTXDI/AAAAAAAAAKo/d2igGBUiQ4g/s200/Download.png" width="70" /&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;Buenas, la semana pasada vimos como&lt;a href="http://www.nosinmiubuntu.com/2012/01/como-redondear-y-encuadrar-imagenes-con.html" target="_blank"&gt; &lt;b&gt;ponerle bordes redondeados a una imagen y hacerla cuadrada&lt;/b&gt;&lt;/a&gt;, para el ejemplo de utilización de nuestro método utilizamos una imagen ubicada como recurso en la aplicación, y nos quedo pendiente ver como obtener las&amp;nbsp;imágenes&amp;nbsp;desde un repositorio en internet. Esta semana veremos como hacer esto.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Lo primero que debéis hacer antes de nada es darle permisos de internet a nuestra aplicación,&lt;b&gt; &lt;a href="http://www.nosinmiubuntu.com/2011/12/como-reconocer-voz-con-android.html" target="_blank"&gt;esto lo hemos visto en artículos anteriores&lt;/a&gt;&lt;/b&gt;.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Ahora lo mejor es llevar los métodos que vamos a ver a una clase, yo me voy a crear una llamada &lt;b&gt;ImageManager&lt;/b&gt;. Tambien veremos como hacer todo este proceso en un hilo de ejecución diferente del de la aplicación, de esta forma las imagenes se irán descargando y el resto de la aplicación seguirá ejecutandose. Veamos el contructor y las variables que hemos de definir.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;private final Map&amp;lt;String, Drawable&amp;gt; drawableMap;&lt;br /&gt;&lt;br /&gt;final Context context;&lt;br /&gt;&lt;br /&gt;public ImageManager(Context c) {  &lt;br /&gt;     drawableMap = new HashMap&amp;lt;String, Drawable&amp;gt;();&lt;br /&gt;    context = c;&lt;br /&gt;}&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Hasta aquí todo es bastante sencillo, estamos definiendo un par de variables en la clase e inicializándolas en el constructor de la clase. Veamos ahora el método principal de la clase, el que se encargará de descargar la imagen.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;public void fetchDrawableOnThread(final String urlString, final ImageView imageView) {&lt;br /&gt;     &lt;br /&gt;    &lt;br /&gt;    final Handler handler = new Handler() {&lt;br /&gt; @Override&lt;br /&gt; public void handleMessage(Message message) {&lt;br /&gt;       imageView.setImageDrawable((Drawable) message.obj);&lt;br /&gt; }&lt;br /&gt;    };&lt;br /&gt; &lt;br /&gt;    Thread thread = new Thread() {&lt;br /&gt;  @Override&lt;br /&gt;  public void run() {&lt;br /&gt;      try{&lt;br /&gt;          Drawable drawable = fetchDrawable(urlString);&lt;br /&gt;          Message message = handler.obtainMessage(1, drawable);&lt;br /&gt;          handler.sendMessage(message);&lt;br /&gt;      } catch(Exception e){&lt;br /&gt;          imageView.setVisibility(View.GONE);&lt;br /&gt;      }&lt;br /&gt;  }&lt;br /&gt;    };&lt;br /&gt;    thread.start(); &lt;br /&gt;}&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Como veis el método no es muy extenso. Primero&amp;nbsp;definimos nuestro handler que será el encargado de procesar los mensajes del nuevo hilo de ejecución cuando nuestra imagen se haya descargado y&amp;nbsp;asignársela&amp;nbsp;al ImageView.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Después&amp;nbsp;definimos el hilo(thread), para el cual en un objeto Drawable descargaremos y convertiremos nuestra imagen con el método &lt;b&gt;fetchDrawable&lt;/b&gt;, después asociamos el objeto drawable con nuestro handler y iniciamos el nuevo hilo con el método &lt;b&gt;start&lt;/b&gt;.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt; public Drawable fetchDrawable(String urlString) {&lt;br /&gt;        if (drawableMap.containsKey(urlString)) {&lt;br /&gt;            return drawableMap.get(urlString);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        try {&lt;br /&gt;            InputStream is = fetch(urlString);&lt;br /&gt;            Drawable drawable = Drawable.createFromStream(is, "src"+urlString);&lt;br /&gt;            if (drawable != null) {&lt;br /&gt;                drawableMap.put(urlString, drawable);&lt;br /&gt;                return drawable;  &lt;br /&gt;            } else {&lt;br /&gt;             return null;&lt;br /&gt;            }         &lt;br /&gt;        } catch (MalformedURLException e) {&lt;br /&gt;           return null;&lt;br /&gt;        } catch (IOException e) {&lt;br /&gt;           return null;&lt;br /&gt;        } catch (Exception e){&lt;br /&gt;           return null;&lt;br /&gt;        }&lt;br /&gt;    }&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;El método fetchDrawable que os he puesto aquí se encarga de verificar si la URL que hemos indicado ya existe en &lt;b&gt;drawableMap&lt;/b&gt;, el cual almacena pares llave/valor, y devuelve el drawable correspondiente en caso afirmativo.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Si no teniamos la imagen la descargamos con el método fetch el cuál nos devuelve un objeto de tipo InputStream a partir del cual crearemos el objeto drawable con el método estático &lt;b&gt;createFromStream&lt;/b&gt; y lo almacenamos en drawableMap.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;private InputStream fetch(String strURL) throws IOException{&lt;br /&gt; InputStream inputStream = null;&lt;br /&gt; URL url = new URL(strURL);&lt;br /&gt; URLConnection conn = url.openConnection();&lt;br /&gt; &lt;br /&gt; try{&lt;br /&gt;  HttpURLConnection httpConn = (HttpURLConnection)conn;&lt;br /&gt;  httpConn.setRequestMethod("GET");&lt;br /&gt;  httpConn.connect();&lt;br /&gt; &lt;br /&gt;  if (httpConn.getResponseCode() == HttpURLConnection.HTTP_OK) {&lt;br /&gt;   inputStream = httpConn.getInputStream();&lt;br /&gt;  }&lt;br /&gt; }  catch (Exception ex){}&lt;br /&gt; return inputStream;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;El método fetch se encarga de abrir una conexión HTTP mediante el método GET, obtener una respuesta y devolverla en un objeto de tipo InputStream.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Hasta aquí el código de nuestra clase, ahora solamente queda utilizarla en nuestra activity, podeis recolectar cualquier imagen de internet en cualquier página, por ejemplo la nuestra haciendo botón derecho y copiando la dirección, y con unos cuantos ImageView vereis como las imagenes se van descargando. Mientras tanto al descargarse en un hilo diferente podeis realizar otras acciones en vuestra aplicación.&amp;nbsp;Os pongo un pequeño ejemplo de uso.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;ImageView imageView = (ImageView) findViewById(R.id.image);&lt;br /&gt;ImageManager imageManager = new ImageManager(this);&lt;br /&gt;imageManager.&lt;/b&gt;&lt;b&gt;fetchDrawableOnThread("http://.....", imageView);&lt;/b&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Si&amp;nbsp;queréis&amp;nbsp;que estas&amp;nbsp;imágenes&amp;nbsp;tengan una permanencia más duradera en vuestra aplicación&amp;nbsp;podéis&amp;nbsp;guardarlas en la tarjeta SD del dispositivo.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-3439010531418350407?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/3439010531418350407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/3439010531418350407'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/01/como-descargar-imagenes-en-android.html' title='Cómo descargar imagenes en Android'/><author><name>3pies</name><uri>http://www.blogger.com/profile/14470031703993523324</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-VKKxnPUlB-s/Tp77AZJHFCI/AAAAAAAAAGU/WFdJea-nTSU/s220/huella.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-FlB_YRZ49Ns/TwygpLfTXDI/AAAAAAAAAKo/d2igGBUiQ4g/s72-c/Download.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-8631999961415450305</id><published>2012-01-08T23:30:00.000+01:00</published><updated>2012-01-09T00:57:36.593+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu Oneiric Ocelot'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu 11.10'/><category scheme='http://www.blogger.com/atom/ns#' term='Escritorio'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>El Escritorio del Lector #57</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s1600/64desktop.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s1600/64desktop.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Después de un pequeño parón en lo referente a publicaciones debido a&amp;nbsp; las vacaciones navideñas,&amp;nbsp; hoy volvemos a retomar la rutina de la mejor manera posible, con vuestra sección,&lt;/span&gt;&lt;span style="font-family: arial; font-size: small;"&gt; que no es otra que&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt; &lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;a href="http://www.nosinmiubuntu.com/search/label/Escritorio"&gt;"El Escritorio del Lector"&lt;/a&gt;&lt;/b&gt;. Como bien  sabéis, aquí el&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;              protagonista puedes ser tú, tan sólo tienes que querer       mostrar     cómo es el área de trabajo donde se maneja, para que el       resto     conozcamos nuevos paquetes de iconos, temas, etc. Una muy        buena forma de     compartir vuestro trabajo a la hora de dejar lo  más       cómodo posible  el    Escritorio.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;Para inaugurar la sección este año nos visita &lt;b&gt;Christian Gaitan, &lt;/b&gt;quien nos comenta que usa&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt; &lt;b&gt;Xfce en Ubuntu&lt;/b&gt;, porque Unity consume muchos recursos, al  igual que Gnome Shell. en mi Notebook.&amp;nbsp; Además, nos describe cómo consiguió su Escritorio:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;b&gt;&lt;i style="color: #444444; font-family: &amp;quot;Helvetica Neue&amp;quot;,Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;"Desactivé los paneles de Xfce y sólo uso un dock a modo de lanzador, &lt;/span&gt;&lt;span style="font-size: small;"&gt;que se oculta automáticamente,&lt;/span&gt;&lt;span style="font-size: small;"&gt;  y desde donde gestiono las ventanas.  Además de un segundo pequeño dock con &lt;/span&gt;&lt;span style="font-size: small;"&gt;Gnome-Do&lt;/span&gt;&lt;span style="font-size: small;"&gt;, que se encuentra en el lado superior derecho con los  indicadores de sistema que siempre se mantiene visible.. El  navegador de archivos es Nautilus, y los efectos son de compiz con el  icono de compiz fusion. Así tengo un escritorio bastante ligero y  bonito.&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;"&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/-iXAS4XFE0ew/TwoiRePBo9I/AAAAAAAACEk/OgAOQkzHN68/s1600/ebjdidfg.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://2.bp.blogspot.com/-iXAS4XFE0ew/TwoiRePBo9I/AAAAAAAACEk/OgAOQkzHN68/s320/ebjdidfg.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://3.bp.blogspot.com/-9FehDcg7s4A/TwoiPLMeJaI/AAAAAAAACEc/UdmlSXVYX3k/s1600/chbdgfgd.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://3.bp.blogspot.com/-9FehDcg7s4A/TwoiPLMeJaI/AAAAAAAACEc/UdmlSXVYX3k/s320/chbdgfgd.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;S.O.: &lt;/span&gt;&lt;a href="http://www.ubuntu.com/download/ubuntu/download"&gt;Ubuntu 11.10&lt;/a&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Entorno de escritorio: &lt;/span&gt;&lt;a href="http://www.xfce.org/"&gt;Xfce&lt;/a&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Tema:&lt;/span&gt; &lt;a href="http://opendesktop.org/content/show.php/Adwaita+Elements?content=142082"&gt;Adwaita&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://opendesktop.org/content/show.php/Adwaita+Elements?content=142082"&gt; &lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Iconos:&lt;/span&gt; &lt;a href="http://gnome-look.org/content/show.php/Faenza?content=128143"&gt;Faenza&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://gnome-look.org/content/show.php/Faenza?content=128143"&gt; &lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Cursores:&lt;/span&gt; &lt;a href="http://zackleonharts.deviantart.com/art/Comix-Cursors-Blue-214355613"&gt;Comix Cursor Blue&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://zackleonharts.deviantart.com/art/Comix-Cursors-Blue-214355613"&gt; &lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Fondo:&lt;/span&gt; &lt;a href="http://jootix.com/view/1223/Maximum-BEAT-maximum-beat-1920x1200.html"&gt;Max Beat&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://jootix.com/view/1223/Maximum-BEAT-maximum-beat-1920x1200.html"&gt; &lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Dock:&lt;/span&gt; &lt;a href="http://awn.wetpaint.com/"&gt;Avant Window Navigator&lt;/a&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Desde                              aquí os animo  (algo que agradezco de     antemano)  a               participar          enviando   vuestra captura  o  capturas    con   sus         correspondientes                características,   como &lt;b&gt;Sistema Operativo, Fondo de Escritorio, Tema de Ventanas y Tema de iconos&lt;/b&gt; a&lt;b style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; nosinmiubuntublog@gmail.com&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Saludos.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-8631999961415450305?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/8631999961415450305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/8631999961415450305'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/01/el-escritorio-del-lector-57.html' title='El Escritorio del Lector #57'/><author><name>ISCARIO</name><uri>http://www.blogger.com/profile/17523670316461689984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://2.bp.blogspot.com/_Mbt2zMZyDys/STqtrR2McbI/AAAAAAAAABQ/txJZBXAnzx8/S220/wall_bsod.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s72-c/64desktop.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-2082465500623868579</id><published>2012-01-04T11:54:00.003+01:00</published><updated>2012-01-09T00:30:24.404+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3pies'/><category scheme='http://www.blogger.com/atom/ns#' term='daniel'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='redondear y encuadrar imagenes'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><title type='text'>Cómo redondear y encuadrar imagenes con Android</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a href="http://4.bp.blogspot.com/-dD19McDW27I/TwQvlYDfbII/AAAAAAAAAKg/G9iXx3ai7m0/s1600/gnome-graphics.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-dD19McDW27I/TwQvlYDfbII/AAAAAAAAAKg/G9iXx3ai7m0/s1600/gnome-graphics.png" /&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;Buenas, cómo todos los miercoles vuelvo por nosinmiubuntu. Durante estas últimas semanas he ido publicando algunos trucos o técnicas que no se suelen encontrar en los manuales al uso de Android, sino que se encuentran a base de buscar y buscar en foros. Hoy voy a seguir con esa tónica y voy a hablaros de como redondear los bordes de una imagen y encuadrarla.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Bien, la cosa es muy sencilla, cogemos una imagen ya sea en nuestra aplicación, en la tarjeta SD o&amp;nbsp;descargándola, redondeamos los bordes de esta para que no tenga un aspecto tan&amp;nbsp;frío&amp;nbsp;con esos bordes cuadrados y se la mostramos al usuario por pantalla.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;public static Bitmap getRoundedCornerBitmap( Drawable drawable, boolean square) {&lt;br /&gt;     int width = 0;&lt;br /&gt;     int height = 0;&lt;br /&gt;     &lt;br /&gt;     Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap() ;&lt;br /&gt;     &lt;br /&gt;     if(square){&lt;br /&gt;      if(bitmap.getWidth() &amp;lt; bitmap.getHeight()){&lt;br /&gt;       width = bitmap.getWidth();&lt;br /&gt;       height = bitmap.getWidth();&lt;br /&gt;      } else {&lt;br /&gt;       width = bitmap.getHeight();&lt;br /&gt;          height = bitmap.getHeight();&lt;br /&gt;      }&lt;br /&gt;     } else {&lt;br /&gt;      height = bitmap.getHeight();&lt;br /&gt;      width = bitmap.getWidth();&lt;br /&gt;     }&lt;br /&gt;     &lt;br /&gt;        Bitmap output = Bitmap.createBitmap(width, height, Config.ARGB_8888);&lt;br /&gt;        Canvas canvas = new Canvas(output);&lt;br /&gt;&lt;br /&gt;        final int color = 0xff424242;&lt;br /&gt;        final Paint paint = new Paint();&lt;br /&gt;        final Rect rect = new Rect(0, 0, width, height);&lt;br /&gt;        final RectF rectF = new RectF(rect);&lt;br /&gt;        final float roundPx = 90; &lt;br /&gt;&lt;br /&gt;        paint.setAntiAlias(true);&lt;br /&gt;        canvas.drawARGB(0, 0, 0, 0);&lt;br /&gt;        paint.setColor(color);&lt;br /&gt;        canvas.drawRoundRect(rectF, roundPx, roundPx, paint);&lt;br /&gt;&lt;br /&gt;        paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));&lt;br /&gt;        canvas.drawBitmap(bitmap, rect, rect, paint);&lt;br /&gt;&lt;br /&gt;        return output;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Para hacer el efecto que os he descrito solo&amp;nbsp;necesitáis&amp;nbsp;este método, este recibirá como parámetros un objeto Drawable que es la imagen que vamos a tratar y ademas un boolean que lo que va a hacer es hacer cuadrada la imagen o no. Esto es muy útil cuando no sabemos los tamaños de las&amp;nbsp;imágenes&amp;nbsp;que vamos a tratar y decimos que todas irán cuadradas para no perjudicar el diseño de la aplicación.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;El método comienza convirtiendo a Bitmap nuestra imagen, despues de eso, si la imagen va a ser cuadrada cogemos el menor de los tamaños para el ancho y alto.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Luego creamos un nuevo Bitmap con las dimensiones antes calculadas, y un lienzo (canvas) donde haremos el efecto redondeado. canvas lo instanciamos con el Bitmap output sobre el que realizará los cambios y finalmente devolverá este bitmap modificado.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Aquí lo realmente importante es la variable &lt;b&gt;roundPx&lt;/b&gt; la cual nos dará el ángulo de curvatura de nuestros bordes, cuanto más grande sea, más redondeada será la foto.&amp;nbsp;Podéis&amp;nbsp;hacer que sea totalmente redonda si&amp;nbsp;ponéis&amp;nbsp;el valor a 360 y&amp;nbsp;hacéis&amp;nbsp;que sea cuadrada la foto.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Una vez se aplican todos los efectos, el objeto canvas pinta el bitmap con todas las configuraciones tomando como base bitmap y devolviendo output.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Veamos ahora como utilizar este método, en primer lugar, el método lo podeis poner en vuestra activity principal para hacer pruebas por simplicidad, pero lo mejor siempre es que os lleveis este método a una clase para poder utilizarlo con más comodidad en toda vuestra aplicación.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;ImageView imageView = new ImageView(this);&lt;br /&gt;imageView.setImageBitmap(getRoundedCornerBitmap(getResources().getDrawable(R.id.image), true));&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;En nuestro layout definimos un objeto ImageView que llamaremos imageView y en nuestro activity antes de nada inicializamos este objeto,&amp;nbsp;después&amp;nbsp;seteamos directamente la imagen llamando a nuestro método de redondear imagenes. El objeto drawable lo obtenemos gracias a getResources y getDrawable, al cual le indicamos una imagen cualquiera de nuestra aplicación (las que están en la carpeta drawable).&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Esta vez la imagen utilizada está guardada previamente en nuestra aplicación y lo cierto es que podríamos editarla nosotros y nos ahorraríamos este esfuerzo innecesario, lo realmente interesante sería disponer de un repositorio de imagenes en un servidor y nutrirnos de él para enriquecer nuestra aplicación. En próximas entregas veremos como descargar una imagen para que las&amp;nbsp;podáis&amp;nbsp;utilizar en vuestras&amp;nbsp;aplicaciones. Por el momento espero que os haya sido útil este truco.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-2082465500623868579?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/2082465500623868579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/2082465500623868579'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2012/01/como-redondear-y-encuadrar-imagenes-con.html' title='Cómo redondear y encuadrar imagenes con Android'/><author><name>3pies</name><uri>http://www.blogger.com/profile/14470031703993523324</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-VKKxnPUlB-s/Tp77AZJHFCI/AAAAAAAAAGU/WFdJea-nTSU/s220/huella.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-dD19McDW27I/TwQvlYDfbII/AAAAAAAAAKg/G9iXx3ai7m0/s72-c/gnome-graphics.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-2571845640501544448</id><published>2011-12-28T13:23:00.001+01:00</published><updated>2011-12-28T16:02:59.119+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3pies'/><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='seleccionar foto'/><category scheme='http://www.blogger.com/atom/ns#' term='daniel'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><category scheme='http://www.blogger.com/atom/ns#' term='camara'/><title type='text'>Seleccionando imagenes en Android (estilo Facebook)</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a href="http://4.bp.blogspot.com/-tohEnEDDURA/TvrYPlP8JTI/AAAAAAAAAKU/vIpHgyDSE44/s1600/button_camara_off.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-tohEnEDDURA/TvrYPlP8JTI/AAAAAAAAAKU/vIpHgyDSE44/s1600/button_camara_off.png" /&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;Buenas, esta semana vamos a ver como seleccionar imagenes para nuestra aplicación. El proceso es el mismo que podemos ver en aplicaciones tan conocidas como Facebook, Twitter, etc... presentes en nuestros teléfonos móviles, y porque no, también en vuestras aplicaciones a partir de ahora si&amp;nbsp;queréis.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Empiezo explicandoos un poco el proceso, este es muy simple, y tiene que ver un poco con lo que vimos la semana pasada, &lt;a href="http://www.nosinmiubuntu.com/2011/12/como-reconocer-voz-con-android.html" target="_blank"&gt;&lt;b&gt;reconocer voz en Android&lt;/b&gt;&lt;/a&gt;. Tenemos un botón el cual abre una ventana de dialogo y nos pregunta si queremos hacer una foto o elegirla de la galeria. En función de lo que elegimos, lanzaremos un Intent (acción) del sistema de Android u otra. Una llamará al programa que gestiona la galería y otro al que gestiona la&amp;nbsp;cámara.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Una vez hecha la foto o seleccionada, se devolverá un resultado, el cual capturamos en onActivityResult y nos devolverá en uno de sus parámetros la dirección URI de la foto, la cual trataremos como mejor nos convenga. Vamos entonces a ver como hacerlo.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Abrimos el activity principal de nuestro proyecto, insertais los siguientes objetos en el layout y los inicializais antes de nada, un Button, ImageView y TextView a los cuales yo llamaré btnPhoto, imgPhoto y lblPhoto. No os pongo el código para esto ya que hemos visto como hacer esto en artículos anteriores. Seteamos el click de nuestro botón para que lance la ventana de diálogo para seleccionar entre hacer una foto o seleccionarla.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;btnPhoto.setOnClickListener(new OnClickListener() {   &lt;br /&gt; public void onClick(View v) {&lt;br /&gt;  dialogPhoto();&lt;br /&gt; }&lt;br /&gt;}); &lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Y aquí está el código que abre la ventana de diálogo:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;br /&gt;private int SELECT_IMAGE = 237487;&lt;br /&gt;private int TAKE_PICTURE = 829038;&lt;br /&gt;&lt;br /&gt;private void dialogPhoto(){&lt;br /&gt;     try{&lt;br /&gt;  final CharSequence[] items = {"Seleccionar de la galería", "Hacer una foto"};&lt;br /&gt;&lt;br /&gt;  AlertDialog.Builder builder = new AlertDialog.Builder(this);&lt;br /&gt;  builder.setTitle("Seleccionar una foto");&lt;br /&gt;  builder.setItems(items, new DialogInterface.OnClickListener() {&lt;br /&gt;    public void onClick(DialogInterface dialog, int item) {&lt;br /&gt;      switch(item){&lt;br /&gt;       case 0:&lt;br /&gt;     Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);&lt;br /&gt;     intent.setType("image/*");&lt;br /&gt;     startActivityForResult(intent, SELECT_IMAGE);   &lt;br /&gt;     break;&lt;br /&gt;       case 1:&lt;br /&gt;     startActivityForResult(new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE), TAKE_PICTURE);&lt;br /&gt;     break;&lt;br /&gt;      }&lt;br /&gt;            &lt;br /&gt;    }&lt;br /&gt;  });&lt;br /&gt;  AlertDialog alert = builder.create();&lt;br /&gt;  alert.show(); &lt;br /&gt;     } catch(Exception e){}&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Lo primero que se hace es definir dos variables para poder identificar en el onActivityResult que intent se lanzó. Ya en el método, definimos en un array las dos opciones de la ventana. Contruimos la ventana de diálogo dandolo un título y añadiendo las opciones que mostraremos. También definimos el click para cada uno de los items, y con el switch decidimos que sucederá en cada caso.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;En los dos casos llamamos a un Intent del sistema, y mediante el método startActivityForResult hacemos la llamada pasandole como segundo parámetro cada una de las variables que definimos al principio.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;En el caso de la selección de foto, le indicamos el tipo para que solo seleccione imagenes, en caso contrario podría seleccionar cualquier archivo.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Vamos a ver que es lo que debemos hacer una vez que el usuario haya seleccionado una foto. Ahora debemos sobreescribir el método onActivityResult de nuestra activity. Os muestro como:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;@Override&lt;br /&gt;    public void onActivityResult(int requestCode, int resultCode, Intent data) {&lt;br /&gt;      super.onActivityResult(requestCode, resultCode, data);&lt;br /&gt;          &lt;br /&gt;      try{&lt;br /&gt; if (requestCode == SELECT_IMAGE)&lt;br /&gt;    if (resultCode == Activity.RESULT_OK) {&lt;br /&gt;      Uri selectedImage = data.getData();&lt;br /&gt;      lblPhoto.setText(getPath(selectedImage));&lt;br /&gt;             imgPhoto.setImageURI(selectedImage); &lt;br /&gt;            } &lt;br /&gt;        if(requestCode == TAKE_PICTURE)&lt;br /&gt;    if(resultCode == Activity.RESULT_OK){&lt;br /&gt;      Uri selectedImage = data.getData();&lt;br /&gt;      lblPhoto.setText(getPath(selectedImage));  &lt;br /&gt;             imgPhoto.setImageURI(selectedImage); &lt;br /&gt;            }&lt;br /&gt;      } catch(Exception e){}&lt;br /&gt;    }   &lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Como podeis ver el método es muy sencillo, verificamos que acción estamos recogiendo y si todo fue bien, en ese caso, obtenemos la imagen en una dirección URI. En el caso de la etiqueta parseamos la dirección con el método getPath que os mostraré ahora, y en el caso de la imagen, seteamos la imagen con el método setImageUri.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Os pongo ahora que haría el método getPath:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;private String getPath(Uri uri) {&lt;br /&gt; String[] projection = { android.provider.MediaStore.Images.Media.DATA };&lt;br /&gt; Cursor cursor = managedQuery(uri, projection, null, null, null);&lt;br /&gt; int column_index = cursor.getColumnIndexOrThrow(android.provider.MediaStore.Images.Media.DATA);&lt;br /&gt; cursor.moveToFirst();&lt;br /&gt; return cursor.getString(column_index);&lt;br /&gt;   }&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Como veis, estamos parseando la dirección URI a una String, la cual devolvemos al final.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Y así acabamos de seleccionar imagenes. Como veis no es muy complicado implementarlo en vuestras aplicaciones y seguro que dará mucho juego en vuestros desarrollos. Hasta la semana que viene.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;P.D: Feliz día de los santos inocentes.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-2571845640501544448?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/2571845640501544448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/2571845640501544448'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2011/12/seleccionando-imagenes-en-android.html' title='Seleccionando imagenes en Android (estilo Facebook)'/><author><name>3pies</name><uri>http://www.blogger.com/profile/14470031703993523324</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-VKKxnPUlB-s/Tp77AZJHFCI/AAAAAAAAAGU/WFdJea-nTSU/s220/huella.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-tohEnEDDURA/TvrYPlP8JTI/AAAAAAAAAKU/vIpHgyDSE44/s72-c/button_camara_off.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-7626448936821834227</id><published>2011-12-22T00:05:00.000+01:00</published><updated>2011-12-22T00:05:00.285+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unity'/><category scheme='http://www.blogger.com/atom/ns#' term='Script'/><category scheme='http://www.blogger.com/atom/ns#' term='hckorootx'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='lanzador'/><title type='text'>Script para crear lanzadores personalizados</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-EHGq3pVi-c0/TvDjmW6Or7I/AAAAAAAAAbM/yWl560gF7uc/s1600/logo.jpeg"&gt;&lt;img style="MARGIN: 0pt 10px 10px 0pt; WIDTH: 72px; FLOAT: left; HEIGHT: 72px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5688296577493282738" alt="" src="http://2.bp.blogspot.com/-EHGq3pVi-c0/TvDjmW6Or7I/AAAAAAAAAbM/yWl560gF7uc/s320/logo.jpeg" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;Hace un tiempo publicamos una &lt;a href="http://www.nosinmiubuntu.com/2011/09/anadir-un-icono-personalizado-al.html"&gt;entrada&lt;/a&gt; en la que se explicaba cómo crear, de forma manual, &lt;span style="FONT-WEIGHT: bold"&gt;lanzadores personalizados para Unity&lt;/span&gt;. En este caso, vamos a ver un sencillo &lt;span style="FONT-WEIGHT: bold"&gt;script&lt;/span&gt; que nos permite automatizar dicha tarea; únicamente tendremos que facilitarle los siguientes datos:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:78%;"&gt;- Nombre del lanzador (ej: &lt;span style="FONT-STYLE: italic"&gt;Eclipse&lt;/span&gt;).&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;- Ruta completa del archivo ejecutable (ej: &lt;span style="FONT-STYLE: italic"&gt;/home/miusuario/eclipse/eclipse&lt;/span&gt;).&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;- Ruta completa del archivo de icono (ej: &lt;/span&gt;&lt;span style="FONT-STYLE: italic;font-size:78%;" &gt;/home/miusuario/eclipse/icon.xpm&lt;/span&gt;&lt;span style="font-size:78%;"&gt;).&lt;/span&gt;&lt;/div&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;El código del script es el siguiente:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;pre style="BORDER-BOTTOM: rgb(204,204,204) 1px dashed; BORDER-LEFT: rgb(204,204,204) 1px dashed; PADDING-BOTTOM: 8px; MARGIN: 0pt; PADDING-LEFT: 12px; WIDTH: 640px; PADDING-RIGHT: 12px; OVERFLOW: auto; BORDER-TOP: rgb(204,204,204) 1px dashed; BORDER-RIGHT: rgb(204,204,204) 1px dashed; PADDING-TOP: 8px"&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;read -p "Nombre del lanzador: " NOMBRE                      # Se nos pide el nombre del lanzador.&lt;br /&gt;if [ -e /usr/share/applications/$NOMBRE.desktop ]; then     # Si el lanzador ya existe...&lt;br /&gt; echo "ERROR: El lanzador ya existe.  Abortado."&lt;br /&gt; exit                                                # ...salimos del script.&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;read -p "Ruta completa del archivo ejecutable: " RUTAEXE    # Se nos pide la ruta completa del archivo ejecutable.&lt;br /&gt;if [ ! -e $RUTAEXE ]; then                                  # Si el archivo ejecutable no existe...&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt; echo "ERROR: El archivo no existe.  Abortado."&lt;br /&gt; exit                                                # ...salimos del script.&lt;br /&gt;elif [ ! -x $RUTAEXE ]; then                                # O si el archivo no es ejecutable...&lt;br /&gt; echo "ERROR: El archivo no es ejecutable.  Abortado."&lt;br /&gt; exit                                                # ...salimos del script.&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;read -p "Ruta completa del archivo de icono: " RUTAICO      # Se nos pide la ruta completa del archivo de icono.&lt;br /&gt;if [ ! -e $RUTAICO ]; then                                  # Si el archivo de icono no existe...&lt;br /&gt; echo "ERROR: El archivo no existe.  Abortado."&lt;br /&gt; exit                                                # ...salimos del script.&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;echo "[Desktop Entry]" &amp;gt; $NOMBRE.desktop                    # Creamos el archivo lanzador&lt;br /&gt;echo "Type=Application" &amp;gt;&amp;gt; $NOMBRE.desktop                  # escribiendo en él los datos&lt;br /&gt;echo "Terminal=false" &amp;gt;&amp;gt; $NOMBRE.desktop                    # anteriormente facilitados.&lt;br /&gt;echo "Name=$NOMBRE" &amp;gt;&amp;gt; $NOMBRE.desktop&lt;br /&gt;echo "Exec=$RUTAEXE" &amp;gt;&amp;gt; $NOMBRE.desktop&lt;br /&gt;echo "Icon=$RUTAICO" &amp;gt;&amp;gt; $NOMBRE.desktop&lt;br /&gt;&lt;br /&gt;echo "Lanzador creado."&lt;br /&gt;echo "Ahora se moverá al directorio '/usr/share/applications/'."&lt;br /&gt;echo "Introduce tu contraseña de 'root' si es necesario."&lt;br /&gt;&lt;br /&gt;sudo chown root:root $NOMBRE.desktop                        # Hacemos que el lanzador pertenezca a root&lt;br /&gt;sudo mv $NOMBRE.desktop /usr/share/applications/            # y lo enviamos al directorio de los lanzadores.&lt;br /&gt;&lt;br /&gt;read -n 1 -p "Finalizado.  Pulsa una tecla para salir..."&lt;br /&gt;echo ""&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:78%;"&gt;Para poder hace uso de este script, debemos guardar su código en un archivo y darle permiso de ejecución. Yo le he llamado &lt;span style="FONT-STYLE: italic"&gt;lanzpers.sh&lt;/span&gt; y le he otorgado dicho permiso desde la terminal con &lt;span style="FONT-STYLE: italic"&gt;chmod +x lanzpers.sh&lt;/span&gt; .  En la siguiente captura tenemos un ejemplo de ejecución:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;&lt;span style="font-size:78%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-ze-cY4WMegE/TvHH9oRXgkI/AAAAAAAAAbk/EA-zzCHCupU/s1600/Captura1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 230px;" src="http://1.bp.blogspot.com/-ze-cY4WMegE/TvHH9oRXgkI/AAAAAAAAAbk/EA-zzCHCupU/s320/Captura1.png" alt="" id="BLOGGER_PHOTO_ID_5688547665941856834" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;Comprobamos que el contenido del lanzador recién creado es el correcto:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://1.bp.blogspot.com/--FPAyu5xsxM/TvHJBPrdyhI/AAAAAAAAAbw/T3T-DgLM8_A/s1600/Captura2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 230px;" src="http://1.bp.blogspot.com/--FPAyu5xsxM/TvHJBPrdyhI/AAAAAAAAAbw/T3T-DgLM8_A/s320/Captura2.png" alt="" id="BLOGGER_PHOTO_ID_5688548827571538450" border="0" /&gt;&lt;/a&gt;Lo más cómodo es poder utilizar el script sin abrir una terminal.  Para ello, sólo tenemos que activar la ejecución de archivos de texto en &lt;span style="font-style: italic;"&gt;Nautilus - Editar - Preferencias&lt;/span&gt;; cualquiera de las dos opciones marcadas en verde es válida:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-mLRtAldPv14/TvHJzNraNuI/AAAAAAAAAb8/M5lML90fVYk/s1600/Captura3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 261px; height: 320px;" src="http://2.bp.blogspot.com/-mLRtAldPv14/TvHJzNraNuI/AAAAAAAAAb8/M5lML90fVYk/s320/Captura3.png" alt="" id="BLOGGER_PHOTO_ID_5688549686027892450" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;Saludos.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-7626448936821834227?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.nosinmiubuntu.com/feeds/7626448936821834227/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8847417749346587759&amp;postID=7626448936821834227&amp;isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/7626448936821834227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/7626448936821834227'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2011/12/script-para-crear-lanzadores.html' title='Script para crear lanzadores personalizados'/><author><name>hckorootx</name><uri>http://www.blogger.com/profile/00520963500831835524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-EHGq3pVi-c0/TvDjmW6Or7I/AAAAAAAAAbM/yWl560gF7uc/s72-c/logo.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-7789358025757003463</id><published>2011-12-20T23:13:00.003+01:00</published><updated>2011-12-28T16:06:54.813+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3pies'/><category scheme='http://www.blogger.com/atom/ns#' term='daniel'/><category scheme='http://www.blogger.com/atom/ns#' term='reconocimiento de voz'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><title type='text'>Cómo reconocer voz con Android</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-G_myYqBFk5o/TvGol67Pi2I/AAAAAAAAAKI/tEcNNNqwD-M/s1600/Chat.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-G_myYqBFk5o/TvGol67Pi2I/AAAAAAAAAKI/tEcNNNqwD-M/s1600/Chat.png" style="height: 96px;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt; Buenas, esta semana vamos a ver como reconocer comandos de voz en nuestra aplicación. Android trae implementado el reconocimiento de voz en su API por lo que no es necesario hacer una gran aplicación para poder disponer de esta funcionalidad.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;Para empezar lo que necesitamos es decirle a nuestra aplicación cuales son los permisos que necesitará. Si os acordais, la semana pasada vimos como dar permisos en el archivo &lt;b&gt;AndroidManifest.xml&lt;/b&gt;. Esta semana daremos permisos para poder acceder a internet. Para ello debemos añadir la siguiente línea dentro del archivo antes mencionado:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="background-color: transparent;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b id="internal-source-marker_0.5327377456706017"&gt;&lt;span style="background-color: transparent; font-family: inherit; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&amp;lt;uses-permission android:name="android.permission.INTERNET" /&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="background-color: transparent;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;Una vez hecho este paso previo vamos a implementar el reconocimiento de voz. Para ello abrimos nuestra activity principal e incluimos el siguiente código:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;div style="background-color: transparent; white-space: normal;"&gt;&lt;span style="font-size: small;"&gt;&lt;b id="internal-source-marker_0.5327377456706017"&gt;&lt;span style="background-color: transparent; font-family: inherit; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;private static final int VOICE_RECOGNITION_REQUEST_CODE = 1234;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; white-space: normal;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="background-color: transparent; font-family: inherit; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Private Button btnVoice;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="background-color: transparent; font-family: inherit; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit; font-size: small; white-space: pre-wrap;"&gt;&lt;b&gt;private void inicializarReconocimiento(){&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; white-space: normal;"&gt;&lt;span style="font-size: small;"&gt;&lt;b style="white-space: pre-wrap;"&gt;&lt;span style="font-family: inherit;"&gt;btnVoice = (Button) findViewById(R.id.btnVoice);&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; white-space: normal;"&gt;&lt;div style="background-color: transparent;"&gt;&lt;span style="font-size: small;"&gt;&lt;b id="internal-source-marker_0.5327377456706017"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: transparent; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;PackageManager pm = getPackageManager();&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: transparent; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;List&amp;lt;ResolveInfo&amp;gt; activities = pm.queryIntentActivities(&lt;/span&gt;&lt;span style="background-color: transparent; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;new                    Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: transparent; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;  if (activities.size() != 0) {&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: transparent; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;    btnVoice.setOnClickListener(new OnClickListener() {&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: transparent; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;       public void onClick(View v) {&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: transparent; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;          startVoiceRecognitionActivity();&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: transparent; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;       }&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: transparent; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;    });&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: transparent; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;  } &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="background-color: transparent; white-space: normal;"&gt;&lt;span style="font-size: small;"&gt;&lt;b style="white-space: pre-wrap;"&gt;&lt;span style="font-family: inherit;"&gt;}&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;div style="background-color: transparent;"&gt;&lt;div style="background-color: transparent;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit; font-size: small; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit; font-size: small; white-space: pre-wrap;"&gt;Lo que estamos haciendo aquí es inicializar un botón para poder lanzar el reconocimiento y comprobando que está disponible este servicio en el dispositivo. Vamos a ver que es lo que hace el método &lt;b&gt;startVoiceRecognitionActivity&lt;/b&gt; que lanza nuestro botón.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="background-color: transparent;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit; font-size: small; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span id="internal-source-marker_0.5327377456706017" style="font-family: inherit; font-size: small; white-space: normal;"&gt;&lt;b&gt;&lt;span style="background-color: transparent; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;private void startVoiceRecognitionActivity() {&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family: inherit; font-size: small; white-space: normal;"&gt;&lt;b&gt;&lt;span style="text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;b style="font-family: inherit; white-space: normal;"&gt;&lt;span style="text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Intent&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;b style="font-family: inherit; white-space: normal;"&gt;&lt;span style="text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);&lt;/span&gt;&lt;br /&gt;&lt;span style="text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,&lt;/span&gt;&lt;br /&gt;&lt;span style="text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);&lt;/span&gt;&lt;br /&gt;&lt;span style="text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "");&lt;/span&gt;&lt;br /&gt;&lt;span style="text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);&lt;/span&gt;&lt;br /&gt;&lt;span style="text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="background-color: transparent;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="background-color: transparent; font-family: inherit; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Como veis, el método es muy sencillo . Lo que hace es llamar al intent correspondiente del reconocimiento, abriendo una nueva actividad que devolverá un resultado, en este caso devolverá los posibles resultados. Tambien le pasamos la variable &lt;/span&gt;&lt;span style="background-color: transparent; font-family: inherit; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;VOICE_RECOGNITION_REQUEST_CODE&lt;/span&gt;&lt;span style="background-color: transparent; font-family: inherit; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; que luego utilizaremos en el método onActivityResult. Esto veremos ahora para que sirve.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="background-color: transparent;"&gt;&lt;div style="background-color: transparent;"&gt;&lt;span style="font-family: inherit; font-size: small; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent;"&gt;&lt;div style="background-color: transparent;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;div style="background-color: transparent; white-space: normal;"&gt;&lt;span style="font-size: small;"&gt;&lt;b id="internal-source-marker_0.5327377456706017"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: transparent; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;@Override&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent;"&gt;&lt;div style="background-color: transparent;"&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;&lt;span id="internal-source-marker_0.5327377456706017" style="white-space: normal;"&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;protected void onActivityResult(int requestCode, int resultCode, Intent data) {&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;&lt;span style="white-space: normal;"&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; if (requestCode == VOICE_RECOGNITION_REQUEST_CODE &amp;amp;&amp;amp; resultCode == RESULT_OK) {&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="white-space: normal;"&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&amp;nbsp; ArrayList&amp;lt;String&amp;gt; matches = data.getStringArrayListExtra(&lt;/span&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;RecognizerIntent.EXTRA_RESULTS);&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;&lt;span style="white-space: normal;"&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;  final CharSequence[] items = new CharSequence[matches.size()];&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;&lt;span style="white-space: normal;"&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;  for(int i = 0; i &amp;lt; matches.size(); i++){&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;&lt;span style="white-space: normal;"&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;    items[i] = matches.get(i);&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;&lt;span style="white-space: normal;"&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;&lt;span style="white-space: normal;"&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;  AlertDialog.Builder builder = new AlertDialog.Builder(this);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;  builder.setTitle(selectResult);&lt;/span&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;&lt;span style="white-space: normal;"&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;builder.setItems(items, new DialogInterface.OnClickListener() {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;    public void onClick(DialogInterface dialog, int item) {&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; txtSearch.setText(items[item].toString());&lt;/span&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;     }&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;});&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;&lt;span style="white-space: normal;"&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;  AlertDialog alert = builder.create();&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;&lt;span style="white-space: normal;"&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;  alert.show();&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;&lt;span style="white-space: normal;"&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;&lt;span style="white-space: normal;"&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; super.onActivityResult(requestCode, resultCode, data);&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;&lt;span style="white-space: normal;"&gt;&lt;span style="background-color: transparent; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="background-color: transparent; font-family: inherit; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Lo que estamos haciendo ahora es sobreescribir el método &lt;/span&gt;&lt;span style="background-color: transparent; font-family: inherit; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;OnActivityResult&lt;/span&gt;&lt;span style="background-color: transparent; font-family: inherit; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; de nuestro activity. Este método es lanzado cuando una activity secundaria que hemos lanzado desde nuestra activity principal devuelve un resultado . Por ejemplo, después de reconocer lo que hemos dicho, devolverá un resultado con las posibles frases que ha reconocido el servicio.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="background-color: transparent; font-family: inherit; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="background-color: transparent; font-family: inherit; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Lo primero que hacemos es verificar el &lt;/span&gt;&lt;span style="background-color: transparent; font-family: inherit; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;resultCode&lt;/span&gt;&lt;span style="background-color: transparent; font-family: inherit; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; que es una especie de identificador para saber de que activity proviene el resultado. Es para esto para lo que utilizamos la variable anterior.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="background-color: transparent;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="background-color: transparent; font-family: inherit; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;También verificamos que el resultado de nuestra activity secundaria ha sido satisfactorio con &lt;/span&gt;&lt;span style="background-color: transparent; font-family: inherit; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;resultCode&lt;/span&gt;&lt;span style="background-color: transparent; font-family: inherit; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="background-color: transparent; font-family: inherit; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="background-color: transparent;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="background-color: transparent; font-family: inherit; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Una vez hechas las comprobaciones parseamos los resultados que en este caso va a ser una lista de frases y los cuales podemos mostrar con un AlertDialog por ejemplo. En este seleccionamos un resultado y lo seteamos en un TextView, txtSearch. A partir de aquí el como se utilicen los resultados ya es cosa de cada uno.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-7789358025757003463?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/7789358025757003463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/7789358025757003463'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2011/12/como-reconocer-voz-con-android.html' title='Cómo reconocer voz con Android'/><author><name>3pies</name><uri>http://www.blogger.com/profile/14470031703993523324</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-VKKxnPUlB-s/Tp77AZJHFCI/AAAAAAAAAGU/WFdJea-nTSU/s220/huella.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-G_myYqBFk5o/TvGol67Pi2I/AAAAAAAAAKI/tEcNNNqwD-M/s72-c/Chat.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-6666461124126649704</id><published>2011-12-20T14:00:00.048+01:00</published><updated>2011-12-20T16:08:02.739+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wussuo'/><category scheme='http://www.blogger.com/atom/ns#' term='servidor'/><category scheme='http://www.blogger.com/atom/ns#' term='IP'/><category scheme='http://www.blogger.com/atom/ns#' term='DNS'/><category scheme='http://www.blogger.com/atom/ns#' term='internet'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='BIND9'/><title type='text'>Guía para crear un Servidor DNS en Ubuntu Parte 2</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-RQPr4vqSGao/Tu2-LQ5edaI/AAAAAAAAAPE/blZ6JE2RGs8/s1600/server-icone-4693-96.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-RQPr4vqSGao/Tu2-LQ5edaI/AAAAAAAAAPE/blZ6JE2RGs8/s1600/server-icone-4693-96.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Continuamos con la guía para tener nuestro propio &lt;b&gt;servidor DNS&lt;/b&gt; en nuestro ordenador ubuntu. Para proseguir, debes tener realizada la &lt;a href="http://www.nosinmiubuntu.com/2011/12/guia-para-crear-un-servidor-dns-en.html" target="_blank"&gt;primera parte&lt;/a&gt; de este tutorial, y ya damos por supuesto que tenemos conocimientos mínimos de DNS, sino aquí puedes obtener unas &lt;a href="http://www.nosinmiubuntu.com/2011/12/nuestros-amigos-los-dns.html" target="_blank"&gt;referencias&lt;/a&gt; muy simples sobre estos amigos nuestros.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;La semana pasada habíamos instalado el software de servidor DNS &lt;i&gt;"&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;BIND9&lt;/span&gt;"&lt;/i&gt; y el módulo para &lt;a href="http://www.nosinmiubuntu.com/2011/11/webmin-administra-tu-sistema-mediante.html" target="_blank"&gt;webmin&lt;/a&gt; y así poder administrarlo más fácilmente.&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #38761d;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #38761d;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;¿Qué vamos a hacer?&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style="color: black;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Zona Primaria&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Creación de zona de búsqueda directa.&lt;/span&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Creación de zona de búsqueda inversa.&lt;/span&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Creación de registros para ambas zonas.&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Segunda parte&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Al iniciar webmin entraremos en la pestaña de servidores, y ahí le daremos a Servidor de DNS BIND, y obtendremos algo como esto:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/-hx66U_CNgSw/Tu3GCYyEBkI/AAAAAAAAAPM/X7cNeCKeLoA/s1600/IMAGEN7.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="305" src="http://2.bp.blogspot.com/-hx66U_CNgSw/Tu3GCYyEBkI/AAAAAAAAAPM/X7cNeCKeLoA/s640/IMAGEN7.png" style="cursor: move;" width="640" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b style="color: #38761d;"&gt;Crear una zona primaria (o maestra)&lt;/b&gt; &lt;b style="background-color: white; color: #38761d;"&gt;de búsqueda directa&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Lo primero que debemos hacer es crear una Zona Primaria, que es la más importante, es capaz de leer y escribir en el servidor los nombres y las direcciones.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Así que nos dirigimos a la zona inferior de la página y nos fijamos en la parte denominada: Zonas DNS Existentes. Aquí vemos que hay varias zonas creadas por defecto:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;u&gt;Zona Raíz:&lt;/u&gt;&lt;/b&gt; Sirve para poder resolver nombres que no estén en el propio servidor DNS, normalmente este servidor raíz es el de Internet.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;u&gt;0,127,255 y localhost&lt;/u&gt;&lt;/b&gt;: Son Zonas maestras para controlar el trabajo en la máquina o "localhost", por lo cual no es recomendable tocarlos.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Pero nosotros vamos a crear una para nuestros propósitos, personalizable y posteriormente modificable sin excesivo riesgo.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Así que seleccionamos &lt;b&gt;"Crear una nueva zona maestra"&lt;/b&gt;&lt;i&gt; (Sí, yo también me he fijado que en webmin tiene un error tipográfico)&lt;/i&gt;. Y nos aparecerá una nueva página de configuración de nuestra Zona Maestra.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://4.bp.blogspot.com/-mPJV8p7Y5tY/Tu3uqTR7ttI/AAAAAAAAAPU/yWc-_pECYW0/s1600/IMAGEN1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="232" src="http://4.bp.blogspot.com/-mPJV8p7Y5tY/Tu3uqTR7ttI/AAAAAAAAAPU/yWc-_pECYW0/s640/IMAGEN1.png" width="640" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Una vez aquí, tenemos que poner obligatoriamente &lt;b&gt;cuatro&lt;/b&gt; de todos los &lt;b&gt;campos&lt;/b&gt; propuestos:&lt;/span&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Debemos elegir el &lt;b&gt;tipo de zona&lt;/b&gt;, que en este caso como es Zona Primaria de búsqueda directa, es decir, traducirá nombres en direcciones IP.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Le daremos un &lt;b&gt;nombre a la zona maestra&lt;/b&gt;, en mi caso: "nosinmiubuntu" es recomendable no usar espacios en blanco.&lt;/span&gt; &lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Nombraremos también al ordenador &lt;b&gt;servidor&lt;/b&gt; para poder &lt;b&gt;identificarlo&lt;/b&gt;.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Introducimos un &lt;b&gt;e-mail&lt;/b&gt; para que envíe las notificaciones (podemos inventarlo). &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Cuando le damos a crear, nos aparece el menú de nuestra zona ya creada. En la cual podemos editarla y modificarla.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;El archivo de configuración es:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;/etc/bind/named.conf.local&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style="color: #38761d;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #38761d;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Crear un registro en la zona primaria (búsqueda directa)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Queremos crear un registro que dirija&lt;b&gt; un nombre a una dirección&lt;/b&gt;. Nos debemos dirigir a la sección (de nuestra Zona Primaria) Dirección.&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/--81v8ceQnfQ/Tu3uq5L6nZI/AAAAAAAAAPY/QuJ4DpEiNO0/s1600/IMAGEN2%2528icono%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/--81v8ceQnfQ/Tu3uq5L6nZI/AAAAAAAAAPY/QuJ4DpEiNO0/s1600/IMAGEN2%2528icono%2529.png" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Y una vez dentro nos aparece una tabla para agregar un nuevo registro. En la caja de nombre, debemos insertar el &lt;b&gt;nombre&lt;/b&gt; por el que queremos reconocer a ese ordenador en la red. Y en dirección, la &lt;b&gt;dirección IP&lt;/b&gt; del mismo ordenador. Marcamos la&lt;b&gt; opción NO en actualizar inversas,&lt;/b&gt; porque aún no tenemos la zona de búsqueda inversa.Le damos al &lt;b&gt;crear&lt;/b&gt;, y ya está añadido el registro. Sería algo parecido a esto:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://3.bp.blogspot.com/-I0fegMObmJQ/TvB2IztVTZI/AAAAAAAAAQU/4WomAq_RFCs/s1600/ULTIMA.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="144" src="http://3.bp.blogspot.com/-I0fegMObmJQ/TvB2IztVTZI/AAAAAAAAAQU/4WomAq_RFCs/s640/ULTIMA.png" width="640" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Y como podemos ver nos aparecerá una &lt;b&gt;nueva tabla&lt;/b&gt; con las direcciones que tenemos dadas de alta en nuestro servidor:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://3.bp.blogspot.com/--_FRrx-sOPU/Tu3urSk8r6I/AAAAAAAAAPg/1TFcnqWhl4k/s1600/IMAGEN4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="222" src="http://3.bp.blogspot.com/--_FRrx-sOPU/Tu3urSk8r6I/AAAAAAAAAPg/1TFcnqWhl4k/s640/IMAGEN4.png" width="640" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Y el archivo de configuración es dependiendo del nombre de nuestra zona. simplemente debéis cambiar "nosinmiubuntu" y poner el nombre de vuestra zona:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;/var/lib/bind/[nosinmiubuntu].hosts&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="color: #38761d;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;b style="color: #38761d;"&gt;Crear una zona primaria (o maestra)&lt;/b&gt; &lt;b style="background-color: white; color: #38761d;"&gt;de búsqueda inversa&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b style="background-color: white; color: #38761d;"&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Ahora vamos a crear una zona maestra, pero en este caso de búsqueda inversa, que es el contrario de la anteriormente creada, ésta recibe IPs y las traduce en nombres.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Debemos dirigirnos a la página de nuestro servidor DNS y volvemos a crear una Zona Maestra, pero en este caso, debemos cambiar algunos parámetros:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Indicaremos que queremos que sea de tipo inversa.&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;En "Nombre de dominio/Red" debemos escribir la red en la cual se encuentre, pero sólo los números de la IP que identifiquen a la red, sin los números hosts.&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Introducir el e-mail, que puede ser el mismo, o inventado&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://4.bp.blogspot.com/-FB9Mz1e7OUI/Tu3usIGGjnI/AAAAAAAAAPs/tsHPkmWDJDQ/s1600/IMAGEN5.1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://4.bp.blogspot.com/-FB9Mz1e7OUI/Tu3usIGGjnI/AAAAAAAAAPs/tsHPkmWDJDQ/s640/IMAGEN5.1.png" width="640" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Y nos creará la zona de búsqueda inversa. Que podremos modificar también en el mismo archivo de configuración que la zona de búsqueda directa.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/-lIiOOiVknIU/Tu3uuLgHKlI/AAAAAAAAAP4/twNVNZQOi-w/s1600/IMAGEN6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-lIiOOiVknIU/Tu3uuLgHKlI/AAAAAAAAAP4/twNVNZQOi-w/s640/IMAGEN6.png" width="640" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="color: #38761d;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #38761d;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Crear un registro en la zona maestra (búsqueda inversa)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Nos dirigiremos a la Zona Maestra de búsqueda inversa, y hacemos clic en el icono que pone "Dirección Inversa".&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://1.bp.blogspot.com/-JjTBo2AfB6g/Tu3uucJiT2I/AAAAAAAAAQA/yzCbKvHt0pI/s1600/Imagen7%2528icono%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-JjTBo2AfB6g/Tu3uucJiT2I/AAAAAAAAAQA/yzCbKvHt0pI/s1600/Imagen7%2528icono%2529.png" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Ahí debemos introducir la dirección y la IP del ordenador y en el recuadro de abajo, escribiremos la dirección que tiene en el dominio. Que sigue la estructura:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;máquina.nombre_dominio.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="border: 1px solid lightgrey; margin: 0% auto; text-align: justify; width: 90%;"&gt;&lt;div style="background-color: #f4f2f2; border-bottom: 1px solid lightgrey; font-weight: bold; padding: 5px 15px;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;Nota:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding: 5px 15px;"&gt;&lt;span style="font-size: small;"&gt;Es importante que todas las direcciones de este timpo  tengan  el punto final, ya que éste significa que primero debe dirigirse  a la raíz del servidor, luego a la zona de búsqueda y, finalmente a ese  ordenador en concreto. Tiene el funcionamiento de las páginas web&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="padding: 5px 15px;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://4.bp.blogspot.com/-DlJJKz5-AKs/Tu3uuwR2gDI/AAAAAAAAAQI/eB3yOwLO6P4/s1600/IMAGEN8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="148" src="http://4.bp.blogspot.com/-DlJJKz5-AKs/Tu3uuwR2gDI/AAAAAAAAAQI/eB3yOwLO6P4/s640/IMAGEN8.png" width="640" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Y hoy llegamos hasta aquí. La próxima semana, con la tercera entrega, terminaremos de arreglar los últimos flecos de nuestro servidor. Muchas gracias por vuestro seguimiento.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-6666461124126649704?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/6666461124126649704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/6666461124126649704'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2011/12/guia-para-crear-un-servidor-dns-en_20.html' title='Guía para crear un Servidor DNS en Ubuntu Parte 2'/><author><name>Darío Opazo</name><uri>https://profiles.google.com/110123856269968131730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-uV39F6CaXbU/AAAAAAAAAAI/AAAAAAAAAC4/6g206ktcSSk/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-RQPr4vqSGao/Tu2-LQ5edaI/AAAAAAAAAPE/blZ6JE2RGs8/s72-c/server-icone-4693-96.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-1982788476632471046</id><published>2011-12-19T20:04:00.002+01:00</published><updated>2011-12-19T20:10:32.086+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unetbootin'/><category scheme='http://www.blogger.com/atom/ns#' term='USB'/><category scheme='http://www.blogger.com/atom/ns#' term='Live'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>[Solución] vesamenu.c32: Not a COM32R image</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a href="http://2.bp.blogspot.com/-qOzt8THvG0s/TuqR8yxe9hI/AAAAAAAACDw/cokL2MreMD8/s1600/usb-creator-gtk.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-qOzt8THvG0s/TuqR8yxe9hI/AAAAAAAACDw/cokL2MreMD8/s1600/usb-creator-gtk.png" /&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;Ya hemos hablado en el blog sobre&lt;i&gt; &lt;a href="http://www.nosinmiubuntu.com/2010/05/crear-disco-de-instalacion-de-gnulinux.html"&gt;Cómo crear un Live-usb de cualquier distribución&lt;/a&gt;, &lt;/i&gt;una muy buena opción para instalar&lt;i&gt; &lt;/i&gt;nuestro sistema operativo, ya que además de ahorrarnos tener que grabar un CD/DVD, nos acelera el proceso de copia por ser desde una memoria USB a un disco duro&lt;i&gt;, &lt;/i&gt;y no tener que hacer uso del dispositivo óptico&lt;i&gt;.&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;En las últimas semanas he creado varios &lt;b&gt;Live-USB de Ubuntu con el Creador de discos de arranque &lt;/b&gt;(&lt;span style="font-family: courier new,courier;"&gt;usb-creator-gtk&lt;/span&gt;)&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt; &lt;/b&gt;, dándome el siguiente error al arrancar:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;vesamenu.c32: Not a COM32R image&lt;/code&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;&lt;br /&gt;boot:&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Según podemos leer en el &lt;b&gt;&lt;a href="http://blog.jorgeivanmeza.com/2011/05/vesamenu-c32-not-a-com32r-image/"&gt;blog&lt;/a&gt; de Jorge Iván Meza Martínez&lt;/b&gt;, el problema está causado por la versión de &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;syslinux&lt;/span&gt; que viene instalada por defecto en las series Ubuntu 10.x y 11.x, aunque personalmente empezó a darme problemas recientemente, incluso en la 11.10 hice alguno y no me dio el error.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Para solucionarlo existen &lt;b&gt;dos soluciones&lt;/b&gt;. La primera de ellas podemos decir que es &lt;b&gt;temporal&lt;/b&gt; ya que tendremos que usarla cada vez que querramos arrancar con el USB de instalación. Para ello, una vez arranquemos, nos aparecerá el dichoso error, que haremos desaparecer pulsando el Tabulador y escribiendo&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;live&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="font-family: inherit; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;La &lt;b&gt;segunda solución&lt;/b&gt;, ya &lt;b&gt;definitiva&lt;/b&gt;, es &lt;/span&gt;&lt;span style="font-size: small;"&gt;crear estos &lt;b&gt;Live-USB con &lt;a href="http://www.nosinmiubuntu.com/2010/05/crear-disco-de-instalacion-de-gnulinux.html"&gt;Unetbootin&lt;/a&gt;&lt;/b&gt;, del &lt;/span&gt;&lt;span style="font-size: small;"&gt;que ya explicamos &lt;b&gt;&lt;a href="http://www.nosinmiubuntu.com/2010/05/crear-disco-de-instalacion-de-gnulinux.html"&gt;cómo usarlo&lt;/a&gt;&lt;/b&gt; en otra entrada, y &lt;/span&gt;&lt;span style="font-size: small;"&gt;con el que dejaremos de sufrir el problema mencionado en la entrada.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://3.bp.blogspot.com/-rzxOvBpMZYE/Tu-HozCl0fI/AAAAAAAACEU/HUhHkdcn2LU/s1600/Pantallazo+del+2011-12-19+19%253A51%253A02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="234" src="http://3.bp.blogspot.com/-rzxOvBpMZYE/Tu-HozCl0fI/AAAAAAAACEU/HUhHkdcn2LU/s320/Pantallazo+del+2011-12-19+19%253A51%253A02.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Como ya he comentado al inicio, y aun a riesgo de repetirme, personalmente desde que existe la posibilidad de crear los discos de instalación para cualquier distribución en un USB, he dejado de "malgastar CDs", aumentando la rapidez del proceso, algo que me hace recomendar esta opción.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Saludos. &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-1982788476632471046?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/1982788476632471046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/1982788476632471046'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2011/12/solucion-vesamenuc32-not-com32r-image.html' title='[Solución] vesamenu.c32: Not a COM32R image'/><author><name>ISCARIO</name><uri>http://www.blogger.com/profile/17523670316461689984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://2.bp.blogspot.com/_Mbt2zMZyDys/STqtrR2McbI/AAAAAAAAABQ/txJZBXAnzx8/S220/wall_bsod.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-qOzt8THvG0s/TuqR8yxe9hI/AAAAAAAACDw/cokL2MreMD8/s72-c/usb-creator-gtk.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-7279803424323947058</id><published>2011-12-18T16:53:00.001+01:00</published><updated>2011-12-18T16:53:51.943+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenSuse'/><category scheme='http://www.blogger.com/atom/ns#' term='Escritorio'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>El Escritorio del Lector #56</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s1600/64desktop.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s1600/64desktop.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;Un domingo más, como no podría ser de otra manera, volvemos con &lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;a href="http://www.nosinmiubuntu.com/search/label/Escritorio"&gt;"El Escritorio del Lector"&lt;/a&gt;&lt;/b&gt;.   Con más de un año de duración, esta sección existe gracias a vosotr@s,   conviertiéndose en un  clásico dentro del blog, algo que me hace   especial ilusión. Como bien  sabéis, el&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;             protagonista puede ser tú, tan sólo tienes que querer      mostrar     cómo es el área de trabajo donde se maneja, para que el      resto     conozcamos nuevos paquetes de iconos, temas, etc. Una muy       buena forma de     compartir vuestro trabajo a la hora de dejar lo más       cómodo posible  el    Escritorio.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;En el penúltimo domingo del año nos visita&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;a href="https://twitter.com/#%21/georgevazj"&gt;&lt;span class="js-username"&gt;&lt;span class="screen-name"&gt;@georgevazj&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;span class="js-username"&gt;&lt;span class="screen-name"&gt;&lt;b&gt;,&lt;/b&gt; quien gracias a una de nuestras invitaciones a través de &lt;a href="https://twitter.com/#%21/nosinmiubuntu"&gt;Twitter&lt;/a&gt; quiso participar en la sección. Jorge nos trae un área de trabajo &lt;/span&gt;&lt;/span&gt;&lt;span class="js-username"&gt;&lt;span class="screen-name"&gt;con &lt;b&gt;openSUSE &lt;/b&gt;como sistema operativo, y&lt;/span&gt;&lt;/span&gt;&lt;span class="js-username"&gt;&lt;span class="screen-name"&gt; KDE como entorno, el cual siempre ha destacado por su vistosidad.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://3.bp.blogspot.com/-5sJMIs0grh0/Tu4JTO1tfVI/AAAAAAAACD4/eN1J4qnhrRM/s1600/instant%25C3%25A1nea1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="179" src="http://3.bp.blogspot.com/-5sJMIs0grh0/Tu4JTO1tfVI/AAAAAAAACD4/eN1J4qnhrRM/s320/instant%25C3%25A1nea1.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/-zAHboqZNpCU/Tu4JVfxVM1I/AAAAAAAACEA/uwR0RSX45wg/s1600/instant%25C3%25A1nea2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="179" src="http://2.bp.blogspot.com/-zAHboqZNpCU/Tu4JVfxVM1I/AAAAAAAACEA/uwR0RSX45wg/s320/instant%25C3%25A1nea2.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://3.bp.blogspot.com/-Re5N9jgOb5U/Tu4JXJJsbWI/AAAAAAAACEI/8KnNfJE6NeU/s1600/instant%25C3%25A1nea3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="179" src="http://3.bp.blogspot.com/-Re5N9jgOb5U/Tu4JXJJsbWI/AAAAAAAACEI/8KnNfJE6NeU/s320/instant%25C3%25A1nea3.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li style="text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;S.O.:&lt;/span&gt; &lt;a href="http://es.opensuse.org/OpenSUSE_11.1"&gt;openSUSE 11.10&lt;/a&gt; &lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li style="text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Entorno de escritorio:&lt;/span&gt; &lt;a href="http://kde.org/announcements/4.0/index-es.php"&gt;KDE 4&lt;/a&gt; &lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li style="text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Iconos:&lt;/span&gt; &lt;a href="http://kde-look.org/content/show.php?content=143890"&gt;Kfaenza&lt;/a&gt; &lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li style="text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Tema:&lt;/span&gt; Aire-oxigeno (por defecto) &lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li style="text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Otros:&lt;/span&gt; &lt;a href="http://yakuake.kde.org/"&gt;Yakuake&lt;/a&gt; para que el acceso a la terminal sea más cómodo y bonito.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt; &lt;span style="font-family: arial;"&gt; &lt;span style="font-family: arial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;Desde                             aquí os animo  (algo que agradezco de    antemano)  a               participar          enviando   vuestra    captura  o  capturas    con   sus         correspondientes               características,   como &lt;b&gt;Sistema Operativo, Fondo de Escritorio, Tema de Ventanas y Tema de iconos&lt;/b&gt; a &lt;b style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;nosinmiubuntublog@gmail.co&lt;span style="color: black;"&gt;m&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;Saludos.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-7279803424323947058?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/7279803424323947058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/7279803424323947058'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2011/12/el-escritorio-del-lector-56.html' title='El Escritorio del Lector #56'/><author><name>ISCARIO</name><uri>http://www.blogger.com/profile/17523670316461689984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://2.bp.blogspot.com/_Mbt2zMZyDys/STqtrR2McbI/AAAAAAAAABQ/txJZBXAnzx8/S220/wall_bsod.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s72-c/64desktop.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-1877007330016363757</id><published>2011-12-14T16:59:00.000+01:00</published><updated>2011-12-14T16:59:56.609+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3pies'/><category scheme='http://www.blogger.com/atom/ns#' term='guardar datos'/><category scheme='http://www.blogger.com/atom/ns#' term='archivo'/><category scheme='http://www.blogger.com/atom/ns#' term='file'/><category scheme='http://www.blogger.com/atom/ns#' term='daniel'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><title type='text'>Cómo guardar datos en Android: Archivos</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-5CM0jcwanD0/TuhXcywcLaI/AAAAAAAAAJ8/EYsDdXqusHw/s1600/Documents+Folder.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-5CM0jcwanD0/TuhXcywcLaI/AAAAAAAAAJ8/EYsDdXqusHw/s1600/Documents+Folder.png" style="height: 96px;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;Buenas, estas semanas hemos aprendido a &lt;a href="http://www.nosinmiubuntu.com/2011/11/como-guardar-datos-en-android.html" target="_blank"&gt;guardar datos de configuración mediante las SharedPreferences&lt;/a&gt; y en &lt;a href="http://www.nosinmiubuntu.com/2011/11/como-guardar-datos-en-android-bases-de.html" target="_blank"&gt;base de datos SQLite&lt;/a&gt;. Esta semana veremos otra forma de guardar datos, esta vez serán archivos. Crearemos un archivo y lo guardaremos en la &lt;b&gt;tarjeta SD&lt;/b&gt; de nuestro dispositivo.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Lo primero que vamos a hacer es crear una clase que nos ayude a gestionar los archivos, la llamaremos &lt;b&gt;filemanager&lt;/b&gt; ya que estaŕa destinada a gestionar archivos.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Las tarjetas SD pueden estar o no presentes en nuestro dispositivo por lo que antes de empezar a escribir o leer en ella nos aseguraremos que existe y podemos escribir en ella, para ello crearemos dos métodos estáticos (no tiene que existir una instancia de la clase para ser utilizadas), sus nombres son bastante significativos. El código es el siguiente y lo ubicamos dentro de nuestra clase nueva:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;public static boolean isExternalStorageReadOnly() {  &lt;br /&gt; String extStorageState = Environment.getExternalStorageState();  &lt;br /&gt;     if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(extStorageState)) {  &lt;br /&gt;         return true;  &lt;br /&gt;     }  &lt;br /&gt;     return false;  &lt;br /&gt;}  &lt;br /&gt;   &lt;br /&gt;public static boolean isExternalStorageAvailable() {  &lt;br /&gt;     String extStorageState = Environment.getExternalStorageState();  &lt;br /&gt;     if (Environment.MEDIA_MOUNTED.equals(extStorageState)) {  &lt;br /&gt;         return true;  &lt;br /&gt;     }  &lt;br /&gt;     return false;  &lt;br /&gt;} &lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Lo siguiente que haremos será crear y escribir nuestro primer archivo, para ello vamos a utilizar el método &lt;b&gt;getExternalStorageDirectory&lt;/b&gt;, el cual utilizaremos para poder obtener la ruta de nuestra tarjeta SD. Crearemos un nuevo objeto de tipo File con el cual podremos manejar todos nuestros archivos. En este caso le estamos pasando un nombre de archivo y el texto que insertaremos en el archivo mediante un OutPutStreamWriter. Una vez escrito cerramos todo y listo.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;public void writeFile(String filename, String textfile){&lt;br /&gt;try {&lt;br /&gt;  if (isExternalStorageAvailable() &amp;amp;&amp;amp; !isExternalStorageReadOnly()) { &lt;br /&gt;   File file = new File(Environment.getExternalStorageDirectory(), filename );&lt;br /&gt;   OutputStreamWriter outw = new OutputStreamWriter(new FileOutputStream(file));&lt;br /&gt;   outw.write(textfile);&lt;br /&gt;   outw.close();&lt;br /&gt;}&lt;br /&gt;} catch (Exception e) {}  &lt;br /&gt;}&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;En principio este sería todo el código necesario para poder escribir un archivo, pero para poder escribir, Android nos tiene que dejar escribir. ¿Cómo hacemos esto? Esto lo haremos&amp;nbsp;diciéndole&amp;nbsp;a Android que nuestra aplicación necesita permisos de escritura. Estos permisos se declaran en el archivo &lt;b&gt;AndroidManifest.xml&lt;/b&gt; y es una especie de archivo global donde tenemos los permisos, el nombre de la aplicación, icono, y un montón de cosas que iremos mencionando aquí a medida que las vayamos necesitando.&amp;nbsp;En este caso, hoy veremos como declarar permisos, en concreto este:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;android.permission.WRITE_EXTERNAL_STORAGE&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Abrimos nuestro archivo AndroidManifest.xml e insertamos la siguiente línea dentro del nodo manifest:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&amp;lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Este permiso será el que luego aparezca detallado cuando&amp;nbsp;veáis&amp;nbsp;las propiedades de la aplicación instalada en vuestro teléfono o al descargarla del Market cuando os indiquen que permisos requiere.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Una vez hecho esto vamos a por el último paso, leer el archivo que hemos escrito antes.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;public String readFile(String filename){&lt;br /&gt; try{&lt;br /&gt;  if(isExternalStorageAvailable()){&lt;br /&gt;   File file = new File(Environment.getExternalStorageDirectory(), filename);&lt;br /&gt;   BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));&lt;br /&gt;   String t = br.readLine();&lt;br /&gt;   br.close();&lt;br /&gt;   return t;&lt;br /&gt;  } else {return "";}   &lt;br /&gt; } catch(Exception e){return "";}&lt;br /&gt;}&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;En el método de lectura solamente compruebo que la tarjeta SD este disponible ya que solo voy a leer, vuelvo a crear un objeto tipo File para abrir el archivo que creamos antes y con un BufferedReader leemos el contenido y lo volcamos en una variable de tipo String, cerramos todo y devolvemos el texto leído.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Con estos cuatro métodos ya podeis empezar a manejar archivos, guardarlos y escribirlos en vuestra tarjeta SD, ahora os añado un pequeño ejemplo practico que&amp;nbsp;podéis&amp;nbsp;utilizar por ejemplo en nuestra activity, volcando el texto&amp;nbsp;leído&amp;nbsp;un TextView por ejemplo.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;TextView lbl = (TextView) findViewById(R.id.lbl);&lt;br /&gt;filemanager fm = new filemanager();&lt;br /&gt;fm.writeFile("holamundo.txt", "nosinmiubuntu");&lt;br /&gt;lbl.setText(fm.readFile("holamundo.txt"));&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Por último, si estais probando este ejemplo en el emulador de Android aseguraros que vuestro dispositivo virtual tiene declarada una tarjeta SD, no es necesario que el espacio asignado sea muy grande para este ejemplo.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-1877007330016363757?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/1877007330016363757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/1877007330016363757'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2011/12/como-guardar-datos-en-android-archivos.html' title='Cómo guardar datos en Android: Archivos'/><author><name>3pies</name><uri>http://www.blogger.com/profile/14470031703993523324</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-VKKxnPUlB-s/Tp77AZJHFCI/AAAAAAAAAGU/WFdJea-nTSU/s220/huella.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-5CM0jcwanD0/TuhXcywcLaI/AAAAAAAAAJ8/EYsDdXqusHw/s72-c/Documents+Folder.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-6345824585372880712</id><published>2011-12-13T15:45:00.000+01:00</published><updated>2011-12-13T15:45:53.387+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wussuo'/><category scheme='http://www.blogger.com/atom/ns#' term='servidor'/><category scheme='http://www.blogger.com/atom/ns#' term='Redes'/><category scheme='http://www.blogger.com/atom/ns#' term='DNS'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu 11.10'/><category scheme='http://www.blogger.com/atom/ns#' term='internet'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='BIND9'/><title type='text'>Guía para crear un Servidor DNS en Ubuntu Parte 1</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-d5eAao_Hsk0/TuTYCaGdyUI/AAAAAAAAAOA/b3OS7XxZ44w/s1600/server-icone-4693-96.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-d5eAao_Hsk0/TuTYCaGdyUI/AAAAAAAAAOA/b3OS7XxZ44w/s1600/server-icone-4693-96.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="color: black; text-align: justify;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Introducción&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Hoy por fin veremos cómo se &lt;b&gt;crea un servidor DNS&lt;/b&gt; en un ordenador que tenga un sistema operativo que puede ser Ubuntu 11.10. Vamos a necesitar una &lt;u&gt;serie de pasos previos&lt;/u&gt; de los que ya hemos hablado en anteriores artículos como son:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Breve &lt;a href="http://www.nosinmiubuntu.com/2011/12/nuestros-amigos-los-dns.html"&gt;&lt;b&gt;introducción de servidores DNS&lt;/b&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Tener instalado el administrador de sistema&lt;b&gt; &lt;a href="http://www.nosinmiubuntu.com/2011/11/webmin-administra-tu-sistema-mediante.html"&gt;webmin&lt;/a&gt;&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Saber &lt;a href="http://www.nosinmiubuntu.com/2011/11/vitamina-webmin-y-sacale-el-maximo.html"&gt;&lt;b&gt;configurar webmin&lt;/b&gt;&lt;/a&gt; e instalar módulos.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Bien, una vez sepamos qué son los DNS, para qué pueden ser útiles, además de tener instalado webmin, procedemos a &lt;b&gt;comenzar la guía&lt;/b&gt;.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="color: #38761d;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Instalación de BIND 9&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: black; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Lo primero que debemos hacer es poner una &lt;a href="http://www.nosinmiubuntu.com/2010/09/asignar-ip-estatica-en-ubuntu.html"&gt;dirección IP estática o manual&lt;/a&gt;, porque el servidor DNS debe estar siempre localizable en una dirección. Eso lo conseguimos entrando en Conexiones de Red. Y ponemos configuramos las IP dependiendo de nuestro Router.&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/-IJ6VYnlRp-o/TuaErEl7YXI/AAAAAAAAAOI/2M2Z-jPuvdA/s1600/IMAGEN1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-IJ6VYnlRp-o/TuaErEl7YXI/AAAAAAAAAOI/2M2Z-jPuvdA/s1600/IMAGEN1.png" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/-4CHIRt2G12g/TuaF49vOTOI/AAAAAAAAAOQ/KEznTdJBlVk/s1600/IMAGEN2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="360" src="http://2.bp.blogspot.com/-4CHIRt2G12g/TuaF49vOTOI/AAAAAAAAAOQ/KEznTdJBlVk/s400/IMAGEN2.png" width="400" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Ahora debemos instalar el programa que permite que nuestro ordenador ser un servidor DNS. Este programa se llama &lt;b&gt;BIND9&lt;/b&gt;. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Para instalar el programa, podemos usar el centro de software ubuntu buscando "bind 9".&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://4.bp.blogspot.com/-0dApjGqzGWU/TuaF5ZJCbuI/AAAAAAAAAOY/TZdCxlH7xJc/s1600/IMAGEN3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="185" src="http://4.bp.blogspot.com/-0dApjGqzGWU/TuaF5ZJCbuI/AAAAAAAAAOY/TZdCxlH7xJc/s320/IMAGEN3.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;O simplemente usamos la consola de comandos escribiendo:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;sudo apt-get install bind9&lt;/span&gt;&lt;/pre&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Si tras esto necesitamos instalar las &lt;b&gt;dependencias&lt;/b&gt;, escribimos en la consola:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;sudo apt-get install -f&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Desde la consola, como podemos ver, tras instalar el programa, nos muestra que ha arrancado el servicio de nombres de &lt;b&gt;servicio&lt;/b&gt; llamado bind9:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://4.bp.blogspot.com/-STGYbRmkvKo/TuaF6S9oiRI/AAAAAAAAAOc/IlCmAzhU1Ck/s1600/IMAGEN4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="231" src="http://4.bp.blogspot.com/-STGYbRmkvKo/TuaF6S9oiRI/AAAAAAAAAOc/IlCmAzhU1Ck/s400/IMAGEN4.png" width="400" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Ahora lo que debemos hacer es instalar el módulo, o extensión del webmin para bind. La podemos instalar desde el &lt;b&gt;repositorio oficial de webmin.&lt;/b&gt; En el un artículo anterior vimos &lt;a href="http://www.nosinmiubuntu.com/2011/11/vitamina-webmin-y-sacale-el-maximo.html"&gt;cómo instalar módulos&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Instalamos el BIND8, que servirá para modificar el BIND9.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://3.bp.blogspot.com/-UQeVCbpUw8M/TuaF6_K6JKI/AAAAAAAAAOk/7U9GCOGYuog/s1600/IMAGEN5.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="268" src="http://3.bp.blogspot.com/-UQeVCbpUw8M/TuaF6_K6JKI/AAAAAAAAAOk/7U9GCOGYuog/s640/IMAGEN5.png" width="640" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Una vez instalado el módulo debemos darle a "&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;Refresh Modules&lt;/span&gt;&lt;span style="font-size: small;"&gt;" para que actualice la lista de módulos de webmin.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://1.bp.blogspot.com/-0Tx29HgV8UE/TuaF7YBakvI/AAAAAAAAAOs/QSgnSBK1MdU/s1600/IMAGEN6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-0Tx29HgV8UE/TuaF7YBakvI/AAAAAAAAAOs/QSgnSBK1MdU/s1600/IMAGEN6.png" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Una vez instalado esto, ya tenemos todo preparado para funcionar.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://4.bp.blogspot.com/-E19HMgjbljc/TuaF7_RzWsI/AAAAAAAAAO0/Jpbe71b5lKU/s1600/IMAGEN7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="306" src="http://4.bp.blogspot.com/-E19HMgjbljc/TuaF7_RzWsI/AAAAAAAAAO0/Jpbe71b5lKU/s640/IMAGEN7.png" width="640" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Ya sólo queda la configuración para poder dar de alta máquinas y relacionarlas con los nombres. La semana que viene trataremos este asunto en profundidad.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-6345824585372880712?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/6345824585372880712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/6345824585372880712'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2011/12/guia-para-crear-un-servidor-dns-en.html' title='Guía para crear un Servidor DNS en Ubuntu Parte 1'/><author><name>Darío Opazo</name><uri>https://profiles.google.com/110123856269968131730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-uV39F6CaXbU/AAAAAAAAAAI/AAAAAAAAAC4/6g206ktcSSk/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-d5eAao_Hsk0/TuTYCaGdyUI/AAAAAAAAAOA/b3OS7XxZ44w/s72-c/server-icone-4693-96.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-2055025853310253877</id><published>2011-12-12T19:26:00.003+01:00</published><updated>2011-12-13T00:22:41.792+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gnome 3'/><category scheme='http://www.blogger.com/atom/ns#' term='miniatura'/><category scheme='http://www.blogger.com/atom/ns#' term='Thumbnail'/><category scheme='http://www.blogger.com/atom/ns#' term='cover thumbnailer'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>[Solución] Cover Thumbnailer en Ubuntu 11.10/Gnome 3</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a href="http://3.bp.blogspot.com/-I6rU71nGikc/TuY_Be5DKoI/AAAAAAAACDg/PCDXDgjeRIk/s1600/logo.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-I6rU71nGikc/TuY_Be5DKoI/AAAAAAAACDg/PCDXDgjeRIk/s1600/logo.png" /&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;Hace aproximadamente un año hablábamos sobre &lt;a href="http://www.nosinmiubuntu.com/2010/12/cover-thumbnailer-previsualiza-fotos-y.html"&gt;Cover Thumbnailer,&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family: arial; font-size: small;"&gt; un script escrito en Python que nos cambia la miniatura de las carpetas con Música o Imágenes, por la previsualización de las carátulas o imágenes que haya en su interior.&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Por alguna razón, después del paso a Gnome 3 este script tan elegante no funciona correctamente, haciéndolo únicamente &lt;/span&gt;&lt;span style="font-size: small;"&gt;(por lo menos en mi caso)&lt;/span&gt;&lt;span style="font-size: small;"&gt; con las canciones que tienen la carátula. Para que esta aplicación vuelva a funcionar como debe, simplemente hay que realizar una serie de ajustes, los cuales he sabido hacer gracias a &lt;b&gt;&lt;a href="http://tachiblog.com.mx/?p=122"&gt;Tachiblog.&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;En primer lugar debemos crear el archivo con el nombre &lt;/span&gt;&lt;b style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;cover-thumbnailer.thumbnailer&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: small;"&gt; en la carpeta &lt;b style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/usr/share/thumbnailers/&lt;/b&gt; con la siguiente orden:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;sudo gedit &lt;/code&gt;&lt;/span&gt;&lt;code&gt;&lt;span style="font-size: small;"&gt;/usr/share/thumbnailers/&lt;/span&gt;&lt;span style="font-size: small;"&gt;cover-thumbnailer.thumbnailer&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;El archivo creado deberá contener lo siguiente: &lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;[Thumbnailer Entry]&lt;/code&gt;&lt;/span&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;TryExec=cover-thumbnailer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Exec=cover-thumbnailer %u %o&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;MimeType=inode/directory; &lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Ahora sólo queda guardar los cambios realizados una vez introducidas las líneas anteriores y aplicar lo siguiente en terminal:&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;export GCONF_CONFIG_SOURCE=`gconftool-2 –get-default-source` &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;&lt;span style="font-size: small;"&gt;gconftool-2 –makefile-install-rule /etc/gconf/schemas/cover-thumbnailer.schemas&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Si has seguido todos los pasos &lt;a href="http://projects.flogisoft.com/cover-thumbnailer/"&gt;Cover Thumbnailer&lt;/a&gt; volverá a funcionar, y una vez abras un directorio por ejemplo con Música se verá algo similar a la imagen.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-VI9uQE0rOoA/TuZEI22MSHI/AAAAAAAACDo/l_DMuKrExdc/s1600/Pantallazo+del+2011-12-12+19%253A12%253A39.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="229" src="http://1.bp.blogspot.com/-VI9uQE0rOoA/TuZEI22MSHI/AAAAAAAACDo/l_DMuKrExdc/s320/Pantallazo+del+2011-12-12+19%253A12%253A39.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;En realidad aunque aparentemente no es un complemento de mucha utilidad, da un aspecto elegante las carpetas con Música o Imágenes, y nos facilita la identificación de algunas de ellas.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Saludos.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-2055025853310253877?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/2055025853310253877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/2055025853310253877'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2011/12/solucion-cover-thumbnailer-en-gnome-3.html' title='[Solución] Cover Thumbnailer en Ubuntu 11.10/Gnome 3'/><author><name>ISCARIO</name><uri>http://www.blogger.com/profile/17523670316461689984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://2.bp.blogspot.com/_Mbt2zMZyDys/STqtrR2McbI/AAAAAAAAABQ/txJZBXAnzx8/S220/wall_bsod.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-I6rU71nGikc/TuY_Be5DKoI/AAAAAAAACDg/PCDXDgjeRIk/s72-c/logo.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-8821143589204271548</id><published>2011-12-11T12:00:00.049+01:00</published><updated>2011-12-11T12:00:01.061+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu Oneiric Ocelot'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu 11.10'/><category scheme='http://www.blogger.com/atom/ns#' term='Escritorio'/><category scheme='http://www.blogger.com/atom/ns#' term='11.10'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>El Escritorio del Lector #55</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s1600/64desktop.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s1600/64desktop.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;Después de un largo puente y domingo más, como no podría ser de otra manera, volvemos con &lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;a href="http://www.nosinmiubuntu.com/search/label/Escritorio"&gt;"El Escritorio del Lector"&lt;/a&gt;&lt;/b&gt;.  Con un año de duración, esta sección existe gracias a vosotr@s,  conviertiéndose en un  clásico dentro del blog, algo que me hace  especial ilusión. Como bien  sabéis, el&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;            protagonista puede ser tú, tan sólo tienes que querer     mostrar     cómo es el área de trabajo donde se maneja, para que el     resto     conozcamos nuevos paquetes de iconos, temas, etc. Una muy      buena forma de     compartir vuestro trabajo a la hora de dejar lo más      cómodo posible  el    Escritorio.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;El Escritorio número 55 viene de la mano de &lt;b&gt;Fernando Rubio, &lt;/b&gt;quien lo ha personalizado a su gusto, cambiando todo tipo de detalles como tipografía, iconos, fondo, tema de ventanas, y añadiendo conky, además de un par de complementos al panel como son Jupiter y My weather indicator.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;table style="height: 100%; width: 100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://1.bp.blogspot.com/-0deX7rtHP0w/Ttv0M-j13eI/AAAAAAAACCY/sdMscf9APfA/s1600/Pantallazo+del+2011-11-12+21%253A17%253A19.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://1.bp.blogspot.com/-0deX7rtHP0w/Ttv0M-j13eI/AAAAAAAACCY/sdMscf9APfA/s320/Pantallazo+del+2011-11-12+21%253A17%253A19.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://4.bp.blogspot.com/-CdMO94Uwm2k/Ttv0N7FutSI/AAAAAAAACCg/4VUo1vXLnB4/s1600/Pantallazo+del+2011-11-12+21%253A17%253A45.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://4.bp.blogspot.com/-CdMO94Uwm2k/Ttv0N7FutSI/AAAAAAAACCg/4VUo1vXLnB4/s320/Pantallazo+del+2011-11-12+21%253A17%253A45.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://1.bp.blogspot.com/-MZHk8Ji8Iyk/Ttv0PbADwfI/AAAAAAAACCo/k1qs1bRthcU/s1600/Pantallazo+del+2011-11-13+21%253A28%253A03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://1.bp.blogspot.com/-MZHk8Ji8Iyk/Ttv0PbADwfI/AAAAAAAACCo/k1qs1bRthcU/s320/Pantallazo+del+2011-11-13+21%253A28%253A03.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/-uNlzFQqN6SQ/Ttv0QlftXLI/AAAAAAAACCw/l9FRNU7OMuQ/s1600/Pantallazo+del+2011-11-13+21%253A28%253A27.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://2.bp.blogspot.com/-uNlzFQqN6SQ/Ttv0QlftXLI/AAAAAAAACCw/l9FRNU7OMuQ/s320/Pantallazo+del+2011-11-13+21%253A28%253A27.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;S.O.: &lt;/span&gt;&lt;a href="http://v/"&gt;Ubuntu 11.10&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li style="text-align: center;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Fondo de escritorio: &lt;/span&gt;&lt;a href="http://big-sb.deviantart.com/art/Relax-172678061"&gt;Relax de Elementary&lt;/a&gt;&lt;br /&gt;&lt;span style="color: #444444;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: center;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Tema de Ventada:&lt;/span&gt; Zukwito Resonance&lt;br /&gt;&lt;span style="color: #444444;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: center;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Tema de Iconos:&lt;/span&gt; &lt;a href="http://tiheum.deviantart.com/art/Faience-icon-theme-255099649"&gt;Faience&lt;/a&gt; &lt;br /&gt;&lt;span style="color: #444444;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: center;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Tipografía:&lt;/span&gt; Janda Swirlgirl&lt;br /&gt;&lt;span style="color: #444444;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: center;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Conky: &lt;/span&gt;&lt;a href="http://gnome-look.org/content/show.php/Reloj+Conky?content=141673"&gt;Reloj&lt;/a&gt;&lt;br /&gt;&lt;span style="color: #444444;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: center;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Extras:&lt;/span&gt; &lt;a href="https://launchpad.net/my-weather-indicator"&gt;My-Weather-Indicator&lt;/a&gt; y &lt;a href="http://www.jupiterapplet.org/"&gt;Jupiter&lt;/a&gt; (Power Management)&lt;/b&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt; &lt;span style="font-family: arial;"&gt; &lt;span style="font-family: arial;"&gt;Desde                            aquí os animo  (algo que agradezco de   antemano)  a               participar          enviando   vuestra   captura  o  capturas    con   sus         correspondientes              características,   como &lt;b&gt;Sistema Operativo, Fondo de Escritorio, Tema de Ventanas y Tema de iconos&lt;/b&gt; a &lt;b style="color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;nosinmiubuntublog@gmail.co&lt;span style="color: black;"&gt;m&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;Saludos.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial; font-size: small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial; font-size: x-small;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-8821143589204271548?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/8821143589204271548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/8821143589204271548'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2011/12/el-escritorio-del-lector-55.html' title='El Escritorio del Lector #55'/><author><name>ISCARIO</name><uri>http://www.blogger.com/profile/17523670316461689984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://2.bp.blogspot.com/_Mbt2zMZyDys/STqtrR2McbI/AAAAAAAAABQ/txJZBXAnzx8/S220/wall_bsod.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-S-Vyf-QwL_8/TPqiCueSUGI/AAAAAAAABbo/4Ykh1FpVL4E/s72-c/64desktop.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-3336313441236794036</id><published>2011-12-09T18:00:00.006+01:00</published><updated>2011-12-09T18:00:00.941+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Libreoffice'/><category scheme='http://www.blogger.com/atom/ns#' term='Thumbnail'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Visualiza el Thumbnail/miniatura de tus documentos con lo-thumbnailer</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;a href="http://3.bp.blogspot.com/-2Yyfp2yIU2Q/Tm-AN8hicyI/AAAAAAAABwk/34gK3RR9XAk/s1600/libreoffice3-startcenter.redimensionado.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-2Yyfp2yIU2Q/Tm-AN8hicyI/AAAAAAAABwk/34gK3RR9XAk/s1600/libreoffice3-startcenter.redimensionado.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Mientras nos encontramos navegando por Nautilus, podemos ver una &lt;b&gt;miniatura&lt;/b&gt; de los archivos PDF, de vídeo o imágenes, pero &lt;b&gt;no de documentos en LibreOffice&lt;/b&gt;. Aunque hace algo más de un año hablamos de un &lt;a href="http://www.nosinmiubuntu.com/2010/11/como-previsualizar-en-miniaturas-los.html"&gt;complemento&lt;/a&gt; que nos daba la posibilidad de hacerlo tanto para OpenOffice como para LibreOffice, éste ya no sirve para el paquete ofimático desarrollado por The Document Foundation en Ubuntu 11.10.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Si queremos volver a disponer de estas miniaturas, bastará con instalar un complemento desarrollado por &lt;b&gt;&lt;a href="https://launchpad.net/%7Egiorgio-maccari/+archive/ppa-marrano"&gt;Giorgio Maccari&lt;/a&gt;&lt;/b&gt;, y que es válido para cualquier archivo creado en LibreOffice, incluso los creados en Microsoft Office.&lt;b&gt; &lt;/b&gt;Para ello deberemos añadir su repositorio, actualizar la lista de paquetes e instalar &lt;b&gt;lo-thumbnailer, &lt;/b&gt;todo ello mediante siguientes órdenes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;sudo add-apt-repository ppa:giorgio-maccari/ppa-marrano&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;br /&gt;sudo apt-get update&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;br /&gt;sudo apt-get install lo-thumbnailer&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Finalmente bastará con reiniciar Nautilus con:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;nautilus -q&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Como podréis observar en la imagen, nos indica el tipo de archivo que es con su correspondiente icono en la parte inferior derecha.&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/-Kxn8V-44Ghk/TtvxuLsO-II/AAAAAAAACCQ/d4QSKNFgNeA/s1600/Pantallazo+del+2011-12-04+23%253A17%253A54.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="229" src="http://2.bp.blogspot.com/-Kxn8V-44Ghk/TtvxuLsO-II/AAAAAAAACCQ/d4QSKNFgNeA/s320/Pantallazo+del+2011-12-04+23%253A17%253A54.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border: 1px solid lightgrey; margin: 0% auto; text-align: justify; width: 90%;"&gt;&lt;div style="background-color: #f4f2f2; border-bottom: 1px solid lightgrey; font-weight: bold; padding: 5px 15px;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;Nota:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding: 5px 15px;"&gt;&lt;span style="font-size: small;"&gt;Desgraciadamente el repositorio sólo está disponible para Ubuntu 11.10&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Con esta entrada seguimos hablando de &lt;a href="http://www.nosinmiubuntu.com/search/label/Libreoffice"&gt;LibreOffice&lt;/a&gt;, un tema que ya se ha convertido en un clásico dentro del blog por sus continuos lanzamientos de versiones y novedades, algo que demuestra la gran Comunidad que tiene detrás.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Saludos.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-3336313441236794036?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/3336313441236794036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/3336313441236794036'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2011/12/visualiza-el-thumbnailminiatura-de-tus.html' title='Visualiza el Thumbnail/miniatura de tus documentos con lo-thumbnailer'/><author><name>ISCARIO</name><uri>http://www.blogger.com/profile/17523670316461689984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://2.bp.blogspot.com/_Mbt2zMZyDys/STqtrR2McbI/AAAAAAAAABQ/txJZBXAnzx8/S220/wall_bsod.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-2Yyfp2yIU2Q/Tm-AN8hicyI/AAAAAAAABwk/34gK3RR9XAk/s72-c/libreoffice3-startcenter.redimensionado.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-659137218545441472</id><published>2011-12-08T11:13:00.000+01:00</published><updated>2011-12-08T11:12:14.389+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unity'/><category scheme='http://www.blogger.com/atom/ns#' term='hckorootx'/><category scheme='http://www.blogger.com/atom/ns#' term='atajo'/><category scheme='http://www.blogger.com/atom/ns#' term='teclado'/><category scheme='http://www.blogger.com/atom/ns#' term='GNOME Shell'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Añadir atajos de teclado en GNOME Shell</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-P0cSMWsxMv0/TuCJ9oN0fBI/AAAAAAAAAZ4/XVL_TGC4j0I/s1600/logo.bmp"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 72px; height: 72px;" src="http://1.bp.blogspot.com/-P0cSMWsxMv0/TuCJ9oN0fBI/AAAAAAAAAZ4/XVL_TGC4j0I/s320/logo.bmp" alt="" id="BLOGGER_PHOTO_ID_5683694421601975314" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;Los que hayáis utilizado &lt;span style="font-weight: bold;"&gt;Unity&lt;/span&gt; y ahora decidáis usar &lt;span style="font-weight: bold;"&gt;GNOME Shell&lt;/span&gt;, os encontraréis con que existen muchos menos &lt;span style="font-weight: bold;"&gt;atajos de teclado&lt;/span&gt; para la ejecución de aplicaciones.  En realidad, esto no supone un problema, y sólo tendréis que invertir un poco de vuestro tiempo para crear los atajos más utilizados.&lt;br /&gt;Vamos a mostraros un sencillo ejemplo de cómo crear un nuevo atajo de teclado; en este caso, la combinación de teclas elegida abrirá la aplicación &lt;span style="font-weight: bold;"&gt;Brasero&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;1. En primer lugar, buscamos y ejecutamos el configurador de &lt;span style="font-weight: bold;"&gt;Teclado&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-57Eg02K7dgc/TuCKGdbXE3I/AAAAAAAAAaE/JpcyBDu36ww/s1600/Captura01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 231px;" src="http://3.bp.blogspot.com/-57Eg02K7dgc/TuCKGdbXE3I/AAAAAAAAAaE/JpcyBDu36ww/s320/Captura01.png" alt="" id="BLOGGER_PHOTO_ID_5683694573324800882" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;2. A continuación, dentro de la pestaña &lt;span style="font-weight: bold;"&gt;Atajos&lt;/span&gt;, seleccionamos la opción &lt;span style="font-weight: bold;"&gt;Combinación personalizada&lt;/span&gt; y pulsamos el botón &lt;span style="font-weight: bold;"&gt;+&lt;/span&gt; :&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-e7_kgWR-gjM/TuCKMzhyybI/AAAAAAAAAaQ/VlsWqzLXAks/s1600/Captura02.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 236px;" src="http://4.bp.blogspot.com/-e7_kgWR-gjM/TuCKMzhyybI/AAAAAAAAAaQ/VlsWqzLXAks/s320/Captura02.png" alt="" id="BLOGGER_PHOTO_ID_5683694682336577970" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;3. En este punto, necesitamos saber cuál es la ruta completa del ejecutable de Brasero en el árbol de directorios; para obtener esta información, abrimos una terminal y utilizamos el comando &lt;span style="font-style: italic;"&gt;which&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-g8_mEZXzRXk/TuCKSkC47II/AAAAAAAAAac/F58r43B9s2w/s1600/Captura03.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 212px;" src="http://1.bp.blogspot.com/-g8_mEZXzRXk/TuCKSkC47II/AAAAAAAAAac/F58r43B9s2w/s320/Captura03.png" alt="" id="BLOGGER_PHOTO_ID_5683694781259639938" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;4. Le damos un nombre al atajo, introducimos la ruta del ejecutable proporcionada por &lt;span style="font-style: italic;"&gt;which&lt;/span&gt; (&lt;span style="font-style: italic;"&gt;/usr/bin/brasero&lt;/span&gt;) y pulsamos el botón &lt;span style="font-weight: bold;"&gt;Aplicar&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-ogomrPcSVZg/TuCKb8Q1PWI/AAAAAAAAAao/BWFAqJAXtLs/s1600/Captura04.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 236px;" src="http://3.bp.blogspot.com/-ogomrPcSVZg/TuCKb8Q1PWI/AAAAAAAAAao/BWFAqJAXtLs/s320/Captura04.png" alt="" id="BLOGGER_PHOTO_ID_5683694942379392354" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;5. Por defecto, el atajo aparece como &lt;span style="font-weight: bold;"&gt;Desactivado&lt;/span&gt;, pero si hacemos click sobre él cambiará a &lt;span style="font-weight: bold;"&gt;Combinación nueva...&lt;/span&gt; :&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-HmZtoTw-ano/TuCKl1S6MaI/AAAAAAAAAa0/9PtNnRCLsYc/s1600/Captura05.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 236px;" src="http://4.bp.blogspot.com/-HmZtoTw-ano/TuCKl1S6MaI/AAAAAAAAAa0/9PtNnRCLsYc/s320/Captura05.png" alt="" id="BLOGGER_PHOTO_ID_5683695112307749282" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;6. Es entonces cuando podremos pulsar la combinación de teclas que tengamos en mente para ejecutar Brasero; en este caso, he elegido &lt;span style="font-weight: bold;"&gt;Ctrl + Alt + B&lt;/span&gt;.  Sólo resta cerrar la ventana de configuración del teclado, y ya podremos abrir Brasero pulsando dicha combinación:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-yNjSzf90dLc/TuCKunz-eyI/AAAAAAAAAbA/tblhox16RYs/s1600/Captura06.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 236px;" src="http://3.bp.blogspot.com/-yNjSzf90dLc/TuCKunz-eyI/AAAAAAAAAbA/tblhox16RYs/s320/Captura06.png" alt="" id="BLOGGER_PHOTO_ID_5683695263307168546" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;Como siempre, esperamos que os sirva de ayuda.&lt;br /&gt;Un cordial saludo.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8847417749346587759-659137218545441472?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.nosinmiubuntu.com/feeds/659137218545441472/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8847417749346587759&amp;postID=659137218545441472&amp;isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/659137218545441472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8847417749346587759/posts/default/659137218545441472'/><link rel='alternate' type='text/html' href='http://www.nosinmiubuntu.com/2011/11/anadir-atajos-de-teclado-en-gnome-shell.html' title='Añadir atajos de teclado en GNOME Shell'/><author><name>hckorootx</name><uri>http://www.blogger.com/profile/00520963500831835524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-P0cSMWsxMv0/TuCJ9oN0fBI/AAAAAAAAAZ4/XVL_TGC4j0I/s72-c/logo.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-7138689474886933890</id><published>2011-12-07T13:30:00.000+01:00</published><updated>2011-12-07T13:33:16.811+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3pies'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><category scheme='http://www.blogger.com/atom/ns#' term='daniel'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='base de datos'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><title type='text'>Cómo guardar datos en Android: Bases de datos(II)</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-6Yyp7O_uV3A/TtTDReE8TXI/AAAAAAAAAJw/pAjJQLbKxb4/s1600/New+Database.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-6Yyp7O_uV3A/TtTDReE8TXI/AAAAAAAAAJw/pAjJQLbKxb4/s1600/New+Database.png" style="height: 96px;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;Buenas, la semana pasada nos quedamos &lt;a href="http://www.nosinmiubuntu.com/2011/11/como-guardar-datos-en-android-bases-de.html" target="_blank"&gt;guardando datos en una base de datos SQLite&lt;/a&gt; y dejamos para ésta el cómo recuperar los datos y&amp;nbsp;mostrárselos&amp;nbsp;al usuario.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Empecemos. Lo primero que vamos a hacer es abrir la clase &lt;b&gt;bbdd&lt;/b&gt; que hicimos la semana pasada y añadir un método, el&amp;nbsp;cual&amp;nbsp;nos va a devolver un objeto de tipo&lt;b&gt; Cursor &lt;/b&gt;donde estarán los registros que hemos&amp;nbsp;leído&amp;nbsp;de la base de datos. El método tendrá el siguiente código:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(204, 204, 204); font-weight: bold; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;public Cursor leerUsuarios(){&lt;br /&gt; SQLiteDatabase db = getReadableDatabase();&lt;br /&gt;  &lt;br /&gt; return db.rawQuery("SELECT id_usuario, nombre, email "+&lt;br /&gt;  " FROM "+TableUsuarios +&lt;br /&gt;  " WHERE email LIKE '%@gmail.com' ", null);  &lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Como veis el método es muy sencillo. Declaramos &lt;b&gt;db&lt;/b&gt; que manejará la base de datos y lanza una consulta que nos devuelve el cursor donde tenemos los datos. Por otro lado, la consulta es también muy sencilla, primero tenemos la instrucción &lt;b&gt;SELECT&lt;/b&gt; seguida de los nombres de los campos que queremos, luego &lt;b&gt;FROM&lt;/b&gt; y el nombre de la tabla de donde sacaremos los datos, y por último si queremos filtrar añadimos la clausula &lt;b&gt;WHERE&lt;/b&gt;, en este caso le decimos que sólo nos dé los registros cuyo email sea de gmail (el % es un&amp;nbsp;carácter&amp;nbsp;comodín).&amp;nbsp;Una vez tenemos listo el método vamos a utilizarlo en nuestra activity principal.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Lo primero de todo, en nuestro archivo main.xml definimos un &lt;b&gt;TextView&lt;/b&gt; y le llamamos lbl, iremos añadiendo ahí los datos que hemos leído. Luego abrimos el archivo de nuestra activity HolaMundoActivity.java y creamos el siguiente método:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: rgb(204, 204, 204); border-style: dashed; border-width: 1px; margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;private void leerUsuariosBBDD(){&lt;br /&gt;     TextView lbl = (TextView) findViewById(R.id.lbl);&lt;br /&gt;     bbdd bd = new bbdd(this);&lt;br /&gt;     Cursor cursor = bd.leerUsuarios();&lt;br /&gt;     &lt;br /&gt;     if(cursor.moveToFirst()){&lt;br /&gt;      do{&lt;br /&gt;     lbl.append(String.valueOf(cursor.getInt(0)) + " - " + cursor.getString(1) + " - " + cursor.getString(2) + "\n");  &lt;br /&gt;      }while(cursor.moveToNext());&lt;br /&gt;     }&lt;br /&gt;     &lt;br /&gt;    } &lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Lo que hace este método es: primero inicializar nuestro TextView, luego, crear un objeto de nuesta clase de base de datos y llamar al método que lee los usuarios y meterlo en un Cursor.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Por último recorremos el cursor y obtenemos los datos que contiene. Lo hacemos con el método getInt, getString... en función del tipo de dato que contenga en la base de datos. Indicamos en estos el índice de nuestros campos según la SELECT que hemos hecho.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Para añadir texto al TextView utilizamos el método &lt;b&gt;append&lt;/b&gt;, fijaros que al dato integer le he hecho una conversión a String.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;El método lo podemos llamar una vez hayamos llamado al método de la semana pasada que insertaba registros. Por otro lado,&amp;nbsp;podéis&amp;nbsp;probar a insertar algún registro con email tipo gmail y otros que no lo sean,&amp;nbsp;veréis&amp;nbsp;como solo saca los de gmail.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Por último, os incluyo un método para que&amp;nbsp;podáis&amp;nbsp;eliminar alguno de los usuarios que habeis añadido a la base de datos, el método lo incluiremos en la clase bbdd y se utiliza de forma similar a la inserción:&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="border-color: r
