<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.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-22T13:51:29.956+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="control de versiones" /><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="repositorio" /><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="Twitter" /><category term="11.04" /><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="cvs" /><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="git" /><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="Xubuntu" /><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="Cinnamon" /><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="Network Manager" /><category term="Correo" /><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="alternate" type="text/html" href="http://www.nosinmiubuntu.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/8847417749346587759/posts/default?start-index=26&amp;max-results=25" /><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>449</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Nosinmiubuntu" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="nosinmiubuntu" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">Nosinmiubuntu</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-204490427984118618</id><published>2012-02-22T13:08:00.001+01:00</published><updated>2012-02-22T13:37:32.215+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="3pies" /><category scheme="http://www.blogger.com/atom/ns#" term="git" /><category scheme="http://www.blogger.com/atom/ns#" term="control de versiones" /><category scheme="http://www.blogger.com/atom/ns#" term="daniel" /><category scheme="http://www.blogger.com/atom/ns#" term="cvs" /><category scheme="http://www.blogger.com/atom/ns#" term="repositorio" /><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu" /><title type="text">Instalar GIT en Ubuntu, sistema de control de versiones</title><content type="html">&lt;div style="text-align: justify;"&gt;&lt;a href="http://4.bp.blogspot.com/-M-l95nhlkN8/T0QOtwvAGWI/AAAAAAAAAMs/n4dUHkBjwY8/s1600/git_2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img src="http://4.bp.blogspot.com/-M-l95nhlkN8/T0QOtwvAGWI/AAAAAAAAAMs/n4dUHkBjwY8/s1600/git_2.png" style="border: 1px solid lightgrey; padding: 5px;" /&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;Buenas, hasta ahora siempre he trabajado en empresas pequeñas donde la programación en ciertos aspectos era un poco de andar por casa. Sobre todo lo que se refiere al control de versiones. Este se hacía de una manera muy manual, con un excel donde&amp;nbsp;apuntábamos&amp;nbsp;lo que&amp;nbsp;íbamos&amp;nbsp;cambiando y&amp;nbsp;avisándonos&amp;nbsp;unos a otros cuando&amp;nbsp;trabajábamos&amp;nbsp;en un archivo de un proyecto compartido entre varios. Esta forma de trabajar siempre hará que cometamos errores debido a la falta de documentación en el excel o por la necesidad de modificar archivos por tareas de mantenimiento pero que se están modificando para un desarrollo.&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 ahora nunca había trabajado con ningún control de versiones, pero llevaba bastante tiempo escuchando hablar de ellos, sobre todo &lt;a href="http://es.wikipedia.org/wiki/Git" target="_blank"&gt;&lt;b&gt;GIT&lt;/b&gt;&lt;/a&gt;. Así que ahora me he decidido a montarme mi propio servidor personal git.&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;Git ha sido desarrollado ni más ni menos que por el propio Linus Torvalds, y es utilizado para el nucleo de Linux entre otros muchos proyectos importantes. El desarrollador que va a trabajar en un determinado proyecto descarga una copia a su pc del proyecto, realiza los cambios necesarios y puede enviar después sus cambios. Otro de los aspectos importantes es que podremos crear una rama de nuestro proyecto, por lo que podremos hacer varias variantes de un desarrollo y escoger cual es la que queremos enviar a nuestro repositorio. Hoy veremos como instalarlo y poco a poco iremos viendo los comandos necesarios para trabajar con git.&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 instalando los paquetes necesarios, entre los que tenemos 2 de git: git-core y gitweb (uno es el núcleo y otro la interfaz web), otro para el server SSH y apache. Con el siguiente comando instalaremos 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: 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;# aptitude install apache2 git-core gitweb openssh-server&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;Ahora debemos crear un directorio para el repositorio de git /var/cache/git y otro para la interfaz web gitweb.cgi /var/www/git&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;# mkdir /var/www/git&lt;br /&gt;# [ -d “/var/cache/git” ] || sudo mkdir /var/cache/git&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;Ahora vamos a crear un archivo de configuración en Apache para nuestro servidor git. &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;# nano /etc/apache2/conf.d/git&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 escribimos la siguiente configuración dentro de &amp;nbsp;este archivo:&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;Directory /var/www/git&amp;gt;&lt;br /&gt;Allow from all&lt;br /&gt;AllowOverride all&lt;br /&gt;Order allow,deny&lt;br /&gt;Options ExecCGI&lt;br /&gt;&amp;lt;Files gitweb.cgi&amp;gt;&lt;br /&gt;SetHandler cgi-script&lt;br /&gt;&amp;lt;/Files&amp;gt;&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;DirectoryIndex gitweb.cgi&lt;br /&gt;SetEnv  GITWEB_CONFIG  /etc/gitweb.conf&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&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 debemos mover los archivos gitweb.cgi, .css y .png de git a /var/ww/git&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;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;# mv -v /usr/share/gitweb/* /var/www/git&lt;br /&gt;# mv -v /usr/lib/cgi-bin/gitweb.cgi /var/www/git&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 debemos hacer algún cambio en el archivo de configuración debido a los archivos movidos en /etc/gitweb.conf, abrimos el archivo con el editor nano y modificamos el archivo así:&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;# nano /etc/gitweb.conf&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;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;$projectroot = '/var/cache/git/';&lt;br /&gt;$git_temp = "/tmp";&lt;br /&gt;#$home_link = $my_uri || "/";&lt;br /&gt;$home_text = "indextext.html";&lt;br /&gt;$projects_list = $projectroot;&lt;br /&gt;$stylesheet = "/git/gitweb.css";&lt;br /&gt;$logo = "/git/git-logo.png";&lt;br /&gt;$favicon = "/git/git-favicon.png";&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;Por último volvemos a recargar la configuración de Apache:&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;# /etc/init.d/apache2 reload&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;Ya está montado nuestro control de versiones git y la interfaz web, podemos comprobarlo llamando a la siguiente dirección desde nuestro navegador: http://localhost/cgi&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 vamos a crear un proyecto.&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;# cd /var/cache/git/&lt;br /&gt;# mkdir proyecto.git&lt;br /&gt;# cd proyecto.git&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&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;Iniciamos un nuevo repositorio y lo configuramos. Dentro de la carpeta de nuestro proyecto se creará la carpeta .git que es la que contendrá información para git.&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;# git init&lt;br /&gt;# echo “descripción del proyecto” &amp;gt; .git/description&lt;br /&gt;# git config -global user.name “Tu nombre”&lt;br /&gt;# git config -global user.email “tu@correo.com”&lt;br /&gt;# git commit -a&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;Si ahora volvemos a llamar la interfaz web veremos que aparece el repositorio que hemos creado. Ahora para marcar un repositorio como exportado se utiliza el archivo git-daemon-export-ok&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;# touch .git/git-daemon-export-ok&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;Ahora iniciaremos un servicio que hará publico nuestro repositorio.&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;# git daemon -base-path=/var/cache/git -detach -syslog -export-all&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;Ahora nuestro repositorio está en el puerto 9418, y le daremos permisos a un usuario diferente de root.&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;# adduser usuariogit&lt;br /&gt;# passwd usuariogit&lt;br /&gt;# chown -Rv usuariogit:usuariogit /var/cache/git/proyecto.git&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;Por último, para descargar el repositorio basta con la siguiente instrucció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: 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;# git clone git://ip_servidor/proyecto.git proyecto&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;Ahora ya tenemos una copia en nuestro pc del proyecto con el que podremos trabajar para luego enviar los cambios al repositorio. La semana que viene veremos en más detalle como trabajar con git.&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-204490427984118618?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=RcQUXoxz4T8:cvMVyOe7Fp4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8847417749346587759/posts/default/204490427984118618" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8847417749346587759/posts/default/204490427984118618" /><link rel="alternate" type="text/html" href="http://www.nosinmiubuntu.com/2012/02/instalar-git-en-ubuntu-sistema-de.html" title="Instalar GIT en Ubuntu, sistema de control de versiones" /><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/-M-l95nhlkN8/T0QOtwvAGWI/AAAAAAAAAMs/n4dUHkBjwY8/s72-c/git_2.png" height="72" width="72" /></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-4791198661096502968</id><published>2012-02-19T23:27:00.000+01:00</published><updated>2012-02-19T23:27:05.069+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Escritorio" /><category scheme="http://www.blogger.com/atom/ns#" term="Xubuntu" /><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu" /><title type="text">El Escritorio del Lector #64</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;&lt;span style="font-family: arial;"&gt;Finalizando la semana ya estamos aquí con una nueva edición de &lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: 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;.  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;/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-size: small;"&gt;El protagonista de hoy es &lt;b&gt;Kelvin Feliz&lt;/b&gt;, quien nos explica un poco los motivos de la elección de las características de su escritorio. &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="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;Nos comenta:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding: 5px 15px;"&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt;"Como muchos usuarios he usado Gnome Shell y Unity, pero ninguno cumplía con mis expectativas en cuanto a rendimiento, así que probé xfce y estoy encantado. Si lo hubiese conocido antes de Gnome 2x seria mi favorito desde aquel entonces, así que le he dado una tuneada para compartirlo para motivar a usuarios a usarlo"&lt;/i&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 class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/-v0qbfu_sJsA/T0FtyCCbrpI/AAAAAAAACIg/wyHXNiDuqVg/s1600/Captura+de+pantalla+-+200112+-+08:59:08.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="256" src="http://2.bp.blogspot.com/-v0qbfu_sJsA/T0FtyCCbrpI/AAAAAAAACIg/wyHXNiDuqVg/s320/Captura+de+pantalla+-+200112+-+08:59:08.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://3.bp.blogspot.com/-o51EKYLg5u4/T0Ft5xGaFdI/AAAAAAAACIo/EUvn-IIRuZo/s1600/Captura+de+pantalla+-+200112+-+09:00:46.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="256" src="http://3.bp.blogspot.com/-o51EKYLg5u4/T0Ft5xGaFdI/AAAAAAAACIo/EUvn-IIRuZo/s320/Captura+de+pantalla+-+200112+-+09:00:46.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/-UQNtSS_1WcY/T0Ft_-FBZhI/AAAAAAAACIw/Yru1TzHUSSE/s1600/Captura+de+pantalla+-+200112+-+09:06:32.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="256" src="http://2.bp.blogspot.com/-UQNtSS_1WcY/T0Ft_-FBZhI/AAAAAAAACIw/Yru1TzHUSSE/s320/Captura+de+pantalla+-+200112+-+09:06:32.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt; &lt;/span&gt;&lt;br /&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt; &lt;span style="color: #444444;"&gt;S.O.: &lt;/span&gt;&lt;a href="http://xubuntu.org/"&gt;Xubuntu 11.10&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt; &lt;span style="font-size: small;"&gt; &lt;span style="color: #444444;"&gt;Tema:&lt;/span&gt; &lt;a href="http://woerg.deviantart.com/art/Plastiq-214435871"&gt;Plastiq&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt; &lt;span style="font-size: small;"&gt; &lt;span style="color: #444444;"&gt;Emerald :&lt;/span&gt; &lt;a href="http://www.blogger.com/%20%20%20%20http://gnome-look.org/content/show.php/A+New+Hope+Dark+Mod?content=142322"&gt;A New Hope Dark Mod&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: small;"&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&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: center;"&gt;&lt;li&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt; &lt;span style="font-size: small;"&gt; &lt;span style="color: #444444;"&gt;Fondo de escritorio:&lt;/span&gt; &lt;a href="http://wallbase.cc/wallpaper/1211025"&gt;Wallbase&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&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;span style="font-size: small;"&gt;&lt;b&gt; &lt;span style="color: #444444;"&gt;Otros ingredientes:&lt;/span&gt; &lt;a href="http://glx-dock.org/"&gt;Cairo Dock&lt;/a&gt;, &lt;a href="https://launchpad.net/covergloobus"&gt;Cover Gloobus&lt;/a&gt; &lt;/b&gt;y&lt;b&gt; &lt;a href="http://conky.sourceforge.net/"&gt;Conky&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&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;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;/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;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&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;/div&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt; &lt;span style="font-family: arial;"&gt;&lt;span style="font-size: x-small;"&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-4791198661096502968?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=QD-6x6S7mN8:IElBd7K7yOQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8847417749346587759/posts/default/4791198661096502968" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8847417749346587759/posts/default/4791198661096502968" /><link rel="alternate" type="text/html" href="http://www.nosinmiubuntu.com/2012/02/el-escritorio-del-lector-64.html" title="El Escritorio del Lector #64" /><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-278952254055164420</id><published>2012-02-15T13:17:00.001+01:00</published><updated>2012-02-15T13:18:09.335+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="Ubuntu" /><title type="text">Navegando en nuestra aplicación Android</title><content type="html">&lt;div style="text-align: justify;"&gt;&lt;a href="http://2.bp.blogspot.com/-QX7VVO-3AQU/TzuDouMAYlI/AAAAAAAAAMY/XP34PI_IUOU/s1600/html.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/-QX7VVO-3AQU/TzuDouMAYlI/AAAAAAAAAMY/XP34PI_IUOU/s1600/html.png" /&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;Buenas, la entrada de esta semana, es de esas sencillas pero bastante prácticas. Hoy veremos como navegar entre diferentes activitys.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Normalmente, una aplicación cualquiera suele tener más de una pantalla, bien porque añadimos una pantalla de configuración, porque tenemos una lista y un detalle, o un menú enlazado a sus diferentes pantallas.&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 un nuevo proyecto, yo le he llamado Navigation, y mi activity de inicio se llamará NavigationActivity. Y ahora crearemos dos activitys más, una de ellas le llamaremos NavigationDetail y la otra NavigationResult, para hacer esto basta ir a crear una clase nueva y hacer que herede de &lt;b&gt;Activity&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;También hemos de crear dos nuevos layouts para estas activitys, para ello en la carpeta layout hacemos botón derecho y creamos un nuevo archivo, yo les llamaré navigationdetail.xml y navigationresult.xml. El contenido inicial lo podemos copiar del layout main.xml que ha creado al hacer el proyecto.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;el código que hemos de añadir en un principio para nuestras activitys es muy sencillo, simplemente debemos decirle cual es el layout que debe llamar, poniendo navigationdetail o navigationresult según sea el caso.&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;&amp;nbsp; &amp;nbsp;&lt;b&gt; @Override&lt;br /&gt;&amp;nbsp; &amp;nbsp; public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; super.onCreate(savedInstanceState);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; setContentView(R.layout.navigationdetail);&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&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;Por último, debemos decirle a nuestra aplicación que tenemos estas dos nuevas pantallas de nuestra aplicación, para ello abrimos el archivo AndroidManifest.xml, en la vista de código&amp;nbsp;debéis&amp;nbsp;localizar el tag &amp;lt;application&amp;gt;, dentro de este es donde se declaran todas las activitys de nuestra aplicación. Como veis, por defecto ya está declarada nuestra activity principal, la cual además tiene un par de tags que indican que será la activity que se lanzará en el inicio de la aplicación. Si quisierais cambiar vuestro activity principal, simplemente&amp;nbsp;deberéis&amp;nbsp;llevaros estos tags a la activity principal.&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 declarar una nueva activity es muy sencillo, dentro del tag &amp;lt;application&amp;gt; definis un nuevo tag &amp;lt;activity&amp;gt;, que en nuestro caso quedaría de la siguiente forma:&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;activity android:name=".NavigationDetail" /&amp;gt;&lt;br /&gt;&amp;lt;activity android:name=".NavigationResult" /&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;Una vez hecho esto nos falta navegar de una pantalla a otra. Para ello vamos a hacer una clase que nos ayude a centralizar las llamadas de navegación que llamaremos &lt;b&gt;NavigationManager&lt;/b&gt;. En principio va a tener 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); margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;public static void navegarAActivityPrincipal(Activity activity){&lt;br /&gt;  activity.finish();&lt;br /&gt;  Intent itemintent = new Intent(activity, NavigationActivity.class);&lt;br /&gt;  activity.startActivity(itemintent);&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public static void navegarAActivityDetail(Activity activity, int id1, int id2){&lt;br /&gt;  activity.finish();    &lt;br /&gt;  Intent itemintent = new Intent(activity, NavigationDetail.class);&lt;br /&gt;  Bundle b = new Bundle();&lt;br /&gt;  b.putInt("id1", id1);&lt;br /&gt;  b.putInt("id2", id2);&lt;br /&gt;  itemintent.putExtra("android.intent.extra.INTENT", b);&lt;br /&gt;  activity.startActivity(itemintent);&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public static int getId1(Activity activity){&lt;br /&gt;  int id1 = 0;&lt;br /&gt;  Intent startingIntent = activity.getIntent();&lt;br /&gt;        if (startingIntent != null)&lt;br /&gt;        {&lt;br /&gt;         Bundle b = startingIntent.getBundleExtra("android.intent.extra.INTENT");&lt;br /&gt;         if (b != null) {&lt;br /&gt;          id1 = b.getInt("id1");          &lt;br /&gt;         }&lt;br /&gt;        }&lt;br /&gt;        return id1;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public static int getId2(Activity activity){&lt;br /&gt;  int id2 = 0;&lt;br /&gt;  Intent startingIntent = activity.getIntent();&lt;br /&gt;        if (startingIntent != null)&lt;br /&gt;        {&lt;br /&gt;         Bundle b = startingIntent.getBundleExtra("android.intent.extra.INTENT");&lt;br /&gt;         if (b != null) {&lt;br /&gt;          id2 = b.getInt("id2");          &lt;br /&gt;         }&lt;br /&gt;        }&lt;br /&gt;        return id2;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; private final static int KEY_RESULT = 89865; &lt;br /&gt; &lt;br /&gt; public static void navegarAActivityResult(Activity activity){&lt;br /&gt;  Intent itemintent = new Intent(activity, NavigationResult.class);&lt;br /&gt;  activity.startActivityForResult(itemintent, KEY_RESULT);&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public static void returnValueActivityResult(Activity activity, int id1){&lt;br /&gt;  Bundle bundle = new Bundle();&lt;br /&gt;     bundle.putInt("id1", id1);&lt;br /&gt;     Intent mIntent = new Intent();&lt;br /&gt;     mIntent.putExtras(bundle);&lt;br /&gt;     activity.setResult(Activity.RESULT_OK, mIntent);&lt;br /&gt;     activity.finish();&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public static int getValueActivityResult(int requestCode, int resultCode, Intent data){&lt;br /&gt;  int id1 = 0;&lt;br /&gt;  if(data != null &amp;amp;&amp;amp; requestCode == KEY_RESULT &amp;amp;&amp;amp; Activity.RESULT_OK == resultCode){&lt;br /&gt;   id1 = data.getExtras().getInt("id1");  &lt;br /&gt;  }  &lt;br /&gt;  return id1;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Tiene bastantes métodos pero yo prefiero tenerlos todos en el mismo punto para tener un mejor control de la navegación. Todos los métodos son estáticos para que no haga falta instanciar esta clase.&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 primer método navegarAActivityPrincipal nos lleva a la activity de inicio. En todos los métodos para navegar definimos un objeto Intent que es una clase que nos permite una activity a ejecutar. En este caso le decimos que es la principal y después llamamos al método startActivity pasándole como parámetro el intent. Lo podemos utilizar así en un Button en nuestra activity NavigationDetail:&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;btn.setOnClickListener(new OnClickListener() {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;@Override&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;public void onClick(View v) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;           &lt;/span&gt;NavigationManager.navegarAActivityPrincipal(NavigationDetail.this);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&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;El segundo método, &lt;b&gt;navegarAActivityDetail&lt;/b&gt;, hace casi lo mismo que es el anterior, pero ahora queremos pasarle una serie de parámetros a nuestra activity, para ello nos ayudamos de la calse Bundle a la que le vamos indicando todos los parámetros que&amp;nbsp;enviaremos, y este Bundle se lo añadimos a nuestro Intent para que se lo&amp;nbsp;envíe&amp;nbsp;a la activity que vamos a abrir.&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 recoger estos parámetros utilizaremos los métodos &lt;b&gt;getId1&lt;/b&gt; y &lt;b&gt;getId2&lt;/b&gt;, cada uno de estos revisan en el Intent de destino los BundleExtra que indicamos en el método anterior y buscar nuestros parámetros para devolverlos finalmente. Estos dos métodos debemos utilizarlos en el OnCreate del activity NavigationDetail. Para comprobar que funcionan&amp;nbsp;podéis&amp;nbsp;crear un TextView y mostrar los valores que&amp;nbsp;habéis&amp;nbsp;pasado desde otra activity.&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;@Override&lt;br /&gt;public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; super.onCreate(savedInstanceState);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; setContentView(R.layout.navigationdetail);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int id1 = NavigationManager.getId1(this);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int id2 = NavigationManager.getId2(this);&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;Los siguientes métodos se utilizan cuando desde una activity estamos realizando un proceso que por el medio necesita llamar a otra activity, desde esa nueva activity iniciamos un nuevo proceso que generará un resultado y se lo enviaremos a nuestra primera activity. Por ejemplo, seleccionar una foto o un contacto de nuestra agenda.&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 &lt;b&gt;navegarAActivityResult&lt;/b&gt;, hace&amp;nbsp;casi&amp;nbsp;lo mismo que el resto, pero ahora llamamos a startActivityForResult y como segundo parámetro le pasamos una clave que hemos creado en esta misma clase con un código que elegimos nosotros. El cual nos servirá para recoger después el resultado.&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 siguiente método, returnValueActivityResult, lo utilizaremos en el activity al que llamamos para devolver el resultado. Simplemente mete en el BundleExtra los valores que vamos a devolver y le decimos que el resultado de la operación ha sido correcto. Si quisierais controlar en la vuelta errores, etc.. podríais hacerlo con los distintos valores de RESULT.&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, una vez que hemos regresado a la activity de origen, debemos recoger estos parámetros, para ello debemos hacerlo en el método &lt;b&gt;OnActivityResult&lt;/b&gt;, que es el encargado de recoger estas peticiones y procesarlas. Nosotros&amp;nbsp;sobrescribiremos&amp;nbsp;el método con 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); margin: 0pt; overflow: auto; padding: 8px 12px; width: 640px;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;@Override&lt;br /&gt;&amp;nbsp; &amp;nbsp; public void onActivityResult(int requestCode, int resultCode, Intent data) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; super.onActivityResult(requestCode, resultCode, data);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; int id1 = NavigationManager.getValueActivityResult(requestCode, resultCode, data);&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;Con estos pocos casos podeis controlar la mayor parte de la navegación de una aplicación. Por último deciros que es en la clase NavigationManager donde deberiais añadir las llamadas para registrar como navegan los usuarios por vuestra aplicación. Si os&amp;nbsp;acordáis&amp;nbsp;vimos como hacerlo la semana pasada con &lt;a href="http://www.nosinmiubuntu.com/2012/02/google-analytics-en-android.html" target="_blank"&gt;&lt;b&gt;Google Analitycs&lt;/b&gt;&lt;/a&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-278952254055164420?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=VTdk08r3D2M:PAbQrWrUabY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8847417749346587759/posts/default/278952254055164420" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8847417749346587759/posts/default/278952254055164420" /><link rel="alternate" type="text/html" href="http://www.nosinmiubuntu.com/2012/02/navegando-en-nuestra-aplicacion-android.html" title="Navegando en nuestra aplicación 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://2.bp.blogspot.com/-QX7VVO-3AQU/TzuDouMAYlI/AAAAAAAAAMY/XP34PI_IUOU/s72-c/html.png" height="72" width="72" /></entry><entry><id>tag:blogger.com,1999:blog-8847417749346587759.post-8899239823947139294</id><published>2012-02-12T22:40:00.000+01:00</published><updated>2012-02-12T22:40:15.143+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux Mint" /><category scheme="http://www.blogger.com/atom/ns#" term="Cinnamon" /><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 #63</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;Finalizando la semana ya estamos aquí con una nueva edición de &lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: 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;. 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;/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;&lt;b&gt;Mariano Cabrera&lt;/b&gt; es el protagonista de hoy, quien nos comenta que usa &lt;a href="http://cinnamon.linuxmint.com/"&gt;&lt;b&gt;Cinnamon&lt;/b&gt;&lt;/a&gt;, un Fork basado en Gnome Shell,&amp;nbsp; que hace al usuario tener un entorno muy similar a Gnome 2. Además nos aclara que también es usario de Unity y Gnome Shell.&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/-Jysk8iyVSRM/TzguOpEFw2I/AAAAAAAACII/tIY0UU5EWJE/s1600/Men%C3%BA_004.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://4.bp.blogspot.com/-Jysk8iyVSRM/TzguOpEFw2I/AAAAAAAACII/tIY0UU5EWJE/s320/Men%C3%BA_004.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/-sdfUYNXcUBs/TzguQ9ZfewI/AAAAAAAACIQ/sqeVWuxuIHA/s1600/Men%C3%BA_005.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://4.bp.blogspot.com/-sdfUYNXcUBs/TzguQ9ZfewI/AAAAAAAACIQ/sqeVWuxuIHA/s320/Men%C3%BA_005.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/-VqDaTrTOFHs/TzguUiG-wEI/AAAAAAAACIY/DnVh5BLosD0/s1600/Men%C3%BA_006.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://2.bp.blogspot.com/-VqDaTrTOFHs/TzguUiG-wEI/AAAAAAAACIY/DnVh5BLosD0/s320/Men%C3%BA_006.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&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://releases.ubuntu.com/11.10/"&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;Entorno de escritorio:&lt;/span&gt; &lt;a href="http://www.blogger.com/goog_89484490"&gt;Cinnamon 1.2&lt;/a&gt;&lt;/b&gt;&lt;a href="http://cinnamon.linuxmint.com/"&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-size: small;"&gt;&lt;b&gt;&lt;span style="color: #444444;"&gt;Tema:&lt;/span&gt; &lt;a href="http://danrabbit.deviantart.com/art/elementary-gtk-theme-83104033"&gt;ElementaryOS&lt;/a&gt;&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;&lt;span style="color: #444444;"&gt;Iconos:&lt;/span&gt; Ambiance&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:&lt;/span&gt; &lt;a href="http://www.infocoches.com/fotos/fiat/2012-500-Abarth/1/83667/"&gt;Fiat 500 Abarth&lt;/a&gt; &lt;/b&gt;&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;&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;/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&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;/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-8899239823947139294?l=www.nosinmiubuntu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=XqLSLt1X4Cw:Eje035Y_6d4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8847417749346587759/posts/default/8899239823947139294" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8847417749346587759/posts/default/8899239823947139294" /><link rel="alternate" type="text/html" href="http://www.nosinmiubuntu.com/2012/02/el-escritorio-del-lector-63.html" title="El Escritorio del Lector #63" /><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-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;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=ClQFNPQzh6A:TuUbVl3kn2s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&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;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=p8tj47Pn8z0:oS2RG4qOGmQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&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;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=YojXSWpUqAY:uJXkkQX9XIU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&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;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=wEzwJwDMwjw:442q-q4lVHk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&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;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=1BwKkxtZDlg:O45FUV4TB1k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&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;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=RU8NG0IrVo0:aza4OZ6slPM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&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;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=KJL6JStxuFA:jtBnIbGgEdQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&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;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=lP_nxJG860g:jnBPAIhn-FU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&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;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=dD0vgJZjAQE:WQoLbv_hrtQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&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;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=L-dDjKthg4M:TVSOneZoQrk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&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;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=MaBTrh93aXQ:JWNV0YZtovk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&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;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=npWxcAiUjVc:GrlqlvdLwNI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&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;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=XQtrOr2tgIc:Ktehq-cIVes:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&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;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=P22WPO1SeOY:SGCbhAF_2tU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&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;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=73jpWW49oSU:r43omlBy_V8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&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;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=N9zhBX--vXs:75UUxQX3iL8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&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;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=OiYwHejaa5o:Yz9kt-FmVKg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&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;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=hwWb-vAx5Do:2qVCeqH0xIA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&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;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=g6DJmm-sKIc:k5DmhNSmb30:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&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;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=VJUYAOUw2r8:YHJXJQ32pbE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&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;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Nosinmiubuntu?a=m6TUlKEFOCc:lDXOJJTzb7U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Nosinmiubuntu?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&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></feed>

