[{"content":"Cuando se trata de viajar o vivir en China, tienes que prepararte para enfrentarte al Gran Cortafuegos Chino. Este sofisticado sistema de censura restringe el acceso a plataformas tan cotidianas como Google, WhatsApp o Instagram, convirtiendo tareas simples en una misión casi imposible.\nPor suerte, existen herramientas VPN que funcionan como un auténtico salvavidas digital. Pero ojo, no todas las VPN son iguales. En este artículo, vamos a ver cómo Surfshark no solo funciona en China, sino que ha sido específicamente diseñado para sortear estos bloqueos y devolverte el control de tu conexión a Internet.\nEL GRAN CORTAFUEGOS CHINO Antes de entrar en materia con la solución, es importante entender a qué nos enfrentamos. El Gran Cortafuegos no es un simple filtro, sino una compleja infraestructura tecnológica diseñada para controlar la información que entra y sale del país. Comprender su funcionamiento te ayudará a valorar por qué una VPN especializada es tu mejor aliado.\n¿Qué es el gran cortafuegos de China? En pocas palabras, el Gran Cortafuegos de China (o Great Firewall, en inglés) es un sistema masivo de censura y vigilancia de Internet implementado por el gobierno chino. Su funcionamiento se basa en dos principios:\nEl gobierno establece una lista negra de páginas web, servicios y aplicaciones a los que no se puede acceder desde el país. Cuando una persona intenta acceder a uno de estos recursos bloqueados, el cortafuegos intercepta la petición y la bloquea, impidiendo la conexión. La lista de servicios y páginas web inaccesibles es enorme y afecta a nuestro día a día digital. Algunos de los más importantes son:\nRedes sociales: Facebook, Twitter, Instagram, LinkedIn, Mastodon, TikTok, etc. Mensajería: WhatsApp, Telegram, Signal, etc. Buscadores: Google, DuckDuckGo, Yahoo, etc. Email: Gmail, ProtonMail, Yahoo, etc. Plataformas de vídeo: YouTube, Vimeo, Twitch, DailyMotion, etc. Nubes de almacenamiento: Google Drive, Dropbox, Mega, Box, etc. Herramientas de IA: ChatGPT, Perplexity, Claude, Gemini, Copilot, etc. Podcast: Spotify, Apple Podcasts, iVoox, etc. Prensa internacional: The New York Times, BBC, etc. LA SOLUCIÓN AL GRAN CORTAFUEGOS DE CHINA Para evitar los bloqueos del Gran Cortafuegos, la solución más efectiva es usar un servicio de VPN (Red Privada Virtual). Si no tienes claro qué es una VPN y para qué sirve, primero te recomiendo leer esta guía. Al conectarte a una VPN, todo tu tráfico de Internet se redirige a través de un servidor ubicado en otro país, permitiéndote evitar las restricciones locales.\nSin embargo, hay que tener en cuenta que no todas las VPN funcionan en China.\n¿Por qué las VPN tradicionales no son suficientes? El Gran Cortafuegos es lo suficientemente inteligente como para detectar y bloquear el tráfico generado por la mayoría de los servicios VPN. En el momento en que detecta que estás usando una, bloquea la conexión.\nPara que una VPN funcione en territorio chino, el proveedor debe trabajar activamente para pasar desapercibido. Algunas de las técnicas que deben aplicar son:\nTécnicas de ofuscación: Sirven para enmascarar el tráfico de la VPN y hacerlo pasar por tráfico de navegación normal (HTTPS). Así, el cortafuegos no puede identificarlo como una conexión VPN. Protocolos especializados: Utilizar protocolos de seguridad menos comunes o modificados que no sean fácilmente detectables por los sistemas de inspección del cortafuegos. Algunos de estos protocolos especializados pueden ser IKEV2, OpenVPN, ShadowSocks, etc. Rotación constante de IPs y servidores: Es vital que el proveedor de VPN añade continuamente nuevos servidores con nuevas direcciones IP. Si no lo hiciera, los servidores existentes serían rápidamente identificados y bloqueados, o los servicios a los que accedes podrían detectar tu IP como sospechosa. ¿POR QUÉ RECOMIENDO EL USO DE SURFSHARK? Después de haber probado varias opciones, mi recomendación para China es clara: Surfshark. No solo cumple con todos los requisitos técnicos para funcionar, sino que lo hace de una manera sencilla y fiable, algo que es crucial cuando estás en el terreno.\nAquí te detallo las razones por las que considero que es la mejor opción:\nPorque realmente funciona en China. Esto es lo más importante. De poco sirve una VPN muy segura si no se puede conectar. Al abrir la aplicación, su modo NoBorders detecta automáticamente que estás en China y te ofrece una lista de servidores optimizados para eludir el Gran Cortafuegos. Por experiencia personal, puedo decir que mientras otras VPN de pago como NordVPN no funcionan, y otras como ExpressVPN fallan cuando más las necesitas, Surfshark se ha mantenido estable. Dispositivos ilimitados. Puedes instalar y usar tu cuenta de Surfshark en todos tus dispositivos sin límite: Windows, Android, iOS, macOS, Linux, Fire TV Stick, etc. Si viajas con un portátil, un móvil y una tablet, podrás protegerlos todos con una única suscripción. Tecnología Bypasser (Split Tunneling). Esta función te permite elegir qué aplicaciones usan la VPN y cuáles no. Esto es fundamental en China, ya que es recomendable que las aplicaciones de pago locales como AliPay o WeChat Pay, o las de transporte como Didi, usen tu conexión local para funcionar correctamente. Además, usar la VPN solo donde la necesitas ayuda a optimizar el consumo de batería de tus dispositivos. Alta rotación de IPs. Surfshark está constantemente añadiendo nuevos servidores y direcciones IP. Esto evita que los servicios que usas (como tu banco o Gmail) detecten tu conexión como sospechosa y te bloqueen el acceso. Relación calidad/precio. Es una de las VPN más baratas. Además, si consideras que ofrece conexiones ilimitadas para todos tus dispositivos y un tráfico sin restricciones, su precio es más que justo. CONSEJOS PARA USAR SURFSHARK EN CHINA Para sacarle el máximo partido a Surfshark en China, ten en cuenta estos consejos prácticos:\nInstala la aplicación ANTES de viajar. Una vez en China, no tendrás acceso a Google Play Store para descargarla. Asegúrate de tenerla instalada y configurada en todos tus dispositivos antes de aterrizar. Configuración recomendada. En iOS, macOS, Windows y Android, la aplicación funciona a la perfección. Mi recomendación es entrar en los ajustes, seleccionar el protocolo WireGuard y activar la función Bypasser para seleccionar solo las aplicaciones que quieres que pasen por la VPN. Uso en Linux. La aplicación de escritorio para Linux está menos desarrollada y no suele funcionar en China. Sin embargo, puedes configurar una conexión manual a través de Network Manager usando los archivos de configuración que proporciona Surfshark para conectarte a sus servidores. Conexión simple. No busques configuraciones complicadas en la aplicación oficial de Surfshark. Simplemente usa la configuración estándar y pulsa el botón Conectar. La app ya sabe que estás en China y aplicará los ajustes necesarios. Si una conexión falla, vuelve a intentarlo hasta que se establezca. CONCLUSIONES FINALES Si buscas una VPN que te garantice navegar por Internet sin restricciones en China, Surfshark es, sin duda, una de las mejores opciones que existen actualmente en el mercado.\nSu funcionamiento es satisfactorio, estable y rápido. No solo te permite acceder a todos los servicios bloqueados, sino que lo hace de forma sencilla y transparente para el usuario. Además, en las pocas ocasiones en que he necesitado contactar con su equipo de soporte, me han ofrecido soluciones de forma rápida y eficiente. En definitiva, es una herramienta imprescindible para cualquier viajero o residente en China.\n","permalink":"https://geeklandlinux.github.io/posts/como-surfshark-te-ayuda-a-navegar-sin-limites-en-china/","summary":"\u003cp\u003eCuando se trata de viajar o vivir en China, tienes que prepararte para enfrentarte al \u003cstrong\u003eGran Cortafuegos Chino\u003c/strong\u003e. Este sofisticado sistema de censura restringe el acceso a plataformas tan cotidianas como Google, WhatsApp o Instagram, convirtiendo tareas simples en una misión casi imposible.\u003c/p\u003e\n\u003cp\u003ePor suerte, existen herramientas VPN que funcionan como un auténtico salvavidas digital. Pero ojo, no todas las VPN son iguales. En este artículo, vamos a ver cómo Surfshark no solo funciona en China, sino que ha sido específicamente diseñado para sortear estos bloqueos y devolverte el control de tu conexión a Internet.\u003c/p\u003e","title":"Cómo SURFSHARK te ayuda a navegar sin límites en China"},{"content":"En este artículo, exploraremos cómo usar la hoja de cálculo Google Sheets para traducir textos de un idioma a otro de manera automática y eficiente. Esta herramienta puede ser especialmente útil y eficiente para proyectos multilingües, informes, y en el momento de traducir grandes volúmenes de texto automáticamente. Aquí te mostramos cómo hacerlo paso a paso.\n¿ POR QUÉ USAR GOOGLE SHEETS PARA TRADUCIR? Existen muchas formas de traducir textos, pero si necesitas traducir contenido ya presente en una hoja de cálculo, Google Sheets es una excelente opción. A continuación, te explico por qué:\nEficiencia: Con una sola fórmula, puedes traducir cientos de miles de líneas de manera extremadamente rápida, ahorrando tiempo y esfuerzo. Calidad: Las habilidades de traducción de Google son bastante buenas y mejoran constantemente. En poco tiempo, podrían ofrecer traducciones similares a las de un humano. Actualización automática: Las traducciones se actualizan automáticamente si modificas el texto original, facilitando la gestión de documentos multilingües. COMO TRADUCIR TEXTOS EN LA HOJA DE CÁLCULO GOOGLE SHEETS Primero, abre una nueva hoja en Google Sheets y organiza tus textos originales en una columna, por ejemplo, en la columna A tenemos el texto en un idioma extranjero que en mi caso es el inglés:\nA continuación utilizaremos la función o fórmula a GOOGLETRANSLATE para realizar las traducciones de cada una de las casillas. La sintaxis de la fórmula google translate es la siguiente:\n=GOOGLETRANSLATE(texto;\u0026#34;idioma_origen\u0026#34;;\u0026#34;idioma_destino\u0026#34;) texto: El texto a traducir. Aquí tendremos que indicar la casilla que queremos traducir. idioma_origen: Código del idioma original (por ejemplo, \u0026ldquo;en\u0026rdquo; para inglés). El texto a usar para definir el idioma de origen lo encontrarán en apartado Código para definir cara uno de idiomas a traducir. idioma_destino: Código del idioma de destino (por ejemplo, \u0026ldquo;es\u0026rdquo; para español). El texto a usar para definir el idioma de destino lo encontrarán en apartado Código para definir cara uno de idiomas a traducir. Por lo tanto En la celda donde quieres que aparezca la traducción, escribe la fórmula. Por ejemplo, para traducir el texto presente en la celda A2 del inglés al español:\n=GOOGLETRANSLATE(A2;\u0026#34;en\u0026#34;;es\u0026#34;) Su ahorra arrastramos la fórmula conseguiremos la totalidad de traducciones de forma extremadamente rápida y sencilla.\nCÓDIGO PARA DEFINIR CADA UNO DE LOS IDIOMAS A TRADUCIR Pare definir los idiomas de origen y destino tienen que usar las siguientes nomenclaturas:\nCódigo Idioma af Afrikaans sq Albanés am Amárico ar Árabe hy Armenio az Azerí eu Vasco be Bielorruso bn Bengalí bs Bosnio bg Búlgaro ca Catalán ceb Cebuano ny Chichewa zh-CN Chino (Simplificado) zh-TW Chino (Tradicional) co Corso hr Croata cs Checo da Danés nl Holandés en Inglés eo Esperanto et Estonio tl Filipino fi Finés fr Francés fy Frisón gl Gallego ka Georgiano de Alemán el Griego gu Guyaratí ht Criollo Haitiano ha Hausa haw Hawaiano he Hebreo hi Hindi hmn Hmong hu Húngaro is Islandés ig Igbo id Indonesio ga Irlandés it Italiano ja Japonés jw Javanés kn Canarés kk Kazajo km Jemer rw Kinyarwanda ko Coreano ku Kurdo ky Kirguís lo Lao la Latín lv Letón lt Lituano lb Luxemburgués mk Macedonio mg Malgache ms Malayo ml Malabar mt Maltés mi Maori mr Maratí mn Mongol my Birmano ne Nepalí no Noruego or Oriya ps Pastún fa Persa pl Polaco pt Portugués pa Punjabi ro Rumano ru Ruso sm Samoano gd Gaélico Escocés sr Serbio st Sesotho sn Shona sd Sindhi si Cingalés sk Eslovaco sl Esloveno so Somalí es Español su Sundanés sw Suajili sv Sueco tg Tayiko ta Tamil tt Tártaro te Telugu th Tailandés tr Turco tk Turcomano uk Ucraniano ur Urdu ug Uigur uz Uzbeko vi Vietnamita cy Galés xh Xhosa yi Yidis yo Yoruba zu Zulú Estos códigos permitirán definir los idiomas para traducir textos automáticamente entre diferentes idiomas utilizando Google Sheets.\nLIMITES DE USO Aunque Google Sheets es una herramienta poderosa, existen limitaciones en la cantidad de traducciones que puedes realizar en un periodo de tiempo corto. No obstante puedo garantizar que en mi caso he realizado traducciones de 300.000 líneas y no he rebasado los límites. Por lo tanto el límite establecido es válido para el 99.99% de los mortales.\nCONCLUSIONES Usar Google Sheets y su función GOOGLETRANSLATE es una manera eficiente y accesible de traducir grandes volúmenes de texto. Esta herramienta es ideal para proyectos que requieren manejo multilingüe, permitiendo ahorrar tiempo y esfuerzo. Experimenta con esta función y descubre cómo puede facilitar tu trabajo diario en un entorno globalizado.\n","permalink":"https://geeklandlinux.github.io/posts/como-traducir-textos-automaticamente-con-google-sheets/","summary":"\u003cp\u003eEn este artículo, exploraremos cómo usar la hoja de cálculo Google Sheets para traducir textos de un idioma a otro de manera automática y eficiente. Esta herramienta puede ser especialmente útil y eficiente para proyectos multilingües, informes, y en el momento de traducir grandes volúmenes de texto automáticamente. Aquí te mostramos cómo hacerlo paso a paso.\u003c/p\u003e","title":"Cómo Traducir Textos Automáticamente con Google Sheets"},{"content":"En el mundo de los sistemas operativos, la gestión eficiente de software es crucial para mantener nuestro entorno de trabajo optimizado y seguro. Para los usuarios de Windows, Chocolatey se ha establecido como el gestor de paquetes por excelencia. Si alguna vez has soñado con una manera más sencilla y automatizada de instalar, actualizar y gestionar tus aplicaciones, este es tú artículo.\nQUE ES CHOCOLATEY Chocolatey es un gestor de paquetes para Windows, similar a los gestores de paquetes apt, dnf, pacman, rpm, etc que se encuentran instalados en sistemas operativos basados en Unix. Por lo tanto el gestor de paquetes Chocolatey facilita la instalación, actualización y administración de software en el sistema operativo Windows mediante la línea de comandos.\nDE DONDE PROVIENE EL SOFTWARE INSTALADO MEDIANTE CHOCOLATEY El software instalado a través de Chocolatey proviene de un repositorio central de paquetes mantenido por la comunidad y los mantenedores de Chocolatey.\nLos repositorios de Chocolatey no únicamente contienen archivos ejecutables. En muchas ocasiones contienen scripts que lo hacen que es descargar e instalar el software desde sus páginas oficiales.\n¿SON SEGUROS LOS PAQUETES DESCARGADOS CON CHOCOLATEY? El software descargado es seguro. La comunidad de Chocolatey implementa las siguientes medidas de seguridad para asegurar la seguridad e integridad de los paquetes descargados:\nLa totalidad de paquetes de Chocolatey pasan por un proceso de revisión manual. Se revisan la totalidad de scripts para asegurar que no contienen código malicioso y siguen la directrices de calidad de Chocolatey. Se utilizan herramientas automatizadas para garantizar que no existan problemas de seguridad ni malas prácticas. Algunos de los paquetes están firmados mediante un certificado digital. Por lo tanto antes de instalar un paquetes intenten visitar su página web y ver si el paquete está firmado digitalmente y marcado como aprovado. Los scripts de instalación están disponibles para ser revisados por los usuarios. Cualquier persona puede inspeccionar el contenido de cualquier paquete antes de instalarlo utilizando comandos como choco install \u0026lt;nombre_del_paquete\u0026gt; -dv A pesar de la totalidad de mecanismos de seguridad recomiendo realizar auditorías regulares de los paquetes instalados para asegurarse que estén actualizados, libres de vulnerabilidades conocidas y aprobados por parte de la comunidad de Chocolatey.\nPara finalizar este apartado comentar que cuando buscamos paquetes mediante el comando choco search obtendremos información sobre si el programa a instalar está verificado o no. Por ejemplo si ejecuto el comando choco search adobe obtendré el siguiente resultado\nChocolatey v2.3.0 AdobeAIR 51.0.1.3 [Approved] Downloads cached for licensed users adobe-connect 2024.4.729 [Approved] - Possibly broken adobedigitaleditions 4.5.12 [Approved] Downloads cached for licensed users adobe-dnc 16.3.0 [Approved] adobereader 2024.2.20759 Como se puede ver en la gran mayoría de paquetes figura la palabra [Approved]. Por lo tanto estos paquetes están verificados.\nCOMO INSTALAR CHOCOLATEY EN WINDOWS Chocolatey es una herramienta de administración de paquetes que debe instalarse manualmente. Para su instalación se tiene que proceder del siguiente modo:\nAbrir PowerShell con privilegios de administrador: Para ello presionar Win+x y seleccionar la opción Windows PowerShell (Administrador) Cuando se abra Powershell ejecutar el siguiente comando para configurar la ejecución de scripts: Set-ExecutionPolicy Bypass -Scope Process -Force Seguidamente ejecutar el siguiente comando para instalar Chocolatey: [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.WebClient]::new().DownloadString(\u0026#39;https://chocolatey.org/install.ps1\u0026#39;) | Invoke-Expression Una vez instalado el gestor de paquetes ejecutar e comando choco --version para asegurar que la instalación se ha realizado correctamente. choco --version 2.3.0 PROGRAMAS QUE PODEMOS INSTALAR CON EL GESTOR DE PAQUETES CHOCOLATEY Existen más de 10.000 paquetes / programas mantenidos por la comunidad. Estos paquetes se pueden encontrar y consultar en la siguiente ubicación:\nhttps://community.chocolatey.org/packages/\nSi quieren comprobar si existe un programa en concreto desde la consola de Windows, como por ejemplo el reproductor de vídeo mpv, pueden ejecutar un comando del siguiente tipo:\nchoco search mpv El resultado en mi caso ha sido el siguiente:\njellyfin-media-player 1.11.1 [Approved] Downloads cached for licensed users lively 2.1.0.8 [Approved] Downloads cached for licensed users memento 1.2.2 [Approved] memento.install 1.2.2 [Approved] memento.portable 1.2.2 [Approved] mpc-qt 23.12.0 [Approved] mpv 2023.12.10 [Approved] mpv.install 2023.12.10 [Approved] mpv.net 7.1.1 [Approved] mpv.portable 2023.12.10 [Approved] mpvio 0.38.0 [Approved] mpvio.install 0.38.0 [Approved] mpvio.portable 0.38.0 [Approved] mpvnet.install 5.4.9.20220427 [Approved] Downloads cached for licensed users mpvnet.portable 7.1.1 [Approved] Downloads cached for licensed users ... Por lo tanto el programa mpv existe y lo puedo instalar de la forma que verán en el siguiente apartado. Para ver más opciones para buscar paquetes pueden consultar el siguiente enlace:\nhttps://docs.chocolatey.org/en-us/choco/commands/search/\nINSTALAR PROGRAMAS CON CHOCOLATEY Después de consultar el listado de paquetes he decido que instalar el reproductor de vídeo mpv mediante chocolatey. Para ello tan solo hay que ejecutar el comando choco install seguido del paquete que quiero instalar, que en mi caso es mpv.\nchoco install mpv -y Nota: El parámetro -y es para confirmar por avanzado la instalación del paquete mpv. Es imprescindible ponerlo en el caso que se genere algún script para automatizar la instalación de software.\nLa salida de la instalación ha sido la siguiente:\nC:\\WINDOWS\\system32\u0026gt;choco install mpv Chocolatey v2.3.0 Installing the following packages: mpv By installing, you accept licenses for the packages. Downloading package from source \u0026#39;https://chocolatey.org/api/v2/\u0026#39; Progress: Downloading mpv.install 2023.12.10... 100% mpv.install v2023.12.10 [Approved] mpv.install package files install completed. Performing other installation steps. The package mpv.install wants to run \u0026#39;chocolateyinstall.ps1\u0026#39;. Note: If you don\u0026#39;t run this script, the installation will fail. Note: To confirm automatically next time, use \u0026#39;-y\u0026#39; or consider: choco feature enable -n allowGlobalConfirmation Do you want to run the script?([Y]es/[A]ll - yes to all/[N]o/[P]rint): y Extracting 64-bit C:\\ProgramData\\chocolatey\\lib\\mpv.install\\tools\\mpv-0.37.0-x86_64_x64.7z to C:\\ProgramData\\chocolatey\\lib\\mpv.install\\tools... C:\\ProgramData\\chocolatey\\lib\\mpv.install\\tools Extracting C:\\ProgramData\\chocolatey\\lib\\mpv.install\\tools\\rossy.zip to C:\\ProgramData\\chocolatey\\lib\\mpv.install\\tools... C:\\ProgramData\\chocolatey\\lib\\mpv.install\\tools 0 PATH environment variable does not have C:\\ProgramData\\chocolatey\\lib\\mpv.install\\tools in it. Adding... Environment Vars (like PATH) have changed. Close/reopen your shell to see the changes (or in powershell/cmd.exe just type `refreshenv`). The install of mpv.install was successful. Deployed to \u0026#39;C:\\ProgramData\\chocolatey\\lib\\mpv.install\\tools\u0026#39; Downloading package from source \u0026#39;https://chocolatey.org/api/v2/\u0026#39; Progress: Downloading mpv 2023.12.10... 100% mpv v2023.12.10 [Approved] mpv package files install completed. Performing other installation steps. The package mpv wants to run \u0026#39;chocolateyinstall.ps1\u0026#39;. Note: If you don\u0026#39;t run this script, the installation will fail. Note: To confirm automatically next time, use \u0026#39;-y\u0026#39; or consider: choco feature enable -n allowGlobalConfirmation Do you want to run the script?([Y]es/[A]ll - yes to all/[N]o/[P]rint): y The install of mpv was successful. Software install location not explicitly set, it could be in package or default install location of installer. Chocolatey installed 2/2 packages. See the log for details (C:\\ProgramData\\chocolatey\\logs\\chocolatey.log). Una vez instalado el programa estará disponible y completamente integrado en nuestro sistema operativo Windows. Para ver más ejemplos pueden consultar el siguiente enlace https://docs.chocolatey.org/en-us/choco/commands/install/\nLISTAR LA TOTALIDAD DE PROGRAMAS INSTALADOS Si queremos listar la totalidad de paquetes instalados en nuestro equipo mediante chocolatey tan solo tenemos que ejecutar el comando choco list. En mi caso los programas que tengo instalados son:\nC:\\WINDOWS\\system32\u0026gt;choco list chocolatey 2.3.0 croc 10.0.7 mpv 2023.12.10 mpv.install 2023.12.10 yt-dlp 2024.5.27 LISTAR LA TOTALIDAD DE PAQUETES OBSOLETOS Para listar la totalidad de paquetes instalados que están desactualizados tan solo tienen que ejecutar el siguiente comando:\nchoco outdated En mi caso pueden ver que la totalidad de paquetes están actualizados a la última versión.\nC:\\WINDOWS\\system32\u0026gt;choco outdated Chocolatey v2.3.0 Outdated Packages Output is package name | current version | available version | pinned? Chocolatey has determined 0 package(s) are outdated. ACTUALIZAR PROGRAMAS CON EL GESTOR DE PAQUETES CHOCOLATEY Si queremos actualizar la totalidad de programas instalados mediante chocolatey tan solo tenemos que ejecutar el siguiente comando:\nchoco upgrade all -y En el caso que únicamente quisiéramos actualizar un paquete en particular ejecutaríamos el comando choco upgrade seguido del nombre del paquete que queremos actualizar. Si en mi caso quiero actualizar mpv ejecutaré el siguiente comando:\nchoco upgrade mpv DESINSTALAR PROGRAMAS CON EL GESTOR DE PAQUETES CHOCOLATEY Para desinstalar un paquete tan solo tenemos que ejecutar el comando choco uninstall seguido del nombre del paquete que queremos desinstalar. Por lo tanto para desinstalar el paquete mpv tan solo tenemos que ejecutar el siguiente comando:\nchoco uninstall mpv Para desinstalar un paquete y asegurar que se desinstalan la totalidad de dependencias deberán usar el siguiente comando:\nchoco uninstall mpv -y --remove-dependencies VENTAJAS QUE OFRECE INSTALAR PROGRAMAS CON CHOCOLATEY Las ventajas de usar un gestor de paquetes como chocolatey son diversas. Algunas de ellas son las que cito a continuación:\nLas actualizaciones son más fáciles ya que mediante la ejecución de simples comandos puedo mantener mi software actualizado. Permite automatizar la gestión de los programas instalados en nuestro equipo. Por ejemplo nos permite automatizar la actualización de software en el equipo. Permite generar scripts para automatizar la instalación del software necesario en nuevos equipos. Además se integra con herramientas de automatización como Ansible, Puppet y Chef. Puedo gestionar la actualización y desinstalación de programas de forma centralizada. Dispone de más de 10.000 programas listos para su instalación. Por lo tanto podremos instalar software de forma muy sencilla que de otra manera no podríamos. Los repositorios de Chocolatey disponen de programas que de otra forma serian difíciles de localizar e instalar. ALTERNATIVAS AL GESTOR DE PAQUETES CHOCOLATEY En Windows existen diversas alternativas a Chocolatey. Algunas de ellas son las siguientes:\nWinget: Gestor de paquetes desarrollados por Microsoft y por lo tanto se integra bien con el sistema operativo Windows. Es una opción muy a tener en cuenta para la gran mayoría de usuarios domésticos. El catálogo de aplicaciones disponibles para su instalación es grande. Scoop: Enfocado e ideal para los desarrolladores de software y usuarios que les guste instalar aplicaciones de línea de comandos. Este repositorio también puede ser del agrado para los desarrolladores de código abierto. Ninite: Encontraremos utilidades y software relacionados con la productividad. La cantidad de programas que podemos instalar con este gestor de paquetes es bastante reducida. NuGet: Enfocado a desarrolladores de proyectos .NET. Allí podrán encontrar un extenso repositorio de bibliotecas y herramientas para el desarrollo con .NET En mi caso uso Chocolatey porque tiene una comunidad amplia, un desarrollo activo y además es el gestor de paquetes que dispone de un catálogo más amplio. Otras opciones que usuarios normales pueden considerar es Winget. Winget está desarrollado por microsoft y también tiene un catálogo amplio de aplicaciones que va creciendo día a día.\nCONCLUSIONES Chocolatey es una herramienta esencial para cualquier usuario de Windows que busque simplificar y automatizar la gestión de software. Con su amplio catálogo de paquetes, fácil integración con herramientas de automatización y una comunidad activa, es la opción ideal para usuarios avanzados y administradores de sistemas.\nSi quieren profundizar más sobre el uso de Chocolatey pueden consultar:\nhttps://docs.chocolatey.org/en-us/choco/commands/\nPor otra parte si quieren usar Chocolatey mediante una interfaz gráfica pueden seguir las instrucciones del siguiente enlace:\nhttps://docs.chocolatey.org/en-us/chocolatey-gui/setup/installation/\n","permalink":"https://geeklandlinux.github.io/posts/gestor-de-paquetes-para-windows-para-instalar-software/","summary":"\u003cp\u003eEn el mundo de los sistemas operativos, la gestión eficiente de software es crucial para mantener nuestro entorno de trabajo optimizado y seguro. Para los usuarios de Windows, Chocolatey se ha establecido como el gestor de paquetes por excelencia. Si alguna vez has soñado con una manera más sencilla y automatizada de instalar, actualizar y gestionar tus aplicaciones, este es tú artículo.\u003c/p\u003e","title":"Gestor de paquetes para Windows para instalar software"},{"content":"Después de realizar una instalación mínima de Raspbian OS en mi Raspberry Pi, observé que el sistema de logs syslog estaba desactivado. Desde la versión Raspbian Buster, solo viene activado journalctl, ya que se considera un sistema más moderno y eficiente que ayuda a evitar el consumo de recursos. Si estás buscando habilitar syslog en la Raspberry Pi, este artículo te mostrará cómo hacerlo paso a paso.\n¿Por qué habilitar Syslog en Raspberry Pi? A pesar de las ventajas de journalctl, muchas aplicaciones aún requieren syslog para funcionar correctamente. Un ejemplo es la herramienta fail2ban, que de forma predeterminada no puede operar sin syslog. Esto puede generar varios inconvenientes si no está habilitado.\nPasos para habilitar Syslog en Raspbian OS Si te has encontrado en una situación similar y necesitas habilitar syslog, solo tienes que instalar el paquete inetutils-syslogd. Sigue estos sencillos pasos:\nAbre la terminal en tu Raspberry Pi. Ejecuta el siguiente comando para instalar el paquete inetutils-syslogd: sudo apt install inetutils-syslogd Después de instalar el paquete, el registro de logs volverá a funcionar del mismo modo que en versiones anteriores de Raspbian.\nCon esta instalación, tendrás journalctl y syslog funcionando de forma simultánea, lo que te permitirá aprovechar las ventajas de ambos sistemas de registro.\nBeneficios de habilitar Syslog Habilitar syslog en tu Raspberry Pi no solo garantiza la compatibilidad con aplicaciones más antiguas, sino que también te permite:\nMejorar la seguridad: Herramientas como fail2ban dependen de syslog para bloquear IPs maliciosas basándose en los registros de intento de acceso. Compatibilidad: Muchas aplicaciones y scripts están diseñados para trabajar con syslog, por lo que habilitarlo asegura su correcto funcionamiento. Monitoreo: Con syslog habilitado, puedes enviar registros a servidores externos para un monitoreo centralizado. Conclusión Aunque journalctl es una herramienta moderna y eficiente, habilitar syslog en tu Raspberry Pi puede ser útil para asegurar la compatibilidad y el correcto funcionamiento de diversas aplicaciones. La instalación del paquete inetutils-syslogd es sencilla y rápida, y te permitirá disfrutar de lo mejor de ambos mundos en términos de registro y monitoreo de logs.\nSi tienes alguna duda o quieres compartir tu experiencia habilitando syslog en tu Raspberry Pi, deja un comentario a continuación.\n","permalink":"https://geeklandlinux.github.io/posts/habilitar-syslog-en-la-raspberry-pi-para-funcionar-junto-journalctl/","summary":"\u003cp\u003eDespués de realizar una instalación mínima de Raspbian OS en mi Raspberry Pi, observé que el \u003ca href=\"/posts/logs-en-linux/\"\u003esistema de logs\u003c/a\u003e \u003ccode\u003esyslog\u003c/code\u003e estaba desactivado. Desde la versión Raspbian Buster, solo viene activado \u003ccode\u003ejournalctl\u003c/code\u003e, ya que se considera un sistema más moderno y eficiente que ayuda a evitar el consumo de recursos. Si estás buscando habilitar syslog en la Raspberry Pi, este artículo te mostrará cómo hacerlo paso a paso.\u003c/p\u003e","title":"Habilitar Syslog en la Raspberry Pi para funcionar junto journalctl"},{"content":"En este artículo, aprenderás a configurar una dirección IP estática en tu Raspberry Pi OS Bookworm usando Network Manager. A partir de la versión Raspberry Pi OS 12 (bookworm) se reemplazo dhcpcd y wpa_supplicant por Network Manager. Esto implica que el proceso de para que nuestra Raspberry Pi tenga una IP interna fija es totalmente diferente a como lo hacíamos con anterioridad. El proceso a seguir es el siguiente.\nCONFIGURAR UNA IP ESTÁTICA EN RASPBERRY PI OS BOOKWORM Y NETWORK MANAGER Los pasos a seguir para conseguir una IP estática en el sistema operativo Raspberry Pi OS 12 mediante Network Manager y nmcli es el que citaremos a continuación\nDEFINIR LOS PARÁMETROS DE CONFIGURACIÓN DE NUESTRA CONEXIÓN DE RED CON IP ESTÁTICA En mi caso defino que los parámetros de configuración de red tienen que ser los siguientes:\nParámetros Valores Dirección IP 192.168.1.100 Puerta de enlace 192.168.1.1 Máscara de subred /24 Servidores DNS 8.8.8.8 y 8.8.4.4 Tipo de conexión Vía Ethernet IDENTIFICAR LOS NOMBRES DE LAS INTERFACES DE RED Para identificar el nombre de nuestras interfaces de red ejecutaremos el siguiente comando en la terminal:\npi@raspberrypi:~ $ sudo nmcli -p connection show\nEl resultado debería ser similar al siguiente:\npi@raspberrypi:~ $ sudo nmcli -p connection show ============================================ Perfiles de conexiones de NetworkManager ============================================ NAME UUID TYPE DEVICE ---------------------------------------------------------------------------------------------------------------------------------- Conexión cableada 1 79297c53-82ae-393c-ba8b-739c146a8a4e ethernet end0 lo a7ba3035-f697-40a6-9502-be312b7732cd loopback lo preconfigured 80004d04-a3c2-4910-8a3f-6797e4f96a67 wifi wlan0 docker0 73c85449-57b4-4337-aba0-50decfbda887 bridge docker0 Si observamos los resultados de la salida, la interfaz de red Ethernet se llama:\nConexión cableada 1 Nota: En el hipotético caso que también quisiéramos configurar la IP de nuestra conexión de wifi vemos que su nombre es preconfigured\nEJECUTAR LOS COMANDOS PARA CONFIGURAR NUESTRA CONEXIÓN CON IP ESTÁTICA Hasta el momento que hemos identificado la totalidad de parámetros necesarios:\nParámetros Valores Dirección IP 192.168.1.100 Puerta de enlace 192.168.1.1 Mascara de subred /24 Servidores DNS 8.8.8.8 y 8.8.4.4 Nombre de la interfaz de red Conexión cableada 1 Ahora ejecutaremos los siguientes comandos para configurar nuestra conexión a Internet:\nConfigurar la IP Fija IPv4 o IPv6 Si estamos usando IPv4:\nsudo nmcli con mod \u0026#34;Conexión cableada 1\u0026#34; ipv4.addresses 192.168.1.100/24 ipv4.method manual Si en vez de una dirección IPv4 quisiéramos establecer una dirección IPv6 deberíamos ejecutar el siguiente comando:\nsudo nmcli con mod \u0026#34;Conexión cableada 1\u0026#34; ipv6.addresses tu_dirección_ipv6 ipv6.method manual En el caso hipotético que quisiéramos crear una VLAN (Virtual Local Area Network) con las IP, 192.168.1.101 y 192.168.1.102/24 deberíamos ejecutar el comando:\nsudo nmcli con mod \u0026#34;Conexión cableada 1\u0026#34; ipv4.addresses \u0026#34;192.168.1.100/24, 192.168.1.101/24, 192.168.1.102/24\u0026#34; ipv4.method manual Configurar la puerta de enlace en IPv4 o IPv6 Si estamos usando IPv4:\nsudo nmcli con mod \u0026quot;Conexión cableada 1\u0026quot; ipv4.gateway 192.168.1.1\nPara configurar la puerta de entrada en el caso que estemos usando una IPv6 ejecutaríamos el siguiente comando:\nsudo nmcli con mod \u0026#34;Conexión cableada 1\u0026#34; ipv6.gateway tu_puerta_de_entrada_ipv6 Configurar los servidores DNS en IPv4 o IPv6 Si estamos usando IPv4:\nsudo nmcli con mod \u0026#34;Conexión cableada 1\u0026#34; ipv4.dns \u0026#34;8.8.8.8,8.8.4.4\u0026#34; En el caso que usemos IPv6 entonces el comando se deberá modificar de la siguiente forma:\nsudo nmcli con mod \u0026#34;Conexión cableada 1\u0026#34; ipv6.dns \u0026#34;tu_servidor_dns_ipv6\u0026#34; REINICIAR EL GESTOR DE RED NETWORK MANAGER Para que los cambios surtan efecto, reiniciaremos Network Manager ejecutando el siguiente comando:\nsudo nmcli con down \u0026#34;Conexión cableada 1\u0026#34; \u0026amp;\u0026amp; sudo nmcli con up \u0026#34;Conexión cableada 1\u0026#34; Nota: Otra opción disponible es reiniciar la Raspberry Pi.\nVERIFICAR LA CONFIGURACIÓN DE LA CONEXIÓN CON IP ESTÁTICA Una vez finalizado el proceso podemos consultar la configuración de nuestra conexión Ethernet ejecutando el siguiente comando:\nnmcli -p connection show \u0026#34;Conexión cableada 1\u0026#34; y el resultado obtenido será parecido al siguiente:\npi@raspberrypi:~ $ sudo nmcli -p connection show ============================================ Perfiles de conexiones de NetworkManager ============================================ NAME UUID TYPE DEVICE ---------------------------------------------------------------------------------------------------------------------------------- Conexión cableada 1 79297c53-82ae-393c-ba8b-739c146a8a4e ethernet end0 lo a7ba3035-f697-40a6-9502-be312b7732cd loopback lo preconfigured 80004d04-a3c2-4910-8a3f-6797e4f96a67 wifi wlan0 docker0 73c85449-57b4-4337-aba0-50decfbda887 bridge docker0 OTROS TAREAS QUE SE PUEDE REALIZAR CON NMCLI A parte de lo mencionado a lo largo del artículo existen otras operaciones que podemos realizar con nmcli. Por ejemplo:\nASIGNACIÓN DE IP DINÁMICA EN VEZ DE IP ESTÁTICA Si en vez de una ip estática queremos una IPv4 dinámica ejecutaremos el siguiente comando:\nsudo nmcli con modify \u0026#34;Conexión cableada 1\u0026#34; ipv4.method auto Y si queremos una dirección IPv6 dinámica:\nsudo nmcli con modify \u0026#34;Conexión cableada 1\u0026#34; ipv6.method auto Una vez realizados los cambios reiniciaremos NetworkManager para que los cambios surjan efecto mediante el siguiente comando:\nsudo nmcli con down \u0026#34;Conexión cableada 1\u0026#34; \u0026amp;\u0026amp; sudo nmcli con up \u0026#34;Conexión cableada 1\u0026#34; EVITAR LA CONEXIÓN AUTOMÁTICA DE ALGUNA DE LAS INTERFACES DE RED En mi caso cada vez que arranco la Raspberry Pi se me conecta tanto la red Ethernet como a la Wifi. Para evitar que se conecte a la red wifi procederemos del siguiente modo.\nEn apartados anteriores vemos que la red Wifi se reconoce como preconfigured. Por lo tanto para evitar que la Raspberry Pi se conecte a la red Wifi de forma automática cada vez que la arranquemos ejecutaremos el siguiente comando en la terminal:\nsudo nmcli con modify \u0026#34;preconfigured\u0026#34; connection.autoconnect no Fuentes https://access.redhat.com/documentation/es-es/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/configuring-a-static-ethernet-connection-using-nmcli_configuring-and-managing-network-access\n","permalink":"https://geeklandlinux.github.io/posts/como-configurar-una-ip-estatica-en-raspberry-pi-con-nmcli/","summary":"\u003cp\u003eEn este artículo, aprenderás a configurar una dirección IP estática en tu Raspberry Pi OS Bookworm usando Network Manager. A partir de la versión Raspberry Pi OS 12 (bookworm) se reemplazo dhcpcd y wpa_supplicant por Network Manager. Esto implica que el proceso de para que nuestra Raspberry Pi tenga una IP interna fija es totalmente \u003ca href=\"/posts/configurar-ip-fija_o_estatica_ipv4/\"\u003ediferente a como lo hacíamos con anterioridad\u003c/a\u003e. El proceso a seguir es el siguiente.\u003c/p\u003e","title":"Cómo configurar una IP estática en Raspberry Pi con nmcli"},{"content":"La integridad de los archivos es de suma importancia. A menudo, descargamos archivos desde Internet, ya sean programas, imágenes ISO, documentos, o cualquier otro tipo de datos. Pero, ¿Cómo podemos estar seguros de que los archivos que descargamos no se han corrompido durante su descarga?, ¿Cómo podemos estar seguros que los ficheros descargados no han sido comprometidos por un atacante? Aquí es donde entran en juego los hash. En este artículo, exploraremos qué son los hash, por qué son útiles y finalmente veremos como podemos crear y verificar un hash.\nQUÉ ES UN HASH Un hash es una cadena de caracteres generada por un algoritmo a partir de un conjunto de datos como por ejemplo un fichero o un mensaje. Esta cadena es única para cada conjunto de datos y tiene una longitud fija.\nPor lo tanto:\nSi generamos el hash de un fichero nos dará una cadena de caracteres como por ejemplo la siguiente: a435f6f393dda581172490eda9f683c32e495158a780b5a1de422ee77d98e908 Si intentamos crear otro hash y el fichero no ha sido modificado obtendremos exactamente el mismo valor que antes porque el fichero es exactamente el mismo que antes. Si ahora modificamos el fichero y volvemos a generar el hash veremos que ahora es diferente. Cualquier cambio en los datos de entrada generará un hash completamente diferente. Por lo tanto un hash es como una \u0026ldquo;huella digital\u0026rdquo; única para un conjunto de datos. Si dos archivos tienen el mismo hash, quiere decir que son son idénticos. Sin embargo, si sus hashes son diferentes, entonces los archivos son diferentes.\nUTILIDADES QUE TIENE VERIFICAR EL HASH DE UN FICHERO Los hashes tienen diversas utilidades en el ámbito de la informática, especialmente en la seguridad y la integridad de los datos. A continuación, se presentan algunos ejemplos de cómo se utilizan los hash en diferentes contextos:\nVerificación de integridad de archivos: Cuando descargas un archivo de Internet, es posible que desees asegurarte de que no ha sido modificado o dañado durante la transferencia. Al comparar el hash del archivo descargado con el hash proporcionado por la fuente, puedes verificar si el archivo es idéntico al original. Almacenamiento seguro de contraseñas: En lugar de almacenar contraseñas en texto plano, que sería vulnerable a ataques, los sistemas de autenticación suelen almacenar hashes de contraseñas. Cuando un usuario ingresa su contraseña, el sistema calcula el hash y lo compara con el hash almacenado. Si coinciden, se concede acceso. Esto protege las contraseñas en caso de que la base de datos sea comprometida, ya que los hashes son difíciles de revertir a su forma original. Detección de malware: Los programas antivirus y de seguridad informática utilizan hashes para identificar y detectar malware. Al comparar el hash de un archivo sospechoso con una base de datos de hashes de malware conocido, el software de seguridad puede determinar si el archivo es malicioso o no. Firmas digitales y autenticación de mensajes: Los hashes se utilizan en combinación con la criptografía de clave pública para crear firmas digitales. Estas firmas permiten verificar la autenticidad e integridad de un mensaje o documento, asegurando que proviene de la fuente esperada y que no ha sido modificado. Tecnología blockchain y criptomonedas: Las funciones hash son fundamentales en el funcionamiento de la tecnología blockchain y las criptomonedas como Bitcoin. Se utilizan para crear direcciones de billetera, en el proceso de minería y en la gestión de contratos inteligentes. En resumen, los hashes son útiles en diversos contextos dentro de la informática, especialmente en la seguridad y la integridad de los datos. Algunas de sus aplicaciones incluyen la verificación de integridad de archivos, el almacenamiento seguro de contraseñas, la detección de malware, la autenticación de mensajes y la tecnología blockchain.\nALGORITMOS DISPONIBLES PARA GENERAR UN HASH VENTAJAS E INCONVENIETES Existen diversos algoritmos para generar hash. Los más comunes y sus características son las siguientes.\nMD5: Desarrollado en 1991, MD5 es un algoritmo de hash que produce un valor de hash de 128 bits. Aunque fue ampliamente utilizado en el pasado, actualmente se considera inseguro debido a vulnerabilidades. SHA-1: Diseñado por la Agencia de Seguridad Nacional de EE. UU. (NSA), SHA-1 es un algoritmo de hash que genera un valor de hash de 160 bits. Al igual que MD5, SHA-1 ha sido considerado inseguro debido a debilidades criptográficas y ya no se recomienda para la mayoría de los usos criptográficos desde 2010. SHA-2: La familia SHA-2 incluye varias funciones de hash, como SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 y SHA-512/256. Estos algoritmos, también diseñados por la NSA, son más seguros que SHA-1 y MD5. SHA-256 y SHA-512 son los más utilizados en la familia SHA-2 y emplean tamaños de palabra de 32 y 64 bits, respectivamente. SHA-3: Anteriormente conocido como Keccak, SHA-3 fue seleccionado en 2012 después de un concurso público entre diseñadores no pertenecientes a la NSA. Aunque es parte de la familia SHA, su estructura interna difiere significativamente de SHA-1 y SHA-2. SHA-3 admite las mismas longitudes de hash que SHA-2. BLAKE2: BLAKE2 es un algoritmo de hash criptográfico diseñado como una alternativa más rápida y segura a SHA-2 y SHA-3. BLAKE2 tiene dos variantes principales: BLAKE2b, que es optimizada para sistemas de 64 bits, y BLAKE2s, que es optimizada para sistemas de 8 a 32 bits. Los algoritmos de hash más utilizados actualmente son SHA-2 y SHA-3, debido a su mayor seguridad en comparación con MD5 y SHA-1. La elección de un algoritmo de hash específico depende de las necesidades de seguridad y rendimiento de la aplicación en la que se utilizará. En general, se recomienda utilizar algoritmos de hash más seguros y modernos, como SHA-2 o SHA-3, para garantizar la integridad y autenticidad de los datos.\nPAQUETES NECESARIOS PARA LA GENERAR Y VERIFICAR EL HASH DE UN FICHERO EN LINUX Para verificar y generar un hash tendremos que tener los siguientes paquetes instalados en nuestro sistema operativo.\nAlgoritmo hash Paquete Comando de instalación en Debian y derivadas SHA-2, MD5, SHA-1, BLAKE2 coreutils sudo apt install coreutils SHA-3 libdigest-sha3-perl sudo apt install libdigest-sha3-perl COMO PODEMOS GENERAR Y VERIFICAR EL HASH PARA UN FICHERO O ARCHIVO EN LINUX Imaginemos que tenemos el fichero geekland.txt. Para generar y comprobar un hash con los algoritmos más habituales procederemos del siguiente modo.\nCREACIÓN Y VERIFICACIÓN DE UN HASH USANDO EL ALGORITMO MD5 El comando para generar un hash con el algoritmo MD5 del fichero geekland.txt es el siguiente:\n❯ md5sum geekland.txt d41d8cd98f00b204e9800998ecf8427e geekland.txt Por lo tanto el hash del fichero geekland.txt es d41d8cd98f00b204e9800998ecf8427e\nSi ahora enviamos el archivo geeklant.txt a una tercera persona y le decimos que el hash del fichero es d41d8cd98f00b204e9800998ecf8427e podrá comprobar la integridad del fichero mediante el siguiente comando:\n❯ echo \u0026#34;d41d8cd98f00b204e9800998ecf8427e geekland.txt\u0026#34; | md5sum --check geekland.txt: La suma coincide Si el resultado obtenido es La suma coincide significa que el hash del archivo geekland.txt es d41d8cd98f00b204e9800998ecf8427e. Por lo tanto el fichero geekland.txt no está corrompido ni ha sido modificado por un atacante o tercero.\nNota: A día de hoy el algoritmo de Hash MD5 es considerado obsoleto y vulnerable.\nCREACIÓN Y VERIFICACIÓN DE UN HASH CON EL ALGORITMO SHA-1 El comando para generar un hash SHA-1 del fichero geekland.txt es el siguiente:\n❯ shasum -a 1 geekland.txt da39a3ee5e6b4b0d3255bfef95601890afd80709 geekland.txt Por lo tanto el hash del fichero geekland.txt es da39a3ee5e6b4b0d3255bfef95601890afd80709\nSi ahora enviamos el archivo geeklant.txt a una tercera persona y le decimos que el hash del fichero es da39a3ee5e6b4b0d3255bfef95601890afd80709 podrá comprobar la integridad del fichero mediante el siguiente comando:\n❯ echo \u0026#34;da39a3ee5e6b4b0d3255bfef95601890afd80709 geekland.txt\u0026#34; | shasum -a 1 --check geekland.txt: OK Si el resultado obtenido es OK significa que el hash del archivo geekland.txt es da39a3ee5e6b4b0d3255bfef95601890afd80709. Por lo tanto el fichero geekland.txt no está corrompido ni ha sido modificado por un atacante.\nNota: A día de hoy el algoritmo de Hash SHA-1 es considerado obsoleto y vulnerable.\nCREACIÓN Y COMPROBACIÓN DE UN HASH CON EL ALGORITMO SHA-256 El comando para generar un hash SHA-256 del fichero geekland.txt es el siguiente:\n❯ shasum -a 256 geekland.txt e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 geekland.txt Por lo tanto el hash del fichero geekland.txt es e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nSi ahora enviamos el archivo geeklant.txt a una tercera persona y le decimos que el hash del fichero es e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 podrá comprobar la integridad del fichero mediante el siguiente comando:\n❯ echo \u0026#34;e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 geekland.txt\u0026#34; | shasum -a 256 --check geekland.txt: OK Si el resultado obtenido es OK significa que el hash del archivo geekland.txt es e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855. Por lo tanto el fichero geekland.txt no está corrompido ni ha sido modificado por un atacante.\nNota: SHA-256 fue creado por la NSA. Por lo tanto existen personas que desconfiarán a la hora de usar un HASH del tipo SHA-2.\nCREACIÓN Y COMPROBACIÓN DE UN HASH CON EL ALGORITMO SHA-512224 El comando para generar un hash SHA-512224 del fichero geekland.txt es el siguiente:\n❯ shasum -a 512224 geekland.txt 6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4 geekland.txt Por lo tanto el hash del fichero geekland.txt es 6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4\nSi ahora enviamos el archivo geeklant.txt a una tercera persona y le decimos que el hash del fichero es 6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4 podrá comprobar la integridad del fichero mediante el siguiente comando:\n❯ echo \u0026#34;6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4 geekland.txt\u0026#34; | shasum -a 512224 --check geekland.txt: OK Si el resultado obtenido es OK significa que el hash del archivo geekland.txt es 6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4. Por lo tanto el fichero geekland.txt no está corrompido ni ha sido modificado por un atacante.\nNota: SHA-51224 fue creado por la NSA. Por lo tanto existen personas que seguramente desconfiarán a la hora de usar un HASH del tipo SHA-2.\nCREAR Y VERIFICAR UN HASH CON EL ALGORITMO SHA-3 Y LA FUNCIÓN SHA-512 El comando para generar un hash con el algoritmo SHA-3 y la función SHA-512 del fichero geekland.txt es el siguiente:\n❯ sha3sum -a 512 geekland.txt a69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26 geekland.txt Por lo tanto el hash del fichero geekland.txt es a69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26\nSi ahora enviamos el archivo geeklant.txt a una tercera persona y le decimos que el hash del fichero es a69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26 podrá comprobar la integridad del fichero mediante el siguiente comando:\n❯ echo \u0026#34;a69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26 geekland.txt\u0026#34; | sha3sum -a 512 --check geekland.txt: OK Si el resultado obtenido es OK significa que el hash del archivo geekland.txt es a69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26. Por lo tanto el fichero geekland.txt no está corrompido ni ha sido modificado por un atacante.\nCREAR Y VERIFICAR UN HASH CON EL ALGORITMO BLAKE2 El comando para generar un hash con el algoritmo BLAKE2 del fichero geekland.txt es el siguiente:\n❯ b2sum geekland.txt 786a02f742015903c6c6fd852552d272912f4740e15847618a86e217f71f5419d25e1031afee585313896444934eb04b903a685b1448b755d56f701afe9be2ce geekland.txt Por lo tanto el hash del fichero geekland.txt es 786a02f742015903c6c6fd852552d272912f4740e15847618a86e217f71f5419d25e1031afee585313896444934eb04b903a685b1448b755d56f701afe9be2ce\nSi ahora enviamos el archivo geeklant.txt a una tercera persona y le decimos que el hash del fichero es 786a02f742015903c6c6fd852552d272912f4740e15847618a86e217f71f5419d25e1031afee585313896444934eb04b903a685b1448b755d56f701afe9be2ce podrá comprobar la integridad del fichero mediante el siguiente comando:\n❯ echo \u0026#34;786a02f742015903c6c6fd852552d272912f4740e15847618a86e217f71f5419d25e1031afee585313896444934eb04b903a685b1448b755d56f701afe9be2ce geekland.txt\u0026#34; | b2sum --check geekland.txt: La suma coincide Si el resultado obtenido es La suma coincide significa que el hash del archivo geekland.txt es 786a02f742015903c6c6fd852552d272912f4740e15847618a86e217f71f5419d25e1031afee585313896444934eb04b903a685b1448b755d56f701afe9be2ce. Por lo tanto el fichero geekland.txt no está corrompido ni ha sido modificado por un atacante.\nCOMO VERIFICAR EL HASH DE UN FICHERO DESCARGADO EN LINUX Imaginemos que queremos descargar una ISO De ubuntu. Esta ISO:\nTiene el hash: a435f6f393dda581172490eda9f683c32e495158a780b5a1de422ee77d98e909 El Nombre de la ISO es ubuntu-22.04.3-desktop-amd64.iso El algoritmo usado para crear el hash a435f6f393dda581172490eda9f683c32e495158a780b5a1de422ee77d98e909 es SHA256 Por lo tanto para comprobar la integridad de este fichero .iso ejecutaremos el siguiente comando en la terminal:\necho \u0026#34;a435f6f393dda581172490eda9f683c32e495158a780b5a1de422ee77d98e909 ubuntu-22.04.3-desktop-amd64.iso\u0026#34; | shasum -a 256 --check` `ubuntu-22.04.3-desktop-amd64.iso: OK Como el resultado es OK podemos estar tranquilos que el archivo descargado no está corrompido.\nHERRAMIENTAS CON INTERFAZ GRÁFICA PARA VERIFICAR EL HASH DE UN FICHERO En mi caso recomiendo usar la terminal para comprobar y generar los hash. No obstante también existen algunas herramientas de interfaz gráfica para Linux que son interesantes para comprobar y generar hash de un archivo. Algunas de ellas son las siguientes:\nQuickHash GUI: QuickHash GUI es una herramienta de código abierto para Linux, Windows y Apple Mac OSX con interfaz gráfica de usuario (GUI). Los algoritmos hash disponibles actualmente incluyen MD5, SHA1, SHA-3 (256 bits), SHA256, SHA512, xxHash, Blake2B (256 bits) y Blake3MultiHasher. GTKHash: Es una herramienta de escritorio para calcular resúmenes de mensajes o checksums en sistemas Linux. Está diseñada para ser una alternativa fácil de usar y gráfica a programas de línea de comandos como md5sum. Entre las funciones de hash compatibles se incluyen MD5, SHA1, SHA2 (SHA256/SHA512), SHA3 y BLAKE2. Adicionalmente podemos instalar los paquetes caja-gtkhash, nemo-gtkhash y thunar-gtkhash que harán que la utilidad GTKHash se integre en los gestores de archivos Caja, Nemo o Thunar. En el caso que quieran recomendar otra aplicación lo pueden hacer en los comentarios de este artículo.\nCONCLUSIONES El hash de un archivo es una herramienta importante para verificar la integridad de un archivo descargado. Si bien puede llevar un poco más de tiempo verificar el hash de un archivo, es un esfuerzo que vale la pena para asegurarse de que el archivo no se haya corrompido durante la descarga o que no haya sido manipulado por un actor malintencionado. En conclusión, verificar el hash de un archivo es una práctica importante para garantizar la seguridad y la integridad de los archivos descargados. Si la línea de comandos resulta incómoda para verificar el hash de un archivo, existen herramientas con interfaz gráfica que pueden ser utilizadas en su lugar.\n","permalink":"https://geeklandlinux.github.io/posts/como-generar-y-verificar-el-hash-de-archivos-en-linux/","summary":"\u003cp\u003eLa integridad de los archivos es de suma importancia. A menudo, descargamos archivos desde Internet, ya sean programas, imágenes ISO, documentos, o cualquier otro tipo de datos. Pero, ¿Cómo podemos estar seguros de que los archivos que descargamos no se han corrompido durante su descarga?, ¿Cómo podemos estar seguros que los ficheros descargados no han sido comprometidos por un atacante? Aquí es donde entran en juego los hash. En este artículo, exploraremos qué son los hash, por qué son útiles y finalmente veremos como podemos crear y verificar un hash.\u003c/p\u003e","title":"Cómo generar y verificar el Hash de archivos en linux"},{"content":"Toot es un cliente de Mastodon que permite interactuar con instancias de Mastodon desde la línea de comandos y la terminal. Algunas de las características que ofrece Toot son:\nPublicar, responder y eliminar estados. Soporte para subir archivos multimedia, texto de advertencia y contenido sensible. Búsqueda por cuenta o hashtag. Seguir, silenciar y bloquear cuentas. Cambiar fácilmente entre cuentas autenticadas en Mastodon. Automatizaciones para publicaciones automáticas mediante scripts. etc. VENTAJAS DE TOOT Y TOOT TUI FRENTE A LA INTERFAZ WEB DE MASTODON Toot TUI ofrece algunas ventajas en comparación con la interfaz web de Mastodon:\nAcceso rápido y eficiente a través de la terminal, lo que permite a los usuarios experimentados realizar acciones rápidamente sin depender de un navegador web. Menor consumo de recursos del sistema en comparación con la interfaz web, lo que puede ser beneficioso para dispositivos con recursos limitados. Mayor enfoque en la funcionalidad y el contenido, ya que la interfaz de usuario de texto elimina distracciones visuales y elementos innecesarios. Automatización: Los comandos de Toot se pueden utilizar para generar scripts y automatizar publicaciones. COMO INSTALAR EL CLIENTE PARA TERMINAL DE MASTODON TOOT TUI Existen diversas formas para instalar el cliente de mastodon para terminal toot. Una de ellas es mediante la paqueteria de la distribución que estéis usando. En el caso que estéis usando Debian testing tan solo hay que ejecutar el siguiente comando:\nsudo apt install toot Otra forma alternativa de instalar toot es mediante el gestor de paquetes pip. El comando a usar para instalarlo es:\npip3 install toot Una vez finalizada la instalación nos tendremos que loguear a mastodon del siguiente modo.\nLOGUEARSE AL CLIENTE DE MASTODON TOOT Para loguearse a toot tendremos que ejecutar el comando **toot login** en la terminal. Una vez ejecutado el comando tendréis que introducir:\nLa URL de nuestra instancia de mastodon y presionar Enter. Acto seguido, se nos preguntará si queremos ver abrir el enlace para autorizar al cliente toot a acceder a nuestra cuenta de mastodon con nuestro navegador predeterminado. Escribiremos **Y** y presionaremos enter. ❯ toot login Enter instance URL [https://mastodon.social]: https://mastodon.social Looking up instance info... Found instance Mastodon running Mastodon version 4.2.0+pr-26409-f82b3c9 Registering application... Application tokens saved. This authentication method requires you to log into your Mastodon instance in your browser, where you will be asked to authorize toot to access your account. When you do, you will be given an authorization code which you need to paste here. This is the login URL: https://mastodon.social/oauth/authorize/?response_type=code\u0026amp;redirect_uri=urn%3Airt%3Bwg%2Aoauth%32.0%3Aoob\u0026amp;scope=read+write+follow\u0026amp;client_id=MYGvm0cTknaUNCgQ0uRf3fnf_MSgYPpBLLYtNAN2FvR Open link in default browser? [Y/n]Y Authorization code: Se está abriendo en una sesión de navegador existente. Acto seguido presionaremos sobre el botón Autorizar.\nA continuación nos aparecerá el código de autenticación que tendremos que usar para autorizar la cuenta. Lo copiamos.\nFinalmente pegamos el código de autorización a la terminal y presionamos Enter. Una vez realizadas estos pasos Toot estará logueada a mastodon.\nAuthorization code: Se está abriendo en una sesión de navegador existente. aAeUoyYWQlXxTB9lYOV-yhocIrZ3-bGKlpBL-LYtNAN2FvR Requesting access token... Access token saved to config at: /home/joan/.config/toot/config.json ✓ Successfully logged in. Nota: Los tokens de acceso se guardarán en el archivo de configuración ubicado en **~/.config/toot/config.json**\nSi alguna vez necesitan desloguearse tan solo tendran que ejecutar el comando:\ntoot logout USAR MASTODON MEDIANTE UNA INTERFAZ GRÁFICA DE TERMINAL Una vez finalizada la instalación, podemos comenzar a utilizar el cliente de terminal para Mastodon. Para iniciar el cliente, simplemente debemos ejecutar el siguiente comando en la terminal:\ntoot tui Acto seguido, se abrirá la interfaz gráfica de terminal de Toot. Desde esta interfaz, se puede navegar por los Toots publicados en la línea de tiempo utilizando las teclas del cursor. En la parte inferior derecha, aparecerán opciones disponibles como hacer \u0026ldquo;boost\u0026rdquo; de un Toot, marcarlo como favorito, verlo y más.\nA continuación les dejaré una serie de atajos de teclado que les ayudarán a sacar partido a toot.\nAtajos de teclado para usar la interfaz de terminal del cliente de Mastodon toot Los atajos de teclado principales para usar la interfaz gráfica de terminal son los siguientes:\nAtajos de teclado Función de los atajos de teclado A Ver los datos principales de la cuenta de un usuario que ha realizado un toot. B Hacer un retoot. \u0026ldquo;Equivalente a retuit\u0026rdquo;. C Escribir un toot. D Borrar un toot que has publicado. O Añadir una publicación a los marcadores. F Añadir una publicación a favoritos para indicar que te gusta. V V de View para ver y que se abra el toot en el navegador predeterminado. T Ver el historial de respuestas del toot seleccionado. I Mostrar únicamente los link que contiene el toot seleccionado. Útil para abrir los links de las publicaciones en el navegador. R Responder a un toot. S Mostrar el texto que está categorizado como sensible. U Ver el contenido de una publicación en formato json. M Visualizar las imágenes de los toot. N Traducir una publicación a tu idioma. Y Copiar la totalidad de texto de la publicación o de un toot en el portapapeles. Z Ver el toot seleccionado en una pantalla emergente en la que puedes hacer scroll. , Refrescar el timeline. G Aparece un menu para seleccionar los distintos timeline que queremos ver. También para ver las Notificaciones, marcadores, hashtags, etc. Otros atajos de teclado interesantes son los siguientes:\nAtajos de teclado Función de los atajos de teclado cursores o H/J/K/L Para moverse y hacer scroll en la interfaz de la terminal Page up y PageDown Para hacer scroll del contenido Enter / Espacio Para acceder dentro de las opciones del programa Esc Para ir hacia atrás o salir q Para ir hacia atrás o para Cerrar el cliente COMANDOS DE TOOT PARA REALIZAR SCRIPTS Y AUTOMATIZAR LAS PUBLICACIONES Hasta estos momentos hemos visto como usar toot a través de una interfaz gráfica de terminal, pero también es posible realizar diversas operaciones mediante comandos que podemos ejecutar en la terminal.\nUtilidad de los comando que toot ofrece vía terminal La principal ventaja en el momento de usar los comandos es la automatización de tareas. Los comandos de Toot se pueden utilizar en scripts para automatizar nuestras publicaciones en Mastodon.\nComandos disponibles para poder usar Toot desde la terminal A continuación y mediante una serie de ejemplos veréis como podéis usar toot mediante la ejecución de comandos en la terminal.\nAcción a realizar Comando a usar Enviar el toot Hola mundo toot post \u0026quot;Hola mundo\u0026quot; Enviar un toot con un salto de línea toot post \u0026quot;$(echo -e \u0026quot;Hola\\nMundo\u0026quot;)\u0026quot; Escribir un toot usando el editor de textos vim toot post --editor vim Subir la imagen /media/DATOS/geekland.jpg con el texto Hola Mundo toot post -m /media/DATOS/geekland.jpg \u0026quot;Hola Mundo\u0026quot; buscar el usuario y el hashtag geekland toot search geekland Ver las notificaciones del usuario logueado toot notifications Ver la información del perfil del usuario geekland toot whois @geekland Mostrar el timeline en pantalla toot timeline Ver los 5 últimos toot del timeline toot timeline --count 5 Ver el timeline solo de tu estancia de Mastodon toot timeline --public --local Retootear una publicación con ID 110953708024057889 toot reblog 110953708024057889 \u0026hellip; \u0026hellip; Existen multitud de comandos adicionales a los que acabo de citar. Para conocerlos tan solo tenéis que ejecutar el siguiente comando en la terminal.\ntoot --help CONCLUSIONES Toot es una herramienta útil para interactuar con Mastodon desde la terminal, ofreciendo una experiencia de usuario eficiente y centrada en el contenido. Puede reemplazar el cliente web de mastodon sin mayores inconvenientes.\nFuentes https://toot.bezdomni.net/\nhttps://github.com/ihabunek/toot\n","permalink":"https://geeklandlinux.github.io/posts/toot-un-cliente-de-mastodon-para-la-terminal-linux/","summary":"\u003cp\u003eToot es un cliente de Mastodon que permite interactuar con instancias de Mastodon desde la línea de comandos y la terminal. Algunas de las características que ofrece Toot son:\u003c/p\u003e","title":"Toot, un cliente de mastodon para la terminal Linux"},{"content":"Las distribuciones Linux incluyen varios servicios o demonios habilitados por defecto, algunos de los cuales podrían no ser utilizados por los usuarios. Estos servicios innecesarios se ejecutan en segundo plano y consumen recursos del sistema. En este artículo, aprenderás cómo listar todos los servicios en ejecución y cómo desactivar aquellos que no se están utilizando mediante systemd.\nNota: En GNU/Linux, los servicios o \u0026ldquo;demonios\u0026rdquo; se refieren a procesos que se ejecutan en segundo plano para realizar diversas tareas del sistema. Estos demonios o servicios son administrados por el sistema de inicio, que en las distribuciones más modernas suele ser systemd. Para listar los demonios en ejecución y activarlos o desactivarlos, sigue los pasos que se describen a continuación.\nLISTAR LA TOTALIDAD DE SERVICIOS O DEMONIOS EN EJECUCIÓN Lo primero que tenemos que realizar es listar la totalidad de servicios o demonios gestionados por systemd. Para ello ejecutaremos el siguiente comando en la terminal:\nsystemctl list-unit-files --type service --all El resultado obtenido será algo parecido a lo que verán a continuación:\n❯ systemctl list-unit-files --type service --all UNIT FILE STATE PRESET acpid.service disabled enabled alsa-restore.service static - alsa-state.service static - alsa-utils.service masked enabled anacron.service disabled enabled apparmor.service enabled enabled apt-daily-upgrade.service static - apt-daily.service static - autovt@.service alias - avahi-daemon.service enabled enabled blueman-mechanism.service enabled enabled bluetooth.service enabled enabled bolt.service static - colord.service static - configure-printer@.service static - console-getty.service disabled disabled console-setup.service enabled enabled ... La columna \u0026ldquo;STATE\u0026rdquo; en la salida del comando systemctl list-units --type=service indica el estado actual del servicio. Los posibles estados y sus significados son los siguientes:\nenabled: El servicio está habilitado y se inicia automáticamente durante el arranque. disabled: El servicio está deshabilitado y no se inicia de forma automática durante el arranque. masked: El servicio está completamente deshabilitado y no se puede iniciar de ningún modo sin previamente desenmascararlo. Este estado se utiliza para evitar que un servicio se inicie accidentalmente o para indicar que el servicio está deshabilitado de forma intencional. static: Servicios que están configurados para iniciarse automáticamente al iniciar el sistema. Estos servicios pueden estar activos o inactivos, pero siempre están disponibles para cuando se necesite usarlos. Estos servicios no se pueden activar ni desactivar, pero se pueden enmascarar. Normalmente estos servicios son esenciales para el correcto funcionamiento del sistema. alias: Indica que el servicio es un alias o un enlace simbólico a otro servicio. Esto significa que el servicio en sí mismo no existe, pero se utiliza para referirse a otro servicio con un nombre diferente. generated: Se refiere a los servicios generados automáticamente por el sistema o por otras herramientas. Estos servicios pueden ser generados dinámicamente según las necesidades del sistema o como parte de la configuración de otros servicios. Indirect: El servicio en sí no está habilitado directamente, pero su activación depende de otro servicio o unidad. En otras palabras, un servicio con estado \u0026ldquo;indirect\u0026rdquo; no se inicia por sí mismo, sino que se activa como resultado de la activación de otro servicio relacionado. La columna \u0026ldquo;PRESET\u0026rdquo; en la salida del comando systemctl list-units --type=service indica la configuración de inicio predeterminada de un servicio en particular. Los posibles estados y sus significados son los siguientes:\nenabled: El servicio está habilitado según la política de inicio predeterminada. disabled: El servicio está deshabilitado según la política de inicio predeterminada. -: No se proporciona información sobre la configuración de inicio predeterminada para esta unidad. IDENTIFICAR QUE HACE CADA UNOS DE LOS DEMONIOS O SERVICIOS Y DECIDIR SI LOS QUEREMOS DESACTIVAR O PARAR Una vez que conocemos la totalidad de servicios presentes en nuestro sistema Linux, es importante saber lo que hacen para decidir si son necesarios para nosotros. Para descubrir lo que hace cada uno de los servicios, existen varias herramientas disponibles como por ejemplo Bing Chat, Bard, Perplexity, etc.\nAlgunos servicios que en mi caso están activos y no necesito son los siguientes:\nDemonio Función cups-browsed.service Su función principal es descubrir y conectar automáticamente impresoras compartidas en una red local y hacerlas disponibles para los usuarios locales del sistema cups.service Su función es proporcionar la infraestructura necesaria para administrar y manejar las impresoras y trabajos de impresión en el sistema operativo ModemManager.service Administrar y controlar los módems conectados al sistema, como los módems USB 3G/4G/LTE, módems internos de portátiles, módems GSM, entre otros dispositivos de comunicación móvil. openvpn.service Demonio del cliente de OpenVPN. redsocks.service Demonio del proxy transparente redsocks. A continuación procederé a desactivar los servicios del siguiente modo.\nNota: Hay que ser extremadamente cauteloso a la hora de deshabilitar servicios. Hay servicios que son esenciales y si los deshabilitamos podemos dejar inservible nuestro sistema operativo.\nDESACTIVAR LOS SERVICIOS O DEMONIOS QUE NO USAMOS PARA AHORRAR RECURSOS En el apartado anterior he listado una serie de servicios que tengo levantados y no estoy usando. Así que para parar el servicio cups-browsed.service ejecutaremos el siguiente comando:\n❯ sudo systemctl stop cups-browsed.service Y para hacer que no se vuelva a levantar al iniciar el sistema ejecutaremos el siguiente comando:\n❯ sudo systemctl disable cups-browsed.service Synchronizing state of cups-browsed.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install disable cups-browsed Removed \u0026#34;/etc/systemd/system/multi-user.target.wants/cups-browsed.service\u0026#34;. Del mismo modo que deshabilitamos el demonio cups-browsed.service haremos lo mismo con el resto de servicios.\n❯ sudo systemctl stop cups.service ❯ sudo systemctl disable cups.service Synchronizing state of cups.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install disable cups Removed \u0026#34;/etc/systemd/system/sockets.target.wants/cups.socket\u0026#34;. Removed \u0026#34;/etc/systemd/system/printer.target.wants/cups.service\u0026#34;. Removed \u0026#34;/etc/systemd/system/multi-user.target.wants/cups.service\u0026#34;. Removed \u0026#34;/etc/systemd/system/multi-user.target.wants/cups.path\u0026#34;. ❯ sudo systemctl stop ModemManager.service ❯ sudo systemctl disable ModemManager.service Removed \u0026#34;/etc/systemd/system/dbus-org.freedesktop.ModemManager1.service\u0026#34;. Removed \u0026#34;/etc/systemd/system/multi-user.target.wants/ModemManager.service\u0026#34;. ❯ sudo systemctl stop redsocks.service ❯ sudo systemctl disable redsocks.service Synchronizing state of redsocks.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install disable redsocks Removed \u0026#34;/etc/systemd/system/multi-user.target.wants/redsocks.service\u0026#34;. ❯ sudo systemctl stop openvpn.service ❯ sudo systemctl disable openvpn.service Synchronizing state of openvpn.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install disable openvpn Removed \u0026#34;/etc/systemd/system/multi-user.target.wants/openvpn.service\u0026#34;. Nota: A la hora de desactivar servicios del sistema hay que ser extremadamente cautelosos. Si se desactiva un servicio esencial puede darse el caso que nuestro sistema operativo deje de funcionar.\nSi algún día precisarán usar algunos de los demonios deshabilitados, como por ejemplo cups.service y cups-browsed.service se podrían volver a levantar y habilitar del siguiente modo:\n❯ sudo systemctl enable cups.service [sudo] contraseña para joan: Synchronizing state of cups.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable cups Created symlink /etc/systemd/system/printer.target.wants/cups.service → /lib/systemd/system/cups.service. Created symlink /etc/systemd/system/multi-user.target.wants/cups.service → /lib/systemd/system/cups.service. Created symlink /etc/systemd/system/sockets.target.wants/cups.socket → /lib/systemd/system/cups.socket. Created symlink /etc/systemd/system/multi-user.target.wants/cups.path → /lib/systemd/system/cups.path. ❯ sudo systemctl start cups.service ❯ sudo systemctl enable cups-browsed.service Synchronizing state of cups-browsed.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable cups-browsed Created symlink /etc/systemd/system/multi-user.target.wants/cups-browsed.service → /lib/systemd/system/cups-browsed.service. ❯ sudo systemctl start cups-browsed.service Paralelamente he visto que el servicio de anacron.service está desactivado, y en mi caso lo quiero activar. Para ello ejecutaré el siguiente comando:\n❯ sudo systemctl enable anacron.service Synchronizing state of anacron.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable anacron Created symlink /etc/systemd/system/multi-user.target.wants/anacron.service → /lib/systemd/system/anacron.service. ❯ sudo systemctl start anacron.service COMPROBAR QUE LOS SERVICIOS SE HAN DESACTIVADO Una vez desactivados los servicios volveremos a ejecutar el comando systemctl list-unit-files --type service --all para verificar que sea así\nUNIT FILE STATE PRESET avahi-daemon.service enabled enabled blueman-mechanism.service enabled enabled bluetooth.service enabled enabled colord.service static - configure-printer@.service static - cups-browsed.service disabled enabled cups.service disabled enabled nordfileshared.service disabled enabled nordvpn.service generated - nordvpnd.service enabled enabled openvpn-client@.service disabled enabled openvpn-server@.service disabled enabled openvpn.service disabled enabled openvpn@.service disabled enabled redsocks.service disabled enabled rescue.service static - .... Y efectivamente vemos que se han desactivado y activado los servicios según los comandos ejecutados anteriormente. De esta forma podremos optimizar el rendimiento de nuestra distribución Linux. Aparte de desactivar los servicios necesarios también es importante controlar a la perfección las aplicaciones que se levanta al iniciar el sistema operativo. Este último tema lo abordaremos en futuros artículos.\n","permalink":"https://geeklandlinux.github.io/posts/como-desactivar-servicios-no-deseados-en-linux-con-systemd/","summary":"\u003cp\u003eLas distribuciones Linux incluyen varios servicios o demonios habilitados por defecto, algunos de los cuales podrían no ser utilizados por los usuarios. Estos servicios innecesarios se ejecutan en segundo plano y consumen recursos del sistema. En este artículo, aprenderás cómo listar todos los servicios en ejecución y cómo desactivar aquellos que no se están utilizando mediante \u003ca href=\"/posts/systemctl-administrar-servicios-linux/\"\u003esystemd\u003c/a\u003e.\u003c/p\u003e","title":"Cómo desactivar servicios no deseados en Linux con Systemd"},{"content":"En mi caso he usado Firefox durante una larga temporada, no obstante por temas de rendimiento he decidido migrar a Brave Browser con el pequeño inconveniente que al usar el escritorio i3 no sabia como fijar Brave como navegador predeterminado. Al final he terminado haciendo uso de la terminal del siguiente modo que verán a continuación. Además también he aprovechado para configurar el resto de aplicaciones predeterminadas del sistema desde la terminal del modo que verán a continuación.\nNota: Los comandos que verán en es artículo han sido testeados en una distribución Debian. Es posible que en otras distribuciones algunos de los comandos no funcione.\nVER APLICACIONES PREDETERMINADAS DEL SISTEMA OPERATIVO En el caso que quieran ver las aplicaciones predeterminadas de su sistema operativo pueden consultar el fichero ~/.config/mimeapps.list. Para ello pueden ejecutar el siguiente comando en la terminal:\ncat ~/.config/mimeapps.list Una vez se abra el archivo encontrarán dos secciones:\n[Default Applications]: Se establecen las asociaciones predeterminadas de tipos MIME con las aplicaciones que se utilizarán para abrirlos. [Added Associations]: Se definen asociaciones adicionales para tipos MIME específicos, lo que permite personalizar o agregar asociaciones que no están predeterminadas. Así por lo tanto, si quiero saber la aplicación predeterminada para abrir ficheros imágenes jpeg puedo consultar la sección [Default Applications] y veré lo siguiente:\n[Default Applications] x-scheme-handler/http=brave-browser.desktop x-scheme-handler/https=brave-browser.desktop text/plain=typora.desktop image/jpeg=viewnior.desktop image/png=viewnior.desktop video/x-matroska=vlc.desktop .... Por lo tanto puedo concluir que la totalidad de imágenes png y jpeg se abrirán con el visor de imágenes viewnior. Si os fijáis en el contenido de este fichero veremos que para establecer una aplicación por defecto hay que:\nindicar el tipo de tipo de MIME/extensión. Conocer el nombre del fichero.desktop del programa que queremos configurar como predeterminado. Por lo tanto, a continuación verán como averiguar el nombre de los ficheros.desktop y como referirse a los distintas extensiones de archivo (MIME).\nAVERIGUAR EL NOMBRE DEL FICHERO.DESKTOP DE LOS PROGRAMAS La totalidad de ficheros .desktop se almacenan en las ubicaciones:\n~/.local/share/applications/ /usr/share/applications/ Por lo tanto, para averiguar el nombre de los ficheros.desktop tan solo tendremos que ejecutar los comandos ls /usr/share/applications/ y ls ~/.local/share/applications/ del siguiente modo:\n❯ ls /usr/share/applications/ Permissions Size User Date Modified Name .rw-r--r-- 14k root 13 ene 14:52 atril.desktop .rw-r--r-- 4,1k root 30 abr 04:10 audacious.desktop .rw-r--r-- 7,3k root 17 mar 2022 bleachbit-root.desktop .rw-r--r-- 9,3k root 17 mar 2023 brave-browser.desktop .rw-r--r-- 3,4k root 23 jun 2021 redshift.desktop .rw-r--r-- 9,1k root 11 feb 16:56 synaptic.desktop .rw-r--r-- 308 root 5 abr 2022 syncthing-start.desktop .rw-r--r-- 324 root 5 abr 2022 syncthing-ui.desktop .rw-r--r-- 6,1k root 8 jul 12:02 thunderbird.desktop .rw-r--r-- 17k root 18 mar 03:26 transmission-gtk.desktop .rw-rw-r-- 288 root 19 may 12:11 typora.desktop .rw-r--r-- 15k root 15 jul 15:05 thunar.desktop .rw-r--r-- 2,5k root 16 ago 2021 viewnior.desktop .rw-r--r-- 5,6k root 4 jul 21:02 vim.desktop .rw-r--r-- 15k root 15 jul 15:05 vlc.desktop .rw-r--r-- 259 joan 2 ago 2022 wechat.desktop ... ❯ ls ~/.local/share/applications/ Permissions Size User Date Modified Name .rw-r--r-- 192 joan 2 ago 2022 Freezer.desktop .rw-r--r-- 0 joan 31 mar 00:08 mimeapps.list .rw-r--r-- 13 joan 29 ene 20:48 mimeinfo.cache .rw------- 168 joan 17 sep 2022 userapp-Firefox-5OEZS1.desktop .rw------- 151 joan 17 sep 2022 userapp-Firefox-78R9W0.desktop .rw------- 154 joan 29 ene 20:48 userapp-viewnior-MXAVZ1.desktop .rwx--x--x 225 joan 31 jul 2022 wechat.desktop ... Una vez conocemos el nombre del fichero.desktop del programa queremos como predeterminado tendremos que averiguar como referirnos a una determinada extensión de archivo.\nAVERIGUAR COMO REFERIRSE A LAS DISTINTAS EXTENSIONES DE ARCHIVO En el mundo de la tecnología y Linux, encontramos una gran diversidad de tipos de archivos (MIME), los cuales pueden variar según la distribución que estemos utilizando. Además, con el tiempo pueden surgir nuevos formatos de archivo que debemos conocer. Si utilizan Debian o cualquier otra distribución Linux, podrán acceder a una lista de los tipos MIME registrados en el directorio /usr/share/mime/packages/. Para ello tendrán que ejecutar el siguiente comando en la terminal:\ncat /usr/share/mime/packages/*.xml | grep \u0026#34;type=\\\u0026#34;[^ ]*\\\u0026#34;\u0026#34; | sed \u0026#39;s/.*type=\u0026#34;\\(.*\\)\u0026#34;.*/\\1/\u0026#39; | sort | uniq Algunos de los MIME o tipos de archivo que encontrarán serán los siguientes:\nMIME EXPLICACIÓN text/plain Para referirse a ficheros de texto plano text/html Ficheros con extensión html text/markdown Ficheros con extensión markdown image/jpeg Imágenes jpeg image/png Archivo de imagen con la extensión png image/webp Archivo de imagen con la extensión webp audio/mp3 Sonido con la extensión .mp3 audio/ogg Sonido con la extensión .ogg audio/wav Audio con la extensión .wav audio/flac Sonido con la extensión .flac video/mp4 Archivo de vídeo con la extensión .mp4 video/webm Vídeos con extensión .webm video/x-matroska Vídeos con extensión .mkv application/json Ficheros .json application/epub+zip Archivos con extensión .epub application/pdf Se refiere a ficheros con extensión .pdf Otra forma alternativa de averiguar como referirse a un determinado tipo de archivo es mediante un fichero que de muestra. Imaginemos que tenemos el fichero pdf Factura 202209_Joan Carles.pdf. Si a partir de este fichero queremos saber como referirnos a un archivo con extensión .pdf tendremos que ejecutar el siguiente comando:\n❯ mimetype \u0026#39;/home/joan/Descargas/Factura 202209_Joan Carles.pdf\u0026#39; /home/joan/Descargas/Factura 202209_Joan Carles.pdf: application/pdf Si miran la salida verán es que que el resultado es application/pdf\nNota: Un comando alternativo al último que acabamos de ver seria xdg-mime query filetype 'Factura 202209_Joan Carles.pdf'\nVER LA APLICACIÓN PREDETERMINADA PARA ABRIR UN DETERMINADO TIPOS DE FICHERO Ahora que conocemos como referirse a un tipo de fichero podemos averiguar fácilmente la aplicación que tenemos predeterminada para abrir un determinado fichero. En el apartado anterior hemos visto que para referirse a un archivo .pdf tenemos que usar:\napplication/pdf Por lo tanto para averiguar la aplicación asociada a la extensión .pdf ejecutaremos el siguiente comando en la terminal:\n❯ xdg-mime query default application/pdf atril.desktop Y veremos que en mi caso la totalidad de archivos .pdf se abrirán con la aplicación Atril.\nESTABLECER APLICACIONES PREDETERMINADAS DESDE LA TERMINAL EN LINUX A continuación, mostraré cómo establecer programas predeterminados en GNU/Linux a través de una serie de ejemplos prácticos.\nDefinir el navegador predeterminado desde la terminal En estos momentos tengo Firefox como navegador predeterminado:\n❯ xdg-settings get default-web-browser firefox.desktop Si quiero reemplazar Brave por Firefox tan solo tendré que ejecutar en comando del siguiente tipo:\nxdg-settings set default-web-browser \u0026lt;fichero.desktop\u0026gt; Según lo visto en apartados anteriores el fichero.desktop de Brave es brave-browser.desktop. Por lo tanto el comando a ejecutar para establecer Brave como el navegador predeterminado es:\nxdg-settings set default-web-browser brave-browser.desktop Si ahora vuelvo a ejecutar el comando para ver el navegador por defecto vemos que es Brave.\n❯ xdg-settings get default-web-browser brave-browser.desktop Otra forma alternativa de realizar lo que hemos visto en este apartado seria ejecutar los siguientes comando en la terminal:\nxdg-mime default brave-browser.desktop x-scheme-handler/http xdg-mime default brave-browser.desktop x-scheme-handler/https Definir el lector de PDF predeterminado desde la terminal En apartados anteriores vimos que para referirse a un fichero .pdf tenemos que usar:\napplication/pdf Si queremos abrir los pdf con el software Atril tendremos que mirar el nombre de su fichero.desktop. Si seguimos las instrucciones de apartados anteriores veremos que el nombre es:\natril.desktop Por lo tanto, para que todos los ficheros .pdf se abran con Atril ejecutaré el siguiente comando en la terminal:\n❯ xdg-mime default atril.desktop application/pdf Si ahora ejecutamos el siguiente comando comprobaremos que el lector predeterminado de ficheros pdf es Atril.\n❯ xdg-mime query default application/pdf atril.desktop Configurar el gestor de ficheros predeterminado desde la terminal A forma de curiosidad miraremos el gestor de ficheros predeterminado de mi sistema operativo ejecutando el siguiente comando:\n❯ xdg-mime query default inode/directory org.xfce.Catfish.desktop Según la salida obtenida, el gestor de ficheros es Catfish. Obviamente esto es incorrecto y hay que corregirlo. En mi caso quiero que el gestor de ficheros predeterminado de mi sistema operativo sea Thunar. En apartados anteriores vimos que el fichero.desktop de Thunar es thunar.desktop. Por lo tanto el comando que usaré para que Thunar sea mi gestor de ficheros predeterminados es el siguiente:\n❯ xdg-mime default thunar.desktop inode/directory Si ahora volvemos a ejecutar el mismo comando que ejecutamos al inicio de este apartado veremos que el gestor de ficheros predeterminado es Thunar.\n❯ xdg-mime query default inode/directory thunar.desktop Definir el cliente de email predeterminado desde la terminal En mi caso quiero que el cliente de email predeterminado sea Thunderbird. Lo primero que tenemos que realizar es averiguar el fichero.desktop de Thunderbird que en mi caso es thunderbird.desktop. Una vez conocemos esto ejecutaremos el siguiente comando en la terminal:\n❯ xdg-settings set default-url-scheme-handler mailto thunderbird.desktop Para comprobar que el cliente predeterminado sea Thunderbird lo haremos del siguiente modo:\n❯ xdg-mime query default x-scheme-handler/mailto thunderbird.desktop Configurar el cliente predeterminado para reproducir vídeo desde la terminal Para configurar que las extensiones más populares de archivos de vídeo se reproduzcan mediante MPV procederemos del siguiente modo:\nEl fichero.desktop de MPV es mpv.desktop El modo de referirnos a las extensiones de vídeo más populares es video/x-matroska video/x-flv video/ogg video/webm video/mpeg video/mp4 video/flv video/avi Por lo tanto el comando que tendremos que ejecutar para conseguir nuestro propósito es:\n❯ xdg-mime default mpv.desktop video/x-matroska video/x-flv video/ogg video/webm video/mpeg video/mp4 video/flv video/avi El comando que acabamos de ejecutar asocia una serie de formatos de archivo al reproductor MPV. En vuestro caso podéis añadir más extensiones de archivo.\nConfigurar el visor de imágenes predeterminado desde la terminal Al igual que hicimos anteriormente tenemos que conocer el nombre del fichero.desktop del programa que queremos usar como predeterminado y saber como definir los diferentes formatos de fichero. En mi caso:\nEl nombre del fichero.desktop es viewnior.desktop Los formatos de archivo que quiero que se abran el con visor viewnior son image/jpeg, image/png y image/webp Por lo tanto el comando a ejecutar es el siguiente:\n❯ xdg-mime default viewnior.desktop image/jpeg image/png image/webp De este modo cualquier fichero de imagen que tenga la extensión jpeg, png o webp se abrirá con viewnior.\nHacer que LibreOffice sea nuestra suite ofimática predeterminada desde la terminal En el caso que tengáis varias aplicaciones ofimáticas es posible que os interese establecer Libreoffice para abrir los ficheros con extensión odt, ods, odp, odg y odf de forma predeterminada. Para ello tan solo tendrán que ejecutar los siguientes comandos en la terminal:\nxdg-mime default libreoffice-writer.desktop application/vnd.oasis.opendocument.text xdg-mime default libreoffice-writer.desktop application/vnd.oasis.opendocument.text-template xdg-mime default libreoffice-calc.desktop application/vnd.oasis.opendocument.spreadsheet xdg-mime default libreoffice-calc.desktop application/vnd.oasis.opendocument.spreadsheet-template xdg-mime default libreoffice-impress.desktop application/vnd.oasis.opendocument.presentation xdg-mime default libreoffice-impress.desktop application/vnd.oasis.opendocument.presentation-template xdg-mime default libreoffice-draw.desktop application/vnd.oasis.opendocument.graphics xdg-mime default libreoffice-draw.desktop application/vnd.oasis.opendocument.graphics-template xdg-mime default libreoffice-math.desktop application/vnd.oasis.opendocument.formula A partir de esto momentos todos los ficheros que tengan una extensión de archivo OpenDocument se abrirán con LibreOffice.\nEstablecer el emulador de terminal predeterminado En el caso que tengamos varios emuladores de terminal disponibles es interesante establecer un emulador de terminal predeterminado. Para ello tendremos que ejecutar el siguiente comando:\n❯ sudo update-alternatives --config x-terminal-emulator Una vez ejecutado el comando saldrán todos los emuladores de terminal disponibles. En mi caso quiero que el emulador de terminal predeterminado sea Kitty, por lo tanto, tal y como se muestra a continuación escribiré 1 y presionaré la tecla Enter.\n❯ sudo update-alternatives --config x-terminal-emulator [sudo] contraseña para joan: Existen 9 opciones para la alternativa x-terminal-emulator (que provee /usr/bin/x-terminal-emulator). Selección Ruta Prioridad Estado ------------------------------------------------------------ * 0 /usr/bin/xfce4-terminal.wrapper 40 modo automático 1 /usr/bin/kitty 20 modo manual 2 /usr/bin/koi8rxterm 20 modo manual 3 /usr/bin/lxterm 30 modo manual 4 /usr/bin/mlterm 20 modo manual 5 /usr/bin/txiterm 20 modo manual 6 /usr/bin/uxterm 20 modo manual 7 /usr/bin/xfce4-terminal.wrapper 40 modo manual 8 /usr/bin/xiterm+thai 20 modo manual 9 /usr/bin/xterm 20 modo manual Pulse \u0026lt;Intro\u0026gt; para mantener el valor por omisión [*] o pulse un número de selección: 1 A partir de estos momento el emulador de terminal predeterminado es Kitty.\nConfigurar el editor de texto predeterminado desde la terminal Del mismo modo que configuramos el emulador de terminal podemos configurar el editor de texto predeterminado. Para ello ejecutaremos el siguiente comando en al terminal:\n❯ sudo update-alternatives --config editor Una vez ejecutado el comando saldrán todos los editores de texto disponibles. En mi caso quiero que el editor texto predeterminado sea Vim, por lo tanto, tal y como se muestra a continuación escribiré 0 y presionaré la tecla Enter.\n❯ sudo update-alternatives --config editor Existen 5 opciones para la alternativa editor (que provee /usr/bin/editor). Selección Ruta Prioridad Estado ------------------------------------------------------------ * 0 /usr/bin/vim.gtk3 50 modo automático 1 /bin/nano 40 modo manual 2 /usr/bin/vim.basic 30 modo manual 3 /usr/bin/vim.gtk3 50 modo manual 4 /usr/bin/vim.nox 40 modo manual 5 /usr/bin/vim.tiny 15 modo manual Pulse \u0026lt;Intro\u0026gt; para mantener el valor por omisión [*] o pulse un número de selección: 0 A partir de este momento el editor de texto predeterminado es Vim.\nMÉTODO ALTERNATIVO PARA CONFIGURAR LAS APLICACIONES PREDETERMINADAS DESDE LA TERMINAL Un método alternativo a los vistos en este artículo es editar directamente el fichero ~/.config/mimeapps.list. Si abren y editan este ficheros también podrá configurar gran parte de las aplicaciones determinadas de sus sistema operativo\nCONCLUSIONES A lo largo de este artículo, hemos visto cómo podemos configurar las aplicaciones predeterminadas de nuestro sistema operativo desde la terminal mediante tres útiles comandos:\nxdg-settings: Este comando nos permite establecer las aplicaciones predeterminadas para actividades como abrir enlaces, correos electrónicos, y más, de una manera sencilla y eficiente. xdg-mime: Con esta herramienta, podemos gestionar las asociaciones de tipos MIME, permitiéndonos asignar qué aplicaciones deben abrir diferentes tipos de archivos de forma predeterminada. update-alternatives: A través de este comando, podemos seleccionar y cambiar entre distintas versiones de un programa o comando, definiendo cuál será el que se utilizará por defecto en el sistema. Configurar las aplicaciones predeterminadas desde la terminal puede ser una opción poderosa y versátil para usuarios avanzados y administradores de sistemas, brindando un mayor control sobre la experiencia del usuario y la eficiencia del sistema en general. ¡Esperamos que estas herramientas te sean de utilidad en tu día a día con GNU/Linux!\nFuentes https://wiki.archlinux.org/title/XDG_MIME_Applications#mimeapps.list\n","permalink":"https://geeklandlinux.github.io/posts/establecer-aplicaciones-predeterminadas-desde-la-terminal-linux/","summary":"\u003cp\u003eEn mi caso he usado Firefox durante una larga temporada, no obstante por temas de rendimiento he decidido migrar a Brave Browser con el pequeño inconveniente que al usar el escritorio i3 no sabia como fijar Brave como navegador predeterminado. Al final he terminado haciendo uso de la terminal del siguiente modo que verán a continuación. Además también he aprovechado para configurar el resto de aplicaciones predeterminadas del sistema desde la terminal del modo que verán a continuación.\u003c/p\u003e","title":"Establecer aplicaciones predeterminadas desde la terminal Linux"},{"content":"En el mundo actual, tener una pantalla correctamente configurada es esencial para una experiencia informática óptima. Ya sea que esté utilizando un solo monitor o una configuración de múltiples monitores, la utilidad xrandr es una herramienta poderosa que puede ayudarlo a configurar la pantalla en un sistema Linux que ejecuta el servidor gráfico X.Org. En este artículo de blog, detallaremos como podemos usar la utilidad xrandr para configurar la pantalla o pantallas de su ordenador.\n¿QUÉ ES XRANDR? Xrandr es una utilidad de línea de comandos para el sistema X org que permite administrar la configuración de su pantalla. Algunos de los parámetros de nuestro monitor que permite configurar son:\nLa resolución. La orientación. La frecuencia. El escalado. El brillo. El parámetro gamma. etc. Es particularmente útil para configurar múltiples monitores y configuraciones de pantalla personalizadas en administradores de ventanas como i3 o en entornos de escritorio que usen el servidor gráfico Xorg.\n¿CUANDO PODEMOS USAR LA UTILIDAD XRANDR PARA CONFIGURAR LA PANTALLA? Siempre y cuando uséis el servidor gráfico X org podréis usar Xrandr. En el caso que uséis un escritorio con el servidor gráfico Wayland tendréis que usar la utilidad wlr-randr.\nOBTENER INFORMACIÓN DEL MONITOR O PANTALLA Antes de configurar nuestro monitor tenemos que tener claras sus características y especificaciones. De esta forma podremos extraer el máximo rendimiento. En mi caso después de investigar en las especificaciones de mi monitor y en Internet he llegado a las siguientes conclusiones:\nResolución máxima de mi monitor es de 1920x1080 La Frecuencia máxima de mi monitor es 144Hz Los DPI ideales de mi monitor son 82. Nota: Los DPI ideales vienen determinados por el tamaño y la resolución del monitor. En mi caso el monitor que tengo es de 27\u0026quot; y la resolución máxima es de 1920x1080. Por lo tanto si visitan la siguiente página Web verán que el número ideal es de 82.\nOBTENER INFORMACIÓN DE COMO EL SISTEMA OPERATIVO RECONOCE NUESTRO MONITOR Mediante el comando xrandr obtendremos información la siguiente información:\nNombre con que se reconocen los monitores conectados a nuestro ordenador. Nombre del puerto en el que está conectado nuestro monitor. Resoluciones y frecuencias disponibles en cada uno de nuestros monitores. La resolución y frecuencia actual de nuestro monitor. Para obtener la información que acabamos de citar tan solo tenemos que ejecutar el comando xrand del siguiente modo.\n❯ xrandr Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384 HDMI-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 597mm x 336mm 1920x1080 60.00*+ 144.00 120.00 119.88 119.98 74.97 50.00 59.94 1920x1080i 60.00 50.00 59.94 1280x1024 75.02 60.02 1280x720 60.00 50.00 59.94 1024x768 119.99 99.97 75.03 70.07 60.00 832x624 74.55 800x600 119.97 99.99 72.19 75.00 60.32 56.25 720x576 50.00 720x480 60.00 59.94 640x480 119.99 100.00 75.00 72.81 66.67 60.00 59.94 720x400 70.08 HDMI-2 disconnected (normal left inverted right x axis y axis) Después de ver la salida del comando llegamos a las siguientes conclusiones:\nEl monitor se reconoce con el nombre Screen 0. Únicamente tengo un monitor. El monitor se comunica con nuestro ordenador mediante el puerto HDMI-1 La resolución máxima que puedo utilizar es 1920x1080. Además ya tengo configurado el sistema operativo para que pueda usar al resolución máxima La frecuencia de actualización que estoy usando es 60Hz. Pero veo que la frecuencia máxima que puede usar mi monitor de es de 144Hz. A continuación ejecutaremos el comando xdpyinfo | grep -B2 resolution para ver los los puntos por pulgada (DPI) de nuestro monitor.\n❯ xdpyinfo | grep -B2 resolution screen #0: dimensions: 1920x1080 pixels (508x285 millimeters) resolution: 96x96 dots per inch Tal y como pueden en la salida del comando estoy usando 96 DPI.\nCONFIGURAR LA RESOLUCIÓN DE LA PANTALLA Acabamos de ver que mi monitor tiene y está usando una resolución de 1920x1080. Por lo tanto estoy usando la resolución máxima y no sería necesario configurar este parámetro. No obstante si lo quieren hacer tan solo tiene que ejecutar un comando del siguiente tipo:\nxrandr --output SALIDA_DEL_MONITOR --mode ANCHOxALTO Por lo tanto para configurar la resolución a 1920x1080 tendré que ejecutar el siguiente comando:\n❯ xrandr --output HDMI-1 --mode 1920x1080 CONFIGURAR LA FRECUENCIA DEL MONITOR Anteriormente hemos visto que la frecuencia con la que está trabajando nuestro monitor es 60Hz. En mi caso quiere que trabaje a la frecuencia máxima de 144Hz y a una resolución de 1920x1080. Para ello ejecutaré un comando del siguiente tipo\nxrandr --output SALIDA_DEL_MONITOR --mode ANCHOxALTO --rate FRECUENCIA_DESEADA Por lo tanto en mi caso tendré que ejecutar el siguiente comando:\n❯ xrandr --output HDMI-1 --mode 1920x1080 --rate 144.00 Si ahora volvemos a ejecutar el comando xrandr podremos ver que efectivamente estamos usando una frecuencia de 144Hz.\n❯ xrandr -q Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384 HDMI-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 597mm x 336mm 1920x1080 60.00 + 144.00* 120.00 119.88 119.98 74.97 50.00 59.94 1920x1080i 60.00 50.00 59.94 1280x1024 75.02 60.02 1280x720 60.00 50.00 59.94 1024x768 119.99 99.97 75.03 70.07 60.00 832x624 74.55 800x600 119.97 99.99 72.19 75.00 60.32 56.25 720x576 50.00 720x480 60.00 59.94 640x480 119.99 100.00 75.00 72.81 66.67 60.00 59.94 720x400 70.08 HDMI-2 disconnected (normal left inverted right x axis y axis) Una frecuencia de 144 Hz no ofrece ventajas significativas en el caso que se realicen tareas ofimáticas y el consumo de energía del monitor será mayor. No obstante prefiero usar 144 Hz porque el parpadeo de la pantalla que percibirá nuestro ojo será menor y por lo tanto ayudará a disminuir la fatiga visual.\nMODIFICAR LOS DPI DE NUESTRO MONITOR Vimos que los DPI de nuestro monitor son 96. El número ideal es de 82. Para cambiar este parámetro y además asegurar que tenemos una resolución de 1920x1080 y una frecuencia de 144 Hz tendremos que ejecutar un comando del siguiente tipo:\nxrandr --output SALIDA_DEL_MONITOR --mode ANCHOxALTO --rate FRECUENCIA_DESEADA --dpi NUMERO_DE_DPI Por lo tanto tendré que ejecutar el siguiente comando:\n❯ xrandr --output HDMI-1 --mode 1920x1080 --rate 144.00 --dpi 82 Si ahora ejecuto el comando xdpyinfo | grep -B2 resolution veré que efectivamente los DPI son 82.\n❯ xdpyinfo | grep -B2 resolution screen #0: dimensions: 1920x1080 pixels (594x334 millimeters) resolution: 82x82 dots per inch MODIFICAR EL ESCALADO O FACTOR DE ESCALA DE NUESTRO MONITOR Si la imagen mostrada por el monitor es demasiado grande o demasiado pequeña puede ser recomendable realizar un escalado. El escalado se puede realizar tanto en el eje de las X como en el eje de las Y.\nPara mantener la configuración anterior y realizar un escalado podemos aplicar un comando del siguiente tipo:\nxrandr --output SALIDA_DEL_MONITOR --mode ANCHOxALTO --rate FRECUENCIA_DESEADA --dpi NUMERO_DE_DPI --scale ESCALADO_XxESCALADO_Y Como en mi caso no quiero ejecutar ningún tipo de escalado uso el siguiente comando:\n❯ xrandr --output HDMI-1 --mode 1920x1080 --rate 144.00 --dpi 82 --scale 1x1 Nota: En el caso que quisieran disminuir el tamaño de los objetos mostrados en pantalla podrían ejecutar el comando xrandr --output HDMI-1 --mode 1920x1080 --rate 144.00 --dpi 82 --scale 1.1x1.1. En el caso que los quisieran incrementar xrandr --output HDMI-1 --mode 1920x1080 --rate 144.00 --dpi 82 --scale 0.9x0.9\n¿CÓMO ROTAR LA PANTALLA CON XRANDR? Puede darse el caso que alguien tenga que rotar el monitor 90, 180 o 270º. Para ello tan solo tendrán que usar el parámetro rotate del siguiente modo:\nPara girar el monitor 90 grados hacia la derecha tan solo tendrán que ejecutar el siguiente comando:\n❯ xrandr --output HDMI-1 --rotate right Si quieren volver a la ortientación estándard tendrán que ejecutar el comando:\n❯ xrandr --output HDMI-1 --rotate normal Otros valores que puede tomar el parámetro rotate son left e inverted\nCAMBIAR EL BRILLO Y EL PARÁMETRO GAMMA DE LA PANTALLA En principio el brillo de monitor me gusta y por lo tanto lo dejaré tal cual con el valor 1. No obstante en mi caso me gustaría tener un pelín más de contraste y un tono más oscuro. Por lo tanto fijaré el valor de gamma en 0.9. Para hacer lo que acabo de citar tendré que ejecutar el siguiente comando en la terminal:\n❯ xrandr --output HDMI-1 --brightness 1 --gamma 0.9 Si no les gusta el resultado obtenido pueden experimentar con otros valores de brillo y gamma.\nCONFIGURAR LA PANTALLA EN CASO DE TENER MÚLTIPLES MONITORES También podemos usar xrandr en el caso que tengamos más de un monitor. Supongamos que tenemos los siguientes monitores:\nMonitor conectado al puerto DP-1: 1920x1080, 144 Hz, 82 dpi Monitor conectado al puerto HDMI-1: 1920x1080, 144 Hz, 96 dpi Configurar la pantalla principal o primaria En el caso que tengan 2 monitores lo primero que tendrán que realizar es configurar el monitor principal o primario. En mi caso quiero que le monitor conectado el Display port 1 (DP-1) sea el principal. Por lo tanto ejecutaré el siguiente comando:\n❯ xrandr --output DP-1 --primary Acto seguido configuraremos su resolución, frecuencia y DPI ejecutando el siguiente comando:\n❯ xrandr --output DP-1 --mode 1920x1080 --rate 144.00 --dpi 82 --scale 1x1 Configurar el monitor o pantalla secundaria Acto seguido configuraremos el monitor secundario que es el que está conectado al puerto HDMI-1. El monitor secundario tendrá una resolución de 1920x1080, una frecuencia de 144Hz y 96 dpi. Como el monitor secundario HDMI-1 está a la derecha del monitor principal DP-1 ejecutaré el siguiente comando:\n❯ xrandr --output HDMI-1 --mode 1920x1080 --rate 144.00 --dpi 96 --scale 1x1 --right-of DP-1 Nota: El parámetro --right-of indica la posición del monitor secundario respecto al principal. Otros parámetros alternativos a --right-of son:\n--left-of --above --below COMO HACER QUE LA CONFIGURACIÓN DE XRANDR SEA PERSISTENTE La configuración que acabamos de establecer no se mantendrá si reiniciamos el ordenador. Si queremos que la configuración se aplique cada arrancamos el ordenador tenemos varias soluciones. Como en mi caso uso el escritorio i3 tan solo tendré que añadir las siguientes líneas en el fichero de configuración ubicado en ~/.config/i3.\n# Configuración de la pantalla exec --no-startup-id xrandr --output HDMI-1 --mode 1920x1080 --rate 144.00 --dpi 82 --scale 1x1 exec --no-startup-id xrandr --output HDMI-1 --brightness 1 --gamma 0.9 De este modo, cada vez que iniciemos el ordenador el monitor que esté conectado al puerto HDMI-1 tendrá:\nUna resolución de 1920x1080. Una frecuencia de 144 Hz 82 dpi El parámetro gamma se modificará de 1 a 0.9 Nota: En el caso que no usen el escritorio i3 pueden crear un script que se ejecute en el momento de iniciar le ordenador.\nCONCLUSIONES En este artículo, discutimos cómo usar la utilidad xrandr para configurar su pantalla en el entorno de escritorio i3 en Linux. Siguiendo estos pasos, puede configurar fácilmente su configuración de pantalla, administrar múltiples monitores y crear un espacio de trabajo personalizado adaptado a sus necesidades. Si quieren profundizar más sobre el uso de xrandr les recomiendo que abran una terminal y ejecuten el comando xrandr --help\nFuentes https://linuxconfig.org/how-to-configure-your-monitors-with-xrandr-in-linux\nhttps://wiki.archlinux.org/title/Xrandr\n","permalink":"https://geeklandlinux.github.io/posts/configurar-la-pantalla-del-ordenador-con-xrandr-en-linux/","summary":"\u003cp\u003eEn el mundo actual, tener una pantalla correctamente configurada es esencial para una experiencia informática óptima. Ya sea que esté utilizando un solo monitor o una configuración de múltiples monitores, la utilidad xrandr es una herramienta poderosa que puede ayudarlo a configurar la pantalla en un sistema Linux que ejecuta el servidor gráfico X.Org. En este artículo de blog, detallaremos como podemos usar la utilidad xrandr para configurar la pantalla o pantallas de su ordenador.\u003c/p\u003e","title":"Configurar la pantalla del ordenador con xrandr en Linux"},{"content":"En el siguiente artículo verán el método que utilizo para optimizar mis imágenes antes de subirlas a mi sitio web. En mi caso, utilizo un simple script que me permite usar de forma cómoda y rápida la API de Tinify. El método que verán a continuación optimiza las imágenes para mostrarlas en la web y para ello se aplica un algoritmo de compresión con pérdida. De esta forma la carga del servidor Web será menor y funcionará de forma más rápida y fluida.\nVENTAJAS A LA HORA DE OPTIMIZAR IMÁGENES WEB CON LA API DE TINIFY Las ventajas que obtendremos a la hora de optimizar imágenes web con la API de Tinify son las siguientes:\nEs una opción cómoda. Tan solo tendrán que seleccionar las imágenes a optimizar y hacer un par de clicks con el ratón. Si no quieren usar el ratón también pueden usar un atajo de teclado. De todas las opciones que he probado, la API de Tinify es la que ofrece la mejor relación entre el tamaño y la calidad de la imagen. He intentado usar herramientas como jpegoptim, guetzli, pngquant, etc., pero ninguna de estas herramientas ofrece un mejor resultado que la API de Tinify. Mediante un solo y simple script podré optimizar imágenes .png, .jpg y webp para subir a una web. En este artículo solo veremos como optimizar imágenes para uso web. No obstante la API permite otras operaciones como por ejemplo convertir imágenes a .png, .jpg o .web. También permite redimensionar imágenes o recortar imágenes de forma inteligente. Todos los metadatos de las imágines originales se preservan en la imagen transformada. LIMITACIONES Y PUNTOS A TENER EN CUENTA DEL MÉTODO QUE VERÁN A CONTINUACIÓN La única limitación de la API es que solamente podremos optimizar 500 imágenes por mes. En el caso que necesiten optimizar más de 500 imágenes por mes deberán pagar para poder usar la API. Los precios los encontrarán en el siguiente link. Además tienen que tener en cuenta que para usar la API necesitarán tener conexión a Internet. Por lo tanto este método solo es útil si disponen de una conexión a Internet.\nNota: Las imágenes a optimizar de nuestro disco duro se transferirán a los servidores de Tinify, posteriormente se optimizarán y se volverán a descargar a nuestro disco duro. Por lo tanto la solución mostrada en el artículo no es apta para los \u0026ldquo;paranoicos\u0026rdquo; de la privacidad.\nOPTIMIZAR IMÁGENES PARA SUBIR UNA WEB CON LA API DE TINYFY Los pasos a seguir para conseguir nuestro propósito son los siguientes.\nOBTENER UNA CLAVE API DE TINIFY Para obtener la API de Tinyfy tendréis que acceder a la siguiente URL. Una vez dentro tan solo tendréis que seguir las instrucciones para conseguir su número de API. Básicamente tendréis que introducir vuestro nombre y dirección de email.\nNota: En mi caso la API obtenida ha sido 6HiVtFGJt9By8fGWiiwmRXMLJSPsX3f\nINSTALAR LAS DEPENDENCIAS NECESARIAS PARA PODER EJECUTAR EL SCRIPT PARA OPTIMIZAR IMÁGENES WEB Para la correcta ejecución del script tan solo tenemos que asegurar que nuestro sistema operativo Linux tenga instalados los paquetes zenity y curl. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo apt install zenity curl Nota: El paquete Zenity servirá para mostrar cuadros de diálogo gráficos mientras se ejecuta el script. Curl servirá para hacer la llamada a la API de Tinify.\nAdemás para seguir las instrucciones de este artículo tienen que usar el gestor de ficheros Thunar.\nSCRIPT PARA PARA USAR LA API DE TINYFY Y OPTIMIZAR IMÁGENES WEB MEDIANTE LA API DE TINIFY Para poder usar la API de Tinify de forma cómoda he generado un pequeño script en bash. El script en mi caso tiene el nombre de web_optimized.sh y lo guardo en la ubicación /home/joan/.config/Thunar/custom actions/images/. Para generar el script en mi caso ejecuto el siguiente comando:\nnano /home/joan/.config/Thunar/custom\\ actions/images/web_optimized.sh Una vez de abra el editor de textos tan solo hay que pegar el siguiente código:\n#!/bin/bash guitool=zenity apitiny=poner_tu_clave_de_API exit_me(){ rm -rf ${tempdir} exit 1 } trap \u0026#34;exit_me 0\u0026#34; 0 1 2 5 15 LOCKFILE=\u0026#34;/tmp/.${USER}-$(basename $0).lock\u0026#34; [[ -r $LOCKFILE ]] \u0026amp;\u0026amp; PROCESS=$(cat $LOCKFILE) || PROCESS=\u0026#34; \u0026#34; if (ps -p $PROCESS) \u0026gt;/dev/null 2\u0026gt;\u0026amp;1 then echo \u0026#34;E: $(basename $0) is already running\u0026#34; $guitool --error --text=\u0026#34;$(basename $0) is already running\u0026#34; exit 1 else rm -f $LOCKFILE echo $$ \u0026gt; $LOCKFILE fi # precache PROGRESS=0 NUMBER_OF_FILES=\u0026#34;$#\u0026#34; let \u0026#34;INCREMENT=100/$NUMBER_OF_FILES\u0026#34; ( for f in \u0026#34;$@\u0026#34; do echo \u0026#34;$PROGRESS\u0026#34; file=\u0026#34;$f\u0026#34; # precache dd if=\u0026#34;$file\u0026#34; of=/dev/null 2\u0026gt;/dev/null # increment progress let \u0026#34;PROGRESS+=$INCREMENT\u0026#34; done ) | $guitool --progress --title \u0026#34;Precaching...\u0026#34; --percentage=0 --auto-close --auto-kill PROGRESS=0 NUMBER_OF_FILES=\u0026#34;$#\u0026#34; let \u0026#34;INCREMENT=100/$NUMBER_OF_FILES\u0026#34; mkdir -p \u0026#34;imagenes_optimizadas\u0026#34; ( for f in \u0026#34;$@\u0026#34; do imagename=$(echo \u0026#34;$f\u0026#34; | cut -f 1 -d \u0026#39;.\u0026#39;) imagetype=$(echo \u0026#34;$f\u0026#34; | cut -f 2 -d \u0026#39;.\u0026#39;) outfile=$imagename\u0026#34;-web.\u0026#34;$imagetype echo \u0026#34;$PROGRESS\u0026#34; file=\u0026#34;$f\u0026#34; filename=\u0026#34;${file##*/}\u0026#34; filenameraw=\u0026#34;${filename%.*}\u0026#34; echo -e \u0026#34;# Optimizando: \\t ${filename}\u0026#34; Cfile=`curl https://api.tinify.com/shrink --user api:$apitiny --data-binary @\u0026#34;${f}\u0026#34; --dump-header /dev/stdout | awk -F \u0026#34;url\u0026#34; \u0026#39;{print $2}\u0026#39; | awk \u0026#39;{print substr($0, 4)}\u0026#39; | sed \u0026#39;s/\u0026#34;}}//\u0026#39;` curl ${Cfile} --user api:$apitiny --output \u0026#34;imagenes_optimizadas/\u0026#34;\u0026#34;$outfile\u0026#34; let \u0026#34;PROGRESS+=$INCREMENT\u0026#34; done) | $guitool --progress --width=450 --title \u0026#34;Optimizando imagen...\u0026#34; --percentage=0 --auto-close --auto-kill #notify-send \u0026#34;Se han optmizado las imágenes\u0026#34; Una vez pegado el código tendréis que localizar la siguiente línea:\napitiny=poner_tu_clave_de_API Una vez encontrada tendréis que reemplazar el texto poner_tu_clave_de_API por su clave de la API. En mi caso la clave API es 6HiVtFGJt9By8fGWiiwmRXMLJSPsX3f. Una vez realizado este paso pueden guardar los cambios y cerrar el fichero.\nA continuación darán permisos de ejecución al script ejecutando el siguiente comando en la terminal:\nchmod +x /home/joan/.config/Thunar/custom\\ actions/images/web_optimized.sh CONFIGURAR UNA ACCIÓN PERSONALIZADA EN THUNAR PARA EJECUTAR EL SCRIPT Y ASÍ PODER OPTIMIZAR LAS IMÁGENES PARA LA WEB Para realizar una acción personalizada en Thunar para ejecutar el script de forma cómoda y sencilla tienen que seguir las instrucciones del siguiente enlace:\nhttps://geeklandlinux.github.io/posts/acciones-personalizadas-en-thunar/\nCuando lleguéis a la configuración básica de la acción personalizada tendréis que introducir los parámetros que se muestran en la captura de pantalla.\nUna breve explicación para rellenar los campos es la siguiente:\nNombre: En mi caso escribo Optimizar imagen Web. En vuestro caso podéis elegir el nombre que queráis. Descripción: Al igual que en el campo anterior escribo Optimizar imagen Web. En vuestro caso podéis usar la descripción que creáis oportuna y que describa la función de la acción personalizada. Orden: Hay que introducir el comando para ejecutar el script que creamos en el apartado anterior. En mi caso el comando es bash '/home/joan/.config/Thunar/custom actions/images/web_optimized.sh' %N En vuestro caso es posible que tengáis que modificar la ruta y el nombre del script. Icono: Seleccionar un icono que haga referencia a la tareas que se ejecutará A continuación en la pestaña Condiciones de aparición tenéis que tildar la opción Archivos de imagen tal y como se muestra en la captura de pantalla.\nUna vez finalizado este apartado ya estamos en disposición de comprobar que todo funciona como es previsto.\n¿CÓMO USAR EL SCRIPT PARA OPTIMIZAR IMÁGENES CON LA API DE TINFY? En nuestro gestor de ficheros Thunar tenemos 4 imágenes que ocupan un tamaño de 180 kiB y las queremos optimizar para subir una web. Para ello las seleccionaremos, presionaremos el botón derecho del ratón y cuando aparezca el menú contextual ejecutaremos la acción personalizada Optimizar imagen web.\nActo seguido empezará la optimización de las imágenes:\nUna vez finalizado el proceso se creará un directorio con el nombre imagenes_optimizadas que contendrá las imágenes optimizadas para posteriormente subir a un servidor web. Si se fijan el tamaño ahora es 93.8 KiB, por lo tanto el tamaño se ha reducido a la mitad.\nACCEDER AL PANEL DE CONTROL DE LA API En el caso que necesiten acceder al panel de administración de la API para por ejemplo mirar las fotos que habéis comprimido durante el presente mes, o para por ejemplo pagar por el uso de la API pueden hacerlo a través de la siguiente URL:\nhttps://tinify.com/dashboard/api\nFuentes https://tinypng.com/developers/reference\n","permalink":"https://geeklandlinux.github.io/posts/como-optimizar-imagenes-para-la-web-con-tinify/","summary":"\u003cp\u003eEn el siguiente artículo verán el método que utilizo para optimizar mis imágenes antes de subirlas a mi sitio web. En mi caso, utilizo un simple script que me permite usar de forma cómoda y rápida la API de Tinify. El método que verán a continuación optimiza las imágenes para mostrarlas en la web y para ello se aplica un algoritmo de compresión con pérdida. De esta forma la carga del servidor Web será menor y funcionará de forma más rápida y fluida.\u003c/p\u003e","title":"Como optimizar imágenes para la Web con Tinify"},{"content":"Debido a la configuración predeterminada del grub muchas distribuciones, como por ejemplo Debian, no es capaz de detectar el resto de sistemas operativos instalados en el equipo. Por este motivo en el siguiente artículo veremos como solucionar el problema que el grub no pueda detectar el resto de sistemas operativos instalados en nuestro equipo.\n¿POR QUÉ EL GRUB NO CONSIGUE DETECTAR LOS OTROS SISTEMAS OPERATIVOS? Muchas distribuciones deshabilitan la utilidad os-prober por temas de seguridad. Al deshabilitar os-prober el grub, o gestor de arranque, no será capaz de detectar y añadir las entradas del resto de sistemas operativos en el fichero de configuración /boot/grub/grub.cfg. Por lo tanto para solucionar el problema citado en el inicio del artículo tan solo tendremos habilitar os-prober del siguiente modo.\nHACER QUE EL GRUB VUELVA A DETECTAR LOS SISTEMAS OPERATIVOS HABILITANDO OS-PROBER Lo primero a realizar es asegurar que tenemos instalado el paquete os-prober. Para ello ejecutaremos el siguiente comando en la terminal:\n❯ sudo apt install os-prober La función de os-prober es detectar el resto de sistema operativos instalados en nuestro equipo y añadir sus entradas en el fichero de configuración del grub. Para comprobar que funciona pueden ejecutar el siguiente comando:\n❯ sudo os-prober [sudo] contraseña para joan: /dev/sda8@/EFI/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efi Nota: Si se fijan os-prober ha detectado el sistema operativo Windows 10. Esto es así porque aparte de Debían mi equipo tiene un dual boot con Windows 10.\nActo seguido editaremos la configuración del gestor de arranque grub ejecutando el siguiente comando en la terminal:\n❯ sudo nano /etc/default/grub Cuando se abra el editor de texto introduciremos la siguiente línea en el fichero de configuración del grub. De esta forma aseguraremos que os-prober se pueda ejecutar sin problemas.\nGRUB_DISABLE_OS_PROBER=false Nota: Asegúrense que el fichero de configuración no contenga la línea GRUB_DISABLE_OS_PROBER=true. En el caso que la encuentren deben modificar true por false\nUna vez introducida la línea guardaremos los cambios y cerramos el fichero. Finalmente tan solo tenemos que regenerar el fichero de configuración del grub ejecutando el siguiente comando en la terminal:\n❯ sudo update-grub Generating grub configuration file ... Found background image: /usr/share/images/desktop-base/desktop-grub.png Found linux image: /boot/vmlinuz-5.18.0-1-amd64 Found initrd image: /boot/initrd.img-5.18.0-1-amd64 Found linux image: /boot/vmlinuz-5.17.0-1-amd64 Found initrd image: /boot/initrd.img-5.17.0-1-amd64 Found linux image: /boot/vmlinuz-5.16.0-6-amd64 Found initrd image: /boot/initrd.img-5.16.0-6-amd64 Warning: os-prober will be executed to detect other bootable partitions. Its output will be used to detect bootable binaries on them and create new boot entries. Found Windows Boot Manager on /dev/sda8@/EFI/Microsoft/Boot/bootmgfw.efi Adding boot menu entry for UEFI Firmware Settings ... done Nota: Si se fijan en la salida del comando podrán ver que ahora si se detectan otros sistemas operativos, como por ejemplo Windows.\nUna vez regenerada la configuración, tan solo tienen que reiniciar el equipo y entonces podrán comprobar que ahora el grub detecta la totalidad de los sistemas operativos.\nQUE HACER SI EL PROBLEMA SIGUE SIN SOLUCIONARSE En el caso que el método que acabamos de citar no les funcione pueden intentar reinstalar el grub siguiendo las instrucciones del siguiente enlace.\nFuentes https://www.baeldung.com/linux/grub-bootloader-add-new-os\n","permalink":"https://geeklandlinux.github.io/posts/habilitar-os-prober-para-que-el-grub-pueda-detectar-los-sistemas-operativos/","summary":"\u003cp\u003eDebido a la configuración predeterminada del grub muchas distribuciones, como por ejemplo Debian, no es capaz de detectar el resto de sistemas operativos instalados en el equipo. Por este motivo en el siguiente artículo veremos como solucionar el problema que el grub no pueda detectar el resto de sistemas operativos instalados en nuestro equipo.\u003c/p\u003e","title":"Habilitar os-prober para que el grub pueda detectar los sistemas operativos"},{"content":"La gran mayoría de distribuciones que usan paquetes .deb usan apt como gestor de paquetes de alto nivel. Este gestor de paquetes funciona bien, no obstante también es cierto que presenta algunas limitaciones. Por este motivo en el siguiente artículo veremos como usar un gestor de paquetes alternativo que se llama Nala. Antes de iniciar la explicación de como instalar y usar Nala veremos los principales inconvenientes del gestor de paquetes apt.\nINCONVENIENTES DEL GESTOR DE PAQUETES APT Los principales inconvenientes del gestor de paquetes apt son los siguientes:\nPor defecto no permite descargas paralelas y por este motivo, entre otros, es más lento que otros gestores de paquetes como por ejemplo Pacman. En el caso que se quisieran acelerar las descargas podrían usar apt-fast, pero esto requiere de instalación de paquetes adicionales y un proceso de configuración. Los mirrors configurados por defecto no acostumbran a ser los más rápidos en función de nuestra ubicación geográfica y carga de los mirrors. Para solucionar este tema Debian usa repositorios Redirector o también se pueden usar otras herramientas como apt-spy o netselect. No es fácil consultar el historial de paquetes instalados. Cabe decir que es posible, pero para ello tienes que consultar los logs del sistema operativo. La lectura del contenido mostrado por la terminal no es visualmente atractivo ni proporciona información fácil de leer. Para solucionar la totalidad de los problemas citados podemos usar el gestor de paquetes nala. Nala nos proporcionará las siguientes funcionalidades y ventajas.\nVENTAJAS DE NALA RESPECTO AL GESTOR DE PAQUETES APT Las funcionalidades adicionales que nos proporcionará son las siguientes:\nPermite descargas paralelas. Permite descargar 3 paquetes de un repositorio de forma simultánea, mientras que apt solo puede descargar un paquete y cuando se termina la descarga se inicia la descarga del siguiente paquete. Podemos configurar varios mirrors de forma simultánea y nala alternará entre ellos para intentar disponer de la mayor velocidad de descarga. Dispone de una herramienta incorporada para detectar y usar los mirrors más rápidos. Para obtener el listado de los mirrors más rápidos tan solo tendrán que ejecutar el comando sudo nala fetch. Mediante el comando nala history podemos consultar la totalidad de acciones realizadas con el gestor de paquetes nala. Cada una de las acciones realizadas tendrá asignada un determinado ID. Mediante el ID y los comando sudo nala undo ID y sudo nala redo ID podremos deshacer y rehacer acciones realizadas en el pasado. Los resultados que se muestran en la pantalla serán mucho más coloridos y fáciles de leer que los del gestor de paquetes apt. Una vez citadas las ventajas, podéis instalar Nala siguiendo estos pasos.\nINSTALAR EL GESTOR DE PAQUETES NALA Nala acostumbra a estar en los repositorios de la mayoría de distribuciones que usan el gestor de paquetes apt. Por lo tanto para su instalación tan solo tienen que ejecutar el siguiente comando:\nsudo apt install nala En el caso que no esté en el repositorios les sugiero que usen algunos de los métodos detallados en el siguiente enlace.\nhttps://gitlab.com/volian/nla/-/wikis/Installation\nEl uso de este gestor de paquetes es muy similar al de apt. Para que puedan usar Nala de forma sencilla, les dejo la siguiente tabla de equivalencias entre el gestor de paquetes apt y Nala.\nTABLA DE EQUIVALENCIAS ENTRE EL GESTOR DE PAQUETES NALA Y APT En la siguiente tabla encontrarán la totalidad de comandos que pueden ejecutar en nala con su correspondiente equivalente en apt. Si os fijáis, los comandos son prácticamente equivalentes y tan solo tienen que reemplazar apt por nala.\nComando nala Comando apt Explicación del comando Nala nala install paquete apt install paquete Instalar un paquete nala remove paquete apt remove paquete Desinstalar una paquete concreto nala autoremove apt autoremove Desinstalar los paquetes que no se necesitan nala purge paquete apt purge paquete Eliminar paquetes y los ficheros de configuración que especificamos nala autopurge apt autoremove --purge Eliminar paquetes y los ficheros de configuración que no se necesitan nala clean apt clean Borrar el repositorio local de paquetes .deb descargados nala update apt update Refrescar los repositorios nala upgrade - Refrescar los repositorios y actualizar el sistema operativo nala upgrade --full apt dist-upgrade Actualizar el sistema operativo instalando nuevas paquetes y dependencias en case necesario nala upgrade --no-update apt upgrade Para actualizar el sistema sin refrescar los repositorios nala upgrade --exclude paquete apt-mark hold paquete Actualizar todos los paquetes excepto los que queremos excluir nala list --upgradable apt list --upgradable Listar los paquetes que se pueden actualizar nala list apt list Mostrar un listado de la totalidad de paquetes instalados en el sistema operativo nala list -i apt list -i Mostrar un listado con información detallada de la totalidad de paquetes instalados en el sistema operativo nala list -N - Obtener un listado de la totalidad de paquetes instalados únicamente con nala nala fetch - Ver los mirrors más rápidos para acelerar las descargas nala history - Mostrar la totalidad de operaciones realizadas con nala nala history undo ID - Para deshacer una operación realizada en el pasado nala history redo ID - Para repetir una operación realizada en el pasado nala search texto apt search texto Consulta paquetes que en su nombre o descripción tengan un determinado texto nala show paquete apt show paquete Consultar información detallada sobre un paquete específico Si quieren obtener más información sobre los comando disponibles tan solo tienen que consultar las páginas man de su distribución.\nALGUNOS EJEMPLOS SIMPLES DEL USO DE NALA Algunos ejemplos simples que muestran el uso de este gestor de paquetes son los siguientes.\nInstalar un paquete con Nala Para instalar un paquete tan solo hay que ejecutar un comando del siguiente tipo.\nsudo nala install nombre_del_paquete Por lo tanto para instalar htop tan solo tendrán que ejecutar el siguiente comando:\nsudo nala install htop Ver el historial de acciones realizadas con el gestor de paquetes Nala Si ahora queremos consultar la totalidad de operaciones realizadas con el gestor de paquetes Nala tan solo hay que ejecutar el siguiente comando:\njoan@debian:~$ nala history ID Command Date and Time Altered Requested-By 1 install htop 2023-06-04 12:37:19 CEST 1 joan (1000) Como pueden ver en la salida del comando muestra que a la 12:37 instalé el monitor htop en el sistema operativo.\nDeshacer una acción realizada con nada usando el Historial Si os fijáis en el apartado anterior veréis que cada una de las acciones realizadas con Nala tiene un ID. La acción que muestra la instalación de htop tiene el ID 1. Por lo tanto si quiero deshacer la acción 1 y por lo tanto desinstalar htop deberé ejecutar el siguiente comando:\njoan@debian:~$ sudo nala history undo 1 ================================================================================================================================ Desinstalando .... Finalizado exitosamente Si quieren realizar otras acciones, les recomiendo que miren en la tabla de equivalencias de este artículo. Allí podrán ver de forma esquemática cómo realizar lo que necesitan. Espero que esto te ayude.\nPara finalizar el artículo os animo a darle una oportunidad a Nala. Si lo usan verán que solucionará parte de los inconvenientes que tiene el gestor de paquetes apt. En el caso que no les convenza siempre podrán desinstalarlo con el siguiente comando:\nsudo apt remove --purge nala Fuentes https://gitlab.com/volian/nal\nhttps://gitlab.com/volian/nal/-/wikis/Installation\n","permalink":"https://geeklandlinux.github.io/posts/como-instalar-y-usar-nala-como-gestor-de-paquetes-para-reemplazar-apt/","summary":"\u003cp\u003eLa gran mayoría de distribuciones que usan paquetes .deb usan apt como gestor de paquetes de alto nivel. Este gestor de paquetes funciona bien, no obstante también es cierto que presenta algunas limitaciones. Por este motivo en el siguiente artículo veremos como usar un gestor de paquetes alternativo que se llama Nala. Antes de iniciar la explicación de como instalar y usar Nala veremos los principales inconvenientes del gestor de paquetes apt.\u003c/p\u003e","title":"Cómo instalar y usar Nala como gestor de paquetes para reemplazar apt"},{"content":"El reproductor de vídeo MPV es conocido por su eficiencia y simplicidad. Si eres un entusiasta de los vídeos en línea y deseas disfrutar de tus contenidos favoritos de YouTube, Twitch u otras plataformas directamente en MPV, estás de suerte. En este artículo, te mostraremos cómo ver los vídeos del navegador web en MPV mediante xclip, Yt-dlp y un simple atajo de teclado. Además lo haremos de forma transparente y sin necesidad de instalar ninguna extensión en el navegador web.\nBENEFICIOS DE VER LOS VÍDEOS EN MPV EN VEZ DE UN REPRODUCTOR WEB Algunos de los beneficios obtenidos al usar MPV en vez de un reproductor web, como por ejemplo el de Youtube, son los siguientes:\nEficiencia y bajo consumo de recursos: MPV es conocido por su eficiencia y bajo consumo de recursos en comparación con los reproductores web. Esto se traduce en un menor uso de la CPU y la memoria de tu sistema, lo que puede ser beneficioso especialmente en equipos más antiguos o con recursos limitados. Mejor calidad de reproducción: MPV utiliza tecnología de renderizado de alta calidad, lo que resulta en una reproducción más nítida y fluida. Además, al reproducir vídeos en MPV, no estás limitado por las restricciones o limitaciones de los reproductores de vídeo web, lo que puede resultar en una mejor calidad de imagen y sonido. Mayor control y personalización: MPV te brinda un mayor control sobre la reproducción de vídeos. Puedes ajustar y personalizar aspectos como la velocidad de reproducción, la relación de aspecto, los filtros de vídeo, el audio, entre otros. Esto te permite adaptar la experiencia de visualización según tus preferencias. PLATAFORMAS DE VÍDEO COMPATIBLES CON EL MÉTODO QUE VERÁN A CONTINUACIÓN El método que verán a continuación es útil para visualizar vídeos de la totalidad de plataformas soportadas por Yt-dlp. Esto significa que podremos visualizar vídeos y directos de Youtube y Twitch. Además también podremos visualizar vídeos de otras plataformas como por ejemplo DailyMotion, Vimeo, Pandora.tv, Odysee, TED, Archive.org, ESPN, Soundcloud, Mixcloud, etc.\nINSTALAR LOS SIGUIENTES PAQUETES O PROGRAMAS PARA VER LOS VÍDEOS DEL NAVEGADOR EN MPV Para poder visualizar los vídeos que normalmente veis en el navegador en MPV tendréis que instalar los siguientes programas.\nInstalación de xclip Para instalar xclip tan solo tenéis que ejecutar el siguiente comando en la terminal.\nsudo apt install xclip libnotify-bin La utilidad xclip es un herramienta sin entorno gráfico que nos ayudará a acceder al texto que tenemos copiado en el portapapeles. De esta forma podremos reproducir cualquier link de vídeo que tengamos copiado en nuestro papeles en el reproductor MPV u en otro reproductor.\nInstalación y configuración del reproductor de vídeo mpv Para instalar y configurar el reproductor de vídeo mpv les recomiendo que sigan las instrucciones del siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-y-configurar-el-reproductor-mpv-en-debian-y-derivados/\nLa configuración de MPV se halla en el fichero ~/.config/mpv/mpv.conf. En mi caso el contenido del fichero de configuración para mi equipo de recursos limitados es el siguiente:\n[default] vo=gpu hwdec ao=pulse Las líneas vo=gpu y hwdec son para forzar que la decodificación gráfica se realice mediante hardware. El parámetro ao=pulse indica que quiero usar pulseaudio para la salida de audio. Instalación y configuración de Yt-dlp Existen diversas formas para instalar Yt-dlp. No obstante en mi caso siempre acostumbro a usar el gestor de paquetes pip. Para ello ejecuto el siguiente comando en la terminal:\npython3 -m pip install -U yt-dlp --break-system-packages Acto seguido introduzco el comando @reboot (sleep 70 ; python3 -m pip install -U yt-dlp --break-system-packages) en el crontab de mi distribución. De este modo aseguraré que siempre tengo la última versión de Yt-dlp instalada en mi equipo. Para introducir el comando en el crontab tan solo tenéis que ejecutar el siguiente comando:\ncrontab -e Cuando se abra el editor de textos os vais a la parte final del fichero y pegáis el siguiente código:\n@reboot (sleep 70 ; python3 -m pip install -U yt-dlp --break-system-packages) La configuración de Yt-dlp se halla en el fichero ~/.config/yt-dlp/config. Para acceder al fichero de configuración tendrán que teclear el siguiente comando en la terminal:\nnano ~/.config/yt-dlp/config Una vez se abra el editor de texto nano podremos realizar la configuración de Yt-dlp. En mi caso tan solo he añadido la siguiente opción en el fichero de configuración:\n-S \u0026#34;codec:h264\u0026#34; Una vez añadida la opción hay que guardar los cambios y cerrar el fichero. Con esta opción de configuración forzaremos que la totalidad de vídeos que Yt-dlp descarga para posteriormente reproducirlos en el reproductor mpv sean con el codec h264. He forzado y seleccionado este codec porque mi tarjeta gráfica ofrece aceleración gráfica por hardware para este codec. No es necesario realizar este paso en el caso que tengan una tarjeta gráfica actual compatible con los codecs actuales.\nSCRIPT PARA REPRODUCIR LOS VIDEOS DEL NAVEGADOR EN MPV Ahora tan solo tenemos que crear un script muy simple para reproducir los vídeos que normalmente visualizamos en el navegador web con mpv. Primero generaremos el fichero que contendrá el código ejecutando el siguiente comando en la terminal:\ntouch ~/.local/bin/youtube-watch.sh Acto seguido lo abrimos con el editor de textos ejecutando el siguiente comando en la terminal:\nnano ~/.local/bin/youtube-watch.sh A continuación pegamos el siguiente código en el editor de textos:\n#!/bin/bash mpv \u0026#34;$(xclip -o)\u0026#34; En el caso que quisieran que el vídeo se abra de forma automática en pantalla completa tendrían que añadir la opción --fs del siguiente modo:\n#!/bin/bash mpv --fs \u0026#34;$(xclip -o)\u0026#34; Si además queréis que antes de reproducir el vídeo aparezca una notificación usando notify-send podéis usar el siguiente script:\n#!/bin/bash notify-send -t 3000 \u0026#34;Reproduciendo\u0026#34; \u0026#34;$(xclip -o)\u0026#34;; mpv --fs \u0026#34;$(xclip -o)\u0026#34; Una vez pegado el texto guardamos los cambios y cerramos el editor de textos. A continuación solo tenemos que dar permisos de ejecución al script ejecutando el siguiente comando en la terminal:\nchmod +x ~/.local/bin/youtube-watch.sh CONFIGURACIÓN PARA INICIAR LA REPRODUCCIÓN DEL VÍDEO MEDIANTE UN ATAJO DE TECLADO Por temas de comodidad ejecutaré el script que acabo de crear mediante el atajo de teclado windows+y. Para conseguir lo que acabo de citar dependerá del entorno de escritorio que estemos usando. Como en mi caso uso el escritorio i3 añadiré la siguiente línea en el fichero de configuración de i3.\nbindsym $mod+y exec bash ~/.local/bin/youtube-watch.sh En el caso que uséis el entorno XFCE podéis seguir los pasos detallados en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/crear-atajos-de-teclado-en-xfce/\nCOMO VER LOS VÍDEOS DEL NAVEGADOR EN MPV Una vez realizado todo el proceso de configuración podemos ir a cualquiera de los vídeos que queremos visualizar. Entonces copiamos el enlace o el enlace del hipervínculo que nos dirige al vídeo.\nUna vez copiado el enlace tan solo tenéis que presionar la combinación de teclas para ejecutar el script que creamos en apartados anteriores. En mi caso esta combinación de teclas es Windows+y. Acto seguido empezará la reproducción del vídeo.\nDe esta forma tan simple podremos consumir vídeos de Youtube, Vimeo, Dailymotion, Twitch, etc.\n","permalink":"https://geeklandlinux.github.io/posts/como-ver-videos-del-navegador-en-el-reproductor-mpv/","summary":"\u003cp\u003eEl reproductor de vídeo MPV es conocido por su eficiencia y simplicidad. Si eres un entusiasta de los vídeos en línea y deseas disfrutar de tus contenidos favoritos de YouTube, Twitch u otras plataformas directamente en MPV, estás de suerte. En este artículo, te mostraremos cómo ver los vídeos del navegador web en MPV mediante xclip, Yt-dlp y un simple atajo de teclado. Además lo haremos de forma transparente y sin necesidad de instalar ninguna extensión en el navegador web.\u003c/p\u003e","title":"Como ver vídeos del navegador en el reproductor MPV"},{"content":"Pip es un gestor de paquetes muy popular en el universo Python, que nos permite realizar la gestión de paquetes y librerías de Python de forma muy sencilla en nuestro sistema Linux. Con Pip, podemos instalar, actualizar, eliminar y buscar paquetes de Python, y nos proporciona una forma conveniente de gestionar dependencias y versiones entre diversas librerías de Python que tengamos en nuestro sistema. En este artículo, exploraremos en detalle cómo usar pip en Linux y Windows para instalar y gestionar paquetes de Python en su sistema.\n¿QUÉ ES PIP? Pip es un gestor de paquetes utilizado para instalar y administrar bibliotecas así como módulos de terceros en un proyecto de Python. Pip es el acrónimo de \u0026ldquo;Pip Installs Packages\u0026rdquo; y es una herramienta muy útil para instalar, actualizar, eliminar y buscar paquetes de Python.\nLos paquetes Python instalado mediante pip proceden del siguiente repositorio:\nhttps://pypi.org/\nDentro de esta web podrán navegar y ver la totalidad de paquetes y librearías disponibles para su instalación.\n¿CÓMO INSTALAR PIP USANDO PYTHON 3? Para instalar el gestor de paquetes PIP tienen que proceder del siguiente modo en función del sistema operativo.\nInstalar el gestor de paquetes PIP En GNU-Linux Para instalar pip en una distribución que use el gestor de paquetes apt deberán ejecutar el siguiente comando en la terminal:\nsudo apt install python3-pip Si por lo contrario usan el gestor de paquetes dnf deberán ejecutar el siguiente comando:\nsudo dnf install python3 python3-wheel Si usan Pacman:\npacman -S python-pip Finalmente si usan Zipper deberán ejecutar el siguiente comando:\nsudo zypper install python3-pip python3-setuptools python3-wheel Instalar el gestor de paquetes PIP en Windows Para instalar PIP en Windows tenemos que proceder del siguiente modo:\nAbrimos el navegador web y accedemos a https://bootstrap.pypa.io/get-pip.py para descargar el fichero get-pip.py. Acto seguido abrimos la consola de windows y nos dirigimos a la ubicación donde hemos descargado el fichero get-pip.py. Finalmente ejecutamos el siguiente comando para que se instale el gestor de paquetes PIP. python3 get-pip.py Para verificar que PIP se ha instalado correctamente tan solo hay que ejecutar el siguiente comando:\npip --version Si aparece información sobre la versión de PIP que has instalado, entonces la instalación ha sido exitosa.\nNota: Obviamente antes de instalar PIP tenemos que tener instalado Python\nUna vez instalado el gestor de paquetes PIP podremos usarlo del siguiente modo.\nRESUMEN DE LA TOTALIDAD DE OPERACIONES QUE SE PUEDEN REALIZAR CON EL GESTOR DE PAQUETES PIP Algunos de los comandos y operaciones más habituales del gestor de paquetes PIP son los que se muestran a continuación:\nComando gestor paquetes pip Explicación del comando pip install nombre_paquete Para instalar un programa o librería. pip install --pre nombre_paquete Instalar la versión beta de un programa o librería. pip download nombre_paquete Para descargar un paquete y la totalidad de sus dependencias sin instalar nada en el sistema operativo. pip uninstall nombre_paquete Para desinstalar un programa o librería. pip freeze Listar la totalidad de paquetes python instalados con pip indicando su versión y siguiendo siempre un formato determinado. pip list Muestra los mismos resultados que el comando pip freeze. Los resultados son más fáciles de leer, pero no siguen un formato tan rígido como pip freeze pip list --outdated Listar la totalidad de paquetes obsoletos y que por lo tanto tienen una versión más reciente disponible. pip show nombre_paquete Obtener información sobre un paquete instalado mediante pip. pip check Para verificar que los paquetes instalados están bien instalados y no tienen problemas de dependencias. pip install --upgrade nombre_paquete Para actualizar un paquete específico a la última versión. pip freeze | grep -v '^\\-e' | cut -d = -f 1 | xargs -n1 pip install -U Actualizar la totalidad de paquetes a la última versión. pip freeze --local |grep -v '^\\-e' |cut -d = -f 1 |xargs -n1 pip install -U Actualizar la totalidad de paquetes a la última versión de únicamente los paquetes instalados dentro del entorno virtual de desarrollo activo. pip freeze | xargs pip uninstall -y Para eliminar la totalidad de paquetes Python instalados. pip cache dir Ver la ubicación del directorio que almacena copias en forma de cache de los paquetes que se descargan de los repositorios de PyPI (Python Package Index). pip cache purge Limpiar la cache de pip. pip --version Mostrar la versión de pip instalada en el sistema operativo. pip --help Mostrar ayuda para usar el comando pip. A continuación veremos algunos ejemplos de los comando que acabo de citar en la tabla.\nINSTALAR UN PROGRAMA O LIBRERÍA Para instalar el programa youtube-dlp ejecutaremos el siguiente comando:\npip install yt-dlp DESINSTALAR UN PROGRAMA O LIBRERÍA Para desinstalar el programa que acabamos de instalar, que es youtube-dlp, ejecutaremos el siguiente comando:\npip uninstal yt-dlp OBTENER INFORMACIÓN SOBRE UN PAQUETE QUE TENGAMOS INSTALADO Para obtener información específica sobre un paquete que tenemos instalado en nuestro equipo tendremos que ejecutar un comando del siguiente tipo:\npip show nombre_paquete Por lo tanto para obtener información detallada del paquete yt-dlp ejecutaremos el siguiente comando:\npip show yt-dlp Name: yt-dlp Version: 2023.3.4 Summary: A youtube-dl fork with additional features and patches Home-page: https://github.com/yt-dlp/yt-dlp Author: Author-email: License: Location: /home/joan/python_3_11_2/lib/python3.11/site-packages Requires: brotli, certifi, mutagen, pycryptodomex, websockets Required-by: Si observamos la salida del comando vemos que obtenemos la siguiente información:\nNombre completo del paquete. Versión del paquete. Descripción del paquete. URL de origen del paquete. Requerimientos y dependencias del paquete. Ubicación donde se almacena el paquete. Dependencias que el paquete requiere para funcionar correctamente etc. LISTAR LA TOTALIDAD DE PAQUETES INSTALADOS MEDIANTE EL GESTOR DE PAQUETES PIP Para listar la totalidad de paquetes instalados conjuntamente con su versión tan solo tenemos que ejecutar el comando pip freeze del siguiente modo:\npi@raspberrypi:~ $ pip freeze asn1crypto==1.5.1 attrs==21.4.0 bcrypt==3.2.0 beautifulsoup4==4.11.1 cached-property==1.5.2 certifi==2021.10.8 cffi==1.15.0 chardet==4.0.0 charset-normalizer==2.0.12 click==8.1.2 .... LISTAR LOS PAQUETES OBSOLETOS O SIN ACTUALIZAR MEDIANTE EL GESTOR DE PAQUETES PIP Para simplemente ver los paquetes que disponen de alguna actualización, y que por lo tanto están obsoletos, hay que ejecutar el siguiente comando en la terminal.\npip list --outdated En mi caso los paquetes obsoletos son los siguientes:\npi@raspberrypi:~ $ pip list --outdated Package Version Latest Type ------------------- ------- ----------- ----- beautifulsoup4 4.10.0 4.11.1 wheel click 8.0.4 8.1.2 wheel hachoir 3.1.2 3.1.3 wheel importlib-resources 5.6.0 5.7.1 wheel jeepney 0.7.1 0.8.0 wheel prompt-toolkit 3.0.28 3.0.29 wheel PyGObject 3.42.0 3.42.1 sdist SecretStorage 3.3.1 3.3.2 wheel ... VER SI LOS PAQUETES INSTALADOS PUEDEN TENER PROBLEMAS DE DEPENDENCIAS EN LA ACTUALIZACIÓN Para ver si tenemos problemas de dependencias podemos usar el comando pip check. En el caso de tener problemas de dependencias obtendréis un resultados similar al siguiente:\npi@raspberrypi:~ $ pip check docker-compose 1.29.2 has requirement jsonschema\u0026lt;4,\u0026gt;=2.5.1, but you have jsonschema 4.4.0. docker-compose 1.29.2 has requirement PyYAML\u0026lt;6,\u0026gt;=3.10, but you have pyyaml 6.0. docker-compose 1.29.2 has requirement websocket-client\u0026lt;1,\u0026gt;=0.32.0, but you have websocket-client 1.3.2. En caso que no hubieran problemas de dependencias el resultado habría sido el siguiente:\nNo broken requirements found. ACTUALIZAR UN PAQUETE A LA ÚLTIMA VERSIÓN Anteriormente hemos visto que el paquete beautifulsoup4 no está a la última versión.\npi@raspberrypi:~ $ pip list --outdated Package Version Latest Type ------------------- ------- ----------- ----- beautifulsoup4 4.10.0 4.11.1 wheel Para actualizar este paquete a la última versión tan solo tendremos que ejecutar el siguiente comando:\npip install --upgrade beautifulsoup4 Acto seguido se actualizará el paquete.\nACTUALIZAR LA TOTALIDAD DE PAQUETES MEDIANTE EL GESTOR DE PAQUETES PIP Para actualizar la totalidad de paquetes que están obsoletos tan solo tienen que ejecutar el siguiente comando en la terminal:\npip freeze | grep -v \u0026#39;^\\-e\u0026#39; | cut -d = -f 1 | xargs -n1 pip install -U Acto seguido empezará la actualización de los paquetes:\npi@raspberrypi:~ $ pip freeze | grep -v \u0026#39;^\\-e\u0026#39; | cut -d = -f 1 | xargs -n1 pip install -U Defaulting to user installation because normal site-packages is not writeable Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple Requirement already satisfied: beautifulsoup4 in ./.local/lib/python3.7/site-packages (4.10.0) Collecting beautifulsoup4 Downloading https://www.piwheels.org/simple/beautifulsoup4/beautifulsoup4-4.11.1-py3-none-any.whl (130 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 130.1/130.1 KB 54.3 kB/s eta 0:00:00 Requirement already satisfied: soupsieve\u0026gt;1.2 in ./.local/lib/python3.7/site-packages (from beautifulsoup4) (2.3.1) Installing collected packages: beautifulsoup4 Attempting uninstall: beautifulsoup4 Found existing installation: beautifulsoup4 4.10.0 Uninstalling beautifulsoup4-4.10.0: Successfully uninstalled beautifulsoup4-4.10.0 Successfully installed beautifulsoup4-4.11.1 Defaulting to user installation because normal site-packages is not writeable ... CREAR ENTORNOS VIRTUALES DE PYTHON Si ahora lo que pretenden es crear entornos virtuales de desarrollo en Python les recomiendo que visiten el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/crear-entornos-virtuales-de-desarrollo-python-en-linux/\nFuente https://www.activestate.com/resources/quick-reads/how-to-update-all-python-packages/\n","permalink":"https://geeklandlinux.github.io/posts/como-instalar-y-usar-el-gestor-de-paquetes-pip/","summary":"\u003cp\u003ePip es un gestor de paquetes muy popular en el universo Python, que nos permite realizar la gestión de paquetes y librerías de Python de forma muy sencilla en nuestro sistema Linux. Con Pip, podemos instalar, actualizar, eliminar y buscar paquetes de Python, y nos proporciona una forma conveniente de gestionar dependencias y versiones entre diversas librerías de Python que tengamos en nuestro sistema. En este artículo, exploraremos en detalle cómo usar pip en Linux y Windows para instalar y gestionar paquetes de Python en su sistema.\u003c/p\u003e","title":"Como instalar y usar el gestor de paquetes PIP"},{"content":"En siguiente artículo hablaremos de los entornos virtuales de programación en Phyton. Concretamente abordaremos su definición y sus diferentes utilidades, para posteriormente adentrarnos en el proceso de creación y eliminación de los entornos de desarrollo virtuales de Python.\n¿QUÉ ES UN ENTORNO VIRTUAL DE DESARROLLO EN PYTHON? Un entorno virtual de programación en Python es un ambiente aislado en el cual se pueden instalar paquetes y librerías de Python específicas para un proyecto en particular, sin afectar al sistema operativo y otras aplicaciones instaladas en la máquina.\nEsto permite a los desarrolladores de software trabajar en diferentes proyectos de Python, cada uno con sus propias dependencias y versiones de paquetes, sin preocuparse por conflictos entre versiones de paquetes y librerías.\nUTILIDADES QUE TIENE UN ENTORNO VIRTUAL DE DESARROLLO EN PYTHON Las utilidades son las siguientes:\nReproducibilidad del código: Podemos asegurar que nuestro código se ejecutará correctamente en cualquier momento, sin importar el sistema operativo en el que se encuentre. Esto se logra mediante la creación de un entorno virtual, el cual utiliza versiones específicas de Python y las librerías de Python que necesitamos. De esta manera, podemos garantizar la compatibilidad del código incluso si actualizamos el sistema operativo o la versión de Python.\nEvitar conflictos de dependencias: Si trabaja en varios proyectos de Python al mismo tiempo, es probable que necesite diferentes versiones de las mismas bibliotecas o dependencias. Un entorno virtual puede ayudar a evitar conflictos de dependencias al mantener los requerimientos específicos de cada proyecto en su propio entorno aislado.\nInstalar paquetes y dependencias de manera local: Permite instalar paquetes y dependencias de Python de manera local, lo que significa que puede trabajar sin necesidad de acceso de administrador a su sistema operativo o afectar a otros proyectos de Python en su sistema.\nFacilitar la colaboración: Facilitar la colaboración con otros desarrolladores. Al compartir su entorno virtual con otros miembros del equipo, puede garantizar que todos estén trabajando con las mismas versiones de las bibliotecas y dependencias.\nEn resumen, un entorno virtual de Python es una herramienta importante para desarrolladores de Python que ayuda a garantizar la reproducibilidad y la portabilidad de su código, a evitar conflictos de dependencias y a facilitar la colaboración en equipo.\nCREAR ENTORNOS VIRTUALES EN PYTHON Existen diversas herramientas para crear entornos virtuales de Python. Algunas de ellas son venv, conda, virtualenv, Pyenv, etc, No obstante en este artículo nos centraremos en el uso de venv.\nInstalar los paquetes para crear y configurar el entornos virtuales de desarrollo de Python Lo primero que debemos hacer es instalar el paquete python3-venv. Este paquete es necesario para poder crear y gestionar entornos virtuales de Python en nuestro sistema. Si estás utilizando una distribución con el gestor de paquetes apt, podrás instalar python3-venv ejecutando el siguiente comando en la terminal:\nsudo apt install python3-venv Nota: En el caso de usar el gestor de paquetes dnf el comando será sudo dnf install python3-venv\nNota: En el caso de usar el gestor de paquetes Pacman el comando será sudo pacman -S python-venv\nDefinir y crear la ubicación donde se almacenarán los ficheros y configuración del entorno virtual de Python Acto seguido definiremos y crearemos la ubicación donde se almacenará el entorno virtual de Python. En mi caso quiero el entorno virtual en ~/python_3_11_2, por lo tanto ejecutaré el siguiente comando:\nmkdir -p ~/python_3_11_2 Crear el entorno virtual de desarrollo en Python Para crear el entorno de desarrollo en Python tan solo tendré que ejecutar un comando del siguiente tipo:\npython3 -m venv ubicación_entorno_virtual Como la ubicación del entorno virtual es ~/python_3_11_2 ejecutaré el siguiente comando:\npython3 -m venv ~/python_3_11_2 Una vez que hayas ejecutado el comando para crear el entorno virtual, se creará un entorno virtual con la versión de Python que tengas instalada en tu equipo. Al acceder a la ubicación del entorno virtual, verás la siguiente estructura de ficheros y directorios:\n1 ├── bin 2 ├── include 3 ├── lib 4 ├── lib64 -\u0026gt; lib 5 └── pyvenv.cfg Cada uno de estos elementos contiene:\nbin : Scripts, y enlaces simbólicos necesarios para activar y desactivar el entorno virtual en el sistema operativo correspondiente. También contiene los binarios de los paquetes que instalaremos en el entorno de desarrollo. include: Directorio contiene los archivos de cabecera de Python necesarios para compilar módulos de Python que puedas necesitar para tu proyecto. lib: Este directorio contiene las bibliotecas y módulos de Python instalados en el entorno virtual. lib64: Directorio que incluye las bibliotecas de Python compiladas para sistemas de 64 bits. Estas bibliotecas pueden ser módulos nativos de Python o paquetes de terceros que se utilizan en el desarrollo de aplicaciones. pyvenv.cfg: Fichero que contiene la configuración del entorno virtual, incluyendo la versión de Python utilizada, la ubicación del directorio del intérprete de Python, entre otros detalles. Crear el entorno virtual de desarrollo en Python con una versión específica de Python El entorno de desarrollo que acabamos de crear usa la versión 3.11.2 de Python. Si quisiéramos usar otra versión, como por ejemplo la versión 3.9, primero tendríamos que instalarla en el sistema operativo. Acto seguido tendrían que crear el entorno virtual ejecutando un comando del siguiente tipo:\npython3 -m venv --system-site-packages -p ubicación_binario_python ubicación_del_entorno_virtual Por lo tanto para crear un entorno de desarrollo de python que use la versión 3.9 en el directorio ~/python_3_9 deberíamos ejecutar el siguiente comando:\npython3 -m venv --system-site-packages -p /usr/bin/python3.9 ~/python_3_9 Activar el entorno de desarrollo de Python Para activar y empezar a operar dentro del entorno de desarrollo que acabamos de crear tan solo tendremos que ejecutar un comando del siguiente tipo:\nsource ubicación_entorno_desarrollo/bin/activate Como la ubicación de mi entorno de desarrollo es ~/python_3_11_2 ejecutaré el siguiente comando:\nsource ~/python_3_11_2/bin/activate Después de ejecutar el comando, ingresaremos al entorno de desarrollo. Si instalamos una librería o programa mediante el gestor de paquetes pip, se instalará exclusivamente en el entorno de desarrollo. Esto significa que solo podremos solo usarlo mientras estemos dentro del entorno de desarrollo.\nInstalar paquetes y librerías dentro del entorno de desarrollo Después de activar el entorno de desarrollo, es posible instalar librerías y programas dentro del mismo mediante el gestor de paquetes pip. Por ejemplo, para instalar youtube-dlp, solo se necesita ejecutar el siguiente comando:\npip3 install yt-dlp Una vez finalizada la instalación podrán usar youtube-dlp. Pero únicamente cuando esté activado el entorno de desarrollo en el que han instalado youtube-dlp.\nMOVERSE ENTRE DISTINTOS ENTORNOS DE DESARROLLO DE PYTHON Si ahora estamos dentro del entorno de desarrollo ~/python_3_11_2 y queremos movernos a uno diferente como por ejemplo ~/python_3_9 tan solo tendremos que ejecutar un comando del siguiente tipo:\nsource ubicación_entorno_desarrollo/bin/activate Como el entorno de desarrollo que quiero activar se ubica en ~/python_3_9 ejecutaré el siguiente comando:\nsource ~/python_3_9/bin/activate SALIR DEL ENTORNO VIRTUAL DE DESARROLLO PYTHON QUE TENEMOS ACTIVADO Si finalmente queremos salir del entorno de desarrollo que tenemos activado tan solo tentemos que ejecutar el siguiente comando:\ndeactivate LISTAR LOS ENTORNOS VIRTUALES PYTHON PRESENTES EN NUESTRO EQUIPO Para listar de forma recursiva la totalidad de entornos de desarrollo virtuales presentes en una ubicación del sistema operativo, como por ejemplo /home/joan, tan solo tenemos que ejecutar el siguiente comando:\n❯ find /home/joan -type f -name \u0026#34;pyvenv.cfg\u0026#34; /home/joan/chatgpt/pyvenv.cfg /home/joan/python_3_11_2/pyvenv.cfg /home/joan/python_3_9/pyvenv.cfg De esta forma se puede ver que en mi caso tengo 3 entornos de desarrollo. Sus ubicaciones son:\n/home/joan/chatgp /home/joan/python_3_11_2 /home/joan/python_3_9 ELIMINAR ENTORNOS VIRTUALES DE PYTHON Para eliminar cualquiera de los entornos virtuales tan solo tendremos que ejecutar un comando del siguiente tipo:\nrm -rf ubicación_entorno_virtual Por lo tanto para borrar el entorno virtual ~/python_3_11_2 ejecutaremos el siguiente comando:\nrm -rf ~/python_3_11_2 ","permalink":"https://geeklandlinux.github.io/posts/crear-entornos-virtuales-de-desarrollo-python-en-linux/","summary":"\u003cp\u003eEn siguiente artículo hablaremos de los entornos virtuales de programación en Phyton. Concretamente abordaremos su definición y sus diferentes utilidades, para posteriormente adentrarnos en el proceso de creación y eliminación de los entornos de desarrollo virtuales de Python.\u003c/p\u003e","title":"Crear entornos virtuales de desarrollo Python en Linux"},{"content":"En este artículo te explicaremos cómo instalar y utilizar ChatGPT desde la terminal de Linux. Para esto, existen varias opciones disponibles en Github. En nuestra experiencia, hemos probado dos opciones diferentes, las cuales detallaremos a continuación.\nhttps://github.com/slithery0/gpt-chatbot-cli\nhttps://github.com/lmatosevic/chatgpt-cli\nNota: En este artículo detallaremos el proceso de instalación del primero de los links.\nCada proyecto tiene sus particularidades y puede ofrecer diferentes características a los usuarios. Por tanto, les recomiendo que investiguen y prueben distintas alternativas.\nVENTAJAS DE USAR CHATGPT DESDE LA TERMINAL LINUX Actualmente, la mejor opción para usar ChatGPT en Linux es a través de la terminal. Esto se debe a los siguientes motivos:\nLa terminal es más liviana, práctica y rápida que un navegador web. Es accesible de forma instantánea una vez que se ha finalizado la configuración. Sólo hay que presionar el atajo de teclado deseado para comenzar a hacerle preguntas a la IA. Además, ChatGPT se integra de forma elegante con el sistema operativo. La velocidad de respuesta es mucho más rápida que aquella que se puede obtener a través de la página web de OpenAI. No es necesario iniciar sesión para utilizar ChatGPT y, además, después de un período de inactividad, se evita que se cierre la sesión automáticamente. No existe un límite en la cantidad de palabras que la IA puede utilizar en su respuesta. Por lo tanto, si le pedimos un texto de 10.000 palabras, obtendremos un texto de 10.000 palabras en respuesta. A continuación veremos los pasos a seguir para instalar y usar chatgpt-cli en Linux.\nOBTENER UNA CLAVE API DE CHATGPT Es imprescindible disponer de una clave API. Para ello nos dirigiremos a la siguiente URL:\nhttps://platform.openai.com/account/api-keys\nUna vez dentro, iniciamos sesión con nuestra cuenta de ChatGPT y, a continuación, en el apartado de API Keys, presionamos el botón + Create new secret key.\nActo seguido se generará la clave API:\nNota: En mi caso la clave API es \u0026ldquo;sk-wWf0VKqDrTvQTtrBTVR6T3Cl4kFJ3Z04MqzF3GO9F0q3\u0026rdquo;\nRecuerden que esta clave API es privada y no la deben compartir con nadie. Además también tenéis que ser conscientes que la API de ChatGPT es de pago, por lo tanto solo podrán usar esta clave hasta que se terminen los 18 dólares de saldo inicial o hasta un determinado periodo tiempo.\nINSTALAR CHATGPT-CLI EN LINUX Una vez tenemos la clave API podemos proceder a la instalación de ChatGPT-cli. En mi caso he tenido que realizar la instalación a través de un entorno de desarrollo virtual de Python. El procedimiento ha sido el siguiente:\nLo primero es instalar las dependencias necesarias ejecutando el siguiente comando:\nsudo apt install python3-pip python3-venv A continuación he creado el directorio **/home/joan/chatgpt** que contendrá la totalidad de paquetes del entorno virtual de Python:\nmkdir /home/joan/chatgpt Acto seguido creo el entorno virtual de python ejecutando el siguiente comando:\npython3 -m venv /home/joan/chatgpt El siguiente paso consiste en activar el entorno virtual que acabamos de crear mediante al ejecución del siguiente comando:\nsource /home/joan/chatgpt/bin/activate Una vez activado el entorno virtual ya podemos instalar chatgpt-cli mediante el siguiente comando:\npip3 install chatgpt-cli-tool python-dotenv openai Nota: Recuerden que deberán reemplazar /home/joan/chatgpt por la ruta en que vosotros queráis instalar vuestro entorno virtual.\nINICIAR USAR CHATGPT POR PRIMERA VEZ EN LA TERMINAL A continuación podemos iniciar chatgpt-cli por primera vez. Para ello deberán ejecutar el comando chatgpt-cli seguido de su número de API. Por lo tanto en mi caso deberé ejecutaré el siguiente comando:\nchatgpt-cli sk-wWf0VKqDrTvQTtrBGVR6T3Bl4kFJ3Z04MqzF3GO9F0q3 Acto seguido podrán interactuar con chatgpt sin ningún tipo de problema.\nMEJORAR LA INTEGRACIÓN DE CHATGPT-CLI EN EL SISTEMA OPERATIVO Para integrar chatGPT en su sistema operativo y hacer su uso más cómodo les recomiendo que sigan las siguientes instrucciones.\nDefinir las variables de entorno para usar chatgpt desde la terminal Si todo funciona de forma perfecta podemos realizar los siguientes pasos para mejorar la experiencia de uso de chatgpt. Para no tener que estar constantemente añadiendo la clave API al iniciar el software crearemos el directorio ~/.chatgpt-cli/ con el siguiente comando:\nmkdir -p ~/.chatgpt-cli/ A continuación editaremos el fichero .env que almacenará las variables de entorno de la aplicación. Para ello ejecutaremos el siguiente comandado:\nnano ~/.chatgpt-cli/.env Cuando se abra el editor de texto nano pegaremos lo siguiente:\nOPENAI_API_KEY=sk-wWf0VKqDrTvQTtrBGVR6T3Bl4kFJ3Z04MqzF3GO9F0q3 GPT_MODEL=gpt-3.5-turbo GPT_SYSTEM_DESC=\u0026#34;You are a very direct and straight-to-the-point assistant.\u0026#34; GPT_IMAGE_SIZE=512x512 HISTORY_SIZE=3 Nota: Tenéis que reemplazar la clave API del ejemplo por la vuestra.\nUna vez introducidos la totalidad de parámetros guardamos los cambios y cerramos el fichero. Ahora podremos arrancar el programa sin tener que introducir la clave API.\nAbrir chatgpt-cli mediante un atajo de teclado En mi caso soy usuario del escritorio i3 y mi objetivo es abrir chatgpt con un simple atajo de teclado. Para ello crearé un script para iniciar chatgpt-cli. Primero crearé el directorio que almacenará el script del siguiente modo:\nmkdir -p ~/Aplicaciones Accederemos dentro del directorio:\ncd ~/Aplicaciones A continuación crearemos el script ejecutando el siguiente comando:\nnano chatgpt.sh Cuando se abra el editor de textos nano pegaremos el siguiente código:\n#!/bin/bash source ~/chatgpt/bin/activate python3 ~/chatgpt/bin/chatgpt-cli a continuación guardaremos los cambios, cerraremos el fichero y daremos permisos de ejecución al script mediante el siguiente comando:\nchmod +x ~/Aplicaciones/chatgpt.sh Finalmente configuraremos el escritorio i3 para que pueda ejecutar el script que acabamos de generar mediante el atajo de teclado win+i. Para ello accederemos al fichero de configuración de i3 ejecutando el siguiente comando:\nnano ~/.config/i3/config Cuando se abra el fichero de configuración añadiréis la siguiente línea:\nbindsym $mod+i exec kitty -e /home/joan/Aplicaciones/chatgpt.sh Nota: En el caso que no uséis la terminal kitty deberéis adaptar el comando.\nUna vez modificada la configuración tan solo hay que guardar los cambios, cerrar el fichero y reiniciar el equipo.\nAhora cuando presione la combinación de teclas win+i se abrirá una terminal con chatgpt y podremos iniciar una conversación.\nLIMITACIONES DE USO CHATGP-CLI La API de ChatGPT no es gratuita. Una vez que los 18USD de saldo inicial se hayan agotado o haya finalizado el periodo de prueba, la aplicación dejará de funcionar.\nFuentes https://github.com/lmatosevic/chatgpt-cli\nhttps://github.com/slithery0/gpt-chatbot-cli\n","permalink":"https://geeklandlinux.github.io/posts/usar-chatgpt-desde-la-terminal-de-linux/","summary":"\u003cp\u003eEn este artículo te explicaremos cómo instalar y utilizar ChatGPT desde la terminal de Linux. Para esto, existen varias opciones disponibles en Github. En nuestra experiencia, hemos probado dos opciones diferentes, las cuales detallaremos a continuación.\u003c/p\u003e","title":"Usar ChatGPT desde la terminal de Linux"},{"content":"Son muchas las API que utilizan ficheros JSON para enviar y recibir datos. Por ejemplo es normal que una aplicación web pueda enviar datos dentro de un fichero JSON a una aplicación móvil para que la aplicación móvil pueda mostrar los datos en una interfaz de usuario amigable. Por esto motivo resulta interesante conocer algún método simple y sencillo para poder extraer los datos que queramos de los ficheros JSON. Por lo tanto, a continuación explicaremos como podemos extraer datos de un fichero JSON con la ayuda de la herramienta jq.\n¿QUÉ SON LOS ARCHIVOS CON FORMATO JSON? JSON es un formato de intercambio de datos. Los ficheros JSON contienen datos de una forma estructurada y fácilmente legibles tanto para humanos como para computadoras. La estructura de los datos que tienen los ficheros JSON es la siguiente.\nMuestra de lo que es un objeto, un nombre y un valor en JSON En JSON podemos definir objetos, nombres y valores de la siguiente forma:\n{ \u0026#34;nombre\u0026#34;: \u0026#34;Joan\u0026#34;, \u0026#34;apellido\u0026#34;: \u0026#34;Geekland\u0026#34;, \u0026#34;edad\u0026#34;: 32 } En el ejemplo que acabamos de detallar vemos lo siguiente:\nHay un objeto JSON. Cada uno de los objetos JSON se delimita por los símbolos {}. El objeto JSON contiene 3 pares nombre/valor que en este caso describen información de una persona. Cada uno de los nombres y de los valores está entre comillas y se usa : para separar el nombre del valor. Por lo tanto tendríamos el nombre nombre cuyo valor sería Joan, el nombre apellido cuyo valor sería Geekland y finalmente el nombre edad cuyo valor sería 32. A nota informativa pueden existir objetos dentro de otros objetos. Muestra de lo que es una array JSON Los ficheros JSON también pueden contener arrays. Si al ejemplo anterior queremos añadir una array que contenga dos objetos y que a su vez contengan dos pares de nombre/valor lo haremos del siguiente modo:\n{ \u0026#34;nombre\u0026#34;: \u0026#34;Joan\u0026#34;, \u0026#34;apellido\u0026#34;: \u0026#34;Geekland\u0026#34;, \u0026#34;edad\u0026#34;: 32, \u0026#34;trabajosRealizados\u0026#34;: [ { \u0026#34;empresa\u0026#34;: \u0026#34;Geekland SA.\u0026#34;, \u0026#34;puesto\u0026#34;: \u0026#34;CEO\u0026#34; }, { \u0026#34;empresa\u0026#34;: \u0026#34;Linux SL.\u0026#34;, \u0026#34;puesto\u0026#34;: \u0026#34;Programador\u0026#34; } ] } Si observan el ejemplo podrán ver que:\nToda Array va delimitada entre los símbolos []. La Array trabajosRealizados mostrará todos los trabajos realizados por una determinada persona. La Array trabajosRealizados tiene 2 objetos y cada uno de los objectos tiene 2 pares de nombre/valor que detallan información cada uno de los trabajos realizados por una determinada persona. Los objetos y las Array puedan anidarse dentro de otros objetos y Array. Por lo tanto podemos crear una estructura de datos extensa y flexible. Si partimos del ejemplo anterior podemos añadir la Array puestosTrabajo dentro de la Array trabajosRealizados del siguiente modo:\n{ \u0026#34;nombre\u0026#34;: \u0026#34;Joan\u0026#34;, \u0026#34;apellido\u0026#34;: \u0026#34;Geekland\u0026#34;, \u0026#34;edad\u0026#34;: 32, \u0026#34;trabajosRealizados\u0026#34;: [ { \u0026#34;empresa\u0026#34;: \u0026#34;Geekland SA.\u0026#34;, \u0026#34;puestosTrabajo\u0026#34;: [ { \u0026#34;primero\u0026#34;: \u0026#34;programador\u0026#34;, \u0026#34;segundo\u0026#34;: \u0026#34;CEO\u0026#34; } ] }, { \u0026#34;empresa\u0026#34;: \u0026#34;Linux SL.\u0026#34;, \u0026#34;puesto\u0026#34;: \u0026#34;Programador\u0026#34; } ] } De este modo podemos especificar la totalidad de trabajos que una persona ha realizado dentro de una empresa.\nEXTRAER DATOS DE LOS FICHEROS JSON CON LA UTILIDAD JQ Acabamos de ver la estructura en que JSON almacena la información. Para poder extraer datos concretos del fichero JSON podemos utilizar la herramienta jq.\nNota: Existen otras herramientas como sed, awk, cut, etc que permiten extraer formatos datos de un archivo. Pero en el caso de ficheros json es mucho más sencillo y efectivo usar jq.\n¿Qué es la herramienta jq? jq es una herramienta de terminal multiplafatorma presente en Linux, macOS y Windows. La herramienta permite filtrar, extraer, buscar o modificar los datos dentro de un fichero JSON. Algunos usos específicos que podemos dar a jq son:\nExtraer y/o consultar elementos específicos almacenados en un ficheor JSON\nFiltrar datos mediante la función select según los criterios que nosotros podamos definir.\nTransformar/modificar los datos existentes dentro de un fichero JSON gracias a la función map.\nModificar el valor de un nombre. Por ejemplo con la función gsub podemos reemplazar todos los espacios por _.\nAgregar objetos y elementos dentro de un fichero JSON.\nCombinar los datos de múltiples ficheros JSON en un solo fichero JSON mediante la función input.\nMediante la función add podemos sumar los elementos númericos almacenados en una matriz.\nOrdenar datos mediante la función sort.\nEtc.\njq se trata de un herramienta útil y versátil que dispone de innumerables funciones para trabajar con ficheros JSON. Algunas de estas funciones son del, max, min, unique, contain, join, etc. De la multitud de utilidades de jq únicamente nos centraremos en extraer los datos contenidos en ficheros JSON.\nInstalar jq en Linux para extraer datos de ficheros json jq se encuentra en los repositorios de prácticamente la totalidad de distribuciones Linux. Por lo tanto para instalar jq en distribuciones que usen el gestor de paquetes apt deberán ejecutar el siguiente comando :\nsudo apt install jq Si su distribución usa el gestor de paquetes dnf entonces deberán ejecutar el siguiente comando:\nsudo dnf install jq Finalmente si usan el gestor de paquetes Pacman:\nsudo pacman -Sy jq Extraer el valor de un determinado nombre de un fichero JSON con jq Para extraer el valor del nombre apellido del fichero JSON samplegeekland.json que tiene el siguiente contenido:\n{ \u0026#34;nombre\u0026#34;: \u0026#34;Joan\u0026#34;, \u0026#34;apellido\u0026#34;: \u0026#34;Geekland\u0026#34;, \u0026#34;edad\u0026#34;: 32 } Tan solo tendremos que ejecutar el siguiente comando:\n❯ jq .apellido samplegeekland.json \u0026#34;Geekland\u0026#34; Si queremos que el resultado no muestre las comillas tan solo tendremos añadir la opción -r del siguiente modo:\n❯ jq -r .nombre samplegeekland.json Joan Extraer el valor de varios nombres de forma simultanea de un fichero JSON Si ahora queremos obtener el valor de más de un nombre lo haremos del siguiente modo:\n❯ jq -r \u0026#34;.nombre, .apellido, .edad\u0026#34; samplegeekland.json Joan Geekland 32 Extraer el valor de un determinado nombre especificando el número de dígitos de la salida Para hacer que el resultado obtenido no tenga más de por ejemplo 6 podemos realizar lo siguiente. Imaginemos que el fichero samplegeekland.json tiene el siguiente contenido:\n{ \u0026#34;message\u0026#34;: \u0026#34;success\u0026#34;, \u0026#34;timestamp\u0026#34;: 1677336457, \u0026#34;iss_position\u0026#34;: { \u0026#34;longitude\u0026#34;: \u0026#34;29.6908\u0026#34;, \u0026#34;latitude\u0026#34;: \u0026#34;-48.9932\u0026#34; } } Para obtener el valor del nombre latitude procederemos del siguiente modo:\n❯ jq -r .iss_position.latitude samplegeekland.json -48.9932 Finalmente si queremos que el valor latitude no tenga más de 6 cifras:\n❯ jq -r .iss_position.latitude[0:6] samplegeekland.json -48.99 Extraer valores de matrices de un fichero JSON con jq Si el fichero samplegeekland.json tiene las matrices trabajosRealizados y puestosTrabajo:\n{ \u0026#34;nombre\u0026#34;: \u0026#34;Joan\u0026#34;, \u0026#34;apellido\u0026#34;: \u0026#34;Geekland\u0026#34;, \u0026#34;edad\u0026#34;: 32, \u0026#34;trabajosRealizados\u0026#34;: [ { \u0026#34;empresa\u0026#34;: \u0026#34;Geekland SA.\u0026#34;, \u0026#34;puestosTrabajo\u0026#34;: [ { \u0026#34;primero\u0026#34;: \u0026#34;programador\u0026#34;, \u0026#34;segundo\u0026#34;: \u0026#34;CEO\u0026#34; } ] }, { \u0026#34;empresa\u0026#34;: \u0026#34;Linux SL.\u0026#34;, \u0026#34;puestosTrabajo\u0026#34;: [ { \u0026#34;primero\u0026#34;: \u0026#34;Merchandiser\u0026#34;, \u0026#34;segundo\u0026#34;: \u0026#34;Mozo de Almacén\u0026#34; } ] }, { \u0026#34;empresa\u0026#34;: \u0026#34;Arnco.\u0026#34;, \u0026#34;puestosTrabajo\u0026#34;: [ { \u0026#34;primero\u0026#34;: \u0026#34;Comercial\u0026#34; } ] }, { \u0026#34;empresa\u0026#34;: \u0026#34;Fruteria Geekland\u0026#34;, \u0026#34;puestosTrabajo\u0026#34;: [ { \u0026#34;primero\u0026#34;: \u0026#34;Limpiador\u0026#34;, \u0026#34;segundo\u0026#34;: \u0026#34;Vendedor\u0026#34; } ] } ] } Y queremos extraer la totalidad de empresas en las que ha trabajado el usuario joan tendremos que ejecutar el siguiente comando:\n❯ jq -r .trabajosRealizados[].empresa samplegeekland.json Geekland SA. Linux SL. Arnco. Fruteria Geekland Nota: jq permite obtener el mismo resultado que acabamos de obtener usando tuberías. De este modo hubiéramos podido utilizar el comando jq -r \u0026quot;.trabajosRealizados[] | .empresa\u0026quot; samplegeekland.json para obtener el mismo resultado.\nExtraer valores de matrices especificando índice y longitud con jq Si queremos que solo se muestre el nombre de la primera empresa usaremos el siguiente comando:\n❯ jq -r .trabajosRealizados[0].empresa samplegeekland.json Geekland SA. A continuación usaremos el siguiente comando para mostrar el nombre de la última empresa:\n❯ jq -r .trabajosRealizados[-1].empresa samplegeekland.json Fruteria Geekland Si ahora queremos obtener el nombre de la penúltima empresa:\n❯ jq -r .trabajosRealizados[-2].empresa samplegeekland.json Arnco. Ahora si queremos el nombre de las 3 empresas más recientes:\n❯ jq -r .trabajosRealizados[0,1,2].empresa samplegeekland.json Geekland SA. Linux SL. Arnco. Finalmente si lo que pretendemos es obtener del segundo valor hasta el final del listado:\n❯ jq -r \u0026#34;.trabajosRealizados[1:] | .[] | .empresa\u0026#34; samplegeekland.json Linux SL. Arnco. Fruteria Geekland Nota: El elemento .[] se usa para iterar a través de todos los elementos de una matriz.\nOtros ejemplos de extracción de información almacenada en matrices Para obtener los objetos y elementos almacenados en la array puestrosTrabajo procederemos del siguiente modo:\n❯ jq -r .trabajosRealizados[].puestosTrabajo[] samplegeekland.json { \u0026#34;primero\u0026#34;: \u0026#34;programador\u0026#34;, \u0026#34;segundo\u0026#34;: \u0026#34;CEO\u0026#34; } { \u0026#34;primero\u0026#34;: \u0026#34;Merchandiser\u0026#34;, \u0026#34;segundo\u0026#34;: \u0026#34;Mozo de Almacén\u0026#34; } { \u0026#34;primero\u0026#34;: \u0026#34;Comercial\u0026#34; } { \u0026#34;primero\u0026#34;: \u0026#34;Limpiador\u0026#34;, \u0026#34;segundo\u0026#34;: \u0026#34;Vendedor\u0026#34; } Y ahora para que solo se muestren los valores del nombre primero:\n❯ jq -r .trabajosRealizados[].puestosTrabajo[].primero samplegeekland.json programador Merchandiser Comercial Limpiador De la misma forma que lo hicimos con anterioridad, también podemos hacer que unicamente se muestre el último de los elementos del siguiente modo.\n❯ jq -r .trabajosRealizados[-1].puestosTrabajo[].primero samplegeekland.json Limpiador INFORMACIÓN ADICIONAL SOBRE JQ Si quieren profundizar más sobre el uso de jq les recomiendo que visiten el siguiente enlace.\nhttps://stedolan.github.io/jq/manual/\n","permalink":"https://geeklandlinux.github.io/posts/extraer-datos-de-ficheros-json-con-jq/","summary":"\u003cp\u003eSon muchas las API que utilizan ficheros JSON para enviar y recibir datos. Por ejemplo es normal que una aplicación web pueda enviar datos dentro de un fichero JSON a una aplicación móvil para que la aplicación móvil pueda mostrar los datos en una interfaz de usuario amigable. Por esto motivo resulta interesante conocer algún método simple y sencillo para poder extraer los datos que queramos de los ficheros JSON. Por lo tanto, a continuación explicaremos como podemos extraer datos de un fichero JSON con la ayuda de la herramienta jq.\u003c/p\u003e","title":"Extraer datos de ficheros json con jq"},{"content":"En el caso que estén usando Linux y tengan disponible un tarjeta gráfica Intel les recomiendo que sigan las siguientes instrucciones para habilitar la aceleración gráfica por hardware en Firefox. De este modo podrán mejorar significativamente el rendimiento, reducir la carga de la CPU y el consumo de energía, mejorar la calidad de la reproducción de vídeo y admitir tecnologías avanzadas como WebGL.\nVENTAJAS QUE TIENE USAR LA ACELERACIÓN GRÁFICA POR HARDWARE AL REPRODUCIR VÍDEOS EN FIREFOX Usar la aceleración gráfica en Firefox proporciona diversas ventajas. Algunas de ellas son las siguientes:\nMejora en el rendimiento: La aceleración gráfica por hardware permite que los gráficos y la reproducción de vídeo se procesen en la GPU en lugar de la CPU, lo que puede mejorar significativamente el rendimiento y la velocidad de la navegación web. Reducción de la carga de la CPU: Al utilizar la GPU para procesar gráficos y vídeos, la carga de la CPU se reduce significativamente. Esto puede tener un impacto positivo en el rendimiento general del sistema, especialmente en dispositivos con recursos limitados. Ahorro de energía: Al reducir la carga de la CPU, también se puede reducir el consumo de energía del ordenador o el dispositivo móvil. Esto puede ser especialmente beneficioso para dispositivos móviles, donde la duración de la batería es un factor importante. Mejora en la calidad de reproducción de vídeo: La aceleración gráfica por hardware puede mejorar la calidad de la reproducción de vídeo en línea, ya que permite que los vídeos se decodifiquen y reproduzcan de manera más fluida y sin interrupciones. Si disponen de una tarjeta gráfica Intel y usan Linux pueden activar la aceleración gráfica por hardware en Firefox del siguiente modo.\nVER LA TARJETA GRÁFICA QUE TENEMOS Y LOS DRIVERS QUE ESTAMOS USANDO Para ver la tarjeta gráfica que tenemos instalada podemos ejecutar el siguiente comando en la terminal:\nlspci -k | grep -EA3 \u0026#39;VGA|3D|Display\u0026#39; El resultado obtenido es que tengo una tarjeta gráfica Intel UHD Graphics 600.\n00:02.0 VGA compatible controller: Intel Corporation GeminiLake [UHD Graphics 600] (rev 06) DeviceName: Onboard - Video Kernel driver in use: i915 Kernel modules: i915 Además también veo que estoy usando el driver open Source i915 de Intel. Por lo tanto parece que todo está en regla.\nINSTALACIÓN DEL DRIVER PARA MEJORAR EL RENDIMIENTO Y LA CALIDAD DE LA ACELERACIÓN POR HARDWARE Aparte del driver i915 tendremos que instalar un controlador adicional para obtener aceleración gráfica por hardware a través de VA-API. Como mínimo existen los siguiente controladores adicionales:\nNombre del driver (VAAPI) Generaciones de GPU que usan este driver i965-va-driver Driver libre para habilitar la aceleración gráfica VA-API válido para las plataformas Cantiga, Ironlake, Sandy Bridge, Ivy Bridge, Haswell, Broadwell, Skylake, Kaby Lake, Coffee Lake y Cannon Lake. i965-va-driver-shaders Driver privatico para habilitar la aceleración gráfica VA-API válido para las plataformas Cantiga, Ironlake, Sandy Bridge, Ivy Bridge, Haswell, Broadwell, Skylake, Kaby Lake, Coffee Lake y Cannon Lake. intel-media-va-driver Driver libre para habilitar la aceleración gráfica VA-API válido para las plataformas Broadwell, Skylake, Broxton, Apollo Lake, Kaby Lake, Coffee Lake, Whiskey Lake, Cannon Lake, Ice Lake, Alchemist, Meteor Lake. intel-media-va-driver-non-free Driver privativo para habilitar la aceleración gráfica VA-API válido para las plataformas Broadwell, Skylake, Broxton, Apollo Lake, Kaby Lake, Coffee Lake, Whiskey Lake, Cannon Lake, Ice Lake, Alchemist, Meteor Lake. Para la tarjeta gráfica UHD Graphics 600 puede funcionar cualquiera de los 4 drivers o controladores que he mencionado. En mi caso instalaré el intel-media-va-driver-non-free ejecutando el siguiente comando en la terminal:\nsudo apt install intel-media-va-driver-non-free vainfo Nota: He instalado el driver intel-media-va-driver-non-free porque es más actual que el i965 y además los drivers privativos ofrecen funcionalidades que no ofrecen los libres. Por ejemplo ofrecen aceleración por hardware a la hora de codificar ciertos formatos de vídeo como por ejemplo el H.265. El paquete vainfo servirá para obtener información de la configuración de la aceleración gráfica por hardware.\nUna vez finalizada la instalación podemos intentar ver si existen los ficheros binarios en su ubicación correspondiente. Para ello ejecutaremos el siguiente comando:\nls /usr/lib/x86_64-linux-gnu/dri/*drv_video.so La salida del comando en mi caso es la siguiente:\nPermissions Size User Date Modified Name .rw-r--r-- 44M root 22 nov 05:47 /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so Por lo tanto puedo asegurar que tengo correctamente instalados los drivers intel-media-va-driver-non-free. En el caso que hubieran instalado los drivers i965-va-driver-shaders obtendrían la siguiente salida:\nPermissions Size User Date Modified Name .rw-r--r-- 8,1M root 11 jul 2020 /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so LISTAR LOS DISPOSITIVOS QUE RENDERIZAN CONTENIDO A continuación listaremos la totalidad de dispositivos de hardware del equipo dedicados a renderizar contenido. Para ello ejecutaremos el siguiente comando en la terminal:\nls /dev/dri Una vez ejecutado el comando en mi caso he obtenido el siguiente resultado:\nPermissions Size User Date Modified Name drwxr-xr-x - root 4 dic 10:12 by-path crw-rw----@ 226,0 root 4 dic 10:12 card0 crw-rw----@ 226,128 root 4 dic 10:12 renderD128 Como mi equipo solo tiene una tarjeta gráfica solo aparecen los dispositivos card0 y renderD128. En caso que tuviera más de una tarjeta gráfica también aparecerían card1 y renderD129.\nListar el Driver que está usando el dispositivo 128 Para ver el driver usado por el dispositivo render128 ejecutaremos el siguiente comando en la terminal:\nsudo cat /sys/kernel/debug/dri/128/name Y el resultado que he obtenido en mi caso es el siguiente:\ni915 dev=0000:00:02.0 unique=0000:00:02.0 El driver i915 corresponde al driver gráfico de Intel y en mi caso tengo una tarjeta gráfica Intel. Por lo tanto todo parece indicar que no tendremos ningún problema.\nLISTAR LOS CÓDECS QUE PODRÁ CODIFICAR Y DECODIFICAR NUESTRA TARJETA GRÁFICA INTEL En apartados anteriores hemos visto que después de instalar el driver intel-media-va-driver-non-free pasaremos a tener el archivo binario /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so en nuestro disco duro. A partir de aquí tendremos que tener en cuenta que para referirnos al driver intel-media-va-driver-non-free tendremos que usar el término iHD.\nSi en vez de instalar el driver intel-media-va-driver-non-free hubiéramos instalado el driver i965-va-driver-shaders tendríamos que usar el término i965 en vez de iHD para hacer referencia al driver i965-va-driver-shaders. A continuación les dejo una tabla resumen:\nPaquete para instalar el Driver Archivo binario del driver VAAPI Denominación Driver VAAPI intel-media-va-driver-non-free iHD_drv_video.so iHD i965-va-driver-shaders i965_drv_video.so i965 Seguidamente listaremos la totalidad de códecs que nuestra tarjeta gráfica es capaz de codificar y decodificar con el driver iHD. Para ello ejecutaremos el siguiente comando en la terminal:\nLIBVA_DRIVER_NAME=iHD vainfo --display drm --device /dev/dri/renderD128 Y el resultado obtenido será el siguiente:\nlibva info: VA-API version 1.16.0 libva info: User environment variable requested driver \u0026#39;iHD\u0026#39; libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_16 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.16 (libva 2.12.0) vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 22.6.3 () vainfo: Supported profile and entrypoints VAProfileNone :\tVAEntrypointVideoProc VAProfileNone :\tVAEntrypointStats VAProfileMPEG2Simple :\tVAEntrypointVLD VAProfileMPEG2Main :\tVAEntrypointVLD VAProfileH264Main :\tVAEntrypointVLD VAProfileH264Main :\tVAEntrypointEncSlice VAProfileH264Main :\tVAEntrypointFEI VAProfileH264Main :\tVAEntrypointEncSliceLP VAProfileH264High :\tVAEntrypointVLD VAProfileH264High :\tVAEntrypointEncSlice VAProfileH264High :\tVAEntrypointFEI VAProfileH264High :\tVAEntrypointEncSliceLP VAProfileVC1Simple :\tVAEntrypointVLD VAProfileVC1Main :\tVAEntrypointVLD VAProfileVC1Advanced :\tVAEntrypointVLD VAProfileJPEGBaseline :\tVAEntrypointVLD VAProfileJPEGBaseline :\tVAEntrypointEncPicture VAProfileH264ConstrainedBaseline:\tVAEntrypointVLD VAProfileH264ConstrainedBaseline:\tVAEntrypointEncSlice VAProfileH264ConstrainedBaseline:\tVAEntrypointFEI VAProfileH264ConstrainedBaseline:\tVAEntrypointEncSliceLP VAProfileVP8Version0_3 :\tVAEntrypointVLD VAProfileVP8Version0_3 :\tVAEntrypointEncSlice VAProfileHEVCMain :\tVAEntrypointVLD VAProfileHEVCMain :\tVAEntrypointEncSlice VAProfileHEVCMain :\tVAEntrypointFEI VAProfileHEVCMain10 :\tVAEntrypointVLD VAProfileHEVCMain10 :\tVAEntrypointEncSlice VAProfileVP9Profile0 :\tVAEntrypointVLD VAProfileVP9Profile2 :\tVAEntrypointVLD Nota: Si no obtienen un resultado similar al mostrado es que su tarjeta gráfica no soporta el driver iHD. En este caso instalen el driver i965-va-driver-shaders y ejecuten el comando LIBVA_DRIVER_NAME=i965 vainfo --display drm --device /dev/dri/renderD128 en la terminal.\nSi leen e interpretan la salida del comando verán la totalidad de códecs soportados por nuestra tarjeta gráfica. Además sabremos si se soporta la codificación y decodificación por hardware en cada uno de ellos.\nMODIFICAR LAS VARIABLES DE ENTORNO PARA ASEGURAR QUE USAREMOS EL DRIVER iHD PARA LA ACELERACIÓN GRÁFICA POR HARDWARE EN FIREFOX A continuación modificaremos las variables de entorno del sistema operativo para asegurar que usaremos el driver intel-media-va-driver-non-free para obtener la aceleración gráfica por hardware. Para ello ejecutaremos el siguiente comando:\nsudo nano /etc/environment En momento de abrirse el editor de texto nano pegaremos el siguiente código:\nLIBVA_DRIVER_NAME=iHD Acto seguido guardaremos los cambios y cerraremos el fichero.\nNota: En caso que usarán el driver i965-va-driver-shaders deberían reemplazar la línea LIBVA_DRIVER_NAME=iHD por LIBVA_DRIVER_NAME=i965 en el fichero /etc/environment.\nCONFIGURAR FIREFOX PARA DISPONER DE ACELERACIÓN GRÁFICA POR HARDWARE EN LINUX CON UNA GRÁFICA INTEL A estas altura el sistema operativo está preparado y tan solo tenemos que configurar Firefox. Para ello abriremos Firefox, en su barra direcciones escribiremos about:config y presionaremos Enter. Acto seguido se abrirá la configuración de Firefox. En la configuración de Firefox modificaremos el valor gfx.webrenderall para que sea True. Al habilitar esta propiedad activaremos el motor de renderizado de gráficos Webrender y de este modo podremos usar la GPU para la representación gráfica de contenido en pantalla.\nDel mismo modo que hemos cambiado los valores de gfx.webrenderall cambiaremos los siguientes valores:\nParámetros a modificar Valor Función media.ffmpeg.vaapi.enabled True Permite habilitar la aceleración gráfica por hardware VA-API con el decodificador de vídeo ffmpeg. media.ffvpx.enabled False Para deshabilitar el decodificador de vídeo FFVPX y de este modo asegurar que usaremos FFmpeg para la decodificación de vídeo. media.av1.enabled False Para desactivar la reproducción de contenido de vídeo codificado con el códec AV1 layers.acceleration.force-enabled True Permite forzar la aceleración por hardware en nuestro navegador. media.rdd-vpx.enabled True Es para habilitar la aceleración por hardware con el códec VP9. El valor que recomiendo es True, pero si tienen una tarjeta gráfica que no es compatible con esté códec mejor que el valor sea False. Una vez realizados todos los cambios les recomiendo que reinicien Firefox.\nINSTRUCCIONES PARA INICIAR FIREFOX CON ACELERACIÓN GRÁFICA POR HARDWARE El proceso de configuración ha finalizado. A partir de estos momentos Firefox está preparado para reproducir vídeo con aceleración gráfica por hardware. Pero para ello tendrán que iniciar Firefox ejecutando uno de los siguientes 2 comandos:\nServidor gráfico usado Comando para iniciar Firefox X11 MOZ_WAYLAND_DRM_DEVICE=/dev/dri/renderD128 LIBVA_DRIVER_NAME=iHD MOZ_X11_EGL=1 firefox Wayland MOZ_WAYLAND_DRM_DEVICE=/dev/dri/renderD128 LIBVA_DRIVER_NAME=iHD MOZ_ENABLE_WAYLAND=1 firefox Nota: Tengan en cuenta que deberán reemplazar /dev/dri/renderD128 y iHD por los valores que correspondan en su caso. En mi caso como aún uso el servidor gráfico X11 uso el comando MOZ_WAYLAND_DRM_DEVICE=/dev/dri/renderD128 LIBVA_DRIVER_NAME=iHD MOZ_X11_EGL=1 firefox\nComprobar que funciona la aceleración gráfica por hardware en Firefox Una vez se abra Firefox reproduzcan un vídeo cualquiera y sigan las siguientes instrucciones para comprobar que funciona la aceleración gráfica por hardware.\nhttps://geeklandlinux.github.io/posts/saber-si-usamos-la-aceleracion-grafica-por-hardware-en-linux/\nAdemás decir que si en la terminal mestra el mensaje libva info: va_openDriver() returns 0 quiere decir que se ha cargado correctamente el controlador de aceleración de hardware de video VA-API (Video Acceleration API).\nModificar el lanzador de Firefox para que siempre se inicie con aceleración gráfica por hardware Si todo funciona correctamente entonces les recomiendo que modifiquen el lanzador de Firefox. De este modo podrán arrancar Firefox tal y como lo hacen habitualmente y dispondrán de aceleración gráfica. Para hacer lo que acabo de decir se tienen que dirigir a la ubicación del lanzador de Firefox. En mi caso la ubicación es /usr/share/applications\nUna vez dentro editamos el lanzador de Firefox ejecutando el siguiente comando en la terminal:\nsudo nano /usr/share/applications/firefox.desktop Una vez dentro localización la siguiente línea:\nExec=firefox %u Y la reemplazan por la siguiente en el caso de estar usando X11:\nExec=MOZ_WAYLAND_DRM_DEVICE=/dev/dri/renderD128 LIBVA_DRIVER_NAME=iHD MOZ_X11_EGL=1 firefox Finalmente guardan los cambios y cierran el editor de textos nano.\nSOLUCIÓN A POSIBLES PROBLEMAS AL REPRODUCIR VÍDEOS DE YOUTUBE EN FIREFOX Si reproducen un vídeo de Youtube en Firefox tienen que saber que los codecs predeterminados de Youtube son el VP8 y el VP9. Estos 2 codecs son comunes pero existen muchas tarjetas gráficas antiguas que no los soportan. Esto hará que no tengamos aceleración por hardware y la CPU del ordenador tendrá que trabajar en exceso.\nPara solucionar este problema, recomendamos instalar una de las siguientes extensiones en el navegador Firefox:\nh264ify: Extensión que fuerza a Youtube a utilizar el códec H.264. El códec H.264 es compatible con la mayoría de las tarjetas gráficas antiguas y por lo tanto al reproducir el vídeo tendremos aceleración gráfica por hardware. Enhanced h264ify: La función de esta extensión es exactamente la misma que h264ify. De hecho Enhanced h264ify es un fork con funcionalidades añadidas de la extensión h264ify. Con cualquiera de estas extensiones instaladas, deberían disfrutar de la aceleración gráfica en la mayoría de los vídeos que se reproducen en Firefox y Youtube, incluso si usan una tarjeta gráfica antigua.\nSi a pesar de todas los esfuerzos no consiguen el resultado esperado les recomiendo que simplemente reviertan la configuración aplicada a lo largo de este artículo.\nFuentes https://notebookgpu.blogspot.com/2021/01/activar-y-configurar-la-aceleracion-por.html\nhttps://amigotechnotes.wordpress.com/2022/07/20/enable-firefox-hardware-video-acceleration-on-ubuntu/\n","permalink":"https://geeklandlinux.github.io/posts/activar-la-aceleracion-grafica-por-hardware-en-firefox/","summary":"\u003cp\u003eEn el caso que estén usando Linux y tengan disponible un tarjeta gráfica Intel les recomiendo que sigan las siguientes instrucciones para habilitar la aceleración gráfica por hardware en Firefox. De este modo podrán mejorar significativamente el rendimiento, reducir la carga de la CPU y el consumo de energía, mejorar la calidad de la reproducción de vídeo y admitir tecnologías avanzadas como WebGL.\u003c/p\u003e","title":"Activar la aceleración gráfica por hardware en Firefox"},{"content":"Cuando uso el ordenador o el teléfono me gusta usar el modo oscuro o temas oscuros. No obstante existen webs, como la mía y muchas otras, que únicamente tienen temas claros y rompen con la estética visual del entorno de escritorio. Para solucionar este problema les mostraré como instalar Dark Reader y de este modo ver la totalidad de web que visitamos con tema oscuro. Pero antes de detallar el proceso de instalación les detallaré las ventajas de usar el modo oscuro y las funcionalidades que ofrece Dark Reader.\nVENTAJAS DE USAR EL MODO OSCURO Las ventajas proporcionadas por los temas oscuros son las siguientes:\nSi su monitor o pantalla es OLED, el consumo de energía sea menor y por lo tanto la duración de la batería será mayor. Esto es así porque muchos de los led de la pantalla estarán apagados mientras usamos el modo oscuro. Reducción considerable de la fatiga visual y tensión ocular especialmente cuando usamos el equipo por un tiempo prolongado. Mayor comodidad de lectura en ambientes donde hay poca luz. Estéticamente prefiero los temas oscuros a los temas claros. FUNCIONALIDAD Y OPCIONES DE LA EXTENSIÓN DARK READER Dark Reader es una extensión disponible para los navegadores web Firefox, Edge, Safari y Google Chrome. Sirve para modificar el tema de los sitios web que visitamos y de esto modo ver todas las páginas web con temas oscuros. Algunas de las funcionalidades y opciones que ofrece la extensión Dark Reader son:\nCambiar la tipografía de las páginas web que visitamos. De este modo siempre podremos leer las web que visitamos con la misma tipografía. Habilitar el tema oscuro para todas las web o solo para determinadas web. Esto nos puede interesar porque existen web que ya implementan modos oscuros o existen web en que el modo oscuro de Dark Reader no se mostrará de forma correcta. Modificar el tema oscuro mostrada por la extensión Dark Reader. Dark Reader permitirá mordicar parámetros como el brillo, el contraste, el tono sepia y la escala de grises. Dark Reader permite modificar estos parámetros de forma global o únicamente en un dominio determinado. Además Dark Reader también dispone de opciones avanzadas para usuarios más experimentados, como la capacidad de personalizar las hojas de estilo CSS de los sitios web y la capacidad de importar y exportar configuraciones personalizadas. Otra característica importante de la extensión es que es Open Source y está liberada bajo la licencia MIT. Si miramos su política de privacidad también vemos que se comprometen a no recolectar datos de sus usuarios. Nota: Dark Reader también está disponible para el gestor de correo electrónico Thunderbird.\nINSTALAR LA EXTENSIÓN DARK READER EN FIREFOX El proceso de instalación es extremadamente sencillo. Tan solo hay que visitar la siguiente URL y presionar encima del botón Add to Firefox.\nUna vez finalizada la instalación pasarán a visualizar la totalidad de páginas web en modo oscuro. Por lo tanto si antes visualizaban mi web de este modo:\nAhora la visualizarán con un tema oscuro:\nSi quieren instalar Dark Reader para otros navegadores visiten los siguientes enlaces:\nNavegadores URL para instalar la extensión Edge https://microsoftedge.microsoft.com/addons/detail/dark-reader/ifoakfbpdcdoeenechcleahebpibofpc Chrome https://chrome.google.com/webstore/detail/dark-reader/eimadpbcbfnmbkopoojfekhnkhdbieeh Safari https://apps.apple.com/us/app/dark-reader-for-safari/id1438243180 Su proceso de instalación es relativamente sencillo e intuitivo, por lo tanto no es necesaria una explicación detallada.\n¿QUÉ SOLUCIONES EXISTEN PARA VER LAS WEB CON TEMA OSCURO EN ANDROID O IOS? Existen diversas soluciones tanto para iOS como para Android que permiten visualizar todas las páginas web visitadas con un tema oscuro.\nVer las web con tema oscuro en Android El navegador Firefox permite la instalación de la extensión Dark Reader. De este modo conseguiréis que el 100% de web visitas tengan un tema oscuro. Brave tiene opciones de configuración para forzar los temas oscuros en la totalidad de web. Por lo tanto tendrán que ir a la configuración de Brave y activar la opción Habilitar \u0026ldquo;Modo nocturno\u0026rdquo; (Experimental) Nota: Si buscan seguramente existirán más navegadores que permitirán realizar lo mismo que pueden realizar Brave o Firefox. Si quieren pueden compartir sus métodos en los comentarios de este artículo.\nVer las web con tema oscuro en iOS En iOS, existen varias opciones para visualizar sitios web en modo oscuro, incluyendo la instalación de Brave o la descarga de la aplicación Dark Reader for Safari desde la App Store. Al utilizar esta aplicación, todos los sitios web que se visualicen a través del navegador Safari se mostrarán en modo oscuro de forma automática.\nSi conocen algún método o solución alternativa más eficiente para lograr el mismo resultado, les agradecería que lo compartieran en los comentarios del blog.\nFuentes https://darkreader.org/\n","permalink":"https://geeklandlinux.github.io/posts/como-ver-cualquier-web-con-tema-oscuro-con-dark-reader/","summary":"\u003cp\u003eCuando uso el ordenador o el teléfono me gusta usar el modo oscuro o temas oscuros. No obstante existen webs, como la mía y muchas otras, que únicamente tienen temas claros y rompen con la estética visual del entorno de escritorio. Para solucionar este problema les mostraré como instalar Dark Reader y de este modo ver la totalidad de web que visitamos con tema oscuro. Pero antes de detallar el proceso de instalación les detallaré las ventajas de usar el modo oscuro y las funcionalidades que ofrece Dark Reader.\u003c/p\u003e","title":"Como ver cualquier web con tema oscuro con Dark Reader"},{"content":"A medida que vamos instalando y desinstalando servicios en Docker se va llenando el disco duro con contenedores, imágenes, redes, cache y volúmenes de persistencia que no usamos. Para solucionar este problema y para hacer un poco de limpieza en Docker y en el sistema operativo podemos borrar los contenedores, imágenes, redes y volúmenes que no usamos del siguiente modo.\nLISTAR LA TOTALIDAD DE CONTENEDORES, IMÁGENES, REDES Y VOLÚMENES EXISTENTES EN SU EQUIPO Lo primero a realizar es tomar la decisión de los servicios que queremos mantener en nuestro equipo. Para ello listaremos la totalidad de contenedores existentes usando el comando docker ps -a.\nubuntu@ubuntuamd-22-04:~$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6caee85da9be atareao/ytpodcast:v0.2.0 \u0026#34;/bin/sh /app/entryp…\u0026#34; 5 weeks ago Exited (143) 5 weeks ago ytpodcast 1a0b0a2c428c benbusby/whoogle-search:latest \u0026#34;/bin/sh -c \u0026#39;misc/to…\u0026#34; 6 weeks ago Exited (137) 2 weeks ago whoogle-search 2e60ca157c11 heussd/fivefilters-full-text-rss:latest \u0026#34;docker-php-entrypoi…\u0026#34; 6 weeks ago Up 6 days 0.0.0.0:8086-\u0026gt;80/tcp, :::8086-\u0026gt;80/tcp fivefilters-full-text-rss-docker_fullfeedrss_1 9a21f98188c3 lscr.io/linuxserver/freshrss:latest \u0026#34;/init\u0026#34; 6 weeks ago Exited (0) 6 weeks ago freshrss 7d13ac4fbffa ttrss-docker_web-nginx \u0026#34;/docker-entrypoint.…\u0026#34; 7 months ago Exited (0) 7 months ago ttrss-docker_web-nginx_1 db5c5c3df11a ttrss-docker_updater \u0026#34;/opt/tt-rss/updater…\u0026#34; 7 months ago Exited (137) 7 months ago ttrss-docker_updater_1 9bd7aa3155de ttrss-docker_app \u0026#34;/bin/sh -c ${SCRIPT…\u0026#34; 7 months ago Exited (0) 7 months ago ttrss-docker_app_1 a290bcf74b13 ttrss-docker_backups \u0026#34;/opt/tt-rss/dcron.s…\u0026#34; 7 months ago Exited (137) 7 months ago ttrss-docker_backups_1 c37bb8d245a4 postgres:12-alpine \u0026#34;docker-entrypoint.s…\u0026#34; 7 months ago Exited (0) 7 months ago ttrss-docker_db_1 1dc4ec9850c2 534c29cb433f \u0026#34;/opt/tt-rss/updater…\u0026#34; 7 months ago Created 9000/tcp ttrss_updater_1 b852f1c8649a 534c29cb433f \u0026#34;/opt/tt-rss/dcron.s…\u0026#34; 7 months ago Created 9000/tcp ttrss_backups_1 03c247c8f047 104294920402 \u0026#34;/opt/tt-rss/updater…\u0026#34; 7 months ago Created 03c247c8f047_ttrss_updater_1 a8bcae879e73 104294920402 \u0026#34;/opt/tt-rss/dcron.s…\u0026#34; 7 months ago Created a8bcae879e73_ttrss_backups_1 1f6f2f0a3db7 shaarli/shaarli:master \u0026#34;/bin/s6-svscan /etc…\u0026#34; 7 months ago Up 6 days 0.0.0.0:900-\u0026gt;80/tcp, :::900-\u0026gt;80/tcp shaarli_shaarli_1 96df86a5f8e9 traefik:latest \u0026#34;/entrypoint.sh trae…\u0026#34; 7 months ago Up 6 days 0.0.0.0:80-\u0026gt;80/tcp, :::80-\u0026gt;80/tcp, 0.0.0.0:443-\u0026gt;443/tcp, :::443-\u0026gt;443/tcp, 0.0.0.0:8080-\u0026gt;8080/tcp, :::8080-\u0026gt;8080/tcp traefik Para ver las imágenes que tenemos en el equipo lo haremos con el comando docker images . En mi caso tengo las siguientes imágenes:\nubuntu@ubuntuamd-22-04:~$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE benbusby/whoogle-search latest 134cd16eba2f 6 weeks ago 118MB atareao/ytpodcast latest 417124ad520b 7 weeks ago 174MB atareao/ytpodcast v0.2.0 417124ad520b 7 weeks ago 174MB heussd/fivefilters-full-text-rss latest 482a8f60ef3c 7 weeks ago 370MB lscr.io/linuxserver/freshrss latest 47ed67d52b1d 8 weeks ago 115MB ttrss-docker_web-nginx latest 34bf30b46f1e 7 months ago 23.4MB ttrss-docker_app latest fb6c071600c3 7 months ago 98MB ttrss-docker_backups latest fb6c071600c3 7 months ago 98MB ttrss-docker_updater latest fb6c071600c3 7 months ago 98MB postgres 12-alpine 3496e5bc48fb 8 months ago 211MB traefik latest 22a478a269ff 8 months ago 105MB nginx alpine b1c3acb28882 8 months ago 23.4MB shaarli/shaarli latest ad6af6c7baf3 10 months ago 100MB alpine 3.14 e04c818066af 10 months ago 5.59MB heussd/git latest c737e804560c 15 months ago 25.2MB shaarli/shaarli master cea4a66d0807 18 months ago 97.6MB php 5-apache 24c791995c1e 4 years ago 355MB Ahora listaremos las redes mediante el comando docker network ls:\nubuntu@ubuntuamd-22-04:~$ docker network ls NETWORK ID NAME DRIVER SCOPE 0882b3274c3e bridge bridge local 46c682f88f61 host host local b95af41127b7 none null local 783c64e58f2e shaarli_http-proxy bridge local e2b8ea1140e7 web bridge local Finalmente listaremos los volúmenes existentes mediante el comando docker volume ls\nubuntu@ubuntuamd-22-04:~$ docker volume ls DRIVER VOLUME NAME local 1bc0f6795d5fd41609ddf0b434742b6e1b420ba582aa149aab12ca29b2798b95 local 76a8a0f8e4b451ca527d4b17c150f0dfbafa171482e29d8eda2acaaf9eb95a3c local 994735b3b8a40d977aaf62ade792c87af79ac5679971b8ca3eee5d4784afee86 local fivefilters-full-text-rss-docker_rss-cache local full_text_rss_rss-cache local shaarli_cache local shaarli_data local shaarli_shaarli-cache local shaarli_shaarli-data local shaarli_traefik-acme local ttrss-docker_app local ttrss-docker_backups local ttrss-docker_certs local ttrss-docker_db local ttrss_app local ttrss_backups local ttrss_certs local ttrss_db DEFINIR LOS SERVICIOS QUE QUERÉIS USAR Y LOS QUE QUERÉIS BORRAR COMPLETAMENTE Si os fijáis en las salidas de los comandos aplicados en el apartado anterior vemos que tengo instalados los siguientes servicios:\nYtpodcast Whoogle Five filters full text rss Tiny Tiny RSS FreshRSS Shaarli Traefik De la totalidad de servicios citados los únicos que utilizo y quiero utilizar en este servidor son:\nFive filters full text rss Shaarli Traefik Por lo tanto a continuación veremos como borrar todo rastro de los servicios ytpodcast, Whoogle, Tiny Tiny RSS y FreshRSS.\nPARAR LA TOTALIDAD DE CONTENEDORES DOCKER El primer paso para iniciar el proceso de limpieza y optimización del sistema es parar la totalidad de contenedores. Para ello ejecutaremos el siguiente comando en la terminal:\nubuntu@ubuntuamd-22-04:~$ docker stop $(docker ps -a -q) 6caee85da9be 1a0b0a2c428c 2e60ca157c11 9a21f98188c3 7d13ac4fbffa db5c5c3df11a 9bd7aa3155de a290bcf74b13 c37bb8d245a4 1dc4ec9850c2 b852f1c8649a 03c247c8f047 a8bcae879e73 1f6f2f0a3db7 96df86a5f8e9 LEVANTAR LOS SERVICIOS DOCKER QUE QUIERO USAR Una vez parados todos los contenedores levantaremos únicamente los contenedores que queremos usar y mantener en el equipo. Para ello en mi caso ejecutaré el siguiente comando en la terminal:\nubuntu@ubuntuamd-22-04:~$ docker start traefik shaarli_shaarli_1 fivefilters-full-text-rss-docker_fullfeedrss_1 traefik shaarli_shaarli_1 fivefilters-full-text-rss-docker_fullfeedrss_1 Una vez levantados los contenedores es muy importante asegurar que los servicios levantados funcionan correctamente.\nREALIZAR LIMPIEZA EN DOCKER Y BORRAR LOS CONTENEDORES, IMÁGENES, REDES Y VOLÚMENES DE PERSISTENCIA QUE NO NECESITAMOS Docker dispone de varios comandos para realizar limpieza de nuestro sistema operativo. Algunos de estos comandos que pueden usar son los siguientes:\nComando Función docker system prune -a Eliminar los contenedores detenidos, todas las imágenes detenidas y redes que no están siendo utilizadas. docker system prune --volumes -a Eliminar los contenedores detenidos, todas las imágenes detenidas, redes que ne se usan y volúmenes de persistencia que no están siendo no utilizadas. En mi caso no quiero dejar rastro algúno de los servicios que borraré. Por lo tanto el comando que usaré para realizar limpieza de Docker es docker system prune --volumes -a\nNota: El proceso que veremos a continuación borrará la totalidad de imágenes, contenedores, volúmenes de persistencia y redes que no están en uso o están colgadas.\nEl resultado obtenido después de ejecutar el comando de limpieza ha sido el siguiente:\nubuntu@ubuntuamd-22-04:~$ sudo docker system prune --volumes -a WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all volumes not used by at least one container - all images without at least one container associated to them - all build cache Are you sure you want to continue? [y/N] y Deleted Containers: 6caee85da9bec084c74e2552cf45a5c0ef983478bdbef33fc21aa09b4664e154 1a0b0a2c428cca8f6bb6c5fe354d31bf8f4e1a983b41af3e4e88d3b2fa986c79 9a21f98188c3e5a54328fb6399ed38a07f853c996300971ed8650553157dc834 7d13ac4fbffa661669bffc262f10a06a206c11d7392a31c77bb7ff44566017ff db5c5c3df11ae598f88e543489f35398795de3c9003be09a33574662d1bc2535 9bd7aa3155de56e89b09d3cbea9e9874483d12d8e6bbb5b25cda6ae95c3426d6 a290bcf74b135b263fbfef1a6c3260eea204570cbddff28d578cde8265bbbb21 c37bb8d245a487d25039da371da946ca66eeac9c39c1f57212fed83dde694332 1dc4ec9850c22f3842210b823075851b872aea57605b1f5ae6ccc42ba5435813 b852f1c8649a76a8388b7dfa7a585f58598975a99ed843ddc2c4d5f1057e0144 03c247c8f0478afb9dbf680428546a3c761cbe2cc5d8e278c7b8bbd9b1891df7 a8bcae879e735afd4cb42844afddf3f26f52e2de10070202d12647718a0fbbcf Deleted Networks: shaarli_http-proxy Deleted Volumes: shaarli_shaarli-cache ttrss-docker_app ttrss_certs ttrss-docker_db ttrss_app full_text_rss_rss-cache shaarli_data ttrss-docker_backups 1bc0f6795d5fd41609ddf0b434742b6e1b420ba582aa149aab12ca29b2798b95 76a8a0f8e4b451ca527d4b17c150f0dfbafa171482e29d8eda2acaaf9eb95a3c shaarli_traefik-acme ttrss-docker_certs ttrss_backups ttrss_db 994735b3b8a40d977aaf62ade792c87af79ac5679971b8ca3eee5d4784afee86 shaarli_cache shaarli_shaarli-data Deleted Images: untagged: ttrss-docker_web-nginx:latest deleted: sha256:34bf30b46f1edd91c9864ff46822df87e8ba8f8eca96dcb0d0094ef55cc57f48 deleted: sha256:97ae92fdbc1077fa635b8976a50fdf77c590ce44318b8f872b985bac4b4f91ea deleted: sha256:d945a660a23cba42c7679fcec25675d4f703d8ff12008150320cfd78434031ac untagged: php:5-apache untagged: php@sha256:0a40fd273961b99d8afe69a61a68c73c04bc0caa9de384d3b2dd9e7986eec86d deleted: sha256:24c791995c1e498255393db857040793a7a040fa0f8ddd4bbe8fb230648e37d7 untagged: ttrss-docker_app:latest untagged: ttrss-docker_backups:latest untagged: ttrss-docker_updater:latest deleted: sha256:fb6c071600c3b3e1c45dc04a9f44fa9f614bad186608a21594698d8b108ec9fe deleted: sha256:ec09d3bb5b418b5cb65b44fcd9c0a5f37278a9a6feb0662a242f3fbf22098f64 deleted: sha256:205e6156d55d202bc84e6906d3ce241c3847f0b2f182bc632921be8f44260361 deleted: sha256:4e79c7e2ce21585b50a2c27aac7b1039b877f032c685504603e35cec3f51e08a deleted: sha256:5cab0a002e563bcd96f7cf541e43d77819a8b0be707b078f2367f4f3de4606a4 deleted: sha256:f1edb05ab0258506ce439898340b524123f7a49466e9bb98428e13b149c25068 deleted: sha256:46baed5ded025fdf32b5443d180b78183464c0a65ea7c6ed6366810d20076975 deleted: sha256:4b9136d87555675badd9a3927819ce451389e0af1302812966148971fbad50f7 deleted: sha256:3a2f708a97c886e69f32251ee7bfdf1b0033d9e2634a3b4124821bd7c61b402f deleted: sha256:5b1cbec40d3c23f8297dfb46cca0b085450ca4faedfa811a49580710e415ccec deleted: sha256:ae1b070e77ada7c80f5e49fc0a480a4a93b1ac8f5d71352764449d320c1a0ddc deleted: sha256:8381005aa0dda5beb147dce7f9d08f61bd3a6398500fc45cc684944e46ff8e6d deleted: sha256:10f4e34929cfa8aa69943eb770ed887a052ba17de88946af7ef3a46c20b6f20e deleted: sha256:05bf1582fe24ac8bf18176aa130f8caeb7441bc3f5ebc5636db436c22e5072ae deleted: sha256:8eb9de592eaa0450aeffe2066ac7694e265806253984a436b5a5d5e4dd6db43f deleted: sha256:f0052eefaa751b9d003172d1da5ccf9a7e8605ed04bc854a0ee367fd7fc2e215 deleted: sha256:23c93b630f15d36cb6c8a98dab45317be3ae5a6dfb54d11498e7b0cb9517df8a deleted: sha256:e85ebb06e09b73948292b66b9f687b6bc84b9d32a26a1aad267d833b130e40ea deleted: sha256:95f4833cd92887212ccb3784f3257fa937efb5b698ad3bf9538e870a2abebc6d deleted: sha256:24c942aad3094de14de814b1cd8f14600934971f9522a711653c17735fed9d28 deleted: sha256:533f7e96f2d357135c40f2a719deb4daef3ebd3cb44046bdec01cab038fffa87 deleted: sha256:a99eb632af01c452844f1cc62653f1e2c4cf1e7d146f1aeff4de42b5ced96ab8 deleted: sha256:42d08096432769df01a8bed00c7abb8a514b5ef09ca0cf7648d2c599bc033998 deleted: sha256:e1ef2fa84fe09bae27da96d2ae7f889f522f329e289526658ea5100b31e67e1e deleted: sha256:7daba31225658871a225ccb40f025f0b0b1966deb3be70f680e6e24ae563630a deleted: sha256:626282ff5adc69f03f357b61bcde2bbe13d9da642d1874d7c71f44469b89b101 deleted: sha256:5e8a2ab155510ce403449e80fbfa0dba3a71c5f1419f4296845c2577fd6867bf deleted: sha256:f4f0fdddfa46e77c554a2da2a89ac870ad0a112ccb1c74e152e403c7c1b1af33 deleted: sha256:10a14fd63ed72e2d3883a56a6493105b19a6185ba9994c68256104967ca3d719 deleted: sha256:8f673d8d2960235bdc842ae5e88a809f3df04a5a6b4f8f85ac8c988a6643ad52 deleted: sha256:ba2edf286f993ae92e97c5d1bebe8c98a0c327fad9bc1f81e4f92024b97f5101 deleted: sha256:aa3c5d98da2b18ad83720c87fb7ab4e43cb9eaa5dbcd0dcc5da793e69ca4dce7 deleted: sha256:8a5caf5eae7218de6470d179c81f7b19592d6b94ea521cd389037119074e2e71 deleted: sha256:be29a72def69dea15d1fd0f5e5ae1dad1feed8a6efa3c1fec6cf92e45e414bcb deleted: sha256:fb4874070fc50b8f6ffb048c7e1fa28e15d832495a2f60e3f2a305221f462ba8 deleted: sha256:4731acb0adfe4c72e9e163d742975a44a859e8b2dc92cf5ead14a5e012a4941b untagged: atareao/ytpodcast:latest untagged: atareao/ytpodcast:v0.2.0 untagged: atareao/ytpodcast@sha256:65ebc0a9d50741dc3c50345b7064315d078739ef05f242d075170938cc93b128 deleted: sha256:417124ad520b2408f5ea4bf503491a8be8e5010486ed3e305dab0f8610e8bdd5 deleted: sha256:f8a54da710a2827be5fc94eeed315c55afebc9ccfc64c0e97434687b871ba7c7 deleted: sha256:1f9eb09e2faee1191aab26a39c42d24801cedaed345c4985ce57a5226b0060a6 deleted: sha256:5c50e8171f0a4337714affc4da0a41e46d6099edc05292ffcb77491bc8fde48b deleted: sha256:7f3e6bfca2ef1b153188cb0995d005d09e42086c30d32e128da0001f2d8ae7ad deleted: sha256:a26b542b2b46a3d779f4079b98935472a9e4e75c2cdb0cf782f3502e1387a1b9 deleted: sha256:e5e13b0c77cbb769548077189c3da2f0a764ceca06af49d8d558e759f5c232bd untagged: shaarli/shaarli:latest untagged: shaarli/shaarli@sha256:813a6e0acf70f8eefb70afb319acd4762716d3f839cdddac28a7283c3a95fa11 deleted: sha256:ad6af6c7baf36b9f2652842b7c6fcf30f2d38b5a3338969145d8cc4b560fa593 deleted: sha256:27fd7b0630cd62476c8ae41e6ae2389f27a70a8288f65b74900932b29757b08d deleted: sha256:ed13260e5d9fc05f5ddfda66fac5a4e709da97d7bc949a41ae63f301aab096f4 deleted: sha256:45061d3e3c186e69b1ad7bac9cb7d851510f792b6fa6d08b4968f425ce0b4eeb deleted: sha256:48cc47fffbf8ec8cc08d053b7f325bab445d9021c8dcbb19552e08c930031d6a deleted: sha256:4f351e758e9c2f161ba38bc1dd7f422699b97fbe3fb2b40e8ebd1677cd511452 deleted: sha256:d4d9337f9490ccd97d7986a706394b154487c1032cc8d048aa9790cf6aa92a32 deleted: sha256:e2efd9423be749107024d89f24425cb0abb5af16bfc9b833417414836e826bc8 deleted: sha256:be8bde508a17da7a361d91a9737af22cbc4f1f992bf1a0c4e078ebd9494208d7 untagged: heussd/git:latest untagged: heussd/git@sha256:e5dbe550343e5f80bd64ce747a8780cc88f4c6a3972aa84833f7a3e34f25ef58 deleted: sha256:c737e804560c01373e803f3f41e402377c8d97eab409e761f027987419265886 deleted: sha256:242b195a4c587cbe32262ffafa8bb6c5da517f3d664d93e00b1074ff5cec539e deleted: sha256:47b9d22c7a3e6d4849a5a1d8d58691e41ed995a12f4d8e9430e5031b76cf5967 deleted: sha256:e2eb06d8af8218cfec8210147357a68b7e13f7c485b991c288c2d01dc228bb68 untagged: alpine:3.14 untagged: alpine@sha256:06b5d462c92fc39303e6363c65e074559f8d6b1363250027ed5053557e3398c5 deleted: sha256:e04c818066afe78a0c9379f62ec65aece28566024fd348242de92760293454b8 deleted: sha256:b541d28bf3b491aeb424c61353c8c92476ecc2cd603a6c09ee5c2708f1a4b258 untagged: nginx:alpine untagged: nginx@sha256:a74534e76ee1121d418fa7394ca930eb67440deda413848bc67c68138535b989 deleted: sha256:b1c3acb28882519cf6d3a4d7fe2b21d0ae20bde9cfd2c08a7de057f8cfccff15 deleted: sha256:1e82c6d6bb97ec37fdaf16a3578db9f79efc2a7fa987875e259148857265b410 deleted: sha256:fb462cfb3519855804e8462cd393197394587a9783c1f705b65f6f60469fec8d deleted: sha256:89f0dcdafc41c1feb58d632fac93739b74a6f1ae6a2ca26d3a7278707e22e98e deleted: sha256:02f69f6c362c5b7bba5e59ade6509c10cdf2454fbe1e28867ade6e16a40704b7 deleted: sha256:922eb96b3e3938899bf43813740b2eb24410ed08e1f9bf519b3d6f74be7b033a untagged: lscr.io/linuxserver/freshrss:latest untagged: lscr.io/linuxserver/freshrss@sha256:fb9429a3a476e06219cd291bbdbfe06d6cc5ec1187013700e9d8df992dcf0c89 deleted: sha256:47ed67d52b1d016a1cb4c8f6cf756156695583bb8e1bb482d5fae49c8e45c4be deleted: sha256:57c121847d64b258b7b1b58a66c2dde986a69e134167c0909f511b1829944b33 deleted: sha256:daa4a32bb8a498088d66c9e32a26ccf395f6ebe71acf90c9984a59611a3566b0 deleted: sha256:ec12b8d48ffef6dab69b9e8f6e5739dd180762269369350562eec79fcfc8b8f6 deleted: sha256:711dac113ce0a63a88d700193031fd75781362b40a48f6780ea143fec8724637 deleted: sha256:7a75295ba6eea0fc6705baf198364610352bbda9a9fd8e50ae7177cf557110e2 deleted: sha256:e5d01b7462514b5b4f06e1530e7f29acd11e6abc13f0f72b8efdf5232641ccce deleted: sha256:c79211a3264159ea867f770ee86d3f1ed8da9a00dbbba065f2144ebf4269e6c3 untagged: postgres:12-alpine untagged: postgres@sha256:0ebf2918e06fbc0ff9f30e144253972050f219a3652054017ebb5670f39d2564 deleted: sha256:3496e5bc48fb8ba14bcf5ff1c1f7b9ed408efb820f880e74cf4769310a7029aa deleted: sha256:c0f7926f77fb00fe77a7c09b85cb1068ca121893c0fbb979e75051ba15749741 deleted: sha256:3a536cdc1c3979728c1230827c206bfb60c86576fae4fa034faf87269cfc526a deleted: sha256:17438a0c156f43978bfc0a34ef2e48d9b84ad19c27f54ff98e0f9b62be1d5898 deleted: sha256:f35943dd8056f5efadd23fd371f7e4f2981eb8dc0bb505c22ea80cf87256a206 deleted: sha256:31e6c6516a21e0767cb0c8b6713aec82ca715667fe4f63dab836827c8a5496a8 deleted: sha256:e1ae6e0a84dc9d520de5f0906555ed5c0dfde1dc56012bded5a0ef8839487f1e deleted: sha256:2600a80197e0b0abd1aab08b2e6cd9ff51c75acc6ee93a082603796e3c421e86 deleted: sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d untagged: benbusby/whoogle-search:latest untagged: benbusby/whoogle-search@sha256:81750d8f298e7884255affd54ae18b48f6484206943d2be7f63453a40bed071e deleted: sha256:134cd16eba2f6c9bd3d2486374892c0b7ceb79f86da014beb4cbd2d416ec4ec6 deleted: sha256:63fa635f69bf0996abf3f72dd5842701391be09ad19ebf393a2e77d264668dc5 deleted: sha256:291463f11a88e4ce4b23ab6eca7b4e0c7665ca04b74dd63996e09839a6f8549a deleted: sha256:9093f3fb759241498a33fe8c1cf3686251253aa85ea0f088e3c78376fff24f28 deleted: sha256:5b347a27b22d00a5209b11515e10ef7735eb7c2d153ba9d69756a97bc3a3182c deleted: sha256:48c502cc31198a6e8c224e8e150168354ec07f7c216ed4388f2a5ea03815e538 deleted: sha256:0b72660782110783d1e6cb3cb5b78d09991bd284bb23beb5cc1bc861f027231d deleted: sha256:92357ce01a91e2bb3eded68eae135e36d133d72a4c6de32680c7014b6f430adc deleted: sha256:a07746f8a9933908839c0c9c36551fe2ab98fb4707c35501ea737c855dbe3749 deleted: sha256:ecefce4f3730d3e57821d06e2c25c66488abc5300745f9d1b9392b5c64de1b42 deleted: sha256:0c4b0448f52a8b8838091bcb1957542b34900f84a569d213e4a17ef0bfd33322 deleted: sha256:e2e624964abe8b97565713a53d08704471b84b7ae0aa3a9ac92b3d4b999215f1 deleted: sha256:263f1981ef81d928dfee35dbb3d0178bae6caf955b46e122b38a7c313b112aa6 deleted: sha256:a869a37a01e77a76c824b90700fb3c7eaede0ba28908977e24f7b63e85a555df deleted: sha256:873f32a32d4cbb5c3431289e81e64b74409ac8937667cd049e794940bbb3948e deleted: sha256:51eb2cdf4ae72a420b49e2fcd567c6b5bd3ba650238029f69bd7063181d41a64 deleted: sha256:596e2616800aef6b0f3957ccef06fcd348031a11fa69501edc1a6d2730eb9e98 deleted: sha256:15e77434263d53e40c7d184dedc74f5f606cd373ca4bf627c07fc11aa7064b37 deleted: sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759 Total reclaimed space: 893.1MB Si analizamos la salida del comando veremos la totalidad de información que se ha borrado. También veréis el espacio en disco que se ha ahorrado que en mi caso ha sido 893.1MB.\nLISTAR LOS CONTENEDORES, IMÁGENES, REDES Y VOLÚMENES PARA ASEGURAR QUE SE HA REALIZADO LA LIMPIEZA Para comprobar la efectividad de las acciones emprendidas listaremos los contenedores instalados y en mi caso veremos que únicamente tengo 3 contenedores en el equipo.\nubuntu@ubuntuamd-22-04:~$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2e60ca157c11 heussd/fivefilters-full-text-rss:latest \u0026#34;docker-php-entrypoi…\u0026#34; 6 weeks ago Up 24 minutes 0.0.0.0:8086-\u0026gt;80/tcp, :::8086-\u0026gt;80/tcp fivefilters-full-text-rss-docker_fullfeedrss_1 1f6f2f0a3db7 shaarli/shaarli:master \u0026#34;/bin/s6-svscan /etc…\u0026#34; 7 months ago Up 24 minutes 0.0.0.0:900-\u0026gt;80/tcp, :::900-\u0026gt;80/tcp shaarli_shaarli_1 96df86a5f8e9 traefik:latest \u0026#34;/entrypoint.sh trae…\u0026#34; 7 months ago Up 24 minutes 0.0.0.0:80-\u0026gt;80/tcp, :::80-\u0026gt;80/tcp, 0.0.0.0:443-\u0026gt;443/tcp, :::443-\u0026gt;443/tcp, 0.0.0.0:8080-\u0026gt;8080/tcp, :::8080-\u0026gt;8080/tcp traefik Con las imágenes pasará exactamente lo mismo. Mientras antes teníamos 17 imágines ahora solo tenemos 3.\nubuntu@ubuntuamd-22-04:~$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE heussd/fivefilters-full-text-rss latest 482a8f60ef3c 7 weeks ago 370MB traefik latest 22a478a269ff 8 months ago 105MB shaarli/shaarli master cea4a66d0807 18 months ago 97.6MB Referente a las redes vemos que se ha eliminado la red shaarli_http-proxy\nubuntu@ubuntuamd-22-04:~$ docker network ls NETWORK ID NAME DRIVER SCOPE 0882b3274c3e bridge bridge local 46c682f88f61 host host local b95af41127b7 none null local e2b8ea1140e7 web bridge local Finalmente vemos que únicamente nos hemos quedado con un solo volúmen de persistencia.\nubuntu@ubuntuamd-22-04:~$ docker volume ls DRIVER VOLUME NAME local fivefilters-full-text-rss-docker_rss-cacheer volume ls DRIVER VOLUME NAME local fivefilters-full-text-rss-docker_rss-cache Por lo tanto objetivo cumplido. Aplicando un simple compando hemos sido capaces de borrar la totalidad de contenedors, imágenes, volúmenes y redes que no necesitamos.\nFuentes https://www.digitalocean.com/community/tutorials/how-to-remove-docker-images-containers-and-volumes-es\nhttps://docs.docker.com/engine/reference/commandline/system_prune/\n","permalink":"https://geeklandlinux.github.io/posts/hacer-limpieza-en-docker-borrando-contenedores-imagenes-volumenes-etc/","summary":"\u003cp\u003eA medida que vamos instalando y desinstalando servicios en Docker se va llenando el disco duro con contenedores, imágenes, redes, cache y volúmenes de persistencia que no usamos. Para solucionar este problema y para hacer un poco de limpieza en Docker y en el sistema operativo podemos borrar los contenedores, imágenes, redes y volúmenes que no usamos del siguiente modo.\u003c/p\u003e","title":"Hacer limpieza en Docker borrando contenedores, imágenes, volúmenes, etc"},{"content":"Existen ocasiones en que el creador de un podcast sube sus audios a archive.org y no genera ningún feed para que los usuarios puedan escuchar sus podcast cómodamente. Este es el caso del podcast de C3PO. Para solucionar este pequeño problema mostraré el procedimiento para generar un feed de los audios alojados en una cuenta de archive.org\nGENERAR UN FEED DE LOS FICHEROS DE AUDIO ALOJADOS EN ARCHIVE.ORG Para generar un feed de una serie de audios alojados en archive.org tienen que realizar los siguientes pasos.\nAveriguar quien es el creador de los audios El primer paso es anotar el nombre del creador del podcast o del audio. Para ello se dirigen a la URL en que se alojan los audios y en la zona marcada en la siguiente captura de pantalla verán el nombre del creador. En este caso el creador es c3po-podcast\nGenerar un feed mediante las búsquedas avanzadas Nos dirigimos al apartado de búsquedas avanzadas de archive.org. Una vez dentro hacemos scroll hacia el apartado de las búsquedas avanzadas. En este apartado realizaremos una búsqueda considerando los siguientes criterios:\nEn el campo query escribiremos el nombre del creador de los audios. En el apartado anterior hemos visto que el autor era c3po-podcast En el apartado Fields to return seleccionamos en campo Creator A continuación seleccionamos que queremos ordenar los resultados por fecha de publicación descendente. Por lo tanto seleccionamos la opción publicdate desc Seguidamente clicamos la opción RSS format para que los resultados de la búsqueda sean mostrados en formato RSS. Finalmente clicamos el botón Search. Justo después de clicar se generará un feed los audios de CP3PO. Empezar a reproducir podcast en su reproductor de podcast habitual Al presionar el botón Search se mostrarán los resultados de la búsqueda en formato RSS. A continuación tan solo tendrán que seleccionar y copiar la URL de la barra de direcciones del navegador.\nFinalmente usarán la URL copiada para suscribirse al podcast en su aplicación de podcast habitual. En mi caso uso gpodder para gestionar los podcast en mi ordenador.\nA partir de estos momentos podremos escuchar los podcast publicados siempre que queramos. Además cuando el autor del podcast publique un nuevo audio nos llegará sin ningún tipo de problema a nuestro Podcatcher. De este modo podremos escuchar audios almacenados en una cuenta de archive.org de forma cómoda y sin complicación alguna.\n","permalink":"https://geeklandlinux.github.io/posts/generar-un-feed-de-audio-del-contenido-alojado-en-archive-org/","summary":"\u003cp\u003eExisten ocasiones en que el creador de un podcast sube sus audios a archive.org y no genera ningún feed para que los usuarios puedan escuchar sus podcast cómodamente. Este es el caso del \u003ca href=\"https://archive.org/details/@c3po-podcast?tab=uploads\"\u003epodcast de C3PO\u003c/a\u003e. Para solucionar este pequeño problema mostraré el procedimiento para generar un feed de los audios alojados en una cuenta de archive.org\u003c/p\u003e","title":"Generar un feed de audio del contenido alojado en archive.org"},{"content":"La gran mayoría de configuraciones del escritorio i3 prescinden de las barras de título de las ventanas y por esto motivo no se pueden ver los títulos de las ventanas. Una solución para los usuarios que quieren ver los títulos de las ventanas es añadir el título en el panel del escritorio del modo que citaremos a continuación.\nNota: El método mostrado a continuación es válido para los usuarios de i3 que usen los paneles i3blocks, i3status y polybar. Polybar ya dispone de módulos de serie para mostrar el título de las ventanas en el panel. Por lo tanto en Polybar podéis aplicar esta solución, pero existen otras opciones posiblemente mejores.\nMOSTRAR EL TÍTULO DE LA VENTANAS EN EL PANEL DEL GESTOR DE VENTANAS DE I3 Buscando por la red he encontrado diversas soluciones y scripts como por ejemplo el siguiente. Funciona perfecto, pero el problema es que tiene un consumo de CPU exageradamente alto. Justo después de ejecutar el script el uso de CPU se incremente desmesuradamente hasta el punto de perjudicar al rendimiento del equipo:\nComo solución he aplicado el método que verán a continuación. El método que verán a continuación es útil y no afectará al rendimiento del equipo ya que su consumo de CPU es bajo.\nLo primero que tenemos que asegurar es que el paquete jq esté instalado en nuestro equipo. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo apt install jq A continuación accederemos al fichero de configuración de nuestro panel, que en mi caso es i3blocks. Para ello en mi caso tengo que ejecutar el siguiente comando en la terminal:\nnano ~/.config/i3/i3blocks.conf Una vez se abra el editor de texto pegan el siguiente bloque de código en la posición que quieran que aparezca el título de la ventana:\n[i3-focusedwindow] command=i3-msg -t subscribe -m \u0026#39;[ \u0026#34;window\u0026#34; ]\u0026#39;| jq --unbuffered -Mrc \u0026#39;. | select(.container.focused == true).container.window_properties.title\u0026#39; color=#5294e2 interval=persistent Una vez pegado el código guardan los cambios y cierran el fichero. Reinician su entorno de escritorio o su equipo y acto seguido podrán observar el panel de su escritorio muestra el título de las ventanas.\nSi en vuestro casos tenéis soluciones más originales o más eficientes les ruego que lo mencionen en los comentarios del blog.\n","permalink":"https://geeklandlinux.github.io/posts/mostrar-el-titulo-de-las-ventanas-en-el-panel-de-i3/","summary":"\u003cp\u003eLa gran mayoría de \u003ca href=\"/posts/instalar-configurar-y-usar-el-gestor-de-ventanas-i3-en-linux/\"\u003econfiguraciones del escritorio i3\u003c/a\u003e prescinden de las barras de título de las ventanas y por esto motivo no se pueden ver los títulos de las ventanas. Una solución para los usuarios que quieren ver los títulos de las ventanas es añadir el título en el panel del escritorio del modo que citaremos a continuación.\u003c/p\u003e","title":"Mostrar el título de las ventanas en el panel de i3"},{"content":"En su día publique un artículo de como instalar y configurar el gestor de ventanas i3. No obstante con el paso del tiempo he modificado esta configuración añadiendo algunos detalles y funcionalidades como por ejemplo la separación entre ventanas. Si quieren añadir la separación entre ventanas y configurar los bordes en su gestor de ventanas i3 deberán realizar lo siguiente.\nVER LA VERSIÓN DEL GESTOR DE VENTANAS I3 QUE TENEMOS INSTALADA Lo primero que tenemos que realizar es asegurar que usamos una versión igual o superior a la 4.22. Si tienen una versión inferior a la 4.22 la configuración que detallaré en este artículo no funcionará. Esto es así porque no fue hasta la versión 4.22 que el código de i3-gaps se incorporo a i3. Para ver la versión del gestor de ventanas que están usando ejecuten el siguiente comando en la terminal:\ni3 -v\nEn mi caso el resultado obtenido es el siguiente:\ni3 version 4.22 (2023-01-02) © 2009 Michael Stapelberg and contributors Como tengo la versión 4.22 podré aplicar la configuración que detallaré a continuación. En el caso que que tengan una versión inferior pueden utilizar i3-gaps. No obstante i3-gaps es un proyecto que quedará archivado en github y no recibirá más actualizaciones. Por lo tanto lo usuarios de i3-gaps se deberían pasar a i3.\n¿POR QUÉ ALGUNOS USUARIOS QUIEREN QUE EXISTA LA SEPARACIÓN ENTRE VENTANAS? La separación entre ventanas y los bordes de las ventanas en mi caso tienen la siguiente utilidad:\nAyudar a ver el número de ventanas abiertas de forma más fácil. Estéticamente el entorno de escritorio queda más bonito. Si vosotros pensáis que existen otras razones las podéis detallar en los comentarios del artículo.\nNota: En mi caso configuro una separación entre ventanas muy pequeña y unos bordes muy delgados. Si la separación entre ventanas es demasiado grande no se aprovechará la pantalla de forma adecuada.\nCONFIGURAR LA SEPARACIÓN ENTRE VENTANAS Y LOS BORDES DE LAS VENTANAS Antes de mostrar mi configuración creo que es interesante explicar los parámetros de configuración existentes.\nParámetros disponibles para configurar la separación entre ventanas Las opciones de configuración disponibles para definir el espacio o separación entre ventanas son las que detallo a continuación:\nEjemplo de un parámetro de configuración Funcionalidad gaps inner 6 La separación entre las distintas ventanas que tengamos abiertas es de 6. Este parámetro puede tomar valores numéricos como por ejemplo 3, 5, 9, etc. workspace 3 gaps inner 6 Se aplica la separación de 6 entre ventanas únicamente en el escritorio 3. gaps outer -3 La separación entre la ventana y el borde del monitor es -3. Este parámetro puede tomar valores numéricos como por ejemplo 3, 5, 9, etc. Este parámetro incluye el valor de gaps inner. Por lo tanto si hemos definido gaps inner 6 y ahora configuramos gaps outer -3 el resultado final será que la separación entre las ventanas y el borde del monitor será d workspace 3 gaps outer 2 Se aplica la separación de 2 entre la ventana y el borde del monitor únicamente en el escritorio 3. gaps top 1 Opción para definir que la separación entre la ventana y el borde superior del monitor sea 1. Este parámetro puede aceptar un entero positivo o negativo y sobrescribirá el margen que hayamos definir con la opción gaps outer. gaps bottom -6 Para definir que separación entre la ventana y el borde inferior del monitor sea -6. Este parámetro puede aceptar un entero positivo o negativo. Este parámetro puede aceptar un entero positivo o negativo y sobrescribirá el margen que hayamos definir con la opción gaps outer. gaps left -6 Definimos que la separación entre la ventana y el borde izquierdo del monitor sea -6. Este parámetro puede aceptar un entero positivo o negativo. Este parámetro puede aceptar un entero positivo o negativo y sobrescribirá el margen que hayamos definir con la opción gaps outer. gaps right -6 Configuramos que la separación entre la ventana y el borde derecho del monitor sea de -6. Este parámetro puede aceptar un entero positivo o negativo y sobrescribirá el margen que hayamos definir con la opción gaps outer. smart_gaps on Si el valor de smart_gaps es on solo existirá separación entre ventanas cuando abramos más de una ventana en el escritorio. Los posibles valores de este parámetro son on, off y inverse_outer. La opción inverse_outer solo aplicará separación entre ventanas o gaps cuando exista una sola ventana en nuestro escritorio. Explicación de los parámetros disponibles para configurar los bordes de las ventanas Las opciones disponibles para configurar los bordes de las ventanas son las siguientes:\nParámetro de configuración Funcionalidad for_window [class=\u0026quot;^.*\u0026quot;] border pixel 2 El grosor del borde será de 2 pixeles. Si lo quieren más grueso pueden elegir valores como por ejemplo 3, 4, etc. set $border-focus #5294e2 El borde de la ventana activa tendrá el color #5294e2. Pueden elegir otros colores en formato HEX. smart_borders on Si activamos los smart_borders con la opción on solo se mostrarán los bordes de la ventana cuando abramos más de una ventana en la pantalla. El parámetro smart_borders puede tener los valores on, off y no_gaps. La opción no_gaps hara que solo se muestren los bodes cuando no existe un espacio de separación entre ventanas. Ejemplos de los parámetros de configuración que podemos aplicar En mi caso me gusta aprovechar el máximo el tamaño de la pantalla. Pero al mismo tiempo también me gusta que al abrir más de una ventana pueda ver de forma sencilla el número de ventanas abierta. Partiendo de estas premisas en mi caso la configuración es la siguiente.\nPara la separación entre ventanas tengo el siguiente código en mi fichero de configuración:\n## Configurar la seperación entre ventanas # Separación entre ventanas adyacentes gaps inner 6 # Separación entre las ventanas y el borde de la pantalla gaps outer -3 # Para hacer que no haya separación entre la ventana y el borde izquierdo del monitor gaps left -6 # Para hacer que no haya separación entre la ventana y el borde derecho del monitor gaps right -6 # Para hacer que no haya separación entre la ventana y el borde inferior del monitor gaps bottom -6 # Para que solo exista separación en el caos que haya más de una ventana abierta smart_gaps on Para la configuración de los bordes:\n## Configuración de los bordes de las ventanas # Para definir el grosor del borde de las ventanas for_window [class=\u0026#34;^.*\u0026#34;] border pixel 2 # Definir el color del borde cuando la ventana está activa set $border-focus #5294e2 # Solo se dibujarán bordes en el caso que haya más de una ventana abierta smart_borders on Con la configuración aplicada pasaremos de tener este entorno de escritorio:\nA tener este entorno de escritorio:\nNota: La diferencia es sutil ya que la separación entre ventanas es mínima, pero para mi es la configuración ideal. Vosotros podéis añadir más separación en el caso que lo crean conveniente.\nCon la nueva configuración del entorno de escritorio:\nCuando tenga una sola ventana no existirá ningún tipo de separación y no se dibujarán los bordes de la ventanas. En el momento que haya más de una ventana existirá una separación entre ventanas y se dibujarán los bordes para poder distinguir fácilmente la ventana que está activa. Si hablamos de separación entre las ventanas y los bordes del monitor únicamente tendremos una pequeña separación entre el borde superior de la pantalla y el monitor. Nota: Para ayudarnos a ver la ventana que está activa también podemos usar las transparencias, pero para ello deberemos instalar un compositor de ventanas como por ejemplo compton o picom.\nSi quieren definir atajos de teclado para modificar la separación entre ventanas definida pueden seguir la configuración que encontrarán en el siguiente enlace:\nhttps://github.com/Airblader/i3/wiki/Example-Configuration\nFuentes https://i3wm.org/docs/userguide.html\n","permalink":"https://geeklandlinux.github.io/posts/configurar-separacion-entre-ventanas-y-los-bordes-en-i3/","summary":"\u003cp\u003eEn su día publique un artículo de como \u003ca href=\"/posts/instalar-configurar-y-usar-el-gestor-de-ventanas-i3-en-linux/\"\u003einstalar y configurar el gestor de ventanas i3\u003c/a\u003e. No obstante con el paso del tiempo he modificado esta configuración añadiendo algunos detalles y funcionalidades como por ejemplo la separación entre ventanas. Si quieren añadir la separación entre ventanas y configurar los bordes en su gestor de ventanas i3 deberán realizar lo siguiente.\u003c/p\u003e","title":"Configurar separación entre ventanas y los bordes en i3"},{"content":"Últimamente en mi web solo uso imágenes con el formato webp. El motivo es que a igualdad de calidad ocupan mucho menos tamaño que las imágenes con formato jpg y png. No obstante el formato webp no es el más estándar y esto me genera una serie de inconvenientes como por ejemplo que mi gestor de ficheros Thunar no es capaz de mostrar las imágenes en miniatura. En el caso que os pase lo mismo y por lo tanto tengáis problemas para que el gestor de ficheros Thunar muestre las miniaturas o Thumbnails de las imágenes con formato webp sigan las instrucciones que detallaré a continuación.\nCOMO VER LAS IMÁGENES EN MINIATURA O THUMBNAILS DE LAS FOTOS CON FORMATO WEBP EN THUNAR Lo primero que tenemos que realizar es asegurar que tenemos instalados los paquetes **libwebp** y **tumbler** en nuestro equipo. Para ello ejecutaremos el siguiente comando:\nsudo apt install libwebp tumbler Nota: En el caso que usen Arch Linux deberán usar el comando **sudo pacman -S libwebp tumbler**\nA continuación crearemos el fichero **webp.thumbnailer** que será el encargado de generar las imágenes en miniatura o Thumbnails. Para crear este fichero ejecutaremos el siguiente comando en la terminal:\nsudo nano /usr/share/thumbnailers/webp.thumbnailer Cuando se abra el editor de textos pegaremos el siguiente código:\n[Thumbnailer Entry] Version=1.0 Encoding=UTF-8 Type=X-Thumbnailer Name=webp Thumbnailer MimeType=image/webp; Exec=/usr/bin/convert -thumbnail %s %i %o Una vez pegado el contenido guardaremos los cambios y cerraremos el fichero. Ahora definiremos el MIME de webp ejecutando el siguiente comando en la terminal:\nnano ~/.local/share/mime/packages/webp.xml Cuando se abra el editor de texto nano pegaremos el siguiente código:\n\u0026lt;?xml version=\u0026#34;1.0\u0026#34; encoding=\u0026#34;UTF-8\u0026#34;?\u0026gt; \u0026lt;mime-info xmlns=\u0026#34;http://www.freedesktop.org/standards/shared-mime-info\u0026#34;\u0026gt; \u0026lt;mime-type type=\u0026#34;image/webp\u0026#34;\u0026gt; \u0026lt;comment\u0026gt;WebP file\u0026lt;/comment\u0026gt; \u0026lt;icon name=\u0026#34;image\u0026#34;/\u0026gt; \u0026lt;glob-deleteall/\u0026gt; \u0026lt;glob pattern=\u0026#34;*.webp\u0026#34;/\u0026gt; \u0026lt;/mime-type\u0026gt; \u0026lt;/mime-info\u0026gt; A continuación guardaremos los cambios y cerraremos el fichero. Finalmente deberán ejecutar el siguiente comando en la terminal para actualizar la cache de la base de datos de los tipos MIME.\nupdate-mime-database ~/.local/share/mime Después de seguir la totalidad de instrucciones y de reiniciar el ordenador deberían ser capaces de visualizar las imágenes en miniatura o Thumbnails de la totalidad de imágenes que tengan formato webp en su gestor de ficheros Thunar.\nAplicando estos simples pasos e instalando la librería webp-pixbuf-loader consigo una integración perfecta de las imágenes webp en mi equipo.\n","permalink":"https://geeklandlinux.github.io/posts/ver-miniaturas-o-thumbnails-de-las-imagenes-webp-en-thunar/","summary":"\u003cp\u003eÚltimamente en mi web solo uso imágenes con el formato webp. El motivo es que a igualdad de calidad \u003ca href=\"https://photutorial.com/image-format-comparison-statistics/\"\u003eocupan mucho menos tamaño\u003c/a\u003e que las imágenes con formato jpg y png. No obstante el formato webp no es el más estándar y esto me genera una serie de inconvenientes como por ejemplo que mi gestor de ficheros Thunar no es capaz de mostrar las imágenes en miniatura.  En el caso que os pase lo mismo y por lo tanto tengáis problemas para que el gestor de ficheros Thunar muestre las miniaturas o Thumbnails de las imágenes con formato webp sigan las instrucciones que detallaré a continuación.\u003c/p\u003e","title":"Ver miniaturas o thumbnails de las imágenes webp en Thunar"},{"content":"Me gusta visualizar las fotografías e imágenes con visores de fotos ligeros como por ejemplo Viewnior, Ristretto, Eog, etc. Desafortunadamente los software que acabo de citar no tienen soporte para visualizar imágenes en formato webp de forma predeterminada. Para solucionar este problema y por lo tanto poder visualizar imágenes en el formato webp instalaremos la librería webp-pixbuf-loader del siguiente modo.\nNota: En muchos foros se recomienda usar gimp o el navegador para visualizar las fotografías en formato .webp. Obviamente es una solución, pero no son programas ágiles y ligeros para visualizar grandes lotes de fotografías.\nNota: La librería webp-pixbuf-loader únicamente sirve para visualizar imágenes estáticas. No servirá para visualizar imágenes .webp animadas. Una vez instalada la librería su gestor de ficheros también debería ser capaz de mostrar las imágenes en miniatura o thumbnails.\n¿POR QUÉ SOFTWARE COMO VIEWNIOR, RISTRETTO Y EOG NO DISPONEN DE SOPORTE PARA VISUALIZAR IMÁGENES EN FORMATO WEBP? Los software citados en la introducción del artículo utilizan gdk-pixbuf para representar los pixel de una imagen. Esto es un problema porque gdk-pixbuf no es compatible con el formato webp.\nINSTALAR LA LIBRERÍA WEBP-PIXBUF-LOADER PARA VISUALIZAR IMÁGENES EN FORMATO WEBP A continuación encontrarán las instrucciones para instalar **webp-pixbuf-loader** en algunas de las distribuciones Linux más populares.\nInstalar webp-pixbuf-loader en Debian Testing, Debian Sid, Arch Linux, Fedora y Open Suse El paquete **webp-pixbuf-loader** se halla en los repositorios de todas las distros mencionadas en el título. Por lo tanto en Debian Testing y en Debian Sid tan solo tendrán que ejecutar el siguiente comando en la terminal:\nsudo apt install webp-pixbuf-loader Si usan Fedora tendrán que usar el siguiente comando:\nsudo dnf install webp-pixbuf-loader En el caso que usen Arch Linux deberán usar el siguiente comando:\nsudo pacman -S webp-pixbuf-loader Finalmente los usuarios que usen Open Suse deberán usar el siguiente comando:\nsudo zypper install webp-pixbuf-loader Una vez instalada la librería **webp-pixbuf-loader** tienen que reiniciar el ordenador. A partir de estos momentos, la próxima vez que abran una imagen con el formato .webp se abrirá sin problema alguno. Además deberían poder visualizar las imágenes en miniatura en su gestor de archivos.\nInstalar la librería webp-pixbuf-loader en Debian Estable La versión actual de Debian estable no dispone de **webp-pixbuf-loader** en sus repositorios estándar. Para instalar el paquete **webp-pixbuf-loader** deberán añadir el repositorio Backports del siguiente modo:\nhttps://geeklandlinux.github.io/posts/repositorio-backports-debian-estable/\nUna vez añadido el repositorio podrán ejecutar el siguiente comando para instalar webp-pixbuf-loader.\nsudo apt install webp-pixbuf-loader Instalar webp-pixbuf-loader Ubuntu y Linux Mint A partir de la versión 22.10 de Ubuntu el paquete **webp-pixbuf-loader** está incluido en los repositorios de Ubuntu y Linux Mint. Por lo tanto tan solo tendremos que ejecutar el siguiente comando:\nsudo apt install webp-pixbuf-loader Si usan Ubuntu 20.04 o 22.04 tendrán que usar un repositorio no oficial. Para añadir el repositorio tendrán que ejecutar el siguiente comando en la terminal:\nsudo add-apt-repository ppa:helkaluin/webp-pixbuf-loader Acto seguido refrescamos los repositorios de Ubuntu o Linux Mint mediante el siguiente comando:\nsudo apt update Finalmente procederemos a la instalación de **webp-pixbuf-loader** mediante el siguiente comando:\nsudo apt install webp-pixbuf-loader Instalar webp-pixbuf-loader en el caso que el paquete binario no esté en los repositorios Una solución que funcionará en la totalidad de distribuciones es construir e instalar la librería a partir del código fuente. Para ello lo primero que hay que realizar es instalar las dependencias ejecutando el siguiente comando:\nsudo apt install git meson ninja-build libwebp-dev libgdk-pixbuf2.0-dev libgtk-3-dev build-essential A continuación se dirigen a la siguiente URL:\nhttps://github.com/aruiz/webp-pixbuf-loader/\nDentro de la web tendréis que mirar la versión de webp-pixbuf-loader tenéis que instalar. En mi caso uso Debian 11, por lo tanto tendré que instalar la versión 0.0.5\nPara descargar esta versión se dirigen a la siguiente url y descargan el código fuente:\nAhora descomprimiremos el código fuente que acabamos de descargar mediante el siguiente comando:\ntar -xf webp-pixbuf-loader-0.0.5.tar.gz Una vez finalizado el proceso accederemos dentro de la carpeta que acabamos de descomprimir. Para ello en mi caso tendré que ejecutar el siguiente comando:\ncd webp-pixbuf-loader-0.0.5 El siguiente paso consistirá en construir la librería **webp-pixbuf-loader** ejecutando los siguientes comandos:\nmeson builddir -Dgdk_pixbuf_query_loaders_path=/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders ninja -C builddir Finalmente instalaremos la librería ejecutando el siguiente comando\nsudo ninja -C builddir install Les recomiendo que una vez finalizada la instalación reinicien el equipo.\nCOMPROBAR QUE PODEMOS VISUALIZAR IMÁGENES EN EL FORMATO WEBP Si ahora intentamos visualizar fotografías con el software Viewnior o con Risttreto no tendremos ningún tipo de problema:\nAdemás las imágenes en miniatura se deberían mostrar sin problema alguno en su gestor de ficheros-\n¿Qué podemos realizar en el caso que tengamos problemas en visualizar las imágenes en miniatura en el gestor de ficheros? En el caso que tengan problemas para visualizar las miniaturas en el gestor de ficheros borren la cache de las imágenes ejecutando los siguientes comandos:\nrm ~/.cache/thumbnails/fail/gnome-thumbnail-factory/*.png rm ~/.cache/thumbnails/normal/*.png rm ~/.cache/thumbnails/large/*.png Si después de borrar la cache siguen con problemas y usan el gestor de ficheros Thunar les recomiendo que sigan las siguientes instrucciones:\nhttps://geeklandlinux.github.io/posts/ver-miniaturas-o-thumbnails-de-las-imagenes-webp-en-thunar/\nFUENTES https://github.com/aruiz/webp-pixbuf-loader/releases\n","permalink":"https://geeklandlinux.github.io/posts/visualizar-imagenes-en-formato-webp-en-linux/","summary":"\u003cp\u003eMe gusta visualizar las fotografías e imágenes con visores de fotos ligeros como por ejemplo Viewnior, Ristretto, Eog, etc. Desafortunadamente los software que acabo de citar no tienen soporte para visualizar imágenes en formato webp de forma predeterminada. Para solucionar este problema y por lo tanto poder visualizar imágenes en el formato webp instalaremos la librería webp-pixbuf-loader del siguiente modo.\u003c/p\u003e","title":"Visualizar imágenes en formato webp en Linux"},{"content":"Hay ocasiones en que levantamos un servicio autoalojado que no tienen ningún método de autenticación con usuario y contraseña. Esto significa que este servicio estará abierto a todo el mundo y será un problema en el caso que no queramos abrir el servicio al público. Si se encuentran en esta situación y están usando el proxy inverso traefik pueden usar un middleware de autenticación básico del modo que verán en este artículo. De este forma todo usuario que quiera usar el servicio tendrá que introducir un usuario y su correspondiente contraseña.\nDEFINIR LAS CREDENCIALES DE AUTENTICACIÓN PARA ACCEDER AL SERVICIO Lo primero que tenemos que realizar es definir un usuario y una contraseña para acceder al servicio. Si por ejemplo quieren generar un usuario con nombre geekland que tenga la contraseña 1234 deberán ejecutar el siguiente comando:\necho $(htpasswd -nB geekland) | sed -e s/\\\\$/\\\\$\\\\$/g Una vez ejecutado el comando tendremos que teclear 2 veces la contraseña que queremos para el usuario geekland. En mi caso he definido que la contraseña sea 1234\nNew password: 1234 Re-type new password: 1234 Finalmente obtendremos nuestro usuario y nuestra contraseña en forma de hash. Guarden bien el usuario y la contraseña en forma de hash porque tendremos que usarlos a posterior para configurar el middleware de autenticación básico de Traefik.\ngeekland:$$7y$$05$$fYQlLhS5TksK3Ir4KtzpbeWyU4g2lqSJLkHzInCeW5FZcKQ5vP3z. Nota: Si lo precisan pueden generan múltiples usuarios y contraseñas para un mismo servicio.\nAÑADIR LA AUTENTICACIÓN SIMPLE MEDIANTE USUARIO Y CONTRASEÑA A UN SERVICIO MEDIANTE EL PROXY INVERSO TRAEFIK Una vez tengo el usuario y la contraseña en forma de hash iré al docker-compose del servicio en que quiero añadir la autenticación con usuario y contraseña. Por ejemplo el docker-compose que usamos en el artículo anterior era el siguiente:\nversion: \u0026#39;3.7\u0026#39; services: fullfeedrss: build: . image: \u0026#34;heussd/fivefilters-full-text-rss:latest\u0026#34; environment: # Leave empty to disable admin section - FTR_ADMIN_PASSWORD= volumes: - \u0026#34;rss-cache:/var/www/html/cache\u0026#34; ports: - \u0026#34;8086:80\u0026#34; networks: - web labels: - traefik.http.routers.ftrss.rule=Host(`ftrss.geekland.duckdns.org`) - traefik.http.routers.ftrss.tls=true - traefik.http.routers.ftrss.tls.certresolver=lets-encrypt - traefik.docker.network=web - traefik.port=8086 - traefik.enable=true volumes: rss-cache: networks: web: external: true Si obserbamos las etiquetas del docker-compose vemos que son las siguientes:\nlabels: - traefik.http.routers.ftrss.rule=Host(`ftrss.geekland.duckdns.org`) - traefik.http.routers.ftrss.tls=true - traefik.http.routers.ftrss.tls.certresolver=lets-encrypt - traefik.docker.network=web - traefik.port=8086 - traefik.enable=true Para añadir la autenticación tan solo tendremos que añadir las siguientes 2 líneas a las etiquetas del docker compose:\n- traefik.http.middlewares.ftrss-auth.basicauth.users=geekland:$$7y$$05$$fYQlLhS5TksK3Ir4KtzpbeWyU4g2lqSJLkHzInCeW5FZcKQ5vP3z. - traefik.http.routers.ftrss.middlewares=ftrss-auth@docker Nota: La primera de las líneas define un middleware de autenticación básico que tiene el nombre ftrss-auth. Si queréis usar otro nombre para el middleware deberéis reemplazar ftrss-auth por el nombre que quieran usar. También deberéis reemplazar geekland:$$7y$$05$$fYQlLhS5TksK3Ir4KtzpbeWyU4g2lqSJLkHzInCeW5FZcKQ5vP3z. por el usuario y contraseña en forma de hash que hayan obtenido en el apartado anterior.\nNota: En la segunda de la líneas lo que se realiza es conectar el middlware ftrss-auth con el router ftrss. En vuestro deberéis reemplazar ftrss-auth y ftrss por el nombre del router y middleware que necesitan interconectar.\nUna vez añadidas las 2 líneas el docker-compose quedará de la siguiente forma:\nversion: \u0026#39;3.7\u0026#39; services: fullfeedrss: build: . image: \u0026#34;heussd/fivefilters-full-text-rss:latest\u0026#34; environment: # Leave empty to disable admin section - FTR_ADMIN_PASSWORD= volumes: - \u0026#34;rss-cache:/var/www/html/cache\u0026#34; ports: - \u0026#34;8086:80\u0026#34; networks: - web labels: - traefik.http.routers.ftrss.rule=Host(`ftrss.geekland.duckdns.org`) - traefik.http.routers.ftrss.tls=true - traefik.http.routers.ftrss.tls.certresolver=lets-encrypt - traefik.http.middlewares.ftrss-auth.basicauth.users=geekland:$$7y$$05$$fYQlLhS5TksK3Ir4KtzpbeWyU4g2lqSJLkHzInCeW5FZcKQ5vP3z. - traefik.http.routers.ftrss.middlewares=ftrss-auth@docker - traefik.docker.network=web - traefik.port=8086 - traefik.enable=true volumes: rss-cache: networks: web: external: true Finalmente tan solo tienen que guardar los cambios y cerrar el fichero. Para ver que todo funciona a la perfección pararemos el contenedor fivefilters-full-text-rss-docker_fullfeedrss_1, lo eliminaremos y lo volveremos a levantar de nuevo. Para ello ejecutaremos los siguientes comandos en la terminal.\nCon el fin de parar el contenedor:\ndocker stop fivefilters-full-text-rss-docker_fullfeedrss_1 Para eliminar el contenedor:\ndocker rm fivefilters-full-text-rss-docker_fullfeedrss_1 Finalmente para levantar el nuevo contenedor con el middleware de autenticación básico:\ndocker-compose up -d COMPROBAR QUE NUESTRO SERVICIO TIENE AUTENTICACIÓN POR USUARIO Y POR CONTRASEÑA Acto seguido intenten acceder al servicio que acaban de levantar y verán que se les pide un usuario y contraseña. Una vez los hayan introducido presionan sobre el botón Iniciar sesión.\nSi el usuario y la contraseña son correctas podrán acceder y usar el servicio sin ningún tipo de problema. En caso que no sea así no podrán usar el servicio.\nEn el caso que lo crean necesario también pueden usar Traefik y Fail2ban para bloquear a los usuarios que introduzcan las credenciales incorrectamente de forma reiterada. Para ello pueden usar las instrucciones que encontrarán en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/usar-fail2ban-con-traefik-para-proteger-servicios-que-corren-en-docker/\nFuentes https://doc.traefik.io/traefik/middlewares/http/basicauth/\n","permalink":"https://geeklandlinux.github.io/posts/autenticacion-con-usuario-y-contrasena-mediante-traefik/","summary":"\u003cp\u003eHay ocasiones en que levantamos un servicio autoalojado que no tienen ningún método de autenticación con usuario y contraseña. Esto significa que este servicio estará abierto a todo el mundo y será un problema en el caso que no queramos abrir el servicio al público. Si se encuentran en esta situación y están usando el \u003ca href=\"/posts/instalar-y-configurar-traefik-v2-para-usarlo-como-proxy-inverso/\"\u003eproxy inverso traefik\u003c/a\u003e pueden usar un middleware de autenticación básico del modo que verán en este artículo. De este forma todo usuario que quiera usar el servicio tendrá que introducir un usuario y su correspondiente contraseña.\u003c/p\u003e","title":"Autenticación con usuario y contraseña mediante Traefik"},{"content":"En mi caso leo la totalidad de artículos a través de mi lector de feeds RSS y para ello lo mejor es usar un feed que contenga el contenido completo de los artículos. No obstante muchos de los feeds de blogs que acostumbro a leer solo tienen las 5 o 10 primeras líneas del artículo. Seguidamente dejan el link para que podamos visitar su página web y de esta forma proseguir con la lectura. Esto para mi esto es un inconveniente porqué la mayoría de webs que podemos visitar hoy en día:\nTienen una cantidad excesiva de anuncios que lo único que hacen es molestar. No tienen un diseño adecuado para la lectura. Generan distracciones y hacen que la lectura del contenidos sea más lenta y poco productiva. Para solucionar este problema les mostraré el servicio autoalojado Full-Text RSS que les permitirá construir feed RSS que contengan el contenido completo de los artículos de un blog. De este modo podremos leer la totalidad del contenido en nuestro lector de feeds RSS preferido.\n¿QUÉ CONSEGUIREMOS CON EL SERVICIO DE FULL TEXT RSS? Como acabo de comentar en la introducción del artículo en multitud de ocasiones únicamente podemos leer el siguiente contenido en el lector de feeds:\nGracias a Full-Text RSS conseguiremos generar un feed que contenga la totalidad del contenido del artículo. Por lo tanto en vez de leer el contenido anterior podremos leer el contenido completo:\nDe esta forma sera posible leer la totalidad de nuestros artículos desde nuestro lector de feeds y sin tener que visitar la página web de los creadores del contenido. Además Full Text RSS también nos permitirá realizar lo siguiente:\nConvertir a texto completo el feed de un blog y que su salida esté en un fichero con formato .json. El formato predeterminado es RSS pero también podemos usar el formato .json Extraer parámetros concretos de un feed. Por ejemplo si lo precisamos podemos extraer el título que el escritor del artículo ha definido para la plataforma Twitter, etc. LEER ARTÍCULOS ENTEROS DESDE NUESTRO LECTOR DE FEEDS RSS Los pasos a seguir para poder instalar Full-Text RSS y de este modo poder leer la totalidad de artículos que nos interesan sin tener que abandonar nuestro lector de feeds son los siguientes.\nInstalar Docker y Docker-compose Full-Text RSS es un servicio que autoalojaremos en nuestro servidor VPS o en nuestra Raspberry Pi. El método de instalación que usaremos será Docker. Para instalar Docker y Docker Compose seguiremos las siguientes instrucciones:\nhttps://geeklandlinux.github.io/posts/instalar-docker-y-docker-compose-en-linux/\nAbrir los puertos 80 y 443 Para poder acceder al servicio autoalojado tendremos que abrir los puertos 80 y 443 de nuestro servidor. Para ello procederemos del siguiente modo:\nSi usamos un sistema operativo Linux podemos usar el firewall ufw. Para instalarlo ejecuten el siguiente comando en la terminal:\nsudo apt install ufw Una vez instalado el servicio lo habilitan mediante el siguiente comando:\nsudo ufw enable Para iniciar el firewall ejecutaremos el siguiente comando en la terminal:\nsudo service ufw start Finalmente abriremos los puertos 80 y 443 del firewall ejecutando los siguientes comandos en la terminal:\nsudo ufw allow http sudo ufw allow https En el caso que estén detrás de un Router recuerden que también tienen que abrir los puertos 80 y 443 en el router. Además las peticiones entrantes a los puertos 80 y 443 se deberán redirigir a la IP del equipo en que instalaremos Full-Text RSS.\nInstalar el proxy inverso Traefik En mi caso estoy usando la versión 2 del proxy inverso Traefik. Para instalar y configurar la versión 2 del proxy inverso Traefik les recomiendo que sigan las instrucciones dle siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-y-configurar-traefik-v2-para-usarlo-como-proxy-inverso/\nUna vez finalizada la instalación y configuración del proxy inverso tendremos un dominio de direccionamiento DNS similar al siguiente:\ngeekland.duckdns.org Definir la URL para acceder a Full-Text RSS En el apartado anterior hemos definido que nuestro DNS dinámico será geekland.duckdns.org. Por lo tanto ahora podemos definir la dirección que usaremos para acceder al servicio Full-Text RSS. En mi caso he decidido que sea la siguiente:\nftrss.geekland.duckdns.org Una vez tomada esta decisión podemos saltar al siguiente apartado.\nInstalar Full Text RSS con Traefik y Docker para obtener un feed con el contenido completo y de esta forma poder leer los artículos en nuestro lector de feeds RSS El primer paso para la instalación de Full-Text RSS es clonar el repositorio de Github de la persona que ha puesto el servicio de FiveFilters a disposición del público. Para ello ejecutamos el siguiente comando en la terminal:\ngit clone https://github.com/heussd/fivefilters-full-text-rss-docker Acto seguido accedemos dentro del directorio que acabamos de descargar ejecutando el siguiente comando:\ncd fivefilters-full-text-rss-docker/ A continuación accederemos dentro del fichero docker-compose.yml ejecutando el siguiente comando en la terminal:\nnano docker-compose.yml Cuando se abra el fichero de texto nano modificaréis el contenido para que quede de la siguiente forma:\nversion: \u0026#39;3.7\u0026#39; services: fullfeedrss: build: . image: \u0026#34;heussd/fivefilters-full-text-rss:latest\u0026#34; environment: # Leave empty to disable admin section - FTR_ADMIN_PASSWORD= volumes: - \u0026#34;rss-cache:/var/www/html/cache\u0026#34; ports: - \u0026#34;8086:80\u0026#34; networks: - web labels: - traefik.http.routers.ftrss.rule=Host(`ftrss.geekland.duckdns.org`) - traefik.http.routers.ftrss.tls=true - traefik.http.routers.ftrss.tls.certresolver=lets-encrypt - traefik.docker.network=web - traefik.port=8086 - traefik.enable=true volumes: rss-cache: networks: web: external: true Nota: Tengan en cuenta que tendrán que reemplazar las partes azules del código del fichero docker-compose.yml en función del dominio que hayan elegido. En el caso que ya estéis usando el puerto 8086 podéis usar otro.\nNota: Este es el docker-compose más sencillo que pueden generar. En el no se establece ninguna contraseña de administración ni tampoco se establece ningún método de autenticación. Por lo tanto el servicio que levantaremos estará abierto a todo el mundo. Para cerrarlo podríamos usar un middleware de autenticación de Traefik, pero esto lo haremos a posteriori y en otro artículo.\nUna vez definido el contenido del fichero docker-compose.yml guardamos los cambios y cerramos el fichero. Finalmente levantaremos el servicio Full-Text RSS de fivefilters ejecutando el siguiente comando en la terminal:\ndocker-compose up -d EMPEZAR A USAR FULL TEXT RSS PARA OBTENER UN FEED CON EL CONTENIDO COMPLETO Una vez levantado el servicio ya podremos acceder a él. Para ello ingresaremos la URL del servicio en nuestro navegador y si todo funciona correctamente veremos lo siguiente:\nActo seguido en el campo Enter URL pondremos la URL que contiene el feed incompleto del blog que nos interesa. A continuación en el campo Max items definiremos el número de artículos máximo que quiero que tengo el feed. Por lo general 15 artículos debería ser más que suficiente. Una vez definidos estos 2 parámetros ya podemos presionar el botón Create Feed y el feed con el contenido completo se generará.\nA continuación verán el contenido del nuevo feed. La URL del nuevo feed, que contendrá la totalidad del contenido de los artículos, será la que figura en la barra de direcciones del navegador. Por lo tanto tendremos que seleccionar la URL de la barra de direcciones y copiarla.\nActo seguido deberán usar esta URL para suscribirse en su lector de feeds preferido. Una vez suscritos verán que pueden leer la totalidad de los artículos sin tener que salir de su lector de feeds.\nCOMO CERRAR EL SERVICIO QUE ACABAMOS DE AUTOALOJAR El servicio que acabamos de levantar estará abierto a todo el mundo que conozca la URL. Si queremos cerrar el servicio lo podemos realizar del modo que dejo en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/autenticacion-con-usuario-y-contrasena-mediante-traefik/\nFuentes https://github.com/heussd/fivefilters-full-text-rss-docker\n","permalink":"https://geeklandlinux.github.io/posts/construir-un-feed-con-el-contenido-completo-de-un-articulo/","summary":"\u003cp\u003eEn mi caso leo la totalidad de artículos a través de mi \u003ca href=\"/posts/instalar-tiny-tiny-rss-con-su-docker-oficial-y-el-proxy-inverso-traefik/\"\u003elector de feeds RSS\u003c/a\u003e y para ello lo mejor es usar un feed que contenga el contenido completo de los artículos. No obstante muchos de los feeds de blogs que acostumbro a leer solo tienen las 5 o 10 primeras líneas del artículo. Seguidamente dejan el link para que podamos visitar su página web y de esta forma proseguir con la lectura. Esto para mi esto es un inconveniente porqué la mayoría de webs que podemos visitar hoy en día:\u003c/p\u003e","title":"Construir un feed con el contenido completo de un artículo"},{"content":"Ya sea por curiosidad o porque por ejemplo necesitan crear un entorno de desarrollo, a continuación les mostraré el procedimiento para para instalar una máquina virtual con el sistema operativo Ubuntu 22.04 en cualquier ordenador Mac que use un procesador Apple Silicon. Hoy en día la mejor forma de instalar y usar Ubuntu en un ordenador Mac que use un procesador Apple Silicon es mediante la virtualización. Si siguen los pasos que se indican en el siguiente artículo verán que el rendimiento obtenido es sorprendentemente bueno y por ejemplo dispondrán de aceleración gráfica por Hardware.\n¿POR QUÉ RECOMIENDO LA VIRTUALIZACIÓN A LA INSTALACIÓN NATIVA EN EL EQUIPO? Los procesadores Apple Silicon han sido una revolución, pero tienen el inconveniente que el kernel de Linux aún no está preparado para sacar partido a este hardware. A día de hoy ya es posible instalar Ubuntu de forma nativa en un Mac con procesador Apple Silicon pero tendremos los siguientes inconvenientes:\nEl procedimiento no es sencillo. El rendimiento no será el esperado porque el Kernel de Linux aún no está optimizado para sacar el máximo rendimiento del hardware. Es posible que al finalizar la instalación hayan cosas que no funcionen como por ejemplo la aceleración gráfica por hardware, la Webcam, algunos de los puertos del equipo, etc. Por estos motivos y a estas alturas la virtualización es una buena opción.\nRECOMENDACIONES PREVIAS PARA INSTALAR UBUNTU EN UN ORDENADOR MAC Antes de iniciar la instalación les recomiendo lo siguiente:\nEl dispositivo de almacenamiento de nuestro Mac tiene que tener al menos 50GB libres. Para obtener un rendimiento casi nativo es preciso que su equipo esté usando un procesador Apple Silicon. Además la imagen ISO del sistema operativo Linux que descargarán tiene que ser ARM. DESCARGAR LA ISO DE UBUNTU 22.04 VERSION ARM64 Lo primero que tenemos que realizar es descargar la versión ARM64 de la ISO de ubuntu 22.04. Para ello accederemos a la siguiente página web:\nhttps://cdimage.ubuntu.com/jammy/daily-live/current/\nUna vez dentro clicaremos encima del enlace 64-bit ARM (ARMv8/AArch64) desktop image. Acto seguido empezará a descargarse la imagen ISO de Ubuntu 22.04.\nDESCARGAR E INSTALAR EL SOFTWARE DE VIRTUALIZACIÓN UTM El software que usaremos para virtualizar el sistema operativo Ubuntu 22.04 es UTM. Este software no es más que un hipervisor y emulador basado en QEMU. Mediante el uso de este software verán que una vez finalizada la instalación tendrán un rendimiento excelente.\nPara descargar el software les aconsejo acceder a la siguiente URL:\nhttps://mac.getutm.app/\nActo seguido tan solo tendrán que presionar encima del botón Download para iniciar la descarga. Una vez finalizada la descarga hacen doble click sobre la imagen ISO.\nCuando aparezca la siguiente ventana arrastran el icono de UTM dentro de la carpeta de aplicaciones para instalar UTM en su equipo.\nCONFIGURAR LA MÁQUINA VIRTUAL UTM PARA INSTALAR UBUNTU EN UN MAC Una vez finalizada la instalación tendremos que configurar la máquina virtual UTM. Para ello abriremos el programa UTM. Acto seguido seguiremos los siguientes pasos.\nCrear una nueva máquina virtual En la pantalla de bienvenida clicaremos encima del botón Crear una nueva máquina virtual.\nSeleccionar el tipo de virtualización a realizar Seguidamente tendremos que seleccionar el tipo de virtualización. En el caso que uséis un procesador Apple Silicon y hayáis descargado la imagen ISO ARM tendréis que seleccionar la opción Virtualizar. De este modo el rendimiento será muchísimo mejor y tendréis la sensación de estar usando Ubuntu en un equipo real.\nNota: En el caso que estuvieran usando un Mac con procesador Intel deberían usar la opción Emulate\nSeleccionar el sistema operativo que queremos virtualizar A continuación seleccionaremos el sistema operativo que queremos virtualizar. Por lo tanto en nuestro caso seleccionaremos la opción Linux.\nSeleccionar la imagen ISO de ubuntu 22.04 ARM El siguiente paso consistirá en seleccionar la imagen ISO de Ubuntu 22.04 que descargamos en apartados anteriores. Para ello hay que clicar encima del botón Browse.... Acto seguido se abrirá el gestor de archivos y tan solo tendrán que navegar en la ubicación donde almacenaron la imagen ISO. A continuación hacen doble clic encima de la imagen ISO de Ubuntu. Finalmente tienen que presionar encima del botón Continue.\nSeleccionar la memoria RAM, el número de procesadores y la aceleración por hardware Seguidamente seleccionaremos los siguientes parámetros:\nMemoria RAM que queremos asignar a la máquina virtual: En mi caso asigno 4096MB o más Número de procesadores que queremos asignar a la máquina virtual: 4 o más A continuación tildaremos la opción Enable hardware OpenGL acceleration (experimental) y para finalizar presionaremos en el botón Continue\nDefinir el espacio de almacenamiento que tendrá nuestra máquina virtual con Ubuntu Ahora tenemos que seleccionar el espacio de almacenamiento que queremos asignar a la máquina virtual. Recomendé tener 50GB libres antes de iniciar el proceso. De este modo ahora podré asignar 40GB al nuevo sistema operativo.\nDefinir un directorio compartido entre el equipo que actúa como anfitrión y el que actúa como invitado A continuación definiremos un directorio que sea común entre el sistema operativo MacOS y el sistema operativo virtualizado Ubuntu. Para ello presionaremos el botón Browse. Cuando se abra el gestor de archivos tendremos que seleccionar el directorio que queremos compartir que en mi caso será la carpeta Downloads. Acto seguido presionaremos encima del botón Continue\nDe esta forma cuando estemos usando Ubuntu podremos acceder al contenido almacenado en el directorio Downloads. Para ello podremos usar el navegador web.\nDar un nombre a la máquina virtual y confirmar las características El siguiente paso consistirá en dar nombre a la máquina virtual. En mi caso el nombre seleccionado es Ubuntu 22.04 Jammy Jelly Fish. Aparte también podrán ver la configuración que han aplicado a la máquina virtual. En el caso de estar conformes tan solo tendréis que presionar encima del botón Save\nActivar el modo retina en la configuración de la máquina virtual Ahora clicaremos encima del icono del menú de configuración de UTM.\nActo seguido clicaremos en la opción Display y a continuación tildaremos la opción Retina Mode. De este modo el renderizado de imágenes y de fuentes será mucho mejor. Finalmente para terminar el proceso de configuración de la máquina virtual presionaremos el botón Save\nUna vez finalizado el proceso de configuración de la máquina virtual ya podemos instalar Ubuntu.\nINSTALAR UBUNTU EN LA MÁQUINA VIRTUAL UTM Una vez finalizada la configuración de la máquina virtual ya podemos iniciar la instalación del sistema operativo que en nuestro caso será Ubuntu. Para ello seleccionamos la máquina virtual que acabamos de crear y clicaremos encima del botón grande de Play.\nActo seguido se iniciará la máquina virtual. Una vez se inicie les aparecerá el grub y tendrán que seleccionar la opción Try or Install Ubuntu\nCuando aparezca la pantalla para loguearse introducen el usuario Ubuntu y presionan la tecla Enter.\nActo seguido les aparecerá el escritorio de Ubuntu. Una vez les aparezca hacen doble click encima del icono de Install Ubuntu 22.04.1 LTS\nSeleccionar el idioma y la distribución de teclado A continuación se iniciará la instalación de Ubuntu en nuestra máquina virtual. Lo primero que tendremos que realizar es definir el idioma. En mi caso he seleccionado English y he presionado en el botón Continue\nActo seguido introduciremos la distribución de teclado. Como estoy usando un teclado Inglés de Estados Unidos seleccionaré las opciones English(US) y presionaré el botón Continue\nDefinir el tipo de instalación y decidir si queremos instalar las últimas actualizaciones de software y drivers propietarios durante la instalación En mi caso quiero realizar una instalación normal que disponga de la totalidad de actualizaciones y considerando los drivers propietarios para obtener el mejor rendimiento posible. Por lo tanto selecciono las siguientes opciones y clico encima del botón Continue\nConfigurar las particiones para la instalar Ubuntu A la hora de realizar las particiones no me he complicado la vida. Simplemente he seleccionado la opción Borrar todo el disco e instalar Ubuntu y he clicado encima del botón Install Now. De este modo Ubuntu realizará las particiones de forma completamente automática.\nDefinir el nombre de usuario, el nombre del equipo y la contraseña del usuario El último paso consistirá en definir los siguientes parámetros:\nNombre de usuario: En mi caso es geekland Nombre del equipo: En mi caso será UbuntuM1 Contraseña: He usado 1234, pero vosotros debéis usar una que sea robusta. Una vez definidos los parámetros que acabo de citar tan solo tendrán que clicar sobre el botón Continue\nActo seguido tendremos que esperar unos minutos para que el proceso de instalación finalice. Una vez terminada la instalación tendrán que apagar la máquina virtual clicando encima la opción de apagar Power Off / Log Out.\nFinalmente tan solo hay que desmontar la imagen ISO de la máquina virtual. Para ello clicaremos en el icono de Drive image options. Cuando se despliegue el menú seleccionaremos la imagen ISO que hemos usado para la instalación y seguidamente cuando aparezca el submenu clicaremos encima de la opción Eject.\nINICIAR Y COMPROBAR QUE UBUNTU 22.04 FUNCIONA CORRECTAMENTE EN UN MAC CON PROCESADOR APPLE SILICON Una vez finalizado todo el proceso ya podemos iniciar la máquina virtual. Para ello clicaremos encima del botón de Play\nEsperamos unos momentos y veremos que efectivamente se iniciará la máquina virtual. En el momento de introducir el usuario y contraseña se tienen que dirigir a la parte inferior derecha y clicar sobre la rueda de configuración. Acto seguido se desplegará el menú y deberán clicar encima de la opción Ubuntu en Xorg\nActo seguido introducen la contraseña de usuario y presionan la tecla Enter.\nFinalmente estarán logueados y podrán usar Ubuntu sin ningún tipo de problema. Además verán que el desempeño será mucho más fluido de lo uno podría esperar. De hecho tendrán la sensación que están usando Ubuntu en una máquina real.\nConfiguración adicional de Ubuntu para poder compartir ficheros en MacOS y la máquina virtual de Ubuntu En la configuración de la máquina virtual definimos que la carpeta Downloads seria compartida entre MacOS y la máquina virtual de Ubuntu. Para que la compartición funcione deberán instalar los paquetes spice-vdagent y spice-webdavd. Para ello abriremos una terminal de Linux y ejecutaremos el siguiente comando para actualizar los repositorios de Ubuntu:\nsudo apt update Acto seguido instalaremos spice-vdagent y spice-webdavd ejecutando el siguiente comando en la terminal:\nsudo apt install spice-vdagent spice-webdavd De esta forma después de reiniciar el equipo podrán tener una carpeta compartida entre la máquina virtual y el sistema operativo MacOS. Además entre otras cosas podrán copiar y pegar contenido de MacOS a Ubuntu y viceversa.\nPara compartir el contenido entre ambos sistemas operativos mediante la carpeta compartida deberán abrir el navegador web, ir a la barra de direcciones, introducir el texto localhost:9843 y presionar la tecla enter. Acto seguido podrán ver y obtener el contenido de la carpeta compartida.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-ubuntu-22-04-en-un-mac-con-procesador-apple-silicon/","summary":"\u003cp\u003eYa sea por curiosidad o porque por ejemplo necesitan crear un entorno de desarrollo, a continuación les mostraré el procedimiento para para instalar una \u003ca href=\"/posts/que-es-una-maquina-virtual-usos-y-ventajas-que-nos-proporiciona/\"\u003emáquina virtual\u003c/a\u003e con el sistema operativo Ubuntu 22.04 en cualquier ordenador Mac que use un procesador Apple Silicon. Hoy en día la mejor forma de instalar y \u003ca href=\"https://iboysoft.com/howto/how-to-use-linux-on-mac.html?utm_source=geekland\u0026amp;utm_medium=guest-post\u0026amp;utm_campaign=linux-on-mac\"\u003eusar Ubuntu en un ordenador Mac\u003c/a\u003e que use un procesador Apple Silicon es mediante la virtualización. Si siguen los pasos que se indican en el siguiente artículo verán que el rendimiento obtenido es sorprendentemente bueno y por ejemplo dispondrán de aceleración gráfica por Hardware.\u003c/p\u003e","title":"Instalar Ubuntu 22.04 en un Mac con procesador Apple Silicon"},{"content":"En mi caso siempre que puedo utilizo servicios autoalojados en mi Raspberry Pi o en mi servidor VPS. Algunos de los servicios que utilizo actualmente son Tiny Tiny RRS, Shaarli, Whoogle, AudioBookShelf, Trilium, FileBrowser, etc. Lo hago por temas de privacidad, porque funcionan igual de bien que los servicios de pago o servicios que se dedican a recopilar nuestros datos, y porque en muchas ocasiones los puedo adaptar mejor a mis necesidades. No obstante a la hora de autoalojar un servicio es sumamente importante securizar nuestro servidor VPS o nuestra Raspberry Pi para evitar recibir ataques de hackers o bots. Por esto motivo a continuación les dejo una serie de recomendaciones para mejorar la seguridad de su servidor VPS y/o Raspberry Pi y de esta forma evitar ataques de hackers y de bots.\nUTILIZAR CERTIFICADOS SSL PARA LOS SERVICIOS AUTOALOJADOS PARA LA SEGURIDAD DE SU SERVIDOR Hoy en día es indispensable que la totalidad de servicios abiertos a Internet utilicen un certificado SSL. Los motivos son los siguientes:\nDan la seguridad que el servicio web al que nos conectamos no es fraudulento. De esta forma evitamos que un atacante dirija a los usuarios de nuestro servicio a una web clonada maliciosa que seguramente intentará robar las credenciales de los usuarios. El certificado SSL hará que la totalidad de tráfico entre el usuario y el servidor que aloja el servicio autoalojado esté cifrado. Por lo tanto, si un atacante intercepta el tráfico entre el cliente y el servidor no podrá ver nada ni obtener las credenciales de acceso al servicio porque el contenido estará cifrado. Además al existir una capa de cifrado estaremos protegiendo la integridad de los datos entre el servidor y el cliente. En el caso que uséis multitud de servicios autoloajados, se recomienda encarecidamente comprar un certificado SSL, como Comodo, RapidSSL o DigiCert.\nNota: Un certificado SSL Wildcard nos permitirá cifrar el tráfico de la totalidad de nuestros servicios mediante un solo certificado. Por lo tanto cuantos más servicios uséis más recomendable y económico será usar un certificado SSL Wildcard.\nLes recomiendo que cliquen en el siguiente enlace para obtener más información sobre el funcionamiento de los certificados SSL.\nNO USAR LOS USUARIOS Y LAS CONTRASEÑAS POR DEFECTO PARA MEJORAR LA SEGURIDAD DE UN SERVIDOR LINUX Muchos equipos, VPS o servicios web que instalamos acostumbran a crear usuarios y/o contraseñas por defecto. Por ejemplo hasta hace poco la totalidad de usuarios que instalaban Raspberry OS tenían el usuario pi y la contraseña raspberry. Esto sin duda era un riesgo de seguridad muy importante y que hay que evitar si o si. Por lo tanto les recomiendo encarecidamente que sigan las siguientes recomendaciones para mejorar la seguridad de su servidor.\nGenerar un nuevo usuario para administrar los servicios en el servidor En el momento de instalar el sistema operativo o en el momento de acceder al VPS generen un nuevo usuario y una nueva contraseña. Para por ejemplo generar nuevo usuario llamado geekland con los privilegios necesarios para instalar, configurar y gestionar los servicios lo haremos del siguiente modo.\nCrearemos el usuario geekland ejecutando el siguiente comando en la terminal:\nsudo adduser geekland Nota: Justo después de ejecutar el comando tendréis que definir la contraseña para este usuario. Por favor elijan una contraseña que sea segura.\nFinalmente añadiremos el usuario geekland a los grupos adm y sudo. De este modo el usuario geekland tendrá los permisos necesarios para gestionar el servidor que autoaloja los servicios. Para conseguir lo que acabo de citar ejecutaremos los siguientes comandos:\nsudo gpasswd -a geekland adm sudo gpasswd -a geekland sudo Nota: Si queremos que el usuario geekland tenga los mismos permisos que uno de los usuarios por defecto, como por ejemplo podría ser pi podríamos ejecutar el siguiente comando en la terminal:\ngroups | sed 's/pi //g' | sed 's/ /,/g' | xargs -I{} sudo usermod -a -G {} geekland\nUna vez realizado los pasos que he citado os recomiendo iniciar sesión con el nuevo usuario que acabáis de crear y comprobar que todo funciona de forma adecuada.\nBorrar los usuarios por defecto del servidor para mejorar la seguridad del servidor Una vez hemos comprobado que el nuevo usuario funciona de forma correcta llega la hora de borrar los usuarios por defecto del sistema operativo. En el caso que nuestro equipo tenga un usuario por defecto llamado pi y estemos logueados con el usuario geekland haremos lo siguiente:\nSi lo creen oportuno copiaremos el contenido de la partición /home del usuario pi al usuario geekland. Para ello ejecutaremos el siguiente comando:\nsudo cp -R /home/pi/. /home/$USER Acto seguido cambiaremos el propietario de los archivos que acabamos de copiar. Para que el propietario de los ficheros que acabamos de copiar sea el usuario geekland ejecutaremos el siguiente comando en la terminal:\nsudo chown -R $USER: /home/$USER Finalmente eliminaremos todo rastro del usuario pi ejecutando el siguiente comando en la terminal:\nsudo deluser --remove-home pi Generar nuevos usuarios y contraseñas para los servicios web que autoalojamos Prácticamente la totalidad de servicios web que autoalojaremos ofrecerán un panel de administración o fichero de configuración para gestionar los usuarios y las credenciales de los usuarios. Accedan a él y realicen las siguientes acciones:\nCrear un nuevo usuario con los permisos que crean necesarios. Dar una contraseña robusta al nuevo usuario que acaban de crear. Borrar la totalidad de usuarios por defecto que ofrezca el servicio. También es altamente recomendable borrar los usuarios que nunca más volverán a usar el servicio. SECURIZAR EL ACCESO VÍA SSH PARA MEJORAR LA SEGURIDAD DE UN SERVIDOR LINUX En prácticamente la totalidad de ocasiones accederemos a nuestra Raspberry Pi o a nuestro servidor VPS vía SSH. Por lo tanto es sumamente importante securizar el acceso vía SSH. Una guía rápida y básica para realizar lo que estoy proponiendo es la siguiente:\nAccedemos al fichero de configuración de ssh ejecutando el siguiente comando en la terminal:\nsudo nano /etc/ssh/ssh_config Una vez se abra el editor de textos nano realizaremos las siguientes modificaciones.\nCambiar el puerto por defecto de ssh El puerto por defecto de ssh es el 22. Es recomendable cambiarlo porque habrán multitud de bots intentando acceder a su equipo usando el puerto 22. Para realizar la modificación buscaremos la siguiente línea en el fichero de configuración:\n# Port 22 Acto seguido si queremos que el nuevo puerto de acceso a ssh sea el 2324 modificaremos la línea para que quede del siguiente modo:\nPort 2324 Deshabilitar passwords vacíos para acceder ssh Es importante forzar a que los usuarios tengan que definir una contraseña para acceder al servidor vía ssh. El hecho de poder loguearse y acceder al servidor web sin introducir ningúna contraseña es un riesgo de seguridad importante. Para forzar que los usuarios tengan que definir y usar una contraseña añadiremos la siguiente línea al fichero de configuración:\nPermitEmptyPasswords no Deshabilitar el acceso root También es importante evitar que nadie pueda conectarse vía ssh al servidor usando el usuario root. Para ello en el fichero de configuración de ssh añadiremos la siguiente línea:\nPermitRootLogin no Inhabilitar el acceso mediante contraseña La autenticación mediante contraseña es segura. Pero aún es más segura la autenticación mediante un sistema de claves público-privada. Por lo tanto en el caso que quieran loguearse mediante claves deberán seguir los siguientes pasos.\nInicialmente deshabilitaremos la autenticación mediante contraseña. Para ello añadiremos la siguiente línea al fichero de configuración de ssh:\nPasswordAuthentication no Una vez realizadas la totalidad de modificaciones al fichero de configuración guardan los cambios y cierran el fichero. Acto seguido sigan las siguientes instrucciones para poderse loguear mediante claves asimétricas.\nhttps://geeklandlinux.github.io/posts/conectarse-servidor-ssh-sin-contrasena/\nComprobar el funcionamiento de la nueva configuración Una vez finalizado el proceso de configuración asegúrense de guardar los cambios y de cerrar el fichero de configuración de ssh. Acto seguido deberán reiniciar el servicio ssh ejecutando el siguiente comando en la terminal:\nservice ssh restart A partir de estos momentos ya pueden testear que la configuración aplicada funciona de forma correcta. Recuerden que hemos definido que el nuevo puerto para el servidor ssh será el 2324, por lo tanto para acceder al servidor tendrán que ejecutar un comando del siguiente tipo:\nssh -p 2324 usuario@ip_servidor Nota: Deberéis reemplazar usuario e ip_servidor por los valores de vuestro servidor.\nNota: Existen otras acciones para securizar el acceso vía ssh. No obstante los detallaré en un futuro artículo.\nCONFIGURAR EL FIREWALL DEL EQUIPO PARA EVITAR ACCESOS INDESEADOS Con el fin de evitar accesos indeseados es altamente recomendable activar el firewall del equipo que aloja los servicios. Hay muchas formas de configurar el firewall de un equipo Linux, pero en principio la solución más fácil para los principiantes sería usar ufw.\nPara instalar ufw en el equipo tendrán que ejecutar el siguiente comando en la terminal:\nsudo apt install ufw Una vez instalado tendrán que configurar las reglas del firewall. En la mayoría de casos el siguiente set de comandos debería ser suficiente para realizar una configuración básica y que sea útil para un usuario que simplemente quiere autoalojar pocos servicios para uso personal.\nDefinir la política por defecto del Firewall o cortafuegos para mejorar la seguridad de nuestro servidor En mi caso lo primero que realizo es definir las siguientes reglas:\nQue todo el tráfico saliente esté permitido. Que la totalidad del tráfico entrante esté bloqueado. Para aplicar las 2 reglas que acabamos de citar tan solo hay que ejecutar los siguientes comandos en la terminal:\nsudo ufw default allow outgoing sudo ufw default deny incoming Una vez aplicada la política por defecto deberemos ir permitiendo las entradas únicamente a los servicios que nos interesan. En mi caso en este artículo solo mostraré como:\nHabilitar la entrada a los usuarios que quieran acceder al servidor vía ssh. Habilitar la entrada a los usuarios que quieran acceder a los servicios que autoalojaremos en nuestro equipo. Permitir el tráfico entrante y saliente dentro de nuestra red local. Habilitar ssh en el firewall En mi caso el servidor ssh está escuchando en el puerto 2324. Por lo tanto para permitir el acceso a la totalidad de usuarios a través de ssh tendré que ejecutar el siguiente comando:\nsudo ufw allow 2324/tcp La regla que acabo de definir será válida para la gran mayoría de usuarios. Pero para los más paranoicos en términos de seguridad podrían hacer que únicamente una determinada IP tuviera acceso al servidor. Por ejemplo en el caso que el servidor tuviera la IP 132.42.45.25 y solo quisiera que la IP 223.343.232.40 se conectará al servidor vía ssh debería ejecutar el siguiente comando:\nsudo ufw allow proto tcp from 223.343.232.40 to 132.42.45.25 port 2234 Habilitar el acceso web en el firewall Acto seguido tendríamos que definir las reglas para dar acceso al servidor web que proporcionará el servicio a los clientes. Para ello ejecutaremos los siguientes comandos en la terminal:\nsudo ufw allow 80/tcp sudo ufw allow 443/tcp Habilitar el tráfico dentro de la red local También puede resultar útil habilitar la totalidad de tráfico dentro de la red local. En mi caso la red local es la 10.0.0.0/24. Por lo tanto para habilitar la totalidad de tráfico dentro de la red local ejecutaré el siguiente comando:\nsudo ufw allow from 10.0.0.0/24 Acto seguido tendrán que ir dando definiendo las reglas del firewall en función de sus necesidades. Si por ejemplo uno de los servicios que tienen que alojar usa el puerto 1194 deberán abrir el puerto 1194.\nActivar el Firewall ufw Una vez definidas la totalidad de reglas ejecutaremos los siguientes comandos para asegurar que el firewall esté activo y también para asegurar que se levanta cada vez que reiniciemos el equipo:\nsudo ufw start sudo ufw enable USAR FAIL2BAN PARA EVITAR ATAQUES DE FUERZA BRUTA Fail2ban tiene la función de bloquear a la totalidad de usuarios que introduzcan repetidamente de forma errónea las credenciales para acceder a un servicio web como por ejemplo podría ser un lector de feeds. Para instalar y configurar fail2ban les recomiendo los siguientes enlaces:\nhttps://geeklandlinux.github.io/posts/instalar-configurar-y-usar-fail2ban-para-evitar-ataques-de-fuerza-bruta/\nhttps://geeklandlinux.github.io/posts/como-consultar-logs-de-fail2ban/\nhttps://geeklandlinux.github.io/posts/usar-fail2ban-con-traefik-para-proteger-servicios-que-corren-en-docker/\nSi instalan y configuran de forma adecuada fail2ban cualquier usuario que por ejemplo introduzca x veces mal las credenciales de acceso a un servicio será bloqueado vía IP durante x segundos. De esta forma podremos mitigar ataques de fuerza bruta a nuestros servicios web.\nELIMINAR O DESACTIVAR APLICACIONES, SERVICIOS Y PROTOCOLOS DE RED QUE NO SE UTILICEN Es importante conocer la totalidad de servicios y protocolos de red que tenemos activados así como los puertos que están usando. Si algunos de los servicios o protocolos de red no se usan les recomiendo encarecidamente que los eliminen. Para analizar los servicios y puertos que están en ejecución pueden ejecutar el siguiente comando:\nsudo netstat -plunt Nota: Un comando alternativo al recomendado podría ser sudo ss -atpu\nActo seguido obtendrán un resultado similar al siguiente:\nActive Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 1406970/docker-prox tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 942/sshd: /usr/sbin tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1407042/docker-prox tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/init tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 1406946/docker-prox tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 824/systemd-resolve tcp 0 0 0.0.0.0:13378 0.0.0.0:* LISTEN 1407198/docker-prox tcp6 0 0 :::443 :::* LISTEN 1406976/docker-prox ... Seguidamente deberán analizar cada una de las líneas y como mínimo deberían preguntarse lo siguiente:\n¿Necesitamos el servicio que se está ejecutando? ¿El servicio se está ejecutando en las interfaces de red que nosotros queremos? ¿Tenemos securizado cada uno de los servicios expuestos? En base a cada una de las respuestas deberán tomar las decisiones oportunas. Por ejemplo:\nSi el servicio no lo usan es mejor eliminarlo. Si un determinado servicio está abierto a todo el mundo 0.0.0.0:* y no debe ser así corrijanlo. Intentar aplicar medidas para mejorar la seguridad del servicio. Para finalizar solo decir que en el caso que quieran eliminar alguno de los servicios, como por ejemplo ngnix, tan solo tendrían que ejecutar el siguiente comando en la terminal:\nsudo apt purge nginx INSTALAR Y USAR SELINUX También es altamente recomendable instalar y configurar SElinux (Security Enhanced Linux). SElinux añadirá una política de control de acceso MAC (Mandatory Access Control) mucho más avanzada que por ejemplo AppArmor. De este modo SELinux definirá las políticas para por ejemplo gestionar el acceso de un proceso a un fichero de la siguiente forma:\nTenemos un fichero que será accedido por un proceso. Tanto el fichero como el proceso tendrán una serie de atributos. Existirá una política que en función de los atributos del proceso y del fichero definirá si el proceso puede acceder al fichero o no. Este sistema de control de acceso es mucho más complejo que el DAC en que el propietario del fichero es el encargado de definir los usuarios que tienen derecho a consultar o modificar un fichero. Nota: Recuerden que antes de instalar SElinux deberán desinstalar AppArmor.\nLa comprensión y el proceso de instalación y configuración de SElinux son complejos. Por lo tanto dejaré este tema para un futuro artículo. O en el caso que no puedan esperar pueden consultar el siguiente enlace.\nUSAR CONTRASEÑAS COMPLEJAS Y QUE NO SEAN LAS PREDETERMINADAS PARA MEJORAR LA SEGURIDAD DE NUESTRO SERVIDOR Todo el mundo debería tener muy presente que una gestión adecuada de las contraseñas es muy importante. En el siguiente enlace podrán encontrar una serie de consejos para crear y gestionar las contraseñas de acceso:\nhttps://geeklandlinux.github.io/posts/buenas-practicas-gestion-uso-contrasenas/\nRESTRINGIR EL ACCESO POR ZONA GEOGRÁFICA O POR IP Un modo de incrementar la seguridad de un servicio web es únicamente dar acceso a quien necesita acceder al servicio. Si tenemos los conocimientos suficientes podremos realizar las siguientes acciones:\nHacer que un servicio web únicamente pueda ser accedido por una determinada IP, o por un rango de IP. Hacer que únicamente los habitantes de un determinado país tengan acceso a nuestro servicio web autoalojado. Hacer que el servicio únicamente sea accesible para los usuarios que puedan conectarse a una determinada red VPN. Si usan Docker y Traefik pueden seguir los consejos detallados en el siguiente enlace para restringir el acceso por rangos de IP o por país.\nhttps://geeklandlinux.github.io/posts/limitar-acceso-servicio-o-web-por-ip-con-traefik/\nSi pretenden que el acceso al servicio sea mediante una red VPN tienen multitud de opciones disponibles. Por ejemplo podrían usar Tailscale:\nhttps://geeklandlinux.github.io/posts/tailscale-conecta-equipos-a-una-red-privada-virtual-vpn-facilmente/\nACTUALIZAR PERIÓDICAMENTE LOS SERVICIOS QUE USAMOS ASÍ COMO EL SISTEMA OPERATIVO Actualizar el equipo/servidor y el servicio web es fundamental para incrementar la seguridad ya que muchas de las actualizaciones están orientadas a corregir vulnerabilidades. Para facilitar las actualizaciones de los equipos y de los servicios web pueden seguir las siguientes recomendaciones.\nActualizar el equipo que aloja el servicio web Para actualizar el equipo que aloja el servicio web lo pueden hacer manualmente, pero no es lo más recomendable porque requiere de tiempo y de constancia. Lo ideal en este caso será automatizar el proceso de actualización siguiendo los consejos que dejo en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/actualizaciones-automaticas-en-nuestro-equipo-con-unattended-upgrades/\nActualizar el servicio web para mejorar la seguridad de nuestro servidor Existen servicios web que ya traen las herramientas necesarias para actualizar el software de forma sencilla con tan solo presionar un botón. En caso que esta opción no esté disponible tendremos que realizar un proceso de actualización manual que en diversos casos acostumbra a ser complejo.\nUna opción a tener en cuenta para actualizar de forma sencilla los servicios es usar Docker. Si usan contenedores Docker verán que pasar de una versión de software a otra es cuestión de segundos e incluso hay herramientas como Watchtower que permiten actualizar los contenedores de forma automática.\nUTILIZAR LOS SERVICIOS DENTRO DE CONTENEDORES O DENTRO ENTORNOS AISLADOS PARA MEJORAR LA SEGURIDAD DE NUESTRO SERVIDOR Si instalamos los servicios mediante contenedores, como por ejemplo Docker, conseguiremos incrementar la seguridad de los servicios siempre y cuando los contenedores se hayan construido de forma adecuada. Esto es así porque Docker permitirá que los servicios puedan correr en ambientes de ejecución aislados. Por lo tanto en caso de existir un problema de seguridad habrá más posibilidades que únicamente afecten a uno de los servicios y no a todos.\nAdemás de Docker existen otros sistemas para ejecutar los servicios en un entorno aislado. Por ejemplo aislamiento mediante virtualización o con chroot.\nOTROS MÉTODOS PARA MEJORAR LA SEGURIDAD DE NUESTRO SERVIDOR Finalmente solo comentar que existen otros mecanismos de defensa que aplicar. Algunos de ellos pueden resultar más complejos de aplicar que otros, pero si buscan información en la red seguro que encontrarán las instrucciones oportunas para su implantación. Algunos de estos mecanismos son:\nImplementar medidas de detección de intrusos (ODS) y aún mejor, medidas de prevención de intrusos (IDS). Estás medidas se pueden aplicar tanto vía software como vía hardware. La arquitectura de la red en que autoalojan sus servicios es importante. Dependiendo de su diseño su nivel de seguridad será mayor o menor. Implementar HoneyPot como mecanismo de defensa frente a los posibles atacantes. Aplicar un sistema de doble factor de autenticación en el caso que sea posible. De este modo obtendrán una capa adicional de protección en el proceso de autenticación. En el caso que vosotros apliquéis mecanismos de seguridad distintos a los mencionados en el artículo les ruego que los dejen en los comentarios de este artículo.\n","permalink":"https://geeklandlinux.github.io/posts/12-formas-de-mejorar-la-seguridad-de-un-servidor-linux/","summary":"\u003cp\u003eEn mi caso siempre que puedo utilizo servicios autoalojados en mi Raspberry Pi o en mi servidor VPS. Algunos de los servicios que utilizo actualmente son Tiny Tiny RRS, Shaarli, Whoogle, AudioBookShelf, Trilium, FileBrowser, etc. Lo hago por temas de privacidad, porque funcionan igual de bien que los servicios de pago o servicios que se dedican a recopilar nuestros datos, y porque en muchas ocasiones los puedo adaptar mejor a mis necesidades. No obstante a la hora de autoalojar un servicio es sumamente importante securizar nuestro servidor VPS o nuestra Raspberry Pi para evitar recibir ataques de hackers o bots. Por esto motivo a continuación les dejo una serie de recomendaciones para mejorar la seguridad de su servidor VPS y/o Raspberry Pi y de esta forma evitar ataques de hackers y de bots.\u003c/p\u003e","title":"12 formas de mejorar la seguridad de un servidor linux"},{"content":"En mi caso no me gusta leer newsletter a través del email. Mi opción preferida para consumir la totalidad de contenido es a través de un lector de feeds RSS que en mi caso es Tiny Tiny RSS. En mi lector de feeds centralizo la totalidad de contenido que me interesa leer incluyendo también las newsletter y me resulta sumamente práctico. Desafortunadamente hay muchas newsletter que no ofrecen un feed RSS a los lectores y por lo tanto la única forma que tenemos para leer su contenido es a través del email. Pero afortunadamente gracias al servicio Kill the newsletter podremos convertir las newsletter que recibimos por email a un feed RSS al que podremos suscribirnos.\n¿QUÉ UTILIDAD TIENE EL SERVICIO KILL THE NEWSLETTER? La función de Kill the Newsletter es convertir las newsletter que recibimos por email en un feed RSS. Una vez tengamos la URL del feed podremos abrir nuestro lector de feed y suscribirnos a cualquier newsletter a través de nuestro lector de feeds. De esta forma tendremos nuestra información perfectamente clasificada y evitaremos mezclar información personal o de trabajo con nuestro ocio en el momento que abramos el email.\nOtra utilidad interesante es que nos podremos suscribir a una newsletter sin tener que dar nuestro email. De este modo evitaremos dar nuestro email a un tercero y tendremos menos posibilidades de recibir correo no deseado.\nNota: Algunos de los lectores de feed más conocidos son Feedly, Feed Reader, InoReader, FreshRSS, Tiny Tiny RSS, etc.\nCOMO LEER UNA NEWSLETTER EN UN LECTOR DE FEEDS RRS USANDO KILL THE NEWSLETTER Seguidamente veremos como podemos usar el servicio Kill The Newsletter mediante un simple ejemplo. El caso práctico que mostraré a continuación será como suscribirse a la Newsletter de Mixxio.\nGenerar un email para suscribirse a la newsletter y un Feed RSS para leer la newsletter en nuestro lector de feeds Para generar un email y un feed RSS deberemos acceder a la página web https://kill-the-newsletter.com/. A continuación introduciremos el nombre de la newsletter que queremos usar, que en mi caso es Mixxio, y presionaremos encima del botón Create Inbox.\nActo seguido obtendrán el email para suscribirse a la newsletter y el feed RSS para poder leer el contenido de la newsletter en el lector del feeds.\nComo pueden ver en la captura de pantalla:\nEl email para suscribirme a la newsletter es: u3p9c0fne050@kill-the-newsletter.com La URL del feed es la siguiente: https://kill-the-newsletter.com/feeds/u3p9c0fne050.xml Introducir la newsletter en nuestro lector de feeds mediante la URL que acabamos de generar A continuación añadiremos el feed RSS que acabamos de generar a nuestro lector de feeds preferido. En mi caso el lector de feeds es Tiny Tiny RSS.\nSuscribirnos a la newsletter mediante el email que hemos generado Seguidamente nos dirigiremos a la página web de la newsletter a la que nos queremos suscribir y usaremos el email que generamos anteriormente para suscribirnos a la Newsletter.\nConfirmar la suscripción a la newsletter Acto seguido es muy posible que tengamos que confirmar la suscripción a la newsletter. Para confirmar la suscripción tendremos que ir a nuestro lector de feeds y visualizar el contenido del feed al que nos hemos suscrito. Acto seguido veremos una entrada en la que en su interior podremos encontrar el link para confirmar la suscripción a la newsletter.\nNota: Tengan en cuenta que los lectores de feed se actualizan cada cierto tiempo. Por lo tanto no encontrarán el enlace de confirmación de forma inmediata.\nLeer el contenido de una newsletter en nuestro lector de feeds A partir de este momento podremos visualizar el contenido de la newsletter sin ningún tipo de problema cuando consultemos nuestro lector de feeds. Lo que acabo de mencionar lo podéis ver en la siguiente captura de pantalla.\nAdemás la totalidad de contenido que os interese leer lo tendréis centralizado en vuestro lector de feeds. Por lo tanto no tendréis que usar más de una herramienta para leer las noticias que os interesen.\nFuentes e información adicional https://www.youtube.com/watch?v=FMTb3Z-QiPY\n","permalink":"https://geeklandlinux.github.io/posts/leer-una-newsletter-en-nuestro-lector-de-feeds-rss/","summary":"\u003cp\u003eEn mi caso no me gusta leer newsletter a través del email. Mi opción preferida para consumir la totalidad de contenido es a través de un lector de feeds RSS que en mi caso es \u003ca href=\"/posts/instalar-tiny-tiny-rss-con-su-docker-oficial-y-el-proxy-inverso-traefik/\"\u003eTiny Tiny RSS\u003c/a\u003e. En mi lector de feeds centralizo la totalidad de contenido que me interesa leer incluyendo también las newsletter y me resulta sumamente práctico. Desafortunadamente hay muchas newsletter que no ofrecen un feed RSS a los lectores y por lo tanto la única forma que tenemos para leer su contenido es a través del email. Pero afortunadamente gracias al servicio Kill the newsletter podremos convertir las newsletter que recibimos por email a un feed RSS al que podremos suscribirnos.\u003c/p\u003e","title":"Leer una newsletter en nuestro lector de feeds RSS"},{"content":"Si usan una tarjeta gráfica Intel y quieren saber si una aplicación que reproduce vídeo está usando la aceleración gráfica por hardware lo pueden hacer con el monitor de recursos intel-gpu-tools. La forma de hacerlo es la siguiente.\nINSTALAR LAS HERRAMIENTAS PARA COMPROBAR SI TENEMOS ACELERACIÓN GRÁFICA POR HARDWARE Instalaremos las herramientas vainfo y intel-gpu-tools. La función de cada una de las herramientas es la siguiente:\nLa herramienta vainfo muestra información información sobre los códecs soportados por nuestro hardware. La herramienta intel-gpu-tools es un monitor de recursos para ver el funcionamiento de nuestra tarjeta gráfica Intel. Para la instalación de ambas herramientas ejecutaremos el siguiente comando en la terminal:\n❯:~$ sudo apt install vainfo intel-gpu-tools COMPROBAR LOS CÓDECS QUE SOPORTA NUESTRO HARDWARE REALIZAR ACELERACIÓN POR HARDWARE Una vez instalada la herramienta vainfo podemos ver los códecs que soporta nuestra tarjeta gráfica. Para ello tan solo tenemos que ejecutar el siguiente comando en la terminal:\n❯:~$ vainfo El resultado que podremos ver será parecido al siguiente:\nvainfo: Supported profile and entrypoints VAProfileNone :\tVAEntrypointVideoProc VAProfileNone :\tVAEntrypointStats VAProfileMPEG2Simple :\tVAEntrypointVLD VAProfileMPEG2Main :\tVAEntrypointVLD VAProfileH264Main :\tVAEntrypointVLD VAProfileH264Main :\tVAEntrypointEncSlice VAProfileH264Main :\tVAEntrypointFEI VAProfileH264Main :\tVAEntrypointEncSliceLP VAProfileH264High :\tVAEntrypointVLD VAProfileH264High :\tVAEntrypointEncSlice VAProfileH264High :\tVAEntrypointFEI VAProfileH264High :\tVAEntrypointEncSliceLP VAProfileVC1Simple :\tVAEntrypointVLD VAProfileVC1Main :\tVAEntrypointVLD VAProfileVC1Advanced :\tVAEntrypointVLD VAProfileJPEGBaseline :\tVAEntrypointVLD VAProfileJPEGBaseline :\tVAEntrypointEncPicture VAProfileH264ConstrainedBaseline:\tVAEntrypointVLD VAProfileH264ConstrainedBaseline:\tVAEntrypointEncSlice VAProfileH264ConstrainedBaseline:\tVAEntrypointFEI VAProfileH264ConstrainedBaseline:\tVAEntrypointEncSliceLP VAProfileVP8Version0_3 :\tVAEntrypointVLD VAProfileVP8Version0_3 :\tVAEntrypointEncSlice VAProfileHEVCMain :\tVAEntrypointVLD VAProfileHEVCMain :\tVAEntrypointEncSlice VAProfileHEVCMain :\tVAEntrypointFEI VAProfileHEVCMain10 :\tVAEntrypointVLD VAProfileHEVCMain10 :\tVAEntrypointEncSlice VAProfileVP9Profile0 :\tVAEntrypointVLD VAProfileVP9Profile2 :\tVAEntrypointVLD La forma de leer la salida es la siguiente. Si os fijáis veréis que en la columna de la izquierda aparecen menciones a distintos tipos de códecs como por ejemplo:\nH264 (x264) HEVC(HEVC/H.265) VP9 etc A la correspondiente columna de la derecha veremos salidas del tipo VAEntrypointVLD y VAEntrypointEnc. Su significado es el siguiente:\nVAEntrypointVLD.: Capacidad para decodificar mediante hardware. VAEntrypointEnc*: Capacidad para codificación mediante hardware. Por lo tanto si a modo de ejemplo analizamos las siguientes líneas:\nVAProfileHEVCMain :\tVAEntrypointVLD VAProfileHEVCMain :\tVAEntrypointEncSlice VAProfileHEVCMain :\tVAEntrypointFEI Llegamos a la conclusión que:\nMi tarjeta gráfica Intel tiene la capacidad de decodificar/reproducir ficheros de vídeo con el códec HEVC(HEVC/H.265) mediante aceleración por hardware. Mi tarjeta gráfica Intel tiene la capacidad de codificar ficheros de vídeo con el códec HEVC(HEVC/H.265) mediante aceleración por hardware. Si ahora nos fijamos en las siguiente líneas:\nVAProfileVP9Profile0 :\tVAEntrypointVLD VAProfileVP9Profile2 :\tVAEntrypointVLD Concluimos que mi tarjeta gráfica puede decodificar/reproducir ficheros de vídeo con el códec VP9 mediante aceleración por hardware, pero no puede codificarlos.\nNota: Una solución alternativa a la mencionada en este apartado es identificar su tarjeta gráfica Intel y visitar la siguiente página para consultar si su hardware dispone de aceleración gráfica.\nCOMPROBAR SI ESTAMOS USANDO LA ACELERACIÓN GRÁFICA POR HARDWARE Para comprobar si tenemos aceleración gráfica por hardware tienen que reproducir un vídeo. Por lo tanto les recomiendo que por ejemplo abran el reproductor de vídeo VLC y empiecen a reproducir un vídeo cualquiera. Otra opción, que es la que he usado en mi caso, es abrir el navegador Firefox y empezar a reproducir un vídeo de Youtube.\nActo seguido abriremos una terminal y ejecutaremos el siguiente comando para abrir el monitor de recursos de nuestra tarjeta gráfica Intel:\n❯:~$ sudo intel_gpu_top Justo después de ejecutar el comando verán lo siguiente:\nSi observan la salida del comando verán que el parámetro Video está al 0%. Esto significa que no se está usando la GPU para decodificar vídeo y por lo tanto el software que estamos usando para la ver el vídeo, que en mi caso es Firefox, no hace uso de la aceleración gráfica por hardware.\nEn el caso que Firefox estuviera usando la aceleración por hardware verían la siguiente salida:\nAhora el parámetro Video tiene un consumo del 5,36%. Este valor es el porcentaje de uso de GPU dedicado a la decodificación por hardware. Esto es un indicativo que estamos usando la GPU para decodificar vídeo.\nOtros parámetros mostrados por el monitor de recursos El monitor de recursos de GPU intel-gpu-tools proporciona información diversa. Aparte de saber si estamos usando la aceleración por hardware podremos:\nAnalizar los procesos y programas están haciendo uso de la GPU. Ver la potencia que está consumiendo la GPU. Ver la frecuencia de trabajo de la GPU. etc. ¿VALE LA PENA USAR LA GPU PARA REPRODUCIR Y CODIFICAR VÍDEO? Mediante el monitor de recursos de mi equipo he analizado los siguientes parámetros al reproducir un vídeo de Youtube a 1080p con Firefox:\nCarga media de la CPU al repoducir un vídeo. Temperatura de la CPU del ordenador. Frames perdidos al reproducir un vídeo. Los resultados obtenidos han sido los siguientes:\nCarga media CPU \u0026ldquo;uptime 15min\u0026rdquo; temperatura CPU (ºC) frames perdidos Sin aceleración gráfica en Firefox 0,82 57 13 Con aceleración gráfica en Firefox 0,73 52 2 Por lo tanto en mi caso usar la aceleración gráfica por hardware mejora el rendimiento de mi equipo. No obstante si ahora reproducimos el mismo vídeo en VLC vemos lo siguiente:\nCarga media CPU \u0026ldquo;uptime 15min\u0026rdquo; temperatura CPU (ºC) con aceleración gráfica en VLC 0,45 49 Las conclusiones a las que podemos llegar mediante el estudio de los resultados son las siguientes:\nEl rendimiento de mi equipo es mejor al reproducir vídeo mediante la aceleración gráfica por hardware. Firefox no usa de forma eficiente la tarjeta gráfica de mi equipo. Un software como VLC saca mayor partido a la tarjeta gráfica de nuestro equipo a la hora de reproducir vídeo. Por este motivo en mi caso uso VLC y MPV para reproducir los vídeos de youtube y de internet. No obstante en vuestro caso la experiencia puede ser diferente y me explico en el siguiente apartado.\nPROBLEMAS QUE PUEDE GENERAR USAR LA GPU PARA REPRODUCIR VÍDEO En casos puntuales la aceleración gráfica por hardware puede presentar los siguientes problemas y/o inconvenientes:\nGenerar inestabilidad a la hora de reproducir vídeos. Puede darse el caso que el vídeo no se puede reproducir de forma fluida o se vea a trompicones. En el caso que tengan una CPU de última generación la diferencia existente entre usar la aceleración gráfica por hardware y software puede que no sea muy grande. Por lo tanto puede que haya usuarios que prefieran usar la aceleración por software porque ofrece más estabilidad. No obstante si el funcionamiento es el adecuado la aceleración gráfica por hardware debe aportar los siguientes beneficios.\nVENTAJAS DE DISPONER DE ACELERACIÓN GRÁFICA POR HARDWARE Alguna de las ventajas que proporcionadas por la aceleración gráfica por GPU a la hora de reproducir vídeo son las siguientes:\nLa CPU del ordenador tendrá menos carga al reproducir un vídeo. Esto será así porque gran parte del trabajo necesario para decodificar el vídeo será realizado por la GPU o tarjeta gráfica. Esta liberación de carga implica que nuestra CPU tendrá más capacidad de procesamiento para realizar otras tareas y por lo tanto el equipo tendrá un mejor desempeño. La mejora de rendimiento se notará especialmente en ordenadores que tengan bajas prestaciones. El consumo de energía será menor ya que la GPU es mucho más eficiente que una CPU a la hora de decodificar y codificar vídeo. Un menor consumo de energía significa menos calentamiento y una mejor duración de la batería de nuestro ordenador. El ordenador se calentará menos. Si el trabajo de renderizado tiene que ser realizado por la CPU el ordenador acosumbra a celntarse y la eficiencia es menor. Fuentes https://wiki.debian.org/HardwareVideoAcceleration\n","permalink":"https://geeklandlinux.github.io/posts/saber-si-usamos-la-aceleracion-grafica-por-hardware-en-linux/","summary":"\u003cp\u003eSi usan una tarjeta gráfica Intel y quieren saber si una aplicación que reproduce vídeo está usando la aceleración gráfica por hardware lo pueden hacer con el monitor de recursos intel-gpu-tools. La forma de hacerlo es la siguiente.\u003c/p\u003e","title":"Saber si usamos la aceleración gráfica por hardware en Linux"},{"content":"En el siguiente artículo veremos como usar el software Stellar Converter for EDB para convertir bases de datos de servidores Exchange al formato .pst. Pero antes de iniciar la explicación del proceso veremos la utilidad que tiene convertir bases de datos del formato .edb al formato .pst.\n¿EN QUÉ CASOS PUEDE SER NECESARIO EXPORTAR CONTENIDO DE UNA BASE DE DATOS .EDB A UN FICHERO CON FORMATO .PST? Algunos casos en que puede ser útil usar Stellar Converter para convertir una base de datos Exchange con el formato .edb al formato .pst son los siguientes:\nCuando las utilidades de Exchange integradas, como ExMerge, Exchange Admin Center o Exchange Management Shell, no pueden exportar la base de datos o los buzones de correo a PST. Para recuperar información de una base de datos Exchange corrupta. En caso que tengamos una base de datos con las bandejas de correo electrónico de 100 usuarios podemos ir creando un archivo .pst para cada uno de los usuarios y de esta forma podemos intentar recuperar la información para por ejemplo migrarla a un servidor Live Exchange o a un servidor Office 365. Para deshacerse de buzones de correo que no son necesarios y de este modo reducir el espacio que ocupa nuestra base de datos .edb. Si tenemos una base de datos con el formato .edb que contiene 100 buzones de correo electrónico podemos generar 100 ficheros .pst de los buzones de correo. Una vez generados podemos borrar los ficheros .pst no nos interesan y migrar los que nos interesan a un nuevo servidor. Extraer información de forma concreta y concisa de un buzón de correo electrónico. Si lo precisamos Stellar Converter for EDB permite filtrar información por buzón de correo, por Asunto, por Fecha, etc. Una vez filtrado el contenido podemos generar un fichero .pst únicamente con la información que necesitamos. Transferir datos de una versión antigua de servidor Exchange a una versión más nueva. Archivar los datos de un buzón de correo en concreto sin que tener que interrumpir el servicio de correo al resto de usuarios. Etc. CARACTERISTICAS DEL SOFTWARE Stellar Converter for EDB Algunas características interesantes a mencionar del software son las siguientes:\nPermite la migración de la información almacenada en ficheros .edb de gran tamaño, sin conexión y alojados a ficheros .pst sin ninguna limitación de tamaño. Por ejemplo podemos generar ficheros .pst que tengan el tamaño de 20GB. Permite trabajar y realizar operaciones en modo online y en modo offline. Por lo tanto no hace falta que el servidor esté levantado para conseguir nuestro propósito. Soporta las siguientes versiones de servidor Exchange: 5.5, 2000, 2003. 2007, 2010, 2013, 2016 y 2019. Puede exportar bases de datos .edb fuera de línea a servidores Live Exchange. Puede exportar bases de datos .edb a Office 365. Dispone de conversión selectiva. El software permite exportar solamente los ficheros seleccionados a un fichero .pst No tiene las limitaciones que tienen herramientas como por ejemplo Exmerge y NewMailboxExportRequest. Por ejemplo Exmerge no puede manejar ficheros .pst más grandes de 2 GB. Tiene la funcionalidad de exportar los contactos almacenados a un fichero .csv Etc. INSTALAR STELLAR CONVERTER Si disponen de un sistema operativo Windows tan solo tiene que dirigirse al siguiente enlace para proceder a la descargar el programa.\nhttps://www.stellarinfo.com/es/conversion-de-edb-a-pst.htm\nUna vez dentro de la página presionan el botón de descarga Gratuita y se iniciará la descarga\nFinalmente ejecutan el archivo .exe que acaban de descargar y la instalación es supersencilla. Tan solo tendrán que seleccionar el idioma y entre ellos obviamente estará el español. A partir de aquí aceptamos las condiciones de la licencia y siguiente siguiente, siguiente.\nEn caso que tengan problemas pueden seguir la siguiente guía de instalación\nTRANSFERIR CONTENIDO DE UN FICHERO DE BASE DE DATOS EXCHANGE CON EXTENSIÓN .EDB A UN FICHERO CON EXTENSIÓN .PST En mi caso dispongo de una base de datos offline con el nombre MY_DB16.edb. Esta base de datos tan solo contiene el buzón de correo, contactos, calendario, tareas, etc de tres usuarios. En mi caso quiero almacenar el buzón de correo del usuario Mark Spencer a un fichero con extensión .pst. Para conseguir mi propósito procederé del siguiente modo.\nSeleccionar si trabajaremos con una base de datos online u offline Justo al abrir la el programa tendremos que seleccionar entre la opción Exchange alojado o EDB sin conexión. En nuestro caso queremos extraer información de una base de datos que no está alojada en el servidor. Por lo tanto clicaremos encima de la opción EDB sin conexión.\nAbrir el contenido de la base de datos A continuación presionaremos los botones Encontrar o ... En mi caso clicado en el botón ...\nUna vez presionado el botón se abrirá un explorador de archivos en el que tendremos que buscar la ruta donde se encuentra la base de datos presionar el botón Aceptar.\nActo seguido me aparecen 4 bases de datos que son las que en mi caso tengo alojadas en la ubicación seleccionada. Finalmente clicaremos encima de la base de datos con nombre MY_DB16.edb para que se abra.\nVisualizar el contenido presente en las bases de datos .edb Una vez abierta la base de datos podremos ver la totalidad de buzones de correo almacenados en la base de datos .edb. Tal y como se puede ver en la captura de pantalla puedo visualizar la totalidad de contenido que cada uno de los usuarios almacena en el servidor exchange. Por lo tanto puedo ver la totalidad de correos de la bandeja de entrada de un usuario determinado.\nTambién puedo buscar emails mediante el uso de filtros. Podemos buscar emails:\nQue tengan un determinado Asunto. Que hayan sido enviados de una persona determinada. (Campo De) Que hayan sido enviados a una persona determinada. (Campo Para) Que hayan sido enviados o recibidos en una fecha determinada. (Campo Fecha) Etc. Por ejemplo en mi caso he buscado la totalidad de correos que en su Asunto figure la palabra html del siguiente modo:\nUna vez encontrado el correo que busco puedo previsualizarlo e incluso abrir el contenido que está adjunto en el correo.\nStellar Converter for EDB también permite visualizar el calendario de un usuario en concreto.\nO ver y exportar los contactos de un usuario en concreto.\nSeleccionar el contenido que queremos exportar a la nueva base de datos Aparte de previsualizar el contenido también podemos exportar el contenido que necesitemos a un fichero .pst. En mi caso exportaré el contenido del usuario Mark Spencer. Para ello tildaré la carpeta de Mark Spencer del siguiente modo:\nExportar el contenido de edb a pst A continuación presionamos encima del botón Guardar\nActo seguido aparecerá la siguiente ventana en la que deberemos seleccionar la opción que más nos interesa. En mi caso he seleccionado la opción Guardado como PST y acto seguido he presionar el botón Siguiente\nNota: Para conocer el uso del resto de opciones pueden consultar al siguiente enlace.\nSeguidamente hay que seleccionar la ubicación en la que queremos almacenar el fichero .pst y presionar el botón OK.\nA continuación aparecerá la siguiente pantalla que nos permitirá delimitar más el contenido que exportaremos al fichero .pst. Por ejemplo aquí podremos configurar que únicamente se almacenen los emails que estén comprendidos entre 2 fechas determinadas. Acto seguido presionaremos sobré el botón Siguiente\nFinalmente, en el caso que exportemos más de un buzón de correo podremos ordenarlos por prioridad. Una vez ordenados tan solo hay que presionar el botón Siguiente para que se genere el fichero .pst.\nUna generado el archivo .pst ya podremos proseguir con algunos de los usos mencionados al inicio del artículo.\nCONCLUSIONES FINALES El software es intuitivo, fácil de usar, funciona a la perfección y la velocidad de conversión es rápida. La documentación para el uso del programa está muy bien realizada y en diversos idiomas incluyendo el español. Además comparativamente con otros software dispone de características claramente diferenciales. No obstante el precio de su licencia lo considero elevado. También estaría realmente bien que el software estuviera disponible para otros sistemas operativos como Linux o MacOS.\nFUENTES https://www.stellarinfo.com/help/stellar-converter-for-edb-10-windows-technician-es-about-stellar-converter-for-edb.html\n","permalink":"https://geeklandlinux.github.io/posts/exportar-una-base-de-datos-de-edb-a-pst/","summary":"\u003cp\u003eEn el siguiente artículo veremos como usar el software \u003ca href=\"https://www.stellarinfo.com/es/conversion-de-edb-a-pst.htm\"\u003eStellar Converter for EDB\u003c/a\u003e para convertir bases de datos de servidores Exchange al formato .pst. Pero antes de iniciar la explicación del proceso veremos la utilidad que tiene convertir bases de datos del formato .edb al formato .pst.\u003c/p\u003e","title":"Exportar una base de datos de edb a pst"},{"content":"Mi navegador preferido a día de hoy es Firefox. Más que nada por temas de privacidad, porque tiene un funcionamiento digamos que aceptable y porque la aceleración gráfica por hardware funciona. No obstante algo que me molesta es que a partir de la versión 89 el tamaño de las pestañas es enorme y desperdicia tamaño del monitor. Por lo tanto en el siguiente artículo veremos los pasos a seguir para hacer las pestañas de Firefox más pequeñas.\nHACER LAS PESTAÑAS DE FIREFOX MÁS PEQUEÑAS Existen varios métodos para hacer las pestañas de Firefox más pequeñas. No obstante el que considero más sencillo para la gran mayoría de usuarios es el siguiente. Inicialmente ingresamos la siguiente URL en el barra de direcciones de Firefox y presionamos la tecla enter:\nabout:config Una vez dentro de las preferencias de Firefox buscaremos la propiedad browser.compactmode.show y la cambiaremos al valor true\nActo seguido reiniciaremos Firefox. A continuación posicionaremos el puntero del ratón a la derecha del símbolo + de la barra de pestañas y presionaremos el botón derecho del ratón. Cuando aparezca el menú contextual clicaremos encima de la opción Personalizar la barra de herramientas\u0026hellip;\nSeguidamente en el menú desplegable del botón Densidad podremos seleccionar la opción Compacto (No mantenido). Una vez seleccionada la opción presionan sobre el botón Hecho.\nActo seguido podrán ver que el tamaño de las pestañas de Firefox es sensiblemente menor y en mi caso me parece mucho mejor opción.\nA partir de estos momentos podrán tener una mejor experiencia de usuario con Firefox.\n¿Y QUE PASA SI AÚN QUIERO REDUCIR AÚN MÁS EL TAMAÑO? Si la solución que acabáis de ver no os convence porque aún queréis hacer las pestañas más pequeñas no os preocupes. Existe una opción para que aún podáis reducir más el tamaño de las pestañas. Para ello deberéis añadir el código apropiado al fichero userChrome.css. Este fichero se encuentra dentro del directorio que almacena el perfil de nuestro usuario. En mi caso, el perfil de usuario de Firefox se almacena en /home/joan/.mozilla/firefox/bttghfl2.default-release/. Para acceder a esta ubicación ejecutaré el siguiente comando en la terminal:\ncd /home/joan/.mozilla/firefox/bttghfl2.default-release/ Acto seguido accederé dentro del directorio chrome ejecutando el siguiente comando en la terminal:\ncd chrome Nota: En el caso que no exista el directorio chrome lo deberán crear ejecutando el comando mkdir chrome en la terminal.\nUna vez dentro del directorio chrome ejecutaremos el siguiente comando para editar el contenido del fichero userChrome.css.\nnano userChrome.css Una vez se abra el editor de texto nano pegaremos el siguiente código:\n/* Override font-size for tabs */ .tabbrowser-tab { font-size: 12px !important; } TabsToolbar, #tabbrowser-tabs { --tab-min-height: 20px !important; } /* Tweak for covering a line at the bottom of the active tab on some themes 8/11/2021 */ #main-window[sizemode=\u0026#34;normal\u0026#34;] #toolbar-menubar[autohide=\u0026#34;true\u0026#34;] + #TabsToolbar, #main-window[sizemode=\u0026#34;normal\u0026#34;] #toolbar-menubar[autohide=\u0026#34;true\u0026#34;] + #TabsToolbar #tabbrowser-tabs { --tab-min-height: 21px !important; Una vez pegado el código guardaremos los cambios, cerraremos el fichero y reiniciaremos Firefox. Ahora el tamaño de las pestañas es aún más reducido. Si aún queréis reducir más el tamaño deberán cambiar el tamaño de la fuente dentro del fichero userChrome.css. En el ejemplo el tamaño de la fuente es 11px. Por lo tanto podríamos reemplazar 11px por 10px para así reducir aún más el tamaño de las pestañas.\nLes aconsejo que visiten el siguiente enlace si quieren ver más trucos sobre como poder sacar el máximo rendimiento a Firefox.\nFuentes https://www.userchrome.org/firefox-89-styling-proton-ui.html#tabstyler\n","permalink":"https://geeklandlinux.github.io/posts/hacer-las-pestanas-de-firefox-mas-pequenas/","summary":"\u003cp\u003eMi navegador preferido a día de hoy es Firefox. Más que nada por temas de privacidad, porque tiene un funcionamiento digamos que aceptable y porque la aceleración gráfica por hardware funciona. No obstante algo que me molesta es que a partir de la versión 89 el tamaño de las pestañas es enorme y desperdicia tamaño del monitor. Por lo tanto en el siguiente artículo veremos los pasos a seguir para hacer las pestañas de Firefox más pequeñas.\u003c/p\u003e","title":"Hacer las pestañas de Firefox más pequeñas"},{"content":"En mi caso justo al actualizar el Kernel de mi sistema operativo me sale el warning Possible missing firmware /lib/firmware/i915/* . Concretamente la salida mostrada en la terminal ha sido la siguiente:\nupdate-initramfs: Generating /boot/initrd.img-5.19.0-1-amd64 W: Possible missing firmware /lib/firmware/i915/skl_guc_70.1.1.bin for module i915 W: Possible missing firmware /lib/firmware/i915/bxt_guc_70.1.1.bin for module i915 W: Possible missing firmware /lib/firmware/i915/kbl_guc_70.1.1.bin for module i915 W: Possible missing firmware /lib/firmware/i915/glk_guc_70.1.1.bin for module i915 W: Possible missing firmware /lib/firmware/i915/kbl_guc_70.1.1.bin for module i915 W: Possible missing firmware /lib/firmware/i915/kbl_guc_70.1.1.bin for module i915 W: Possible missing firmware /lib/firmware/i915/cml_guc_70.1.1.bin for module i915 W: Possible missing firmware /lib/firmware/i915/icl_guc_70.1.1.bin for module i915 W: Possible missing firmware /lib/firmware/i915/ehl_guc_70.1.1.bin for module i915 W: Possible missing firmware /lib/firmware/i915/ehl_guc_70.1.1.bin for module i915 W: Possible missing firmware /lib/firmware/i915/tgl_guc_70.1.1.bin for module i915 W: Possible missing firmware /lib/firmware/i915/tgl_guc_70.1.1.bin for module i915 W: Possible missing firmware /lib/firmware/i915/dg1_guc_70.1.1.bin for module i915 W: Possible missing firmware /lib/firmware/i915/tgl_guc_70.1.1.bin for module i915 W: Possible missing firmware /lib/firmware/i915/adlp_guc_70.1.1.bin for module i915 W: Possible missing firmware /lib/firmware/i915/dg2_guc_70.1.2.bin for module i915 W: Possible missing firmware /lib/firmware/i915/adlp_dmc_ver2_16.bin for module i915 I: The initramfs will attempt to resume from /dev/sda7 I: (UUID=c6ff62ab-0f9e-43f7-84e8-ec5d0ca45157) I: Set the RESUME variable to override this. Por lo tanto queda claro que nuestro sistema operativo no está informando que hay una serie de firmware que aparentemente no está instalado. Pero antes de ver la solución del problema analizaremos si las advertencias nos pueden afectar.\nES PROBLEMÁTICO EL ERROR Possible missing firmware /lib/firmware/i915/* La totalidad de los Warning que aparecen son relacionados con la falta de firmware para las siguientes microarquitecturas de Intel:\nSky Lake Broxton Kaby Lake Commet Lake Ice Lake Elkhart Lake Tiger Lake Gemini Lake Alder Lake Arc Alchemist En mi caso dispongo de un procesador Intel de 9ª generación basado en la arquitectura Gemini Lake Refresh. Por lo tanto diría que unicamente debería instalar el driver glk_guc_70.1.1.bin. No obstante los instalaré todos para evitar los warning en futuras actualizaciones del kernel.\nLos pasos a realizar para hacer que desaparezcan las advertencias son los siguientes.\nASEGURAR QUE TENEMOS INSTALADO LOS PAQUETES QUE PROPORCIONAN LOS DRIVERS FALTANTES Lo primero a realizar es asegurar que tenemos instalados los paquetes firmware-linux, firmware-linux-nonfree y firmware-misc-nonfree. Para ello en mi caso como uso el gestor de paquetes apt ejecuto el siguiente comando en la terminal:\n❯ sudo apt install firmware-linux firmware-linux-nonfree firmware-misc-nonfree En mi caso este paso no soluciona el problema. Es más en mi caso ya tenia estos paquetes instalados. Por lo tanto lo siguiente a realizar es descargar el firmware que nos falta de forma manual.\nDESCARGAR EL FIRMWARE REQUERIDO Para descargar el firmware requerido tenemos que ingresar en el asiguiente url:\nhttps://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/\nSi leemos los Warning vemos que nos faltan los firmware para el módulo i915. Por lo tanto clicamos encima de la carpeta i915 que es la que contiene los firmware que necesitamos:\nUna vez dentro del directorio descargamos todos y cada uno de los firmware que necesitamos y que vemos en los warning:\nCOPIAR EL FIRMWARE DESCARGADO EN SU CORRESPONDIENTE UBICACIÓN Una vez descargado el firmware lo tenemos que guardar en el directorio pertinente. Los firmware se acostumbran a almacenar en la ubicación /lib/firmware. Como en mi caso los firmware son para el módulo i915 se almacenarán en la ubicación /lib/firmware/i915/.\nNota: En vuestro caso deberéis analizar el directorio dentro de la ubicación /lib/firmware/ en el que debéis guardar el firmware.\nPara copiar la totalidad de firmware que hemos descargado, iremos a la carpeta donde tenemos los ficheros descargados. Una vez estemos dentro ejecutaremos el siguiente comando en la terminal:\n❯ sudo cp *.bin /lib/firmware/i915/ REGENERAR INITRAMFS PARA SOLUCIONAR EL ERROR POSSIBLE MISSING FIRMWARE Una vez están presentes los firmware regeneraremos el sistema de ficheros temporal Initramfs. Para ello tendremos que ejecutar el siguiente comando en la terminal:\n❯ sudo update-initramfs -u update-initramfs: Generating /boot/initrd.img-5.19.0-1-amd64 I: The initramfs will attempt to resume from /dev/sda7 I: (UUID=c6ff62ab-0f9e-43f7-84e8-ec5d0ca45157) I: Set the RESUME variable to override this. Una vez ejecutado ya podremos reiniciar el ordenador sin ningún tipo de temor. En principio nos volverán a aparecer los warning o advertencias.\nFuentes https://01.org/linuxgraphics/downloads/firmware\nhttps://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915\n","permalink":"https://geeklandlinux.github.io/posts/possible-missing-firmware-lib-firmware-solucion/","summary":"\u003cp\u003eEn mi caso justo al actualizar el Kernel de mi sistema operativo me sale el warning Possible missing firmware /lib/firmware/i915/* . Concretamente la salida mostrada en la terminal ha sido la siguiente:\u003c/p\u003e","title":"Possible missing firmware /lib/firmware/ - Solución"},{"content":"A continuación veremos una serie de trucos y consejos que todo usuario de la terminal debería saber. Después de leer este artículo los usuarios deberían ser capaces de desenvolverse mucho mejor en la terminal. Algunos de los trucos para la terminal que verán a continuación no se acostumbran a comentar en exceso y nos proporcionarán velocidad y facilidad a la hora de realizar nuestras tareas.\nTRUCOS PARA MOVERSE ENTRE DIRECTORIOS EN LA TERMINAL DE LINUX Algunos de los trucos para la terminal para moverse de un directorio a otro de forma rápida y sencilla son los que detallan a continuación:\nVolver al directorio anterior Imaginemos que estamos en la ruta /var/log\n❯:/var/log$ pwd /var/log Seguidamente ejecutamos el siguiente comando para dirigirnos al directorio /etc:\n❯:/var/log$ cd /etc Si ahora queremos volver de forma rápida y sencilla al directorio anterior tan solo tendremos que ejecutar el siguiente comando:\n❯:/etc$ cd - Nota: El carácter - es equivalente a escribir la ruta anterior donde estábamos anteriormente.\nTrucos para dirigirse de forma inmediata al directorio /home/usuario en la terminal Para dirigirse de forma inmediata al directorio /home/usuario lo podemos realizar mediante el siguiente comando:\n❯:/var/log$ cd Otro comando alternativo que podemos usar es:\ncd ~ Nota: El comando cd es equivalente a cd ~. El símbolo ~ hace referencia a la ubicación /home/usuario.\nMoverse entre directorios en la terminal usando la opción pushd y popd En el caso que tengáis que estar constantemente cambiando de directorio en la terminal y estos directorios siempre acostumbren a ser los mismos les aconsejo que sigan las recomendaciones que les dejo en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/cambiar-de-directorio-de-forma-rapida-y-sencilla-en-linux/\nTRUCOS PARA EJECUTAR COMANDOS DE LA FORMA MÁS RÁPIDA Y SENCILLA EN LA TERMINAL Si lo que pretenden es ejecutar comandos en la terminal de forma rápida, sencilla, evitando errores y sin tener que escribir en exceso les recomiendo que apliquen los siguientes trucos.\nEjecutar de nuevo el último comando en la terminal La terminal de Linux permite repetir el último comando ejecutado mediante 2 símbolos de exclamación !!. Imaginemos que queremos editar el fichero .config/mpv/mpv.conf. Por lo tanto ejecutaremos el siguiente comando:\n❯:~$ nano .config/mpv/mpv.conf A continuación editamos el contenido del fichero y lo cerramos. Si ahora queremos volver a editar el mismo fichero no hará falta que ejecutemos de nuevo el comando nano .config/mpv/mpv.conf. Tan solo tendremos que ejecutar el comando !! del siguiente modo:\n❯:~$ !! Una vez ejecutado el comando verán que se abre el editor de texto nano. De esta forma podemos evitar la introducción de comandos relativamente largos.\nOtra utilidad típica de !! es ejecutar comandos con el usuario root que anteriormente se ejecutaron sin permisos de administrador. Imaginad el caso que un usuario ejecuta el siguiente comando:\n❯:~$ apt update Leyendo lista de paquetes... Hecho E: No se pudo abrir el fichero de bloqueo «/var/lib/apt/lists/lock» - open (13: Permiso denegado) .... Obviamente el comando no se ha ejecutado porque requiere de permisos de administrador. Para ejecutar el mismo comando con permisos de administrador sin tener que escribir de nuevo todo el comando pueden usar !! del siguiente modo:\n❯:~$ sudo !! sudo apt update Des:1 https://download.docker.com/linux/ubuntu jammy InRelease [48,9 kB] .... Ejecutar el penúltimo y el antepenúltimo comando en la terminal de Linux Del mismo modo que podemos ejecutar el último comando también podemos ejecutar el penúltimo y antepenúltimo comando.\nImaginemos que ejecutamos el siguiente comando:\n❯:~$ ls Acto seguido ejecutamos otro comando:\n❯:~$ sudo apt update Si ahora queremos volver a ejecutar el penúltimo comando no es necesario ejecutar el comando ls. Tan solo tenemos que ejecutar el siguiente comando:\n❯:~$ !-2 Si en vez del penúltimo quisiéramos ejecutar el antepenúltimo:\n!-3 y así sucesivamente. Para ver el comando que corresponde a cada uno de los números pueden ejecutar el comando history del siguiente modo:\n❯:~$ history 28 grep --color -E \u0026#39;[0-9]{1,3}\u0026#39; /etc/hosts 29 grep --color -E \u0026#39;[0-9]{2}\u0026#39; /etc/hosts 30 grep --color -E \u0026#39;[0-9]{3}\u0026#39; /etc/hosts 31 grep --color -E \u0026#39;[0-9]{4}\u0026#39; /etc/hosts 32 grep --color -E \u0026#39;[0-9]{1-3}\u0026#39; /etc/hosts 33 grep --color -E \u0026#39;[0-9]{1,2}\u0026#39; /etc/hosts ... 523 ls 524 ! 525 ! 526 ls 527 history Una vez se el número que corresponde a cada comando puedo ejecutar los comandos del siguiente modo. Para ejecutar el comando ls ejecutaré el siguiente comando:\n❯:~$ !526 Ejecutar el comando anterior sin la primera palabra Imaginemos el caso que de forma errónea he ejecutado el siguiente script con permisos de administrador.\n❯:~$ sudo bash firefox_update.sh Si quiero ejecutar exactamente el mismo comando omitiendo la primera palabra que es sudo tan solo tendré que ejecutar el comando !* del siguiente modo:\n❯:~$ !* bash firefox_update.sh En el caso que quisiera omitir las 2 primeras palabras entonces ejecutaríamos el siguiente comando:\n❯:~$ !!* firefox_update.sh Trucos para encadenar la ejecución de uno o varios comandos en la terminal Para actualizar los paquetes del sistema operativo con el gestor de paquetes apt tenemos que ejecutar los siguientes comandos.\nPara refrescar los repositorios:\nsudo apt update Finalmente para actualizar los paquetes del sistema operativo:\nsudo apt upgrade Para combinar las 2 acciones que acabamos de ver en un solo comando usaremos el operador ; del siguiente modo:\ncomando_1 ; comando_2 Por lo tanto en el ejemplo que estábamos viendo ejecutaríamos el siguiente comando:\nsudo apt update ; sudo apt upgrade Por lo tanto mediante la ejecución de un solo comando seremos capaces de actualizar nuestro sistema operativo.\nEn el caso que queramos encadenar la ejecución de comandos asegurando que en el caso que uno de los comandos falle se paralice la ejecución del resto de reemplazaremos el operador ; por \u0026amp;\u0026amp; del siguiente modo:\nsudo apt update \u0026amp;\u0026amp; sudo apt upgrade Para comprobar que se paralice la ejecución de los comandos podéis ejecutar el siguiente comando:\n❯ ls /etc/geekland \u0026amp;\u0026amp; echo \u0026#34;geekland\u0026#34; \u0026#34;/etc/no_existe\u0026#34;: No such file or directory (os error 2) Como el directorio /etc/geekland no existe se produce un error y al producirse el error ya no se ejecutará el segundo comando. Por lo tanto en pantalla no veremos escrita la palabra geekland\nSi ahora cambiamos \u0026amp;\u0026amp; por ; veremos que se ejecutará el primer comando y nos dará error, pero aunque de error se ejecutará el segundo comando:\n❯ ls /etc/geekland ; echo \u0026#34;geekland\u0026#34; \u0026#34;/etc/no_existe\u0026#34;: No such file or directory (os error 2) geekland Ejecutar comandos usando el historial de comandos de la terminal de Linux Linux almacena la totalidad de comandos ejecutados en el fichero de texto ~/.bash_history. La totalidad de comandos almacenados en este fichero formarán el historial de comandos ejecutados de la terminal de Linux.\nSi siguen las instrucciones del siguiente enlace podrán recuperar de forma rápida y sencilla cualquier comando que ya hayan previamente ejecutado en el pasado sin tener que teclear y sin que tener que recordar la totalidad del comando:\nhttps://geeklandlinux.github.io/posts/como-usar-y-configurar-el-historial-de-comandos-history-en-linux/\nDe esta forma podremos ejecutar comandos largos de forma extremadamente rápida y sin tener que recordar la totalidad del comando.\nAutocompletar un comando o una ruta mediante la tecla TAB La tecla TAB sirve para autocompletar comandos y rutas y es muy útil para incrementar la velocidad en el uso de la terminal. Además también nos ayudará a cometer muchos menos errores en la introducción de rutas y comandos.\nImaginemos que queremos acceder a la ruta /home/joan. La forma más rápida de acceder a esta ruta será escribiendo lo siguiente:\n❯:~$ cd /h▣ Una vez estemos en este punto presionaremos la tecla TAB y la ruta /h se autocompletará a /home/:\n❯:~$ cd /home/▣ Acto seguido escribimos la letra j de joan y presionamos de nuevo la tecla TAB.\n❯:~$ cd /home/j▣ Como dentro del directorio joan no hay ningún otro directorio que empiece por j se autocompletará la ruta del siguiente modo:\n❯:~$ cd /home/joan/▣ En el caso que dentro del directorio /home existieran los directorios joan y jorge tendríamos que actuar del siguiente modo. Inicialmente teclearíamos los siguiente:\n❯:~$ cd /home/j▣ Al presionar la tecla TAB no pasaría absolutamente nada porque dentro de /home existen 2 directorios que empiezan por j. En esto caso tendríamos que presionar 2 veces consecutivas la tecla TAB para obtener el siguiente resultado:\n❯:~$ cd /home/j▣ joan/ jorge/ ❯:~$ Por lo tanto vemos que existen 2 directorios con el nombre joan y jorge. Además ambos empiezan por jo. Por lo tanto si queremos acceder dentro del directorio jorge tendremos que teclear or.\n❯:~$ cd /home/jor▣ y seguidamente presionar TAB. Entonces se autocompletará la ruta completa:\n❯:~$ cd /home/jorge▣ Nota: Del mismo modo que hemos autocompletado rutas también podemos autocompletar comandos. Para mi este es uno de los mejores trucos para la terminal que pueden usar para incrementar enormemente su velocidad.\nObtener comandos que hayamos ejecutado anteriormente Presionando los cursores ↑ y ↓, la terminal mostrará los últimos comandos presentes en el historial de comandos. Un ejemplo de su funcionamiento es el siguiente:\nSi presionamos la tecla ↑ accederemos al último comando presente en el historial de comandos.\n❯:~$ exit Si volvemos a presionar la tecla ↑ accederemos al penúltimo comando presente en el historial de comandos.\n❯:~$ clear Si tenemos el penúltimo comando y queremos volver a mostrar el último comando almacenado en el historial de la terminal presionaremos la tecla ↓.\n❯:~$ exit De esta forma tan sencilla podemos acceder a los comandos que ejecutados recientemente sin prácticamente tener que usar el teclado.\nSustituir un texto por otro texto en la terminal Imaginemos que ejecutamos el siguiente comando para refrescar los repositorios de nuestra distribución:\n❯:~$ sudo apt update Si ahora queremos actualizar el sistema operativo tendremos que ejecutar el comando sudo apt dist-upgrade. Si os fijáis la única diferencia entre el comando para refrescar los repositorios y el comando para actualizar el sistema operativo es cambiar update por dist-upgrade. Por lo tanto para no tener que escribir la totalidad del comando podemos ejecutar el siguiente comando:\n❯:~$ ^update^dist-upgrade sudo apt dist-upgrade Leyendo lista de paquetes... Hecho Creando árbol de dependencias... Hecho Leyendo la información de estado... Hecho Calculando la actualización... Hecho 0 actualizados, 0 nuevos se instalarán, 0 para eliminar y 0 no actualizados. Usar alias en Linux para ejecutar comandos de forma más rápida Los alias también pueden ayudar a ejecutar comandos de una forma mucho más rápida y sencilla. Para saber que es un alias y saber como crearlos les recomiendo que visiten el siguiente enlace.\nhttps://geeklandlinux.github.io/posts/alias-en-linux-que-son-como-crearlos-y-ejemplos/\nTRUCOS Y CONSEJOS PARA OCULTAR Y/O BORRAR EL CONTENIDO DE LA TERMINAL Pueden usar los siguientes trucos o consejos para borrar u ocultar el contenido de la terminal.\nOcultar el contenido que muestra el emulador de terminal Para ocultar el texto que tenemos en la terminal tan solo tenemos que ejecutar el comando clear del siguiente modo:\n❯:~$ clear El comando clear no borra el contenido de la terminal. Lo que hace es desplazar el contenido de la terminal hacia arriba. Pero si posicionamos el puntero del ratón en el emulador de terminal y movemos la rueda del ratón veremos que podemos recuperar el contenido que se ha ocultado.\nOtra forma de realizar exactamente lo mismo sin tener que ejecutar ningún comando es usar la combinación de teclas:\nctrl+l Borrar completamente el contenido de la terminal En el apartado anteriormente simplemente estábamos ocultando el contenido mostrado por la terminal. Si en vez de ocultarlo quieren eliminarlo tendrán que ejecutar el comando reset del siguiente modo:\n❯:~$ reset Ahora da igual que hagamos scroll en la terminal. Aunque hagamos scroll no podremos recuperar el contenido borrado. Esto es así porque el comando reset borra todo el contenido de la sesión actual del emulador de terminal. El resultado de aplicar el comando reset es equivalente a cerrar la terminal y volverla a abrir.\nBorrar la totalidad de una línea que tenemos escrita en la terminal Imaginemos que tenemos el siguiente comando a medio escribir:\n❯:~$ sudo apt get ins▣ Si queremos borrar todo el texto desde la posición que tenemos posicionado el cursor hasta al inicio de la línea tendremos que presionar la combinación de teclas:\nCtrl+u Por lo tanto si tenemos escrito el siguiente comando y el cursor esta posicionado justo antes de la i de install:\n❯:~$ sudo apt get ▣install Cuando presionemos el atajo de teclado Ctrl+u no se borrará toda la línea. Solo se borrará sudo apt get porque es lo que está a la izquierda del cursor. El resultado obtenido de presionar Ctrl+u será el siguiente:\n❯:~$ install Por lo tanto para borrar la totalidad de línea de un plumazo primero colocaremos el cursor al final de la línea mediante el atajo de teclado:\nCtrl+e A continuación borraremos la totalidad de texto que está a la izquierda del cursor mediante el atajo de teclado:\nCtl+u Borrar el texto que tenemos a la derecha del cursor en la terminal En el apartado anterior vimos que el atajo de teclado Ctrl+u sirve para borrar todo lo que tenemos a la izquierda del cursor. Para realizar lo opuesto, y por lo tanto borrar todo lo que tenemos a la derecha del cursor, tendremos que usar el atajo de teclado:\nCtrl+k Por lo tanto si tenemos escrito el siguiente comando con el cursor posicionado justo después de la palabra get:\n❯:~$ sudo apt get▣ install Y presionamos el atajo de teclado Ctrl+k obtendremos el siguiente resultado:\n❯:~$ sudo apt get ATAJOS DE TECLADO PARA REALIZAR MULTITUD DE TAREAS DE FORMA MÁS RÁPIDA Conocer los atajos de teclado de la terminal les proporcionará velocidad y les permitirá tener acceso a una serie de funciones adicionales. Los atajos de teclado típicos que acostumbran a tener la gran mayoría de emuladores de terminal son los siguientes:\nhttps://geeklandlinux.github.io/posts/atajos-de-teclado-para-emuladores-de-terminal-en-linux/\nNota: Los emuladores de terminal acostumbran a usar los atajos predeterminados de Emacs. No obstante si lo prefieren pueden modificar la configuración para usar los atajos de teclado de Vim.\nTRUCOS PARA SABER COMO MOVER EL CURSOR EN LA TERMINAL Si quieren mover el cursor de la terminal de una posición a otra de forma rápida pueden usar los siguientes atajos de teclado.\nIr al principio de la línea en la terminal de Linux Si estamos en medio o al final de una línea y queremos posicionar el cursor justo al principio de la línea podéis usar los siguientes atajos de teclado:\nAtajo de teclado Función ctrl+a Mover el cursor al inicio de la línea. inicio Mover el cursor al inicio de la línea. Posicionar el cursor al final de la línea en la terminal de Linux Si por el contrario estamos al inicio de la línea, o en una posición intermedia, y queremos posicionar el cursor justo al final de la línea podéis usar los siguientes atajos de teclado:\nAtajo de teclado Función ctrl+e Mover el cursor al final de la línea. fin Mover el cursor al final de la línea. Moverse saltando palabra por palabra en la terminal Si lo que pretenden es que el cursor avance o retroceda palabra por palabra deberán usar los siguientes atajos de teclado:\nAtajo de teclado Función alt+f Para ir avanzando palabra por palabra. alt+b Para retroceder palabra por palabra. Hacer scroll en la terminal mediante atajos de teclado En ocasiones la terminal arroja salidas largas que son imposibles visualizar en una pantalla. Para retroceder o avanzar en la salida de un comando pueden usar los siguientes atajos de teclado:\nAtajo de teclado Función Ctrl + mayús + Repág Para retroceder o ir hacía arriba en la terminal. Ctrl + mayús + Avpág Para avanzar o ir hacía abajo en la terminal. TRABAJAR CON PESTAÑAS EN LA TERMINAL Trabajar con pestañas en la terminal puede resultar práctico para algunos usuarios. La forma más rápida de trabajar mediante pestañas en la terminal es usando atajos de teclado. Los atajos de teclado que en principio deberán usar son los siguientes.\nAbrir una pestaña en la terminal Para abrir una pestaña en la terminal tan solo tendrán que usar el siguiente atajo de teclado:\nCtrl+mayús+t Justo al usar el atajo de teclado se abrirá una nueva pestaña en la terminal.\nMoverse entre las distintas pestañas abiertas que podamos tener en la terminal Si tenemos varias pestañas abiertas nos podemos mover de una pestaña a otra de forma rápida mediante el siguiente atajo de teclado.\nCtrl+mayús+cursores Los atajos de teclado pueden variar en función del emulador de terminal que uséis. Si no os funciona este atajo de teclado pueden intentar usar los siguientes atajos:\nAtajos de teclado alternativos para moverse entre pestañas ctrl+AvPág ctrl+RePág ctrl+mayús+AvPág ctrl+mayús+RePág Nota: Existen emuladores de terminal que permiten modificar los atajos de teclado.\nCerrar una pestaña abierta en la terminal Si lo que pretenden es cerrar alguna de las pestaña pueden usar el comando exit. También pueden usar los siguientes atajos de teclado:\nAtajos de teclado para cerrar una pestaña abierta en la terminal ctrl+mayus+w ctrl+d TRUCOS PARA MEJORAR LA ACCESIBILIDAD EN LA TERMINAL Algunos consejos que les permitirán sentirse más cómodos y mejorar la accesibilidad en la terminal son los siguientes.\nAumentar o disminuir la fuente de la terminal En diversas ocasiones puede resultar útil aumentar o disminuir el tamaño del texto de la terminal. Para ello la forma más sencilla es usar los siguientes atajos de teclado:\nAtajo de teclado Función Ctrl+mayús + Para incrementar el tamaño del texto. Ctrl+ mayús - Disminuir el tamaño del texto. Trabajar con la terminal a pantalla completa En algunos casos puede resultar interesante poner el emulador de terminal a pantalla completa. Para ello tan solo hay que asegurar que la ventana del emulador de terminal esté activa y presionar el atajo de teclado F11.\nBloquear y desbloquear la terminal Si queremos bloquear la terminal para que nadie pueda introducir ningún comando podemos usar los siguientes atajos de teclado:\nAtajo de teclado Función Ctrl+s Bloquear la terminal. Ctrl+q Desbloquear la terminal. Usar un buen esquema de colores en la terminal Configuren la terminal a su gusto. Prácticamente la totalidad de emuladores de terminal permiten modificar configuraciones como por ejemplo el esquema de colores y la tipografía a utilizar. Si lo hacen y eligen una buena configuración verán que la experiencia de uso será más satisfactoria.\nMostrar las salidas de la terminal de una forma más ordenada Mediante la utilidad column podemos mostrar la salida de la terminal de una forma mucho más ordenada y fácil de leer. Por ejemplo si ejecutamos el comando mount obtendremos la siguiente salida:\n❯:~$ mount sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) udev on /dev type devtmpfs (rw,nosuid,relatime,size=3947964k,nr_inodes=986991,mode=755,inode64) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) tmpfs on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=797812k,mode=755,inode64) /dev/sda5 on / type ext4 (rw,noatime) Si os fijáis la salida no es fácil de leer porque cada uno de los resultados mostrados se separa por espacios y no tienen una longitud común. Si cambiamos los espacios por columnas mediante la utilidad column obtendremos el siguiente resultado:\n❯:~$ mount | column -t sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) udev on /dev type devtmpfs (rw,nosuid,relatime,size=3947964k,nr_inodes=986991,mode=755,inode64) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) Nota: El delimitador por defecto de column es el espacio. Si quieren pueden definir otro delimitador mediante la opción -s. Si queréis ver más opciones sobre la utilidad column pueden ejecutar el comando man column en la terminal.\nTRUCOS PARA GESTIONAR TRABAJOS EN LA TERMINAL DE LINUX CON JOBS, FG, BG, DISOWN Y KILL La terminal de Linux ofrece capacidad de multitarea y podemos ejecutar y realizar distintas tareas de forma simultanea mediante las pestañas o mediante la gestión de trabajos. Para aprender a gestionar las tareas o trabajos de Linux les recomiendo que visiten el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/gestionar-trabajos-en-linux-terminal/\nFuentes https://www.youtube.com/watch?v=AVXYq8aL47Q\n","permalink":"https://geeklandlinux.github.io/posts/trucos-y-consejos-para-usar-la-terminal-en-linux/","summary":"\u003cp\u003eA continuación veremos una serie de trucos y consejos que todo usuario de la terminal debería saber. Después de leer este artículo los usuarios deberían ser capaces de desenvolverse mucho mejor en la terminal. Algunos de los trucos para la terminal que verán a continuación no se acostumbran a comentar en exceso y nos proporcionarán velocidad y facilidad a la hora de realizar nuestras tareas.\u003c/p\u003e","title":"Trucos y consejos para usar la terminal en Linux"},{"content":"En ocasiones tenemos que introducir comandos largos y difíciles de recordar en la terminal. Esto acostumbra a generar errores y frustración, pero afortunadamente para solucionar este pequeño podremos usar los alias en Linux. Los alias nos ayudarán a simplificar la ejecución de un comando y de este modo el comando será más fácil de usar y de recordar. Por lo tanto en este artículo veremos que es un alias, que utilidades puede tener, como podemos crear un alias, como podemos borrar alias y como podemos listar los alias que tenemos configurados en nuestra terminal.\n¿QUÉ ES UN ALIAS EN LINUX? Cuando hablamos de un alías nos referimos a una abreviatura para ejecutar un comando. Por lo tanto un alías es una cadena de caracteres que nosotros definiremos y que servirá para ejecutar un comando determinado. Un ejemplo de lo que seria un alias es el siguiente:\nQue al escribir la palabra actualizar y presionar la tecla enter se ejecute el comando sudo apt update \u0026amp;\u0026amp; sudo apt dist-upgrade -y. De esta forma con tan solo escribir actualizar y presionando enter podremos actualizar nuestro sistema operativo de forma más rápida.\n¿QUÉ UTILIDADES Y VENTAJAS TIENEN LOS ALIAS EN LINUX? La principales utilidades y ventajas de los alias en GNU-Linux son las siguientes:\nReducir el texto escrito en la terminal para realizar una tarea. Al ser un texto más corto podremos ejecutar el comando de forma mucho más rápida. Podremos usar la abreviatura que nosotros queramos para ejecutar un comando. Por lo tanto podremos recordar más fácilmente el comando a ejecutar para una tarea determinada. Sustituir una herramienta por otra herramienta sin tener que cambiar la sintaxis. Por ejemplo podremos usar herramientas como bat y exa usando la misma sintaxis que con cat y ls. Que al ejecutar un comando simple se ejecute con opciones adicionales. En otras palabra podemos conseguir que ejecutando el comando ls se ejecute el comando ls -lah. Por lo tanto cada vez que ejecutemos ls nos ahorraremos la introducción de las opciones -lah. Existen menos posibilidades de error al introducir un comando en la terminal. El motivo es porque los comandos son cortos y fáciles de recordar ya que han sido creados por nosotros mismos. CREAR UN ALIAS EN LINUX El sistema operativo GNU-Linux permite crear alias permanentes y alias que solo se aplicarán en la sesión actual del emulador de terminal. A continuación veremos ambos casos, pero lo primero que tenemos que tener claro es la sintaxis para crear un alias.\nSintaxis para crear una alias La sintaxis para crear un alias será del siguiente tipo:\nalias abreviatura=\u0026#34;comando_que_ejecuta_la_abreviatura\u0026#34; Cada una de las partes de las sintaxis realiza la siguiente función:\nalias: Parte del comando que indica que queremos crear un alias.\nabreviatura: Es una cadena de caracteres cualquiera que ejecuta un comando, una serie de comandos o un script.\ncomando_que_ejecuta_la_abreviatura: Es el comando que se ejecutará cuando llamamos al alias o abreviatura que hayamos definido.\nUna vez conocemos la sintaxis veremos un ejemplo para comprender mejor lo que estamos explicando.\nEjemplo de creación de un alias Si lo que pretendemos es actualizar nuestro sistema operativo con el comando actualizar lo haremos del siguiente modo:\nPrimero tenemos que tener claro el alias que queremos usar para actualizar nuestro sistema operativo. En mi caso es actualizar. También tenemos que conocer los comandos que tenemos que usar para actualizar el sistema operativo. En mi caso los comandos son sudo apt update \u0026amp;\u0026amp; sudo apt dist-upgrade -y Una vez tenemos claros estos 2 puntos tan solo tenemos que usar la sintaxis que vimos en el apartado anterior. Por lo tanto abriremos un emulador de terminal y ejecutaremos el siguiente comando:\n❯:~$ alias actualizar=\u0026#34;sudo apt update \u0026amp;\u0026amp; sudo apt dist-upgrade -y\u0026#34; Una vez ejecutado el comando podremos actualizar el sistema operativo simplemente usando el comando actualizar. En mi caso si ejecuto el comando actualizar obtendré el siguiente resultado:\n❯:~$ actualizar Obj:1 http://deb.debian.org/debian testing InRelease Obj:2 http://deb.debian.org/debian testing-updates InRelease Obj:3 http://security.debian.org testing-security InRelease Descargados 7.898 B en 3s (2.938 B/s) Leyendo lista de paquetes... Hecho Creando árbol de dependencias... Hecho Leyendo la información de estado... Hecho Todos los paquetes están actualizados. Leyendo lista de paquetes... Hecho Creando árbol de dependencias... Hecho Leyendo la información de estado... Hecho Calculando la actualización... Hecho 0 actualizados, 0 nuevos se instalarán, 0 para eliminar y 0 no actualizados. Por lo tanto acabamos de crear un alias y además vemos que funciona. Pero si cierran el emulador de terminal y lo vuelven a abrir verán que el alias deja de funcionar:\n❯:~$ actualizar actualizar: command not found Para hacer el alias permanente deberán realizar lo siguiente.\nComo hacer que un alias sea permanente Para que el alias creado en el apartado anterior sea permanente deberemos realizar lo siguiente.\nLo primero es averiguar la shell o terminal que estamos usando. Para ello ejecutaremos el comando echo \u0026quot;$SHELL\u0026quot; en la terminal:\n❯:~$ echo \u0026#34;$SHELL\u0026#34; /bin/bash Nota: En mi caso la salida del comando es /bin/bash. Por lo tanto estoy usando la terminal de bash.\nEn función de la terminal que estemos usando tenemos que ejecutar el siguiente comando:\nshell comando /bin/bash nano ~/.bashrc /bin/zsh nano ~/.zshrc /bin/fish nano ~/.config/fish/config.fish Una vez se abra el editor de textos nano se van al final del fichero y añaden el alias del apartado anterior:\nalias actualizar=\u0026#34;sudo apt update \u0026amp;\u0026amp; sudo apt dist-upgrade -y\u0026#34; Acto seguido guardan los cambios, cierran el editor de textos nano y ejecutan el comando correspondiente para recargar la configuración de la terminal. El comando para recargar la configuración será el siguiente en función de la shell que estén usando:\nshell comando /bin/bash source ~/.bashrc /bin/zsh source ~/.zshrc /bin/fish source ~/.config/fish/config.fish A partir de ahora, siempre que ejecutemos el comando actualizar se actualizará nuestro sistema operativo.\nAlgunos ejemplos de alias que pueden ser útiles Ahora ya sabemos como crear alias y además podemos ver su utilidad. A continuación les dejaré una serie de alias que pueden usar si lo creen conveniente:\nAlias Función del alias alias ls=\u0026quot;exa -lah\u0026quot; Permite reemplazar ls por exa. Es preciso instalar exa alias cat=\u0026quot;bat\u0026quot; Reemplazar de forma sencilla cat por bat. Es preciso instalar bat alias rm=\u0026quot;rm -i\u0026quot; Para borrar archivos con más seguridad desde la terminal. alias cp=\u0026quot;cp -i\u0026quot; Antes de sobreescribir un fichero nos pedirá confirmación. alias mv=\u0026quot;mv -i\u0026quot; Antes de sobreescribir un fichero nos pedirá confirmación. alias mkdir=\u0026quot;mkdir -pv\u0026quot; Para facilitar la creación de directorios. alias mkdircd='function _mkdircd(){ mkdir -p \u0026quot;$1\u0026quot;; cd \u0026quot;$1\u0026quot;; };_mkdircd' Crear un directorio y acceder directamente al directorio creado. alias at=\u0026quot;thunar $(pwd)\u0026quot; Abrir el explorador de archivos Thunar desde la terminal en la posición actual. alias gh=\u0026quot;history | grep\u0026quot; Encontrar un comando en el historial de la terminal mediante el comando gh alias count=\u0026quot;find . -type f | wc -l\u0026quot; Usar el comando count para contar los ficheros que contiene un directorio. alias ports=\u0026quot;netstat -tulanp\u0026quot; Listar los puertos abiertos en nuestro equipo. alias free=\u0026quot;free -m -l -t -h\u0026quot; Ver el consumo de memoria de la forma que me interesa acortando el comando ejecutado. alias download=\u0026quot;youtube-dl -f bestaudio --extract-audio --audio-format mp3 Usar el comando download para descargar un audio de youtube mediante youtube-dl. alias syslog=\u0026quot;sudo tail -n 10 /var/log/syslog\u0026quot; Mostrar las 10 últimas líneas del fichero de logs syslog mediante el comando syslog alias cpu10='watch -n 3 \u0026quot;free; echo; uptime; echo; ps aux --sort=-%cpu | head -n 11; echo; who\u0026quot;' Cada 3 segundos mostrar los 10 procesos que consumen más CPU con el comando cpu10 alias mem10='watch -n 3 \u0026quot;free; echo; uptime; echo; ps aux --sort=-%mem | head -n 11; echo; who\u0026quot;' Cada 3 segundos mostrar los 10 procesos que consumen más RAM con el comando mem10 alias ip=\u0026quot;curl icanhazip.com\u0026quot; Saber nuestra ip pública desde la terminal con el comando ip. alias .1=\u0026quot;cd ..\u0026quot; .1 para subir 1 nivel en la estructura de directorios. alias .2=\u0026quot;cd ../..\u0026quot; .2 para subir 2 niveles en la estructura de directorios. alias .3=\u0026quot;cd ../../..\u0026quot; .3 para subir 3 niveles en la estructura de directorios. alias grep=\u0026quot;grep --color=auto\u0026quot; Para que grep resalte la palabra coincidente. alias df=\u0026quot;df -h\u0026quot; Para leer más fácil la salida del comando df. alias tv=\u0026quot;curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python3 -\u0026quot; Realizar un test de velocidad de la conexión a Internet. Nota: La tabla solo muestra algunos de los alias que pueden crear. Si quieren compartir sus alias lo pueden hacer a través de los comentarios de este artículo.\nPrecauciones a tener en el momento de crear un alias Cuando configuramos un alias tenemos que ser cautelosos y evitar usar comandos existentes en nuestro sistema operativo. Por ejemplo si configuramos el siguiente alias:\nalias sudo=\u0026#34;ls\u0026#34; Cada vez que ejecutemos un comando que contiene la palabra sudo la terminal interpretará sudo como ls. Esto implica que no podremos ejecutar comandos con permisos de administrador. Por ejemplo si configuramos el alias alias sudo=\u0026quot;ls\u0026quot; e intentamos refrescar los repositorios de nuestra distribución ocurrirá lo siguiente:\n❯:~$ sudo apt update \u0026#34;apt\u0026#34;: No such file or directory (os error 2) \u0026#34;update\u0026#34;: No such file or directory (os error 2) LISTAR LA TOTALIDAD DE ALIAS QUE TENEMOS CREADOS Para listar la totalidad de alias definidos en nuestro sistema operativo tan solo tenemos que ejecutar el comando alias en la terminal:\n❯:~$ alias alias -- -=\u0026#39;cd -\u0026#39; alias ..=\u0026#39;cd ..\u0026#39; alias ...=\u0026#39;cd ../..\u0026#39; alias ....=\u0026#39;cd ../../..\u0026#39; alias c=\u0026#39;clear\u0026#39; alias cat=\u0026#39;bat\u0026#39; alias h=\u0026#39;history\u0026#39; alias ls=\u0026#39;exa -lah\u0026#39; alias md=\u0026#39;mkdir -p\u0026#39; alias mv=\u0026#39;mv -i\u0026#39; alias pass=\u0026#39;passgen\u0026#39; alias py=\u0026#39;python\u0026#39; alias q=\u0026#39;exit\u0026#39; alias rd=\u0026#39;rmdir\u0026#39; alias rm=\u0026#39;cp -i\u0026#39; alias sl=\u0026#39;ls\u0026#39; alias snano=\u0026#39;sudo nano\u0026#39; alias syslog=\u0026#39;sudo tail -n 10 /var/log/syslog\u0026#39; alias vbpf=\u0026#39;${VISUAL:-vim} ~/.bash_profile\u0026#39; alias vbrc=\u0026#39;${VISUAL:-vim} ~/.bashrc\u0026#39; BORRAR UN ALIAS EN LINUX La forma de borrar un alias dependerá si se trata de un alias permanente o no permanente. En el caso de un alias temporal o no permanente lo haremos del siguiente modo.\nEliminar un alias no permanente Si queremos eliminar la totalidad de alias de un plumazo ejecutaremos el siguiente comando en la terminal:\n❯:~$ unalias -a Después de ejecutar el comando se borrarán la totalidad de alias temporales o no permanentes.\nSi únicamente queremos borrar uno de los alias ejecutaremos el comando unalias seguido del nombre del alias_que_queremos_borrar. Por lo tanto para borrar el alias cuyo nombre es actualizar ejecutaremos el siguiente comando en la terminal:\n❯:~$ unalias actualizar En el caso que necesiten borrar un alias permanente deberán proceder del siguiente modo.\nEliminar un alias permanente En función de la shell que usen deberán usar el siguiente comando:\nshell comando /bin/bash nano ~/.bashrc /bin/zsh nano ~/.zshrc /bin/fish nano ~/.config/fish/config.fish Cuando se abra el editor de textos nano deberán buscar el alias que quieren eliminar y borrarlo. Una vez borrado guardan los cambios, cierran el fichero y recargan la configuración de la terminal. El comando para recargar la configuración será en función de la shell que estén usando:\nshell comando /bin/bash source ~/.bashrc /bin/zsh source ~/.zshrc /bin/fish source ~/.config/fish/config.fish CONCLUSIÓN Los alias son sumamente útiles y dan una idea de lo poderosa que es la terminal en Linux. Los alias nos permitirán ejecutar comandos de forma más rápida y tecleando menos. No obstante es una arma de doble filo porque si modificamos en exceso el comportamiento estándar de nuestro sistema operativo tendremos problemas cuando no trabajemos con nuestro equipo. Además no es una función especialmente interesante para los principiantes de Linux porque lo que un principiante tiene que hacer es aprender los comandos básicos del sistema operativo.\nFuentes https://phoenixnap.com/kb/alias-command\nhttps://www.reddit.com/r/comments/c85me2/useful_aliases_that_i_have_created/\n","permalink":"https://geeklandlinux.github.io/posts/alias-en-linux-que-son-como-crearlos-y-ejemplos/","summary":"\u003cp\u003eEn ocasiones tenemos que introducir comandos largos y difíciles de recordar en la terminal. Esto acostumbra a generar errores y frustración, pero afortunadamente para solucionar este pequeño podremos usar los \u003ccode\u003ealias\u003c/code\u003e en Linux. Los \u003ccode\u003ealias\u003c/code\u003e nos ayudarán a simplificar la ejecución de un comando y de este modo el comando será más fácil de usar y de recordar. Por lo tanto en este artículo veremos que es un alias, que utilidades puede tener, como podemos crear un alias, como podemos borrar alias y como podemos listar los alias que tenemos configurados en nuestra terminal.\u003c/p\u003e","title":"Alias en Linux, Que són como crearlos y ejemplos"},{"content":"Hay varías formas para cambiar de directorio de forma rápida y sencilla en Linux. Algunas bastante conocidas son:\nUsar el autocompletado de rutas mediante la tecla TAB. Usar el historial de comandos mediante el atajo de teclado Ctrl+r y de esta forma acceder a comandos ejecutados en el pasado. Comandos para ir directamente al directorio /home o al directorio anterior. Etc No obstante existen otros métodos menos conocidos como por ejemplo gestionar una pila de rutas con los comandos pushd, popd, cd y dirs. A continuación veremos este método que seguro que a muchos de vosotros les será de gran utilidad.\nFORMA EN LA QUE PUSHD Y POPD NOS PERMITE CAMBIAR DE DIRECTORIO DE FORMA RÁPIDA Y SENCILLA El comando pushd nos permitirá crear una lista o pila de directorios enumerada. Una vez creada la pila o lista de directorios el comando cd nos permitirá ir de forma rápida y sencilla a cualquier directorio almacenado en la pila o lista de directorios. De esta forma podremos cambiar de directorio de forma rápida y sencilla.\nAdemás el comando dirs nos permitirá listar los directorios que tenemos en la pila de directorios en todo momento.\nLa forma más sencilla de entender lo que acabo de decir es mediante el siguiente ejemplo.\nCAMBIAR ENTRE DIRECTORIOS MEDIANTE LOS COMANDOS PUSDHD Y POPD Imaginemos el caso que tenemos que estar constantemente intercambiando entre los siguientes directorios o rutas:\n1. /home/geekland 2. /var/log 3. /var/tmp 4. ~/.config 5. /etc 6. /usr Si por ejemplo queréis cambiar del directorio 1 al directorio 2 y después del directorio 2 al directorio 6 les recomiendo que lo hagan del siguiente modo.\nCrear una pila o lista con las rutas que necesitamos acceder (sin acceder a la rutas que introducimos) Lo primero que tenemos que realizar es crear una lista o pila de directorios. Para introducir los 6 directorios mencionados en el inicio de este apartado lo haremos del siguiente modo:\nEl primer directorio es /home/geekland. Por lo tanto lo primero a realizar es dirigirse al directorio /home/geekland ejecutando el siguiente comando en la terminal:\n❯:~$ cd /home/geekland A continuación introduciremos el resto de directorios del siguiente modo:\n❯:~$ pushd -n /var/log ~ /var/log Nota: Si os fijáis la salida del comando indica los directorios que tenemos en la pila. En este ejemplo los 2 directorios que ya tenemos en la pila son ~ y /var/log\nNota: La estructura que usamos para añadir el directorio en la pila es pushd -n seguido del directorio que queremos añadir a la pila. La opción -n hará que en el momento de introducir el directorio en la pila nos quedemos fijos en el directorio actual.\nNota: Cada una de las nuevas rutas añadida se almacenarán en la posición 1 de la pila de directorios.\nPara añadir el resto de directorios en la pila seguiremos usando el comando pushd -n seguido de la directorio que queremos añadir a la pila del siguiente modo:\n❯:~$ pushd -n /var/tmp ~ /var/tmp /var/log ❯:~$ pushd -n ~/.config ~ ~/.config /var/tmp /var/log ❯:~$ pushd -n /etc ~ /etc ~/.config /var/tmp /var/log ❯:~$ pushd -n /usr ~ /usr /etc ~/.config /var/tmp /var/log Si os fijáis la salida del último comando muestra la totalidad de directorios a los que necesitamos acceder. Por lo tanto hemos terminado nuestra tarea.\nListar las rutas de la pila Cada vez que ejecutamos un comando popd o pushd veremos los directorios que tenemos almacenados en la pila. Pero también podemos consultar los directorios presentes en la pila con el comando dirs. El comando dirs nos permite obtener la totalidad de directorios almacenados en la pila de forma enumerada. Esto será de grandísima utilidad para que después podamos acceder al directorio que nosotros queremos con suma facilidad.\nSi simplemente ejecutamos el comando dirs obtendremos los directorios almacenados en la pila:\n❯:~$ dirs ~ /usr /etc ~/.config /var/tmp /var/log Si ahora queremos obtener los directorios presentes a la pila de forma enumerada añadiremos la opción -v del siguiente modo:\n❯:~$ dirs -v 0 ~ 1 /usr 2 /etc 3 ~/.config 4 /var/tmp 5 /var/log Si finalmente queremos imprimir la ruta completa de los directorios añadiremos la opción -l del siguiente modo:\n❯:~$ dirs -v -l 0 /home/geekland 1 /usr 2 /etc 3 /home/geekland/.config 4 /var/tmp 5 /var/log Nota: La posición número 0 de la pila se irá reescribiendo y siempre será el directorio de trabajo actual.\nDuplicar la ruta raíz, o la posición 0 de la lista, en el caso que lo consideren necesario Si observamos la última pila de directorios vemos que tenemos la totalidad de directorios en la pila. Pero si os fijáis el directorio /home/geekland está en la posición 0. Esto es un problema porque la posición 0 se sobrescribe cada vez que cambiamos de directorio. La posición 0 siempre será la ruta del directorio en que estamos ubicados actualmente.\nPor lo tanto les recomiendo duplicar el directorio almacenado en la posición 0 del siguiente modo:\n❯:~$ pushd . ~ ~ /usr /etc ~/.config /var/tmp /var/log Si ahora volvemos a consultar los directorios que tenemos en la pila vemos que entre la posición 1 y la posición 6 están presentes la totalidad de directorios a los que necesitamos acceder de forma frecuente.\n❯:~$ dirs -v -l 0 /home/geekland 1 /home/geekland 2 /usr 3 /etc 4 /home/geekland/.config 5 /var/tmp 6 /var/log Cambiar al directorio que tenemos almacenado en la posición 3 de la pila de directorios Si estamos en la ruta /home/geekland y queremos cambiar al directorio /etc tan solo tenemos que ver la posición que el directorio /etc ocupa en la pila de directorios. En nuestro caso ocupa la posición 3. Por lo tanto para acceder al directorio /etc tan solo tendremos que ejecutar el siguiente comando:\n❯:~$ cd ~3 Justo al ejecutar el comando nos dirigiremos al directorio /etc. Si ahora imprimimos nuestra pila veremos que los directorios presentes en la pila son los siguientes:\n❯:/etc$ dirs -v -l 0 /etc 1 /home/geekland 2 /usr 3 /etc 4 /home/geekland/.config 5 /var/tmp 6 /var/log Si analizamos los resultados vemos:\nAntes el directorio 0 era /home/geekland. Ahora es /etc. Esto es así porque el directorio 0 siempre mostrará el directorio en el que nos encontramos ubicados. El resto de directorios serán exactamente iguales que los anteriores. Esto es sumamente importante porque esto es lo que nos permite asociar un directorio a un número. Por lo tanto el directorio 3 siempre será el /etc y el directorio 6 siempre será el /var/log. Si ahora nos queremos dirigir al directorio 6, que es el /var/log, ejecutaremos el siguiente comando en la terminal:\n❯:~$ cd ~6 Y la pila de directorios quedará del siguiente modo:\n❯:/var/log$ dirs -v -l 0 /var/log 1 /home/geekland 2 /usr 3 /etc 4 /home/geekland/.config 5 /var/tmp 6 /var/log Y al igual que antes:\nEl directorio 0 ahora será /var/log porque es el directorio en el que nos encontramos ubicados. El resto de directorios del 1 al 6 serán exactamente los mismos que antes. Ir intercambiando entre el directorio almacenado en la posición 0 y 1 de la pila de directorios Siguiendo con el ejemplo anterior podemos ver que estamos ubicados en la ruta /var/log\n❯:/var/log$ pwd /var/log Los directorios que tenemos que almacenados en la pila son los siguientes:\n0 /var/log 1 /home/geekland 2 /usr 3 /etc 4 /home/geekland/.config 5 /var/tmp 6 /var/log\nSi ahora queremos que intercambiar varias veces entre los directorios almacenados en la posición 0 y 1 de nuestra pila lo podemos hacer de varias formas. La primera de ellas es identificando las posiciones de los directorios /var/log y /home/geekland. En nuestro caso estos directorios están ubicados en las posiciones 1 y 6de la pila. Por lo tanto si estamos en el directorio /var/log y queremos ir al /home/geekland ejecutaremos el comando:\n❯:/var/log$ cd ~1 y si ahora queremos volver al /var/log ejecutaremos el comando:\n❯:~$ cd ~6 Otra forma para conseguir el mismo propósito sería mediante el comando pushd. Pero esta forma no me gusta porque modifica las posiciones de la pila de directorios y en mi caso siempre me gusta tener asociado un directorio a un número. Pero si lo queréis hacer de esta forma tened en cuenta que cada vez que ejecutéis el comando pushd el directorio almacenado en la posición 0 se irá a la posición 1 y el que está en la posición 1 a la 0. Por lo tanto si nuestra pila de directorios es la siguiente:\n0 /var/log 1 /home/geekland 2 /usr 3 /etc 4 /home/geekland/.config 5 /var/tmp 6 /var/log\ny ejecutamos el comando pushd nos dirigiremos automáticamente al directorio /home/geekland\n❯:/var/log$ pushd ~ /var/log /usr /etc ~/.config /var/tmp /var/log ❯:~$ Si ahora miramos la pila de directorios veremos que se han intercambiado. El directorio que antes estaba en la posición 0 ahora está en la posición 1 y el que estaba en la posición 1 ahora está la posición 0.\n❯:~$ dirs -v -l 0 /home/geekland 1 /var/log 2 /usr 3 /etc 4 /home/geekland/.config 5 /var/tmp 6 /var/log si ahora volvemos a ejecutar de nuevo el comando pushd volveremos a ubicarnos dentro del directorio /var/log\n❯:~$ pushd /var/log ~ /usr /etc ~/.config /var/tmp /var/log ❯:/var/log$ y además se volverán a intercambiar los directorios almacenados en la posición 0 y 1 de la pila.\n❯:/var/log$ dirs -v -l 0 /var/log 1 /home/geekland 2 /usr 3 /etc 4 /home/geekland/.config 5 /var/tmp 6 /var/log Eliminar un elemento de la pila de directorios El comando popd lo podemos usar para eliminar un elemento de la pila. Si por ejemplo queremos eliminar el directorio almacenado en la posición 4 ejecutaremos el siguiente comando:\n❯:/var/log$ popd +4 /var/log ~ /usr /etc /var/tmp /var/log Si miramos los directorios almacenados en la pila vemos que se ha borrado la número 4. Las rutas almacenadas serán las siguientes:\n❯:/var/log$ dirs -v -l 0 /var/log 1 /home/geekland 2 /usr 3 /etc 4 /var/tmp 5 /var/log Eliminar el directorio almacenado en la posición 0 de la pila Si queremos eliminar el directorio almacenado en la posición 0 de la pila tan solo tenemos que ejecutar el comando popd del siguiente modo:\n❯:/var/log$ popd ~ /usr /etc /var/tmp /var/log Si ahora vuelven a observar la pila de directorios verán que en vez de tener 6 posiciones tendrá 5 posiciones.\n❯:~$ dirs -v -l 0 /home/geekland 1 /usr 2 /etc 3 /var/tmp 4 /var/log Si volvemos a ejecutar el comando popd\n❯:~$ popd /usr /etc /var/tmp /var/log Entonces se volverá a borrar el directorio número 0 de la pila. Además la pila pasará de tener 5 elementos a tener 4 elementos.\n❯:/usr$ dirs -v -l 0 /usr 1 /etc 2 /var/tmp 3 /var/log Si continuamos ejecutando el comando popd borraremos la totalidad de directorios almacenados en la pila.\nCambiar de directorio modificando el orden de la pila de directorios También podemos usar el comando pushd para movernos de un directorio a otro a la vez que modificamos el orden de la pila de directorios. En mi caso no uso está funcionalidad, pero si vosotros la queréis usar lo podéis hacer del siguiente modo.\nSi tenemos la siguiente pila de directorios:\n0 /usr 1 /etc 2 /var/tmp 3 /var/log\nY queremos acceder al directorio 2 que es el /var/tmp podemos ejecutar el siguiente comando:\n❯:/usr$ pushd +2 /var/tmp /var/log /usr /etc ❯:/var/tmp$ Si después de ejecutar el comando observamos el orden de la pila de directorios vemos lo siguiente:\n❯:/var/tmp$ dirs -v -l 0 /var/tmp 1 /var/log 2 /usr 3 /etc Todos los directorios de la posición 2 en adelante se han desplazado a la parte superior. Por lo tanto, en el ejemplo en cuestión, los directorios que ocupaban la posición 2 y 3 ahora ocupan la posición 0 y 1. Y los directorios que antes ocupaban las posiciones 0 y 1 ahora ocupan las posiciones 2 y 3. Particularmente no me gusta esta forma de trabajar porque me gusta tener siempre asociado un número a un directorio.\nCrear una pila de directorios de forma automática Si quieren pueden automatizar la creación de la pila de directorios. Si siempre se mueven por los mismos directorios, que por ejemplo podrían ser los siguientes:\n1. /home/geekland 2. /var/log 3. /var/tmp 4. ~/.config 5. /etc 6. /usr Pueden abrir el fichero .bashrc mediante el siguiente comando:\n❯:~$ nano ~/.bashrc Cuando se abra el editor de texto nano añadiremos el siguiente código al final del fichero para que cada vez que abramos un emulador de terminal se cree nuestra pila de directorios de forma automática:\npushd -n /var/log pushd -n /var/tmp pushd -n ~/.config pushd -n /etc pushd -n /usr pushd . Acto seguido guardamos los cambios y cerramos el fichero. A partir de ahora cada vez que abramos una terminal se nos creará una pila de directorios de forma automática.\nCONCLUSIONES SOBRE COMO CAMBIAR DE DIRECTORIO DE FORMA SENCILLA La forma detallada en el artículo es una forma rápida y eficaz para cambiar de un directorio a otro de forma rápida. El método es especialmente efectivo en el caso que tengamos que intercambiar de forma prolongada entre los mismos directorios.\nHay otros usos de los comandos pushd y popd, pero lo que he detallado en este artículo es la forma que me parece mejor en mi caso.\nFuentes https://unix.stackexchange.com/questions/77077/how-do-i-use-pushd-and-popd-commands\n","permalink":"https://geeklandlinux.github.io/posts/cambiar-de-directorio-de-forma-rapida-y-sencilla-en-linux/","summary":"\u003cp\u003eHay varías formas para cambiar de directorio de forma rápida y sencilla en Linux. Algunas bastante conocidas son:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eUsar el autocompletado de rutas mediante la tecla \u003ccode\u003eTAB\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUsar el \u003ca href=\"/posts/como-usar-y-configurar-el-historial-de-comandos-history-en-linux/\"\u003ehistorial de comandos\u003c/a\u003e mediante el atajo de teclado \u003ccode\u003eCtrl+r\u003c/code\u003e y de esta forma acceder a comandos ejecutados en el pasado.\u003c/li\u003e\n\u003cli\u003eComandos para ir directamente al directorio \u003ccode\u003e/home\u003c/code\u003e o al directorio anterior.\u003c/li\u003e\n\u003cli\u003eEtc\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eNo obstante existen otros métodos menos conocidos como por ejemplo gestionar una pila de rutas con los comandos \u003ccode\u003epushd\u003c/code\u003e, \u003ccode\u003epopd\u003c/code\u003e, \u003ccode\u003ecd\u003c/code\u003e y \u003ccode\u003edirs\u003c/code\u003e. A continuación veremos este método que seguro que a muchos de vosotros les será de gran utilidad.\u003c/p\u003e","title":"Cambiar de directorio de forma rápida con pushd y popd"},{"content":"Todo usuario que se inicia en el uso de la terminal (CLI) acostumbra a pensar que usar la terminal es lento y engorroso. Además la gran mayoría piensa que es mejor utilizar una interfaz gráfica (GUI). Pero si estos usuarios hacen el esfuerzo de usar la terminal, tarde o temprano, se darán cuenta que la terminal también ofrece ventajas frente a las interfaces gráficas. Por lo tanto a lo largo de este artículo veremos las características ofrecidas por cada una de las opciones.\nVENTAJAS Y DESVENTAJAS DE USAR LA TERMINAL Algunas de las ventajas y desventajas al usar la terminal son las que citaremos a continuación.\nFACILIDAD DE USO Aprender a usar la terminal tiene una curva de aprendizaje más alta que usar interfaz gráfica. Usar la terminal requiere:\nTener la capacidad y paciencia de memorizar comandos. Tener curiosidad y ganas de aprender. Ser paciente para leer la documentación de las páginas man. A ser posible tener nociones básicas de programación. Tener la suficiente paciencia para irse familiarizando con el uso de terminal. En contraposición las aplicaciones con interfaz gráfica (GUI) tienen una curva de aprendizaje mucho menor que las que se ejecutan en la terminal (CLI). Esto es así por los siguientes motivos:\nProporcionan un entorno visual agradable. Si una cosa es bonita por fuera atrae a los usuarios. Acostumbran a ser intuitivas. Las interfaces gráficas tienen iconos, colores e imágenes que normalmente hacen que la curva de aprendizaje de los usuarios sea mucho menor. En este caso es importante recordar que la mayoría de seres humanos tienden a memorizar mejor los conceptos gráficos que los que están en formato texto. Por las razones citadas en este apartado los usuarios noveles prefieren usar interfaces gráficas antes que la terminal. No obstante es importante remarcar lo siguiente. Es verdad que tardaremos más tiempo en aprender los comandos para usar la terminal, pero una vez aprendidos podremos abrir una terminal en cualquier ordenador y trabajar de forma habitual. En cambio las GUI acostumbran a varían mucho entre distintas versiones de programas.\nAUTOMATIZACIÓN DE TAREAS MEDIANTE SCRIPTS Por norma general las interfaces gráficas no permiten la automatización de tareas repetitivas. Una claro ejemplo de lo que acabo de comentar es el redimensionado de fotografías. Si usáis un programa con interfaz gráfica y tenéis que redimensionar 1000 fotografías de un directorio a un 50% es altamente probable que tengáis que repetir 1000 veces la misma operación.\nEn cambio si usáis la terminal lo podrán hacer en cuestión de segundos ejecutando un comando similar al siguiente:\nfor file in *.png; do convert $file -resize 50% resized-$file; done Basándome en este último ejemplo recomendaría el uso de la terminal a la totalidad de usuarios que tengan en mente la productividad personal. Tengan en cuenta que toda tarea/operación realizada en al terminal se podrá automatizar mediante scripts. Cuantas más operaciones consigáis automatizar más tiempo ahorrareis. Por lo tanto una de las ventajas que proporciona la terminal es la automatización de tareas.\nCONSUMO DE RECURSOS Y RENDIMIENTO Las aplicaciones que se ejecutan en la terminal (CLI) consumen menos recursos y tienen un rendimiento superior. Esto es así porque las aplicaciones ejecutadas en la terminal:\nNo requieren de un driver gráfico avanzado. No usan iconos ni imágenes. No tienen que cargar ningún tipo de fuente. Tienen un consumo de memoria menor. Tienen un consumo de CPU menor. Requieren una capacidad de almacenamiento en disco duro menor. Las aplicaciones que se ejecutan en la terminal prácticamente no ocupan espacio en nuestro disco duro. Interactúan de forma mucho más directa con el sistema operativo. etc. Por lo tanto otra de las ventajas de la terminal será que el consumo de recursos será mucho menor que si usamos una interfaz gráfica. Consecuentemente el rendimiento y la velocidad con que se ejecutarán las tareas/operaciones será mejor en la terminal.\nVELOCIDAD DE EJECUCIÓN Y USO DE LOS PROGRAMAS Con la terminal pueden satisfacer el 100% de sus necesidades mediante el uso del teclado. En cambio con las interfaces gráficas tendrán que ir moviendo el ratón e ir clicando en las opciones pertinentes. Por lo tanto ejecutar acciones en la terminal (CLI) será más rápido que con una interfaz gráfica (GUI). Esto es así porque en la mayoría de ocasiones es mucho más rápido usar el teclado que ir moviendo el ratón e ir clicando encima de los iconos y opciones pertinentes. No obstante para ejecutar tareas de forma rápida en la terminal tendremos que ser capaces de:\nRecordar comandos. Recordar los atajos de teclado para poder interactuar con las aplicaciones que ejecutamos en la terminal. Acceder de forma rápida a los comandos almacenados en el historial de nuestra shell. Conocer trucos y los atajos de teclado para ejecutar de forma rápida comandos que se han ejecutado en el pasado. Tener conocimientos básicos de programación de scripts. Los scripts permiten ejecutar un conjunto de comandos para conseguir un fin de forma rápida y sencilla. Por lo tanto si tienen paciencia y dominan los 5 puntos que acabo de citar les aseguro que podrán realizar las tareas de forma sensiblemente más rápida en la terminal. No obstante requiere de un tiempo de aprendizaje y de persistencia.\nEVITAR DISTRACCIONES MIENTRAS USAMOS UN PROGRAMA Las aplicaciones que se ejecutan en la terminal facilitan concentrarte en lo que estás haciendo. Las interfaces de terminal acostumbran a:\nMostrar únicamente las opciones que son necesarias para proseguir al siguiente paso. Tener un número reducido de colores e información en pantalla. La interfaz de uso acostumbra a ser límpia. En cambio las aplicaciones que se ejecutan mediante una interfaz gráfica acostumbran a ser todo lo contrario a lo que acabo de citar. Por lo tanto las aplicaciones que se ejecutan en la terminal evitan distracciones mientras las estamos usando. También nos deberían permitir ser más productivos.\nINTERACCIÓN CON EL SISTEMA OPERATIVO La línea de comandos (CLI) permite interactuar de forma más directa y precisa con nuestro sistema operativo y saber en todo momento lo que está pasando. Por ejemplo si al ejecutar un programa en la terminal se produce un error nos saldrá un mensaje de error que nos dará alguna pista de lo que está pasando. En cambio si el programa se ejecuta a través de una interfaz gráfica no podremos ver el error de forma directa.\nAdemás cuando lanzamos una aplicación en la terminal te da a entender que estás ejecutando un fichero binario junto a una serie de opciones que nosotros podemos modificar. Esta serie de opciones nos dan un mejor control de las acciones que realizamos en todo momento.\nCONCLUSIONES SOBRE LAS VENTAJAS DE USAR LA TERMINAL EN GNU LINUX En ningún momento voy a decir que la terminal es mejor que una interfaz gráfica o viceversa. Simplemente me limitaré a citar sus ventajas e inconvenientes y después que cada usuario elija lo que crea conveniente. No obstante de antemano también digo que la terminal no es para todos los usuarios. Mis conclusiones finales son las siguientes:\nTerminal (CLI) Interfaz Gráfica (GUI) Productividad Es superior porque funciona con el teclado, no hay distracciones en su uso, permite automatización de tareas, permite ejecutar tareas de forma más rápida, etc. Es inferior. No acostumbra a ofrecer automatización de tareas, se usa el ratón, muchas interfaces no son límpias, es más lento ejecutar tareas, etc. Consumo de recursos Es claramente menor. Menor consumo de memoria, de CPU y requiere de menos espacio de almacenaje. Es claramente superior. Mayor consumo de memoria, de CPU y requiere más espacio de almacenaje. Velocidad de ejecución Al consumir menos recursos las tareas se ejecutarán de forma más rápida. Al consumir más recursos las tareas se ejecutarán de forma más lenta. Facilidad de uso Su uso es más complicado. Requiere de una curva de aprendizaje elevada. Su uso es más simple e intuivo. La curva de aprendizaje es menor. Hoy en día la realidad es que la gran mayoría de usuarios prefieren la interfaz gráfica porque de entrada es más amigable. No obstante si eres un heavy user, un programador o un administrador de sistemas te deberías plantear iniciarte poco a poco en el uso de la terminal.\nFUENTES","permalink":"https://geeklandlinux.github.io/posts/ventajas-de-la-terminal-respecto-una-interfaz-grafica/","summary":"\u003cp\u003eTodo usuario que se inicia en el uso de la \u003ca href=\"https://terminaldelinux.com/terminal/introduccion/que-es-terminal/\"\u003eterminal (CLI)\u003c/a\u003e acostumbra a pensar que usar la terminal es lento y engorroso. Además la gran mayoría piensa que es mejor utilizar una \u003ca href=\"https://es.wikipedia.org/wiki/Interfaz_gr%C3%A1fica_de_usuario\"\u003einterfaz gráfica (GUI)\u003c/a\u003e. Pero si estos usuarios hacen el esfuerzo de usar la terminal, tarde o temprano, se darán cuenta que la terminal también ofrece ventajas frente a las interfaces gráficas. Por lo tanto a lo largo de este artículo veremos las características ofrecidas por cada una de las opciones.\u003c/p\u003e","title":"Ventajas de la terminal respecto una interfaz gráfica"},{"content":"Por segunda vez en mi vida estaba buscando una carpeta en la que tenía unos documentos de trabajo y sorprendentemente no estaba donde tenia que estar. Antes de entrar en pánico he usado el buscador de Windows y a posteriori he mirado en la papelera de reciclaje, pero desafortunadamente la información no estaba. Frente esta situación he consultado el departamento de informática de mi empresa y como en este caso no había copia de seguridad han decidido usar un software profesional para intentar recuperar carpetas borradas. En este caso el software utilizado ha sido 4DDIG y para mi suerte el resultado ha sido satisfactorio. El procedimiento que seguimos fue el siguiente.\nMÉTODO 1: UTILIZAR EL MEJOR PROGRAMA PARA RECUPERAR CARPETAS BORRADAS EN WINDOWS 10 El procedimiento a seguir para solucionar mi problema ha sido relativamente sencillo. Tan solo he tenido que descargar 4DDIG e instalarlo en el equipo.\nNota: Es recomendable instalar 4DDIG en una partición distinta a la que se han perdido los datos.\nSeleccionar la unidad o ubicación donde recuperar las carpetas borradas Una vez finalizada la instalación abrimos el programa y aparecerá la siguiente pantalla en la que tendremos que seleccionar la unidad o ruta donde tendría que estar la carpeta borrada. En mi caso la información que he perdido se hallaba dentro del directorio C:\\Users\\empresa\\Desktop\\fidelity campaing. Por lo tanto en la primera pantalla selecciono la opción de Seleccionar Carpeta.\nSeguidamente seleccionamos la ruta más cercana en la que estaba el contenido eliminado por accidente, que en mi caso es C:\\Users\\empresa\\Desktop\\fidelity campaing. Acto seguido presionaremos el botón EMPEZAR para iniciar el escaneo de información perdida.\nSeleccionar el tipo de fichero recuperar A continuación tenemos que seleccionar el tipo de fichero que queremos recuperar. En mi caso no recordaba los tipos de ficheros almacenados en la carpeta borrada, por lo tanto lo mejor es clicar encima del botón Escanear todos los tipos de archivos\nProceso de escaneo de los ficheros perdidos Seguidamente empezará el escaneo para tratar de recuperar la información borrada accidentalmente. En mi caso, al dar una ruta muy concreta, el proceso de escaneo ha sido extremadamente corto. Los resultados obtenidos después del escaneo han sido los siguientes:\nSi os fijáis los archivos a recuperar se clasifican por directorios. En la captura de pantalla anterior hay una explicación clara del contenido que encontraremos en cada uno de los directorios.\nBuscar la carpeta a restaurar e instrucciones de como recuperar una carpeta eliminada Navegando dentro del directorio de Archivos eliminados he podido encontrar de forma rápida y sencilla la carpeta que borre accidentalmente. Una vez encontrada tan solo hay que seleccionarla y presionar encima del botón Recuperar.\nNótese 4DDIG ofrece varias herramientas para localizar la/s carpeta/s y/o fichero/s a restaurar. Algunas de ellas son:\nDiferentes tipos de vista. Existe la vista por tipo de archivo y la vista de árbol. Filtros por tipo de archivo, filtros por tamaño de archivo y por fecha de modificación. Previsualización los ficheros antes de restaurarlos. De esta forma podemos asegurar que lo que vamos a restaurar es lo que necesitamos. Seleccionar la ruta de restauración El último de los pasos consiste en definir el directorio en que queremos restaurar la carpeta que eliminé accidentalmente. Una vez seleccionada la unidad y la ruta en la que quieren recuperar el contenido tan solo hay que volver a clicar encima del botón Recuperar.\nNota: Es recomendable que la ruta de recuperación esté en una partición distinta a la que se han perdido los datos.\nMuestra del contenido restaurado Finalmente tan solo tenemos que navegar en la ruta que seleccionamos para recuperar el contenido. En mi caso pueden ver el contenido recuperado en la siguiente captura de pantalla.\nLes recomiendo que accedan al siguiente enlace para obtener una guía mucho más completa de como recuperar carpetas borradas con 4DDIG\nMÉTODO 2: CÓMO RECUPERAR UNA CARPETA ELIMINADA DESDE LA PAPELERA Otra opción alternativa a la que he citado en el apartado anterior es intentar recuperar las carpetas eliminadas mediante la opción de la papelera de reciclaje del software 4DDIG.\nPara ello lo primer que hay que realizar es entrar la papelera de reciclaje de Windows y mirar si el contenido borrado aún se encuentra dentro de la papelera de reciclaje. En el caso que el contenido se encuentra allí lo seleccionan y lo restauran del siguiente modo:\nEn el caso que no podamos encontrar el contenido borrado accidentalmente podemos usar de nuevo 4DDIG. Para ello tenemos que tener en cuenta que toda carpeta/fichero acostumbra a pasar por la papelera de reciclaje antes de ser borrado totalmente. Por lo tanto cuando abramos el programa 4DDIG tan solo tenemos que seleccionar la unidad Papelera de Reciclaje\nActo seguido seleccionamos el tipo de fichero a recuperar. Tal y como hicimos en apartados anteriores seleccionamos la opción Escanear todos los tipos de archivos.\nFinalmente podremos seleccionar y recuperar el contenido que previamente haya sido eliminado de la Papelera de reciclaje.\nMÉTODO 3: RECUPERAR CARPETAS BORRADAS EN WINDOWS RESTAURÁNDOLO A VERSIONES ANTERIORES Si no les funciona ninguna de las opciones anteriores les recomiendo usar la herramienta de versiones anteriores de su sistema operativo Windows 10 o Windows 11. Para saber como recuperar carpetas borradas mediante las versiones anteriores de Windows les recomiendo que visiten el siguiente enlace.\nhttps://geeklandlinux.github.io/posts/recuperar-archivos-borrados-sin-programas-windows/\nCONCLUSIONES SOBRE RECUPERAR CARPETAS BORRADAS EN WINDOWS Mis reflexiones después de usar el software 4DDIG para recuperar carpetas borradas son las siguientes:\nEs un software con una interfaz intuitiva y es fácil de utilizar. Además dispone de herramientas que permiten filtrar y buscar con facilidad los ficheros y carpetas que quieren recuperar. Permite recuperar más de 1000 tipos de archivos. Obviamente puede recuperar los tipos de archivo más comunes como por ejemplo archivos de vídeo, de imagen, de audio, etc. En el artículo no mostramos el 100% de funcionalidades del software. Por ejemplo 4DDIG también permite crear un USB de arranque para poder recuperar datos e información de ordenadores que simplemente no arrancan. Del mismo modo permite recuperar fotos y vídeos dañados, puede recuperar datos de dispositivos de almacenamiento externo, etc. Este software no elimina la necesidad de realizar copias de seguridad. Este software, al igual que todos sus homólogos, no garantiza al 100% la recuperación de ficheros y carpetas borrados. Cuando más antiguo sea el fichero o carpeta a recuperar menores serán las posibilidades de recuperación. Por lo tanto realicen copias de seguridad. Hasta el momento no lo he citado, pero se trata de un software por el que hay que pasar por caja antes de usarlo. Su coste y política de precios no son de mi total agrado. Si quieres una licencia de por vida el coste es de 120,99 Euros lo cual no creo que esté mal. El problema viene en que si quieres adquirir una licencia de 1 mes el coste no es ni más ni menos que 55,65 Euros. Pueden dirigirse en el siguiente enlace en el caso que quieran adquirir una licencia de uso. (En la página web de 4DDIG acostumbran a ofrecer cupones de descuento del 30%) ","permalink":"https://geeklandlinux.github.io/posts/como-recuperar-carpetas-borradas-en-windows-10/","summary":"\u003cp\u003ePor segunda vez en mi vida estaba buscando una carpeta en la que tenía unos documentos de trabajo y sorprendentemente no estaba donde tenia que estar. Antes de entrar en pánico he usado el buscador de Windows y a posteriori he mirado en la papelera de reciclaje, pero desafortunadamente la información no estaba. Frente esta situación he consultado el departamento de informática de mi empresa y como en este caso no había copia de seguridad han decidido usar un software profesional para intentar recuperar carpetas borradas. En este caso el software utilizado ha sido \u003ca href=\"https://4ddig.tenorshare.com/es/windows-data-recovery.html\"\u003e4DDIG\u003c/a\u003e y para mi suerte el resultado ha sido satisfactorio. El procedimiento que seguimos fue el siguiente.\u003c/p\u003e","title":"Cómo recuperar carpetas borradas en windows 10"},{"content":"Conocer los atajos de teclado de la terminal les proporcionará velocidad y también les permitirá tener acceso a una serie de funciones adicionales. Los atajos de teclado típicos que acostumbran a tener la gran mayoría de emuladores de terminal son los que verán a continuación.\nAtajos de teclado para mover el cursor de posición Los atajos de teclado que podemos usar para mover la posición en que se encuentra el cursor de la terminal son:\nAtajo de Teclado Acción ctrl+a Mover el cursor al inicio de la línea. ctrl+e Mover el cursor al final de la línea. ctrl+b o ← Hacer que el cursor retroceda un carácter. alt+b o Ctrl+ ← Hacer que el cursor retroceda una palabra. ctrl+f Hacer que el cursor avance un carácter. alt+f o Ctrl+ → Mover el cursor al inicio de la siguiente palabra. Atajos para copiar, cortar y pegar texto Si queremos cortar, copiar, pegar y manipular texto en la terminal le serán de utilidad los siguientes atajos de teclado:\nAtajo de Teclado Acción Ctrl+Shift+c Copiar el texto seleccionado en el portapapeles. Ctrl+Shift+v Pegar el texto copiado en el portapapeles. Ctrl+u Cortar todo el contenido desde la posición actual del cursor hasta el inició de la línea. Ctrl+k Cortar todo el contenido desde la posición actual del cursor hasta el final de la línea. Ctrl+w Para cortar la palabra que está justo antes del cursor. Alt+d o Esc+d Cortar la palabra justo después del cursor. Ctrl+y Permite pegar el último texto que se ha cortado con los atajos Ctrl+u, Ctrl+k, Alt+d o Ctrl+u. Alt+y Permite pegar el penúltimo texto que se ha cortado con los atajos Ctrl+u, Ctrl+k, Alt+d o Ctrl+u. Atajos para borrar contenido en la terminal En el caso que tengamos que borrar texto en la terminal es importante tener en mente los siguientes atajos de teclado:\nAtajo de Teclado Acción Ctrl+h o Retroceso Borrar un solo carácter. Equivalente a la tecla retroceso. Ctrl+d o Supr Borrar el carácter sobre el que está el cursor Ctrl+w Borrar la palabra que está justo antes del cursor. Alt+d o Esc+d Borrar la palabra justo después del cursor. Ctrl+u Borra todo el contenido desde la posición actual del cursor hasta el inició de la línea. Ctrl+k Borrar todo el contenido desde la posición actual del cursor hasta el final de la línea. Ctrl+l Limpia la pantalla de la terminal. Este atajo de teclado es equivalente a usar el comando clear. Ctrl+d Sirve para cerrar la sesión actual de terminal. Es equivalente al comando exit. Atajos de teclado relacionados con la edición de texto en la terminal En el caso que necesitemos modificar el texto escrito en la terminal les pueden llegar a ser útiles los siguientes atajos de teclado:\nAtajo de Teclado Acción Ctrl+t Intercambia la posición de los 2 caracteres antes del cursor. Esc+t o Alt+t Intercambia la posición de las 2 palabras antes del cursor. Esc+u Cambiar de minúsculas a mayúsculas desde la posición del cursor hasta el final de la palabra. Alt+u Cambiar de minúsculas a mayúsculas desde la posición del cursor hasta el siguiente espacio. Esc+l Cambiar de mayúsculas a minúsculas desde la posición del cursor hasta el final de la palabra. Alt+l Cambiar de mayúsculas a minísculas desde la posición del cursor hasta el siguiente espacio. Alt+c Cambia de minúsculas a mayúsculas la letra sobre la que está el cursor y el cursor se posiciona al final de la palabra. TAB o Alt+i Permite autocompletar rutas y comandos. Es sumamente útil para incrementar la velocidad cuando usamos la terminal. Si estamos en la mitad de escritura de un comando o ruta aprieten la tecla TAB para autocompletar el comando o la ruta. Si no se autocompleta es porque hay más de una opción disponible. Para ver todas las opciones disponibles presionen la tecla TAB 2 veces. Ejecutar comandos que se han ejecutado con anterioridad Linux almacena la totalidad de comandos ejecutados en la terminal en el fichero ~/.bash_history. Gracias a este archivo podremos recuperar de forma rápida y sencilla comandos que hemos ejecutado en el pasado. De esta forma podremos ejecutar comandos largos y complejos de forma rápida y sencilla. Los atajos de teclado a usar para recuperar los comandos almacenados en el historial de comandos de la terminal son los siguientes:\nAtajo de Teclado Acción Ctrl+p o ↑ Imprime el último comando ejecutado en la terminal. Si lo apretamos 2 veces muestra el penúltimo comando y así sucesivamente. Ctrl+n o ↓ Imprime el siguiente comando hacia adelante en caso que antes hayamos usado los atajos de teclado Ctrl+p o ↑ Alt+. Mostrar en pantalla la última palabra del último comando ejecutado. Alt+\u0026lt; Imprime el primer comando del historial de comandos. Alt+\u0026gt; Imprime el último comando del historial de comandos. Ctrl+r Permite buscar comandos almacenados en el historial de comandos. Justo después de presionar la combinación de teclas Ctrl+r hay que teclear parte del comando que estamos buscando y la terminal nos propondrá la ejecución de un comando similar que esté almacenado en el fichero ~/.bash_history. Si la propuesta no es la que estamos buscando podemos volver a presionar a combinación de teclas Ctrl+r sucesivamente para ir obteniendo nuevas propuestas. Alt+p Similar al atajo de teclado Ctrl+r. La diferencia es que aquí la búsqueda de comandos en el historial no es incremental. Enter o Ctrl+o Para confirmar la ejecución de un comando encontrado con la opción Ctrl+r. Ctrl+j Para escribir en pantalla el comando que nos propone la opción de búsqueda de Ctrl+r. El comando se escribe en pantalla pero no se ejecuta. Ctrl+g Para salir de la búsqueda que estamos realizando. Atajos de teclado para gestionar los procesos que se ejecutan en la terminal Linux permite gestionar distintos procesos y trabajos en la terminal. Para ello hay una serie de atajos de teclado que les serán de gran utilidad.\nAtajo de Teclado Acción Ctrl+c Matar un proceso o cancelar la ejecución de un programa que se está ejecutando en primer plano. Ctrl+z Para llevar a segundo plano un trabajo que estamos ejecutando. Podemos tener varios trabajos corriendo en segundo plano. Para acceder y gestionar los trabajos corriendo en segundo plano deberán usar los comandos detallados en el siguiente enlace. Ctrl+d Sirve para cerrar la sesión actual de terminal. Es equivalente al comando exit. Atajos de teclado para mejorar la accesibilidad y funcionalidad de la terminal Si el texto que aparece en la terminal es demasiado pequeño o demasiado grande lo podemos incrementar o disminuir de forma fácil. También podemos congelar la salida de un proceso o bloquear la terminal . Para realizar lo que acabamos de citar, además de otras acciones, pueden usar los siguientes atajos de teclado.\nAtajo de Teclado Acción Ctrl+mayúsc++ Incrementar el tamaño de fuente de la terminal. Ctrl+mayúsc+- Disminuir el tamaño de fuente de la terminal. Ctrl+mayús+Inicio Hacer scroll hasta el inicio de la sesión de terminal. Ctrl+mayús+Repág Hacer scroll una página hacia atrás en la terminal. De esta forma podremos ver que ha pasado en la sesión actual del emulador de terminal. Ctrl+mayús+↑ Hacer scroll una línea hacia arriba en la terminal. Ctrl+mayús+Fin Hacer scroll hasta el final de la sesión de terminal. Ctrl+mayús+Avpág Hacer scroll una página hacia adelante. Ctrl+mayús+↓ Hacer scroll una línea hacia adelante. Ctrl+mayús+t Abrir una pestaña en la terminal. Ctrl+mayús+→ y Ctrl+ mayús+← Moverse entre las distintas pestaña abiertas. Ctrl+mayús+w Cerrar una pestaña que tengamos abierta. F11 Trabajar con el emulador de terminal a pantalla completa. Ctrl+s Para bloquear la terminal. Una vez bloqueada nadie podrá escribir absolutamente nada en la terminal. La salida de resultados de un programa en la terminal también se congelará. Ctrl+q Para desbloquear la terminal que previamente se ha bloqueado con Ctrl+s Abrir o cerrar la terminal Puede que en determinados casos no les funcionen los atajos que cito a continuación, pero por norma general podremos abrir y cerrar la terminal mediante los siguientes atajos de teclado:\nAtajo de Teclado Acción Ctrl+t Para abrir la terminal. Ctrl+d Sirve para cerrar la sesión actual de terminal. Es equivalente al comando exit Si conocen algún otro atajo de teclado útil y que no esté en el artículo les pido que lo comportan en los comentarios de este artículo.\nFuentes https://www.makeuseof.com/linux-bash-terminal-shortcuts/\n","permalink":"https://geeklandlinux.github.io/posts/atajos-de-teclado-para-emuladores-de-terminal-en-linux/","summary":"\u003cp\u003eConocer los atajos de teclado de la terminal les proporcionará velocidad y también les permitirá tener acceso a una serie de funciones adicionales. Los atajos de teclado típicos que acostumbran a tener la gran mayoría de emuladores de terminal son los que verán a continuación.\u003c/p\u003e","title":"Atajos de teclado para emuladores de terminal en Linux"},{"content":"A continuación mediante ejemplos y explicaciones aprenderemos a usar el comando grep para poder filtrar texto y de esta forma poder programar scripts de una forma mucho más rápida y sencilla.\nNota: Este artículo es complementario de otros que escrito en este blog. Les recomiendo que consulten los siguientes artículos para aprender a usar awk, sed, cut y tr.\nQUE USOS PODEMOS DAR AL COMANDO GREP El comando grep nos permite buscar cadenas de texto y palabras dentro de un fichero de texto o de la entrada estándar de la terminal. Una vez encontrado el contenido que estamos buscando:\ngrep mostrará en pantalla la totalidad de la línea/s que contiene/n la cadena de texto o palabra que estamos buscando. Con la opción pertinente únicamente mostrará la cadena de texto o palabra de cada una de las líneas que coincide con nuestro criterio de búsqueda. Esto hará que podamos usar grep para conseguir los siguientes propósitos:\nHacer que únicamente se muestren las líneas descomentadas en un fichero de configuración. En función del contenido de un fichero determinar la acción a realizar. Extraer contenido de un fichero como por ejemplo direcciones IP. Contar el número de líneas en las que aparece una palabra o cadena de texto. Buscar de forma recursiva el nombre de los ficheros que contienen una determinada palabra o cadena de texto. Etc. SINTAXIS BÁSICA DEL COMANDO GREP Para usar grep tendremos que usar un comando del siguiente tipo:\ngrep opcion/es \u0026#39;cadena_de_texto\u0026#39; fichero_donde_buscar Un ejemplo básico de uso del comando grep sería el siguiente:\n❯ grep -w \u0026#39;geekland\u0026#39; geekland.txt Nota: Este comando se limita a mostrar la totalidad de líneas del fichero geekland.txt que contienen la palabra geekland\nOpciones disponibles para el comando grep Algunas de las opciones disponibles y que podemos usar para el comando grep son las siguientes:\nOpción grep Función -F Para indicar que queremos buscar una cadena de texto. -w Opción usada para encontrar una palabra. -E Sirve para indicar que queremos definir una expresión regular de búsqueda. --color Resalta en color las cadenas de texto que coinciden con nuestra búsqueda. -H Muestra el nombre del fichero en el caso que busquemos una palabra o cadena de texto en un solo fichero de texto. -h Oculta el nombre de los ficheros en el caso que busquemos una palabra o cadena de texto en varios ficheros de texto. -n Ver el número de línea/s en el que se encuentra la palabra o cadena de texto buscada. -v Tiene la utilidad de invertir. Por lo tanto esta opción permite mostrar las líneas que no coinciden con una determinada cadena de texto o palabra. -i Para no distinguir entre mayúsculas y minúsculas. -o Sirve para que la salida del comando grep únicamente muestre la cadena de texto o palabra de cada una de las líneas que coincide con nuestro criterio de búsqueda. -x Muestra las líneas de un fichero de texto o de la entrada estándar en que la palabra o cadena de texto que estamos buscando ocupa toda una línea completa. -r Leer de forma recursiva la totalidad de ficheros que están dentro de un directorio. -R Leer de forma recursiva la totalidad de ficheros que están dentro de un directorio. Está opción también incluirá los enlaces simbólicos. -c Nos permite obtener los números de líneas que contienen la cadena de texto o palabra que estamos buscando. -A número Muestra la línea que contiene la palabra o cadena de texto que estamos buscando. Además también muestra las X líneas anteriores a la línea que contiene la palabra o cadena de texto que estamos buscando. -B número Muestra la línea que contiene la palabra o cadena de texto que estamos buscando. Además también muestra las X líneas posteriores a la línea que contiene la palabra o cadena de texto que estamos buscando. -C número Muestra la línea que contiene la palabra o cadena de texto que estamos buscando. Además también muestra las X líneas anteriores y posteriores a la línea que contiene la palabra o cadena de texto que estamos buscando. ... ... A continuación pasaremos a ver una serie de ejemplos para que pueden comprender a la perfección el uso del comando grep\nEJEMPLOS DE BÚSQUEDA DE PALABRAS Y CADENAS DE TEXTO USANDO GREP Algunos ejemplos que les deberían ayudar a dominar el uso del comando grep son los siguientes.\nMostrar todas las líneas que contengan una determinada cadena de caracteres con grep Imaginemos el caso en que queremos imprimir la totalidad de líneas de nuestro fichero .bashrc que contienen la cadena de caracteres the. Para realizar lo que acabo de comentar usaremos el siguiente comando:\n❯ grep -F \u0026#39;the\u0026#39; .bashrc Nota: El parámetro -F es para indicar que the es una cadena de caracteres. En caso de no indicar -F, the se tomaría como una expresión regular.\nUna vez ejecutado el comando obtendrán el siguiente resultado:\n# Path to the bash it configuration # Lock and Load a custom theme file. # Leave empty to disable theming. # location /.bash_it/themes/ # Some themes can show whether `sudo` has a current token or not. ... Como pueden ver, la salida del comando muestra la totalidad de líneas que contienen la cadena de texto the. Por lo tanto se imprimen la totalidad de líneas que contienen palabras como the, themes, theming, etc.\nResaltar la sintaxis de las partes coincidentes con nuestra búsqueda mediante la opción --color Si queremos que grep resalte las coincidencias de nuestra búsqueda tenemos que usar la opción --color. Por lo tanto si en el comando anterior añadimos la opción --color\n❯ grep --color -F \u0026#39;the\u0026#39; .bashrc Obtendremos el siguiente resultado:\n# Path to the bash it configuration # Lock and Load a custom theme file. # Leave empty to disable theming. # location /.bash_it/themes/ # Some themes can show whether `sudo` has a current token or not. ... Si observamos el resultado vemos las mismas frases que en el apartado anterior, pero ahora se resalta en color la cadena de texto the en cada una de las líneas. Esto es bastante útil porque nos ayuda a entender el porque se muestra cada una de las líneas.\nMostrar el nombre del fichero en que encontramos la coincidencia con la opción -H y grep Si al inicio de la salida del comando quieren añadir el nombre del fichero en que se halla la línea mostrada en pantalla deberán usar la opción -H del siguiente modo:\n❯ grep -H -F \u0026#39;the\u0026#39; .bashrc Y ahora el resultado obtenido será el siguiente:\n.bashrc:# Path to the bash it configuration .bashrc:# Lock and Load a custom theme file. .bashrc:# Leave empty to disable theming. .bashrc:# location /.bash_it/themes/ .bashrc:# Some themes can show whether `sudo` has a current token or not. ... Por lo tanto obtenemos la totalidad de líneas del fichero .bashrc en que aparece la cadena de texto the. Además al inicio de cada una de las líneas podemos ver detallado el nombre del fichero en que aparece la línea.\nNota: Esta opción solo es necesaria en el caso que busquemos una palabra o cadena de texto en un solo fichero de texto. Si buscamos en varios ficheros la opción por defecto es mostrar los nombres de los ficheros.\nMostrar todas las líneas que no contengan una determinada cadena de caracteres usando la opción -v de grep Si queremos mostrar en pantalla la totalidad de líneas del fichero .bashrc que no contienen la cadena de caracteres the tan solo tenemos que invertir la búsqueda realizada en el primer apartado de este artículo. Para invertir las búsqueda en grep deberemos usar la opción -v. Por lo tanto ejecutaremos el siguiente comando:\n❯ grep -v -F \u0026#39;the\u0026#39; .bashrc Y el resultado será el siguiente:\n#!/usr/bin/env bash # If not running interactively, don\u0026#39;t do anything case $- in *i*) ;; *) return;; esac ... #bash-it enable plugin alias-completion Mostrar todas las líneas que contengan una palabra determinada mediante la opción -w Si queremos mostrar las líneas del fichero de configuración .bashrc que contengan la palabra the tendremos que usar la opción -w del siguiente modo:\n❯ grep -w -F \u0026#39;the\u0026#39; .bashrc Y el resultado obtenido será el siguiente:\n# Path to the bash it configuration # (Advanced): Change this to the name of your remote repo if you ... Ahora los resultados mostrados son mucho menores que en el primer ejemplo de este artículo. La razón es que solo se mostrarán las líneas que contienen la palabra específica the. Por lo tanto se excluirán las líneas que contienen palabras como themes, theming, etc.\nMostrar las líneas que contienen una palabra u otra palabra usando expresiones regulares gracias a la opción -E Imaginemos que tenemos un fichero con el nombre color.txt. El contenido de este fichero es el siguiente:\ncolor 1 colour 2 final Si queremos mostrar únicamente las líneas que contienen la palabra color o colour lo podemos hacer mediante el uso de una de estas 2 expresiones regulares:\n\u0026#39;colou?r\u0026#39; \u0026#39;color|colour\u0026#39; Nota: El símbolo u? significa que considere 2 casos. El primer caso que esté la letra u y el segundo caso que no esté la letra u.\nNota: El símbolo | significa o.\nSi usamos grep con la primera de las expresiones regulares para mostrar la líneas del fichero color.txt que contienen la palabra color o colour lo haremos del siguiente modo obteniendo el siguiente resultado:\n❯ grep -E -w \u0026#39;colou?r\u0026#39; color.txt color 1 colour 2 Si prefieren usar la segunda de las expresiones regulares obtendrán el mismo resultado.\n❯ grep -E -w \u0026#39;color|colour\u0026#39; color.txt color 1 colour 2 Buscar todas las líneas que contengan una determinada palabra en la totalidad de ficheros que están dentro de un directorio con grep En los comandos ejecutados hasta el momento estamos buscando si existe una palabra o una determinada cadena de texto en un solo fichero. Si en vez de analizar o mirar en un solo fichero queremos analizar o mirar en la totalidad de ficheros de un directorio deberemos proceder del siguiente modo.\nEn la ubicación /home/joan/.config/i3 tengo la totalidad de ficheros de configuración de mi entorno de escritorio i3.\n❯ ls config i3blocks.conf scripts Nota: config y i3blocks.conf son ficheros de texto. scripts se trata de un directorio.\nSi quiero imprimir la totalidad de las líneas de los ficheros config y i3blocks.conf que contienen la palabra i3 ejecutaremos el siguiente comando dentro de la ubicación /home/joan/.config/i3:\n❯ grep -w \u0026#39;i3\u0026#39; ./* Nota: También podría haber usado el comando grep -w i3 /home/joan/.config/i3/*.\nNota: Si ejecutáis el comando grep -w i3 /home/joan/.config/i3 os dará error porque grep no puede buscar en directorios.\nEl resultado obtenido en mi caso es el siguiente:\n./config:# v1.0: 01/02/2021 - Primera configuración i3 ./config:# Establemos que la tecla principal para trabajar con i3 sea la de Windows ./config:#bindsym $mod+Return exec i3-sensible-terminal ... ./i3blocks.conf:command=perl ~/.config/i3/scripts/mediaplayer ./i3blocks.conf:#command=/home/joan/.config/i3/scripts/temperature ./i3blocks.conf:command=~/.config/i3/scripts/bandwidth ... grep: ./scripts: Es un directorio En la salida veréis que aparecen la totalidad de las líneas del fichero config y i3blocks.conf que contienen la palabra i3. Además se indica el nombre del fichero en que está presente cada una de las líneas encontradas. Pero el comando no mirará en los ficheros de están dentro del directorio scripts. Si se quieren analizar la totalidad de ficheros del directorio /home/joan/.config/i3 que contienen la palabra i3 de forma recursiva y por lo tanto incluyendo el directorio scripts, lo tendrán que realizar del siguiente modo.\nBuscar todas las líneas que contengan una determinada palabra en la totalidad de ficheros que están dentro de un directorio de forma recursiva con la opción -r Para ver la totalidad de líneas de los ficheros que contienen la palabra i3 y que están dentro del directorio y los subdirectorios de /home/joan/.config/i3 tendremos que añadir la opción -r de búsqueda recursiva. Por lo tanto usaremos el siguiente comando para conseguir nuestro fin:\n❯ grep -rw \u0026#39;i3\u0026#39; /home/joan/.config/i3* Nota: Como usamos la opción -r minúscula no se considerarán los enlaces simbólicos. En el caso que quisieran consideran los enlaces simbólicos deberían usar la opción -R.\ny el resultado obtenido será el siguiente:\n./config:# v1.0: 01/02/2021 - Primera configuración i3 ./config:# Establemos que la tecla principal para trabajar con i3 sea la de Windows ./config:#bindsym $mod+Return exec i3-sensible-terminal ... ./i3blocks.conf:command=perl ~/.config/i3/scripts/mediaplayer ./i3blocks.conf:#command=/home/joan/.config/i3/scripts/temperature ./i3blocks.conf:command=~/.config/i3/scripts/bandwidth ... ./scripts/calendar.sh:\ti3-msg -q \u0026#34;exec yad --calendar \\ En este caso podemos ver que los resultados de búsqueda son prácticamente iguales que en el apartado anterior. La única diferencia es que los resultados ahora mostrarán la totalidad de líneas de los ficheros de texto ubicados en /home/.config/i3/scripts/ que contienen la palabra i3.\nTambién observamos que al analizar varios ficheros de forma simultanea grep muestra el nombre del fichero en que se ha encontrado la línea que estamos buscando. Si queremos ocultar el nombre del fichero podemos usar la opción -h del siguiente modo:\n❯ grep -h -rw \u0026#39;i3\u0026#39; ./* y el resultado que obtendremos será:\n# v1.0: 01/02/2021 - Primera configuración i3 # Establemos que la tecla principal para trabajar con i3 sea la de Windows #bindsym $mod+Return exec i3-sensible-terminal ... command=perl ~/.config/i3/scripts/mediaplayer #command=/home/joan/.config/i3/scripts/temperature command=~/.config/i3/scripts/bandwidth ... i3-msg -q \u0026#34;exec yad --calendar \\ Mostrar las líneas que contienen una determinada palabra o cadena de texto en los ficheros de un directorio de forma recursiva excluyendo ciertos directorios Si queremos analizar la totalidad de líneas de los ficheros que están dentro del directorio y los subdirectorios de /home/joan/.config/i3 excluyendo uno de los directorios, como por ejemplo el directorio scripts, deberemos usar la opción --exclude-dir. Por lo tanto para mostrar la totalidad de líneas de los ficheros contenidos en el directorio /home/joan/.config/i3 que contienen la palabra i3 excluyendo el directorio scripts procederemos del siguiente modo:\n❯ grep -rw \u0026#39;i3\u0026#39; /home/joan/.config/i3/* --exclude-dir=scripts El resultado obtenido en mi caso es el siguiente:\n./config:# v1.0: 01/02/2021 - Primera configuración i3 ./config:# Establemos que la tecla principal para trabajar con i3 sea la de Windows ./config:#bindsym $mod+Return exec i3-sensible-terminal ... ./i3blocks.conf:command=perl ~/.config/i3/scripts/mediaplayer ./i3blocks.conf:#command=/home/joan/.config/i3/scripts/temperature ./i3blocks.conf:command=~/.config/i3/scripts/bandwidth ... grep: ./scripts: Es un directorio En el caso que tuviéramos que excluir más de un directorio usaríamos la siguiente sintaxis:\n❯ grep -rw \u0026#39;i3\u0026#39; /home/joan/.config/i3/* --exclude-dir={directorio_1,directorio_2} Obtener todas las líneas de un fichero que al menos contienen una de las letras definidas en una lista mediante grep Para obtener la totalidad de líneas del fichero .bashrc que contienen las vocales a, o i lo haremos definiendo una búsqueda mediante expresiones regulares. El modo de realizarlo es el siguiente:\n❯ grep -E \u0026#39;[ai]\u0026#39; ~/.bashrc Nota: La opción -E es para indicar que el término de búsqueda se trata de una expresión regular. En este caso la expresión regular es [ai].\ny el resultado obtenido:\n#!/usr/bin/env bash # If not running interactively, don\u0026#39;t do anything case $- in *i*) ;; esac ... # añadir rutas al PATH export PATH=\u0026#34;$HOME/.local/bin:$PATH\u0026#34; #bash-it enable plugin alias-completion Si quisiéramos imprimir la totalidad de líneas que contienen las vocales a, o, e, o, i ,u o ,o u entonces usaríamos el siguiente comando:\n❯ grep -E \u0026#39;[aeiou]\u0026#39; ~/.bashrc Nota: Para el último apartado también podríamos usar el comando grep -E '[a-u]' ~/.bashrc\nMostrar las líneas que contienen alguna letra que esté entre la c y la f Si queremos mostrar la totalidad de líneas del fichero .bashrc que contienen una letra que esté entre la c y la f lo haremos del siguiente modo:\n❯ grep -E \u0026#39;[c-f]\u0026#39; ~/.bashrc Después de ejecutar el comando he obtenido el siguiente resultado:\n#!/usr/bin/env bash # If not running interactively, don\u0026#39;t do anything case $- in *) return;; esac ... source \u0026#34;$BASH_IT\u0026#34;/bash_it.sh #alias ls=\u0026#39;exa\u0026#39; # añadir rutas al PATH export PATH=\u0026#34;$HOME/.local/bin:$PATH\u0026#34; #bash-it enable plugin alias-completion Ver la totalidad de líneas de un fichero de texto que empiezan por fo Como hemos visto anteriormente, grep permite buscar líneas que contienen palabras o cadenas de texto determinadas mediante el uso de expresiones regulares. Por lo tanto si queremos buscar la totalidad de líneas de nuestro fichero de configuración /home/joan/.config/i3/config que empiezan por las letras fo usaremos el siguiente comando:\n❯ grep -E \u0026#39;^fo\u0026#39; --color /home/joan/.config/i3/config Nota: El símbolo ^ es una expresión regular cuyo significado es inicio.\nUna vez ejecutado el comando el resultado obtenido es el siguiente:\nfont pango:System San Francisco Display 10 for_window [class=\u0026#34;^.*\u0026#34;] border pixel 1 for_window [window_role=\u0026#34;Msgcompose\u0026#34; class=\u0026#34;(?i)Thunderbird\u0026#34;] floating enable Mostrar las líneas de un fichero que inician por fo añadiendo las 2 líneas posteriores al encuentro Si aparte de mostrar las líneas que empiezan por las letras fo queremos añadir las 2 líneas posteriores a cada una de las líneas que empieza por las letras fo deberemos añadir la opción -A 2 del siguiente modo:\n❯ grep -E -A 2 \u0026#39;^fo\u0026#39; --color /home/joan/.config/i3/config Ahora el resultado que obtendremos será el siguiente:\nfont pango:System San Francisco Display 10 # # Al tener como mínimo 2 ventanas abiertas presionamos la tecla Windows, Posicionamos el ratón en uno de los bordes de la ventana, presionamos el botón derecho del ratón y lo arrastramos para modificar el tamaños de las ventanas -- for_window [class=\u0026#34;^.*\u0026#34;] border pixel 1 # Seleccionar las aplicaciones que arrancar al iniciar i3 -- for_window [window_role=\u0026#34;Msgcompose\u0026#34; class=\u0026#34;(?i)Thunderbird\u0026#34;] floating enable n # Fijamos que la tecla imprimir pantalla sea encargada de realizar capturas de pantalla con la utilidad de XFCE. Una alternatica es usar flameshot Nota: Si observan la salida del comando verán que -- hace de línea divisoria para cada una de las líneas que grep encuentra.\nHacer que grep no discierna entre mayúsculas y minúsculas con la opción -i Si seguimos con el ejemplo del apartado anterior y queremos buscar todas las líneas del fichero de configuración /home/joan/.config/i3/config que empiezan por Fo ejecutaremos el siguiente comando:\n❯ grep -E -A 2 \u0026#39;^Fo\u0026#39; --color /home/joan/.config/i3/config La salida de ejecutar este comando será nula. En el fichero /home/joan/.config/i3/config hay líneas que empiezan por fo, pero no hay líneas que empiecen por Fo. Para hacer que grep no diferencie mayúsculas de minúsculas usaremos la opción -i del siguiente modo:\n❯ grep -E -A 2 -i \u0026#39;^Fo\u0026#39; --color /home/joan/.config/i3/config Ahora la salida del comando mostrará la totalidad de líneas que empiezan por fo, Fo, fO y FO.\nfont pango:System San Francisco Display 10 # # Al tener como mínimo 2 ventanas abiertas presionamos la tecla Windows, Posicionamos el ratón en uno de los bordes de la ventana, presionamos el botón derecho del ratón y lo arrastramos para modificar el tamaños de las ventanas -- for_window [class=\u0026#34;^.*\u0026#34;] border pixel 1 # Seleccionar las aplicaciones que arrancar al iniciar i3 -- for_window [window_role=\u0026#34;Msgcompose\u0026#34; class=\u0026#34;(?i)Thunderbird\u0026#34;] floating enable # Fijamos que la tecla imprimir pantalla sea encargada de realizar capturas de pantalla con la utilidad de XFCE. Una alternatica es usar flameshot Encontrar las líneas de un fichero que inician por fo, Fo, fO y FO añadiendo las 2 líneas anteriores a la coincidencia mediante grep Si en vez de mostrar las 2 líneas posteriores a una coincidencia queréis mostrar las 2 líneas anteriores deberéis reemplazar la opción -A 2 por -B 2 Por lo tanto si ejecutamos el comando del apartado anterior reemplazando -A 2 por -B 2:\n❯ grep -E -B 2 -i \u0026#39;^Fo\u0026#39; --color /home/joan/.config/i3/config Obtendremos el siguiente resultado:\n# Establecemos que la fuente del sistema sea la System San Francisco y que el tamaño sea 10 font pango:System San Francisco Display 10 -- # Quita la ventana de título y se define el grosor del borde que recubre las ventanas for_window [class=\u0026#34;^.*\u0026#34;] border pixel 1 -- # Hacer que la ventana de redacción de un email en thunderbird se abra en modo flotante \u0026#34;para ver las clases de las ventanas podemos usar xprop\u0026#34; for_window [window_role=\u0026#34;Msgcompose\u0026#34; class=\u0026#34;(?i)Thunderbird\u0026#34;] floating enable Ver la totalidad de líneas de un fichero que inicien por fo y además ver las 2 líneas anteriores y posteriores Si ahora queremos que se muestren:\nLa totalidad de líneas del fichero de texto /home/joan/.config/i3/config que empiezan por fo Las 2 líneas anteriores a cada una de las líneas que empiezan por fo. Las 2 líneas posteriores a cada una de las líneas que empiezan por fo. Tenemos que usar la opción -C 2. Por lo tanto para conseguir nuestro propósito en el fichero /home/joan/.config/i3/config ejecutaremos el siguiente comando:\n❯ grep -E -C 2 '^fo' --color /home/joan/.config/i3/config\nY el resultado obtenido es el que muestro a continuación:\n# Establecemos que la fuente del sistema sea la System San Francisco y que el tamaño sea 10 font pango:System San Francisco Display 10 # # Al tener como mínimo 2 ventanas abiertas presionamos la tecla Windows, Posicionamos el ratón en uno de los bordes de la ventana, presionamos el botón derecho del ratón y lo arrastramos para modificar el tamaños de las ventanas -- # Quita la ventana de título y se define el grosor del borde que recubre las ventanas for_window [class=\u0026#34;^.*\u0026#34;] border pixel 1 # Seleccionar las aplicaciones que arrancar al iniciar i3 -- # Hacer que la ventana de redacción de un email en thunderbird se abra en modo flotante \u0026#34;para ver las clases de las ventanas podemos usar xprop\u0026#34; for_window [window_role=\u0026#34;Msgcompose\u0026#34; class=\u0026#34;(?i)Thunderbird\u0026#34;] floating enable # Fijamos que la tecla imprimir pantalla sea encargada de realizar capturas de pantalla con la utilidad de XFCE. Una alternatica es usar flameshot Mostrar los nombres de los ficheros que contienen una determinada palabra Si nuestro propósito es obtener los nombres de los ficheros que contienen una palabra determinada lo podemos hacer del siguiente modo. Anteriormente vimos que ejecutando el siguiente comando:\n❯ grep -H -w 'i3' ~/.config/i3/*\nObtenemos la totalidad de líneas de los ficheros ubicados en ~/.config/i3/ que contienen la palabra i3 conjuntamente con el nombre del fichero en que están cada una de las líneas:\n/home/joan/.config/i3/config:# v1.0: 01/02/2021 - Primera configuración i3 /home/joan/.config/i3/config:# Establecemos que la tecla principal para trabajar con i3 sea la de Windows ... /home/joan/.config/i3/i3blocks.conf:#command=/home/joan/.config/i3/scripts/rofi_calendar.sh /home/joan/.config/i3/i3blocks.conf:# Add the following bindings to i3 config file: grep: /home/joan/.config/i3/scripts: Es un directorio Si además queremos limpiar y facilitar la lectura de los resultados usaremos el siguiente comando para conseguir nuestro objetivo final:\n❯ grep -H -w i3 ~/.config/i3/* | cut -d \u0026#39;:\u0026#39; -f1 | uniq Una vez ejecutado el comando el resultado es el siguiente:\n/home/joan/.config/i3/config /home/joan/.config/i3/i3blocks.conf Por lo tanto tanto el fichero config como el fichero i3blocks.conf contienen líneas con la palabra i3.\nConocer los números de línea en que aparece una palabra determinada con la opción -n En mi caso quiero conocer los números de línea del fichero /home/joan/.config/i3/config en que aparece la palabra windows. Para ello usaremos la opción -n del siguiente modo:\n❯ grep -w -i -n \u0026#39;windows\u0026#39; ~/.config/i3/config Y el resultado obtenido es el siguiente:\n7:# Establecemos que la tecla principal para trabajar con i3 sea la de Windows 13:# # Al tener como mínimo 2 ventanas abiertas presionamos la tecla Windows, Posicionamos el ratón en uno de los bordes de la ventana, presionamos el botón derecho del ratón y lo arrastramos para modificar el tamaños de las ventanas 16:# El atajo de teclado para abrir una terminal será windows + Enter. Aquí también podemos seleccionar la terminal que queremos que se abra. 20:# La combinación de teclas para cerrar una ventana activa es windows+shift+q 28:# Combinación de teclas a usar para movernos entre ventanas. En mi caso uso la tecla windows+los cursores. En vez de los cursores también se pueden usar jklñ 63:# change focus between tiling / floating windows Por lo tanto ahora sabemos que la palabra windows aparece en las líneas 7, 13, 16, 20, 28 y 63.\nSi únicamente quisiéramos obtener los números podríamos haber usado el siguiente comando:\ngrep -w -i -n \u0026#39;windows\u0026#39; ~/.config/i3/config | cut -d \u0026#39;:\u0026#39; -f1 Conocer el número de líneas de un fichero que contienen la palabra bindsym mediante la opción -c Toda línea del fichero de configuración del escritorio i3 que contiene la palabra bindsym está configurando un atajo de teclado. Por lo tanto si mi fichero de configuración es ~/.config/i3/config y quiero saber el número de atajos de teclado que tengo configurados tan solo tendré que contar el número de líneas en que aparece la palabra byndsym. Para ello haremos uso de la opción -c del siguiente modo:\n❯ grep -F -c \u0026#39;bindsym\u0026#39; ~/.config/i3/config La salida del comando es la siguiente:\n114 Por lo tanto tengo configurados 114 atajos de teclado en mi fichero de configuración.\nMostrar las líneas descomentadas de un fichero de texto usando grep Para mostrar las líneas descomentadas del fichero .bashrc tendremos que hacer uso de las expresiones regulares y de la opción -v para invertir los resultados de la salida. Concretamente deberemos usar el siguiente comando:\n❯ grep -v -E \u0026#39;^(#|$)\u0026#39; .bashrc Nota: La expresión regular ^(#|$) significa todas las líneas que inician con un símbolo de comentario o con un salto de línea. Por lo tanto el comando ejecutado mostrará la totalidad de líneas del fichero .bashrc que no empiecen por el símbolo # y que no sean un salto de línea.\nDe esta forma obtendremos que el siguiente resultado:\ncase $- in *i*) ;; *) return;; esac export BASH_IT=\u0026#34;/home/joan/.bash_it\u0026#34; export BASH_IT_THEME=\u0026#39;powerline-multiline\u0026#39; export GIT_HOSTING=\u0026#39;git@git.domain.com\u0026#39; unset MAILCHECK export IRC_CLIENT=\u0026#39;irssi\u0026#39; export TODO=\u0026#34;t\u0026#34; export SCM_CHECK=true source \u0026#34;$BASH_IT\u0026#34;/bash_it.sh export PATH=\u0026#34;$HOME/.local/bin:$PATH\u0026#34; Procediendo de esta forma podremos ver fácilmente la configuración que tenemos aplicada sin que nos molesten las opciones de configuración comentadas.\nMostrar únicamente las líneas descomentadas de un fichero de texto en el caso que existan comentarios anidados El comando del apartado anterior no funcionará en el caso que el fichero de configuración tenga comentarios anidados mediante espacios o tabulaciones.\nPor lo tanto si tenemos un fichero de texto con el nombre comentario.txt y contiene el siguiente contenido:\n# Comentario 1 #Comentario2 # Comentario 3 Esto es un ejemplo del comando grep en el blog de Geekland El comando del apartado anterior no funcionará porque hay líneas que empiezan por espacios y/o tabulaciones. Por lo tanto para conseguir nuestro objetivo tendremos que redefinir la expresión regular del siguiente modo:\n❯ grep -v -E \u0026#39;^ *# | ^\\t*#\u0026#39; comentario.txt Nota: La expresión regular ^ *# define líneas que empiezan por 0 o varios espacios y además después de los 0 o más espacios tengan el símbolo de comentario #.\nNota: El símbolo | significa o.\nNota: La expresión regular ^\\t*# define líneas que empiezan por 0 o varias tabulaciones y además después de las 0 o más tabulaciones tengan el símbolo de comentario #\nEl resultado obtenido en aplicar el comando será el siguiente:\nEsto es un ejemplo del comando grep en el blog de Geekland Por lo tanto hemos conseguido eliminar la totalidad de comentarios anidados.\nEn el caso de eliminar la opción -v del comando que acabamos de ejecutar:\n❯ grep -E \u0026#39;^ *# | ^\\t*#\u0026#39; comentario.txt Invertiríamos los resultados de salida y veríamos únicamente las líneas que contienen comentarios:\n# Comentario 1 #Comentario2 # Comentario 3 Mostrar la totalidad de líneas de un fichero de texto que finalizan con un dígito o carácter determinado Para obtener la totalidad de líneas del fichero /usr/share/dict/words que terminan por una letra entre la b y la c lo haremos del siguiente modo:\n❯ grep -E \u0026#39;[b-c]$\u0026#39; /usr/share/dict/words Nota: El símbolo $ es una expresión regular cuyo significado es final de la línea. Por lo tanto [b-c]$ significa toda línea que termine por las letras b o c\nDespués de ejecutar el comando obtendremos el siguiente resultado:\nAdriatic Aelfric Ahab Alaric ... web womb zinc zodiac Buscar las líneas en que la primera palabra empiece por un determinado carácter y cuya última palabra termine por un carácter determinado Para encontrar la totalidad de líneas del fichero /usr/share/dict/words que empiecen por a y terminen por una a o una b lo haremos usando el siguiente comando:\n❯ grep -E \u0026#39;^a.*[a-b]$\u0026#39; /usr/share/dict/words La expresión regular ^a.*[a-b]$ se puede desglosar del siguiente modo:\n^a: Toda línea que empiece por a. .*: Seguida por cualquier carácter sin importar el número de repeticiones. [a-b]$: Que termine por letras comprendidas entre la a y la b. El resultado de aplicar el comando ha sido el siguiente:\nabracadabra abscissa absorb addenda adverb aha alb ... atria auditoria automata azalea Extraer líneas de un fichero cuya primera palabra de cada línea cumpla un determinado criterio mediante grep Para obtener las palabras del fichero /usr/share/dict/words que cumplan los siguientes criterios:\nQue empiecen por la letra m Que después de la m haya 1 carácter cualquiera. Que después del carácter cualquiera haya la letra d. Que después de la letra d existan 3 caracteres sin importar los que son. Y que finalmente después de los 3 caracteres cualquiera termine la palabra y la línea con la letra e. Tendremos que usar la expresión regular ^m.d...e$. Por lo tanto el comando que tendremos que ejecutar es el siguiente:\n❯ grep -E \u0026#39;^m.d...e$\u0026#39; /usr/share/dict/words Y el resultado obtenido es el que muestro a continuación:\nmediate midwife Extraer direcciones IPv4 de un fichero de texto mediante la opción -o y definiendo una expresión regular Imaginemos que el fichero /etc/hosts tiene el siguiente contenido:\n# Host addresses 127.0.0.1 localhost 127.0.1.1 gk55 ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters Para extraer únicamente las direcciones IPv4 del fichero tenemos que tener en cuenta lo siguiente:\nLas direcciones IPv4 están compuestas por números entre el 0 y el 9. Las direcciones IPv4 están compuestas por cuatro números separados por un punto. Cada uno de los 4 números que compone la dirección IPv4 puede tener 1, 2 o 3 cifras. Si tenemos en cuenta estos 3 factores la forma más fiable para extraer las direcciones IPv4 es usando la siguiente expresión regular:\n[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3} Respecto a la expresión regular hay que tener en cuenta los siguientes aspectos:\n[0-9]{1,3}: Hace referencia a que pueden existir 1, 2 o 3 números que estén entre el 0 y el 9. \\.: Los 1, 2 o 3 números que estarán entre el 0 y el 9 irán seguido/s de un punto. El símbolo \\ es simplemente el símbolo escape para evitar que se tome . como una expresión regular.\nUna vez tenemos clara la expresión regular a usar ejecutaremos el siguiente comando:\n❯ grep -E --color \u0026#39;[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\u0026#39; /etc/hosts Y obtendremos el siguiente resultado:\n127.0.0.1 localhost 127.0.1.1 gk55 Si os fijáis en el resaltado de color se muestra el contenido definido por nuestra expresión regular. En nuestro caso la expresión regular define 4 cifras entre el 0 y el 9, separadas por puntos. Cada una de las cifras entre el 0 y el 9 está separada puntos y podrá tener 1, 2 o 3 caracteres.\nSi queremos que la salida del comando solo muestre las IP omitiendo las palabras localhost y gk55 podemos usar la opción -o. De este modo grep solo mostrará la cadena de texto o palabra de cada una de las líneas que coincide con nuestro criterio de búsqueda. Por lo tanto si ejecutamos el siguiente comando:\n❯ grep -E --color -o \u0026#39;[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\u0026#39; /etc/hosts Obtendremos el siguiente resultado:\n127.0.0.1 127.0.1.1 Aplicar una acción A o B en función del contenido de un fichero de texto Para aplicar una acción u otra en función de una determinada circunstancia tendremos que usar un condicional if. Imaginemos que tenemos un fichero opciones.txt y tiene el siguiente contenido:\nblanco negro azul Ahora queremos que si una de las líneas del fichero contiene la palabra blanco la terminal nos de como resultado 1. En el caso que el fichero de texto no disponga de la palabra blanco entonces queremos que nos devuelva 0. Para conseguir nuestro propósito podemos usar el siguiente comando:\n❯ if [[ $(grep -x \u0026#34;blanco\u0026#34; /home/joan/opciones.txt) ]]; then echo \u0026#34;1\u0026#34;; else echo \u0026#34;0\u0026#34;; fi y el resultado obtenido será:\n1 Si ahora borramos la palabra blanco del fichero opciones.txt y volvemos a ejecutar el comando:\n❯ if [[ $(grep -x \u0026#34;blanco\u0026#34; /home/joan/opciones.txt) ]]; then echo \u0026#34;1\u0026#34;; else echo \u0026#34;0\u0026#34;; fi El resultado será el siguiente:\n0 Nótese que en este ejemplo usamos grep con la opción -x. La opción -x hace que grep solo considere las líneas cuyo contenido completo sea la palabra blanco. Para entender lo que estoy diciendo basta con este simple ejemplo.\nImaginemos que el contenido del fichero opciones.txt es el siguiente:\nblanco blanco es el mejor color Si ejecuto el siguiente comando:\n❯ grep -w \u0026#34;blanco\u0026#34; /home/joan/opciones.txt Vemos que se mostrarán la totalidad de palabras que contienen la palabra blanco.\nblanco blanco es el mejor color Pero si queremos obtener únicamente aquellas líneas cuyo único contenido sea la palabra blanco añadiremos la opción -x del siguiente modo:\n❯ grep -w -x \u0026#34;blanco\u0026#34; /home/joan/opciones.txt Y ahora finalmente el resultado obtenido será el siguiente:\nblanco Consultar la ayuda de una opción grep tiene más opciones de las mostradas a lo largo de este artículo. Para profundizar más sobre el uso del comando grep les recomiendo que abran una terminal y ejecutan el siguiente comanda para obtener ayuda:\n❯ man grep Del mismo modo también pueden consultar la siguiente URL.\n","permalink":"https://geeklandlinux.github.io/posts/uso-del-comando-grep-en-linux-y-unix-con-ejemplos/","summary":"\u003cp\u003eA continuación mediante ejemplos y explicaciones aprenderemos a usar el comando grep para poder filtrar texto y de esta forma poder programar scripts de una forma mucho más rápida y sencilla.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNota:\u003c/strong\u003e Este artículo es complementario de otros que escrito en este blog. Les recomiendo que consulten los siguientes artículos para aprender a usar \u003ca href=\"/posts/uso-del-comando-awk-en-linux-y-unix-con-ejemplos/\"\u003eawk\u003c/a\u003e, \u003ca href=\"/posts/uso-del-comando-sed-en-linux-y-unix-con-ejemplos/\"\u003esed\u003c/a\u003e, \u003ca href=\"/posts/uso-del-comando-cut-en-linux-y-unix-con-ejemplos/\"\u003ecut\u003c/a\u003e y \u003ca href=\"/posts/uso-del-comando-tr-en-linux-y-unix-con-ejemplos/\"\u003etr\u003c/a\u003e.\u003c/p\u003e","title":"Uso del comando grep en Linux y UNIX con ejemplos"},{"content":"En mi caso tengo un script y cuando lo ejecuto manualmente funciona a la perfección. El problema es que cuando quiero programar su ejecución mediante cron el script no se ejecuta y/o no hace lo que hay que hacer. En el caso que se encuentren en un caso similar al mío les recomiendo que hagan lo siguiente.\n¿POR QUÉ NO ES SE EJECUTA CORRECTAMENTE UN SCRIPT MEDIANTE CRON? El primero motivo podría ser que la sintaxis usada no sea correcta, pero este caso es poco probable porque si la sintaxis fuera incorrecta la terminal arrojaría un error y lo veríamos claramente.\nEl segunda opción es que nuestro script haga uso de un fichero binario cuyo PATH no está correctamente definido en Cron.\n¿Pero que es el PATH o la ruta en Linux? El PATH o la ruta es una variable de entorno cuya función es definir la ubicación de los distintos binarios de nuestro sistema operativo. Tenéis que tener presente que cada vez que ejecutamos un comando, la shell de Linux buscará en todos y cada uno de los directorios definidos en el PATH para encontrar el binario y de esta forma poder ejecutar el comando.\n¿Cuál es el PATH de mi usuario? Cada uno de los procesos de ejecución o cada una de la sesiones de usuario pueden tener un PATH diferente. Si por ejemplo queremos ver el PATH de nuestro usuario tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\njoan@ubuntu-20-04:~$ echo $PATH /home/joan/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games Por lo tanto después de ejecutar el comando vemos que el usuario joan tiene definido el siguiente PATH:\n/home/joan/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games En este caso el usuario joan podrá ejecutar cualquier binario que esté dentro de las rutas especificadas dentro de la variable de entorno PATH.\n¿Cuál es el PATH establecido en las tareas que ejecuta CRON? Para averiguar el PATH definido en cron tan solo tenemos que realizar lo siguiente.\nInicialmente ejecutamos el siguiente comando en la terminal:\njoan@ubuntu-20-04:~$ crontab -e A continuación cuando se abra el editor de textos para editar el contenido de crontab añadimos la siguiente línea y guardamos los cambios.\n* * * * * env \u0026gt; /tmp/cronenv Una vez guardados los cambios tenemos que esperar 1 minuto. Después de esperar un minuto consultaremos el contenido del fichero /tmp/cronenv para ver la totalidad de variables de entorno definidas en CRON. En mi caso las variables de entorno de cron son las siguientes:\njoan@ubuntu-20-04:~$ cat /tmp/cronenv HOME=/home/joan LOGNAME=joan PATH=/usr/bin:/bin LANG=es_ES.UTF-8 SHELL=/bin/sh PWD=/home/joan Si analizamos el contenido de la variable de entorno PATH vemos que únicamente contiene las rutas /usr/bin y /bin. Por lo tanto cron solo podrá ejecutar scripts que contengan comandos cuyos ficheros binarios estén ubicados en /usr/bin o /bin. Si os fijáis el PATH de la sesión de usuario de joan es totalmente diferente al PATH del cron y posiblemente este sea el motivo de nuestros problemas.\nSimular la ejecución de un script con las variables de entorno definidas en CRON Para confirmar que el problema es el que acabo de citar ejecutaremos el script que nos da los problemas con las mismas variables de entorno definidas en cron. Para ello ejecutaremos el comando env - $(cat /tmp/cronenv) seguido del comando necesario para ejecutar el script que da problemas. Por lo tanto en mi caso el comando que tengo que ejecutar es el siguiente:\njoan@ubuntu-20-04:~$ env - $(cat /tmp/cronenv) bash /home/joan/scripts/audiobookyoutube/audioyoutube.sh Después de ejecutar el script veo que en la salida estándar de la terminal se produce el siguiente error.\n/home/joan/scripts/audiobookyoutube/audioyoutube.sh: línea 66: yt-dlp: orden no encontrada Por lo tanto el problema es que yt-dlp no se puede ejecutar. El motivo por el cual no se ejecuta es simple:\nEn mi caso el binario de yt-dlp se halla en la ubicación /home/joan/.local/bin. Como hemos visto anteriormente está ruta no está presente en el PATH del cron. Por lo tanto es normal que el script falle en su ejecución. COMO SOLUCIONAR EL PROBLEMA DEL PATH EN CRON Y DE ESTA FORMA EJECUTAR EL SCRIPT DE FORMA SATISFACTORIA Para solucionar el problema mostrado en esté artículo tan solo tenemos que añadir la ruta /home/joan/.local/bin en el PATH de cron. Para ello tenemos varias soluciones.\nDefinir el PATH de cron en el fichero crontab La primera de las soluciones es añadir el PATH de cron dentro del fichero crontab del usuario que ejecutará el script. Para ello tan solo tenemos que loguear con el usuario apropiado, abrir una terminal y ejecutar el siguiente comando:\njoan@ubuntu-20-04:~$ crontab -e Una vez se abra el fichero crontab introduciremos una línea del siguiente tipo justo al inicio del fichero para definir el PATH:\nPATH=RUTA_BINARIOS1:RUTA_BINARIOS2:RUTA_BINARIOS3 Por lo tanto en mi caso añadiré la siguiente línea al inicio de mi fichero crontab:\nPATH=/usr/bin:/bin:/home/joan/.local/bin Finalmente guardaremos los cambios y cerraremos el fichero. Ahora cuando se ejecute un script mediante cron se considerarán todos los binarios ubicados en la ruta /home/joan/.local/bin. Por lo tanto se podrá ejecutar yt-dlp y de este modo se debería ejecutar el script sin ningún tipo de problema. Por lo tanto hemos solucionado el problema que un script no se ejecuta en cron.\nDefinir el PATH de ejecución dentro del script Otra opción alternativa a la que acabamos de ver es definir el PATH dentro del script que queremos ejecutar. En mi caso el script que me da problemas es el /home/joan/scripts/audiobookyoutube/audioyoutube.sh. Por lo tanto lo único que tengo que realizar es abrirlo mediante el siguiente comando:\njoan@ubuntu-20-04:~$ nano /home/joan/scripts/audiobookyoutube/audioyoutube.sh Una vez abierto defino el PATH justo después del Shebang. En mi caso lo he realizado del siguiente modo:\n#!/bin/bash PATH=/usr/bin:/bin:/home/joan/.local/bin Una vez guardados las modificaciones realizadas en el script cron será capaz de ejecutar el script sin ningún tipo de problema.\n","permalink":"https://geeklandlinux.github.io/posts/solucion-a-que-un-script-no-se-ejecuta-en-cron-pero-si-en-la-terminal/","summary":"\u003cp\u003eEn mi caso tengo un script y cuando lo ejecuto manualmente funciona a la perfección. El problema es que cuando quiero programar su ejecución mediante cron el script no se ejecuta y/o no hace lo que hay que hacer. En el caso que se encuentren en un caso similar al mío les recomiendo que hagan lo siguiente.\u003c/p\u003e","title":"Solución a que un script no se ejecuta en cron pero si en la terminal"},{"content":"Si quieren usar el gestor de ficheros Thunar de forma rápida y eficiente a continuación les citaré prácticamente la totalidad de atajos de teclado disponibles. Además también verán como pueden añadir nuevos atajos de teclado y como modificar los atajos de teclado estándar. De esta forma podrán extraer el máximo rendimiento del gestor de ficheros Thunar.\nNota: Si le dan una oportunidad a Thunar verán que es un gestor de ficheros flexible y con más posibilidades de lo que a priori piensan. Espero que sus desarrolladores no lo destrocen añadiendo la side decoration de Gnome.\nATAJOS DE TECLADO EN THUNAR PARA INCREMENTAR LA VELOCIDAD Y PRODUCTIVIDAD Algunos de los atajos de teclado existentes, que pueden habilitar o que pueden generar para el gestor de ficheros Thunar son los siguientes:\nAbrir y cerrar pestañas mediante atajos de teclado en Thunar Para abrir y cerrar pestañas pueden usar los atajos de teclados que se muestran a continuación.\nAtajo de teclado Acción del atajo de teclado Ctrl+ t Abrir nueva pestaña. Ctrl + Mayús + t Abrir el directorio seleccionado en una nueva pestaña. Ctrl + w Cerrar pestaña. Moverse entre las distintas pestañas abiertas Puede darse el caso que tengamos varías pestañas abiertas. Para movernos de una pestaña a otra pestaña usaremos los siguientes atajos de teclado.\nAtajo de teclado Acción del atajo de teclado Ctrl + Av Pág Para irnos a la siguiente pestaña. Ctrl + Re Pág Ir a la pestaña anterior. Esta misma combinación de teclas también es válida para moverse entre las pestañas de la totalidad de ventanas abiertas por el gestor de ficheros Thunar.\nDesacoplar pestaña del gestor de ficheros y que se abra en una nueva ventana Puede darse el caso que tengamos varias pestañas abiertas en una misma ventana y queramos desacoplar una de ellas para tenerla como ventana individual. Para realizar lo que acabo de citar tendréis ejecutar el comando thunar -q en la terminal y posteriormente acceder al fichero .config/Thunar/accels.scm. Una vez dentro deberán modificar la siguiente línea:\n'(gtk_accel_path \u0026quot;\u0026lt;Actions\u0026gt;/ThunarWindow/detach-tab\u0026quot; \u0026quot;\u0026quot;)\nUna vez la hayan encontrado la descomentan y definen el atajo de teclado que quieren usar para desacoplar la pestaña. En mi caso usaré el atajo de teclado Ctrl + Alt + d . Por lo tanto la línea quedará del siguiente modo:\n(gtk_accel_path \u0026quot;\u0026lt;Actions\u0026gt;/ThunarWindow/detach-tab\u0026quot; \u0026quot;\u0026lt;Primary\u0026gt;\u0026lt;Alt\u0026gt;d\u0026quot;)\nNota: \u0026lt;Primary\u0026gt; hace referencia a la tecla Ctrl.\nA partir de estos momentos cada vez que presione Ctrl + Alt + ddesacoplaré la pestaña que esté activa del gestor de ficheros.\nAtajo de teclado Acción del atajo de teclado Ctrl + Alt + d Desacoplar una pestaña del gestor de ficheros. Abrir el gestor de archivos Thunar Normalmente no hay ningún atajo de teclado predeterminado para abrir el gestor de archivos Thunar. Os recomiendo que generéis uno. El proceso para generarlo dependerá del entorno de escritorio que estéis usando. Como en mi caso uso el escritorio i3 tan solo tendré que añadir la siguiente línea en el fichero de configuración del escritorio i3:\nbindsym $mod+t exec thunar\nA partir de estos momentos se abrirá el gestor de ficheros Thunar cuando presione la combinación de teclas Win + t\nAtajo de teclado Acción del atajo de teclado Win + t Abrir el gestor de ficheros Thunar. Abrir y cerrar ventanas de Thunar mediante atajos de teclado También podemos abrir y cerrar ventanas mediante atajos de teclado en Thunar. Los atajos de teclado que deberéis usar son los siguientes:\nAtajo de teclado Acción del atajo de teclado Ctrl + Mayús + w Cerrar todas las ventanas de Thunar. Ctrl + t Abrir nueva ventana. Ctrl + q cerrar la ventana. Intercambiar entre el menú de navegación, el panel lateral y la parte central del gestor de ficheros Thunar El gestor de ficheros Thunar se separa en tres partes:\nEl panel de navegación. El panel lateral. La parte principal donde se muestran la totalidad de ficheros y directorios. Para trasladar el foco activo de una parte a otra usaremos la tecla TAB.\nAtajo de teclado Acción del atajo de teclado TAB Intercambiar el foco activo entre el panel principal, el panel de navegación y el panel lateral. En el momento de abrir Thunar el foco principal estará en el panel principal. Por lo tanto si movemos el cursor se seleccionará un fichero o un directorio. Si queremos posicionar el cursor en el panel de navegación presionaremos la tecla TAB. Y si queremos posicionar el cursor en el panel lateral volveremos a presionar la tecla TAB.\nAbrir un fichero o directorio o ejecutar un fichero con el teclado Para abrir un fichero o un directorio tan solo tenemos que seleccionarlo. Una vez seleccionado pueden usar los siguientes atajos de teclado para abrirlo y/o ejecutarlo.\nAtajo de teclado Acción del atajo de teclado Enter Permite abrir un fichero o directorio. Ctrl + o Abrir un fichero o directorio. Ctrl + Mayús + o Abrir un directorio en una nueva ventana. Ir hacia adelante o detrás dentro de la estructura de directorios que previamente hemos visitado Para navegar dentro de la estructura de directorios de forma rápida y precisa les recomiendo las siguientes teclas.\nAtajo de teclado Acción del atajo de teclado Alt + ← Ir hacía atrás en la estructura de directorios previamente abierta. Alt + → Ir hacía adelante en la estructura de directorios previamente abierta. Alt + ↑ Para bajar un nivel respecto al directorio en que estás ubicado. Dirigirse a nuestro directorio /home/usuario Para dirigirnos de forma inmediata a nuestro directorio home tan solo tenemos que usar las teclas Alt + Inicio\nAtajo de teclado Acción del atajo de teclado Alt + Inicio Dirigirse al directorio /home/nuestro_usuario Ir a la barra de direcciones del gestor de archivos Para acceder a la barra de direcciones y de esta forma dirigirse a una ubicación o conectarse a un servidor remoto pueden usar el siguiente atajo de teclado.\nAtajo de teclado Acción del atajo de teclado Ctrl + l Dirigirse a la barra de direcciones para acceder a otras ubicaciones. Mostrar u ocultar el menú del gestor de archivos de Thunar En mi caso no quiero que aparezca el menú del gestor de archivos Thunar. Para mostrar u ocultar el menú del gestor de archivos pueden usar las siguientes teclas.\nAtajo de teclado Acción del atajo de teclado F10 Mostrar los menús del gestor de archivos Thunar momentáneamente en el caso que esten ocultos. Ctrl + m Mostrar u ocultar el menú de Thunar. Abrir una terminal en la ubicación actual donde nos encontramos En mi caso uso una acción personalizada para abrir una terminal en la ubicación que estoy visualizando en el gestor de ficheros. La acción personalizada que uso es la siguiente:\nNota: El comando entero que aparece en el campo orden es exo-open --working-directory %f --launch TerminalEmulator\nY en la pestaña condiciones de aparición tengo configuradas las siguientes opciones.\nUna vez configurada la acción personalizada que acabo de mostrar se abrirá una terminal en la ubicación actual cada vez que presionamos el atajo de teclado Ctrl + Alt + t.\nAtajo de teclado Acción del atajo de teclado Ctrl + Alt + t Abrir una terminal en la ubicación actual del gestor de ficheros. Pueden visitar el siguiente enlace para aprender a crear acciones personalizadas con Thunar. Tengan en cuenta que las acciones personalizadas permiten ejecutar scripts generados por nosotros mismos. Esto sin duda permite dar usos adicionales al gestor de ficheros.\nCrear un nuevo directorio mediante un atajo de teclado Si están en una ubicación cualquiera y pretenden crear un nuevo directorio tan solo tendrán que usar la siguiente combinación de teclas.\nAtajo de teclado Acción del atajo de teclado Ctrl + Mayús + n Crear un nuevo directorio. Crear un nuevo fichero de texto El atajo de teclado de Thunar para crear un nuevo fichero de texto no me funciona. Por lo tanto en mi caso lo que hago es crear una acción personalizada para crear un nuevo fichero de texto. Hay varias formas de crear la acción personalizada, pero la que considero más simple es la que muestro a continuación:\nEn el apartado de configuración básica de las acciones personalizadas introduzco el siguiente contenido:\nNota: El comando entero que aparece en el campo orden es:\ntouch \u0026#34;`zenity --entry --height=100 --width=400 --title=\u0026#34;Introduzca el nombre del fichero de texto\u0026#34; --text \u0026#34;Introducir el nombre del fichero nuevo:\u0026#34;`\u0026#34; Y en la pestaña condiciones de aparición las opciones seleccionadas son las siguientes:\nA partir de estos momentos tan solo tendremos que presionar el siguiente atajo de teclado para generar un fichero de texto vacío.\nAtajo de teclado Acción del atajo de teclado Ctrl + Mayús + f Crear un nuevo fichero de texto. Nota: Para que la acción personalizada funcione tendréis que tener instalado el paquete zenity.\nVer las propiedades de un fichero o de un directorio mediante atajos de teclado en Thunar Para ver las propiedades de un fichero o de un directorio usen la siguiente combinación de teclas.\nAtajo de teclado Acción del atajo de teclado Alt + Intro Ver las propiedades de un fichero o de una carpeta. Una vez se abren las propiedades pueden usar los cursores y las teclas TAB, Enter, Ctrl + Avpág y Ctrl + RePág para navegar y modificar las propiedades de los ficheros y de los directorios.\nSeleccionar todos los ficheros y directorios mediante atajos de teclado en Thunar Para seleccionar la totalidad de ficheros y directorios de la ubicación actual usen la siguiente combinación de teclas:\nAtajo de teclado Acción del atajo de teclado ctrl + a Seleccionar la totalidad de ficheros y directorios. Seleccionar los ficheros y directorios que siguen un patrón determinado Para seleccionar la totalidad de ficheros y directorios que siguen un determinado patrón tan solo hay que presionar las siguientes teclas:\nAtajo de teclado Acción del atajo de teclado ctrl + s Seleccionar los ficheros y directorios que siguen un patrón determinado. Al presionar la tecla les aparecerá una ventana para que defináis el patrón de búsqueda. Una vez definido tan solo hay que presionar la tecla Enter.\nInvertir la selección de ficheros o directorios Este atajo de teclado no viene activado de forma predeterminada. Para activarlo tendrán que ejecutar el comando thunar -q en la terminal y acceder al fichero .config/Thunar/accels.scm. Una vez dentro deberán modificar la siguiente línea:\n; (gtk_accel_path \u0026quot;\u0026lt;Actions\u0026gt;/ThunarStandardView/invert-selection\u0026quot; \u0026quot;\u0026quot;)\nPor la siguiente:\n(gtk_accel_path \u0026quot;\u0026lt;Actions\u0026gt;/ThunarStandardView/invert-selection\u0026quot; \u0026quot;\u0026lt;Primary\u0026gt;\u0026lt;Alt\u0026gt;i\u0026quot;)\nA partir de estos momentos si únicamente tengo seleccionado un fichero, al presionar la combinación la teclas Ctrl + Alt + i se invertirá la selección. Por lo tanto tendremos seleccionados la totalidad de ficheros y directorios menos el que teníamos seleccionado inicialmente.\nAtajo de teclado Acción del atajo de teclado Ctrl + Alt + i Invertir la selección de ficheros y/o directorios. Seleccionar y abrir un fichero o directorio de forma rápida Tan solo hay que realizar las acciones que describiré a continuación:\nAcceder a la ubicación donde están los ficheros y/o directorios que quieren seleccionar. Empezar a escribir el nombre del fichero o directorio al que quieren acceder o abrir. Tan solo realizando lo que acabo de decir se seleccionará de forma automática el directorio o fichero en cuestión. Una vez seleccionado el fichero o directorio que queremos tan solo tenemos que presionar la tecla Enter para abrir el fichero o acceder dentro del directorio. Si lo precisan también pueden acceder al menú contextual presionando la tecla de menú contextual de su teclado, ver las propiedades del fichero o del directorio mediante el atajo de teclado Alt + Enter, etc. Buscar ficheros y directorios en Thunar Para buscar ficheros o directorios pueden seguir las instrucciones que se citan en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/buscar-archivos-en-thunar/\nEs una lástima que el buscador de ficheros no disponga de un buscador que permita buscar ficheros por su contenido.\nHacer o deshacer un Zoom mediante atajos de teclado en Thunar Para cambiar el zoom de visualización de los ficheros y directorios mostrados por el gestor de ficheros usen las siguientes teclas:\nAtajo de teclado Acción del atajo de teclado Ctrl + rueda_ratón Hacer y deshacer zoom. Ctrl + + Hacer zoom. Ctrl + - Deshacer zoom. Ctrl+0 Poner el zoom predeterminado (100%). Renombrar ficheros y directorios Thunar es una herramienta potente para renombrar ficheros y directorios de forma masiva. Para ello tan solo tendrán que seleccionar los ficheros y directorios que quieren renombrar y presionar la tecla F2\nAtajo de teclado Acción del atajo de teclado F2 Renombrar un fichero o conjuntos de ficheros. Acto seguido aparecerá una ventana para que podamos definir y configurar el renombrado masivo de ficheros y directorios.\nNota: La herramienta para renombrar ficheros incluso soporta expresiones regulares.\nMostrar el menú contextual del fichero o directorio seleccionado Para conseguir el propósito citado en esté apartado tan solo tenemos se que seleccionar los ficheros y directorios pertinentes y presionar tecla de menú contextual.\nAtajo de teclado Acción del atajo de teclado Tecla de menú contextual del teclado Muestra el menú contextual del fichero o directorio que tengamos seleccionado. Mostrar y ocultar los ficheros ocultos Para mostrar u ocultar los ficheros ocultos de nuestro sistema de archivos podemos presionar la combinación de teclas Ctrl + h\nAtajo de teclado Acción del atajo de teclado Ctrl + h Mostrar u ocultar los ficheros ocultos. Copiar, cortar y pegar ficheros y directorios mediante atajos de teclado en Thunar Copiar, cortar y pegar ficheros y directorios se hace con los mismos atajos de teclado que la mayoría de programas existentes.\nAtajo de teclado Acción del atajo de teclado Ctrl + c Copiar un/os fichero/s y/o directorio/s. Ctrl + x Cortar un/os fichero/s y/o directorio/s. Ctrl + v Pegar un/os fichero/s y/o directorio/s. Modos de visualización del gestor de ficheros Thunar Tenemos los siguientes atajos de teclado para modificar la forma en que visualizamos nuestros directorios y ficheros.\nAtajo de teclado Acción del atajo de teclado Ctrl + 1 Ver los directorios y ficheros en modo vista de iconos. Ctrl + 2 Permite ver los directorios y ficheros en modo lista. Ctrl + 3 Para ver los directorios y ficheros en modo compacto. F9 Habilitar y deshabilitar el panel lateral. Ctrl + b Sirve para activar la vista de accesos directos en el panel lateral. Ctrl + e Para activar la vista de árbol en el panel lateral. Definir el orden de visualización de nuestro ficheros y/i directorios En mi caso no hay ningún atajo de teclado predeterminado para definir el orden en que quiero visualizar los ficheros y directorios. Por lo tanto lo que hay que hacer es abrir una terminal y ejecutar el comando thunar -q. Acto seguido acceden al fichero .config/Thunar/accels.scm. Una vez abierto el fichero tenéis que buscar las siguientes líneas:\n; (gtk_accel_path \u0026#34;\u0026lt;Actions\u0026gt;/ThunarStandardView/sort-ascending\u0026#34; \u0026#34;\u0026#34;) ; (gtk_accel_path \u0026#34;\u0026lt;Actions\u0026gt;/ThunarStandardView/sort-descending\u0026#34; \u0026#34;\u0026#34;) ; (gtk_accel_path \u0026#34;\u0026lt;Actions\u0026gt;/ThunarStandardView/sort-by-size\u0026#34; \u0026#34;\u0026#34;) ; (gtk_accel_path \u0026#34;\u0026lt;Actions\u0026gt;/ThunarStandardView/sort-by-type\u0026#34; \u0026#34;\u0026#34;) ; (gtk_accel_path \u0026#34;\u0026lt;Actions\u0026gt;/ThunarStandardView/sort-by-mtime\u0026#34; \u0026#34;\u0026#34;) ; (gtk_accel_path \u0026#34;\u0026lt;Actions\u0026gt;/ThunarStandardView/sort-by-name\u0026#34; \u0026#34;\u0026#34;) Una vez localizadas las descomentan y definen los atajos de teclado que quieren usar del siguiente modo:\n(gtk_accel_path \u0026#34;\u0026lt;Actions\u0026gt;/ThunarStandardView/sort-ascending\u0026#34; \u0026#34;\u0026lt;Primary\u0026gt;\u0026lt;Alt\u0026gt;a\u0026#34;) (gtk_accel_path \u0026#34;\u0026lt;Actions\u0026gt;/ThunarStandardView/sort-descending\u0026#34; \u0026#34;\u0026lt;Primary\u0026gt;\u0026lt;Alt\u0026gt;z\u0026#34;) (gtk_accel_path \u0026#34;\u0026lt;Actions\u0026gt;/ThunarStandardView/sort-by-size\u0026#34; \u0026#34;\u0026lt;Primary\u0026gt;\u0026lt;Alt\u0026gt;s\u0026#34;) (gtk_accel_path \u0026#34;\u0026lt;Actions\u0026gt;/ThunarStandardView/sort-by-type\u0026#34; \u0026#34;\u0026lt;Primary\u0026gt;\u0026lt;Alt\u0026gt;y\u0026#34;) (gtk_accel_path \u0026#34;\u0026lt;Actions\u0026gt;/ThunarStandardView/sort-by-mtime\u0026#34; \u0026#34;\u0026lt;Primary\u0026gt;\u0026lt;Alt\u0026gt;m\u0026#34;) (gtk_accel_path \u0026#34;\u0026lt;Actions\u0026gt;/ThunarStandardView/sort-by-name\u0026#34; \u0026#34;\u0026lt;Primary\u0026gt;\u0026lt;Alt\u0026gt;n\u0026#34;) Nota: \u0026lt;Primary\u0026gt; hace referencia a la tecla Ctrl.\nActo seguido guardan los cambios y la siguiente vez que abran Thunar estarán disponibles los siguientes atajos de teclado.\nAtajo de teclado Acción del atajo de teclado Ctrl + Alt + a Ver los ficheros y directorios en orden ascendente. Ctrl + Alt + z Ver los ficheros y directorios en orden descendente. Ctrl + Alt + s Para organizar los ficheros y directorios por tamaño. Ctrl + Alt + y Organizar los ficheros y directorios por tipo. Ctrl + Alt + m Permite organizar los ficheros y directorios por fecha de modificación. Ctrl + Alt + n Organizar los ficheros y directorios por nombre. Borrar moviendo a la papelera de reciclaje mediante atajos de teclado en Thunar Para enviar uno o varios ficheros o directorios a la papelera de reciclaje lo seleccionamos y presionamos la tecla Supr.\nAtajo de teclado Acción del atajo de teclado Supr Borrar un fichero o directorio para que se almacene en la papelera de reciclaje. Borrar un fichero sin pasar por la papelera de reciclaje Para borrar uno o varios ficheros o directorios de forma definitiva y sin pasar por la papelera reciclaje los seleccionamos y presionamos la combinación de teclas Mayús + Supr.\nAtajo de teclado Acción del atajo de teclado Mayús + Supr Borrar un fichero o directorio de forma definitiva. Recargar el contenido mostrado por el gestor de ficheros En ocasiones puede que creemos un fichero o un directorio nuevo y no se muestre en el gestor de ficheros. Para que se muestre hará falta refrescar el contenido mostrado por el gestor de ficheros mediante los siguientes atajos de teclado.\nAtajo de teclado Acción del atajo de teclado Ctrl + r o F5 Refrescar el contenido mostrado por el gestor de ficheros. MODIFICAR LOS ATAJOS DE TECLADO EN THUNAR A lo largo de este artículo han visto numerosos atajos de teclado, pero si lo precisan los pueden modificar. Además también pueden configurar otros atajos de teclado para por ejemplo realizar las siguientes opciones:\nDirigirse al directorios de plantillas. Abrir o dirigirse a la papelera de reciclaje. Borrar la papelera de reciclaje. Duplicar un fichero. Crear un enlace. Enviar un fichero al escritorio mediante un enlace. Acceder a un elemento del apartado Lugares como por ejemplo podría ser un directorio de acceso frecuente. Etc. Para ello lo primero que tienen que realizar es abrir una terminal y ejecutar el siguiente comando para cerrar completamente todos los procesos del gestor de ficheros Thunar.\nthunar -q Una vez cerrado Thunar tendrán que editar el fichero ~/.config/Thunar/accels.scm. Para ello ejecuten el siguiente comando en la terminal:\nnano ~/.config/Thunar/accels.scm Una vez se abra el editor de texto deberán editar el código para configurar los atajos de teclado. Cada una de las líneas del fichero sirve para configurar uno de los atajos de teclado existentes en Thunar. Para añadir o modificar un atajo de teclado tan solo tendrán que descomentar la línea correspondiente y definir el atajo de teclado que quieren usar.\nLas acciones que realizaran algunas de las entradas del fichero ~/.config/Thunar/accels.scm son:\nLíneas del fichero accels.scm Función de cada una de las líneas ; (gtk_accel_path \u0026ldquo;/ThunarWindow/open-templates\u0026rdquo; \u0026ldquo;\u0026rdquo;) Dirigirse al directorios de plantillas. ; (gtk_accel_path \u0026ldquo;/ThunarWindow/empty-trash\u0026rdquo; \u0026ldquo;\u0026rdquo;) Borrar la papelera de reciclaje. ; (gtk_accel_path \u0026ldquo;/ThunarStandardView/duplicate\u0026rdquo; \u0026ldquo;\u0026rdquo;) Duplicar un fichero. ; (gtk_accel_path \u0026ldquo;/ThunarStandardView/make-link\u0026rdquo; \u0026ldquo;\u0026rdquo;) Crear un enlace. ; (gtk_accel_path \u0026ldquo;/ThunarLauncher/sendto-desktop\u0026rdquo; \u0026ldquo;\u0026rdquo;) Enviar un fichero al escritorio mediante un enlace. ; (gtk_accel_path \u0026ldquo;/ThunarWindow/open-computer\u0026rdquo; \u0026ldquo;\u0026rdquo;) Para dirigirse a la ubicación equipo del gestor de ficheros. ; (gtk_accel_path \u0026ldquo;/ThunarWindow/open-desktop\u0026rdquo; \u0026ldquo;\u0026rdquo;) Para ver el contenido que almacenamos en el escritorio. ; (gtk_accel_path \u0026ldquo;/ThunarLauncher/open-with-other\u0026rdquo; \u0026ldquo;\u0026rdquo;) Abrir un fichero mediante un programa diferente al predeterminado. ; (gtk_accel_path \u0026ldquo;/ThunarWindow/open-trash\u0026rdquo; \u0026ldquo;\u0026rdquo;) Ver el contenido de dentro la papelera de reciclaje. ; (gtk_accel_path \u0026ldquo;/ThunarWindow/empty-trash\u0026rdquo; \u0026ldquo;\u0026rdquo;) Borrar la papelera de reciclaje. ; (gtk_accel_path \u0026ldquo;/ThunarWindow/open-network\u0026rdquo; \u0026ldquo;\u0026rdquo;) Ver las ubicaciones de red disponibles. \u0026hellip; \u0026hellip; El procedimiento para modificar cada una de las líneas es:\nDescomentar la línea borrando ; Definir al atajo de teclado que queremos usar dentro del espacio delimitado por las dos comillas \u0026quot;\u0026quot; Una vez realizados los cambios pertinentes tan solo tiene que guardar los cambios. Los atajos de teclado definidos estarán disponibles la próxima vez que inicien el gestor de ficheros Thunar.\nAdemás si miran en los menú de Thunar verán que aparecen la totalidad de atajos de teclado definidos y que podemos usar.\nFuentes https://docs.xfce.org/xfce/thunar/faq\n","permalink":"https://geeklandlinux.github.io/posts/atajos-de-teclado-en-thunar-el-gestor-de-ficheros-de-xfce/","summary":"\u003cp\u003eSi quieren usar el gestor de ficheros Thunar de forma rápida y eficiente a continuación les citaré prácticamente la totalidad de atajos de teclado disponibles. Además también verán como pueden añadir nuevos atajos de teclado y como modificar los atajos de teclado estándar. De esta forma podrán extraer el máximo rendimiento del gestor de ficheros Thunar.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNota\u003c/strong\u003e: Si le dan una oportunidad a Thunar verán que es un gestor de ficheros flexible y con más posibilidades de lo que a priori piensan. Espero que sus desarrolladores no lo destrocen añadiendo la side decoration de Gnome.\u003c/p\u003e","title":"Atajos de teclado en Thunar  - El gestor de ficheros de XFCE"},{"content":"Como todos los que leen el blog sabrán siempre que puedo utilizo Linux. No obstante en mi vida laboral estoy forzado a usar Windows y la verdad es que no funciona mal. Por lo tanto para todos los usuarios que usan o tienen que usar Windows les dejo una serie de atajos de teclado en Windows que les ayudarán a ser más productivos en sus tareas.\nAtajos de teclado para ser productivos usando el explorador de archivos de Windows Algunos de los atajos de teclado que nos ayudarán a ser más productivos en el explorador de archivos de Windows son los siguientes:\nAtajo de teclado Función Win + e Abrir el explorador de archivos. F2 Renombrar un fichero o un directorio que tengamos seleccionado. Ctrl + e Seleccionar la totalidad de ficheros que aparecen en el gestor de archivos. Ctrl + Mayús + e Mostrar todos los directorios que están a un solo nivel superior del directorio seleccionado. Bloq_Num + * Apretando el asterisco del teclado numérico mostramos todos los subdirectorios del directorio seleccionado. Bloq_Num + - Para Ocultar/Contraer la estructura de directorios del directorio seleccionado. Bloq_Num + + Para Ver/Expandir la estructura de directorios del directorio seleccionado. Ctrl + f o F3 Acceder al apartado de búsqueda del gestor de archivos. Recuerden que previa configuración, Windows permite buscar archivos por su contenido. Ctrl + l o Alt + d o F4 Acceder al apartado para editar la ruta mostrada en el gestor de archivos. Ctrl + n o Win + e Abrir una nueva ventana del gestor de archivos. Para abrir 2 ventanas tan solo tendremos que usar el atajo 2 veces. En un futuro cercano el explorador de archivos de Windows tendrá pestañas. Ctrl + w o alt + F4 Cerrar la ventana del explorador de archivos. Ctrl + c Copiamos los archivos y/o directorios que tengamos seleccionados. Ctrl + x Cortamos los archivos y/o directorios que tengamos seleccionados. Ctrl + v Para pegar los archivos y/o directorios que hayamos cortado o pegado. Ctrl + z Deshacer la última acción realizada. TAB o F6 Hacer que el cursor se desplace entre las distintas secciones y elementos del explorador de archivos. Mayús + TAB Hacer que el cursor se desplace en orden inverso entre las distintas secciones y elementos del explorador de archivos. F6 Cambiar del panel de la derecha al panel de la izquierda (panel de navegación). Para conseguir este propósito tendremos que presionar F6 varias veces. Alt + → y Alt + ← Para retroceder o avanzar dentro de la estructura de carpetas previamente abiertas. retroceder Para retroceder al directorio anterior. Este atajo de teclado es equivalente a Alt + ←. Alt + ↑ Para bajar un nivel respecto al directorio en que estás ubicado. Alt + p Mostrar el panel de vista previa. Mayus + F10 o tecla_menu_contextual Ver el menú contextual del fichero o carpeta que tenemos seleccionado. Este atajo es muy útil en caso que no os guste el menú contextual que ofrece Windows 11. Alt + Mayús + p Abrir el panel de detalles para ver los metadatos de un archivo. Alt + Enter Ver la ventana de propiedades del fichero o carpeta que tenemos seleccionado. Ctrl + rueda_del_ratón Cambiar el tamaño del contenido mostrado por el gestor de ficheros. Ctrl + Mayús + n Crear una nueva carpeta. Inicio Desplazar el cursor hacia primer fichero o directorios. Fin Desplazar el cursor hasta el último de los ficheros o directorios. Re pág Hacer que el cursor que selecciona un fichero o directorio retroceda una página. Av pág Hacer que el cursor que selecciona un fichero o directorio avance una página. Mayús + Fin Seleccionar des del fichero o directorio que tenemos seleccionado hasta el final. Mayús + Inicio Seleccionar des del fichero o directorio que tenemos seleccionado hasta el inicio. Supr Borrar ficheros y directorios enviándolos a la papelera de reciclaje. Mayús + Supr Eliminar o borrar de forma permanente los ficheros y/o directorios seleccionados. Los ficheros y/o directorios eliminados no se almacenarán en la papelera de reciclaje. F11 Ver el explorador de archivos en pantalla completa. Aparte de los atajos de teclado que acabamos de citar les recomiendo añadir accesos rápidos a los directorios que acostumbran a acceder con más asiduidad.\nAtajos de teclado en Windows para gestionar y trabajar con los escritorio virtuales La verdad es que no acostumbro a trabajar con los escritorios virtuales. La principal razón es que le faltan funcionalidades y atajos de teclado como por ejemplo los siguientes:\nCambiar programas de un escritorio virtual a otro escritorio virtual mediante atajos de teclado. Hacer que determinados programas siempre se abran en un escritorio virtual determinado. Que se indique el escritorio virtual en que estamos ubicados en cada momento. No obstante para quien decida trabajar con los escritorios virtuales les dejo los siguientes atajos de teclado que seguro le serán de utilidad.\nAtajo de teclado Función Win + Ctrl + d Abrir y direccionarse a un nuevo escritorio virtual. Win + Ctrl + F4 Cerrar el escritorio virtual en que estamos. Win + TAB Abrir la vista de tareas para gestionar los escritorios virtuales. Esc Cerrar la vista de tareas. Win + Ctrl + → Ir al siguiente escritorio virtual. Si estamos en el 1 iremos al 2. Win + Ctrl + ← Ir al escritorio virtual anterior. Si estamos en el 2 iremos al 1. Atajos de teclado en Windows para moverse entre las distintas ventanas abiertas En el siguiente apartado veremos algunos atajos de teclado en Windows que nos ayudarán a movernos entre las distintos aplicaciones que tenemos abiertas de forma rápida y eficiente.\nAtajo de teclado Función Alt + TAB Podemos ir cambiando fácilmente entre las ventanas que tenemos abiertas. Alt + Ctrl + TAB Aparece una pantalla fija en la que podemos ver todas las ventanas abiertas. Una vez abierta tendremos que seleccionar la ventana que queremos abrir. Alt + Esc Para recorrer los programas de la barra de tareas en el orden en que se hizo clic por última vez. Win + TAB Se abre la vista de tareas. Allí podremos seleccionar la ventana o aplicación que queremos ver. Win + t Para irnos moviendo hacia adelante en las aplicaciones que tenemos en la barra de tareas de Windows. Win + Mayús + t Para irnos moviendo hacia atrás en las aplicaciones que tenemos en la barra de tareas de Windows. Win + número Para ir directamente a las aplicaciones que tenemos en la barra de tareas de Windows. Si queremos ir a la segunda aplicación de la barra de tareas usaremos Win + 2. Este atajo de teclado será bastante útil si anclamos aplicaciones a la barra de tareas porque de este modo un número estará asociado a un programa. Abrir aplicaciones y programas de forma rápida mediante atajos de teclado Para abrir las aplicaciones y programas que tenemos instalados de forma rápida y eficiente usaremos los siguientes atajos de teclado.\nAtajo de teclado Función Win + escribir_nombre_aplicación En el momento de presionar la tecla Win se abrirá el menú de inicio. Cuando esté abierto empiecen a teclear el nombre del programa que quieran abrir y cuando el menú lo encuentre presionen Enter. Para abrir aplicaciones de esta forma es recomendable deshabilitar la búsqueda web del menú de inicio. Win + número_aplicación_anclada_menu Presionar la tecla Win conjuntamente con el número de la aplicación anclada en el menú de tareas que queremos abrir. Ctrl + Mayús + clic_ratón Para abrir una aplicación como administrador. Win + c Abre la aplicación meetings de Windows 11. Si presionamos el atajo de teclado una segunda vez se cerrará la aplicación. Ctrl + Mayús + clic_ratón_en_programa_anclado_en_barra_de_tareas Abrir una aplicación que tengamos anclada en el menú de tareas como administrador. Aparte de todo lo citado en este apartado pueden seguir las siguientes instrucciones para crear atajos de teclado personalizados para abrir aplicaciones. Si lo creen oportuno pueden instalar launchers de aplicaciones. En su día use y me gusto el lanzador Launchy. En estos momentos no uso Launchy porque el menú de inicio de Windows me permite realizar exactamente lo mismo.\nDistribuir las ventanas en el monitor de la forma que queramos Para distribuir las ventanas de la forma que queremos de una forma rápida y eficiente podemos usar los siguientes atajos de teclado en Windows.\nAtajo de teclado Función Win + cursores Mediante la tecla Win y los cursores → ← ↑ ↓ podemos mover y anclar una ventana en la posición que queramos. Incluso la podemos minimizarla o maximizarla. Una vez ubicada la ventana tendremos la posibilidad de ubicar el resto de ventanas. Win + z Para seleccionar la distribución deseada en el caso que queramos visualizar múltiples ventanas en un monitor. Win + Inicio Si tenemos varias ventanas abiertas se ocultarán todas menos la que tenemos activa que quedará como principal. Nota: Si tenemos varias ventanas abiertas mediante uno de los layout de Windows las podremos redimensionar mediante el ratón o mediante el atajo de teclado Alt + espacio + t. Una vez las redimensionamos la distribución de ventanas seguirá ocupando el 100% de la pantalla.\nMaximizar , minimizar, redimensionar y cerrar ventanas mediante atajos de teclado Otro grupo de atajos de teclado interesantes son aquellos que hacen referencia a maximizar, minimizar, redimiensionar y cerrar ventanas. Algunos de los atajos de teclado que podemos utilizar para las tareas que acabo de citar son:\nAtajo de teclado Función Win + ↑ Para maximizar una ventana que tenemos activa. Alt + espacio + x También sirve para maximizar la ventana que tengamos activa. Alt + espacio + r Para Desmaximizar una ventana activa que tengamos maximizada. Win + ↓ Para minimizar una ventana. Si de inicio la ventana está maximizada tendremos que usar el atajo 2 veces. Win + m Minimiza todas las ventanas que tenemos abiertas. Win + d Minimiza todas las ventanas abiertas. Una vez minimizadas podemos volver a presionar Win + d para restaurar el estado de las ventanas antes de minimizarlas. Win + , Se minimizarán todas las ventanas y se mostrará el escritorio mientras tengamos presionado Win + ,. En el momento que dejemos de presionar Win + , se volverán a maximizar toda las ventanas que teníamos abiertas. Alt + espacio Al presionar el atajo de teclado Alt + espacio se abrirá el submenú de la ventana que tengamos activa. Este menú nos permitirá maximizar, minimizar, mover y redimensionar las ventanas. Alt + espacio + n Minimizar la ventana que tenemos activa. Alt + espacio + t Para redimensionar la ventana que tengamos activa. Una vez hayamos presionado el atajo de teclado podremos redimensionar la ventana con los cursores. Alt + espacio + m Para mover la ventana que tengamos activa. Una vez hayamos presionado el atajo de teclado podremos mover la ventana con los cursores. Alt + F4 Cierra la ventana que tenemos activa. Usar la lupa de Windows para hacer zoom en alguna parte de la pantalla o activar el sintetizador de voz para que nos lea el texto mostrado por un programa La lupa de Windows permitirá ampliar zonas de la pantalla para visualizarlas mejor. También permitirá que un sintetizador de voz lea el texto mostrado por cualquier aplicación de Windows. Por lo tanto, las personas que tienen algún tipo de deficiencia visual pueden hacer uso de la lupa de Windows mediante atajos de teclado del siguiente modo:\nAtajo de teclado Función Win + + Para hacer un zoom de lo que estamos visualizando en pantalla. Win + - Para deshacer un zoom que hayamos aplicado. Ctrl + Alt + clic_ratón_izquierdo Activar el sintetizador de voz para que empieza a reproducirse el texto de cualquier programa. Ctrl + Alt + Enter Para pausar o reanudar la lectura del sintetizador de voz. Win + Esc Para cerrar la lupa de Windows. Realizar capturas de pantalla en Windows Al escribir mails o al realizar documentos es normal y habitual el uso de capturas de pantalla. Como imaginarán la forma más rápida y sencilla de realizar capturas de pantalla es mediante los atajos de teclado. Algunos de los atajos de teclado para realizar capturas de pantalla son los siguientes:\nAtajo de teclado Función Imp_pant Aparecerá un menú de acceso rápido para realizar varios tipos de captura de pantalla. Recorte rectangular, recorte de forma libre, recorte de ventana y recorte de pantalla completa. La imagen quedará almacenada en el portapapeles para que la podamos pegar a posteriori. El atajo de teclado para pegar es Ctrl + v o Win + v. Win + Imp_pant Se captura la totalidad de la pantalla. La imagen quedará almacenada en el portapapeles para que la podamos pegar a posteriori. El atajo de teclado para pegar es Ctrl + v o Win + v. Alt + Imp_pant Únicamente se captura la ventana que tengamos activa. La imagen quedará almacenada en el portapapeles para que la podamos pegar a posteriori. El atajo de teclado para pegar es Ctrl + v o Win + v. Si además quieren almacenar la captura de pantalla en un fichero pueden usar la Herramienta Recortes de Windows. Para abrir está aplicación de forma rápida les recomiendo que realicen un atajo de teclado para abrir la aplicación. Si lo prefieren también pueden usar software de terceros para realizar capturas de pantalla. Uno de los software que podría recomendar es Snagit.\nPegar textos e imágenes gestionando el portapapeles de Windows El portapapeles de Windows va almacenando todo lo que copiamos. Por lo tanto si queremos pegar una imagen o un texto que copiamos hace media hora lo podremos hacer sin ningún problema. Tan solo tendremos que presionar la combinación de teclas Win + v. Acto seguido mediante los cursores pueden seleccionar el contenido que quieren pegar y pulsar Enter.\nPor lo tanto los atajos de teclado para pegar texto e imágenes de forma rápida y eficiente son:\nAtajo de teclado Función Ctrl + v Para pegar el último contenido copiado al portapapeles. Win + v Para que se abra el portapapeles y podamos seleccionar la imagen o texto que queremos pegar. Atajos de teclado que podemos usar cuando navegamos en Chrome o en Firefox Si navegamos intentando evitar el uso del ratón también seremos mucho más rápidos y productivos. Por lo tanto les recomiendo que intenten usar los siguientes atajos de teclado durante su navegación.\nAbrir y cerrar pestañas en el navegador Para Abrir, cerrar pestañas en el navegador usen los siguientes atajos de teclado:\nAtajo de teclado Función Ctrl + t Abrir una nueva pestaña en el navegador. Ctrl + n Abrir una nueva ventana del navegador. Ctrl + Mayús + n Abrir una ventana de navegación en modo incógnito en Chrome. Ctrl + Mayús + p Abrir una ventana de navegación en modo incógnito en Firefox. Ctrl + w o Ctrl + f4 Para cerrar la pestaña actual en el navegador. Ctrl + Mayús + t o Ctrl + Mayús + c Recuperar las pestañas cerradas recientemente. Cada vez que presionemos el atajo de teclado restauraremos una pestaña cerrada. Realizar búsquedas web Un atajo de teclado imprescindible para realizar búsquedas de forma rápida y eficaz es:\nAtajo de teclado Función Ctrl + l Poner el cursor en la barra de direcciones o búsqueda del navegador. Al presionar Ctrl + l el cursor se posicionará en la barra de direcciones del navegador. Acto seguido tan solo tienen teclear el tema o palabra sobre la que quieren realizar la búsqueda y presionar Enter.\nMoverse entre las distintas pestañas abiertas del navegador Para moverse entre las distintas pestañas que tenemos abiertas en el navegador usen los siguientes atajos de teclado.\nAtajo de teclado Función Ctrl + número_pestaña (1-8) Para dirigirnos a la pestaña que queramos. Podemos elegir cualquier pestaña de la 1 a la 8. Para ello es interesante usar alguna extensión que te numere las pestañas. Ctrl + 9 Para dirigirnos a la última pestaña del navegador. Ctrl + TAB Para ir a la pestaña siguiente. Ctrl + Mayús + TAB Para ir a la pestaña anterior. Navegar y desplazarse dentro de la web que estamos visitando Algunos atajos de teclado que les ayudaran en la navegación y en el desplazamiento son los siguientes:\nAtajo de teclado Función Ctrl + fin o fin Nos dirige al final de la página web. Ctrl + inicio o inicio Nos dirige al inicio de la página web. Av Pág o Espacio Para avanzar en la lectura del contenido de la web que estamos visitando. Si queremos que el desplazamiento sea más lento podemos usar los cursores. Re Págo Mayús + Espacio Para retroceder en la lectura del contenido de la web que estamos visitando. Si queremos que el desplazamiento sea más lento podemos usar los cursores. Alt + → y Alt + ← Para avanzar o retroceder en las páginas que ya hemos visitado. F5 Para recargar la página web en que estamos. + F5 Para recargar la página web en que estamos ignorando la cache que tiene almacenada el navegador. Realizar zoom para navegar de forma más cómoda Para realizar zoom y poder visualizar de forma más cómoda la web que están visitando tengan presentes los siguientes atajos de teclado:\nAtajo de teclado Función Ctrl + Para hacer zoom. De esta forma incrementar el tamaño del texto. Ctrl - Para deshacer el zoom o para hacer más pequeño el texto que estamos visualizando. Ctrl 0 Para deshacer todos los zoom que hemos aplicado y dejar el zoom predeterminado (100%). F11 Para navegar a pantalla completa. Además recuerden que también pueden hacer uso de la lupa de Windows.\nBuscar texto dentro de la web que estamos visitando En el caso que pretendan buscar palabras o frases específicas dentro de la web que están visitando les recomiendo usar los siguientes atajos de teclado:\nAtajo de teclado Función Ctrl + f Para entrar en el cuadro de búsqueda y buscar texto dentro de la página web que estamos visitando. Enter o F3 Ir a la siguiente palabra o frase que coincide con nuestra búsqueda. Mayús + Enter o Mayús + F3 Ir a la anterior palabra o frase que coincide con nuestra búsqueda. ESC Cerrar la barra de búsqueda. Gestionar los marcadores del navegador Obviamente los marcadores del navegador web nos serán de utilidad para recordar y acceder a una web que visitamos previamente. Para gestionar los marcadores de forma eficiente pueden hacer uso de los siguientes atajos de teclado:\nAtajo de teclado Función Ctrl + d Añadir una web a la barra de marcadores. Ctrl + Mayús + d Introducir las páginas abiertas en los marcadores. Ctrl + Mayús + b Mostrar/ocultar la barra de marcadores. Ctrl + Mayús + o Administrar las URL que que tenemos a la barra de marcadores. Gestionar el historial de navegación y de descargas En ciertas ocasiones puede resultar interesante y necesario acceder y gestionar el historial de navegación y el historial de descargas. Para estos menesteres pueden usar los siguientes atajos de teclado.\nAtajo de teclado Función Ctrl + h Abrir el historial de navegación. Ctrl + Mayús + Supr Borrar el historial de navegación. Ctrl + j Abrir el historial de descargas. Alt + c Para borrar el historial de descargas. Atajos de teclado específicos del navegador Chrome Los atajos de teclado que acabamos de ver funcionarán en la totalidad de navegadores Web. No obstante cada uno de los navegadores web tiene atajos de teclado específicos. Algunos de los atajos de teclado específicos de Google Chrome son los siguientes:\nAtajo de teclado Función Alt + f Abrir el menú de Chrome. Alt + Esc Abrir el administrador de tareas de Chrome Mayús + Alt + t Poner foco en el primer elemento de la izquierda de la barra de herramientas de Chrome. F10 Poner foco en el primer elemento de la derecha de la barra de herramientas de Chrome. F6 Presionando simultaneas veces accederemos a la barra de direcciones, a las pestañas, a la barra de favoritos o a la ventana de navegación. Atajos de teclado específicos del navegador Firefox Si son usuarios de Firefox deben saber que algunos de los atajos de teclado más importantes específicos de Firefox son los siguientes:\nAtajo de teclado Función / Realizar una búsqueda de texto rápida en la web que estamos visitando. ' Realizar una búsqueda de texto rápida en los hiperenlaces de la web que estamos visitando. Esc Cerrar la barra de búsqueda rápida. Ctrl + Mayús + a Acceder al administrador de extensiones o complementes. Mayús + F7 Acceder al administrador de estilos. Atajos de teclado relacionados con el sistema operativo Windows Además de todos los atajos de teclado vistos hasta el momento también podemos usar otros atajos de teclado más relacionados con la configuración y utilidades de Windows. Algunos de estos atajos de teclado son los siguientes:\nAtajo de teclado Función Win Abre el menú de inicio de Windows. Win + x Abrir el menú rápido. Win + b + Enter Para mostrar los iconos ocultos en la barra de tareas. Win + w Para abrir el panel de widgets de Windows 11. Win + i Para abrir las opciones de configuración de Windows. Win + r Abriremos la ventana de ejecutar comando. Win + n Abrir el calendario y el panel de notificaciones. Win + a Abrir el panel de ajustes rápidos. Win + k Buscar dispositivos que acepten conexión inalámbrica para por ejemplo mostrar nuestra pantalla en un televisor. Win + l Para bloquear la pantalla. Puede ser útil cuando nos vayamos al mediodía de la oficina y evitar la mirada de curiosos. Win + p En el caso de tener más de una pantalla podemos definir si queremos ver el contenido duplicado, solo en una de las pantallas, etc. Win + s Abrir la barra de búsquedas. Allí podremos buscar ficheros, directorios, programas, fotos, etc. Win + . Abrir el selector de emojis. De este modo podremos escribir emojis en cualquier procesador de textos. Ctrl + Mayús + Esc Abrir el administrador de tareas de Windows 11. Ver las opciones que ofrece el teclado que tenemos disponible Otra opción interesante es analizar las teclas de nuestro teclado. Si os fijáis veréis que la gran mayoría de teclados incorporan teclas predefinidas para realizar funciones como por ejemplo las siguientes:\nSubir y bajar el volumen. Seleccionar el brillo de la pantalla. Bloquear la pantalla del ordenador. Bloquear la cámara Web. Mostrar el menú contextual de un fichero. Etc. Conclusiones finales y otras opciones a considerar Obviamente no he citado todos los atajos de teclado existentes. Solo he citado los que en mi caso me parecen más útiles. Si creéis que falta algún atajo de teclado importante os invito a dejarlo en los comentarios de artículo.\nAdemás tengan en cuenta que cualquier programa que uséis en Windows tendrá sus atajos de teclado. Por lo tanto vale la pena investigar un poco ya que en el momento que uséis atajos de teclado realizaréis vuestras tareas de forma más rápida. También puede resultar interesante usar todas las propiedades y gestos que les puede ofrecer el touchpad de su ordenador portátil.\nFuentes https://support.microsoft.com/en-us/windows/keyboard-shortcuts-in-windows-dcc61a57-8ff0-cffe-9796-cb9706c75eec\n","permalink":"https://geeklandlinux.github.io/posts/atajos-de-teclado-en-windows-11-para-ser-productivos/","summary":"\u003cp\u003eComo todos los que leen el blog sabrán siempre que puedo utilizo Linux. No obstante en mi vida laboral estoy forzado a usar Windows y la verdad es que no funciona mal. Por lo tanto para todos los usuarios que usan o tienen que usar Windows les dejo una serie de atajos de teclado en Windows que les ayudarán a ser más productivos en sus tareas.\u003c/p\u003e","title":"Atajos de teclado en Windows 11 para ser productivos"},{"content":"Muchos de vosotros se preguntarán porque cierta persona puede tener la necesidad de numerar las pestañas del navegador Web. La respuesta es sencilla. El hecho de numerar las pestañas del navegador Web nos facilitará la tarea de navegar y cambiar de pestaña mediante atajos de teclado. De esta forma seremos más rápidos y más productivos.\nComo muchos sabrán, una vez tenemos abierto el navegador podemos cambiar de pestaña mediante la combinación de teclas Ctrl + número_de_pestaña. Por lo tanto si estamos en la pestaña 1 y queremos ir a la 3 no hace falta usar el ratón. Tan solo tenemos que presionar la combinación de teclas Ctrl + 3. No obstante en el caso que tengamos 8 pestañas abiertas no resultará tan fácil saber el número de la pestaña que queremos visitar. Para solventar el problema que acabo de citar podemos usar una simple extensión que nos facilitará saber el número de pestaña de forma inmediata.\nNota: En Firefox para Linux tenemos que usar la combinación de teclas Alt + número_de_pestaña para ir a la pestaña que queremos. Si no os gusta esta combinación de teclas podéis usar la extensión Ctrl+Number to switch tabs.\nNUMERAR LAS PESTAÑAS DEL NAVEGADOR EN MOZILLA FIREFOX Para numerar las pestañas lo podemos hacer a través de una extensión en el navegador como por ejemplo Tab Numbering o Tab Numbers. Pero esta opción no me acaba de convencer porque estamos dando permisos a que la extensión recopile información sobre nuestra navegación. Por lo tanto en mi caso os recomiendo que lo hagáis mediante css del siguiente modo.\nLo primero que tenemos que realizar es averiguar donde se ubica la carpeta de configuración de nuestro perfil de Firefox. Para ello abriréis el navegador y en la barra de navegación introducirán about:profiles. Acto seguido podréis visualizar el directorio que almacena vuestro perfil.\nEn mi caso el directorio es el /home/joan/.mozilla/firefox/bttghfl4.default-release. Una vez lo sabemos accedemos dentro del directorio y creamos un nuevo directorio llamado chrome.\nAhora accedemos dentro de la carpeta chrome y creamos un nuevo fichero con el nombre y extensión userChrome.css.\nUna vez creado el archivo lo abrimos con un editor de textos y pegamos el siguiente código:\ntabs { counter-reset: tab-counter; } tab:nth-child(1) .tab-label::before, tab:nth-child(2) .tab-label::before, tab:nth-child(3) .tab-label::before, tab:nth-child(4) .tab-label::before, tab:nth-child(5) .tab-label::before, tab:nth-child(6) .tab-label::before, tab:nth-child(7) .tab-label::before, tab:nth-child(8) .tab-label::before { background-color: white; border-radius: 0.25em; border: 1px solid white; box-sizing: border-box; color: black; content: counter(tab-counter) \u0026#34;\u0026#34;; counter-increment: tab-counter; display: block; float: left; font-size: 0.8em; font-weight: bold; height: 1.5em; line-height: 1; margin: 0 0.5em 0 0; padding: 0.1em 0.25em 0.25em 0.25em; position: relative; text-align: center; top: 0.35em; vertical-align: middle; width: 1.4em; } Una vez pegado el código guardamos los cambios y cerramos el fichero. Ahora accederemos a las opciones de configuración de Firefox ingresando dirección about:config en la barra de navegación. Acto seguido presionaremos el botón de Aceptar el riesgo y continuar y finalmente cambiaremos el valor de la propiedad toolkit.legacyUserProfileCustomizations.stylesheets a true.\nAhora reiniciaremos Firefox y podremos ver que las pestañas del navegador aparecen perfectamente numeradas.\nPor lo tanto si ahora estoy en la pestaña 1 y quiero ir a la pestsaña 4 tan solo tendré que presionar la combinación de teclas Ctrl + 4.\nSi no les gustan los colores del estilo de numeración tan solo tendrán que entrar en el fichero userChrome.css y editar su contenido. Otro ejemplo de código que podrían usar dentro del fichero userChrome.css es el siguiente:\ntabs { counter-reset: tab-counter; } .tab-label::before { counter-increment: tab-counter; content: counter(tab-counter) \u0026#34; - \u0026#34;; } NUMERAR LAS PESTAÑAS EN GOOGLE CHROME Al contrario que Firefox, en Google Chrome únicamente tenemos la opción de usar una extensión. En mi caso uso la extensión Numbered tabs. Para instalar la extensión tan solo tiene que acceder a la siguiente URL. Una vez hayan accedido a ella tendrán que clicar encima del botón de Añadir a Chrome.\nActo seguido nos aparecerá otra ventana en la que tendremos que clicar encima del botón Añadir extensión.\nA partir de estos momentos podremos ver que las pestañas de Google Chrome se numeran. De esta forma de sencilla podremos saltar de una pestaña a la otra mediante atajos de teclado.\nFuentes https://gist.github.com/arthurattwell/19d868330a3c9f668a3f3a69230ac28c\nhttps://github.com/tuomassalo/tab-numbering\nhttps://www.userchrome.org/how-create-userchrome-css.html\n","permalink":"https://geeklandlinux.github.io/posts/numerar-las-pestanas-del-navegador-en-firefox-y-chrome/","summary":"\u003cp\u003eMuchos de vosotros se preguntarán porque cierta persona puede tener la necesidad de numerar las pestañas del navegador Web. La respuesta es sencilla. El hecho de numerar las pestañas del navegador Web nos facilitará la tarea de navegar y cambiar de pestaña mediante atajos de teclado. De esta forma seremos más rápidos y más productivos.\u003c/p\u003e","title":"Numerar las pestañas del navegador en Firefox y Chrome"},{"content":"En esta ocasión veremos otra de las utilidades que nos servirán para manipular texto cuando estemos programando scripts o usando la terminal Linux o Unix. En esta ocasión veremos una serie de ejemplos que nos ayudarán a comprender el uso de la utilidad o comando tr\n¿CUÁL ES LA PRINCIPAL FUNCIÓN DE LA UTILIDAD TR? tr no es más que una abreviación de translate. Esto ya nos puede dar la pista que las principales utilidades de tr son las siguientes:\nCambiar caracteres, palabras y frases de mayúscula a minúscula o viceversa. Buscar palabras y reemplazarlas por otras. Borrar caracteres, palabras o frases. Eliminar caracteres repetidos de forma innecesaria. Cambiar letras o palabras de mayúscula a minúscula. Eliminar la totalidad de caracteres que son ilegibles de un texto. Añadir una nueva línea cada vez que encontremos un delimitador que podemos definir. Eliminar la totalidad de caracteres de puntuación de una frase. Etc. tr solo puede operar y transformar texto desde la entrada estándar hasta la salida estándar. Por lo tanto no podremos actuar de forma directa sobre un fichero de texto.\nSINTAXIS BÁSICA DEL COMANDO TR La sintaxis para usar el comando tr tiene la siguiente estructura:\ntr Opciones conjunto_caracteres_1 conjunto_caracteres_2 Donde:\ntr: Parte del comando que hace que se ejecute la utilidad tr.\nOpciones: Se puede dejar en blanco o usar las opciones -c, -d, -s, y -t. En los ejemplos del siguiente apartado verán como pueden usar todas y cada una de de las opciones.\nconjunto_caracteres_1: Conjunto de caracteres que se buscaran en un texto.\nconjunto_caracteres_2: Conjunto de caracteres que se usarán para modificar un texto.\nEJEMPLOS PARA APRENDER EL USO EL COMANDO O TR A continuación comprenderemos mejor el uso de tr mediante la siguiente serie de ejemplos.\nCambiar una letra de minúscula a mayúscula y viceversa con el comando TR En el caso que tengamos un texto y queramos transformar la totalidad de a a A lo haremos del siguiente modo:\njoan@gk55:~$ echo \u0026#34;Esto es una ejemplo de tr para el blog geekland\u0026#34; | tr \u0026#39;a\u0026#39; \u0026#39;A\u0026#39; Esto es unA ejemplo de tr pArA el blog geeklAnd En el caso que queramos reemplazar todas las vocales de una frase de minúscula a mayúscula lo podemos hacer del siguiente modo:\njoan@gk55:~$ echo \u0026#34;Esto es una ejemplo de tr para el blog geekland\u0026#34; | tr \u0026#39;aeiou\u0026#39; \u0026#39;AEIOU\u0026#39; EstO Es UnA EjEmplO dE tr pArA El blOg gEEklAnd Cambiar toda una línea de minúscula a mayúscula En el caso que queramos transformar la totalidad de letras mayúsculas a minúsculas lo podemos hacer del siguiente modo:\njoan@gk55:~$ echo \u0026#34;Esto es una ejemplo de tr para el blog geekland\u0026#34; | tr \u0026#39;a-z\u0026#39; \u0026#39;A-Z\u0026#39; ESTO ES UNA EJEMPLO DE TR PARA EL BLOG GEEKLAND Otro procedimiento alternativo para realizar lo que acabo de realizar sería el siguiente:\njoan@gk55:~$ echo \u0026#34;Esto es una ejemplo de tr para el blog geekland\u0026#34; | tr \u0026#39;[:lower:]\u0026#39; \u0026#39;[:upper:]\u0026#39; ESTO ES UNA EJEMPLO DE TR PARA EL BLOG GEEKLAND Si queremos trasladar el resultado de la salida estándar a un fichero de texto cuyo nombre sea geekland.txt lo haremos del siguiente modo:\njoan@gk55:~$ echo \u0026#34;Esto es una ejemplo de tr para el blog geekland\u0026#34; | tr \u0026#39;a-z\u0026#39; \u0026#39;A-Z\u0026#39; \u0026gt; geekland.txt joan@gk55:~$ cat geekland.txt ESTO ES UNA EJEMPLO DE TR PARA EL BLOG GEEKLAND Si queremos también podemos añadir una línea nueva al fichero geekland.txt que sea igual que la primera pero en minúscula siguiendo el siguiente procedimiento:\njoan@gk55:~$ cat geekland.txt | tr 'A-Z' 'a-z' \u0026gt;\u0026gt; geekland.txt joan@gk55:~$ cat geekland.txt ESTO ES UNA EJEMPLO DE TR PARA EL BLOG GEEKLAND esto es una ejemplo de tr para el blog geekland\nReemplazar caracteres o cambiar de minúscula a mayúscula mediante la opción -t truncate Si ejecutamos el siguiente comando:\njoan@gk55:~$ echo \u0026#34;Esto es un ejemplo de tr para el blog geekland\u0026#34; | tr \u0026#39;a-z\u0026#39; \u0026#39;AB\u0026#39; EBBB BB BB BBBBBBB BB BB BABA BB BBBB BBBBBABB Vemos que ha ocurrido lo siguiente:\nLa letra a se reemplaza por la A. La b por la B y a partir de aquí la c, e, f\u0026hellip; hasta llegar la z se reemplazarán por la B.\nSi queremos evitar este comportamiento podemos usar la opción -t o truncate. Si ejecutamos el mismo comando añadiendo la opción -t:\njoan@gk55:~$ echo \u0026#34;Esto es un ejemplo de tr para el blog geekland\u0026#34; | tr -t \u0026#39;a-z\u0026#39; \u0026#39;AB\u0026#39; Esto es un ejemplo de tr pArA el Blog geeklAnd Vemos que ha ocurrido lo siguiente:\nLa letra a se reemplaza por la A. La b por la B y a partir de aquí no se reemplazará ninguna otra letra. El comportamiento ahora será de este modo gracias a la opción -t. Por lo tanto la opción -t hace que la longitud del primero de los argumentos introducidos en el comando tr sea igual que la del segundo argumento.\nNota: Con la opción -t el primero de los argumentos introducidos del comando tr tiene que tener una longitud igual o superior al segundo de los argumentos.\nReemplazar caracteres con la utilidad TR De la misma forma que cambiábamos letras de mayúsculas a minúsculas o viceversa también podemos reemplazar caracteres. Por lo tanto si queremos reemplazar todas las a por u y las u por a lo haremos del siguiente modo:\njoan@gk55:~$ echo \u0026#34;Esto es una ejemplo de tr para el blog geekland\u0026#34; | tr \u0026#39;au\u0026#39; \u0026#39;ua\u0026#39; Esto es anu ejemplo de tr puru el blog geeklund Borrar caracteres con el comando TR Si queremos borrar todas las vocales mayúsculas y minúsculas de una frase y que sean reemplazadas por un espacio en blanco lo haremos mediante la opción tr -d. Un ejemplo de lo que acabo de citar es el siguiente:\njoan@gk55:~$ echo \u0026#34;Esto es un ejemplo de tr para el blog geekland\u0026#34; | tr -d \u0026#39;aeiou\u0026#39; | tr -d \u0026#39;AEIOU\u0026#39; st s n jmpl d tr pr l blg gklnd Si quisiéramos que las vocales borradas fueran reemplazadas por espacios en blanco deberíamos haber usado el siguiente comando:\njoan@gk55:~$ echo \u0026#34;Esto es un ejemplo de tr para el blog geekland\u0026#34; | tr \u0026#39;aeiou\u0026#39; \u0026#39; \u0026#39; Est s n j mpl d tr p r l bl g g kl nd Borrar todo el contenido de una frase excepto las vocales aeiou Para conseguir el propósito del título tendremos que usar la opción -c. La opción -c o complemento vendría a actuar como lo contrario a la orden que introducimos en el comando. Por lo tanto para borrar todas las letras que no sea vocales de una frase lo haremos del siguiente modo:\njoan@gk55:~$ echo \u0026#34;Esto es un ejemplo de tr para el blog geekland\u0026#34; | tr -cd \u0026#39;aeiou\u0026#39; oeueeoeaaeoeea Nota: El significado de -cd 'aeiou' vendría a ser borra todo aquello que no sean vocales a, e, i, o, u.\nBorrar todos los caracteres que no sean legíbles La salida del comando head /dev/urandom es la siguiente:\njoan@gk55:~$ head /dev/urandom ��d�q)0�K����^���^�M���$���n���rp�y��J�ӠY�J��p�T~�\u0026quot;�`�W�\\�W�\u0026amp;C�{�ӒL��hk~�Nu�Za�ٍ]� �N?ӳw�\u0026quot;��D�鳶:��U��A�첣�*�s-px�/A'�#v`�.�����t�ݽ��ßb���mx����8�aX�i�Ĉnϗ� �n�籛�(�\u0026lt;?\u0026quot;pȉ����fȊ�ϓ���������5�U���(\u0026lt;�\u0026lt;�DZ����P;����?���\\:�(�M�������~\u0026lt;ڧ�UQ��׽�+���\u0026lt;=�D��]=�Um���M�c 2m��5X�DJB� ...\nComo han podido ver hay una gran parte de caracteres que son completamente ilegibles. Para eliminar la totalidad de caracteres ilegibles lo pueden hacer mediante la opción [:print:] del siguiente modo:\njoan@gk55:~$ head /dev/urandom | tr -cd \u0026#39;[:print:]\\n\u0026#39; NB Oz.R$Kv/6-J$gTU2AAg=y{{9{n\u0026#34;W|eD8)ZzO96{h\u0026#34;kDGX=\u0026#34;3g_R}p#,t[lbp;ci+an\u0026#34;w5*r, L8b\u0026lt;QC}?8/49M$TA#uK;M\u0026gt;nXCEeE7t~7,ShzeJUVO\u0026lt;AjN;vuuy1xOG1FLS[e}{SC_8N,b^9v=4nNez23\u0026#39;\\.,7dv|tHR.78yK\u0026amp;\u0026#34;gM,dZH)\u0026lt;_2l~+13}8*xz7mu\u0026gt;)=nf5bB@J\u0026lt;h|Sl}LRI~jKP*r~U)T\u0026#34;8^0])\\1K1l+,+%eZRi[Q\u0026gt;$Xtf] \u0026#34;hoIL,c[gZ(V(ju(#l^z SH}vzToTn\u0026amp;%P94IQR3PWXH\\uLs-.y#[6^T!:PGedzUoL;u3kA~A{7=_]AB\u0026lt; t:k:xPI]oFT`Oob:\u0026#34;,)W9X9CA J0M!Uo(\u0026gt;~QHuZnjj\u0026gt;u5%+V}7PKy?@S\u0026#39;z}~9c1E-\u0026#39;:3gYM87myPZ?{0^EuX^O0l+E~,?(I-DbPNh1t@apeXFY9\\n\\W0{~\u0026#39;fjy*u ..... Nota: Mediante la opción -cd '[:print:]' estamos diciendo que se borre todo carácter que no se imprimible/legíble. Además la opción \\n hará que al finalizar la tarea el cursos de la terminal quede ubicado en una nueva línea.\nBorrar todo lo que no sea un dígito o número mediante la utilidad TR Para conseguir nuestro objetivo imaginemos que tenemos la siguiente frase:\nEsto es un ejemplo de tr para el blog gee1kland 1234 Si ahora queremos eliminar absolutamente todos los caracteres que no sean numéricos lo haremos del siguiente modo:\njoan@gk55:~$ echo \u0026#34;Esto es un ejemplo de tr para el blog gee1kland 1234\u0026#34; | tr -cd \u0026#39;[:digit:]\\n\u0026#39; 11234 Si por lo contrario quieren borrar la totalidad de números que aparecen a la frase tan solo tendrían que eliminar la opción -c complemento y obtendrían el siguiente resultado:\njoan@gk55:~$ echo \u0026#34;Esto es un ejemplo de tr para el blog gee1kland 1234\u0026#34; | tr -d \u0026#39;[:digit:]\\n\u0026#39; Esto es un ejemplo de tr para el blog geekland Borrar 2 caracteres iguales que hemos escrito de forma consecutiva mediante la opción Squeeze En ocasiones escribimos rápido y es posible que por error escribamos 2 caracteres repetidos de forma consecutiva. Un ejemplo de lo que acabo de citar es el siguiente:\nEsto es un ejeeemplo de tr para el blog. En el ejemplo vemos que a la palabra ejemplo le sobran dos e. Para eliminarlas lo podemos hacer con la opción -s Squeeze del siguiente modo:\njoan@gk55:~$ echo \u0026#34;Esto es un ejeeemplo de tr para el blog geekland\u0026#34; | tr -s \u0026#39;e\u0026#39; Esto es un ejemplo de tr para el blog. Si tuviéramos una frase con exceso de espacios, como por ejemplo la siguiente:\nEl comando tr es útil en determinados casos Y quisiéramos eliminar los espacios sobrantes lo haríamos del siguiente modo:\njoan@gk55:~$ echo \u0026#34;El comando tr es útil en determinados casos\u0026#34; | tr -s [:space:] El comando tr es útil en determinados casos Transformar los espacios en tabulaciones horizontales o verticales con TR En el ejemplo que propondremos a continuación tenemos 3 palabras separadas por un espacio:\njoan carles geekland Si queremos transformar este espacio por un tabulación lo haremos usando la opción [:space:] y \\t del siguiente modo:\njoan@gk55:~$ echo \u0026#34;joan carles geekland\u0026#34; | tr [:space:] \u0026#39;\\t\u0026#39; joan\tcarles\tgeekland La opción \\t añade una tabulación horizontal. Si quisiéramos añadir una tabulación vertical lo haríamos con la opción \\v del siguiente modo obteniendo un resultado parecido al siguiente:\njoan@gk55:~$ echo \u0026#34;joan carles geekland\u0026#34; | tr [:space:] \u0026#39;\\v\u0026#39; joan carles geekland Generar una nueva línea cada vez que encontremos un determinado carácter delimitador Si tenemos una frase, que obviamente está compuesta por palabras separadas por espacio, podemos separar cada una de las palabras en una nueva línea usando la siguiente sintaxis:\njoan@gk55:~$ echo \u0026#34;joan carles geekland\u0026#34; | tr [:space:] \u0026#39;\\n\u0026#39; joan carles geekland Otras utilidades del comando TR Obviamente este artículo únicamente detalla algunas de las opciones del comando tr. Si quieren profundizar más en las opciones les recomiendo encarecidamente que abran una terminal y ejecuten el siguiente comando:\njoan@gk55:~$ man tr Allí podrán obtener información Para más obtener más información para poder incrementar la funcionalidad de la utilidad tr.\nSi te ha interesado esté articulo es posible que también te interese:\nUso del comando cut en Linux y UNIX con ejemplos Uso del comando AWK en Linux y UNIX con ejemplos Uso del comando SED en Linux y UNIX con ejemplos\nFuentes https://man7.org/linux/man-pages/man1/tr.1.html\n","permalink":"https://geeklandlinux.github.io/posts/uso-del-comando-tr-en-linux-y-unix-con-ejemplos/","summary":"\u003cp\u003eEn esta ocasión veremos otra de las utilidades que nos servirán para manipular texto cuando estemos programando scripts o usando la terminal Linux o Unix. En esta ocasión veremos una serie de ejemplos que nos ayudarán a comprender el uso de la utilidad o comando tr\u003c/p\u003e","title":"Uso del comando tr en Linux y UNIX con ejemplos"},{"content":"Del mismo modo que vimos como usar sed y awk, en el siguiente artículo verán todo lo necesario para empezar a usar la utilidad cut. Al igual que sed y awk, cut será extremadamente útil para realizar scripts y automatizar tareas.\n¿QUÉ HACE EXACTAMENTE LA UTILIDAD CUT? La utilidad cut es bastante más simple de usar que sed y awk, pero a pesar de esto es tremendamente útil. Su principal utilidad es la de borrar secciones, campos o caracteres de la salida de un comando o de cada una de las líneas de un fichero de texto.\nEJEMPLOS DE USO DE LA UTILIDAD CUT A continuación verán una serie de ejemplos que les serán útiles para comprender y sacar partido a la utilidad cut.\nMostrar los caracteres que nos interesen en una línea de texto o en un conjunto de líneas Nota: Una letra acentuada se consideran 2 caracteres.\nImaginemos que tenemos un fichero de texto con el nombre geekland.txt que tiene el siguiente contenido:\nla utilidad cut es fácil de usar y es útil Si únicamente queremos mostrar el cuarto carácter de cada una de las líneas lo haremos con la opción -c 4.\njoan@gk55:~$ cut -c 4 geekland.txt u f Si queremos mostrar los caracteres 1 y 2 lo podemos hacer del siguiente modo:\njoan@gk55:~$ cut -c 1,2 geekland.txt la es Para mostrar los 2 últimos caracteres de cada línea lo podríamos realizar de la siguiente forma:\njoan@gk55:~$ cat geekland.txt | rev | cut -c 1,2 | rev ut il Si ahora queremos mostrar los caracteres del 2 al 6:\njoan@gk55:~$ cut -c 2-6 geekland.txt a uti s fá Si finalmente queremos mostrar los caracteres 1,2,3 y 5,6,7 y 8 de cada una de las líneas de un fichero de texto:\njoan@gk55:~$ cut -c 1-3,5-8 geekland.txt la tili es áci Cut también ofrece la posibilidad de seleccionar un carácter inicial y seleccionar el resto de caracteres hasta el final. Por ejemplo para seleccionar el texto a partir del carácter 5 hasta el final usaremos la opción -c 5- del siguiente modo:\njoan@gk55:~$ cut -c 5- geekland.txt tilidad cut ácil de usar y es útil Nota: El comando que acabamos de ver es equivalente a realizar cut -c 4-28 geekland.txt\nO también permite seleccionar un carácter final y seleccionar el resto de caracteres hasta el inicio de la frase o fichero. Por lo tanto para mostrar desde el carácter 4 hasta el inicio de la frase lo haremos del siguiente modo:\njoan@gk55:~$ cut -c -4 geekland.txt la u es f Si añadimos la opción --complement al comando que acabamos de ejecutar invertiremos el resultado de salida. Por lo tanto en vez de obtener desde el carácter 4 hasta el inició obtendremos desde el carácter 4 hasta el final.\njoan@gk55:~$ cut --complement -c -4 geekland.txt tilidad cut ácil de usar y es útil Cambiar el modo en que cut delimita las nuevas líneas Si tenemos el archivo de texto ejemplocut.txt con el siguiente contenido:\nExplicamos el uso del comando cut en mi blog Lo normal y lo que pasa siempre es que cada salto de línea sea una línea nueva. Por lo tanto si queremos mostrar los 13 primeros caracteres de cada una de las líneas ejecutaré el siguiente comando:\njoan@gk55:~$ cut -c 1-13 ejemplocut.txt Explicamos el cut en mi blo Pero si queremos podemos modificar este comportamiento usando el comando cut mediante la opción -z. La opción -z hará que cut considere que el final de la línea es el final del fichero. Por lo tanto cuando ejecutemos el comando cut -z -c 1-13 ejemplocut.txt obtendremos el siguiente resultado:\njoan@gk55:~$ cut -z -c 1-13 ejemplocut.txt Explicamos el Nota: Esta opción básicamente hace que todo el fichero de texto se considere una sola línea.\nCapturar texto a partir de un delimitador y fijando el campo que queremos mostrar Cut también permite capturar texto tomando como referencia un delimitador que nosotros podemos fijar. Imaginemos que tenemos el siguiente texto:\nestoy escribiendo una línea Si únicamente queremos mostrar la tercera palabra:\nCada palabra esta separada por un espacio. Por lo tanto tendremos que fijar el espacio como delimitador. Para fijar el espacio como delimitador lo haré con la opción -d ' '. A continuación hay que definir la palabra que queremos mostrar. si queremos mostrar la tercera palabra lo haremos con la opción -f3. La opción -f3 hace que se muestre la palabra que hay entre el segundo y tercer delimitador. Nota: Únicamente podemos usar un carácter como delimitador.\nUn ejemplo de lo que acabamos de explicar es el siguiente:\njoan@gk55:~$ echo \u0026#34;estoy escribiendo una línea\u0026#34; | cut -d \u0026#39; \u0026#39; -f3 una Si en vez de la tercera palabra queremos mostrar la cuarta palabra:\njoan@gk55:~$ echo \u0026#34;estoy escribiendo una línea\u0026#34; | cut -d \u0026#39; \u0026#39; -f4 línea En el caso que en vez de mostrar un campo o palabra queremos mostrar varios campos o palabras lo podemos realizar del siguiente modo. Si queremos mostrar las 3 primeras palabras usaremos la opción -f1-3\njoan@gk55:~$ echo \u0026#34;estoy escribiendo una línea\u0026#34; | cut -d \u0026#39; \u0026#39; -f1-3 estoy escribiendo una Y si queremos mostrar todos los campos que no sean ni el 1, ni el 2 ni el 3 usaremos el comando que acabamos de ejecutar usando la opción --complement\njoan@gk55:~$ echo \u0026#34;estoy escribiendo una línea\u0026#34; | cut -d \u0026#39; \u0026#39; -f1-3 --complement línea Ahora imaginemos que la salida del comando cat /etc/passwd es la siguiente:\njoan@gk55:~$ cat /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin ... Si únicamente queremos mostrar los usuarios podemos fijar que el delimitador sea : y a posteriori definir que se muestre el primer campo. Para hacer lo que acabo de mencionar podemos usar el siguiente comando:\njoan@gk55:~$ cut -d \u0026#39;:\u0026#39; -f1 /etc/passwd root daemon bin sys ... Nota: Un comando alternativo al que acabamos de usar seria cat /etc/passwd | cut -d ':' -f1\nCambiar el delimitador de salida con la utilidad cut Cuando usamos cut fijando un delimitador y seleccionando los campos a imprimir vemos que el delimitador de salida es el mismo que el delimitador de entrada. Un ejemplo de lo que acabo de citar es el siguiente:\njoan@gk55:~$ echo \u0026#34;estoy escribiendo una línea\u0026#34; | cut -d \u0026#39; \u0026#39; -f1-3 estoy escribiendo una Pero si queremos podemos modificar el delimitador de salida por el que nosotros queramos. De este modo si queremos reemplazar el espacio por un guion lo haremos mediante la opción --output-delimiter='-'. A continuación tienen un ejemplo:\njoan@gk55:~$ echo \u0026#34;estoy escribiendo una línea\u0026#34; | cut -d \u0026#39; \u0026#39; -f1-3 --output-delimiter=\u0026#39;-\u0026#39; estoy-escribiendo-una Despreciar las líneas que no tienen ningún delimitador En los recientes ejemplos que acabamos de ver hemos visto como trabajar con delimitadores. Puede que existan casos en que sea interesante despreciar las líneas que no tienen ningún delimitador. Para ello podemos usar la opción -s del siguiente modo. Imaginemos que tenemos un archivo con el nombre test.txt con el siguiente contenido:\nla utilidad cut es fácil de usar y es útil final Si queremos fijar el espacio como delimitador y mostrar los campos 1, 2 y 3 lo haremos del siguiente modo:\njoan@gk55:~$ cut -d \u0026#39; \u0026#39; -f1-3 test.txt la utilidad cut es fácil de final El resultado obtenido es correcto, pero si además queremos que la salida excluya todas y cada una de las líneas que no tenga el delimitador espacio lo haremos con la opción -s del siguiente modo:\njoan@gk55:~$ cut -s -d \u0026#39; \u0026#39; -f1-3 test.txt la utilidad cut es fácil de Mostrar los Byte que nos interesen en una línea de texto o en un conjunto de líneas Nota: Antes de leer el apartado es importante remarcar que un carácter ocupa un byte. Un espacio, una tabulación o un retroceso también representan un byte. Por lo tanto con la opción de separar por bytes también podemos extraer u obtener los caracteres que nos interesen.\nImaginemos que tenemos un fichero de texto con el nombre geeklandblog.txt que tiene el siguiente contenido:\nEl blog geekland explica el uso de cut con ejemplos Si únicamente queremos mostrar el segundo Byte de cada una de las líneas lo haremos con la opción -b 2.\njoan@gk55:~$ cut -b 2 geeklandblog.txt b u Si queremos mostrar los bytes 1 y 2 lo podemos hacer del siguiente modo:\njoan@gk55:~$ cut -b 1,2 geeklandblog.txt El el Si ahora queremos mostrar los Bytes del 1 al 4:\njoan@gk55:~$ cut -b 1-4 geeklandblog.txt El b el u si finalmente queremos mostrar los Byte 1,2,3 y el 5,6,7 y 8 de cada una de las líneas de un fichero de texto:\njoan@gk55:~$ cut -b 1-3,5-8 geeklandblog.txt El log ek so d Cut también ofrece la posibilidad de seleccionar un byte inicial y seleccionar el resto de bytes hasta el final. Por ejemplo para seleccionar el texto a partir del byte 4 hasta el final usaremos la opción -b 4- del siguiente modo:\njoan@gk55:~$ cut -b 4- geeklandblog.txt blog geekland explica uso de cut con ejemplos Nota: El comando que acabamos de ver es equivalente a realizar cut -b 4-26 geeklandblog.txt\nO también permite seleccionar un byte inicial y seleccionar el resto de bytes hasta el inicio de la frase o fichero. Por lo tanto para mostrar del 4 byte al inicio de la frase lo haremos del siguiente modo:\njoan@gk55:~$ cut -b -4 geeklandblog.txt El b el u Fuentes https://www.geeksforgeeks.org/command-linux-examples/\n","permalink":"https://geeklandlinux.github.io/posts/uso-del-comando-cut-en-linux-y-unix-con-ejemplos/","summary":"\u003cp\u003eDel mismo modo que vimos como \u003ca href=\"/posts/uso-del-comando-sed-en-linux-y-unix-con-ejemplos/\"\u003eusar sed\u003c/a\u003e y \u003ca href=\"/posts/uso-del-comando-awk-en-linux-y-unix-con-ejemplos/\"\u003eawk\u003c/a\u003e, en el siguiente artículo verán todo lo necesario para empezar a usar la utilidad cut. Al igual que sed y awk, cut será extremadamente útil para realizar scripts y automatizar tareas.\u003c/p\u003e","title":"Uso del comando cut en Linux y UNIX con ejemplos"},{"content":"En mi caso estoy usando el escritorio i3 con la barra de herramientas i3blocks. El entorno de escritorio me encanta, pero para tenerlo como a uno le gusta hay que invertir horas y buscarse la vida. Una de las cosas que echaba de menos era el hecho de disponer de un calendario en mi barra de herramientas. Después de buscar encontré la opción de NaiveCalendar.\nQUE NOS OFRECE EL CALENDARIO NAIVECALENDAR Una vez instalado y configurado NaiveCalendar aparecerá el siguiente calendario cada vez cliquemos encima del bloque del calendario de nuestra barra de tareas.\nUna vez abierto el calendario podremos realizar lo siguiente mediante atajos de teclado o el ratón:\nVer los días del mes actual. Mediante el ratón o los atajos de teclado podremos cambiar de mes y de año de forma fácil y rápida. Introducir notas para todas y cada una de las fechas que aparecen en el calendario. Por lo tanto en cada una de las fechas podemos introducir notas, recordatorios de fecha de cumpleaños, tareas a realizar, etc. NaiveCalendar permite crear diferentes tipos de categorías como por ejemplo notas, calendarios, fechas de cumpleaños, etc. Por lo tanto si queremos introducir fecha de cumpleaños podemos seleccionar la categoría cumpleaños y después introducir los datos en la fecha que toque. Visualizar y editar los eventos programados para el mes actual de forma sencilla. Descargar todos los eventos o notas que tengamos en un servidor CalDav y que se muestren en el calendario local. La sincronización es solamente en una dirección. Para realizar este paso hay que introducir la URL, usuario y el password del servidor CalDav en el fichero caldav2file.py. Usando una aplicación de sincronización de ficheros, como por ejemplo Syncthing, Dropbox u otra podremos acceder a las notas o eventos generados en múltiples equipos. Cambiar el tema del calendario. Si no os gustan los temas predeterminados los podéis modificar fácilmente. En mi caso por ejemplo he modificado los colores de uno de los temas para que se integre bien con el tema de mi escritorio que es Arc. REQUISITOS PARA LA INSTALACIÓN DE NAIVECALENDAR Para que Naivecalendar funcione hay que tener instalado:\nPhyton3 Rofi Para que se visualicen bien los iconos también es necesario instalar la fuente FontAwesome.\nPara que funcione la importación de eventos de un servidor de un servidor CalDav y funcione el portapapeles hay que instalar:\npython3-caldav xclip INSTALACIÓN DEL CALENDARIO NAIVECALENDAR Hay varias formas de instalar Naivecalendar. En mi caso he usado la opción manual para controlar en todo momento lo que esta pasando en mi equipo. Lo primero a realizar es definir la ruta de instalación. En mi caso la ruta seleccionada es:\n~/Aplicaciones Para acceder a la ruta tecleo los siguiente comandos:\njoan@gk55:~/Aplicaciones$ cd joan@gk55:~$ cd Aplicaciones/ Para descargar NaiveCalendar en el equipo ejecuto el siguiente comando:\njoan@gk55:~/Aplicaciones$ git clone https://framagit.org/Daguhh/naivecalendar.git Clonando en \u0026#39;naivecalendar\u0026#39;... remote: Enumerating objects: 2292, done. remote: Counting objects: 100% (453/453), done. remote: Compressing objects: 100% (258/258), done. remote: Total 2292 (delta 358), reused 244 (delta 194), pack-reused 1839 Recibiendo objetos: 100% (2292/2292), 1.14 MiB | 1.18 MiB/s, listo. Resolviendo deltas: 100% (1565/1565), listo. Una vez clonado el repositorio de gitlab accedemos dentro del directorio naivecalendar/src para ver el contenido descargado.\njoan@gk55:~/Aplicaciones$ cd ~/Aplicaciones/naivecalendar/src/ joan@gk55:~/Aplicaciones/naivecalendar/src$ ls global naivecalendar.py naivecalendar.sh scripts themes Para iniciar el calendario por primera vez ejecutamos el siguiente comando en la terminal:\njoan@gk55:~/Aplicaciones/naivecalendar/src$ ./naivecalendar.sh Acto seguido se abrirá el calendario con el tema predeterminado.\nINTEGRAR EL CALENDARIO NAIVECALENDAR EN EL ESCRITORIO i3 USANDO LA BARRA DE TAREAS i3BLOCKS Para integrar NaiveCalendar en nuestro escritorio realizaremos las siguientes acciones.\nHacer que el calendario se abra cada vez que cliquemos sobre la fecha que aparece en la barra de tareas de i3blockls Para que el calendario se abra cada vez que cliquemos en la fecha que aparece en nuestra barra de tareas i3blocks realizaremos lo siguiente.\nInicialmente abriremos el fichero de configuración de i3blocks. En mi caso el fichero se halla en /home/joan/.config/i3/i3blocks.conf, por lo tanto el comando a ejecutar es el siguiente:\njoan@gk55:~$ nano /home/joan/.config/i3/i3blocks.conf Una vez abierto el fichero de configuración pegaremos el siguiente código:\n[time] label= command=date \u0026#39;+%d-%m-%Y %H:%M:%S\u0026#39; ; if [ \u0026#34;${BLOCK_BUTTON}\u0026#34; -eq 1 ]; then ` bash /home/joan/Aplicaciones/naivecalendar/src/naivecalendar.sh`; fi interval=5 align=center Nota: Deberéis reemplazar /home/joan/Aplicaciones/naivecalendar/src/naivecalendar.sh por la ruta en que tengáis almacenado el fichero para lanzar NaiveCalendar.\nUna vez copiado el código guardaremos los cambios, cerraremos el fichero y finalmente reiniciaremos el entorno de escritorio. A partir de estos momentos cada vez que posicionemos el puntero encima de la fecha que aparece en el panel de i3blocks y cliquemos con el botón izquierdo del ratón aparecerá NaiveCalendar.\nAbrir el calendario mediante un atajo de teclado Si lo preferimos también podemos abrir el calendario mediante un atajo de teclado. Para ello tendremos que acceder al archivo de configuración del escritorio i3. En mi caso la ruta del archivo de configuración es /home/joan/.config/i3/config. Por lo tanto para acceder y editar el fichero ejecutaré el siguiente comando:\njoan@gk55:~$ nano /home/joan/.config/i3/config Una vez se abra el editor de texto nano añadiré el siguiente código:\nbindsym $mod+c exec bash /home/joan/Aplicaciones/naivecalendar/src/naivecalendar.sh Nota: Deberéis reemplazar /home/joan/Aplicaciones/naivecalendar/src/naivecalendar.sh por la ruta en que tengáis almacenado el fichero para lanzar NaiveCalendar.\nA continuación guardamos los cambios, cerramos el fichero y reiniciamos el entorno de escritorio. A partir de estos momentos cada vez que presionemos la combinación de teclas Win+c se abrirá NaiveCalendar.\nNota: NaiveCalendar también se puede integrar de forma sencilla en la barra de herramientas PolyBar, pero no lo abordaremos por el momento ya que nunca he usado PolyBar.\nDefinir el tipo de codificación y el editor que usaremos para editar los eventos Si os fijáis, en los 2 apartados anteriores he usado 2 veces el comando para lanzar Naivecalendar. En mi caso el comando es el siguiente:\nbash /home/joan/Aplicaciones/naivecalendar/src/naivecalendar.sh Si lo necesitáis podéis añadir opciones al comando para por ejemplo conseguir los siguientes propósitos.\nForzar la codificación de los eventos. Editar los eventos con el editor de textos que queramos. De este modo si queremos editar los eventos con el editor mousepad y codificarlos con es_ES.utf8 usaremos el siguiente comando:\nbash /home/joan/Aplicaciones/naivecalendar/src/naivecalendar.sh -e mousepad -l es_ES.utf8 Sin consultáis la página de Gitlab o Github encontraréis opciones adicionales.\nATAJOS DE TECLADO PARA USAR NAIVECALENDAR Naivecalendar es ideal para ser usado con ajajos de teclado. Los atajos de teclados disponibles son los siguientes:\nAtajo de teclado Acción pp + enter Retroceder el calendario un año. p + enter Retroceder el calendario un mes. nn + enter Avanzar el calendario un año. n + enter Avanzar el calendario un mes. ee + enter Visualizar todos los eventos que tenemos programados en el mes actual. ss + enter Seleccionar el tipo de evento que queremos crear/visualizar. Por defecto tenemos 3 tipos de evento, pero podemos crear los tipos que queramos. hh + enter Se muestra la ayuda en pantalla. tt + enter Se muestra un menú para cambiar de tema NaiveCalendar. mm + enter Mostrar el menú para acceder a las opciones de configuración y uso. cc + enter Se exportan todos los elementos del servidor CalDav configurado a nuestro calendario. win + c Abrir el calendario. Este atajo de teclado lo hemos definido nosotros mismos. Si lo prefieren también pueden usar el ratón, pero si se acostumbran a usar los atajos de teclado verán que la productividad aumenta considerablemente.\nTIPOS DE CATEGORÍAS EN NAIVECALANDAR Si abren NaiveCalendar y presionan la combinación de teclas ss + ENTER verán que de forma predeterminada existen los siguientes tipos de categorías:\nSi queremos modificar o crear nuevos tipos de categorías tan solo tenemos que modificar el fichero events.cfg que en mi caso está almacenado en la ruta ~/Alicaciones/naivecalendar/src/global/\nPara acceder y editar el fichero de configuración ejecuto el siguiente comando:\nnano /home/joan/Aplicaciones/naivecalendar/src/global/events.cfg El contenido que aparece en mi fichero de configuración es el siguiente:\nNotes = .naivecalendar_events/MyNotes/note_%Y-%m-%d.txt Birthday = .naivecalendar_events/Birthdays/birthday_on_%d-%m.txt CalDav = .naivecalendar_events/CalDav/%y-%m-%d.txt En mi caso añadiré la categoría de evento Trabajo y españolizaré el resto de categorías. Por lo tanto el contenido final de mi fichero de configuración es el siguiente:\nNotas = .naivecalendar_events/Misnotas/nota_%Y-%m-%d.txt Cumpleaños = .naivecalendar_events/Cumpleaños/cumples_on_%d-%m.txt CalDav = .naivecalendar_events/CalDav/%y-%m-%d.txt Trabajo = .naivecalendar_events/trabajo/Trabajo_%Y-%m-%d.txt Si ahora vuelvo a consultar las categorías de evento disponibles veré lo siguiente:\nLas categorías son útiles para clasificar la información que añadimos a nuestro calendario. Por lo tanto si quiero añadir notas relacionadas con mi trabajo seleccionaré el evento trabajo. Una vez seleccionado el evento trabajo solo podré ver notas que previamente se hayan creado dentro de la categoría trabajo y si creo una nota nueva se creará en la categoría Trabajo.\nCAMBIAR EL TEMA DE NAIVECALENDAR Cambiar el tema de Naivecalendar es extremadamente sencillo. Tan solo tenéis que abrir el calendario y presionar la combinación de teclas tt+ENTER. Acto seguido aparecerá el siguiente menú para seleccionar el tema que más les guste:\nSi ninguno de los temas se adapta a su escritorio podéis modificar los colores de alguno de los temas existentes de forma sencilla. En mi caso modificaré los colores del tema classic dark extended del siguiente modo.\nSi queremos modificar el color accederemos al fichero donde se definen los colores. Este fichero está ubicado en :\n~/Aplicaciones/naivecalendar/src/themes/common/ Allí abrimos el fichero theme_dark.rasi y si nos fijamos veremos que los colores se definen del siguiente modo:\n* { nord13: #ebcb8b;\tnord15: #b48ead;\tblue: #56769E; blue2: #1E88E5; dark1: #1F1F1F; dark2: #252525; white1: #FFFFFF; blue3: #8E24AA; Por lo tanto tan solo tenemos que modificar los colores en formato hexadecimal del siguiente modo:\n* { nord13: #ebcb8b; nord15: #5294e2; blue: #56769E; blue2: #5294e2; dark1: #383c4a; dark2: #4b5162; white1: #FFFFFF; blue3: #5294e2; Una vez aplicados los cambios el resultados conseguido ha sido el siguiente:\nAhora el tema del calendario se integra a la perfección con el tema de escritorio Arc. Por lo tanto hemos conseguido nuestro objetivo.\nDÓNDE QUEDAN ALMACENADAS LAS NOTAS/EVENTOS DE NAIVECALENDAR Todas las notas/eventos de NaiveCalendar se almacenan de forma estructurada en la siguiente ubicación:\nnano ~/.naivecalendar_events/ Si accedemos a esta ubicación veremos que cada uno de los directorios es un tipo de categoría. Si entramos en uno de los directorios/categorías veremos que cada una de las notas se almacena en un fichero de texto siguiendo la estructura definida en el fichero /home/joan/Aplicaciones/naivecalendar/src/global/events.cfg.\nPor lo tanto guardando la totalidad del contenido del directorio ~/.naivecalendar_events/ podremos realizar una copia de seguridad o exportar las notas de un equipo a otro. También con programas de sincronización como Syncthing podremos sincronizar nuestras notas con distintos equipos.\nFuentes https://framagit.org/Daguhh/naivecalendar\n","permalink":"https://geeklandlinux.github.io/posts/calendario-para-el-escritorio-i3-con-naivecalendar-i3blocks-o-polybar/","summary":"\u003cp\u003eEn mi caso estoy usando el escritorio i3 con la barra de herramientas i3blocks. El entorno de escritorio me encanta, pero para tenerlo como a uno le gusta hay que invertir horas y buscarse la vida. Una de las cosas que echaba de menos era el hecho de disponer de un calendario en mi barra de herramientas. Después de buscar encontré la opción de NaiveCalendar.\u003c/p\u003e","title":"Calendario para el escritorio i3 con NaiveCalendar i3blocks o Polybar"},{"content":"Hace unas semanas vimos con bastante profundidad y con ejemplos el uso que podíamos dar a la utilidad Sed. Ahora ha llegado el momento de hacer lo mismo pero esta vez con el comando Awk. Como ya dije en su día, si queréis empezar a programar scripts es esencial tener un conocimiento básico de herramientas como sed, awk, grep, cut, etc.\n¿QUÉ NOS PERMITE REALIZAR EL COMANDO AWK? Los usos básicos que podemos dar al comando Awk son los siguientes:\nBuscar palabras y patrones de palabras y reemplazarlos por otras palabras y/o patrones. Hacer operaciones matemáticas. Procesar texto y mostrar las líneas y columnas que cumplen con determinadas condiciones. Etc. Nota: En términos generales el comando awk permite procesar y modificar el texto según nuestras necesidades.\nSi leen el artículo verán una serie de explicaciones y ejemplos que les ayudarán a defenderse cuando tengan que utilizar el comando awk.\nMOSTRAR EN PANTALLA LAS COLUMNAS QUE QUERAMOS A continuación veremos una serie de ejemplos que nos ayudarán a comprender como podemos manipular las columnas con el comando awk\nExtraer las columnas que queramos de un determinado texto El comando Awk nos permite seleccionar una columna determinada y mostrarla en pantalla. En mi caso ejecutando el comando ps obtengo la siguiente salida:\njoan@gk55:~$ ps PID TTY TIME CMD 636856 pts/1 00:00:00 bash 636889 pts/1 00:00:00 ps Si únicamente queremos mostrar la columna PID ejecutaremos un comando del siguiente tipo:\nps | awk \u0026#39;{print $num_columna}\u0026#39; Como el número de columna es la 1 entonces ejecutaremos el siguiente comando obteniendo el siguiente resultado.\njoan@gk55:~$ ps | awk \u0026#39;{print $1}\u0026#39; PID 636856 637797 637798 Nota: Colocamos '{}' y dentro de las llaves que introducimos/escribimos la acción que queremos realizar que en este caso es imprimir la columna 1.\nNota: El delimitador por defecto de awk es el espacio. Por lo tanto cada espacio que haya en la salida de texto será considerado como un cambio de columna. Más adelante verán que se puede cambiar el delimitador por defecto.\nSi en vez de la primera columna quisiéramos imprimir la segunda ejecutaríamos el siguiente comando:\njoan@gk55:~$ ps | awk \u0026#39;{print $2}\u0026#39; TTY pts/3 pts/3 pts/3 Si quisiéramos mostrar la primera columna sin mostrar la primera fila entonces ejecutaríamos el siguiente comando:\njoan@gk55:~$ ps | awk \u0026#39;NR\u0026gt;1{print $2}\u0026#39; pts/3 pts/3 pts/3 Nota: Más adelante encontrarán más ejemplos y explicaciones para entender el uso del parámetro NR.\nCambiar el delimitador por defecto en Awk y extraer la primera columna En el primer apartado hemos visto que el delimitador por defecto de awk es el espacio, pero en caso de necesidad podemos definir el delimitador que más nos convenga. Imaginemos que ejecutando el comando cat /etc/passwd obtenemos la siguiente salida:\njoan@gk55:~$ cat /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin ... Si únicamente queremos mostrar los usuarios del sistema operativo borrando el resto de información tendremos que:\nFijar : como delimitador. Imprimir la primera columna. Para hacer lo que acabo de citar ejecutaremos un comando del siguiente tipo:\ncat /etc/passwd | awk -F \u0026quot;delimitador\u0026quot; '{print $num_columna}'\nComo el delimitador y el número de columna son : y 1 ejecutaré el siguiente comando obteniendo el siguiente resultado:\njoan@gk55:~$ cat /etc/passwd | awk -F \u0026#34;:\u0026#34; \u0026#39;{print $1}\u0026#39; root daemon bin sys sync games ... Extraer varias columnas de texto de forma simultánea con el comando awk Si queremos extraer varias columnas de forma simultánea lo haremos del siguiente modo:\njoan@gk55:~$ cat /etc/passwd | awk -F \u0026#34;:\u0026#34; \u0026#39;{print $1 $3 $4}\u0026#39; root00 daemon11 bin22 sys33 sync465534 games560 ... La salida es difícil de leer e interpretar porque se imprimen las columnas sin dejar espacios entre ellas. Si queremos añadir espacios entre columnas lo haremos añadiendo los caracteres \u0026quot; \u0026quot; entre las columnas que seleccionamos para imprimir. Por lo tanto para hacer más legible el resultado anterior ejecutaremos el siguiente comando:\njoan@gk55:~$ cat /etc/passwd | awk -F \u0026#34;:\u0026#34; \u0026#39;{print $1\u0026#34; \u0026#34;$3\u0026#34; \u0026#34;$4}\u0026#39; root 0 0 daemon 1 1 bin 2 2 sys 3 3 sync 4 65534 games 5 60 ... Si en vez de un espacio quisiéramos añadir una tabulación reemplazaríamos \u0026quot; \u0026quot; por \u0026quot;\\t\u0026quot; obteniendo el siguiente resultado:\njoan@gk55:~$ cat /etc/passwd | awk -F \u0026#34;:\u0026#34; \u0026#39;{print $1\u0026#34;\\t\u0026#34;$3\u0026#34;\\t\u0026#34;$4}\u0026#39; root\t0\t0 daemon\t1\t1 bin\t2\t2 sys\t3\t3 sync\t4\t65534 games\t5\t60 ... Nota: Otra opción para hacer que el formato sea más legible sería usar printf en vez de print. Más adelante veréis ejemplos de como se puede usar printf.\nFijar un delimitador con la opción FS e imprimir varias columnas Mediante la opción FS \u0026ldquo;Field Separator\u0026rdquo; también podemos fijar un delimitador. Para ello deberemos usar un comando del siguiente tipo:\nawk \u0026#39;BEGIN{FS=\u0026#34;:\u0026#34;;} {print $1\u0026#34;\\t\u0026#34;$3\u0026#34;\\t\u0026#34;$4}\u0026#39; Por lo tanto si volvemos al caso del apartado anterior y queremos imprimir las columnas 1, 3 y 4 lo haremos del siguiente modo:\njoan@gk55:~$ cat /etc/passwd | awk \u0026#39;BEGIN{FS=\u0026#34;:\u0026#34;;} {print $1\u0026#34;\\t\u0026#34;$3\u0026#34;\\t\u0026#34;$4}\u0026#39; root\t0\t0 daemon\t1\t1 bin\t2\t2 sys\t3\t3 sync\t4\t65534 games\t5\t60 ... Nota: El comando ejecutado es equivalente a awk 'BEGIN{FS=\u0026quot;:\u0026quot;;} {print $1\u0026quot;\\t\u0026quot;$3\u0026quot;\\t\u0026quot;$4}' /etc/passwd o al cat /etc/passwd | awk -F \u0026quot;:\u0026quot; '{print $1\u0026quot;\\t\u0026quot;$3\u0026quot;\\t\u0026quot;$4}' Nota: Toda acción definida dentro de las llaves de BEGIN se ejecuta antes de procesar el fichero de texto /etc(passwd)\nCombinar el uso de FS con OFS en awk para tener un delimitador en la salida mostrada en pantalla Si queremos combinar el uso de FS \u0026ldquo;field separator\u0026rdquo; con OFS \u0026ldquo;Output field separator\u0026rdquo; tendremos que proceder del siguiente modo.\nLa opción FS sirve para fijar el separador y la opción OFS define el separador de salida que usaremos para mostrar las columnas seleccionadas en pantalla.\nPor ejemplo si queremos mostrar las columnas 1, 3 y 4 del comando cat etc/passwd y que las columnas de salida estén separadas por - entonces usaremos el siguiente comando:\njoan@gk55:~$ cat /etc/passwd | awk \u0026#39;BEGIN{FS=\u0026#34;:\u0026#34;;OFS=\u0026#34; - \u0026#34;} {print $1,$3,$4}\u0026#39; root - 0 - 0 daemon - 1 - 1 bin - 2 - 2 sys - 3 - 3 sync - 4 - 65534 games - 5 - 60 ... Imprimir en pantalla únicamente el último delimitador de una salida con awk mediante $NF Imaginemos que la salida del comando cat /etc/shells es la siguiente:\njoan@gk55:~$ cat /etc/shells # /etc/shells: valid login shells /bin/sh /bin/bash /usr/bin/bash /bin/rbash /usr/bin/rbash /bin/dash /usr/bin/dash Si os fijáis, el nombre de la shell a veces está en la segunda columna y a veces en la tercera columna. Pero lo que es común en todas las salidas es que el nombre de la shell esté en el último delimitador. Para Imprimir el contenido que está después del último delimitador ejecutaremos un comando del siguiente tipo:\nawk -F \u0026quot;/\u0026quot; '/^\\// {print $NF}'\nCada uno de los parámetros del comando que acabáis de leer hace lo siguiente:\n-F \u0026quot;/\u0026quot;: Establecemos que el delimitador usado por awk será /\n/^\\//: Entre // introducimos ^\\/ que es una expresión regular que significa toda línea que empiece por /\n{print $NF}: Hace referencia a imprimir el último delimitador en todas las líneas que se cumpla la expresión regular ^\\/\nSi ahora llevamos la teoría a la práctica ejecutaremos el siguiente comando obteniendo el siguiente resultado:\njoan@gk55:~$ awk -F \u0026#34;/\u0026#34; \u0026#39;/^\\// {print $NF}\u0026#39; /etc/shells sh bash bash rbash rbash dash dash El comando anterior veréis que muestra shells duplicadas. Si queremos eliminar las shell duplicadas usaremos el comando uniq del siguiente modo:\njoan@gk55:~$ awk -F \u0026#34;/\u0026#34; \u0026#39;/^\\// {print $NF}\u0026#39; /etc/shells | uniq sh bash rbash dash Imprimir el contenido del penúltimo o antepenúltimo delimitador mediante $NF En el apartado anterior imprimimos el contenido del último delimitador. Si queremos imprimir el penúltimo tan solo tenemos que reemplazar $NF por %(NF-1). Si lo hacemos el resultado obtenido será:\njoan@gk55:~$ awk -F \u0026#34;/\u0026#34; \u0026#39;/^\\// {print $(NF-1)}\u0026#39; /etc/shells bin bin bin bin bin bin bin Si quisiéramos imprimir el antepenúltimo delimitador deberíamos usar $(NF-2)\njoan@asus:~$ awk -F \u0026#34;/\u0026#34; \u0026#39;/^\\// {print $(NF-2)}\u0026#39; /etc/shells usr usr usr OPERAR CON LÍNEAS DE TEXTO MEDIANTE EL COMANDO AWK Hasta el momento hemos visto varios métodos para imprimir las columnas de texto que nos interesan. Del mismo modo que imprimimos las columnas de texto que nos interesan también podemos imprimir las filas o líneas de texto que nos interesen. Para ello deberéis proceder del siguiente modo.\nImprimir únicamente las líneas que sigan un determinado patrón En mi caso la salida del comando df es la siguiente:\njoan@gk55:~$ df S.ficheros bloques de 1K Usados Disponibles Uso% Montado en udev 3949508 0 3949508 0% /dev tmpfs 797996 1304 796692 1% /run /dev/sda5 28767268 13356764 13926168 49% / tmpfs 3989968 31068 3958900 1% /dev/shm tmpfs 5120 4 5116 1% /run/lock tmpfs 3989968 16 3989952 1% /tmp /dev/sda4 66559996 26678488 39881508 41% /media/DATOS /dev/sda6 40054040 16034856 21954800 43% /home /dev/sda8 507904 50252 457652 10% /boot/efi tmpfs 797992 56 797936 1% /run/user/1000 Si únicamente queremos mostrar en pantalla las líneas que empiezan por / usaremos un comando del siguiente tipo:\ndf | awk \u0026#39;/expresión_regular/ {print}\u0026#39; En el apartado anterior hemos visto que la expresión regular para definir todas las líneas que empiezan por / es ^\\/. Por lo tanto el comando para que únicamente se muestren las líneas que empiecen por / será el siguiente:\njoan@gk55:~$ df | awk \u0026#39;/^\\// {print}\u0026#39; /dev/sda5 28767268 13356764 13926168 49% / /dev/sda4 66559996 26678488 39881508 41% /media/DATOS /dev/sda6 40054040 16033804 21955852 43% /home /dev/sda8 507904 50252 457652 10% /boot/efi Y si únicamente queremos mostrar la línea que empieza por /dev/sda5 ejecutaremos el siguiente comando:\njoan@gk55:~$ df | awk \u0026#39;/^\\/dev\\/sda5/ {print}\u0026#39; /dev/sda5 28767268 13356764 13926168 49% / Mostrar únicamente las líneas que empiezan o finalizan por un determinado patrón Anteriormente ya hemos visto ejemplos para imprimir únicamente las líneas que empiezan por una letra determinada o por un patrón determinado. Por lo tanto para imprimir las líneas de la salida del comando df que empiezan por la palabra tmpfs ejecutaremos el siguiente comando:\njoan@gk55:~$ df | awk \u0026#39;/^tmpfs/ {print}\u0026#39; tmpfs 298144 916 297228 1% /run tmpfs 1490708 149436 1341272 11% /dev/shm tmpfs 5120 4 5116 1% /run/lock tmpfs 298140 56 298084 1% /run/user/1000 Si ahora queremos mostrar únicamente las líneas que terminan por /shm deberemos cambiar la expresión regular ^tmpfs por \\/shm$. De este modo podéis ver que conseguimos nuestro objetivo:\njoan@gk55:~$ df | awk \u0026#39;/\\/shm$/ {print}\u0026#39; tmpfs 1490708 155580 1335128 11% /dev/shm Y si únicamente quisiéramos mostrar las líneas que empiezan por tmpfs y a la vez terminan por /shm lo haríamos del siguiente modo:\njoan@gk55:~$ df | awk \u0026#39;/\\/shm$/ \u0026amp;\u0026amp; /^tmpf/ {print}\u0026#39; tmpfs 1490708 134808 1355900 10% /dev/shm Mostrar las columnas que queramos de únicamente las líneas que cumplen una determinada condición En el ejemplo del apartado anterior se mostraban la totalidad de columnas de las líneas que empiezan por /. Si en vez de mostrar todas las columnas tan solo quiero mostrar la 1, la 2 y la 3 procederemos del siguiente modo:\njoan@gk55:~$ df -h | awk \u0026#39;/^\\// {print $1\u0026#34;\\t\u0026#34;$2\u0026#34;\\t\u0026#34;$3}\u0026#39; /dev/sda5\t28G\t13G /dev/sda4\t64G\t26G /dev/sda6\t39G\t16G /dev/sda8\t496M\t50M Si ahora queremos sumar las columnas 2 y 3 para obtener el espacio total de cada partición lo podemos hacer del siguiente modo:\njoan@gk55:~$ df -h | awk \u0026#39;/^\\// {print $1\u0026#34;\\t\u0026#34;$2 + $3}\u0026#39; /dev/sda5\t41 /dev/sda4\t90 /dev/sda6\t55 /dev/sda8\t546 Y si queremos que se siga mostrando la unidad de capacidad de almacenamiento:\njoan@gk55:~$ df -h | awk \u0026#39;/^\\// {print $1\u0026#34;\\t\u0026#34;$2 + $3\u0026#34;G\u0026#34;}\u0026#39; /dev/sda5\t41G /dev/sda4\t90G /dev/sda6\t55G /dev/sda8\t546G Mostrar únicamente las líneas que tengan una longitud de caracteres determinada mediante lenght Si queremos imprimir las líneas del fichero /etc/shells que tienen una longitud superior a 9 caracteres ejecutaremos el siguiente comando:\njoan@gk55:~$ awk \u0026#39; length($0) \u0026gt; 9 \u0026#39; /etc/shells # /etc/shells: valid login shells /usr/bin/bash /bin/rbash /usr/bin/rbash /usr/bin/dash Nota: Del mismo modo que hemos usado length($0) \u0026gt; 9 podríamos haber usado length($0) \u0026lt; 9, length($0) == 9 o length($0) != 9.\nMostrar filas que deben cumplir con varias condiciones de forma simultanea con el operador \u0026amp;\u0026amp; Mediante el operador \u0026amp;\u0026amp; podemos imprimir o mostrar las líneas que cumplan con 2 o más condiciones. Por ejemplo si queremos mostrar las líneas de salida del comando df -h que empiezan por t y cuya columna 6 tenga más de 8 caracteres ejecutaremos el siguiente comando:\njoan@gk55:~$ sudo df -h | awk \u0026#39; /^t/ \u0026amp;\u0026amp; length($6) \u0026gt; 8 {print $0} \u0026#39; tmpfs 5,0M 4,0K 5,0M 1% /run/lock tmpfs 292M 52K 292M 1% /run/user/1000 Ver la longitud de cada una de las líneas con el comando awk mediante \u0026lsquo;{print length}\u0026rsquo; Para saber el número de caracteres de cada una de las líneas del fichero /etc/shells lo haremos mediante el siguiente comando:\njoan@gk55:~$ awk \u0026#39;{print length}\u0026#39; /etc/shells 33 7 9 13 10 14 9 13 Si además de escribir el número de caracteres también queremos escribir el contenido de la línea:\njoan@gk55:~$ awk \u0026#39;{print length\u0026#34;\\t\u0026#34;$0}\u0026#39; /etc/shells 33\t# /etc/shells: valid login shells 7\t/bin/sh 9\t/bin/bash 13\t/usr/bin/bash 10\t/bin/rbash 14\t/usr/bin/rbash 9\t/bin/dash 13\t/usr/bin/dash En este apartado hemos visto como imprimir el número de caracteres de un línea entera. Si únicamente queremos imprimir el número de caracteres de la columna 1 de la salida del comando df -h lo haremos del siguiente modo:\njoan@gk55:~$ sudo df -h | awk \u0026#39;{print length($1)\u0026#34;\\t\u0026#34;$1}\u0026#39; 10\tS.ficheros 4\tudev 5\ttmpfs 9\t/dev/sda1 5\ttmpfs 5\ttmpfs 10\tcompartida 5\ttmpfs Y si queremos eliminar la primera de la salida del comando df añadiríamos el parámetro NR\u0026gt;1 del siguiente modo:\njoan@gk55:~$ sudo df -h | awk \u0026#39;NR\u0026gt;1{print length($1)\u0026#34;\\t\u0026#34;$1}\u0026#39; 4\tudev 5\ttmpfs 9\t/dev/sda1 5\ttmpfs 5\ttmpfs 10\tcompartida 5\ttmpfs Imprimir la longitud de únicamente las líneas que tengan un determinado número de caracteres Si ahora queremos imprimir la longitud de únicamente las líneas que tienen una longitud superior a 9 caracteres tan solo tenemos que combinar los comandos de los últimos apartados del siguiente modo:\njoan@gk55:~$ awk \u0026#39; length($0) \u0026gt; 9 {print length} \u0026#39; /etc/shells 33 13 10 14 13 Imprimir todas las líneas cuyo el último delimitador sea igual a una determinada palabra mediante el condicional if En mi caso la salida del comando ps -ef es la siguiente:\njoan@gk55:~$ ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 17:11 ? 00:00:01 /sbin/init root 2 0 0 17:11 ? 00:00:00 [kthreadd] root 3 2 0 17:11 ? 00:00:00 [rcu_gp] root 4 2 0 17:11 ? 00:00:00 [rcu_par_gp] ... Si queremos obtener un listado de procesos cuyo último delimitador contenga la palabra firefox podemos usar lo aprendido hasta ahora conjuntamente con el comando if. Para conseguir nuestro propósito lo haremos del siguiente modo:\njoan@gk55:~$ ps -ef | awk \u0026#39;{ if($NF == \u0026#34;firefox\u0026#34;) print $0}\u0026#39; joan 12642 1 0 09:42 ? 00:00:00 /bin/sh -c firefox joan 12643 12642 14 09:42 ? 00:59:13 firefox Nota: Podemos usar varios operadores como por ejemplo ==, !=, \u0026gt;, \u0026lt; Nota: En apartados anteriores hemos visto que el último delimitador se define como $NF. Nota: $0 hace referencia a todas las columnas.\nSi únicamente quisiéramos imprimir el número de proceso y el último delimitador usaríamos el siguiente comando:\njoan@gk55:~$ ps -ef | awk \u0026#39;{ if($NF == \u0026#34;firefox\u0026#34;) print $2\u0026#34; \u0026#34;$NF}\u0026#39; 12642 firefox 12643 firefox Contar el número de líneas de un fichero o de la salida de un comando con NR (Número de registros) Para mostrar el número de líneas que tiene un fichero o la salida de un comando usaremos el parámetro NR. Por lo tanto para imprimir el número de líneas que tiene el fichero /etc/shells lo haremos del siguiente modo:\njoan@gk55:~$ awk \u0026#39;{print NR}\u0026#39; /etc/shells 1 2 3 4 5 6 7 8 Sí únicamente queremos obtener el número total de líneas añadiremos el parámetro END del siguiente modo:\njoan@gk55:~$ awk \u0026#39;END {print NR}\u0026#39; /etc/shells 8 Nota: Toda acción precedida del comando END solo se ejecutará una vez cuando se haya procesado la salida del fichero /etc/shells\nImprimir la primera línea de un fichero o de la salida de un comando con la opción NR La opción NR también no servirá para imprimir la línea de texto que nosotros queramos. Por ejemplo si queremos imprimir la primera línea de la salida del comando ps -aux lo haremos del siguiente modo:\njoan@gk55:~$ ps -aux | awk \u0026#39;NR==1{print $0}\u0026#39; USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND Y si únicamente queremos imprimir la segunda línea lo haremos así:\njoan@gk55:~$ ps -aux | awk \u0026#39;NR==2{print $0}\u0026#39; root 1 0.0 0.3 163980 9400 ? Ss 08:52 0:01 /sbin/init Imprimir todas las filas de un fichero a partir de una determinada línea mediante la opción NR Para imprimir todas las líneas de la salida del comando ps -aux excepto las 2 primeras lo haremos de forma similar al apartado anterior, pero en vez de usar el operador == usaremos el operador \u0026gt;\njoan@gk55:~$ ps -aux | awk \u0026#39;NR\u0026gt;2{print $0}\u0026#39; root 2 0.0 0.0 0 0 ? S 08:52 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? I\u0026lt; 08:52 0:00 [rcu_gp] root 4 0.0 0.0 0 0 ? I\u0026lt; 08:52 0:00 [rcu_par_gp] ... Lo que estamos haciendo con el comando ejecutado es imprimir todos los registros del fichero excepto el 1 y el 2 que corresponden obviamente a la primera y segunda línea.\nImprimir todas las línea de un documento o salida que empiezan con un determinado carácter o string Si quisiéramos imprimir todos los procesos que están corriendo en nuestro sistema operativo podemos usar el siguiente comando:\njoan@gk55:~$ ps -aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.3 163980 9388 ? Ss 08:52 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S 08:52 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? I\u0026lt; 08:52 0:00 [rcu_gp] root 4 0.0 0.0 0 0 ? I\u0026lt; 08:52 0:00 [rcu_par_gp] ... En la primera columna $1 figura el usuario que ha iniciado el proceso. Si queremos imprimir los detalles de los procesos iniciados por usuario cuyo nombre empieza por a o por m, lo haremos del siguiente modo:\njoan@gk55:~$ ps -aux | awk \u0026#39;$1 ~ /^[a,m]/ {print $0}\u0026#39; avahi 451 0.0 0.1 7272 3132 ? Ss 08:52 0:00 avahi-daemon: running [asus.local] message+ 455 0.0 0.1 8908 4572 ? Ss 08:52 0:01 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only avahi 471 0.0 0.0 7092 316 ? S 08:52 0:00 avahi-daemon: chroot helper Si queremos el mismo resultado que acabamos de obtener mostrando la cabecera que en este caso será la primera línea lo haremos del siguiente modo:\njoan@gk55:~$ ps -aux | awk \u0026#39;NR==1{print $0}\u0026#39; \u0026amp;\u0026amp; ps -aux | awk \u0026#39;$1 ~ /^[a,m]/ {print $0}\u0026#39; USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND avahi 451 0.0 0.1 7272 3096 ? Ss 08:52 0:00 avahi-daemon: running [asus.local] message+ 455 0.0 0.1 8908 4572 ? Ss 08:52 0:01 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only avahi 471 0.0 0.0 7092 304 ? S 08:52 0:00 avahi-daemon: chroot helper Imprimir eliminando los x primero caracteres de cada línea mediante el parámetro substr En mi caso la salida del comando /etc/shells es la siguiente:\njoan@gk55:~$ cat /etc/shells # /etc/shells: valid login shells /bin/sh /bin/bash /usr/bin/bash /bin/rbash /usr/bin/rbash /bin/dash Si queremos imprimir la salida eliminando por ejemplo los 5 primeros caracteres de cada una de las líneas lo haremos del siguiente modo:\njoan@gk55:~$ cat /etc/shells | awk \u0026#39;{print substr($0, 5)}\u0026#39; etc/shells: valid login shells /sh /bash /bin/bash /rbash /bin/rbash /dash /bin/dash Como hemos visto anteriormente, si queremos borrar la primera línea de la salida del comando lo haremos mediante el parámetro NR\u0026gt;1 del siguiente modo:\njoan@gk55:~$ cat /etc/shells | awk \u0026#39;NR\u0026gt;1 {print substr($0, 5)}\u0026#39; /sh /bash /bin/bash /rbash /bin/rbash /dash /bin/dash Nota: El primer parámetro del comando substr sirve para definir la columna en la que operamos. El segundo parámetro es para definir los caracteres que queremos recortar.\nImprimir un rango de líneas determinadas mediante el comando awk y NR Si en la salida del comando cat /etc/shells únicamente queremos imprimir las líneas o registros 2, 3 y 4 lo haremos del siguiente modo:\njoan@gk55:~$ cat /etc/shells | awk \u0026#39;NR==2, NR==4 {print $0}\u0026#39; /bin/sh /bin/bash /usr/bin/bash Si a la salida del comando que acabamos de ejecutar le quisiéramos añadir los número de línea lo haríamos del siguiente modo:\njoan@gk55:~$ cat /etc/shells | awk \u0026#39;NR==2, NR==4 {print NR, $0}\u0026#39; 2 /bin/sh 3 /bin/bash 4 /usr/bin/bash Saber en que posición de una línea aparece una palabra o combinación de letras determinada mediante match y RSTART Para saber la posición en que aparece una palabra o cadena de caracteres usaremos los parámetros match y RSTART. Su funcionamiento lo veréis en el siguiente ejemplo.\nPara ver la posición en que aparece la palabra cpu en la salida del comando ps -aux ejecutaremos el siguiente comando:\njoan@gk55:~$ ps -aux | awk \u0026#39;match($0, /cpu/) {print $0 \u0026#34; Contiene la palabra \\\u0026#34;cpu\\\u0026#34; en la posición \u0026#34; RSTART}\u0026#39; root 9 0.0 0.0 0 0 ? I\u0026lt; 08:52 0:00 [mm_percpu_wq] Contiene la palabra \u0026#34;cpu\u0026#34; a la posición 75 root 15 0.0 0.0 0 0 ? S 08:52 0:00 [cpuhp/0] Contiene la palabra \u0026#34;cpu\u0026#34; en la posición 69 root 16 0.0 0.0 0 0 ? S 08:52 0:00 [cpuhp/1] Contiene la palabra \u0026#34;cpu\u0026#34; en la posición 69 root 21 0.0 0.0 0 0 ? S 08:52 0:00 [cpuhp/2] Contiene la palabra \u0026#34;cpu\u0026#34; en la posición 69 La función match($0, /cpu/) busca todas las líneas que contienen un determinado patrón que en el caso del ejemplo es las letras cpu. Entonces mediante print y RSTART se imprimen o muestran en pantalla mostrando la posición en que aparece el patrón que estamos buscando.\nMostrar la longitud de un patrón mediante el parámetro RLENGHT En el ejemplo del apartado anterior añadiremos que se muestre la longitud del patrón o texto que estamos buscando. Lo haremos con el parámetro RLENGTH del siguiente modo:\njoan@gk55:~$ ps -aux | awk \u0026#39;match($0, /cpu/) {print $0 \u0026#34; La longitud de la expresión buscada es \u0026#34; RSTART\u0026#34; La longitud del parámetro buscado es \u0026#34; RLENGTH}\u0026#39; root 9 0.0 0.0 0 0 ? I\u0026lt; 08:52 0:00 [mm_percpu_wq] La longitud de la expresión buscada es 75 La longitud del parámetro buscado es 3 root 15 0.0 0.0 0 0 ? S 08:52 0:00 [cpuhp/0] La longitud de la expresión buscada es 69 La longitud del parámetro buscado es 3 root 16 0.0 0.0 0 0 ? S 08:52 0:00 [cpuhp/1] La longitud de la expresión buscada es 69 La longitud del parámetro buscado es 3 root 21 0.0 0.0 0 0 ? S 08:52 0:00 [cpuhp/2] La longitud de la expresión buscada es 69 La longitud del parámetro buscado es 3 joan 411346 0.0 0.1 11300 3040 pts/0 R+ 14:01 0:00 awk match($0, /cpu/) {print $0 \u0026#34; La longitud de la expresión buscada es \u0026#34; RSTART\u0026#34; La longitud del parámetro buscado es \u0026#34; RLENGTH} La longitud de la expresión buscada es 83 La longitud del parámetro buscado es 3 REALIZAR OPERACIONES MATEMÁTICAS CON EL COMANDO AWK Awk permite realizar operaciones matemáticas con los números de un fichero de texto o con los números que generan las salidas de los comandos. También es capaz de por ejemplo realizar operaciones matemáticas con valores almacenados en variables. Algunos ejemplos de lo que acabo de citar son los siguientes.\nRealizar operaciones matemáticas con variables y awk Si tenemos una variable a al que le asignamos el valor 10 y una variable b al que le asignamos el valor 20 podemos ejecutar el siguiente comando:\njoan@gk55:~$ awk -v a=\u0026#34;10\u0026#34; -v b=\u0026#34;20\u0026#34; \u0026#39;BEGIN {print \u0026#34;La multiplicación de a x b es\u0026#34;, a*b;}\u0026#39; La multiplicación de a x b es 200 Nota: Tenemos que usar la BEGIN porque no hay ninguna salida de texto o fichero a procesar. Todo lo que está dentro de BEGIN se ejecuta antes de procesarse un fichero o la salida de un comando. En contraposición END es todo lo que se ejecuta después de haber sido procesado un fichero o una salida de comando.\nNota: La forma de asignar una variable en awk es -v variable=\u0026quot;valor\u0026quot;\nAwk también permite llamar a variables que tenemos declaradas en nuestra shell de bash. Para ello lo haremos del modo que se muestra en el siguiente ejemplo:\njoan@gk55:~$ a=1.5 joan@gk55:~$ b=4 joan@gk55:~$ awk -v a=\u0026#34;$a\u0026#34; -v b=\u0026#34;$b\u0026#34; \u0026#39;BEGIN {print \u0026#34;La multiplicación de a x b es\u0026#34;, a*b;}\u0026#39; La multiplicación de a x b es 6 Calcular la raíz cuadrada de un número mediante awk Del mismo modo que realizamos una suma podemos realizar restas, divisiones, multiplicaciones, etc. Así que se queremos obtener la raíz cuadrada de 400 lo haremos del siguiente modo:\njoan@gk55:~$ awk \u0026#39;BEGIN{print sqrt(400)}\u0026#39; 20 También podemos obtener un listado que nos proporcione resultados de la raíz cuadrada de una serie de números. Para ello podemos hacer uso de un bucle for de la siguiente forma:\njoan@gk55:~$ awk \u0026#39;BEGIN { for(i=1; i\u0026lt;=10; i++) print \u0026#34;La raíz cuadrada de\u0026#34;, i*i, \u0026#34;es\u0026#34;, i;}\u0026#39; La raíz cuadrada de 1 es 1 La raíz cuadrada de 4 es 2 La raíz cuadrada de 9 es 3 La raíz cuadrada de 16 es 4 La raíz cuadrada de 25 es 5 La raíz cuadrada de 36 es 6 La raíz cuadrada de 49 es 7 La raíz cuadrada de 64 es 8 La raíz cuadrada de 81 es 9 La raíz cuadrada de 100 es 10 Y en el caso que quisieran obtener la raíz cuadrada de todos los números existentes entre el 0 y el 1 lo podrían hacer del siguiente modo:\njoan@gk55:~$ awk \u0026#39;BEGIN { for(i=0; i\u0026lt;=1; i=i+0.00001) print \u0026#34;La raíz cuadrada de\u0026#34;, i*i, \u0026#34;es\u0026#34;, i;}\u0026#39; ... ... ... La raíz cuadrada de 0.99986 es 0.99993 La raíz cuadrada de 0.99988 es 0.99994 La raíz cuadrada de 0.9999 es 0.99995 La raíz cuadrada de 0.99992 es 0.99996 La raíz cuadrada de 0.99994 es 0.99997 La raíz cuadrada de 0.99996 es 0.99998 La raíz cuadrada de 0.99998 es 0.99999 EJECUTAR SCRIPTS CON EL COMANDO AWK Como dijimos en el inicio del artículo awk es un lenguaje de programación. Podemos construir funciones, bucles y generar scripts usando el lenguaje awk. En nuestro caso definiremos un script para trabajar con los resultados que nos devuelve el comando df.\njoan@gk55:~$ sudo df S.ficheros bloques de 1K Usados Disponibles Uso% Montado en udev 1467404 0 1467404 0% /dev tmpfs 298144 904 297240 1% /run /dev/sda1 56648848 13155828 40582968 25% / tmpfs 1490708 351400 1139308 24% /dev/shm tmpfs 5120 4 5116 1% /run/lock compartida 499451928 415539964 83911964 84% /media tmpfs 298140 56 298084 1% /run/user/1000 Lo que hará el script será lo siguiente:\nMostrar solo las líneas que empiecen por la letra t y cuya capacidad disponible (Columna 4 \u0026ldquo;$4\u0026rdquo;) sea mayor a 6000k De las columnas que se pueden mostrar solo imprimiremos en pantalla la (Columna 1 \u0026ldquo;$1\u0026rdquo;), que corresponde a la unidad, y la suma de la columnas 2 y 3 que corresponderá al espacio disponible. Para generar un script simple con nombre capacidad.awk ejecutaremos el siguiente comando:\njoan@gk55:~$ nano capacidad.awk Una vez se abra el editor de textos escribiremos las instrucciones para conseguir nuestro propósito. En nuestro caso el código es el siguiente:\n#!/usr/bin/awk -f BEGIN { printf \u0026#34;%s\\n\u0026#34;,\u0026#34;Voy a extraer las partes que me interesan del comando df\u0026#34; } BEGIN { printf \u0026#34;%s\\t%s\\n\u0026#34;,\u0026#34;Unidad\u0026#34;,\u0026#34;Capacidad disponible\u0026#34; } /^t/ \u0026amp;\u0026amp; $4 \u0026gt; 6000 {print $1\u0026#34;\\t\u0026#34;$2 + $3\u0026#34;K\u0026#34;} Ahora ejecutaremos el script del siguiente modo y veremos que obtenemos el resultado deseado:\njoan@gk55:~$ sudo df | awk -f capacidad.awk Voy a extraer las partes que me interesan del comando df Unidad\tCapacidad disponible tmpfs\t299048K tmpfs\t1845180K tmpfs\t298196K Si también quisiéramos añadir las líneas que empiezan por c dejaríamos el script capacidad.awk del siguiente modo:\n#!/usr/bin/awk -f BEGIN { printf \u0026#34;%s\\n\u0026#34;,\u0026#34;Voy a extraer las partes que me interesan del comando df\u0026#34; } BEGIN { printf \u0026#34;%-12s %-3s\\n\u0026#34;,\u0026#34;Unidad\u0026#34;,\u0026#34;Capacidad disponible\u0026#34; } /^t/ \u0026amp;\u0026amp; $4 \u0026gt; 6000 {printf \u0026#34;%-12s %-23s\\n\u0026#34;, $1, $2+$3\u0026#34;K\u0026#34;} /^c/ \u0026amp;\u0026amp; $4 \u0026gt; 6000 {printf \u0026#34;%-12s %-23d\\n\u0026#34;, $1, $2+$3\u0026#34;K\u0026#34;} Nota: Si os fijáis en el contenido del script veremos que usamos la opción printf en lugar de print. De esta forma podemos dar formato a los datos de salida mostrados en pantalla. Los parámetros del comando printf harán lo siguiente:\n%-: Justificar el texto a la izquierda. %: Justificar el texto a la derecha. 12s: String de 12 caracteres. 23d: 23 caracteres con formato numérico decimal. \\n: Inserta una nueva línea.\nY el resultado obtenido seria el siguiente:\njoan@gk55:~$ sudo df | awk -f capacidad.awk Voy a extraer las partes que me interesan del comando df Unidad Capacidad disponible tmpfs 299048 tmpfs 1602408 compartida 923949580 tmpfs 298196 BUSCAR Y REEMPLAZAR TEXTO CON CON EL COMANDO AWK Y GSUB Mediante la función gsub podemos buscar y reemplazar texto con awk de forma similar a como lo podemos hacer con sed. La función gsub se utiliza del siguiente modo:\ngsub(\u0026quot;letra_palabra_o_expresión_regular_a_buscar\u0026quot;, \u0026quot;texto_que_reemplaza_el_buscado\u0026quot;, lugar_donde_realizar_sustitución)\nBuscar una expresión regular, palabra o letra y reemplazarla por otra Por lo tanto si partimos del fichero de texto geekland.txt que tiene el siguiente contenido:\nGeekland es el mejor blog, de tecnología Y queremos reemplazar todas las G por g ejecutaremos el siguiente comando y obtendremos el siguiente resultado:\njoan@gk55:~$ awk \u0026#39;{ gsub(\u0026#34;G\u0026#34;,\u0026#34;g\u0026#34;,$0); print $0 }\u0026#39; geekland.txt geekland es el mejor blog, de tecnología Buscar y reemplazar texto en únicamente una columna determinada En nuestro caso la salida del comando df -h es la siguiente:\njoan@gk55:~$ sudo df -h S.ficheros Tamaño Usados Disp Uso% Montado en udev 1,4G 0 1,4G 0% /dev tmpfs 292M 916K 291M 1% /run /dev/sda1 55G 13G 39G 25% / tmpfs 1,5G 122M 1,4G 9% /dev/shm tmpfs 5,0M 4,0K 5,0M 1% /run/lock compartida 477G 408G 69G 86% /media tmpfs 292M 68K 292M 1% /run/user/1000 Siguiendo el mismo procedimiento que en el apartado anterior, si en la segunda columna queremos reemplazar todas las M por G procederemos del siguiente modo:\njoan@gk55:~$ sudo df -h | awk \u0026#39;{ gsub(\u0026#34;M\u0026#34;,\u0026#34;G\u0026#34;,$2); print $2 }\u0026#39; Tamaño 1,4G 292G 55G 1,5G 5,0G 477G 292G Si en vez de imprimir la primera columna queremos imprimir la primera y la segunda de forma que la tabulación sea perfecta usaremos printf del siguiente modo:\njoan@gk55:~$ sudo df -h | awk \u0026#39;{ gsub(\u0026#34;M\u0026#34;,\u0026#34;G\u0026#34;,$2); printf \u0026#34;%-12s %-12s\\n\u0026#34;,$1,$2 }\u0026#39; S.ficheros Tamaño udev 1,4G tmpfs 292G /dev/sda1 55G tmpfs 1,5G tmpfs 5,0G compartida 477G tmpfs 292G OTROS USOS QUE PODEMOS DAR AL COMANDO AWK Hemos visto que el comando awk tiene multitud de usos. A continuación y para finalizar el artículo mostraremos un par de usos simples no detallados anteriormente.\nImprimir el contenido de un fichero con el comando awk Awk se puede utilizar de forma similar al comando cat para mostrar el contenido de los ficheros de nuestro equipo. A modo de ejemplo para visualizar el contenido del fichero functions.php lo podemos hacer del siguiente modo.\njoan@gk55:~/Nube$ awk \u0026#39;{print}\u0026#39; functions.php \u0026lt;?php /** * Twenty Nineteen functions and definitions * * @link https://developer.wordpress.org/themes/basics/theme-functions/ * * @package WordPress ..... Ejecutar un comando de bash mediante el comando awk Awk permite ejecutar comandos bash sin ningún tipo de problema. Si por ejemplo queremos usar el comando pwd para imprimir la ruta en la que estamos ejecutaremos el siguiente comando:\njoan@gk55:~$ awk \u0026#39;BEGIN { system(\u0026#34;pwd\u0026#34;) }\u0026#39; /home/joan Si creen que hay usos interesantes del comando awk que no he citado les ánimo a escribir en los comentarios del blog.\nFuentes https://www.um.es/innova/OCW/informatica-para-universitarios/ipu_docs/la_shell/awk.pdf\nhttps://www.baeldung.com/linux/awk-guide\n","permalink":"https://geeklandlinux.github.io/posts/uso-del-comando-awk-en-linux-y-unix-con-ejemplos/","summary":"\u003cp\u003eHace unas semanas vimos con bastante profundidad y con ejemplos \u003ca href=\"/posts/uso-del-comando-sed-en-linux-y-unix-con-ejemplos/\"\u003eel uso que podíamos dar a la utilidad Sed\u003c/a\u003e. Ahora ha llegado el momento de hacer lo mismo pero esta vez con el comando Awk. Como ya dije en su día, si queréis empezar a programar scripts es esencial tener un conocimiento básico de herramientas como sed, awk, grep, cut, etc.\u003c/p\u003e","title":"Uso del comando AWK en Linux y UNIX con ejemplos"},{"content":"En su día comentamos como crear nuestro propio servidor WebDAV. Ahora veremos como podemos montar el contenido almacenado en un servidor WebDAV en un ordenador que corre GNU/Linux. Una vez montado el contenido pretendo editar el contenido del servidor WebDAV como si estuviera realmente almacenado en mi ordenador. Hay varias formas de conseguir mi propósito, pero en mi caso lo he realizado del siguiente modo.\nINSTALAR EL CLIENTE DAVFS2 El cliente WebDAV que he usado para montar el contenido del servidor WebDAV en mi equipo ha sido Davfs2. Para instalarlo en una distribución Debian deberán ejecutar el siguiente comando en la terminal:\njoan@asus:~$ sudo apt install davfs2\nDAR PERMISOS A NUESTRO USUARIO PARA MONTAR RECURSOS WEBDAV Y EDITAR FICHEROS DEL SERVIDOR WEBDAV Ahora tendremos que otorgar permisos para que cualquier usuario sin privilegios de administrador pueda montar recursos WebDAV. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo dpkg-reconfigure davfs2 Una vez ejecutado el comando les aparecerá la siguiente pantalla en la que tendrán que Responder Sí\nAhora para poder leer y editar los ficheros y directorios del servidor WebDAV sin tener problemas de permisos tienen que añadir su usuario, que en mi caso es joan, dentro del grupo davfs2. Para ello ejecuten el siguiente comando:\nsudo usermod -aG davfs2 joan Nota: Es importante escribir el parámetro -aG. El parámetro -a hace referencia a \u0026ldquo;append\u0026rdquo; o añadir y el parámetro G hace referencia a grupo. Es importante añadir el parámetro a, si no lo hacemos en vez de añadir el usuario al grupo lo estaremos borrando.\nUna vez realizado todos los pasos reinicien el ordenador.\n¿CÓMO CONECTARSE A UN SERVIDOR WEBDAV DE FORMA MANUAL? Recomiendo que la primera vez que se conecten al servidor WebDAV lo hagan de forma manual y paso a paso.\nCrear y seleccionar un punto de montaje Inicialmente definiremos el directorio en que queremos montar el contenido almacenado en nuestro servidor WebDAV. En mi caso voy a montar el contenido en la ubicación /home/joan/mnt/webdav\nPara ello primero ello crearé los directorios que me faltan del siguiente modo:\ncd mkdir mnt cd mnt mkdir webdav Conectarse al servidor WebDAV y montar el contenido en nuestro equipo Una vez definido el punto de montaje ya podemos montar el contenido del servidor WebDAV al punto de montaje. Para ello usaremos un comando del siguiente tipo:\nsudo mount -t davfs URL_servidor_WebDAV punto_de_montaje En mi caso:\nLa URL del servidor WebDAV es: https://webdav.geekland.duckdns.org/nube/\nEl punto de montaje es: /home/joan/mnt/webdav/\nPor lo tanto ejecutaré el siguiente comando y justo después de ejecutarlo tendré que introducir las credenciales para acceder al servidor WebDAV.\njoan@asus:~$ sudo mount -t davfs https://webdav.geekland.duckdns.org/nube/ /home/joan/mnt/webdav/ Please enter the username to authenticate with server https://webdav.geekland.duckdns.org/nube/ or hit enter for none. Username: geekland Please enter the password to authenticate user geekland with server https://webdav.geekland.duckdns.org/nube/ or hit enter for none. Password: xxxxxx /sbin/mount.davfs: warning: the server does not support locks Una vez finalizado el proceso podrán ver que se ha montado el contenido sin ningún problema.\nUna vez comprobado que pueden conectarse al servidor lo desmontan. Para ello usen el siguiente comando:\njoan@asus:~$ sudo umount /home/joan/mnt/webdav/ /sbin/umount.davfs: waiting for mount.davfs (pid 10758) to terminate gracefully .. OK Nota: Siguiendo las instrucciones de este apartado únicamente podrá editar contenido del servidor WebDAV el usuario root. Para que nuestro usuario pueda leer y editar contenido sin problemas de permisos hagan lo que se muestra en el siguiente apartado.\nAUTOMATIZAR LA CONEXIÓN A UN SERVIDOR WEBDAV Acabamos de montar el servidor WebDAV de forma manual. Si queremos automatizar el proceso tendremos que editar el fichero /etc/fstab. Para ello ejecutaremos el siguiente comando:\nsudo nano /etc/fstab Una vez se abra el gestor de ficheros nano añadiremos una entrada del siguiente tipo:\nURL_servidor_WebDAV punto_de_montaje davfs rw,noauto,user 0 0 Como vimos en apartados anteriores:\nLa URL del servidor WebDAV es: https://webdav.geekland.duckdns.org/nube/\nEl punto de montaje es: /home/joan/mnt/webdav/\nPor lo tanto en mi caso el comando a introducir dentro del fichero fstab es:\nhttps://webdav.geekland.duckdns.org/nube/ /home/joan/mnt/webdav davfs rw,noauto,user 0 0 Una vez introducida la entrada ya podemos guardar los cambios y cerrar el fichero.\nAutenticación automática al servidor WebDAV Si queremos que nuestro usuario, que en mi caso es joan, pueda montar el servidor WebDAV sin necesidad de introducir las credenciales abriremos una terminal y ejecutaremos el siguiente comando:\nnano ~/.davfs2/secrets Una vez se abra el editor de texto nano vamos al final del fichero y añadimos una entrada del siguiente tipo:\nURL_servidor_WebDAV usuario_servidor_webdav contraseña_usuario_servidor_webdav Por lo tanto según visto en apartados anteriores en mi caso introduciré la siguiente entrada:\nhttps://webdav.geekland.duckdns.org/nube/ geekland contraseñageekland A continuación guardamos los cambios, cerramos el fichero y damos los permisos 600 al fichero que almacena las credenciales para loguearse al servidor WebDAV.\nchmod 600 ~/.davfs2/secrets Nota: Los permisos 600 hacen que únicamente el usuario root pueda leer y escribir en el fichero. El resto de usuarios no tienen ningún tipo de permiso.\nAhora si reinician el equipo verán que el servidor WebDAV está montado y plenamente operativo.\nAdemás si han seguido las instrucciones correctamente podrán visualizar y editar los documentos del servidor WebDAV como si estuvieran en su disco duro.\nFuentes https://wiki.archlinux.org/title/Davfs2\n","permalink":"https://geeklandlinux.github.io/posts/montar-servidor-webdav-en-un-sistema-de-archivos-con-davfs2/","summary":"\u003cp\u003eEn su día comentamos como \u003ca href=\"/posts/instalar-y-configurar-un-servidor-webdav-apache/\"\u003ecrear nuestro propio servidor WebDAV\u003c/a\u003e. Ahora veremos como podemos montar el contenido almacenado en un servidor WebDAV en un ordenador que corre GNU/Linux. Una vez montado el contenido pretendo editar el contenido del servidor WebDAV como si estuviera realmente almacenado en mi ordenador. Hay varias formas de conseguir mi propósito, pero en mi caso lo he realizado del siguiente modo.\u003c/p\u003e","title":"Montar servidor WebDAV en un sistema de archivos con Davfs2"},{"content":"En su día Ángel de uGeek hablo de Tailscale. Lo definió como un servicio VPN que funciona perfecto y es capaz de proporcionar servicio aunque esté detrás de un CG-NAT. Después de escucharle y probarlo le daré una oportunidad por los siguientes motivos:\nMe permite acceder a todos los servicios de mi red local sin necesidad de abrir ningún puerto en el Router. En el caso que las redes a conectar sean de difícil acceso se realizará la conexión mediante los nodos de Tailscale y la conexión no será directa. Por lo tanto en el caso que las redes a conectar sean de difícil acceso y quieran una conexión directa se recomienda abrir los puertos TCP 443, UDP 41641 y UDP 3478 en almenos uno de los dispositivos conectados a Tailscale. Para más información pueden visitar el siguiente enlace. Si un día resetean el Router o cambio de proveedor de Internet seguiré teniendo acceso a mis servicios sin tener que realizar absolutamente nada. Además podré acceder al router de forma remota y podré dejar la configuración tal y como la tenia antes. No es mi caso, pero si estuviera detrás de un CG-NAT podría seguir accediendo a mis servicios sin problema alguno. Permite enrutar el tráfico de diversas formas de forma muy sencilla sencilla. Podemos enrutar la totalidad del tráfico a través del VPN o podemos enrutar solo parte del tráfico. La configuración básica-predeterminada solo enrutará parte del tráfico. Permite resolver las peticiones DNS mediante el servidor que nosotros queramos. Incluso permite resolver las peticiones DNS a través de servicios autoalojados como Pi-Hole o Adguard Home. Permite pasar archivos entre dispositivos conectados al VPN de forma sencilla. La versión de pago permite otras opciones como por ejemplo crear distintos usuarios y dar permisos a cada uno de ellos para que pueda acceder a determinados servicios, etc. A continuación veremos los pasos a seguir para realizar un uso básico del servicio VPN de Tailscale.\nLOGUEARSE AL SERVICIO TAILSCALE EN EL NAVEGADOR WEB Para loguearse necesitamos tener una cuenta de Google, de Microsoft o de Github. Una vez tengamos una cuenta en alguno de los 3 sitios mencionados accedemos a la siguiente URL:\nhttps://login.tailscales.com/login?next_url=%2Fwelcome\nUna vez allí introducimos nuestras credenciales de Google, Microsoft o Github y nos loguearemos.\nINSTALACIÓN DE TAILSCALE EN LOS EQUIPOS QUE QUEREMOS CONECTAR ENTRE SI Podemos instalar Tailscale en prácticamente todos los equipos y sistemas operativos que nos pasen por la cabeza. A continuación detallaré el procedimiento de instalación en una Raspberry Pi que actuará de servidor y en un teléfono Android.\nInstalar el VPN Tailscale en la Raspberry Pi La Raspberry Pi en que instalaré Tailscale:\nTiene la IP interna 192.168.1.100 Está ubicada en mi red local casera. Actuará como servidor. Aunque también podría actuar como cliente. Lo primero que tenemos que realizar es instalar el paquete **apt-transport-https** ejecutando el siguiente comando en la terminal:\nsudo apt-get install apt-transport-https A continuación añadimos los repositorios de Tailscale. Para añadirlos en Debian Buster ejecutaremos los siguientes comandos en la terminal:\ncurl -fsSL https://pkgs.tailscale.com/stable/raspbian/buster.gpg | sudo apt-key add - curl -fsSL https://pkgs.tailscale.com/stable/raspbian/buster.list | sudo tee /etc/apt/sources.list.d/tailscale.list Una vez añadidos los refrescamos y procedemos a la instalación de Tailscale ejecutando los siguientes comandos:\nsudo apt-get update sudo apt-get install tailscale En estos momentos ya hemos finalizado la instalación de Tailscale en la Raspberry Pi. Si lo quieren instalar en otros equipos pueden visitar el siguiente enlace. Si lo quieren instalar mediante Docker pueden visitar el siguiente enlace de uGeek.\nInstalar el cliente de Tailscale en un equipo Android A continuación también instalaré el cliente Tailscale en un teléfono Android. El teléfono funcionará como cliente de los servicios que tengo en la Raspberry Pi y también lo usaré para comprobar que Tailscale funciona correctamente.\nLa instalación Tailscale en Android es trivial. Tan solo tienen que ir al Google Play Store e instalar la aplicación Tailscale.\nUna vez instalada la aplicación nos logueamos con nuestro usuario y contraseña.\nACCEDER A UN SERVICIO QUE ESTÁ CORRIENDO EN LA RASPBERRY DESDE NUESTRO DISPOSITIVO ANDROID Los pasos para poder acceder a los servicios de la Raspberry Pi desde nuestro teléfono Android son los siguientes.\nLoguear la Raspberry Pi a Tailscale Para conectar la Raspberry Pi a Tailscale les recomiendo sigan los siguientes pasos:\nPrimero aseguramos que Tailscale no está logueado a ninguna cuenta. Para ello ejecutamos los siguientes comandos en la terminal:\npi@raspberrypi:~ $ sudo tailscale logout pi@raspberrypi:~ $ sudo tailscale down A continuación nos loqueamos a Tailscale ejecutando el siguiente comando en la terminal:\npi@raspberrypi:~ $ sudo tailscale up To authenticate, visit: https://login.tailscale.com/a/3285tyr54d2323 Al ejecutar el comando nos han dado una URL. Para conectar la Raspberry Pi a Tailscale debemos abrir un navegador y acceder a la URL que nos ha dado la Raspberry Pi. Una vez dentro de la URL os logueaís a vuestra cuenta de Tailscale.\nUna vez logueados veremos que la Raspberry Pi está conectada a Tailscale:\nLoguear nuestro dispositivo Android a Tailscale Una vez conectada la Raspberry Pi también conectaremos nuestro teléfono. Para ello tan solo tenemos que abrir la aplicación de Tailscale e introducir las credenciales de la cuenta. Una vez logueados verán que están conectados a la red VPN de Tailscale. Además verán que aparte del móvil hay una Raspberry Pi 3 conectada.\nAcceder a un servicio que está corriendo en mi Raspberry Pi desde mi teléfono Android En mi Raspberry Pi 3 está corriendo FileBrowser en el puerto 8080. Para acceder a Filebrowser fuera de mi red local deberemos usar la IP de las Raspberry Pi que nos proporciona Tailscale. Tal y como puede ver en la captura de pantalla la IP es la 100.91.114.77.\nComo Filebrowser funciona en el puerto 8080 abriremos el navegador del teléfono y visitaremos la URL 100.91.114.77:8080. Entonces verán que accedemos a FileBrowser sin problema alguno.\nCONFIGURACIÓN DE TAILSCALE Acabamos de ver que el VPN funciona correctamente. Pero nos puede interesar modificar su comportamiento para adaptarlo a nuestras necesidades. Para ello les recomiendo que lean el siguiente apartado.\nConfiguración para enrutar la totalidad del tráfico a través del VPN Con lo realizado hasta el momento solo podemos acceder a servicios que están dentro de la Raspberry 3 o que están corriendo en otro equipo que esté conectado a la misma cuenta de Tailscale. Además el único tráfico que irá por la VPN es el que se genera entre un servicio de nuestra Raspberry y el teléfono. Por lo tanto, el tráfico que genero navegando con mi navegador Android no pasará por el VPN.\nSi queremos forzar que absolutamente todo el tráfico de mi teléfono Android pase por la red VPN tenemos que realizar lo siguiente.\nLo primero que tenemos que realizar es activar el Port Forwarding. Para ello ejecutaremos los siguientes comandos en la terminal de nuestra Raspberry Pi 3:\necho \u0026#39;net.ipv4.ip_forward = 1\u0026#39; | sudo tee -a /etc/sysctl.conf echo \u0026#39;net.ipv6.conf.all.forwarding = 1\u0026#39; | sudo tee -a /etc/sysctl.conf sudo sysctl -p /etc/sysctl.conf A continuación desconectaremos la Raspberry Pi de Tailscale ejecutando el siguiente comando:\npi@raspberrypi:~ $ sudo tailscale down Ahora volveremos a conectarnos al VPN, pero está vez añadiremos etiqueta --advertise-exit-node. De este modo la Rapsberry Pi podrá actuar como nodo de salida.\npi@raspberrypi:~ $ sudo tailscale up --advertise-exit-node Success. Nota: Unicamente pueden actuar como nodo salida equipos con el sistema operativo Linux. Se está trabajando para que también lo puedan hacer Windows y MacOS.\nAhora abrimos el navegador web y nos logueamos a Tailscale. Una vez logueados clicamos en las opciones de configuración de la Raspberry Pi 3 y cuando aparezca el menú contextual clican en la opción Review route settings...\nActo seguido, en la ventana Route settings habilitamos la opción Use as exit node\nAhora abrimos Tailscale en nuestro teléfono Android y clicamos en el icono de opciones. Una vez se abra el menú contextual picamos en la opción Use exit node...\nA continuación tan solo tenemos que marcar el dispositivo que queremos usar como nodo de salida. En mi caso tildaré la opción raspberrypi-3.\nA partir de estos momentos todo el tráfico que se origine en el teléfono irá a través del servicio VPN de Tailscale. Por lo tanto la totalidad de tráfico estará cifrado.\nEl procedimiento que acaban de ver seria el mismo si en vez de Android usan MacOS, iOS, Windows o Linux. La única diferencia será que la interfaz gráfica será ligeramente diferente.\nUsar Tailscale para acceder a servicios de nuestra Red local que no están conectados a la RED VPN A estas alturas todo el tráfico originado en el cliente Android pasa cifrado a través del VPN. Además puedo acceder a cualquier servicio que esté corriendo en un equipo que este conectado a mi cuenta de Tailscale. Pero no puedo acceder a servicios de mi red local que no estén conectados a Tailscale.\nA modo de ejemplo mi servidor Jellyfin corre en una Raspberry Pi 4 que no está conectada al VPN Tailscale. Tiene la IP 192.168.1.101. Por lo tanto está dentro de la subred 192.168.1.0/24. Para que Tailscale pueda acceder a la totalidad de servicios que que corren en la subred 192.168.1.0/24 deberé anunciar esta subred en el momento conectar la Raspberry Pi 3 a Tailscale.\nPara ello lo primero que tenemos que realizar es habilitar el Port Forwarding. Por lo tanto, si no lo han hecho anteriormente, ejecutaremos los siguientes comandos en la terminal de la Raspberry Pi:\necho \u0026#39;net.ipv4.ip_forward = 1\u0026#39; | sudo tee -a /etc/sysctl.conf echo \u0026#39;net.ipv6.conf.all.forwarding = 1\u0026#39; | sudo tee -a /etc/sysctl.conf sudo sysctl -p /etc/sysctl.conf Seguidamente desconectamos la Raspberry Pi 3 de Tailscale ejecutando el siguiente comando.\npi@raspberrypi:~ $ sudo tailscale down A continuación volveremos a conectarnos el VPN, pero está vez añadiremos las etiquetas --advertise-exit-node y --advertise-route=192.168.1.0/24. De este modo la Rapsberry Pi podrá actuar como nodo de salida y podrá acceder a los servicios y equipos que están en la subred 192.168.1.0/24. El comando a usar para realizar lo que acabo de comentar es:\npi@raspberrypi:~ $ sudo tailscale up --advertise-exit-node --advertise-routes=192.168.1.0/24 Success. Una vez realizado este paso abriremos el navegador web y nos loguearemos a la cuenta de Tailscale. Acto seguido accederemos a las propiedades de enrutamiento de nuestra Raspberry Pi 3.\nCuando se abra la ventanta de Route settings activaremos la subred 192.168.1.0/24.\nAhora puedo ir a mi teléfono Android y entrar a Jellyfin tal y como si estuviera en mi red local usando la ip 192.168.1.101:8096\nNota Importante: Los usuarios de Linux que quieran acceder a una subred de un equipo remoto deberán levantar Tailscale mediante el siguiente comando:\nsudo tailscale up --accept-routes Definir los servidores DNS para realizar las peticiones DNS Las peticiones DNS de Tailscale son resultas por los servidores DNS locales de nuestro equipo. Por lo tanto si en mi teléfono Android tengo los DNS de Google, las peticiones DNS serán resueltas por los DNS de Google. Pero si queremos podemos modificar el comportamiento y forzar que todas las peticiones DNS sean resueltas por los servidores que nosotros elijamos.\nEn mi caso quiero que la totalidad de peticiones sean resueltas por los DNS de Aguard. De este modo bloquearé la totalidad de publicidad cuando esté conectado al VPN. Para forzar el uso de los DNS de Adguard abriré el navegador web y me loguearé a mi cuenta de Tailscale. Acto seguido realizaré lo siguiente:\nAccederé a la pestaña DNS. En el apartado Nameservers añadiré las IP de los servidores DNS de Adguard. Las DNS de Adguard son 176.103.130.130 y 176.103.130.131. Finalmente activaré la opción Override local DNS. De este modo estaré forzando que únicamente se puedan usar los DNS de Adguard. Nota: Tailscale también permite seleccionar servidores DNS en función del dominio a Resolver. Por lo tanto podemos forzar que un determinado dominio sea resuelto por un determinado DNS.\nA partir de estos momentos cualquier petición DNS de mi teléfono Android será resuelta por los DNS de Adguard y gran parte de los anuncios serán bloqueados.\nSi queremos podemos usar servicios DNS autoalojados como por ejemplo Pi-Hole o AdGuardHome. Para ello tan solo tendremos que reemplazar las IP de los servidores Adguard por la IP local del equipo que tenga instalado Pi-Hole o Adguard Home.\nNota: Recuerden que si el equipo que tiene instalado Adguard-Home o Pi-hole no está conectado a Tailscale hay que añadir la subred pertinente a Tailscale.\nSi AdguardHome o Pihole estubieran corriendo en un equipo conectado Tailscale deberíamos usar la IP que nos proporciona Tailscale. Para ello abrimos al navegador, vamos a la pestaña Services y allí veremos la IP que Tailscale da a nuestro AdGuardHome o PiHole. En mi caso la IP es 100.91.114.77.\nUna vez conocemos la IP la introducimos de forma apropiada en el campo Nameservers.\nDe este modo la totalidad de peticiones DNS de mi teléfono Android serán resueltas por AdguardHome siempre y cuando el teléfono esté conectado al servicio VPN.\nNota: Existen muchas más opciones de configuración en Tailscale. Para ello les invito a consultar la abundante documentación que existe en su web.\nOBTENER AYUDA EN TAILSCALE Si usan una distribución Linux podrán obtener ayuda en Tailscale ejecutando el comando tailscale ---help\npi@raspberrypi:~ $ tailscale --help USAGE tailscale [flags] \u0026lt;subcommand\u0026gt; [command flags] For help on subcommands, add --help after: \u0026#34;tailscale status --help\u0026#34;. This CLI is still under active development. Commands and flags will change in the future. SUBCOMMANDS up Connect to Tailscale, logging in if needed down Disconnect from Tailscale logout Disconnect from Tailscale and expire current node key netcheck Print an analysis of local network conditions ip Show current Tailscale IP address(es) status Show state of tailscaled and its connections ping Ping a host at the Tailscale layer, see how it routed version Print Tailscale version web Run a web server for controlling Tailscale file Send or receive files bugreport Print a shareable identifier to help diagnose issues FLAGS --socket string path to tailscaled\u0026#39;s unix socket (default /var/run/tailscale/tailscaled.sock) Si quieren obtener ayuda de los subcomandos mostrados por la ayuda principal tan solo tiene que ejecutar un comando del siguiente tipo:\ntailscale \u0026#34;subcomando\u0026#34; --help Por lo tanto si queremos obtener ayuda del subcomando ping ejecutaremos el siguiente comando:\npi@raspberrypi:~ $ tailscale ping --help USAGE ping \u0026lt;hostname-or-IP\u0026gt; The \u0026#39;tailscale ping\u0026#39; command pings a peer node at the Tailscale layer and reports which route it took for each response. The first ping or so will likely go over DERP (Tailscale\u0026#39;s TCP relay protocol) while NAT traversal finds a direct path through. If \u0026#39;tailscale ping\u0026#39; works but a normal ping does not, that means one side\u0026#39;s operating system firewall is blocking packets; \u0026#39;tailscale ping\u0026#39; does not inject packets into either side\u0026#39;s TUN devices. By default, \u0026#39;tailscale ping\u0026#39; stops after 10 pings or once a direct (non-DERP) path has been established, whichever comes first. The provided hostname must resolve to or be a Tailscale IP (e.g. 100.x.y.z) or a subnet IP advertised by a Tailscale relay node. FLAGS --c int max number of pings to send (default 10) --timeout duration timeout before giving up on a ping (default 5s) --tsmp, --tsmp=false do a TSMP-level ping (through IP + wireguard, but not involving host OS stack) (default false) --until-direct, --until-direct=false stop once a direct path is established (default true) --verbose, --verbose=false verbose output (default false) INFORMACIÓN SOBRE SU FUNCIONAMIENTO Tailscale es un servicio equivalente a Zerotier y funciona usando Wireguard-go. Por lo tanto el rendimiento obtenido será similar al que ofrece Wireguard. Generalizando podemos decir que Tailscale es Wireguard añadiendo una capa extra para facilitar la configuración al usuario. Prácticamente la totalidad de opciones ofrecidas por Tailscale se pueden realizar con Wireguard, pero el procedimiento de configuración es más complicado y requiere de mayores conocimientos por parte del usuario.\nSi quieren tener más información sobre el funcionamiento de Tailscale visiten su página web. Allí encontrarán información detallada y concisa del funcionamiento de su servicio.\n","permalink":"https://geeklandlinux.github.io/posts/tailscale-conecta-equipos-a-una-red-privada-virtual-vpn-facilmente/","summary":"\u003cp\u003eEn su día Ángel de uGeek hablo de Tailscale. Lo definió como un servicio VPN que funciona perfecto y es capaz de proporcionar servicio aunque esté detrás de un CG-NAT. Después de escucharle y probarlo le daré una oportunidad por los siguientes motivos:\u003c/p\u003e","title":"Tailscale, conecta equipos a una red privada virtual (VPN) fácilmente"},{"content":"Sed es una herramienta de terminal cuyo uso principal es buscar y reemplazar un texto. En otras palabras más precisas permite buscar cadenas de texto, palabras o patrones de palabras y reemplazarlos por el texto que queramos. Aparte de lo que acabo de mencionar también permite insertar y eliminar texto de un documento. A continuación y en base a una serie de ejemplos aprenderemos como podemos usar esta potente herramienta.\nNota: Sed es una herramienta imprescindible para todos aquellos usuarios que quieran programar scripts en Bash.\nSINTAXIS BÁSICA DEL COMANDO SED La sintaxis básica del comando SED es la que se muestra a continuación:\nsed \u0026#39;s/texto_a_buscar/texto_a_reemplazar/\u0026#39; \u0026lt;fichero_a_reemplazar \u0026gt;fichero_nuevo Una explicación de cada uno de los elementos que aparecen en la sintaxis básica es:\nsed : Parte del comando que llama a Sed ' ': Dentro de las comillas verticales es donde introducimos el texto a buscar y el texto a reemplazar. / / /: Las barras inclinadas también se conocen como delimitadores. Dentro del primer delimitador incluimos la cadena de texto a buscar y dentro del segundo la cadena de texto que reemplaza a la que estamos buscando. 's/texto_a_buscar/texto_a_reemplazar/': s indica que queremos buscar y reemplazar. La parte del comando texto_a_buscar tiene que ser reemplazada una palabra, letra, cadena de caracteres o expresión regular que defina las partes de texto que queremos reemplazar. En texto_a_reemplazar tenemos que poner el texto que reemplazará el texto que queremos modificar. \u0026lt;fichero_a_reemplazar: Es nombre del fichero en que se buscan las partes de texto a modificar. \u0026gt;fichero_nuevo : Es un nuevo fichero que se generará con el texto reemplazado. Sed admite el uso de tuberías. Por lo tanto otra forma de usar sed es la que se muestra a continuación.\necho \u0026#34;texto cualquiera\u0026#34; | sed \u0026#39;s/texto_a_buscar/texto_a_reemplazar/\u0026#39; Una vez detallada la sintaxis básica pasaremos a ver una seríe de ejemplos para entender mejor lo que acabamos de explicar.\nBUSCAR Y REEMPLAZAR CADENAS DE TEXTO CON SED El uso más habitual de Sed es buscar y reemplazar cadenas de texto. A continuación verán una serie de ejemplos que les ayudarán a dominar Sed.\nBuscar la primera cadena de texto que contenga una letra o un patrón y reemplazarla por otra usando sed Imaginemos que tenemos el siguiente texto en un fichero llamado sedexamples:\nPara que LibreOffice tenga un modo 100% oscuro tendremos que modificar su esquema de colores. Básicamente tendremos que cambiar el color del texto y del área de escritura.\nPara buscar la primera palabra que contiene la cadena de texto o y reemplazarla por la cadena de texto O debemos usar el siguiente comando:\nsed \u0026#39;s/O/o/\u0026#39; \u0026lt;sedexamples \u0026gt;sedexamplesnew Si ahora consultamos el texto que está dentro del fichero sedexamplesnew veremos que únicamente la primera letra o se ha convertido en una O mayúscula.\nPara que Libreoffice tenga un modo 100% oscuro tendremos que modificar su esquema de colores. Básicamente tendremos que cambiar el color del texto y del área de escritura.\nSi lo que pretenden es cambiar todas las o de minúscula a mayúscula deberán añadir la opción global g. En el siguiente apartado verán un ejemplo.\nBuscar una cadena de texto que contenga una letra o un patrón y reemplazarla por otra en todo el documento Si tenemos el siguiente texto en un fichero de texto con el nombre sedexamples.\nPara que LibreOffice tenga un modo 100% oscuro tendremos que modificar su esquema de colores. Básicamente tendremos que cambiar el color del texto y del área de escritura.\nY queremos reemplazar todas las o mínusculas a O mayúsculas deberemos usar una sintaxis del siguiente tipo:\nsed \u0026#39;s/texto_a_buscar/texto_a_reemplazar/g\u0026#39; \u0026lt;fichero_a_reemplazar \u0026gt;fichero_nuevo Nota: La g hace referencia a global. (Sustitución global)\nPor lo tanto si usamos el siguiente comando:\nsed \u0026#39;s/o/O/g\u0026#39; \u0026lt;sedexamples \u0026gt;sedexamplesnew Y consultamos el contenido del fichero sedexamplenew obtendremos el siguiente resultado:\nPara que LibreOffice tenga un mOdO 100% OscurO tendremOs que mOdificar su esquema de cOlOres. Básicamente tendremOs que cambiar el cOlOr del textO y del área de escritura.\nPor lo tanto en el ejemplo que acabamos de ver han desaparecido las o minúsculas.\nUso del comando Sed mediante tuberías para buscar y reemplazar texto Sed permite el uso de tuberías. Un ejemplo simple de como podemos usar Sed con tuberías es el siguiente.\nSi queremos cambiar la primera g de la palabra geekland a mayúsculas mediante tuberías ejecutaremos el siguiente comando:\njoan@gk55:~$ **echo \u0026quot;geekland\u0026quot; | sed 's/g/G/' Geekland**\nSobrescribir el contenido de un fichero de texto sin generar otro nuevo (opción -i) En los ejemplos vistos con anterioridad generábamos un fichero nuevo a partir del viejo. Por lo tanto al finalizar la ejecución del comando teníamos 2 ficheros. El primero con el texto original y el segundo con el texto modificado.\nSi en nuestro caso queremos sobrescribir el contenido directamente en el fichero original tendremos que usar la opción -i. Una muestra de la sintaxis a usar es la siguiente:\nsed -i \u0026#39;s/texto_a_buscar/texto_a_reemplazar/g\u0026#39; fichero_a_reemplazar A modo de ejemplo si queremos revertir las modificaciones realizadas en el fichero sedexamplesnew:\nPara que LibreOffice tenga un mOdO 100% OscurO tendremOs que mOdificar su esquema de cOlOres. Básicamente tendremOs que cambiar el cOlOr del textO y del área de escritura.\nY de este modo transformar todas las O de mayúsculas a minúsculas ejecutaremos el siguiente comando:\nsed -i 's/O/o/g' sedexamplesnew\nNota: La opción -i es para sobrescribir los cambios en el mismo fichero. La opción g ya hemos visto anteriormente que es para que los cambios apliquen a todo el documento.\nUna vez ejecutado el comando veremos que efectivamente se ha efectuado la sustitución:\njoan@gk55:~$ cat sedexamplesnew Para que Libreoffice tenga un modo 100% oscuro tendremos que modificar su esquema de colores. Básicamente tendremos que cambiar el color del texto y del área de escritura.\nRestringir las líneas en que SED realizará sustituciones de texto Sed permite buscar una línea que cumpla con un determinado patrón. Una vez encontrada la línea que cumple el patrón podemos hacer solo se realicen las modificaciones en esta línea en cuestión. Para realizar lo que acabo de citar hay que usar la siguiente sintaxis.\nsed \u0026#39;/definir_patrón_a_buscar/s/texto_a_buscar_en_línea_que_aparece_patrón/texto_a_reemplazar_en_línea_que_aparece_patrón/g\u0026#39; A modo de ejemplo si partimos del siguiente texto en el fichero sedexamplesnew:\nPara que LibreOffice tenga un mOdO 100% OscurO tendremOs que mOdificar su esquema de cOlOres. Básicamente tendremOs que cambiar el cOlOr del textO y del área de escritura. Para ellO prOcederemOs del siguiente mOdO.\nPara que LibreOffice tenga un mOdO tOtalmente OscurO y cOnsistente tenemOs que realizar lO siguiente:\nUsar un tema de escritOriO OscurO.\nEl fichero contiene 3 líneas. En las 2 primeras aparece la palabra LibreOffice y en la tercera no. Nuestro propópisto será cambiar las O de mayúscula a minúscula solo en las líneas en que aparezca la palabra LibreOffice. Para ello ejecutaremos el siguiente comando:\nsed -i \u0026#39;/LibreOffice/s/O/o/g\u0026#39; sedexamplesnew Nota: Como hemos visto anteriormente la opción -i es para sobrescribir los cambios en el mismo fichero sedexamplesnew.\nUna vez aplicado el comando el resultado obtenido es el siguiente:\nPara que Libreoffice tenga un modo 100% oscuro tendremos que modificar su esquema de colores.``Básicamente tendremos que cambiar el color del texto y del área de escritura. Para ello procederemos del siguiente modo.\nPara que Libreoffice tenga un modo totalmente oscuro y consistente tenemos que realizar lo siguiente:\nUsar un tema de escritOriO OscurO.\nPor lo tanto la sustitución se ha realizado de forma perfecta en las líneas 1 y 2.\nReemplazar un texto por otro texto en las líneas que nosotros queramos con sed Imaginemos que tenemos el siguiente texto en el fichero de texto sedexamples.\nLa camioneta es vieja La estufa es nueva La cesta de nueva La sudadera es nueva Si queremos reemplazar la palabra nueva por vieja en las líneas 3 y 4 ejecutaremos el siguiente comando:\nsed -i \u0026#39;3,4 s/nueva/vieja/g\u0026#39; sedexamples Una vez ejecutado el comando el texto del fichero sedexamples será el siguiente:\njoan@gk55:~$ cat sedexamples La camioneta es vieja La estufa es nueva La cesta de vieja La sudadera es vieja\nSustituciones múltiples en un solo comando (opción -e) Podemos aplicar más de un sustitución de forma simultánea ejecutando un solo comando. Para ello imagines que la salida del comando cat /etc/shells es la siguiente.\njoan@gk55:~$ cat /etc/shells # /etc/shells: valid login shells /bin/sh /bin/bash /usr/bin/bash /bin/rbash /usr/bin/rbash /bin/dash /usr/bin/dash\nSegún lo aprendido en los apartados anteriores, si queremos cambiar todas las cadenas de texto usr por u usaremos el siguiente comando:\njoan@gk55:~$ cat /etc/shells | sed 's/usr/u/g' # /etc/shells: valid login shells /bin/sh /bin/bash /u/bin/bash /bin/rbash /u/bin/rbash /bin/dash /u/bin/dash\nSi ahora pretendemos encadenar múltiples sustituciones usando únicamente un solo comando tendremos que usar la opción sed -e. Para sustituir todas las cadenas de texto de usr a u y de bin a b lo haremos del siguiente modo:\njoan@gk55:~$ cat /etc/shells | sed -e 's/usr/u/g' -e 's/bin/b/g' # /etc/shells: valid login shells /b/sh /b/bash /u/b/bash /b/rbash /u/b/rbash /b/dash /u/b/dash\nNota: Otra opción alternativa para conseguir el mismo resultado sería cat /etc/shells | sed 's/usr/u/g' | sed 's/bin/b/g'\nUsar y reemplazar texto con SED cuando los patrones que estamos buscando contienen el carácter / Para el problema mencionado en el título de este apartado existen 2 soluciones.\nLa primera es usar el carácter \\ antes de del carácter / que queremos reemplazar. La segunda forma es reemplazar las típicas barras delimitadoras / del comando sed por caracteres alternativos como por ejemplo !, ?, #, etc. Ahora imaginemos que queremos reemplazar /usr por (u en la salida del comando cat /etc/shells. Si usamos la primera de las soluciones lo haremos del siguiente modo:\njoan@gk55:~$ cat /etc/shells | sed 's/\\/usr/(u/g' # /etc/shells: valid login shells /bin/sh /bin/bash (u/bin/bash /bin/rbash (u/bin/rbash /bin/dash (u/bin/dash\nY en caso que queramos usar la segunda solución lo haremos del siguiente modo:\njoan@gk55:~$ cat /etc/shells | sed 's#/usr#(u#g' # /etc/shells: valid login shells /bin/sh /bin/bash (u/bin/bash /bin/rbash (u/bin/rbash /bin/dash (u/bin/dash\nReemplazar caracteres individuales con Sed El uso más habitual de Sed es buscar y reemplazar cadenas de caracteres. Pero también permite reemplazar caracteres individuales. Para ello deberán usar la siguiente sintaxis:\nsed -e \u0026#39;y/caracteres_buscar/caracteres_a_reemplazar/\u0026#39; Ahora supongamos que tenemos el siguiente texto:\n\u0026quot;Esto es un ejemplo de reemplazo de caracteres para el blog geekland\nSi queremos reemplazar todas las a por A y todas las o por O deberemos ejecutar el siguiente comando:\njoan@gk55:~$ echo \u0026quot;Esto es un ejemplo de reemplazo de caracteres para el blog geekland\u0026quot; | sed -e 'y/ao/AO/' EstO es un ejemplO de reemplAzO de cArActeres pArA el blOg geeklAnd\nEncontrar una línea que empiece por una determinada palabra y cambiar el contenido de toda la línea En el siguiente ejemplo partimos del fichero sedexamples que contiene el siguiente texto:\nGeekland es una blog. que habla mayoritariamente de software libre. que además habla de informática.\nSi queremos reemplazar todas las líneas que empiezan por que por el texto el texto el contenido de la línea ha sido reemplazado haremos uso del siguiente comando:\nsed -i 's/^que .*$/el contenido de la línea ha sido reemplazado/' sedexamples\nNota: La magia del último comando la realiza la expresión regular ^que .*$. La parte ^que hace referencia a todas las líneas que empiezan por la cadena de caracteres que. El punto . hace referencia a cualquier letra que aparezca las veces que aparezca * hasta el final de la línea$.\nEl resultado después de ejecutar el comando será el que se muestra en pantalla.\njoan@gk55:~$ sed -i 's/^que .*$/el contenido de la línea ha sido reemplazado/' sedexamples joan@gk55:~$ cat sedexamples Geekland es una blog. el contenido de la línea ha sido reemplazado el contenido de la línea ha sido reemplazado\nCambiar todas las mayúsculas a minúsculas y viceversa Si queremos cambiar un texto de mayúsculas a minúsculas también deberemos usar las expresiones regulares. En este caso la expresión regular que necesitamos definir es la siguiente:\n[a-z]: Expresión regular que hace referencia a todas las letras entre la a y la z.\nPor lo tanto si el fichero sedexamplesnew contiene el siguiente texto\nHACER QUE LIBREOFFICE TENGA UN MODO OSCURO AL 100% Usar un tema de escritOriO Oscuro. Usar un tema de icOnOs adecuado para el mOdO OscurO. MOdificar el cOlOr del área de escritura y cambiar el cOlOr del textO. Y lo queremos transformar a mayúsculas usaremos el siguiente comando:\nsed -i \u0026#39;s/[a-z]/\\U\u0026amp;/g\u0026#39; sedexamplesnew Nota: \\U\u0026amp; hace referencia a mayúsculas (Upper case). Por lo tanto el comando aplicado transforma a mayúsculas cualquier letra de la a a la z que haya en el documento sedexamplesnew\nUna vez ejecutado el comando el resultado es el siguiente:\nHACER QUE LIBREOFFICE TENGA UN MODO OSCURO AL 100% USAR UN TEMA DE ESCRITORIO OSCURO. USAR UN TEMA DE ICONOS ADECUADO PARA EL MODO OSCURO. MODIFICAR EL COLOR DEL ÁREA DE ESCRITURA Y CAMBIAR EL COLOR DEL TEXTO.\nSi ahora quisiéramos volver a transformar el texto a minúscula tendríamos que usar el siguiente comando:\nsed -i \u0026#39;s/[A-Z]/\\L\u0026amp;/g\u0026#39; sedexamplesnew INSERTAR TEXTO O MODIFICAR UN TEXTO MEDIANTE EL USO DE SED El comando sed también permite insertar texto en un documento. Algunos ejemplos de como Sed permite insertar texto en un documentos son los siguientes.\nInsertar texto al inicio de todas las líneas de un fichero de texto En el caso que el fichero sedexamples tenga el siguiente texto:\nLa camioneta es vieja La estufa es nueva La cesta de vieja La sudadera es vieja\nSi al inicio de cada una de las líneas queremos añadir un guion y un espacio ejecutaremos el siguiente comando:\nsed -i \u0026#39;s/^/- /\u0026#39; sedexamples Nota: ^ es la expresión regular que indica al inicio de la línea.\nEl resultado obtenido de aplicar el comando es el siguiente:\njoan@gk55:~$ cat sedexamples - La camioneta es vieja - La estufa es nueva - La cesta de vieja - La sudadera es vieja\nInsertar texto al inicio de una línea o en un rango de líneas con sed Siguiendo con el ejemplo del apartado anterior. Si solo hubiéramos querido añadir - a las líneas 2, 3 y 4 tendríamos que haber ejecutado el siguiente comando:\nsed -i \u0026#39;2,4 s/^/- /\u0026#39; sedexamples Obteniendo el siguiente resultado:\njoan@gk55:~$ cat sedexamples La camioneta es vieja - La estufa es nueva - La cesta de vieja - La sudadera es vieja\nSi ahora quisiéramos añadir el - únicamente a la primera de las líneas ejecutaríamos el siguiente comando:\nsed -i \u0026#39;1 s/^/- /\u0026#39; sedexamples Insertar texto al final de una línea Podemos añadir texto al final de todas y cada una de las líneas. Para ello tan solo deberemos usar la expresión regular apropiada. Si en el fichero sedexamples tenemos el siguiente texto:\n- La estufa es nueva - La cesta de vieja - La sudadera es vieja\nPara insertar el texto . cierro la cita al final de todas y cada una de las líneas debería ejecutar el siguiente comando:\nsed -i \u0026#39;s/$/. cierro la cita/\u0026#39; sedexamples Nota: $ es la expresión regular que indica al final de la línea.\nEl resultado obtenido sería el siguiente:\njoan@gk55:~$ cat sedexamples - La estufa es nueva. cierro la cita - La cesta de vieja. cierro la cita - La sudadera es vieja. cierro la cita\nSi ahora quiero añadir el texto . vuelvo a cerrar la cita únicamente al final de la línea 1 ejecutaría el siguiente comando:\nsed -i \u0026#39;1 s/$/. vuelvo a cerrar la cita/\u0026#39; sedexamples Una vez ejecutado el comando el resultado obtenido sería el siguiente:\njoan@gk55:~$ cat sedexamples - La estufa es nueva. cierro la cita. vuelvo a cerrar la cita - La cesta de vieja. cierro la cita - La sudadera es vieja. cierro la cita\nEn el caso que también quisiéramos añadir el texto . vuelo a cerrar la cita a las líneas 2 y 3 ejecutaríamos el siguiente comando:\nsed -i \u0026#39;2,3 s/$/. vuelo a cerrar la cita/\u0026#39; sedexamples Obteniendo el siguiente resultado:\njoan@gk55:~$ cat sedexamples - La estufa es nueva. cierro la cita. vuelo a cerrar la cita - La cesta de vieja. cierro la cita. vuelo a cerrar la cita - La sudadera es vieja. cierro la cita. vuelo a cerrar la cita\nAñadir una línea en blanco después de encontrar una palabra o expresión regular Si después de encontrar una determinada palabra en un texto queremos añadir una línea en blanco justo por debajo de la línea donde aparece la palabra deberemos ejecutar un comando del siguiente tipo:\nsed -i \u0026#39;/palabra_o_patron_a_buscar/G\u0026#39; nombre_fichero Por lo tanto si partimos del fichero sedexamples con el mismo contenido que teníamos en el apartado anterior y queremos añadir una línea blanco justo por debajo de la línea en que aparece la palabra cesta lo haremos del siguiente modo:\njoan@gk55:~$ sed -i '/cesta/G' sedexamples joan@gk55:~$ cat sedexamples - La estufa es nueva. cierro la cita. vuelo a cerrar la cita - La cesta de vieja. cierro la cita. vuelo a cerrar la cita\n- La sudadera es vieja. cierro la cita. vuelo a cerrar la cita Insertar una línea en blanco cada 3 líneas Si disponemos del fichero de texto sedexamplesnew con el siguiente contenido:\n1 2 3 4 5 6 7 Y queremos añadir una línea en blanco cada 3 líneas ejecutaremos el siguiente comando:\nsed -i \u0026#39;n;n;G;\u0026#39; sedexamplesnew Después de ejecutar el comando obtendremos el siguiente resultado:\njoan@gk55:~$ cat sedexamplesnew 1 2 3 4 5 6 7 Insertar o añadir una línea en blanco cuando se cumpla un patrón o condición Si únicamente queremos añadir la línea en blanco cuando se cumpla una determinada condición lo haremos usando Sed del siguiente modo:\nsed -i \u0026#39;/cadena/{x;p;x;}\u0026#39; archivo Por lo tanto si en el fichero sedexamplesnew queremos añadir una línea en blanco antes de la línea en la que aparece 5 ejecutaremos el siguiente comando y obtendremos el siguiente resultado:\njoan@gk55:~$ sed -i \u0026#39;/5/{x;p;x;}\u0026#39; sedexamplesnew joan@gk55:~$ cat sedexamplesnew 1 2 3 4 5 6 7 Si ahora quisiéramos añadir una línea en blanco después de la línea en que aparece 5 lo haríamos del siguiente modo obteniendo el siguiente resultado:\njoan@gk55:~$ sed -i \u0026#39;/5/G\u0026#39; sedexamplesnew joan@gk55:~$ cat sedexamplesnew 1 2 3 4 5 6 7 Si queremos añadir una línea en blanco justo antes y después de la línea en que aparece 2 lo haremos del siguiente modo:\njoan@gk55:~$ sed -i \u0026#39;/2/{x;p;x;G;}\u0026#39; sedexamplesnew joan@gk55:~$ cat sedexamplesnew 1 2 3 4 5 6 7 Añadir un número de línea al inicio de cada una de las líneas de un fichero Sed permite numerar cada una de las líneas de un fichero. Para ello usaremos una sintaxis del siguiente tipo:\nsed = nombre_fichero | sed \u0026#39;N;s/\\n/\\t/\u0026#39; Para entender bien este comando lo haremos con un ejemplo. Imaginemos que el fichero sedexamples tiene el siguiente contenido:\nEsto es un ejemplo para numerar las líneas de un fichero con sed.\nEsta es una de las líneas del contenido. Y esta es la última línea del fichero.\nPara insertar los números de línea y saltar de línea Sed usa el símbolo =. Por lo tanto, para insertar un numero de línea y saltar de línea lo haremos del siguiente modo:\njoan@gk55:~$ sed = sedexamples 1 Esto es un ejemplo para numerar las líneas de un fichero con sed. 2\n3 Esta es una de las líneas del contenido. 4 Y esta es la última línea del fichero. Nota: Otro comando equivalente al que acabamos de ejecutar sería sed -n '=;p' sedexamples\nSi ahora queremos juntar el número de línea con el contenido del fichero tenemos que juntar 2 líneas y añadir una tabulación entre el número y el contenido del fichero. Para ello ejecutaremos el siguiente comando:\njoan@gk55:~$ sed = sedexamplesnew | sed \u0026#39;N;s/\\n/\\t/\u0026#39; 1\tEsto es un ejemplo para numerar las líneas de un fichero con sed. 2\t3\tEsta es una de las líneas del contenido. 4\tY esta es la última línea del fichero. Nota: La opción N añade la siguiente línea a la línea actual. La parte del comando s/\\n/\\t/ sustituye todo salto de línea \\n por una tabulación \\t. De esta forma hemos conseguido nuestro objetivo.\nSi en vez de una tabulación quisieran añadir un guión y un espacio deberían modificar el comando del siguiento modo.\njoan@gk55:~$ sed = sedexamplesnew | sed \u0026#39;N; s/\\n/- /\u0026#39; 1- Esto es un ejemplo para numerar las líneas de un fichero con sed. 2- 3- Esta es una de las líneas del contenido. 4- Y esta es la última línea del fichero. Si ahora quisiéramos volcar el resultado en un fichero de texto con el nombre textofinal lo haríamos del siguiente modo:\njoan@gk55:~$ sed = sedexamplesnew | sed \u0026#39;N;s/\\n/- /\u0026#39; \u0026gt; textofinal joan@gk55:~$ cat textofinal 1- Esto es un ejemplo para numerar las líneas de un fichero con sed. 2- 3- Esta es una de las líneas del contenido. 4- Y esta es la última línea del fichero. Insertar un número de línea al inicio de cada línea únicamente cuando tenga contenido En el ejemplo anterior hemos visto como mostrar la numeración de todas las líneas. La salida mostraba la numeración de las líneas con contenido y sin contenido. Si queremos suprimir la numeración de las líneas sin contenido lo haremos del siguiente modo:\njoan@gk55:~$ sed \u0026#39;/./=\u0026#39; sedexamplesnew | sed \u0026#39;/./N; s/\\n/- /\u0026#39; 1- Esto es un ejemplo para numerar las líneas de un fichero con sed. 3- Esta es una de las líneas del contenido. 4- Y esta es la última línea del fichero Nota: /./ sirve como filtro para despreciar las líneas sin contenido del fichero sedexamplesnew.\nPara numerar y mostrar únicamente las líneas que no tienen contenido se podría hacer con el siguiente comando:\njoan@gk55:~$ sed \u0026#39;/^$/=\u0026#39; sedexamplesnew | sed \u0026#39;/^[0-9]/N; s/\\n/- /\u0026#39; | sed \u0026#39;/[a-Z]/ d\u0026#39; 2- De este modo sabríamos que el fichero sedexamplesnew solo tiene una línea vacía y es la 2.\nJuntar todas las líneas de un fichero mediante Sed Sed también permite juntar todas las línea de un texto en una sola línea de forma extremadamente sencilla. Para ello ejecutaremos el siguiente comando:\njoan@gk55:~$ cat sedexamplesnew | sed \u0026#39;:a; N; s/\\n/ /; ta\u0026#39; Después de ejecutar el comando obtendremos el siguiente resultado:\nEsto es un ejemplo para numerar las líneas de un fichero con sed. Esta es una de las líneas del contenido. Y esta es la última línea del fichero.\nNota: La estructura del comando es sed ':etiqueta; N; s/buscar/reemplazar/; t+etiqueta'\nNota: El comando aplicado en este ejemplo funciona del siguiente modo. Inicialmente se introduce la etiqueta a a la primera línea. A continuación gracias al parámetro N se cogen las 2 primeras líneas del fichero. Seguidamente, en las 2 primeras líneas se busca un salto de línea \\n y cuando lo encuentra lo elimina y reemplaza por un espacio. De este modo las 2 primeras líneas ya se han transformado en una. Al cumplirse y ejecutarse el patrón de búsqueda s/\\n/ / gracias al parámetro ta volvemos a la primera que es la que tiene la etiqueta a. La primera línea ahora contiene las líneas que antes eran la 1 y la 2. Una vez estamos en la primera línea se vuelve a repetir el proceso. Es decir la línea 1 se juntará con la línea 2 y de este modo la línea 1 ya contendrá las líneas 1,2 y 3.\nJuntar únicamente las líneas que finalicen con el símbolo \\ Si queremos podemos seleccionar las líneas que queremos unir mediante un marcador. Si usamos el marcador \\ podemos tener un texto similar al siguiente en el fichero sedexamplesnew:\nEsto es un ejemplo para numerar las líneas de un fichero con sed. Esta es una de las líneas del contenido.\\ Y esta es la última línea del fichero. La única línea que tiene el marcador \\ es la 3. Por lo tanto si queremos juntar la línea 3 con la 4 podemos usar el siguiente comando:\n**joan@gk55:~$ cat sedexamplesnew | sed ':a; N; s/\\\\\\n/ /; ta'**\nY el resultado obtenido será el siguiente:\nEsto es un ejemplo para numerar las líneas de un fichero con sed. Esta es una de las líneas del contenido. Y esta es la última línea del fichero. Añadir una línea con contenido o vacia justo al final de un fichero de texto La salida del comando echo -e \u0026quot;1\\n2\\n3\u0026quot; es:\njoan@gk55:~$ echo -e \u0026#34;1\\n2\\n3\u0026#34; 1 2 3 Si queremos añadir un contenido cualquiera en la última línea lo haremos del siguiente modo:\njoan@gk55:~$ echo -e \u0026quot;1\\n2\\n3\u0026quot; | sed '$a texto nuevo introducido' 1 2 3 texto nuevo introducido\nSi el contenido inicial lo tiene el fichero sedgeekland y queremos crear un nuevo fichero con nombre test2 que tenga el contenido del fichero sedgeekland más la frase texto nuevo introducido justo en la última línea lo haremos del siguiente modo:\njoan@gk55:~$ sed '$a texto nuevo introducido' sedgeekland \u0026gt; test2 joan@gk55:~$ cat test2 1 2 3 texto nuevo introducido\nAñadir una línea con contenido o vacía en la penúltima línea de un fichero texto Si en vez de insertar el texto en la última línea lo queréis insertar en la penúltima lo tenéis que hacer del mismo modo que en el apartado anterior. La única diferencia es que tendréis que reemplazar el parámetro $a por $i. Un ejemplo de lo que acabo de comentar es el siguiente:\njoan@gk55:~$ echo -e \u0026quot;1\\n2\\n3\u0026quot; | sed '$i texto nuevo introducido' 1 2 texto nuevo introducido 3\nSELECCIONAR Y VISUALIZAR CONTENIDO MEDIANTE SED Sed permite capturar y visualizar el texto que nos interesa. De este modo, Sed nos permitirá realizar las siguientes operaciones.\nMostrar las x primeras líneas de un fichero de texto Para imprimir las 2 primeras líneas del fichero sedexamplesnew tan solo deberemos usar el siguiente comando:\njoan@gk55:~$ sed 2q sedexamplesnew Estamos viendo el uso básico de sed. Sed es una herramienta potente\nVisualizar una línea o un rango de líneas con Sed Imaginemos que el fichero sedexamplesnew tiene el siguiente contenido:\njoan@gk55:~$ cat sedexamplesnew Estamos viendo el uso básico de sed. Sed es una herramienta potente que buscar y reemplaza texto final\nSí unicamente queremos imprimir la tercera línea del fichero usaremos el siguiente comando:\njoan@gk55:~$ sed -n '3p' sedexamplesnew que buscar y reemplaza texto\nSi ahora queremos imprimir la línea 1 y la línea 3 ejecutaremos el siguiente comando:\njoan@gk55:~$ sed -n '1p' sedexamplesnew \u0026amp;\u0026amp; sed -n '3p' sedexamplesnew Estamos viendo el uso básico de sed. que buscar y reemplaza texto\nNota: Un comando equivalente al que se muestra en el ejemplo seria sed -n -e '1p' sedexamplesnew -e '3p' sedexamplesnew\nEn el caso que queramos imprimir el rango de líneas de la 2 a la 4 ejecutaremos el siguiente comando:\njoan@gk55:~$ sed -n '2,4p' sedexamplesnew Sed es una herramienta potente que buscar y reemplaza texto final\nFinalmente, para mostrar en pantalla todo el contenido del fichero sedexamplesnew mediante sed ejecutaremos el siguiente comando:\njoan@gk55:~$ sed -n 'p' sedexamplesnew Estamos viendo el uso básico de sed. Sed es una herramienta potente que buscar y reemplaza texto final\nMostrar la primera y última línea de un fichero de texto Para mostrar la primera línea de un fichero de texto como por ejemplo sedexamplesnew ejecutaremos el siguiente comando:\njoan@gk55:~$ sed -n '1p' sedexamplesnew Estamos viendo el uso básico de sed.\nY en caso de querer mostrar la última línea reemplazaremos el número 1 por el símbolo $ que significa final. En este caso el resultado obtenido es el siguiente:\njoan@gk55:~$ sed -n '$p' sedexamplesnew final\nMostrar las últimas X líneas de un fichero Para mostrar las últimas X líneas de un fichero usaremos un comando del siguiente tipo:\ncat nombre_fichero | sed \u0026#39;:a; N; 1,Xba; D\u0026#39; Nota: nombre_fichero se debe reemplazar por el nombre del fichero que tenga el contenido\nNota: X tiene que ser reemplazado por el número de líneas que queramos visualizar al final de fichero.\nPor lo tanto si el fichero sedexamples tiene el siguiente contenido:\n1 2 3 4 5 6 7 8 9 10 para mostrar las 3 últimas líneas del fichero sedexamples procederemos del siguiente modo:\njoan@gk55:~$ cat sedexamples | sed ':a; N; 1,3ba; D' 8 9 10\nNota: El resultado de este comando es el mismo que el comando tail -n 3 sedexamples\nLo que hace el comando que acabamos de ejecutar es:\nInicialmente se leen los números 1,2,3. Esto es gracias al parámetro 1,3ba Al usar el parámetro N se añadirán las líneas 4,5 y 6 al espacio de trabajo. Por lo tanto ahora tendremos 1,2,3,4,5,6 en el espacio de trabajo. El parámetro D borrará las líneas viejas del espacio de trabajo. Por lo tanto borrará las líneas 1,2,3. Ahora en el espacio de trabajo tendremos las líneas 4,5,6. A las líneas 4,5,6 añadiremos 7,8,9 y el parámetro D eliminará las viejas que son 4,5,6. Así sucesivamente hasta llegar al final De este modo obtendremos las últimas X filas de un fichero de texto con sed.\nMostrar el texto que está entre dos etiquetas o dos marcadores En ocasiones puede ser útil extraer el texto comprendido entre 2 etiquetas o 2 marcadores. Imaginemos el caso que el fichero sedexamples tenga el siguiente contenido:\n\u0026lt;title\u0026gt;Geekland Blog de tecnología\u0026lt;/title\u0026gt; \u0026lt;plot\u0026gt;Es un blog que habla de software Libre Y también de informática\u0026lt;/plot\u0026gt; Si queremos extraer la totalidad de texto comprendido entre las etiquetas title ejecutaremos el siguiente comando.\njoan@gk55:~$ cat sedexamples | sed -n \u0026#39;s:.*\u0026lt;title\u0026gt;\\(.*\\)\u0026lt;/title\u0026gt;.*:\\1:p\u0026#39; Geekland Blog de tecnología El comando que acabamos de ejecutar funcionará en todas las etiquetas que se abren y cierren en la misma línea. Si la etiqueta se abre y cierra en distintas líneas, como por ejemplo la etiqueta plot tendremos que ejecutar el siguiente comando:\njoan@gk55:~$ cat sedexamples | sed -n \u0026#39;/plot/{s/.*\u0026lt;plot\u0026gt;//;s/\u0026lt;\\/plot.*//;p;}\u0026#39; Es un blog que habla de software Libre Y también de informática Nota: Este último ejemplo funciona independientemente de si las etiquetas se abren y cierran en la misma línea.\nImprimir las líneas que cumplen con una determinada expresión regular mediante la (opción -n y p) Sed permite imprimir las líneas que cumplan con un determinado patrón y mostrarlas en pantalla o ubicarlas en un fichero de texto.\nPara ello deberemos usar la siguiente sintaxis:\nsed -n \u0026#39;/texto_a_imprimir/p\u0026#39; Nota: La opción -n conjuntamente con la opción p hace que solo se muestren en pantalla las cadenas de texto que queremos visualizar.\nA modo de ejemplo el comando cat /etc/shells nos da la siguiente salida:\njoan@gk55:~$ cat /etc/shells # /etc/shells: valid login shells /bin/sh /bin/bash /usr/bin/bash /bin/rbash /usr/bin/rbash /bin/dash\nSi únicamente queremos mostrar las líneas de la salida del comando que contengan la palabra usr usaremos el siguiente comando:\njoan@gk55:~$ cat /etc/shells | sed -n '/usr/p' /usr/bin/bashd /usr/bin/rbash /usr/bin/dash\nSi quisiéramos mostrar todas las líneas que no contienen la cadena usr deberíamos usar el siguiente comando:\njoan@gk55:~$ cat /etc/shells | sed -n '/usr/!p' # /etc/shells: valid login shells /bin/sh /bin/bash /bin/rbash /bin/dash\nMostrar en pantalla únicamente las líneas en que se ha reemplazado texto Imaginemos el hipotético caso en que tenemos el siguiente texto:\njoan@gk55:~$ echo -e \u0026quot;Quiero reemplazar\\nLa palabra vieja por nueva\\nY la palabra nueva por vieja\u0026quot; Quiero reemplazar La palabra vieja por nueva Y la palabra nueva por vieja\nSi queremos reemplazar la palabra vieja por nueva en todo el documento ejecutaremos el siguiente comando:\njoan@gk55:~$ echo -e \u0026quot;Quiero reemplazar\\nLa palabra vieja por nueva\\nY la palabra nueva por vieja\u0026quot; | sed 's/vieja/nueva/g' Quiero reemplazar La palabra nueva por nueva Y la palabra nueva por nueva\nVemos que hemos reemplazado correctamente el texto y se muestra la totalidad del texto inicial con las palabras modificadas. Si ahora queremos realizar la misma operación que acabamos de realizar mostrando únicamente las líneas en que se ha realizado la sustitución usaremos la opciones -n y p del siguiente modo:\njoan@gk55:~$ echo -e \u0026quot;Quiero reemplazar\\nLa palabra vieja por nueva\\nY la palabra nueva por vieja\u0026quot; | sed -n 's/vieja/nueva/p' La palabra nueva por nueva Y la palabra nueva por nueva\nMostrar las líneas según el número de caracteres que tengan Ahora partimos del caso que el fichero seedgeekland tiene el siguiente contenido:\nLa primera línea tiene 37 caracteres La segunda 14\nPara imprimir las líneas que tienen 30 caracteres o más ejecutaremos el siguiente comando:\njoan@gk55:~$ sed -n '/^.\\{30\\}/p' sedgeekland La primera línea tiene 37 caracteres\nSi por lo contrario queremos imprimir las líneas que tienen un número de caracteres igual o menor a 30 lo haremos del siguiente modo:\njoan@gk55:~$ sed -n '/^.\\{30\\}/!p' sedgeekland La segunda 14\nBORRAR O ELIMINAR TEXTO CON SED Si pretendéis eliminar líneas de texto con Sed podéis hacerlo de la forma que se muestra a continuación.\nBorrar tan solo una línea de un fichero con sed A modo de ejemplo tenemos un fichero de texto con el nombre sedgeekland con el siguiente contenido:\nEsta línea es la 1 Esta es la 2 La 3 La 4 La 5 La 6 La 7\nSi queremos borrar la línea 7 y obtener el resultado en un nuevo fichero de texto con el nombre sedgeeklandnew ejecutaremos el siguiente comando:\nsed \u0026#39;7 d\u0026#39; sedgeekland \u0026gt; sedgeeklandnew una vez ejecutado el comando el contenido del fichero sedgeeklandnew será el siguiente:\njoan@gk55:~$ cat sedgeeklandnew Esta línea es la 1 Esta es la 2 La 3 La 4 La 5 La 6\nBorrar un rango de líneas en un texto Si lo que pretendemos es borrar un rango de líneas, como por ejemplo de la línea 4 a la línea 6, tan solo hay que ejecutar el siguiente comando:\nsed \u0026#39;4,6 d\u0026#39; sedgeekland \u0026gt; sedgeeklandnew De este modo el contenido del fichero sedgeeklandnew quedará con el siguiente contenido:\njoan@gk55:~$ cat sedgeeklandnew Esta línea es la 1 Esta es la 2 La 3 La 7\nSi quisiéramos borrar todas las líneas del fichero sedgeekland excepto las líneas 4, 5 y 6 tendríamos que usar el siguiente comando:\nsed \u0026#39;4,6 !d\u0026#39; sedgeekland \u0026gt; sedgeeklandnew Borrar desde una determinada línea hasta el final con sed Si nuestro objetivo es borrar a partir de una determinada línea, que en nuestro caso es la 3, hasta el final del documento tendremos que usar el siguiente comando:\nsed \u0026#39;3,$d\u0026#39; sedgeekland \u0026gt; sedgeeklandnew Por lo tanto si partimos del fichero sedgeekland, en el fichero sedgeeklandnew quedará del siguiente modo:\njoan@gk55:~$ cat sedgeeklandnew Esta línea es la 1 Esta es la 2\nBorrar la última línea de un documento Si nuestro fichero sedgeekland tiene el siguiente contenido:\nEsta línea es la 1 Esta es la 2 La 3 La 4 La 5 La 6 La 7\ny únicamente queremos borrar la última línea ejecutaremos el siguiente comando:\njoan@gk55:~$ sed '$d' sedgeekland \u0026gt; sedgeeklandnew joan@gk55:~$ cat sedgeeklandnew Esta línea es la 1 Esta es la 2 La 3 La 4 La 5 La 6\nBorrar todas las líneas que contengan una determinada cadena de caracteres Si tenemos un fichero con el nombre sedexamplesnew con el siguiente contenido:\nPara que Libreoffice tenga un modo 100% oscuro tendremos que modificar su esquema de colores. Básicamente tendremos que cambiar el color del texto y del área de escritura. Para ello procederemos del siguiente modo.\nPara que Libreoffice tenga un modo totalmente oscuro y consistente tenemos que realizar lo siguiente:\nUsar un tema de escritOriO OscurO.\ny queremos borrar todas las líneas que contengan la cadena de texto Libreoffice ejecutaremos el siguiente comando:\nsed -i \u0026#39;/Libreoffice/d\u0026#39; sedexamplesnew Nota: El comando ejecutado similar a los anteriores. La única diferencia es que en vez de indicar las palabras a sustituir escribimos d de delete/borrar.\nY el resultado obtenido será el siguiente:\njoan@gk55:~$ cat sedexamplesnew Usar un tema de escritOriO OscurO.\nPara borrar todas las líneas que no tengan la palabra Libreoffice deberíamos ejecutar el siguiente comando:\nsed -i \u0026#39;/Libreoffice/!d\u0026#39; sedexamplesnew Borrar todos los espacios vacios al final de una línea Si lo que pretendemos es borrar todos los espacios vacíos al final de la línea deberemos usar un comando del siguiente tipo:\nsed -i \u0026#39;s/ *$//\u0026#39; nombre_fichero Donde:\n*$: Es una expresión regular que hace referencia a buscar todos los espacios que hay al final de una línea.\nNota: Si se fijan el segundo delimitador está vació porque el objetivo es reemplazar todos los espacios en blanco del final de la línea por nada. De este modo borramos los espacios en blanco.\nPor lo tanto, para borrar todos los espacios en blanco al final de del fichero de texto sedexamplesnew ejecutaré el siguiente comando:\nsed -i \u0026#39;s/ *$//\u0026#39; sedexamplesnew Borrar la totalidad de tabulaciones existentes al final de una línea Borraremos las tabulaciones del final de cada una de las líneas de forma similar a como lo hicimos con los espacios en el apartado anterior. Por lo tanto para eliminar las tabulaciones de final de línea del fichero sedexamplesnew usaremos el siguiente comando:\nsed -i \u0026#39;s/[[:space:]]*$//\u0026#39; sedexamplesnew Nota: [[:space]] hace referencia a una tabulación.\nBorrar los espacios vacíos al inicio de cada uno de las líneas Para quitar la totalidad de espacios en blanco existentes al inicio de una línea lo haremos de forma similar a lo que lo hicimos en los 2 apartados anteriores. Pero esta vez reemplazaremos la expresión regular *$ por ^ *.\nPor lo tanto si tenemos el siguiente texto en el fichero sedexamples:\nBorrando espacios en blanco Al inicio de la línea. Ejecutaremos el siguiente comando y obtendremos el siguiente resultado:\njoan@gk55:~$ sed -i 's/^ *//' sedexamples\njoan@gk55:~$ cat sedexamples Borrando espacios en blanco Al inicio de la línea. Nota: La expresión regular ^ * indicar todos los espacios que se encuentran en el inició de la línea. Por lo tanto el comando aplicado reemplaza los espacios en blanco del inicio de la línea por nada.\nBorrar las líneas vacías de un documento mediante Sed Sed también permite borrar las líneas vacías de un documento. Para ello tan solo tendremos que buscar una expresión regular que defina que una línea está vacía. En nuestro caso la expresión regular es ^$\nNota: ^ hace referencia al inicio de la línea. $ Hace referencia al final de la línea. Si entre el inicio de la línea y el final de la línea no hay nada entonces significa que es una línea vacia.\nUna vez conocemos la expresión regular supongamos que el fichero sedexamplesnew tiene el siguiente contenido:\nHACER QUE LIBREOFFICE TENGA UN MODO OSCURO AL 100%\nUsar un tema de escritOriO OscurO. Usar un tema de icOnOs adecuadO para el mOdO OscurO. MOdificar el cOlOr del área de escritura y cambiar el cOlOr del textO. Si queremos eliminar todas las líneas en blanco tan solo tendremos que usar el siguiente comando:\nsed -i \u0026#39;/^$/d\u0026#39; sedexamplesnew Y el resultado obtenido será el siguiente:\nHACER QUE LIBREOFFICE TENGA UN MODO OSCURO AL 100% Usar un tema de escritOriO OscurO. Usar un tema de icOnOs adecuadO para el mOdO OscurO. MOdificar el cOlOr del área de escritura y cambiar el cOlOr del textO.\nFuentes https://www.gnu.org/software/manual/.html\n","permalink":"https://geeklandlinux.github.io/posts/uso-del-comando-sed-en-linux-y-unix-con-ejemplos/","summary":"\u003cp\u003eSed es una herramienta de terminal cuyo uso principal es \u003cstrong\u003ebuscar y reemplazar un texto\u003c/strong\u003e. En otras palabras más precisas permite buscar cadenas de texto, palabras o patrones de palabras y reemplazarlos por el texto que queramos. Aparte de lo que acabo de mencionar también permite insertar y eliminar texto de un documento. A continuación y en base a una serie de ejemplos aprenderemos como podemos usar esta potente herramienta.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNota:\u003c/strong\u003e Sed es una herramienta imprescindible para todos aquellos usuarios que quieran programar scripts en Bash.\u003c/p\u003e","title":"Uso del comando SED en Linux y UNIX con ejemplos"},{"content":"Si tenéis contenido multimedia, como vídeo o audio, almacenado en en una nube pública o privada mediante Rclone lo podéis reproducir en streaming de forma práctica y cómoda mediante Rclone Browser. Para ello tan solo tenéis que acceder a la configuración de Rclone Browser y modificar los siguientes parámetros.\nREPRODUCIR VÍDEO Y AUDIO EN STREAMING CON RCLONE BROWSER EN LINUX Obviamente el primer requisito es tener instalado Rclone, Rclone Browser y un reproductor de vídeo. En mi caso recomiendo instalar y usar VLC o MPV. Una vez instalados alguno de estos 2 reproductores tienen que acceder dentro de la configuración de Rclone Browser.\nDentro de la configuración de Rclone Browser tendréis que modificar el contenido del campo Stream command. Dentro del campo Stream command deberéis introducir los siguientes parámetros:\nReproductor que queremos usar Stream command a introducir VLC vlc - MPV mpv - En mi caso uso el reproductor VLC. Por lo tanto la configuración de Rclone Browser queda del siguiente modo:\nUna vez tengamos la configuración correcta navegamos dentro del fichero que queramos reproducir. Lo seleccionamos, presionamos el botón derecho del ratón y cuando aparezca el menú contextual clicamos sobre la opción Stream. Acto seguido empezará la reproducción del vídeo o audio que hayan seleccionado.\nREPRODUCIR VÍDEO Y AUDIO EN STREAMING CON RCLONE BROWSER EN WINDOWS El procedimiento para Windows es muy similar al de Linux. Al igual que Linux tienen que tener instalar Rclone, Rclone Browser y un reproductor de vídeo como MPV o VLC. Una vez cumplidos los requisitos previos abren Rclone Browser y acceden a su configuración.\nEn la configuración tendréis que modificar el contenido del campo Stream command. Dentro del campo Stream command deberéis introducir la ruta del fichero ejecutable del reproductor de vídeo que queremos usar:\nReproductor que queremos usar Stream command a introducir VLC \u0026quot;C:\\Program Files\\VideoLAN\\VLC\\vlc.exe\u0026quot; - MPV \u0026quot;C:\\Program Files\\mpv\\mpv.exe\u0026quot; - Nota: Las comillas y guiones son indispensables para que el funcionamiento sea correcto.\nNota: No detallo el procedimiento para MPV. El motivo es que MPV no está soportado de forma oficial en Windows. No obstante funciona.\nEn mi caso uso el reproductor VLC. Por lo tanto la configuración de Rclone Browser queda del siguiente modo:\nUna vez realizada la configuración el proceso es fácil. Tan solo tienen que navegar hacia el contenido que quieran reproducir. Una vez encontrado lo seleccionan, presionan el botón derecho del ratón y cuando aparezca el menú contextual clican sobre la opción Stream.\nOPCIONES PARA REPRODUCIR VÍDEO EN ANDROID Si lo desean también es posible reproducir el contenido almacenado mediante Rclone en Android. Para ello necesitan la aplicación RCX. La aplicación se puede instalar accediendo al siguiente enlace.\nUna vez instalada y configurada tendrán que instalar un reproductor de vídeo como VLC en su dispositivo Android. Finalmente tan solo tendrán que navegar dentro de su nube publica o privada. Una vez vean el contenido a reproducir clican sobre los 3 puntos que pueden ver en la captura de pantalla.\nCuando aparezca el submenu clican sobre la opción Open as\nA continuación seleccionan el tipo de contenido que queremos reproducir. En mi caso es vídeo. Por lo tanto clico sobre la opción Video.\nFinalmente tan solo tenemos que seleccionar el reproductor de vídeo con el que queremos reproducir el contenido. En mi caso uso VLC.\nUna vez realizados todos los pasos empezará la reproducción del vídeo.\n","permalink":"https://geeklandlinux.github.io/posts/reproducir-video-en-streaming-con-rclone-browser-vlc-o-mpv/","summary":"\u003cp\u003eSi tenéis contenido multimedia, como vídeo o audio, almacenado en en una nube pública o privada mediante Rclone lo podéis reproducir en streaming de forma práctica y cómoda mediante Rclone Browser. Para ello tan solo tenéis que acceder a la configuración de Rclone Browser y modificar los siguientes parámetros.\u003c/p\u003e","title":"Reproducir vídeo en streaming con Rclone Browser, VLC o MPV"},{"content":"En los últimos tiempos es común usar temas de escritorio oscuros. En mi caso me resulta mucho más cómodo escribir en letra blanca sobre un fondo oscuro. Pero el problema es que ciertas aplicaciones, como por ejemplo LibreOffice, no se amoldan completamente al modo oscuro del escritorio. A continuación pueden ver que LibreOffice tiene un tema oscuro, pero el área de escritura es 100% blanca y el texto es negro.\nPara que LibreOffice tenga un modo 100% oscuro tendremos que modificar su esquema de colores. Básicamente tendremos que cambiar el color del texto y del área de escritura. Para ello procederemos del siguiente modo.\nHACER QUE LIBREOFFICE TENGA UN MODO OSCURO AL 100% Para que LibreOffice tenga un modo totalmente oscuro y consistente tenemos que realizar lo siguiente:\nUsar un tema de escritorio oscuro. Usar un tema de iconos adecuado para el modo oscuro. Modificar el color del área de escritura y cambiar el color del texto. Para realizar los pasos que acabo de citar tenemos que realizar lo siguiente.\nHacer que el sistema operativo use un tema oscuro Para que las ventanas de LibreOffice y de la totalidad de aplicaciones del sistema operativo sean oscuras hay que cambiar el tema del sistema operativo. Hay multitud de temas oscuros en los escritorios Linux, pero en mi caso uso arc. El procedimiento para instalar el tema arc variará en función del escritorio que usen. En mi caso uso el escritorio i3 y el procedimiento que seguí en su día en Debian Testing fue el siguiente.\nAbrimos una terminal e instalamos los paquetes arc-theme y lxappearance mediante el siguiente comando:\nsudo apt install lxappearance arc-theme Nota: El paquete arc-theme contiene el tema arc y el paquete lxappearance es un entorno gráfico que nos permite cambiar el tema de nuestro escritorio. En el caso que los paquetes mencionados no se encuentren en su distribución deberán buscar un método alternativo para instalarlos.\nUna vez instalados los paquetes abrimos una terminal y ejecutamos el siguiente comando:\nlxappearance A continuación seleccionamos el tema Arc-Dark o Arc-Darker y presionamos el botón Aplicar.\nCon estos pasos tan simples ya tendremos un tema oscuro en el entorno de escritorio i3.\nCambiar el tema de iconos de LibreOffice En el caso que los iconos se visualicen correctamente no hay que realizar absolutamente nada. Pero en el caso que los iconos no se integren con el tema oscuro tendrán que cambiarlos. Para cambiarlos deberán seguir el siguiente procedimiento:\nhttps://geeklandlinux.github.io/posts/cambiar-el-tema-iconos-en-libreoffice/\nNota: En mi caso uso los iconos Breeze (Dark). Tal y como pueden ver en las capturas de pantalla anteriores el tema Breeze (Dark) se visualiza perfecto cuando usamos temas oscuros.\nModificar el color del área de escritura y cambiar el color del texto para que LibreOffice tengo un modo oscuro perfecto El primer paso a realizar es clicar sobre el menú Herramientas y cuando se despliegue el submenú clicamos en Opciones\u0026hellip;.\nCuando aparezca la ventana de opciones clicamos en Colores de la aplicación para que aparezcan las opciones para modificar el esquema de colores de LibreOffice.\nA continuación cambiaremos los colores que nos interesen. En mi caso serán los colores del Fondo del documento y Color de la letra. Una vez hayamos puesto los colores que nos interesen tan solo deberemos presionar en el botón Aplicar.\nUna vez aplicado el nuevo esquema de colores verán que el aspecto visual es consiste y no tendré molestias visuales de ningún tipo. Ahora el fondo de escritura tiene un color oscuro y la letra es blanca.\nA partir de estos momentos cualquier aplicación de la Suite ofimática LibreOffice tendrá un modo oscuro perfecto y consistente.\nFuentes https://itsfoss.com/libreoffice-dark-mode/\n","permalink":"https://geeklandlinux.github.io/posts/hacer-que-libreoffice-tenga-un-modo-oscuro-en-su-totalidad/","summary":"\u003cp\u003eEn los últimos tiempos es común usar temas de escritorio oscuros. En mi caso me resulta mucho más cómodo escribir en letra blanca sobre un fondo oscuro. Pero el problema es que ciertas aplicaciones, como por ejemplo LibreOffice, no se amoldan completamente al modo oscuro del escritorio. A continuación pueden ver que LibreOffice tiene un tema oscuro, pero el área de escritura es 100% blanca y el texto es negro.\u003c/p\u003e","title":"Hacer que LibreOffice tenga un modo oscuro en su totalidad"},{"content":"En su día vimos una instalación y una configuración básica del editor de texto VIM. A continuación veremos una chuleta de atajos de teclado y comandos que vale la pena recordar para empezar a sacar partido a este editor de textos.\nIntercambiar entre los distintos modos de trabajo de VIM Como imagino sabrá la gran mayoría, VIM tiene varios modos de trabajo. Algunos de ellos son los siguientes:\nModo normal: Es el modo en que se encuentra VIM cuando lo abrimos. Será útil para navegar dentro del documento e introducir comandos. Modo inserción: Es el que usaremos para editar texto. Modo Visual (Visual, Línea visual y Bloque Visual): Generalmente se utiliza para seleccionar texto. Modo comando: Permite realizar acciones. En el transcurso de este artículo verán comandos que son de gran utilidad. Modo reemplazar: Permite reemplazar valores de una palabra o frase. Para intercambiar entre cada uno de los modos que acabo de citar hay que usar los siguientes atajos de teclado:\nAtajos de teclado Función i Para acceder al modo inserción. En el transcurso del artículo verán otros modos de acceder al modo inserción. v Para simplemente acceder al modo visual. V Acceder al modo Línea visual. Ctrl+v Entrar en modo Bloque visual. : Para acceder al modo comando. Estando en el modo normal tecleamos : seguido del comando que queremos ejecutar. Los comandos realizan acciones. El modo comando guarda un registro, por lo tanto si usamos el atajo de teclado :\u0026lt;cursor ↧ ↥\u0026gt; podremos ir viendo los comandos que se han ejecutado previamente. Shift+r Permite acceder al modo reemplazar. ESC Para salir de los modos inserción, visual y comando y acceder al modo normal. Guardar documentos en VIM Para guardar los cambios en un fichero de VIM podemos usar los siguientes comandos:\nAtajos de teclado y comandos Función :w Guarda los cambios realizados al documento actual. :w nombre_fichero Guarda el documento actual en un nuevo fichero. Es equivalente a guardar como. :wq o :x o shift + z + z Comando que guarda los cambios y cierra el fichero que estamos editando. Salir de VIM Las diferentes opciones que tenemos para salir y cerrar el editor de código VIM son las mostradas a continuación:\nAtajos de teclado o comandos Función :q o shift + Z + Q Salir del documento. :q! Salir del documento sin guardar cambios. Si hay cambios que no se han guardado no se ejecutará el comando y recibiremos un advertencia. :wqa! Guardar los cambios y salir en todos los ficheros/buffers que tenemos abiertos. :qa! Si tienes abiertos varios ficheros de forma simultanea y quieres salir de Vim sin guardar los cambios de ninguno, puedes ejecutar: :qa! Abrir documentos en VIM y moverse entre los distintos ficheros abiertos en los buffers VIM permite tener varios documentos/buffers abiertos de forma simultanea. Una vez abiertos podemos usar una serie de comandos para navegar entre los distintos ficheros abiertos. Para ello deberemos usar las siguientes instrucciones.\nNota: Un buffer es el contenido de un fichero de texto cargado en memoria listo para ser editado. En el momento que se guarden los cambios realizados en el buffer se escribirá el fichero que contiene el código editado.\nAtajos de teclado y comandos Función :e + nombre fichero por abrir Abrir una fichero adicional dentro de VIM. El fichero abierto se mostrará en pantalla justo al abrirlo . Podemos tener abiertos varios documentos al mismo tiempo. :badd + nombre_del_fichero/buffer Añadir un buffer sin que sea mostrado en pantalla. :ls Lista y numera todos los buffers/ficheros que tenemos abiertos. :bn Ir al siguiente fichero/buffer que tenemos abierto. (Buffer_next). :bp Ir al fichero/buffer anterior que tenemos abierto. (Buffer_previous) :bl Para ver en pantalla el último buffer abierto. :bf Mostrar en pantalla el primer buffer abierto. :b_número_buffer Si anteriormente hemos listado los buffer vemos que tienen asociado un número. Para cambiar de buffer podemos ejecutar el comando :b seguido del número de buffer. Por ejemplo :b2 :bd Cerrar únicamente el fichero/buffer actual que estamos editando. :bd2 El comando :bd2 cierra el buffer 2. :bd deuda.py El comando :bd deuda.py cierra el buffer deuda.py. :ba Mostrar todos los buffer en pantalla. Trabajar con pestañas en VIM VIM permite trabajar con pestañas similares a las que usaríamos en un navegador web. En cada una de las pestañas podemos tener abierto un fichero/buffer para poder editar código o texto. Los atajos de teclado y comandos que podemos usar para trabajar con las pestañas son:\nAtajos de teclado o comandos Función :tabnew nombre_fichero Abrir un fichero en una pestaña nueva. :tabedit nombre_fichero El fichero que queramos se abre en una pestaña nueva. :tabfind nombre_fichero Abre el fichero que queramos en una pestaña nueva. A medida que escribamos el nombre, si presionamos TAB se autocompletará el nombre del fichero. Solo autocompletará con nombres de ficheros que estén dentro de la ruta especificada en el path de VIM. :tab ball Todos los buffers abiertos se ponen en pestañas. :tab split Copiar el contenido de la ventana actual en una pestaña. :tabs Listar todas las pestaña abiertas. gt o :tabn o Ctrl-Avpág Ir a la pestaña siguiente. gT o :tabp o Ctrl-RePág Ir a la pestaña anterior. num_pestana+gt Para irnos a la pestaña número 3 presionamos el número 3 seguido de la teclas gt. :tabfirst Ir a la primera pestaña. :tablast Ir a la última pestaña. :tabm 3 Mueve la pestaña actual a la posición 3. :tabm 0 Mover la pestaña actual a la primera posición. :tabm Mover la pestaña actual a la última posición. :tabclose! o :q! Cierra la pestaña actual aunque no esté guardada. :tabclose o :q Cierra la pestaña actual. :tabonly Cerrar todas las pestañas excepto la pestaña actual. vim -p archivo1.sh archivo2.sh Abrir los ficheros archivo1.sh y archivo2.sh cada uno en una pestaña diferente. Para más información de como trabajar con pestañas pueden consultar el siguiente enlace.\nTrabajar con ventanas y varios ficheros de forma simultanea en VIM VIM también permite subdividir/multiplexar el editor de textos en diversas partes. De este modo en una sola pantalla podremos visualizar y editar de forma sencilla y práctica varios ficheros. Para conseguir lo que acabo de citar deberán usar los siguientes atajos de teclado y comandos.\nAtajos de teclado o comandos Función Ctrl+wv Dividir la ventana verticalmente. Ctrl+ws Dividir la ventana horizontalmente. Ctrl+w+(h/j/k/l) Moverse entre la distintas ventanas abiertas en pantalla ctrl+ww Cambiar de una ventana a otra. Ctrl+w Hacer que todas las ventanas tengan la misma dimensión. Ctrl+wq Cerrar la ventana sobre la que tenemos posicionado el cursor. Ctrl+wx Intercambiar de posición las ventanas. Ctrl+wr Rotar ventana a la derecha. Ctrl+wR Rotar ventana a la izquierda. :split Dividir la pantalla horizontalmente. :split nombre_fichero Abre un fichero y se parte la pantalla en 2 horizontalmente. :vsplit Abre un fichero y se parte la pantalla en 2 verticalmente. :resize 40 Cambiar la altura de la ventana abierta a 40 columnas. :vertical resize 80 Cambiar el ancho de la ventana en 80 columnas. :vertical resize -5 Disminuir el ancho de la ventana en 5 columnas. :vertical resize +5 Incrementar el ancho de la ventana en 5 columnas. Ctrl+w \u0026gt; y Ctrl+w \u0026lt; Aumentar o disminuir el tamaño de la ventana horizontalmente. Ctrl+w + y Ctrl+w - Aumentar o disminuir el tamaño de la ventana verticalmente. Ctrl+w = Reiniciar el ancho y el alto de las ventanas. vim -o archivo1 archivo2 archivo3 Abrir los ficheros archivo1, archivo2 y archivo3 cada uno en una ventana distinta. Editar texto y posicionar el puntero del cursor donde queramos de forma rápida Mediante los siguientes atajos de teclado podrán mover el cursor en la posición que necesiten y editar texto de forma extremadamente rápida. Las combinaciones de teclas a usar son las siguientes:\nAtajos de teclado Función j o cursor abajo Para mover el cursor hacia abajo. k o cursor arriba Para mover el cursor hacia arriba. h o cursor izquierdo Para mover el cursor hacia la izquierda. l o cursor derecho Para mover el cursor hacia la derecha. w Mover el cursor al inicio de la siguiente palabra. W Mover el cursor al inicio de la siguiente palabra. El punto de puntuación no es considerado como palabra. b Mover el cursor al inicio a la palabra anterior. B Mover el cursor al inicio a la palabra anterior. El punto de puntuación no es considerado como palabra. e Desplazar el cursor al final de la palabra en que estamos o al final de la palabra siguiente. E Desplazar el cursor al final de la palabra en que estamos o al final de la palabra siguiente. El punto de puntuación no es considerado como palabra. 0 Posicionar el cursor al inicio de la línea actual. $ o Fin Posicionar el cursor al final de la línea actual. _ Mueve el cursor al primer carácter que no sea un espacio en la línea actual. Este atajo es útil cuando programamos. + Mueve el cursor al primer carácter que no sea un espacio de la línea siguiente. Este atajo es útil cuando programamos. - Mueve el cursor al primer carácter que no sea un espacio de la línea anterior. Este atajo es útil cuando programamos. shift + a Posicionar el cursor al final de la línea actual y cambiar al modo insertar. shift + 5 Mover el cursor del inicio de un paréntesis al final de un paréntesis y viceversa. gg Para dirigirse a la primera línea del fichero. G Mover el cursor a la última línea del documento. 5 + Enter Nos dirige 5 líneas más abajo respecto la línea actual. 10gg Posicionar el cursor a la línea 10 del documento. 16 + Mayús + g Nos dirige a la línea 16 del fichero de texto. } Hacer saltar el cursor al párrafo siguiente. { Hacer saltar el cursor al párrafo anterior. gi Posicionar el cursor en la última palabra editada del buffer actual. H Mover el cursor a la parte superior de la pantalla. M Mover el cursor a la parte media de la pantalla. L Mover el cursor a la parte inferior de la pantalla Ctrl+e Mover una pantalla hacia abajo sin mover el cursor de posición. Ctrl+y Mover una pantalla hacia arriba sin mover el cursor de posición. Ctrl+f Avanzar una pantalla. Ctrl+b Retroceder una pantalla. Ctrl+d Hacer avanzar el cursor media pantalla. Ctrl+u Hacer retroceder el cursor media pantalla. Ctrl+➡ Para que el cursor avance una palabra hacia la derecha en modo insertar. Ctrl+⬅ Para que el cursor avance una palabra hacia la izquierda en modo insertar. i Insertar texto justo antes de donde tenemos posicionado el cursor. I Insertar texto al principio de una línea. a Insertar texto justo después de donde tenemos posicionado el cursor. A Insertar texto al final de una línea. o Crear un línea en blanco justo por debajo de la línea actual y pasar al modo inserción. O Crear un línea en blanco justo por encima de la línea actual y pasar al modo inserción. ea Insertar texto después de una palabra. Ctrl + p Autocompletar la palabra que tenemos escrita a medias con otra palabra anterior al cursor. Ctrl + w + cursores Cambiar entre las distintas ventanas que podemos tener abiertas en VIM. Ctrl+g Mostrar el número de líneas de un fichero. Insertar texto repetitivo o secuencial en Vim Si quieren insertar el mismo texto un número determinado de veces deberán operar de la forma que se detalla en la siguiente tabla.\nAtajos de teclado y comandos Función 40i-+ESC+ENTER Insertar 40 guiones. 10ihola mundo + ESC +ENTER Escribir 10 veces hola mundo. i + geekland + ESC + 20. Escribe geekland 20 veces. :put=range(1,10) Escribir los números del 1 al 10. for i in range(0,50,1) | put='192.168.1.'.i | endfor Escribe del 192.168.1.0 al 192.168.1.50 Atajos de teclado y comandos para copiar y pegar texto en VIM Si lo que pretendéis es copiar, cortar y pegar texto dentro de VIM deberéis conocer y usar los siguientes atajos de teclado y comandos.\nNota: La totalidad de atajos de teclado y comandos que verán a continuación se tienen que usar en modo normal.\nAtajos de teclado o fórmulas Función yy Para copiar una línea entera. 2yy Copiar 2 líneas a partir de donde tenemos el cursor. y$ Copiar desde donde tenemos posicionado el cursor hasta el final de la línea. yw Copiar la palabra a partir desde donde tenemos posicionado el cursor hasta el final de la palabra. yiw Copiar la palabra actual. :10,20y Copiar de la línea 10 a la línea 20. 120y Copiar la línea 120. dd Para cortar una línea entera. 2dd Cortar 2 líneas a partir de donde tenemos el cursor. d$ o D Cortar desde donde tenemos posicionado el cursor hasta el final de la línea. dw Cortar la palabra desde donde tenemos posicionado el cursor hasta el final de la palabra. diw Cortar la palabra actual. x Cortar una carácter. p Pegar una línea en la línea después de donde tenemos el cursor. :129put Pegar una línea o conjunto de líneas que tenemos en el portapapeles a la línea 129 del documento. shift + p Pegar una línea en la línea antes de donde tenemos el cursor. También podemos copiar y pegar texto en el modo visual. Para ello deberán seguir las siguientes instrucciones.\nPosicionamos el cursor en el punto que queremos empezar a copiar. Presionamos la letra v para entrar en el modo visual. Mediante los cursores o las teclas j, k, h, y l seleccionamos el texto que queremos copiar, cortar o eliminar. Si queremos copiar el texto seleccionado pulsamos y. Para cortarlo pulsamos d. En caso de querer eliminarlo pulsamos x. Finalmente podremos pegar el código. Para ello entramos en modo normal y usamos la tecla p. Mover una línea de posición Para mover una línea de posición usando numeración absoluta o relativa usaremos la siguiente combinación de teclas.\nAtajos de teclado Función :.-1m.+1 Para mover la línea justo superior a la actual a la línea inferior justo al actual. :19m17 Mover la línea 19 a la línea 17. :.-4,.-2m.+8 Mover la línea de la -4 a la -2 desde la posición actual del cursor a la posición 8 respecto la posición actual del cursor. Seleccionar texto en modo visual y acciones que podemos realizar en modo visual Acabamos de ver una explicación de como seleccionar texto en modo visual usando los cursores o usando j, k, h, y l. Pero aparte de los cursores tenemos otras opciones para seleccionar texto. Algunas de ellas son las siguientes:\nNota: Para entrar en el modo visual tenemos que presionar v.\nAtajos de teclado Función v Acceder al modo visual. (Modo visual) V Iniciar el modo visual seleccionando toda una línea. Solo permite seleccionar lineas enteras. (Modo línea visual) Ctrl + v Inicia en modo Bloque visual. iw Seleccionar la palabra sobre la que tenemos el cursor. aw Seleccionar la palabra sobre la que tenemos el cursor incluyendo el espacio. ab Seleccionar un bloque de texto que tenemos delimitado por paréntesis (). La selección incluye los paréntesis. it Seleccionar un bloque de texto que tenemos delimitado por paréntesis (). La selección no incluye los paréntesis. aB Seleccionar un bloque de texto que tenemos delimitado por corchetes {}. La selección incluye los corchetes. iB Seleccionar un bloque de texto que tenemos delimitado por corchetes {}. La selección no incluye los corchetes. at Seleccionar un bloque de texto delimitado etiquetas \u0026lt;\u0026gt; y \u0026lt;/\u0026gt; incluyendo la etiquetas. it Seleccionar un bloque de texto que tenemos delimitado etiquetas \u0026lt;\u0026gt; y \u0026lt;/\u0026gt; sin incluir las etiquetas. o Moverse a la parte inicial de un bloque delimitado por (), {}, \u0026lt;\u0026gt;..\u0026lt;/\u0026gt; O Moverse a la parte final de un bloque delimitado por (), {}, \u0026lt;\u0026gt;..\u0026lt;/\u0026gt; j Selecciona una frase entera y se va la siguiente línea. is Selecciona frase hasta el primer punto. ip Seleccionar una párrafo completo. b Selecciona desde el cursor al inicio de la palabra. e Selecciona des del cursor al final de la palabra. $ Seleccionar des del cursor al final de la línea. ^ Seleccionar des del cursor al primer carácter imprimible de la línea. awd$p Seleccionar una palabra y moverla al final de un párrafo. u Para transformar todo el texto seleccionado en minúsculas. U Para transformar todo el texto seleccionado en mayúsculas \u0026gt; Mover la línea en que tenemos el cursor a la derecha. (Aplica sangría al texto.) \u0026lt; Mover la línea en que tenemos el cursor a la izquierda. (Aplica sangría al texto.) Esc Salir del modo visual. Para más información consultar el siguiente enlace.\nCrear marcas en un fichero de VIM Una marca de VIM permite guardar la posición actual del cursor. Una vez guardada la posición actual del cursor podremos volver a ella cuando lo necesitemos. Para crear y trabajar con las marcas usaremos los siguientes atajos de teclado y comandos:\nAtajos de teclado Función - Explicación m + [a - z] Si en modo normal presionamos ma crearemos una marca local que denominaremos a. Podemos usar marcas de la a la z o de la A a la Z. `[a-z] Si una vez creada la marca a queremos volver a posicionar el cursor sobre la marca a, en modo normal presionaremos las teclas `a. Entonces el cursor se posicionará sobre la marca a. ' ' Para volver al inicio de la línea en que hemos introducido la marca. 'a Nos traslada al inicio de la línea en que añadimos la marca a. ` Para ir a la marca anterior. Si estamos en la marca b nos trasladaremos a la marca a. :delmarks a Eliminar la marca a. :delmarks! Eliminar todas las marcas locales o minúsculas de un fichero. :delmarks a-d Eliminar todas las marcas de la a hasta la d. :delmarks aBc Para eliminar las marcas a, B y c. Nota: Si asignamos una marca con letras minúsculas será una marca local. Por lo tanto solo estará disponible hasta que cerremos el fichero que estamos editando. Si queremos que la marca sea permanente tendremos que asignar la marca con letras mayúsculas. Si usamos las letras mayúsculas estaremos creando marcas globales.\nAplicar sangrías de texto a un texto en VIM de forma manual Si cuando escribimos o programamos queremos añadir sangrías de texto de forma manual deberemos usar los siguientes atajos de teclado.\nAtajos de teclado Función del atajo de teclado \u0026gt;\u0026gt; Para sangrar un texto. (El texto se mueve a la derecha) 3 \u0026gt;\u0026gt; Realizar un sangrado en 3 líneas a partir de donde tenemos ubicado el cursor. \u0026lt;\u0026lt; Para deshacer la sangría. (El texto se mueve a la izquierda) ]p Pegar y ajustar a la sangría actual. v + j + \u0026gt; Seleccionar una frase en modo visual y realizar una sangría a la derecha. Ctrl+t Para aplicar un sangrado cuando estamos en el modo insertar. (Mueve texto a la derecha) Ctrl+d Para aplicar un sangrado cuando estamos en el modo insertar. (Mueve texto a la izquierda) Deshacer y rehacer cambios en VIM VIM permite deshacer y rehacer cambios del buffer/fichero que estamos editando. Para ello deberemos usar los siguientes comandos o atajos de teclado:\nAtajos de teclado o comandos Función u Para deshacer el último/s cambio/s realizado/s. 2u Para deshacer los 2 últimos cambios realizados. U Restaura la última línea modificada. Una vez restaurada no podemos rehacer el cambio. ctrl + r o :redo Para rehacer el último cambio realizado. 3 + ctrl + r Para rehacer los 3 últimos cambios que hemos desecho. :earlier 1h Deshacer todos los cambios realizados en la última hora. :later 30m Rehacer los cambios realizados en la última media hora. Nota: En el momento que cerremos el fichero que estamos editando no podremos deshacer ni rehacer ningún cambio.\nAtajos de teclado y comandos para eliminar caracteres y líneas en VIM Para eliminar texto, líneas, párrafos y código en VIM deberemos usar los siguientes atajos de teclado.\nAtajo de teclado o comandos Función x Para eliminar un carácter en modo normal. 3x Elimina 3 caracteres a partir de donde tenemos posicionado el cursor. X Borrar tan solo un carácter a la izquierda del cursor. r Reemplazar una carácter. s Eliminar un carácter y cambiar a modo insertar. dw Borrar la palabra desde donde tengamos el cursor hasta el final de la palabra. cw Borrar la palabra desde donde tengamos el cursor hasta el final de la palabra y cambiar a modo insertar. diw Borrar la palabra entera sobre la que se encuentra el cursor. ciw Borrar la palabra entera sobre la que se encuentra el cursor y cambiar a modo insertar. c$ Borrar todo el texto hasta el final de línea y pasar a modo insertar. cc o S Borrar todo el contenido de una línea y pasar al modo insertar. d6w Eliminar 6 palabras a partir de donde tengamos posicionado el cursor. d6b Eliminar 6 palabras anteriores a donde tenemos posicionado el cursor. c3w Eliminar 3 palabras a partir de donde tengamos posicionado el cursor y cambiar a modo insertar. dd Para borrar/cortar una línea entera. shift + d Borrar desde la posición del cursor hasta el final de la línea. d0 Borrar desde la posición del cursor hasta el inicio de la línea. cc Para borrar/cortar toda un línea entera y cambiar a modo insertar. shift + c Borrar desde la posición del cursor hasta el final de la línea y cambiar al modo insertar. c0 Borrar desde la posición del cursor hasta el inicio de la línea y cambiar al modo insertar. 2dd Borrar/cortar 2 líneas de golpe a partir de donde tenemos posicionado el cursor. 2cc Borrar/cortar 2 líneas de golpe a partir de donde tenemos posicionado el cursor y cambiar al modo insertar. Ctrl+h Estando en modo inserción elimina el carácter que está antes del cursor. Ctrl+w Estando en modo inserción elimina toda la palabra que hay justo detrás del cursor. Ctrl+u Estando en modo inserción elimina toda la línea que hay detrás del cursor. xp Transponer 2 letras. :%d Para borrar todas las líneas de un fichero. dgg Borrar desde la posición actual del cursor hasta al principio del fichero. dG Borrar desde la posición actual del cursor hasta al final del fichero. :[2],[4] Para eliminar las líneas de la 2 a la 4 podemos usar la formula :2,4d :1,.-1d Eliminar todas las líneas antes de la línea actual. :.+1,$d Eliminar todas las líneas después de la línea actual. :g/\u0026lt;patrón\u0026gt;/d Eliminar todas las filas que contengan un determinado patrón o palabra. Para eliminar todas las filas que contengan la palabra importante usaremos el comando :g/importante/d :g!/\u0026lt;patrón\u0026gt;/d Borrar todas las líneas que no contengan una determinada palabra o patrón. Por ejemplo :g!/importante/d :g/^A/d Eliminar todas las líneas que empiezan por la letra A. :g/^$/d Para eliminar todas las líneas vacías de un documento. :.-2,.+8d Eliminar líneas desde 2 líneas encima de mi posición hasta 8 líneas debajo de mi posición. Otra forma de eliminar texto es mediante marcas o mediante el modo visual.\nSi lo queréis realizar mediante marcas lo primero que hay que realizar es:\nIrse a la primera línea que queremos borrar e introducir una marca como por ejemplo ma. A continuación posicionamos el cursor en la última de las líneas que queremos borrar. Finalmente presionamos d'a y se borraran todas las líneas desde la posición actual del cursor hasta la línea que marcamos con la marca a. Para eliminar texto en modo visual pueden consultar el apartado \u0026ldquo;Atajos de teclado para copiar y pegar texto en VIM\u0026rdquo;\nBuscar una palabra o frase en VIM Es extremadamente fácil buscar una determinada palabra en VIM. Para ello tan solo tendremos que recordar y usar los siguientes atajos de teclado.\nAtajo de teclado Función /palabra_a_buscar Para buscar todas las palabras que contengan las palabras labra escribiré lo siguiente estando en el modo normal de VIM /labra /\\\u0026lt;palabra_a_buscar\\\u0026gt; Buscar una palabra completa y exacta. ?palabra_a_buscar Buscar todas las palabras que contengan un texto determinado y ubicar el cursor en la primera ocurrencia anterior a donde tenemos ubicado el cursor. n Una vez realizada la búsqueda la letra n servirá para ir a la segunda aparición de la búsqueda realizada. Shift+n Tiene la misma función que n, pero en este caso va para atrás. ggn Para ir a la primera aparición de la palabra buscada. Gn Para ir a la última aparición de la palabra buscada. * Sobre la palabra que queramos buscar presionamos *. La búsqueda es hacia adelante. # Sobre la palabra que queramos buscar presionamos #. La búsqueda es hacia atrás. 3/palabra_a_buscar Buscará todas las palabras que contengan la palabra a buscar y el cursor quedará ubicado en la tercera ocurrencia. Para obtener más información sobre buscar en VIM pueden consultar el siguiente enlace.\nBuscar y reemplazar palabras y caracteres en VIM VIM dispone de la función buscar y reemplazar y texto. Para buscar y reemplazar palabras deberán usar los siguientes atajos de teclado o fórmulas.\nAtajo de teclado o fórmula Función r Permite reemplazar un carácter cuando estamos en modo normal. R Se activa el modo reemplazar para cambiar los caracteres que queramos. No se saldrá del modo reemplazar hasta que presionemos la tecla ESC ró Reemplaza la letra que señala el cursor por una ó 10ró Reemplaza las 10 letras a partir de la posición actual del cursor por ó :s/geekland/Geekland Reemplaza todas las palabras que contienen geekland por Geekland solo en la línea actual. :s/geekland/Geekland/g Remplaza todas las palabras que contienen geekland por Geekland únicamente en la línea que tenemos el cursor sin pedir confirmación. :%s/geekland/Geekland/g Remplaza todas las palabras que contienen geekland por Geekland en todo un documento sin pedir confirmación. :%s/geekland/Geekland/gc Para reemplazar todas las ocurrencias geekland de un fichero a Geekland pidiendo confirmación. :%s!Geekland!ubuntu/scripts!gi Remplaza todas las palabras que contienen Geekland por ubuntu/scripts usando el delimitador !. Al usar la opción i no se distingue entre mayúsculas y minúsculas. Para distinguir entre mayúsculas y minúsculas tendríamos que usar I. :%s/\\\u0026lt;geek\\\u0026gt;/Linux/gc Reemplaza la palabra exacta geek por Linux en todo el documento pidiendo confirmación. :5,12s/foo/bar/g Cambiar foo por bar entre las líneas 5 y 12. (Ambas incluidas) :'a,'bs/foo/bar/g Cambiar foo por bar entre la marcas a y b :22s/Linux/Geekland/I Reemplazar todas las palabras que contengan Linux por Geekland en la línea 22. Se tendrán en cuenta las mayúsculas y las minúsculas. :.s/Geekland/Linux/I Reemplazar todas las palabras que contengan Geekland por Linux únicamente en la línea actual. Se tendrán en cuenta las mayúsculas y las minúsculas. g+u+u Transforma una frase entera a minúsculas. g+U+U Transforma una frase entera a mayúsculas. Para más información pueden consultar el siguiente enlace.\nNota: Se pueden usar expresiones regulares para reemplazar texto.\nEspecificando rangos en VIM Especificar un rango es seleccionar una serie/conjunto de líneas de forma manual para aplicar acciones sobre ellas. En el apartado anterior vimos algunos ejemplos de como definir rangos. La sintaxis a usar para especificar rangos es la siguiente:\nEjemplos de rangos Significado % El símbolo % es para indicar que la acción a realizar aplica a todo el documento. Por ejemplo el comando :d% borra todas las líneas de un documento. $ El símbolo s es para indicar que la acción a realizar aplica solo a la última línea. Por ejemplo el comando :d$ borra únicamente la última línea del documento. . Representa la línea actual en que esta posicionado el cursor. 'a,'b Bloque de líneas entre las marcas a y b. Para reemplazar las palabras Linux por Geekland en el texto comprendido entre las marcas a y b usaremos el comando :'a,'bs/Linux/Geekland/g :17,20d Borramos las líneas 17, 18, 19 y 20. :.-2,.+8y Para indicar rangos con numeración relativa. Con el ejemplo indicado copiamos el contenido desde 2 líneas encima de mi posición actual hasta 8 líneas debajo de mi posición. Juntar 2 Lineas en VIM En el caso que necesiten juntar 2 líneas tan solo tendrán que presionar Shift + j en modo normal. De este modo conseguiremos unir 2 líneas que están separadas.\nAtajo de teclado o fórmula Función Shift + j Para juntar 2 líneas. gJ Une la línea que tenemos debajo del cursor con la actual sin dejar espacio entre ellas. :join Fórmula a usar en el caso que se quieran juntar 2 líneas. Realizar pliegues manuales en VIM Para realizar pliegues y de este modo leer de forma más confortable un texto o un código hay que usar los siguientes atajos de teclado.\nAtajos de teclados Función zf \u0026lt;movimiento arriba o abajo\u0026gt; Definir un pliegue. zf4j Plegar las 4 líneas que tenemos debajo del cursor. zf2} Plegar los 2 párrafos justo por debajo del cursor. zf2{ Plegar los 2 párrafos justo por encima del cursor. zo Abrir el pliegue sobre el que está posicionado el cursor. zR Abre todos los pliegues del documento. zd Eliminar el pliegue que tenemos encima del cursor. zE Eliminar todos los pliegues del documento. zc Cerrar el pliegue que tenemos encima del cursor. zM Cierra todos los pliegues existentes en el documento. za Abrir y/o cerrar el pliegue que tenemos encima del cursor. zj Desplaza el cursor al siguiente pliegue. zk Desplaza el cursor al pliegue anterior. Nota: Para realizar pliegues de forma manual hay que añadir set foldmethod=manual en el fichero de configuración ~/.vimrc.\nRegistros de VIM (portapapeles en VIM) Los registros de VIM se pueden definir como un conjunto de 48 portapapeles en los que podemos almacenar información y pegar contenido al documento. Para trabajar y gestionar los 48 portapapeles que acabamos de mencionar usaremos los siguientes atajos de teclado.\nAtajos de teclado y comandos Función :registers o :reg Mostrar el contenido que almacena cada uno de los 48 registros o portapapeles. \u0026quot;1yy Copiar una línea al registro numérico 1. \u0026quot;1p Pegar el contenido del registro numérico 1. \u0026quot;ayy Copiar una línea al registro nominal a. Al utilizar a en minúscula borras completamente el contenido del portapapeles a. \u0026quot;Ayy Añade una línea al registro nominal a. Al usar la A en mayúscula no se borra el contenido previamente guardado en a. Se añade . \u0026quot;ap Pegar el contenido del registro nominal a. :registers a o :reg a Mostrar el contenido guardado en el registro a. :reg 4 c Mostrar el contenido que tiene almacenado el registro numérico 4 y el registro nominal c. \u0026quot;+yy Copia la línea actual al portapapeles del sistema operativo. \u0026quot;+p Pegar el contenido que tenemos almacenado en el portapapeles del sistema operativo al documento que editamos. \u0026quot;*p Pegar un texto que tengamos seleccionado en nuestro navegador o en cualquier otro software de nuestro sistema operativo. No hace falta que el texto esté copiado en el portapapeles del sistema. Ctrl+r+a Pega el contenido del registro a estando en modo inserción de texto. Ctrl+r \u0026quot; Pega el contenido del registro por defecto del portapapeles de VIM \u0026quot;\u0026quot; en modo inserción. Ctrl+r + Pegar el contenido almacenado en el portapapeles del sistema operativo en modo inserción. Ctrl+r * Pegar el contenido que tenemos seleccionado en cualquier aplicación de nuestro sistema operativo en el modo inserción de texto. No hace falta que el texto esté copiado en el portapapeles del sistema. Nota: Existen 26 registros nominales. Estos van de la a a la z.\nNota: Existen 10 registros numéricos. Estos van de la 0 a la 9.\nRegistros de lectura y registros especiales Acabamos de ver 36 registros de VIM. El resto de registros hasta llegar a los 48 serán registros de lectura y registros especiales. Algunos de los registros de lectura existentes son los siguientes:\nRegistro Contenido almacenado por el registro \u0026quot;: Almacena el último comando ejecutado. \u0026quot;% Contiene la ruta que usamos para abrir el fichero de VIM que estamos editando. \u0026quot;. Contiene el último texto insertado. Algunos de los registros especiales que tiene disponibles VIM son los siguientes:\nRegistro Contenido almacenado por el registro \u0026quot;_ Corresponde al registro agujero negro. Para evitar que una palabra borrada quede almacenada al registro por defecto de VIM podemos usar el atajo de teclas \u0026quot;_diw\u0026quot;. De esta forma la palabra borrada solo quedará almacenada en el registro \u0026quot;_ y el registro \u0026quot;\u0026quot; quedará vacío. \u0026quot;: Almacena el último comando ejecutado. \u0026quot;- Contiene todo el contenido que hemos borrado o modificado y que no tenga una longitud superior a una línea. \u0026quot;\\ Almacena el contenido de la última búsqueda. \u0026quot;= Registro que permite realizar operaciones matemáticas con VIM. Para realizar la suma 2 + 2 en modo normal presionaremos las teclas \u0026quot;=2+2. A posteriori presionaremos p para pegar el resultado. Nota: La totalidad de registros de VIM se almacenan en el fichero ~/.viminfo. Por lo tanto los registros son permanentes. Es decir, en el momento de cerrar VIM no se borran los registros.\nUsar la terminal de Linux en VIM Si necesitamos usar la terminal mientras estamos usando VIM podemos aplicar las soluciones que veremos a continuación.\nAtajos de teclado o comandos Función :term Se subdivide la pantalla en 2. En una de ellas tendremos VIM y en la otra la terminal. Para pasar de una ventana a otra podemos usar el atajo Ctrl+w :!ls Ejecuta el comando ls estando dentro de VIM. En vez de ls podríamos usar otros comandos como por ejemplo sudo apt update :r !\u0026lt;comando\u0026gt; Pone la salida del comando ejecutado dentro del fichero de VIM que estamos editando. Encadenar comandos en VIM En el transcurso del artículo hemos visto una gran cantidad de comandos para realizar acciones. Usando la tubería | podemos ejecutar de forma simultanea más de un comando y de esto modo evitar introducir comando por comando. A continuación les dejo un par de ejemplos en que encadenamos la ejecución de comandos.\nComandos Función :w | q Guarda los cambios del documentos y lo cierra. :17,20y | 122put Copiar las líneas de la 17 a la 20 y las pega en la línea 122. Otras fuentes https://vim.rtorr.com/lang/es_es https://vim.fandom.com/wiki/Vim_buffer_FAQ https://www.atareao.es/tutorial/vim/buscar-y-reemplazar-en-vim/\n","permalink":"https://geeklandlinux.github.io/posts/atajos-de-teclado-y-comandos-para-usar-vim-eficientemente/","summary":"\u003cp\u003eEn su día vimos una \u003ca href=\"/posts/instalar-y-configurar-vim/\"\u003einstalación y una configuración básica\u003c/a\u003e del editor de texto VIM. A continuación veremos una chuleta de atajos de teclado y comandos que vale la pena recordar para empezar a sacar partido a este editor de textos.\u003c/p\u003e","title":"Atajos de teclado y comandos para usar VIM eficientemente"},{"content":"A continuación veremos como podemos recortar un vídeo en varias partes sin necesidad de realizar ningún tipo de transcodificación y preservando todas las pistas y calidad del vídeo original. Para ello tan solo usaremos una terminal y el software ffmpeg. Haciéndolo de esta forma obtendremos las siguientes ventajas:\nEl recorte del vídeo será extremadamente rápido porque no hay ningún tipo de transcodificación. Los recortes preservarán la calidad original. El vídeo recortado tendrá exactamente las mismas pistas de vídeo, audio y subtítulos que el original. El consumo de recursos será mínimo. Cabe recordar que las tareas de transcodificación de audio y vídeo son exigentes para la CPU de nuestro ordenador. La forma de realizar lo que acabo de plantear es la siguiente.\nRECORTAR UN VÍDEO EN VARIAS PARTES SIN TRANSCODIFICAR CON FFMPEG Y LINUX Imaginemos que tenemos un vídeo con el nombre geekland.mkv que tiene una duración de 2 horas y queremos crear un nuevo archivo de vídeo que solo contenga la última hora del vídeo. Para ello abriremos una terminal y ejecutaremos el siguiente comando:\nffmpeg -i \u0026#34;geekland.mkv\u0026#34; -map 0 -default_mode infer_no_subs -ss 01:00:00 -to 02:00:00 -c copy \u0026#34;geekland_cortado.mkv\u0026#34; El significado de todos y cada uno de los parámetros del comando es:\nffmpeg: Para llamar al software que nos ayudará a recortar el vídeo. -i \u0026quot;geekland.mkv\u0026quot; : Mediante la opción -i indicamos la ruta del fichero de vídeo que queremos procesar que en nuestro caso es geekland.mkv. -map 0: Para seleccionar todos los streams de vídeo, audio y subtítulos del vídeo geekland.mkv. Si el vídeo tiene 3 pistas de audio y 3 de subtítulos entonces el vídeo recortado tendrá 3 pistas de audio y 3 de subtítulos. -default_mode infer_no_subs: Configuramos que no hay ninguna pista de subtítulos activada de forma predeterminada en el vídeo recortado. -ss 01:00:00: Para indicar el punto donde quieres iniciar a recortar el vídeo. En nuestro caso empezaremos a recortar a partir de la primera hora. Existen diversos formatos para indicar el tiempo. En nuestro caso hemos usado el formato de horas:minutos:segundos 01:00:00. Podríamos haber usado otros formatos de entrada como por ejemplo indicar una hora en milisegundos -ss 3600000ms. -to 02:00:00: Para indicar el punto donde quieres finalizar el recorte del vídeo. En nuestro caso finalizamos el recorte a la hora 2. -c copy: Para que se copien todas las pistas de audio, vídeo y subtítulos sin transcodificar absolutamente nada. \u0026quot;geekland_cortado.mkv\u0026quot;: Definimos el nombre que tendrá el archivo recortado. Después de ejecutar el comando se habrá generado un nuevo fichero de vídeo con el nombre geekland_recortado.mkv. Este fichero contendrá la última hora de vídeo del fichero geekland.mkv. Por lo tanto con un simple comando hemos conseguido nuestro objetivo.\nSCRIPT PARA AUTOMATIZAR EL PROCESO DE RECORTAR PARTES DE UN VÍDEO Si tenemos que recortar diversas partes de un mismo vídeo les recomiendo que usen el script que encontrarán a continuación. Con él podrán:\nCortar tantas partes como quieran de un mismo vídeo indicando la hora, minuto y segundo en que quieren iniciar y finalizar el recorte. Tal y como comentamos en el primer apartado no se realizará ningún tipo de transcodificación y no se perderá calidad de audio y de vídeo. El proceso será muy rápido. Para asegurar que podrán ejecutar el script sin ningún tipo de problema aseguren que tienen instalados los paquetes ffmpeg y bc en su equipo ejecutando el siguiente comando en la terminal:\nsudo apt install ffmpeg bc A continuación, para crear el script ejecutan el siguiente comando en la terminal:\nsudo nano cutvideo.sh Una vez se abra el editor de textos nano pegan el siguiente código:\n#!/bin/bash #Para que funcione el script hay que tener los paquetes ffmpeg y bc #Para ejecutar el script hay que ejecutar el comando cutvideo.sh seguido de la ruta completa del fichero de vídeo #Para determinar la duración del vídeo duracion=$(ffprobe -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 \u0026#34;$1\u0026#34; 2\u0026gt;/dev/null) #Variable que almacena la extensión del fichero de vídeo extension=$(echo \u0026#34;$1\u0026#34; | sed \u0026#39;s/.*\\.//\u0026#39;) #Para traspasar la duración del vídeo original a horas minutos y segundos horas=$(bc \u0026lt;\u0026lt;\u0026lt; \u0026#34;scale=0; $duracion / 3600\u0026#34;) minutos=$(bc \u0026lt;\u0026lt;\u0026lt; \u0026#34;scale=0; $duracion % 3600 / 60\u0026#34;) segundos=$(bc \u0026lt;\u0026lt;\u0026lt; \u0026#34;scale=0; $duracion % 60\u0026#34; | awk \u0026#39;gsub(/\\./,\u0026#34;,\u0026#34;)||1\u0026#39; | awk \u0026#39;{print int($0)}\u0026#39;) #Para imprimir la duración del vídeo en horas minutos y segundos echo -e \u0026#34;\\nLa duración del video es:\u0026#34; printf \u0026#39;%02dh:%02dm:%02ds\\n\u0026#39; $horas $minutos $segundos #Variable para con valor s para hacer que se pueda repetir la ejecución del script. Cuando toma valor no no se repite repetirscript=\u0026#34;s\u0026#34; while true; do case $repetirscript in s) while true; do echo -e \u0026#34;\\nIntroduzca la hora minuto y segundo quieres empezar a recortar con el formato 00:14:15?\u0026#34; while true; do read inicio case $inicio in [0-9][0-9]:[0-5][0-9]:[0-5][0-9]) IFS=\u0026#39;: \u0026#39; read -r -a array \u0026lt;\u0026lt;\u0026lt; \u0026#34;$inicio\u0026#34; horaseg=`echo \u0026#34;var=${array[0]};var*3600\u0026#34; | bc` minseg=`echo \u0026#34;var=${array[1]};var*60\u0026#34; | bc` seg=`echo \u0026#34;var=${array[2]};var*1\u0026#34; | bc` duracioninicorte=`echo \u0026#34;$horaseg+$minseg+$seg\u0026#34; | bc` if (( $(echo \u0026#34;$duracioninicorte \u0026lt; $duracion\u0026#34; | bc) )) then echo \u0026#34;Empezará a cortarse el vídeo a partir del tiempo $inicio\u0026#34; break else echo -e \u0026#34;El tiempo introducido es incorrecto. Por favor introduzca un valor inferior a la duración del vídeo original. Introduzca de nuevo el tiempo.\u0026#34; fi ;; *) echo \u0026#34;El tiempo introducido es incorrecto. Por favor introduzca un valor con el siguiente formato 01:40:30\u0026#34; ;; esac done break done while true; do echo -e \u0026#34;\\nHora minuto y segundo en que quieres finalizar el recorte del vídeo?\u0026#34; while true; do read final case $final in [0-9][0-9]:[0-5][0-9]:[0-5][0-9]) IFS=\u0026#39;: \u0026#39; read -r -a array \u0026lt;\u0026lt;\u0026lt; \u0026#34;$final\u0026#34; horaseg=`echo \u0026#34;var=${array[0]};var*3600\u0026#34; | bc` minseg=`echo \u0026#34;var=${array[1]};var*60\u0026#34; | bc` seg=`echo \u0026#34;var=${array[2]};var*1\u0026#34; | bc` duracionfincorte=`echo \u0026#34;$horaseg+$minseg+$seg\u0026#34; | bc` if (( $(echo \u0026#34;$duracionfincorte \u0026lt;= $duracion \u0026amp;\u0026amp; $duracionfincorte \u0026gt; $duracioninicorte\u0026#34; | bc) )) then echo \u0026#34;Recortarás el vídeo hasta $final\u0026#34; break else echo -e \u0026#34;El tiempo introducido es incorrecto. Tiene que estar entre donde inicias el corte y la duración del vídeo. Introduzca de nuevo el tiempo.\u0026#34; fi ;; *) echo \u0026#34;El tiempo introducido es incorrecto. Por favor introduzca un valor con el siguiente formato 02:40:30\u0026#34; ;; esac done break done echo -e \u0026#34;\\nIntroduzca el nombre que quieres que tenga el fichero cortado (sin su extensión)?\u0026#34; read nombre ffmpeg -i \u0026#34;$1\u0026#34; -map 0 -default_mode infer_no_subs -loglevel warning -ss $inicio -to $final -c copy \u0026#34;$nombre\u0026#34;.$extension echo -e \u0026#34;\\nVídeo cortado. ¿Quieres cortar otro fragmento del mismo vídeo?\u0026#34; read repetirscript ;; n) echo -e \u0026#34;\\nLa tarea ha finalizado\u0026#34; break ;; *) echo -e \u0026#34;\\nPor favor introduzca la letra s (Sí) o n (No)\u0026#34; read repetirscript ;; esac done Una vez pegado el código guardan los cambios y cierran el fichero. Ahora haremos ejecutable el script mediante el siguiente comando:\nchmod + cutvideo.sh\nRealizar un script para facilitar la tarea A estas alturas ya podemos cortar un vídeo con el script que acabamos de crear. Para ejecutarlo tan solo tentemos que teclear ./ seguido del nombre del fichero que almacena el script y finalmente la ruta del fichero de vídeo que queremos recortar. Una vez ejecutado el comando tendremos que introducir los siguientes parámetros para definir el corte que queremos realizar.\njoan@gk55:~$ ./cutvideo.sh /media/DATOS/geekland.mkv La duración del video es: 00h:48m:03s Introduzca la hora minuto y segundo quieres empezar a recortar con el formato 00:14:15? 00:14:10 Empezará a cortarse el vídeo a partir del tiempo 00:14:10 Hora minuto y segundo en que quieres finalizar el recorte del vídeo? 00:15:32 Recortarás el vídeo hasta 00:15:32 Introduzca el nombre que quieres que tenga el fichero cortado (sin su extensión)? cut Vídeo cortado. ¿Quieres cortar otro fragmento del mismo vídeo? n La tarea ha finalizado\nDe esta forma podrán extraer fragmentos de un determinado vídeo de forma rápida y cómoda.\n","permalink":"https://geeklandlinux.github.io/posts/recortar-un-video-en-partes-con-ffmpeg-y-sin-transcodificar-en-linux/","summary":"\u003cp\u003eA continuación veremos como podemos recortar un vídeo en varias partes sin necesidad de realizar ningún tipo de transcodificación y preservando todas las pistas y calidad del vídeo original. Para ello tan solo usaremos una terminal y el software ffmpeg. Haciéndolo de esta forma obtendremos las siguientes ventajas:\u003c/p\u003e","title":"Recortar un vídeo en partes con ffmpeg y sin transcodificar en Linux"},{"content":"Anteriormente vimos como instalar WSL y WSL 2 en Windows. A continuación veremos como podemos acceder a ficheros y directorios que tenemos dentro de WSL desde Windows. Para conseguir lo que acabo de citar les recomiendo seguir los siguientes métodos.\nNota: La totalidad de ficheros de WSL están ubicados en \\wsl$\\\u0026lt;nombre_distro\u0026gt; Nota: Los archivos de WSL se montarán como si fueran una unidad de red. Por lo tanto al acceder a los ficheros tendremos las mismas limitaciones que tenemos en una unidad de red.\nACCEDER A LOS FICHEROS DE WSL DES DEL EXPLORADOR DE ARCHIVOS DE WINDOWS Lo primero que tenemos que realizar es acceder a la terminal de WSL. Una vez la tengan abierta tendrán que ejecutar el siguiente comando:\nexplorer.exe . Acto seguido se abrirá el explorador de archivos de Windows y podrán ver y operar con los ficheros que tenemos dentro de WSL.\nMétodo alternativo Otra solución alternativa seria introducir la siguiente ruta en el explorador de archivos de Windows 10:\n\\\\wsl$ Al acceder dentro de esta ruta podrán ver la totalidad de archivos que tienen en los sistemas operativos que tengan en WSL.\nACCEDER A LOS FICHEROS DE WSL DESDE POWERSHELL Inicialmente tenemos que abrir el subsistema de Windows para Linux (WSL).\nUna vez esté abierto abrimos una Powershell con permisos de administrador .\nA continuación tenemos que teclear el siguiente comando en la consola de Powershell para ver la totalidad de distribuciones Linux que tenemos instaladas y levantadas en el equipo.\nwsl --list --running En en mi caso solo tengo una distribución instalada y la salida del comando ejecutado ha sido la siguiente:\nDistribuciones del subsistema de Windows para Linux: Ubuntu-20.04 (predet.) La totalidad de ficheros de WSL se almacenan en la ubicación \\wsl$\\\u0026lt;nombre_de_nuestra_distribución\u0026gt;. Acabamos de ver que el nombre de nuestra distribución es Ubuntu-20.04. Por lo tanto para acceder a la ubicación donde están nuestros ficheros ejecutaremos el siguiente comando en la Powershell de Windows:\ncd \\\\wsl$\\Ubuntu-20.04 Acto seguido mediante el comando ls podremos listar y trabajar con todos los ficheros y directorios de WSL.\nNota: A día de hoy estos son los mejores métodos para poder acceder a los archivos de WSL desde Windows 10. Es altamente probable que a medida que avancen las versiones de Windows aparezcan mejores alternativas.\nSi quieren información más técnica sobre el mecanismo usado para acceder a los ficheros de WSL desde Windows pueden ver el siguiente vídeo.\nhttps://www.youtube.com/watch?v=63wVlI9B3Ac\nFuentes https://www.tenforums.com/tutorials/127857-access-wsl-linux-files-windows-10-a.html\n","permalink":"https://geeklandlinux.github.io/posts/acceder-a-los-ficheros-linux-de-wsl-desde-windows-10/","summary":"\u003cp\u003eAnteriormente vimos como \u003ca href=\"/posts/instalar-el-subsistema-de-windows-para-linux-wsl-en-windows-10/\"\u003einstalar WSL y WSL 2 en Windows\u003c/a\u003e. A continuación veremos como podemos acceder a ficheros y directorios que tenemos dentro de WSL desde Windows. Para conseguir lo que acabo de citar les recomiendo seguir los siguientes métodos.\u003c/p\u003e","title":"Acceder a los ficheros Linux de WSL desde Windows 10"},{"content":"En el caso que tengan que usar un sistema operativo Windows por imposición y echen de menos determinadas características de Linux tienen una solución sencilla. Esta solución es instalar el subsistema de Windows para Linux (WSL). Con la versión 2 de versión de WSL tendrán una consola de bash y toda la paqueteria de la distribución que elijan. Además si tienen una build de Windows superior a la 21362 y WSL 2 podrán usar aplicaciones gráficas de Linux en Windows con un buen rendimiento y disponiendo de audio.\nINSTALAR EL SUBSISTEMA DE WINDOWS PARA LINUX (WSL) El procedimiento de instalación del subsistema de Windows para Linux es sencillo y es el que verán a continuación.\nINSTALACIÓN SIMPLIFICADA La instalación de WSL es sumamente sencilla si forman parte del programa Windows Insider y tienen una build de Windows 20262 o posterior. Para ver la versión de Windows que tienen instalada tienen presionar la combinación de teclas Win+R, cuando aparezca la ventana Ejecutar escriben winver y presionan sobre el botón Aceptar.\nActo seguido aparecerá la información que detalla la build de Windows que tienen instalada. En mi caso tengo la 19042.928. Por lo tanto no puedo aplicar el método de instalación detallado en este apartado. Para proceder con la instalación deberé saltar al apartado (Instalación Manual)\nEn el caso que la build de mi Windows permitiera la instalación tan solo tendría que abrir una powershell de Windows con permisos de administrador.\nUna vez abierta la consola tendría que ejecutar el siguiente comando.\nwsl.exe --install A continuación se instalaría de forma automática el subsistema de Windows para Linux versión 2. La distribución Linux que se instalaría por defecto seria Ubuntu.\nINSTALACIÓN MANUAL En caso que no puedan instalar WSL de forma simplificada tendrán que hacerlo manualmente. Para ello lo primero que tenemos que realizar es abrir una powershell con permisos de administrador.\nActo seguido deberán seguir los siguientes pasos.\nPaso 1: Habilitar el subsistema de Windows para Linux Para habilitar el subsistema de Windows para Linux tan solo tenemos que ejecutar el siguiente comando en la powershell de Windows.\ndism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart El resultado de aplicar el comando que acabamos de detallar es el que muestro a continuación:\nPS C:\\WINDOWS\\system32\u0026gt; dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart Herramienta Administración y mantenimiento de imágenes de implementación Versi¢n: 10.0.19041.844 Versi¢n de imagen: 10.0.19042.928 Habilitando características [ 0.1% ] [ 1.1% ] [===== 10.2% ] [===========================74.8%=========== ] [==========================100.0%==========================] La operación se completó correctamente. En estos momentos ya hemos habilitado la versión 1 del subsistema de Windows para Linux. Por lo tanto si queremos ya podemos reiniciar el ordenador e instalar la distribución que queramos siguiendo las instrucciones del apartado (Paso 6: Instalar La distribución Linux que queramos). Pero os recomiendo encarecidamente en vez de la versión 1 uséis la versión 2. Para usar la versión 2 del subsistema Windows para Linux deberán seguir la siguientes instrucciones.\nPaso 2: Comprobar si cumplimos los requisitos para instalar la versión 2 del subsistema Windows para Linux (WSL2) Para instalar la versión 2 del subsistema de Windows para Linux en un equipo con arquitectura x64 tenemos que cumplir los siguiente requisitos:\nSu versión de Windows tiene que ser igual o superior a la 1903. Su compilación de Windows tiene que ser igual a superior a la 18362. Si estamos usando un equipo con arquitectura ARM64:\nSu versión de Windows tiene que ser igual o superior a la 2004. Su compilación de Windows tiene que ser igual a superior a la 19041. Para ver la arquitectura de nuestro equipo abriremos una powershell con permisos de administrador y ejecutaremos el siguiente comando:\nsysteminfo | find \u0026#34;Tipo de sistema\u0026#34; El resultado del comando en mi caso es el siguiente:\nC:\\WINDOWS\\system32\u0026gt; systeminfo | find \u0026#34;Tipo de sistema\u0026#34; Tipo de sistema: x64-based PC La salida contiene el valor x64-based PC. Por lo tanto en mi caso estoy usando un equipo con arquitectura x64. Para averiguar la versión de Windows y su número de compilación o build tenéis que presionar la combinación de teclas Win+R, cuando aparezca la ventana Ejecutar escriban winver y presionen sobre el botón Aceptar.\nActo seguido aparecerá la información que detalla la build de Windows que tienen instalada. En mi caso tengo la 19042.928. Por lo tanto puedo instalar la versión 2 de WSL.\nNota: En mi caso puedo instalar WSL2, pero no podré ejecutar aplicaciones gráficas de Linux en Windows. El motivo es que mi compilación de Windows es inferior a la 21362.\nPaso 3: Habilitar la característica Máquina Virtual Para que WSL 2 funcione tenemos que habilitar la característica de plataforma de máquina virtual. Para ello abriremos una Powershell con permisos de administrador y ejecutaremos el siguiente comando en la powershell de Windows:\ndism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart Una vez ejecutado el comando verán que se procede a la activación de la característica de plataforma de máquina virtual.\nPS C:\\WINDOWS\\system32\u0026gt; dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart Herramienta Administración y mantenimiento de imágenes de implementación Versión: 10.0.19041.844 Versión de imagen: 10.0.19042.928 Habilitando características [ 0.1% ] [==== 8.1% ] [===== 9.1% ] [===========================74.8%=========== ] [==========================100.0%==========================] La operación se completó correctamente. A estás alturas tan solo tenemos que reiniciar nuestro equipo para que se complete el proceso de instalación de la versión 2 de WSL.\nPaso 4: Descargar el paquete de actualización para el Kernel de Linux A continuación tenemos que actualizar el Kernel que usa WSL. Para descargar el archivo de actualización en equipos con arquitectura x64 tenéis que clicar en el siguiente enlace:\nhttps://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi\nEn el hipotético caso que usen un equipo con arquitectura ARM64 deberán clicar en el siguiente enlace para descargar el archivo de actualización del Kernel:\nhttps://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_arm64.msi\nUna vez descargado el archivo de actualización clicamos sobre él y procedemos a su instalación.\nPaso 5: Definir que la versión predeterminada de WSL sea la 2 Para definir que la versión predeterminada del Subsistema de Windows para Linux sea la 2 tenéis que ejecutar el siguiente comando en un Powershell con permisos de administrador.\nwsl --set-default-version 2 Si el comando se ejecuta correctamente verán la siguiente salida:\nPS C:\\WINDOWS\\system32\u0026gt; wsl --set-default-version 2 P a r a i n f o r m a c i ó n s o b r e l a s d i f e r e n c i a s c l a v e c o n W S L 2 , v i s i t a https://aka.ms/wsl2 Paso 6: Instalar la distribución Linux que queramos Finalmente ya podemos instalar la distribución que nosotros queramos. Tan solo tenéis que abrir la Windows Store, buscar la distribución que os guste más e instalarla presionando encima del botón obtener.\nNota: Algunas de las distribuciones que pueden instalar son Debian, Ubuntu, OpenSuse, Fedora, etc. En mi caso he instalado Debian.\nUna vez instalada la distribución tan solo debemos buscarla en nuestro menú de inicio de Windows y arrancarla. La primera vez que se arranque tendremos que definir un usuario y una contraseña\nUna vez hayamos introducido el usuario y la contraseña ya tendremos una distribución Linux dentro de nuestro ordenador.\nA partir de estos momentos podré crear y ejecutar scripts en bash, podré instalar Python, podré montarme mi propio entorno de desarrollo, etc.\nFuentes https://docs.microsoft.com/es-es/windows/wsl/install-win10\n","permalink":"https://geeklandlinux.github.io/posts/instalar-el-subsistema-de-windows-para-linux-wsl-en-windows-10/","summary":"\u003cp\u003eEn el caso que tengan que usar un sistema operativo Windows por imposición y echen de menos determinadas características de Linux tienen una solución sencilla. Esta solución es instalar el subsistema de Windows para Linux (WSL). Con la versión 2 de versión de WSL tendrán una consola de bash y toda la paqueteria de la distribución que elijan. Además si tienen una build de Windows superior a la 21362 y WSL 2 podrán usar aplicaciones gráficas de Linux en Windows con un buen rendimiento y disponiendo de audio.\u003c/p\u003e","title":"Instalar el Subsistema de Windows para Linux (WSL) en Windows 10"},{"content":"Es más que posible que al usar youtube-dl tengáis que usar una gran cantidad de parámetros para adaptar la descarga a vuestras necesidades. Por ejemplo, para definir un patrón para el nombre de los archivos descargados, obtener un fichero que contenga los metadatos del vídeo, descargar solamente el audio de un vídeo, etc. Para solucionar este pequeño inconveniente lo único que tenéis que realizar es configurar youtube-dl mediante su archivo de configuración.\n¿DÓNDE PODEMOS ENCONTRAR EL FICHERO PARA CONFIGURAR YOUTUBE-DL? En ninguno de mis equipos he podido encontrar un archivo de configuración para configurar Youtube-dl. Por lo tanto en mi caso lo he creado manualmente. Si quieren crear un archivo de configuración que sea usado para la totalidad de usuarios de un equipo deberán crear el fichero youtube-dl.conf ejecutando el siguiente comando en la terminal:\nsudo touch /etc/youtube-dl.conf Si quieren que únicamente sea útil para su usuario deberán ejecutar el siguiente comando:\ntouch ~/.config/youtube-dl/config Una vez ejecutado uno de los 2 comandos ya tendrán un archivo de configuración, pero estará vacío. Para realizar la configuración deberán proceder del siguiente modo.\nCOMO CONFIGURAR YOUTUBE-DL MEDIANTE SU ARCHIVO DE CONFIGURACIÓN Generar el archivo de configuración es sencillo. Lo único que tenemos que realizar es introducir las opciones que introduciríamos en el comando de youtube-dl dentro del fichero de configuración. Una vez introducidas las opciones, cuando ejecutemos youtube-dl sin ningún parámetro se aplicarán los que hayamos definido en el archivo de configuración.\nA modo de ejemplo crearemos un fichero de configuración. Como quiero que la configuración solo se aplique a mi usuario ejecutaré el siguiente comando en la terminal:\nsudo nano ~/.config/youtube-dl/config Una vez se abra el editor de textos nano pegaré el siguiente código que corresponderá a la configuración:\n# Para definir el nombre de los ficheros descargados -o \u0026#39;%(title)s.%(ext)s\u0026#39; # Elimina/Sustituye espacios y otros caracteres del nombre de los ficheros descargados que pueden generar problemas --restrict-filenames # Ante un error no se interrumpe el script. Por ejemplo si falla la descarga de un vídeo se pasa al siguiente --ignore-errors # Descarga la descripción del vídeo de youtube en un fichero con extensión .description --write-description # Descarga los metadatos del vídeo en un fichero con terminación info.json --write-info-json # Descarga la imagen destacada del vídeo --write-thumbnail Nota: Como hemos dicho anteriormente, el texto del archivo de configuración contiene los parámetros que usamos habitualmente para realizar descargas con youtube-dl.\nNota: Consulten el siguiente enlace para ver una lista completa de los parámetros que se pueden introducir en el fichero de configuración.\nUna vez pegados los parámetros guardan el fichero y buscan la URL de un vídeo que quieran descargar. Para descargarlo tan solo tienen que usar el comando youtube-dl seguido de la URL que contiene el vídeo a descargar.\njoan@gk55:~$ youtube -dl https://www.youtube.com/watch?v=iJTmFahX_AI Y como pueden ver el contenido descargado se corresponde con los parámetros que hemos definido en el fichero de configuración.\njoan@gk55:/media/DATOS$ ls El_terminal._Capitulo_7_-_Redirigir_entrada_y_salida_en_Bash.webp El_terminal._Capitulo_7_-_Redirigir_entrada_y_salida_en_Bash.description El_terminal._Capitulo_7_-_Redirigir_entrada_y_salida_en_Bash.info.json El_terminal._Capitulo_7_-_Redirigir_entrada_y_salida_en_Bash.mkv GENERAR VARIOS FICHEROS DE CONFIGURACIÓN PARA YOUTUBE-DL Y USAR EL QUE MÁS NOS CONVENGA Podemos generar tantos archivos de configuración como sean necesarios. En el apartado anterior creamos un perfil para descargar vídeo y ahora generaremos otro con el nombre audio.txt para descargar audio. Para ello ejecutaremos el siguiente comando para crear el fichero de configuración.\nsudo nano ~/.config/youtube-dl/audio.txt Cuando se abra el editor de textos nano pegaremos la siguiente configuración. Con esta configuración descargaremos la mejor calidad de audio disponible sin realizar ninguna tarea de transcodificación:\n# Para definir el nombre de los ficheros descargados -o \u0026#39;%(title)s.%(ext)s\u0026#39; # Para descargar solo el audio de un video -x # El formato del archivo resultante es el que youtube-dl considera mejor. Podríaamos forzar un formato de archivo reemplazando best por mp3, aac, vorbis, m4a, opus o .wav --audio-format best Una vez pegado el código guardamos los cambios y el proceso ha finalizado. Si quisiéramos obtener ficheros de audio con el formato .mp3 entonces el fichero de configuración debería ser el siguiente:\n# Para definir el nombre de los ficheros descargados -o \u0026#39;%(title)s.%(ext)s\u0026#39; # Para descargar solo el audio de un video -x # El formato del archivo resultante es el que youtube-dl considera mejor. Podriamos forzar un formato de archivo reemplazando best por mp3, aac, vorbis, m4a, opus o .wav --audio-format mp3 #Para incrustar los metadatados y la imagen destacada en el fichero de audio --add-metadata --embed-thumbnail Nota: Si el formato mp3 no está presente en la fuente de descarga se tendrá que transcodificar el audio de la fuente con la correspondiente pérdida de calidad. La calidad del archivo de audio transcodificado se puede seleccionar con el parámetro --audio-quality. La calidad por defecto es la 5 y la calidad más alta es la 0.\nUna vez definido el nuevo archivo de configuración descargaremos un audio cualquiera con la configuración deseada mediante un comando del siguiente tipo:\nyoutube-dl --config-location ruta_fichero_configuración URL_descarga Por lo tanto para descargar el audio de un vídeo de Youtube tendré que ejecutar el siguiente comando:\nyoutube-dl --config-location /home/joan/.config/youtube-dl/audio.txt https://www.youtube.com/watch?v=iJTmFahX_AI y el resultado obtenido será el siguiente:\n","permalink":"https://geeklandlinux.github.io/posts/configurar-youtube-dl-mediante-su-archivo-de-configuracion/","summary":"\u003cp\u003eEs más que posible que al usar \u003ca href=\"/posts/descargar-videos-internet-youtube-dl/\"\u003eyoutube-dl\u003c/a\u003e tengáis que usar una gran cantidad de parámetros para adaptar la descarga a vuestras necesidades. Por ejemplo, para definir un patrón para el nombre de los archivos descargados, obtener un fichero que contenga los metadatos del vídeo, descargar solamente el audio de un vídeo, etc. Para solucionar este pequeño inconveniente lo único que tenéis que realizar es configurar youtube-dl mediante su archivo de configuración.\u003c/p\u003e","title":"Configurar Youtube-dl mediante su archivo de configuración"},{"content":"Cuando usamos GNU Linux, Android o iOS y tenemos que gestionar, manipular y editar documentos PDF no existen muchas opciones y las que existen no son fáciles de usar para usuarios noveles. Por este motivo en el siguiente artículo les hablaré del servicio web FormatPDF que les permitirá gestionar documentos PDF de forma sencilla estén donde estén. Lo único que necesitarán es una conexión a Internet y un navegador web.\n¿OPERACIONES QUE PODEMOS REALIZAR CON FORMATPDF? Mediante una interfaz web simple e intuitiva FormatPDF permitirá realizar las operaciones que citamos a continuación.\nModificar, transformar y editar el contenido de ficheros PDF Tenemos disponibles las herramientas que cito a continuación para modificar/editar el contenido de un fichero PDF.\nDividir un PDF en partes o unir varios PDF formando un solo documento. Reordenar las páginas de un archivo PDF. Extraer e insertar páginas en un documento PDF. Cambiar la orientación de las páginas de un PDF. Editar un fichero PDF. Numerar las páginas de un archivo PDF. Poner y quitar marcas de agua de un fichero PDF. Comprimir un PDF para que ocupe menos espacio. Nota: Algunas de las opciones mencionadas aún no están operativas, no obstante es un servicio que acaba de nacer. Imagino que la totalidad de las funciones estarán disponibles en breve.\nTransformar prácticamente cualquier tipo de fichero a PDF y viceversa FormatPDF permitirá realizar las siguientes transformaciones de formato de archivo:\nPDF a Word y viceversa. PDF a Excel y viceversa. De PDF a Powerpoint y viceversa. De PDF a ODT y viceversa. PDF a Epub y viceversa. PDF a JPG y viceversa. PDF a TIFF y viceversa. PDF a DJVU y viceversa. Nota: Algunas de las opciones mencionadas aún no están operativas, no obstante es un servicio que acaba de nacer. Imagino que la totalidad de las funciones estarán disponibles en breve.\nIncrementar la seguridad de un documento PDF En lo que a seguridad se refiere también proporciona tres características interesantes. FormatPDF permitirá:\nProteger y desproteger un archivo PDF mediante una contraseña. Firmar digitalmente/electrónicamente un documento PDF. Intentar reparar un documento PDF en el caso que esté dañado. De este modo podemos autenticar un documento y hacer que solo ciertas personas puedan leerlo.\n¿POR QUÉ RECOMIENDO GESTIONAR Y EDITAR DOCUMENTOS PDF CON FORMATPDF? A pesar de ser una herramienta web gestionada por un tercero la considero una opción interesante por lo siguientes motivos:\nEs una solución Web completa para gestionar, manipular y editar documentos PDF. Además está en Español y no contiene publicidad. Su uso es fácil e intuitivo. Tan solo hay que entrar en la web e ir siguiendo las instrucciones que veréis en pantalla. Se puede usar desde cualquier ordenador y desde cualquier dispositivo móvil. Da igual el sistema operativo que estamos usando ya que tan solo necesitamos un navegador web para trabajar con nuestros documentos PDF. El servicio no requiere de ningún tipo de registro a día de hoy. Todo el mundo lo puede usar sin tener que dar ningún dato personal. FormatPDF únicamente pedirá la información mínima necesaria para que el servicio pueda funcionar. Tiene una política de privacidad y unos términos y condiciones claros. El servicio ha sido creado en España y por lo tanto le aplican la totalidad de leyes españolas. Esto garantiza que el usuario tendrá derechos, entidades a donde puede ir a reclamar y además tendrá un mínimo de privacidad gracias a la ley orgánica de protección de datos. A día de hoy el servicio es gratuito y lo puede usar todo el mundo. No obstante leyendo las condiciones de servicio vemos que ha nacido para ser un servicio de pago o Freemium. Esto en cierto modo es positivo porque da a entender que el modelo de negocio de FormatPDF no es traficar con los datos de sus usuarios. EJEMPLO BÁSICO DE COMO PODEMOS PROTEGER UN ARCHIVO PDF CON CONTRASEÑA Su uso es extremadamente sencillo. Para proteger un documento entramos en su página web y clicamos encima de la opción Proteger PDF.\nA continuación arrastramos el documento que queremos proteger con contraseña dentro del navegador web.\nSeguidamente definimos la contraseña con la que queremos proteger el documento PDF y presionamos sobre el botón Establecer contraseña.\nUna vez establecida la contraseña tan solo tendremos que descargar el documento. El documento descargado será el mismo que arrastramos, pero estará protegido mediante una contraseña.\nPor lo tanto si abren el documento que acaban de proteger verán que para que se abra hay que introducir una contraseña. Una vez introducida de forma correcta podrán leer el contenido del fichero PDF.\nOPINIÓN ACERCA DEL SERVICIO WEB DE FORMATPDF Aún hay bastantes funcionalidades pendientes de implementar. No obstante las que hay funcionan y su uso es extremadamente fácil. Para diferenciarse de la competencia y ofrecer más servicios podrían añadir más opciones como por ejemplo:\nTransformar ficheros de Markdown a PDF y viceversa. Transformar ficheros de HTML a PDF y viceversa. Convertir ficheros de LaTeX a PDF y viceversa. Ofrecer otro tipo de transformaciones que no impliquen operar con ficheros PDF. Por ejemplo podrían ofrecer transformar ficheros de formato Markdown a HTML. Asimismo también podrían generar aplicaciones de escritorio y para dispositivos móviles.\n","permalink":"https://geeklandlinux.github.io/posts/editar-pdf-desde-tu-navegador-web-online/","summary":"\u003cp\u003eCuando usamos GNU Linux, Android o iOS y tenemos que gestionar, manipular y editar documentos PDF no existen muchas opciones y las que existen no son fáciles de usar para usuarios noveles. Por este motivo en el siguiente artículo les hablaré del servicio web \u003ca href=\"https://www.formatpdf.com/\"\u003eFormatPDF\u003c/a\u003e que les permitirá gestionar documentos PDF de forma sencilla estén donde estén. Lo único que necesitarán es una conexión a Internet y un navegador web.\u003c/p\u003e","title":"Así puedes editar PDF desde tu navegador web online"},{"content":"La semana pasada vimos como activar y consultar los logs del proxy inverso Traefik usando Docker. No obstante el log generado por Traefik irá creciendo hasta que con el paso del tiempo acabe teniendo un tamaño desproporcionado y llene todo el disco. Para evitar este problema lo único que tenemos que hacer es configurar la rotación de logs en Traefik mediante logrotate de la siguiente forma.\nCONFIGURAR LA ROTACIÓN DE LOGS EN TRAEFIK Aunque sepas como funciona el sistema de rotación de Linux hay que tener en cuenta que el log de Traefik que queremos rotar está dentro de un contenedor Docker. Por lo tanto el procedimiento que deberemos seguir es ligeramente diferente al procedimiento normal. Para editar la política de rotación de logs de Traefik ejecutaremos el siguiente comando en la terminal:\npi@raspberrypi:~ $ nano /etc/logrotate.d/traefik Una vez se abra el editor de textos nano pegaremos el siguiente código para definir la política de rotación de logs:\n/var/log/traefik/*.log { weekly size 1M rotate 5 missingok notifempty postrotate docker kill --signal=\u0026#34;USR1\u0026#34; traefik endscript } Una vez pegado el código guardamos los cambios y cerramos el fichero. El significado de todos y cada uno de los parámetros para rotar el log de Traefik es el siguiente:\nParámetro de configuración Función /var/log/traefik/*.log { Definimos la ruta del log o logs que queremos rotar. weekly Una vez a la semana se intentarán rotar los logs. size 1M Para que se realice la rotación del log/s como mínimo tiene que tener un tamaño de un Mega. rotate 5 El número máximo de ficheros de logs almacenados serán 5. Por lo tanto en nuestro caso solo almacenaremos los logs de las últimas 5 semanas. missingok No se producirá ningún error en el caso que no exista un fichero de log. notifempty Si el fichero de logs está vacío no se rotará el log. postrotate Permite ejecutar un comando o script después de efectuarse la rotación de logs. docker kill --signal=\u0026quot;USR1\u0026quot; traefik Después de especificar postrotate podemos ejecutar el comando docker kill --signal=\u0026quot;USR1\u0026quot; traefik. El comando es para dar la señal USR1 al contenedor Docker traefik. USR1 es la señal que los desarrolladores de Traefik han definido para que se realice la rotación de logs. endscript Indicamos que ha terminado la ejecución del comando o script anterior. A partir de estos momentos ya no tenemos que preocuparnos. La rotación de logs en Traefik está configurada y según la política que hemos definido se rotarán semanalmente.\nFORZAR LA ROTACIÓN DE LOGS EN TRAEFIK PARA COMPROBAR EL FUNCIONAMIENTO Para comprobar el funcionamiento de la configuración que acabamos de aplicar podemos esperar una semana o podemos forzar la ejecución de la tarea que realiza la rotación de logs. Para forzar la tarea que realiza la rotación de logs tan solo tenemos que ejecutar cualquiera de los 2 comandos que les dejo a continuación:\nsudo logrotate /etc/logrotate.conf --debug sudo logrotate /etc/logrotate.conf Como pueden ver en mi caso la rotación de logs se está realizando de forma adecuada.\npi@raspberrypi:~ $ cd /var/log/traefik/ pi@raspberrypi:/var/log/traefik $ ls -la total 1380 drwxr-xr-x 2 root root 4096 abr 23 00:00 . drwxr-xr-x 5 root root 4096 abr 24 00:00 .. -rw-r--r-- 1 root root 205840 abr 24 10:56 access.log -rw-r--r-- 1 root root 1184842 abr 22 23:20 access.log.1 Fuentes https://doc.traefik.io/traefik/v2.0/observability/logs/\n","permalink":"https://geeklandlinux.github.io/posts/configurar-la-rotacion-de-logs-en-traefik-con-logrotate/","summary":"\u003cp\u003eLa semana pasada vimos como \u003ca href=\"/posts/usar-fail2ban-con-traefik-para-proteger-servicios-que-corren-en-docker/\"\u003eactivar y consultar los logs del proxy inverso Traefik usando Docker\u003c/a\u003e. No obstante el log generado por Traefik irá creciendo hasta que con el paso del tiempo acabe teniendo un tamaño desproporcionado y llene todo el disco. Para evitar este problema lo único que tenemos que hacer es configurar la rotación de logs en Traefik mediante logrotate de la siguiente forma.\u003c/p\u003e","title":"Configurar la rotación de Logs en Traefik con logrotate"},{"content":"Para proteger los servicios que tenemos montados con Docker a través del proxy inverso Traefik podemos usar Fail2ban. De este modo podremos evitar los ataques de fuerza bruta bloqueando a todo usuario o bot que introduzca las credenciales de autenticación incorrectamente de forma reiterada. Para ello deberemos proceder del siguiente modo.\nINSTALAR FAIL2BAN PARA EVITAR ATAQUES DE FUERZA BRUTA EN LOS SERVICIOS DOCKER DETRÁS DE TRAEFIK Obviamente tenemos que instalar Fail2ban. Fail2ban será el encargado de bloquear la totalidad de ataques de fuerza bruta a nuestros servicios autoalojados mediante Traefik. Podemos instalar Fail2ban directamente en nuestro servidor o mediante un contenedor de Docker. Ambos métodos funcionan, pero en mi caso lo he instalado locamente usando los repositorios de mi distribución Linux. Para ello he ejecutado el siguiente comando en la terminal:\nsudo apt-get install fail2ban Nota: En el caso que usen un gestor de paquetes diferentes a apt deberán adaptar el comando de instalación. Por ejemplo si usan una distro que use el gestor de paquetes yum deberán ejecutar sudo yum install epel-release \u0026amp;\u0026amp; sudo yum update -y \u0026amp;\u0026amp; sudo yum install -y fail2ban\nSi por lo contrario quieren instalar Fail2ban usando un contenedor de Docker pueden usar el siguiente Docker-Compose:\nversion: \u0026#39;2\u0026#39; services: fail2ban: image: crazymax/fail2ban:latest restart: unless-stopped network_mode: \u0026#34;host\u0026#34; cap_add: - NET_ADMIN - NET_RAW volumes: - /var/log:/var/log:ro - /home/geekland/services/fail2ban/data:/data env_file: - ./fail2ban.env Nota: El docker-compose lo he probado y funciona, pero lo dejaremos de lado en este artículo. Si quieren usar el Docker tendréis que cambiar las rutas de los volúmenes de persistencia.\nHACER QUE TRAEFIK GUARDE LOS LOGS EN UN VOLUMEN DE PERSISTENCIA En su día instalamos Traefik v2 siguiendo las siguientes indicaciones. La configuración estándar no genera ningún tipo de log y esto es un problema importante para que fail2ban pueda funcionar con Traefik. Para activar y filtrar los logs de autenticación en Traefik deben modificar el fichero de configuración traefik.toml para que quede del siguiente modo:\n[entryPoints] [entryPoints.web] address = \u0026#34;:80\u0026#34; [entryPoints.web.http.redirections.entryPoint] to = \u0026#34;websecure\u0026#34; scheme = \u0026#34;https\u0026#34; [entryPoints.websecure] address = \u0026#34;:443\u0026#34; [api] dashboard = true [certificatesResolvers.lets-encrypt.acme] email = \u0026#34;tuemail@geekland.com\u0026#34; storage = \u0026#34;acme.json\u0026#34; [certificatesResolvers.lets-encrypt.acme.tlsChallenge] [providers.docker] watch = true network = \u0026#34;web\u0026#34; [providers.file] filename = \u0026#34;traefik_dynamic.toml\u0026#34; [accessLog] filePath = \u0026#34;/var/log/access.log\u0026#34; [accessLog.filters] statusCodes = [\u0026#34;400-499\u0026#34;] retryAttempts = true minDuration = \u0026#34;10ms\u0026#34; Nota: Lo único que tienen que hacer es añadir la parte de color azul en su fichero de configuración.\nLos nuevos parámetros introducidos en el fichero de configuración tienen el siguiente significado:\nfilePath = \u0026quot;/var/log/access.log\u0026quot;: Definimos que la ruta de los logs de Traefik sea /var/log/access.log\nstatusCodes = [\u0026quot;400-499\u0026quot;]: Definimos/filtramos los logs que almacenará Fail2ban. Con el rango 400-499 se registrarán los intentos de autenticación en la totalidad de servicios que están detrás de Traefik.\nretryAttempts = true: Se loguearan y almacenarán la totalidad de intentos/reintentos de autenticación.\nminDuration = \u0026quot;10ms\u0026quot;: Se registran todas las peticiones que tardan más de 10ms en resolverse en el log.\nUna vez realizada la configuración guardan los cambios, cierran el fichero y borran el contenedor actual de Traefik mediante los siguiente comandos:\ndocker stop traefik docker rm traefik A continuación generan el siguiente docker-compose para levantar un nuevo contenedor de Traefik. Si os fijáis, el siguiente docker-compose tiene la particularidad de crear un volumen de persistencia de los logs de Traefik en la ubicación /var/log/traefik. El docker-compose para levantar el nuevo contenedor de Traefik es el siguiente:\nversion: \u0026#39;2\u0026#39; services: traefik: image: traefik:latest restart: unless-stopped container_name: traefik volumes: - /var/run/docker.sock:/var/run/docker.sock - /home/geekland/traefik.toml:/traefik.toml - /home/geekland/traefik_dynamic.toml:/traefik_dynamic.toml - /home/geekland/acme.json:/acme.json - /var/log/traefik:/var/log ports: - 8080:8080/tcp - 80:80/tcp - 443:443/tcp networks: - web Nota: Deberéis reemplazar las partes verdes por la ruta en que querías montar vuestro volumen de persistencia.\nUna vez generado el docker-compose guardan los cambios, cierran el fichero y levantamos el contenedor ejecutando el siguiente comando en la terminal:\ndocker-compose up -d Una vez levantado el Docker habrán realizado el paso más importante para poder usar Fail2ban con la totalidad de servicios montados usando Traefik.\nCONFIGURACIÓN PARA PODER USAR FAIL2BAN CON TRAEFIK Para que Fail2ban pueda detectar los ataques de fuerza bruta debemos definir filtros y acciones. A modo de ejemplo crearemos un filtro y una acción para bloquear a los usuarios o bots que excedan el número límite de intentos de autenticación al panel web de Traefik.\nFiltro de fail2ban para detectar los intentos fallidos de autenticación al panel web de Traefik Lo primero que tenemos que realizar es acceder a la ruta donde Fail2ban almacena los filtros. Para ello ejecutaremos el siguiente comando en la terminal:\npi@raspberrypi:~ $ cd /etc/fail2ban/filter.d/ A continuación crearemos el filtro traefik-auth.conf ejecutando el siguiente comando en la terminal:\npi@raspberrypi:/etc/fail2ban/filter.d $ sudo nano traefik-auth.conf Cuando se abra el editor de textos nano pegaremos el código para generar el filtro para este servicio.\n[Definition] failregex = ^\u0026lt;HOST\u0026gt; \\- \\S+ \\[\\] \\\u0026#34;(GET|POST|HEAD) .+\\\u0026#34; 401 .+$ ignoreregex = Nota: El filtro no es nada más que una expresión regular que coincide con lo que registra el log de Traefik cuando un usuario introduce la contraseña de forma incorrecta al autenticarse.\nA continuación crearemos un segundo filtro con nombre traefik-botsearch.conf ejecutando el siguiente comando en la terminal:\npi@raspberrypi:/etc/fail2ban/filter.d $ sudo nano traefik-botsearch.conf Una vez se abra el editor de textos nano pegaremos el código para el segundo de los filtros.\n[INCLUDES] before = botsearch-common.conf [Definition] failregex = ^\u0026lt;HOST\u0026gt; \\- \\S+ \\[\\] \\\u0026#34;(GET|POST|HEAD) \\/\u0026lt;block\u0026gt; \\S+\\\u0026#34; 404 .+$ Con el segundo de los filtros creados guardamos los cambios y cerramos el fichero. En estos momentos deberemos definir una acción para cada uno de los filtros que acabamos de crear.\nDefinir las acciones para los filtros que acabamos de crear Para definir las acciones de los filtros traefik-auth y traefik-botsearch accederemos el directorio /etc/fail2ban/filter.d. Para ello en mi caso tengo que ejecutar el siguiente comando:\npi@raspberrypi:/etc/fail2ban/data/filter.d $ cd .. \u0026amp;\u0026amp; cd jail.d A continuación crearemos el fichero traefik.conf que contendrá la totalidad de acciones para los filtros definidos para detectar los intentos fallidos de autenticación. Para ello ejecutaremos el siguiente comando:\npi@raspberrypi:/etc/fail2ban/data/jail.d $ sudo nano traefik.conf Cuando se abra el fichero de texto pegaremos el siguiente código:\n[traefik-auth] enabled = true chain = DOCKER-USER port = http,https filter = traefik-auth logpath = /var/log/traefik/access.log maxretry = 6 bantime = 30m [traefik-botsearch] enabled = true chain = DOCKER-USER port = http,https filter = traefik-botsearch logpath = /var/log/traefik/access.log maxretry = 6 bantime = 30m Una vez pegado el código guardamos los cambios y cerramos el fichero. A partir de estos momentos lo único que tenemos que realizar es reiniciar fail2ban ejecutando el siguiente comando en la terminal:\npi@raspberrypi:/etc/fail2ban/data/jail.d $ sudo service fail2ban restart A partir de este momento todo usuario o bot que introduzca las credenciales de autenticación de forma incorrecta en el panel de administración web de Traefik más de 6 veces se le bloqueará el acceso durante 30 minutos.\nPara entender más el funcionamiento de Fail2ban les recomiendo que lean los siguientes artículos:\nhttps://geeklandlinux.github.io/posts/instalar-configurar-y-usar-fail2ban-para-evitar-ataques-de-fuerza-bruta/\nhttps://geeklandlinux.github.io/posts/como-consultar-logs-de-fail2ban/\nCOMPROBAR EL FUNCIONAMIENTO DE FAIL2BAN A partir de esto momento entráis en vuestro panel de administración web de Traefik y lo único que tenéis que realizar es introducir las credenciales de acceso erróneamente de forma deliberada. Después de introducir la contraseña erróneamente 6 veces se os bloqueará el acceso al servicio durante media hora. Lo que veréis en pantalla será lo siguiente:\n¿COMO AÑADIR MÁS SERVICIOS DETRÁS DE TRAEFIK A FAIL2BAN? Para añadir más servicios tan solo tenemos que crear filtros y acciones. A modo de ejemplo crearemos un filtro y una acción para la nube Filerun.\nSi observamos el log de Traefik ubicado en /var/log/traefik vemos que cada vez que un usuario se autentica de forma incorrecta se registra lo siguiente:\n23.34.173.XXX - - [17/Apr/2021:08:10:40 +0000] \u0026#34;POST /?module=fileman\u0026amp;page=login\u0026amp;action=login HTTP/2.0\u0026#34; 200 67 \u0026#34;-\u0026#34; \u0026#34;-\u0026#34; 295 \u0026#34;filerun@docker\u0026#34; \u0026#34;http://172.20.0.4:80\u0026#34; 64ms Por lo tanto tendremos que crear un filtro para detectar la aparición de esta línea en el log de Traefik. Para ello ejecutaremos el siguiente comando:\npi@raspberrypi:~ $ sudo nano /etc/fail2ban/filter.d/filerun-auth.conf Una vez se abra el editor de textos nano introduciremos el filtro que en mi caso es el siguiente:\n[Definition] failregex = ^\u0026lt;HOST\u0026gt; \\- \\S+ \\[\\] \\\u0026#34;(GET|POST|HEAD) .+\\\u0026#34; 200 [6-6][0-9] .+$ ignoreregex = Nota: En failregex he introducido una expresión regular que concuerde con lo que registra el log de Traefik cada vez que un usuario introduzca la contraseña de forma incorrecta en Filerun.\nA continuación guardamos los cambios, cerramos el fichero y ejecutamos el siguiente comando en la terminal para definir la acción.\npi@raspberrypi:~ $ sudo nano /etc/fail2ban/jail.d/filerun.conf Cuando se abra el editor de textos nano introducís la siguiente acción:\n[filerun-auth] enabled = true chain = DOCKER-USER port = http,https filter = filerun-auth logpath = /var/log/traefik/access.log maxretry = 6 bantime = 30m Ahora tan solo tenemos que guardar los cambios, cerrar el fichero y reiniciar el servicio Fail2ban mediante el siguiente comando:\nsudo service fail2ban restart A partir de estos momentos Fail2ban también estará protegiendo el servicio Filerun.\nSOLUCIÓN A POSIBLES PROBLEMAS AL INTENTAR COMBINAR EL USO DE FAIL2BAN Y TRAEFIK En mi caso he aplicado el tutorial que acabáis de ver en una Raspberry Pi y no me ha funcionado a la primera. El momento en que fail2ban tenia que bloquear la IP fallaba y me daba el siguiente mensaje de error:\niptables: No chain/target/match by that name. Para solucionar este error he tenido que implementar las siguientes acciones.\nUsar Iptables en modo Legacy En el caso que su distribución use el backend de Nftables deberán realizar lo que describe en el siguiente apartado.\nInicialmente instalaremos los siguientes paquetes para asegurar que nuestro sistema operativo pueda usar Iptables en modo Legacy:\nsudo apt-get install -y iptables arptables ebtables Una vez instalados los paquetes pondremos Iptables en modo Legacy ejecutando los siguientes comandos en la terminal:\nsudo update-alternatives --set iptables /usr/sbin/iptables-legacy sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy sudo update-alternatives --set arptables /usr/sbin/arptables-legacy sudo update-alternatives --set ebtables /usr/sbin/ebtables-legacy Si algún día quieren volver a usar el backend de nftables deberán ejecutar los siguientes comandos en la terminal:\nsudo update-alternatives --set iptables /usr/sbin/iptables-nft sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-nft sudo update-alternatives --set arptables /usr/sbin/arptables-nft sudo update-alternatives --set ebtables /usr/sbin/ebtables-nft Una vez aplicados los cambios que acabo de citar reinicien el equipo.\nActivar el módulo del kernel multiport Otra acción que he realizado para solucionar el error es activar el módulo del Kernel Multiport. Para ver si tenéis este módulo cargado en el Kernel hay que ejecutar el siguiente comando en la terminal:\npi@raspberrypi:~ $ sudo cat /proc/net/ip_tables_matches addrtype state conntrack conntrack conntrack addrtype udplite udp tcp icmp Como pueden ver la salida del comando no contiene la palabra multiport. Por lo tanto tendremos que cargar el módulo ejecutando el siguiente comando en la terminal:\nsudo modprobe -v xt_multiport Ahora si volvemos a ejecutar el comando que vimos con anterioridad veremos que el módulo multiport está cargado.\npi@raspberrypi:~ $ sudo cat /proc/net/ip_tables_matches addrtype state conntrack conntrack conntrack addrtype multiport udplite udp tcp icmp Una vez realizadas todas las modificaciones les recomiendo reiniciar el equipo.\nFuentes https://github.com/crazy-max/docker-fail2ban\nhttps://doc.traefik.io/traefik/observability/access-logs/\n","permalink":"https://geeklandlinux.github.io/posts/usar-fail2ban-con-traefik-para-proteger-servicios-que-corren-en-docker/","summary":"\u003cp\u003ePara proteger los servicios que tenemos montados con Docker a través del proxy inverso Traefik podemos usar Fail2ban. De este modo podremos evitar los ataques de fuerza bruta bloqueando a todo usuario o bot que introduzca las credenciales de autenticación incorrectamente de forma reiterada. Para ello deberemos proceder del siguiente modo.\u003c/p\u003e","title":"Usar Fail2ban con Traefik para proteger servicios que corren en Docker"},{"content":"Es posible que tengáis una nube o algún que otro servicio autoalojado en casa o en un servicio VPS mediante Docker y Traefik. Por norma general estos servicios únicamente tienen que ser accesibles desde vuestro país, por lo tanto en términos de seguridad es interesante limitar el acceso del servicio a los habitantes de un determinado país del siguiente modo.\nLIMITAR EL ACCESO A UN SERVICIO WEB HACIENDO QUE ÚNICAMENTE LOS VISITANTES DE UN DETERMINADO PAÍS PUEDAN ACCEDER A ELLA En el ejemplo que veremos a continuación partimos de una nube owncloud autoalojada en una Raspberry Pi mediante Docker y Traefik. Para limitar el acceso y que solo puedan entrar en nuestra nube los habitantes de un determinado país tendremos que usar el Middleware IpWhiteList de Traefik.\nEl middleware IpWhiteList almacenará una larga lista de IP. Si la IP del usuario que quiere acceder a mi nube está en la lista podrá acceder sin ningún tipo de problema. Pero si la IP del visitante o cliente no figura en el middleware entonces el acceso será bloqueado por Traefik.\nConstruir un listado con las IP que podrán acceder a nuestro servicio autoalojado Lo primero que tenemos que realizar es construir un listado que contenga las IP que podrán acceder a nuestro servicio. Existen multitud de páginas web que nos ayudarán a construir el listado de IP permitidas.\nEn mi caso quiero que solo puedan acceder a mi nube Owncloud los usuarios que tengan IP española. Para generar un listado de IPv4 pertenecientes a España tan solo hay que acceder a la siguiente URL:\nhttps://www.countryipblocks.net/acl.php\nUna vez dentro de la web seleccionamos el país del que queremos obtener las IP, seleccionamos el formato CIDR y finalmente presionamos el botón Create ACL.\nSeguidamente aparecerá un listado de IP. Para copiarlo tan solo tienen que presionar encima del botón Copy ACL to Clipboard.\nA continuación ejecutaremos el siguiente comando en una terminal de Linux:\njoan@gk55:~$ nano ipv4.txt Una vez se abra el editor de texto nano pegaremos las IP dentro del fichero de texto y guardaremos los cambios.\nPara generar el listado de IPv6 existentes en España lo haremos del mismo modo. Para empezar accederemos a la siguiente URL.\nhttps://www.countryipblocks.net/ipv6_acl.php\nUna vez dentro de la URL seleccionamos el país del que queremos obtener las IP, seleccionamos el formato CIDR y finalmente presionamos el botón Create ACL.\nA continuación ejecutaremos el siguiente comando en una terminal Linux.\njoan@gk55:~$ nano ipv6.txt Cuando se abra el editor de texto nano pegaremos las IPv6 dentro del fichero de texto y guardaremos los cambios.\nUna vez disponemos de los 2 listados los combinaremos en un solo archivo de texto que contenga el formato apropiado para usar en Traefik. Para ello ejecutaremos el siguiente comando en la terminal:\njoan@gk55:~$ cat ipv4.txt ipv6.txt | paste -sd \u0026#34;\u0026#34; | sed \u0026#39;s/ /, /g\u0026#39; \u0026gt; ipallowed.txt Una vez ejecutado el comando tendremos un fichero de texto con el nombre ipallowed.txt que contiene gran parte de las IP que se se usan en España. Para evitar problemas abriremos este fichero y añadiremos las IP 127.0.0.1 y 192.168.1.1/24. De este modo aseguraré que puedo acceder sin problema a mi nube Owncloud desde mi red local.\nNota: Únicamente las IP dentro del fichero ipallowed.txt podrán acceder a nuestro servicio autoalojado.\nIntroducir las etiquetas al Docker-Compose para limitar el acceso a nuestro servidor y que Traefik filtre las IP que pueden acceder a nuestra mube En el artículo de como autoalojar nuestra propia nube owncloud usamos las siguientes etiquetas en el fichero docker-compose.yml:\nlabels: - traefik.enable=true - traefik.http.routers.owncloud.rule=Host(`owncloud.ejemplo1.duckdns.org`) - traefik.http.routers.owncloud.tls=true - traefik.http.routers.owncloud.entrypoints=websecure - traefik.http.routers.owncloud.tls.certresolver=lets-encrypt - traefik.http.middlewares.owncloud-headers.headers.framedeny=false - traefik.http.middlewares.owncloud-headers.headers.sslredirect=true - traefik.http.middlewares.owncloud-headers.headers.stsSeconds=155520011 - traefik.http.middlewares.owncloud-headers.headers.stsIncludeSubdomains=true - traefik.http.middlewares.owncloud-headers.headers.stsPreload=true - traefik.http.routers.owncloud.middlewares=owncloud-headers@docker - traefik.port=8080 Lo primero que hay que ver es que estamos usando un middleware con nombre owncloud-headers. A este middleware hay que añadirle otro middleware que llamaré lista-blanca. Cuando hay más de un middleware hay que encadenarlos y dar un nombre a la cadena. Para encadenar los middleware owncloud-headers y lista-blanca y generar una cadena con el nombre secured tendré que añadir la siguiente etiqueta:\n**`- traefik.http.middlewares.secured.chain.middlewares=owncloud-headers,lista-blanca`** Una vez generada la cadena tenemos que crear el middleware del tipo ipwhitelist.sourcerange con el nombre lista-blanca que filtrará las IP que se podrán conectar al servicio Owncloud. Para ello usaremos la siguiente etiqueta:\n- traefik.http.middlewares.lista-blanca.ipwhitelist.sourcerange=127.0.0.1/32, 192.168.1.1/24, 2.20.179.0/24, 2.20.185.0/24, 2.22.230.0/24, ...,2a10:fb80::/29, 2a10:fc00::/29 Nota: La etiqueta que acabáis de ver no es completa ya que su longitud es muy extensa. En vuestro caso tendréis que reemplazar 127.0.0.1/32, 192.168.1.1/24, 2.20.179.0/24, 2.20.185.0/24, 2.22.230.0/24, ... ,2a10:fb80::/29, 2a10:fc00::/29 por la totalidad de IP que tenéis en el fichero de texto ipallowed.txt. Para ello la mejor solución es hacer un copiar/pegar.\nFinalmente tenemos que conectar el router owncloud con la cadena de middleware secured. Por lo tanto lo primero que tenemos que hacer deshacer el link existente entre el router owncloud y el middleware owncloud-headers. Para ello borraremos la siguiente etiqueta:\n`**- traefik.http.routers.owncloud.middlewares=owncloud-headers@docker**` A continuación hay que conectar el router owncloud con la cadena secured añadiendo la siguiente etiqueta:\n- traefik.http.routers.owncloud.middlewares=secured Una vez realizadas todas las modificaciones, las etiquetas del docker-compose.yml quedarán de la siguiente forma:\nlabels: - traefik.enable=true - traefik.http.routers.owncloud.rule=Host(`owncloud.ejemplo1.duckdns.org`) - traefik.http.routers.owncloud.tls=true - traefik.http.routers.owncloud.entrypoints=websecure - traefik.http.routers.owncloud.tls.certresolver=lets-encrypt - traefik.http.middlewares.secured.chain.middlewares=owncloud-headers,lista-blanca - traefik.http.middlewares.owncloud-headers.headers.framedeny=false - traefik.http.middlewares.owncloud-headers.headers.sslredirect=true - traefik.http.middlewares.owncloud-headers.headers.stsSeconds=155520011 - traefik.http.middlewares.owncloud-headers.headers.stsIncludeSubdomains=true - traefik.http.middlewares.owncloud-headers.headers.stsPreload=true - traefik.http.middlewares.lista-blanca.ipwhitelist.sourcerange=127.0.0.1/32, 192.168.1.1/24, 2.20.179.0/24, 2.20.185.0/24, 2.22.230.0/24, ...,2a10:fb80::/29, 2a10:fc00::/29 - traefik.http.routers.owncloud.middlewares=secured - traefik.port=8080 Borrar los contenedores y levantar de nuevo el Docker-compose En el momento que tenemos generado el fichero docker-compose.yml el proceso ha finalizado. Para que Traefik empiece a filtrar las IP y a limitar el acceso a nuestro servicio web tenemos que borrar los contenedores existentes y volverlos a generar. Por lo tanto en el caso de Owncloud tendré que ejecutar los siguientes comandos:\npi@raspberrypi:~/owncloud $ docker rm owncloud_owncloud_1 owncloud_db_1 owncloud_redis_1 pi@raspberrypi:~/owncloud $ docker rm owncloud_owncloud_1 owncloud_db_1 owncloud_redis_1 pi@raspberrypi:~/owncloud $ docker-compose up -d A partir de estos momentos si intento acceder a mi nube Owncloud desde una IP que no sea de España el acceso será bloqueado. Por lo tanto habremos conseguido limitar el acceso a nuestro servidor y tan solo podran acceder a él los usuarios que tengan alguna de las IP instroducidas en el docker-compose.\nFuentes https://doc.traefik.io/traefik/middlewares/overview/\nhttps://doc.traefik.io/traefik/middlewares/ipwhitelist/\n","permalink":"https://geeklandlinux.github.io/posts/limitar-acceso-servicio-o-web-por-ip-con-traefik/","summary":"\u003cp\u003eEs posible que tengáis una nube o algún que otro servicio autoalojado en casa o en un servicio VPS mediante Docker y Traefik. Por norma general estos servicios únicamente tienen que ser accesibles desde vuestro país, por lo tanto en términos de seguridad es interesante limitar el acceso del servicio a los habitantes de un determinado país del siguiente modo.\u003c/p\u003e","title":"Limitar el acceso a un servicio o web por ip con Traefik v2"},{"content":"En numerosas ocasiones he escuchado gente hablando maravillas del reproductor de vídeo mpv. No obstante en mi caso lo instalaba en Debian y el rendimiento era pésimo. El consumo de CPU al reproducir los vídeos era extremadamente elevado y el motivo era porque la aceleración gráfica por hardware está deshabilitada de forma predeterminada. Por lo tanto si pretenden instalar, configurar y usar de forma satisfactoria mpv en Debian les recomiendo que sigan las siguientes instrucciones.\nINSTALAR Y CONFIGURAR EL REPRODUCTOR DE VÍDEO MPV EN DEBIAN El procedimiento para instalar mpv en Debian es sumamente sencillo. Tan solo tienen que abrir una terminal y ejecutar el siguiente comando:\njoan@gk55:~$ sudo apt install mpv La versión empaquetada por Debian permite usar los plugin/scripts escritos en lua, pero no los que están en Javascript. Si pretenden usar algún script elaborado en Javascript deberán descargar e instalar uno de los paquetes binarios de la siguiente URL:\nhttps://non-gnu.uvt.nl/debian/bullseye/mpv/\nEn mi caso para descargar e instalar la última versión del reproductor de vídeo mpv he usado los siguientes comandos:\njoan@gk55:~$ wget https://non-gnu.uvt.nl/debian/bullseye/mpv/mpv-git_2021.02.16+c766e47+wsl.1_amd64.deb joan@gk55:~$ sudo gdebi mpv-git_2021.02.16+c766e47+wsl.1_amd64.deb joan@gk55:~$ rm mpv-git_2021.02.16+c766e47+wsl.1_amd64.deb Aplicando cualquiera de las 2 soluciones servirá para instalar mpv en nuestro ordenador. Pero una vez finalizada la instalación tendremos que configurar el programa para que funcione de forma adecuada.\nCONFIGURACIÓN Y USO DEL REPRODUCTOR DE VÍDEO MPV Para empezar a usar mpv de forma satisfactoria deberán tener en cuenta los siguientes puntos.\nActivar la aceleración gráfica por hardware en Xorg de forma predeterminada La aceleración gráfica por hardware viene deshabilitada por defecto en Debian. Para habilitarla debemos crear un archivo de configuración ejecutando el siguiente comando en la terminal:\njoan@gk55:~$ nano ~/.config/mpv/mpv.conf Nota: En caso que no exista la ruta o el fichero de configuración tan solo tenéis que crearlos.\nUna vez se abra el editor de textos nano añadiremos el siguiente código en el fichero y guardaremos los cambios:\nhwdec profile=gpu-hq A partir de estos momentos ya podemos abrir cualquier vídeo y mpv usará la aceleración gráfica por hardware. Por lo tanto el consumo de CPU será bajo y la reproducción de vídeo y/o audio será mucho más fluida.\nSi por algún motivo no quieren activar la aceleración gráfica por hardware de forma predeterminada pueden ejecutar vídeos con aceleración gráfica de forma puntual ejecutando un comando del siguiente tipo en la terminal:\nmpv --hwdec video_o_URL_a_reproducir Por lo tanto para reproducir un vídeo de Youtube ejecutaría el siguiente comando en la terminal:\nmpv --hwdec https://www.youtube.com/watch?v=IAW7-v-QkJA Si están usando la aceleración gráfica por hardware verán un mensaje del siguiente tipo:\njoan@gk55:~$ mpv --hwdec https://www.youtube.com/watch?v=IAW7-v-QkJA (+) Video --vid=1 (*) (vp9 1280x720 60.000fps) (+) Audio --aid=1 --alang=eng (*) (opus 2ch 48000Hz) AO: [pulse] 48000Hz stereo 2ch float Using hardware decoding (vaapi). VO: [gpu] 1280x720 vaapi[nv12] Opciones adicionales que pueden añadir en el archivo de configuración Podemos añadir más opciones en el fichero de configuración que acabamos de crear. Por ejemplo en mi caso el fichero de configuración tiene el siguiente aspecto:\n[default] hwdec profile=gpu-hq save-position-on-quit sub-font=\u0026#34;Roboto\u0026#34; sub-font-size=55 osd-font=\u0026#34;Roboto\u0026#34; osd-font-size=22 sid=\u0026#34;1\u0026#34; fullscreen=yes El significado de todos y cada uno de los parámetros que uso es el siguiente:\nParámetro de configuración Función [default] Default es el nombre que uso para crear mi perfil predeterminado. hwdec Habilita la aceleración por hardware usando la configuración predeterminada. En el caso que no funcione consulten la documentación. profile=gpu-hq Renderiza el vídeo con la configuración predeterminada de alta calidad. Esta opción puede generar problemas de rendimiento. Si los tenéis borradla. save-position-on-quit Para que se recuerde la posición en que hemos dejado de ver cada uno de los vídeos. sub-font=\u0026quot;Roboto\u0026quot; Especificamos que queremos visualizar los subtítulos con la fuente Roboto. sub-font-size=50 Para especificar el tamaño de los subtítulos. osd-font=\u0026quot;Roboto\u0026quot; Establecemos que la fuente que usará mpv es la roboto osd-font-size=22 El tamaño de la fuente que mostrará la aplicación mpv será 22. sid=\u0026quot;1\u0026quot; En el caso que hayan subtítulos muestra en pantalla la pista 1 de forma predeterminada. fullscreen=yes Iniciar mpv en modo pantalla completa. Si quieren pueden cambiar el valor a no. Nota: Para opciones adicionales en el fichero de configuración pueden consular el siguiente enlace. El fichero de configuración también permite crear perfiles de configuración. La posibilidades de personalización de mpv son enormes.\nAtajos de teclado para usar el reproductor de Video MPV MPV prácticamente no tiene interfaz gráfica. Para gestionar la reproducción de contenido multimedia deberán usar atajos de teclado. Los atajos de teclado más comunes y que vale la pena conocer son los siguientes:\nTeclas Función Cursor derecha - izquierda Adelanta o retrasa la reproducción 5 segundos. Shift + Cursor derecha - izquierda Adelantar o retrasar la reproducción 1 segundo. Cursor arriba - abajo Adelanta o retrasa la reproducción 1 minuto. Shift + Cursor arriba - abajo Adelantar o retrasar la reproducción 5 segundos. RePág Saltar al capítulo siguiente de la reproducción de vídeo. AvPág Saltar al capítulo anterior de la reproducción de vídeo. [ y ] Incrementar - disminuir la velocidad de reproducción un 10%. { y } Disminuir a la mitad o doblar la velocidad de reproducción. Retroceso Para obtener la velocidad de reproducción predeterminada. Espacio Pausar o reiniciar al reproducción. f Entrar - salir de la reproducción en pantalla completa. q Salir del reproductor. Q Salir del reproductor recordando la posición de reproducción. 0 y 9 Incrementar y disminuir el volumen. 1 - 2 Subir y bajar el contraste de la imagen. 3 - 4 Modificar brillo de la imagen. 5 - 6 Ajustar gamma de la imagen. 7 - 8 Ajustar la situación de la imagen. m Mutear - desmutear el reproductor de vídeo-audio. . Se pausa el vídeo y cada vez que presionemos . se avanzará un frame la reproducción del vídeo. , Se pausa el vídeo y cada vez que presionemos , se retrocederá un frame la reproducción del vídeo. s Hacer una captura de pantalla. S Hacer una captura de pantalla capturando los subtítulos. Ctrl + s Captura de pantalla capturando todo lo visible en pantalla. v Activar / desactivar los subtítulos. j y J Ir cambiando entre los distintos subtítulos disponibles. z y Z retrasar o avanzar la aparición de los subtítulos en +/- 0.1 segundos. r y R Mover los subtítulos más arriba o abajo de la pantalla. # Para ir cambiando entre las distintas pistas de audio disponible. F9 Muestra las pistas de audio, vídeo y subitutilos disponibles en pantalla. F8 Muestra la lista de reproducción. alt + cursores Desplazar el cuadro de reproducción. alt + / - Aplicar Zoom al vídeo. w y e Hacer zoom hacia delante y detrás para suprimir las franjas negras superiores e inferiores del vídeo. ctrl+h Para activar y desactivar la aceleración por hardware. Nota: En caso que no seáis amantes de los atajos de teclado existen numerosas interfaces gráficas que hacen uso de mpv.\nModificar-Añadir atajos de teclado en el reproductor de vídeo mpv con input.conf Acabamos de ver los atajos de teclado predeterminados. No obstante mpv permite configurar nuestros propios atajos de teclado mediante el fichero de configuración input.conf. Para crear el fichero ejecutaremos el siguiente comando:\nnano ~/.config/mpv/input.conf Una vez se abra el editor de texto nano copian el siguiente código:\n# mpv keybindings # # Location of user-defined bindings: ~/.config/mpv/input.conf # # Lines starting with # are comments. Use SHARP to assign the # key. # Copy this file and uncomment and edit the bindings you want to change. # # List of commands and further details: DOCS/man/input.rst # List of special keys: --input-keylist # Keybindings testing mode: mpv --input-test --force-window --idle # # Use \u0026#39;ignore\u0026#39; to unbind a key fully (e.g. \u0026#39;ctrl+a ignore\u0026#39;). # # Strings need to be quoted and escaped: # KEY show-text \u0026#34;This is a single backslash: \\\\ and a quote: \\\u0026#34; !\u0026#34; # # You can use modifier-key combinations like Shift+Left or Ctrl+Alt+x with # the modifiers Shift, Ctrl, Alt and Meta (may not work on the terminal). # # The default keybindings are hardcoded into the mpv binary. # You can disable them completely with: --no-input-default-bindings # Developer note: # On compilation, this file is baked into the mpv binary, and all lines are # uncommented (unless \u0026#39;#\u0026#39; is followed by a space) - thus this file defines the # default key bindings. # If this is enabled, treat all the following bindings as default. #default-bindings start #MBTN_LEFT ignore # don\u0026#39;t do anything #MBTN_LEFT_DBL cycle fullscreen # toggle fullscreen on/off #MBTN_RIGHT cycle pause # toggle pause on/off #MBTN_BACK playlist-prev #MBTN_FORWARD playlist-next # Mouse wheels, touchpad or other input devices that have axes # if the input devices supports precise scrolling it will also scale the # numeric value accordingly #WHEEL_UP seek 10 #WHEEL_DOWN seek -10 #WHEEL_LEFT add volume -2 #WHEEL_RIGHT add volume 2 ## Seek units are in seconds, but note that these are limited by keyframes #RIGHT seek 5 #LEFT seek -5 #UP seek 60 #DOWN seek -60 # Do smaller, always exact (non-keyframe-limited), seeks with shift. # Don\u0026#39;t show them on the OSD (no-osd). #Shift+RIGHT no-osd seek 1 exact #Shift+LEFT no-osd seek -1 exact #Shift+UP no-osd seek 5 exact #Shift+DOWN no-osd seek -5 exact # Skip to previous/next subtitle (subject to some restrictions; see manpage) #Ctrl+LEFT no-osd sub-seek -1 #Ctrl+RIGHT no-osd sub-seek 1 # Adjust timing to previous/next subtitle #Ctrl+Shift+LEFT sub-step -1 #Ctrl+Shift+RIGHT sub-step 1 # Move video rectangle #Alt+left add video-pan-x 0.1 #Alt+right add video-pan-x -0.1 #Alt+up add video-pan-y 0.1 #Alt+down add video-pan-y -0.1 # Zoom/unzoom video #Alt++ add video-zoom 0.1 #Alt+- add video-zoom -0.1 # Reset video zoom/pan settings #Alt+BS set video-zoom 0 ; set video-pan-x 0 ; set video-pan-y 0 #PGUP add chapter 1 # skip to next chapter #PGDWN add chapter -1 # skip to previous chapter #Shift+PGUP seek 600 #Shift+PGDWN seek -600 #[ multiply speed 1/1.1 # scale playback speed #] multiply speed 1.1 #{ multiply speed 0.5 #} multiply speed 2.0 #BS set speed 1.0 # reset speed to normal #Shift+BS revert-seek # undo previous (or marked) seek #Shift+Ctrl+BS revert-seek mark # mark position for revert-seek #q quit #Q quit-watch-later #q {encode} quit 4 #ESC set fullscreen no #ESC {encode} quit 4 #p cycle pause # toggle pause/playback mode #. frame-step # advance one frame and pause #, frame-back-step # go back by one frame and pause #SPACE cycle pause #\u0026gt; playlist-next # skip to next file #ENTER playlist-next # skip to next file #\u0026lt; playlist-prev # skip to previous file #O no-osd cycle-values osd-level 3 1 # cycle through OSD mode #o show-progress #P show-progress #i script-binding stats/display-stats #I script-binding stats/display-stats-toggle #` script-binding console/enable #z add sub-delay -0.1 # subtract 100 ms delay from subs #Z add sub-delay +0.1 # add #x add sub-delay +0.1 # same as previous binding (discouraged) #ctrl++ add audio-delay 0.100 # this changes audio/video sync #ctrl+- add audio-delay -0.100 #Shift+g add sub-scale +0.1 # increase subtitle font size #Shift+f add sub-scale -0.1 # decrease subtitle font size #9 add volume -2 #/ add volume -2 #0 add volume 2 #* add volume 2 #m cycle mute #1 add contrast -1 #2 add contrast 1 #3 add brightness -1 #4 add brightness 1 #5 add gamma -1 #6 add gamma 1 #7 add saturation -1 #8 add saturation 1 #Alt+0 set window-scale 0.5 #Alt+1 set window-scale 1.0 #Alt+2 set window-scale 2.0 # toggle deinterlacer (automatically inserts or removes required filter) #d cycle deinterlace #r add sub-pos -1 # move subtitles up #R add sub-pos +1 # down #t add sub-pos +1 # same as previous binding (discouraged) #v cycle sub-visibility # stretch SSA/ASS subtitles with anamorphic videos to match historical #V cycle sub-ass-vsfilter-aspect-compat # switch between applying no style overrides to SSA/ASS subtitles, and # overriding them almost completely with the normal subtitle style #u cycle-values sub-ass-override \u0026#34;force\u0026#34; \u0026#34;no\u0026#34; #j cycle sub # cycle through subtitles #J cycle sub down # ...backwards #SHARP cycle audio # switch audio streams #_ cycle video #T cycle ontop # toggle video window ontop of other windows #f cycle fullscreen # toggle fullscreen #s screenshot # take a screenshot #S screenshot video # ...without subtitles #Ctrl+s screenshot window # ...with subtitles and OSD, and scaled #Alt+s screenshot each-frame # automatically screenshot every frame #w add panscan -0.1 # zoom out with -panscan 0 -fs #W add panscan +0.1 # in #e add panscan +0.1 # same as previous binding (discouraged) # cycle video aspect ratios; \u0026#34;-1\u0026#34; is the container aspect #A cycle-values video-aspect-override \u0026#34;16:9\u0026#34; \u0026#34;4:3\u0026#34; \u0026#34;2.35:1\u0026#34; \u0026#34;-1\u0026#34; #POWER quit #PLAY cycle pause #PAUSE cycle pause #PLAYPAUSE cycle pause #PLAYONLY set pause no #PAUSEONLY set pause yes #STOP quit #FORWARD seek 60 #REWIND seek -60 #NEXT playlist-next #PREV playlist-prev #VOLUME_UP add volume 2 #VOLUME_DOWN add volume -2 #MUTE cycle mute #CLOSE_WIN quit #CLOSE_WIN {encode} quit 4 #ctrl+w quit #E cycle edition # next edition #l ab-loop # Set/clear A-B loop points #L cycle-values loop-file \u0026#34;inf\u0026#34; \u0026#34;no\u0026#34; # toggle infinite looping #ctrl+c quit 4 #DEL script-binding osc/visibility # cycle OSC display #ctrl+h cycle-values hwdec \u0026#34;auto\u0026#34; \u0026#34;no\u0026#34; # cycle hardware decoding #F8 show_text ${playlist} # show playlist #F9 show_text ${track-list} # show list of audio/sub streams # # Legacy bindings (may or may not be removed in the future) # #! add chapter -1 # skip to previous chapter #@ add chapter 1 # next # # Not assigned by default # (not an exhaustive list of unbound commands) # # ? cycle angle # switch DVD/Bluray angle # ? cycle sub-forced-only # toggle DVD forced subs # ? cycle program # cycle transport stream programs # ? stop # stop playback (quit or enter idle mode) Una vez copiado el código guardan los cambios y cierran el fichero. A partir de ahora si quieren añadir/modificar un atajo de teclado deberán descomentar y modificar ciertas partes del fichero input.conf.\nEn mi caso los atajos de teclado estándar Repág y AvPág no me parecen lógicos. En mi caso pienso que deberían estar invertidos. Por lo tanto localizaremos la siguientes líneas en el fichero input.conf:\n#PGUP add chapter 1 # skip to next chapter #PGDWN add chapter -1 # skip to previous chapter Una vez localizadas las descomentamos y las modificamos para que queden del siguiente modo:\nPGDWN add chapter 1 # skip to previous chapter PGUP add chapter -1 # skip to next chapter Si guardamos los cambios los atajos de teclado predeterminados se invertirán. A partir de esto momento cuando presione la tecla AvPág la reproducción saltará automáticamente al siguiente capítulo. De esta forma podremos modificar la totalidad de atajos de teclado existentes.\nAñadir funcionalidades al reproductor de vídeo MPV Mediante scripts podemos añadir funcionalidades adicionales al reproductor de audio y vídeo MPV. En la siguiente ubicación encontrarán un amplio surtido de scripts en lua y javascript para poder usarlos en el reproductor de vídeo mpv.\nhttps://github.com/mpv-player/mpv/wiki/User-Scripts\nPara instalar cualquiera de los scripts tan solo deben seguir las instrucciones que encontrarán en el enlace que les he dejado. En mi caso detallaré como instalar los scripts Blackbox, Colorbox y autoload.lua. La función de cada uno de los scripts es la siguiente:\nScript Función Blackbox Muestra la lista de reproducción. También permite tener un gestor de archivos integrado en mpv. Colorbox Aplica perfiles de corrección de color a nuestros vídeos e imágines. autoload Al añadir/reproducir un fichero de un directorio se carga todo el contenido multimedia del directorio en la lista de reproducción. Para instalar los scripts tan solo tenemos que descargarlos en el directorio ~/.config/mpv/scripts. Por lo tanto para instalar los scripts Blackbox y Colorbox procederemos del siguiente modo:\nInicialmente accedemos al directorio que almacena la configuración de mpv ejecutando el siguiente comando en la terminal:\njoan@gk55:~$ cd ~/.config/mpv A continuación clonaremos el repositorio mpv-tools ejecutando el siguiente comando en la terminal:\njoan@gk55:~/.config/mpv$ git clone https://github.com/VideoPlayerCode/mpv-tools.git Seguidamente copiaremos el directorio scripts y script-settings en la raíz del fichero de configuración ejecutando los siguientes comandos:\njoan@gk55:~/.config/mpv$ cp -r mpv-tools/scripts ~/.config/mpv joan@gk55:~/.config/mpv$ cp -r mpv-tools/script-settings/ ~/.config/mpv El siguiente paso consistirá en borrar el directorio que contiene los ficheros del repositorio clonado. Para ello usaremos el siguiente comando.\njoan@gk55:~/.config/mpv$ sudo rm -r mpv-tools Ahora tendremos que generar los ficheros de configuración para los plugin Colorbox y Blackbox ejecutando los siguientes comandos:\njoan@gk55:~/.config/mpv$ cd script-settings/ joan@gk55:~/.config/mpv/script-settings$ cp Blackbox.conf.example Blackbox.conf joan@gk55:~/.config/mpv/script-settings$ cp Colorbox.conf.example Colorbox.conf Para finalizar la instalación de BlackBox y Colorbox definiremos los atajos de teclado para poder usarlos. Para ello ejecutaremos los siguientes comandos:\njoan@gk55:~/.config/mpv/script-settings$ cd .. joan@gk55:~/.config/mpv$ nano input.conf Una vez se abra el editor de texto nano pegaremos el siguiente código al final del fichero. De este modo definiremos las teclas para usar BlackBox y Colorbox.\n#Atajos de teclado BlackBox y Colorbox z script-binding Blackbox_Playlist Z script-binding Blackbox c script-binding Colorbox Para instalar autoload.lua el procedimiento será mucho más sencillo. Accedemos dentro del directorio scripts mediante el siguiente comando:\njoan@gk55:~/.config/mpv$ cd scripts/ A continuación descargamos el script autoload.lua ejecutando el siguiente comando en la terminal:\njoan@gk55:~/.config/mpv/scripts$ wget https://raw.githubusercontent.com/mpv-player/mpv/master/TOOLS/lua/autoload.lua OPINIÓN SOBRE EL REPRODUCTOR DE VÍDEO MPV Es un reproductor de vídeo excelente, minimalista, configurable y ligero. Comparándolo con el archiconocido VLC mis conclusiones son las siguientes:\nEl reproductor Mpv es más ligero y minimalista. Ambos software tienen infinidad de opciones de configuración. Mpv permite la reproducción de vídeos online de infinidad de plataformas como por ejemplo Youtube y Twitch sin necesidad de realizar nada. De este modo mediante la extensión de Firefox ff2mpv utilizo mpv para reproducir gran parte de los vídeos que encuentro en las webs que visito. Mpv se maneja mediante atajos de teclado, mientras que VLC está pensado para usarse mediante su interfaz gráfica. Si son amantes del minimalismo y los atajos de teclado mpv es su reproductor. El reproductor Mpv también puede ser usado como un visor de imágenes. Como contrapartida considero que el reproductor VLC es superior en los siguientes aspectos:\nVLC es más eficiente a la hora de reproducir vídeo porque su consumo de CPU al reproducir un vídeo es ligeramente menor. En VLC la aceleración gráfica por hardware es ligeramente mejor que en mpv. VLC es capaz de reproducir el 100% de mis vídeos con aceleración gráfica por hardware. En mpv he encontrado algún vídeo que me ha dado problemas y el consumo de CPU se dispara. Mpv requiere de un proceso de configuración. En cambio si usamos VLC es cuestión de instalar y usar. Mi recomendación es que si les gusta el minimalismo, la terminal y los atajos de teclado usen Mpv. En cambio si no quieren problemas de ningún tipo ni quieren invertir tiempo en configuraciones entonces usen VLC.\nFuentes https://github.com/mpv-player/mpv/wiki https://wiki.debian.org/HardwareVideoAcceleration#mpv\n","permalink":"https://geeklandlinux.github.io/posts/instalar-y-configurar-el-reproductor-mpv-en-debian-y-derivados/","summary":"\u003cp\u003eEn numerosas ocasiones he escuchado gente hablando maravillas del reproductor de vídeo mpv. No obstante en mi caso lo instalaba en Debian y el rendimiento era pésimo. El consumo de CPU al reproducir los vídeos era extremadamente elevado y el motivo era porque la aceleración gráfica por hardware está deshabilitada de forma predeterminada. Por lo tanto si pretenden instalar, configurar y usar de forma satisfactoria mpv en Debian les recomiendo que sigan las siguientes instrucciones.\u003c/p\u003e","title":"Instalar y configurar el reproductor MPV en Debian y derivados"},{"content":"En ocasiones es necesario o práctico ejecutar un comando o un script en un equipo remoto sin tenerse que loguear a la shell del sistema operativo remoto. Para conseguir lo que acabo de realizar haremos uso de SSH para ejecutar comandos de forma remota. De esta forma podremos ejecutar comandos y scripts desde nuestro teléfono móvil con tan solo presionar un botón. También podremos automatizar un script para realizar una serie de tareas comunes en la totalidad de nuestros equipos de una sola tacada, etc.\nNota: La totalidad de comandos que verán a continuación se han ejecutado desde mi ordenador a una Raspberry Pi. Esta Raspberry Pi tiene un usuario llamado pi y su IP es la 192.168.1.254. Es importante conocer estos 2 parámetros antes de intentar seguir las instrucciones de este tutorial.\nEJECUTAR COMANDOS SIMPLES DE FORMA REMOTA A TRAVÉS DE SSH Pongamos el simple ejemplo que queremos consultar la temperatura de la GPU de nuestra Raspberry Pi. Para ello sabemos que podemos usar el siguiente comando:\nvcgencmd measure_temp Para ejecutar el comando de forma remota y de esta forma consultar la temperatura de mi Raspberry Pi desde mi ordenador ejecutaré un comando del siguiente tipo en la terminal:\nssh usuario@ip_equipo_remoto \u0026#34;comando_a_ejecutar\u0026#34; Como hemos comentado anteriormente:\nel usuario que uso en mi Raspberry Pi es pi. Mi equipo remoto, que es la Raspberry Pi, tiene la ip 192.168.1.254 El comando a ejecutar parar mostrar la temperatura de la GPU de la Raspberry Pu es vcgencmd measure_temp. De este modo si ejecuto el comando ssh pi@192.168.1.254 \u0026quot;vcgencmd measure_temp\u0026quot; obtendré el siguiente resultado:\njoan@gk55:~$ ssh pi@192.168.1.254 \u0026#34;vcgencmd measure_temp\u0026#34; Host key fingerprint is SHA256:U5Sz0l9/068szX7QWyNTtfo9TT0shTFphTeCkrSZyP8 +---[ECDSA 256]---+ | ,.a + o*.| | . .+++ +=Ox| | o +++ o..+| | 6. . ...B| | ·o .=*| | . f .oo+| | .*+.o| | oB*o| | o*oo| +----[SHA256]-----+ pi@192.168.1.254\u0026#39;s password: temp=38.9\u0026#39;C Por lo tanto veo claramente que la temperatura de mi GPU es 38.9 ºC.\nSi por ejemplo quisiera reiniciar un servidor web lighttpd de forma remota ejecutaría el siguiente comando:\njoan@gk55:~$ ssh pi@192.168.1.254 \u0026#34;service lighttpd restart\u0026#34; EJECUTAR MÚLTIPLES COMANDOS EN UN EQUIPO REMOTO MEDIANTE SSH Si queremos ejecutar más de un comando de forma simultanea tenemos varias opciones. La primera de ellas es usar un comando del siguiente tipo:\nssh usuario@ip_equipo_remoto \u0026#39;comando1; comando2; comando3\u0026#39; Otro alternativa es la siguiente:\nssh usuario@ip_equipo_remoto \u0026#34;comando1 \u0026amp;\u0026amp; comando2 \u0026amp;\u0026amp; comando3\u0026#34; Por lo tanto si queremos ver la carga de CPU y el espacio de almacenamiento disponible en mi Raspberry ejecutaré el siguiente comando en la terminal de mi ordenador.\njoan@gk55:~$ ssh pi@192.168.1.254 \u0026#39;uptime; df -h\u0026#39; Host key fingerprint is SHA256:U5Sz0l9/068szX7QWyNTtfo9TT0shTFphTeCkrSZyP8 +---[ECDSA 256]---+ | ,.a + o*.| | . .+++ +=Ox| | o +++ o..+| | 6. . ...B| | ·o .=*| | . f .oo+| | .*+.o| | oB*o| | o*oo| +----[SHA256]-----+ pi@192.168.1.254\u0026#39;s password: 11:58:07 up 1 day, 14:43, 1 user, load average: 0,81, 0,71, 0,73 S.ficheros Tamaño Usados Disp Uso% Montado en /dev/root 29G 4,0G 24G 15% / devtmpfs 430M 0 430M 0% /dev tmpfs 463M 0 463M 0% /dev/shm tmpfs 463M 6,4M 456M 2% /run tmpfs 5,0M 4,0K 5,0M 1% /run/lock tmpfs 463M 0 463M 0% /sys/fs/cgroup /dev/sda1 114G 15G 93G 14% /media/hd /dev/mmcblk0p1 253M 48M 205M 19% /boot tmpfs 93M 0 93M 0% /run/user/1000 Alternativamente también podríamos ejecutado el siguiente comando:\njoan@gk55:~$ ssh pi@192.168.1.254 \u0026#34;uptime \u0026amp;\u0026amp; df -h\u0026#34; EJECUTAR COMANDOS DE FORMA REMOTA A TRAVÉS DE SSH E INTERACTUAR CON LA SALIDA DEL COMANDO EJECUTADO En el caso que queramos ejecutar un comando que implique interactuar con él necesitamos que SSH asigne una pseudo-terminal (ptty) al iniciarse la sesión. Lo que acabo de mencionar lo haremos añadiendo la opción -t. De este modo si quiero consultar el monitor de recursos htop de mi Rasperry Pi tendré que ejecutar el siguiente comando:\njoan@gk55:~$ ssh -t pi@192.168.1.254 \u0026#34;htop\u0026#34; Nota: Si no asignamos al opción -t no podremos visualizar la información mostrada por htop. Para que htop muestre los resultados precisa de una terminal o pseudo-terminal.\nSi ahora queremos editar un fichero de forma remota mediante Vim también deberemos usar la opción -t. Para editar el script backup.sh almacenado en mi Raspberry Pi tendré que ejecutar el siguiente comando:\njoan@gk55:~$ ssh -t pi@192.168.1.254 \u0026quot;vim /home/pi/backup.sh\u0026quot;\nNota: Para que Vim funcione también necesitamos asignarle una terminal. Si no asignamos ninguna terminal no podrá ejecutarse.\nEJECUTAR COMANDOS DE FORMA REMOTA CON UN USUARIO DETERMINADO La totalidad de comandos vistos en este artículo han sido ejecutados por el usuario pi que es quien inicia la sesión SSH. Si ahora queremos iniciar la sesión SSH con el usuario pi y ejecutar uno o varios comandos como si fuéramos otro usuario ejecutaremos un comando del siguiente tipo:\nssh usuario@ip_equipo_remoto \u0026#34;sudo su usuario2 -c \u0026#39;comando\u0026#39;\u0026#34; Por lo tanto si quiero editar un script que tengo almacenado en mi Raspberry Pi como si fuera el usuario restic ejecutaré el siguiente comando en la terminal:\njoan@gk55:~$ ssh -t pi@192.168.1.254 \u0026#34;sudo su restic -c \u0026#39;nano /home/restic/restic/run_backup.sh\u0026#39;\u0026#34; Nota: Fíjense que por lo comentado en el apartado anterior he añadido la opción -t en el comando.\nEJECUTAR UN SCRIPT DE UN EQUIPO LOCAL EN UN SERVIDOR REMOTO Para ejecutar un script que tenemos en nuestro ordenador en un equipo remoto tenemos que ejecutar un comando del siguiente tipo:\nssh usuario@ip_equipo_remoto \u0026#39;bash -s\u0026#39; \u0026lt; nombre_script.sh Por lo tanto para ejecutar un simple script con nombre test.sh ejecutaré el siguiente comando en mi caso:\njoan@gk55:~$ ssh pi@192.168.1.254 \u0026#39;bash -s\u0026#39; \u0026lt; test.sh Host key fingerprint is SHA256:U5Sz0l9/068szX7QWyNTtfo9TT0shTFphTeCkrSZyP8 +---[ECDSA 256]---+ | ,.a + o*.| | . .+++ +=Ox| | o +++ o..+| | 6. . ...B| | ·o .=*| | . f .oo+| | .*+.o| | oB*o| | o*oo| +----[SHA256]-----+ pi@192.168.1.254\u0026#39;s password: raspberrypi 14:31:22 up 1 day, 17:16, 2 users, load average: 0,31, 0,59, 0,77 Si observamos el resultado obtenido vemos que el script nos proporciona el hostname y la carga de CPU del equipo remoto.\nEJECUTAR UN SCRIPT O UN COMANDO A MULTITUD DE SERVIDORES DE FORMA SIMULTANEA Si ahora queremos ejecutar un script local que tenemos en nuestro equipo a multitud de equipos remotos de forma simultanea procederemos del siguiente modo:\nPrimero crearemos un fichero de texto con el nombre remotes.txt que contendrá la totalidad de usuarios e IP\u0026rsquo;s de los servidores en que queremos ejecutar el script. Para ello ejecutaremos el siguiente comando\njoan@gk55:~$ nano remotes.txt Una vez se abra el editor de textos nano introduciremos los usuarios e IP\u0026rsquo;s para establecer la conexión con los equipos remotos. En mi caso los datos son los siguientes:\npi@192.168.1.253 pi@192.168.1.254 vps\nA continuación generaré un script simple que quiero ejecutar en todos mis equipos. Para ello ejecutaré el siguiente comando:\njoan@gk55:~$ nano script.sh Cuando se abra el editor de textos escribiremos un script para por ejemplo mostrar el hostname y la carga de CPU de los equipos remotos que definimos en el fichero remotes.txt:\n#!/bin/bash hostname uptime\nActo seguido guardaremos los cambios y daremos permisos de ejecución al script mediante el siguiente comando:\njoan@gk55:~$ chmod +x script.sh\nFinalmente crearemos el script remotexec.sh que será el encargado de ejecutar el script script.sh en los equipos, pi@192.168.1.253, pi@192.168.1.254 y vps. Para ello ejecutaremos el siguiente comando en la terminal:\njoan@gk55:~$ nano remotexec.sh\nCuando se abra el editor de textos nano escribiremos el siguiente siguiente código:\n#!/bin/bash servidores=$(cat remotes.txt) for host in $servidores; do ssh $host \u0026#39;bash -s\u0026#39; \u0026lt; script.sh done Acto seguido guardaremos los cambios y daremos permisos los correspondientes permisos de ejecución.\njoan@gk55:~$ chmod +x remotexec.sh Finalmente ejecutamos el script y veremos que los resultados obtenidos son los siguientes:\njoan@gk55:~$ bash remotexec.sh Host key fingerprint is SHA256:2KijF4FHWzXONP474Lq9BERhc8H8IO5ndriuUrXnV3Q +---[ECDSA 256]---+ | ==B. | | .ooB+o | | o +..+o | | . +..+... . E| | . o+.So. . . | | ..oo*.o. . | | oo +o=o . | | .o. +. ... | | .. .+++. . | +----[SHA256]-----+ pi@192.168.1.253\u0026#39;s password: raspberrypi 20:52:18 up 1 day, 23:37, 1 user, load average: 1,23, 1,03, 0,88 Host key fingerprint is SHA256:U3Sz0l9/065szL7QWytyewyhgfdsrtwshTFphTeCkrSZyM8 +---[ECDSA 256]---+ | ..o + o*.| | . .+++ +=oo| | o ++ o..++| | o. . ...B| | \u0026amp;% .=*| | . .ff+| | .*+.o| | oB*o| | o*oo| +----[SHA256]-----+ pi@192.168.1.254\u0026#39;s password: raspberrypi 20:52:21 up 1 day, 23:37, 0 users, load average: 0,08, 0,19, 0,37 Host key fingerprint is SHA256:Hy066f+p0m4auytrkiyuWPst0UsDUxp4SinQfYfs5lb8ZQ +---[ECDSA 256]---+ | o o+o | | o o o++ . | | o *.= = E | | B . O = | | . + B S T + | | + B = B | | + B * | | . . C | | . . | +----[SHA256]-----+ ubuntu-20-04 20:52:24 up 1 day, 23:28, 0 users, load average: 0,08, 0,03, 0,01 Nota: Para hacer este tipo de tarea es conveniente tener configurado correctamente el acceso sin contraseña a los distintos equipos remotos. También es útil tener configurado adecuadamente el cliente SSH.\nEJECUTAR SCRIPTS DE LARGA DURACIÓN A TRAVÉS DE SSH Si ejecutamos un script de larga duración de forma remota a través de SSH es posible que se detenga antes de finalizar su ejecución. Para evitar este problema tendremos que usar screen o nohup.\nPara poder usar screen y/o nohup deberán instalar los siguientes paquetes en el equipo remoto:\nsudo apt install screen coreutils Para por ejemplo ejecutar un script con nombre backup.sh, ubicado en mi Raspberry Pi y que realiza una copia haremos lo siguiente:\nSi lo hacemos mediante la utilidad screen ejecutaremos el siguiente comando en la terminal:\njoan@gk55:~$ ssh pi@192.168.1.254 \u0026#34;screen -d -m /home/pi/backup.sh\u0026#34; Si por lo contrario queremos usar nohup deberemos ejecutar el siguiente comando:\njoan@gk55:~$ ssh -t pi@192.168.1.254 \u0026#34;nohup /home/pi/backup.sh \u0026amp;\u0026#34; Con cualquiera de las opciones podremos iniciar la ejecución del script y cerrar la sesión SSH sin problema alguno. Aunque lo hagamos la copia de seguridad se realizará sin ningún tipo de problema.\nFuentes https://www.atareao.es/como/ssh-a-fondo/\n","permalink":"https://geeklandlinux.github.io/posts/ejecutar-comandos-y-scripts-con-ssh-en-equipos-remotos/","summary":"\u003cp\u003eEn ocasiones es necesario o práctico ejecutar un comando o un script en un equipo remoto sin tenerse que loguear a la shell del sistema operativo remoto. Para conseguir lo que acabo de realizar haremos uso de SSH para ejecutar comandos de forma remota. De esta forma podremos ejecutar comandos y scripts desde nuestro teléfono móvil con tan solo presionar un botón. También podremos automatizar un script para realizar una serie de tareas comunes en la totalidad de nuestros equipos de una sola tacada, etc.\u003c/p\u003e","title":"Ejecutar comandos y scripts con ssh en equipos remotos"},{"content":"A continuación veremos como instalar la última versión de Owncloud mediante Docker y el Proxy inverso Traefik V2. El método que verán a continuación se puede aplicar en equipos con arquitectura arm y amd64. En mi caso he seguido el procedimiento que veréis a continuación en una Raspberry Pi 4.\nPREPARACIÓN PREVIA PARA INSTALAR OWNCLOUD MEDIANTE DOCKER Y EL PROXY INVERSO TRAEFIK v2 Para seguir las instrucciones de este tutorial tienen que tener instalado Docker, Docker-compose y el proxy inverso Traefik v2. Además tienen que disponer de un dominio para que sea posible acceder a nuestro servidor desde fuera de nuestra red local. Para cumplir los requisitos que acabo de citar tienen que seguir las siguientes instrucciones.\nInstalar Docker y Docker-compose Para la instalación de Docker y Docker-compose deben seguir las instrucciones que dejo en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-docker-y-docker-compose-en-linux/\nInstalar y configurar el proxy inverso Traefik v2 Necesitamos un dominio y un proxy inverso para poder instalar y usar Owncloud de forma segura. Para conseguir lo que acabo de mencionar deben seguir las instrucciones que encontrarán en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-y-configurar-traefik-v2-para-usarlo-como-proxy-inverso/\nUna vez finalizado el proceso de configuración tendremos instalado y configurado Traefik. Además dispondremos de un dominio que en mi caso es:\nejemplo1.duckdns.org Solo en el caso de usar una Raspberry Pi con Raspbian Buster instalar el paquete libseccomp2 Los repositorios de Raspbian Buster disponen de una versión demasiado antigua del paquete lbseccomp. Por lo tanto si tienen una Raspberry Pi lo primero que tienen que hacer es descargar una versión más actual de libseccomp2 mediante el siguiente comando:\nwget http://ftp.br.debian.org/debian/pool/main/libs/libseccomp/libseccomp2_2.5.1-1_armhf.deb A continuación instalaremos el paquete que acabamos de descargar ejecutando el siguiente comando:\nsudo dpkg -i libseccomp2_2.5.1-1_armhf.deb Crear los directorios donde se montarán los volúmenes de persistencia Una vez hayamos instalado el paquete libseccomp2 crearemos los directorios donde montaremos los volúmenes de persistencia de Owncloud. Para ello en mi caso crearé la ruta ~/services/owncloud ejecutando los siguientes comandos en la terminal.\npi@raspberrypi:~ $ mkdir ~/services pi@raspberrypi:~ $ mkdir ~/services/owncloud A continuación crearemos los directorios backup, files, mysql y redis ejecutando los siguientes comandos:\npi@raspberrypi:~ $ mkdir ~/services/owncloud/backup pi@raspberrypi:~ $ mkdir ~/services/owncloud/files pi@raspberrypi:~ $ mkdir ~/services/owncloud/mysql pi@raspberrypi:~ $ mkdir ~/services/owncloud/redis El contenido que almacenará cada uno de los directorios será el siguiente:\nDirectorio Contenido backup Las copias de seguridad de la base de datos. Para realizar una copia de seguridad de la base de datos y almacenarla en este directorio tan solo tenéis que ejecutar el comando sudo docker-compose exec db backup files Contendrá los archivos almacenados en nuestra nube. También contendrá los ficheros de configuración, ficheros de las aplicaciones instaladas, etc. Es importante realizar una copia de seguridad de este directorio/volumen de persistencia. mysql Contendrá la totalidad de ficheros de nuestra base de datos MySQL. redis Contiene las bases de datos que genera el servidor Redis. Obviamente también es interesante realizar una copia de seguridad de este directorio. CREAR EL DOCKER COMPOSE PARA INSTALAR OWNCLOUD El siguiente paso consiste en crear el docker-compose para levantar el contenedor de owncloud. Para ello crearemos un directorio que almacenará el docker-compose de Owncloud\npi@raspberrypi:~ $ mkdir ~/owncloud A continuación ejecutaremos el siguiente comando para crear el archivo el archivo docker-compose.yml\npi@raspberrypi:~ $ touch ~/owncloud/docker-compose.yml Seguidamente ejecutaremos el siguiente comando para editar el fichero docker-compose.yml\npi@raspberrypi:~ $ nano ~/owncloud/docker-compose.yml Cuando se abra el editor de textos nano pegaremos el siguiente código:\nversion: \u0026#39;2.1\u0026#39; volumes: files: driver: local mysql: driver: local backup: driver: local redis: driver: local services: owncloud: image: owncloud/server:${OWNCLOUD_VERSION} restart: unless-stopped ports: - ${HTTP_PORT}:8080 depends_on: - db - redis links: - db:db environment: - OWNCLOUD_DOMAIN=${OWNCLOUD_DOMAIN} - OWNCLOUD_DB_TYPE=mysql - OWNCLOUD_DB_NAME=owncloud - OWNCLOUD_DB_USERNAME=owncloud - OWNCLOUD_DB_PASSWORD=owncloud - OWNCLOUD_DB_HOST=db - OWNCLOUD_ADMIN_USERNAME=${ADMIN_USERNAME} - OWNCLOUD_ADMIN_PASSWORD=${ADMIN_PASSWORD} - OWNCLOUD_MYSQL_UTF8MB4=true - OWNCLOUD_REDIS_ENABLED=true - OWNCLOUD_REDIS_HOST=redis healthcheck: test: [\u0026#34;CMD\u0026#34;, \u0026#34;/usr/bin/healthcheck\u0026#34;] interval: 30s timeout: 10s retries: 5 volumes: - /home/pi/services/owncloud/files:/mnt/data labels: - traefik.enable=true - traefik.http.routers.owncloud.rule=Host(`owncloud.ejemplo1.duckdns.org`) - traefik.http.routers.owncloud.tls=true - traefik.http.routers.owncloud.entrypoints=websecure - traefik.http.routers.owncloud.tls.certresolver=lets-encrypt - traefik.http.middlewares.owncloud-headers.headers.framedeny=false - traefik.http.middlewares.owncloud-headers.headers.sslredirect=true - traefik.http.middlewares.owncloud-headers.headers.stsSeconds=155520011 - traefik.http.middlewares.owncloud-headers.headers.stsIncludeSubdomains=true - traefik.http.middlewares.owncloud-headers.headers.stsPreload=true - traefik.http.routers.owncloud.middlewares=owncloud-headers@docker - traefik.port=8080 networks: - internal - web db: image: webhippie/mariadb:latest restart: unless-stopped environment: - MARIADB_ROOT_PASSWORD=owncloud - MARIADB_USERNAME=owncloud - MARIADB_PASSWORD=owncloud - MARIADB_DATABASE=owncloud - MARIADB_MAX_ALLOWED_PACKET=128M - MARIADB_INNODB_LOG_FILE_SIZE=64M - PUID=1000 - PGID=1000 - TZ=Europe/Madrid healthcheck: test: [\u0026#34;CMD\u0026#34;, \u0026#34;/usr/bin/healthcheck\u0026#34;] interval: 30s timeout: 10s retries: 5 volumes: - /home/pi/services/owncloud/mysql:/var/lib/mysql - /home/pi/services/owncloud/backup:/var/lib/backup networks: - internal labels: - traefik.enable=false redis: image: webhippie/redis:latest restart: unless-stopped environment: - REDIS_DATABASES=1 healthcheck: test: [\u0026#34;CMD\u0026#34;, \u0026#34;/usr/bin/healthcheck\u0026#34;] interval: 30s timeout: 10s retries: 5 volumes: - /home/pi/services/owncloud/redis:/var/lib/redis networks: - internal labels: - traefik.enable=false networks: web: external: true internal: external: false Sobre el código que acaban de pegar tienen que tener en cuenta los siguientes aspectos:\nDeberéis reemplazar la ruta de los volúmenes de persistencia por las rutas que vosotros hayáis definido. Tenéis que reemplazar el dominio owncloud.ejemplo1.duckdns.org por su dominio. Pueden reemplazar los nombres, los usuarios y la contraseña de la base de datos. De esta forma incrementaréis la seguridad de su nube. Pueden cambiar la zona horaria en la definición del contenedor de la base de datos. Definimos que traefik vaya a buscar el servicio que está escuchando en el puerto 8080. En el puerto 8080 estará escuchando Owncloud. Configurar parámetros adicionales para levantar el contenedor e instalar Owncloud A continuación crearemos un archivo oculto en que definiremos una serie de parámetros para levantar el contenedor de owncloud. Para ello ejecutamos el siguiente comando:\npi@raspberrypi:~ $ nano ~/owncloud/.env Una vez se abra el editor de textos nano pegamos el siguiente código:\nOWNCLOUD_VERSION=10.6 OWNCLOUD_DOMAIN=owncloud.ejemplo1.duckdns.org:8080 ADMIN_USERNAME=admin ADMIN_PASSWORD=admin HTTP_PORT=8080 Mediante el siguiente código definimos los siguientes parámetros:\nLa versión de owncloud que instalaremos será la 10.6. Para ver las versiones de Owncloud disponibles y asegurar que instalamos la más actual pueden visitar el siguiente enlace. El dominio con el que accederemos a Owncloud será owncloud.ejemplo1.duckdns.org:8080 y owncloud estará escuchando en el puerto 8080. El puerto 8080 deberá coincidir con el que hemos usado en la etiqueta - traefik.port=8080 del Docker-Compose. Obviamente en vuestro caso tendréis que usar vuestro dominio. El nombre y la contraseña del administrador de la nube Owncloud. Por temas de seguridad cambiad la opción por defecto. El usuario y la contraseña que hayáis definido será la que tendréis que usar para loguearos a Owncloud. Una vez introducido el código guardáis los cambios y cerráis el fichero. En estos momentos ya podemos levantar el contenedor y empezar a usar Owncloud, pero antes explicaremos el procedimiento que hemos seguido para poder usar Owncloud a través del proxy inverso Traefik V2.\nEXPLICACIÓN DE LOS PARÁMETROS USADOS EN EL DOCKER-COMPOSE PARA INSTALAR OWNCLOUD CON TRAEFIK Con el servicio Traefik v2 configurado de forma correcta tan solo tenemos que añadir las etiquetas pertinentes al Docker-Compose para configurar el servicio que levantaremos a nuestro gusto. Las etiquetas y parámetros introducidos en mi caso han sido los siguientes.\nDefinir los contenedores que serán accesibles desde el exterior de la red local a través de Traefik Lo primero que tenemos que tener claro son los contenedores que queremos exponer al exterior y los que no. En nuestro caso tenemos los contenedores owncloud, db y redis. El único contenedor que tiene que ser accesible fuera de nuestra red local es el de owncloud. Por lo tanto en las etiquetas (labels) de los contenedores de redis y db añadimos el siguiente código:\n- traefik.enable=false\nEn cambio en el contenedor de owncloud añadimos la etiqueta:\n- traefik.enable=true Configurar el Router para acceder a Owncloud A continuación definiremos un router con el nombre owncloud para que que podamos acceder al servicio Owncloud. Para crear el router usaremos las siguientes etiquetas:\n- traefik.http.routers.owncloud.rule=Host(`owncloud.ejemplo1.duckdns.org`) - traefik.http.routers.owncloud.tls=true - traefik.http.routers.owncloud.entrypoints=websecure - traefik.http.routers.owncloud.tls.certresolver=lets-encrypt Con el uso de las etiquetas que acabo de citar conseguiremos lo siguiente:\nEl dominio para acceder a owncloud será owncloud.ejemplo1.duckdns.org. En vuestro caso deberéis reemplazar la parte del dominio ejemplo1.duckdns.org por el dominio que tengáis. Owncloud solo aceptará peticiones https. Las peticiones http serán ignoradas. Definiremos el entrypoint para el contenedor Owncloud sea websecure. Los certificados usados para cifrar el tráfico serán los de Let\u0026rsquo;s Encrypt. Para obtener información adicional acerca de los router pueden consultar el siguiente enlace.\nConfigurar un middleware para definir las cabeceras que tendrán las peticiones y respuestas de Owncloud A continuación tenemos que crear un Middleware con el nombre owncloud-headers para añadir las cabeceras pertinentes a las peticiones y respuestas de Owncloud. Las etiquetas necesarias para añadir las cabeceras son las siguientes:\n- traefik.http.middlewares.owncloud-headers.headers.framedeny=false - traefik.http.middlewares.owncloud-headers.headers.sslredirect=true - traefik.http.middlewares.owncloud-headers.headers.stsSeconds=155520011 - traefik.http.middlewares.owncloud-headers.headers.stsIncludeSubdomains=true - traefik.http.middlewares.owncloud-headers.headers.stsPreload=true Con estas etiquetas Owncloud quedará configurado de forma correcta y no nos dará ninguna advertencia de seguridad. Para consultar el significado de cada una de las etiquetas añadidas pueden consultar el siguiente enlace.\nInterconectar el Router ownlcloud con el middleware owncloud-headers A estas alturas tenemos un router con el nombre owncloud y un middleware con el nombre owncloud-headers. Para que Owncloud use las cabeceras correctas hay que interconectar el router con el middleware mediante la siguiente etiqueta.\n- traefik.http.routers.owncloud.middlewares=owncloud-headers@docker\nGracias a esta etiqueta todas las peticiones y respuestas de Owncloud tendrán las cabeceras correctas y no recibiremos ninguna advertencia.\nDefinir el puerto en el que estará esperando peticiones Owncloud En la última etiqueta definimos el puerto en el que Traefik irá a buscar a Owncloud. En nuestro caso definimos que sea el puerto 8080 mediante la siguiente etiqueta:\n- traefik.port=8080\nNota: Si tienen el puerto 8080 ocupado pueden usar otro puerto. Aunque Owncloud esté escuchando en el puerto 8080 será accesible mediante la URL que hemos definido en el router a través del puerto 80. Esta es la magia del proxy inverso.\nDefinir la red en que se levantará cada uno de los contenedores Al configurar Traefik v2 definimos que actuaria en la totalidad de contenedores levantados en la red web. El contenedor owncloud tiene que ser accesible desde fuera y dentro de nuestra red local. Por lo tanto mediante el siguiente código definimos que el contenedor owncloud sea accesible a través de la red internal y la red web.\n**`networks: - internal - web`** El resto de contenedores no tienen que ser accesibles des del exterior de nuestra red local. Por lo tanto tan solo tenemos que levantarlos en la red internal y esto lo hacemos mediante el siguiente código.\n**`networks: - internal`** INSTALAR OWNCLOUD LEVANTANDO EL CONTENEDOR DOCKER Ahora tan solo tenemos que levantar el contenedor de Owncloud. Para ello en la ubicación donde almacenamos el fichero docker-compose.yml ejecutamos el siguiente comando en la terminal\npi@raspberrypi:~/owncloud $ docker-compose up -d Acto seguido esperáis unos segundos para que se levanten los contenedores y ya podréis acceder a su nube Owncloud. Para ello abran su navegador e introduzcan el dominio que hayan definido para acceder a su nube. El usuario y contraseña para poder loguearse por primera vez será la que han definido en el fichero .env.\nUna se hayan logueado podrán empezar a configurar y usar su nube.\nPor lo tanto ya ven que con un mínimo de práctica en cuestión 3 o 4 minutos podemos levantar una nube personal y además será accesible estemos donde estemos.\nFuentes https://doc.owncloud.com/server/admin_manual/installation/docker/\n","permalink":"https://geeklandlinux.github.io/posts/instalar-owncloud-docker-y-traefik-v2/","summary":"\u003cp\u003eA continuación veremos como instalar la última versión de Owncloud mediante Docker y el Proxy inverso Traefik V2. El método que verán a continuación se puede aplicar en equipos con arquitectura arm y amd64. En mi caso he seguido el procedimiento que veréis a continuación en una Raspberry Pi 4.\u003c/p\u003e","title":"Instalar Owncloud mediante Docker y el proxy inverso Traefik v2"},{"content":"Meses atrás vimos como instalar configurar y usar la versión 1.7 del proxy inverso Traefik. A continuación veremos como configurar, instalar y entender la versión 2 de Traefik. Pero antes de empezar es importante conocer bien las diferencias existentes entre Traefik v1 y Traefik v2 y entender como funciona la versión 2 de Traefik.\n¿CÓMO FUNCIONA LA VERSIÓN 2 DE TRAEFIK? La principales diferencias entre la versión 2 y la versión 1 de Traefik son las siguientes:\nEn la versión 2 no existen los frontend y los backend. Los frontend y los backend han sido sustituidos por los routers, middlewares y services. Por lo tanto en la versión 2 de Traefilk tendremos Entrypoints, Services, Routers, y proveedores de certificados. El funcionamiento de cada uno de estos elementos se describe a continuación.\nPuntos de entrada o Entrypoints Los Puntos de entrada (Entrypoints) forman parte de la configuración estática y sirven para declarar los puertos en que estará escuchando Traefik. Para declarar los puntos de entrada tan solo tendremos que usar el siguiente código en el fichero de configuración traefik.toml.\n[entryPoints] [entryPoints.web] address = \u0026#34;:80\u0026#34; [entryPoints.web.http.redirections.entryPoint] to = \u0026#34;websecure\u0026#34; scheme = \u0026#34;https\u0026#34; [entryPoints.websecure] address = \u0026#34;:443\u0026#34; Que son los Servicios (services) en la versión 2 de Traefik Los servicios (services) representan la aplicación web a la que queremos acceder a través de Traefik. Por ejemplo Owncloud, Nextcloud, Bitwarden, etc. Por lo tanto para cada Docker que levantemos Traefik creará un servicio de forma completamente automática. Para asegurar que el servicio que se levante sea accesible a través de Traefik tendremos que usar la etiqueta traefik.enable=true\nversion: \u0026#39;3\u0026#39; services: filebrowser image: \u0026#34;hurlenko/filebrowser\u0026#34; labels: - \u0026#34;traefik.enable=true\u0026#34; Nota: Si la etiqueta traefik.enable=true tuviera el valor false Filebrowser no seria accesible a través de Traefik.\nSi la configuración automática por defecto no es la que queremos, la podremos modificar mediante las etiquetas o labels en Docker compose. De este modo podremos por ejemplo levantar más de una instancia del mismo contenedor y que por ejemplo se realice un balanceo de carga entre las diversas instancias.\nQue son los Routers en la versión 2 de Traefik Los routers son los encargados de interconectar los puntos de entrada (Entrypoints) con los servicios (services). Gracias a los routers se redirigirá nuestra petición y podremos acceder a nuestro servicio. Las etiquetas (labels) necesarias para definir un router en el Docker compose son:\nversion: \u0026#39;3\u0026#39; services: filebrowser image: \u0026#34;hurlenko/filebrowser\u0026#34; labels: - \u0026#34;traefik.enable=true\u0026#34; - \u0026#34;traefik.http.routers.filebrowser.rule=Host(`filebrowser.example.com`)\u0026#34; - \u0026#34;traefik.http.routers.filebrowser.entrypoints=secure\u0026#34; - \u0026#34;traefik.http.routers.filebrowser.tls.certresolver=le\u0026#34; Con las tres líneas que acabamos de añadir:\nDefinimos que el router definido con el nombre filebrowser solo actúe cuando las peticiones se hacen al dominio filebrowser.example.com. Establecemos que el entrypoint o punto de entrada es a través del puerto 443. Establecemos que el proveedor de certificados sea Let\u0026rsquo;s Encrypt. Proveedores de certificados (Certificate resolvers) Los proveedores de certificados nos ayudan a obtener los certificados SSL para nuestros servicios. Existen varios proveedores, pero lo más común es usar Let\u0026rsquo;s Encrypt. Añadiendo el siguiente código en el fichero de configuración traefik.toml conseguiremos nuestro propósito.\n[certificatesResolvers.lets-encrypt.acme] email = \u0026#34;email@email.com\u0026#34; storage = \u0026#34;acme.json\u0026#34; [certificatesResolvers.lets-encrypt.acme.tlsChallenge] Nota: Deberán reemplazar el email existente en el ejemplo por su email.\nMiddlewares en la versión 2 de Traefik Los Middlewares están entre el punto de entrada (Entrypoint) y los servicios (Services). Los Middleware interceptaran la totalidad del tráfico entre el punto de entrada y el servicio. En función de los valores del tráfico interceptado los middleware realizarán acciones como por ejemplo las siguientes:\nLimitar el número de peticiones que un usuario determinado puede realizar sobre un servicio. Limitar el número de conexiones simultaneas a un determinado servicio. Añadir autenticación para que un usuario pueda acceder a un servicio. Definir las IP o rango de IP que podrán acceder a un servicio. Hacer que la respuesta del servicio al cliente se envíe de forma comprimida mediante gzip. Redirigir la totalidad de peticiones http a https. Etc. Nota: Un middleware se puede usar para más de un contenedor.\nExisten multitud de middlwares preconfigurados en Traefik. En el siguiente enlace encontrarán la totalidad de middleware disponibles. También encontrarán las etiquetas a usar para configurar cada uno de los middleware en los Docker compose.\nCONSEGUIR UN DOMINIO PARA PODER ACCEDER A NUESTROS SERVICIOS Es necesario disponer de un dominio para poder llegar al servidor en el que instalaremos Traefik y levantaremos los Docker. Si no tenéis ningún dominio podéis usar un dominio de un servicio DDNS como DuckDNS. En mi caso crearé el dominio ejemplo1.duckdns.org siguiendo las siguientes instrucciones:\nhttps://geeklandlinux.github.io/posts/instalar-y-configurar-duck-dns-con-docker/\nCREAR UNA CONTRASEÑA PARA LOGUEARSE A TRAEFIK El primer paso consiste en crear un hash para loguearnos al panel web de Traefik. Para generar el hash deberemos instalar el paquete apache2-utils ejecutando el siguiente comando en la terminal:\nubuntu@netherlands:~$ sudo apt-get install apache2-utils Una vez instalado el paquete crearemos el hash. Para ello deberemos definir un nombre de usuario y una contraseña para este usuario. En mi caso el usuario es geekland y la contraseña es passwordgeekland. Una vez definidos estos parámetros ejecutaremos el siguiente comando para generar el hash de la contraseña passwordgeekland:\nubuntu@netherlands:~$ htpasswd -nb geekland passwordgeekland geekland:$adv1$QRkRTxki$2/wpm9wZoobDe.M/ldit5/ Si observamos la salida del comando vemos que el usuario geekland tiene el hash $adv1$QRkRTxki$2/wpm9wZoobDe.M/ldit5/. Anotad bien el usuario, la contraseña y el hash. Más adelante los necesitaremos.\nCREAR LA CONFIGURACIÓN DE TRAEFIK 2 La versión 2 de Traefik dispone de los siguientes archivos de configuración:\ntraefik.toml: Contiene la configuración estática, o dicho de otra forma de las partes que no cambiarán en tiempo de ejecución. Por lo tanto en este fichero definiremos los puertos en que Traefik estará escuchando (Entrypoints), la parte de obtención de certificados a través de Let\u0026rsquo;s Ecrypt, etc. traefik_dynamic.toml: Contiene la configuración dinámica, o dicho de otra forma la configuración de los parámetros para que Traefik pueda detectar los cambios que se producen en nuestra infraestructura. Gracias a este fichero Traefik actualizará automáticamente su configuración cuando ocurran ciertos eventos. Por ejemplo actualizará de forma automática la configuración cuando arranquemos un nuevo contenedor para que se enrute el tráfico. En el caso que paremos un contenedor también se modificará la configuración para dejar de enrutarse el tráfico en el contenedor que paremos, etc. Para detectar los cambios que se producen en el servicio Traefik usará los **providers**. Los providers serán los encargados de monitorizar los cambios y una vez detectados aplicarán configuraciones preestablecidas para dar respuesta a los cambios. Traefik dispone de multitud de providers disponibles para su uso. acme.json: Almacena los certificados que Traefik genera para cada uno de nuestro servicios. Por lo tanto lo primero que tenemos que realizar es crear los 3 ficheros de configuración que acabo de citar ejecutando los siguientes comandos en la terminal:\ntouch traefik.toml touch traefik_dynamic.toml touch acme.json También otorgaremos los permisos adecuados al fichero acme.json ejecutando el siguiente comando en la terminal:\nchmod 600 acme.json A continuación iniciaremos la configuración del fichero traefik.toml.\nConfiguración estática en el fichero traefik.toml En la terminal ejecutamos el siguiente comando:\nubuntu@netherlands:~$ nano traefik.toml Cuando se abra el editor de textos tenemos que especificar los puertos en que estará escuchando Traefik (Entrypoints). En la gran mayoría de casos los puertos serán el 80 y el 443. Por lo tanto generaremos 2 Entrypoints con los nombres web y websecure que estarán escuchando en el puerto 80 y 443. Para ello pegaremos el siguiente código en el editor de textos:\n[entryPoints] [entryPoints.web] address = \u0026#34;:80\u0026#34; [entryPoints.web.http.redirections.entryPoint] to = \u0026#34;websecure\u0026#34; scheme = \u0026#34;https\u0026#34; [entryPoints.websecure] address = \u0026#34;:443\u0026#34; A continuación habilitaremos el Dashboard y la API de traefik. Para realizar lo que acabo de citar deberemos añadir el siguiente código en el fichero traefik.toml.\n[api] dashboard = true Para que Let\u0026rsquo;s Encrypt genere los certificados https usaremos el siguiente código. En vuestro caso deberéis reemplazar el correo del ejemplo por vuestro correo. El código pegado hará que Traefik se comunique con Let\u0026rsquo;s Encrypt mediante el protocolo acme. Una vez generados los certificados los almacenará en el fichero acme.json que creamos en el inicio de este apartado:\n[certificatesResolvers.lets-encrypt.acme] email = \u0026#34;email@email.com\u0026#34; storage = \u0026#34;acme.json\u0026#34; [certificatesResolvers.lets-encrypt.acme.tlsChallenge] Finalmente configuraremos Traefik para que pueda funcionar con Docker. Para ello añadiremos el siguiente código:\n[providers.docker] watch = true network = \u0026#34;web\u0026#34; Con el código que acabamos de añadir Traefik actuará como proxy en la totalidad de Docker que estén levantados en la red web. Por lo tanto cualquier contenedor que se levante dentro de la red web será accesible des del exterior a través del puerto 443 sin necesidad de realizar ninguna configuración.\nFinalmente añadiremos una última línea de código para decirle a Traefik que tenga en cuenta la totalidad de reglas que definiremos en el fichero traefik_dynamic.toml\n[providers.file] filename = \u0026#34;traefik_dynamic.toml\u0026#34; Una vez introducidos todos los cambios tendremos el siguiente código dentro del fichero traefik.toml\n[entryPoints] [entryPoints.web] address = \u0026#34;:80\u0026#34; [entryPoints.web.http.redirections.entryPoint] to = \u0026#34;websecure\u0026#34; scheme = \u0026#34;https\u0026#34; [entryPoints.websecure] address = \u0026#34;:443\u0026#34; [api] dashboard = true [certificatesResolvers.lets-encrypt.acme] email = \u0026#34;email@email.com\u0026#34; storage = \u0026#34;acme.json\u0026#34; [certificatesResolvers.lets-encrypt.acme.tlsChallenge] [providers.docker] watch = true network = \u0026#34;web\u0026#34; [providers.file] filename = \u0026#34;traefik_dynamic.toml\u0026#34; Con la configuración realizada podemos guardar los cambios y cerrar el fichero.\nConfiguración dinámica en el fichero traefik_dynamic.toml En la ubicación donde crearon el fichero traefik_dynamic.toml ejecutan el siguiente comando:\nubuntu@netherlands:~$ nano traefik_dynamic.toml Cuando se abra el editor de texto configuraremos los **middlewares** y los **routers**. Como hemos dicho anteriormente los middlewares son los encargados de modificar las peticiones realizadas por un usuario antes que lleguen al destino final o servicio (services).\nPara añadir un middleware de autenticación para un servicio cualquiera añadiremos el siguiente código.\n[http.middlewares.simpleAuth.basicAuth] users = [ \u0026#34;geekland:$adv1$QRkRTxki$2/wpm9wZoobDe.M/ldit5/\u0026#34; ] El código que acabamos copiar realiza lo siguiente:\n[http.middlewares.simpleAuth.basicAuth]: Especificamos que estamos configurando un middleware con el nombre simpleAuth. También definimos que el tipo de middleware preconfigurado que usaremos es el basicAuth. Si realizamos la configuración correctamente todo usuario que acceda a un servicio conectado con el middleware SimpleAuth tendrá que introducir un usuario y una contraseña. Otro tipo de middleware de autenticación alternativo a basicAuth es el digestauth. geekland:$adv1$QRkRTxki$2/wpm9wZoobDe.M/ldit5/\u0026quot;: Especificamos el usuario y el hash de la contraseña del usuario que queremos que tenga acceso al servicio. A partir de estos momentos cualquier usuario que se quiera conectar a un servicio o a un docker que está linkado con el middleware simpleAuth tendrá que introducir su usuario y su contraseña.\nA continuación crearemos un router para el panel de administración de traefik. En el momento que el router esté creado y reciba una petición al dominio monitor.ejemplo1.duckdns.org la redireccionará a https y hará que pase por el middleware de autenticación simpleAuth. Cuando nos hayamos autenticado correctamente la petición se redericcionará des del middleware al servicio que en este caso será el panel web de administración de Traefik.\n[http.routers.api] rule = \u0026#34;Host(`monitor.ejemplo1.duckdns.org`)\u0026#34; entrypoints = [\u0026#34;websecure\u0026#34;] middlewares = [\u0026#34;simpleAuth\u0026#34;] service = \u0026#34;api@internal\u0026#34; [http.routers.api.tls] certResolver = \u0026#34;lets-encrypt\u0026#34; Una vez realizados todos los pasos correctamente el fichero traefik_dynamic.toml tendrá el siguiente aspecto:\n[http.middlewares.simpleAuth.basicAuth] users = [ \u0026#34;geekland:$adv1$QRkRTxki$2/wpm9wZoobDe.M/ldit5/\u0026#34; ] [http.routers.api] rule = \u0026#34;Host(`monitor.ejemplo1.duckdns.org`)\u0026#34; entrypoints = [\u0026#34;websecure\u0026#34;] middlewares = [\u0026#34;simpleAuth\u0026#34;] service = \u0026#34;api@internal\u0026#34; [http.routers.api.tls] certResolver = \u0026#34;lets-encrypt\u0026#34; Finalmente guardamos los cambios y ya podemos cerrar el fichero.\nCREAR LA RED WEB En el fichero de configuración traefik.toml definimos que Traefik actuaria de forma automática en la totalidad de contenedores que están levantados en la red web. Por lo tanto a continuación crearemos la red web ejecutando el siguiente comando:\nubuntu@netherlands:~$ docker network create web 76af4bc2b93073491ad12f562a3656d82403d080eac0182a3b94f8ed07cfdbad Una vez creada la red web ya podemos levantar el contenedor de Traefik. Para ello seguiremos los pasos del siguiente apartado.\nASEGURAR QUE LOS PUERTOS 80 Y 443 ESTÁN ABIERTOS EN EL ROUTER Y EN EL FIREWALL Tanto en el router de su casa como en el servidor en el que instalaréis Traefik tienen que tener los puertos 80 y 443 abiertos. Por lo tanto abran los puertos correspondientes en el router y en el Firewall del equipo en el que vais a levantar Traefik.\nSi además pretenden acceder a servicios que corren fuera del equipo en el que instalarán Traefik también deben configurar el firewall de dichos equipos.\nLEVANTAR EL CONTENEDOR DE TRAEFIK En mi misma ubicación que tenemos creados los 3 ficheros de configuración con los que trabaja Traefik ejecutamos el siguiente comando en la terminal:\nubuntu@netherlands:~$ docker run -d \\ \u0026gt; -v /var/run/docker.sock:/var/run/docker.sock \\ \u0026gt; -v $PWD/traefik.toml:/traefik.toml \\ \u0026gt; -v $PWD/traefik_dynamic.toml:/traefik_dynamic.toml \\ \u0026gt; -v $PWD/acme.json:/acme.json \\ \u0026gt; -p 80:80 \\ \u0026gt; -p 443:443 \\ \u0026gt; --network web \\ \u0026gt; --name traefik \\ \u0026gt; traefik:latest\nNota: Los valores de color rojo deben ser reemplazados por la ruta donde hemos almacenado los ficheros traefik.toml, traefik_dynamic.toml y acme.json.\nUna vez ejecutado el comando se descargará la imagen de Traefik y se creará y levantará el contenedor. A partir de estos momentos ya podemos acceder al panel de administración web de Traefik.\nACCEDER AL PANEL DE ADMINISTRACIÓN WEB O DASHBOARD DE TRAEFIK Con el contenedor levantado tan solo tenemos que abrir el navegador web e ingresar a la siguiente URL:\nhttps://monitor.ejemplo1.duckdns.org Nota: Deberéis reemplazar ejemplo1.duckdns.org por el dominio que tengan en su caso.\nUna vez ingresadas la credenciales tendremos acceso al panel de control. Fíjense que estamos accediendo de forma segura mediante https.\nEn futuros artículos veremos como podemos instalar la nube Owncloud en vuestra Raspeberry Pi usando la versión 2 del proxy inverso Traefik. De este modo podrán aprender y practicar para usar Traefik de forma adecuada.\nEJEMPLO DE USO DEL PROXY INVERSO TRAEFIK Para ver un ejemplo e uso del proxy inverso Traefik v2 pueden leer el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-owncloud-docker-y-traefik-v2/\nFuentes https://offby2.com/posts/002-introduction-to-traef-v2-with-docker/ https://www.digitalocean.com/community/tutorials/how-to-use-traef-v2-as-a-reverse-proxy-for-docker-containers-on-ubuntu-20-04\n","permalink":"https://geeklandlinux.github.io/posts/instalar-y-configurar-traefik-v2-para-usarlo-como-proxy-inverso/","summary":"\u003cp\u003eMeses atrás vimos como \u003ca href=\"/posts/instalar-y-configurar-el-proxy-inverso-traefik-en-docker/\"\u003einstalar configurar y usar la versión 1.7 del proxy inverso Traefik\u003c/a\u003e. A continuación veremos como configurar, instalar y entender la versión 2 de Traefik. Pero antes de empezar es importante conocer bien las diferencias existentes entre Traefik v1 y Traefik v2 y entender como funciona la versión 2 de Traefik.\u003c/p\u003e","title":"Instalar y configurar Traefik v2 para usarlo como proxy inverso"},{"content":"En mi caso uso el editor de textos Typora para redactar la totalidad de contenido del blog. Es el método que me resulta más rápido, fácil y práctico. Por este motivo a continuación veremos como podemos instalar Typora y mantenerlo actualizado en cualquier distribución GNU Linux.\n¿POR QUÉ OS RECOMIENDO EL USO DE TYPORA? Los motivos por los que uso Typora son los que detallo a continuación:\nMe permite leer y editar ficheros en formato Markdown de forma sencilla cómoda, rápida y sin distracciones. Proporciona una interfaz limpia sin ningún tipo de distracción. Me permite aprovechar el 100% de la pantalla. Puedo escribir texto en Markdown y de forma inmediata se previsualiza el código tecleado. Por lo tanto, aunque escribamos Markdown en pantalla no veremos el código Markdown. Para ver el código Markdown deberemos activar el modo código fuente. Prácticamente la totalidad de las acciones se pueden realizar mediante atajos de teclado. Por lo tanto obtendremos mayor productividad después de una leve curva de aprendizaje. Dispone de corrector ortográfico para prácticamente la totalidad de idiomas. Una vez tengo el texto en Markdown lo puedo exportar a multitud de formatos como por ejemplo .html, .pdf, .docx, .odt, .rtf, .epub, .LaTex, etc. Una vez escrito el texto en Markdown lo puedo copiar como .html y pegarlo en mi blog de Wordpress. De esta forma ahorro tiempo. Puedo realizar tablas e insertar bloques de código de forma extremadamente rápida y sencilla. Estas tablas y bloques de código se pueden exportar a html y el código se visualizará perfecto en cualquier página web. Existen diversos temas CSS para que nos podamos sentir cómodos en el momento de crear contenido. Es multiplataforma. Por lo tanto lo puedo usar en Linux, MacOS o Windows. Desafortunadamente no tiene versión para iOS o Android. En mi caso no uso esta opción porque no está disponible ni en Linux ni en Windows. Pero en MacOS Typora ofrece un control de versiones sobre los documentos que editamos. Permite insertar fórmulas matemáticas, insertar diagramas, etc. En resumen me permite realizar todo lo que en mi caso realizaría con un editor de textos convencional, pero de una forma más rápida. Obviamente para usar Typora se recomienda saber Markdown. Mardown es un lenguaje de etiquetado extremadamente sencillo que podéis aprender tranquilamente en media hora de dedicación.\nNota : Typora tiene licencia propietaria y su uso es gratuito. Es previsible que cuando el software salga del estado Beta sea de pago.\nINSTALAR EL EDITOR DE TEXTOS TYPORA EN DEBIAN, UBUNTU Y LINUX MINT Instalaremos Typora mediante un repositorio. Para no tener ningún tipo de problema al agregar el repositorio de Typora instalaremos el paquete software-properties-common ejecutando el siguiente comando:\nsudo apt-get install software-properties-common Importar la clave pública del repositorio de Typora Para importar la clave pública del repositorio de typora ejecutamos el siguiente comando en la terminal:\nwget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add - Nota: Otra forma alternativa de importar la clave pública es mediante el comando sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAE\nAgregar el repositorio de Typora en Debian y Ubuntu Para agregar el repositorio de typora en Debian y/o Ubuntu ejecutaremos el siguiente comando en la terminal:\nsudo add-apt-repository \u0026#39;deb https://typora.io/linux ./\u0026#39; Agregar el repositorio de Typora en Linux Mint El método para agregar el repositorio en Linux Mint es distinto a Debian y Ubuntu. El comando que deberemos usar es el siguiente:\necho -e \u0026#34;\\ndeb https://typora.io/linux ./\u0026#34; | sudo tee -a /etc/apt/sources.list Instalar el editor de textos Typora Finalmente para instalar Typora tan solo tendremos que ejecutar los siguientes comando en la terminal:\nsudo apt update sudo apt install typora INSTALAR EL EDITOR DE TEXTOS TYPORA EN OTRAS DISTRIBUCIONES Typora dispone de paquetes binarios y paquetes Snap. Para instalarlo mediante sus ficheros binarios deberán proceder del siguiente modo.\nInstalar Typora mediante ficheros binarios Para descargar el paquete binario de Typora en una distribución con arquitectura 64 bits ejecuten el siguiente comando en la la terminal:\nwget https://typora.io/linux/Typora-linux-x64.tar.gz Nota: En caso que su distribución sea de 32 bits deberán descargar el paquete binario usando el comando wget https://typora.io/linux/Typora-linux-ia32.tar.gz\nUna vez descargado el fichero binario comprimido lo descomprimiremos mediante el siguiente comando:\ntar xvf Typora-linux-x64.tar.gz Nota: En el caso que usen una distro de 32 bits el comando será tar xvf Typora-linux-ia32.tar.gz\nActo seguido accedemos a la ubicación donde se halla el fichero binario ejecutando el siguiente comando en la terminal:\ncd Typora-linux-x64 Nota: En el caso que usen una distro de 32 bits el comando será cd Typora-linux-ia32\nFinalmente ejecutaremos Typora ejecutando el siguiente comando en la terminal:\n./Typora Instalar Typora mediante paquetería SNAP Instalar Typora mediante snap es sumamente sencillo. Para ello tan solo tendrán que ejecutar el siguiente comando en la terminal:\nsudo snap install typora Nota: Si conocen una solución igual de buena que Typora y que además sea Software Libre u Open Source déjenla en los comentarios del artículo.\nFuentes https://support.typora.io/\n","permalink":"https://geeklandlinux.github.io/posts/instalar-typora-en-cualquier-distribucion-gnu-linux/","summary":"\u003cp\u003eEn mi caso uso el editor de textos Typora para redactar la totalidad de contenido del blog. Es el método que me resulta más rápido, fácil y práctico. Por este motivo a continuación veremos como podemos instalar Typora y mantenerlo actualizado en cualquier distribución GNU Linux.\u003c/p\u003e","title":"Instalar Typora en cualquier distribución GNU Linux"},{"content":"En mi caso uso un disco duro SSD en la Raspberry Pi 4. Seguí los siguientes pasos para reemplazar la tarjeta MicroSD por un dispositivo de almacenamiento SSD. Al seguir los pasos todo funcionaba perfecto, pero si noté un consumo alto de CPU. Mientras los valores de uptime deberían ser aproximadamente cero en mi caso eran los siguientes:\npi@raspberrypi:~ $ uptime 09:54:17 up 5 min, 1 user, load average: 0,60, 0,52, 0,44 Acto seguido intenté visualizar los procesos que estaban consumiendo CPU. Los resultados obtenidos fueron los siguientes:\npi@raspberrypi:~ $ ps -eo pcpu,pid,user,args --no-headers| sort -t. -nk1,2 -k4,4 -r |head -n 5 0.8 492 root rclone mount --config /home/pi/.config/rclone/rclone.conf --allow-non-empty --dir-cache-time 15m --allow-other jellyfin: /media/pendrive/media/ 0.6 10847 root [kworker/2:2-mm_percpu_wq] 0.3 10211 root [kworker/2:3-events] 0.2 9522 root [kworker/2:1-events] 0.2 4264 root [kworker/2:0-events] Nota: Además el led verde de la Raspberry Pi estaba apagándose y encendiéndose constantemente.\n¿POR QUÉ LA RASPBERRY PI CONSUME MÁS CPU AL TRABAJAR CON UN DISPOSITIVO DE ALMACENAMIENTO SSD? Después de investigar en Internet descubrí que la Raspberry Pi detecta que no tenemos insertada ninguna tarjeta MicroSD. Esto ocasiona que la Raspberry Pi esté comprobando constantemente si hemos insertado una tarjeta MicroSD en nuestro dispositivo y esto conlleva un consumo elevado de CPU que en algunos casos reportados citan que es alrededor de un 10%.\nPara solucionar este problema tenemos un par de soluciones.\nEVITAR EL CONSUMO EXCESIVO DE CPU CUANDO USAMOS LA RASPBERRY PI CON UN DISPOSITIVO DE ALMACENAMIENTO SSD O USB Existen un par de soluciones que son válidas tanto para la Raspberry Pi 4 como para la Raspberry Pi 3.\nLa primera de las soluciones es insertar una tarjeta MicroSD sin contenido en la ranura de la Raspberry Pi y reiniciar el sistema operativo. De esta forma la Raspberry Pi detectará que hay una tarjeta MicroSD insertada y no se harán las comprobaciones constantes que consumen CPU.\nLa segunda de las opciones, y que es la que utilizo en mi caso, es añadir el parámetro dtparam=sd_poll_once en el fichero de configuración /boot/config.txt. Para ello ejecutaremos el siguiente comando en la terminal.\npi@raspberrypi:~ $ sudo nano /boot/config.txt Una vez se abra el editor de textos nano, justo al principio o al final del fichero añadiremos el siguiente parámetro:\ndtparam=sd_poll_once A continuación guardaremos los cambios y reiniciaremos la Raspberry Pi. Una vez reiniciada observarán que los valores de carga son mucho bajos. En mi caso los valores obtenidos son los siguientes:\npi@raspberrypi:~ $ uptime 09:54:17 up 5 min, 1 user, load average: 0,02, 0,11, 0,06 Otro punto que observaremos es que el led de color verde de la Raspberry Pi ha dejado de funcionar. Esto es así porque mediante el comando que introducimos en /boot/config.txt hacemos que la Raspberry Pi únicamente verifique en el arranque si tenemos insertada una tarjeta MicroSD.\nCONCLUSIONES En el caso que estén usando la Raspberry Pi y la arranquen mediante un dispositivo SSD o USB es probable que tengan el problema citado en este artículo. Por lo tanto les recomiendo que realicen las comprobaciones oportunas y sigan los consejos detallados en este artículo. De este modo dejarán de desaprovechar los recursos de su Raspberry Pi.\nFuente https://jamesachambers.com/raspberry-pi-cheap-ssd-upgrade-30/\n","permalink":"https://geeklandlinux.github.io/posts/solucionar-el-consumo-alto-de-cpu-al-usar-la-raspberry-pi-con-ssd/","summary":"\u003cp\u003eEn mi caso uso un disco duro SSD en la Raspberry Pi 4. Seguí los siguientes pasos para \u003ca href=\"/posts/como-arrancar-la-raspberry-pi-4-desde-un-disco-ssd/\"\u003ereemplazar la tarjeta MicroSD por un dispositivo de almacenamiento SSD\u003c/a\u003e. Al seguir los pasos todo funcionaba perfecto, pero si noté un consumo alto de CPU. Mientras los valores de uptime deberían ser aproximadamente cero en mi caso eran los siguientes:\u003c/p\u003e","title":"Solucionar el consumo alto de cpu al usar la Raspberry Pi con SSD"},{"content":"Actualmente estoy usando el gestor de ventanas i3 como mi escritorio principal, pero aparte de i3 también tengo instalado XFCE. El motivo es que si algún día tengo problemas con i3 podré tirar de XFCE. Además también me gusta usar gran parte de las herramientas que ofrece el escritorio XFCE en i3. Por lo tanto les detallaré como instalar y configurar el gestor de ventanas i3 partiendo de una instalación con Debian Testing, el escritorio XFCE, network manager y el gestor de sesiones Lightdm.\nNota: Para instalar Debian Testing XFCE con el gestor de ventanas Lightdm usé la siguiente imagen ISO. Si no quieren usar Debian pueden usar otras distribuciones como por ejemplo Ubuntu, Xubuntu, Mint, etc. El procedimiento el mismo, o prácticamente el mismo.\nINSTALAR EL GESTOR DE VENTANAS I3 Desde la terminal de nuestro entorno de escritorio XFCE ejecutamos el siguiente comando en la terminal:\nsudo apt install i3-wm i3status suckless-tools i3blocks La función de cada uno de los paquetes que acabamos de instalar es la siguiente:\nPaquete Función del paquete i3-wm Contiene el gestor de ventanas i3. i3status Utilidad que se puede usar para tener una barra superior o inferior en el gestor de ventanas i3. suckless-tools Para poder disponer de dmenu. En mi caso prefiero usar Rofi. Más adelante veremos como usar Rofi. i3blocks Barra alternativa a i3status. En mi caso prefiero usar i3blocks. Nota: Otra opción es instalar el metapaquete i3. Con el metapaquete i3 instalaréis todos los componentes del gestor de ventanas i3 de una sola tacada.\nUna vez instalados los paquetes reiniciamos el equipo y nos logueamos al escritorio XFCE de forma habitual.\nINSTALAR LAS FUENTES QUE USAREMOS EN EL GESTOR DE VENTANAS I3 En el gestor de ventanas i3 uso las fuentes Yosemite San Francisco y Font-Awesome. Para instalar estas fuentes procederemos del siguiente modo.\nNota: La fuente Font-Awesome es indispensable para introducir iconos gráficos en nuestra barra de tareas.\nPara descargar cada una de las fuente ejecutaremos los siguientes comandos:\njoan@gk55:~$ wget https://github.com/supermarin/YosemiteSanFranciscoFont/archive/master.zip joan@gk55:~$ wget https://github.com/FortAwesome/Font-Awesome/releases/download/5.15.2/fontawesome-free-5.15.2-web.zip Acto seguido descomprimimos los ficheros que acabamos de descargar:\njoan@gk55:~$ unzip master.zip joan@gk55:~$ unzip fontawesome-free-5.15.2-web.zip A continuación creamos el directorio ~/.fonts ejecutando el siguiente comando en la terminal:\njoan@gk55:~$ mkdir ~/.fonts Seguidamente movemos las fuentes que acabamos de descomprimir a la ubicación ~/.fonts\njoan@gk55:~$ mv ~/YosemiteSanFranciscoFont-master/*.ttf ~/.fonts joan@gk55:~$ mv ~/fontawesome-free-5.15.2-web/webfonts/*.ttf ~/.fonts Ahora ya podemos refrescar la cache de las fuentes. Para ello ejecutaremos el siguiente comando:\njoan@gk55:~$ fc-cache -f -v Finalmente borramos la totalidad de ficheros que descargamos mediante los siguientes comandos.\n**joan@gk55:~$ sudo rm -r fontawesome-free-5.15.2-web joan@gk55:~$ rm fontawesome-free-5.15.2-web.zip joan@gk55:~$ sudo rm -r YosemiteSanFranciscoFont-master/ joan@gk55:~$ rm master.zip**\nA partir de estos momentos ya podemos usar las fuentes Yosemite San Francisco y Font Awesome.\nNota: Debian Testing dispone de la tipografía FontAwesome en sus repositorios. Para instalarla tan solo tienen que instalar el paquete fonts-font-awesome. En mi caso aunque esté en los repositorios prefiero instalarla manualmente.\nCAMBIAR LA IMAGEN DEL FONDO DE PANTALLA DE LIGHTDM Para que les quede un sistema operativo a su gusto pueden cambiar la imagen de fondo de LightDM. Para ello pueden seguir las instrucciones que se indican en el siguiente enlace.\nhttps://geeklandlinux.github.io/posts/personalizar-y-configurar-lightdm/\nHACER QUE I3 SEA EL ESCRITORIO QUE ARRANCA DE FORMA PREDETERMINADA En el momento que el gestor de sesiones LightDM nos pide la contraseña para loguearnos a nuestro equipo tenemos que clicar el . Una vez se despliegue el menú clicaremos sobre la opción escritorio i3\nUna vez seleccionado el escritorio con que queremos arrancar introducimos nuestro usuarios y contraseña para loguearnos a nuestro sistema operativo.\nGENERAR LA CONFIGURACIÓN PREDETERMINADA LA PRIMERA VEZ QUE ARRANCAMOS EL GESTOR DE VENTANAS I3 La primera vez que iniciamos i3 veremos la siguiente ventana que nos pedirá si queremos generar un archivo de configuración estándar. Para generarlo tenéis que presionar la tecla Enter.\nA continuación aparecerá otra ventana en que tendremos que definir la tecla principal \u0026lt;Mod\u0026gt;. Para seguir este tutorial seleccionad la tecla de Windows Win y presionad Enter.\nFinalmente podréis ver y usar el entorno de escritorio i3.\nINSTALAR LOS PAQUETES QUE NECESITAREMOS PARA LA CONFIGURACIÓN DE I3 Una vez logueados al escritorio i3 abriremos una terminal e instalaremos una serie de paquetes ejecutando el siguiente comando en la terminal:\njoan@gk55:~$ sudo apt install rofi feh lxappearance compton numlockx pulseaudio-utils pavucontrol arc-theme papirus-icon-theme blueman Nota: Para abrir una terminal en i3 tienen que presionar la combinación de teclas Win+Enter. Nota: En el caso que no usen Debian testing es posible que no puedan instalar ni el tema arc ni los iconos papirus. En tal caso tendrán que realizar una instalación manual.\nLa función de cada uno de los paquetes instalados es la siguiente:\nPaquete Función rofi Lanzador de aplicaciones. Lo usaremos en vez de dmenu. feh Para establecer el fondo de pantalla. lxappearance Interfaz gráfica para seleccionar el tema, los iconos y la tipografía en i3. compton Compositor de ventanas para por ejemplo obtener transparencias y transiciones. numlockx Activar el teclado numérico cada vez que iniciamos o reiniciamos i3. pavucontrol Controlador de audio de pulseaudio. arc-theme Instala el tema Arc. papirus-icon-theme Instala el tema de iconos Papirus. blueman Administrador de dispositivos y conexiones a través de Bluetooth. Si vuestro equipo no tiene Bluetooth no hace falta instalar este paquete. En el caso que hayan instalado Blueman ejecuten los siguientes comandos para asegurar que Blueman funcione de forma adecuada.\njoan@gk55:~$ sudo apt-get install pulseaudio-module-bluetooth joan@gk55:~$ pactl load-module module-bluetooth-discover A continuación empezaremos a configurar el escritorio i3 para que tenga un mejor aspecto.\nPERSONALIZAR LA APARIENCIA DE NUESTRO ESCRITORIO I3 Una vez instalados la totalidad de paquetes ejecutamos el comando lxappearence en la terminal:\njoan@gk55:~$ lxappearence Cuando se abra la interfaz gráfica de lxappearence seleccionan el tema Arc-Dark. A continuación modifican la tipografía y el tamaño de la tipografía. Da igual la tipografía que elijan porque lo único que buscamos al cambiar la tipografía es que se genere el fichero ~/.gtkrc-2.0.\nActo seguido en la pestaña Tema de iconos seleccionamos los Papirus-Dark y presionamos el botón Aplicar.\nCambiar la tipografía del sistema operativo Para cambiar y usar la tipografía Yosemite San Francisco ejecutamos el siguiente comando en la terminal:\njoan@gk55:~$ nano ~/.gtkrc-2.0 Cuando se abra el editor de textos nano vemos que en mi caso la tipografía actual es la Sans 10:\n# DO NOT EDIT! This file will be overwritten by LXAppearance. # Any customization should be done in ~/.gtkrc-2.0.mine instead. include \u0026#34;/home/joan/.gtkrc-2.0.mine\u0026#34; gtk-theme-name=\u0026#34;Arc-Dark\u0026#34; gtk-icon-theme-name=\u0026#34;Papirus-Dark\u0026#34; gtk-font-name=\u0026#34;Sans 10\u0026#34; gtk-cursor-theme-name=\u0026#34;Adwaita\u0026#34; gtk-cursor-theme-size=0 gtk-toolbar-style=GTK_TOOLBAR_BOTH gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-button-images=1 gtk-menu-images=1 gtk-enable-event-sounds=1 gtk-enable-input-feedback-sounds=1 gtk-xft-antialias=1 gtk-xft-hinting=1 gtk-xft-hintstyle=\u0026#34;hintslight\u0026#34; gtk-xft-rgba=\u0026#34;rgb\u0026#34; A continuación reemplazamos la fuente Sans 10 por la System San Francisco Display 10. De este modo estaremos definiendo que la tipografía de las aplicaciones que usan GTK2 es la System San Francisco y el tamaño de la fuente será 10.\n# DO NOT EDIT! This file will be overwritten by LXAppearance. # Any customization should be done in ~/.gtkrc-2.0.mine instead. include \u0026#34;/home/joan/.gtkrc-2.0.mine\u0026#34; gtk-theme-name=\u0026#34;Arc-Dark\u0026#34; gtk-icon-theme-name=\u0026#34;Papirus-Dark\u0026#34; gtk-font-name=\u0026#34;System San Francisco Display 10\u0026#34; gtk-cursor-theme-name=\u0026#34;Adwaita\u0026#34; gtk-cursor-theme-size=0 gtk-toolbar-style=GTK_TOOLBAR_BOTH gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-button-images=1 gtk-menu-images=1 gtk-enable-event-sounds=1 gtk-enable-input-feedback-sounds=1 gtk-xft-antialias=1 gtk-xft-hinting=1 gtk-xft-hintstyle=\u0026#34;hintslight\u0026#34; gtk-xft-rgba=\u0026#34;rgb\u0026#34; Para cambiar la fuente de los programas que usan GTK3 ejecutaremos el siguiente comando en la terminal:\njoan@gk55:~$ nano ~/.config/gtk-3.0/settings.ini Una vez se abra el editor de textos nano veremos que la fuente que tengo predefinida es la Sans 10.\n[Settings] gtk-theme-name=Arc-Dark gtk-icon-theme-name=Papirus-Dark gtk-font-name=Sans 10 gtk-cursor-theme-name=Adwaita gtk-cursor-theme-size=0 gtk-toolbar-style=GTK_TOOLBAR_BOTH gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-button-images=1 gtk-menu-images=1 gtk-enable-event-sounds=1 gtk-enable-input-feedback-sounds=1 gtk-xft-antialias=1 gtk-xft-hinting=1 gtk-xft-hintstyle=hintslight gtk-xft-rgba=rgb Del mismo modo que hicimos anteriormente reemplazamos la tipografía Sans 10 por la System San Francisco 10:\n[Settings] gtk-theme-name=Arc-Dark gtk-icon-theme-name=Papirus-Dark gtk-font-name=System San Francisco Display 10 gtk-cursor-theme-name=Adwaita gtk-cursor-theme-size=0 gtk-toolbar-style=GTK_TOOLBAR_BOTH gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-button-images=1 gtk-menu-images=1 gtk-enable-event-sounds=1 gtk-enable-input-feedback-sounds=1 gtk-xft-antialias=1 gtk-xft-hinting=1 gtk-xft-hintstyle=hintslight gtk-xft-rgba=rgb A partir de estos momentos ya estaremos usando las nuevas tipografías en nuestro sistema operativo.\nEDITAR EL FICHERO DE CONFIGURACIÓN DEL GESTOR DE VENTANAS I3 A estas alturas ya podemos empezar a trabajar con los archivos de configuración. Inicialmente configuraremos la barra de herramientas i3blocks y a posteriori trabajaremos con el fichero de configuración de i3.\nNota: Algunas partes de los archivos de configuración están comentadas. Si lo piden en futuros artículos veremos como descomentarlas y de este modo añadir funcionalidades adicionales.\nConfigurar la barra de herramientas de i3blocks En el fichero de configuración de i3blocks podremos hacer que en la barra de nuestro escritorio aparezca:\nEl nivel de volumen. La temperatura de la CPU y los discos duros. La carga de CPU de nuestro equipo. El uso de memoria RAM que estamos realizando. El espacio libre que tenemos en disco y en memoria. Mostrar la hora y un calendario. Ver el nivel de batería. etc. Para editar la configuración de i3blocks crearemos un fichero de configuración en ~/.config/i3. Para acceder a esta ubicación ejecutamos el siguiente comando:\njoan@gk55:~$ cd .config/i3 A continuación ejecutamos el siguiente comando para editar el archivo de configuración:\njoan@gk55:~/.config/i3$ nano i3blocks.conf Una vez se abra el editor de textos nano borramos todo el contenido y pegamos el siguiente:\n# i3blocks config file # # Please see man i3blocks for a complete reference! # The man page is also hosted at http://vivien.github.io/i3blocks # # List of valid properties: # # align # color # command # full_text # instance # interval # label # min_width # name # separator # separator_block_width # short_text # signal # urgent # Global properties # # The top properties below are applied to every block, but can be overridden. # Each block command defaults to the script name to avoid boilerplate. # Para elegir la separación entre los distintos bloques que aparecen en el panel command=/usr/share/i3blocks/$BLOCK_NAME separator_block_width=15 markup=none # Volume indicator # # The first parameter sets the step (and units to display) # The second parameter overrides the mixer selection # See the script for details. # Para mostrar el nivel de volumen [volume] label=♪: instance=Master #instance=PCM interval=1 signal=10 command=/usr/share/i3blocks/volume 5 pulse # Weahter # Muestra la temperatura en la zona donde vivimos # [Weather] # command=bash ~/.config/i3/scripts/weather.sh \u0026#34;38007_pc\u0026#34; # interval=1800 #color=#c9c9ff #border=#535353 # Generic media player support # # This displays \u0026#34;ARTIST - SONG\u0026#34; if a music is playing. # Supported players are: spotify, vlc, audacious, xmms2, mplayer, and others. # En el panel aparece el artista y canción que estamos reproduciendo #[mediaplayer] #label= #label= #instance=spotify #instance=vlc #command=perl ~/.config/i3/scripts/mediaplayer #instance=audacious #interval=5 #signal=10 # Memory usage # # The type defaults to \u0026#34;mem\u0026#34; if the instance is not specified. # Muestra la memoria que tenemos libre [memory] label= Free: separator=false interval=30 separator=true # Muestra la memoria SWAP que estamos usando #[memory] #label=SWAP #instance=swap #separator=false #interval=30 # Disk usage # Mostramos el espacio que tenemos libre en la partición root y en la partición home # The directory defaults to $HOME if the instance is not specified. # The script may be called with a optional argument to set the alert # (defaults to 10 for 10%). [disk] label= / instance=/ interval=30 separator=false # Disk usage # Muestra el espacio libre de la partición /home # The directory defaults to $HOME if the instance is not specified. # The script may be called with a optional argument to set the alert # (defaults to 10 for 10%). [disk] label= /home #instance=/mnt/data separator=false interval=30 # Temperature # Mostramos la temperatura de nuestro disco duro # Support multiple chips, though lm-sensors. # The script may be called with -w and -c switches to specify thresholds, # see the script for details. [temperature] label= interval=10 command=~/.config/i3/scripts/temperature # Network interface monitoring # Mostramos la IP interna con el que nuestro equipo está conectado a la red local # If the instance is not specified, use the interface used for default route. # The address can be forced to IPv4 or IPv6 with -4 or -6 switches. [iface] #instance=wlan0 label= IP interval=10 #separator=false [wifi] #instance=wlp3s0 label= interval=10 # Si indicamos la instancia adecuada nos muestra la velocidad de subida o bajada # [bandwidth] # #instance=eth0 # interval=5 # CPU usage # # The script may be called with -w and -c switches to specify thresholds, # see the script for details. # Permite ver el % de CPU que el equipo está usando # [cpu_usage] # label=CPU # interval=10 # min_width=CPU: 100.00% # separator=false # Imprime el primero de los valores del comando uptime. Da una idea de la carga del procesador [load_average] label= interval=10 separator=false # Muestra la temperatura del procesador [temperature] label= interval=10 command=~/.config/i3/scripts/temperatureprocessor # Battery indicator # # The battery instance defaults to 0. #[battery] #label= #label=⚡ #instance=1 #interval=30 # Date Time # Para mostrar el dia y la hora en que estamos [time] label= command=date \u0026#39;+%d-%m-%Y %H:%M:%S\u0026#39; interval=5 # Muestra el dia y la hora actual. también puede mostrar un calendario #[rofi-calendar] #command=/home/joan/.config/i3/scripts/rofi_calendar.sh #interval=3600 #DATEFTM=+%a %d %b %Y #SHORTFMT=+%d/%m/%Y #LABEL= #FONT=Monospace 10 #LEFTCLICK_PREV_MONTH=false #PREV_MONTH_TEXT=« previous month « #NEXT_MONTH_TEXT=» next month » #ROFI_CONFIG_FILE=/dev/null # OpenVPN support # # Support multiple VPN, with colors. #[openvpn] #interval=20 # Añadir indicadores al panel i3blocks para saber si las mayúsculas y teclado númerico están activados # Key indicators # # Add the following bindings to i3 config file: # # bindsym --release Caps_Lock exec pkill -SIGRTMIN+11 i3blocks # bindsym --release Num_Lock exec pkill -SIGRTMIN+11 i3blocks #[keyindicator] #instance=CAPS #interval=once #signal=11 #[keyindicator] #instance=NUM #interval=once #signal=11 Nota: Si leéis el código tenéis una breve explicación en español de lo que hace cada parte del fichero de configuración.\nGenerar los scripts para que i3blocks muestre la temperatura de la CPU y el disco duro Para que i3blocks muestre la temperatura del disco duro y del procesador es necesario crear un par de scripts. Pero antes de generar los scripts tenemos que saber como obtener los valores de temperatura desde la terminal. Para ello abrimos una terminal y ejecutamos los comandos sensors y /usr/sbin/hddtemp /dev/sda. Tal y como veréis a continuación estos comandos muestran las temperaturas de nuestro disco y de la CPU.\njoan@gk55:~$ sensors iwlwifi_1-virtual-0 Adapter: Virtual device temp1: +47.0°C acpitz-acpi-0 Adapter: ACPI interface temp1: +42.0°C (crit = +95.0°C) coretemp-isa-0000 Adapter: ISA adapter Package id 0: +43.0°C (high = +105.0°C, crit = +105.0°C) Core 0: +43.0°C (high = +105.0°C, crit = +105.0°C) Core 1: +43.0°C (high = +105.0°C, crit = +105.0°C) Core 2: +43.0°C (high = +105.0°C, crit = +105.0°C) Core 3: +43.0°C (high = +105.0°C, crit = +105.0°C) joan@gk55:~$ /usr/sbin/hddtemp /dev/sda /dev/sda: SSD 256GB: 40°C Nota: En caso que nuestro usuario no tenga permisos para ejecutar hddtemp ejecutad el comando sudo chmod +s /usr/sbin/hddtemp.\nSi sabemos un poco de bash sabremos que para extraer únicamente el valor numérico de temperatura de la CPU y del disco duro tenemos que ejecutar los siguientes comandos:\njoan@gk55:~$ sensors | grep \u0026#39;Package id\u0026#39; | cut -d\u0026#39; \u0026#39; -f5 +43.0°C joan@gk55:~$ /usr/sbin/hddtemp /dev/sda | cut -d\u0026#39; \u0026#39; -f4 40°C Nota: Es posible que tengáis que modificar ligeramente los comandos.\nUna vez tenemos claros los comandos para que la terminal muestre la temperatura del procesador y del disco duro generaremos los scripts para que i3 pueda mostrar las temperaturas en el panel. Para ello dentro de la ubicación ~/.config/i3 generaremos el directorio scripts para almacenar todos los scripts.\njoan@gk55:~/.config/i3$ mkdir scripts A continuación accederemos dentro del directorios que acabamos de crear.\njoan@gk55:~/.config/i3$ cd scripts Acto seguido ejecutaremos los siguientes comandos para crear los ficheros que contendrán el código para mostrar la temperatura.\njoan@gk55:~/.config/i3/scripts$ touch temperatureprocessor joan@gk55:~/.config/i3/scripts$ touch temperature\nEl siguiente paso consiste en introducir el código dentro de los ficheros que acabamos de crear. El código será el comando que usábamos para mostrar las temperaturas en la terminal. Por lo tanto tan solo tendremos que ejecutar los siguientes comandos:\njoan@gk55:~/.config/i3/scripts$ echo \u0026#34;sensors | grep \u0026#39;Package id\u0026#39; | cut -d\u0026#39; \u0026#39; -f5\u0026#34; \u0026gt; temperatureprocessor joan@gk55:~/.config/i3/scripts$ echo \u0026#34;/usr/sbin/hddtemp /dev/sda | cut -d\u0026#39; \u0026#39; -f4\u0026#34; \u0026gt; temperature Una vez introducido el código haremos que los ficheros sean ejecutables. Para ello ejecutamos los siguientes comandos:\njoan@gk55:~/.config/i3/scripts$ chmod +x temperature joan@gk55:~/.config/i3/scripts$ chmod +x temperatureprocessor Editar el archivo de configuración del gestor de ventanas i3 El archivo de configuración de i3 está ubicado en ~/.config/i3/config. Dentro de este archivo podemos configurar parámetros como por ejemplo los siguientes:\nCombinaciones de teclado para hacer todo tipo de operaciones como por ejemplo subir el volumen, seleccionar la ventana activa, pasar una ventana de un espacio de trabajo a otro, etc. Programas que se inician al arrancar el ordenador. Espacios de trabajo que tendremos dentro del escritorio i3. El lanzador de aplicaciones que queremos usar. etc. Para editar la configuración ejecutan el siguiente comando:\njoan@gk55:~/.config/i3$ nano ~/.config/i3/config Una vez se abra el editor de texto nano borren todo el contenido y peguen el siguiente:\n# i3wm config file # Autor: # Joan Carles \u0026#34;Geekland\u0026#34; # Version: # v1.0: 01/02/2021 - Primera configuración i3 # Establecemos que la tecla principal para trabajar con i3 sea la de Windows set $mod Mod4 # Establecemos que la fuente del sistema sea la System San Francisco y que el tamaño sea 10 font pango:System San Francisco Display 10 # Al tener como mínimo 2 ventanas abiertas presionamos la tecla Windows, Posicionamos el ratón en uno de los bordes de la ventana, presionamos el botón derecho del ratón y lo arrastramos para modificar el tamaños de las ventanas floating_modifier $mod # El atajo de teclado para abrir una terminal será windows + Enter. Aquí también podemos seleccionar la terminal que queremos que se abra. bindsym $mod+Return exec i3-sensible-terminal # La combinación de teclas para cerrar una ventana activa es windows+shift+q bindsym $mod+Shift+q kill # Definimos el tema y los atajos de teclado para el funcionamiento de Rofi. Si cuando Rofi está abierto presionamos Shift+cursores derecha e izquierda obtendremos funcionalidades adicionales. set $rofi_theme \u0026#34;/usr/share/rofi/themes/Arc-Dark.rasi\u0026#34; bindsym Ctrl+space exec rofi -show drun -config $rofi_theme -show-icons -font \u0026#34;System San Francisco Display 15\u0026#34; bindsym Ctrl+Shift+space exec rofi -show window -config $rofi_theme -show-icons # Combinación de teclas a usar para movernos entre ventanas. En mi caso uso la tecla windows+los cursores. En vez de los cursores también se pueden usar j,k,l y ñ bindsym $mod+j focus left bindsym $mod+k focus down bindsym $mod+l focus up bindsym $mod+ntilde focus right bindsym $mod+Left focus left bindsym $mod+Down focus down bindsym $mod+Up focus up bindsym $mod+Right focus right # Para mover la ventana seleccionada arriba, abajo izquierda o derecha presionando la tecla Win+Shift+cursores. En vez de los cursores también se pueden usar j,k,l y ñ bindsym $mod+Shift+j move left bindsym $mod+Shift+k move down bindsym $mod+Shift+l move up bindsym $mod+Shift+ntilde move right bindsym $mod+Shift+Left move left bindsym $mod+Shift+Down move down bindsym $mod+Shift+Up move up bindsym $mod+Shift+Right move right # Para definir que la siguiente ventana que abramos lo haga abajo o al lado de la actual que tenemos activa. Si os fijáis bien veréis un marco de color verde que indicará la posición donde se ubicará la nueva ventana bindsym $mod+h split h bindsym $mod+v split v # Para poner la ventana seleccionada a pantalla completa presionar Win+f bindsym $mod+f fullscreen toggle # Para hacer que las ventanas se dispongan/abran en modo tiling, pestaña o apiladas. La opción predeterminada es el modo tiling bindsym $mod+s layout stacking bindsym $mod+w layout tabbed bindsym $mod+e layout toggle split # Para transformar una ventana de anclada a flotante y viceversa bindsym $mod+Shift+space floating toggle # Si la ventana activa actual está en modo tiling y queremos que la ventana activa sea una ventana flotante deberemos presionar Win+Espacio bindsym $mod+space focus mode_toggle # La tecla Win+a sirve para agrupar ventanas. Una vez agrupadas podremos insertar nuevas ventanas en la posición que exactamente necesitemos. bindsym $mod+a focus parent # Dar un nombre a los distintos espacios de trabajo o escritorios virtuales set $workspace1 \u0026#34;1: Terminal \u0026#34; set $workspace2 \u0026#34;2: Navegación \u0026#34; set $workspace3 \u0026#34;3: Edición \u0026#34; set $workspace4 \u0026#34;4: Music \u0026#34; set $workspace5 \u0026#34;5: Chat \u0026#34; set $workspace6 \u0026#34;6: Email \u0026#34; set $workspace7 \u0026#34;7: Folders \u0026#34; set $workspace8 \u0026#34;8\u0026#34; set $workspace9 \u0026#34;9\u0026#34; set $workspace10 \u0026#34;10\u0026#34; # Para irse a un espacio de trabajo determinado tecla Win + Número de espacio que queremos ir bindsym $mod+1 workspace $workspace1 bindsym $mod+2 workspace $workspace2 bindsym $mod+3 workspace $workspace3 bindsym $mod+4 workspace $workspace4 bindsym $mod+5 workspace $workspace5 bindsym $mod+6 workspace $workspace6 bindsym $mod+7 workspace $workspace7 bindsym $mod+8 workspace $workspace8 bindsym $mod+9 workspace $workspace9 bindsym $mod+0 workspace $workspace10 # Irse a un espacio de trabajo determinado usando el teclado numérico bindsym $mod+Mod2+KP_1 workspace $workspace1 bindsym $mod+Mod2+KP_2 workspace $workspace2 bindsym $mod+Mod2+KP_3 workspace $workspace3 bindsym $mod+Mod2+KP_4 workspace $workspace4 bindsym $mod+Mod2+KP_5 workspace $workspace5 bindsym $mod+Mod2+KP_6 workspace $workspace6 bindsym $mod+Mod2+KP_7 workspace $workspace7 bindsym $mod+Mod2+KP_8 workspace $workspace8 bindsym $mod+Mod2+KP_9 workspace $workspace9 bindsym $mod+Mod2+KP_0 workspace $workspace10 # Para mover una ventana activa al espacio de trabajo que queremos. Win+Shift+Número_de_espacio_de_trabajo bindsym $mod+Shift+1 move container to workspace $workspace1 bindsym $mod+Shift+2 move container to workspace $workspace2 bindsym $mod+Shift+3 move container to workspace $workspace3 bindsym $mod+Shift+4 move container to workspace $workspace4 bindsym $mod+Shift+5 move container to workspace $workspace5 bindsym $mod+Shift+6 move container to workspace $workspace6 bindsym $mod+Shift+7 move container to workspace $workspace7 bindsym $mod+Shift+8 move container to workspace $workspace8 bindsym $mod+Shift+9 move container to workspace $workspace9 bindsym $mod+Shift+0 move container to workspace $workspace10 # Para mover una ventana activa al espacio de trabajo que queremos con el teclado numérico. Win+Shift+Número_de_espacio_de_trabajo bindsym $mod+Shift+Mod2+KP_End move container to workspace $workspace1 bindsym $mod+Shift+Mod2+KP_Down move container to workspace $workspace2 bindsym $mod+Shift+Mod2+KP_Next move container to workspace $workspace3 bindsym $mod+Shift+Mod2+KP_Left move container to workspace $workspace4 bindsym $mod+Shift+Mod2+KP_Begin move container to workspace $workspace5 bindsym $mod+Shift+Mod2+KP_Right move container to workspace $workspace6 bindsym $mod+Shift+Mod2+KP_Home move container to workspace $workspace7 bindsym $mod+Shift+Mod2+KP_Up move container to workspace $workspace8 bindsym $mod+Shift+Mod2+KP_Prior move container to workspace $workspace9 bindsym $mod+Shift+Mod2+KP_Insert move container to workspace $workspace10 # Para intercambiar los 2 últimos escritorios en que hemos estado bindsym $mod+Tab workspace back_and_forth # Hacer que un programa determinado se abra en un espacio de trabajo determinado. Con el comando xprop podremos averiguar la class de cada uno de los programas. # Firefox y Chrome se abrirán en el espacio de trabajo 2 assign [class=\u0026#34;Firefox\u0026#34;] $workspace2 assign [class=\u0026#34;Google-chrome\u0026#34;] $workspace2 # Typora se abrirá en el espacio de trabajo 3 #assign [class=\u0026#34;Atom\u0026#34;] $workspace3 assign [class=\u0026#34;Typora\u0026#34;] $workspace3 #assign [class=\u0026#34;Mousepad\u0026#34;] $workspace3 # Thunar se abrirá en el espacio de trabajo 4 #assign [class=\u0026#34;Thunar\u0026#34;] $workspace4 # Deezer se abrirá en el expacio de trabajo 4 #assign [class=\u0026#34;Audacious\u0026#34;] $workspace4 assign [class=\u0026#34;deezer\u0026#34;] $workspace4 # Telegram se abrirá en el espacio de trabajo 5 assign [class=\u0026#34;TelegramDesktop\u0026#34;] $workspace5 # El espacio de trabajo 6 lo usaré para enviar emails con thunderbird assign [class=\u0026#34;thunderbird\u0026#34;] $workspace6 # Atajo de teclado para recargar el archivo de configuración de i3 bindsym $mod+Shift+c reload # Atajo de teclado para reiniciar por completo el escritorio i3. No te saca de la sesión ni pierdes ningún tipo de información. bindsym $mod+Shift+r restart # Atajo de teclado para cerrar completamente la sesión de i3. Una vez cerrada la sesión veremos la ventana de login de Lightdm bindsym $mod+Shift+e exec \u0026#34;i3-nagbar -t warning -m \u0026#39;You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.\u0026#39; -b \u0026#39;Yes, exit i3\u0026#39; \u0026#39;i3-msg exit\u0026#39;\u0026#34; # Configuración para redimensionar las ventanas mode \u0026#34;resize\u0026#34; { # Vim bindings bindsym j resize shrink width 3 px or 3 ppt bindsym k resize grow height 3 px or 3 ppt bindsym l resize shrink height 3 px or 3 ppt bindsym ntilde resize grow width 3 px or 3 ppt # Arrow bindings bindsym Left resize shrink width 3 px or 3 ppt bindsym Down resize grow height 3 px or 3 ppt bindsym Up resize shrink height 3 px or 3 ppt bindsym Right resize grow width 3 px or 3 ppt # back to normal: Enter or Escape bindsym Return mode \u0026#34;default\u0026#34; bindsym Escape mode \u0026#34;default\u0026#34; } # Combinación de teclas para activar el modo redimensionar ventans bindsym $mod+r mode \u0026#34;resize\u0026#34; # Configuración de colores mostrados en pantalla set $bg-color\t#2f343f set $border-focus\t#5294e2 set $inactive-bg-color #2f343f set $text-color #f3f4f5 set $inactive-text-color #676E7D set $urgent-bg-color #E53935 set $blue-color #5DA8F4 # Colores de las ventanas # Border Background text indicator client.focused $border-focus $border-focus $text-color #00ff00 client.unfocused $inactive-bg-color $inactive-bg-color $inactive-text-color #00ff00 client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color #00ff00 client.urgent $blue-color $blue-color $text-color #00ff00 # Se define parte de la configuración de la barra i3blocks bar { # Bar program # status_command i3blocks -c ~/.i3/i3blocks.conf font xft: FontAwesome 9 # status_command i3status status_command i3blocks -c ~/.config/i3/i3blocks.conf # Position of the bar position top # Bar colors colors { background $bg-color separator #757575 # border background text focused_workspace $bg-color $bg-color $text-color inactive_workspace $inactive-bg-color $inactive-bg-color $inactive-text-color urgent_workspace $blue-color $blue-color $text-color } } # Quita la ventana de título y se define el grosor del borde que recubre las ventanas for_window [class=\u0026#34;^.*\u0026#34;] border pixel 2 # Mutear, incrementar y bajar el volúmen con el teclado \u0026#34;pactl tiene que estar instalado\u0026#34; #bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume #bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume #bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound bindsym Mod1+Up exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% #increase sound volume bindsym Mod1+Down exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% #decrease sound volume bindsym Mod1+m exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle # mute sound # Win+F9 para ir cambiando la salida de audio #bindsym $mod+F9 exec ~/.config/i3/scripts/toggle_sink.sh # Para incrementar o disminuir el brillo del monitor. Hace falta tener instalado xbacklight. Como no uso la opción la descomento #bindsym XF86MonBrightnessUp exec xbacklight -inc 20 # increase screen brightness #bindsym XF86MonBrightnessDown exec xbacklight -dec 20 # decrease screen brightness # Touchpad controls #bindsym XF86TouchpadToggle exec /home/joan/bin/toggletouchpad # toggle touchpad # Invertir el scroll del trackpad \u0026#34;Solo activar en equipos con trackpad\u0026#34; # exec_always --no-startup-id synclient NaturalScrolling=1 VertScrollDelta=-113 # Deshabitar el trackpad mientras escribimos \u0026#34;Solo activar en equipos con trackpad\u0026#34; # exec syndaemon -i 0.3 -t -K -R # Asignación de las teclas multimedia #bindsym XF86AudioPlay exec play_pause #bindsym XF86AudioPause exec play_pause #bindsym XF86AudioNext exec playerctl next #bindsym XF86AudioPrev exec playerctl previous # Atajos de teclado para lanzar programas. #bindsym $mod+x exec i3lock --color \u0026#34;$bg-color\u0026#34; (i3lock es otra opción para bloquear la pantalla, para usarlo hay que instalar el paquete i3lock) bindsym $mod+Shift+f exec firefox bindsym $mod+Shift+p exec firefox -private #bindsym $mod+Shift+b exec blueman-manager # Seleccionar las aplicaciones que arrancar al iniciar i3 exec telegram-desktop # Para añadir el applet de Nework manager en el panel exec --no-startup-id nm-applet #exec --no-startup-id nextcloud #exec --no-startup-id redshift-gtk # Hacer que se active el teclado númerico cada que que se rearranque el gestor de ventanas i3. Hay que tener instalado el paquete numlockx exec_always --no-startup-id numlockx on # Para establecer un fondo escritorio cada vez que se arranque o rearranque i3. \u0026#34;sudo apt install feh\u0026#34; exec_always feh --bg-scale https://images.unsplash.com/photo-1477346611705-65d1883cee1e?ixlib=rb-1.2.1\u0026amp;ixid=eyJhcHBfaWQiOjEyMDd9\u0026amp;auto=format\u0026amp;fit=crop\u0026amp;w=1350\u0026amp;q=80 # Hacer que la ventana de redacción de un email en thunderbird se abra en modo flotante \u0026#34;para ver las clases de las ventanas podemos usar xprop\u0026#34; for_window [window_role=\u0026#34;Msgcompose\u0026#34; class=\u0026#34;(?i)Thunderbird\u0026#34;] floating enable # Fijamos que la tecla imprimir pantalla sea encargada de realizar capturas de pantalla con la utilidad de XFCE. Una alternatica es usar flameshot bindsym Print exec --no-startup-id xfce4-screenshooter #bindsym Control+Print exec --no-startup-id flameshot gui # Habilitar geoclue # exec --no-startup-id /usr/lib/geoclue-2.0/demos/agent # Combinación de teclas para bloquear la pantalla (Requiere el uso de Lightdm) bindsym $mod+shift+F2 exec dm-tool lock # Habilitar un compositor para tener transparencias y transiciones suaves. \u0026#34;sudo apt install compton\u0026#34; exec compton -f #exec compton --config /home/joan/.config/compton/compton.confexec compton --config /home/joan/.config/compton/compton.conf # Esconder la barra de i3 en el caso que lo consideremos oportuno bindsym $mod+m bar mode toggle # Para cerrar el ordenador presionar la combinación de teclas Ctrl+Alt+S bindsym $mod+mod1+s exec /sbin/poweroff #bindsym $mod+Shift+e exec i3-msg exit Una vez pegado el código leedlo y es autoexplicativo. Adapten el código a sus necesidades. Por ejemplo si no usan el gestor de correo Thunderbird no es necesario tener las entradas que hacen referencia a Thunderbird dentro del fichero de configuración.\nUna vez estén convencidos que la configuración es la correcta guardan los cambios y cierran el fichero. Acto seguido presionamos la combinación de teclas para reiniciar el escritorio i3.\nCtrl + Shift + r RESULTADOS FINALES DE NUESTRA CONFIGURACIÓN Después de realizar la configuración mencionada en este artículo tendréis un escritorio con el siguiente aspecto:\nNota: En vuestro caso no veréis la totalidad de elementos mostrados en el escritorio porque requieren de configuración adicional. Si lo piden generaré más artículos en los que detallaré.\nATAJOS DE TECLADO DEL GESTOR DE VENTANAS I3 SEGÚN LA CONFIGURACIÓN APLICADA Según la configuración que hemos definido, los atajos de teclado para movernos en nuestro escritorio i3 son los siguientes:\nAtajos de teclado Función del atajo de teclado Win + Shift + Enter Poner una ventana en modo flotante. Si lo presionamos 2 veces se volverá a poner en modo tiling. Win + Botón Izquierdo del mouse con el puntero sobre la ventana + Desplazar el ratón Desplazar una ventana flotante. Win + Shift + cursores Al igual que en el caso anterior es para desplazar una ventana flotante, pero esta vez sin hacer uso del ratón. Como alternativa a los cursores podemos usar las teclas j, k, l, ñ. Win + Botón Derecho del mouse con el puntero en un extremo de la ventana + Desplazar el ratón Redimensionar una ventana flotante. Win + Botón Derecho del mouse con el puntero del ratón en borde de una ventana + desplazar el ratón Redimensionar en ventana en modo tiling. Win + espacio Cambiar el foco entre una ventana flotante y otra en modo tiling. Win + Enter Abrir una terminal. Win + Shift + q Cerrar una ventana que está activa. Ctrl + Espacio Abrir el lanzador de aplicaciones Rofi. Ctrl + Shift + Espacio Se abre Rofi mostrando todas las ventanas abiertas. Win + cursores Para movernos de una ventana a otra. Win + Shift + cursores Para mover de posición una ventana en modo tiling. Por ejemplo si tenemos una ventana ubicada a la derecha, la podemos mover y ubicar a la izquierda. Como alternativa a los cursores podemos usar las teclas j, k, l, ñ. Win + h Para que la siguiente ventana que abramos se abra a la derecha de la ventana actual. Win + v Para que la siguiente ventana que abramos abajo de la ventana actual. Win + f Hacer que la ventana activa se muestre en pantalla completa. Para salir del modo de pantalla completa hay que presionar de nuevo Win + f. Win + s Todas las ventas abiertas se apilan y solo una queda visible. Para cambiarse entre ventanas se puede realizar con la tecla Win + cursores. Como alternativa a los cursores podemos usar las teclas j, k, l, ñ. Win + w Todas las ventas abiertas se agrupan por pestañas como en un navegador y únicamente la ventana activa es visible. Para cambiarse entre ventanas se puede realizar con la tecla Win + cursores. Como alternativa a los cursores podemos usar las teclas j, k, l, ñ. Win + e Es el modo tiling por defecto de i3. Win + a Agrupar ventanas para poder abrir una nueva ventana en la posición que deseemos. Win + números del 1 al 10 Para moverse entre los distintos espacios de trabajo. Win + Shift + números del 1 al 10 Mover la ventana activa al espacio de trabajo que nosotros queramos. Win + r Para entrar en el modo redimensionar ventanas. Una vez activado el modo podremos redimensionar las ventanas con los cursoreso las teclas j, k, l ñ. Para salir del modo redimensionar ventanas volvemos a presionar la combinación de teclas Win + r. Alt + cursores arriba y abajo Subir y bajar el volumen. Alt + m Mutear el sonido de nuestro equipo. Mod + F9 Para cambiar la fuente de salida del audio. Requiere configuración adicional no aplicada en este tutorial. Win + Shift + f Abrir Firefox. Win + Shift + p Abrir Firefox en modo privado. Impr Pant Para hacer capturas de pantalla con el programa que especifiquemos en el fichero de configuración. Win + Shift + F2 Bloquear la pantalla con dm-tool. Para desbloquear la pantalla se tendrá que introducir de nuevo la contraseña para iniciar la sesión. Win + Shift + c Recargar el archivo de configuración de i3. Win + Shift + r Reiniciar por completo el escritorio i3. No se perderá ninguno de los trabajos que estamos realizando. También se reiniciará la configuración de i3blocks. Win + Shift + e Atajo de teclado para cerrar la sesión de i3. Si se cierra la sesión y no guardamos previamente la información perderemos información. Win + Ctrl + s Apagar el ordenador. Para terminar consulten las fuentes. En las fuentes que les dejo verán ejemplos y vídeos del proceso de configuración. También entrarán scripts para poder añadir funcionalidades a la barra i3blocks.\nOTRAS CONFIGURACIONES QUE PUEDEN APLICAR A I3 A continuación les dejo otros enlaces que también les ayudarán a personalizar su entorno de escritorio i3:\nConfigurar separación entre ventanas y los bordes en i3 Mostrar el título de las ventanas en el panel de i3 Fuentes https://i3wm.org/docs/userguide.html https://www.youtube.com/playlist?list=PL5ze0DjYv5DbCv9vNEzFmP6sU7ZmkGzcf https://github.com/vivien/i3blocks-contrib\n","permalink":"https://geeklandlinux.github.io/posts/instalar-configurar-y-usar-el-gestor-de-ventanas-i3-en-linux/","summary":"\u003cp\u003eActualmente estoy usando el gestor de ventanas i3 como mi escritorio principal, pero aparte de i3 también tengo instalado XFCE. El motivo es que si algún día tengo problemas con i3 podré tirar de XFCE. Además también me gusta usar gran parte de las herramientas que ofrece el escritorio XFCE en i3. Por lo tanto les detallaré como instalar y configurar el gestor de ventanas i3 partiendo de una instalación con Debian Testing, el escritorio XFCE, network manager y el gestor de sesiones Lightdm.\u003c/p\u003e","title":"Instalar configurar y usar el gestor de ventanas i3 en Linux"},{"content":"A continuación veremos como crear una partición UEFI desde Windows. En mi caso acabo de recibir un equipo con Windows preinstalado y pretendo realizar un Dual-Boot con Linux. Al observar el esquema de particionado del disco duro observo que la partición UEFI solamente tiene 100MB. Por lo tanto es posible que tarde o temprano la partición acabe llenándose y generando problemas.\nPara solucionar el problema que acabamos de mencionar tenemos 3 opciones:\nUsar un software que permita redimensionar las particiones de nuestro dispositivo de almacenamiento. Esta opción presenta el inconveniente que tendréis que comprar una licencia de software o piratear un software con los riesgos que ello conlleva. Eliminar la partición UEFI y la partición en que tenemos instado el sistema operativo. Una vez eliminadas las tendremos que volver a crear con el espacio que queramos e instalar de nuevo el sistema operativo. Esto sin duda son horas de trabajo. Generar una nueva partición UEFI con el espacio que consideremos adecuado. El único inconveniente de esta opción es que en el inicio del disco dejaremos 100MB sin usar. Después de evaluar los pros y los contra en mi caso he decido adoptar la solución 3. El procedimiento para crear una nueva partición UEFI ha sido el siguiente.\nNota: Si el procedimiento mostrado a continuación se realiza de forma incorrecta puede generar pérdida de información y que Windows no arranque. En ningún caso me hago responsable de los perjuicios y problemas que puedan darse en vuestro caso.\nCREAR UN NUEVO VOLUMEN PARA ALOJAR LA NUEVA PARTICION UEFI Tenemos que abrir el gestor de discos de Windows. Para ello posicionamos el puntero del ratón encima del botón de inicio de Windows. Presionamos el botón derecho del ratón y cuando aparezca el menú clicamos en la opción Administrador de discos.\nEn mi caso no tengo espacio libre para crear una nueva partición. Por lo tanto tendré que usar espacio libre de la partición C:. Para ello seleccionaré la unidad C: con el ratón, presionaré el botón derecho del ratón y cuando aparezca el menú presionaré sobre la opción Reducir Volumen...\nSeguidamente indicaremos que queremos reducir 500 MB el espacio de la partición C: y presionaremos el botón Reducir.\nNota: 500 MB es un espacio generoso para generar la partición UEFI. Todo lo que sea por encima de 300 MB debería ser más que suficiente para el 99% de usuarios.\nFinalmente vemos que la partición C: se ha reducido en 500MB y por otro lado se ha generado un nuevo volumen de 500MB que es el que usaremos para crear la partición UEFI.\nCREAR LA PARTICIÓN UEFI Lo primero que tendremos que realizar para crear la nueva partición UEFI es abrir una consola con privilegios de administrador del siguiente modo.\nUna vez abierta la consola ejecutaremos el comando diskpart para arrancar la utilidad que nos ayudará a gestionar las particiones de Windows.\nMicrosoft Windows [Version 10.0.18363.1316] (c) 2019 Microsoft Corporation. All rights reserved. C:\\WINDOWS\\system32\u0026gt;diskpart Microsoft DiskPart version 10.0.18362.1171 Copyright (C) Microsoft Corporation. On computer: DESKTOP-74FTVQJ A continuación ejecutamos el comando list disk para ver la totalidad de discos presentes en nuestro equipo. En mi caso solo tengo un disco que se reconoce como Disk 0.\nDISKPART\u0026gt; list disk Disk ### Status Size Free Dyn Gpt -------- ------------- ------- ------- --- --- Disk 0 Online 238 GB 500 MB * Seguidamente seleccionamos el disco duro sobre el que realizar modificaciones ejecutando el comando sel disk 0.\nDISKPART\u0026gt; sel disk 0 Disk 0 is now the selected disk. Una vez seleccionado el disco listamos las particiones ejecutando el comando list partition.\nDISKPART\u0026gt; list partition Partition ### Type Size Offset ------------- ---------------- ------- ------- Partition 1 System 100 MB 1024 KB Partition 2 Reserved 16 MB 101 MB Partition 3 Primary 237 GB 117 MB Partition 4 Recovery 863 MB 237 GB Finalmente crearemos la partición UEFI ejecutando el comando create partition efi.\nDISKPART\u0026gt; create partition efi DiskPart succeeded in creating the specified partition. Si en estos momentos accedemos al gestor de discos de Windows veremos que efectivamente se ha creado una partición EFI de 500MB\nCOPIAR LOS ARCHIVOS DE ARRANQUE A LA NUEVA UEFI Seguidamente formatearemos la partición que acabamos de crear y le asignaremos la etiqueta system mediante el siguiente comando:\nDISKPART\u0026gt; format quick fs=fat32 Label=\u0026#34;system\u0026#34; 100 percent completed DiskPart successfully formatted the volume. A continuación asignaremos la letra M: a la partición que acabamos de formatear mediante el siguiente comando:\nDISKPART\u0026gt; assign letter=M DiskPart successfully assigned the drive letter or mount point. El siguiente paso consistirá en listar los volúmenes y particiones para asegurar que todos los pasos se han realizado correctamente. Para ello inicialmente ejecutaremos el comando list vol y a continuación list part.\nDISKPART\u0026gt; list vol Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ----- ---------- ------- --------- -------- Volume 0 C NTFS Partition 237 GB Healthy Boot Volume 1 SYSTEM FAT32 Partition 100 MB Healthy System Volume 2 Recovery NTFS Partition 863 MB Healthy Hidden * Volume 3 M SYSTEM FAT32 Partition 500 MB Healthy Hidden DISKPART\u0026gt; list part Partition ### Type Size Offset ------------- ---------------- ------- ------- Partition 1 System 100 MB 1024 KB Partition 2 Reserved 16 MB 101 MB Partition 3 Primary 237 GB 117 MB * Partition 5 System 500 MB 237 GB Partition 4 Recovery 863 MB 237 GB Nota: Si observáis veréis que la partición 5 está seleccionada, tiene 500MB y es del tipo sistema. Por lo tanto ya podemos copiar los archivos de arranque dentro de la nueva partición.\nA continuación saldremos de la utilidad diskpart ejecutando el comando exit.\nDISKPART\u0026gt; exit Leaving DiskPart... C:\\WINDOWS\\system32\u0026gt; Finalmente copiaremos/generaremos los ficheros de arranque en la partición UEFI que acabamos de crear ejecutando el siguiente comando:\nC:\\WINDOWS\\system32\u0026gt;bcdboot C:\\windows /s M: /f ALL Boot files successfully created. Nota: Recuerden sustituir M: por la letra que vosotros hayan asignado a la partición UEFI.\nARRANCAR EL EQUIPO HACIENDO USO DE LA NUEVA PARTICIÓN DE UEFI Una vez creada la nueva partición ya podemos reiniciar el equipo. Pero justo al iniciar el proceso de arranque tendréis que acceder dentro del menú de arranque y seleccionar la segunda de las entradas para arrancar el equipo. De este modo haremos que el equipo arranque usando la partición UEFI de 500 MB que acabamos de generar.\nNota: Para acceder al menú de arranque tengo que presionar la tecla F7 justo en el momento que inicia el arranque de mi equipo. La tecla a presionar variará en función de cada equipo, por lo tanto si no les funciona F7 prueben otras teclas como por ejemplo F8, F12, F2, Del, etc.\nSi el equipo arranca sin problemas significa que el procedimiento realizado hasta el momento ha funcionado a la perfección. A partir de estos momentos ya podemos hacer un Dual Boot con Linux sin tener problemas de espacio en la partición /boot/efi. No obstante, antes de iniciar el proceso de instalación del Dual Boot recomiendo borrar la partición UEFI que no están usando.\nBORRAR LA PARTICIÓN QUE YA NO ESTAMOS USANDO Una vez comprobado que todo funciona a la perfección podemos eliminar la partición UEFI de 100 MB. Para ello abriremos una consola con permisos de administrador.\nActo seguido abrimos la utilidad diskpart ejecutando el siguiente comando:\nMicrosoft Windows [Version 10.0.18363.1316] (c) 2019 Microsoft Corporation. All rights reserved. C:\\WINDOWS\\system32\u0026gt;diskpart Microsoft DiskPart version 10.0.18362.1171 Copyright (C) Microsoft Corporation. On computer: DESKTOP-74FTVQJ A continuación listamos todos los discos presentes en nuestro equipo y seleccionamos el disco que contiene la partición UEFI que queremos eliminar.\nDISKPART\u0026gt; list disk Disk ### Status Size Free Dyn Gpt -------- ------------- ------- ------- --- --- Disk 0 Online 238 GB 0 B * DISKPART\u0026gt; sel disk 0 Disk 0 is now the selected disk. Seguidamente listamos los volúmenes presentes en el disco ejecutando el comando list vol.\nDISKPART\u0026gt; list vol Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ----- ---------- ------- --------- -------- Volume 0 C NTFS Partition 237 GB Healthy Boot Volume 1 SYSTEM FAT32 Partition 100 MB Healthy Hidden Volume 2 SYSTEM FAT32 Partition 500 MB Healthy System Volume 3 Recovery NTFS Partition 863 MB Healthy Hidden Como han podido ver en la salida del último comando, los volúmenes 1 y 2 alojan particiones UEFI. En mi caso la partición UEFI que estoy usando es la que está en el Volumen 2 porque si os fijáis en la columna Info figura la palabra system. Además la partición ocupa 500 MB, por lo tanto ya podemos borrar la partición 1 del siguiente modo.\nInicialmente tenemos que seleccionar el volumen que queremos borrar. Como quiero borrar el volumen 1 ejecutaré el siguiente comando:\nDISKPART\u0026gt; Select Volume 1 Una vez seleccionado lo eliminaremos ejecutando el siguiente comando:\nDISKPART\u0026gt; delete partition override DiskPart successfully deleted the selected partition. De este modo tan solo tendremos una partición UEFI en nuestro equipo. A partir de estos momentos podré iniciar la instalación de un sistema dual-boot sin que la partición UEFI genere problemas.\nFuentes https://www.youtube.com/watch?v=OUoNrLP57P8 https://www.hebergementwebs.com/inicio-de-windows/bcdboot-reconstruye-el-bcd-de-windows-10\n","permalink":"https://geeklandlinux.github.io/posts/crear-una-particion-uefi-desde-windows-para-hacer-un-dual-boot/","summary":"\u003cp\u003eA continuación veremos como crear una partición UEFI desde Windows. En mi caso acabo de recibir un equipo con Windows preinstalado y pretendo realizar un Dual-Boot con Linux. Al observar el esquema de particionado del disco duro observo que la partición UEFI solamente tiene 100MB. Por lo tanto es posible que tarde o temprano la partición acabe llenándose y generando problemas.\u003c/p\u003e","title":"Crear una partición UEFI desde Windows para hacer un dual-boot"},{"content":"Por la red he visto algunos tutoriales de como instalar, configurar y usar NordVPN en la terminal de Linux. La gran mayoría de ellos no era correcto o no aportaba la información necesaria. Por este motivo a continuación detallaré el procedimiento para instalar, configurar y sacar el máximo partido a NordVPN en Linux.\nINSTALAR EL CLIENTE DE NORDVPN EN LINUX, UNA RASPBERRY PI O CUALQUIER DISTRIBUCIÓN QUE USE PAQUETERIA .DEB NordVPN ofrece un script de instalación. Para descargar y ejecutar el script en cualquier distribución que use paquetes .deb tan solo tenemos que ejecutar el siguiente comando:\npi@raspberrypi:~ $ sh \u0026lt;(curl -sSf https://downloads.nordcdn.com/apps/linux/install.sh) /usr/bin/apt-get Leyendo lista de paquetes... Hecho Creando árbol de dependencias Leyendo la información de estado... Hecho apt-transport-https ya está en su versión más reciente (1.8.2.2). 0 actualizados, 0 nuevos se instalarán, 0 para eliminar y 0 no actualizados. /usr/bin/wget deb https://repo.nordvpn.com//deb/nordvpn/debian stable main Obj:1 https://download.docker.com/linux/raspbian buster InRelease Obj:2 http://archive.raspberrypi.org/debian buster InRelease ... El paquete indicado a continuación se instaló de forma automática y ya no es necesario. libpng-tools Utilice «sudo apt autoremove» para eliminarlo. Se instalarán los siguientes paquetes adicionales: ipset libipset11 libxslt1.1 xsltproc Se instalarán los siguientes paquetes NUEVOS: ipset libipset11 libxslt1.1 nordvpn xsltproc 0 actualizados, 5 nuevos se instalarán, 0 para eliminar y 3 no actualizados. Se necesita descargar 9.607 kB de archivos. Se utilizarán 34,5 MB de espacio de disco adicional después de esta operación. ¿Desea continuar? [S/n] S .... Configurando xsltproc (1.1.32-2.2~deb10u1) ... Configurando nordvpn (3.8.9) ... NordVPN for Linux successfully installed! To get started, please re-login or execute `su - $USER` in the current shell, type \u0026#39;nordvpn login\u0026#39; and enter your NordVPN account details. Then type \u0026#39;nordvpn connect\u0026#39; and you’re all set! To allow other users to use the application run \u0026#39;usermod -aG nordvpn otheruser\u0026#39;. If you need help using the app, use the command \u0026#39;nordvpn --help\u0026#39;. Procesando disparadores para systemd (241-7~deb10u5+rpi1) ... Procesando disparadores para man-db (2.8.5-2) ... Así de simple. A partir de estos momentos NordVPN ya está instalado en nuestro equipo con Linux o en nuestra Raspberry Pi. No hay que realizar ningún invento más para que NordVPN pueda funcionar en Linux. A partir de estos momentos el usuario que haya instalado el servicio VPN podrá usarlo sin ningún tipo de problema. Si quieran dar permisos a otros usuarios deberán ejecutar el siguiente comando:\npi@raspberrypi:~ $ usermod -aG nordvpn nombre_usuario Además podéis comprobar que NordVPN está levantado ejecutando el siguiente comando en la terminal:\npi@raspberrypi:~ $ systemctl status nordvpnd ● nordvpnd.service - NordVPN Daemon Loaded: loaded (/usr/lib/systemd/system/nordvpnd.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2021-01-04 15:12:23 CET; 2 days ago Main PID: 558 (nordvpnd) Tasks: 24 (limit: 2063) CGroup: /system.slice/nordvpnd.service └─558 /usr/sbin/nordvpnd LOGUEARSE AL SERVICIO DE NORDVPN EN LINUX Lo primero que tenemos que hacer después de finalizar la instalación es loguearnos a nuestra cuenta. Para ello ejecutaremos el comando nordvpn login e introduciremos nuestro usuario y contraseña.\npi@raspberrypi:~ $ nordvpn login Please enter your login details. Email / Username: geekland@geekland.eu Password: tucontraseña Una vez se hayan logueado ya pueden iniciar el proceso de configuración y conexión.\nCONFIGURAR NORDVPN PARA SACAR EL MÁXIMO PARTIDO EN LINUX Antes de iniciar el proceso de configuración es altamente recomendable que lean la ayuda de NordVPN. Para ello procederemos del siguiente modo.\nConsultar la ayuda de NordVPN en Linux Para consultar el manual de uso y configuración tan solo tienen que ejecutar el siguiente comando en la terminal:\npi@raspberrypi:~ $ man nordvpn Nota: La ayuda proporcionada verán que es bastante buena. Además incluye ejemplos de uso.\nNota: Un comando alternativo al mencionado es nordvpn --help\nUna vez hayan leído la ayuda pueden iniciar la configuración del siguiente modo.\nDefinir una lista blanca de puertos o direcciones IP En el momento que conectamos nuestro dispositivo a un servidor VPN la conexiones entrantes dejarán de estar permitidas. Por lo tanto si estoy conectado a la Raspberry Pi de forma local vía SSH por el puerto 22 y conecto la Raspberry Pi a un servidor VPN la conexión SSH se cortará. Para evitar este inconveniente tendremos que añadir el puerto 22 a la lista blanca ejecutando el siguiente comando:\npi@raspberrypi:~/jdownloader $ nordvpn whitelist add port 22 Port 22 (UDP|TCP) is whitelisted successfully. A partir de este momento puedo iniciar una conexión SSH con mi Raspberry Pi a nivel local. En el momento que la Raspberry Pi se conecte a un servidor VPN la conexión SSH no se caerá. Para confirmar que esto es así podemos consultar las reglas que están introducidas en el firewall de nuestro equipo:\npi@raspberrypi:~ $ sudo iptables -L -v -n Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT udp -- wlan0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:22 0 0 ACCEPT udp -- wlan0 * 0.0.0.0/0 0.0.0.0/0 udp spt:22 0 0 ACCEPT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:22 0 0 ACCEPT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp spt:22 12 852 ACCEPT tcp -- wlan0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 0 0 ACCEPT tcp -- wlan0 * 0.0.0.0/0 0.0.0.0/0 tcp spt:22 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp spt:22 Si observan la salida del comando verán que las entradas a nuestro equipo a través de los puertos 22/UDP y 22/TCP están permitidas a través de las interfaces eth0 y wlan0.\nSi ahora quisiéramos poner a la lista blanca una subred determinada ejecutaríamos un comando del siguiente tipo:\npi@raspberrypi:~ $ nordvpn whitelist add subnet 192.168.0.1/24 Subnet 192.168.0.1/24 is added to hte whitelist successfully. De esta forma todos los equipos pertenecientes a la subred 192.168.1.0.1/24 podrán interactuar con la Raspberry Pi sin ningún tipo de problema.\nEn el caso que quisiéramos quitar de la lista blanca el puerto 22 y la subred 192.168.0.1/24 deberíamos ejecutar los siguientes comandos.\npi@raspberrypi:~ $ nordvpn whitelist remove port 22 Port 22 (UDP|TCP) is removed from the whitelist successfully. pi@raspberrypi:~ $ nordvpn whitelist remove subnet 192.168.0.1/24 Subnet 192.168.0.1/24 is removed from a whitelist successfully. Activar el modo kill Switch El modo Kill Switch hace que en el momento que se corte de forma accidental la conexión con nuestro servidor VPN no podamos continuar usando Internet. Por lo tanto con Kill switch activado estaremos garantizando que la totalidad de nuestro tráfico irá a través del servidor VPN.\nKill Switch viene desactivado de forma predeterminada. Para habilitarlo tendréis que ejecutar el siguiente comando en la terminal:\npi@raspberrypi:~ $ nordvpn set killswitch enable Kill Switch is set to \u0026#39;enabled\u0026#39; successfully. Si una vez habilitado queremos deshabilitarlo tenemos que ejecutar el siguiente comando:\npi@raspberrypi:~ $ nordvpn set killswitch disable Kill Switch is set to \u0026#39;disabled\u0026#39; successfully. Nota: Kill Switch puede llegar a ser molesto. Si tenéis una mala conexión a Internet es posible que de forma frecuente se caiga la conexión entre su equipo y el servidor VPN. Si los cortes son frecuentes obviamente tener activado el Kill Switch puede llegar a ser una molestia. En mi caso tengo deshabilitada esta opción. Solo recomendaría usarla en el caso que realicen actividades críticas en que lo más importante sea su privacidad.\nDefinir si queremos usar el protocolo TCP o UDP Los servidores VPN pueden trabajar a través del protocolo UDP o TCP. Por temas de rendimiento NordVPN está configurado para trabajar con el protocolo UDP de forma predeterminada. No obstante si quieren pueden usar el protocolo TCP ejecutando el siguiente comando:\npi@raspberrypi:~ $ nordvpn set protocol tcp Protocol is successfully set to \u0026#39;TCP\u0026#39;. Si llega el día que queremos volver a usar el protocolo UDP ejecutaremos el siguiente comando:\npi@raspberrypi:~ $ nordvpn set protocol udp Protocol is successfully set to \u0026#39;UDP\u0026#39;. Nota: Este apartado que acabamos de ver solo aplica si usamos OpenVPN. En caso de usar NordLynx no aplica este apartado de configuración. En caso de usar OpenVPN recomiendo el uso de UDP.\nDefinir DNS personalizados para nuestro servicio VPN NorVPN trabaja con sus propios DNS de forma predeterminada. Para ver estos DNS en Linux tan solo tienen que ejecutar el siguiente comando:\npi@raspberrypi:~ $ cat /etc/resolv.conf # Generated by NordVPN nameserver 103.86.96.100 nameserver 103.86.99.100 Si quieren usar otros DNS como por ejemplos los 1.1.1.1 y 8.8.8.8 tan solo tendrán que ejecutar el siguiente comando:\npi@raspberrypi:~ $ nordvpn set dns 1.1.1.1 8.8.8.8 DNS is set to \u0026#39;1.1.1.1, 8.8.8.8\u0026#39; successfully. Para comprobar que los nuevos DNS están correctamente configurados podemos realizar la misma comprobación que hicimos al inicio de este apartado:\npi@raspberrypi:~ $ cat /etc/resolv.conf # Generated by NordVPN nameserver 1.1.1.1 nameserver 8.8.8.8 Si llega el día que quieren volver a usar los servidores DNS predeterminados de NordVPN ejecuten el siguiente comando en la terminal:\npi@raspberrypi:~ $ nordvpn set dns disable DNS is set to \u0026#39;disabled\u0026#39; successfully Habilitar o deshabilitar CyberSec en NordVPN usando Linux desde la terminal CyberSec es el encargado de realizar un filtrado de direcciones IP. Es como un Pi-hole gestionado por NordVPN. Con esta característica activada conseguiremos lo siguiente:\nBloquear peticiones maliciosas que podamos hacer por accidente. De esta forma se incrementará nuestra seguridad al navegar. Bloquear la publicidad. Nota: El NordVPN descargado de la Google Play Store de Android no bloquea la publicidad. Si en Android quieren bloquear la publicidad mediante CyberSec deberán descargar e instalar el archivo .apk directamente desde la web de NordVPN.\nPara activar CyberSec deberán ejecutar el siguiente comando en la terminal:\npi@raspberrypi:~ $ nordvpn set cybersec enable CyberSec is set to \u0026#39;enabled\u0026#39; successfully. Si una vez activado lo quieren desactivar deberán ejecutar el siguiente comando:\npi@raspberrypi:~ $ nordvpn set cybersec disable CyberSec is set to \u0026#39;disabled\u0026#39; successfully. Nota: Es opción vuestra si queréis activar o no esta función. En mi caso la uso y la encuentro útil para bloquear la publicidad.\nHabilitar Autoconnect para estar siempre conectados a un servidor VPN de forma automática Autoconnect se encargará que cada vez que cada vez que nuestro equipo se conecte a Internet lo haga estando conectado a un servidor VPN. Por lo tanto en el momento que nuestro equipo se conecte a Internet NordVPN se conectará a un servidor VPN de forma completamente automática.\nPara habilitar está característica tenemos que ejecutar el siguiente comando:\npi@raspberrypi:~ $ nordvpn set autoconnect enable Auto-connect is set to \u0026#39;enabled\u0026#39; successfully. Si además quieren conectarse a un servidor VPN en particular como por ejemplo uno que esté ubicado en la ciudad de Dallas de Estados Unidos deberán ejecutar el siguiente comando:\npi@raspberrypi:~ $ nordvpn set autoconnect enable United_States Dallas Auto-connect is set to \u0026#39;enabled\u0026#39; successfully. Nota: En apartados posteriores encontrarán como listar todos los países y ciudades disponibles.\nPara deshabilitar Autoconnect deberán ejecutar el siguiente comando.\npi@raspberrypi:~ $ nordvpn set autoconnect disable Auto-connect is set to \u0026#39;disabled\u0026#39; successfully. Usar servidores ofuscados En países que existe una fuerte censura, como por ejemplo China, es altamente probable que la gran mayoría de servidores VPN no funcionen. En estos países tendremos que usar servidores VPN ofuscados. Los servidores ofuscados son aquellos que están optimizados para evitar la censura que aplican algunos gobiernos.\nPara habilitar los servidores ofuscados tendrán que ejecutar el siguiente comando en la terminal:\npi@raspberrypi:~ $ nordvpn set obfuscate enable Obfuscation is successfully set to \u0026#39;enabled\u0026#39; Una vez habilitados nos podemos conectar a un servidor VPN cualquiera. Así por ejemplo si ejecutamos el comando nordvpn connect nos conectaremos al servidor VPN ofuscado que NordVPN considere apropiado.\npi@raspberrypi:~ $ nordvpn connect Connecting to Germany #1014 (de1014.nordvpn.com) You are connected to Germany #1014 (de1014.nordvpn.com)! Para deshabilitar los servidores ofuscados ejecutaremos el siguiente comando en la terminal:\npi@raspberrypi:~ $ nordvpn set obfuscate disable Obfuscation is successfully set to \u0026#39;disabled\u0026#39;. Nota: No hace falta habilitar este tipo de servidores en países en que no exista censura. Si estáis en Francia no obtendréis ningún beneficio al usar los servidores VPN ofuscados.\nNota: Los servidores ofuscados solamente están disponibles para el protocolo OpenVPN.\nElegir el tipo de VPN al que nos queremos conectar NordVPN ofrece servidores VPN basados en protocolos OpenVPN y Wireguard (NordLynx). De forma predeterminada se usará OpenVPN, pero en mi caso prefiero y recomiendo usar NordLynx. La velocidad de respuesta es más rápida, la conexión es más estable y es un protocolo mucho más moderno que OpenVPN.\nPara habilitar NordLynx tan solo tendréis que ejecutar el siguiente comando en la terminal:\npi@raspberrypi:~ $ nordvpn set technology NordLynx Technology is successfully set to \u0026#39;NordLynx\u0026#39;. Si ahora nos conectamos a un servicio VPN cualquiera del siguiente modo:\npi@raspberrypi:~ $ nordvpn connect Connecting to Spain #146 (es146.nordvpn.com) You are connected to Spain #146 (es146.nordvpn.com)! Podremos constatar que efectivamente estamos usando el protocolo NordLynx.\npi@raspberrypi:~ $ nordvpn status Status: Connected Current server: es146.nordvpn.com Country: Spain City: Madrid Your new IP: 195.181.167.166 Current technology: NordLynx Transfer: 0 B received, 2.83 KiB sent Uptime: 8 seconds Si por el motivo que sea queremos volver a usar OpenVPN ejecutaremos el siguiente comando en la terminal.\npi@raspberrypi:~ $ nordvpn set technology OpenVPN Technology is successfully set to \u0026#39;OpenVPN\u0026#39;. COMO CONECTARSE A UN SERVIDOR VPN DE NORDVPN EN LINUX Una vez finalizada la configuración ya podemos empezar a usar NordVPN. Para ello iniciaremos con la forma más simple de conectarnos a un servidor VPN.\nConectarnos a un servidor VPN de forma aleatoria Para conectarnos a un servidor VPN aleatorio tan solo tenemos que usar el comando nordvpn connect:\npi@raspberrypi:~ $ nordvpn connect Connecting to Spain #174 (es174.nordvpn.com) You are connected to Spain #174 (es174.nordvpn.com)! Nota: Con este comando tan simple NordVPN nos conecta al servidor VPN que piensa que nos dará mayor rendimiento.\nUna vez conectados al servidor podemos ejecutar el comando nordvpn status para visualizar datos de nuestra conexión.\npi@raspberrypi:~ $ nordvpn status Status: Connected Current server: es174.nordvpn.com Country: Spain City: Madrid Your new IP: 37.122.192.132 Current technology: OpenVPN Current protocol: UDP Transfer: 6.07 GiB received, 4.85 GiB sent Uptime: 13 hours 13 minutes Si además de los datos de la conexión quieren visualizar la configuración que tenemos aplicada pueden ejecutar el comando nordvpn settings:\npi@raspberrypi:~ $ nordvpn settings Technology: OpenVPN Protocol: UDP Kill Switch: disabled CyberSec: disabled Obfuscate: disabled Notify: enabled Auto-connect: disabled DNS: disabled Whitelisted ports: 22 (UDP|TCP) Desconectarnos del servidos al que estamos conectados Si ahora queremos desconectarnos del servidor VPN al que acabamos de conectarnos tan solo tenemos que usar el comando nordvpn disconnect.\npi@raspberrypi:~ $ nordvpn disconnect You have been disconnected from NordVPN. Para asegurar que realmente están desconectados pueden ejecutar el comando nordvpn status.\npi@raspberrypi:~ $ nordvpn status Status: Disconnected Conectarnos a un servidor VPN de un determinado país y ciudad Para ver la totalidad de países en los que NordVPN tiene servidores ejecutaremos el comando nordvpn countries:\npi@raspberrypi:~ $ nordvpn countries Albania\tGreece\tPortugal Argentina\tHong_Kong\tRomania Australia\tHungary\tSerbia Austria\tIceland\tSingapore Belgium\tIndia\tSlovakia Bosnia_And_Herzegovina\tIndonesia\tSlovenia Brazil\tIreland\tSouth_Africa Bulgaria\tIsrael\tSouth_Korea Canada\tItaly\tSpain Chile\tJapan\tSweden Costa_Rica\tLatvia\tSwitzerland Croatia\tLuxembourg\tTaiwan Cyprus\tMalaysia\tThailand Czech_Republic\tMexico\tTurkey Denmark\tMoldova\tUkraine Estonia\tNetherlands\tUnited_Kingdom Finland\tNew_Zealand\tUnited_States France\tNorth_Macedonia\tVietnam Georgia\tNorway Germany\tPoland Si queremos conectarnos a un servidor VPN cualquiera de Corea del Sur ejecutaremos el siguiente comando en la terminal:\npi@raspberrypi:~ $ nordvpn connect South_Korea Connecting to South Korea #32 (kr32.nordvpn.com) You are connected to South Korea #32 (kr32.nordvpn.com)! Conectarnos a un servidor VPN de una determinada ciudad Si ahora queremos ver las ciudades de Corea del Sur en que NordVPN tiene ubicados servidores para sus clientes ejecutamos el siguiente comando en la terminal:\npi@raspberrypi:~ $ nordvpn cities South_Korea Seoul En este caso NordVPN solo tiene servidores VPN en la ciudad de Seúl. Para especificar que nos queremos conectar a un servidor VPN cualquiera de la ciudad de Seúl en Corea del Sur ejecutaremos el siguiente comando en la terminal:\npi@raspberrypi:~ $ nordvpn connect South_Korea Seoul Connecting to South Korea #36 (kr36.nordvpn.com) You are connected to South Korea #36 (kr36.nordvpn.com)! Conectarse a un servidor específico para hacer descargas P2P NordVPN clasifica los servidores por grupos. Para ver todos los grupos disponibles ejecutamos el siguiente comando:\npi@raspberrypi:~ $ nordvpn groups Africa_The_Middle_East_And_India\tOnion_Over_VPN Asia_Pacific\tP2P Dedicated_IP\tStandard_VPN_Servers Double_VPN\tThe_Americas Europe Nota: El significado de cada uno de los grupos está aquí los encontraréis en el siguiente enlace.\nSi ahora queremos conectarnos a un servidor VPN cualquiera para poder realizar descargas P2P ejecutaremos el siguiente comando:\npi@raspberrypi:~ $ nordvpn connect P2P Connecting to Spain #152 (es152.nordvpn.com) You are connected to Spain #152 (es152.nordvpn.com)! Si queremos que se realicen las descargas P2P a través de un servidor ubicado por ejemplo en Suiza ejecutaremos el siguiente comando:\npi@raspberrypi:~ $ nordvpn connect --group P2P Switzerland Connecting to Switzerland #277 (ch277.nordvpn.com) You are connected to Switzerland #277 (ch277.nordvpn.com)! De este modo podremos realizar descargas P2P sin que nadies pueda conocer nuestra IP real.\nDESOLOGUEARSE COMPLETAMENTE DE LA CUENTA Si quieren desloguearse de la cuenta de NordVPN tan solo deberán ejecutar el comando nordvpn logout:\npi@raspberrypi:~ $ nordvpn logout You are logged out. De esta forma simple e intuitiva podréis sacar el máximo partido a NordVPN desde la terminal.\nFuentes https://blog.sleeplessbeastie.eu/2019/02/04/how-to-use-nordvpn-command-line-utility/ https://wiki.archlinux.org/index.php/NordVPN_(Espa%C3%B1ol)\n","permalink":"https://geeklandlinux.github.io/posts/instalar-configurar-y-usar-nordvpn-en-linux-desde-la-terminal/","summary":"\u003cp\u003ePor la red he visto algunos tutoriales de como instalar, configurar y usar NordVPN en la terminal de Linux. La gran mayoría de ellos no era correcto o no aportaba la información necesaria. Por este motivo a continuación detallaré el procedimiento para instalar, configurar y sacar el máximo partido a NordVPN en Linux.\u003c/p\u003e","title":"Instalar, configurar y usar NordVPN en Linux desde la terminal"},{"content":"Recientemente vimos como arrancar nuestra Raspberry Pi a través de un dispositivo de almacenamiento SSD externo. Para que el rendimiento del disco duro sea correcto y prolongar su vida útil es recomendable activar el TRIM. Para activar el TRIM en una Raspberry Pi arrancada por un SSD externo procederemos del siguiente modo.\nNota: Si no sabéis bien lo que estáis haciendo y solo queréis copiar y pegar las instrucciones recomiendo seguir el procedimiento que verán a continuación con solo un dispositivo de almacenamiento enchufado a la Raspebrry Pi.\nCOMPROBAR SI TRIM ESTA ACTIVADO EN LA RASPBERRY PI Para comprobar si TRIM está activado tienen que ejecutar el siguiente comando en la terminal:\npi@raspberrypi:~ $ sudo fstrim -v / fstrim: /: the discard operation is not supported Nota: El comando que acabamos de ejecutar es asumiendo que estamos arrancando la Raspberry Pi a través del ssd. Por este motivo como punto de montaje introducimos la partición root /.\nEn mi caso la salida del comando es fstrim: /: the discard operation is not supported. Por lo tanto TRIM no está habilitado. Para habilitarlo deberán seguir las indicaciones que encontrarán a continuación.\nACTIVAR TRIM EN LA RASPBERRY PI 4 ARRANCADA A TRAVÉS DE UN SSD EXTERNO Para activar TRIM de forma permanente deberán seguir las siguientes indicaciones:\nVerificar que TRIM es compatible con el firmware de nuestra unidad SSD Ejecutamos el comando lsblk -D para ver el nombre con el que se detecta nuestra unidad SSD.\npi@raspberrypi:~ $ lsblk -D NAME DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO sda 0 0B 0B 0 ├─sda1 0 0B 0B 0 └─sda2 0 0B 0B 0 Una vez sabemos que en mi caso se detecta como /dev/sda ejecutamos el siguiente comando para comprobar el valor de Maximum unmap LBA count. Este valor nos indica el número máximo de bloques que se podrán marcar como leídos.\npi@raspberrypi:~ $ lsblk -D NAME DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO sda 0 0B 0B 0 ├─sda1 0 0B 0B 0 └─sda2 0 0B 0B 0 pi@raspberrypi:~ $ sudo sg_vpd -p bl /dev/sda Block limits VPD page (SBC): Write same non-zero (WSNZ): 0 Maximum compare and write length: 0 blocks [Command not implemented] Optimal transfer length granularity: 8 blocks Maximum transfer length: 65535 blocks Optimal transfer length: 65535 blocks Maximum prefetch transfer length: 65535 blocks Maximum unmap LBA count: 8388480 Maximum unmap block descriptor count: 63 ... Seguidamente ejecutamos el siguiente comando para averiguar el valor del parámetro Unmap command supported (LBPU)\npi@raspberrypi:~ $ sudo sg_vpd -p lbpv /dev/sda Logical block provisioning VPD page (SBC): Unmap command supported (LBPU): 1 Write same (16) with unmap bit supported (LBPWS): 0 Write same (10) with unmap bit supported (LBPWS10): 0 Logical block provisioning read zeros (LBPRZ): 0 Anchored LBAs supported (ANC_SUP): 1 Threshold exponent: 1 Descriptor present (DP): 0 Minimum percentage: 0 [not reported] Provisioning type: 1 (resource provisioned) Threshold percentage: 0 [percentages not supported] Los valores de los parámetros Maximum unmap LBA count y Unmap command supported (LBPU) son mayores que cero. Por lo tanto podemos usar TRIM en nuestro dispositivo de almacenamiento. En otras palabras, nuestro dispositivo de almacenamiento tiene la capacidad de marcar los sectores que están libres para su uso.\nHacer que el Kernel detecte nuestra unidad de Arranque externa SSD como un dispositivo capaz de realizar TRIM Acto seguido ejecutaremos el siguiente comando para comprobar si el Kernel ha detectado que nuestro dispositivo de almacenamiento SSD externo es capaz de marcar los sectores del dispositivo de almacenamiento como libres.\npi@raspberrypi:~ $ sudo find /sys/ -name provisioning_mode -exec grep -H . {} + | sort /sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb2/2-1/2-1:1.0/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0/provisioning_mode:full Si os fijáis obtenemos las palabras provisioning_mode:full en la salida del comando . Por lo tanto el Kernel no sabe que nuestro disco duro es capaz de realizar TRIM. Para solucionar esto ejecutaremos los siguientes comandos:\npi@raspberrypi:~ $ sudo su root@raspberrypi:/home/pi# echo unmap \u0026gt; /sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb2/2-1/2-1:1.0/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0/provisioning_mode Nota: En vuestro caso deberéis reemplazar /sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb2/2-1/2-1:1.0/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0/provisioning_mode por el texto que hayas obtenido en el salida del comando que habéis ejecutado en el inicio de este apartado.\nA continuación volvemos a realizar la misma comprobación que realizamos al inicio de este apartado. Por lo tanto ejecutamos los siguientes comandos:\nroot@raspberrypi:/home/pi# exit exit pi@raspberrypi:~ $ sudo find /sys/ -name provisioning_mode -exec grep -H . {} + | sort /sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb2/2-1/2-1:1.0/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0/provisioning_mode:unmap Ahora la salida del comando es provisioning_mode:unmap. Por lo tanto el kernel es capaz de detectar que nuestro disco puede marcar sectores como disponibles.\nIndicar el número máximo de bytes que se pueden marcar como libres en una sola operación Tenemos que indicar el tamaño máximo de bytes que se pueden marcar como libres en una sola operación. Para ello lo primero que haremos es conocer el tamaño de un bloque de la unidad SSD ejecutando el siguiente comando en la terminal:\npi@raspberrypi:~ $ sudo sg_readcap -l /dev/sda Read Capacity results: Protection: prot_en=0, p_type=0, p_i_exponent=0 Logical block provisioning: lbpme=1, lbprz=0 Last LBA=234441647 (0xdf94baf), Number of logical blocks=234441648 Logical block length=512 bytes Logical blocks per physical block exponent=3 [so physical block length=4096 bytes] Lowest aligned LBA=0 Hence: Device size: 120034123776 bytes, 114473.5 MiB, 120.03 GB Una vez obtenido el resultado vemos:\nEl tamaño de un bloque es de 512 bytes. En apartados anteriores vimos que el valor de Maximum unmap LBA count es 8388480. Este valor nos indica el número máximo de bloques que se podrán marcar como libres en una sola operación. Por lo tanto el número máximo de bytes que se pueden marcar como libres de utilización es:\n8388480 bloques x 512 bytes = 4294901760 bytes Para establecer este valor en la configuración ejecutaremos los siguientes comandos:\npi@raspberrypi:~ $ sudo su root@raspberrypi:/home/pi# echo 4294901760 \u0026gt; /sys/block/sda/queue/discard_max_bytes\nA partir de estos momentos ya podemos volver a ejecutar el comando sudo fstrim -v /. Ahora verán que TRIM se ejecuta sin problema alguno.\npi@raspberrypi:~ $ sudo fstrim -v / Activar el trim en la Raspberry Pi cada vez que se arranque Para que los cambios aplicados sean persistentes la próxima vez que arranquemos la Raspberry Pi identificaremos el ID de nuestro adaptador SATA a USB. Para ello ejecutaremos el siguiente comando:\npi@raspberrypi:~ $ lsusb Bus 002 Device 002: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp. JMS567 SATA 6Gb/s bridge Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Una vez sabemos el identificador, que en mi caso es 152d:0578, crearemos una regla udev ejecutando el siguiente comando en la terminal:\nsudo nano /etc/udev/rules.d/10-trim.rules Cuando se abra el editor de textos nano pegaremos el siguiente código:\nACTION==\u0026#34;add|change\u0026#34;, ATTRS{idVendor}==\u0026#34;152d\u0026#34;, ATTRS{idProduct}==\u0026#34;0578\u0026#34;, SUBSYSTEM==\u0026#34;scsi_disk\u0026#34;, ATTR{provisioning_mode}=\u0026#34;unmap\u0026#34; Nota: En vuestro caso tendréis que reemplazar los parámetros `**152d**` y `**0578**` por los de vuestro adaptador SATA a USB.\nUna vez pegado el código guardaremos los cambios y cerraremos el fichero.\nHacer que TRIM se ejecute de forma automática mediante un servicio de systemd Finalmente habilitaremos TRIM mediante systemd ejecutando el siguiente comando:\npi@raspberrypi:~ $ sudo systemctl enable fstrim.timer Con el servicio de systemd habilitado TRIM se ejecutará de forma totalmente automática una vez por semana. La periodicidad de ejecución se puede modificar, pero una vez por semana es adecuado para prácticamente la totalidad de usuarios.\nFuentes https://www.jeffgeerling.com/blog/2020/enabling-trim-on-external-ssd-on-raspberry-pi\nhttps://lemariva.com/blog/2020/08/raspberry-pi-4-ssd-booting-enabled-trim\n","permalink":"https://geeklandlinux.github.io/posts/activar-el-trim-en-una-raspberry-pi-arrancada-por-un-ssd-externo/","summary":"\u003cp\u003eRecientemente vimos como \u003ca href=\"/posts/como-arrancar-la-raspberry-pi-4-desde-un-disco-ssd/\"\u003earrancar nuestra Raspberry Pi a través de un dispositivo de almacenamiento SSD externo\u003c/a\u003e. Para que el rendimiento del disco duro sea correcto y prolongar su vida útil es recomendable activar el TRIM. Para activar el TRIM en una Raspberry Pi arrancada por un SSD externo procederemos del siguiente modo.\u003c/p\u003e","title":"Activar el trim en una raspberry pi arrancada por un ssd externo"},{"content":"Si queréis una solución simple para escuchar la radio en Linux desde la terminal y que además consuma pocos recursos pueden usar el script de bash que creo Julio Serrano o realizar uno vosotros mismos de forma muy sencilla. Los script de bash que verán hacen uso de mpv o vlc para reproducir cualquier emisora de radio desde la terminal.\nINSTALAR MPV Y/O VLC PARA REPRODUCIR LA RADIO EN STREAMING Para que las emisoras puedan reproducirse correctamente tenemos que tener instalado VLC y/o MPV. Para probar los script les recomiendo instalar los 2 reproductores ejecutando el siguiente comando:\njoan@debian:~$ sudo apt install mpv vlc ESCUCHAR LA RADIO EN LINUX DESDE LA TERMINAL MEDIANTE UN SCRIPT DE BASH Las instrucciones para descargar y reproducir las radios en streaming mediante un script de bash en la terminal son las siguientes.\nDescargar el script de bash para escuchar la radio en la terminal Para que el script funcione es importante que lo descarguemos en nuestra home. Para ello ejecuten el siguiente comando en la terminal:\njoan@debian:~$ cd A continuación descargamos el script de github ejecutando el siguiente comando en la terminal:\njoan@debian:~$ git clone https://github.com/mhyst/radio Configurar las emisoras que podremos escuchar en nuestra radio Seguidamente accederemos dentro del directorio que contiene el script para escuchar la radio desde la terminal. Para ello ejecutaremos el siguiente comando:\njoan@debian:~$ cd radio A continuación daremos permisos de ejecución al script ejecutando el siguiente comando:\njoan@debian:~/radio$ chmod +x radio Ahora si listamos el contenido del directorio `**~/radio**` veremos que contiene los ficheros radio y radio.conf:\njoan@debian:~/radio$ ls radio radio.conf El fichero radio contiene el código para poder reproducir las emisoras de radio. El fichero radio.conf contiene las emisoras que estarán disponibles para poder escuchar. Por lo tanto para tener más emisoras disponibles editaremos el fichero radio.conf ejecutando el siguiente comando en la terminal:\njoan@debian:~/radio$ nano radio.conf Cuando se abra el editor de textos nano borren todo su contenido y peguen el siguiente:\nCOPE|http://net2.cope.stream.flumotion.com/cope/net2.mp3.m3u RNE|http://rne.rtveradio.cires21.com/rne/mp3/icecast.audio RNE3|http://radio3.rtveradio.cires21.com/radio3.mp3 RNE5|http://radio5.rtveradio.cires21.com/radio5/mp3/icecast.audio RNE Exterior|http://radioexterior.rtveradio.cires21.com/radioexterior/mp3/icecast.audio RNE Clásica|http://radioclasica.rtveradio.cires21.com/radioclasica/mp3/icecast.audio Euskadi|http://mp3-eitb.stream.flumotion.com/eitb/radioeuskadi.mp3 RACC1|https://streaming.rac1.cat/;stream.nsv RAC105|https://streaming.rac105.cat/;stream.nsv CADENASER|http://19983.live.streamtheworld.com/CADENASER.mp3 40PRINCIPALES|http://19993.live.streamtheworld.com/LOS40.mp3 KISS FM|https://kissfm.kissfmradio.cires21.com/kissfm.mp3 RADIO FLAIXBAC|https://nodo02-cloud01.streaming-pro.com:8005/flaixbac.mp3 CADENA 100|https://cadena100-cope-rrcast.flumotion.com/cope/cadena100-low.mp3 ROCKFM|http://rockfm.cope.stream.flumotion.com/cope/rockfm.mp3.m3u ABSOLUTE CHILLOUT|https://edge3.peta.live365.net/b05055_128mp3 CATALUNYA RADIO|https://shoutcast.ccma.cat/ccma/catalunyaradioHD.mp3 CATALUNYA INFORMACIO|https://shoutcast.ccma.cat/ccma/catalunyainformacioHD.mp3 FLAIX FM|https://flaixfm.streaming-pro.com:8003/flaixfm.aacp SER|https://20853.live.streamtheworld.com/CADENASERAAC.aac Nota: Pueden añadir tantas emisoras como quieran. Para añadir más emisoras tan solo tienen que escribir el nombre de la emisora seguido del símbolo | y a continuación la URL que nos permitirá escuchar la radio en streaming.\nPara obtener nuevas URL para escuchar nuevas emisoras de radio tan solo tienen que seguir las instrucciones que se muestran en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/obtener-la-url-para-escuchar-radio-en-streaming/\nEmpezar a escuchar la radio desde la terminal en Linux Una vez añadidas todas las emisoras tan solo tenemos que ejecutar el script. Justo al ejecutarse se nos preguntará que seleccionemos la emisora que queremos escuchar. En nuestro caso seleccionamos la 16 y presionamos la tecla ENTER. Acto seguido empezará a reproducirse la emisora que hayamos seleccionado.\njoan@debian:~/radio$ bash radio tv version 3.0.0 - Copyleft (GPL v3) Julio Serrano 2019 Ver televisión de España en streaming. Estaciones de RADIO ------------------------ 0) COPE 1) RNE 2) RNE3 3) RNE5 4) RNE Exterior 5) RNE Clásica 6) Euskadi 7) RACC1 8) RAC105 9) CADENASER 10) 40PRINCIPALES 11) KISS FM 12) RADIO FLAIXBAC 13) CADENA 100 14) ROCKFM 15) ABSOLUTE CHILLOUT 16) CATALUNYA RADIO 17) CATALUNYA INFORMACIO 18) FLAIX FM 19) SER Seleccione la estación: 16 Ha elegido el canal CATALUNYA RADIO Reproduciendo joan@debian:~/radio$ (+) Audio --aid=1 (mp3 2ch 44100Hz) File tags: icy-title: AO: [pulse] 44100Hz stereo 2ch float Para parar la reproducción de la emisora tan solo tendremos que ejecutar el comando:\njoan@debian:~/radio$ killall mpv ESCUCHAR LA RADIO EN LINUX DESDE LA TERMINAL MEDIANTE UNA LISTA DE REPRODUCCIÓN M3U Otra forma mucho más sencilla de escuchar la radio en Linux es mediante VLC y una lista de reproducción .m3u que podemos descargar de Internet. La forma para hacer lo que acabo de mencionar es la siguiente.\nCrear el script para reproducir el audio en la terminal Creamos el directorio que almacenará el script. Para ello ejecutamos el siguiente comando en la terminal:\njoan@debian:~$ mkdir radio2 A continuación entramos dentro del directorio que acabamos de crear y generaremos el fichero que almacenará el script. Para ello ejecutamos los siguientes comandos en la terminal:\njoan@debian:~$ cd radio2 joan@debian:~/radio2$ nano radio2 Cuando se abra el editor de textos nano pegamos el siguiente código:\n#!/bin/bash curl https://www.tdtchannels.com/lists/radio.m3u \u0026gt; radio.m3u cvlc --extraintf ncurses radio.m3u Nota: El script hace uso de vlc. Por lo tanto tienen que tener VLC instalado en su equipo.\nActo seguido guardamos los cambios, cerramos el fichero y damos permisos de ejecución al script mediante el siguiente comando:\njoan@debian:~/radio2$ chmod +x radio2 Usar el script que acabamos de crear para escuchar la radio Ahora ejecutaremos el script mediante el siguiente comando:\njoan@debian:~/radio2$ bash radio2 Una vez ejecutado se abrirá una interfaz gráfica vía terminal para seleccionar y escuchar la radio que prefieran:\nSi presionan la tecla h obtendrán los atajos de teclado para poder usar el reproductor vía terminal. Podrán cambiar de emisora, buscar emisoras, etc.\nCONCLUSIONES Acaban de ver que escuchar la radio desde la terminal de Linux es simple, cómodo y práctico. Además podremos reproducir la radio sin tener que usar programas pesados y nadie podrá capturar nuestros datos y tráfico para construir perfiles de navegación.\n","permalink":"https://geeklandlinux.github.io/posts/escuchar-la-radio-desde-la-terminal-en-linux-con-un-script-de-bash/","summary":"\u003cp\u003eSi queréis una solución simple para escuchar la radio en Linux desde la terminal y que además consuma pocos recursos pueden usar el script de bash que creo Julio Serrano o realizar uno vosotros mismos de forma muy sencilla. Los script de bash que verán hacen uso de mpv o vlc para reproducir cualquier emisora de radio desde la terminal.\u003c/p\u003e","title":"Escuchar la radio desde la terminal en Linux con un script de bash"},{"content":"Obtener las URL para poder escuchar radio en Streaming en VLC o en cualquier otro reproductor es sumamente sencillo. Tan solo precisamos de un navegador web y seguir los pasos que detallaré a continuación.\nESCUCHAR LA EMISORA DE LA CUAL QUEREMOS OBTENER SU URL EN EL NAVEGADOR WEB Abrimos el navegador Firefox y nos dirigimos a cualquier página web que reproduzca radio en streaming. A modo de ejemplo podemos dirigirnos a cualquiera de las siguientes web:\nhttps://emisora.org.es/\nhttps://www.radio.es/\nNota: He dejado 2 URL de muestra. Podéis usar cualquier página web que ofrezca radio en streaming.\nUna vez dentro de la web seguimos los pasos necesarios para empezar a reproducir la emisora.\nABRIR EL INSPECTOR DE ELEMENTOS DE FIREFOX PARA OBTENER LA URL DEL STREAMING Una vez se esté reproduciendo la emisora presionad la tecla F12 para abrir el inspector de elementos de Firefox. Una vez abierto hay que presionar sobre el botón Red.\nA continuación presionamos sobre el botón Recargar.\nActo seguido aparecerán todos los elementos que se cargan en la página web. Ahora tan solo tenemos que buscar la/s fila/s cuyo tipo de Iniciador sea media. Una vez encontrada la seleccionamos, presionamos el botón derecho del ratón y cuando aparezca el menú contextual clicamos sobre las opciones Copiar y Copiar URL.\nDe este modo tan sencillo hemos copiado la URL para poder escuchar la radio cadena SER en streaming. Ahora tan solo tenemos que pegar el contenido en un archivo de texto cualquiera y veremos que la URL que estábamos buscando es:\nhttps://20853.live.streamtheworld.com/CADENASERAAC.aac El procedimiento que acabamos de ver lo podemos repetir todas las veces que queramos para cada una de las emisoras que queramos obtener su URL. Una vez tengamos la URL la podremos reproducir el audio en programas como por ejemplo VLC, mpv, audacious, etc.\nOtra solución es reproducirlo desde la terminal tal y como se muestras en el siguiente enlace.\nhttps://geeklandlinux.github.io/posts/escuchar-la-radio-desde-la-terminal-en-linux-con-un-script-de-bash/\n","permalink":"https://geeklandlinux.github.io/posts/obtener-la-url-para-escuchar-radio-en-streaming/","summary":"\u003cp\u003eObtener las URL para poder escuchar radio en Streaming en VLC o en cualquier otro reproductor es sumamente sencillo. Tan solo precisamos de un navegador web y seguir los pasos que detallaré a continuación.\u003c/p\u003e","title":"Obtener la URL para poder escuchar cualquier radio en Streaming"},{"content":"A día de hoy arrancar la Raspberry Pi 4 a través de una unidad de almacenamiento SSD es fácil gracias a su último firmware estable. Para ello no tenemos que hacer nada especial. Simplemente tenemos que quemar la imagen de Raspbian OS en la unidad de almacenamiento SSD, enchufarla a la Raspberry Pi y encenderla. No obstante detallaremos el procedimiento y que podemos hacer en el caso que se presenten problemas durante el proceso.\nNota: Si la Raspberry Pi no arranca con la unidad SSD posiblemente sea culpa del adaptador SATA - USB. La Raspberry Pi no se lleva bien con algunos tipos de adaptadores, por lo tanto les recomiendo que compren las unidades SSD y carcasas recomendadas en este artículo. Si compran otras opciones no mencionadas en el artículo miren por Internet para ver si se pueden generar problemas.\nMATERIAL NECESARIO PARA ARRANCAR LA RASPBERRY PI A TRAVÉS DE UNA UNIDAD DE ALMACENAMIENTO SSD Lo único que necesitaremos es:\nUna unidad de almacenamiento SSD. En mi caso os recomiendo la compra de la unidad Kingston A400. Es la unidad SSD que uso y según mi experiencia y lo que he podido leer por la red funciona bien y es una solución relativamente económica. Una carcasa de disco duro con el correspondiente adaptador de SATA a USB 3.0 o simplemente un adaptador de SATA a USB 3.0. En mi caso he comprado esta referencia, pero no recomiendo su compra porque no funciona out of the box. La opción ideal seria comprar un adaptador StarTech StarTech USB 3.0 a 2.5″ SATA. Algunas combinaciones de dispositivos de almacenamiento y adaptadores/carcasas funcionan son las siguientes:\nCombinación Modelo SSD con link de compra Modelo adaptador con link de compra 1 Kingston A400 SSD SA400S37/240G StarTech StarTech USB 3.0 a 2.5″ SATA 3 Crucial MX500 250GB ELUTENG 2.5″ SATA a USB 3.0 4 Crucial MX500 250GB StarTech StarTech USB 3.0 a 2.5″ SATA 5 Crucial BX500 120 GB CT120BX500SSD1(Z) ELUTENG 2.5″ SATA a USB 3.0 6 Samsung 860 EVO MZ-76E250B/EU UGREEN Caja Disco Duro Externo 2.5\u0026quot; Nota: Si tienen otras opciones que pueden garantizar que funcionan sin deshabilitar UASP por favor informen en los comentarios del artículo. Nota: En mi caso recomendaría encarecidamente la combinación 1. Es una opción económica, que funciona y que da buenos resultados en los benchmark.\nASEGURAR QUE LA RASPBERRY PI ESTA CONFIGURADA PARA ARRANCAR A TRAVÉS DE LA UNIDAD SSD Arrancamos la Raspberry Pi a través de la tradicional tarjeta MicroSD. Una vez arrancada actualizan el sistema operativo ejecutando los siguientes comandos en la terminal:\nsudo apt update sudo apt full-upgrade Una vez ejecutada la actualización les recomiendo que reinicien el equipo mediante el comando:\nsudo reboot A continuación ejecutamos el siguiente comando para instalar la última versión del bootloader y del firmware. En el más que probable caso que ya tengan las últimas versiones el comando no hará nada.\npi@raspberrypi:~ $ sudo rpi-eeprom-update -d -a BCM2711 detected Dedicated VL805 EEPROM detected BOOTLOADER: up-to-date CURRENT: jue sep 3 12:11:43 UTC 2020 (1599135103) LATEST: jue sep 3 12:11:43 UTC 2020 (1599135103) FW DIR: /lib/firmware/raspberrypi/bootloader/critical VL805: up-to-date CURRENT: 000138a1 LATEST: 000138a1 Nota: Si vemos la salida del comando podemos confirmar que tenemos instalada la última versión del firmware y del bootloader. Si tenéis esta versión, o una versión más actual, la Raspberry Pi debe arrancar desde una unidad SSD sin ningún tipo de problema.\nAhora de nuevo volvemos a reiniciar la Raspberry Pi. Una vez reiniciada tecleamos el siguiente comando en la terminal:\nsudo raspi-config Cuando aparezca el menú de configuración seleccionamos la opción 6 Advanced options\nSeguidamente en la segunda pantalla nos posicionamos en la opción A6 Boot Order y presionamos Enter.\nFinalmente seleccionamos la opción B1 USB Boot y presionamos Enter. De esta forma si no hay la tarjeta MicroSD insertada en la Raspberry se intentará arrancar des de la unidad de almacenamiento SSD.\nQUEMAR EL SISTEMA OPERATIVO A LA UNIDAD DE ALMACENAMIENTO SSD Una vez configurada la Raspberry Pi 4 ya pueden quemar el sistema operativo en la unidad SSD. Lo pueden realizar usando Raspberry Pi Imager siguiendo las instrucciones que les dejo en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-raspbian-con-raspberry-pi-imager/\nNota: Si pretenden arrancar Raspbian desde una unidad SSD les recomiendo que usen Raspbian OS. Es posible que otras distribuciones den problemas al arrancar desde la unidad SSD. Otro sistema alternativo a Raspbian que debería arrancar desde la unidad SSD es Ubuntu 20.10.\nCONECTAR LA UNIDAD DE ALMACENAMIENTO SSD Y ARRANCAR LA RASPBERRY PI Con el sistema operativo quemado en la unidad SSD ha llegado la hora de la verdad. Para arrancar la Raspberry Pi con la unidad SSD seguiremos las siguientes instrucciones:\nApagaremos y desenchufaremos la Raspberry Pi. Sacaremos la tarjeta MicroSD y todos los dispositivos de almacenamiento que tengamos en la Raspberry Pi. Conectaremos la unidad de almacenamiento SSD en la Raspberry Pi. La unidad de almacenamiento SSD la tenéis que conectar a los puertos USB 3.0. Los puertos USB 3.0 son los que son de color azul. De esta forma obtendremos mayor rendimiento. Finalmente arrancaremos la Raspberry Pi. Si estáis usando un adaptador SATA a USB que no genera conflictos con la Raspberry Pi y una unidad de almacenamiento adecuada todo debería funcionar perfectamente. En el caso que tengan problemas de rendimiento o que la Raspberry no arranque pueden intentar lo siguiente.\nNota: Si queréis arrancar la Raspberry pi con varias unidades de almacenamiento conectadas deberéis indicar el orden de prioridad de arranque en el fichero /etc/fstab. De este modo la Raspberry Pi tendrá claro con el dispositivo de almacenamiento que tiene que realizar el arranque.\n¿QUÉ PODEMOS HACER SI LA RASPBERRY PI NO ARRANCA CUANDO CONECTAMOS LA UNIDAD DE ALMACENAMIENTO SSD? Si la Raspberry no arranca, da problemas o tiene un rendimiento malo posiblemente sea por el adaptador SATA a USB. Si se da el caso una solución que a mi me han funcionado ha sido deshabilitar el modo UAS. Deshabilitando el modo UAS o UASP hará que el rendimiento sea un poco peor, pero aún y así el rendimiento y estabilidad obtenidos seguirá siendo infinitamente superior al de una tarjeta MicroSD.\nPara deshabilitar UASP tenemos que averiguar el id de nuestro adaptador SATA a USB. Para ello enchufaremos la unidad SSD a un equipo con Linux o en la Raspberry Pi y ejecutaremos el comando lsusb.\npi@raspberrypi:~ $ lsusb Bus 002 Device 002: ID 0781:5583 SanDisk Corp. Ultra Fit Bus 002 Device 003: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp. JMS567 SATA 6Gb/s bridge Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Nota: Para que el comando lsusb funcione tienen que tener instalado el paquete usbutils. Para instalarlo pueden ejecutar el comando sudo apt install usbutils\nSi miran la salida del comando vemos que el ID de nuestro adaptador es 152d:0578. Una vez sabemos el ID accedemos a la partición boot de la unidad de almacenamiento SSD y editamos el fichero cmdline.txt con nuestro editor de textos favorito.\nUna vez se abra el editor de textos tenemos que añadir un texto del siguiente tipo en la parte inicial del fichero:\nusb-storage.quirks=XXXX:XXXX:u Donde XXXX:XXXX corresponde al ID de nuestro adaptador SATA a USB. Por lo tanto en mi caso deberé añadir el siguiente código en el fichero cmdline.txt\nusb-storage.quirks=152d:0578:u y el contenido del fichero cmdline.txt quedará del siguiente modo:\nUna vez realizados los cambios los guardan y cierran el editor de textos. A continuación ya pueden arrancar la Raspberry Pi con la unidad de almacenamiento SSD y ver si el problema se ha solucionado.\nNota: Otra solución es comprar un adaptador nuevo.\nQUE HACER UNA VEZ HAYAMOS ARRANCADO CON LA UNIDAD DE ALMACENAMIENTO SSD Una vez la Raspberry Pi arranque con la unidad de almacenamiento SSD les recomiendo que realicen las siguientes comprobaciones.\nComprobar que todo el espacio del disco está disponible Para comprobar que la totalidad del espacio de la unidad está disponible ejecuten el comando df -h en la terminal. En mi caso los resultados obtenidos son los siguientes:\npi@raspberrypi:~ $ df -h S.ficheros Tamaño Usados Disp Uso% Montado en /dev/root 110G 1,3G 105G 2% / devtmpfs 1,8G 0 1,8G 0% /dev tmpfs 1,9G 0 1,9G 0% /dev/shm tmpfs 1,9G 8,5M 1,9G 1% /run tmpfs 5,0M 4,0K 5,0M 1% /run/lock tmpfs 1,9G 0 1,9G 0% /sys/fs/cgroup /dev/sda1 253M 54M 199M 22% /boot tmpfs 383M 0 383M 0% /run/user/1000 La partición boot tiene un tamaño de 253M mientras que la partición root de 110G. Además de los 110G de la partición root 105G están disponibles. Por lo tanto podemos concluir que la totalidad de espacio del disco duro es usable. Por lo tanto está todo perfecto.\nComprobar que los valores de carga de la CPU sean 0 Es importante ejecutar el comando uptime y comprobar que los valores de carga de la Raspberry sean 0. En caso que no sean cero y existan algún proceso que esté haciendo uso inapropiado de la CPU deben seguir las instrucciones del siguiente enlace:\nhttps://geeklandlinux.github.io/posts/solucionar-el-consumo-alto-de-cpu-al-usar-la-raspberry-pi-con-ssd/\nHabilitar Trim De forma predeterminada la función de TRIM viene desactivada. El proceso para habilitar TRIM es largo y no es simple. El procedimiento para activarlo es el que cito en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/activar-el-trim-en-una-raspberry-pi-arrancada-por-un-ssd-externo/\nMedir el rendimiento de la unidad de almacenamiento SSD Una vez tenemos nuestro SSD seguramente a todo el mundo le resultará interesante ver su rendimiento. Para ello en futuros artículos detallaré un par de métodos analizar el rendimiento de su unidad SSD.\nFuentes https://jamesachambers.com/raspberry-pi-4-usb-boot-config-guide-for-ssd-flash-drives/\n","permalink":"https://geeklandlinux.github.io/posts/como-arrancar-la-raspberry-pi-4-desde-un-disco-ssd/","summary":"\u003cp\u003eA día de hoy arrancar la Raspberry Pi 4 a través de una unidad de almacenamiento SSD es fácil gracias a su último firmware estable. Para ello no tenemos que hacer nada especial. Simplemente tenemos que quemar la imagen de Raspbian OS en la unidad de almacenamiento SSD, enchufarla a la Raspberry Pi y encenderla. No obstante detallaremos el procedimiento y que podemos hacer en el caso que se presenten problemas durante el proceso.\u003c/p\u003e","title":"Como arrancar la Raspberry Pi 4 desde un disco SSD"},{"content":"A continuación detallaremos como podemos montar nuestro propio gestor de descargas remoto con JDownloader y MyJDownloader en una Raspberry o en cualquier equipo en el que podamos instalar Docker.\n¿QUÉ PODREMOS REALIZAR CON NUESTRO SERVIDOR O GESTOR DE DESCARGAS? Con JDownloader y MyJDownloader podremos gestionar y realizar descargas con las siguientes particularidades:\nPodremos descargar enlaces de prácticamente la totalidad de plataformas de descarga directa y alojamiento de vídeos como por ejemplo Mega, 1ficiher, uptbox, uptoload, youtube, archive.org, WeTransfer, OneDrive, Google Drive y un larguísimo etc. Estemos donde estemos y sin necesidad de abrir puertos en nuestro router podremos ver el estado de nuestras descargas, podremos iniciar nuevas descargas de forma cómoda, etc. Esto es así porque MyJDownloader es una interfaz gráfica que nos dará acceso remoto a nuestro gestor de descargas JDownloader. No tendremos que preocuparnos de introducir captcha para iniciar las descargas. JDownloader tiene una función experimental para solucionar los captcha de forma automática. En el caso que no se puedan descifrar los captcha recibiremos una notificación y podremos completarlos manualmente. Podemos dejar encendido el servidor de descargas sin tener que preocuparnos si hemos excedido las limitaciones de las plataformas de descarga. En caso que las excedamos tendremos que esperar y cuando se hayan reseteado nuestro gestor de descargas continuará con las descargas pendientes. En el caso que el contenido que descargamos esté en formato comprimido no hay problema. Justo después de finalizar la descarga el contenido se descomprimirá. En el momento de finalizar la descarga encontraremos el contenido listo para consumir en nuestra carpeta de descargas. La velocidad de descarga de los ficheros puede ser superior a si los descargamos manualmente en el navegador. Esto es así porque en algunos casos el gestor de descargas puede abrir más de un hilo de descarga para un mismo fichero. En caso que nos interese podremos priorizar o limitar la velocidad de descarga de nuestros ficheros. Esta función puede ser especialmente útil en caso que tengamos conexiones de Internet con velocidad reducida. CREARSE UNA CUENTA EN MYJDOWNLOADER En nuestro servidor de descargas, que en mi caso será una Raspberry Pi, instalaremos el gestor de descargas JDownloader sin interfaz gráfica mediante Docker. La forma de conectarnos a JDownloader y gestionar nuestras descargas será mediante MyJDownloader.\nPor lo tanto lo primero que tenemos que realizar es hacernos una cuenta de usuario de MyJDownloader accediendo a la siguiente URL:\nhttps://my.jdownloader.org/login.html#logout\nUna vez dentro de la URL clicamos sobre el botón de No account? Register y seguimos las instrucciones para registrarnos a MyJDownloader.\nUna vez registrados tendrán un usuario y una contraseña que en mi caso son:\nusuario: geekland@geekland.com contraseña: geekland\nINSTALAR DOCKER Y DOCKER-COMPOSE Con la cuenta de MyJDownloader generada instalaremos Docker en el equipo en que instalaremos JDownloader. Las instrucciones a seguir para instalar Docker son las que dejo en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-docker-y-docker-compose-en-linux/\nDEFINIR Y CREAR LOS VOLÚMENES DE PERSISTENCIA Y EL DIRECTORIO EN QUE SE DESCARGARÁ EL CONTENIDO A continuación definiremos los volúmenes de persistencia y donde queremos almacenar los archivos descargados. Para ello seguiremos las siguientes instrucciones.\nDefinir los volúmenes de persistencia del contenedor Lo primero que realizaremos es definir un directorio que será el encargado de almacenar nuestras descargas. En mi caso almacenaré las descargas en el directorio /media/hd/downloads. Para crear el directorio en mi caso procederé del siguiente modo:\npi@raspberrypi:~ $ cd /media/hd pi@raspberrypi:~ $ mkdir downloads\nUna vez creado el directorio que almacenará las descargas crearemos 2 directorios adicionales que almacenarán los ficheros de configuración y logs del servicio de MyJDownloader. Los logs quiero que se almacenen en la dirección /media/hd/services/jdownloader/config y la configuración en /media/hd/services/jdownloader/config. Para ello ejecutaremos ejecutaremos los siguiente comandos:\npi@raspberrypi:~ $ cd /media/hd/services pi@raspberrypi:/media/hd/services $ mkdir jdownloader pi@raspberrypi:/media/hd/services $ cd jdownloader pi@raspberrypi:/media/hd/services/jdownloader $ mkdir config pi@raspberrypi:/media/hd/services/jdownloader $ mkdir logs A estas alturas ya estamos listos para levantar el contenedor que alojará nuestro gestor de descargas remoto.\nLEVANTAR EL CONTENEDOR DE JDOWNLOADER PARA TENER DISPONIBLE NUESTRO GESTOR DE DESCARGAS Para levantar el contenedor de MyJDownloader crearemos un fichero docker-compose ejecutando el siguiente comando:\npi@raspberrypi:~/jdownloader $ nano docker-compose.yml Una vez se abra el editor de textos pegaremos el siguiente código.\nversion: \u0026#39;3\u0026#39; services: jdownloader: image: jaymoulin/jdownloader container_name: jdownloader restart: unless-stopped user: 1000:100 volumes: - /media/hd/services/jdownloader/config:/opt/JDownloader/cfg - /media/hd/downloads:/opt/JDownloader/Downloads - /media/hd/services/jdownloader/logs:/opt/JDownloader/logs environment: MYJD_USER: geekland@geekland.com MYJD_PASSWORD: geekland MYJD_DEVICE_NAME: geekland_download XDG_DOWNLOAD_DIR: /opt/JDownloader/Downloads ports: - 3129:3129 Nota: Válido para equipos con arquitectura amd64 y arm.\nLas partes de color azul del código que acabáis de pegar las deberéis reemplazar siguiendo las siguientes instrucciones:\n1000: Hay que reemplazar el 1000 por el user id del usuario que ejecuta el contenedor de Docker. Para averiguar el user id del usuario tendréis que ejecutar el comando id seguido del nombre del usuario que ejecutará el contenedor de Docker. En mi caso el usuario que ejecuta Docker es pi, por lo tanto el comando que ejecutaré será id pi. geekland@geekland.com: Hay que poner la cuenta de email con la que nos registramos a MyJDownloader. geekland: Tendréis que reemplazar geekland por la contraseña que definimos para MyJDownloader. geekland_download: Debéis reemplazar geekland_download por una palabra cualquiera que os ayude a identificar el equipo en que estamos instalando el gestor de descargas. /media/hd/services/jdownloader/config: Reemplazar la ruta del ejemplo por la ruta que hayáis definido para almacenar los ficheros de configuración. /media/hd/downloads: Sustituir la ruta del ejemplo por la ruta en que queréis descargar los ficheros. /media/hd/services/jdownloader/logs: Reemplazar la ruta del ejemplo por la ruta que en que queréis almacenar los logs de JDownloader. Una vez pegado el código guardamos los cambios y cerramos el fichero. A continuación tan solo tenemos que ejecutar el siguiente comando para levantar el contenedor.\npi@raspberrypi:~/jdownloader $ docker-compose up -d Creating network \u0026#34;jdownloader_default\u0026#34; with the default driver Pulling jdownloader (jaymoulin/jdownloader:)... latest: Pulling from jaymoulin/jdownloader 905674ea9d94: Pull completeInstalar un gestor de descargas remoto con JDownloader y MyJDownloader para poder descargar todo tipo de enlaces de descarga directa. d91fe322e169: Pull complete 3598bf75cef8: Pull complete e66c33bcc110: Pull complete 02c5162db231: Pull complete 128bb1d337bc: Pull complete 33d79945fb57: Pull complete 96916b4c3436: Pull complete 546a7405264d: Pull complete 15b07ec4d9cd: Pull complete d23975164a25: Pull complete Digest: sha256:3c2581a7b6b93194c566b2d3410845909a8b78009737950ea98f501c81093cbc Status: Downloaded newer image for jaymoulin/jdownloader:latest Creating jdownloader ... done Una vez levantado el contenedor el procedimiento ha fanilizado. Tan solo tenemos que esperar unos segundos o minutos para que nuestro gestor de descargas esté 100% disponible y listo para trabajar.\nINSTRUCCIONES PARA CONECTARSE AL SERVIDOR DE DESCARGAS Existen varias formas para conectarse y gestionar el servidor de descargas. Lo podemos hacer a través hacer a través de:\nUna interfaz Web. Un aplicación de Android o iOS que podemos instalar en nuestro teléfono. Extensiones que podemos instalar en nuestro navegador. En mi caso uso las opciones 1 y 3 del siguiente modo.\nConectarse al gestor de descargas mediante el navegador web Para conectarnos desde cualquier lugar a nuestro gestor de descargas abrimos el navegador y accedemos la siguiente URL:\nhttps://my.jdownloader.org/apps/?ref=myjd_web\nUna vez dentro de la URL introducimos nuestro usuario y contraseña y presionamos el botón Sign in.\nActo seguido podrán empezar a gestionar sus descargas de forma simple y totalmente intuitiva.\nHabilitar el modo directo \u0026ldquo;Direct Mode\u0026rdquo; para que el proceso de descarga sea más fluido De buenas a primeras, toda la comunicación entre el gestor de descargas remoto y el cliente que usamos para conectarnos a él se hace a través de los servidores de MyJDownloader. Esto es así porque en la parte inferior derecha aparece el icono de MyJDownloader indicando que la conexión se realiza a través de los servidores de MyJDownloader.\nSi queremos establecer una conexión directa entre el gestor de descarga y el cliente deberemos clicar en el botón de Seetings. A posteriori clicaremos encima del botón Advanced Settings y en el cuadro de búsqueda escribiremos las palabras myjdownloader.\nActo seguido cambiaremos los siguientes parámetros de la configuración:\nMyJDownloaderSettings: Custom Device IPs: Tenemos que indicar la IP del servidor que tiene instalado el gestor de descargas de JDownloader. En mi caso la IP es la 192.168.1.200 MyJDownloaderSettings: Last Local Port: Indicamos el puerto en que está escuchando JDownloader. Cuando levantamos el contenedor expusimos el puerto 3129, por lo tanto en este apartado deberemos introducir el puerto 3129. También asegurad que los parámetros MyJDownloaderSettings: Manual Local Port y MyJDownloaderSettings: Manual Remote Port apunten al puerto 3129. MyJDownloaderSettings: Direct Connect Mode: Establecemos el parámetro Allow lan/wan connections. De este modo podremos establecer el modo de conexión directa tanto dentro como fuera de nuestra red local. Para establecer la conexión directa fuera de la red local será necesario abrir el puerto 3129 en el router y mapear el puerto a la dirección IP del equipo que contiene nuestro gestor de descargas. Si ahora os fijáis en la parte inferior derecha, en vez del icono de JDownloader, aparece el icono de un ordenador indicando que el modo conexión directa está activado.\nDe está forma la respuesta de la interfaz gráfica será más fluida. A pesar de establecer el modo de conexión directa para ciertos procesos como por ejemplo las notificaciones y el proceso de autenticación seguirán dependiendo de los servidores de MyJDownloader.\nConectarse al gestor de descargas a través de nuestro teléfono o tablet MyJDownloader dispone de aplicaciones móviles para gestionar las descargas para Android e iOS. Las podemos encontrar en la AppStore o en la Google Play Store. Para instalarlas tan solo tenéis que clicar en los siguientes links:\nhttps://play.google.com/store/apps/details?id=org.appwork.myjdandroid\u0026amp;hl=es\u0026amp;gl=US\nhttps://apps.apple.com/es/app/myjdownloader-remote/id1203271558\nUna vez instalada tan solo tienen que abrirla e introducir su usuario y contraseña.\nActo seguido podrán gestionar sus descargas de forma cómoda y práctica.\nFuentes https://hub.docker.com/r/jaymoulin/jdownloader\nhttps://github.com/jaymoulin/docker-jdownloader\n","permalink":"https://geeklandlinux.github.io/posts/montar-gestor-de-descargas-remoto-jdownloader/","summary":"\u003cp\u003eA continuación detallaremos como podemos montar nuestro propio gestor de descargas remoto con JDownloader y MyJDownloader en una Raspberry o en cualquier equipo en el que podamos instalar Docker.\u003c/p\u003e","title":"Montar un gestor de descargas remoto con JDownloader"},{"content":"En su día vimos como realizar copias de seguridad cifradas en Restic. Hoy veremos un par de métodos para restaurar la copia de seguridad que realizamos en su día. A modo de ejemplo restauraré unos volúmenes de Docker que en su día fueron borrados de forma accidental.\nVISUALIZAR Y RESTAURAR NUESTRA COPIA DE SEGURIDAD DESDE NUESTRO GESTOR DE FICHEROS En Linux, MacOS y FreeBSD Restic permite montar nuestro backup en un sistema de ficheros. Esto es interesante porque podemos ver y gestionar los ficheros y directorios de la copia de seguridad como si estuvieran en nuestro disco duro. Por lo tanto será sumamente fácil encontrar y restaurar el contenido que tenemos respaldado. Para montar la copia de seguridad en un sistema de archivos procederemos del siguiente modo.\nMontar la copia de seguridad en un sistema de archivos fuse Inicialmente creamos un directorio llamado backup sobre el que montaremos la copia de seguridad. Para ello ejecutaremos los siguientes comandos en la terminal:\njoan@debian:~$ cd joan@debian:~$ mkdir backup A continuación montaremos el contenido de la copia de seguridad en el directorio que acabamos de crear. Para ello ejecutaremos el siguiente comando:\njoan@debian:~$ restic -r sftp:vps2:/home/ubuntu/rpi4_bk mount ~/backup subprocess ssh: Host key fingerprint is SHA256:r5BjrC6MEkFFFhONSeJKiTYQIWJjLiu1AnCUW6XeCaA subprocess ssh: +---[ECDSA 256]---+ subprocess ssh: |%RA=.5 | subprocess ssh: |@#*.45.. | subprocess ssh: |EA o o+o | subprocess ssh: |* o o-- | subprocess ssh: |=e . A | subprocess ssh: |o- + f . | subprocess ssh: |= 2 - | subprocess ssh: |2. . | subprocess ssh: | . . | subprocess ssh: +----[SHA256]-----+ enter password for repository: repository ee979ca4 opened successfully, password is correct Cada una de las partes del comando ejecutado para montar la copia de seguridad significa lo siguiente:\nrestic: Para llamar al binario de Restic. -r sftp:vps2:/home/ubuntu/rpi4_bk: Indicamos el repositorio que queremos montar. mount: Damos la orden que queremos montar la copia de seguridad en un sistema de archivos Fuse. ~/backup: Indicamos la ruta del directorio en que queremos montar la copia de seguridad. Restaurar el contenido que tenemos respaldado Una vez ejecutado el comando, tanto en la terminal como en nuestro gestor de ficheros podremos visualizar el contenido de nuestra copia de seguridad.\nPodremos navegar de forma fácil y sencilla para observar el contenido de todas y cada una de nuestras copias de seguridad. Si navegando dentro de la copia de seguridad ven un fichero o directorio que quieren restaurar tan solo tienen que copiarlo y pegarlo en la ubicación que lo quieren restaurar. En mi caso tal y como hemos citado al inicio del artículo restauraré uno de los volúmenes de persistencia de Docker.\nNota: Mediante comandos de terminal como por ejemplo el cp también podemos restaurar de forma sencilla los ficheros y directorios de nuestra copia de seguridad.\nPor lo tanto Restic permite visualizar muy fácilmente el contenido de las copias de seguridad y además permite realizar una restauración selectiva.\nDesmontar la copia de seguridad Para desmontar la copia de seguridad tan solo tenemos que ir al emulador de terminal donde montamos la copia de seguridad y presionar la combinación de teclas Ctrl+c. Acto seguido la copia de seguridad se desmontará.\njoan@debian:~$ restic -r sftp:vps2:/home/ubuntu/rpi4_bk mount ~/backup subprocess ssh: Host key fingerprint is SHA256:r5BjrC6MEkFFFhONSeJKiTYQIWJjLiu1AnCUW6XeCaA subprocess ssh: +---[ECDSA 256]---+ subprocess ssh: |%RA=.5 | subprocess ssh: |@#*.45.. | subprocess ssh: |EA o o+o | subprocess ssh: |* o o-- | subprocess ssh: |=e . A | subprocess ssh: |o- + f . | subprocess ssh: |= 2 - | subprocess ssh: |2. . | subprocess ssh: | . . | subprocess ssh: +----[SHA256]-----+ enter password for repository: repository ee979ca4 opened successfully, password is correct Now serving the repository at /home/joan/backup When finished, quit with Ctrl-c or umount the mountpoint. signal interrupt received, cleaning up unable to umount (maybe already umounted or still in use?): exit status 1: fusermount: failed to unmount /home/joan/backup: Device or resource bus Si lo preferimos también podemos desmontar la copia de seguridad mediante la interfaz gráfica de nuestro gestor de ficheros.\nRESTAURAR LA COPIA DE SEGURIDAD DESDE NUESTRA TERMINAL Si no disponemos de entorno gráfico podemos usar exclusivamente la terminal para restaurar nuestra copia de seguridad. Para ello procederemos del siguiente modo.\nListar las copias de seguridad almacenadas en el repositorio de Restic Primero tenemos que listar los snapshot presentes en el repositorio de restic. Para ello ejecutaremos el siguiente comando y obtendremos un resultado parecido al siguiente:\njoan@debian:~$ restic -r sftp:vps2:/home/ubuntu/rpi4_bk snapshots subprocess ssh: Host key fingerprint is SHA256:r5BjrC6MEkFFFhONSeJKiTYQIWJjLiu1AnCUW6XeCaA subprocess ssh: +---[ECDSA 256]---+ subprocess ssh: |%RA=.5 | subprocess ssh: |@#*.45.. | subprocess ssh: |EA o o+o | subprocess ssh: |* o o-- | subprocess ssh: |=e . A | subprocess ssh: |o- + f . | subprocess ssh: |= 2 - | subprocess ssh: |2. . | subprocess ssh: | . . | subprocess ssh: +----[SHA256]-----+ enter password for repository: repository ee979ca4 opened successfully, password is correct ID Time Host Tags Paths --------------------------------------------------------------------------------------------- fc75a0e8 2020-11-07 13:12:23 raspberrypi raspberry /etc/rc.local /home/pi /home/restic/restic /media/nextcloud/podcast /media/nextcloud/services/deemix /media/nextcloud/services/duckdns /media/nextcloud/services/filerun /media/nextcloud/services/jdownloader /media/nextcloud/services/jellyfin /media/nextcloud/services/qbittorrent /media/nextcloud/services/whoogle /media/nextcloud/services/wireguard /media/nextcloud/twitter /var/spool/cron/crontabs/pi 530c9fe6 2020-11-14 01:05:01 raspberrypi raspberry /etc/rc.local /home/pi /home/restic/restic /media/nextcloud/podcast /media/nextcloud/services/deemix /media/nextcloud/services/duckdns /media/nextcloud/services/filerun /media/nextcloud/services/jdownloader /media/nextcloud/services/jellyfin /media/nextcloud/services/qbittorrent /media/nextcloud/services/whoogle /media/nextcloud/services/wireguard /media/nextcloud/twitter /var/spool/cron/crontabs/pi --------------------------------------------------------------------------------------------- 2 snapshots\nRestaurar la copia de seguridad con la ayuda de la terminal En el apartado anterior hemos obtenido la siguiente información de las copias de seguridad que tenemos almacenadas en el repositorio:\nEl ID o número identificador de cada una de las 2 copias de seguridad que tengo disponible. Cada uno de los directorios respaldados en cada una de las copias de seguridad. Para restaurar la totalidad de nuestra copia de seguridad en el directorio ~/backup ejecutaremos el siguiente comando:\nrestic -r sftp:vps2:/home/ubuntu/rpi4_bk restore fc75a0e8 --target ~/backup Cada uno de los parámetros del comando propuesto tienen el siguiente significado:\nrestic: Para llamar al binario de Restic. sftp:vps2:/home/ubuntu/rpi4_bk: Indicamos el repositorio que contiene la copia de seguridad que queremos restaurar. Obviamente en su caso tendrán remplazar esta parte del parámetro. restore: Damos la orden que queremos restaurar una copia de seguridad o snapshot. fc75a0e8: Indicamos la copia de seguridad que queremos restaurar. En nuestro caso es la fc75a0e8. Otros parámetros que podemos usar para indicar la copia de seguridad que queremos restaurar son latest, --path y --host. --target ~/backup: Mediante el parámetro --target indicamos la ruta en que queremos restaurar la copia de seguridad. Justo al ejecutar el comando se iniciará la restauración de la copia de seguridad.\nRestaurar únicamente un directorio de la copia de seguridad de Restic Si únicamente quisiéramos se restaurar el directorio /media/nextcloud/services/duckdns en la ubicación ~/backup deberíamos ejecutar el siguiente comando:\njoan@debian:~$ restic -r sftp:vps2:/home/ubuntu/rpi4_bk restore fc75a0e8 --target ~/backup --include /media/nextcloud/services/duckdns subprocess ssh: Host key fingerprint is SHA256:r5BjrC6MEkFFFhONSeJKiTYQIWJjLiu1AnCUW6XeCaA subprocess ssh: +---[ECDSA 256]---+ subprocess ssh: |%RA=.5 | subprocess ssh: |@#*.45.. | subprocess ssh: |EA o o+o | subprocess ssh: |* o o-- | subprocess ssh: |=e . A | subprocess ssh: |o- + f . | subprocess ssh: |= 2 - | subprocess ssh: |2. . | subprocess ssh: | . . | subprocess ssh: +----[SHA256]-----+ enter password for repository: repository ee979ca4 opened successfully, password is correct restoring \u0026lt;Snapshot fc75a0e8 of [/home/pi /media/nextcloud/twitter /media/nextcloud/podcast /media/nextcloud/services/duckdns /media/nextcloud/services/filerun /media/nextcloud/services/jellyfin /media/nextcloud/services/jdownloader /media/nextcloud/services/deemix /media/nextcloud/services/whoogle /media/nextcloud/services/wireguard /media/nextcloud/services/qbittorrent /etc/rc.local /var/spool/cron/crontabs/pi /home/restic/restic] at 2020-11-07 13:12:23.068129862 +0100 CET by restic@raspberrypi\u0026gt; to /home/joan/backup Nota: El comando ejecutado es igual que el anterior. La única diferencia es que añadimos el parámetro --include. El parámetro --include sirve para definir los directorios o ficheros que queremos restaurar.\nSi ahora nos dirigimos al directorio en que se ha restaurado la copia de seguridad veremos que todo ha funcionado a la perfección:\nRestaurar de varios directorios de forma simultánea Si quisiéramos restaurar todo el contenido de la copia de seguridad excepto /media/nextcloud/services/duckdns, /media/nextcloud/services/jellyfin y /media/nextcloud/services/filerun ejecutaríamos el siguiente comando:\njoan@debian:~$ restic -r sftp:vps2:/home/ubuntu/rpi4_bk restore fc75a0e8 --target ~/backup --exclude /media/nextcloud/services/duckdns --exclude /media/nextcloud/services/jellyfin --exclude /media/nextcloud/services/filerun subprocess ssh: Host key fingerprint is SHA256:r5BjrC6MEkFFFhONSeJKiTYQIWJjLiu1AnCUW6XeCaA subprocess ssh: +---[ECDSA 256]---+ subprocess ssh: |%RA=.5 | subprocess ssh: |@#*.45.. | subprocess ssh: |EA o o+o | subprocess ssh: |* o o-- | subprocess ssh: |=e . A | subprocess ssh: |o- + f . | subprocess ssh: |= 2 - | subprocess ssh: |2. . | subprocess ssh: | . . | subprocess ssh: +----[SHA256]-----+ enter password for repository: repository ee979ca4 opened successfully, password is correct restoring \u0026lt;Snapshot fc75a0e8 of [/home/pi /media/nextcloud/twitter /media/nextcloud/podcast /media/nextcloud/services/duckdns /media/nextcloud/services/filerun /media/nextcloud/services/jellyfin /media/nextcloud/services/jdownloader /media/nextcloud/services/deemix /media/nextcloud/services/whoogle /media/nextcloud/services/wireguard /media/nextcloud/services/qbittorrent /etc/rc.local /var/spool/cron/crontabs/pi /home/restic/restic] at 2020-11-07 13:12:23.068129862 +0100 CET by restic@raspberrypi\u0026gt; to /home/joan/backup Nota: Los parámetros --include y --exclude distinguen entre mayúsculas y minúsculas. Si quisiéramos evitar la distinción deberíamos usar los parámetros --iexclude y --iinclude.\nOTROS COMANDOS ÚTILES PARA RESTAURAR NUESTRA COPIA DE SEGURIDAD CON RESTIC Si restauramos nuestra copia de seguridad desde la terminal es importante conocer las siguientes opciones que nos ofrece Restic.\nObtener un listado de la totalidad de directorios y ficheros de la última copia de seguridad Restic ofrece la posibilidad de visualizar la totalidad de contenido presente en la copia de seguridad que queremos restaurar. Para ver la totalidad de ficheros y directorios que contiene la última copia de seguridad ejecutaremos el siguiente comando.\njoan@debian:~$ restic -r sftp:vps2:/home/ubuntu/rpi4_bk ls latest Una vez obtenido el listado se puede estudiar detalladamente los directorios y ficheros que queremos restaurar.\nBuscar un fichero o directorio de nuestra copia de seguridad Restic también permite listar todas las rutas, directorios y ficheros que contienen una determinada palabra. A modo de ejemplo si queremos buscar todas las rutas, ficheros y directorios de nuestro repositorio que contiene la palabra Wireguard ejecutaremos el siguiente comando:\njoan@debian:~$ restic -r sftp:vps2:/home/ubuntu/rpi4_bk find wireguard Si quisiéramos buscar todas las rutas, directorios y ficheros de la copia de seguridad fc75a0e8 que contienen la palabra wireguard sin diferenciar entre mayúsculas y minúsculas ejecutaremos el siguiente comando:\njoan@debian:~$ restic -r sftp:vps2:/home/ubuntu/rpi4_bk find -s fc75a0e8 -i wireguard En el caso que usáramos etiquetas para realizar copias de seguridad también podríamos buscar contenido en función de sus etiquetas. Las posibilidades que ofrece Restic son enormes.\nCONCLUSIONES FINALES El proceso de restauración de una copia de seguridad en Restic es sencillo, rápido y fiable. Además Restic nos permite visualizar el contenido de la copia de seguridad y restaurar únicamente el contenido que nosotros necesitamos. Y para terminar recuerden que es tan importante el proceso de restauración como el de creación de la copia de seguridad. Les recomiendo que de forma periódica realicen comprobaciones pare cerciorarse que las copias de seguridad se pueden restaurar de forma correcta.\nFuentes https://restic.readthedocs.io/en/latest/050_restore.html https://www.mankier.com/1/restic-find\n","permalink":"https://geeklandlinux.github.io/posts/restaurar-copia-de-seguridad-con-restic/","summary":"\u003cp\u003eEn su día vimos como realizar \u003ca href=\"/posts/copias-de-seguridad-con-restic-de-forma-automatica/\"\u003ecopias de seguridad cifradas en Restic\u003c/a\u003e. Hoy veremos un par de métodos para restaurar la copia de seguridad que realizamos en su día. A modo de ejemplo restauraré unos volúmenes de Docker que en su día fueron borrados de forma accidental.\u003c/p\u003e","title":"Restaurar copia de seguridad con Restic usando la terminal"},{"content":"Si estamos usando Radicale y queremos gestionar nuestros calendarios, contactos y tareas vía el navegador web deberemos instalar InfCloud. Si estamos corriendo Radicale en Docker tendremos que seguir el siguiente proceso para instalar InfCloud.\nNota: Antes de seguir las instrucciones que verán a continuación es necesario instalar Radicale tal y como se muestra en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/gestionar-contactos-calendarios-tareas-con-radicale/\nINSTALAR Y CONFIGURAR EL CLIENTE WEB INFCLOUD PARA ADMINISTRAR NUESTROS CONTACTOS, TAREAS Y CALENDARIOS VÍA NAVEGADOR WEB El primer paso consistirá en acceder dentro del contenedor en que estamos corriendo Radicale. Para ello ejecutaremos el siguiente comando en la terminal:\nubuntu@ubuntu-20-04:~$ docker exec -it radicale bash Una vez dentro del contenedor instalaremos InfCloud ejecutando el siguiente comando:\nbash-5.0# python3 -m pip install git+https://github.com/Unrud/RadicaleInfCloud Configurar el cliente web InfCloud Acto seguido configuraremos InfCloud. Para ello accederemos a su fichero de configuración ejecutando el siguiente comando:\nbash-5.0# vi ./usr/lib/python3.7/site-packages/radicale_infcloud/web/config.js Nota: La ruta del fichero config.js se puede hallar fácilmente mediante la utilidad find.\nUna vez dentro del fichero de configuración localizaremos las siguientes líneas:\nvar globalInterfaceLanguage=\u0026#39;en_US\u0026#39;; var globalTimeZonesEnabled=[]; Y las reemplazamos por las siguientes:\nvar globalInterfaceLanguage=\u0026#39;es_ES\u0026#39;; var globalTimeZonesEnabled=[\u0026#39;Europe/Madrid\u0026#39;]; Nota: En mi caso he configurado el Español de España como idioma predeterminado.\nA continuación guardamos los cambios y cerraremos el fichero. Finalmente borraremos el historial de la terminal y saldremos del contenedor ejecutando los siguientes comandos:\nbash-5.0# history -c bash-5.0# exit Modificar la configuración de Radicale para poder acceder a InfCloud Seguidamente accederemos el fichero de configuración de Radicale ejecutando el siguiente comando:\nubuntu@ubuntu-20-04:~$ nano services/radicale/config/config Una vez se abra el editor de textos nano añadiremos el código type = radicale_infcloud dentro de la sección web.\n[web] # Web interface backend # Value: none | internal #type = internal type = radicale_infcloud\nFinalmente guardaremos los cambios, cerraremos el fichero y reiniciaremos el contenedor Docker de Radicale ejecutando el siguiente comando en la terminal:\nubuntu@ubuntu-20-04:~$ docker restart radicale COMO ADMINISTRAR NUESTROS CONTACTOS, CONTRASEÑAS Y TAREAS CON INFCLOUD Para administrar nuestros contactos, tareas y calendarios con InfCloud procederemos del siguiente modo.\nAcceder al panel de administración de InfCloud Lo primero que tenemos que realizar es acceder a la pantalla de Login de Radicale. Una vez allí verán que en la parte superior de la pantalla aparece la palabra InfCloud. Para acceder a InfCloud tan solo tendremos que clicar encima de ella.\nNota: Otra opción de acceder de forma directa a la pantalla de login de InfCloud es ingresar la URL de acceso a Radicale seguido de infcloud/\nActo seguido podrán ver la pantalla de login de InfCloud. Cuando la vean tan solo tendrán que introducir el usuario y contraseña de Radicale y presionar encima del botón Iniciar sesión.\nGestionar contactos, calendarios y tareas de Radicale con InfCloud Finalmente accederán al cliente InfCloud. Una vez allí podrán gestionar los calendarios, contactos y tareas de forma fácil, rápida e intuitiva.\nFuente https://github.com/Unrud/RadicaleInfCloud\nhttps://www.inf-it.com/open-source/clients/infcloud/\n","permalink":"https://geeklandlinux.github.io/posts/instalar-infcloud-para-gestionar-nuestros-contactos-calendarios-y-tareas/","summary":"\u003cp\u003eSi estamos usando Radicale y queremos gestionar nuestros calendarios, contactos y tareas vía el navegador web deberemos instalar InfCloud. Si estamos corriendo Radicale en Docker tendremos que seguir el siguiente proceso para instalar InfCloud.\u003c/p\u003e","title":"Instalar InfCloud para gestionar nuestros contactos calendarios y tareas"},{"content":"En el caso que quieran disponer de un sistema autoalojado para gestionar sus contactos, calendarios y tareas les recomiendo Radicale. Los motivos son los siguientes.\nToda la comunicación entre cliente estará cifrada si lo configuramos correctamente. Podemos usar Radicale a nivel local o abrirlo al exterior. Es extremadamente ligero, rápido y desarrollado en Python. Prácticamente no consume recursos y no usa base de datos. Es software libre y lo podemos autoalojar. Por lo tanto es una buena opción para preservar nuestra privacidad y para dejar de depender de terceros. Permite crear tantos usuarios como sea necesario. De esta forma podemos dar el servicio de gestión de calendario, contactos y tareas a multitud de personas. Existen buenos clientes para la totalidad de sistemas operativos y clientes de correo que acostumbro a usar. Es verdad que existen alternativas como Etesync o Baikal. Etesync funciona perfectamente y era mi primera opción, pero a día de hoy su principal problema es que no tiene clientes de sincronización. Por ejemplo si usáis el gestor de correo Thunderbird no existe ningún cliente de sincronización. Por este motivo en mi caso estoy usando Radicale. Para instalar y configurar Radicale deberán seguir los siguientes pasos.\nNota: Baikal es una opción que aún no he testeado y no tengo claro que lo haga porque al igual que Etesync funciona a través de una base de datos.\nMATERIAL QUE NECESITAMOS PARA GESTIONAR NUESTROS CONTACTOS, CALENDARIOS Y TAREAS CON RADICALE El único material que necesitamos para seguir el tutorial es un dispositivo que funcione a modo de servidor. Este dispositivo puede ser un ordenador personal, un mini pc, una Raspberry Pi, un servidor VPS, etc.\nSi disponen de un servidor y una conexión a internet pueden seguir las instrucciones que encontrarán a continuación.\nCOMO INSTALAR Y CONFIGURAR RADICALE PARA GESTIONAR NUESTROS CONTACTOS, CALENDARIOS Y TAREAS Los pasos a seguir para instalar y configurar Radicale son los que se detallan a continuación.\nInstalar Docker y Docker Compose En mi caso he decidido instalar Radicale mediante Docker. Por lo tanto lo primero que tendremos que realizar es instalar Docker siguiendo las instrucciones del siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-docker-y-docker-compose-en-linux/\nAbrir los puertos necesarios para que funcione Radicale Para usar Radicale únicamente tenemos que abrir los puertos 80 y el 443. Los puertos los pueden abrir mediante iptables, ufw, etc. Para abrirlos con ufw tan solo tendrán que ejecutar los siguiente comandos:\nPara instalar el firewall ufw tendrán que ejecutar el siguiente comando:\nsudo apt install ufw Una vez finalizada la instalación activan el Firewall mediante el siguiente comando:\nsudo ufw enable Finalmente abriremos los puertos 80 y 443 ejecutando los siguientes comandos:\nsudo ufw allow http sudo ufw allow https Instalar el proxy inverso Traefik y disponer de un dominio Para poder acceder al servicio Radicale de forma adecuada es necesario disponer de un dominio y de un proxy inverso que nos permita acceder a varios servicios a través del puerto 80 y 443. Para conseguir el dominio e instalar el proxy inverso sigan las instrucciones que se detallan en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-y-configurar-el-proxy-inverso-traefik-en-docker/\nUna vez seguidas todas las instrucciones tendrán un proxy inverso instalado y configurado en el equipo que actuará como servidor. Además dispondrán del siguiente dominio para poder acceder al servidor que alojará Radicale.\ngeekland.duckdns.org Instalar Radicale usando Docker A continuación crearemos los directorios que almacenarán los volúmenes de persistencia de Radicale. Concretamente crearemos los directorios ~/services/radicale/data y ~/services/radicale/config. Para ello ejecutaremos los siguiente comandos:\nubuntu@ubuntu-20-04:~$ mkdir services ubuntu@ubuntu-20-04:~$ cd services ubuntu@ubuntu-20-04:~$ mkdir radicale ubuntu@ubuntu-20-04:~$ cd radicale ubuntu@ubuntu-20-04:~$ mkdir data ubuntu@ubuntu-20-04:~$ mkdir config Nota: El directorio ~/services/radicale/data almacenará los datos de nuestros calendarios, tareas y contactos. Además también contendrá los usuarios y los hash de las contraseñas de los usuarios.\nNota: El directorio ~/services/radicale/config almacenará el archivo de configuración de Radicale.\nSeguidamente accederemos al directorio que almacenará el fichero de configuración de Radicale:\nubuntu@ubuntu-20-04:~$ cd config A continuación ejecutaremos el siguiente comando para crear el archivo de configuración:\nubuntu@ubuntu-20-04:~$ nano config Una vez se abra el editor de textos nano pegan el siguiente código que definirá la configuración inicial de Radicale:\n# -*- mode: conf -*- # vim:ft=cfg # Config file for Radicale - A simple calendar server # # Place it into /etc/radicale/config (global) # or ~/.config/radicale/config (user) # # The current values are the default ones [server] # CalDAV server hostnames separated by a comma # IPv4 syntax: address:port # IPv6 syntax: [address]:port # For example: 0.0.0.0:9999, [::]:9999 #hosts = 127.0.0.1:5232 hosts = 0.0.0.0:5232 # Max parallel connections #max_connections = 8 # Max size of request body (bytes) #max_content_length = 100000000 # Socket timeout (seconds) #timeout = 30 # SSL flag, enable HTTPS protocol #ssl = False # SSL certificate path #certificate = /etc/ssl/radicale.cert.pem # SSL private key #key = /etc/ssl/radicale.key.pem # CA certificate for validating clients. This can be used to secure # TCP traffic between Radicale and a reverse proxy #certificate_authority = [encoding] # Encoding for responding requests #request = utf-8 # Encoding for storing local collections #stock = utf-8 [auth] # Authentication method # Value: none | htpasswd | remote_user | http_x_remote_user #type = none # Htpasswd filename #htpasswd_filename = /etc/radicale/users # Htpasswd encryption method # Value: plain | bcrypt | md5 # bcrypt requires the installation of radicale[bcrypt]. #htpasswd_encryption = md5 # Incorrect authentication delay (seconds) #delay = 1 # Message displayed in the client when a password is needed #realm = Radicale - Password Required [rights] # Rights backend # Value: none | authenticated | owner_only | owner_write | from_file #type = owner_only # File for rights management from_file #file = /etc/radicale/rights [storage] # Storage backend # Value: multifilesystem #type = multifilesystem # Folder for storing local collections, created if not present #filesystem_folder = /var/lib/radicale/collections filesystem_folder = /data/collections # Delete sync token that are older (seconds) #max_sync_token_age = 2592000 # Command that is run after changes to storage # Example: ([ -d .git ] || git init) \u0026amp;\u0026amp; git add -A \u0026amp;\u0026amp; (git diff --cached --quiet || git commit -m \u0026#34;Changes by \u0026#34;%(user)s) #hook = [web] # Web interface backend # Value: none | internal #type = none #type = internal #type = radicale_infcloud [logging] # Threshold for the logger # Value: debug | info | warning | error | critical #level = warning # Don\u0026#39;t include passwords in logs #mask_passwords = True [headers] # Additional HTTP headers #Access-Control-Allow-Origin = * Una vez pegado el código guardan los cambios y cierran el fichero. A continuación se dirigen a la partición /home ejecutando el siguiente comando:\nubuntu@ubuntu-20-04:~$ cd Seguidamente crearemos y accederemos al directorio radicale que almacenará el docker-compose que creará el contenedor de radicale:\nubuntu@ubuntu-20-04:~$ mkdir radicale \u0026amp;\u0026amp; cd radicale El siguiente paso consistirá en crear y editar el docker-compose que construirá el contenedor de radicale. Para ello ejecutamos el siguiente comando en la terminal:\nubuntu@ubuntu-20-04:~$ nano docker-compose.yml Cuando se abra el editor de texto nano pegaremos el siguiente código:\nversion: \u0026#39;3\u0026#39; services: radicale: container_name: radicale image: tomsquest/docker-radicale restart: unless-stopped networks: - web ports: - \u0026#34;5232:5232\u0026#34; volumes: - /home/ubuntu/services/radicale/data:/data - /home/ubuntu/services/radicale/config:/config:ro labels: - traefik.enable=true - traefik.port=5232 - traefik.backend=radicale - traefik.docker.network=web - traefik.frontend.rule=Host:radicale.geekland.duckdns.org networks: web: external: true Nota: Si han seguido los pasos al pie de la letra unicamente deberán sustituir radicale.geekland.duckdns.org por el dominio que estén usando en su caso. También aseguren que la ruta de los volúmenes persistentes sea la correcta.\nUna vez generada la configuración guardamos los cambios y cerramos el fichero. Finalmente ya podemos levantar el contenedor ejecutando el siguiente comando en la terminal:\nubuntu@ubuntu-20-04:~/radicale$ docker-compose up -d Crear los usuarios de Radicale y definir una contraseña para ellos En estos momentos Radicale es plenamente funcional, pero el problema es que cualquier persona que conozca la URL para acceder a Radicale podrá usar el servicio. Para que únicamente puedan acceder al servidor los usuarios autorizados tendremos que seguir el siguiente proceso:\nInicialmente accederemos dentro del contenedor de Radicale ejecutando el siguiente comando en la terminal:\nubuntu@ubuntu-20-04:~/radicale$ docker exec -it radicale bash Una vez dentro del contenedor instalaremos el paquete apache2-utils para poder autenticar a los usuarios que usan Radicale. Para ello ejecutaremos el siguiente comando:\nbash-5.0# apk update bash-5.0# apk --no-cache add apache2-utils A continuación crearemos el fichero users en la ubicación /data/radicale que almacenará los usuarios y las contraseñas hasheadas de los usuarios que crearemos. Para ello ejecutaremos los siguientes comandos:\nbash-5.0# cd data bash-5.0# mkdir radicale bash-5.0# cd radicale bash-5.0# touch users Seguidamente crearemos un usuario llamado geekland y definiremos una contraseña para este usuario. Para ello ejecutaremos el siguiente comando en la terminal:\nbash-5.0# htpasswd -c /data/radicale/users geekland New password: micontraseña Re-type new password: micontraseña Adding password for user geekland Nota: Observen que una vez ejecutado el comando tendremos que definir la contraseña para el usuario geekland.\nActo seguido limpiaremos toda la cache de apk y el historial de la terminal para que el contenedor pese lo menos posible. Para ello ejecutaremos los siguientes comandos:\nbash-5.0# rm -rf /var/cache/apk/* bash-5.0# history -c\nFinalmente saldremos del contenedor mediante el comando exit.\nbash-5.0# exit Modificar el archivo de configuración de Radicale Desde del sistema operativo que corre Docker modificaremos el archivo de configuración para que se puedan autenticar los clientes. Si han seguido los pasos al pie de la letra podrán acceder al archivo de configuración ejecutando el siguiente comando:\nubuntu@ubuntu-20-04:~$ nano ~/services/radicale/config/config Cuando se abra el archivo de configuración tienen que dejar la sección [auth] del modo que pueden ver a continuación:\n[auth] # Authentication method # Value: none | htpasswd | remote_user | http_x_remote_user type = htpasswd # Htpasswd filename htpasswd_filename = /data/radicale/users # Htpasswd encryption method # Value: plain | bcrypt | md5 # bcrypt requires the installation of radicale[bcrypt]. htpasswd_encryption = md5 # Incorrect authentication delay (seconds) #delay = 1 # Message displayed in the client when a password is needed #realm = Radicale - Password Required Nota: Aseguren que la variable htpasswd_filename apunte a la ruta que almacena los usuarios y los passwords hasheados de los usuarios. Si han seguido las indicaciones al pie de la letra la ruta debería ser /data/radicale/users\nA continuación guardamos los cambios y cerramos el fichero. Finalmente reiniciaremos el contenedor de Radicale ejecutando el siguiente comando:\nubuntu@ubuntu-20-04:~$ docker restart radicale ACCEDER AL SERVICIO RADICALE VIA WEB PARA CREAR CALENDARIOS Y LIBROS DE CONTACTOS A partir de estos momentos ya podemos acceder a la interfaz web de Radicale. Para ello tan solo tenemos que introducir la URL que definimos para acceder a Radicale e introducir nuestro usuario y contraseña.\nUna se hayan logueado verán lo siguiente:\nComo pueden ver la interfaz web es extremadamente sencilla y solo permite las siguientes operaciones:\nCrear calendarios y listados de tareas. Crear libros de direcciones y contactos. Subir o importar calendarios y listados de tareas. Subir o importar libros de direcciones y contactos. La interfaz web no permite crear usuarios ni introducir datos a los libros de contactos y calendarios. Los usuarios los tendremos que crear manualmente en la terminal y las entradas en los calendarios y libros de direcciones y tareas lo haremos mediante clientes.\nCLIENTES QUE PODEMOS USAR PARA GESTIONAR NUESTROS CONTACTOS, CALENDARIOS Y TAREAS CON RADICALE Existen clientes de Radicale para la totalidad de sistemas operativos. A continuación detallaremos algunas de las opciones disponibles.\nSistema operativo o Programa Clientes que podemos usar Android Usad las aplicaciones Davx5 o OpenSync. Existen otros clientes como aCal, CalDAV-Sync, CardDAV-Sync, etc. Pero bajo mi punto les recomiendo las 2 primeras, porque las he probado y funcionan. Windows, MacOS, Linux Usar Thunderbird con los plugin Cardbook para los contactos y Lightning para los calendarios y tareas. Navegador Web Instalar Infcloud. Infcloud es una interfaz web que nos permitirá gestionar los calendarios y contactos de Radicale vía navagador web estemos donde estemos. Linux Existen diversas opciones. Algunas de ellas son Korganizer, Gnome Calendar, Gnome contacts, usar el cliente de correo Evolution, etc. MacOS y iOS Las aplicaciones de contactos y calendarios predeterminadas del sistema operativo de iOS y MacOS funcionan. Para instalar el cliente web InfCloud deberán seguir las instrucciones que les dejo en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-infcloud-para-gestionar-nuestros-contactos-calendarios-y-tareas/\nEn futuros artículos les mostraré como instalar y sincronizar nuestros calendarios, contactos y tareas con el resto de los clientes citados en la tabla.\nFuentes https://radicale.org/3.0.html https://hub.docker.com/r/tomsquest/docker-radicale/ https://github.com/tomsquest/docker-radicale\n","permalink":"https://geeklandlinux.github.io/posts/gestionar-contactos-calendarios-tareas-con-radicale/","summary":"\u003cp\u003eEn el caso que quieran disponer de un sistema autoalojado para gestionar sus contactos, calendarios y tareas les recomiendo Radicale. Los motivos son los siguientes.\u003c/p\u003e","title":"Gestionar contactos calendarios y tareas con Radicale"},{"content":"A continuación veremos como podemos cambiar el idioma de la terminal en Debian o en Ubuntu porque es relativamente normal que en el momento de contratar un servidor VPS la terminal no esté en Español. Por ejemplo en la siguiente captura de pantalla pueden ver que todo el texto que aparece en la terminal está en Inglés.\nPara solucionar este pequeño inconveniente vamos a cambiar el idioma de nuestro servidor Debian o Ubuntu desde la terminal.\nCAMBIAR EL IDIOMA DE LA TERMINAL EN UBUNTU Los pasos a seguir para cambiar el idioma de nuestro servidor Ubuntu son los siguientes:\nIdentificar el idioma en que está configurado el equipo o servidor Mediante el comando locale podremos ver el idioma que tenemos definido como predeterminado en nuestro servidor:\nubuntu@netherlands:~$ locale LANG=C.UTF-8 LANGUAGE= LC_CTYPE=\u0026#34;C.UTF-8\u0026#34; LC_NUMERIC=C.UTF-8 LC_TIME=C.UTF-8 LC_COLLATE=\u0026#34;C.UTF-8\u0026#34; LC_MONETARY=C.UTF-8 LC_MESSAGES=\u0026#34;C.UTF-8\u0026#34; LC_PAPER=C.UTF-8 LC_NAME=C.UTF-8 LC_ADDRESS=C.UTF-8 LC_TELEPHONE=C.UTF-8 LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C.UTF-8 LC_ALL= En nuestro caso vemos que en prácticamente todos los apartados pone C.UTF-8. Por lo tanto el idioma predeterminado del sistema operativo es el Inglés. Ahora si queremos podemos mirar todos los idiomas que tenemos instalados y veremos lo siguiente:\nubuntu@netherlands:~$ locale -a C C.UTF-8 POSIX Visto el resultado de salida vemos que el Español no está disponible.\nInstalar los paquetes necesarios para añadir cualquier tipo de variante de Español Para añadir el Español tendremos que instalar el paquete language-pack-es mediante el siguiente comando:\nubuntu@netherlands:~$ sudo apt-get install language-pack-es Reading package lists... Done Building dependency tree Reading state information... Done The following package was automatically installed and is no longer required: apparmor Use \u0026#39;sudo apt autoremove\u0026#39; to remove it. The following additional packages will be installed: language-pack-es-base locales The following NEW packages will be installed: language-pack-es language-pack-es-base locales 0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. Need to get 6775 kB of archives. After this operation, 30.4 MB of additional disk space will be used. Do you want to continue? [Y/n] Get:1 http://eu-amsterdam-1-ad-1.clouds.archive.ubuntu.com/ubuntu focal-updates/main amd64 locales all 2.31-0ubuntu9.1 [3868 kB] Get:2 http://eu-amsterdam-1-ad-1.clouds.archive.ubuntu.com/ubuntu focal-updates/main amd64 language-pack-es-base all 1:20.04+20200709 [2905 kB] Get:3 http://eu-amsterdam-1-ad-1.clouds.archive.ubuntu.com/ubuntu focal-updates/main amd64 language-pack-es all 1:20.04+20200709 [1904 B] Fetched 6775 kB in 11s (631 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package locales. (Reading database ... 89701 files and directories currently installed.) Preparing to unpack .../locales_2.31-0ubuntu9.1_all.deb ... Unpacking locales (2.31-0ubuntu9.1) ... Selecting previously unselected package language-pack-es-base. Preparing to unpack .../language-pack-es-base_1%3a20.04+20200709_all.deb ... Unpacking language-pack-es-base (1:20.04+20200709) ... Selecting previously unselected package language-pack-es. Preparing to unpack .../language-pack-es_1%3a20.04+20200709_all.deb ... Unpacking language-pack-es (1:20.04+20200709) ... Setting up locales (2.31-0ubuntu9.1) ... debconf: unable to initialize frontend: Dialog debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.) debconf: falling back to frontend: Readline Generating locales (this might take a while)... es_AR.UTF-8... done es_BO.UTF-8... done es_CL.UTF-8... done es_CO.UTF-8... done es_CR.UTF-8... done es_CU.UTF-8... done es_DO.UTF-8... done es_EC.UTF-8... done es_ES.UTF-8... done es_GT.UTF-8... done es_HN.UTF-8... done es_MX.UTF-8... done es_NI.UTF-8... done es_PA.UTF-8... done es_PE.UTF-8... done es_PR.UTF-8... done es_PY.UTF-8... done es_SV.UTF-8... done es_US.UTF-8... done es_UY.UTF-8... done es_VE.UTF-8... done Generation complete. Setting up language-pack-es (1:20.04+20200709) ... Setting up language-pack-es-base (1:20.04+20200709) ... Generating locales (this might take a while)... Generation complete. Nota: Si por ejemplo quisiera que la terminal estuviera en Catalán, Euskera o Gallego deberían instalar los siguientes paquetes:\nIdioma Paquete a instalar Catalán language-pack-ca Euskera language-pack-eu Gallego language-pack-gl Definir el Español como lenguaje predeterminado Una vez instalados los paquetes necesarios tenemos generar los locales y definir el idioma predeterminado. Para ello ejecutaremos el el siguiente comando:\nubuntu@netherlands:~$ sudo dpkg-reconfigure locales Justo después de ejecutar el comando tendrán que seleccionar el idioma para el cual quieren construir los locales. En mi caso como quiero el Español de España he seleccionado la opción es_ES.UTF-8 UTF-8.\nubuntu@netherlands:~$ sudo dpkg-reconfigure locales debconf: unable to initialize frontend: Dialog debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.) debconf: falling back to frontend: Readline Configuring locales ------------------- Locales are a framework to switch between multiple languages and allow users to use their language, country, characters, collation order, etc. Please choose which locales to generate. UTF-8 locales should be chosen by default, particularly for new installations. Other character sets may be useful for backwards compatibility with older systems and software. 1. All locales 252. gl_ES.UTF-8 UTF-8 2. aa_DJ ISO-8859-1 253. gl_ES@euro ISO-8859-15 3. aa_DJ.UTF-8 UTF-8 254. gu_IN UTF-8 4. aa_ER UTF-8 255. gv_GB ISO-8859-1 5. aa_ER@saaho UTF-8 256. gv_GB.UTF-8 UTF-8 6. aa_ET UTF-8 257. ha_NG UTF-8 7. af_ZA ISO-8859-1 258. hak_TW UTF-8 8. af_ZA.UTF-8 UTF-8 259. he_IL ISO-8859-8 9. agr_PE UTF-8 260. he_IL.UTF-8 UTF-8 10. ak_GH UTF-8 261. hi_IN UTF-8 11. am_ET UTF-8 262. hif_FJ UTF-8 183. es_ES.UTF-8 UTF-8 263. hne_IN UTF-8 .... (Enter the items you want to select, separated by spaces.) Locales to be generated: 183 Acto seguido tendremos que seleccionar el idioma que queremos como predeterminado. Como quiero que el idioma predeterminado sea el Español de España seleccionaré la opción es_ES.UTF-8.\nMany packages in Debian use locales to display text in the correct language for the user. You can choose a default locale for the system from the generated locales. This will select the default language for the entire system. If this system is a multi-user system where not all users are able to speak the default language, they will experience difficulties. 1. None 4. es_EC.UTF-8 7. es_BO.UTF-8 10. es_PY.UTF-8 13. es_PE.UTF-8 16. es_VE.UTF-8 19. es_AR.UTF-8 22. es_PR.UTF-8 2. C.UTF-8 5. es_CO.UTF-8 8. es_DO.UTF-8 11. es_NI.UTF-8 14. es_CU 17. es_GT.UTF-8 20. es_US.UTF-8 23. es_UY.UTF-8 3. es_ES.UTF-8 6. es_CL.UTF-8 9. es_HN.UTF-8 12. es_ES.UTF-8 15. es_CR.UTF-8 18. es_SV.UTF-8 21. es_PA.UTF-8 24. es_MX.UTF-8 Default locale for the system environment: 3 Generating locales (this might take a while)... es_AR.UTF-8... done es_BO.UTF-8... done es_CL.UTF-8... done es_CO.UTF-8... done es_CR.UTF-8... done es_CU.UTF-8... done es_DO.UTF-8... done es_EC.UTF-8... done es_ES.UTF-8... done es_GT.UTF-8... done es_HN.UTF-8... done es_MX.UTF-8... done es_NI.UTF-8... done es_PA.UTF-8... done es_PE.UTF-8... done es_PR.UTF-8... done es_PY.UTF-8... done es_SV.UTF-8... done es_US.UTF-8... done es_UY.UTF-8... done es_VE.UTF-8... done Generation complete. Reiniciar el servidor o equipo para cambiar el idioma de la terminal Una vez realizados todos los pasos tan solo tenemos que reiniciar el servidor mediante el siguiente comando:\nubuntu@netherlands:~$ sudo reboot La próxima vez que reinicie el servidor, el idioma predeterminado en todos los usuarios debería ser el Español de España.\nY si abrimos aplicaciones que se ejecutan en la terminal como por ejemplo nano también estarán en español:\nY si ahora ejecutamos el comando locale veremos que el idioma predeterminado es el Español.\nubuntu@netherlands:~$ locale LANG=es_ES.UTF-8 LANGUAGE= LC_CTYPE=\u0026#34;es_ES.UTF-8\u0026#34; LC_NUMERIC=es_ES.UTF-8 LC_TIME=es_ES.UTF-8 LC_COLLATE=\u0026#34;es_ES.UTF-8\u0026#34; LC_MONETARY=es_ES.UTF-8 LC_MESSAGES=\u0026#34;es_ES.UTF-8\u0026#34; LC_PAPER=es_ES.UTF-8 LC_NAME=es_ES.UTF-8 LC_ADDRESS=es_ES.UTF-8 LC_TELEPHONE=es_ES.UTF-8 LC_MEASUREMENT=es_ES.UTF-8 LC_IDENTIFICATION=es_ES.UTF-8 LC_ALL= CAMBIAR EL IDIOMA DE LA TERMINAL EN DEBIAN Si están en un sistema operativo Debian y quieren cambiar el idioma de la terminal hay que asegurar que tienen instalado el paquete locales. Para ello ejecuten el siguiente comando en la terminal:\njoan@debian:~$ sudo apt install locales Leyendo lista de paquetes... Hecho Creando árbol de dependencias Leyendo la información de estado... Hecho locales ya está en su versión más reciente (2.31-4). fijado locales como instalado manualmente. 0 actualizados, 0 nuevos se instalarán, 0 para eliminar y 0 no actualizados Generar los locales del idioma que queremos como predeterminado Una vez estamos seguros que el paquete locales está instalado ejecutaremos el siguiente comando para generar los locales de nuestro idioma.\njoan@debian:~$ sudo dpkg-reconfigure locales [sudo] password for joan: Después de ejecutar el comando tendrán que definir el idioma para el que necesitan crear los locales. En nuestro caso el idioma es el Español de España, por lo tanto seleccionaremos la opción es_ES.UTF-8 UTF-8.\nSeleccionar el idioma predeterminado del sistema en Debian Acto seguido y una vez se hayan generado los locales aparecerán todos los idiomas que tenemos disponibles. Como quiero que el idioma sea el Español de España seleccionaré la opción es_ES.UTF-8\nNota: Si por algún motivo no se generan los locales de forma automática pueden ejecutar el comando sudo locale-gen\nReiniciar el servidor Debian Finalmente mediante el comando sudo reboot reinician el equipo. La próxima vez que enciendan el equipo el idioma predeterminado para todos los usuarios de un equipo debería ser el Español.\njoan@debian:~$ sudo reboot CAMBIAR EL IDIOMA DE LA TERMINAL EN UBUNTU O DEBIAN PARA UN SOLO USUARIO Si siguen las instrucciones que hemos detallado en el artículo se cambiará el idioma predeterminado de todos los usuarios del servidor o del equipo. Sí unicamente quieren cambiar el idioma de uno de los usuarios deberán proceder del siguiente modo.\nInstalar los locales pertinentes y definir el idioma predeterminado Para instalar los locales pertinentes y definir el idioma predeterminado sigan las instrucciones que se han detallado con anterioridad en este artículo. En mi caso he instalado los locales en_US.UTF-8 y es_ES.UTF-8\njoan@debian:~$ locale -a C C.UTF-8 es_ES.utf8 en_US.UTF-8 POSIX Además el idioma que he seleccionado como predeterminado es el Español de España.\nDefinir el idioma para únicamente uno de los usuarios Si ahora queremos que todos los usuarios tengan como idioma el Español de España excepto el usuario joan que queremos que tenga el idioma Inglés de Estados unidos procederemos del siguiente modo. Primero de todo nos logueamos con el usuario joan ejecutando el siguiente comando:\nraul@debian:~$ su joan Contraseña: A continuación ejecutamos el comando cd para asegurar que estamos dentro de la partición home del usuario joan.\njoan@debian:~$ cd Acto seguido ejecutamos el siguiente comando para editar el contenido del fichero .profile\njoan@debian:~$ nano .profile Cuando se abra el editor de textos pegamos el siguiente código al final del archivo:\nLANG=en_US.UTF-8 LANGUAGE= LC_CTYPE=\u0026#34;en_US.UTF-8\u0026#34; LC_NUMERIC=\u0026#34;en_US.UTF-8\u0026#34; LC_TIME=\u0026#34;en_US.UTF-8\u0026#34; LC_COLLATE=\u0026#34;en_US.UTF-8\u0026#34; LC_MONETARY=\u0026#34;en_US.UTF-8\u0026#34; LC_MESSAGES=\u0026#34;en_US.UTF-8\u0026#34; LC_PAPER=\u0026#34;en_US.UTF-8\u0026#34; LC_NAME=\u0026#34;en_US.UTF-8\u0026#34; LC_ADDRESS=\u0026#34;en_US.UTF-8\u0026#34; LC_TELEPHONE=\u0026#34;en_US.UTF-8\u0026#34; LC_MEASUREMENT=\u0026#34;en_US.UTF-8\u0026#34; LC_IDENTIFICATION=\u0026#34;en_US.UTF-8\u0026#34; LC_ALL= Nota: Si quisieran usar un idioma diferente al Inglés de Estados Unidos deberían reemplazar en_US.UTF-8 por la denominación que recibe el local del idioma que quieren usar.\nUna vez pegado el texto guardamos los cambios y cerramos el fichero. A continuación editaremos el fichero .bashrc ejecutando el siguiente comando en la terminal:\njoan@debian:~$ nano .bashrc En el momento que se abra el editor de textos nano pegaremos el mismo código que pegamos en el fichero .profile:\nLANG=en_US.UTF-8 LANGUAGE= LC_CTYPE=\u0026#34;en_US.UTF-8\u0026#34; LC_NUMERIC=\u0026#34;en_US.UTF-8\u0026#34; LC_TIME=\u0026#34;en_US.UTF-8\u0026#34; LC_COLLATE=\u0026#34;en_US.UTF-8\u0026#34; LC_MONETARY=\u0026#34;en_US.UTF-8\u0026#34; LC_MESSAGES=\u0026#34;en_US.UTF-8\u0026#34; LC_PAPER=\u0026#34;en_US.UTF-8\u0026#34; LC_NAME=\u0026#34;en_US.UTF-8\u0026#34; LC_ADDRESS=\u0026#34;en_US.UTF-8\u0026#34; LC_TELEPHONE=\u0026#34;en_US.UTF-8\u0026#34; LC_MEASUREMENT=\u0026#34;en_US.UTF-8\u0026#34; LC_IDENTIFICATION=\u0026#34;en_US.UTF-8\u0026#34; LC_ALL= Nota: Si quisieran usar un idioma diferente al Inglés de Estados Unidos deberían reemplazar en_US.UTF-8 por la denominación que recibe el local del idioma que quieren usar.\nUna vez pegado el código guardaremos los cambios y cerraremos el fichero. Seguidamente volveremos a pegar el mismo código en el fichero .xsessionrc. Para ello ejecutaremos el siguiente comando:\njoan@debian:~$ nano .xsessionrc Al abrirse el editor de textos nano pegaremos el código correspondiente:\nLANG=en_US.UTF-8 LANGUAGE= LC_CTYPE=\u0026#34;en_US.UTF-8\u0026#34; LC_NUMERIC=\u0026#34;en_US.UTF-8\u0026#34; LC_TIME=\u0026#34;en_US.UTF-8\u0026#34; LC_COLLATE=\u0026#34;en_US.UTF-8\u0026#34; LC_MONETARY=\u0026#34;en_US.UTF-8\u0026#34; LC_MESSAGES=\u0026#34;en_US.UTF-8\u0026#34; LC_PAPER=\u0026#34;en_US.UTF-8\u0026#34; LC_NAME=\u0026#34;en_US.UTF-8\u0026#34; LC_ADDRESS=\u0026#34;en_US.UTF-8\u0026#34; LC_TELEPHONE=\u0026#34;en_US.UTF-8\u0026#34; LC_MEASUREMENT=\u0026#34;en_US.UTF-8\u0026#34; LC_IDENTIFICATION=\u0026#34;en_US.UTF-8\u0026#34; LC_ALL= Nota: Si quisieran usar un idioma diferente al Inglés de Estados Unidos deberían reemplazar en_US.UTF-8 por la denominación que recibe el local del idioma que quieren usar.\nReiniciar el equipo para aplicar los cambios y cambiar el lenguaje de la terminal Finalmente guardaremos los cambios, cerraremos el fichero y reiniciaremos el equipo. Una vez reiniciado el equipo todos los usuarios tendrán la terminal en Español de España excepto el usuario joan que la tendrá en Inglés de Estados Unidos. Si además quieren confirmar que el lenguaje configurado para el usuario joan es el Inglés de Estados Unidos pueden ejecutar el siguiente comando:\njoan@debian:~$ echo $LANG en_US.UTF-8 Fuente https://wiki.archlinux.org/index.php/Locale_(Espa%C3%B1ol)\n","permalink":"https://geeklandlinux.github.io/posts/cambiar-el-idioma-terminal-servidor-debian-ubuntu/","summary":"\u003cp\u003eA continuación veremos como podemos cambiar el idioma de la terminal en Debian o en Ubuntu porque es relativamente normal que en el momento de contratar un servidor VPS la terminal no esté en Español. Por ejemplo en la siguiente captura de pantalla pueden ver que todo el texto que aparece en la terminal está en Inglés.\u003c/p\u003e","title":"Cambiar el idioma de la terminal en un servidor Debian o Ubuntu"},{"content":"Es posible que en el primer momento que creamos una instancia en un servidor VPS no tenga la hora configurada de forma correcta. Este puede ser un problema en determinadas situaciones como por ejemplo cuando queremos programar la ejecución de una tarea a una determinada hora. Para solucionar este problema y configurar la hora en Linux de forma correcta procederemos del siguiente modo.\nCONSULTAR LA HORA QUE TENEMOS CONFIGURADA EN NUESTRO EQUIPO Para averiguar si la hora está configurada correctamente ejecutaremos el comando timedatectl. El resultado obtenido en mi caso es el siguiente:\nubuntu@netherlands:~$ timedatectl Local time: sáb 2020-11-14 20:02:48 UTC Universal time: sáb 2020-11-14 20:02:48 UTC RTC time: sáb 2020-11-14 20:02:49 Time zone: Etc/UTC (UTC, +0000) System clock synchronized: yes NTP service: active RTC in local TZ: no Si os fijáis en la salida del comando el servicio NTP está instalado y está sincronizando la hora. No obstante hay un problema porque la hora local y la hora universal coinciden. Mi hora local son las 21:02 horas y en la salida del comando me está mostrando que son las 20:02. Además también observamos que la zona horaria está mal establecida.\nCOMPROBAR QUE EL SERVICIO NTP ESTÁ INSTALADO Y ESTÁ ACTIVO Para solucionar el problema que acabamos de ver, o para solucionar cualquier otro problema relacionado con la configuración de la hora, lo primero que hay que realizar es asegurar que el servicio NTP (Net Time Protocol) está instalado. Para ello ejecutaremos el siguiente comando en la terminal:\nubuntu@netherlands:~$ sudo apt install ntp Acto seguido aseguramos que el servicio NTP está activado ejecutando el siguiente comando:\nubuntu@netherlands:~$ sudo timedatectl set-ntp on Nota: El servicio NTP se está ejecutando constantemente y es capaz de controlar la hora del sistema con una precisión de nanosegundos. Su función es conectarse a un servidor externo de tiempo y sincronizar la hora del servidor con la de nuestro equipos.\nCONFIGURAR LA HORA EN LINUX Y LA ZONA HORARIA Una vez estamos seguros que el servidor NTP está instalado y está activo configuraremos la zona horaria ejecutando el siguiente comando:\nsudo dpkg-reconfigure tzdata Justo después de ejecutar el comando tendremos que seleccionar nuestra zona geográfica y la ciudad o región donde vivimos. En mi caso como zona geográfica seleccionaré Europa y como ciudad de residencia elegiré la más cercana a donde vivo que en mi caso es Madrid.\nubuntu@netherlands:~$ sudo dpkg-reconfigure tzdata debconf: no se pudo inicializar la interfaz: Dialog debconf: (No hay ningún programa tipo dialog instalado, así que no se puede usar la interfaz basada en «dialog». at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.) debconf: probando ahora la interfaz: Readline Configurando tzdata ------------------- Por favor elija el área geográfica donde reside. Las siguientes preguntas de la configuración se ajustarán a ésta presentando una lista de ciudades, representando las zonas horarias en las que están localizadas. 1. África 4. Australia 7. Atlántico 10. Pacífico 13. Etc 2. América 5. Ártico 8. Europa 11. SystemV 3. Antártida 6. Asia 9. India 12. EEUU Área geográfica: 8 Por favor, elija la ciudad o región correspondiente a su zona horaria. 1. Ámsterdam 14. Copenhague 27. Londres 40. Riga 53. Ulyanovsk 2. Andorra 15. Dublín 28. Luxemburgo 41. Roma 54. Uzhgorod 3. Astrakhan 16. Gibraltar 29. Madrid 42. Samara 55. Vaduz 4. Atenas 17. Guernsey 30. Malta 43. San Marino 56. Vaticano 5. Belfast 18. Helsinki 31. Mariehamn 44. Sarajevo 57. Viena 6. Belgrado 19. Isla de Man 32. Minsk 45. Saratov 58. Vilna 7. Berlín 20. Estambul 33. Mónaco 46. Simferopol 59. Volgogrado 8. Bratislava 21. Jersey 34. Moscú 47. Skopie 60. Varsovia 9. Bruselas 22. Kaliningrado 35. Nicosia 48. Sofía 61. Zagreb 10. Bucarest 23. Kiev 36. Oslo 49. Estocolmo 62. Zaporozhye 11. Budapest 24. Kirov 37. París 50. Tallin 63. Zúrich 12. Büsingen 25. Lisboa 38. Podgorica 51. Tirana 13. Chisinau 26. Liubliana 39. Praga 52. Tiraspol Zona horaria: 29 Current default time zone: \u0026#39;Europe/Madrid\u0026#39; Local time is now: sáb 14 nov 2020 21:15:40 CET. Universal Time is now: Sat Nov 14 20:15:40 UTC 2020. COMPROBACIÓN FINAL QUE LA HORA ESTÁ BIEN CONFIGURADA Una vez hayamos seguido los pasos descritos volveremos a usar el comando timedatectl para comprobar que la configuración de la hora es correcta. En mi caso ahora los resultados son los siguientes:\nubuntu@netherlands:~$ timedatectl Local time: sáb 2020-11-14 21:16:19 CET Universal time: sáb 2020-11-14 20:16:19 UTC RTC time: sáb 2020-11-14 20:16:20 Time zone: Europe/Madrid (CET, +0100) System clock synchronized: yes NTP service: active RTC in local TZ: no La hora Local, Universal y RTC son correctas. La zona horaria es Europa/Madrid. Por lo tanto es correcta. El servicio NTP está activado y se indica que la hora del sistema está sincronizada.la hora sincronizada. Por lo tanto la configuración es correcta y todo está funcionando a la perfección. Por lo tanto han visto que configurar la hora en Linux desde de la terminal es relativamente fácil.\n","permalink":"https://geeklandlinux.github.io/posts/configurar-la-hora-en-linux-desde-la-terminal/","summary":"\u003cp\u003eEs posible que en el primer momento que creamos una instancia en un servidor VPS no tenga la hora configurada de forma correcta. Este puede ser un problema en determinadas situaciones como por ejemplo cuando queremos programar la ejecución de una tarea a una determinada hora. Para solucionar este problema y configurar la hora en Linux de forma correcta procederemos del siguiente modo.\u003c/p\u003e","title":"Configurar la hora en Linux desde la terminal mediante NTP"},{"content":"El objetivo del siguiente artículo es mostrar el sistema que uso para realizar mis copias de seguridad. Verán que una vez implementados todos los pasos podrán realizar las copias de seguridad cifradas o en la nube con el software Restic de forma completamente automática y solo tendrán que preocuparse de comprobar que las copias de seguridad puedan restaurarse correctamente.\n¿POR QUÉ RESTIC ES UNA BUENA OPCIÓN PARA REALIZAR COPIAS DE SEGURIDAD? En mi caso he decidido realizar mis copias de seguridad con el software Restic por los siguientes motivos:\nEs una solución multiplaforma. Se puede instalar y usar en prácticamente todos los sistemas operativos incluyendo Linux, Windows, MacOS, FreeBSD, OpenBSD, Solus, etc. Permite guardar copias de seguridad cifradas locales y en la nube. El algoritmo de cifrado usado es el AES256-Poly1305-AES. Las copias de seguridad cifradas se pueden realizar en un medio de almacenamiento local o remoto. Por lo tanto podemos almacenar copias de seguridad en un equipo local o en servidor remoto sftp, Microsoft Azure, AWS S3, BackBlaze B2, Google cloud, OpenStack Swift, etc. Además Restic se puede usar conjuntamente con rclone, por lo tanto podemos subir nuestras copias de respaldo a multitud de nubes. Restic realiza copias de seguridad completas, pero a la práctica son incrementales. Cada una de las copias de seguridad realizadas es independiente de la otra. No obstante implementa un sistema de de-duplicación que hará que no se almacene contenido duplicado en disco. Si tenemos una copia seguridad y realizamos una segunda copia, el contenido común entre la primera y la segunda copia de seguridad solo se almacenará una vez en disco. De esta forma podremos realizar copias de seguridad sin necesidad de disponer de gran cantidad de almacenamiento. Permite visualizar los datos almacenados en la copia de seguridad en nuestro gestor de archivos sin necesidad de tener que restaurarlos. De esta forma podemos navegar tranquilamente por el contenido de nuestra copia de seguridad y restaurar solo los ficheros que deseemos de forma sencilla y sin tener que usar prácticamente comandos. El proceso de restauración de una copia de seguridad es rápido y sencillo. Mediante un simple comando podremos restaurar la copias de seguridad. Es una herramienta de línea de comandos. Por lo tanto permite automatizar las copias de seguridad incluso en servidores sin entorno gráfico. Tiene una documentación excelente. Si la leéis podréis implementar fácilmente un sistema de copias de seguridad rápido, eficiente y seguro. Dispone de herramientas para comprobar que las copias de seguridad almacenadas están en buen estado. Podemos establecer una política para la eliminación de snapshots antiguos. De este modo podremos automatizar el proceso de copia de seguridad sin tener que preocuparnos de eliminar las copias de seguridad antiguas. TIPO DE COPIAS DE SEGURIDAD QUE REALIZARÉ EN MI CASO En el ejemplo que veremos a continuación automatizaremos el proceso de copia de seguridad de toda la información de mi Raspberry Pi a un servidor VPS remoto que uso para almacenar las copias de seguridad. Las copias de seguridad que realizaremos serán completas y cifradas.\nLa representación esquemática de mi estrategia de copias de seguridad con Restic es la siguiente:\nNota: La parte dentro del recuadro rojo corresponde a la copia de seguridad de mi Raspberry Pi.\nPor lo tanto en mi caso tengo un servidor remoto de copias de seguridad que es el que almacenará las copias de seguridad de todos mis equipos.\nINSTALAR EL SOFTWARE RESTIC PARA REALIZAR LAS COPIAS DE SEGURIDAD En mi caso y para facilitar la tarea recomiendo instalar Restic a través de los repositorios de su distribución. Para ello en mi caso opero de la siguiente forma\nInstalar Restic en el equipo que contiene el contenido a respaldar (Raspberry Pi) En el equipo que contiene la información a respaldar, que en mi caso es una Raspberry Pi, ejecutamos el siguiente comando en la terminal:\npi@raspberrypi:~ $ sudo apt install restic Nota: Para instalar restic en otros sistemas operativos que usen un gestor de paquetes diferente a apt sigan las intrucciones del siguiente enlace.\nInstalar Restic en el equipo que almacenará la copia de seguridad (Servidor VPS) En el ordenador que almacenará las copias de seguridad, que en mi caso es un Ubuntu Server 20.04, ejecutamos el siguiente comando:\nubuntu@opvpn-webdav-server:~$ sudo apt install restic Si quieren instalar Restic en otros sistemas operativos que no usan el gestor de paquetes deb pueden seguir las instrucciones del siguiente enlace.\nACTUALIZAR EL SOFTWARE RESTIC A LA ÚLTIMA VERSIÓN Hemos instalado Restic desde los repositorios de nuestra distribución. Por lo tanto no estaremos usando la última versión de Restic. Si quieren usar la última versión en el equipo que contiene la información a respaldar ejecuten el siguiente comando:\npi@raspberrypi:~ $ sudo restic self-update writing restic to /usr/bin/restic find latest release of restic at GitHub latest version is 0.10.0 download SHA256SUMS download SHA256SUMS.asc GPG signature verification succeeded download restic_0.10.0_linux_arm.bz2 downloaded restic_0.10.0_linux_arm.bz2 saved 15138816 bytes in /usr/bin/restic successfully updated restic to version 0.10.0 Para actualizar Restic en el servidor que almacenará la copia de seguridad deberán ejecutar el mismo comando que acabamos de ejecutar:\nubuntu@opvpn-webdav-server:~$ sudo restic self-update writing restic to /usr/bin/restic find latest release of restic at GitHub latest version is 0.10.0 download SHA256SUMS download SHA256SUMS.asc GPG signature verification succeeded download restic_0.10.0_linux_amd64.bz2 downloaded restic_0.10.0_linux_amd64.bz2 saved 18378752 bytes in /usr/bin/restic successfully updated restic to version 0.10.0 De esta forma rápida y simple ya tenemos la última versión de Restic disponible en todos nuestros equipos.\nCREAR UN REPOSITORIO DE RESTIC PARA ALMACENAR LAS COPIAS DE SEGURIDAD A continuación, en el servidor VPS que almacenará las copias de seguridad crearé un directorio que almacenará las copias de seguridad de mi Raspberry Pi. Para ello ejecutaremos el siguiente comando en la terminal:\nubuntu@opvpn-webdav-server:~$ mkdir /home/ubuntu/rpi4_bk Ahora sobre el directorio /home/ubuntu/rpi4_bk/ tenemos que crear un repositorio de Restic. Para ello ejecutaremos el siguiente comando en la terminal:\nubuntu@opvpn-webdav-server:~$ restic -r /home/ubuntu/rpi4_bk/ init enter password for new repository: mi_contraseña enter password again: mi_contraseña created restic repository ee979ca4cb at /home/ubuntu/rpi4_bk/ Please note that knowledge of your password is required to access the repository. Losing your password means that your data is irrecoverably lost. Nota: Durante la creación del repositorio tendremos que definir una contraseña. Esta contraseña la debéis recordar y además tiene que ser una contraseña robusta. Necesitaremos introducir la contraseña en cualquier operación que implique modificar o consultar los datos almacenados en la copia de seguridad. Por lo tanto necesitaremos introducir la contraseña al realizar, restaurar, borrar y consultar la copia de seguridad.\nSi necesitan más información pueden visitar el siguiente enlace en el que se explica de forma más profunda el proceso de crear un repositorio.\nCONFIGURAR RESTIC PARA QUE SEA CAPAZ DE LEER Y RESPALDAR LA TOTALIDAD DE FICHEROS DE NUESTRO EQUIPO Si ejecutamos Restic con nuestro usuario tendremos el problema que no podremos leer ni respaldar ficheros y directorios cuyo propietario sea root.\nUna solución para evitar el problema que acabamos de citar es ejecutar Restic como usuario root. La otra es crear un nuevo usuario sin privilegios de administrador que sea capaz de respaldar la totalidad de ficheros de nuestro equipo.\nCrear un nuevo usuario sin privilegios de administrador para crear las copias de seguridad Lo primero que tenemos que hacer es crear un nuevo usuario llamado restic ejecutando el siguiente comando en la terminal:\npi@raspberrypi:~ $ sudo useradd -m restic Definir un password para el nuevo usuario A continuación definiremos un password para el usuario restic que acabamos de crear. Para ello ejecutaremos el siguiente comando en la terminal:\npi@raspberrypi:~ $ sudo passwd restic Nueva contraseña: mi_contraseña Vuelva a escribir la nueva contraseña: mi_contraseña passwd: contraseña actualizada correctamente Modificar las propiedades del fichero binario de Restic Acto seguido cambiaremos los permisos y propiedades del binario de restic para que únicamente pueda ser ejecutado por los usuarios root y restic. Para ello ejecutaremos los siguientes comandos en la terminal:\npi@raspberrypi:~ $ sudo chown root:restic /usr/bin/restic pi@raspberrypi:~ $ sudo chmod 750 /usr/bin/restic Finalmente mediante setcap y la propiedad cap_dac_read_search=+ep haremos que cuando se ejecute el binario de Restic no se realice ningún tipo de comprobación de si tenemos permisos de lectura para respaldar un fichero o directorio. Para conseguir este propósito ejecutaremos el siguiente comando:\npi@raspberrypi:~ $ sudo setcap cap_dac_read_search=+ep /usr/bin/restic Fuente: https://restic.readthedocs.io/en/latest/080_examples.html#backing-up-your-system-without-running-restic-as-root\nHACER QUE EL USUARIO RESTIC TENGA ACCESO A LA UBICACIÓN REMOTA EN QUE SE ALMACENARÁN LAS COPIAS DE SEGURIDAD Si pretenden realizar una copia remota vía ssh, el usuario restic que acabamos de crear tendrá que tener acceso al servidor remoto que almacenará las copias de seguridad. Para conseguir nuestro propósito nos loguearemos al usuario restic ejecutando el siguiente comando en la terminal:\npi@raspberrypi:~ $ su restic Contraseña: mi_contraseña Seguidamente ejecutaremos el siguiente comando para dirigirnos a la ubicación home de restic:\nrestic@raspberrypi:/home/pi $ cd\nA continuación crearemos el directorio .ssh que será el encargado de almacenar la configuración y las claves para podernos conectar al servidor que almacenará las copias de seguridad. Para ello ejecutaremos los siguientes comandos en la terminal:\nrestic@raspberrypi:~ $ mkdir .ssh restic@raspberrypi:~ $ cd .ssh Acto seguido crearemos el directorio que almacenará la clave privada que en mi caso usaré para autenticarme en el momento de conectarme al servidor remoto que almacenará las copias de seguridad:\nrestic@raspberrypi:~/.ssh $ mkdir clave Seguidamente accedemos dentro del directorio que acabamos de crear:\nrestic@raspberrypi:~/.ssh $ cd clave A continuación creamos el fichero ubuntu_server que es el que almacenará nuestra clave. Para ello ejecutamos el siguiente comando:\nrestic@raspberrypi:~/.ssh/clave $ touch ubuntu_server El siguiente paso consistirá en copiar la clave privada en el fichero que acabamos de crear. Para ello ejecutaremos el siguiente comando:\nrestic@raspberrypi:~/.ssh/clave $ nano ubuntu_server Cuando se abra el editor de textos copiaremos la clave que en mi caso es la siguiente:\n-----BEGIN OPENSSH PRIVATE KEY----- kfodsktgoretkpremgdfçpobmtqeçpmbgeapmgeqomgrefgFGGFDGDEwerfmew+pgorert ipgmemg\u0026amp;$67568,6j64_J/u-p,h.DGGtegheogteopgtjogithjwoghtghoewoigregeh/ orewpt7787689GDFgjpirwnq.fswqpow788861461r23me290rewrewGFRWGREGRETRETR porgepogrjeRFEREGR WV2o3xcmjgtrVHJTBKPGCGEWCOKXOEWXGErfxpqinfveronpotr FOIRFWmewfmoidm09450439+44984rewcdrec,jecoirtgvmoirgjcov,rjovcjoir%jTY kfodsktgoretkpremgdfçpobmtqeçpmbgeapmgeqomgrefgFGGFDGDEwerfmew+pgorert ipgmemg\u0026amp;$67568,6j64_J/u-p,h.DGGtegheogteopgtjogithjwoghtghoewoigregeh/ orewpt7787689GDFgjpirwnq.fswqpow788861461r23me290rewrewGFRWGREGRETRETR porgepogrjeRFEREGR WV2o3xcmjgtrVHJTBKPGCGEWCOKXOEWXGErfxpqinfveronpotr FOIRFWmewfmoidm09450439+44984rewcdrec,jecoirtgvmoirgjcov,rjovcjoir%jTY ykHHwemEq8lhsaSJYWKbgsWvTGLwPPXLONtoB7AAAAAwEAAQAAAQBBKnwYolkVrnEHurw7 5eYa7vGDQ5xwrZvDvcwWcP52ZoMFBn1JDS3o+87vy0KnW+oD3oQUPEo/sVz3bgIiouHPD3 yHsv0uOskJ+0ArDTgJl4NMRjGkaVGKbGNW8lv89BV2rEqmhPaDj08DwhiUo7MSztUx7CGd 5L6cIXUoYZB4tSsKs0CGNqL9fIQsk6on+VnD0n6dB7sP3M5WK9mM35veDR1q2ezyeMynvI ksBWfkz9CSiAirhZ/GHweVbKfp1KDbnP6nk1BBQaxAjNXBvkcbcjywnmp+HHHOtkhtSV5C kfodsktgoretkpremgdfçpobmtqeçpmbgeapmgeqomgrefgFGGFDGDEwerfmew+pgorert ipgmemg\u0026amp;$67568,6j64_J/u-p,h.DGGtegheogteopgtjogithjwoghtghoewoigregeh/ orewpt7787689GDFgjpirwnq.fswqpow788861461r23me290rewrewGFRWGREGRETRETR porgepogrjeRFEREGR WV2o3xcmjgtrVHJTBKPGCGEWCOKXOEWXGErfxpqinfveronpotr EM8VdpBTFJAAAAgQDzi0bcrHkHTMTKJplXF61ePPgNmv/Xo3i4l0WPSfyiqXXQ4rwLjRv0 kfodsktgoretkpremgdfçpobmtqeçpmbgeapmgeqomgrefgFGGFDGDEwerfmew+pgorert ipgmemg\u0026amp;$67568,6j64_J/u-p,h.DGGtegheogteopgtjogithjwoghtghoewoigregeh/ orewpt7787689GDFgjpirwnq.fswqpow788861461r23me290rewrewGFRWGREGRETRETR porgepogrjeRFEREGR WV2o3xcmjgtrVHJTBKPGCGEWCOKXOEWXGErfxpqinfveronpotr uPMrewrtewdPi2EAAb0AAAANdWJrewbnR1X3NlcnZlcgECAwQFBg== -----END OPENSSH PRIVATE KEY----- Una vez pegada la clave guardan los cambios y cierran el fichero.\nPara poder usar la clave y además almacenarla en el equipo de forma segura cambiaremos su usuario, grupo y permisos ejecutando los siguientes comandos en la terminal:\nrestic@raspberrypi:~/.ssh/clave $ chown restic:restic ubuntu_server restic@raspberrypi:~/.ssh/clave $ chmod 0400 ubuntu_server\nA continuación nos dirigiremos a la ruta /home/restic/.ssh ejecutando el siguiente comando:\nrestic@raspberrypi:~/.ssh/clave $ cd .. Seguidamente crearemos y editaremos el fichero config para introducir la configuración necesaria para que el usuario restic se pueda conectar al servidor remoto que almacenará las copias de seguridad. Para ello ejecutaremos el siguiente comando en la terminal:\nrestic@raspberrypi:~/.ssh $ nano config\nUna vez se abra el editor de textos nano introduciremos la configuración pertinente para que se puedan conectar al servidor que almacenará las copias de seguridad:\nHost vps2 Hostname 88.333.444.107 IdentityFile /home/restic/.ssh/clave/ubuntu_server IdentitiesOnly yes User ubuntu Port 22\nFinalmente guardaremos los cambios y cerraremos el fichero. A partir de estos momentos el usuario restic podrá acceder al servidor que almacenará las copias de seguridad vía ssh y sin tener que introducir ningún tipo de contraseña.\nNota: Si no acaban de comprender lo que se realiza en este apartado les recomiendo visiten el siguiente enlace para configurar el acceso a un servidor remoto mediante SSH.\nFuente: https://restic.readthedocs.io/en/latest/080_examples.html#motivation\nDEFINIR EL CONTENIDO QUE QUEREMOS RESPALDAR EN LA COPIA DE SEGURIDAD A continuación creamos 2 ficheros de texto que contendrán los ficheros y directorios que queremos respaldar. Para ello procederemos del siguiente modo:\nDefinir los ficheros y directorios que queremos introducir en las copias de seguridad En la ubicación ~/restic crearemos el fichero files_to_backup.txt que detallará la totalidad de ficheros y directorios que queremos respaldar. Para ello ejecutaremos los siguientes comandos:\nrestic@raspberrypi:~ $ cd /home/restic/restic restic@raspberrypi:~ $ mkdir restic restic@raspberrypi:~ $ cd restic restic@raspberrypi:~/restic $ touch files_to_backup.txt restic@raspberrypi:~/restic $ nano files_to_backup.txt Una vez se abra el editor de texto detallaremos todos los directorios y ficheros que queremos respaldar. En mi caso el contenido que he copiado es el siguiente:\n/home/pi /media/nextcloud/twitter /media/nextcloud/podcast /media/nextcloud/services/jellyfin/ Una vez definido el contenido a respaldar guardamos los cambios y cerramos el fichero.\nNota: En cualquier momento podemos modificar el contenido del fichero files_to_backup.txt para añadir o sacar contenido de nuestra copia de seguridad.\nDefinir los ficheros y directorios que queremos excluir en las copias de seguridad De la misma forma que hemos definido los archivos y directorios que queremos incluir en la copia de seguridad también podemos excluir ficheros y directorios de la copia de seguridad. Para ello en la ubicación ~/restic crearemos el fichero files_to_exclude.txt que detallará la totalidad de ficheros y directorios que no queremos respaldar. Para ello ejecutaremos los siguientes comandos:\nrestic@raspberrypi:~ $ cd /home/restic/restic restic@raspberrypi:~/restic $ touch files_to_exclude.txt restic@raspberrypi:~/restic $~ nano files_to_exclude.txt Cuando se abra el editor de texto nano definiremos los ficheros y directorios que no queremos respaldar. En mi caso los valores introducidos son:\n/home/pi/videos *.txt Finalmente guardamos los cambios y cerramos el fichero. De este modo nuestra copia de seguridad contendrá:\nLa totalidad de ficheros y directorios de nuestra partición /home/pi excepto el directorio /home/pi/videos. Los ficheros y directorios de las ubicaciones /media/nextcloud/twitter, /media/nextcloud/podcast y /media/nextcloud/services/jellyfin/ La copia no contendrá ningún archivo que tenga la extensión .txt. REALIZAR LA COPIA DE SEGURIDAD DE FORMA MANUAL CON RESTIC Una vez finalizada la configuración ya podemos realizar la copia de seguridad. Para ello tan solo tenemos que ejecutar un comando del siguiente tipo:\n**sudo -u restic restic -r sftp:vps2:/home/ubuntu/rpi4_bk/ backup --tag raspberry --tag docker -v --exclude-file=/home/restic/restic/files_to_exclude.txt --files-from=/home/restic/restic/files_to_backup.txt**\nEl significado de todos y cada uno de los parámetros del comando es el siguiente:\nsudo -u restic: Como inicio la copia de seguridad con el usuario Pi definimos que el usuario restic es quien ejecutará copia de seguridad. restic: Invocamos el binario de restic para realizar la copia de seguridad. -r sftp:vps2:/home/ubuntu/rpi4_bk/: Indicamos la ubicación remota del repositorio que almacenará la copia de seguridad. En nuestro caso la copia de seguridad se almacenará en un servidor sftp con nombre vps2. El repositorio en que se almacenará la copia es /home/ubuntu/rpi4_bk/. backup: Para indicar a restic que queremos realizar una copia de seguridad. --tag raspberry : Añadimos la etiqueta raspberry a la copia de seguridad. Las etiquetas son útiles para por ejemplo aplicar acciones únicamente a los snapshots o copias de seguridad que contengan una determinada etiqueta. --tag docker : Añadimos la etiqueta docker a la copia de seguridad. -v --exclude-file=/home/restic/restic/files_to_exclude.txt --files-from=/home/restic/restic/files_to_backup.txt: Definimos los ficheros que queremos respaldar. El resultados de aplicar el comando que acabamos de detallar es el siguiente:\npi@raspberrypi:~ $ sudo -u restic restic -r sftp:vps2:/home/ubuntu/rpi4_bk/ backup --tag raspberry --tag docker -v --exclude-file=/home/restic/restic/files_to_exclude.txt --files-from=/home/restic/restic/files_to_backup.txt open repository enter password for repository: mi_contraseña repository ee979ca4 opened successfully, password is correct lock repository load index files start scan on [/home/pi /media/nextcloud/twitter /media/nextcloud/podcast /media/nextcloud/services/jellyfin] start backup on [/home/pi /media/nextcloud/twitter /media/nextcloud/podcast /media/nextcloud/services/jellyfin] scan finished in 3.478s: 17872 files, 1.728 GiB [0:35] 14.74% 3592 files 260.779 MiB, total 17872 files 1.728 GiB, 0 errors ETA 3:25 /media/nextcloud/services/jellyfin/config/cache/images/resized-images/7/7d3f157f-f229[0:35] 14.75% 3593 files 260.968 MiB, total 17872 files 1.728 GiB, 0 errors ETA 3:25 /media/nextcloud/services/jellyfin/config/cache/images/resized-images/7/7d3f157f-f229[0:35] 14.76% 3596 files 261.134 MiB, total 17872 files 1.728 GiB, 0 errors ETA 3:25 [0:46] 17.60% 4087 files 311.441 MiB, total 17872 files 1.728 GiB, 0 errors ETA 3:36 uploaded intermediate index 0ee25081 uploaded intermediate index e740956e Files: 17872 new, 0 changed, 0 unmodified Dirs: 4 new, 0 changed, 0 unmodified Data Blobs: 15666 new Tree Blobs: 5 new Added to the repo: 1.585 GiB processed 17872 files, 1.728 GiB in 6:41 snapshot 6eb6d1e2 saved A partir de estos momentos la copia de seguridad ya está realizada. Si leen más adelante verán como se puede automatizar el proceso.\nNota: Para obtener más información de como realizar un backup pueden visitar el siguiente enlace.\nCOMPROBAR QUE LA COPIA DE SEGURIDAD SE HA REALIZADO CORRECTAMENTE Para confirmar que la copia de seguridad se ha realizado con éxito lo podemos hacer des del servidor de copias de seguridad o desde del equipo en que se ha realizado la copia de seguridad.\nPara listar las copias de seguridad des del servidor en que se almacenan las copias de seguridad ejecutamos el siguiente comando:\nubuntu@opvpn-webdav-server:~$ restic -r /home/ubuntu/rpi4_bk/ snapshots enter password for repository: mi_contraseña password is correct ID Date Host Tags Directory ---------------------------------------------------------------------- 3161b4f6 2020-10-25 20:00:11 raspberrypi raspberry ┌── /home/pi docker │ /media/nextcloud/twitter │ /media/nextcloud/podcast └── /media/nextcloud/services/jellyfin 6eb6d1e2 2020-10-25 20:02:53 raspberrypi raspberry ┌── /home/pi docker │ /media/nextcloud/twitter │ /media/nextcloud/podcast └── /media/nextcloud/services/jellyfin ---------------------------------------------------------------------- 2 snapshots Nota: El comando que acabamos de ejecutar muestra que se han realizado 2 copias de seguridad o snapshots. Si restauro el snapshot con ID 3161b4f6 restaurare los archivos respaldados al estado que tenían el día 25-10-2020 a las 20:00:11. Si restauro la copia con ID 6eb6d1e2 restaurare los archivos respaldados al estado que tenían el día 25-10-2020 a las 20:02:53\nUna vez listadas las copias de seguridad podemos comprobar su integridad ejecutando el siguiente comando en la terminal:\nubuntu@opvpn-webdav-server:~$ restic -r /home/ubuntu/rpi4_bk/ check enter password for repository: mi_contraseña password is correct create exclusive lock for repository load indexes check all packs check snapshots, trees and blobs no errors were found Si queremos realizar las mismas comprobaciones des del equipo que contiene los ficheros que hemos respaldado ejecutaremos los siguientes comandos. Para listar los backup existentes:\npi@raspberrypi:~ $ sudo restic -r sftp:vps2:/home/ubuntu/rpi4_bk/ snapshots enter password for repository: mi_contraseña password is correct ID Date Host Tags Directory ---------------------------------------------------------------------- 3161b4f6 2020-10-25 20:00:11 raspberrypi raspberry ┌── /home/pi docker │ /media/nextcloud/twitter │ /media/nextcloud/podcast └── /media/nextcloud/services/jellyfin 6eb6d1e2 2020-10-25 20:02:53 raspberrypi raspberry ┌── /home/pi docker │ /media/nextcloud/twitter │ /media/nextcloud/podcast └── /media/nextcloud/services/jellyfin ---------------------------------------------------------------------- 2 snapshots Para comprobar la integridad de las copias de seguridad:\npi@raspberrypi:~ $ sudo restic -r sftp:vps2:/home/ubuntu/rpi4_bk/ check using temporary cache in /tmp/restic-check-cache-778788374 enter password for repository: mi_contraseña repository ee979ca4 opened successfully, password is correct created new cache in /tmp/restic-check-cache-778788374 create exclusive lock for repository load indexes check all packs check snapshots, trees and blobs no errors were found ELIMINAR COPIAS DE SEGURIDAD O SNAPSHOTS EN RESTIC Las copias de seguridad se pueden eliminar de forma manual o estableciendo una política o reglas. Para eliminarlas de forma manual tendrán que proceder del siguiente modo.\nEliminar snapshots o copias de seguridad de forma manual en Restic Si desde el servidor de copias de seguridad listamos los snapshots disponibles veremos que tenemos 2. El primer snapshot tendrá la ID 3161b4f6 y el segundo tendrá la ID 6eb6d1e2.\nubuntu@opvpn-webdav-server:~$ restic -r /home/ubuntu/rpi4_bk/ snapshots enter password for repository: mi_contraseña password is correct ID Date Host Tags Directory ---------------------------------------------------------------------- 3161b4f6 2020-10-25 20:00:11 raspberrypi raspberry ┌── /home/pi docker │ /media/nextcloud/twitter │ /media/nextcloud/podcast └── /media/nextcloud/services/jellyfin 6eb6d1e2 2020-10-25 20:02:53 raspberrypi raspberry ┌── /home/pi docker │ /media/nextcloud/twitter │ /media/nextcloud/podcast └── /media/nextcloud/services/jellyfin ---------------------------------------------------------------------- 2 snapshots Si queremos eliminar la copia de seguridad con ID 3161b4f6 ejecutaremos el siguiente comando en la terminal.\nubuntu@opvpn-webdav-server:~$ restic -r /home/ubuntu/rpi4_bk/ forget 3161b4f6 En estos momentos los datos se han eliminado del índice de Restic, pero aun están en el disco. Para eliminarlos completamente del disco tendremos que ejecutar el siguiente comando:\nubuntu@opvpn-webdav-server:~$ restic -r /home/ubuntu/rpi4_bk/ prune Si ahora listamos las copias de seguridad disponibles veremos que solamente tenemos una.\nubuntu@opvpn-webdav-server:~$ restic -r /home/ubuntu/rpi4_bk/ snapshots enter password for repository: mi_contraseña password is correct ID Date Host Tags Directory ---------------------------------------------------------------------- 6eb6d1e2 2020-10-25 20:02:53 raspberrypi raspberry ┌── /home/pi docker │ /media/nextcloud/twitter │ /media/nextcloud/podcast └── /media/nextcloud/services/jellyfin ---------------------------------------------------------------------- 1 snapshot Si quisiéramos borrar la copia desde del cliente que contiene el contenido a respaldar deberíamos haber ejecutado los siguientes comandos. Para listar las copias de seguridad presentes:\npi@raspberrypi:~ $ sudo -u restic restic -r sftp:vps2:/home/ubuntu/rpi4_bk/ snapshots enter password for repository: mi_contraseña password is correct ID Date Host Tags Directory ---------------------------------------------------------------------- 3161b4f6 2020-10-25 20:00:11 raspberrypi raspberry ┌── /home/pi docker │ /media/nextcloud/twitter │ /media/nextcloud/podcast └── /media/nextcloud/services/jellyfin 6eb6d1e2 2020-10-25 20:02:53 raspberrypi raspberry ┌── /home/pi docker │ /media/nextcloud/twitter │ /media/nextcloud/podcast └── /media/nextcloud/services/jellyfin ---------------------------------------------------------------------- 2 snapshots Para eliminar del registro y del disco la copia con ID 3161b4f6 con tan solo un comando deberíamos ejecutar:\npi@raspberrypi:~ $ sudo -u restic restic -r sftp:vps2:/home/ubuntu/rpi4_bk/ forget 3161b4f6 prune Fuente: https://restic.readthedocs.io/en/latest/060_forget.html\nEliminar snapshots o copias de seguridad mediante una política o reglas Restic permite eliminar copias de seguridad basándose en las siguientes políticas o reglas:\nNúmero de copias de seguridad que queremos almacenar. Borrar las copias de seguridad que tienen más de una determinada antigüedad. Borrar todas las copias de seguridad excepto aquellas que contengan una o varias etiquetas que nosotros podemos definir. etc. En mi caso quiero que el número máximo de copias de seguridad almacenadas sean 6. Por lo tanto ejecutaré el siguiente comando para conseguir mi propósito:\nubuntu@opvpn-webdav-server:~$ restic forget -r /home/ubuntu/rpi4_bk/ --group-by host --keep-last 6 --prune enter password for repository: mi_contraseña password is correct snapshots for (host [raspberrypi]): keep 1 snapshots: ID Date Host Tags Directory ---------------------------------------------------------------------- 6eb6d1e2 2020-10-25 20:02:53 raspberrypi raspberry ┌── /home/pi docker │ /media/nextcloud/twitter │ /media/nextcloud/podcast └── /media/nextcloud/services/jellyfin ---------------------------------------------------------------------- 1 snapshot 0 snapshots have been removed, running prune Al existir un solo snapshoot no ha pasado absolutamente nada. Se ha conservado el existente y no se ha eliminado ninguno. Si en el momento de ejecutar el comando hubieran habido 10 copias de seguridad se habrían borrado las 4 más antiguas y se habrían mantenido las 6 más actuales.\nPara ver como aplicar otras reglas pueden visitar el siguiente enlace.\nSCRIPT PARA AUTOMATIZAR LAS COPIAS DE SEGURIDAD A lo largo de este artículo hemos configurado Restic para realizar una copia de seguridad de forma manual. Cuando hayan comprobado que la copia de seguridad se realiza correctamente de forma manual pueden automatizar su proceso del siguiente modo:\nCrear el fichero que contendrá la clave del repositorio /home/ubuntu/rpi4_bk/ Para automatizar el proceso de copia de seguridad tenemos que evitar tener que introducir la contraseña cada vez que operamos con nuestro repositorio. Para ello tendremos que realizar lo siguiente:\nInicialmente crearemos un archivo con nombre pass que es el que contendrá el password del repositorio /home/ubuntu/rpi4_bk/.\nrestic@raspberrypi:~/restic $ touch pass A continuación introduciremos la contraseña del repositorio /home/ubuntu/rpi4_bk/ dentro del fichero pass.\nrestic@raspberrypi:~/restic $ echo mi_password \u0026gt; pass Seguidamente otorgaremos los permisos 0400 al archivo pass. De este modo, el archivo pass únicamente podrá ser leído por el usuario restic y el usuario root.\nrestic@raspberrypi:~/restic $ chmod 0400 pass Crear el archivo que mostrará si la copia de seguridad se ha realizado con éxito Ahora crearemos el archivo raspberry.txt. Este archivo almacenará lo que Restic mostraría en pantalla si realizáramos la copia manualmente. De esta forma podremos saber si la copia de seguridad se ha realizado con éxito. Para ello ejecutaremos el siguiente comando:\nrestic@raspberrypi:~/restic $ touch raspberry.txt A continuación otorgaremos los permisos 622 para asegurar que todos los usuarios pertinentes puedan escribir en el fichero raspberry.txt.\nrestic@raspberrypi:~/restic $ chmod 622 raspberry.txt\nA partir de estos momentos ya podemos generar el script para realizar la copia de seguridad.\nCrear el script para ejecutar de forma automática las copias de seguridad El script que crearemos para realizar las copias de seguridad realizará las siguientes acciones:\nLa copia de seguridad de los ficheros y directorios que queremos respaldar. Que el número máximo de copias de seguridad almacenadas sean 6. Una vez finalizada la copia de seguridad se realizará una comprobación de su integridad. Los resultados obtenidos de la copia de seguridad se enviarán nuestro canal de Telegram. De esta forma mirando a Telegram podremos ver si la copia de seguridad se ha realizado correctamente. Para crear el script dentro de la ubicación /home/restic/restic crearemos el fichero run_backup.sh del siguiente modo:\nrestic@raspberrypi:~/restic $ nano run_backup.sh\nUna vez se abra el editor de textos nano pegaremos el siguiente código:\n#!/bin/bash ##Fecha copia de seguridad echo -e \u0026#34;Backup $HOSTNAME realizado el $(date +\u0026#39;%m/%d/%Y a las %R\u0026#39;)\u0026#34; \u0026gt;/home/restic/restic/raspberry.txt 2\u0026gt;\u0026amp;1 ##Realiza la copia de seguridad sudo -u restic restic -r sftp:vps2:/home/ubuntu/rpi4_bk/ backup --password-file=\u0026#34;/home/restic/restic/pass\u0026#34; --tag raspberry --tag docker -v --exclude-file=/home/restic/restic/files_to_exclude.txt --files-from=/home/restic/restic/files_to_backup.txt \u0026gt;\u0026gt;/home/restic/restic/raspberry.txt 2\u0026gt;\u0026amp;1 ##Para hacer que únicamente se almacenen las últimas 6 copias de seguridad sudo -u restic restic -r sftp:vps2:/home/ubuntu/rpi4_bk/ forget --password-file=\u0026#34;/home/restic/restic/pass\u0026#34; --group-by host --keep-last 6 --prune \u0026gt;\u0026gt;/home/restic/restic/raspberry.txt 2\u0026gt;\u0026amp;1 ##Comprobar la integridad de la copia de seguridad sudo -u restic restic -r sftp:vps2:/home/ubuntu/rpi4_bk/ check --password-file=\u0026#34;/home/restic/restic/pass\u0026#34; \u0026gt;\u0026gt;/home/restic/restic/raspberry.txt 2\u0026gt;\u0026amp;1 ##Enviar notificación a Telegram con el resultado de la copia de seguridad ##sudo -u restic curl -X POST \u0026#34;https://api.telegram.org/bot\u0026#34;1182342334:TPOS5R_SKA_Or12tOu1VfE2REitd15kWyZ9\u0026#34;/sendDocument\u0026#34; -F chat_id=\u0026#34;-11199944432421\u0026#34; -F caption=\u0026#34;Copia \u0026#34;$HOSTNAME\u0026#34; fecha $(echo -e \u0026#34;$(date +\u0026#39;%m/%d/%Y a las %R\u0026#39;)\u0026#34;)\u0026#34; -F document=\u0026#34;@/home/restic/restic/raspberry.txt\u0026#34; Nota: El apartado Enviar notificación a Telegram con el resultado de la copia de seguridad está comentado. Esto es así porque para que funcione primero hay que crear un bot en Telegram, obtener un token, obtener el ID del chat al que quieren enviar el resultado y finalmente adaptar el comando para publicar a Telegram.\nUna vez pegado el código guardan los cambios y cierran el fichero.\nFinalmente damos permisos de ejecución al script que acabamos de generar mediante el siguiente comando:\nrestic@raspberrypi:~/restic $ chmod +x run_backup.sh Programar la ejecución de la copia de seguridad mediante cron Ahora únicamente nos falta usar cron para que el script se ejecute cuando nosotros queramos. El script en mi caso quiero que lo corra el usuario pi. Por lo tanto nos loguearemos con el usuario pi con el siguiente comando:\nrestic@raspberrypi:~/restic $ su pi Contraseña: mi_contraseña A continuación abriremos el archivo crontab del usuario pi ejecutando el siguiente comando:\npi@raspberrypi:/home/restic/restic $ crontab -e Finalmente introduciremos el contenido pertinente para que se ejecute el script para realizar la copia de seguridad todos los sábados a la 1:05 horas.\n# For more information see the manual pages of crontab(5) and cron(8) # # m h dom mon dow command #copia de seguridad Raspberry 5 1 * * 6 bash /home/restic/restic/run_backup.sh\nNota: En mi caso es más que suficiente realizar la copia de seguridad una vez por semana. Si para vosotros no es suficiente podéis modificar el contenido del archivo crontab para adaptarlo a sus necesarias.\nUna vez pegado el código salen del fichero presionando la combinación de teclas CTRL+X. A partir de estos momentos todos los sábados a la 01:05 de la madrugada se realizará una copia de seguridad del contenido de mi Raspberry Pi.\nRESTAURAR COPIA DE SEGURIDAD CON RESTIC Para visualizar y restaurar la copia de seguridad que hemos realizar en Restic deberemos seguir las indicaciones del siguiente enlace:\nhttps://geeklandlinux.github.io/posts/restaurar-copia-de-seguridad-con-restic/\nAdemás en futuros artículos veremos como:\nBorrar completamente un repositorio de Restic. ","permalink":"https://geeklandlinux.github.io/posts/copias-de-seguridad-con-restic-de-forma-automatica/","summary":"\u003cp\u003eEl objetivo del siguiente artículo es mostrar el sistema que uso para realizar mis copias de seguridad. Verán que una vez implementados todos los pasos podrán realizar las copias de seguridad cifradas o en la nube con el software Restic de forma completamente automática y solo tendrán que preocuparse de comprobar que las copias de seguridad puedan restaurarse correctamente.\u003c/p\u003e","title":"Como hacer copias de seguridad cifradas con Restic de forma automática"},{"content":"Nuestro proveedor de Internet, empresas de seguridad y gobiernos tienen varias formas para conocer y registrar las páginas web a las que nos conectamos. Muchos de vosotros pensaréis que usando DNS over HTTPS (DoH) nadie podrá saber las web que visitamos, pero esto no es así. Aunque usemos DoH nuestro proveedor de Internet, empresas de seguridad y otros actores pueden ver las URL que visitamos porque tienen la posibilidad de consultar el Server Name Indication (SNI). Frente a esta problemática en el siguiente artículo vermeos como activar ESNI y DoH para dificultar que un tercero observe o trafíque con nuestro historial de navegación.\n¿POR QUÉ EL SNI REVELA LAS WEB QUE VISITAMOS AUNQUE ESTEMOS USANDO DoH? Cuando introducimos una URL en el navegador que usa el protocolo https y presionamos la tecla enter se produce un intercambio de información entre nuestro navegador y el servidor web que queremos visitar (TLS handshake). El proceso inicial de intercambio de información entre cliente y servidor está sin cifrar e incluye la totalidad de datos necesarios para que entre nuestro navegador y el servidor web se pueda establecer una comunicación cifrada. Estos datos incluyen los tipos de cifrado que soporta nuestro navegador, un número de cliente, el SNI, etc.\nEl SNI que acabamos de citar no es más que la URL que queremos visitar y se envía del cliente al servidor sin cifrar. Por lo tanto nuestro proveedor de Internet, gobiernos y empresas de seguridad tendrán la posibilidad de interceptarlo y saber la web que que estamos visitando.\nPor lo tanto el SNI informa sobre la URL que queremos visitar antes que se finalice el TLS handshake y como está sin cifrar es un claro problema de privacidad y seguridad.\nNota: A día de hoy prácticamente todas las peticiones web incluyen SNI. Esto es así porque el protocolo https está ampliamente implantado y detrás de una misma IP pueden haber centenares de páginas web. Por lo tanto en los primeros instantes de la comunicación entre el cliente el servidor tenemos que indicar el host al que nos queremos conectar, porque como hemos dicho antes detrás de una IP pueden haber centenares de páginas web.\n¿QUÉ HACEN LAS EMPRESAS Y ENTES QUE INTERCEPTAN NUESTRO SNI? Normalmente los ISP, gobiernos o empresas de seguridad contratadas por terceros pueden capturar los SNI para los siguientes fines:\nElaborar historiales de navegación con fines publicitarios o para simplemente venderlos a terceros y ganar dinero. Bloquear el acceso a determinadas páginas web. Los proveedores de Internet (ISP) pueden conocer las web que queremos visitar antes de iniciar la conexión, por lo tanto pueden implementar reglas para bloquear el acceso a todos sus clientes a una determinada página web. Conocer las páginas web visitadas por un usuario para posteriormente enviarlas a una autoridad competente como por ejemplo la policía, un juez, etc. etc. ACTIVAR ESNI PARA CIFRAR EL SNI DURANTE EL PROCESO DE TLS HANDSHAKE La solución al problema que acabamos de detallar es cifrar el SNI. En el momento que enviemos nuestro SNI cifrado (ESNI) evitaremos que gobiernos, compañías de seguridad y operadores de Internet puedan interceptar nuestro tráfico.\nESNI aún está en fase experimental y el único navegador que conozco que lo soporte es Firefox. Por lo tanto a continuación veremos como configurar DoH y ESNI en Firefox.\nNota: Veremos como se activa ESNI en Firefox, pero ESNI solo funcionará si el servidor que nos sirve la página web soporta ESNI. Por lo tanto la solución mostrada no soluciona completamente el problema que acabamos de citar. Para solucionar totalmente el problema deberíamos navegar a través de una VPN o esperar unos años para que ESNI esté presente en la gran mayoría de navegadores y servidores.\nACTIVAR ESNI Y DoH EN FIREFOX El procedimiento para activar ESNI y DoH en Firefox es el que se muestra a continuación.\nEntrar en la configuración avanzada de Firefox Inicialmente tenemos que acceder a la configuración de Firefox. Para ello introducimos la URL about:config y presionamos Enter. Acto seguido tendremos que presionar en el botón Aceptar el riesgo y continuar.\nActivar ESNI \u0026ldquo;Encrypted server name indicator\u0026rdquo; Una vez dentro de la configuración de Firefox buscan el parámetro network.security.esni.enabled y cambian su valor de false a true.\nA partir de estos momentos, si el servidor web al que nos conectamos soporta ESNI y estamos usando DoH evitaremos:\nBloqueos de acceso a determinadas páginas web. Que nos monitorizen y sepan las páginas web que estamos visitando. Activar DoH \u0026ldquo;DNS over HTTPS\u0026rdquo; Activar ESNI es importante, pero de nada sirve de nada si no ciframos nuestras peticiones DNS. Firefox ofrece la posibilidad de cifrar las peticiones DNS mediante varios proveedores. Para ello en la configuración avanzada de Firefox buscamos el parámetro network.trr.mode y lo cambiamos de 0 a 2.\nCon el valor 2, la totalidad de peticiones DNS se realizarán de forma cifrada y solo en el caso que la petición DNS cifrada falle se realizará con los DNS tradicionales. En función del valor que introduzcamos en network.trr.mode obtendremos el siguiente comportamiento:\nValor Detalle de como se resolverán las peticiones DNS 0 Es el valor que aplica la configuración predeterminada de Firefox. La configuración predeterminada actual de Firefox es que DoH esté desactivado. Por lo tanto la opción 0 es equivalente a la opción 5. 1 DoH está activado. Firefox decidirá si las peticiones DNS se realizan cifradas o sin cifrar en función de la velocidad de resolución de las peticiones DNS. 2 DoH está activado. Todas las peticiones DNS estarán cifradas excepto en una situación. En el momento que falle una resolución DNS cifrada entonces se intentará resolver la petición DNS mediante los DNS tradicionales sin cifrar. 3 Aseguramos que el 100% de peticiones DNS que se realicen estén cifradas. 5 Las peticiones se realizarán sin cifrar porque DoH está desactivado. Comprobar que DoH y ESNI están activados Para comprobar que las configuraciones realizadas se han aplicado con éxito sugiero que cliquen en el siguiente enlace. Una vez dentro de la web cliquen sobre el botón Check My Browser.\nActo seguido se realizarán las siguientes comprobaciones:\nQue las peticiones DNS se estén realizando de forma cifrada. Que nuestro navegador esté correctamente configurado para cifrar SNI (ESNI). El navegador que estamos usando soporte TLS 1.3. Que el proveedor que resuelve las peticiones DNS soporte DNSSEC. Si han realizado el proceso de forma correcta verán que los resultados obtenidos son similares a los que se muestran en la siguiente captura de pantalla.\nNota: Aunque nuestro navegador esté correctamente configurado recuerden que si las web que visitan no soportan ESNI existe la posibilidad que alguien esté registrando las páginas web que visitamos.\nCambiar el proveedor de DoH en Firefox Si han seguido las instrucciones del artículo las peticiones DNS cifradas serán resueltas por CloudFlare. Para mi este no supone ningún inconveniente, pero si para vosotros lo es podéis cambiar el proveedor. Para ello en la configuración avanzada de Firefox tienen que buscar el parámetro network.trr.uri. Una vez lo encuentren verán lo siguiente:\nSi quieren reemplazar Cloudflare, por otros proveedor deberán reemplazar https://mozilla.cloudflare-dns.com/dns-query por lo siguientes valores:\nProveedor Dirección URL para seleccionar el proveedor Google https://dns.google/dns-query OpenDNS https://doh.opendns.com/dns-query Quad9 DNS IBM https://dns.quad9.net/dns-query Switch DNS https://dns.switch.ch/dns-query CIRA Canadian Shield DNS https://private.canadianshield.cira.ca/dns-query BlahDNS (IPv4) https://doh-fi.blahdns.com/dns-query \u0026hellip; etc. CONCLUSIONES FINALES A pesar de todas las herramientas existentes hoy en día los gobiernos, las empresas de seguridad y los operadores telefónicos siguen disponiendo de herramientas para monitorearnos y para bloquear el acceso a las páginas web que ellos no consideran apropiadas. No obstante para dificultar su trabajo es bueno usar navegadores como Firefox y activar ESNI y DoH.\nFuentes https://blog.cloudflare.com/es/esni-es/\nhttps://www.eduardocollado.com/2020/09/29/bloqueo-de-webs-aprovechando-sni/\n","permalink":"https://geeklandlinux.github.io/posts/activar-esni-y-doh-en-firefox/","summary":"\u003cp\u003eNuestro proveedor de Internet, empresas de seguridad y gobiernos tienen varias formas para conocer y registrar las páginas web a las que nos conectamos. Muchos de vosotros pensaréis que usando DNS over HTTPS (DoH) nadie podrá saber las web que visitamos, pero esto no es así. Aunque usemos DoH nuestro proveedor de Internet, empresas de seguridad y otros actores pueden ver las URL que visitamos porque tienen la posibilidad de consultar el Server Name Indication (SNI). Frente a esta problemática en el siguiente artículo vermeos como activar ESNI y DoH para dificultar que un tercero observe o trafíque con nuestro historial de navegación.\u003c/p\u003e","title":"Activar ESNI y DoH en Firefox para proteger nuestra privacidad"},{"content":"Existen muchos usuarios que usan uBlock Origin para unicamente bloquear la publicidad. Estos usuarios deberían saber que uBlock Origin tiene otras utilidades aparte de bloquear la publicidad. Por este motivo en el siguiente artículo veremos los usos alternativos que podemos dar al bloqueador de anuncios de uBlock Origin. Si en vuestro caso conocéis otros usos diferentes a los mencionados dejadlos en los comentarios del artículo.\nELIMINAR ELEMENTOS MOLESTOS QUE APARECEN EN LA PANTALLA En ciertas web visualizamos molestos elementos que no aportan nada y desaprovechan los pixeles de nuestro monitor. Un ejemplo de lo que acabo de comentar es el servicio de correo de Outlook.\nPara hacer desaparecer las partes señaladas en color rojo tendremos que clicar encima del icono de uBlock Origin y cuando aparezca el menú clicar encima del botón Entrar al modo selección de elementos.\nA continuación seleccionamos uno de los elementos que queremos que desaparezca.\nFinalmente presionamos encima del botón Crear para que se cree un filtro para eliminar la parte seleccionada cada vez que se abra el correo outlook en nuestro navegador.\nSi vamos repitiendo el proceso en todos y cada uno de los elementos que queremos que no aparezcan en pantalla obtendremos el siguiente resultado:\nSi acceden al panel de control de uBlock origin podrán ver, exportar y eliminar la reglas que acabamos de crear en caso necesario.\nBLOQUEAR EL JAVASCRIPT PARA EVITAR EL RASTREO Y QUE APAREZCAN BANNERS EN PANTALLA Existen páginas web que están infestadas de banners y/o scripts para monitorearnos y saber lo que estamos haciendo en todo momento.\nPara evitar los molestos banners y scripts de seguimiento uBlock Origin nos permite deshabilitar javascript en las web que nosotros queramos. Por lo tanto en el ejemplo que acabamos de ver tan solo tenemos que clicar encima del icono de uBlock Origin y cuando se despliegue el menú cliquen encima del botón de deshabilitar Javascript.\nUna vez deshabilitado recarguen la página y verán que podemos visitar todos y cada uno de los artículos de está web y no aparecerán banners. Además todo script que sea usado para monitorear nuestro comportamiento o contabilizar las visitas dejará de ser efectivo.\nNota: Es posible que deshabilitando Javascript dejen de funcionar ciertos elementos de la página web. No obstante conseguiremos evitar los banners y que los scripts que monitorizan nuestras acciones.\nNota: Accediendo dentro del panel de control se puede deshabilitar Javascript de forma predeterminada en todas las web que visitamos.\nDESACTIVAR UBLOCK ORIGIN PARA PERMITIR LOS ANUNCIOS EN DETERMINADAS PÁGINAS WEB No es mi caso, pero puede ser que algunos de vosotros queráis bloquear la totalidad de anuncios excepto los que aparezcan en una determinada página web. Si este es vuestro caso entrad dentro de la página web en la que no queráis bloquear los anuncios. Acto seguido cliquen sobre el icono de uBlock Origin y cuando aparezca el menú cliquen encima del botón de apagar/encender.\nA partir de estos momentos uBlock Origin funcionará en todos los sitios web excepto para el sitio en que acabamos de desactivarlo.\nNota: En mi caso soy partidario de bloquear los anuncios en el 100% de los sitios web porque los importes percibidos por un webmaster en concepto de publicidad son ridículos y ni de lejos les ayudan a cubrir costes. Los anuncios son una molestia innecesaria y en algunos casos incluso pueden llegar a ser un problema de seguridad. Hoy en día las web para hacer dinero publicitan productos y servicios en sus artículos.\nPERMITIR QUE NO SE FILTRE NUESTRA DIRECCIÓN IP LOCAL WebRTC puede llegar a revelar nuestra IP Local y pública. Frente a este problemática uBlock origin tiene una herramienta para al menos evitar que se filtre nuestra IP local. Para activarla tienen que acceder al panel de control de uBlock Origin.\nDentro de la pestaña configuración del panel de control tienen que activar la opción Impedir que WebRTC divulgue la dirección IP local.\nAl aplicar esta acción puede ser que algún servicio web que use WebRTC deje de funcionar. Si es este el caso tan solo tendrán que desactivar la opción que acabamos de activar. También les recomiendo que dentro del panel de control lean todas y cada una de las opciones presentes en las distintas pestañas para poder configurar uBlock Origin a su gusto.\nAÑADIR LISTAS DE BLOQUEO ADICIONALES A UBLOCK ORIGIN PARA CONSEGUIR OBJETIVOS ESPECÍFICOS En uBlock Origin podemos añadir listas de bloqueo adicionales para conseguir los siguientes propósitos:\nHacer desaparecer las advertencias que las páginas web que visitamos usan cookies. Evitar que las web que visitamos detecten que estamos usando un bloqueador de publicidad. Bloquear más contenidos. Para realizar lo que acabamos de mencionar tenemos que proceder del siguiente modo.\nHacer desaparecer las advertencias de cookies con uBlock Origin Para bloquear los mensajes de advertencia que las web que visitamos usan cookies sigan las instrucciones del siguiente enlace.\nhttps://geeklandlinux.github.io/quitar-las-advertencias-de-cookies-en-las-web-que-visitamos/\nEvitar que las web que visitamos detecten que usamos un bloqueador de anuncios Para evitar que las webs detecten que estamos usando un bloqueador de anuncios podemos bloquear el javascript tal y como vimos en el inicio de este artículo. Otra opción es seguir los pasos indicados en el siguiente enlace.\nhttps://geeklandlinux.github.io/evitar-deteccion-adblock-con-anti-adblock-killer/\nOtra alternativa diferente a la detalladas puede ser la siguiente:\nAlternativa a ser detectado por un bloqueador\nAñadir listas de bloqueo a uBlock Origin uBlock Origin bloqueará prácticamente todos los anuncios, no obstante en caso que sea necesario podemos añadir listas de bloqueo adicionales. Por ejemplo si estamos en China la gran mayoría de anuncios chinos no serán bloqueados. Si queremos bloquearlos tenemos que acceder al panel de control de uBlock Origin.\nUna vez dentro, en la pestaña Lista de filtros encontraremos multitud de listas a las que nos podemos suscribir. En nuestro caso tildamos las 2 listas de bloqueo que hacen referencia al país de China. Una vez tildadas las listas presionan el botón Aplicar cambios.\nA partir de estos momentos, la totalidad de anuncios que provienen de servicios de publicidad Chinos serán bloqueados. Si queréis también se pueden añadir listas externas que no estan presentes en las opciones predeterminadas, pero ya avanzo que en la 99.9% de casos no es necesario. No obstante si quieren consultar algunas listas de terceros que pueden añadir pueden visitar los siguientes enlaces:\nhttps://help.getadblock.com/support/solutions/articles/6000066909-introduction-to-filter-lists\nhttps://filterlists.com/\nNota: No se suscriban a demasiadas listas. Cuantas más listas usemos mayor será el consumo de recursos al navegar. La listas que vienen activadas de serie acostumbran a ser suficiente para la gran mayoría de personas.\nBLOQUEAR ELEMENTOS DE FORMA MANUAL Y GRANULAR uBlock Origin permite bloquear anuncios y cualquier otro elementos que aparecen en la web de forma selectiva. Para ello deberemos proceder del siguiente modo.\nActivar el modo avanzado en uBlock Origin Para activar el modo avanzado cliaremos encima del icono de uBlock Origin. Cuando se despliegue el menú clicaremos encima del botón Abrir panel de control.\nUna vez dentro del panel de configuración tildaremos la opción Soy usuario avanzado que está ubicada en la pestaña Configuración.\nBloquear cualquier elemento de forma manual Una vez activadas las opciones avanzadas ya podemos empezar a bloquear elementos de forma selectiva y manual. Para ello iremos a una de las páginas web en que nos aparece contenido multimedia no deseado. En la siguiente captura de pantalla hay un vídeo que se reproduce de forma automática en el inicio de la web. Además cuando avanzamos en la lectura y desaparece no se soluciona el problema porque continúa viéndose y reproduciendo en la parte lateral derecha.\nPara solucionar esta situación tenemos que averiguar la fuente del vídeo que queremos bloquear. Para ello en mi caso posiciono el puntero del ratón encima del vídeo y presiono el botón derecho del ratón. Haciendo esto veo que el contenido es ofrecido por Brightcove.\nNota: Otra forma de averiguar la fuente es posicionar el puntero del ratón encima del elemento que queremos eliminar y presionar el botón derecho del ratón. Entonces cuando aparezca el menú contextual hay que clicar sobre la opción Inspeccionar elemento\nActo seguido clicaremos encima del icono de uBlock Origin. En la parte izquierda del menú desplegado verán la totalidad de fuentes desde las que la web que visitamos carga el contenido. En nuestro caso buscaremos todas las fuentes que hacen referencia a Brightcove y en la segunda columna tildaremos la opción de color rojo. De esta forma bloquearemos por completo Brightcove en la totalidad de páginas web que visitemos.\nNota: Si solo quisiéramos bloquear Brightcove en la web que visitamos deberíamos activar la opción de color rojo en la tercera columna en vez de la segunda columna.\nPara que los bloqueos que acabamos de aplicar sean permanentes y perduren en el tiempo presionen sobre el candado.\nUna vez finalizado el proceso podemos recargar la página web y verán que ya no aparece vídeo alguno. En lugar del vídeo aparecerá un cuadro de color negro que si quieren podrán eliminar con la opción de eliminar elementos vista en el inicio de este artículo.\nNota: Si quisiéramos bloquear Brightcove en todas las web excepto en la web que estamos visitando entonces deberíamos tildar en rojo la columna 2 y en gris la columna 3\nEsto que acabamos de detallar puede ser útil ya que por ejemplo permite bloquear globalmente los scripts y frames de terceros y en el caso que una web no funcione los podemos activar solo en la web que no funciona.\nSINCRONIZAR NUESTRAS LISTAS DE BLOQUEO ENTRE EQUIPOS A medida de vayamos configurando uBlock Origin se originará una extensa lista de reglas personalizadas. Para que estas reglas y las listas estén presentes en todos y cada unos de nuestros equipos tenemos un par de opciones.\nExportar e importar la configuración de uBlock Origin uBlock Origin permite exportar e importar nuestras opciones de configuración de forma sencilla. Para ello en la pestaña Configuración del panel de control clicamos encima del botón Respaldar archivo\u0026hellip; Acto seguido se procederá a la descarga de un archivo que contendrá la totalidad de nuestra configuración.\nUna vez descargado el archivo se dirigen a otro equipo con el archivo que acaban de descargar. A continuación, en la pestaña Configuración del panel de uBlock Origin presionan el botón Restaurar desde archivo\u0026hellip; y seleccionan el archivo que contiene la configuración que queremos importar. Acto seguido en el nuevo equipo se aplicará la nueva configuración.\nSincronizar la configuración, listas y reglas de bloqueo entre equipos La sincronización de las reglas de bloqueo entre equipos se realizará mediante las cuentas de usuario que tengamos en Firefox y en Chrome. Por lo tanto tenemos que tener en cuenta lo siguiente:\nLas reglas de bloqueo aplicadas en Firefox no se aplicarán en Chrome y viceversa. La sincronización solo se realizará entre 2 equipos que estén logueados a una misma cuenta. Para habilitar la sincronización tan solo tendremos que tildar la opción Habilitar almacenamiento en la nube presente en la pestaña configuración del panel de configuración de uBlock Origin.\nCONCLUSIONES uBlock origin no es una simple extensión que bloquea la publicidad. uBlock Origin permite tener un control total sobre todos y cada uno de los elementos que se cargan y aparecen en una web. Se trata de una herramienta muy potente que nos brinda multitud de posibilidades.\n","permalink":"https://geeklandlinux.github.io/posts/como-usar-ublock-origin-de-forma-avanzada-para-bloquear-contenido-web/","summary":"\u003cp\u003eExisten muchos usuarios que usan uBlock Origin para unicamente bloquear la publicidad. Estos usuarios deberían saber que uBlock Origin tiene otras utilidades aparte de bloquear la publicidad. Por este motivo en el siguiente artículo veremos los usos alternativos que podemos dar al bloqueador de anuncios de uBlock Origin. Si en vuestro caso conocéis otros usos diferentes a los mencionados dejadlos en los comentarios del artículo.\u003c/p\u003e","title":"Como usar uBlock Origin de forma avanzada para bloquear contenido web"},{"content":"A continuación veremos el uso que tiene y como podemos configurar y utilizar la extensión Firefox Multi-Account Containers. Verán que es un extensión extremadamente útil y que además nos ofrece la garantía que ha sido desarrollada por la fundación Mozilla.\nUTILIDAD DE LA EXTENSIÓN FIREFOX MULTI-ACCOUNT CONTAINERS La extensión Firefox multi-account container nos permitirá tener varios navegadores en un solo navegador. Entre otras cosas la extensión nos proporcionará las siguientes funciones y ventajas:\nPermite loguearse y usar varias cuentas de un mismo servicio de forma simultanea en nuestro navegador Firefox. De este modo podremos tener varias cuentas de Gmail abiertas y usarlas de forma simultánea evitando tener que cambiar de cuenta constantemente. Ya no será nunca más necesario tener un navegador para consultar un determinado servicio y otro navegador para consultar el mismo servicio con otra cuenta. Todos los servicios y web que se abran en un contenedor quedarán confinados en el contenedor en el que está abierto. Por lo tanto todas las cookies que se descarguen en un contenedor no estarán disponibles en otros contenedores. Esto es positivo en términos de privacidad ya que en cierto modo podremos evitar los problemas generados por las cookies de terceros. Además si segmentamos nuestras actividades por contenedores las compañías que nos rastrean no podrán obtener un perfil completo de nosotros. Si no usamos contenedores las compañías que recopilan información obtendrán un perfil único sobre nosotros, pero si segmentamos nuestra actividad en por ejemplo 10 contenedores obtendrán 10 perfiles distintos y no podrán asociar que estos 10 perfiles pertenecen a una misma persona. Permite clasificar y organizar las actividades que realizamos en el navegador. Por lo tanto podemos crear un contenedor para realizar las compras, otro para acceder a la totalidad de servicios de Facebook, uno dedicado a labores profesionales, etc. Como ven se trata de una extensión interesante y además puedo decir que está bien implementada y es muy fácil y práctica de usar.\nINSTALAR LA EXTENSIÓN FIREFOX MULTI-ACCOUNT CONTAINERS El procedimiento para instalar la extensión es extremadamente sencillo. Tan solo tenemos que acceder a la siguiente URL:\nhttps://addons.mozilla.org/es/firefox/addon/account-containers/\nUna vez dentro de la URL clicaremos encima del botón Agregar a Firefox.\nFinalmente tendremos que presionar encima del botón Añadir para dar permiso a la instalación de la extensión.\nCOMO CONFIGURAR Y USAR LA EXTENSIÓN FIREFOX MULTI-ACCOUNT CONTAINERS En estos momentos ya podemos empezar a utilizar la extensión. La forma en que podéis empezar a usar la extensión se detalla a continuación.\nCrear un contenedor para abrir las pestañas que consideremos oportunas La extensión tiene 4 contenedores preconfigurados. No obstante en mi caso crearé un nuevo contenedor en el que abriré todos los servicios y webs relacionados con el blog Geekland. Para ello posicionaré el puntero del ratón encima del botón Abrir pestaña. Acto seguido presionaré el botón derecho del ratón y cuando aparezca el menú contextual clicaré encima de la opción Administrar contenedores.\nA continuación clicaremos sobre el botón Añadir nuevo contenedor.\nFinalmente seleccionaremos un nombre, un color y un icono para el contenedor. Una vez lo hayamos definido todo presionamos encima del botón Hecho y se creará el contenedor.\nAbrir una determinada web en el contenedor que acabamos de crear A continuación ya podemos abrir el primera pestaña dentro del contenedor Geekland que acabamos de crear. Para ello posicionaré el puntero del ratón encima del botón Abrir pestaña. Acto seguido presionaré el botón derecho del ratón y cuando aparezca el menú contextual clicaré encima del nombre del contenedor Geekland.\nActo seguido se abrirá una nueva pestaña dentro del contenedor Geekland. Si se fijan la pestaña será coloreada y en la barra de búsqueda se indicará claramente que estamos en el contenedor Geekland. Una vez dentro de la pestaña accedemos a nuestra cuenta de Gmail.\nEn el contenedor Geekland nunca antes hemos accedido a una cuenta de Gmail. Por lo tanto en el momento de acceder a la cuenta de gmail nos tendremos que loguear.\nJusto después de loguearnos podremos ver el contenido de nuestro correo electrónico.\nSi ahora abrimos el servicio Gmail en otro contenedor o fuera de un contenedor veremos que podremos acceder con otra cuenta diferente a la que hemos usado en el contenedor Geekland. En la siguiente captura de pantalla pueden ver que que tengo abiertas 2 cuentas de Gmail de forma simultanea en Firefox.\nHacer que un servicio se abra siempre en un contenedor determinado La extensión Firefox multi-account containers permite abrir el servicio que nosotros queramos dentro del contenedor que nosotros queramos. Por lo tanto si queremos que siempre que accedamos a Gmail se abra la cuenta de correo de mi blog y además lo haga dentro del contenedor Geekland procederé del siguiente modo.\nUna vez tengamos abierta la cuenta de gmail de mi blog dentro del contenedor de Geekland presiono el botón Multi-Account containers. Cuando se despliegue el menú clico en el botón Always Open This Site in\u0026hellip;\nA continuación clico encima del contenedor con el que quiero abrir el servicio de Gmail al que estoy actualmente logueado. En mi caso clico encima del contenedor Geekland.\nA partir de estos momentos si abro una pestaña cualquier y accedo a Gmail veré la siguiente pantalla. Cuando no salga tendremos que tildar la opción Remember my decision for this site y presionar encima del botón Open in Geekland Container.\nActo seguido se abrirá gmail. A partir de ahora siempre que accedamos a gmail se abrirá el contenedor Geekland y estaremos automáticamente logueados a la cuenta de Geekland.\nHacer que cada vez que abramos una pestaña nos pida seleccionar un contenedor Una forma para abrir el contenedor que nosotros queremos es posicionar el puntero del ratón encima del botón Abrir pestaña y presionar el botón derecho del ratón. Acto seguido aparecerá un menú y clicamos encima del contenedor en que queremos abrir la pestaña.\nSi queremos modificar este comportamiento y que cada vez que abramos una pestaña de forma natural nos pida al contenedor que queremos acceder tendremos que hacer lo siguiente.\nActo seguido tildamos la opción Seleccionar un contenedor para cada nueva pestaña.\nA partir de ahora si abrimos una pestaña tal presionando el botón de abrir ventana se desplegará un menú para que seleccionamos el contenedor con el que queremos abrir la nueva pestaña.\nAgrupar las pestañas por contenedores Si tenemos abiertas muchas pestañas y las queremos agrupar por contenedores tan solo tenemos que clicar encime del botón Multi-Account containers y cuando se abra el menú presionar encima de la opción Sort Tabs by Container.\nNota: La extensión tiene otras opciones que no se detallan en el artículo. No obstante no hace falta explicación que que probando la extensión vosotros mismos podréis descubrir la totalidad de funcionalidades.\nCONCLUSIONES SOBRE LA EXTENSIÓN FIREFOX MULTI-ACCOUNT CONTAINERS Como han visto en el artículo Firefox multi-account containers es una extensión realmente útil y que en mi caso le daré una oportunidad. A partir de hoy me forzaré a configurarla y a usarla e intuyo que se quedará en mi navegador.\nQuien no use Firefox y por ejemplo use Google Chrome podrá hacer algo similar mediante los perfiles de Google Chrome o mediante la extensión SessionBox. No obstante ninguna de las 2 opciones mencionadas llegará a ser lo mismo que Firefox multi-account containers.\n","permalink":"https://geeklandlinux.github.io/posts/firefox-multi-account-containers/","summary":"\u003cp\u003eA continuación veremos el uso que tiene y como podemos configurar y utilizar la extensión Firefox Multi-Account Containers. Verán que es un extensión extremadamente útil y que además nos ofrece la garantía que ha sido desarrollada por la fundación Mozilla.\u003c/p\u003e","title":"Firefox Multi-Account containers para mejorar tu experiencia de navegación"},{"content":"En mi caso tengo un Ubuntu Server 20.04 en un VPS con bajos recursos. El VPS tiene 1GB de RAM y resulta que Snap está consumiendo una parte importante de esta RAM. La verdad me parece una mala elección que un sistema operativo con opciones mínimas y destinado a trabajar como servidor venga con Snap activado por defecto. Afortunadamente podemos desinstalar snap siguiendo las instrucciones que verán a continuación.\nLISTAR Y DESINSTALAR LA TOTALIDAD DE PAQUETES SNAP QUE TENEMOS INSTALADOS El primero paso consiste en listar la totalidad de paquetes snap que tenemos instalados. Para ello ejecutaremos el siguiente comando en la terminal:\nubuntu@ubuntu-20-04:~$ snap list Name Version Rev Tracking Publisher Notes core18 20200724 1885 latest/stable canonical✓ base lxd 4.6 17320 latest/stable/… canonical✓ - snapd 2.46.1 9279 latest/stable canonical✓ snapd En mi caso tengo instalados core18, lxd y snapd. Obviamente ninguno de los paquetes instalado me es necesario. Para desinstalarlos hay que ejecutar los siguientes comandos en la terminal:\nubuntu@ubuntu-20-04:~$ sudo snap remove lxd lxd removed ubuntu@ubuntu-20-04:~$ sudo snap remove core18 core18 removed ubuntu@ubuntu-20-04:~$ sudo snap remove snapd snapd removed Nota: Si en vuestro caso os aparecen más paquetes que a mi no hay problema. Desinstaladlos todos porque el objetivo que tenemos es desinstalar completamente snap.\nELIMINAR EL DEMONIO SNAPD DEL SISTEMA OPERATIVO A continuación ya podremos desinstalar el demonio Snapd de nuestro sistema operativo. De este modo la próxima vez que reiniciéis vuestro equipo ya no estaremos malgastando la memoria RAM. El comando a usar para desinstalar snap será el siguiente:\nubuntu@ubuntu-20-04:~$ sudo apt purge snapd Reading package lists... Done Building dependency tree Reading state information... Done The following package was automatically installed and is no longer required: squashfs-tools Use \u0026#39;sudo apt autoremove\u0026#39; to remove it. The following packages will be REMOVED: snapd* 0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. After this operation, 122 MB disk space will be freed. Do you want to continue? [Y/n] (Reading database ... 147160 files and directories currently installed.) Removing snapd (2.46.1+20.04) ... Processing triggers for man-db (2.9.1-1) ... Processing triggers for dbus (1.12.16-2ubuntu2.1) ... Processing triggers for mime-support (3.64ubuntu1) ... (Reading database ... 147076 files and directories currently installed.) Purging configuration files for snapd (2.46.1+20.04) ... Final directory cleanup Discarding preserved snap namespaces Removing extra snap-confine apparmor rules Removing snapd cache Removing snapd state ELIMINAR LA TOTALIDAD DE FICHEROS QUE SNAP ALMACENO EN NUESTRO DISPOSITIVO DE ALMACENAMIENTO Finalmente borraremos la totalidad de información que snap almacenó en nuestro dispositivo de almacenamiento. Para ello ejecutaremos los siguientes comandos en la terminal:\nubuntu@ubuntu-20-04:~$ rm -rf ~/snap ubuntu@ubuntu-20-04:~$ sudo rm -rf /snap ubuntu@ubuntu-20-04:~$ sudo rm -rf /var/snap ubuntu@ubuntu-20-04:~$ sudo rm -rf /var/lib/snapd REINICIAR EL EQUIPO DESPUÉS DE DESINSTALAR SNAP Una vez seguidos todos los pasos tan solo tienen que reiniciar su equipo o servidor. Una vez reiniciado el equipo verán que el consumo de RAM del equipo será sensiblemente menor. Tienen que tener presente que si no usan un programa o un servicio es mejor desinstalarlo ya que en caso contrario estarán consumiendo recursos inútilmente.\n","permalink":"https://geeklandlinux.github.io/posts/desinstalar-snap-en-ubuntu-y-debian/","summary":"\u003cp\u003eEn mi caso tengo un Ubuntu Server 20.04 en un VPS con bajos recursos. El VPS tiene 1GB de RAM y resulta que Snap está consumiendo una parte importante de esta RAM. La verdad me parece una mala elección que un sistema operativo con opciones mínimas y destinado a trabajar como servidor venga con Snap activado por defecto. Afortunadamente podemos desinstalar snap siguiendo las instrucciones que verán a continuación.\u003c/p\u003e","title":"Desinstalar snap por completo en un servidor Ubuntu o Debian"},{"content":"A continuación veremos la forma de usar el buscador de Google respetando un poco más nuestra privacidad. El método que usaremos para conseguir nuestro objetivo es realizar las búsquedas mediante un buscador alternativo llamado Whoogle. Existen otras opciones similares a la que veremos en este artículo. Algunas de ellas son:\nSearX StartPage No obstante nos focalizaremos en Whoogle por los siguientes motivos:\nEs un proyecto pequeño y con un desarrollo reciente. Por lo tanto es interesante darlo a conocer. Al igual que SearX es una opción autoalojada. Por lo tanto somos nosotros quien tendrá el control de nuestras búsquedas. Su configuración es mucho más simple que SearX. Whoogle tiene muchas menos opciones que SearX, pero tiene las opciones que todo el mundo acostumbra a usar. Tiene opciones interesantes relacionadas con la privacidad que verán en el siguiente apartado. Su funcionamiento es muy fluido y su interfaz es similar a la de Google. Por lo tanto la adaptación que tendremos será sencilla. COMO WHOOGLE PRESERVA NUESTRA PRIVACIDAD EN LAS BÚSQUEDAS Whoogle actúa como un servidor proxy. Por lo tanto su funcionamiento se puede resumir de la siguiente forma:\nNosotros realizamos un petición de búsqueda a Whoogle. Una vez recibida la petición Whoogle realiza la búsqueda en el buscador de Google. Google devolverá el resultado de la búsqueda a Whoogle. Una vez Whoogle reciba los resultados de búsqueda de Google aplicará una serie de filtros. Estos filtros consisten en eliminar todos los enlaces patrocinados, suprimir los enlaces AMP, eliminar porciones de las URL que sirven para realizarnos un seguimiento, suprimir las sugerencias de autocompletado, modificar la cabecera de nuestras peticiones para que los sitios que visitamos no sepan de donde venimos, proporcionar enlaces para visitar las web con Javascript deshabilitado, enmascarar nuestro user agent, deshabilitar el javascript de los resultados de búsqueda que google nos acostumbra a proporcionar, etc. Una vez aplicados todos los filtros Whoogle nos mostrará los resultados de la búsqueda. De que no nos protege el buscador Whoogle Como han visto Whoogle realiza multitud de operaciones para preservar nuestra privacidad. No obstante si lo alojamos localmente y somos los únicos que lo usan Google seguirá conociendo nuestra IP y podrá asociar nuestra IP con nuestras búsquedas. Si realmente quieren ocultar la IP y gozar de mayor privacidad deberán autoalojar Whoogle en un servidor externo. Además tienen que tener en cuenta que a mayor número de usuarios más incrementaremos nuestra privacidad. Para mitigar el problema que acabo de mencionar, el desarrollador de la aplicación tiene en mente usar la red Tor para enmascarar la IP del servidor que aloja Whoogle. Para esta última característica podrán encontrar más información en Github.\nINSTALAR WHOOGLE CON DOCKER EN UNA RASPBERRY PI En mi caso uso Whoogle a nivel local en una Raspberry Pi que tengo en mi propio domicilio y para su instalación usé Docker. Si quieren usar Whoogle de la forma que lo estoy haciendo deberán proceder del siguiente modo:\nInstalar Docker Para instalar Docker en su Raspberry Pi deberán seguir las instrucciones que se muestran en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-docker-y-docker-compose-en-linux/\nConstruir la imagen de Whoogle para la arquitectura ARM Una vez instalado Docker iniciaremos la instalación de Whoogle. No existe ninguna imagen de Whoogle para arquitecturas ARM. Por lo tanto la crearemos de la siguiente forma.\nInicialmente descargaremos los archivos necesarios para construir la imagen. Para ello ejecutaremos el siguiente comando en la terminal de nuestra Raspberry Pi:\ngit clone -b feature/docker-updates https://github.com/benbusby/whoogle-search \u0026amp;\u0026amp; cd whoogle-search Dentro del directorio que acabamos de descargar existen varios Dockerfile para construir una imagen. Como en mi caso pretendo construir una imagen para una arquitectura ARM ejecutaré el siguiente comando en la terminal:\ndocker build --tag whoogle-search:1.0 -f Dockerfile.armhf . Después de ejecutar el comando tendrán que esperar unos minutos para que se genere la imagen.\nNota: Para instalar Docker en arquitecturas amd64 es mucho más sencilla ya que su imagen está subida a Dockerhub.\nLevantar e iniciar el contenedor del buscador Una vez generada la imagen ya podemos levantar el contenedor. Para ello tan solo tenemos que ejecutar el siguiente comando en la terminal:\ndocker run --publish 5000:5000 --detach --name whoogle-search whoogle-search:1.0 Una vez levantado el contenedor ya podremos usar Whoogle para realizar nuestras búsquedas con más privacidad.\nOtra opción para levantar el contenedor es mediante docker-compose. Con docker-compose y mediante las variables de entorno podremos por ejemplo añadir una contraseña de autenticación al buscador. De este modo los usuarios solo podrán usar Whoogle si conocen la contraseña que hemos definido. Para definir nuestro docker-compose ejecutaremos el siguiente comando en la terminal:\nnano docker-compose.yml Cuando se abra el editor de textos modificaremos el contenido del fichero para que quede del siguiente modo:\nversion: \u0026#34;3\u0026#34; services: whoogle-search: image: whoogle-search:1.0 container_name: whoogle-search hostname: whoogle-search restart: unless-stopped ports: - \u0026#34;5000:5000\u0026#34; environment: - PUID=1000 - PGID=1000 - TZ=Europe/Madrid - USER=usuario - PASSWORD=contraseña Nota: Deberán modificar las variables de entorno environment para adaptarlas a sus necesidades. Por ejemplo para definir un nombre de usuario y una contraseña.\nUna vez definido el docker-compose tan solo hay que guardar los cambios y cerrar el fichero. Acto seguido levantarán el contenedor ejecutando el siguiente comando:\ndocker-compose up -d Nota: Si lo desean también pueden abrir el servidor al exterior mediante Traefik. De este modo podrán usar de forma sencilla y desde fuera de su red local.\nCOMO USAR Y CONFIGURAR WHOOGLE PARA REALIZAR BÚSQUEDAS Para ver si Whoogle está funcionando de forma apropiada tan solo tienen que abrir el navegador en un equipo de su red local e ingresar una URL del siguiente tipo:\nhttp://ip_servidor_whoogle:5000 Nota: Para averiguar la IP de vuestra Raspberry Pi tendrán que abrir una terminal y ejecutar el comando ifconfig\nUna vez hayan accedido verán lo siguiente. Si quieren acceder a la configuración del buscador cliquen sobre el símbolo +.\nOpciones de configuración que ofrece Whoogle En mi caso las opciones de configuración seleccionadas son las siguientes:\nEl motivo para seleccionar cada una de las opciones es el siguiente:\nDejad el parámetro Filter Results by country con la opción Default (none). Si seleccionáramos un país entonces Whoogle solo nos mostraría resultados de las web que estén alojadas en el país seleccionado. En la segunda seleccionad vuestro idioma principal. De este modo los resultados mostrados por Whoogle se asimilarán a los que obtenéis habitualmente en Google. En la opción Search Language les recomiendo que dejen la opción predeterminada Default (use server location). De este modo obtendremos búsquedas en todos los lenguajes disponibles. Si únicamente queréis obtener resultados en Español entonces seleccionad la opción Español. En la cuarta opción no hace falta introducir ninguna ciudad. Dejadlo en blanco. Al introducir una ciudad los resultados de búsqueda no son coherentes ni se parecen a los resultados de búsqueda que acostumbra a proporcionar Google. La quinta opción nos ofrece la posibilidad que las búsquedas ofrecidas por Whoogle nos muestren una URL para visitar las web deshabilitando Javascript. En mi caso tengo la opción deshabilitada, pero si queréis mejorar vuestra privacidad podéis activar esta opción. Al activar esta opción es posible que algunas web no funcionen de forma correcta. La opción Dark mode permite habilitar un modo oscuro para el buscador. La opción Safe Search es para habilitar o deshabilitar el filtro de búsqueda segura de Google. En mi caso nunca habilito esta opción, pero quien tenga hijos la puede habilitar. Si habilitamos la sexta opción podremos visitar Twitter, Instagram y Youtube mediante servicios webs alternativos y de esta forma evitar el seguimiento de estas compañías. En mi caso no habilito está opción, pero si son más estrictos en la privacidad que yo háganlo. Finalmente les recomiendo que no tilden la opción GET Requests Only. Usando el método predeterminado POST evitaremos que se registren los términos usados para realizar la búsqueda. Una vez finalizada la configuración presionan el botón Apply.\nCONVERTIR WHOOGLE EN NUESTRO MOTOR DE BÚSQUEDA PREDETERMINADO Si les gusta Whoogle lo pueden fijar como buscador predeterminado tanto en su ordenador como en su teléfono. A continuación les mostraré como hacerlo en Firefox y Chrome/Chromium.\nConvertir Whoogle en el motor de búsqueda predeterminado de Firefox Abren Firefox y acceden al buscador Whoogle. Acto seguido clican sobre los 3 puntos de la barra de búsqueda y cuando se despliegue el menú clican sobre la opción Añadir motor de búsqueda.\nA continuación, en la barra direcciones escriben about:preferences#search y presionan la tecla enter. Acto seguido en el apartado de buscador predeterminado seleccionan la opción Whoogle.\nConvertir Whoogle en el motor de búsqueda predeterminado en Chrome o Chromium En la barra de navegación de Google chrome ingresan chrome://settings/searchEngines y presionan Enter. Acto seguido clican sobre el botón Añadir.\nA continuación rellenen los campos pertinentes para agregar el navegador y presionan el botón Añadir.\nNota: Deberán reemplazar la IP 192.168.1.201 por su IP Interna o por su dominio.\nFinalmente buscan el motor que acabamos de agregar. Clican sobre les 3 puntos y cuando se despliegue el menú contextual clican sobre la opción Elegir como predeterminado.\nDe este modo tan sencillo podremos realizar búsquedas con mayor privacidad obteniendo una experiencia similar a la que tendríamos con Google.\nCOMENTARIOS FINALES SOBRE EL BUSCADOR Finalmente estoy usando Whoogle instalado en un servidor VPS. Funciona a la perfección, pero aún le quedan pequeños detalles por pulir. No obstante tengo la impresión que estos pequeños detalles se irán puliendo poco a poco porque el desarrollador se le ve activo y con ganas de mejorar su creación. Solo hay que darle un poco de tiempo para que la experiencia que pueda proporcionar sea similar a Startpage.\nFuentes https://github.com/benbusby/whogle-search\n","permalink":"https://geeklandlinux.github.io/posts/whoogle-para-realizar-busquedas-en-google-con-privacidad/","summary":"\u003cp\u003eA continuación veremos la forma de usar el buscador de Google respetando un poco más nuestra privacidad. El método que usaremos para conseguir nuestro objetivo es realizar las búsquedas mediante un buscador alternativo llamado Whoogle. Existen otras opciones similares a la que veremos en este artículo. Algunas de ellas son:\u003c/p\u003e","title":"Whoogle para realizar búsquedas en google con privacidad"},{"content":"En su día instalamos el servidor VPN Wireguard en un servidor mediante Docker. A continuación veremos como conectarse al servidor VPN Wireguard en el caso que usemos los sistemas operativos Windows, Android y Linux.\nCONECTARSE A UN SERVIDOR VPN WIREGUARD EN WINDOWS, ANDROID Y LINUX El procedimiento para conectarse a un servidor VPN Wireguard es relativamente sencillo. Si han realizado una instalación mediante Docker el procedimiento para conectarse a Wireguard en Windows, Android o Linux es el que se detalla a continuación.\nObtener el fichero de configuración del servidor VPN Wireguard Para conectarnos a nuestro servidor VPN es indispensable saber donde se guardan los archivos de configuración en el servidor donde tengamos instalado Wireguard. En el ejemplo que veremos a continuación la totalidad de configuración se halla en ~/services/wireguard/appdata/config.\nNota: Si el servidor VPN Wireguard se instalo con Docker encontrarán los ficheros de configuración en el volumen de persistencia que hayan configurado. En el caso que hayan realizado una instalación convencional los ficheros de configuración se hallan en la ruta /etc/wireguard/configs\nDentro de las carpetas peerX como por ejemplo peer1 y peer2 se hallan todos los ficheros que necesitamos. Si en nuestro caso accedemos dentro del directorio peer1 veremos lo siguiente:\nDe todos los ficheros que vemos el único que necesitamos es el peer1.conf. El fichero peer1.conf nos ayudará a configurar los clientes VPN de forma completamente automática. Por lo tanto deberán copiar el fichero peer1.conf en cada uno de los equipos que quieran usar para conectarse al servidor VPN Wireguard. Para copiar el fichero pueden usar varios métodos. Por ejemplo en mi caso lo he realizado usando el cliente sftp Filezilla, pero si investigan un poco verán que existe una gran variedad de opciones.\nNota: Si quisiéramos también podríamos descargar el archivo peer1.png. De este modo también podríamos configurar de forma nuestro cliente de forma totalmente automática.\nInstalar y configurar el cliente de escritorio de Wireguard en Windows Lo primero que tenemos que realizar es acceder a la siguiente URL para descargar el cliente de escritorio de Windows:\nhttps://www.wireguard.com/install/#windows-7-8-81-10-2012-2016-2019\nA continuación clican sobre el botón pertinente para descargar el ejecutable de instalación del cliente Wireguard:\nUna vez descargado el ejecutable hacemos doble click sobre él y el proceso de instalación iniciará. El proceso será corto, rápido y automático ya que tan solo tendremos que responder que Sí permitimos la instalación del cliente de Wireguard en nuestro equipo.\nUna vez finalizada la instalación abrimos Wireguard y clicamos sobre el botón Import tunnel(s) from file.\nActo seguido buscamos el fichero de configuración del cliente VPN que obtuvimos en el apartado \u0026ldquo;Obtener el fichero de configuración del servidor VPN Wireguard\u0026rdquo;. Lo seleccionamos y presionamos el botón Abrir.\nDe esta forma tan simple el proceso ha finalizado. Si nos queremos conectar al servidor tan solo tenemos seleccionar el servidor al que nos queremos conectar y presionar encima del botón Activate.\nComo conectarnos al VPN Wireguard en Android El proceso de instalación y configuración de Wireguard en Android es incluso más sencillo que en Windows. Obviamente lo primero que tenemos que realizar es instalar el cliente de Wireguard desde la Google Play Store. Para ello pueden clicar sobre el siguiente link:\nhttps://play.google.com/store/apps/details?id=com.wireguard.android\u0026amp;hl=es\nUna vez dentro de la tienda tan solo tendrán que clicar sobre el botón Instalar.\nA continuación tendremos que acceder al servidor donde instalamos Wireguard vía SSH. Una vez dentro navegamos en la ubicación donde se almacenan los ficheros de configuración que en mi caso y según vimos en el apartado \u0026ldquo;Obtener el fichero de configuración del servidor VPN Wireguard\u0026rdquo; es ~/services/wireguard/appdata/config\nDentro de mis ficheros de configuración se puede ver que tengo 2 clientes creados. El primero se llama peer1 y el segundo se llama peer2.\nPara mostrar el código QR que permitirá la conexión al cliente peer1 tan solo tenemos que ejecutar el siguiente comando en la terminal:\ndocker exec -it wireguard /app/show-peer 1 Una vez ejecutado se mostrará el código QR que nos permitirá configurar de forma automática el cliente VPN de Wireguard en Android. El código QR que verán servirá para configurar el cliente peer1.\nActo seguido abrimos el cliente de Wireguard en Android y presionamos el símbolo +\nA continuación presionamos sobre la opción Scan from QR Code y escaneamos el código QR que nos aparece en la sesión SSH del servidor en que instalamos Wireguard.\nNota: Como ven en la captura de pantalla la aplicación de Android también nos permite conectarnos a través del fichero de configuración. No obstante a mi me parece mucho más práctica la opción del código QR.\nUna vez escaneado el código establecemos un nombre para identificar el servidor VPN y presionamos en el botón Create Tunnel.\nActo seguido ya nos aparecerá la conexión que acabamos de configurar en la pantalla principal de la aplicación. Para conectarse al servidor VPN Wireguard tan solo tenemos que clicar encima del interruptor del servidor al que nos queremos conectar.\nInstalar y configurar el cliente Wireguard en Linux En este caso detallaré el proceso para conectarnos vía terminal. Lo hago vía terminal porque es el procedimiento que uso habitualmente. Además este procedimiento es útil para conectarnos a Wireguard en ocasiones en que no tenemos un entorno gráfico. Por lo tanto podremos usar el siguiente método en una Raspberry Pi o en un servidor VPS.\nPara instalar Wireguard en una distribución Linux que usa el gestor de paquetes apt deberán ejecutar el siguiente comando en la terminal:\nsudo apt install wireguard openresolv Una vez instalados los paquetes pertinentes reinicien su equipo. A continuación tienen que acceder dentro de la ubicación donde han almacenado el fichero de configuración del cliente que obtuvieron en el apartado \u0026ldquo;Obtener el fichero de configuración del servidor VPN Wireguard\u0026rdquo;. En mi caso tengo almacenado el fichero de configuración en la ubicación ~/wgclient:\npi@raspberrypi:~/wgclient $ cd ~/wgclient pi@raspberrypi:~/wgclient $ ls peer1.conf\nActo seguido ejecutaremos el siguiente comando para configurar de forma automática el cliente peer1.\nsudo install -o root -g root -m 600 peer1.conf /etc/wireguard/wg0.conf Una vez configurado el cliente el proceso ha terminado y ya nos podemos conectar a Wireguard desde por ejemplo nuestra Raspberry Pi. Para comprobar que la conexión se realiza de forma correcta pueden comprobar su IP del siguiente modo:\npi@raspberrypi:~/wgclient $ curl ipv4.icanhazip.com 178.70.21.14 Una vez se que mi IP pública es la 178.70.21.14 me conectaré al servidor VPN Wireguard ejecutando el siguiente comando en la terminal:\nsudo systemctl start wg-quick@wg0 Cuando nuestra conexión se haya establecido volveremos a comprobar nuestra IP y el resultado debería ser diferente al que obtuvimos con anterioridad. Por lo tanto si vuelvo a consultar mi IP pública veré que efectivamente es diferente a la que tenía con anterioridad.\npi@raspberrypi:~ curl ipv4.icanhazip.com 120.165.196.56 En el caso que quieran conectarse al servidor VPN Wireguard de forma automática cada vez que inicien su ordenador o servidor tan solo tienen que ejecutar el siguiente comando en la terminal:\nsudo systemctl enable wg-quick@wg0 Si una vez habilitada la conexión automática la quieren deshabilitar tendrán que ejecutar el siguiente comando:\nsudo systemctl disable wg-quick@wg0 En el caso que estemos conectados al servidor VPN Wireguard y queramos desconectarnos deberemos ejecutar el siguiente comando:\nsudo systemctl stop wg-quick@wg0 En el caso que tengan problemas para establecer la conexión pueden usar el siguiente comando para comprobar que el servicio esté levantado:\npi@raspberrypi:~/wgclient $ sudo systemctl status wg-quick@wg0 ● wg-quick@wg0.service - WireGuard via wg-quick(8) for wg0 Loaded: loaded (/lib/systemd/system/wg-quick@.service; enabled; vendor preset: enabled) Active: active (exited) since Sat 2020-09-19 10:10:40 CEST; 34min ago Docs: man:wg-quick(8) man:wg(8) https://www.wireguard.com/ https://www.wireguard.com/quickstart/ https://git.zx2c4.com/wireguard-tools/about/src/man/wg-quick.8 https://git.zx2c4.com/wireguard-tools/about/src/man/wg.8 Main PID: 567 (code=exited, status=0/SUCCESS) Tasks: 0 (limit: 2065) CGroup: /system.slice/system-wg\\x2dquick.slice/wg-quick@wg0.service sep 19 10:10:37 raspberrypi systemd[1]: Starting WireGuard via wg-quick(8) for wg0... sep 19 10:10:39 raspberrypi wg-quick[567]: [#] ip link add wg0 type wireguard sep 19 10:10:39 raspberrypi wg-quick[567]: [#] wg setconf wg0 /dev/fd/63 sep 19 10:10:40 raspberrypi wg-quick[567]: [#] ip -4 address add 10.6.0.1/24 dev wg0 sep 19 10:10:40 raspberrypi wg-quick[567]: [#] ip link set mtu 1420 up dev wg0 sep 19 10:10:40 raspberrypi systemd[1]: Started WireGuard via wg-quick(8) for wg0. Finalmente para comprobar que la conexión se ha realizado con éxito pueden ejecutar el siguiente comando en la terminal:\npi@raspberrypi:~/wgclient $ sudo wg interface: wg0 public key: DnNfupos4vHyir0hLsn6JCxjZjBfqNYosf/RzWt+paTQ= private key: (hidden) listening port: 51821 peer: KFSdj5dP188ty7jH2QR2w2nYOKQFCUnhL9J61PM5LZ8= preshared key: (hidden) allowed ips: 10.6.0.2/32 Si quieren usar una interfaz gráfica para conectarse a Wireguard les recomiendo que visiten los siguientes enlaces:\nhttps://www.atareao.es/podcast/wireguard-en-el-escritorio/\nhttps://elblogdelazaro.gitlab.io/2020-06-08-configurar-wireguard-utilizando-networkmanager/\n","permalink":"https://geeklandlinux.github.io/posts/conectarse-al-vpn-wireguard-en-windows-android-y-linux/","summary":"\u003cp\u003eEn su día instalamos el servidor \u003ca href=\"/posts/instalar-y-configurar-el-servidor-vpn-wireguard-con-docker/\"\u003eVPN Wireguard en un servidor mediante Docker\u003c/a\u003e. A continuación veremos como conectarse al servidor VPN Wireguard en el caso que usemos los sistemas operativos Windows, Android y Linux.\u003c/p\u003e","title":"Conectarse al VPN Wireguard en Windows Android y Linux"},{"content":"En Linux existen muchos formatos de compresión de archivos y esto hace que sea complicado recordar la totalidad de comandos existentes para descomprimir archivos desde la terminal. Para solucionar este problema existen como mínimo un par de soluciones:\nCrear un script que considere todos los formatos de compresión y que nos ayude a descomprimir archivos de forma sencilla y sin tener que recordad los comandos. Hacer uso de la utilidad unar. La utilidad unar nos permitirá descomprimir prácticamente todos los archivos mediante un simple comando en la terminal. A continuación les mostraremos como podemos instalar y usar unar para descomprimir archivos desde la terminal.\nFORMATOS DE ARCHIVO COMPATIBLES CON UNAR Unar es capaz de descomprimir multitud de formatos de archivo comprimido. Concretamente podrá descomprimir cualquier archivo que tenga la siguiente extensión:\nzip RAR 7z tar gzip bzip2 LZMA XZ CAB MSI NSIS EXE ISO BIN ARJ ARC PAK ACE ZOO LZH ADF etc. COMO DESCOMPRIMIR ARCHIVOS DESDE LA TERMINAL CON UNAR Obviamente lo primero que tenemos que realizar es instalar el paquete unar. Para ello en distribuciones que usen el gestor de paquetes apt deberemos ejecutar el siguiente comando:\nsudo apt install unar Una vez instalado el programa tan solo tendrán que ejecutar un comando del siguiente tipo:\nunar [opciones descompresión] [nombre del archivo a descomprimir] A priori las opciones de descompresión por defecto funcionan, por lo tanto a la práctica lo único que tendremos que realizar es ejecutar el comando unar seguido del nombre del fichero a descomprimir. Por lo tanto si en mi caso quiero descomprimir un conjunto de paquetes .rar cuyo primer volumen tiene el nombre Doctor Zhivago.part1.rar ejecutaré el siguiente comando en la terminal:\nunar \u0026#34;Doctor Zhivago.part1.rar\u0026#34; Y el resultado obtenido será el siguiente:\nPor lo tanto escribiendo el comando unar seguido del nombre del archivo a descomprimir podremos descomprimir prácticamente todos los formatos de archivo comprimido existentes.\nSi quieren profundizar más sobre las opciones para descomprimir archivos con unar pueden ejecutar el siguiente comando en la terminal:\nman unar ","permalink":"https://geeklandlinux.github.io/posts/descomprimir-archivos-en-la-terminal-de-forma-sencilla-con-unar/","summary":"\u003cp\u003eEn Linux existen muchos formatos de compresión de archivos y esto hace que sea complicado recordar la totalidad de comandos existentes para descomprimir archivos desde la terminal. Para solucionar este problema existen como mínimo un par de soluciones:\u003c/p\u003e","title":"Descomprimir archivos en la terminal de forma sencilla con Unar"},{"content":"Si bien es cierto que el uso del editor de texto VIM no es intuitivo, también es verdad que dedicándole unas pocas horas podemos aprender su funcionamiento básico y darnos cuenta de su increíble utilidad y productividad. Por este motivo a continuación les mostraré como instalar y configurar VIM de forma básica para que podáis empezar a usarlo de forma más cómoda.\nINSTALAR Y CONFIGURAR VIM Para instalar y configurar VIM en una distribución que use el gestor de paquetes apt tan solo tienen que ejecutar el siguiente comando en la terminal:\nsudo apt install vim git curl Una vez instalado verán que VIM tiene el siguiente aspecto:\nPara tener un aspecto más agradable y poder usarlo de forma más productiva les recomiendo que sigan leyendo el artículo.\nINSTALAR EL GESTOR DE PLUGINS VIM-PLUG Para facilitar la instalación y gestión de plugins podemos usar el gestor de plugins vim-plug. Para instalar vim-plug tan solo hay que ejecutar el siguiente comando en la terminal:\ncurl -fLo ~/.vim/autoload/plug.vim --create-dirs \\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim Una vez finalizada la instalación ya podremos instalar plugins en nuestro editor de textos VIM. Conforme al comando usado para instalar Vim-plug, la totalidad de plugins instalados se almacenarán en la ubicación ~/.vim/autoload/\nUna vez tengamos el gestor de plugins instalado pasaremos a ver como instalar plugins y como configurar el editor de textos VIM.\nNota: Los plugins aportarán funcionalidades adicionales a VIM. Hay miles de plugins disponibles para incrementar las funcionalidades de VIM.\nCONFIGURAR EL EDITOR DE CÓDIGO VIM Una vez finalizada la instalación de VIM y del gestor de plugins editaremos el archivo de configuración de VIM. El fichero de configuración de VIM lo ubicaremos dentro de nuestro partición /home en un archivo oculto llamado .vimrc. Para ello ejecutaremos el siguiente comando en la terminal:\nnano ~/.vimrc Una vez se habrá el editor de textos nano pegaremos el siguiente código que es el que definirá la configuración y comportamiento de VIM.\nset number set numberwidth=1 set mouse=r set clipboard=unnamed set showcmd set ruler set encoding=utf-8 set showmatch set sw=2 set relativenumber syntax enable set tabstop=2 set autoindent set laststatus=2 set bg=dark call plug#begin(\u0026#39;~/.vim/plugged\u0026#39;) \u0026#34; Temas Plug \u0026#39;morhetz/gruvbox\u0026#39; \u0026#34; IDE Plug \u0026#39;easymotion/vim-easymotion\u0026#39; Plug \u0026#39;scrooloose/nerdtree\u0026#39; Plug \u0026#39;christoomey/vim-tmux-navigator\u0026#39; call plug#end() colorscheme gruvbox let g:gruvbox_contrast_dark = \u0026#34;hard\u0026#34; let NERDTreeQuitOnOpen=1 let mapleader=\u0026#34; \u0026#34; nmap \u0026lt;Leader\u0026gt;s \u0026lt;Plug\u0026gt;(easymotion-s2) nmap \u0026lt;Leader\u0026gt;nt :NERDTreeFind\u0026lt;CR\u0026gt; Una vez pegada la configuración guardan los cambios y cierran el fichero. A continuación abren VIM y veremos que ya se habrán aplicado gran parte de las configuraciones presentes en el archivo de configuración. En el ejemplo que estamos viendo únicamente faltará instalar los plugins y el tema Gruvbox.\nNota: La configuración vista en este apartado solo se aplicará a nuestro usuario. Si queremos que la configuración se aplique a todos los usuarios debemos introducir la configuración en el fichero /etc/vim/vimrc\nSignificado de cada uno de los parámetros introducidos en el fichero de configuración de VIM El significado de todas y cada una de las líneas del fichero de configuración es el siguiente:\nCódigo configuración Acción que realiza el código set number En el lateral izquierdo de nuestro monitor se mostrarán los número de línea. set numberwidth=1 Determinar la distancia entre el cursor y el número que indica la línea en que estamos. set mouse=r Permite interactuar con el ratón dentro de VIM. Por ejemplo sin esta línea no podríamos usar el ratón para cortar y pegar contenido. set clipboard=unnamed Para que el contenido que copiamos quede dentro del clipboard del sistema operativo. Si no introducimos esta opción no podremos copiar y pegar texto. set showcmd Para que en la parte inferior de la pantalla se muestren los comandos que estamos ejecutando. set ruler Para que VIM muestre el número de línea y columna en que tenemos posicionado el cursor. set encoding=utf-8 Configurar que el formato de codificación de nuestros caracteres sea utf-8. set showmatch En el momento que nos posicionamiento sobre un paréntesis que abra o cierra se resaltará el siguiente paréntesis que que cierra o abra el primero. set sw=2 Cada vez que pulsemos la tecla tab para tabular el código se realizarán 2 espacios. set relativenumber Los números de línea se muestran de forma relativa. Si ubicamos el cursor en la línea 10 veremos que la línea anterior a 10 es la 1 y la posterior a 10 también es la uno. syntax enable Para habilitar la sintaxis dentro de VIM. De este modo nuestro código se resaltará en color para que sea más fácil de entender. set tabstop=2 Cada vez que presionamos la tecla tab para tabular el código se realizarán 2 espacios. set autoindent Si aplicamos una tabulación escribimos código y saltamos de línea presionando Intro, VIM nos mantendrá la tabulación definida en la línea anterior. set laststatus=2 Para que la línea de estatus de VIM siempre sea visible. set bg=dark Para definir que el esquema de color del tema gruvbox que usaremos sea el oscuro. Más adelante veremos como instalar el tema Gruvbox. call plug#begin('~/.vim/plugged') Para indicar la ubicación donde queremos que se instalen los plugins. En mi caso los instalo en ~/.vim/plugged. Plug 'morhetz/gruvbox' Para instalar el tema gruvbox mediante el gestor de paquetes vim-plug. Por este motivo escribimos Plug más el nombre de usuario de github/nombre del repositorio de github donde se ubica el plugin. Por lo tanto el texto a introducir es morhetz/gruvbox. Plug 'easymotion/vim-easymotion' Para instalar el plugin easymotion. Plug 'scrooloose/nerdtree' Para posteriormente instalar el plugin nerdtree. Plug 'christoomey/vim-tmux-navigator' Instalación del plugin vim-tmux-navigator. call plug#end() Para cerrar el apartado de instalación de plugins. colorscheme gruvbox Para indicar que queremos el esquema de color del tema gruvbox. let g:gruvbox_contrast_dark = \u0026quot;hard\u0026quot; El esquema de color del tema gruvbox tendrá un contraste alto. let NERDTreeQuitOnOpen=1 En el momento de abrir un archivo con Nerdtree, Nerdtree se cerrará de forma automática. let mapleader=\u0026quot; \u0026quot; Definimos que la tecla espacio sea la primera tecla que tengamos que pulsar para ejecutar los plugins. nmap \u0026lt;Leader\u0026gt;s \u0026lt;Plug\u0026gt;(easymotion-s2) Establecemos que la combinación de teclas para usar el plugin easymotion sea Espacio+s nmap \u0026lt;Leader\u0026gt;nt :NERDTreeFind\u0026lt;CR\u0026gt; Nerdtree se ejecuta presionando la combinación de teclas Espacio+nt INSTALAR LOS PLUGINS Y LOS TEMAS DEFINIDOS EN EL ARCHIVO DE CONFIGURACIÓN En el archivo de configuración hemos introducido el código necesario para:\nUsar el tema Gruvbox. Usar los plugin Easymotion, Nerdtree y Vim-tmux-navigator. Pero a estas altura aun no podemos ver el nuevo tema ni usar los plugins que acabamos de mencionar. El motivo es que aun no están instalados. Para instalarlos tenemos que Abrir VIM. Una vez abierto ejecutamos el comando :PlugInstall\nA continuación se procederá a la instalación de todos los temas y los plugins.\nAhora cerramos VIM y lo volvemos abrir. Acto seguido podremos empezar a editar código y verán que la experiencia será completamente diferente a la anterior.\nNota: Antes de sacar partido a VIM es indispensable dedicar unas 4 o 5 horas para conocer los atajos de teclado, tener una idea clara del flujo de funcionamiento y ver como funcionan los plugin que hayamos instalado.\nUtilidad de los plugins que hemos instalado Como han visto en apartados anteriores en mi caso he instalado 3 plugins. Hay miles de ellos y tan solo tienen que buscar los que más les convengan. La funcionalidad de los plugin que he instalado en mi caso es la siguiente:\nEasymotion: Mediante la combinación de teclas Espacio+S podemos mover el cursor de la posición actual a donde queramos de forma rápida y cómoda. Con este plugin podremos mejorar enormemente nuestra productividad.\nNerdTree: Para ver nuestro sistema de archivos en forma de árbol y de este modo realizar operaciones como por ejemplo abrir, mover, copiar, borrar archivos sin tener que salir de VIM.\nvim-tmux-navigator: Para navegar entre los archivos que estamos editando de forma cómoda usando únicamente el teclado. En otras palabras podremos abrir más de un archivo de forma simultanea y pasar de un archivo a otro mediante atajos de teclado.\nGestionar los plugins instalados con Vim-Plug Vim-Plug permite gestionar nuestros plugin de forma sencilla mediante comandos. Usando los siguientes comandos podremos realizar las siguientes acciones:\nComandos Descripción :PlugInstall Instalar todos los plugins definidos en el archivo de configuración. :PlugUpdate Actualizar los plugins que tenemos instalados. Si al finalizar la actualización presionamos la tecla D veremos una descripción detallada informando sobre las modificaciones realizadas en los plugins actualizados. :PlugClean Para borrar de nuestro disco duro los plugins que hayamos borrado de nuestro archivo de configuración. :PlugUpgrade Actualizar el gestor de plugins Vim-Plug. :PlugStatus Para listar los plugins instalados y conocer su estatus. :PlugDiff Listar los cambios realizados en una actualización reciente de plugins. :PlugSnapshot ~/.vim/plug.snapshot Generar un script en ~/.vim/plug.snapshot para restaurar el estado actual de los plugins en caso que tengamos que restaurar el equipo. Para restaurar el estado de los plugins tan solo tendrán que ejecutar el comando vim -S ~/.vim/plug.snapshot Si quieren más información de como gestionar los plugin les recomiendo que visiten en siguiente enlace.\nDONDE ENCONTRAR MÁS PLUGIN Y OPCIONES DE CONFIGURACIÓN DE VIM Vim ofrece una gran variedad de opciones de configuración y de plugins para adaptarlo a nuestras necesidades y para facilitar nuestro trabajo. Si quieren profundizar en las opciones que ofrece pueden visitar los siguientes enlaces.\nhttps://www.shortcutfoo.com/blog/top-50-vim-configuration-options/\nhttp://vimdoc.sourceforge.net/htmldoc/options.html\nhttps://catonmat.net/vim-plugins\nhttps://code.tutsplus.com/series/vim-essential-plugins\u0026ndash;net-19224\nOtra opción que tenéis disponible es usar el comando :options dentro del editor de código VIM. Allí podréis encontrar infinidad de parámetros para introducir en su fichero de configuración. De está forma tan simple y rápido podemos instalar y configurar VIM en cualquier distribución Linux.\nY si finalmente quieren conocer los atajos de teclado y comandos para usar VIM como un experto les recomiendo leer el siguiente artículo.\nhttps://geeklandlinux.github.io/posts/atajos-de-teclado-y-comandos-para-usar-vim-eficientemente/\n","permalink":"https://geeklandlinux.github.io/posts/instalar-y-configurar-vim/","summary":"\u003cp\u003eSi bien es cierto que el uso del editor de texto VIM no es intuitivo, también es verdad que dedicándole unas pocas horas podemos aprender su funcionamiento básico y darnos cuenta de su increíble utilidad y productividad. Por este motivo a continuación les mostraré como instalar y configurar VIM de forma básica para que podáis empezar a usarlo de forma más cómoda.\u003c/p\u003e","title":"Instalar y configurar VIM para usuarios que se inician en VIM"},{"content":"En todas y cada una de las nuevas web que visitamos recibimos notificaciones en pantalla informando que usan cookies. Además en algunas web nos preguntan explícitamente si las aceptamos o no. Por este motivo en el siguiente artículo veremos como podemos quitar las advertencias de cookies en las web que visitamos.\n¿POR QUÉ LAS WEBS NOS INFORMAN SOBRE EL USO DE COOKIES? En Europa según las leyes RGPD, LOPD y LSSI todos los propietarios de una página web que use cookies están obligados a informar a sus visitantes de:\nQué están usando cookies. La utilidad de las cookies que instalan a los equipos de terceros. Quien tendrá acceso a la información de las cookies instaladas. El tiempo que dichas cookies estarán activas. Preguntar explícitamente a los lectores si aceptan el uso e instalación de las cookies. Nota: Todas las páginas web contienen cookies y además la gran mayoría de ellas no cumplen con las obligaciones citadas. Los motivos en la gran mayoría de veces es por falta de conocimiento de los webmaster.\nSi entienden bien que son las cookies y como funcionan podrán llegar a comprender el motivo de dichas obligaciones.\n¿SIRVEN PARA ALGO LAS MEDIDAS TOMADAS POR LA UNIÓN EUROPEA? Cada vez que visitamos una web y vemos la molesta advertencia que la página web usa cookies la gente reacciona de la siguiente forma:\nLa ignoran. Su cerebro tiene la habilidad de omitir la información que no le interesa. Hoy en día la gente tiene prisa. El tiempo es oro y por lo tanto aceptan las advertencias sin perder un solo segundo y empiezan la lectura de lo que realmente les interesa. Solo un tanto por ciento muy reducido de usuarios lee y configura las preferencias de las cookies. Por lo tanto a rasgos generales las medidas tomadas por la unión Europea son totalmente inútiles. Simplemente sirven para molestar a los lectores.\nSi realmente quieren hacer algo útil deberían actuar directamente sobre los navegadores que utilizamos. Deberían implementar herramientas para que los usuarios puedan gestionar las cookies de forma trivial en el navegador.\nLos navegadores de forma nativa deberían tener herramientas para que cualquier usuario pueda configurar y programar el borrado de cookies de forma trivial. Por ejemplo:\nUn botón que cuando lo presiones borre todas las cookies. Un botón que cuando lo presiones te permita programar la frecuencia con que borrarán las cookies de forma automática. Etc. FRECUENCIA CON QUE TENEMOS QUE BORRAR LAS COOKIES En términos de privacidad lo ideal seria borrar las cookies cada vez que cerremos el navegador.\nNo obstante hay que ser consciente que si estamos constantemente borrando las cookies tendremos otros inconvenientes como por ejemplo los siguientes:\nTendremos que loguearnos a nuestros servicios cada vez que queramos acceder a ellos. Para mitigar este inconveniente tenemos los gestores de contraseñas. Cada vez que entremos en una página web veremos los molestos mensajes de aceptar las cookies. Para solucionar este inconveniente podemos usar extensiones en el navegador como por ejemplo I don’t care about cookies. De esta forma podremos quitar todas las advertencias de cookies. Las preferencias de navegación en determinadas páginas web se perderán. Esto puede ocasionar que la experiencia de navegación en un determinado sitio web sea peor. Etc. Por lo tanto en mi caso lo que hago es lo siguiente:\nA nivel de navegador configuro que se deben bloquear la totalidad de cookies de terceros. Aproximadamente una vez al mes, o cuando me acuerdo, borro las cookies almacenadas en mi navegador. Nota: En futuros artículos veremos como podemos configurar nuestro navegador para gestionar las cookies de forma adecuada.\nQUITAR LAS ADVERTENCIAS DE COOKIES CON LA EXTENSIÓN UBLOCK ORIGIN O ADBKLOCK PLUS Obviamente lo primero que tienen que tener instalado es un bloqueador de anuncios en su navegador. Pueden usar tanto uBlock Origin como Adblock Plus. En mi caso les recomiendo el uso de uBlock Origin. Para instalar uBlock Origin en Firefox o en Chrome deberán seguir las siguientes instrucciones:\nhttps://geeklandlinux.github.io/posts/instalar-ublock-origin-chrome-firefox/\nUna vez instalada la extensión acceden a la siguiente página web.\nURL para obtener la lista de bloqueos en nuestro adblocker\nA continuación en el apartado de Adblock Plus cliquen sobre la opción Add to Adblock Plus.\nActo seguido les aparecerá un mensaje informando que se va añadir una lista de bloqueo en uBlock Origin. Presionan Aceptar y al finalizar la instalación el proceso habrá concluido.\nSi quieren asegurarse que todo funciona correctamente pueden consultar las lista de bloqueo de uBlock origin y verán que efectivamente ahora tenemos una lista de bloqueo llamada I don’t care about cookies.\nAdemás verán que cuando visiten una página web ya no recibirán las molestas advertencias que recibían con anterioridad.\nQUITAR LAS ADVERTENCIAS DE COOKIES CON LA EXTENSION I DON’T CARE ABOUT COOKIES Otra opción menos eficiente, pero más efectiva que la que acabamos de ver es instalar la extensión I don’t care about cookies.\nPara ello si están usando Chrome o Chromium cliquen en la siguiente URL:\nAcceder a la web para instalar I don\u0026rsquo;t care about cookies en Chrome\nActo seguido tan solo tendrán que presionar sobre el botón Añadir a Chrome.\nY seguidamente confirmar la instalación presionando sobre el botón Añadir extensión.\nEn el caso que sean usuarios de Firefox deberán acceder a la siguiente URL:\nAcceder a la web para Instalar I don\u0026rsquo;t care about cookies en Firefox\nUna vez dentro de la URL correspondiente instalan la extensión. En Firefox el proceso es tan simple como presionar el botón Agregar a Firefox.\nActo seguido tendremos que confirmar la instalación de la extensión presionando sobre el botón Añadir.\nUna vez instalada la extensión desaparecerán las advertencias que las web que visitamos están usando cookies. A pesar de esto no se olviden de ir borrando periódicamente las cookies de su navegador.\n","permalink":"https://geeklandlinux.github.io/posts/quitar-las-advertencias-de-cookies-en-las-web-que-visitamos/","summary":"\u003cp\u003eEn todas y cada una de las nuevas web que visitamos recibimos notificaciones en pantalla informando que usan cookies. Además en algunas web nos preguntan explícitamente si las aceptamos o no. Por este motivo en el siguiente artículo veremos como podemos quitar las advertencias de cookies en las web que visitamos.\u003c/p\u003e","title":"Quitar las advertencias de cookies en las web que visitamos"},{"content":"A continuación veremos como podemos vincular un canal de Telegram con un grupo. Esto sin duda proporciona una serie de beneficios tanto para los lectores como para los propietarios de los canales y grupos. Algunos de los beneficios que obtendrán ambas partes son los siguientes:\nLos lectores de un canal tendrán la oportunidad de interactuar y comentar sobre el contenido publicado en el canal. Los propietarios del canal tendrán la oportunidad de hacer crecer su grupo de Telegram. Esto es así porque a través del canal se podrán sumar nuevos usuarios al grupo de forma fácil. Los propietarios podrán usar el canal como un medio de comunicación para el grupo. De esta forma los comunicados se podrán hacer de forma más organizada. Para vincular un canal con un grupo deberán proceder del siguiente modo.\nVINCULAR UN CANAL CON UN GRUPO EN TELEGRAM Para vincular un canal con un grupo obviamente necesitamos disponer de un canal y en grupo. En mi caso dispongo del siguiente canal y del siguiente grupo:\nA continuación entramos dentro de nuestro canal. En la parte superior derecha clicamos sobre los 3 puntos en disposición vertical y cuando se despliegue el menú clicamos en la opción Gestionar canal.\nActo seguido, en el apartado de conversación clicamos sobre la opción Añadir un grupo.\nSeguidamente seleccionamos el grupo de conversación para nuestro canal. Para seleccionarlo tan solo tenemos que clicar sobre el grupo en cuestión.\nYa para finalizar tan solo tendremos que clicar sobre la opción Vincular Grupo.\nY también sobre el botón de Guardar.\n¿CÓMO SE PUEDE ACCEDER AL GRUPO DE CONVERSACIÓN? Una vez finalizada la vinculación tenéis que tener en cuenta los siguiente aspectos:\nTodo contenido que se publique en el canal de Telegram también se publicará de forma automática en el grupo. Además, en el grupo de conversación siempre se anclará el último mensaje publicado en el canal. Cuando un usuario entre en nuestro Canal, en la parte inferior derecha verá un botón que pone conversar. Si el lector del canal quiere preguntar o conversar sobre el contenido del canal tan solo tiene que clicar sobre el botón de conversar y accederá dentro del grupo de conversación. Dentro del grupo de conversación verá las mismas publicaciones que en el canal, pero además podrá conversar e interactuar con el resto de integrantes del grupo. ","permalink":"https://geeklandlinux.github.io/posts/vincular-un-canal-con-un-grupo-en-telegram/","summary":"\u003cp\u003eA continuación veremos como podemos vincular un canal de Telegram con un grupo. Esto sin duda proporciona una serie de beneficios tanto para los lectores como para los propietarios de los canales y grupos. Algunos de los beneficios que obtendrán ambas partes son los siguientes:\u003c/p\u003e","title":"Vincular un canal con un grupo en Telegram para interactuar con lectores"},{"content":"En Linux se menciona frecuentemente que el código fuente de los programas está disponible para que todo el mundo pueda estudiarlo, auditarlo y compilar sus propios programas. Pero la realidad es que la gran mayoría de usuarios, entre los que me incluyo, se limita a trabajar con los paquetes binarios. Por este motivo a continuación explicaré de forma breve un par de métodos para que los usuarios de Debian y de distribuciones basadas en Debian puedan obtener el código fuente de la mayoría de programas presentes en los repositorios.\nOBTENER EL CÓDIGO FUENTE DE LOS PROGRAMAS A TRAVÉS DE PACKAGES.DEBIAN.ORG Una solución muy sencilla para obtener el código fuente de un programa es visitar la siguiente web:\nhttps://www.debian.org/distrib/packages\nUna vez en ella buscan el programa del cual quieren obtener el código fuente. En mi caso buscare el software neovim.\nUna vez estén dentro de la URL para descargar el paquete binario de neovim tienen que mirar en la parte derecha de su pantalla y clicar en el enlace que contiene las palabras orig.tar.gz.\nActo seguido se descargará el código fuente de neovim y lo podremos consultar y compilar sin ningún tipo de restricción.\nOBTENER EL CÓDIGO FUENTE DE LOS PROGRAMAS A TRAVÉS DEL GESTOR DE PAQUETES APT El gestor de paquetes apt también permite obtener el código fuente de nuestros programas de forma extremadamente sencilla. Para ello tendremos que asegurar que las fuentes de nuestros repositorios tengan las entradas pertinentes para poder descargar el código fuente.\nComprobar que los repositorios de nuestro distro tienen la configuración necesaria Para consultar las fuentes de nuestros repositorios tan solo tenemos que ejecutar el siguiente comando en la terminal:\nnano /etc/apt/sources.list Acto seguido podrán ver las fuentes de sus repositorios:\n## Debian Testing deb http://ftp.de.debian.org/debian/ testing main contrib non-free deb-src http://ftp.de.debian.org/debian/ testing main contrib non-free ## Actualizaciones de seguridad deb http://security.debian.org/ testing-security main contrib non-free deb-src http://security.debian.org/ testing-security main contrib non-free ##Multimedia testing ## aptitude install debian-multimedia-keyring deb http://www.deb-multimedia.org/ testing main non-free deb-src http://www.deb-multimedia.org/ testing main non-free Si os fijáis las partes de color azul hacen referencia a las entradas para descargar el código fuente porque contienen el texto src. Por lo tanto en mi caso tengo todo lo necesario para descargar el código fuente de cualquiera de los paquetes presente en los repositorios de Debian. En caso que no dispongan de las entradas pertinentes las deberán añadir o descomentar en el caso que estén comentadas. En este caso no les servirá copiar y pegar mis entradas ya que las entradas dependen de la distribución que usen.\nDescargar el código fuente de un programa mediante apt Una vez estemos seguros que podemos descargar el código fuente tan solo tendremos que ejecutar un comando del siguiente tipo:\napt source nombre_del paquete Por lo tanto para obtener el código fuente de neovim tan solo tendré que usar el siguiente comando:\napt source neovim El resultado obtenido en mi caso es el siguiente:\njoan@debian:~$ apt source neovim Leyendo lista de paquetes... Hecho NOTA: el empaquetamiento de «neovim» se mantiene en el sistema de control de versiones «Git» en: https://salsa.debian.org/vim-team/neovim.git Utilice: git clone https://salsa.debian.org/vim-team/neovim.git para obtener las últimas actualizaciones (posiblemente no publicadas aún) del paquete. Se necesita descargar 9.576 kB de archivos fuente. Des:1 http://ftp.de.debian.org/debian testing/main neovim 0.4.4-1 (dsc) [2.850 B] Des:2 http://ftp.de.debian.org/debian testing/main neovim 0.4.4-1 (tar) [9.558 kB] Des:3 http://ftp.de.debian.org/debian testing/main neovim 0.4.4-1 (diff) [14,6 kB] Descargados 9.576 kB en 2s (3.855 kB/s) dpkg-source: información: extrayendo neovim en neovim-0.4.4 dpkg-source: información: desempaquetando neovim_0.4.4.orig.tar.gz dpkg-source: información: desempaquetando neovim_0.4.4-1.debian.tar.xz Si consultamos el contenido descargado veremos que efectivamente se trata del código fuente de neovim.\n","permalink":"https://geeklandlinux.github.io/posts/obtener-el-codigo-fuente-de-los-programas-en-debian-y-derivadas/","summary":"\u003cp\u003eEn Linux se menciona frecuentemente que el código fuente de los programas está disponible para que todo el mundo pueda estudiarlo, auditarlo y compilar sus propios programas. Pero la realidad es que la gran mayoría de usuarios, entre los que me incluyo, se limita a trabajar con los paquetes binarios. Por este motivo a continuación explicaré de forma breve un par de métodos para que los usuarios de Debian y de distribuciones basadas en Debian puedan obtener el código fuente de la mayoría de programas presentes en los repositorios.\u003c/p\u003e","title":"Obtener el código fuente de los programas en Debian y derivadas"},{"content":"Existen varias herramientas con las que podemos monitorizar el rendimiento y saber que está pasando en nuestros contenedores Docker. Algunas de estas herramientas son Ctop, Glances y ciertos comandos que trae incorporado el mismo Docker. La primera de las opciones que analizaremos y veremos como funciona es Ctop.\nMONITORIZAR EL RENDIMIENTO DE NUESTROS CONTENEDORES CON CTOP Ctop es un monitor de recursos que nos permitirá monitorizar el rendimiento de nuestros contenedores. Algunas de las opciones que proporciona ctop son las siguientes:\nVer el consumo de memoria y CPU por contenedor (CPU y MEM). Datos que se han leído y escrito en disco (IO R/W). Registrar el consumo de ancho de banda de cada uno de los contenedores (NET RX/TX). Arrancar, parar y eliminar contenedores. Acceder directamente dentro de un contenedor para manipularlo y ejecutar comandos dentro de él. Consultar los logs generados por el contenedor. El resultado mostrado será equivalente al ejecutar el comando docker logs. Instrucciones para instalar Ctop en su equipo Para instalar y ejecutar el monitor Ctop en un dispositivo con arquitectura ARM tan solo tienen que ejecutar los siguientes comandos:\ndocker pull jinnlynn/ctop:latest docker run --rm -it --name ctop --volume /var/run/docker.sock:/var/run/docker.sock:ro jinnlynn/ctop Si usan otras arquitecturas, como por ejemplo amd64, deberán ejecutar el siguiente comando:\ndocker run --rm -it --name ctop \\ --volume /var/run/docker.sock:/var/run/docker.sock:ro \\ quay.io/vektorlab/ctop:latest Una vez ejecutado el comando se iniciará Ctop de forma completamente automática y verán lo siguiente:\nInstrucciones a seguir para monitorizar el rendimiento de nuestros contenedores Con el cursor nos posicionamos sobre el contenedor que nos interesa y presionamos Enter. Acto seguido aparecerán una serie de opciones. Seleccionan la que más les interese que en mi caso es monitorizar únicamente el contenedor seleccionado. Por lo tanto selecciono la opción Single view y presiono Enter.\nNota: Las otras opciones disponibles son ver el log del contenedor, parar, pausar y reiniciar el contenedor y acceder dentro del contenedor.\nEl resultado obtenido es el siguiente:\nSi quieren ir atrás y volver a la pantalla principal tan solo tienen que presionar la tecla q.\nPor lo tanto mediante el uso de los cursores y la tecla Enter podrán realizar todas las acciones mencionadas en el inicio de este apartado. Asimismo pueden usar una serie de atajos de teclado que les ayudarán a obtener la información que buscan de una forma mucho más rápida. Los atajos de teclado son los siguientes:\nAtajos de teclado Acción o Para monitorizar únicamente el contenedor que hayamos seleccionado. l Mostrar los logs de un determinado contenedor. e Acceder dentro de un contenedor. q Ir para atrás o cerrar Ctop. ENTER Acceder al menú de Ctop. a Para mostrar en pantalla únicamente los contenedores que están corriendo. f Para filtrar / buscar contenedores por su nombre. Para deshabilitar el filtro aplicado deben presionar la tecla ESC. H o Mays+h Para mostrar/ocultar la cabecera que apare en la parte superior de la terminal. h Ayuda que muestra los atajos de teclado. s Para ordenar los contenedores por uso de CPU, por consumo de memoria, por nombre, por número de proceso, por consumo de ancho de banda, etc. r Para invertir el orden actual en que aparecen los contenedores. Nota: Para ejecutar Ctop de forma habitual les recomiendo que creen un alias porque el comando para ejecutar ctop en Docker es extremadamente largo.\nAhora que hemos terminado con Ctop pasaremos a ver las opciones que nos ofrece Glances.\nMONITORIZAR EL RENDIMIENTO DE NUESTROS CONTENEDORES CON GLANCES Glances no es más que otro monitor de recursos, pero con diferencias importantes respecto a Ctop. La información está presentada de una forma mucho más atractiva, pero al contrario que Ctop, Glances no permite interactuar con los contenedores. Con Glances tan solo podremos ver datos estadísticos y de funcionamiento de cada uno de los contenedores.\nInstalación del monitor de recursos Glances Glances se encuentra en los repositorios de la mayoría de distribuciones. Por lo tanto, para instalarlo en mi caso solo he tenido que ejecutar el siguiente comando en la terminal:\nsudo apt install glances Si lo prefieren también lo pueden instalar mediante docker ejecutando el siguiente comando en la terminal:\ndocker run -d -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host -p 61208:61208 -e GLANCES_OPT=\u0026#34;-w\u0026#34; jdreinhardt/glances:latest Nota: Si instalan Glances en Docker tengan en cuenta que Glances estará monitorizando nuestro equipo de forma permanente. Si quieren parar la monitorización tienen que parar el contenedor.\nIniciar el monitor de recursos Glances y datos que nos mostrará Si han instalado Glances mediante repositorios tan solo tenéis que ejecutar el comando glances en la terminal para que se abra el monitor de recursos. Si lo habéis realizado a través de Docker tendréis que abrir un navegador y acceder a la siguiente URL:\nhttp://IP_servidor:61208 Una vez iniciado el software veremos que nos proporcionará datos interesantes sobre los contenedores de Docker que tenemos levantados y están funcionando. Un ejemplo del contenido mostrado por Glances es el siguiente:\nSi observan la captura de pantalla verán datos útiles de los contenedores presentados de forma clara y atractiva. Algunos de los datos que podrán ver son:\nContenedores que tenemos levantados y el % de CPU que está consumiendo cada contenedor. La cantidad total de memoria que está usando un contenedor y saber la cantidad total de memoria que un contenedor está autorizado a usar. La cantidad de memoria que está consumiendo cada uno de los contenedores. Cantidad total de datos leídos y escritos por cada uno de los contenedores. Datos recibidos y enviados por parte de cada uno de los contenedores que tenemos levantados. Detalle de las redes que tenemos levantadas y el tráfico de entrada y salida que se genera en cada una de las redes. Otra de las opciones disponibles para obtener información sobre el funcionamiento de nuestros contenedores es consultar los logs de Docker de la siguiente forma.\nANALIZAR QUE PASA EN LOS CONTENEDORES DOCKER MEDIANTE LOS LOGS Mediante los logs podemos obtener información importante sobre el funcionamiento de cada uno de los contenedores. Para consultar los logs deberán proceder del siguiente modo.\nConsultar los logs del contenedor con Docker logs y obtener detalles de lo que está ocurriendo en nuestros contenedores Disponemos de logs en todos y cada uno de los contenedores que tenemos instalados y corriendo en nuestro equipo. Los logs nos permitirán obtener la siguiente información:\nDetectar errores en el caso que un contenedor no se levante o no funcione como es de esperar. Confirmar que el funcionamiento del contenedor es correcto y no se producen errores. Observar si en un determinado momento se realizo la operación que se tenia que realizar. Para poder consultar los logs de un contenedor determinado tan solo tienen que ejecutar un comando del siguiente tipo:\ndocker logs -f \u0026#39;nombre o identificador del contenedor\u0026#39; Por lo tanto para ver los logs del contenedor de DuckDNS ejecutaré el siguiente comando en la terminal:\ndocker logs -f duckdns\nEn mi caso los resultados obtenidos al ejecutar el comando han sido los siguientes:\n------------------------------------- GID/UID ------------------------------------- User uid: 1000 User gid: 1000 ------------------------------------- [cont-init.d] 10-adduser: exited 0. [cont-init.d] 40-config: executing... Retrieving subdomain and token from the environment variables log will be output to file Your IP was updated at Sat Aug 1 09:49:41 CEST 2020 [cont-init.d] 40-config: exited 0. [cont-init.d] 99-custom-files: executing... [custom-init] no custom files found exiting... [cont-init.d] 99-custom-files: exited 0. [cont-init.d] done. [services.d] starting services [services.d] done. Si leemos el contenido de los logs y tenemos paciencia podremos ver detalles interesantes sobre el funcionamiento del contenedor. Por ejemplo en el caso de DuckDNS podemos ver que el día 1 de Agosto a las 09:49:41 se asocio una nueva IP a mi dominio.\nNota: Es altamente recomendable consultar los logs del contenedor la primera vez que lo arrancamos. De esta forma podremos asegurar que funciona de forma correcta.\nPodemos añadir opciones adicionales al comando que acabamos de aplicar. De este modo podremos filtrar los resultados mostrados en pantalla y encontrar la información que buscamos de forma más fácil y más rápida. Las opciones adicionales que pueden añadir son:\nOpciones Función --since Mostrar los logs desde una fecha determinada. --until Mostrar los logs hasta una fecha determinada. -f Monitorizar el log de forma continua. --tail Indicar el número de líneas que queremos mostrar del log. -t Para mostrar el día y la hora en que se ha registrado el log. --details Ver información adicional sobre un log. A modo de ejemplo si queremos ver las últimas 5 líneas del log del contenedor Jellyfin ejecutaré el siguiente comando en la terminal:\ndocker logs --tail 5 jellyfin Si pretendemos ver todos los logs generados entre el 13/08/2020 a las 00:01 hasta el 14/08/2020 a las 00:01 podemos ejecutar el siguiente comando:\ndocker logs --since 2020-08-13T00:00:01 --until 2020-08-14T00:00:01 jellyfin Para consultar los logs generados durante los últimos 10 minutos en Jellyfin usaré el siguiente comando:\ndocker logs --since 10m jellyfin Consultar los logs generados por el propio servicio Docker El propio servicio de Docker estará registrando logs sobre su funcionamiento. Por lo tanto si Docker no funciona tal y como esperamos les recomiendo que ejecuten los siguientes comandos:\njournalctl -u docker.service | less less /var/log/messages | grep docker /var/log/messages\nUna vez ejecutados los comandos deberán analizar cuidadosamente los resultados para intentar detectar donde está realmente el problema.\nSi quieren obtener más información de como consultar los logs de un container les recomiendo que consulten el siguiente enlace:\nhttps://docs.docker.com/config/containers/logging/\nEntrar dentro del contenedor y mirar manualmente los logs. Otra opción que pueden considerar es entrar directamente en el contenedor que quieren monitorizar. Una vez dentro del contenedor pueden consultar los logs o usar un monitor de recursos como por ejemplo top para saber lo que está sucediendo. Para acceder dentro del contenedor que estamos usando lo podemos hacer mediante Ctop o mediante la ejecución de un comando del siguiente tipo:\ndocker exec -it nombre_contenedor bash Nota: Deberéis reemplazar nombre_contenedor por el nombre del contenedor al que quieren acceder.\nSi el comando anterior no les funciona es posible que sea porque no dispone de la shell de bash. En tal caso es posible que use la shell sh. Por lo tanto deberán ejecutar el siguiente comando:\ndocker exec -it nombre_contenedor sh Una vez dentro del contenedor ya podrán consultar los logs o usar un monitor de recursos de la misma forma que lo harían en su sistema operativo habitual. Para finalizar el artículo veremos una serie de comandos que también podemos usar para monitorizar el rendimiento de nuestros contenedores.\nCOMANDOS A USAR PARA MONITORIZAR EL RENDIMIENTO NUESTROS CONTENEDORES Docker dispone de una serie de comandos para que podamos saber en todo momento lo que sucede en nuestro contenedores. Algunos de estos comandos son los siguiente:\nDocker stats Docker info Docker events A continuación veremos en detalle cada uno de ellos.\nMonitorizar el rendimiento de nuestros contenedores con docker stats El comando docker stats mostrará datos de funcionamiento en tiempo real de los contenedores que tenemos levantados y funcionando. Por lo tanto si abrimos una terminal y ejecutamos el comando:\ndocker stats Obtendremos un resultado similar el siguiente:\nLos datos que se muestran son los siguientes:\nNúmero de contenedores que están corriendo. Consumo de CPU de cada uno de los contenedores. (CPU %) Memoria que están consumiendo cada uno de los contenedores. (MEM USAGE / LIMIT) Cantidad de datos que el contenedor ha recibido y enviado a través de la red. (NET I/O) Cantidad de datos que un contenedor a leído y escrito en disco. (BLOCK IO) Número de proceso del contenedor. (PIDS) Si solo quisieran obtener información de un contenedor en concreto, como por ejempo traefik, tan solo tendrían que añadir el nombre del contenedor al comando anterior. Por lo tanto ejecutaríamos:\ndocker stats traefik Si queremos que los resultados no se vayan refrescando periódicamente y solo pretendemos obtener una foto del estado del contenedor en el momento de ejecutar el comando tendremos que añadir la opción --no-stream. Por lo tanto ejecutaríamos el siguiente comando:\ndocker stats --no-stream traefik Docker stats también nos permite modificar la forma en que se muestran los resultados. Por ejemplo si solo queremos que se muestre el nombre de los contenedores y su consumo de CPU sin ninguna cabecera y separando los resultados mostrados por : ejecutaremos el siguiente comando en la terminal:\ndocker stats --format \u0026#34;{{.Name}}: {{.CPUPerc}}\u0026#34; Si ahora queremos mostrar el mismo resultado, pero que salga correctamente tabulado por columnas ejecutaremos el siguiente comando:\ndocker stats --format \u0026#34;{{.Name}}:\\t {{.CPUPerc}}\u0026#34; Si además queremos que se muestren las cabeceras para saber que es exactamente cada uno de los resultados mostrados ejecutaremos el siguiente comando:\ndocker stats --format \u0026#34;table {{.Name}}:\\t {{.CPUPerc}}\u0026#34; Para finalizar solo comentar que el el formato stándard que aplica docker stats es \u0026quot;table {{.ID}}\\t{{.Name}}\\t{{.CPUPerc}}\\t{{.MemUsage}}\\t{{.MemPerc}}\\t{{.NetIO}}\\t{{.BlockIO}}\\t{{.PIDs}}\u0026quot;. Por lo tanto si ejecutamos el siguiente comando veremos exactamente lo mismo que si ejecutáramos el comando docker stats.\ndocker stats --format \u0026#34;table {{.ID}}\\t{{.Name}}\\t{{.CPUPerc}}\\t{{.MemUsage}}\\t{{.MemPerc}}\\t{{.NetIO}}\\t{{.BlockIO}}\\t{{.PIDs}}\u0026#34; Obtener información de nuestros contenedores con Docker events Para ver monitorizar los eventos de todo lo que pasa en Docker podemos ejecutar el siguiente comando en la terminal:\ndocker events Una vez ejecutado el comando, la terminal quedará bloqueada a la espera de mostrar eventos relacionados con nuestros contenedores. A modo de ejemplo en el momento de parar un contenedor se mostrará del siguiente resultado:\nLa totalidad de eventos que podremos registrar los encontraréis en el siguiente enlace. A continuación muestro un breve resumen de los eventos más importantes que podemos registrar:\nCreación o eliminación de un contenedor. La creación o eliminación de una red. Todo tipo de operaciones realizadas con plugins. La actualización de una imagen. Etc. Información aportada por el comando Docker info Para finalizar con el artículos veremos el comando docker info. Si abren una terminal y ejecutan el siguiente comando:\ndocker info Obtendremos información genérica sobre Docker. Algunos de los datos que podrán obtener son los siguientes:\nNúmero de imágenes y contenedores que tenemos en nuestro servidor. Contenedores que están levantados y que por lo tanto estamos usando. Datos e información sobre el sistema operativo en que tenemos instalados los contenedores. El directorio raíz de Docker. Etc. Si conocen algún otro método útil para que saber lo que está ocurriendo y obtener información de los contenedores les ruego que los citen en los comentarios del artículo.\nFuentes\nhttps://thorsten-hans.com/docker-container-metrics-ctop\nhttps://docs.docker.com/engine/reference/commandline/stats/\nhttps://docs.docker.com/config/containers/logging/\nhttps://docs.docker.com/engine/reference/commandline/events/\n","permalink":"https://geeklandlinux.github.io/posts/monitorizar-el-rendimiento-de-contenedores-docker/","summary":"\u003cp\u003eExisten varias herramientas con las que podemos monitorizar el rendimiento y saber que está pasando en nuestros contenedores Docker. Algunas de estas herramientas son Ctop, Glances y ciertos comandos que trae incorporado el mismo Docker. La primera de las opciones que analizaremos y veremos como funciona es Ctop.\u003c/p\u003e","title":"Monitorizar el rendimiento de contenedores Docker con Ctop, Glances y los logs"},{"content":"A continuación veremos como de forma sencilla podemos montar nuestro propio Wetransfer con Jirafeau y compartir archivos con nuestros contactos. Jirafeau es un software muy ligero que podremos instalar en cualquier servidor Linux y nos permitirá compartir ficheros e información con nuestros contactos. Para el funcionamiento de Jirafeau tan solo necesitaremos PHP y un servidor web ultraligero como Lighttpd. Por lo tanto será un servicio extremadamente liviano, rápido y además fácil de usar.\nCARACTERÍSTICAS DEL SOFTWARE PARA COMPARTIR ARCHIVOS JIRAFEAU Con tan solo un par de clics Jirafeau nos permitirá compartir archivos con nuestros contactos de forma similar a como lo hace Wetransfer. Jirafeau nos ofrecerá las siguientes funcionalidades y nos permitirá realizar las siguientes acciones:\nSubir archivos de tamaño ilimitado. Si queremos enviar un archivo de 10GB lo podremos hacer sin problema. En el caso que lo consideremos oportuno podremos limitar el tamaño de subida. Configurar que la información compartida con nuestros contactos se auto-destruya después de la primera descarga. También podemos definir que los links de compartición caduquen después de un determinado tiempo. Una vez subida la información Jirafeau nos proporcionará varios links. Ofrecerá un link de descarga directa, otro que nos llevará a la página de descarga, un tercer link para previsualizar el contenido en caso que sea posible y una URL que nos permitirá eliminar el enlace de descarga. Por ejemplo desde Jirafeuau podremos previsualizar archivos de imagen, de vídeo o audio. Establecer una contraseña de descarga. De este modo solo podrá descargar la información quien tenga el link de descarga y además conozca una contraseña que definiremos en el momento de subir el contenido. Establecer una contraseña para subir contenido. De este modo solo podrán usar el servicio las personas que sepan una contraseña que nosotros mismos podemos establecer en el fichero de configuración de Jirafeau. Detectar archivos duplicados que se comparten con nuestros contactos. Si un día subimos un fichero y al cabo de una semana volvemos a subir el mismo fichero no se duplicará el contenido almacenado en nuestro servidor. Si se da el caso que acabo de citar tendremos un fichero almacenado en nuestro servidor y 2 links de descarga para descargar el mismo contenido. Dispondremos de un panel de administración para ver y gestionar la totalidad de contenido que estamos compartiendo. Desde el panel de control podremos gestionar diversos aspectos del contenido compartido. Por ejemplo desactivar los enlaces de compartición, borrar el contenido que estamos compartiendo, descargar el contenido, etc. Mediante Cron podemos realizar un mantenimiento periódico y automático de Jirafeau. Jirafeau dispone de scripts que mediante la ayuda de Cron permitirán eliminar contenidos que no tienen links de descarga activos en nuestro servidor. Dispone de una API para por ejemplo automatizar la compartición y descarga de contenido mediante scripts en bash. Permite cifrar el contenido almacenado en la nube. PREPARACIÓN PREVIA PARA LA INSTALACIÓN DE JIRAFEAU En nuestro caso instalaremos la versión oficial de Jirafeau mediante Docker y haremos uso del proxy inverso Traefik. Para ello antes de iniciar la instalación de Jirafeau deberemos aplicar los siguientes pasos en nuestro servidor Linux.\nInstalar Docker y Docker-Compose Para instalar Docker y Docker-Compose les recomiendo que sigan las instrucciones que les dejo en el siguiente enlace:\nhttps://geeklandlinux.github.io/instalar-docker-y-docker-compose-en-linux/\nAbrir los puertos 80 y 443 en el firewall del servidor y en el router Tenemos que abrir los puertos 80 y 443 en nuestro router y en el servidor que contendrá los ficheros a compartir. Para abrir los puertos en nuestro servidor lo haremos usando ufw. Para ello ejecutaremos el siguiente comando para instalar ufw.\nsudo apt install ufw Una vez instalado el servicio lo habilitaremos mediante el siguiente comando:\nsudo ufw enable Para iniciar el firewall ejecutaremos el siguiente comando en la terminal:\nsudo service ufw start Finalmente abriremos los puertos 80 y 443 del firewall ejecutando los siguientes comandos en la terminal:\nsudo ufw allow http sudo ufw allow https En el caso que estén detrás de un Router recuerden que también tienen que abrir los puertos 80 y 443 en el router. Además las peticiones entrantes a los puertos 80 y 443 se deberán redirigir a la IP del equipo en que instalaremos Jirafeau y almacenará los archivos a compartir. No se detalla el procedimiento porque varia en función del modelo de Router que tengáis.\nInstalar y configurar el proxy inverso Traefik Precisaremos disponer de un dominio y de un proxy inverso para poder instalar y usar Jirafeau de forma segura. Para conseguir lo que acabo de mencionar deben seguir las instrucciones que encontrarán en el siguiente enlace:\nhttps://geeklandlinux.github.io/instalar-y-configurar-el-proxy-inverso-traefik-en-docker/\nUna vez finalizado el proceso de configuración tendremos instalado y configurado Traefik. Además dispondremos de un dominio que en mi caso es:\nservergeekland.duckdns.org INSTALAR Y CONFIGURAR EL SOFTWARE PARA COMPARTIR ARCHIVOS JIRAFEAU En Docker Hub encontrarán varias imágenes de Jirafeau, pero únicamente para la arquitectura amd64. En mi caso quiero instalar Jirafeau en una Raspberry Pi, por lo tanto lo que haremos es construir nuestra propia imagen del siguiente modo.\nDefinir y configurar las ubicaciones en que montaremos los volúmenes de persistencia Inicialmente crearemos y configuraremos los directorios en que montaremos los volúmenes de persistencia. El proceso para crear volúmenes de persistencia no es fácil porque el Dockerfile no está hecho como debería y no hay ningún tipo de documentación. No obstante es importante tener los volúmenes de persistencia por los siguientes motivos:\nPodremos realizar copias de seguridad de forma mucho más sencilla. La actualización a nuevas versiones de Jirafeau será mucho más sencilla ya que podremos actualizar el programa sin perder información. En mi caso quiero crear un volumen de persistencia para acceder a la información que estamos compartiendo. Este volumen de persistencia lo ubicaré en la siguiente ruta:\n/media/hd/services/jirafeau/data El segundo volumen de persistencia corresponderá al fichero para definir la configuración de Jirafeau. Para ello en mi caso dentro de la ubicación /media/hd/services/jirafeau/ crearé el fichero config.local.php ejecutando el siguiente comando a la terminal:\ntouch /media/hd/services/jirafeau/config.local.php Finalmente el directorio /media/hd/services/jirafeau/data y el fichero /media/hd/services/jirafeau/config.local.php tienen que pertenecer al usuario y al grupo www-data. Por lo tanto en mi caso ejecutaré los siguientes comandos:\nsudo chown 82:82 -R /media/hd/services/jirafeau/data sudo chown 82:82 /media/hd/services/jirafeau/config.local.php Crear la imagen de Jirafeau para compartir archivos con nuestros contactos A continuación descargaremos todo lo necesario para construir nuestra imagen ejecutando el siguiente comando en la terminal:\ngit clone https://gitlab.com/mojo42/Jirafeau.git Seguidamente accederemos dentro del directorio que acabamos de descargar mediante el siguiente comando:\ncd Jirafeau Finalmente ejecutaremos el siguiente comando para crear la imagen:\ndocker build -t mojo42/jirafeau:latest . Una vez ejecutado el comando tendremos la imagen creada en nuestro equipo. La imagen se habrá realizado mediante el Dockerfile oficial del desarrollador de Jirafeau.\nLevantar el contenedor de Jirafeau En estos momentos ya podemos levantar el contenedor de Jirafeau. Para levantar el contenedor procederemos del siguiente modo. Inicialmente ejecutaremos el siguiente comando:\nnano docker-compose.yml Una vez se abra el editor de textos pegaremos el siguiente código:\nversion: \u0026#39;3\u0026#39; services: jirafeau: image: mojo42/jirafeau container_name: jirafeau restart: unless-stopped ports: - \u0026#34;8000:80\u0026#34; volumes: - /media/hd/services/jirafeau/config.local.php:/www/lib/config.local.php - /media/hd/services/jirafeau/data:/var/lib/jirafeau/data networks: - web labels: - traefik.backend=jirafeau - traefik.frontend.rule=Host:jirafeau.servergeekland.duckdns.org - traefik.docker.network=web - traefik.port=80 - traefik.enable=true networks: web: external: true Si han seguido al pie de la letra las instrucciones de este tutorial tan solo tendrán que modificar las partes de color azul del docker-compose:\n/media/hd/services/jirafeau/: Sustituir esta ruta por la que vosotros hayáis definido para ubicar el archivo de configuración de Jirafeau. /media/hd/services/jirafeau/data: Reemplazar la ruta del ejemplo por la ruta en que hayáis decidido ubicar los datos que los clientes compartirán mediante el software Jirafeau. jirafeau.servergeekland.duckdns.org: Tan solo tenemos que escribir jirafeau. seguido del nombre de dominio que tengáis en vuestro caso. Una vez listo el docker-compose guardamos los cambios y cerramos el fichero. Para crear y levantar el contenedor tan solo tendremos que ejecutar el siguiente comando:\ndocker-compose up -d Una vez ejecutado el comando se creará y levantará el contenedor. Por lo tanto a partir de estos momentos ya podemos usar Jirafeau.\nINICIAR EL SOFTWARE PARA COMPARTIR ARCHIVOS JIRAFEAU Y APLICAR LA CONFIGURACIÓN INICIAL BÁSICA Abrimos nuestro navegador e ingresamos el dominio que definimos para acceder a nuestro servicio. Una vez hayan accedido dentro de Jirafeau tendrán que definir una contraseña segura para poder acceder al panel de administración de Jirafeau. Una vez definida presionen al botón Siguiente paso.\nEn el paso número 2 tienen que definir el dominio y la ubicación dentro del contenedor en que se guardarán los datos que los usuarios quieran compartir. Respecto el dominio aseguren que empieza por https. En cuanto al directorio de datos tiene que usar /var/lib/jirafeau/data porque así lo definimos en el momento de crear los volúmenes de persistencia. Una vez hayan cumplimentado correctamente todos los campos presionen sobre el botón Siguiente paso.\nFinalmente nos saldrá la siguiente pantalla en que simplemente se nos confirmará que se ha realizado la configuración con éxito.\nCONFIGURAR JIRAFEAU Y ADAPTARLO A NUESTRAS NECESIDADES En estos momentos Jirafeau está configurado y es plenamente funcional. No obstante recomiendo acceder a su archivo de configuración para adaptarlo más a nuestras necesidades. Para ello tan solo tienen que ejecutar el siguiente comando:\nsudo nano /media/hd/services/jirafeau/config.local.php Una vez se abra el editor de texto podrán realizar las siguientes acciones modificando el archivo de configuración.\nCambiar el tema de Jirafeau Existen varios temas para personalizar Jirafeau. Más concretamente existentes los siguientes:\ncourgette dark-courgette elegantish industrial jyraphe modern Para cambiar el tema predeterminado tan solo tienen que buscar la siguiente línea en el fichero de configuración:\n\u0026#39;style\u0026#39; =\u0026gt; \u0026#39;courgette\u0026#39;, Una vez la hayamos encontrado reemplazamos courgette por el nombre del tema que queramos aplicar. Por lo tanto para aplicar el tema dark-courgette la línea quedará del siguiente modo:\n\u0026#39;style\u0026#39; =\u0026gt; \u0026#39;dark-courgette\u0026#39;, Si guardamos los cambios y accedemos de nuevo a Jirafeau veremos que el nuevo tema ya se ha aplicado.\nHacer que únicamente usuarios autorizados puedan compartir archivos Por defecto todo el mundo que acceda a Jirafeau podrá subir y compartir archivos. Si queremos que tan solo los usuarios autorizados puedan compartir información tendremos que localizar lass siguientes líneas en el fichero de configuración:\ndel siguiente modo:\n\u0026#39;upload_password\u0026#39; =\u0026gt; array ( ), Una vez halladas, dentro de los paréntesis escribiremos la contraseña que todo usuario deberá introducir para poder usar el servicio de compartición de archivos. En mi caso he introducido la contraseña contrasena del siguiente modo:\n\u0026#39;upload_password\u0026#39; =\u0026gt; array ( \u0026#39;contrasena\u0026#39; ), Si guardamos los cambios en el archivo de configuración, la próxima vez que accedamos a Jirafeau tendremos que introducir una contraseña para poder compartir nuestros archivos.\nNota: La contraseña estará definida en texto plano. Si lo precisamos podemos usar herramientas como htpasswd para ocultar la contraseña.\nTambién podemos definir una IP o una lista de IP desde las cuales se pueda usar Jirafeau y compartir archivos sin tener que introducir ninguna contraseña. Para ello deberán localizar y modificar las siguientes líneas:\n\u0026#39;upload_ip_nopassword\u0026#39; =\u0026gt; array ( ), Configurar el tiempo de validez de los links De forma predetermina los links generados tendrán una validez de un mes. Si queremos modificar este parámetro tendremos que localizar la siguiente línea en el fichero de configuración:\n\u0026#39;availability_default\u0026#39; =\u0026gt; \u0026#39;month\u0026#39;, Una vez encontrada tendréis que reemplazar month por el período de tiempo que consideren oportuno. Los valores que podéis introducir son los siguientes:\nminute hour day week quarter year none En mi caso quiero que los links solo sean válidos durante una semana. Por lo tanto tendremos que modificar el parámetro month por week:\n\u0026#39;availability_default\u0026#39; =\u0026gt; \u0026#39;week\u0026#39;, Una vez realizadas las modificaciones guardamos los cambios y cerramos el fichero. Si en el momento de subir el archivo no modifican la opción de duración de los links entonces solo serán válidos una semana.\nAñadir más opciones de tiempo para definir la validez de los links que sirven para compartir archivos En el momento que queramos subir un fichero podemos definir el período de validez de los links que se crearán para compartir el contenido. Las opciones por defecto son las siguientes:\nSi quieren que aparezcan más opciones tendrán que localizar el siguiente código en el fichero de configuración.\narray ( \u0026#39;minute\u0026#39; =\u0026gt; true, \u0026#39;hour\u0026#39; =\u0026gt; true, \u0026#39;day\u0026#39; =\u0026gt; true, \u0026#39;week\u0026#39; =\u0026gt; true, \u0026#39;month\u0026#39; =\u0026gt; true, \u0026#39;quarter\u0026#39; =\u0026gt; false, \u0026#39;year\u0026#39; =\u0026gt; false, \u0026#39;none\u0026#39; =\u0026gt; false, ), Una vez hallado modificando los valores de true y false podrán añadir o quitar las opciones de límite de tiempo que quieren que aparezcan en el menú desplegable.\nRestringir el tamaño de subida máximo Si habéis seguido las instrucciones del artículo no hay ningún tipo de límite de subida. Si queremos incluso podemos compartir archivos de 40GB. En el caso que queramos establecer un límite tendremos que hallar la siguiente línea en el fichero de configuración:\n\u0026#39;maximal_upload_size\u0026#39; =\u0026gt; 0, Una vez hallada la línea reemplazan el número 0 por un número que indique el tamaño máximo de subida en megas. En mi caso a modo de ejemplo he definido 5.\n\u0026#39;maximal_upload_size\u0026#39; =\u0026gt; 5, Una vez guardados los cambios en el fichero de configuración no podremos compartir archivos que pesen más de 5MB.\nAutomatizar la limpieza de contenido cuando un link ha expirado Cuando los links caducan la información seguirá quedando almacenada en nuestro servidor. Para borrar definitivamente el contenido del servidor tienen 2 opciones:\nEliminar el contenido des del panel de administración. Automatizar la eliminación del contenido mediante cron. En nuestro caso automatizaremos el proceso mediante cron. Para ello ejecutaremos el siguiente comando para acceder dentro del contenedor en que se ejecuta Jirafeau:\ndocker exec -it jirafeau sh Una vez dentro del contenedor ejecutamos el siguiente comando:\ncrontab -e\nCuando se abra el editor de textos pegaremos el siguiente código:\n# m h dom mon dow user command 12 3 * * * www-data php /www/admin.php clean_expired 16 3 * * * www-data php /www/admin.php clean_async Una vez introducidos los cambios los guardaremos y cerraremos el fichero. A partir de estos momentos todos los días a las 3:12 y 3:16 se realizarán las siguientes acciones:\nSe borrará todo el contenido cuyos links de compartición estén caducados. Si ha quedado contenido a medio subir o a medio descargar también se borrará. Acceder a la interfaz de administración Si quieren acceder al panel de administración tan solo tienen que abrir un navegador y teclear la URL de acceso al servicio seguido de /admin.php. Por lo tanto en mi caso accederé al panel de administración usando la URL https://jirafeau.servergeekland.duckdns.org/admin.php en el navegador. Una vez hayan ingresado en la URL tendrán que introducir la contraseña que se definió en pasos anteriores para poder acceder al panel de administración.\nUna vez dentro del panel de administración podrán:\nEliminar o dejar sin validez los enlaces de compartición. Listar y descargar los ficheros que están subidos al servidor web. Listar los archivos cuyo link de compartición está caducado. Eliminar ficheros cuyo link de compartición ha caducado. etc. Cifrar el contenido que se almacena en el servidor y que está a la espera de ser compartido La versión Docker estable de Jirefeau no viene configurada para cifrar el contenido que almacenamos en el servidor. Aunque activemos el cifrado en la configuración no funcionará porque el contenedor no tiene instalado el módulo de PHP mcrypt.\nNota: Por lo que he visto en Gitlab, las versiones futuras de Jirafeau si traerán instalado el módulo mcrypt de serie.\nPara instalar el módulo accederemos dentro del contenedor ejecutando el siguiente comando en la terminal:\ndocker exec -it jirafeau sh Una vez dentro del contenedor actualizaremos los repositorios de Alpine mediante el siguiente comando:\napk update A continuación instalaremos el módulo de PHP php7-mcrypt mediante el siguiente comando:\napk add php7-mcrypt Seguidamente accederemos a la ubicación /usr/local/etc/php/conf.d/ mediante el siguiente comando:\ncd /usr/local/etc/php/conf.d/ Una vez dentro de la ubicación ejecutaremos el siguiente comando:\nvi mcrypt.ini\nCuando se abra el editor de textos vi pegaremos el siguiente código para activar el módulo:\nextension=/usr/lib/php7/modules/mcrypt.so Una vez pegado el código guardaremos los cambios y cerraremos el fichero. Acto seguido podemos ejecutar el siguiente comando para comprobar que hemos activado el módulo mcrypt.\nphp -m Para borrar la cache de paquetes de apk y dejar un contenedor más ligero ejecutaremos el siguiente comando en la terminal:\nrm -f /var/cache/apk/* Seguidamente saldremos del contenedor ejecutando el siguiente comando:\nexit\nFinalmente accederemos al fichero de configuración que como ya sabemos en mi caso está ubicado en /media/hd/services/jirafeau/config.local.php. Una vez dentro localizamos la siguiente línea:\n\u0026#39;enable_crypt\u0026#39; =\u0026gt; false, Una vez encontrada cambiamos su valor de false a true.\n\u0026#39;enable_crypt\u0026#39; =\u0026gt; true, Guardamos los cambios y cerramos el fichero. A partir de estos momentos todo el contenido que subamos a Jirafeau para compartir con terceros estará cifrado. En el momento que un usuario se descargue el contenido que está cifrado se descifrará al vuelo mientras se descarga el fichero. Por lo tanto si usáis la función de cifrado habrá una carga extra de CPU y el funcionamiento de Jirafeau será más lento. Además al cifrar el contenido Jirafeau no será capaz de detectar los ficheros duplicado subidos al servidor.\nModificar el texto de las condiciones de servicio Si nuestra compañía pretende dar un servicio a un tercero puede modificar las condiciones de servicio del programa para introducir su nombre y datos de contacto. Para ello dentro del archivo de configuración deberán localizar las siguientes líneas:\n\u0026#39;organisation\u0026#39; =\u0026gt; \u0026#39;ACME\u0026#39;, \u0026#39;contactperson\u0026#39; =\u0026gt; \u0026#39;\u0026#39;, \u0026#39;title\u0026#39; =\u0026gt; \u0026#39;\u0026#39;, Una vez localizadas tan solo tienen que modificarlas para introducir la información que aplique en su caso. Por ejemplo en mi caso podría usar:\n\u0026#39;organisation\u0026#39; =\u0026gt; \u0026#39;GEEKLAND\u0026#39;, \u0026#39;contactperson\u0026#39; =\u0026gt; \u0026#39;Joan \u0026lt;mi_email\u0026gt;\u0026#39;, \u0026#39;title\u0026#39; =\u0026gt; \u0026#39;Terminos de servcio GEEKLAND\u0026#39;, Una vez introducidos los cambios los guardan. Para ver los resultados obtenidos tan solo tienen que visitar la URL https://jirafeau.servergeekland.duckdns.org/tos.phpy acto seguido podrán ver leer los términos de servicio.\nNota: Si quieren modificar más aspectos de los términos de servicio pueden acceder dentro del contenedor de Docker y modificar el contenido del fichero /www/lib/tos.original.txt\nNota: El fichero de configuración contiene otras opciones simples de configurar como por ejemplo deshabilitar la vista previa del contenido, modificar la ubicación donde se almacenan los datos, etc.\nOPINIÓN Y EXPERIENCIA QUE HE TENIDO AL COMPARTIR ARCHIVOS CON JIRAFEAU El software es realmente útil y funciona. Es muy intuitivo, fácil de usar y tiene bastantes opciones de configuración. Además mediante Docker es muy sencillo ponerlo en marcha y empezar a compartir archivos.\nSe trata de un proyecto interesante que espero que siga adelante mejorando las funcionalidades existentes e implementando de nuevas como por ejemplo podría ser la subida multifichero. En mi caso he observado que al compartir ficheros de gran tamaño, como por ejemplo ficheros 2GB, le cuesta iniciar la descarga de los ficheros. Por ejemplo al clicar al link de descarga hay que esperar como unos 30 segundos antes que empiece la descarga de los archivos. Una vez iniciada la descarga la velocidad es alta y funciona perfecto, pero no debería existir un lapso de tiempo tan grande entre el momento que das click al botón de descarga y se inicia la descarga.\n","permalink":"https://geeklandlinux.github.io/posts/crea-tu-propio-wetransfer-para-compartir-archivos-con-jirafeau/","summary":"\u003cp\u003eA continuación veremos como de forma sencilla podemos montar nuestro propio Wetransfer con Jirafeau y compartir archivos con nuestros contactos. Jirafeau es un software muy ligero que podremos instalar en cualquier servidor Linux y nos permitirá compartir ficheros e información con nuestros contactos. Para el funcionamiento de Jirafeau tan solo necesitaremos PHP y un servidor web ultraligero como Lighttpd. Por lo tanto será un servicio extremadamente liviano, rápido y además fácil de usar.\u003c/p\u003e","title":"Crea tu propio Wetransfer para compartir archivos con Jirafeau"},{"content":"Recientemente he realizado una migración de mi nube personal y me he visto con la necesidad de comparar directorios y archivos para comprobar que la migración se ha realizado con éxito. Estaba usando Nextcloud y ahora mismo estoy probando Filerun. En el momento de traspasar la información de una nube a la otra todo fue a la perfección. Pero me encontré con la desagradable sorpresa que la copia de seguridad de la nube antigua tenia más ficheros que el contenido subido a la nube nueva.\nPara solucionar el problema busqué una solución fácil y rápida para ver las diferencias existentes entre el contenido que estaba almacenado en la copia de seguridad y el que estaba subido a la nube. Para ello use el comando Diff.\nUSAR DIFF PARA COMPARAR DIFERENCIAS ENTRE 2 DIRECTORIOS Para usar Diff y obtener la diferencias existentes entre dos directorios tan solo tenéis que ejecutar un comando del siguiente tipo:\ndiff -r -q 'directorio 1' 'directorio 2'\nEl significado de cada uno de los parámetros es el siguiente:\ndiff: Es la utilidad para comparar directorios entre si o ficheros entre sí. -r: Para indicar que 2 directorios se comparen de forma recursiva. En otras palabras con la opción -r también se compararán todos los subdirectorios que están dentro del directorio analizado. -q: Para que solo salgan en pantalla los ficheros que difieren de un directorio a otro. directorio 1: Es la ruta del primer directorio o fichero a comparar. directorio 2: Es la ruta del segundo directorio o fichero a comparar. Por lo tanto para comparar todo el contenido de la ubicación '/home/joan/Filerun/@Home' con '/media/DATOS/copia nextcloud' ejecutaremos el siguiente comando:\ndiff -rq \u0026#39;/home/joan/Filerun/@Home\u0026#39; \u0026#39;/media/DATOS/copia nextcloud\u0026#39; Y el resultado obtenido será similar al siguiente:\njoan@debian:~$ diff -rq \u0026#39;/home/joan/Filerun/@Home\u0026#39; \u0026#39;/media/DATOS/copia nextcloud\u0026#39; Sólo en /media/DATOS/copia nextcloud: 2019 Sólo en /media/DATOS/copia nextcloud/Docker/ttrss-docker: .git Sólo en /media/DATOS/copia nextcloud/Docker/ttrss-docker-traefik: .git Los ficheros /home/joan/Filerun/@Home/folder.png y /media/DATOS/copia nextcloud/folder.png son distintos Sólo en /media/DATOS/copia nextcloud: Nextcloud Manual.pdf Sólo en /media/DATOS/copia nextcloud/raspi/WireGuard: .git Sólo en /home/joan/Filerun/@Home/Wordpress/Copias de seguridad/Shareaholic Logo: sharing-caring.png.upload.temp Sólo en /media/DATOS/copia nextcloud/Wordpress/Post publicados/Crear un servidor sftp: Originales Sólo en /media/DATOS/copia nextcloud/Wordpress/Post publicados/historico de comandos en linux: .~lock.Como usar el históritco de comandos history.odt# Sólo en /media/DATOS/copia nextcloud/Wordpress/Post publicados/servidor gráfico de xfce se desconecta: .~lock.servidor grafico xfce se desconecta.odt# Sólo en /media/DATOS/copia nextcloud/Wordpress/scripts: init_nextcloud.sh Si miran los resultados verán de forma clara e inequívoca las diferencias entre los 2 directorios. En mi caso no he tenido ningún problema importante en la migración. Las diferencias que vimos al inicio del apartado son debidas a los siguientes motivos:\nFilerun no subió los ficheros .~lock. generados por LibreOffice. Que se copie o no se copie este fichero me es indiferente. Por lo tanto no es ningún problema. En mi Nextcloud tenia directorios que estaban vacíos. Los directorios que estaban vacíos no se copiaron en la migración. Por lo tanto es un problema muy menor. El resto de diferencias son cambios que yo mismo realice y no me deberían preocupar. Algunos de los archivos ocultos o temporales no trasladaron. Por lo tanto si alguno es de mi interés lo tendré que subir manualmente a mi nube. De este modo tan sencillo podemos ver sin problema las diferencias existentes entre el contenido de dos directorios.\nUSAR DIFF PARA COMPARAR EL CONTENIDO DE DOS ARCHIVOS Del mismo modo que hemos comparado las diferencias existentes entre el contenido de 2 directorios también podemos analizar las diferencias entre 2 archivos o ficheros. Diff en todos las ocasiones y en todos los formatos de archivo podrá detectar si 2 ficheros son iguales o diferentes. Pero únicamente podrá detallar las diferencias entre ficheros cuando estemos comparando ficheros de texto.\nNota: Como fichero de texto se incluyen por ejemplo ficheros Markdown, html, etc.\nComparar si el contenido de 2 ficheros .odt es el mismo Mediante la utilidad Diff podemos comparar si 2 ficheros son exactamente iguales. Para ello veremos un simple ejemplo. En el ejemplo compararemos el contenido de estos 2 archivos:\nBorrar archivos temporales V1.odt Borrar archivos temporales V2.odt Ambos archivos son prácticamente iguales y la única diferencia es que en uno de los archivos he borrado un párrafo.\nPara realizar la comparación abro una terminal y tecleo el comando diff seguido del nombre de los archivos que queremos comparar. Por lo tanto en mi caso ejecuto el siguiente comando:\ndiff \u0026#39;/home/joan/Borrar archivos temporales V1.odt\u0026#39; \u0026#39;/home/joan/Borrar archivos temporales V2.odt\u0026#39; Después de ejecutar el comando obtengo el siguiente resultado:\nLos ficheros binarios /home/joan/Borrar archivos temporales V1.odt y /home/joan/Borrar archivos temporales V2.odt son distintos Por lo tanto los ficheros /home/joan/Borrar archivos temporales V1.odt y /home/joan/Borrar archivos temporales V2.odt son distintos. Como los ficheros que comparamos no son archivos de texto, Diff no es capaz de detallar las diferencia entre ellos. Pero almenos nos detalla que no son iguales.\nNota: Para ver las diferencias entre 2 ficheros .odt lo podríamos hacer con LibreOffice.\nComparar las diferencias de contenido existentes entre 2 ficheros de texto o Markdown Si comparamos 2 ficheros de texto podemos incluso obtener el detalle de las diferencias existentes entre los 2 ficheros. A continuación compararemos el contenido de los ficheros /home/joan/archivo_1.md y /home/joan/archivo_2.md. Para ello tan solo tendremos que ejecutar el siguiente comando:\ndiff \u0026#39;/home/joan/archivo_1.md\u0026#39; \u0026#39;/home/joan/archivo_2.md\u0026#39; El resultado obtenido en mi caso es el siguiente:\njoan@debian:~$ diff \u0026#39;/home/joan/archivo_1.md\u0026#39; \u0026#39;/home/joan/archivo_2.md\u0026#39; 9c9 \u0026lt; Para usar GEEKLAND y obtener la diferencias existentes entre dos directorios tan solo tenéis que ejecutar un comando del siguiente tipo: --- \u0026gt; Para usar Diff y obtener la diferencias existentes entre dos directorios tan solo tenéis que ejecutar un comando del siguiente tipo: 18a19 \u0026gt; * **-q:** Para que la salida del comando diff únicamente muestre las diferencias existentes entre los directorios o ficheros comparados. El código usado para indicar las diferencias entre ficheros es del siguiente tipo:\nlínea_fichero_1 tipo_de_cambio línea_fichero_2 \u0026lt; \u0026gt; El significado de cada uno de los parámetros es el siguiente:\nlinea_fichero_1: Corresponde a la línea del fichero 1 que ha cambiado respecto al fichero 2. tipo_de_cambio: Encontraremos 3 opciones. a: Añadir c: Cambiar y d: Borrar linea_fichero_2: Corresponde a la línea del fichero 2 que ha cambiado respecto al fichero 1. \u0026lt;: Hace referencia a la línea que presenta cambios en el fichero 1 \u0026gt;: Hace referencia a la línea que presenta cambios en el fichero 2. Por lo tanto si interpretamos los resultados mostrados por el comando diff llegaremos a las siguientes conclusiones:\nLa línea 9 del archivo_1 ha cambiado (c) respecto la línea 9 del archivo_2. A continuación y después de los símbolos \u0026lt; y \u0026gt; se detalla el contenido de la línea 9 del archivo_1 y de la línea 9 del archivo_2. De este modo se pueden ver las diferencias. Comparando el archivo_1 con el archivo_2 podemos afirmar que después de la línea 18 de archivo_2 se ha añadido (a) una nueva línea en el fichero_2. La nueva línea añadida en el fichero 2 será la 19. Acto seguido después del símbolo \u0026gt; se muestra el nuevo contenido añadido a la línea 19 del archivo_2. Por lo tanto, en este caso podemos conocer de forma precisa y exacta las diferencias existentes entre los 2 ficheros.\nVer las diferencias existentes entre 2 ficheros de forma más visual Si pretendemos ver las diferencias entre 2 ficheros de una forma más visual tan solo tendríamos que añadir la opción -y y el parámetro | cat -n para que se muestren los número de línea. Por lo tanto si añadimos estos parámetros en el comando del apartado anterior acabaremos ejecutando el siguiente comando:\ndiff -y \u0026#39;/home/joan/Escritorio/Ver las diferencias entre 2 directorios o 2 ficheros/archivo 1.md\u0026#39; \u0026#39;/home/joan/Escritorio/Ver las diferencias entre 2 directorios o 2 ficheros/archivo 2.md\u0026#39; | cat -n Y el resultado del comando que acabamos de aplicar será el siguiente:\nNota: Observe que la columna central se informa mediante símbolos de las líneas en que se ha introducido cambios.\nSi únicamente quisiéramos ver las líneas que no coinciden podríamos usar la opción --suppress-common-lines del siguiente modo:\ndiff -y --suppress-common-lines \u0026#39;/home/joan/Escritorio/Ver las diferencias entre 2 directorios o 2 ficheros/archivo 1.md\u0026#39; \u0026#39;/home/joan/Escritorio/Ver las diferencias entre 2 directorios o 2 ficheros/archivo 2.md\u0026#39; Y el resultado obtenido sería el siguiente:\njoan@debian:~$ diff -y --suppress-common-lines \u0026#39;/home/joan/Escritorio/Ver las diferencias entre 2 directorios o 2 ficheros/archivo 1.md\u0026#39; \u0026#39;/home/joan/Escritorio/Ver las diferencias entre 2 directorios o 2 ficheros/archivo 2.md\u0026#39; Para usar GEEKLAND y obtener la diferencias existentes entre |\tPara usar Diff y obtener la diferencias existentes entre dos \u0026gt;\t* **-q:** Para que la salida del comando diff únicamente mues OPCIONES QUE OFRECE EL COMANDO DIFF PARA COMPARAR DIRECTORIOS Y FICHEROS A largo del artículo han visto que el comando diff tiene multitud de opciones/parámetros para modificar el contenido que nos muestra en pantalla. Algunas de las opciones más comunes son las siguientes:\nOpciones de diff Explicación -s Unicamente nos notifica cuando 2 ficheros son idénticos. -q Para que solo salgan en pantalla los ficheros que difieren de un directorio a otro. -r Comprueba los directorios de forma recursiva. --no-dereference Para ignorar y no seguir los enlaces simbólicos. --ignore-file-name-case Se ignorar las diferencias entre mayúsculas y minúsculas en el caso que comparemos las diferencias entre nombres de fichero. --no--ignore-file-name-case Para que no se ignoren las diferencias entre mayúsculas y minúsculas en el caso que comparemos las diferencias entre nombres de fichero. -i Ignora las diferencias entre mayúsculas y minúsculas en el contenido de los ficheros. -E Ignora las diferencias de tabulaciones entre 2 ficheros. -Z Para ignorar los espacios en blanco al final de cada una de las líneas. -B Ignorar las líneas en blanco en la comparación de 2 ficheros. -y Para mostrar dos columnas y de esta forma poder comparar gráficamente las diferencias entre 2 ficheros. --supress-common-lines Cuando se comparan 2 ficheros de texto únicamente se muestran las líneas que son diferentes. -b Hacer una comparación omitiendo los espacios en blanco Si quieren obtener la totalidad de opciones de diff tan solo tienen que consultar las páginas man de diff ejecutando el siguiente comando en la terminal:\nman diff Verán que existen muchas más opciones como por ejemplo no comparar archivos que empiecen con un nombre determinado, etc.\nALTERNATIVAS AL COMANDO DIFF PARA COMPARAR DIRECTORIOS Y ARCHIVOS Existen numerosas alternativas al comando diff como por ejemplo sdiff, rsync, meld, vimdiff, etc. Incluso existen alternativas con entorno gráfico como por ejemplo melt.\nMeld es una mera interfaz gráfica de Diff. Por lo tanto Meld es una buena opción para los usuarios que odien la terminal. Meld nos mostrará gráficamente las diferencias entre archivos y directorios. Además nos permitirá editar estos archivos desde el propio programa.\nOtras opciones como por ejemplo rsync o vimdiff destacan por ser capaces de comparar ficheros y directorios de forma remota mediante el protocolo SSH. Por lo tanto en función de sus necesidades o conocimientos tienen multitud de soluciones para comparar ficheros y directorios en Linux.\n","permalink":"https://geeklandlinux.github.io/posts/comparar-directorios-y-archivos-comando-diff-linux/","summary":"\u003cp\u003eRecientemente he realizado una migración de mi nube personal y me he visto con la necesidad de comparar directorios y archivos para comprobar que la migración se ha realizado con éxito. Estaba usando Nextcloud y ahora mismo estoy probando Filerun. En el momento de traspasar la información de una nube a la otra todo fue a la perfección. Pero me encontré con la desagradable sorpresa que la copia de seguridad de la nube antigua tenia más ficheros que el contenido subido a la nube nueva.\u003c/p\u003e","title":"Comparar directorios y archivos con el comando diff en Linux"},{"content":"Si tiene un servidor o equipo cuyo sistema operativo usa el gestor de paquetes apt pueden actualizarlo de forma automática. Para obtener actualizaciones automáticas en su equipo deberán seguir las instrucciones que verán a continuación.\nACTUALIZAR NUESTRO SERVIDOR O SISTEMA OPERATIVO DE FORMA AUTOMÁTICA MEDIANTE UNATTENDED-UPGRADES Para actualizar nuestro sistema operativo de forma automática tan solo tenemos que instalar el paquete unattended-upgrades. Para ello tan solo tenemos que ejecutar el siguiente comando:\nsudo apt install unattended-upgrades Nota: La función del paquete unattended-upgrades es automatizar el proceso de actualización de nuestro ordenador o servidor.\nUna vez instalado el paquete activen las actualizaciones automáticas ejecutando el siguiente comando en la terminal:\nsudo dpkg-reconfigure -plow unattended-upgrades CONFIGURAR LAS ACTUALIZACIONES AUTOMÁTICAS MEDIANTE UNATTENDED-UPGRADES El fichero de configuración de las actualizaciones desatendidas o automáticas es el siguiente:\n/etc/apt/apt.conf.d/50unattended-upgrades En Debian y en Ubuntu la configuración estándar de unattended-upgrades solo aplicará las actualizaciones de seguridad. Si quieren modificar este comportamiento deberán ejecutar el siguiente comando para editar su archivo de configuración:\nsudo nano /etc/apt/apt.conf.d/50unattended-upgrades Si miran el contenido del fichero, dentro de la sección **Unattended-Upgrade::Allowed-Origins {** verán un contenido similar al siguiente:\nUnattended-Upgrade::Allowed-Origins { \u0026#34;${distro_id}:${distro_codename}\u0026#34;; \u0026#34;${distro_id}:${distro_codename}-security\u0026#34;; // Extended Security Maintenance; doesn\u0026#39;t necessarily exist for // every release and this system may not have it installed, but if // available, the policy for updates is such that unattended-upgrades // should also install from here by default. \u0026#34;${distro_id}ESMApps:${distro_codename}-apps-security\u0026#34;; \u0026#34;${distro_id}ESM:${distro_codename}-infra-security\u0026#34;; // \u0026#34;${distro_id}:${distro_codename}-updates\u0026#34;; // \u0026#34;${distro_id}:${distro_codename}-proposed\u0026#34;; // \u0026#34;${distro_id}:${distro_codename}-backports\u0026#34;; }; Nota: En función de la distribución que uséis cambiará ligeramente el texto de este apartado. También verán que hay distribuciones que permiten mayor granularidad a la hora de definir las actualizaciones que se aplican. El ejemplo que veremos en este artículo es con un servidor Ubuntu 20.04.\nSi os fijáis, la totalidad de líneas están comentadas a excepción de las líneas que hacen referencia a las actualizaciones de seguridad. Para añadir más tipos de actualizaciones tan solo tienen que descomentar las líneas correspondientes. Si descomentan las líneas que terminan por updates, proposed o backports obtendrán los siguientes tipos de actualizaciones automáticas:\n\u0026quot;${distro_id}:${distro_codename}-updates\u0026quot;; Recomiendo descomentar esta línea. Al hacerlo se aplicarán actualizaciones no críticas no relacionadas con actualizaciones de seguridad. Activando esta opción se mantendrá el sistema operativo más actualizado y minimizaremos el riesgo que se rompan dependencias. \u0026quot;${distro_id}:${distro_codename}-proposed\u0026quot;; En caso que administréis un servidor yo no activaría esta opción. Si aplican esta opción se instalarán paquetes que aún no han sido aun aceptados para trabajar en una versión estable. \u0026quot;${distro_id}:${distro_codename}-backports\u0026quot;; Al igual que en el caso anterior no recomiendo activar esta opción para un servidor que esté en producción. Si la activan es posible que se actualicen paquetes y programas a una versión más actual. Pero con el riesgo de romper dependencias y crear inestabilidad en el sistema. Añadir repositorios adicionales a las actualizaciones automáticas En el ejemplo que acabamos de ver solo se actualizarán de forma automática los paquetes que están presentes en los repositorios de Ubuntu. Si por ejemplo tienen un repositorio externo a Ubuntu, como por ejemplo el de Docker, y quieren que se actualice de forma automática lo deberán hacer de la siguiente forma.\nTendremos que averiguar el origen y la etiqueta del repositorio cuyos paquetes queremos que se actualicen de forma automática. Para ello ejecutaremos el siguiente comando en la terminal:\ngrep -R \u0026#39;Origin: \\|Label: \u0026#39; /var/lib/apt/lists Si queremos filtrar más el contenido que aparece en pantalla ejecutaremos el siguiente comando:\ngrep -R \u0026#39;Origin: \\|Label: \u0026#39; /var/lib/apt/lists | grep docker Si miramos la salida del comando que acabamos de aplicar veremos lo siguiente:\n/var/lib/apt/lists/download.docker.com_linux_ubuntu_dists_focal_InRelease:Label: Docker CE /var/lib/apt/lists/download.docker.com_linux_ubuntu_dists_focal_InRelease:Origin: Docker Por lo tanto podemos concluir que el repositorio de Docker tiene el origen Docker y la etiqueta Docker CE. Por lo tanto en el fichero de configuración /etc/apt/apt.conf.d/50unattended-upgrades añadiremos la siguiente línea:\n\u0026#34;Docker:Docker CE\u0026#34;; Después de aplicar los cambios, la sección **Unattended-Upgrade::Allowed-Origins {** de mi fichero de configuración ha quedado de la siguiente forma:\nUnattended-Upgrade::Allowed-Origins { \u0026#34;${distro_id}:${distro_codename}\u0026#34;; \u0026#34;${distro_id}:${distro_codename}-security\u0026#34;; // Extended Security Maintenance; doesn\u0026#39;t necessarily exist for // every release and this system may not have it installed, but if // available, the policy for updates is such that unattended-upgrades // should also install from here by default. \u0026#34;${distro_id}ESMApps:${distro_codename}-apps-security\u0026#34;; \u0026#34;${distro_id}ESM:${distro_codename}-infra-security\u0026#34;; \u0026#34;${distro_id}:${distro_codename}-updates\u0026#34;; \u0026#34;Docker:Docker CE\u0026#34;; // \u0026#34;${distro_id}:${distro_codename}-proposed\u0026#34;; // \u0026#34;${distro_id}:${distro_codename}-backports\u0026#34;; }; Una vez finalizada la configuración guardamos los cambios y cerramos el fichero. A partir de estos momentos nuestro sistema operativo y Docker se actualizarán de forma automática.\nEvitar que ciertos paquetes se actualicen de forma automática Si continúan observando el contenido del fichero de configuración verán que la sección **Unattended-Upgrade::Package-Blacklist {** permite definir los paquetes que no queremos que se actualicen de forma automática. A modo de ejemplo, si descomentamos las siguientes líneas:\nUnattended-Upgrade::Package-Blacklist { // The following matches all packages starting with linux- \u0026#34;linux-\u0026#34;; // Use $ to explicitely define the end of a package name. Without // the $, \u0026#34;libc6\u0026#34; would match all of them. \u0026#34;libc6$\u0026#34;; \u0026#34;libc6-dev$\u0026#34;; \u0026#34;libc6-i686$\u0026#34;; No se actualizaría ningún paquete cuyo nombre empiece por linux-. Por lo tanto por ejemplo no se actualizará el Kernel. No se actualizaría ningún paquete cuyo nombre termine por libc6, libc6-dev o libc6-i686. Obtener notificaciones vía email de las actualizaciones aplicadas Para obtener notificaciones de las actualizaciones vía email tenemos que instalar un servidor de correo como por ejemplo mailx. Para ello ejecuten el siguiente comando en la terminal:\nsudo apt-get install bsd-mailx Una vez instalado el paquete acceden de nuevo al archivo de configuración de las actualizaciones automáticas ejecutando el siguiente comando:\nsudo nano /etc/apt/apt.conf.d/50unattended-upgrades Una vez dentro del fichero de configuración buscan las siguientes líneas:\nUnattended-Upgrade::Mail \u0026#34;ejemplo@mail.com\u0026#34;; Unattended-Upgrade::MailReport \u0026#34;on-change\u0026#34;; A continuación las modifican del siguiente modo:\nEn la primera de las líneas tan solo tienen que reemplazar ejemplo@mail.com por la dirección de correo electrónico en que quieren recibir las notificaciones. En Unattended-Upgrade::MailReport \u0026quot;on-change\u0026quot;; podemos seleccionar las opciones on-change y only-on-error. La opción opción only-on-error hará que unicamente se notifique vía email cuando hayan errores en la actualización automática. La opción on-change notificará sobre todos los paquetes instalados y desinstalados en el proceso de actualización automática. Nota: Las notificaciones vía email son opcionales. No hace falta configurarlas si no las necesitamos. Para conocer los paquetes instalados y desinstalados durante las actualizaciones podemos consultar los logs del sistema.\nOtras opciones presentes en el fichero de configuración de actualizaciones automáticas Si continúan leyendo verán que dentro del fichero de configuración se pueden controlar otros parámetros como por ejemplo:\n**Unattended-Upgrade::InstallOnShutdown \u0026quot;false\u0026quot;;** Si está en true las actualizaciones se aplicarán al apagar nuestro servidor u ordenador. Esto hará el apagado del ordenador más lento. Unattended-Upgrade::Remove-Unused-Dependencies \u0026quot;false\u0026quot;; Si el valor es true después de actualizar el sistema operativo se desinstalaran de forma automática todas las dependencias que no necesitamos. **Unattended-Upgrade::Remove-Unused-Kernel-Packages \u0026quot;true\u0026quot;;** Permite desinstalar los Kernel antiguos que no usamos de forma automática. **Unattended-Upgrade::Automatic-Reboot \u0026quot;false\u0026quot;;** Si el valor es true permite reiniciar el servidor de forma automática en el caso que una actualización lo requiera. **Unattended-Upgrade::Automatic-Reboot-Time \u0026quot;02:00\u0026quot;;** En conjunción con el parámetro anterior, permite que el reinicio del servidor se haga a la hora que nosotros queramos. Por lo tanto si después de actualizar el ordenador se tiene que reiniciar, no lo hará hasta que sean las 2 de la madrugada. **Acquire::http::Dl-Limit \u0026quot;70\u0026quot;;** Para limitar el ancho de banda consumido en la actualización. Si fijamos 70, la velocidad de descarga de las actualizaciones será 70kb/segundo. etc. DEFINIR LA PERIODICIDAD DE LAS ACTUALIZACIONES AUTOMÁTICAS Para definir la periodicidad de las actualizaciones automáticas deberán consultar el fichero /etc/apt/apt.conf.d/20auto-upgrades ejecutando el siguiente comando en la terminal:\nsudo nano /etc/apt/apt.conf.d/20auto-upgrades Si observan el contenido del fichero como mínimo verán los siguientes parámetros de configuración:\nAPT::Periodic::Update-Package-Lists \u0026#34;1\u0026#34;; APT::Periodic::Unattended-Upgrade \u0026#34;1\u0026#34;; El significado de cada una de las líneas de forma respectiva es el siguiente:\nComo mínimo una vez al día se refrescarán los repositorios de nuestra distribución. Una vez al día se intentará actualizar el sistema operativo en función de la configuración que tengamos en el fichero /etc/apt/apt.conf.d/50unattended-upgrades. Nota: Los números que aparecen en los parámetros de configuración indican la frecuencia en días en que se realizará cada una de las acciones.\nParámetros de configuración adicionales para introducir en /etc/apt/apt.conf.d/20auto-upgrades Otras opciones de configuración que pueden existir y recomiendo introducir en el fichero /etc/apt/apt.conf.d/20auto-upgrades son las siguientes:\nAPT::Periodic::Update-Package-Lists \u0026#34;1\u0026#34;; APT::Periodic::Unattended-Upgrade \u0026#34;1\u0026#34;; APT::Periodic::Download-Upgradeable-Packages \u0026#34;1\u0026#34;; APT::Periodic::AutocleanInterval \u0026#34;7\u0026#34;; La función de cada uno de los 2 nuevos parámetros de configuración que acabamos de introducir:\nA diario se comprobarán si existen actualizaciones y se descargarán los paquetes binarios de la actualización. Los paquetes descargados quedarán almacenados en la cache de apt y de este modo cuando realicemos una actualización manual será mucho más rápida. Cada 7 días se borrará la totalidad de paquetes que estén obsoletos en la cache del gestor de paquetes apt. De este modo la cache del gestor de paquetes apt no crecerá desmesuradamente y se mantendrá actualizada. COMPROBAR QUE SE ESTÁN APLICANDO LAS ACTUALIZACIONES SE SEGURIDAD Para comprobar que las actualizaciones se están aplicando de forma correcta pueden usar las notificaciones vía email. No obstante también lo podemos comprobar mediante los logs del sistema. Los logs de las actualizaciones se almacenan en /var/log/unattended-upgrades. El contenido que hallaremos en esta ubicación es el siguiente:\nubuntu@ubuntu-20-04:/var/log/unattended-upgrades$ ls unattended-upgrades-dpkg.log unattended-upgrades.log unattended-upgrades-shutdown.log Si quieren consultar los logs pueden ejecutar el siguiente comando en la terminal:\nless unattended-upgrades-dpkg.log COMPROBAR QUE LA CONFIGURACIÓN ES CORRECTA Y SE REALIZARÁN LAS ACTUALIZACIONES AUTOMÁTICAS Para asegurar que la configuración aplicada es la correcta pueden ejecutar el siguiente comando en la terminal:\nsudo unattended-upgrade -d -v --dry-run El comando que acabamos de aplicar simula el proceso de una actualización automática. Si durante la simulación no se producen errores entonces las actualizaciones automáticas se deberían realizar sin problema.\nNota: Si en vez de simular el comportamiento quieren forzar el proceso de actualización automático tan solo tiene que ejecutar el comando borrando el parámetro --dry-run\nVERIFICAR SI HAY BUGS ANTES DE APLICAR UNA ACTUALIZACIÓN AUTOMÁTICA Existe una posibilidad muy remota que una de las actualizaciones automáticas pueda romper el sistema. Para intentar minimizar esta posibilidad podemos configurar que antes de instalar una actualización se compruebe si se han reportado bugs graves. Para ello tendrán que instalar apt-listbugs ejecutando el siguiente comando en la terminal:\nsudo apt install apt-listbugs Una vez instalado pueden acceder a su fichero de configuración para modificar lo severo que tiene que ser el bug de la actualización para que no sea instalada. Para ello ejecutamos el siguiente comando en la terminal:\nsudo nano /etc/apt/apt.conf.d/10apt-listbugs\nDentro del fichero podemos modificar el contenido de la siguiente línea:\nAptListbugs::Severities \u0026#34;critical,grave,serious\u0026#34;; Nota: Los valores que podemos usar son critical, grave, serious, important, normal y minor.\nEn nuestro caso si lo dejamos tal cual si en el momento de realizar una actualización automática se detecta que el paquete a actualizar tiene una vulnerabilidad crítica, grave o seria no se actualizará.\nNota: En una distribución estable apt-listbugs prácticamente no tiene utilidad. Pero si estamos en versiones testing o inestables de algunas distribuciones nos puede ayudar a no tener sorpresas en las actualizaciones.\nSOLUCIONES ALTERNATIVAS A UNATTENDED-UPGRADES Existen métodos alternativos para aplicar actualizaciones automáticas a nuestro sistema operativo. Una de estas soluciones es Apticron. Apticron será abordado en futuros artículos de este blog.\nCONCLUSIONES Lo que han visto en este artículo es extremadamente útil para la gente que gestiona servidores. De este modo sin tener que preocuparnos de acceder diariamente al servidor podemos asegurar que se aplican la totalidad de actualizaciones de seguridad a nuestro sistema operativo. De este modo podremos evitar vulnerabilidades de seguridad y parchear nuestro sistema operativo de forma rápida y eficiente.\nFuentes https://wiki.debian.org/UnattendedUpgrades\nhttps://haydenjames.io/how-to-enable-unattended-upgrades-on-ubuntu-debian/\n","permalink":"https://geeklandlinux.github.io/posts/actualizaciones-automaticas-en-nuestro-equipo-con-unattended-upgrades/","summary":"\u003cp\u003eSi tiene un servidor o equipo cuyo sistema operativo usa el gestor de paquetes apt pueden actualizarlo de forma automática. Para obtener actualizaciones automáticas en su equipo deberán seguir las instrucciones que verán a continuación.\u003c/p\u003e","title":"\t"},{"content":"En el pasado vimos como instalar Tiny Tiny RSS de forma manual en un servidor con Ubuntu. Quien prefiera utilizar Docker sabrá que en Docker hub no hay ningún contenedor fácil de instalar ni con una instrucciones de instalación fáciles de seguir. Por esté motivo y animado por Ángel de uGeek les detallaré paso a paso como instalar el Docker oficial de Tiny Tiny RSS.\nCARACTERÍSTICAS DEL CONTENEDOR DOCKER OFICIAL DE TINY TINY RSS El contenedor que instalaremos a continuación tiene una serie de características que lo hacen muy interesante. Las características son las siguientes:\nEl contenedor ha sido creado por los desarrolladores de Tiny Tiny RSS. Por lo tanto es el contenedor oficial y su configuración de serie es la adecuada para obtener el máximo rendimiento de este lector de feeds. La base de datos que instalaremos es PostgreSQL. Está base de datos es la que mejor se adapta a Tiny Tiny RSS. Por lo tanto el rendimiento que obtendremos será mucho mayor que si lo instalamos en una base MariaDB o Sqlite. Con este contenedor siempre estaremos usando la última versión de Tiny Tiny RSS. Cada vez que paramos e iniciamos el contenedor de TTRSS se comprueba si estamos usando la última versión del lector de feeds. En el caso que exista una versión más actual se actualizará al vuelo. La instalación que veremos estará detrás del proxy inverso Traefik. De este modo podremos acceder a nuestro servicio desde cualquier ubicación de forma segura. La actualización de los certificados se hará de forma automática y nosotros ni nos enteraremos. Una vez vistos los puntos más importantes pasaremos a detallar las instrucciones a seguir para la instalación de Tiny Tiny rss con Docker.\nNota: La configuración estándar es para funcionar sobre un servidor web Caddy. Desafortunadamente la configuración estándar no funciona en las Raspberry Pi. Por lo tanto cambiaremos Caddy por Nginx. Cambiando Caddy por Nginx hará que podemos aplicar el siguiente tutorial en prácticamente todos los equipos y arquitecturas existentes.\nPASOS A SEGUIR PARA INSTALAR TINY TINY RSS CON EL DOCKER OFICIAL Si siguen con detenimiento los pasos que verán a continuación podrán instalar de forma sencilla Tiny Tiny RSS. Les recomiendo que primero lean detenidamente el proceso y después lo vayan aplicando punto por punto.\nInstalar Docker y Docker Compose Obviamente tenemos que tener instalar Docker y Docker Compose en nuestro servidor. En el caso que no los tengáis instalados les recomiendo que lo hagan siguiendo las instrucciones del siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-docker-y-docker-compose-en-linux/\nAbrir los puertos 80 y 443 en el firewall de su servidor y en el router Para poder acceder a Tiny Tiny RSS tenemos que abrir los puertos 80 y 443 en el firewall del servidor. Para abrir los puertos lo podemos hacer de forma sencilla con ufw. Para ello primero instalen ufw ejecutando el siguiente comando en la terminal:\nsudo apt install ufw\nUna vez instalado el servicio lo habilitan mediante el siguiente comando:\nsudo ufw enable Para iniciar el firewall ejecutaremos el siguiente comando en la terminal:\nsudo service ufw start Finalmente abriremos los puertos 80 y 443 del firewall ejecutando los siguientes comandos en la terminal:\nsudo ufw allow http sudo ufw allow https En el caso que estén detrás de un Router recuerden que también tienen que abrir los puertos 80 y 443 en el router. Además las peticiones entrantes a los puertos 80 y 443 se deberán redirigir a la IP del equipo en que instalaremos Tiny Tiny RSS.\nInstalar el Proxy inverso Traefik y disponer de un dominio Tal y como hemos detallado en el inicio del artículo usaremos el proxy inverso Traefik. Para obtener un dominio e instalar el proxy inverso seguiremos las instrucciones del siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-y-configurar-el-proxy-inverso-traefik-en-docker/\nDespués de finalizar los pasos detallados en el enlace que acabo de dejar deberán disponer de un dominio y un proxy inverso configurado. En mi caso el dominio que tengo disponible es:\ngeekland.duckdns.org Además durante el proceso de configuración de Traefik habrán configurado una red adicional que se llamará web.\nDescargar los ficheros necesarios para instalar Tiny Tiny RSS mediante Docker y Traefik Seguidamente descargaremos los ficheros para instalar TTRSS. Para ello ejecutamos el siguiente comando en la terminal:\ngit clone https://git.tt-rss.org/fox/ttrss-docker-compose.git ttrss-docker \u0026amp;\u0026amp; cd ttrss-docker Establecer los parámetros de configuración para poder levantar el contenedor A continuación ejecutaremos el siguiente comando para copiar el archivo .env-dist y renombrarlo a .env:\ncp .env-dist .env A continuación editaremos el fichero .env para fijar algunos de los parámetros necesarios para la instalación de TTRSS. Para ello ejecutaremos el siguiente comando en la terminal:\nnano .env Cuando se abra el editor de textos verán el siguiente código:\n# Copy this file to .env before building the container. # Put any local modifications here. TTRSS_DB_USER=postgres TTRSS_DB_NAME=postgres TTRSS_DB_PASS=password # This is only used by web-ssl container. #HTTP_HOST=localhost # You will likely need to set this to the correct value, see README.md # for more information. TTRSS_SELF_URL_PATH=http://localhost:8280/tt-rss # bind exposed port to 127.0.0.1 by default in case reverse proxy is used. # if you plan to run the container standalone and need origin port exposed # use next HTTP_PORT definition (or remove \u0026#34;127.0.0.1:\u0026#34;). HTTP_PORT=127.0.0.1:8280 #HTTP_PORT=8280 En mi caso los parámetros que he modificado son los siguientes:\nTTRSS_DB_USER TTRSS_DB_NAME TTRSS_DB_PASS TTRSS_SELF_URL_PATH HTTP_PORT Después de modificarlos han quedado de la siguiente forma:\n# Copy this file to .env before building the container. # Put any local modifications here. TTRSS_DB_USER=postgresttrss TTRSS_DB_NAME=ttrss TTRSS_DB_PASS=mi_contraseña # This is only used by web-ssl container. #HTTP_HOST=localhost # You will likely need to set this to the correct value, see README.md # for more information. TTRSS_SELF_URL_PATH=https://ttrss.geekland.duckdns.org/tt-rss/ # bind exposed port to 127.0.0.1 by default in case reverse proxy is used. # if you plan to run the container standalone and need origin port exposed # use next HTTP_PORT definition (or remove \u0026#34;127.0.0.1:\u0026#34;). HTTP_PORT=10.0.0.11:8280 #HTTP_PORT=8280 El significado de cada uno de los parámetros modificados es el siguiente:\nEn **`TTRSS_DB_USER`** podemos poner un nombre cualquiera. Este será el nombre del usuario de la base de datos de Tiny Tiny RSS. En **`TTRSS_DB_NAME`** podemos poner un nombre cualquiera. Este será el nombre de la base de datos de Tiny Tiny RSS El parámetro **`TTRSS_DB_PASS`** sirve para establecer la contraseña de nuestra base de datos. Podemos usar una contraseña cualquiera y a poder ser que sea segura. En **SELF_URL_PATH**tenemos que poner la URL que queremos usar para acceder a nuestro servidor. La URL tiene que ser el dominio que hemos creado en apartados anteriores más un prefijo cualquiera relacionado con el servicio que estamos instalando. En mi caso el prefijo elegido es ttrss y el dominio que creamos es geekland.duckdns.org. Por lo tanto en este parámetro escribo https://ttrss.geekland.duckdns.org Finalmente en **HTTPS_port** introduzcan la IP interna del servidor que alojará TTRSS. Si no saben la IP la pueden hallar ejecutando el comando ifconfig en la terminal del servidor que alojará TTRSS. Una vez definidos todos los parámetros guardan los cambios y cierran el fichero.\nModificar los parámetros de docker-compose.yml para levantar los contenedores de Tiny Tiny RSS con Traefik A continuación editaremos el fichero docker-compose.yml ejecutando el siguiente comando en la terminal:\nnano docker-compose.yml Cuando se abra el editor de textos borraremos la totalidad de su contenido y pegaremos el siguiente código:\nversion: \u0026#39;3\u0026#39; # set database password in .env # please don\u0026#39;t use quote (\u0026#39;) or (\u0026#34;) symbols in variables services: db: image: postgres:12-alpine restart: unless-stopped volumes: - db:/var/lib/postgresql/data environment: - POSTGRES_PASSWORD=${TTRSS_DB_PASS} - POSTGRES_USER=${TTRSS_DB_USER} - POSTGRES_DB=${TTRSS_DB_NAME} networks: - web labels: - traefik.enable=false app: build: context: ./app restart: unless-stopped env_file: - .env volumes: - app:/var/www/html - config.d:/opt/tt-rss/config.d:ro depends_on: - db networks: - web labels: - traefik.enable=false backups: build: context: ./app restart: unless-stopped env_file: - .env volumes: - backups:/backups - app:/var/www/html depends_on: - db command: /opt/tt-rss/dcron.sh -f networks: - web labels: - traefik.enable=false updater: build: context: ./app restart: unless-stopped env_file: - .env volumes: - app:/var/www/html - config.d:/opt/tt-rss/config.d:ro depends_on: - app command: /opt/tt-rss/updater.sh networks: - web labels: - traefik.enable=false web-nginx: build: ./web-nginx restart: unless-stopped # ports: # - ${HTTP_PORT}:80 volumes: - app:/var/www/html:ro depends_on: - app networks: - web labels: - traefik.backend=web-nginx - traefik.frontend.rule=Host:ttrss.geekland.duckdns.org - traefik.docker.network=web - traefik.port=80 - traefik.enable=true volumes: db: app: certs: backups: networks: web: external: true Si han seguido las instrucciones correctamente y no han elegido opciones diferentes a las de este artículo, tan solo tendrán que localizar y modificar la siguiente línea:\n- traefik.frontend.rule=Host:ttrss.geekland.duckdns.org Una vez localizada tienen que reemplazar ttrss.geekland.duckdns.org por la URL completa que han definido en apartados anteriores para acceder a Tiny Tiny RSS. Una vez realizadas las modificaciones guardamos los cambios y cerramos el fichero.\nCrear y levantar los contenedores para empezar a usar Tiny Tiny RSS A estas alturas ya podemos crear y levantar los contenedores. Para ello ejecutaremos el siguiente comando en la terminal:\ndocker-compose up --build Una vez ejecutado el comando y levantados todos los contenedores ya podemos acceder a Tiny Tiny RSS. Para ello tan solo tenemos abrir un navegador e introducir la URL para acceder al lector de feeds. A continuación introducen su usuario y contraseña y presionan sobre el botón Iniciar sesión.\nNota: El usuario y contraseña que deben usar para loguearse a Tiny Tiny RSS son **admin** y **password**\nUna vez vez logueados a TTRSS tendrán que cambiar la contraseña por defecto del administrador. Acto seguido podrán configurarlo a su gusto e introducir/importar las fuentes que quieran seguir.\nDETALLE DE LOS CONTENEDORES QUE SE HAN INSTALADO Si ejecutamos el comando docker-ps verán que hemos construido y levantado 4 contenedores más el contenedor del proxy inverso:\nubuntu@ubuntu-20-04:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b9414762379f ttrss-docker_web-nginx \u0026#34;/docker-entrypoint.…\u0026#34; 3 hours ago Up 3 hours 80/tcp ttrss-docker_web-nginx_1 adf63866d860 ttrss-docker_updater \u0026#34;/updater.sh\u0026#34; 3 hours ago Up 3 hours 9000/tcp ttrss-docker_updater_1 ac8e1282eaae ttrss-docker_app \u0026#34;/bin/sh -c /startup…\u0026#34; 3 hours ago Up 3 hours 9000/tcp ttrss-docker_app_1 2fcc086f8653 postgres:12-alpine \u0026#34;docker-entrypoint.s…\u0026#34; 3 hours ago Up 3 hours 5432/tcp ttrss-docker_db_1 La función de cada uno de estos 4 contenedores es la siguiente:\nttrss-docker_web-ngnix: Contenedor en el que hay el servidor web sobre el que corre Tiny Tiny RSS. ttrss-docker_updater: Se encarga de actualizar las fuentes que tenemos en nuestro lector de feeds. ttrss-docker_app: Contiene la instalación de PHP7. postgres:12-alpine: Contenedor que aloja la base de datos de Tiny Tiny RSS. ACTUALIZAR TINY TINY RSS Como hemos dicho en apartados anteriores, Tiny Tiny RSS se actualiza de forma automática cada vez que apagamos y levantamos el contenedor ttrss-docker_web-nginx. Por lo tanto, ejecutando estos simples comandos aseguraremos que estamos usando la última versión de Tiny Tiny RSS:\ndocker stop ttrss-docker_db_1 ttrss-docker_app_1 ttrss-docker_web-nginx_1 ttrss-docker_updater_1 docker start ttrss-docker_db_1 ttrss-docker_app_1 ttrss-docker_web-nginx_1 ttrss-docker_updater_1 Con el paso del tiempo es posible que los ficheros que hemos usado para crear los contenedores varíen incorporando versiones nuevas de PHP, Nginx, etc. Por lo tanto cada cierto podemos actualizar los ficheros que usamos para instalar TTRRS ejecutando el siguiente comando:\ngit pull origin master O si lo prefieren pueden borrar los contenedores, borrar los archivos usados para levantar el contenedor y empezar una instalación de cero. Recuerden que aunque borren los contenedores y hagan una instalación limpia no perderán su información ya que los volúmenes de persistencia se hallarán en /var/lib/docker/volumes.\nALTERNATIVAS A TINY TINY RSS Y QUE SE PUEDAN AUTOALOJAR Otra alternativa igual o incluso mejor a Tiny Tiny RSS es Freshrss. Mi experiencia con Freshrss es igual de buena que con Tiny Tiny RSS. Tiny Tiny RSS no tiene una interfaz web tan cuidada como FreshRSS y es más lento. No obstante de momento aun estoy usando Tiny Tiny RSS porque entre otras cosas es capaz de mostrar el texto completo de los artículos que solo se muestran de forma parcial dentro del feed.\nSi visitan el blog de uGeek encontrarán abundante información sobre FreshRSS y otros lectores de Feed. Les recomiendo que escuchen el siguiente podcast y además que naveguen en su blog.\nhttps://ugeek.github.io/post/2020-05-27-disfrutando-mas-que-nunca-de-mis-suscripciones-rss-con-freshrss-shaarli-wallabag-y-feedme.html\nSi no les convence ninguna de las 2 opciones pueden visitar el siguiente enlace en el que encontrarán más de 20 alternativas a Tiny Tiny RSS.\nhttps://github.com/awesome-selfhosted/awesome-selfhosted\nFuentes https://git.tt-rss.org/fox/ttrss-docker-compose\n","permalink":"https://geeklandlinux.github.io/posts/instalar-tiny-tiny-rss-con-su-docker-oficial-y-el-proxy-inverso-traefik/","summary":"\u003cp\u003eEn el pasado vimos como instalar Tiny Tiny RSS de forma manual en un servidor con Ubuntu. Quien prefiera utilizar Docker sabrá que en Docker hub no hay ningún contenedor fácil de instalar ni con una instrucciones de instalación fáciles de seguir. Por esté motivo y animado por Ángel de uGeek les detallaré paso a paso como instalar el Docker oficial de Tiny Tiny RSS.\u003c/p\u003e","title":"Instalar Tiny Tiny RSS con su Docker oficial y el proxy inverso Traefik"},{"content":"Quizás sea tarde, pero mejor tarde que nunca. Simplemente les quiero anunciar que ya hace unas semanas el blog Geekland tiene un canal de Telegram en el que encontrarán el siguiente contenido.\nCONTENIDO QUE SE PUBLICARÁ EN EL CANAL DE TELEGRAM DEL BLOG GEEKLAND En el canal se publicarán artículos, podcast y vídeos relacionados con Linux, la informática y la ciencia en general. El objetivo es proporcionar contenido didáctico que ayude a formar a los lectores. Además en el caso que encuentre información de cursos gratuitos interesantes también los publicaré. Obviamente todo anuncio relacionado con el blog también se publicará en el canal.\nEn la medida de los posible evitaré poner contenido de autores que:\nSu contenido sea un copia y pega. El objetivo es proporcionar información de fuentes originales y de confianza. Simplemente publican noticias. No tengo nada encontra de las noticias y obviamente aparecerán algunas, pero en mi caso la gran mayoría de noticias relacionadas con la tecnología me aburren porque la misma noticia la puedes leer en centenares de blogs diferentes. Los que se dedican exclusivamente a escribir para monetizar y en ciertas ocasiones acostumbran a generar titulares falsos o titulares para atraer lectores. El contenido que generan sea \u0026ldquo;polémico\u0026rdquo; y enfocado a generar salseo dentro de sus respectivos blogs. Si quieren ver una muestra del contenido publicado tan solo tienen que acceder al canal mediante el siguiente enlace:\nhttps://t.me/geek_land\nSOLICITAR NUEVO CONTENIDO EN EL CANAL DE GEEKLAND En el caso que quieran sugerir que suba contenido de un determinado medio o fuente lo pueden hacer sin ningún problema a través de:\nTwitter. El formulario de contacto del blog. A través de los comentarios de este artículo. En el caso que os guste el contenido del canal podéis clicar en el siguiente enlace para promocionarlo en la red social Twitter:\nCLICA AQUÍ para promocionar el Canal en la red social Twitter\nPara finalizar solo dar las gracias a todas las personas y equipos que generan el contenido subido al Canal.\n","permalink":"https://geeklandlinux.github.io/posts/canal-de-telegram-del-blog-geekland/","summary":"\u003cp\u003eQuizás sea tarde, pero mejor tarde que nunca. Simplemente les quiero anunciar que ya hace unas semanas el blog Geekland tiene un canal de Telegram en el que encontrarán el siguiente contenido.\u003c/p\u003e","title":"Nacimiento del canal de Telegram del blog geekland"},{"content":"En el siguiente artículo veremos las instrucciones para instalar y usar Telegram-cli. Telegram-cli es un software para la terminal que nos permitirá usar Telegram de forma más o menos sencilla y práctica.\nVENTAJAS Y DESVENTAJAS DE USAR TELEGRAM-CLI EN LA TERMINAL Para mi la ventaja principal de usar Telegram en la terminal es que mediante scripts podremos automatizar la publicación de contenido en Telegram o programar tareas en función de eventos.\nAdicionalmente, una vez domines los comandos necesarios para usar telegram-cli verás que en algunas ocasiones es igual de útil o incluso más útil que la aplicación de escritorio. Por ejemplo:\nCuando un canal, grupo o persona publica un contenido es más rápido de ver con Telegram-cli. Si tienes que conversar con una persona o en grupo Telegram-cli se defiende y no echas de menos la interfaz gráfica. Esté donde esté me puedo conectar a mi Raspberry Pi de forma remota y usar Telegram sin necesidad de instalar ningún cliente. De forma fácil podemos integrar Telegram en nuestro gestor de archivos para por ejemplo poder enviar documentos a un contacto desde el gestor de archivos. Las desventajas y problemas que he encontrado en mi caso son los siguientes:\nEn el momento que accedes dentro de un grupo o chat te debería mostrar por defecto el historial de conversaciones. No obstante no es un gran problema ya que tan solo tienes que ejecutar el comando /history dentro del chat para ver los últimos 40 mensajes. Si precisan ver aún más comandos, por ejemplo 100, pueden ejecutar el comando /history 100. En la terminal perderemos la capacidad de usar emoticonos, enviar stickers y enviar mensajes de voz. Desde una terminal sin soporte para un servidor gráfico no es posible visualizar contenido multimedia. En mi caso no he sabido o no me ha sido posible realizar chats secretos. Puedo establecer el chat y puedo enviar mensajes. Pero los mensajes que recibo no se pueden descifrar. No he sabido enviar contenido multimedia estando dentro de un chat. Para ello tengo que salir del chat, enviar el contenido y volver a entrar el chat. INSTALAR TELEGRAM-CLI PARA SER USADO EN LA TERMINAL Nota: Si quieren instalar Telegram-cli de forma sencilla en Raspbian buster mediante un paquete .deb y sin tener que compilar nada lo pueden hacer siguiendo las instrucciones del final de este apartado.\nNota: El método de instalación ha sido testeado en Raspbian Buster. En otras distribuciones no ha sido testeado pero también debería funcionar.\nEn mi caso quiero instalar Telegram-cli en Raspbian Buster. Telegram-cli está en los repositorios de Raspbian Buster, pero el paquete binario de los repositorios no me ha funcionado. Tampoco me ha funcionado el paquete snap. Por lo tanto para instalarlo me ha tocado compilar a partir de el código fuente. Para ello lo primero que tenemos que realizar es instalar la totalidad de dependencias para poder compilar Telegram-cli. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev libssl1.0-dev checkinstall make git Una vez instaladas todas las dependencias descargamos Telegram-cli ejecutando el siguiente comando en la terminal:\ngit clone --recursive https://github.com/kenorb-contrib/tg.git \u0026amp;\u0026amp; cd tg Una vez descargado Telegram-cli tenemos que comprobar que cumplimos todas las dependencias necesarias y dejarlo todo ajustado para la compilación. Para ello ejecutaremos el siguiente comando en la terminal:\n./configure --prefix=$HOME Finalmente compilamos el programa ejecutando el siguiente comando en la terminal.\nmake\nUna vez finalizada la compilación tendremos todos los binarios listos para instalar Telegram-cli.\nINICIAR TELEGRAM-CLI POR PRIMERA VEZ E INTEGRARLO EN EL SISTEMA OPERATIVO Una vez finalizada la compilación, dentro de la ubicacióntg/bin existirá una paquete binario llamado telegram-cli. Para acceder al directorio /bin ejecutaremos el siguiente comando:\ncd bin\nUna vez dentro del directorio ejecutaremos el siguiente comando:\n./telegram-cli -k tg.pub\nA continuación tendremos que introducir nuestro número de teléfono. Una vez introducido presionamos Enter y nos pedirá que introduzcamos un código de autenticación. El código de autenticación lo recibirán en la aplicación de Telegram del teléfono móvil que hayan introducido. Una vez conozcan el código lo introducen y presionan Enter. Con estos simples pasos ya estaremos listos para empezar a usar Telegram-cli:\npi@raspberrypi:~/tg/bin $ ./telegram-cli -k tg.pub Telegram-cli version 1.4.1, Copyright (C) 2013-2015 Vitaly Valtman Telegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license\u0026#39;. This is free software, and you are welcome to redistribute it under certain conditions; type `show_license\u0026#39; for details. Telegram-cli uses libtgl version 2.1.0 Telegram-cli includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/) I: config dir=[/home/pi/.telegram-cli] phone number: +34X4XXX5443 code (\u0026#39;CALL\u0026#39; for phone code): 72452 User Joan updated flags -- [2020/06/22 22:28:31] \u0026gt; Una vez logueados a Telegram salgan presionando la combinación de teclas Ctrl+C o ejecutando el comando safe_quit.\nIntegrar Telegram-cli en el sistema operativo Una vez hayamos accedido a Telegram recomiendo integrar los ficheros binarios que se han creado durante la compilación en el sistema operativo. Para ello ejecutaremos el comando sudo make install. En mi caso el resultado obtenido ha sido el siguiente:\npi@raspberrypi:~/tg $ sudo make install install bin/telegram-cli //usr/local/bin rm -rf dep auto bin objs libs dep/auto objs/auto objs/crypto dep/crypto config.log config.status \u0026gt; /dev/null || echo \u0026#34;all clean\u0026#34; Nota: Básicamente lo único que hace el comando es copiar el fichero tg/bin/telegram-cli al directorio /usr/local/bin.\nEn estos momentos la instalación ha finalizado completamente. En el caso que quisieran crear un paquete .deb para instalar Telegram-cli en otros equipos con la misma arquitectura de forma mucho más sencilla tan solo tienen que ejecutar el siguiente comando en la terminal:\nsudo checkinstall --install=no\nDespués de ejecutar el comando verán que se creará un paquete .deb para instalar Telegram-cli en otros equipos. En mi caso el paquete se ha creado en /home/pi/tg/.\nDone. The new package has been saved to /home/pi/tg/telegram-cli_20200624-1_armhf.deb You can install it in your system anytime using: dpkg -i telegram-cli_20200624-1_armhf.deb\nSi quieren descargar el paquete que he generado para instalar Telegram-cli fácilmente en una Raspberry Pi o cualquier otro dispositivo con arquitectura ARM pueden descargarlo del siguiente enlace. Una vez descargado el paquete podrán realizar la instalación ejecutando el siguiente comando:\nsudo dpkg -i telegram-cli_20200624-1_armhf.deb Nota: El paquete .deb únicamente permitirá la instalación de Telegram-cli en dispositivos ARM como por ejemplo la Raspberry Pi.\nOtra solución de instalación aún más sencilla seria utilizando Snap. En mi caso no me ha funcionado. Es posible que en otros sistemas operativos y/o arquitecturas si funcione. Por lo tanto si lo quieren intentar tan solo tendrán que ejecutar el siguiente comando:\nsudo snap install telegram-cli INSTRUCCIONES O COMANDOS PARA USAR TELEGRAM-CLI DE FORMA EFECTIVA Para iniciar Telegram les recomiendo que siempre lo hagan mediante el siguiente comando:\ntelegram-cli -W -N -N: Para que se muestre el número de mensaje. Conocer el número de mensaje es útil para por ejemplo reenviar mensajes, descargar archivos multimedia, etc. -W: Para que se ejecute el comando dialog_list justo al entrar. Si no se arranca con este parámetro es posible que Telegram-cli no detecte los contactos y no podamos acceder dentro de los chat. Una vez ejecutado el comando accederemos a Telegram-cli. Los comandos que tenemos que conocer para usar Telegram-cli son los siguientes:\nComandos útiles para enviar mensajes Función Sintaxis Ejemplo Enviar un mensaje msg texto msg Geekland mensaje vía Telegram-cli Enviar mensaje con salto de línea msg \u0026ldquo;texto1 \\ntexto2\u0026rdquo; msg Geekland \u0026quot;Hola,\\n\\nGracias por acceder al canal\\n\\nSaludos,\\nDe parte de Geekland\u0026quot; Reenviar un mensaje fwd Núm_mensaje a reenviar fwd Geekland 90 Establecer un chat con un usuario, grupo o canal chat_with_peer chat_with_peer uGeek_Grupo Salir de dentro de un chat, grupo o canal /quit /quit Borrar un mensaje delete_msg \u0026lt;num_mensaje_a_borrar\u0026gt; delete_msg 90 Marcar los mensajes de un chat como leídos mark_read mark_read Geekland Ver los 40 últimos mensajes de un grupo o chat history history uGeek_Grupo Ver los 80 últimos mensajes de un grupo o chat history Núm_mensajes_a_mostrar history uGeek_Grupo 80 Reenviar un mensaje multimedia fwd_media Núm_mensaje_reenviar fwd_media Geekland 214 Responder un mensaje determinado reply texto \u0026lt;número mensaje\u0026gt; respuesta reply 90 Es perfecto, gracias Nota: Al introducir un nombre de usuario, canal o grupo tengan en cuenta lo siguiente. Si el nombre contiene un espacio, en vez de un espacio escribiremos _\nNota: No es posible recuperar mensajes borrados en chats secretos o después que haya pasado un determinado tiempo.\nNota: Telegram-cli diferencia mayúsculas de minúsculas. Por lo tanto recordad de poner bien los nombres. Para escribir bien los nombres es útil usar la tecla TAB para autocompletar los nombres y/o comandos.\nEnviar y recibir archivos multimedia Función Sintaxis Ejemplo Enviar una foto send_photo \u0026lt;canal, grupo o usuario\u0026gt; ruta video a subir \u0026ldquo;Descripción foto\u0026rdquo; send_photo Notificaciones /home/pi/vacaciones.jpg La mejor foto de mis vacaciones Enviar un audio send_audio \u0026lt;canal, grupo o usuario\u0026gt; ruta audio a subir \u0026ldquo;Descripción del audio\u0026rdquo; send_audio Notificaciones /home/pi/podcast.mp3 Podcast de Linux Enviar un vídeo send_video \u0026lt;canal, grupo o usuario\u0026gt; ruta video a subir \u0026ldquo;Descripción vídeo\u0026rdquo; send_video Notificaciones /home/pi/youtube/test.mkv Video de prueba para el canal Geekland Enviar archivo de texto send_text \u0026lt;canal, grupo o usuario\u0026gt; ruta archivo texto send_text Notificaciones /home/pi/youtube/youtube.sh Enviar un documento o cualquier archivo send_document \u0026lt;canal, grupo o usuario\u0026gt; ruta documento \u0026ldquo;Descripción del documento\u0026rdquo; send_document Angel /home/pi/tg/telegram-cli_20200624-1_armhf.deb Paquete .deb para instalar Telegram-cli Reenviar un mensaje multimedia evitando compartir información acerca del creador del contenido multimedia fwd_media \u0026lt;canal, grupo o usuario\u0026gt; Número de mensaje a reenviar fwd_media Geekland 214 Descargar una foto load_photo \u0026lt;número de mensaje que contiene la foto\u0026gt; load_photo 300 Descargar una foto e visualizarla con la aplicación predeterminada del sistema view_photo \u0026lt;número de mensaje que contiene la foto\u0026gt; view_photo 300 Descargar un vídeo load_video \u0026lt;número de mensaje que contiene el vídeo\u0026gt; load_video 350 Descargar el vídeo y reproducirlo con la aplicación predeterminada del sistema view_video \u0026lt;número de mensaje que contiene el vídeo\u0026gt; view_video 350 Descargar un documento load_document \u0026lt;número de mensaje que contiene el documento\u0026gt; load_document 450 Descargar un documento y abrirlo mediante la aplicación predeterminada del sistema view_document \u0026lt;número de mensaje que contiene el documento\u0026gt; view_document 450 Descargar un archivo de audio load_audio \u0026lt;número de mensaje que contiene el documento\u0026gt; load_audio 50 Descargar el audio e intentarlo reproducir con la aplicación predeterminada del sistema view_audio \u0026lt;número de mensaje que contiene el documento\u0026gt; view_audio 50 Nota: Cuando envías un archivo de texto con el comando send_text no se envía el archivo. Lo que se envía es el contenido de dentro del fichero de texto a un chat concreto.\nNota: Para enviar archivo multimedia tienes que estar fuera de cualquier canal o grupo.\nUsar chats secretos Nota: Como he comentado esta característica no me funciona de forma adecuada. Es posible que si los 2 clientes están usando Telegram-cli si funcione. En mi caso lo he intentando en un cliente de Android y un cliente Telegram-cli.\nFunción Sintaxis Ejemplo Crear un chat secreto create_secret_chat create_secret_chat Joan Ver los chats secretos chat_with_peer !_ + tecla TAB chat_with_peer !_ Aceptar un chat secreto en el caso que se haya iniciado telegram-cli con la opción -E accept_secret_chat accept_secret_chat !_Geekland Determinar el tiempo de autodestrucción de los mensaje set_ttl \u0026lt;tiempo duración\u0026gt; set_ttl !_Geekland 40 Ver la clave de cifrado que se está usando. Si los 2 interlocutores tienen la misma clave la conversación es segura visualize_key visualize_key !_Geekland Obtener información de un usuario o un grupo Función Sintaxis Ejemplo Obtener un listado de nuestros contactos contact_list contact_list Listar los usuarios y grupos en que estamos dialog_list \u0026lt;número contactos a visualizar\u0026gt; Si no especificamos ninǵun número se mostrarán todos dialog_list 15 Conseguir información sobre un usuario user_info user_info Joan Listar información de nuestro propio usuario get_self get_self Conocer los administradores de un grupo channel_get_admins channel_get_admins uGeek_Grupo Ver los miembros de un canal channel_get_members channel_get_members Geekland Mostrar información de nuestros contactos y chats stats stats Salir de Telegram Función Sintaxis Ejemplo Salir de Telegram quit quit Salir de Telegram de forma segura safe_quit safe_quit Obtener información sobre todos los comandos disponibles en Telegram-cli En este artículo no se muestran todas las opciones ni todos los comandos que se pueden usar con Telegram-cli. Si quieren obtener más información dentro de Telegram-cli ejecuten el siguiente comando:\n\u0026gt; help\nEl comando help les mostrará todos los comandos disponibles en Telegram-cli. Adicionalmente también pueden consultar la siguiente web en la podrán ver todos los comandos disponibles.\nCAMBIAR LA CARPETA DE DESCARGAS DEL CLIENTE DE TELEGRAM Y OTRAS CONFIGURACIONES Modificando el archivo de configuración de Telegram-cli podemos modificar ciertos parámetros del programa. El archivo de configuración se halla dentro de la partición /home.\nModificar la ruta del directorio de descargas Para modificar la ruta donde se realizan las descargas tan solo tienen que modificar el archivo de configuración. Para ello ejecuten el siguiente comando:\nnano ~/.telegram-cli/config Una vez se abra el editor de texto introducen el siguiente código para definir la ruta de descarga:\n# This is an empty config file # Feel free to put something here downloads = \u0026quot;/media/datos/downloads\u0026quot;;\nNota: En vuestro deberéis reemplazar la ruta /media/datos/downloads por la ruta que queréis usar para realizar las descargas.\nVer los números de mensaje de forma predeterminada Al arrancar Telegram usábamos la opción -Npara visualizar los números de mensaje. Si queremos evitar la introducción de este parámetro en el arranque tan solo tendremos que añadir el siguiente código en el archivo de configuración de Telegram-cli:\n# This is an empty config file # Feel free to put something here downloads = \u0026#34;/media/datos/downloads\u0026#34;; msg_num = true; Una vez realizados todos los cambios los guardan y cierran el fichero. La próxima vez que se ejecute Telegram-cli las modificaciones se aplicarán.\nAjustar la cantidad de información mostrada al usar Telegram-cli Se puede ajustar la cantidad de información que sale en pantalla cuando usas Telegram-cli. Lo podemos hacer añadiendo la siguiente línea en el fichero de configuración:\n# This is an empty config file # Feel free to put something here downloads = \u0026#34;/media/datos/downloads\u0026#34;; msg_num = true; log_level = 1; Existen 4 niveles de nivel de log y en mi caso uso el 1. De este modo no se me estará constantemente informando cuando un cliente se conecta o desconecta.\nEJEMPLO BÁSICO DE USO Y CONCLUSIONES A continuación mostraré un pequeño ejemplo de como usar Telegram-cli. El ejemplo es el siguiente:\nComo pueden ver su uso es simple. Telegram-cli tiene gran utilidad y a excepción de los puntos mencionados funciona bien. No es un programa para todo el mundo, pero si para todos aquellos que les gusta realizar sus tareas a través de la terminal. Además es una herramienta extremadamente útil en el caso que se quieran automatizar publicaciones mediante scripts. Es realmente una pena que el desarrollo de este aplicación esté tan parado. La última versión disponible data del año 2016.\nFuentes https://github.com/vysheng/tg\nhttps://github.com/kenorb-contrib/tg\n","permalink":"https://geeklandlinux.github.io/posts/instalar-configurar-y-usar-telegram-cli/","summary":"\u003cp\u003eEn el siguiente artículo veremos las instrucciones para instalar y usar Telegram-cli. Telegram-cli es un software para la terminal que nos permitirá usar Telegram de forma más o menos sencilla y práctica.\u003c/p\u003e","title":"Instalar configurar y usar el cliente para terminal Telegram-cli en Linux"},{"content":"En su día detallamos el uso de cron y anacron para programar la ejecución de tareas y scripts a una hora determinada. Cron y Anacron funcionan perfectamente y de hecho es el método que acostumbro a utilizar. No obstante hay alternativas para reemplazar Cron y una de ellas son los Systemd Timers. Los Timers de Systemd pueden ser una alternativa válida ya que la mayoría de distribuciones Linux incorporan Systemd.\n¿QUÉ SON Y COMO FUNCIONAN LOS SYSTEMD TIMERS? Tal y como hemos comentado en la introducción, los Systemd timers permiten automatizar el inicio de un proceso, programa, script o comando a una hora determinada o en intervalos de tiempo determinados.\nBENEFICIOS QUE APORTAN LOS SYSTEMD TIMERS RESPECTO CRON Tanto Cron como Systemd Timer funcionan perfecto. Teóricamente los Systemd Timers aportan los siguientes beneficios respecto Cron:\nLa depuración de errores es más fácil. Todos los errores producidos en la ejecución de un trabajo quedan registrados en el Journal de Systemd. Proporcionan un mayor control de cuando se ejecutará la tarea. Los Systemd Timers nos permite configurar que para que se inicie una tarea antes tiene que estar levantada la red o un servicio de base de datos como por ejemplo MariaDB. Los trabajos ejecutados con Systemd Timers pueden gestionarse mediante una característica del Kernel llamada Control Groups. Esto permite asociar de forma inequívoca todos los procesos que genera o arranca un servicio. Como contrapartida los Systemd Timers son más difíciles de configurar. Por este motivo en mi caso sigo y seguiré usando Cron.\nPLANIFICAR LA EJECUCIÓN DE UNA TAREA CON SYSTEMD TIMERS Programar una tarea con un systemd timer es sensiblemente más complicado que con Cron. Mientras en Cron trabajamos sobre dos ficheros, en Systemd se acostumbra a trabajar en 3 ficheros:\nEl primer fichero se trata del script que tenemos que ejecutar. Si se trata de correr un simple comando obviamente no es necesario crear ningún script ya que lo podemos introducir directamente en el servicio de Systemd. El segundo fichero es para configurar el servicio de Systemd que iniciará el script o comando que queramos ejecutar. Finalmente, el tercer fichero será para crear el timer que iniciará el servicio de systemd en el momento que nosotros queramos. Una vez vista la introducción pasaremos a ver un ejemplo de creación de un Timer de Systemd. Los pasos a seguir son los siguientes.\nCREAR EL SCRIPT QUE TENEMOS QUE EJECUTAR EN UN MOMENTO DETERMINADO Nota: Si unicamente queréis ejecutar un comando en un momento determinado no es necesario crear un script. Si solo queréis ejecutar un simple comando podéis pasar al siguiente apartado.\nA modo de ejemplo crearé un simple script que registrará la fecha en que un determinado usuario ejecutará el script. Para ello ejecutaré el siguiente comando en la terminal:\nsudo nano /opt/mi_script.sh\nCuando se abra el editor de texto pegaré el siguiente contenido para conseguir mi propósito:\n#!/bin/bash echo \u0026quot;$(whoami) $(date)\u0026quot; \u0026gt;\u0026gt; /home/joan/milog.log\nUna vez creado el script guardaremos los cambios y cerraremos el fichero. Seguidamente daré permisos de ejecución al script ejecutando el siguiente comando en la terminal:\nsudo chmod +x /opt/mi_script.sh\nFinalmente podremos ejecutar el script para ver que funciona. Para ello ejecutaremos el siguiente comando en la terminal:\n/opt/mi_script.sh\nUna vez ejecutado el script comprobaré que el fichero milog.log ha registrado correctamente el usuario que ha ejecutado el script y la hora en que lo hizo. Para ello ejecutaré el siguiente comando en la terminal:\njoan@debian:~$ cat milog.log root vie jun 19 17:28:39 CEST 2020\nCREAR EL SERVICIO DE SYSTEMD QUE INICIARÁ EL SCRIPT QUE ACABAMOS DE CREAR El siguiente paso consiste en crear el servicio de Systemd que ejecutará el script que acabamos de crear. En mi caso todos los servicios de Systemd los acostumbro a crear en la siguiente ubicación:\n/etc/systemd/system/\nAl servicio de Systemd le podemos poner cualquier nombre que tenga relación con la ejecución del script y que termine con la extensión .service. En mi caso crearé el servicio registro.service ejecutando el siguiente comando en la terminal:\nsudo nano /etc/systemd/system/registro.service\nUna vez se abra el editor de texto nano pegaré el siguiente código:\n[Unit] Description= Servicio de prueba para geekland Requires=network.target After=network.target [Service] Type=simple ExecStart=/opt/mi_script.sh User=joan\nUna vez creado el servicio guardamos los cambios y cerramos el fichero. El significado de cada uno de los campos es el que detallo a continuación:\nLa variable Description es para definir la utilidad del servicio. Por lo tanto podemos poner una frase cualquiera que nos ayude a recordar la utilidad del servicio que estamos definiendo. La directiva Requires indica que para que se inicie el servicio la red tiene que estar levantada. Esta directiva está estableciendo una dependencia. Para ejecutar un simple script esta directiva no es necesaria, pero al tratarse de un ejemplo didáctico la he introducido. Con After=network.target indicamos que la red se inicie antes que nuestro servicio. Para ver la totalidad de servicios existentes podemos usar el siguiente comando systemctl list-units --type service --all. Al igual que con la directiva anterior, no es necesario especificar la directiva After para la ejecución de scripts simples. La variable Type define el tipo de arranque del servicio. simple es el valor por defecto y hace que justo después de ejecutar el script, systemd considere que ya se ha ejecutado de forma satisfactoria. Otros tipos de arranque que pueden usarse son forking, oneshot, dbus, notify, idle, etc. Pueden encontrar una explicación de lo que hace cada arranque en el siguiente enlace. En en apartado ExecStart tenemos que detallar el comando que queremos que se ejecute o la ruta del script que queremos ejecutar. Por lo tanto en mi caso tengo que escribir /opt/mi_script.sh. Si al terminar la ejecución del script quisiéramos ejecutar otra acción/script lo podríamos hacer usando la directiva ExecStop. El campo User sirve para definir el usuario que ejecutará el script. Por lo tanto en mi caso será el usuario joan quien ejecutará el script que hemos definido en el apartado anterior. Si no definimos ningún usuario entonces será el usuario root quien ejecuta el script. Para comprobar que el servicio que acabamos de crear funciona ejecutaremos el siguiente comando para que Systemd pueda detectar el nuevo servicio que acabamos de crear:\nsudo systemctl daemon-reload\nPara iniciar el servicio tan solo tenemos que ejecutar el siguiente comando:\nsudo systemctl start registro.service\nDespués de ejecutar este comando se ejecutará el script. Para comprobar que el script se ha ejecutado tan solo tenemos que consultar el fichero en que se tenia que realizar el registro:\njoan@debian:~$ cat milog.log joan sáb jun 20 09:02:56 CEST 2020\nVemos que el registro se ha realizado correctamente y además tal y como especificamos ha sido realizado por el usuario joan.\nCREAR EL TIMER QUE INICIARÁ EL SERVICIO DE SYSTEMD Una vez comprobado que se puede ejecutar el script mediante el servicio crearemos un timer para que el servicio y script se ejecuten cuando nosotros queramos. Para ello en la misma ubicación que creamos el servicio crearemos un fichero con el mismo nombre que el servicio, pero con la extensión .timer. Por lo tanto ejecutaremos el siguiente comando en la terminal:\nsudo nano /etc/systemd/system/registro.timer\nNota: Para identificar fácilmente los servicios y los timers es recomendable que usen el mismo nombre. La única diferencia entre ellos será la extensión.\nNota: Existe la posibilidad de crear timers que se ejecuten a una hora determinado o que se ejecuten después de períodos relativos de tiempo. A continuación veremos las dos opciones.\nCrear un timer para ser ejecutado después de un período relativo de tiempo Una vez se abra el editor de texto nano pegaremos el siguiente código para definir el momento en que se realizará la tarea que queremos ejecutar.\n[Unit] Description= Timer de prueba para geekland [Timer] Unit=registro.service OnBootSec=5min OnUnitActiveSec=15min [Install] WantedBy=timers.target\nUna vez creado el timer guardamos los cambios y cerramos el fichero. El significado de cada uno de los campos es el que detallo a continuación:\nEn la variable Description ponemos una descripción que ayude a identificar la utilidad del timer. Por lo tanto en mi caso pongo la misma descripción que en el servicio de Systemd. En Unit tenemos que introducir el nombre del servicio que tiene que ejecutar el timer. Por lo tanto en nuestro caso escribimos registro.service. En mi caso si quisiera no seria necesario introducir la variable Unit porque el Timer y el servicio de Systemd tienen el mismo nombre. El parámetro OnBootSec=5min indica que queremos que el script se ejecute 5 minutos después de arrancar el sistema operativo. El parámetro OnUnitActiveSec=15min hará que nuestro script se vaya ejecutando cada 15 minutos después de que se haya arrancado el sistema operativo. Si queremos indicar valores en semanas podemos reemplazar 15min por 2w. Wantedby es para indicar cuando se activará el Timer para ejecutar la tarea. En mi caso Wantedby tiene el valor timers.target. Por lo tanto el timer se activa justo al iniciar nuestro equipo. Otros valores de Wantedby que podemos usar son multi-user.target, graphical.target, bluetooth.target, etc. Cada target activará el timer en determinadas circunstancias. Por lo tanto si reemplazamos timers.target por graphical.target, el timer para activar la ejecución del script se iniciará en el momento que se levante la interfaz gráfica y si no se levanta la interfaz gráfica nunca se ejecutará el script. Para ver todos los target disponibles pueden ejecutar el siguiente comando en la terminal systemctl list-units --type target. Crear un timer para ser ejecutado a una hora determinada Si por lo contrario queremos ejecutar nuestras tareas a una fecha y hora determinada deberemos cambiar los parámetros OnBootSec y OnUnitActiveSec por OnCalendar. Por lo tanto, el código del timer pasará a ser del siguiente modo:\n[Unit] Description= Timer de prueba para geekland [Timer] Unit=registro.service OnCalendar=Thu *-*-* 17:00:00 Persistent=true [Install] WantedBy=timers.target\nObserven lo siguiente:\nLa línea en que definimos Persistent=true es opcional. Si añadimos esta línea y definimos su valor como true entonces si el ordenador no está encendido el jueves a las 17:00 horas no pasará nada porque el trabajo se ejecutará justo después de iniciar el ordenador. Por lo tanto añadiendo Persistent=true conseguiremos la misma funcionalidad que nos ofrece Anacron. La sintaxis del parámetro Oncalendar para definir la hora o las horas en que se tiene que ejecutar el script es la siguiente. OnCalendar=Dia_semana año-mes-Dia Hora:minuto:segundo Por lo tanto en función del momento en que queremos ejecutar el script tendremos que modificar el parámetro OnCalendar del siguiente modo:\nHora a iniciar Parámetro para configurar el inicio Todos los jueves que sean día 5 a las 17:00 horas y 50 minutos OnCalendar=Thu *-*-5 17:50:00 Todos los días de Lunes a Viernes a las 4 de la madrugada. OnCalendar=Mon..Fri *-*-* 04:00:00 Cada 5 Minutos OnCalendar=*-*-* *:0/5 Los 10 primeros días del mes a las 14:30 siempre y cuando sea Lunes o Martes OnCalendar=Mon,Tue *-*-01..10 14:30:00 Cada Minuto OnCalendar=*-*-* *:*:00 Cada Hora OnCalendar=*-*-* *:00:00 A diario OnCalendar=*-*-* 00:00:00 De forma semanal los Domingos a las 12 de la noche OnCalendar=Sun *-*-* 00:00:00 Se ejecuta una vez al mes OnCalendar=*-*-01 00:00:00 Unicamente una vez al año OnCalendar=*-01-01 00:00:00 Una vez cada 4 meses OnCalendar=*-01,04,07,10-01 00:00:00 Una vez cada 6 meses OnCalendar=*-01,07-01 00:00:00 ACTIVAR EL TIMER QUE ACABAMOS DE CREAR A estas alturas y solo nos falta habilitar e iniciar el timer. Para ello recargaremos la configuración de Systemd ejecutando el siguiente comando en la terminal:\nsudo systemctl daemon-reload\nActo seguido habilitaremos e iniciaremos el timer ejecutando los siguientes comandos en la terminal:\nsudo systemctl enable registro.timer sudo systemctl start registro.timer\nFinalmente podemos comprobar que el timer esta activo del siguiente modo:\njoan@debian:~$ sudo systemctl status registro.timer ● registro.timer - Timer de prueba para geekland Loaded: loaded (/etc/systemd/system/registro.timer; enabled; vendor preset: enabled) Active: active (waiting) since Sat 2020-06-20 11:26:19 CEST; 58s ago Trigger: Sat 2020-06-20 11:41:19 CEST; 14min left Triggers: ● registro.service\nFuentes Consulten las fuentes que les dejo a continuación. Los Systemd Units disponen de multitud de parámetros de configuración que no se han comentado en este artículo. Los siguientes enlaces les ayudarán a configurar de forma más precisa el inicio de una tarea.\nhttps://www.digitalocean.com/community/tutorials/understanding-systemd-units-and-unit-files https://wiki.archlinux.org/index.php/Systemd/Tim https://www.freedesktop.org/software/systemd/man/systemd.timer.html https://www.freedesktop.org/software/systemd/man/systemd.s.html https://www.freedesktop.org/software/systemd/man/systemd.u.html https://doc.opensuse.org/documentation/leap/archive/42.2/reference/html/book.opensuse.reference/cha.systemd.html https://wiki.archlinux.org/index.php/Systemd_(Espa%C3%B1ol)/Timers_(Espa%C3%B1ol)\n","permalink":"https://geeklandlinux.github.io/posts/programar-la-ejecucion-de-tareas-con-systemd-timers-y-reemplazar-cron/","summary":"\u003cp\u003eEn su día detallamos el \u003ca href=\"/posts/planificar-tareas-con-cron-y-anacron-en-linux/\"\u003euso de cron y anacron\u003c/a\u003e para programar la ejecución de tareas y scripts a una hora determinada. Cron y Anacron funcionan perfectamente y de hecho es el método que acostumbro a utilizar. No obstante hay alternativas para reemplazar Cron y una de ellas son los Systemd Timers. Los Timers de Systemd pueden ser una alternativa válida ya que la mayoría de distribuciones Linux incorporan Systemd.\u003c/p\u003e","title":"Programar la ejecución de tareas con Systemd Timers y reemplazar Cron"},{"content":"Me atrevería a decir que Debian es la distribución con los repositorios más completos. No obstante si usas Debian Testing o Debian estable no encontraréis la última versión de Firefox en los repositorios. La versión que encontraréis es la ESR. Para instalar y actualizar Firefox a la última versión existen muchas soluciones. Algunas de las que habría aplicado en el pasado sin dudarlo son las siguientes:\nEn el caso de estar usando Debian estable instalaría Firefox usando los repositorios Backports. Si estuviera usando Debian testing instalaría la última versión de Firefox añadiendo los repositorios de Debian Sid. Instalación mediante paquetes Snap o Flatpak. No obstante a día de hoy prefiero no añadir repositorios adicionales a mi equipo y evitar la paquetería Snap y Flatpak. Por lo tanto en mi caso he optado por instalar y actualizar Firefox mediante un simple script.\nNota: Los script para instalar y actualizar Firefox deben funcionar en cualquier distribución Linux siempre y cuando el procesador del ordenador sea de 64 bits.\nINSTALAR FIREFOX DE FORMA AUTOMÁTICA MEDIANTE UN SCRIPT Los pasos a seguir para instalar Firefox a través de un simple script son los que verán a continuación\nPreparación previa para instalar Firefox Antes de iniciar la instalación es recomendable borrar todo rastro de cualquier instalación antigua de Firefox. Para ello ejecuten los siguientes comandos en la terminal:\nsudo apt remove --purge firefox-esr firefox sudo apt autoremove En el caso que también quieran borrar los archivos de configuración ejecuten el siguiente comando:\nsudo rm -r ~/.mozilla Generar el script para instalar Firefox En estos momentos ya podemos generar el script para instalar Firefox. Para ello ejecutaremos el siguiente comando en la terminal:\nnano install_firefox.sh Cuando se abra el editor de textos nano pegaremos el siguiente código:\n#!/bin/bash wget \u0026#34;https://download.mozilla.org/?product=firefox-latest\u0026amp;os=linux64\u0026amp;lang=es-ES\u0026#34; -O latest-firefox.tar.bz2 rm -r /opt/firefox tar -jxvf latest-firefox.tar.bz2 -C /opt echo \u0026#39;Firefox instalado\u0026#39; ln -s /opt/firefox/firefox /usr/bin/firefox touch test.desktop echo -e \u0026#34;[Desktop Entry]\\nName=Firefox\\nComment=Navegador web\\nGenericName=Web Browser\\nX-GNOME-FullName=Firefox \u0026#39;\u0026#39;Su versión\u0026#39;\u0026#39; Web Browser\\nExec=/opt/firefox/firefox %u\\nTerminal=false\\nX-MultipleArgs=false\\nType=Application\\nIcon=/opt/firefox/browser/chrome/icons/default/default128.png\\nCategories=Network;WebBrowser;\\nMimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;\\nStartupWMClass=Firefox\\nStartupNotify=true\\nPath=\u0026#34; \u0026gt; test.desktop mv test.desktop /usr/share/applications/firefox.desktop rm latest-firefox.tar.bz2 Una vez pegado el código guardamos los cambios y cerramos el editor de texto. A continuación daremos permisos de ejecución al script mediante el siguiente comando:\nchmod +x install_firefox.sh Instalar Firefox mediante el script que acabamo de generar Con todo el trabajo ya realizado tan solo tendremos que ejecutar el siguiente comando para instalar Firefox:\nsudo bash install_firefox.sh Una vez finalizada la ejecución del comando Firefox estará instalado en su equipo. Ademas estará perfectamente integrado con el escritorio.\nACTUALIZAR FIREFOX DE FORMA AUTOMÁTICA MEDIANTE UN SCRIPT Para actualizar Firefox de una forma sencilla y silenciosa lo haremos mediante otro script. Antes de crear y ejecutar el script instalaremos el paquete zenity. Para ello ejecutaremos el siguiente comando en al terminal:\nsudo apt install zenity Acto seguido crearemos un script que diariamente comprobará si existe una actualización de Firefox. En el caso haya una actualización disponible aparecerá una ventana en la que tendremos que seleccionar si queremos actualizar o no. En caso de no actualizar, el siguiente día que usemos el ordenador nos volverá a aparecer la ventana para informarnos que hay una actualización pendiente.\nCrear el script para actualizar Firefox Para crear el script ejecutaremos el siguiente comando en la terminal:\nsudo nano /etc/cron.daily/firefox_update Cuando se abra el editor de textos nano pegaremos el siguiente código:\n#!/bin/bash guitool=zenity instalada=$(su $(whoami) -c \u0026#39;firefox -v\u0026#39;) version=$(curl -fI \u0026#39;https://download.mozilla.org/?product=firefox-latest\u0026amp;os=linux64\u0026amp;lang=es-ES\u0026#39; | grep -o \u0026#39;firefox-[0-9.]\\+[0-9]\u0026#39;) if [[ ${instalada:16} = ${version:8} ]]; then echo \u0026#39;no es necesario actualizar\u0026#39; else $guitool --question --width=250 --title \u0026#39;Actualización de Firefox disponible!\u0026#39; --text \u0026#39;¿Quieres actualizar Firefox?\u0026#39; --ok-label=\u0026#34;Sí\u0026#34; --cancel-label=\u0026#34;No\u0026#34; ; case $? in 0) wget \u0026#34;https://download.mozilla.org/?product=firefox-latest\u0026amp;os=linux64\u0026amp;lang=es-ES\u0026#34; -O latest-firefox.tar.bz2 \u0026#34;$1\u0026#34; rm -r /opt/firefox \u0026#34;$1\u0026#34; tar -jxvf latest-firefox.tar.bz2 -C /opt \u0026#34;$1\u0026#34; rm latest-firefox.tar.bz2 \u0026#34;$1\u0026#34; echo \u0026#39;Firefox actualizado\u0026#39; \u0026#34;$1\u0026#34; ;; 1) echo \u0026#39;no es necesario actualizar\u0026#39; $1 ;; esac fi Una vez pegado el código guardamos los cambios y cerramos el editor de texto. Finalmente daremos permisos de ejecución al script ejecutando el siguiente comando:\nsudo chmod +x /etc/cron.daily/firefox_update Hacer que Firefox se autoactualice de forma silenciosa Para actualizar Firefox no es necesario ejecutar manualmente el script. El script lo podemos ejecutar de forma automática y silenciosa mediante anacron. Para ello ejecuten el siguiente comando en la terminal:\nsudo nano /etc/anacrontab Cuando se abra el editor de texto nano añadan la siguiente línea al final del fichero:\n1 5 update_firefox sudo /bin/bash /etc/cron.daily/firefox_update Una vez introducida la línea guardan los cambios y cierran el fichero.\nA partir de estos momentos a diario se comprobará si existen actualizaciones para Firefox. Si el ordenador está apagado no os tenéis que preocupar. Si el ordenador ha estado más de un día apagado, en el momento que lo inicien se comprobará si existen actualizaciones.\n¿Qué pasará cuando haya una actualización? En el momento que se detecte una actualización aparecerá la siguiente ventana. Una vez aparezca tan solo tienen que decidir si quieren o no instalar la nueva actualización. En mi caso como quiero actualizar presiono sobre el botón Sí.\nEn el caso que respondan No tendrán que esperar 24 horas para volver a recibir la notificación. Si presionan que No y no quieren esperar 24 horas pueden forzar la actualización ejecutando el siguiente comando:\nsudo bash /etc/cron.daily/firefox_update DESINSTALAR FIREFOX Si algún día pretenden desinstalar Firefox tan solo tendrán que ejecutar el siguiente comando en la terminal:\nsudo rm -r /opt/firefox \u0026amp;\u0026amp; sudo rm /usr/share/applications/firefox.desktop Si además quieren borrar todos los ficheros de configuración tendrán que ejecutar el siguiente comando:\nsudo rm -r ~/.mozilla ","permalink":"https://geeklandlinux.github.io/posts/instalar-y-actualizar-firefox-con-un-script/","summary":"\u003cp\u003eMe atrevería a decir que Debian es la distribución con los repositorios más completos. No obstante si usas Debian Testing o Debian estable no encontraréis la última versión de Firefox en los repositorios. La versión que encontraréis es la ESR. Para instalar y actualizar Firefox a la última versión existen muchas soluciones. Algunas de las que habría aplicado en el pasado sin dudarlo son las siguientes:\u003c/p\u003e","title":"Instalar y actualizar Firefox a la última versión con un script"},{"content":"Es posible que alguien pretenda usar nano para editar o crear un fichero en Markdown. Si lo hacen verán que nano no tiene ningún tipo de resaltado Markdown.\nSi os encontráis con este problema tiene fácil solución. Tan solo tenéis que crear un fichero para especificar el resaltado que queréis realizar.\nCOMPROBAR SI NANO TIENE CONFIGURADO UN RESALTADO MARKDOWN Los ficheros de configuración que aplican el resaltado de los diferentes diferentes tipos de lenguajes de programación se hallan en /usr/share/nano. Para listar los fichero existentes ejecutaremos el siguiente comando en la terminal:\nls /usr/share/nano/ En mi caso el resultado obtenido ha sido el siguiente:\nObservamos que no hay ningún fichero que contenga el nombre markdown. Por lo tanto no se está aplicando ningún tipo de resaltado. Para definir el resaltado que tendrán los archivos que terminan con las extensiones .md, .mkd, .mkdn, .markdown realizaremos lo siguiente.\nCREAR EL FICHERO DE CONFIGURACIÓN PARA RESALTAR EL TEXTO MARKDOWN EN NANO Visto lo visto, la forma para solucionar nuestro problema es crear un fichero de configuración para configurar el resaltado que tenemos que aplicar a los ficheros markdown. Para ello tan solo tenemos que ejecutar el siguiente comando en la terminal:\nsudo nano /usr/share/nano/markdown.nanorc Una vez se habrá el editor de textos nano pegaremosw el siguiente código que servirá para definir el marcado:\nsyntax \u0026#34;Markdown\u0026#34; \u0026#34;\\.(md|mkd|mkdn|markdown)$\u0026#34; # Tables color cyan \u0026#34;.*[ :]\\|[ :].*\u0026#34; # quotes color brightblack start=\u0026#34;^\u0026gt;\u0026#34; end=\u0026#34;^$\u0026#34; color brightblack \u0026#34;^\u0026gt;.*\u0026#34; # Emphasis color green \u0026#34;(^|[[:space:]])(_[^ ][^_]*_|\\*[^ ][^*]*\\*)\u0026#34; # Strong emphasis color brightgreen \u0026#34;(^|[[:space:]])(__[^ ][^_]*__|\\*\\*[^ ][^*]*\\*\\*)\u0026#34; # strike-through color red \u0026#34;(^|[[:space:]])~~[^ ][^~]*~~\u0026#34; # horizontal rules color brightmagenta \u0026#34;^(---+|===+|___+|\\*\\*\\*+)\\s*$\u0026#34; # headlines color brightmagenta \u0026#34;^#{1,6}.*\u0026#34; # lists color yellow \u0026#34;^[[:space:]]*[\\*+-] |^[[:space:]]*[0-9]+\\. \u0026#34; # leading whitespace color black \u0026#34;^[[:space:]]+\u0026#34; # misc color magenta \u0026#34;\\(([CcRr]|[Tt][Mm])\\)\u0026#34; \u0026#34;\\.{3}\u0026#34; \u0026#34;(^|[[:space:]])\\-\\-($|[[:space:]])\u0026#34; # links color brightblue \u0026#34;\\[[^]]+\\]\u0026#34; color brightblue \u0026#34;\\[([^][]|\\[[^]]*\\])*\\]\\([^)]+\\)\u0026#34; # images color magenta \u0026#34;!\\[[^][]*\\](\\([^)]+\\)|\\[[^]]+\\])\u0026#34; # urls color brightyellow \u0026#34;https?://[^ )\u0026gt;]+\u0026#34; # code color yellow \u0026#34;`[^`]*`|^ {4}[^-+*].*\u0026#34; # code blocks color yellow start=\u0026#34;^```[^$]\u0026#34; end=\u0026#34;^```$\u0026#34; color yellow \u0026#34;^```$\u0026#34; # Trailing spaces color green \u0026#34;[[:space:]]+$\u0026#34; Una vez pegado el código guardan los cambios y cierran el fichero. A partir de ahora siempre que editemos un fichero con las siguientes extensiones:\n.md .mkd .mkdn .markdown Se utilizará el resaltado Markdown que acabamos de definir. Si ahora volvemos a abrir el fichero que abrimos inicialmente veremos que ahora si se está aplicando un resaltado para el lenguaje Markdown.\nMUESTRA EN DETALLE DEL NUEVO RESALTADO MARKDOWN Les recomiendo que creen un fichero cualquiera y vayan escribiendo texto siguiendo en lenguaje de marcado markdown. Si lo hacen verán que en cada uno de los elementos se aplicará el resaltado que hemos configurado.\nSi no les gusta algunos de los colores pueden entrar dentro del fichero de configuración y cambiarlos.\nSITIOS PARA ENCONTRAR CONFIGURACIONES DE MARCADO ALTERNATIVAS Usando su buscador web serán capaces de encontrar configuraciones predefinidas para el resaltado de texto Markdown en nano. Algunas URL en las que podréis encontrar configuraciones para Markdown y para otros tipos de lenguaje son las siguientes:\nhttps://github.com/serialhex/nano-highlight/ https://github.com/scopatz/nanorc/ https://github.com/yuriibezpalko/nanorc https://gitlab.pasteur.fr/nmaillet/Small_tips/-/tree/f185268471ff3f87a25979ddb4099cdab0666d54/nano/.nano/syntax\nSi buscan estoy seguro que encontrarán más opciones de las que he detallado.\n","permalink":"https://geeklandlinux.github.io/posts/obtener-resaltado-markdown-en-nano/","summary":"\u003cp\u003eEs posible que alguien pretenda usar nano para editar o crear un fichero en Markdown. Si lo hacen verán que nano no tiene ningún tipo de resaltado Markdown.\u003c/p\u003e","title":"Obtener resaltado Markdown en el editor de textos nano"},{"content":"En el pasado escribí un artículo sobre los servicios de correo temporal. Estos servicios son útiles cuando necesitamos suscribirnos a un servicio y no queremos proporcionar nuestro email. No obstante tienen el problema que si necesitamos recibir información como por ejemplo una newsletter no la podremos recibir. La solución a este problema es crear un alias de nuestro email y usar este alias para suscribirnos a la newsletter. De esta forma:\nPodremos suscribirnos al servicio que proporciona la Newsletter. Periódicamente recibiremos la newsletter vía email y la podremos leer. En el momento que decidamos que ya no queremos recibir la newsletter tan solo tenemos que cancelar o bloquear el alias del email que creamos. De esta forma quien está detrás del servicio de la newsletter no podrá freírnos a publicidad ni spamear porque no sabrá nuestro email real. Para realizar lo que acabo de mencionar existen varios servicios, pero en este artículo detallaremos como hacerlo con SimpleLogin. SimpleLogin es una solución Open Source que ofrece un servicio Freemium. Aparte de ofrecer el servicio Freemium en sus propios servidores también ofrecen la posibilidad que nosotros mismos autoalojemos SimpleLogin en nuestro propio servidor mediante un contenedor Docker.\nNota: Una futura nueva alternativa que garantizará mínimamente nuestra privacidad será Firefox Private Relay. Desafortunadamente este servicio de Mozilla aun está en desarrollo y no está abierto al público para ser testeado.\nNota: Gmail y gestores de correo electrónico como outlook también permiten generar alias.\n¿QUÉ ES Y COMO FUNCIONA UN ALIAS? Un alias es una dirección de correo alternativa a nuestra dirección real. En el momento que un tercero envíe un correo a nuestra dirección de correo alternativa pasará lo siguiente:\nSe recibirá el correo en la dirección de correo alternativa. Una vez recibido el correo, la dirección de correo alternativa reenviará el email a la dirección de correo real. Por lo tanto mediante el alias podremos recibir emails de una determinada persona sin tener que dar nuestra dirección de correo real. De esta forma podemos preservar nuestra privacidad y evitar el correo no deseado.\nVENTAJAS DE GENERAR UN ALIAS DE NUESTRO EMAIL EN VEZ DE LOS CORREOS TEMPORALES Al crear un alias para nuestro email obtendremos los siguiente beneficios:\nNingún desconocido tendrá nuestra dirección de correo electrónico. Como mucho tendrá un alias de nuestro correo electrónico que podemos eliminar en cualquier momento. Dispondremos de la totalidad de funciones de los servicios a que nos suscribamos. Podremos recibir las notificaciones vía email de los administradores de los servicios a que estamos suscritos. Además podremos usar las opciones de recuperación de contraseña en el caso que sea necesario. Evitar correo no deseado. El servicio al que nos suscribimos nunca conocerá nuestro correo electrónico real. Unicamente conocerá un alias que podemos eliminar o bloquear en cualquier momento. Por lo tanto en el momento que eliminemos el alías ya nos podrán contactar para spamear. Enviar y responder emails usando nuestro propio alias. De esta forma también podremos preservar nuestra privacidad y que nuestro correo caiga en listas de spam. Mejoramos la seguridad de nuestro correo electrónico. En el caso que exista una brecha de seguridad al servicio al que nos suscribimos nuestra dirección de email real no estará expuesta. CREAR UN ALIAS PARA NUESTRO CORREO ELECTRÓNICO Los pasos a seguir para empezar a usar el servicio de SimpleLogin son los siguientes.\nCrear una cuenta de SimpleLogin Lo primero que tenemos que realizar es acceder a la web de SimpleLogin y hacernos una cuenta:\nhttps://app.simplelogin.io/auth/register\nCrear un alias para nuestra cuenta de correo Una vez creada la cuenta nos logueamos y clicamos en el botón de New Alias.\nA continuación aparecerá una pantalla en la que que tendréis 4 campos para rellenar:\nEn el primero escribimos un nombre cualquiera que queramos que tenga nuestro alias. En mi caso escribo geekland. Seguidamente seleccionamos el dominio que queramos que tenga nuestro alias. En mi caso elijo .herslef@simplelogin.co. Si somos usuarios de pago SimpleLogin da la posibilidad de usar nuestro propio dominio para crear un alias. Por lo tanto en mi caso podría crear un alias como por ejemplo contacto@geekland.eu. Para ello tan solo tendría que modificar los registros MX “Mail Exchange” de mi dominio. A continuación, en el siguiente campo tan solo hay que escribir la cuenta de email para la que queremos generar el Alias. En el apartado Mailboxes podremos añadir nuestras cuentas de correo electrónico. El último de los campos es para introducir una descripción y de este modo recordar el uso que daremos al Alias. Una vez rellenados todos los campos presionamos en el botón Create.\nEl alias generado siempre estará activo hasta que nosotros mismo lo anulemos o lo bloqueemos. Cualquier persona que escriba un email al alías que acabamos de crear será recibido en nuestra cuenta de correo.\nNota: Una vez eliminado un alias nadie más lo podrá usar.\nComo recibir emails de un tercero mediante un alias Una vez creado el alias lo proporcionamos a una tercera persona. Esta tercera persona abrirá su cuenta de hotmail y nos enviará un email introduciendo nuestro alias en la dirección de envío.\nUna vez enviado el correo nos dirigiremos a nuestro cuenta de correo. Después de consultarla veremos que el email nos ha llegado perfectamente. Además la dirección del receptor es la del alias y no nuestro email.\nSi ahora pretendemos responder el correo que acabamos de recibir lo podemos hacer sin problema. Justo en el momento de responder se creará un alias reverso y de este modo el receptor nunca verá nuestra dirección de email.\nEnviar emails mediante un alias reverso Podemos enviar emails con nuestro alias, pero antes tendremos que crear una alias reverso. Para ello accedemos en el apartado Aliases del panel de control de SimpleLogin. Acto seguido presionamos el botón Send Email del alias que creamos y que queremos usar para enviar el email.\nActo seguido, en el único campo que aparece en pantalla escribimos la dirección de correo a la que queremos enviar el email y presionamos el botón Create reverse-alias.\nJusto después de presionar el botón se creará el alias reverso. Una vez creado cliquen sobre el botón Copy reverse-alias. De esta forma el alias reverso se copiará en el portapapeles.\nNota: El alías reverso que acabamos de copiar servirá para enviar emails a la dirección de email que hayamos definido. Esté alias reverso es permanente a no ser que lo eliminemos.\nSeguidamente se van a su cuenta de email y en el campo donde introducen la dirección de envío pegan el alías inverso que acaban de generar. A continuación escriben el email y lo envían.\nDespués de enviarlo verán que el receptor recibe el email sin ningún tipo de problema.\nCREAR UN ALIAS DE NUESTRO EMAIL SIN TENER QUE ACCEDER AL PANEL DE SIMPLELOGIN NI USAR NINGÚN PROGRAMA O EXTENSIÓN Existe la posibilidad de crear alias de forma completamente automática y sin necesidad de entrar en el panel de administración web. Para ello podemos tendremos que acceder al panel de administración web y clicar en la pestaña Directorios.\nActo seguido en el campo New Directory escribiremos una palabra cualquiera que formará la parte inicial de nuestro alias y presionamos el botón Create. En mi caso la palabra seleccionada a sido testgeeklandeu\nUna vez creado el dominio testgeeklandeu podemos crear tantos alias como queramos de forma automática.\nImaginemos que alguien nos pide el email y no tenemos creado ningún alias. Si se lo queremos dar de forma inmediata tan solo tenemos que proporcionarle una dirección del siguiente tipo:\ndirectorio+cualquier_palabra@aleeas.com directorio+cualquier_palabra@slmail.me directorio/cualquier_palabra@aleeas.com directorio/cualquier_palabra@slmail.me directorio#cualquier_palabra@aleeas.com directorio#cualquier_palabra@slmail.me Como el directorio que acabo de crear es testgeeklandeu daré la siguiente dirección a la persona que me ha pedido el email:\ntestgeeklandeu+geekland@aleeas.com La persona a la que le he dado la dirección me enviará un email.\nUna vez enviado el email lo recibiré sin problema alguno.\nSi ahora accediéramos al panel de administración de SimpleLogin veríamos que el alias se ha generado de forma automática.\nQUE PUEDE HACER UN USUARIO FREE DE SIMPLELOGIN Hemos dicho que SimpleLogin es un servicio Freemium. El servicio Freemium nos permite realizar lo siguiente:\nCrear un máximo de 15 alías Enviar, recibir y responder tantos correos como queramos. Usar las extensiones de Chrome, Firefox o Safari para crear y gestionar nuestros alias de forma sencilla. Usar la aplicación de iOS o Android. Si pretenden crear un número ilimitado de alias, crear alias personalizados, crear directorios de alias o cifrar el envío de emails deberéis pagar una suscripción de SimpleLogin.\nCONSIDERACIONES Y REFLEXIONES SOBRE SIMPLELOGIN Existe la posibilidad que los alias creados sean detectados como correo no deseado o no sean entregados por ser considerados Spam. Por este motivo SimpleLogin guarda una copia de los correos que se envían a nuestro alias durante 7 días. Después de 7 días el correo será completamente borrado.\nPor lo tanto:\nSimpleLogin puede tener acceso a los correos enviados a través del alias. Si SimpleLogin cierra existe la remota posibilidad que podamos perder el acceso a alguno de los servicios al que nos suscribimos usando el alias. Si os preocupan estos aspectos existen las siguientes soluciones:\nPagar el servicio Premium y de este modo podremos cifrar los correos electrónicos con nuestra propia clave PGP. De esta forma SimpleLogin no tendrá acceso al contenido de nuestros correos. Autoalojar vosotros mismos el servicio. De este modo seréis vosotros quien tiene el control total sobre el servicio. En mi caso estoy usando el servicio gratuito que ofrece SimpleLogin. De momento solo puedo decir que funciona perfectamente y para el uso que yo le daré la versión Free es suficiente.\n","permalink":"https://geeklandlinux.github.io/posts/crear-un-alias-de-nuestro-email-con-simplelogin/","summary":"\u003cp\u003eEn el pasado escribí un artículo sobre los servicios de correo temporal. Estos servicios son útiles cuando necesitamos suscribirnos a un servicio y no queremos proporcionar nuestro email. No obstante tienen el problema que si necesitamos recibir información como por ejemplo una newsletter no la podremos recibir. La solución a este problema es crear un alias de nuestro email y usar este alias para suscribirnos a la newsletter. De esta forma:\u003c/p\u003e","title":"Crear un alias de nuestro email con SimpleLogin para evitar el spam"},{"content":"En el último artículo vimos como instalar y configurar el proxy inverso Traefik en Docker. Con lo visto hasta el momento, desde fuera de nuestra red local podemos acceder a servicios que están corriendo dentro de la misma red en que instalamos el contenedor de Traefik. Si además queremos acceder a servicios que están corriendo en equipos remotos y/o fuera de contenedores deberemos editar manualmente el fichero de configuración de Traefik. Para añadir servicios a Traefik que están corriendo en máquinas remotas deberemos seguir el siguiente procedimiento.\nCONOCER LOS PARÁMETROS PARA AÑADIR SERVICIOS A TRAEFIK Imaginemos que nuestro objetivo es el siguiente:\n“Quiero acceder al lector de feeds FreshRSS instalado en un equipo remoto cualquiera de mi red local.”\nEl equipo remoto en que está instalado FreshRSS:\nTiene la IP interna 192.168.1.100 El servicio FreshRSS está corriendo en el puerto 8000 El firewall está configurado para permitir la comunicación de entrada y salida con el equipo en que tenemos instalado Traefik. Tal y como configuramos en el anterior artículo, tenemos el dominio ejemplo1.duckdns.org. Para acceder al servicio de freshrss lo haré añadiendo el subdominio freshrss al dominio principal. Por lo tanto la URL para acceder a freshrss será freshrss.ejemplo1.duckdns.org. FreshRSS está instalado en un contenedor Docker. En el caso que estuviera instalado de forma local, el procedimiento sería exactamente el mismo. AÑADIR SERVICIOS A TRAEFIK QUE ESTÁN CORRIENDO EN EQUIPOS REMOTOS Una vez tenemos claros los puntos que acabo de mencionar ya podemos añadir servicios a Traefik. Para ello editaremos el fichero de configuración de Traefik ejecutando el siguiente comando en la terminal:\nnano traefik.toml Una vez se abra el editor de textos nano definiremos los backends y frontends del servicio que queremos añadir. Para ello tan solo tendremos que pegar el siguiente código al final del archivo de configuración:\n[file] [backends] [backends.backend-freshrss] [backends.backend-freshrss.servers] [backends.backend-freshrss.servers.server-freshrss-ext] url = \u0026#34;http://192.168.1.100:8000\u0026#34; weight = 1 [frontends] [frontends.frontend-freshrss] backend = \u0026#34;backend-freshrss\u0026#34; passHostHeader = true [frontends.frontend-freshrss.routes] [frontends.frontend-freshrss.routes.route-freshrss-ext] rule = \u0026#34;Host:freshrss.ejemplo1.duckdns.org\u0026#34; En el texto pegado solo deberéis reemplazar/adaptar las partes coloreadas. Las partes coloreadas las deberéis adaptar de la siguiente forma:\nEl texto rojo debe ser reemplazado por un nombre cualquiera que ayude a identificar el backend y el frontend. En mi caso he puesto el nombre del servicio al que quiero acceder que es freshrss El texto azul corresponde a la dirección IP que tiene el servidor que está corriendo Freshrss. En mi caso es la 192.168.1.100. El texto en verde debe ser reemplazado por el puerto que está usando el servicio Freshrss. En mi caso es el puerto 8000. Finalmente el texto rosa lo debéis reemplazar por el dominio que queréis usar para acceder a Freshrss. Anteriormente definimos que el dominio para acceder al servicio sería freshrss.ejemplo1.duckdns.org. Una vez aplicada la configuración guardan los cambios y reinician el contenedor de traefik.\nA partir de estos momentos si abrimos el panel de control web de traefik veremos que ha aparecido la sección files. Si accedemos dentro de esta sección files veremos que los backends y frontends se han creado con los parámetros que hemos introducido en el fichero de configuración.\nSi ahora ingresamos la URL freshrss.ejemplo1.duckdns.org en el navegador verán que podemos acceder a FreshRSS sin ningún tipo de problema.\nAñadir servicios adicionales a traefik Para añadir más servicios lo haremos del mismo modo que acabamos de realizar. Lo único que tenemos que tener en cuenta es lo siguiente:\nTodos los nuevos backends que añadamos tienen que estar dentro de la etiqueta [backends]. Todos los nuevos frontends que añadamos tienen que estar dentro de la etiqueta [frontends]. Por lo tanto si ahora queremos acceder al servidor multimedia Jellyfin que está corriendo en la red Host de Docker desde fuera de nuestra red local añadiremos el siguiente código dentro del fichero de configuración de Traefik.\n[file] [backends] [backends.backend-freshrss] [backends.backend-freshrss.servers] [backends.backend-freshrss.servers.server-freshrss-ext] url = \u0026#34;http://192.168.1.100:8000\u0026#34; weight = 1 [backends.backend-jellyfin] [backends.backend-jellyfin.servers] [backends.backend-jellyfin.servers.server-jellyfin-ext] url = \u0026#34;http://192.168.1.101:8096\u0026#34; weight = 1 [frontends] [frontends.frontend-freshrss] backend = \u0026#34;backend-freshrss\u0026#34; passHostHeader = true [frontends.frontend-freshrss.routes] [frontends.frontend-freshrss.routes.route-freshrss-ext] rule = \u0026#34;Host:freshrss.ejemplo1.duckdns.org\u0026#34; [frontends.frontend-jellyfin] backend = \u0026#34;backend-jellyfin\u0026#34; passHostHeader = true [frontends.frontend-jellyfin.routes] [frontends.frontend-jellyfin.routes.route-jellyfin-ext] rule = \u0026#34;Host:jellyfin.ejemplo1.duckdns.org\u0026#34; Nota: Tal y como pueden ver en el archivo de configuración, Jellyfin está corriendo en un equipo que tiene la IP interna 192.168.1.101. Jellyfin está escuchando en el puerto 8096.\nUna vez introducidos los cambios en el fichero de configuración los guardan y reinician Traefik.\nSi ahora acceden al panel de control de traefik, verán que en la sección files se habrá añadido el backend y el frontend de Jellyfin.\nEn estos momentos tan solo tendremos que abrir el navegador e introducir la URL para ingresar a Jellyfin. Si todo funciona correctamente podrán acceder a Jellyfin sin ningún tipo de problema.\nNotas finales De esta forma tan simple podemos añadir servicios a Traefik que corren en máquinas remotas de nuestra red local. Por lo tanto el proxy inverso Traefik nos permitirá de forma extremadamente sencilla acceder a la totalidad de servicios que están corriendo en los diferentes equipos que tengamos dentro de nuestra red local.\nFuentes\nhttps://jellyfin.org/docs/general/networking/traefik.html\n","permalink":"https://geeklandlinux.github.io/posts/anadir-servicios-a-traefik-que-estan-corriendo-en-maquinas-remotas/","summary":"\u003cp\u003eEn el último artículo vimos como \u003ca href=\"/posts/instalar-y-configurar-el-proxy-inverso-traefik-en-docker/\"\u003einstalar y configurar el proxy inverso Traefik\u003c/a\u003e en Docker. Con lo visto hasta el momento, desde fuera de nuestra red local podemos acceder a servicios que están corriendo dentro de la misma red en que instalamos el contenedor de Traefik. Si además queremos acceder a servicios que están corriendo en equipos remotos y/o fuera de contenedores deberemos editar manualmente el fichero de configuración de Traefik. Para añadir servicios a Traefik que están corriendo en máquinas remotas deberemos seguir el siguiente procedimiento.\u003c/p\u003e","title":"Añadir servicios a traefik que están corriendo en máquinas remotas"},{"content":"A continuación veremos como configurar el proxy inverso traefik en Docker para acceder a los servicios que están corriendo en nuestro servidor de forma sencilla y práctica. En mi caso lo haré usando la versión 1.7 de traefik. El motivo es que la versión 2 es más complicada de configurar y se introducen nuevos conceptos que hay que comprender.\nAntes de iniciar la instalación y configuración de traefik haremos una breve explicación para que todo el mundo pueda entender la utilidad que tiene el proxy inverso traefik.\nFUNCIONES DEL PROXY INVERSO TRAEFIK Traefik es un proxy inverso que principalmente tiene 2 funcionalidades.\nLa primera de ellas es actuar como balanceador de carga. Imaginemos que tenemos 2 instancias de un mismo contenedor funcionando. En el momento que traefik reciba una petición externa la redirigirá al contenedor 1 o al contener 2 en función de los diferentes algoritmos disponibles. La segunda función, que además veremos en este artículo, es actuar como proxy inverso. Traefik recibirá todas las peticiones que provienen del exterior de nuestra red local. Una vez reciba una petición traefik la redirigirá al contenedor o servicio pertinente. QUE OBTENDREMOS UNA VEZ TRAEFIK ESTÉ CORRECTAMENTE CONFIGURADO En nuestro caso dispondremos de un dominio que está apuntando constantemente a nuestro servidor. A modo de ejemplo usaremos el siguiente dominio:\nejemplo1.duckdns.org Añadiendo un subdominio o un sufijo al dominio principal podremos acceder a los servicios que están corriendo en un servidor que esté en nuestra red local. Por ejemplo para acceder a un contenedor que está corriendo jellyfin desde fuera de nuestra red local lo podremos hacer usando cualquiera de las siguientes URL:\nhttps://jellyfin.ejemplo1.duckdns.org https://ejemplo1.duckdns.org/jellyfin Si en vez de acceder a jellyfin quisiéramos acceder al administrador de contraseñas bitwarden lo podremos hacer mediante las siguientes URL:\nhttps://bitwarden.ejemplo1.duckdns.org https://ejemplo1.duckdns.org/bitwarden Lo que acabo de citar se puede ver reflejado en el siguiente esquema:\nTraefik estará permanente escuchando todas las peticiones que vienen de fuera de nuestra red local. Una vez recibidas las peticiones las redirigirá a cualquier servicio que esté corriente dentro de nuestra red local.\nNota: Traefik permite acceder a cualquier servicio de cualquier equipo que esté corriendo en nuestra red local. Incluso permite acceder a servicios que corren fuera de un contenedor.\nVENTAJAS PROPORCIONADAS POR EL PROXY INVERSO TRAEFIK Si os fijáis con la explicación anterior verán traefik proporciona las siguientes ventajas:\nCon tan solo un dominio podemos acceder a la totalidad de servicios que corren en un servidor o en una red local. Podemos acceder a todos nuestros servicios sin tener que exponer un número elevado de puertos al exterior. Tan solo exponiendo los puertos 80 y 443 podremos acceder a la totalidad de servicios instalados en un servidor web. Permite acceder de forma segura a todos nuestros servicios. Traefik nos instala un certificado Wildcard de Let’s Encrypt que nos permite acceder vía https a todos nuestros servicios y webs. Traefik enruta todas las peticiones entrantes al servidor de forma completamente automática. No tendremos que entrar en archivos de configuración y realizar el enrutamiento del tráfico. Permite centralizar un log de acceso a nuestros servicios. Estos datos se podrán exportar para ser visualizados en otros software como por ejemplo Prometheus o Grafana. DISPONER DE UN DOMINIO PARA CONECTARNOS A NUESTROS SERVICIOS Obviamente es necesario disponer de un dominio para poder llegar al servidor en el que instalaremos Traefik. Si no tenéis ningún dominio podéis usar un dominio de un servicio DDNS como DuckDNS. En mi caso me crearé el dominio ejemplo1.duckdns.org siguiendo las siguientes instrucciones:\nhttps://geeklandlinux.github.io/posts/instalar-y-configurar-duck-dns-con-docker/\nINSTALAR Y CONFIGURAR EL PROXY INVERSO TRAEFIK EN DOCKER Una vez dispongan del dominio ya pueden iniciar la instalación y configuración de Traefik. En mi caso acostumbro a seguir el siguiente procedimiento.\nCrear la contraseña que usaremos para loguearnos a traefik Es recomendable crear una contraseña para poder acceder al panel de control web de traefik. Para ello usaremos la herramienta htpasswd para crear un hash de la contraseña que elijamos. Para usar htpasswd instalaremos el paquete apache2-utils ejecutando el siguiente comando en la terminal:\nsudo apt-get install apache2-utils Acto seguido crearemos un password para un usuario que llamaremos admin. Para ello ejecutaremos el siguiente comando en la terminal:\nhtpasswd -nb admin 1234 El resultado de aplicar el comando será parecido al siguiente:\nadmin:$apr1$GmJtrqsV$mbjdMZBcv.4jsJzREANNS. Guarden cuidadosamente este resultado porque es el hash de la contraseña 1234 para el usuario admin. Este hash lo usaremos para definir la contraseña de autenticación en el fichero de configuración de traefik.\nCrear el fichero de configuración de Traefik Ahora crearemos el archivo de configuración de traefik. Para ello ejecutaremos el siguiente comando en la terminal:\nnano traefik.toml Cuando se abra el editor de textos pegaremos el siguiente código para definir los puntos de entrada:\ndefaultEntryPoints = [\u0026#34;http\u0026#34;, \u0026#34;https\u0026#34;] A continuación para tener acceso al panel de control web de traefik pegamos el siguiente código:\n[entryPoints] [entryPoints.dashboard] address = \u0026#34;:8080\u0026#34; [entryPoints.dashboard.auth] [entryPoints.dashboard.auth.basic] users = [\u0026#34;admin:$apr1$GmJtrqsV$mbjdMZBcv.4jsJzREANNS.\u0026#34;] [api] entrypoint=\u0026#34;dashboard\u0026#34; Nota: en vuestro caso deberéis reemplazar admin:$apr1$GmJtrqsV$mbjdMZBcv.4jsJzREANNS. por el hash que han obtenido en el apartado anterior.\nNota: Según la configuración que acabamos de definir el acceso al panel web será por el puerto 8080.\nSeguidamente tenemos que definir los puntos de entrada para http y https. Para ello pegaremos el siguiente código:\n[entryPoints.http] address = \u0026#34;:80\u0026#34; [entryPoints.http.redirect] entryPoint = \u0026#34;https\u0026#34; [entryPoints.https] address = \u0026#34;:443\u0026#34; [entryPoints.https.tls] En mi caso quiero acceder a todos mis servicios de forma segura usando el protocolo https. Por lo tanto añadiré el siguiente código para obtener un certificado wildcard de Let’s Encrypt.\n[acme] email = \u0026#34;su_email\u0026#34; storage = \u0026#34;acme.json\u0026#34; entryPoint = \u0026#34;https\u0026#34; onHostRule = true [acme.httpChallenge] entryPoint = \u0026#34;http\u0026#34; Nota: Deberán reemplazar su_email por una dirección de email válida. El fichero acme.json es el nombre y ruta de fichero que almacenará la información concerniente a los certificados generados para cada uno de nuestros servicios. Gracias a este código cualquier servicio accedido a través del proxy inverso será mediante el protocolo https.\nFinalmente añadiremos las siguientes líneas para que a través del proxy inverso traefik podamos acceder a todos los contenedores y servicios de nuestra red local.\n[docker] domain = \u0026#34;ejemplo1.duckdns.org\u0026#34; watch = true network = \u0026#34;web\u0026#34; Nota: Deberéis remplazar ejemplo1.duckdns.org por su dominio.\nNota: Hemos definido una red llamada web. Cualquier contenedor que se levante dentro de la red web será accesible des del exterior sin necesidad de realizar ninguna configuración.\nPor lo tanto el contenido final del fichero de configuración traefik.toml será el siguiente:\ndefaultEntryPoints = [\u0026#34;http\u0026#34;, \u0026#34;https\u0026#34;] [entryPoints] [entryPoints.dashboard] address = \u0026#34;:8080\u0026#34; [entryPoints.dashboard.auth] [entryPoints.dashboard.auth.basic] users = [\u0026#34;admin:$apr1$GmJtrqsV$mbjdMZBcv.4jsJzREANNS.\u0026#34;] [api] entrypoint=\u0026#34;dashboard\u0026#34; [entryPoints.http] address = \u0026#34;:80\u0026#34; [entryPoints.http.redirect] entryPoint = \u0026#34;https\u0026#34; [entryPoints.https] address = \u0026#34;:443\u0026#34; [entryPoints.https.tls] [acme] email = \u0026#34;su_email\u0026#34; storage = \u0026#34;acme.json\u0026#34; entryPoint = \u0026#34;https\u0026#34; onHostRule = true [acme.httpChallenge] entryPoint = \u0026#34;http\u0026#34; [docker] domain = \u0026#34;ejemplo1.duckdns.org\u0026#34; watch = true network = \u0026#34;web\u0026#34; Una vez generado el fichero guardan los cambios y lo cierran.\nCrear una red para traefik En la parte final del fichero de configuración definimos que el contenedor traefik estaría corriendo en la red web. La red web no está creada, por lo tanto ejecutaremos el siguiente comando en la terminal para crearla:\ndocker network create web Archivo que registrará los certificados emitidos por Let’s Encrypt En el fichero de configuración traefik.toml también definimos que la información de los certificados de Let’s Encrypt se almacenaría en el fichero acme.json. Para crear el fichero ejecutaremos el siguiente comando en la terminal:\ntouch acme.json Acto seguido le daremos los permisos pertinentes ejecutando el siguiente comando en la terminal:\nchmod 600 acme.json Abrir los puertos correspondientes para que todo pueda funcionar Tanto el router como el servidor en el que instalaréis traefik tienen que tener los puertos 80 y 443 abiertos. Por lo tanto abran los puertos correspondientes en el router y en el Firewall del equipo en el que vais a levantar Traefik.\nSi además pretenden acceder a servicios que corren fuera del equipo en el que instalarán Traefik también deben configurar el firewall de dichos equipos.\nLevantar el contenedor del proxy inverso traefik A estás alturas ya estamos listos para levantar el contenedor del proxy inverso traefik. Para ello tan solo tenemos que ejecutar el siguiente comando en la terminal:\ndocker run -d \\ -v /var/run/docker.sock:/var/run/docker.sock \\ -v $PWD/traefik.toml:/traefik.toml \\ -v $PWD/acme.json:/acme.json \\ -p 80:80 \\ -p 443:443 \\ -l traefik.frontend.rule=Host:monitor.ejemplo1.duckdns.org \\ -l traefik.port=8080 \\ --network web \\ --name traefik \\ traefik:1.7.24-alpine Nota: Los valores de color rojo deben ser reemplazados por la ruta donde hemos almacenado los ficheros traefik.toml y acme.json.\nNota: Deberéis reemplazar ejemplo1.duckdns.org por vuestro dominio\nAcceder al panel de control web de Traefik Según la configuración establecida en apartados anteriores accederemos al panel de control web de traefik mediante la siguiente URL:\nhttps://monitor.ejemplo1.duckdns.org:8080 Justo después de ingresar en la URL deberemos ingresar el usuario y contraseña que definimos en apartados anteriores:\nUna vez ingresadas la credenciales tendremos acceso al panel de control. Fíjense que estamos accediendo de forma segura mediante el protocolo https.\nCREAR UN SERVICIO Y ACCEDER A ESTE SERVICIO A TRAVÉS DEL PROXY INVERSO TRAEFIK Cualquier contenedor que levantemos dentro de la red web será accesible de forma automática a través de traefik. A pesar de esto es recomendable usar etiquetas para sobrescribir la configuración estándar que aplica traefik.\nNota: Existe una gran cantidad de etiquetas para modificar el comportamiento predeterminado de traefik.\nA modo de ejemplo levantaremos el contenedor del gestor de contraseñas bitwarden. Para ello ejecutaremos el siguiente comando en la terminal:\nnano docker-compose.yml Cuando se abra el editor de textos introduciremos el código para levantar el contenedor de Docker que queramos:\nversion: \u0026#34;3\u0026#34; services: bitwarden: image: bitwardenrs/server:raspberry container_name: bitwarden restart: unless-stopped networks: - web restart: always volumes: - media/hd/services/bitwarden:/data/ labels: - traefik.backend=bitwarden - traefik.frontend.rule=Host:bitwarden.ejemplo1.duckdns.org - traefik.docker.network=web - traefik.port=80 - traefik.enable=true networks: web: external: true Nota: el código en color azul es el que define la integración entre el contenedor de bitwarden y Traefik.\nEl significado de cada uno de los parámetro en azul es el siguiente:\nCódigo Explicación networks: - web El contenedor bitwarden se levantará en la red web. - traefik.backend=bitwarden Damos un nombre al backend que traefik generará. - traefik.frontend.rule=Host:bitwarden.ejemplo1.duckdns.org Definimos el dominio que usaremos para acceder a bitwarden des del exterior de nuestra red local. - traefik.docker.network=web Para definir que el contenedor que levantamos pertenece a la red web. - traefik.port=80 Para indicar el puerto en que correrá el contenedor de bitwarden que estamos levantando. - traefik.enable=true Al fijar el valor como True el contenedor que levantamos estará accesible a través de traefik. networks: web: external: true La red web ya está creada. Por lo tanto con external: true docker no intentará crear la red. Simplemente buscará la red web que ya está creada. Una vez introducido el código en el fichero docker-compose.yml guardamos los cambios y cerramos el fichero. Para levantar el contenedor de Bitwarden ejecutaremos el siguiente comando en la terminal:\ndocker-compose up Una vez levantado el contenedor veremos que ya aparece en el panel de control web de Traefik.\nA partir de estos momentos abrimos el navegador y según la configuración aplicada ingresamos la siguiente dirección URL:\nhttps://bitwarden.ejemplo1.duckdns.org Si toda funciona como debe verán que podemos acceder al contenedor desde fuera de nuestra red local y mediante el protocolo https.\nAÑADIR SERVICIOS A TRAEFIK QUE CORREN EN CUALQUIER EQUIPO DE NUESTRA RED LOCAL En este artículo hemos visto como añadir contenedores a traefik que corren dentro de la misma red que Traefik. Si además pretenden acceder a servicios que corren en cualquier equipo de su red local deberán seguir las siguientes instrucciones:\nhttps://geeklandlinux.github.io/posts/anadir-servicios-a-traefik-que-estan-corriendo-en-maquinas-remotas/\nFuentes\nhttps://www.digitalocean.com/community/tutorials/how-to-use-traefik-as-a-reverse-proxy-for-docker-containers-on-ubuntu-18-04-es\nhttps://docs.traefik.io/v1.7/configuration/logs/\n","permalink":"https://geeklandlinux.github.io/posts/instalar-y-configurar-el-proxy-inverso-traefik-en-docker/","summary":"\u003cp\u003eA continuación veremos como configurar el proxy inverso traefik en Docker para acceder a los servicios que están corriendo en nuestro servidor de forma sencilla y práctica. En mi caso lo haré usando la versión 1.7 de traefik. El motivo es que la versión 2 es más complicada de configurar y se introducen nuevos conceptos que hay que comprender.\u003c/p\u003e","title":"Instalar y configurar el proxy inverso traefik en Docker"},{"content":"A continuación veremos los pasos a seguir para incrementar la memoria swap de una Raspberry Pi. En mi caso tengo una Raspberry Pi 3 modelo B que tan solo dispone de 1 GB de RAM. Además la configuración predeterminada de Raspbian establece una memoria de intercambio o SWAP de 100 MB. Por lo tanto a la mínima que instalamos 3 o 4 servicios como por ejemplo Nextcloud, Tiny Tiny RSS o traefik la memoria RAM se llena y el espacio de intercambio o SWAP es claramente insuficiente para un dispositivo que solo tiene 1GB de RAM.\nProblemas que genera tener una memoria SWAP insuficiente Quedarse sin memoria de intercambio y sin memoria RAM puede generar los siguientes problemas:\nLas aplicaciones o servicios de nuestra Raspberry Pi pueden dejar de funcionar por falta de memoria. En el peor de los casos la Raspberry Pi se puede colgar y la tendremos que reiniciar. Este simple hecho puede causar una pérdida de información. Incrementar la memoria swap en una raspberry pi con Raspbian Para comprobar la memoria SWAP disponible pueden usar un monitor de recursos como glances, top, htop, etc. Si no quieren instalar ningún software también pueden obtener los valores ejecutando el siguiente comando en la terminal:\npi@raspberrypi:~ $ cat /proc/meminfo | grep Swap SwapCached: 102400 kB SwapTotal: 102400 kB SwapFree: 0 kB Nota: Como pueden ver tengo toda la memoria SWAP ocupada.\nPara incrementar la memoria swap en la Raspberry Pi tan solo tenemos que ejecutar el siguiente comando en la terminal:\nsudo nano /etc/dphys-swapfile Cuando se abra el editor de textos nano tenemos que buscar la línea que establece la memoria Swap que Raspbian asigna a la Raspberry Pi. En mi caso la línea es la siguiente:\nCONF_SWAPSIZE=100 Si quieren incrementar la memoria de intercambio SWAP de 100 MB a 512 MB tan solo deberán reemplazar el número 100 por el 512. Por lo tanto la línea anterior deberá quedar de la siguiente forma:\nCONF_SWAPSIZE=512 Una vez realizadas las modificaciones guarden los cambios y cierren el fichero. Para que finalmente se haga efectivo el aumento de memoria SWAP tenéis 2 soluciones.\nLa primera de ellas es reiniciar la Raspberry Pi.\nLa segunda es ejecutar los siguientes comandos comandos en la terminal:\nsudo dphys-swapfile setup sudo dphys-swapfile swapon Hayan elegido la primera opción o la segunda en estos momentos dispondrán de 512 MB. Para comprobarlo tan solo tenéis que ejecutar el siguiente comando en la terminal:\npi@raspberrypi:~ $ cat /proc/meminfo | grep Swap SwapCached: 2476 kB SwapTotal: 524284 kB SwapFree: 513020 kB O si lo prefieren pueden usar un monitor de recursos para verlo de forma más gráfica.\n¿Pero no hay que evitar el uso del espacio de intercambio para mejorar el rendimiento? Es una obviedad que cuando se hace uso de la memoria SWAP el dispositivo reacciona con lentitud. Pero con un dispositivo de tan solo 1GB de RAM es imprescindible tener un espacio de intercambio superior a 100 MB. Con 1GB es fácil quedarnos sin memoria y en el caso que nos quedemos sin memoria precisaremos de un espacio de intercambio generoso.\nSi veo que los 512MB asignados son insuficientes, en un futuro incrementaré el espacio de intercambio a 1024 MB.\n¿Qué es y como funciona la memoria de intercambio SWAP? Si quieren una explicación detallada de que es y como funciona el espacio de intercambio SWAP pueden leer siguiente artículo:\nhttps://geeklandlinux.github.io/posts/optimizar-el-uso-de-la-memoria-swap/\n","permalink":"https://geeklandlinux.github.io/posts/incrementar-la-memoria-swap-en-una-raspberry-pi/","summary":"\u003cp\u003eA continuación veremos los pasos a seguir para incrementar la memoria swap de una Raspberry Pi. En mi caso tengo una Raspberry Pi 3 modelo B que tan solo dispone de 1 GB de RAM. Además la configuración predeterminada de Raspbian establece una memoria de intercambio o SWAP de 100 MB. Por lo tanto a la mínima que instalamos 3 o 4 servicios como por ejemplo Nextcloud, Tiny Tiny RSS o traefik la memoria RAM se llena y el espacio de intercambio o SWAP es claramente insuficiente para un dispositivo que solo tiene 1GB de RAM.\u003c/p\u003e","title":"Incrementar la memoria swap en una Raspberry Pi con Raspbian"},{"content":"Desde la actualización a XFCE 4.14 he tenido problemas con el servidor gráfico de mi equipo. En mi caso de forma totalmente aleatoria se desconectaba el servidor gráfico de mi sistema operativo y la única forma de volver a levantarlo era reiniciarlo y perder todo el trabajo que no estuviera guardado.\nSi miraba los logs del sistema operativo veía el siguiente mensaje de error:\ndebian acpid: client \u0026#34;1150[0:0] has disconnected\u0026#34; Según el foro oficial de XFCE otros usuarios han experimentado problemas similares al mio. Algunos de ellos son los siguientes:\nAlto consumo de CPU al conectar un monitor externo. El puntero del ratón en ocasiones queda congelado. Problemas para mostrar los efectos de transparencia. Pantallazos negros. Se producen problemas gráficos al aparecen menú contextual del gestor de archivos Thunar. ¿POR QUÉ SE DESCONECTA EL SERVIDOR GRÁFICO? Para evitar problemas de tearing los desarrolladores del gestor de ventanas xfwm4 introdujeron 3 modos de vblank al pasar de la versión 4.12 a la versión 4.14 de XFCE. Al parecer estos cambios son los que están generando los problemas.\nBásicamente el problema es que el modo predeterminado de vblank no funciona de forma adecuada con todas las tarjetas gráficas. Por lo tanto para solucionar el problema deberemos reemplazar el modo en que se realiza el proceso de vblank.\nEVITAR QUE EL SERVIDOR GRÁFICO SE DESCONECTE DE FORMA ALEATORIA EN XFCE 4.14 Para solucionar el problema tenemos que saber la marca de nuestra tarjeta gráfica. En mi caso uso una Nvidia. Si no sabéis la marca deberéis ejecutar el siguiente comando en la terminal:\njoan@debian:~$ sudo lspci -nn | grep VGA 02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GT218 [GeForce 8400 GS Rev. 3] [10de:10c3] (rev a2) A continuación tenemos que conocer el modo adecuado de vblank para nuestra tarjeta gráfica. Para ello pueden usar la siguiente guía:\nModo vblank Tarjeta gráfica glx o auto Es el modo predeterminado. Acostumbra a funcionar en tarjetas gráfica Intel. También puede funcionar en algunos modelos de tarjetas Nvidia y Ati. xpresent Funciona en tarjetas gráficas recientes de las marca Ati/amd. off Deshabilitada vblank. Esta configuración funciona bien en la mayoría de tarjetas gráficas Nvidia. En mi caso tengo una tarjeta Nvidia y con el modo predeterminado auto el servidor gráfico se desconecta. Por lo tanto la única opción que tengo para solucionar el problema es habilitar el modo off. Para ello tan solo tengo solo tengo que ejecutar el siguiente comando en la terminal:\nxfconf-query -c xfwm4 -p /general/vblank_mode -t string -s off --create Nota: Si quisieran usar el modo xpresent tan solo tendrían que reempazar off por xpresent.\nUna vez ejecutado el comando reinicien su ordenador. En mi caso después de aplicar este cambio todo funciona a la perfección y el servidor gráfico nunca más se ha vuelto a desconectar.\nCOMPROBAR QUE EL NUEVO MODO DE VBLANK ESTÁ ACTIVADO Una vez reiniciado el ordenador pueden ejecutar el siguiente comando para comprobar el modo de vblank que están usando.\njoan@debian:~$ xfconf-query -c xfwm4 -p /general/vblank_mode off ","permalink":"https://geeklandlinux.github.io/posts/servidor-grafico-xfce-se-desconecta-solucion/","summary":"\u003cp\u003eDesde la actualización a XFCE 4.14 he tenido problemas con el servidor gráfico de mi equipo. En mi caso de forma totalmente aleatoria se desconectaba el servidor gráfico de mi sistema operativo y la única forma de volver a levantarlo era reiniciarlo y perder todo el trabajo que no estuviera guardado.\u003c/p\u003e","title":"Servidor gráfico se desconecta aleatoriamente en XFCE 4.14 (Solución)"},{"content":"Existen varios métodos para instalar el VPN Wireguard de forma sencilla en nuestro servidor. Podemos usar scripts que realizan todo el trabajo de forma automática. No obstante en el siguiente artículo veremos otra forma muy sencilla y práctica que es mediante un contenedor de Docker. Los pasos a seguir para realizar la instalación y configuración son los que veréis a continuación.\nNota: La instalación del VPN Wireguard mediante docker se ha realizado en una Raspberry Pi con Raspbian. También debería funcionar sin problemas en equipos que usen el sistema operativo Debian o Ubuntu.\nINSTALAR DOCKER Para completar este tutorial e instalar el servidor VPN Wireguard tienen que usar Docker. Para instalar Docker deberán seguir las instrucciones que les dejo en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-docker-y-docker-compose-en-linux/\nDISPONER DE UNA IP PÚBLICA FIJA O UN DOMINIO DNS DINÁMICO Obviamente es indispensable tener una IP fija o un servicio de DNS dinámico. En mi caso no dispongo de un servicio de IP fija, por lo tanto usaré Duck DNS para obtener un dominio que siempre esté apuntando a mi servidor VPN. Para ello seguiré las instrucciones del siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-y-configurar-duck-dns-con-docker/\nUna vez instalado y ejecutado el contenedor de Duck DNS dispondremos del dominio ejemplo1.duckdns.org que estará constantemente apuntando a la ip de nuestro servidor VPN.\nDISPONER DE UNA IP LOCAL FIJA En el tercer paso consiste en tener una IP local fija en el equipo donde instalaremos el servidor VPN Wireguard. Existen muchos métodos para conseguir este propósito pero uno de los más más sencillos es hacerlo a través del router. En mi caso he configurado la IP local 192.168.1.250 siguiendo el siguiente procedimiento:\nhttps://geeklandlinux.github.io/posts/ip-fija-servidor-dhcp-router/\nABRIR EL PUERTO DEL VPN WIREGUARD EN EL ROUTER A continuación tenemos que abrir un puerto en el Router para que el VPN Wireguard pueda acceder a nuestra red local. En mi caso abriré el puerto estándar de Wireguard que es el 51820 UDP.\nEl procedimiento variará en función del router que tengan. En mi Router se hace del siguiente modo.\nAbrimos el navegador web. A continuación escribimos la dirección de la puerta de enlace del router y presionamos Enter. Finalmente introducimos la contraseña para acceder al router y presionamos el botón Comprobar.\nNota: Las direcciones de enlace más habituales para acceder a la configuración del router son 192.168.1.1 o 192.168.1.0.\nUna vez estemos dentro del menú de configuración del Router accedemos al apartado correspondiente para configurar los puertos:\nEn el apartado de configuración de puertos abriré el puerto 51820 UDP para la IP interna del equipo en que instalaré Wireguard. En apartado anteriores fijamos que la IP seria 192.168.1.250. La forma de abrir el puerto para la IP 192.168.1.250 se muestra en la siguiente captura de pantalla.\nINSTALAR EL SERVIDOR VPN WIREGUARD CON DOCKER A partir de estos momentos ya estamos listos para levantar el contenedor de Wireguard en nuestro equipo. Para crear el contenedor de Wireguard en Docker tan solo tenemos que ejecutar el siguiente comando en la terminal:\ndocker create \\ --name=wireguard \\ --cap-add=NET_ADMIN \\ --cap-add=SYS_MODULE \\ -e PUID=1000 \\ -e PGID=1000 \\ -e TZ= Europe/Madrid \\ -e SERVERURL= ejemplo1.duckdns.org \\ -e SERVERPORT=51820 \\ -e PEERS=1 \\ -e PEERDNS= 176.103.130.130,176.103.130.131 \\ -e INTERNAL_SUBNET=10.13.13.0 \\ -p 51820:51820/udp \\ -v /media/nextcloud/services/wireguard/appdata/config:/config \\ -v /lib/modules:/lib/modules \\ --sysctl=\u0026#34;net.ipv4.conf.all.src_valid_mark=1\u0026#34; \\ --restart unless-stopped \\ linuxserver/wireguard Nota: El comando ejecutado sirve para arquitecturas x86-64, arm64 y armhf.\nEl comando ejecutado funcionará en sistemas operativos Ubuntu, Debian y Raspbian que usen el kernel que proporciona el sistema operativo. Para kernels no predeterminados u otros sistemas operativos deberán instalar las cabeceras del kernel ejecutando el siguiente comando en la terminal.\nsudo apt install linux-headers-$(uname -r) Nota: Si no usan el gestor de paquetes apt deberán adaptar el comando anterior.\nUna vez instaladas las cabeceras del kernel deberán ejecutar el comando para crear el contenedor añadiendo la siguiente línea.\n-v /usr/src:/usr/src Modificación de los parámetros para crear el contenedor del VPN Wireguard En vuestro tenéis y/o podéis reemplazar las partes verdes del comando usado para crear el contenedor del siguiente modo:\nComando Explicación -e PUID=1000 Introducimos el identificador de usuario del usuario que arrancará el contenedor. Por norma general es 1000, pero compruébenlo ejecutado id seguido del nombre del usuario. -e PGID=1000 Introducimos el identificador de grupo del usuario que arrancará el contenedor. Por norma general es 1000, pero compruébenlo ejecutado id seguido del nombre del usuario. -e TZ= Europe/Madrid Indicamos la zona horaria de nuestro país. En mi caso vivo en España, por lo tanto uso Europe/Madrid. -e SERVERURL= ejemplo1.duckdns.org Introducimos el dominio del servidor DNS dinámico que estemos usando. También pueden introducir una IP pública siempre y cuando sea fija. -e SERVERPORT=51820 El puerto en que trabaja Wireguard será el 51820. Tiene que coincidir con el puerto que abrimos en el router. -e PEERS=1 Indicamos el número de clientes que tendrá nuestro servidor VPN Wireguard. En mi caso solo elijo uno. Más adelante podremos crear usuarios adicionales sin problema alguno. -e PEERDNS= 176.103.130.130,176.103.130.131 Escribimos los DNS que usará el cliente para resolver las peticiones DNS. En mi caso propongo usar los DNS de Adguard porque respetan la privacidad y bloquean la publicidad. También es posible resolver las peticiones vía Pihole, pero requiere configuración adicional. -e INTERNAL_SUBNET=10.13.13.0 Definimos la red que usarán los clientes que se conecten al servidor VPN Wireguard. Pueden usar la misma que yo a no ser que ya la estén usando. -p 51820:51820/udp Indicamos que cuando alguien realice un petición al puerto 51820 del servidor se redirija al puerto 51820 de Docker en el que está escuchando Wireguard. -v /media/nextcloud/services/wireguard/appdata/config:/config Indicamos la ubicación de nuestro disco duro en que podremos ver y modificar la configuración de Wireguard. En la ubicación también encontraremos los archivos para que los clientes se puedan conectar al servidor VPN. CONFIGURAR EL FIREWALL DEL EQUIPO PARA QUE EL VPN WIREGUARD FUNCIONE Partiendo de la base que queremos configurar un firewall con las peticiones entrantes bloqueadas tendremos que usar las siguientes reglas para que Wireguard funcione de forma correcta:\nPara bloquear la totalidad de trafico entrante al servidor usamos la siguiente regla:\niptables -P INPUT DROP Para que todas las peticiones entrantes generadas por nuestro servidor puedan entrar usamos las siguientes reglas:\niptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT El mismo puerto que se abrió en el router también se tiene que abrir en el servidor. Para ello usaremos la siguiente regla:\niptables -A INPUT -p udp --dport 51820 -j ACCEPT Para que las peticiones entrantes dentro de nuestra red local puedan acceder al servidor donde hemos instalado Wireguard usaremos las siguientes reglas:\niptables -A INPUT -i eth0 -p icmp -s 192.168.1.0/24 -d 192.168.1.250 -j ACCEPT iptables -A INPUT -i eth0 -p tcp -s 192.168.1.0/24 -d 192.168.1.250 -j ACCEPT iptables -A INPUT -i eth0 -p udp -s 192.168.1.0/24 -d 192.168.1.250 -j ACCEPT Si además queremos que desde el servicio VPN podamos acceder a los servicios que están corriendo en el localhost del servidor en que hemos instalado Wireguard tendremos que introducir las siguientes reglas:\niptables -A INPUT -i docker0 -p icmp -s 172.17.0.1/24 -d 192.168.1.250 -j ACCEPT iptables -A INPUT -i docker0 -p tcp -s 172.17.0.1/24 -d 192.168.1.250 -j ACCEPT iptables -A INPUT -i docker0 -p udp -s 172.17.0.1/24 -d 192.168.1.250 -j ACCEPT Nota: Con estás simples reglas el VPN Wireguard funcionará de forma adecuada. Además podréis acceder a los servicios que tengáis disponibles en vuestra red local sin problemas.\nDetalle de los parámetros del firewall que tendréis que ajustar Algunos de los valores de las reglas los deberéis adaptar en función de los parámetros de su red local. Para adaptarlos de forma adecuada lean lo que escribo a continuación.\n51820 Se tiene que reemplazar por el puerto en que está escuchando Wireguard. eth0 se deberá reemplazar por la interfaz de red que estéis usando en vuestro servidor. 192.168.1.0/24 tiene que ser reemplazado por la interfaz de red del servidor en que instalamos el vpn Wireguard. Para averiguar su interfaz de red pueden usar el comando ifconfig. 172.17.0.1/24 se debe reemplazar el valor de la interfaz de red docker0. Para averiguar la interfaz de red docker0 pueden usar el comando ifconfig. 192.168.1.250 debe corresponder a la IP del servidor en que instalamos Wireguard. LEVANTAR EL CONTENEDOR DEL VPN WIREGUARD Una vez finalizada toda la configuración tan solo falta iniciar el servidor. Para ello tan solo tenemos que ejecutar el siguiente comando.\ndocker start wireguard Una vez ejecutado el comando pueden ejecutar el siguiente comando para ver los logs y asegurarse que el contenedor de Wireguard se levanta sin errores y sin problemas:\ndocker logs -f wireguard CREAR NUEVOS CLIENTES EN WIREGUARD Al iniciar el contenedor únicamente creamos un cliente. Según las opciones con que creamos el contenedor, los ficheros de configuración de este cliente se hallarán en /media/nextcloud/services/wireguard/appdata/config/peer1.\nSi ahora queremos generar un nuevo cliente tan solo tenemos que ejecutar el siguiente comando en la terminal:\ndocker exec -it wireguard /app/add-peer Después de ejecutar el comando se creará un nuevo cliente o Peer llamado 2.\nLa totalidad de claves y archivos de configuración del cliente 2 se hallarán en /media/nextcloud/services/wireguard/appdata/config/peer2.\nELIMINAR CLIENTES EN WIREGUARD La forma en que acostumbro a eliminar los clientes se subdivide en 2 pasos.\nPara borrar el cliente 2 borraremos el directorio que almacena las claves y archivos de configuración del cliente 2. Por lo tanto en mi caso ejecutaré el siguiente comando en la terminal:\nrm -r /media/nextcloud/services/wireguard/appdata/config/peer2 Acto seguido accederemos al fichero de configuración de Wireguard ejecutando el siguiente comando en la terminal:\nnano /media/nextcloud/services/wireguard/appdata/config/wg0.conf Dentro del fichero de configuración veremos que existen entradas para 2 clientes.\nComo queremos borrar el cliente 2 borraremos la segunda de las entradas.\nFinalmente reiniciamos el contenedor del VPN Wireguard ejecutando el siguiente comando en la terminal:\ndocker stop wireguard \u0026amp;\u0026amp; docker start wireguard CONECTARSE AL SERVIDOR VPN EN LOS DISTINTOS SISTEMAS OPERATIVOS Para conectarse al servidor VPN que acaban de crear pueden acceder al siguiente enlace.\nhttps://geeklandlinux.github.io/posts/conectarse-al-vpn-wireguard-en-windows-android-y-linux/\nFuentes https://hub.docker.com/r/linuxserver/wireguard\n","permalink":"https://geeklandlinux.github.io/posts/instalar-y-configurar-el-servidor-vpn-wireguard-con-docker/","summary":"\u003cp\u003eExisten varios métodos para instalar el VPN Wireguard de forma sencilla en nuestro servidor. Podemos usar scripts que realizan todo el trabajo de forma automática. No obstante en el siguiente artículo veremos otra forma muy sencilla y práctica que es mediante un contenedor de Docker. Los pasos a seguir para realizar la instalación y configuración son los que veréis a continuación.\u003c/p\u003e","title":"Instalar y configurar el servidor VPN Wireguard con Docker"},{"content":"A continuación veremos como instalar y configurar el servicio DNS dinámico Duck DNS con Docker. Pero antes de todo veremos de forma breve que es un DNS dinámico y porque Duck DNS es una opción a tener muy en cuenta.\nFUNCIÓN QUE TIENE UN SERVICIO DNS DINÁMICO (DDNS) La función de un servicio dinámico DNS es facilitar el acceso a un servidor que tiene una IP pública dinámica. Para entenderlo mejor imaginemos la siguiente situación:\nTenemos un servidor casero con la IP pública 88.41.25.30. Por lo tanto para acceder a los servicios del servidor tendremos que usar la IP 88.41.25.30. Como nuestro proveedor de Internet no nos ofrece una IP fija es posible que dentro de un día o dentro de una semanas la IP pública 88.41.25.30 pase a ser la 83.59.20.96 sin que sepamos absolutamente nada. Como la IP se ha modificado cuando ingresemos la IP 88.41.25.30 no podremos acceder a nuestro servidor. Para solucionar este problema podemos usar un servicio DNS dinámico que realizará la siguiente función:\nEl servicio DDNS asociará la IP pública de nuestro servidor a un dominio. Por lo tanto si continuamos con el ejemplo anterior el dominio geekland.duckdns.org tendrá asociada la IP 88.41.25.30. Para acceder a nuestro servidor deberemos usar el dominio geekland.duckdns.org. Cada 5 minutos nuestro servidor casero enviará nuestra IP pública al servicio DDNS y la asociará a nuestro dominio. En el caso que la IP pase de 88.41.25.30 a 83.59.20.96 no pasará absolutamente nada porque en menos de 5 minutos el dominio geekland.duckdns.org quedará asociado a la nueva IP. De está forma nuestro servidor casero siempre estará accesible mediante un dominio. Si quieren información más detallada sobre el funcionamiento de un servicio DNS dinámico les invito a leer el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/encontrar-servidor-con-dns-dinamico/\nMOTIVOS PARA USAR DUCKDNS Los motivos para usar DuckDNS son varios y son los que cito a continuación:\nPermiten generar hasta 5 dominios de forma gratuita. Una vez creados no hay que renovarlos periódicamente tal y como pasa con servicios como NO-IP. Únicamente registran los datos necesarios para que funcione su servicio. Los datos registrados no se venderán a terceros ni serán usados para realizar spam vía email. Ofrecen multitud de métodos para que nuestros routers y equipos puedan enviar nuestra IP pública a DuckDNS. Uno de estos métodos es mediante un contenedor de Docker. Resulta extremadamente cómodo y sencillo poder gestionar un servicio DDNS a través de un contenedor de Docker. Ejecutas el contenedor y te puedes olvidar por completo del resto. INSTALAR Y CONFIGURAR EL SERVICIO DNS DINÁMICO (DDNS) DE DUCKDNS Para instalar y configurar DuckDNS mediante un contenedor de Docker procederemos del siguiente modo.\nCrear una cuenta de DUCK DNS Accederemos a la siguiente URL:\nhttps://www.duckdns.org/\nUna vez dentro de la URL crearemos una cuenta a partir de nuestra cuenta de Google, reddit, Github o Twitter. En mi caso la genero la cuenta usando mi cuenta de gmail.\nApuntar el número de token que nos ofrece Duck DNS Una vez generada la cuenta y una vez estamos logueados en Duck DNS veremos al siguiente pantalla.\nActo seguido anotaremos el número de token. Lo podemos apuntar en un papel o copiar en un archivo de texto. En mi caso, tal y como se puede ver en la captura de pantalla, el token es:\n1049153f-d441-4995-b403-9c3f86695a14 Nota: Este token es privado y no lo debéis mostrar absolutamente a nadie.\nGenerar el dominio o dominios que usaremos para acceder a nuestro servidor El siguiente paso consistirá en crear el dominio o dominios que usaremos para acceder a los servicios de nuestro servidor. En mi caso crearé los siguientes dominios:\nejemplo1.duckdns.org ejemplo2.duckdns.org Para crear el dominio ejemplo1.duckdns.org tan solo tenemos que escribir ejemplo1 en el apartado domains y acto seguido presionar el botón add domain. De inmediato se generará el dominio de forma automática.\nDel mismo modo que hemos creado el anterior dominio creamos el segundo dominio ejemplo2.duckdns.org\nEn estos momentos el proceso de configuración de Duck DNS en la web ha finalizado. Ahora tan solo tenemos que levantar el contenedor de Duck DNS en nuestro servidor con la ayuda de Docker.\nInstalar Docker Probablemente ya tengáis Docker instalado en su equipo, pero en caso contrario lo podéis instalar siguiendo los siguientes pasos:\nhttps://geeklandlinux.github.io/posts/instalar-docker-y-docker-compose-en-linux/\nInstalar el servicio DNS Dinámico DUCK DNS con Docker Una vez instalado Docker tienen que ejecutar el siguiente comando en la terminal:\ndocker create \\ --name=duckdns \\ -e PUID=1000 \\ -e PGID=1000 \\ -e TZ=Europe/Madrid \\ -e SUBDOMAINS=ejemplo1,ejemplo2 \\ -e TOKEN=1049153f-d441-4995-b403-9c3f86695a14 \\ --restart unless-stopped \\ linuxserver/duckdns Nota: El contenedor creado funcionará en arquitectura amd64, arm64v8 y arm32v7. Nota: En vuestro caso tendréis que reemplazar las partes verdes del comando por los siguientes parámetros.\nPUID: Por lo general será 1000. Podéis comprobarlo ejecutando el comando id seguido del nombre del usuario que usáis en vuestro servidor. En mi caso el usuario es joan, por lo tanto usaré el comando id joan. PGID: Por lo general será 1000. Podéis comprobarlo ejecutando el comando id seguido del nombre del usuario que usáis en vuestro servidor. En mi caso el usuario es joan, por lo tanto usaré el comando id joan. TZ: Indicaremos la zona horaria de nuestro país. En mi caso como estoy ubicado en España, por lo tanto uso Europe/Madrid. SUBDOMAINS: Separado por comas introducimos el subdominio o subdominios que creamos en apartados anteriores y queremos asociar con la IP de nuestro servidor. TOKEN: Tenemos que pegar o escribir el token de DuckDNS. El token de DuckDNS lo apuntamos en apartados anteriores. Una vez creado el contenedor lo levantaremos ejecutando el siguiente comando:\ndocker start duckdns A partir de estos momentos el procedimiento ha finalizado.\nAccediendo a nuestros servicios a través del DDNS Duck DNS A partir de estos momentos podemos acceder a los servicios de nuestro servidor mediante los dominios de DuckDNS.\nPor lo tanto si en nuestro servidor tenemos una web escuchando en el puerto 80 tan solo tendremos que abrir un navegador y visitar la siguiente dirección:\nhttp://ejemplo1.duckdns.org A partir de estos momentos ya no será necesario usar la IP para acceder a nuestra página web.\nComprobar el funcionamiento de DuckDNS Para comprobar que DuckDNS trabaja de forma adecuada consulten sus logs ejecutando el siguiente comando en la terminal:\ndocker logs -f duckdns Cambiar la periodicidad con que nuestro servidor envía la IP a Duck DNS El contenedor de Docker informará a DuckDNS cada 5 minutos de la IP pública del servidor. So queréis podéis modificar la frecuencia del siguiente modo.\nInicialmente accederemos al contenedor ejecutando el siguiente comando en la terminal:\ndocker exec -it duckdns /bin/bash A continuación editaremos el trabajo cron encargado de refrescar la IP a Duck DNS. Para ello ejecutaremos el siguiente comando en la terminal:\ncrontab -e -u abc Acto seguido se abrirá el editor de textos vim con la programación de trabajos del usuario abc. A partir de esto momentos tan solo tendrán que definir la periodicidad con la que quieren que se ejecuten el script que proporciona la IP del servidor a Duck DNS.\nUna vez definida la periodicidad guardan los cambios, cierran el editor de textos y salen del contenedor.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-y-configurar-duck-dns-con-docker/","summary":"\u003cp\u003eA continuación veremos como instalar y configurar el servicio DNS dinámico Duck DNS con Docker. Pero antes de todo veremos de forma breve que es un DNS dinámico y porque Duck DNS es una opción a tener muy en cuenta.\u003c/p\u003e","title":"Instalar y configurar el servicio DNS dinámico Duck DNS con Docker"},{"content":"El tema que abordaremos a continuación es si tenemos o no tenemos que cifrar las copias de seguridad. Y quiero abordar el tema porque son muchas las personas que sin pensarlo ni dudarlo “criminalizan” a la gente que no cifra las copias de seguridad.\nLa verdad es que no hay decisión correcta o incorrecta en el momento que alguien decide cifrar o no cifrar una copia de seguridad. En función de las circunstancias de cada persona será más adecuado elegir una opción u otra.\n¿QUÉ TIENEN QUE TENER EN CUENTA LOS DEFENSORES DE CIFRAR LAS COPIAS DE SEGURIDAD? Un gran número de personas, sin pensarlo ni dudarlo, cifran absolutamente todo el contenido de sus copias de seguridad. Sin duda podrán preservar su privacidad y seguridad, pero tienen que tener en cuenta que si ocurre un desastre tendrán menos posibilidades de restaurar sus copias de seguridad. Algunos de los motivos son los siguientes:\nNo se recuerdan las contraseñas o se han perdido las claves para poder descifrar la copia. Muchas personas no comprueban de forma periódica que se puedan restaurar las copias de seguridad. Además la restauración de una copia de seguridad cifrada puede tener cierta complejidad. En ocasiones se aplican sistemas de copias de seguridad sofisticados y altamente eficientes. Pero no siempre la estrategia más compleja es la mejor. Una estrategia de copias de seguridad compleja puede causar más errores y más problemas en la creación y restauración de las copias. Los dispositivos de almacenamiento se deterioran. Si se deteriora un dispositivo de almacenamiento que contiene una copia de seguridad sin cifrar tenemos varios métodos y/o empresas especializadas para recuperar los datos. Pero si deteriora un dispositivo de almacenamiento que almacena contenido cifrado difícilmente podremos recuperar la información. Por lo tanto, los partidarios de cifrar las copias de seguridad están incrementando la probabilidad de tener problemas en la restauración. Quien no pueda restaurar una copia por estar cifrada maldecirá el día en que decidió cifrar su copia de seguridad y comprenderá que el poder restaurar la copia es igual de importante que realizar la copia de seguridad.\n¿QUÉ TIENEN QUE TENER EN CUENTA LOS PARTIDARIOS DE NO CIFRAR LAS COPIAS DE SEGURIDAD? Los partidarios de no cifrar las copias de seguridad tendrán más posibilidades de restaurarlas en caso de problemas. Pero también tendrán el peligro que un atacante o un ladrón acceda a la nube, servidor u ordenador en que guardan la copia y obtengan información privada, sensible, confidencial, etc. Tengan presente que este tipo de información puede traer consecuencias muy negativas en el ámbito personal y laboral.\nPor lo tanto las 2 opciones presentan ventajas e inconvenientes y no se debe criticar a nadie por tomar una decisión u otra. Además tengan en cuenta que:\nHay información que realmente da igual que la vea un tercero. Las nubes de Microsoft, Dropbox, Google Drive y similares son seguras. Estas compañías aplican modelos de confianza cero y los trabajadores obviamente no puedan consultar el contenido almacenamos. Si alguien espía nuestro contenido será una máquina y no una persona física con malas intenciones. Por los motivos citados hasta el momento en mi caso solo cifro una parte de la información que quiero respaldar.\n¿CUÁNDO ES NECESARIO CIFRAR LAS COPIAS DE SEGURIDAD? A continuación veremos una serie de casos en que es recomendable cifrar las copias de seguridad.\nInformación que permite identificarnos como persona Toda la información que permita identificar a una persona la deberíamos cifrar. Esta información incluye:\nCarnet de conducir, pasaporte, tarjeta sanitaria, número de afiliación a la seguridad social, Currículum Vitae, títulos académicos, etc. Todo documento que muestre mi nombre, email , fecha de nacimiento, trabajo que desempeño, educación, domicilio, número de teléfono, etc. Las fotografías en las que apareces y se puede ver claramente tu cara. Documentos manuscritos. Copias de seguridad de nuestro correo electrónico. Gran parte del correo electrónico laboral y/o personal contiene datos susceptibles ser cifrados. Etc. Si os roban este tipo de información, un delincuente puede llegar a robar vuestra identidad y hacerse pasar por vosotros para por ejemplo dar de alta una línea telefónica, conseguir una tarjeta de crédito, conseguir cobertura médica, etc.\nHistorial médico, contraseñas y situación económica Obviamente también es susceptible de ser cifrado todo el contenido que haga referencia a:\nSituación económica: Extractos de vuestra cuenta bancaria o tarjeta de crédito, impuestos pagados, número de su cuenta bancaria y en general todo documento que proporcione información sobre vuestra situación económica. Nuestro estado de salud: Obviamente es importante cifrar todo documento que haga referencia a nuestro estado de salud. Si algún desaprensivo sabe que tenemos una enfermedad determinada nos puede incluso llegar a chantajear. Contraseñas y pines: Las contraseñas y pines obviamente deben estar cifrados. Para ello una buena opción es usar un gestor de contraseñas como por ejemplo bitwarden. También tengan en cuenta las siguientes prácticas para la gestión y uso de contraseñas. Información relacionada con nuestro trabajo o negocio Finalmente también es recomendable, y en algunos casos obligatorio, cifrar información relacionada con nuestro trabajo o negocio. Algunos ejemplos en los que es recomendable u obligatorio cifrar los datos son:\nDocumentos y registros que contengan información de terceras personas como pueden ser por ejemplo clientes. Información comercial que si cae en manos de terceros puede perjudicar nuestro negocio. Toda información relacionada con el lanzamiento o desarrollo de un nuevo producto, investigaciones, etc. Todo trabajo que tengamos pensado inscribir o esté inscrito en el registro de propiedad intelectual o industrial. Etc. ¿CUÁNDO NO CIFRARÍA NO ES NECESARIO CIFRAR LAS COPIAS DE SEGURIDAD? Todo documento no incluido en el apartado anterior no hace falta ser cifrado. Y es posible que existan personas que no crean necesario cifrar algunos de los contenidos que recomiendo cifrar. Si no lo quieren realizar no hay problema ya que en la mayoría de casos no tiene porque pasar nada negativo.\nAdemás tenemos que tener en cuenta que existen muchos usuarios particulares con escasos conocimientos informáticos y que además no tienen ningún interés en formase. En este caso considero que la mejor opción seria usar un simple gestor de contraseñas, y respaldar gran parte de la información sin cifrar. Pero también deben tener muy en cuenta la información que almacenan sin cifrar y también que el sitio y medio en que almacenan la copia sea seguro.\nCONCLUSIONES FINALES Después de leer todo el contenido podemos llegar a las siguientes conclusiones:\nSi te preocupa más perder los datos de tu copia seguridad que las consecuencias que puede tener que un tercero se haga con tu datos entonces no cifres tu copia de seguridad. Si por lo contrario temes más que un tercero se haga con los datos de tu copia de seguridad que perderlos para siempre entonces cifra tu copia de seguridad. Nota: Todo el artículo hace referencia al cifrado de copias de seguridad. En ningún momento se aborda el tema de cifrar los dispositivos de almacenamiento de un equipo.\nFuentes\nhttps://lifehacker.com/do-i-really-need-to-encrypt-every-file-on-my-computer-5905374\n","permalink":"https://geeklandlinux.github.io/posts/necesidad-cifrar-las-copias-de-seguridad/","summary":"\u003cp\u003eEl tema que abordaremos a continuación es si tenemos o no tenemos que cifrar las copias de seguridad. Y quiero abordar el tema porque son muchas las personas que sin pensarlo ni dudarlo “criminalizan” a la gente que no cifra las copias de seguridad.\u003c/p\u003e","title":"Es necesario o no es necesario cifrar las copias de seguridad"},{"content":"GNU-Linux es un sistema que registra prácticamente la totalidad de eventos y acciones que suceden. Como no podía ser de otra forma también almacena la totalidad de comandos que cada uno de los usuarios ejecuta en la terminal mediante un historial de comandos.\nINTRODUCCIÓN DEL HISTORIAL DE COMANDOS HISTORY A continuación verán una pequeña muestra del contenido que es capaz de registrar el historial de comandos de Linux\nMostrar los comandos que ha ejecutado un usuario Cada vez que ejecutamos un comando en la terminal se registra en el archivo ~/.bash_history.\nNota: Todos y cada uno de los usuarios de nuestro sistema operativo tienen el archivo oculto .bash_history en su partición home.\nSi queremos ver la totalidad de comandos almacenados dentro del archivo que acabamos de mencionar tan solo tenemos que ejecutar el siguiente comando:\nhistory Acto seguido, y según la configuración que tengo en mi caso, veremos los últimos 1000 comandos que ha ejecutado el usuario con que estoy logueado.\nNota: Ejecutando el comando cat ~/.bash_history obtendríamos unos resultados similares. La única diferencia es que según mi configuración el archivo ~/.bash_history contendría los últimos 2000 comandos ejecutados.\nPuntos a tener en cuenta del historial de comandos history Existen una serie de puntos sobre el funcionamiento del historial de comandos history que tenemos que tener en cuenta:\nLa configuración estándar de history hace que únicamente se almacenen 2000 comandos en el fichero ~/.bash_history. Este aspecto se puede cambiar modificando la variable HISTFILESIZE El número de comandos que history puede almacenar en memoria es 1000. Por lo tanto si ejecutamos history en la terminal, aunque el fichero ~/.bash_history contenga 2000 comandos almacenados, la terminal únicamente mostrará los últimos 1000 comandos ejecutados. Este parámetro se puedo configurar mediante la variable HISTSIZE La configuración predeterminada de history hace que no se registren 2 comandos repetidos que se ejecutan de forma consecutiva. Tampoco registra los comandos que empiezan por un espacio. Este comportamiento se puede modificar mediante la variable HISTCONTROL CONFIGURAR EL FUNCIONAMIENTO DEL HISTORIAL DE COMANDOS HISTORY Si lo creemos necesario podemos cambiar el comportamiento predeterminado de history modificando los parámetros de su archivo de configuración. History tiene 2 archivos de configuración:\nEl primero de ellos está ubicado en la partición home de cada uno de los usuarios del sistema operativo y tiene el nombre .bashrc. El otro archivo de configuración es equivalente al primero y está ubicado en /etc/bash.bashrc. La diferencia es que la configuración definida en /etc/bash.bashrc afectará a la totalidad de usuarios del sistema operativo. En mi caso solo quiero modificar la configuración de mi usuario. Por lo tanto ejecutaré el siguiente comando en la terminal:\nnano ~/.bashrc Cuando se abra el editor de textos podremos modificar los siguientes parámetros.\nModificar la capacidad de registro de history Dentro del fichero ~/.bashrc buscaremos las variables HISTSIZE y HISTFILESIZE. En mi caso son las siguientes:\nHISTSIZE=1000 HISTFILESIZE=2000 Una vez encontradas podemos modificar sus parámetros. Por ejemplo podemos introducir los siguientes:\nHISTSIZE=30000 HISTFILESIZE=40000 Una vez modificados los parámetros guardamos los cambios, cerramos el fichero y cerramos absolutamente todas las terminales. A partir de estos momentos:\nEl archivo ~/.bash_history podrá almacenar los últimos 40.000 comandos ejecutados. La terminal será capaz de mostrar los últimos 30.000 comandos ejecutados. Configurar los comandos que registrará el historial de comandos history Dentro del mismo fichero de configuración busquen la variable HISTCONTROL. En mi caso vemos que tiene asignado el parámetro ignoreboth.\nHISTCONTROL=ignoreboth El parámetro ignoreboth hace que history no registre los comandos que se ejecutan después de introducir un espacio. Tampoco registrará los comandos repetidos que se ejecuten de forma consecutiva.\nSi queremos registrar los comandos duplicados que se ejecutan de forma consecutiva, pero no queremos registrar los comandos que empiecen por espacio deberemos reemplazar el parámetro ignoreboth por ignorespace\nPara realizar lo opuesto a lo que justo acabamos de citar deberíamos reemplazar el comando ignoreboth por ignoredups\nTambién existe el parámetro erasedups. Este parámetro hará que en ~/.bash_history no haya un solo comando duplicado. Por ejemplo si hoy ejecutamos el comando ls se registrará. Si mañana lo volvemos a ejecutar se borrará el registro de ayer y quedará registrado solo la última vez que ha sido usado.\nFinalmente citar que se pueden combinar los parámetros que acabamos de citar del siguiente modo:\nHISTCONTROL=ignorespace,erasedups Hacer que el historial de comandos muestre la hora y el día en que se ejecutaron los comandos Para que history muestre la fecha y hora en que se ejecutaron los comandos tan solo tendremos que usar la variable HISTTIMEFORMAT.\nPara ello al final del archivo de configuración ~/.bashrc añadiremos el siguiente código:\nHISTTIMEFORMAT=\u0026#34;%F %T: \u0026#34; Donde:\n%F: Para que aparezca la fecha en en modo año, mes y día. %T: Para que aparezca la hora en en modo hora, minuto y segundo Acto seguido guardamos los cambios, cerramos el fichero y todas las terminales abiertas. Abrimos una nueva terminal y la próxima vez que ejecutaremos history obtendremos un resultado similar al siguiente:\nConfigurar el momento en que se registran los comandos Para asegurar que se registran la totalidad de comandos lo primero que hay que realizar es asegurar que el fichero de configuración contiene el siguiente parámetro:\nshopt -s histappend Nota: En caso de no estar presente se perderán algunos registros de comandos en el caso que trabajemos con más de una terminal de forma simultánea.\nCon el parámetro shopt -s histappend todos los comandos ejecutados en distintas terminales se almacenarán en memoria. En el momento que cerremos cada una de las terminales los comandos ejecutados se guardarán en el fichero ~/.bash_history según el orden con que cerremos la terminal. Esto puede ocasionar que los comandos no queden almacenados en el orden exacto de ejecución.\nSi queremos que los comandos queden registrados exactamente por su orden de ejecución deberemos añadir el siguiente código en el fichero de configuración ~/.bashrc.\nunset PROMPT_COMMAND PROMPT_COMMAND=”history -a” Lo que hace el código es ejecutar en segundo plano el comando history -a cada vez que ejecutamos un comando. Por lo tanto cada vez que ejecutamos un comando se almacena en memoria y se registra en el fichero ~/.bash_history. De esta forma aseguramos que el orden de registro sea cronológico.\nSi además quisiéramos los comandos se registren en tiempo real en memoria y en el archivo ~/.bash_history tendríamos que introducir la siguiente línea en el fichero de configuración:\nPROMPT_COMMAND=\u0026#34;history -a; history -c; history -r; $PROMPT_COMMAND\u0026#34; Lo que hace el texto añadido es ejecutar los comandos history -a, history -c y history -r cada vez que ejecutamos un comando. Por lo tanto en el momento de ejecutar un comando sucederá lo siguiente:\nMediante history -a se añadirá cada uno de los comandos ejecutados al fichero ~/.bash_history Acto seguido se borrará el historial de comandos almacenado en memoria mediante el comando history -c Finalmente se cargará el contenido de ~/.bash_history en memoria mediante el comando history -r EJEMPLOS DE USO DEL HISTORIAL DE COMANDOS HISTORY A continuación verán algunos ejemplos de uso del historial de comandos.\nMostrar los últimos 20 comandos ejecutados Para mostrar los últimos 20 comandos ejecutados tan solo tenemos que ejecutar el comando history seguido por número de comandos a visualizar.\nhistory 20 Mostrar los 10 primeros comandos registrados en memoria Para mostrar los 10 primeros comandos almacenados o cargados en memoria ejecutaremos el siguiente comando en la terminal:\nhistory | head -n 10 El resultado obtenido es el siguiente:\nFíjense que el primer valor almacenado corresponde a la posición 861 del fichero ~/.bash_history. Esto es así porque mi fichero ~/.bash_history contiene 1861 registros.\nObtener los comandos ejecutados que contienen una determinada palabra Si queremos podemos usar history para recordar comandos que hemos escrito en el pasado. Por ejemplo para obtener la totalidad de comandos ejecutados que contienen la palabra apt ejecutaremos el siguiente comando:\npi@raspberrypi:~ $ history | grep apt 1849 sudo apt remove --purge epiphany-browser 1884 sudo apt update 1885 sudo apt dist-upgrade 1996 sudo apt update 1997 sudo apt dist-upgrade 1998 sudo apt clean 1999 sudo apt autoclean Si ahora queremos ejecutar uno de los comandos sin tener que escribirlo usamos el carácter ! seguido del número de comando a ejecutar.\n!1884 Si además queremos ejecutar 2 comandos de forma consecutiva lo podríamos realizar el siguiente modo:\n!1884 \u0026amp; !1885 Para ejecutar el último comando almacenado en memoria tan solo tendríamos que ejecutar el siguiente comando:\n!! Otros ejemplos de búsqueda de comandos ejecutados serían los siguientes:\nPropósito Comando Ver todos los comandos que tengan la palabra apt y --purge history | grep -E 'apt.*--purge' Ver todos los comandos que tengan la palabra apt o --purge history | grep 'apt\\|--purge' Nota: Aquí pueden jugar tanto como quieran con grep para obtener el resultado que necesiten.\nBuscar el último comando ejecutado que contiene una determinada palabra Para buscar el último comando ejecutado que contiene una palabra determinada podemos presionar la combinación de teclas Ctrl+R\nActo seguido escriban una de las palabras que contiene el comando que quieren buscar. En mi caso escribo apt y una vez escrita la palabra podrán ver el último comando ejecutado que contiene la palabra apt.\nSi en vez del último comando quisieran ver el penúltimo tan solo tendrían que volver a presionar Ctrl+R. Una vez visualicen el penúltimo pueden volver a presionar Ctrl+R para visionar el antepenúltimo y así sucesivamente.\nUna vez encontrado el comando que quieren ejecutar presionen enter y se ejecutará.\nBorrar el historial de comandos del sistema operativo Para borrar el historial de comandos de la memoria tan solo tenemos que ejecutar el siguiente comando:\nhistory -c Si queremos borrar tanto el contenido de la memoria como el contenido del archivo ~/.bash_history tendremos que ejecutar el siguiente comando:\nhistory -c \u0026amp;\u0026amp; history -w Si únicamente pretendemos borrar la línea 500 del historial almacenado en memoria usaremos el siguiente comando:\nhistory -d 500 Desactivar el historial de comandos history Si una vez borrado el historial lo quisiéramos desactivar lo podríamos hacer del siguiente modo:\nInicialmente accederíamos al archivo de configuración ejecutando el siguiente comando:\nnano ~/.bashrc Justo al final del archivo introduciríamos el siguiente comando:\nunset HISTFILE Finalmente tan solo tendríamos que guardar los cambios y cerrar todas las terminales.\nEjecutar un comando sin que quede registrado en el historial Según la configuración estándar no se registran los comandos que empiezan por un espacio. Por lo tanto si queremos que no quede registrado un comando presionaremos la barra espaciadora y seguidamente ejecutaremos el comando de forma habitual.\nVisualizar el historial de comandos de una forma más sencilla Si queremos paginar los comandos almacenados y verlos de una forma mucho más cómoda podemos usar el visualizador de archivos de texto less. Para ello tan solo tienen que ejecutar el siguiente comando:\nhistory | less PROTEGER EL HISTORIAL DE COMANDOS PARA QUE NO PUEDA SER MANIPULADO POR TERCEROS Podemos proteger el historial de comandos para que ningún usuario pueda modificar su contenido. Para ello inicialmente modificaremos el permiso de los ficheros .bash_history, .bash_profile, .bash_login, .profile, .bash_logout y .bashrc ejecutando los siguientes comandos:\nsudo chattr +a /home/user/.bash_history sudo chattr +a /home/user/.bash_profile sudo chattr +a /home/user/.bash_login sudo chattr +a /home/user/.profile sudo chattr +a /home/user/.bash_logout sudo chattr +a /home/user/.bashrc Nota: Deberéis reemplazar user por vuestro usuario. Nota: En estos momentos no se podrá eliminar ni modificar el contenido de los ficheros. Lo único que se podrá realizar es adjuntar información a los archivos. Nota: Si algún día quieren revertir los cambios deberán ejecutar el mismo comando reemplazando +a por -a.\nA continuación estableceremos que las variables de configuración de history sean solo de lectura. Para ello dentro del fichero de configuración de ~/.bashrc introduciremos el siguiente código al final del archivo:\nreadonly HISTFILE readonly HISTFILESIZE readonly HISTSIZE readonly HISTCMD readonly HISTCONTROL readonly HISTIGNORE Nota: En el caso que usen el parámetro PROMPT_COMMAND=”history -a” lo deberán reemplazar por readonly PROMPT_COMMAND=”history -a”\nUna vez introducidos los cambios los guardan, cierran el archivo de configuración y todas las terminales.\nFinalmente deshabilitaremos el acceso a otras shells ejecutando los siguientes comandos:\nsudo chmod 750 csh sudo chmod 750 tcsh sudo chmod 750 ksh Fuentes\nhttps://www.busindre.com/historial_en_bash_sin_perder_comandos\n","permalink":"https://geeklandlinux.github.io/posts/como-usar-y-configurar-el-historial-de-comandos-history-en-linux/","summary":"\u003cp\u003eGNU-Linux es un sistema que registra prácticamente la totalidad de eventos y acciones que suceden. Como no podía ser de otra forma también almacena la totalidad de comandos que cada uno de los usuarios ejecuta en la terminal mediante un historial de comandos.\u003c/p\u003e","title":"Como usar y configurar el historial de comandos history en Linux"},{"content":"Gnu-Linux es un sistema operativo multitarea que permite ejecutar y gestionar trabajos de forma simple mediante la terminal. Para gestionar trabajos y procesos tan solo tienen que seguir las indicaciones que mostraré a continuación, pero antes de iniciar la explicación es importante entender que son los trabajos en Linux.\n¿QUÉ SON LOS TRABAJOS EN LINUX? Un trabajo en Linux es un comando que se ha ejecutado desde de la terminal y aún no ha finalizado. En otras palabras un trabajo es un proceso que depende y está gestionado por la terminal.\nComo veremos más adelante la totalidad de trabajos o tareas estarán reflejadas en una tabla de tareas o trabajos.\nEJECUTAR UN TRABAJO EN PRIMER PLANO DESDE LA TERMINAL Al ejecutar un comando simple como por ejemplo:\nls El trabajo se ejecuta y termina de forma instantánea. Por lo tanto nunca veremos el trabajo listado en la lista de trabajos. Pero en el caso que ejecutemos el comando:\nsleep 1000 El resultado es muy diferente. Lo es porque porque se ejecutará un trabajo que dejará la terminal de nuestro equipo inactiva durante 1000 segundos sin que nosotros podamos introducir nuevos comandos.\nSi antes de los 1000 segundos quisiéramos ejecutar otro comando tendríamos que abrir otro emulador de terminal, o una terminal virtual.\nCANCELAR Y SUSPENDER UN TRABAJO QUE CORRE EN PRIMER PLANO En el apartado anterior generamos un trabajo que tardará 1000 segundos en finalizar.\nSi queremos cancelar o suspender el trabajo que está en ejecución lo podemos hacer del siguiente modo.\nPara cancelar el trabajo tan solo tenemos que presionar la combinación de teclas Ctrl+C\njoan@debian:~$ sleep 1000 ^C Para suspender el trabajo, con el fin de poderlo reanudar más tarde, tendremos que presionar la combinación de teclas Ctrl+Z\njoan@debian:~$ sleep 1000 ^Z [1]+ Detenido sleep 1000 LANZAR VARIOS TRABAJOS EN LINUX PARA QUE SE EJECUTEN DE FORMA SIMULTANEA EN SEGUNDO PLANO Gnu-Linux es un sistema multitarea, por lo tanto permite ejecutar varios trabajos de forma simultánea y cada uno de estos trabajos será identificado con un número de trabajo.\nPara ejecutar trabajos de forma simultanea sin tener que abrir varios emuladores de terminal ni terminales virtuales tendremos que añadir el carácter \u0026amp; al final del comando que utilizaremos para ejecutar el trabajo. Por lo tanto en nuestro caso ejecutaremos el siguiente comando:\njoan@debian:~$ sleep 2000 \u0026amp; [1] 54472 Justo después de ejecutar el comando veremos que la terminal sigue estando operativa para ejecutar más comandos.\nA continuación lanzaremos el segundo trabajo ejecutando el siguiente comando en la terminal:\njoan@debian:~$ sleep 10000 \u0026amp; [2] 55504 LISTAR LOS TRABAJOS QUE ESTÁN DETENIDOS O EJECUTÁNDOSE Siguiendo con el apartado anterior deberíamos tener 2 trabajos activos ejecutándose en segundo plano. Para listarlos tan solo tenemos que ejecutar el comando jobs en la terminal:\njoan@debian:~$ jobs [1]- Ejecutando sleep 2000 \u0026amp; [2]+ Ejecutando sleep 10000 \u0026amp; Efectivamente vemos que los 2 comandos que lanzamos en el apartado anterior están activos y ejecutándose.\nPara ver las opciones adicionales que ofrece el comando jobs ejecuten el siguiente comando en la terminal.\njobs --help DETENER UN TRABAJO QUE ESTÁ EJECUTÁNDOSE EN SEGUNDO PLANO Si ahora quisiéramos suspender el trabajo número 1 tendríamos que usar el comando fg y la combinación de teclas Ctrl+Z.\nNota: El comando fg (foreground o primer plano) traerá a primer plano un trabajo que está ejecutándose en segundo plano. También se puede usar para reanudar en primer plano un trabajo que está suspendido o detenido.\nPor lo tanto, para traer a primer plano la tarea 1 que se está corriendo en segundo plano ejecutaremos el siguiente comando en la terminal:\nfg %1 Una vez la tarea esté en primer plano la suspenderemos presionando la combinación de teclas Ctrl+Z\njoan@debian:~$ fg %1 sleep 2000 ^Z [1]+ Detenido sleep 2000 Una vez detenida la tarea ejecutaremos el comando jobs y veremos que efectivamente hemos detenido el trabajo 1 y el trabajo 2 sigue ejecutándose.\njoan@debian:~$ jobs [1]+ Detenido sleep 2000 [2]- Ejecutando sleep 10000 \u0026amp; REANUDAR UN TRABAJO QUE ESTÁ DETENIDO Para volver a reanudar el trabajo que acabamos de detener podemos usar los comandos fg o bg.\nNota: El comando bg (background o segundo plano) se usa para reanudar un trabajo que está suspendido en segundo plano.\nPor lo tanto para reanudar el comando que suspendimos en el apartado anterior ejecutaremos el comando bg seguido por el número de trabajo a reanudar:\njoan@debian:~$ bg %1 [1]+ sleep 1000 \u0026amp; Una vez ejecutado el comando se reanudará la ejecución del trabajo en segundo plano. Para comprobarlo ejecutaremos el comando jobs en la terminal:\njoan@debian:~$ jobs [1]- Ejecutando sleep 2000 \u0026amp; [2]+ Ejecutando sleep 10000 \u0026amp; Nota: Para reanudar el trabajo que teníamos detenido en primer plano deberíamos haber ejecutado el comando fg %1\nMATAR UN TRABAJO QUE ESTÁ DETENIDO O EJECUTÁNDOSE Para matar un trabajo que está detenido o ejecutándose se puede hacer de 2 formas. Lo veremos claro mediante el siguiente ejemplo.\nPara matar o cancelar el trabajo 1 podemos traerlo a primer plano ejecutando el siguiente comando en la terminal:\nfg %1 Una vez el trabajo esté ejecutándose en primer plano lo mataremos presionando la siguiente combinación de teclas:\nCtrl+C Si ahora listamos los trabajos activos mediante el comando jobs veremos que únicamente hay un solo trabajo activo.\njoan@debian:~$ jobs [2]+ Ejecutando sleep 10000 \u0026amp; Otra opción para matar un trabajo es mediante el comando kill. Si ahora queremos matar el trabajo 2 tan solo tendríamos que ejecutar el comando kill seguido de % y el número de trabajo que queremos matar. Por lo tanto para matar el trabajo 2 ejecutaremos el siguiente comando:\njoan@debian:~$ kill %2 En estos momento no quedará ningún trabajo activo. Si listamos los trabajos con el comando jobs veremos que el trabajo 2 está terminado.\njoan@debian:~$ jobs [2]+ Terminado sleep 10000 Nota: El carácter % es para indicar que se trata de un trabajo y no de un proceso normal.\nDESACOPLAR TRABAJOS DE LA TERMINAL Un trabajo que está ejecutándose en un emulador de terminal finalizará automáticamente en el momento que cerremos la terminal. Para evitar esto existen soluciones como no-hup, screen o tmux. Otra solución es desacoplar el trabajo de la terminal mediante el comando disown.\nPara que se entienda de forma más clara lanzaremos 2 trabajos ejecutando los siguientes comandos en la terminal.\njoan@debian:~$ sleep 10000 \u0026amp; [1] 144164 joan@debian:~$ sleep 20000 \u0026amp; [2] 144193 Acto seguido listaremos los trabajos mediante el comando jobs.\njoan@debian:~$ jobs [1]- Ejecutando sleep 10000 \u0026amp; [2]+ Ejecutando sleep 20000 \u0026amp; Si queremos que el trabajo 2 continúe activo después de cerrar la terminal ejecutaremos el siguiente comando:\njoan@debian:~$ disown %2 Si ahora listamos los trabajos mediante el comando jobs veremos que el trabajo 2 ha desparecido:\njoan@debian:~$ jobs [1]- Ejecutando sleep 10000 \u0026amp; Nota: Si quisiéramos desacoplar el proceso sin que saliera de la tabla de trabajos deberíamos haber ejecutado el comando disown -h %2\nPero aunque haya desaparecido sigue ejecutándose. Y lo podemos comprobar ejecutando el siguiente comando en la terminal:\njoan@debian:~$ ps -aux | grep sleep joan 144164 0.0 0.0 7992 816 pts/2 S 15:17 0:00 sleep 10000 joan 144193 0.0 0.0 7992 892 pts/2 S 15:17 0:00 sleep 20000 joan 144590 0.0 0.0 8656 912 pts/2 S+ 15:18 0:00 grep sleep Si ahora cerramos la terminal y abrimos otra nueva veremos que la tabla de trabajos está completamente vacía.\njoan@debian:~$ jobs Pero si miramos la tabla de procesos vemos que la tarea que desacoplamos de la terminal sigue ejecutándose sin problema alguno.\njoan@debian:~$ ps -aux | grep sleep joan 144193 0.0 0.0 7992 892 pts/2 S 15:17 0:00 sleep 20000 joan 144920 0.0 0.0 8656 912 pts/2 S+ 15:19 0:00 grep sleep Si ahora por ejemplo queremos matar definitivamente el proceso que aun sigue ejecutándose tendremos que ejecutar el siguiente comando.\nkill 144193 De esta forma tan simple y sencilla podemos gestionar trabajos desde la terminal de Linux.\n","permalink":"https://geeklandlinux.github.io/posts/gestionar-trabajos-en-linux-terminal/","summary":"\u003cp\u003eGnu-Linux es un sistema operativo multitarea que permite ejecutar y gestionar trabajos de forma simple mediante la terminal. Para gestionar trabajos y procesos tan solo tienen que seguir las indicaciones que mostraré a continuación, pero antes de iniciar la explicación es importante entender que son los trabajos en Linux.\u003c/p\u003e","title":"Gestionar trabajos en Linux desde la terminal con jobs, fg, bg, disown y kill"},{"content":"A continuación veremos el procedimiento más sencillo y efectivo para poder instalar Docker y Docker-compose en prácticamente cualquier distribución GNU-Linux. Por ejemplo podremos usar el siguiente método para las siguientes distribuciones:\nRaspbian. Ubuntu y distribuciones derivadas. Debian y distribuciones derivadas. Fedora y distribuciones derivadas. CentOS y Red Hat Enterprice Linux. Pero antes de iniciar la explicación veremos de forma muy breve que es Docker y los beneficios que nos aporta.\n¿QUÉ ES Y QUE BENEFICIOS NOS APORTA DOCKER? Docker es una herramienta de virtualización ligera que permite correr aplicaciones y servicios en contenedores. Algunas de las aplicaciones y servicios que nos permite usar Docker son:\nTiny Tiny RSS Nextcloud Bitwarden Nextcloud Wordpress Jekyll Jellyfin Etc Nota: Docker tiene miles de servicios y aplicaciones para instalar y usar de forma sencilla.\nLa principales ventajas de correr aplicaciones y servicios con Docker son las siguientes:\nPoner en marcha un servicios autoalojados en nuestro servidor es extremadamente simple. A modo de ejemplo, con solo un comando podemos instalar el gestor de contraseñas bitwarden (modo servidor) en nuestro equipo. Los servicios que instalamos están preconfigurados y son plenamente funcionales. Una vez lanzado el contenedor ya podemos usar el servicio sin problema alguno y funcionará de forma adecuada. Una imagen de Docker permitirá usar un servicio en multitud de equipos sin tener problemas de dependencias. Todo contenedor en funcionamiento dispone de la totalidad librerías y dependencias para funcionar en cualquier equipo que tenga Docker correctamente instalado. Actualizar los servicios a la última versión es sumamente sencillo e incluso podemos automatizar el proceso. Tan solo tenemos que descargar la nueva imagen y montar el contenedor con los mismos parámetros que lo montamos en su día. De esta forma en segundos podremos actualizar a la nueva versión de un servicio manteniendo la configuración anterior. Migrar un servicio de un equipo a otro es sumamente sencillo. Tan solo tenemos que crear una imagen del servicio que tenemos corriendo en un contenedor. Está imagen la podremos instalar en multitud de equipos y funcionará. De una misma imagen podemos crear varios contenedores que estén corriendo de forma paralela. Por todo lo comentado hasta el momento podemos concluir que es una muy buena opción para probar servicios que queramos autoalojar en nuestro servidor. También es una buena opción para correr servicios en producción. PROCEDIMIENTO PARA INSTALAR DOCKER DE FORMA SENCILLA La forma más segura y sencilla para instalar Docker es la que veremos a continuación.\nPaso 1: Descargar el script de instalación de Docker Instalaremos Docker mediante un script de instalación que instalará la versión Community estable de Docker. Como hemos dicho al inicio del artículo este script se puede utilizar en multitud de distribuciones GNU-Linux.\nPara descargar el script de instalación tan solo tenemos que ejecutar el siguiente comando:\ncurl -fsSL https://get.docker.com -o get-docker.sh Paso 2: Instalar Docker A continuación instalaremos Docker ejecutando el script que acabamos de descargar. Para ello tan solo tenemos que ejecutar el siguiente comando en la terminal:\nsudo sh get-docker.sh A partir de este momento tan solo tenemos que esperar a que Docker se instale de forma totalmente automática.\nPaso 3: Añadir nuestro usuario al grupo Docker Una vez finalizada la instalación, Docker solamente podrá ser usado por el usuario root. Para que el usuario con el que nos logueamos de forma habitual pueda usar Docker tendremos que añadirlo al grupo docker. En mi caso siempre uso el usuario pi, por lo tanto añadiré el usuario pi al grupo docker ejecutando el siguiente comando en la terminal:\nsudo usermod -aG docker pi Una vez ejecutado el comando reinicien su equipo. Una vez reiniciado el equipo todo debería funcionar a la perfección.\nPaso 4: Ver información sobre la versión de Docker que acabamos de instalar Para ver la versión de docker que estamos usando ejecutaremos el siguiente comando:\ndocker -v Para ver la versión de docker que estamos usando, así como otros parámetros como por ejemplo:\nDetalles sobre las imágenes y contenedores presentes en nuestro OS. El directorio raíz de Docker. La versión de kernel y arquitectura del equipo en que está instalado Docker. El sistema operativo que estamos usando. Especificaciones técnicas del equipo en que hemos instalado Docker. Podemos ejecutar el siguiente comando:\ndocker info Paso 5: Correr nuestro primer contenedor para asegurar que docker funciona Finalmente tan solo falta comprobar que Docker funcione de forma adecuada. Para ello ejecutaremos el primer contenedor ejecutando este simple comando:\ndocker run hello-world En mi caso el resultado obtenido ha sido el siguiente:\nUnable to find image \u0026lsquo;hello-world:latest\u0026rsquo; locally latest: Pulling from library/hello-world 4ee5c797bcd7: Pull complete Digest: sha256:f9dfddf63636d84ef479d645ab5885156ae030f611a56f3a7ac7f2fdd86d7e4e Status: Downloaded newer image for hello-world:latest\nHello from Docker! This message shows that your installation appears to be working correctly.\nSi se fijan, en la salida del comando obtenemos el resultado Hello from Docker! que es justamente la finalidad del contenedor. Justo por debajo también vemos un mensaje que nos informa que la instalación de Docker es correcta. Por lo tanto tenemos Docker instalado y funcionando de forma correcta.\nINSTALAR DOCKER COMPOSE Una vez instalado Docker también aconsejo instalar docker-compose. Docker-compose les será de utilidad para asociar distintos contenedores entre si o para simplemente ejecutar contenedores.\nEn mi caso instalo docker-compose mediante el gestor de paquetes pip. Para asegurar que tenemos instalado el gestor de paquetes pip ejecutaremos los siguientes comandos en la terminal:\nsudo apt install -y libffi-dev libssl-dev sudo apt install -y python3-pip Nota: Los 2 últimos comandos son válidos para distros que usan el gestor de paquetes apt. Si usan otro gestor de paquetes deberán realizar las modificaciones pertinentes.\nFinalmente ejecutaremos el siguiente comando en la terminal para instalar docker-compose.\nsudo pip3 install docker-compose ACTUALIZAR DOCKER Y DOCKER COMPOSE En todo momento podremos disponer de las versiones más actualizadas de Docker y Docker-Compose. Para ello tan solo tendremos que ejecutar los siguientes comandos:\nsudo apt update \u0026amp;\u0026amp; sudo apt upgrade pip3 install --upgrade docker-compose Nota: El primero de los comandos únicamente es válido para distros que usan el gestor de paquetes apt. Si usan otro gestor de paquetes deberán realizar las modificaciones pertinentes.\nDESINSTALAR DOCKER Y DOCKER COMPOSE Para desinstalar docker Docker en aplicaciones que usen el gestor de paquetes apt tan solo tienen que ejecutar el siguiente comando:\nsudo apt remove --purge docker-ce En distribuciones que usen el gestor de paquetes DNF deberán ejecutar el siguiente comando:\nsudo dnf remove docker-ce En el caso que uséis una distro que use el gestor de paquetes yum deberéis ejecutar el siguiente comando:\nsudo yum remove docker-ce Para borrar la totalidad de imágenes y contenedores que hayan instalado y usado tendrán que ejecutar el siguiente comando:\nsudo rm -rf /var/lib/docker Finalmente tendrán que borrar uno por uno la totalidad de volúmenes que hayan creado al montar sus contenedores.\nPara desinstalar Docker-compose tan solo tendremos que ejecutar el siguiente comando en la terminal:\nsudo pip3 uninstall docker-compose Fuente\nhttps://docs.docker.com/install/\n","permalink":"https://geeklandlinux.github.io/posts/instalar-docker-y-docker-compose-en-linux/","summary":"\u003cp\u003eA continuación veremos el procedimiento más sencillo y efectivo para poder instalar Docker y Docker-compose en prácticamente cualquier distribución GNU-Linux. Por ejemplo podremos usar el siguiente método para las siguientes distribuciones:\u003c/p\u003e","title":"Instalar Docker y Docker-Compose en Raspbian, Ubuntu, Debian, Fedora"},{"content":"En el artículo anterior vimos ejemplos de utilización de CryFS, EncFS y gocryptfs. En los ejemplos partíamos de un directorio con contenido cifrado y lo que hacíamos era montar un volumen descifrado que contenía la misma información que el directorio cifrado. No obstante gocryptfs y EncFS permiten realizar lo opuesto. Por lo tanto en nuestro equipo podemos tener un directorio sin cifrar con multitud de ficheros y directorios. A partir del directorio sin cifrar podemos montar un volumen cifrado que contenga la misma información que el directorio sin cifrar. Una vez montado podemos subir la información cifrada a una nube pública o privada de forma segura. A continuación veremos como usar la opción de cifrado inverso con gocryptfs y EncFS.\nCIFRADO INVERSO DE INFORMACIÓN EN LINUX USANDO GOCRYPTFS Y ENCFS Los pasos a seguir para un cifrado inverso de información con gocryptfs y EncFS son los siguientes:\nInstalar EncFS y/o GoCryptFS Obviamente el primer paso consiste en instalar el software que usaremos para el cifrado inverso de ficheros y directorios. Para ello instalaremos gocryptfs y EncFS ejecutando los siguientes comandos en la terminal.\nSoftware Comando de instalación EncFS sudo apt install encfs fuse GocryptFS sudo apt install gocryptfs fuse Nota: En artículos previos hablamos de los vulnerabilidades de seguridad de EncFS\nNota: Los comandos mencionados únicamente son válidos para las distribuciones que usen el gestor de paquetes apt.\nCrear los directorios que almacenarán el contenido cifrado y el contenido sin cifrar Para conseguir un cifrado inverso de archivos y directorios necesitamos 2 directorios.\nEl primer directorio que contendrá la totalidad de información sin cifrar. En mi caso el directorio será el /home/joan/Documentos. El segundo directorio en el que montaremos la información cifrada. En mi caso el directorio será el /home/joan/backup. Para crear los directorios usaremos los siguientes comandos:\nComando para crear directorios Contenido descifrado mkdir /home/joan/Documentos Contenido cifrado mkdir /home/joan/backup Una vez finalizada la preparación ya podemos iniciar el proceso de cifrado inverso.\nCifrado inverso de archivos y directorios con gogryptfs Según lo comentado hasta el momento disponemos de 2 directorios en nuestro equipo. En mi caso son los siguientes:\nEn el directorio /home/joan/Documentos/ es donde almacenaré la totalidad de archivos y directorios sin cifrar. Estos archivos estarán siempre disponibles y es donde trabajaré con mis documentos. Actualmente este directorio únicamente contiene 2 ficheros.\nEn el directorio /home/joan/backup/ es donde montaré el contenido cifrado del directorio /home/joan/Documentos/.\nLo primero que tenemos que realizar es configurar el volumen cifrado. Para ello deberemos ejecutar el siguiente comando:\ngocryptfs -init -reverse /home/joan/Documentos/ Nota: Deberéis reemplazar la parte verde del comando por la ruta que almacenará el contenido sin cifrar.\nUna vez ejecutado el comando deberemos definir una contraseña para cifrar y descifrar el contenido.\nChoose a password for protecting your files. Password: 1234 Repeat: 1234\nNota: Considerando que usáis letras mayúsculas y minúsculas es recomendable elegir una contraseña de entre 11 y 22 dígitos.\nActo seguido visualizaremos nuestra master key. Apuntadla porque si se nos corrompen los archivos .gocrypt.reverse.conf, gocryptfs.conf o gocryptfs.diriv será el único medio que tendremos para volver a descifrar/montar el volumen cifrado.\nYour master key is:\n9df3f204-90403ca8-4cb78172-0dd9da3d- d6523052-0d1fd524-a505z56b-82de4461\nIf the gocryptfs.conf file becomes corrupted or you ever forget your password, there is only one hope for recovery: The master key. Print it to a piece of paper and store it in a drawer. This message is only printed once. The gocryptfs-reverse filesystem has been created successfully. You can now mount it using: gocryptfs -reverse Documentos MOUNTPOINT\nUna vez finalizada la configuración aparecerá el archivo oculto .gogryptfs.conf en el directorio que almacena contenido sin cifrar. No perdáis nunca este archivo y haced una copia de seguridad ya que para montar el volumen cifrado necesitaremos este archivo más la contraseña que acabamos de definir.\nA continuación ya podemos montar el volumen cifrado ejecutando el siguiente comando en la terminal:\ngocryptfs -reverse /home/joan/Documentos/ /home/joan/backup/ Nota: Deberéis reemplazar el texto en verde por la ruta del directorio que contendrá la información sin cifrar. El texto en color rojo lo deberéis reemplazar por la ruta del directorio en que montaremos el volumen cifrado.\nJusto después de ejecutar el comando tendréis que introducir la contraseña para montar el volumen cifrado.\nPassword: 1234 Decrypting master key Filesystem mounted and ready.\nUna vez finalizado el proceso, en el directorio /home/joan/backup aparecerán el mismo número de ficheros que en el directorio /home/joan/Documentos/, pero estarán cifrados. Además en el volumen cifrado aparecerán los ficheros gocryptfs.conf y gocryptfs.diriv. No perdáis nunca estos archivos y haced una copia de seguridad ya que para restaurar los ficheros cifrados necesitaremos estos 2 archivos más la contraseña que acabamos de definir.\nA partir de este momento, con rsync o rclone podremos subir la información cifrada incluso en una nube que nosotros consideremos insegura. De esta forma simple y segura podemos realizar copias de seguridad cifradas en la nube.\nPara desmontar el volumen cifrado tan solo tendremos que ejecutar el siguiente comando:\nfusermount -u /home/joan/backup Nota: Deberéis reemplazar el texto rojo por lo ruta del directorio en que hayáis montado la información cifrada.\nSi en un futuro quieran volver a montar el volumen cifrado tan solo tendrán que ejecutar el siguiente comando e introducir la correspondiente contraseña.\ngocryptfs -reverse /home/joan/Documentos/ /home/joan/backup/ Cifrado inverso de ficheros y directorios con EncFS Al igual que gocryptfs, EncFS también permite la opción de cifrado inverso. Por lo tanto partiremos del directorio /home/joan/Documentos/ que almacenará nuestros archivos y directorios sin cifrar. Estos archivos estarán siempre disponibles y es donde trabajaré con mis documentos.\nEn el directorio /home/joan/backup/ es donde montaremos el contenido cifrado del directorio /home/joan/Documentos/. Por lo tanto al igual que en el caso anterior partimos de la siguiente situación:\nPara montar/cifrar el contenido del directorio /home/joan/Documentos/ en /home/joan/backup tendremos que ejecutar el siguiente comando.\nencfs --reverse /home/joan/Documentos/ /home/joan/backup Nota: El texto en color verde corresponde a la ubicación donde guardamos y editamos los ficheros sin cifrar. La parte roja define la ubicación donde montaremos el contenido cifrado.\nLa primera vez que ejecutemos el comando tendremos que definir la configuración del tipo de cifrado que se aplicará. Desafortunadamente la opción de pre-configurado no está soportada, por lo tanto tendremos que elegir la opción x “modo experto de configuración”\nCreando nuevo volumen cifrado. Por favor, elige una de las siguientes opciones: pulsa \u0026ldquo;x\u0026rdquo; para modo experto de configuracion, pulsa \u0026ldquo;p\u0026rdquo; para modo paranoia pre-configurado, cualquier otra, o una linea vacia elegira el modo estandar. ?\u0026gt; x\nActo seguido nos preguntaran diversos parámetros para realizar el cifrado. En mi caso selecciono los siguientes:\nAlgoritmo de cifrado: AES 16 byte block cipher Tamaño de la clave: 256 Tamaño de bloque en bytes: 2048 Algoritmos de cifrado de nombres: Block32 Habilitar vectores de inicialización para cada archivo: Sí Una vez seleccionadas todas las opciones tendremos que definir la contraseña para montar el volumen cifrado:\nNueva contraseña Encfs: 1234 Verifique la contraseña Encfs: 1234\nNota: La contraseña se puede cambiar a posteriori mediante el comando encfsctl. No obstante al igual que en el caso anterior elegid una contraseña de 11 a 22 caracteres que contenga mayúsculas y minúsculas.\nUna vez finalizado el proceso veremos que los 2 archivos que teníamos en el directorio Documentos aparecen de forma cifrada en el directorio de copias de seguridad. Además en el directorio que contiene la información sin cifrar aparece el fichero oculto de configuración de EncFS (.encfs6.xml). Es indispensable que hagan una copia de seguridad de este archivo oculto porque sin el será literalmente imposible montar de nuevo el volumen cifrado o restaurar una copia de seguridad cifrada que hayamos almacenado en un medio externo.\nA partir de este momento, con rsync o rclone podremos subir la información cifrada incluso en una nube que nosotros consideremos insegura. De esta forma simple y segura podemos realizar copias de seguridad cifradas en la nube.\nCuando ya no necesitemos el volumen cifrado lo podemos desmontar ejecutando el siguiente comando:\nfusermount -u /home/joan/backup Nota: Deberéis reemplazar el texto rojo por lo ruta del directorio en que hayáis montado la información cifrada.\nSi en un futuro quieran volver a montar el volumen cifrado tan solo tendrán que ejecutar el siguiente comando e introducir la correspondiente contraseña.\nencfs --reverse /home/joan/Documentos/ /home/joan/backup DESCIFRAR EL CONTENIDO DEL VOLUMEN CIFRADO El cifrado inverso de archivos con gocryptfs y EncFS es ideal para realizar copias de seguridad cifradas en la nube.\nPor lo tanto es de vital importancia saber descifrar el contenido del volumen cifrado.\nImaginemos que el dispositivo de almacenamiento de nuestro ordenador se ha estropeado y únicamente disponemos de la copia de seguridad cifrada en un medio externo.\nDescifrar una copia de seguridad cifrada con gocryptfs En mi equipo dispongo del directorio /home/joan/cifrado que contiene los ficheros cifrados que quiero restaurar. Los ficheros los voy a restaurar en la ubicación /home/joan/restaurado\nLo primero que tendremo que realizar es asegurar que gocryptfs está instalado en nuestro equipo. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo apt install gocryptfs fuse A continuación tendremos que obtener los archivos gocryptfs.conf y gocryptfs.diriv. Los rescatan de su copia de seguridad y los ubican dentro del directorio que contiene el contenido cifrado. Recuerden que antes dije que teníamos que hacer una copia de estos archivos.\nNota: Si quieren pueden almacenar los ficheros gocryptfs.conf y gocryptfs.diriv en la copia de seguridad cifrada. Es más práctico pero el nivel de seguridad será menor.\nFinalmente tan solo tenemos que ejecutar el siguiente comando para restaurar la copia de seguridad.\ngocryptfs /home/joan/cifrado /home/joan/restaurado/ Nota: El texto en color rojo corresponde a la ubicación donde guardamos la copia de seguridad cifrada. La parte verde corresponde a la ubicación donde restauraremos el contenido cifrado.\nDespués de ejecutar el comando se nos preguntará la contraseña que definimos para montar el volumen. La introducimos y pulsamos Enter.\nPassword: 1234 Decrypting master key Filesystem mounted and ready.\nActo seguido se restaurará el contenido de nuestra copia de seguridad.\nDescifrar una copia de seguridad cifrada con EncFS En mi equipo dispongo del directorio /home/joan/cifrado que contiene los ficheros cifrados que quiero restaurar. Los ficheros los voy a restaurar en la ubicación /home/joan/restaurado\nActo seguido tenemos que asegurar que EncFS está instalado en nuestro equipo. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo apt install encfs fuse Es indispensable disponer del archivo de configuración oculto .encfs6.xml para descifrar el contenido. Por lo tanto rescatan el archivo .encfs6.xml de su copia de seguridad y lo ubican dentro del directorio donde contiene todo el contenido cifrado. Recuerden que en apartados anteriores les advertí que era crucial tener una copia de seguridad del archivo .encfs6.xml.\nNota: Si quieren pueden almacenar el fichero .encfs6.xml en la copia de seguridad cifrada. Es más práctico pero el nivel de seguridad será menor.\nFinalmente ya podemos restaurar la copia de seguridad. Para ello tan solo tenemos que ejecutar el siguiente comando.\nencfs /home/joan/cifrado /home/joan/restaurado/ Nota: El texto en color rojo corresponde a la ubicación donde guardamos la copia de seguridad cifrada. La parte verde corresponde a la ubicación donde restauraremos el contenido cifrado.\nDespués de ejecutar el comando se nos preguntará la contraseña que usabamos para montar el volumen. La introducimos y pulsamos Enter.\nContraseña EncFS: 1234\nActo seguido se restaurará nuestra copia de seguridad.\n","permalink":"https://geeklandlinux.github.io/posts/cifrado-inverso-de-archivos-y-directorios-para-copias-de-seguridad/","summary":"\u003cp\u003eEn el artículo anterior vimos \u003ca href=\"/posts/cifrar-archivos-en-linux-con-encfs-cryfs-y-gocryptfs-usando-la-terminal/\"\u003eejemplos de utilización de CryFS, EncFS y gocryptfs\u003c/a\u003e. En los ejemplos partíamos de un directorio con contenido cifrado y lo que hacíamos era montar un volumen descifrado que contenía la misma información que el directorio cifrado. No obstante gocryptfs y EncFS permiten realizar lo opuesto. Por lo tanto en nuestro equipo podemos tener un directorio sin cifrar con multitud de ficheros y directorios. A partir del directorio sin cifrar podemos montar un volumen cifrado que contenga la misma información que el directorio sin cifrar. Una vez montado podemos subir la información cifrada a una nube pública o privada de forma segura. A continuación veremos como usar la opción de cifrado inverso con gocryptfs y EncFS.\u003c/p\u003e","title":"Cifrado inverso de archivos y directorios para copias de seguridad"},{"content":"En pasados artículos vimos opciones de Software Libre para poder cifrar archivos en la nube. A continuación veremos como podemos cifrar archivos en Linux con EncFS, CryFS y gocryptfs de forma detallada.\nPero antes iniciar la explicación de como cifrar los archivos en linux es interesante detallar brevemente como funcionan los programas que acabo de citar.\n¿CÓMO FUNCIONAN ENCFS, CryFS Y Gocryptfs? Desde del punto de vista del usuario los 3 software funcionan de forma similar. Su funcionamiento se puede resumir del siguiente modo:\nPara trabajar necesitan dos directorios. El directorio 1 contendrá la totalidad de la información cifrada. El directorio 2 contendrá el mismo contenido que el directorio 1, pero sin cifrar. Mediante FUSE montaremos el contenido cifrado del directorio 1 en el directorio 2. Una vez montado, el directorio 2 contendrá toda la información del directorio 1, pero sin cifrar. Todo el contenido que tenemos descifrado en el directorio 2 lo podremos visualizar, eliminar y editar sin ningún tipo de problema. Con Gocryptfs y EncFS, el directorio 2 será un espejo del directorio 1. Por lo tanto si creamos o pegamos un documento en el directorio 2 se creará el mismo documento en el directorio 1 pero cifrado. En CryFS por cada archivo que pegamos en el directorio 2 aparecerán multitud de pequeños directorios cifrados en el directorio 1. Una vez finalizado el trabajo desmontaremos el sistema de archivos que donde está el directorio 2. De este modo ya no podremos ver el contenido del directorio 2 y por lo tanto solo podremos ver la información cifrada almacenada en el directorio 1. Según lo comentado, EncFS, CryFS, y Gocryptfs crean un sistema de archivos que contiene la totalidad de contenido descifrado de un directorio cifrado. Pero EncFS y Gocryptfs también pueden realizar lo opuesto a lo que acabo de describir. Por lo tanto pueden montar un sistema de archivos que contiene la totalidad información cifrada de un directorio que está sin cifrar. Esta opción resultará útil para realizar copias de seguridad cifradas en la nube.\nNota: Todas las acciones que acabo de describir las puede realizar un usuario sin necesidad de tener permisos de administración.\nCIFRAR ARCHIVOS EN LINUX CON ENCFS, CRYFS Y GOCRYPTFS USANDO LA TERMINAL Los pasos para cifrar un directorio mediante EncFS y la terminal son los siguientes.\nInstalar EncFS, CryFS o GoCryptFS Obviamente el primer paso consiste en instalar el software que usaremos para cifrar los ficheros y directorios. Los comandos a usar para instalar cada uno de los programas en Debian o en distribuciones derivadas de Debian son los siguientes:\nSoftware Comando de instalación EncFS sudo apt install encfs fuse CryFS sudo apt install cryfs fuse GocryptFS sudo apt install gocryptfs fuse Nota: En artículos previos hablamos de los vulnerabilidades de seguridad de EncFS.\nCrear los directorios que contendrán el contenido cifrado y el contenido sin cifrar Inicialmente crearemos los directorios que almacenarán el contenido cifrado. Crearé un directorio para cada uno de los software que analizaremos. Los directorios los crearé en mi nube Nextcloud y tendrán los nombres cifrado.encfs cifrado.cryfs y cifrado.gocryptfs. Los comandos a usar para crear los directorios que acabo de citar son los siguientes:\nSoftware Comando para crear directorios EncFS mkdir /home/joan/Nextcloud/cifrado.encfs/ CryFS mkdir /home/joan/Nextcloud/cifrado.cryfs/ GocryptFS mkdir /home/joan/Nextcloud/cifrado.gocryptfs/ Nota: Si usamos EncFS les recomiendo que el nombre del directorio termine con .encfs. De esta forma podremos descifrar y editar la información desde nuestro dispositivo Android de forma mucho más sencilla. Nota: El propósito es cifrar archivos en la nube. Por lo tanto los directorios que acabamos de crear tienen que estar en una nube tipo Dropbox, Nextcloud, etc.\nFinalmente crearemos los directorios donde montaremos el contenido descifrado. En mi caso crearé los siguiente directorios:\nSoftware Comando para crear directorios EncFS mkdir /home/joan/Vaults/sincifrar.encfs CryFS mkdir /home/joan/Vaults/sincifrar.cryfs GocryptFS mkdir /home/joan/Vaults/sincifrar.gocryptfs Cifrar archivos en Linux con EncFS usando la terminal Con los 2 directorios creados ya podemos usar EncFS. Para ello ejecutaremos el comando encfs seguido de la ubicación del directorio que contendrá el contenido cifrado y a continuación el directorio donde montaremos el contenido descifrado. Por lo tanto en mi caso ejecutaré el siguiente comando:\nencfs /home/joan/Nextcloud/cifrado.encfs/ /home/joan/Vaults/sincifrar.encfs Solo la primera vez que ejecutemos el comando se nos preguntará la configuración de cifrado que queremos usar. Nos propone la opción preconfigurada o la manual. Les recomiendo que elijan la preconfigurada. Por lo tanto escriban la latra p y presionen enter.\nCreando nuevo volumen cifrado. Por favor, elige una de las siguientes opciones: pulsa \u0026#34;x\u0026#34; para modo experto de configuracion, pulsa \u0026#34;p\u0026#34; para modo paranoia pre-configurado, cualquier otra, o una linea vacia elegira el modo estandar. ?\u0026gt; p Nota: La configuración de cifrado predeterminada usa AES de 256 bytes con un bloque de 1024 bytes.\nActo seguido nos preguntarán la contraseña que queremos usar para descifrar el contenido. Introduzcan la contraseña del siguiente modo y no la olviden jamas.\nNueva contraseña Encfs: 1234 Verifique la contraseña Encfs: 1234 Nota: Usad una buena contraseña. Recomiendo usar una contraseña de entre 11 y 22 dígitos que contenga mayúsculas y minúsculas.\nEn estos momentos el proceso ha finalizado y verán que en el volumen cifrado aparece el archivo oculto .encfs6.xml. Este archivo es importante y es recomendable que guarden una copia de seguridad. El motivos es que para descifrar nuestro contenido necesitamos este archivo más la contraseña de descifrado.\nUna vez realizada la copia de seguridad podemos empezar a editar y crear contenido dentro del directorio home/joan/Nextcloud/cifrado.encfs/. Por ejemplo vemos que si generamos 2 archivos en /home/joan/Nextcloud/cifrado.encfs/ aparecerán 2 archivos cifrados en /home/joan/Vaults/sincifrar.encfs.\nAdemás los 2 archivos cifrados que se acaban de generar subirán automáticamente a la nube de forma cifrada consiguiendo así nuestro objetivo.\nComo usuarios solo deberemos generar, borrar y editar ficheros en el directorio que está sin cifrar. Para evitar problemas es mejor que ni entréis en el directorio que está cifrado.\nUna vez finalicéis el trabajo podéis desmontar el directorio que está sin cifrar ejecutando el siguiente comando:\nfusermount -u /home/joan/Vaults/sincifrar.encfs Una vez desmontado veremos que únicamente hay contenido en la carpeta cifrada.\nSi quisiéramos volver amontar el volumen que contiene el contenido sin cifrar deberíamos volver a ejecutar el comando que usamos al inicio de este apartado.\nencfs /home/joan/Nextcloud/cifrado.encfs/ /home/Vaults/nextcloud A continuación tendríamos que introducir el password para descifrar el contenido y acto seguido se montaría el volumen.\nCifrar archivos en linux con CryFS y la terminal El procedimiento para cifrar ficheros y directorios con CryFS es exactamente el mismo que con EnCFS. Por lo tanto tan solo tenemos que ejecutar el comando cryfs seguido de la ubicación del directorio que contendrá el contenido cifrado y a continuación el directorio donde ubicaremos el contenido descifrado. Por lo tanto ejecutaremos el siguiente comando.\ncryfs /home/joan/Nextcloud/cifrado.cryfs/ /home/joan/Vaults/sincifrar.cryfs La primera vez que ejecutemos el comando se nos preguntará si queremos usar la configuración de cifrado estándar. Responderemos que si y acto seguido definiremos la contraseña que usaremos para cifrar y descifrar el contenido. En mi caso el proceso ha sido del siguiente modo:\nCryFS Version 0.10.2 Use default settings? Your choice [y/n]: y Password: 1234 Confirm Password: 1234 Deriving encryption key (this can take some time)... Justo después de finalizar el proceso veremos que se ha creado el archivo de configuración cryfs.config en el volumen cifrado. Este archivo junto con la contraseña que acabamos de definir son necesarios para descifrar el contenido cifrado. Por lo tanto les recomiendo que realicen un copia de seguridad de este archivo.\nSi introducimos contenido a la carpeta sin cifrar veremos que en el directorio sin cifrar se generan multitud de directorios. En mi caso introduzco 2 ficheros y solo se crean 3 directorios porque el peso de los ficheros es muy pequeño.\nAdemás los directorios cifrados que se acaban de generar subirán automáticamente a la nube de forma cifrada consiguiendo así nuestro objetivo.\nAl igual con que EncFS, al usar CryFS únicamente debemos manipular documentos en el volumen que está sin cifrar. Una vez hayamos finalizado de manipular nuestros archivos podemos desmontrar el volumen sin cifrar ejecutando el siguiente comando.\nfusermount -u /home/joan/Vaults/sincifrar.cryfs Si a posteriori tienen necesidad de volver a montar el volumen cifrado tan solo tendrán que volver a ejecutar el siguiente comando:\ncryfs /home/joan/Nextcloud/cifrado.cryfs/ /home/joan/Vaults/sincifrar.cryfs Una vez ejecutado tendrán que introducir la contraseña para montar el volumen descifrado.\nCifrar archivos con gocryptfs usando la terminal de Linux Si decidimos cifrar archivos con gocryptfs el proceso es ligeramente diferente, pero igual de sencillo.\nInicialmente generaremos la configuración para el volumen cifrado. Para ello ejecutaremos el el comando gocryptfs -init seguido de la ruta del directorio que queremos que tenga la información cifrada. Por lo tanto en nuestro caso ejecutaremos el siguiente comando:\ngocryptfs -init /home/joan/Nextcloud/cifrado.gocryptfs Una vez ejecutado el comando se nos pedirá que definamos la contraseña para montar y desmontar el volumen que contendrá la información descifrada. En nuestro caso elegimos la contraseña 1234\nChoose a password for protecting your files. Password: 1234 Repeat: 1234 Acto seguido visualizaremos nuestra master key. Apuntadla porque si se nos corrompe el archivo gocryptfs.conf será el único medio que tendremos para descifrar el contenido.\nYour master key is: 32420asd-e704e557-244123d0-9ae9d0e0- c13299e5-c7d2e6e6-da33eyaf-5c1df55b If the gocryptfs.conf file becomes corrupted or you ever forget your password, there is only one hope for recovery: The master key. Print it to a piece of paper and store it in a drawer. This message is only printed once. The gocryptfs filesystem has been created successfully. You can now mount it using: gocryptfs Nextcloud/cifrado.gocryptfs MOUNTPOINT Una vez definido el volumen cifrado, montaremos el volumen descifrado del mismo modo que lo hacíamos en EncFS y CryFS.\nPor lo tanto ejecutaremos le comando gocryptfs seguido de la ubicación del directorio que contendrá el contenido cifrado y a continuación el directorio donde ubicaremos el contenido descifrado. Por lo tanto ejecutaremos el siguiente comando.\ngocryptfs /home/joan/Nextcloud/cifrado.gocryptfs /home/joan/Vaults/sincifrar.gocryptfs Justo al introducir el comando se nos preguntará la contraseña que acabamos de definir para descifrar el contenido.\nPassword: 1234 Decrypting master key Filesystem mounted and ready. Una vez finalizado el proceso los directorios que almacenan el contenido cifrado y descifrado tendrán el siguiente contenido:\nEn el momento que añadamos 2 archivos en el volumen que almacena el contenido sin cifrar se generarán 2 archivos cifrados en el volumen que almacena el contenido cifrado.\nDel mismo modo que en los casos anteriores nunca deberemos añadir, borrar o editar información dentro del directorio que almacena el contenido cifrado. Siempre trabajaremos en el directorio que contiene información descifrada.\nUna vez finalizado el trabajo desmontaremos el volumen que contiene el almacena el contenido descifrado ejecutando el siguiente comando en la terminal:\nfusermount -u /home/joan/Vaults/sincifrar.gocryptfs Si en el futuro queremos volver a montar el volumen que acabamos de descifrar tan solo tendremos que volver a ejecutar el siguiente comando e introducir la contraseña correspondiente contraseña.\ngocryptfs /home/joan/Nextcloud/cifrado.gocryptfs /home/joan/Vaults/sincifrar.gocryptfs PRECAUCIONES Y PUNTOS A TENER EN CUENTA AL CIFRAR ARCHIVOS CON ENCFS, CRYFS Y GOCRYPTFS Hay una serie de puntos que tenemos que tener en cuenta cuando trabajamos con estos 3 programas.\nEl primero de ellos es que únicamente tenemos que trabajar con el directorio que muestra la información sin cifrar. Por lo tanto solo podemos editar, borrar y generar nuevo contenido en los siguientes directorios:\n/home/joan/Nextcloud/cifrado.encfs/ /home/joan/Nextcloud/cifrado.cryfs/ /home/joan/Nextcloud/cifrado.gocryptfs/ Nunca debéis introducir información directamente en el directorio que contiene información cifrada. Si lo hacéis veréis que la información simplemente no se cifra y estará visible para todo el mundo.\nEl segundo punto es que dentro de cada uno de los directorios cifrados se crearan una serie de archivos ocultos y archivos de configuración. El nombre de estos archivos en función del software que usemos son los siguientes.\nSoftware Nombre del archivo oculto para descifrar contenido EncFS .encfs6.xml CryFS cryfs.config GocryptFS gocryptfs.conf y gocryptfs.diriv Es de vital importancia hacer una copia de seguridad de los archivos ocultos que acabo de mencionar. Si los perdéis no podréis descifrar nunca más la información porque para descifrar la información necesitamos estos archivos más la contraseña de descifrado.\nLos archivos ocultos y/o de configuración que acabamos de mencionar se pueden almacenar en la nube. No obstante si los guardamos en una ubicación diferente a la nube estaremos implementando un sistema de verificación en 2 pasos.\nCIFRADO INVERSO DE ARCHIVOS CON GOCRYPTFS Y ENCFS EN LINUX En todos los ejemplos vistos hasta el momento partimos de contenido cifrado y lo desciframos. Una vez descifrado el contenido podemos editar la información sin ningún tipo de problema.\nNo obstante gocryptfs y EncFS permiten realizar lo opuesto. Por lo tanto en nuestro equipo podemos tener información sin cifrar y siempre disponible. A partir de la información sin cifrar podemos montar un volumen cifrado y una vez montado podemos subir la información cifrada a una nube pública o privada de forma segura. Para realizar lo que acabo de describir pueden visitar el siguiente enlace.\nhttps://geeklandlinux.github.io/posts/cifrado-inverso-de-archivos-y-directorios-para-copias-de-seguridad/\n","permalink":"https://geeklandlinux.github.io/posts/cifrar-archivos-en-linux-con-encfs-cryfs-y-gocryptfs-usando-la-terminal/","summary":"\u003cp\u003eEn pasados artículos vimos opciones de Software Libre para poder \u003ca href=\"/posts/recomendacion-software-libre-para-cifrar-archivos-en-la-nube/\"\u003ecifrar archivos en la nube\u003c/a\u003e. A continuación veremos como podemos cifrar archivos en Linux con \u003ca href=\"https://github.com/vgough/encfs\"\u003eEncFS\u003c/a\u003e, \u003ca href=\"https://www.cryfs.org/\"\u003eCryFS\u003c/a\u003e y \u003ca href=\"https://nuetzlich.net/gocryptfs/\"\u003egocryptfs\u003c/a\u003e de forma detallada.\u003c/p\u003e","title":"Cifrar archivos en Linux con EncFS, CryFS y gocryptfs usando la terminal"},{"content":"A continuación les mostraré un método sencillo para usar y ejecutar Docker en un disco duro externo. Los motivos por los que puede ser una buena idea evitar que los contenedores e imágenes de Docker se ejecuten y almacenen en la partición raíz de nuestro sistema operativo son los siguientes.\nVENTAJAS DE USAR DOCKER EN UN DISCO DURO EXTERNO Podremos descargar imágenes y ejecutar contenedores sin miedo a quedarnos sin espacio. Si corréis Docker en la tarjeta MiniSD de una Raspberry Pi veréis que es relativamente fácil quedarse sin espacio. Evitaremos dañar el dispositivo de almacenamiento que tiene instalado el sistema operativo. A modo de ejemplo si usamos Docker en una tarjeta miniSD de una Raspberry Pi acabaremos teniendo una muerte prematura por el elevado número de lecturas y escrituras que tendrá que realizar la tarjeta miniSD. Los contenedores se ejecutarán más rápido, siempre y cuando el nuevo dispositivo de almacenamiento sea más rápido que el dispositivo de almacenamiento del sistema operativo. Por todos los motivos citados es una buena idea que todos las imágenes y contenedores se descarguen y ejecuten en un disco duro externo ajeno al sistema operativo Para conseguir lo que acabo de decir deberán seguir los siguientes pasos.\nNota: El procedimiento que verán a continuación ha sido realizado en una Raspberry Pi con Raspbian y Docker recién instalados. El procedimiento también funciona en Ubuntu. Desconozco si funciona en otros sistemas operativos.\nUSAR Y EJECUTAR DOCKER EN UN DISCO DURO EXTERNO Los pasos a seguir se resumen a continuación.\nAUTOMONTAR EL DISPOSITIVO DE ALMACENAMIENTO EXTERNO AL ARRANCAR NUESTRO EQUIPO En nuestro ordenador o Raspberry Pi tenemos que conseguir que el dispositivo de almacenamiento se automonte al arrancar el sistema operativo. Para ello tan solo tienen que seguir las instrucciones.\nhttps://geeklandlinux.github.io/posts/montar-particion-ntfs-fat-o-ext4-en-el-arranque-del-sistema/\nEn mi caso cada vez que arranque el sistema operativo, mi unidad de almacenamiento se automontará en la siguiente ubicación:\n/media/nextcloud/ DEFINIR LA UBICACIÓN EN LA QUE DOCKER ALMACENARÁ LAS IMÁGENES Y CONTENEDORES En mi caso quiero que Docker almacene todo el contenido en /media/nextcloud/docker. Para ello crearé el directorio docker ejecutando el siguiente comando en la terminal:\nmkdir /media/nextcloud/docker DETENER EL SERVICIO DOCKER A continuación detendremos el servicio de Docker. Para ello ejecutaremos el siguiente comando:\nsudo service docker stop DEFINIR EL DIRECTORIO RAÍZ EN QUE SE EJECUTARÁ DOCKER El siguiente paso consistirá en crear un fichero con el nombre daemon.json en el directorio /etc/docker. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo nano /etc/docker/daemon.json Como queremos almacenar todas las imágenes y carpetas dentro de media/nextcloud/docker, cuando se abra el editor de textos nano pegaremos el siguiente código:\n{ \u0026#34;data-root\u0026#34;: \u0026#34;/media/nextcloud/docker\u0026#34; } Nota: Deberéis reemplazar /media/nextcloud/docker por la ubicación que vosotros queráis.\nUna vez pegado el texto guardan los cambios y cierran el fichero. A partir de estos momento el demonio de Docker ya sabrá donde queremos guardar todas las imágenes y contenedores.\nTRASLADAR LA INFORMACIÓN DE /VAR/LIB/DOCKER A LA NUEVA UBICACIÓN Copiaremos absolutamente todos los ficheros y directorios de /var/lib/docker a la nueva ubicación que en mi caso es /media/nextcloud/docker. Para ello ejecutaré el siguiente comando en la terminal.\nsudo rsync -aP /var/lib/docker/ /media/nextcloud/docker Nota: Para realizar la copia tenéis que tener instalado rsync. La copia realizada copiará todo el contenido de una ubicación a otra preservando todas las propiedades y permisos.\nRENOMBRAR EL DIRECTORIO ORIGINAL DE DOCKER Una vez copiada toda la información a la nueva ubicación ya la podríamos borrar. Pero en mi caso prefiero renombrarla por si en un futuro me fuera necesaria. Por lo tanto renombraremos el directorio /var/lib/docker a /var/lib/docker.old ejecutando el siguiente comando en la terminal:\nsudo mv /var/lib/docker /var/lib/docker.old INICIAR DOCKER Una vez finalizado todo el proceso ya podemos iniciar de nuevo Docker. Para ello ejecutaremos el siguiente comando:\nsudo service docker start COMPROBAR EL FUNCIONAMIENTO DE DOCKER EN UN DURO EXTERNO Una vez iniciado docker descarguen imágenes y corran contenedores para asegurar que todo funciona de forma adecuada.\nSi todo funciona de forma adecuada ejecuten el siguiente comando para comprobar que la partición raíz de Docker es la que nosotros hemos definido:\ndocker info | grep Docker En mi caso el resultado obtenido es el siguiente.\nDocker Root Dir: /media/nextcloud/docker Como contiene la ruta que definimos anteriormente puedo estar seguro que todas mis imágenes y contenedores de Docker están corriendo en al nueva ubicación.\nFuentes https://www.guguweb.com/2019/02/07/how-to-move-docker-data-directory-to-another-location-on-ubuntu/\n","permalink":"https://geeklandlinux.github.io/posts/usar-y-ejecutar-docker-en-un-disco-duro-externo/","summary":"\u003cp\u003eA continuación les mostraré un método sencillo para usar y ejecutar Docker en un disco duro externo. Los motivos por los que puede ser una buena idea evitar que los contenedores e imágenes de Docker se ejecuten y almacenen en la partición raíz de nuestro sistema operativo son los siguientes.\u003c/p\u003e","title":"Usar y ejecutar Docker en un disco duro externo y mejorar el rendimiento"},{"content":"Por los mismos motivos que en el pasado artículo medí la velocidad de mi conexión a Internet, ahora vamos a medir la velocidad de nuestra red local. Para ello usaré el software iPerf.\n¿QUÉ ES Y PARA QUE SIRVE IPERF? Es un software gratuito disponible para Windows, Linux, MacOS, Android, iOS y FreeBSD que nos permite analizar el rendimiento y velocidad de nuestra red local (LAN). La información que nos proporcionará este software es:\nLa velocidad de transferencia. La pérdida de paquetes. Valores de Jitter. Cantidad total de información transferida. Tener una buena velocidad de conexión en nuestra red local (LAN) es útil en los siguientes casos:\nVer contenido multimedia en nuestro televisor procedente de un disco duro en red. Para sincronizar archivos de forma rápida en un servidor WebDAV local o en una nube Nextcloud que funcione a nivel local. Establecer llamadas y videollamadas fluidas entre personas que establecen una llamada o videoconferencia entre si dentro de una misma red local. Para montar una LAN Party con nuestros amigos y poder jugar online de forma fluida y sin lag. Etc. No confundáis la velocidad de conexión a Internet con la velocidad de conexión en nuestra red local.\nCuando realizamos un test de velocidad de Internet estamos analizando la velocidad con la que un dispositivo puede subir y bajar información con un dispositivo que está fuera de la red local. Concretamente estamos analizando el segmento de color verde de la siguiente imagen.\nCuando medimos la velocidad de nuestra red local estamos analizando parámetros como por ejemplo la velocidad con que se pueden transferir información dos aparatos conectados a nuestra red local. Concretamente estamos analizando el segmento de color verde de la siguiente imagen.\nMEDIR LA VELOCIDAD DE TRANSFERENCIA Y RENDIMIENTO DE NUESTRA RED LOCAL (LAN) IPerf analiza los parámetros que citamos en el inicio del apartado anterior entre 2 equipos que están conectados a la misma red local.\nEn el caso práctico que veremos en el siguiente artículo analizaremos la velocidad de conexión y rendimiento entre mi Raspberry Pi y mi ordenador portátil. El esquema de la situación analizada es el que presento a continuación:\nNota: La Raspberry Pi está conectada directamente al Router mientras que mi ordenador portátil está conectado vía Wifi\nSi quiero analizar la velocidad de conexión de red entre mi ordenador portátil y mi Raspberry Pi tendremos que instalar iPerf tanto en mi ordenador como en mi Raspberry Pi.\nInstalar iPerf en mi Raspberry Pi Para instalar iPerf en mi Raspberry Pi o en cualquier sistema operativo Linux tan solo tengo que ejecutar el siguiente comando en la terminal:\nsudo apt install iperf Nota: Estoy instalando la versión 2 de iPerf. Si quieren instalar la versión 3 deberán ejecutar sudo apt install iperf3. En mi caso uso iPerf 2 porque me gusta mas como presenta los resultados de forma predeterminada. Pero si usan IPv6 entonces deberán usar iPerf3. Si les interesan las diferencias entre las 2 versiones de iPerf pueden ver el siguiente vídeo.\nSi lo prefieren también pueden instalar iPerf accediendo a la siguiente página web y descargando e instalando el paquete binario que corresponda a su distribución.\nInstalar iPerf en mi ordenador portátil con Windows Para instalar iPerf en Windows accederemos a la siguiente página web y descargaremos el binario que corresponda con nuestra versión de Windows. En mi caso uso una versión de 64 bits y descargaré la versión 2 de iPerf. Tengan en mente que el servidor y el cliente deberán usar la misma versión de iPerf.\nUna vez finalizada la descarga pegamos el archivo .zip descargado en la ubicación C: y lo descomprimimos:\nMedir la velocidad de red local (LAN) En mi caso elijo que la Raspberry Pi actue como servidor. Por lo tanto lo primero que tendremos que realizar es averiguar la IP de nuestra Raspberry Pi. Para ello ejecutaremos el siguiente comando en la terminal:\nifconfig Justo después de ejecutar el comando verán que en mi caso la IP es la 192.168.1.201\nActo seguido iniciaremos el servidor ejecutando el siguiente comando en la terminal:\niperf -s De este modo el equipo que actuará como servidor estará a la espera que se conecte algún cliente.\nA continuación iremos al ordenador portátil con Windows que actuará como cliente y abriremos una consola. Una vez abierta accederemos a la ruta donde descomprimimos iPerf ejecutando el siguiente comando:\ncd c:/iperf-2.0.9-win64 Acto seguido ejecutamos el comando iperf -c seguido de la IP del servidor que vimos que era 192.168.1.201\niperf -c 192.168.1.201 El resultado obtenido es el siguiente:\nTanto en el lado del cliente como en el lado del servidor veremos los mismos resultados que serán los siguientes:\nDurante 10 segundos el cliente envía paquetes de 208 KB al servidor mediante el protocolo TCP. Durante estos 10 segundos se han transferido 90.8 MB con un ancho de banda de 73.6 Mbps\nLos resultados obtenidos son muy pobres considerando que tengo todo el equipo necesario para obtener velocidad Gigabit. El resultado es así de malo porque el ordenador que actúa como cliente está conectado a la red local vía Wifi.\nRealizar la medición modificando el tamaño de paquete estándar Si en vez de paquetes de 208KB queremos transmitir paquetes de 4KB, en el ordenador Windows, que en mi caso actual como cliente, ejecutaremos el mismo comando que ejecutamos anteriormente añadiendo el parámetro -w seguido del tamaño en bits que queremos que tengan los paquetes. Por lo tanto en mi caso ejecutaré el siguiente comando en la consola de Windows:\niperf -c 192.168.1.201 -w 4096 Los resultados obtenidos en este caso han sido mejores que en el caso anterior. No obstante los resultados distan mucho de lo que podrían ser.\nMedir la velocidad de de red realizando ensayos bidireccionales Los ensayos realizados hasta el momento son unidireccionales. Solo estamos midiendo la velocidad del cliente al servidor.\nSi queremos realizar un análisis bidireccional de modo que el cliente envíe contenido al servidor durante 10 segundos, se midan los resultados, y que después el servidor envíe datos al cliente y se realice una nueva medición ejecutaremos los siguientes comandos:\nEn el lado del servidor:\niperf -s En el lado del cliente:\niperf -c 192.168.1.201 -r Los resultados obtenidos de la medición son los siguientes:\nSi queremos realizar una medición en que el cliente y el servidor se envían información de forma simultánea ejecutaremos los siguientes comandos:\nEn el lado del servidor:\niperf -s En el lado del cliente:\niperf -c 192.168.1.201 -f Los resultados obtenidos en este caso son los siguientes:\nRealizar mediciones de velocidad de nuestra red local usando el protocolo UDP Todas las mediciones realizadas hasta el momento han sido usando el protocolo TCP. Si queremos realizar mediciones usando el protocolo UDP tan solo tendremos que añadir el parámetro -u tanto en el lado del servidor como en el lado del cliente. Por lo tanto en el equipo que actuará como servidor ejecutaremos el siguiente comando:\niperf -s -u A posteriori en el lado del cliente ejecutaremos el siguiente comando:\niperf -c 192.168.1.201 -u Acto seguido obtendremos los siguientes resultados:\nPor lo tanto durante 10 segundos el cliente envía paquetes de 1470 byte al servidor mediante el protocolo UDP. Durante estos 10 segundos se han transferido 1,25MB con un ancho de banda de 1.05 Mbps, un valor the Jitter de 4.881 ms y sin pérdida de paquetes.\nNota: Valor de Jitter es importante en entornos que se necesiten realizar transmisiones de voz IP o vídeo.\nNota: En este apartado se penaliza el ancho de banda por estar enviando paquetes de un tamaño muy pequeño.\nRealizar mediciones de velocidad segundo a segundo o periódicamente Si queremos obtener mediciones del rendimiento de nuestra red local segundo a segundo o periódicamente lo realizaremos del siguiente modo:\nEn el lado del servidor ejecutaremos el comando que ejecutaríamos de forma habitual, pero ahora añadiremos el parámetro -i seguido del intervalo en segundos en que queremos que se nos muestren los resultados medidos. Por lo tanto si queremos medir el rendimiento de nuestra red usando el protocolo UDP y queremos que se impriman los resultados segundo a segundo ejecutaremos el siguiente comando en el servidor:\niperf -s -u -i 1 Por otro lado en el lado del cliente ejecutaríamos el mismo comando que usaríamos de forma habitual que sería el siguiente:\niperf -c 192.168.1.201 -u Los resultados obtenidos en mi caso son los siguientes:\nVER LA TOTALIDAD DE OPCIONES OFRECIDAS POR IPERF Si queréis analizar la totalidad de opciones ofrecidas por iPerf tan solo tenéis que ejecutar el siguiente comando en la consola de Windows o en la terminal de Linux:\niperf --help INTERFACES GRÁFICAS PARA MEDIR LA VELOCIDAD DE NUESTRA RED LOCAL Existen interfaces gráficas para poder medir la velocidad de nuestra red local. Dos de ellas son las siguientes:\nJperf xjperf Podéis buscar información vosotros mismos sobre ellas. El objetivo de este artículo era ver el funcionamiento de iPerf vía terminal. El uso de la terminal es mejor para aprender lo que estamos haciendo en cada momento y además es más útil en el caso que tengamos que automatizar procesos de medición.\nPhoto by Brett Sayles from Pexels","permalink":"https://geeklandlinux.github.io/posts/medir-la-velocidad-de-nuestra-red-local-lan/","summary":"\u003cp\u003ePor los mismos motivos que en el pasado artículo medí la \u003ca href=\"/posts/medir-la-velocidad-de-internet-desde-la-terminal/\"\u003evelocidad de mi conexión a Internet\u003c/a\u003e, ahora vamos a medir la velocidad de nuestra red local. Para ello usaré el software iPerf.\u003c/p\u003e","title":"Medir la velocidad de nuestra red local LAN con iPerf"},{"content":"En mi caso acabo de adquirir una Raspberry Pi 4. Al adquirir y terminar de configurar un dispositivo es interesante ver que su velocidad de subida y bajada es adecuada. Y más en mi caso que estoy usando un cable Ethernet que no tengo ni idea de que clase es.\nPor esto motivo voy a medir la velocidad de Internet desde la terminal usando el programa speedtest.\nINSTALAR EL GESTOR DE PAQUETES PIP Inicialmente instalaremos el gestor de paquete pip. Como mi Raspberry Pi dispone de Python 3 ejecutaré el siguiente comando en la terminal:\nsudo apt install python3-pip En el caso que solo dispusiéramos de Python 2 deberíamos ejecutar el siguiente comando:\nsudo apt-get install python-pip INSTALAR SPEEDTEST-CLI PARA MEDIR LA VELOCIDAD DE INTERNET DESDE LA TERMINAL Una vez el gestor de paquetes pip sea funcional, si estamos usando Python 3 ejecutaremos el siguiente comando para instalar speedtest:\nsudo pip3 install speedtest-cli En el caso que usemos Python 2 ejecutaremos el siguiente comando:\nsudo pip install speedtest-cli MEDIR LA VELOCIDAD DE NUESTRA CONEXIÓN A INTERNET DESDE LA TERMINAL Para realizar una medición de la velocidad de nuestra conexión a Internet tan solo tenemos que ejecutar el siguiente comando en la terminal:\nspeedtest-cli En mi caso los resultados obtenidos son los siguientes:\nMi velocidad de bajada es 47,79 Mbit/s y la de subida es 46,87 Mbit/s. Considerando que tengo una conexión de 300 Mbit/s simétricos los resultados obtenidos son pobres. Pero como verán más adelante, el motivo de los pobres resultados es que el servidor usado para realizar las pruebas está saturado o no tiene suficiente ancho de banda.\nSeleccionar un buen servidor para realizar el test de velocidad para medir la velocidad de internet desde la terminal Por defecto Speedtest usa el servidor más cercano a nuestra ubicación para realizar los test de velocidad. No obstante Speedtest tiene infinidad de servidores para realizar un test de velocidad. Para generar un listado completo de los servidores existentes ejecuten el siguiente comando en la terminal:\nspeedtest-cli --list \u0026gt; servers.txt Acto seguido ejecuten el siguiente comando para visualizar el listado de servidores disponibles:\nnano servers.txt A continuación aparecerá un listado de servidores ordenados por proximidad geográfica. En mi caso usaré uno que en principio debería ir sobrado de recursos como por ejemplo el de Masmovil. Para usarlo tendremos que anotar el número de servidor que según la captura de pantalla inferior es 21516.\nActo seguido ejecutamos el siguiente comando en la terminal:\nspeedtest-cli --server 21516 En este caso los resultados obtenidos son muy diferentes a los anteriores. Tal y como se puede ver en la captura de pantalla estoy obteniendo resultados de 287.87 Mbit/s y 235.49 Mbit/s.\nPor lo tanto en estos momentos tengo la certeza que la velocidad de conexión a Internet de mi Raspberry Pi es correcta.\nSi quisiéramos buscar el número de servidor de una forma más rápida y sencilla podríamos ejecutar un comando del siguiente tipo:\nspeedtest-cli --list | grep palabra_clave Donde palabra_clave debe ser sustituido por palabras que ayuden a identificar servidores fiables y rápidos para hacer el test. Algunos palabras clave que pueden usar son nombres de grandes proveedores de Internet como Vodafone, Telefonica, Movistar, etc. Otras palabras que podemos usar son nombres de grandes ciudades cercanas a su localidad como por ejemplo Madrid, Barcelona, London, etc.\nAveriguar la velocidad de carga y descarga máxima en una transferencia de archivos Los resultados de velocidad medidos por speedtest son usando múltiples conexiones. Si solo pretenderemos usar una conexión y de esta forma intentar simular la descarga/carga de un archivo podemos usar la opción --single. Por lo tanto para ver la velocidad de bajada y subida máxima aproximada en bytes ejecutaremos el siguiente comando:\nspeedtest-cli --bytes --single --server 14979 Los resultados obtenidos son los mostrados a continuación:\nObtener ayuda para usar speedtest Si pretenden profundizar sobre la totalidad de opciones ofrecidas por speedtest ejecuten el siguiente comando en la terminal:\nspeedtest-cli -h Y recuerden que para obtener conclusiones fiables hay que probar varios servidores para realizar los test. El motivo es que el servidor usado puede tener una capacidad limitada y además hay multitud de factores que afectan a nuestra velocidad de internet.\nDESINSTALAR SPEEDTEST Si en algún momento quieren desinstalar speedtest tan solo tendrán que ejecutar el siguiente comando en la terminal:\nsudo pip3 uninstall speedtest-cli En el caso que estuvieran usando python 2 deberían deberían ejecutar el siguiente comando:\nsudo pip uninstall speedtest-cli De esta forma tan sencilla podremos medir la velocidad de Internet en los casos que únicamente tengamos una terminal de texto.\n","permalink":"https://geeklandlinux.github.io/posts/medir-la-velocidad-de-internet-desde-la-terminal/","summary":"\u003cp\u003eEn mi caso acabo de adquirir una Raspberry Pi 4. Al adquirir y terminar de configurar un dispositivo es interesante ver que su velocidad de subida y bajada es adecuada. Y más en mi caso que estoy usando un cable Ethernet que no tengo ni idea de que clase es.\u003c/p\u003e","title":"Medir la velocidad de Internet desde la terminal con speedtest"},{"content":"Existen numerosos métodos para instalar Raspbian o cualquier otro sistema operativo en la Raspberry Pi. No obstante el método más sencillo que conozco es usar Raspberry Pi Imager.\nRaspberry Pi Imager es un software multiplataforma que de forma totalmente automática descargará e instalará la imagen de Raspbian a la tarjeta SD.\nNota: Raspberry Pi Imager se puede usar en Linux, Windows y MacOS.\nINSTALAR RASPBIAN USANDO RASPBERRY PI IMAGER Para instalar Raspbian mediante el software Raspberry Pi Imager tendremos que seguir las siguientes instrucciones.\nMaterial mínimo necesario para instalar Raspbian El material necesario para instalar Raspbian es el que se detalla a continuación:\nUna tarjeta micro SD debidamente formateada con el sistema de archivos FAT32. Recuerden que la tarjeta micro SD tiene que tener un almacenamiento de almenos 16GB. No uséis la primera tarjeta que encontréis. Usad una tarjeta de una marca reconocida y que como mínimo sea de clase 10. Por ejemplo en mi caso uso una microSD Sandisk de clase 10 con una velocidad de escritura de 60 MB/s y una velocidad de lectura de 160 MB/s. Un adaptador de tarjetas de Micro SD a SD. De esta forma podré conectar la tarjeta al lector de tarjetas SD de mi ordenador. Si el ordenador no dispone de lector de tarjetas SD tendréis que comprar un lector de tarjetas SD que se pueda conectar al ordenador mediante conexión USB Una vez dispongamos de la totalidad de material ya podemos instalar el software Raspberry Pi Imager en nuestro ordenador.\nInstalar Raspberry Pi Imager Podemos instalar Raspberry Pi Imager en Windows, Linux y MacOS. Para instalarlo tan solo tenemos que acceder a la siguiente página web. Una vez dentro descargamos el archivo binario de instalación para nuestro sistema operativo.\nUna vez descargado el archivo binario lo instalan tal y como se tratará de un archivo .exe de Windows, .amd64 en Linux o .dmg en MacOS.\nAbrir Raspberry Pi Imager A continuación conectaremos la tarjeta Micro SD a nuestro ordenador y abriremos el software que acabamos de instalar. Una vez abierto veremos la siguiente ventana.\nSeleccionar el sistema operativo que queremos instalar Seguidamente clicamos sobre el botón CHOSSE OS y seleccionamos el sistema operativo que queremos instalar. En mi caso selecciono la opción recomendada clicando sobre la opción Raspbian.\nOtras opciones que que podríamos haber usado son Raspbian Lite, Ubuntu o LibreELEC.\nNota: Hasta el momento Raspberry Pi Imager no permite instalar una gran cantidad de sistemas operativos. Es posible que en el futuro muy reciente se amplíe la oferta de instalación actual.\nSeleccionar la tarjeta Micro SD en que queremos instalar el sistema operativo A continuación clicamos sobre el botón CHOSSE SD CARD y seleccionamos la tarjeta Micro SD en que queremos instalar Raspbian.\nInstalar Raspbian en la tarjeta Micro SD Finalmente tan solo tenemos que clicar sobre el botón WRITE.\nActo seguido, de forma totalmente automática se descargará e instalará el sistema operativo seleccionado en nuestra tarjeta Micro SD. Una vez finalizado el proceso de descarga e instalación obtendremos el siguiente mensaje:\nAcaban de ver que instalar el sistema operativo Raspbian es trivial. El procedimiento visto es extremadamente sencillo y creo que prácticamente todo el mundo lo puede aplicar.\nINICIAR RASPBIAN CONECTÁNDOSE A TRAVÉS DE SSH Si únicamente pretendéis acceder a la Raspberry vía SSH sin tan siquiera usar un monitor les recomiendo que conecten la tarjeta SD en un ordenador cuyo sistema operativo sea capaz de leer las particiones ext4 de Raspbian. Una vez conectada la tarjeta SD acceden dentro de la partición /boot de la tarjeta SD y creen un archivo vacío.\nEl nombre que tenemos que poner al archivo vacío tiene que ser ssh\nUna vez creado el archivo habremos habilitado la conexión a nuestra Raspberry Pi vía SSH. Si habéis realizado el proceso correctamente veréis lo siguiente:\nNota: Lo que tenéis que ver es un archivo sin extensión que tiene el nombre ssh\nA continuación ya pueden sacar la tarjeta Micro SD del ordenador y conectarla a la Raspberry Pi.\nActo seguido conectamos un cable ethernet a la Raspberry Pi y la encenderemos. Una vez esté en funcionamiento accedemos a la configuración del router para conocer la IP que nuestro router ha asignado a la Raspberry Pi. Tal y como se puede ver en la captura de pantalla tengo asignada la IP 192.168.1.45\nFinalmente nos vamos a nuestro ordenador y ejecutamos el comando pertinente para conectarlos a la Raspberry Pi vía SSH. Como la IP que el router ha asignado a la Raspberry Pi es la 192.168.1.45 ejecutaremos el siguiente comando:\nssh pi@192.168.1.45 Acto seguido nos conectaremos a la Raspberry Pi vía SSH\nNota: La contraseña predeterminada de conexión a la Raspberry Pi es raspberry.\nUna vez conectados a la Raspberry les recomiendo que configuren su router para asignar siempre la misma IP a la Raspberry Pi. Acto seguido realicen el resto de configuraciones pertinentes.\nINICIAR RASPBIAN MEDIANTE SU ENTORNO GRÁFICO Si la primera vez que arrancan Raspbian lo quieren hacer en modo gráfico entonces necesitarán:\nUn cabe HDMI – Micro HDMI. Un cable Ethernet. Un monitor, teclado y ratón. Una vez tengan todo el material realicen las conexiones pertinentes y arranquen la Raspberry Pi. Con tan solo arrancarla nos debería aparecer el entorno gráfico para realizar el resto de configuraciones que consideremos oportunas.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-raspbian-con-raspberry-pi-imager/","summary":"\u003cp\u003eExisten numerosos métodos para instalar Raspbian o cualquier otro sistema operativo en la Raspberry Pi. No obstante el método más sencillo que conozco es usar Raspberry Pi Imager.\u003c/p\u003e","title":"Instalar Raspbian con Raspberry Pi Imager de forma sencilla"},{"content":"En ordenadores que tienen un dual-boot con Windows y Linux acostumbran a presentarse problemas cuando se actualiza Windows. Los principales son los siguientes:\nWindows sobrescribe la partición de arranque y perdemos el gestor de arranque Grub. Si se encuentran con esta situación pueden leer el siguiente artículo para recuperar el Grub. Se activa el arranque rápido de Windows de forma predeterminada creando problemas con las particiones que tiene que montar Linux. Si este es el caso pueden seguir la siguientes instrucciones para deshabilitar el arranque rápido de Windows. Windows borra las particiones que contienen los sistemas operativos Linux. Sin duda está es la opción más grave de las tres. En el caso que os encontréis con la tercera opción no desesperéis. En la mayoría de casos podréis recuperar la totalidad de la información y no será necesario reinstalar ningún sistema operativo. Para recuperar las particiones que han sido borradas tan solo tendremos que usar una herramienta como Testdisk. Testdisk es una herramienta libre especialmente diseñada para la recuperación de particiones perdidas. Testdisk tiene la capacidad de recuperar tablas de particiones Apple partition map, GUID (gpt), PC/Intel (msdos), Solaris, Xbox, etc. También es capaz de trabajar en prácticamente la totalidad de sistemas de archivos existentes.\nNota: Testdisk puede recuperar particiones que han sido borradas de forma accidental, borradas por un virus, borradas de forma premeditada, etc.\nINSTALAR TESTDISK Os recomiendo arrancar el ordenador con uno de los sistemas operativos que funcione. Da igual el sistema operativo que uséis porque testdisk está disponible en Windows, Linux y MacOS.\nEn mi caso lo he instalado en un sistema operativo Debian. Para ello tan solo he tenido que ejecutar el siguiente comando en la terminal:\nsudo apt-get install testdisk Si por lo contrario usáis Windows o Mac tendréis que acceder a la siguiente página web. Una vez dentro de la página tendréis que descargar el binario correspondiente e instalar Testdisk en su equipo.\nNota: Si tenéis que recuperar las particiones de un disco duro que no arranca ningún sistema operativo tendrán que extraer el disco duro y conectarlo a un equipo que funcione. Otra opción sería arrancar el ordenador con un LiveCD o LiveUSB y a posteriori ejecutar testdisk para recuperar las particiones.\nAVERIGUAR EL FORMATO DE LA TABLA DE PARTICIONES A RECUPERAR Testdisk autodetectará el formato de la tabla de particiones a recuperar. No obstante es bueno que nosotros lo sepamos de antemano.\nEn mi caso se que tenia una tabla de particiones del tipo msdos. Para confirmarlo ejecuto el siguiente comando en la terminal:\nsudo parted -l Verán que el resultado del parámetro Partition Table es msdos.\nNota: Otro tipo de tabla de particiones muy común en la actualidad es la gpt.\nNota: En caso de las particiones estuvieran totalmente borradas no me habría servidor este método. No obstante, como he dicho anteriormente Testdisk debería ser capaz de autodetectar el tipo de tabla de particiones.\nRECUPERAR LAS PARTICIONES BORRADAS CON TESTDISK Una vez instalado el programa podemos iniciar la recuperación de las particiones pérdidas o borradas. Para ello ejecutaremos testdisk del siguiente modo:\nWindows Accedemos a la carpeta del programa y hacemos doble click sobre el archivo testdisk_win GNU Linux Ejecutamos el comando sudo testdisk en la terminal Nota: Tanto en Linux como en Windows testdisk se debe ejecutar con permisos de administrador.\nActo seguido se iniciará el proceso de recuperación. Inicialmente tendremos que responder si queremos guardar un log de todo lo que pase en el proceso de recuperación. Es altamente recomendable que lo hagáis, por lo tanto seleccionad la opción [ Create ] y presionad Enter.\nA continuación seleccionamos el disco duro en que se han borrado las particiones. En mi caso es el CR250MX500SSD1. Seguidamente presionamos sobre la opción Proceed.\nEl siguiente paso consistirá en seleccionar el tipo de tabla de particiones que tiene o tenia nuestro dispositivo de almacenamiento. Las 2 más habituales son la [ Intel o msdos ] y la [ EFI GPT ]. En mi caso uso un equipo antiguo que aun usa una tabla de particiones msdos, por lo tanto en mi caso selecciono la opción [ Intel ] y presiono Enter.\nNota: Normalmente Testdisk autodectará el tipo de tabla de particiones. Por lo tanto, en principio solo tendrían que presionar la tecla Enter.\nNota: En el inicio del articulo hemos visto como determinar el tipo de tabla de particiones que tenia nuestro dispositivo de almacenamiento.\nA continuación seleccionamos la opción [ Analyze ] y presionamos Enter. De esta forma testdisk nos mostrará el estado actual de la tabla de particiones.\nLas particiones que podemos ver en la captura de pantalla no están completas. Concretamente me faltan todas las particiones de KDE Neon. Para intentar detectarlas seleccionaremos la opción [ Quick Search ] y presionamos Enter.\nDespués de finalizar la búsqueda obtengo los resultados que podrán ver en la siguiente captura de pantalla. En estos momentos ya aparecen las particiones de KDE Neon y la estructura de la tabla de particiones es correcta. Por lo tanto presionaremos la tecla Enter.\nA continuación seguiremos viendo la estructura final de la tabla de particiones. Como la tabla de particiones es correcta seleccionamos la opción [ Write ] y presionamos Enter.\nNota: En caso que la tabla de particiones detectada no fuera correcta deberíamos usar la opción [ Deeper Search ]\nActo seguido se nos preguntará si queremos reescribir la tabla de particiones de nuestro dispositivo de almacenamiento. Respondemos que Y y presionamos Enter.\nFinalmente se nos pide que reiniciemos el ordenador para que los cambios tengan efecto.\nSi todo funciona de forma adecuada, la próxima vez que iniciemos el ordenador se deberían detectar todas las particiones y arrancar la totalidad de sistemas operativos presentes en nuestro equipo. En otras palabras, todo debería estar exactamente igual que antes de perder las particiones.\nOTRAS FUNCIONALIDADES DE TESTDISK Testdisk no es únicamente para recuperar particiones borradas. Puede realizar otras funciones como por ejemplo:\nRecuperar el sector de arranque. Recuperar ficheros perdidos. Únicamente he tenido que usar TestDisk en 3 ocasiones. El resultado siempre ha sido satisfactorio. Así que si tenéis el sector de arranque dañado o han desaparecido las particiones la primera opción que deberías tener en cuenta es Testdisk\nFUENTES https://www.cgsecurity.org/wiki/TestDisk_Step_By_Step\n","permalink":"https://geeklandlinux.github.io/posts/recuperar-particiones-borradas-o-eliminadas-con-testdisk/","summary":"\u003cp\u003eEn ordenadores que tienen un dual-boot con Windows y Linux acostumbran a presentarse problemas cuando se actualiza Windows. Los principales son los siguientes:\u003c/p\u003e","title":"Recuperar particiones borradas o eliminadas con Testdisk"},{"content":"Navegando por la red encontrarán diversos programas para enviar vídeos al Chromecast desde la terminal de Linux. Algunas de las opciones disponibles son:\nMkchromecast CastNow Bajo mi punto de vista estás aplicaciones tienen el inconveniente que no son fáciles de instalar, hay veces que su funcionamiento no es correcto y en ocasiones el mantenimiento de la aplicación no es adecuado. Si quieren una opción sencilla, fiable, funcional y multiplataforma les recomiendo usar VLC.\nENVIAR VÍDEOS AL CHROMECAST CON LA TERMINAL LINUX Y VLC A continuación veremos los pasos a realizar para poder reproducir cualquier vídeo, imágen o sonido desde la terminal de Linux a nuestro Chromecast.\nInstalar el reproductor de vídeo VLC Obviamente el primer paso es tener instalado VLC. Para instalar VLC en Linux tan solo tienen que ejecutar el siguiente comando:\nsudo apt install vlc Nota: VLC está disponible en la totalidad de distribuciones Linux. Es mantenido y es estable. Si no usáis el gestor de paquetes apt deberéis reemplazar apt por la sintaxis correspondiente.\nSi usan Windows tan solo tienen que descargar el ejecutable de la siguiente página web e instalarlo.\nVer un vídeo de youtube en el chromecast usando la terminal Una vez finalizada la instalación abrimos una terminal y ejecutamos un comando del siguiente tipo:\ncvlc --sout=\u0026#34;#chromecast{ip=ip_chromecast}\u0026#34; --demux-filter=demux_chromecast contenido_que_queremos_reproducir En mi caso la ip del Chromecast es la 192.168.1.50. El contenido que quiero reproducir es un vídeo de youtube que tiene la siguiente https://www.youtube.com/watch?v=CDQVTCMNN74. Por lo tanto ejecutaré el siguiente comando:\ncvlc --sout=\u0026#34;#chromecast{ip=192.168.1.50}\u0026#34; --demux-filter=demux_chromecast https://www.youtube.com/watch?v=CDQVTCMNN74 Acto seguido empezará a reproducirse el vídeo de youtube en el televisor o dispositivo donde tengamos el Chromecast funcionando.\nNota: Pueden averiguar la IP del Chromecast con nmap o accediendo a la configuración de su router. Es conveniente que mediante el servidor DHCP del router asignen siempre la misma IP a su Chromecast.\nVer un vídeo, escuchar audios o ver imágenes con el Chromecast controlando su reproducción desde la terminal Con el método visto en el apartado anterior no podréis controlar la reproducción del vídeo, no podréis seleccionar las diferentes pistas de audio y vídeo, etc.\nSi queréis controlar la reproducción del vídeo, sonido o imágenes desde la terminal deberéis usar interfaces gráficas en modo terminal como rc o ncurses. En mi caso uso ncurses porque a priori la considero más amigable.\nPara ver una película almacenada en nuestro ordenador usando ncurses ejecutaremos el siguiente comando en la terminal:\ncvlc --extraintf ncurses --sout=\u0026#34;#chromecast{ip=192.168.1.50}\u0026#34; --demux-filter=demux_chromecast \u0026#39;/media/joan/DATOS/JOAN CARLES/Descargas/Peliculas/La.Legion.del.Aguila.avi\u0026#39; Acto seguido se iniciará la reproducción del vídeo y veremos la siguiente interfaz gráfica:\nUna vez se inicie el vídeo podrán controlar su reproducción mediante atajos de teclado. Para conocer la funcionalidad de cada uno de los atajos de teclado tan solo tienen que presionar la tecla h. Justo después verán lo que realiza cada uno de los atajos.\nSi no les gusta ncurses también pueden usar rc. Para ello tan solo deberán usar un comando del siguiente tipo:\ncvlc --intf rc --sout=\u0026#34;#chromecast{ip=192.168.1.50}\u0026#34; --demux-filter=demux_chromecast \u0026#39;/media/joan/DATOS/JOAN CARLES/Descargas/Peliculas/La.Legion.del.Aguila.avi\u0026#39; Una vez iniciado el vídeo podrán controlar su reproducción mediante comandos. Para conocer los comandos disponibles escriban help y presionen la tecla Enter. Acto seguido verán los comandos a usar para controlar la reproducción del vídeo:\nAgregar más de un elemento y crear una lista de reproducción Si lo que pretenden es poder reproducir de forma cómoda una lista de reproducción lo pueden hacer del siguiente modo:\ncvlc --extraintf ncurses --sout=\u0026#34;#chromecast{ip=192.168.1.50}\u0026#34; --demux-filter=demux_chromecast /home/joan/Música/Green\\ Day\\ -\\ Greatest\\ Hits-\\ God\\\u0026#39;s\\ Favorite\\ Band\\ \\(2017\\)\\ FLAC/*.flac Acto seguido mediante los cursores y la tecla Enter podrán seleccionar el audio, vídeo o imágen que quieren ver o escuchar.\nNota: Si quieren pueden añadir una por una cada una de las canciones o vídeos. O añadirlos todos de golpe con la opción *.*. Además de la misma forma que añadimos sonidos también podemos añadir fotos o vídeos.\nRealizar una acción personalizada con Thunar para enviar vídeos al Chromecast Lanzar vídeos desde la terminal al Chromecast tiene varias ventajas. Por ejemplo podemos generar scripts o alias para lanzar nuestros vídeos de forma más práctica, ver vídeos en el televisor que tenemos almacenados en nuestra Raspberry Pi, etc. Otra de las opciones que tienen los usuarios de XFCE es crear una acción personalizada en Thunar. De este modo con un par de clics podremos lanzar vídeos desde nuestro gestor de archivos al televisor.\nPara realizar la acción personalizada en Thunar tan solo tienen que seguir las siguientes instrucciones. Inicialmente abren Thunar y acceden a la configuración de acciones personalizadas:\nActo seguido clican en la opción de añadir una nueva acción personalizada.\nA continuación tendréis que aplicar la siguiente configuración para generar la acción personalizada:\nNota: El punto más importante de la configuración es que en el campo Orden figure el siguiente contenido:\nxfce4-terminal -x cvlc --extraintf ncurses --sout=\u0026#34;#chromecast{ip=192.168.1.50}\u0026#34; --demux-filter=demux_chromecast %N Seguidamente clicaremos sobre la pestaña Condiciones de aparición, tildaremos las siguientes opciones y presionaremos el botón Aceptar.\nEn estos momentos la acción personalizada está configurada. Para ver si funciona seleccionen un grupo de canciones que quieran reproducir. Presionen el botón derecho del ratón y cuando aparezca el menú contextual cliquen sobre la entrada que hace referencia al Chromecast.\nSi todo funciona de forma adecuada empezará a reproducirse el contenido. Además aparecerá una terminal desde la que podremos controlar la reproducción del contenido.\nENVIAR VÍDEOS AL CHROMECAST USANDO LA INTERFAZ GRÁFICA DE VLC Si no les gusta la terminal también pueden usar la interfaz gráfica de VLC para lanzar vídeos y audios a su Chromecast. Para ello tan solo tienen que seguir los siguientes pasos:\nAbrir VLC Empezar a reproducir el vídeo o sonido que quieren ver. Acceder dentro del menú Reproducción. Dentro del menú reproducción posicionan el puntero del ratón encima del de la opción Procesador. Cuando se despliegue el submenú verán que hay una entrada con el nombre de su Chromecast. Cliquen sobre esta entrada. De esta forma tan sencilla empezará la reproducción en el dispositivo que tengan enchufado al Chromecast.\n","permalink":"https://geeklandlinux.github.io/posts/enviar-videos-al-chromecast-con-vlc-y-la-terminal-de-linux/","summary":"\u003cp\u003eNavegando por la red encontrarán diversos programas para enviar vídeos al Chromecast desde la terminal de Linux. Algunas de las opciones disponibles son:\u003c/p\u003e","title":"Enviar vídeos al Chromecast con VLC y la terminal de Linux"},{"content":"Da igual que guardemos nuestro contenido en una nube pública o privada. En cualquiera de los 2 casos tendremos que cifrar la información en el caso que sea sensible. Para cifrar archivos en la nube tenemos opciones como por ejemplo EncFS, CryFS, eCryptfs, gocryptfs y Veracrypt. A continuación veremos cual de ellos es la mejor opción para cifrar archivos en la nube.\nCARACTERÍSTICAS INDISPENSABLES DE UN SOFTWARE PARA CIFRAR ARCHIVOS EN LA NUBE Para cifrar archivos en la nube de forma práctica se tienen que cumplir los siguientes requisitos:\nTiene que cifrar archivo por archivo Considero que un software para cifrar archivos en la nube tiene que cifrar archivo por archivo. Por lo tanto, si ciframos 10 ficheros de un directorio, como mínimo tenemos que visualizar 10 ficheros cifrados.\nExiste software de cifrado, como por ejemplo Veracrypt, que cifra todo el contenido en un solo fichero. Esta forma de trabajar es claramente un inconveniente si la cantidad de información cifrada es grande. Los motivos son los siguientes:\nEl riesgo de perder la información es mayor: Si se corrompe el fichero cifrado perderemos la totalidad del contenido que teníamos cifrado. Las copias de seguridad son más lentas: Si tenemos 1GB de información cifrada y únicamente modificamos 4 archivos que en total tienen un peso de 1MB, cuando hagamos la copia de seguridad se deberá respaldar 1GB de contenido. La sincronización con la nube será más lenta: Si tenemos un volumen cifrado de 1GB y únicamente modificamos un archivo de 4k implica que deberemos sincronizar 1GB de información. La cantidad de lecturas y escrituras mayor: Por las razones detalladas tanto en el punto 2 como en el 3 la cantidad de lecturas y escrituras realizadas por nuestro disco duro será mucho mayor. Nota: Este comportamiento también dependerá de la nube que usemos.\nPartiendo de esta premisa las opciones más apropiadas serían usar los siguientes software:\nEncFS, CryFS, eCryptfs y gocryptfs\nSe tiene que integrar con las nubes públicas o privadas que utilicemos Además el software de cifrado tiene trabajar de forma adecuada con las nubes públicas y privadas. No tiene que generar problemas de sincronización ni conflictos usándolo de forma habitual.\nBajo esta condición las opciones que funcionan sin ningún tipo de problema son:\nEncFS, CryFS, Veracrypt y GocryptFS\nCARACTERÍSTICAS DESEABLES DE UN SOFTWARE PARA CIFRAR ARCHIVOS EN LA NUBE Otros requisitos importantes que debería cumplir la solución de cifrado son los siguientes.\nPoder acceder a los datos cifrados desde cualquier dispositivo Este punto dependerá de las necesidades de los usuarios. No obstante un punto importante a considerar es que el contenido cifrado en la nube se pueda acceder y editar en la totalidad de sistemas operativos. En este apartado los software que ganan por goleada son EncFS y Veracrypt. Si usamos EncFS o Veracrypt podremos consultar nuestros datos cifrados sin problemas desde los siguientes sistemas operativos:\nAndroid Linux FreeBSD OpenBSD MacOS Windows Etc. El resto de software analizado solo permite consultar el contenido cifrado desde uno o 2 sistemas operativos. Y lo peor de todo es que no se pueden usar ni en Android ni en iOS. Para más información respecto a este punto pueden consultar la tabla comparativa que encontrarán más adelante.\nSeguridad ofrecida por el software de cifrado En este punto los ganadores son CryFS y Veracrypt. Ambos software tienen las siguiente virtudes que no tienen los demás:\nSon los únicos que cifran la estructura de directorios del volumen cifrado. Son las únicas opciones que cifran los metadatos de cada uno de los archivos cifrados. Como gran perdedor en este apartado tenemos a EncFS. EncFS no cifra la estructura de los directorios y no cifra los metadatos de los archivos. Este hecho puede dar una idea al atacante del contenido que estamos almacenando de forma cifrada. Pero es que además en una auditoria de seguridad elaborada en Febrero de 2014 se detectaron otras vulnerabilidades de seguridad. Las conclusiones de la auditoria fueron las siguientes:\n“Cuando un fichero cifrado es modificado varias veces y el atacante tiene acceso a cada una de las versiones cifradas modificadas. Entonces el atacante tendrá más posibilidades de crackear el password para descifrar el contenido.”\nA raíz de los resultados de la auditoría han salido actualizaciones que resuelven parte de las vulnerabilidades, pero a día de hoy y 6 años después aun no se han resuelto todos los problemas. No obstante los desarrolladores de EncFS tienen el compromiso de resolver todas las vulnerabilidades a partir de la versión 2.0. El problema es que nadie sabe cuando saldrá la versión 2.0\nNota: No cifrar los metadatos de los ficheros y mantener la estructura de los directorios puede tener puntos positivos. El principal punto positivo es que podremos realizar copias de seguridad cifradas desde el origen con rsync actualizando únicamente los archivos que han recibido modificaciones.\nTABLA RESUMEN DE CARACTERÍSTICAS DE LOS SOFTWARE ANALIZADOS A continuación les dejo una tabla comparativa de las distintas opciones que estamos analizando para cifrar archivos en la nube.\nEncFS CryFS gocryptfs eCryptfs Veracrypt Sistemas operativos Android, Linux, Windows, MacOS iOS Linux, MacOS, Windows+- Linux, MacOS, Windows+- Linux Android, Linux, Windows, MacOS Cifra el contenido de los ficheros Sí Sí Sí Sí Sí Cifra metadatos de los archivos No Sí No No Sí Cifra estructura de los directorios No Sí No No Sí Vulnerabilidades de seguridad Conocidas No No No No Sincroniza archivo por archivo Sí Sí Sí Sí No Montar volumen cifrado a partir de un directorio Sí No Sí No No Pequeños cambios implican que solo las partes modificadas tengan que ser resubidas a la nube Sí Sí Sí Sí No +-: Soporte experimental y en algunos casos no usable.\nFuente: https://www.cryfs.org/comparison/\n¿QUÉ SOFTWARE OS RECOMIENDARIA PARA CIFRAR ARCHIVOS EN LA NUBE? El software ideal será en función de las necesidades de cada usuario. Por lo tanto mi recomendación en función de las distintas necesidades es la siguiente.\nCasos en los que recomiendo usar CryFS para cifrar archivos en la nube Si siempre usáis Linux, MacOS o FreeBSD y no precisáis acceder al contenido cifrado desde otros sistemas operativos usad CryFS. Técnicamente y sobre el papel es el software más seguro y recomendable para cifrar archivos en la nube.\nEn mi caso no uso esta opción porque CryFS no me da ninguna solución para consultar mis archivos cifrados ni en Windows ni en Android. CryFS tampoco permite montar un volumen de contenido cifrado a partir de un directorio no cifrado. Si lo hiciera seria un opción bastante útil para realizar copias de seguridad cifradas. Además no es una opción que destaque por su velocidad.\n¿Cuándo recomendaría usar EncFS? Si simplemente queréis guardar vuestra información personal de forma cifrada y que esté disponible y accesible en la totalidad de sus sistemas operativos en entonces usen EncFS.\nAdemás EncFS es un opción muy interesante para realizar copias de seguridad cifradas en local o en la nube. Los motivos son los siguientes:\nCifra archivo por archivo guardando sus metadatos. Por lo tanto con rsync o rclone podremos hacer un copia de seguridad actualizando únicamente los ficheros que se han modificado. EncFS permite montar un volumen cifrado a partir de un directorio sin cifrar. Esta opción es muy útil en el caso que por ejemplo queramos subir una copia de seguridad en la nube cifrada desde el origen. Por todos estos motivos en mi caso estoy usando EncFS.\nRecuerden que EncFS presenta vulnerabilidades de seguridad. Por lo tanto si el contenido que queréis cifrar es altamente sensible es mejor que uséis Veracrypt o CryFS. A pesar de tener vulnerabilidades existen medidas que podemos tomar para dificultar que un atacante descifre nuestros ficheros. Además los desarrolladores de EncFS se comprometieron todos los problemas a partir de la versión 2.0\n¿Cúando recomendaría usar Veracrypt? No es el software que recomendaría para cifrar archivos en la nube. No obstante, si son usuarios de Windows y tenéis que cifrar información extremadamente sensible y que ocupan poco tamaño pueden plantearse usar Veracrypt.\nEn cuando al rendimiento no os tenéis que preocupar. El funcionamiento de Veracrypt será sensiblemente más rápido que EncFS y especialmente CryFS. Durante el artículo ya he citado los principales inconvenientes de Veracrypt.\n¿Y que puedo decir de gocryptfs? Es un software a tener muy en cuenta. Además según una auditoria realizada en Marzo del 2017 es más o menos seguro.\nRecomendaría el uso de gocryptfs a todos los usuarios que no necesiten consultar sus datos cifrados en sistemas operativos móviles.\nTambién considero que es la mejor opción para los usuarios que quieran guardar una copia de seguridad cifrada en la nube desde su origen. Al igual que EncFS, gocryptfs permite montar un volumen cifrado a partir de un directorio con ficheros. Por lo tanto:\nPodemos trabajar con nuestros documentos de forma habitual. En el momento de realizar la copia de seguridad podemos montar un volumen cifrado que contendrá toda la información que queremos respaldar, pero cifrada. Una vez montado el volumen cifrado podemos realizar una copia de seguridad local o en la nube del contenido cifrado. Una vez finalizada la copia de seguridad podemos desmontar el volumen cifrado y seguir trabajando con nuestros documentos. Es muy posible que en mi caso intente reemplazar EncFS por gocryptfs.\n¿Recomendaría usar eCryptfs para cifrar archivos en la nube? eCryptfs es una magnífica herramienta integrada en el Kernel de Linux. Es conocida porque es la herramienta que usa Ubuntu para cifrar las particiones de nuestro sistema operativo y su rendimiento es espectacular. No obstante no es una solución adecuada para cifrar nuestros archivos en la nube. El motivo es que eCryptfs no es un software diseñado para cifrar archivos en la nube. Si intentan usar eCryptfs para sincronizar ficheros entre distintos equipos verán un comportamiento errático. Por ejemplo que un archivo se reemplaza por una versión anterior a la actual, etc.\nPor lo tanto nadie debería usar eCryptfs para cifrar archivos en la nube.\neCryptfs fue diseñado asumiendo que únicamente un solo usuario puede modificar archivos de la unidad cifrada. Pero en el caso de sincronizar archivos en la nube son varios los usuarios/software que pueden modificar el contenido del directorio cifrado.\nADVERTENCIA Tened en cuenta que gran parte de las herramientas citadas se desarrollaron y se mantienen para ser usadas en sistemas operativos GNU-Linux. Esto quiere decir que estas herramientas funcionarán perfecto en GNU-Linux.\nNo obstante en otros sistemas operativos podéis encontrar problemas. En ocasiones las aplicaciones para otros sistemas operativos son creadas por terceros no vinculados con el proyecto original. Esto puede causar que el programa no se actualice con frecuencia y que no funcione lo bien que debería funcionar.\nCOMO USAR ESTOS PROGRAMAS PARA CIFRAR ARCHIVOS EN LA NUBE Para un uso básico de EncFS, CryFS y gocryptFS les recomiendo visitar el siguiente enlace.\nhttps://geeklandlinux.github.io/posts/cifrar-archivos-en-linux-con-encfs-cryfs-y-gocryptfs-usando-la-terminal/\nFUENTES https://en.wikipedia.org/wiki/Comparison_of_disk_encryption_software https://www.cryfs.org/\n","permalink":"https://geeklandlinux.github.io/posts/recomendacion-software-libre-para-cifrar-archivos-en-la-nube/","summary":"\u003cp\u003eDa igual que guardemos nuestro contenido en una \u003ca href=\"/posts/que-son-los-servicios-en-la-nube/\"\u003enube\u003c/a\u003e pública o privada. En cualquiera de los 2 casos tendremos que cifrar la información en el caso que sea sensible. Para cifrar archivos en la nube tenemos opciones como por ejemplo EncFS, CryFS, eCryptfs, gocryptfs y Veracrypt. A continuación veremos cual de ellos es la mejor opción para cifrar archivos en la nube.\u003c/p\u003e","title":"Recomendación de software libre para cifrar archivos en la nube"},{"content":"Año tras año el gobierno chino pone más trabas a los servicios VPN. Usar un servicio VPN en china no es fácil. Por este motivo a continuación les explicaré porque es necesario usar un VPN en China y les daré una serie de consejos para poder usar un servicio VPN en China sin tener demasiados problemas.\n¿POR QUÉ TENEMOS QUE USAR UN SERVICIO VPN EN CHINA? En China Internet está controlado por el gobierno chino. Desafortunadamente el gobierno acostumbra a censurar todas las empresas y webs que no siguen sus directrices.\nAsí que si una empresa se niega a cumplir los requisitos establecidos por el gobierno chino será censurada. Del mismo modo, cualquier web o servicio que tenga una ideología o una opinión contraria a lo que piensa el gobierno chino será censurada. Si una empresa que crea un servicio Web se niega a proporcionar datos de sus usuarios al gobierno chino será bloqueada.\nPor estos y otros motivos los siguientes servicios y webs no funcionan en china:\nServicios de Streaming: Netflix, Youtube, Twitch, HBO, Deezer, Souncloud, Vimeo, DailyMotion, etc. Redes Sociales: Facebook, Twitter, Instagram, Snapchat, Reddit, etc. Buscadores de Internet: Google, DuckDuckgo, Yahoo, Startpage, Ask, etc. Servicios de correo electrónico: Gmail Mensajería: Telegram, WhattsApp, Facebook Messenger, Line, etc. Nubes: Google Drive, Dropbox, etc. Webs de noticias extranjeras: BBC, El País, L’Équip, Reuters, etc. Webs informativas: Wikipedia, Quora, webs realizadas en blogger, etc. Podcast: Las últimas veces que he visitado china no he sido capaz de descargar un podcast sin la ayuda de un VPN. Etc. Por lo tanto en China no existe Internet. En China únicamente existe una intranet. Para poder salir de la intranet a internet y de este modo poder usar todos los servicios que usamos con normalidad tendremos que usar un servicio VPN.\nNota: Para comprobar si una web esta bloqueada en China pueden visitar el siguiente enlace.\nCOMPRAR Y CONFIGURAR EL SERVICIO VPN EN EL PAÍS DE ORIGEN Es sumamente importante configurar el servicio VPN en su ordenador, teléfono y tablet antes de iniciar el viaje.\nSi no lo hacéis os encontraréis con la desagradable sorpresa que en China no podréis hacerlo. Tened en cuenta que en China os encontraréis con el siguiente panorama:\nLa tienda Google Play está bloqueada. La App Store funciona en China. Pero no podréis descargar ni actualizar las aplicaciones VPN de la AppStore. Las webs de los proveedores de servicio VPN están bloqueadas. Cualquier medio tradicional para conseguir un servicio VPN no funcionará. Por estos motivos en china les será sumamente difícil contratar e instalar un servicio VPN.\n¿Qué opciones tenemos en el caso que no hayamos contratado un VPN antes de viajar a China? En el caso hayáis viajado sin tener instalado un VPN os tendréis que buscar la vida del siguiente modo:\nInstalando software VPN de tiendas alternativas que no estén bloqueadas en China. Una tienda que por ejemplo podéis usar y no está bloqueada es la Amazon Web Store. Navegando con buscadores como Yandex o Bing podréis encontrar otras tiendas alternativas que posiblemente serán útiles pero no tan seguras como la tienda de Google. Preguntar a un compañero que os deje su VPN para contratar un servicio VPN. Los proveedores de VPN acostumbran a tener clones de sus páginas web en dominios accesibles desde China. Usando los enlaces e emails que dejaré a continuación deberían ser capaces de contratar un servicio VPN en China. NordVPN https://join.securitysite.tech/es/order/ support@nordvpn.com ExpressVPN https://fzxjxkb.com/es/ support@expressvpn.zendesk.com VyprVPN https://www.getvy.net/ https://www.vysupport.com support@goldenfrog.com Surfshark https://order.surfychinaz.com/ support@surfshark.com Ivacy https://www.ivacykodi.com/best-deal-2020/ helpdesk@ivacy.com Nota: Puede que algunos de los mirrors con el tiempo dejen de funcionar. Si les ocurre esto contacten mediante email al servicio VPN para obtener ayuda. Nota: a la hora de contratar el servicio VPN usen una cuenta de hotmail o Outlook. Recuerden que en china gmail está bloqueado.\nACTUALIZAR EL CLIENTE VPN A LA ÚLTIMA VERSIÓN Antes de iniciar el viaje aseguren que el cliente VPN de su equipo esté actualizado a la última versión. Con la última versión instalada tendremos más posibilidades que el servicio VPN funcione de forma adecuada en China. Recuerden que muchas de las actualizaciones realizadas en las aplicaciones VPN son para que funcionen en países como por ejemplo China.\nCONTACTAR CON EL SERVICIO POSVENTA O DE ATENCIÓN DEL CLIENTE DEL VPN ANTES DE IR A CHINA Antes de ir a China y antes de contratar el servicio VPN es importante contactar con el servicio posventa del VPN. Los motivos son los siguientes:\nLa mayor parte de servicios VPN no funcionan en China. Por lo tanto antes de contratar el servicio es importante asegurar que funciona. Un servicio VPN acostumbra a ofrecer un gran número de servidores VPN ubicados en distintas localizaciones. Gran parte de estos servidores no funcionarán en China, pero habrá un número más reducido que sí. Por lo tanto tenemos que contactar el servicio VPN para saber los servidores que funcionarán en China. Por lo tanto vía chat, vía telefónica o vía email contacten con su servicio VPN. Informen que tienen previsto realizar un viaje a China y acto seguido reclamen una lista de la totalidad de servidores VPN que funcionan en China.\nNota: Por experiencia les digo que los servicios posventa de ExpressVPN y NordVPN les darán una respuesta inmediata.\nEn el caso de usar un VPN gratuito que no disponga de servicio posventa les recomiendo que consulten algún foro de internet en que la gente que vive en china o haya visitado China recientemente les pueda proporcionar información.\nINSTALA MÁS DE UN SERVICIO VPN EN SU EQUIPO En china es habitual que los servicios VPN dejen de funcionar de un día para otro. Las directivas del gran firewall chino se actualizan de forma constante. Por lo tanto un VPN que hoy funciona mañana puede dejar de funcionar.\nLes aconsejo que tengan un plan A, un plan B, un plan C y si es posible un plan D. Créanme que gran parte de los VPN existentes no funcionan en China. El gobierno chino cada día pone más trabas a las compañías que ofrecen este tipo de servicios.\nSi quieren ir sobre seguro les recomiendo que contraten un buen servicio VPN. Paralelamente también instalen varios servicios VPN gratis que a priori tengan posibilidades de funcionar adecuadamente.\nEn mi caso recomendaría adquirir un VPN de pago como por ejemplo NordVPN, ExpressVPN o Astrill. De forma paralela prepararía un VPN casero que podéis instalar en un ordenador o una simple Raspberry Pi. Finalmente instalaría un servicio VPN como WangVPN, ProtonVPN o Windscribe.\nSERVICIOS VPN QUE RECOMIENDO USAR EN CHINA La gran mayoría de servicios VPN existentes no funcionan en China. También es posible que un servicio funcione sin problemas durante un año y después deje de funcionar temporalmente.\nSegún mi experiencia recomiendo usar los siguientes en China.\nNordVPN y ExpressVPN ExpressVPN y especialmente NordVPN son las mejores opciones. Ambos son servicios de pago, pero también ofrecen más garantías de funcionamiento que el resto.\nAmbos servicios tienen una cantidad enorme de servidores VPN para ofrecer a sus clientes. Disponen de servidores especializados para combatir la censura y hacer que su servicio VPN funcione en China. Se pueden usar en la totalidad de nuestros teléfonos, tablets y ordenadores. Tienen un servicio de asistencia excelente. El verano pasado tuve la experiencia que prácticamente ningún servicio VPN funcionaba en china. Los 3 únicos que me funcionaron fueron NordVPN, ExpressVPN y el servidor VPN que tenia instalado en mi Rasberry Pi.\nNota: ExpressVPN acostumbraba a ofrecer una semana de servicio gratis para los nuevos suscriptores. Por lo tanto, para un viaje corto ExpressVPN puede ser una excelente opción.\nNota: Una suscripción permite conectarse a varios dispositivos de forma simultánea. Por lo tanto si hacéis un viaje en grupo el coste que tendréis que asumir será bajo.\nUsar un servidor VPN Casero o en un servidor VPS Curiosamente esta opción nunca me ha fallado. Se trata de comprar una Raspberry Pi o alquilar un servidor VPS. Acto seguido podemos instalar y configurar nuestro propio servicio VPN en nuestro domicilio o servidor VPS del siguiente modo:\nhttps://geeklandlinux.github.io/posts/instalar-servidor-openvpn-raspberry-pivpn/\nhttps://geeklandlinux.github.io/posts/instalar-y-configurar-un-servidor-vpn/\nServidores VPN de pago que ocasionalmente me han funcionado También existen otros VPN de pago, o que ofrecen un servicio gratuito con limitaciones, que ocasionalmente me han funcionado en China. Son los siguientes:\nProtonVPN: Servicio de pago y que gratuitamente ofrece 3 servidores. Ocasionalmente también ofrece promociones temporales en el momento de suscribirte. ProtonVPN ofrece un servicio de calidad y pienso que confiable. El único problema es que solo funciona a temporadas en China. No obstante recomiendo crear una cuenta e instalar su aplicación antes de iniciar el viaje a China. Podremos usar ProtonVPN tanto en teléfonos, como en tablets como en ordenadores.\nVyprVPN: Servicio de pago que únicamente he usado una vez. La experiencia fue positiva y es un servicio que acostumbra a funcionar en China. No obstante si toca pasar por caja y pagar prefiero usar los servicios de NordVPN o ExpressVPN.\nWindscribe: Al igual que ProtonVPN, Windscribe es un servicio VPN que ofrece un número limitado de servidores para usar de forma gratuita y con restricciones. De todos los servidores citados hasta el momento es el que menos veces me ha funcionado en China. Pero a veces funciona y por lo tanto es una opción a tener en cuenta.\nServidores VPN de gratis que ocasionalmente me han funcionado No es muy recomendable usar una VPN gratuita. El motivo es que nunca sabremos que hacen con nuestra información los propietarios del servicio VPN. Lo que si sabemos es que en el mejor de los casos harán lo siguiente:\nRecopilarán nuestros datos y los acabarán vendiendo a un tercero. Aprovecharán para incrustarnos anuncios a nuestros dispositivos. Por lo tanto si usan servicios VPN gratuitos intenten que al menos sean de confianza. Un servicio de confianza que recientemente funciona y he usado es Warp.\nWarp Curiosamente el servidor VPN gratuito de Cloudflare me funciono la última vez que estuve en China. Por lo tanto si visitáis china es altamente recomendable instalar Warp en sus dispositivos móviles. En el caso que funcione dispondréis de un VPN gratuito y fiable. Aunque seguramente hagan perfiles de usuario Cloudflare es una empresa que tiene su reputación y pienso que no se arriesgará a jugar de forma peligrosa con los datos recopilados de sus usuarios.\nNota: Warp solo está disponible para dispositivos móviles. No está disponible para ordenadores.\nWangVPN Al igual que Warp, WangVPN solo está disponible para dispositivos móviles Android. Desconozco si es un servicio que preserve la fiabilidad de los usuarios. Pero lo que si les puedo asegurar es que funciona de forma increíble en China. El rendimiento obtenido es incluso superior a la de algunos servicios de pago. Además verán que tienen una masa importante de usuarios y excelentes calificaciones en la tienda Google Play Store. Pueden clicar en el siguiente enlace para instalar WangVPN.\nUSAR SERVIDORES VPN DE PAÍSES CERCANOS A CHINA Los servidores VPN que acostumbran a ofrecer mejor rendimiento son aquellos que están geográficamente cerca de China. Por lo tanto intenten usar servidores VPN ubicados en las siguientes ubicaciones:\nJapón Kong Kong Singapur Corea Etc. Existen servicios como Spotify Free que tienen restricciones para ser usados en el extranjero. Por lo tanto si somos españoles y queremos escuchar Spotify deberemos usar un servidor VPN ubicado en España. Del mismo modo, si residen en España y quieren ver su contenido de Netflix deberán usar un servidor VPN ubicado en España.\nNo esperen velocidades elevadas y latencias bajas. La velocidad de las conexiones a Internet en China es baja. Por lo tanto si nuestra conexión a Internet es mala, el rendimiento cuando nos conectemos al servicio VPN no será para tirar cohetes.\nDa igual el servicio VPN que elijáis. La fluidez de la navegación en gran parte dependerá de la calidad de la conexión a Internet que estemos usando.\nSI UN SERVIDOR DEL SERVICIO VPN NO FUNCIONA PRUEBEN CON OTRO He recomendado varios servicios VPN. Servicios como por ejemplo NordVPN, ExpressVPN o ProtonVPN ofrecen multitud de servicios VPN repartidos por todo el planeta.\nSi prueban un servidor y no funciona no se desesperen. En el caso que tener dificultades para establecer la conexión realicen lo siguiente:\nIntenten conectarse al servidor VPN desde una ubicación diferente. Si nuestra conexión a Internet es mala no nos podremos conectar al servicio VPN. Las conexiones a Internet de los hoteles y de las redes móviles en China dejan bastante que desear. Prueben uno por uno todos y cada uno de los servidores que tengáis disponibles en el cliente VPN. Uno de ellos es muy probable que acabe funcionando. Aseguren que están usando la versión más reciente del cliente VPN. Intenten jugar con las opciones de configuración de su cliente VPN. Tengan en cuenta que el protocolo de cifrado que acostumbra a funcionar mejor en China es el OpenVPN. También sean conscientes que el protocolo más efectivo para enviar paquetes es el UDP. En el caso que aún y así sigan teniendo problemas busquen el modo para contactar con el servicio posventa del VPN para que les den una solución. El servicio de asistencia técnica les dará indicaciones del servidor que tienen que usar. Posiblemente también les propondrán modificar la configuración del cliente para poder usar su VPN en China.\nNota: En uno de los apartados del artículo tienen los emails de contacto de los servicios VPN.\nCONSEJOS PARA NO QUEDAR INCOMUNICADOS EN CHINA En el caso que no puedan usar ningún servicio VPN pueden quedar prácticamente incomunicados en un país extranjero. Para evitar esto les recomiendo que realicen las siguientes acciones antes de irse de viaje.\nCrear una cuenta de correo de Outlook: El correo electrónico de Microsoft funciona sin ningún tipo de problema en China. Por lo tanto, en el caso que no tengan ninguna cuenta de Outlook creadla antes de iniciar el viaje a China. De este modo podrán enviar emails en China sin ningún problema.\nUsad Bing o Yandex como buscador: Si quieren realizar búsquedas sin usar un servicio VPN tan solo tienen 2 opciones. La primera de ellas es usar el buscador de Microsoft. La segunda es usar el buscador Ruso Yandex. En China el buscador principal es Baidu y no es útil para realizar búsquedas en otro idioma que no sea el Chino.\nInstalad las siguientes aplicaciones de mensajería: Las aplicaciones de mensajería que deberían funcionar en China sin ningún tipo de problema son WeChat, Skype, Facetime y iMessage. Por lo tanto antes de iniciar el viaje instalen las aplicaciones mencionadas y agreguen la totalidad de usuarios con los que quieren mantener contacto durante su estancia en China.\nY esto es todo lectores. Solo desearles que tengan una buena estancia en China.\nNota: Imagen via www.vpnsrus.com\n","permalink":"https://geeklandlinux.github.io/posts/consejos-para-usar-un-servicio-vpn-en-china/","summary":"\u003cp\u003eAño tras año el gobierno chino pone más trabas a los servicios VPN. Usar un servicio VPN en china no es fácil. Por este motivo a continuación les explicaré porque es necesario usar un VPN en China y les daré una serie de consejos para poder usar un servicio VPN en China sin tener demasiados problemas.\u003c/p\u003e","title":"Consejos para usar un servicio VPN en China y que funcione"},{"content":"A continuación veremos un método para capturar o grabar el audio que reproducen los altavoces de nuestro ordenador en Linux y en Windows. Lo haremos usando el software Audacity porque tiene la ventaja de ser multiplataforma. Por lo tanto este método se puede usar en todos los sistemas operativos.\nUTILIDADES DE GRABAR EL AUDIO QUE SE REPRODUCE EN TU ORDENADOR Podemos encontrar muchas utilidades a grabar el audio que se reproduce en nuestro ordenador. Las principales que se me ocurren son las siguientes:\nGrabar nuestras listas de música personalizada de Spotify, Deezer, Youtube, etc Grabar una conversación mantenida en una llamada o videollamada. Grabar cualquier sonido que no permite ser descargado en nuestro navegador. COMO GRABAR EL AUDIO QUE REPRODUCEN NUESTROS ALTAVOCES EN LINUX Los pasos a seguir para conseguir nuestro objetivo son los siguientes:\nInstalar audacity y el control de volumen de Pulseaudio Para instalar audacity y el control de volumen de pulseaudio tan solo tenemos que ejecutar el siguiente comando en la terminal:\nsudo apt install audacity pavucontrol Nota: Si usan otros gestores de paquetes diferentes a apt deberán reemplazar apt install por el comando pertinente.\nIniciar la reproducción del contenido que queremos grabar Empezaremos por iniciar la reproducción del contenido que queremos grabar. En mi caso es la siguiente lista de reproducción de Deezer:\nConfigurar Audacity para grabar el audio que reproducen los altavoces de salida del ordenador El siguiente paso consiste en abrir Audacity. Una vez iniciado aseguramos que la configuración sea la siguiente:\nTener seleccionado Alsa como servidor de audio. Que el dispositivo de grabación sea Pulse. De este modo grabaremos el sonido del medio seleccionado en Pulseaudio. Queremos un sonido con calidad Stereo. Por lo tanto seleccionamos la opción 2 canales de grabación (Stereo). El dispositivo de reproducción es Pulse. De este modo el sonido de Audacity se reproducirá por el medio que seleccionemos en el control de volumen de Pulseaudio. Una vez realizadas las comprobaciones clicamos encima de Clic para comenzar monitorización.\nConfigurar pulseaudio para grabar el audio que reproducen los altavoces de nuestro ordenador El siguiente paso consistirá en abrir el control de volumen de Pulseadio. Encontrarán la entrada para abrirlo en el menú de inicio de su distro. En caso de no encontrarlo pueden abrir una terminal y ejecutar el siguiente comando:\npavucontrol Cuando se abra, en la pestaña Reproducción identificaremos el nombre de los altavoces que están reproduciendo el contenido que queremos grabar. En mi caso el nombre es CM102-A+/102S. Acto seguido clicamos en la pestaña Dispositivos de Entrada.\nDentro de la pestaña seleccionamos la opción Monitors del desplegable Mostrar.\nActo seguido vemos que existe un dispositivo de entrada que captura sonido y contiene el nombre de nuestros altavoces. Apuntamos bien su nombre, que en mi caso es Monitor of CM102-a+/125S+ Audio Controller Estéreo Analógico.\nEn la pestaña Grabación seleccionamos el dispositivo de entrada que acabamos de anotar.\nIniciar y detener la grabación de audio En estos momentos ya podemos ir a Audacity e iniciar la grabación. Para ello tan solo tienen que presionar sobre el botón Grabar.\nActo seguido se iniciará la grabación del audio que se está reproduciendo en nuestros altavoces. Cuando terminemos con la grabación presionamos en el botón Detener.\nAlmacenar el contenido grabado en un archivo de audio A continuación tan solo tenemos que almacenar el contenido guardado en un archivo de audio. Para ello dentro del menú Archivo clicamos sobre la opción Exportar. Cuando se despliegue el submenú clicaremos sobre la opción que prefiramos. En mi caso selecciono Exportar el audio grabado como MP3.\nFinalmente seleccionamos la ubicación donde queremos guardar el archivo mp3, definimos su nombre, configuramos las características que tenga el audio del fichero mp3 y presionamos el botón Guardar.\nDe este modo tan simple he conseguido guardar una lista de reproducción de Deezer. La calidad del audio capturado será excelente. No tendrá ningún ruido de fondo y la calidad dependerá únicamente de la calidad del streaming de música de Deezer.\nNota: Recuerden que puedan ajustar el nivel de volumen en el caso que el volumen de la grabación sea demasiado bajo.\nCOMO GRABAR EL AUDIO QUE REPRODUCE EL ORDENADOR EN WINDOWS El proceso en Windows es posiblemente un poco más sencillo. Hay diversos métodos para realizarlo, pero comentaré el que considero más sencillo y efectivo.\nInstalar el software Audacity en Windows Obviamente lo primero que tenemos que realizar es instalar Audacity. Para instalarlo accedan a la siguiente Web. Una vez dentro de la web podrán descargar el archivo binario de instalación de Windows clicando en el siguiente hiperenlace:\nA continuación tienen que hacer doble click sobre el archivo descargado para iniciar la instalación.\nIniciar la reproducción del contenido a grabar Al igual que en el caso anterior iniciamos la reproducción del sonido que queremos grabar. En mi caso grabaré una lista de reproducción de Spotify.\nConfigurar Audacity para grabar el audio que reproducen los altavoces del ordenador Abrimos el programa Audacity. La configuración que deberemos aplicar será la siguiente:\nServidor de audio: Seleccionamos la opción Windows WASAPI, Dispositivo de grabación: Elegimos la opción que haga referencia los altavoces o auriculares que reproducen el sonido y que además contenga la palabra loopback. Canales de grabación: Queremos sonido Stereo. Por lo tanto en este campo seleccionaremos la opción 2 canales de grabación (Stereo) Dispositivo de reproducción: Tenemos que seleccionar el dispositivo de salida que queremos que use Audacity para reproducir sonido. En mi caso selecciono los altavoces standard de mi ordenador. Una vez defina la configuración presionaremos sobre la opción Clic para comenzar monitorización.\nIniciar y parar el proceso de grabación de audio A continuación presionamos sobre el botón de Grabar. Acto seguido se iniciará la grabación del audio que estén reproduciendo los altavoces de mi ordenador.\nCuando finalizamos la grabación presionamos el botón Detener.\nAlmacenar el audio capturado en un archivo mp3 Acto seguido podemos almacenar el audio capturado en un archivo mp3. Para ello en el menú Archivo nos vamos sobre la opción Exportar. A continuación clicamos sobre la opción Exportar como MP3.\nFinalmente damos un nombre al fichero, seleccionamos las propiedades del archivo mp3 y presionamos el botón Guardar.\nUna vez generado el archivo lo pueden escuchar y podrán comprobar que la calidad de la grabación es excelente.\nNota: Recuerden que puedan ajustar el nivel de volumen en el caso que el volumen de la grabación sea demasiado bajo.\n","permalink":"https://geeklandlinux.github.io/posts/como-grabar-el-audio-interno-que-se-reproduce-en-tu-ordenador/","summary":"\u003cp\u003eA continuación veremos un método para capturar o grabar el audio que reproducen los altavoces de nuestro ordenador en Linux y en Windows. Lo haremos usando el software Audacity porque tiene la ventaja de ser multiplataforma. Por lo tanto este método se puede usar en todos los sistemas operativos.\u003c/p\u003e","title":"Como grabar el audio interno que se reproduce en tu ordenador"},{"content":"Es posible que algunos usuarios de GNU Linux tengan problemas al unir archivos o descomprimir archivos .part1, .part2, etc.\nCasos típicos en los que nos encontramos con la situación que acabo de citar son los siguientes:\nAlgunas películas que nos descargamos de internet acostumbran a estar en archivos comprimidos separados por partes que hay que unir. Algunos usuarios optan por dividir un archivo de gran tamaño en partes para enviarlo a través de varios emails. Etc. En el caso que nos encontremos con las situaciones que acabamos de citar tenemos que proceder del siguiente modo.\nINSTALAR LOS PAQUETES NECESARIOS PARA DESCOMPRIMIR ARCHIVOS .PART1 DE WINRAR Para disponer de la totalidad de paquetes para comprimir, descomprimir, separar y unir archivos les recomiendo que sigan los pasos que se citan en el siguiente artículo:\nhttps://geeklandlinux.github.io/posts/comprimir-descomprimir-archivos-gestor-archivos/\nSi siguen los pasos serán capaces de comprimir, descomprimir, separar y unir todos los tipos de fichero en Linux.\nEn el caso que no quieran sobrecargar su sistema operativo de paquetes pueden únicamente instalar los paquetes mínimos e imprescindibles para unir los archivos ejecutando el siguiente comando en la terminal:\nsudo apt-get install unrar rar xarchiver Una vez instalados los paquetes ya podemos unir archivos del tipo .part1 generados por Winrar de la siguiente forma.\nUNIR ARCHIVOS DEL TIPO .PART1 DE WINRAR EN LINUX Imaginemos que nos encontramos con la situación que se muestra en la siguiente captura de pantalla:\nPara unir o descomprimir estos archivos tan solo tenemos que seguir las instrucciones que veremos a continuación.\nDescomprimir archivos .part1 de winrar usando el gestor de archivos Si hemos seguido los consejos del siguiente enlace, la unión de los archivos es trivial. Tan solo tenemos que seguir los siguientes pasos:\nSeleccionamos el primero de los archivos y presionamos el botón derecho del ratón. Cuando aparezca el menú contextual presionamos encima de la opción Extraer Aquí. Justo después empezará la unión o descompresión de la totalidad de los archivos y obtendremos un resultado parecido al siguiente:\nPor lo tanto hemos conseguido nuestro propósito que era el de descomprimir un archivo que estaba separado por partes.\nDescomprimir archivos .part1 de winrar usando la terminal Si queremos también podemos descomprimir .part1 usando la terminal. Para ello tenemos que proceder del siguiente modo:\nAccedemos vía terminal a la carpeta que contiene los archivos a descomprimir. Una vez dentro de la carpeta ejecutamos el comando unrar x seguido del nombre del primer archivo que queremos descomprimir. Por lo tanto en el ejemplo que estamos trabajando deberemos ejecutar el siguiente comando:\nunrar x HiZoUnAMonTaÑaConPuReDePaTaTa.part1.rar Acto seguido empezará la descompresión del volumen de archivos.\nRecuerden que en el caso que el nombre del volumen de archivos a descomprimir contenga espacios hay que escribir el nombre del archivo entre comillas del siguiente modo:\nunrar x ”HiZo UnA MonTaÑa Con PuRe De PaTaTa.part1.rar” ","permalink":"https://geeklandlinux.github.io/posts/descomprimir-archivos-part1-de-winrar-en-linux/","summary":"\u003cp\u003eEs posible que algunos usuarios de GNU Linux tengan problemas al unir archivos o descomprimir archivos .part1, .part2, etc.\u003c/p\u003e\n\u003cp\u003eCasos típicos en los que nos encontramos con la situación que acabo de citar son los siguientes:\u003c/p\u003e","title":"Unir o descomprimir archivos .part1 de Winrar en Linux"},{"content":"En la actualidad Apple TV+ tiene un coste mensual de 4,99 Euros al mes en España. ¿Qué ofrecen por este precio?\n¿QUÉ OFRECE APPLE TV+ A SUS CLIENTES? El contenido que Apple TV+ ofrece a sus clientes es el que se muestra en la siguiente tabla:\nCantidad Títulos Series 8 Little America, Servant, Truth be told, The morning show, Para toda la humanidad, See, Mysthic Quest, Dickinson Películas 1 Hala Documentales 1 Reina de elefantes Programas, Series infantiles 3 Helpsters, El escritor fantasma, Snoopy en el espacio Programas 1 El Club de lectura de Oprah (programa solamente disponible en Inglés) Y este es todo amigos. Tristemente este es todo el contenido que pueden ver si simplemente pagan 4,99 euros al mes.\nEl resto de contenido que encontraréis dentro de Apple TV+ supone un pago adicional. Previo pago adicional a los 4,99 Euros mensuales podréis visualizar el siguiente contenido:\nLa totalidad de películas disponibles en iTunes. La compra de una película reciente es de 13,99 Euros, mientas que si alquilamos tendremos que desembolsar 3,99 Euros Canales temáticos o TV Channels. A modo de ejemplo, por 4,99 Euros mensuales nos podemos suscribir al canal temático de películas y series StarzPlay. Una vez accedamos dentro del canal podremos ver todo el contenido disponible dentro del canal. En cuanto a calidad de imagen y sonido del contenido no tengo ninguna queja. El contenido producido por Apple acostumbra a estar en 4K y HDR con sonido Dolby Vision y Dolby Atmos. Además ofrecen subtítulos y audiodescripción para las personas que lo requieran.\n¿CONTRATARÍA APPLE TV+ ? La cantidad de contenido en la plataforma de Apple TV+ es muy pobre. Además, bajo mi criterio el contenido presente en la plataforma está bien, pero no es nada del otro mundo. De las pocas series que hay la mayoría no me interesan.\nPor lo tanto rotundamente a día de hoy no merece la pena pagar la suscripción mensual de Apple TV+. El precio a pagar por el contenido ofrecido es demencial si lo comparamos con otras plataformas.\nLa plataforma funciona de forma muy correcta, pero vista la cantidad de contenido ofrecido y las carencias que ofrece la plataforma debería calificarse como un servicio en estado Beta. Algunas de las carencias de la plataforma son las siguientes:\nLa cantidad de TV Channels o canales temáticos son escasos En el momento de escribir este artículo únicamente existe un TV Channel. Es de series y películas y se llama Starzplay. Para verlo tendremos que pagar otra suscripción mensual de 4.99 Euros para ampliar de forma misera los contenidos que podremos visualizar. En este canal temático solo podremos encontrar:\n24 Series 19 comedias románticas 25 Thrillers policíacos Ver las series en la Televisión es complicado Ver el contenido de Apple TV+ en nuestro televisor es complicado. Los motivos son los siguientes:\nApple TV+ no es compatible ni con DLNA ni con Chromecast. Es una verdadera pena porque a día de hoy prácticamente todos los televisores disponen de tecnología DLNA. Queda claro que no han pensado el servicio para llegar a las masas. La gran mayoría de televisiones no tienen disponible la aplicación de Apple TV+. Apple TV+ no está disponible ni para Android TV, ni para Xbox, ni para Playstation. Las únicas formas disponibles para ver el contenido en nuestro televisor son:\nDisponer de un dispositivo Apple TV. Tener disponible un Fire stick de Amazon. Ser propietario de un dispositivo ROKU. Ser afortunado y tener un televisor que tenga disponible la aplicación de Apple TV+. Tener un televisor que disponga del protocolo Airplay 2. En el siguiente enlace pueden encontrar algunos de los modelos de televisión compatibles con Apple TV+. Verán que no abundan y además no son económicos.\nEn mi caso forzosamente tengo que visualizar las series a través de un iPad. Y seguirá siendo así porque no pienso adquirir ninguno de los medios que Apple quiere que usemos para ver sus series.\nNota: No me extrañaría que la aplicación de Apple TV+ pasará a estar disponible en prácticamente todos los televisores en el momento expire el año gratis que tienen la gran mayoría de usuarios. Es una práctica que encajaría con el modus operandi de Apple.\nNo tienen ninguna serie icónica Todas las plataformas de streaming de vídeo tienen series icónicas excepto Apple TV+. Imagino que solo es cuestión de tiempo, pero tener una serie de referencia ayudaría mucho que la gente se suscribiera al servicio.\nLas series que Apple ha producido hasta el momento no son malas. Su realización es buena y son interesantes, pero otras plataformas como por ejemplo Netflix le han dejado el listón muy alto. Incluso Prime Videos dispone de series de producción propia y películas excelentes.\nNo veo dinamismo en la plataforma El catálogo que teníamos en Noviembre es prácticamente el mismo que tenemos en Febrero. Además si consultamos en la sección de próximamente únicamente vemos 2 series:\nEl banquero (Estreno 20 de Marzo de 2020) Visibilidad: LGTBI en la televisión (Estreno el 14 de Febrero de 2020) Se esperan lanzamientos interesantes no anunciados dentro de la App como por ejemplo los siguientes:\nAmazing Stories (cuentos asombrosos) creada por Steven Spielberg y que será publicada el 6 de Marzo de 2020 Home Before Dark. Se espera su estreno el 3 de Abril de 2020. La fundación. (Fecha de estreno no anunciada) Etc. Nota: Pueden consultar los lanzamiento de Apple TV+ en el siguiente enlace.\nLa idea que Apple transmitió en su lanzamiento fue una plataforma con contenido de producción propia y canales temáticos de pago que incluirían:\nTener acceso a todo el contenido de Prime Video. Todo el contenido disponible en Hulu. Poder visualizar el contenido ofrecido por la plataforma ESPN+. Posibilidad de ver deportes, noticias y otros contenidos de las televisiones por cable y satélite. Shows emitidos por ejemplo por el canal HBO. Etc. Pero los canales y el contenido está tardando mucho en llegar. Apple llega tarde al mundo del Streaming. Y además de llegar tarde le falta dinamismo. Veremos el tiempo que tardarán en poder ofrecer un catálogo mínimamente decente a sus clientes.\n¿TRIUNFARÁ APPLE TV+? Tardará más o menos, pero pienso que Apple TV+ acabara triunfando a su manera.\nPosiblemente no acabe siendo la plataforma más usada. Intuyo que el servicio será mayoritariamente usado por usuarios que tienen una lealtad ciega a Apple. También tendrán una serie de usuarios que se suscriban uno o dos meses para ver los contenidos que les interesen y después se den de baja. Pero a pesar de esto Apple TV+ acabará generando ingresos importantes.\nMi opinión es la que acabo de detallar por los siguientes motivos:\nUn usuario que paga 4,99 Euros al mes espera tener una mayor cantidad de contenido. Por precios inferiores encontraremos plataformas que ofrecen mucho más contenido que ellos. La competencia entre las plataformas de streaming es feroz y pienso que Apple no será capaz de ofrecer más que el resto. En cuanto a contenido apunta que ofrecerán mucho menos que el resto. Existen muchas plataformas de streaming y la gran mayoría de gente no puede pagar por todas. La gente pagará una o dos plataformas y se suscribirá puntualmente a otras plataformas. O en vez de suscribirse quizás se acerquen al lado oscuro para descargar el contenido que les interese y no pueden ver en su plataforma. Visto el poco contenido ofrecido, el dinero pagado por Apple TV+ rinde muy poco. A continuación les dejo el detalle del coste de cada una de las plataformas. Plataforma Coste anual Prime Video 36 Euros Netflix 48 Euros compartiendo una cuenta Apple TV+ 60 Euros Disney 69 Euros ","permalink":"https://geeklandlinux.github.io/posts/vale-la-pena-pagar-suscripcion-mensual-de-apple-tv/","summary":"\u003cp\u003eEn la actualidad Apple TV+ tiene un coste mensual de 4,99 Euros al mes en España. ¿Qué ofrecen por este precio?\u003c/p\u003e","title":"Apple TV+ ¿Vale la pena pagar la suscripción de este servicio?"},{"content":"A continuación veremos como instalar y configurar un servidor WebDav sobre un servidor Apache en el sistema operativo Ubuntu. Pero antes de iniciar el proceso veremos que es un servidor WebDav y para que sirve.\n¿QUÉ ES UN SERVIDOR WEBDAV? WebDav (Creación y control de versiones distribuidos en Web) es una extensión del protocolo http.\nEl protocolo http únicamente permite leer el contenido almacenado en un servidor Web. Mediante WebDav, además de leer el contenido, también podremos editar y manipular el contenido almacenado en un servidor Web. Por lo tanto, WebDav permite leer, editar y reproducir todo el contenido almacenado en un servidor web.\nUTILIDADES QUE PODEMOS DAR A UN SERVIDOR WEBDAV Disponer de un servidor WebDav tiene más utilidad de lo que uno puede pensar. Algunas de las utilidades que se le pueden dar son las siguientes:\nCon un simple navegador web podemos ver y descargar los archivos almacenados en el servidor WebDav. Por lo tanto estemos donde estemos tendremos acceso a la información almacenada en nuestro servidor. Con nuestro gestor de archivos podremos crear, eliminar, ver y editar los ficheros almacenados en el servidor WebDav como si estuvieran almacenados en un directorio local. Si no les gustan los gestores de archivos pueden usar clientes WebDav para conectarse y trabajar con los archivos almacenados en el servidor WebDav. Gracias a WebDav podemos subir, bajar, editar y sincronizar archivos de nuestra nube Nextcloud sin tener que instalar un cliente. Por lo tanto un servidor WebDav puede funcionar como una nube que además será muy ligera. Muchos programas pueden usar WebDav para trabajar y para almacenar su contenido. Un ejemplo de lo que digo es la aplicación de notas Joplin. Reproducir archivos multimedia almacenados en la nube mediante nuestro teléfono, tablet o televisor. INSTALAR Y CONFIGURAR UN SERVIDOR WEBDAV A continuación detallaremos el proceso de instalación y configuración de un servidor WebDav.\nInstalar el servidor web Apache Para instalar el servidor web Apache ejecutaremos el siguiente comando en la terminal:\nsudo apt-get install apache2 apache2-utils Nota: WebDav también se puede usar con otros servidores web como Nginx o Lighttpd. En mi caso uso Apache para asegurar que no tendré problemas de compatibilidad. Crear la ubicación que almacenará nuestros archivos Acto seguido crearemos el directorio que almacenará la totalidad de ficheros que contendrá el servidor WebDav. En mi caso quiero almacenar los ficheros en el directorio /var/www/webdav. Por lo tanto ejecutaremos el siguiente comando en la terminal:\nsudo mkdir /var/www/webdav A continuación otorgaremos el usuario y grupo www-data de forma recursiva a todos los directorios y ficheros del servidor web. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo chown -R www-data:www-data /var/www/ Habilitar los módulos dav y dav_fs en Apache Habilitaremos los módulos dav y dav_fs ejecutando los siguientes comandos en la terminal:\nsudo a2enmod dav sudo a2enmod dav_fs Seguidamente reiniciaremos el servidor Apache mediante el siguiente comando:\nsudo systemctl restart apache2 Configuración inicial del Virtual host de Apache A continuación configuraremos el el Virtual Host de Apache. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo nano /etc/apache2/sites-available/000-default.conf Cuando se abra el editor de texto nano tendremos asegurar que tenga el siguiente contenido:\nDavLockDB /var/www/DavLock \u0026lt;VirtualHost *:80\u0026gt; ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined Alias /webdav /var/www/webdav \u0026lt;Directory /var/www/webdav\u0026gt; DAV On \u0026lt;/Directory\u0026gt; \u0026lt;/VirtualHost\u0026gt; Una vez realizada la configuración en el Virtual Host guardaremos los cambios y cerraremos el fichero.\nComo nota informativa, el significado de los parámetros añadidos en el fichero de configuración de Apache es:\nParámetro Significado DavLockDB Especificamos que la ubicación para la base de datos de bloqueos es /var/www/DavLock Alias Alias permite el acceso a cualquier carpeta fuera de la raíz del servidor web. En nuestro caso Alias mapea las peticiones http://dominio/webdav al contenido almacenado /var/www/webdav Directory Establecemos la totalidad de directivas que se deben aplicar a /var/www/webdav. La directiva DAV On especifica que debemos activar WebDav en el directorio /var/www/webdav Acto seguido reiniciamos el servidor ejecutando el siguiente comando en al terminal:\nsudo systemctl restart apache2 Comprobar el funcionamiento del servidor WebDav En este momento el servidor WebDav ya debería estar operativo y accesible. Para comprobarlo abran el navegador e ingresen la siguiente dirección web:\nip_servidor/webdav Nota: Deberéis reemplazar ip_servidor por la IP real de su servidor web. Si obtienen un resultado parecido al siguiente todo lo realizado hasta el momento está funcionando de forma adecuada:\nNota: Recuerden que para acceder al servidor Web es necesario tener abiertos los puertos 80 y 443. Además el firewall tiene que permitir las entradas y las salidas por los puertos 80 y 443. AÑADIR UN MÉTODO DE AUTENTICACIÓN AL SERVIDOR WEBDAV En estos momentos todo el mundo que conozca nuestra IP tendrá acceso a la información almacenada en nuestro servidor. Por este motivo implementaremos un sistema de autenticación por usuario y contraseña. De esta forma, solo quien sea capaz de introducir un nombre de usuario con su correspondiente contraseña podrá acceder al contenido.\nExisten varios métodos de autenticación. A continuación veremos el DIGEST y el BASIC. Usaremos uno u otro en función de las circunstancias detalladas en la siguiente tabla:\nhttp https Autenticación BASIC Linux, MacOS MacOS, Windows, Linux Autenticación DIGEST MacOS, Windows, Linux MacOS, Windows, Linux Recomiendo usar el método DIGEST porque funcionará en todas las situaciones y en todos los sistemas operativos. También tenemos que tener en cuenta que el método BASIC envía las contraseñas desde el cliente al servidor sin cifrar, por lo tanto si usan el método BASIC deberán instalar un certificado SSL.\nCrear un usuario y definir su contraseña para acceder al servidor WebDav Para crear el primer usuario con la autenticación DIGEST ejecutaremos el siguiente comando:\nsudo htdigest -c /etc/apache2/users.password webdav geekland Nota: Deberéis reemplazar geekland por el nombre de usuario que queráis. Si por lo contrario queremos usar la autenticación BASIC, crearemos el primer usuario ejecutando el siguiente comando en la terminal:\nsudo htpasswd -c /etc/apache2/.users.password geekland Nota: Deberéis reemplazar geekland por el nombre de usuario que queráis. Una vez ejecutado cualquiera de los 2 comandos se nos pedirá que definamos la contraseña de acceso del usuario geekland. La introducimos del siguiente modo:\nNew password: contraseña_geekland Re-type new password: contraseña_geekland Adding password for user geekland Para la creación de futuros usuarios deberemos usar los mismos comandos que acabamos de usar omitiendo el parámetro -c.\nDar permisos para que Apache pueda leer el fichero que almacena las contraseñas Para permitir que Apache pueda leer el fichero que almacena las contraseñas ejecutaremos el siguiente comando en la terminal:\nsudo chown www-data:www-data /etc/apache2/users.password Configurar el Virtual Host para habilitar el método de autenticación Acto seguido editaremos el Virtual Host del servidor Apache para aplicar el nuevo método de autenticación. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo nano /etc/apache2/sites-available/000-default.conf Cuando se abra el editor de textos nano, si estamos usando el método DIGEST modificaremos el fichero para que quede de la siguiente forma:\nDavLockDB /var/www/DavLock \u0026lt;VirtualHost *:80\u0026gt; ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined Alias /webdav /var/www/webdav \u0026lt;Directory /var/www/webdav\u0026gt; DAV On AuthType Digest AuthName \u0026#34;webdav\u0026#34; AuthUserFile /etc/apache2/users.password Require valid-user \u0026lt;/Directory\u0026gt; \u0026lt;/VirtualHost\u0026gt; En el caso que usemos el método de autenticación BASIC deberá quedar de la siguiente forma:\nDavLockDB /var/www/DavLock \u0026lt;VirtualHost *:80\u0026gt; ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined Alias /webdav /var/www/webdav \u0026lt;Directory /var/www/webdav\u0026gt; DAV On AuthType Basic AuthName \u0026#34;webdav\u0026#34; AuthUserFile /etc/apache2/users.password Require valid-user \u0026lt;/Directory\u0026gt; \u0026lt;/VirtualHost\u0026gt; Una vez realizadas las modificaciones guardaremos los cambios y cerramos el fichero. El significado de cada uno de los parámetros añadidos al fichero es el siguiente:\nDirectivas Significado AuthType Definimos el método de autenticación para acceder al directorio /var/www/webdav. Podemos definir el Basic o el Digest. AuthName Especificamos el nombre del ámbito de autenticación que en mi caso es webdav. Esto tiene varias implicaciones. La primera es que la palabra webdav aparecerá en el cuadro de autenticación de los usuarios que se conectan al servidor para darles pistas de la contraseña que tienen que introducir. La segunda es que si usamos el método Digest, el AuthName delimitará las contraseñas de los usuarios por zonas. Por lo tanto un usuario para acceder a una carpeta que pertenece a la zona webdav deberá introducir una contraseña, pero si la carpeta pertenece a otra zona deberán introducir otra contraseña. AuthUserFile Especifica la ruta del fichero que almacena las contraseñas. En nuestro caso los nombres de usuarios y contraseñas se almacenan en /etc/apache2/users.password Require valid-user Para definir que todo usuario que se pueda autenticar correctamente puede acceder al directorio /var/www/webdav. Si cambiásemos valid-user por group geekland solo podrían acceder a /var/www/webdav los usuarios que se autentiquen correctamente y pertenezcan al grupo geekland. Aplicar los cambios para que se pueda realizar la autenticación Si usamos la autenticación DIGEST ejecutaremos el siguiente comando para habilitar el módulo auth_digest:\nsudo a2enmod auth_digest En cambio si usamos la autenticación BASIC deberemos habilitar el módulo auth_basic mediante el siguiente comando:\nsudo a2enmod auth_basic Finalmente reiniciaremos el servidor Apache para que se apliquen los cambios. Para ello ejecutaremos el siguiente comando:\nsudo service apache2 restart Acceder al servidor WebDav con la autenticación configurada Del mismo modo que hicimos anteriormente abrimos el navegador e ingresamos la dirección para acceder a nuestro servidor WebDav. En el momento de ingresar se nos preguntará nuestro nombre de usuario y contraseña. Una vez introducidos presionamos el botón Aceptar y acto seguido ingresaremos a nuestro servidor WebDav.\nINSTALAR CERTIFICADO SSL MEDIANTE CERTBOT Y LET’S ENCRYPT Para que la transmisión de información entre cliente/servidor se haga de forma cifrada instalaremos un certificado de Let’s Encript. Para ello tendremos que disponer de un dominio. Una vez dispongamos del dominio instalaremos Certbot ejecutando el siguiente comando en la terminal:\nsudo apt-get install certbot python-certbot-apache apache2 Nota: Para obtener el certificado SSL tenemos que tener los puertos 80 y 443 abiertos y accesibles desde fuera de la red local. Una vez finalizada la instalación de Certbot ejecutaremos el siguiente comando para instalar y obtener el certificado:\nsudo certbot --apache Una vez ejecutado el comando se iniciará el proceso de instalación del certificado. Durante la instalación se realizarán las siguientes preguntas.\nIntroducción de la dirección de email Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): geeklandarrobargeekland.com\nAceptación de las condiciones de servicio - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A\nCompartir la dirección de email - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: N\nIntroducir el dominio/s para el que queremos obtener el certificado No names were found in your configuration files. Please enter in your domain name(s) (comma and/or space separated) (Enter 'c' to cancel): geekland.eu www.geekland.eu\nDefinir si queremos redirigir de http a https Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\nMensaje de confirmación Después de responder la totalidad de preguntas deberíamos obtener el siguiente mensaje:\nCongratulations! You have successfully enabled https://webdavserver.ml and https://www.webdavserver.ml\nYou should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=geekland.eu https://www.ssllabs.com/ssltest/analyze.html?d=www.geekland.eu\nSi véis un mensaje similar el proceso a terminado. En este momentos ya disponemos de un servidor WebDav plenamente funcional y seguro.\nAcceder al servidor WebDav con el certificado SSL instalado Finalmente tan solo tenemos que introducir la dirección de nuestro dominio seguido de /webdav en nuestro navegador. Por lo tanto en mi caso introduciré la siguiente dirección:\nhttps://geekland.eu/webdav/ Acto seguido introduciremos nuestro usuario y contraseña y presionaremos el botón Aceptar. De esta forma accederemos sin problema a nuestro servidor WebDav.\nCONECTARSE Y USAR EL SERVIDOR WEBDAV Para conectarse y usar el servidor WebDav existen infinidad de opciones. Una de ellas es la que cito a continuación:\nhttps://geeklandlinux.github.io/posts/montar-servidor-webdav-en-un-sistema-de-archivos-con-davfs2/\nEn un futuro escribiré otro post detallando el resto de opciones disponibles.\nREFERENCIAS https://httpd.apache.org/docs/2.4/mod/mod_dav.html https://wiki.archlinux.org/index.php/WebDAV https://www.digitalocean.com/community/tutorials/how-to-configure-webdav-access-with-apache-on-ubuntu-14-04\n","permalink":"https://geeklandlinux.github.io/posts/instalar-y-configurar-un-servidor-webdav-apache/","summary":"\u003cp\u003eA continuación veremos como instalar y configurar un servidor WebDav sobre un servidor Apache en el sistema operativo Ubuntu. Pero antes de iniciar el proceso veremos que es un servidor WebDav y para que sirve.\u003c/p\u003e","title":"Instalar y configurar un servidor WebDav con Apache y Ubuntu"},{"content":"En el pasado detallamos como montar nuestro servidor VPN en tan solo 3 comandos. A continuación detallaremos como conectarse a un servidor OpenVPN en Linux usando la terminal y usando NetworkManager.\nCONECTARSE A UN SERVIDOR OPENVPN USANDO AL TERMINAL Para conectarse a un servidor OpenVPN desde la terminal de Linux necesitamos 2 cosas:\nEl archivo de configuración del cliente. Tener instalado el paquete openvpn. Para instalar el paquete openvpn en Debian y distribuciones derivadas de Debian ejecutaremos el siguiente comando:\nsudo apt install openvpn Nota: Si usan otros gestores de paquetes diferentes a apt deberán reemplazar apt install por el comando pertinente. Acto seguido deberán almacenar el fichero de configuración del servidor OpenVPN en una ubicación que nos sea fácil de recordar. En mi caso he almacenado el archivo jayc.ovpn en la siguiente ubicación:\n/home/joan/VPN/jayc.ovpn Una vez finalizada la preparación ya nos podemos conectar al servidor OpenVPN.\nEstablecer la conexión al servidor OpenVPN desde la terminal Conectarse al servidor OpenVPN en Linux mediante la terminal es extremadamente fácil y sencillo. Tan solo tenemos que ejecutar un comando del siguiente tipo:\nsudo openvpn --config ruta_fichero_configuración La ruta donde almacenamos nuestro fichero de configuración era /home/joan/VPN/jayc.ovpn. Por lo tanto el comando a usar para conectarnos a nuestro servicio OpenVPN en primer plano será el siguiente:\nsudo openvpn --config /home/joan/VPN/geekland.ovpn Una vez ejecutado el comando se procederá a la conexión.\nNota: Es posible que el momento de conectarse tengáis que introducir el usuario y la contraseña del servicio VPN. Dependerá del servicio VPN que estéis usando. Si queréis que la conexión se realice en segundo plano y de este modo continuar usando la terminal deberán añadir el carácter \u0026amp; al final del comando:\nsudo openvpn --config /home/joan/VPN/geekland.ovpn \u0026amp; Nota: Si aun quieren facilitar más el proceso de conexión pueden crear un alias. Desconectarse del servidor OpenVPN desde la terminal en Linux Para desconectarnos del servidor tenemos varias opciones.\nSi la conexión al servidor se ha realizado en primero plano tenemos que presionar la siguiente combinación de teclas:\nCtrl + C Si la conexión al servidor OpenVPN se ha realizado en segundo plano tendremos que listar los trabajos mediante el comando jobs:\njoan@kde-neon:~$ jobs [1]- Ejecutando sleep 200 \u0026amp; [2]+ Ejecutando sudo openvpn --config /home/joan/VPN/jayc.ovpn \u0026amp; En mi caso existen dos trabajos ejecutándose y el que hace referencia a la conexión VPN es el 2. Por lo tanto traeremos el trabajo 2 en primer plano ejecutando el siguiente comando:\nfg 2 Una vez tengamos la conexión OpenVPN en primer plano presionaremos la combinación de teclas:\nCtrl + C Otra opción alternativa para desconectarnos del servidor OpenVPN es ejecutar el siguiente comando en cualquier emulador de terminal:\nsudo killall openvpn CONECTARNOS A UN SERVIDOR OPENVPN EN LINUX CON NETWORKMANAGER Prácticamente la totalidad de distribuciones Linux usan el gestor de red NetworkManager, por lo tanto lo único que tendremos que realizar es asegurar que NetworkManager tiene instalado los complementos necesarios para conectarnos al servidor OpenVPN. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo apt install network-manager-openvpn openvpn network-manager-openvpn-gnome Nota: Si usan un gestor de paquetes diferente a apt deberán reemplazar “apt install” por el comando pertinente. Acto seguido irán al icono del gestor de red de su panel, presionarán el botón derecho del ratón y cuando aparezca el menú contextual clicarán sobre la opción Configurar conexiones de red\u0026hellip;\nSeguidamente cliquen en el icono de Añadir nueva conexión:\nA continuación, cuando aparezca la ventana de Escoja un tipo de conexión seleccionan la opción Importar conexión VPN… y presionan el botón Crear.\nEl siguiente paso consistirá en navegar para seleccionar el fichero de configuración del servidor VPN. Una vez encontrado lo seleccionan y presionan el botón Abrir.\nFinalmente tan solo tenemos que clicar sobre el botón Sí para que se copien la claves y certificados en la ubicación correspondiente.\nEn estos momentos el proceso de configuración ha finalizado. Para conectarnos al servidor OpenVPN en Linux realizaremos lo siguiente:\nClicaremos encima del gestor de red de nuestro panel con el botón derecho del ratón. Cuando se desplieguen las opciones nos vamos a la que se refiere a la conexión VPN que acabamos de configurar y presionamos sobre le botón Conectar. Acto seguido se realizará la conexión al servidor OpenVPN. Nota: Es posible que en el momento de conectarse se pidan las credenciales para conectarse al servicio VPN. Dependerá del servicio VPN que estén usando. El proceso para desconectarnos del servidor VPN es sumamente sencillo. Tan solo tenemos que realizar los siguientes pasos:\nClicaremos encima del gestor de red de nuestro panel con el botón derecho del ratón. Cuando se desplieguen las opciones iremos a la que hace referencia a nuestra conexión VPN y presionamos sobre el botón Desconectar. Acto seguido se abortará la conexión al servidor OpenVPN. Por lo tanto han podido ver que conectarse a un servicio OpenVPN es extremadamente sencillo.\n","permalink":"https://geeklandlinux.github.io/posts/conectarse-servidor-openvpn-linux-terminal-networkmanager/","summary":"\u003cp\u003eEn el pasado detallamos como \u003ca href=\"/posts/instalar-y-configurar-un-servidor-vpn/\"\u003emontar nuestro servidor VPN en tan solo 3 comandos\u003c/a\u003e. A continuación detallaremos como conectarse a un servidor OpenVPN en Linux usando la terminal y usando NetworkManager.\u003c/p\u003e","title":"Conectarse a un servidor OpenVPN en Linux con la terminal y NetworkManager"},{"content":"Gnome destrozo la integración de las aplicaciones en el escritorio mediante la introducción de las Client Side Decorations en Gnome 3. Desafortunadamente es posible que XFCE siga los pasos de Gnome habilitando esta característica a partir de la versión 4.16. Su hoja de ruta y lo que pretenden realizar está detallado en el siguiente enlace:\nhttps://wiki.xfce.org/releng/4.16/roadmap/general_ui/csd\nPor lo tanto se acercan curvas porque este tema generará polémica.\n¿QUÉ SON LAS CLIENT SIDE DECORATIONS? Cuando hablamos de las Client Side Decorations, o CSD, nos referimos a la enorme barra de título que tienen las aplicaciones desarrolladas por los programadores que siguen las directrices de Gnome. En vez de la barra de título tradicional en que hay los botones de abrir, cerrar y minimizar, tenemos la barra gruesa que veis a continuación:\nNota: Váyanse mentalizando que todas las aplicaciones desarrolladas por el equipo de XFCE adoptarán un estilo gráfico similar al de la captura de pantalla que acabáis de ver. Usando CSD, toda la barra gruesa del título será dibujada y dependerá exclusivamente del programa que ejecutamos. En ningún momento dependerá del gestor de ventanas xfwm4 como pasa en la barra de títulos tradicional.\nEsto hecho hace que los desarrolladores de software puedan personalizar e introducir funcionalidades adicionales en la barra de título. Pero no creáis que todo son ventajas.\nVENTAJAS E INCONVENIENTES DE LAS CLIENT SIDE DECORATIONS (CSD) Según los desarrolladores de XFCE las CSD aportan beneficios. No obstante, mi punto de vista es que las Client Side Decorations no aportan ningún beneficio al usuario final. Aunque la forma de implementar CSD será diferente a Gnome, me temo que lo único que aportará este cambio son los siguientes inconvenientes:\nXFCE 4.16 será más feo que la versiones anteriores de XFCE Las Client Side Decoration son estéticamente horrorosas. El motivo principal es que los bordes de las ventanas son extremadamente gruesos. Espero que los desarrolladores dejen una opción para que los usuarios puedan seleccionar el grosor que quieran.\nDesaprovechan la superficie de nuestro monitor Los bordes de las ventanas son extremadamente grandes y esto hace que estemos desaprovechando pulgadas de nuestro monitor. Una prueba de lo que estoy diciendo lo podéis ver a continuación:\nEl aprovechamiento de pantalla de la barra de título tradicional es mejor. Y si añadiésemos el menú global obtendríamos un aprovechamiento de pantalla increíblemente superior.\nLas Client Side Decorations puede que hagan desaparecer el Global menu Este punto aún está por ver ya que en algunas capturas de pantalla vemos que Parole aun seguirá teniendo los menús tradicionales.\nNo obstante, las aplicaciones de Gnome que adoptan las Client Side Decorations no tienen un menú tradicional tal y como lo conocemos. En vez de menú tienen iconos tipo smartphone para nada agradables ni intuitivos.\nSin la existencia de menús tradicionales de nada sirve usar un global menu. Además aunque las aplicaciones tengan menús tradicionales veremos si se integran bien en el menú global de XFCE.\nRompen la integración de las aplicaciones con el escritorio A partir de XFCE 4.16 tendremos programas que funcionarán con CSD y programas que usarán la barra de título tradicional. Está mezcla de programas hará que el escritorio simplemente luzca mal.\nNo podremos definir un tema para los títulos de la ventana Los títulos de ventana tradicionales desaparecen. Por lo tanto no podremos definir un tema únicamente y exclusivamente para nuestro título de ventana.\nPor lo tanto si no nos gusta la decoración del header bar tendremos que instalar un nuevo tema.\nNo tendremos variedad de temas en el escritorio Aunque los desarrolladores de XFCE digan lo contrario, será más difícil encontrar un tema que nos guste. Mi opinión se basa en que actualmente todos los temas de Gnome son iguales. La única diferencia entre ellos son los colores.\nCONCLUSIONES SOBRE LA INTRODUCCIÓN DE LAS CLIENT SIDE DECORATIONS EN XFCE Mis conclusiones desglosadas por puntos son las escribo a continuación.\nLos desarrolladores de XFCE no escuchan a la comunidad A pesar de las críticas de la comunidad y de los usuarios, el equipo de desarrollo de XFCE ha decidido implementar las Client Side Decorations de forma unilateral. A continuación les dejo unos links en que podrán leer los comentarios y reacciones de los usuarios y desarrolladores:\nhttps://simon.shimmerproject.org/2020/01/14/xfce-4-14-maintenance-and-4-15-updates/\nhttps://mail.xfce.org/pipermail/xfce/2019-October/036689.html\nhttps://forum.xfce.org/viewtopic.php?id=13689\nFrente las críticas y preocupaciones de los usuarios, los desarrolladores reaccionan respondiendo lo siguiente:\n“En vez rechazar las CSD intentemos usarlas de forma efectiva y arreglemos los problemas que vayamos encontrando.”\nAdoptan tecnologías que hicieron que la gente dejara de usar Gnome XFCE adoptará una de las muchas características que propicio que los usuarios de Gnome huyeran en masa. Muchos usuarios que huyeron de Gnome se refugiaron en XFCE.\nPor lo tanto tiene poca lógica que XFCE intente parecerse a Gnome y adopte sus tecnologías. Para mi las características que definen Gnome Shell son:\nEntorno de escritorio lento. Poco optimizado. Consume gran cantidad de recursos. Tiene menos funcionalidad que 10 años atrás. No me gusta su concepto de escritorio ni como está implementada su filosofía minimalista. Por lo tanto es normal que mucha gente que piensa igual que yo se preocupe por el futuro de XFCE.\nAlternativas disponibles para los usuarios Guste o no guste, las Client Side Decorations serán aplicadas en XFCE 4.16. Los usuarios que estén encontrá pueden hacer llegar sus mensajes educados al equipo de desarrollo, pero dudaría mucho que cambiarán de opinión.\nPor lo tanto habrá que darles el beneficio de la duda y esperar al resultado final. Igual nos sorprenden, mejoran y modernizan el escritorio actual. Pero si el resultado final no es satisfactorio entonces podemos adoptar las siguientes opciones:\nEsperar a que alguien realice un fork de XFCE. Dudo que por este tema se realice un fork de la distro, pero igual alguien aporta una solución para que la gente que lo desee pueda seguir usando las barras de título tradicionales. Abandonar el uso de XFCE y adoptar otros entornos de escritorio no utilicen las Client Side Decorations. Algunos de los entornos de escritorio que recomiendo son MATE, LXQt, KDE, Cinnamon, etc. Usar distribuciones que usen versiones viejas de XFCE. Con un poco de suerte Xubuntu 20.04 usará XFCE 4.14 durante unos 3 años. Usar opciones como por ejemplo gtk3-nocsd para al menos recuperar los títulos de ventana tradicionales. En el siguiente apartado citaremos como realizar lo que acabo de comentar. DESHABILITAR LAS CLIENT SIDE DECORATIONS Si quieren volver a disponer de una barra de títulos tradicional pueden adoptar la siguiente solución.\nInicialmente tenemos la siguiente aplicación que usa las Client Side Decorations.\nPara disponer otra vez de la barra de título tradicional tenemos que instalar el paquete gtk3-nocsd. Por lo tanto en Debian y distribuciones derivadas de Debian ejecutaremos el siguiente comando:\nsudo apt install gtk3-nocsd Nota: Si usan un gestor de paquetes diferente a apt deberán reemplazar “apt install” por el comando pertinente. Una vez instalado el paquete reinicien el ordenador. Una vez reiniciado la misma aplicación dispondrá de una barra de título tradicional:\nEl resultado no acaba de ser del todo satisfactorio ya que no se aprovecha bien el espacio vertical del monitor. Pero al menos ahora tenemos una barra de título tradicional.\n","permalink":"https://geeklandlinux.github.io/posts/xfce-adoptara-client-side-decorations-csd/","summary":"\u003cp\u003eGnome destrozo la integración de las aplicaciones en el escritorio mediante la introducción de las Client Side Decorations en Gnome 3. Desafortunadamente es posible que XFCE siga los pasos de Gnome habilitando esta característica a partir de la versión 4.16. Su hoja de ruta y lo que pretenden realizar está detallado en el siguiente enlace:\u003c/p\u003e","title":"XFCE 4.16 adoptará las Client Side Decorations (CSD)"},{"content":"A continuación detallaremos que son y como funcionan Cron y Anacron. Además también veremos la totalidad de formas disponibles para planificar tareas con Cron y Anacron.\n¿QUÉ ES Y COMO FUNCIONA CRON? Cron es un demonio o servicio de Linux y Unix que permite ejecutar tareas, procesos, comandos y scripts en segundo plano de forma automática y periódica en la fecha y hora que nosotros queramos.\nCada minuto Cron consulta las listas de tareas o tareas almacenadas en las siguientes ubicaciones:\n/etc/crontab /var/spool/cron/crontabs/*.* /etc/cron.d /etc/cron.daily /etc/cron.hourly /etc/cron.monthly Nota: Incluyo los directorios cron.daily, cron.hourly y cron.monthly porque la configuración predeterminada de Cron contiene entradas para ejecutar de forma periódica los scripts almacenados dentro de estos directorios. Si se detecta que hay una tarea pendiente de realizar se iniciará de forma automática. En el caso que en el momento de iniciar la tarea el equipo esté parado no se ejecutará. Por lo tanto Cron es ideal para planificar la ejecución de tareas de forma automática y periódica en equipos que están permanentemente encendidos. Para los equipos que se encienden y apagan con frecuencia tenemos que usar Anacron.\nNota: Algunas de las ubicaciones dadas en este apartado pueden variar ligeramente en función de la distribución que usen. ¿QUÉ ES Y COMO FUNCIONA ANACRON? Anacron no es un demonio que esté corriendo constantemente en segundo plano. Anacron es un programa que complementa a Cron y se ejecuta de forma periódica a través de:\nTareas programadas de Cron. En mi Debian testing Anacron es ejecutado por Cron. Si consulto el fichero /etc/cron.d/anacron veo que Cron ejecuta Anacron una vez cada hora empezando a las 7:30 y finalizando a las 23:30. Scripts que se ejecutan en el momento de arrancar nuestro equipo. En el momento que Anacron es llamado, consulta la lista de tareas definidas en las ubicaciones:\n/etc/anacrontab /etc/cron.daily /etc/cron.hourly /etc/cron.monthly Nota: Incluyo los directorios cron.daily, cron.hourly y cron.monthly porque la lista predeterminada de tareas de /etc/anacrontab tiene entradas para ejecutar de forma periódica los scripts almacenados dentro de estos directorios. En el fichero /etc/anacrontab definimos que una tarea se tiene que realizar cada X días. En el caso que haya alguna tarea que haga más de X días que no se haya realizado se ejecutará de forma completamente automática. Una vez realizada la tarea se guardará un registro con la fecha de ejecución en la ubicación /var/spool/anacron. Para consultar la fecha en que se ejecutaron la totalidad de scripts guardados en cron.daily podemos ejecutar el siguiente comando:\nroot@debian:~# cat /var/spool/anacron/cron.daily 20200122 A diferencia de Cron, Anacron es capaz de ejecutar tareas que han quedado pendientes de realizar. Por lo tanto Anacron complementa a Cron y es sumamente útil en equipos que no están conectados las 24 horas.\nPRINCIPALES DIFERENCIAS ENTRE CRON Y ANACRON Una vez descrito que es Cron y que es Anacron detallaremos las principales diferencias entre ellos:\nCron Anacron Permite ejecutar tareas en una fecha y minuto determinado. Cron te da un control total de la hora y fecha en que se ejecutará la tarea. Permite planificar tareas en periodos diarios, semanales o mensuales. Ejecuta tareas que hace más de un determinado número de días que no se ha realizado. El equipo tiene que estar encendido en el momento que toca realizar la tarea. En caso contrario la tarea nunca será realizada. Si en el momento de realizar la tarea el equipo está parado, la tarea se realizará cuando el equipo se encienda y Cron llame a Anacron. Es un demonio que está constantemente activo en segundo plano. Es un programa que solo se activa a través de llamadas de Cron o por un script en el arranque del sistema operativo. Todo usuario puede planificar tareas con Cron. Únicamente los usuarios con privilegios de administrador pueden planificar tareas con Anacron. Prácticamente la totalidad de distribuciones Linux traen Cron instalado de serie. Es posible que Anacron no se instale de forma predeterminada. En caso que no esté instalado y lo quieran usar tan solo tienen que instalar el paquete anacron mediante el comando sudo apt install anacron. ¿CUÁNDO USAMOS CRON Y CUANDO USAMOS ANACRON? Planificar tareas con Cron es especialmente útil para equipos que se usan 24 horas los 365 días del año. Como contrapartida, planificar tareas con Cron combinado con Anacron es especialmente útil en equipos que se apagan con frecuencia.\nPor lo tanto en mi caso recomendaría:\nUsar Cron para programar tareas en servidores. Usar Anacron en combinación con Cron para programar tareas en nuestro ordenador personal. UTILIDADES DE PLANIFICAR TAREAS CON CRON Y ANACRON La utilidades de planificar tareas con Cron y Anacron son extensas. Algunas de ellas son las siguientes:\nAutomatizar cualquier tarea que tengamos que realizar de forma periódica. Una ejemplo típico de lo que acabo de decir es realizar copias de seguridad mediante rsync. Ejecutar tareas y trabajos de forma automática por las noches y los fines de semana. Existen tareas que tienen que ser realizadas cuando los usuarios no están usando los recursos informáticos. Para programar la ejecución de tareas pesadas que se acostumbran a realizar fuera de horarios laborales. Actualizar de forma automática el certificado Let’s Encrypt de nuestro portal web. Sincronizar de forma periódica un contenido almacenado en nuestro ordenador o servidor a una nube mediante rclone. Etc. En fin, las utilidades que le podemos dar son hasta donde llegue nuestra imaginación\nINSTRUCCIONES PARA PLANIFICAR TAREAS CON CRON Como ya hemos visto, dentro del directorio /etc existen los siguientes directorios y ficheros relacionados con la programación de tareas y cron:\n/etc/crontab /etc/cron.d /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly Utilidad del fichero /etc/crontab No es recomendable editar el fichero /etc/crontab. Este fichero es para guardarlo como referencia. Este fichero también es para llamar a Anacron y para configurar la ejecución de los scripts almacenados en cron.daily, cron.hourly, cron.monthly y cron.weekly en el caso que Anacron no esté instalado. El fichero /etc/crontab solo es accesible para usuarios con permisos de administrador y tiene el siguiente aspecto:\nEjecución de tareas almacenadas en cron.daily, cron.hourly, cron.monthly, cron.weekly Los scripts almacenados en cron.daily, cron.hourly, cron.monthly y cron.weekly se ejecutarán de forma periódica del siguiente modo:\nEn el caso que Anacron no esté instalado, los scripts se ejecutarán en la fecha y hora especificada dentro del fichero /etc/crontab.\nEn el caso que Anacron esté instalado, los scripts ubicados en cron.daily, cron.weekly y cron.monthly serán ejecutados por Anacron según los periodos que definamos en /etc/anacrontab.\nNota: Los scripts contenidos en cron.hourly siempre serán ejecutados por Cron. Si queremos podemos modificar la configuración estándar. En resumen:\nDirectorio Función del directorio /etc/cron.daily Si usamos únicamente C****ron, Cron ejecuta todos los scripts ubicados en cron.daily una vez al día en la hora especificada en /etc/crontab. En el caso de usar Cron y Anacron, Anacron ejecuta todos los scripts ubicados en cron.daily que hace más de un día que no se ejecutan. La configuración de Anacron se realiza en /etc/anacrontab. /etc/cron.hourly La totalidad de scripts contenidos en el directorio /etc/cron.hourly se ejecutaran cada hora. Por lo tanto un script en está ubicación se ejecutará 24 veces al día si el equipo está permanentemente encendido. La hora de ejecución se especifica en el fichero en el fichero /etc/crontab. /etc/cron.weekly Si usamos únicamente C****ron, Cron ejecuta todos los scripts ubicados en cron.weekly una vez a la semana en el día y hora especificados en /etc/crontab. En el caso de usar Cron y Anacron, Anacron ejecuta todos los scripts ubicados en cron.weekly que hace más de una semana que no se ejecutan. La configuración de Anacron se realiza en /etc/anacrontab. /etc/cron.monthly U****sando únicamente C****ron, Cron ejecuta todos los scripts ubicados en cron.monthly mensualmente en el día y hora especificados en /etc/crontab. En el caso de usar Cron y Anacron, Anacron ejecuta todos los scripts ubicados en cron.montly que hace más de un mes que no se ejecutan. La configuración de Anacron se realiza en /etc/anacrontab. Ejemplo de de planificación de una tarea mediante cron.weekly A modo de ejemplo, para planificar una tarea semanal para renovar un certificado Let’s Encrypt lo haremos del siguiente modo. Abriremos una terminal y ejecutaremos el siguiente comando:\nsudo nano /etc/cron.weekly/letsencrypt.sh Cuando se abra el editor de textos nano generamos el código del script que queráis. En mi caso es el siguiente:\n#!/bin/sh # Actualizar certificados de Let\u0026#39;s Encrypt en lighttpd # Edit webroot-path with your www folder location sudo certbot renew --webroot -w /var/www/html/ # Rebuild the cert # Edit folder location to your domainname cd /etc/letsencrypt/live/geekland.eu/ sudo bash -c \u0026#34;cat privkey.pem cert.pem \u0026gt; web.pem\u0026#34; # Reload lighttpd sudo service lighttpd reload A continuación guardamos los cambios y cerramos el fichero. Finalmente otorgamos permisos de ejecución al script mediante el siguiente comando:\nsudo chmod +x /etc/cron.weekly/letsencrypt.sh A partir de este momento, semanalmente se intentará renovar el certificado SSL de Let’s Encrypt de mi web.\nSi únicamente usamos Cron, la tarea se realizará el Domingo a las 6:47. Si usamos Cron con Anacron la tarea se realizará en el momento que hayan pasado más de 7 días y el ordenador esté conectado.\nEjecución de scripts y tareas con múltiples usuarios y crontab Acabamos de ver una forma simple de ejecutar scripts y programar tareas de forma periódica. Pero existe otra forma muy habitual de realizar lo mismo.\nCada usuario del sistema operativo podrá programar su propia lista de tareas. En la ubicación /var/spool/cron/crontabs se genera un archivo para cada usuario que contiene la totalidad de tareas que ha programado. Para ver las listas existentes ejecuten el siguiente comando:\nroot@raspberrypi:/home/pi# ls /var/spool/cron/crontabs pi root Para consultar las tareas programadas por el usuario pi tan solo tienen que ejecutar el siguiente comando:\ncat pi Los ficheros de los usuarios únicamente son para consultarlos y no se deben editar de forma directa.\nPara editar los trabajos Cron del usuario en que estamos logueados tan solo tenemos que ejecutar el siguiente comando en la terminal:\ncrontab -e Nota: Si quisiéramos editar los trabajos cron de otro usuario como por ejemplo el root deberíamos ejecutar el siguiente comando sudo crontab -u root -e Al ejecutar el comando se abrirá el editor de textos por defecto para que podamos programar nuestras tareas. Para programar una tarea introduciremos un comando del siguiente tipo:\nMinuto Hora Dia_Mes Mes Dia_Semana Comando Cada uno de los parámetros que acabo de citar se deberá sustituir por los siguientes valores:\nParámetro Explicación del parámetro Minuto (m) Especificamos el minuto en que queremos ejecutar la tarea. Posibles valores que puede tomar este parámetro son entre el 0 y el 59. También podemos usar * que tendría el significado que se ejecute todos los minutos. Hora (h) Detallamos la hora en que queremos ejecutar la tarea. La hora se especifica en un formato de 24 horas, por lo tanto los valores de este parámetro son de 0 a 23. Al igual que en el caso anterior también podemos usar el carácter * para indicar que la tarea se ejecute todas las horas. Dia_Mes (dom) Indicamos los días del mes en que queremos ejecutar la tarea, comando o script. Los valores de esta variable serán un número del 1 al 31. También podemos usar * para indicar todos los días del mes. Si queremos que la tarea se ejecute del día 25 al día 30 tenemos la posibilidad de usar la sintaxis 25-30. Si queremos que se ejecute únicamente el día 10 y el día 20 podemos usar la sintaxis 10,20 Mes (mon) Especificamos el mes con un valor entre el 1 y el 12. Si queremos que la tarea se ejecute todos los meses deberemos usar el símbolo *. Del mismo modo que con el resto de parámetros podemos usar opciones como 5-10 o 1,2 Dia_Semama (dow) Seleccionamos el día de la semana en que se ejecutará la tarea. En este parámetro introduciremos valores entre el 0 y el 7 en que tanto el valor 0 como el valor 7 se refieren al domingo. También nos podemos referir a los días de la semana mediante las 3 primeras letras de su nombre en inglés mon tue wed thu fri sat sun. Para hacer que una tarea se ejecute todos los días de las semana usaremos *. Para que únicamente se ejecute los Lunes y los Viernes usaremos 1,5. Y para que se aplique de Lunes a Viernes 1-5. Comando (command) Escribimos el comando que queremos ejecutar o la ruta del script que queremos ejecutar. Todos los comandos a ejecutar deberán usar rutas absolutas. Algunos ejemplos de programación de tareas que podríamos introducir después de ejecutar el comando crontab -e serían los siguientes:\nEjemplo Significado 14 22 * * * /home/pi/scripts/nextcloudbkp.sh Todos los días del año a las 22 horas y 14 minutos se ejecutará el script nextcloudbkp.sh 0 0,3,6,9,12,16,18,21 * * * /home/pi/scripts/nextcloudbkp.sh El usuario que ha programado la tarea Cron ejecutará el script nextcloudbkp.sh cada 3 horas, todos los días, años y meses. 0 /6 * * * /home/pi/scripts/nextcloudbkp.sh El usuario que ha programado la tarea Cron ejecutará el script nextcloudbkp.sh cada 6 horas, todos los días, años y meses. 30 13 * * 1-5 /home/pi/scripts/nextcloudbkp.sh De Lunes a Viernes y durante todos los meses y semanas se ejecutará el script nextcloudbkp.sh a las 13h y 30min. 0 09 1,15,30 * * /home/pi/scripts/nextcloudbkp.sh Todos los días 1, 15 y 30 se ejecutará el script nextcloudbkp.sh a las 9 de la mañana. 0 21 20 11 * apt-get update \u0026amp; apt-get -y upgrade El día 20 de noviembre a las 21:00 se actualizará nuestro sistema operativo. Con esta tarea, el sistema operativo únicamente se actualizará una vez por año. 22 * * 2 5 apt-get update \u0026amp; apt-get -y upgrade Todos los viernes del mes de Febrero se actualizará el sistema operativo al minuto 22 de cada una de las horas. 3/3 2/4 2 2 2 apt-get update Cada 3 minutos empezando por el minuto 3 y cada 4 horas empezando por de las 2 de la madrugada, del día 2 de febrero y que sea martes se actualizarán los repositorios de nuestra distribución. @reboot /home/pi/scripts/nextcloudbkp.sh Cada vez que reiniciemos el sistema se ejecutará el script nextcloudbkp.sh @monthly /home/pi/scripts/nextcloudbkp.sh El primer día del mes a las 00:00 se realizará la copia de seguridad de nextcloud. @montly se puede reemplazar por @weekly (0 0 * * 0), @yearly (0 0 1 1 *), @daily (0 0 * * *) o @hourly (0 * * * *). Con todo lo citado hasta el momento, el fichero crontab de un usuario podría contener una lista de tareas similar a la siguiente:\nPara consultar las tareas Cron del usuario con que estamos logueados ejecutaremos el siguiente comando:\ncrontab -l Si estamos logueados con el usuario pi y queremos listar los trabajos Cron del usuario root ejecutaremos el siguiente comando:\nsudo crontab -u root -l Para borrar los trabajos Cron del usuario con que estamos logueados, podemos comentar las lineas que definen las tareas o ejecutar el siguiente comando.\nsudo crontab -r Ejecución de scripts mediante el directorio cron.d Del mismo modo que minuto a minuto se comprueban las tareas definidas en crontab, también se comprueban todos y cada uno de los ficheros ubicados en el directorio /etc/cron.d\nCada uno de los ficheros presentes dentro del directorio /etc/cron.d representa una tarea programada. Imaginemos que tenemos un script para actualizar Firefox en Debian ubicado en /home/joan/scripts/firefox_update.sh. Para ejecutar este script todos los días a las 10 de la noche procederemos el siguiente modo:\nInicialmente crearemos el fichero donde definiremos la ejecución de la tarea ejecutando el siguiente comando en la terminal:\nsudo nano /etc/cron.d/firefox Una vez se abra el editor de textos nano programaremos la tarea de la misma forma que lo haríamos en el fichero crontab de un usuario. La única diferencia será que entre el comando y la hora de ejecución tendremos que especificar el usuario que ejecutará la tarea. La tarea que he definido en mi caso es la siguiente:\n0 22 * * * root bash /home/joan/scripts/firefox_update.sh Una vez definida la tarea guardamos los cambios y cerramos el fichero. De este modo tan simple, todos los días a las 22 horas se comprobará si hay una nueva versión de Firefox. En el caso de que haya una nueva versión se instalará de forma automática. El usuario que realizará la actualización de Firefox será el root.\nNota: Cron.d no es la forma habitual de programar una tarea. Lo habitual es usar crontab -e. Solo los usuarios con privilegios de administrador podrán ejecutar tareas mediante cron.d Facilitar la programación de tareas con Cron Si os cuesta definir el momento en que se ejecuta la tarea podéis usar servicios web que os facilitarán el trabajo. Algunos de los que podemos usar son los siguientes:\nhttps://crontab-generator.org/ https://crontab.guru/ https://www.freeformatter.com/cron-expression-generator-quartz.html También existen interfaces gráficas que permitirán planificar y administrar tareas programadas con Cron. Algunas de ellas son las siguientes:\nkrcon disponible para el entorno de scritorio plasma. Gnome-schedule. Nota: Aseguraos bien que el trabajo Cron funcione de forma adecuada. Un error en la programación de una tarea puede ser catastrófica. Definición de permisos para que los usuarios puedan planificar tareas con Cron De forma predeterminada Cron puede ser usado por todos los usuarios. En el caso que lo necesitemos podemos restringir su uso. Para ello debemos utilizar los siguientes ficheros:\n/etc/cron.allow /etc/cron.deny Evitar que ciertos usuarios puedan planificar tareas con Cron Si nuestro objetivo es evitar que los usuarios joan y pepe puedan usar Cron crearemos el fichero /etc/cron.deny ejecutando el siguiente comando en la terminal:\nsudo nano /etc/cron.deny Una vez se abra el editor de textos escribiremos el nombre de los usuarios que no queremos que usen cron. En mi caso son:\npepe joan Nota: Si quisiéramos denegar el uso a todos los usuarios deberíamos escribir ALL dentro del fichero /etc/cron.deny. De este modo solo el administrador del sistema podría planificar tareas. Acto seguido guardamos los cambios y cerramos el fichero. Para asegurar que los cambios surjan efecto podemos reiniciar Cron mediante el siguiente comando:\nsudo service cron restart En estos momento todos los usuarios podrán planificar tareas con Cron excepto joan y pepe.\nEspecificar los usuarios que pueden planificar tareas con Cron En el momento que creemos el fichero /etc/cron.allow sin que haya un fichero /etc/cron.deny, únicamente los usuarios especificados dentro del fichero /etc/cron.allow podrán planificar trabajos con Cron.\nPor lo tanto, si solo queremos que los usuarios joan y root puedan planificar tareas con Cron ejecutaremos el siguiente comando en la terminal:\nsudo nano /etc/cron.allow Cuando se abra el editor de textos escribiremos el usuario o usuarios que pueden usar Cron. En mi caso:\njoan root Al guardar los cambios y al reiniciar el servicio Cron, únicamente los usuarios joan y root estarán autorizados a planificar tareas.\nCOMO PLANIFICAR TAREAS CON ANACRON Las tareas ejecutadas por Anacron se definen en el fichero /etc/anacrontab. Para editar este fichero y añadir una tarea ejecutaremos el siguiente comando en la terminal:\nsudo nano /etc/anacrontab Una vez se abra el editor de texto tendremos que programar las tareas introduciendo un comando del siguiente tipo:\nperiodo_tarea retardo_ejecución identificador comando Cada uno de los parámetros que acabo de citar se deberá sustituir por los siguientes valores:\nParámetro Explicación del parámetro periodo_tarea Indicamos la frecuencia en días con que queremos que se ejecute la tarea. Si la ejecución de la tarea tiene que ser diaria escribiremos 1 o @daily. Si es semanal escribiremos 7 o @weekly, si es mensual escribiremos 30 o @monthly. Si queremos que se ejecute cada dos días escribiremos 2. retardo_ejecución Es un número entero que indica los minutos que transcurren desde que Anacron detecta que hay que ejecutar el comando o script hasta que se ejecuta. El retraso entre la detección de ejecución y la ejecución puede ser útil para evitar sobrecargas de CPU y memoria si se tienen que realizar muchas tareas de forma simultánea. identificador Un nombre cualquiera que describe e identifica la tarea que se ejecutará. Este nombre nos servirá para por ejemplo buscar información en los logs. comando Detallamos el comando o script que queremos ejecutar. Por lo tanto, para realizar una copia de seguridad semanal mediante un script tendremos que usar el siguiente código:\n7 10 backup.weekly /bin/bash /home/joan/scripts/backup.sh Una vez introducido el texto guardamos los cambios y cerramos el fichero. A partir de estos momentos:\nA los 7 días, o en momento que abra el ordenador y se detecte que llevo más de 7 días sin realizar la copia, Cron llamará a Anacron y se iniciará el proceso para realizar la copia de seguridad. Una vez toque iniciar la copia se realizará una pausa de 10 minutos y acto seguido se realizará la copia.\nEl aspecto que tiene mi /etc/anacrontab es el siguiente:\nPodemos añadir parámetros adicionales en el fichero de configuración:\nSi debajo de LOGNAME= root añadimos START_HOURS_RANGE=3-22, entonces los trabajos únicamente se ejecutarán entre las 3 de la madrugada y las 10 de la noche. Si queremos conseguir lo mismo sin añadir ningún parámetro también podríamos modificar la configuración de Cron. Otra opción es añadir el parámetro RANDOM_DELAY=10. Lo que hará este parámetro es añadir un retardo aleatorio adicional de 0 a 10 minutos a cada una de las tareas que se van a ejecutar. De este forma se repartirá mejor la carga del sistema. Forzar la ejecución de las tareas programadas en Anacron Puede darse el caso que necesitemos ejecutar todas las tareas de Anacron para depurarlas y/o para ver que funcionan. Para forzar su ejecución podemos ejecutar el siguiente comando:\nsudo anacron -f Acto seguido se iniciará el proceso para ejecutar todas las tareas de Anacron.\nSOLUCIONES ALTERNATIVAS A CRON Y ANACRON En mi caso siempre uso Cron y Anacron. No obstante existen alternativas como por ejemplo los timer de systemd (Systemd/Timers). Para ver el funcionamiento de los Systemd Timers pueden visitar el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/programar-la-ejecucion-de-tareas-con-systemd-timers-y-reemplazar-cron/\n","permalink":"https://geeklandlinux.github.io/posts/planificar-tareas-con-cron-y-anacron-en-linux/","summary":"\u003cp\u003eA continuación detallaremos que son y como funcionan Cron y Anacron. Además también veremos la totalidad de formas disponibles para planificar tareas con Cron y Anacron.\u003c/p\u003e","title":"Como planificar tareas con Cron y Anacron en Linux"},{"content":"Quien tenga varios ordenadores y servidores y se conecte a ellos vía SSH sabrá que resulta difícil recordar los parámetros de conexión. Por este motivo a continuación detallaré el procedimiento para que todos los usuarios puedan configurar el cliente SSH de su distribución Linux y de esta forma facilitar la conexión remota a sus equipos y servidores.\nAlgunos de los parámetros difíciles de recordar son:\nLa IP. El nombre de usuario. El puerto en que está escuchando SSH. Etc. Para solucionar este problema podemos usar el fichero de configuración que tienen la totalidad de clientes OpenSSH. La ubicación y nombre del fichero de configuración en GNU Linux es:\n~/.ssh/config Por lo tanto el fichero de configuración es un archivo llamado config ubicado dentro del directorio oculto ssh que está en nuestra home.\nCONFIGURAR EL CLIENTE SSH PARA CONECTARNOS DE FORMA SIMPLE A NUESTROS EQUIPOS Y SERVIDORES Es probable que el fichero de configuración que acabo de mencionar no esté disponible en su equipo. Para crearlo ejecutaremos el siguiente comando en la terminal:\ntouch ~/.ssh/config A continuación otorgaremos los permisos apropiados para asegurar que las conexiones ssh se puedan realizar de forma correcta y segura. Para ello tenemos que ejecutar los siguientes comandos en la terminal:\nchmod 700 ~/.ssh chmod 700 ~/.ssh/id_rsa chmod 700 ~/.ssh/config chmod 600 ~/.ssh/known_hosts chmod 600 ~/.ssh/authorized_keys Una vez creado el fichero lo editaremos ejecutando el siguiente comando:\nnano ~/.ssh/config El código a introducir dentro del fichero dependerá de vuestras necesidades y del tipo de autenticación que usen. A continuación les detallo el código que deben usar en función del tipo de autenticación que usan.\nFacilitar la conexión a un servidor ssh con autenticación por contraseña Si el comando que usan para conectarse al servidor ssh es del siguiente tipo:\nssh -p 2224 pi@geekland.duckdns.org Entonces el código a introducir dentro del fichero ~/.ssh/config para configurar el cliente SSH es el siguiente:\nHost rp Hostname geekland.duckdns.org User pi Port 2224 Una vez introducido el código podemos guardar los cambios y cerrar el fichero. Acto seguido podremos conectarnos a nuestro servidor usando este simple comando:\nssh rp El significado de todos y cada uno de los parámetros introducidos al fichero de configuración es el siguiente:\nHost rp: El parámetro Host sirve para dar un nombre al servidor al que nos vamos a conectar. Podéis poner un nombre cualquiera que os ayude a recordar el equipo al que os queréis conectar. En mi caso me quiero conectar a mi Raspberry Pi, por esto motivo uso el nombre rp. Hostname geekland.duckdns.org: Detallamos la IP del servidor al que nos queremos conectar. La IP puede ser local o pública. La IP se puede indicar de forma numérica o mediante un dominio que apunte a una IP. User pi: En el parámetro User escribimos el nombre de usuario con el que nos queremos loguear. Port 2224: Detallamos el puerto en que está escuchando el servidor ssh. En la mayoría de casos está escuchando en el puerto 22, pero en mi caso por temas de seguridad uso el 2224. Facilitar la conexión a un servidor ssh con autenticación por claves Si usamos un sistema de autenticación por claves, el comando que usamos para loguearnos al servidor será del siguiente tipo:\nssh -i ~/.ssh/id_rsa -p 22 ubuntu@120.444.220.130 Por lo tanto, el código que deberemos usar en el fichero de configuración ~/.ssh/config será el siguiente:\nHost vps Hostname 120.444.220.130 IdentityFile ~/.ssh/id_rsa IdentitiesOnly yes User ubuntu Port 22 Una vez introducido el código guardamos los cambios. El significado de los parámetros introducidos es el siguiente:\nHost vps: En mi caso el parámetro Host tiene como valor vps. vps es el nombre o alias que usaré para referirme al servidor al que me quiero conectar. Hostname 120.444.220.130: Detallamos la IP del servidor al que nos queremos conectar. La IP puede ser local o pública. La IP se puede indicar de forma numérica o mediante un dominio que apunte a una IP. IdentityFile ~/.ssh/id_rsa: El parámetro IdentityFile indica la ubicación de la clave privada del cliente que usamos para loguearnos al servidor ssh. En mi caso la clave usada es la id_rsa que está ubicada en ~/.ssh/ IdentitiesOnly yes: Al establecer el valor yes únicamente se tendrá en cuenta la clave privada especificada en el parámetro IdentityFile. User ubuntu: Especifico que me quiero loguear remotamente con el usuario ubuntu. Port 22: Especifico que el puerto en que está escuchando el servidor ssh es el 22. Una vez finalizada la configuración nos podremos conectar a nuestro equipo de forma remota usando este simple comando:\nssh vps Nota: pueden consultar el siguiente artículo en el caso que no sepan como configurar el acceso SSH mediante un par de claves PARÁMETROS ADICIONALES QUE PODEMOS USAR PARA CONFIGURAR EL CLIENTE SSH A lo largo del artículo han visto los siguientes parámetros para facilitar la conexión a nuestro servidor usando SSH:\nHost Hostname IdentityFile IdentitiesOnly User Port No obstante existen otros parámetros que podemos configurar en el cliente SSH. Algunos de ellos son los siguientes:\nStrictHostKeyChecking: Permite configurar si queremos añadir de forma automática las claves DSA del equipo al que nos conectamos al fichero ~/.ssh/known_hosts. El valor por defecto es “ask”, de este modo si es la primera que nos conectamos a un servidor se nos preguntará si queremos introducir la clave en el fichero ~/.ssh/known_hosts. Si cambiásemos al valor a “no” la seguridad seria más baja ya que se añadirán las claves al fichero ~/.ssh/known_hosts de forma automática. VisualHostKey: Permite mostrar el fingerprint del equipo remoto al que nos conectamos en formato ASCII. De este modo podremos tener una indicación sencilla/visual que no no estamos conectando a un equipo fraudulento. Los valores que pueda tomar esta variable son “yes” y “no”. Compression: Parámetro que permite habilitar la compresión en el intercambio de datos entre servidor y cliente. La opción puede resultar útil en situaciones en que la conexión a internet sea lenta. Los valores que puede tomar esta variable son “yes” y “no”. ServerAliveInterval: Establece el intervalo en segundos después del cual sino se ha recibido ningún dato del servidor se enviará un mensaje a través del túnel SSH para comprobar que el servidor aún está activo. Los posibles valores de esta variable son “yes” y “no”. Protocol: Indicamos la versión del protocolo SSH a usar para conectarnos al servidor. Los valores posibles son “1”, “2” o “2,1”. El valor por defecto es “2,1”, pero si quieren incrementar la seguridad pueden establecer el valor 2. Etc. Ejemplo de aplicación de los parámetros que acabamos de ver Si queremos generar una configuración que aplique a la totalidad de equipos remotos a los que nos vamos a conectar podemos añadir el siguiente código al fichero de configuración ~/.ssh/config:\nHost * StrictHostKeyChecking ask ServerAliveInterval 120 Compression no Protocol 2 VisualHostKey yes Nota: Todas los parámetros dentro de Host * se aplican a la totalidad de conexiones SSH que realicemos. Una vez añadida y guardada esta información, en todas y cada una de las conexiones a un servidor SSH:\nSe nos informará en el caso que nos estemos conectando a un equipo por primera vez. Cada 120 segundos de inactividad se hará una comprobación que el equipo que actúa como servidor está activo. El contenido entre cliente y servidor no será comprimido. El protocolo usado para la conexión SSH será el 2. En el momento de la conexión veremos una representación gráfica del fingerprint del servidor. CONFIGURACIÓN QUE ESTOY USANDO EN MI CLIENTE OPENSSH Después de todo lo explicado os dejo la configuración que yo mismo tengo introducida en mi equipo:\n# Conexión a mi Raspberry Pi Host rp Hostname geekland.duckdns.org User pi Port 2224 # Conexión a mi Raspberry Pi Host vps Hostname 120.444.220.130 IdentityFile ~/.ssh/id_rsa IdentitiesOnly yes User ubuntu Port 22 # Parámetros que aplican a mi VPS y Raspberry Pi Host * StrictHostKeyChecking ask ServerAliveInterval 120 Compression no Protocol 2 VisualHostKey yes INFORMACIÓN ADICIONAL Si quieren obtener información sobre otros parámetros a usar para configurar el cliente SSH pueden ejecutar el siguiente comando en la terminal de Linux:\nman 5 ssh_config Si lo preferís también pueden visitar la siguiente URL.\nCONCLUSIONES Si configuramos nuestro cliente SSH de forma adecuada las conexiones a nuestros equipos serán mucho más rápidas y simples. Además prácticamente no tendremos que recordar ningún parámetro para establecer la conexión con el cliente. Simplemente tendremos que recordar el nombre del host.\nFUENTES https://www.digitalocean.com/community/tutorials/how-to-configure-custom-connection-options-for-your-ssh-client\nhttps://www.ssh.com/ssh/config\n","permalink":"https://geeklandlinux.github.io/posts/configurar-cliente-ssh-para-facilitar-la-conexion-remota-a-nuestros-equipos/","summary":"\u003cp\u003eQuien tenga varios ordenadores y servidores y se conecte a ellos vía SSH sabrá que resulta difícil recordar los parámetros de conexión. Por este motivo a continuación detallaré el procedimiento para que todos los usuarios puedan configurar el cliente SSH de su distribución Linux y de esta forma facilitar la conexión remota a sus equipos y servidores.\u003c/p\u003e","title":"Configurar el cliente SSH para facilitar la conexión remota a los equipos"},{"content":"A continuación detallaré una serie de modificaciones en la configuración que les ayudarán a mejorar el rendimiento de su sistema operativo Linux. Las modificaciones que aplicaremos modificarán la gestión de la memoria de nuestro equipo y el funcionamiento del disco duro.\nLas mejoras serán claramente palpables en equipos no actuales o que sean escasos en recursos. Si disponen de máquinas modernas difícilmente notarán una mejora.\nNota: Las modificaciones son para aplicar en ordenadores personales. No están pensadas para aplicar en servidores de gran capacidad que tengan gran cantidad de usuarios y una carga importante. MODIFICAR LA GESTIÓN DE LA MEMORIA PARA MEJORAR EL RENDIMIENTO Para aprovechar mejor la memoria de nuestro equipo les recomiendo realicen lo siguiente. Abran un terminal y ejecuten el siguiente comando:\nsudo nano /etc/sysctl.conf Cuando se abra el editor de texto nano vayanse al final del archivo y peguen el siguiente código:\nvm.swappiness = 10 vm.vfs_cache_pressure = 50 vm.watermark_scale_factor = 200 vm.dirty_ratio = 3 Una vez pegado el código ya pueden guardar los cambios, cerrar el fichero y reiniciar el equipo. Una vez reiniciado el equipo deberían ser capaces de ver una mejora en el rendimiento y desempeño de su equipo. A continuación les daré una breve explicación de lo que hace cada uno de los parámetros de la memoria que hemos modificado.\nMejorar el rendimiento modificando el valor swappiness El valor predeterminado de sawppiness es 60. Con la siguiente línea lo reducimos a 10.\nvm.swappiness = 10 Al tener un valor inferior nuestro sistema operativo hará un uso mucho menor de la memoria de intercambio. Como el uso de la memoria de intercambio será menor, la fluidez en la ejecución y uso de los programas debería ser mejor. Si quieren más información sobre el funcionamiento de la memoria Swap pueden consultar el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/optimizar-el-uso-de-la-memoria-swap/\nCambiar el valor de ”cache_pressure” para incrementar el rendimiento El valor predeterminado de la variable cache pressure es 100. Mediante el siguiente código los reducimos a 50.\nvm.vfs_cache_pressure = 50 Bajando el valor reduciremos la frecuencia con que la memoria RAM libera el espacio ocupado en cachear inodos y dentries. De este modo reducimos el intercambio de información entre el disco duro y la memoria RAM y por lo tanto mejoraremos el rendimiento del equipo.\nMejorar el rendimiento del equipo con la variable “vm.watermark_scale_factor” La variable vm.watermark_scale_factor determina el momento en que se activa el demonio Kswapd y se inicia la paginación. También determina la cantidad de información en la memoria que será paginada al disco.\nMediante la siguiente la siguiente línea de código modificamos el valor estándar de 10 y lo incrementamos a 200:\nvm.watermark_scale_factor = 200 Nota: El valor máximo es 1000. Cambiando el valor de 10 a 200 conseguimos que el proceso de paginación se inicie antes. Si el valor es 200, cuando quede un 2% de RAM libre se iniciará Kswapd para paginar datos de la memoria RAM al disco duro.\nEsta característica ayuda a sistemas que no van sobrados de memoria RAM. Si un equipo modesto trabaja con el valor por defecto (10) significa que la paginación se iniciará cuando solo quede un 0,1% de memoria RAM libre. Esta situación extrema puede hacer que equipos modestos se cuelguen o congelen por falta de recursos y memoria disponible.\nMejorar el rendimiento del ordenador con la variable “vm.dirty_ratio” El valor por defecto de vm.dirty_ratio es de 40. En nuestro caso lo hemos reducido a 3 mediante el siguiente código:\nvm.dirty_ratio = 3 Reduciendo el valor, los datos presentes en la memoria que se han modificado y por lo tanto son diferentes a los almacenados en el disco duro, se esrcriben al disco con una frecuencia más alta, pero en cada transferencia la cantidad paginada será mucho menor.\nDe este modo, en el caso que la velocidad de escritura de nuestro disco duro sea lenta y/o en el caso que la CPU sea poco potente notaremos una mejora de rendimiento en nuestro equipo.\nMEJORAR EL RENDIMIENTO ACTIVANDO LA CACHE DE ESCRITURA DE LA UNIDAD DE ALMACENAMIENTO Habilitando la cache de escritura de nuestra unidad de almacenamiento, las operaciones se realizarán más rápido.\nAl activar la cache de escritura se pueden iniciar procesos sin tener que esperar que la información de la memoria RAM se escriba en el disco duro. De esta forma conseguiremos un mayor rendimiento. No obstante hay que tener en cuenta que una pérdida de energía o un error en el equipo pueda ocasionar la pérdida de la información de los datos almacenados en la cache y que por lo tanto aun no se han escrito en el disco duro.\nNota: A priori no me preocuparía por la posibilidad de pérdida de información. Todos los sistemas Windows activan la cache de escritura por defecto. Instrucciones para activar la cache de escritura en disco La forma más sencilla para activar la cache de escritura de nuestra unidad de almacenamiento es con la utilidad gnome-disk. Para su instalación tenemos que ejecutar el siguiente comando en la terminal:\nsudo apt install gnome-disk-utility Una vez instalada la utilidad realizamos lo siguiente:\nAbrimos la aplicación que acabamos de instalar. La aplicación la encontraréis en el menú de vuestra distro. En el caso que no la encontréis la podéis abrir ejecutando el comando gnome-disks en la terminal. Seleccionamos la unidad de almacenamiento en que tenemos instalado el sistema operativo. Acto seguido clicamos en icono de opciones de la unidad y cuando se despliegue el menú clicamos en la opción Configuración de la unidad… A continuación clicamos en la pestaña cache de escritura. Acto seguido activen la cache de escritura y presionen el botón Aceptar.\nUna vez realizadas las modificaciones que hemos indicado reinicien el ordenador. A partir de estos momentos deberían nota una mejora importante en su sistema operativo.\nMEJORAR EL RENDIMIENTO PRECARGANDO INFORMACIÓN EN LA MEMORIA CON PRELOAD A grandes rasgos Preload precarga procesos y librerías de las aplicaciones que acostumbramos a usar en la memoria RAM. De este modo las aplicaciones se abrirán de forma más rápida y fluida y notaremos un mejor desempeño de nuestro ordenador. Para instalar Preload en Debian y en distribuciones derivadas de Debian tan solo tienen que ejecutar el siguiente comando:\nsudo apt install preload Una vez finalizada la instalación ejecutaremos los siguientes comandos para asegurar que Preload se inicie de forma automática cada vez que reiniciamos el equipo:\nsudo service preload start sudo service preload enable Una vez ejecutados los comando reinicien el equipo. Después de reiniciar el equipo Preload debería estar contribuyendo a mejorar el rendimiento de nuestro equipo. Si quieren más información acerca de preload pueden leer el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/incrementar-el-rendimiento-con-preload/\n¿POR QUÉ LINUX NO USA LAS OPCIONES QUE CITO EN ARTÍCULO DE FORMA PREDETERMINADA? La configuración por defecto de las distros GNU-Linux está pensada para trabajar con servidores de gran capacidad que tienen una cantidad limitada de RAM y recursos. Obviamente este no es el caso de un ordenador de escritorio en que la mayoría de casos es usado para que un solo usuario realice tareas simples.\nAdemás hay que tener presente que las distros se configuran para ser compatibles con el 100% de los equipos y existen características, como por ejemplo la cache de escritura de disco, que no están disponibles en todos los hardware.\nOTRAS ACCIONES PARA MEJORAR EL RENDIMIENTO DEL EQUIPO Siguiendo los pasos de este artículo es más que probable que noten una mejora importante en el rendimiento. No obstante hay otros puntos que deberían tener en cuenta para que el rendimiento de su equipo sea óptimo. Algunos de estos puntos son los siguientes:\nHay comprobar que no se autoinicien aplicaciones que no usamos. Una aplicación cargada en memoria y que no usamos está consumiendo recursos que no podrán usar el resto de programas que si usamos. La gran mayoría de entornos de escritorio disponen de interfaces gráficas para controlar los programas y aplicaciones que se autoinician con el ordenador. También es interesante tener conocimiento de los demonios y/o servicios que se ejecutan en nuestro ordenador. En el caso que haya servicios y demonios que no usemos los deberíamos deshabilitar para evitar el consumo inútil de recursos. A modo de ejemplo, si su ordenador no tiene bluetooth deberíamos desactivar todos los demonios relacionados con la gestión del bluetooth. Existen otras herramientas no citadas en el post que pueden ayudar a mejorar el rendimiento de nuestro equipo. Algunos de ellas son Zram, Prelink, Zswap, etc. RESULTADOS OBTENIDOS EN MI CASO En mi caso dispongo de un equipo con pocos recursos. Después de aplicar las configuraciones del artículo he conseguido mejorar notablemente el rendimiento del equipo.\nAntes de aplicar la configuración del artículo notaba que el equipo se congelaba en determinadas situaciones como por ejemplo al navegar. Pero con las soluciones citadas en el artículo todos los problemas de rendimiento que tenia han desaparecido.\nFuentes https://docs.gluster.org/en/latest/Administrator-20Guide/Linux-20Kernel-20Tuning/\nhttps://major.io/2008/08/07/reduce-disk-io-for-small-reads-using-memory/\nhttps://www.vertica.com/kb/Tuning-Linux-Dirty-Data-Parameters-for-Vertica/Content/BestPractices/Tuning-Linux-Dirty-Data-Parameters-for-Vertica.htm\nhttps://javaworks.wordpress.com/2013/08/27/performance-impact-of-dirty-pages-in-linux/\n","permalink":"https://geeklandlinux.github.io/posts/mejorar-el-rendimiento-de-un-sistema-operativo-de-escritorio-linux/","summary":"\u003cp\u003eA continuación detallaré una serie de modificaciones en la configuración que les ayudarán a mejorar el rendimiento de su sistema operativo Linux. Las modificaciones que aplicaremos modificarán la gestión de la memoria de nuestro equipo y el funcionamiento del disco duro.\u003c/p\u003e","title":"Mejorar el rendimiento de un sistema operativo de escritorio Linux"},{"content":"En el siguiente artículo veremos como obtener un dominio gratis de forma extremadamente sencilla. Pero antes de obtener el dominio tienen que ser conscientes de lo siguiente.\nPRECAUCIONES QUE DEBEMOS TENER CON LOS DOMINIOS GRATIS Los puntos a tener antes de usar un dominio gratuito son los siguientes:\nCon el método que veréis a continuación únicamente tendréis los siguientes dominios disponibles (.tk, .ml, .ga, .cf, .gq) Simplemente seremos representantes del dominio que usaremos. El titular del dominio será Freenom. Por lo tanto usar un dominio gratuito no es recomendable para proyectos personales o empresariales que tengan importancia. También tengan en cuenta que en el momento que Freenom lo plazca nos puede retirar el servicio. El tiempo máximo que podremos usar el dominio son 12 meses. Transcurridos los 12 meses podemos renovar de nuevo el domino. No uséis un dominio gratis si necesitáis estar bien posicionados en el buscador de Google. Existen ciberdelicuescentes que usan dominios gratuitos para perpetrar estafás. Como reacción Google acostumbra a sancionar/penalizar los dominio gratuitos. La reputación de un dominio gratuito nunca será la misma que un dominio de pago. Esto afecta tanto en el posicionamiento SEO como en la credibilidad de un posible cliente que visita nuestra web o servicio. Usar este tipo de dominio no es adecuado para un servidor de correo electrónico. Prácticamente la totalidad de emails que enviéis con un dominio gratuito serán calificados con Spam. Por lo tanto simplemente usen este tipo de dominios para acceder a servicios que tengamos alojados en la nube y que no tengan una importancia elevada. A modo de ejemplo podemos usar un dominio gratuito para los siguientes menesteres:\nAcceder a servicios que nosotros mismos podemos montar en la nube como por ejemplo Tiny Tiny RSS, Wallabag, un Nextcloud para uso personal, etc. Nunca usen un dominio gratuito para un blog personal o para cualquier web que su fin sea ganar dinero o tener un buen posicionamiento SEO.\nOBTENER NUESTRO DOMINIO GRATIS CON FREENOM Una vez somos conscientes de las precauciones que debemos tomar nos crearemos una cuenta de Freenom. Una vez creada la cuenta nos loguearemos y empezará el proceso para obtener nuestro dominio gratis.\nInicialmente clicamos en el Menú Services. Cuando se despliegue el menú clicamos en la opción Registrarse.\nActo seguido tecleamos el nombre del dominio que queremos registrar y presionamos el botón de Comprobar disponibilidad.\nSeguidamente seleccionamos el dominio que queremos contratar cliando en el botón Consigalo ahora!. En mi caso seleccionaré el geeklandserver.ml\nA continuación clicaremos en el botón de Finalizar compra.\nEl siguiente paso consistirá en definir el tiempo que queremos usar el dominio. Lo mejor que podemos hacer es seleccionar 12 meses. Una vez transcurridos los 12 meses deberemos renovar el dominio.\nUna vez seleccionado el tiempo tenemos que clicar sobre el botón Usar DNS. Acto seguido en los campos Dirección IP ingresaremos la IP fija de nuestro servidor. Finalmente presionaremos en el botón Continuar.\nNota: La opción Redirigir este dominio la podemos usar para redirigir el dominio geeklandserver.ml a otro dominio que queramos como por ejemplo geeklandlinux.github.io Como último paso tan solo tenemos que Aceptar las condiciones de servicio y clicar sobre el botón Completar Pedido.\nA partir de estos momentos tendremos que esperar unos minutos o horas para que se realice la propagación DNS. Como estamos usando los DNS de Freenom la propagación se debería realizar en cuestión de minutos. Por lo tanto en cuestión de minutos nuestro dominio estará apuntando a nuestro servidor.\nGESTIONAR NUESTRO DOMINIO Mediante la interfaz web de Freenom podremos gestionar nuestro dominio sin problema alguno.\n","permalink":"https://geeklandlinux.github.io/posts/obtener-dominio-gratis-con-freenom/","summary":"\u003cp\u003eEn el siguiente artículo veremos como obtener un dominio gratis de forma extremadamente sencilla. Pero antes de obtener el dominio tienen que ser conscientes de lo siguiente.\u003c/p\u003e","title":"Obtener un dominio gratis y precauciones a tomar con los dominio gratis"},{"content":"En su día instalamos el lector de feeds Tiny Tiny RSS en Ubuntu usando el servidor web Apache. A continuación les mostraré como podéis configurar y mejorar la seguridad de Tiny Tiny RSS.\nMEJORAR LA SEGURIDAD DE TINY TINY RSS Los pasos a seguir para mejorar la seguridad de Tiny Tiny RSS son los que veréis a continuación.\nInstalar un certificado SSL Un paso indispensable para preservar nuestra privacidad y seguridad es instalar un certificado SSL. De esta forma nadie será capaz de esnifar nuestra contraseña de acceso ni ver el contenido almacenado en nuestro lector de feeds. Para instalar el certificado SSL lo haremos con Let’s Encrypt.\nEl primer paso a realizar es instalar el paquete software-properties-common. Este paquete nos permitirá manejar los repositorios de nuestra distribución de forma mucho más fácil. Para ello ejecutamos el siguiente comando:\nsudo apt install software-properties-common Acto seguido aseguraremos que el repositorio Universe de Ubuntu está activado. Para ello ejecutaremos el siguiente comando:\nsudo add-apt-repository universe A continuación agregaremos el repositorio de Certbot ejecutando el siguiente comando en la terminal:\nsudo add-apt-repository ppa:certbot/certbot Seguidamente instalaremos los paquetes necesarios para instalar el certificado SSL a nuestro servidor. Para ello ejecutaremos el siguiente comando:\nsudo apt install certbot python-certbot-apache Finalmente, como instalamos Tiny Tiny RSS en un servidor apache, ejecutamos el siguiente comando para que se instale el certificado:\nsudo certbot --apache Durante el proceso de instalación del certificado deberán responder las siguientes preguntas:\nDefinir una dirección de email La primera de las preguntas será nuestra dirección de email. Introduzcan una que esté accesible y sea funcional. De esta forma si hay alguna incidencia importante let’s Encrypt nos podrá avisar.\nEnter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): geekland@gmail.com\nAceptar las condiciones de servicio de Let\u0026rsquo;s Encrypt La segunda de las preguntas a responder será si aceptamos las condiciones de servicio de Let\u0026rsquo;s Encrypt. Obviamente deberán responder que sí.\nPlease read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A\nCompartir nuestra dirección de email La tercera de las preguntas es definir si queremos compartir nuestra dirección de correo electrónico con Certbot. Bajo mi punto de vista Certbot no necesita nuestra dirección de email para nada. Por lo tanto respondan que No.\nWould you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: N\nDominios en los que quiero instalar el certificado para mejorar la seguridad En el siguiente paso deberán indicar los dominios en que quieren instalar el certificado de Let’s Enrypt. Los escriben manualmente y presionan la tecla Enter.\nWhich names would you like to activate HTTPS for? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: geeklandserver.tk 2: www.geeklandserver.tk - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel): 1 2\nRedireccionar todas las peticiones a https La quinta acción a realizar es definir si queremos que la totalidad de peticiones http se redirijan a https. Les recomiendo encarecidamente que respondan que Sí.\nPlease choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\nMensaje de confirmación de la instalación Finalmente, si todo ha ido como tenia que ir verán un mensaje parecido al siguiente que les confirma que el certificado se ha instalado con éxito.\nCongratulations! You have successfully enabled https://geeklandserver.tk and https://www.geeklandserver.tk\nUna vez instalado el certificado reiniciaremos TT-RSS y el servidor web apache ejecutando los siguientes comandos en la terminal:\nsudo service apache2 restart sudo service tt-rss restart Acto seguido comprueben que pueden acceder de forma correcta y segura a Tiny Tiny RSS.\nIncrementar la seguridad Protegiéndonos de ataques de fuerza bruta con fail2ban Para protegernos de ataques por fuerza bruta instalaremos y configuraremos fail2ban. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo apt install fail2ban Definir una acción de bloqueo para Tiny Tiny RSS con fail2ban Acto seguido crearemos una acción para bloquear a los usuarios que intenten loguearse a nuestro tt-rss de forma indiscriminada. Para ello empezaremos haciendo una copia de seguridad de las reglas predeterminadas ejecutando el siguiente comando:\nsudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local A continuación accederemos al fichero donde se definen las acciones ejecutando el siguiente comando en la terminal:\nsudo nano /etc/fail2ban/jail.local Al final del archivo jail.local copiaremos el siguiente texto:\n[ttrss] enabled = true port = http,https filter = ttrss logpath = /var/log/apache2/error.log bantime = 3600 findtime = 2000 maxretry = 3 Una vez pegado el código guardaremos los cambios y cerraremos el fichero. El código que acabamos de pegar realizará lo siguiente:\nSi un usuario comete 3 errores de autenticación en un período de 2000 segundos será bloqueado. El tiempo de bloqueo será de 3600 segundos. Crear un filtro de bloqueo para Tiny Tiny RSS El filtro de bloqueo que crearemos a continuación será el encargado de detectar los intentos fallidos de autenticación. Para ello ejecutamos el siguiente comando en la terminal:\nsudo nano /etc/fail2ban/filter.d/ttrss.conf Cuando se abra el editor de textos pegaremos el siguiente código:\n[Definition] failregex = Failed login attempt.*? from \u0026lt;HOST\u0026gt; ignoreregex = Acto seguido guardaremos los cambios y cerraremos el fichero.\nPara que fail2ban pueda detectar los errores de autenticación debemos cambiar la ubicación donde TT-RSS guarda los logs. Para ello ejecutamos el siguiente comando en la terminal:\nsudo nano /var/www/html/tt-rss/config.php Una vez dentro del archivo de configuración buscamos la siguiente línea:\ndefine(\u0026#39;LOG_DESTINATION\u0026#39;, \u0026#39;sql\u0026#39;); Una vez encontrada la modifican para que quede de la siguiente forma:\ndefine(\u0026#39;LOG_DESTINATION\u0026#39;, \u0026#39;\u0026#39;); Finalmente guardan los cambios y cierran el fichero. De este modo, la próxima vez que reinicien Apache, los logs se almacenarán en /var/log/apache2/error.log\nUna vez realizados todos los cambios reiniciaremos fail2ban, TT-RSS y el servidor web Apache ejecutando los siguientes comandos en la terminal:\nsudo service fail2ban restart sudo service apache2 restart sudo service tt-rss restart Limitar el número de usuarios que pueden usar TT-RSS Por defecto Tiny Tiny RSS no permite que un usuario cualquiera que acceda a la web pueda crearse una cuenta. Esto sin duda es una buena práctica de seguridad. Además también podemos limitar el número de cuentas activas de Tiny Tiny RSS. Para ello tan solo tenemos que acceder al fichero de configuración ejecutando el siguiente comando:\nsudo nano /var/www/html/tt-rss/config.php Una vez dentro del fichero de configuración busquen el siguiente código.\ndefine(\u0026#39;REG_MAX_USERS\u0026#39;, 10); // Maximum amount of users which will be allowed to register on this // system. 0 - no limit. Modificando el numero que está en rojo podremos fácilmente definir el número máximo de usuarios que podemos tener activos. En mi caso con 2 cuentas/usuarios es suficiente. Por lo tanto escribo un 2, guardo los cambios y cierro el fichero.\nLos usuarios deben usar contraseñas robustas para mejorar la seguridad Obviamente cada uno de los usuarios de Tiny Tiny RSS debe usar una contraseña robusta. Si quieren consejos útiles para crear contraseñas robustas les dejo el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/buenas-practicas-gestion-uso-contrasenas/\nBorrar el usuario admin para incrementar la seguridad Tiny Tiny RSS no permite borrar el usuario admin de forma sencilla. La única forma de hacerlo es acceder a la base de datos y borrarlo manualmente.\nNota: Si deciden borrar el usuario admin tengan en cuenta que antes hay que crear otro usuario. Nota: En el caso que borren el usuario admin tienen que ser conscientes que no podrán usar el modo de usuario único. Por lo tanto no les recomendaré que borren el usuario. Simplemente les pediré que creen y trabajen con un usuario diferente al admin. Si usan una contraseña fuerte y además fail2ban no debemos preocuparnos.\nACTUALIZAR EL SERVIDOR Y TINY TINY RSS Las actualizaciones no solamente incluyen funcionalidades adicionales. También solucionan problemas de seguridad que se van detectando y solucionando durante el transcurso del tiempo. Por lo tanto:\nActualicen el servidor sobre el que está instalado Tiny Tiny RSS. Cuando salga una nueva versión de Tiny Tiny RSS la deben instalar. Con estos simples pasos conseguiremos el objetivo inicial que era mejorar la seguridad de Tiny Tiny RSS.\n","permalink":"https://geeklandlinux.github.io/posts/mejorar-la-seguridad-de-tiny-tiny-rss/","summary":"\u003cp\u003eEn su día \u003ca href=\"/posts/instalar-tiny-tiny-rss-servidor-ubuntu/\"\u003einstalamos el lector de feeds Tiny Tiny RSS\u003c/a\u003e en Ubuntu usando el servidor web Apache. A continuación les mostraré como podéis configurar y mejorar la seguridad de Tiny Tiny RSS.\u003c/p\u003e","title":"Mejorar la seguridad de Tiny Tiny RSS en un servidor Ubuntu con LAMP"},{"content":"En el pasado escribí un post de como instalar y configurar un servidor VPN paso a paso. Si lo consultan verán que el proceso es largo, tedioso y difícil. Por esto motivo en el siguiente artículo les mostraré otro procedimiento para poder instalar y configurar un servidor OpenVPN en menos de 3 minutos y con tan solo 3 comandos.\nLa totalidad de la instalación y configuración se puede realizar mediante el siguiente script que podéis encontrar en Github.\nREQUISITOS PARA SEGUIR EL TUTORIAL E INSTALAR Y CONFIGURAR UN SERVIDOR OPENVPN Los requisitos para poder instalar y configurar un servidor OpenVPN son los que cito a continuación\nDisponer de un ordenador o servidor con el sistema operativo Ubuntu 18.04 o 16.04. Imagino que si usáis otras distribuciones con paquetería .deb como por ejemplo Debian o Linux Mint también funcionará. Disponer de una IP pública fija. En el caso que no dispongáis de una IP pública fija deberéis usar un servicio DNS dinámico como por ejemplo NO-IP o Duck DNS. INSTALAR Y CONFIGURAR UN SERVIDOR VPN DE FORMA FÁCIL Para aplicar y sacar partido de nuestro propio servidor VPN no es necesario tener grandes conocimientos técnicos. Para instalar y configurar el servidor VPN tan solo tenéis que copiar y pegar 3 comandos de la forma que veréis a continuación.\nDescargar el script de instalación Descargamos el script de instalación y configuración del servidor OpenVPN ejecutando el siguiente comando en la terminal:\nwget https://raw.githubusercontent.com/theonemule/simple-openvpn-server/master/openvpn.sh Dar permisos de ejecución al script de instalación Damos permisos de ejecución al script que acabamos de descargar ejecutando el siguiente comando en la terminal:\nchmod +x openvpn.sh Ejecutar el script para instalar y configurar el servidor OpenVPN Acto seguido ejecutamos el script de instalación y configuración mediante un comando del siguiente tipo:\nsudo ./openvpn.sh --adminpassword=contraseña_administración --dns1=servidor_dns1 --dns2=servidor_dns2 --protocol=protocolo_a_usar --vpnport=puerto_servidor_vpn --host=ip_pública_sevidor_o_dominio Cada una de las partes coloreadas del comando se deberá reemplazar por lo siguiente:\ncontraseña_administración: Definimos una contraseña cualquiera. Esta contraseña servirá para conectarnos a la interfaz de administración web. En mi caso usaré la contraseña geeklandpassword. servidor_dns1: Escribiremos la dirección IP del servidor DNS primario. Cuando esté conectado al servidor VPN quiero que mis peticiones sean resueltas por OpenDNS, por lo tanto escribiré 208.67.222.222 servidor_dns2: Escribiremos la dirección IP del servidor DNS secundario. Cuando esté conectado al servidor VPN quiero que mis peticiones sean resueltas por OpenDNS, por lo tanto escribiré 208.67.220.220 protocolo_a_usar: Podemos elegir entre el protocolo tcp o udp. Por cuestiones de rendimiento los VPN acostumbran a trabajar usando el protocolo udp. Por lo tanto en mi caso elijo la opción udp. puerto_servidor_vpn: Tenemos que escribir el puerto en que trabajará el servidor VPN. En mi caso uso el estándar que es el 1194. ip_pública_sevidor_o_dominio: Finalmente escribimos la IP Pública de nuestro servidor que en mi caso es 140.238.216.183. También pueden escribir su nombre de dominio o dominio dinámico DNS. Por lo tanto en mi caso ejecutaré el siguiente comando:\nsudo ./openvpn.sh --adminpassword=geeklandpassword --dns1=208.67.222.222 --dns2=208.67.220.220 --protocol=udp --vpnport=1194 --host=140.238.221.137 La ejecución del script durará unos segundos y no es necesario realizar nada. Tan solo tendremos que esperar a que termine su ejecución. Una vez terminada la espera dispondremos de un servidor VPN correctamente instalado y configurado. Así de fácil y con tan solo 3 comandos.\nCrear clientes para el servidor OpenVPN Los clientes del servidor OpenVPN se gestionarán a través de una interfaz web creada por lighttpd. Por este motivo abriremos los puertos 80 y 443 ejecutando los siguientes comando en la terminal:\nsudo iptables -I INPUT 5 -i ens3 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT sudo iptables -I INPUT 6 -i ens3 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT Nota: Si están aplicando el tutorial en su casa recuerden que también tendrán que abrir los puertos 80, 443 y 1194 en su router. Estos puertos los deberán redireccionar al equipo en que han instalado el servidor OpenVPN. Acto seguido accederemos a nuestro navegador web e ingresaremos la siguiente URL\nhttps://140.238.216.183 Nota: En vuestro caso deberéis reemplazar la 140.238.216.183 por la IP de su servidor A continuación, en el campo Nombre de usuario escribiréis admin. En el campo Contraseña escribiremos la contraseña que definimos en el comando de ejecución del script instalación. Finalmente presionaremos el botón Iniciar Sesión.\nNota: El acceso al servidor web es completamente seguro y cifrado. La advertencia de \u0026ldquo;No es seguro\u0026rdquo; se debe a que usamos un certificado autogenerado. A continuación, en el campo New Client escribiremos el nombre del usuario que queremos crear y clicaremos el botón Add.\nUna vez creado el usuario presionaremos en el Link Download para descargar el archivo de configuración del cliente. El archivo de configuración descargado es el que deberán usar los clientes para conectarse al servidor VPN.\nRevocar los permisos de un cliente del servidor VPN Si queremos quitar los permisos de conexión a uno de los usuarios que hemos creado actuaremos del siguiente modo.\nEn el panel de administración web clicamos en el link Revoke que está al lado del usuario al que queremos cancelar el permiso.\nUna vez clicado en Revoke, el usuario geekland no podrá conectarse más al servidor OpenVPN.\nMODIFICAR LA CONFIGURACIÓN ESTÁNDAR DEL SERVIDOR Si tienen conocimientos de como se configura un servidor OpenVPN pueden modificar los parámetros del servidor instalado y configurado por el script. Para ello deberán editar los siguientes ficheros:\nParámetros a modificar/consultar **Archivo/**ubicación a consultar Modificar Las reglas del firewall /etc/rc.local Modificar la configuración y comportamiento del servidor /etc/openvpn/server.conf Modificar la configuración estándar de los clientes que se crean /etc/openvpn/client-common.txt Ubicación donde se almacenan las claves públicas de los usuarios creados /etc/openvpn/clients CONECTARNOS AL SERVIDOR OPENVPN Para conectarnos al servidor OpenVPN en Linux deberemos seguir las siguientes instrucciones:\nhttps://geeklandlinux.github.io/posts/conectarse-servidor-openvpn-linux-terminal-networkmanager/\nEn breve detallaré el proceso para el resto de sistemas opeargivos.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-y-configurar-un-servidor-vpn/","summary":"\u003cp\u003eEn el pasado escribí un post de como instalar y configurar un \u003ca href=\"/posts/crear-y-configurar-servidor-openvpn/\"\u003eservidor VPN\u003c/a\u003e paso a paso. Si lo consultan verán que el proceso es largo, tedioso y difícil. Por esto motivo en el siguiente artículo les mostraré otro procedimiento para poder instalar y configurar un servidor OpenVPN en menos de 3 minutos y con tan solo 3 comandos.\u003c/p\u003e","title":"Instalar y configurar un servidor VPN de forma sencilla y rápida"},{"content":"En mi caso tengo que copiar 10GB de fotografías y vídeos de un ordenador a otro ordenador. Existen multitud de opciones para copiar archivos de gran tamaño de un ordenador a otro. Algunas de las opciones disponibles son:\nUsar un disco duro externo o un dispositivo de almacenamiento externo para traspasar la información de un ordenador a otro ordenador. Conectar los equipos a una misma red local y transferir los archivos. Usar Telegram para transferir archivos de un equipo a otro. Usar un servicio en la nube como por ejemplo Nextcloud, Dropbox, etc. Desafortunadamente en mi caso no puedo aplicar ninguna de las opciones citadas por las siguientes circunstancias:\nNo dispongo de ningún disco duro externo. Mi red local red local no dispone de ningún tipo de cableado. Por lo tanto la transferencia de archivos es extremadamente lenta y se cuelga. Telegram tiene un tamaño máximo de transferencias de archivos. En otras palabras, Telegram no te permitirá pasar un vídeo de más de 1.5GB de un ordenador a otro ordenador. No dispongo de ninguna nube gratuita que tenga un espacio libre de 10GB. Vistos los inconvenientes al final he terminado copiando los archivos de un ordenador a otro ordenador mediante un cable Ethernet cruzado RJ-45. El procedimiento seguido ha sido el siguiente.\nCOPIAR ARCHIVOS QUE OCUPAN UN GRAN TAMAÑO DE UN ORDENADOR A OTRO ORDENADOR El procedimiento para copiar archivos de un ordenador a otro mediante un cable Ethernet es extremadamente sencillo.\nAveriguar el nombre de los equipos En el primero de los equipos posicionamos el puntero del mouse encima del botón de inicio de Windows. Presionamos el botón derecho del ratón y cuando se despliegue el menú clicamos en la opción Sistema.\nActo seguido podremos ver el nombre del equipo es jc-win10-desktop\nSi repetimos el proceso en el segundo de los ordenadores veremos que en mi caso tiene como nombre jcall_pc\n¿Qué es lo que quiero realizar? A estas alturas se que el nombre de mis ordenadores es el siguiente:\nOrdenador 1: jc-win10-desktop Ordenador 2: jcall_pc El ordenador 2 con nombre jcall_pc contiene la carpeta fotos de 10GB que copiaré al ordenador 1.\nConectar los 2 equipos mediante un cable Ethernet Una vez tenemos identificados los 2 ordenadores por su nombre los conectaremos mediante un cable Ethernet cruzado RJ-45. La conexión es tan simple como la que se muestra en la siguiente ilustración:\nUna vez conectados los equipos es recomendable comprobar que ninguno de los 2 equipos tenga conexión a internet.\nConfiguración de red para que se puedan ver los equipos Para asegurar que los 2 equipos se puedan ver y comunicar entre si haremos los siguiente.\nEn el primero de los equipos (jc-win10-desktop) presionamos la combinación de teclas Win+R. Cuando aparezca la ventana de ejecutar escribimos ncpa.cpl en el campo Abrir y presionamos el botón Aceptar.\nCuando aparezca la ventana de Conexiones de Red hacemos doble click encima de nuestra tarjeta Ethernet.\nActo seguido clicamos en el botón Propiedades.\nA continuación hacemos doble click encima de la opción Protocolo de Internet versión 4 (TCO/IPv4)\nEn el apartado de configuración de nuestra tarjeta Ethernet introducimos la configuración que se puede ver en la captura de pantalla:\nDirección IP: Escribimos la dirección IP interna que queramos que tenga el primero de los equipos (jc-win10-desktop). En mi caso he usado la dirección 192.168.1.2 Mascara de subred: Introducimos una mascara de subred que sea acorde con la dirección IP que acabamos de introducir. En mi caso introduzco 255.255.255.0 Puerta de enlace predeterminada: Tenemos que escribir la IP que queramos que tenga el segundo de los equipos (jcall_pc). La IP tiene que ser diferente a la dirección IP del primer campo y dentro de la subred definida en el segundo de los campos. Por lo tanto en mi caso elijo 192.168.1.3 Repetimos exactamente los mismos pasos en el segundo equipo (jcall_pc), pero en el segundo equipo aplicamos la configuración que podemos ver en la siguiente captura de pantalla:\nDirección IP: Escribimos la dirección IP interna del segundo equipo. La dirección IP tiene que ser la misma que la puerta de entrada del primer equipo. Por lo tanto la IP que tenemos que introducir es 192.168.1.3 Mascara de subred: Introducimos una mascara de subred que sea acorde con la dirección IP que acabamos de introducir. En mi caso introduzco 255.255.255.0 Puerta de enlace predeterminada: Tenemos que escribir la IP que tenia el primero de los equipos (jc-win10-desktop). Por lo tanto la IP que tenemos que introducir es la 192.168.1.2 Una vez llegados hasta aquí habilitaremos la opciones de compartición de Windows.\nConfigurar las opciones de uso compartido de Windows En el primer equipo accedemos a las opciones de uso compartido haciendo clic con el botón izquierdo del ratón en el icono de red del panel de Windows. Cuando se despliegue el menú presionamos sobre la opción Red no identificada Sin internet.\nActo seguido clicamos en la opción Cambiar opciones de uso compartido avanzadas.\nUna vez dentro del panel de configuración de uso compartido activamos la totalidad de opciones de compartición y presionamos el botón Guardar cambios.\nEn el segundo de los equipos repetimos la operación que acabamos de realizar en el primero de los equipos.\nSeleccionar la/s carpeta/s que queremos compartir entre los 2 equipos En el ordenador con nombre (jcall_pc) seleccionamos la carpeta de 10 GB que quiero copiar al otro ordenador. Seguidamente presionamos el botón derecho del ratón y cuando se despliegue el menú contextual clicamos en la opción Propiedades.\nA continuación clicamos en la pestaña Compartir y acto seguido en el botón Compartir\u0026hellip;\nEl siguiente paso consiste en seleccionar los usuarios con que queremos compartir la carpeta. En mi caso selecciono la opción Todos los usuarios y presiono el botón Agregar.\nA continuación definimos los permisos que tendrán los usuarios que accedan a la carpeta compartida. En mi caso selecciono permisos de Lectura y escritura y seguidamente presiono el botón Compartir.\nActo seguido recibiremos la confirmación que la carpeta se ha compartido de forma satisfactoria.\nReiniciar los equipos Para asegurar que los cambios se apliquen recomiendo que reiniciéis ambos ordenadores.\nCopiar los archivos de un ordenador a otro ordenador Abrimos el gestor de archivos del ordenador en que queremos copiar todo el contenido que en mi caso es el (jc-win10-desktop). En la parte izquierda del gestor de archivos clicáis en la opción Red y al cabo de unos segundos os debería aparecer el nombre del otro ordenador que en mi caso es (jcall_pc). En este momento clicáis encima del nombre del segundo ordenador.\nSeguidamente deberéis introducir el usuario y la contraseña del ordenador al que nos queremos conectar y presionar el botón Aceptar.\nUna vez se haya producido la conexión podrán ver la totalidad de contenido que hemos Compartido anteriormente.\nEn estos momentos tan solo tenemos que copiar la carpeta fotos que como hemos dicho anteriormente ocupaba 10 GB.\nA continuación navegamos en la ubicación donde queremos guardar las fotos y las pegamos:\nUna vez realizados los pasos se procederá a copiar los archivos de un equipo a otro. La transmisión de datos será mucho más rápida y estable que en una conexión inalámbrica.\nVENTAJAS DE COPIAR ARCHIVOS MEDIANTE EL CABLE ETHERNET Las ventajas del método utilizado para copiar archivos de un ordenador a otro ordenador son las siguientes:\nSin duda es un proceso rápido ya que la velocidad de transmisión es de 10 MB/s. Si dispusiera una tarjeta de red de mayor calidad podría tranquilamente transferir el contenido a una velocidad de 100 MB/s. Puedes realizar una transferencia sin tener que realizar ningún tipo de instalación. No es necesario que los equipos estén conectados en una red local. El método de transmisión es directo. La información va directamente de un ordenador a otro ordenador sin que quede almacenada en un tercer dispositivo de almacenamiento. La transferencia de información es estable y fiable. Si intentan transferir 10GB en una red inalámbrica es probable que se produzcan cortes. No precisamos de conexión a Internet para realizar la transferencia. ","permalink":"https://geeklandlinux.github.io/posts/copiar-archivos-grande-cable-ethernet/","summary":"\u003cp\u003eEn mi caso tengo que copiar 10GB de fotografías y vídeos de un ordenador a otro ordenador. Existen multitud de opciones para copiar archivos de gran tamaño de un ordenador a otro. Algunas de las opciones disponibles son:\u003c/p\u003e","title":"Copiar archivos grandes de un ordenador a otro con un cable ethernet"},{"content":"Recientemente publique un artículo en el que se detallaba las características y funcionalidades del lector de feeds Tiny Tiny RSS. A continuación veremos los pasos que todo el mundo puede seguir para instalar Tiny Tiny RSS en un servidor con el sistema operativo Ubuntu 18.04. Los pasos a seguir se detallan a continuación.\nINSTALAR EL SERVIDOR WEB Instalaremos el servidor web Apache. Para ello tan solo tenemos que ejecutar el siguiente comando en la terminal:\nsudo apt install apache2 ABRIR LOS PUERTOS PARA PODER ACCEDER AL SERVIDOR WEB Tenemos que configurar el firewall de nuestro servidor para poder acceder al servidor web e instalar Tiny Tiny RSS. Para ello la opción más sencilla es usar ufw.\nInicialmente aseguramos que ufw está instalado ejecutando el siguiente comando en la terminal:\nsudo apt install ufw Acto seguido iniciamos y habilitamos ufw mediante los siguientes comandos:\nsudo ufw start sudo ufw enable A continuación abrimos los puertos 80 (https) y 443 (https) ejecutando los siguientes comandos:\nsudo ufw allow http sudo ufw allow https En nuestro teléfono móvil o en un ordenador cualquiera abrimos un navegador web. A continuación accedemos a la siguiente URL.\nhttp://ip_server/ Nota: ip_server deberá sustituirse por la dirección IP de su servidor Web. Si todo funciona correctamente obtendrán un resultado similar al siguiente.\nAbrir los puertos con iptables en el caso que no queramos usar UFW En el caso que no quieran usar UFW pueden usar iptables. Las reglas de iptables que he utilizado en mi caso son las siguientes:\nsudo iptables -I INPUT 1 -i ens3 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT sudo iptables -I INPUT 2 -i ens3 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT Nota: Deberán reemplazar ens3 por el nombre de su interfaz de red. El nombre de su interfaz de red lo pueden averiguar fácilmente con el comando ifconfig Tal y como hicimos anteriormente intentamos acceder al servidor web desde nuestro navegador. Si podemos acceder tendremos que hacer persistentes las reglas ejecutando los siguientes comandos en la terminal:\nsudo apt-get install iptables-persistent sudo iptables-save \u0026gt; /etc/iptables/rules.v4 INSTALAR LOS MÓDULOS PHP PARA INSTALAR TINY TINY RSS El siguiente paso consistirá en instalar la totalidad de librerías PHP para poder instalar Tiny Tiny RSS. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo apt install php libapache2-mod-php php-mysql php-pgsql php-mbstring php-fdomdocument php-intl php-curl php-common php-gd php-xml php-cli Para comprobar que PHP está funcionando de forma adecuada ejecutaremos el siguiente comando en la terminal:\nsudo nano /var/www/html/info.php Cuando se abra el editor de textos nano pegaremos el siguiente código y guardaremos los cambios:\n\u0026lt;?php phpinfo(); ?\u0026gt; Acto seguido abriremos un navegador web cualquiera e ingresaremos la siguiente dirección:\nhttp://ip_server/info.php Nota: ip_server se deberá sustituir por la dirección IP de nuestro servidor Web. Si PHP está funcionando de forma adecuada, el navegador mostrará un contenido similar al siguiente:\nINSTALAR Y CONFIGURAR UNA BASE DE DATOS PostgreSQL Para que Tiny Tiny RSS funcione necesitamos una base de datos. Podemos usar PostgreSQL o Mysql. En mi caso uso PostgreSQL porque así lo recomiendan los desarrolladores de Tiny Tiny RSS.\nNota: El funcionamiento con Mysql no es el adecuado debido a que InnoDB es lento. Además puede que hayan funcionalidades que no funcionen con Mysql. Para instalar la base de datos PostgreSQL en Ubuntu ejecutaremos el siguiente comando en la terminal:\nsudo apt install postgresql postgresql-contrib Acto seguido iniciaremos y habilitaremos PosrgreSQL mediante los siguientes comandos:\nsudo systemctl start postgresql.service sudo systemctl enable postgresql.service Crear y configurar una base de datos para Tiny Tiny RSS A continuación nos loguearemos a la base de datos de PostgreSQL ejecutando el siguiente comando en la terminal:\nsudo -u postgres psql Acto seguido ejecutaremos el siguiente comando para crear un usuario con su correspondiente contraseña para la base de datos:\npostgres=# CREATE USER \u0026#34;userttrss\u0026#34; WITH PASSWORD \u0026#39;contraseñattrss\u0026#39;; CREATE ROLE Nota: El usuario creado es userttrss. La contraseña asignada al usuario es contraseñattrss. Seguidamente crearemos una base de datos con nombre dbttrss y como usuario propietario le asignaremos el usuario que acabamos de crear. Para ello ejecutaremos el siguiente comando en la consola de PostgreSQL:\npostgres=# CREATE DATABASE dbttrss WITH OWNER \u0026#34;userttrss\u0026#34;; CREATE DATABASE Finalmente salimos de la consola de PostgreSQL ejecutando el siguiente comando:\npostgres=# \\quit Cambiar el método de autenticación de PostgreeSQL Para que TTRSS pueda funcionar tenemos que cambiar el método de autenticación de PostgreSQL. Para ello editaremos el fichero pg_hba.conf ejecutando el siguiente comando:\nsudo nano /etc/postgresql/10/main/pg_hba.conf Nota: La ubicación del fichero pg_hba.conf puede variar en función de la distribución que usen. Cuando se abra el editor nano verán un código similar al siguiente:\nTodos los métodos de autenticación establecidos como peer o ident los deberán modificar a md5 quedando el código la siguiente forma:\nUna vez realizados las modificaciones guardan los cambios y reinician PostgreSQL y Apache ejecutando los siguientes comandos en la terminal:\nsudo systemctl restart postgresql.service sudo systemctl restart apache2 INSTALAR TINY TINY RSS EN NUESTRO SERVIDOR Accederemos al directorio raíz de nuestro servidor web ejecutando el siguiente comando en la terminal:\ncd /var/www/html A continuación instalamos git ejecutando el siguiente comando en la terminal:\nsudo apt install git Una vez tengamos instalado git podremos descargar la última versión de Tiny Tiny RSS ejecutando el siguiente comando en la terminal:\nsudo git clone https://tt-rss.org/git/tt-rss.git tt-rss Accedemos dentro de la carpeta donde está ubicado el programa mediante el siguiente comando:\ncd ./tt-rss Finalmente modificaremos los permisos de algunas de las carpetas y archivos del programa TTRSS. Para ello ejecutaremos los siguientes comandos en la terminal:\nsudo chmod -R 777 cache/images sudo chmod -R 777 cache/upload sudo chmod -R 777 cache/export sudo chmod -R 777 feed-icons sudo chmod -R 777 lock Conectar Tiny Tiny RSS con la base de datos A continuación abriremos el navegador e ingresaremos la siguiente URL:\nhttp://ip_server/tt-rss/install/ Nota: ip_server se deberá sustituir por la dirección IP de nuestro servidor Web. Acto seguido aparecerá el menú de instalación de TTRSS. Las opciones a rellenar en cada uno de los campos son las siguientes:\nDatabase type: En nuestro caso tenemos que seleccionar PostgreSQL. Username: Introducimos el nombre del usuario que hemos creado para nuestra base de datos. Por lo tanto en mi caso tendré que introducir userttrss. Password: Escribimos la contraseña para que el usuario ttrss pueda acceder a la base de datos. La contraseña que he definido en apartados anteriores es contraseñattrss. Database name: Escribimos el nombre de la base de datos que hemos creado para almacenar el contenido de Tiny Tiny RSS. En mi caso el nombre es dbttrss. Host name: Dejamos el campo en blanco. Este campo se puede rellenar más tarde de forma manual. Port: Introducimos el puerto estándar de PostgreSQL que es el 5432. Tiny Tiny RSS URL: En mi caso dejo el valor por defecto que es la URL para acceder a al lector de feeds. Una vez rellenadas la totalidad de las opciones clicaremos en el botón Test configuration.\nSi la configuración es correcta obtendrán los resultados mostrados en la siguiente captura de pantalla. Si los resultados son satisfactorios tendrán que clicar sobre el botón Initialize database.\nActo seguido aparecerá el código que tenemos que copiar y pegar al fichero de configuración de Tiny Tiny RSS. Por lo tanto seleccionamos el código y lo copiamos.\nCrear el fichero de configuración de Tiny Tiny RSS A continuación crearemos el fichero de configuración ejecutando el siguiente comando en la terminal:\nsudo nano /var/www/html/tt-rss/config.php Una vez se abra el editor de textos nano pegaremos el código de configuración de Tiny Tiny RSS y guardaremos los cambios:\nEn el hipotético caso que quisiéramos acceder a Tiny Tiny RSS mediante un dominio deberíamos realizar las siguientes modificaciones en el fichero de configuración.\nTendríamos que buscar la siguiente línea:\ndefine(\u0026#39;SELF_URL_PATH\u0026#39;, \u0026#39;http://ip_server/tt-rss/\u0026#39;); Una vez encontrada tendríamos que reemplazarla por la siguiente:\ndefine(\u0026#39;SELF_URL_PATH\u0026#39;, \u0026#39;http://dominio.com/tt-rss/\u0026#39;); Además, al final del archivo de configuración deberíamos añadir el siguiente código:\ndefine(\u0026#39;_SKIP_SELF_URL_PATH_CHECKS\u0026#39;, true); Ingresar a TTRSS por primera vez y cambiar el password por defecto A continuación abriremos el navegador e ingresaremos la URL para abrir TTRSS por primera vez. La dirección a introducir en el navegador será del siguiente tipo:\nhttp://ip_server/tt-rss/ Nota: ip_server se deberá sustituir por la dirección IP de nuestro servidor Web. En la pantalla de login introduciremos admin en el campo Nombre de usuario y password en el campo Contraseña. Acto seguido presionaremos el botón Iniciar sesión.\nA continuación clicamos en el botón Abrir Preferencias.\nActo seguido, en la pestaña usuarios clicamos encima del usuario admin.\nSeguidamente, en el campo Nueva contraseña definiremos una nueva contraseña para el usuario admin. Finalmente introduciremos nuestro correo en el campo Correo electrónico y presionaremos el botón Guardar.\nUna vez realizados los cambios accedan de nuevo a TTRSS. Para acceder tendrán que usar el usuario admin y la contraseña que justo acabamos de definir.\nNota: El email que pongáis es el que se usará para recuperar la contraseña en caso que la olvidemos. Configurar la actualización automática de los Feeds de TTRSS Para que los feeds de Tiny Tiny RSS se actualicen de forma automática hay que crear un servicio de systemd. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo nano /etc/systemd/system/tt-rss.service Cuando se abra el editor de textos nano pegaremos el siguiente código y guardaremos los cambios:\n[Unit] Description=ttrss_backend After=network.target mysql.service postgresql.service [Service] User=www-data ExecStart=/var/www/html/tt-rss/update_daemon2.php [Install] WantedBy=multi-user.target A continuación iniciaremos y habilitaremos el servicio que acabamos de crear ejecutando los siguientes comandos en la terminal:\nsudo systemctl start tt-rss sudo systemctl enable tt-rss Nota: La frecuencia de actualización estándar de los feeds es cada 30 minutos. Se puede modificar la frecuencia dentro de las preferencias de la interfaz web de TTRSS. En el caso que no les guste systemd o su proveedor de hosting no les deje ejecutar procesos en segundo plano pueden actualizar los feeds mediante un cronjob. Para ello ejecutan el siguiente comando en la terminal:\nsudo crontab -e Cuando se abra el editor de texto pegan el siguiente código:\n*/30 * * * * /usr/bin/php /var/www/html/tt-rss/update.php --feeds --quiet Una vez pegado guardan los cambios y ya pueden salir del archivo. El código que hemos introducido actualizará los feeds cada 30 minutos.\nUSAR TINY TINY RSS Para aprender el funcionamiento básico de Tiny Tiny RSS les dejo los siguientes vídeos creados por Javier Leiva siguiente vídeo:\nAñadir fuentes y clasificar el contenido por carpetas en Tiny Tiny RSS https://www.youtube.com/watch?v=zT4DEokxTDk\nCrear filtros en Tiny Tiny RSS https://www.youtube.com/watch?v=fgOoJONR-s4\nExportar los feeds de TTRRS a un servicio alternativo https://www.youtube.com/watch?v=mT2VtXbApTM\u0026amp;t\nTambién les dejo el siguiente enlace en que podrán ver como realizar algunas de las tareas más comunes en TTRSS:\nhttps://geeklandlinux.github.io/posts/caracteristicas-lector-de-feeds-tiny-tiny-rss/\nCONFIGURAR Y SECURIZAR TTRSS En las próximas semanas publicaré un nuevo artículo en el que detallaré como configurar y securizar el lector de feeds Tiny Tiny RSS.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-tiny-tiny-rss-servidor-ubuntu/","summary":"\u003cp\u003eRecientemente publique un artículo en el que se detallaba las \u003ca href=\"/posts/caracteristicas-lector-de-feeds-tiny-tiny-rss/\"\u003ecaracterísticas y funcionalidades del lector de feeds Tiny Tiny RSS\u003c/a\u003e. A continuación veremos los pasos que todo el mundo puede seguir para instalar Tiny Tiny RSS en un servidor con el sistema operativo Ubuntu 18.04. Los pasos a seguir se detallan a continuación.\u003c/p\u003e","title":"Instalar Tiny Tiny RSS en servidor VPS con Ubuntu"},{"content":"En el siguiente artículo explicaremos la función que realiza el lector de feeds Tiny Tiny RSS. Además detallaremos las funcionalidades y características que lo hacen diferente del resto de servicios que ofrecen funciones similares.\n¿QUÉ ES TINY TINY RSS? Tiny Tiny RSS es un lector de feeds alternativo a los archiconocidos Feedly, Inoreader, Flipboard, etc. Pero con la diferencia que se instala en un servidor web que puede estar en nuestro ordenador, Raspberry Pi, servidor VPS, etc. Por lo tanto, el lector de feeds Tiny Tiny RSS será accesible vía cualquier navegador web o a través de diversos clientes existentes en Android e iOS.\nEn definitiva, Tiny Tiny RSS es un herramienta que nos permitirá seguir nuestros blogs o podcast favoritos de forma fácil y cómoda.\nCARACTERÍSTICAS QUE HACEN QUE EL LECTOR DE FEEDS TINY TINY RSS SEA DIFERENTE Ya hemos comentado que Tiny Tiny RSS es una alternativa a servicios como por ejemplo Feedly, Inoreader y Flipboard, pero con las siguientes ventajas y funcionalidades.\nRespeta la privacidad de sus usuarios Tiny Tiny RSS es respetuoso con la privacidad de sus usuarios porque es software libre y además corre en nuestro propio servidor. Por lo tanto nadie tendrá acceso a las noticias que leemos de forma habitual.\nEs altamente probable que otros servicios, como los mencionados anteriormente, construyan perfiles de sus usuarios para venderlos a terceros y de este modo ofrecernos publicidad personalizada.\nLeer noticias sin publicidad y sin “ruido” externo Puedes seguir las noticias que más te interesan sin el ruido y anuncios que introducen Twitter u otras plataformas de feeds como por ejemplo Inoreader o Feedly.\nServicio sin las limitaciones habituales de los servicios Free No tendremos las limitaciones que imponen Feedly, Inoreader y otros servicios equivalentes. Por ejemplo Feedly no permite seguir más de 100 fuentes RSS siendo un usuario free.\nTened en cuenta que los servicios free ofrecen funcionalidades muy básicas. Por norma general lo único que permiten realizar es seguir un número limitado de fuentes. Además, lo único que podremos realizar con las fuentes que seguimos es leerlas y compartir y su contenido.\nReproduce podcast y vídeos de YouTube incrustados en los feed En Tiny Tiny RSS podemos reproducir podcast. Para ello tan solo tenemos que añadir el feed del podcast en cuestión. Acto seguido podremos reproducir los podcast del feed sin ningún tipo de problema.\nAdemás, activando la extensión af_youtube_embed podremos reproducir la totalidad de vídeos de Youtube incrustados en el feed.\nLectura por voz de las noticias y contenido almacenado en TTRSS Existen clientes de Android, como FeedMe, que son una auténtica maravilla y ofrecen funcionalidades como leer el contenido de los feeds.\nPara ello tan solo tenemos que presionar de forma prolongada la noticia que queremos leer.\nCuando aparezca el menú de opciones presionaremos sobre las opciones de Reproducir. Acto seguido el sintetizador de voz de Google nos leerá la noticia.\nNota: El cliente de Android FeedMe se sincroniza con y alimenta del lector de feeds Tiny Tiny RSS. Más opciones de configuración y funcionalidades adicionales TTRSS dispone de más opciones de configuración que los servicios RSS que todos conocemos. Podremos seleccionar distintos temas de visualización, borrar el contenido que lleva almacenado más de x tiempo, etc.\nAdemás mediante su sistema de extensiones obtendremos muchas más funcionalidades que otros servicios como por ejemplo Inoreader, Feedly, etc.\nAutoetiquetado de contenido para buscar artículos relacionados TTRSS usa las etiquetas de los artículos para clasificar el contenido que almacena.\nDe este modo si clico la etiqueta SSH de un artículo.\nTiny Tiny RSS mostrará la totalidad de artículos que tiene almacenados y contienen la etiqueta SSH.\nEn el caso que los creadores de contenido no etiqueten sus artículos tenemos las siguientes opciones:\nAñadir las etiquetas de forma manual. Usar la extensión auto_assign_labels para que los artículos sin etiquetas se autoetiqueten de forma automática en función de su contenido. Archivar artículos de forma permanente TTRSS permite archivar los artículos que más nos gustan. De este modo si un blog desaparece podremos seguir consultando su información porque el contenido del artículo estará almacenado en nuestro propio servidor\nPara archivar un artículo tan solo tendrán seleccionarlo. Una vez seleccionado clican en el botón Seleccionar\u0026hellip; y cuando se despliegue el menú clican en la opción Archivar.\nAccediendo al apartado Artículos archivados podremos consultar la totalidad de artículos guardados:\nAñadir notas y puntuar los artículos TTRSS ofrece la posibilidad de añadir notas a cada uno de los artículos y puntuarlos.\nDe esta forma en un futuro podremos:\nBuscar los artículos que más nos gustaron. Buscar los artículos que contienen anotaciones y leer rápidamente las anotaciones que hicimos en su día. Las anotaciones pueden contener información adicional acerca del artículo o simplemente una breve frase para hacernos una idea del contenido del artículo. Atajos de teclado para ser más productivo TTRSS permite usar atajos de teclado para acceder y consumir el contenido que más nos interesa de forma rápida. Para ello tan solo tendremos que activar las extensión googlereaderkeys y hotkeys_noscroll.Los atajos de teclado de este programa son los mismos que en su día uso Google Reader.\nLeer el contenido de los artículos sin tener que acceder a las web En ocasiones los feeds no muestran el contenido completo de los artículos.\nEl motivo es que los creadores de contenido quieren que entremos en sus blogs para que nos traguemos su publicidad y nos puedan trackear.\nNo obstante, gracias a la extensión Readibility podremos leer la totalidad de los artículos dentro del feed. De esta forma tendremos la experiencia que nosotros deseamos y no la que el creador de contenido quiera que tengamos.\nEn Android les recomiendo que usen el cliente FeedMe. FeedMe también permite leer el contenido de los feeds sin tener que entrar en la web.\nFiltrar contenido almacenado en los feeds por palabras Tiny Tiny RSS almacena una cantidad muy elevada de información. Por esto motivo ofrece la posibilidad de filtrar su contenido por palabras y de esta forma encontrar la información que estamos buscando de forma fácil y sencilla.\nPara aplicar filtros por palabras pueden ver el siguiente vídeo:\nhttps://www.youtube.com/watch?v=fgOoJONR-s4\u0026amp;t\nCompartir artículos de forma fácil limpia y sin publicidad Permite generar enlaces para compartir contenido. Quien reciba y abra los enlaces generados podrá leer el contenido compartido de forma limpia. La visualización será similar a la ofrecida por programas como por ejemplo Pocket.\nAdemás TTRSS dispone de un feed especial en el que podremos introducir la totalidad de artículos que queremos compartir. Una vez definidos los artículos a compartir podemos generar una URL para que nuestros compañeros puedan visualizar los artículos seleccionados uno detrás de otro.\nNota: Obviamente TTRSS también permite compartir contenido por otras vías como por ejemplo correo electrónico. Leer nuestro artículos en cualquier momento de forma cómoda Todas las noticias y contenidos estarán sincronizados en la totalidad de nuestros dispositivos. Además todas nuestras noticias y artículos serán accesibles a través de cualquier dispositivo ya sea mediante clientes de escritorio, apps o un simple navegador web.\nINCONVENIENTES DE TINY TINY RSS Acabamos de ver las bondades de TTRSS. No hace falta decir que es una opción que ofrece más funcionalidades que los lectores de feeds convencionales, pero también presenta puntos de mejora.\nAlgunos de los puntos que se deberían mejorar son los siguientes:\nSu interfaz web no es Responsive. Por lo tanto no podremos usar el cliente web en dispositivos móviles. No obstante en dispositivos móviles existentes clientes excelentes como por ejemplo FeedMe. Es necesario tener conocimientos de CSS parar cambiar la fuente y el tamaño de la fuente de los artículos. Para personalizar un tema existente también es necesario saber un mínimo de CSS Su procedimiento de instalación y configuración no es sencillo. Su instalación requiere de conocimientos informáticos que no están al alcance de la mayoría de personas. Por este motivo en breve publicaré en artículo que muestra las instrucciones de instalación y configuración de TTRSS. ","permalink":"https://geeklandlinux.github.io/posts/caracteristicas-lector-de-feeds-tiny-tiny-rss/","summary":"\u003cp\u003eEn el siguiente artículo explicaremos la función que realiza el lector de feeds Tiny Tiny RSS. Además detallaremos las \u003ca href=\"https://tt-rss.org/\"\u003efuncionalidades y características\u003c/a\u003e que lo hacen diferente del resto de servicios que ofrecen funciones similares.\u003c/p\u003e","title":"Funcionalidades y características del lector de feeds Tiny Tiny RSS"},{"content":"A continuación veremos la totalidad de formas que tenemos para instalar el cliente de Twitter Cawbird en Debian, Ubuntu, Linux Mint y resto de distribuciones derivadas de les que acabo de citar.\n¿QUÉ ES CAWBIRD? Bajo mi punto de vista, Cawbird es el mejor cliente de Twitter existente en la actualidad. Se trata de un cliente con las siguientes funcionalidades:\nBuscar, visualizar, responder, citar, borrar, retwittear y añadir a favoritos los tweets. Visualizar imágenes y vídeos. Subir imágenes y vídeos. Agregar, Eliminar y bloquear a usuarios. Silenciar hashtags. Enviar, borrar y recibir mensajes directos. Buscar tweets y usuarios. Consular el contenido de listas. Crear listas. Añadir y gestionar varias cuentas de Twitter. Etc. Es importante recalcar que Cawbird es un Fork del cliente de Twitter Corebird que actualmente está abandonado.\n¿POR QUÉ ES INTERESANTE USAR E INSTALAR EL CLIENTE DE TWITTER CAWBIRD? Es interesante usar Cawbird porque proporciona una experiencia natural al usar Twitter. Si usamos la web de Twitter o su cliente oficial nos encontraremos con los siguientes inconvenientes:\nVeremos publicidad. Los tweets no se muestran de forma cronológica. En los primeros puestos siempre aparecen tweets patrocinados y tweets que Twitter considera que tienen que aparecer en las primeras posiciones. Estos simples puntos hacen que la experiencia entre usar el cliente oficial o Cawbird sea totalmente distinta. Cawbird no mostrará anuncios y mostrará un timeline por orden cronológico que da la misma importancia a todos los usuarios.\nLos principales inconvenientes de Cawbird son las limitaciones que Twitter impone a las aplicaciones de terceros. Las principales limitaciones existentes son las siguientes:\nCawbird no muestra los tweets a tiempo real. El timeline de Twitter se irá autorefrescando con una periodicidad de 2 minutos. Si queremos también podemos refrescarlo de forma manual. El apartado de notificaciones está restringido. Solo recibiremos notificaciones de tweets nuevos o en el caso que alguien nos mencione. INSTALAR CAWBIRD EN DEBIAN Para instalar Cawbird en Debian nos loguearemos como usuario root. Para ello en la terminal ejecutaremos el siguiente comando:\nsudo su Acto seguido averiguaremos la versión de Debian que están usando. Para ello ejecutaremos el siguiente comando en la terminal:\nlsb_release -a En mi caso el resultado obtenido ha sido el siguiente:\nNo LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux bullseye/sid Release: testing Codename: bullseye Por lo tanto puedo afirmar que estoy usando la rama testing de Debian.\nEn función de la rama de Debian que estén usando agregarán el repositorio de Cawbird ejecutando uno de los siguientes comandos:\nRama Debian Comando para agregar el repositorio de Cawbird Testing echo 'deb http://download.opensuse.org/repositories/home:/IBBoard:/cawbird/Debian_Testing/ /' \u0026gt; /etc/apt/sources.list.d/home:IBBoard:cawbird.list Inestable echo 'deb http://download.opensuse.org/repositories/home:/IBBoard:/cawbird/Debian_Unstable/ /' \u0026gt; /etc/apt/sources.list.d/home:IBBoard:cawbird.list Nota: Si están en la rama estable de Debian les recomiendo que instalen Cawbird mediante los binarios o con snap. Acto seguido descargaremos la clave pública del repositorio. Dependiendo de la rama de Debian que estén usando deberán descargar la clave ejecutando uno de los siguientes comandos:\nRama Debian Comando para descargar la del repositorio de Cawbird Testing wget -nv https://download.opensuse.org/repositories/home:IBBoard:cawbird/Debian_Testing/Release.key -O Release.key Inestable wget -nv https://download.opensuse.org/repositories/home:IBBoard:cawbird/Debian_Unstable/Release.key -O Release.key Seguidamente agregaremos la clave publica que acabamos de descargar ejecutando el siguiente comando en la terminal:\nsudo apt-key add - \u0026lt; Release.key Finalmente refrescaremos los repositorios e instalaremos Cawbird ejecutando el siguiente comando en la terminal:\nsudo apt update \u0026amp;\u0026amp; sudo apt install cawbird Una vez ejecutado el comando Cawbird ya estará instalado en nuestro sistema operativo. Si todos los pasos se han realizado correctamente podemos borrar la clave publica ejecutando el siguiente comando en la terminal:\nrm Release.key Para volvernos a loguear con nuestro usuario habitual ejecutaremos el siguiente comando en la terminal:\nexit INSTALAR CAWBIRD EN UBUNTU O LINUX MINT La mejor forma de instalar Cawbird en Ubuntu o en Linux Mint es mediante repositorios ppa. Para ello lo primero que deberemos realizar es averiguar la versión de Ubuntu que estamos usando. Para ello ejecutaremos el siguiente comando en la terminal:\nlsb_release -a El resultado obtenido en mi caso es el siguiente:\nNo LSB modules are available. Distributor ID: neon Description: KDE neon User Edition 5.17 Release: 18.04 Codename: bionic Por lo tanto en mi caso estoy usando la versión 18.04 de Ubuntu. En función de la versión de Ubuntu que estén usando agregarán el repositorio ppa de Cawbird ejecutando uno de los siguientes comandos en la terminal:\nVersión Ubuntu Comando para agregar el repositorio ppa de Cawbird Ubuntu 18.04 sudo sh -c \u0026quot;echo 'deb http://download.opensuse.org/repositories/home:/IBBoard:/cawbird/xUbuntu_18.04/ /' \u0026gt; /etc/apt/sources.list.d/home:IBBoard:cawbird.list\u0026quot; Ubuntu 19.04 sudo sh -c \u0026quot;echo 'deb http://download.opensuse.org/repositories/home:/IBBoard:/cawbird/xUbuntu_19.04/ /' \u0026gt; /etc/apt/sources.list.d/home:IBBoard:cawbird.list\u0026quot; Ubuntu 19.10 sudo sh -c \u0026quot;echo 'deb http://download.opensuse.org/repositories/home:/IBBoard:/cawbird/xUbuntu_19.10/ /' \u0026gt; /etc/apt/sources.list.d/home:IBBoard:cawbird.list\u0026quot; Acto seguido descargaremos la clave pública del repositorio ppa. Dependiendo de la versión de Ubuntu que estén usando deberán descargar la clave ejecutando uno de los siguientes comandos:\nVersión Ubuntu Comando para descargar la clave pública del repositorio ppa Ubuntu 18.04 wget -nv https://download.opensuse.org/repositories/home:IBBoard:cawbird/xUbuntu_18.04/Release.key -O Release.key Ubuntu 19.04 wget -nv https://download.opensuse.org/repositories/home:IBBoard:cawbird/xUbuntu_19.04/Release.key -O Release.key Ubuntu 19.10 wget -nv https://download.opensuse.org/repositories/home:IBBoard:cawbird/xUbuntu_19.10/Release.key -O Release.key Seguidamente agregaremos la clave publica que acabamos de descargar ejecutando el siguiente comando en la terminal:\nsudo apt-key add - \u0026lt; Release.key Finalmente refrescaremos los repositorios e instalaremos Cawbird ejecutando el siguiente comando en la terminal:\nsudo apt update \u0026amp;\u0026amp; sudo apt install cawbird Una vez ejecutado el comando Cawbird ya estará instalado en nuestro sistema operativo. Si todos los pasos se han realizado correctamente ya se pude borrar la clave publica descargada ejecutando el siguiente comando en la terminal:\nrm Release.key INSTALAR CAWBIRD MEDIANTE PAQUETERÍA SNAP En mi caso no me gustan los paquetes snap, pero a quien le guste o necesite usar paquetes snap debe proceder del siguiente modo.\nAseguramos que el demonio snapd está instalado ejecutando el siguiente comando en la terminal:\nsudo apt install snapd Acto seguido tan solo tenemos que ejecutar el siguiente comando para instalar Cawbird:\nsudo snap install cawbird INSTALAR CAWBIRD A TRAVÉS DE ARCHIVOS BINARIOS Si no quieren complicarse la vida también pueden instalar Cawbird mediante paquetes binarios .deb.\nPara descargar los paquetes binarios acceden a la siguiente URL:\nhttps://software.opensuse.org//download.html?project=home%3AIBBoard%3Acawbird\u0026amp;package=cawbird\nUna vez dentro de la URL cliquen sobre la distribución que estén usando. Como en mi caso estoy usando KDE Neon y está basada en Ubuntu clico sobre el icono Ubuntu.\nActo seguido hay que clicar en la opción Descargar los paquetes binarios directamente.\nComo la actual KDE Neon está basada en Ubuntu 18.04 clico sobre el botón de descarga de la sección Paquetes de xUbuntu 18.04. Justo después de clicar se descargará el paquete binario.\nUna vez descargado el paquete lo instalaremos con Gdebi o con el método que acostumbren a usar habitualmente. En mi caso como uso Kde Neon selecciono el paquete binario, presiono el botón derecho del ratón y cuando aparezca el menú contextual clico sobre la opción Abrir con Discover.\nPara finalizar tan solo tendremos que presionar sobre el botón Instalar.\nCon estos métodos tan sencillos podremos instalar el cliente de Twitter Cawbird en cualquier distro que use paquetería .deb o snap.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-cliente-twitter-cawbird-ubuntu-debian/","summary":"\u003cp\u003eA continuación veremos la totalidad de formas que tenemos para instalar el cliente de Twitter Cawbird en Debian, Ubuntu, Linux Mint y resto de distribuciones derivadas de les que acabo de citar.\u003c/p\u003e","title":"Instalar el cliente de Twitter Cawbird en Debian, Ubuntu y distros derivadas"},{"content":"En el siguiente artículo veremos como monitorear procesos y tareas en Linux mediante el uso del monitor de procesos o el monitor de recursos top. De esta forma podremos monitorizar y analizar el rendimiento de nuestro servidor u ordenador de forma fácil, rápida y eficaz.\n¿QUÉ ES EL MONITOR DE RECURSOS TOP? TOP es un programa informático que viene preinstalado en la mayoría de distribuciones Linux. TOP sirve para monitorizar y administrar los procesos y tareas en cualquier sistema operativo UNIX como por ejemplo GNU Linux.\nAl ejecutar TOP podremos ver una lista de los procesos y tareas que están ejecutándose en nuestro equipo. Los procesos se podrán clasificar y/o ordenar por consumo de CPU, por consumo de memoria, por usuario, por tiempo de funcionamiento, etc.\nComo curiosidad solo decirles que TOP es un acrónimo y su significado es Table of processes o tabla de procesos.\n¿SITUACIONES EN QUE PODEMOS USAR EL MONITOR DE RECURSOS TOP? Algunas de las situaciones en que puede ser útil usar el monitor de recursos TOP son:\nAveriguar un hipotético proceso que está consumiendo demasiada memoria o demasiada CPU. Detectar la existencia de procesos zombie en nuestro equipo. Monitorear el tiempo de funcionamiento de un proceso determinado. Obtener el PID de un proceso. Ver el consumo total de memoria y CPU de nuestro ordenador o servidor. Matar procesos. Modificar la prioridad de un proceso. Etc. Por lo tanto se trata de una herramienta extremadamente útil para cualquier administrador de sistemas.\nINFORMACIÓN PROPORCIONADA POR EL COMANDO TOP Para ver los datos que proporciona el monitor de procesos y tareas top tenemos que abrir una terminal y ejecutar el siguiente comando:\ntop Acto seguido verán que se muestran los siguientes resultados:\nEl significado de todos y cada uno de los parámetros mostrados por el monitor de recursos TOP se detalla a continuación.\nCómo interpretar los resultados de la sección Tiempo de actividad En la primera línea vemos la salida equivalente al comando uptime. Una muestra de la información proporcionada es la siguiente:\nPor lo tanto los resultados mostrados son los siguientes:\nHora actual. Tiempo que nuestro equipo o servidor ha estado encendido sin reiniciarse. Número de sesiones de usuario activas. En mi caso hay 2 sesiones de usuario. La primera es el usuario del sistema operativo y la segunda es un usuario remoto conectado vía SSH. Las sesiones de usuarios activas se pueden obtener ejecutando el comando who. Indicador absoluto de carga media de la CPU durante el último minuto, los últimos 5 minutos y los últimos 15 minutos. En función del número de núcleos del sistema operativo se deberán interpretar los valores de carga. Interpretar el estado de los procesos y tareas que se ejecutan en el sistema operativo En la segunda línea podremos ver estadísticas referentes a los procesos y tareas del sistema operativo. A continuación les dejo una muestra de las estadísticas mostradas:\nEl significado de los parámetros mostrados en la segunda línea es el siguiente:\nParámetro Explicación Tasks Número total de procesos que están cargados en memoria, estén o no ejecutándose. Running Número procesos que están en ejecución o en la cola de ejecución. En mi caso podemos ver que solamente tenemos una tarea en ejecución que es el monitor de recursos top. Sleeping Procesos que están detenidos a la espera que se produzca un evento que los active. Un ejemplo del evento que puede activar un proceso es la finalización de un proceso de lectura y escritura en disco. Sopped Muestra el número de tareas que se han detenido manualmente. Una tarea puede detenerse presionando Ctrl+Z o usando el comando kill -STOP. Zombie Detalla el número de procesos Zombie en nuestro sistema operativo. Un proceso Zombie es un proceso hijo que permanece en la tabla de procesos porque el proceso padre no ha sido capaz de leer la señal de finalización del proceso hijo. Estado y uso de la CPU en el monitor de recursos top En la tercera de las líneas encontramos información relativa el consumo de CPU por parte de las tareas. La información mostrada será la siguiente.\nEl significado de cada uno de los parámetros es el siguiente:\nParámetro Explicación us (usuario) % de CPU que están consumiendo los procesos que se ejecutan en el espacio de usuario. La gran mayoría de programas y aplicaciones que ejecutamos, servidores web, base de datos, etc correarán en el espacio de usuario. Sy (sistema) % de CPU consumida por los procesos que corren en el espacio del sistema o Kernel. En el espacio del kernel normalmente corren procesos para controlar el hardware de nuestro equipo, procesos para controlar la asignación de memoria, etc. ni (nice) Muestra el % de CPU consumida por procesos de baja prioridad. Id (idle o inactivo) Vemos el % de CPU que no está siendo utilizada. Wa (en espera) Detalla el porcentaje de tiempo que el procesador está esperando para que se completen tareas de lectura y escritura en disco, comunicación con otros dispositivos de la red, obtener información de una base de datos, etc. hi (hardware interrupt) % del tiempo que la CPU no está procesando debido a interrupciones de hardware. si (software interrupt) % del tiempo que la CPU no está procesando debido a interrupciones de software. Un ejemplo de una interrupción de software puede ser una lectura y/o escritura en disco. st (steal time): Únicamente será diferente a cero si estamos corriendo el sistema operativo sobre una máquina virtual. El valor st es el % de tiempo que la CPU virtual ha estado esperando la CPU real mientras el hipervisor da servicio a otro procesador virtual. Análisis del apartado consumo de memoria en el monitor de recursos top En la cuarta y quinta línea encontraremos información acerca del uso que nuestro sistema operativo hace de la memoria RAM y SWAP. La información que muestra es la siguiente:\nPara ver una explicación de los valores mostrados en este apartado pueden visitar el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/consumo-de-memoria-ram-en-linux/\nEntendiendo la área de tareas y procesos del monitor de recursos top Cada una de las columnas de la área de tareas muestra la siguiente información:\nEl significado de los parámetros de la captura de pantalla es el siguiente:\nParámetro Explicación PID Identificador del proceso. El identificador de proceso no es más que un número entero que identifica un proceso determinado. USER El nombre del usuario que ha iniciado el proceso. PR: Indica la prioridad que tiene un proceso o tarea. Normalmente la prioridad estándar de un proceso es 20 y para incrementarla o disminuirla usaremos la propiedad NI “Nice”. Cuando más bajo sea el número de prioridad, más alta será la prioridad. NI: Mediante el valor NI incrementamos o disminuimos la prioridad PR de un proceso. Si la PR estándar de un proceso es 20, pero asignamos un valor NI de -20, entonces la prioridad real del procesoo será 0. Un proceso con prioridad PR 0 tendrá mayor prioridad que un proceso con prioridad PR 20. VIRT: Consumo total de memoria por parte de un proceso incluyendo la memoria de intercambio SWAP, el código del programa, los datos que el proceso pueda almacenar en memoria, etc. RES: Consumo total de única y exclusivamente la memoria RAM de un proceso determinado. SHR: Cantidad de memoria Virtual que ocupa un proceso y podría ser compartida con otros procesos. S: Detalla el estado de cada una de las tareas o procesos. El significado de cada uno de los estados es el siguiente: R (Running): Proceso que está corriendo o está en la cola de ejecución S (Interruptible sleep): Procesos que están esperando a un evento para su ejecución. D (Uninterruptible sleep): Procesos esperando a que termine una operación I/O. Ejemplos de operaciones de I/O son lecturas y/o escrituras en disco, comunicación con otros dispositivos de la red, obtener información de una base de datos, etc. T (Stopped): Proceso que ha sido detenido mediante señales o comandos como por ejemplo kill o la combinación de teclas Ctrl+Z. Z (Zombie): Indica que es un proceso Zombie. %CPU: Capacidad de procesamiento que consume cada uno de los procesos o tareas. %MEM: % de memoria RAM que está consumiendo cada uno de los procesos o tareas. TIME+ Tiempo total de CPU que ha usado una tarea o proceso desde que se inicio. COMMAND Muestra el nombre del proceso o el comando usado para iniciar la tarea. COMO MONITOREAR LOS PROCESOS CON TOP Una vez tenemos clara toda la información proporcionada por TOP veremos como podemos empezar a sacarle partido.\nIniciar el monitor de recursos Top Para iniciar el monitor de recursos TOP tan solo tenemos que ejecutar el siguiente comando en la terminal:\ntop Una vez iniciado verán la totalidad de procesos y tareas del sistema operativo.\nSi observan detalladamente el monitor verán que los resultados se refrescan cada 3 segundos. En el caso que quieran cerrar el monitor de recursos deberán presionar la tecla q.\nConfigurar la tasa de refresco del monitor de recursos top El comando top se refresca dinámicamente cada 3 segundos. Si queremos modificar la frecuencia de actualización presionamos la tecla d mientras se esté ejecutando top.\nActo seguido indicamos la frecuencia de actualización en segundos y presionamos Enter. En mi caso quiero que los resultados de top se actualicen cada 10 segundos, por lo tanto escribo 10 y presiono Enter.\nPara abrir top con una frecuencia de refresco diferente a la estándar también podemos ejecutar el comando top -d seguido de la tasa de refresco en segundos. Por lo tanto para abrir top con una tasa de refresco de 10 segundos ejecutaremos el siguiente comando:\ntop -d 10 Hacer que top se refresque un número determinado de veces y se cierre Top se ejecuta de forma indefinida y de forma estándar refresca sus resultados cada 3 segundos.\nSi queremos que top se cierre después de refrescarse un número determinado de veces tan solo tenemos que ejecutar el comando top -n seguido del número de veces que queremos que se refresque.\nPor lo tanto si queremos que top se refresque únicamente 2 veces y se cierre ejecutaremos el siguiente comando:\ntop -n 2 Con el comando ejecutado, top tan solo estará abierto 3 segundos. Se abrirá mostrando los resultados, pasarán 3 segundos y se refrescarán los resultados. Justo después de refrescarse los resultados se cerrará.\nSi queremos que top se refresque 5 veces y que entre refresco y refresco pasen 10 segundos ejecutaremos el siguiente comando en la terminal:\ntop -n 5 -d 10 Mostrar los procesos ordenados por el consumo de memoria RAM Si queremos que TOP muestre los procesos ordenados de mayor a menor consumo presionaremos la tecla M mientras se esté ejecutando top.\nEn el caso que quisiéramos revertir el orden, y por lo tanto mostrar los procesos ordenados de menor a mayor consumo de memoria RAM, tendríamos que presionar la tecla R.\nMostrar los procesos ordenados por el uso de CPU Para mostrar los procesos ordenados por consumo de CPU tenemos que presionar la tecla P mientras se está ejecutando top. En mi caso el resultado obtenido es el siguiente:\nDel mismo modo que en el caso anterior podemos ordenarlos de menor a mayor uso presionando la tecla R.\nVer las tareas y/o procesos ordenados por tiempo de uso Para obtener una lista de tareas ordenadas por su tiempo de ejecución tenemos que presionar la tecla T mientras se está ejecutando el monitor de recursos top.\nOrdenar los procesos por su número de identificador Para ordenar los procesos por su número de identificador presionen la tecla N mientras se está ejecutando top.\nResaltar las columnas que tenemos ordenadas Acabamos de ordenar los datos mostrados en pantalla por consumo de CPU, consumo de memoria, por proceso y por tiempo de ejecución. Si queremos resaltar la columna que estamos ordenando realizaremos lo siguiente.\nInicialmente presionaremos la tecla x mientras se esté ejecutando top. De este modo, el texto de la columna ordenada se mostrará en negrita.\nActo seguido presionaremos la tecla b para que se resalte la columna que estamos ordenando. El resultado obtenido será parecido al siguiente:\nMatar una tarea con el monitor de recursos top Simplemente tenemos que presionar la tecla k cuando top se está ejecutando. Acto seguido se nos preguntará el número de proceso que queremos matar. Como en mi caso quiero eliminar conky tecleo el proceso 2398 y presiono Enter.\nActo seguido, si queremos matar el proceso sin forzarlo tan solo tenemos que presionar otra vez la tecla Enter. En el caso que quisiéramos forzar el cierre del proceso escribiríamos SIGKILL o el número 9 y presionaríamos la tecla Enter.\nReiniciar una tarea con el monitor de procesos top El proceso para reiniciar una tarea es similar al de matar una tarea, pero en vez de presionar la tecla k hay que presionar la tecla r.\nPor lo tanto, mientras se esté ejecutando top presionamos la tecla r. Acto seguido tecleamos el número de PID y presionamos Enter.\nJusto al presionar Enter volvemos a presionar la tecla Enter para confirmar el reinicio de la tarea.\nModificar la prioridad de un proceso Top permite modificar la prioridad de un proceso modificando la propiedad Nice (Ni)\nPara ello mientras se está ejecutando top presionamos la tecla r. A continuación escribimos el número de proceso al que queremos cambiar la prioridad y presionamos Enter. Como en mi caso quiero modificar la prioridad de la tarea top escribo el PID 4970 y presiono Enter.\nA continuación tenemos que introducir el valor Ni que incrementará o disminuirá la prioridad de la tarea top. Como en mi caso quiero disminuir la prioridad de la tarea escribiré el número 10 y presionaré Enter.\nTal y como pueden ver a continuación, en estos momentos la tarea top tiene una prioridad de 30 en vez de 20.\nUsar el monitor de recursos top en modo seguro Acabamos de ver que top sirve para tareas como por ejemplo matar o reiniciar procesos, modificar su intervalo de refresco, modificar la prioridad de un proceso, etc. Si queremos evitar que se realicen estas tareas de forma accidental podemos abrir top en modo seguro ejecutando el siguiente comando en la terminal:\ntop -s De este modo top evitará que se realicen modificaciones accidentales en nuestro equipo.\nMonitorear los procesos de un determinado usuario Para monitorear los procesos de un determinado usuario tan solo tenemos que presionar la tecla u mientras estamos ejecutando top. Acto seguido escribiremos el nombre del usuario en cuestión y presionaremos Enter.\nDespués de presionar Enter podremos monitorear los procesos sin ningún tipo de problema. Tal y como se puede ver en la captura de pantalla, en mi caso estoy monitoreando los procesos del usuario pi.\nPara abrir top de forma directa mostrando los procesos de un usuario tenemos que teclear top -u seguido del nombre de usuario. Por lo tanto para monitorear los procesos del usuario pi tan solo tenemos que ejecutar el siguiente comando en la terminal:\ntop -u pi Para obtener un listado con la totalidad de usuarios existentes pueden ejecutar el siguiente comando en la terminal:\ngetent passwd Monitorizar uno o varios procesos concretos Para monitorizar un proceso o una lista de procesos deberemos actuar de la siguiente forma.\nAveriguamos el identificador de proceso (PID) de la tarea que queremos monitorizar. Para ello ejecutamos el comando:\nps -aux En mi caso quiero monitorizar el proceso Cloudflare, Pi-hole y Openvpn Pivpn que tienen respectivamente los identificadores de proceso 1271, 1766 y 1140. Por lo tanto ejecutaré el comando top -p seguido de los números de procesos separados por una coma:\ntop -p 1271,1766,1140 El resultado obtenido será el siguiente:\nNota: Podemos introducir una lista de hasta 20 procesos. Seleccionar el número de procesos que se muestran en pantalla Al ejecutar el comando top aparecen la totalidad de procesos que están cargados en la memoria.\nSi queremos limitar el número de procesos que vemos en pantalla presionamos la tecla n mientras se está ejecutando el monitor de recursos. Acto seguido tecleamos el número de tareas que queremos que aparezcan en pantalla que en mi caso son 5.\nFinalmente presionamos Enter y tan solo veremos 5 procesos en pantalla.\nSacar instantáneas o snapshot de los procesos y tareas Las instantáneas o snapshot del monitor de procesos top pueden ser útiles para:\nEnviar información del monitor de recursos a un programa. Almacenar los datos obtenidos por top en un archivo. Para enviar los resultados mostrados por top en un archivo ejecutaremos un comando del siguiente tipo:\ntop -b -n 5 \u0026gt; archivo_top El significado de cada uno de los parámetros es:\n-b: Para indicar que queremos que tomar una o varias instantáneas. -n: Indicar que top se cierre después de que se haya refrescado un número determinado de veces. 5: Número de veces que se refrescará top antes de cerrarse. \u0026gt; archivo_top: Nombre del archivo en que se almacenaran los resultados de top. Una vez almacenados los datos los podemos consultar con el comando cat o con cualquier editor de archivos, como por ejemplo nano. En mi caso consultaré el archivo con nano ejecutando el siguiente comando en la terminal:\nnano archivo_top Los resultados obtenidos son los que se muestran a continuación:\nDe esta forma tan simple podemos crear un log en el que podamos analizar el funcionamiento de nuestro equipo o servidor.\nConfigurar los colores del monitor de procesos top Top muestra los resultados en blanco y negro. Si queremos que nos los muestre en color podemos presionar la tecla z mientras estamos ejecutando top. El resultado obtenido es el siguiente:\nNota: Al presionar z también se resaltan los procesos que están activos. Nota: Para resaltar los procesos activos cuando estamos en modo monocolor tenemos que presionar la tecla b. Si queremos modificar el esquema de colores podemos presionar la tecla Z mientras estamos ejecutando el monitor de recursos. Acto seguido nos aparecerá un menú de configuración en el que podremos cambiar los colores. Una vez cambiados los colores podemos obtener resultados similares a los siguientes:\nUsar filtros para seleccionar la información que monitorizamos Top permite aplicar filtros para que la monitorización de procesos y tareas sea más precisa y práctica.\nPara ello tan solo tenemos que presionar la tecla o mientras se está ejecutando top. A continuación se nos preguntará el filtro que queremos aplicar. En mi caso quiero que solo se muestren las tareas que tengan un consumo de CPU superior al 0,2%. Por lo tanto escribiré el siguiente filtro:\n%CPU\u0026gt;0.2 Nota: Para definir una filtro tan solo tenemos que teclear el nombre del campo seguido de un operador (\u0026lt;, \u0026gt;, =) y un valor numérico. Acto seguido presionaremos Enter y obtendremos el siguiente resultado:\nSi en vez de mostrar los procesos que tienen un consumo de CPU superior a 0,2% quisiéramos excluir la totalidad de procesos que tienen un consumo superior a 0,2% deberíamos haber aplicado el siguiente filtro:\n!%CPU\u0026gt;0.2 Otros ejemplos de filtro que podríamos haber aplicado son:\nFiltro Acción !%PR=20 Excluir la totalidad de procesos que tienen prioridad igual a 20 %COMMAND=chrome Monitorizar la totalidad de procesos de Chrome !%COMMAND=chrome Excluir la totalidad de procesos de Chrome !%MEM=5 Excluir la totalidad de procesos con un consumo de RAM inferior al 5% \u0026hellip; Una vez aplicado un filtro podemos aplicar otro filtro. Para ello, una vez hayamos aplicado el primer filtro volvemos a presionar la tecla o. Acto seguido introducimos el segundo filtro que en mi caso será el siguiente:\nUSER=pi Finalmente presionaremos Enter. En estos momentos el monitor únicamente mostrará los procesos del usuario pi que consuman más de un 0,2% de CPU.\nPara ver los filtro activos presionamos la combinación de teclas Ctrl + o.\nPara eliminar los filtros activos de la ventana que tenemos abierta presionamos la tecla =.\nMostrar el comando usado para iniciar una determinada tarea El campo COMMAND muestra un nombre asociado a una tarea/proceso determinada/o. Si en vez de mostrarse el nombre queremos que se muestre el comando usado para iniciar la tarea tendremos que apretar la tecla c mientras se está ejecutando top.\nOtra solución alternativa seria iniciar Top mediante el siguiente comando:\ntop -c Ver la versión de Top que tenemos instalada Para ver la versión de Top que tenemos instalada tan solo tenemos que ejecutar el siguiente comando en la terminal:\ntop -v ATAJOS DE TECLADO ÚTILES PARA USAR EL MONITOR DE RECURSOS TOP Los atajos de teclado indispensables para trabajar con el monitor de recursos top son las que se muestran a continuación:\nOperación Combinación de teclas o comando a usar Ordenar los procesos por consumo de CPU Mayus + p Ordenar los procesos por consumo de memoria Mayus + m Ordenar los procesos por tiempo de uso Mayus + t Ordenador los procesos por número de identificador PID Mayus + n Resaltar las columnas que estamos ordenando x + b Revertir/Invertir el orden de los procesos que aparecen en pantalla R Resaltar proceso activo b Mostrar la carga por separada de cada uno de los núcleos de la CPU 1 Modificar la tasa de refresco d + número de segundos Mostrar los proceso de un usuario determinado Mayus + u + usuario Seleccionar los procesos que queremos monitorizar -p PID_1,PID_2,PID_3 Matar una tarea k + PID de la tarea Reiniciar una tarea r + PID de la tarea Modificar la prioridad de un proceso o tarea r + PID + valor_Ni Aplicar un filtro o + filtro que queremos aplicar Mostrar los filtros aplicados Ctrl + o Borrar los filtros aplicados = Avanzar en la lista de procesos que se muestran en pantalla Avpág o cursor abajo Retroceder en la lista de procesos que se muestran en pantalla RePág o cursor arriba Mostrar la ayuda h Para indicar el número de procesos que se muestran en pantalla n + número de procesos a visualizar en pantalla Cambiar de blanco y negro a color y resaltar los procesos activos z Configurar la paleta de colores Z Mostrar el comando usado para iniciar una tarea c Detener el monitor de recursos Ctrl + Z Salir y parar el monitor de recursos q Para finalizar solo remarcar que esté articulo solo muestra parte de las funcionalidades de top. Si quieren indagar y ver opciones adicionales abran una terminal y consulten las páginas man de top.\n","permalink":"https://geeklandlinux.github.io/posts/usar-entender-monitor-de-recursos-top/","summary":"\u003cp\u003eEn el siguiente artículo veremos como monitorear procesos y tareas en Linux mediante el uso del monitor de procesos o el monitor de recursos top. De esta forma podremos monitorizar y analizar el rendimiento de nuestro servidor u ordenador de forma fácil, rápida y eficaz.\u003c/p\u003e","title":"Como usar, entender y sacar provecho al monitor de recursos top"},{"content":"El sistema de resolución de peticiones DNS es un sistema que se desarrolló hace muchos años. La consecuencia directa de lo que acabo de citar es que el sistema actual es obsoleto y presenta carencias en el campo de la seguridad y privacidad. Por esto motivo Cloudflare, Mozilla y Chrome están trabajando en soluciones para que permitan usar un nuevo protocolo de resoluciones DNS llamado DNS over HTTPS.\n¿QUÉ ES DNS OVER HTTPS (DoH)? DNS over HTTPS, abreviado como DoH, es un nuevo protocolo propuesto por la IETF en Octubre de 2018. DNS over https no es más que el DNS de toda la vida, pero con la diferencia que la totalidad de tráfico para resolver la peticiones DNS se hará usando los protocolo https y http/2. Por lo tanto las peticiones DNS estarán cifradas y se realizarán por el puerto 443 en vez del puerto 53.\nPor lo tanto, DNS over HTTPS traducirá las direcciones URL convencionales a sus correspondientes direcciones IP, pero con la particularidad que todo el tráfico entre el cliente DNS y el servidor DNS estará completamente cifrado. Por lo tanto, DoH no cifra el tráfico de extremo a extremo, pero si cifra el tráfico DNS.\nVENTAJAS PROPORCIONADAS POR DNS OVER HTTPS Considerando que el tráfico para resolver las peticiones DNS estará cifrado dispondremos de los siguientes beneficios:\nDe cara a los usuarios, la ventaja más importante es que la resolución de las peticiones DNS será más rápida. La latencia será menor y las webs que visitaremos cargarán más rápido. Nadie, a excepción de la empresa que nos proporciona la resolución de peticiones DNS, podrá conocer las webs que visitamos. Por lo tanto, nuestro operador ISP no podrá bloquearnos el acceso a determinadas web mediante los DNS. Incremento de la seguridad y privacidad ya que de este modo se podrán evitar ataques Man in the Middle. Por lo tanto podremos evitar ataques de DNS spoofing, DNS hijacking, etc. El protocolo DNS over HTTPS usa el protocolo https y http/2. Por lo tanto se beneficiará automáticamente de todas las mejoras que se realicen en los protocolo https y https/2. A pesar de todas las ventajas citadas, se trata de un protocolo experimental y que aún está en desarrollo. Por lo tanto, pueden darse los siguientes problemas:\nSi tenemos sistemas de control parental o de filtrado de contenido, como por ejemplo pfSense, dejarán de funcionar. No podrán funcionar porque no serán capaces de ver las peticiones DNS. Esto es un problema para las empresas o gobiernos que monitorear/filtrar donde se conectan sus trabajadores o ciudadanos. Problemas de interoperabilidad en las redes 5G En teoría la velocidad de resolución ofrecida por DNS sobre HTTPS debería ser mayor que la tecnología que usamos actualmente. No obstante, pueden darse casos en que la resolución de peticiones DNS sea lenta. Dificultades a la hora implementar un sistema de DNS divido (Split DNS). Etc. CONFIGURAR PI-HOLE PARA USAR DNS OVER HTTPS EN UNA RASPBERRY PI Ninguno de los sistemas operativos actuales soporta DNS sobre HTTPS de forma nativa. Por lo tanto, si queremos usar este sistema de resolución de peticiones DNS deberemos instalar software adicional o usar un navegador que traiga implementado este protocolo.\nSi usamos un navegador, como por ejemplo Firefox o Chrome, únicamente tendremos DNS over HTTPS en el navegador. Si queremos disponer de DNS sobre HTTPS en la totalidad de nuestras peticiones, recomiendo instalar el cliente DNS de Cloudflare en una Raspberry Pi. De este modo la Raspberry Pi actuará como cliente DNS de la totalidad de equipos que configuremos en nuestra red local. Para conseguir lo que acabo de citar deberemos proceder el siguiente modo.\nInstalar Pi-hole en la Raspberry Pi Obviamente tendremos que tener instalado Pi-hole en nuestra Raspberry Pi. En el caso que no lo tengan instalado pueden seguir las instrucciones que encontrarán en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-configurar-pi-hole-raspberry-pi/\nInstalar el demonio Cloudflared en la Raspberry Pi Cloudflare dispone de un cliente que será el encargado de resolver la totalidad de peticiones DNS sobre HTTPS. El cliente está disponible para Windows, MacOS y Linux. En nuestro caso lo instalaremos en una Raspberry Pi del siguiente modo.\nInicialmente descargaremos el cliente ejecutando el siguiente comando en la terminal:\nwget https://bin.equinox.io/c/VdrWdbjqyF/cloudflared-stable-linux-arm.tgz Acto seguido descomprimiremos el archivo ejecutando el siguiente comando:\ntar -xvzf cloudflared-stable-linux-arm.tgz A continuación, copiaremos el archivo binario cloudflared en la ubicación /usr/local/bin ejecutando el siguiente comando en la terminal:\nsudo cp ./cloudflared /usr/local/bin El siguiente paso consistirá en dar permisos de ejecución al archivo binario que acabamos de copiar. Para ello usaremos el siguiente comando:\nsudo chmod +x /usr/local/bin/cloudflared En estos momentos cloudflare ya está instalado. Para comprobar la versión que estamos usando podemos ejecutar el siguiente comando en la terminal:\ncloudflared -v En mi caso el resultado obtenido ha sido el siguiente:\ncloudflared version 2019.9.2 (built 2019-09-26-1916 UTC) Crear un usuario para Cloudflared Crearemos un usuario con nombre cloudflared. El usuario no tendrá partición home ni tendrá acceso a la Shell de Linux. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo useradd -s /usr/sbin/nologin -r -M cloudflared Configurar el demonio Cloudflared DNS El siguiente paso consistirá en generar el archivo de configuración de Cloudflared. Para ello ejecutamos el siguiente comando en la terminal:\nsudo nano /etc/default/cloudflared Una vez se abra el editor de textos nano pegaremos el siguiente código:\n# Commandline args for cloudflared CLOUDFLARED_OPTS=--port 5053 --upstream https://1.1.1.1/dns-query --upstream https://1.0.0.1/dns-query Seguidamente tendremos que guardar los cambios realizados y cerrar el fichero. En el fichero de configuración hemos definido que tendremos un proxy local escuchando en el puerto 5053. Todas las peticiones DNS se dirigirán al puerto 5053 y serán resueltas por los servidores DNS de Cloudflare mediante protocolo DNS over HTTPS.\nFinalmente cambiaremos de grupo y usuario el archivo binario y al archivo de configuración de Cloudflared. Para ello ejecutaremos los siguientes comandos en la terminal:\nsudo chown cloudflared:cloudflared /etc/default/cloudflared sudo chown cloudflared:cloudflared /usr/local/bin/cloudflared Crear un servicio de Systemd para Cloudflare Para gestionar el de servicio Cloudflare deberemos crear un servicio de systemd. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo nano /lib/systemd/system/cloudflared.service Cuando se abra el editor de textos nano pegaremos el siguiente código:\n[Unit] Description=cloudflared DNS over HTTPS proxy After=syslog.target network-online.target [Service] Type=simple User=cloudflared EnvironmentFile=/etc/default/cloudflared ExecStart=/usr/local/bin/cloudflared proxy-dns $CLOUDFLARED_OPTS Restart=on-failure RestartSec=10 KillMode=process [Install] WantedBy=multi-user.target A continuación guardaremos los cambios y cerraremos el fichero. Seguidamente ejecutaremos el siguiente comando para que Cloudflare se inicie de forma automática cada vez reiniciemos la Raspberry Pi.\nsudo systemctl enable cloudflared Finalmente arrancaremos el servicio ejecutando el siguiente comando en la terminal:\nsudo systemctl start cloudflared Si precisan comprobar que el servicio se haya levantado de forma correcta puede ejecutar el siguiente comando:\nsudo systemctl status cloudflared Verificar que Cloudflare está funcionando correctamente Para comprobar que Cloudflare funciona de forma adecuada ejecutaremos el siguiente comando en la terminal:\ndig @127.0.0.1 -p 5053 google.com Si obtenéis un resultado parecido al siguiente podéis estar seguros que todo lo realizado hasta el momento funciona correctamente.\nModificar la configuración de Pi-Hole para que pueda usar DNS over HTTPS Para que Pi-hole pueda utilizar el cliente DNS over HTTPS de Cloudflare deberemos realizar lo siguiente:\nAccedemos al panel de administración de Pi-hole. Clicamos en la Opción Settings. A continuación clicamos en la pestaña DNS. Destildamos absolutamente todos los DNS que tengamos activados. Tildamos el campo Custom 1 (IPv4) y en el mismo campo pegamos 127.0.0.1#5053 Finalmente presionamos en el botón SAVE para que se hagan efectivos los cambios.\nCONCLUSIONES Y FUNCIONAMIENTO En mi caso el funcionamiento de DNS over HTTPS es satisfactorio. No observo que la resolución de peticiones DNS sea más rápida, pero tampoco veo que sea más lenta y además supone una mejora importante en términos de seguridad ya que la totalidad de peticiones DNS están cifradas.\nPor lo tanto nadie, excepto Cloudflare, tendrá acceso a mi historial de navegación. Por este motivo, si no confían en Cloudflare les recomiendo que no apliquen la solución que se muestra en este artículo.\nCloudflare promete que no guardará ningún historial durante más de 24 horas y que no asociará la dirección IP a un origen. A pesar de esto todo el mundo sabe que de lo que se dice a lo que se hace puede existir una gran diferencia.\nDNS over HTTPS es una mejora importante en términos de privacidad ya que los gobiernos y/o ISP no podrán aplicar restricciones ni filtrar el contenido que visitan los ciudadanos. Por este motivo algunos gobiernos, como el británico, están haciendo todo lo posible para que no se adopte este protocolo.\n","permalink":"https://geeklandlinux.github.io/posts/dns-over-https-doh-pi-hole/","summary":"\u003cp\u003eEl sistema de resolución de peticiones DNS es un sistema que se desarrolló hace muchos años. La consecuencia directa de lo que acabo de citar es que el sistema actual es obsoleto y presenta carencias en el campo de la seguridad y privacidad. Por esto motivo Cloudflare, Mozilla y Chrome están trabajando en soluciones para que permitan usar un nuevo protocolo de resoluciones DNS llamado DNS over HTTPS.\u003c/p\u003e","title":"Configurar Pi-Hole para usar DNS over HTTPS \"DoH\" en una Raspberry Pi"},{"content":"Si somos personas poco organizadas, tarde o temprano acabaremos generando archivos duplicados en nuestro ordenador. Para solucionar este problema, a continuación detallaremos como buscar i eliminar archivos duplicados en Windows con el software Duplicate file remover.\nSITUACIONES EN LAS QUE SE PUEDEN DUPLICAR ARCHIVOS EN NUESTRO EQUIPO Normalmente se generan archivos duplicados en las siguientes situaciones:\nCuando hacemos copias de seguridad antes de una modificación, pero una vez realizada la modificación nos olvidamos de borrar la copia de seguridad realizada. Con fotos que antes de editarlas y/o clasificarlas hacemos una copia de seguridad. Una día determinado descargamos vídeos o fotos y las almacenamos. Dentro de unos meses puede que no nos acordemos y volvamos a descargar y almacenar el mismo contenido. Miembros de una familia que usan el mismo ordenador puedan acabar descargando y almacenando el mismo contenido como por ejemplo fotos familiares, música, vídeos, etc. Nuestro sistema operativo puede estar creando archivos duplicados sin que nosotros lo sepamos. Etc. CONSECUENCIAS QUE SE DUPLIQUEN ARCHIVOS EN NUESTRO ORDENADOR Obviamente las consecuencias inmediatas de lo que acabo de mencionar son:\nPérdida de espacio de almacenamiento. Si nuestro dispositivo de almacenamiento está al límite de su capacidad, nuestro ordenador funcionará más lento y pueden producirse cierres inesperados. Nuestro equipo acaba siendo un caos de archivos con multitud de imágenes, audios, vídeos, etc. Acabamos sin saber cual es la última versión de un determinado archivo. BENEFICIOS DE ELIMINAR ARCHIVOS DUPLICADOS DEL SISTEMA OPERATIVO Por lo tanto es útil realizar una limpieza periódica de archivos duplicados en nuestro equipo. El proceso de eliminar archivos duplicados nos ayudará a:\nRecuperar espacio en nuestro dispositivo de almacenamiento. Encontrar la información que estamos buscando de forma eficaz y eficiente. Optimizar el rendimiento de nuestro ordenador. ELIMINAR ARCHIVOS DUPLICADOS DE NUESTRO SISTEMA OPERATIVO En mi caso he eliminado los archivos duplicados de un Windows 10 que hace años que tengo instalado. El proceso seguido es el que detallo a continuación.\nUna vez hayamos instalado el programa para eliminar archivos duplicados tan solo tenemos abrirlo. Una vez abierto tendremos que seleccionar el medio o carpeta en que queremos hallar y eliminar los archivos duplicados. Como en mi caso quiero analizar los archivos en la totalidad de mi disco duro clico sobre la opción Scan Drive.\nActo seguido selecciono las particiones del disco duro en que quiero analizar los archivos duplicados. En mi caso he seleccionado la C: y la D: y seguidamente he presionado el botón Start Scan.\nA continuación se iniciará el proceso de escaneo. El tiempo de escaneo dependerá de muchos factores como por ejemplo la velocidad de lectura de su disco, el tamaño de su disco duro, etc.\nUna vez finalizado el proceso de escaneo vemos que en mi caso se han hallado 444 archivos multimedia duplicados, 80 documentos y otros 5 tipos de archivo. Para eliminar estos archivos tenemos que clicar encima del botón Review.\nFinalmente podremos iniciar el proceso de eliminación de archivos duplicados. Para ello, tal y como se puede ver en la captura de pantalla, tendremos que ir inspeccionando cada uno de los set de archivos duplicados encontrados. Una vez dentro de un set deberemos seleccionar los archivos duplicados que queremos eliminar y dejar sin tildar el que queremos conservar. Una vez realizada la selección en la totalidad de sets tan solo tenemos que presionar encima del botón Delete.\nActo seguido se procederá a la eliminación de los archivos duplicados.\nANÁLISIS DEL RENDIMIENTO DE DUPLICATE REMOVER Los puntos a destacar son los siguientes:\nEl programa funciona a la perfección. Permite detectar y borrar archivos duplicados de forma efectiva. Su interfaz es minimista. Esto hace que su uso sea realmente intuitivo y simple. Permite seleccionar donde queremos realizar el análisis de archivos duplicados. Podemos seleccionar un disco duro, una partición de un disco duro o una determinada carpeta. El software permite previsualizar y abrir los ficheros duplicados antes de eliminarlos. El software trae mecanismos para evitar que borremos información de forma accidental. Si tenemos un set de 2 archivos duplicados el programa solo nos dejará borrar unos de los 2 archivos. El proceso de escaneo de archivos duplicados es rápido. Puntos de mejora del programa No obstante el programa es excesivamente lento a la hora de seleccionar y borrar los archivos duplicados. El programa debería mejorar en los siguientes aspectos:\nEl programa debería permitir ponerse a pantalla completa. De esta forma podríamos seleccionar los archivos a borrar de forma más sencilla. Tener la capacidad de seleccionar un archivo, presionar el botón derecho del ratón y que el menú contextual nos ofreciera la posibilidad que nuestro gestor de archivos se abriera en la ubicación que está el archivo que seleccionamos. Filtros más avanzados para priorizar el contenido duplicado que queremos borrar. Por ejemplo, el programa no permite filtrar el contenido duplicado por tamaño de archivo. Permitir el uso del teclado para usar el programa. De esta forma podríamos operar de forma más rápida. La previsualización de las imágenes debería ser más rápida. El proceso para previsualizar un set de 2 imágenes duplicadas es lento y acaba desesperando si no tenemos paciencia. Debería permitir guardar un registro en forma de texto de los resultados obtenidos en el escaneo. De esta forma podríamos cerrar el programa y borrar los archivos manualmente en el momento que nosotros quisiéramos. También seria positivo disponer de una aplicación portable y que el programa estuviera en más idiomas. Actualmente el programa solo está en inglés.\nConclusión final del programa para eliminar archivos duplicados El software funciona de forma correcta, pero tratándose de un software de pago debe mejorar en todos y cada uno de los apartados que he mencionado. El proceso de eliminación de archivos no es lo cómodo que debería ser y debería incluir funcionalidades adicionales.\n","permalink":"https://geeklandlinux.github.io/posts/eliminar-archivos-duplicados-duplicate-file-remover/","summary":"\u003cp\u003eSi somos personas poco organizadas, tarde o temprano acabaremos generando archivos duplicados en nuestro ordenador. Para solucionar este problema, a continuación detallaremos como buscar i eliminar archivos duplicados en Windows con el software \u003ca href=\"https://www.remosoftware.com/remo-duplicate-file-remover\"\u003eDuplicate file remover.\u003c/a\u003e\u003c/p\u003e","title":"Buscar y eliminar archivos duplicados con Duplicate file remover"},{"content":"Muchos usuarios noveles de GNU-Linux copian y pegan comandos en la terminal sin saber o analizar lo que hacen. Esto es un peligro ya que alguien con malas intenciones puede dejar un comando que al ejecutarlo destruya el sistema operativo. Por este motivo, la terminal de XFCE incluye un aviso de pegado inseguro a partir de la versión 0.8.8. Por lo tanto, cada vez que peguemos un comando que se considere peligroso recibiremos una advertencia del siguiente tipo:\nUna vez estemos seguros que el comando se puede ejecutar tan solo tendremos que clicar sobre el botón Pegar. Sin duda se trata de un buen mecanismo de seguridad, pero en el caso que consideren las advertencias molestas e inútiles las pueden desactivar de la siguiente forma.\nDESACTIVAR EL AVISO DE PEGADO INSEGURO EN LA TERMINAL DE XFCE El proceso es sumamente sencillo. Tan solo tenemos que abrir una terminal. A continuación clicamos sobre el menú Editar y cuando se despliegue el submenú clicamos sobre la opción Preferencias\u0026hellip;\nActo seguido, en la pestaña General desmarcamos la opción Mostrar diálogo de pegar inseguro y presionamos el botón Cerrar.\nA partir de esto momentos ya no aparecerán la advertencia de pegado inseguro.\n¿POR QUÉ DESACTIVO EL AVISO EN MI CASO? El aviso de pegado inseguro es una buena idea para usuarios noveles e inexpertos. No obstante es algo frustrante para usuarios que llevan años usando Linux. Por esto motivo en mi caso he decido prescindir de esta opción.\nAdemás si un usuario novel o medio no sabe lo que hace un comando y lo quiere ejecutar, lo acabará ejecutando sepa o no sepa lo que hace.\nPor lo tanto dudo que este mecanismo ayude a prevenir la ejecución de comandos maliciosos, pero si ayuda a informar y a educar a los usuarios inexpertos. Para finalizar recordar que antes de ejecutar un comando en la terminal es bueno saber lo que realiza exactamente.\n","permalink":"https://geeklandlinux.github.io/posts/desactivar-aviso-pegado-inseguro-en-la-terminal-xfce/","summary":"\u003cp\u003eMuchos usuarios noveles de GNU-Linux copian y pegan comandos en la terminal sin saber o analizar lo que hacen. Esto es un peligro ya que alguien con malas intenciones puede dejar un comando que al ejecutarlo destruya el sistema operativo. Por este motivo, la terminal de XFCE incluye un aviso de pegado inseguro a partir de la \u003ca href=\"https://github.com/xfce-mirror/xfce4-terminal/blob/master/NEWS\"\u003eversión 0.8.8\u003c/a\u003e. Por lo tanto, cada vez que peguemos un comando que se considere peligroso recibiremos una advertencia del siguiente tipo:\u003c/p\u003e","title":"Desactivar el aviso de pegado inseguro en la terminal de XFCE"},{"content":"A continuación analizaremos y detallaremos como pueden instalar y usar el complemento o extensión VPN de RusVPN en su navegador. Esta extensión VPN nos permitirá usar un servicio VPN en nuestro navegador de forma extremadamente sencilla.\n¿PARA QUÉ PODEMOS USAR UN SERVICIO VPN A TRAVÉS DE UNA EXTENSIÓN O COMPLEMENTO DEL NAVEGADOR? Las extensiones VPN que se instalan en el navegador tienen ventajas e inconvenientes respecto los servicios VPN tradicionales. Algunas de las ventajas y usos de los servicios VPN a través de una extensión en el navegador son las siguientes:\nPodremos acceder a servicios restringidos geográficamente con mayor facilidad. Algunos ejemplos que se me ocurren son acceder a la web de rojadirecta y arenavisión, al servicio de radio online de Pandora, etc. El extensión VPN solo resolverá las peticiones que se envíen a través del navegador web en que tenemos instalada la extensión. Esto implica que podremos controlar el tráfico y peticiones que enviamos al servicio VPN. Por lo tanto podemos abrir un navegador para navegar de forma tradicional y otro para navegar a través del servicio VPN. Funcionan sin ningún problema en todos los sistemas operativos. Existen ocasiones en que los servicios VPN tradicionales no disponen de un cliente para conectarse desde sistemas operativos poco usados como por ejemplo Linux. El principal inconveniente de este tipo de extensiones es que su grado de anonimato y privacidad es menor que en los VPN tradicionales. Por lo tanto, si tienen que realizar tareas sensibles no les recomiendo usar este tipo de soluciones.\nINSTALAR LA EXTENSIÓN VPN DE RUSVPN Para instalar la extensión de RusVPN cliquen en el siguiente enlace para acceder a la Chrome Store de Google:\nhttps://chrome.google.com/webstore/detail/rusvpn-free-vpn-service/hipncndjamdcmphkgngojegjblibadbe\nUna vez dentro de la URL cliquen en el botón Añadir a Chrome.\nActo seguido aparecerá una ventana emergente en la que deberemos clicar sobre el botón Añadir Extensión.\nUna vez hayamos clicado tan solo tenemos que esperar unos segundos para que finalice la instalación.\nCONFIGURAR Y USAR LA EXTENSIÓN VPN DE RUSVPN Una vez finalizada la instalación podemos empezar el proceso para conectarnos al servicio VPN. Para ello clicaremos encima del icono de RusVPN que aparece en el panel de Chrome. Acto seguido clicaremos sobre el botón Select Country.\nA continuación tendremos que seleccionar el país al que queremos conectarnos. Con la opción gratuita de RusVPN podemos seleccionar Chequia, Francia, Reino Unido, Canadá y Holanda. En mi caso clico sobre la opción de Holanda.\nNota: Cuando más cerca esté el servidor VPN, mayor será la velocidad obtenida. No obstante, cuanto más cerca el grado de anonimato y privacidad será menor. Nota: Si quieren disponer de más países deberán adquirir una cuenta Premium de RusVPN. Mediante una cuenta premium también podrán usar el servicio en Android, iOS, Windows, MacOS e incluso Linux. Una vez seleccionado el país se iniciará el proceso de conexión al servidor. En caso que no se realice la conexión cliquen de nuevo sobre el interruptor de conexión de RusVPN.\nSi todo funciona de forma adecuada, en cuestión de segundos estaremos conectados al servidor VPN.\nUna vez conectados al servidor pasaremos a analizar su rendimiento.\nANÁLISIS DE RENDIMIENTO OFRECIDO POR LA EXTENSIÓN VPN DE RUSPVN Para analizar el rendimiento y prestaciones del servicio VPN analizaremos 4 aspectos:\nLa velocidad de conexión. Las fugas de direcciones IP. Las fugas de peticiones DNS. El cifrado ofrecido por el servicio VPN. Velocidad de la conexión En mi caso la velocidad y fluidez que obtengo al navegar es buena. La sensación que tengo es la de no estar conectado a un servicio VPN. Para corroborar esta sensación he realizado 2 test de velocidad obteniendo los siguientes resultados:\nLa velocidad de descarga es 2,2 veces más lenta cuando usamos el servicio VPN. A pesar de esto llegamos a alcanzar velocidades de descarga de 2,6 megas por segundo. Está velocidad es más que aceptable para un servicio VPN gratuito. La velocidad de carga se reduce 2,3 veces cuando usamos RusVPN. No obstante, al igual que en el caso anterior obtenemos la no despreciable velocidad de 2,9 Megas por segundo. Finalmente el ping es 2,3 veces más alto. No obstante un ping de 72ms con una conexión Wifi no está para nada mal. Por lo tanto el rendimiento ofrecido por este VPN gratuito es más que aceptable y nos permitirá visualizar todo tipo de contenido en streaming sin ningún tipo de problema.\n¿Existen fugas en las peticiones DNS? Ahora analizaremos el grado de privacidad y anonimato evaluando si existen fugas de direcciones IP y fugas de peticiones DNS. Para ello he usado el servicio web de DNS leaks. Justo al entrar en la web muestra que estoy conectándome desde Holanda cuando realmente estoy en España. Por lo tanto a priori no hay fugas de direcciones de IP. Para analizar si existen fugas en las peticiones DNS clicaremos encima del botón Extented test.\nDespués de esperar aproximadamente un minuto veremos que en mi caso aparecen la direcciones IP de los servidores DNS de Google. Los servidores DNS de Google son los que tengo configurado en mi equipo, por lo tanto el servidor VPN tiene fugas DNS.\nNota: Idealmente, todas las peticiones DNS deberían ser resueltas por los DNS que tiene el servicio VPN. Como las peticiones DNS pueden ser resueltas a través de los servidores DNS de Google, Google podrá recopilar información sobre las webs que visito y mis hábitos de navegación.\nFrente a esta situación podemos optar por cifrar la totalidad de peticiones DNS que realizamos.\n¿Existen fugas de IP por parte del estándar WebRTC? El estándar WebRTC (Web Real-Time Communication) puede revelar nuestra IP a los webmasters de las webs que visitamos o a un atacante. Para analizar si RusVPN nos protege contra este riesgo hemos usado el servicio de BrowserLeaks.\nSi observamos la captura de pantalla veremos una bandera Española y nuestra IP. Esto significa que a pesar de estar conectados el servicio VPN, nuestro navegador puede revelar nuestra IP real a los webmasters de las web que visitamos. Por lo tanto RusVPN tiene fugas debido a WebRTC.\nFrente a este problema podemos optar por deshabilitar WebRTC en nuestro navegador. No obstante, si desactivan WebRTC tienen que ser conscientes que algunas aplicaciones y/o servicios web, como por ejemplo WhatsApp Web, dejarán de funcionar.\nCifrado proporcionado por la extensión VPN Toda la información entre nuestro ordenador y el servidor VPN estará cifrada mediante el protocolo TLS 1.2. Lo que acabo de mencionar se puede observar en la siguiente captura de pantalla:\nNota: Los datos de la captura de pantalla se han obtenido capturando los paquetes con Wireshark en el momento de acceder a una página web que aún usa el protocolo http. Además, si analizamos el contenido de los paquetes capturados veremos que es totalmente ilegible:\nPor lo tanto, mediante un análisis muy preliminar podemos concluir que a priori RusVPN cifra la totalidad del tráfico de nuestras peticiones web.\nOtros puntos a tener en cuenta (fugas de IPv6) En el caso que vuestro ISP soporte el protocolo IPv6 tendréis que comprobar que las peticiones IPv6 se dirijan a través del túnel VPN.\nMi ISP o proveedor de internet no soporta IPv6. Además tengo IPv6 deshabilitado en mi sistema operativo. Por lo tanto no puedo sacar ninguna conclusión sobre este punto. Si vuestro caso es contrario al mio pueden visitar el siguiente servicio Web para analizar de forma clara y sencilla su existen fugas cuando se realizan peticiones mediante el protocolo IPv6.\nhttps://www.astrill.com/ipv6-leak-test\nCONCLUSIONES FINALES DE LAS EXTENSIÓN VPN DE RUSVPN La extensión VPN analizada funciona de forma correcta:\nSu funcionamiento es fluido y ofrece una velocidad de carga y descarga aceptables. La conexión es estable. Durante el tiempo que la he usado no he tenido ningún tipo de corte. Aparentemente la totalidad de las peticiones realizadas en el servidor web están cifradas mediante el protocolo TLS 1.2. No obstante, como muchos de los servicios VPN que funcionan a través de extensiones o complementos en el navegador web, presenta fugas DNS y WebRTC.\nPor lo tanto, usar al extensión web de RusVPN es una buena opción siempre y cuando no estemos realizando tareas extremadamente sensibles o confidenciales.\n","permalink":"https://geeklandlinux.github.io/posts/analisis-extension-vpn-rusvpn/","summary":"\u003cp\u003eA continuación analizaremos y detallaremos como pueden instalar y usar el complemento o extensión VPN de \u003ca href=\"https://rusvpn.com/es/\" title=\"Web de RusVPN\"\u003eRusVPN\u003c/a\u003e en su navegador. Esta extensión VPN nos permitirá usar un \u003ca href=\"/posts/conectarse-a-un-servidor-vpn-gratis/\"\u003eservicio VPN\u003c/a\u003e en nuestro navegador de forma extremadamente sencilla.\u003c/p\u003e","title":"Análisis del complemento o extensión VPN de RusVPN"},{"content":"En el siguiente artículo veremos nociones generales sobre los logs en Linux. En las explicaciones del artículo únicamente considero el sistema de logs proporcionado por rsyslog. Journald/Systemd será abordado en futuros artículos.\n¿QUÉ SON LOS LOGS DE UN SISTEMA OPERATIVO GNU LINUX? Los logs o registros del sistema son ficheros de texto que registran cronológicamente la totalidad de actividades e incidencias importantes que ocurren en el sistema operativo o red.\nTienen que ser conscientes que Linux registra absolutamente todo lo que pasa en el sistema operativo mediante los logs. Este es uno de los motivos por los que Linux es un sistema operativo excelente.\n¿QUÉ REGISTRAN LOS LOGS DE UN SISTEMA OPERATIVO GNU LINUX? Algunos ejemplos de la información que contienen los logs en Linux son los siguientes:\nLos paquetes que se instalan y desinstalan en el sistema operativo. Información sobre los accesos remotos a nuestro equipo. Los intentos fallidos de autenticación de los usuarios al equipo. Registro de errores que se dan en los programas o servicios que usamos. Los accesos o salidas bloqueadas por nuestro firewall. Etc. Como acaban de ver, los logs en Linux son una fuente básica para saber que está pasando en nuestro equipo. Por lo tanto, todo administrador de sistemas debería saber como consultar los logs para de este modo:\nDetectar la causas de los problemas que puede tener un equipo o servidor. Registrar y detectar ataques informáticos por parte de un hacker. Detectar comportamientos anómalos de programas o servicios que tenemos instalados en nuestro equipo. Ver el rendimiento de un ordenador o servidor. Averiguar que ocurrió en una determinada actualización de un equipo. Etc. Nota: En apartados posteriores verán otros ejemplos de usos e información que contienen los logs en Linux. ¿CÓMO SE CLASIFICAN LOS LOGS DE LINUX Y DÓNDE SE ENCUENTRAN? Simplificando al máximo los logs en Linux se pueden clasificar del siguiente modo:\nLogs de sistema: Generalmente generados por el demonio Rsyslogd. Registran información relacionada con el funcionamiento del sistema operativo. Algunos ejemplos de logs de sistema son los que registran información sobre los servicios, los que registran los accesos al equipo, los mensajes del sistema, etc. Logs de programas: Son aquellos que registran cronológicamente los eventos más importantes mientras estamos usando una aplicación o programa. En este caso, los logs pueden ser generados por la propia aplicación o por Rsyslogd. Prácticamente la totalidad de logs se almacenan en las siguientes ubicaciones:\nEn el directorio /var/log. En los subdirectorios de /var/log. No obstante, es posible encontrar programas que guarden los logs en otras ubicaciones del sistema operativo.\n¿Qué contienen los logs de sistema y como podemos consultarlos? A continuación les dejaré una tabla en la que mostraremos la siguiente información:\nLos logs de sistema más importantes. La información que almacenan cada uno de los logs de sistema y para que puede sernos útil. Los comandos que tenemos que usar para consultar cada uno de los logs. Ubicación del log Datos registrados en el log y funcionalidad Comando para consultar el log /var/log/auth.log Proporciona un registro de todas las actividades que implican un proceso de autenticación. Por ejemplo registra los usuarios logueados al sistema operativo. Registra el día, hora, usuario y ordenes que se han ejecutado con el comando sudo, los cronjobs que se han ejecutado, los intentos fallidos de autenticación, etc. sudo less /var/log/auth.log /var/log/debug Para registrar datos de los programas que están actuando en modo depuración. De esta forma los programadores pueden obtener información si sus programas están funcionando adecuadamente. sudo less /var/log/debug /var/log/syslog Contiene la totalidad de logs capturados por rsyslogd. Por lo tanto en este fichero encontraremos multitud logs y será difícil de consultar y filtrar. Por este motivo, los logs se distribuyen en otros ficheros siguiendo la configuración del fichero /etc/rsyslog.conf. sudo less /var/log/syslog **/var/log/**kern.log: Proporciona información detallada de mensajes del kernel. Por ejemplo si habéis compilado un kernel y tenéis problemas podréis ver los mensajes de error y advertencias en kern.log. También puede ser útil para intentar detectar y solucionar problemas con la detección de hardware. sudo less /var/log/kern.log /var/log/dmesg Dentro del fichero encontraremos información relacionada con el hardware de nuestro equipo. Por lo tanto podremos obtener información para concluir si nuestro hardware funciona de forma adecuada. dmesg | less /var/log/messages Contiene mensajes informativos y no críticos de la actividad del sistema operativo. Acostumbra a contener los errores que se registran en el arranque del sistema que no estén relacionados con el Kernel. Por lo tanto, si no se inicia un servicio, como por ejemplo el servidor de sonido, podemos buscar información dentro de este archivo. sudo less /var/log/messages /var/log/faillog Registra los intentos fallidos de autenticación de cada usuario. Dentro del archivo se almacena una lista de usuarios, los fallos totales de cada usuario, el número de fallo máximos que permitimos y la fecha y hora del último fallo. Si un usuario supera el número de fallos máximos establecidos se deshabilitará el usuario por el tiempo que nosotros fijemos. faillog **/****var/log/**btmp Almacena los intentos fallidos de logins en un equipo. Si alguien realizará un ataque de fuerza bruta a un servidor ssh, el fichero registraría la IP del atacante, el día y hora en que ha fallado el login, el nombre de usuario con que se ha intentado loguear, etc. sudo utmpdump /var/log/btmp o sudo last -f /var/log/btmp | more **/**var/log/lastlog Ayuda a ver la fecha y la hora en que cada usuario se ha conectado por última vez. lastlog | less /var/log/wtmp En todo momento contiene los usuarios que están logueados al sistema operativo. who /var/log/boot.log Información relacionada con el arranque del sistema. Podemos consultarlo para analizar si se levantan los servicios del sistema, si se levanta la red, si se montan las unidades de almacenamiento, para averiguar un problema que hace que nuestro equipo no inicie, etc. sudo /var/log/boot.log /var/log/cron Registra la totalidad de información de las tareas realizadas por cron. Si tienen problemas con la ejecución de tareas tienen que consultar este log para ver si el trabajo se ha ejecutado o da errores. Debian no dispone de este log, pero encontrarán la misma información en /var/​log/syslog. En Debian pueden configurar el fichero de configuración /etc/rsyslog.conf para generar un log especifico para cron. sudo less /var/log/cron.log /var/log/daemon.log Registra la actividad de los demonios o programas que corren en segundo plano. Para ver si un demonio se levanto o está dando errores podemos consultar este log. Dentro de daemon.log encontraremos información sobre el demonio que inicia el gestor de inicio, el demonio que inicia la base de datos de MySQL, etc. sudo less /var/log/daemon.log /var/log/dpkg.log Contiene información sobre la totalidad de paquetes instalados y desinstalados mediante el comando dpkg. sudo less /var/log/dpkg.log /var/log/apt/history.log Detalle de los paquetes instalados, desinstalados o actualizados mediante el gestor de paquetes apt-get. sudo less /var/log/apt/history.log /var/log/apt/term.log Contiene la totalidad de información mostrada en la terminal en el momento de instalar, actualizar o desinstalar un paquete con apt-get. sudo less /var/log/apt/term.log /var/log/mail.log Información relacionada con el servidor de email que tengamos instalado en el equipo. En mi caso uso sendmail y registra la totalidad de sus acciones en mail.log. sudo less /var/log/mail.log /var/log/alternatives.log Registra todas las operaciones relacionadas con el sistema de alternativas. Por lo tanto, todas las acciones que realicemos usando el comando update-alternatives se registrarán en este log. El sistema de alternativas permite definir nuestro editor de texto predeterminado, el entorno de escritorio predeterminado, la versión de java que queremos usar por defecto, etc. sudo less /var/log/alternatives.log **/****var/log/**Xorg.0.log Registra la totalidad de eventos relacionados con nuestra tarjeta gráfica desde que arrancamos el ordenador hasta que lo apagamos. Por lo tanto puede ayudar a detectar problemas con nuestra tarjeta gráfica. sudo less /var/log/Xorg.0.log /var/run/utmp Ver los usuarios que actualmente están logueados en un equipo. who Nota: Existen más logs en Linux, no obstante en el artículo solo he comentado los que considero más importantes. ¿Qué contienen los logs de aplicaciones y como podemos consultarlos? Del mismo modo que en el apartado anterior, a continuación veremos:\nLos logs de las aplicaciones o programas más importantes. La información que almacenan cada uno de los logs y para que puede sernos útil. Los comandos que tenemos que usar para consultar cada uno de los logs. Ubicación de log Datos registrados en el log y funcionalidad Comando para consultar el log /var/log/rkhunter.log Registra la totalidad de resultados obtenidos por rkhunter. rkhunter es una utilidad que analiza el sistema en busca de puertas traseras, rootkits, etc. Dentro del log de este programa encontraremos información sobre lo que ha detectado rkhunter en su análisis. sudo less /var/log/rkhunter.log /var/log/samba/*.* Dentro de la ubicación /var/log/samba encontrarán distintos logs que registrarán los eventos que han ocurrido en nuestro servidor samba. Algunos de los registros que encontrarán son sobre creaciones de directorios, renombrado de archivos, ficheros creados y borrados, registros de conexiones y desconexiones al servidor, etc. sudo less /var/log/samba/samba.log (Los logs de Samba requieren ser configurados. La ubicación de los logs depende del sistema operativo que usemos) /var/log/cups/*.* error_log, page_log y access_log contienen información acerca las horas en que una IP se ha conectado al servidor, el usuario que se ha conectado al servidor, los errores y advertencias del servidor, la fecha en que se ha imprimido un determinado documento, el número de copias, etc. Para más información sobre el contenido de los logs de cups pueden consultar el siguiente enlace. sudo less /var/log/cups/error_log sudo less /var/log/cups/access_log sudo less /var/log/cups/page_log /var/log/lighttpd/*.* access.log y error.log contienen información sobre las visitas y errores que se generan cuando un usuario visita una página web montada sobre un servidor lighttpd. sudo less /var/log/lighttpd/access.log sudo less /var/log/lighttpd/error.log /var/log/apache2/access.log o /var/log/httpd/access_log Contiene información de los usuarios que han accedido al servidor web Apache. En este fichero encontraremos datos como las páginas que ha visitado una determinada IP, la hora en que una IP nos ha visitado, etc. sudo less /var/log/apache2/access.log o sudo less /var/log/httpd/access_log /var/log/apache2/error.log o /var/log/httpd/error_log Es el encargado de registrar la totalidad de errores cuando se procesan las solicitudes de los visitantes al servidor web Apache. sudo less /var/log/apache2/error.log o sudo less /var/log/httpd/error_log /var/log/prelink/ Contiene información sobre las modificaciones que la utilidad prelink realiza a los binarios y librerías compartidas. sudo less /var/log/prelink/ /var/log/mysql/mysql.log Registro de la totalidad de sentencias que los clientes envían al servidor sudo less /var/log/mysql/mysql.log /var/log/mysql/error.log Registra los errores o problemas detectados al iniciar, ejecutar o parar el servicio. Por lo tanto en el caso que MySQL o MariaDB no se inicien deberemos acceder a este fichero para obtener información del problema. sudo less /var/log/mysql/error.log /var/log/mysql/mysql-slow.log Encontraremos información acerca de las sentencias que han tardado más segundos que los especificados en la variable del sistema long_query_time. De esta forma podremos conocer la sentencias SQL que se ejecutan de forma lenta. sudo less /var/log/mysql/mysql-slow.log /var/log/fail2ban.log Registra el día y la hora en que una determinada IP ha sido bloqueada y desbloqueada al intentar acceder a un determinado servicio. sudo less /var/log/fail2ban.log /var/log/openvpn.log La hora en la que una determinada IP se ha conectado al servidor OpenVPN. Si quieren registrar los intentos fallidos de autenticación también pueden usar fail2ban. sudo less /var/log/openvpn.log /var/log/openvpn-status.log Contiene información de los usuarios conectados al servidor OpenVPN. Ejemplos de la información que contiene es la IP de cada uno de los usuarios, La cuenta de usuario con que se ha conectado una determinada IP, la hora en que cada usuario ha iniciado la conexión, etc. sudo less /var/log/openvpn-status.log /var/log/letsencrypt/letsencrypt.log Contiene todo tipo de información acerca de los certificados de let’s Encrypt. Por ejemplo si se han producido errores en la renovación de los certificados será útil consultar este log. sudo less /var/log/letsencrypt/letsencrypt.log Nota: Existen más logs, no obstante en el artículo solo he comentado los que considero más importantes. COMO CONSULTAR LA INFORMACIÓN CONTENIDA EN LOS LOGS En apartados anteriores existen tablas en que se detallan los comandos a usar para consultar cada uno de los logs de nuestro sistema operativo. Si las consultan verán que podremos consultar la gran mayoría de logs mediante las siguientes utilidades:\nless: Utilidad que permite leer ficheros de texto en Linux. zless: Comando que permite visualizar ficheros comprimidos por el sistema de rotación de logs. tail: Utilidad que sirve para mostrar las 10 últimas líneas de un log o fichero de texto. head: Programa para visualizar las 10 primeras líneas de un log o fichero de texto. Etc. A modo de ejemplo, si queremos consultar el log /var/log/auth.log tan solo tenemos ejecutar un comando del siguiente tipo:\nEn la primera parte del comando tenemos que teclear la utilidad que queremos usar para ver el log. En mi caso acostumbro a usar less. En la segunda parte tan solo tenemos que indicar la ruta completa del log a visualizar. Por lo tanto, para visualizar el contenido del log /var/log/auth.log ejecutaremos el siguiente comando:\nsudo less /var/log/auth.log Nota: En futuros artículos mostraremos como podemos consultar los logs de nuestro sistema mediante journalctl. En el caso que quieran consultar los logs mediante una interfaz gráfica les recomiendo que lean el siguiente apartado.\nConsultar los logs del sistema a través de un entorno gráfico Existen diversos programas para consultar los logs a través de una interfaz gráfica. Algunos de ellos son:\ngnome-logs: Programa del entorno gnome usado para visualizar los logs registrados por journald. KSystemLog: Utilidad elaborada por el equipo de KDE que nos permitirá consultar los logs del sistema operativo registrados por journald. gnome-system-log: Aplicación que al igual que las anteriores nos permitirá consultar los registros del sistema. Etc. A los usuarios que utilicen entornos de escritorio basados en Gnome les recomiendo Gnome logs por los siguientes motivos:\nMantiene un desarrollo activo por parte del equipo de Gnome. Por lo tanto tendremos garantías que el programa funcionará de forma adecuada. Los logs son clasificados por días y por categorías como por ejemplo Hardware, Sistema, Aplicaciones, Seguridad e Importante. De esta forma es más fácil consultar los logs del sistema. Tiene implementado un sistema de búsqueda por palabras. Si clicamos encima del evento obtendremos información detallada sobre el mismo. La interfaz gráfica está traducida a varios idiomas. Para instalar gnome-logs tan solo tienen que ejecutar el siguiente comando en la terminal:\nsudo apt install gnome-logs En el caso que sean usuarios del entorno plasma la mejor opción será KsystemLog. Para instalar KsystemLog tendrán que ejecutar el siguiente comando en la terminal:\nsudo apt install ksystemlog KsystemLog es mucho más completo que Gnome-logs. No obstante si lo instalamos en entornos de escritorio gnome tendremos que instalar una gran cantidad de dependencias adicionales.\nLas características adicionales respecto Gnome logs que ofrecerá KsystemLog son las siguientes:\nFiltrar los logs por prioridad, por fecha, por servidor, proceso, mensaje, etc. Posibilidad de añadir varias pestañas para visualizar los logs de forma mucho más cómoda. Líneas del registro de logs coloreadas. Capacidad para copiar líneas del registro de logs al portapapeles. Etc. COMO SE REGISTRAN LOS LOGS EN LINUX La totalidad de logs de nuestro equipo los registran y gestionan los demonios rsyslogd y/o journald.\nNota: Existen otros demonios para gestionar los logs en Linux. No obstante rsyslogd es el más habitual. Otros demonio que se pueden usar son syslog-ng o syslog. Como en este artículo solo consideramos rsyslogd, a continuación detallaremos el funcionamiento de rsyslogd:\nRecolecta la totalidad de mensajes que provienen de servicios, aplicaciones y kernel del sistema operativo. Redirige cada uno de estos mensajes al archivo de registro o log correspondiente. Los archivos de registro acostumbran a estar almacenados en la ubicación /var/log. Nota: Rsyslog también es capaz de redirigir los mensajes hacia un servidor Linux externo u a otro equipo que esté en la misma red. Los protocolos usados para enviar los logs a equipos remotos pueden ser el TCP, UDP y RELP. De este modo rsyslog actúa como un servidor o cliente de logs. Para realizar las tareas que acabo de citar rsyslogd opera del siguiente modo:\nLa aplicaciones, los servicios y el Kernel escribirán sus mensajes en diversos socket y buffer de memoria. Algunos de los socket y buffer de memoria son /dev/log, /dev/kmsg, /proc/kmsg, etc. Acto seguido el demonio rsyslogd leerá/obtendrá el contenido de los distintos socket y buffer de memoria. Rsyslogd procesará los mensajes de los socket y buffer de memoria en función de la configuración/reglas de los ficheros /etc/rsyslog.conf o /etc/rsyslog.d/50-default.conf en Ubuntu. Los ficheros de configuración que acabo de citar especifican el fichero o log en que se deben almacenar cada uno de los mensajes adquiridos por rsyslogd. Nota: Un socket es un fichero especial que se usa para transferir información entre distintos procesos. En otras palabras, los procesos pueden leer y escribir datos en un socket/fichero con el fin de comunicarse entre ellos. Para ver los sockets de nuestro sistema operativo podemos usar el comando:\nsystemctl list-sockets --all Para comprobar que el demonio rsyslogd está activo podemos ejecutar el siguiente comando en la terminal:\nsudo service rsyslog status Fichero de configuración de rsyslogd Como acabamos de ver, rsyslogd lee los mensajes de varios socket y buffer de memoria. Acto seguido rsyslogd ubica cada uno de los mensajes en los ficheros/logs pertinentes. Las reglas que rsyslogd utiliza para procesar los mensajes provenientes del socket se definen en los ficheros /etc/rsyslog.d/50-default.conf y/o /etc/rsyslog.conf. A través de estos ficheros podremos configurar los siguientes aspectos:\nDefinir el propietario y el grupo al que pertenecen los logs. Establecer los permisos de los logs y de los directorios que contienen los logs. Definir si queremos disponer un log individual para registrar la actividad de un determinado servicio o utilidad. Por ejemplo, para registrar todos los mensajes del servicio cron en la ubicación /var/log/cron.log descomentaremos la línea cron.* /var/log/cron.log del fichero de configuración /etc/rsyslog.conf o /etc/rsyslog.d/50-default.conf en Ubuntu. Definir el nivel prioridad de las actividades que queremos registrar. A modo de ejemplo, con el código “kern.crit /var/log/kernlog” el fichero kernlog únicamente registrará las actividades del kernel que se consideren críticas. Los niveles de prioridad existentes son emerg, alert, crit, err, warning, notice, info y debug. Si usamos el símbolo * el log contendrá la totalidad de logs independientemente de su nivel de prioridad. Para consultar y editar el fichero de configuración deben ejecutar los siguientes comandos:\nsudo nano /etc/rsyslog.conf sudo nano /etc/rsyslog.d/50-default.conf Nota: Tengan cuidado a la hora de editar los ficheros de configuración. Antes de modificar la configuración estándar hagan una copia de seguridad. MECANISMO DE ROTACIÓN DE LOGS EN LINUX Si observáis los logs veréis que muchos tienen un nombre parecido. A modo de ejemplo os encontraréis con la siguiente situación:\nauth.log auth.log.1 auth.log.2.gz auth.log.3.gz auth.log.4.gz La totalidad de archivos que he nombrado contienen información del mismo tipo. En este caso existen 4 archivos que han sido creados por el mecanismo de rotación de logs.\nLa función del mecanismo de rotación de logs es evitar que los logs consuman todo el espacio de almacenamiento y sean fáciles de consultar. Si analizamos el comportamiento del log auth.log veremos que semanalmente realiza las siguientes operaciones:\nEl contenido que estaba en el fichero auth.log.4gz se borrará y perderá de forma definitiva. El contenido que estaba en el fichero auth.log.3 se trasladará al fichero comprimido auth.log.4.gz. El contenido que estaba en el fichero auth.log.2 se traspasará ql fichero comprimido auth.log.3.gz. El contenido que estaba en el fichero auth.log.1 se comprimirá y trasladará al fichero auth.log.2.gz. Finalmente, la información almacenada en auth.log se trasladará al fichero auth.log.1 y el fichero auth.log quedará vacío y listo para seguir registrando información. Trabajando de esta forma únicamente estaremos almacenando los logs de las últimas 4-5 semanas. Por lo tanto, para consultar las autenticaciones al sistema operativo de 3 semanas atrás deberemos consultar el log auth.log.3.gz\nLa rotación de los logs es una tarea programada que se realiza de forma periódica. Los logs se rotan en función de un criterio que nosotros mismos podemos configurar. El criterio de rotación de logs se establece en los ficheros de configuración ubicados en /etc/logrotate.d\nA modo de ejemplo si quieren ver la configuración establecida para rotar el log auth.log ejecuten el siguiente comando:\nless /etc/logrotate.d/rsyslog La configuración establecida en mi caso es la siguiente:\n/var/log/auth.log { rotate 4 weekly missingok notifempty compress delaycompress sharedscripts postrotate invoke-rc.d rsyslog rotate \u0026gt; /dev/null endscript } El código mencionado establece el criterio para rotar el log /var/log/auth.log. El método de rotación es el que se estable en el inicio de este último apartado.\nEn siguientes artículos continuaremos tratando más temas sobre los logs en Linux.\n","permalink":"https://geeklandlinux.github.io/posts/logs-en-linux/","summary":"\u003cp\u003eEn el siguiente artículo veremos nociones generales sobre los logs en Linux. En las explicaciones del artículo únicamente considero el sistema de logs proporcionado por rsyslog. Journald/Systemd será abordado en futuros artículos.\u003c/p\u003e","title":"Qué son, cómo funcionan y qué utilidad tienen los logs en Linux"},{"content":"Seguro que existe un elevado número de lectores a los que les resultará útil reemplazar el icono de una carpeta por imágenes miniatura o thumbnails personalizados en XFCE.\nUTILIDADES DE REEMPLAZAR EL ICONO DE UNA CARPETA POR IMÁGENES MINIATURA En mi caso uso la funcionalidad que acabamos de mencionar para las siguientes situaciones:\nReconocer fácilmente y de forma visual las colecciones de música, películas y series que tengo almacenadas en mi equipo. Ver claramente y rápidamente el directorio que está sincronizado con mi nube Nextcloud. Identificar de forma rápida y visual el contenido que almacena un directorio. Seguramente existen más utilidades de las que menciono. Por lo tanto les animo a que dejen sus aportaciones en los comentarios de este artículo.\nREQUISITOS PARA PODER REEMPLAZAR EL ICONO DE UNA CARPETA POR UNA IMAGEN MINIATURA EN XFCE Los únicos requisitos que tienen que cumplir para seguir las indicaciones de este tutorial son los siguientes:\nLa versión del gestor de archivos Thunar tiene que ser igual o superior a la 1.8.2. Tener instalada la utilidad Imagemagick. XFCE usa Imagemagick para crear las imágenes miniatura que indican el contenido que almacena cada uno de nuestro directorios. Por lo tanto, si disponen de la versión 4.14 de XFCE no tendrán ningún problema para aplicar las instrucciones de este tutorial.\nACTIVAR LAS IMÁGENES MINIATURA EN LAS CARPETAS DE XFCE Las imágenes miniatura (o thumbnails) no están configuradas de forma predeterminada en XFCE. Por lo tanto, para que Thunar reemplace el icono de una carpeta por una imagen miniatura procederemos del siguiente modo:\nInicialmente aseguraremos que la utilidad Imagemagick está instalada. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo apt install imagemagick Nota: Los usuarios de arch deberán reemplazar el comando anterior por sudo pacman -S imagemagick Nota: Los usuarios de fedora deberán reemplazar el comando anterior por sudo yum install ImageMagick Acto seguido ejecutaremos el siguiente comando en la terminal:\nsudo nano /usr/share/thumbnailers/folder.thumbnailer Una vez se abra el editor de texto nano pegaremos el siguiente código:\n[Thumbnailer Entry] Version=1.0 Encoding=UTF-8 Type=X-Thumbnailer Name=Folder Thumbnailer MimeType=inode/directory; Exec=/usr/bin/folder-thumbnailer %s %i %o %u A continuación guardaremos los cambios y cerraremos el fichero. El siguiente paso consistirá en crear el script que generará las imágenes miniatura. Para ello ejecutamos el siguiente comando en la terminal:\nsudo nano /usr/bin/folder-thumbnailer Una vez se abra el editor de textos pegamos el siguiente código:\n#!/bin/bash convert -thumbnail \u0026#34;$1\u0026#34; \u0026#34;$2/folder.jpg\u0026#34; \u0026#34;$3\u0026#34; 1\u0026gt;/dev/null 2\u0026gt;\u0026amp;1 ||\\ convert -thumbnail \u0026#34;$1\u0026#34; \u0026#34;$2/.folder.jpg\u0026#34; \u0026#34;$3\u0026#34; 1\u0026gt;/dev/null 2\u0026gt;\u0026amp;1 ||\\ convert -thumbnail \u0026#34;$1\u0026#34; \u0026#34;$2/folder.png\u0026#34; \u0026#34;$3\u0026#34; 1\u0026gt;/dev/null 2\u0026gt;\u0026amp;1 ||\\ convert -thumbnail \u0026#34;$1\u0026#34; \u0026#34;$2/cover.jpg\u0026#34; \u0026#34;$3\u0026#34; 1\u0026gt;/dev/null 2\u0026gt;\u0026amp;1 ||\\ convert -thumbnail \u0026#34;$1\u0026#34; \u0026#34;$2/.cover.jpg\u0026#34; \u0026#34;$3\u0026#34; 1\u0026gt;/dev/null 2\u0026gt;\u0026amp;1 ||\\ convert -thumbnail \u0026#34;$1\u0026#34; \u0026#34;$2/cover.png\u0026#34; \u0026#34;$3\u0026#34; 1\u0026gt;/dev/null 2\u0026gt;\u0026amp;1 ||\\ rm -f \u0026#34;$HOME/.cache/thumbnails/normal/$(echo -n \u0026#34;$4\u0026#34; | md5sum | cut -d \u0026#34; \u0026#34; -f1).png\u0026#34; ||\\ rm -f \u0026#34;$HOME/.thumbnails/normal/$(echo -n \u0026#34;$4\u0026#34; | md5sum | cut -d \u0026#34; \u0026#34; -f1).png\u0026#34; ||\\ rm -f \u0026#34;$HOME/.cache/thumbnails/large/$(echo -n \u0026#34;$4\u0026#34; | md5sum | cut -d \u0026#34; \u0026#34; -f1).png\u0026#34; ||\\ rm -f \u0026#34;$HOME/.thumbnails/large/$(echo -n \u0026#34;$4\u0026#34; | md5sum | cut -d \u0026#34; \u0026#34; -f1).png\u0026#34; ||\\ exit 1 Una vez pegado el código guardamos los cambios y cerramos el fichero.\nFinalmente otorgamos permisos de ejecución al script que acabamos de crear ejecutando el siguiente comando en la terminal:\nsudo chmod a+x /usr/bin/folder-thumbnailer REEMPLAZAR EL ICONO DE UNA CARPETA POR IMÁGENES MINIATURA PERSONALIZADAS QUE NOS DEN UNA IDEA DEL CONTENIDO DEL DIRECTORIO El aspecto inicial de mi librería musical es la que se muestra a continuación.\nPara añadir / personalizar una imagen miniatura procederemos del siguiente modo:\nBuscaremos una imagen en formato .jpg o .png que represente el contenido de los archivos que hay dentro del directorio. En mi caso al tratarse de álbumes musicales me descargaré la cubierta del álbum del grupo en cuestión.\nActo seguido renombramos la cubierta del álbum que acabamos de descargar. Según el código definido en el script /usr/bin/folder-thumbnailer podemos renombrar el archivo con los siguientes nombres:\nfolder.jpg .folder.jpg folder.png cover.jpg .cover.jpg cover.png Nota: Si lo creen conveniente pueden modificar el contenido del script /usr/bin/folder-thumbnailer para ampliar/modificar los nombres admitidos. Una vez renombrado el fichero lo guardamos dentro del directorio que contiene los audios de la cubierta del álbum.\nA partir de estos momentos, el directorio que contiene los audios de Queen no se mostrará con el típico icono de la carpeta. El icono de la carpeta será reemplazado por la caratula del álbum.\nSi repetimos lo que acabamos de ver para cada uno de los álbumes obtendremos el siguiente resultado:\nSi observan verán que las imágenes miniatura también se aplican a los directorios que aparecen en el apartado de Ubicaciones de Thunar.\nNota: XFCE permite descargar imágenes miniatura de forma automática de las películas almacenadas en nuestro equipo. No obstante, por temas de privacidad esta característica viene desactivada. FUENTES\nhttps://docs.xfce.org/xfce/thunar/tumbler\n","permalink":"https://geeklandlinux.github.io/posts/reemplazar-carpetas-por-imagenes-miniatura-o-thumbnails-en-xfce/","summary":"\u003cp\u003eSeguro que existe un elevado número de lectores a los que les resultará útil reemplazar el icono de una carpeta por imágenes miniatura o thumbnails personalizados en XFCE.\u003c/p\u003e","title":"Reemplazar carpetas por imágenes miniatura o thumbnails en XFCE"},{"content":"A día de hoy prácticamente todo el mundo sabe que es indispensable realizar copias de seguridad de la información importante. No obstante, es común que se den las siguientes situaciones:\nLa gente se olvida de realizar las copias de seguridad. De repente la tarjeta de memoria de nuestra cámara de fotos o vídeo se corrompe. Las copias de seguridad se dañan y no las podemos restaurar. A veces los discos duros mueren sin dar ningún aviso. La gente borra un archivo que pensaba que no era necesario, pero después se da cuenta que realmente lo era. Trabajadores enfadados pueden borrar intencionalmente información de su ordenador. Puede darse el caso que un usuario elimine una partición de forma accidental. Un virus borra archivos de nuestro ordenador. Etc. Frente a estas situaciones Windows nos ofrece herramientas para intentar recuperar archivos borrados, en caso que las herramientas de Windows no funcionen podemos usar un software de recuperación de datos como por ejemplo EaseUS.\nEn el pasado hablé de otros software de recuperación de datos como por ejemplo Recuva o Diskdrill. En esta ocasión nos centraremos en las opciones y rendimiento que nos proporciona EaseUS.\nCOMPARACIÓN DE RENDIMIENTO ENTRE EL ARCHICONOCIDO RECUVA Y EASEUS Parto de un pendrive con una capacidad de 1 GB que tiene almacenado 94 archivos .mp3. Es un USB prestado que no tengo ni idea del contenido que ha almacenado a lo largo de su vida.\nFormateo completamente el pendrive usando el formateo rápido de Windows. En el momento de formatear el pendrive disponía de 416MB libres y 548MB ocupados.\nNota: Si realizáis un formateo lento ninguno de los 2 software de recuperación de datos podrá recuperar la información. Una vez formateado el pendrive he realizado el ejercicio de intentar recuperar los archivos borrados con los 2 software. Los resultados obtenidos han sido los siguientes:\nEaseUS Recuva Tiempo empleado en el escaneo profundo (1GB) 1 min 15 seg. 1 min 16 seg. Tiempo necesario para recuperar archivos 53 seg. 40,77 seg. Archivos hallados y recuperados en el escaneo profundo 124 90 Datos totales recuperados 697 MB 529 MB Archivos mp3 que contenía el pendrive antes de formatearlo 94 94 Archivos mp3 recuperados con nombres y algunos de sus metadatos 94 80 Archivos .mp3 recuperados sin preservar nombres ni metadatos 16 0 Otros archivos adicionales recuperados 8 archivos pdf. Ninguno de ellos se puede abrir 8 archivos pdf. Ninguno de ellos se puede abrir Otros datos a destacar de cada uno de los 2 software de recuperación de datos analizados son los siguientes:\nEaseUS Recuva Sistemas operativos en que se puede usar Windows, MacOS Windows Versión gratuita Sí, con limitaciones Sí, con menos limitaciones que EaseUS Tamaño máximo de datos que puede recuperar la versión gratuita 2000 MB si promocionamos el programa en redes sociales. 500 MB si no promocionamos el programa en redes sociales No existe limitación Sistemas de archivos soportados FAT, FAT12, FAT16, FAT32, exFAT, NTFS, NTFS5, ext2/ext3, HFS+, ReFS FAT, FAT32, exFAT, NTFS, NTFS5 y NTFS + EFS, EXT2, EXT3, EXT4 Sistemas operativos en los que puede recuperar datos MacOS, Android, iOS, Windows Windows y Linux Tipos de archivo que pueden recuperar Más de 200 tipos de archivo. 39 Sistema para filtrar la información a recuperar Sí, Avanzado Sí, pero extremadamente básico Previsualización de los archivos a recuperar Sí No Recuperación de datos perdidos en Raid Sí No Recuperación de particiones borradas Sí No CONCLUSIONES SOBRE EL SOFTWARE DE RECUPERACIÓN DE DATOS EASEUS Las 2 opciones analizadas son perfectamente válidas. No obstante, en las pruebas que he realizado he podido observar lo siguiente:\nEaseUS ha sido capaz de recuperar más archivos que Recuva. De hecho, me sorprende que Recuva no haya sido capaz de recuperar la totalidad de archivos que he formateado intencionadamente. El entorno de usuario de EaseUS es más amigable e intuitivo que Recuva. EaseUS permite previsualizar los archivos antes de ser recuperados. Por lo tanto, en el caso que queramos recuperar una imagen podemos identificarla y recuperar tan solo la que nos interesa. Además, EaseUS clasifica la información recuperada en carpetas y facilita la búsqueda de información una vez se ha recuperado. Por si no fuera poco dispone de un práctico filtro para recuperar únicamente los archivos que nos interesan. El filtro nos permitirá filtrar por:\nTipo de archivo. Tamaño del archivo. Por fecha de modificación del archivo que queremos recuperar. Por la letra inicial del archivo que intentamos recuperar. Podemos afirmar que EaseUS es una solución completa para la recuperación de datos. Nos permite recuperar datos en:\nDiscos duros que han quedado en formato .raw completamente inutilizados. Recuperar datos en equipos que no son capaces arrancar. Recuperar datos en particiones corruptas que no se pueden montar. Rescatar información de sistemas de almacenaje RAID. Etc. No obstante, para mi el software presenta un par de inconvenientes importantes:\nEn el momento de finalizar el escaneo no nos da ninguna pista de la integridad de los archivos a recuperar. El precio de los 3 tipos de licencia que ofrecen es elevado. Además, los usuarios tendrán que pagar un precio elevado sin saber si pueden o no recuperar sus datos. Si la versión Free tuviera un indicador de integridad de los archivos a recuperar, entonces los usuarios podrían pagar una licencia con garantías que a posteriori podrán recuperar sus archivos. ","permalink":"https://geeklandlinux.github.io/posts/software-recuperaracion-datos-easeus/","summary":"\u003cp\u003eA día de hoy prácticamente todo el mundo sabe que es indispensable realizar copias de seguridad de la información importante. No obstante, es común que se den las siguientes situaciones:\u003c/p\u003e","title":"Análisis del software de recuperación de datos EaseUS"},{"content":"Al instalar una máquina virtual en VirtualBox es común que necesitemos compartir carpetas y archivos entre el sistema operativo anfitrión y el huésped. En el caso que se encuentren con esta situación lo podrán hacer del siguiente modo.\nCONSIDERACIONES ANTES DE INICIAR EL ARTÍCULO PARA COMPARTIR CARPETAS El único requisito para seguir el tutorial es que el sistema operativo huésped sea GNU-Linux. El sistema operativo anfitrión puede ser el queramos. En mi caso:\nEl sistema operativo anfitrión es Windows 10. El sistema operativo huésped es GNU Linux (Xubuntu) A continuación iniciamos el tutorial.\nINSTALAR LAS GUEST ADDITIONS El primer paso para compartir carpetas en VirutalBox es instalar las Guest Additions. Para instalarlas en un sistema operativo Linux deben seguir los pasos que encontrarán en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-las-guest-additions-debian-derivadas/\nDEFINIR LAS CARPETAS QUE QUEREMOS COMPARTIR Y LOS PUNTOS DE MONTAJE Primero tenemos que definir la carpeta del sistema operativo anfitrión que queremos compartir con el sistema operativo huésped. En mi caso quiero compartir la siguiente carpeta que contiene películas:\nC:\\movies A continuación, tenemos que definir el punto de montaje de la carpeta compartida en el sistema operativo huésped. En mi caso quiero que el punto de montaje sea:\n/home/joan/movies COMPARTIR CARPETAS EN VIRTUALBOX EN EL CASO QUE EL SISTEMA OPERATIVO HUÉSPED SEA LINUX Abriremos la máquina virtual y aseguraremos que el punto de montaje definido en el apartado anterior esté creado. En mi caso no está creado, por lo tanto lo crearé ejecutando el siguiente comando en la terminal:\nmkdir /home/joan/movies Una vez creado el punto de montaje apagaremos la máquina virtual.\nEntonces seleccionaremos la máquina virtual en la que queremos compartir carpetas y archivos y presionaremos el botón de Configuración.\nA continuación, en el panel de la izquierda clicaremos en la opción Carpetas Compartidas. Acto seguido en el panel de la derecha presionaremos el botón de Agregar nueva carpeta compartida.\nDefinir las opciones de montaje de las carpetas compartidas Cuando se abra la ventana Agregar carpeta compartida definiremos los siguientes parámetros:\nRuta carpeta: Introducimos la ruta de la carpeta que queremos montar en la máquina virtual. Anteriormente definimos que la carpeta que quiero montar es la C:\\movies.\nNombre carpeta: Escribir un nombre cualquiera que servirá para identificar en todo momento la carpeta que estamos compartiendo. En mi caso he elegido movies.\nSólo lectura: En mi caso no tildo esta opción. De esta forma, cuando acceda a la carpeta compartida dentro de la máquina virtual dispondré de la totalidad de permisos. En caso que tildará esta opción solo dispondría de permisos de lectura.\nAutomontar: Recomiendo tildar esta opción. De esta forma la carpeta compartida se automontará cada vez que arranquemos la máquina virtual.\nPunto de montaje: Finalmente indicamos el directorio donde se montará la carpeta compartida. En los apartados anteriores definimos que sería /home/joan/movies\nUna vez definidas todas las opciones presionamos el botón Aceptar.\nAgregar el usuario del sistema operativo huésped al grupo vboxsf Al arrancar la máquina virtual veremos que la carpeta compartida /home/joan/movies no es accesible.\nEl motivo es que la carpeta compartida solo es accesible para los usuarios que pertenezcan al grupo vboxf y para el usuario root. Por lo tanto, en la máquina virtual abriremos una terminal y ejecutaremos el siguiente comando para añadir nuestro usuario al grupo vboxsf:\nsudo usermod -a -G vboxsf “$(whoami)” Una vez ejecutado el comando reiniciaremos la máquina virtual para que los cambios surjan efecto. Acto seguido verán que la carpeta compartida se monta sin ningún tipo de problema.\nUna vez seguidos todos los pasos:\nCualquier archivo o carpeta que guardemos en la carpeta /home/joan/movies del sistema operativo huésped estará presente de forma automática en la ubicación C:\\movies del sistema anfitrión. Cualquier archivo o carpeta que guardemos en la carpeta C:\\movies del sistema operativo anfitrión estará presente de forma automática en la ubicación /home/joan/movies del sistema huésped. Para finalizar solo comentar que podemos crear más de una carpeta compartida. Para crear más de una carpeta compartida tan solo hay que repetir los pasos que se han detallado en el tutorial. Por lo tanto acaban de ver que compartir carpetas y archivos en VirtualBox es extremadamente sencillo.\nMONTAR CARPETAS COMPARTIDAS DE FORMA MANUAL EN VIRTUALBOX Puede darse el caso que queráis montar las carpetas compartidas de forma totalmente manual. En este caso, en las opciones de la carpeta compartida deberán destildar la opción Automontar y presionar el botón Aceptar.\nActo seguido abriremos la máquina virtual y obviamente el contenido de la carpeta compartida no estará disponible. Para poder ver el contenido tendremos que montar la carpeta ejecutando el siguiente comando en la terminal:\nsudo mount -t vboxsf movies /home/joan/movies Dónde:\nmovies: Corresponde al nombre de la carpeta que queremos montar. El nombre lo definimos en el apartado “definir las opciones de montaje de las carpetas compartidas”\n/home/joan/movies: Corresponde al punto de montaje que definimos en apartados anteriores.\nDESMONTAR CARPETAS COMPARTIDAS EN VIRTUALBOX Si una vez montada una carpeta compartida la queremos desmontar tan solo tenemos que ejecutar un comando del siguiente tipo:\nsudo umount -t vboxsf nombre_carpeta_compartida Donde nombre_carpeta_compartida lo tendremos que reemplazar por el nombre de la carpeta que queremos desmontar. Por lo tanto, para desmontar la carpeta movies deberé ejecutar el siguiente comando:\nsudo umount -t vboxsf movies ","permalink":"https://geeklandlinux.github.io/posts/compartir-carpetas-y-archivos-en-virtualbox/","summary":"\u003cp\u003eAl instalar una máquina virtual en VirtualBox es común que necesitemos compartir carpetas y archivos entre el sistema operativo anfitrión y el huésped. En el caso que se encuentren con esta situación lo podrán hacer del siguiente modo.\u003c/p\u003e","title":"Compartir carpetas y archivos en VirtualBox en un SO virtualizado Linux"},{"content":"A partir de la versión 1809 Windows 10 incluye la posibilidad de realizar búsquedas web a través de su menú de inicio. En mi caso esta función es un estorbo, por este motivo en el siguiente artículo veremos los pasos a seguir para desactivar la búsqueda web del menú de inicio de Windows.\nEn el caso que la búsqueda estuviera bien implementada podría ser útil, pero bajo mi punto de vista no sirve para nada debido a los siguientes motivos:\nProvoca lentitud en el acceso y consulta del menú de inicio. Los resultados de búsqueda que ofrece son pésimos. No me gusta el buscador Bing y además no está enfocado a las búsquedas en Español. En muchas ocasiones tan solo quiero buscar un programa, pero en vez buscar el programa se realiza una búsqueda web. Por lo tanto está funcionalidad estorba más que ayuda. Las opciones de configuración de esta función son nulas. No podemos cambiar de buscador, no podemos desactivarla de forma fácil, etc. Como solución a los problemas que acabo de citar, sigan las siguientes instrucciones para desactivar la búsqueda web del menú de inicio de Windows.\nDESACTIVAR LA BÚSQUEDA WEB DEL MENÚ DE INICIO DE WINDOWS Para conseguir nuestro objetivo tenemos que presionar la combinación de teclas Win + R. Cuando aparezca la ventana Ejecutar escribiremos regedit y presionaremos el botón Aceptar.\nUna vez aparezca la ventana en la que podremos modificar el registro de Windows navegaremos hacia la siguiente ubicación:\nHKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Search Crear la entrada BingSearchEnabled en el registro de Windows Acto seguido sigan las siguientes instrucciones:\nEn la mitad derecha de la ventana del editor del registro presionen el botón derecho del ratón. Cuando aparezca el menú contextual Nuevo, posicionen el puntero del ratón en Nuevo. En las opciones del menú Nuevo cliquen sobre la opción Valor de DWORD (32bits). Justo después se creará una nueva entrada en el registro con el nombre Nuevo valor #1.\nA continuación, renombraremos la entrada que acabamos de crear para que tenga el nombre BingSearchEnabled. Una vez renombrada presionamos Enter.\nSeguidamente hacemos doble click sobre la entrada BingSearchEnabled. Finalmente, cuando se abra la ventana para editar el valor de la entrada aseguramos que sea 0 y presionamos el botón Aceptar.\nCrear el resto de entradas para desactivar la búsqueda web del menú de inicio de Windows Del mismo modo que hemos creado la entrada BingSearchEnabled crearemos las siguientes entradas en el registro Windows:\nAllowSearchToUseLocation CortanaConsent Una vez creadas las entradas, tal y como hicimos con la entrada BingSearchEnabled, aseguramos que su valor es 0.\nComprobar que la búsqueda web está desactivada Finalmente reiniciamos el ordenador. Una vez reiniciado habrá desaparecido la búsqueda web del menú de inicio de Windows. Si realizan una búsqueda verán que en ningún rastro de la búsqueda web.\nAdemás en el caso que tengan un ordenador que no vaya sobrado de recursos notarán que Windows se comporta de una forma mucho más fluida.\nNota: Las acciones realizadas en el artículo sirven para desactivar la búsqueda web de un usuario. Por lo tanto si tenemos un equipo con varios usuarios deberemos aplicar el contenido del tutorial para cada uno de los usuarios.","permalink":"https://geeklandlinux.github.io/posts/desactivar-busqueda-web-menu-windows/","summary":"\u003cp\u003eA partir de la versión 1809 Windows 10 incluye la posibilidad de realizar búsquedas web a través de su menú de inicio. En mi caso esta función es un estorbo, por este motivo en el siguiente artículo veremos los pasos a seguir para desactivar la búsqueda web del menú de inicio de Windows.\u003c/p\u003e","title":"Desactivar la búsqueda web del menú de inicio de Windows 10"},{"content":"En mi caso tengo un paquete roto en mi equipo. En el caso que se encuentren con una situación similar deberán seguir las siguientes instrucciones para reparar los paquetes rotos y dependencias incumplidas. Pero antes de iniciar la explicación detallaremos que es un paquete roto y que son las dependencias incumplidas.\n¿QUÉ ES UN PAQUETE ROTO? En el momento de instalar un paquete puede darse el caso que no se instale correctamente o que no sea compatible con el resto de paquetes. Si esto pasa es posible que no podamos actualizar, instalar ni desinstalar ningún paquete de nuestro sistema operativo. El paquete responsable de que no podamos instalar y desinstalar paquetes es un paquete roto.\nLos paquetes acostumbran a romperse en los siguientes casos:\nAl instalar programas externos a los repositorios oficiales de nuestra distribución. Si se interrumpe accidentalmente la instalación de un programa. Si se interrumpe accidentalmente la actualización del sistema operativo. Etc. ¿QUÉ SON LAS DEPENDENCIAS INCUMPLIDAS? Al instalar un programa como LibreOffice se instalan multitud de paquetes, pero nosotros solo damos orden de instalar el paquete libreoffice. Esto es así por las dependencias de los paquetes. Es decir:\nDamos la orden de instalar el paquete libreoffice. El paquete libreoffice trae asociada la información que para funcionar correctamente tienen que instalarse una serie de paquetes adicionales. Estos paquetes adicionales se llaman dependencias. Obviamente, los paquetes adicionales o dependencias se instalarán de forma automática. Las dependencias del paquete libreoffice también pueden tener nuevas dependencias y así sucesivamente. Por lo tanto, en el momento que se haya instalado el paquete libreoffice y todas las dependencias podremos usar LibreOffice.\nEn el momento que un paquete requiere una dependencia que no está presente en los repositorios de nuestra distribución se generará una dependencia incumplida y por lo tanto no podremos instalar y usar el programa que estamos instalando. En el caso que tangamos paquetes rotos también se generarán dependencias incumplidas o errores de dependencias.\nPASOS A SEGUIR PARA REPARAR PAQUETES ROTOS Y SOLUCIONAR DEPENDENCIAS INCUMPLIDAS EN LINUX En el caso que tengan paquetes rotos les propongo aplicar alguna de las soluciones que detallaré a continuación.\nNota: Al intentar reparar paquetes rotos se nos puede proponer eliminar una gran cantidad de paquetes para solucionar dependencias incumplidas. Por lo tanto, antes de aceptar alguna de las soluciones propuestas lean detenidamente lo que se realizará en el equipo. Reparar paquetes rotos con dpkg y el gestor de paquetes apt Lo primero que haremos es intentar configurar paquetes que han sido desempaquetados, pero no configurados. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo dpkg --configure -a Si no se soluciona el problema limpiaremos la cache local de paquetes .deb ejecutando los siguiente comando en la terminal:\nsudo apt-get clean \u0026amp;\u0026amp; sudo apt-get autoclean Acto seguido regeneraremos la cache de los repositorios con el parámetro --fix-missing. De este modo intentaremos detectar y reparar problemas de dependencias en nuestro sistema operativo. Por lo tanto en la terminal ejecutamos el siguiente comando:\nsudo apt-get update --fix-missing Seguidamente usaremos apt para intentar corregir las dependencias rotas. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo apt-get install -f Después de ejecutar el comando se intentará buscar una solución para solucionar nuestro problema de dependencias incumplidas y paquetes rotos.\nEn el caso que sigan los problemas borraremos las lock files de apt y dpkg. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo rm /var/lib/apt/lists/lock \u0026amp;\u0026amp; sudo rm /var/cache/apt/archives/lock \u0026amp;\u0026amp; sudo rm /var/lib/dpkg/lock Nota: Las lock files tienen la función de evitar que 2 o más procesos accedan a los mismos datos. Después de ejecutar este último comando vuelvan a repetir la totalidad de comandos citados en este apartado.\nReparar paquetes rotos y dependencias con la terminal y dpkg En el caso que la solución anterior no haya funcionado intentaremos eliminar el paquete roto que está generando problemas. Para ello ejecutaremos el siguiente comando:\nsudo apt-get remove En el caso que no tengamos éxito averiguaremos el paquete que está generando problemas ejecutando el siguiente comando:\nsudo dpkg -l | grep ^..r Acto seguido ejecutaremos el siguiente comando para intentar forzar la desinstalación del paquete que presenta problemas:\nsudo dpkg --remove --force-remove--reinstreq nombre_paquete Nota: Deben remplazar nombre_paquete por el paquete roto o que está generando problemas. A continuación limpiaremos la cache local de nuestro repositorios ejecutando el siguiente comando:\nsudo apt-get clean \u0026amp;\u0026amp; sudo apt-get autoclean Finalmente intentaremos actualizar nuestro sistema operativo ejecutando el siguiente comando en la terminal:\nsudo apt-get update \u0026amp;\u0026amp; sudo apt-get dist-upgrade Si el sistema se actualiza sin problema habremos resuelto el problema de dependencias y paquetes rotos.\nReparar paquetes rotos con Synaptic package manager Otra opción para intentar solucionar el problema es mediante el programa Synaptic. Para instalarlo tan solo tienen que ejecutar el siguiente comando en la terminal:\nsudo apt-get install synaptic Acto seguido abran el programa y sigan las siguientes instrucciones:\nCliquen en el botón Filtros. A continuación seleccionen la opción Rotos. Seleccionen el paquete que está dañado. Acto seguido presionen sobre el botón derecho del ratón y cuando aparezca el menú contextual cliquen sobre la opción Marcar para desinstalar completamente. Acto seguido se intentará desinstalar el paquete que está generando todos los problemas. En el caso que sigan con los mismos problemas pueden intentar lo siguiente. Justo al abrir el gestor de paquetes Synaptic entren dentro del menú Editar y cliquen sobre la opción Reparar paquete rotos. Acto seguido Synaptic interará arreglar los paquetes todos de nuestro sistema operativo.\nÚltimo recurso para intentar solucionar problemas de paquetes rotos y dependencias Si después de aplicar la totalidad de opciones siguen con problemas pueden intentar lo siguiente.\nEditen el fichero /var/lib/dpkg/status ejecutando el siguiente comando en la terminal:\nsudo nano /var/lib/dpkg/status Nota: El fichero /var/lib/dpkg/status contiene información del estado de los paquetes de nuestro sistema operativo. Cuando se abra el editor de texto busquen el bloque de información que hace referencia al paquete roto que genera problemas. Una vez encontrado el bloque bórrenlo.\nEn mi caso, el paquete que genera problemas es caffeine, por lo tanto tendré que borrar todo el bloque que está dentro del rectángulo rojo.\nUna vez borrado el contenido guardamos los cambios y cerramos el fichero. Acto seguido podemos intentar actualizar nuestro sistema operativo ejecutando el siguiente comando:\nsudo apt-get clean \u0026amp;\u0026amp; sudo apt-get update \u0026amp;\u0026amp; sudo apt-get dist-upgrade Después de seguir los pasos del artículo deberían tener su sistema operativo plenamente operativo. En caso contrario detallen su problema de forma adecuada en los comentarios del artículo dando la información necesaria para que alguien les pueda ayudar.\n","permalink":"https://geeklandlinux.github.io/posts/reparar-paquetes-rotos-linux/","summary":"\u003cp\u003eEn mi caso tengo un paquete roto en mi equipo. En el caso que se encuentren con una situación similar deberán seguir las siguientes instrucciones para reparar los paquetes rotos y dependencias incumplidas. Pero antes de iniciar la explicación detallaremos que es un paquete roto y que son las dependencias incumplidas.\u003c/p\u003e","title":"Reparar paquetes rotos y dependencias incumplidas en Debian y Ubuntu"},{"content":"Mi ordenador dispone de un arranque dual con Windows y Linux. El principal problema es que la hora de Windows nunca coincide con la de Linux. En mi caso siempre había un desfaz de exactamente 2 horas. Para solucionar este problema y para sincronizar la hora entre Windows y Linux en un ordenador con dual boot hay que realizar lo siguiente.\n¿POR QUÉ EXISTEN PROBLEMAS AL SINCRONIZAR LA HORA ENTRE LINUX Y WINDOWS? Cuando apagamos el ordenador, los sistemas operativos almacenan la hora en el reloj de hardware ubicado en la placa base.\nEl sistema operativo GNU-Linux almacena la hora en el formato UTC, mientras que Windows la almacena en formato de hora local. Esto ocasiona que al cambiar entre sistemas operativos se produzcan desfases de hora.\nPara solucionar este problema y sincronizar la hora entre Windows y Linux existen 2 soluciones:\nLa primera de ellas es configurar Windows para que trabaje con la hora UTC. La segunda es modificar la configuración de GNU Linux para que trabaje y almacene la hora en formato de hora local. Haciendo caso omiso a las recomendaciones que veréis en la web prefiero usar la primera opción. Los motivos son los siguientes:\nLa hora se cambiará sin problemas en el momento que cambiemos de horario de invierno a horario de verano y viceversa. La hora se actualizará automáticamente en el caso que cambiemos de zona horaria. Mi sistema operativo principal es Linux. Por lo tanto prefiero no modificar la configuración estándar de Linux. Hace tiempo que estoy usando la opción 1 para sincronizar la hora entre windows y Linux. Nunca me ha generado ningún problema. Por lo tanto, a continuación realizaremos la siguientes acciones:\nAseguraremos que la BIOS o UEFI de nuestro ordenador tenga la hora adecuada. Modificaremos la configuración de Windows para que almacene la hora en el reloj de hardware con el formato UTC. Comprobaremos que la configuración de GNU-Linux es la adecuada para que la hora se sincronice bien entre Windows y Linux ASEGURAR QUE LA BIOS O UEFI TIENEN LA HORA CORRECTA En el apartado anterior hemos visto que existen 2 soluciones para sincronizar la hora entre Linux y Windows. En nuestro caso aplicaremos la solución 1, por lo tanto tenemos que asegurar que la hora que está almacenada en nuestra BIOS o UEFI sea la hora UTC. Para averiguar la hora UTC visiten la siguiente página web:\nhttps://time.is/es/UTC\nUna vez hayan accedido a la web verán la hora UTC que en mi caso es 21:08:04. Por lo tanto, en mi zona horaria veo que la hora UTC son 2 horas menos respecto al horario local.\nActo seguido accedan a la BIOS o UEFI de su ordenador y aseguren que la hora que estén usando sea la UTC.\nEl proceso para acceder a la BIOS varía en función del ordenador que usen. En mi caso, para acceder a la BIOS tengo que pulsar la tecla Supr justo en los momentos iniciales de arrancar el ordenador: Una vez dentro de la BIOS o UEFI accedo al apartado donde se configura el día y la hora. En mi caso el apartado es Standard CMOS Setup.\nUna vez dentro del apartado de configuración de la hora comprobaremos que la hora que se muestra sea la UTC. En caso que la hora sea incorrecta tendrán que modificarla y guardar los cambios.\nUna vez guardados los cambios salen de la configuración de la BIOS o UEFI y arrancan el sistema operativo Windows.\nCONFIGURAR WINDOWS PARA QUE TRABAJE CON LA HORA UTC Y DE ESTA FORMA SINCRONIZAR LA HORA Una vez estemos en Windows modificaremos la configuración para que Windows almacene la hora en formato UTC. De esta forma podremos sincronizar la hora entre Windows y Linux sin ningún tipo de problema. Para conseguir nuestro propósito seguiremos las siguientes instrucciones:\nInicialmente presionamos la combinación de teclas Win+R. Cuando aparezca la ventana Ejecutar escribimos regedit y presionamos el botón Aceptar.\nJusto después de presionar el botón Aceptar se abrirá el editor de registro de Windows. Seguidamente navegaremos hasta la siguiente ubicación:\nHKEY_LOCAL_MACHINE -\u0026gt; SYSTEM -\u0026gt; CurrentControlSet -\u0026gt; Control -\u0026gt; TimeZoneInformation Una vez dentro de la ruta mencionada posicionen el puntero del ratón en la mitad derecha de la ventana y sigan las siguientes instrucciones:\nPresionen el botón derecho del ratón. En el momento que aparezca el menú contextual Nuevo, posicionen el puntero del ratón en Nuevo. Cuando aparezcan las opciones del menú Nuevo cliquen sobre la opción Valor de DWORD (32 bits). Acto seguido se creará una entrada con nombre Nuevo valor #1 en el registro de Windows. Seleccionen la entrada Nuevo valor #1 y presionen la tecla F2. Acto seguido cambien el nombre de Nuevo valor #1 a RealTimeIsUniversal y presionan la tecla Enter.\nSeguidamente hagan doble clic sobre la entrada RealTimeIsUniversal.\nFinalmente asignen el valor 1 y presionen sobre el botón Aceptar.\nDespués de realizar estos pasos podremos cambiar de sistema operativo siempre que queramos y la hora se mostrará correctamente.\nNota: Para revertir los cambios tan solo tenemos que modificar el valor de la entrada RealTimeIsUniversal. Si el valor de la entrada es 0 Windows volverá a trabajar con la hora local. COMPROBAR QUE GNU-LINUX USE LA HORA UTC Linux almacena y recupera la hora almacenada en el reloj de hardware usando el formato UTC. Por lo tanto, lo único que tenemos que comprobar es que Linux esté bien configurado. Para ello abrimos una terminal y ejecutaremos le siguiente comando:\njoan@debian:~$ timedatectl Local time: sáb 2019-05-18 10:42:59 CEST Universal time: sáb 2019-05-18 08:42:59 UTC RTC time: sáb 2019-05-18 08:42:59 Time zone: Europe/Madrid (CEST, +0200) System clock synchronized: yes NTP service: active RTC in local TZ: no El valor del parámetro RTC in local TZ es no. Por lo tanto podemos asegurar que nuestro sistema GNU-Linux tiene configurada la hora UTC y no es necesario modificar absolutamente nada.\nEn el caso poco probable que el valor de RTC in local TZ: fuera yes tendríamos que ejecutar el siguiente comando en la terminal:\nsudo timedatectl set-local-rtc 0 Nota: En el caso poco probable que quisieran que Linux trabajará con la hora local tendrían que ejecutar el comando sudo timedatectl set-local-rtc 1 OTROS PASOS A SEGUIR EN EL CASO QUE LA HORA SIGA SIN SINCRONIZARSE CORRECTAMENTE En el caso que los pasos seguidos hasta el momento no hayan funcionado pueden intentar lo siguiente.\nDeshabilitar el servicio de hora de Windows Para deshabilitar el servicio de hora de Windows abran un Powershell como administrador:\nActo seguido tan solo tienen que ejecutar el siguiente comando en la línea de comandos:\nsc config w32time start= disabled Una vez ejecutado el comando reinicien ambos sistemas operativos para comprobar que efectivamente la hora se esté sincronizando adecuadamente.\nSi alguna vez quisieran reactivar el servicio de hora tendrían que ejecutar lo siguientes comandos:\nsc config servicename start= demand sc config servicename start= auto De esta forma tan simple conseguiremos que la hora entre Windows y Linux se sincronice sin problema alguno.\n","permalink":"https://geeklandlinux.github.io/posts/sincronizar-la-hora-en-windows-y-linux-en-ordenadores-con-arranque-dual/","summary":"\u003cp\u003eMi ordenador dispone de un arranque dual con Windows y Linux. El principal problema es que la hora de Windows nunca coincide con la de Linux. En mi caso siempre había un desfaz de exactamente 2 horas. Para solucionar este problema y para sincronizar la hora entre Windows y Linux en un ordenador con dual boot hay que realizar lo siguiente.\u003c/p\u003e","title":"Sincronizar la hora en Windows y Linux en ordenadores con arranque dual"},{"content":"A continuación veremos una solución para poder gestionar contraseñas con software libre y sin depender de una infraestructura de terceros. La solución que propongo es la siguiente:\nUtilizar la nube Nextcloud para alojar la base de datos que contendrá nuestras contraseñas. De esta forma podremos sincronizar las contraseñas en la totalidad de nuestros dispositivos. Usar la aplicación Keeweb en Nextcloud. De esta forma estemos donde estemos podremos consultar, almacenar y gestionar nuestras contraseñas mediante una interfaz web. En nuestro ordenador personal usaremos el gestor de contraseñas KeepassXC. KepassXC se conectará y trabajará con la base de datos de contraseñas alojada en Nextcloud. KeepassXC está disponible para Windows, Linux y MacOS. En Android usaremos el gestor de contraseñas Keepass2Android. Al igual que KeepassXC, Keepass2Android se conectará y trabajará con el archivo de contraseñas almacenado en Nextcloud. En Firefox y en chrome usaremos la extensión KeePassXC-Browser. De esta forma podremos autorellenar las contraseñas para acceder a nuestros servicios mientras navegamos. Nota: Keeweb, KeepassXC, Kepass2Android y KeePassXC-Browser son programas distintos que trabajan con un mismo formato de base de datos. Por esto motivo con software diferentes podremos usar una base de datos de contraseñas común. La opción mencionada en el artículo es la más sencilla si nuestro objetivo es gestionar nuestras contraseñas con software libre y sin depender de una infraestructura de terceros.\nSi queremos gestionar nuestras contraseñas con software libre dependiendo de una infraestructura de terceros les recomiendo el uso de Bitwarden. Bitwarden funciona de forma muy similar a LastPass, pero con la ventaja que es Software Libre.\nVENTAJAS DE GESTIONAR CONTRASEÑAS CON NUESTRA NUBE Y SOFTWARE LIBRE La solución que aplicaremos a continuación implica el uso de software libre y alojar la base de datos en nuestra propia nube. Si aplicamos la solución propuesta dispondremos de las siguientes ventajas y prestaciones:\nTendremos el control total de nuestras contraseñas. Las contraseñas estarán alojadas en nuestro propio servidor y no estarán en un servidor de terceros. ¿Os fiáis de almacenar contenido sensible en un servidor que no está gestionado por nosotros? Aunque estemos en un ordenador ajeno podremos gestionar y disponer de nuestras contraseñas desde cualquier lugar. Las contraseñas se sincronizarán entre dispositivos. Podremos autocompletar de forma automática las contraseñas en nuestro ordenador y en nuestro teléfono. El software utilizado será 100% software libre. Por lo tanto podemos estar seguros de nuestra privacidad. Las contraseñas estarán cifradas. Por lo tanto aunque alguien consiga acceder a nuestra nube no podrá conseguir fácilmente nuestras contraseñas. Podremos generar contraseñas seguras sin necesidad de tener que recordarlas. Clasificar y realizar búsquedas de nuestras contraseñas de forma sencilla. INFRAESTRUCTURA NECESARIA PARA GESTIONAR CONTRASEÑAS DE FORMA SEGURA Los 2 únicos requisitos para seguir las instrucciones del tutorial son:\nDisponer de una Raspberry Pi o un ordenador Personal en el que instalaremos Nextcloud. Tener conexión a Internet. PASOS A SEGUIR PARA GESTIONAR CONTRASEÑAS DE FORMA AUTÓNOMA Y SEGURA Los pasos a seguir para poder gestionar nuestras contraseñas en la totalidad de nuestros dispositivos son los siguientes:\nINSTALAR Y CONFIGURAR UNA NUBE NEXTCLOUD El paso más importante es instalar Nextcloud. Nextcloud se encargará que las contraseñas estén disponibles en cualquier lugar y asegurará la sincronización de contraseñas entre dispositivos.\nPara instalar y configurar Nextcloud en una Raspberry Pi pueden seguir los enlaces que les dejo a continuación:\nhttps://geeklandlinux.github.io/posts/instalar-nextcloud-mariadb-lighttpd/\nhttps://geeklandlinux.github.io/posts/configurar-optimizar-rendimiento-nextcloud/\nSi por lo contrario pretenden instalar Nextcloud en un ordenador o servidor que use el sistema operativo Ubuntu pueden seguir las instrucciones detalladas a continuación:\nhttps://geeklandlinux.github.io/posts/instalar-nextcloud-en-ubuntu/\nNota: Si quieren pueden usar otras nubes como Google Drive, Dropbox, OneDrive, etc. Pero en el momento de hacerlo almacenarán sus contraseñas en un servidor que no sabemos que hará con nuestra información. INSTALAR Y CONFIGURAR KEEPASSXC EN NUESTRO ORDENADOR En función del sistema operativo que usen deberán instalar KeepassXC del siguiente modo.\nInstalar el gestor de contraseñas KeepassXC en Debian, Ubuntu y distribuciones derivadas Para instalar KeepassXC en Debian, Ubuntu y distribuciones derivadas de Debian y Ubuntu tienen que ejecutar el siguiente comando en la terminal:\nsudo apt install keepassxc Instalación del gestor de contraseñas KeepassXC en Windows Si usan Windows pueden descargar KeepassXC de la siguiente web:\nhttps://keepassxc.org/download/#windows\nUna vez descargado el archivo de instalación lo instalarán de forma habitual.\nInstalar el gestor de contraseñas KeepassXC en MacOS Si por lo contrario quieren instalar KeepassXC en MacOS deberán dirigirse a la siguiente URL para descargar el programa:\nhttps://keepassxc.org/download/#mac\nUna vez descargado el archivo de instalación tan solo tendrán que instalarlo de la forma habitual.\nCrear una base de datos en la nube para gestionar contraseñas Abrimos la aplicación KeepassXC. Una vez abierta clicamos en la opción Crear una nueva base de datos.\nSuponiendo que tenemos instalado y configurado un cliente de Nextcloud definimos un nombre para la base de datos y la guardamos en la ubicación que queramos dentro de la carpeta que está constantemente sincronizándose con Nextcloud.\nNota: En el caso que no quieran usar un cliente de Nextcloud pueden sincronizar la base de datos mediante el protocolo WebDav. Finalmente definimos la contraseña que queremos que tenga nuestra base de datos y presionamos el botón Aceptar.\nEn estos momentos ya disponemos de una base de datos en la nube. Además, la base de datos podrá sincronizarse con el resto de nuestros equipos.\nIntroducir las primeras entradas a la base de datos de contraseñas Para introducir contenido a nuestra base de datos clicamos encima del icono Añadir nueva entrada.\nA continuación introducimos la información necesaria para loguearnos a un determinado servicio que en mi caso será Dropbox. La información necesaria será la siguiente:\nTítulo: Podemos poner el nombre del servicio que en mi caso será Dropbox. Nombre de usuario: Corresponde al usuario o email que introducimos para loguearnos a nuestra cuenta de Dropbox. Contraseña y Repetir: En los campos Contraseña y Repetir tenemos que introducir la contraseña que usamos para loguearnos al servicio de Dropbox. URL: En el campo URL tenemos que introducir la dirección web que aparece en el navegador en el momento de introducir el usuario y la contraseña de Dropbox. Una vez introducidos todos los datos presionamos el botón Aceptar.\nNota: Si queremos podemos configurar muchas más opciones como por ejemplo añadir fecha de caducidad a la contraseña, poner notas, clasificar las contraseñas por grupos, etc. INSTALAR Y CONFIGURAR KEEWEB EN NEXTCLOUD Disponemos de 2 opciones para instalar Keeweb. La más sencilla es accediendo al apartado de Aplicaciones de Nextcloud.\nUna vez dentro, en el cuadro de búsqueda escribimos Keeweb y presionamos enter. Una vez finalizada la búsqueda clicamos en el botón Descargar y Activar.\nDe este forma tan sencilla ya hemos instalado Keeweb en Nextcloud.\nSi pretendemos realizar una instalación manual deberemos ejecutar el siguiente comando en la terminal del sistema operativo donde tenemos instalado Nextcloud:\nwget https://github.com/jhass/nextcloud-keeweb/releases/download/v0.5.0/keeweb-0.5.0.tar.gz Acto seguido descomprimiremos el fichero que acabamos de descargar en la carpeta de Apps de Nextcloud. Para ello en mi caso ejecutaré el siguiente comando en la terminal:\nsudo tar xvf keeweb-0.5.0.tar.gz -C /var/www/html/nextcloud/apps/ Una vez descomprimido el archivo lo podemos borrar ejecutando el siguiente comando en la terminal:\nrm keeweb-0.5.0.tar.gz Configurar Nextcloud para que pueda detectar la extensión de archivo .kdbx Para que Nextcloud sea capaz de detectar la extensión de archivo .kdbx que contendrá la base de datos ejecutaremos el siguiente comando en la terminal:\nsudo cp /var/www/html/nextcloud/resources/config/mimetypemapping.dist.json /var/www/html/nextcloud/config/mimetypemapping.json A continuación editaremos el archivo mimetypemapping.json ejecutando el siguiente comando en la terminal:\nsudo nano /var/www/html/nextcloud/config/mimetypemapping.json Cuando se abra el editor de archivos nano añadiremos el siguiente código en la penúltima línea:\n\u0026#34;kdbx\u0026#34;: [\u0026#34;application/x-kdbx\u0026#34;] Una vez introducida la línea guardamos los cambios y cerramos el fichero.\nSeguidamente aseguramos que los grupos y los permisos de la aplicación Keeweb son los correctos. Para ello en mi caso ejecutaré el siguiente comando en la terminal:\nsudo chown -R www-data:www-data /var/www/html/nextcloud/apps/keeweb A continuación accederemos a la ubicación raíz de Nextcloud ejecutando el siguiente comando en la terminal:\ncd /var/www/html/nextcloud/ Acto seguido ejecutaremos el siguiente comando para asegurar que se apliquen las configuraciones que acabamos de realizar:\nsudo -u www-data php occ files:scan --all Finalmente nos dirigimos al menú de apps de Nextcloud.\nUna vez dentro del apartado de aplicaciones comprobamos que la aplicación Keeweb esté activada. En el caso que no esté activada presionen sobre el botón Activar.\nConsultar e introducir contraseñas en KeeWeb Una vez instalado Keeweb podemos consultar y añadir nuevas entradas a nuestra base de datos. Para ello abrimos Nextcloud, nos dirigimos a la ubicación donde almacenamos la base de datos y clicamos sobre la base de datos:\nA continuación tenemos que introducir la contraseña de nuestra base de datos y presionar Enter:\nSeguidamente podremos ver y consultar la totalidad de nuestras contraseñas:\nTambién podremos añadir nuevas contraseñas. Para ello presionamos el botón + y cuando se despliegue el menú clicamos encima de la opción Entry.\nActo seguido tan solo tenemos que introducir la totalidad de información y credenciales para acceder al servicio que queramos:\nLas opciones para introducir y clasificar las contraseñas serán equivalentes a KeePassXC.\nINSTALAR Y CONFIGURAR KEEPASS2ANDROID EN NUESTRO DISPOSITIVO ANDROID Para instalar Keepass2Android cliquen en el siguiente enlace:\nhttps://play.google.com/store/apps/details?id=keepass2android.keepass2android\u0026amp;hl=es\nActo seguido pulsen encima del botón Instalar.\nA continuación abrimos la aplicación y presionamos encima de la opción Abrir archivo\u0026hellip;\nLa base de datos de contraseñas está ubicada en nuestra nube Nextcloud. Por lo tanto el siguiente paso consiste en clicar encima de la opción Nextcloud.\nActo seguido ingresamos la URL y las credenciales que usamos para acceder a Nextcloud vía navegador web. A continuación presionamos en el botón Aceptar.\nSeguidamente navegamos hacia la ubicación donde guardamos la base de datos de contraseñas. Una vez encontrada la base de datos presionamos sobre ella.\nFinalmente tan solo tenemos que escribir la contraseña para desbloquear la base de datos y presionar el botón Desbloquear.\nA partir de estos momentos podremos consultar y gestionar nuestras contraseñas con nuestro dispositivo Android. Además cualquier cambio que hagamos en la base de datos se sincronizará en la totalidad de nuestros dispositivos.\nUna vez dentro de la aplicación podremos configurar el autocompletado, usar nuestra huella dactilar para desbloquear la base de datos, introducir nuevas contraseñas, consultar, crear y agrupar contraseñas, etc.\nINSTALAR Y CONFIGURAR KEEPASSXC-BROWSER EN FIREFOX, CHROME, CHROMIUM Y VIVALDI Para autocompletar las contraseñas de las webs que visitamos tenemos que acceder a KeepassXC y dar los permisos pertinentes.\nDar autorización a nuestro navegador para que pueda conectarse a la base de datos de contraseñas Abrimos la aplicación KeePassXC y clicamos en el botón de Configuración:\nActo seguido presionamos en la opción Integración con Navegadores. A continuación marquen la opción Permitir la integración de KeepassXC con el navegador. Finalmente tan solo hay que seleccionar los navegadores que usan habitualmente y presionar sobre el botón Aplicar.\nA partir de estos momentos, los navegadores seleccionados tendrán permiso para conectarse a la base de datos que contienen las contraseñas.\nInstalar y configurar la extensión KeePassXC-Browser en nuestro navegador El siguiente paso consiste en instalar la extensión de KeePassXC-Browser en nuestro navegador. Para ello, si usamos Firefox clicaremos en el siguiente enlace para dirigirnos a la web que nos permitirá instalar la extensión:\nhttps://addons.mozilla.org/en-US/firefox/addon/keepassxc-browser/\nSi por lo contrario usamos Google Chrome, Chromium o Vivaldi tendremos que clicar en el siguiente enlace:\nhttps://chrome.google.com/webstore/detail/keepassxc-browser/oboonakemofpalcgghocfoadofidjkkk\nUna vez dentro de la página que nos permitirá instalar la extensión clican sobre el botón Add to Firefox o Añadir a Chrome. Acto seguido se procederá a la instalación de la extensión.\nAl finalizar la instalación aparecerá el icono de Kepass en el panel de extensiones del navegador. Posicionamos el puntero del ratón sobre el icono de KeePassXC-Browser, clicamos el botón izquierdo del ratón y cuando aparezca el menú contextual presionamos encima del botón Conectar.\nA continuación introducimos un nombre único que se usará como identificador al conectarnos a nuestra base datos. En mi caso uso el nombre geekland y presiono el botón Guardar y permitir acceso.\nA partir de estos momentos nuestro navegador tendrá acceso a la totalidad de contraseñas y credenciales almacenadas en nuestra base de datos.\nAUTOCOMPLETAR LAS CONTRASEÑAS DE FORMA AUTOMÁTICA La solución propuesta en el artículo permite autorellenar los usuarios y contraseñas para acceder a nuestros servicios. Para ello deberemos proceder del siguiente modo:\nAUTOCOMPLETAR CONTRASEÑAS EN EL NAVEGADOR WEB DE NUESTRO ORDENADOR Asegurar que KeePassXC esté abierto y estemos logueados. Es necesario tenerlo abierto para que el navegador pueda conectarse a la base de datos de contraseñas.\nAbrimos el navegador y nos dirigimos al servicio web que queremos usar que en mi caso es Mega. Nos posicionamos encima del cuadro de texto para escribir el usuario. Presionamos el botón derecho del ratón y cuando aparezca el menú contextual posicionamos el puntero del mouse en la opción KeePassXC Browser. Acto seguido clicamos en la opción Llene nombre de Usuario y Contraseña.\nAl ser la primera vez que autorellenamos las credenciales para acceder Mega recibiremos la advertencia que Mega quiere usar nuestra base de datos de contraseñas. Frente a la advertencia tildamos la opción Recordar esta decisión y presionamos el botón Permitir. De esta forma Mega siempre tendrá permiso para acceder a las credenciales que tenemos almacenadas en nuestra base datos.\nUna vez otorgados los permisos necesarios volvemos a repetir la operación que realizamos anteriormente:\nActo seguido se rellenarán los campos de usuario y contraseña. En este momento tan solo tenemos que clicar sobre el botón Iniciar Sesión.\nAUTOCOMPLETAR CONTRASEÑAS EN NUESTRO TELÉFONO ANDROID En Android también podremos autorellenar fácilmente las credenciales para acceder a nuestros servicios. Para ello tienen que seguir las siguientes instrucciones.\nActivar el teclado Keepass2Android La primera vez que usamos Keepass2Android tendremos que añadir el teclado de KeePass2Android. Para ello nos dirigimos a la web en que tenemos que introducir el usuario y la contraseña y presionamos el botón de opciones de configuración:\nCuando se abra el menú presionamos encima de la opción Compartir\u0026hellip;\nActo seguido presionamos encima de la opción Kepass2Android: Buscar.\nA continuación activamos el teclado Keepass2Android:\nDe este modo el teclado de KeePass2Android ya estará activado de forma permanente.\nAutocompletar contraseñas en Android Una vez finalizada la activación del teclado volvemos a clicar encima del botón de opciones de configuración:\nCuando se abra el menú presionamos encima de la opción Compartir\u0026hellip;\nActo seguido presionamos encima de la opción Kepass2Android: Buscar.\nA continuación seleccionamos el teclado Keepass2Android:\nFinalmente nos posicionamos en el cuadro de texto en que tenemos que introducir el usuario y presionamos el botón del teclado Usuario. Del mismo nos posicionamos dentro del cuadro de texto para introducir la contraseña y presionamos el botón Contraseña. Una vez rellenados los campos usuario y contraseña presionamos el botón Iniciar sesión para acceder a nuestro servicio.\nUna vez hayan accedido al servicio pueden reactivar el teclado que acostumbran a usar de forma habitual. Recuerden que pueden cambiar fácilmente de teclado clicando en el icono para cambiar el teclado.\nAUTOCOMPLETAR CONTRASEÑAS CON KEEWEB Keeweb no permite autocompletar usuarios y contraseñas. Pero tiene la utilidad de poder consultar nuestras contraseñas en cualquier equipo y en cualquier lugar. Para ello tan solo tienen que acceder a Keeweb y consultar las credenciales del servicio a que necesitan acceder:\n","permalink":"https://geeklandlinux.github.io/posts/gestionar-contrasenas-software-libre/","summary":"\u003cp\u003eA continuación veremos una solución para poder gestionar contraseñas con software libre y sin depender de una infraestructura de terceros. La solución que propongo es la siguiente:\u003c/p\u003e","title":"Gestionar contraseñas con software libre de forma segura y  privada"},{"content":"En el fondo da igual que un blog sea personal, pequeño, grande, corporativo, que participan muchas o pocas personas, etc. Sea como sea el blog, los hay de calidad y pésimos. No obstante en mi caso prefiero visitar los blogs personales por las razones que detallaré a continuación.\nPUNTOS QUE NO ME GUSTAN DE LOS GRANDES BLOGS Pienso que una gran parte de los blogs comerciales/grandes que reciben muchas visitas tienen los siguientes problemas si los comparamos con los blogs personales.\nSu principal objetivo es ganar dinero Los grandes blogs tienen un objetivo muy claro que es ganar dinero. Esto acabada derivando en los siguientes situaciones:\nPublican por publicar. Obviamente se preocupan por el contenido que publican, pero para ellos es más importante la cantidad y escribir para agradar a Google. El contenido y los lectores son secundarios y su fin principal es la monetización y aparecer en las primeras posiciones de Google. Publicitan productos. La gran mayoría de veces que hablan sobre un producto o servicio es porque es un post patrocinado. Tengan en cuenta que si un blog de los grandes recomienda que compréis un producto o servicio es porque alguien les paga por ello. Por lo tanto sus opiniones están claramente condicionadas y no son fiables. Están plagados de anuncios y persiguen a sus lectores. Los blogs grandes acostumbran a estar infestados de banners publicitarios y pop-up que perjudican la experiencia del lector. En la mayoría de blogs importantes aparecen ventanas emergentes (Pop-up) para nos suscribamos a una newsletter, para recibir notificaciones sobre cuando se publica contenido nuevo, etc. Obviamente el número de blogs personales que actuan de está forma es mucho menor.\nSu contenido no es original y no es de calidad Un factor importante del posicionamiento SEO es la cantidad de artículos que se publican. Por esto motivo los blogs grandes se limitan a publicar por publicar. Los redactores de blogs grandes tienen presión para publicar y esto genera las siguientes situaciones:\nLos blogs o páginas web acaban tocando demasiados temas con poca profundidad y de forma incorrecta. Si buscáis podréis encontrar periódicos deportivos o de información general que se atreven a realizar tutoriales de tecnología que escapan a sus conocimientos. Copian o usan el contenido de blogs pequeños sin tan siquiera citarlos ni dejar un enlace hacia la fuente original. En algunas ocasiones he sido víctima de lo que cuento en este punto. Acostumbran a tratar temas de actualidad de forma muy superficial. Esto generá que en un mismo día hayan 200 blogs que cuentan exactamente la misma noticia con distintas palabras. Se copian unos de otros sin aportar ningún hecho diferencial. Publican sobre temas que no tienen interés alguno para la mayoría de lectores. Por ejemplo dudo que al público en general le interese saber que ha salido una versión de Firefox que lo único que hace es solventar 2 o 3 problemas de seguridad. Generan artículos que son simples traducciones de blogs de habla inglesa. Una vez traducido y publicado el artículo es copiado y reescrito con distintas palabras por el resto de blogs. En contraposición los blogs personales y/o de pequeña envergadura publican cuando tienen algo interesante que contar.\nNo son cercanos y no ofrecen soporte a sus lectores En un blog personal y/o pequeño acostumbra a existir la cercanía. Si tienes un problema dejas un comentario y lo más probable es que el autor u otro lector intente ayudar.\nEn cambio, los blogs importantes se dedican a publicar por publicar y a monetizar. No les importan en absoluto los problemas o preguntas de sus lectores ya que su principal fin es agradar a Google y ganar dinero.\n¿La calidad es más importante que la cantidad? Google dice que generar contenido único y de calidad es lo más importante para el SEO. Pueden decirlo tantas veces como quieran que para mi no es cierto.\nSi eres propietario de un blog humilde y escribes un artículo mensual de calidad, no tendrás visibilidad alguna y tu número de visitas será cero.\nEn cambio, si eres un blog con recursos que publica 200 artículos que no aportan nada, si tendrás visibilidad e incluso puedes tener muchos lectores.\nPor lo tanto, me parece que Google premia más la cantidad que la calidad. Existen blogs que son obras de arte y apenas reciben visitas porque no se preocupan por el SEO y su frecuencia de publicación es escasa.\nNota: El algoritmo de Google no valora unicamente la calidad y la cantidad. El algoritmo de Google valora centenares de factores. El algoritmo de Google no es justo ni perfecto A priori Google tiene un algoritmo justo que posiciona los blogs en su buscador. El problema es que los blogs grandes tienen muchos más recursos y conocimientos para adaptarse al algoritmo de Google. Los grandes blogs disponen de las siguientes ventajas:\nForman parte de cadenas de blogs. Los blogs pertenecientes a una cadena de blogs se enlazan entre ellos consiguiendo enlaces de calidad de forma fácil y rápida. Conseguir enlaces de calidad les aupará fácilmente en las primeras posiciones del buscador. Algunas redes de blogs importantes son ADSL Zone, Univision, Webedia, etc. Estas redes de blogs cuentan con webs como por ejemplo Xataka, Genbeta, ADSL Zone, Redes Zone, Andro4all, etc. Disponen de recursos y expertos en SEO que se encargan de asegurar que los artículos aparezcan siempre en las primeras posiciones. Tienen un gran equipo de redactores dispuestos a crear contenido. Cuando más contenido puedan crear mejor porque acostumbran a cobrar por artículo publicado. Las reglas son iguales para todos, pero no todos tienen los mismos recursos y oportunidades para adaptarse a las reglas. Esto acaba generando que el contenido que aparece en las primeras posiciones de Google no sea el de mayor calidad. El contenido mejor posicionado es el que se adapta más al algoritmo de Google.\nFrente a lo que acabo de citar les recomiendo no usar el buscador de Google. O en caso que lo usen hagan el ejercicio de despreciar la primera o incluso la segunda página de los resultados de búsqueda. Verán que el contenido sigue siendo igual de bueno o mejor que el que aparece en las primeras posiciones.\nPUNTOS FUERTES DE LOS BLOGS PERSONALES Y HUMILDES Su frecuencia de publicación es mucho menor, pero como contrapartida hay un trabajo y esfuerzo importante que acostumbra a generar contenido diferente y de calidad. Los redactores acostumbran a dominar el tema del que hablan y pueden tratarlo con total libertad.\nLos blogs personales y pequeños son cercanos y las personas que están detrás les gusta interactuar con sus lectores. En muchas ocasiones los blogs son temáticos y son un punto de encuentro y debate para personas con intereses comunes.\nLos redactores de blogs pequeños y blogs personales acostumbran a escribir porque les gustan y apasionan los temas que tratan. No esperan ganar dinero y acostumbran a dar impresiones y consejos fiables. Cuando te recomiendan que compres un producto o servicio es porque realmente es bueno.\nLos blogs personales acostumbran a preservar más tu privacidad. Si visitas un un blog grande todo lo que haces es monitorizado y vete a saber que hacen con los datos que recopilan de sus visitantes.\nSi tu también quieres decir la tuya sobre el tema tratado en este artículo te animo a escribir en los comentarios del blog.\n","permalink":"https://geeklandlinux.github.io/posts/recomiendo-leer-blogs-personales/","summary":"\u003cp\u003eEn el fondo da igual que un blog sea personal, pequeño, grande, corporativo, que participan muchas o pocas personas, etc. Sea como sea el blog, los hay de calidad y pésimos. No obstante en mi caso prefiero visitar los blogs personales por las razones que detallaré a continuación.\u003c/p\u003e","title":"Porqué recomiendo leer blogs personales en vez de blogs comerciales"},{"content":"Markdown es un lenguaje de marcado como html, pero con la particularidad que es mucho más sencillo y práctico de usar. Además su curva de aprendizaje es extremadamente sencilla y proporciona ventajas en lo que a productividad se refiere. Por este motivo, a continuación veremos como aprender Markdown de forma rápida y sencilla. En cuestión de minutos todo el mundo debería ser capaz de aprender Markdown.\nNota: Existen diferencias entre editores de Markdown. Por lo tanto es posible que algunos de los editores no acepten alguna/s de las sintaxis mostrada en el artículo. APRENDER MARKDOWN: SALTOS DE LÍNEA Y PÁRRAFOS EN MARKDOWN El primer concepto para aprender Markdown es entender los saltos de línea y párrafo. En nuestro editor de markdown podemos escribir como en un procesador de textos normal y corriente.\nSi empiezo a escribir se genera un párrafo. En el momento que presiono enter para saltar a la siguiente línea se producirá un salto de línea.\nSi terminamos de escribir un párrafo y queremos generar un nuevo párrafo tenemos que dejar una línea en blanco.\nEn la siguiente captura de pantalla veréis un texto en Markdown y justo al lado su equivalente en código html.\nSi analizamos la equivalencia entre el texto Markdown y html veremos claramente lo que acabo de comentar:\nCREAR ENCABEZADOS O TÍTULOS EN MARKDOWN Otro punto básico que tenemos que abordar para aprender Markdown son los encabezados. Mediante el carácter almohadilla # podemos crear encabezados de forma extremadamente sencilla.\nMarkdown permite crear títulos o encabezados de nivel uno, dos, tres, cuatro, cinco y seis de forma extremadamente sencilla.\nPara crear un encabezado de nivel 1 escribimos una almohadilla # seguido de un espacio y el nombre que queremos para el encabezado:\n# Encabezado nivel 1 geekland Párrafo del encabezado 1 Si pretendemos crear un encabezado nivel 2 haremos exactamente los mismo, pero en vez de una almohadilla usaremos dos ##:\n## encabezado nivel 2 geekland Párrafo del encabezado 2 Y así de forma sucesiva podremos crear encabezados de nivel 3, 4, 5 y 6.\nA continuación podéis ver un ejemplo de lo que acabamos de citar en este apartado:\nSi analizamos la equivalencia entre el código Markdown y html vemos que los encabezados en Markdown contienen id. De esta forma podremos realizar fácilmente un el índice del documento y el texto quedará más estructurado semanticamente.\nINCLUIR CITAS EN NUESTROS TEXTOS Para incluir una cita tenemos que usar el símbolo \u0026gt; seguido de un espacio antes del texto que queremos citar. Por lo tanto, si quiero citar un comentario y replicarlo deberíamos usar el siguiente código:\n\u0026gt; Linux es un sistema operativo que no está a la altura de los demás. No estoy de acuerdo El código Markdown que acabamos de citar se visualizará del siguiente modo:\nREALIZAR LISTAS EN MARKDOWN La siguiente temática que abordaremos con el fin de aprender Markdown son las listas. A continuación veremos el procedimiento para crear listar desordenadas, listas ordenas y listas anidadas.\nListas desordenadas en Markdown Mediante el símbolo * o - podemos crear listas. Para crear una lista de los días de la semana escribiremos * seguido de un espacio más el primer día de la semana.\nActo seguido presionaremos enter y cuando saltemos a la siguiente línea ya podremos escribir el siguiente día de la semana.\nPor lo tanto, para realizar una lista de los días de la semana usaremos el siguiente código:\n* Lunes * Martes * Miércoles - Lunes - Martes La representación del texto en Markdown que acabamos de escribir es la siguiente:\nListas ordenadas o numéricas con Mardown Para obtener listados ordenados numéricamente tenemos que escribir un número seguido de un punto y un espacio antes de comenzar a escribir.\nPara escribir un lista numérica de las partes que tiene un día escribiremos lo siguiente:\n1. mañana 2. tarde 3. noche El texto que acabamos de escribir se representará de la siguiente forma:\nAnidar listas en Markdown Para anidar una lista tan solo tenemos que incluir un espacio presionando la tecla Tab (Tabulador).\nUna ejemplo para que puedan ver lo que acabo de explicar es el siguiente:\n- Lunes 1- mañana 2- tarde 3- noche - Martes El código Markdown que acabamos de escribir se representará del siguiente modo:\nINCLUIR SEPARACIONES FÍSICAS ENTRE SECCIONES DE TEXTO Entre dos secciones de texto podemos incluir una separación física. Para ello tenemos que escribir 3 guiones bajos seguidos ___\nUn ejemplo de lo que acabo de citar es el siguiente:\nAquí termina la explicación del lenguaje Markdown. ___ A continuación iniciamos la explicación del código html. El ejemplo mostrado se visualizará del siguiente modo:\nPara aprender markdown sigan leyendo los siguientes apartados.\nDAR ESTILO AL TEXTO QUE ESCRIBIMOS Otro de los motivos para aprender Markdown es que permite dar estilo al texto que escribimos de forma extremadamente rápida. Podemos definir que un texto esté en negrita, cursiva o tachado. Para ello tendremos que utilizar el siguiente código:\nFormato Código a emplear Negrita **palabra** Cursiva *palabra* Tachado palabra Negrita + Cursiva ***palabra*** Tachado, Negrita y Cursiva **palabra** + Resto de combinaciones posibles Una muestra o ejemplo de lo que acabo de citar es el siguiente:\nPara subrayar palabras deberemos usar código html. La mayoría de editores Markdown permitirán mezclar código markdown con html. Por lo tanto, para subrayar una palabra los haremos del siguiente modo:\n\u0026lt;u\u0026gt;aprender markdown\u0026lt;/u\u0026gt; INSERTAR ENLACES DE TEXTO O DESCARGA Para incluir enlaces en un texto tenemos que utilizar el siguiente tipo de sintaxis:\n[texto_de_ancla](URL_que_queremos_enlazar_o_enlace_de_descarga) Por lo tanto si tenemos este texto:\nPi-hole es una opción interesante. Y queremos enlazar el texto Pi-Hole a una determinada URL tendremos que hacerlo del siguiente modo:\n[pi-hole](/posts/instalar-configurar-pi-hole-raspberry-pi/) es una opción interesante. Si lo creemos oportuno también podemos añadir un título al enlace con la siguiente sintaxis:\n[texto_de_ancla](URL_que_queremos_enlazar)”titulo_del_enlace” De este modo si en el ejemplo anterior queremos introducir el titulo ” explicación de como instalar Pi-hole” haremos lo siguiente:\n[pi-hole](https://geeklandlinux.github.io/posts/instalar-configurar-pi-hole-raspberry-pi/ ”Explicación de como instalar Pi-hole”) es una opción interesante. El resultado obtenido de usar el código que acabamos de ver es el siguiente:\nSi tan solo quiero enlazar una URL sin poner título alternativo, sin texto de ancla ni título lo podemos hacer del siguiente modo:\nhttps://geeklandlinux.github.io/posts/instalar-servidor-dlna-readymedia-raspberry-pi-linux/\u0026gt; INSERTAR IMÁGENES EN MARKDOWN El método para insertar imágenes es similar al método para insertar enlaces. La sintaxis es la misma y lo único que tenemos que modificar es:\nReemplazar el texto de ancla por el texto alternativo de la imagen. Añadir el símbolo ! al principio de la sintaxis. Por lo tanto su sintaxis es del siguiente tipo:\n![texto_alternativo_imagen](URL_imagen) Nota: La url puede ser una dirección local o una dirección que apunte a una imagen alojada en un servidor web. Por lo tanto, si queremos insertar una imagen usaremos el siguiente código:\n![Incrustar tipografía un un Powerpoint](images/incrustar-fuentes-microsoft-office-libreoffice.jpg) Si queremos añadir un título a la imagen lo haremos del siguiente modo. Después del código que acabamos de usar:\nDejamos un espacio. Abrimos comillas, escribimos el título que queramos y cerramos las comillas. Por lo tanto el código Markdown final será el siguiente:\n![Incrustar texto el Powerpoint](images/incrustar-fuentes-microsoft-office-libreoffice.jpg \u0026#34;Esto es un tutorial de geekland\u0026#34;) El resultado obtenido de aplicar la sintaxis de este apartado será el siguiente:\nLa imagen siempre se insertará en tamaño real. Si la queremos redimensionar lo deberemos hacer en función del editor de markdown que usemos. Muchos editores de Markdown permitirán redimensionar las imágenes mediante código html.\nSIMPLIFICAR LA CREACIÓN DE ENLACES E INSERCIÓN DE IMÁGENES En los 2 apartados anteriores hemos visto que crear enlaces e insertar imágenes puede resultar tedioso. Por esto motivo a continuación veremos como podemos simplificar su proceso.\nCrear enlaces de forma limpia y ordenada Escribiremos un texto y cada vez que aparezca una palabra que queramos enlazar la pondremos entre corchetes:\n[Geekland] es un blog que acostumbra a publicar tutoriales. [Geekland] también da soporte a los usuarios que lo píden. Una vez finalizado el texto, al final del documento definiremos los enlaces del siguiente modo:\n[Geekland]: https://geeklandlinux.github.io/ De este modo, todas las palabras Geekland del documento que estén entre corchetes se enlazarán con la URL geeklandlinux.github.io:\nInsertar imágenes de forma simple y ordenada La misma técnica que acabamos de ver también es útil para insertar imágenes. Si tenemos que insertar una imagen en varias partes del documento podemos escribir simplemente el texto alternativo de la imagen del siguiente modo:\n![incrustar fuentes] ![incrustar fuentes] Al final del documento definiremos la URL de la imagen del siguiente modo:\n[incrustar fuentes]: images/incrustar-fuentes-microsoft-office-libreoffice.jpg Si observamos el resultado obtenido vemos que podemos añadir una imagen tantas veces como queramos definiendo la URL solamente una vez.\nINSERTAR CÓDIGO EN MARKDOWN Markdown permite crear cajetines para insertar código y resaltar código dentro de una frase o párrafo. Para ello sigan las siguientes indicaciones.\nInsertar cajetines de código Markdown permite incluir cajetines de código en cualquier lenguaje de programación. Para ello tan solo tenemos que seguir el siguiente procedimiento:\nAntes de iniciar el código escribimos tres acentos abiertos ``` seguido del nombre del lenguaje que queremos insertar en el cajetín. Presionamos enter y escribimos el código. Para cerrar el cajetín volveremos a escribir tres acentos abiertos ```. Un ejemplo de la explicación que acabo de dar es el siguiente:\n```html \u0026lt;!DOCTYPE HTML\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;Ejemplo\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;?php echo \u0026#34;¡Hola, mundo PHP!\u0026#34;; ?\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; El resultado obtenido del código que acabamos de generar será el siguiente:\nResaltar código dentro de un texto párrafo Para resaltar código dentro de una frase tenemos que usar el símbolo de acento grave o abierto `. Por lo tanto, para resaltar código tan solo tengo que poner entre acentos graves tal y como se muestra en el siguiente ejemplo:\nEl comando para instalar LibreOffice es `sudo apt install libreoffice`. El resultado del ejemplo que acabo de poner es el que se muestra a continuación:\nREALIZAR LISTAS DE TAREAS O CHECKLIST Markdown nos permite crear listas de tareas de forma extremadamente sencilla. Para ello tan solo tenemos que abrir corchete, dejar un espacio y cerrar el corchete:\n[ ] En el caso que queramos marcar la tarea como realizada tenemos que reemplazar el espacio por una X del siguiente modo:\n[X] A continuación les dejo un ejemplo de como elaborar una lista de tareas:\n**Listado de tareas 14-12-2019** - [X] llevar los niños a natación - [X] aprender markdown - [ ] renovar mi suscripción del gimnasio El modo de visualización del texto Markdown que acabamos de ver es el siguiente:\nPor lo tanto, crear listas de tareas en Markdown es un proceso extremadamente rápido y sencillo.\nCREAR TABLAS EN MARKDOWN Es mucho más fácil crear tablas en Markdown que en html. Para generar tablas en Markdown usaremos los siguientes símbolos:\n| : -\u0026ndash; El primer paso para crear una tabla consiste en definir los títulos de las columnas. Para ello escribiremos los títulos de las columnas separados por tuberías | tal y como se muestra en el siguiente ejemplo:\n| Mes | Facturación | Comercial | Acto seguido repetiremos la línea que acabamos de escribir sustituyendo los títulos de las columnas por -\u0026ndash;\n| --- | --- | --- | En estos momentos hemos generado una tabla que tiene 3 columnas y una fila que con los títulos de las columnas. Finalmente añadiremos el resto de filas de la misma forma que añadimos las columnas:\n| Enero | 100.000 | Feli | | Enero | 200.000 | Fran C. | | Febrero | 400.000 | Feli | | Febrero | 50.000 | Fran C. | Con este simple código habremos generado una tabla. Si además queremos justificar a la derecha el contenido de la columna 2 y centrar todo el texto de la columna 3, lo haremos usando el símbolo : en la segunda fila del código Markdown:\n| Mes | Facturación | Comercial | | --- | ---: | :---: | | Enero | 100.000 | Feli | | Enero | 200.000 | Fran C. | | Febrero | 400.000 | Feli | | Febrero | 50.000 | Fran C. | La representación gráfica del texto en Markdown que acabamos de generar es la siguiente:\nPor lo tanto realizar tablas en Markdown es increíblemente más fácil que en html. Por esto motivo es útil aprender Markdown.\nINSERTAR COMENTARIOS O NOTAS AL PIE DE PÁGINA Para insertar una nota al pie de página lo haremos del siguiente modo.:\nJusto después de la palabra que queremos añadir una nota al pie de página escribiremos un corchete [ Acto seguido escribimos un acento circunflejo ^ A continuación escribimos una palabra sin espacios que describa el tipo de comentario que pondremos al pie de página El siguiente paso consistirá en cerrar el corchete ]. Seguidamente, en cualquier parte del documento reproducimos los mismos caracteres realizados en las pasos 1,2.3 y 4. A continuación escribimos el carácter : y finalmente escribimos la nota que queremos poner al pie de página. Un ejemplo de lo que acabamos de explicar es el siguiente:\nEste año visitaremos la Giralda[^1]. Será una visita importante. Es importante ir este año. [^1]: Nombre que recibe la torre campanario de la catedral de Santa Maria de la Sede. A continuación les muestro el resultado del código que acabamos de generar:\nNota: Para ser más ordenados sugiero definir la totalidad de notas al final del documento que estamos editando. DEFINIR ABREVIACIONES DE PALABRAS EN MARKDOWN En muchas ocasiones escribimos abreviaciones o palabras que necesitan una breve definición.\nSi queremos definir la abreviación TAS, en cualquier parte del documento hacemos lo siguiente:\nEscribimos un * Abrimos corchetes [ Escribimos la abreviación de palabra a definir. Cerramos corchetes ] y acto seguido escribimos : Finalmente dejamos un espacio y escribimos la definición de la abreviación. Un ejemplo de lo que acabo de citar es el siguiente:\nEl TAS aprobó su solicitud. *[TAS]: Tribunal de arbitraje del deporte. A partir de estos momentos siempre que escribamos TAS tendremos su definición disponible. La representación gráfica del código que acabamos de generar es la siguiente:\nComo podéis ver, cuando pasamos el ratón por encima de la palabra TAS nos aparecerá su definición o significado.\nNota: Recomiendo que se definan todas las abreviaciones al final de documento. De este modo el documento quedará mucho más ordenado. DEFINIR PALABRAS EN MARKDOWN Markdown permite realizar definiciones de palabras. Para ello tenemos que proceder del siguiente modo:\nEscribimos la palabra a definir y presionamos la tecla Enter. Acto seguido escribimos :, dejamos un espacio y empezamos a escribir la definición de la palabra. Un ejemplo de lo que acabo de mencionar es el siguiente:\nMarkdown : Es un lenguaje de marcado ligero creado por John Gruber Si queremos realizar la definición de una palabra con 2 acepciones lo podemos hacer el siguiente modo:\nMarkdown : Es un lenguaje de marcado ligero creado por John Gruber. : Es una palabra inglesa que significa reducción de precio. El código que acabamos de generar se visualizará del siguiente modo:\nANULAR CÓDIGO MARKDOWN Markdown usa símbolos comunes para dar formato al texto que escribimos. Por lo tanto es posible que se den casos nos interese anular el código markdown.\nPara anular el código Markdown tendremos que usar el carácter \\. A modo de ejemplo:\nSi escribimos:\n*geekland* Se mostrará el texto geekland en cursiva.\nSi queremos que no se aplique el código markdown y se muestre el texto real que hemos escrito tendremos que añadir una contrabarra \\ al inicio de la palabra del siguiente modo:\n\\*geekland* En la siguiente imagen podéis ver una ilustración gráfica de lo citado en este apartado:\nINSERTAR VÍDEOS EN MARKDOWN Otro aspecto que debemos abordar para aprender Markdown es la inserción de vídeos. El procedimiento será variable y en función del editor de Markdown que utilicen.\nPara usuarios de Markdown Editor en Nextcloud Si en Nextcloud usan Markdown Editor tan solo tienen que realizar lo siguiente:\nEscriben el símbolo de admiración !. Acto seguido abren corchetes [ y escriben el nombre del servicio en que está alojado el vídeo. Cierren corchetes ]. Finalmente, entre paréntesis peguen la URL del vídeo que quieren insertar. A continuación les dejo 2 ejemplos de lo acabo de citar:\n![youtube](https://www.youtube.com/watch?v=Mh0Of4LzEfk) ![vimeo](https://vimeo.com/76979871) Y el resultado obtenido es el siguiente:\nPara visualizar los videos tan solo tendremos que clicar sobre el icono Play.\nInsertar vídeos en el caso que su editor de Markdown acepte código html En los editores de Markdown que acepten html tan solo tendremos que usar el link de inserción que proporcionan servicios como Youtube, Vimeo o DailyMotion para insertar los vídeos en las web.\nPara obtener el link de Youtube que nos permitirá insertar un vídeo determinado lo haremos del siguiente modo. Empezamos a reproducir el vídeo que queremos insertar. Acto seguido, encima del vídeo presionamos el botón izquierdo del ratón y cuando aparezca el menú contextual clicamos encima de la opción Copiar código de inserción.\nActo seguido nos vamos a nuestro editor de Markdown y pegamos el contenido del portapapeles. De este modo tan sencillo podremos insertar vídeos los servicios de vídeo online más populares:\nSi desean insertar sonidos de servicios de audio como soundcloud, el procedimiento es el mismo que se muestra en este apartado. Tan solo tienen que buscar el link para insertar el sonido y pegarlo en su editor de Markdown.\nInsertar vídeos en el caso usemos un editor de markdown sin ningún tipo de soporte En el caso que su editor de markdown no tenga ningún tipo de soporte usaremos la siguiente sintaxis para insertar vídeos:\n[![texto_alternativo_imagen](url_imagen_que_representará_el_video)](url_del_vídeo_que_queremos_insertar) Un ejemplo de lo que acabo de citar es el siguiente:\n[![aprender markdown](https://i.ytimg.com/vi/POWdnjYfWDo/hqdefault.jpg)](https://www.youtube.com/watch?v=POWdnjYfWDo) El resultado obtenido será el siguiente:\nPara acceder a visualizar el vídeo tenemos que clicar encima de la imagen. En el momento de clicar la imagen se abrirá el navegador y se visualizará el vídeo.\nREALIZAR UNA TABLA O ÍNDICE DE CONTENIDOS EN MARKDOWN Como comentamos anteriormente los encabezados en Markdown contienen el atributo id. Esto nos permitirá realizar tablas de contenido de forma extremadamente sencilla.\nA modo de ejemplo, para crear un índice de contenido con el editor de markdown Typora tan solo tenemos que acceder al menú Párrafo y clicar encima de la opción Tabla de contenidos.\nSi queremos realizar una tabla de contenido de forma manual el procedimiento es un poco más tedioso y no es práctico. Por lo tanto, en el caso que su editor de Markdown no pueda crear tablas de contenido de forma automática les recomiendo lo siguiente.\nAccedan a la siguiente URL. Acto seguido peguen el texto Markdown que han generado a la columna de la izquierda y presionen el botón Convert. Acto seguido en la columna de la derecha se generará el código que generará la tabla de contenido.\nFinalmente copien el código de la columna de la derecha y peguenlo en su editor de Markdown. Acto seguido se generará la tabla de contenido:\nOTRAS FUNCIONALIDADES DE MARKDOWN Los editores de markdown permiten realizar prácticamente todo lo tengamos en mente. Tan solo tenemos que buscar información de como hacerlo y listo.\nLos editores de Markdown permiten realizar tareas adicionales como por ejemplo:\nInsertar ecuaciones. Redimensionar imágenes de forma sencilla. Etc. Para terminar decir que si quieren pueden hacer vuestras propuestas y preguntas en los comentarios del artículo. Como habrán visto aprender Markdown no es tan complicado. Aprender Markdown es cuestión de minutos y ayuda a incrementar nuestra productividad.\n","permalink":"https://geeklandlinux.github.io/posts/aprender-markdown-en-minutos/","summary":"\u003cp\u003eMarkdown es un lenguaje de marcado como html, pero con la particularidad que es mucho más sencillo y práctico de usar. Además su curva de aprendizaje es extremadamente sencilla y proporciona ventajas en lo que a productividad se refiere. Por este motivo, a continuación veremos como aprender Markdown de forma rápida y sencilla. En cuestión de minutos todo el mundo debería ser capaz de aprender Markdown.\u003c/p\u003e","title":"Aprender Markdown y MultiMarkdown de forma sencilla y rápida"},{"content":"En su día detallamos el procedimiento para instalar Pi-hole y bloquear la publicidad de todos los dispositivos conectados a nuestra red local. Incluso dispositivos Android sin root y iOS sin jailbreak. El problema de Pi-Hole es que solo bloquea la publicidad a nivel de red local. Si queremos bloquear la publicidad cuando estamos fuera de nuestra casa tendremos que combinar Pi-hole con OpenVPN.\nA continuación veremos el modo de combinar Pi-Hole y OpenVPN para conseguir los siguientes objetivos fuera de nuestra red local:\nBloquear los anuncios estemos donde estemos. Mejorar la privacidad mientras navegamos. Pi-hole también es capaz de bloquear las cookies y botones sociales que acostumbran a trackearnos. Ahorrar datos mediante el bloqueo de la publicidad. No hace falta recordar que los anuncios molestan y además consumen nuestros datos. Mejorar la seguridad de navegación. En algunos casos los anuncios representan una amenaza contra la seguridad de los usuarios. Nota: La totalidad de pasos mencionados en el artículo se han realizado en una Raspberry Pi. No obstante el procedimiento debería ser el mismo o prácticamente el mismo en distribuciones basadas en Debian. INSTALAR OPENVPN A TRAVÉS DE PIVPN Y PODERNOS CONECTAR A NUESTRA RED LOCAL En su día detallamos el procedimiento para instalar y configurar OpenVPN en nuestra Raspberry Pi. Por lo tanto les dejo el siguiente enlace para que instalen y configuren OpenVPN en su equipo.\nhttps://geeklandlinux.github.io/posts/instalar-servidor-openvpn-raspberry-pivpn/\nINSTALAR PI-HOLE PARA RESOLVER PETICIONES DNS Y BLOQUEAR LOS ANUNCIOS En el pasado también vimos el procedimiento para instalar y configurar Pi-Hole. Por lo tanto les dejo el siguiente enlace para que puedan instalar y configurar Pi-Hole:\nhttps://geeklandlinux.github.io/posts/instalar-configurar-pi-hole-raspberry-pi/\nCOMBINAR OPENVPN Y PI-HOLE PARA BLOQUEAR LA PUBLICIDAD FUERA DE NUESTRA RED LOCAL Cuando tengamos Pi-Hole y OpenVPN operativos los configuraremos para que trabajen de forma conjunta. Para ello seguiremos las siguientes instrucciones.\nAveriguar la interfaz de red de su Raspberry Pi o equipo Necesitamos conocer la interfaz de red que está usando nuestra Raspberry Pi o equipo con Linux. Para ello ejecutaremos el siguiente comando en la terminal:\nifconfig -s El resultado obtenido en mi caso es el siguiente:\nIface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg enxb827eb817a9d 1500 0 0 0 0 0 0 0 0 0 BMU lo 65536 0 31447 0 0 0 31447 0 0 0 LRU tun0 1500 0 7712 0 0 0 42743 0 0 0 MOPRU wlan0 1500 0 167992 0 0 0 157278 0 0 0 BMRU La interfaz tun0 corresponde a la del servidor VPN y la lo “Loopback” a nuestra red local. Por lo tanto mi Raspberry Pi está usando la interfaz wlan0. En el caso que tengan su equipo conectado por cable tendrán una interfaz diferente de wlan0.\nAveriguar la el rango de red e IP del servidor OpenVPN A continuación averiguaremos el rango de red de la interfaz tun0. Para ello ejecutamos le siguiente comando en la terminal:\nip a show dev tun0 Los valores obtenidos en mi caso son:\n4: tun0: \u0026lt;POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP\u0026gt; mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100 link/none inet 10.8.0.1/24 brd 10.8.0.255 scope global tun0 valid_lft forever preferred_lft forever inet6 fe80::9591:9316:b25b:fee3/64 scope link flags 800 valid_lft forever preferred_lft forever El rango de red es 10.8.0.1/24. Y el valor que debo anotar para futuras configuraciones es 10.8.0.1. 10.8.0.1 es la IP de nuestro servidor OpenVPN.\nConfigurar OpenVPN para que use Pi-Hole como servidor DNS Configuraremos OpenVPN para que use Pi-Hole como servidor DNS. De este modo, cuando nos conectemos a través de nuestro VPN se bloquearán la totalidad de anuncios. Para ello accedemos al fichero de configuración del servidor OpenVPN ejecutando el siguiente comando en la terminal:\nsudo nano /etc/openvpn/server.conf Una vez se abra el fichero de texto comentaremos la totalidad de líneas que empiezan por:\npush \u0026#34;dhcp-option DNS ******** En mi caso he comentado las siguientes lineas:\n#push \u0026#34;dhcp-option DNS 8.8.8.8\u0026#34; #push \u0026#34;dhcp-option DNS 8.8.4.4\u0026#34; Acto seguido añadiremos la siguiente línea:\npush \u0026#34;dhcp-option DNS 10.8.0.1\u0026#34; Donde 10.8.0.1 corresponde a la IP del servidor VPN que hemos hallado en el apartado anterior. Realizando esta configuración conseguiremos que las peticiones DNS a través del servidor OpenVPN sean resueltas por Pi-Hole.\nUna vez realizadas las modificaciones guardamos los cambios y cerramos el fichero.\nConfigurar Pi-Hole para que pueda escuchar la interfaz tun0 Para que Pi-Hole pueda resolver las peticiones provenientes del servidor OpenVPN tendrá que escuchar la interfaz del servidor OpenVPN tun0. Para ello accedemos al fichero de configuración setupVars.conf ejecutando el siguiente comando en la terminal:\nsudo nano /etc/pihole/setupVars.conf Una vez se abra el editor de textos localizamos una línea del siguiente tipo:\nPIHOLE_INTERFACE=***** Justo por debajo de esta linea añadimos la siguiente:\nPIHOLE_INTERFACE=tun0 Una vez realizadas las modificaciones guardamos los cambios y cerramos el fichero.\nActo seguido crearemos el fichero 02-ovpn.conf ejecutando el siguiente comando en la terminal:\nsudo nano /etc/dnsmasq.d/02-ovpn.conf Una vez se abra el editor de texto pegaremos el siguiente código:\ninterface=tun0 interface=wlan0 Nota: tun0 corresponde a la interfaz de red del servidor VPN. wlan0 corresponde a la interfaz de red de nuestra Raspberry Pi. Ambos valores se han hallado en apartados anteriores. A continuación guardaremos los cambios y cerraremos el fichero.\nFinalmente accedemos a la interfaz web de Pi-Hole y en el apartado de Settings clicamos la pestaña DNS. Acto seguido tildamos la opción Listen on all interfaces.\nFinalmente tan solo tendremos que presionar en el botón SAVE para guardar los cambios.\nConfiguración del Firewall de nuestra Raspbery Pi o equipo En el caso que tengan configurado el Firewall de su Raspberry Pi o sistema operativo Linux aseguren que tener las reglas correctas. En el caso de usar Iptables es preciso que apliquéis las siguientes reglas:\n#Peticiones DNS a traves de VPN iptables -A INPUT -p udp --dport 53 -j ACCEPT # Abro el puerto para que me pueda conectar al servidor VPN iptables -A INPUT -p udp --dport 1194 -j ACCEPT Donde 53 y 1194 corresponden a los puertos estándar usados para resolver las peticiones DNS y conectarnos al servidor OpenVPN. En caso que no uséis puertos estándar deberéis modificar los valores 53 y 1194.\nFinalmente reiniciamos la Raspberry Pi u equipo con Linux ejecutando el siguiente comando en la terminal:\nsudo reboot Nota: Si el servidor OpenVPN lo tenéis ubicado en vuestra casa es necesario que abráis el puerto correspondiente en el router. COMPROBAR QUE LA PUBLICIDAD SE ESTÉ BLOQUEANDO FUERA DE NUESTRA RED LOCAL Para comprobar la efectividad de la configuración que acabamos de aplicar tenemos que entrar en una página web que tenga publicidad. En mi caso la siguiente:\nActo seguido nos conectamos a nuestro servidor VPN. Una vez conectados al servidor VPN volvemos a recargar la misma web. Si todo funciona bien verán que se bloquea la totalidad de publicidad que se mostraba anteriormente.\nINCONVENIENTES DE COMBINAR PI-HOLE CON OPENVPN Sin duda alguna se trata de una solución óptima para bloquear la publicidad en dispositivos móviles que no tienen acceso root ni jailbreak. No obstante está solución tiene los siguientes inconvenientes:\nAl estar conectados a través de una red OpenVPN el consumo de batería de nuestro dispositivo móvil será mayor. La velocidad de conexión será más lenta. Cuanto más buena sea la conexión de internet de nuestro domicilio, mejor rendimiento obtendremos. Si tenemos una fibra de 10MB simétricos el rendimiento será aceptable y si disponemos de 100MB el rendimiento será excelente. ","permalink":"https://geeklandlinux.github.io/posts/combinar-pi-hole-y-openvpn-bloquear-la-publicidad/","summary":"\u003cp\u003eEn su día detallamos el procedimiento para instalar Pi-hole y bloquear la publicidad de todos los dispositivos conectados a nuestra red local. Incluso dispositivos Android sin root y iOS sin jailbreak. El problema de Pi-Hole es que solo bloquea la publicidad a nivel de red local. Si queremos bloquear la publicidad cuando estamos fuera de nuestra casa tendremos que combinar Pi-hole con OpenVPN.\u003c/p\u003e","title":"Combinar Pi-hole y OpenVPN para bloquear la publicidad"},{"content":"A continuación veremos la mejor opción para disponer de un servidor DLNA en una Raspberry Pi. Pero antes de iniciar la explicación es importante que sepan que es y que utilidades podemos dar a un servidor DLNA.\n¿QUÉ ES UN SERVIDOR DLNA? Un servidor DLNA (Digital Living Network Alliance) es el encargado de proporcionar contenido digital a los distintos dispositivos de consumo compatibles conectados a una red local.\nEn otras palabras, todo servidor DLNA tendrá audios, vídeos y fotos almacenados en un dispositivo de almacenamiento. El contenido almacenado podrá ser reproducido en cualquier televisor o dispositivo móvil que esté conectado a la misma red local que el servidor DLNA.\nUTILIDADES QUE PODEMOS DAR A UN SERVIDOR DLNA Una vez conocemos lo que es un servidor DLNA veremos que sus principales utilidades pueden ser:\nHacer que nuestro televisor, consola, tablet o smartphone puedan reproducir vídeos, música o imágenes almacenados en el servidor DLNA. Que nuestros altavoces DLNA reproduzcan música o archivos de audio almacenados en el servidor DLNA. Imprimir fotos o documentos desde nuestro teléfono móvil. Para ello tanto el teléfono como la impresora tendrán que ser compatibles con la tecnología DLNA. Que nuestro televisor reproduzca vídeos, audios o imágenes almacenados en nuestro smartphone. Etc. Para llevar a término las utilidades mencionadas necesitáis que vuestros televisores, consolas, altavoces, impresoras, discos duros de red y dispositivos móviles sean compatibles con DLNA.\nNota: Todos los televisores y aparatos electrónicos actuales son compatibles con la tecnología DLNA. SERVIDORES DLNA QUE PODEMOS INSTALAR EN UNA RASPBERRY PI O EN LINUX Existen multitud de servidores DLNA para instalar en una Raspberry Pi. Algunos de ellos son ReadyMedia (MiniDLNA), Plex, Mediatomb, Rygel, Kodi, Serviio, etc.\nDe entre todos las opciones citadas he decido usar ReadyMedia, antiguamente conocido como MiniDLNA. Quizás no es la opción más popular pero la he elegido por los siguientes motivos:\nEs un servidor muy ligero. Hay que tener en mente que el objetivo es instalarlo en una Raspberry Pi y que esté activado las 24 horas del día. Es importante que sea ligero porque una Raspberry Pi no es potente y aparte de servidor DLNA en mi caso también la uso bloquear la publicidad, servidor VPN, nube personal, para descargar Torrents, etc. Es una solución simple que lo único que hace es servir contenido a mi televisión y dispositivos móviles. Hay que tener en cuenta que una Raspberry Pi no tiene potencia para transcodificar audio y vídeo. Además los clientes DLNA actuales aceptan prácticamente la totalidad de formatos de audio y video. Su instalación y configuración es extremadamente sencilla. Es una opción efectiva y fácil de usar. Funciona a la perfección. No se puede decir lo mismo de otras opciones como Rygel que a priori son mejores. Rygel es un servidor DLNA desarrollado por Gnome, tiene un desarrollo activo y cumple con las características que estoy buscando. No obstante, después de instalarlo he observado que tiene fugas de memoria importantes. A continuación les dejo un enlace en el que podrán ver y comparar las funcionalidades que ofrecen los servidores DLNA más conocidos.\nhttps://en.wikipedia.org/wiki/Comparison_of_UPnP_AV_media_servers\nINSTALAR EL SERVIDOR DLNA READYMEDIA (MiniDLNA) Nota: El tutorial que verán a continuación se puede aplicar en una Raspberry Pi y en sistemas operativos GNU-Linux En la terminal de nuestra Raspberry Pi instalamos ReadyMedia (MiniDLNA) ejecutando el siguiente comando en la terminal:\nsudo apt-get install minidlna Una vez instalado aseguraremos que esté levantado ejecutando el siguiente comando en la terminal:\nsudo service minidlna start Finalmente ejecutaremos el siguiente comando para asegurar que el servidor DLNA se iniciará de forma automática cada vez que reiniciemos nuestro ordenador o Raspberry Pi:\nsudo service minidlna enable CONFIGURAR EL SERVIDOR READYMEDIA (MiniDLNA) Para iniciar el proceso de configuración de ReadyMedia ejecutamos el siguiente comando en la terminal:\nsudo nano /etc/minidlna.conf Cuando se abra el editor de texto tenéis que aplicar la siguiente configuración:\nConfiguración Explicación media_dir=V,/media/downloads/videos Definimos la ubicación en que almacenamos los archivos de vídeo. Podemos definir tantas ubicaciones como queramos. En mi caso elijo la ubicación /media/downloads/videos media_dir=A,/media/downloads/musica Fijamos la ubicación de los archivos de audio. Podemos definir tantas ubicaciones como queramos. La ubicación elegida en mi caso es /media/downloads/musica media_dir=P,/media/downloads/fotos Especificamos la ubicación de los archivos de imagen. Podemos definir tantas ubicaciones como queramos. La ubicación elegida en mi caso es /media/downloads/fotos db_dir=/var/cache/minidlna Directorio en que se ubica la base de datos files.db que almacena datos del servidor DLNA. log_dir=/var/log Si queréis almacenar logs de lo que pasa en el servidor tienen que descomentar esta línea. Los logs los podréis encontrar en la ubicación /var/log/minidlna.log port=8200 Puerto en el que estará escuchando el servidor web para que podamos consultar el número de archivos del servidor y los clientes que se han conectado al servidor. friendly_name=Pi Definimos el nombre con que los clientes DLNA detectarán nuestro servidor DLNA. Podéis poner el nombre que queráis. En mi caso he puesto Pi. serial=681019810597113 Es el número de serie que el servidor proporciona a los clientes. No toquéis este valor. Dejad el número de serie por defecto. inotify=yes Selecciono la opción yes. De este modo, cuando se borre o copie contenido del servidor se actualizará la información de la base de datos ubicada en /var/cache/minidlna/files.db album_art_names=Cover.jpg/cover.jpg Definimos los nombres que deben tener las caratulas de un audio o vídeo. Si queremos definir una caratula para una película podemos hacerlo guardando una imagen con el nombre cover.jpg o Cover.jpg en la carpeta que contiene la película. El tamaño recomendado es de 160x160 pixeles. ReadyMedia también es capaz de extraer caratulas contenidas en el contenedor del vídeo. notify_interval=60 Seleccionamos la frecuencia con que nuestro servidor DLNA se anuncia a la red. En mi caso selecciono 60 segundos. De este modo estoy seguro que en menos de un minuto cualquier dispositivo será capaz de detectar y conectar con mi servidor DLNA. Una vez finalizada la configuración guarden los cambios y cierren el fichero. Finalmente tan solo tenemos que reiniciar el servidor ejecutando el siguiente comando en la terminal:\nservice minidlna restart Cambiar los límites de iNotify ReadyMedia usa la propiedad del Kernel inotify para detectar las modificaciones en cada una de las carpetas que almacena contenido. Al detectarse una modificación se actualiza el contenido de la base de datos /var/cache/minidlna/files.db.\nPara que inotify pueda monitorizar las modificaciones tendremos que cambiar sus límites. Para fijar un nuevo límite ejecutaremos el siguiente comando:\nsu Acto seguido introduciremos la contraseña del usuario root. Una vez estemos logueados como usuario root ejecutamos el siguiente comando en la terminal:\necho 65538 \u0026gt; /proc/sys/fs/inotify/max_user_watches Acto seguido reiniciaremos el servidor ejecutando el siguiente comando:\nservice minidlna restart Finalmente nos desloguearemos del usuario root ejecutando el siguiente comando:\nexit Si alguna vez precisan reconstruir la base de datos tan solo tienen que ejecutar el siguiente comando en la terminal:\nsudo service minidlna force-reload Configurar el firewall de la Raspberry Pi o GNU-Linux En el caso que tengan activado un firewall deberán abrir los puertos 8200 TCP y 1900 UDP. Para ello ejecutad el siguiente comando en la terminal:\nsudo nano /etc/rc.local Cuando se abra el editor de textos pegaís las siguientes reglas:\niptables -A INPUT -i wlan0 -p tcp -s 192.168.1.0/24 -d 192.168.1.20 -j ACCEPT iptables -A INPUT -i wlan0 -p udp -s 192.168.1.0/24 -d 192.168.1.20 -j ACCEPT Donde:\nwlan0: Tendrá que ser reemplazado por la interfaz de red que usa su Raspberry Pi. 192.168.1.0/24: Tenemos que usar los valores que definen nuestra red. 192.168.1.20: Tendremos que remplazar este valor por la IP interna que usa nuestra Raspberry Pi.\nUna vez introducidas las reglas guardamos los cambios, cerramos el editor de textos y reiniciamos el servidor. De esta forma, cualquier dispositivo conectado a nuestra red local tendrá acceso a cualquier servicio que esté corriendo en la Raspberry Pi.\nCOMO REPRODUCIR EL CONTENIDO DE NUESTRO SERVIDOR DLNA Una vez instalado y configurado el servidor detallaré como podemos empezar a sacarle partido.\nReproducir contenido del servidor DLNA en Android e iOS En Android y en iOS existen multitud de clientes DLNA para reproducir películas, sonido e imágines. Algunos de ellos son BubbleUPnP, VLC, AVPlayerHD, Kodi, LocalCast, etc.\nNo obstante en este ejemplo me centraré en una opción gratuita y multiplataforma como VLC.\nAbrimos VLC en nuestra tablet o teléfono. Ponemos el dedo en la parte izquierda de la pantalla y lo deslizamos hacia la derecha. Cuando se despliegue el panel de opciones pulsamos en la opción Red Local.\nActo seguido esperamos unos instantes y aparecerá nuestro servidor DLNA. Una vez haya aparecido pulsamos sobre el servidor que se representará con el logo de Debian.\nFinalmente navegamos por las carpetas de nuestro servidor para encontrar el archivo que queremos reproducir. Una vez encontrado pulsamos encima del vídeo o audio y empezará la reproducción.\nVisionar el contenido del servidor DLNA en nuestro ordenador Al igual que en Android e iOS tenemos multitud de opciones para reproducir los vídeos, sonidos y fotografías de nuestro servidor DLNA. Algunas de ellas son Kodi, VLC, Plex, Foobar2000, etc.\nAl igual que en el caso anterior explicaré el procedimiento para VLC porque se trata de una solución multiplataforma.\nAbrimos VLC. En el caso que no aparezca la lista de reproducción presionamos la combinación de teclas Ctrl+L. Cuando aparezca la lista de reproducción clicamos en la opción Plug’n’Play Universal y en unos instantes se detectará nuestro servidor DLNA. Una vez detectado clicamos sobre él:\nFinalmente navegamos por las distintas carpetas y hacemos doble click sobre el archivo de audio o vídeo que queramos reproducir.\nActo seguido empezará la reproducción.\nReproducir contenido del servidor en nuestro televisor Es extremadamente sencillo reproducir contenido del servidor DLNA en nuestro televisor.\nPara ello abrimos nuestro televisor. Una vez abierto presionamos el botón Source de nuestro mando a distancia. Esperamos unos segundos y debería detectarse nuestro servidor DLNA. Acto seguido accedemos dentro de nuestro servidor DLNA con la ayuda del mando a distancia:\nUna vez dentro del servidor podremos navegar para encontrar el audio vídeo e imagen que queramos reproducir. Una vez encontrado tan solo tenemos seleccionarlo y presionar en el botón OK o reproducir.\nActo seguido empezará la reproducción.\nACCEDER A LA INTERFAZ WEB DEL SERVIDOR DLNA Abrimos el navegador web y accedemos a una dirección del siguiente tipo:\nhttp://ip_raspberry_pi:puerto_escucha_readymedia Por lo tanto en mi caso accederé a la siguiente URL:\nhttp://192.168.1.20:8200 Nota: El archivo de configuración de ReadyMedia permite definir una URL personalizada. También permite cambiar el puerto. La información que proporcionará la interfaz web será la siguiente:\nSi observan la captura de pantalla verán que la información es escasa. Tan solo podremos ver:\nEl número de archivos de audio, vídeo e imagen que tenemos indexados en la base datos. El detalle de los cliente que están conectados al servidor. La única utilidad que veo a la interfaz web es ver si la base de datos está indexando correctamente el contenido que añadimos o borramos al servidor DLNA.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-servidor-dlna-readymedia-raspberry-pi-linux/","summary":"\u003cp\u003eA continuación veremos la mejor opción para disponer de un servidor DLNA en una Raspberry Pi. Pero antes de iniciar la explicación es importante que sepan que es y que utilidades podemos dar a un servidor DLNA.\u003c/p\u003e","title":"Instalar el servidor DLNA ReadyMedia en una Raspberry Pi o en Linux"},{"content":"En el pasado vimos como instalar Nextcloud en un servidor Ubuntu con Nginx, MariaDB y PHP. A continuación veremos el procedimiento a seguir para instalar Collabora Online en Nextcloud. De esta forma dispondremos de una suite ofimática integrada en Nextcloud y una solución parecida a Google Drive.\nNota: El tutorial que verán a continuación se puede aplicar siempre y cuando uséis el servidor web Nginx. Si usáis Apache el procedimiento es distinto. FUNCIONALIDADES QUE COLLABORA ONLINE AÑADIRÁ A NEXTCLOUD Collabora Online es una Suite ofimática en la nube. Una vez esté integrada a Nextcloud tendremos nuestro propio Google Drive. De esta forma podremos:\nVer y editar documentos ofimáticos en Nextcloud. Lo único que necesitaremos para editar un documento será un navegador web. Editar y visualizar todo tipo de documentos que tengan las extensiones odt, ods, odp, doc, docx, xls, xlsx, ppt, pptx, etc. Editar documentos de forma colaborativa con otros usuarios de la nube Nextcloud. REQUISITOS DE HARDWARE PARA USAR COLLABORA ONLINE Collabora Online es una solución ligera. No obstante consumirá recursos de su servidor. Cuantos más documentos tengamos abiertos y cuantos más usuarios lo usen de forma simultánea, más recursos necesitaremos. Mis recomendaciones son las siguientes:\nEn cuanto a procesador no nos tenemos que preocupar. En mi VPS solo tengo un núcleo y es más que suficiente. El primer documento que abrimos consume 150MB de RAM. El resto de documentos que abriremos solo consumirán 50MB cada uno. Con estas indicaciones asignen la RAM que consideren oportuna. En mi caso les recomiendo tener 2GB de RAM. Con 1GB de RAM Collabora Online es funcional, pero a veces se os colgará por falta de RAM. Nota: Si solo sois un usuario podéis usar 1GB de RAM siempre y cuando tengáis un espacio de intercambio SWAP. Nota: Los documentos complejos ocupan más los documentos simples o vacíos. RESTRICCIONES DE COLLABORA ONLINE Que yo sepa Collabora Online cuenta con las siguientes restricciones:\nEl número máximo de documentos que puedes tener abiertos de forma simultánea son 10. El número de usuarios que se pueden conectar de forma simultanea son 20. No permite insertar ecuaciones ni autoformas. Faltan algunas de las opciones que aparecen en suites ofimáticas como por ejemplo LibreOffice o Microsoft Office. En mi caso, y en la gran mayoría de casos, estás limitaciones no nos afectarán.\nINSTALAR COLLABORA ONLINE EN UN SERVIDOR NGINX Para instalar Collabora Online en un servidor Ubuntu que esté usando el servidor Web Nginx deberemos proceder del siguiente modo.\nInstalar Docker Comunity Edition Para que Docker funcione adecuadamente instalaremos Docker community Edition. Por lo tanto borraremos cualquier rastro de instalación de Docker ejecutando el siguiente comando en la terminal:\nsudo apt remove docker docker-engine docker.io El repositorio de Docker utiliza https. Por esto motivos instalaremos los siguiente paquetes ejecutando el siguiente comando en la terminal:\nsudo apt install apt-transport-https ca-certificates curl software-properties-common Para usar la última versión de Docker añadiremos el repositorio de docker a nuestra distribución Ubuntu ejecutando el siguiente comando en la terminal:\nsed -i \u0026#39;$adeb https://download.docker.com/linux/ubuntu bionic stable\u0026#39; /etc/apt/sources.list Acto seguido descargaremos y añadiremos la clave del repositorio ejecutando el siguiente comando:\ncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - Finalmente actualizaremos los repositorios e instalaremos Docker Comunity Edition. Para ello ejecutamos le siguiente comando en la terminal:\nsudo apt update \u0026amp;\u0026amp; sudo apt install docker-ce -y Comprobar el funcionamiento de Docker Aseguraremos que Docker esté funcionando de forma adecuada. Para ello descargaremos y ejecutaremos el container hello-world ejecutando el siguiente comando en la terminal:\ndocker run hello-world En mi caso el resultado obtenido ha sido el siguiente:\nHello from Docker! This message shows that your installation appears to be working correctly.To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the «hello-world» image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bashShare images, automate workflows, and more with a free Docker ID: https://hub.docker.com/For more examples and ideas, visit: Por lo tanto Docker está funcionando de forma adecuada.\nInstalar Collabora Online en nuestro equipo Para instalar Collabora Online descargaremos su imagen de Docker ejecutando el siguiente comando en la terminal:\ndocker pull collabora/code Una vez finalizada la descarga de la imagen añadiremos código al VirtualHost de Nginx. Por lo tanto en mi caso ejecutaré el siguiente comando en la terminal:\nsudo nano /etc/nginx/sites-enabled/nextcloud Una vez se abra el editor de textos añadiremos el código marcado en color rojo:\nupstream php-handler { #server 127.0.0.1:9000; server unix:/run/php/php7.2-fpm.sock; } server { listen 80; listen [::]:80; server_name cloudjoan.tk www.cloudjoan.tk; return 301 https://cloudjoan.tk$request_uri; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name www.cloudjoan.tk; return 301 https://cloudjoan.tk$request_uri; ssl_certificate /etc/letsencrypt/live/cloudjoan.tk/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/cloudjoan.tk/privkey.pem; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name cloudjoan.tk; ssl_certificate /etc/letsencrypt/live/cloudjoan.tk/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/cloudjoan.tk/privkey.pem; # Add headers to serve security related headers # Before enabling Strict-Transport-Security headers please read into this # topic first. # add_header Strict-Transport-Security \u0026#34;max-age=15552000; # includeSubDomains; preload;\u0026#34;; # # WARNING: Only add the preload option once you read about # the consequences in https://hstspreload.org/. This option # will add the domain to a hardcoded list that is shipped # in all major browsers and getting removed from this list # could take several months. add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection \u0026#34;1; mode=block\u0026#34;; add_header X-Robots-Tag none; add_header X-Download-Options noopen; add_header X-Permitted-Cross-Domain-Policies none; add_header Strict-Transport-Security \u0026#34;max-age=31536000; includeSubDomains\u0026#34; always; add_header Referrer-Policy no-referrer always; # Path to the root of your installation root /var/www/nextcloud/; location = /robots.txt { allow all; log_not_found off; access_log off; } # The following 2 rules are only needed for the user_webfinger app. # Uncomment it if you\u0026#39;re planning to use this app. #rewrite ^/.well-known/host-meta /public.php?service=host-meta last; #rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json # last; location = /.well-known/carddav { return 301 $scheme://$host/remote.php/dav; } location = /.well-known/caldav { return 301 $scheme://$host/remote.php/dav; } ### Start Collabora Online ### location ^~ /loleaflet { proxy_pass https://localhost:9980; proxy_set_header Host $http_host; } location ^~ /hosting/discovery { proxy_pass https://localhost:9980; proxy_set_header Host $http_host; } location ^~ /lool { proxy_pass https://localhost:9980; proxy_set_header Host $http_host; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection \u0026#34;upgrade\u0026#34;; } location ^~ /hosting/capabilities { proxy_pass https://localhost:9980; proxy_set_header Host $http_host; } ### End Collabora Online ### # set max upload size client_max_body_size 512M; fastcgi_buffers 64 4K; # Enable gzip but do not remove ETag headers gzip on; gzip_vary on; gzip_comp_level 4; gzip_min_length 256; gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; # Uncomment if your server is built with the ngx_pagespeed module # This module is currently not supported. #pagespeed off; location / { rewrite ^ /index.php$uri; } location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ { deny all; } location ~ ^/(?:\\.|autotest|occ|issue|indie|db_|console) { deny all; } location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\\.php(?:$|/) { fastcgi_split_path_info ^(.+\\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param HTTPS on; #Avoid sending the security headers twice fastcgi_param modHeadersAvailable true; fastcgi_param front_controller_active true; fastcgi_pass php-handler; fastcgi_intercept_errors on; fastcgi_request_buffering off; } location ~ ^/(?:updater|ocs-provider)(?:$|/) { try_files $uri/ =404; index index.php; } # Adding the cache control header for js and css files # Make sure it is BELOW the PHP block location ~ \\.(?:css|js|woff|svg|gif)$ { try_files $uri /index.php$uri$is_args$args; add_header Cache-Control \u0026#34;public, max-age=15778463\u0026#34;; # Add headers to serve security related headers (It is intended to # have those duplicated to the ones above) # Before enabling Strict-Transport-Security headers please read into # this topic first. # add_header Strict-Transport-Security \u0026#34;max-age=15768000; includeSubDomains; preload;\u0026#34;; # # WARNING: Only add the preload option once you read about # the consequences in https://hstspreload.org/. This option # will add the domain to a hardcoded list that is shipped # in all major browsers and getting removed from this list # could take several months. add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection \u0026#34;1; mode=block\u0026#34;; add_header X-Robots-Tag none; add_header X-Download-Options noopen; add_header X-Permitted-Cross-Domain-Policies none; # Optional: Don\u0026#39;t log access to assets access_log off; } location ~ \\.(?:png|html|ttf|ico|jpg|jpeg)$ { try_files $uri /index.php$uri$is_args$args; # Optional: Don\u0026#39;t log access to other assets access_log off; } } Una vez realizadas las modificaciones guardamos los cambios y cerramos el fichero.\nPara que la configuración se aplique reiniciamos el servidor web ejecutando el siguiente comando en la terminal:\nsystemctl restart nginx Iniciar el contenedor de Collabora Online Finalmente iniciamos la imagen de docker ejecutando el siguiente comando en la terminal:\ndocker run -t -d -p 127.0.0.1:9980:9980 -e \u0026#34;domain=cloudjoan.tk\u0026#34; -e \u0026#34;username=user\u0026#34; -e \u0026#34;password=password\u0026#34; --name=COLLABORAOFFICE --restart always --cap-add MKNOD collabora/code Algunos valores del comando tendrán que ser modificados. Los parámetros que a priori seguro que tendréis que modificar son los siguientes:\ncloudjoan.tk: Tenéis que sustituir cloudjoan.tk por la URL que apunta al servidor de Nextcloud. user: Tenéis que reemplazar user por el usuario administrador de vuestra nube Nextcloud. password: Es necesario que reemplacéis el término password por la contraseña del usuario administrador de Nextcloud.\nUna vez iniciada la imagen Collabora Online estará plenamente operativo.\nINTEGRAR COLLABORA ONLINE EN NEXTCLOUD Collabora Online está instalado, pero tenemos que integrarlo con Nextcloud. Para ello seguimos las siguientes instrucciones.\nDescargar e Instalar la aplicación Collabora Online en Nextcloud Para descargar e instalar la aplicación que integrará Collabora Online con Nextcloud realizamos lo siguiente:\nEn el apartado de aplicaciones de Nextcloud buscamos la aplicación Collabora Online. Una vez encontrada presionamos el botón de Descargar y Activar. Configurar la aplicación de Integración Collabora Online en Nextcloud A continuación accedemos a la configuración de Nextcloud.\nEn el apartado de configuración clicamos encima de la opción Collabora Online. Finalmente en el campo Servidor Collabora Online introducimos la URL del servidor que aloja Collabora Online y presionamos el botón Aplicar.\nNota: Observar que entre las opciones de configuración existentes hemos tildado que el formato por defecto de los documentos sea .docx, .xlsx y .pptx. Una vez finalizados todos los pasos tenemos que reiniciar nuestro servidor de Nextcloud. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo reboot USAR COLLABORA ONLINE EN NEXTCLOUD A partir de estos momentos la totalidad de usuarios de Nextcloud tendrán una suite ofimática integrada en su nube.\nPodremos ver y editar la totalidad de documentos alojados en nuestra nube. Para ello tan solo tenemos que clicar encima del documentos que queremos visualizar/editar. Si lo preferís también podéis crear nuevos documentos desde Nextcloud.\nUna vez creado y abierto el documento lo podéis editar de forma sencilla e intuitiva.\nACTIVAR EL CORRECTOR EN ESPAÑOL POR DEFECTO Las plantillas de Collabora Online tienen definido el Aléman como lenguaje estándar. Esto implica que cuando creemos un documento el corrector esté en Alemán. Para solucionar este inconveniente de forma rápida y sencilla podemos hacer lo siguiente.\nMediante nuestro gestor de archivos, o mediante Filezilla, nos conectamos al servidor que aloja Collabora Online. Seguidamente navegamos a la siguiente ubicación:\n/var/www/nextcloud/apps/richdocuments/assets A continuación copiamos la totalidad de plantillas del servidor a nuestro propio ordenador.\nEl siguiente paso consistirá en abrir las plantillas una por una y cambiar el idioma por defecto del corrector ortográfico.\nUna vez modificadas las plantillas las ubicaremos de nuevo en:\n/var/www/nextcloud/apps/richdocuments/assets De esta forma cuando generemos un nuevo documento tendrá el español como idioma por defecto.\nACTUALIZAR COLLABORA ONLINE Periódicamente saldrán nuevas versiones de Collabora Online. Para actualizarse a una nueva versión deberán seguir los siguientes pasos.\nPrimero paren el contenedor de Collabora Online ejecutando el siguiente comando:\ndocker stop COLLABORAOFFICE Seguidamente borren el contenedor ejecutando el siguiente comando:\ndocker rm COLLABORAOFFICE A continuación descarguen el nuevo contenedor ejecutando el siguiente comando:\ndocker pull collabora/code Finalmente vuelvan a iniciar el contenedor que acaban de descargar ejecutando el comando que usaron anteriormente para iniciar la imagen:\ndocker run -t -d -p 127.0.0.1:9980:9980 -e \u0026#34;domain=cloudjoan.tk\u0026#34; -e \u0026#34;username=user\u0026#34; -e \u0026#34;password=password\u0026#34; --name=COLLABORAOFFICE --restart always --cap-add MKNOD collabora/code De esta sencilla forma siempre podremos usar la última versión de Collabora Online.\nALTERNATIVAS A COLLABORA ONLINE Que yo sepa al menos existe una alternativa. Esta alternativa es OnlyOffice.\nOnlyOffice es una alternativa más completa que Collabora Online por los siguientes motivos:\nTiene muchas más opciones para editar los documentos. Podemos cifrar documentos, insertar ecuaciones, disponer de autoformas, etc. Permite que hasta 150 usuarios se pueden conectar de forma simultánea. Su compatibilidad con documentos de Microsoft Office es superior. Su aspecto visual y funcionalidad es similar a Microsoft Office 2013 o a la interfaz Ribbon de LibreOffice. No obstante OnlyOffice exige mas recursos a nuestro servidor. Los recursos recomendados para OnlyOffice son:\nUn procesador con un Core de al menos 2 GHz. 2 GB de RAM. 40GB libres de espacio de almacenamiento. 2 GB de Swap. Fuentes https://www.c-rieger.de/nextcloud-and-collabora-nginx/\n","permalink":"https://geeklandlinux.github.io/posts/instalar-collabora-online-suite-ofimatica-nextcloud/","summary":"\u003cp\u003eEn el pasado vimos como \u003ca href=\"/posts/instalar-nextcloud-en-ubuntu/\"\u003einstalar Nextcloud\u003c/a\u003e en un servidor Ubuntu con Nginx, MariaDB y PHP. A continuación veremos el procedimiento a seguir para instalar Collabora Online en Nextcloud. De esta forma dispondremos de una suite ofimática integrada en Nextcloud y una solución parecida a Google Drive.\u003c/p\u003e","title":"Instalar Collabora Online para tener una suite ofimática en Nextcloud"},{"content":"En pasados artículos vimos la utilidad de TRIM y como activarlo correctamente en Linux. A continuación veremos como configurar correctamente el optimizador de unidades y como activar TRIM en Windows.\nREQUISITOS PARA PODER ACTIVAR TRIM EN WINDOWS Los requisitos para usar TRIM en Windows son los siguientes:\nLa versión de Windows que usemos tiene que soportar TRIM. Todas las versiones de Windows a partir de Windows 7 soportan TRIM. Disponer de una unidad SSD con un firmware que soporte TRIM. La totalidad de unidades SSD actuales tienen pleno soporte. El sistema de archivos usado por Windows tiene que ser NTFS o ReFS. Hoy en día la totalidad de equipos con una unidad de almacenamiento SSD deberían permitir activar TRIM sin problema alguno.\nACTIVAR EL SOPORTE TRIM EN WINDOWS En el momento que Windows detecta una unidad SSD activa TRIM de forma automática. Además, periódicamente realiza el mantenimiento necesario para asegurar los siguientes aspectos:\nObtener el máximo rendimiento de la unidad SSD. Incrementar la vida de la unidad de almacenamiento SSD. Por lo tanto en los siguientes apartados nos limitaremos a:\nComprobar que TRIM esté activado en Windows. Configurar el mantenimiento que Windows realizará a nuestra unidad SSD. ¿CÓMO FUNCIONA TRIM EN WINDOWS? Windows no es transparente en su funcionamiento. No obstante, después de informarme de las fuentes que encontraréis al final del artículo, el funcionamiento se puede resumir de la siguiente forma:\nAl borrar información de la unidad SSD se almacena una solicitud de TRIM. Hay un número máximo de solicitudes que se podrán almacenar, por lo tanto es importante que periódicamente se ejecute el optimizador de unidades de Windows para que se haga un TRIM. Cuando se ejecuta el optimizador de unidades se completan la solicitudes TRIM almacenadas. De esta forma, al ejecutarse el optimizador de unidades se liberará el espacio no usado de la unidad SSD. COMPROBAR QUE TRIM ESTÁ ACTIVADO EN WINDOWS Para comprobar que TRIM está activado tenemos que abrir una consola de comandos como administrador.\nUna vez abierta ejecutaremos el siguiente comando:\nfsutil behavior query DisableDeleteNotify El resultado obtenido en mi caso es el siguiente:\nMi unidad SSD tiene un sistema de archivos NTFS y el valor de la variable NTFS DisableDeleteNotify es 0. Por lo tanto, puedo asegurar que TRIM está activado.\nSi el valor NTFS DisableDeleteNotify fuera 1 significaría que el soporte TRIM para sistemas de archivos NTFS está deshabilitado. Si estuviera deshabilitado deberíamos ejecutar el siguiente comando para habilitarlo:\nfsutil behavior set DisableDeleteNotify 0 En el hipotético caso que nuestro sistema de archivos fuera ReFS deberíamos asegurar que el valor de la variable ReFS DisableDeleteNotify sea 0. Si el valor fuera 0 podríamos asegurar que TRIM está activado. Si el valor fuera 1 deberíamos activar TRIM ejecutando el siguiente comando:\nfsutil behavior set disabledeletenotify ReFS 0 De esta forma tan sencilla podemos asegurar que TRIM está activado en todas las versiones de Windows soportadas actualmente.\nFORZAR LA EJECUCIÓN DE TRIM EN WINDOWS En estos momentos sabemos que TRIM está activado. Si queremos forzar TRIM en la unidad C: tan solo tenemos que abrir un Powershell y ejecutar el siguiente comando:\nOptimize-Volume -DriveLetter C -ReTrim -Verbose Nota: Deberéis reemplazar la letra C por la letra que represente su unidad SSD. Acto seguido se ejecutará TRIM obteniendo un resultado parecido al siguiente:\nEn el caso que quieran aplicar más tareas de optimización a su unidad de almacenamiento pueden visitar el siguiente enlace:\nhttps://docs.microsoft.com/en-us/powershell/module/storage/optimize-volume?view=win10-ps\nCONFIGURAR EL OPTIMIZADOR DE UNIDADES Y TRIM EN WINDOWS Es importante remarcar que el optimizador de unidades de Windows tiene que estar siempre habilitado. Encontrarán artículos que recomiendan lo contrario y esto es un error por los siguientes motivos:\nWindows es un sistema operativo diseñado para optimizar el rendimiento y vida de la totalidad de unidades SSD. No hace falta que se modifiquen las configuraciones por defecto de Windows. El mantenimiento realizado por el optimizador de unidades de Windows será el más adecuado en todos los casos. En el momento que Windows detecta una unidad SSD modifica la totalidad de configuraciones para optimizar la vida y rendimiento. Funciones que realiza el optimizador de unidades en Windows El optimizador de unidades de Windows realiza la totalidad de tareas necesarias para incrementar el rendimiento y la vida de nuestra unidad SSD. Las funciones que realiza son:\nForzar/programar la ejecución de TRIM (retrim) en unidades SSD. Configurar la periodicidad con que se realiza el mantenimiento de nuestras unidades de almacenamiento. Defragmentar la unidad de almacenamiento SSD en el caso que usemos imágenes de recuperación del sistema (Shadow copies). En el caso que usemos puntos de restauración se realizará una tarea de defragmentación cada 28 días. Optimizar los sistemas de almacenamiento por capas (Tiered Storage Space). Este sistema de almacenamiento permite que los datos más usados siempre estén almacenados en nuestra unidad SSD. Los datos menos usados se almacenarán en un disco duro HDD. Consolidar la información almacenada. La información almacenada en áreas poco densas se moverá hacia áreas más densas. El proceso de consolidación en un SSD es completamente distinto al de un HDD. En un HDD toda la información se agrupa al inicio del disco dejando el máximo espacio posible al final del disco. En unidades SSD la información se agrupa en diferentes áreas del disco duro de forma que la brecha entre área y área de información sea lo más grande posible. Acceder al optimizador de unidades de Windows En el gestor de archivos de Windows seleccionamos una unidad cualquiera. Presionamos el botón derecho del ratón y cuando aparezca el menú contextual clicamos en la opción Propiedades.\nEn la ventana de propiedades de Windows clicamos la pestaña Herramientas. Acto seguido presionamos en el botón Optimizar.\nJusto después aparecerá la ventana para configurar el optimizador de unidades:\nForzar la optimización de una unidad de almacenamiento SSD Para forzar la optimización de una unidad tan solo la tenemos que seleccionarla y presionar el botón Optimizar. Acto seguido se realizada la optimización de la unidad.\nConfiguración recomendada para el optimizador de unidades Si observáis el apartado Optimización programada verán que la configuración predeterminada consiste optimizar todas las unidades de almacenamiento una vez por semana. La configuración predeterminada es correcta y no hay porque cambiarla a no ser que sepamos muy bien lo que hacemos.\nEn el caso que queráis ver o modificar la opción de configuración predeterminada hay que clicar en botón Cambiar configuración.\nActo seguido verán la siguiente ventana en la que podrán configurar las siguientes opciones:\nSeleccionar si queremos automatizar el proceso de optimización de nuestra unidad SSD. En nuestro caso tenemos que automatizarlo y para ello hay que tildar la opción Ejecución programada (recomendado) Definir la frecuencia con que se realizará la optimización de la unidad de almacenamiento. En mi caso recomiendo usar una frecuencia Semanal, pero si queréis podéis seleccionar Diariamente o Mensual. Tildamos la opción Aumentar la prioridad de la tarea si faltan tres ejecuciones programadas definitivas. De este modo, si pasamos más de 3 semanas sin ejecutar la optimización se forzará cuando Windows lo considere oportuno. Si tildamos el botón Elegir podremos seleccionar las unidades en que se realizará la optimización. Les recomiendo optimizar la totalidad de unidades. Para ello hay que tildar las opciones Seleccionar todo y Optimizar automáticamente unidades nuevas. CONCLUSIONES Cuando compramos una unidad SSD no hay que configurar ni optimizar ningún parámetro. En el momento que Windows detecta que tenemos una unidad SSD aplicará una configuración predeterminada que será válida en el 99,9% de usuarios.\nEn Internet encontraréis multitud de tutoriales detallando como optimizar el rendimiento de una unidad SSD. No apliquéis ninguno de estos tutoriales. El motivo es que la configuración por defecto que aplicará Windows será la mejor para obtener un rendimiento óptimo y prolongar la vida de nuestro SSD.\nFUENTES https://www.hanselman.com/blog/TheRealAndCompleteStoryDoesWindowsDefragmentYourSSD.aspx\nhttp://forum.corsair.com/v3/showthread.php?\n","permalink":"https://geeklandlinux.github.io/posts/activar-trim-en-windows/","summary":"\u003cp\u003eEn pasados artículos vimos la \u003ca href=\"/posts/trim-debemos-activarlo-ssd/\"\u003eutilidad de TRIM\u003c/a\u003e y como \u003ca href=\"/posts/activar-trim-correctemente-linux/\"\u003eactivarlo correctamente en Linux\u003c/a\u003e. A continuación veremos como configurar correctamente el optimizador de unidades y como activar TRIM en Windows.\u003c/p\u003e","title":"Activar TRIM en Windows y configurar el optimizador de unidades"},{"content":"A continuación instalaremos una nube Nextcloud en Ubuntu 18.04, con el servidor web Nginx, php-fpm 7.2 y MariaDB. La nube Nextcloud que montaremos estará perfectamente optimizada para ser usada en un entorno plenamente productivo. Para ello seguiremos los siguientes pasos.\nINSTALAR EL SERVIDOR WEB NGINX Una vez logueados a nuestro equipo instalaremos el servidor web Nginx. Para ello tan solo tenemos que ejecutar el siguiente comando en la terminal:\nsudo apt install nginx Acto seguido iniciaremos el servidor web ejecutando el siguiente comando:\nsudo systemctl start nginx Finalmente haremos que el servidor web se inicie de forma automática cada vez que arranquemos nuestro servidor. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo systemctl enable nginx INSTALAR Y CONFIGURAR PHP 7.2 PARA USAR NEXTCLOUD EN UBUNTU A continuación instalaremos la versión 7.2 de PHP. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo apt install php7.2-fpm php7.2-curl php7.2-cli php7.2-mysql php7.2-gd php7.2-common php7.2-xsl php7.2-json php7.2-intl php-pear php-imagick php7.2-dev php7.2-common php7.2-mbstring php7.2-zip php7.2-soap php7.2-opcache Configuración de PHP-FPM Accedemos al archivo de configuración php.ini ejecutando el siguiente comando en la terminal:\nsudo nano /etc/php/7.2/fpm/php.ini Cuando se abra el editor de textos buscaremos la siguiente línea:\n;date.timezone = Una vez encontrada la descomentamos y añadimos la zona horaria de forma que quede del siguiente modo:\ndate.timezone = Europe/Madrid Nota: Si lo precisan pueden consultar las zonas horarias que admite PHP. Acto seguido buscamos la siguiente línea:\n;cgi.fix_pathinfo=1 Una vez encontrada la descomentaremos y le daremos el valor 0 de forma que quede del siguiente modo:\ncgi.fix_pathinfo=0 Finalmente guardamos los cambios y cerramos el fichero. El siguiente paso consistirá en repetir las mismas modificaciones que acabamos de aplicar en el fichero /etc/php/7.2/fpm/cli/php.ini. Por lo tanto ejecutamos el siguiente comando:\nsudo nano /etc/php/7.2/fpm/cli/php.ini Cuando se abra el editor de texto fijaremos la zona horaria y desactivaremos cgi.fix_pathinfo. Por lo tanto las variables date.timezone y cgi.fix_pathinfo tendrán los siguientes valores:\ndate.timezone = Europe/Madrid cgi.fix_pathinfo=0 Una vez aplicadas las modificaciones guardaremos los cambios y cerraremos el fichero.\nEl último paso consistirá en editar el fichero fpm/pool.d/www.conf. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo nano fpm/pool.d/www.conf Cuando se abra el editor de textos descomentamos las siguientes líneas:\nenv[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp Guardaremos los cambios y cerraremos el fichero. Finalmente reiniciaremos y habilitaremos php 7.2 ejecutando los siguientes comandos:\nsudo systemctl restart php7.2-fpm sudo systemctl enable php7.2-fpm De esta forma tan sencilla PHP 7.2 ya estará operativo.\nINSTALAR MARIADB PARA GESTIONAR NUESTRA BASE DE DATOS Instalaremos MariaDB para gestionar nuestra base de datos. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo apt install mysql-server mysql-client Para asegurar que el servidor está levantado y funcionando ejecutaremos el siguiente comando en la terminal:\nsudo systemctl start mysql Para finalizar el proceso de instalación ejecutaremos el siguiente comando para asegurar que cada vez que reiniciemos nuestro servidor se inicie MariaDB.\nsystemctl enable mysql Securizar el servidor de base de datos MariaDB Para mejorar la seguridad de MariaDB ejecutaremos el siguiente comando en la terminal:\nmysql_secure_installation Acto seguido se nos pedirá que introduzcamos la contraseña del usuario root. Como no hemos establecido ninguna presionamos Enter.\nEnter current password for root (enter for none): A continuación nos preguntarán si queremos establecer una contraseña para el usuario root. En mi caso respondo que Sí y presiono Enter.\nSet root password? [Y/n]: Y Seguidamente tendremos que introducir por duplicado la contraseña que queremos que tenga el usuario root de MariaDB:\nNew password: contraseñ@rootmariadb Re-enter new password: contraseñ@rootmariadb Acto seguido nos preguntarán si queremos eliminar el usuario anónimo que está creado por defecto en MariaDB. Respondemos que Sí y presionar enter.\nRemove anonymous users? [Y/n]: Y En el siguiente paso se nos preguntará si queremos revocar el acceso remoto al usuario root. En nuestro caso responderemos que Sí y presionaremos enter.\nDisallow root login remotely? [Y/n]: Y A continuación nos preguntarán si queremos borrar la base de datos de prueba de MariaDB. Recomiendo que la borren respondiendo Sí.\nRemove test database and access to it? [Y/n]: Y Finalmente responderemos que Sí para asegurar que la totalidad de configuraciones realizadas se apliquen correctamente.\nReload privilege tables now? [Y/n]: Y De está forma tan sencilla habremos incrementado la seguridad del sistema de datos MariaDB.\nCrear y configurar la base de datos de Nextcloud en Ubuntu con MariaDB El siguiente paso consiste en crear la base de datos que usará Nextcloud en ubuntu. Para ello nos loguearemos a nuestra base de datos ejecutando el siguiente comando:\nsudo mysql -u root -p Una vez ejecutado el comando introducimos la contraseña del usuario root que creamos en el apartado anterior y presionamos enter. Acto seguido nos loguearemos a la base de datos y ejecutaremos los siguientes comandos:\nPara crear una base de datos que se llamará nextcloud:\nCREATE DATABASE nextcloud; Para crear el usuario joan y hacer que la base de datos tenga la contraseña contraseña_base_datos:\nCREATE USER \u0026#39;joan\u0026#39;@\u0026#39;localhost\u0026#39; IDENTIFIED BY \u0026#39;contraseña_base_datos\u0026#39;; Para que el usuario joan disponga de la totalidad de permisos en la base de datos nextcloud:\nGRANT ALL PRIVILEGES ON nextcloud.* TO \u0026#39;joan\u0026#39;@\u0026#39;localhost\u0026#39;; Para actualizar los privilegios que tiene el usuario joan:\nFLUSH PRIVILEGES; Para desloguearnos de la base de datos:\nexit; Una vez finalizada la configuración de la base de datos podemos proseguir con la instalación de un certificado SSL para Nextcloud.\nCONFIGURAR EL FIREWALL DEL SERVIDOR UBUNTU QUE ALOJA NEXTCLOUD A estas altura ya podemos configurar el firewall de nuestro servidor Ubuntu. En nuestro caso abriremos los puertos 80, 443 y 22. Para ello ejecutaremos el siguiente comando para asegurar que ufw está instalado:\nsudo apt install ufw Finalmente ejecutaremos los siguientes comandos para abrir los puertos:\nsudo ufw start sudo ufw enable sudo ufw allow http sudo ufw allow https sudo ufw allow ssh Una vez ejecutados los comandos ya podemos continuar con el siguiente apartado.\nINSTALAR UN CERTIFICADO LET’S ENCRYPT Obviamente es importante securizar nuestra nube mediante un certificado SSL. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo apt install letsencrypt Acto seguido detendremos el servidor web ejecutando el siguiente comando en la terminal:\nsudo systemctl stop nginx Una vez parado el servidor ejecutaremos el siguiente comando para generar el certificado SSL para nuestro dominio:\ncertbot certonly --standalone -d cloudjoan.tk -d www.cloudjoan.tk Nota: Deberéis reemplazar cloudjoan.tk por su nombre de dominio. Después de ejecutar el comando empezará el proceso de creación del certificado SSL. Durante el proceso de instalación tan solo tienen que ir leyendo y respondiendo las preguntas. Una vez finalizado el proceso se habrán creado los siguientes ficheros:\n/etc/letsencrypt/live/cloudjoan.tk/fullchain.pem /etc/letsencrypt/live/cloudjoan.tk/privkey.pem Nota: Deberéis reemplazar cloudjoan.tk por su nombre de dominio. Finalmente crearemos una clave de 2048 bits para el intercambio de claves Diffie-Hellman. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048 De esta forma la comunicación entre el cliente y el servidor se hará de una forma más segura. A estas alturas ya podemos empezar con el proceso de instalación de Nextcloud en Ubuntu.\nDESCARGAR LA ULTIMA VERSIÓN DE NEXTCLOUD EN UBUNTU Inicialmente instalaremos la totalidad de paquetes necesarios para instalar Nextcloud en Ubuntu. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo apt install wget unzip zip -y Acto seguido accederemos a la raíz de nuestro servidor web ejecutando el siguiente comando:\ncd /var/www Descargaremos la última versión de Nextcloud con el siguiente comando:\nwget https://download.nextcloud.com/server/releases/latest.zip Descomprimiremos el archivo .zip que acabamos de descargar ejecutando el siguiente comando:\nunzip latest.zip Crearemos el directorio /var/www/nextcloud/data que almacenará los datos de nuestra nube Nextcloud. Para ello ejecutaremos el siguiente comando en la terminal:\nmkdir -p /var/www/nextcloud/data/ Nota: Una buena práctica de seguridad seria guardar los datos fuera de nuestro servidor web. Por lo tanto, si quieren pueden usar otra ubicación como por ejemplo /nextcloud-data. Seguidamente ejecutaremos el siguiente comando para que la totalidad de archivos de instalación y datos almacenados en nuestra nube pertenezcan al grupo y al usuario www-data.\nsudo chown -R www-data:www-data /var/www/nextcloud/ A continuación ya podemos realizar realizar la configuración del Virtualhost para Nextcloud.\nCONFIGURAR NGINX PARA ACCEDER A NEXTCLOUD DE FORMA SEGURA El siguiente paso consiste en configurar un VirtualHost para que nuestra nube sea accesible de forma segura. Para ello ejecutamos el siguiente comando en la terminal:\nsudo nano /etc/nginx/sites-available/nextcloud Acto seguido pegamos el siguiente código. Los únicos valores del código que tenéis que cambiar son los que están en color azul. Por lo tanto tendréis que reemplazar cloudjoan.tk por vuestro dominio.\n\u0026gt; \u0026gt; upstream php-handler { \u0026gt; #server 127.0.0.1:9000; \u0026gt; server unix:/run/php/php7.2-fpm.sock; \u0026gt; } \u0026gt; \u0026gt; server { \u0026gt; listen 80; \u0026gt; listen [::]:80; \u0026gt; server_name cloudjoan.tk www.cloudjoan.tk; \u0026gt; return 301 https://cloudjoan.tk$request_uri; \u0026gt; } \u0026gt; \u0026gt; server { \u0026gt; listen 443 ssl http2; \u0026gt; listen [::]:443 ssl http2; \u0026gt; server_name www.cloudjoan.tk; \u0026gt; return 301 https://cloudjoan.tk$request_uri; \u0026gt; \u0026gt; ssl_certificate /etc/letsencrypt/live/cloudjoan.tk/fullchain.pem; \u0026gt; ssl_certificate_key /etc/letsencrypt/live/cloudjoan.tk/privkey.pem; \u0026gt; } \u0026gt; \u0026gt; server { \u0026gt; listen 443 ssl http2; \u0026gt; listen [::]:443 ssl http2; \u0026gt; server_name cloudjoan.tk; \u0026gt; \u0026gt; ssl_certificate /etc/letsencrypt/live/cloudjoan.tk/fullchain.pem; \u0026gt; ssl_certificate_key /etc/letsencrypt/live/cloudjoan.tk/privkey.pem; \u0026gt; \u0026gt; # Add headers to serve security related headers \u0026gt; # Before enabling Strict-Transport-Security headers please read into this \u0026gt; # topic first. \u0026gt; # add_header Strict-Transport-Security \u0026quot;max-age=15552000; \u0026gt; # includeSubDomains; preload;\u0026quot;; \u0026gt; # \u0026gt; # WARNING: Only add the preload option once you read about \u0026gt; # the consequences in https://hstspreload.org/. This option \u0026gt; # will add the domain to a hardcoded list that is shipped \u0026gt; # in all major browsers and getting removed from this list \u0026gt; # could take several months. \u0026gt; add_header X-Content-Type-Options nosniff; \u0026gt; add_header X-XSS-Protection \u0026quot;1; mode=block\u0026quot;; \u0026gt; add_header X-Robots-Tag none; \u0026gt; add_header X-Download-Options noopen; \u0026gt; add_header X-Permitted-Cross-Domain-Policies none; \u0026gt; add_header Strict-Transport-Security \u0026quot;max-age=31536000; includeSubDomains\u0026quot; always; \u0026gt; add_header Referrer-Policy no-referrer always; \u0026gt; \u0026gt; # Path to the root of your installation \u0026gt; root /var/www/nextcloud/; \u0026gt; \u0026gt; location = /robots.txt { \u0026gt; allow all; \u0026gt; log_not_found off; \u0026gt; access_log off; \u0026gt; } \u0026gt; \u0026gt; # The following 2 rules are only needed for the user_webfinger app. \u0026gt; # Uncomment it if you're planning to use this app. \u0026gt; #rewrite ^/.well-known/host-meta /public.php?service=host-meta last; \u0026gt; #rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json \u0026gt; # last; \u0026gt; \u0026gt; location = /.well-known/carddav { \u0026gt; return 301 $scheme://$host/remote.php/dav; \u0026gt; } \u0026gt; location = /.well-known/caldav { \u0026gt; return 301 $scheme://$host/remote.php/dav; \u0026gt; } \u0026gt; \u0026gt; # set max upload size \u0026gt; client_max_body_size 512M; \u0026gt; fastcgi_buffers 64 4K; \u0026gt; \u0026gt; # Enable gzip but do not remove ETag headers \u0026gt; gzip on; \u0026gt; gzip_vary on; \u0026gt; gzip_comp_level 4; \u0026gt; gzip_min_length 256; \u0026gt; gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; \u0026gt; gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; \u0026gt; \u0026gt; # Uncomment if your server is built with the ngx_pagespeed module \u0026gt; # This module is currently not supported. \u0026gt; #pagespeed off; \u0026gt; \u0026gt; location / { \u0026gt; rewrite ^ /index.php$uri; \u0026gt; } \u0026gt; \u0026gt; location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ { \u0026gt; deny all; \u0026gt; } \u0026gt; location ~ ^/(?:\\.|autotest|occ|issue|indie|db_|console) { \u0026gt; deny all; \u0026gt; } \u0026gt; \u0026gt; location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\\.php(?:$|/) { \u0026gt; fastcgi_split_path_info ^(.+\\.php)(/.*)$; \u0026gt; include fastcgi_params; \u0026gt; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; \u0026gt; fastcgi_param PATH_INFO $fastcgi_path_info; \u0026gt; fastcgi_param HTTPS on; \u0026gt; #Avoid sending the security headers twice \u0026gt; fastcgi_param modHeadersAvailable true; \u0026gt; fastcgi_param front_controller_active true; \u0026gt; fastcgi_pass php-handler; \u0026gt; fastcgi_intercept_errors on; \u0026gt; fastcgi_request_buffering off; \u0026gt; } \u0026gt; \u0026gt; location ~ ^/(?:updater|ocs-provider)(?:$|/) { \u0026gt; try_files $uri/ =404; \u0026gt; index index.php; \u0026gt; } \u0026gt; \u0026gt; # Adding the cache control header for js and css files \u0026gt; # Make sure it is BELOW the PHP block \u0026gt; location ~ \\.(?:css|js|woff|svg|gif)$ { \u0026gt; try_files $uri /index.php$uri$is_args$args; \u0026gt; add_header Cache-Control \u0026quot;public, max-age=15778463\u0026quot;; \u0026gt; # Add headers to serve security related headers (It is intended to \u0026gt; # have those duplicated to the ones above) \u0026gt; # Before enabling Strict-Transport-Security headers please read into \u0026gt; # this topic first. \u0026gt; # add_header Strict-Transport-Security \u0026quot;max-age=15768000; includeSubDomains; preload;\u0026quot;; \u0026gt; # \u0026gt; # WARNING: Only add the preload option once you read about \u0026gt; # the consequences in https://hstspreload.org/. This option \u0026gt; # will add the domain to a hardcoded list that is shipped \u0026gt; # in all major browsers and getting removed from this list \u0026gt; # could take several months. \u0026gt; add_header X-Content-Type-Options nosniff; \u0026gt; add_header X-XSS-Protection \u0026quot;1; mode=block\u0026quot;; \u0026gt; add_header X-Robots-Tag none; \u0026gt; add_header X-Download-Options noopen; \u0026gt; add_header X-Permitted-Cross-Domain-Policies none; \u0026gt; # Optional: Don't log access to assets \u0026gt; access_log off; \u0026gt; } \u0026gt; \u0026gt; location ~ \\.(?:png|html|ttf|ico|jpg|jpeg)$ { \u0026gt; try_files $uri /index.php$uri$is_args$args; \u0026gt; # Optional: Don't log access to other assets \u0026gt; access_log off; \u0026gt; } \u0026gt; } \u0026gt; Una vez pegado el código y realizadas las modificaciones guardamos los cambios y cerramos el fichero.\nA continuación habilitamos el VirtualHost mediante un enlace simbólico. Para ello ejecutamos el siguiente comando en la terminal:\nln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/ Finalmente iniciamos/reiniciaremos el servidor web y PHP para que se haga efectiva la configuración que hemos aplicado. Para ello ejecutaremos los siguientes comandos:\nsudo systemctl start nginx sudo systemctl restart php7.2-fpm A estas alturas ya podemos iniciar la instalación de Nextcloud en Ubuntu.\nINSTALAR NEXTCLOUD EN UBUNTU 18.04 Abriremos un navegador y accederemos a nuestro dominio. En mi caso el dominio es el siguiente:\nhttps://cloudjoan.tk/ Nota: Tendréis que reemplazar cloudjoan.tk por vuestro dominio. Acto seguido rellenaremos cada uno de los campos que veremos en el navegador web.\nLas opciones de configuración a introducir en cada uno de los campos son las siguientes:\nNombre de usuario del administrador: Podéis poner el nombre que queráis. En mi caso he usado joancarles. Contraseña del usuario administrador: Usad la que queráis pero asegurad que sea una contraseña segura. En mi caso he elegido 12345678910. Ubicación donde se guardaran los datos: En mi caso quiero que los datos se guarden en /var/www/nextcloud/data. Recordad que en apartados anteriores creé la ubicación que estoy detallando en este campo. Usuario de la base de datos: En mi caso introduzco joan porque el usuario que en apartados anteriores creé para la base de datos Contraseña de las base de datos: Tenemos que introducir la contraseña de la base de datos que creamos y definimos en apartados anteriores. En mi caso la contraseña es contraseña_base_datos. Nombre de la base de datos: Tan solo tenemos que escribir el nombre que pusimos a la base de datos de Nextcloud. El nombre que puse a la base de datos fue nextcloud. Ubicación del sistema de gestión de base de datos: MariaDB está instalado en el mismo servidor que Nextcloud, por lo tanto tenemos que indicar localhost. Una vez rellenados los campos clican encima del botón Completar la instalación. Acto seguido se iniciará la instalación de Nextcloud en nuestro VPS con Ubuntu 18.04. Una vez finalizada la instalación verán la siguiente pantalla.\nACTIVAR EL SISTEMA DE CACHE OPCACHE Para optimizar el rendimiento de nuestra nube activaremos opcache. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo nano /etc/php/7.2/fpm/conf.d/10-opcache.ini Una vez se abra el editor de ficheros añadiremos el siguiente código:\nopcache.enable=1 opcache.enable_cli=1 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=10000 opcache.memory_consumption=128 opcache.save_comments=1 opcache.revalidate_freq=1 Para finalizar el proceso guardaremos lo cambios, cerraremos el fichero y reiniciaremos Nginx y PHP ejecutando los siguientes comandos en la terminal:\nsudo systemctl restart php7.2-fpm sudo systemctl restart nginx MEJORAR EL RENDIMIENTO DE NUESTRA NUBE CON REDIS Y APCU Usaremos un sistema de cache para mejorar el rendimiento de nuestra nube Nextcloud. Para ello instalaremos Redis y APCu ejecutando el siguiente comando en la terminal:\nsudo apt-get install redis-server php-redis php-apcu Una vez instalados los paquetes necesarios accederemos a la configuración de Nextcloud ejecutando el siguiente comando en la terminal:\nsudo nano /var/www/nextcloud/config/config.php Cuando se abra el editor de textos tendremos que añadir el contenido que está marcado en color rojo:\n\u0026gt; \u0026gt; \u0026lt;?php \u0026gt; $CONFIG = array ( \u0026gt; 'instanceid' =\u0026gt; 'ocrevvmql3iz', \u0026gt; 'passwordsalt' =\u0026gt; 'yBBm/wTtheh/qEYG++Gme8njpYoP+O', \u0026gt; 'secret' =\u0026gt; 'QLufG2deWxB12/H1AntQc1fkE3p248YnuhvelVXUlMM/vow2', \u0026gt; 'trusted_domains' =\u0026gt; \u0026gt; array ( \u0026gt; 0 =\u0026gt; 'cloudjoan.tk', \u0026gt; ), \u0026gt; 'datadirectory' =\u0026gt; '/var/www/nextcloud/data', \u0026gt; 'dbtype' =\u0026gt; 'mysql', \u0026gt; 'version' =\u0026gt; '15.0.2.0', \u0026gt; 'overwrite.cli.url' =\u0026gt; 'https://cloudjoan.tk', \u0026gt; 'dbname' =\u0026gt; 'nextcloud', \u0026gt; 'dbhost' =\u0026gt; 'localhost', \u0026gt; 'dbport' =\u0026gt; '', \u0026gt; 'dbtableprefix' =\u0026gt; 'oc_', \u0026gt; 'mysql.utf8mb4' =\u0026gt; true, \u0026gt; 'dbuser' =\u0026gt; 'joan', \u0026gt; 'dbpassword' =\u0026gt; 'contraseña_base_datos', \u0026gt; 'installed' =\u0026gt; true, \u0026gt; 'filelocking.enabled' =\u0026gt; true, \u0026gt; 'memcache.local' =\u0026gt; '\\\\OC\\\\Memcache\\\\APCu', \u0026gt; 'memcache.locking' =\u0026gt; '\\\\OC\\\\Memcache\\\\Redis', \u0026gt; 'redis' =\u0026gt; \u0026gt; array ( \u0026gt; 'host' =\u0026gt; 'localhost', \u0026gt; 'port' =\u0026gt; 6379, \u0026gt; 'timeout' =\u0026gt; 0, \u0026gt; ), \u0026gt; ); \u0026gt; Una vez modificado el código guardamos los cambios y cerramos el fichero.\nFinalmente reiniciaremos PHP y Nginx ejecutando los siguientes comandos en la terminal:\nsudo systemctl restart php7.2-fpm sudo systemctl restart nginx TRANSFORMAR LA BASE DE DATOS AL FORMATO BIGINT En mi caso, algunas de las columnas de la base de datos no se han creado con el formato bigint. Para que todos los datos numéricos estén en formato bigint haremos lo siguiente:\nAccedemos al directorio raíz de Nextcloud ejecutando el siguiente comando en la terminal:\ncd /var/www/nextcloud A continuación ejecutamos el siguiente comando para asegurar que la totalidad de columnas de la base de datos se convierta a bigint:\nsudo -u www-data php occ db:convert-filecache-bigint Al ejecutar el comando se nos preguntará si queremos transformar las columnas filecache.mtime y filecache.storage_mtime. Responderemos que Sí y presionaremos Enter.\nFollowing columns will be updated: * filecache.mtime * filecache.storage_mtime This can take up to hours, depending on the number of files in your instance! Continue with the conversion (y/n)? [n] y Finalmente reiniciaremos PHP, MariaDB y Nginx ejecutando los siguientes comandos:\nsudo systemctl restart php7.2-fpm sudo systemctl restart nginx sudo systemctl restart mysql En estos momentos deberíamos tener nuestra nube Nextcloud instalada y perfectamente configurada.\nENLACES DE INTERÉS A continuación les dejo el siguiente enlace que considero de interés. Si lo leen encontrarán opciones alternativas para la instalación y la configuración:\nhttps://www.c-rieger.de/nextcloud-installation-guide-ubuntu/\n","permalink":"https://geeklandlinux.github.io/posts/instalar-nextcloud-en-ubuntu/","summary":"\u003cp\u003eA continuación instalaremos una nube Nextcloud en Ubuntu 18.04, con el servidor web Nginx, php-fpm 7.2 y MariaDB. La nube Nextcloud que montaremos estará perfectamente optimizada para ser usada en un entorno plenamente productivo. Para ello seguiremos los siguientes pasos.\u003c/p\u003e","title":"Instalar nextcloud en Ubuntu 18.04 con nginx php-fpm y mariadb"},{"content":"En pasados artículos vimos la utilidad de TRIM en las unidades de almacenamiento SSD. A continuación veremos como podemos activar TRIM de forma correcta en cualquier sistema operativo GNU-Linux.\nREQUISITOS PARA PODER ACTIVAR TRIM Para activar TRIM deberemos cumplir con las siguientes condiciones:\nEl sistema operativo tiene que soportar TRIM. Todas los sistemas operativos a partir de Windows 7 y las distros linux con un kernel igual o posterior al 2.6.28 soportan TRIM. Disponer de una unidad SSD con un firmware que soporte TRIM. La totalidad de unidades SSD actuales tienen pleno soporte. El sistema de archivos de vuestro equipo tiene que ser btrfs, ext3, ext4 gfs2m jfs, vfat, f2fs, ntfs, ocfs2 o xfs. Hoy en día prácticamente todos los equipos y sistemas operativos son aptos para usar TRIM.\nNota: Puede usarse el comando lsblk \u0026ndash;discard para comprobar si nuestra unidad ssd soporta TRIM. ¿CÓMO ACTIVAR TRIM DE FORMA CORRECTA EN LINUX? Existen dos modos de activar TRIM. Los modos son los siguientes:\nTRIM Continuo: En modo continuo ejecutará TRIM cada vez que borremos un archivo de nuestra unidad de almacenamiento. TRIM periódico: Se aplicará TRIM de forma periódica y automática en la fecha y hora que especifiquemos. Normalmente es suficiente ejecutar TRIM una vez por semana. ¿Hay que usar TRIM en modo continuo o en modo periódico? En mi caso recomiendo activar TRIM de forma periódica. Activar TRIM en modo continuo genera los siguientes inconvenientes:\nReducción de la vida útil de la unidad de almacenamiento. TRIM en modo continuo implica lecturas y escrituras adicionales a nuestra unidad de almacenamiento. Rendimiento inferior al esperado. En determinados casos se pueden producir congelaciones y corrupción del sistema de archivos. Por ejemplo, en mi caso de forma aleatoria se me congela Chrome durante segundos. Imposibilidad de recuperar archivos borrados. Si borramos un fichero por equivocación nos será prácticamente imposible recuperarlo. Por lo tanto, en este artículo aprenderemos a configurar y activar TRIM para que únicamente se ejecute de forma periódica.\nAl usar TRIM en modo periódico únicamente recomiendo no andar justos de capacidad de almacenamiento en nuestro SSD.\nDesactivar el TRIM continuo en el caso que esté habilitado Grandes distribuciones como por ejemplo Ubuntu, Manjaro y Debian habilitan TRIM continuo por defecto. Para desactivar el TRIM continuo abran una terminal y ejecuten el siguiente comando:\nsudo nano /etc/fstab Cuando se abra el editor de textos comprueben si las entradas del fichero fstab contienen el término discard. En mi caso las entradas son las siguientes:\n# \u0026lt;file system\u0026gt; \u0026lt;mount point\u0026gt; \u0026lt;type\u0026gt; \u0026lt;options\u0026gt; \u0026lt;dump\u0026gt; \u0026lt;pass\u0026gt; UUID=d4fbbf2b-9fec-45f1-a91f-1eb0970558dd /boot ext4 defaults,noatime,discard 0 2 UUID=bb5e07f9-4b5c-4a18-ad20-0dd94fa5369f / ext4 defaults,noatime,discard 0 1 UUID=864d1126-2867-4902-8f4d-5974a43e1279 /home ext4 defaults,noatime,discard 0 2 UUID=82d8bd4f-4700-421d-a421-049b4664bf7a swap swap defaults,noatime,discard 0 2 tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0 UUID=8626904F269041DB /media/DATOS ntfs-3g default_permissions,uid=1000 0 0 Tal y como pueden ver aparece el término discard. Por lo tanto tengo TRIM continuo habilitado. Para deshabilitarlo tan solo hay que borrar el término discard de cada una de las entradas. Por lo tanto las entradas de fstab tienen que ser las siguientes:\n# \u0026lt;file system\u0026gt; \u0026lt;mount point\u0026gt; \u0026lt;type\u0026gt; \u0026lt;options\u0026gt; \u0026lt;dump\u0026gt; \u0026lt;pass\u0026gt; UUID=d4fbbf2b-9fec-45f1-a91f-1eb0970558dd /boot ext4 defaults,noatime 0 2 UUID=bb5e07f9-4b5c-4a18-ad20-0dd94fa5369f / ext4 defaults,noatime 0 1 UUID=864d1126-2867-4902-8f4d-5974a43e1279 /home ext4 defaults,noatime 0 2 UUID=82d8bd4f-4700-421d-a421-049b4664bf7a swap swap defaults,noatime 0 2 tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0 UUID=8626904F269041DB /media/DATOS ntfs-3g default_permissions,uid=1000 0 0 Nota: Es importante que la opción noatime (no last access time) este presente en las entradas de fstab. De este modo debería mejorar el rendimiento de nuestro SSD. Con la opción noatime no se realizará ninguna escritura a la unidad SSD para registrar la fecha de último acceso a un fichero. Una vez modificado el contenido del fichero fstab guardamos los cambios, cerramos el fichero y reiniciamos nuestro equipo. De este modo, TRIM ya no se aplicará de forma continua.\nActivar TRIM periódico en Linux usando systemd Para poder usar fstrim tenemos que asegurar que el paquete util-linux esté instalado. Para ello ejecutamos el siguiente comando en la terminal:\nsudo apt install util-linux Nota: En el caso que no usen el gestor de paquete apt deberán modificar el comando que acabamos de ejecutar. En el caso que sean usuarios de Debian 8 y 9 ejecuten el siguiente comando para crear los servicios de Systemd:\nsudo cp /usr/share/doc/util-linux/examples/fstrim.{service,timer} /etc/systemd/system A continuación, todos los usuarios de cualquier distro deberán ejecutar el siguiente comando para habilitar TRIM:\nsudo systemctl enable fstrim.timer Acto seguido ejecutaremos el siguiente comando para iniciar el servicio:\nsudo systemctl start fstrim.timer En estos momento el soporte TRIM debería estar habilitado. Para comprobar que está habilitado tan solo tenemos que ejecutar el siguiente comando:\nsudo systemctl status fstrim.timer El resultado obtenido en mi caso es el siguiente:\n● fstrim.timer - Discard unused blocks once a week Loaded: loaded (/lib/systemd/system/fstrim.timer; enabled; vendor preset: enabled) Active: active (waiting) since Fri 2019-02-22 19:47:05 CET; 22min ago Trigger: Mon 2019-02-25 00:00:00 CET; 2 days left Docs: man:fstrim Si analizamos la salida del comando vemos la palabras active y waiting. Por lo tanto TRIM está habilitado. Otra información que podremos encontrar es la siguiente:\nSe ejecutará TRIM una vez por semana en todas las particiones montadas de nuestra unidad de almacenamiento SSD. Se aplicará todos los Lunes a las 00:00 horas. La hora en que se ha levantado el servicio fstrim. Nota: La gran mayoría de distribuciones Linux actuales utilizan systemd. Nota: Si aplicamos TRIM de forma periódica es recomendable no andar justos de espacio de almacenamiento. Forzar la ejecución de TRIM Si durante 2 o 3 días se han escrito o borrado una gran cantidad de datos en el SSD puede ser conveniente forzar un TRIM antes de la fecha programada. Para ello tan solo tenemos que abrir una terminal y ejecutaremos el siguiente comando:\nsudo systemctl enable fstrim.timer --now Si lo prefieren también pueden ejecutar el siguiente comando:\nsudo fstrim -v -a El ejecutar estos comandos se aplicará TRIM a la totalidad de sistemas de ficheros que tengamos montados.\nSí únicamente queremos aplicar TRIM en una de las particiones que tengamos montadas podemos ejecutar un comando del siguiente tipo:\nsudo fstrim -v partición_en_la_que_queremos_aplicar_trim Por lo tanto en función de la partición que queramos aplicar TRIM ejecutaremos los siguientes comandos:\nPartición Comando root sudo fstrim -v / home sudo fstrim -v /home boot sudo fstrim -v /boot De este modo se iniciará el proceso para que la controladora de nuestra unidad SSD conozca la totalidad de bloques de la unidad de almacenamiento que pueden ser borrados.\nNota: Forzar la ejecución de TRIM con la opción -v permite comprobar que no hayan errores durante el proceso. Activar TRIM en volúmenes LVM Para activar TRIM en volúmenes LVM deberemos ejecutar el siguiente comando en la terminal:\nsudo nano /etc/lvm/lvm.conf Cuando se abra el editor de textos cambiaremos el valor issue_discards de 0 a 1. De tal forma que quede del siguiente modo:\n# [...] devices { # [...] issue_discards = 1 # [...] } # [...] Una vez aplicados los cambios los guardamos y reiniciamos el ordenador.\nActivar TRIM en particiones cifradas con dm-crypt Para habilitar TRIM en particiones cifradas realizaremos lo siguiente. Abriremos una terminal y ejecutaremos el siguiente comando:\nsudo nano /etc/crypttab Cuando se abra el editor de textos añadiremos la opción discard en el apartado .\n\u0026lt;target name\u0026gt; \u0026lt;source device\u0026gt; \u0026lt;key file\u0026gt; \u0026lt;options\u0026gt; sda3\\_crypt dev/sda3 none luks,discard Una vez realizadas las modificaciones guardamos los cambios y cerramos el fichero.\nFinalmente actualizaremos la configuración de arranque del sistema ejecutando el siguiente comando en la terminal:\nsudo update-initramfs -u -k all Nota: Activar TRIM en particiones cifradas tiene implicaciones de seguridad. Ver la periodicidad con que se ejecuta TRIM Para ver la periodicidad con que se ejecutará TRIM tan solo tenemos que ejecutar el siguiente comando en la terminal:\ncat /etc/systemd/system/timers.target.wants/fstrim.timer En mi caso el resultado obtenido es el siguiente:\n[Unit] Description=Discard unused blocks once a week Documentation=man:fstrim [Timer] OnCalendar=weekly AccuracySec=1h Persistent=true [Install] WantedBy=timers.target Analizando la salida del comando podemos observar lo siguiente:\nTRIM se ejecuta una vez a la semana. La frecuencia es más que correcta y no recomiendo que se modifique. Si quisierais cambiar la frecuencia tan solo tendríamos que reemplazar weekly por otro valor como por ejemplo Mon,Tue *-*-01..04 12:00:00. Está ejemplo ejecutaría TRIM los 4 primeros días del mes siempre y cuando sean Lunes o Martes a las 12 del mediodía. La precisión temporal con que se ejecutará la tarea TRIM será de ± 1 hora. El valor de persistencia está fijado en True. De este modo, aunque el ordenador no esté abierto a la hora que se tiene que ejecutar, TRIM se ejecutará al abrirlo. Nota: Para ver la totalidad de valores que podemos introducir en el fichero de configuración podemos ejecutar el comando man systemd.timer. Comprobar la última vez que se ejecuto TRIM Para comprobar la última vez que se aplico TRIM ejecutamos el siguiente comando en la terminal:\nsystemctl list-timers fstrim.timer --all El resultado obtenido en mi caso es el siguiente:\nNEXT LEFT LAST PASSED UNIT ACTIVATES Mon 2019-02-18 00:00:00 CET 1 day 13h left Mon 2019-02-11 08:39:42 CET 5 days ago fstrim.timer fstrim.service Si analizamos la salida del comando vemos lo siguiente:\nTrim se ejecutará el próximo Lunes a las 00:00 horas. Falta 1 día y 13 ahora para que se ejecute Trim. La última vez en que se ejecuto fue el pasado Lunes a la 08:39:42h. No se ejecuto a las 00:00 porque en este momento el ordenador estaba apagado. Por lo tanto cuando TRIM se ejecuto cuando abrí el ordenador Consultar los logs de TRIM Si queremos consultar los logs de TRIM podemos ejecutar el siguiente comando en la terminal:\nsudo journalctl -u fstrim.timer Cada vez que reiniciemos el ordenador o servidor se borrará el log de fstrim.timer. Si queréis que el log sea persistente tendréis que realizar lo siguiente.\nInicialmente crearemos la carpeta que almacenará los logs ejecutando el siguiente comando en la terminal:\nsudo -p mkdir /var/log/journal Acto seguido indicamos que los logs del espacio volátil /run/log/journal/ se almacenen en /var/log/journal ejecutando el siguiente comando:\nsudo systemd-tmpfiles --create --prefix /var/log/journal Finalmente reiniciamos el servicio systemd-journald ejecutando el siguiente comando:\nsudo systemctl restart systemd-journald Nota: Aplicando la persistencia de logs implicará que estaremos duplicando logs. FUENTES https://wiki.debian.org/SSDOptimization\nhttps://wiki.archlinux.org/index.php/Solid_state_drive\n","permalink":"https://geeklandlinux.github.io/posts/activar-trim-correctemente-linux/","summary":"\u003cp\u003eEn pasados artículos vimos \u003ca href=\"/posts/trim-debemos-activarlo-ssd/\"\u003ela utilidad de TRIM\u003c/a\u003e en las unidades de almacenamiento SSD. A continuación veremos como podemos activar TRIM de forma correcta en cualquier sistema operativo GNU-Linux.\u003c/p\u003e","title":"Cómo activar TRIM de forma correcta en Linux: fstrim, LVM y dm-crypt"},{"content":"Como muchos sabrán es importante que los usuarios de un SSD tengan activado TRIM en sus ordenadores. Por lo tanto en el siguiente artículo explicaremos que es TRIM y por qué tenemos que activarlo en nuestras unidades de almacenamiento SSD. Sin más dilación empezamos con la explicación.\n¿QUÉ ES EL SOPORTE TRIM? Para entender la funcionalidad del soporte TRIM tenemos que conocer el funcionamiento y el proceso de borrado de archivos de una unidad SSD.\nExplicación del funcionamiento de una unidad SSD Una unidad SSD está formada por bloques y cada uno de los bloques se subdivide en páginas. La unidad mínima de escritura es una página mientras que la unidad mínima de borrado es un bloque. Por lo tanto los datos se pueden escribir dentro de una o varias páginas vacías, pero únicamente un bloque entero puede ser borrado.\nA modo de ejemplo, los datos de un archivo se almacenan en las páginas A, B, C y D del bloque X.\nFigura 1: Ilustración de 2 bloques con el contenido de un archivo.\nCon el tiempo se crea un nuevo archivo que se almacena en las páginas E, F, G y H del bloque X. A posteriori el contenido del archivo almacenado en las páginas A, B, C y D del bloque X varia y como como las unidades SSD no permiten la reescritura de páginas sin que antes se hayan borrado lo que pasará es que las páginas A, B, C y D del bloque X se marcaran como inválidas en el sistema de archivos y se escribirán las nuevas páginas A’, B’, C’ y D’ que contendrán el contenido modificado del primer archivo. Por lo tanto, en esto momentos tenemos el bloque X lleno y los bloques A, B, C y D estarán ocupando espacio útil que no podemos usar hasta que borremos la totalidad del bloque X.\nFigura 2: Bloque X lleno con páginas marcadas como inválidas.\nPara que poder recuperar el espacio de las páginas A, B, C y D se copiará el contenido válido del bloque X al bloque Y. Entonces se podrá borrar el contenido entero del Bloque X. Recordad que el tamaño mínimo de borrado de una unidad SSD es un bloque.\nFigura 3: Proceso de borrado de un bloque en un SSD\nLa función del soporte TRIM en el funcionamiento de una unidad SSD En el proceso descrito en el apartado anterior, TRIM informa de los bloques y páginas que pueden ser borrados a la controladora de la unidad SSD.\nSi en el ejemplo del apartado anterior no dispusiéramos de TRIM, la unidad SSD vería el siguiente escenario:\nFigura 4: Estado de los bloques X e Y sin TRIM\nCuando el escenario real con el soporte TRIM seria el siguiente:\nFigura 5: Estado de los bloques X e Y con TRIM\nPor lo tanto, sin TRIM la unidad SSD pensará que tenemos multitud de bloques y páginas ocupados que realmente no lo están. Frente a este escenario, cuando la unidad SSD se quede sin espacio iniciará un proceso de varias lecturas para encontrar bloques que no estén en uso. Cuando encuentre un bloque con contenido inválido lo tendrá que borrar y a posteriori escribir el nuevo contenido. Este proceso que acabo de describir ocasiona los siguientes problemas:\nDecremento del rendimiento de la unidad SSD. Acortar la vida de la unidad SSD por realizar multitud de lecturas y escrituras que con TRIM se podrían evitar. ¿Qué es el TRIM? Una vez comprendido el contenido de los apartados anteriores podemos elaborar la siguiente definición:\nTRIM informa de los bloques/páginas con datos almacenados que se pueden borrar a la controladora del SSD. De este modo, los bloques que pueden ser borrados se eliminan de una sola vez evitando lecturas excesivas y pérdida de rendimiento con el paso del tiempo.\n¿POR QUÉ DEBEMOS ACTIVAR TRIM? Con la explicación realizada en los apartado anteriores podemos concluir que las ventajas que nos proporciona son las siguientes.\nAlargar la vida útil de nuestra unidad de almacenamiento. Obtendremos mayor vida útil porque se reducirá el número de lecturas y escrituras de nuestra unidad SSD. El rendimiento del equipo será mejor y constante en el tiempo. Sin soporte TRIM, la unidad SSD tendrá que realizar multitud de lecturas y escrituras innecesarias que lo único que causaran es lentitud a nuestro equipo. En estos momentos conocemos que es TRIM, la función que realiza y la ventajas que nos proporciona. Si quieren activarlo y configurarlo en GNU-Linux tan solo tienen que seguir las siguientes instrucciones:\nhttps://geeklandlinux.github.io/posts/activar-trim-correctemente-linux/\nEn el caso que usen Windows pueden consultar el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/activar-trim-en-windows/\nFUENTES https://en.wikipedia.org/wiki/Write_amplification#Garbage_collection\n","permalink":"https://geeklandlinux.github.io/posts/trim-debemos-activarlo-ssd/","summary":"\u003cp\u003eComo muchos sabrán es importante que los usuarios de un SSD tengan activado TRIM en sus ordenadores. Por lo tanto en el siguiente artículo explicaremos que es TRIM y por qué tenemos que activarlo en nuestras unidades de almacenamiento SSD. Sin más dilación empezamos con la explicación.\u003c/p\u003e","title":"Qué es TRIM y por qué debemos activarlo en nuestro SSD"},{"content":"En su día detallamos el procedimiento para instalar y configurar una nube Nextcloud. En esta ocasión les mostraremos el procedimiento para instalar y configurar un cliente de Nextcloud en GNU-Linux.\nINSTALAR UN CLIENTE DE NEXTCLOUD La mayoría de distribuciones Linux no cuentan con el cliente de Nextcloud en sus repositorios. Esto sin duda es un problema para los usuarios más noveles. No obstante tienen que saber que el cliente de escritorio de Owncloud es 100% compatible con Nextcloud. Por lo tanto, lo más recomendable para los usuarios noveles de Linux es instalar el cliente de Owncloud del siguiente modo.\nInstalar el cliente de Owncloud para ser usado con Nextcloud Para instalar el cliente de Owncloud en Debian o en distribuciones derivadas de Debian tenemos que ejecutar el siguiente comando en la terminal:\nsudo apt install owncloud-client Nota: Los usuarios de otras distribuciones deberán adaptar el comando de instalación en función de su gestor de paquetes. Existe la posibilidad de integrar la nube Nextcloud con el gestor de archivos de su distribución. Para ello, en función del gestor de archivos que estén usando tendrán que instalar los siguientes paquetes:\nGestor de archivos Comando para integrar Nextcloud en el gestor de archivos Dolphin sudo apt install dolphin-owncloud Nautilus sudo apt install nautilus-owncloud Nemo sudo apt install nemo-owncloud Caja sudo apt install caja-owncloud Nota: Los usuarios de otras distribuciones deberán adaptar el comando de instalación en función de su gestor de paquetes. De este forma podremos realizar las siguientes operaciones desde nuestro gestor de archivos:\nCompartir archivos mediante el gestor de archivos de forma extremadamente sencilla. Subir contenido de nuestro disco duro a la nube Nextcloud mediante el gestor de archivos. Mediante símbolos el gestor de archivos podemos saber si nuestros archivos están sincronizados. Enviar emails con el enlace para compartir un archivo o carpeta. Crear enlaces públicos protegidos con contraseña y con una fecha de caducidad determinada. Copiar enlaces públicos para compartir archivos y carpetas en nuestro portapapeles. Compartir un enlace únicamente con un determinado usuario o grupo de Nextcloud. De esta forma tan sencilla podemos disponer de un cliente de Nextcloud. No obstante, si lo prefieren pueden instalar y usar el cliente nativo de Nextcloud del siguiente modo.\nInstalar el cliente de Nextcloud en Linux El cliente nativo de Nextcloud únicamente está disponible en formato Appimage y se instala del siguiente modo.\nInicialmente crearemos la carpeta donde guardaremos el paquete AppImage de Nextcloud. Como en mi caso quiero guardar el paquete en la ubicación ~/Appimages ejecutaré el siguiente comando en la terminal:\nmkdir ~/Appimages Seguidamente accederemos a la siguiente URL:\nhttps://nextcloud.com/install/#install-clients\nA continuación descargamos el paquete Appimage de Nextcloud.\nUna vez descargado el paquete lo trasladaremos a la carpeta ~/Appimages. Acto seguido, dentro de la carpeta ~/Appimages ejecutaremos el siguiente comando para dar permisos de ejecución a Nextcloud.\nchmod a+x Nextcloud-2.5.0-x86_64.AppImage Nota: Deberéis modificar la parte roja del comando en función del nombre que tenga el paquete Appimage que habéis descargado. En estos momentos ya podemos dar por concluida la instalación del cliente nativo de Nextcloud.\nNota: El cliente nativo de Nextcloud no ofrece ningún tipo de integración con el gestor de archivos de nuestra distribución. Nota: El cliente nativo de Nextcloud solo está disponible en Inglés. CONFIGURAR EL CLIENTE DE NEXTCLOUD Da igual que hayamos instalado el cliente de Nextcloud o Owncloud ya que su proceso de configuración es el mismo.\nEn el caso que hayamos instalado el cliente de Nextcloud siguiendo las instrucciones de este post abriremos una terminal y ejecutaremos le siguiente comando:\nAppimages/Nextcloud-2.5.0-x86_64.AppImage Nota: Deberéis modificar la parte roja del comando en función del nombre que tenga el paquete Appimage que habéis descargado. En el caso que hayamos instalado el cliente de Owncloud tan solo tendremos que abrir una terminal y ejecutar el siguiente comando:\nowncloud Acto seguido se iniciará el asistente de configuración que es equivalente en ambos casos. Inicialmente aparecerá una ventana parecida a la siguiente en la que deberemos introducir la IP o el dominio de nuestra nube Nextcloud.\nActo seguido tendremos que introducir el usuario y la contraseña de la cuenta que queremos sincronizar en nuestro ordenador.\nFinalmente definiremos algunas de las opciones de configuración. En mi caso he seleccionado las siguientes opciones.\nEn primera instancia he tildado la opción para sincronizar todo el contenido de mi nube a mi ordenador. Si os fijáis, el menú de configuración también ofrece la opción de únicamente sincronizar las carpetas que nosotros queramos. Seguidamente tildo la opción de pedir permiso en el momento se intenten sincronizar carpetas con un tamaño superior a 500 MB. Si queréis podéis modificar el valor de 500 MB. En tercera instancia tildamos la opción para que Nextcloud nos pregunte si queremos sincronizar contenidos que tenemos almacenados en medios externos como por ejemplo un servidor ftp, Google Drive, Dropbox, un Nexcloud externo a nuestro servidor, etc. Finalmente selecciono que la totalidad del contenido sincronizado de nuestra Nextcloud se almacene en una carpeta determinada que en mi caso es /home/joan/Nextcloud. Una vez realizada la configuración presionamos el botón Conectar y se iniciará la sincronización de nuestros datos en la carpeta /home/joan/Nextcloud.\nFUNCIONALIDADES QUE OFRECE EL CLIENTE DE NEXTCLOUD Las funcionalidades que ofrecerá el cliente de Nextcloud son las que detallo a continuación:\nSeleccionar las carpetas que queremos sincronizar. En nuestra nube podemos tener 1000 carpetas y si nos interesa sincronizar solo una lo podemos hacer sin problema. Descartar la sincronizar de determinadas extensiones de archivo o archivos ocultos. De este modo podemos configurar que no se sincronice ningún archivo .exe. Nos proporciona un log de la actividad de nuestra nube. Comprobar que no hayan errores de sincronización y que por lo tanto todos los archivos estén sincronizados. Limitar la velocidad de subida y bajada a nuestra nube. Esta opción es útil en el caso que dispongamos de conexiones de internet lentas. Configurar la conexión al servidor en el caso que nuestra conexión a internet salga a través de un proxy. Añadir más de una cuenta de Nextcloud en un ordenador. De esta forma un usuario puede incluso sincronizar el contenido de otros usuarios. HACER QUE NEXTCLOUD ARRANQUE AL INICIAR NUESTRO SISTEMA OPERATIVO Para conseguir que el cliente de Nextcloud arranque de forma automática cada vez que arrancamos el ordenador hacemos doble clic encima del icono que aparece en el panel.\nCuando aparezca la ventana de configuración clicamos encima de la opción General y tildamos la opción Ejecutar al iniciar el sistema.\nDe este modo, la próxima vez que arranquemos nuestro ordenador se arrancará el cliente de Nextcloud de forma automática. Si os preocupa la estética, en la pestaña General del cliente de Nextcloud también podéis configurar los siguientes aspectos:\nActivar y desactivar las notificaciones. Activar los iconos monocromáticos en el panel de nuestro sistema operativo. De este modo tan sencillo podremos instalar un cliente de escritorio para nuestra nube Nextcloud.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-cliente-de-nextcloud-linux/","summary":"\u003cp\u003eEn su día detallamos el procedimiento para \u003ca href=\"/posts/instalar-nextcloud-mariadb-lighttpd/\"\u003einstalar\u003c/a\u003e y \u003ca href=\"/posts/configurar-optimizar-rendimiento-nextcloud/\"\u003econfigurar\u003c/a\u003e una nube Nextcloud. En esta ocasión les mostraremos el procedimiento para instalar y configurar un cliente de Nextcloud en GNU-Linux.\u003c/p\u003e","title":"Instalar y configurar un cliente de Nextcloud en Linux"},{"content":"Windows por defecto no muestra la extensión de los archivos. Esto genera que un muchos casos me resulte más difícil identificar el archivo que tengo que abrir. Tal y como pueden ver en la captura de pantalla resulta difícil identificar el archivo de LibreOffice que está mezclado con las fotos.\nAparte del problema que acabo de citar se me ocurren otros inconvenientes como por ejemplo los siguientes:\nNo tenemos la posibilidad de cambiar la extensión de los archivos. Cabe mencionar que en ciertos casos puede resultar útil modificar la extensión de un archivo. No ver la extensión de los archivos puede resultar un riesgo de seguridad. Un atacante nos puede enviar un correo con un archivo adjunto que se llame carta.txt.exe. Al ocultarse la extensión .exe, el receptor del email puede pensar que se trata de un archivo de texto e infectarse con un malware al intentar abrirlo. Para solucionar estos pequeños inconvenientes tan solo tenemos que proceder del siguiente modo.\nHACER QUE WINDOWS MUESTRE LA EXTENSIÓN DE LOS ARCHIVOS Presionamos la combinación de teclas Windows+E para abrir el explorador de archivos. Una vez abierto clicamos en la pestaña Vista. Acto seguido tan solo tenemos que tildar la opción Extensiones de nombre de archivo.\nNota: Si lo creéis oportuno también podéis marcar la opción de Mostrar los archivos ocultos. Esta opción está justo debajo de la opción de mostrar la extensión de los archivos. A partir de estos momentos ya podremos identificar los archivos de dentro de una carpeta con mayor facilidad.\nAdemás si tengo necesidad podré cambiar la extensión de los archivos sin ningún tipo de problemas.\nMÉTODO ALTERNATIVO PARA QUE WINDOWS MUESTRE LA EXTENSIÓN DE LOS ARCHIVOS Abrimos el explorar de Windows presionando la combinación de teclas Win+E. A continuación clicamos sobre la pestaña Vista y finalmente clicamos en el botón Opciones.\nCuando aparezca la ventana Opciones de carpeta clicamos encima de la pestaña Ver y Destildamos la opción Ocultar las extensiones de archivo para tipos de archivo conocidos. Finalmente tan solo tendremos que clicar encima del botón Aplicar.\nA partir de estos momentos Windows nos permitirá ver la extensión de todos los archivos presentes en nuestro disco duro.\nSi alguna vez precisáramos ocultar de nuevo la extensión de los archivos tan solo tendríamos que revertir los pasos que hemos ido siguiendo a lo largo de este artículo.\n","permalink":"https://geeklandlinux.github.io/posts/mostrar-extension-de-los-archivos-windows/","summary":"\u003cp\u003e\u003cstrong\u003eWindows por defecto no muestra la extensión de los archivos. Esto genera\u003c/strong\u003e que un muchos casos \u003cstrong\u003eme resulte más difícil identificar el archivo que tengo que abrir\u003c/strong\u003e. Tal y como pueden ver en la captura de pantalla resulta difícil identificar el archivo de LibreOffice que está mezclado con las fotos.\u003c/p\u003e","title":"Mostrar la extensión de los archivos en Windows 10"},{"content":"En el siguiente artículo verán como eliminar entradas no útiles del gestor de arranque de Windows. Actualmente tengo distintas versiones de Windows instaladas en mi ordenador. Por lo tanto, cuando aparece el gestor de arranque de Windows me encuentro con la siguiente situación:\nSi os fijáis, la segunda de las 3 entradas no tiene ningún volumen asignado. Esto es así porque corresponde a una instalación de Windows que ya no está presente en mi disco duro. Para eliminar esta entrada del gestor de arranque disponemos de varios modos. El primero de ellos es el siguiente.\nNota: Tienen que ser cautelosos en el momento de eliminar una entrada del gestor de arranque. Si eliminan la entrada equivocada no podrán arrancar su sistema operativo y la única solución que tendrán será reconstruir la configuración de arranque (BCD). ELIMINAR ENTRADAS DEL GESTOR DE ARRANQUE DE WINDOWS CON LA CONSOLA Para eliminar la segunda entrada de nuestro gestor de arranque abrimos una consola con permisos de administrador.\nSeguidamente listaremos los identificadores de las entradas presentes en el gestor de arranque de Windows. Para ello ejecutaremos el siguiente comando en la consola:\nbcdedit /v En mi caso el resultado obtenido ha sido el siguiente:\nAdministrador de arranque de Windows ---------------------------------- Identificador {9dea862c-5cdd-4e70-acc1-f32b344d4795} device partition=D: description Windows Boot Manager locale es-ES inherit {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e} default {a9a87667-f416-11e8-abac-896c936fa3ea} resumeobject {a9a87666-f416-11e8-abac-896c936fa3ea} displayorder {a9a87667-f416-11e8-abac-896c936fa3ea} {a9a87663-f416-11e8-abac-896c936fa3ea} {0a2775d8-567d-11e8-8d0b-809fffde78e5} toolsdisplayorder {b2721d73-1db4-4c62-bf78-c548a880142d} timeout 10 Cargador de arranque de Windows ----------------------------- Identificador {a9a87667-f416-11e8-abac-896c936fa3ea} device partition=C: path \\Windows\\system32\\winload.exe description Windows 10 locale es-ES inherit {6efb52bf-1766-41db-a6b3-0ee5eff72bd7} recoverysequence {a9a87668-f416-11e8-abac-896c936fa3ea} displaymessageoverride Recovery recoveryenabled Yes allowedinmemorysettings 0x15000075 osdevice partition=C: systemroot \\Windows resumeobject {a9a87666-f416-11e8-abac-896c936fa3ea} nx OptIn bootmenupolicy Standard Cargador de arranque de Windows ----------------------------- Identificador {a9a87663-f416-11e8-abac-896c936fa3ea} device unknown path \\Windows\\system32\\winload.exe description Windows 10 locale es-ES inherit {6efb52bf-1766-41db-a6b3-0ee5eff72bd7} recoverysequence {a9a87664-f416-11e8-abac-896c936fa3ea} displaymessageoverride Recovery recoveryenabled Yes allowedinmemorysettings 0x15000075 osdevice unknown systemroot \\Windows resumeobject {a9a87662-f416-11e8-abac-896c936fa3ea} nx OptIn bootmenupolicy Standard Cargador de arranque de Windows ----------------------------- Identificador {0a2775d8-567d-11e8-8d0b-809fffde78e5} device partition=D: path \\WINDOWS\\system32\\winload.exe description Windows 10 locale es-ES inherit {6efb52bf-1766-41db-a6b3-0ee5eff72bd7} recoverysequence {00747191-5675-11e8-a8a9-d24cfa6083d9} displaymessageoverride Recovery recoveryenabled Yes allowedinmemorysettings 0x15000075 osdevice partition=D: systemroot \\WINDOWS resumeobject {0a2775d7-567d-11e8-8d0b-809fffde78e5} nx OptIn bootmenupolicy Standard Analizando los resultados obtenidos vemos que la tercera entrada con el identificador {a9a87663-f416-11e8-abac-896c936fa3ea} no dispone de ninguna partición asignada (device unknown). Por lo tanto, esta es la entrada que tenemos que eliminar. Para ello ejecutaremos el siguiente comando en la consola:\nbcdedit /delete {a9a87663-f416-11e8-abac-896c936fa3ea} El significado de cada uno de los parámetros usados para borrar la entrada del gestor de arranque es:\nbcdedit: Indicar que queremos editar la configuración del proceso de arranque de Windows. /delete: Definimos que queremos borrar una de las entradas que aparece en el gestor de arranque. {a9a87663-f416-11e8-abac-896c936fa3ea}: Corresponde al identificador de la entrada del gestor de arranque que queremos borrar. En estos momentos ya hemos eliminado una de las entradas del registro de arranque de Windows. En caso que hubiéramos cometido un error aún podríamos deshacer los cambios ejecutando el siguiente comando en la consola:\nbcdboot A partir de estos momentos, la próxima vez que arranque Windows ya solo veré 2 opciones en el gestor de arranque de Windows.\nSi no os gusta usar la consola también pueden usar el entorno gráfico para eliminar entradas del gestor de arranque. Para ello pueden que usar el método que detallo a continuación.\nELIMINAR ENTRADAS DEL GESTOR DE ARRANQUE DE WINDOWS CON MSCONFIG Otra opción más sencilla para eliminar entradas del gestor de arranque de Windows es usando msconfig.\nPara ello presionen la combinación de teclas Win+R. Cuando aparezca la ventana Ejecutar escriban msconfig y seguidamente presionen el botón Aceptar.\nEn la ventana de configuración del sistema cliquen sobre la pestaña Arranque. Seguidamente seleccionen la entrada que quieren borrar y presionen sobre el botón Eliminar.\nSiguiendo estos simples pasos ya habremos borrado la segunda de las tres entradas del arranque de Windows. Por lo tanto, la próxima vez que arranquemos el ordenador únicamente aparecerán dos entradas en el gestor de arranque.\nDe esta forma tan sencilla podemos eliminar las entradas que queramos de nuestro gestor de arranque. Pero tengan mucho cuidado de no eliminar la entrada equivocada.\n","permalink":"https://geeklandlinux.github.io/posts/eliminar-entradas-gestor-arranque-windows/","summary":"\u003cp\u003eEn el siguiente artículo verán como eliminar entradas no útiles del gestor de arranque de Windows. Actualmente tengo distintas versiones de Windows instaladas en mi ordenador. Por lo tanto, cuando aparece el gestor de arranque de Windows me encuentro con la siguiente situación:\u003c/p\u003e","title":"Eliminar entradas inútiles del gestor de arranque de Windows"},{"content":"En el siguiente artículo veremos los pasos a seguir para instalar resilio en un servidor VPS de clouding.io. Como introducción pasaremos a ver las ventajas que nos proporciona Resilio en comparación con otras nubes como por ejemplo Dropbox\nVENTAJAS DE RESILIO FRENTE A OTRAS NUBES COMO DROPBOX Las opciones que ofrece la nube Resilio son superiores a las que puede ofrece una nube como Dropbox. Algunas de las funcionalidades adicionales de Resilio son las siguientes:\nOfrece sincronización selectiva de archivos y carpetas. De este modo puedo compartir 10 carpetas con un equipo y hacer que solo se descargue el contenido de 2 de las 10 carpetas. Por lo tanto, el equipo sincronizado podrá ver el contenido de las 10 carpetas, pero únicamente se le descargará el contenido de 2 de las 10 carpetas. Puede compartir carpetas o archivos con los dispositivos que yo elija. Si tengo 4 equipos y únicamente quiero compartir/sincronizar una carpeta o archivo con 1 de los 4 dispositivos lo puedo hacer sin problema. La sincronización de archivos y carpetas entre los equipos pertenecientes a una misma red local es directa y extremadamente rápida. En Dropbox es todo lo contrario ya que primero tiene que subir los archivos a los servidores de Dropbox y después descargar el contenido al resto de los equipos. Podemos cifrar y compartir los archivos de una carpeta. Esto es útil para realizar copias de seguridad de documentos sensibles. Si tengo una carpeta llena de fotos sensibles la puedo cifrar y compartir con otro equipo de forma extremadamente fácil. Se pueden asignar permisos a los archivos y/o carpetas que compartimos con otros usuarios. Por lo tanto podemos compartir un archivo con un dispositivo y hacer que el usuario de este dispositivo pueda visualizar el archivo pero no lo pueda editar. Es una solución robusta y apta para almacenar y compartir datos en un entorno profesional. La sincronización de archivos es rápida y fiable. Resilio es una nube que consume pocos recursos. Por lo tanto si lo instalamos en un servidor externo no precisaremos de gran cantidad recursos. Su funcionamiento está basado en la tecnología P2P. Si tenemos que sincronizar una carpeta que está presente en 40 equipos, se sincronizará usando partes de los 40 equipos. Por lo tanto la velocidad de transferencia puede ser mucho más rápida. ¿POR QUÉ HE SELECCIONADO UN VPS DE CLOUDING.IO? En mi caso he decidido instalar Resilio en un VPS de clouding.io. Los motivos han sido los siguientes:\nEl ancho de banda que me proporcionan es de 500mbps y la latencia es baja. Por lo tanto podré sincronizar la totalidad de documentos de forma rápida en todos mis dispositivos. El servidor VPS estará activo las 24 horas. Por lo tanto siempre tendré un dispositivo 100% sincronizado que se encargará de sincronizar el resto de mis equipos. Es más seguro almacenar datos en VPS de confianza que en nuestro ordenador. Para poneros un ejemplo clouding.io guardará 3 replicas del contenido almacenado en nuestra nube resilio. Por lo tanto, aunque un servidor se averíe nunca perderemos nuestros datos. Podemos configurar copias de seguridad de forma extremadamente sencilla. Además también podemos realizar snapshots que nos servirán para que en caso de problemas podamos restaurar el servidor a un estado anterior. Sus precios son económicos y además permiten la opción de archivar el servidor. Si archivamos el servidor no pagaremos la CPU y RAM que hemos contratado. Únicamente pagaremos por la cantidad de disco duro SSD contratada. Disponen de servicio de asistencia técnica 24 horas al día incluyendo sábados y domingos. Además la empresa está ubicada en España. CREAR UN SERVIDOR VPS EN CLOUDING.IO Clouding.io es un servicio de pago. No obstante si te registras te dan 5 Euros para que pruebes sus servicios. Por lo tanto si os registráis en clouding.io podréis seguir sin ningún problema las indicaciones de este artículo.\nDefinir el sistema operativo de nuestro servidor VPS Accedemos al panel de configuración de Clouding.io y presionamos sobre el botón Haz click aquí para crear tu primer servidor.\nA continuación tenemos que definir el nombre del servidor, el sistema operativo que queremos usar, la capacidad de procesamiento y almacenamiento de nuestro servidor.\nEn mi caso he seleccionado las siguientes opciones:\nNombre del servidor: Podéis usar cualquier nombre. En mi caso he usado el nombre Resilio_Cloud. Sistema operativo: Clouding.io ofrece servidores Windows y Linux. En mi caso he seleccionado el sistema operativo Linux Debian 9. El motivo principal es que Linux es un sistema operativo seguro y robusto. Nota: Si quieren también pueden usar el sistema operativo Ubuntu. El procedimiento en Ubuntu es exactamente el mismo que en Debian. Asignar los recursos al servidor que alojará la nube Resilio El consumo de recursos de resilio es mínimo. No es necesario asignar muchos recursos al servidor. En mi caso he asignado los siguientes:\nRAM: 1GB. Cores: 0,5 procesadores. Disco SSD: 20GB. 20 Gigas de disco duro son suficientes para mis necesidades almacenamiento. Si queréis asignar menos capacidad no hay problema alguno ya que siempre podréis incrementar la capacidad al vuelo. Nota: Los servidores de clouding.io son escalables. Por lo tanto podremos modificar los valores seleccionados en todo momento. Crear el sistema operativo en el VPS Una vez definidos los parámetros de nuestro servidor VPS tan solo tenemos que presionar en el botón Enviar.\nActo seguido, tal y como se puede ver en la captura de pantalla, el servidor estará activo.\nAcceder al servidor VPS vía SSH Para acceder al servidor vía SSH tenemos que clicar encima del servidor Resilio_Cloud.\nSeguidamente aparecerá la siguiente pantalla que nos mostrará la totalidad de parámetros necesarios para conectarnos a nuestro servidor vía SSH. Concretamente tenéis que tomar nota de la IP Pública, el User y la Contraseña.\nEn mi caso:\nIP pública: 93.189.26.26 User: root Contraseña: 9YwOECoqfG8hx9Yw Seguidamente en su propio ordenador abren una terminal de Linux o una Powershell de Windows y ejecutan el siguiente comando:\nssh root@93.189.26.26 Cada uno los parámetros del comando corresponde a:\nssh: programa usado para conectarnos de forma remota a nuestro servidor. root: Corresponde al user de nuestro servidor. 93.189.26.26: Corresponde a la IP pública del servidor.\nUna vez ejecutado el comando nos preguntarán la contraseña de conexión al servidor. La introducimos, presionamos Enter y nos loguearemos de forma inmediata al servidor.\nNota: Si usan Windows deben seguir las siguientes instrucciones para conectarse al servidor a través SSH a través de Powershell. Si lo prefieren también pueden usar Putty. A estas alturas ya podemos empezar a instalar Resilio.\nINSTALAR RESILIO EN UN SERVIDOR VPS Una vez dentro del servidor ya podemos instalar resilio. Para ello procederemos del siguiente modo.\nActualizar los paquetes de nuestro sistema operativo Lo primero que realizaremos es actualizar los repositorios ejecutando el siguiente comando en la terminal:\nsudo apt update Acto seguido actualizaremos el sistema operativo ejecutando el siguiente comando en la terminal:\nsudo apt upgrade Añadir el repositorio de Resilio A continuación tenemos que añadir el repositorio de Resilio a nuestro sistema operativo. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo echo \u0026#34;deb https://linux-packages.resilio.com/resilio-sync/deb resilio-sync non-free\u0026#34; | sudo tee /etc/apt/sources.list.d/resilio-sync.list Importar la clave pública del repositorio de resilio Acto seguido descargaremos la clave pública del repositorio de Resilio ejecutando el siguiente comando:\nwget https://linux-packages.resilio.com/resilio-sync/key.asc Finalmente importaremos la clave pública que acabamos de descargar ejecutando el siguiente comando:\nsudo apt-key add key.asc Instalar Resilio en nuestro servidor vps Para poder refrescar el repositorio de Resilio tenemos que instalar el paquete apt-transport-https. Para instalarlo ejecutaremos el siguiente comando en la terminal:\nsudo apt install apt-transport-https Acto seguido actualizamos los repositorios de Debian ejecutando el siguiente comando en la terminal:\nsudo apt update Finalmente vamos a instalar Resilio ejecutando el siguiente comando:\nsudo apt install resilio-sync Hacer que Resilio arranque de forma automática al iniciar el servidor Para asegurar que Resilio esté iniciado ejecuten el siguiente comando en la terminal:\nsudo systemctl start resilio-sync Si además quieren que cada vez que se arranque o reinicie el servidor Resilio este activo ejecutaremos el siguiente comando en la terminal:\nsudo systemctl enable resilio-sync A estas alturas ya ha finalizado el proceso para instalar Resilio.\nINSTALAR EL SERVIDOR WEB NGINX Y ACCEDER A RESILIO DE FORMA REMOTA La configuración por defecto de Resilio solo permite acceder a la interfaz de administración web de forma local.\nPara administrar la nube Resilio de forma remota y desde cualquier ubicación necesitamos instalar un servidor web. En mi caso instalaré el servidor web nginx ejecutando el siguiente comando en la terminal:\nsudo apt install nginx Una vez instalado lo iniciaremos ejecutando el siguiente comando:\nsudo systemctl start nginx Para asegurar que el servidor web esté activo cada vez que reiniciamos nuestro VPS ejecutaremos el siguiente comando:\nsudo systemctl enable nginx Acceder a la interfaz de configuración web de Resilio de forma remota La interfaz de administración web de Resilio estará escuchando en el puerto 8888 y solo podremos acceder a ella de forma local. Si queremos acceder a la interfaz web de forma remota tendremos que configurar un proxy inverso. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo nano /etc/nginx/conf.d/rslsync.conf Cuando se abra el editor de textos nano pegaremos le siguiente código:\n#Bloque servidor para resolver una petición server { listen 80; server_name resiliojoan.tk www.resiliojoan.tk; #configuración proxy inverso access_log /var/log/nginx/resiliojoan.tk.log; location / { proxy_pass http://127.0.0.1:8888; } } Nota: Las partes de color rojo deberán ser reemplazadas por vuestro dominio o IP Pública. Una vez pegado el código guardamos los cambios y reiniciamos el servidor web ejecutando el siguiente comando en la terminal:\nsudo systemctl reload nginx En estos momentos ya podemos abrir un navegador e introducir nuestro dominio o IP Pública. Si todo funciona adecuadamente verán que podemos acceder a la interfaz de administración web de Resilio:\nSi no pueden acceder asegúrense que el puerto 80 del servidor esté abierto. En clouding.io el puerto 80 está abierto por defecto.\nInstalar un certificado SSL para administrar Resilio de forma segura Para disponer de un certificado SSL y administrar resilio de forma segura tenemos que instalar certbot. Para ello ejecutamos el siguiente comando en la terminal de nuestro VPS:\nsudo apt install letsencrypt A continuación crearemos la carpeta donde se almacenará nuestro certificado SSL. Para ello ejecutamos el siguiente comando en la terminal:\nsudo mkdir /var/www/html/resiliojoan.tk/ Seguidamente asignamos el grupo y el usuario www-data de forma recursiva al directorio /var/www/html/resiliojoan.tk/\nsudo chown www-data:www-data /var/www/html/resiliojoan.tk/ -R Nota: Recuerden reemplazar las partes rojas del comando por el nombre de su dominio o por su IP Pública. El siguiente paso consiste en editar archivo rslsync.conf. Para ello ejecutaremos el siguiente comando:\nsudo nano /etc/nginx/conf.d/rslsync.conf Una vez se abra el editor de textos añadiremos el siguiente código:\nlocation ~ /.well-known/acme-challenge { root /var/www/html/resiliojoan.tk/; allow all; } De tal forma que el contenido del archivo rslsync.conf quede del siguiente modo:\nserver { listen 80; server_name resiliojoan.tk www.resiliojoan.tk; access_log /var/log/nginx/resiliojoan.tk.log; location / { proxy_pass http://127.0.0.1:8888; } location ~ /.well-known/acme-challenge { root /var/www/html/resiliojoan.tk/; allow all; } } Nota: Recuerden reemplazar las partes rojas del comando por el nombre de su dominio o por su IP Pública. Una vez introducido el código guardamos los cambios y reiniciamos el servidor ejecutando el siguiente comando:\nsudo systemctl reload nginx De este modo, en el momento de crear o renovar el dominio certbot podrá autenticar nuestro dominio mediante el protocolo ACME.\nActo seguido ya podemos generar el certificado SSL de let’s encrypt ejecutando el siguiente comando en la terminal:\nsudo letsencrypt certonly --webroot --agree-tos --email dirección_email -d resiliojoan.tk -w /var/www/html/resiliojoan.tk/ Nota: Recuerden reemplazar las partes rojas del comando por su dominio y por su dirección de email. Para finalizar configuraremos el servidor para que pueda usar el certificado que acabamos de instalar. Para ello editaremos el fichero rslsync.conf ejecutando el siguiente comando en la terminal:\nsudo nano /etc/nginx/conf.d/rslsync.conf Cuando se abra el editor de textos dejaremos el contenido del archivo tal y como verán a continuación:\nserver { listen 80; server_name resiliojoan.tk www.resiliojoan.tk; return 301 https://$server_name$request_uri; } server { listen 443 ssl http2; server_name resiliojoan.tk www.resiliojoan.tk; add_header Strict-Transport-Security \u0026#34;max-age=31536000\u0026#34;; ssl_protocols TLSv1.1 TLSv1.2; ssl_certificate /etc/letsencrypt/live/resiliojoan.tk/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/resiliojoan.tk/privkey.pem; access_log /var/log/nginx/resiliojoan.tk.log; location / { proxy_pass http://127.0.0.1:8888; } location ~ /.well-known/acme-challenge { root /var/www/html/resiliojoan.tk/; allow all; } } Nota: Recuerden reemplazar las partes rojas del código por su dominio o IP pública. Una vez finalizada la configuración guardamos los cambios y cerramos el fichero. De esta forma:\nLa totalidad de tráfico al puerto 80 se redirigirá al puerto 443. Podremos renovar nuestro certificado SSL sin ningún tipo de problema. Podremos administrar nuestra nube de forma segura. Ahora tan solo nos falta reiniciar el servidor web ejecutando el siguiente comando:\nsudo systemctl reload nginx Si no se han producido errores verán que ahora podemos administrar resilio con la protección que nos ofrece el certificado SSL de Let’s Encrypt.\nDefinir un usuario y una contraseña para acceder vía web Como es la primera vez que accedemos al panel de administración web tenemos que definir un usuario y una contraseña. Los definimos y presionamos el botón Continue.\nA continuación:\nEscribimos el nombre que queramos que tenga nuestro dispositivo. Aceptamos los términos de la licencia. Presionamos el botón Get started. Finalmente tan solo tendremos que introducir nuestro usuario y contraseña y presionar el botón de Iniciar Sesión.\nA partir de estos momentos podremos empezar a administrar nuestra nube privada Resilio.\nSu funcionamiento es sencillo e intuitivo. No obstante en futuros post detallaré el funcionamiento de las operaciones más básicas que podemos realizar.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-resilio-servidor-vps/","summary":"\u003cp\u003eEn el siguiente artículo veremos los pasos a seguir para instalar resilio en un servidor VPS de \u003ca href=\"https://clouding.io/\"\u003eclouding.io\u003c/a\u003e. Como introducción pasaremos a ver las ventajas que nos proporciona Resilio en comparación con otras nubes como por ejemplo Dropbox\u003c/p\u003e","title":"Instalar Resilio en un servidor VPS con Debian para sustituir a Dropbox"},{"content":"Es bastante común leer blogs de tecnología que hablan maravillas de Telegram y despotrican de WhatsApp. Comparto algunos de los argumentos que esgrimen pero no todos. Uno de los puntos en que no estoy de acuerdo es que Telegram respete la privacidad de sus usuarios.\n¿TELEGRAM RESPETA LA PRIVACIDAD DE SUS USUARIOS? Sin duda Telegram es una aplicación excelente, pero:\n¿No os sorprende que esta excelente aplicación no disponga de anuncios y sea totalmente gratuita?\nEn el momento una aplicación es gratis significa que nosotros somos el producto. Mantener un servicio de mensajería con mas de 200 millones de usuarios tiene un coste elevado y por lo tanto sospecho que Telegram tendrá que monetizar de algún modo los datos que están almacenados en sus servidores.\nEl financiamiento de Telegram Parece que las fuentes de financiamiento más importantes de Telegram son Pável Dúrov, Pável Dúrov, Pável Dúrov y las donaciones. Aunque Pavel Dúrov amase una fortuna estimada en 1700 millones de dólares, me resulta difícil creer que sea un filántropo que invierta cerca de 1 millón de dolares mensuales para mantener un servicio que no le genera beneficios. Un servicio de mensajería con las funcionalidades que ofrece Telegram y usado por 200 millones de personas tiene un coste muy elevado.\nHablando de fuentes de financiamiento deciros que Telegram está trabajando en crear su propia criptomoneda y su propio medio de pago que permitirá pagar tanto con moneda tradicional como con su propia criptomoneda. Esta idea si me cuadra más con la de una persona joven, ambiciosa, y que siendo rica aun quiere enriquecerse más.\nLa política de privacidad de Telegram La política de privacidad de Telegram me parece un poco vaga. Si la leéis dicen para que no usan los datos que almacenan, pero no especifican para que los usan. Simplemente dicen que los usan para que el servicio de mensajería funcione de forma adecuada y para evitar fraudes y delitos. Imagino que para que un servicio funcione será necesaria la financiación, ¿No?\nPero es que Telegram no proporcionó datos al gobierno ruso Es verdad que Telegram se negó a proporcionar datos al gobierno ruso, pero Apple hizo algo similar. Apple se negó a proporcionar datos al FBI sobre uno de los autores de la matanza de San Bernardino.\nMi punto de vista es que ambos se negaron a proporcionar la información para mantener su reputación y porque era la decisión más acertada para la viabilidad de su negocio. Toda empresa únicamente mira por si misma y por su futuro.\nTelegram tiene funciones que pueden vulnerar la privacidad de los usuarios Telegram dispone de una serie de características que bajo mi punto de vista pueden comprometer la privacidad de sus usuarios. Algunas de ellas son las siguientes:\nPara usar Telegram tenemos que proporcionar nuestro número de teléfono. Telegram recopila información de nuestros contactos en sus servidores. Esta característica se puede deshabilitar en la configuración de la aplicación. En Telegram hay miles de Bots desarrollados por terceros. Tened en cuenta que un Bot tiene la capacidad de leer y almacenar la totalidad de mensajes de un grupo. Por lo tanto un Bot puede comprometer la privacidad de Telegram. La totalidad de nuestros datos se almacenan en servidores externos y nadie sabe a ciencia cierta que hacen con ellos. Si usamos el servicio de Telegram Passport estaremos proporcionando datos sensibles, como por ejemplo nuestro pasaporte y DNI a Telegram. Los permisos que damos a la aplicación de Telegram son exactamente los mismos que damos a la aplicación de WhatsApp. Etc. ¿TELEGRAM ES SOFTWARE LIBRE? He leído muchas veces que Telegram es software libre. Esta afirmación no es del todo cierta.\nSu protocolo MTProto es es libre, pero existen clientes de Telegram que no lo son. Por ejemplo el famoso Telegram X tiene una licencia propietaria. Por lo tanto todos los usuarios de Telegram X están proporcionando la totalidad de sus datos a un software privativo que no sabemos como funciona.\nPero aunque usemos un cliente libre tampoco estamos a salvo porque nadie conoce el código y el funcionamiento de los servidores que proporcionan el servicio y almacenan nuestros datos. Por lo tanto nadie puede saber a ciencia cierta lo que hace Telegram con los datos almacenados en su servidor.\nCONCLUSIONES SOBRE LA PRIVACIDAD DE TELEGRAM Obviamente todo el mundo sabe y es consciente que WhatsApp no respeta la privacidad de sus usuarios. Pero en lo que a privacidad se refiere tampoco me fío de Telegram. No existe ninguna evidencia que Telegram vulnere la privacidad de sus usuarios, pero en mi caso soy escéptico por la totalidad de argumentos mencionados en el artículo.\nAmigos tengan en cuenta que la privacidad murió en los años 90.\nNota: Este artículo es una opinión personal. A día de hoy no se puede demostrar que Telegram vulnere la privacidad de sus usuarios, pero tampoco se puede demostrar lo contrario.","permalink":"https://geeklandlinux.github.io/posts/opinion-privacidad-de-telegram/","summary":"\u003cp\u003eEs bastante común leer blogs de tecnología que hablan maravillas de Telegram y despotrican de WhatsApp. Comparto algunos de los argumentos que esgrimen pero no todos. Uno de los puntos en que no estoy de acuerdo es que Telegram respete la privacidad de sus usuarios.\u003c/p\u003e","title":"Mi opinión sobre la privacidad de Telegram y Pável Dúrov"},{"content":"En el transcurso del artículo detallaremos la totalidad de aspectos que tenemos que conocer sobres los paquetes AppImage.\n¿QUÉ SON LOS PAQUETES APPIMAGE? Son paquetes que tienen una función similar a:\nLas aplicaciones portables de Windows. Los archivos .dmg de MacOS. Todos y cada unos de los paquetes AppImage tienen las siguientes propiedades:\nSon archivos binarios, pero en vez de tener la extensión .exe o .dmg tienen la extensión .AppImage. Al ejecutarlos se automonta una imagen ISO comprimida que contiene un programa y la totalidad de librerías para que el programa funcione de forma independiente. Una vez montada la imagen se ejecutará el contenido de la imagen y por lo tanto se abrirá el programa. Un archivo .AppImage tan solo puede contener un programa. Al hacer doble clic sobre el paquete se abrirá el programa. Los programas encapsulados dentro de un paquete .AppImage se pueden ejecutar en la totalidad de distribuciones Linux. Nos permiten instalar y usar un programa sin necesidad de otorgar permisos de administración. Contienen la totalidad de librerías para que un programa funcione de forma autónoma y adecuada. Por lo tanto, los programas se pueden usar sin depender de las librerías que tenga nuestro distribución. Por lo tanto los programas encapsulados en paquetes AppImage nos permitirán distribuir y usar programas en cualquier distribución Linux de forma sencilla y segura.\nFUENTES PARA DESCARGAR PAQUETES APPIMAGE En este apartado seré claro y conciso. Únicamente descarguen paquetes AppImage de la web del desarrollador de la aplicación. Por razones obvias no es seguro descargar programas de fuentes desconocidas.\nA continuación les dejo enlaces confiables para que podáis descargar e instalar algunas de las aplicaciones más conocidas en Linux:\nNextcloud. Krita. LibreOffice. Ultimaker Cura. Kdenlive. Inkscape. DigiKam. MuseScore. LMMS. Wechat. Scribus. Etc. Aunque no sea la opción más recomendable, también existe la opción de usar un repositorio central de aplicaciones. Para visitarlo tan solo tienen que acceder la web de AppImageHub.\nINSTALAR UN PROGRAMA MEDIANTE PAQUETES APPIMAGE La forma más sencilla para poder instalar un paquete AppImage es la que veremos a continuación.\nDescargar el paquete .Appimage En mi caso pretendo instalar el programa Kdenlive. Por lo tanto me dirijo a la web oficial de los desarrolladores y descargo el paquete en formato AppImage.\nUna vez descargado lo guardamos en una ubicación que sea fácil de recordar y localizar. En mi caso guardo la totalidad de paquetes en la ubicación ~/Appimages\nDar los permisos pertinentes al paquete AppImage A continuación vamos a la ubicación donde hemos guardado el paquete AppImage de Kdenlive. Lo seleccionamos, presionamos el botón derecho del ratón y cuando aparezca el menú contextual clicamos sobre la opción Propiedades.\nA continuación, en la ventana Propiedades clicamos la pestaña Permisos. En la pestaña Permisos tildamos la opción Permitir que este archivo se ejecute como programa. Finalmente presionamos el botón Cerrar. De este modo tan sencillo ya hemos otorgado los permisos de ejecución necesarios.\nSi lo prefieren también pueden dar permisos de ejecución al archivo mediante la terminal. Para ello tienen que ejecutar un comando del siguiente tipo:\nchmod a+x nombre_paquete.AppImage Por lo tanto, en mi caso tendría que utilizar el siguiente comando:\nchmod a+x kdenlive-18.08.3-x86_64.AppImage Ejecutar el programa Appimage A estas alturas ya podemos ejecutar el programa Kdenlive. Para ello tan solo tenemos que hacer doble click sobre el paquete .AppImage de Kdenlive.\nActo seguido podremos usar Kdenlive sin ningún tipo de problema.\nNota: Las imágenes contenidas en paquetes AppImage se automontan usando FUSE. Por lo tanto, antes de ejecutar el programa aseguren que tienen instalado el paquete fuse en su equipo. Integrar kdenlive en el menú de nuestra distribución Existen programas que se integran en el menú de forma automática, pero también existen muchos, como por ejemplo kdenlive, que no.\nSi queremos introducir un programa en el menú de nuestra distribución tan solo tenemos que seguir las instrucciones del siguiente enlace:\nhttps://geeklandlinux.github.io/posts/editar-el-menu-linux-menulibre/\nHacer que una extensión de archivo se abra con un programa instalado a través de un AppImage Para conseguir que un archivo con la extensión .kdenlive se abra con el programa kdenlive tenemos que proceder del siguiente modo. Seleccionamos el archivo con extensión .kdenlive y presionamos el botón derecho del ratón. Cuando se abra el menú contextual seleccionamos la opción Abrir con… y acto seguido clicamos sobre la opción Abrir con otra aplicación\u0026hellip;\nA continuación seleccionamos la aplicación con que queremos abrir el archivo y tildamos la opción Utilizar como predeterminado para este tipo de archivo. Finalmente tan solo tenemos que presionar el botón Abrir.\nA partir de estos momentos, todas las veces que hagamos doble click sobre un archivo con extensión .kdenlive se abrirá el archivo con el programa kdenlive.\nNota: El procedimiento de este apartado es válido para el escritorio XFCE. Para otros escritorio el procedimiento será similar. Abrir un programa dentro un entorno controlado Sandbox Afortunadamente Firejail es compatible con el formato AppImage. Por lo tanto podemos abrir programas empaquetados en paquetes AppImage dentro de un entorno controlado.\nPara ello lo primero que tenemos instalar Firejail ejecutando el siguiente comando en la terminal:\nsudo apt-get install firejail Acto seguido ya podremos abrir el programa dentro del sandbox ejecutando un comando del siguiente tipo en la terminal:\nfirejail --appimage nombre_paquete.Appimage Por lo tanto si quiero abrir kdenlive dentro de un sandbox tan solo tengo que ejecutar el siguiente comando en la terminal:\nfirejail --appimage kdenlive-18.08.3-x86_64.AppImage ACTUALIZAR LOS PROGRAMAS EN FORMATO APPIMAGE Existen programas que son capaces de auto-actualizarse. También existen programas como AppImageUpdate que pretenden facilitar la actualización de los programas.\nNo obstante, en mi caso ninguna de las 2 opciones funciona de forma adecuada. Ambas opciones considero que están verdes. Por esto motivo mi recomendación es que actualicen los paquetes de forma manual.\nEn el momento que exista una nueva actualización sigan los siguientes pasos:\nDescarguen la versión actualizada del programa que precisan actualizar. Otorguen los permisos necesarios al archivo AppImage que contiene el programa actualizado. Reemplacen el archivo AppImage viejo por el nuevo que acaban de descargar. Tengan presente que el archivo AppImage nuevo tiene que tener el mismo nombre que el archivo AppImage viejo. De esta forma sencilla, pero manual, podrán realizar las actualizaciones de los programas.\nINCONVENIENTES DE LOS PAQUETES APPIMAGE FRENTE A LOS REPOSITORIOS TRADICIONALES Obviamente los paquetes AppImage tienen puntos de mejora. Algunos de los aspectos que no me gustan son los siguientes:\nExisten actualizaciones incrementales y automáticas. También existen herramientas como AppImageUpdate, pero desafortunadamente las opciones disponibles no me funcionan de forma correcta. Por lo tanto en mi caso realizo las actualizaciones de forma manual. La integración de las aplicaciones con el escritorio debería ser mejor. Existen soluciones como appimaged que en teoría solucionan la totalidad de problemas de integración, pero en mi caso esta solución no me funciona. Por lo tanto tengo que realizar la totalidad de tareas de integración de forma manual. Las aplicaciones tardan más en arrancar. No obstante una vez iniciadas funcionan de forma extremadamente fluida y correcta. Considero que los programas alojados en los repositorios de una distro Linux son más seguros que los que podamos descargar de una web. Aunque es un formato que usa compresión, los programas ocupan más espacio en el disco duro. Esto es así porque los paquetes AppImage traen la totalidad de librerías incorporadas para que el programa funcione de forma autónoma. El número de programas encapsulados paquetes AppImage no es muy elevado. Por la totalidad de motivos descritos en este apartado prefiero usar los repositorios tradicionales. No obstante hay aplicaciones como kdenlive, DigiKam o el cliente de Nextcloud que prefiero usarlos a través de paquetes Appimage.\nVENTAJAS DE LOS PAQUETES APPIMAGE FRENTE A LOS REPOSITORIOS TRADICIONALES Los paquetes AppImage contienen la totalidad de librerías para que el programa funcione de forma autónoma y adecuada. Este hecho proporciona las siguientes ventajas:\nUna buena opción para instalar una aplicación que requiera de muchas dependencias que no tenemos instaladas en nuestro ordenador. Por ejemplo podremos usar aplicaciones de KDE en Gnome sin necesidad de instalar las librerías de KDE. Usar un programa sin necesidad de instalarlo y sin necesidad de darle permisos de usuario root. Por lo tanto podemos usar y probar aplicaciones de forma sencilla sin comprometer la seguridad de nuestro sistema operativo. El programa empaquetado en el formato AppImage se puede instalar y usar en la totalidad de distribuciones Linux. Esto es una gran ventaja para los usuarios y los desarrolladores. Si tenemos un dual boot podemos usar el mismo paquete AppImage en ambas distribuciones Linux. Los programas pueden funcionar de forma estable en sistemas operativos inestables sin ningún tipo de problema. Usar programas actuales en distribuciones estables o LTS como por ejemplo Debian estable o Ubuntu. Instalar y usar programas que no están en los repositorios de nuestra distribución Linux. Las posibilidades que un programa funcione de forma fluida y correcta son mucho más elevadas. Eliminamos los problemas de dependencias. Es portable. Por lo tanto podemos almacenar nuestros programas en un pendrive y usarlos en cualquier ordenador sin necesidad de instalar nada. Además el proceso de instalación es similar al que seguiríamos en Windows y en MacOS. Por lo tanto este tipo de paquetes puede rebajar la curva de aprendizaje de los nuevos usuarios de Linux.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-paquetes-appimage-ventajas/","summary":"\u003cp\u003eEn el transcurso del artículo detallaremos la totalidad de aspectos que tenemos que conocer sobres los paquetes AppImage.\u003c/p\u003e","title":"Instalar paquetes AppImage en Linux Ventajas, inconvenientes"},{"content":"Año tras año crece de forma exponencial el número de fotos que tiran las personas. A modo de ejemplo en el año 2017 se tiraron más de 1,2 billones de fotos. Esto es así porque hoy en día hay millones de adolescentes y adultos con teléfonos en sus bolsillos que inconscientemente envían y suben fotografías a la red sin ningún tipo de temor. Lo que no saben la mayoría de personas es que las fotos pueden revelar información personal de sus vidas. Mediante estándares como por ejemplo el Exif (Exchangeable image file format), la totalidad de fotografías tomadas con un dispositivo digital llevan información incrustada conocida como metadatos. Cualquier archivo de imagen con el formato .jpg, .tiff, .raw, .png, etc es susceptible de contener metadatos. Por lo tanto vayan con cuidado con los metadatos de una fotografía.\nNota: Exif es solo uno de los estándares existentes para incrustar información en las fotos. Existen otros estándares como XMP. IPTC, etc. INFORMACIÓN QUE CONTIENEN LOS METADATOS DE UNA FOTOGRAFÍA Los metadatos incrustados en las fotografías contienen o pueden contener la siguiente información:\nLas coordenadas GPS de donde se ha tomando la fotografía. Por lo tanto cualquier persona que consiga una fotografía puede ser capaz de averiguar la ubicación exacta de donde la tomamos. Parámetros fotográficos como por ejemplo la cámara con que se ha tirado la fotografía, la versión del firmware usada, si hemos usado flash, la distancia focal, la apertura de diafragma, el tamaño de la imagen, etc. La fecha y hora exacta en que se tomo la fotografía. El nombre del propietario de la cámara. El modelo de la cámara con que se ha tomo la fotografía. El tamaño de la fotografía. Una vista en miniatura de la fotografía, o thumbnail. Etc. Seguro que habrá gente que pensará que proporcionar la información que acabo de citar no supone nada. Si es el caso les recomiendo que lean el siguiente apartado.\nINFORMACIÓN SENSIBLE QUE PUEDEN REVELAR LOS METADATOS DE UNA FOTOGRAFÍA Anteriormente hemos dicho que una fotografía puede traer incrustadas las coordenadas GPS de donde se tiro la foto y la fecha de disparo. Por lo tanto mediante una fotografía se pueden llegar a averiguar varios aspectos como por ejemplo:\nLa escuela donde van nuestros hijos. La dirección exacta de la casa donde vivimos. Demostrar que un determinado día y hora estábamos en un lugar. Que una persona desconocida sea capaz de ver la casa donde vivimos. Conociendo las coordenadas GPS de la vivienda de una persona podemos usar herramientas como Google Earth o Google Street View para ver imágenes reales de su casa. Existen fotos que están retocadas digitalmente. Existen casos que mediante el Thumbnail, o imagen en miniatura, podemos averiguar el contenido de una foto antes de ser retocada. A lo largo de la historia han existido casos en los que los metadatos de una fotografía han ayudado ha demostrar sucesos como por ejemplo:\nLos selfies de los soldados rusos demostraron que estaban operando en territorio Ucraniano. El fugitivo John McAfee fue localizado a través de una fotografía. ¿ENTONCES LOS METADATOS SON MALOS? Los metadatos pueden revelar información comprometedora, pero al mismo tiempo son necesarios y extremadamente útiles. Algunas de las utilidades de los metadatos son las siguientes:\nPara clasificar y catalogar nuestras fotografías. Al subir nuestras fotografías a un servicio, como por ejemplo Google fotos, quedan completamente organizadas y clasificadas gracias a metadatos como la fecha de disparo, la localización GPS incrustada en la foto, etc. Facilitar la búsqueda de fotografías. Existe software que nos permitirá realizar búsquedas de nuestras fotografías gracias a los metadatos que tienen incrustadas. De esta forma podemos hacer una búsqueda de la totalidad de fotografías tomadas en Barcelona en una fecha determinada. Para archivar y conservar nuestras fotos. De esta forma, en un futuro lejano cualquier persona podrá consultar nuestras fotografías de forma fácil y sencilla. Etc. Por lo tanto, como han podido ver los metadatos son extremadamente útiles.\nEJEMPLO DE LA INFORMACIÓN PROPORCIONADA POR LOS METADATOS DE UNA FOTOGRAFÍA Existen infinidad de programas para visualizar los metadatos de una fotografía. Algunos ejemplos son:\nExifTool. Photoshop. Xnview. Exif Pilot. Gwenview. FastPreview. Etc. No obstante, la forma más fácil para ver y ser conscientes de la información que pueden proporcionar los metadatos de una fotografía es usar el servicio web Pic2map. Para ello accedemos accedemos a la siguiente URL:\nhttps://www.pic2map.com/\nUna vez dentro de la web arrastramos una foto dentro de nuestro navegador.\nY sorprendentemente, por arte de magia, obtendrán la ubicación exacta donde fue tomada una fotografía. Si precisan de más información pueden presionar sobre el botón View More Info.\nDespués de presionar el botón obtendrán información adicional sobre la fotografía.\nComo ven, de forma trivial y sin tener ningún conocimiento podemos extraer infinidad de información de una fotografía.\n¿LAS REDES SOCIALES BORRAN LOS METADATOS DE LAS FOTOS? Twitter y Facebook borran automáticamente la totalidad de metadatos comprometedores de las fotografías.\nNo obstante tengan en cuenta que tanto la política de privacidad de Facebook como de Twitter especifican que pueden recolectar la ubicación y metadatos de nuestras fotos.\nSi hablamos de Instagram tampoco tenemos que preocuparnos en exceso porque no permite descargarnos las fotos de terceros. No obstante al igual que Facebook y Twitter recopilarán la totalidad de metadatos de nuestras fotografías.\nTengan en cuenta que pueden existir redes sociales que no borren los metadatos. Por lo tanto, cuando empiecen a usar una red social hagan sus comprobaciones y lean cuidadosamente su política de privacidad.\nOtras redes sociales, como por ejemplo Google+ o Flikr, no borran los metadatos y somos nosotros quien tiene que configurar si los queremos hacer públicos o no.\nPor lo tanto no tenéis que preocuparos en exceso si usáis las redes sociales más convencionales. No obstante si nos debería preocupar que un atacante accediera a las fotografías que tenemos almacenadas en Google Fotos, iCloud, Flikr, etc.\nMEDIDAS PREVENTIVAS EN EL MOMENTO DE COMPARTIR FOTOGRAFÍAS A lo largo del artículo hemos visto la información que pueden revelar los metadatos de una fotografía. Quien esté preocupado por su privacidad debería tener en cuenta los siguientes consejos:\nRestringir las personas con que compartimos las fotografías. Antes de subir una fotografía a la red o enviarla a una persona hay que pensarlo 2 veces. Comprobar si la redes sociales borran los metadatos. Si las redes sociales borran los metadatos podremos compartir fotos de forma más segura. Leer la política de privacidad de las redes sociales y servicios donde subimos y alojamos nuestras fotografías. Recuerden que hay muchas redes sociales que ocultan los metadatos de nuestras fotos, pero los almacenan en sus servidores. En caso que lo crean necesario pueden borrar los metadatos de una fotografía antes de compartirla. Existen herramientas como ExifTool, Exif Eraser, Easy Exif Delete, XnView, etc que nos permiten borrar las metadatos de forma sencilla. Configurar la cámara de nuestro teléfono o dispositivo digital para evitar que incruste la ubicación GPS en las fotos. Ser cuidados. Cualquier foto, aunque sea estúpida, puede revelar información privada. Recordad que si decidís formatear los metadatos tampoco estáis a salvo. Cualquier persona que vea una fotografía o conjunto de fotografías puede ser capaz de reconocer donde se tiro la foto. Además sean cuidadosos con los comentarios que hagan en las redes sociales.\n","permalink":"https://geeklandlinux.github.io/posts/informacion-revelar-metadatos-fotografia/","summary":"\u003cp\u003eAño tras año crece de forma exponencial el número de fotos que tiran las personas. A modo de ejemplo en el año \u003ca href=\"https://es.statista.com/grafico/11001/este-ano-se-capturaran-12-billones-de-fotos-en-todo-el-mundo/\" title=\"Relación de las fotos realizadas el año 2017\"\u003e2017 se tiraron más de 1,2 billones de fotos\u003c/a\u003e. Esto es así porque hoy en día hay millones de adolescentes y adultos con teléfonos en sus bolsillos que inconscientemente envían y suben fotografías a la red sin ningún tipo de temor. Lo que no saben la mayoría de personas es que las fotos pueden revelar información personal de sus vidas. Mediante estándares como por ejemplo el \u003cstrong\u003eExif (Exchangeable image file format)\u003c/strong\u003e, la totalidad de fotografías tomadas con un dispositivo digital llevan información incrustada conocida como metadatos. Cualquier archivo de imagen con el formato .jpg, .tiff, .raw, .png, etc es susceptible de contener metadatos. Por lo tanto vayan con cuidado con los metadatos de una fotografía.\u003c/p\u003e","title":"Información que pueden revelar los metadatos de una fotografía"},{"content":"A continuación verán como pueden instalar y activar Winrar de forma segura y sencilla. No obstante recuerden que existen otras opciones igual de buenas como por ejemplo Winzip o 7-Zip.\nINSTALAR WINRAR EN WINDOWS Recomiendo descargar WinRar de un sitio seguro. Por lo tanto accedan a la web oficial de WinRar clicando en el siguiente enlace:\nhttps://www.winrar.es/descargas\nA continuación cliquen sobre el enlace descarga que pueden ver en la siguiente captura de pantalla:\nUna vez descargado el archivo de instalación .exe hagan doble clic sobre él para iniciar la instalación.\nEl proceso de instalación es sumamente fácil. Una vez se inicie el proceso de instalación tan solo tendremos que presionar sobre el botón Instalar.\nACTIVAR WINRAR DE DE FORMA PERMANENTE Una vez instalado el programa verán que se trata de una copia de evaluación. Por lo tanto, cuando hayan transcurrido 40 días, cada vez que abramos WinRar nos aparecerá una molesta ventana informando que tenemos que Comprar una licencia de WinRar o desinstalarlo de nuestro ordenador.\nPara activar WinRar y evitar estos molestos mensajes crearemos un archivo de texto del siguiente modo:\nUna vez abierto el archivo de texto pegaremos el siguiente código:\nRAR registration data Federal Agency for Education 1000000 PC usage license UID=b621cca9a84bc5deffbf 6412612250ffbf533df6db2dfe8ccc3aae5362c06d54762105357d 5e3b1489e751c76bf6e0640001014be50a52303fed29664b074145 7e567d04159ad8defc3fb6edf32831fd1966f72c21c0c53c02fbbb 2f91cfca671d9c482b11b8ac3281cb21378e85606494da349941fa e9ee328f12dc73e90b6356b921fbfb8522d6562a6a4b97e8ef6c9f fb866be1e3826b5aa126a4d2bfe9336ad63003fc0e71c307fc2c60 64416495d4c55a0cc82d402110498da970812063934815d81470829275 A continuación accedemos al menú Archivo y clicamos sobre la opción Guardar como\u0026hellip;\nSeguidamente, en el campo Nombre escribimos rarreg.key. En el campo Tipo seleccionamos Todos los archivos y finalmente presionamos sobre el botón Guardar.\nUna vez guardado el archivo lo cerramos y lo copiamos del siguiente modo:\nActo seguido iremos a la carpeta donde se instalamos WinRar. En mi caso la ruta es C:\\Program Files\\WinRAR. Una vez dentro de la carpeta pegaremos el archivo rarreg.key.\nLa próxima vez que arranquemos WinRar ya no aparecerá el mensaje de copia de evaluación.\nDe esta forma tan sencilla podremos instalar y activar WinRar de forma completamente segura.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-activar-winrar-por-vida/","summary":"\u003cp\u003eA continuación verán como pueden instalar y activar Winrar de forma segura y sencilla. No obstante recuerden que existen otras opciones igual de buenas como por ejemplo Winzip o 7-Zip.\u003c/p\u003e","title":"Instalar y activar Winrar de por vida de forma fácil y sin cracks"},{"content":"En mi caso no uso Telegram para hablar con mis personas más cercanas. La razón es que la gran mayoría de ellas no usan Telegram. A pesar de esto si que acostumbro a usar Telegram para otros fines que detallaré a continuación.\nUSOS QUE PODEMOS DAR A TELEGRAM La gran ventaja de WhatsApp es que tiene una gran masa de usuarios. Prácticamente la totalidad de nuestros conocidos usa WhatsApp. Por lo tanto WhatsApp es la aplicación ideal para hablar y crear grupos con personas conocidas.\nEn contrapartida Telegram es aplicación ideal para informarte e interactuar con personas desconocidas que tienen intereses afines a los tuyos. Esto es así porque en Telegram podemos crear y unirnos a canales y grupos públicos sin la necesidad de proporcionar nuestro número de teléfono.\nUso que podemos dar a los canales privados Algunas de las utilidades que podemos dar a los canales privados de Telegram son las siguientes:\nRealizar copias de seguridad. En los canales privados podemos almacenar todo tipo de archivos como por ejemplo Fotos, Libros, Notas de voz, aplicaciones de Android, Música, etc. Al ser una software multiplataforma, los archivos de la copia de seguridad estarán disponibles en la totalidad de tus dispositivos. Telegram es una software multiplataforma presente en la totalidad de sistemas operativos. Gracias a esto podemos usar Telegram para pasar contenido de los dispositivos móviles al ordenador y viceversa. Si lo precisamos podemos crear una galería de fotos. Una vez creada la galería podemos invitar a los usuarios con quien queremos compartir las fotos. Almacenar enlaces que queremos leer más tarde. Si no tenemos tiempo para leer una web podemos dejar su enlace en un canal privado. De esta forma podemos utilizar Telegram como si fuera Pocket. Etc. La cantidad de información que podemos almacenar en canales privados y públicos es ilimitada. La única restricción que tenemos es que no podemos subir archivos con un tamaño superior a 1,5 GB.\nUtilidades que pueden tener los canales públicos Obviamente los canales públicos tienen utilidades distintas a los canales privados. Los usos que podemos dar a los canales públicos son los siguientes:\nLeer las noticias de periódicos online como por ejemplo el periódico, 20 Minutos, etc. Para ello tan solo hay que buscar los canales de noticias que más nos interesen. Existen numerosos canales de chollos, ofertas y descuentos. A través de ellos puedes estar informado de las mejores ofertas existentes en todo momento. Nosotros mismos podemos crear un canal de chollos. Si introducimos enlaces de afiliados a nuestro canal de chollos podremos intentar ganar dinero. Existen canales de chollos con casi medio millón de suscriptores, por lo tanto es de suponer que este canal tendrá ingresos importantes. Existen numerosos canales para poder descargar música, películas, series, cómics, etc. Como una herramienta de marketing. Si somos una empresa, un blog o cualquier otra organización podemos usar los canales públicos para difundir e informar de nuestras novedades a los integrantes del canal. También podemos usar Telegram como una herramienta de email marketing. Si eres una entidad, o un simple blog, podemos usar los canales públicos para hacer comunicados y difundir noticias corporativas. De esta forma nuestros seguidores siempre estarán informados de las novedades. Mediante el servicio https://telegra.ph/ podríamos crear nuestro propio blog en Telegram. Obviamente Google no nos indexará y no será tan versátil ni funcional como Wordpress, pero seria una forma fácil de tener nuestro propio blog. Alojar los audios de un podcast. Alojar los audios en Telegram es una buena forma para ganar nuevos oyentes y para diferenciarse de la competencia. Si alojamos un podcast en Telegram no tendremos feed, pero si nos buscamos la vida podremos publicar nuestro podcast en Telegram a través del feed de Ivoox. Etc. ¿Para que podemos usar un Grupo público de Telegram? Los grupos públicos de Telegram se pueden usar para informarnos sobre temas específicos y para interactuar con personas que tienen intereses similares a los nuestros.\nExisten multitud de grupos públicos dedicados a hablar sobre temas concretos como por ejemplo:\nLinux. Software Libre. Formula 1. Películas. Libros. Python. Raspberry Pi. Redes. Domótica. Política. Etc. Otros usos que podríamos dar a un canal público son los siguientes:\nHacer un grupo para que los oyentes de un podcast temático puedan hablar y debatir. Herramienta de Marketing para hacer un grupo en donde los usuarios pueden expresar sus comentarios sobre los productos de una compañía. Realizar un grupo para que los lectores de un blog puedan interactuar con los redactores. Etc. ¿Qué utilidades podemos dar a los grupos privados? La utilidad de los grupos privados de Telegram es similar a la de los grupos de WhatsApp.\nAsí que posibles utilidades que podremos dar a los grupos privados de Telegram son:\nMontar un grupo con la totalidad de personas que quieren realizar un viaje de forma conjunta. Realizar un grupo de amigos, de familiares, de compañeros de trabajo, de antiguos alumnos, etc. Medio para poder dar un servicio de asistencia a una persona o grupo que necesita ayuda en la realización de una tarea. Comunicarse con los suscriptores de por ejemplo un servicio premium. Canal para ofrecer contenido premium o exclusivo a usuarios que por ejemplo hayan realizado una aportación económica. Etc. Además los canales privados son una buena opción para evitar el Spam que acostumbra a existir en los canales públicos.\nUsos avanzados de Telegram mediante bots Mediante los bots podemos ampliar las funcionalidades de Telegram. Existen bots para realizar todo tipo de tareas como por ejemplo:\nEnviar mensajes personalizados y automatizados a los integrantes de un grupo o canal. Mediante IFTTT podemos crear nuestro propio canal de noticias. (@Podcast_bot) nos permite obtener los feeds de un podcast determinado, ver las reseñas que sus oyentes dejan en iTunes, etc. Realizar encuestas (@PollBot): Nos permite realizar encuestas dentro de un grupo. De este modo se puede realizar una encuesta para decir el sitio donde iremos a cenar, para decidir quien ha sido mejor jugador del partido, etc. Buscar imágenes animadas (@gif). Para ello tan solo tenemos que escribir @gif seguido de una palabra que describe la imagen animada que estamos buscando. Buscar imágenes (@pic). Del mismo modo que podemos buscar imágenes animadas también podemos buscar fotografías. Mediante (@YTAudioBot) podremos Descargar y compartir vídeos de Youtube sin tener que salir de Telegram. Además podremos descargar vídeos y audio de Youtube de forma simple y rápida. Con (weatherman_bot) podemos obtener datos del tiempo como por ejemplo la previsión del tiempo en una zona determinada, obtener informes meteorológicos de una ciudad a las horas que nosotros definamos, etc. Usando (VKM Bot) podemos descargar las canciones que más nos gustan en formato .mp3. Su uso es extremadamente sencillo y encontr Del mismo modo que podemos descargar música también existen bots como (@quorrabot) para descargar películas, series, libros, programas de ordenador,etc. Etc. Si quieren encontrar otros bot pueden hacerlo a través del bot (@storebot).\nCONCLUSIONES SOBRE TELEGRAM Y LOS USOS DE TELEGRAM En mi caso no diré que Telegram sea mejor que WhatsApp. Para mi no son aplicaciones comparables porque los uso de forma distinta.\nSi queremos usar Telegram como WhatsApp nos vamos a sentir decepcionados por la falta de usuarios. No obstante a lo largo del artículo habrán constatado que Telegram tiene infinidad de utilidades que no tiene WhatsApp.\nSi alguien usa Telegram de forma distinta a lo mencionado en el artículo le animo que lo cuente en los comentarios del artículo.\n","permalink":"https://geeklandlinux.github.io/posts/usos-y-trucos-para-telegram/","summary":"\u003cp\u003eEn mi caso no uso Telegram para hablar con mis personas más cercanas. La razón es que la gran mayoría de ellas no usan Telegram. A pesar de esto si que acostumbro a usar Telegram para otros fines que detallaré a continuación.\u003c/p\u003e","title":"Usos que podemos dar a Telegram para aprovecharlo el máximo"},{"content":"De entrada iremos al grano y les daré una serie de consejos en el momento de comprar una batería de repuesto para vuestro teléfono o dispositivo móvil.\nCONSEJOS PARA COMPRAR UNA BATERÍA DE REPUESTO PARA NUESTRO TELÉFONO Únicamente cambia la batería cuando la batería original este completamente inservible. En caso contrario existen muchas posibilidades que la batería que compres rinda peor que la que tienes. A veces ni te funcionará.\nLa única opción fiable para adquirir una batería en condiciones es comprarla al servicio técnico oficial del teléfono. No obstante sus precios acostumbran a ser prohibitivos. En mi caso el coste de la batería de un Google Nexus 5 era 50 Euros. No tiene sentido gastarse más de 50 Euros en un teléfono que tiene más de 4 años. Los fabricantes del teléfono ponen precios sin sentido para forzarte a cambiar de teléfono.\nNota: Quizás por desconozco las tiendas recomendables para comprar una batería de repuesto en condiciones. Tiendas no oficiales como PcComponentes o Amazon disponen de baterías a precios asequibles, pero son copias que no funcionan o tienen un rendimiento pésimo. No hagan caso de los comentarios de los usuarios que aparecen en estas tiendas. La mayoría de comentarios están manipulados por la competencia y por la empresa que vende el producto en la tienda. Tengan en cuenta que Amazon elimina los artículos que tienen una puntuación más baja de 3 estrellas. Por lo tanto los mismos vendedores harán lo que sea para que sus productos tengan una puntuación superior a 3 estrellas.\nNo compren baterías que tengan un precio muy bajo. Existen baterías que valen 5 o 6 Euros y que por lo tanto apenas cubren el coste de producción. El rendimiento de estas baterías será pésimo.\nSi deciden comprar una batería háganlo. Si va mal no se conformen y reclamen a la tienda. Si lo hacen, tiendas como Amazon o PcComponentes seguro que les devolverán el dinero. Y no se olviden de puntuar mal a la tienda para que el vendedor les de una solución rápida. Puntuaciones bajas en tiendas como Amazon duelen a los vendedores.\nPuntos que hay que inspeccionar al recibir una batería Al recibir la batería hay que inspeccionarla y compararla con la original. Puntos que son interesantes comprobar son:\nComparen las medidas y dimensiones de la batería con la original. En la parte trasera de la batería se acostumbran a serigrafiar especificaciones técnicas como por ejemplo la capacidad, la marca, los Vatios hora que proporciona la batería, etc. Comparen estos datos con los de la batería original. Una vez montada la batería comprueben que todas las funcionalidades del teléfono funcionen. Comprueben si funciona la carga inalámbrica, el NFC, tiren fotos, etc. Si notan algo diferente el responsable es la batería. Que no haya sobrecalentamiento cuando usemos el teléfono. Que la carga del teléfono descienda de forma progresiva y que el teléfono se apague solo cuando su carga llega al 0%. Obviamente comprueben que la duración de la batería es la adecuada. Hagan una inspección visual de como viene envuelta la batería y su calidad de construcción. Tener en cuenta como envejece la batería. Las baterías no originales acostumbran a deteriorarse más rápidamente que las baterías originales. Si quieren saber como llego a estas conclusiones les ruego que continúen la lectura.\nMI EXPERIENCIA PERSONAL AL COMPRAR UNA BATERÍA PARA MI TELEFONO ANDROID En mi caso dispongo de un Nexus 5 del Año 2013. Mi idea es no cambiarlo hasta que diga basta porque no veo necesidad de comprar otro equipo cuando el que tienes funciona perfecto.\nNo obstante después de 4 o 5 años la duración de la batería era aproximadamente la mitad que cuando era nuevo. Por lo tanto tomé la decisión de comprar una batería de repuesto.\nMi experiencia se puede resumir de forma muy simple. He probado 5 baterías y ninguna de ellas ha funcionado bien.\nBaterías compradas a través de Amazon La primera de las baterías la compre en Amazon (Onogo ES). Sus dimensiones y pesos no eran iguales que la batería original. Ensamble la batería y el teléfono funcionaba, pero la batería no cargaba. Puse la correspondiente reclamación y el vendedor procedido a enviarme una segunda batería.\nLa segunda batería gentileza de (Onogo ES) llego. Era diferente que la primera y tampoco parecía que fuera igual que la original. Las dimensiones y pesos volvían a ser diferentes que la primera y en la serigrafía de la batería ponía SAMSUNG en vez de LG. Ensamble la batería y funcionalmente era correcta, pero la duración era pésima. La duración era menor que la batería original que ya tenía 4 años. Al ver esto reclamé y me devolvieron el dinero.\nAdquirí la tercera batería en otra tienda de Amazon. Concretamente la adquirí en la tienda ML Trade. Al recibirla ya vi que no era igual a la original. La monté al teléfono y su rendimiento y duración dejaba mucho que desear. Era mucho peor que la batería original que tenía 4 años. Al poner la correspondiente reclamación me respondieron que probablemente era defectuosa, que no disponían de stock y que por lo tanto de devolverían el dinero. No era verdad que no tuvieran stock porque continuaban vendiendo la batería en Amazon.\nBaterías compradas a PcComponentes La cuarta batería la compré en PcComponentes. Cuando la recibí vi que era prácticamente igual a la batería original. La monté y el rendimiento era aceptable y superior a la batería que tenía cuatro años. Aunque su rendimiento no se acercaba al de la batería original estaba satisfecho.\nAl pasar unos meses noté que cuando exigías un trabajo pesado al teléfono, como por ejemplo procesar el HDR+ de una foto, se apagaba. Puse de nuevo la batería original y el problema desapareció. Al ver esto reclame a PcComponentes y me enviaron una segunda batería. Mi quinta batería.\nEl estado de la quinta batería era lamentable:\nLa caja de la batería estaba sucia y deteriorada. Parecía que le hubiera pasado un camión por encima. Su peso y medidas no eran correctas. La batería venia envuelta de forma penosa. La serigrafía de la parte trasera de la batería indicaba claramente que su capacidad era 1720 mAh. La batería original tiene 2300 mAh. La marca de la batería no era LG. Al montar la batería el teléfono no arrancaba. Se encendía y apagaba de forma interrumpida.\nDespués de comunicar el problema dijeron que “Por no haber stock o por otro motivo no podían reemplazarme la batería. Por lo tanto procederemos a abonarte el coste de la batería”\nCRÍTICA A LAS TIENDAS DONDE HE COMPRADO LAS BATERÍAS Después de recibir 5 baterías dudo que lo mio sea mala suerte. Además compañeros y conocidos han experimentado situaciones similares.\nTodas las baterías que comprado ponía claramente que eren originales. La realidad es que ninguna de ellas lo era. Es lamentable que tiendas que tienen un determinado prestigio estén engañando de esta forma a sus clientes. Algunas de estas tiendas sin duda se merecería una sanción.\nAntes de subministrar y comprar este tipo de productos se deberían implementar medidas para asegurar que el producto subministrado al cliente es decente.\n","permalink":"https://geeklandlinux.github.io/posts/consejos-comprar-una-bateria-telefono/","summary":"\u003cp\u003eDe entrada iremos al grano y les daré una serie de consejos en el momento de comprar una batería de repuesto para vuestro teléfono o dispositivo móvil.\u003c/p\u003e","title":"Consejos para comprar una batería de repuesto en nuestro teléfono"},{"content":"Es común que al visualizar o editar un documento ofimático en un ordenador que no es nuestro se visualice mal. El motivo acostumbra a ser que el ordenador que usamos no tiene disponible las fuentes necesarias para que el documento se visualice de forma correcta. Por este motivo a continuación le enseñaré como incrustar fuentes en un documento ofimático de LibreOffice o Microsoft Office. De esta forma conseguiremos lo siguiente:\nSi pasamos una presentación o documento a una tercera persona, lo podrá visualizar correctamente. Si una tercera persona edita un documento que nosotros hemos empezado lo podrá hacer con la misma tipografía que nosotros. De esta forma evitaremos presentaciones y documentos que tienen multitud de tipografías en cada una de las transparencias. Nota: El tutorial que verán a continuación es aplicable a cualquier programa que forme parte de las suites Microsoft Office y LibreOffice. INCRUSTAR FUENTES EN UN DOCUMENTO DE MICROSOFT OFFICE Supongamos que tenemos la siguiente presentación de Powerpoint en que hemos usado las tipografías Gotham y Dubai Medium.\nSi abrimos la presentación en un ordenador que no dispone de estas tipografías veremos la visualización no será correcta.\nPara evitar este problema vamos a incrustar las fuentes Gotham y Dubai Medium en el documento del siguiente modo:\nEn el documento que dispone de la totalidad de fuentes clicamos sobre la pestaña Archivo:\nActo seguido clicamos sobre la pestaña la opción Guardar como.\nA continuación seleccionamos donde queremos guardar el archivo con fuentes incrustadas. Como lo quiero guardar en el escritorio hago doble clic en Este PC.\nEn la ventana de Guardar como clicaremos en el botón de Herramientas. Cuando aparezcan las opciones del botón Herramientas clicaremos en Opciones para guardar\u0026hellip;\nEn la ventana de Opciones de Powerpoint clicaremos en Guardar, tildaremos la opción Incrustar fuentes en el archivo, acto seguido tildaremos la opción Incrustar todos los caracteres y finalmente presionaremos el botón Aceptar.\nEl último paso consistirá en definir el nombre y la ubicación donde queremos guardar el archivo y presionar el botón Guardar.\nEn estos momentos, aunque abramos el documento en un ordenador que no disponga de las fuentes Dubai Medium y Gotham visualizaremos el documento a la perfección.\nAdemás podremos editar y modificar el documento sin ningún tipo de problema.\nINCRUSTAR FUENTES EN UN DOCUMENTO DE LIBREOFFICE En nuestro caso tenemos el siguiente documento que hemos editado con la fuente Ubuntu.\nSi abro el documento en un ordenador que no dispone de la fuente Ubuntu se visualizará de forma incorrecta.\nSi queremos evitar el problema tan solo tenemos que clicar en el menú Archivo. Cuando aparezca el submenu clicamos en la opción Propiedades.\nEn la ventana propiedades clicamos en la pestaña Tipo de Letra. Acto seguido tildamos la opción Incrustar los tipos de letra en el documento y presionamos el botón Aceptar.\nFinalmente guardamos el documento. Ahora si intentamos visualizar el documento en un ordenador que no dispone de la fuente Ubuntu no tendremos ningún problema.\nTal y como se puede ver en la captura de pantalla se visualiza a la perfección e incluso podemos seguir editando el documento con la fuente Ubuntu.\nINCONVENIENTES DE INCRUSTAR FUENTES EN UN DOCUMENTO El único inconveniente de incrustar fuentes en un documento es que el documento ocupará más espacio. El incremento de espacio experimentado en los documentos en que he incrustado las fuentes es el siguiente:\nMicrosoft Office LibreOffice Fuentes sin incrustar 34,9 kB (34.928 bytes) 12,9 kB (12.894 bytes) Fuentes incrustadas 3,3 MB (3.309.758 bytes) 28,4 MB (28.385.913 bytes) En el caso de LibreOffice el incremento de tamaño es sustancial. No obstante creo que hoy en día el tamaño que ocupa un documento no es algo que nos deba preocupar en exceso.\n","permalink":"https://geeklandlinux.github.io/posts/incrustar-fuentes-office-libreoffice/","summary":"\u003cp\u003eEs común que al visualizar o editar un documento ofimático en un ordenador que no es nuestro se visualice mal. El motivo acostumbra a ser que el ordenador que usamos no tiene disponible las fuentes necesarias para que el documento se visualice de forma correcta. Por este motivo a continuación le enseñaré como incrustar fuentes en un documento ofimático de LibreOffice o Microsoft Office. De esta forma conseguiremos lo siguiente:\u003c/p\u003e","title":"Incrustar fuentes en un documento de Microsoft Office o LibreOffice"},{"content":"En una ocasión detallé de forma sincera las ventajas del software libre respecto el software privativo. Sigo pensando exactamente lo mismo, pero también hay que reconocer que el mundo del software libre tiene problemas. Resumiendo los problemas del software libre son los siguientes:\nESCASO SOPORTE ECONÓMICO A LOS DESARROLLADORES DE SOFTWARE LIBRE Han existido, existen y existirán muchos proyectos que morirán por el poco soporte económico que reciben por parte de la comunidad.\nLa gran mayoría de usuarios de software libre lo utilizan porque funciona y porque es gratis. En ningún momento se les pasará por la cabeza hacer una donación económica al proyecto.\nComo todo el mundo, los desarrolladores de software libre necesitan monetizar su trabajo para pagar sus facturas. Como la mayoría de usuarios no aporta nada y los desarrolladores no encuentran forma de monetizar su trabajo, los proyectos acaban muriendo.\nPor lo tanto, mi punto de vista es que la cultura del todo gratis es uno de los problemas del software libre.\nLA COMUNIDAD NO ESTÁ BIEN AVENIDA Y LOS RECURSOS DISPONIBLES NO SE USAN DE FORMA EFICIENTE Existen muchas personas y desarrolladores de software que tienen los siguientes defectos/virtudes:\nNo saben trabajar en equipo. No respetan las opiniones de los demás. Piensan que sus ideas son mejores que las ideas de sus compañeros. Tienen un afán desmesurado para destacar y para ganar dinero. Todas estás cualidades/defectos generan:\nMal ambiente entre la gente que persigue fines comunes. En vez de ayudarse se critican y entorpecen sus labores. Se acaban generando forks y proyectos paralelos que no aportan nada ni al software libre ni a los usuarios. En vez de sumar esfuerzos se dividen. Muchos desarrolladores y líderes de proyectos acaban tirando la toalla hartos de críticas, mal ambiente y el poco soporte económico. AFÁN DESMESURADO PARA GANAR DINERO Cuando una compañía crea un software quiere hacerlo suyo y que nadie lo pueda replicar. De esta forma su solución será única y podrá hacer que su empresa gane más dinero.\nPor esto motivo, y algunos otros, hoy en día está triunfando el software privativo. Todo programador o empresa quiere ser el propietario del código que le da el dinero.\nObviamente el software libre también puede aportar beneficios económicos a una empresa, pero la verdad es que son más difíciles de monetizar.\nNota: Cerrar el software también puede ser una forma de esconder lo que un software realiza. ES DIFÍCIL QUE LOS ASESORES LEGALES RECOMIENDEN LICENCIAS DE SOFTWARE LIBRE Las licencias es un tema complejo que muchas compañías dejan en manos de asesores legales.\nSi el propósito del software es ganar dinero, la mayoría de asesores legales recomendarán cerrar el código para que nadie lo pueda consultar. Además también tenemos que tener en cuenta que lo último que preocupa a algunos desarrolladores de software es la licencia.\nLIDERAR Y ORGANIZAR UN PROYECTO DE SOFTWARE LIBRE NO ES SENCILLO Los grandes proyectos de software libre no son fáciles ni de organizar ni de gestionar.\nNormalmente los proyectos de software libre presentan los siguientes desafíos:\nEn algunos ocasiones es posible que participe un gran número de personas. Cuantas más personas hayan, más difícil es organizar un proyecto y se tienen que buscar soluciones para auto-organizar y auto-gobernar el proyecto. Tomar decisiones no es fácil. Antes y después de grandes decisiones se generan debates y polémicas que desgastan el proyecto. No únicamente se contemplan temas técnicos. También entran en juego temas filosóficos y ideológicos. Los recursos disponibles para tirar adelante los proyectos son escasos. La colaboración por parte de la comunidad acostumbra a ser escasa. No es fácil encontrar gente capacitada para desarrollar o participar en un proyecto de software libre. ES MÁS DIFÍCIL QUE LOS USUARIOS OBTENGAN UNA BUENA EXPERIENCIA Los estándares abiertos aportan flexibilidad a los usuarios, pero también generan más dificultades en su uso.\nLos estándares cerrados nadie los puede modificar. Por lo tanto, cuando los usas el % de probabilidades que funcione es mayor. Hoy en día, gran parte de los usuarios lo único que quieren es darle al botón y que funcione. Lo que pase por detrás les importa poco. Los usuarios, por norma general, son resistentes al cambio y solo les preocupa usar algo que funcione.\nCONCLUSIONES SOBRE LOS PROBLEMAS DEL SOFTWARE LIBRE En un mundo idílico el software libre aportaría innumerables beneficios a la sociedad. Desafortunadamente el ser humano es egoísta, individualista, le cuesta trabajar en equipo y le gusta tener protagonismo. Además tenemos que considerar que grandes empresas como Microsoft, Apple , etc aplican prácticas poco éticas para que su software privativo siga prevaleciendo sobre el libre.\nPor estas razones y por las mencionadas a lo largo del artículo, el software privativo prevalece sobre el software libre. Si pensáis lo contrario, con respecto, pueden dejar sus opiniones en los comentarios del artículo.\nNota: El contenido del artículo es una opinión personal y generalizo en prácticamente la totalidad de los aspectos. Obviamente existen y existirán proyectos de software libre que no tendrán los problemas detallados en el artículo.","permalink":"https://geeklandlinux.github.io/posts/problemas-del-software-libre/","summary":"\u003cp\u003eEn una ocasión detallé de forma sincera las \u003ca href=\"/posts/ventajas-software-libre-sobre-privativo/\"\u003eventajas del software libre respecto el software privativo\u003c/a\u003e. Sigo pensando exactamente lo mismo, pero también hay que reconocer que el mundo del software libre tiene problemas. Resumiendo los problemas del software libre son los siguientes:\u003c/p\u003e","title":"Desafíos y problemas del software libre en la actualidad"},{"content":"En pasados artículos comentamos que con el comando pkexec podemos ejecutar cualquier comando y/o aplicación gráfica como si fuéramos otro usuario. Con el fin de controlar lo que un usuario puede realizar con el comando pkexec aprenderemos a realizar un acción de PolicyKit. No obstante, antes de iniciar la explicación es interesante que conozcan a grandes rasgos que es PolicyKit.\n¿QUÉ ES POLICYKIT? Es una herramienta para controlar los privilegios en sistemas operativos basados en Unix como por ejemplo GNU-Linux.\nPolicyKit proporciona las herramientas necesarias para que procesos sin privilegios puedan comunicarse con procesos privilegiados. De este modo podemos proporcionar los permisos necesarios a un usuario determinado para por ejemplo:\nHibernar o cerrar un equipo. Ejecutar programas con permisos de administrador. Montar y desmontar dispositivos de almacenamiento como discos duros, dispositivos USB, etc. Modificar y definir las configuraciones de red. Limitar o permitir la instalación de programas. Etc. La forma en que PolicyKit determina los procesos que pueden comunicarse entre ellos es mediante acciones y reglas. Antes de iniciarse un programa o comando se comprobarán las acciones y reglas definidas para confirmar que tenemos los permisos necesarios.\nLISTAR LAS ACCIONES DE POLICYKIT DISPONIBLES Al instalar nuestro sistema operativo disponemos de un conjunto de acciones de PolicyKit predefinidas. Para visualizar su nombre tan solo tienen que ejecutar el siguiente comando en la terminal:\npkaction Nota: La totalidad de acciones de PolicyKit se almacenan en la ubicación /usr/share/polkit-1/actions/. Nota: La totalidad de acciones disponibles dependerá de los paquetes que tengamos instalados, del entorno de escritorio que usemos, de las acciones que hayamos creado, etc. La totalidad de acciones que empiezan por org.freedesktop.* se aplican en la totalidad de entornos de escritorio.\nLas acciones que empiezan por org.gnome.* , org.xfce*, etc. hacen referencia a entornos de escritorio específicos como por ejemplo Gnome, Xfce, Plasma, etc.\nFinalmente, las acciones que empiezan por com.ubuntu.* o por com.debian.*, org.archlinux*, etc hacen referencia a programas específicos.\nCREAR UN ACCIÓN DE POLICYKIT PARA ABRIR UNA APLICACIÓN GRÁFICA COMO USUARIO ROOT PolicyKit no permite que ningún usuario inicie una aplicación gráfica como si fuera otro usuario. Para modificar este comportamiento podemos crear una acción. A modo de ejemplo crearemos una acción para poder abrir el gestor de correo Thunderbird como si fuéramos el usuario root.\nInicialmente accedemos a la ruta donde se hallan todas las acciones de PolicyKit ejecutando el siguiente comando en la terminal:\ncd /usr/share/polkit-1/actions/ Al tratarse de una acción para Thunderbird creamos un archivo con el nombre org.debian.thunderbird.policy. Para ello ejecutamos el siguiente comando en la terminal:\nsudo nano com.debian.thunderbird.policy Cuando se abra el editor de textos pegamos el siguiente código:\n\u0026lt;?xml version=»1.0″ encoding=»UTF-8″?\u0026gt; \u0026lt;!DOCTYPE policyconfig PUBLIC «-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN» «http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd»\u0026gt; \u0026lt;policyconfig\u0026gt;\u0026lt;action id=»com.debian.thunderbird«\u0026gt; \u0026lt;description xml:lang=»es»\u0026gt;Ejecutar Thunderbird como root\u0026lt;/description\u0026gt; \u0026lt;message xml:lang=»es»\u0026gt;Se necesita autenticación para ejecutar el gestor de correo Thunderbird\u0026lt;/message\u0026gt; \u0026lt;icon_name\u0026gt;evolution\u0026lt;/icon_name\u0026gt; \u0026lt;defaults\u0026gt; \u0026lt;allow_any\u0026gt;no\u0026lt;/allow_any\u0026gt; \u0026lt;allow_inactive\u0026gt;auth_admin\u0026lt;/allow_inactive\u0026gt; \u0026lt;allow_active\u0026gt;auth_admin\u0026lt;/allow_active\u0026gt; \u0026lt;/defaults\u0026gt; \u0026lt;annotate key=»org.freedesktop.policykit.exec.path»\u0026gt;/usr/bin/thunderbird\u0026lt;/annotate\u0026gt; \u0026lt;annotate key=»org.freedesktop.policykit.exec.allow_gui»\u0026gt;true\u0026lt;/annotate\u0026gt; \u0026lt;/action\u0026gt;\u0026lt;/policyconfig\u0026gt; Una vez pegado el código guardamos los cambios y cerramos el fichero.\nNota: En el caso que queráis modificar el código para abrir otra aplicación como usuario root, tan solo hay que modificar el código que está en rojo. En el siguiente apartado comentamos como se ha generado el código para crear la acción de PolicyKit.\nEXPLICACIÓN DE COMO SE HA GENERADO EL CÓDIGO DE LA ACCIÓN DE POLICYKIT El contenido entre y se usa para definir la acción. La totalidad de este código se enviará a D-Bus para comprobar si un usuario determinado tiene permisos para ejecutar Thunderbird como otro usuario.\n1- Definir el nombre de la acción y comando enviado a D-Bus Inicialmente tenemos que definir el nombre de la acción y del comando enviado a D-Bus. Podemos usar cualquier nombre pero en mi caso uso el mismo nombre del archivo que contiene la acción. Por lo tanto, en mi caso uso el siguiente código:\n\u0026lt;action id=\u0026#34;com.debian.thunderbird\u0026#34;\u0026gt; 2- Descripción de lo que va a realizar nuestra acción El código contenido entre y tiene la utilidad de incluir la descripción del comportamiento de la acción. La descripción en mi caso quiero que sea Ejecutar Thunderbird como root, Por lo tanto el código a usar es el siguiente:\n\u0026lt;description xml:lang=\u0026#34;es\u0026#34;\u0026gt;Ejecutar Thunderbird como root\u0026lt;/description\u0026gt; 3- Establecer el mensaje para que el usuario se autentique El código entre las etiquetas y sirve para dar instrucciones al usuario en el momento que aparece la ventana para autenticarse. En el momento que aparece la ventana de autenticación quiero transmitir el siguiente mensaje:\nSe necesita autenticación para ejecutar el gestor de correo Thunderbird Por lo tanto tengo que usar el siguiente código:\n\u0026lt;message xml:lang=\u0026#34;es\u0026#34;\u0026gt;Se necesita autenticación para ejecutar el gestor de correo Thunderbird\u0026lt;/message\u0026gt; 4- Definir el icono asociado con la aplicación que ejecutamos Entre las etiquetas y tenemos que indicar el nombre del icono que queremos que aparezca en la ventana de autenticación. En mi caso quiero que se muestre el icono evolution. Por lo tanto uso el siguiente código:\n\u0026lt;icon_name\u0026gt;evolution\u0026lt;/icon_name\u0026gt; Nota: La gran mayoría de icono están ubicados en /usr/share/icons 5- Establecer el tipo autenticación que tiene que introducir el usuario El código contenido entre y define la contraseña de autenticación que tienen que usar los usuarios remotos y activos.\nCada de una de las etiquetas contenidas dentro de la etiqueta defaults tiene la siguiente función:\nallow_active: Indicar el tipo de contraseña que tienen que introducir los usuarios activos que intentan iniciar una aplicación como si fueran otro usuario. allow_inactive: Establecer el tipo de contraseña que tienen que usar los usuarios remotos que inician una aplicación como si fueran otro usuario. Los usuarios remotos estarán conectados vía SSH, VNC, Telnet, etc. allow_any: Hace referencia tanto a los usuarios activos como los usuarios inactivos o remotos. A cada tipo de usuario le podemos otorgar las siguientes opciones de autenticación:\nValor Significado no No se les concede permisos a los usuarios activos y/o inactivos. yes Los usuarios activos e inactivos pueden ejecutar la acción sin necesidad de introducir ningún password. auth_self El usuario activo y/o inactivo podrá ejecutar la acción siempre y cuando introduzca correctamente su contraseña de usuario. auth_admin El usuario activo y/o inactivo podrá ejecutar la acción después de introducir la contraseña del usuario root. auth_self_keep Tiene el mismo efecto que auth_self. La diferencia es que asignamos auth_self_keep, el password introducido será recordado durante varios minutos. De esto modo un usuario podrá ejecutar la misma acción varias veces sin que tenga que volver a introducir la contraseña de nuevo. auth_admin_keep Tiene el mismo efecto que auth_admin. La diferencia es que asignamos auth_admin_keep, el password del usuario root introducido será recordado durante varios minutos. De esto modo un usuario podrá ejecutar la misma acción varias veces sin que tenga que volver a introducir la contraseña del usuario root cada vez que ejecute la acción. En mi caso quiero que los usuarios activos e inactivos tengan que introducir la contraseña del usuario root cada vez que inicien Thunderbird como si fueran otro usuario. Por lo tanto uso el siguiente código:\n\u0026lt;allow_any\u0026gt;no\u0026lt;/allow_any\u0026gt; \u0026lt;allow_inactive\u0026gt;auth_admin\u0026lt;/allow_inactive\u0026gt; \u0026lt;allow_active\u0026gt;auth_admin\u0026lt;/allow_active\u0026gt; 6- Indicar el programa que queremos ejecutar A continuación tenemos que indicar el archivo binario que queremos ejecutar. En mi caso quiero ejecutar Thunderbird. Como la ruta del binario de Thunberbird es /usr/bin/thunderbird utilizo el siguiente código:\n\u0026lt;annotate key=\u0026#34;org.freedesktop.policykit.exec.path\u0026#34;\u0026gt;/usr/bin/thunderbird\u0026lt;/annotate\u0026gt; La totalidad de archivos binarios se hallan en las siguientes ubicaciones:\nusr/bin usr/sbin 7- Indicar si damos permiso para que se pueda ejecutar gráficamente un programa Para que un usuario pueda iniciar Thunderbird como otro usuario necesita usar el servidor gráfico. Con el siguiente código daremos los permisos necesarios para que se pueda iniciar el entorno gráfico:\n\u0026lt;annotate key=\u0026#34;org.freedesktop.policykit.exec.allow_gui\u0026#34;\u0026gt;true\u0026lt;/annotate\u0026gt; Con el valor true permitimos que un usuario debidamente autorizado pueda ejecutar aplicación gráficas como si fuera otro usuario. Si no le quisiéramos dar permisos cambiaríamos el valor true for false.\nEJECUTAR THUNDERBIRD COMO SI FUÉRAMOS OTRO USUARIO Una vez finalizada la acción el trabajo está hecho. Para que un usuario llamado fernando arranque thunderbird como si fuera el usuario joan tan solo tenemos que ejecutar el siguiente comando:\npkexec --user joan thunderbird Una vez ejecutado el comando aparecerá la siguiente ventana:\nComo pueden ver, en la captura de pantalla aparecen gran parte de elementos que definimos en la acción. Ahora tan solo tenemos que introducir la contraseña de administrador y presionar Enter. Acto seguida se abrirá Thunderbird como si fuéramos el usuario joan.\nEn el caso que quisiéramos arrancar Thunderbird como si fuéramos el usuario root, tan solo tendríamos que ejecutar el siguiente comando:\npkexec thunderbird Nota: Si no especificamos ningún usuario, pkexec abre y ejecuta las aplicaciones como si fuéramos el usuario root.","permalink":"https://geeklandlinux.github.io/posts/crear-accion-de-policykit-abrir-aplicacion-root/","summary":"\u003cp\u003eEn pasados artículos comentamos que con el \u003ca href=\"/posts/diferencias-pkexec-gksudo/\"\u003ecomando pkexec\u003c/a\u003e podemos ejecutar cualquier comando y/o aplicación gráfica como si fuéramos otro usuario. Con el fin de controlar lo que un usuario puede realizar con el comando pkexec aprenderemos a realizar un acción de PolicyKit. No obstante, antes de iniciar la explicación es interesante que conozcan a grandes rasgos que es PolicyKit.\u003c/p\u003e","title":"Crear una acción de PolicyKit para abrir una aplicación gráfica como root"},{"content":"Hoy en día hay bastantes usuarios que intentan iniciar una aplicación gráfica como usuario root y se encuentran con la sorpresa que gksudo no está presente en su sistema operativo. Si se encuentran con está situación y usan el servidor gráfico X.org les recomiendo usar su reemplazo que es pkexec.\n¿POR QUÉ SE HA ABANDONADO EL USO DE GKSUDO? Muchas distribuciones, como por ejemplo Ubuntu a partir de su versión 18.04, han abandonado gksudo para ejecutar aplicaciones gráficas como administrador. Si usamos el servidor gráfico X.org el reemplazo de gksu o gksudo es pkexec.\nEl motivo por el que se quiere abandonar gksudo es la seguridad. Pkexec permite un control mucho más exhaustivo de los permisos que tiene cada usuario para iniciar una aplicación como si fuera otro usuario. Por lo tanto pkexec ejecutará los programas en un entorno de ejecución mucho más seguro que gksudo.\nTengan en cuenta que la mayoría de programas no han sido diseñados para ejecutarse y usarse con el usuario root. Por lo tanto, en el momento que ejecutamos una aplicación con el usuario root estamos ejecutando multitud de líneas de código que no han sido auditadas conveniente para usarse con privilegios de administrador. Esto puede generar problemas de seguridad o que simplemente el software deje de funcionar porque por ejemplo se reescriben las archivos de configuración de nuestra partición home.\nDIFERENCIAS ENTRE PKEXEC Y GKSUDO La funcionalidad de pkexec y gksudo es similar, pero con ciertas diferencias. A continuación se muestra una explicación de lo que puede realizar cada una de las 2 herramientas:\npkexec es una herramienta que forma parte de PolicyKit y permite que un usuario autorizado pueda ejecutar un único programa como si fuera otro usuario. Con pkexec tenemos un amplio abanico de opciones para definir que puede y que no puede hacer un usuario.\ngksudo proporciona permisos para que un usuario autorizado pueda ejecutar cualquier programa o script como usuario root. Las opciones para restringir las operaciones que puede realizar un usuario autorizado son pobres.\nEn resumen las principales diferencies entre gksudo y pkexec se muestran en la siguiente tabla:\ngksudo pkexec Un usuario autorizado puede iniciar cualquier programa en modo gráfico. Un usuario autorizado puede iniciar un único programa en modo gráfico. Únicamente permite ejecutar programas y scripts como si fuéramos el usuario root. Permite ejecutar programas y scripts como si fuéramos cualquiera de los usuarios existentes en nuestro sistema operativo. Las opciones para restringir lo que puede hacer un usuario son menores. Permite un control mucho más exhaustivo de lo que puede hacer un usuario. Por defecto permite iniciar aplicaciones gráficas como usuario root. Las variables de entorno DISPLAY y XAUTHORITY no están definidas. Por lo tanto, por defecto no permite iniciar aplicaciones gráficas como si fuéramos otro usuario. Antes hay que definir acciones y/o reglas. Gksudo esta estrechamente ligado con sudo. Pkexec forma parte de PolicyKit. PARÁMETROS QUE SE PUEDEN CONTROLAR CON PKEXEC Y NO SE PUEDEN CONTROLAR CON GKSUDO Como hemos detallado con anterioridad, pkexec permite un control mucho mas exhaustivo de los permisos que tiene cada usuario para iniciar una aplicación como si fuera otro usuario.\nLa forma que tenemos para delimitar que puede hacer un usuario es mediante las acciones y reglas de PolicyKit. Las opciones que podemos controlar y configurar con las acciones y reglas de PolicyKit son las siguientes:\nQue un usuario autorizado tan solo pueda iniciar la aplicación que nosotros queramos como usuario root, o como otro usuario. Si usamos gksudo, un usuario autorizado puede iniciar todos los programas que quiera con permisos de administración. Definir el password que tiene que introducir un usuario para iniciar una aplicación como si fuera otro usuario, como por ejemplo el root. Si lo precisamos podemos establecer que no tenga que introducir contraseña. También podemos establecer el tiempo que queremos que se guarde la contraseña, etc. Que todos los usuarios pertenecientes a un determinado grupo sean capaces de iniciar una aplicación con permisos de administración o como si fueran otro usuario. Pkexec siempre informa del archivo binario que estamos ejecutando. De este modo podemos incrementar la seguridad en la ejecución de programas y scripts. Al contrario que gksudo, pkexec no permite correr aplicaciones gráficas por defecto. Para arrancar aplicaciones en modo gráfico deberemos crear una acción y configurarla para ello. ABRIR PROGRAMAS COMO SI FUÉRAMOS OTRO USUARIO USANDO PKEXEC En futuros artículos veremos el proceso para crear acciones y reglas con PolicyKit. De esta forma con pkexec podremos ejecutar programas como si fuéramos otro usuario, como por ejemplo el usuario root.\n","permalink":"https://geeklandlinux.github.io/posts/diferencias-pkexec-gksudo/","summary":"\u003cp\u003eHoy en día hay bastantes usuarios que intentan iniciar una aplicación gráfica como usuario root y se encuentran con la sorpresa que gksudo no está presente en su sistema operativo. Si se encuentran con está situación y usan el servidor gráfico X.org les recomiendo usar su reemplazo que es pkexec.\u003c/p\u003e","title":"Diferencias entre pkexec y gksudo y porque se abandona gksudo"},{"content":"En mi caso pretendo instalar LibreOffice en un sistema operativo Debian, pero me encuentro con los siguientes problemas:\nLos repositorios de Debian únicamente disponen de la versión 4.3.3 de LibreOffice. La versión más actual a día de hoy es la 6.0.5. Si consulto el repositorio Backports únicamente dispone de la versión 5.2.7. Esta sin duda no es la última versión de LibreOffice. En Debian, y en la mayoría de distribuciones, no existen repositorios ppa como en Ubuntu. INSTALAR LIBREOFFICE DE FORMA MANUAL Y SIN REPOSITORIOS Existen diversos métodos para disponer de la última versión de LibreOffice. No obstante en mi caso he decidido aplicar la forma que considero más tradicional.\nDesinstalar versiones antiguas de LibreOffice Es recomendable realizar una instalación limpia. Para ello desinstalaremos versiones antiguas de LibreOffice del siguiente modo:\nSi usan el gestor de paquetes apt ejecutarán el siguiente comando en la terminal:\nsudo apt-get remove --purge libreoffice* \u0026amp;\u0026amp; sudo apt-get autoremove En caso de usar el gestor de paquetes dnf deberán ejecutar el siguiente comando en la terminal:\nsudo dnf remove libreoffice* Después de ejecutar el comando se procederá a la desinstalación de Libreoffice.\nDescargar la última versión de LibreOffice A continuación accedemos dentro de la siguiente URL para descargar la última versión de LibreOffice.\nhttps://es.libreoffice.org/descarga/libreoffice/\nSeguidamente seleccionamos el tipo de arquitectura y presionamos el botón DESCARGAR para descargar los archivos de instalación de la última versión de Libreoffice\nNota: En mi caso se ha descargado el archivo LibreOffice_6.0.5_Linux_x86_deb.tar.gz Descargar los paquetes de idiomas de LibreOffice Una vez descargado el programa descargaremos los paquetes necesarios para disponer de LibreOffice en nuestro propio lenguaje. Para ello clico en el botón Interfaz de usuario traducida.\nNota: En mi caso se ha descargado el archivo LibreOffice_6.0.5_Linux_x86_deb_langpack_es.tar.gz Descargar la ayuda de Libreoffice Finalmente, en el caso que lo consideremos necesario descargaremos los archivos de ayuda del programa. Para ello clicamos encima del botón Ayuda incorporada de LibreOffice.\nNota: El paquete descargado tiene el nombre LibreOffice_6.0.5_Linux_x86_deb_helppack_es Instalar LibreOffice en distribuciones que funcionan con paquetes .deb o .rpm El siguiente paso consiste en acceder en ubicación donde hemos descargado los archivos de instalación de LibreOffice. En mi caso las descargas las he almacenado en la carpeta Descargas de mi partición home. Por lo tanto tendré que ejecutar el siguiente comando en la terminal:\ncd ~/Descargas Dentro de la carpeta Descargas descomprimimos los archivos tar.gz que descargamos en el apartado anterior. Para ello ejecutamos el siguiente comando en la terminal:\nfor x in *.tar.gz; do tar xfv $x; done Acto seguido instalamos la totalidad de los binarios de LibreOffice. Para ello si usamos el gestor de paquetes apt ejecutaremos el siguiente comando en la terminal:\nsudo dpkg -i LibreOffice_*/DEBS/*.deb En el caso de usar el gestor de paquetes dnf ejecutamos el siguiente comando en la terminal:\nsudo dnf install LibreOffice_*/RPMS/*.rpm Realizando estos simples pasos conseguiremos disponer de la última versión de LibreOffice de forma extremadamente sencilla.\nDESINSTALAR LIBREOFFICE En el caso que necesiten desinstalar Libreoffice y utilicen el gestor de paquetes apt deberán ejecutar el siguiente comando en la terminal:\nsudo apt-get remove --purge libreoffice* \u0026amp;\u0026amp; sudo apt-get autoremove Si en vez de apt utilizan dnf deberán ejecutar el siguiente comando en la terminal:\nsudo dnf remove libreoffice* De este forma tan sencilla podremos desinstalar LibreOffice sin ningún tipo de problema.\nACTUALIZAR A FUTURAS VERSIONES DE LIBREOFFICE LibreOffice posee un actualizador automático. No obstante su funcionalidad es prácticamente nula. Las únicas funciones del actualizador automático de LibreOffice son las siguientes:\nNotificar si existe una actualización de LibreOffice. Dirigirnos a la página web de LibreOffice para descargar la actualización. Por lo tanto para actualizar LibreOffice recomiendo realizar los siguientes pasos:\nEn el momento de recibir una notificación de actualización desinstalen LibreOffice. Una vez desinstalado descargan la última versión y la instalan de nuevo siguiendo las instrucciones de este artículo. OPCIONES ALTERNATIVAS DE INSTALACIÓN El el artículo tan solo hemos visto uno de los métodos para poder disponer de la última versión de LibreOffice. Otros métodos que podríamos usar son los siguientes:\nInstalar LibreOffice mediante la paquetería Snap, Flatpak o Appimages. Instalar LibreOffice usando los repositorios de nuestra distribución. En mi caso no me gusta usar los nuevos sistemas de paquetería de Linux. Tampoco me gusta tener distintos tipos de paquetes instalados en mi sistema operativo. Por este motivo en este artículo he mostrado la forma de instalar LibreOffice usando los paquetes .deb y .rpm.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-libreoffice-sin-repositorios/","summary":"\u003cp\u003eEn mi caso pretendo instalar LibreOffice en un sistema operativo Debian, pero me encuentro con los siguientes problemas:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eLos repositorios de Debian únicamente disponen de la versión 4.3.3 de LibreOffice. La versión más actual a día de hoy es la 6.0.5.\u003c/li\u003e\n\u003cli\u003eSi consulto el \u003ca href=\"/posts/repositorio-backports-debian-estable/\"\u003erepositorio Backports\u003c/a\u003e únicamente dispone de la versión 5.2.7. Esta sin duda no es la última versión de LibreOffice.\u003c/li\u003e\n\u003cli\u003eEn Debian, y en la mayoría de distribuciones, no existen repositorios ppa como en Ubuntu.\u003c/li\u003e\n\u003c/ol\u003e","title":"Instalar LibreOffice forma manual y sin repositorios en Linux"},{"content":"En el siguiente artículo veremos como usar Raspicast para convertir nuestra Raspberry Pi en un Chromecast. De esta forma podremos visualizar la totalidad de contenido multimedia de nuestro teléfono o nuestra Raspberry Pi en un televisor.\nMATERIAL QUE NECESITAMOS PARA TRANSFORMAR LA RASPBERRY PI EN UN CHROMECAST Los requisitos para usar Raspicast en una Raspberry Pi son los que se mencionan a continuación\nDisponer de una Raspberry Pi. Disponer de conexión a Internet. Tener disponible un dispositivo Android. El dispositivo Android y la Raspberry Pi tienen que estar conectados a la misma red local. Si cumplimos con los requisitos mencionados podemos seguir adelante sin problema alguno.\nCONFIGURAR LA RASPBERRY PI PARA QUE FUNCIONE COMO UN CHROMECAST A continuación aseguraremos que nuestra Raspberry Pi tenga instalados OMXPlayer y OMX Image Viewer. Lo haremos de la siguiente forma:\nInstalar OMXPlayer El sistema operativo Raspbian ya trae OMXPlayer instalado por defecto. No obstante ejecuten el siguiente comando en la terminal para asegurar que OMXPlayer está instalado:\nsudo apt-get install omxplayer OMXPlayer es un reproductor de vídeo especialmente diseñado para funcionar en la Raspberry Pi. Instalando OMXPlayer garantizamos que dispondremos de aceleración gráfica por hardware. De este modo, el rendimiento de la Raspberry PI será perfecto cuando reproduzcamos vídeos en alta resolución.\nInstalar OpenMax Image Viewer Con OMXplayer tenemos asegurada la aceleración gráfica por GPU. Por lo tanto, la Raspberry Pi podrá reproducir audio y vídeo en alta calidad sin problema alguno.\nSi además queremos disponer de aceleración gráfica en la visualización de imágenes es recomendable que instalemos OpenMax image viewer. De este modo dispondremos de aceleración gráfica en la visualización de los siguientes formatos de imagen:\nJPEGs PNGs BMPs GIFs TIFFs Para iniciar el proceso de instalación ejecutaremos el siguiente comando para acceder a la partición home.\ncd ~ A continuación instalaremos la totalidad de paquetes necesarios para compilar e instalar OpenMax Image viewer. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo apt-get install git make checkinstall libjpeg8-dev libpng12-dev Seguidamente descargaremos OpenMax Image Viewer ejecutando el siguiente comando en la terminal.\ngit clone https://github.com/HaarigerHarald/omxiv.git El siguiente paso consiste en acceder a la carpeta omxiv que acabamos de descargar. Para ello ejecutamos el siguiente comando en la terminal:\ncd ~/omxiv Acto seguido iniciaremos el proceso de compilación ejecutando el siguiente comando en la terminal:\nmake ilclient Seguidamente finalizaremos el proceso de compilación ejecutando el siguiente comando:\nmake Una vez finalizada la compilación crearemos un paquete .deb. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo checkinstall Durante el proceso de creación del paquete .deb se nos preguntará si queremos crear archivos que contienen información para documentar el paquete. En nuestro caso respondemos Yes [y] y presionamos Enter.\ncheckinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran Este software es distribuído de acuerdo a la GNU GPLThe package documentation directory ./doc-pak does not exist. Should I create a default set of package docs? [y]: y A continuación nos pedirán que introduzcamos una descripción para el paquete .deb que estamos creando. En mi caso uso la descripción OMX_image_viewer y presiono Enter.\nPreparando la documentación del paquete\u0026hellip;OK Por favor escribe una descripción para el paquete. Termina tu descripcion con una linea vacia o con EOF. \u0026raquo; OMX_image_viewer \u0026gt;\u0026gt; Finalmente se nos mostrarán los valores con que se generará el paquete. Como en mi caso estoy de acuerdo con los valores predeterminados presiono la tecla Enter.\n***************************************** **** Debian package creation selected *** *****************************************Este paquete será creado de acuerdo a estos valores:0 - Maintainer: [ root@raspberrypi ] 1 - Summary: [ OMX_image_viewer ] 2 - Name: [ omxiv ] 3 - Version: [ 20180901 ] 4 - Release: [ 1 ] 5 - License: [ GPL ] 6 - Group: [ checkinstall ] 7 - Architecture: [ armhf ] 8 - Source location: [ omxiv ] 9 - Alternate source location: [ ] 10 - Requires: [ ] 11 - Provides: [ omxiv ] 12 - Conflicts: [ ] 13 - Replaces: [ ]Introduce un número para cambiar algún dato u oprime ENTER para continuar: Acto seguido se generará el paquete .deb para que a posteriori podamos instalar OpenMax image viewer.\nInstalling with make install\u0026hellip; ====================== Resultados de la instalación ==== install omxiv.bin /usr/bin/omxiv ========================== Instalación exitosa ======== Copying documentation directory\u0026hellip; ./ ./README.md ./LICENSE Copiando los archivos al directorio temporal\u0026hellip;OK Stripping ELF binaries and libraries\u0026hellip;OK Comprimiendo las páginas de manual\u0026hellip;OK Creando la lista de archivos\u0026hellip;OK Creando el paquete Debian\u0026hellip;OK Instalando el paquete Debian\u0026hellip;OK Borrando directorios temporales\u0026hellip;OK Escribiendo el paquete de respaldoOK OK Borrando el directorio temporal\u0026hellip;OK ********************************************************************** Done. The new package has been installed and saved to /home/pi/omxiv/omxiv_20180901-1_armhf.deb You can remove it from your system anytime using: dpkg -r omxiv Para comprobar que el paquete .deb se ha generado ejecutamos el siguiente comando:\nls -l Tal y como se puede observar en la captura de pantalla se ha generado un paquete con el nombre omxiv_20180901-1_armhf.deb. Para instalarlo tan solo tenemos que ejecutar el siguiente comando en la terminal:\nsudo dpkg -i omxiv_20180901-1_armhf.deb Una vez ejecutado el comando tan solo hay que esperar unos segundos para que finalice el proceso de instalación.\nSi alguna vez quisieran desinstalar OMX Image Viewer, tan solo tendrían que ejecutar alguno de los siguiente comandos:\ndpkg -r omxiv o\nsudo apt-get remove omxiv INSTALAR RASPICAST EN UN DISPOSITIVO ANDROID A continuación tenemos que instalar la aplicación Raspicast en nuestro dispositivo Android. Para ello pueden clicar en el siguiente enlace.\nhttps://play.google.com/store/apps/details?id=at.huber.raspicast\u0026amp;hl=es\nSeguidamente tan solo tenemos que presionar en el botón INSTALAR. Acto seguido se instalará Raspicast.\nCONFIGURACIÓN DE LA APLICACIÓN RASPICAST La aplicación Raspicast requiere de una sencilla configuración inicial. Los pasos a seguir son los que se muestran a continuación.\nAveriguar la IP de nuestra raspberry Pi Para empezar tenemos que averiguar la IP local de nuestra Raspberry Pi. Para ello ejecutamos el comando hostname -I en la terminal de nuestra Raspberry Pi. El resultado obtenido en mi caso es el siguiente:\npi@raspberrypi:~ $ hostname -I 192.168.1.100 La salida del comando nos mostrará la IP local de nuestra Raspberry. Por lo tanto en mi caso tengo la IP 192.168.1.100.\nNota: Es altamente recomendable que la Raspberry Pi tenga una IP Fija. Habilitar SSH en la Raspberry Pi Si tienen un servidor SSH habilitado no hace falta que hagáis lo que se menciona en este apartado.\nEn el caso que no tengan un servidor SSH habilitado ejecuten el siguiente comando en la terminal:\nsudo raspi-config A continuación accedemos a la opción 5 Interfacing Options\nSeguidamente seleccionen la opción P2 SSH.\nFinalmente seleccionen la Opción Sí. De este modo habilitemos el servidor SSH.\nAveriguar el puerto SSH en que está escuchando nuestra Raspberry Pi Para averiguar el puerto en que está escuchando el servidor SSH tan solo tenemos que ejecutar el siguiente comando en la terminal:\npi@raspberrypi:~ $ grep Port /etc/ssh/sshd_config Port 22 Por lo tanto en mi caso el servidor SSH está escuchando en el puerto 22.\nAbrir y configurar la aplicación Raspicast La primera vez que abramos Raspicast tendremos que clicar en el apartado de opciones.\nCuando se despliegue el menú tendremos que clicar en la opción SSH settings.\nA continuación tendremos que rellenar las opciones que aparecen en la siguiente captura de pantalla:\nEn cada uno de los campos deberemos introducir la siguiente información\nHostname or ip: Tenemos que escribir la IP de nuestra Raspberry Pi. En apartados anteriores vimos que en mi caso es la 192.168.1.100. Port: Introduciremos el puerto en que está escuchando el servidor SSH. Como hemos visto en apartados anteriores, en mi caso el servidor SSH está escuchando en el puerto 22. Usarname: Introduzcan el nombre de usuario que acostumbren a utilizar en su Raspberry Pi. En mi caso uso el usuario Pi. Password: Hay que introducir la contraseña establecida para conectarnos a nuestro servidor SSH. Si es la primera vez que habilitan y/o usan el servidor SSH la contraseña será raspberry. Una vez introducidos los datos presionamos el botón OK. En estos momento la configuración ha finalizado.\nEMPEZAR A REPRODUCIR VÍDEOS, AUDIO E IMAGEN CON RASPICAST A continuación veremos gran parte de las opciones que ofrece Raspicast.\nReproducir vídeos, audio e imágenes de nuestro teléfono al televisor Para reproducir vídeos almacenados en nuestro dispositivo Android tan solo tenemos que presionar encima de la opción Cast.\nSeguidamente clicamos encima del contenido que queremos visualizar. Acto seguido empezará a reproducirse el vídeo, imagen o sonido en el televisor que conectamos la Raspberry Pi.\nNota: El contenido se envía de nuestro dispositivo móvil a la Raspberry Pi vía SSH. Por lo tanto el contenido se transmite de un dispositivo a otro de forma cifrada y segura. Reproducir vídeos, audio e imágenes almacenadas en la Raspberry Pi Si por lo contrario queremos reproducir contenido almacenado en nuestra Raspberry Pi tenemos que clicar encima de la opción Files.\nActo seguido navegamos en la ubicación donde tenemos guardado el contenido multimedia. A continuación tan solo tenemos que clicar encima del vídeo, audio o imagen que queremos visualizar.\nSi reproducimos archivos de vídeo con múltiples idiomas y con subtítulos no hay problema. Raspicast nos ofrece la posibilidad de seleccionar el idioma y los subtítulos que queramos.\nRaspicast también nos permitirá pausar, avanzar o retroceder en el momento del vídeo que nosotros queramos.\nVer vídeos de Youtube con Raspicast Raspicast también nos permite reproducir vídeos de Youtube a nuestro televisor. Para ello cuando estamos visualizando un vídeo presionamos encima del icono Compartir.\nSeguidamente presionamos encima de la opción Cast (Raspicast). Entonces de forma inmediata podremos visualizar el vídeo de Youtube en nuestro televisor.\nEn el caso que ya estemos visualizando un vídeo podemos clicar encima de la opción Queue (Raspicast). De este modo el vídeo se agregará a la cola de reproducción. Por lo tanto seguiremos viendo el vídeo actual y cuando se termine empezará el siguiente vídeo de la cola de reproducción.\nUTILIDADES Y LIMITACIONES DE RASPICAST Raspicast tiene claramente las siguientes utilidades.\nVer y/o escuchar en nuestro televisor los audios, vídeos y fotos almacenados en nuestro dispositivo Android o en la Raspberry Pi. Lanzar vídeos y listas de vídeos de YouTube de nuestro teléfono móvil al televisor. Abrir y reproducir el contenido de listas de reproducción como .m3u y .pls. Con Raspicast y una Raspberry Pi podremos ver vídeos a 1080 sin ningún tipo de problema. En ningún momento tendréis problemas de codecs, por lo tanto seréis capaces de reproducir prácticamente la totalidad de formatos de vídeo y sonido existentes.\nAlgunas limitaciones que tenéis que tener en mente son las siguientes:\nNo podremos visualizar enlaces de streaming alojados en servidores como por ejemplo streamcloud o Powvideo. Para ello existen otras alternativas como por ejemplo usar la combinación Kodi + Yatse. Gran parte de las aplicaciones Android no podrán compartir contenido con la Raspberry Pi. A modo de ejemplo no podremos transferir el audio de Spotify de nuestro teléfono a nuestro televisor. ANÁLISIS DE LA CARGA QUE LE SUPONE A LA RASPBERRY PI REPRODUCIR VÍDEOS EN HD El consumo de recursos al reproducir un vídeo a 1080p es ridículo.\nAntes de iniciar la reproducción mi Raspberry Pi tiene los siguientes parámetros de carga:\nTemperatura del procesador: 50,5 ºC Nivel de carga de la CPU: 0,07 Consumo de RAM: 24,3% Después de 15 Minutos de ver un vídeo a 1080p almacenado en mi Raspberry los valores de carga son los siguientes:\nTemperatura del procesador: 54,8 ºC Nivel de carga de la CPU: 0,19 Consumo de RAM: 26,5% Por lo tanto el consumo de recursos es más que aceptable y menor que si usáramos Kodi para reproducir nuestros vídeos.\nCONCLUSIONES Como se ha visto en el artículo Raspicast no cubre la totalidad de funcionalidades de un Chromecast. Flaquea en el momento de reproducir contenidos en streaming de servidores como por ejemplo streamcloud y Powvideo. Tampoco se integra con la mayoría de aplicaciones Android.\nNo obstante es una opción a tener en cuenta y que en mi caso uso y seguiré usando por lo siguientes motivos:\nPara ver contenido almacenado en la Raspberry Pi me resulta mucho más práctico usar Raspicast que no Kodi. El consumo de recursos es mínimo. Difícilmente encontraréis una opción que consuma menos recursos. Es una opción extremadamente rápida y sencilla para ver el contenido multimedia almacenado en nuestro dispositivo móvil. ","permalink":"https://geeklandlinux.github.io/posts/raspicast-usar-raspberry-pi-chromecast/","summary":"\u003cp\u003eEn el siguiente artículo veremos como usar Raspicast para \u003cstrong\u003econvertir nuestra Raspberry Pi en un Chromecast\u003c/strong\u003e. De esta forma \u003cstrong\u003epodremos visualizar la totalidad de contenido multimedia de nuestro teléfono o nuestra Raspberry Pi en un televisor\u003c/strong\u003e.\u003c/p\u003e","title":"Raspicast para usar una Raspberry Pi como un Chromecast"},{"content":"Bastantes usuarios de GNU/Linux, servidores web y/o servidores de email han escuchado a hablar de los inodos y no saben lo que son. Por este motivo, a continuación que veremos que son y como funcionan los sistemas de archivos basados en inodos.\n¿QUÉ SON LOS INODOS? Un inodo es una estructura de datos que almacena información sobre un fichero de nuestro sistema de archivos.\nUn inodo no tiene nombre y se identifica mediante un número entero único. Cada inodo únicamente puede contener datos de un solo fichero del sistema de archivos. Por lo tanto, si tenemos 4 archivos y 4 directorios estaremos usando 8 inodos.\nAlgunos de los sistemas de archivos que trabajan con inodos son:\next2/3/4. UFS. ReiserFS. FFS. XFS. Btrfs. etc. Windows y MacOS no trabajan con inodos porque sus sistemas de archivos son Ntfs y HFS+. Solo trabajan con inodos sistemas operativos como por ejemplo UNIX, FreeBSD, GNU-Linux y otros sistemas operativos basados en Unix.\n¿Qué tipo de información almacenan los inodos de los archivos y directorios? Un inodo contiene la totalidad de metadatos de un fichero de nuestro sistema de archivos.\nLos metadatos almacenados en un inodo son los siguientes:\nNúmero de inodo. El número de inodo es un número entero único que sirve para identificar un inodo. Tamaño del fichero así como el número de bloques que ocupa el fichero en el disco duro. El dispositivo de almacenamiento en que está almacenado el fichero. (Device ID) Número de enlaces. Por lo tanto si hay 2 archivos que apuntan a un mismo inodo tendremos 2 enlaces. Si tenemos un directorio que contiene 15 archivos tendremos 15 enlaces. El identificador de usuario (UID o User ID). Por lo tanto, los inodos especifican el propietario de un fichero. El identificador de grupo (GID o Group ID). De este modo, un inodo contiene el grupo a que pertenece un fichero. Marcas de tiempo como por ejemplo la fecha en que se ha creado el archivo, la fecha del último acceso, etc. Tabla de direccionamiento donde se detallan los bloques del disco duro en que está almacenado el fichero. Mediante el comando stat podemos consultar la información que un inodo guarda sobre un fichero. Si ejecutamos el comando stat seguido del nombre de un archivo, directorio o enlace obtendremos el siguiente resultado:\njoan@debian:~$ stat archivo_1 Fichero: archivo_1 Tamaño: 7872 Bloques: 16 Bloque E/S: 4096 fichero regular Dispositivo: 805h/2053d Nodo-i: 1326361 Enlaces: 1 Acceso: (0644/-rw-r–r–) Uid: ( 1000/ joan) Gid: ( 1000/ joan) Acceso: 2018-02-04 21:04:11.902405984 +0100 Modificación: 2016-12-25 11:24:27.051411224 +0100 Cambio: 2016-12-25 11:25:06.898576813 +0100 Creación: – Como pueden ver, la salida del comando contiene la información que almacena el inodo 1326361 sobre el archivo archivo_1.\nLa principal función de la información almacenada en el inodo es que podamos acceder a la información almacenada en nuestro disco duro.\n¿Qué tipo de información almacenan las dentries? Las dentries tienen la función de definir la estructura de un directorio. Las dentries, conjuntamente con los inodos, serán los encargados de representar un fichero en la memoria.\nLas dentries de un directorio se almacenan en una tabla. Esta tabla contiene la totalidad de nombres de los ficheros que están dentro del directorio y los asocia con su correspondiente número de inodo. Por lo tanto, una dentry es un nombre que apunta hacia un inodo.\nImaginemos que el directorio Documentos contiene 2 archivos y un directorio. El inodo que representa al directorio Documentos será el siguiente:\nFicheros dentro del directorio Documentes Inodo . 10000 .. 5000 Carta.odt 10043 CV.odt 10025 Directorio 1 13412 El contenido de la tabla es simple de comprender. Únicamente es necesario comentar las entradas que tienen un punto y dos puntos.\nLa entrada con un punto (.) hace referencia al directorio Documentos. Por lo tanto la información del directorio Documentos está almacenada en el inodo 10000.\nLa entrada con 2 puntos (..) hace referencia al inodo del directorio que contiene el directorio Documentos. Por lo tanto si la carpeta Documentos está dentro de /home/user, el inodo 5000 hace referencia al directorio user.\nPara comprender mejor todo lo que hemos comentado hasta el momento imaginemos la siguiente estructura:\nLas características de esta estructura son las siguientes:\nUsa 6 inodos. El primer inodo para el directorio raíz, el segundo para el directorio home, el tercero para el directorio joan, el cuarto para el directorio angel, el quinto para el fichero carta.odt y el sexto para el directorio fotos. Usa 5 dentries. La primera enlaza carta.odt con joan, la segunda enlaza fotos con joan, la tercera enlaza joan con home, la cuarta enlaza angel con home y finalmente la última enlaza home con el directorio raíz. ¿QUÉ ESPACIO OCUPA UN INODO? Si quieren consultar el espacio que ocupa un inodo de su sistema de archivos tan solo tienen que realizar lo siguiente.\nInicialmente ejecutan el siguiente comando para ver las particiones del sistema de archivos:\nsudo fdisk -l En mi caso el resultado obtenido es el siguiente:\nDisco /dev/sda: 298,1 GiB, 320072933376 bytes, 625142448 sectores Unidades: sectores de 1 * 512 = 512 bytes Tamaño de sector (lógico/físico): 512 bytes / 512 bytes Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes Tipo de etiqueta de disco: dos Identificador del disco: 0x29f429f3 Disposit. Inicio Comienzo Final Sectores Tamaño Id Tipo /dev/sda1 * 63 122698574 122698512 58,5G 7 HPFS/NTFS/exFAT /dev/sda2 122699776 123619327 919552 449M 27 NTFS de WinRE oculta /dev/sda3 123620175 182916089 59295915 28,3G 83 Linux /dev/sda4 182916151 625137344 442221194 210,9G f W95 Ext’d (LBA) /dev/sda5 182916153 235063079 52146927 24,9G 83 Linux /dev/sda6 235063143 237296114 2232972 1,1G 82 Linux swap / Solaris /dev/sda7 237297664 237631487 333824 163M 83 Linux /dev/sda8 237633543 625137344 387503802 184,8G 7 HPFS/NTFS/exFAT De las 8 particiones miraré el tamaño de los inodos en las particiones /dev/sda5 y /dev/sda7. Para ello ejecutaré los siguientes comandos:\njoan@debian:~$ sudo tune2fs -l /dev/sda5 | grep Inode Inode count: 1630208 Inodes per group: 8192 Inode blocks per group: 512 Inode size: 256 joan@debian:~$ sudo tune2fs -l /dev/sda7 | grep Inode Inode count: 41832 Inodes per group: 1992 Inode blocks per group: 249 Inode size: 128 Como pueden ver, los inodos de la partición (/dev/sda5) tienen un tamaño de 256 bytes. Esto es así porque los sistemas de archivos ext4 acostumbran a tener este tamaño predeterminado.\nPor otro lado los inodos de la partición (/dev/sda7) tienen un tamaño de 128 bytes. También se trata de un tamaño habitual en sistemas de archivos ext2.\nPor lo tanto si los inodos de mi partición /home tienen 256 bytes y los bloques de mi disco duro son de 4096 bytes, cada bloque de mi disco duro podrá almacenar 16 inodos.\nModificar el número y el tamaño de los inodos en sistemas de archivos ext4 Los inodos se crean en el momento que se genera el sistema de archivos. Una vez generado el sistema de archivos no será posible añadir y/o redimensionar los inodos.\nNota: Existen sistemas de archivos como JFS, Btrfs o XFS que si permiten incrementar el número de inodos de un sistema de archivos. Nota: En particiones LVM y en particiones tradicionales podemos incrementar el número de inodos añadiendo más espacio a una partición. Si queremos controlar el número y el tamaño de los inodos lo podemos hacer en el momento de formatear nuestras particiones. Para ello deberán usar un comando del siguiente tipo:\nsudo mkfs.ext4 -N 2.000.000 -I 256 /dev/sdaX Si ejecutamos este comando se formateará la partición sdaX. En el momento de formatearse se creará un sistema de archivos ext4 que contendrá 2.000.000 de inodos. Cada uno de estos inodos ocupará un tamaño de 256 bytes.\nTenemos que tener cuidado con los siguientes aspectos:\nEl tamaño de los inodos tiene que ser una potencia de 2 igual o mayor que 128 bytes. Los tamaños de inodo recomendados son 128 o 256 bytes. El número de inodos ideal será en función del tamaño de la partición y de las necesidades de cada usuario. Si eligen un tamaño de inodo muy grande y/o una gran cantidad de inodos, se reducirá la capacidad de almacenamiento del disco duro. Existen parámetros adicionales para controlar el número de inodos generados como por ejemplo -i bytes-per-inode, -T usage-type[,…], etc. No es recomendable que los usuarios con pocos conocimientos jueguen con estos valores. Un usuario con pocos conocimientos es mejor que use el siguiente comando para formatear un partición:\nsudo mkfs.ext4 /dev/sdaX ¿En qué posición se ubican los inodos en el disco duro? La ubicación de los inodos dentro del disco duro depende del sistema de archivos que usemos. Así por ejemplo:\nExisten sistemas de archivos que posicionan la totalidad de los inodos al inicio del disco duro. Existen otros sistemas de archivos, como por ejemplo ext4, que dividen el disco duro en 4 zonas. En el inicio de cada una de las zonas se ubican las tablas de inodos. Los inodos de cada zona redireccionan a bloques del disco duro lo más cercanos la ubicación del inodo. De esta forma se minimiza el desplazamiento del cabezal en los discos duros tradicionales. FUNCIONAMIENTO DE LAS TABLAS DE DIRECCIONAMIENTO DE LOS INODOS EN EXT4 La función de la tabla de direccionamiento de un inodo es indicar las posición del disco duro en que está almacenado un fichero.\nLos inodos tienen un tamaño fijo. Por lo tanto, el tamaño de un inodo es finito y en muchas ocasiones no es suficiente para almacenar la totalidad de datos que necesitamos para acceder a un archivo. Frente a esta situación se usan tablas de direccionamiento indirecto simples, dobles y triples.\nTablas de direccionamiento directo en sistemas de archivo ext4 Un inodo tiene una tabla de direccionamiento de 15 entradas. 12 de las 15 entradas permiten un direccionamiento directo a un bloque de datos del disco duro.\nSi un archivo se almacena en 7 bloques, un inodo nos puede direccionar de forma directa al contenido del archivo.\nA modo de ejemplo, el archivo archivo1 está vinculado al inodo 1. Si consultamos el inodo 1 vemos que el contenido del archivo1 está almacenado en los bloques 1, 2, 3, 4, 5, 6 y 7. Por lo tanto, mediante un direccionamiento directo podemos acceder al contenido del archivo.\nTablas de direccionamiento indirectas simples Si finalizamos el espacio que tenemos para las 12 entradas directas tendremos que usar un direccionamiento indirecto.\nLa treceava posición de la tabla de direccionamiento del inodo nos dirigirá a un bloque de datos que contendrá una nueva tabla de direcciones hacia los bloques que almacenan el contenido de nuestro archivo.\nTablas de direccionamiento indirectas dobles y triples Del mismo modo que se hacen direccionamientos indirectos simples, también podemos hacer direccionamientos indirectos dobles y triples con las entradas 14 y 15. A continuación se muestra la estructura de un direccionamiento indirecto doble.\nDe este modo podemos llegar a conseguir archivos con un tamaño de hasta 16TB en sistemas de ficheros ext4.\nFrente a este funcionamiento podemos llegar a las siguientes conclusiones:\nEl acceso a los archivos será más lento cuando se hace un direccionamiento indirecto. Podremos acceder de forma mucho más rápida y eficiente en archivos de poco tamaño. Por este motivo los sistemas de archivos basados en inodos son ideales para manejar servidores web o servidores de email. ENLACES DUROS GRACIAS A LOS INODOS En Linux los ficheros no se referencian por su nombre. Se referencian por su número de inodo. Gracias a esto en Linux podemos usar enlaces duros.\nA continuación vemos un ejemplo de 2 archivos que apuntan al mismo nodo.\nPor lo tanto, ambos ficheros tienen exactamente el mismo contenido. Podemos borrar tranquilamente uno de los ficheros porque el otro será exactamente igual que el borrado.\n¿POR QUÉ ALGUNOS SERVIDORES NO LIMITAN EL ESPACIO PERO SI EL NÚMERO DE INODOS USADO? En sistemas de archivos en que existe gran cantidad de archivos pequeños puede darse el siguiente caso:\nExisten bloques libres, pero no tenemos inodos disponibles. En caso que se de la situación, no podremos copiar o generar contenido nuevo en el disco duro. La única funcionalidad de los bloques libres será que puedan crecer los archivos y ficheros presentes en el sistema de archivos. La situación que acabo de comentar es común en servidores de correo y en servidores web. Por este motivo, cuando contratamos este tipo de servicios suelen mostrarnos tanto el espacio libre como el número de inodos disponibles.\nCONSULTAR INFORMACIÓN SOBRE LOS INODOS A continuación verán una serie de comandos que les pueden resultar útiles para averiguar información sobre los inodos de su sistema de archivos.\nVer los inodos libres y ocupados del sistema de ficheros Para ver los inodos libres y ocupados de las particiones del sistema de archivos tenemos que ejecutar el siguiente comando:\njoan@debian:~$ df -i S.ficheros Nodos-i NUsados NLibres NUso% Montado en udev 404955 531 404424 1% /dev tmpfs 408507 870 407637 1% /run /dev/sda3 1855952 571568 1284384 31% / tmpfs 408507 63 408444 1% /dev/shm tmpfs 408507 4 408503 1% /run/lock tmpfs 408507 16 408491 1% /sys/fs/cgroup /dev/sda5 1630208 143964 1486244 9% /home /dev/sda7 41832 371 41461 1% /boot /dev/sda8 70674942 7362 70667580 1% /media/DATOS tmpfs 408507 33 408474 1% /run/user/1000 Si observamos los resultados veremos que en mi caso no estoy ocupando una gran cantidad de inodos.\nVer el número de inodo de cualquier fichero que tengamos almacenado Para ver el número de inodo de todos y cada uno de los elementos contenidos en un directorio tenemos que ejecutar el siguiente comando:\njoan@debian:~$ ls -i 1326361 archivo_1 1310734 Imágenes 1041 ‘Ninja IDE’ 1332060 ps_mem.py 1325239 archivo_2 400342 jd2 1321034 nohup.out 1310731 Público 1326293 Audiobooks 322476 jdownloader …… Nota: La parte en color rojo corresponde al número de inodo de un archivo o un directorio. Averiguar el inodo que usa un archivo o carpeta Para conocer el inodo que usa un archivo, una carpeta o un enlace, tan solo tenemos que teclear el comando ls -i seguido del nombre del archivo, carpeta o enlace.\nPor lo tanto, para averiguar el inodo del archivo_1 ejecutaremos el siguiente comando en la terminal:\njoan@debian:~$ ls -i archivo_1 1326361 archivo_1\nBuscar el nombre de un archivo por su número de inodo Con el comando find podemos buscar un archivo por si número de inodo. Si queremos buscar el archivo que corresponde al inodo 523580 ejecutaremos el siguiente comando:\njoan@debian:~$ sudo find / -inum 523580 /var/cache/apt/pkgcache.bin\nEn este caso podemos ver que el inodo 523580 corresponde al archivo pkgcache.bin.\n","permalink":"https://geeklandlinux.github.io/posts/inodos-dentires-sistema-archivos/","summary":"\u003cp\u003eBastantes usuarios de GNU/Linux, servidores web y/o servidores de email han escuchado a hablar de los inodos y no saben lo que son. Por este motivo, a continuación que veremos que son y como funcionan los sistemas de archivos basados en inodos.\u003c/p\u003e","title":"Qué son y que utilidades tienen los inodos y dentries de un sistema de archivos"},{"content":"Hace semanas vimos como configurar e instalar Nextcloud. A día de veremos como podemos actualizar Nextcloud de forma extremadamente sencilla. Gracias a su asistente de actualización tan solo tendremos que apretar un botón y el proceso se realizará de forma automática.\nCOMO AVERIGUAR SI EXISTE UNA ACTUALIZACIÓN En el momento que haya una actualización disponible nos debería llegar una notificación en el panel de Nextcloud. El sistema de notificaciones funcionará siempre y cuando tengamos activada la aplicación Update notification.\nREALIZAR UNA COPIA DE SEGURIDAD DE NEXTCLOUD El asistente de actualización de Nextcloud creará un punto de restauración en caso que haya problemas durante la actualización. No obstante antes de iniciar el proceso para actualizar Nextcloud es recomendable realizar una copia de seguridad de los siguientes elementos:\nLa base de datos de Nextcloud. La carpeta de configuración. La carpeta que contiene todos nuestros archivos. Para ello pueden seguir las instrucciones que se muestran a continuación:\nhttps://geeklandlinux.github.io/posts/copia-de-seguridad-backup-nextcloud/\nACTUALIZAR NEXTCLOUD MEDIANTE SU ASISTENTE DE ACTUALIZACIÓN Para iniciar el proceso para actualizar Nextcloud accedemos al apartado de Configuración.\nDentro del apartado de configuración clicamos en el menú Ajustes básicos ubicado en la parte izquierda de la pantalla.\nA continuación, en el apartado versión verán que existe una actualización disponible. Para iniciar el proceso de actualización tan solo tienen que presionar encima del botón Abrir actualizador.\nUna vez abierto el asistente de actualización tan solo tan solo tenemos que presionar en el botón Start update.\nActo seguido se realizarán la totalidad de tareas previas a la actualización de forma completamente automática. Algunas de las tareas que se realizarán son:\nActivar el modo mantenimiento para que el servidor no sea accesible para los usuarios o clientes. Comprobar que los permisos de las carpetas sean los correctos. Realizar una copia de seguridad por si existe algún problema durante el proceso de actualización. Descargar y verificar los archivos para actualizar Nextcloud. Descomprimir la actualización de Nextcloud. Etc. Al final del proceso de preparación para la actualización se nos preguntará si queremos mantener el modo de mantenimiento activado. Responderemos que No clicando sobre el botón No (For usage of the of the web based updater).\nUna vez finalizadas las tareas previas a la instalación clicaremos sobre el botón Go back to your Nextcloud instance to finish the update.\nSeguidamente el navegador nos dirigirá a la siguiente pantalla para iniciar el proceso de actualización. Para iniciar el proceso para actualizar Nextcloud clicaremos encima del botón Iniciar actualización.\nA continuación tan solo tendremos que esperar unos pocos minutos para que se realice la actualización de forma completamente automática. Una vez finalizada la actualización tan solo tenemos que presionar el botón Continuar a Nextcloud.\nFinalmente se abrirá Nextcloud y estará completamente actualizado a la última versión.\nHABILITAR APPS QUE SE HAN DESACTIVADO DURANTE LA INSTALACIÓN Tras la actualización es posible que se desactiven algunas de las Apps. Por lo tanto al finalizar la actualizar accedan dentro del apartado de Aplicaciones.\nDentro del apartado de aplicaciones cliquen sobre la opción Apps deshabilitadas.\nFinalmente activen la totalidad de Apps que tenían activadas anteriormente.\n","permalink":"https://geeklandlinux.github.io/posts/actualizar-nextcloud-asistente/","summary":"\u003cp\u003eHace semanas vimos como \u003ca href=\"/posts/configurar-optimizar-rendimiento-nextcloud/\"\u003econfigurar\u003c/a\u003e e \u003ca href=\"/posts/instalar-nextcloud-mariadb-lighttpd/\"\u003einstalar Nextcloud\u003c/a\u003e. A día de veremos como podemos actualizar Nextcloud de forma extremadamente sencilla. Gracias a su asistente de actualización tan solo tendremos que apretar un botón y el proceso se realizará de forma automática.\u003c/p\u003e","title":"Actualizar Nextcloud fácilmente con el asistente de actualización"},{"content":"A todos las personas que les toque administrar una nube Nextcloud deberían realizar una copia de seguridad para prevenir la pérdida de información.\nHay muchos sistemas y métodos para realizar copias de seguridad. En mi caso utilizo los siguientes 2 métodos:\nClonar Nextcloud a una nube pública usando Rclone. En lo que a privacidad se refiere no es la mejor de las opciones. Realizar una copia de seguridad convencional mediante rsync o tar. En este artículo realizaremos una copia de seguridad convencional mediante tar. En futuros artículos veremos como podemos usar Rclone para sincronizar los datos almacenados en Nextcloud con una nube pública.\nNota: El tutorial se puede aplicar a la totalidad de nubes Nextcloud que corren sobre un servidor de base de datos MariaDB o Mysql. ELEMENTOS QUE TENEMOS QUE INCLUIR EN LA COPIA DE SEGURIDAD En mi caso siempre incluyo los siguientes elementos:\nLa base de datos de Nextcloud. La totalidad de datos almacenados en la nube. Los archivos de configuración de Nextcloud. Para realizar la copia de seguridad de estos 3 elementos procederemos del siguiente modo.\nTIPO DE COPIA DE SEGURIDAD QUE CREAREMOS Con sus ventajas y sus inconvenientes, las copias de seguridad que realizaremos son completas. Quien quiera trabajar con copias incrementales o diferenciales deberá modificar los comandos del siguiente artículo.\nPara evitar que se llene el disco duro que borraremos las copias de seguridad con una antigüedad superior a 3 días.\nPARÁMETROS QUE NECESITAMOS CONOCER PARA CREAR LA COPIA DE SEGURIDAD Para realizar la copia de seguridad de forma satisfactoria hay que conocer y tener claros los siguientes datos:\nParámetros Valores a conocer Ruta de los archivos de configuración de Nextcloud. /var/www/html/nextcloud Ruta que almacena los datos de Nextcloud. /media/nextcloud/data Dirección en se almacenan los archivos de configuración. /var/www/html/nextcloud La dirección IP en que está funcionando Mysql o MariaDB. localhost (Porque los comandos que ejecutaremos en el servidor que está corriendo MariaDB o Mysql) Un usuario con privilegios de administración de la base de datos. root La contraseña del administrador de la base de datos. mi_contraseña Nombre de la base de datos que queremos respaldar. nextcloud Ubicación donde queremos guardar las copias de seguridad. La base de datos: media/usb/backups/nextcloud/database Los datos de nuestra nube: media/usb/backups/nextcloud/data Los archivos de configuración: media/usb/backups/nextcloud/ncserver Nombre que queremos dar a las copias de seguridad. La base de datos: nextcloud-sqlbkp_`date +\u0026quot;%Y%m%d\u0026quot;`.bak Los datos de nuestra nube: nextcloud-databkp_`date +\u0026quot;%Y%m%d\u0026quot;`.tar.gz Los archivos de configuración: ncserver-databkp_`date +\u0026quot;%Y%m%d\u0026quot;`.tar.gz Nota: Las rutas mencionadas en la tabla serán distintas y en función de cada instalación de Nextcloud. ACTIVAR EL MODO MANTENIMIENTO PARA REALIZAR LA COPIA DE SEGURIDAD Activaremos el modo mantenimiento para asegurar que ningún usuario está o accede a la nube durante la copia de seguridad. De esta forma evitaremos inconsistencias y problemas en las copias de seguridad que vamos a crear.\nPara activar el modo mantenimiento tenemos que ejecutar el siguiente comando en la terminal:\nsudo -u www-data php /var/www/html/nextcloud/occ maintenance:mode --on REALIZAR UNA COPIA DE SEGURIDAD DE LA BASE DE DATOS DE NEXTCLOUD Una vez activado el modo mantenimiento ya podemos realizar la copia de seguridad de nuestra base de datos. Para ello tenemos que ejecutar un comando del siguiente tipo en la terminal:\nmysqldump --single-transaction -h ip_servidor_mysql -u usuario_administrador_base_de_datos -p\u0026#39;contraseña_usuario_administrador_base_de_datos\u0026#39; nombre_base_de_datos_nextcloud \u0026gt; ruta_y_nombre_donde_crear_la_copia_base_de_datos Por lo tanto, en mi caso deberé ejecutar el siguiente comando como usuario root:\nmysqldump --single-transaction -h localhost -u root -p\u0026#39;mi_contraseña\u0026#39; nextcloud \u0026gt; /media/usb/backups/nextcloud/database/nextcloud-sqlbkp_`date +\u0026#34;%Y%m%d\u0026#34;`.bak Acto seguido se realizará la copia de seguridad de nuestra base de datos.\nCOPIA DE SEGURIDAD DE LOS DATOS ALMACENADOS EN NEXTCLOUD En mi caso tengo que copiar los datos almacenados en /media/nextcloud/data en el archivo comprimido nextcloud-databkp_`date +\u0026quot;%Y%m%d\u0026quot;`.tar.gz que ubicaré en /media/usb/backups/nextcloud/data.\nPara ello, como usuario root ejecutaré el siguiente comando en la terminal:\ntar -cpzf /media/usb/backups/nextcloud/data/nextcloud-databkp_`date +\u0026#34;%Y%m%d\u0026#34;`.tar.gz /media/nextcloud/data Una vez ejecutado empezará a realizarse la copia de seguridad de nuestros datos. Una vez finalizada, la ubicación /media/usb/backups/nextcloud/data/ contendrá una archivo comprimido con la totalidad de nuestros datos.\nCOPIA DE SEGURIDAD DE LOS ARCHIVOS DE CONFIGURACIÓN DE NEXTCLOUD Crearemos un archivo comprimido con el nombre ncserver-databkp_`date +\u0026quot;%Y%m%d\u0026quot;`.tar.gz que ubicaremos en /media/usb/backups/nextcloud/ncserver. Este archivo contendrá la totalidad de archivos de configuración de Nextcloud ubicados en /var/www/html/nextcloud.\nPara ello, como usuario root, ejecutaré el siguiente comando en la terminal:\ntar -cpzf /media/usb/backups/nextcloud/ncserver/ncserver-databkp_`date +\u0026#34;%Y%m%d\u0026#34;`.tar.gz /var/www/html/nextcloud Una vez ejecutado el comando se realizará una copia de seguridad de la totalidad de archivos de configuración de Nextcloud.\nDESACTIVAR EL MODO MANTENIMIENTO A estas alturas ha finalizado el proceso de creación de la copia de seguridad. Por lo tanto desactivaremos el modo mantenimiento ejecutando el siguiente comando en la terminal:\nsudo -u www-data php /var/www/html/nextcloud/occ maintenance:mode --off Una vez desactivado el modo mantenimiento, los usuarios podrán acceder de nuevo a la nube sin ningún tipo de problema.\nBORRAR LAS COPIAS DE SEGURIDAD CON UNA ANTIGÜEDAD SUPERIOR A 3 DÍAS Para borrar las copias de seguridad con una antigüedad superior a 3 días tan solo tenemos que ejecutar los siguientes comandos:\nsudo find /media/usb/backups/nextcloud/database -mtime +3 -exec rm {} \\; sudo find /media/usb/backups/nextcloud/ncserver -mtime +3 -exec rm {} \\; sudo find /media/usb/backups/nextcloud/data -mtime +3 -exec rm {} \\; Nota: Las partes de color rojo corresponden a cada una de las rutas que almacenan nuestras copias de seguridad. Nota: Las partes de color verde indican el tiempo máximo en días que queremos almacenar una copia de seguridad. AUTOMATIZAR LAS COPIAS DE SEGURIDAD DE NEXTCLOUD Automatizar todo el proceso que acabamos de ver es extremadamente sencillo. Tan solo tenemos que crear un script del siguiente modo.\nCrear un script para realizar copias de seguridad de Nextcloud Inicialmente crearemos una carpeta con el nombre scripts que almacenará el script. Para ello ejecutaremos el siguiente comando en la terminal:\nmkdir scripts Seguidamente accederemos dentro de la carpeta que acabamos de crear ejecutando el siguiente comando en la terminal:\ncd scripts A continuación crearemos el script ejecutando el siguiente comando en la terminal:\nnano nextcloudbkp.sh Cuando se abra el editor de texto nano pegaremos el siguiente contenido:\n#!/bin/sh # Copia de seguridad de nextcloud # Activar el modo mantenimiento sudo -u www-data php /var/www/html/nextcloud/occ maintenance:mode --on # Copiar la base de datos mysqldump --single-transaction -h localhost -u root -p\u0026#39;mi_contraseña\u0026#39; nextcloud \u0026gt; /media/usb/backups/nextcloud/database/nextcloud-sqlbkp_`date +\u0026#34;%Y%m%d\u0026#34;`.bak # Copia de seguridad de los archivos de configuración tar -cpzf /media/usb/backups/nextcloud/ncserver/ncserver-databkp_`date +\u0026#34;%Y%m%d\u0026#34;`.tar.gz /var/www/html/nextcloud # Copia de seguridad de los datos de Nextcloud tar -cpzf /media/usb/backups/nextcloud/data/nextcloud-databkp_`date +\u0026#34;%Y%m%d\u0026#34;`.tar.gz /media/nextcloud/data # Desactivar el modo mantenimiento sudo -u www-data php /var/www/html/nextcloud/occ maintenance:mode --off # Borrar las copias de seguridad más antiguas de 3 días sudo find /media/usb/backups/nextcloud/database -mtime +3 -exec rm {} \\; sudo find /media/usb/backups/nextcloud/ncserver -mtime +3 -exec rm {} \\; sudo find /media/usb/backups/nextcloud/data -mtime +3 -exec rm {} \\; A continuación guardaremos los cambios y cerraremos el fichero. Finalmente tan solo tenemos que dar permisos de ejecución al script ejecutando el siguiente comando en la terminal:\nsudo chmod +x nextcloudbkp.sh Programar la ejecución de la copia de seguridad El último paso consiste en programar la frecuencia con que se realizarán las copias de seguridad usando el programador de tareas cron.\nPara programar la frecuencia con que se realizará la copia de seguridad ejecutamos el siguiente comando en la terminal:\ncrontab -e Cuando se abra el editor de textos pegamos el siguiente comando al final del archivo:\n03 03 * * * sudo /home/pi/scripts/nextcloudbkp.sh \u0026gt;/dev/null 2\u0026gt;\u0026amp;1 Finalmente guardamos los cambios y cerramos el fichero.\nDe este modo todos los días a las 3 horas y 3 minutos de la madrugada se ejecutará el script que realizará la copia de seguridad de Nextcloud. Si quieren modificar la frecuencia de ejecución de la copia de seguridad tan solo tienen que modificar los parámetros de Cron.\nRESTAURAR LA COPIA DE SEGURIDAD QUE ACABAMOS DE CREAR En futuros artículos detallaremos de forma sencilla como podemos restaurar la copia de seguridad que hemos creado en este artículo.\n","permalink":"https://geeklandlinux.github.io/posts/copia-de-seguridad-backup-nextcloud/","summary":"\u003cp\u003eA todos las personas que les toque administrar una nube Nextcloud deberían realizar una copia de seguridad para prevenir la pérdida de información.\u003c/p\u003e\n\u003cp\u003eHay muchos sistemas y métodos para realizar copias de seguridad. En mi caso utilizo los siguientes 2 métodos:\u003c/p\u003e","title":"Crear una copia de seguridad o Backup de la nube Nextcloud"},{"content":"En el siguiente artículo veremos como usar una Raspberry Pi o cualquier equipo con Linux para poder montar un sistema de videovigilancia. Para ello utilizaremos el software Motion y una simple webcam USB.\n¿QUÉ ES Y COMO FUNCIONA MOTION? Motion es un software open source escrito en C que realiza las funciones de un sistema de videovigilancia.\nSu forma de trabajar es la siguiente:\nMotion está constantemente monitorizando las imágenes captadas por una o varias cámaras. Si entre las imágenes consecutivas captadas por una de las cámaras no hay absolutamente ninguna diferencia, Motion no realizará ninguna acción. Si entre imágenes consecutivas se observan variaciones importantes, la cámara empezará a tomar fotografías y a grabar vídeo hasta que la diferencia entre imágenes consecutivas se vuelve a estabilizar. Por lo tanto, en el momento que una persona entre dentro del perímetro de vigilancia de una cámara, Motion empezará a capturar imágenes y grabará un vídeo. De esta forma podremos detectar e identificar la persona que ha vulnerado el perímetro de seguridad.\nFUNCIONES ADICIONALES PROPORCIONADAS POR MOTION Podemos usar Motion como un sistema de videovigilancia, pero aparte ofrece otras funcionalidades como por ejemplo las siguientes:\nRealizar timelapse. Capturar imágenes de forma periódica. A lo largo del artículo verán las opciones de configuración a usar para poder realizar un timelapse o para capturar imágenes.\nREQUISITOS NECESARIOS PARA MONTAR EL SISTEMA DE VIDEOVIGILANCIA Los requisitos para montar un sistema de videovigilancia siguiendo las instrucciones de este tutorial son los siguientes:\nDisponer de una Raspberry Pi o cualquier ordenador con el sistema operativo GNU-Linux. La distribución GNU-Linux que utilicen tiene que usar paquetería .deb. Como mínimo deben disponer de una Webcam USB. La webcam tiene que ser compatible con el sistema operativo GNU-Linux que están usando. Si cumplen con los requisitos mencionados pueden seguir los sencillos pasos que verán a continuación.\nCOMPROBAR LA COMPATIBILIDAD DE LA CÁMARA CON EL SISTEMA OPERATIVO Enchufamos una webcam USB a la Raspberry Pi o a nuestro ordenador con el sistema operativo GNU-Linux. Acto seguido ejecutamos el siguiente comando en la terminal:\nlsusb En mi caso la salida del comando es la siguiente:\nBus 001 Device 006: ID 0c45:627b Microdia PC Camera (SN9C201 + OV7660) Bus 001 Device 004: ID 0930:6544 Toshiba Corp. Kingston DataTraveler 2.0 Stick (2GB) Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Observando los resultados de la salida puedo afirmar con total seguridad que mi webcam ha sido detectada. En el caso que no sea detectada es muy posible que su webcam no sea compatible con el sistema operativo Linux que están usando.\nEn el caso que tengan que comprar una webcam para usar Motion en una Raspberry Pi les recomiendo que visiten el siguiente enlace:\nhttps://elinux.org/RPi_USB_Webcams\nEn el enlace encontrarán algunas de las webcam que son compatibles con el sistema operativo Raspbian. Si compran una de las webcam de la lista motion debería funciona sin problema alguno.\nINSTALAR EL SISTEMA DE VIDEOVIGILANCIA MOTION Existen varias opciones para instalar el software Motion. La primera de ellas es a través de los repositorios de nuestra distribución, mientras que la segunda es a través de los archivos binarios que están en la web del desarrollador.\nInstalar Motion a través de los repositorios de su distribución Para instalar Motion tan solo tienen que ejecutar el siguiente comando en la terminal:\nsudo apt-get install motion Acto seguido se instalará Motion. De este modo tan sencillo ya tendremos instalado un sistema de videovigilancia.\nInstalar Motion con los binarios de la plataforma del desarrollador Existe la posibilidad que la versión de Motion de los repositorios no sea la más actual. Para instalar la última versión estable pueden seguir las siguientes instrucciones:\nAccedan a la siguiente página web:\nhttps://github.com/Motion-Project/motion/releases/\nUna vez dentro de la página web:\nPosicionen el puntero del ratón sobre la versión de Motion que quieren instalar. Como en mi caso quiero instalar la última versión de Motion en una Raspberry Pi con Debian Jessie posiciono el puntero del ratón sobre la opción pi_jessie_motion_4.1.1-1_armhf.deb Presionen el botón derecho del ratón. Cuando aparezca el menú contextual cliquen encima de la opción Copiar la ruta del enlace. Seguidamente nos conectamos vía SSH al dispositivo que queremos instalar Motion. A continuación realizamos lo siguiente:\nEscribimos wget y dejamos un espacio con la barra espaciadora. Seguidamente presionamos el botón derecho del ratón y cuando aparezca el menú contextual clicamos sobre la opción Pegar. Finalmente presionamos Enter y se descargará el paquete binario para instalar Motion. Una vez descargado el binario ejecutamos el siguiente comando para ver el nombre del paquete que acabamos de descargar:\nls -l Tal y como se puede ver en la captura de pantalla el archivo binario descargado es:\npi_jessie_motion_4.1.1-1_armhf.deb Para instalar el paquete que acabamos de descargar instalamos gdebi ejecutando el siguiente comando en la terminal:\nsudo apt-get install gdebi Acto seguido ejecutamos el comando sudo gdebi seguido del nombre del paquete deb que acabamos de descargar.\nsudo gdebi pi_jessie_motion_4.1.1-1_armhf.deb Justo después de ejecutar el comando se nos preguntará si queremos instalar el paquete pi_jessie_motion_4.1.1-1_armhf.deb. Respondemos que Sí y presionamos Enter. Seguidamente se procederá a la instalación de Motion.\nCONFIGURAR MOTION COMO SISTEMA DE VIDEOVIGILANCIA Una vez instalado Motion tan solo tenemos que adaptar su configuración a nuestras necesidades.\nAntes de modificar la configuración realizaremos una copia de seguridad del archivo de configuración. Para ello ejecutamos el siguiente comando en la terminal:\nsudo cp /etc/motion/motion.conf /etc/motion/motion.conf.bak Una vez realizada la copia de seguridad editaremos el fichero de configuración ejecutando el siguiente comando en la terminal:\nsudo nano /etc/motion/motion.conf Una vez dentro del fichero de configuración podemos modificar los siguientes parámetros:\nModo de ejecución de Motion Para configurar el modo en que se inicia Motion deben modificar los siguientes parámetros:\nParámetro Valor daemon on (De esta forma Motion se ejecutará en segundo plano. Elegir la opción off puede ser útil para detectar errores en la ejecución del programa.) setup_mode off (permite activar o desactivar el modo de configuración. Si cambiamos el parámetro a on activaremos el modo de configuración. El modo configuración nos mostrará más información de lo normal para intentar ajustar el funcionamiento de motion. En mi caso recomiendo dejarlo en off. Si queremos arrancar en modo configuración lo podemos hacer ejecutando el comando sudo motion -s) Configuración de las imágenes capturadas por la cámara Con los siguientes parámetros del archivo de configuración podemos configurar las imágenes capturadas por nuestra cámara o webcam:\nParámetro Valor rotate 0 (Indicar la rotación que queremos aplicar a las imágenes capturadas por la cámara. Posibles valores de este parámetro son 0, 90, 180 o 270.) width 640 (La anchura de las imágenes en píxeles que capturará nuestra cámara.) height 480 (La altura de las imágenes en píxeles que capturará nuestra cámara.) framerate 5 (Las imágenes por segundo que capturará la cámara. Los valores a elegir son entre 2 y 100 capturas por segundo.) auto_brightness Off (Permite ajustar el nivel de brillo de las imágenes y vídeos de forma automática. Está función únicamente debe activarse en cámaras que dispongan de función autobrillo.) brightness 0 (Indicamos el nivel de brillo que queremos que tengan las imágenes captadas por nuestra cámara. Podemos seleccionar un valor entre 0 y 255.) contrast 0 (Para indicar el nivel de contraste que queremos que tengan las imágenes captadas por nuestra cámara. Podemos seleccionar un valor entre 0 y 255.) saturation 0 (Para indicar el nivel de saturación que queremos que tengan las imágenes captadas por nuestra cámara. Podemos seleccionar un valor entre 0 y 255.) output_pictures on (De esta forma no se borran las imágenes capturadas para realizar el vídeo. Por lo tanto al finalizar la captura tendremos un vídeo y la totalidad de imágenes usadas para construir el vídeo.) quality 75 (Para seleccionar la calidad de las fotografías capturadas. Podemos seleccionar un valor entre 1 y 100 dónde 1 será la peor calidad y 100 la mejor calidad.) picture_type jpeg (Para seleccionar el formato de la foto capturada. Otros formatos posible son ppm o webp.) text_right %Y-%m-%d\\n%T-%q (Definimos el texto que aparecerá en la parte inferior derecha de cada una de las imágenes capturadas. Si queremos queremos que no aparezca ningún texto dejamos la opción en blanco.) picture_filename %v-%Y%m%d%H%M%S-%q (Seleccionar el formato de nombre en que se almacenarán las imágenes capturadas.) Configuración para la codificación del vídeo generado por Motion Para configurar los archivos de vídeo que generará Motion podemos modificar los siguientes parámetros del archivo de configuración:\nParámetro Valor ffmpeg_output_movies on (Con el valor on usamos ffmpeg para codificar los vídeos. Si especificáramos la opción off no se generaría ningún vídeo.) ffmpeg_bps 400000 (Es la tasa de muestreo que se usará en el caso que hayamos seleccionado crear un vídeo con una tasa de muestro constante. En este parámetro podemos usar valores entre 0 y 9999999.) ffmpeg_variable_bitrate 0 (Al seleccionar 0 los vídeos generados dispondrán de una tasa de muestro constante. Si queremos definir una tasa de muestreo variable deberán seleccionar valores entre 2 y 31 donde 31 será la opción que proporciona peor calidad.) ffmpeg_video:codec mkv (Seleccionamos el tipo de contenedor que almacenará nuestro vídeo. En mi caso selecciono mkv pero podemos usar otros contenedores como mpeg4, msmpeg4, swf, flv, ffv1, mov, mp4 y hevc.) movie_filename %v-%Y%m%d%H%M%S (Se define el nombre que tendrán las vídeos capturados por Motion.) Seleccionar la ubicación donde se guardan las fotos y vídeos de Motion Para definir donde se guardaran la totalidad de imágenes y vídeos generados por Motion deberán configurar el siguiente parámetro del archivo de configuración.\nParámetro Valor target_dir /media/downloads (Elegimos la ubicación donde se guardarán las imágenes y vídeos capturados. En mi caso la totalidad de vídeos y fotos se guardarán en la ubicación /media/downloads.) Visualizar el contenido que están captando las webcam Motion dispone de un pequeño servidor web en el que podemos visualizar en tiempo real las imágenes que están captando cada una de las webcam. Para configurar el miniservidor web debemos modificar los siguientes parámetros del archivo de configuración:\nParámetro Valor daemonstream_port 8081 (Definimos el puerto en el que estará estuchando el servidor web que mostrará el contenido captado por las cámaras. Podemos elegir cualquier puerto siempre y cuando esté disponible.) stream_quality 50 (Seleccionamos la calidad de las imágenes que veremos a través de nuestro navegador web. En este parámetro podemos seleccionar un valor de 1 a 100.) stream_maxrate 1 (Definimos las imágenes por segundo que mostrará nuestra cámara web cuando haga funciones de streaming.) stream_localhost off (Seleccionando la opción off cualquier equipo de nuestra red local podrá tener acceso al servidor web que está emitiendo las imágenes captadas por nuestra cámara. Si elegimos la opción on únicamente el equipo que está corriendo Motion podrá acceder a la interfaz web para visualizar el contenido captado por las webcam.) stream_auth_method 2 (Seleccionar el método de autenticación para poder acceder al servidor web y ver lo que está captando nuestra cámara. Otros valores disponibles 0, 1 y 2. En mi caso selecciono el método de autenticación 2 porque es el más seguro. Si no quieren usar ningún método de autenticación seleccionen la opción 0.) stream_authentication usuario:contraseña (Definimos un usuario y contraseña para poder acceder al servidor web. Cada vez que se conecten al servidor web para visualizar el contenido captado por las webcam deberán usar este usuario y contraseña. Este parámetro no tendrá efecto si el valor del parámetro stream_auth_method es 0.) Configurar y controlar Motion a través de una interfaz web Motion dispone una interfaz web para consultar y modificar los parámetros de configuración. Para poder acceder al panel web de configuración deben modificar los siguientes parámetros del archivo de configuración:\nParámetro Valor webcontrol_port 8080 (Definimos el puerto en el que estará estuchando el servidor web que permitirá consultar y modificar los parámetros de configuración de Motion. Podemos elegir cualquier puerto siempre y cuando esté disponible.) webcontrol_localhost off (Seleccionando la opción off podremos acceder al contenido al panel de configuración desde cualquier equipo. En el caso que seleccionáramos la opción on únicamente podríamos acceder al panel de configuración web desde el equipo que está corriendo Motion.) webcontrol_authentication usuario:contraseña (Si en el parámetro stream_auth_method seleccionamos la opción 1 o 2, en webcontrol_authentication definimos el nombre de usuario y contraseña a usar para ingresar en el panel de administración web.) webcontrol_parms 2 (Indicamos la profundidad de parámetros que podemos regular a través de la interfaz web. Podemos seleccionar 0, 1, 2 y 3. En función del número seleccionado podremos modificar más o menos parámetros. Seleccionando la opción 0 no podremos modificar ningún parámetro. La opción que permitirá configurar más parámetros es la 2.) Nota: En el personal no utilizo esta opción. Prefiero modificar la configuración a través del archivo de configuración. Configuración de la sensibilidad de la cámara para que empiece a grabar En el fichero de configuración hay una serie de parámetros que nos permiten configurar la sensibilidad de nuestra cámara. Estos parámetros son los siguientes:\nParámetro Valor threshold 1500 (Para configurar la sensibilidad con la que la cámara empezará a tomar imágenes y grabar vídeo.1500 significa que la cámara empezará a grabar cuando detecte que al menos 1500 píxeles de la cámara han variado de una imagen a otra. En este apartado podemos seleccionar valores entre 1 y 2147483647.) threshold_tune off (Si el valor es on, Motion ajustará el parámetro treshold de forma automática. En mi caso tengo seleccionada la opción off.) noise_level 32 (Parámetro que se usa para que el ruido de la cámara no genere falsos positivos de movimiento. Podemos elegir un número entre el 1 y el 255. Cuanto más grande sea el número menor será el número de falsos positivos. El número que asignamos a este parámetro da una tolerancia a la variación de cada uno de los píxeles de la imagen que capta la cámara. Este parámetro se tiene que tener en cuenta en ambientes oscuros.) noise_tune on (Si el valor es on, Motion ajustará de forma automática el parámetro noise_level. Si es off siempre aplicará el valor que asignamos al parámetro noise_level.) lightswitch 0 (Valor entre el 0 y el 100 que sirve para ignorar o no ignorar los cambios repentinos de luz. Con el valor 0 no se ignorarán los cambios repentinos de luz. Por lo tanto, cuando una habitación esté oscura y se encienda la luz se empezará a capturar imágenes y vídeo.) Parámetros de configuración para realizar un timelapse Motion puede ser usado para otros menesteres como por ejemplo realizar un timelapse. Para ello dentro del fichero de configuración disponemos de los siguientes parámetros:\nParámetro Valor timelapse_interval 60 (Frecuencia en segundos con que se realizará una captura de imagen para realizar un timelapse. En este parámetro se puede elegir un valor entre 0 y 2147483647 segundos) timelapse_mode daily (Indica la frecuencia con que se generará el vídeo que contiene el timelapse. La totalidad de valores que podemos elegir son hourly, daily, weekly-sunday, weekly-monday, monthly y manual.) timelapse_fps 30 (Las imágenes por segundo que contendrá el timelapse que se creará.) timelapse_codec mpg (Para seleccionar el contenedor de vídeo en el que se almacenará el timelapse. Tenemos 2 opciones disponibles, mpg y mpeg4.) timelapse_filename %Y%m%d-timelapse (para determinar el nombre que tendrá el vídeo que contiene el timelapse.) Si en el fichero de configuración introducimos los parámetros que acabamos de leer en la tabla obtendremos el siguiente resultado:\nRealizaremos un timelapse de las imágenes capturas durante 1 día. Se capturará una imagen cada 60 segundos. Por lo tanto se realizará un timelapse que contendrá 1440 imágenes. En cada segundo del timelapse se mostrarán 30 imágenes por segundo. Por lo tanto la duración del vídeo que contendrá el timelapse será de 48 segundos. El contenedor del vídeo que generaremos será .mpg. Realizar capturas de imagen de forma periódica Si tan solo pretendemos usar Motion para realizar una captura de pantalla cada X segundos podemos usar los siguientes parámetros en el fichero de configuración\nParámetro Valor snapshot_interval 0 (Para realizar una captura de imagen cada x segundos. Si seleccionamos 0 no se hará ninguna captura de imagen. Si usamos el valor 10 se capturará una imagen cada 10 segundos.) snapshot_filename %v-%Y%m%d%H%M%S-snapshot (Para definir el nombre que tendrán las capturas de imagen.) Configurar más de una cámara en el sistema de videovigilancia Para usar varias cámaras con el software Motion tenemos que tener en cuenta los siguientes aspectos.\nLas configuraciones especificadas en el archivo /etc/motion/motion.conf se aplicarán a todas las cámaras del sistema de videovigilancia.\nSi queremos realizar una configuración específica a una de las cámaras deberemos usar los siguientes archivos de configuración:\n/etc/motion/camera1.conf /etc/motion/camera2.conf /etc/motion/camera3.conf /etc/motion/camera4.conf Por lo tanto, para trabajar con 2 cámaras deberemos editar 3 ficheros que son los siguientes:\nEl fichero (/etc/motion/motion.conf) que contendrá la configuración común para las 2 cámaras. El segundo fichero (/etc/motion/camera1.conf) que contendrá la configuración específica para la cámara 1. El último fichero (/etc/motion/camera2.conf) que especificará la configuración para la cámara 2. A modo de ejemplo. Si tenemos 2 cámaras y queremos que cada una de las cámaras guarde las fotos y vídeos en una ubicación específica accedemos al archivo de configuración principal ejecutando el siguiente comando en la terminal:\nsudo nano /etc/motion/motion.conf Acto seguido localizamos las siguientes líneas y las comentamos:\n# videodevice /dev/video0 # target_dir /media/downloads Seguidamente, al tener 2 cámaras tenemos que buscar y descomentar las siguientes líneas:\ncamera /etc/motion/camera1.conf camera /etc/motion/camera2.conf Finalmente guardamos los cambios y cerramos el fichero.\nEl siguiente paso consiste en definir la ubicación donde guardará las imágenes y vídeos la primera de las cámaras. Para ello ejecutamos el siguiente comando en la terminal:\nsudo nano /etc/motion/camera1.conf Cuando se abra el editor de textos nano definiremos la videocámara que estamos configurando y la ubicación donde guardaremos las imágenes y los vídeos. Para ello escribiremos el siguiente código:\nvideodevice /dev/video0 target_dir /media/downloads/camara1 Una vez realizados los cambios los guardamos y cerramos el fichero. Ahora tan solo tenemos que repetir el mismo proceso para la segunda cámara. Para ello ejecutamos le siguiente comando en la terminal:\nsudo nano /etc/motion/camera2.conf Al abrirse el editor de textos nano pegamos el siguiente código:\nvideodevice /dev/video1 target_dir /media/downloads/camara2 Finalmente guardamos los cambios y cerramos el fichero. La próxima vez que reiniciemos Motion, la cámara 1 y la cámara 2 funcionarán del mismo modo, pero con la siguiente particularidad:\nLa totalidad de imágenes y vídeos captados por la cámara 1 serán almacenados en la ubicación /media/downloads/camara1. Las imágenes y vídeos de la cámara 2 serán almacenados en la ubicación /media/downloads/camara2. OTROS PARÁMETROS PARA CONFIGURAR MOTION Dentro del fichero de configuración existen más parámetros que no se han mencionado en este artículo. Si los quieren consultar pueden visitar la siguiente página web:\nhttp://www.lavrsen.dk/foswiki/bin/view/Motion/ConfigFileOptions\nCOMO INICIAR EL SISTEMA DE VIDEOVIGILANCIA MOTION Para iniciar el sistema de videovigilancia tan solo tenemos que ejecutar el siguiente comando en la terminal:\nsudo motion Acto seguido se activará el sistema de videovigilancia y empezaremos a obtener resultados.\nSi queremos que Motion se inicie de forma automática al iniciar nuestro equipo tenemos que ejecutar el siguiente comando en la terminal:\nsudo nano /etc/default/motion Cuando se abra el editor de textos cambiamos la siguiente linea:\nstart_motion_daemon=no por la siguiente:\nstart_motion_daemon=yes De este modo, cada vez que arranquemos o reiniciemos nuestro equipo se activará el sistema de videovigilancia de forma automática.\nCOMPROBAR QUE MOTION ESTA FUNCIONANDO Para comprobar que Motion está funcionando de forma adecuada podemos realizar las siguientes comprobaciones.\nComprobar que se están generando las imágenes y vídeos Una vez iniciado Motion accedemos a la ubicación que almacena las imágenes y vídeos. Si el sistema de videovigilancia a detectado algún tipo de movimiento veremos que está capturando imágenes y vídeos.\nSi visualizamos una imagen o vídeo podremos ver las lo que ha captado el sistema de videovigilancia.\nNota: Las imágenes captadas por mi webcam se ven borrosas por diversos motivos. En el caso que tengáis una webcam decente las imágenes se verán perfectas. Acceder al servidor web para visualizar y configurar la cámara Para ver las imágenes que está captando nuestra cámara a través de un equipo perteneciente a nuestra red local tenemos que realizar lo siguiente:\nAbrir un navegador web En la barra de direcciones hay que escribir IP del equipo en que instalamos Motion. Seguidamente tecleamos :. Finalmente tecleamos el puerto que está usando el servidor web de Motion y presionamos Enter. Por lo tanto, en mi caso escribo la siguiente dirección en la barra de direcciones y presiono la tecla Enter.\n192.168.1.200:8081 El resultado obtenido es el siguiente:\nSi lo precisamos, mediante port forwarding también podremos visualizar lo que está captando nuestra cámara de seguridad desde cualquier ubicación fuera de nuestra red local.\nSi queremos acceder al panel de administración web tan solo tenemos que cambiar el puerto 8081 por el puerto en que está escuchando el panel de administración web. Por lo tanto en mi caso la dirección a introducir en la barra de direcciones de mi navegador es la siguiente:\n192.168.1.200:8080 COMO ARRANCAR Y PARAR EL SISTEMA DE VIDEOVIGILANCIA Si en algún momento queremos parar el sistema de videovigilancia tan solo tenemos que acceder a una terminal local o remota y ejecutar el siguiente comando:\nsudo killall motion Si quieren volver a arrancar el servicio de videovigilancia tendrán ejecutar el siguiente comando en la terminal:\nsudo motion En el caso que únicamente pretendan saber si el servicio está activo pueden ejecutar el siguiente comando en la terminal:\nsudo service motion status RECOMENDACIONES ÚTILES EN EL CASO QUE USÉIS MOTION En el artículo únicamente se han mostrado algunas de las opciones que ofrece Motion. Si usan Motion con regularidad les ruego que tengan en cuenta los siguientes consejos:\nPodemos implementar un sistema de alerta vía email. De esta forma cada vez que Motion capte movimiento se nos enviará una notificación vía email. Con el tiempo se acumularan grandes cantidades de imágenes y vídeos que llenarán nuestra capacidad de almacenamiento. Para solucionar este inconveniente podemos crear un trabajo cron que borre el contenido del directorio que almacena fotos y vídeos de forma periódica. Mediante un software como rclone podemos subir las imágenes y vídeos generados a una nube privada. Mediante los trabajos cron podemos programar el sistema de videovigilancia para que se inicie y pare en las horas que nosotros creamos conveniente. Si quieren añadir recomendaciones adicionales las pueden dejar en los comentarios del artículo.\n","permalink":"https://geeklandlinux.github.io/posts/sistema-de-videovigilancia-motion/","summary":"\u003cp\u003eEn el siguiente artículo veremos como usar una Raspberry Pi o cualquier equipo con Linux para poder montar un sistema de videovigilancia. Para ello utilizaremos el software Motion y una simple webcam USB.\u003c/p\u003e","title":"Sistema de videovigilancia con detector de movimiento Motion"},{"content":"La privacidad en la red es una batalla prácticamente pérdida, pero existen formas de minimizar la información proporcionamos a terceros. También es útil y saludable ser consciente de la información que estamos proporcionando en todo momento. Por este motivo en el siguiente artículo veremos la información que nuestro navegador está entregando a terceros cuando estamos navegando.\nNota: La información del artículo hace referencia a la información entregada por nuestro navegador. La información del artículo no contempla la información que pueden entregar las cookies y cross-site cookies. INFORMACIÓN SOBRE NUESTRA UBICACIÓN GEOGRÁFICA La totalidad de navegadores web disponen de una API que revela nuestra ubicación a las web que visitamos. Las utilidades de esta API son varias. Algunas de ellas son las siguientes:\nBloquear contenidos de internet en una determinada región o país. Proporcionar una versión de la web adaptada a las necesidades de cada país. De este modo si accedemos a una web desde Estados Unidos se mostrará en Inglés, pero si accedemos desde España se mostrará en Español. Obviamente el navegador no mostrará nuestra ubicación exacta porqué la API del navegador nos geoposiciona a través de nuestra IP pública. Las IP públicas solo dan una idea aproximada del país, región o ciudad desde que nos conectamos. En muchos casos los errores del servicio de geolocalización son importantes por el siguiente motivo:\nLos servicios de geolocalización solo son capaces de mostrar la posición que nuestro proveedor de Internet ha asignado a una determinada IP. Normalmente, la dirección asignada a una IP es la central del ISP más próxima a nuestra ubicación real. Por lo tanto, si vivimos en poblaciones pequeñas alejadas de la sede de nuestro proveedor de Internet se pueden producir errores de localización importantes.\nSi nos conectamos desde una empresa es posible que nuestra IP revelé nuestra ubicación real. El motivo es que las empresas acostumbran a disponer de servicios de IP pública fija que están registrados a nombre de la compañía.\nPor lo tanto, en la mayoría de casos una IP no revela nuestra posición real. Para que alguien pueda identificarnos y conocer nuestra ubicación real a través de la IP tendría que llamar a nuestro proveedor de Internet y preguntarle a que cliente corresponde una determinada IP.\nDATOS DE NUESTRO SISTEMA OPERATIVO Los navegadores web proporcionan diversos datos sobre nuestro equipo. Algunos ejemplos de la información proporcionada son los siguientes:\nEl navegador web que estamos usando. La versión de navegador que estamos usando. Si usamos una versión de navegador obsoleta, un atacante puede intentar aprovechar algún agujero de seguridad existente. Los plugins que está usando nuestro navegador. La marca y el modelo de la tarjeta gráfica que estamos usando. La resolución de nuestro monitor. El número de núcleos de nuestro procesador. La arquitectura de nuestro procesador. Saber si nuestro equipo dispone de una cámara web. Etc. Nota: Gran parte de estos datos son proporcionados por WebGL, Canvas, Silverlight, Flashplayer, la forma en que se renderizan las fuentes, etc. Todos los datos mencionados en este apartado, conjuntamente con los datos mencionados en el resto de apartados, pueden ser utilizados para realizar un perfil e intentar identificar un usuario.\nDATOS SOBRE LA BATERÍA DE NUESTRO DISPOSITIVO Los grandes navegadores como Firefox, Opera y Chrome tienen la capacidad de informar sobre los siguientes aspectos de nuestra batería:\nEl nivel de carga actual de nuestra batería. Información si la batería se está cargando o descargando. El tiempo que tardará en cargarse o descargarse completamente. Esta característica puede ser utilizada para mejorar la experiencia de los lectores que visitan una web. Existen web que si detectan que tienes un nivel de carga bajo son capaces de mostrarte una versión reducida para minimizar el consumo de batería.\nNo obstante estos datos también pueden ser usados para otros propósitos como por ejemplo invadir nuestra privacidad. Por ejemplo:\nEl nivel de carga actual conjuntamente con el tiempo que la batería tardará en cargarse o agotarse es un dato muy útil a la hora de crear perfiles de usuario. Determinados servicios online, como por ejemplo pedir un taxi, hacer el booking de un hotel, comprar un billete de avión, etc. pueden aprovecharse y pedirnos más dinero si ven que nuestro nivel de carga es bajo. Etc. INFORMACIÓN SOBRE NUESTRA RED LOCAL La gran mayoría de navegadores traen habilitado WebRTC (Web Real-Time Communication). WebRTC facilita las llamadas de voz, chats de vídeo y transferencias de archivos, pero también trae inconvenientes.\nWebRTC proporciona nuestra IP local y pública a los administradores de las web que visitamos. Esto sin duda hace que nuestra red local sea menos segura ya que si un atacante conoce nuestra IP pública y local puede atacarnos.\nEn este apartado es importante remarcar que da igual que usemos un proxy o una conexión VPN. Aunque usemos estás tecnologías, WebRTC es capaz de filtrar nuestras direcciones IP.\nVELOCIDAD DE DESCARGA DE NUESTRA CONEXIÓN DE INTERNET El navegador es capaz de proporcionar información sobre la velocidad de descarga de nuestra conexión a Internet.\nEsta información puede ser útil a webs que proporcionan vídeos en streaming. De este modo pueden adaptar la calidad de los vídeos en función de nuestra velocidad de descarga. No obstante es otro dato que se puede usar para crear un identificador de usuario.\nESCANEAR DISPOSITIVOS CONECTADOS A NUESTRA RED LOCAL Toda web que visitamos tiene la capacidad de escanear nuestra red local en busca de dispositivos sin pedir permiso. Esto sin duda vulnera nuestra privacidad y puede ser un agujero de seguridad a explotar por un atacante.\nLa forma de conocer los dispositivos y servicios de nuestra red local es simple. La web a la que nos conectamos puede ir realizando peticiones a posibles recursos dentro de nuestra red local. Si no se obtiene ninguna respuesta significa que el recurso no existe, mientras que si se obtiene una respuesta obviamente existe el recurso.\nEste tipo de información puede ser aprovechada para realizar ataques del tipo DNS rebinding. Con este tipo de ataques, un atacante puede ser capaz de robar información que tenemos almacenada dentro de nuestra red local.\nACCESO A LOS DATOS DEL GIROSCOPIO Y ACELERÓMETRO DE NUESTRO DISPOSITIVO MÓVIL Este apartado afecta mayoritariamente a dispositivos móviles y algunos ordenadores portátiles.\nEl navegador es capaz de proporcionar información sobre aceleraciones y orientación de nuestro dispositivo móvil. Esto es útil para que los servicios web puedan proporcionar un servicio adaptado a las necesidades del cliente. Pero también puede ser usado para otros fines como por ejemplo intentar identificar las actividades que estamos realizando. Mediante los datos proporcionados por el acelerómetro y el giroscopio podemos averiguar si alguien está realizando ciertas actividades como por ejemplo:\nAndar. Correr a pie o en bicicleta. Etc. En si no son datos críticos que vulneren de forma flagrante nuestra privacidad, pero un pequeño detalle unido con otros pequeños detalles ayudan a construir un identificador de usuario.\nCONOCER LAS REDES SOCIALES EN QUE ESTAMOS LOGUEADOS Bajo ciertas circunstancias nuestro navegador es capaz de proporcionar información sobre si estamos conectados a una determinada red social como por ejemplo Google, Flickr, Twitch, etc.\nUn administrador web con buenas intenciones usará esta información para los siguientes propósitos:\nSaber las redes sociales en que tiene que participar más. Definir los botones de compartir que introduce en su web. Decidir si es apropiado invertir en Facebook Ads. Tomar decisiones sobre acciones de marketing a implementar. Etc. Un administrador web o un servidor web comprometido usará estos datos para construir un identificador de usuario.\nDATOS PERSONALES FILTRADOS POR LA OPCIÓN AUTORELLENAR Cuando se usa la función autorellenar hay que ir con cuidado. En el momento de usar esta función es posible que nuestro navegador también rellene información que está oculta de nuestros ojos. Esta información oculta a nuestros ojos puede ser información importante como por ejemplo\nNuestro puesto de trabajo. Un número de teléfono. Un email. El número de nuestra tarjeta de crédito. Cualquier otra información que hayamos introducido en un formulario online. Por este motivos tenemos que ser especialmente cuidadosos a la hora de usar la función autorellenar que traen la mayoría de navegadores. También es altamente recomendable que usen navegadores web actualizados.\nNo se tomen en broma este apartado. En mi caso el navegador Chrome de mi Android es vulnerable a este tipo de prácticas. Pueden consultar la siguiente URL para comprobar que no sean vulnerables a este tipo de ataque:\nhttps://robinlinus.github.io/autofill-phishing/\nNota: La función autorellenar también puede suministrar información sensible en el caso que prestemos un ordenador a un tercero. DATOS PERSONALES OBTENIDOS MEDIANTE LA EJECUCIÓN DE CÓDIGO MALICIOSO Si nuestro navegador es vulnerable y/o está mal configurado podemos ser víctimas de ataques Clickjacking.\nUn ataque de Clickjacking consiste en que de forma inocente una web maliciosa o comprometida nos haga presionar sobre un link o un botón. En el momento de clicar en un link o botón malicioso puede suceder lo siguiente:\nEjecutar un script o un código embedido que nos robe información o tome el control de nuestro equipo. Ser redireccionado a una web falsa para robarnos información y/o mostrar publicidad. Etc. De forma inocente y sin querer podemos dar permisos para que un atacante ejecute código remoto en nuestro equipo. Por lo tanto cuando naveguéis hay que ser extremadamente cuidadosos.\nCOMPROBAR LA INFORMACIÓN QUE PROPORCIONA NUESTRO NAVEGADOR Existen varios servicios que nos advierten de la información que está proporcionando nuestro navegador. Algunos de los servicios que recomiendo que consulten son los siguientes:\nhttps://browserleaks.com/\nhttp://webkay.robinlinus.com/\nhttps://panopticlick.eff.org/\nDespués de visitar estos tres servicios os podréis hacer una idea más clara de la totalidad de información que nuestro navegador está entregando.\nMEDIDAS PARA MINIMIZAR LA INFORMACIÓN QUE PROPORCIONA NUESTRO NAVEGADOR Existen opciones para minimizar la información que nuestro navegador entrega a los servidores web que se conecta. Algunas de estas opciones son las siguientes:\nUsar el sentido común mientras estamos navegando. Las personas que se preocupan por su privacidad y tienen conocimientos informáticos proporcionarán menos información que el resto de usuarios. Usar extensiones como por ejemplo NoScript. Con extensiones como NoScript bloquearemos la ejecución de scripts de java. Usando esta extensión prácticamente bloquearemos la totalidad de información proporcionada a terceros, pero a cambio algunas funciones de las webs que visitamos dejaran de funcionar. Contratar y usar un servicio VPN que sea de calidad y de confianza. De este modo evitaremos dar información sobre cual puede ser nuestra ubicación real. Utilizar un bloqueador de publicidad como uBlock Origin. Ublock Origin no únicamente bloquea la publicidad. Aparte de bloquear la publicidad bloquea las fugas de WebRTC, bloquea webs que intentan minar bitcon, etc. Deshabilitar WebRTC. Los navegador permiten deshabilitar WebRTC, pero tengan en cuenta que en el momento de hacerlo ciertos servicios web, como por ejemplo Spotify web, dejaran de funcionar. También podemos instalar extensiones en nuestro navegador web para bloquear WebRTC. Usar el modo incógnito ayuda a minimizar la fuga de datos. Si navegamos en modo incógnito evitaremos revelar las redes sociales en que estamos logueados, evitaremos los peligros de la función autorellenar, etc. Desactivar la función autorellenar de nuestro navegador. En el artículo se ha explicado de forma clara los riesgos que tiene usar esta función del navegador. Desinstalar Flashplayer, Silverlight y otros complementos en el caso que no los necesiten. Minimizar el uso de extensiones del navegador. Las extensiones del navegador son vectores de ataque y pueden filtrar datos a terceros. Por lo tanto usen las mínimas e imprescindibles. Usar navegadores como Tor browser. Ciertos navegadores, como por ejemplo Tor browser, están configurados para preservar la privacidad de sus usuarios. Algunas de las medidas que se proponen en este aparado pueden romper la funcionalidad de las web que visitamos. Existen muchas partes de las web que necesitan Javascript, WebRTC, etc para funcionar.\nCONCLUSIONES Después de leer el artículo es fácil llegar a la conclusión que ninguno de los navegadores modernos populares respeta la privacidad de sus usuarios.\nSi unimos todos los datos que filtra o puede filtrar un navegador moderno corremos los siguientes riesgos:\nUn tercero puede construir un perfil de usuario único. El perfil de usuario único puede ser vendido para obtener un beneficio económico. También puede ser usado para identificar a un usuario. Ser víctimas de un ataque informático. Mediante los datos que proporciona el navegador un atacante puede robarnos información, comprometer nuestro equipo e incluso puede llegar a comprometer nuestra red local. En el caso que se intenten deshabilitar los mecanismos de proporcionan las fugas de datos nos encontraremos con dificultades como por ejemplo las siguientes:\nCiertas partes de las web dejarán de funcionar. Así de este modo no podremos realizar comentarios en la mayoría de los blogs. Algunas web no se visualizarán de forma correcta. Incluso habrán web que no se podrán ni visualizar. Ciertos servicios web simplemente no funcionarán. Como hemos dicho anteriormente, si deshabilitamos WebRTC no funcionará Spotify web. Por lo tanto, la privacidad estará reñida con las funcionalidades que ofrecen las nuevas tecnologías y algunos servicios web.\n","permalink":"https://geeklandlinux.github.io/posts/datos-filtra-navegador-visitar-web/","summary":"\u003cp\u003eLa privacidad en la red es una batalla prácticamente pérdida, pero existen formas de minimizar la información proporcionamos a terceros. También es útil y saludable ser consciente de la información que estamos proporcionando en todo momento. Por este motivo en el siguiente artículo veremos la información que nuestro navegador está entregando a terceros cuando estamos navegando.\u003c/p\u003e","title":"Datos que nuestro navegador filtra o entrega al visitar una web"},{"content":"Quien quiera probar la experiencia de usar el menú global en un entorno XFCE tan solo tiene que seguir las instrucciones que se muestran en el siguiente artículo. Pero antes de ir al grano pasaremos a ver las ventajas y desventajas que supone el hecho de usar el menú global en un entorno de escritorio.\nVENTAJAS DE USAR EL MENÚ GLOBAL EN UN ENTORNO DE ESCRITORIO El Menú global te puede gustar o no gustar, pero quien lo haya usado sabrá que proporciona los siguientes beneficios:\nMejor aprovechamiento del espacio vertical de nuestro monitor. Si disponemos de un monitor panorámico y una barra lateral aun se aprovechará más el espacio del monitor. Ahorrando espacio vertical de nuestro monitor podremos hacer más grandes los elementos de la ventana en que estamos trabajando. Los elementos grandes son más fáciles de clicar y manipular. Los botones de cerrar, minimizar y maximizar estarán en las esquinas. Los elementos en las esquinas son más fácil de acceder y clicar. Los menús estarán en el panel superior. Por lo tanto será más fácil acceder a los menús ya que tan solo tendremos que tirar el puntero del ratón hacia arriba. DESVENTAJAS DE USAR GLOBAL MENU EN UN ENTORNO DE ESCRITORIO Usar el menú global en XFCE también puede ocasionar inconvenientes. Algunos de ellos son los siguientes:\nEl menú global siempre se mostrará en el panel superior de nuestro escritorio. Por lo tanto las personas que trabajen sin maximizar la pantalla tendrán que hacer un desplazamiento de ratón superior para acceder a los menús. En mi caso esto no es un problema porque siempre acostumbro a trabajar con la pantalla maximizada. El menú global funcionará en la gran mayoría de programas. No obstante existen algunos programas en que no funciona. Esto hará que el entorno de escritorio no sea 100% consistente. Existen menús globales implementados en otros escritorios que solucionan algunos de los problemas mencionados en este apartado. Por ejemplo los menús globales de KDE y Unity son capaces de mostrar los menús de las aplicaciones en la barra de título de las ventanas que no están maximizadas.\nINSTALAR EL MENÚ GLOBAL EN DEBIAN TESTING Para disponer del menú global en Debian testing XFCE tan solo tenemos que instalar el paquete xfce4-appmenu-plugin. Para ello abrimos una terminal y ejecutamos el siguiente comando:\nsudo apt install xfce4-appmenu-plugin Acto seguido se instalará el paquete xfce4-appmenu-plugin y el resto de sus dependencias. De esta forma tan sencilla ya tendremos todo lo necesario para disponer del menú global en XFCE.\nNota: Distribuciones como por ejemplo Manjaro, Archlinux o MX Linux también disponen del paquete xfce4-appmenu-plugin en sus repositorios. UBICAR LOS BOTONES DE CERRAR, MINIMIZAR Y MAXIMIZAR EN PANEL SUPERIOR DE XFCE El escritorio que bajo mi punta de vista ha desarrollado mejor el menú global ha sido Unity. Para poder obtener una experiencia similar al escritorio Unity aconsejo instalar el plugin xfce4-windowck-plugin.\nEl plugin xfce4-windowck-plugin nos permitirá realizar las siguientes configuraciones:\nMostrar los botones de cerrar, minimizar y maximizar en el panel superior de XFCE. Mostrar el título de la ventana en el panel superior de XFCE. Mostrar el icono de la ventana en el panel superior de nuestro entorno de escritorio. La forma más fácil de instalar este plugin en Debian es acceder a los repositorios de MX Linux y descargar el plugin. Para ello accedemos a la siguiente URL:\nhttp://mxrepo.com/mx/repo/pool/main/x/xfce4-windowck-plugin/\nActo seguido descargamos el archivo .deb que corresponda a nuestra arquitectura. En mi caso descargo el archivo xfce4-windowck-plugin_0.4.4-1mx17+1_amd64.deb.\nUna vez descargado el paquete lo instalamos usando el instalador de paquetes gdebi.\nA partir de estos momentos tenemos todo lo necesario para poder usar el menú global en XFCE.\nNota: Distribuciones como por ejemplo Manjaro, Archlinux o MX Linux disponen del paquete xfce4-windowck-plugin en sus repositorios. CONFIGURAR EL ENTORNO DE ESCRITORIO PARA ACTIVAR Y USAR EL MENÚ GLOBAL Para empezar a usar el menú global tan solo falta configurar los paneles de nuestro escritorio XFCE. Para ello tan solo tenemos que seguir las siguientes indicaciones\nConfiguración del panel superior de XFCE Para obtener una buena experiencia es necesario crear un panel superior en nuestro escritorio XFCE.\nPara crear y configurar el panel superior abriremos una terminal y ejecutaremos el siguiente comando:\nxfce4-panel --preferences Cuando aparezca la ventana de configuración de los paneles clicaremos en el icono Añadir un panel nuevo.\nUna vez creado el panel lo arrastramos al extremo superior izquierdo.\nSeguidamente aplicamos la siguiente configuración al panel que acabamos de crear.\nA continuación clicamos en la pestaña Apariencia y aplicamos la siguiente configuración:\nEl siguiente paso consiste en clicar sobre la pestaña Elementos. Dentro de la pestaña Elementos añadiremos los elementos que incluirá el panel superior de XFCE. Para añadir el primero de los elementos clicamos en el botón +.\nA continuación añadimos el elemento Window Header – Buttons para que se muestren los botones de abrir, cerrar y maximizar a la izquierda del panel superior. Para ello seleccionamos el elemento Window Header – Buttons y presionamos en el botón Añadir.\nEl siguiente elemento que tenemos que añadir es el AppMenu plugin. Este elemento será el encargado que se muestre el menú global en nuestro panel superior de XFCE. Para añadir el elemento lo buscamos en la lista, lo seleccionamos y acto seguido presionamos sobre el botón Añadir.\nDel mismo modo que hemos añadido Window Header – Buttons y AppMenu plugin, en mi caso también añado los siguientes elementos en el orden que especifico:\nSeparador. Complemento de pulseaudio. Aviso de nuevos correos. Área de notificación. Fecha y hora. Actualización del tiempo. Selector de áreas de trabajo. Separador. Botón de acción. Nota: Si lo creen conveniente pueden modificar el orden y los elementos añadidos al panel en función de sus preferencias. Si por ejemplo prefieren tener los botones de cerrar y minimizar ventanas a la derecha deberán ubicar el elemento Window Header – Buttons en la última posición. Nota: Si lo creen conveniente también pueden añadir el elemento Window Header – Title. De este modo podrán añadir el título de las ventanas en el panel superior. En mi caso no me gusta esta opción, por lo tanto no la uso. Una vez seleccionados todos los elementos presionamos el botón Cerrar.\nSeguidamente configuraremos los elementos del panel superior de nuestro escritorio XFCE. Para ello seleccionamos el elemento Window Header -Buttons y presionamos el botón Editar el elemento seleccionado.\nA continuación configuraremos el comportamiento de los botones que aparecen en el panel superior de XFCE. Podremos configurar diversos aspectos como por ejemplo:\nEl tema de los botones que se mostrarán en el panel. El orden en que aparecen los botones de cerrar, minimizar y maximizar. Las circunstancias en que se mostrarán los botones en el panel superior. En mi caso la configuración seleccionada es la siguiente:\nUna vez finalizada la configuración de Window Header -Buttons configuraremos el elemento AppMenu Plugin. Por lo tanto, seleccionamos el elemento AppMenu Plugin y presionamos el botón Editar el elemento seleccionado.\nSeguidamente aparecerá la ventana de configuración del menú global en la que podremos configurar las siguientes opciones:\nMostrar el menú global expandido o con todos los menús dentro de un menú. Resaltar el nombre de las aplicaciones en negrita. Expandir el plugin dentro del panel de XFCE. En mi caso la configuración de este elemento es la siguiente:\nA continuación configuraremos el resto de elementos del panel superior hasta obtener un resultado similar al siguiente:\nConfigurar un panel lateral para el escritorio XFCE Para crear y configurar el panel lateral de nuestro escritorio XFCE abriremos una terminal y ejecutaremos el siguiente comando:\nxfce4-panel --preferences Una vez se abra la ventana de configuración de los paneles, presionaremos el botón + para crear un nuevo panel.\nA continuación aplicamos la siguiente configuración al panel que acabamos de crear.\nSeguidamente arrastramos el panel que acabamos de configurar al extremo superior izquierdo de forma que se integre adecuadamente con el panel superior de XFCE.\nNota: Si no se integra bien deberéis jugar con el tamaño y posicionamiento de los panales para conseguir que se vea perfecto. Al igual que hicimos en el apartado anterior, nos dirigimos a la pestaña Elementos y añadimos los siguiente elementos a nuestro panel vertical:\nMenú Whisker. Menú de directorios. Separador. Separador. Separador. Botones de ventanas. A continuación configuraremos los elementos del panel. Para ello seleccionamos el elemento Botones de ventanas y presionamos encima del botón Editar el elemento seleccionado.\nLa configuración de los botones de ventanas aplicada en mi caso es la siguiente:\nUna vez finalizada la configuración del primer elemento seguiremos con el resto de elementos hasta conseguir un aspecto similar al siguiente:\nNota: El aspecto final conseguido se parece al escritorio Unity. Es posible que algunos usuarios de XFCE encuentren el comportamiento de la barra lateral de XFCE demasiado simple. Si lo creen conveniente pueden usar Dockbarx .Dockbarx ofrece una funcionalidad similar a la barra de tareas de Windows. El aspecto de la barra lateral con DockbarX es parecido al siguiente:\nOcultar los marcos de las ventanas maximizadas Para obtener una mejor experiencia tenemos que ocultar el marco de las ventanas cuando las maximizamos. Para ello abrimos una terminal y ejecutamos el siguiente comando:\nxfwm4-tweaks-settings Cuando se abran los ajustes del gestor de ventanas de XFCE clicamos en la pestaña Accesibilidad. Seguidamente activamos la opción Esconder el marco de la ventana cuando esté maximizada. Finalmente presionamos el botón Cerrar.\nA partir de estos momentos, cada vez que maximicemos una ventana se ocultarán sus marcos.\nAsegurar que los menús de los programas únicamente se muestren en el panel superior Para que los menús no se muestren en las ventanas y asegurar que únicamente se muestran en el panel superior de nuestro entorno de escritorio tienen que ejecutar los siguientes comandos en la terminal:\nxfconf-query -c xsettings -p /Gtk/ShellShowsMenubar -n -t bool -s true xfconf-query -c xsettings -p /Gtk/ShellShowsAppmenu -n -t bool -s true xfconf-query -c xsettings -p /Gtk/Modules -n -t string -s \u0026#34;appmenu-gtk-module\u0026#34; Nota: Si alguna vez quieren quieren revertir el comportamiento definido en este apartado tan solo tienen que volver a ejecutar los comandos cambiando los valores True por False. PROGRAMAS EN LOS QUE FUNCIONARÁ EL MENÚ GLOBAL El menú global funcionará en la gran mayoría de programas. Funcionará tanto en programas GTK2, GTK3 y Qt.\nExisten casos en que algunos programas no funcionarán por los siguientes motivos:\nProgramas que en su código no declaran de forma adecuada que disponen de un menú. Programas que únicamente usan las ventanas de Gnome Shell. Un ejemplo de este tipo de aplicaciones es Corebird. No obstante, como se ha comentado anteriormente el menú global funciona en prácticamente la totalidad de aplicaciones.\nTECLAS IMPORTANTES EN EL USO DEL MENÚ GLOBAL Cuando se usa el menú global puede resultar un poco molesto maximizar y minimizar ventanas. Para facilitar tal tarea podemos hacer uso de la tecla ALT.\nCuando tengamos una ventana maximizada y la queramos minimizar tan solo tenemos que presionar al tecla ALT + Hacer doble clic con el botón izquierdo del ratón en cualquier parte de la ventana que queramos minimizar.\nUna vez minimizada la ventana también la podemos volver a maximizar. Para ello tan solo tenemos que repetir el proceso anterior presionado la tecla ALT + Hacinedo doble clic con el botón izquierdo del ratón.\n","permalink":"https://geeklandlinux.github.io/posts/usar-menu-global-debian-xfce/","summary":"\u003cp\u003eQuien quiera probar la experiencia de usar el menú global en un entorno XFCE tan solo tiene que seguir las instrucciones que se muestran en el siguiente artículo. Pero antes de ir al grano pasaremos a ver las ventajas y desventajas que supone el hecho de usar el menú global en un entorno de escritorio.\u003c/p\u003e","title":"Instalar y usar el menú global en Debian con el escritorio XFCE"},{"content":"En el pasado hable de como firmar y cifrar documentos en Libreoffice con OpenPGP. Como continuación de estos artículos veremos como podemos firmar todo tipo de documentos e emails usando certificados X509 obtenidos a través de una autoridad certificadora de confianza como es Comodo.\nUTILIDADES QUE TIENE FIRMAR DOCUMENTOS E EMAILS Las utilidades que puede tener firmar un pdf, un documento o un email son varias. Algunas de ellas son las que se detallan a continuación:\nGarantizar la integridad del contenido de un email o de un documento. Si la firma de un documento o de un email es correcta tendremos garantías que nadie ha manipulado su contenido. Asegurar la autenticidad. Si un documento está firmado correctamente podemos tener la garantía que proviene de quien realmente dice ser. Este aspecto puede ser útil cuando una persona o entidad nos envía una factura. Responsabilidad por parte del firmante. Si una persona o entidad firma un email o un documento, no podrá negar que en su día tomo ciertos compromisos. ¿QUÉ NECESITAMOS PARA FIRMAR UN DOCUMENTO O UN EMAIL? Existen una serie de condiciones para seguir las instrucciones de este artículo y poder firmar documentos y emails. Estas condiciones son las siguientes:\nDisponer de un certificado criptográfico con el estándar X509. El certificado criptográfico X509 nos servirá para firmar los documentos y los e emails. Disponer del siguiente software: La suite ofimática Libreoffice, Thunderbird y Firefox. OBTENER UN CERTIFICADO X509 DE UNA AUTORIDAD CERTIFICADORA Existen varias autoridades de certificación que emiten certificados X509. Lo habitual es que la gran mayoría de autoridades de certificación sean de pago, pero afortunadamente existen algunas que son gratuitas. Algunas de ellas son las siguientes:\nComodo: Conocida compañía que emite certificados SSL. Cacert: Proyecto de código abierto cuyo objetivo es promover el conocimiento y la educación sobre la seguridad informática. En mi caso uso la opción de Comodo porque Libreoffice, Microsoft Office y la gran mayoría de clientes de email son capaces de validar las firmas de Comodo sin ningún tipo de problema.\nGENERAR E INSTALAR UN CERTIFICADO X509 DE COMODO Para crear el certificado X509 de Comodo tan solo tenemos que acceder a la siguiente URL y clicar en el botón Sign Up Now.\nActo seguido se abrirá el formulario para crear el certificado. Una vez aparezca el formulario lo rellenamos y presionamos el botón Next.\nSeguidamente aparecerá la siguiente pantalla informando que se nos han enviado las instrucciones de instalación del certificado vía email.\nPor lo tanto abrimos nuestro correo, localizamos el email enviado por Comodo, lo abrimos y clicamos en el botón Click \u0026amp; Install Comodo Email Certificate.\nActo seguido se abrirá nuestro navegador predeterminado, que en mi caso es Firefox, y nos debería salir un mensaje informando que el certificado se ha instalado.\nNota: Para no tener ningún problema en la aplicación de este apartado recomiendo usar Firefox como navegador predeterminado. REALIZAR UNA COPIA DE SEGURIDAD DE NUESTRO CERTIFICADO En estos momentos el certificado está instalado. Ahora tan solo tenemos que realizar una copia del certificado que acabamos de instalar. Los motivos para realizar la copia son los siguientes:\nPoder instalar y usar el certificado en otros programas como por ejemplo Thunderbird. Tener la posibilidad de instalar el certificado en otros equipos. Disponer de una copia de seguridad del certificado. Para realizar la copia de seguridad abrimos Firefox. Seguidamente clicamos en el icono de Abrir menú, y cuando se despliegue el menú clicamos en Preferencias.\nA continuación, en el cuadro de búsqueda escribimos certificados. Seguidamente tenemos que presionar en el botón Ver certificados\u0026hellip;\nSeguidamente, en la pestaña Sus certificados seleccionamos el certificado Comodo que acabamos de instalar y presionamos el botón Hacer copia\u0026hellip;\nEl siguiente paso consiste en dar un nombre a la copia del certificado y seleccionar la ubicación donde queremos guardarla. A continuación presionamos el botón Guardar.\nFinalmente escribimos la contraseña que tendremos que usar para instalar la copia del certificado en otros programas y/o equipos y presionamos el botón Aceptar.\nINSTALAR UN CERTIFICADO X509 EN THUNDERBIRD Para instalar el certificado X509 en Thunderbird usaremos la copia de seguridad que acabamos de realizar. Para ello accedemos en la Preferencias de nuestro gestor de correo.\nActo seguido, en preferencias de Thunderbird clicamos encima de la opción Avanzado. A continuación clicamos encima del botón Administrar certificados.\nSeguidamente, clicamos en el botón importar… para importar el certificado.\nA continuación seleccionamos la copia de seguridad del certificado que hicimos en el apartado anterior. Acto seguido presionamos en el botón Abrir.\nFinalmente escribimos la contraseña para importar el certificado que definimos en el apartado anterior y presionamos el botón Aceptar.\nA partir de estos momentos el certificado se ha importado. Por lo tanto la próxima vez que abramos nuestro gestor de correo Thunderbird seremos capaces de firmar emails sin ningún tipo de problema.\nCONFIGURAR LIBREOFFICE PARA FIRMAR DOCUMENTOS PDF Y ODT Al igual que Thunderbird también tenemos que configurar Libreoffice para que sea capaz de firmar documentos .odt y .pdf. Para ello accedemos al menú Herramientas de Libreoffice y clicamos encima de Opciones…\nA continuación en el menú de la izquierda clicamos encima de la opción Seguridad y acto seguido clicamos sobre el botón Certificado\u0026hellip;\nFinalmente seleccionamos la ruta de Firefox que almacena el certificado X509 que instalamos momentos atrás y presionamos el botón Aceptar.\nEn estos momentos la próxima vez que reiniciemos Libreoffice estaremos en disposición de firmar documentos .odt y .pdf sin ningún tipo de problema.\nINSTRUCCIONES A SEGUIR PARA FIRMAR UN DOCUMENTO PDF U ODT CON LIBREOFFICE Firmar un documento .odt o .pdf en Libreoffice es extremadamente sencillo. Tal y como pueden ver en la captura de pantalla, tienen que realizar los siguientes pasos:\nAbrir el archivo .pdf o .odt que necesitamos firmar. Acceder dentro del menú Archivo. Dentro del menú Archivo posicionar el puntero del ratón en la opción Firmas digitales. Cuando se despliegue el submenú clican encima de la opción Firmas digitales\u0026hellip; A continuación clicamos encima del botón Firmar documento\u0026hellip;\nFinalmente seleccionamos el certificado que queremos usar para la firma, introducimos una descripción y presionamos el botón Firmar.\nDe esta forma tan simple y sencilla el documento ya estará firmado.\nNota: Siguiendo las instrucciones de este apartado podremos firmar documents .pdf y .odt INSTRUCCIONES A SEGUIR PARA FIRMAR UN EMAIL CON THUNDERBIRD Firmar un email también es muy simple y práctico. Tan solo tenemos que escribir el email de forma habitual. Justo antes de enviar el email clicamos en la pestaña Seguridad y tildamos la opción Firmar digitalmente este mensaje. Una vez tildada la opción ya podemos enviar el email con total normalidad.\n¿CÓMO COMPRUEBAN LOS CLIENTES QUE LAS FIRMAS SON VÁLIDAS? En el momento que el receptor de nuestro documento o email abra nuestro correo o documento, tal y como se puede ver en las capturas de pantalla, se verá alguna evidencia que el documento está firmado y además su firma es válida.\nMuestra de un documento .odt validado por Libreoffice.\nMuestra de un documento .pdf validado por Libreoffice.\nEjemplo de validación de un correo electrónico firmado\nA pesar que la verificación sea correcta es recomendable que además realicen las siguientes comprobaciones:\nVerificar que la firma sea válida. Que el certificado con que se firmado el documento o email no esté caducado. Que la firma pueda ser validada por el software que usamos para leer el email o documento. Si se cumplan las 3 premisas podemos garantizar la autenticidad e integridad del mensaje o documento.\nEn el caso que el software que abre el documento no pueda validar la firma no hay que alarmarse. Los software con que abrimos los documentos firmados no son capaces de validar los certificados de todas las autoridades certificadoras. En estos casos, programas como por ejemplo Adobe Acrobat, permiten añadir autoridades certificadoras de forma manual para que se puedan validar los certificados de una entidad concreta como por ejemplo Comodo.\n","permalink":"https://geeklandlinux.github.io/posts/firmar-documentos-emails-certificado-x509/","summary":"\u003cp\u003eEn el pasado hable de como firmar y cifrar documentos en \u003ca href=\"/posts/firmar-digitalmente-documento-libreoffice/\"\u003eLibreoffice con OpenPGP\u003c/a\u003e. Como continuación de estos artículos veremos como podemos firmar todo tipo de documentos e emails usando certificados X509 obtenidos a través de una autoridad certificadora de confianza como es Comodo.\u003c/p\u003e","title":"Firmar documentos y emails mediante un certificado X509"},{"content":"En el pasado reciente vimos como instalar Nextcloud en una Raspberry Pi con Lighttpd y MariaDB. Una vez finalizada la instalación aún nos queda pendiente la configuración y optimización del rendimiento de Nextcloud. Para ello podemos seguir las siguientes instrucciones.\nNota: Cuantos más usuarios accedan dentro de nuestra nube más importante será el trabajo de optimización. HACER QUE NUESTRO SERVIDOR NEXTCLOUD ESTÉ ACCESIBLE DESDE EL EXTERIOR Si queremos que nuestra nube Nextcloud esté accesible desde cualquier sitio necesitamos lo siguiente:\nDisponer de una IP externa fija o un servicio de direccionamiento DNS. Abrir los puertos correspondientes a nuestro router. Disponer de una IP Externa Fija o un servicio de Direccionamiento DNS Para disponer de un servicio de IP externa fija deben ponerse en contacto con su proveedor de internet. Desafortunadamente, en la mayoría de países los proveedores de internet no ofrecen el servicio de IP externa fija, o en caso de ofrecerlo tiene un coste que no es bajo.\nEn el caso que no sea posible disponer de IP Fija podemos usar un servicio de direccionamiento DNS. En mi caso uso el servicio de NO-IP. Para poder usar y configurar el servicio de NO-IP deben seguir las siguientes instrucciones:\nhttps://geeklandlinux.github.io/posts/encontrar-servidor-con-dns-dinamico/\nSiguiendo las instrucciones del link que acabo de dejar asociaremos nuestra IP pública a un dominio de forma permanentemente. De esta forma Nextcloud siempre estará accesible desde el exterior de nuestra red local mediante un dominio del servicio NO-IP.\nEn mi caso mi IP Pública está asociada al dominio geekland.sytes.net.\nAbrir los puertos 80 y 443 en nuestro router Para podernos conectar a nuestra nube cuando estemos fuera de nuestra red local tenemos que abrir los puertos 80 y 443 en nuestro router.\nPara ello abrimos nuestro navegador, tecleamos la puerta de entrada de nuestro router y presionaremos la tecla Enter. Una vez realizado esto, tal y como se puede ver en la captura de pantalla, se abrirá una ventana que nos pedirá el usuario y contraseña de nuestro router:\nUna vez introducida la información accederemos a la configuración del router. Seguidamente, tal y como se puede ver en la captura de pantalla, tenemos que acceder a los menús Advanced Setup / NAT / Virtual Servers y presionar el botón Add.\nEn en el campo custom server hay que escribir un nombre cualquiera. En mi caso, como estoy abriendo el puerto 80 escribiré Nextcloud http.\nSeguidamente en el campo Server IP Address tenemos que escribir la IP interna en que está instalado Nextcloud. En mi caso he configurado que nuestro Nextcloud tenga la IP estática 192.168.1.200. Por lo tanto en este campo debo escribir la IP 192.168.200.\nEl puerto que queremos abrir es el 80. Por lo tanto, tal y como se puede ver en la captura de pantalla, seleccionamos el protocolo TCP y escribimos el puerto 80 en los puertos internos y externos.\nFinalmente presionamos el botón Apply/Save.\nUna vez finalizado el proceso lo volveremos a repetir, pero ahora en vez de abrir el puerto 80 se abrirá el puerto 443.\nDe esta forma podremos acceder a nuestro Nextcloud desde fuera de nuestra red local.\nINCREMENTAR TAMAÑO MÁXIMO DE SUBIDA EN NEXTCLOUD La configuración estándar de Nextcloud permite subir archivos con un tamaño de hasta 511 MB. En nuestro caso incrementaremos el tamaño a 2GB del siguiente modo:\nInicialmente accedemos al apartado de Configuración de Nextcloud.\nA continuación en el menú de la izquierda clicamos en Configuración adicional.\nFinalmente en el apartado Tamaño máximo de subida sustituimos 511 MB por 2000 MB y presionamos en el botón Guardar.\nDe esta forma tan sencilla podremos subir archivos de hasta 2GB a nuestra nube personal. Si lo precisan también se puede limitar el tamaño de subida a tamaños mucho más pequeños.\nAJUSTAR LA MEMORIA SWAP DE NUESTRO SERVIDOR De forma estándar nuestra Raspberry Pi únicamente dispone de 100 MB de memoria Swap. Para evitar problemas de rendimiento cuando el servidor está sobrecargado es recomendable incrementar la memoria swap hasta 512MB. Para ello en la terminal de nuestra Raspberry Pi ejecutamos le siguiente comando:\nsudo nano /etc/dphys-swapfile Cuando se abra el editor de textos nano reemplazamos la siguiente línea:\nCONF_SWAPSIZE=100 por la siguiente:\nCONF_SWAPSIZE=512 De este modo la siguiente vez que arranquemos nuestra Raspberry Pi dispondremos de más memoria de intercambio.\nMEJORAR EL RENDIMIENTO DE PHP CON OPCACHE Para mejorar el rendimiento de PHP es recomendable usar OPCache. De este modo los scripts de PHP se ejecutarán de forma mucho más rápida y eficiente porque después de la primera ejecución se almacenarán en una memoria cache.\nPara activar OPCache en PHP5 tenemos que ejecutar el siguiente comando en la terminal:\nsudo nano /etc/php5/mods-available/opcache.ini Para activar OPCache en PHP7 tenemos que ejecutar el siguiente comando en la terminal:\nsudo nano /etc/php/7.0/fpm/conf.d/10-opcache.ini Cuando se abra el editor de texto nano pegaremos le siguiente código:\nopcache.enable=1 opcache.enable_cli=1 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=10000 opcache.memory_consumption=128 opcache.save_comments=1 opcache.revalidate_freq=1 Una vez pegado el código guardamos los cambios y cerramos el fichero.\nMEJORAR EL RENDIMIENTO DE LA BASE DE DATOS Y PHP CON REDIS Y APCU También podemos optimizar el rendimiento de la base de datos y PHP con Redis y APCu. Para instalar Redis y APCu procedemos del siguiente modo:\nSi disponemos de PHP5 ejecutamos el siguiente comando en la terminal:\nsudo apt-get install redis-server php5-redis php5-apcu En cambio si usamos PHP7 debemos ejecutar el siguiente comando en la terminal:\nsudo apt-get install redis-server php-redis php-apcu Una vez instalados los paquetes pertinentes accedemos al fichero config.php de Nextcloud ejecutando el siguiente comando en la terminal:\nsudo nano /var/www/html/nextcloud/config/config.php Acto seguido, cuando se abra el editor de textos nano pegamos las siguientes lineas en el fichero:\n\u0026#39;filelocking.enabled\u0026#39; =\u0026gt; true, \u0026#39;memcache.local\u0026#39; =\u0026gt; \u0026#39;\\\\OC\\\\Memcache\\\\APCu\u0026#39;, \u0026#39;memcache.locking\u0026#39; =\u0026gt; \u0026#39;\\\\OC\\\\Memcache\\\\Redis\u0026#39;, \u0026#39;redis\u0026#39; =\u0026gt; array ( \u0026#39;host\u0026#39; =\u0026gt; \u0026#39;localhost\u0026#39;, \u0026#39;port\u0026#39; =\u0026gt; 6379, \u0026#39;timeout\u0026#39; =\u0026gt; 0.0, ), Una vez introducido el código guardamos los cambios y cerramos el fichero.\nNota: La configuración de este apartado es la óptima para un servidor pequeño al que acceden varios usuarios. Pueden consultar configuraciones adicionales en el siguiente enlace. CONFIGURAR HTTPS EN UN NEXTCLOUD CON LIHGTTPD DE FORMA ADECUADA En este apartado hay varias opciones disponibles. Dos de ellas son las siguientes:\nLa primera y más recomendable es la de instalar un certificado SSL de Let’s Encrypt. Es más recomendable porque si usamos un certificado de Let’s Encrypt los navegadores no mostrarán ningún tipo de advertencia cuando accedamos a nuestra nube. La segunda opción es generar nuestro propio certificado SSL. Las instrucciones a seguir para cada una de las 2 opciones se muestran a continuación.\nInstalar y configurar un certificado SSL de Let’s Encrypt en Lighttpd Para instalar, configurar y renovar un certificado SSL de Let’s Encrypt a nuestro servidor web tan solo tenemos que seguir las instrucciones que se muestran en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-certificado-ssl-gratis-lets-encrypt-lighttpd/\nInstalar y configurar un certificado SSL generado por nosotros mismos Si la opción que finalmente elegimos es la de emitir nuestro propio certificado actuaremos de la siguiente forma:\nInicialmente accedemos a la ruta /etc/lighttpd ejecutando el siguiente comando en la terminal:\ncd /etc/lighttpd Seguidamente creamos la carpeta que almacenará los certificados ejecutando el siguiente comando en la terminal:\nsudo mkdir -p certs A continuación accederemos dentro de la carpeta que acabamos de crear ejecutando el siguiente comando en la terminal:\ncd certs El siguiente paso consistirá en crear el certificado SSL lighttpd.pem que será válido durante 730 días. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo openssl req -new -x509 -keyout lighttpd.pem -out lighttpd.pem -days 730 -nodes Una vez creado el certificado modificaremos sus permisos para que únicamente el propietario tenga acceso de lectura.\nsudo chmod 400 lighttpd.pem A continuación accedemos dentro de la configuración del servidor web lighttpd ejecutando el siguiente comando en la terminal:\nsudo nano /etc/lighttpd/lighttpd.conf Al final del archivo pegaremos el siguiente código:\n# Activar y configurar https en el servidor $SERVER[\u0026#34;socket\u0026#34;] == \u0026#34;:443\u0026#34; { ssl.engine = \u0026#34;enable\u0026#34; ssl.pemfile = \u0026#34;/etc/lighttpd/certs/lighttpd.pem\u0026#34; } # Forzar https $HTTP[\u0026#34;scheme\u0026#34;] == \u0026#34;http\u0026#34; { # capture vhost name with regex conditiona -\u0026gt; %0 in redirect pattern # must be the most inner block to the redirect rule $HTTP[\u0026#34;host\u0026#34;] =~ \u0026#34;.*\u0026#34; { url.redirect = (\u0026#34;.*\u0026#34; =\u0026gt; \u0026#34;https://%0$0\u0026#34;) } } # Forzar HTTP Strict Transport Security setenv.add-response-header = ( \u0026#34;Strict-Transport-Security\u0026#34; =\u0026gt; \u0026#34;max-age=15768000; includeSubdomains\u0026#34; ) Acto seguido comprueben que el modulo setenv esté activado. Para ello deberán comprobar que el fichero que estamos editando contenga el siguiente código:\nserver.modules = ( “mod_expire”, “mod_access”, “mod_accesslog”, “mod_auth”, “mod_compress”, “mod_redirect”, “mod_setenv”, “mod_rewrite” ) Una vez modificado el fichero guardaremos los cambios y cerraremos el fichero. Con este código conseguiremos lo siguiente:\nActivar https en el servidor web lighttpd. Forzar que la totalidad de peticiones en Nextcloud se hagan a través de https. Activar TTP Strict Transport Security (HSTS) para asegurar que la totalidad de peticiones de los clientes se hagan mediante el protocolo https. Finalmente tienen que reiniciar el servidor web Lighttpd para que la configuración sea efectiva. Para ello ejecuten el siguiente comando en la terminal\nsudo service lighttpd restart HABILITAR EL MODO DE EJECUCIÓN PHP-FPM (FastCGI Process Manager) En el caso que nuestra nube Nextcloud tenga mucho tráfico es recomendable activar el modo de ejecución PHP-FPM.\nPara activar PHP-FPM deberemos instalar los siguientes paquetes:\nSi están utilizando PHP5 deberán instalar php5-fpm ejecutando el siuguiente comando en la terminal:\nsudo apt-get install php5-fpm En el caso que estén usando PHP7 deberán instlaar php7.0-fpm ejecutando el siguiente comando en la terminal:\nsudo apt-get install php7.0-fpm Acto seguido accederemos a la configuración de PHP del siguiente modo:\nEn el caso que estén usando PHP5 ejecuten el siguiente comando en la terminal:\nsudo nano /etc/php5/fpm/php.ini Si están usando PHP7 ejecuten el siguiente comando:\nsudo nano /etc/php/7.0/fpm/php.ini Una vez se habrá el editor de textos nano descomentan la siguiente línea:\ncgi.fix_pathinfo=1 Una vez realizadas las modificaciones guardan los cambios y cierran el fichero.\nActo seguir reiniciamos el servicio php-fpm ejecutando el siguiente comando en la terminal:\nSi usamos PHP5 ejecutamos el siguiente comando:\nsudo service php5-fpm restart Si usamos PHP7 ejecutamos el siguiente comando:\nsudo service php7.0-fpm restart Acto seguido accedemos al directorio /etc/lighttpd/conf-available/ ejecutando el siguiente comando en la terminal:\ncd /etc/lighttpd/conf-available/ Realizamos una copia de seguridad del archivo 15-fastcgi-php.conf ejecutando el siguiente comando en la terminal:\nsudo cp 15-fastcgi-php.conf 15-fastcgi-php.bak Seguidamente editamos el archivo 15-fastcgi-php.conf ejecutando el siguiente comando en la terminal:\nsudo nano 15-fastcgi-php.conf Si usamos PHP5 cuando se abra el editor de textos borramos todo el contenido del archivo y pegamos el siguiente código:\n# -*- depends: fastcgi -*- # /usr/share/doc/lighttpd/fastcgi.txt.gz # http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mo$ ## Start an FastCGI server for php (needs the php5-cgi package) fastcgi.server += ( \u0026#34;.php\u0026#34; =\u0026gt; (( \u0026#34;socket\u0026#34; =\u0026gt; \u0026#34;/var/run/php5-fpm.sock\u0026#34;, \u0026#34;broken-scriptfilename\u0026#34; =\u0026gt; \u0026#34;enable\u0026#34; )) ) En caso de usar PHP7 el código a pegar una vez borrado el contenido del archivo será el siguiente:\n# /usr/share/doc/lighttpd-doc/fastcgi.txt.gz # http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi ## Start an FastCGI server for php (needs the php7.0-cgi package) fastcgi.server += ( \u0026#34;.php\u0026#34; =\u0026gt; (( \u0026#34;socket\u0026#34; =\u0026gt; \u0026#34;/var/run/php/php7.0-fpm.sock\u0026#34;, \u0026#34;broken-scriptfilename\u0026#34; =\u0026gt; \u0026#34;enable\u0026#34; )) ) Una vez realizados los cambios guardan el contenido del archivo.\nEn el caso que usen PHP5 acceden a la ubicación /etc/php5/fpm/pool.d ejecutando el siguiente comando en la terminal:\ncd /etc/php5/fpm/pool.d Si usan PHP7 acceden al directorio /etc/php/7.0/fpm/pool.d ejecutando el siguiente comando en la terminal:\ncd etc/php/7.0/fpm/pool.d Finalmente editamos el contenido del fichero www.conf ejecutando el siguiente comando en la terminal:\nsudo nano www.conf Cuando se abra el editor de textos nano descomentamos las siguientes lineas:\nenv[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp Finalmente guardamos loca cambios y cerramos fichero. De este modo después de reiniciar PHP dispondremos del modo de ejecución php-fpm activado.\nEVITAR ERROR ALWAYS POPULATE Si usan PHP5 es posible que les aparezca la siguiente advertencia:\nError PHP Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set \u0026#39;always_populate_raw_post_data\u0026#39; to \u0026#39;-1\u0026#39; in php.ini and use the php://input stream instead. at Unknown#0 En el caso que les aparezca tienen que entrar en el fichero de configuración de PHP5 ejecutando el siguiente comando:\nsudo nano /etc/php5/cgi/php.ini Acto seguido tienen que localizar la siguiente línea:\n;always_populate_raw_post_data = -1 Una vez localizada la descomentan borrando el ;\nalways_populate_raw_post_data = -1 Finalmente guardamos los cambios y cerramos el fichero. La próxima vez que reiniciemos el servidor o PHP dejaremos de obtener el error.\nESTABLECER LOS DOMINIOS DE CONFIANZA PARA ACCEDER A NEXTCLOUD Por cuestiones de seguridad es necesario establecer las IP y los dominios de confianza que podrán acceder a nuestra nube. Para ello tenemos que acceder a la configuración de Nextcloud ejecutando el siguiente comando en la terminal:\nsudo nano /var/www/html/nextcloud/config/config.php Una vez abierto el editor de textos nano localizan la siguiente línea:\n\u0026#39;trusted_domains\u0026#39; =\u0026gt; Una vez localizada introducen las IP y dominios de confianza del siguiente modo:\narray ( 0 =\u0026gt; \u0026#39;192.168.1.200\u0026#39;, 1 =\u0026gt; \u0026#39;geekland.sytes.net\u0026#39;, ), Nota: 192.168.1.200 es la IP que voy a usar para acceder a Nextcloud desde mi red local. Nota: geekland.sytes.net es el dominio que usaré para acceder a Nextcloud desde fuera de mi red local. Una vez introducidos los dominio e IP guardamos los cambios y cerramos el fichero.\nHABILITAR HTTP/2 En mi caso estoy usando el servidor web Lighttpd. Lighttpd no es compatible con http/2, por lo tanto en este apartado no puedo realizar nada.\nEn el caso que utilicen Nginx o Apache pueden habilitar http/2. De este modo obtendrán una mejora de rendimiento en la navegación.\nOPTIMIZAR LA CONFIGURACIÓN DE LA BASE DE DATOS MARIADB Para optimizar la configuración de la base de datos de MariaDB podemos usar el script mysqltuner. Para descargar el script tan solo tienen que ejecutar el siguiente comando en la terminal:\nwget http://mysqltuner.com/mysqltuner.pl Acto seguido damos permisos de ejecución al script que acabamos de descargar ejecutando el siguiente comando:\nchmod +x mysqltuner.pl Seguidamente ya podemos ejecutar el script para evaluar el rendimiento ejecutando el siguiente comando:\n./mysqltuner.pl Justo después de iniciar la ejecución tendremos que introducir el usuario administrativo de nuestra base de datos y su contraseña. Finalmente se ejecutará el script y nos propondrá una serie de recomendaciones para nuestra base de datos. En mi caso las recomendaciones propuestas han sido las siguientes:\n——– Recommendations ————————————————————————— General recommendations: Restrict Host for user@% to user@SpecificDNSorIp MySQL was started within the last 24 hours – recommendations may be inaccurate Dedicate this server to your database for highest performance. Configure your accounts with ip or subnets only, then update your configuration with skip-name-resolve=1 Performance schema should be activated for better diagnostics Consider installing Sys schema from https://github.com/mysql/mysql-sys Before changing innodb_log_file_size and/or innodb_log_files_in_group read this: http://bit.ly/2wgkDvS Variables to adjust: query_cache_size (=0) query_cache_type (=0) performance_schema = ON enable PFS innodb_log_file_size should be (=16M) if possible, so InnoDB total log files size equals to 25% of buffer pool size. innodb_buffer_pool_instances (=1) Para aplicar la configuración propuesta tan solo tengo que acceder a la ubicación /etc/mysql ejecutando el siguiente comando:\ncd /etc/mysql/ A continuación realizo una copia de seguridad del fichero de configuración de la base de datos ejecutando el siguiente comando en la terminal:\nsudo cp my.cnf my.cnf.bak Para modificar la configuración de la base de datos pararemos MariaDB ejecutando el siguiente comando:\nsudo systemctl stop mysql Finalmente editaremos el fichero de configuración ejecutando el siguiente comando en la terminal:\nsudo nano /etc/mysql/my.cnf Una vez se abra el editor de textos nano tendré que añadir/modificar los siguientes parámetros:\nRecomendaciones Mysqltuner Parámetros que deben figurar en mi fichero de configuración query_cache_size (=0) query_cache_size = 0 query_cache_type (=0) query_cache_type = 0 performance_schema = ON enable PFS performance_schema=ON innodb_log_file_size should be (=16M) if possible, so InnoDB total log files size equals to 25% of buffer pool size. innodb_log_file_size = 16M innodb_buffer_pool_instances (=1) innodb_buffer_pool_instances = 1 Una vez realizadas las modificaciones guardan los cambios y cierran el fichero. Acto seguido tan solo tendremos que iniciar MariaDB ejecutando el siguiente comando en la terminal:\nsudo systemctl start mysql SECURIZAR NUESTRA NUBE NEXTCLOUD En estos momentos deberían disponer de una nube Nextcloud correctamente configurada y con un rendimiento aceptable. En futuros post veremos como podemos incrementar la seguridad de la nube que tenemos instalada.\n","permalink":"https://geeklandlinux.github.io/posts/configurar-optimizar-rendimiento-nextcloud/","summary":"\u003cp\u003eEn el pasado reciente vimos como \u003ca href=\"/posts/instalar-nextcloud-mariadb-lighttpd/\"\u003einstalar\u003c/a\u003e Nextcloud en una Raspberry Pi con Lighttpd y MariaDB. Una vez finalizada la instalación aún nos queda pendiente la configuración y optimización del rendimiento de Nextcloud. Para ello podemos seguir las siguientes instrucciones.\u003c/p\u003e","title":"Configurar y optimizar el rendimiento de Nextcloud"},{"content":"En el siguiente artículo verán los pasos a seguir para poder instalar Nextcloud en una Raspberry Pi. La base de datos que usaremos para nuestra nube Nextcloud será MariaDB, mientras que el servidor web será Lighttpd. He seleccionado estas opciones porque pienso que son las opciones que darán mejor rendimiento a nuestra Raspberry Pi.\nLos pasos detallados para instalar Nextcloud se detallan a continuación.\nFORMATEAR EL DISPOSITIVO DE ALMACENAMIENTO QUE ALMACENARÁ LOS DATOS DE NEXTCLOUD Para montar nuestra propia nube necesitamos disponer un dispositivo de almacenamiento con una capacidad elevada. En mi caso usaré un pendrive de 128 GB.\nUna vez seleccionado el dispositivo de almacenamiento lo tenemos que formatear en el formato ext4. Para ello lo enchufamos a nuestra Raspberry Pi, abrimos una terminal y seguimos las siguientes instrucciones:\nInicialmente tenemos que averiguar el nombre con que el sistema operativo reconoce nuestro dispositivo de almacenamiento. Para ello ejecutamos el siguiente comando en la terminal:\nsudo fdisk -l En mi caso el resultado obtenido es el siguiente:\nDevice Boot Start End Sectors Size Id Type /dev/mmcblk0p1 8192 2 474609 2466418 1,2G e W95 FAT16 (LBA) /dev/mmcblk0p2 2474610 31422463 28947854 13,8G 5 Extended /dev/mmcblk0p5 2482176 2547709 65534 32M 83 Linux /dev/mmcblk0p6 2547712 2682879 135168 66M c W95 FAT32 (LBA) /dev/mmcblk0p7 2686976 31422463 28735488 13,7G 83 Linux Disk /dev/sda: 115,7 GiB, 15512174592 bytes, 30297216 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x21b73d15 Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 30296063 30294016 115,7G 83 Linux /dev/sda4 6703616 28518911 21815296 10,4G 0 Empty Disk /dev/sdb: 14,5G, 124218507264 bytes, 242614272 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xfda912af Device Boot Start End Sectors Size Id Type /dev/sdb1 32 242614271 242614240 14,5G 7 HPFS/NTFS/exFAT Viendo el resultado, como el tamaño de mi pendrive es de 128GB, deduzco que mi dispositivo de almacenamiento se reconoce como /dev/sda\nAseguramos que el dispositivo de almacenamiento a formatear esté desmontado ejecutando el siguiente comando en la terminal:\nsudo umount /dev/sda Acto seguido formatearemos el pendrive ejecutando el siguiente comando en la terminal\nsudo mkfs.ext4 /dev/sda Nota: Asegúrense que están formateando la unidad correcta. En caso contrario pueden perder información importante. AUTOMONTAR NUESTRO DISPOSITIVO DE ALMACENAMIENTO CUANDO SE ARRANQUE LA RASPBERRY PI Para conseguir nuestro propósito tenemos que crear un directorio donde montar nuestro dispositivo de almacenamiento. En mi caso crearé el directorio /media/nextcloud ejecutando el siguiente comando en la terminal:\nsudo mkdir /media/nextcloud Para que el dispositivo se automonte al iniciar nuestra Raspberry Pi tendremos que editar el archivo fstab. Para ello ejecutamos el siguiente comando en la terminal:\nsudo nano /etc/fstab Una vez se abra el editor de textos nano pegamos el siguiente código dentro del archivo:\n/dev/sda1 /media/nextcloud ext4 auto,user,rw,exec 0 0 Guardamos los cambios y cerramos el fichero.\nDe este modo nuestro dispositivo de almacenamiento se montará de forma automática cada vez que arranquemos nuestro equipo.\nASIGNAR UNA IP FIJA A NUESTRA RASPBERRY PI A continuación es necesario asegurar que nuestra Raspberry Pi siempre tenga la misma IP interna. De este modo siempre estará localizable dentro de nuestra red local. Para ello pueden usar alguno de los métodos que se detallan en los siguientes enlaces:\nhttps://geeklandlinux.github.io/posts/ip-fija-servidor-dhcp-router/\nhttps://geeklandlinux.github.io/posts/instalar-configurar-servidor-torrent/\nhttps://geeklandlinux.github.io/posts/configurar-ip-fija_o_estatica_ipv4/\nEn mi caso he configurado mi Raspberry Pi para que tenga la IP 192.168.1.200.\nINSTALAR Y CONFIGURAR LA BASE DE DATOS MARIADB Para instalar la base de datos MariaDB tan solo tenemos que ejecutar el siguiente comando en la terminal:\nsudo apt install mariadb-server Durante la instalación de mariaDB se nos pedirá que definamos la contraseña del usuario root. La escribimos y presionamos la tecla Enter.\nActo seguido nos pedirá que volvamos a introducir la contraseña que acabamos de introducir. Una vez introducida volvemos a presionar Enter.\nUna vez finalizada la instalación pasaremos a la creación y configuración de la base de datos.\nCrear y configurar una base de datos de MariaDB para Nextcloud Una vez finalizada la instalación la securizaremos ejecutando el siguiente comando en la terminal:\nsudo mysql_secure_installation Una vez ejecutado el comando tendremos que introducir la contraseña del usuario root de MariaDB.\nEnter current password for root (enter for none): ****** Tras introducir la contraseña de root nos preguntarán si queremos modificarla. En mi caso respondo que no.\nChange the root password? [Y/n] n Seguidamente se nos preguntará si queremos eliminar el usuario anónimo de MariaDB. En nuestro caso responderemos que Sí. Por defecto MariaDB dispone de un usuario anónimo que permite loguearse sin tener ninguna cuenta de usuario.\nRemove anonymous users? [Y/n] y A continuación se nos preguntará si queremos deshabilitar el acceso remoto al usuario root. Por cuestiones de seguridad en mi caso respondo que sí lo quiero deshabilitar.\nDisallow root login remotely? [Y/n] y MariaDB dispone de una base de datos de prueba que tiene el nombre ‘test’. Si esta base está presente se nos preguntará si la queremos borrar. En mi caso respondo que sí.\nRemove test database and access to it? [Y/n] y Finalmente en la última pregunta responderemos que sí. De este modo aseguraremos que todas las configuraciones que hemos realizado se apliquen correctamente.\nReload privilege tables now? [Y/n] y Una vez finalizado con el proceso de securización crearemos los usuarios y las bases de datos para Nextcloud. Para ello accederemos a la consola de MariaDB ejecutando el siguiente comando en la terminal:\nmysql -u root -p Se nos preguntará la contraseña del usuario root. La introducimos y presionamos Enter.\nFinalmente tenemos que crear un usuario y la base de datos. Para crear un usuario con nombre jccall80 y una base de datos con el nombre nextcloud se tienen que ejecutar los siguientes comandos:\nCREATE DATABASE nextcloud; CREATE USER \u0026#39;jccall80\u0026#39;@\u0026#39;localhost\u0026#39; IDENTIFIED BY \u0026#39;contraseña_jccall80\u0026#39;; GRANT ALL PRIVILEGES ON nextcloud.* TO \u0026#39;jccall80\u0026#39;@\u0026#39;localhost\u0026#39;; FLUSH PRIVILEGES; exit; nota: contraseña_jccall80 tiene que ser reemplazado por la contraseña que queramos que tenga el usuario jccall80 Después de ejecutar los comando el proceso ha finalizado y podemos continuar con el proceso para instalar Nextcloud.\nINSTALAR EL SERVIDOR WEB LIGHTTPD Otro de los requerimientos para instalar Nextcloud es disponer de un servidor web. Pueden instalar multitud de servidores web como por ejemplo Lighttpd, Apache, Nginx o cualquier otro servidor web. En mi caso uso Lighttpd porque es más ligero que Apache y realizará su función sin problema.\nPara instalar el servidor web Lighttpd ejecuto el siguiente comando en la terminal:\nsudo apt-get install lighttpd Para ver si Lighttpd funciona nos vamos al navegador web de un ordenador de la red local y como dirección ponemos la IP de la raspberry Pi.\nNota: Lighttpd no está oficialmente soportado por Nextcloud. No obstante su rendimiento y funcionamiento es más que correcto. INSTALAR PHP EN LA RASPBERRY PI En este apartado podemos instalar PHP 5 o PHP 7. Recomiendo usar PHP 7 porque es más actual y su rendimiento es mejor, no obstante a continuación veremos las instrucciones para instalar tanto PHP 5 como PHP 7.\nPara instalar PHP 5 ejecutamos el siguiente comando en la terminal:\nsudo apt install php5-cli php5-json php5-curl php5-imap php5-gd php5-mysql php5-intl php5-mcrypt php5-imagick php5-cgi redis-server php5-redis php5-apcu En el caso que decidamos instalar PHP 7 ejecutaremos el siguiente comando en la terminal:\nsudo apt-get install php7.0 php7.0-bz2 php7.0-cli php7.0-curl php7.0-gd php7.0-fpm php7.0-intl php7.0-json php7.0-mbstring php7.0-mcrypt php-pear php7.0-imap php-memcache php7.0-pspell php7.0-recode php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-mysql php7.0-opcache php7.0-xml php7.0-zip php-imagick php-redis libapache2-mod-php7.0 Nota: En el caso que el sistema operativo que uséis no sea el más actual es posible que PHP 7 no esté disponible. En tal caso pueden usar PHP 5 o buscar un método para poder instalar PHP 7. Nota: Si usan versiones de Nextcloud superiores a la 14.0 deberán usar si o si la versión 7 de PHP. Con php instalado reiniciaremos el servidor web ejecutando el siguiente comando en la terminal:\nsudo service lighttpd restart Una vez reiniciado el servidor ejecuten el siguiente comando para asegurar que los módulos cgi y fastcgi estén activos.\nsudo lighty-enable-mod fastcgi-php fastcgi cgi DESCARGAR LOS ARCHIVOS PARA INSTALAR NEXTCLOUD Tenemos que acceder al directorio raíz de nuestro servidor web que en mi caso es el /var/www/html. Para ello ejecutamos el siguiente comando en la terminal:\ncd /var/www/html A continuación descargaremos la última versión de Nextcloud ejecutando el siguiente comando en la terminal:\nsudo wget https://download.nextcloud.com/server/releases/latest.zip Seguidamente descomprimimos el archivo .zip que acabamos de descargar ejecutando el siguiente comando en la terminal:\nsudo unzip latest.zip Al descomprimir el archivo se generará una carpeta con el nombre Nextcloud que contendrá los archivos para instalar Nextcloud. Una vez descomprimido el archivo .zip lo podemos borrar ejecutando el siguiente comando:\nsudo rm latest.zip OTORGAR LOS PERMISOS PERTINENTES PARA INSTALAR NEXTCLOUD Finalmente otorgamos el grupo y el usuario www-data de forma recursiva a la totalidad de carpetas y archivos que están dentro de la carpeta Nextcloud. Para ello ejecutamos el siguiente comando en la terminal:\nsudo chown -R www-data:www-data /var/www/html/nextcloud A continuación otorgamos los permisos pertinentes a los archivos y carpetas de Nextcloud ejecutando los siguientes comandos en la terminal:\nsudo find /var/www/html/nextcloud/ -type d -exec chmod 750 {} \\; sudo find /var/www/html/nextcloud/ -type f -exec chmod 640 {} \\; Ejecutando estos comandos los archivos y carpetas tendrán los siguientes permisos:\nEl usuario propietario podrá leer y escribir los archivos. Los usuarios pertenecientes al grupo del usuario propietario únicamente podrán leer los archivos. los usuarios que no son el propietario ni pertenecen al grupo del propietario no podrán hacer absolutamente nada con los archivos. El usuario propietario dispondrá de la totalidad de permisos sobre todos los directorios de Nextcloud. Los usuarios que pertenecen al grupo del propietario dispondrán de permisos de Lectura y ejecución sobre los directorios de Nextcloud. Los usuarios que no son el propietario ni pertenecen al grupo del propietario no dispondrán de ningún permiso sobre los directorios. DEFINIR LA UBICACIÓN DE LOS DATOS Y DAR LOS PERMISOS PERTINENTES Seguidamente accederemos al punto de montaje del dispositivo de almacenamiento al que queremos almacenar los datos. Para ello en nuestro caso ejecutamos el siguiente comando:\ncd /media/nextcloud El siguiente paso consiste en crear la carpeta “data” que almacenará la totalidad de los datos de nuestra nube. Para ello ejecutamos el siguiente comando:\nsudo mkdir -p /media/nextcloud/data Nota: Acuerdanse la de la ruta /media/nextcloud/data porque más adelante la necesitaremos para instalar Nextcloud. A continuación asignaremos el usuario y el grupo www-data de forma recursiva a la carpeta data que acabamos de crear. Por lo tanto ejecutaremos el siguiente comando en la terminal:\nsudo chown -R www-data:www-data /media/nextcloud/data Para finalizar otorgaremos los permisos pertinentes a la carpeta que almacenará nuestros datos. Para ello ejecutamos los siguientes comandos en la terminal:\nsudo find /media/nextcloud/data -type d -exec chmod 750 {} \\; sudo find /media/nextcloud/data -type f -exec chmod 640 {} \\; Una vez realizados todos estos pasos les recomiendo que reinicien su Raspberry Pi.\nA estás alturas ya estamos en condiciones para instalar Nextcloud en nuestra raspberry Pi.\nINSTALAR NEXTCLOUD EN LA RASPBERRY PI Accedemos al navegador web en un equipo que esté dentro de nuestra red local y accedemos dentro de la siguiente URL:\nhttp://192.168.1.200/nextcloud Nota: En vuestro caso deberán reemplazar 192.168.1.200 por la IP fija que hayan asignado a su Raspberry Pi. Acto seguido tendremos que rellenar cada uno de los campos que aparecen en el navegador web.\nEn el campo crear una cuenta de Administrador introduciremos los siguientes datos:\nEl nombre que queramos que tenga nuestro administrador de Nextcloud. La contraseña del usuario administrador. Nota: No olviden en ningún momento el usuario y la contraseña del administrador. Son datos que necesitamos para poder administrar nuestra nube. En el apartado Directorio de datos tan solo tenemos que introducir la ruta en que definimos que se almacenaran los datos. Por lo tanto en mi caso tengo que introducir la siguiente ruta:\n/media/nextcloud/data Finalmente en el apartado de Configurar la base de datos tenemos que introducir la siguiente información:\nEn el primer campo seleccionamos el usuario de la base de datos. En mi caso selecciono el usuario root. Seguidamente tenemos que escribir la contraseña del usuario root. A continuación, en el siguiente campo escribiremos el nombre de la base de datos que creamos en apartado anteriores. En mi caso el nombre es nextcloud. En el ultimo campo tenemos que indicar la ubicación de nuestro servidor MariaDB. Como está instalado en nuestra Raspberry Pi y escuchando en el puerto estándar tenemos que escribir localhost. Finalmente tan solo tenemos que presionar en el botón Completar instalación. Acto seguido se instalará y podremos acceder a Nextcloud de forma local.\nCONFIGURACIÓN Y OPTIMIZACIÓN DEL RENDIMIENTO DE NEXTCLOUD En estos momentos acabamos de instalar Nextcloud. Será accesible y usable dentro de nuestra red local, pero aún faltará realizar bastantes tareas de configuración y optimización. Por esté motivo en futuros artículos abordaremos los siguientes aspectos:\nConfigurar y optimizar el rendimiento de nuestra nube personal Nextcloud. Realizar una copia de seguridad de Nextcloud. Como actualizar Nextcloud con el asistente de actualización. Fortalecer la seguridad de Nextcloud mediante iptables y Fail2ban. Instalar el cliente de Nextcloud en Linux. ","permalink":"https://geeklandlinux.github.io/posts/instalar-nextcloud-mariadb-lighttpd/","summary":"\u003cp\u003eEn el siguiente artículo verán los pasos a seguir para poder instalar Nextcloud en una Raspberry Pi. La base de datos que usaremos para nuestra nube Nextcloud será MariaDB, mientras que el servidor web será Lighttpd. He seleccionado estas opciones porque pienso que son las opciones que darán mejor rendimiento a nuestra Raspberry Pi.\u003c/p\u003e\n\u003cp\u003eLos pasos detallados para instalar Nextcloud se detallan a continuación.\u003c/p\u003e","title":"Instalar Nextcloud en una Raspberry Pi con MariaDB y Lighttpd"},{"content":"Son muchos los usuarios que echan de menos disponer de un cliente y un servidor SSH en Windows. Para solventar este inconveniente existen alternativas, pero la más sencilla y efectiva es la que detallaré a continuación.\nPara poder seguir el tutorial necesitan disponer de una versión de Windows 10 igual o superior a la 1803. Esto es así porque a partir de la versión 1803, Windows 10 incorpora un cliente y un servidor OpenSSH.\nVENTAJAS DE DISPONER DE UN CLIENTE Y UN SERVIDOR SSH EN WINDOWS Las ventajas de disponer de un cliente y un servidor SSH en Windows son las que se detallan a continuación:\nDesde nuestro equipo con Windows podremos administrar remotamente equipos con Windows, Linux y MacOS sin necesidad de usar Putty. Podremos acceder y gestionar remotamente un equipo con Windows para por ejemplo realizar tareas de gestión y mantenimiento. Al disponer de un cliente y un servidor SSH podremos intercambiar archivos e información entre distintos sistemas operativos de forma segura. Por lo tanto, desde un sistema operativo Linux podremos conectarnos a un equipo con Windows y traspasar información de Linux a Windows o viceversa. Evitar el uso de un protocolo inseguro como es Samba. Con SSH podremos comunicarnos o traspasar información entre equipos de forma segura. Todo el tráfico que se origine entre cliente y servidor estará cifrado. Ejecutar aplicaciones gráficas de forma remota. De este modo desde Windows podemos ejecutar programas como por ejemplo un gestor de correo que está instalado en un sistema operativo Linux. INSTALAR EL CLIENTE Y EL SERVIDOR SSH EN WINDOWS Disponemos de varias formas para instalar un cliente y el servidor SSH en Windows. Lo podemos realizar usando Powershell o usando el entorno gráfico de Windows. En este artículo lo haremos usando el entorno gráfico.\nInicialmente presionamos la combinación de teclas Win + I para acceder a la configuración de Windows.\nCuando se abra el panel de configuración tenemos que presionar encima del icono de Aplicaciones.\nA continuación, clican encima de la opción Administrar funciones opcionales.\nSeguidamente verán la totalidad de características adicionales de Windows que tienen instaladas. En mi caso vemos que ya tengo instalada la opción cliente OpenSSH. Por lo tanto en mi caso tengo el cliente OpenSSH instalado de serie y no es necesario que realice absolutamente nada.\nEn caso que además quieran instalar un servidor SSH en Windows para que terceras personas puedan acceder a nuestro ordenador de forma remota tienen que clicar encima del icono Agregar una característica.\nA continuación, buscan y clican sobre la opción Servidor OpenSSH. Cuando se desplieguen las opciones presionan sobre el botón Instalar. Acto seguido esperen unos segundos para que se realice la instalación del servidor SSH en Windows.\nUna vez realizados los pasos indicados en este apartado reinicien el equipo.\nCONFIGURAR EL SERVIDOR SSH PARA QUE ARRANQUE AL INICIAR WINDOWS En estos momentos tanto el cliente como el servidor SSH en Windows están instalados. Para el que servidor SSH se active cada vez que iniciamos Windows tendremos que realizar lo siguiente.\nInicialmente presionamos la combinación de teclas Win + R. Cuando aparezca la ventana Ejecutar escriben services.msc y presionan el botón Aceptar.\nA continuación localizaremos los servicios OpenSSH SSH Server y OpenSSH Authentication Agent. Una vez localizados los activaremos para que se inicien cada vez que arranquemos nuestro equipo.\nPara ello seleccionamos el servicio OpenSHH SSH Server y presionamos el botón derecho del ratón. Cuando aparezca el menú contextual clicamos encima de la opción Propiedades.\nActo seguido en Tipo de inicio seleccionamos la opción Automático. A continuación presionamos en el botón Aplicar y para finalizar clicamos en Iniciar.\nFinalmente repetiremos exactamente el mismo proceso para el servicio OpenSSH Authentication Agent. Por lo tanto seleccionaremos el servicio OpenSSH Authentication Agent. A continuación presionamos el botón derecho del ratón y cuando aparezca el menú contextual clicamos encima de la opción Propiedades.\nSeguidamente en Tipo de inicio seleccionamos la opción Automático. A continuación presionamos en el botón Aplicar y para finalizar clicamos en Iniciar.\nUna vez realizados los pasos indicados reinicien el equipo.\nCOMPROBAR QUE EL CLIENTE Y EL SERVIDOR SSH EN WINDOWS ESTÁN ACTIVOS Una vez reiniciado el ordenador comprobaremos el servicio SSH está activo. Para ello abriremos un powershell como administrador.\nActo seguido ejecutaremos el siguiente comando en la Powershell:\nGet-Service -Name *ssh* En mi caso el resultado obtenido es el siguiente:\nStatus Name DisplayName Running ssh-agent OpenSSH Authentication Agent Running sshd OpenSSH SSH Server Por lo tanto podemos estar seguros que nuestro cliente y servidor SSH en Windows están activos.\nCONFIGURAR EL FIREWALL DE WINDOWS PARA ACCEDER A NUESTRO SERVIDOR SSH Para tener acceso a nuestro equipo a través de SSH tenemos que configurar el Firewall de Windows. Para ello abrimos una powershell como administrador y ejecutamos el siguiente comando:\nnetsh advfirewall firewall add rule name=\u0026#34;SSHD Port\u0026#34; dir=in action=allow protocol=TCP localport=22 De este modo abriremos el puerto 22 para que nos podamos conectar vía SSH a nuestro equipo con Windows 10.\nCOMPROBAR QUE EL SERVICIO SSH ESTÁ ESCUCHANDO EN EL PUERTO 22 Para comprobar que el servidor SSH en Windows está activo y escuchando en el puerto 22 abrimos un powershell como administrador y ejecutamos el siguiente comando:\nnetstat -bano | more Sí después de ejecutar el comando obtenéis un resultado parecido al siguiente quiere decir que el servidor SSH está escuchando en el puerto 22.\nProto Dirección local Dirección remota Estado PID TCP 0.0.0.0:22 0.0.0.0:0 LISTENING 2728 TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 952 [sshd.exe] TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 952 RpcSs [svchost.exe] ….. Una vez comprobado que el servidor SSH está activo y escuchando en el puerto 22 podemos pasar al siguiente apartado.\nCONECTARSE REMOTAMENTE A UN EQUIPO WINDOWS DESDE LINUX Si desde un equipo con Linux nos queremos conectar a uno equipo con Windows vía SSH tenemos que realizar los siguientes pasos.\nInicialmente tenemos que asegurar que en Linux tenemos instalado el paquete openssh-client. Para ello en la terminal de Linux ejecutamos el siguiente comando:\nsudo apt-get install openssh-client Ahora imaginemos que queremos conectarnos de forma remota al ordenador en que hemos instalado el servidor SSH. El ordenador al que nos queremos conectar dispone de la siguiente configuración:\nEl servidor SSH está activo y escuchando en el puerto 22. El nombre de usuario del equipo con Windows al que nos queremos conectar de forma remota es jccal. La IP del ordenador al que hemos instalado el servidor SSH es la 192.168.1.55. Una vez conocidos los datos necesarios para la conexión abrimos una terminal de Linux y ejecutamos el siguiente comando:\nssh -p 22 jccal@192.168.1.55 Nota: Las partes coloreadas del comando del comando son las que se tienen que adaptar en función de la configuración del servidor SSH. Una vez ejecutado el comando se nos preguntará la contraseña del usuario jccal. Introducimos la contraseña que usa el usuario jccal para loguearse a Windows y presionamos Enter. Acto seguido, tal y como se puede ver en la captura de pantalla, podrán acceder remotamente al equipo con Windows.\nSi lo prefieren pueden acceder remotamente a Windows de forma gráfica. Para ello en un sistema operativo Linux presionan la combinación de teclas Ctrl+L.\nSeguidamente en la barra de direcciones escriben el siguiente comando y presionan Enter.\nssh://jccal@192.168.1.55:22 Nota: Las partes coloreadas del comando del comando son las que se tienen que adaptar en función de la configuración del servidor SSH. Acto seguido se nos preguntará la contraseña de la sesión de usuario jccal. La introducimos y presionamos sobre el botón Conectar.\nSi hemos realizado los pasos de forma correcta nos conectaremos de forma remota al equipo que tiene instalado Windows.\nCONECTARSE A UN SERVIDOR SSH DESDE WINDOWS CON POWERSHELL Son muchos usuarios de Windows 10 que cuando quieren conectarse vía SSH a un equipo remoto usan Putty. Es una buena opción, pero si hemos seguido las instrucciones de este artículo ya no es necesario usar Putty.\nSupongamos que queremos conectarnos remotamente a una Raspberry Pi y disponemos de la siguiente información:\nEl usuario de la Raspberry Pi al que nos queremos conectar es pi. La IP de la Raspberry Pi es la 192.168.1.100 El servicio SSH de la Raspberry Pi está escuchando en el puerto 22. Una vez conocidos estos datos abrimos una powershell y ejecutamos el siguiente comando:\nssh -p 22 pi@192.168.1.100 Nota: Las partes coloreadas del comando se deberán adaptar en función de los parámetros del equipo remoto al que nos queremos conectar. Después de ejecutar el comando, tal y como se puede ver en la captura de pantalla, se establecerá la conexión remota a mi Raspberry Pi.\nMODIFICACIÓN DE LA CONFIGURACIÓN ESTÁNDAR DE SSH EN WINDOWS La totalidad de claves, logs y configuración del servidor SSH se hallan en la siguiente ubicación:\nC:\\ProgramData\\ssh Para modificar la configuración estándar de SSH en Windows tan solo tienen que editar el fichero sshd_config con el blog de notas.\nUna vez dentro del fichero sshd_config tan solo tienen que ir descomentando las líneas y definir los parámetros que se quieren modificar. A modo de ejemplo podemos descomentar la línea # port 22 y modificarla por port 2222.\nFinalmente guardamos los cambios, cerramos el fichero y reiniciamos el servidor SSH. Una vez finalizado el proceso el servidor SSH estará escuchando en el puerto 2222 en vez del puerto 22.\nAhora el servidor SSH está escuchando en el puerto 2222. Por lo tanto deberemos configurar el firewall de Windows para que permita el tráfico de entrada en el puerto 2222. Para ello abrimos una powershell como administrador y ejecutamos el siguiente comando:\nnetsh advfirewall firewall add rule name=\u0026#34;SSHD Port\u0026#34; dir=in action=allow protocol=TCP localport=2222 Acto seguido podemos borrar la regla del firewall que permitía el tráfico en el puerto 22. Para ello ejecutamos el siguiente comando en la powershell:\nnetsh advfirewall firewall delete rule name=\u0026#34;SSHD Port\u0026#34; A partir de estos momentos para conectarnos al servidor SSH deberemos cambiar los comandos anteriores por los siguientes:\nssh -p 2222 jccal@192.168.1.55 ssh://jccal@192.168.1.55:2222 ssh -p 2222 pi@192.168.1.100 Otras modificaciones de la configuración que se pueden establecer en el archivo de configuración de SSH son las siguientes:\nEl tipo de cifrado que se aplicará en la conexión. Definir si permitimos que un usuario se pueda loguear con permisos de administrador. El número de logins simultáneos desde una IP concreta. Etc. ","permalink":"https://geeklandlinux.github.io/posts/instalar-cliente-servidor-ssh-en-windows/","summary":"\u003cp\u003eSon muchos los usuarios que echan de menos disponer de un cliente y un servidor SSH en Windows. Para solventar este inconveniente existen alternativas, pero la más sencilla y efectiva es la que detallaré a continuación.\u003c/p\u003e\n\u003cp\u003ePara poder seguir el tutorial necesitan disponer de una versión de Windows 10 igual o superior a la 1803. Esto es así porque a partir de la versión 1803, Windows 10 incorpora un cliente y un servidor OpenSSH.\u003c/p\u003e","title":"Como instalar y configurar un cliente y un servidor SSH en Windows"},{"content":"En el pasado vimos la importancia de disponer de un certificado SLL para la totalidad de páginas y servicios que corren sobre un servidor web. Por este motivo veremos las instrucciones a seguir para instalar un certificado SSL gratis de Let\u0026rsquo;s Encrypt en un servidor lighttpd que corre en una Raspberry Pi. Los pasos a seguir para instalar un certificado SSL de Let\u0026rsquo;s Encrypt son los siguientes:\nINSTALAR CERTBOT EN RASPBIAN Lo primero que tenemos que realizar es instalar Certbot. Certbot es una herramienta diseñada para emitir y gestionar certificados SSL de Let\u0026rsquo;s Encrypt. Certbot nos ofrecerá las siguientes funcionalidades:\nGenerar y renovar certificados SSL de forma extremadamente fácil y sencilla. Además estos certificados serán creados por una entidad certificadora de confianza. Por lo tanto cualquier navegador los aceptará sin problema y no mostrará ningún tipo de advertencia. Revocar los certificados SSL que hemos creado en el caso que sea necesario. Para instalar Certbot instalaremos los paquetes que nos permitirán añadir las claves públicas de los repositorios que contienen Certbot. Para ello ejecutamos el siguiente comando en la terminal:\nsudo apt-get install debian-keyring raspbian-archive-keyring Acto seguido añadiremos el repositorio Backports. El repositorio Backports es el que contiene los paquetes de instalación de certbot.\nPara añadir el repositorio Backports en Raspbian Jessie hay que ejecutar el siguiente comando en la terminal:\nsudo sed -i \u0026#34;$ a\\deb http://ftp.debian.org/debian jessie-backports main\u0026#34; /etc/apt/sources.list Para añadir el repositorio Backports en Raspbian Stretch hay que ejecutar el siguiente comando en la terminal:\nsudo sed -i \u0026#34;$ a\\deb http://ftp.debian.org/debian stretch-backports main\u0026#34; /etc/apt/sources.list Una vez añadido el repositorio actualizamos nuestra lista de repositorios ejecutando el siguiente comando en la terminal:\nsudo apt-get update Finalmente instalaremos certbot. Para ello si usamos Raspbian Jessie ejecutaremos el siguiente comando en la terminal:\nsudo apt-get install certbot -t jessie-backports -y --force-yes En el caso que sean usuarios de Raspbian Stretch deberán ejecutar el siguiente comando en la terminal:\nsudo apt-get install certbot -t stretch-backports -y --force-yes De esta forma tan sencilla instalaremos certbot sin ningún tipo de problema.\nINSTALAR EL SERVIDOR WEB LIGHTTPD Existen varios servidores web, pero en mi caso uso lighttpd porque consume menos recursos que por ejemplo Apache o Nginx.\nPara instalar el servidor web lighttpd tan solo tenemos que ejecutar el siguiente comando en la terminal:\nsudo apt-get install lighttpd Una vez instalado el servidor web tendrán que configurarlo para que sea accesible desde el exterior. Cuando el servidor web sea accesible desde el exterior de nuestra red local podrán empezar con la instalación del certificado.\nGENERAR EL CERTIFICADO DE LET’S ENCRYPT Para instalar un certificado SSL gratis de Let\u0026rsquo;s Encrypt tan solo tenemos que ejecutar el siguiente comando:\nsudo certbot certonly --webroot -w /var/www/html/ -d dominio.net El significado de cada uno de los términos del comando es el siguiente:\nsudo certbot : Para poder usar la herramienta certbot como usuario root. certonly : Parte del comando que da la orden de obtener o renovar el certificado SSL de Let\u0026rsquo;s Encrypt. --webroot -w /var/www/html/ : Indicamos que la dirección raíz de nuestro servidor web es /var/www/html/. En vuestro caso deberéis reemplazar la parte verde del comando por la ruta de vuestro directorio raíz. La ruta raíz de vuestro servidor web la encontraréis en el fichero /etc/lighttpd/lighttpd.conf. -d dominio.net : Introducimos el nombre del dominio para el cual queremos crear el certificado SSL de Let\u0026rsquo;s Encrypt. En vuestro caso deberéis reemplazar dominio.net por el nombre de vuestro dominio. Una vez ejecutado el comando empezará el proceso de creación del certificado SSL de Let\u0026rsquo;s Encrypt. Durante el proceso de creación del certificado SSL se harán las siguientes peticiones/preguntas.\nInicialmente se nos pedirá introducir nuestra dirección de email:\nSaving debut log to /var/log/letsencrypt/letsencrypt.log Enter email address (used for urgent renewal and security notices) (Enter ‘c’ to cancel):escribir_dirección_email_válida Seguidamente se nos preguntará que aceptemos las condiciones de servicio de Let\u0026rsquo;s Encrypt:\nStarting new HTTPS connection (1): acme-v01.api.letsencrypt.org ——————————————————————————- Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v01.api.letsencrypt.org/directory ——————————————————————————- (A)gree/(C)ancel: A Finalmente se crearan las claves y certificados de Let\u0026rsquo;s Encrypt. Durante el proceso de creación se nos informará de la ruta en que se generan las claves y certificados:\nObtaining a new certificate Performing the following challenges: http-01 challenge for dominio.net Using the webroot path /var/www/html for all unmatched domains. Waiting for verification… Cleaning up challenges Generating key (2048 bits): /etc/letsencrypt/keys/0000_key-certbot.pem Creating CSR: /etc/letsencrypt/csr/0000_csr-certbot.pem IMPORTANT NOTES: – Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/dominio.net/fullchain.pem. Your cert will expire on 2018-08-10. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run «certbot renew» – If you like Certbot, please consider supporting our work by: Donating to ISRG / Let’s Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le COMBINAR EL CERTIFICADO SSL CON LA CLAVE PRIVADA Si leemos los mensajes generados en la creación de los certificados veremos que la totalidad de claves y certificados se almacenan en la ruta /etc/letsencrypt/live/dominio.net.\nConcretamente el certificado SSL cert.pem se halla en la siguiente ruta: /etc/letsencrypt/live/dominio.net/cert.pem\nLa clave privada priv.key que se usará para cifrar el contenido estará en la siguiente ubicación: /etc/letsencrypt/live/dominio.net/privkey.pem\nPara combinar el certificado con la clave privada ejecutaremos el siguiente comando en la terminal:\nsudo cat /etc/letsencrypt/live/dominio.net/cert.pem /etc/letsencrypt/live/dominio.net/privkey.pem \u0026gt; /etc/letsencrypt/live/dominio.net/web.pem Nota: En vuestro caso debéis reemplazar las partes rojas del comando por vuestro dominio. De este modo crearemos un fichero web.pem que contiene tanto el certificado como la clave privada de Let\u0026rsquo;s Encrypt.\nCREAR UNA CLAVE PARA REFORZAR LA SEGURIDAD DEL INTERCAMBIO DE CLAVES Seguidamente vamos a reforzar el algoritmo de intercambio de claves Diffie-Hellman. Para ello generaremos una clave de Diffie-Hellman de 2048 bits ejecutando el siguiente comando en la terminal:\nsudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048 Nota: Si quieren pueden crear una clave de 4096 bits. No obstante si están usando un dispositivo poco potente, como una Raspberry Pi, recomiendo crear una clave de 2048 bits. Después de esperar unos minutos se generará la clave. Está clave de cifrado la usaremos durante la primera fase de la comunicación en que el cliente y el servidor se comunicarán para establecer los algoritmos criptográficos que se van a usar.\nCONFIGURAR LIGHTTPD PARA QUE USE EL NUEVO CERTIFICADO DE LET\u0026rsquo;S ENCRYPT A continuación configuraremos el servidor lighttpd para conseguir los siguientes propósitos:\nActivar https en el servidor web lighttpd. Forzar que la totalidad de peticiones se hagan a través de https. Activar TTP Strict Transport Security (HSTS) para asegurar que la totalidad de peticiones de los clientes se hagan mediante el protocolo https. Realizar el intercambio inicial de claves de forma segura. Deshabilitar SSLv2, SSLv3 y la compresión SSL para mejorar la seguridad del servidor. Asegurar que los algoritmos criptográficos usados sean fuertes y seguros. Usar elliptic curve variants para mejorar el rendimiento de las peticiones https. Para conseguir nuestros objetivos accedemos al fichero de configuración del servidor ejecutando el siguiente comando en la terminal:\nsudo nano /etc/lighttpd/lighttpd.conf Cuando se abra el editor de textos pegan el siguiente contenido al final del fichero:\n# Activar y configurar https en el servidor $SERVER[\u0026#34;socket\u0026#34;] == \u0026#34;:443\u0026#34; { ssl.engine = \u0026#34;enable\u0026#34; ssl.pemfile = \u0026#34;/etc/letsencrypt/live/dominio.net/web.pem\u0026#34; ssl.ca-file = \u0026#34;/etc/letsencrypt/live/dominio.net/chain.pem\u0026#34; server.name = \u0026#34;dominio.net\u0026#34; # Domain Name OR Virtual Host Name ssl.use-sslv2 = \u0026#34;disable\u0026#34; ssl.use-sslv3 = \u0026#34;disable\u0026#34; ssl.use-compression = \u0026#34;disable\u0026#34; ssl.cipher-list = \u0026#34;EECDH+AESGCM:EDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4\u0026#34; ssl.dh-file = \u0026#34;/etc/ssl/certs/dhparam.pem\u0026#34; ssl.ec-curve = \u0026#34;secp384r1\u0026#34; } # forzar peticiones https $HTTP[\u0026#34;scheme\u0026#34;] == \u0026#34;http\u0026#34; { # capture vhost name with regex conditiona -\u0026gt; %0 in redirect pattern # must be the most inner block to the redirect rule $HTTP[\u0026#34;host\u0026#34;] =~ \u0026#34;.*\u0026#34; { url.redirect = (\u0026#34;.*\u0026#34; =\u0026gt; \u0026#34;https://%0$0\u0026#34;) } } Forzar HTTP Strict Transport Security setenv.add-response-header = ( \u0026#34;Strict-Transport-Security\u0026#34; =\u0026gt; \u0026#34;max-age=15768000; includeSubdomains\u0026#34; ) Nota: En vuestro caso tendréis que reemplazar dominio.net por el nombre de vuestro dominio. Aseguren que la rutas del certificado ssl (ssl.pemfile) y la autoridad de certificación (ssl.ca-file) sean las correctas. Acto seguido comprueben que el modulo setenv esté activado. Para ello deberán comprobar que el fichero que estamos editando contenga el siguiente código:\nserver.modules = ( \u0026#34;mod_expire\u0026#34;, \u0026#34;mod_access\u0026#34;, \u0026#34;mod_accesslog\u0026#34;, \u0026#34;mod_auth\u0026#34;, \u0026#34;mod_compress\u0026#34;, \u0026#34;mod_redirect\u0026#34;, \u0026#34;mod_setenv\u0026#34;, \u0026#34;mod_rewrite\u0026#34; ) Una vez realizados las modificaciones guardan los cambios y cierran el fichero. Finalmente, para que se hagan los cambios efectivos reiniciaremos el servidor web ejecutando el siguiente comando en la terminal:\nsudo service lighttpd restart En estos momentos nuestro certificado SSL de Let\u0026rsquo;s Encrypt debería estar debidamente instalado.\nCOMPROBAR QUE EL CERTIFICADO SSL FUNCIONA CORRECTAMENTE Para comprobar que todo funciona a la perfección tenemos que acceder al servicio que corre en nuestro servidor web. Si todo funciona a la perfección observarán que el navegador muestra un candado de color verde.\nAdicionalmente comprobaremos que el certificado se ha instalado y configurado correctamente. Para ello podemos usar el servicio online de ssllabs. Aplicando los consejos de este artículo, tal y como se puede ver en la captura de pantalla, deberíamos conseguir la máxima calificación.\nPor lo tanto nuestro certificado Let\u0026rsquo;s Encrypt está bien instalado y configurado de forma segura.\nRENOVACIÓN DEL CERTIFICADO SSL DE LET\u0026rsquo;S ENCRYPT El certificado SSL de Let\u0026rsquo;s Encrypt que acabamos de crear/instalar tiene una validez de 90 días. Una vez pasados los 90 días tendremos que renovarlo.\nLa buena noticia es que la renovación se puede realizar de forma automática si seguimos las siguientes instrucciones.\nInicialmente simularemos el proceso de renovación del certificado ejecutando el siguiente comando en la terminal:\nsudo certbot renew --dry-run En mi caso el resultado obtenido es el siguiente:\nSaving debug log to /var/log/letsencrypt/letsencrypt.log ——————————————————————————- Processing /etc/letsencrypt/renewal/dominio.net.conf ——————————————————————————- Cert not due for renewal, but simulating renewal for dry run Starting new HTTPS connection (1): acme-staging.api.letsencrypt.org Renewing an existing certificate Performing the following challenges: http-01 challenge for dominio.net Waiting for verification… Cleaning up challenges Generating key (2048 bits): /etc/letsencrypt/keys/0001_key-certbot.pem Creating CSR: /etc/letsencrypt/csr/0001_csr-certbot.pem ** DRY RUN: simulating ‘certbot renew’ close to cert expiry ** (The test certificates below have not been saved.) Congratulations, all renewals succeeded. The following certs have been renewed: /etc/letsencrypt/live/dominio.net/fullchain.pem (success) ** DRY RUN: simulating ‘certbot renew’ close to cert expiry ** (The test certificates above have not been saved.) IMPORTANT NOTES: – Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. Como en la simulación hemos obtenido un resultado satisfactorio podemos automatizar la renovación del certificado SSL del siguiente modo.\nCrearemos el fichero que contendrá el script de renovación ejecutando el siguiente comando en la terminal:\nsudo nano /etc/cron.weekly/letsencrypt.sh Cuando se abra el editor de textos nano pegamos el siguiente código:\n#!/bin/sh # Actualizar certificados de Let\u0026#39;s Encrypt en lighttpd # Edit webroot-path with your www folder location sudo certbot renew --webroot -w /var/www/html/ # Rebuild the cert # Edit folder location to your domainname cd /etc/letsencrypt/live/dominio.net/ sudo bash -c \u0026#34;cat privkey.pem cert.pem \u0026gt; web.pem\u0026#34; # Reload lighttpd sudo service lighttpd reload Nota: En vuestro caso tendréis que reemplazar dominio.net por el nombre de vuestro dominio. También tendréis que reemplazar /var/www/html/ por la ruta raíz de vuestro servidor web. Una vez creado el script guardamos los cambios y cerramos el fichero. Seguidamente damos permisos de ejecución al script ejecutando el siguiente comando en la terminal:\nsudo chmod +x /etc/cron.weekly/letsencrypt.sh Finalmente tan solo tenemos que programar cada cuando queremos que se ejecute el script de actualización del certificado de Let\u0026rsquo;s Encrypt. Para ello ejecutamos el siguiente comando en la terminal:\ncrontab -e Cuando se abra el editor de textos pegan el siguiente comando al final del archivo:\n20 21 * * * sudo /etc/cron.weekly/letsencrypt.sh De este modo todos los días a las 21:20 se comprobará si el certificado de Let\u0026rsquo;s Encrypt está caducado o no. Si el certificado SSL está caducado se renovará de forma automática.\nFUENTES https://raymii.org/s/tutorials/Strong_SSL_Security_On_lighttpd.html\n","permalink":"https://geeklandlinux.github.io/posts/instalar-certificado-ssl-gratis-lets-encrypt-lighttpd/","summary":"\u003cp\u003eEn el pasado vimos la \u003ca href=\"/posts/motivos-instalar-certificado-ssl/\"\u003eimportancia de disponer de un certificado SLL\u003c/a\u003e para la totalidad de páginas y servicios que corren sobre un servidor web. Por este motivo veremos las instrucciones a seguir para instalar un certificado SSL gratis de Let\u0026rsquo;s Encrypt en un servidor lighttpd que corre en una Raspberry Pi. Los pasos a seguir para instalar un certificado SSL de Let\u0026rsquo;s Encrypt son los siguientes:\u003c/p\u003e","title":"Instalar un certificado SSL gratis de Let’s Encrypt en lighttpd"},{"content":"A continuación verán de forma detallada los pasos a seguir para instalar y configurar Pi-Hole. La principal función de Pi-hole será la de bloquear la publicidad y aplicaciones maliciosas a nivel de red.\n¿QUÉ ES PI-HOLE? Pi-Hole es un servidor DNS Cache diseñado para bloquear el siguiente tipo de contenido a nivel de red:\nWebs fraudulentas que se dedican a instalar malware o a usar nuestro hardware para minar criptomoneda. Bloquear las web que no queramos que visiten nuestros hijos o la gente conectada de nuestra red local. A modo de ejemplo existen filtros que bloquearán la totalidad de páginas pornográficas, páginas relacionadas con el juego online, etc. La totalidad de publicidad que aparece en páginas web y en aplicaciones de nuestros dispositivos. ¿QUÉ VENTAJAS NOS PROPORCIONA PI-HOLE? Algunos de los beneficios que nos puede aportar Pi-Hole son los siguientes:\nBloquear la totalidad de publicidad de los dispositivos conectados a mi red local. Todo dispositivo que se conecte a nuestra red local y use el servidor DNS de Pi-Hole no mostrará publicidad. No precisaremos de extensiones de navegador ni acceso root para bloquear la publicidad. Por lo tanto, podemos bloquear la publicidad de dispositivos móviles como teléfonos y tablets de forma extremadamente sencilla. Navegar de forma mucho más segura y sin los molestos anuncios que acostumbran a existir en webs y aplicaciones Podemos reducir el consumo de ancho de banda y de datos en dispositivos móviles. Es útil para consultar las páginas web que visita un usuario conectado a nuestra red local. El rendimiento de nuestra conexión a internet mejorará. El tiempo de latencia para las resoluciones de peticiones DNS será mejor. Dispone de una interfaz web que nos informa de forma minuciosa y atractiva de las peticiones DNS aceptadas y bloqueadas en cada uno de los los clientes. El registro será útil para poner más url en la Blacklist, las webs que ha visitado una determinada persona, etc. También podemos usar Pi-hole como un servidor DHCP. En mi caso no utilizo está funcionalidad ya que todos los routers la pueden realizar. Las web que visitemos no serán capaces de detectar que estamos bloqueando la publicidad. LIMITACIONES DE PI-HOLE Obviamente Pi-Hole tiene limitaciones. Pi-hole bloqueará prácticamente la totalidad de los anuncios, pero habrá casos en que es imposible.\nPi-Hole no bloqueará el 100% de los anuncios El bloqueo de Pi-hole se basa en listas de filtrado. Existen aplicaciones y servicios tienen los anuncios incrustados en la propia aplicación o en el contenido. En otras palabras el contenido o servicio que usamos/visualizamos y los anuncios provienen de la misma dirección IP. Por lo tanto al bloquear la publicidad, la aplicación o servicio puede dejar de funcionar correctamente.\nSolo bloquea los anuncios cuando estamos en nuestra red local Solo funciona en dispositivos que están conectados a la red local. Por lo tanto, cuando estemos fuera de nuestra red local o usemos los datos de nuestro dispositivo móvil no podremos bloquear la publicidad.\nObviamente existe la posibilidad de usar Pi-hole fuera de nuestra red local, pero implica conectarse a nuestra red local a través de una conexión VPN. Esta opción para mi tiene 2 inconvenientes:\nEl primero de ellos es que la velocidad de conexión a internet será más lenta. El segundo es que el consumo de batería de nuestro dispositivo móvil será elevado. Nota: También existe la posibilidad de usar Pi-Hole mediante Port Forwarding. En términos de seguridad no es una opción recomendable. ASIGNAR UNA IP-FIJA AL DISPOSITIVO EN QUE INSTALAMOS PI-HOLE Es indispensable que el dispositivo en que instalamos Pi-hole esté siempre localizado dentro de la red local. Por lo tanto deberemos asignarle una IP Fija.\nA continuación les dejo 3 enlaces. En cada uno de ellos encontrarán un método diferente para hacer que su dispositivo tenga una IP Fija.\nhttps://geeklandlinux.github.io/posts/ip-fija-servidor-dhcp-router/\nhttps://geeklandlinux.github.io/posts/instalar-configurar-servidor-torrent/\nhttps://geeklandlinux.github.io/posts/configurar-ip-fija_o_estatica_ipv4/\nEn mi caso he configurado mi Raspberry Pi para que tenga la IP 192.168.1.200.\nACCEDER A NUESTRA RASPBERRY PI U ORDENADOR Para iniciar la instalación de Pi-hole necesitamos acceder a la terminal de nuestro dispositivo. En mi caso accedo a mi raspberry pi vía SSH ejecutando el siguiente comando en la terminal:\nssh pi@192.168.1.200 Una vez estemos en la terminal podemos iniciar la instalación de Pi-Hole.\nINSTALAR PI-HOLE A continuación instalaremos Pi-hole mediante la descarga y ejecución de un script. Para descargar el script necesitaremos la herramienta Curl. Para asegurar que tenemos esta herramienta disponible e instalada ejecutamos el siguiente comando en la terminal\nsudo apt-get install curl A continuación descargamos e instalamos el script ejecutando el siguiente comando en la terminal:\ncurl -sSL https://install.pi-hole.net | sudo bash Justo después de ejecutar el comando nos aparecerá la siguiente pantalla que nos informará que nuestro dispositivo se convertirá en un bloqueador de publicidad a nivel de red local.\nSeguidamente se nos invitará a realizar una donación a los desarrolladores del proyecto.\nEn la tercera pantalla se nos advertirá que nuestro ordenador o Raspberry Pi precisa de una IP estática para funcionar de forma adecuada.\nSeguidamente tenemos que seleccionar la interfaz de red que usa el equipo en que estamos instalando Pi-hole. Como en mi caso estoy usando la red wifi selecciono la opción wlan0 y presiono la tecla Enter.\nEn el siguiente paso deberemos seleccionar los servidores DNS que queremos que use Pi-hole para resolver las peticiones DNS. En mi caso selecciono los servidores de OpenDNS y presiono la tecla Enter.\nNota: Utilizo los servidores de OpenDNS porque son los que me parecen más respetuosos con la privacidad de los usuarios. Si en un futuro queremos cambiar los DNS que elegimos en la instalación lo podremos realizar fácilmente mediante el panel de administración web. A continuación deberemos seleccionar los protocolos de internet en que queremos filtrar el contenido y bloquear la publicidad. Como podemos ver, en nuestro caso seleccionaremos tanto IPv4 como IPv6 y presionaremos Enter.\nEn la siguiente pantalla se nos pregunta si queremos que la IP 192.168.1.200 sea la IP de fija de Pi-hole. En nuestro caso seleccionamos la opción Sí y presionamos Enter.\nNota: En mi caso puedo seleccionar la opción Sí. El motivo es que en apartados anteriores configure el servidor DHCP de mi router para que asigne la IP 192.168.1.200 al dispositivo en que estamos instalando Pi-hole. Seguidamente veremos un mensaje de advertencia. El mensaje nos advierte que es posible que nuestro Router asigne la IP 192.168.1.200 de Pi-hole a otro dispositivo. Como he configurado correctamente el servidor DHCP de mi router no tengo que preocuparme y tan solo tenemos que presionar en Aceptar para seguir adelante.\nA continuación seleccionamos la opción On y presionamos Enter. De esta forma instalaremos una interfaz web que nos será útil para monitorizar y consultar los logs de Pi-hole, modificar la configuración, monitorizar el rendimiento de nuestro dispositivo, etc.\nFinalmente seleccionamos la opción On y presionamos Enter. De este modo guardaremos un registro de logs de las peticiones DNS aceptadas y rechazadas.\nUna vez definidas las opciones de configuración se procederá a la instalación de los paquetes necesarios para que Pi-hole funcione de forma adecuada. Una vez finalizada la instalación lean y revisen la totalidad de mensajes de la terminal para asegurar que no hayan errores durante el proceso instalación.\nCONFIGURAR PI-HOLE En estos momentos Pi-Hole tiene que estar activo y funcionando sin ningún tipo de problema. Lo único que nos falta es configurarlo a nuestra medida del siguiente modo:\nFijar una contraseña de administrador El primer paso para configurar Pi-hole es fijar una contraseña para acceder al panel de administración. Para ello ejecutamos el siguiente comando en la terminal:\npi@raspberrypi:~ $ pihole -a -p Enter New Password (Blank for no password): Confirm Password: [✓] New password set Después de ejecutar el comando escribimos la que queremos que sea nuestra contraseña y presionamos la tecla Enter. Acto seguido reiniciamos nuestro dispositivo ejecutando el siguiente comando en la terminal:\nsudo reboot Acceder al panel de administrador Desde cualquier equipo conectado a nuestra red local podemos acceder a la interfaz web para administrar de forma gráfica Pi-hole.\nPara acceder el panel de administración ingresamos la siguiente URL en el navegador y presionamos la tecla Enter:\nhttp://192.168.1.200/admin/ Nota: En vuestro caso tendréis que reemplazar 192.168.1.200 por la ip del dispositivo en el que habéis instalado Pi-hole. Acto seguido les aparecerá el panel de administración en el que podrán administrar Pi-hole.\nNota: Dentro del panel de administración podrán configurar multitud de parámetros de forma totalmente intuitiva. Actualizar las listas para filtrar y bloquear los anuncios En la ubicación /etc/cron.d/pihole hay configurado un cronjob que actualiza nuestras listas de bloqueo de forma automática. En mi caso la actualización se realiza todos los domingos a las 3h y 6 minutos de la madrugada.\nSi alguna vez queremos realizar una actualización manual tenemos dos opciones.\nLa primera de ellas es ejecutar el siguiente comando en la terminal del dispositivo que tiene instalado pi-hole:\npihole -g La segunda opción es accediendo al panel de administración web. En el panel de administración clican sobre el menú Tools. Cuando se despliegue el submenú clican en Update Lists. Finalmente clican en la opción Update Lists y se actualizaran la totalidad de listas a que estamos suscritos.\nAñadir filtros o listas adicionales a Pi-hole Los filtros de serie bloquean prácticamente la totalidad de los anuncios. No obstante si queremos podemos añadir más filtros. A continuación tienen una serie de URL en la que podrán encontrar infinidad de filtros que pueden aplicar:\nhttps://github.com/StevenBlack/hosts\nhttps://discourse.pihole.net/t/i-concatenated-every-blocklist-i-could-find/5184/13\nhttps://wally3k.github.io/\nhttps://github.com/pihole/pihole/wiki/Customising-sources-for-ad-lists\nNo recomiendo añadir más filtros de los que son estrictamente necesarios. Cuando más filtros añadamos más carga de trabajo tendrá el dispositivo que tiene instalado Pi-Hole.\nPrimero entramos en una de las páginas web que he recomendado. A continuación accedemos dentro de una las listas.\nUna vez dentro de la lista copiamos su URL.\nA continuación accedemos a la interfaz web de Pi-hole. Una vez dentro clican sobre el menú Settings. Seguidamente clican sobre el apartado Block Lists.\nFinalmente pegan la URL de la lista en el sitio correspondiente y presionan encima del botón Save and Update.\nDe esta forma tan simple podremos añadir más listas y seremos capaces de bloquear más contenido.\nNota: Si quieren pueden consultar las listas que usan uBlock o Adblock Plus y añadirlas a su Pi-hole. RESOLUCIÓN DE PROBLEMAS QUE SE PUEDEN ENCONTRAR Los usuarios que instalen Pi-hole en sistemas operativos como Raspbian Jessie tendrán problemas y Pi-hole sencillamente no funcionará. Algunos de los problemas que se encontrarán son los siguientes:\nResolución de problemas con Dnsmasq La versión 3.3 de Pi-hole precisa de una versión de DNSmasq igual o superior a la 2.76. Por lo tanto la última versión de Pi-Hole es posible que no funcione en sistemas operativos como Raspbian Jessie. Para solucionar este problema instalaremos la versión 2.76 de DNSmasq del siguiente modo:\nInicialmente descargaremos los paquetes necesarios para actualizar DNSmasq ejecutando los siguientes comandos en la terminal:\nwget https://archive.raspberrypi.org/debian/pool/main/d/dnsmasq/dnsmasq-base_2.76-5+rpi1_armhf.deb wget https://archive.raspberrypi.org/debian/pool/main/d/dnsmasq/dnsmasq_2.76-5+rpi1_all.deb A continuación instalaremos las dependencias necesarias para asegurar el funcionamiento de DNSmasq. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo apt-get install libnetfilter-conntrack3 libmnl0 Finalmente instalaremos la nueva versión de Dnsmasq ejecutando los siguientes comandos en la terminal:\nsudo dpkg -i dnsmasq-base_2.76-5+rpi1_armhf.deb sudo dpkg -i dnsmasq_2.76-5+rpi1_all.deb Ahora tan solo tenemos que reiniciar la Raspberry Pi ejecutando el siguiente comando:\nsudo reboot A partir de ahora todo debería funciona a la perfección.\nSolucionar problemas con la medición de la temperatura y la carga del servidor Otro de los problemas que nos podemos encontrar es que la interfaz de administración web no mida la temperatura y carga de nuestro servidor:\nPara solucionar este problema lo único que tenemos que realizar es habilitar el servicio pihole-FTL. Para iniciarlo tan solo tenemos que ejecutar el siguiente comando en la terminal:\nsudo service pihole-FTL start COMO CONFIGURAR NUESTRO DISPOSITIVO PARA QUE USAR PI-HOLE A estas alturas Pi-hole tiene que estar correctamente instalado y configurado. Ahora tan solo falta configurar nuestros equipos para que hagan uso de Pi-Hole. Para ello en un futuro cercano publicaré otro artículo en el que detallaré paso por paso como hacerlo.\nNota: El procedimiento detallado en este artículo se ha realizado en una Raspberry Pi. No obstante, el proceso de instalación y configuración también debería ser válido para otras distros Linux como Ubuntu o Debian.","permalink":"https://geeklandlinux.github.io/posts/instalar-configurar-pi-hole-raspberry-pi/","summary":"\u003cp\u003eA continuación verán de forma detallada los pasos a seguir para instalar y configurar Pi-Hole. La principal función de Pi-hole será la de bloquear la publicidad y aplicaciones maliciosas a nivel de red.\u003c/p\u003e","title":"Instalar y configurar Pi-hole para bloquear la publicidad de nuestra red"},{"content":"En el siguiente artículos veremos algunas de las pautas que deberíamos seguir para gestionar de forma adecuada nuestras contraseñas. No obstante antes de empezar es recomendable detallar la utilidad que tienen las contraseñas.\n¿PARA QUE SIRVEN LAS CONTRASEÑAS? Su principal uso es que solamente las personas que estén autorizadas puedan acceder a una determinada información o servicio.\nPara que este fin se cumpla obviamente se tienen que cumplir una serie de premisas que detallaremos a continuación.\nBUENAS PRÁCTICAS EN LA GESTIÓN Y USO DE CONTRASEÑAS Todo el mundo que gestione o utilice contraseñas debe tener en cuenta los consejos que se citan a continuación.\nLas contraseñas son privadas y no se deben difundir Las contraseñas son confidenciales. Por lo tanto tengan en cuenta los siguientes aspectos:\nNo se deben apuntar en un papel, en un tablón, debajo del teclado o en un post-it. Se deben difundir o comunicar a través de un medio inseguro. Además las tenemos que retener en nuestra cabeza o en un gestor de contraseñas. Cuando nos proporcionan una contraseña es únicamente para nosotros. Si una tercera persona nos pregunta por una contraseña le tenemos que responder que se la proporcione el administrador del servicio al que quiere acceder. No debemos usar las contraseñas por defecto Nunca tendríamos que usar las contraseñas por defecto o que nos haya proporcionado una tercera persona o institución. Tampoco es recomendable usar las contraseñas por defecto que traen los dispositivos electrónicos como por ejemplo routers, cámaras IP, etc.\nUsar las contraseñas por defecto es un error grave por los siguientes motivos:\nUna contraseña únicamente la tenemos que saber nosotros. Por lo tanto, en el momento que una persona nos proporciona una contraseña lo primero que tenemos que realizar es cambiarla. Existen páginas web, como por ejemplo pastebin.com, que publican listados de contraseñas por defecto de dispositivos electrónicos. También existen páginas web en que se publican listados de contraseñas robadas o filtradas. Las contraseñas que usemos tienen que ser robustas, seguras impersonales y no las tenemos que reutilizar Obviamente no es seguro usar un contraseña como por ejemplo 1234. Las contraseñas que usemos tienen que tener las siguientes características:\nLa longitud mínima recomendable de una contraseña es de 8 caracteres. Estos 8 caracteres tienen que incluir mayúsculas, minúsculas, números y caracteres especiales como por ejemplo * ( # @, etc. Deben ser impersonales. No debemos usar nunca contraseñas como el cumpleaños de una persona, el nombre de nuestro perro, el nombre de nuestra madre, números de teléfono, el número de nuestro DNI, etc. No tenemos que repetir la misma contraseña para distintos servicios. En cada uno de los servicios tenemos que usar contraseñas distintas. Si un atacante se hace con la contraseña de un servicio, lo primero que hará es usar esta contraseña para intentar acceder al resto de nuestro servicios. Consejos para crear una contraseña segura Para construir una contraseña que sea fácil de recordar y cumpla con los requisitos del apartado anterior recomiendo lo siguiente:\nSeleccionamos una frase larga, de por ejemplo un poema, que sea fácil de recordar para nosotros. A partir de esta frase larga podemos sustituir unos caracteres por otros. Podemos definir que la última letra de todas las palabras sea en mayúscula. Además podemos sustituir todas las letras a de la frase por el caracteres especiales como (, ;, etc. Los caracteres especiales que usemos no deben guardar similitud con las letras del abecedario, por lo tanto reemplazar la letra a por el símbolo @ no es lo más aconsejable. Una vez definida la frase podemos crear variaciones no predecibles de esta frase. Estás variaciones servirán para asignar contraseñas para cada uno de nuestros servicios Las contraseñas se tienen que cambiar periódicamente Existen filtraciones, vulnerabilidades y multitud de situaciones en que nuestra contraseña puede quedar expuesta. Por lo tanto es recomendable que periódicamente vayamos modificando las contraseñas de nuestros servicios.\nEn el momento de cambiar la contraseña es altamente recomendable no reutilizar viejas contraseñas.\nUsar contraseñas seguras no significa que no podamos ser víctimas de un ataque Aunque sigamos la totalidad de consejos mencionados en el artículo no estaremos totalmente seguros.\nLa totalidad de contraseñas de un servicio se almacenan en un sistema de control de acceso. Si alguien consigue acceder al sistema de control de acceso puede llegar a descargase su base de datos y por lo tanto obtener las contraseñas de miles de usuarios.\nPor lo tanto es extremadamente importante que el sistema de control de acceso sea seguro. Algunas de las prácticas que se pueden implementar en los sistemas de control de acceso son:\nLos administradores del sistema de control de acceso deben cifrar las contraseñas de los usuarios mediante funciones hash. De este modo, si un atacante consigue robar la base de datos que contiene las claves únicamente obtendrá un hash. Proteger los sistemas de control de acceso contra ataques por fuerza bruta. Hay que bloquear a los usuarios o IP que cometan demasiados errores en la introducción de una contraseña. Es recomendable que los sistemas de control de acceso implementen sistemas de doble autenticación. Por otra parte los usuarios que se loguean tienen que usar los sistemas de doble autenticación. De esta forma, aunque un atacante consiga nuestra contraseña no podrá acceder a nuestro servicio y/o información. Etc. Aparte de securizar el control de accesos también podemos ser víctimas de otro tipo de ataques. Por ejemplo ataques de phishing mediante ingeniería social. Por lo tanto siempre tenemos que estar atentos de no estar en una página fraudulenta en el momento de introducir nuestra contraseña.\nConcienciar a las personas que hacen uso de un servicio En el ámbito empresarial y personal es importante formar y concienciar a los trabajadores y personas sobre la importancia de la buena gestión de las contraseñas.\nLa gente y los trabajadores tienen que ser conscientes que una mala gestión de las contraseñas puede traer consecuencias negativas como por ejemplo:\nRobo de información de una determinada empresa. Pérdida de información personal o confidencial como por ejemplo fotos, contratos, etc. Filtración de información confidencial sobre las actividades y estrategia de una determinada empresa. Que una tercera personas cometa actividades delictivas utilizando nuestras cuentas. Que un compañero de trabajo acceda a nuestras cuentas para perjudicar nuestro rendimiento laboral. Etc. Por lo tanto es extremadamente importante concienciar y formar a nuestros empleados y personas más cercanas.\nUsar gestores de contraseñas para proporcionar comodidad a los usuarios Los gestores de contraseñas son programas que guardan nuestras contraseñas y nombres de usuario en un archivo cifrado. La ubicación de este archivo puede ser nuestro propio ordenador o un servidor externo gestionado por un tercero.\nSu función principal es proporcionar comodidad a los usuarios. Proporcionan comodidad por los siguientes motivos:\nSon capaces de generar contraseñas aleatorias y seguras. Algunas soluciones son capaces de sincronizar las contraseñas en la totalidad de nuestros dispositivos. Además son capaces de auditar si las contraseñas que estamos usando en nuestros servicios son seguras, etc. Si nos falla la memoria en el momento de acceder a un servicio podemos acceder y consultar al gestor de contraseñas. De este modo podremos acceder al servicio de forma cómoda y rápida. Por lo tanto los gestores de contraseñas proporcionan comodidad al usuario, pero tenemos que tener en cuenta lo siguiente:\nLa contraseña que usemos para cifrar el archivo que contiene la totalidad de nuestras contraseñas tiene que ser extremadamente fuerte. Si un atacante se hace con nuestro archivo y consigue averiguar la contraseña, tendrá acceso a la totalidad de nuestros servicios. Si el archivo que almacena nuestras contraseñas está ubicado en un servidor de terceros o en la nube hay que tener precaución. En este caso tendremos que tener confianza que el servicio que almacena nuestras contraseñas es seguro y fiable. Algunos gestores de contraseñas que pueden probar son Kepass, LastPass, Revelation o OnePassword. Si investigan un poco encontrarán información sobre estos u otros gestores.\nHay servicios en que es extremadamente importante usar una contraseña segura Hay que ser consciente que hay servicios en que disponer de una buena contraseña es muy importante.\nUna contraseña muy importante es la de nuestro correo. Normalmente usamos nuestro correo para registrarnos a la totalidad de servicios que usamos. En el caso que uno de estos servicios sea comprometido siempre podremos usar el correo para recuperar el control del servicio. Por lo tanto en el correo es extremadamente importante seleccionar una contraseña robusta, activar la autenticación en 2 pasos, etc.\nOtro ejemplo de contraseña crucial es nuestra cuenta de Google. Si alguien nos roba nuestra cuenta de Google perderemos información valiosa como por ejemplo fotos, emails, datos almacenados en Google Drive, etc.\nPor lo tanto en este tipo de servicios críticos es extremadamente importante seguir la totalidad de consejos mencionados en este artículo.\nUsar equipos de confianza para acceder a servicios críticos Hay que usar un equipo seguro para acceder a nuestras cuentas bancarias o a un servicio que sea crítico. Eviten usar equipos públicos que pueden encontrar en bares, bibliotecas, hoteles, etc.\nEl riesgo que un equipo público o que no controlamos esté comprometido es mucho más elevado que en un equipo que es de nuestra confianza. A modo de ejemplo, un atacante podría infectar la totalidad de equipos de un cibercafé con un keylogger.\nImplementar un procedimiento para una correcta gestión de las contraseñas En el ámbito empresarial es importante que existan procedimientos que definan claramente los siguientes aspectos:\nDisponer de un listado de la totalidad de equipos y servicios que requieren de una clave de acceso. Forzar que los sistemas de autenticación solo acepten claves seguras y que se tengan que ir cambiando periódica y regularmente. Que las claves de acceso tengan definido un periodo de validez máximo. Disponer de un sistema y metodologia para distribuir y almacenar las claves de acceso. Etc. FUENTES USADAS PARA ELABORAR EL ARTÍCULO Gran parte del contenido de este artículo ha sido extraído del podcast número 25 de bitácora de ciberseguridad. Les ánimo a escuchar este podcast.\n","permalink":"https://geeklandlinux.github.io/posts/buenas-practicas-gestion-uso-contrasenas/","summary":"\u003cp\u003eEn el siguiente artículos veremos algunas de las pautas que deberíamos seguir para gestionar de forma adecuada nuestras contraseñas. No obstante antes de empezar es recomendable detallar la utilidad que tienen las contraseñas.\u003c/p\u003e","title":"Buenas prácticas en la gestión y uso de contraseñas"},{"content":"En el pasado artículo vimos como instalar y configurar fail2ban. A raíz de este artículo, a continuación veremos como podemos consultar los logs de fail2ban de forma fácil y sencilla.\nINSTRUCCIONES PARA CONSULTAR Y ANALIZAR LOS LOGS DE FAIL2BAN Existen varios métodos para ver el histórico de IP que ha bloqueado fail2ban. El primer método es mediante los logs de fail2ban. El segundo de ellos es consultando la base de datos sqlite de Fail2ban.\nNota: Únicamente las versiones de fail2ban iguales o superiores a la 0.9 disponen de base de datos sqlite. Consultar y analizar los logs de de Fail2ban Para realizar una consultar simple de los logs de fail2ban ejecutaremos el siguiente comando en la terminal:\nless /var/log/fail2ban.log Acto seguido obtendrán un resultado parecido al siguiente:\nComo se puede observar en la captura de pantalla parece que existen numerosos bloqueos y desbloqueos de la misma IP. Esto significa que fail2ban está protegiendo mi servidor SSH contra ataques de fuerza bruta.\nPor esto motivo, aparte de usar fail2ban se deberían tomar medidas adicionales como por ejemplo cambiar el puerto por defecto de nuestro servidor SSH, etc.\nSi queremos obtener listados más detallados podemos ejecutar los siguientes comandos:\nPara obtener un listado con el número de veces que ha sido bloqueada cada una de las IP ejecutaremos el siguiente comando en la terminal:\nzgrep -h \u0026#34;Ban \u0026#34; /var/log/fail2ban.log* | awk \u0026#39;{print $NF}\u0026#39; | sort | uniq -c Si pretendemos obtener un listado las IP que han sido bloqueadas durante el día de hoy ejecutamos el siguiente comando:\ngrep \u0026#34;Ban \u0026#34; /var/log/fail2ban.log | grep `date +%Y-%m-%d` | awk \u0026#39;{print $NF}\u0026#39; | sort | awk \u0026#39;{print $1,\u0026#34;(\u0026#34;$1\u0026#34;)\u0026#34;}\u0026#39; | logresolve | uniq -c | sort -n En el caso que pretendamos obtener un listado del número de bloqueos por día y por servicio ejecutaremos el siguiente comando:\nzgrep -h \u0026#34;Ban \u0026#34; /var/log/fail2ban.log* | awk \u0026#39;{print $5,$1}\u0026#39; | sort | uniq -c Consultar los datos registrados en la base de datos sqlite Si disponemos de una versión de fail2ban igual o superior a la 0.9 podemos consultar los bloqueos directamente de su base de datos.\nPara saber la ubicación de la base de datos de fail2ban ejecutamos el siguiente comando en la terminal:\nsudo fail2ban-client get dbfile El resultado obtenido en mi caso es el siguiente:\nCurrent database file is: `- /var/lib/fail2ban/fail2ban.sqlite3 Por lo tanto mi base de datos está ubicada en /var/lib/fail2ban/fail2ban.sqlite3.\nPara abrir y conectarnos con la base de datos ejecutaremos el siguiente comando:\nsudo sqlite3 /var/lib/fail2ban/fail2ban.sqlite3 Una vez conetactos a la base de datos ejecutaremos el siguiente comando para listar las tablas presentes en la base de datos:\nsqlite\u0026gt; .tables El resultado obtenido en mi caso es el siguiente:\nbans fail2banDb jails logs Por lo tanto tenemos disponibles 4 tablas. Para consultar la tabla logs ejecutaremos el siguiente comando en la terminal:\nsqlite\u0026gt; SELECT * FROM logs; Y si quisiéramos consultar la tabla bans ejecutaríamos el siguiente comando:\nsqlite\u0026gt; SELECT * FROM bans; Una vez realizadas las consultas nos desconectaremos de la base de datos ejecutando el siguiente comando:\nsqlite\u0026gt; .quit De esta forma tan fácil y tan sencilla podremos consultar el trabajo realizado por fail2ban.\n","permalink":"https://geeklandlinux.github.io/posts/como-consultar-logs-de-fail2ban/","summary":"\u003cp\u003eEn el pasado artículo vimos como \u003ca href=\"/posts/instalar-configurar-y-usar-fail2ban-para-evitar-ataques-de-fuerza-bruta/\"\u003einstalar y configurar fail2ban\u003c/a\u003e. A raíz de este artículo, a continuación veremos como podemos consultar los logs de fail2ban de forma fácil y sencilla.\u003c/p\u003e","title":"Como consultar y analizar los logs de Fail2ban para tomar decisiones"},{"content":"A continuación vamos a instalar y configurar Fail2ban con el fin de prevenir ataques de fuerza bruta en nuestro equipo o en nuestro servidor.\n¿QUÉ ES Y QUE FUNCIÓN REALIZA FAIL2BAN? Fail2ban es una herramienta de seguridad escrita en Python fundamental para cualquier servidor que preste servicios públicos.\nSu principal función es securizar un servidor del siguiente modo:\nEvitando accesos indeseados a nuestro equipo o servidor. Evitando ataques de fuerza bruta para que un tercero averigüe nuestra contraseña o tumbe el servidor. La forma en que fail2ban securiza nuestro servidor se describe a continuación.\n¿CÓMO TRABAJA FAIL2BAN? Por un lado fail2ban está monitorizando las autenticaciones que una determinada IP hace a un determinado/s puerto/s y servicio/s.\nPara ello fail2ban está consultando permanente los logs de autenticación de nuestro sistema como por ejemplo el /var/log/auth.log.\nSi fail2ban detecta un número determinado de intentos de conexión fallidos bloqueará la IP que está intentando acceder a nuestro equipo o el servicio. La forma de bloquear la IP será introduciendo una regla en el Firewall de nuestro equipo o servidor durante un tiempo determinado que por ejemplo pueden ser 600 segundos.\nUna vez transcurridos los 600 segundos, o el tiempo que nosotros queramos, se borrará la regla del firewall. Por lo tanto la IP que fue bloqueada podrá intentar conectar de nuevo a nuestro servidor.\nINSTRUCCIONES PARA INSTALAR FAIL2BAN Para instalar fail2ban tenemos que seguir las siguientes instrucciones.\nEn Debian y en distribuciones derivadas de Debian ejecutaremos el siguiente comando en la terminal:\nsudo apt-get install fail2ban En Fedora y distribuciones derivadas de Fedora tendremos que ejecutar el siguiente comando en la terminal:\nsudo dnf install fail2ban En sistemas operativos como por ejemplo CentOS ejecutaremos el siguiente comando:\nsudo yum install fail2ban Nota: Si el paquete fail2ban no está disponible en sus repositorios lo pueden instalar siguiendo las instrucciones que encontrarán en la plataforma de desarrollo de fail2ban. Si además queremos que se nos informe mediante un email cada vez que se bloquee una ip o se reinicie una de las jaulas deberemos instalar sendmail.\nPara ello en Debian y distribuciones derivadas de Debian ejecutaremos el siguiente comando en la terminal:\nsudo apt-get install sendmail En Fedora y distribuciones de Fedora ejecutaremos el siguiente comando en la terminal:\nsudo dnf install sendmail Para finalizar, en sistemas operativos como por ejemplo CentOS deberemos ejecutar el siguiente comando en la terminal:\nsudo yum install sendmail INSTRUCCIONES PARA CONFIGURAR FAIL2BAN En los siguientes apartados mostraremos como podemos configurar de forma sencilla fail2ban.\nConfiguración y consulta de los filtros La ubicación que contiene la totalidad de filtros de fail2ban es la siguiente:\n/etc/fail2ban/filter.d Algunos de los filtros que podemos encontrar son los siguientes:\nArchivo que contiene el filtro Función sshd.conf Filtro para detectar autenticaciones erróneas a un servidor SSH proftpd.conf Filtro para detectar autenticaciones erróneas al servidor ftp Proftp exim.conf Filtro para detectar autenticaciones a un servidor de correo Exim. Etc. La función de los filtros es definir las expresiones regulares para detectar autenticaciones erróneas o ataques a nuestro equipo o servicio.\nUna vez definida una expresión regular se irá comprobando que esta expresión no aparezca en ninguno de los logs de autenticación de nuestros servicios. En el caso que la expresión regular aparezca en los logs se contabilizará un intento fallido de autenticación.\nSi pretendemos usar los servicios estándares predeterminados de fail2ban no será necesario modificar ni crear ningún filtro.\nConfiguración y consulta de las acciones Otra ubicación interesante para la configuración de fail2ban es la siguiente:\n/etc/fail2ban/action.d En esta ruta se guardan la totalidad de scripts que definen diferentes tipos de acciones a aplicar cuando se detecta un intento de ataque, se arranca alguna de las jaulas, etc.\nEn principio no tendremos que modificar ni configurar parámetro de este apartado. Fail2ban ya trae predefinidas multitud de acciones.\nConfiguración de las reglas especificas para un servicio en el archivo jail.conf jail.conf es el archivo de configuración más importante. En este archivo es donde activamos, desactivamos y configuramos fail2ban para que proteja determinados servicios. De forma genérica se puede decir que en el archivo jail.conf realizamos las siguientes acciones\nActivamos o desactivamos la protección de fail2ban para un servicio determinado. Definimos el filtro y las acciones que se aplican a cada uno de los servicios. Se define el puerto de funcionamiento de un servicio determinado para que fail2ban pueda funcionar de forma adecuada. Se establece el log a controlar para detectar los intentos de autenticación erróneos. Se establece el número de intentos fallidos que permitimos antes que se aplique la acción para bloquear los intentos de autenticación erróneos. Etc. Antes de iniciar la configuración es recomendable duplicar el archivo de configuración jail.conf. Para ello ejecutamos el siguiente comando en la terminal:\nsudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local Una vez duplicado el archivo se deshabilitará la configuración del archivo jail.conf y se aplicará la del archivo jail.local. De esta forma siempre tendremos una copia de la configuración predeterminada de fail2ban.\nPara acceder a la configuración de las reglas ejecutamos el siguiente comando en la terminal:\nsudo nano /etc/fail2ban/jail.local El contenido del fichero jail.local está repleto de preconfiguraciones estándares para cada uno de los servicios que podemos proteger. Para activar y configurar las preconfiguraciones tan solo tenemos que comentar, descomentar y modificar los parámetros de cada una de la secciones.\nA modo de ejemplo localizamos la sección destinada a proteger nuestro servidor SSH contra ataques DdoS.\n[ssh-ddos] enabled = false port = ssh filter = sshd-ddos logpath = /var/log/auth.log maxretry = 6 Una vez localizada la sección vemos que la protección está desactivada porque el parámetro enabled tiene el valor false. Por lo tanto, para activar la protección modificaremos el valor campo enabled de false a true.\n[ssh-ddos] enabled = true port = ssh filter = sshd-ddos logpath = /var/log/auth.log maxretry = 6 El resto de parámetros de la sección los adaptaremos en función de nuestras necesidades. El significado de los parámetros que nos podemos encontrar dentro de una sección es el siguiente:\nParámetro Función enabled = Con los valores true y false activamos y desactivamos la protección que ofrece fail2ban para un determinado servicio. port = Definición de los puertos en que están trabajando los servicios que queremos proteger. filter = Se define el nombre del filtro a aplicar para detectar intentos de autenticación fallidos. Para ver la totalidad de filtros disponibles se puede visitar la ubicación /etc/fail2ban/filter.d logpath = Definición del log a monitorizar para detectar los intentos fallidos de autenticación. maxretry = Número de intentos de autenticación máximos fallidos antes de aplicar una acción de bloqueo. action = Para definir las acciones de bloqueo que se aplicarán en cada uno de los servicios que queremos proteger. La totalidad de acciones disponibles se hallan en la ubicación /etc/fail2ban/action.d findtime = Definimos el tiempo ha transcurrir para que el contador de intentos fallidos de una determinada IP se resetee. bantime = Definimos el tiempo en segundos que queremos bloquear una determinada IP. Normalmente un valor de 600 segundos es más que apropiado. Nota: Si la sección de un servicio no dispone de los parámetros mencionados en la tabla, entonces toman se toman los parámetros por defecto configurados en la sección [DEFAULT]. Una vez modificados la totalidad de parámetros de la sección [ssh-ddos] guardamos los cambios y salimos del fichero. Para que los cambios se hagan efectivos ejecutamos el siguiente comando para reiniciar fail2ban:\nsudo service fail2ban restart Acto seguido ya estaremos protegiendo nuestro servidor SSH contra ataques de denegación de servicio.\nConfiguración de alertas vía email en Fail2ban Si queremos podemos hacer que fail2ban nos avise cada vez que se bloquee una IP o haya alguna incidencia. Para ello, como hemos visto en apartados anteriores tendremos que tener instalado sendmail.\nUna vez instalado sendmail ejecutaremos el siguiente comando para averiguar la dirección de email usada por sendmail para enviar los emails:\necho \u0026#34;Email test enviado desde sendmail\u0026#34; | /usr/sbin/sendmail dirección_de_email_personal Nota: La parte de color rojo del comando la deberéis reemplazar por vuestro correo electrónico. Acto seguido abrimos nuestro correo electrónico y revisamos la bandeja de entrada y la bandeja de spam.\nTal y como pueden ver en la captura de pantalla sendmail usa la dirección pi@raspberrypi para enviar los emails.\nActo seguido accedemos dentro del fichero de configuración jail.local ejecutando el siguiente comando en la terminal:\nsudo nano /etc/fail2ban/jail.local A continuación, dentro de la sección [ACTIONS] localizamos y configuramos los siguientes parámetros del fichero de configuración:\nParámetro a configurar Valor destemail = Introducimos la dirección de email de gmail, hotmail, etc en la que queremos recibir los avisos. s****endername = En este apartado figurará el nombre de la persona o servicio que nos enviará el email. En mi caso dejo el valor por defecto que es: Fail2Ban s****ender = En el apartado sender introducimos la dirección con la que fail2ban enviará los emails. Como vimos al inicio de este apartado en mi caso tengo que introducir: pi@raspberrypi mta = Tenemos que asegurar que este parámetro sea: sendmail action = Dentro del archivo de configuración encontrarán varios valores para este campo. Para que se envíen las notificaciones podemos usar los siguientes valores: %(action_mw)s o %(action_mw)s Una vez modificados la totalidad de parámetros guardamos los cambios y salimos del fichero. Para que los cambios se hagan efectivos ejecutamos el siguiente comando para reiniciar fail2ban:\nsudo service fail2ban restart A partir de estos momentos cada vez que se arranque o pare una de las jaulas de fail2ban o se bloquee una ip se nos enviará notificaciones vía email.\nOtras configuraciones en la sección [DEFAULT] de jail.conf En el fichero jail.conf o jail.local existen otros parámetros de configuración que también podemos que considerar. Son los siguientes:\nParámetro a configurar Valor ignoreip = Se trata de una lista blanca de IP. En este campo podemos indicar una IP, varias IP o un rango de IP que no queremos que sean bloqueadas. En mi caso introduzco el valor 127.0.0.1/8. De esta forma ningún equipo de mi red local va a ser bloqueado por fail2ban. ignorecommand = Definimos un comando o script que no se aplicará cuando una determinada IP se intente conectarse a nuestro equipo o servidor. Un ejemplo del contenido de este campo podría se: ignorecommand = /scripts/fail2ban_ipcheck 176.15.12.230 bantime = Definición del tiempo de baneo estándar en segundos de una IP determinada. 600 segundos es un valor más que adecuado. maxretry = Número de veces que una determinada IP puede fallar la contraseña para acceder a un servicio. El valor estándar por defecto es 3. backend = Especificamos el modo en que fail2ban va a monitorizar los logs. En mi caso tengo el modo auto. El modo inicialmente probará pyinotify, entonces gamin y finalmente polling. usedns = Especificamos el comportamiento de fail2ban frente a la resolución inversa de peticiones DNS en los logs de autenticación de nuestros servicios. Nota: Si la sección de un servicio, como por ejemplo [ssh], contiene alguno de los parámetros de la sección [DEFAULT], entonces la configuración de la sección del servicio [ssh] prevalecerá sobre la configuración de la sección [DEFAULT]. Otras configuraciones en la sección [ACTIONS] de jail.conf En el apartado [ACTIONS] del fichero de configuración jail.local podemos configurar otros parámetros. Algunos de ellos son los siguientes:\nParámetro a configurar Valor banaction = Indicamos el bloqueo que se aplicará cuando se tenga que bloquear una ip. La diferentes opciones de bloqueo se hallan en la ubicación /etc/fail2ban/action.d/. En mi caso la configuración que acostumbro a usar es: iptables-multiport protocol = Se define el tipo de puertos que bloqueará fail2ban. El valor por defecto es tcp, pero en función de nuestras necesidades podemos seleccionar udp o all. chain = En este apartado tenemos que definir la cadena de iptables que queremos utilizar para bloquear las IP. Por defecto el valor es INPUT. En el 99,999% de cases tenemos tendremos que usar la cadena Input porque que Fail2ban está destinado a bloquear tráfico del exterior hacia nuestro servidor. port = En este apartado definimos el rango de puertos en que Fail2ban puede añadir en el Firewall. Por defecto se define el rango de puertos **0:**65535. action = Existen varias acciones predefinidas. En nuestro caso tenemos que elegir la acción a llevar a termino en caso que se tenga que bloquear a un IP determinada. Nota: Por norma general la configuración estándar de este fichero es adecuada y no es necesario modificarla. Consultar y definir la configuración general de fail2ban Inicialmente es recomendable duplicar el archivo de configuración genérico de fail2ban. Para ello ejecutamos el siguiente comando en la terminal:\nsudo cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local Una vez duplicado el archivo se deshabilitará la configuración del archivo fail2ban.conf y aplicará del archivo fail2ban.local. De esta forma siempre tendremos una copia de la configuración predeterminada de fail2ban.\nPara acceder a la configuración general de fail2ban ejecutamos el siguiente comando en la terminal:\nsudo nano /etc/fail2ban/fail2ban.local Dentro de este fichero podemos modificar los siguientes parámetros:\nParámetro Explicación del parámetro loglevel = Según la versión de fail2ban disponemos de diversos valores. Estos valores determinan el nivel de detalle que tendrán los logs de fail2ban. Por defecto el nivel de detalle es el 3 o el INFO. l****ogtarget = Se determina la ubicación del archivo que almacenará los logs de fail2ban. La ubicación por defecto es la /var/log/fail2ban.log socket = Especificamos la ruta del archivo que se usará para que las partes que actúan como cliente y servidor de fail2ban se puedan comunicar. La ruta por defecto es /var/run/fail2ban/fail2ban.sock y no es necesario modificarla. pidfile = Ruta del fichero que se usa para almacenar el numero de proceso del servidor fail2ban. Por defecto el fichero es el /var/run/fail2ban/fail2ban.pid dbfile = A partir de la versión 0.9 fail2ban guarda los datos de bloqueo en una base de datos sqlite. En este apartado indicaremos la ruta del archivo que contendrá la base de datos. La ruta por defecto es la /var/lib/fail2ban/fail2ban.sqlite3 Si únicamente pretendemos almacenar los logs de bloqueo en memoria, el valor de dbfile tendrá que ser :memory:. De esta forma los logs de bloqueo solo se guardarán mientras fail2ban esté activo. Si no queremos almacenar ninguna base de datos fijaremos el valor de dbfile en None dbpurgeage = Indicamos el periodo de tiempo que queremos almacenar las IP bloqueada en nuestra base de datos sqlite. Nota: El fichero de configuración genérica es válido para 99,9% de los casos. Por lo tanto rara vez tendremos que modificar ningún parámetro en este fichero. SERVICIOS CON LOS QUE PODEMOS USAR FAIL2BAN Fail2ban viene preconfigurado de forma predeterminada para poder usarse en multitud de servicios como por ejemplo los siguientes:\nSSH Servidores web como por ejemplo lighttpd, nginx y Apache Servidores ftp como por ejemplo vsftpd, proftpd, pure-ftpd. wuftpd En servidores de email como por ejemplo Postfix, exim, squirrelmail, Courier, dovecot, sasl, etc. Servicios de proxy como Squid. Otros servicios como Asterisk, FreeSWITCH, Drupal, Wordpress, etc. etc. VER LAS REGLAS DEL FIREWALL APLICADAS POR FAIL2BAN Supongamos que se bloquea una IP. Para confirmar que realmente se ha bloqueado la IP ejecutaremos el siguiente comando en la terminal:\nsudo iptables -L -n --line-numbers Acto seguido veréis un contenido parecido al siguiente:\nChain INPUT (policy ACCEPT) num target prot opt source destination 1 fail2ban-ssh-ddos tcp \u0026ndash; 0.0.0.0/0 0.0.0.0/0 multiport dports 2018 2 fail2ban-ssh tcp \u0026ndash; 0.0.0.0/0 0.0.0.0/0 multiport dports 2018Chain FORWARD (policy ACCEPT) num target prot opt source destinationChain OUTPUT (policy ACCEPT) num target prot opt source destinationChain fail2ban-ssh (1 references) num target prot opt source destination 1 REJECT all \u0026ndash; 146.83.221.242 0.0.0.0/0 reject-with icmp-port-unreachable 2 RETURN all \u0026ndash; 0.0.0.0/0 0.0.0.0/0Chain fail2ban-ssh-ddos (1 references) num target prot opt source destination 1 RETURN all \u0026ndash; 0.0.0.0/0 0.0.0.0/0 Por lo tanto podrán ver que la IP 146.83.221.242 ha sido bloqueado. Para que esta IP sea desbloqueada podemos esperar que transcurra el tiempo que hayamos definido. Si no queremos esperar podemos ejecutar el siguiente comando en la terminal:\nPara borrar la IP de la línea 1 de la jaula fail2ban-ssh ejecutaremos el siguiente comando en la terminal:\nsudo iptables -D fail2ban-ssh 1 Acto seguido si volvemos a aplicar el comando\nsudo iptables -L -n --line-numbers Veremos que ya no existe ningún tipo de bloqueo en el firewall.\nINSTRUCCIONES PARA CONSULTAR LOS LOGS Si quieren consultar los logs de fail2ban les invito a seguir las instrucciones que se mencionan en el siguiente artículo:\nhttps://geeklandlinux.github.io/como-consultar-logs-de-fail2ban/\n","permalink":"https://geeklandlinux.github.io/posts/instalar-configurar-y-usar-fail2ban-para-evitar-ataques-de-fuerza-bruta/","summary":"\u003cp\u003eA continuación vamos a instalar y configurar Fail2ban con el fin de prevenir ataques de fuerza bruta en nuestro equipo o en nuestro servidor.\u003c/p\u003e","title":"Instalar configurar y usar fail2ban para evitar ataques de fuerza bruta"},{"content":"En mi caso reproducir vídeos a través del navegador web me genera problemas de rendimiento. La única solución efectiva para solucionar los problemas de rendimiento ha sido usar VLC para reproducir prácticamente la totalidad de vídeos que encuentro en webs como Youtube, Vimeo, DailyMotion, Twitch, etc. Por esto motivo a continuación detallaré la forma que utilizo para reproducir los vídeos del navegador a VLC.\n¿POR QUÉ RECOMIENDO USAR VLC PARA REPRODUCIR VÍDEOS QUE ENCONTRAMOS EN LA WEB? En mi caso ningún navegador se comporta bien con mi vieja tarjeta gráfica Nvidia. Esto hace que en el momento de reproducir un vídeo el consumo de CPU de mi ordenador se dispare al 100%.\nPara solucionar este problema he probado muchas soluciones extensiones y configuraciones, pero la única solución que me ha funcionado es reproducir vídeos con VLC.\nCon VLC mi tarjeta gráfica funciona de forma adecuada y por lo tanto el consumo de CPU es extremadamente bajo siendo siempre inferior al 10%. Esto me proporciona las siguientes ventajas:\nMi ordenador sufre menos para reproducir un vídeo. No se sobrecalienta el procesador y por lo tanto la vida útil del ordenador se incrementa. El consumo de energía y batería para reproducir un vídeo es mucho menor. Además reproduciendo los vídeos con VLC evitaremos la molesta publicidad que nos ofrecen servicios como Youtube. Por lo tanto en mi caso tengo una buena razón para usar el reproductor VLC.\nNota: Como curiosidad, en mi caso el único navegador que tiene un rendimiento adecuado reproduciendo vídeos de Internet es Microsoft Edge. ¿CÓMO REPRODUCIR VÍDEOS DEL NAVEGADOR WEB EN VLC? Reproducir vídeos de Youtube, Vimeo o Dailymotion en VLC es extremadamente fácil.\nTan solo tenemos que abrir el navegador en la URL que contiene el vídeo que queremos visualizar. Seguidamente, tal y como se puede ver en la captura de pantalla, copiamos la URL en la que está el vídeo que queremos visualizar.\nA continuación abrimos VLC y presionamos la combinación de teclas Ctrl+N. Seguidamente en la ventana Abrir medio pegamos la URL que acabamos de copiar y presionamos el botón Reproducir.\nActo seguido empezará la reproducción del vídeo en VLC.\nSi el proceso de este apartado os parece lento o pesado, a continuación veremos como podemos automatizarlo. Una vez automatizado el proceso podremos reproducir vídeos en VLC de forma extremadamente sencilla y rápida.\n¿CÓMO REPRODUCIR VÍDEOS DEL NAVEGADOR WEB EN VLC CON OPEN IN VLC? Para facilitar el proceso de reproducción de los vídeos que visualizamos en el navegador en VLC podemos usar la extensión Open in VLC.\nEsta extensión está disponible para los navegadores web más usados. La podremos instalar en navegadores como Chrome, Firefox y Opera.\nInstalar la extensión Open in VLC para reproducir vídeos de nuestro navegador con el reproductor VLC El primer paso para instalar la extensión Open in VLC es acceder a la URL de instalación de la extensión. Las URL para instalar la extensión son las siguientes:\nOpera: URL para la instalación de Open in VLC en Opera\nGoogle Chrome: Web para la instalación de Open in VLC en Chrome\nFirefox: URL para la instalación de Open in VLC en Firefox\nComo en mi caso utilizo Firefox accedo a la siguiente URL:\nhttps://addons.mozilla.org/es/firefox/addon/open-in-vlc/\nPara instalar la extensión clicamos sobre el botón Agregar a Firefox:\nSeguidamente concedemos los permisos necesarios para que Open in VLC pueda funcionar de forma adecuada pulsando sobre el botón Añadir.\nA continuación, accedemos a la página de Youtube y realizamos las siguientes acciones:\nPosicionamos el puntero del mouse encima del link que clicariamos para acceder dentro del vídeo. Presionamos el botón derecho del mouse y cuando aparezca el menú contextual clicamos encima de la opción Open in VLC. Seguidamente aparecerá la siguiente pantalla en la que deberemos continuar con la instalación de la extensión. Para ello, tal y como se puede ver en la captura de pantalla, clicaremos en el link here. Acto seguido se descargarán los archivos restantes para finalizar con la instalación de la extensión.\nEl siguiente paso consiste en descomprimir el archivo que acabamos de descargar dentro de una carpeta que en mi caso nombraré playonVLC.\nUna vez descomprimido el archivo accedemos dentro de la carpeta. En el caso que estemos usando el sistema operativo GNU-Linux finalizaremos la instalación ejecutando el siguiente comando en la terminal:\n./install.sh El procedimiento descrito se puede ver en la siguiente captura de pantalla.\nEn el caso que estemos usando Microsoft Windows clicaremos sobre el archivo ejecutable install.bat para finalizar la instalación.\nNota: Al finalizar la instalación no borréis la carpeta playonVLC. El contenido de esta carpeta será necesario para deshacer la instalación de la extensión. Con estos simples pasos ya tendremos instalada la extensión Open in VLC.\nComo reproducir vídeos del navegador web en VLC con Open in VLC A partir de estos momentos visualizar un vídeo en VLC es extremadamente fácil. Tan solo tenemos que ir a la URL que contiene el vídeo. Una vez estemos visualizando el vídeo tan solo tendremos que clicar encima del icono de Open in VLC media player.\nActo seguido empezará la reproducción del vídeo en VLC.\nAparte de clicar encima del icono disponemos de formas adicionales para reproducir vídeos del navegador con VLC. Una de estas formas puede ser la siguiente:\nPosicionamos el puntero del mouse encima del link que clicaríamos para acceder dentro del vídeo. Presionamos el botón derecho del mouse y cuando aparezca el menú contextual clicamos encima de la opción Open in VLC. Justo después de clicar empezará la reproducción del vídeo en VLC.\nNota: La extensión solo funcionará en las webs que Open in VLC sea capaz de reconocer los enlaces del streaming. RESOLUCIÓN DE PROBLEMAS Existe la posibilidad que la extensión Open in VLC no funcione porque no es capaz de detectar/ubicar el archivo binario para ejecutar VLC. Si es este el caso lo pueden solucionar del siguiente modo:\nEl primer paso consiste en acceder a la configuración de la extensión Open in VLC.\nJusto después de acceder a la configuración verán la ruta preestablecida del archivo binario para iniciar VLC. En mi caso, tal y como se puede ver en la captura de pantalla, la ruta es incorrecta.\nComo es incorrecta introduciré la ruta correcta y acto seguido presionaré el botón Save.\nCon estos simples pasos ahora deferían poder reproducir vídeos del navegador web al reproductor VLC sin ningún tipo de problema.\nDESINSTALAR LA EXTENSIÓN OPEN IN VLC Si algún día precisan desinstalar la extensión Open in VLC deberán deshacer los pasos realizados del siguiente modo.\nDesinstalar Open in VLC en GNU Linux Mediante la terminal de Linux accederemos dentro de la carpeta playonVLC. Seguidamente ejecutaremos el siguiente comando en la terminal:\n./uninstall.sh Una vez ejecutado el comando tan solo tendremos que desinstalar la extensión que instalamos en el navegador. De esta forma tan simple podremos deshacer la totalidad de acciones que hemos realizado en el caso que lo necesitemos.\nDesinstalar Open in VLC en Windows Desinstalar Open in VLC en Windows es tan o más fácil que en Linux. Tan solo tienen que acceder a la carpeta playonVLC que contiene los archivos de instalación. Una vez dentro de la carpeta tan solo tendremos que hacer doble click sobre el archivo:\nuninstall.bat Acto seguido tan solo tendremos que desinstalar la extensión que instalamos en el navegador.\n","permalink":"https://geeklandlinux.github.io/posts/reproducir-videos-del-navegador-web-en-vlc/","summary":"\u003cp\u003eEn mi caso reproducir vídeos a través del navegador web me genera problemas de rendimiento. La única solución efectiva para solucionar los problemas de rendimiento ha sido usar VLC para reproducir prácticamente la totalidad de vídeos que encuentro en webs como Youtube, Vimeo, DailyMotion, Twitch, etc. Por esto motivo a continuación detallaré la forma que utilizo para reproducir los vídeos del navegador a VLC.\u003c/p\u003e","title":"Cómo reproducir vídeos del navegador web en VLC y sus ventajas"},{"content":"Es posible que tengáis configurada vuestra Raspberry Pi para que arranque en modo escritorio y queráis cambiarlo a modo consola o viceversa. Si este es vuestro caso tan solo hay que seguir estos simple consejos.\nCONFIGURAR LAS OPCIONES DE ARRANQUE DE LA RASPBERRY PI En la terminal de la Raspberry Pi ejecutan el siguiente comando en la terminal:\nsudo raspi-config Seguidamente aparecerá una pantalla con diferentes opciones de configuración. Con los cursores seleccionaremos la opción Boot Options y presionaremos Enter.\nA continuación seleccionaremos la opción Desktop / CLI y presionaremos Enter.\nFinalmente tendremos que seleccionar la opción de arranque que queramos. La opciones de arranque disponibles son las siguientes:\nB1 Console: La Raspberry Pi arrancará en modo consola. Justo al finalizar el arranque deberemos indicar el usuario que queremos usar e introducir su contraseña. B2 Console Autologin Text console: Nuestro dispositivo arrancará de forma automática en modo consola con el usuario Pi y sin tener que introducir ninguna contraseña. B3 Desktop: Nuestra Raspberry Pi arrancará en modo gráfico. Una vez arrancada tendremos que seleccionar el usuario e introducir su contraseña. N4 Desktop Autologin: La Raspberry Pi arrancará en modo gráfico. Justo al finalizar el arranque tendremos que seleccionar el usuario que queremos usar e introducir su contraseña. En mi caso selecciono la opción Console Autologin Text console y presiono Enter. Selecciono este modo de arranque porque siempre uso mi Raspberry Pi en modo consola y porque quiero que mi Raspberry Pi se reinicie sin problemas en el caso que se interrumpa el suministro eléctrico.\n¿CÚAL ES EL MODO DE ARRANQUE QUE DEBO USAR EN LA RASPBERRY PI? Como hemos visto en el apartado anterior la Raspberry pi dispone de 4 modos de arranque. En función del uso que hagamos de nuestra Raspberry será más conveniente que usemos un modo u otro. Por lo tanto a continuación detallaré de forma breve en que situaciones es más conveniente usar un modo u otro.\nSituaciones en que recomiendo usar el modo gráfico Si vuestra intención es usar la Raspberry Pi como un ordenador entonces no lo dudéis. La única opción que tenéis es seleccionar una de las 2 opciones para arrancar en modo gráfico.\nDe este modo podréis usar vuestra Raspberry Pi para las siguientes tareas:\nOfimática. Aprender a programar. Centro multimedia. Navegar por la web. Etc. En modo gráfico también podréis realizar absolutamente todo lo que se puede realizar en modo terminal, el único inconveniente es que el consumo de recursos será bastante más elevado que en modo consola.\nSituaciones en las que recomiendo usar el modo consola Si lo que pretendéis es usar vuestra Raspberry Pi como servidor entonces es mejor usar el modo consola. El modo consola es ideal si el uso de vuestra Raspberry Pi es el siguiente:\nPara montaros vuestro propio servidor VPN. Tener disponible vuestra nube personal con Nextcloud. Para bloquear la publicidad con Pi-hole. Disponer de un servidor web en casa. Para tener vuestras propio servicio de notas en la nube. Construir un centro multimedia. Para montar un servicio que nos proporcione música en streaming. Etc. Para estos usos no precisamos para nada la terminal. Por lo tanto es mucho más eficiente y práctico arrancar en modo consola ya que el consumo de recursos será mucho menor. Obviamente el uso de la terminal requiere de una curva de aprendizaje, pero no os tenéis que preocupar porque usar la terminal es más fácil de lo que parece.\n","permalink":"https://geeklandlinux.github.io/posts/iniciar-raspberry-pi-en-modo-consola/","summary":"\u003cp\u003eEs posible que tengáis configurada vuestra Raspberry Pi para que arranque en modo escritorio y queráis cambiarlo a modo consola o viceversa. Si este es vuestro caso tan solo hay que seguir estos simple consejos.\u003c/p\u003e","title":"Iniciar Raspberry Pi en modo consola o en modo gráfico"},{"content":"Sin duda alguna y con una diferencia abismal, VLC es el mejor reproductor de vídeo existente en cualquier sistema operativo. Los motivos por los cuales realizo esta afirmación con una seguridad absoluta son los siguientes:\nEl rendimiento del reproductor es perfecto. El consumo de CPU al reproducir los vídeos es menor que con la mayoría de programas existentes. Es capaz de reproducir prácticamente la totalidad de formatos de vídeo y de audio. Incluso puede reproducir vídeos en HDR. Desde de la versión 3.0 dispone de soporte para Chromecast. Es multiplataforma y lo podemos usar en prácticamente cualquier sistema operativo existente en la actualidad. Lo podemos usar en Linux, Chromebooks, Windows, MacOS, Android, iOS, Xbox One, etc. VLC no es tan solo un reproductor multimedia. Tiene otras funcionalidades como por ejemplo hacer screencast, convertir archivos de audio y vídeo, descargar subtítulos de series y películas, reproducir vídeos online como por ejemplo vídeos o listas de Youtube, descargar vídeos de Youtube, solucionar problemas de sincronización entre audio y vídeo, escuchar podcast, grabar vídeos mediante nuestra webcam, ver la televisión mediante enlaces RTMP, etc. Puede reproducir vídeos con una resolución de hasta 8K. Tiene la capacidad de reproducir vídeos almacenados en otros dispositivos de nuestra red local mediante protocolos como SMB, FTP, SFTP, NFS. Podemos realizar capturas de pantalla de los vídeos que estamos visualizando. Nos permite definir Bookmarks en ciertos partes de los vídeos. Así siempre que queramos podremos acceder a las partes de los vídeos que más nos interesen de forma inmediata. Permite modificar la velocidad de reproducción de forma rápida y sencilla. Etc. Por si todas estas bondades no son suficientes a continuación veremos como podemos incluso ampliar las funcionalidades que aporta VLC mediante la instalación de complementos y extensiones.\nCOMO INSTALAR COMPLEMENTOS Y EXTENSIONES DE VLC El primero de los pasos es conocer las fuentes de donde podemos obtener complementos y extensiones. Para ello tan solo tienen que seguir las siguientes indicaciones.\nFuentes para obtener complementes y extensiones de VLC Desde el mismo programa de VLC podemos instalar los complementos y extensiones de forma fácil y cómoda. No obstante no es la opción más recomendable porque muchas de las extensiones y complementos que ofrecen no están actualizadas.\nLa mejor fuente para obtener e instalar complementos y extensiones es acceder a la web oficial de complementos y extensiones de VLC:\nhttps://addons.videolan.org/\nDentro de la web encontrarán el siguiente contenido:\nLa totalidad de extensiones clasificadas por popularidad, por categoría y por su fecha de actualización. Los enlaces de algunas de las extensiones a su repositorio de desarrollo de Github. En el repositorio de desarrollo de Github siempre encontraremos la versión más actualizada de la extensión. Instalar complementes y extensiones de VLC Como hemos dicho en el apartado anterior accedemos a la web para obtener los complementos y extensiones de VLC.\nhttps://addons.videolan.org/\nUna vez dentro de la web navegan y seleccionan el complemento que que quieren instalar. En mi caso instalaré el complemento TuneIn Radio para poder escuchar prácticamente cualquier emisora de radio a través de Internet.\nUna vez dentro de la página de la extensión tienen que leer y aplicar las instrucciones de instalación. En el caso de TuneIn Radio primero tenemos que descargar el Script que ampliará las funciones de VLC. Para ello clicamos en el menú Files.\nA continuación pulsamos en el icono para descargar el script.\nSeguidamente descomprimimos el archivo que acabamos de descargar.\nEl siguiente paso consiste en acceder dentro de la carpeta que acabamos de descomprimir. Una vez dentro vemos el siguiente contenido:\nA continuación, en función del sistema operativo que usamos copiamos el archivo tunein.lua dentro de la siguiente ubicación:\nRuta copia tunein.lua GNU Linux ~/.local/share/vlc/lua/sd/ Windows C:\\Archivos de programa\\VideoLAN\\VLC\\lua\\sd MacOS ~/Library/Application\\ Support/org.videolan.vlc/lua/sd/ Finalmente, en función del sistema operativo que usamos copiamos todo el contenido de la carpeta playlist en la siguiente ubicación:\nRuta copia contenido carpeta playlist GNU Linux ~/.local/share/vlc/lua/playlist/ Windows C:\\Archivos de programa\\VideoLAN\\VLC\\lua\\playlist MacOS ~/Library/Application\\ Support/org.videolan.vlc/lua/ Usar el complemento o extensión que acabamos de instalar En estos momentos la instalación ha finalizado y podemos empezar a sacarle partido. Las instrucciones de uso se acostumbran a encontrar en la URL de donde nos hemos descargado la extensión.\nEn el caso de TuneIn Radio tenemos que acceder a la lista de reproducción de VLC. Si no acceden automáticamente a la lista de reproducción cliquen sobre el icono Alternar lista de reproducción.\nEn el apartado Internet de la lista de reproducción clican sobre la entrada TuneIn Radio y en el panel de la derecha tendrán todas las radios disponibles clasificadas por categorías. Además dispondrán de un buscador que facilitará la tarea de encontrar la emisora que están buscando.\nEXTENSIONES INTERESANTES QUE RECOMIENDO INSTALAR Las extensiones de VLC son una gran idea, no obstante es una pena que gran parte de las extensiones existentes para VLC no funcionen y/o tengan un mantenimiento deficiente. Por este motivo en este apartado solo citaré 3 extensiones que son las que uso y por lo general acostumbran a funcionar.\nEscuchar la radio mediante la extensión TuneIn Radio La extensión de TuneIn Radio nos permitirá escuchar la totalidad de emisoras que están presentes en la web de TuneIn Radio, pero a través de VLC. En apartados anteriores de este post hemos detallado su uso e instalación. Para descargar esta extensión pueden acceder a la siguiente:\nhttps://addons.videolan.org/p/1153982/\nReproducir listas de vídeos de Youtube Esta extensión nos permitirá poder reproducir y descargar la totalidad de vídeos de una lista de reproducción de Youtube .Para poder instalar y usar esta extensión tendrán que acceder a la siguiente URL:\nhttps://addons.videolan.org/p/1154080/\nSi tienen paciencia pueden ir probando distintas extensiones para ver si son útiles y funciona.\n","permalink":"https://geeklandlinux.github.io/posts/como-instalar-extensiones-de-vlc/","summary":"\u003cp\u003eSin duda alguna y con una diferencia abismal, VLC es el mejor reproductor de vídeo existente en cualquier sistema operativo. Los motivos por los cuales realizo esta afirmación con una seguridad absoluta son los siguientes:\u003c/p\u003e","title":"Como instalar complementos y extensiones de VLC"},{"content":"Lamentablemente cada día es más frecuente que apps de nuestro dispositivo móvil, páginas web que visitamos o programas que instalamos en nuestro ordenador utilicen la capacidad de procesamiento de nuestro equipo para minar criptomonedas sin pedirnos permiso.\n¿QUÉ INCONVENIENTES GENERA QUE USEN TU EQUIPO PARA MINAR CRIPTOMONEDAS? Obviamente que una tercera persona utilice nuestro procesador y nuestro hardware para minar criptomonedas tiene consecuencias importantes. Algunas de ellas son las siguientes:\nSobrecalentamiento del procesador de nuestro equipo. Cualquiera sobrecalentamiento generará que la vida útil de nuestro equipo se reduzca. El consumo de batería y energía de nuestro equipo será mayor. El consumo de energía necesario para minar criptomonedas es muy elevado. Nuestro dispositivo se volverá lento. Por lo tanto cuando queramos abrir un programa o realizar cualquier acción se realizará de forma más lenta de lo habitual. MOTIVOS POR LOS QUE LOS DESARROLLADORES DE UN SOFTWARE INTENTAN MINAR CRIPTOMONEDAS USANDO NUESTRO HARDWARE Los webmasters y desarrolladores de aplicaciones utilizan nuestro hardware, nuestra electricidad y nuestros recursos para obtener criptodivisa de forma totalmente gratuita. Por lo tanto, quien aplica este tipo de técnicas pretende sacar un beneficio económico.\nLos beneficios que se pueden llegar a sacar aplicando este tipo de prácticas son más importantes de lo que parece.\nRecientemente la aplicación Calendar 2 vulnero los mecanismos de seguridad de la App Store. Durante los 3 días que está app estuvo en la Appstore mino criptomoneda aprovechándose de sus usuarios. Durante tan solo 3 días fue capaz de generar más de 2000 dólares. Este beneficio seguramente es mayor que el beneficio ordinario que genera la venta de su app.\nViendo el resultado obtenido no es de descartar que día tras días sean más las personas que se dediquen a aplicar esto tipo de prácticas.\n¿ES ÉTICO APLICAR ESTE TIPO DE PRÁCTICAS? Esta forma de actuar es ética siempre y cuando el administrador de la web o desarrollador de la aplicacion informe de lo que realmente está realizando. En caso de no informar, los calificativos que me vienen a la cabeza son los siguientes:\nLadrón: Si una tercera persona consume mi electricidad y desgasta mi equipo sin darle permiso es un ladrón. Ciberdelincuentes: Aplicar este tipo de prácticas puede implicar la instalación de malware en un equipo. Quien instala malware en un equipo se le puede calificar como ciberdelinciente. Por lo tanto mi opinión es que si el usuario está debidamente informado que están usando su dispositivo para minar criptmoneda es una práctica aceptable porque el usuario tiene derecho a elegir si visita la web o usa una determinada aplicación.\nEn cambio si se usan los recursos de los usuarios sin pedirles autorización previa la situación es la opuesta.\n¿ĆUÁL ES EL FUTURO DE ESTE TIPO DE PRÁCTICAS? Como hemos visto los beneficios obtenidos aplicando este tipo de prácticas pueden ser importantes. Por lo tanto existen posibilidades que los propietarios de páginas web y desarrolladores de aplicaciones popularicen este tipo de prácticas. De este modo es posible que nos encontremos frente a estas situaciones:\nPagar una aplicación o el uso de un servicio web mediante la cesión de parte de la potencia de nuestra CPU. Los propietarios de páginas web y desarrolladores intentarán sustituir la publicidad por el minado de criptomoneda con el fin de poder financiar su trabajo. Quien acabará dictando si este tipo de prácticas son aceptadas y/o popularizadas seremos nosotros mismos. En lo particular pienso que la publicidad no aporta nada positivo a la sociedad, pero el minado de criptomonedas es incluso peor. Es peor por los siguientes motivos:\nLa gran mayoría de usuarios ceden el uso de su CPU para que un tercero mine criptomonedas sin ser conscientes de ello. Las valores éticos de las criptomonedas son más que cuestionables. En mi caso asocio criptomoneda con adjetivos como especulación, burbuja, compra de productos o servicios no lícitos, utopía económica, blanqueo de dinero, evasión de impuestos, etc. A pesar de ser un sistema descentralizado y no regulado por los gobiernos, las criptodivisas no han aportado nada positivo a la sociedad. Inicialmente las criptomonedas tenían el objetivo que las economías dejarán de ser controladas por los gobiernos, pero al final las criptomonedas han acabado siendo un producto especulativo más. Por estos y otros motivos empresas como Google y Facebook prohíben o prohibirán los anuncios de criptomonedas en sus plataformas.\nPor lo tanto mi consejo es que intenten evitar aplicaciones y páginas web que minen criptodivisas aprovechándose de vuestro hardware.\nEn futuras semanas veremos como detectar aplicaciones y webs que aplican este tipo de técnicas y daremos las instrucciones oportunas para podernos defender frente a este tipo de situaciones.\n","permalink":"https://geeklandlinux.github.io/posts/aplicaciones-webs-minar-criptomonedas/","summary":"\u003cp\u003eLamentablemente cada día es más frecuente que apps de nuestro dispositivo móvil, páginas web que visitamos o programas que instalamos en nuestro ordenador utilicen la capacidad de procesamiento de nuestro equipo para minar criptomonedas sin pedirnos permiso.\u003c/p\u003e","title":"Aplicaciones y webs que usan nuestro equipo para minar criptomonedas"},{"content":"A pesar que Google Maps es una herramienta que vulnera nuestra privacidad también que hay remarcar que es una herramienta muy útil para organizar y planificar nuestros viajes. Por este motivo en el siguiente enlace veremos como podemos organizar y planificar nuestro viaje con Google Maps y My Maps en tan solo cuestión de minutos.\nGoogle Maps es una herramientas que todo el mundo conoce, pero no sabe como exprimirla y sacarle el 100% de utilidad. En definitiva es una aplicación y servicio infrautilizado.\nVENTAJAS DE PREPARAR UN VIAJE CON GOOGLE MAPS Y MY MAPS Las ventajas que nos proporcionará Google Maps para organizar nuestros viajes son numerosas. Algunas de ellas las destaco a continuación:\nNuestra ruta y puntos de visita quedan almacenados en Google Maps. De esta forma en un futuro podremos consultar y/o volver a visitar los puntos que definamos en el mapa. Google Maps es un excelente navegador GPS. Una vez introducidos nuestros puntos de visita podremos llegar fácilmente a ellos a través de su navegador GPS. Nos da indicaciones exactas y precisas para llegar a nuestros puntos de visita ya sea andando, en transporte público, en coche, etc. Google Maps es capaz de proporcionar información sobre los sitios que estamos visitando. En caso que no proporcione información la podemos nosotros introducir manualmente antes del viaje. Todos los sitios y monumentos donde queremos ir los tendremos ubicados sobre un mapa y los podremos consultar cuando necesitemos. Quedan almacenados la totalidad de hoteles y restaurantes que visitamos. Podemos añadir anotaciones de que nos han parecido los hoteles y restaurantes. Tenemos la posibilidad de compartir los mapas creados con nuestros amigos o simplemente hacerlos públicos para todo el mundo. Todo esto da como resultado que el tiempo necesario para preparar nuestro viaje será mucho más rápido de lo habitual y además los resultados que obtendremos serán más satisfactorios.\nINSTRUCCIONES PARA PREPARAR UN VIAJE CON GOOGLE MAPS Y MY MAPS A continuación podréis el método que acostumbro a utilizar para organizar la totalidad de mis viajes con Google Maps y Google My Maps.\nCrear un mapa de los puntos a visitar con My Maps Para crear un mapa tenemos que abrir My Maps. Existe una aplicación de Android e iOS para My Maps, pero en mi caso prefiero usar el navegador web. Por lo tanto abrimos nuestro navegador web y entramos en la siguiente URL:\nhttps://www.google.com/maps/d/\nUna vez dentro de la URL veremos la totalidad de mapas propios que tenemos disponibles. Para crear un nuevo mapa tan solo tenemos que presionar sobre el botón +.\nEl siguiente paso consiste en dar un nombre a nuestro mapa. Para ello haremos un clic encima del texto mapa sin nombre.\nEntonces se desplegará una ventana en la que deberemos escribir el nombre del mapa y una pequeña descripción. Acto seguido presionaremos el botón Guardar.\nEntrar las ubicaciones que queremos visitar en el mapa Una vez creado el mapa tenemos que entrar la totalidad de ubicaciones que queremos visitar.\nAlgunas de las ubicaciones que considero interesantes introducir en el mapa son:\nHoteles. Aeropuertos. Estaciones de tren. Puntos y monumentos que queremos visitar. Direcciones o puntos en los que podemos estacionar nuestro medio de transporte de forma gratuita. Restaurantes. Etc. Para añadir una ubicación tenemos que proceder del siguiente modo:\nEn el cuadro de búsqueda de My Maps tecleamos el punto que queremos localizar y una vez encontrado clicamos sobre él.\nUna vez localizado el punto que queremos visitar clicamos encima de la opción Añadir al mapa.\nCon estos simples pasos ya hemos añadido el aeropuerto de la Coruña sobre el mapa. Ahora tan solo tenemos que repetir el proceso para añadir la totalidad de puntos de interés. En mi caso después de añadir la totalidad de puntos obtengo el siguiente resultado:\nNota: Para elegir los puntos que se quieren visitar les recomiendo que busquen por internet. Existen miles de páginas web que nos recomendarán sitios para visitar de un determinado pueblo o ciudad. En caso que tengamos que elegir hoteles y restaurantes no serán tremendamente útiles apps como Trip Advisor, Trivago y Booking. Añadir comentarios a nuestro puntos de visita Una vez introducidos los puntos de visita podemos añadir notas en cada uno de los puntos. Para ello clicamos en el icono de opciones de capa y cuando aparezca el menú desplegable clicamos encima de la opción Abrir tabla de datos.\nA continuación podremos ir añadiendo la totalidad de comentarios que creamos pertinentes en cada uno de los puntos que hemos introducido. Una vez introducidos la totalidad de comentarios podemos cerrar la ventana sin ningún tipo de problema.\nCreación de capas en My Maps para organizar nuestra viaje Si lo consideramos necesario podemos organizar nuestros puntos de visita por capas.\nLa clasificación por capas que realizaremos es personal y puedo variar en función del propósito de nuestro viaje. En mi caso la clasificación realizada se basa en los puntos que visitaremos en un día y es las siguiente:\nUna vez definidas las capas en que queremos clasificar nuestros puntos de interés las crearemos. Para ello pulsamos encima del botón Añadir capa.\nA continuación clicamos encima de la capa que acabamos de crear para darle un nombre:\nAparecerá una ventana en la que escribiremos el nombre que queremos que tenga la capa y acto seguido presionaremos el botón Guardar.\nUna vez creada la capa hotel repetiremos el proceso para crear las capas Día1, Día 2, etc.\nUna vez creadas todas las capas tendréis una situación parecida a la siguiente:\nAñadir puntos de visita dentro de la capa correspondiente El siguiente paso consiste en clasificar cada uno de los puntos introducidos en el mapa dentro de la capas que hemos creado. Para ello tan solo tenemos que arrastrar los puntos dentro de la capa correspondiente:\nUna vez clasificados la totalidad de puntos obtendremos un resultado parecido al siguiente:\nEn estos momentos tengo todos los puntos que quiero visitar dentro de las capas que he creado. Por lo tanto, a estas altura ya tengo organizado mi viaje.\nNota: Las capas se pueden activar y desactivar. De este modo podremos ocultar los puntos de visita de una determinada capa cuando lo creamos conveniente. Personalizar gráficamente los puntos de visita introducidos en el mapa Tenemos la posibilidad de personalizar cada uno de los puntos de los mapas con iconos y con colores. De esta forma podremos localizar más fácilmente los puntos que queremos visitar.\nLos iconos que tenemos disponibles son:\nParking. Casa. Restaurante. Monumento. Llegada. Etc. Nota: Existen centenares de iconos y colores disponibles para poder elegir. Para personalizar nuestros puntos de visita deberemos proceder del siguiente modo:\nClicamos sobre el punto al que queremos asignar un icono y a continuación presionamos sobre el icono de Estilo.\nSeguidamente podremos seleccionar el icono y color que queramos.\nUna vez personalizado uno de los puntos podemos personalizar el resto de puntos de nuestro mapa del mismo modo.\nCOMO USAR NUESTRO DISPOSITIVO MÓVIL CON GOOGLE MAPS DURANTE EL VIAJE Una vez finalizado el trabajo ya podemos pasar a la acción. Una vez llegados al sitio de destino abrimos abrimos la aplicación Google Maps en nuestro teléfono móvil. Seguidamente clicamos sobre la opción para desplegar el menú:\nUna vez desplegado el menú clicamos en la opción Tus sitios:\nUna vez desplegado el menú clicamos en la opción MAPS:\nA continuación clicamos encima del mapa que queremos visualizar:\nUna vez abierto el mapa clicamos en la opción Ver Leyenda del Mapa.\nSeguidamente tildamos y/o destildamos las capas que queremos visualizar y/o ocultar en el mapa. Una vez seleccionados los puntos presionamos en el botón retroceder.\nEl siguiente paso consiste en presionar encima del punto donde queremos ir. Una vez seleccionado presionamos el botón Cómo Llegar.\nA continuación presionamos en el campo Elegir un punto de Partida.\nEn el siguiente paso indicaremos el punto de origen que en mi caso quiero que sea mi ubicación actual. Por lo tanto presionaré encima de la opción Tu ubicación.\nYa para terminar elegimos el medio de transporte que queremos usar para llegar a nuestro destino. En mi caso es elijo transporte público. Acto seguido aparecerán todas las combinaciones de transporte publico que podemos usar para llegar a nuestro destino. Una vez mostradas la opciones clicamos sobre la que más nos interese.\nFinalmente tan solo tenemos que presionar sobre el botón Iniciar. Una vez presionado el botón se iniciará el navegador GPS de de Google Maps para irnos diciendo paso a paso el recorrido a seguir para llegar a nuestro destino.\nOTRAS FUNCIONALIDADES DE GOOGLE MAPS Y MY MAPS Aparte de las funcionalidades vistas hasta el momento Google Maps y My Maps disponen de funcionalidades adicionales. Algunas de estas funcionalidades son las que veréis a continuación.\nMedir distancias en My Maps En la barra de herramientas de My Maps podemos observar que tenemos una icono para medir distancias y superficies. Usar esta funcionalidad es sumamente sencillo y nos dará una idea bastante clara de la distancia del recorrido que deseamos realizar.\nPara medir distancias en My Maps presionamos el icono para medir distancias. A continuación hacemos clic con el mouse en el punto de inicio. Seguidamente vamos siguiendo el camino hasta encontrar un giro. Al encontrar el giro volvemos a presionar el botón izquierdo del ratón y seguimos de nuevo el camino. Vamos siguiendo este proceso hasta llegar al punto de destino. En el punto de destino volvemos a apretar el botón del mouse y obtendremos de forma automática la distancia total del recorrido.\nEl proceso para medir superficies es exactamente igual que el de medir distancias. El único requisito es que el punto de partida también sea el punto final del recorrido formando así una superficie cerrada.\nCompartir nuestros mapas de Google Maps con nuestros amigos De buenas a primeras los mapas se crean de forma privada. Por lo tanto si queremos que terceras personas tengan acceso a nuestros mapas deberemos compartirlos.\nPara compartirlos tenemos que acceder a la siguiente URL:\nhttps://www.google.com/maps/d/\nUna vez dentro de la URL veremos la totalidad de mapas que nosotros hemos creado. A continuación clicamos encima del mapa que queremos compartir.\nDespués de abrirse el mapa que queremos compartir clicamos en la opción Compartir.\nSeguidamente realizaremos el siguientes acciones:\nEn el campo Invitar a personas introducimos el email de la persona con que queremos compartir nuestro mapa. El email que introducimos para compartir el mapa tiene que estar asociado a una cuenta de Google. A continuación estableceremos los permisos que tendrá la persona con que queremos compartir nuestro mapa. En mi caso otorgo permisos de Editor. Si queremos también podemos clicar la opción Evitar que los otros editores cambien el acceso y añadan nuevos usuarios. De este modo las personas con que compartimos los mapas no podrán compartir el mapa con otros usuarios ni podrán modificar los permisos de los usuarios que tienen acceso al mapa. Finalmente presionaremos sobre el botón el botón Enviar. Justo después de presionar el botón Enviar se compartirá el mapa. Cuando la persona con que hemos compartido el mapa abra google Maps o entre en My Maps tendrá disponible el mapa compartido para usarlo.\nSi lo prefieren tienen otras opciones de compartición clicando en la opción Cambiar.\nEl hecho de compartir un mapa con determinadas personas proporcionará ciertas ventajas como por ejemplo que varios usuarios puedan y editar y trabajar sobre un mapa de forma simultánea.\nSi lo creen conveniente también podrán hacer los mapas públicos publicándolos en la galería de Google Maps.\nAñadir desplazamientos dentro en My Maps Si lo creemos oportuno podemos crear capas adicionales añadiendo rutas entre puntos introducidos en el mapa.\nPara ello disponemos de 2 opciones en el panel de herramientas de My Maps. Podéis usar indistintamente cualquiera de las 2.\nEn este caso de ejemplo usaré la herramienta Añadir indicaciones. Por lo tanto inicialmente clico en el icono de Añadir indicaciones.\nA continuación clico en el que queremos que sea el punto de partida de nuestra ruta.\nSeguidamente clico en el punto de destino y de forma automática se calculará una ruta.\nSi queremos podemos tantos puntos como queramos a nuestra ruta. Si queremos añadir un tercer punto clicaremos en la opción Añadir destino.\nSeguidamente clicaremos en el tercer punto para obtener una ruta con 3 puntos de visita.\nFinalmente indicaremos el medio de transporte en que queremos realizar la ruta indicada. En mi caso selecciono el coche como medio de transporte.\nSi queremos, como forma opcional y para hacer más entendedor, podemos asignar un nombre a la capa que contiene la ruta de transporte que acabamos de crear.\nYa para finalizar solo decirles que siguiendo los simples consejos mencionados en este artículo podrán viajar donde crean conveniente de forma fácil y sencilla.\n","permalink":"https://geeklandlinux.github.io/posts/como-planificar-viaje-con-google-maps/","summary":"\u003cp\u003eA pesar que Google Maps es una herramienta que vulnera nuestra privacidad también que hay remarcar que es una herramienta muy útil para organizar y planificar nuestros viajes. Por este motivo en el siguiente enlace veremos como podemos organizar y planificar nuestro viaje con Google Maps y My Maps en tan solo cuestión de minutos.\u003c/p\u003e","title":"Como planificar un viaje con Google Maps y My Maps"},{"content":"En el siguiente artículo veremos como podemos proporcionar datos del uso de nuestros paquetes .deb al equipo de Debian a través de popularity-contest. Obviamente el hecho de proporcionar los datos de los paquetes que más usamos será opcional y totalmente anónimo.\n¿PARA QUÉ PUEDE SER ÚTIL QUE DEBIAN SEPA LOS PAQUETES QUE MÁS USAMOS? Algunas de las utilidades que Debian sepa los paquetes que más se usan son:\nUsar los datos recopilados para determinar los paquetes que se instalarán de forma predeterminada en las instalaciones de Debian. Para obtener información de las arquitecturas que más utilizan sus usuarios. Para temer una idea aproximada de la totalidad de paquetes privativos que usan los usuarios. La totalidad de datos recopilados son públicos. Por lo tanto cualquiera los puede consultar para saber lo popular que es un programa determinado. A modo de ejemplo podemos comprobar que Firefox ha sido instalado por 93.580 usuarios que han participado en el programa, mientras que Chromium “solo” ha sido instalado por 31.123 usuarios. Obtener un % aproximado de usuarios que utilizan Debian Sid, Debian Stable, etc. Etc. En conclusión, con la totalidad de datos recopilados Debian hará todo lo posible para mejorar su distribución.\n¿QUÉ DATOS RECOPILA EL PROGRAMA DEBIAN POPULARITY-CONTEST? Para cada uno de los paquetes instalados en nuestro equipo Debian recopila la siguiente información:\nNúmero de usuarios que han instalado el paquete. Personas que usan un paquete determinado de forma regular. Personas que instalan un paquete determinado pero no lo usan. Cantidad de personas que han actualizado un paquete determinado recientemente. Usuarios que han instalado un paquete pero no han proporcionado suficiente información como para que sus datos sean tomados en cuenta. Arquitectura de los paquetes que instalamos en nuestro equipo. La rama de Debian o la distribuciones derivadas de Debian que usan los usuarios. Etc. ¿CÓMO PARTICIPAR EN EL PROGRAMA DEBIAN POPULARITY-CONTEST E INFORMAR A DEBIAN DEL USO QUE HACEMOS DE LOS PAQUETES DE LA DISTRIBUCIÓN? En el momento de instalar un sistema operativo Debian se nos pregunta si queremos participar en el programa Debian popularity-contest para ceder datos del uso que hacemos de nuestros paquetes. Una vez nos encontremos con tal petición tan solo tendremos que responder si queremos participar en el programa:\nNota: Si observan la captura de pantalla verán que la respuesta predeterminada es No. Veremos si la gente de canonical es tan razonable como Debian en este apartado. En el caso que haga tiempo que hayamos instalado el sistema y no nos acordemos de nuestra elección deberemos actuar del siguiente modo:\nInicialmente comprobaremos si tenemos el paquete popularity-contest instalado en nuestro equipo. Para ello ejecutaremos el siguiente comando en la terminal:\njoan@debian:~$ dpkg -l popularity-contest dpkg-query: no se ha encontrado ningún paquete que corresponda con popularity-contest. Como no se puede localizar el paquete quiere decir que no está instalado. Como no está instalado significa que no estoy cediendo los datos de uso de mis paquetes a Debian. En el caso que quiera proporcionar información al equipo de Debian tendré que instalar el paquete popularity-contest ejecutando el siguiente comando en la terminal:\nsudo apt-get install popularity-contest Durante la instalación se nos preguntará si queremos participar en el programa popularity-contest. Como queremos participar seleccionamos la respuesta Sí y presionamos Enter.\nUna vez finalizada la instalación ya estaremos proporcionando información de como usamos los paquetes de nuestra distribución de forma automática y anónima al equipo de Debian.\nSi algún día decidimos abandonar la participación tan solo deberíamos desinstalar el paquete popularity-contest ejecutando el siguiente comando en la terminal:\nsudo apt-get remove --purge popularity-contest Otra opción para dejar de proporcionar información sin desinstalar popularity-contest seria ejecutar el siguiente comando en la terminal:\nsudo dpkg-reconfigure popularity-contest Una vez ejecutado se nos preguntará de nuevo si queremos participar en la encuesta sobre el uso de paquetes. Si queremos dejar de participar seleccionamos la opción No y presionamos Enter.\n¿COMO SE ENVÍAN LOS DATOS A DEBIAN Y CON QUE FRECUENCIA? El proceso de recopilación de datos se hace del siguiente modo:\nEn el momento que se instala el paquete popularity-contest se configura un cronjob que de forma automática, anónima y semanal envía el uso que hacemos de nuestros paquetes a Debian.\nAsí de este modo tan sencillo participaremos en el programa popularity-contest sin tener que realizar absolutamente nada.\n¿CÓMO CONSULTAR LOS DATOS RECOPILADOS POR DEBIAN? Si queremos visualizar las estadísticas recopiladas por Debian tan solo tenemos que visitar la siguiente URL:\nhttps://popcon.debian.org/\nDentro de está página web encontrarán información detallada del uso que hacen los usuarios de la paquetería de Debian. Si quieren obtener información del uso de un determinado paquete tan solo tiene que realizar lo siguiente:\nSeleccionar la rama en que quieren consultar la información. En el caso de ejemplo que estamos realizando seleccionamos la rama estable clicando encima de la opción Stable reports. A continuación escribo el nombre del paquete que quiero consultar en el cuadro de búsqueda y presiono el botón Go. Una vez finalizado el proceso obtengo la siguiente información sobre el paquete corebird:\nSi lo creen conveniente pueden consultar muchos más datos. Si por ejemplo quieren consultar la totalidad de paquetes ordenados de más a menos instalaciones de la rama estable deberán clicar en las siguientes opciones:\ny el resultado obtenido será el siguiente:\nNota: Si lo creemos conveniente también podemos descárganos los datos en un archivo de texto para procesarlos a posteriori con una hoja de cálculo. Si continuamos navegando por la URL podréis obtener información adicional como por ejemplo:\nVer estadísticas del uso de los paquetes en una rama determinada como puede ser por ejemplo la main, la contrib o la non-free. Ver las arquitecturas que han usado los participantes del programa popularity-constest. etc. CONCLUSIONES SOBRE LA RECOPILACIÓN DE INFORMACIÓN QUE REALIZA EL EQUIPO DE DEBIAN Obviamente el hecho de suministrar nuestros datos a un tercero es una cuestión de confianza. Si confías en esta tercera persona o entidad no tendría porque existir ningún tipo de problema. Como en mi caso confío en Debian mi opinión es que no hay problema alguno en ceder de forma voluntaria y anónima nuestros datos. Y si además los datos recopilados sirven para mejorar mi distribución preferida entonces mejor.\nNo obstante, en mi caso ya no confío tanto en empresas como por ejemplo Canonical. Parece ser que a partir de la versión 18.04 Canonical implementará mecanismos para que los usuarios que lo deseen puedan proporcionar ciertos datos del uso y del hardware de su equipo.\nA diferencia de Debian parece ser que la recopilación de datos por parte de Canonical será más agresiva. Algunos de los datos que recopilarán serán los siguientes:\nInformación del hardware que tiene nuestro equipo como por ejemplo la resolución de nuestra pantalla, la memoria RAM disponible, etc. La localización seleccionada en la instalación de Ubuntu, etc. El tiempo que tardamos en instalar Ubuntu. Si descargamos las actualizaciones en la misma instalación de Ubuntu. Sabor y versión de Ubuntu que usamos. Etc. Ahora tan solo falta esperar y ver de la forma en que Canonical implementa la recopilación de datos. Ojala les sirva para optimizar una distribución que justo instalarla tiene un consumo desmesurado de memoria RAM.\n","permalink":"https://geeklandlinux.github.io/posts/popularity-contest-datos-paquetes-debian/","summary":"\u003cp\u003eEn el siguiente artículo veremos como podemos proporcionar datos del uso de nuestros paquetes .deb al equipo de Debian a través de popularity-contest. Obviamente el hecho de proporcionar los datos de los paquetes que más usamos será opcional y totalmente anónimo.\u003c/p\u003e","title":"Popularity-contest para proporcionar datos del uso de nuestros paquetes"},{"content":"Existen ocasiones en que nos conectamos vía SSH y/o lanzamos tareas que pueden durar mucho tiempo. Durante todo el tiempo que dura la operación a realizar, la sesión SSH, la terminal o la sesión de usuario tienen que mantenerse activas. Si la conexión SSH se cae o cerramos la sesión de nuestro usuario, se interrumpirá la operación que estamos realizando. Para evitar este problema tenemos varias soluciones, pero sin duda una solución extremadamente fácil es utilizar el comando nohup (No hung up). Se que existen otras opciones como tmux o screen, pero en mi caso siempre acostumbro a usar nohup.\nUSAR NOHUP PARA EVITAR QUE SE TERMINE UN PROCESO AL CERRAR UNA SESIÓN SSH O UNA SESIÓN DE USUARIO Para que un proceso no se terminal al cerrar la sesión de usuario o ssh deberemos ejecutar el comando nohup seguido del comando a ejecutar.\nAsí por lo tanto, Si disponemos de un disco duro inmenso en que queremos buscar la totalidad de archivos con un tamaño superior a 100M ejecutaremos el siguiente comando en la terminal:\nnohup find /home -type f -size +100M \u0026gt; ~/resultados \u0026amp; La función de cada uno de los parámetros es la siguiente:\nnohup: Parte del comando que hace que no se cierre la acción que estemos ejecutando. find /home -type f -size +100M: Parte del comando que busca todos los archivos de nuestra partición home con tamaño superior a 100 MB. \u0026gt; ~/resultados: Corresponde a la ruta y nombre del archivo que almacenará los resultados de nuestras búsqueda. En el caso que quisiéramos que ningún archivo almacene los resultados deberíamos reemplazar \u0026gt; ~/resultados por \u0026gt; ~/dev/null 2\u0026gt;\u0026amp;1. \u0026amp;: Parámetro utilizado para que podamos seguir introduciendo comandos en la terminal donde ejecutamos el comando. Una vez iniciado el comando podemos cerrar la sesión de usuario y/o la conexión SSH y el comando seguirá ejecutándose sin problema alguno.\nSi en un futuro queremos consultar los resultados obtenidos tan solo tenemos que abrir una nueva sesión de usuario o establecer una conexión SSH. Acto seguido tenemos que consultar el archivo que hemos definido que guarde los resultados. Por lo tanto en nuestro caso ejecutaremos el siguiente comando en la terminal:\ncat ~/resultados Después de ejecutar el comando podremos ver la totalidad de archivos de nuestra partición home que ocupan más de 100 MB:\n/home/joan/Dropbox/Wordpress/Copias de seguridad/geekland 23-12-2017.zip /home/joan/Dropbox/Wordpress/Copias de seguridad/geekland 30-12-2017.zip /home/joan/Dropbox/Libros/Kali Linux Pentesting.pdf EJEMPLOS DE USO DEL COMANDO NOHUP Una vez comprendido el funcionamiento de nohup pasaremos a ver más ejemplos de su uso.\nCompletar un proceso después de cerrar la sesión de usuario o la terminal Imaginemos que abrimos una terminal y ejecutamos el siguiente comando:\njoan@debian:~$ sleep 100\u0026amp; \\[1\\] 4859 Nota: La función del comando sleep es retardar durante un periodo determinado de tiempo la ejecución de otro comando. Una vez ejecutado el comando miramos los procesos activos y vemos que sleep está ejecutándose:\njoan@debian:~$ ps -aux \\| grep sleep joan 4859 0.0 0.0 5804 660 pts/1 S 11:51 0:00 sleep 100 joan 4861 0.0 0.0 12724 984 pts/1 S+ 11:51 0:00 grep sleep Si ahora cerramos la terminal y volvemos consultar los procesos activos veremos que sleep ya no está ejecutándose:\njoan@debian:~$ ps -aux \\| grep sleep joan 5048 0.0 0.0 12724 980 pts/1 S+ 11:51 0:00 grep sleep Para evitar este problema tan solo tenemos que añadir nohup al inicio del comando que queremos ejecutar. Por lo en este ejemplo deberíamos ejecutar el siguiente comando:\njoan@debian:~$ nohup sleep 100\u0026amp; \\[1\\] 16720 joan@debian:~$ nohup: se descarta la entrada y se añade la salida a \u0026#39;nohup.out\u0026#39; Si ahora miramos los procesos activos vemos que sleep está ejecutándose:\njoan@debian:~$ ps -aux \\| grep sleep joan 16720 0.0 0.0 5804 664 pts/1 S 11:52 0:00 sleep 100 joan 5312 0.0 0.0 12724 1016 pts/1 S+ 11:52 0:00 grep sleep Si ahora cerramos la terminal que ejecuta sleep y volvemos a mirar los procesos que siguen activos, veremos que aun que cerremos la terminal el proceso sleep sigue ejecutándose:\njoan@debian:~$ ps -aux \\| grep sleep joan 16720 0.0 0.0 5804 664 ? S 11:52 0:00 sleep 100 joan 5501 0.0 0.0 12724 996 pts/1 S+ 11:52 0:00 grep sleep Si ahora cerramos la sesión de usuario, abrimos una consoloa tty y accedemos con otro usuario veremos que el proceso 16720 correspondiente al comando sleep aun sigue ejecutándose aunque hayamos cerrado la sesión de usuario.\nCompletar un proceso u operación después de cerrar una conexión SSH Imaginemos que me conecto vía ssh a una Raspberry Pi con el fin de descargar una larga lista de vídeos de Youtube. Para conectarme a mi Raspberry pi vía SSH ejecuto el siguiente comando:\nssh pi@192.168.1.220 Una vez conectados tan solo tenemos escribir nohup seguido del comando que usaríamos para descargar los vídeos con youtube-dl:\npi@raspberrypi:~ $ nohup youtube-dl https://www.youtube.com/playlist?list=PLtGnc4I6s8dssa8hF4yMTAa4BrSJCSwux \\\u0026gt;/dev/null 2\u0026gt;\u0026amp;1 \u0026amp; \\[1\\] 5450 Una vez iniciada la descarga ya podemos cerrar la conexión SSH del siguiente modo:\npi@raspberrypi:~ $ exit Logout Después de cerrar la conexión SSH los vídeos continuarán su descarga sin ningún tipo de problema. Cuando haya finalizado la descarga podremos acceder a nuestra Raspberry Pi para consultar y visualizar los vídeos sin ningún tipo de problema.\nNota: De la misma forma que descargamos una serie de vídeos podríamos ejecutar un script de forma muy fácil y muy sencilla. Nota: Hay comandos/programas que por si mismos permiten descargar vídeos aunque se cierre la sesión de SSH. Uno de ellos es wget.","permalink":"https://geeklandlinux.github.io/posts/nohup-completar-proceso-cerrar-sesion/","summary":"\u003cp\u003eExisten ocasiones en que nos conectamos vía SSH y/o lanzamos tareas que pueden durar mucho tiempo. Durante todo el tiempo que dura la operación a realizar, la sesión SSH, la terminal o la sesión de usuario tienen que mantenerse activas. Si la conexión SSH se cae o cerramos la sesión de nuestro usuario, se interrumpirá la operación que estamos realizando. Para evitar este problema tenemos varias soluciones, pero sin duda una solución extremadamente fácil es utilizar el comando nohup (No hung up). Se que existen otras opciones como tmux o screen, pero en mi caso siempre acostumbro a usar nohup.\u003c/p\u003e","title":"Nohup para completar un proceso después de cerrar una sesión"},{"content":"Después de la salida de Firefox 57 considero que si vale la pena usar Firefox en detrimento de Chrome. No obstante hay algunas funcionalidades de Chrome que hecho de menos en Firefox como por ejemplo crear aplicaciones de escritorio a partir de páginas web. Por lo tanto, a continuación detallaré un método para convertir cualquier web en una aplicación de escritorio con el navegador Firefox en Linux.\nCabe recordar que en el pasado Mozilla había dispuesto de proyectos interesantes como Prism que se dedicaban a crear aplicaciones de escritorio a partir de páginas web, pero desafortunadamente este proyecto y otros similares se descontinuaron.\nCONVERTIR UNA WEB EN UNA APLICACIÓN DE ESCRITORIO CON FIREFOX Los pasos para convertir cualquier web en una aplicación de escritorio son los que verán a continuación.\nCrear un perfil adicional de Firefox Inicialmente crearemos un perfil adicional de Firefox. El perfil que crearemos será el que usaremos para abrir las aplicaciones de escritorio que vamos a crear.\nPara crear el perfil ejecutaremos el siguiente comando en la terminal:\nfirefox -ProfileManager -no-remote Seguidamente aparecerá una ventana en que se mostrará el nombre de nuestro perfil de Firefox que en mi caso es joan_default. A continuación clicaremos encima del botón Create Profile… para crear un nuevo perfil.\nEl siguiente paso consistirá en presionar el botón Next.\nA continuación escribiremos nuestro nombre de perfil en el campo Enter new profile name. En mi caso uso el nombre app_escritorio. Finalmente anotaremos la ubicación de nuestro perfil, que en mi caso es /home/joan/.mozilla/firefox/z5425vuz.apps_escritorio, y presionamos el botón Finish.\nUna vez realizados estos simples pasos ya hemos creado un perfil adicional con el nombre app_escritorio.\nConfigurar el perfil predeterminado de Firefox En principio este paso no es necesario, no obstante para evitar problemas recomiendo que lo apliquen. Después de crear el nuevo perfil tenemos que asegurar que el perfil que acabamos de crear no es el predeterminado. Para ello abrimos el navegador Firefox y en su barra de direcciones escribimos el siguiente texto y presionamos Enter:\nabout:profiles A continuación aparecerá una página para administrar la totalidad de perfiles que tenemos creados. Si observan la captura de pantalla verán que dispongo de los perfiles joan_default y app_escritorio. También observarán claramente que el perfil predeterminado es joan_default ya que en caso contrario me ofrecería la opción de Establecer como perfil predeterminado dentro del cuadro de color rojo de la siguiente captura de pantalla:\nPor lo tanto podemos decir que todo está orden y podemos pasar al siguiente apartado. En caso que el perfil predeterminado hubiera sido app_escritorio deberíamos haber clicado encima del botón Establecer como perfil predeterminado del perfil joan_default.\nInstalar las extensiones oportunas y configurar nuestro nuevo perfil de usuario Abrimos Firefox con nuestro nuevo perfil de usuario. Para ello en mi caso tengo que ejecutar el siguiente comando en la terminal:\nfirefox -P app_escritorio El significado de cada uno de los parámetros del comando es el siguiente:\nfirefox: Comando usado para abrir Firefox. -P: Parámetro usado para indicar que queremos abrir un perfil de Firefox determinado. app_escritorio: Corresponde al nombre de perfil que queremos usar en Firefox. En vuestro caso deberéis reemplazar app_escritorio por el nombre del perfil de Firefox que habréis creado en apartados anteriores. Una vez abierto Firefox instalen las extensiones y configuren el navegador a su gusto. En mi caso las extensiones y configuraciones que acostumbro a realizar son las siguientes:\nInstalar la extensión uBlock origin. Instalar la extensión HTTPS Everywhere. Configurar el corrector ortográfico del navegador. Definir las preferencias de idiomas y caracteres de nuestro navegador. Habilitar la reproducción de contenido DRM en el caso que lo consideremos necesario. Configurar la protección contra rastreo en el caso que lo consideremos necesario. Asegurar que tenemos activado el bloqueo de ventanas emergentes. Etc. Una vez finalizada la configuración del nuevo perfil del navegador podemos pasar al siguiente apartado.\nConfigurar el aspecto del perfil que usuario de Firefox que acabamos de crear Acabamos de configurar nuestro navegador, pero aun falta un paso importante para que las aplicaciones web se visualicen como aplicaciones de escritorio. Este paso consiste en modificar el aspecto de nuestro perfil de usuario mediante código css.\nPara ello accedemos a la carpeta de nuestro perfil que, como hemos visto en el apartado anterior, en mi caso es:\n/home/joan/.mozilla/firefox/z5425vuz.apps_escritorio Para acceder dentro de la carpeta desde la terminal ejecutamos el siguiente comando:\ncd /home/joan/.mozilla/firefox/z5425vuz.apps_escritorio Dentro de la carpeta de nuestro perfil creamos una carpeta que tenga el nombre chrome ejecutando el siguiente comando en la terminal:\nmkdir chrome Finalmente crearemos el archivo que contendrá el código css que modificará el aspecto de nuestro navegador. Para ello ejecutaremos el siguiente código en la terminal:\nnano userChrome.css Una vez se abra el editor de textos nano pegaremos el siguiente código:\n@namespace url(https://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul); /* to hide the sidebar header */ #sidebar-header { visibility: collapse; } /* hide navigation bar when it is not focused; use Ctrl+L to get focus */ #main-window:not([customizing]) #navigator-toolbox:not(:focus-within):not(:hover) { margin-top: -74px; } A continuación guardaremos los cambios y cerraremos el fichero.\nEl código .css que acabamos de introducir en el fichero userChrome.css realizará las siguientes funciones:\nLa primera sección oculta el encabezado de la barra lateral. La segunda y última de las secciones esconde la totalidad de nuestra barra de navegación. Gracias al código .css que hemos introducido, cuando abramos una URL con nuestro nuevo perfil de usuario, las web lucirán tal y como si fueran aplicaciones de escritorio.\nCrear los lanzadores de nuestras aplicaciones de escritorio Finalmente tan solo tenemos que crear los lanzadores .desktop para abrir nuestros servicios web como si fueran aplicaciones de escritorio. A modo de ejemplo crearemos un lanzador .desktop de Wechat del siguiente modo. Inicialmente abriremos una terminal y ejecutaremos el siguiente comando:\nnano wechat.desktop Nota: En vuestro caso deberéis reemplazar la palabra wechat por el nombre de la aplicación que queráis crear. Una vez se abra el editor de textos tenemos que escribir el código para generar el lanzador. En mi caso, el código usado para crear una aplicación de escritorio de Wechat ha sido el siguiente:\n[Desktop Entry] Name=Wechat Terminal=false NoDisplay=false Exec=firefox %u -P app_escritorio -new-window https://web.wechat.com/ Icon=/home/joan/Imágenes/Wechat.png Type=Application Categories=Network;InstantMessaging; Comment=Cliente de mensajería Wechat Para que vosotros podáis crear un lanzador cualquiera tan solo tenéis que modificar las partes de color rojo y verde. A continuación les dejo una breve explicación para que puedan realizar las modificaciones sin complicación alguna:\nName: Escribimos el nombre que queremos que tenga el lanzador. En mi caso selecciono el nombre Wechat. Exec: La parte de color verde corresponde al perfil de usuario que queremos usar para abrir una URL. En mi caso quiero usar el perfil creado y configurado en apartados anteriores que se llama app_escritorio. La parte de color rojo corresponde a la URL del servicio web que queremos convertir en una aplicación de escritorio. Como en mi caso quiero convertir el servicio Wechat web en una aplicación de escritorio pego la URL https://web.wechat.com/ que corresponde a la dirección web del servicio de Wechat. Icon: Tan solo tenemos que indicar la ruta del icono que queremos usar para nuestra aplicación de escritorio. Categories: Apartado en el que tenemos que definir la categoría de nuestro menú en que queremos introducir el lanzador. Como en mi caso quiero introducir el lanzador en el menú Internet escribo las opciones Network;InstantMessaging;.Algunas de las categorías que podemos usar son AudioVideo;Audio;AudioVideoEditing;, Game;StrategyGame;, Office;Spreadsheet;, Graphics;2DGraphics;RasterGraphics;GTK;, etc. Comment= Finalmente en el apartado Comment introduzco una descripción de lo que es o realiza la aplicación de escritorio que queremos crear. Una vez generado el código para configurar el lanzador guardamos los cambios y cerramos le editor de textos.\nIntroducir nuestro lanzador en el menú de nuestra distribución A continuación integraremos el lanzador que acabamos de crear en el menú de nuestra distribución Linux. Para ello tan solo tenemos que copiar el lanzador que acabamos de crear en la ubicación ~/.local/share/applications/ ejecutando el siguiente comando en la terminal:\nmv wechat.desktop ~/.local/share/applications/ Nota: Si no les gusta la terminal pueden copiar o mover el lanzador usando el gestor de archivos. MODIFICAR EL LANZADOR DE FIREFOX DEL MENÚ DE NUESTRA DISTRO Para asegurar que siempre se abra el perfil de Firefox que esperamos se recomienda editar el lanzador de Firefox del menú de nuestra distro.\nExisten muchas formas de modificar los lanzadores del menú, pero en este caso lo haremos mediante MenuLibre.\nPor lo tanto abrimos MenuLibre y buscamos el lanzador de Firefox. Una vez encontrado verán que el comando que ejecuta el lanzador es el siguiente:\nfirefox %u Reemplazamos el comando actual por el siguiente:\nfirefox -P joan_default %u Nota: En vuestro caso deberéis reemplazar joan_default por el nombre de vuestro perfil predeterminado. La parte del comando -P joan_default garantizará que siempre que abramos Firefox con el lanzador de nuestro menú se abra con nuestro perfil predeterminado que en mi caso es joan_default .\nUSAR LA APLICACIÓN ESCRITORIO QUE ACABAMOS DE CREAR En estos momentos ya podemos abrir la aplicación de escritorio que hemos creado. Para ello buscamos la aplicación en el menú de nuestro escritorio y la abrimos.\nUna vez abierta pueden observar que la apariencia del servicio web de Wechat es exactamente igual a la de una aplicación de escritorio convencional. De este modo conseguimos emular la característica Añadir al escritorio\u0026hellip; de que trae incorporada el navegador Google Chrome.\nSi mientras usan la aplicación de escritorio necesitan acceder a la barra de navegación o realizar algún tipo de acción con el navegador tengan en cuenta los siguientes atajos de teclado:\nCtrl + L: Para acceder a la barra de navegación, pestañas y menú de Firefox. Alt: Para acceder al menú de navegación de Firefox. Ctrl + W: Para cerrar una pestaña. Alt + flecha cursor derecha: Ir a la página siguiente. Alt + flecha cursor izquierda: Ir a la página anterior. ","permalink":"https://geeklandlinux.github.io/posts/convertir-web-aplicacion-de-escritorio-firefox/","summary":"\u003cp\u003eDespués de la salida de Firefox 57 considero que si vale la pena usar Firefox en detrimento de Chrome. No obstante hay algunas funcionalidades de Chrome que hecho de menos en Firefox como por ejemplo crear aplicaciones de escritorio a partir de páginas web. Por lo tanto, a continuación detallaré un método para \u003cstrong\u003econvertir cualquier web en una aplicación de escritorio\u003c/strong\u003e con el navegador Firefox en Linux.\u003c/p\u003e","title":"Convertir una web en una aplicación de escritorio con Firefox"},{"content":"La gran mayoría de routers de hoy en día traen incorporado un servidor DHCP que podemos usar para asignar una IP fija a los dispositivos que se conectan a nuestra red. Para activar el servidor DHCP y asignar una IP Fija a nuestros dispositivos a través del router tenemos que realizar los siguientes pasos.\nNota: Los pasos que veréis a continuación han sido realizados en un router Comtrend AR-5315u. El procedimiento en otros router puede ser ligeramente diferente al que mostraremos a continuación. ASIGNAR UNA IP FIJA A NUESTROS DISPOSITIVOS A TRAVÉS DEL SERVIDOR DHCP DEL ROUTER A continuación veremos los pasos a realizar para activar y configurar el servidor DHCP de nuestro router para poder asignar una IP Fija a la totalidad de nuestros dispositivos.\nAcceder a la configuración de nuestro router Inicialmente accedemos a la configuración de nuestro router. Para ello procedemos del siguiente modo:\nAbrimos nuestro navegador web preferido. Tecleamos la puerta de entrada de nuestro router, que en mi caso es 192.168.1.1, y presionamos Enter. A continuación introducimos nuestro nombre de usuario y contraseña y presionamos el Aceptar. Acto seguido accederemos al menú de configuración de nuestro Router.\nAveriguar la Mac Address del dispositivo al que queremos asignar una IP Fija El segundo paso consiste en averiguar la Mac Address del dispositivo al que queremos asignar una IP Fija. Existen muchas formas de averiguar la Mac Address de un dispositivo, pero en este caso lo haremos directamente desde el Router.\nPor lo tanto nos dirigimos al menú de nuestro router y clicamos en la opción Device Info. Cuando se despliegue el submenú clicamos en la opción DHCP. Allí podrán ver la totalidad de equipos y Mac Address que se han conectado a nuestra red durante las últimas 72 horas.\nEn mi caso quiero que mi Chromecast siempre tenga la misma IP. Por lo tanto, tal y como se puede ver en la captura de pantalla, copiaré la Mac Address de mi Chromecast.\nUna vez conozco la Mac Address de mi Chromecast procederé a activar y configurar el servidor DHCP de mi router.\nActivar el servidor DHCP del router Dentro del menú de configuración de nuestro router clicamos en el apartado Advanced Setup y cuando se despliegue el submenú clicamos encima de la opción LAN.\nA continuación tienen que activar la opción Enable DCHP Server. A partir de estos momentos el servidor DHCP de nuestro router estará activado.\nUna vez activado servidor no tienen que realizar nada más. No obstante si quieren pueden modificar la configuración servidor DHCP. En mi caso tengo la siguiente configuración:\nStart IP Address: 192.168.1.128 End IP Address: 192.168.1.254 Leased Time (hours): 72 Por lo tanto:\nMi servidor DHCP no asignará IP más bajas que la 192.168.1.128. Tampoco asignará IP más altas que la 192.168.1.254. Finalmente nuestra tabla DHCP mantendrá fijada una determinada IP a una determinada Mac Address durante 72 horas. 72 horas es un valor adecuado siempre y cuando se trate de una red doméstica en la que no hay mucha rotación de equipos. En el caso que que sea el Router de un bar en el que durante un día se conectan muchas personas es recomendable bajar este valor a 1. De esta forma evitaremos quedarnos sin IP. Configurar el servidor DHCP del router El último de los pasos consistirá en clicar sobre el botón Add Entries.\nUna vez hayamos presionado sobre el botón aparecerá la siguiente captura de pantalla en la que asignaremos una IP determinada a un dispositivo determinado:\nEn mi caso en el campo Mac Address pego la Mac Address de mi Chromecast que obtuvimos en apartados anteriores.\nEn el campo IP Address escribo la IP Fija que quiero que el servidor DHCP asigne a mi Chromescast. En mi caso quiero que la IP sea la 192.168.1.140.\nUna vez rellenados los campos MAC Address e IP Address tan solo tenemos que presionar el botón Apply/Save.\nDe este modo tan sencillo, cada vez que mi Chromecast se conecte tendrá la IP 192.168.1.140. Esto me será útil para configurar de forma adecuada el firewall de mis equipos y para que el Chromecast siempre esté localizado dentro de nuestra red local.\nComprobación de la asignación de la IP Finalmente podemos realizar la comprobación que nuestro servidor DHCP está funcionando de forma adecuada.\nPara ello en mi caso enciendo el televisor para que se conecte el Chromecast. A continuación entro a la configuración de mi Router, clico encima del menú Device info y finalmente clico en el submenú DHCP.\nActo seguido podrán ver que la IP de mi Chromecast es la IP 192.168.1.140.\nCONFIGURAR LOS EQUIPOS PARA QUE TOMEN LA IP QUE ASIGNE EL SERVIDOR DHCP En principio la totalidad de equipos vienen configurados para usar la IP que les asigne el servidor DHCP del router. Por lo tanto no hay que realizar absolutamente nada.\nEn caso que hayan modificado la configuración de sus gestores de red para asignar una IP fija deberán revertir los cambios. La configuración que deberían tener los gestores de red de los distintos sistemas operativos es la siguiente:\nConfiguración del gestor de red NetworkManager en GNU Linux Configuración del gestor de red en Windows Configuración del gestor de red en Android Configuración del gestor de red en iOS ","permalink":"https://geeklandlinux.github.io/posts/ip-fija-servidor-dhcp-router/","summary":"\u003cp\u003eLa gran mayoría de routers de hoy en día traen incorporado un servidor DHCP que podemos usar para asignar una IP fija a los dispositivos que se conectan a nuestra red. Para activar el servidor DHCP y asignar una IP Fija a nuestros dispositivos a través del router tenemos que realizar los siguientes pasos.\u003c/p\u003e","title":"Asignar una IP fija con el servidor DHCP de nuestro router"},{"content":"Desde la versión 5.4, LibreOffice permite firmar digitalmente documentos con OpenPGP. Por este motivo en el siguiente artículo veremos:\nLas utilidades que tiene firmar un documento. El procedimiento para firmar digitalmente un documento en LibreOffice. Nota: Libreoffice permite firmar documentos con pares de claves generadas con PGP, Enigmal, GPA, Kgpg, Kleopatra, etc. Nota: LibreOffice únicamente permite firmar digitalmente documentos con el formato .odt (OpenDocument). UTILIDADES QUE TIENE FIRMAR DIGITALMENTE UN DOCUMENTO Las utilidades de firmar digitalmente un documento de LibreOffice son las siguientes:\nGarantizar que el documento lo ha escrito una persona determinada. Garantizar la integridad del documento firmado. Mediante la firma digital podemos asegurar que el contenido del documento no ha sido modificado por una tercera persona. En otras palabras, si yo firmo un documento y el receptor comprueba que mi firma es correcta, tendrá garantías que soy yo quien ha realizado el documento y que nadie más que no sea yo ha modificado su contenido.\nFIRMAR DIGITALMENTE UN DOCUMENTO DE LIBREOFFICE Las instrucciones a seguir para firmar digitalmente un documento de LibreOffice son las siguientes.\nCrear un par de claves para firmar digitalmente el documento Si ya tenéis creadas un par de claves entonces no es necesario seguir las instrucciones de este apartado.\nEn caso que no tengáis ningún par de claves deberemos seguir las siguientes instrucciones. Para crear un par de claves PGP abran una terminal ejecuten el siguiente comando para instalar la utilidad que nos permitirá generar el par de claves:\nsudo apt-get install gnupg Una vez finalizada la instalación ya podemos crear el par de claves ejecutando el siguiente comando en la terminal:\ngpg --gen-key Nota: Con el comando usado se generarán un par de claves usando los parámetros por defecto de gpg. Durante el proceso de creación del par de claves se nos preguntará:\nNuestro nombre y apellidos para crear un id de usuario. En mi caso he usado el nombre joan geekland. Una dirección de email. En mi caso he usado la dirección geeklandmail.com Una descripción del uso que le daremos a nuestra clave. La clave de nuestra contraseña privada. Esta clave debe ser una clave segura y la tendremos que recordar siempre. Una vez introducidos estos parámetros se creará el par de claves. Una vez creadas las claves vamos a identificar el fingerprint de la clave pública que hemos creado. Para ello ejecutamos el siguiente comando en la terminal:\ngpg --list-public-keys El resultado obtenido es el siguiente:\njoan@debian:~$ gpg –list-public-keys /home/joan/.gnupg/pubring.gpg —————————– pub rsa4096 2010-10-07 [SC] [caducó: 2015-02-05] 0D24B36AA9A2A651787876451202821CBE2CD9C1 uid [ caducada ] Tails developers (signing key) \u0026lt;tailsboum.org\u0026gt; uid [ caducada ] T(A)ILS developers (signing key) \u0026lt;amnesiaboum.org\u0026gt; pub rsa2048 2013-08-03 [SCA] [caduca: 2018-08-02] 42E998565B27AFDBEDF97394395E65B1F783572D uid [ absoluta ] joan geekland \u0026lt;geeklandmail.com\u0026gt; sub rsa2048 2013-08-03 [E] [caduca: 2018-08-02] De entre todas las claves que aparecerán en la pantalla tenemos que identificar la que acabamos de crear. Una vez identificada vemos que en mi caso el fingerprint de la clave pública que acabo de crear es el 42E998565B27AFDBEDF97394395E65B1F783572D . Este dato me será de utilidad para que las personas que reciban mi fichero de LibreOffice puedan validar su firma sin problemas.\nFirmar digitalmente el documento El proceso para firmar digitalmente el documento es extremadamente sencillo. Una vez finalizado el documento nos vamos al menú Archivo, cuando se despliegue el menú posicionamos el puntero del mouse en la opción Firmas digitales y finalmente clicamos en la opción Firmas digitales\u0026hellip;\nA continuación clicamos encima de la opción Firmar el documento\u0026hellip;\nSeguidamente seleccionamos la firma con la que queremos firmar el documento y presionamos encima del botón Firmar.\nFinalmente tenemos que introducir la clave de nuestra contraseña privada para firmar el documento y presionar el botón OK.\nA estas alturas el documento está firmado. Tal y como pueden ver en la siguiente captura de pantalla, el documento tiene una franja azul adicional que indica que el documento está correctamente firmado.\nUna vez firmado el documento lo podemos cerrar y enviar a una tercera persona.\n¿CÓMO COMPROBAR LA VALIDEZ DE UNA FIRMA DIGITAL DE UN DOCUMENTO DE LIBREOFFICE? Ahora supongamos que una tercera persona abre el documento firmado que acabamos de enviar. Cuando esta tercera persona abra el documento en su ordenador se encontrará con la siguiente situación:\nEn la captura de pantalla pone claramente que el documento dispone de una firma digital, pero no puede ser validada.\nValidar la firma digital que trae incrustada el documento de LibreOffice Para validar la firma abriremos una terminal y ejecutaremos el siguiente comando:\ngpg --list-keys El resultado obtenido será parecido al siguiente:\njoan@ubuntu:~$ gpg –list-keys /home/joan/.gnupg/pubring.kbx —————————– pub rsa2048 2018-02-11 [SC] 2C8D340539699A48484B94E36919B1F4C38233AB uid [ absoluta ] Giancarlo Callo \u0026lt;callmail.com\u0026gt; sub rsa2048 2018-02-11 [E] pub rsa2048 2013-08-03 [SCA] [caduca: 2018-08-02] 42E998565B27AFDBEDF97394395E65B1F783572D uid [desconocida] joan geekland \u0026lt;geeklandmail.com\u0026gt; sub rsa2048 2013-08-03 [E] [caduca: 2018-08-02] La clave pública de color azul es la correspondiente al documento de LibreOffice. Para su validación procederemos del siguiente modo:\nAbriremos una terminal y ejecutaremos el siguiente comando:\ngpg --edit-key “joan geekland” Nota: En vuestro caso deberéis reemplazar la parte de color rojo por el nombre de usuario de quien genero la clave pública. La salida del comando será parecida a la siguiente:\njoan@ubuntu:~$ gpg –edit-key «joan geekland» gpg (GnuPG) 2.1.15; Copyright (C) 2016 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. pub rsa2048/395E65B1F783572D creado: 2013-08-03 caduca: 2018-08-02 uso: SCA confianza: nunca validez: total sub rsa2048/1CE0E23FC0D9908B creado: 2013-08-03 caduca: 2018-08-02 uso: E [ total ] (1). joan geekland \u0026lt;geeklandmail.com\u0026gt; Para ver el fingerprint de la clave ejecutaremos el comando fpr obteniendo el siguiente resultado:\ngpg\u0026gt; fpr pub rsa2048/395E65B1F783572D 2013-08-03 joan geekland \u0026lt;geeklandmail.com\u0026gt; Huella clave primaria: 42E9 9856 5B27 AFDB EDF9 7394 395E 65B1 F783 572D Una vez conocemos el fingerprint de nuestra clave deberemos contactar con la persona que ha enviado el documento pare preguntarle el fingerprint de su clave pública. Si el fingerprint de su clave pública es el 42E9 9856 5B27 AFDB EDF9 7394 395E 65B1 F783 572D entonces estaremos seguros que la clave es válida y confiable.\nComo ahora estamos completamente seguros que la firma es válida ejecutamos el comando trust para asignar un valor de confianza a la clave pública. Después de ejecutar el comando trust deberemos proceder tal y como se detalla a continuación:\ngpg\u0026gt; trust pub rsa2048/395E65B1F783572D creado: 2013-08-03 caduca: 2018-08-02 uso: SCA confianza: nunca validez: total sub rsa2048/1CE0E23FC0D9908B creado: 2013-08-03 caduca: 2018-08-02 uso: E [ total ] (1). joan geekland \u0026lt;geeklandmail.com\u0026gt; Por favor, decida su nivel de confianza en que este usuario verifique correctamente las claves de otros usuarios (mirando pasaportes, comprobando huellas dactilares en diferentes fuentes…) 1 = No lo sé o prefiero no decirlo 2 = NO tengo confianza 3 = Confío un poco 4 = Confío totalmente 5 = confío absolutamente m = volver al menú principal ¿Su decisión? 4 pub rsa2048/395E65B1F783572D creado: 2013-08-03 caduca: 2018-08-02 uso: SCA confianza: total validez: total sub rsa2048/1CE0E23FC0D9908B creado: 2013-08-03 caduca: 2018-08-02 uso: E [ total ] (1). joan geekland \u0026lt;geeklandmail.com\u0026gt; Por favor, advierta que la validez de clave mostrada no es necesariamente correcta a menos de que reinicie el programa. gpg\u0026gt; quit Después de ejecutar el comando trust deberemos realizar las siguientes acciones:\nInicialmente deberemos definir el nivel de confianza que queremos asignar a la clave pública. En mi caso asigno el nivel 4. Cuando haya finalizado el proceso de validación de la clave deberemos ejecutar el comando quit. Después de realizar estos pasos la firma del documento estará validada para siempre. Si en un futuro nos envían otro documento con la misma firma no tendremos que realizar absolutamente nada. Tan solo tendremos que abrir el documento y comprobar si la firma del documento es de confianza.\nComprobación de la validez de la firma digital Una vez validada la firma ya podemos abrir el documento de nuevo. Tal y como se puede ver en la captura de pantalla, ahora la firma es completamente válida.\nPor lo tanto podemos estar seguros de lo siguiente:\nEl mensaje lo envía quien realmente dice enviarlo. El mensaje no ha sido modificado por una tercera persona. Por lo tanto podemos estar seguros que el contenido del fichero no ha sido manipulado por un tercero. ","permalink":"https://geeklandlinux.github.io/posts/firmar-digitalmente-documento-libreoffice/","summary":"\u003cp\u003eDesde la versión 5.4, LibreOffice permite firmar digitalmente documentos con OpenPGP. Por este motivo en el siguiente artículo veremos:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eLas utilidades que tiene firmar un documento.\u003c/li\u003e\n\u003cli\u003eEl procedimiento para firmar digitalmente un documento en LibreOffice.\u003c/li\u003e\n\u003c/ol\u003e","title":"Como firmar digitalmente un documento de Libreoffice con OpenPGP"},{"content":"A medida que las versiones de Debian, Ubuntu y Linux Mint se van haciendo viejas existen paquetes que dejan de tener soporte de seguridad. Algunas de las razones por las que esto pasa son las siguientes:\nEn la rama LTS de Debian es posible que algunos de los paquetes dejen de tener soporte. Hay que recordad que la rama LTS no es mantenida por el equipo de Debian y en ocasiones hay falta de recursos. El desarrollador o el mantenedor del software puede abandonar su creación. En el caso que un paquete o programa esté sin soporte durante mucho tiempo será retirado de los repositorios de Debian. Etc. ¿POR QUÉ ES IMPORTANTE QUE LOS PAQUETES TENGAN SOPORTE DE SEGURIDAD? Es importante que los programas y paquetes que usamos en nuestro equipo tengan soporte de seguridad por los siguientes motivos:\nA diario se descubren bugs y fallos de seguridad que el desarrollador de un paquete o programa debe solucionar. Por lo tanto para nuestra seguridad es importante que los paquetes tengan soporte. Para que los programas puedan ir mejorando de forma progresiva día tras día. Siempre es posible optimizar el funcionamiento de un programa. Las tecnologías y los sistemas operativos no paran de evolucionar. Por lo tanto para que un programa funcione adecuadamente es necesario que se vaya actualizando periódicamente. Una vez somos conscientes de la importancia que nuestros paquetes reciban soporte de seguridad pasaremos a ver un método para saber si nuestro software dispone de soporte y por lo tanto recibe actualizaciones de seguridad.\nINSTALAR DEBIAN-SECURITY-SUPPORT PARA DETECTAR PAQUETES SIN SOPORTE DE SEGURIDAD Mediante la utilidad debian-security-support comprobaremos los paquetes instalados que han dejado de tener soporte de seguridad. Para instalar debian-security-support tenemos que ejecutar el siguiente comando en la terminal:\nsudo apt-get install debian-security-support Una vez instalado el paquete ya podemos pasar a realizar las comprobaciones oportunas.\nCOMPROBAR LOS PAQUETES QUE NO DISPONEN DE SOPORTE EN DEBIAN Y DISTROS DERIVADAS DE DEBIAN Para comprobar los paquetes instalados que han dejado de tener soporte tenemos que ejecutar el siguiente comando en la terminal:\ncheck-support-status En mi caso los resultados obtenidos son los que se muestran en la siguiente captura de pantalla:\nComo pueden ver en la captura de pantalla, hay una serie de paquetes que han dejado de recibir actualizaciones de seguridad por parte sus desarrolladores.\n¿QUÉ HACER CON LOS PAQUETES Y PROGRAMAS QUE NO DISPONEN DE SOPORTE DE SEGURIDAD? Una vez detectados paquetes sin soporte podemos tomar las siguientes decisiones:\nPuede darse el caso que no haya más remedio que usar los paquetes obsoletos. En esto caso podemos tomar la decisión de mantener los paquetes o servicios obsoletos instalados en nuestro sistema operativo. En caso que tomemos esta decisión se recomienda ejecutar los programas o servicios en un entorno de ejecución seguro. De este modo evitaremos problemas mayores. Reemplazar los paquetes obsoletos por otros que realizan la misma función. De esta forma podremos seguir utilizando nuestros servicios y software con mayor seguridad y eficiencia. Si los paquetes no son necesarios y no los usamos, lo mejor que podemos realizar es desinstalarlos. En el caso de decidamos desinstalar los paquetes hay que ir con cuidado. En el momento de desinstalar paquetes es posible que ciertos programas o servicios dejen de funcionar. Por lo tanto es importante conocer la funcionalidad que tienen los paquetes que estamos desinstalando.\nUna forma útil para averiguar la utilidad de un paquete es ver sus dependencias y dependencias inversas. Si por ejemplo queremos intentar averiguar los programas que usan el paquete libqtwebkit4 podríamos ejecutar el siguiente comando en la terminal:\napt-cache showpkg libqtwebkit4 Al aplicar este comando y observando su salida podrán ver que es un paquete necesario para que por ejemplo funcione el programa Skype, Amarok, etc. Por lo tanto al desinstalar libqtwebkit4 es posible que alguna de las funcionalidades de los programas mencionados deje de funcionar.\n","permalink":"https://geeklandlinux.github.io/posts/comprobar-paquetes-soporte-de-seguridad/","summary":"\u003cp\u003eA medida que las versiones de Debian, Ubuntu y Linux Mint se van haciendo viejas existen paquetes que dejan de tener soporte de seguridad. Algunas de las razones por las que esto pasa son las siguientes:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eEn la rama LTS de Debian es posible que algunos de los paquetes dejen de tener soporte. Hay que recordad que la rama LTS no es mantenida por el equipo de Debian y en ocasiones hay falta de  recursos.\u003c/li\u003e\n\u003cli\u003eEl desarrollador o el mantenedor del software puede abandonar su creación. En el caso que un paquete o programa esté sin soporte durante mucho tiempo será retirado de los repositorios de Debian.\u003c/li\u003e\n\u003cli\u003eEtc.\u003c/li\u003e\n\u003c/ol\u003e","title":"Comprobar si un paquete dispone de soporte de seguridad en Linux"},{"content":"Tras una actualización de paquetes en nuestro sistema operativo puede ser necesario reiniciar algún servicio o proceso para que nuestro sistema operativo o servidor siga funcionando de forma adecuada. Por este motivo en el siguiente artículo aprenderemos a usar el programa needrestart.\n¿POR QUÉ EN LINUX ES NECESARIO REINICIAR EL EQUIPO, UN SERVICIO O UN PROCESO? No es del todo cierto que en Linux no sea necesario reiniciar servicios, procesos o el sistema operativo.\nEn ciertas ocasiones recibiremos actualizaciones de programas y librerías en nuestro sistema operativo.\nUna vez actualizado el sistema operativo es probable que en nuestra memoria aún estén cargadas las librerías y procesos antiguos. Por lo tanto en el momento de usar un programa o un servicio existe la posibilidad que estemos usando librerías no actualizadas y procesos viejos.\nEsto puede ocasionar los siguientes inconvenientes:\nUn riesgo de seguridad porque que los procesos y librerías antiguas pueden tener vulnerabilidades de seguridad. Algún programa o servicio puede dejar de funcionar o funcionar de forma incorrecta. Para evitar lo que acabo de mencionar tenemos 2 herramientas. La primera es needrestart y la segunda checkrestart. En el transcurso de este artículo veremos como podemos instalar y usar needrestart.\nCONOCER LOS SERVICIOS Y/O PROGRAMAS A REINICIAR TRAS UNA ACTUALIZACIÓN ¿En qué sistemas operativos podemos usar needrestart? Needrestart es una herramienta que puede funcionar en los siguientes gestores de paquetes:\nDpkg (apt). RPM. Pacman. Por lo tanto es capaz de funcionar en prácticamente la totalidad de distros Linux. Algunas de ellas son Debian, Ubuntu, Linux Mint, Fedora o Archlinux.\nInstalar needrestart para detectar servicios a reiniciarInstalar needrestart en Debian y en distribuciones que usan paquetería .deb es extremadamente fácil. Tan solo hay que abrir una terminal y ejecutar el siguiente comando:\nsudo apt-get install needrestart Needrestart también está disponible en los repositorios AUR de Archlinux. Para instalarlo en Archlinux hay que ejecutar el siguiente comando en la terminal:\nyaourt needrestart Para instalarlo en Fedora resulta un poco más complicado. En el caso que alguien esté interesado puede seguir las siguientes Instrucciones.\nUsar needrestart para detectar procesos y servicios a reiniciar Una vez instalado el programa se ejecutará de forma automática cada vez que actualicemos nuestro sistema operativo.\nPor lo tanto únicamente tenemos que actualizar nuestro sistema operativo de forma habitual ejecutando, por ejemplo, el comando:\nsudo apt-get dist-upgrade Una vez instalados y configurados los nuevos paquetes se ejecutará needrestart. En el caso que se detecten incidencias obtendremos notificaciones del siguiente tipo:\nEn mi caso, la primera notificación que me ha aparecido es la siguiente:\nEl mensaje me informa que para usar la nueva versión del Kernel que se ha instalado es necesario reiniciar el equipo. Para salir de la advertencia presionamos en la opción Aceptar.\nSeguidamente me aparece una advertencia de la totalidad de procesos que son necesarios reiniciar:\nSi los queremos reiniciar de forma automática tan solo tenemos que presionar encima de la opción Aceptar. En caso que no los queramos reiniciar presionamos en la opción Cancelar. Una vez finalizado el proceso de actualización con apt-get he obtenido los siguientes resultados:\nUsar needrestart de forma manual para detectar procesos y servicios a reiniciar Si lo precisamos también podemos ejecutar needrestart de forma manual.\nPara ello tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\nsudo needrestart Después de ejecutar el comando se analizarán los programas, procesos, librerías del Kernel y contenedores de Docker, machined o LXC, que son necesarios reiniciar. En mi caso el resultado obtenido al aplicar este comando ha sido el siguiente:\njoan@jessie:~$ sudo needrestart Scanning processes… Scanning candidates… Scanning linux images… Running kernel seems to be up-to-date. No services need to be restarted. No containers need to be restarted. User sessions running outdated binaries: joan @ session #2: xfce4-session[20676] En este caso recibo una advertencia que un fichero binario está siendo usado sin ser la versión más actual. Por lo tanto, en este caso seria recomendable reiniciar el ordenador para solucionar esta incidencia.\nOtras opciones del comando needrestart En el ejemplo que acabamos de ver hemos usado las opciones estándar de needrestart. Si lo precisamos podemos ajustar su funcionamiento con diferentes opciones.\nPara conocer al detalle la totalidad de opciones que ofrece needrestart tan solo tienen que ejecutar el siguiente comando en la terminal:\nman needrestart De este modo, si por ejemplo queremos restaurar la totalidad de servicios de forma automática deberemos ejecutar el siguiente comando en la terminal:\nsudo needrestart -r a De este modo needrestart no nos preguntará si queremos reiniciar los servicios. Simplemente los reiniciará y listo.\nCONFIGURACIÓN DE NEEDRESTART La configuración estándar de needrestart es 100% funcional. No obstante el archivo de configuración de needrestart nos permite modificar ciertos parámetros como por ejemplo los siguientes:\nEl modo en que se realiza el reinicio del proceso. Podemos seleccionar entre un reinicio automático, interactivo o que simplemente nos indique los reinicios a realizar para que nosotros los podamos hacer de forma manual. De serie los reinicios están configurados para ser interactivos. Procesos, archivos binarios y servicios que no queremos que se analicen después de la actualización del sistema. El nivel de información proporcionada por la utilidad needrestart. Etc. Para acceder al fichero de configuración tan solo tienen que ejecutar el siguiente comando en la terminal.\nsudo nano /etc/needrestart/needrestart.conf Cuando se abra el editor de textos podrán modificar los parámetros que consideren oportunos. Tan solo tienen que leer los comentarios del archivo de configuración y a partir de aquí podrán adaptar el funcionamiento de needrestart a sus necesidades.\n","permalink":"https://geeklandlinux.github.io/posts/servicios-procesos-reiniciar-needrestart/","summary":"\u003cp\u003eTras una actualización de paquetes en nuestro sistema operativo puede ser necesario reiniciar algún servicio o proceso para que nuestro sistema operativo o servidor siga funcionando de forma adecuada. Por este motivo en el siguiente artículo aprenderemos a usar el programa needrestart.\u003c/p\u003e","title":"Conocer los servicios y procesos a reiniciar con needrestart en Linux"},{"content":"A continuación veremos como podemos eliminar la publicidad en un dispositivo de Apple mediante el uso del archivo hosts. El requisito para aplicar el tutorial que veréis a continuación es el siguiente:\nDisponer de cualquier dispositivo de Apple con el sistema operativo iOS y con el Jailbreak realizado. Nota: A medida que evolucionan los sistemas operativos hay menos necesidad de realizar el Jailbreak. No obstante en mi caso lo veo necesario para por ejemplo bloquear la publicidad de forma efectiva y eficiente. ¿COMO BLOQUEAREMOS LA PUBLICIDAD DE NUESTRO IPHONE O IPAD? La forma elegida para bloquear la publicidad en nuestro iPhone o iPad es mediante la introducción de código en el archivo hosts.\nCuando en un navegador o aplicación aparece un anuncio es por los siguientes motivos:\nEl navegador o aplicación realiza una petición a un servidor externo que almacena los anuncios. Una vez realizada la petición se resuelve y con posteridad se descarga el anuncio del servidor al navegador o aplicación que estamos usando. Conociendo este mecanismo tan solo tenemos que bloquear las peticiones que nuestro navegador y/o aplicaciones hacen al servidor que proporciona los anuncios. Para ello podemos usar el archivo hosts del siguiente modo:\nSi queremos bloquear la publicidad del servidor adsclick.net tan solo tenemos que añadir la siguiente línea en el archivo hosts:\n255.255.255.0 adsclick.net De esta forma cuando nuestro navegador o aplicación realice una petición al servidor con dominio adsclick.net se intentará conectar a una IP inexistente que es la 255.255.255.0. Como la IP no existe no se podrá descargar el anuncio del servidor adsclick.net\nDe esta forma tan simple y añadiendo código en el archivo hosts podremos bloquear la gran mayoría de anuncios.\nVentajas de bloquear la publicidad mediante el archivo hosts Bloquear la publicidad mediante el archivo hosts proporciona muchas ventajas respecto a los sistemas convencionales de bloqueo. Algunas de las ventajas son las siguientes:\nNo solamente bloquea anuncios en Safari. El método nos permitirá bloquear los anuncios en todas las Apps de nuestro iPhone o iPad. El sistema para bloquear los anuncios es transparente y seguro. El método no implica instalar apps de dudosa reputación que no sabemos lo que hacen o que se dedican a filtrar los anuncios a través de un servicio VPN externo. El consumo de batería y recursos es menor que con los métodos tradicionales. Hay sistemas de bloqueo de anuncios que drenan la batería y consumen nuestros recursos. La navegación y el rendimiento de las apps será mejor. Este método bloquea la publicidad sin tan siquiera llegar a realizar una petición DNS al servidor que contiene la publicidad. Inconvenientes de bloquear la publicidad con el archivo hosts Algunos inconvenientes que tiene el método que detallaremos a continuación son los siguientes:\nPrecisamos de un dispositivo iOS con jailbreak. Si no disponemos de Jailbreak no podremos aplicar el método que veremos a continuación. Periódicamente hay que actualizar el contenido del archivo hosts. Este método quita los anuncios, pero en muchos casos no hace desaparecer el contenedor que contiene los anuncios. Por lo tanto en los sitios donde se bloquea el anuncio aparecerá hueco de color blanco. Una vez detallado el sistema de bloqueo podemos pasar a la acción y ver los pasos a seguir para eliminar los ads publicitarios en nuestras apps y navegadores.\nBLOQUEAR LA PUBLICIDAD DE NUESTRO IPHONE O IPAD CON UNTRUSTED HOSTS BLOCKER Los pasos a seguir para bloquear la publicidad mediante el archivo hosts en un dispositivo con el sistema operativo iOS son los siguientes\nAñadir el repositorio para instalar Untrusted Hosts Blocker Inicialmente añadimos el repositorio Thireus procediendo del siguiente modo:\nAbrimos la tienda de aplicaciones Cydia. Una vez dentro de la tienda presionamos encima del botón Fuentes. A continuación presionamos encima del botón Editar. Seguidamente presionamos encima del botón Añadir.\nA continuación, tal y como se puede ver en la captura de pantalla, aparecerá un cuadro de dialogo en el que debemos introducir la URL del repositorio que queremos añadir. En nuestro caso tenemos que introducir la siguiente URL:\nhttps://repo.thireus.com Finalmente presionamos el botón Añadir fuente para finalizar el proceso.\nInstalar el tweak Untrusted Hosts Blocker Una vez añadido del repositorio ya podemos instalar la aplicación Untrusted Hosts Blocker. Para ello dentro de Cydia tenemos que realizar lo siguiente:\nPresionamos encima del botón Buscar. En el cuadro de búsqueda buscamos el paquete Untrusted Hosts Blocker. Una vez encontrado el paquete tenemos que presionar sobre él. Seguidamente tendremos que presionar encima de la opción Instalar.\nFinalmente presionaremos sobre el botón Confirmar.\nUna vez instalado el Tweak el trabajo ha finalizado. A partir de estos momentos bloquearemos prácticamente la totalidad de la publicidad sin tener que realizar nada en especial.\nNota: En el caso que dispongan de un dispositivo extremadamente antiguo pueden notar lentitud en la navegación o que las páginas no cargan. Si es este el caso les recomiendo que en vez de instalar Unstrusted Hosts Blocker instalen Light Untrusted Hosts Blocker. BLOQUEAR LA PUBLICIDAD DE NUESTRO IPAD O IPHONE MEDIANTE UN ARCHIVO HOSTS CONSTRUIDO POR NOSOTROS El método que acabamos de ver es 100% eficaz y fácil de aplicar. No obstante tiene los siguientes inconvenientes.\ndependemos que el desarrollador del tweak actualice periódicamente el contenido del archivo hosts. No obstante esto no es un punto crítico ya que un archivo hosts se puede usar durante años de forma efectiva. En mi caso uso Unstrusted Hosts Blocker y el dispositivo me funciona a la perfección. No obstante el procedimiento de instalación de cualquier tweak es poco transparente. Por estos motivos si queremos podemos nosotros mismos podemos hacernos nuestro archivos hosts para bloquear la publicidad.\nInstalar el explorador de archivos iFile Para reemplazar el archivo hosts actual por el que construiremos nosotros necesitamos usar el explorador de archivos iFile. Para instalarlo deben seguir los siguientes pasos:\nhttps://geeklandlinux.github.io/posts/instalar-el-explorador-de-archivos-ifile/\nObtener el archivo hosts de nuestro ipadPara obtener el archivo hosts original de nuestro iPad o iPhone abrimos iFile. A continuación clicamos encima del icono de la bola del mundo para activar el servidor WebDAV que trae incorporado iFile.\nA continuación se abrirá la siguiente ventana en que podrán ver la URL a usar para conectarnos a nuestro dispositivo. En mi caso la dirección es http://192.168.1.18:1000.\nAbrimos el navegador web de nuestro ordenador, introducimos la URL que acabamos de ver y presionamos la tecla Enter. Acto seguido podremos ver el contenido de nuestro dispositivo. Una vez veamos el contenido clicamos encima de la carpeta etc/ que es donde está ubicado el archivo hosts.\nNota: Para que la conexión sea satisfactoria, tanto el ordenador como el dispositivo iOS tienen que estar conectados a la misma red local. Dentro de la ubicación /etc buscamos el archivo hosts y clicamos sobre él. Acto seguido se descargará el archivo hosts en nuestro ordenador.\nElaborar un archivo hosts potente para bloquear la publicidad Una vez descargado el archivo hosts lo abrimos con un editor de textos. En mi caso el contenido inicial del archivo hosts es el siguiente:\nA continuación tenemos que añadir las entradas dentro del archivo hosts para bloquear los servidores que ofrecen publicidad. Las fuentes a usar para introducir los entradas son las siguientes:\nhttps://adaway.org/hosts.txt\nhttps://hosts-file.net/ad_servers.txt\nhttps://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts\u0026amp;showintro=0\u0026amp;mimetype=plaintext\nNota: Con las 3 fuentes que cito es más que suficiente. Si quieren obtener más fuentes pueden consultar la siguiente URL. Una vez dentro de las fuentes que he citado copiamos sus entradas:\nSeguidamente nos vamos al archivo hosts original y pegamos el contenido que acabamos de copiar.\nUna vez pegadas la totalidad entradas vuestro archivo hosts tendrá un aspecto similar al siguiente:\nFinalmente tan solo tenemos que guardar los cambios y cerrar el archivo. En estos momentos ya disponemos de un archivo hosts para bloquear la publicidad en nuestro dispositivo Apple.\nReemplazar el archivo hosts original por el modificado Nos dirigimos de nuevo a nuestro navegador y nos aseguremos que estamos ubicados en la ubicación /etc de nuestro dispositivo iOS. A continuación presionamos encima del botón Examinar.\nSeguidamente seleccionamos el archivo hosts que hemos modificado y presionamos el botón Abrir.\nFinalmente presionamos el botón Subir para enviar el archivo hosts modificado dentro de nuestro iPad, Iphone o iPod.\nAbrimos el gestor de archivos iFile y accedemos la ubicación /etc. Dentro de esta ubicación veremos que tenemos los archivos hosts y hosts(1).\nEl archivo hosts(1) corresponde al archivo hosts que hemos creado nosotros mismos.\nEl archivo hosts corresponde al fichero hosts original de nuestro dispositivo. Por lo tanto para usar el archivo hosts que hemos creado deberemos renombrar los nombres de los archivos del siguiente modo:\nInicialmente presionamos encima del icono de información del archivo hosts original.\nA continuación en el apartado Nombre modificaremos el nombre del archivo hosts. En mi caso renombraré el archivo hosts con el nombre hosts.bak.\nSeguidamente renombraré el archivo hosts(1) a hosts. Para ello clicaré en el icono de información del archivo hosts(1).\nFinalmente en el apartado Nombre escribiremos el nuevo nombre que queramos que tenga el fichero hosts(1). En nuestro caso deberemos asignarle el nombre hosts.\nUna vez realizados estos pasos podremos bloquear de forma efectiva y eficiente la publicidad de nuestro dispositivo iOS. Además el método ofrece todas las garantías del mundo porque es un trabajo que hemos realizado nosotros mismos.\n","permalink":"https://geeklandlinux.github.io/posts/eliminar-publicidad-apple-archivo-hosts/","summary":"\u003cp\u003eA continuación veremos como podemos eliminar la publicidad en un dispositivo de Apple mediante el uso del archivo hosts. El requisito para aplicar el tutorial que veréis a continuación es el siguiente:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eDisponer de cualquier dispositivo de Apple con el sistema operativo iOS y con el Jailbreak realizado.\u003c/li\u003e\n\u003c/ol\u003e","title":"Eliminar la publicidad en un iPhone o iPad mediante el archivo hosts"},{"content":"Existen ocasiones en que es necesario reiniciar el entorno de escritorio. Algunas de ellas son las siguientes:\nPara que ciertas configuraciones que acabamos de realizar se apliquen. Alguna parte del entorno gráfico no funciona o deja de responder. En el momento que instalamos una extensión de Gnome Shell. Etc. Obviamente una solución para reiniciar el entorno de escritorio es apagar y encender el ordenador. No obstante esto ocasionará ciertas molestias como por ejemplo las siguientes:\nPérdida de tiempo. Interrupción de un servicio en el caso que nuestro equipo actúe como servidor. Pérdida de información en el caso que nos olvidemos guardar los cambios de programas que tenemos abiertos. Al apagar y abrir el ordenador tendremos que reabrir la totalidad de programas y servicios que estábamos usando. Para evitar estas molestias, a continuación veremos el procedimiento a seguir para reiniciar el entorno de escritorio sin tener que apagar y abrir el ordenador ni cerrar ningún programa.\nREINICIAR EL ENTORNO DE ESCRITORIO EN LINUX El procedimiento para reiniciar el entorno de escritorio variará en función del escritorio que usemos. En función del entorno de escritorio que usen deberán ejecutar los siguientes comandos en la terminal:\nEntorno de escritorio Comando XFCE xfce4-panel -r \u0026amp;\u0026amp; xfwm4 --replace Gnome Shell gnome-shell --replace \u0026amp; disown Plasma 5 kbuildsycoca5 \u0026amp;\u0026amp; kquitapp5 plasmashell \u0026amp;\u0026amp; kstart5 plasmashell LXDE lxpanelctl restart \u0026amp;\u0026amp; openbox --restart Unity unity --replace \u0026amp; Budgie budgie-panel --replace \u0026amp;\u0026amp; budgie-wm --replace MATE mate-panel --replace Cinnamon gnome-shell --replace Algunos de los comandos que he puesto en la tabla también reinician el gestor de ventanas.\nNota: En la tabla faltan entornos de escritorio como por ejemplo LXQt, Pantheon, etc. Agradecería que los lectores del artículo hicieran sus aportaciones en los comentarios del artículo para añadir más escritorios. OTRAS FORMAS DE REINICIAR EL ENTORNO DE ESCRITORIO En algunos escritorios, como Gnome Shell o Cinnamon, tenemos métodos alternativos para reiniciar el escritorio. Los métodos son los siguientes:\nReiniciar el escritorio en Gnome Shell y/o Cinnamon En el caso de Gnome Shell o Cinnamon podemos reiniciar el entorno de escritorio de forma sencilla siguiendo las siguientes instrucciones.\nInicialmente tenemos que presionar la combinación de teclas ALT+F2. Cuando aparezca el cuadro de dialogo tenemos que escribir la letra r y presionar la tecla Enter. Acto seguido se reiniciará nuestro entorno de escritorio. Probablemente este sea un método más rápido y más sencillo de recordar que los comandos mostrados en el primer apartado.\nPara no tener que recordar los comandos citados en el primer apartado pueden usar alias de la forma que se detalla en el siguiente apartado.\nALIAS PARA REINICIAR EL ENTORNO DE ESCRITORIO DE FORMA FÁCIL Si lo prefieren pueden crear atajos de teclado o alias para reiniciar el escritorio de forma más rápida y fácil. Para ello tan solo tenemos que seguir las siguientes instrucciones.\nAbrimos una terminal y ejecutamos el siguiente comando:\nnano ~/.bashrc A continuación añadiremos un comando que siga la siguiente estructura:\nalias texto_para_ejecutar_alias=\u0026#39;comando_a_ejecutar\u0026#39; Como en mi caso quiero reiniciar el entorno de escritorio XFCE cada vez que ejecute el comando refrescar añadiré la siguiente línea:\nalias refrescar=\u0026#39;xfce4-panel -r \u0026amp;\u0026amp; xfwm4 --replace\u0026#39; Una vez realizadas las modificaciones guardamos los cambios. En estos momentos cada vez que ejecutemos el comando refrescar se reiniciará nuestro entorno de escritorio XFCE.\n","permalink":"https://geeklandlinux.github.io/posts/reiniciar-el-entorno-escritorio-linux/","summary":"\u003cp\u003eExisten ocasiones en que es necesario reiniciar el entorno de escritorio. Algunas de ellas son las siguientes:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003ePara que ciertas configuraciones que acabamos de realizar se apliquen.\u003c/li\u003e\n\u003cli\u003eAlguna parte del entorno gráfico no funciona o deja de responder.\u003c/li\u003e\n\u003cli\u003eEn el momento que instalamos una extensión de Gnome Shell.\u003c/li\u003e\n\u003cli\u003eEtc.\u003c/li\u003e\n\u003c/ol\u003e","title":"Reiniciar el entorno de escritorio sin reiniciar el ordenador en Linux"},{"content":"A continuación veremos como podemos editar el menú de nuestra distribución Linux de forma fácil y sencilla usando el programa MenuLibre.\nSITUACIONES EN LAS QUE PUEDE SER NECESARIO EDITAR EL MENÚ Necesitaremos editar el menú de nuestra distribución Linux cuando por ejemplo se den las siguientes circunstancias:\nAparecen elementos duplicados en el menú y queremos eliminarlos. Queremos crear una nueva categoría en el menú. Precisamos mover una aplicación de una categoría a otra. Necesitamos añadir una entrada en los menús de nuestra distribución. Hay programas y aplicaciones que al instalarse no crean una entrada en el menú de nuestra distribución. Editar las propiedades de un elemento que ya aparece en el menú. Etc. ENTORNOS DE ESCRITORIO EN LOS QUE PODEMOS USAR MENULIBRE PARA EDITAR EL MENÚ MenuLibre fue creado Sean Davis. Sean Davis forma parte del equipo de desarrollo de Xubuntu, no obstante podemos usar MenuLibre en un número muy elevado de entornos de escritorio.\nAlgunos de los entornos de escritorio más destacados en los que podremos editar el menú con MenuLibre son:\nGnome Shell XFCE LXDE Cinnamon Unity OPCIONES ALTERNATIVAS AL EDITOR DE MENÚS DE MENULIBRE Obviamente existen otras alternativas a MenuLibre. Algunas de ellas son las que podréis encontrar a continuación:\nPara entornos de escritorio basados en librerías GTK únicamente disponemos de otra opción alternativa. Esta opción es Alacarte. Existen otras aplicaciones pero tienen el inconveniente que sus funciones son muy reducidas o simplemente hace años que no se actualizan.\nEn el caso que seáis usuarios de KDE también podréis editar el menú con Kde Menu Editor. Kde Menu Editor tiene una interfaz gráfica y funcionamiento muy similar a la de MenuLibre.\n¿POR QUÉ MENULIBRE ES UNA BUENA OPCIÓN PARA EDITAR EL MENÚ? MenuLibre es la mejor opción para editar los menús de los entornos de escritorio que usan librerías GTK.\nAlacarte es una alternativa válida, pero únicamente nos permite modificar los nombres, los comandos, los iconos y descripciones de las aplicaciones presentes en el menú. Como veréis más adelante, las opciones que nos ofrece MenuLibre son bastante superiores.\nAdemás el número de dependencias para poder usar MenuLibre es muy bajo. Por lo tanto lo podemos instalar y usar sin problema en distribuciones ligeras, ya que en el momento de instalarlo no se instalará medio escritorio de Gnome.\nINSTALAR EL EDITOR DE MENÚS MENULIBRE Es posible que vuestra distribución no disponga de MenuLibre instalado de serie. No obstante está disponible en el los repositorios de la gran mayoría de distros. Por lo tanto, para instalarlo en Debian y en distribuciones derivadas de Debian, tienen que ejecutar el siguiente comando en la terminal:\nsudo apt-get install menulibre Nota: El comando de instalación es válido para las distribuciones que usan paquetería .deb. En el caso que usen otro tipo de paquetería deberán adaptar el comando que acabo de dejar. USO BÁSICO DE MENULIBRE PARA EDITAR EL MENÚ DE NUESTRA DISTRIBUCIÓN LINUX El uso de MenuLibre es extremadamente fácil. A partir de una serie de ejemplos podremos comprender su funcionamiento de forma fácil y sencilla.\nUna vez abierto el programa MenuLibre podremos realizar las siguientes operaciones.\nAñadir un elemento al menú de nuestra distribución Añadir un lanzador a nuestro menú es extremadamente fácil. Inicialmente nos ubicamos encima de la categoría a la que queremos añadir el lanzador, seguidamente presionamos encima del botón + y clicamos encima de la opción crear Añadir lanzador.\nSeguidamente, como mínimo, tenéis que configurar los campos que podéis ver en la captura de pantalla.\nLas opciones que en mi caso he configurado son las siguientes:\nHe seleccionado el icono que quiero que tenga mi lanzador. Como quiero crear una entrada para arrancar Chrome en modo incógnito he seleccionado un icono alternativo de Google Chrome. Se ha puesto un nombre al lanzador. En mi case he seleccionado el nombre Google Chrome Incognito. He introducido una descripción de lo que realiza el lanzador. En el campo Orden escribo el comando que quiero que se ejecute cuando clico sobre la entrada del menú. En mi caso he introducido el comando que usaría en la terminal para abrir Chrome en modo incógnito. Una vez realizados los cambios tan solo tienen que clicar encima del botón Guardar lanzador. A partir de estos momentos aparecerá una nueva entrada en la categoría Internet de vuestro menú.\nEn el momento que ejecute esta entrada se abrirá Google Chrome en modo incógnito.\nOtras opciones que hubiera podido editar son las siguientes:\nDirectorio de trabajo: No recomiendo tocar este apartado a no ser que lo necesitemos. En este apartado podemos definir el directorio de trabajo del programa que abrirá el lanzador. Ejecutar en una terminal: Tildando esta opción el programa se abrirá como si lo ejecutáramos desde una terminal. De este modo conseguiremos ver los errores que se producen al iniciar o al usar un programa. Usar notificación de inicio: Si tildamos esta opción el cursor de nuestro ratón se convertirá en un reloj mientras se está abriendo el programa. Ocultar de los menús: En el caso que tengamos un lanzador creado y lo queramos esconder podemos tildar esta opción. Modificar un lanzador existente del menú Si lo único que precisamos es variar un parámetro de un lanzador existente tenemos que proceder de la siguiente forma.\nInicialmente usamos el cuadro de búsqueda de lanzadores para buscar el lanzador que queremos modificar. En mi caso preciso modificar el lanzador del juego Xonotic.\nUna vez encontrado el lanzador podéis modificar los parámetros que creáis convenientes. Una vez modificados deberán presionar en el botón Guardar para que se apliquen los cambios.\nMenuLibre nunca modificará la configuración estándar del lanzador que sea crea al instalarse una aplicación. Las modificaciones de las entradas del menú se gestionan del siguiente modo:\nMenuLibre crea una copia del lanzador original del menú. La copia se modifica con las nuevas opciones que nosotros elijamos. Finalmente, el lanzador modificado se almacena en la ubicación ~/.local/share/applications. Hay que recordar que la ubicación predeterminada de los lanzadores originales es /usr/share/applications. De este modo se pueden modificar las entradas de nuestro menú de forma más segura.\nEliminar un elemento duplicado en el menú En mi caso uso el cuadro de búsqueda para ver las entradas de Firefox que tengo presentes en mi menú.\nSi observáis la captura de pantalla veréis que la entrada de Firefox está duplicada en 2 categorías distintas.\nPara solucionar este problema seleccionamos al entrada que queremos eliminar y presionamos sobre el botón Eliminar. Seguidamente nos preguntará si estamos realmente seguros de eliminar el elemento, si estamos seguros presionamos el botón Aceptar.\nDe esta forma tan fácil y tan sencilla podemos eliminar entradas de nuestro menú.\nUSO AVANZADO DE MENULIBRE PARA EDITAR EL MENÚ DE NUESTRA DISTRO Si necesitamos configurar parámetros más avanzados de nuestros lanzadores podemos usar las Acciones y el menú Avanzado de MenuLibre .\nCrear acciones cuando lanzamos un programa del menú Nota: Este apartado únicamente es aplicable a los entornos de escritorio como por ejemplo Gnome Shell y Unity. Las acciones únicamente son parámetros de la línea de comandos que aplicamos a un programa.\nPara saber las acciones que tiene disponibles un programa tenemos que abrir una terminal y escribir el nombre con que ejecutaríamos el programa seguido del comando --help. Por lo tanto para averiguar las acciones de Firefox escribiremos el siguiente comando en la terminal:\nfirefox --help El resultado obtenido en mi caso es el siguiente:\nExisten muchas acciones, pero en mi caso me centraré en la acción --private-window. Esta acción es la que usamos para abrir Friefox en modo privado.\nSi os fijáis en mi menú de Gnome no existe la opción de abrir Firefox en modo navegación privada.\nPara añadir la acción abrimos MenuLibre y buscamos y seleccionamos el lanzador de Firefox.\nA continuación clicamos encima del botón Acciones, seguidamente clicamos encima del botón +. Finalmente en los apartados Nombre y Orden introducimos los parámetros que podéis ver en a siguiente captura de pantalla:\nEn el campo Nombre escribimos una descripción de lo que hará la acción. En mi caso elijo la descripción Abrir navegación privada.\nFinalmente, en el apartado Orden tenemos que introducir el comando que ejecutaríamos para iniciar Firefox en modo privado desde la terminal. En este caso es:\nfirefox --private-window Una vez finalizada la configuración guardamos los cambios y reiniciamos nuestro equipo.\nDespués de reiniciarse el equipo ya aparecerá la acción para arrancar Firefox en navegación privada.\nOpciones avanzadas del editor de menús MenuLibre Si os fijáis MenuLibre tiene un apartado de configuración avanzada. A continuación se muestra la configuración avanzada para el lanzador de Transmission.\nEn los distintos campos de las opciones avanzadas podemos configurar los siguientes parámetros:\nNombre genérico: Un nombre cualquiera que damos al programa. Podemos elegir el que más nos guste. Probar ejecutable: Tenemos la posibilidad de indicar la ruta de un ejecutable que es necesario que exista para que el lanzador funcione. De esta forma solo se añadirán elementos al menú que tengan un ejecutable determinado con los correspondiente permisos de ejecución. Solo mostrar en: Podemos seleccionar los entornos de escritorio en los que queremos que se muestre nuestro lanzador. Si únicamente queremos que se muestre el lanzador en XFCE escribiré XFCE. Otros valores que puedo escribir en este apartado son GNOME, KDE, Razor, MATE, LXDE, etc. Este campo únicamente es configurable si el campo No mostrar en esta inactivo. No mostrar en: Tenemos la opción de indicar los entornos en que no queremos que se muestre el lanzador. Este campo únicamente es configurable si el campo Solo mostrar en esta inactivo. Tipos MIME: Se indican los tipos MIME soportados por la aplicación. De este modo asociamos los tipos de archivo a un programa determinado. Palabras clave: Son palabras que simplemente ayudan a buscar un lanzador de forma más rápida. En nuestro caso por podríamos introducir la palabra Torrent o la palabra Transmission. De esta forma las búsquedas de lanzadores en nuestro menú serán más rápidas. Inicio WM clase: Para asociar una aplicación a una determinada clase de ventana. Con el comando xprop podemos averiguar e identificar las distintas clase de ventanas existentes. Oculto: Si fijamos el valor true (verdadero) se oculta el lanzador del menú y todos los otros elementos del sistema operativo que puedan hacer uso del lanzador. DBUS Activable: Si fijamos el valor true (verdadero), la aplicación usará D-Bus en en el momento de arrancar la aplicación. Para ello la aplicación que lanzamos tiene que ser compatible con D-Bus. De esta forma tan simple y sencilla podremos editar el menú de nuestra distribución Linux def forma rápida y extremadamente sencilla.\n","permalink":"https://geeklandlinux.github.io/posts/editar-el-menu-linux-menulibre/","summary":"\u003cp\u003eA continuación veremos como podemos editar el menú de nuestra distribución Linux de forma fácil y sencilla usando el programa MenuLibre.\u003c/p\u003e","title":"Editar el menú de nuestro escritorio Linux con MenuLibre"},{"content":"Cada día que pasa los internautas hacen un uso más intensivo de tecnologías como por ejemplo VPN y Tor. Además también están más concienciados sobre temas de censura, privacidad y anonimato en la red.\nEl motivo de ello es que expertos en seguridad informática, usuarios con conocimientos avanzados y personajes como por ejemplo Edward Snowden, informan y educan sobre las huellas digitales que dejamos al usar Internet. Algunas de las huellas digitales que dejamos son las siguientes:\nNuestra dirección IP queda registrada en todas y cada una de las páginas web que visitamos. Los proveedores de internet guardan un registro completo de toda nuestra actividad e historial de navegación. Nuestras conversaciones en aplicaciones de mensajería quedan registradas y pueden ser obtenidas por terceras personas o organismos gubernamentales. Cualquier información publicada en la red queda registrada de forma permanente por sitios como por ejemplo Google, Archive.org, etc. A través de las cookies proporcionamos información de nuestro idioma, la región de navegación, el contenido que hemos consultado previamente en una web, nuestras credenciales de acceso a una web, etc. Datos proporcionados por nuestro navegador como por ejemplo el sistema operativo que usamos, el navegador que usamos, los plugin que tenemos instalados, fuentes tipográficas usadas, la resolución de nuestra pantalla, etc. Además todas estas huellas son almacenadas por organismos gubernamentales, proveedores de Internet u terceros por si algún día la información les puede ser de utilidad.\nPor este motivo, en el siguiente artículo citaré las semejanzas y diferencias de las redes VPN y Tor. Las redes VPN y Tor son 2 herramientas disponibles para evitar la censura y preservar nuestra privacidad y anonimato en la red.\n¿CÓMO FUNCIONA LA RED TOR? Si quieren tener información concreta y detallada de que es y como trabaja Tor pueden consultar el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/que-es-y-como-funciona-la-red-tor/\n¿CÓMO FUNCIONA UNA RED VPN? Quien esté interesado en saber como funciona una red VPN tan solo tiene que consultar el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/conectarse-a-un-servidor-vpn-gratis/\nDIFERENCIAS ENTRE UNA RED VPN Y TOR Como hemos visto en apartados anteriores, una de las principales diferencias entre una red VPN y Tor es su funcionamiento.\nDebido a estas diferencias de funcionamiento, ambas opciones presentan una serie de ventajas e inconvenientes que son los siguientes:\nAnonimato proporcionado por una red VPN y Tor El nivel de anonimato proporcionado por la red Tor es mucho mayor que el proporcionado por una red VPN. Los motivos para realizar tal afirmación son simples:\nLa información que circula a través de una red VPN únicamente dispone de una capa de cifrado. En cambio, la que circula a través de la red Tor dispone de varias capas de cifrado. La información que circula por la red Tor pasa por multitud de nodos aleatorios antes de llegar a su destino. Esto hace que una comunicación a través de la red Tor sea extremadamente difícil de trazar. En contraposición, una red VPN únicamente usa un único nodo adicional para llegar a su destino final. En muchas ocasiones los servidores VPN que se usan son cercanos a la ubicación real de sus usuarios. Esto sin duda hace que el servicio sea más rápido, pero en términos de anonimato no es adecuado. Trazar una comunicación VPN puede ser extremadamente sencillo. Las autoridades tan solo tienen que contactar con el servicio VPN y exigir que se les proporcionen los datos necesarios para identificar a un usuario. Muchos servicios VPN dicen y publicitan que no guardan logs de las actividades de sus clientes. No obstante en la mayoría de ocasiones lo que publicitan los servicios VPN es falso. Un servidor VPN es adecuado para preservar nuestra privacidad. Si además de nuestra privacidad queremos preservar nuestro anonimato lo mejor es usar la red Tor. Por todos estos motivos, si usamos un servicio VPN determinadas entidades como por ejemplo la NSA, disponen de los medios y recursos necesarios para trazar una determinada comunicación y concluir que proviene de un usuario determinado. En contraposición, si usamos Tor será muy difícil que nadie nos localice.\nSeguridad proporcionada por un servicio VPN y Tor No me atrevo a decir que una de las 2 opciones sea mas segura que otra. La realidad es que en función de nuestro propósito será más adecuado usar una tecnología u otra.\nAmbas opciones tienen vulnerabilidades y puntos débiles como por ejemplo los siguientes:\nUn servicio VPN se basa en la confianza. En caso que los administradores del servicio VPN tengan malas intenciones pueden instalarnos malware, vulnerar nuestra privacidad cediendo nuestros datos de navegación a terceros, etc. Si un nodo de salida de la red Tor es maligno o es controlado por un organismo como la NSA estamos vendidos. Si en la red Tor nos conectamos a una web que no usa https, el tráfico estará completamente descifrado y visible en el nodo de salida. Para evitar los problemas de seguridad que acabamos de citar tenemos varias soluciones:\nEn el caso que usemos la red Tor podemos optar por la opción de usar un servicio VPN y Tor al mismo tiempo. De esta forma eliminaremos algunos de los puntos débiles de la red Tor. En el caso de usar únicamente un servicio VPN deberemos investigar y seleccionar un VPN que sea confiable. A continuación les dejo un enlace para que pueden seleccionar de forma adecuada su proveedor de VPN. https://geeklandlinux.github.io/posts/como-elegir-servicio-vpn-adecuado/\nVelocidad y comodidad de los servicios VPN y Tor Un servicio VPN es mucho más rápido y cómodo de usar que no la red Tor.\nTor es una red distribuida por todo el planeta. Por lo tanto antes que nuestra petición llegue al destino final pasaremos por multitud de nodos ubicados en diferentes continentes. Esto sin duda favorece nuestro anonimato, pero perjudica la velocidad de nuestra navegación.\nEn una conexión VPN únicamente disponemos de un nodo intermedio, por lo tanto la conexión y velocidad acostumbra a ser mucho más rápida y fluida.\nConectarse y usar la red Tor es relativamente sencillo, pero usar un servicio VPN aún lo es más. Existen clientes de servicios VPN que son extremadamente sencillos de usar.\nUbicación de nuestra conexión La IP y ubicación geográfica de la red Tor siempre será aleatoria. En cambio en los servicios VPN podemos elegir nuestra ubicación.\nElegir nuestra ubicación puede ser útil en determinados casos. Cabe recordar que hay servicios de Internet, como por ejemplo Pandora, que únicamente están disponibles en un país que en este caso es Estados Unidos.\nSEMEJANZAS ENTRE UNA RED VPN Y TOR A pesar de las diferencias que acabamos de ver, las redes VPN y Tor presentan semejanzas. Algunas de las semejanzas son las siguientes:\nSirven para ocultar las huellas que dejamos cuando navegamos por internet. Permiten ocultar nuestra ubicación geográfica, nuestra IP, etc. De este modo ambas soluciones nos ayudan a preservar nuestra privacidad y anonimato. El tráfico entre el punto de inicio y el punto de destino viaja de forma cifrada en los 2 casos. Las 2 opciones permiten navegar de forma más segura en redes Wifi públicas. Las redes VPN y Tor únicamente nos protegen del anonimato en el transporte de datos. No sirve de nada usar una red Tor o VPN si al usarlas proporcionamos nuestro nombre real en un formulario en línea, nos logueamos a nuestro correo electrónico, etc. Pueden leer los siguientes consejos para preservar el anonimato en la red. Ambas soluciones permiten eludir la censura de determinados países que bloquean el acceso a determinadas páginas o servicios web. Ambas opciones son útiles y ayudan a evitar ataques de Malware, ataques del tipo Man in the middle, etc. Son válidas para evitar que nuestros proveedores de Internet guarden un perfil con nuestro historial de navegación. Una vez analizadas las diferencias y similitudes pasaremos a ver cuando es más adecuado usar una tecnología que otra.\n¿CUÁNDO USAREMOS UNA RED VPN O LA RED TOR? Una vez vistas las diferencias y semejanzas de ambas soluciones. ¿Qué tipo de servicio deberíamos usar?\nPues de depende. Cada uno es libre de usar la opción que prefiera o tenga más a mano. Ambas soluciones son efectivas para evitar la censura en la red y preservar nuestra privacidad y anonimato.\nEn mi caso las recomendaciones que haría a una persona son las siguientes:\nPara usar un servicio VPN hay que realizar un desembolso económico importante. Los servicios VPN gratuitos a mi no me ofrecen confianza y su rendimiento acostumbra a ser malo. Por lo tanto si no quieren pagar por un servicio VPN confiable mi recomendación es que usen Tor, Si lo que pretenden es acceder a un servicio que únicamente funciona en un país determinado, lo ideal es usar un servicio VPN. Si lo único que pretenden es usar uno de estos servicios para descargar Torrent usen un servicio VPN. En términos de anonimato no es adecuado descargar torrent usando la red Tor. El nivel de anonimato proporcionado por la red Tor es superior al de una red VPN. Por lo tanto los periodistas y/o personas que tienen que tratar con información especialmente sensible deberían usar la red Tor. En el caso que algún periodista o persona se vea obligada a realizar una actividad ilegal o perseguida es mejor usar Tor. La razón es simple, el anonimato proporcionado por Tor es superior al de un VPN. Si en un entono profesional queremos interconectar 2 redes o acceder a determinados servicios fuera de nuestra red local deberemos usar un servicio VPN. Si somos un usuario común que únicamente quiere preservar la privacidad cuando nos conectamos en redes públicas y ocultar nuestra actividad a nuestro proveedor de internet es más recomendable usar una red VPN. En el caso que únicamente pretendamos preservar nuestra privacidad y evitar la censura, cualquiera de las 2 opciones es buena. Si somos una empresa y/o queremos guardar información extremadamente confidencial es mejor hacerlo en un servidor ubicado dentro de la red Tor. Espero que después de leer este artículo les queden más claras las similitudes y diferencias existentes entre las redes VPN y Tor. Asimismo también deberían tener las nociones básicas para seleccionar el servicio que más les convenga en función de sus necesidades.\n","permalink":"https://geeklandlinux.github.io/posts/diferencias-semejanzas-vpn-y-tor/","summary":"\u003cp\u003eCada día que pasa los internautas hacen un uso más intensivo de tecnologías como por ejemplo VPN y Tor. Además también están más concienciados sobre temas de censura, privacidad y anonimato en la red.\u003c/p\u003e\n\u003cp\u003eEl motivo de ello es que expertos en seguridad informática, usuarios con conocimientos avanzados y personajes como por ejemplo Edward Snowden, informan y educan sobre las huellas digitales que dejamos al usar Internet. Algunas de las huellas digitales que dejamos son las siguientes:\u003c/p\u003e","title":"Diferencias y semejanzas entre una red VPN y Tor"},{"content":"Existen casos en los que precisamos editar los metadatos de una fotografía. Algunos ejemplos de ello son los siguientes:\nCuando la hora y/o la fecha de disparo de una fotografía no son correctas. Fotografías que no disponen de metadatos y queremos añadírselos manualmente. Para ocultar o eliminar algunos de los metadatos antes de enviar una fotografía a un tercero. Establecer coordenadas GPS a nuestras imágenes en el caso que lo consideremos necesario. Etc. Cuando nos encontramos con estas situaciones, una solución fácil para editar los metadatos de las fotografías es usar PyexifToolGUI.\nPyexifToolGUI no es más que un simple front-end para poder usar la herramienta Exiftool de forma gráfica y cómoda.\nINSTALAR EL PROGRAMA PYEXIFTOOLGUI PARA EDITAR LOS METADATOS Antes de iniciar el programa PyexifToolGUI tenemos que instalar una serie de paquetes en nuestro sistema operativo. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo apt-get install libimage-exiftool-perl python-pyside python Una vez instalados los paquetes descargaremos la última versión del programa ejecutando el siguiente comando en la terminal:\nwget https://github.com/hvdwolf/pyExifToolGUI/archive/0.5.tar.gz A continuación descomprimiremos el archivo que acabamos de descargar ejecutando el siguiente comando en la terminal:\ntar zxf 0.5.tar.gz Para realizar la instalación accedemos a la carpeta que acabamos de descomprimir ejecutando el siguiente comando en la terminal:\ncd ~/pyExifToolGUI-0.5/ Finalmente instalamos el programa ejecutando el siguiente comando en la terminal:\nsudo ./install_remove.py install ¿CÓMO PODEMOS DESINSTALAR PYEXIGTOOLGUI? Si algún día precisamos desinstalar el programa tan solo tenemos que ejecutar el siguiente comando en la terminal:\nsudo ./install_remove.py remove USAR PYEXIFTOOLGUI SIN NECESIDAD DE INSTALARLO Para usar PyExifToolGUI sin instalarlo es necesario tener la totalidad de dependencias que requiere el programa instaladas. Para ello tienen que ejecutar el siguiente comando en la terminal:\nsudo apt-get install libimage-exiftool-perl python-pyside python Seguidamente ya podemos ejecutar su archivo binario introduciendo el siguiente comando en la terminal:\n~/pyExifToolGUI-0.5/bin/pyexiftoolgui Acto seguido el programa se abrirá y lo podremos usar con total normalidad.\nVER Y EDITAR LOS METADATOS DE UNA FOTOGRAFÍA O LOTE DE FOTOGRAFÍAS Una vez instalado el programa tan solo tenemos que abrirlo.\nA continuación tenemos que cargar la totalidad de fotografías en que queremos visualizar o modificar sus metadatos. Para ello clicamos encima del botón Load Images.\nSeguidamente aparecerá una ventana en la que deberemos buscar y seleccionar la/s fotografía/s en que queremos visualizar o editar los metadatos. Una vez seleccionadas las imágenes presionamos el botón Open.\nVer los metadatos de una fotografía Una vez cargadas las fotos tan solo tenemos que ir clicando cada una de las fotografías para ver la totalidad de sus metadatos. Observando los metadatos Exif de las fotografías observo que la fecha de disparo es totalmente incorrecta.\nAdemás si clico en la opción GPS Location veo rápidamente que las imágenes no llevan ningún tipo de coordenadas GPS.\nPara corregir los 2 puntos que acabo de citar en la totalidad de fotografías podemos proceder del siguiente modo.\nEditar los metadatos de una imagen o lote de imágenes Para introducir o modificar las coordenadas GPS a nuestras fotografías seleccionamos la totalidad de fotografías en las que queremos modificar los metadatos. A continuación clicamos encima de la pestaña Edit Data y seguidamente clicamos en la pestaña Gps.\nEl siguiente paso consiste en introducir las coordenadas GPS de donde tiramos el lote de fotografías que estamos editando y presionar el botón Save to selected images(s).\nDespués de presionar el botón se establecerán coordenadas GPS en la totalidad de fotografías que teníamos seleccionadas.\nSi ahora queremos modificar la fecha en que se tomaron las fotos tan solo tenemos que seguir los siguientes pasos.\nInicialmente seleccionamos la totalidad de fotos en las que queremos modificar la fecha y hora de disparo. A continuación clicamos encima de la pestaña Edit Data y en el campo DateTimeOriginal introducimos la fecha y hora real del disparo. Finalmente tan solo tenemos que apretar el botón Save to selected image(s).\nActo seguido se modificará la fecha de disparo de la totalidad de fotografías que habíamos seleccionado.\nDe esta forma tan simple y tan sencilla podemos visualizar y modificar los metadatos de una foto o conjunto de fotos de forma simple, rápida y efectiva.\nOTRAS OPCIONES QUE OFRECE EL SOFTWARE PYEXIFTOOLGUI En el artículo hemos visto un par de funciones del programa que son las siguientes:\nModificar metadatos del tipo Exif. Añadir coordenadas GPS a nuestras imagenes. Además hemos visto que la edición de metadatos se puede realizar de forma individual o por lotes.\nPero la verdad es que PyExifToolGUI permite muchas más operaciones como por ejemplo las siguientes:\nEditar la totalidad de metadatos de una fotografía o conjunto de fotografías. Así por ejemplo podemos editar la localización donde se disparo una fotografía, su resolución, el tiempo de exposición, la marca de la cámara fotográfica que tiro la foto, etc. El programa no es únicamente capaz de visualizar y editar metadatos exif. También es capaz de ver y editar metadatos del tipo xmp e iptc. Al ser compatible con metadatos xmp de Adobe, el programa también es capaz de ver y editar metadatos xmp en archivos de imagen, de audio como por ejemplo el .wav o el .mp3, en pdf’s, en archivos de vídeo, etc. Algunas de las etiquetas comunes de los metadatos xmp son el título, la descripción, el creador, una cualificación en estrellas del archivo, etc. El software no únicamente nos permite editar los metadatos exif mediante una interfaz gráfica. También nos permite editar y leer metadatos mediante los típicos comandos de exiftool que ejecutaríamos en una terminal. Editar metadatos GPano XMP para Photo Sphere. De este modo también podremos editar de forma más adecuada los metadatos en fotos esféricas como por ejemplo las que tiramos con la función Photo Sphere de Google. Permite seleccionar y copiar metadatos de una fotografía determinada y pegarlos a un lote de fotografías. Renombrar el nombre de fotografías por lotes o de forma individual. Etc. ","permalink":"https://geeklandlinux.github.io/posts/editar-los-metadatos-fotografia-linux/","summary":"\u003cp\u003eExisten casos en los que precisamos editar los metadatos de una fotografía. Algunos ejemplos de ello son los siguientes:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eCuando la hora y/o la fecha de disparo de una fotografía no son correctas.\u003c/li\u003e\n\u003cli\u003eFotografías que no disponen de metadatos y queremos añadírselos manualmente.\u003c/li\u003e\n\u003cli\u003ePara ocultar o eliminar algunos de los metadatos antes de enviar una fotografía a un tercero.\u003c/li\u003e\n\u003cli\u003eEstablecer coordenadas GPS a nuestras imágenes en el caso que lo consideremos necesario.\u003c/li\u003e\n\u003cli\u003eEtc.\u003c/li\u003e\n\u003c/ol\u003e","title":"Editar los metadatos de una fotografía en Linux con PyExifToolGUI"},{"content":"A continuación veremos los pasos a seguir para montar un servidor torrent de de forma fácil y sencilla en una raspberry pi. Pero antes veremos una pequeña introducción porque es interesante hacerlo en una raspberry Pi y no en un ordenador.\nRAZONES PARA MONTAR UN SERVIDOR TORRENT EN LA RASPERRY PI El principal motivo para montar nuestro servidor torrent en una Rasperry Pi es el consumo energético.\nEl consumo energético de los distintos modelos de Raspberry Pi son los siguientes:\nRaspberry Pi 1 Modelo A Raspberry Pi 1 Modelo B Raspberry Pi 1 Modelo B+ Raspberry Pi 2 Modelo B Raspberry Pi 3 Modelo B 800 mA, (4.0 W) 700 mA, (3.5 W) 600 mA, (3.0 W) 800 mA, (4.0 W) 800 mA, (4.0 W) Fuente: https://es.wikipedia.org/wiki/Raspberry_Pi\nLos datos de la tabla son considerando consumos energéticos máximos. En el caso que la Raspberry Pi esté en reposo o realice tareas poco pesadas el consumo será mucho menor.\nComo pueden ver el consumo máximo de una Raspberry Pi es de unos 4W, mientras que el de un ordenador trabajando a pleno rendimiento puede llegar a consumir alrededor de unos 300W o más.\nSi quieren más información sobre el consumo energético de la Raspberry Pi pueden consultar el siguiente enlace.\nOtros motivos más secundarios para usar una Raspberry pi como servidor Torrent son los siguientes:\nLos ordenadores que estan en habitaciones pequeñas acostumbran a ser una fuente de calor importante en verano. En verano toda fuente de calor es molesta. Prácticamente no ocupa espacio y no precisa de ningún monitor para su funcionamiento. Aparte de usar la Raspberry Pi como servidor torrent la podemos usar como servidor DLNA. De este modo podemos reproducir archivos de vídeo y audio en nuestro televisor sin ningún tipo de problema. AÑADIR UN MEDIO DE ALMACENAMIENTO A NUESTRA RASPBERRY PI Para montar un servidor torrent es interesante añadir un disco duro de gran capacidad a nuestra Raspberry Pi. Un pendrive de alta capacidad también puede ser una excelente alternativa ya que su consumo es mucho menor.\nFormatear el disco duro o pendrive El primer paso que debemos hacer es formatear el disco duro o pendrive. En mi caso lo formatearé con el formato NTFS. Selecciono este formato porque es funcional en prácticamente la totalidad de sistemas operativos.\nUna vez formateado el disco duro ya lo podemos enchufar a nuestra Raspberry Pi.\nRecuerden que si quieren usar el formato de archivos NTFS tienen que instalar el paquete ntfs-3g. Para ello tan solo tienen que ejecutar el siguiente comando en la terminal de su Raspberry Pi:\nsudo apt-get install ntfs-3g Averiguar el nombre con que se reconoce nuestro dispositivo de almacenamiento Seguidamente tenemos que averiguar el nombre con que se reconoce el disco duro o pendrive que acabamos de enchufar. Para ello ejecuto el siguiente comando en la terminal:\nsudo fdisk -l El resultado obtenido es el siguiente:\nDevice Boot Start End Sectors Size Id Type /dev/mmcblk0p1 8192 2474609 2466418 1,2G e W95 FAT16 (LBA) /dev/mmcblk0p2 2474610 31422463 28947854 13,8G 5 Extended /dev/mmcblk0p5 2482176 2547709 65534 32M 83 Linux /dev/mmcblk0p6 2547712 2682879 135168 66M c W95 FAT32 (LBA) /dev/mmcblk0p7 2686976 31422463 28735488 13,7G 83 Linux Disk /dev/sda: 14,5 GiB, 15512174592 bytes, 30297216 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x4637499f Device Boot Start End Sectors Size Id Type /dev/sda1 63 30296447 30296385 14,5G 7 HPFS/NTFS/exFAT De forma muy fácil vemos que nuestro dispositivo de almacenamiento se reconoce como /dev/sda1. Es fácil de identificar porque conozco el tamaño del disco duro y porque es el único sistema de archivos NTFS existente.\nCrear la carpeta dónde se montará nuestro disco duro A continuación tenemos que crear la carpeta donde montaremos nuestro disco duro. En mi caso quiero montar mi disco duro en la carpeta /media/downloads. Por lo tanto ejecutaré el siguiente comando en la terminal:\nsudo mkdir /media/downloads Montar la carpeta de descargas al iniciar nuestra Raspberry Pi El siguiente paso consiste en que cada vez que se arranque nuestra Raspberry se automonte el disco duro de descargas. Para ello editaremos el fichero /etc/fstab ejecutando el siguiente comando en la terminal:\nsudo nano /etc/fstab Una vez se abra el editor de textos nano añadiremos una línea del siguiente tipo al final del fichero:\nnombre del disco duro /media/carpeta_de_montaje ntfs-3g defaults 0 0 Como nuestro disco duro es reconocido como /dev/sda1 y se montará en la carpeta /media/downloads, el comando a pegar en mi caso será el siguiente:\n/dev/sda1 /media/downloads ntfs-3g defaults 0 0 Una vez realizadas las modificaciones tan solo tenemos que guardar los cambios, cerrar el fichero y reiniciar nuestra Raspberry Pi.\nNota: Para reiniciar la Raspberry Pi pueden utilizar el comando sudo reboot. CREAR LAS CARPETAS DONDE SE DESCARGARAN LOS TORRENT Después de reiniciar nuestra Raspberry Pi el disco duro ya estará montado. Por lo tanto ahora podemos crear las carpetas donde se descargaran nuestros archivos.\nEn mi caso quiero que les descargas parciales se almacenen en la carpeta /media/downloads/incompletos. También quiero que las descargas finalizadas se guarden en la carpeta /media/downloads/finalizados. Por lo tanto ejecutaré los siguientes comandos en la terminal:\nmkdir /media/downloads/finalizados mkdir /media/downloads/incompletos A continuación ya podemos empezar con la instalación del servidor.\nINSTALAR EL SERVIDOR TORRENT TRANSMISSION Inicialmente actualizaremos los repositorios de nuestra distro. Para ello ejecutamos el siguiente comando en la terminal:\nsudo apt-get update Seguidamente ejecutamos el siguiente comando para actualizar el sistema operativo:\nsudo apt-get dist-upgrade A continuación instalamos el demonio de transmission ejecutando el siguiente comando en la terminal:\nsudo apt-get install transmission-daemon Una vez instalado el demonio lo detenemos ejecutando el siguiente comando en la terminal:\nsudo /etc/init.d/transmission-daemon stop Con el demonio inactivo iniciaremos la configuración de nuestro servidor torrent.\nCONFIGURAR EL SERVIDOR TORRENT Seguidamente editamos el fichero de configuración de Transmission ejecutando el siguiente comando en la terminal:\nsudo nano /etc/transmission-daemon/settings.json Dentro del fichero de configuración, como mínimo configuraremos los siguientes parámetros:\n«cache-size-mb»: 10, “download-dir»: «/media/downloads/finalizados«, «incomplete-dir»: «/media/downloads/incompletos«, «incomplete-dir-enabled»: true, «peer-port»: 51413, «preallocation»: 2, «rpc-enabled»: true, «rpc-password»: «contraseña«, «rpc-port»: 9091, «rpc-username»: «nombre_usuario«, «rpc-whitelist»: «127.0.0.1,192.168.1.*,10.8.0.*», «rpc-whitelist-enabled»: true, «umask»: 2, Nota: En función de nuestro propósito se pueden añadir/modificar muchos más parámetros del fichero de configuración. Pueden consultar el siguiente enlace para conocer más acerca de los parámetros de configuración de Transmission. Nota: Los parámetros de configuración en color rojo son los que deberéis modificar en función de vuestras necesidades. Cada uno de los parámetros que acabamos de ver tienen el siguiente significado:\nParámetro Significado \u0026ldquo;cache-size-mb\u0026rdquo;: 10, Se establece que el tamaño de memoria cache de transmission es de 10 MB. Cuanto más grande sea la memoria cache asignada, menos accesos se tendrá que hacer a nuestro disco duro, pero mayor será el consumo de memoria RAM. “download-dir\u0026quot;: \u0026ldquo;/media/downloads/finalizados\u0026rdquo;, Definimos el directorio que almacenera los ficheros una vez finalizada la descarga. \u0026ldquo;incomplete-dir\u0026rdquo;: \u0026ldquo;/media/downloads/incompletos\u0026rdquo;, Definimos el directorio que almacenará las descargas parciales o incompletas. \u0026ldquo;incomplete-dir-enabled\u0026rdquo;: true, Activamos la carpeta incompletos. De este modo los Torrent se descargan en la carpeta incompletos. Cuando el Torrent se haya descargado por completo se trasladará a la carpeta finalizados. \u0026ldquo;peer-port\u0026rdquo;: 51413, Definimos que el puerto que usará nuestro servidor de Torrent es el 51413. \u0026ldquo;preallocation\u0026rdquo;: 2, Podemos seleccionar los valores 0,1,2. Seleccionamos 2 porque minimizará la fragmentación de nuestro sistema de archivos. \u0026ldquo;rpc-enabled\u0026rdquo;: true, Definimos el valor true para habilitar el acceso al servidor de torrent vía web \u0026ldquo;rpc-password\u0026rdquo;: \u0026ldquo;contraseña\u0026rdquo;, Definición de la contraseña que usaremos para conectarnos de forma remota a nuestro servidor de torrent. Una vez escrita, transmission aplicará un hash a nuestra contraseña para ocultarla. \u0026ldquo;rpc-port\u0026rdquo;: 9091, Definimos que el puerto que usaremos para conectarnos a la interfaz web es el 9091. \u0026ldquo;rpc-username\u0026rdquo;: \u0026ldquo;nombre_usuario\u0026rdquo;, Definición del nombre de usuario para conectarnos de forma remota a nuestro servidor torrent. \u0026ldquo;rpc-whitelist\u0026rdquo;: \u0026ldquo;127.0.0.1,192.168.1.*,10.8.0.*\u0026rdquo;, Definimos el rango de direcciones IP que tendrán acceso a gestionar nuestro servidor torrent. Con los rangos seleccionados me podré conectar remotamente al servidor desde mi red local, desde la Raspberry Pi y desde el exterior siempre y cuando con anterioridad me haya conectado a mi servidor VPN. \u0026ldquo;rpc-whitelist-enabled\u0026rdquo;: true, Habilitamos la característica que únicamente un determinado rango de IP puedan conectarse remotamente al servidor Torrent. En el caso de elegir false, todo el mundo se podría conectar al servidor torrent sin necesidad de introducir ningún usuario ni contraseña \u0026ldquo;umask\u0026rdquo;: 2, Establecemos los permisos de los archivos descargados. Seleccionando el valor de 2, los archivos descargados tendrán los permisos 644 y los directorios 755. Si queremos que todo el mundo tenga permisos de lectura, escritura y ejecución, en vez del valor 2 deberemos seleccionar el valor 0 A continuación os muestro el contenido de mi fichero de configuración /etc/transmission-daemon/settings.json. Es posible que a alguien le pueda ayudar\n{ «alt-speed-down»: 50, «alt-speed-enabled»: false, «alt-speed-time-begin»: 540, «alt-speed-time-day»: 127, «alt-speed-time-enabled»: false, «alt-speed-time-end»: 1022, «alt-speed-up»: 50, «bind-address-ipv4»: «0.0.0.0«, «bind-address-ipv6»: «::«, «blocklist-enabled»: false, «blocklist-url»: «http://www.example.com/blocklist«, «cache-size-mb»: 10, «dht-enabled»: true, «download-dir»: «/media/downloads/finalizados«, «download-queue-enabled»: true, «download-queue-size»: 5, «encryption»: 1, «idle-seeding-limit»: 30, «idle-seeding-limit-enabled»: false, «incomplete-dir»: «/media/downloads/incompletos«, «incomplete-dir-enabled»: true, «lpd-enabled»: false, «message-level»: 1, «peer-congestion-algorithm»: ««, «peer-id-ttl-hours»: 6, «peer-limit-global»: 200, «peer-limit-per-torrent»: 50, «peer-port»: 51413, «peer-port-random-high»: 65535, «peer-port-random-low»: 49152, «peer-port-random-on-start»: false, «peer-socket-tos»: «default«, «pex-enabled»: true, «port-forwarding-enabled»: true, «preallocation»: 2, «prefetch-enabled»: 1, «queue-stalled-enabled»: true, «queue-stalled-minutes»: 30, «ratio-limit»: 2, «ratio-limit-enabled»: false, «rename-partial-files»: true, «rpc-authentication-required»: true, «rpc-bind-address»: «0.0.0.0«, «rpc-enabled»: true, «rpc-password»: «contraseña«, «rpc-port»: 9091, «rpc-url»: «/transmission/«, «rpc-username»: «usuario«, «rpc-whitelist»: «127.0.0.1,192.168.1.*,10.8.0.*«, «rpc-whitelist-enabled»: false, «scrape-paused-torrents-enabled»: true, «script-torrent-done-enabled»: false, «script-torrent-done-filename»: «», «seed-queue-enabled»: false, «seed-queue-size»: 10, «speed-limit-down»: 100, «speed-limit-down-enabled»: false, «speed-limit-up»: 100, «speed-limit-up-enabled»: false, «start-added-torrents»: true, «trash-original-torrent-files»: false, «umask»: 2, «upload-slots-per-torrent»: 14, «utp-enabled»: true } OTORGAR LOS PERMISOS NECESARIOS A NUESTRO USUARIO En mi caso uso mi Raspberry Pi con el usuario pi. Para asegurar no tener ningún tipo de problema al usar mi servidor torrent añadiré el usuario pi al grupo debian-transmission. Para ello ejecutaré el siguiente comando en la terminal:\nsudo usermod -a -G pi debian-transmission Para no tener problemas de permisos de escritura en mi disco NTFS añadiré el usuario debian-transmission al grupo plugdev. Para ello ejecutaré el siguiente comando en la terminal:\nsudo usermod -g plugdev debian-transmission HACER QUE NUESTRA RASPBERRY PI DISPONGA DE UNA IP FIJA Para poder acceder fuera y dentro de nuestra red local es importante que nuestro servidor de Torrent disponga de una IP fija.\nLes recomiendo que sigan las instrucciones del siguiente enlace para poder disponer de una IP fija. Si siguen las instrucciones pertinentes vuestra Raspberry Pi tendrá la IP Fija 192.168.1.200.\nABRIR LOS PUERTOS DEL SERVIDOR TORRENT AL ROUTER En el archivo de configuración hemos definido que el puerto que usará nuestro servidor de Torrent es el 51413. Este puerto lo hemos definido mediante el siguiente parámetro:\n\u0026#34;peer-port\u0026#34;: 51413, Por lo tanto ahora deberemos abrir el puerto 51413 en nuestro Router. En el caso de disponer de un Router Comtrend los pasos a seguir serán similares a los siguientes:\nInicialmente abriremos nuestro navegador, teclearemos la puerta de entrada de nuestro router y presionaremos la tecla Enter. Una vez realizado esto, tal y como se puede ver en la captura de pantalla, se abrirá una ventana que nos pedirá el nombre de usuario y contraseña de nuestro router:\nUna vez introducida la información accederemos a la configuración de nuestro router. Seguidamente, tal y como se puede ver en la captura de pantalla, tenemos que acceder a los menús Advanced / NAT / Virtual Servers y presionar el botón Add.\nEn en el campo custom server hay que escribir un nombre cualquiera. En mi caso como se puede ver en la captura de pantalla he escrito Transmission.\nSeguidamente en el campo Server IP Address tenemos que escribir la IP del servidor torrent. En mi caso he configurado que nuestro servidor tenga la IP estática 192.168.1.200. Por lo tanto en este campo debo escribir la IP 192.168.200.\nEn mi caso quiero que el servidor torrent funcione en el puerto 51413. Por lo tanto, tal y como se puede ver en la captura de pantalla, seleccionamos el protocolo TCP/UDP y escribimos el puerto de nuestro servidor torrent en los puertos internos y externos.\nPresionamos el botón Apply/Save y de esta forma nuestro servidor torrent estará totalmente operativo.\nINICIAR EL SERVIDOR TORRENT En estos momentos el trabajo ya está hecho. Ahora tan solo tenemos que iniciar el servidor. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo /etc/init.d/transmission-daemon start A partir de estos momentos nuestro servidor torrent ya está 100% operativo. Para usarlo tan solo tenemos que seguir las instrucciones que veremos a continuación.\nCONECTARSE DE FORMA REMOTA AL SERVIDOR EN NUESTRA RED LOCAL La gestión de nuestro servidor torrent se puede realizar sin problemas en prácticamente la totalidad de sistemas operativos existentes. Para ello tan solo tenemos que seguir las siguientes indicaciones.\nDescargar y gestionar nuestros torrent mediante cualquier navegador web Mediante cualquier navegador web podemos gestionar nuestro servidor torrent. Para ello tenemos que tener en cuenta 2 datos importantes:\nTenemos que saber la IP de nuestra servidor de Torrent. En apartados anteriores hemos definido que la IP de nuestro servidor sea la 192.168.1.200 Hay que saber el puerto en que está escuchando la interfaz web de nuestro servidor de Torrent. En el fichero de configuración, mediante el codigo \u0026ldquo;rpc-port\u0026rdquo;: 9091, hemos definido que este puerto es el 9091. Una vez conocidos estos datos, en la barra de direcciones del navegador escribimos la siguiente dirección y presionamos Enter.\nhttp://192.168.1.200:9091 Justo después tendremos que escribir el usuario y la contraseña que definimos en el fichero de configuración.\nFinalmente ya podremos añadir, gestionar y añadir descargas a nuestro servidor torrent. Para ello tenemos que seguir los siguientes pasos:\nClicamos encima del icono de la carpeta. Seguidamente se abrirá una ventana que nos ofrecerá 2 opciones. La primera es indicar la URL en que se halla el Torrent. La segunda es presionar en el botón Elegir archivos para seleccionar los archivos de torrent que podamos tener localmente en nuestro equipo. En mi caso elijo la primera opción introduciendo la URL para descargar el archivo torrent de Kubuntu. Seguidamente presiono en el botón Upload. Justo después empezará la descarga de nuestro archivo Torrent.\nSi os fijáis, la interfaz web también os permitirá cambiar varios parámetros de vuestro servidor de Torrent. Tan solo tenéis que clicar encima del icono de la llave inglesa y podréis modificar los parámetros de descarga que se configuran habitualmente.\nAparte del icono de la llave existen otros iconos que os permitirán configurar la totalidad de parámetros que tocáis habitualmente.\nGestionar el servidor de Torrent mediante aplicaciones móviles en Android Si no les gusta la interfaz web, los usuarios de Android tenemos la posibilidad de usar aplicaciones móviles.\nEn Android existen muchas aplicaciones, pero la que a mi me gusta es Transmission Remote. Para instalar la aplicación que menciono pueden usar el siguiente enlace:\nLa primera vez que abran la aplicación les aparecerá la siguiente pantalla en la que deberán presionar sobre el botón Agregar servidor.\nA continuación deberán rellenar los datos necesarios para que nos podamos conectar a nuestro servidor torrent. Los datos a rellenar son los siguientes:\nPoner un nombre identificativo a nuestro servidor de torrent. En mi caso el nombre elegido ha sido raspberry pi. La IP de nuestro servidor. Como hemos visto en el apartado anterior la IP de nuestro servidor es 192.168.1.200. El puerto en que estará escuchando la interfaz web de Transmisson. Como hemos visto en el apartado anterior el puerto es el 9091. El usuario y la contraseña que definimos en el fichero de configuración para poder acceder al servidor. Una vez introducidos todos tan solo tenemos que presionar encima del botón Aceptar.\nA continuación presionamos el botón + que aparecerá en la parte inferior derecha de la pantalla.\nSeguidamente podemos elegir el método para añadir el torrent a nuestro servidor. Podemos seleccionar mediante archivo o mediante URL. En mi caso elijo la opción mediante URL.\nFinalmente pego la dirección URL que contiene el torrent y presiono el botón Abrir.\nUna vez realizados estos pasos empezará la descarga de nuestro torrent sin ningún tipo de problema.\nAl igual que en la interfaz web, la aplicación de móvil también nos permitirá configurar los parámetros más habituales de nuestro servidor de descargas.\nNota: Según mi conocimiento no existen aplicaciones equivalentes para el sistema operativo iOS CONECTARSE AL SERVIDOR TORRENT FUERA DE NUESTRA RED LOCAL Existen varias formas para conectarnos al servidor torrent fuera de nuestra red local.\nLa primera de ellas es mediante un dominio de redireccionamiento DNS. La segunda es mediante un servidor VPN. En este caso he seleccionado la segunda opción por los siguientes motivos:\nMontar un servidor VPN en una Raspberry Pi es muy sencillo. Evitamos tener que abrir puertos adicionales en el Router. Tan solo tienen que seguir los siguientes pasos para montar un servidor OpenVPN en una Raspberry Pi.\nUna vez conectados al servidor OpenVPN es como si estuviéramos conectados a la red local.\nPor lo tanto para acceder al servidor torrent tan solo tenemos que seguir las mismas instrucciones que en el apartado Conectarse de forma remota al servidor de Torrent en nuestra red local.\nRecuerden que al conectarse a través del servidor VPN nuestro servidor tendrá una IP del tipo 10.8.0.*. Por lo tanto recuerden añadir este rango de IP en el parámetro rpc-whitelist del fichero de configuración de Transmission.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-configurar-servidor-torrent/","summary":"\u003cp\u003eA continuación veremos los pasos a seguir para montar un servidor torrent de de forma fácil y sencilla en una raspberry pi. Pero antes veremos una pequeña introducción porque es interesante hacerlo en una raspberry Pi y no en un ordenador.\u003c/p\u003e","title":"Instalar y configurar un servidor torrent en la Raspberry Pi"},{"content":"En el siguiente artículo veremos una forma fácil y sencilla de conectarnos al servicio VPN de ProtonVPN.\nProtonVPN es un servicio VPN con sede en Suiza y desarrollado por el Consejo Europeo de Investigación Nuclear (CERN). Está enfocado en garantizar la seguridad y la privacidad del usuario y es destacable por las siguientes características:\nEl servicio VPN fue creado y es gestionado por una entidad confiable. Su sede está en Suiza. De todos es conocido que Suiza es uno de los países que dispone de leyes de privacidad que protegen a los usuarios. Todos los servicios VPN dicen no ceder datos a terceros, pero a la hora de la verdad todos lo hacen. Al igual que el resto, ProtonVPN también lo promete, pero son más creíbles por estar ubicados en Suiza y por tratarse de una entidad reconocida que lleva tiempo operando sin incidencias destacables. Una vez vistas las características más destacadas de ProtonVPN pasaremos a ver como podemos usar este servicio en GNU-Linux.\nINSTALAR LOS PAQUETES NECESARIOS PARA CONECTARNOS A PROTONVPN Hay que asegurar que disponemos de los paquetes necesarios para conectarnos a ProtonVPN. Para ello ejecutamos el siguiente comando en la terminal:\nsudo apt-get install network-manager network-manager-openvpn openvpn network-manager network-manager-gnome network-manager-openvpn-gnome Una vez instalados la totalidad de paquetes reinicien el equipo. Una vez reiniciado el equipo estaremos en condiciones de conectarnos a un servidor VPN como por ejemplo el de ProtonVPN.\nNota: Si usan en gestor de red diferente a Networkmanager tienen que desinstalarlo. No es recomendable tener instalado más de un gestor de red en un mismo sistema operativo. DISPONER DE UNA CUENTA DE PROTONVPN O PROTONMAIL Si disponen de una cuenta de protonmail no es necesario crear ninguna cuenta en ProtonVPN. El nombre de usuario y contraseña de protonmail es útil para acceder y conectarse a ProtonVPN\nEn el caso que no dispongamos de ninguna cuenta de ProtonMail o ProtonVPN, accederemos a la siguiente URL\nhttps://protonpvn.com/\nA continuación presionaremos el botón SIGNUP.\nSeguidamente seleccionaremos el plan de VPN que queremos usar. En mi caso selecciono el plan Free.\nNota: Obviamente el plan Free dispone de limitaciones importantes. No obstante para probar el servicio y usarlo de forma esporádica es más que suficiente. A continuación escribimos cual queremos que sea nuestro usuario, contraseña y dirección de email.\nEl siguiente paso consiste en verificar que somos humanos. Para ello tenemos que seguir los siguientes pasos:\nSeleccionamos el método de verificación que queremos usar. En mi caso uso el Email. A continuación escribimos nuestra dirección de email y presionamos el botón SEND. Acto seguido tenemos que ir a consultar nuestro email y encontraremos un código de verificación.\nFinalmente volvemos a ProtonVPN, introducimos el código de verificación y presionamos el botón Get ProtonVPN.\nDespués de presionar el botón estaremos dentro de nuestra cuenta de ProtonVPN.\nDESCARGAR EL FICHERO DE CONFIGURACIÓN DE PROTONVPN Dentro de nuestra cuenta de ProtonVPN clicamos encima de la pestaña Downloads.\nA continuación definimos los siguientes aspectos:\nSeleccionamos el sistema operativo que queremos usar que en mi caso es Linux. Seleccionamos el protocolo de funcionamiento del servicio VPN. En términos de velocidad les recomiendo seleccionar el protocolo UDP. Seguidamente, en la pestaña Server configs buscamos un servidor VPN que esté disponible para los usuarios Free. Una vez encontrado descargamos su fichero de configuración clicando encima del icono de Descarga.\nAVERIGUAR NUESTRO USUARIO Y CONTRASEÑA Una vez descargado el fichero de configuración tendremos que anotarnos nuestro nombre de usuario y contraseña para podernos conectarnos al servicio de ProtonVPN.\nPara ello, dentro de la cuenta de ProtonVPN clicamos encima de la pestaña Account. Allí encontrarán el usuario y la contraseña que necesitan para conectarse a los servidores VPN.\nCONFIGURAR NETWORKMANAGER PARA CONECTARSE A PROTONVPN Ubicamos el puntero del ratón encima del icono del icono de Networmanager ubicado en el panel. Presionamos el botón derecho del ratón y cuando aparezca el menú contextual clicamos en la opción Editar las conexiones\u0026hellip;\nA continuación, en la ventana de conexiones de red clicamos encima del botón Añadir una conexión nueva.\nEn la ventana elegir un tipo de conexión deberemos elegir la opción Importar una configuración VPN guardada… y presionar el botón Crear.\nEntonces, cuando aparezca la ventana del gestor de archivos seleccionaremos el fichero de configuración de ProtonVPN que descargamos con anterioridad y presionaremos el botón Abrir.\nSeguidamente aparecerá la siguiente ventana en la que únicamente deberemos introducir el usuario y la contraseña para conectarnos al servidor VPN. Una vez introducidos el usuario y la contraseña presionamos el botón Guardar y el proceso de configuración ha finalizado.\nNota: Para saber vuestro nombre de usuario y contraseña consulten el apartado Averiguar nuestro usuario y contraseña. CONECTARSE AL SERVIDOR QUE ACABAMOS DE CONFIGURAR En estos momento ya hemos finalizado el trabajo más importante. Para conectarnos al servidor tan solo tenemos que realizar lo siguiente:\nClicar con el botón izquierdo encima del icono de red de Networkmanager Cuando aparezca el menú Networmanger nos vamos encima de la opción Conexiones VPN. Seguidamente aparecerá otro menú en el encontraremos la totalidad de servidores VPN que tenemos configurados. Seleccionamos al servidor al que nos queremos conectar y clicamos sobre él. Si es la primera vez que nos conectamos al servidor nos aparecerá la siguiente ventana en la que tendremos que introducir la contraseña para conectarnos a ProtonVPN. La introducen y presionan el botón Aceptar.\nNota: Para saber vuestro nombre de usuario y contraseña consulten el apartado Averiguar nuestro usuario y contraseña. Después de realizar estos simples pasos estaremos conectados al servidor VPN de ProtonVPN.\nCOMPROBAR QUE LA CONEXIÓN A PROTONVPN SE HA REALIZADO Para comprobar que la conexión se ha realizado pueden consultar cualquier servicio que se dedique a analizar las huellas de nuestra conexión y nuestro navegador. En mi caso he usado el siguiente servicio:\nhttps://browserleaks.com/\nSi consulto está página web, en mi caso observo lo siguiente:\nLa IP que tengo no es mi IP real. Es una IP Holandesa, por lo tanto tengo garantías que la conexión a ProtonVPN se ha establecido correctamente. La geolocalización IP indica que estoy ubicado en Holanda. Esto sin duda no es correcto y por lo tanto el servidor VPN está actuando correctamente. Mis servidores DNS tampoco son los reales. De este modo aseguro que mi proveedor de Internet no pueda conocer las web que he visitado. De este modo tan sencillo puedo tener la seguridad que estoy conectado de forma correcta a ProtonVPN.\nNota: Si navegan en la página de Browserleaks verán que existen un gran número de herramientas para evaluar la privacidad de nuestra navegación. RENDIMIENTO DEL SERVICIO PROTONVPN FREE En mi caso el rendimiento obtenido es más que aceptable. Después de usar durante días este servicio puedo afirmar lo siguiente.\nLa diferencia entra la velocidad de conexión con y sin el VPN se puede evaluar en la siguiente tabla:\nConectado a ProtonVPN NO conectado a ProtonVPN Velocidad de descargada (Mbps) 7,97 8,22 Velocidad de subida (kbps) 503 634,8 Ping (ms) 140 68 Jitter (ms) 5 2 La velocidad cuando estoy conectado al servicio VPN es prácticamente la misma que cuando no lo estoy. Por lo tanto el rendimiento que me proporciona ProtonVPN es excelente. Con la velocidad ofrecida puedo visualizar vídeos de YouTube a 1080p sin mayores problemas.\nLa diferencia de velocidad es muy pequeña porque en mi caso dispongo de una ADSL lenta. Los usuarios de Fibra óptica, o una ADSL más rápida, notarán que hay una diferencia de velocidad importante. Si quieren obtener mayor velocidad y desbloquear todas las restricciones deberán obtener un plan de pago de ProtonVPN.\nAdemás de obtener una velocidad aceptable también puedo afirmar que no hay cortes. He usado durante horas seguidas el servicio y nunca he llegado a apreciar un corte.\n","permalink":"https://geeklandlinux.github.io/posts/conectarse-configurar-protonvpn-linux/","summary":"\u003cp\u003eEn el siguiente artículo veremos una forma fácil y sencilla de conectarnos al servicio VPN de ProtonVPN.\u003c/p\u003e\n\u003cp\u003eProtonVPN es un servicio VPN con sede en Suiza y desarrollado por el Consejo Europeo de Investigación Nuclear (CERN). Está enfocado en garantizar la seguridad y la privacidad del usuario y es destacable por las siguientes características:\u003c/p\u003e","title":"Como conectarse, configurar y usar ProtonVPN en Linux"},{"content":"En pasados artículos vimos que es el Ransomware y las precauciones que debemos tomar para prevenirlo. A raíz de este artículo a continuación veremos como activar la protección contra ransomware que trae incorporada el sistema operativo Windows 10.\n¿EN QUE CONSISTE LA PROTECCIÓN CONTRA RANSOMWARE DE WINDOWS DEFENDER? El antivirus Windows Defender será el encargado de protegernos contra los posibles ataques de ransomware. La forma en que lo hace es implementando un control de acceso a las carpetas que nosotros especifiquemos. De esta forma el antivirus actuará de la siguiente forma:\nLos archivos que estén dentro de la carpeta protegida no podrán ser modificados por ningún programa que Windows consideré peligroso o sospechoso. De este modo, si intentamos editar una fotografía con Photoshop no podremos guardar de ningún modo los cambios realizados en la fotografía. Si queremos guardar los cambios realizados en la fotografía tendremos que dar los permisos pertinentes a Photoshop para que puede modificar los archivos que están dentro de la carpeta protegida. Una vez hayamos dado los permisos ya podremos modificar y guardar la foto sin ningún tipo de problema. De esta forma tan simple, pero efectiva, conseguiremos proteger nuestra información contra los temidos ransomware. En el momento que un ransomware intente cifrar el contenido de una carpeta protegida, simplemente no podrá porque no tiene los permisos necesarios para realizar absolutamente nada en la carpeta que quiere atacar.\nREQUISITOS PARA USAR LA PROTECCIÓN CONTRA RANSOMWARE DE WINDOWS 10 Lo requisitos para poder seguir las indicaciones mostradas en este tutorial son los siguientes:\nDisponer de una versión de Windows igual o posterior a la 1709. La versión 1709 corresponde a la versión Fall Creators update. Tener activado el antivirus Windows Defender. Si cumplimos con estos simples requisitos podremos asegurar nuestra información del siguiente modo.\nACTIVAR Y CONFIGURAR LA PROTECCIÓN CONTRA RANSOMWARE EN WINDOWS 10 Los pasos a seguir para proteger nuestra información son extremadamente sencillos. Tan solo tenemos que proceder del siguiente modo.\nActivar la protección contra ransomware Inicialmente tenemos que acceder al centro de seguridad de Windows Defender. Para ello en el cuadro de búsqueda de Windows tecleamos las palabras centro de seguridad. Una vez finalizada la búsqueda clicamos encima de la opción Centro de seguridad de Windows Defender.\nDentro del centro de seguridad clicamos en la opción Protección antivirus y contra amenazas.\nSeguidamente clicamos en la opción Configuración de antivirus y protección contra amen.\nA continuación, aseguren que tienen activada la opción Protección en tiempo real.\nFinalmente activen la opción Controla el acceso a la carpeta.\nA partir de estos momentos la protección contra ransomware de Windows 10 ya está activada. Ahora tan solo nos falta configurar el comportamiento de esta característica para adaptarlo a nuestra necesidades.\nDefinir las carpetas que queremos proteger contra el ransomware Una vez activada la protección tenemos que definir las carpetas de nuestro equipo que queremos proteger. Para ello clicamos sobre la opción Carpetas protegidas.\nDespués de clicar veremos la siguiente ventana en que se indican la totalidad de carpetas protegidas:\nVemos que de forma predeterminada las siguientes carpetas están protegidas:\nDescargas. Documentos. Escritorio. Imágenes. Música. Vídeos. Nota: Estás carpetas siempre están protegidas y no tenemos permisos para desprotegerlas. Si queremos proteger más carpetas tan solo tenemos que presionar sobre el botón +.\nA continuación tan solo tenemos seleccionar la carpeta que queremos proteger y presionar el botón Seleccionar carpeta. En mi caso selecciono la carpeta D:/Dali.\nA partir de estos momentos, la carpeta la carpeta D:/Dali estará protegida contra los peligros del ransomware.\nEn el momento que algún malware intente dañar los archivos de la carpeta que hemos protegido será bloqueado.\nSi en algún momento quieren desproteger una carpeta protegida, tan solo tenemos que seleccionar la carpeta que queremos desproteger y cuando aparezcan las opciones disponibles para aplicar presionamos sobre el botón Quitar.\nA partir de estos momentos la carpeta D:\\Dali volverá a ser vulnerable contra ataques de malware.\nDar permisos a los programas para que pueden editar el contenido de carpetas protegidas Puede darse el caso que Windows consideré peligroso un programa normal y corriente que intenta modificar archivos de las carpetas protegidas. Este el caso de por ejemplo Photoshop.\nEn el momento que con Photoshop intento guardar una foto modificada de una carpeta protegida no puedo. Además de no poder obtengo la siguiente advertencia:\nPara evitar que Windows defender no bloquee un programa determinado tenemos que proceder del siguiente modo.\nAl igual que hemos realizado en el inicio del artículo accedemos a la configuración de carpetas protegidas. Seguidamente, en el apartado Controla el acceso a la carpeta clicamos en la opción Permitir que una aplicación acceda a una de las carpetas controladas.\nFinalmente aparecerá el gestor de archivos en el que deberemos seleccionar el ejecutable del programa que queremos permitir que modifique los archivos de las carpetas protegidas. En mi caso, tal y como se puede ver en la captura de pantalla, selecciono el ejecutable de Photoshop y presiono el botón Abrir.\nNota: Los ejecutables de los programas se hallan dentro de la carpetas C:\\Archivos de programa y C:\\Archivos de programa (x86). A partir de estos momentos podremos usar Photoshop para modificar y guardar archivos de imagen de las carpetas protegidas.\nEn el caso que deseemos revocar los permisos que acabamos de otorgar a Photoshop, tan solo tenemos que seleccionar el programa en cuestión y cuando aparezcan las opciones disponibles para aplicar presionamos sobre el botón Quitar.\nDe este modo tan sencillo conseguiremos proteger más a nuestro equipo contra los temidos ransomware. Creo que a estas alturas no hace falta decir que los efectos de un ransomware pueden ser devastadores.\n","permalink":"https://geeklandlinux.github.io/posts/activar-proteccion-contra-ransomware-windows/","summary":"\u003cp\u003eEn pasados artículos vimos que es el Ransomware y las precauciones que debemos tomar para prevenirlo. A raíz de este artículo a continuación veremos como activar la protección contra ransomware que trae  incorporada el sistema operativo Windows 10.\u003c/p\u003e","title":"Cómo activar y configurar la protección contra ransomware en Windows 10"},{"content":"En anteriores ocasiones he hablado de cómo recuperar datos perdidos en medios de almacenamiento como discos duros o memorias USB. En el caso que ninguno de los métodos mencionados les haya funcionado siempre tenemos la opción de usar una opción profesional como por ejemplo Disk Drill. Disk Drill es un software que ofrece las siguientes opciones.\nPOSIBILIDADES Y FUNCIONALIDADES DE DISK DRILL Disk Drill tiene varias utilidades. Algunas de ellas son las que se detallan a continuación:\nRecuperar datos borrados o formateados por accidente o intencionadamente de una unidad de almacenamiento. Intentar recuperar datos de un medio de almacenamiento que se ha corrompido como por ejemplo una memoria USB. Para realizar imágenes de una unidad que posteriormente podremos quemar en cualquier otro medio de almacenamiento. Esta opción es útil para guardar una copia de seguridad del disco en el que estamos intentando recuperar los datos. También es útil en el caso que queramos clonar un disco duro o memoria USB. Recuperación de particiones que hemos eliminado. Incrementar las opciones de recuperación gracias a mecanismos como Recovery Vault. Etc. Nota: Estas son las funcionalidades del software para Windows. La versión para Mac dispone de más funciones que la de Windows. La versión de Mac OS dispone de características más avanzadas, como por ejemplo realizar una copia de seguridad de todos los ficheros que se van borrando. Además Disk Drill es capaz de recuperar datos en las siguientes unidades de almacenamiento:\nDiscos duros internos y externos de un ordenador. Dispositivos de almacenamiento USB. Memorias Flash de por ejemplo cámaras fotográficas. Memorias de almacenamiento de nuestros dispositivos móviles con iOS o Android Etc. Una vez vistas las posibilidades de Disk Drill pasaremos a ver las instrucciones de instalación y uso.\nINSTALAR DISK DRILL PARA RECUPERAR NUESTROS ARCHIVOS Para descargar el programa tienen que visitar la siguiente web:\nhttps://www.cleverfiles.com/es/usb-flash-drive-recovery.html\nUna vez dentro de la web tienen que descargar el software clicando sobre el botón Descarga Gratuita.\nA continuación, hacen doble clic sobre el archivo ejecutable que han descargado y empezará el proceso de instalación del programa.\nEl proceso de instalación no tiene ningún secreto. Al igual que la mayoría de programas en Windows tan solo tenemos que ir clicando la opción Siguiente.\nUna vez finalizada la instalación estaremos listos para que usted recupere los archivos de la unidad flash o cualquier otro medio de almacenamiento. A modo de ejemplo veremos la recuperación de una unidad flash.\nRECUPERE DATOS DE LA UNIDAD FLASH O CUALQUIER OTRA UNIDAD DE ALMACENAMIENTO Justo en el momento que detectemos que hemos borrado información por accidente tenemos que intentar recuperar nuestros datos. Es importante no aplazar el proceso de recuperación ya que cuanto más uso hagamos de nuestro dispositivo de almacenamiento, menores serán las posibilidades de recuperación de nuestros datos.\nPor lo tanto, en el momento que detectemos la pérdida de archivos tenemos que abrir Disk Drill de inmediato. Al abrir el programa veremos de forma detallada los dispositivos de almacenamiento y particiones disponibles.\nEn el dispositivo de almacenamiento que contiene la información que hemos perdido clicamos encima de la flecha que señala hacia abajo y cuando aparezca el menú contextual clicamos en la opción Run all recovery methods.\nA continuación, tan solo tenemos que dejar trabajar al programa. Con la opción seleccionada Disk Drill aplicará la totalidad de mecanismos disponibles para intentar recuperar nuestros archivos borrados. Una vez finalizado el proceso de recuperación obtendremos un resultado parecido al siguiente:\nEn la carpeta found files encontraremos los archivos borrados que Disk Drill ha sido capaz de encontrar en nuestro dispositivo de almacenamiento. Estos archivos son susceptibles de ser recuperados sin perder ningún tipo de propiedad ni metadato. Por lo que he podido experimentar, gran parte de estos 419 archivos no han sido recuperables en mi caso.\nEn la carpeta Reconstructed files encontramos los archivos que Disk Drill puede recuperar usando sus algoritmos binarios. Los archivos recuperados mediante algoritmos binarios se podrán abrir prácticamente todos, pero perderán la totalidad de metadatos, por lo tanto los archivos recuperados perderán su nombre original.\nPara intentar recuperar los archivos, tan solo tenemos que tildar los archivos que deseamos recuperar y presionar en el botón RECOVER. Acto seguido los archivos se restaurarán en la ubicación que nosotros hayamos definido que en mi caso es C:\\Users\\jccal\\Documents. En este momento podemos afirmar que ha terminado la recuperación de los datos del USB.\nNota: Es recomendable que el contenido recuperado se almacene en una unidad distinta a la que estamos intentando recuperar los datos. Si no habéis sido capaces de encontrar y restaurar los archivos eliminados, les recomiendo que inicien un simple escaneo profundo. Para ello, en la unidad en que queremos recuperar los datos clicamos en la flecha que apunta hacia abajo y cuando se despliegue el menú contextual clicamos encima de la opción Deep Scan.\nActo seguido hay que dejar que el programa trabaje para intentar recuperar los archivos. En mi caso, una vez finalizado el proceso he encontrado 147 archivos borrados susceptibles de ser recuperados. Además, la gran mayoría de estos 147 archivos se pueden recuperar y abrir sin problema alguno.\nEl resultado es sorprendentemente porque un software reconocido como Recuva apenas es capaz de recuperar 14 archivos.\nCOMPARACIÓN ENTRE DISK DRILL Y RECUVA Disk Drill es un software de pago con licencia propietaria. Además, cuando hay que recuperar datos borrados, lo primero que te viene a la mente es la versión gratuita de Recuva. Por lo tanto, ¿Vale la pena comprar una licencia de Disk Drill?\nPara responder a esta pregunta he realizado una pequeña comparación entre la versión Gratuita de Recuva y Disk Drill. Los resultados obtenidos son los que se muestran a continuación:\nDISK DRILL RECUVA Facilidad de instalación Sí Sí Facilidad de uso Sí Sí Tiempo de recuperación (escaneo profundo) 4 min 38 s 3 min 40 s Consumo de CPU en escaneo profundo 60% 6% Ficheros encontrados susceptibles de ser recuperados 419 411 Número archivos recuperados 147 14 Extensiones de archivo que se pueden recuperar más de 300 39 Sistemas operativos en que puede recuperar datos Android, Windows, Linux, iOS, Mac OS Windows, Linux Multiplataforma Mac OS, Windows Windows Sistemas de ficheros soportados HFS/HFS, FAT, FAT32, ExFAT, NTFS, NTFS5, EXT2, EXT3, EXT4 FAT, FAT32, exFAT, NTFS, NTFS5 y NTFS + EFS, EXT2, EXT3, EXT4 Recuperación de datos perdidos en Raid Sí No Escaneo de archivos en una unidad virtual Sí Disponible versión Pro Capacidad para realizar imágenes de un disco Sí No Proteger carpetas y archivos importantes Sí No Recuperación de particiones borradas Sí No Pausar, grabar y reiniciar los escaneos Sí No Idiomas disponibles 1 (Inglés) 45 Coste económico $89,00 Gratis o 24,95 € Nota: Los resultados mostrados corresponden a la recuperación de una unidad flash USB de 4 GB. En ambos casos se ha realizado un escaneo profundo para intentar recuperar la máxima cantidad de archivos posible. Como se puede observar, Disk Drill es capaz de recuperar más cantidad de información que Recuva. Además dispone de más opciones para poder recuperar nuestros datos de forma cómoda, efectiva y con menos riesgo de perderlos.\nPor todos estos motivos pienso que Disk Drill es mucho mejor opción que Recuva tanto en el ámbito doméstico como en el profesional.\nPor lo tanto, si lo creen conveniente pueden acceder a la siguiente URL:\nhttps://www.cleverfiles.com/es/free-data-recovery.html\nSeguidamente clican encima del botón Actualizar a PRO y siguen las instrucciones para adquirir la licencia que más les convenga.\nRECOMENDACIONES EN EL MOMENTO DE RECUPERAR DATOS BORRADOS Para incrementar las posibilidades de éxito al recuperar datos eliminados es importante seguir las siguientes recomendaciones:\nNo hay que aplazar el proceso de recuperación de datos. Tan pronto seamos conscientes que se han perdido datos hay que iniciar el proceso de recuperación. Hay que minimizar las escrituras y operaciones en los medios de almacenamiento que hay que recuperar datos. Para ello podemos proteger contra escritura los dispositivos en los que tenemos que recuperar datos. Una buena práctica para realizar la recuperación de datos es trabajar en una imagen del medio de almacenamiento afectado. No es recomendable trabajar directamente sobre la unidad en que se han borrado los datos porque disminuye las posibilidades de recuperar los datos. En el caso que no obtengamos resultados satisfactorios no se desesperen. Intenten probar otro software y quizás obtendrán mejores resultados. Para finalizar solo decir que si están leyendo este artículo les deseo suerte en la recuperación de vuestros datos.\n","permalink":"https://geeklandlinux.github.io/posts/como-recuperar-datos-usb-disk-drill/","summary":"\u003cp\u003eEn anteriores ocasiones he hablado de cómo recuperar datos perdidos en medios de almacenamiento como discos duros o memorias USB. En el caso que ninguno de los métodos mencionados les haya funcionado siempre tenemos la opción de usar una opción profesional como por ejemplo Disk Drill. Disk Drill es un software que ofrece las siguientes opciones.\u003c/p\u003e","title":"Cómo recuperar datos de una Unidad USB Flash: Disk Drill"},{"content":"Si hay algo tan molesto como la publicidad son los pop-ups o ventanas emergentes. ¿A alguien le son familiares las siguientes situaciones?\nEn el momento de entrar en una web nos sale un pop-up pidiendo que nos suscribamos a una página Facebook, les demos un like, nos suscribamos a su newsletter, etc. A los pocos segundos de estar leyendo un post aparece una ventana para que compremos un producto o servicio. Al dar play para visualizar un vídeo nos aparecen múltiples ventanas emergentes de publicidad. Esto suele pasar a todos los usuarios que frecuentan webs para descargar torrent o ver vídeos en streaming. Estamos intentando comprar un artículo y de repente nos bombardean con pop-ups. Sin duda este tipo de comportamiento es igual o peor que la publicidad ya que lo único que genera es una mala experiencia de navegación. En mi caso, cuando detecto los comportamientos citados acostumbro a cerrar la página web e intento no visitarla nunca más. No quiero visitar este tipo de sitios web.\nNota: Los pop-up son tan molestos que incluso Google penaliza el posicionamiento web de los sitios que los usan. ¿QUÉ SON Y QUE CARACTERÍSTICAS TIENEN LAS VENTANAS EMERGENTES O POP-UPS? Son ventanas que aparecen de forma inesperada mientras estamos navegando, comprando o consumiendo un contenido en la red. Al aparecer acostumbran ubicarse delante del contenido que estábamos consumiendo ocasionando molestias importantes.\nEl contenido que hay en las ventanas emergentes es altamente molesto por los siguiente motivos:\nEl contenido que se muestra no es de interés para los lectores. En la mayoría de ocasiones no es más que publicidad para vender o promocionar un producto o servicio. Buscan el beneficio personal del administrador de la web que visitamos. En muchos casos únicamente pretenden conseguir nuestros datos de contacto para enviarnos spam vía email. Algunos pop-up pueden llegar a infectar nuestro equipo con malware. En ocasiones, la ventana emergente oculta el contenido que estábamos viendo. Etc. Para evitar de forma total las ventanas emergentes les recomiendo seguir las instrucciones que verán a continuación.\nBLOQUEAR LAS VENTANAS EMERGENTES EN CHROME El primer paso que debemos realizar es acceder a la configuración del navegador para bloquear las ventanas emergentes.\nPara ello en la barra de direcciones de nuestro navegador ingresamos la siguiente dirección y presionamos la tecla Enter:\nchrome://settings/content/popups Cuando aparezca la ventana de ajustes de Google Chrome deberemos asegurar que la opción Ventanas emergentes esté en Bloqueado tal y como se muestra en la captura de pantalla:\nDe este modo bloqueamos la totalidad de ventanas emergentes en nuestro navegador. A partir de este momento podemos tener la certeza que ninguna ventana emergente se abrirá en nuestro navegador. Si en algún caso precisamos permitir las ventanas emergentes de alguna web, en el apartado Permitir clicamos el botón Añadir.\nCuando aparezca la ventana de añadir un sitio web escribimos [*.] seguido del dominio en que queremos permitir los pop-up. Por lo tanto, para permitir las ventanas emergentes en animeflv.net debemos escribir:\n[*.]animeflv.net Seguidamente presionamos el botón Añadir.\nDe esta forma tan sencilla podemos bloquear ventanas emergentes y añadir excepciones en Google Chrome.\nBLOQUEAR LAS VENTANAS EMERGENTES O POP-UPS EN FIREFOX Para bloquear la totalidad de ventanas emergentes en Firefox tenemos ingresar la siguiente la siguiente URL en la barra de direcciones y presionar la tecla Enter:\nabout:preferences#privacy Cuando se abra la pestaña de configuración de Firefox iremos al apartado Permisos y tildaremos la opción bloquear ventanas emergentes. Una vez tildada la opción estaremos bloqueando la totalidad de ventanas emergentes.\nEn determinados casos hay servicios y webs que precisan de ventanas emergentes para funcionar de forma adecuada. Si usáis uno de esto servicios podemos añadir Excepciones. Para ello tan solo tenemos que presionar encima del botón Excepciones.\nA continuación aparecerá la ventana en que deberán introducir las excepciones. Para añadirlas, en el campo Dirección del sitio web escribiremos la URL de la web en la que que queremos permitir ventanas emergentes y presionaremos sobre el botón botón Permitir. Finalmente clicaremos en la opción Guardar cambios.\nSiguiendo este sencillo procedimiento podremos bloquear la totalidad de ventanas emergentes añadiendo las excepciones que consideremos oportunas.\nINSTRUCCIONES A SEGUIR PARA BLOQUEAR LAS VENTANAS EMERGENTES DE FORMA DEFINITIVA A pesar de bloquear las ventanas emergentes en el navegador existen sitios web que nos seguirán mostrando pop-ups.\nPara solucionar el problema de una vez por todas la mejor opción es instalar uBlock Origin. Es la mejor opción porque además de bloquear la publicidad, también bloquea de forma efectiva las ventanas emergentes.\nInstalar uBlock Origin Para instalar ublock origin deberán seguir las instrucciones que se muestran en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-ublock-origin-chrome-firefox/\nBloquear los pop-up con uBlock origin Una vez finalizada la instalación no tenemos que realizar nada más. uBlock Origin bloqueará la totalidad de pop-ups usando los filtros que trae incorporados y activados de serie.\nEn el caso, poco recomendable, que quieran bloquear el 100% de pop-ups de un sitio web determinado deben seguir las siguientes instrucciones.\nUna vez dentro de la web en que quieren bloquear los pop-ups posicionan el puntero del ratón encima del icono de uBlock Origin. Presionan el botón izquierdo del ratón y cuando aparezcan las opciones de configuración clican sobre el icono Alternar bloqueo de todos los Pop-ups para este sitio.\nDe este modo se bloquearán la totalidad de pop-ups de una web determinada.\nEs poco recomendable bloquear la totalidad de pop-ups porque habrá muchos servicios y webs que no funcionarán correctamente. La mejor opción es usar la configuración predeterminada de uBlock Origin.\nBloquear ventanas emergentes creadas mediante código javascript A pesar de todo lo realizado seguirán apareciendo algunas ventanas emergentes. El motivo es que algunos administradores web introducen ventanas emergentes personalizadas mediante ejecución de código javascript.\nEn este caso deberemos bloquear las ventanas del siguiente modo.\nCuando nos aparezca una ventana emergente clicamos encima del icono de uBlock Origin. Cuando aparezca el menú de configuración clicamos en la opción Bloquear elemento.\nA continuación seleccionamos el elemento que queremos bloquear clicando encima.\nSeguidamente, en la parte inferior derecha de la pantalla aparecerá una ventana en el que se mostrará el elemento que hemos seleccionado. Para bloquearlo tenemos que presionar en el botón Crear.\nDe este modo nunca nos volverá a aparecer el mismo pop-up en la web que estabamos visitando.\nSOLUCIONES MÁS RADICALES PARA COMBATIR LOS POP-UPS Otras opciones más radicales que podemos adoptar son las siguientes:\nSi detectan una web que usa pop-ups de forma abusiva salgan inmediatamente y no accedan nunca más. La mayoría de pop-up se muestran mediante la ejecución de código javascript. Por lo tanto para que no aparezcan podemos bloquear la ejecución de código javascript en nuestro navegador. Si aplicamos este tipo de procedimiento es posible que hayan partes de ciertas páginas web que dejen de funcionar. Espero que los consejos mostrados a lo largo del artículo les sean útiles para minimizar las molestias ocasionadas por los pop-ups.\n","permalink":"https://geeklandlinux.github.io/posts/bloquear-ventanas-emergentes-pop-ups/","summary":"\u003cp\u003eSi hay algo tan molesto como la publicidad son los pop-ups o ventanas emergentes. ¿A alguien le son familiares las siguientes situaciones?\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eEn el momento de entrar en una web nos sale un pop-up pidiendo que nos suscribamos a una página Facebook, les demos un like, nos suscribamos a su newsletter, etc.\u003c/li\u003e\n\u003cli\u003eA los pocos segundos de estar leyendo un post aparece una ventana para que compremos un producto o servicio.\u003c/li\u003e\n\u003cli\u003eAl dar play para visualizar un vídeo nos aparecen múltiples ventanas emergentes de publicidad. Esto suele pasar a todos los usuarios que frecuentan webs para descargar torrent o ver vídeos en streaming.\u003c/li\u003e\n\u003cli\u003eEstamos intentando comprar un artículo y de repente nos bombardean con pop-ups.\u003c/li\u003e\n\u003c/ol\u003e","title":"Bloquear todas las ventanas emergentes o pop-ups en Chrome y Firefox"},{"content":"Durante el 2017 han proliferado los ciberataques de Ransomware y algunos de ellos han sido realmente notorios como por ejemplo el Wannacry, el WannaCryptor, el Jigsaw, el Petya, etc. Además, la previsión es que durante los próximos años se incrementen este tipo de ataques. Por este motivo, en el siguiente post hablaremos de que es un ransomware, las vías que usan los atacantes para infectarnos, las precauciones que debemos tomar y como debemos actuar en caso de ser víctimas.\n¿EN QUE CONSISTE UN ATAQUE DE RANSOMWARE? Es un tipo de ciberataque en el que el atacante pretende realizar alguna de las siguientes acciones:\nCifrar los archivos de nuestro disco duro mediante un malware. Secuestrar el acceso a nuestro equipo mediante un malware. Cifrar los archivos de nuestro equipo y además secuestrar el acceso a nuestro equipo. Si el atacante tiene éxito, la víctima no podrá acceder nunca más a los archivos y/o acceder a su ordenador a no ser que realice un pago en bitcoins al atacante para obtener una clave de descifrado. Por esto motivo se dice los ataques de ransomware secuestran a nuestro ordenador.\nPor lo tanto, se puede decir que el ransomware es un modelo de negocio para los cibercriminales que consiste en chantajear a los usuarios a cambio de quitarles lo que más valor tiene para ellos que es su información.\nCONSECUENCIAS DERIVADAS DE UN ATAQUE DE RANSOMWARE En el momento que seamos víctimas de un ataque de Ransomware es probable que perdamos de forma permanente el siguiente tipo de información:\nNuestras fotografías y vídeos. Todos nuestros documentos académicos o relacionados con nuestro entorno laboral. Bases de datos que contienen información sobre la contabilidad de nuestra empresa, sobre nuestros clientes, etc. Etc. Por lo tanto, las consecuencias que podemos sufrir a son extremadamente severas. Algunas de ellas son las siguientes:\nPérdida de información y molestias para los usuarios. Bloquear la operativa de un negocio lo que ocasionará pérdidas económicas importantes. Cierre de un negocio o servicio. FAMILIAS DE RANSOMWARE EXISTENTES Existen múltiples familias y variantes de Ransomware. En el año 2017 se puede decir que existen más de 70 familias de Ransomware. Las familias más destacadas y notorias son las siguientes:\nTeslacrypt CryptoLocker. TorrentLocker. Locky. Virus de la policía. Todas las familias de Ransomware persiguen el mismo objetivo y tienen pautas similares, pero los vectores de ataque usados por cada una de las familias son diferentes.\nCabe destacar que cada día que pasa se incrementan las familias y variaciones de ransomware existentes. Por este motivo es imprescindible educarnos en seguridad informática.\n¿QUÉ DISPOSITIVOS PUEDEN VERSE AFECTADOS POR RANSOMWARE? La gente tiene la idea equivocada que el ransomware solo afecta solo a ordenadores. Pero la realidad es que el ransomware puede afectar a los siguientes dispositivos.\nTodo ordenador personal, independientemente del sistema operativo que use, puede ser víctima de ransomware. Obviamente hay sistemas operativos más seguros que otros, pero absolutamente todos tienen vulnerabilidades. Cualquier dispositivo móvil como por ejemplo un teléfono móvil o tablet. Tanto para Android como para iOS, en menor medida, existe Ransomware. Los ataques de ransomware no proliferan mucho en dispositivos móviles, pero en un futuro cercano la realidad puede ser muy distinta ya que en la actualidad hay un número muy elevado de usuarios y además existen muchos dispositivos Android en que las actualizaciones de software llegan tarde o simplemente no llegan. Servidores de datos y servidores web que se dedican a proporcionar servicios a usuarios. ¿CÓMO SE INFECTAN POR RANSOMWARE LOS USUARIOS Y LAS EMPRESAS? Las vías de infección que usan los cibercriminales son varias. Algunas de ellas son las siguientes:\nMediante el correo electrónico En la gran mayoría de ocasiones los atacantes utilizan archivos adjuntos en los correos electrónicos. Una vez la víctima abra el archivo nos infectaremos con el ransomware. Por este motivo hay que extremar la precauciones cuando abramos archivos adjuntos de nuestro correo electrónico.\nObviamente también hay que prestar especial atención a los enlaces que encontraremos en los correos. El hecho de clicar a un enlace nos puede dirigir a una web maliciosa o descargar el ransomware en nuestro equipo.\nAcceso remoto a los equipos Mediante el acceso remoto se pueden infectar equipos y lo más grave se puede conseguir que el ransomware se extienda por los ordenadores de toda una red local.\nEl acceso remoto a los equipos se puede conseguir aprovechando vulnerabilidades en servicios como por ejemplo Telnet, SSH, Samba, etc.\nA través de webs maliciosas Pueden existir webs, que consciente o inconscientemente, estén infectando con ransomware a sus visitantes.\nDa igual que la web que visitamos sea muy conocida y/o tenga muchas visitas. Cualquier web que haya sido comprometida por un ciberdelincuente y sea capaz de ejecutar código en nuestro equipo es susceptible de infectarnos.\nAplicando Ingeniería social Los ciberdelincuentes harán uso de la ingeniera social en todo momento para intentar infectarnos con ransomware.\nLos ataques más comunes de ingeniería social consisten en:\nHacer creer que el usuario ha recibido un correo electrónico de una entidad conocida y de este modo infectarlo cuando abra el archivo de correo adjunto. Hacer que la víctima se dirija a una web falsa que simula ser una web conocida y de este modo infectarla con ransomware. Llamar a la víctima vía telefónica, ganarse su confianza y manipularla hasta conseguir infectar su equipo o la red local entera con malware. Etc. Mediante software pirata Existen cibercriminales que crean aplicaciones piratas de aplicaciones conocidas por todo el mundo. En el momento que una víctima intente instalar la aplicación pirata será infectada con un ransomware.\nVulnerabilidades del software y de plugins que usamos Los ciberdelincuentes también pueden aprovechar vulnerabilidades y agujeros de seguridad de nuestros programas, plugins y sistema operativo para infectarnos con un ransomware.\nSOLUCIONES PARA PROTEGERNOS CONTRA LOS ATAQUES DE RANSOMWARE Protegerse al 100% sobre este tipo de amenazas es imposible. No obstante, existen herramientas y buenas prácticas que podemos usar y aplicar. Algunos ejemplos son los siguientes:\nActualizar nuestro software Actualizar de forma periódica la totalidad de software de nuestro equipo. Por lo tanto, es extremadamente importante actualizar el siguiente software:\nEl sistema operativo. El antivirus o protección anti-malware que usemos. Los navegadores conjuntamente con los plugins o extensiones de los navegadores. La totalidad de nuestros programas. Etc. Extremar las precauciones con el correo electrónico El correo electrónico es una fuente usada frecuentemente para los ataques de malware. Por lo tanto, hay que extremar las precauciones cuando abramos los correos electrónicos. Antes de abrir un correo electrónico hay que intentar cerciorarse de los siguientes aspectos:\nQue el remitente del correo sea quien dice ser y lo conozcamos. Solo tenemos que clicar sobre enlaces que sean de confianza. No hay que abrir archivos adjuntos a no ser que sean archivos que estuviéramos esperando recibir. En caso de duda podemos llamar a quien supuestamente nos envía el correo para asegurar que el correo es seguro.\nSoftware y herramientas para protegernos o prevenir los ataques de ransomware Existen varias herramientas y software para protegernos contra el ransomware. Algunos softwares antivirus que podemos usar son los siguientes:\nDiversos antivirus, como por ejemplo el antivirus Windows Defender, disponen de protección contra este tipo de ataques. A pesar que los antivirus son una herramienta efectiva siempre deben ser la última barrera a usar contra este tipo de amenazas. Si no os gusta usar el antivirus de Windows 10 hay otras opciones. Algunas de ellas pago como por ejemplo Kaspersky anti-ransomware. Otras son gratuitas como por ejemplo Avast, CryptoPrevent, Malwarebytes Anti-ransomware, Bitdefender anti-ransomware, Anti Ransom, etc. Hay que concienciarse que el uso de estas herramientas no es infalible. Nunca debéis tener sensación de seguridad por usar este tipo de herramientas. Los antivirus siempre son la última barrera de defensa contra los ransomware.\nOtras herramientas y buenas prácticas a usar antes que los antivirus son, EMET (Enhanced mitigation Experience Toolkit), Applocker, implementar Honeypots, UAC (User account control), establecer políticas de grupo, concienciación y formación de los usuarios, etc.\nExtremar las precauciones cuando navegamos por Internet y usamos el ordenador Cuando navegamos hay que usar el sentido común y no clicar en anuncios ni realizar ningún tipo de acción que pueda poner en peligro nuestro equipo y nuestra información. Por lo tanto, cuando navegamos hay que intentar no caer en los ataques de ingeniería social diseñados por los atacantes.\nEl hecho que no visitéis páginas web de adultos, sitios de descarga y otras webs sospechosas no disminuirá el riesgo de infección. Como hemos visto y dicho anteriormente, cualquier web es susceptible de infectar a un lector.\nInstalar software original de sitios seguro Tanto en dispositivos móviles como en ordenadores hay que instalar software original comprado en sitios de confianza. Esto es así por los siguientes motivos:\nExiste software malicioso que se hace pasar por otro. Existen aplicaciones y programas que traen malware incorporado. Instalar software pirata siempre entraña riesgos de seguridad. Aunque el software no sea pirata y lo instalemos de una tienda reconocida no hay que confiarse. Existen casos conocidos de aplicaciones que contenían ransomware y han estado publicadas en la PlayStore de Google.\nInstalar únicamente el software y plugins que necesitamos Únicamente hay que instalar el software y extensiones que usamos. Tener instalado software que no usamos incrementa los riesgos de seguridad y perjudica al rendimiento de nuestro equipo.\nDisponer de copias de seguridad La medida más importante que debemos aplicar es realizar copias de seguridad. Es crucial realizar copias de seguridad periódicamente de la totalidad de datos e información que no queramos perder. En mi caso siempre dispongo de 2 copias de seguridad de la información que considero importante:\nUna de las copias de seguridad la almaceno en la nube. Almacenar la copia en la nube no es la opción más recomendable porque existe la posibilidad que también se nos cifre la copia de seguridad. Por este motivo guardo una segunda copia de seguridad. La segunda copia de seguridad la almaceno en un disco duro extraíble que está aislado de la red local en la que trabajo. Cabe recordar que hay ransomware capaces de cifrar todo el contenido de una red local. Por este motivo tengo una copia de seguridad completamente aislada de la red local y de Internet. De esta forma estoy más o menos protegido. En el momento que sea víctima de un ransomware únicamente tendré que formatear el ordenador y restaurar mi copia de seguridad.\nPeriódicamente hay que comprobar que la copia de seguridad se pueda restaurar. Existen casos que cuando necesitamos usar la copia de seguridad nos encontramos con la desagradable sorpresa que no podemos restaurarla.\nUtilizar cuentas de usuario y grupos de usuarios sin privilegios de administrador y contraseñas robustas Es importante que los usuarios y grupos de usuarios no tengan permisos de administrador. Si usamos un usuario con permisos de administrador:\nSe incrementan las posibilidades de infección. Las consecuencias que puede tener un malware o ransomware son más importantes. Los usuarios únicamente deben tener los permisos mínimos e indispensables para realizar su trabajo. Asimismo, es importante que las contraseñas de las cuentas usuario sean robustas.\nFormación y concienciación Más de la mitad de ataques de ransomware se producen mediante ataques de ingeniería social. Por lo tanto, la formación y conocimientos de seguridad de las personas que utilizan el ordenador en una red local es vital para minimizar los riesgos de infección.\n¿QUE HACER EN EL CASO QUE SEAMOS VÍCTIMAS DE UN ATAQUE DE RANSOMWARE? En caso que seamos víctimas de un ataque de ransomware deberemos plantearnos realizar las siguientes acciones:\nAplicar el plan de respuesta contra incidentes En el momento que nos enteramos de una infección por ransomware debemos aplicar las medidas necesarias para evitar el que el ransomware se propague dentro de nuestra red local.\nToda empresa con cara y ojos debe tener un protocolo de actuación en caso de ser atacados por un malware.\nDenunciar que hemos sido víctimas de un ataque de ransomware A día de hoy es recomendable que empresas y particulares denuncien que han sido víctimas de un ataque de ransomware. Cuantas más denuncias existan sobre este tipo de problema, más recursos van a emplearse para intentar solucionar el problema.\nCuando en 2018 entre en vigor la nueva ley de protección de datos, entonces las empresas que reciban un ataque de este tipo estarán obligadas a denunciarlo. En caso contrario no estarán cumpliendo la ley.\nAunque denunciemos los hechos, podemos afirmar que en el 99% de los casos no se van a recuperar nuestros datos ni tampoco van a detener a los ciberdelincuentes que se lucran con el malware.\nNota: Antes de realizar la denuncia hay que obtener evidencias que hemos sido víctimas de un ataque de ransomware. Desinfectar los equipos y restaurar la copia de seguridad Una vez contenido el ataque llega el momento de desinfectar los equipos y restaurar la copia de seguridad.\nLo más recomendable para desinfectar los equipos es formatearlos y realizar de nuevo la instalación del sistema operativo y todos los programas. Una vez reinstalado el sistema operativo y programas hay que restaurar la copia de seguridad.\nPagar o no pagar a los atacantes En principio no hay que caer en el chantaje. Lo recomendable es no pagar a los ciberdelincuentes para obtener la clave de descifrado. Los motivos son los siguientes:\nEn ocasiones pagaremos y no podremos descifrar la información. Además, perderemos nuestro dinero porque al pagar con Bitcon nunca podremos llegar a rastrear quien recibe el dinero. En el momento que pagamos estamos dando aliento a los cibercriminales. Si caemos en el chantaje, lo único que haremos es fomentar a que los cibercriminales ataquen a más gente. Existen ocasiones en que al pagar podemos recuperar la información. No obstante, existe la posibilidad que el software de descifrado nos introduzca otro malware que se activará en un periodo determinado. De esta forma el atacante podrá seguir extorsionando a la víctima. A pesar de todo lo detallado, el pagar o no pagar es un punto muy delicado. Existen casos en que la información secuestrada es vital. Por lo tanto, pueden existir casos en que la mejor opción sea ceder y realizar el pago para intentar recuperar la información.\nNota: Queda muy bonito decir que nunca hay que pagar. Pero habrá casos particulares en que no habrá más remedio. ¿Qué hacemos si no tenemos copia de seguridad? Si no tenemos copias de seguridad nos tendremos que plantear 2 opciones:\nRealizar una copia de seguridad de los archivos cifrados y esperar que salga una herramienta de descifrado fiable para intentar recuperar la información. Plantearnos realizar el pago para recuperar la información. AMPLIACIÓN DE LA INFORMACIÓN SOBRE EL RANSOMWARE Si precisan información adicional sobre el ransomware pueden consultar los siguientes enlaces:\nhttps://www.ccn-cert.cni.es/informes/informes-ccn-cert-publicos/2877-ccn-cert-ia-11-18-medidas-de-seguridad-contra-ransomware/file.html https://www.incibe.es/sites/default/files/contenidos/guias/doc/guia_rware_metad.pdf\n","permalink":"https://geeklandlinux.github.io/posts/ransomware-que-es-como-prevenirlo/","summary":"\u003cp\u003eDurante el 2017 han proliferado los ciberataques de Ransomware y algunos de ellos han sido realmente notorios como por ejemplo el Wannacry, el WannaCryptor, el Jigsaw, el Petya, etc. Además, la previsión es que durante los próximos años se incrementen este tipo de ataques. Por este motivo, en el siguiente post hablaremos de que es un ransomware, las vías que usan los atacantes para infectarnos, las precauciones que debemos tomar y como debemos actuar en caso de ser víctimas.\u003c/p\u003e","title":"Ransomware, qué es, cómo actuar y buenas prácticas para prevenirlo"},{"content":"A través del canal de Youtube Alternativa a Windows me enteré que en la actualidad es sumamente fácil bloquear la publicidad de Spotify tanto en Windows, como en Android como en Linux.\nEl procedimiento para ello es extremadamente sencillo. Únicamente tenemos que añadir 5 líneas en el archivo hosts del siguiente modo.\nBLOQUEAR LA PUBLICIDAD DE SPOTIFY EN ANDROID Para bloquear la publicidad de Spotify en Android necesitamos disponer de un terminal con acceso root.\nA continuación también precisamos un explorador de archivos que permita el acceso como Root. En mi caso ES Explorer, pero pueden usar otras aplicaciones como por ejemplo Root Explorer.\nSi cumplimos con los requisitos mínimos para aplicar este método abrimos el explorador de archivos, que en mi caso ES Explorer, y navegamos en la ubicación /system/etc.\nDentro de la ubicación encontraremos el archivos hosts. Para editarlo tan solo tenemos que presionar encima del archivo y seleccionar el editor de textos que queremos usar.\nUna vez se abra el editor de textos nos vamos al final del archivos hosts y pegamos el siguiente código:\n0.0.0.0 pubads.g.doubleclick.net 0.0.0.0 securepubads.g.doubleclick.net 0.0.0.0 gads.pubmatic.com 0.0.0.0 ads.pubmatic.com 0.0.0.0 spclient.wg.spotify.com En mi caso, después de realizar las modificación el archivo hosts queda del siguiente modo:\nGuardamos los cambios realizados y seguidamente reiniciamos nuestro teléfono. La próxima vez que iniciemos Spotify ya no aparecerá ningún tipo de anuncio en la aplicación.\nNota: Este método funciona para versiones de Spotify iguales o inferiores a la 8.4.42.722. Si usan una versión superior deberán hacer un downgrade de la app de Spotify. BLOQUEAR LA PUBLICIDAD DE SPOTIFY EN WINDOWS El primer paso a realizar es abrir el bloc de notas con derechos de administrador.\nPara ello escribimos bloc de notas en el campo de búsqueda de Windows.\nUna vez encontrado el programa posicionamos el puntero del ratón sobre el y cuando aparezca el menú contextual clicamos encima de la opción Ejecutar como administrador.\nCuando se abra el bloc de notas presionamos la tecla Ctrl+A o nos vamos al menú Archivo y clicamos en la opción Abrir.\nA continuación navegamos a la ubicación C:/windows/system32/drivers/etc. Dentro de esta ubicación seleccionamos el archivo hosts y presionamos el botón Abrir.\nFinalmente pegamos el siguiente código en el archivo hosts y guardamos los cambios:\n0.0.0.0 pubads.g.doubleclick.net 0.0.0.0 securepubads.g.doubleclick.net 0.0.0.0 gads.pubmatic.com 0.0.0.0 ads.pubmatic.com 0.0.0.0 spclient.wg.spotify.com En mi caso, después de realizar todo el proceso el archivo hosts queda del siguiente modo:\nEn estos momentos ya puedo estar seguro que la próxima vez que inicie Spotify no recibiré ningún tipo de anuncio.\nBLOQUEAR LA PUBLICIDAD DE SPOTIFY EN LINUX En el caso que queramos bloquear la publicidad de Spotify en Linux editaremos el fichero hosts ejecutando el siguiente comando en la terminal:\nsudo nano /etc/hosts Una vez se abra el editor de textos pegamos el siguiente código al final del archivo:\n0.0.0.0 pubads.g.doubleclick.net 0.0.0.0 securepubads.g.doubleclick.net 0.0.0.0 gads.pubmatic.com 0.0.0.0 ads.pubmatic.com 0.0.0.0 spclient.wg.spotify.com Una vez realizados los cambios mi fichero hosts queda del siguiente modo:\nFinalmente guardamos los cambios realizados. La próxima vez que iniciemos Spotify, tal y como se puede ver en la captura de pantalla, no contendrá ningún rastro de publicidad.\nOPCIONES ALTERNATIVAS PARA BLOQUEAR LA PUBLICIDAD DE SPOTIFY Si únicamente usan Spotify en el ordenador pueden usar el servicio web de Spotify. A diferencia de la aplicación de Spotify, el servicio web de Spotify no contiene publicidad.\nPara usar el servicio web de spotify tan solo tienen que ingresar en la siguiente URL\nhttps://open.spotify.com/browse\nClican encima del botón Iniciar Sesión y seguidamente introducen su usuario y contraseña.\nUna vez logueados podrán disfrutar del servicio de Spotify sin ningún tipo de problema.\n","permalink":"https://geeklandlinux.github.io/posts/bloquear-la-publicidad-de-spotify/","summary":"\u003cp\u003eA través del canal de Youtube \u003ca href=\"https://www.youtube.com/watch?v=-_fXSbz5CAc\"\u003eAlternativa a Windows\u003c/a\u003e me enteré que en la actualidad es sumamente fácil bloquear la publicidad de Spotify tanto en Windows, como en Android como en Linux.\u003c/p\u003e\n\u003cp\u003eEl procedimiento para ello es extremadamente sencillo. Únicamente tenemos que añadir 5 líneas en el archivo hosts del siguiente modo.\u003c/p\u003e","title":"Bloquear la publicidad de Spotify en Android, Windows y Linux"},{"content":"Acabo de llegar de viaje y necesito renombrar y clasificar mis fotos de forma rápida y adecuada en mi disco duro. Si disponemos del gestor de archivos Thunar y las fotos disponen de metadatos podemos conseguir nuestro propósito de forma fácil.\nREQUISITOS PARA PODER APLICAR EL CONTENIDO DEL TUTORIAL Los requisitos necesarios para poder aplicar el método que verán a continuación son los siguientes:\nLas fotos a clasificar tienen que disponer de metadatos. El metadato que usaremos para clasificar nuestras fotografías es la fecha y hora de disparo de la fotografía. El gestor de archivos usado para renombrar y clasificar las fotografías tiene que ser Thunar. El formato de las fotografías tiene que ser jpg o png. Desconozco si funciona en el formato de archivo .raw. Una vez conocidos los requisitos podemos pasar a la acción.\nRENOMBRAR LAS FOTOGRAFÍAS DE FORMA COHERENTE Los pasos que sigo para renombrar mis fotografías de forma adecuada son los que podéis ver a continuación.\nAñadir la fecha y hora de captura al nombre de la fotografía En mi caso considero que una buena forma clasificar nuestras fotos es que su nombre contenga la fecha y la hora en que se tomo la fotografía.\nPara ello abrimos Thunar y seleccionamos la totalidad de fotografías que queremos renombrar. Seguidamente presionamos la tecla F2, o si lo preferimos, presionamos el botón derecho del ratón y cuando aparezca el menú contextual clicamos en la opción Cambiar nombre.\nFinalmente aparecerá la ventana Cambia de nombre múltiples archivos en la que podremos insertar la fecha y hora en que tomamos la fotografía. Para ello:\nEn el campo Tipo de transformación seleccionamos Insertar fecha/hora. En el desplegable Insertar tiempo seleccionamos la opción Fecha de captura de la foto. Finalmente, si nos convencen los nuevos nombres que hemos creado presionamos el botón Cambiar de nombre archivos. Nota: Otras opciones que teníamos disponibles eran seleccionar el formato de la fecha y la hora insertada, seleccionar la posición en que insertamos la fecha y la hora, etc. Una vez realizados los cambios obtengo el siguiente resultado:\nEliminar las partes de los nombres de las fotos que no nos gustan Observaran que las fotos disponen de nombres del tipo mmexport o IMG. En mi caso prefiero eliminar este tipo de nombres procediendo del siguiente modo:\nCon Thunar seleccionamos la totalidad de las fotos que queremos modificar su nombre. A continuación presionamos la tecla F2, o si lo preferimos, presionamos el botón derecho del ratón y cuando aparezca el menú contextual clicamos en la opción Cambiar nombre. Seguidamente aparecerá la pantalla de Cambia de nombre múltiples archivos en el que deberemos seleccionar las siguientes opciones:\nEn el campo Tipo de transformación seleccionamos Eliminar caracteres. En el desplegable Eliminar posición seleccionamos el número de posición que queremos empezar a eliminar a partir de la izquierda. A continuación, en el desplegable A la posición seleccionamos la última posición que queremos eliminar empezando a contar a partir de la izquierda. Finalmente presionamos el botón Cambiar de nombre archivos. Al finalizar dispondremos de cientos de archivos en que su nombre será la fecha y hora de disparo de la fotografía. Insertar un texto para ubicar donde capturamos las fotografías Si quieren también podemos insertar el texto en el nombre de las fotografías. En mi caso acostumbro a insertar el lugar donde tome la fotografía. Para ello procedemos del siguiente modo:\nCon Thunar seleccionamos la totalidad de fotos en que queremos insertar un texto determinado. A continuación presionamos la tecla F2, o si lo preferimos, presionamos el botón derecho del ratón y cuando aparezca el menú contextual clicamos en la opción Cambiar nombre. Al aparecer la ventana de Cambia de nombre múltiples archivos seleccionaré las siguientes opciones:\nEn el campo Tipo de transformación seleccionamos Insertar/sobrescribir. En el siguiente desplegable seleccionamos la opción Insertar. A continuación escribimos el nombre que queremos insertar que en mi caso es Dali. A continuación seleccionamos la posición en que queremos insertar el nombre que en mi caso es a la izquierda empezando por la posición 0. Finalmente presionamos el botón Cambiar de nombre archivos y los nombres de nuestras fotos quedarán del siguiente modo. En estos momentos hemos renombrado la totalidad de nuestras fotos de forma lógica y coherente. Ahora tan solo nos falta clasificar cada una de los fotos en carpetas en función de la fecha en que se tomaron las fotografías.\nNota: Si lo precisan pueden consultar el siguiente enlace para obtener mas opciones para modificar el nombre de sus fotos y sus archivos. CLASIFICAR Y ORGANIZAR NUESTRAS FOTOGRAFÍAS Una vez renombradas nuestras fotografías las clasificaremos en carpetas de forma adecuada. Para ello seguiremos las siguientes instrucciones.\nInstalar Imagemagick Para clasificar nuestras fotos tenemos que instalar el software imagemagick del siguiente modo:\nSi usamos Debian o distribuciones derivadas de Debian abrimos una terminal y ejecutamos el siguiente comando:\nsudo apt-get install imagemagick En el caso que seamos usuarios de Fedora o distros derivadas de Fedora tendremos que ejecutar el siguiente comando:\nsudo dnf install imagemagick Si somos usuarios de opensuse ejecutaremos el siguiente comando en la terminal:\nsudo zypper in imagemagick Finalmente, si somos usuarios de Arch o distros derivadas de Arch ejecutaremos el siguiente comando en la terminal:\nsudo pacman -Sy imagemagick Crear el script para clasificar nuestras fotos A continuación crearemos el script que clasificará nuestras fotografías en función de la fecha en que se tomaron.\nInicialmente crearemos la carpeta que contendrá el script ejecutando el siguiente comando en la terminal:\nmkdir ~/.config/Thunar/custom_Actions Seguidamente creamos el fichero que contendrá el código del script ejecutando el siguiente comando en la terminal:\nnano ~/.config/Thunar/custom_Actions/organize_shot En el momento que se abra el editor de textos pegamos el siguiente código:\n#!/bin/sh for fil in \u0026#34;$@\u0026#34; do datepath=\u0026#34;$(identify -verbose “$fil” | grep DateTimeOri | awk \u0026#39;{print $2 }\u0026#39; | sed s%:%-%g)\u0026#34; if ! test -e \u0026#34;$datepath\u0026#34;; then mkdir -pv \u0026#34;$datepath\u0026#34; fi mv -v “$fil” $datepath Done Finalmente guardamos los cambios y cerramos el fichero que contiene el script.\nDar permisos de ejecución al script para para clasificar nuestras fotos Para dar permisos de ejecución al script que acabamos de crear tenemos que ejecutar el siguiente comando en la terminal:\nchmod +x ~/.config/Thunar/custom_Actions/organize_shot Nota: El comando anterior tendrá que ser adaptado en función de la ruta donde tenemos guardado el script. Crear una acción personalizada para ejecutar el script en Thunar Abrimos el gestor de archivos Thunar, accedemos al menú Editar y clicamos en la opción Configurar acciones personalizadas…\nA continuación clicamos encima del botón + para Añadir una acción personalizada.\nSeguidamente aparecerá la ventana Editar acción en la que deberemos configurar la acción personalizada.\nEn los campos de la ventana Editar acción introducimos los siguientes valores:\nCampo Nombre: Introducimos el nombre que queremos que aparezca en el menú contextual de Thunar. En mi caso elijo el siguiente:\nClasificar fotos fecha disparo Campo Descripción: Simplemente tenemos que escribir una descripción de lo que hace nuestra acción personalizada. En mi caso uso la siguiente descripción:\nClasificar fotos por fecha de disparo Campo Orden: Tenemos que introducir el comando para que se pueda ejecutar el script seguido de %N. Por lo tanto tenemos que introducir la siguiente orden:\n/home/joan/.config/Thunar/custom_Actions/organize_shot %N Nota: Tendréis que adaptar la orden para ejecutar el script en función de la ruta donde tenéis guardado el script. Nota: La ruta del script tiene que finalizar con %N para que podamos clasificar las fotografías en lotes. Campo Icono: Si queremos podemos clicar encima del botón Sin icono. Si lo hacemos aparecerá una ventana en la que podremos seleccionar un icono para la acción personalizada que estamos creando.\nFinalmente clicamos en la pestaña Condiciones de aparición. En esta pestaña modificamos los siguientes aspectos:\nDestildamos la opción Archivos de texto. Tildamos la opción Archivos de imagen. Finalmente el proceso ha terminado. Ahora tan solo tenemos que presionar encima del botón Aceptar.\nClasificar las fotos en carpetas en función de su fecha de captura Una vez finalizado el trabajo tan solo tenemos que realizar los siguientes pasos para clasificar las fotos:\nSeleccionar las fotos que queremos clasificar. Una vez seleccionadas presionamos el botón derecho del mouse y cuando aparezca el menú contextual clicamos encima de la opción Clasificar Fotos Fecha disparo. Al ejecutar la acción personalizada verán que nuestras fotos se clasificarán dentro de carpetas en función de la fecha en que tomamos cada una de las fotografías. En mi caso el resultado final es el siguiente:\nDe esta forma podemos renombrar y clasificar grandes volúmenes de fotos de forma práctica, rápida y sin realizar ningún esfuerzo.\nSUBIR LAS FOTOS A GOOGLE FOTOS O CUALQUIER OTRA PLATAFORMA Como último paso podemos subir las fotos a servicios en la nube como por ejemplo Google fotos. En el caso de subir las fotos a Google Fotos les recomiendo que tengan muy en cuenta las opciones de privacidad del servicio y calidad en que subimos las fotos.\nDe este modo siempre dispondremos de una copia de seguridad y en caso que sea necesario podremos ahorrar espacio en disco de nuestro dispositivos.\n","permalink":"https://geeklandlinux.github.io/posts/clasificar-renombrar-fotos-linux/","summary":"\u003cp\u003eAcabo de llegar de viaje y necesito renombrar y clasificar mis fotos de forma rápida y adecuada en mi disco duro. Si disponemos del gestor de archivos Thunar y las fotos disponen de metadatos podemos conseguir nuestro propósito de forma fácil.\u003c/p\u003e","title":"Clasificar, organizar y renombrar fotos en Linux con Thunar"},{"content":"A veces resulta difícil saber de forma exacta la memoria RAM que consume un programa. Esto es debido a que los monitores del sistema nos acostumbran a proporcionar datos por procesos y hay que tener en cuenta que un mismo programa puede lanzar varios procesos que consumen memoria y recursos. Una claro ejemplo de lo que estoy comentando es la siguiente salida del comando top:\ntop - 17:40:46 up 7:25, 1 user, load average: 0,20, 0,63, 0,79 Tasks: 212 total, 1 running, 211 sleeping, 0 stopped, 0 zombie %Cpu(s): 6,1 us, 3,7 sy, 0,0 ni, 85,2 id, 4,9 wa, 0,0 hi, 0,2 si, 0,0 st KiB Mem : 3275348 total, 96012 free, 2059148 used, 1120188 buff/cache KiB Swap: 1116480 total, 1060188 free, 56292 used. 943472 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 739 root 20 0 553148 170884 67924 S 3,6 5,2 31:18.80 Xorg 2803 joan 20 0 1466368 281860 103248 S 3,3 8,6 27:42.77 chrome 2290 joan 20 0 1137612 20148 16868 S 2,6 0,6 11:01.44 conky 1754 joan 20 0 599820 44960 33060 S 1,3 1,4 0:00.56 xfce4-terminal 3295 joan 20 0 1044308 180712 83416 S 0,7 5,5 15:31.74 chrome 1592 joan 20 0 184056 20956 17392 S 0,3 0,6 2:27.08 xfwm4 3596 joan 20 0 803632 81564 56760 S 0,3 2,5 1:19.26 chrome 21596 joan 20 0 972676 160996 78556 S 0,3 4,9 0:12.28 chrome 24732 joan 20 0 996232 204444 87592 S 0,3 6,2 0:40.91 chrome 31922 joan 20 0 637044 48988 27788 S 0,3 1,5 1:54.88 chrome … ¿Cuanta memoria RAM está consumiendo Google Chrome?\nPues la verdad no lo se porque Google Chrome es un programa que puede tener abiertos entre 15 y 20 procesos.\nComo los monitores del sistema tradicionales no nos sirven usaremos otros métodos.\nVER LA MEMORIA RAM QUE CONSUME UN PROGRAMA CON PS_MEM ps_mem es un script de Python para conocer la memoria RAM que consumen los programas de nuestro equipo.\nPara descargar el script tan solo tenemos que ejecutar el siguiente comando en la terminal:\nwget https://raw.githubusercontent.com/pixelb/ps_mem/master/ps_mem.py Web de desarrollador Una vez descargado podemos consultar sus instrucciones de uso ejecutando el siguiente comando en la terminal:\nsudo python ps_mem.py --help Si queremos obtener el consumo detallado de memoria RAM de los programas que estamos usando ejecutaremos el siguiente comando:\nsudo python ps_mem.py -S Una muestra de los resultados obtenidos en mi caso son los siguientes:\nPrivate + Shared = RAM used Swap used Program ... 9.3 MiB + 626.0 KiB = 9.9 MiB 0.0 KiB 0.0 KiB wicd 8.1 MiB + 2.1 MiB = 10.2 MiB 0.0 KiB 0.0 KiB Thunar 8.5 MiB + 1.9 MiB = 10.5 MiB 0.0 KiB 0.0 KiB panel-66-weather 13.4 MiB + 715.0 KiB = 14.1 MiB 0.0 KiB 0.0 KiB tracker-store 12.3 MiB + 3.0 MiB = 15.2 MiB 0.0 KiB 0.0 KiB tracker-needle 16.7 MiB + 2.1 MiB = 18.9 MiB 0.0 KiB 0.0 KiB wicd-client 15.9 MiB + 4.0 MiB = 19.9 MiB 0.0 KiB 0.0 KiB xfce4-terminal 15.0 MiB + 5.2 MiB = 20.3 MiB 0.0 KiB 0.0 KiB xfdesktop 25.2 MiB + 45.5 KiB = 25.3 MiB 0.0 KiB 0.0 KiB preload 41.3 MiB + 326.5 KiB = 41.7 MiB 0.0 KiB 0.0 KiB tor 51.3 MiB + 22.2 MiB = 73.4 MiB 0.0 KiB 0.0 KiB Xorg 76.4 MiB + 17.7 MiB = 94.1 MiB 0.0 KiB 0.0 KiB evince 131.0 MiB + 634.0 KiB = 131.6 MiB 0.0 KiB 0.0 KiB dropbox 198.1 MiB + 4.0 MiB = 202.1 MiB 0.0 KiB 0.0 KiB soffice.bin 228.2 MiB + 35.2 MiB = 263.3 MiB 0.0 KiB 0.0 KiB reditr_app (5) 691.6 MiB + 123.8 MiB = 815.4 MiB 0.0 KiB 0.0 KiB chrome (12) ------------------------------------------------------------- 2.0 GiB 0.0 KiB 224.0 KiB ============================================================= En este caso de forma muy precisa vemos que el navegador Google Chrome tiene abiertos 12 procesos. Estos 12 procesos tienen un consumo de memoria RAM de 815,4 MB\nINSTALAR EL SCRIPT PS_MEM Si nos gusta ps_mem lo podemos instalar en nuestro equipo de forma permanente. De esta forma podremos usar ps_mem independiente de la ubicación en que estemos.\nPara la instalación de ps_mem primero tenemos que instalar el python-pip. Para ello ejecutamos el siguiente comando en la terminal:\nsudo apt-get install python-pip Nota: El comando se deberá adaptar en función del gestor de paquetes que usen. Nota: En archlinux, el paquete pythin-pop equivale al paquete python2-pip. Una vez instalado este paquete instalaremos ps_mem. Para ello, desde la ubicación donde nos descargamos el script ejecutamos el siguiente comando en la terminal:\nsudo pip install ps_mem Una vez instalado el programa lo podremos usar sin necesidad estar en la misma ubicación del script.\nPor lo tanto si queremos consultar el consumo de RAM de nuestros programas tan solo tenemos que ejecutar el siguiente comando en la terminal:\nsudo ps_mem Si además quisiéramos que la información del consumo se vaya actualizando cada 10 segundos ejecutaríamos el siguiente comando en la terminal\nsudo ps_mem -w 10 Si algún día quieren desinstalar ps_mem tan solo tendrán que ejecutar el siguiente comando en la terminal:\nsudo pip uninstall ps_mem ","permalink":"https://geeklandlinux.github.io/posts/ps_mem-consumo-ram-programa/","summary":"\u003cp\u003eA veces resulta difícil saber de forma exacta la memoria RAM que consume un programa. Esto es debido a que los monitores del sistema nos acostumbran a proporcionar datos por procesos y hay que tener en cuenta que un mismo programa puede lanzar varios procesos que consumen memoria y recursos. Una claro ejemplo de lo que estoy comentando es la siguiente salida del comando top:\u003c/p\u003e","title":"PS_MEM para ver el consumo de memoria RAM de un programa"},{"content":"Comprimir y descomprimir archivos en Linux es tan fácil como en Windows. Para hacer comprimir y descomprimir archivos de forma práctica y sencilla tan solo tienen que seguir la siguientes instrucciones.\nPAQUETES A INSTALAR PARA COMPRIMIR Y DESCOMPRIMIR ARCHIVOS Lo primero que tenemos que realizar es instalar la totalidad de paquetes que nos permitirán comprimir y descomprimir nuestros archivos. Para ello en la terminal ejecutaremos el siguiente comando:\nsudo apt-get install rar unrar unrar-free zip unzip unace unace-nonfree bzip2 lzop p7zip-full p7zip-rar gzip lzip Cada uno de los paquetes instalados servirá para comprimir y descomprimir los siguientes formatos:\nPaquetes Formatos de archivo que comprime Formatos de archivo que descomprime Naturaleza de los paquetes rar, unrar y p7zip-rar .rar .rar Privativo unrar-free - .rar Libre zip y unzip .zip .zip Libre unace y unace-nonfree - .ace Libre y privativo bzip2 .bz2, .tar.bz2, .tbz2, .tb2 .bz2, .tar.bz2, .tbz2, .tb2 Libre lzop .tar.lzo , .tzo .tar.lzo , .tzo Libre p7zip-full .7z, .zip, .gz, .bz, .tar .7z, .zip, .gz, .bz, .tar .rar, .cab, .arj, .Z, .cpio, .rpm, .deb, .lzh, .lha, etc. Libre gzip .gz, .tgz y .Z .gz y .Z Libre lzip .lz .lz Libre tar .tar .tar Libre Una vez instalados los paquetes podremos comprimir y descomprimir en prácticamente cualquier formato de archivo usando la terminal. Si no son amigos de la terminal, en el siguiente apartado veremos como poder instalar un programa para poder comprimir y descomprimir archivos usando únicamente nuestro gestor de archivos.\nCOMPRIMIR Y DESCOMPRIMIR ARCHIVOS MEDIANTE NUESTRO GESTOR DE ARCHIVOS Existen varios programas que nos servirán para comprimir y descomprimir archivos usando nuestro gestor de archivos. Los programas que podemos usar en función del gestor de archivos que usamos son los siguientes:\nProgramas Gestor de archivos ark Dolphin, PCManFM file-roller Nautilus, PCManFM, y Thunar nemo-fileroller Nemo xarchiver Thunar, PCManFM, Nautilus engrampa Caja En mi caso uso el gestor de archivos thunar y uso el programa Xarchiver. Para instalar Xarchiver tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\nsudo apt-get install xarchiver Nota: Si quieren usar otro programa tan solo tienen que reemplazar xarchiver por ark, file-roller, nemo-fileroller o engrampa. Una vez instalado Xarchiver podemos modificar sus preferencias. Para ello abrimos el programa Xarchiver ejecutando el siguiente comando en la terminal:\nxarchiver Cuando se haya abierto presionamos la combinación de teclas Ctrl +F y nos aparecerá la ventana de preferencias donde podremos configurar el comportamiento del programa.\nCOMPRIMIR Y DESCOMPRIMIR ARCHIVOS MEDIANTE NUESTRO GESTOR DE ARCHIVOS Una vez instalados los paquetes necesarios podemos comprimir y descomprimir archivos y carpetas de forma trivial.\nComprimir archivo/s y carpeta/s usando el gestor de archivos Primero seleccionamos los archivo/s y o carpeta/s a comprimir. Seguidamente presionamos el botón derecho del ratón y cuando aparezca el menú contextual clicamos sobre la opción Crear un archivador…\nA continuación seleccionamos el formato de archivo que queremos usar para la compresión, definimos la ubicación donde queremos guardar el archivo comprimido, definimos un nombre y finalmente presionamos el botón Crear para crear el archivo comprimido.\nNota: El procedimiento es el mismo para el resto de gestores de archivos. Únicamente encontrarán pequeñas diferencias que utilizando su intuición podrán resolver. Descomprimir archivo/s y carpetas usando el gestor de archivos Descomprimir archivos y carpetas aún es más fácil que comprimirlos. Tan solo tenemos que seleccionar el archivo/s a descomprimir, presionar el botón derecho del ratón y cuando aparezca el menú contextual tan solo hay que clicar encima de las opciones Extraer aquí o Extraer en\u0026hellip;\nAsí de esta forma tan fácil podemos comprimir y descomprimir archivos en Linux tal y como lo haríamos en Windows.\n","permalink":"https://geeklandlinux.github.io/posts/comprimir-descomprimir-archivos-gestor-archivos/","summary":"\u003cp\u003eComprimir y descomprimir archivos en Linux es tan fácil como en Windows. Para hacer comprimir y descomprimir archivos de forma práctica y sencilla tan solo tienen que seguir la siguientes instrucciones.\u003c/p\u003e","title":"Comprimir y descomprimir archivos con el gestor de archivos en Linux"},{"content":"La primera vez que nos conectamos a un servidor SSH obtenemos mensajes de advertencia sobre el fingerprint similares al siguiente:\nThe authenticity of host \u0026#39;192.168.1.123 (192.168.1.123)\u0026#39; can\u0026#39;t be established. ECDSA key fingerprint is SHA256:TiqZXJITgH/kUE9WoNP4TF2xkescmKxFIe33TpsQRC7. Are you sure you want to continue connecting (yes/no)? Esta advertencia es para prevenir que nos conectemos a un servidor SSH malicioso y evitar ataques man in the middle. En lenguaje llano, la advertencia nos está preguntando si estamos seguros de conectarnos al servidor SSH que tiene el fingerprint SHA256:RiqYXJITgH/kUE9WoNP4TF2xkescmKxFIe33TpsQRC8.\n¿QUÉ ES EL FINGERPRINT DE UN SERVIDOR SSH? En el momento que se generan las claves pública y privada de un servidor SSH, se genera una huella digital única para cada una de estas llaves. Esta huella digital única es el fingerprint y su principal función es identificar de forma inequívoca un servidor.\n¿QUÉ UTILIDAD TIENE EL FINGERPRINT DE UN SERVIDOR SSH? En el momento que nos conectamos al servidor SSH se inicia un proceso autenticación. El proceso es el siguiente:\nCuando el cliente se conecta al servidor consulta el archivo ~/.ssh/known_hosts. El fichero ~/.ssh/known_hosts es una base de datos de fingerprints de los servidores SSH a los que nos hemos conectado. Si el fingerprint del servidor SSH al que nos conectamos está almacenado en ~/.ssh/known_hosts, querrá decir que no es la primera vez que nos conectamos al servidor. Por lo tanto a priori se trata de un servidor conocido y seguro al que nos podremos conectar sin ningún tipo de problema. En el caso que el fingerprint del servidor SSH no esté almacenado en nuestro ~/.ssh/known_hosts nos aparecerá el mensaje de advertencia que hemos visto al inicio del artículo. En este caso deberemos proceder según se indica en los puntos 4 y 5. Si no es la primera vez que nos conectamos al servidor y nos aparece la advertencia tenemos que responder no y abortar la conexión. Si nos encontramos con esta situación pueden estar pasando 2 cosas. La primera de ellas no es peligrosa y es que el administrador del servidor haya generado un par de llaves nuevo. Si este es el caso nos podemos conectar al servidor sin ningún tipo de problema. La segunda es que estemos recibiendo un ataque del tipo man in the middle, y que el servidor al que nos estamos conectando sea un servidor malicioso que pretende robar nuestras credenciales. Una vez robadas nuestras credenciales el atacante podrá conectarse al servidor real en nombre nuestro. Si este es el caso aborten de inmediato la conexión al servidor. Si aparece el mensaje de advertencia y es la primera vez que nos conectamos al servidor no nos debemos preocupar. Tan solo tenemos que comprobar que el fingerprint de la advertencia corresponda al fingerprint del servidor SSH. Si el fingerprint es correcto escribiremos yes, presionaremos la tecla Enter y seguidamente nos conectaremos al servidor. En el momento que nos hayamos conectado al servidor, el fingerprint del servidor se almacenará en nuestro archivo ~/.ssh/known_hosts. En el caso que el fingerprint no sea correcto debemos responder no y abortar la conexión de inmediato. Por lo tanto queda claro que el fingerprint es una mecanismo para asegurar que nos estamos conectado al servidor al que realmente queremos conectarnos.\n¿CÓMO PODEMOS SABER EL FINGERPRINT DE NUESTRO SERVIDOR SSH? Nos dirigimos al directorio donde se almacenan las claves privadas y públicas de nuestro servidor. Para ello ejecutamos el siguiente comando en la terminal:\ncd /etc/ssh Para visualizar nuestras claves privadas ejecutamos el siguiente comando en la terminal:\nls -l El resultado obtenido en mi caso es el siguiente:\nroot@debian:/etc/ssh$ ls -ls total 576 -rw-r–r– 1 root root 553122 ene 3 2017 moduli -rw-r–r– 1 root root 1723 ene 3 2017 ssh_config -rw-r–r– 1 root root 2513 may 10 2015 sshd_config -rw——- 1 root root 668 jul 17 2014 ssh_host_ed25519_key -rw-r–r– 1 root root 601 jul 17 2014 ssh_host_ed25519_key.pub -rw——- 1 root root 227 jul 17 2014 ssh_host_ecdsa_key -rw-r–r– 1 root root 173 jul 17 2014 ssh_host_ecdsa_key.pub -rw——- 1 root root 1679 jul 17 2014 ssh_host_rsa_key -rw-r–r– 1 root root 393 jul 17 2014 ssh_host_rsa_key.pub El fingerprint de cada una de las llaves se almacena en los ficheros que terminan con la extensión .pub.\nSi en el inicio del post consultan el mensaje de advertencia que obtengo al conectarme al servidor verán que se está usando la llave ECDSA. Por lo tanto consultaré el fingerprint de la llave ssh_host_ecdsa_key.pub ejecutado el siguiente comando en la terminal:\nssh-keygen -l -f ssh_host_ecdsa_key.pub Cada una de los términos del comando tiene el siguiente significado:\nssh-keygen: Utilidad que uso para conseguir mi propósito. -l: Opción que indica a ssh-keygen que muestre el fingerprint. -f: Opción para poder especificar el nombre de una llave. ssh_host_ecdsa_key.pub: Nombre de la llave que quiero averiguar el fingerprint.\nEl resultado obtenido de ejecutar el comando es el siguiente:\nroot@debian:ssh-keygen -l -f ssh_host_ecdsa_key.pub SHA256:TiqZXJITgH/kUE9WoNP4TF2xkescmKxFIe33TpsQRC7 root@debian (ECDSA) El fingerprint mostrado es el mismo que el que aparece en el mensaje de advertencia de conexión al servidor. Por lo tanto nos podemos conectar al servidor sin ningún tipo de temor.\nCOMO VER LA FINGERPRINT DE LOS SERVIDORES A LOS QUE ME HE CONECTADO Como hemos dicho anteriormente, el archivo ~/.ssh/known_hosts almacena la totalidad de fingerprints de los servidores a los que nos hemos conectado.\nPor lo tanto para consultar la totalidad de fingerprints tan solo tenemos que ejecutar el siguiente comando en la terminal:\ncat ~/.ssh/known_hosts Procediendo de la forma que describimos en el artículo conseguiremos obtener mayor seguridad en el momento de conectarnos a servidores SSH.\n","permalink":"https://geeklandlinux.github.io/posts/fingerprint-servidor-ssh/","summary":"\u003cp\u003eLa primera vez que nos conectamos a un servidor SSH obtenemos mensajes de advertencia sobre el fingerprint similares al siguiente:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-shell\" data-lang=\"shell\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eThe authenticity of host \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;192.168.1.123 (192.168.1.123)\u0026#39;\u003c/span\u003e can\u003cspan style=\"color:#960050;background-color:#1e0010\"\u003e\u0026#39;\u003c/span\u003et be established.\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eECDSA key fingerprint is SHA256:TiqZXJITgH/kUE9WoNP4TF2xkescmKxFIe33TpsQRC7.\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eAre you sure you want to \u003cspan style=\"color:#66d9ef\"\u003econtinue\u003c/span\u003e connecting \u003cspan style=\"color:#f92672\"\u003e(\u003c/span\u003eyes/no\u003cspan style=\"color:#f92672\"\u003e)\u003c/span\u003e?\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003c/blockquote\u003e","title":"Que es el fingerprint de un servidor SSH y que utilidad tiene"},{"content":"Recientemente he comprado una nueva batería para mi smartphone. Después de reemplazarla he tenido serios problemas con la precisión del valor del nivel de carga indicado en el barra de estado de mi dispositivo. Para solucionar el problema he tenido que calibrar la batería del modo que se detalla en este artículo.\n¿EN QUE CONSISTE EL PROCESO DE CALIBRAR LA BATERÍA? Calibrar la batería no es más que realizar un ciclo de carga completa a nuestro dispositivo móvil. Este proceso, según los fabricantes de teléfonos, hay que realizarlo con una periodicidad de aproximadamente 3 meses.\nBENEFICIOS QUE OBTENEMOS AL CALIBRAR LA BATERÍA Calibrar la batería únicamente aportará un beneficio. Este beneficio es que podremos estar seguros que el nivel de carga indicado en la barra de estado de nuestro dispositivo móvil es correcto.\nEn este apartado es importante remarcar los siguientes aspectos:\nCalibrar la batería no incrementa la duración de la batería. Calibrar la batería no repara una batería que esté dañada. Una batería que esté dañada nunca podrá ser reparada mediante un software. ¿CÚANDO DEBEMOS CALIBRAR LA BATERÍA DEL TELÉFONO? Con el paso del tiempo, el indicador del nivel de carga de nuestro teléfono o tablet puede dejar de mostrar valores correctos. Cuando esto nos pasa nos encontramos con las siguientes situaciones:\nNuestro dispositivo móvil se apaga antes o mucho antes de que el indicador de carga llegue al 0%. El nivel de carga baja muy rápidamente y de repente se queda estabilizado en un % de carga durante mucho tiempo. El nivel de carga indicando por el teléfono es del 100%, pero realmente la carga no es del 100% Nuestro dispositivo móvil nunca termina de cargarse definitivamente. Nota: Los síntomas que se describen en este apartado también pueden ser debidos a que nuestra batería esté dañada. Si nuestra batería está dañada la calibración no solucionará nada. COMO CALIBRAR LA BATERÍA DE NUESTRO DISPOSITIVO Contrariamente a lo que muchos piensan, no es necesario usar ningún tipo de aplicación para calibrar la batería de nuestro dispositivo móvil. Para calibrar la batería únicamente hay que seguir los siguientes pasos:\nUtilizar nuestro dispositivo hasta que se agote completamente la batería. Una vez agotada la batería dejamos pasar 6 horas sin utilizarlo ni cargarlo. Una vez pasadas las 6 horas cargamos completamente el teléfono. El proceso de carga tiene que ser completo. Para asegurar que sea completo podéis dejar el dispositivo cargando unas 4 horas. Una vez terminada la carga ha finalizado el proceso de calibración. En estos momentos podemos abrir nuestro teléfono o tablet y hacer un uso completamente normal. El proceso descrito en los puntos 1, 2, 3 y 4 hay que repetirlo cada 3 meses aproximadamente. Este procedimiento no me lo he inventado yo. Es el procedimiento que recomienda el servicio posventa de los smartphones LG.\nNota: El procedimiento de calibración mostrado en este apartado es válido tanto para dispositivos con iOS y Android. No usen aplicaciones para calibrar la batería En tiendas como la Google Play Store encontraran multitud de aplicaciones para calibrar la batería. No recomiendo que usen ninguna de estas aplicaciones.\nNo es recomendable usar una aplicación para algo que podemos realizar nosotros mismos de forma manual. Algunas de las aplicaciones que dicen calibrar la batería no son más que malware que roba nuestros datos y vulnera nuestra privacidad.\nDe paso les advierto que no usen ninguna aplicación que les prometa reparar la batería del teléfono. Su una batería está dañada es imposible repararla mediante un software. La única forma de reparar una batería dañada es reemplazarla por otra nueva.\n¿POR QUÉ SE DESCALIBRA LA BATERÍA DE NUESTRO DISPOSITIVO MÓVIL? Queramos o no queramos, la batería se descalibra a medida que vamos usando nuestro dispositivo móvil. El motivo es el siguiente:\nEl nivel de carga que muestra nuestro dispositivos móvil es considerando que el estado de nuestra batería es perfecto. A medida que vamos usando el teléfono nuestra batería se irá deteriorando progresivamente y cuanto más se deteriore menor precisión tendrá el valor de nivel de carga indicado en la barra de estado.\nMediante el proceso de calibración que hemos visto en este artículo podremos calibrar la batería y conseguir que el nivel de carga indicada en la barra de estado vuelva a ser fiable de nuevo.\n","permalink":"https://geeklandlinux.github.io/posts/calibrar-la-bateria-telefono-o-tablet/","summary":"\u003cp\u003eRecientemente he comprado una nueva batería para mi smartphone. Después de reemplazarla he tenido serios problemas con la precisión del valor del nivel de carga indicado en el barra de estado de mi dispositivo. Para solucionar el problema he tenido que calibrar la batería del modo que se detalla en este artículo.\u003c/p\u003e","title":"Como calibrar la batería de nuestro teléfono o tablet"},{"content":"Hay mucha gente a la que le gusta probar distribuciones y realmente se lo pasan bien. Pero mi reflexión es\u0026hellip; ¿Aportan algo los distintos sabores que ofrecen cada una de las distribuciones Linux?\nMi opinión es que la totalidad de distros madre son esenciales. Por otra parte también pienso que la gran mayoría de distribuciones derivadas sobran y simplemente deberían desaparecen del mapa.\nMI OPINION SOBRE LAS DISTRIBUCIONES LINUX MADRE En este punto no hay discusión. Creo que todo el mundo estará de acuerdo que la totalidad de distribuciones madre son absolutamente necesarias. La razón es porqué todas y cada una de ellas aportan soluciones innovadoras y diferentes.\nNo obstante, todas las distribuciones madre y las distribuciones derivadas más importantes deberían ponerse de acuerdo para estandarizar ciertos aspectos del sistema operativo. A estas alturas no puede ser que hayan programas que se puedan usar en una distro y en otra no. Tanto usuarios como desarrolladores obtendrían ventajas si existiera una mayor estandarización del sistema operativo.\n¿QUÉ OPINION TENGO SOBRE LAS DISTRIBUCIONES LINUX DERIVADAS? Gran parte de las distribuciones Linux derivadas son completamente innecesarias y lo único que hacen es frenar el desarrollo de Linux por los siguientes motivos.\nEl tiempo dedicado a crear distribuciones que no aportan nada se podría haber invertido en participar en un proyecto existente que si aporta novedades y mejoras al mundo Linux. El hecho de existir muchas distros que no aportan nada, confunde a los usuarios y hace que no acaben usando ninguna distro. Habría mucha más tasa de adopción en el caso que únicamente existieran 2 o 3 distribuciones populares que fueran fáciles de usar. ¿Qué distribuciones Linux derivadas deberían dejar de existir? Distribuciones que simplemente se dedican a modificar el artwork, hacer un instalador o crear un entorno de escritorio no deberían disponer de una distribución propia.\nPor suerte Linux es una distribución modular. Por lo tanto los desarrolladores deberían tomar las siguientes alternativas:\nLas distros que únicamente aportan un artwork podrían dedicarse a crear paquetes para modificar el artwork de una distro madre. Si alguien crea un entorno de escritorio no debería crear una distro para usar este entorno de escritorio. Lo que debería conseguir es que su entorno de escritorio se pueda instalar en la totalidad de distribuciones madre y en las distribuciones derivadas más importantes. En el caso que se diseñe un entorno de escritorio tiene que aportar algo diferente al resto. De no ser así es mejor unirse y aportar recursos a proyectos existentes como pueden ser Gnome, Plasma, Xfce, etc. Cualquier nueva innovación que quieran aportar al sistema operativo, debería ser en forma de paquetes que se puedan usar en las distribuciones Linux más importantes. Esta es mi opinión personal y seguramente habrá gente que no la comparta. No obstante quien quiera crear una distribución por el mero hecho de aprender y divertirse me parece más que respetable.\n¿Qué distribuciones Linux derivadas vale la pena usar? Las distribuciones Linux derivadas que bajo mi juicio vale la pena usar deben tener las siguientes características:\nDisponer de una comunidad importante. Esto asegura que la distro no desaparecerá el día de mañana y en caso de problemas podremos encontrar soluciones fáciles y rápidas. Que estén especializadas en ciertas áreas como por ejemplo puede ser la seguridad. Instalar estas distribuciones facilita enormemente la vida de los usuarios que se dedican a una rama en concreto. Que realicen aportaciones interesantes y útiles respecto a las distribuciones madre. Un ejemplo de aportación útil puede ser facilitar el uso del sistema operativo a los usuarios. CONCLUSIONES FINALES A medida que han ido pasando los años el número de distribuciones Linux ha ido decreciendo y para mi gusto aún existen demasiadas. Si analizamos las distribuciones que aportan algo diferente no hay tantas. Esta forma de pensar probablemente es la responsable que lleve ya 5 años usando Debian Testing y tenga muy pocas ganas de probar otras distribuciones Linux.\nDespués de la exposición realizada, pienso que solo deberían existir las distribuciones madre y aquellas que por si solas, aunque se basan en otra, hayan sido capaces de adquirir una identidad propia y aporten algo diferente. A mi juicio estas distribuciones son las siguientes:\nArch Linux. Debian. Fedora/Red Hat. Gentoo. Linux Mint. Manjaro. Opensuse. Slackware. Ubuntu. Distribuciones especializadas en seguridad o en otro tipo de campos como por ejemplo Kali Linux, Scientific Linux, Tails, Whonix, Steam OS, Ubuntu Studio, etc. Entre todas las distribuciones citadas cabe destacar a Ubuntu y Linux Mint. Estás distribuciones aportan gran estabilidad y se han enfocado en facilitar el uso de Linux para que esté al alcance de todas las personas.\nEn listado quizás me esté dejando alguna distribución importante. Si es así podéis realizar vuestras aportaciones en los comentarios del blog.\n","permalink":"https://geeklandlinux.github.io/posts/necesitamos-las-distribuciones-linux/","summary":"\u003cp\u003eHay mucha gente a la que le gusta probar distribuciones y realmente se lo pasan bien. Pero mi reflexión es\u0026hellip; ¿Aportan algo los distintos sabores que ofrecen cada una de las distribuciones Linux?\u003c/p\u003e\n\u003cp\u003eMi opinión es que la totalidad de distros madre son esenciales. Por otra parte también pienso que la gran mayoría de distribuciones derivadas sobran y simplemente deberían desaparecen del mapa.\u003c/p\u003e","title":"¿Son necesarias tantas distribuciones Linux o son un problema?"},{"content":"Hace unos meses que de forma aleatoria pierdo la conexión WiFi de mi ordenador. La únicas formas de volver a recuperar la conexión son reiniciar el ordenador o desconectar y volver conectar mi tarjeta de red inalámbrica USB. Para evitar tener que desconectar y conectar físicamente mi dispositivo USB, a continuación veremos como podemos conectar y desconectar un dispositivo USB mediante la terminal.\nIDENTIFICAR EL DISPOSITIVO USB QUE QUEREMOS DESCONECTAR Y/O CONECTAR Inicialmente vamos a recopilar la información de los dispositivos USB disponibles en nuestro equipo. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo lsusb -t El resultado obtenido en mi caso es el siguiente:\n/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/8p, 480M |__ Port 3: Dev 10, If 0, Class=Vendor Specific Class, Driver=r8712u, 480M |__ Port 7: Dev 6, If 0, Class=Mass Storage, Driver=usb-storage, 480M /: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M |__ Port 2: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 2: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 2: Dev 3, If 0, Class=Audio, Driver=snd-usb-audio, 12M |__ Port 2: Dev 3, If 1, Class=Audio, Driver=snd-usb-audio, 12M A partir de la salida de este comando deberéis ser capaces de identificar el dispositivo USB que queréis desconectar.\nEn mi caso la tarjeta de red inalámbrica USB corresponde al Bus 05 y al puerto número 3. Por lo tanto el Bus 05 y el puerto 3 es el que deberemos desconectar y conectar.\nNota: Si la información proporcionada por el comando no es suficiente pueden ejecutar el comando lsusb -v. Este comando les proporcionará mayor información para identificar los dispositivos USB. DESCONECTAR Y CONECTAR UN USB MEDIANTE LA TERMINAL Una vez identificado el dispositivo USB lo podemos desconectar y conectar del siguiente modo.\nDesconectar un dispositivo usb usando la terminal Para desconectar el dispositivo USB tenemos que ejecutar un comando del siguiente tipo en la terminal:\necho \u0026#39;numerobus-numeropuerto\u0026#39; |sudo tee /sys/bus/usb/drivers/usb/unbind En mi caso la tarjeta de red inalámbrica corresponde al bus 05 y al puerto 3. Por lo tanto ejecutaré el siguiente comando en la terminal:\necho \u0026#39;5-3\u0026#39; |sudo tee /sys/bus/usb/drivers/usb/unbind Una vez ejecutado el comando nuestro dispositivo USB se desconectará.\nConectar un dispositivo usb usando la terminal Una vez desconectado lo podremos volver a conectar usando un comando del siguiente tipo:\necho \u0026#39;numerobus-numeropuerto\u0026#39; |sudo tee /sys/bus/usb/drivers/usb/bind Hemos visto que la tarjeta de red inalámbrica corresponde al bus 05 y al puerto 3. Por lo tanto ejecutaré el siguiente comando en la terminal:\necho \u0026#39;5-3\u0026#39; |sudo tee /sys/bus/usb/drivers/usb/unbind Después de ejecutar el comando mi tarjeta de red inalámbrica se activará y volveré a disponer de conexión a internet.\nAUTOMATIZAR EL PROCESO DE DESCONECTAR Y CONECTAR UN DISPOSITIVO USB Si lo consideramos oportuno podemos automatizar el proceso que acabamos de ver. Para ello tan solo tenemos que crear un script del siguiente modo.\nInicialmente creamos el archivo restart_wifi.sh ejecutando el siguiente comando en la terminal:\ntouch ~/restart_wifi.sh Una vez creado el archivo lo abriremos ejecutando el siguiente comando en la terminal:\nnano ~/restart_wifi.sh A continuación escribiremos el código encargado de desconectar y conectar nuestro dispositivo USB. En mi caso el código es el siguiente:\n#!/bin/bash echo \u0026#39;5-3\u0026#39; |sudo tee /sys/bus/usb/drivers/usb/unbind echo \u0026#39;5-3\u0026#39; |sudo tee /sys/bus/usb/drivers/usb/bind Una vez introducido el código guardamos los cambios y cerramos el fichero. Finalmente daremos permisos de ejecución al script ejecutando el siguiente comando en la terminal:\nsudo chmod +x ~/restart_wifi.sh En estos momentos podremos ejecutar el script ejecutando el siguiente comando en la terminal:\nsh ~/restart_wifi.sh Así de forma fácil y sencilla podremos desconectar y conectar un dispositivo USB únicamente usando la terminal.\nEjecutar el script que acabamos de crear con un doble click Si nos molesta tener que ejecutar un comando en la terminal podemos usar el script haciendo doble click sobre un archivo .desktop. Para ello deberemos proceder del siguientes modo.\nInicialmente creamos el archivo .desktop Reiniciar Wifi que es el que usaremos para desconectar y conectar nuestro dispositivo USB. Para ello ejecutamos el siguiente comando en la terminal:\ntouch ~/Escritorio/\u0026#34;Reiniciar Wifi.desktop\u0026#34; Seguidamente editamos el archivo que acabamos de crear ejecutando el siguiente comando en la terminal:\nnano ~/Escritorio/\u0026#34;Reiniciar Wifi.desktop\u0026#34; A continuación pegamos el siguiente código dentro del editor de texto:\n[Desktop Entry] #Nombre de la aplicación Name=Reiniciar Wifi #Comentario que aparece al seleccionar el lanzador Comment=Reinicia mi dispositivo WiFi #Comando que usaríamos para ejecutar el script desde la terminal Exec=sh \u0026#39;/home/joan/restart_wifi.sh\u0026#39; #Ruta del icono que queremos que tenga el lanzador Icon=/usr/share/icons/Numix/128/devices/network-wireless.svg #Para que el programa se ejecute en una terminal Terminal=true #Indicación del tipo de archivo .desktop Type=Application #Para que el programa se ubique en el apartado Accesorios de nuestro menú Categories=Utility #Desactivar la notificación de inicio del script StartupNotify=false Nota: Los comentarios del código contienen la explicación de cada una de las líneas. Nota: La líneas de color rojo son las únicas susceptibles de modificación Una vez introducido el código guardamos los cambios y cerramos el fichero.\nFinalmente damos permisos de ejecución al archivo .desktop ejecutando el siguiente comando en la terminal:\nchmod +x ~/Escritorio/\u0026#34;Reiniciar Wifi.desktop\u0026#34; A partir de estos momentos, cada vez que haga doble click en el archivo Reiniciar Wifi.desktop se desconectará y conectará el dispositivo USB que hayamos definido.\n","permalink":"https://geeklandlinux.github.io/posts/desconectar-conectar-usb-terminal/","summary":"\u003cp\u003eHace unos meses que de forma aleatoria pierdo la conexión WiFi de mi ordenador. La únicas formas de volver a recuperar la conexión son reiniciar el ordenador o desconectar y volver conectar mi tarjeta de red inalámbrica USB. Para evitar tener que desconectar y conectar físicamente mi dispositivo USB, a continuación veremos como podemos conectar y desconectar un dispositivo USB mediante la terminal.\u003c/p\u003e","title":"Desconectar y conectar un dispositivo USB con la terminal en Linux"},{"content":"En el momento que somos víctimas de una estafa, ciberacoso, robos de identidad, insultos o cualquier otra circunstancia que pueda ser considerada un delito a través de internet debemos proceder de la siguiente forma para poder denunciar delitos informáticos de forma efectiva.\nCOMO DENUNCIAR DELITOS INFORMÁTICOS En el momento que se produce el delito tenemos interponer una denuncia frente las autoridades competentes. Si soys españoles os podéis dirigir al grupo de de delitos telemáticos de la Guardia Civil o la policía nacional para interponer una denuncia online o de forma presencial.\nEn el caso que no seáis españoles os deberéis poner en contacto con las fuerzas de seguridad pertinentes del correspondiente país.\nPara poder realizar la denuncia es necesario disponer de información y pruebas de lo que ha sucedido. Por lo tanto en el momento que se perpetre el delito tenéis que recopilar la siguiente información.\nRealizar una captura de pantalla para denunciar delitos En el momento que se produce el delito tenemos que realizar una captura de pantalla para poderla presentar frente a una autoridad competente.\nLa captura de pantalla únicamente servirá para que las autoridades inicien un proceso de investigación. El delincuente o estafador nunca podrá ser procesado a no ser que se hallen otras evidencias que se ha cometido el delito. Esto es así porque una captura de pantalla es fácilmente manipulable por el denunciante modificando el código fuente de una web.\nBuscar testigos para denunciar delitos Una captura de pantalla tiene poco peso y simplemente sirve para que las autoridades inicien una investigación.\nPor lo tanto en el momento que ocurra el delito también tenemos que buscar testigos que frente a un juez puedan testificar los hechos que estamos denunciando.\nContactar con un perito informático y un notario Después de producirse el delito tenemos que contactar inmediatamente con un perito informático de la policía y un notario.\nEl perito informático de la policía, conjuntamente con un notario, serán las personas clave para poder acreditar que el delito realmente se ha producido.\nEn el caso que la denuncia sea a través de mensajes de Whatsapp o Twitter hay que actuar con rapidez. En caso contrario el denunciante puede borrar los mensajes que estamos denunciando de forma muy fácil y simple.\nDe este modo el delito se podrá acreditar fácilmente. No obstante habrá que investigar los hechos sucedidos ya que el denunciado también puede haber sido víctima de una suplantación de identidad o cualquier otra incidencia.\nUsar el servicio qur proporciona Egarante Otra opción interesante es usar un servicio el pago Egarante. Egarante es un servicio que se encarga de certificar electrónicamente un documento para darle validez jurídica.\nEntre otras cosas, el servicio Egarante puede realizar las siguientes funciones:\nDemostrar que hemos enviado un correo con un determinado contenido a una dirección de email. Certificar el contenido de un correo electrónico que se ha recibido por parte de una tercera persona. Realizar una captura de pantalla de una página web con validez jurídica de cualquier contenido que hemos visualizado. Acreditar el contenido de un documento adjunto que se ha enviado y/o recibido vía email. Certificar la existencia de un vídeo en Youtube en el que se habla de un determinado contenido que quieres denunciar. Todo las pruebas que podamos conseguir usando el servicio Egarante tienen validez judicial. Por lo tanto Egarante es una excelente opción para poder denunciar delitos informáticos por los siguientes motivos:\nTiene validez jurídica. Se pueden obtener pruebas para la denuncia de los hechos de forma rápida y efectiva. Actuando de la forma descrita en este post podremos denunciar delitos informáticos de forma fácil y efectiva.\n","permalink":"https://geeklandlinux.github.io/posts/como-denunciar-delitos-informaticos/","summary":"\u003cp\u003eEn el momento que somos víctimas de una estafa, ciberacoso, robos de identidad, insultos o cualquier otra circunstancia que pueda ser considerada un delito a través de internet debemos proceder de la siguiente forma para poder denunciar delitos informáticos de forma efectiva.\u003c/p\u003e","title":"Como denunciar delitos informáticos de forma efectiva"},{"content":"A continuación veremos una breve explicación de las características y el tipo de paquetes y software que encontraremos en cada uno de los repositorios principales de Ubuntu y distribuciones derivadas de Ubuntu. Además daré mi opinión sobre los repositorios que bajo mi experiencia podemos activar.\nCARACTERÍSTICAS DE LOS REPOSITORIOS PRINCIPALES DE UBUNTU Y LINUX MINT Los repositorios existentes en Ubuntu se dividen en 4 bloques. Cada uno de los bloques contendrá paquetes y programas en función de los siguientes factores:\nEl encargado de realizar el mantenimiento de los repositorios. La naturaleza los paquetes presentes en el repositorio. La explicación de cada uno de los 4 grandes bloques es la siguiente:\nCaracterísticas del repositorio Main Es el repositorio principal de Ubuntu. En este repositorio hallamos los paquetes principales de la distribución. La totalidad de paquetes que están en este repositorio disponen de las siguientes características:\nSon libres u Open Source. El mantenimiento del repositorio es realizado por Canonical. Recuerden que Canonical es la empresa encargada de desarrollar Ubuntu. El software incluido en este repositorio dispondrá de actualizaciones de seguridad y soporte técnico por parte del equipo de Canonical. Incluyen los paquetes y las aplicaciones que la comunidad y los desarrolladores de Ubuntu consideran más importantes. Algunos de los paquetes conocidos que acostumbramos de este repositorios son los siguientes:\nFirefox Evince Nano Etc. Características del repositorio Universe Este repositorio incluye paquetes de software libre y open Source, pero a diferencia del repositorio Main, estos paquetes están mantenidos por la comunidad. Por lo tanto las características de los paquetes de este repositorio son las siguientes:\nIncluye la totalidad de paquetes libres y Open Source que no han sido incluidos en el repositorio Main. Los paquetes de este repositorio son mantenidos por la comunidad. Canonical no garantiza actualizaciones de seguridad ni la corrección de bugs de los paquetes incluidos en este repositorio. Las actualizaciones de seguridad y corrección de errores dependerá de la comunidad. Usar los paquetes de este repositorio entraña un riesgo mínimo para el usuario. En el caso que exista un software muy popular, o que esté bien soportado, se trasladará al repositorio main. Algunos ejemplos de programas que encontraremos en este repositorio son Abiword, Vlc, Audacious, Pidgin, etc.\nCaracterísticas del repositorio restricted El repositorio restricted básicamente incluye drivers privativos. Mediante el uso de estos drivers privativos, en algunos casos podremos hacer funcionar el siguiente hardware:\nLa tarjeta de red wifi. La tarjeta gráfica del ordenador. El Bluetooth. etc. Las características principales del software de este repositorio son las siguientes:\nLa totalidad de software es privativo. El mantenimiento de este repositorio es realizado por Canonical. El soporte que puede proporcionar Canonical es limitado. Al tratarse de software privativo, Canonical únicamente podrá proporcionar soluciones o actualizaciones cuando los creadores del software privativo reaccionen. Características del repositorio multiverse Repositorio que contiene software no libre y software open source con restricciones legales. Las características de los paquetes contenidos en este repositorio son las siguientes:\nLos paquetes de este repositorio no cumplen con las directivas del software libre. El soporte de este repositorio es realizado por la comunidad. Al tratarse de paquetes privativos o con restricciones legales, hace que las actualizaciones de seguridad y la resolución de problemas sea más lenta. Antes de usar este software de este repositorio hay que asegurarse falta completar Algunos de los paquetes que por ejemplo se encuentran en este repositorio son:\nAdobe Flash Plugin. Códecs para reproducir audio y vídeo. libdvdcss para reproducir DVD. Unrar. Ubuntu-restricted-extras. nautilus-dropbox. Etc. Tabla resumen de los repositorios de Ubuntu Una tabla resumen de la totalidad del contenido que hemos visto hasta el momento es la siguiente\nSoftware Libre / Open Source Software privativo Mantenido por Ubuntu Main Sí No Sí Universe Sí No No Restricted No Sí Sí Multiverse Sí Sí No OTROS REPOSITORIOS EXISTENTES EN UBUNTU Aparte de los 4 grandes repositorios que acabamos de mencionar existen otros repositorios. Algunos de ellos son los siguientes.\nSocios canonical Todas las distribuciones Ubuntu, o basadas en Ubuntu, disponen de un repositorio llamado socios canonical.\nEste repositorio contiene programas privativos que canonical empaqueta para que sus usuarios los puedan instalar y usar de forma fácil.\nCanonical no tendrá acceso al código fuente de estos programas. Por lo tanto la totalidad de bugs y problemas de seguridad únicamente podrán ser solucionados por los desarrolladores\nAlgunos de los programas que figuran en este repositorios son por ejemplo:\nSkype adobe-flashplugin Adobe Air Adobe reader etc. Repositorios ppa En Ubuntu y en distribuciones derivadas de Ubuntu existen repositorios creados por terceros y que podemos añadir a nuestra distribución. Estos repositorios son los PPA (Personal Package Archive).\nLa utilidad principal de estos repositorios son:\nInstalar un software que no se halla en los repositorios de nuestra distribución. Actualizar un software que ya está presente en nuestro equipo a la última versión. Estos repositorios son completamente ajenos a Ubuntu. Por lo tanto el mantenimiento y actualización de los paquetes de este repositorio dependen única y exclusivamente del personal que gestiona el repositorio ppa.\nEstos repositorios son útiles y facilitan la vida de los usuarios. No obstante hay que ir con cuidado porque estos repositorios pueden llegar a crear problemas de dependencias en nuestro equipo.\nLes recomiendo visitar el siguiente enlace para ver algunos de los repositorios ppa existentes en Ubuntu.\n¿QUÉ REPOSITORIOS DEBO ACTIVAR EN UBUNTU Y LINUX MINT? En mi caso siempre he usado Ubuntu o Linux Mint activando la totalidad de repositorios. Las conclusiones basadas en mi experiencia son las siguientes:\nRepositorios principales de Ubuntu y Linux mint El hecho de activar los repositorios Universe y Multiverse nunca me ha generado problemas de estabilidad. Además en el hipotético caso que existiera un problema grave, la comunidad se volcaría a solucionarlo rápidamente.\nPor lo tanto mi punto de vista es que el hecho de activar unos repositorios u otros se limita a una cuestión ética.\nEn el caso que no quieran tener programas privativos o con problemas de licencia en su equipo activen únicamente los repositorios Main y Universe.\nSi por lo contrario no os importa tener la posibilidad de instalar programas privativos o con problemas de licencia activen la totalidad de repositorios.\nRepositorios de terceros ppa En el caso de los repositorios ppa hay que tener cierta precaución. A pesar que para crear un repositorio ppa se tiene que aceptar un código de conducta, solo recomiendo usar repositorios ppa que sean de confianza. Los factores a tener en cuenta para saber si un repositorio es fiable son los siguientes:\n¿Quién ha realizado y mantiene el repositorio? A modo de ejemplo, si queremos instalar Libreoffice mediante un repositorio ppa y vemos que el repositorio ppa que queremos usar fue creado y es gestionado por Libreoffice podemos estar seguros que se trata de un repositorio confiable.\nEn Ubuntu también existen repositorios ppa creados y mantenidos por gente o entidades conocidas y confiables como por ejemplo el atereao, OMGUbuntu, webupd8, etc. Estos repositorios en principio también son confiables y se pueden usar sin ningún tipo de problema porque sus desarrolladores son gente conocida y de confianza.\n¿Cuantos usuarios están usando el repositorio ppa? Cuantos más usuarios tenga un ppa mayor será la confianza que me ofrece. Si un ppa no es confiable lo usará muy poca gente.\nFrecuencia de actualizaciones del repositorio ppa El hecho que un repositorio reciba actualizaciones frecuentes también es una señal clara que se trata de un repositorio confiable. Si instalamos un programa de un repositorio que hace por ejemplo 2 años que no se actualiza, los más probable es que el programa instalado no funcione.\nNaturaleza del ppa Hay que ser consciente del ppa que añadimos en todo momento. Existen ppa de programas que por ejemplo están en una versión testing o inestable. Por lo tanto el uso de repositorios con software en estado inestable puede ocasionar algún tipo de inconveniente.\n","permalink":"https://geeklandlinux.github.io/posts/caracteristicas-repositorios-main-universe-multiverse-restricted/","summary":"\u003cp\u003eA continuación veremos una breve explicación de las características y el tipo de paquetes y software que encontraremos en cada uno de los repositorios principales de Ubuntu y distribuciones derivadas de Ubuntu. Además daré mi opinión sobre los repositorios que bajo mi experiencia podemos activar.\u003c/p\u003e","title":"Características de los repositorios Main, Universe, Multiverse, restricted"},{"content":"Hace unos días escribí un post en el que recomendé que solo se instalarán apps de 3 tiendas. Una de las tiendas que recomendé es F-droid.\n¿QUÉ TIENE DE ESPECIAL LA TIENDA DE APLICACIONES F-DROID? F-droid es diferente al resto de tiendas porque todas las aplicaciones que contiene son de Software Libre u Open Source. En el pasado ya comenté amplia y detenidamente las ventajas que aporta el software libre respecto al software privativo.\nDentro de la tienda podremos encontrar el siguiente contenido:\nEl archivo binario para instalar la aplicación que necesitemos. El código fuente de la aplicación para que lo podamos consultar. Incidencias que los usuarios han reportado al creador de la App. Historial de cambios de la aplicación. Información para poder contactar con el desarrollador la aplicación. Los permisos que otorgamos a las aplicaciones. Etc. ¿POR QUÉ ES INTERESANTE USAR LA TIENDA DE APLICACIONES DE F-DROID? Obviamente los grandes atractivos de esta tienda son los siguientes:\nPodemos consultar el código fuente de todas las aplicaciones. Esto que yo sepa no se puede hacer en otras tiendas como Google Play o la Amazon Store. Tenemos la capacidad de ver todas las incidencias y bugs que los usuarios han reportado al desarrollador. Podemos contactar fácilmente con los desarrolladores para reportar las incidencias que queramos. Podremos encontrar aplicaciones que no están disponibles en tiendas como la Google Play Store. Algunos ejemplos de lo que digo son AdAway, NewPipe, etc. Todo este conjunto de características hace que las aplicaciones de esta tienda sean seguras, respetuosas con la privacidad y libres de malware.\nCOMO INSTALAR F-DROID EN NUESTRO ANDROID Los pasos a seguir para instalar la tienda F-droid son los siguientes:\nActivar la instalación de aplicaciones de orígenes desconocidos El primer paso consiste en asegurar que tenemos activada la opción para poder instalar aplicaciones fuera de la Google Play Store.\nPara ello nos dirigimos al apartado Ajustes\u0026gt;Seguridad. Una vez dentro del menú Seguridad tildamos la opción Orígenes desconocidos.\nInstalar la tienda F-droid Para su instalación accederemos la siguiente URL:\nSeguidamente presionamos encima del botón Download F-Droid para que se inicie la descarga del fichero de instalación.\nFinalmente nos dirigimos a la ubicación donde descargamos el fichero de instalación y procedemos a instalar la tienda F-droid.\nCONFIGURAR LA TIENDA Y ACTIVAR REPOSITORIOS ADICIONALES Después de instalar la tienda F-droid la podemos abrir sin problema. Una vez abierta, lo primero que deberemos hacer es activar los repositorios de aplicaciones.\nPara ello clicamos el botón de la parte superior derecha que contiene 3 puntos. Al abrirse el menú pulsamos encima de la opción Repositorios.\nA continuación tildamos los repositorios que queremos activar y usar. En mi caso activo y uso los siguientes:\nEl contenido que incluye cada uno de los repositorios es el siguiente:\nRepositorio Descripción F-Droid Repositorio principal y oficial de F-Droid. F-Droid Archive Almacena las versiones antiguas de las aplicaciones del repositorio F-Droid Guardian Project Official Releases Incluye aplicaciones relacionadas con la privacidad del proyecto Guardian Project Guardian Project Archive Repositorio donde se almacenan las versiones antiguas de las aplicaciones del repositorio Guardian Project Una vez activados los repositorios ya podrán buscar e instalar aplicaciones de forma totalmente intuitiva.\nAñadir repositorios adicionales a F-droid Hemos visto que la aplicación dispone de 4 repositorios. Si queremos podemos añadir más repositorios. Pueden consultar el siguiente enlace para ver repositorios adicionales que podemos usar:\nRepositorios adicionales que podemos usar\nPara añadir un repositorio adicional, dentro del apartado de repositorios deberán presionar sobre el botón +. Seguidamente deberán rellenar la URL y la huella digital que encontrarán en el enlace que les he dejado. Finalmente deberán presionar sobre la opción Agregar para que se añada el repositorio.\nFinalmente pueden ver que se ha añadido el repositorio sin ningún tipo de problema. Por lo tanto en estos momentos tendremos más aplicaciones disponibles para poder instalar.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-tienda-aplicaciones-f-droid/","summary":"\u003cp\u003eHace unos días escribí un post en el que recomendé que solo se instalarán apps de 3 tiendas. Una de las tiendas que recomendé es F-droid.\u003c/p\u003e","title":"Qué es y como instalar la tienda de aplicaciones f-droid"},{"content":"En el pasado explicamos de forma simplificada que es un sandbox y los posibles usos que le podemos dar. A raíz de este post, a continuación veremos como usar un sandbox llamado Firejail en Linux.\nALGUNOS DATOS SOBRE EL SANDBOX FIREJAIL Firejail en un programa que utiliza SUID (Set user ID), los espacios de nombres del kernel Linux (Linux Namespaces) y seccomp-bpf para crear un sandbox. De esta forma podremos ejecutar cualquier tipo de programa de forma segura en un entorno controlado.\nPodemos usar Firejail en multitud de programas y aplicaciones. Algunos ejemplos son los siguientes:\nEn aplicaciones gráficas como por ejemplo un navegador web, un programa para descargar Torrent, en Skype, en un reproductor de vídeo como VLC, etc. En programas que se ejecutan en un servidor y a través de la terminal como por ejemplo el servidor web apache. Por la experiencia que he tenido con este sandbox puedo afirmar lo siguiente:\nEs ligero. La velocidad de ejecución de los programas dentro del sandbox es la misma que fuera del sandbox. Al arrancar el ordenador no se cargan procesos adicionales en memoria. Por lo tanto podemos instalar Firejail con total tranquilidad porque únicamente consumirá recursos en el momento de generar y cargar el programa en el sandbox. El programa prácticamente no tiene dependencias. Por lo tanto la cantidad de paquetes que instalaremos será mínima. Su uso es extremadamente sencillo. Incluso un usuario básico puede usar este sandbox. INSTALAR EL SANDBOX FIREJAIL EN LINUX Para instalar el sandbox y usarlo exclusivamente a través de la terminal tenemos que ejecutar el siguiente comando en la terminal:\nsudo apt-get install firejail Si además queremos disponer de una interfaz gráfica para gestionar nuestro sandbox ejecutaremos el siguiente comando en la terminal:\nsudo apt-get install firetools Nota: En este artículo nos focalizaremos en el uso de Firejail a través de la terminal. El motivo es sencillo, la terminal ofrece muchas más opciones que la interfaz gráfica. INSTRUCCIONES PARA USAR FIREJAIL EN LA TERMINAL Las instrucciones a seguir para gestionar nuestro sandbox a través de la terminal son las siguientes:\nLos perfiles de configuración de Firejail Firejail incluye perfiles de configuración predeterminados para multitud de programas en Linux. En estos perfiles de configuración es donde se definen las propiedades para aislar el programa del resto del sistema operativo. En estos ficheros de configuración podemos definir parámetros como por ejemplo:\nLas carpetas de nuestro sistema de archivos a las que tendrá acceso el programa que se ejecuta en el sandbox. Los permisos que tendrá el programa sobre ciertos directorios de nuestro sistema operativo. Si lo programas tienen acceso al servidor de sonido. Deshabilitar la aceleración 3D de un programa en concreto. Usar unos DNS específicos para un programa usado dentro del sandbox. Determinar si el programa tendrá acceso a Internet. Etc. Para ver la totalidad de perfiles disponibles podemos ejecutar el siguiente comando en la terminal:\nls /etc/firejail/ Modificar los perfiles de configuración estándar Si queremos modificar alguna característica de un perfil estándar tenemos que acceder a su código y modificarla. A modo de ejemplo, para modificar el código del perfil de Firefox deberíamos ejecutar el comando:\nsudo nano /etc/firejail/firefox.profile Una vez abierto el editor de texto deberemos modificar los parámetros pertinentes. Para conocer la totalidad de parámetros existentes y su funcionalidad les recomiendo que abran un terminal y ejecuten el siguiente comando:\nman 5 firejail-profile Después de ejecutar el comando obtendrán una explicación detallada de todos los parámetros de configuración que podemos usar con Firejail.\nCrear perfiles de programas que están no disponibles Firejail dispone de perfiles de configuración para más de 300 programas. No obstante, puede darse el caso que tengamos que ejecutar un programa que no no disponga de ningún perfil. En tal caso se usará un perfil estándar.\nSi el perfil estándar no es de nuestro agrado podemos crear/modificar un perfil de configuración para el programa en cuestión. Para ello les recomiendo que sigan las instrucciones de los siguientes enlaces:\nCrear perfiles personalizados De esta forma relativamente simple crearemos perfiles de configuración adaptados a nuestras necesidades para la totalidad de nuestros programas.\nSi no queremos crear nuestros propios perfiles podemos usar los que podéis encontrar en los siguientes enlaces:\nhttps://github.com/chiraag-nataraj/profiles https://github.com/nyancat18/fe Ejecutar un programa dentro del sandbox Ejecutar un programa en el sandbox es fácil gracias a los perfiles de configuración que hemos visto en el apartado anterior.\nPara abrir un programa en el sandbox tan solo tenemos que abrir una terminal y teclear firejail seguido del comando que usaríamos para ejecutar el programa desde la terminal. Por lo tanto, para ejecutar Firefox en el sandbox ejecutaríamos el siguiente comando en la terminal:\nfirejail firefox Al ejecutar el comando arrancará Firefox dentro dentro del sandbox. Al no indicar ningún tipo de parámetro se iniciará con la configuración predeterminada de Firefox.\nEjecutar un programa modificando la configuración estándar Es posible iniciar un programa añadiendo/modificando algunas de las configuraciones que figuran en el perfil de configuración.\nPara ello ejecutaremos el comando firejail seguido las opciones para modificar provisionalmente el perfil del programa más el comando para ejecutar el programa en la terminal. Por lo tanto, si queremos ejecutar VLC sin que tenga acceso a internet ejecutaremos el siguiente comando:\nfirejail --net=none vlc Si queremos que vlc siempre arranque de este modo podríamos realizar las siguientes modificaciones.\nPrimero creamos la carpeta que alojará los ficheros que modificaran la configuración estándar de un programa determinado. Para ello ejecutamos el siguiente comando en la terminal:\nmkdir ~/.config/firejail/ Seguidamente creamos el fichero que modificará la configuración predeterminada de VLC ejecutando el siguiente comando en la terminal:\nnano ~/.config/firejail/vlc.profile Nota: El nombre del fichero tiene que ser el mismo que el nombre del perfil estándar. Una vez se abra el editor de textos pegamos el siguiente código:\ninclude /etc/firejail/vlc.profile net none La primera línea contiene la palabra include seguida de la ruta que contiene el perfil estándar que queremos modificar. La segunda línea contiene los nuevos parámetros de configuración que queremos aplicar. Una vez realizados los cambios los guardamos y cerramos el fichero.\nLa próxima vez que arranquemos VLC en el sandbox, no tendrá acceso a internet. Por lo tanto, VLC únicamente será útil para reproducir ficheros de vídeo y sonido locales.\nEjecutar un programa en modo privado Firejail nos permite ejecutar programas en modo privado. Este modo tiene las siguientes particularidades:\nEs la opción que ofrece más seguridad para ejecutar un programa o para acceder a nuestras cuentas bancarias. El modo privado utiliza la configuración estándar de un programa. Por lo tanto, si abrimos Google Chrome en modo privado dispondremos de la configuración estándar de Chrome sin ninguna extensión instalada. Esto puede resultar útil porque cuantas más extensiones usemos y más modifiquemos la configuración, más inseguro estamos haciendo nuestro navegador. El programa se ejecuta en un sistema de ficheros temporal (tmpfs). Por lo tanto absolutamente todos los ficheros que se almacenen en el sistema de archivos temporal serán borrados al cerrar nuestro sandbox. Este modo permite ejecutar programas sin necesidad de modificar ningún archivo en nuestro disco duro. Para ejecutar el navegador Google Chrome en modo privado y forzando que se utilicen por defecto los dns de Google ejecutaremos el siguiente comando en la terminal:\nfirejail --private --dns=8.8.8.8 --dns=8.8.4.4 google-chrome Este ejemplo que acabamos de ver es una buena solución en el caso que queramos acceder nuestras cuentas bancarias de forma segura a través de Internet.\nHacer que los programas dentro del sandbox tengan su propia red Mediante Macvlan existe la posibilidad que los programas ejecutados en el sandbox tengan una ip interna distinta a la de nuestro ordenador, un firewall propio, su propia tabla ARP, etc.\nPara ello tenemos que ejecutar un comando del siguiente estilo:\nfirejail --net=nombre_interfaz_de_red nombre_del_programa Por lo tanto, si nuestra interfaz de red es eth0 y queremos ejecutar Firefox con una IP interna distinta a la de nuestro ordenador ejecutaremos el siguiente comando:\nfirejail --net=eth0 firefox Si además queremos definir una IP concreta podemos ejecutar el siguiente comando:\nfirejail --net=eth0 --ip=192.168.1.80 firefox Nota: Esta opción únicamente funciona para redes cableadas. Actualmente no está soportado en redes inalámbricas. Limitar el ancho de banda de un programa que se ejecuta dentro del sandbox Si nos apetece también podemos limitar el ancho de banda que consumen los programas que se ejecutan dentro del sandbox. Para ello deberemos seguir las siguientes instrucciones:\nPrimero crearemos una sandbox con nombre navegador y una interfaz de red propia para arrancar Firefox. Para ello ejecutaremos el siguiente comando en la terminal:\nfirejail --name=navegador --net=eth0 firefox A continuación abriremos otra terminal y limitaremos el ancho de banda del sandbox navegador ejecutando el siguiente comando en la terminal:\nfirejail --bandwidth=navegador set eth0 80 20 De este modo estamos aplicando la siguiente limitación:\nLa velocidad máxima de descarga de Firefox será de 80 kilobytes. La velocidad de subida máxima será de 20 kilobytes por segundo. Si en algún momentos queremos eliminar los límites de velocidad impuestos, tan solo tenemos que ejecutar el siguiente comando:\nfirejail --bandwidth=navegador clear eth0 Comprobar que un programa se está ejecutando dentro del sandbox Para comprobar que un programa se está ejecutando dentro del sandbox tan solo tenemos que ejecutar el siguiente comando:\nfirejail --list Después de ejecutar el comando obtendréis un resultado parecido al siguiente:\njoan@debian:~$ firejail --list 5394:joan:firejail firefox 5628:joan:firejail vlc 5735:joan:firejail --list Observando el resultado podemos ver que los programas que estamos ejecutando son firefox y vlc.\nVer los recursos que está consumiendo un programa dentro del Sandbox Si queremos monitorizar el uso de recursos de estos dos programas podemos ejecutar el siguiente comando:\nfirejail --top El resultado obtenido será el siguiente:\nPID User RES(KiB) SHR(KiB) CPU% Prcs Uptime Command 5394 joan 575692 253608 99.0 4 00:04:35 firejail firefox 5628 joan 60380 47372 0.0 3 00:04:22 firejail vlc 6360 joan 8028 6968 0.0 3 00:02:21 firejail top 7162 joan 2148 1984 0.0 1 00:00:04 firejail --top Acceder dentro de un un Sandbox para administrarlo Si tenemos necesidad de acceder dentro de un sandbox para modificar ciertos parámetros, como por ejemplo comprobar una configuración de red, tenemos que seguir las siguientes instrucciones:\nTan solo tenemos que ejecutar el comando firejail \u0026ndash;join= seguido del número de PID del programa que se ejecuta en el sandbox. Si miramos las salidas de los comandos los anteriores apartados vemos que Firefox tiene el PID número 5394. Por lo tanto para acceder dentro del sandbox de Firefox ejecutaremos el siguiente comando en la terminal:\nsudo firejail --join=5394 El resultado obtenido es el siguiente:\nSwitching to pid 5395, the first child process inside the sandbox Child process initialized in 2.61 ms root@debian:/home/joan# Una vez dentro del sandbox podremos realizar las tareas de administración que consideremos oportunas.\nUsar el sandbox de forma predeterminada. Para usar firejail de forma predeterminada en todas las aplicaciones que dispongan de un perfil tenemos que ejecutar el siguiente comando en la terminal:\nsudo firecfg Este comando creará enlaces simbólicos de todas las aplicaciones que dispongan de un perfil de Firejail en la ubicación /usr/local/bin y apuntarán a /usr/bin/firejail. De este modo, cada vez que arranquemos un programa que disponga de un perfil arrancará dentro del sandbox\nPara hacer que los programas vuelvan arrancar fuera del sandbox deberán acceder en la ubicación /usr/local/bin y borrar la totalidad de enlaces simbólicos que se crearon con el comando firecfg.\nPodemos usar Firejail de forma predeterminada en una sola aplicación creando un enlace simbólico de forma manual. Para ello ejecutamos un comando del siguiente tipo:\nsudo ln -s /usr/bin/firejail /usr/local/bin/nombre_programa Por lo tanto si queremos que Firefox arranque de forma predeterminada en el sandbox deberemos ejecutar el siguiente comando en la terminal:\nsudo ln -s /usr/bin/firejail /usr/local/bin/firefox Si algún día queremos deshacer esta configuración, tan solo tenemos que acceder en la ubicación /usr/local/bin/ y borrar el enlace simbólico de Firefox.\nUsar servidores gráficos alternativos a X11 Firejail permite usar servidores gráficos alternativos a X11. Concretamente permite utilizar los servidores gráficos Xpra and Xephyr.\nAl usar estos servidores gráficos alternativos podremos protegernos contra Keyloggers y capturadores de pantalla.\nSi queréis hacer uso de esta funcionalidad, lo primero que tendréis que realizar es instalar estos servidores gráficos ejecutando el siguiente comando en la terminal:\nsudo apt-get install xpra xserver-xephyr Una vez instalados los servidores ejecutaremos los programas usando comando similares a los siguientes:\nfirejail --x11=nombre_servidor comando_arrancar_programa Por lo tanto, si quiero arrancar vlc sin tener conexión de red mediante el servidor gráfico Xephyr ejecutaré el siguiente comando en la terminal:\nfirejail --x11=xephyr --net=none vlc En el caso que quisiéramos usar el servidor Xpra debe riamos haber usado el siguiente comando:\nfirejail --x11=xpra --net=none vlc ¿CÓMO OBTENER MÁS INFORMACIÓN? Si quieren más información sobre el uso de este sandbox les recomiendo que visiten la web de su autor y su página de github.\n","permalink":"https://geeklandlinux.github.io/posts/firejail-sandbox-para-linux/","summary":"\u003cp\u003eEn el pasado explicamos de forma simplificada \u003ca href=\"/posts/que-es-y-para-que-sirve-un-sandbox/\"\u003eque es un sandbox y los posibles\u003c/a\u003e usos que le podemos dar. A raíz de este post, a continuación veremos como usar un sandbox llamado Firejail en Linux.\u003c/p\u003e","title":"Firejail, un sandbox para Linux para ejecutar programas de forma segura"},{"content":"En anteriores artículos vimos varias formas para buscar ayuda en Linux. Una de estas formas era mediante las páginas man. Las páginas man acostumbran a estar en Inglés y esto puede ser un problema para algunos usuarios. Por este motivo en el siguiente artículo veremos como disponer de las páginas man en Español.\nInicialmente usaremos el comando man para ver que los resultados que nos muestra están en Inglés. Para ello ejecutaremos el siguiente comando en la terminal:\nman grep Si observan la salida del comando verán que las instrucciones de uso del comando grep están en Inglés.\nPONER LAS PÁGINAS MAN EN ESPAÑOL Si queremos obtener las instrucciones en Español hay que instalar los paquetes manpages-es y manpages-es-extra. Para ello tenemos que ejecutar el siguiente comando en la terminal:\nsudo apt-get install manpages-es manpages-es-extra Una vez instalados los paquetes tenemos que actualizar la configuración regional del sistema para poder ver las páginas man en Español. Para ello ejecutamos el siguiente comando en la terminal:\nsudo dpkg-reconfigure locales En el momento de ejecutar el comando les aparecerá la siguiente ventana informativa. Cuando aparezca únicamente hay que presionar encima de la opción Aceptar.\nA continuación tendremos que seleccionar la configuración regional que deseamos generar. En mi caso soy Español y vivo en España, por lo tanto aseguro que esté seleccionada la opción es_es.UTF-8 UTF-8.\nUna vez generada la configuración regional la tenemos que aplicar. Para ello en la siguiente ventana seleccionaremos la configuración regional que queremos aplicar a nuestro sistema. En mi caso selecciono la configuración regional que acabo de crear y que es la es_ES_UTF-8.\nDespués de seguir estos simples pasos ya dispondremos de las páginas man Español. Por lo tanto si volvemos a ejecutar el siguiente comando:\nman grep Veremos que ya tenemos el contenido de las páginas man en Español.\nCOMO AYUDAR EN LA TRADUCCIÓN DE LAS PÁGINAS MAN Desafortunadamente observaran que existen muchas páginas man en las que no existe traducción al español. En otras verán que existen traducciones, pero están obsoletas o contienen errores. A todos estos puntos hay que añadir que la última actualización importante de las páginas man en Español fue en 2005. Por lo tanto si dominan el inglés es mejor que no utilicen las páginas en Español.\nSi quieren ayudar a solucionar este problema pueden intentar contactar con el proyecto Pameli o el proyecto Lucas. Estos 2 proyectos se dedicaban a realizar las traducciones de las páginas man en Español.\nEn el caso que quieran contribuir en las traducciones de herramientas especificas de un sistema operativo, como por apt o dpkg de Debian, deberán ponerse en contacto con los desarrolladores del programa en concreto.\n","permalink":"https://geeklandlinux.github.io/posts/poner-paginas-man-en-espanol-en-linux/","summary":"\u003cp\u003eEn anteriores artículos vimos varias formas para \u003ca href=\"/posts/obtener-ayuda-en-gnu-linux/\"\u003ebuscar ayuda en Linux\u003c/a\u003e. Una de estas formas era mediante las páginas man. Las páginas man acostumbran a estar en Inglés y esto puede ser un problema para algunos usuarios. Por este motivo en el siguiente artículo veremos como disponer de las páginas man en Español.\u003c/p\u003e","title":"Cómo poner las páginas man en Español en Linux"},{"content":"Todo usuario que empieza en Linux, e incluso usuarios expertos, necesitaran obtener ayuda o información sobre determinados aspectos del sistema operativo. Las fuentes disponibles para intentar obtener ayuda son las que se muestran a continuación.\nOBTENER AYUDA A TRAVÉS DEL SISTEMA OPERATIVO Nuestro propio sistema operativo nos puede brindar ayuda para solucionar gran de los problemas y dudas que podamos tener. Las distintas opciones que nos ofrece el sistema operativo son las siguientes:\nLas páginas del manual (manpages) Si tenemos dudas sobre el funcionamiento de algún comando de la terminal podemos utilizar las páginas del manual.\nPara ello tan solo tenemos que teclear el comando man seguido del comando que queremos buscar información. De este modo, si queremos buscar las instrucciones de uso del comando apt tan solo tenemos que ejecutar el siguiente comando en la terminal:\nman apt Después de ejecutar el comando obtendrán una explicación extensa y completa sobre los siguientes aspectos:\nUtilidad de la aplicación apt. Explicación de como se construyen los comandos con apt. Descripción de cada una de las opciones que se pueden usar con el comando apt. Ejemplos de uso del comando apt. Etc. De forma predeterminada las páginas man de están en Inglés. No obstante es muy fácil poner las páginas man en Español o en Francés.\nNota: Para usar el comando man hay que tener instalado el paquete manpages en su sistema operativo. Ayuda a través del comando info La información/ayuda proporcionada por el comando info es muy similar a la que proporcionan las páginas del manual. En algunos casos incluso es la misma.\nNo obstante, la información proporcionada por info acostumbra a ser más extensa que la de las páginas man. Por lo tanto, en el caso que la información proporcionada por man no sea suficiente pueden usar el comando info.\nA modo de ejemplo, si queremos buscar información sobre el comando sed deberemos ejecutar el siguiente comando en la terminal:\ninfo sed Si ejecutan el comando verán que info es capaz de proporcionar información mediante una interfaz navegable. Además podrán ver que las explicaciones son más extensas que las de las paginas man.\nNota: Para usar el comando info hay que tener instalado el paquete info en su sistema operativo. Obtener ayuda mediante el comando \u0026ndash;help Otro de los comandos que podemos utilizar para obtener ayuda es el --help. Este comando nos ofrecerá una ayuda breve, concisa y en nuestro idioma de como ejecutar un comando en concreto.\nA modo de ejemplo, para ver el uso del comando sed ejecutaríamos el siguiente comando en la terminal:\nsed --help De este modo podremos comprender de forma simple y concisa como utilizar el comando sed.\nUsar la ayuda que traen incorporada los programas Muchos programas disponen de ayuda incorporada. Tan solo tenemos que consultar el apartado Ayuda de su menú y encontraremos información sobre el uso básico del programa en cuestión. Un ejemplo de lo que estoy comentando es Libreoffice.\nOBTENER AYUDA MEDIANTE LOS BLOGS En el caso que la ayuda proporcionada por las páginas de ayuda no sea suficiente pueden buscar en blogs que hablen sobre Linux.\nExisten muchísimos blogs que se dedican a realizar tutoriales sobre como realizar determinadas tareas. Por lo tanto, en el caso que tengan que realizar un proyecto o solucionar un problema, les recomiendo que usen su buscador web preferido para encontrar algún blog que contenga la información que necesitan.\nEn el caso que después de seguir las instrucciones recomendadas en el blog tengan problemas tienen la posibilidad de detallar lo que sucede en los comentarios del blog.\nEn este apartado no voy a recomendar ningún blog. Lo mejor en este caso es que se guíen por su experiencia y por los resultados de búsqueda de vuestro buscador web.\nOBTENER AYUDA EN YOUTUBE En YouTube también encontrarán canales que hablan de como solucionar problemas, como usar un determinado programa y realizar todo tipo de proyectos. Por lo tanto les recomiendo que entren en el buscador de YouTube y realicen una búsqueda para encontrar información sobre el tema que están buscando.\nAlgunos de los canales que están en activo y considero interesantes que visiten son los siguientes:\nCanales de habla hispana:\nLa Guía Linux Kalerolinex La cueva del último dragón Reality Cracking Canales de habla inglesa:\nThe Urban Penguin Gotbletu Hak5 Matthew Moore Nota: Esta lista está basada en mis gustos personales. Obviamente existen otros canales que están bien y hablan sobre Linux y el software libre. OBTENCIÓN DE AYUDA MEDIANTE LOS FOROS DE INTERNET Cada día existen menos foros que hablen sobre Linux y Software Libre. No obstante aun siguen existiendo buenos foros en los que podremos obtener ayuda.\nAlgunos de los foros que recomiendo visitar son los siguientes:\nForos de habla Hispana:\nUbuntu es Exdebian Manjaro Linux Espacio Linux Stack Overflow Foros de habla Inglesa:\nDebian Users Ubuntuforums Linux Questions Stack Exchange Stack Overflow Estos son los foros que acostumbro a visitar. Algunos de ellos únicamente están enfocados para dar soporte a la gente que usa distribuciones con paquetería .deb. Si alguien quiere recomendar un foro importante que no esté en el listado, lo puede realizar a través de los comentarios de blog.\nOBTENER AYUDA EN LAS REDES SOCIALES Existen redes sociales en la que es muy efectivo obtener ayuda. Algunas de ellas son las siguientes:\nReddit Bajo mi punto de vista, Reddit es la mejor red social para obtener ayuda en Linux. El único inconvenientes es que la red social es en Inglés.\nLos 3 subreddits que en mi caso acostumbro a usar para resolver mis dudas son los siguientes:\nlinuxquestions linux4noobs xfce En estos subreddits pueden hacer cualquier tipo de pregunta y casi con total seguridad será respondida de forma clara y concisa. Es recomendable hacer una búsqueda previa antes de preguntar en Reddit, en caso contrario, es probable que no se os responsa con educación.\nGoogle Plus Otra fuente importante para obtener ayuda en Linux son las comunidades de Google Plus. Algunas comunidades destacadas en las que podemos presentar nuestras dudas son las siguientes:\nLinux en Español Usemos Linux Software Libre Debian en Español Obviamente existen más comunidades, pero las que cito son las más grandes y activas que existen en el mundo de habla hispana.\nOtras redes sociales para obtener ayuda en Linux Existen otras redes a las que podemos acudir. Sin ir más lejos podemos citar Telegram o Facebook. No obstante no profundizo sobre ellas porque no son medios que acostumbre a usar para buscar ayuda.\nOBTENER AYUDA MEDIANTE LIBROS Y LAS WIKI Finalmente pueden encontrar libros interesantes para poderse iniciar en el uso de un sistema operativo Linux. Un ejemplo interesante es el manual del administrador de Debian\nTampoco debemos olvidar las Wiki. Existen muchas wiki, pero las que en mi caso considero detacables son las siguientes:\nWiki de Archlinux (Disponible tanto en Inglés como en Español) Wiki de Gentoo La Wiki de Ubuntu Etc. Para finalizar solo quiero animar a los lectores para que dejen las fuentes de ayuda que usan en los comentarios del blog.\n","permalink":"https://geeklandlinux.github.io/posts/obtener-ayuda-en-gnu-linux/","summary":"\u003cp\u003eTodo usuario que empieza en Linux, e incluso usuarios expertos, necesitaran obtener ayuda o información sobre determinados aspectos del sistema operativo. Las fuentes disponibles para intentar obtener ayuda son las que se muestran a continuación.\u003c/p\u003e","title":"Fuentes para obtener ayuda y solucionar problemas en Linux"},{"content":"Existen ocasiones que nos puede interesar arrancar en modo consola nuestro ordenador. Ejemplos de algunas situaciones pueden ser los siguientes:\nEn el caso que puntualmente decidiéramos usar nuestro ordenador de sobremesa como un servidor. En el caso de disponer de una Raspberry que es usada como servidor y entorno de escritorio. Para intentar reparar algún problema relacionado con el entorno gráfico de nuestro equipo. Etc. ARRANCAR CUALQUIER DISTRIBUCIÓN LINUX EN MODO CONSOLA Para que nuestro ordenador arranque en modo consola y evitar que se cargue el entorno gráfico tenemos que seguir las siguientes instrucciones:\nRealizar una copia de seguridad de /etc/default/grub Para conseguir arrancar en modo consola modificaremos el contenido del fichero /etc/default/grub. Por lo tanto es recomendable que realicemos una copia de seguridad del fichero ejecutando el siguiente comando en la terminal:\nsudo cp -n /etc/default/grub /etc/default/grub.bak A continuación ya podremos editar el fichero /etc/default/grub ejecutando el siguiente comando en la terminal:\nnano /etc/default/grub Deshabilitar la pantalla de inicio Una vez se habrá el archivo /etc/default/grub deshabilitaremos la pantalla de inicio (splash screen) en el arranque del sistema. Para ello deberemos buscar la línea que empieza por el siguiente contenido:\nGRUB_CMDLINE_LINUX_DEFAULT=” Una vez encontrada la comentamos añadiendo el símbolo # al inicio de la línea:\n#GRUB_CMDLINE_LINUX_DEFAULT=” De este modo, durante el arranque y el apagado iremos viendo como se habilita o deshabilita servicio por servicio.\nHacer que nuestra distribución arranque en modo consola El siguiente paso consiste en que nuestra distribución arranque en modo consola. Para ello dentro del archivo /etc/default/grub buscamos la siguiente línea:\nGRUB_CMDLINE_LINUX=\u0026#34;\u0026#34; Una vez encontrada la modificamos de forma que quede de la siguiente forma:\nGRUB_CMDLINE_LINUX=\u0026#34;text\u0026#34; Hacer que el Grub se muestre sin ningún tipo de decoración Para que el grub arranque sin ninguna imagen de fondo y con la apariencia que tendría un servidor, dentro del archivo /etc/default/grub buscamos la siguiente línea:\n#GRUB_TERMINAL=console Una vez encontrada la descomentamos para que quede de la siguiente forma:\nGRUB_TERMINAL=console Cuando hayamos finalizado las mordicaciones el fichero /etc/default/grub quedará de la siguiente forma:\nAhora tan solo tenemos que guardar los cambios y cerrar el fichero.\nActivar el target multi-user en el caso que usemos Systemd Este apartado solo se debe seguir en el caso que nuestra distribución utilice systemd.\nEn la actualidad la gran mayoría de distros usan systemd. Si quieren confirmar que su distribución tiene el sistema de inicio systemd deben abrir una terminal y ejecutar el siguiente comando:\nsystemd --version Si el comando les muestra una salida parecida a la siguiente es que disponen de systemd.\njoan@debian:~$ systemd –version systemd 234 +PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN default-hierarchy=hybrid Una vez estamos seguros que nuestra sistema operativo usa systemd activaremos el modo target multi-user. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo systemctl set-default multi-user.target De este modo estamos diciendo al sistema de inicio que queremos arrancar nuestro sistema operativo del siguiente modo:\nSin que disponga de interfaz gráfica. En modo multiusario. Que los usuarios puedan acceder al sistema mediante consolas o a través de la red. Actualizar el grub Para que los cambios se apliquen en el próximo arranque debemos actualizar la configuración del grub. Para ello ejecutamos el siguiente comando en la terminal:\nsudo update-grub En estos momentos, la próxima vez que arranquemos el ordenador lo hará en modo consola y por lo tanto no se activará el servidor de las X.\nUna vez hayamos iniciado en modo consola podremos arrancar el entorno gráfico ejecutando el siguiente comando en la terminal:\nstartx REVERTIR LOS CAMBIOS REALIZADOS Si llega el día en que ya no es necesario arrancar en modo consola podemos revertir los cambios muy fácilmente.\nEl primer paso es deshacer los cambios realizados en el fichero /etc/default/grub. Como en el inicio del artículo realizamos una copia de seguridad del fichero, desharemos los cambios ejecutando el siguiente comando en la terminal:\nsudo mv /etc/default/grub.bak /etc/default/grub \u0026amp;\u0026amp; sudo update-grub Finalmente, en el caso que estemos usando systemd tendremos que activar el target graphical. Para ello ejecutamos el siguiente comando en la terminal:\nsudo systemctl set-default graphical.target Aplicando estos simples comandos, la próxima vez que arranquemos el ordenador lo volverá a realizar de forma habitual.\n","permalink":"https://geeklandlinux.github.io/posts/como-arrancar-en-modo-consola/","summary":"\u003cp\u003eExisten ocasiones que nos puede interesar arrancar en modo consola nuestro ordenador. Ejemplos de algunas situaciones pueden ser los siguientes:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eEn el caso que puntualmente decidiéramos usar nuestro ordenador de sobremesa como un servidor.\u003c/li\u003e\n\u003cli\u003eEn el caso de disponer de una Raspberry que es usada como servidor y entorno de escritorio.\u003c/li\u003e\n\u003cli\u003ePara intentar reparar algún problema relacionado con el entorno gráfico de nuestro equipo.\u003c/li\u003e\n\u003cli\u003eEtc.\u003c/li\u003e\n\u003c/ol\u003e","title":"Como arrancar en modo consola de forma permanente en Linux"},{"content":"A medida que pasan los años se incrementa el tráfico a Internet a través de los dispositivos móviles. Esto hace que que cada día sean más los ciberdelincuentes que crean aplicaciones maliciosas para intentar sacar algún beneficio.\nPor esto motivo en el siguiente post detallaré algunos aspectos en que siempre debemos fijarnos antes de instalar una aplicación en nuestros dispositivos móviles Android.\nBUSCAR INFORMACIÓN SOBRE EL DESARROLLADOR DE LA APLICACIÓN Desafortunadamente Google decidió cerrar el programa de desarrolladores destacados. El emblema de desarrollador destacado de la tienda de Google daba un plus de confianza que la App que estábamos instalando era segura.\nNo obstante, siempre podemos buscar información sobre el desarrollador de la aplicación. En la Google Play Store o en Internet encontraremos información del desarrollador. Todo buen desarrollador tendrá un email de contacto y su web de presentación con la totalidad de aplicaciones que ha desarrollado.\nTambién aseguren que las aplicaciones que estamos instalando corresponden a su desarrollador. A modo de ejemplo, si ven una aplicación de Clash of Clans que no ha sido desarrollada por Supercell no la instalen.\nANALIZAR LAS VALORACIONES DE LOS USUARIOS PARA EVITAR LA INSTALACIÓN DE APLICACIONES MALICIOSAS Antes de instalar una aplicación hay que analizar las valoraciones de los usuarios. Los puntos que hay que tener en cuenta sobre las valoraciones son los siguientes\nSi una aplicación dispone de muchas valoraciones negativas simplemente no la descarguéis. Si la aplicación dispone de pocas valoraciones y todas son positivas también hay que desconfiar. El motivo es que muchas de estas valoraciones pueden haber sido generadas por el ciberdelincuente que creo la aplicación maliciosa. ANALIZAR LOS COMENTARIOS DE LOS USUARIOS Al igual que las valoraciones, los comentarios de los usuarios nos pueden ayudar a detectar aplicaciones maliciosas. Los puntos a valorar en los comentarios son los siguientes:\nCuantos más comentarios tenga una aplicación mejor. En el caso que una aplicación tenga muchos comentarios negativos tenéis que empezar a pensar que se trata de una aplicación maliciosa o de mala calidad. En muchos casos los usuarios denuncian aplicaciones maliciosas a través de los comentarios de las tiendas. Si la aplicación contiene pocos comentarios por parte de los usuarios podemos buscar App reviews en Internet o en Youtube.\nREVISAR LOS PERMISOS QUE NOS PIDE LA APLICACIÓN Antes de instalar o actualizar una aplicación hay que revisar los permisos que le estamos otorgando.\nSi consideramos que la aplicación solicita más permisos de los que realmente necesita para funcionar no tenemos que instalar la aplicación.\nUn claro ejemplo de lo que digo es la siguiente aplicación:\nComo pueden ver, una simple aplicación de linterna nos está pidiendo permisos que no son necesarios para que funcione la aplicación. Algunos de ellos son:\nAcceder a una ubicación geográfica. Tener acceso a nuestros archivos multimedia. Ver nuestras conexión de red. Tener acceso a nuestra cámara de hacer fotos. Etc. Si se encuentran con aplicaciones similares no las instalen porque pueden ser aplicaciones maliciosas y/o que violan nuestra privacidad.\nANALIZAR LA CANTIDAD DE DESCARGAS QUE TIENE UNA APLICACIÓN Otro de los puntos a tener en cuenta para identificar aplicaciones maliciosas es el número de descargas.\nSi la aplicación que queremos instalar no dispone de muchas descargas hay que extremar la precaución. Al haber pocas descargas no habrá suficiente información para que nos podamos realizar una idea de la fiabilidad de la aplicación. Si existen muchas descargas y encontramos valoraciones y comentarios positivos será una garantía que la aplicación parece fiable. APLICAR EL SENTIDO COMÚN En ningún caso hay que instalar aplicaciones que nos parezcan sospechosas y/o prometan cosas que no tienen sentido o simplemente sean imposibles.\nEn el caso que encontremos aplicaciones que nos ofrecen funcionalidades de servicios Premium y sean gratuitas hay que desconfiar.\nINSTALAR APLICACIONES DE MARKETS FIABLES Nunca hay que instalar aplicaciones piratas y/o obtenidas de sitios de dudosa reputación. En mi caso únicamente recomiendo instalar aplicaciones que provengan de las siguientes tiendas:\nGoogle Play Store Amazon Store F-droid Tengo confianza en estas tiendas por los siguientes motivos:\nLas aplicaciones deben pasar un control de calidad antes de ser publicadas en la tienda. La tienda de F-droid dispone de aplicaciones de código abierto. A pesar de que estas tiendas son de calidad no debemos confiarnos. Ninguna de las tiendas que he citado es infalible y absolutamente todas ellas han distribuido aplicaciones maliciosas en algún momento.\nUSAR APLICACIONES QUE NO CONTENGAN PUBLICIDAD En el momento de instalar una aplicación también es interesante analizar si tiene publicidad. La publicidad que aparece en las Apps o en las web son un riesgo de seguridad y en algunos casos incluso pueden llegar a instalarnos Malware.\nPor lo tanto, en mi caso recomiendo instalar aplicaciones que no contengan publicidad. La publicidad no es únicamente intrusiva. También es peligrosa.\nREVISAR EL NOMBRE DE LA APLICACIÓN QUE VAMOS A INSTALAR En el caso de instalar una aplicación conocida asegúrense que el nombre de la aplicación es el que realmente tiene que ser.\nExisten muchos ciberdelicuentes que crean aplicaciones maliciosas con nombres e iconos muy similares a Apps de moda. De este modo consiguen engañar a los usuarios para que se instalen una aplicaciones maliciosas.\nVER LA ÚLTIMA FECHA DE ACTUALIZACIÓN DE LA APLICACIÓN También es interesante analizar la última actualización de la aplicación. Una aplicación que nunca se actualiza es más susceptible de sufrir problemas de seguridad que no una aplicación que su desarrollador está constantemente intentado mejorarla.\nINSTALAR UN SOFTWARE ANTIVIRUS Como último punto, quien lo crea oportuno puede instalar un software Antivirus en su dispositivo. En mi caso no lo considero necesario si se siguen al pie de la letra las recomendaciones que se citan a lo largo de este apartado. En mi caso nunca he tenido ningún virus en mis dispositivos móviles y los software Antivirus no me ofrecen ningún tipo de confianza. Incluso me da la impresión que lo único que hacen es violar la privacidad de sus usuarios y consumir recursos de nuestros teléfono.\nPara finalizar solo decir que en el caso que vean un app sospechosa de ser maliciosa dejen un comentario negativo en la tienda y la denuncien a la Google Play Store o en el market correspondiente.\n","permalink":"https://geeklandlinux.github.io/posts/prevenir-aplicaciones-maliciosas/","summary":"\u003cp\u003eA medida que pasan los años se incrementa el tráfico a Internet a través de los dispositivos móviles. Esto hace que que cada día sean más los ciberdelincuentes que crean aplicaciones maliciosas para intentar sacar algún beneficio.\u003c/p\u003e\n\u003cp\u003ePor esto motivo en el siguiente post detallaré algunos aspectos en que siempre debemos fijarnos antes de instalar una aplicación en nuestros dispositivos móviles Android.\u003c/p\u003e","title":"Consejos para prevenir la instalación de aplicaciones maliciosas"},{"content":"En mi caso siempre he usado Libreoffice y continuaré usándolo. No obstante Libreoffice hace demasiado tiempo que me da problemas y el rendimiento en mi equipo no es el adecuado. Por este motivo he empezado a usar WPS Office. Los pasos a seguir para instalar y disfrutar de esta suite ofimática son los siguientes:\nINSTALAR WPS OFFICE EN LINUX A continuación veremos los pasos a seguir para descargar y empezar a usar WPS Office:\nDescargar WPS Office El primer paso consiste en descargar el programa. Para descargarlo pueden usar los siguientes links:\nDescargar versión de 32 bits para Debian, Ubuntu y distribuciones derivadas\nDescargar versión de 64 bits para Debian, Ubuntu y distribuciones derivadas\nDescargar versión de 32 bits para Fedora, Opensuse y distribuciones derivadas\nDescargar versión de 64 bits para Fedora y Opensuse y distribuciones derivadas\nNota: Los links de descarga corresponden a la versión 11.1.0.8372 de WPS Office. Si lo prefieren pueden descargar el programa directamente de la web de WPS office. Instalar WPS Office Una vez descargado el paquete binario la instalación del programa es muy sencilla. Tan solo tienen dirigirse a la ubicación donde descargaron el paquete e instalarlo de la forma habitual. Tal y como se puede ver en la captura de pantalla, en mi caso instalo el paquete usando gdebi.\nUna vez instalado el paquete ya podemos empezar a configurar la suite ofimática.\nInstalar Fuentes adicionales de WPS Office En el momento de abrir el programa es más que posible que obtengan el siguiente error:\nSome formula symbols might not be display correctly due to missing fonts: Wingdings, Wingdings 2, Wingdings 3 El motivo de este error es que faltan fuentes en nuestro sistema operativo. Para descargar las fuentes que faltan descargamos el siguiente archivo.\nUna vez descargado el archivo tenemos que descomprimir su contenido en la ubicación ~/.fonts. Para ello desde la ubicación donde descargamos el archivo ejecutamos el siguiente comando en la terminal:\nunzip wps_symbol_fonts.zip -d ~/.fonts A continuación recargamos la lista de fuentes ejecutando el siguiente comando en la terminal:\nsudo fc-cache -f -v En estos momentos, el proceso de instalación de las fuentes ha finalizado. La próxima vez que arranquemos WPS Office ya no aparecerá el error que nos aparecía.\nNota: Las fuentes instaladas únicamente estarán disponibles para nuestro usuario. Si queremos que estén disponibles para todos los usuarios deberemos instalar las fuentes que nos descargamos en la ubicación /usr/share/fonts Cambiar el idioma del Programa WPS Office Al arrancar el programa observarán que está en Inglés. Para cambiar el idioma tendrán que instalar las traducciones del programa.\nPara ello, los usuarios que tengan distribuciones que usen paqueteria .deb accedan al siguiente enlace para descargar e instalar el paquete wps-full-fix-es_1.0-2019_all:\nPaquete .deb para traducir Libreoffice al Español en Ubuntu, Debian, Linux Mint, etc.\nEn el caso que sean usuarios de Fedora o cualquier otra distribución que use paquetes .rpm accedan al siguiente enlace para descargar e instalar el paquete wps-i18n-es_ES-10.1.0.5707-1.gitf455096.fc27.x86_64:\nPaquete .rpm para traducir Libreoffice al Español en Fedora y derivadas.\nUna vez descargado e instalado el paquete cambien el idioma clicando encima del icono para cambiar el idioma del programa.\nA continuación aparecerá una ventana en la que deberemos seleccionar nuestro idioma. Por lo tanto en mi caso selecciono el idioma Español y presiono el botón Aceptar.\nDespués de apretar el botón aparecerá un mensaje que nos dirá que para que la configuración tenga efecto se tiene que reiniciar el programa. Presionamos el botón Aceptar y reiniciamos el programa. La próxima vez que arranquen el programa verán que está en Español.\nInstalar el diccionario en Español El corrector de ortografía predeterminado de WPS Office es el Inglés. Si queremos disponer de correctores de ortografía para otros idiomas tenemos que seguir las siguientes instrucciones.\nAccedemos a la siguiente URL para descargarnos los diccionarios que necesitemos. Tal y como se puede ver en la captura de pantalla en mi caso descargo el archivo es_ES.zip que corresponde al diccionario en Español.\nPara instalar el diccionario descomprimiremos el contenido del fichero que hemos descargado en la ubicación ~/.kingsoft/office6/dicts/. Para ello desde la ubicación donde descargamos el diccionario ejecutamos el siguiente comando en la terminal:\nsudo unzip es_ES.zip -d /opt/kingsoft/wps-office/office6/dicts/spellcheck En estemos momentos ya podemos abrir WPS Office. Nos dirigimos a la pestaña Revisar, clicamos el botón de Revisión Ortográfica y cuando aparezca el submenú clicamos encima de Establecer idioma.\nA continuación aparecerá la ventana donde tenemos que seleccionar el idioma del corrector ortográfico. En mi caso selecciono Español y presiono encima del botón Establecer predeterminado.\nDespués de finalizar estos pasos ya dispondremos de corrector ortográfico en Español.\nDe la misma forma que hemos instalado el corrector en Español podemos instalar otros idiomas como por ejemplo el Francés, el Catalán, el Italiano, etc.\nNota: Los correctores ortográficos instalados estarán disponibles para todos los usuarios. PUNTOS DESTACABLES DE WPS OFFICE La interfaz gráfica de este programa es muy similar a la de Microsoft Office. Esto sin duda es un punto a favor por los siguientes motivos:\nLa curva de aprendizaje es muy baja porque la forma de usarlo es la misma que Microsoft Office. En el momento que estás usando esta suite ofimática tienes la sensación de estar usando Microsoft Office. La interfaz gráfica del programa es elegante, intuitiva y agradable visualmente. Además de lo citado hasta el momento también podemos destacar los siguientes puntos:\nEl rendimiento de está suite ofimática es perfecto. En mi caso y en mi hardware el rendimiento es bastante superior al que ofrece Libreoffice. La compatibilidad con ficheros de Microsoft Office es excelente. Sin duda su compatibilidad es muy superior a la que nos ofrece Libreoffice. En esta suite ofimática prácticamente no hecho de menos ninguna de las características y funcionalidades de Microsoft Office. WPS Office es una suite ofimática multiplataforma. Está presente en Windows, GNU Linux, Android e iOS. Nos proporciona un procesador de textos, una hoja de cálculo y un software para realizar nuestras presentaciones. Por lo tanto podemos cumplir gran de nuestras necesidades. PUNTOS DÉBILES DE WPS OFFICE Si embargo también hay cosas que no me gustan de este suite ofimática. Algunas de ellas son las siguientes:\nWPS Office no es capaz de trabajar con ficheros .odf. Esto sin duda es un problema porque la gran mayoría de mis documentos están en formato .odf. Usar formatos de archivo cerrados como .docx no es algo que me entusiasme. Desafortunadamente, la versión de WPS para Linux no dispone de editor de ecuaciones. Esto en algunos casos puede resultar un problema importante. El procedimiento de instalación no están sencillo como por ejemplo Libreoffice. Prácticamente no existen actualizaciones en Linux y entre versión y versión de programa hay que esperar bastante tiempo. El motivo de que pase esto es que la comunidad Linux que hay detrás de WPS es pequeña. Está suite no se puede agregar a los repositorios de nuestra distro. Por lo tanto el procedimiento de actualización de WPS Office no es sencillo y habrá que realizar las actualizaciones de forma manual. Desafortunadamente WPS Office es una suite Ofimática privativa. Por lo tanto no es una opción para la gente que única y exclusivamente quiera usar Software libre. ","permalink":"https://geeklandlinux.github.io/posts/instalar-y-configurar-wps-office/","summary":"\u003cp\u003eEn mi caso siempre he usado Libreoffice y continuaré usándolo. No obstante Libreoffice hace demasiado tiempo que me da problemas y el rendimiento en mi equipo no es el adecuado. Por este motivo he empezado a usar WPS Office. Los pasos a seguir para instalar y disfrutar de esta suite ofimática son los siguientes:\u003c/p\u003e","title":"Instalar y configurar la suite ofimática WPS Office en Linux"},{"content":"Ya hace mucho que tiempo que en Debian no se visualizan correctamente los programas en QT5. Un claro ejemplode ello es por ejemplo Virtualbox o Kdenlive.\nComo pueden ver en la captura de pantalla, esta aplicación tienes los menús blancos y las selecciones son en color azul. Este estilo no se integra para nada con mi entorno de escritorio porque en mi caso estoy usando el tema Numix.\nINSTALACIÓN DE QT5CT PARA QUE LAS APLICACIONES QT5 SE INTEGREN CON EL TEMA GTK En los repositorios de Debian no existe ni rasto del paquete qt5ct. Para instalarlo de forma adecuada seguiremos los siguientes pasos.\nInstalación de qt5-style-plugins Primero instalaremos el paquete qt5-style-plugins ejecutando el siguiente comando en la terminal:\nsudo apt-get install qt5-style-plugins Instalar humanity-icon-theme Seguidamente tendremos que instalar el tema de iconos humanity-icon-theme. Este tema de iconos no está disponible en los repositorios de Debian. Por lo tanto pueden usar el siguiente enlace para descargar el tema de iconos humanity-icon-theme.\nFuente de descarga Una vez descargado lo instalan de forma habitual. En mi caso, tal y como se puede ver en la captura de pantalla, lo instalo usando gdebi.\nInstalación de qt5ct Finalmente descargaremos e instalaremos el paquete qt5ct. Como el paquete no está disponible en los repositorios de Debian lo descargaremos usando los siguientes enlaces:\nqt5ct para sistemas de 64 bits (amd64) qt5ct para sistemas de 32 bits (i386)\nFuente de descarga En mi caso uso un ordenador cuyo procesador tiene una arquitectura de 64 bits. Por lo tanto, una vez descargado el paquete de 64 bits lo instalo mediante gdebi.\nDEFINIR LA VARIABLE DE ENTORNO QT_QTA_PLATFORMTHEME Para poder ejecutar la herramienta de configuración qt5ct deberemos definir la variable de entorno QT_QTA_PLATFROMTHEME. Para ello ejecutamos el siguiente comando en la terminal:\nsudo nano /etc/environment Una vez se abra el editor de textos definimos la variable de entorno pegando el siguiente código:\nQT_QPA_PLATFORMTHEME=qt5ct Una vez realizados las modificaciones guardamos los cambios y cerramos el fichero.\nDespués de realizar estos cambios tan solo tenemos que reiniciar el ordenador para finalizar el proceso.\nCONFIGURAR LA HERRAMIENTA DE CONFIGURACIÓN QT5CT Finalmente solo nos falta cambiar el aspecto de las aplicaciones qt5 mediante el uso de la herramienta de configuración qt5ct.\nPara arrancar qt5ct ejecutamos el siguiente comando en la terminal:\nqt5ct Justo después de ejecutarlo se abrirá una ventana para que podamos configurar el aspecto de las aplicaciones qt5. Las modificaciones mínimas que debemos realizar son las que se muestran a continuación.\nEn la pestaña Apariencia únicamente hay que modificar el campo Estilo. El estilo que hay que seleccionar es el gtk2.\nSeguidamente clicamos en la pestaña Fuentes. En la pestaña Fuentes tenemos seleccionar el tipo y el tamaño de fuente que tenemos configurado en nuestro sistema operativo. Por lo tanto, en mi caso selecciono la letra Droid Sans con tamaño 10.\nFinalmente en la pestaña Tema de iconos seleccionaremos el tema de iconos que queremos que se muestre en las aplicaciones QT5. Como en mi caso utilizo el tema de iconos Numix Circle, seleccionaré los iconos Numix Circle y presionaré el botón Apply.\nUna vez realizadas estas modificaciones nuestras aplicaciones en qt5 se deberían integrar a la perfección con nuestro tema GTK.\nNota: En este post solamente se realiza una configuración mínima. La herramienta qt5ct permite configurar más parámetros de los programas que usan librerías qt5. APLICACIONES QT5 INTEGRADAS CON MI TEMA GTK En la siguiente imagen pueden ver la comparación entre el antes y el después de todo lo realizado en este artículo.\nComo se puede ver en la imagen, ahora mi virtualbox luce de forma correcta y su tema es el Numix. Por lo tanto ahora todas las aplicaciones que usan qt5 se integran perfectamente con el resto de aplicaciones del sistema operativo. Otro ejemplo de ello es el programa Kdenlive.\n","permalink":"https://geeklandlinux.github.io/posts/aplicaciones-qt5-se-integren-tema-gtk/","summary":"\u003cp\u003eYa hace mucho que tiempo que en Debian no se visualizan correctamente los programas en QT5. Un claro ejemplode ello es por ejemplo Virtualbox o Kdenlive.\u003c/p\u003e","title":"Hacer que las aplicaciones QT5 se integren con el tema GTK en Debian"},{"content":"A continuación veremos una explicación simple para que todo el mundo pueda comprender lo que es un sandbox en el mundo de la informática.\n¿QUÉ ES UN SANDBOX? Un sandbox es un mecanismo de seguridad para disponer de un entorno aislado del resto del sistema operativo.\nTodos los programas que se ejecutan dentro de un sandbox lo hacen de forma controlada mediante los siguientes aspectos:\nSe les asigna un espacio en disco. Estos programas no podrán acceder a ningún espacio del disco que no les haya sido asignado previamente. Podemos hacer que nuestros programas se ejecuten en un sistema de archivos temporal (tmpfs) para aislarlos del resto del sistema operativo. También se les asigna un espacio en memoria. Los programas no podrán acceder a otras partes de la memoria que no les hayan sido asignadas. Les podemos dar o restringir la capacidad para acceder y consultar dispositivos de almacenamiento externos. Les restringimos la capacidad para que puedan inspeccionar la máquina anfitrión. Podemos restringir el acceso de los programas a la red, al servidor de las X, al servidor de sonido, etc. Podemos limitar el ancho de banda que usa un determinado programa. Etc. Consecuentemente podemos afirmar que los programas se ejecutan en un entorno controlado y separado del sistema operativo. Por lo tanto el hecho de ejecutar un programa en un sandbox es un ejemplo específico de virtualización.\n¿QUÉ UTILIDAD TIENE UN SANDBOX? Nos podemos hacer la idea que su principal utilidad es ejecutar programas de forma segura y sin peligro de comprometer el resto del sistema operativo.\nAlgunos ejemplos de los casos en que podemos utilizar un sandbox son los siguientes:\nInstalar y usar de forma segura programas que no son fiables y/o pueden contener virus y/o código malicioso. Usar programas que tienen el potencial de comprometer la seguridad de nuestro sistema operativo como por ejemplo un navegador web, Skype, un lector de pdf, un keygen descargado de Internet, etc. Crear un entorno de pruebas para ejecutar programas o un código que acabamos de crear. Para descargar Torrents. Etc. Por lo tanto podemos ver que un sandbox no es de uso exclusivo para programadores o expertos informáticos. También es útil para todo tipo de usuarios.\nAlgunos de los navegadores web que usamos disponen de su propio sandbox. No obstante no es mala idea usar dos capas de protección porque los navegadores web son altamente susceptibles de sufrir problemas de seguridad.\n¿CÓMO PODEMOS USAR UN SANDBOX? En función del sistema operativo que usemos existen diferentes software que nos permitirán ejecutar programas dentro de un sandbox. Algunos ejemplos son los siguientes:\nGNU-Linux: Firejail, Glimpse. Windows: Sandboxie, Shadow Defender. ","permalink":"https://geeklandlinux.github.io/posts/que-es-y-para-que-sirve-un-sandbox/","summary":"\u003cp\u003eA continuación veremos una explicación simple para que todo el mundo pueda comprender lo que es un sandbox en el mundo de la informática.\u003c/p\u003e","title":"¿Qué es y para que sirve un sandbox en la informática?"},{"content":"Hace ya meses que estoy usando un magnifico navegador que se llama Brave. En Android e iOS sin duda es el mejor navegador que podemos usar, mientras que en Linux, Windows o MacOS aun le falta para estar a la altura de chrome.\n¿QUIÉN ESTÁ DETRÁS DE BRAVE? Detrás del navegador Brave está Brendan Eich y un amplio equipo de desarrolladores que se encargan de evolucionar este navegador.\nBrendan Eich es un personaje conocido que destaca entre otras cosas por:\nSer uno de los creadores del lenguaje de programación JavaScript. Ser cofundador del proyecto Mozilla. Por lo tanto las personas que hay detrás de este navegador son conocidas, tienen un buen propósito y en mi caso me inspiran confianza.\n¿CUÁNDO NACIÓ BRAVE? Brave es un navegador Open Source basado en Chromium. Nació el 20 de Enero de 2016, por lo tanto es un navegador joven que le faltan detalles por pulir.\nAunque le queden detalles por pulir es un navegador que ofrece características únicas y esto hace que sea un navegador que merece la pena usar. Algunas de las características son las que veremos a continuación.\n¿CUÁLES SON LAS PRINCIPALES CARACTERÍSTICAS DE BRAVE? Este navegador fue programado pensando en mejorar la experiencia del usuario al navegar.\nAlgunas de las características que ayudan a mejorar la experiencia del usuario son las siguientes:\nBuen rendimiento y usabilidad Brave es un navegador Open Source basado en Chromium. Por lo tanto aporta muchas de las bondades de Google Chrome. Podemos afirmar que Brave es un navegador:\nRápido y ligero. En Android y en iOS la velocidad de navegación y rendimiento son excelentes. En sistemas operativos de escritorio, como por ejemplo Linux o Windows, aún le quedan detalles por pulir. Ofrece buena compatibilidad con la totalidad de servicios web. En Windows, Android e iOS podremos realizar todo lo que haríamos con nuestro navegador habitual. En Linux existen restricciones como por ejemplo que no tiene soporte para Widevine. La interfaz gráfica y diseño del navegador son buenos. La interfaz gráfica en Android es exactamente la misma que en Google Chrome. En sistemas operativos de escritorio la interfaz es propia y tiene cierta semejanza a la de Safari. En definitiva es un navegador que presenta una interfaz minimalista e intuitiva. Respeta la privacidad de los usuarios Brave es un navegador diseñado para respetar la privacidad de sus usuarios. Algunas de sus características relacionadas con la privacidad son:\nEl navegador dispone de un bloqueador anuncios propio que viene activado de serie. Este bloqueador es mejor que adblock Plus porque no acepta pagos de terceros para dejar de filtrar publicidad. Cabe recordar que el hecho de bloquear los anuncios proporciona muchas ventajas como por ejemplo una navegación más rápida, menor consumo de datos y mayor duración de la batería. Bloquea de forma efectiva los mecanismos de rastreo que aplican prácticamente la totalidad de servicios web. Entre otras cosas, Brave bloquea las cookies de terceros o la totalidad de cookies, las imágenes que contienen pixeles de seguimiento, etc. Evita que ciertas webs o buscadores puedan obtener nuestra ubicación física. Protege las huellas digitales de nuestro navegador. De esta forma podemos evitar que terceras personas puedan extraer información de nuestro navegador o inspeccionar su funcionamiento. Nota: El bloqueo de publicidad y la protección de la huella digital se pueden configurar de forma general o dominio por dominio. Esto sin duda es una característica que proporciona flexibilidad. Nota: Brave dispone de 2 modos para bloquear la publicidad. El primero de ellos es bloquear toda la publicidad. El segundo de ellos reemplazar la publicidad existe por publicidad del navegador Brave. Mejora la seguridad de los usuarios Brave es un navegador que proporciona seguridad a sus usuarios por las siguientes razones:\nAplica buenas práctica de seguridad como por ejemplo bloquear la publicidad. Hay que tener en cuenta que muchos de los anuncios existentes en la actualidad son maliciosos y nos pueden incluso instalar malware. El navegador trae HTTPS Everywhere instalado de serie. De este modo aseguramos que las comunicaciones entre el navegador y los servidores Web que soporten el protocolo https se realice de forma cifrada. Ofrece protección contra el phishing y el malware que por ejemplo nos pueden instalar algunos anuncios o webs. Permite bloquear la ejecución Javascript. De esta forma podemos navegar de forma más segura y más privada en webs que no son de nuestra confianza. Cabe recordar que existen scripts de JavaScript que su principal función es rastrearnos o instalarnos Malware. Las pocas extensiones disponibles vienen integradas en el propio navegador. Esto sin duda incrementa la seguridad y la velocidad de nuestra navegación. Nota: El bloqueo de scripts y la protección contra el phising o malware se puede configurar de forma general o dominio por dominio. Esto sin duda hace que Brave sea un navegador flexible en este aspecto. Ayuda a mejorar el consumo de datos y de la batería Obviamente bloquear la publicidad y los scripts supone una mejora importante de la duración de la batería y un menor consumo de datos.\nEl simple hecho de bloquear los anuncios hará que consumamos muchos menos datos y ancho de banda. Consecuentemente se incrementará la autonomía de la batería de nuestro ordenador o dispositivo móvil.\nRecompensa a las webs que crean contenido útil Brave da la posibilidad de bloquear los anuncios, pero al mismo tiempo da la posibilidad de recompensar a los creadores de las webs que más visitamos mediante Brave payments.\nEl funcionamiento de Brave payments es simple y se puede describir de la siguiente forma:\nExiste una cartera virtual en la que podemos ingresar dinero. El dinero ingresado en la cartera será repartido por Brave en función del tiempo que estemos visitando cada página. En este punto es importante remarcar que los usuarios pueden elegir las webs a las que quieren aportar el dinero. De esta forma Brave consigue que nuestra navegación sea mejor y por otra parte ayuda a las web que crean contenido.\nEs multiplataforma Brave está disponible para prácticamente la totalidad de sistemas operativos.\nDispone de versiones para los sistemas operativos móviles Android e iOS. También dispone de versiones de 64 bits para Windows, Linux y MacOS. Por lo tanto es un navegador que podemos utilizar en prácticamente todos nuestros dispositivos.\n¿QUE INCONVENIENTES TIENE BRAVE? A continuación detallaré algunas las características que hecho de menos en este navegador:\nBrave dispone de un número limitado de extensiones. Por lo tanto es posible que no podamos usar algunas de nuestras extensiones preferidas. Existe la posibilidad de instalar extensiones de Chrome en Brave pero el método a seguir no es fácil para que lo pueda aplicar todo el mundo. A pesar de esto Brave está trabajando para ir incorporando nuevas extensiones en su navegador. El rendimiento y velocidad de este navegador es excelente y equiparable a Google Chrome en Android y en iOS. No obstante, en Windows y en Linux este navegador es más lento que Google Chrome. Además tiene pequeños glitch que imagino que se irán solucionando con el tiempo. Brave no dispone de corrector ortográfico en Español. Únicamente dispone corrector ortográfico en Inglés y además no se puede desactivar. Para mi esto es una molestia importante que seguro que solucionarán en un futuro. La instalación y uso de este navegador presenta inconvenientes en Linux. Su proceso de instalación no es simple y en numerosas ocasiones aparecen problemas que habrá que solucionar. En Linux no existe soporte para Widevine. Por lo tanto si usamos Linux no podremos reproducir contenido con DRM en nuestro navegador. Esto significa que no podremos usar los servicios Web de Spotify y Netflix. Una de las características que más me gustan de Google Chrome es el poder crear aplicaciones de escritorio. Desafortunadamente Brave no dispone de esta funcionalidad. La configuración estándar del navegador es la mejor para la mayoría de usuarios. No obstante, para sacar el 100% de rendimiento a este navegador es necesario tener algunos conceptos básicos sobre privacidad y seguridad. Cabe decir que el proceso de configuración del navegador es simple e intuitiva. Imagino que muchas de las características que hecho de menos se incorporarán pronto al navegador.\nCONCLUSIONES A pesar de las inconvenientes que se citan, Brave es un navegador excelente y con el paso del tiempo tiene la capacidad de convertirse en el mejor navegador.\nA día de hoy es de largo el mejor navegador para Android y para iOS porque es muy rápido, seguro y además es respetuoso con la privacidad.\nEn entornos de escritorio aun le quedan detalles por pulir y características por añadir. No obstante es solo cuestión de tiempo para que también pueda ser el mejor navegador.\nEn un futuro breve detallaré el proceso de instalación de este navegador en los distintos sistemas operativos. Cabe destacar que en Linux la instalación no es todo lo fácil que debería ser.\n","permalink":"https://geeklandlinux.github.io/posts/brave-navegador-rapido-y-seguro/","summary":"\u003cp\u003eHace ya meses que estoy usando un magnifico navegador que se llama Brave. En Android e iOS sin duda es el mejor navegador que podemos usar, mientras que en Linux, Windows o MacOS aun le falta para estar a la altura de chrome.\u003c/p\u003e","title":"Brave, un navegador rápido y seguro que respeta la privacidad"},{"content":"NetworkManager permite cambiar la Mac address de nuestras tarjetas de red de forma extremadamente simple. A medida que van saliendo nuevas versiones de NetworkManager se van añadiendo nuevas opciones para ocultar nuestra Mac Address, o lo que es lo mismo, para realizar Mac Spoofing.\nA día de hoy podemos afirmar que NetworkManager tiene prácticamente las mismas funcionalidades que otros software como por ejemplo Macchanger o Macchiato.\n¿POR QUÉ ES ACONSEJABLE CAMBIAR LA MAC ADDRESS O REALIZAR MAC SPOOFING? Hace tiempo escribí un artículo en el que explicaba que es la Mac Address, los usos que tiene y la importancia de ocultarla.\nLes recomiendo encarecidamente que lean este artículo porque entonces todo lo que realicen a continuación tendrá un sentido.\nAVERIGUAR NUESTRA MAC ADDRESS Para estar seguros que estamos ocultando nuestra Mac Address, lo primero que tenemos que hacer es averiguar nuestra Mac Address real.\nPara ello abrimos una terminal y ejecutamos el siguiente comando:\nsudo ifconfig El resultado obtenido será similar al siguiente. Tal y como pueden ver en la captura de pantalla las direcciones MAC de nuestras interfaces de red aparecen justo después de la palabra ether:\nPor lo tanto en mi caso la dirección MAC de mi tarjeta de red Ethernet es la:\n2a:1e:5d:34:de:d7 Como pueden ver la Mac Address se trata de un número formado por 6 pares de dígitos. La información que dan los dígitos de la Mac Address es la siguiente:\nLos 3 primeros pares de números indican quien es el fabricante de nuestra interfaz de red. Los 3 últimos pares de números identifican el dispositivo fabricado mediante un número de serie. Cambiar la Mac Address será útil para que no podamos ser identificados cuando nos conectamos en redes locales o en redes wifi.\nCAMBIAR LA MAC ADDRESS MEDIANTE LA INTERFAZ GRÁFICA DE NETWORKMANAGER A continuación verán de forma detallada el proceso para cambiar la Mac Address de nuestra tarjeta de red. Siguiendo los consejos de este apartado conseguirán lo siguiente:\nQue nuestra dirección MAC sea aleatoria. De esta forma, cada vez que arranquemos el ordenador o nos conectemos a una red nuestra Mac Address cambiará. Usar una Mac Address clonada o no real de forma permanente. De este modo podremos usar siempre la misma Mac Address y será diferente a la real. Para empezar nos dirigimos al icono del panel de NetworkManager, presionamos el botón derecho del ratón y cuando aparezca el menú contextual clicamos en Editar conexiones:\nSeguidamente seleccionamos la interfaz de red en que queremos cambiar la Mac Address. Una vez seleccionada presionamos el botón Editar:\nA continuación se abrirá la ventana de configuración de nuestra interfaz de red. Una vez abierta clicamos en la segunda pestaña que en mi caso tiene el nombre Cableada. La configuración que encontraremos por defecto será parecida a la siguiente:\nEn mi caso modifico los parámetros de configuración de la siguiente forma:\nClicamos en el desplegable de Dispositivo y seleccionamos la tarjeta de red en que queremos cambiar la Mac address. En mi caso selecciono la interfaz de red enp0s3.\nEn el desplegable Dirección MAC clonada podemos escribir una Mac Address o seleccionar los valores Preserve, Permanent, Random y Stable. La función de cada una de estas opciones es la siguiente:\nPermanent: Siempre usaremos la Mac Address real de nuestra tarjeta de red. En otras palabras, siempre que reiniciemos nuestra interfaz de red, NetworkManager nos asignará nuestra Mac Address real. Por lo tanto, con esta opción NetworkManager prevalecerá sobre otros software para cambiar la Mac Address como por ejemplo Macchanger Preserve: Siempre se usará la Mac Address que se asigna al conectarse nuestra tarjeta de red. Con esta opción podremos usar Macchanger porque esta opción nos permitirá parar nuestra interfaz de red, cambiar la Mac Address y volver a levantar la interfaz de red sin que NetworkManager sobrescriba la Mac Address asignada por Macchanger. Random: Cada vez que nos conectamos o reconectamos a una red se genera una nueva Mac Address aleatoria. El hecho que nuestro Mac Address sea aleatoria puede generar que algunos servicios funcionen de forma inesperada. Stable: Mediante un hash se genera una Mac Address diferente a la real. Esta dirección Mac no será aleatoria, pero nos permitirá camuflar nuestra Mac Address real. Esta opción puede resultar útil varios casos. Algunos de ellos pueden ser cuando nuestra dirección IP se nos proporcione a través de un servidor DHCP o en el caso que un servicio web local utilice nuestra Mac Address para saber si estamos logueados o no. Campo en Blanco: Si no seleccionamos nada y dejamos el campo en blanco, NetworkManager considerará la opción por defecto. La opción por defecto para versiones de NetworManager inferiores a la 1.6 es Permanent, mientras que para versiones superiores a la 1.6 la opción por defecto es Preserve. Escribir una Mac Address: En el campo Dirección Mac clonada también podemos escribir una Mac Address cualquiera. De esta forma pasaremos a tener la Mac Address que nos hayamos inventado. En mi caso selecciono la opción Random y clico encima del botón Guardar.\nUna vez aplicado todos los cambios reiniciamos el ordenador. A partir de ahora, cada vez que nos conectemos o reconectemos a una red cableada se modificará nuestra Mac Address y dificultará que alguien nos pueda identificar a través de la dirección MAC.\nPara finalizar solo aclarar que si disponemos de una versión de NetworkManager igual o superior a la 1.4 podemos aplicar el método descrito en tarjetas de red Ethernet y Wifi. En el caso de disponer de una versión inferior a la 1.4 únicamente lo podremos usar en tarjetas de red Wifi.\nCOMO DISPONER DE UNA MAC ADDRESS ALEATORIA EN EL CASO QUE NOS ESCANEEN Multitud de routers y otros dispositivos escanean la MAC Address de nuestros dispositivos. El motivo es saber si hemos estado en una cafetería, el recorrido que hemos seguido dentro de un centro comercial, etc.\nPara evitar este problema, a partir de la versión 1.2 NetworkManager incorpora una mecanismo de protección. Este mecanismo está habilitado de forma predeterminada y hace lo siguiente:\nCuando no estamos conectados a ninguna red, NetworkManager va cambiando de forma periódica nuestra Mac Address. De esta forma, si alguien nos escanea no podrá identificarnos por nuestra MAC Address porque la segunda vez que nos escanee probablemente ya tendremos otra MAC Address distinta a la primera vez que nos escaneo.\nEsta opción viene habilitada por defecto. Si alguien la quiere deshabilitar tenemos que editar el archivo de configuración de NetworkManager. Para ello abrimos una terminal y ejecutamos el siguiente comando:\nsudo nano /etc/NetworkManager/NetworkManager.conf Dentro del archivo de configuración pegamos el siguiente código:\n[device] wifi.scan-rand-mac-address=no Una vez pegado el código guardamos los cambios y cerramos el fichero. A partir de estos momentos, cada vez que nos escaneen estaremos proporcionando nuestra MAC Address real.\nCAMBIAR LA MAC ADDRESS SIN USAR LA INTERFAZ GRÁFICA DE NETWORKMANAGER A lo largo de este apartado hemos cambiado la MAC address usando una interfaz gráfica. Si queremos también lo podemos hacer a través de la terminal. Para ello accedemos al archivo de configuración de NetworkManager ejecutando el siguiente comando en la terminal:\nsudo nano /etc/NetworkManager/NetworkManager.conf Una vez abierto el fichero de configuración de NetworkManager tendremos que añadir el siguiente código:\nSi queremos que cada vez que nos conectemos a una red wifi se genere una nueva MAC Address aleatoria pegaremos el siguiente código:\n[connection] wifi.cloned-mac-address=random Nota: La opción random se puede reemplazar por las opciones stable, preserve, permanent, random, stable o por una Mac Address cualquiera que podemos escribir. El significado de cada uno de estos parámetros lo encontraréis en el apartado cambiar la Mac Address mediante la interfaz gráfica. Si queremos que cada vez que nos conectemos a una red mediante nuestra tarjeta Ethernet se genere una nueva Mac Address aleatoria usaremos el siguiente código:\n[connection] ethernet.cloned-mac-address=random Nota: La opción random se puede reemplazar por las opciones stable, preserve, permanent, random, stable o por una Mac Address cualquiera que podemos escribir. El significado de cada uno de estos parámetros lo encontraréis en el apartado cambiar la Mac Address mediante la interfaz gráfica. Una vez introducidos los cambios, el fichero contendrá un contenido similar al siguiente:\n[device] wifi.scan-rand-mac-address=yes [connection] ethernet.cloned-mac-address=random wifi.cloned-mac-address=random Para finalizar con la configuración guardamos los cambios y reiniciamos el ordenador.\nDespués de aplicar los cambios nuestro ordenador tendrá el siguiente comportamiento:\nCada vez que nos conectemos a una red Wifi o una red local se generará una Mac Address aleatoria. Cuando no estemos conectados a ninguna red, nuestra Mac Address irá cambiando de forma periódica. Cada una de las Mac Address que se nos asignaran serán completamente aleatorias. En el siguiente enlace pueden obtener información adicional para editar el fichero de configuración de NetworkManager. Otra opción para obtener más información es ejecutar el siguiente comando en la terminal:\nman NetworkManager.conf CONCLUSIONES Para finalizar decir que durante este artículo hemos visto varias de las opciones disponibles para cambiar la Mac Address con NetworkManager.\nA día de hoy NetworkManager ofrece las mismas opciones que cualquier otro programa como por ejemplo macchanger o macchiato. Por lo tanto no tiene sentido alguno que los usuarios de NetworkManager instalen software adicional para cambiar la Mac Address de sus dispositivos de red.\nNetworkManager es un gestor de red usado por muchos usuarios de Linux. Además el procedimiento para cambiar la MAC Address es extremadamente simple y asequible para todo el mundo. Esto hace que NetworkManager sea una excelente herramienta para mejorar nuestra privacidad.\n","permalink":"https://geeklandlinux.github.io/posts/cambiar-la-mac-address-networkmanager/","summary":"\u003cp\u003eNetworkManager permite cambiar la Mac address de nuestras tarjetas de red de forma extremadamente simple. A medida que van saliendo nuevas versiones de NetworkManager se van añadiendo nuevas opciones para ocultar nuestra Mac Address, o lo que es lo mismo, para realizar Mac Spoofing.\u003c/p\u003e\n\u003cp\u003eA día de hoy podemos afirmar que NetworkManager tiene prácticamente las mismas funcionalidades que otros software como por ejemplo \u003ca href=\"https://github.com/alobbs/macchanger\" title=\"Plataforma de desarrollo de Macchanger\"\u003eMacchanger\u003c/a\u003e o \u003ca href=\"https://github.com/EtiennePerot/macchiato\" title=\"Plataforma de desarrollo de Macchiato\"\u003eMacchiato\u003c/a\u003e.\u003c/p\u003e","title":"Cambiar la Mac Address con NetworkManager (MAC spoofing)"},{"content":"Al insertar una imagen en Microsoft Excel queda flotando encima de la hoja de cálculo. La imagen insertada se pega en una capa aparte que no guarda ningún tipo de relación con ninguna celda. Por este motivo en el siguiente artículo veremos como insertar una imagen en una celda de Excel.\nUTILIDADES DE INSERTAR UNA IMAGEN EN UNA CELDA Insertar una imagen en una celda de Excel puede es útil cuando tenemos una hoja de calculo parecida la siguiente:\nComo podemos ver se trata de una hoja extensa con múltiples filas y columnas que contienen imágenes. En el momento que intentemos realizar las siguientes operaciones:\nOrdenador alfabéticamente el contenido de la tabla. Ocultar varias filas y/o columnas. Filtrar las celdas. Etc. Pasará lo que podéis ver en la siguiente captura de pantalla:\nComo pueden ver, al aplicar un filtro todas las imágenes han quedado desperdigadas y no se han filtrado con el resto de celdas. Para evitar este problema, la solución más fácil insertar una imagen en una celda. Para ello tienen que seguir las siguientes instrucciones.\n¿CÓMO INSERTAR UNA IMAGEN EN UNA CELDA DE EXCEL? Primero aseguramos que todas las imágenes están bien delimitadas dentro de los bordes de las celdas de la hoja de cálculo.\nA continuación, seleccionamos la imagen dentro de la celda, presionamos el botón derecho del ratón y cuando aparezca el menú contextual clicamos en la opción Formato de imagen.\nCuando se abra la pestaña de formato de imagen clicamos encima del icono Tamaño y propiedades.\nFinalmente, en propiedades clicamos sobre la opción Mover y cambiar tamaño con celdas.\nEl proceso para insertar el resto de imágenes en una celda es mucho más fácil. Tan solo tenemos que seleccionar la siguiente imagen y acto seguido irnos al panel lateral de formato de imagen para volver a tildar la opción Mover y cambiar tamaño con celdas.\nSi lo preferimos podemos crear una macro para poder insertar una imagen dentro de una celda. De esta forma podremos insertar las imágenes de forma mucho más sencilla y rápida.\nUna vez tengamos todas las imágenes insertadas en sus respectivas celdas ya podemos repetir el filtro que aplicamos en el apartado anterior y veremos que ahora el resultado es perfecto.\nPor lo tanto, pueden ver que insertar una imagen dentro de una celda de Excel es fácil y además es extremadamente útil. Es una lástima que otras suites ofimáticas como por ejemplo Libreoffice no dispongan de esta característica.\n","permalink":"https://geeklandlinux.github.io/posts/insertar-una-imagen-celda-excel/","summary":"\u003cp\u003eAl insertar una imagen en Microsoft Excel queda flotando encima de la hoja de cálculo. La imagen insertada se pega en una capa aparte que no guarda ningún tipo de relación con ninguna celda. Por este motivo en el siguiente artículo veremos como insertar una imagen en una celda de Excel.\u003c/p\u003e","title":"Insertar una imagen en una celda de Microsoft Excel 2016 y 2013"},{"content":"Hace semanas vimos como instalar y configurar tracker, como buscar archivos por su contenido y como etiquetar archivos y carpetas. Para complementar estos artículos, a continuación veremos como podemos buscar archivos y carpetas usando las etiquetas que tienen asignadas los archivos y las carpetas.\nBUSCAR ARCHIVOS Y CARPETAS MEDIANTE SUS ETIQUETAS CON TRACKER-NEEDLE A modo de ejemplo supongamos que queremos encontrar la totalidad de archivos y carpetas que contienen las etiqueta ocio y la etiqueta esforzarse.\nPara ello tan solo tenemos que abrir Tracker-needle y clicar encima del botón de Buscar criterios de búsqueda en etiquetas. A continuación, en el cuadro de búsqueda escribimos el nombre de las 2 etiquetas que buscamos separadas por comas.\nTal y como se puede ver en la captura de pantalla, después de escribir el nombre de las etiquetas obtendremos la totalidad de archivos y carpetas que contienen la etiqueta esforzarse o la etiqueta ocio.\nNota: Si en el cuadro de búsqueda únicamente escribiéramos el nombre de la etiqueta ocio, entonces obtendríamos los archivos y carpetas que contienen la etiqueta ocio. Estas son todas las operaciones que permite realizar la interfaz gráfica de tracker. Por lo tanto pueden ver que su funcionalidad es muy limitada y claramente inferior a la experiencia que nos proporciona Plasma.\nNo obstante para solucionar limitación podemos usar la terminal del siguiente modo.\nBUSCAR ARCHIVOS Y CARPETAS MEDIANTE SUS ETIQUETAS Y LA TERMINAL Cuando empiecen a buscar archivos mediante la terminal verán que las posibilidades que les ofrece son mucho mayores que las de la interfaz gráfica.\nBuscar archivos y carpetas que tengan una etiqueta en determinada Si quieren buscar la totalidad de archivos y carpetas que contiene la etiqueta business deberán ejecutar el siguiente comando:\ntracker tag -t -s business Nota: La opción -t lista la totalidad de las etiquetas. La opción -s lista los archivos que contienen las etiquetas. Buscar archivos y carpetas que tengan una o varias etiquetas Para buscar los archivos y carpetas que contienen la etiqueta business o la etiqueta ocio ejecutaremos el siguiente comando en la terminal:\ntracker tag -t -s business ocio Obtener los archivos que tienen las etiquetas business y ocio de forma simultánea Si queremos ir más allá y buscar los archivos que de forma simultánea tienen las etiquetas business y ocio ejecutaremos el siguiente comando en la terminal:\ntracker sparql -q \u0026#34;SELECT nie:url(?f) WHERE { ?f nao:hasTag [ nao:prefLabel \u0026#39;business\u0026#39; ] ; nao:hasTag [ nao:prefLabel \u0026#39;ocio\u0026#39; ] }\u0026#34; Nota: A partir de estos momentos, todas las partes de color rojo de los comandos corresponden a los nombres de las etiquetas y/o contenido que estamos buscando. Listar documentos que contengan una etiqueta específica Sí únicamente queremos buscar los documentos que contengan la etiqueta ocio tenemos que ejecutar el siguiente comando en la terminal.\ntracker sparql -q \u0026#34;SELECT nie:url(?document) WHERE { ?document a nfo:Document ; nao:hasTag [ nao:prefLabel \u0026#39;ocio\u0026#39; ] }\u0026#34; Listar las carpetas que contengan una etiqueta específica Podemos buscar únicamente las carpetas contengan la etiqueta business ejecutando el siguiente comando en la terminal:\ntracker sparql -q \u0026#34;SELECT nie:url(?folder) WHERE { ?folder a nfo:Folder ; nao:hasTag [ nao:prefLabel \u0026#39;business\u0026#39; ] }\u0026#34; Encontrar archivos que contengan una etiqueta en concreto y en su contenido tengan una palabra determinada Para estrechar más la búsqueda podemos buscar archivos por sus etiquetas y por el contenido que tienen en su interior.\nDe este modo si quieren buscar los archivos que en su interior contengan la palabra esforzarse y además tengan la etiqueta business deberán ejecutar el siguiente comando en la terminal:\ntracker sparql -q \u0026#34;SELECT nie:url(?f) WHERE { ?f fts:match \u0026#39;esforzarse\u0026#39; ; nao:hasTag [ nao:prefLabel \u0026#39;business\u0026#39; ]}\u0026#34; Si quisiéramos encontrar la totalidad de archivos que contienen la palabra esforzarse y además tuvieran asignadas de forma simultánea las etiquetas ocio y business, podríamos ejecutar el siguiente comando:\ntracker sparql -q \u0026#34;SELECT nie:url(?f) WHERE { ?f fts:match \u0026#39;esforzarse\u0026#39; ; nao:hasTag [ nao:prefLabel \u0026#39;business\u0026#39; ] ; nao:hasTag [ nao:prefLabel \u0026#39;ocio\u0026#39; ] }\u0026#34; Buscar archivos que tengan una etiqueta determinada y contengan ciertas palabras determinadas En caso que tengamos que buscar todos los archivos que dentro de su contenido figuren las palabras esforzarse e importante y que además tengan la etiqueta business, ejecutaremos el siguiente comando en la terminal:\ntracker sparql -q \u0026#34;SELECT nie:url(?f) WHERE { ?f fts:match \u0026#39;esforzarse importantes\u0026#39; ; nao:hasTag [ nao:prefLabel \u0026#39;business\u0026#39; ]}\u0026#34; Listar las imágenes que contengan una etiqueta específica Para obtener la totalidad de imágenes que contienen la etiqueta business ejecutamos el siguiente comando en la terminal.\ntracker sparql -q \u0026#34;SELECT nie:url(?image) WHERE { ?image a nfo:Image ; nao:hasTag [ nao:prefLabel \u0026#39;business\u0026#39; ] }\u0026#34; Listar las canciones que tengan una etiqueta específica Para listar la totalidad de archivos de audio que contienen la etiqueta techno ejecutamos el siguiente comando en la terminal:\ntracker sparql -q \u0026#34;SELECT nie:url(?audio) WHERE { ?audio a nfo:Audio ; nao:hasTag [ nao:prefLabel \u0026#39;techno\u0026#39; ] }\u0026#34; Consultar los archivos de vídeo que tienen una etiqueta determinada Finalmente, para encontrar la totalidad de archivos de vídeo que contienen la etiqueta Thriller podemos ejecutar el siguiente comando en la terminal:\ntracker sparql -q \u0026#34;SELECT nie:url(?video) WHERE { ?video a nfo:Video ; nao:hasTag [ nao:prefLabel \u0026#39;Thriller\u0026#39; ] }\u0026#34; CONCLUSIONES SOBRE TRACKER A lo largo de todos los artículos realizados han podido ver que Tracker es una herramienta extremadamente útil, potente y versátil.\nNo obstante también hay remarcar los siguientes puntos:\nVeo difícil que la gente use Tracker porque presenta una interfaz gráfica pobre y limitada. Es una herramienta potente completamente desaprovechada por el equipo de Gnome. En el momento de instalar cualquier distribución con Gnome se deberían cumplir las siguientes premisas:\nExistir una interfaz gráfica potente e intuitiva para poder usar Tracker. Incluso se podría integrar en el Dash de Gnome. Tracker debería estar completamente integrado con el buscador de archivos Nautilus. De este forma todo el mundo usaría y hablaría maravillas de Tracker.\n","permalink":"https://geeklandlinux.github.io/posts/buscar-archivos-y-carpetas-por-etiquetas/","summary":"\u003cp\u003eHace semanas vimos como \u003ca href=\"/posts/configurar-tracker-para-buscar-archivos-por-contenido/\"\u003einstalar y configurar tracker\u003c/a\u003e, como \u003ca href=\"/posts/buscar-archivos-por-su-contenido-linux/\"\u003ebuscar archivos\u003c/a\u003e por su contenido y como \u003ca href=\"/posts/etiquetar-archivos-carpetas-terminal/\"\u003eetiquetar archivos y carpetas\u003c/a\u003e. Para complementar estos artículos, a continuación veremos como podemos buscar archivos y carpetas usando las etiquetas que tienen asignadas los archivos y las carpetas.\u003c/p\u003e","title":"Buscar archivos y carpetas mediante etiquetas y su contenido"},{"content":"Guste más o guste menos, systemd ha llegado para quedarse y prueba de ello es que la totalidad de distribuciones Linux grandes, excepto Gentoo, lo están usando como sistema de inicio predeterminado Por este motivo en el presente artículo veremos que es un servicio y como usar el comando systemctl para que todo usuario básico, medio o avanzado pueda gestionar la totalidad de servicios de su ordenador de forma fácil y sencilla.\n¿QUÉ ES UN SERVICIO EN LINUX? Un servicio no es más que un programa que se ejecuta, o está esperando ser ejecutado, en segundo plano.\nLos servicios o procesos tienen las siguientes características:\nNo acostumbran a tener una interfaz gráfica para que los usuarios puedan interactuar de forma directa con ellos. Los servicios o demonios normalmente son inicializados con el arranque del sistema. Normalmente están a la espera de que pase un evento para a posteriori poder realizar su función. Toda la actividad que generan los servicios queda registrada en los logs del sistema mediante syslog y/o journalctl. Algunos ejemplos de servicios o demonios que conoce la gran mayoría de gente son los siguientes:\napache httpd cron dnsmasq etc Como se gestionan los servicio o demonios en GNU Linux Los servicios o demonios se gestionan mediante los demonios Init o Systemd.\nEl primer servicio que inicia el Kernel de Linux es Init o Systemd. Seguidamente, init o systemd son los encargados de cargar el resto de servicios del sistema operativo. Por lo tanto Init o Systemd son los padres de todos los demonios o servicios que se inicializan en nuestro sistema operativo.\nInit y Systemd siempre están activos hasta que el sistema se apaga. Mientras estos servicios estén activos los podremos usar para gestionar los servicios que se inician y paran en nuestro ordenador o servidor.\nEn el caso que systemd o init no se inicien, nuestro ordenador nunca podrá llegar a arrancar. Por lo tanto son demonios extremadamente importantes.\nOBTENER LISTADOS DE LOS SERVICIOS MEDIANTE SYSTEMCTL Seguidamente les dejo un enlace en el que encontrarán varios comandos para obtener listados que nos darán información sobre el estado de los servicios y unidades de nuestro sistema operativo.\nCONSEGUIR AYUDA E INFORMACIÓN SOBRE UN SERVICIO O UNIDAD DETERMINADA Si queremos obtener información detallada sobre un servicio tan solo tenemos que ejecutar el comando systemctl help seguido del nombre del servicio que queremos analizar.\nA modo de ejemplo, si queremos obtener información de como usar el servicio emergency tan solo tenemos que ejecutar el siguiente comando en la terminal:\nsystemctl help emergency CONSULTAR LAS DEPENDENCIAS DE UN SERVICIO O UNA UNIDAD Para conocer las dependencias de un servicio podemos usar varios comandos. Algunos de ellos son los siguientes:\nAveriguar las dependencias de un servicio o una unidad Para ver el árbol de dependencias de un servicio o una unidad tenemos que ejecutar el comando systemctl list-dependencies seguido del nombre de servicio que queremos analizar las dependencias.\nPor lo tanto, para conocer la totalidad de dependencias que Cron necesita para realizar su función tenemos que ejecutar el siguiente comando:\nsystemctl list-dependencies cron Y el resultado obtenido es del siguiente tipo:\ncron.service ● ├─system.slice ● └─sysinit.target ● ├─console-setup.service ● ├─dev-hugepages.mount ● ├─dev-mqueue.mount ● ├─keyboard-setup.service ● ├─kmod-static-nodes.service …\nVer los servicios y unidades que se ejecutan después de arrancar un servicio o proceso Para conocer la totalidad de servicios que se usarán después de iniciar un servicio tenemos que ejecutar el comando systemctl list-dependencies \u0026ndash;before seguido del nombre del servicio o unidad.\nPor lo tanto, para conocer los servicios que se usaran después de ejecutar cron tenemos que ejecutar el siguiente comando en la terminal:\nsystemctl list-dependencies --before cron Si lo hacemos obtendremos el siguiente resultado:\ncron.service ● ├─multi-user.target ● │ ├─systemd-update-utmp-runlevel.service ● │ └─graphical.target ● │ └─systemd-update-utmp-runlevel.service ...\nVer los servicios y unidades que tienen que estar activos antes de ejecutar un servicio Para saber los servicios y unidades que tienen que estar activos antes de ejecutar un servicio tenemos que ejecutar el comando systemctl list-dependencies \u0026ndash;after seguido del nombre de un servicio o unidad.\nA modo de ejemplo, para conocer los servicios y unidades que tienen que estar activos antes de iniciar cron tienen ejecutar el siguiente comando en la terminal:\nsystemctl list-dependencies --after cron El resultado que he obtenido en mi caso es el siguiente:\ncron.service ● ├─system.slice ● ├─systemd-journald.socket ● ├─basic.target ● │ ├─-.mount ● │ ├─tmp.mount ● │ ├─paths.target ● │ │ ├─acpid.path ● │ │ ├─systemd-ask-password-console.path ...\nGESTIONAR SERVICIOS DE NUESTRO SISTEMA OPERATIVO A continuación veremos los comandos básicos para poder gestionar la totalidad de nuestros servicios y unidades con Systemd.\nVer el estado de un servicio determinado Visiten el siguiente enlace para averiguar el estado de un servicio determinado.\nIniciar un servicio con systemd En el caso que un servicio esté inactivo lo podemos iniciar muy fácilmente.\nPara iniciarlo abrimos una terminal y ejecutamos el comando systemctl start seguido del nombre del servicio que queremos iniciar.\nPor lo tanto para iniciar el servicio dnsmasq tenemos que ejecutar el siguiente comando:\nsudo systemctl start dnsmasq.service Una vez ejecutado el comando se iniciará el servicio. Para comprobar que el servicio se ha iniciado podemos ejecutar el siguiente comando:\nsudo systemctl status dnsmasq.service Reiniciar un servicio con systemd En el caso que por cualquier incidencia queramos reiniciar un servicio tenemos que seguir las siguientes instrucciones:\nAbrimos una terminal y ejecutamos el comando systemctl restart seguido del nombre del proceso que queremos reiniciar.\nPor lo tanto, para reiniciar el servicio dnsmasq tenemos que ejecutar el siguiente comando:\nsudo systemctl restart dnsmasq.service Una vez ejecutado el comando el servicio se reiniciará.\nRecargar la configuración de un servicio sin llegar a reiniciarlo Al cambiar la configuración de cualquier servicio no se aplicará de forma instantánea. Para que se aplique la nueva configuración tenemos 3 opciones:\nReiniciar el ordenador o servidor. Reiniciar el servicio siguiendo el método aplicado en el apartado anterior. Recargar la configuración del servicio sin reiniciarlo ni pararlo en ningún momento. Para recargar la configuración de un servicio sin llegar a pararlo ni a reiniciarlo ejecutamos el comando systemctl reload seguido del nombre del servicio que queremos recargar.\nDe este modo, para recargar la configuración de dnsmasq tenemos que ejecutar el siguiente comando en la terminal:\nsystemctl reload dnsmasq.service Al ejecutar el comando se aplicarán los cambios realizados en los archivos de configuración del servicio sin tan siquiera llegar a parar el servicio.\nComo parar un servicio con systemd En el momento que queramos parar un servicio abrimos una terminal.\nUna vez abierta ejecutamos el comando systemctl stop seguido del nombre del proceso que queremos parar.\nPor lo tanto para parar el servicio dnsmasq tan solo tengo que ejecutar el siguiente comando:\nsystemctl stop dnsmasq.service Después de ejecutar el comando el servicio se parará y por lo tanto pasará a estar inactivo.\nHabilitar permanentemente un servicio en el arranque Para que un servicio arranque de forma automática al iniciar el ordenador tenemos que habilitarlo.\nPara habilitarlo tenemos que ejecutar el comando systemctl enable seguido del nombre del proceso que queremos habilitar.\nA modo de ejemplo, para habilitar el servicio bluetooth.service tenemos que ejecutar el siguiente comando:\nsudo systemctl enable bluetooth.service En el momento de ejecutar el proceso se creará un enlace simbólico de /lib/systemd/system/bluetooth.service a /etc/systemd/system/dbus-org.bluez.service que hará que el servicio pueda iniciarse cuando arrancamos el ordenador.\nDeshabilitar permanentemente un servicio Si queremos que al arrancar el ordenador no se cargue un servicio realizaremos lo siguiente.\nPara deshabilitar un servicio ejecutamos el comando systemctl disable seguido del nombre de proceso que queremos deshabilitar.\nPor lo tanto para deshabilitar el servicio bluetooth.service ejecutamos el siguiente comando en la terminal:\nsudo systemctl disable bluetooth.service Una vez ejecutado el comando se deshabilitará el servicio. Por lo tanto cuando arranquemos el ordenador bluetooth.service no se activará.\nPara deshabilitar el servicio, systemd borra el enlace simbólico /etc/systemd/system/dbus-org.bluez.service que se creo que en el apartado anterior.\nAunque el servicio esté deshabilitado, cualquier usuario con permisos de administrador lo podrá iniciar de forma manual una vez iniciada la sesión.\nNota: Hay que tener precaución al deshabilitar servicios. Si no saben que realiza el servicio que deshabilitan pueden presentarse inconvenientes graves. Enmascarar y desenmascarar un servicio con Systemctl En el apartado anterior hemos visto como deshabilitar un servicio. Si además de deshabilitarlo queremos que no se pueda iniciar manualmente ni automáticamente después de iniciar la sesión podemos enmascararlo.\nPara enmascarar un servicio abrimos una terminal. Una vez abierta ejecutamos el comando systemctl mask seguido del nombre del proceso que queremos enmascarar.\nPor lo tanto, si queremos enmascarar el servicio bluetooth.service ejecutamos el siguiente comando:\nsudo systemctl mask bluetooth.service De este modo nadie podrá iniciar el proceso manualmente o automáticamente a no ser que lo desenmascare previamente.\nPara desenmascarar un servicio tan solo tenemos que ejecutar el comando o systemctl unmask seguido del nombre del proceso que queremos desenmascarar.\nPor lo tanto, en el caso que queramos desenmascarar el servicio que acabamos enmascarar tenemos que ejecutar el siguiente comando en la terminal:\nsudo systemctl unmask bluetooth.service Para terminar deseo que después de leer este artículo tengáis las nociones necesarias para empezar a administrar los servicios de vuestro ordenador.\n","permalink":"https://geeklandlinux.github.io/posts/systemctl-administrar-servicios-linux/","summary":"\u003cp\u003eGuste más o guste menos, systemd ha llegado para quedarse y prueba de ello es que la totalidad de distribuciones Linux grandes, excepto Gentoo, lo están usando como sistema de inicio predeterminado Por este motivo en el presente artículo veremos que es un servicio y como usar el comando systemctl para que todo usuario básico, medio o avanzado pueda gestionar la totalidad de servicios de su ordenador de forma fácil y sencilla.\u003c/p\u003e","title":"Systemctl para administrar servicios en Linux con Systemd"},{"content":"En el siguiente artículo veremos varios métodos para comprobar el estado de los servicios que estan disponibles en nuestro sistema operativo. De este forma podremos ver si un servicio está activo, inactivo, enmascarado, etc. Los pasos a seguir para conseguir nuestro objetivo seran los siguientes.\nVER EL ESTADO DE UN DETERMINADO SERVICIO En ocasionamos necesitamos conocer información sobre un determinado servicio o unidad. Un ejemplo de la información que podemos necesitar es la siguiente:\nVer si el proceso o unidad está activo o inactivo. Conocer la fecha y hora en que arranco un proceso. Saber el identificador de proceso de un determinado servicio. Ver si un servicio está configurado para que se inicie en al arranque del sistema. Información relativa al control de grupos. Etc. Para conocer este tipo de información tan solo tenemos que abrir una terminal y ejecutar el comando systemctl status seguido del nombre del proceso.\nPor lo tanto si queremos obtener información relativa al servicio dnscrypt-proxy tenemos que ejecutar el siguiente comando:\nsystemctl status dnscrypt-proxy.service Después de ejecutar el comando obtendremos la siguiente información:\n● dnscrypt-proxy.service - DNSCrypt proxy Loaded: loaded (/lib/systemd/system/dnscrypt-proxy.service; enabled; vendor preset: enabled) Active: active (running) since dom 2016-07-24 08:50:10 CEST; 1h 12min ago Docs: man:dnscrypt-proxy(8) Main PID: 2042 (dnscrypt-proxy) CGroup: /system.slice/dnscrypt-proxy.service └─2042 /usr/sbin/dnscrypt-proxy –resolver-name=dnscrypt.org-fr AVERIGUAR SI UN SERVICIO ESTÁ ACTIVO Para saber si un proceso está activo o inactivo tenemos ejecutar el comando systemctl is-active seguido del nombre del proceso que queremos ver si está activo.\nPor lo tanto, para ver si el servicio estático initrd-cleanup está activo tenemos que ejecutar el siguiente comando en la terminal:\nsystemctl is-active initrd-cleanup En mi caso después de ejecutar el comando he podido constatar que el proceso no está activo.\nInactive CONOCER EL ESTADO DE LA TOTALIDAD DE SERVICIOS Para obtener un listado de la totalidad de servicios y saber si están habilitados o deshabilitados tenemos que ejecutar el siguiente comando en la terminal:\nsystemctl list-unit-files --type service --all Una vez ejecutado el comando obtenemos el siguiente resultado:\nUNIT FILE STATE accounts-daemon.service enabled acpid.service disabled alsa-restore.service static alsa-state.service static alsa-utils.service masked … Si leemos los resultados aparecerán la totalidad de servicios conjuntamente con su estado. El significado de cada uno de los estados es el siguiente:\nEnabled: El servicio está habilitado, se está usando o está disponible para su uso. Disabled: El servicio está deshabilitado. Si lo necesitamos lo podemos habilitar sin mayor problema. Masked: El servicio está completamente deshabilitado y no se puede iniciar de ningún modo sin previamente desenmascararlo. Static: Servicios que únicamente se usarán en el caso que otro servicio o unidad lo precise. Estos servicios pueden estar activos o inactivos, pero siempre están disponibles para cuando se necesite usarlos. Estos servicios no se pueden activar ni desactivar, pero se pueden enmascarar. Generated: Servicio que ha sido iniciado a través de un initscript SysV o LSB con systemd generator.\nEn el caso que encuentren estados no mencionados en este apartado, pueden obtener información abriendo una terminal y ejecutando el siguiente comando:\nman systemctl Una vez ejecutado el comando podrán ver una explicación del significado de cada uno de los estados.\nOBTENER INFORMACIÓN DE LA TOTALIDAD DE SERVICIOS Para obtener un listado de la totalidad de servicios, independientemente de si están activos o inactivos, tenemos que ejecutar el siguiente comando en la terminal:\nsystemctl list-units --type service --all El resultado que obtendremos será parecido al siguiente:\nUNIT LOAD ACTIVE SUB DESCRIPTION accounts-daemon.service loaded active running Accounts Service acpid.service loaded active running ACPI event daemon alsa-restore.service loaded active exited Save/Restore Sound Card State alsa-state.service loaded inactive dead Manage Sound Card State (restore and store) anacron.service loaded inactive dead Run anacron jobs ● apparmor.service not-found inactive dead apparmor.service … Los datos que podemos consultar en el listado que acabamos de obtener son los siguientes:\nLa columna LOAD de este listado nos muestra información sobre si los servicios estan cargados o no. El valor loaded indica que el archivo de configuración del servicio ha sido procesado. El valor not-found indica lo contrario.\nEn la columna ACTIVE podremos ver si un servicio está activo o inactivo.\nFinalmente, la columna SUB complementa la información de la columna ACTIVE detallando con más precisión el estado de cada servicio. En esta columna podemos encontrar los siguientes valores:\nrunning: El servicio se está activo y ejecutándose en estos momentos. exited: El servicio se ha ejecutado en algún momento, pero en estos momentos systemd no es capaz de detectar si el servicio está corriendo. Este caso se acostumbra a dar cuando por ejemplo se carga el fichero de configuración del servicio y a posteriori el servicio pasa a ser controlado por el kernel sin la necesidad que ningún demonio esté corriendo. dead: El servicio está completamente inactivo. OBTENER INFORMACIÓN DE LOS SERVICIOS ACTIVOS Para obtener un listado de la totalidad de servicios que actualmente están activos tenemos que ejecutar el siguiente comando en la terminal:\nsystemctl list-units --type service El resultado que obtendremos será parecido al siguiente:\nUNIT LOAD ACTIVE SUB DESCRIPTION accounts-daemon.service loaded active running Accounts Service acpid.service loaded active running ACPI event daemon alsa-restore.service loaded active exited Save/Restore Sound Card State atd.service loaded active running Deferred execution scheduler … El significado de los parámetros obtenidos se interpreta del mismo modo que en el apartado anterior.\nAVERIGUAR SI UN SERVICIOS O UNIDAD FALLA DURANTE EL ARRANQUE DE NUESTRO SISTEMA OPERATIVO Para obtener un listado de la totalidad de servicios que fallan al iniciar el sistema operativo hay que ejecutar el siguiente comando en la terminal:\nsystemctl list-unit-files --state=failed Una vez ejecutado el comando veremos los servicios y unidades que no se han podido iniciar durante el inicio del sistema. En el caso de encontrar errores tendremos que buscar una solución.\nCONOCER EL ESTADO DE UN SERVICIO O UNIDAD MEDIANTE UNA INTERFAZ GRÁFICA Existen interfaces gráficas para poder ver, e incluso gestionar, los servicios y unidades de nuestro sistema operativo. Por ejemplo en Debian existe systemd-ui. Para instalarlo tanto solo tienen que ejecutar el siguiente comando en la terminal:\nsudo apt-get install systemd-ui Una vez instalado el paquete abrimos una terminal y ejecutamos el siguiente comando:\nsystemadm Seguidamente aparecerá la siguiente interfaz gráfica en la que podremos ver el estado de todas las unidades gestionadas por systemd.\nPara averiguar el significado de cada uno de los parámetros del servicio tan solo tienen que consultar el apartado Obtener información de la totalidad de los servicios.\nPara finalizar pueden visitar el siguiente enlace en el que encontrarán la información necesaria para administrar los servicios de vuestra distribución Linux.\n","permalink":"https://geeklandlinux.github.io/posts/conocer-estado-servicio-systemd/","summary":"\u003cp\u003eEn el siguiente artículo veremos varios métodos para comprobar el estado de los servicios que estan disponibles en nuestro sistema operativo. De este forma podremos ver si un servicio está activo, inactivo, enmascarado, etc. Los pasos a seguir para conseguir nuestro objetivo seran los siguientes.\u003c/p\u003e","title":"Conocer el estado de un servicio o unidad con systemd en Linux"},{"content":"En el momento que sale una nueva versión estable de Debian, todo el mundo escribe los típicos tutoriales de como actualizar Debian a la última versión. No obstante en el momento que sale una nueva versión de Debian no es necesario realizar absolutamente nada porque la Debian que a priori es vieja aun tiene soporte para muchos años.\nPor lo tanto en el momento que sale una versión nueva de Debian no es necesario realizar ningún tipo de actualización.\nSOPORTE QUE OFRECE LA DISTRIBUCIÓN DEBIAN Las distribuciones Debian reciben un soporte de 5 años de la forma que se detalla a continuación.\nEn la rama estable En el momento que una versión de Debian se libera como estable pasará a tener un soporte con las siguientes características:\nTendrá una duración de aproximadamente 2 años. Será realizado por parte del equipo de Debian. Será completo y por lo tanto incluirá todos los paquetes y todas las arquitecturas de la distribución. A modo de ejemplo, El 25 de Abril de 2015 se libero Debian Jessie como versión estable y el día 17 de Junio de 2017 finalizo su soporte como rama estable.\nEn la rama oldstable Una vez finalizado el soporte de la rama estable empezará el de la rama oldstable. Las características del soporte oldstable son las siguientes:\nSu duración es de un año. Es realizado por parte del equipo de Debian. Es completo y al mismo nivel que en la rama estable. Por lo tanto también incluye todos los paquetes y todas las arquitecturas de la distribución. Por lo tanto, a partir de 17 de Junio de 2017 Debian Jessie pasa a ser la versión oldstable y recibirá soporte por parte del equipo de Debian hasta el Mayo o Junio del año 2018.\nEn la rama LTS Al finalizar el soporte oldstable empezará el soporte LTS. El soporte LTS tendrá las siguientes características:\nNos ofrecerá 2 años adicionales de actualizaciones críticas de seguridad. No es proporcionado por el equipo de Debian. Es proporcionado por grupos de voluntarios y empresas interesadas en prolongar la vida de la rama LTS de Debian. Es inferior en comparación con las ramas estable y oldstable. El nivel de soporte ofrecido dependerá de los voluntarios existentes y del soporte financiero que reciban. No cubre todas las arquitecturas ni todos los paquetes. Únicamente se cubren paquetes críticos y las arquitecturas i386, amd64, armel y armhf. El repositorio de backports no recibe actualizaciones por parte del equipo que proporciona el soporte extendido LTS. Las actualizaciones en los repositorios backports son realizadas por el personal encargado de mantener los paquetes en el repositorio backports. A modo de ejemplo, en Mayo o Junio de 2018 finalizará el soporte oldstable de Debian Jessie. Justo entonces empezará el soporte LTS que durará hasta Abril del 2020. A partir del Abril del 2020 podremos considerar que Debian Jessie ha muerto.\nResumen del soporte que ofrecen las distribuciones Debian En la siguiente tabla pueden ver de forma esquemática el soporte que ofrece Debian en cualquiera de sus versiones:\nDuración (años) ¿Quién lo realiza? Alcance Rama estable 2 Equipo de Debian Completo Rama oldstable 1 Equipo de Debian Completo Rama LTS 2 Grupo de Voluntarios Solo actualizaciones críticas en algunas arquitecturas Total soporte 5 Por lo tanto, podremos usar Debian Jessie, o cualquier otra versión de Debian, durante 5 años sin tener ningún tipo de problema. Durante los 3 primeros años el soporte de nuestra distribución será completo mientras que los últimos 2 años será parcial.\n¿QUÉ HAY QUE HACER PARA USAR EL SOPORTE DE 5 AÑOS EN DEBIAN? No hay que realizar absolutamente nada. No es necesario tocar ningún repositorio ni realizar nada en especial. Simplemente tenemos seguir usando nuestra distribución Debian de forma habitual.\nDISPONER DE PAQUETERIA ACTUALIZADA EN OLDSTABLE Y LTS Nota: Este apartado solo aplica a usuarios que utilicen el repositorio backports. En el momento que una versión de Debian pasa a oldstable dejará de actualizarse el repositorio backports. Por lo tanto con el paso del tiempo, los paquetes y programas de nuestro ordenador pasarán a ser bastante antiguos. Esto es así para facilitar la vida a los usuarios que algún día pretendan actualizar de la versión oldstable o LTS a la versión estable.\nEn el caso que alguien considere que esto es un problema puede agregar el repositorio backports-sloppy. De este modo, aunque estemos en una distribución oldstable o LTS podremos usar algunos de los paquetes presentes en Debian Testing o Inestable. En futuros post detallaré de forma simple como podemos usar el repositorio backports-sloppy.\n¿ES NECESARIO ACTUALIZAR DEBIAN CUANDO SALE UNA NUEVA DEBIAN ESTABLE? En el momento que sale una nueva versión de Debian no muere la antigua y no es necesario actualizar a la nueva versión estable.\nExisten usuarios y empresas que retrasan tanto como pueden la actualización a la nueva versión de Debian por los siguientes motivos:\nLa actualización a la nueva versión de un gran número de servidores y ordenadores exige tiempo. Por lo tanto, el soporte extendido será usado para muchos administradores para actualizar con calma y con seguridad sus equipos. Existen administradores que por simple practicidad deciden no tocar lo que funciona. Por lo tanto simplemente realizan actualizaciones importantes cuando no hay más remedio. Espero que este artículo les haya ayudado a conocer un poco más la distribución Debian.\n","permalink":"https://geeklandlinux.github.io/posts/soporte-ofrecido-por-debian/","summary":"\u003cp\u003eEn el momento que sale una nueva versión estable de Debian, todo el mundo escribe los típicos tutoriales de como actualizar Debian a la última versión. No obstante en el momento que sale una nueva versión de Debian no es necesario realizar absolutamente nada porque la Debian que a priori es vieja aun tiene soporte para muchos años.\u003c/p\u003e\n\u003cp\u003ePor lo tanto en el momento que sale una versión nueva de Debian no es necesario realizar ningún tipo de actualización.\u003c/p\u003e","title":"¿Cuál es el soporte que nos ofrece la distribución Debian?"},{"content":"En el momento que un usuario novel empieza a usar Linux hay muchos conceptos que desconoce. Uno de estos conceptos son los repositorios y por este motivo en el siguiente artículo detallaré de la forma más clara posible los siguientes aspectos:\n¿Qué es un repositorio? ¿Cómo funciona un repositorio? ¿Qué ventajas nos proporciona instalar software a través de un repositorio? ¿QUÉ SON LOS REPOSITORIOS EN LINUX? Si hacemos referencia al ámbito de Linux, un repositorio es un servidor accesible mediante internet que almacena paquetes y programas para que nosotros los podamos descargar e instalar en nuestra distribución GNU-Linux.\nCada una de las distribuciones GNU-Linux dispone de sus propios repositorios en los que se hallan los programas que nosotros podemos instalar en nuestro equipo. Aparte de los repositorios propios de cada una de las distribuciones, también podemos añadir y usar repositorios de terceros que contendrán versiones más actuales del software que tenemos instalado o programas que no han incluido los creadores de la distro que usamos.\nLos gestores de paquetes, como por ejemplo Apt, YaST o Pacman, son las herramientas que usaremos para descargar e instalar el software de un repositorio.\nEjemplo de instalación de software a través de un repositorio Si en nuestra distribución Linux queremos instalar el reproductor de vídeo VLC ejecutaremos el siguiente comando en la terminal:\nsudo apt-get install vlc En el momento de ejecutar el comando sucederá lo siguiente:\nCon el gestor de paquetes apt nos conectaremos al repositorio de internet que contiene los paquetes que queremos descargar. Antes de empezar la descarga, mediante un par de claves asimétricas, un sistema de firmas y una función hash se comprobará que los paquetes a descargar provienen de un repositorio seguro y no han sido modificados por nadie. Una vez realizada la comprobación se descargaran los paquetes y dependencias necesarias para instalar VLC. Una vez descargados los paquetes se procederá a la instalación de los mismos. Figura 1 Esquema ilustrativo del funcionamiento de un repositorio\nQuien realiza el mantenimiento de los repositorios Los repositorios de cada una de las distribuciones Linux son mantenidos, gestionados y actualizados por los siguientes actores:\nEl personal que creo y gestiona la distribución Linux La comunidad del software Libre. En el caso que usemos repositorios de terceros ajenos a nuestra distribución Linux, la gestión y el mantenimiento es realizado por:\nEl personal que gestiona el repositorio. Nota: En el caso que usemos repositorios de terceros hay que asegurar que estén gestionados por personas confiables. En caso contrario podríamos estar instalando malware en nuestro sistema operativo. VENTAJAS QUE PROPORCIONAN LOS REPOSITORIOS El uso de repositorios para instalar software proporciona las siguientes ventajas:\nInstalar software a nuestro equipo de forma mucho más sencilla que en otros sistemas operativos. En Linux nunca tendremos la necesidad de buscar y descargar programas de Internet. Cabe recordar que muchas de las infecciones en Windows se producen al instalar software proveniente de sitios de dudosa reputación. Tendremos la seguridad que el software instalado proviene de una fuente segura y esta libre de malware. Los repositorios de donde nos descargamos los programas disponen de las medidas de seguridad necesarias para asegurar que los programas descargados están libres de Virus y Malware. El proceso de actualización del sistema operativo es mucho más sencillo. En el momento que se actualizan los repositorios podremos actualizar fácilmente nuestro sistema operativo mediante nuestro gestor de paquetes. DESVENTAJAS QUE PROPORCIONAN LOS REPOSITORIOS El uso de repositorios únicamente presenta la siguiente desventaja frente otros sistemas operativos.\nEn el caso que queramos instalar un programa o actualizar el sistema operativo precisamos de una conexión de internet. Esto es así por que descargar la totalidad de dependencias de un programa de forma manual exige demasiado tiempo. En lo particular para mi esto no es ningún tipo de desventaja porque hoy en dia todo el mundo dispone de conexión a Internet, pero lo cito porque para algunos se ve que si lo es un problema. No obstante, si algún día se generaliza el uso de los paquetes Flatpak o Snap este inconveniente desaparecería por completo.\n","permalink":"https://geeklandlinux.github.io/posts/que-son-los-repositorios-en-linux/","summary":"\u003cp\u003eEn el momento que un usuario novel empieza a usar Linux hay muchos conceptos que desconoce. Uno de estos conceptos son los repositorios y por este motivo en el siguiente artículo detallaré de la forma más clara posible los siguientes aspectos:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e¿Qué es un repositorio?\u003c/li\u003e\n\u003cli\u003e¿Cómo funciona un repositorio?\u003c/li\u003e\n\u003cli\u003e¿Qué ventajas nos proporciona instalar software a través de un repositorio?\u003c/li\u003e\n\u003c/ol\u003e","title":"¿Qué son los repositorios en Linux? ¿Qué ventajas proporcionan?"},{"content":"Hace pocos días vimos el procedimiento para etiquetar archivos con tracker mediante la terminal. La gente a la que no le guste usar la terminal tiene que saber que también tiene la opción de usar las interfaces gráficas para etiquetar sus archivos y carpetas.\nETIQUETAR ARCHIVOS Y CARPETAS MEDIANTE UNA INTERFAZ GRÁFICA Existen varias interfaces gráficas que permiten etiquetar archivos y carpetas. A continuación veremos algunas de ellas.\nNota: Para etiquetar archivos y carpetas con el método que verán en este articulo tiene que instalar y configurar tracker de forma adecuada. Etiquetar archivos y carpetas mediante Nautilus Si disponemos del gestor de archivos nautilus lo abrimos y seguimos los siguientes pasos:\n1- Seleccionamos los archivos y/o carpetas que queremos etiquetar.\n2- Presionamos el botón derecho del ratón y cuando aparezca el menú contextual clicamos en la opción Propiedades.\n3- Al abrirse la ventana de Propiedades clicamos en la pestaña Tags.\n4- A continuación tildamos las etiquetas que queremos asignar a nuestro/s archivo/s o carpeta/s.\n5- En el caso que que la etiqueta que queramos asignar no exista, la escribimos en el cuadro de diálogo y presionamos el botón Añadir.\nDe esta forma tan simple y tan rápida podremos etiquetar nuestros archivos y carpetas.\nNota: En el caso que no es uséis Nautilus tendréis que usar la terminal o buscar soluciones alternativas. Una solución rápida y sencilla para XFCE es crear una acción personalizada en Thunar para etiquetar archivos. Eliminar etiquetas de archivos y carpetas mediante Nautilus Eliminar etiquetas es tan fácil como crearlas. Tan solo tenemos que seleccionar los archivos o carpetas en que queremos eliminar las etiquetas. Presionamos el botón derecho del ratón y cuando aparezca el menú contextual clicamos en la opción Propiedades.\nEn la ventana propiedades clicamos en la pestaña Tags y destildamos las etiquetas que queremos eliminar de nuestros archivos o carpetas.\nEn el caso que nuestro objetivo sea eliminar complemente una de las etiquetas, tan solo la tenemos que seleccionarla y presionar el botón Quitar.\nDe este modo se eliminará por completo la etiqueta de nuestro sistema operativo, de nuestros archivos y de nuestras carpetas.\nEtiquetar archivos y carpetas mediante Tracker-Needle Otra opción para etiquetar archivos es mediante el entorno gráfico de búsqueda de Tracker.\nPor lo tanto accedemos al entorno gráfico de búsqueda a través del menú de aplicaciones de nuestra distro, mediante un atajo de teclado o ejecutando el siguiente comando en la terminal:\ntracker-needle Una vez se abra la interfaz gráfica realizamos una búsqueda del archivo o carpeta que queremos etiquetar. Seguidamente clicamos encima del icono del corazón para que aparezca el panel de etiquetado.\nSeleccionamos el archivo o carpeta que queremos etiquetar. A continuación vamos al panel de etiquetado y tildamos la/s etiqueta/s que queremos asignar a nuestro archivo o carpeta. En el caso que la etiqueta que queramos asignar no exista, la creamos escribiendo su nombre en el cuadro de diálogo y presionando en el botón +.\nNota: Que sepa ninguna de las interfaces gráficas permite introducir comentarios en las etiquetas. Nota: A diferencia de la terminal y Nautilus, Tracker-needle solo te permite etiquetar archivos de forma individual. Esto es una limitación muy grande y por lo tanto es de largo la peor opción que podemos usar. Eliminar las etiquetas de un archivo o carpeta mediante Tracker-Needle Inicialmente tenemos que buscar el archivo o carpeta en el que queremos eliminar la etiqueta. A continuación abrimos el panel de etiquetado clicando encima del icono del corazón.\nFinalmente seleccionamos el archivo o carpeta en el que queremos eliminar la etiqueta y destildamos las etiquetas que queramos eliminar del panel de etiquetado. De esta forma podemos eliminar etiquetas de archivos y carpetas de forma sencilla.\nSi lo que pretendemos es eliminar complemente una de las etiquetas, nos vamos al panel de etiquetado, seleccionamos la etiqueta que queramos eliminar y finalmente presionamos el botón -.\n","permalink":"https://geeklandlinux.github.io/posts/etiquetar-archivos-y-carpetas-nautilus/","summary":"\u003cp\u003eHace pocos días vimos el procedimiento para etiquetar archivos con tracker \u003ca href=\"/posts/etiquetar-archivos-carpetas-terminal/\"\u003emediante la terminal\u003c/a\u003e. La gente a la que no le guste usar la terminal tiene que saber que también tiene la opción de usar las interfaces gráficas para etiquetar sus archivos y carpetas.\u003c/p\u003e","title":"Etiquetar archivos y carpetas con nautilus o tracker-needle"},{"content":"En el siguiente post veremos como podemos compartir cualquier carpeta de nuestro sistema operativo mediante el gestor de archivos Thunar. Para conseguir nuestro propósito usaremos las herramientas samba, el plugin thunar-shares-plugin y seguiremos las siguientes instrucciones.\nINSTALAR THUNAR-SHARES-PLUGIN Las instrucciones a seguir para instalar el plugin thunar-shares-plugin son las siguientes:\nInstalar Thunar-Shares-plugin en cualquier distro Es más que posible que la gran mayoría de distros no dispongan del paquete thunar-shares-plugin en sus repositorios. Si este es vuestro caso deberéis compilar el plugin siguiendo las siguientes instrucciones:\nPrimero instalamos los paquetes necesarios para compilar el programa y para que thunar-shares-plugin funcione de forma adecuada. Para ello ejecutamos el siguiente comando en la terminal:\nsudo apt-get install xfce4-dev-tools libglib2.0-dev libgtk2.0-dev libthunarx-2-dev samba libpam-smbpass checkinstall wget build-essential git Seguidamente creamos la carpeta donde descargaremos el código fuente del plugin thunar-shares-plugin ejecutando el siguiente comando en la terminal:\nmkdir ~/thunar_plugin Accedemos a la carpeta que acabamos de crear ejecutando el siguiente comando:\ncd ~/thunar_plugin A continuación descargamos el código fuente del plugin ejecutando el siguiente comando en la terminal:\ngit clone git://git.xfce.org/thunar-plugins/thunar-shares-plugin Accedemos dentro de la carpeta que acabamos de descargar ejecutando el siguiente comando en la terminal:\ncd thunar-shares-plugin Comprobamos que tenemos instaladas todas las dependencias necesarias y creamos el makefile ejecutando el siguiente comando en la terminal:\n./autogen.sh --prefix=$(pkg-config --variable prefix thunarx-2) Seguidamente usaremos el makefile que acabamos de crear ejecutando el siguiente comando en la terminal:\nmake A continuación compilamos el programa y creamos un paquete .deb ejecutando el siguiente comando en la terminal:\nsudo checkinstall En el momento que inicie el proceso de creación del paquete se os hará la siguiente pregunta:\nShould I create a default set of package docs? Frente a está pregunta deberéis presionar Enter. De este modo responderéis que Sí porque es el valor por defecto.\nA continuación se os pedirá que escribáis una descripción del paquete que estáis construyendo. En mi caso uso la descripción thunar-shares-plugin\nSeguidamente aparecerán los detalles con los que será creado el paquete. Observamos que el valor de la versión es plugin y esto es una problema porque el número de versión tiene que ser un número. Por lo tanto para cambiar la versión escribimos el número 3 y presionamos Enter.\nA continuación introducimos el número de versión que queramos que tenga el paquete. En mi caso escribo 1 y presiono Enter.\nLuego volverán a aparecer los detalles con los que se creará nuestro paquete. Como ahora los valores son correctos presionamos Enter.\nAl cabo de unos segundos, el proceso de creación del paquete finalizará. Si el proceso se realiza con éxito obtendréis el siguiente mensaje:\nFinalmente instalamos el paquete binario .deb que acabamos de crear mediante el método que crean más conveniente. En mi caso, tal y como se puede ver en la captura de pantalla, lo hago mediante gdebi.\nInstalar Thunar-Shares-plugin en Manjaro o en Archlinux Si pretenden instalar thunar-shares-plugin en Manjaro o Archlinux el procedimiento es mucho más sencillo.\nEn archlinux el paquete thunar-shares-plugin está presente en AUR. Por lo tanto tan solo hay que abrir una terminal y ejecutar el siguiente comando para proceder a su instalación:\nyaourt -S thunar-shares-plugin Los usuarios de Manjaro aún lo tienen más fácil. Tan solo tienen que ejecutar el siguiente comando en la terminal:\nsudo pacman -S thunar-shares-plugin-manjaro CONFIGURAR THUNAR-SHARES-PLUGIN Para empezar a compartir carpetas tenemos que configurar thunar-shares-plugin. Para ello tenemos que seguir los siguientes pasos:\nPrimero nos logueamos como root ejecutando el siguiente comando en la terminal:\nsu A continuación definimos que la variable USERSHARES_DIR tenga el valor /var/lib/samba/usershares. La ruta /var/lib/samba/usershares será en la que se montarán las carpetas que queremos compartir. Para conseguir nuestro propósito ejecutamos el siguiente comando en la terminal:\nexport USERSHARES_DIR=\u0026#34;/var/lib/samba/usershares\u0026#34; Seguidamente definimos que la variable USERSHARES_GROUP tenga el valor sambashare. Sambashare será el grupo al que pertenecerá el directorio en el que se montarán las carpetas que queremos compartir. Para conseguir nuestro objetivo ejecutamos el siguiente comando en la terminal:\nexport USERSHARES_GROUP=\u0026#34;sambashare\u0026#34; El siguiente paso consiste en crear la carpeta /var/lib/samba/usershares ejecutando el siguiente comando en la terminal:\nmkdir -p ${USERSHARES_DIR} A continuación creamos el grupo sambashare ejecutando el siguiente comando en la terminal:\ngroupadd ${USERSHARES_GROUP} A la carpeta /var/lib/samba/usershares le asignamos el usuario root y el grupo sambashare introduciendo el siguiente comando en la terminal:\nchown root:${USERSHARES_GROUP} ${USERSHARES_DIR} Finalmente asignamos los permisos 01770 al directorio /var/lib/samba/usershares ejecutando el siguiente comando en la terminal:\nchmod 01770 ${USERSHARES_DIR} De esta forma, en el directorio /var/lib/samba/usershares únicamente podrán acceder y escribir el usuario root y los usuarios pertenecientes al grupo sambashare. Además todos los usuarios que tengan permiso de lectura y escritura tan solo podrán borrar los archivos y directorios en que ellos son los propietarios.\nPara finalizar este apartado les dejo una captura de pantalla de los comandos ejecutados en este apartado:\nCONFIGURAR SAMBA PARA COMPARTIR CARPETAS CON THUNAR Una vez configurado thunar-shares-plugin configuraremos samba. Para ello editamos el archivo smb.conf ejecutando el siguiente comando en la terminal:\nsudo nano /etc/samba/smb.conf A continuación, dentro del apartado global del archivo de configuración tenemos que introducir y/o comprobar que estén disponibles los siguientes parámetros de configuración:\n[global] usershare path = /var/lib/samba/usershares usershare max shares = 100 usershare allow guests = yes usershare owner only = yes workgroup = WORKGROUP El significado de cada uno de los parámetros del fichero configuración es el siguiente:\nLínea 1: Se define la ruta donde se montarán las carpetas que queremos compartir. En nuestro caso la ruta es /var/lib/samba/usershares Línea 2: Se establece el número máximo de carpetas que puede compartir un usuario. En mi caso defino 100 carpetas. Línea 3: Seleccionando el valor yes se permite que en la carpetas compartidas puedan acceder usuarios sin introducir ningún tipo de contraseña. Línea 4: Elegimos el valor yes. De esta forma únicamente podremos compartir las carpetas en que seamos los propietarios. Línea 5: Introducimos el nombre del grupo de trabajo de nuestros equipos Windows. Por lo tanto en mi caso elijo WORKGROUP. En vuestro caso deberéis escribir el nombre de vuestro grupo de trabajo.\nSeguidamente añadimos nuestro usuario al grupo sambashare. Para ello en mi caso tengo que ejecutar el siguiente comando en la terminal:\nusermod -a -G ${USERSHARES_GROUP} joan Nota: En vuestro caso deberéis reemplazar joan por vuestro nombre de usuario. Finalmente tan solo tenemos que reiniciar samba ejecutando el siguiente comando en la terminal:\nsudo service smbd restart En estos momento el proceso ha finalizado y podemos empezar a compartir carpetas:\nCOMPARTIR UNA CARPETA CON SAMBA Los pasos para compartir una carpeta con thunar-shares-plugin son extremadamente simples y son los siguientes:\nAbrimos el gestor de archivos Thunar. Seguidamente seleccionamos la carpeta que queremos compartir, presionamos el botón derecho del ratón y cuando aparezca el menú contextual clicamos en Propiedades.\nA continuación se abrirá la ventana de propiedades y clicaremos encima de la pestaña Compartir. Seguidamente configuraremos los parámetros de compartición de la siguiente forma:\nLa función de cada uno de los parámetros de compartición es la siguiente:\nPara compartir la carpeta en cualquier equipo Windows, Linux o en una SmartTV tenemos que tildar la opción Compartir esta carpeta. A continuación tenemos que escribir el nombre que queramos que tenga el recurso compartido. En mi caso simplemente escribo Descargas. En mi caso tildo la opción Permitir escritura a todos los usuarios. De esta forma todos los usuarios que accedan a la carpeta de forma remota podrán tener permisos y escritura si el administrador del servidor lo permite. Si queremos que los usuarios no tengan acceso a modificar el contenido de nuestros archivos, no los puedan borrar ni cambiar de nombre simplemente dejaremos destilada esta opción. El cuarto paso es definir si los usuarios tienen que introducir un nombre de usuario y contraseña para acceder a la carpeta de forma remota. Como en mi caso no quiero que tengan que introducir ningún usuario ni contraseña tildo la casilla Permitir acceso a invitados. Finalmente en comentarios podemos introducir un texto para definir el contenido de la carpeta que compartimos. Una vez seleccionadas las opciones de compartición tan solo tenemos que presionar el botón Aplicar. Después de presionar el botón estaremos compartiendo la carpeta con todos los usuarios Windows y Linux de nuestra red local.\nOtorgar permisos a los archivos compartidos En estos momentos acabamos de compartir la carpeta Descargas dando la posibilidad que los usuarios remotos tengan permisos de escritura.\nPara garantizar que los usuarios tendrán permisos de escritura realizamos las siguientes operaciones:\nNos vamos a la carpeta Descargas Seleccionamos los archivos que queramos que tengan permisos de escritura. Una vez seleccionamos presionamos el botón derecho del Mouse y cuando aparezca el menú contextual clicamos en Propiedades. Cuando aparezca la ventana de propiedades clicamos en la pestaña Permisos y definimos los permisos que tendrá cada uno de los usuarios. Si queremos que todos los usuarios tengan permisos de lectura y escritura es importante que en el apartado otros figuren los permisos de Lectura y escritura.\nACCEDER A LAS CARPETAS COMPARTIDAS DESDE LINUX Existen varias formas para poder acceder a nuestras carpetas compartidas. A continuación veremos un par de ellas en Linux.\nAcceder a las carpetas compartidas de forma automática Para poder acceder a nuestras carpetas compartidas de forma completamente automática tenemos que instalar el paquete smbclient. Para ello, en el ordenador cliente abrimos una terminal y ejecutamos el siguiente comando:\nsudo apt-get install smbclient Una vez instalado el paquete abrimos el gestor de archivos que usamos habitualmente. Nos vamos al apartado de redes y clicamos encima del icono Red de Windows.\nA continuación les aparecerán la totalidad de equipos de disponen de un servidor samba. En mi caso clico sobre la carpeta JESSIE porque es el equipo que contiene las carpetas que he compartido.\nFinalmente, tal y como se puede ver en la captura de pantalla, ya tendré acceso a las carpetas que he compartido. Con los archivos de dentro de la carpetas podré aplicar todo tipo de operaciones en función de los permisos que haya otorgado en el servidor.\nNota: Para que el cliente pueda ver las carpetas del servidor asegúrense de tener el firewall del cliente y del servidor debidamente configurados. Acceder a las carpetas compartidas de forma manual En el caso que nuestro gestor de archivos no sea capaz de ver nuestras carpetas compartidas podemos forzar la conexión de forma manual.\nPara ello tenemos que averiguar la IP de nuestro servidor de archivos. Por lo tanto en el ordenador encargado de compartir las carpetas abrimos una terminal y ejecutamos el siguiente comando en la terminal:\nsudo ifconfig Después de ejecutar el comando veréis los siguientes resultados en los que se indica vuestra IP.\nSe recomienda que el ordenador que comparta carpetas disponga de una IP fija\nEn mi caso después de ver los resultados puedo afirmar que mi IP interna es la 192.168.1.96.\nA continuación abro el gestor de archivos y presiono presiono la combinación teclas Ctrl+L para poder acceder a la barra de direcciones. Una vez abierta la barra de direcciones teclean el comando smb:// seguido de vuestra dirección IP. Por lo tanto en mi caso tecleo el siguiente comando y presiono Enter.\nsmb://192.168.1.96 Nota: 192.168.1.96 corresponde a la dirección IP de mi servidor de archivos Samba. En vuestro caso deberéis sustituir esta IP por la IP de vuestro servidor. Seguidamente podremos navegar y realizar las operaciones que queramos con las carpetas que tenemos compartidas.\nNota: Para que el cliente puede acceder a las carpetas del servidor asegúrense de tener el firewall del cliente y del servidor debidamente configurados. VER LAS CARPETAS COMPARTIDAS DESDE WINDOWS Acceder a las carpetas compartidas desde Windows es sumamente fácil y al igual que en Linux disponemos de varios métodos.\nAcceder a las carpetas compartidas de forma automática Si el proceso de configuración se ha realizado correctamente tan solo tenemos que abrir el gestor de archivos de Windows.\nUna vez abierto, en el panel izquierdo clicamos en el icono de red y seguidamente aparecerán la totalidad de equipos de disponen de un servidor samba. A continuación clico sobre el icono del ordenador con nombre JESSIE porque es el equipo que contiene las carpetas que he compartido.\nFinalmente, tal y como se puede ver en la captura de pantalla, ya tendré acceso a las carpetas que he compartido. Con los archivos de dentro de las carpetas podré aplicar todo tipo de operaciones en función de los permisos que nos haya otorgado el administrador del servidor.\nEn este punto es importante recordar que para que las carpetas se detecten de forma automática hay que cumplir los siguientes requisitos:\nEl firewall del cliente y del servidor deben estar debidamente configurados. El grupo de trabajo de Windows tiene que ser el mismo que especificamos en el archivo de configuración de Samba del servidor. Acceder a las carpetas compartidas forzando la conexión Si no conseguimos que las carpetas compartidas se detecten de forma automática podemos forzar la conexión. Para ello nos dirigimos a la barra de direcciones del explorador de archivos y ejecutamos el comando \\\\ seguido de la IP del ordenador que tiene las carpetas compartidas. Por lo tanto en mi caso escribo el siguiente comando y presiono Enter:\n\\\\192.168.1.96 Nota: 192.168.1.96 corresponde a la dirección IP del servidor Samba. En vuestro caso deberéis sustituir esta IP por la IP que tenga el ordenador que está compartiendo la carpeta. Seguidamente podremos acceder, navegar y realizar todo tipo de operaciones con los archivos de las carpetas compartidas.\nComo han visto a lo largo del artículo, con el gestor de archivos Thunar y XFCE es extremadamente fácil compartir archivos en Linux. Estos archivos y carpetas los podremos compartir a cualquier sistema operativo existentes e incluso a nuestra smartTV.\n","permalink":"https://geeklandlinux.github.io/posts/compartir-carpetas-thunar-shares-plugin/","summary":"\u003cp\u003eEn el siguiente post veremos como podemos compartir cualquier carpeta de nuestro sistema operativo mediante el gestor de archivos Thunar. Para conseguir nuestro propósito usaremos las herramientas samba, el plugin thunar-shares-plugin y seguiremos las siguientes instrucciones.\u003c/p\u003e","title":"Compartir carpetas en XFCE con Thunar-shares-plugin y samba"},{"content":"En el siguiente artículo explicaré de forma clara que es y para que sirve un grupo de trabajo en Windows. Además, en futuros artículos veremos cómo podemos configurar nuestros grupos de trabajo y compartir archivos de forma fácil y sencilla.\n¿QUÉ ES Y PARA QUE SIRVEN LOS GRUPOS DE TRABAJO EN WINDOWS? Los grupos de trabajo son una de las posibles formas de organizar los equipos dentro de una red local. Otras formas de organizar los equipos que pertenecen a una red local son mediante un dominio o mediante un grupo de hogar.\nLa totalidad de equipos pertenecientes a un mismo grupo de trabajo podrán verse y comunicarse entre ellos. Este hecho proporcionará las siguientes ventajas:\nLos equipos pertenecientes a un mismo grupo podrán compartir archivos y directorios entre ellos de forma extremadamente sencilla. Los equipos pertenecientes a un mismo grupo podrán compartir recursos como por ejemplo impresoras, etc. En ningún momento los grupos de trabajo sirven para centralizar o gestionar permisos de equipos. La administración de usuarios y privilegios se hará de forma individual en cada uno de los equipos que forman parte del grupo de trabajo. Cada uno de los equipos pertenecientes a un grupo de trabajo tienen una relación de igual a igual entre ellos y se administran de forma local.\nLos grupos de trabajo son útiles para ser usados en redes locales pequeñas. Por lo tanto, los grupos de trabajo son una buena solución para usarlos en nuestro hogar. En ambientes corporativos es más recomendable usar dominios.\nPROPIEDADES DE LOS GRUPOS DE TRABAJO Las características básicas de los equipos que forman parte de grupos de trabajo son las siguientes:\nLa relación entre todos los equipos de un grupo de trabajo es de igual a igual. Por lo tanto, ningún ordenador perteneciente al grupo tiene control sobre el otro. El número de equipos que forma un grupo de trabajo acostumbra a ser bajo. Si disponemos de un grupo de trabajo con más de 20 equipos deberíamos plantearnos migrar a un dominio. Para que los usuarios de un grupo de trabajo puedan verse entre ellos deben encontrarse en la misma red local. Cada equipo perteneciente al grupo de trabajo debe disponer de su cuenta de usuario local. Por lo tanto, para iniciar la sesión en un equipo perteneciente a un grupo de trabajo debemos disponer de una cuenta de usuario en este equipo. Todos los usuarios de una red local pueden pertenecer a un grupo de trabajo sin necesidad de pedir permiso ni introducir ninguna contraseña. Por lo tanto, cuando compartimos una carpeta hay que configurar de forma adecuada los permisos y los usuarios que tendrán acceso a nuestra carpeta compartida. COMPROBAR SI NUESTRO EQUIPO FORMA PARTE DE UN GRUPO DE TRABAJO Queramos o no queramos, todos los equipos con Microsoft Windows forman parte de un dominio o de un grupo de trabajo. Para conocer nuestro grupo de trabajo, o dominio, tenemos que acceder a nuestro panel de control. Para ello seguimos los siguientes pasos:\nPresionamos la combinación de teclas Ctrl+R. Cuando aparezca la ventana de ejecutar escribimos la palabra control y presionamos Enter. Una vez dentro del panel de control, en la opción Ver Por seleccionamos la opción Categoría. Seguidamente clicamos encima de la opción Sistema y Seguridad.\nA continuación, dentro de Sistema y seguridad clicamos encima del icono Sistema.\nDentro de Sistema, tal y como se puede ver en la captura de pantalla, verán que mi grupo de trabajo es WORKGROUP.\nNota: En el caso que perteneciera a un dominio, dentro del recuadro de color rojo figuraria la palabra dominio seguido del nombre del dominio al que pertenecemos. CREAR Y CONFIGURAR UN GRUPO DE TRABAJO En las próximas semanas publicaré un artículo en el que explicaré de forma detallada como crear y configurar grupos de trabajo para poder compartir archivos y directorios con los distintos usuarios de nuestra red local.\n","permalink":"https://geeklandlinux.github.io/posts/que-es-grupo-de-trabajo-de-windows/","summary":"\u003cp\u003eEn el siguiente artículo explicaré de forma clara que es y para que sirve un grupo de trabajo en Windows. Además, en futuros artículos veremos cómo podemos configurar nuestros grupos de trabajo y compartir archivos de forma fácil y sencilla.\u003c/p\u003e","title":"¿Qué es y qué utilidades tiene un grupo de trabajo de Windows?"},{"content":"Siguiendo con la serie de post relacionados con Tracker, a continuación veremos como podemos etiquetar archivos y carpetas mediante la terminal usando Tracker.\nBásicamente existen 2 métodos para etiquetar archivos con tracker. El primero de ellos es usando la interfaz gráfica de Nautilus o de Tracker-needle. El segundo es usando la terminal.\nUTILIDAD DE ETIQUETAR LOS ARCHIVOS Y CARPETAS Etiquetar nuestros archivos y carpetas es sumamente útil para los siguientes fines:\nOrganizar la información que tenemos almacenada en nuestro equipo. Buscar los archivos y carpetas almacenadas en nuestro ordenador de forma mucho más rápida y efectiva. Una vez conocidas las principales utilidades pasaremos a ver como podemos etiquetar nuestros archivos y carpetas usando la terminal.\nETIQUETAR ARCHIVOS Y DIRECTORIOS MEDIANTE LA TERMINAL A continuación veremos el procedimiento para etiquetar archivos y directorios en la terminal de Linux.\nCrear una etiqueta con la terminal Si queremos crear una etiqueta sin asignarla a ningún archivo o carpeta tan solo hay que ejecutar el comando tracker tag \u0026ndash;add= seguido del nombre de la etiqueta. Por lo tanto para crear la etiqueta 2015 tan solo deberíamos ejecutar el siguiente comando en la terminal:\ntracker tag --add=2015 Etiquetar archivos y carpetas mediante la terminal Etiquetar un archivo o una carpeta mediante la terminal es sumamente sencillo. Si queremos etiquetar la fotografía vacaciones_2015.png con la etiqueta 2015 tenemos que ejecutar el siguiente comando:\ntracker tag --add=2015 /home/joan/Documentos/vacaciones_2015.png Cada uno de los términos del comando realiza la siguiente función:\ntracker tag: Parte del comando que indica a Tracker que queremos etiquetar un archivo o una carpeta. --add=2015: Indica que queremos añadir una etiqueta con nombre 2015. /home/joan/Documentos/vacaciones_2015.png: Indicamos la ruta del archivo que queremos que tenga la etiqueta 2015.\nUna vez ejecutado el comando, la foto vacaciones_2015.png dispondrá de las etiqueta 2015.\nPara asignar la etiqueta 2015 a varios archivos y/o carpetas de forma simultanea tan solo hay ir añadiendo las rutas de los archivos y/o carpetas una detrás de otra. Por lo tanto para añadir la etiqueta 2015 en los archivos vacaciones_2015.png y vacaciones_2015_1.png debemos ejecutar el siguiente comando:\ntracker tag --add=2015 \u0026#39;/home/joan/Documentos/vacaciones_2015.png\u0026#39; \u0026#39;/home/joan/Documentos/vacaciones_2015_1.png\u0026#39; Nota: Recuerden que al arrastrar un grupo de archivos dentro de la terminal se copian las rutas de forma automática. Añadir una descripción a la etiqueta En el hipotético caso que quisiéramos añadir una descripción a una etiqueta deberíamos usar la opción --description.\nPara añadir la descripción fotos del 2015 a la etiqueta 2015 tenemos que usar el siguiente comando:\ntracker tag --add=2015 --description=”fotos del 2015” Nota: La parte roja del comando corresponde a la parte que añade la descripción a la etiqueta. ELIMINAR ETIQUETAS DE ARCHIVOS Y CARPETAS CON LA TERMINAL Una vez conocido el proceso para crear las etiquetas tenemos que saber como eliminarlas en caso de necesidad.\nEliminar una etiqueta presente en multitud de archivos y carpetas con la terminal Si pretendemos eliminar una etiqueta de un plumazo sin importarnos los archivos y/o carpetas que la están usando hay que ejecutar un comando del siguiente tipo:\ntracker tag --delete=”nombre de la etiqueta a eliminar” Por lo tanto, para eliminar la etiqueta 2015 de todos los archivos y carpetas tan solo deberíamos ejecutar el siguiente comando en la terminal:\ntracker tag --delete=2015 Eliminar etiquetas de un archivo y/o carpeta en particular mediante la terminal Si quieren eliminar una etiqueta de un archivo o carpeta en particular usaremos un comando del siguiente tipo:\ntracker tag --delete=”nombre de la etiqueta” ruta del archivo o carpeta Por lo tanto si quiero eliminar la etiqueta 2015 del archivo vacaciones_2015.png debo usar el siguiente comando:\ntracker tag --delete=”2015” /home/joan/Documentos/vacaciones_2015.png LLEVAR UN CONTROL DE LAS ETIQUETAS MEDIANTE LA TERMINAL Si trabajamos con etiquetas es importante que las podamos controlar en todo momento. En caso contrario nuestra clasificación acabará siendo un caos.\nLos comandos disponibles para poder llevar un control de nuestras etiquetas son los siguientes:\nVer la totalidad de etiquetas disponibles Para ver la totalidad de etiquetas disponibles con sus comentarios y saber el número de archivos y/o carpetas que contiene cada etiqueta deben ejecutar el siguiente comando en la terminal:\ntracker tag -t Ver los archivos que contienen cada una de las etiquetas en la terminal Para consultar los archivos y directorios que contienen cada una de las etiquetas disponibles tenemos que ejecutar el siguiente comando en la terminal:\ntracker tag -t -s Consultar los archivos o carpetas que contiene una etiqueta Si únicamente quieren ver los archivos y carpetas asociados a una etiqueta en concreto tienen que ejecutar el siguiente comando:\ntracker tag -t -s “nombre de la etiqueta” Averiguar las etiquetas que tiene asignadas un archivo o carpeta Para averiguar las etiquetas que tiene asignadas un determinado archivo o carpeta ejecutamos el comando tracker tag seguido de la ruta del archivo o carpeta.\nPor lo tanto si queremos analizar las etiquetas que tiene asignadas el archivo vacaciones_2015.png tenemos que ejecutar el siguiente comando:\ntracker tag /home/joan/Documentos/vacaciones_2015.png ETIQUETAR ARCHIVOS Y CARPETAS USANDO NAUTILUS O TRACKER NEEDLE En el siguiente enlace pueden ver como podemos etiquetar archivos y carpetas de forma gráfica usando Nautilus o Tracker-needle.\nUSAR LAS ETIQUETAS PARA BUSCAR ARCHIVOS Y CARPETAS Pueden consultar el siguiente enlace en el que encontrarán las indicaciones para buscar nuestros archivos y carpetas mediante las etiquetas que hemos usando.\n","permalink":"https://geeklandlinux.github.io/posts/etiquetar-archivos-carpetas-terminal/","summary":"\u003cp\u003eSiguiendo con la serie de post relacionados con Tracker, a continuación veremos como podemos etiquetar archivos y carpetas mediante la terminal usando \u003ca href=\"/posts/configurar-tracker-para-buscar-archivos-por-contenido/\"\u003eTracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eBásicamente existen 2 métodos para etiquetar archivos con tracker. El primero de ellos es usando la interfaz gráfica de Nautilus o de Tracker-needle. El segundo es usando la terminal.\u003c/p\u003e","title":"Etiquetar archivos y carpetas con la terminal en Linux"},{"content":"Ayer inicie un ordenador que tiene instalado Lubuntu y observe que los nombres de las interfaces de red eran poco habituales y difíciles de recordar. Por este motivo en el siguiente artículo veremos como cambiar el nombre de nuestra interfaz de red de forma muy sencilla. De esta forma siempre que veamos el nombre nuestra interfaz de red sabremos cual es sin dudar lo más mínimo.\nCONSULTAR EL NOMBRE DE LA INTERFAZ DE RED Para comprobar el nombre de nuestra interfaz de red tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\nsudo ifconfig Tal y como se puede ver en la captura de pantalla:\nLa tarjeta de red Ethernet es reconocida como enp3s0. Normalmente este tipo de interfaz de red es reconocida como eth0, eth1, eth2, etc. La interfaz de red inalámbrica es reconocida como wlp1s0. Normalmente este tipo de interfaces disponen del nombre wlan0, wlan1, etc. CAMBIAR EL NOMBRE DE NUESTRA INTERFAZ DE RED En mi caso cambiaré el nombre de mis interfaces de red de la siguiente forma:\nenp3s0 se transformará en eth0 wlp1s0 se transformará en wlan0 Los pasos a seguir para conseguir nuestro objetivo son los siguientes:\nAveriguar la mac address de nuestra interfaz de red El primer paso para cambiar el nombre de nuestra interfaz de red es obtener la Mac address de la interfaz de red a la que le queremos cambiar el nombre. Para ello abrimos una terminal y tecleamos el siguiente comando:\nsudo ifconfig Después de ejecutar el comando obtendremos el siguiente resultado:\nTal y como se puede observar en la captura de pantalla:\nMi tarjeta de red Ethernet enp3s0 tiene la mac address 00:23:54:xx:xx:xx La interfaz de red inalámbrica wlp1s0 dispone de la mac address 00:22:43:xx:xx:xx Otro comando útil para obtener las mac address de nuestras interfaces de red es el siguiente:\nsudo ifconfig | grep ether Cambiar el nombre de nuestra interfaz de red Una vez conocemos las direcciones mac ya podemos modificar los nombres de nuestras interfaces de red. Para ello crearemos o editaremos el fichero /etc/udev/rules.d/10-network.rules ejecutando el siguiente comando en la terminal:\nsudo nano /etc/udev/rules.d/10-network.rules Una vez se abra el editor de textos nano añadiremos un texto del siguiente tipo:\nSUBSYSTEM==\u0026#34;net\u0026#34;, ACTION==\u0026#34;add\u0026#34;, ATTR{address}==\u0026#34;Mac_address_interfaz_1\u0026#34;, NAME=\u0026#34;nombre_de_la_interfaz\u0026#34; Por lo tanto, para que mi tarjeta Ethernet enp3s0, que dispone de una Mac Address 00:23:54:xx:xx:xx, se llame eth0 introduciré el siguiente código:\nSUBSYSTEM==\u0026#34;net\u0026#34;, ACTION==\u0026#34;add\u0026#34;, ATTR{address}==\u0026#34;00:23:54:xx:xx:xx\u0026#34;, NAME=\u0026#34;eth0\u0026#34; Para que mi tarjeta de red inalámbrica wlp1s0, que dispone de una Mac Address 00:22:43:xx:xx:xx, se llame wlan0 introduciré el siguiente código:\nSUBSYSTEM==\u0026#34;net\u0026#34;, ACTION==\u0026#34;add\u0026#34;, ATTR{address}==\u0026#34;00:22:43:xx:xx:xx\u0026#34;, NAME=\u0026#34;wlan0\u0026#34; Una vez realizados los cambios el fichero quedará de la siguiente forma:\nAhora tan solo tenemos que guardar los cambios y cerrar el fichero.\nRevisar la configuración del fichero /etc/network/interfaces Nota: Este paso únicamente es necesario para los usuarios que no utilicen gestores de red como Network manager o Wicd. A continuación tenemos acceder al fichero de configuración /etc/network/interfaces ejecutando el siguiente comando en la terminal:\nsudo nano /etc/network/interfaces Una vez dentro del fichero tienen que reemplazar el nombre de las interfaces de red antiguas por el nombre de las nuevas interfaces de red.\nPor lo tanto en el hipotético caso que la configuración de mi /etc/network/interfaces fuera la siguiente:\nauto lo iface lo inet loopback allow-hotplug enp3s0 iface enp3s0 inet static address 192.168.1.40 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 auto wlp1s0 iface wlp1s0 inet static address 192.168.1.40 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 8.8.8.8 La debería reemplazar por la siguiente:\nauto lo iface lo inet loopback allow-hotplug eth0 iface eth0 inet static address 192.168.1.40 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 auto wlan0 iface wlan0 inet static address 192.168.1.40 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 8.8.8.8 Una vez realizadas las modificaciones tan solo hay que guardar los cambios y cerrar el fichero.\nNota: Puede darse el caso que existan otros servicios o programas que en sus archivos de configuración figuren los nombres de las antiguas interfaces de red. En este caso deberemos repetir la operación realizada en este apartado. Comprobar que hemos cambiado el nombre de nuestra interfaz de red Para comprobar que hemos cambiado el nombre de nuestra interfaz de red tan solo tenemos que reiniciar el ordenador. Una vez reiniciado abrimos una terminal y ejecutamos el siguiente comando:\nsudo ifconfig Después de ejecutar el comando pueden comprobar que efectivamente hemos cambiado el nombre de la interfaz de red de forma simple, sencilla y rápida\nCAMBIAR NUESTRA INTERFAZ DE RED DE FORMA PROVISIONAL Si lo que pretendemos es cambiar el nombre de nuestra interfaz de red de forma provisional y sin tener que reiniciar el ordenador existen otras soluciones.\nSupongamos que en nuestro caso tenemos una interfaz de red con nombre eth0 y la queremos renombrar a peth0. Para ello abrimos una terminal y seguimos las siguientes instrucciones:\nApagamos nuestra interfaz de red ejecutando el siguiente comando en la terminal:\nsudo ifconfig eth0 down Seguidamente cambiamos el nombre de la interfaz de eth0 a peth0 ejecutando el siguiente comando en la terminal:\nsudo ip link set eth0 name peth0 Finalmente levantamos la nueva interfaz de red peth0 ejecutando el siguiente comando:\nsudo ifconfig peth0 up De este forma podemos cambiar el nombre de nuestra interfaz de red de forma provisional. La próxima vez que reiniciemos el ordenador se perderán los cambios y nuestra interfaz de red volverá a ser eth0.\n","permalink":"https://geeklandlinux.github.io/posts/cambiar-nombre-interfaz-de-red-linux/","summary":"\u003cp\u003eAyer inicie un ordenador que tiene instalado Lubuntu y observe que los nombres de las interfaces de red eran poco habituales y difíciles de recordar. Por este motivo en el siguiente artículo veremos como cambiar el nombre de nuestra interfaz de red de forma muy sencilla. De esta forma siempre que veamos el nombre nuestra interfaz de red sabremos cual es sin dudar lo más mínimo.\u003c/p\u003e","title":"Como cambiar el nombre de la interfaz de Red en Linux"},{"content":"A raíz del bombo mediático que se ha creado artificialmente con el malware WannaCry, muchos usuarios predican que la seguridad del sistema operativo Linux es extrema soltando frases del tipo:\n“Si usaras Linux esto no pasaría” “Deberías cambiarte a Linux porque estos problemas no existen” “Linux es un sistema operativo mucho más seguro que Windows” “Depender de productos de Microsoft es un riesgo” “Los programas Open Source o libres son más seguros” LA SEGURIDAD EN GNU LINUX NO ES TAN ALTA COMO LA GENTE DICE En mi caso soy un usuario medio de GNU Linux y en cierto modo discrepo con la gente que realiza este tipo de afirmaciones. Los motivos de mi discrepancia son los siguientes:\nEn Linux también es posible infectarte con Malware Es cierto que usando GNU Linux las probabilidades de infección son muy bajas. Pero el principal motivo no es que GNU Linux sea un sistema operativo más seguro que Windows. La razón es que la industria del malware no está interesada en atacar GNU Linux.\nEn el mundo existen muchos servidores Linux que almacenan información importante y/o sensible. No obstante estos servidores no son un objetivo de ataque importante por los siguientes motivos:\nHabitualmente los servidores o equipos personales con Linux están gestionados por personal experto. Detrás de un servidor no hay un usuario final dispuesto a clicar y abrir todo lo que se le meta por delante. Los servicios de hosting, o los administradores de los servidores, hacen copias de seguridad de los datos almacenados en los servidores. Al disponer de copias de seguridad es difícil que los atacantes consigan monetizar el malware. Lo único que conseguirán será robar datos y/o recursos del servidor atacado. Monetizar un ataque informático no es fácil. Quien lo piense 2 veces, o hable con la policia, sabrá que la peor solución que se puede adoptar es caer en el chantaje de los atacantes y pagarles para solucionar el problema. ¿El kernel Linux presenta más vulnerabilidades que Windows? Linux no es un sistema operativo que te pueda garantizar la seguridad absoluta. Según CVE, en los 5 primeros meses del año 2017 se han detectado mas vulnerabilidades de seguridad en el Kernel Linux que en Windows 10. A continuación pueden ver la imagen en la que se detallan el número total de vulnerabilidades detectadas.\nNota: La naturaleza abierta del código de Linux es posible que ayudé a que se detecten más vulnerabilidades de seguridad. Además el listado de CVE solo detalla las vulnerabilidades detectadas sin tener en cuenta la rapidez en que se solucionan. Por lo tanto quien no quiera considerar la lista CVE como válida me parece perfecto. No obstante, lo que demuestra esta lista es que Linux no está exento de problemas de seguridad. Sorprendentemente, o no, en la primera posición está el Kernel de Linux con 317 vulnerabilidades. Para encontrar a Windows 10 tenemos que bajar hasta la posición 13 con 68 vulnerabilidades. Por lo tanto Linux no está exento de problemas de seguridad.\nLa gravedad de las vulnerabilidades del Kernel Linux es superior a Windows Algunos usuarios podrán pensar que la gravedad de las vulnerabilidades del Kernel de GNU Linux no son muy graves.\nPara hacernos una idea de su gravedad, compararemos la gravedad de las vulnerabilidades del Kernel de Linux con las de Windows 10. Según CVE la gravedad de las vulnerabilidades del Kernel de Linux son las siguientes:\nMientras la gravedad de las vulnerabilidades de Windows 10 son:\nSi analizamos las capturas de pantallas vemos lo siguiente:\nEl índice de gravedad de las vulnerabilidades del Kernel Linux es 7.1, mientras que en Windows 10 es de 6.8. Por lo tanto la severidad de las vulnerabilidades es más elevada en el Kernel de Linux. En Windows 10 existen 39 vulnerabilidades muy graves. En el Kernel de Linux existen 53. Por lo tanto según CVE, en el Kernel Linux existen más vulnerabilidades graves que en Windows 10. Asimismo si analizamos las vulnerabilidades con un valor de 7-8 vemos que Windows tiene 82 y el Kernel Linux 256. Por lo tanto en el Kernel de Linux también existen vulnerabilidades de seguridad graves que pueden ser explotadas por cibercriminales.\nEn Linux los programas pueden presentar vulnerabilidades de seguridad En mi caso pienso que los programas Open Source o de Software Libre son más seguros que el resto. No obstante esto no ofrece ninguna garantía. A modo de ejemplo podemos ver que Imagemagick presenta 169 vulnerabilidades de seguridad.\nAunque sus vulnerabilidades no son graves, no es nada alentador que un proyecto de código abierto como Imagemagick presente un número de vulnerabilidades tan elevado.\nCONCLUSIONES En GNU Linux hay menos infecciones por malware, pero no es porque sea un sistema operativo más seguro. Las infecciones en GNU Linux son poco frecuentes por los siguientes motivos:\nLa industria del malware no está interesada en explotar las vulnerabilidades de Linux porque les resultaria difícil monetizar sus exploits. Hay que tener en cuenta que Linux tiene una tasa de implantación muy baja en usuarios de escritorio. Los servidores Linux están gestionados por gente con conocimientos que realizan copias de seguridad de forma periódica. Al disponer de copias de seguridad les será fácil restaurar un servicio o información después de un problema. Por lo tanto a los atacantes les resultará difícil monetizar sus ataques. El eslabón más débil en seguridad es el usuario final. En Linux los usuarios finales acostumbran a tener conocimientos más avanzados que los usuarios de Windows. Los usuarios de Linux acostumbran a actualizar su sistema operativo. En cambio existen muchos usuarios de Windows que les da pereza o no saben actualizar su sistema operativo. Incluso existen empresas importantes que no actualizan sus ordenadores y por este motivo han tenido problemas con el Malware WannaCry. Por lo tanto, la solución al problema de los Ransomware u otro tipo de Malware no es Linux. No hay ningún sistema operativo que sea 100% seguro y decir que GNU Linux es un sistema prácticamente invulnerable lo único que hace es crear una falsa sensación de seguridad.\nEn ningún caso pretendo decir que GNU Linux sea un mal sistema operativo o que Windows sea igual de seguro que GNU Linux. Simplemente digo que en Linux también existe ransomware, malware y agujeros de seguridad como por ejemplo Mirai, Ghost, Dirty Cow, Heartbleed, etc. En el momento que GNU Linux empiece a tener una masa crítica de usuarios de escritorio, también existirán problemas de malware y virus independientemente que sea un sistema operativo más seguro que Windows.\nBuenas prácticas Por lo tanto en Linux, al igual que en el resto de sistemas operativos, hay que tener cuidado y aplicar buenas prácticas como por ejemplo:\nNo clicar en links o archivos sospechosos adjuntos en nuestro email. No clicar en links sospechosos de Internet. Actualizar nuestro sistema operativo y nuestros programas. Realizar copias de seguridad. Trabajar lo mínimo posible con el usuario root. Usar contraseñas seguras. etc. ","permalink":"https://geeklandlinux.github.io/posts/problemas-seguridad-y-virus-linux/","summary":"\u003cp\u003eA raíz del bombo mediático que se ha creado artificialmente con el malware WannaCry, muchos usuarios predican que la seguridad del sistema operativo Linux es extrema soltando frases del tipo:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e“Si usaras Linux esto no pasaría”\u003c/li\u003e\n\u003cli\u003e“Deberías cambiarte a Linux porque estos problemas no existen”\u003c/li\u003e\n\u003cli\u003e“Linux es un sistema operativo mucho más seguro que Windows”\u003c/li\u003e\n\u003cli\u003e“Depender de productos de Microsoft es un riesgo”\u003c/li\u003e\n\u003cli\u003e“Los programas Open Source o libres son más seguros”\u003c/li\u003e\n\u003c/ul\u003e","title":"Los problemas de seguridad y virus también existen en Linux"},{"content":"Hay mucha gente que le puede parecer extremadamente difícil disponer de un servidor OpenVPN. No obstante hoy en día las facilidades existentes para montar un servidor son enormes gracias a que existen instaladores como por ejemplo PiVPN.\n¿QUÉ ES PIVPN? PiVPN es un simple script en lenguaje Bash que nos instalará un servidor OpenVPN de forma absolutamente automática y funcional.\nLas características del servidor VPN que montaremos son las siguientes:\nEl servidor VPN que montaremos es del tipo client to client. Por lo tanto los clientes conectados al servicio VPN podrán verse y comunicarse entre ellos. El servidor dispondrá de autenticación TLS. Esto ayudará a evitar ataques de denegación de servicio o que un tercero realice un escaneo de puertos para evitar vulnerabilidades. El servidor dispondrá de actualizaciones de seguridad de forma completamente automáticas. Esto sin duda es una características esencial. Podremos conectarnos a servicios de nuestra red local desde cualquier lugar del mundo. Al tratarse de un servidor OpenVPN client-to-client, el tráfico entre clientes estará gestionado íntegramente por el servidor openvpn y no habrá ninguna intervención del Kernel. Por lo tanto se trata de una configuración que es funcional y además tiene en cuenta la seguridad y privacidad del usuario.\nEl proceso se puede realizar vía SSH, vía VNC o directamente en la raspberry Pi conectada en un monitor. En mi caso realizaré el proceso de configuración directamente en la Raspberry Pi.\nDISPONER DE UNA IP INTERNA FIJA El primer paso a realizar es asignar una IP fija a nuestra Rasperry Pi. Para conseguir este propósito existen varios métodos, pero en mi caso he aplicado el siguiente:\nNos vamos al indicador de wifi del panel, presionamos el botón derecho del ratón y cuando aparezca el menú contextual clicamos encima de la opción Wireless \u0026amp; Wired Network Settings.\nCuando aparezca la ventana de configuración seleccionamos la interfaz de red que usaremos para el servidor VPN. Como en mi caso me conecto a través de la red Wifi seleccionaré la interfaz wlan0.\nA continuación relleno los parámetros de configuración de nuestra conexión inalámbrica de la siguiente forma:\nEn cada uno de los campo introduzco los siguiente datos:\nCampo Dirección IP: Escribimos la IP interna que queremos que tenga nuestro servidor VPN. En mi caso selecciono la IP 192.168.1.200. Vosotros generalmente podréis usar cualquier entre 192.168.1.2 y 192.168.1.254\nCampo Router: Hay que introducir la puerta de entrada de vuestro Router. En mi caso y en la mayoría de casos de redes tipo C, la puerta de entrada es la 192.168.1.1\nCampo DNS Servers: Debemos escribir la dirección de los servidores DNS que queremos usar. En mi caso uso las direcciones 8.8.8.8 y 8.8.4.4 que corresponden a los servidores DNS de Google. En vuestro caso podéis usar otros servidores sin ningún tipo de problema.\nCampo DNS Search: En mi caso dejo este campo en blanco. Para nuestro propósito este campo no tienen ninguna utilidad.\nUna vez rellenados los campos presionamos el botón Aplicar y reiniciamos la Raspberry Pi. En estos momentos ya deberían disponer de una IP interna fija. Para asegurarse de ello abren una terminal y ejecutan el siguiente comando:\nifconfig Seguidamente les aparecerá la siguiente pantalla y deberán comprobar que la interfaz de red que han configurado tenga la IP que hemos seleccionado. En mi caso pueden ver que la IP es 192.168.1.200. Por lo tanto puedo afirmar que dispongo de una IP estática.\nDISPONER DE UNA IP EXTERNA FIJA Para conectarnos al servidor OpenVPN desde fuera de nuestra red local necesitamos una IP Pública fija.\nEn la mayoría de ocasiones este punto es un problema porque los proveedores de internet actuales acostumbran a ofrecer servicios de IP pública dinámica. Para solucionar este inconveniente podemos configurar un servicio de DNS dinámico como NO-IP.\nSiguiendo las instrucciones del link que acabo de dejar asociaremos nuestra IP pública a un dominio de forma permanentemente. De esta forma nuestro servidor OpenVPN siempre estará accesible desde el exterior de nuestra red local mediante un dominio del servicio NO-IP.\nEn mi caso mi IP Pública está asociada al dominio geekland.sytes.net.\nABRIR LOS PUERTOS DE NUESTRO ROUTER Seguidamente configuraremos nuestro router para que redirija las peticiones de los clientes al servidor Opevpn. Para realizar esto tenemos que abrir nuestro navegador y teclear nuestra puerta de entrada. Una vez realizado esto, tal y como se puede ver en la captura de pantalla, se abrirá una ventana que nos pedirá nuestro nombre de usuario y contraseña:\nUna vez introducida la información accederemos a la configuración de nuestro router. Seguidamente, tal y como se puede ver en la captura de pantalla, tenemos que acceder a los menús Advanced / NAT / Virtual Servers:\nA continuación presionamos el botón Add y nos aparecerá la siguiente pantalla:\nEn en el campo custom server hay que escribir un nombre cualquiera. En mi caso como se puede ver en la captura de pantalla he escrito OpenVPN.\nSeguidamente en el campo Server IP Address tenemos que escribir la IP del servidor OpenVPN. En mi caso he configurado que nuestro servidor tenga la IP estática 192.168.1.200. Por lo tanto en este campo debo escribir la IP 192.168.200.\nEn mi caso quiero que el servidor VPN funcione con el protocolo UPD y el puerto 1194. Por lo tanto, tal y como se puede ver en la captura de pantalla, seleccionamos el protocolo UDP y escribimos el puerto de nuestro servidor OpenVPN (1194) en los puertos internos y externos.\nPresionamos el botón Apply/Save y de esta forma todas las peticiones exteriores que lleguen a nuestro router por el puerto 1194 serán redirigidas a nuestro servidor OpenVPN.\nINSTALAR Y CONFIGURAR EL SERVIDOR OPENVPN La instalación y configuración del servidor VPN es un juego de niños. Lo único que tenemos que realizar es abrir una terminal y ejecutar el siguiente comando:\ncurl -L https://install.pivpn.io | bash El comando descargará y ejecutará el script PiVPN. Justo después de ejecutar el script empezará la instalación del servidor OpenVPN.\nDurante la instalación tendréis que seleccionar una serie de parámetros. Los parámetros ha seleccionar en mi caso han sido los siguientes:\nSeleccionar la interfaz de red Inicialmente es posible nos aparezca la siguiente ventana para seleccionar la interfaz de red que queremos usar para el servidor OpenVPN.\nSiempre tengo la Raspberry Pi conectada a Internet a través de la red Wifi. Por lo tanto en mi caso seleccionaré la interfaz wlan0. En el caso conectéis a internet mediante cable deberéis seleccionar la opción eth0.\nConfigurar una IP estática Seguidamente nos preguntaran si queremos que la IP interna actual sea configurada como estática. A tal pregunta responderemos que Sí. Si os fijáis veréis que la IP que os ofrecerá como predeterminada es la que configuramos como estática en apartados anteriores.\nSeleccionar el usuario del servidor OpenVPN A continuación nos preguntará el usuario que queremos que almacene las configuraciones del servidor VPN. En mi caso solo tengo un usuario que es Pi y es el que selecciono. En caso que tengáis más de un usuario recomiendo usar el usuario en que os logueéis habitualmente.\nNota: En términos de seguridad no es adecuado usar el usuario Pi. En principio seria más adecuado usar otro usuario. Actualizaciones de seguridad Seguidamente se os preguntará si queréis recibir actualizaciones de seguridad en el servidor. En este apartado es recomendable responder que Sí.\nSeleccionar el protocolo El siguiente paso es seleccionar el protocolo en que queremos que trabaje el servidor VPN. Podéis elegir el protocolo que queráis, no obstante en mi caso siempre elijo el protocolo UDP.\nLos motivos por los que elijo UDP son fáciles de entender. El protocolo UDP es más ligero y ofrece mayor velocidad transmisión que el protocolo TCP. Aunque el protocolo TCP asegura mejor la integridad de los datos transmitidos, puedo afirmar que en mi caso el protocolo UDP nunca me ha dado problemas.\nNota: En el caso de elegir el protocolo TCP, recuerden que en la configuración del router deberán habilitar el protocolo TCP en el puerto que trabaja el servidor OpenVPN. Seleccionar el puerto del servidor OpenVPN El siguiente punto a definir es el puerto en que trabajará el servidor OpenVPN. En apartados anteriores decidimos que queríamos que el puerto de nuestro servidor OpenVPN sea el 1194. Por lo tanto escribimos el puerto 1194 y presionamos en el botón Aceptar.\nDespués de haber confirmado el puerto nos volverá a pedir confirmación. Responderemos que Sí.\nNota: el puerto 1194 es el puerto estándar de los servicios OpenVPN. Por lo tanto en términos de seguridad seria recomendable usar otro puerto. En caso de usar otro puerto recuerden que también tendrán que abrirlo en su router. Elegir el nivel de cifrado del servidor Ahora es el momento de elegir la longitud de la clave privada de nuestro servidor. Cuanto más alta sea la longitud de la clave, más tiempo y más potencia se necesitará para que un ataque de fuerza bruta tenga éxito.\nEn mi caso selecciono una longitud de 2048 bits. Si existen paranoicos de la seguridad pueden incluso elegir la opción de 4096 bits.\nDefinir la IP pública de nuestro servidor Openvpn El siguiente paso es determinar la IP Pública de nuestro servidor. Como en mi caso uso un cliente de DNS dinámico seleccionaré la opción DNS Entry\nA continuación introduciremos el dominio de nuestro servicio DNS dinámico y seleccionaremos la tecla OK.\nEn mi caso, en apartados anteriores configure una cuenta de NO-IP con el dominio geekland.sytes.net. Por lo tanto en mi caso introduzco el dominio geekland.sytes.net y presiono la tecla OK.\nDefinir el servidor DNS que se usará para resolver las peticiones de los clientes Finalmente tan solo tenemos que seleccionar el servidor DNS que queremos usar para resolver las peticiones de nuestros clientes. Podéis seleccionar cualquiera de los servidores, no obstante os recomiendo que elijáis los de Google o los de OpenDNS.\nReiniciar el servidor o la Raspberry Pi Cuando aparezca la siguiente pantalla tan solo deberán seleccionar la opción Sí ya la Raspberry Pi se reiniciará.\nUna vez reiniciada, cada vez que encendamos la Raspberry Pi se levantará un servidor OpenVPN que estará a nuestra plena disposición.\nCREAR CLIENTES PARA EL SERVIDOR OPENVPN Una vez configurado el servidor ya podemos crear los usuarios que tendrán acceso al servidor VPN.\nPara crear un usuario tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\npivpn add A continuación se nos preguntará el nombre que queremos que tenga el primero de nuestros usuarios. Escribimos un nombre de usuario y presionamos la tecla Enter.\nSeguidamente tendremos que introducir la contraseña para que el usuario que estamos creando se pueda conectar al servidor. La introducimos una vez y presionamos Enter, seguidamente la volvemos a introducir para confirmarla. A continuación se creará el usuario y un archivo de configuración para que el usuario pueda conectarse fácilmente al servidor OpenVPN.\nEl archivo de configuración se creará en la ubicación ~/ovpns\nSi quisiéramos crear un usuario sin contraseña deberíamos haber ejecutado el comando:\npivpn add nopass ELIMINAR USUARIOS DEL SERVIDOR OPENVPN Para obtener un listado de la totalidad de certificados otorgados a los clientes ejecutamos el siguiente comando:\npivpn list Al ejecutar el comando obtenemos un listado de la totalidad de los certificados disponibles conjuntamente con su estado.\n::: Certificate Status List ::: :: Status || Name :: Valid :: server Valid :: openvpn Por lo tanto vemos que al cliente openvpn le otorgamos un certificado y además vemos que es válido. Si queremos que este cliente no se pueda conectar nunca más a nuestro servidor tan solo tenemos que revocarle el certificado ejecutando el siguiente comando en la terminal:\npivpn revoke Después de ejecutar el comando se nos preguntará el nombre del cliente al que queremos revocar el certificado. Lo introducimos y presionamos la tecla enter. Acto seguido el cliente ya no se podrá conectar nunca más a nuestro servidor.\nUBICACIONES QUE TENEMOS QUE CONOCER DEL SERVIDOR OPENVPN Para el correcto mantenimiento del servidor OpenVPN es interesante que conozcáis las siguientes ubicaciones:\nArchivo Descripción Ubicación server.conf Archivo donde se guardan los parámetros de configuración del servidor. Si en el proceso de configuración del servidor hemos cometido algún error, tan solo tendremos que acceder a este archivo y realizar las modificaciones pertinentes. /etc/openvpn Default.txt Fichero que se toma como referencia para generar el fichero de configuración de los clientes. En este fichero podremos cambiar parámetros como por ejemplo la IP pública del servidor. /etc/openvpn/easy-rsa/pki cliente.conf Archivo de configuración para que el cliente pueda conectarse al servidor. Este archivo es absolutamente necesario para que los clientes puedan conectarse al servidor OpenVPN. ~/ovpns y /etc/openvpn/easy-rsa/pki Para hacerse una idea de lo que significan cada uno de los parámetros pueden consultar el siguiente post en el que se detalla como instalar y configurar un servidor OpenVPN en Linux.\nOtras ubicaciones de interés de nuestro servidor son:\nArchivo Descripción Ubicación ca.key server.key client1.key client2.key En cada uno de los archivos mencionados se guardan las claves privadas del servidor, de la entidad certificadora y de los clientes. /etc/openvpn/easy-rsa/pki/private server.crt client.crt Certificados de cada uno de los clientes y del servidor. /etc/openvpn/easy-rsa/pki/issued dh2018.pem ta.key Ubicación en que se halla el certificado raíz de la entidad certificados, los archivos que contienen los parámetros de Diffie Hellman y la clave para la autenticación TLS /etc/openvpn/easy-rsa/pki VER LOS CLIENTES CONECTADOS AL SERVIDOR Si alguna vez precisan saber los clientes que están conectados al servidor tan solo tienen que ejecutar el siguiente comando:\npivpn clients DESINSTALAR EL SERVIDOR VPN Si finalmente llega el día que quieren desinstalar el servidor OpenVPN de su Rapberry Pi tan solo tienen que ejecutar el siguiente comando en la terminal:\npivpn uninstall CONECTARSE AL SERVIDOR OPENVPN Una vez finalizada la configuración del servidor ya podemos empezara usar el servidor. En las próximas semanas detallaré el procedimiento a seguir para conectarse a nuestro servidor VPN usando los sistemas operativos más comunes en la actualidad.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-servidor-openvpn-raspberry-pivpn/","summary":"\u003cp\u003eHay mucha gente que le puede parecer extremadamente difícil disponer de un servidor OpenVPN. No obstante hoy en día las facilidades existentes para montar un servidor son enormes gracias a que existen instaladores como por ejemplo PiVPN.\u003c/p\u003e","title":"Instalar un servidor openVPN en una Raspberry Pi con PiVPN"},{"content":"En el pasado vimos el proceso a seguir para instalar y configurar Tracker en nuestro equipo. Como continuación de este post pasaremos a ver como podemos buscar archivos por su contenido utilizando Tracker.\nBUSCAR ARCHIVOS POR SU CONTENIDO CON TRACKER Una vez finalizada la configuración de Tracker podemos empezar a utilizarlo.\nA día de hoy disponemos de 2 formas para usar Tracker. Son las siguientes:\nUsando la interfaz gráfica que nos proporciona Tracker. Mediante la terminal. Me parece mal que el equipo de Gnome no se haya esmerado en integrar Tracker en Nautilus o en el Dash de Gnome Shell. Existían algunas extensiones de Gnome que integraban Tracker en el dash, pero como acostumbra a pasar con las extensiones de Gnome dejan de funcionar con las actualizaciones porque su desarrollador las abandona.\nA continuación pasaremos a ver de forma detallada cada una de las opciones que acabo de citar.\nBuscar archivos por su contenido mediante la interfaz gráfica de tracker Imaginemos que en su día escribí varios documentos en los que hablaba sobre el rango dinámico.\nPara buscar estos documentos de forma rápida accedo al menú de aplicaciones de mi distro y abro la interfaz gráfica de tracker:\nExisten otras formas para abrir la interfaz gráfica de tracker de forma rápida. Algunas de ellas son las siguientes:\nAbrirlo mediante un atajo de teclado. Ejecutando el comando tracker-needle en la terminal. Una vez abierta la interfaz gráfica clicamos en el icono de la lupa y posteriormente en el de la carpeta. Finalmente tecleamos la palabra que queremos buscar dentro de los documentos que tenemos indexados.\nEn mi caso quiero buscar la totalidad de archivos que contienen la palabra rango dinámico en su interior. Por lo tanto escribo el siguiente texto:\n“rango dinamico” Fíjense que el término de búsqueda está entrecomillado. Las comillas son un operador de búsqueda para acotar mejor nuestra búsqueda. Algunos ejemplos de búsquedas que podemos realizar son los siguientes:\nTérmino de búsqueda Resultado de búsqueda obtenido “rango dinamico” buscaremos archivos que en su nombre o en su interior contienen la palabra rango dinámico. rango dinamico buscamos archivos que en su nombre o en su interior contienen la palabra rango y la palabra dinámico. Rango OR dinamico Buscamos archivos que en su nombre o en su interior contienen la palabra rango o la palabra dinámico. Justo después de teclear el término de búsqueda obtenemos el siguiente resultado:\nDisponemos de varios documentos que en su nombre o en su interior contienen la palabra rango dinámico. Una vez localizados podemos realizar las siguientes acciones:\nHacer doble click sobre los documentos para abrirlos y editarlos. Seleccionar uno de los archivos, presionar el botón derecho del ratón y cuando salga el menú contextual clicar en Mostrar la carpeta padre. De este modo se abrirá nuestro gestor de archivos en la ubicación del archivo. En el caso que los resultados de búsqueda sean muy extensos, el entorno gráfico nos permite clasificar las búsquedas por tipos de archivo. Para ello una vez finalizada la búsqueda clicamos encima del icono de la redonda con el interrogante. A continuación veremos que la búsqueda se clasifica por tipo de archivo:\nSi lo único que pretendemos es buscar imágenes que contengan un nombre determinado clicamos en el icono de mostrar imágenes y tecleamos el nombre que estamos buscando. A continuación veremos una miniatura de la totalidad de imágenes que contienen la palabra que estamos buscando.\nDe esta forma tan simple conseguiremos buscar archivos por su contenido mediante la interfaz gráfica Tracker-needle\nBuscar archivos por su contenido usando la terminal Los amantes de la terminal deben saber que también es posible buscar archivos por su contenido con la terminal. Para buscar la totalidad de archivos que en su nombre o en su interior contienen la palabra rango dinámico tenemos que ejecutar el siguiente comando en la terminal:\ntracker search --limit=100 rango+dinamico El significado de cada uno de los parámetros del comando es el siguiente:\ntracker: Parte del comando que ejecuta el software Tracker. search: Corresponde a la acción que queremos realizar con tracker. --limit=100: El número máximo de resultados que nos mostrará Tracker en pantalla. rango+dinamico: Corresponde a las palabras que estamos buscando en el interior o en el nombre de nuestros documentos.\nUna vez ejecutado el comando veremos que obtendremos los mismos resultados que con la interfaz gráfica:\nAl igual que en el caso anterior habrán observado que se pueden usar operadores para acotar más nuestras búsquedas. Algunos de los operadores que podemos usar son los siguientes:\nTérmino de búsqueda Resultado de búsqueda obtenido rango+dinamico buscaremos archivos que en su nombre o en su interior contienen la palabra rango dinámico. rango dinamico buscamos archivos que en su nombre o en su interior contienen la palabra rango y la palabra dinámico. Rango OR dinamico Buscamos archivos que en su nombre o en su interior contienen la palabra rango o la palabra dinámico. rango+dinamico NOT rango+de+puertos Para buscar archivos que en su nombre o en su interior contienen la palabra rango dinámico, pero no contienen la palabra rango de puertos. En este apartado únicamente hemos visto ejemplos simples de como buscar archivos por su contenido mediante la terminal. Las posibilidades de búsqueda mediante la terminal son enormes y mucho más grandes que las que nos proporciona la interfaz gráfica.\nPara ver más ejemplos de como buscar archivos por su contenido les recomiendo que visiten el siguiente enlace:\nhttps://wiki.gnome.org/Projects/Tracker/Documentation/Examples/\nAdemás si quieren obtener ayuda a través de la terminal pueden ejecutar los siguientes comandos:\ntracker search --help tracker sparql --help tracke sql --help ETIQUETAR Y BUSCAR ARCHIVOS MEDIANTE ETIQUETAS Tracker da la posibilidad de etiquetar archivos. Una vez etiquetados podremos usar las etiquetas para incluso poder facilitar más las búsqueda de nuestros archivos.\nEn las próximas semanas escribiré un artículo en el que mostraré de forma detallada el proceso de etiquetado de archivos mediante la terminal y mediante el gestor de archivos Nautilus.\nCONCLUSIONES FINALES Tracker tiene una funcionalidad enorme ya que de forma inmediata nos permite buscar archivos que en su nombre o un su interior contienen determinadas palabras.\nTambién quiero remarcar que bajo mi punto de vista Tracker está desaprovechado. Algunos proyectos que se podrían llevar a término con Tracker y que son muy interesantes son:\nIntegrar Tracker en un gestor de archivos como por ejemplo Nautilus. Integrar Tracker en el Dash de Ubuntu o Gnome. ","permalink":"https://geeklandlinux.github.io/posts/buscar-archivos-por-su-contenido-linux/","summary":"\u003cp\u003eEn el pasado vimos el proceso a seguir para \u003ca href=\"/posts/configurar-tracker-para-buscar-archivos-por-contenido/\"\u003einstalar y configurar Tracker\u003c/a\u003e en nuestro equipo. Como continuación de este post pasaremos a ver como podemos buscar archivos por su contenido utilizando Tracker.\u003c/p\u003e","title":"Buscar archivos por su contenido con Tracker en Linux"},{"content":"En mayo de 2017 Microsoft anunció el nuevo sistema operativo Windows 10 S. Después de informarme sobre las características de este sistema operativo he quedado simplemente estupefacto. Los motivos son los siguientes.\nCARACTERÍSTICAS DEL SISTEMA OPERATIVO WINDOWS 10 S Windows 10 S es un sistema operativo que no aporta nada nuevo al usuario final. Lo único que hace es limitar al usuario aplicando las peores prácticas de Google y de Apple de forma simultánea.\nWindows 10 S, al igual que Windows 10, espía a sus usuarios. En este aspecto Windows está emulando a Google a la perfección. Con el nuevo Windows 10 S google también pretende emular a Apple restringiendo lo que el usuario puede hacer e instalar con sus dispositivos. La verdad dudo que les funcione porque, a diferencia de Apple, las aplicaciones de la tienda de Windows son pésimas. Por lo tanto, Windows 10 S es un sistema operativo que debemos evitar. Nunca se les ocurra comprar un dispositivo con el sistema operativo Windows 10 S porque lo único que obtendrán es poder usar un sistema operativo limitado en todos los aspectos.\nA continuación veremos algunas de las limitaciones del sistema operativos Windows 10 S.\nLIMITACIONES DEL SISTEMA OPERATIVO WINDOWS 10 S Algunas de las limitaciones que Windows 10 S proporciona a sus usuarios son las siguientes:\nWindows 10 S únicamente permite instalar aplicaciones de la AppStore de Microsoft Windows 10 S tiene la capacidad de poder usar cualquier programa existente en la actualidad, permite incluso instalar aplicaciones Win32(X86 y X64) o APPX, pero la única fuente de instalación permitida es la tienda de Microsoft. Este hecho sin duda limita enormemente al usuario por los siguientes motivos:\nNo podremos usar muchos de los programas que usamos habitualmente. Por lo tanto, no podremos usar Steam, Adobe Photoshop, Adobe Illustrator, Adobe Premiere, Chrome, Firefox, Opera, Thunderbird, emuladores, software antivirus, programas desarrollados por nosotros mismos, etc. Dudo enormemente que los propietarios de los software mencionados encapsulen sus programas para que puedan ser publicados en la tienda de Windows. En la tienda de Microsoft existen pocas aplicaciones. Además, las aplicaciones que hay son malas y algunas ni si quiera funcionan o están llenas de publicidad. Por lo tanto si compran un dispositivo con Windows 10 S estarán comprando un pisapapeles. Equipos con un alto coste económico, como por ejemplo el Surface Laptop, vienen equipados con el sistema operativo Windows 10 S. Me parece una vergüenza y un engaño que después de pagar más de 1000 Euros por un ordenador nos encontremos con un sistema operativo limitado. Es cierto que Microsoft, bajo previo pago, nos permite actualizar a la versión Pro del sistema operativo. En la versión Pro no existe ninguna limitación, no obstante aplicar este tipo de prácticas me parece lamentable y más propio de organizaciones como la mafia. No podemos elegir ni el navegador ni el buscador predeterminado Olvidaros de usar el navegador Chrome o Firefox. A día de hoy con Windows 10 S únicamente podemos utilizar el navegador Microsoft Edge. Además, Microsoft no nos permitirá elegir el buscador predeterminado de Edge.\nPor lo tanto, nos guste o no nos guste, tendremos que navegar con Edge y realizar la totalidad de nuestras búsquedas con el buscador Bing.\nEstá claro que Windows pretende forzarnos a usar los servicios de Microsoft. Da igual que sus servicios sean mejores o peores, o que los quieras o no quieras usar. Simplemente los tienes que utilizar a la fuerza para que Microsoft pueda monetizar los datos que obtendrán mientras tu uses sus servicios.\n¿TIENEN JUSTIFICACIÓN LAS LIMITACIONES DE WINDOWS 10 S? Microsoft se excusa que las limitaciones que impone en su sistema operativo son para conseguir los siguientes objetivos:\nIncrementar la seguridad del sistema operativo. Conseguir que el sistema operativo sea más rápido. Hacer que sea el sistema operativo ideal para competir contra los Chromebooks en el entorno educativo. ¿Son realmente ciertos y coherentes los argumentos que menciona Microsoft?\nIncrementar la seguridad del sistema operativo Limitar a los usuarios para que únicamente puedan instalar software de la Windows Store no es garantía de incrementar su seguridad.\nEn la tienda de Windows únicamente se suben archivos binarios. Por lo tanto, Microsoft no tiene la capacidad de analizar el código fuente de las aplicaciones de la tienda y absolutamente nadie nos puede asegurar que las aplicaciones de la tienda son seguras. Además la baja calidad de las aplicaciones que actualmente están en la tienda lo único que me genera es desconfianza y poca seguridad.\nConseguir que el sistema sea más rápido Windows 10 no tiene absolutamente ningún problema de rendimiento. Windows 10 se puede usar de forma fluida en ordenadores que tienen más de 8 años. Por lo tanto, no hace falta limitar el sistema operativo para conseguir un sistema más rápido.\nEn muchos blogs y en presentaciones dicen que Windows 10 S ofrece más velocidad y está más optimizado que Windows 10. Esto no es verdad. Microsoft Windows 10 S no es más que un Windows 10 completo, pero capado. Ambos sistemas operativos comparten la gran mayoría de su código.\nConseguir que sea un sistema apto y seguro para el entorno educativo Windows 10 S pretende limitar lo que los estudiantes pueden instalar en sus equipo. De esta forma los estudiantes aprovecharán mejor su tiempo y no instalarán Malware por accidente en sus equipos.\nEstá muy bien que Microsoft se preocupe por los estudiantes, pero para conseguir estos objetivos no hace falta sacar un nuevo sistema operativo limitado. Cualquier de las versiones de Windows existentes disponen de los mecanismos para poder limitar el software que los estudiantes instalan en sus equipos. Por lo tanto, Windows 10 S no ayuda para nada en el entorno educativo.\nEn el entorno educativo la gente no debe usar sistemas operativos limitados como Windows 10 S. El entorno educativo debe dar a conocer los diferentes sistemas operativos existentes y que los estudiantes sepan apreciar las diferencias que existen entre ellos. Además para cerrar este punto dudo que un sistema operativo tan cerrado y limitado sea útil para que los alumnos aprendan desarrollar aplicaciones con su equipo.\n¿CUÁL ES EL VERDADERO PROPÓSITO DE WINDOWS 10 S? Las razones que Microsoft da para limitar el sistema operativo no se aguantan por ningún sitio.\nBajo mi punto de vista el motivo real por el que Microsoft ha sacado Windows 10 S es el siguiente:\nActualmente nadie usa la tienda de aplicaciones de Microsoft. Por lo tanto, Windows 10 S es una herramienta para incentivar que la gente use la tienda de Microsoft. A medida que se incrementen los usuarios de la tienda Microsoft esperan que los desarrolladores se animen a crear o encapsultar Apps para la tienda de Microsoft.\n¿Tiene futuro la presumible idea de Microsoft? La idea puede parecer acertada, pero tiene todos los números para fracasar. Los motivos son los siguientes:\nEn la actualidad la tienda de Windows es un absoluto desastre. Cuando la gente compre un dispositivo con Windows 10 S acabará perdiendo la paciencia por la poca cantidad y baja calidad de las aplicaciones de la tienda. La tienda de Microsoft nunca podrá disponer de un gran número de programas. En mi caso dudo que Microsoft sea capaz de llegar a acuerdos permanentes con empresas importantes, como por ejemplo Adobe, para distribuir Software a través de la Windows Store. Además, en este punto hay que recordad al difunto Windows RT. Windows 10 S tiene muchos puntos en común con Windows RT. Ambos son sistemas operativos limitados de forma muy similar. Por lo tanto, de la misma forma que Windows RT fracaso estrepitosamente, es muy posible Windows 10 S también fracase.\n","permalink":"https://geeklandlinux.github.io/posts/windows-10-s-mal-sistema-operativo/","summary":"\u003cp\u003eEn mayo de 2017 Microsoft anunció el nuevo sistema operativo Windows 10 S. Después de informarme sobre las características de este sistema operativo he quedado simplemente estupefacto. Los motivos son los siguientes.\u003c/p\u003e","title":"Windows 10 S es un mal sistema operativo para todos los usuarios"},{"content":"En mi caso me gusta Windows 10, pero hay puntos que no me acaban de convencer. Uno de estos puntos es su visor de fotos. Por esto motivo en el siguiente artículo veremos cómo podemos volver a usar el visor de fotos clásico de Windows 7 u 8 en Windows 10.\nMOTIVOS POR LOS QUE NO ME GUSTA EL VISOR DE FOTOS DE WINDOWS 10 Los motivos que hacen que no quiera usar el visor de fotos de Windows 10 son los siguientes:\nEl fondo transparente de las fotografías es negro. Esto es un problema cuando trabajamos en archivos .png con fondo transparente porque cuando copio y pego una foto con la herramienta recortes me queda el fondo de color negro. En mi caso el visor de fotos en Windows 10 es extremadamente lento. Desde el momento que clico sobre el archivo hasta que puedo ver la imagen pasa demasiado tiempo. En mi caso quiero un visor de fotos simple, rápido y que únicamente me permita ver fotos. No me interesan las opciones de edición de fotos y de gestor de colecciones de fotos porque al parecer ralentizan el visor de fotos. Durante muchos años he usado el visor clásico de imágenes en Windows. El hombre es un animal de costumbres. Es un programa que está diseñado para usarse en pantallas táctiles. A pesar de que no uso el visor de fotos de Windows 10 hay que reconocer que puliéndolo será mucho mejor que el visor de fotos clásico de Windows.\nRECUPERAR EL VISOR DE FOTOS CLÁSICO EN WINDOWS 10 El procedimiento para recuperar el visor de fotos clásico en Windows 10 es extremadamente rápido. El proceso consiste en 2 pasos:\nModificar el registro de Windows para recuperar el visor de fotos clásico Añadiremos las entradas pertinentes en el registro de Windows para poder volver a usar el visor de fotos clásico en Windows.\nPara ello clicamos en la siguiente URL para descargar el fichero que nos permitirá modificar el registro:\nDescargar el fichero para modificar el registro de windows\nUna vez descargado el archivo lo buscamos y hacemos doble click sobre él.\nA continuación, aparecerá la siguiente advertencia de seguridad en la que deberemos clicar Ejecutar.\nNota: No se preocupen. Les puedo asegurar que el proceso es 100% seguro. Seguidamente aparecerá la siguiente ventana en la que presionaremos sobre el botón Sí.\nLuego aparecerá la siguiente ventana que nos informa que se han añadido las claves del registro de forma correcta. Para finalizar el proceso tan solo tendremos que presionar el botón Aceptar.\nEn estos momentos ya estamos en disposición de poder visualizar nuestras fotos con el visor de archivos clásico de Windows.\nSeleccionar el tipo de imágenes que queremos ver con el visor clásico de Windows En estos momentos ya podemos usar el visor clásico de Windows, pero aún nos falta configurar el visor de fotos clásico como predeterminado.\nPara ello presionamos la combinación de teclas Win+I. Al abrirse la ventana de configuración de Windows presionamos encima de la opción Aplicaciones:\nSeguidamente en el panel de la izquierda clicamos encima de la opción Aplicaciones predeterminadas, a continuación, en el apartado de visualizador de fotos clicamos encima del icono del visor de fotos de Windows 10 y cuando aparezca la ventana de elegir una aplicación clicamos encima de Visualizador de fotos de Windows.\nEn estos momentos, cualquier foto que abramos en nuestro ordenador se abrirá con el visor de fotos clásico de Windows.\nEn el caso que de forma puntual queramos abrir una imagen con un programa distinto al visor de fotos clásico podemos hacer lo siguiente:\nPosicionamos el puntero del ratón encima de la imagen que queremos visualizar. Presionamos el botón derecho del ratón. Cuando aparezca el menú contextual acceden a la opción Abrir con. Finalmente clican encima de la aplicación que quieran usar para visualizar la imagen. Si lo prefieren también pueden usar un programa predeterminado en función de la extensión de la imagen a visualizar.\nPUNTOS QUE DEBE MEJORAR EL VISOR DE FOTOS DE WINDOWS 10 Mi opinión es que el visor actual de fotos de Windows 10 necesita mejorar los siguientes aspectos:\nEstá muy bien enfocado para usarse en un entorno táctil, pero no en un dispositivo que no disponga de pantalla táctil. Simplemente añadiendo algunas características y funcionalidades en el programa podrían solucionar este punto. Se debería poder elegir el color de fondo que queremos que tenga el visor. Debería permitir introducir texto mediante teclado en la imagen. Además, sería muy interesante que pudiéramos insertar formas predefinidas en las imágenes como por ejemplo flechas, líneas, rectángulos, cuadros de texto, etc. El programa debería ser más rápido. Únicamente modificando los puntos que cito, el visor de fotos de Windows 10 sería la herramienta perfecta para cualquier persona que trabaja en una oficina.\n","permalink":"https://geeklandlinux.github.io/posts/recuperar-visor-de-fotos-clasico-windows/","summary":"\u003cp\u003eEn mi caso me gusta Windows 10, pero hay puntos que no me acaban de convencer. Uno de estos puntos es su visor de fotos. Por esto motivo en el siguiente artículo veremos cómo podemos volver a usar el visor de fotos clásico de Windows 7 u 8 en Windows 10.\u003c/p\u003e","title":"Como recuperar el visor de fotos clásico en Windows 10"},{"content":"Existen muchas formas para seleccionar el programa predeterminado para abrir una determinada extensión de archivo en Windows. Por este motivo a continuación mostraré las formas que considero más apropiadas para realizar esta operación en Windows 10.\nESTABLECER EL PROGRAMA PREDETERMINADO PARA ABRIR UNA EXTENSIÓN DE ARCHIVO CON EL PANEL DE CONTROL En el caso que tengamos un gran número de extensiones de archivo que no se abren con el programa que queremos, les recomiendo aplicar la siguiente solución.\nTenemos que acceder al panel de control de Windows. Para ello presionamos la combinación de teclas Win+R.\nAl aparecer la ventana de Ejecutar tecleamos el comando control y presionamos el botón Aceptar.\nSeguidamente, en el apartado Ver Por seleccionamos la opción Iconos pequeños. A continuación, clicamos en la opción Programas predeterminados.\nEl siguiente paso es clicar en la opción Asociar un tipo de archivo o protocolo con un programa.\nA continuación, aparecerá la ventana en la que tendremos que seleccionar el programa predeterminado para abrir una determinada extensión.\nA modo de ejemplo en mi caso tengo configurado que los archivos .bmp se abran con Fotos. Para cambiar este comportamiento seguiré los siguientes pasos:\nInicialmente busco la fila que contiene la extensión .bmp. Seguidamente hago doble clic sobre el programa predeterminado de la extensión .bmp que en mi caso es Fotos. Cuando me aparezca la ventana ¿Cómo quiere abrir los archivos…? clico encima del programa que quiero usar, que en mi caso es el Visualizador de fotos de Windows Una vez seleccionado el programa clico encima del botón Aceptar. Siguiendo estos simples pasos, la próxima vez que abra un archivo .bmp se abrirá con visualizador de fotos de Windows en vez de la aplicación de Fotos.\nNota: Si en la lista de programas no les aparece el que están buscando tan solo tiene que clicar encima del apartado Más Aplicaciones. ESTABLECER EL PROGRAMA PREDETERMINADO PARA ABRIR UNA EXTENSIÓN DE ARCHIVO CON EL MENÚ DE CONFIGURACIÓN DE WINDOWS 10 La operación que acabamos de realizar también se puede realizar usando los nuevos menús de configuración de Windows 10. Para ello tenemos que seguir los siguientes pasos:\nAccedemos al panel de configuración de Windows presionando la combinación de teclas Win+I. Cuando aparezca la ventana de configuración clicamos encima del icono Aplicaciones.\nSeguidamente, en el panel de la izquierda clicamos encima de la opción Aplicaciones predeterminadas. A continuación, clican en la opción Elegir aplicaciones predeterminadas por tipo de archivo.\nFinalmente aparecerá la ventana en la que tendremos que seleccionar el programa predeterminado para abrir una determinada extensión.\nA modo de ejemplo en mi caso tengo configurado que los archivos .bmp se abran con Adobe Photoshop. Para cambiar este comportamiento tengo que realizar los siguientes pasos:\nMe dirijo a la fila que contiene la extensión .bmp. Seguidamente clico sobre el programa predeterminado para abrir las extensiones .bmp que en mi caso es Photoshop. Finalmente, cuando aparezca la ventana elegir una aplicación clico encima del programa que quiero usar que en mi caso es El visor de fotos de Windows. En estos momentos podemos estar seguros que la próxima vez que abramos una imagen .bmp, lo haremos mediante el Visualizador de fotos de Windows.\nESTABLECER EL PROGRAMA PREDETERMINADO PARA ABRIR UNA EXTENSIÓN DE ARCHIVO CON EL MENÚ CONTEXTUAL En el caso que únicamente pretendamos asociar una única extensión de archivo a un programa existen soluciones más prácticas a las que acabamos de ver.\nDe este modo, si queremos que todos los archivos con extensión .bmp se abran con Adobe Photoshop seguiremos los siguientes pasos:\nSeleccionamos un fichero con extensión .bmp. Seguidamente presionamos el botón derecho del ratón. Cuando aparezca el menú contextual nos dirigimos a las opciones del menú Abrir con y clicamos encima de la opción Elegir otra aplicación. Cuando aparezca la ventana como Como quieres abrir este archivo realizamos lo siguiente:\nSeleccionamos el programa predeterminado para abrir los archivos .bmp. Tildamos la casilla Usar siempre esta aplicación para abrir los archivos .bmp. Finalmente presionamos encima del botón Aceptar. De este modo tan simple a partir de estos momentos todos los archivos .bmp se abrirán con el programa Photoshop.\nNota: Si en la lista de programas no les aparece el que están buscando tan solo tiene que clicar encima del apartado Más Aplicaciones.","permalink":"https://geeklandlinux.github.io/posts/programa-predeterminado-para-abrir-archivo/","summary":"\u003cp\u003eExisten muchas formas para seleccionar el programa predeterminado para abrir una determinada extensión de archivo en Windows. Por este motivo a continuación mostraré las formas que considero más apropiadas para realizar esta operación en Windows 10.\u003c/p\u003e","title":"Elegir el programa predeterminado para abrir una extensión de archivo en Windows"},{"content":"En el siguiente artículo veremos el proceso a seguir para crear nuestros propios audiolibros a partir de un archivo pdf.\nEl proceso que seguiremos para poder conseguir nuestro objetivo es el que describe a continuación:\nMediante la herramienta pdftotext convertiremos un fichero .pdf a formato .txt Seguidamente dividiremos el archivo de texto .txt en varias partes. Cada parte contendrá una página del archivo pdf inicial. A continuación usaremos el sintetizador de voz pico2wave para transformar cada uno de los archivos de texto a un archivo .wav. Finalmente, mediante lame transformaremos cada uno de los archivos .wav a .mp3. La totalidad del proceso que acabo de mencionar lo realizaremos de forma automática mediante un script. De esta forma podremos transformar nuestros archivos pdf en audiolibros de forma sencilla y efectiva.\nINSTALACIÓN DE LOS PAQUETES NECESARIOS El primer paso consiste consiste en instalar los paquetes necesarios para que podamos ejecutar el script sin problemas. Para ello ejecutamos el siguiente comando en la terminal:\nsudo apt-get install python poppler-utils lame libttspico-utils coreutils mawk gawk Una vez instaladas las dependencias necesarias ya podemos descargar el script.\nDESCARGAR E INSTALAR EL SCRIPT PARA CONVERTIR ARCHIVOS PDF EN AUDIOLIBROS MP3 Abrimos una terminal y ejecutamos el siguiente comando:\ngit clone https://github.com/jccall80/pdf2mp3 Una vez descargado el script le damos permisos de ejecución ejecutando el siguiente comando en la terminal:\ncd pdf2mp3 \u0026amp;\u0026amp; sudo chmod +x pdf2mp3 Seguidamente copiamos el script dentro de la ubicación /usr/bin ejecutando el siguiente comando en la terminal:\nsudo cp pdf2mp3 /usr/bin/ En estos momentos el proceso de instalación del script ha finalizado. Ahora tan solo tenemos que ejecutar el script y convertir los archivos pdf que queramos en audiolibros que tendrán el formato .mp3.\nCONVERTIR UN ARCHIVO PDF A UN AUDIOLIBRO EN MP3 Tan solo tenemos que abrir una terminal y ejecutar un comando del siguiente estilo:\npdf2mp3 ruta y nombre del archivo pdf Por lo tanto si en mi caso que convertir el libro de la biografía de Steve Jobs en un audiolibro, tan solo tengo que ejecutar el siguiente comando:\npdf2mp3 \u0026#39;/home/joan/Escritorio/Steve Jobs. La Biografia, Walter Isaacson.pdf\u0026#39; Nota: Recuerden que con simplemente arrastrar un archivo sobre la terminal se copia la ruta y el nombre del archivo a convertir. Justo al ejecutar el comando empezará la conversión del archivo .pdf a .mp3.\nUna vez finalizado el proceso encontraremos los archivos de audio en la ubicación /tmp/pdf2mp3. Para acceder a esta ubicación ejecutamos el siguiente comando en la terminal:\ncd /tmp/pdf2mp3/ A continuación, si ejecutamos el comando ls veremos que en mi dispongo de 839 archivos mp3. Cada archivo corresponde a una página del archivo pdf que he convertido en audiolibro:\nPara juntar estos 839 archivos en un único archivo ejecutamos el siguiente comando en la terminal:\ncat *.mp3 \u0026gt; final.mp3 Después de ejecutar el comando, dentro de la ubicación /tmp/mp3 encontraremos el archivo final.mp3 que contiene la totalidad de paginas de nuestro libro.\nEste archivo lo podemos copiar y escuchar tranquilamente en cualquier reproductor de mp3 como por ejemplo nuestro teléfono, nuestro ordenador, el equipo de audio de nuestro coche, etc.\nDe esta forma tan sencilla podemos transformar la totalidad de nuestros archivos pdf en audiolibros.\nRESULTADO OBTENIDO A continuación les dejo una muestra del resultado que obtendremos al aplicar el procedimiento de este artículo.\nComo pueden observar el resultado obtenido es aceptable y superior al de la gran mayoría de herramientas online que realizan este tipo de conversión.\nAJUSTES QUE SE PUEDEN REALIZAR AL SCRIPT El script usado para convertir archivos pdf a audiolibros en mp3 funcionará a la perfección siempre y cuando el idioma del pdf a transformar esté en Español.\nSi el pdf a transformar está en otro idioma deberemos realizar pequeñas modificaciones en el script para obtener resultados aceptables.\nPara realizar las modificaciones abriremos el contenido del script original y localizaremos la siguiente línea:\npico2wave -l=es-ES -w=\u0026#34;$WAVE\u0026#34; \u0026#34;`cat $FIRST_FILE.lock`\u0026#34; Una vez encontrada la deberemos modificar en función del idioma en que esté el pdf a transformar. De este modo:\nSi el pdf a transformar está en Inglés deberemos reemplazar es-ES por en-US:\npico2wave -l=en-US -w=\u0026#34;$WAVE\u0026#34; \u0026#34;`cat $FIRST_FILE.lock`\u0026#34; En el caso que el pdf a transformar esté en Francés deberemos reemplazar es-ES por fr-FR:\npico2wave -l=fr-FR -w=\u0026#34;$WAVE\u0026#34; \u0026#34;`cat $FIRST_FILE.lock`\u0026#34; En el hipotético caso que el pdf a transformar esté en Italiano deberemos reemplazar es-ES por it-IT:\npico2wave -l=it-IT -w=\u0026#34;$WAVE\u0026#34; \u0026#34;`cat $FIRST_FILE.lock`\u0026#34; Finalmente, si el pdf a transformar está en Alemán deberemos reemplazar es-ES por de-DE:\npico2wave -l=de-DE -w=\u0026#34;$WAVE\u0026#34; \u0026#34;`cat $FIRST_FILE.lock`\u0026#34; Realizando estás simples modificaciones obtendremos resultados aceptables en la totalidad de idiomas que acabo de citar.\n","permalink":"https://geeklandlinux.github.io/posts/crear-audiolibros-a-partir-de-un-pdf/","summary":"\u003cp\u003eEn el siguiente artículo veremos el proceso a seguir para crear nuestros propios audiolibros a partir de un archivo pdf.\u003c/p\u003e\n\u003cp\u003eEl proceso que seguiremos para poder conseguir nuestro objetivo es el que describe a continuación:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eMediante la herramienta pdftotext convertiremos un fichero .pdf a formato .txt\u003c/li\u003e\n\u003cli\u003eSeguidamente dividiremos el archivo de texto .txt en varias partes. Cada parte contendrá una página del archivo pdf inicial.\u003c/li\u003e\n\u003cli\u003eA continuación usaremos el sintetizador de voz pico2wave para transformar cada uno de los archivos de texto a un archivo .wav.\u003c/li\u003e\n\u003cli\u003eFinalmente, mediante lame transformaremos cada uno de los archivos .wav a .mp3.\u003c/li\u003e\n\u003c/ol\u003e","title":"Crear nuestros propios audiolibros en mp3 a partir de un archivo pdf"},{"content":"Recientemente escribí un artículo en el que comentaba una serie de motivos éticos y técnicos para no usar Facebook. No obstante habrá gente que por necesidad usará Facebook para chatear con sus amigos. Si quieren chatear en Facebook con sus contactos sin necesidad de entrar en la horrorosa página web de Facebook pueden seguir los siguientes pasos que veremos a continuación.\nINSTALAR PIDGIN PARA CHATEAR EN FACEBOOK El primer paso consiste en instalar pidgin en nuestra distribución Linux. En función de la distribución que tengamos deberemos usar los siguientes comandos de instalación:\nDistribución Comando Debian y derivadas sudo apt-get install pidgin aspell-es Archlinux y derivadas sudo pacman -S pidgin aspell-es Fedora y derivadas sudo yum -y install pidgin aspell-es Opensuse sudo zypper install pidgin aspell-es INSTALAR EL PLUGIN PURPLE-FACEBOOK Una vez finalizada la instalación de pidgin tenemos que instalar el plugin purple-facebook. Este plugin es el que nos permitirá chatear en Facebook con nuestros contactos.\nPara la instalación de purple-facebook existe la cómoda posibilidad de añadir un repositorio en vuestra distro y realizar la instalación de forma cómoda y práctica. No obstante en mi caso prefiero no “contaminar” los repositorios de mi distro y por lo tanto utilizaré el siguiente método:\nAccedemos dentro de la siguiente página web.\nhttps://download.opensuse.org/repositories/home:/jgeboski/\nUna vez dentro de la página web clicamos encima de la carpeta de nuestra distro. En mi caso clico encima de Debian_8.0/\nA continuación clicamos encima de la carpeta correspondiente a nuestra arquitectura. En el caso que no sepan la arquitectura de su procesador ejecuten el comando uname -m en la terminal. En función del resultado obtenido realizarán lo siguiente:\nSi el resultado obtenido es x86_64 deberán clicar encima de la carpeta amd64. Si el resultado obtenido es i686 cliquen sobre la carpeta i386 o en su defecto sobre la i586 o i686. Seguidamente descargamos el paquete binario purple-facebook a nuestro disco duro:\nFinalmente instalamos el paquete purple-facebook que acabamos de descargar. En mi caso lo instalo fácilmente mediante gdebi.\nUna vez instalado purple-facebook ya podemos pasar al siguientes paso.\nLos usuarios de Archlinux pueden instalar purple-facebook a través de AUR ejecutando el siguiente comando en la terminal:\nyaourt -S purple-facebook AVERIGUAR NUESTRO USUARIO DE FACEBOOK Un paso importante es conocer nuestro usuario de Facebook. Para ello accedemos a la configuración de nuestra cuenta clicando encima de la flechita del menú de Facebook. Una vez se abra el menú clicamos encima de la opción Configuración.\nFinalmente en el apartado Nombre de usuario averiguaremos nuestro nombre de usuario. Como pueden ver en la captura de pantalla, en mi caso el nombre de usuario es geekland.\nCONFIGURAR PIDGIN PARA PODER CHATEAR EN FACEBOOK CON NUESTROS CONTACTOS Abrimos el programa Pidgin. Accedemos al menú Cuentas y a continuación clicamos en la opción Gestionar cuentas.\nCuando aparezca la ventana de las cuentas que tenemos configuradas presionamos encima del botón Añadir.\nEn la ventana de Añadir cuenta ingresamos la siguiente información:\nEn Protocolo tenemos que elegir la opción Facebook. No seleccionéis la opción Facebook XMPP. Repito que la opción a seleccionar es Facebook.\nEn el campo Nombre de usuario escribimos el nombre de usuario de nuestra cuenta de Facebook. Si tienen algún tipo de duda pueden consultar el apartado anterior de este post.\nEn Contraseña introducimos la contraseña de nuestra cuenta de Facebook.\nTildamos la casilla Recordar Contraseña. De esta forma cada vez que abramos Pidgin nos conectaremos al chat de nuestra cuenta de Facebook.\nEn Apodo local escribimos el nombre que queremos que se muestre cuando estemos chateando en Pidgin.\nUna vez rellenados todos los campos tan solo tenemos que presionar el botón Añadir.\nA continuación lo más probable es que obtengan el siguiente mensaje de error;\nUser must verify their account on www.facebook.com (405) Este error es debido a que Facebook bloquea la conexión de Pidgin porque detecta que una aplicación desconocida quiere acceder a nuestra cuenta de Facebook.\nPara solucionar este tema accedemos a nuestra cuenta de Facebook. Justo en el momento de acceder Facebook nos preguntará que confirmemos nuestra identidad. Para ello clicamos en el botón Continuar.\nA continuación se nos preguntará el método que queremos usar para confirmar nuestra identidad. En mi caso selecciono la opción Identifica fotos de amigos y presiono el botón Continuar.\nSeguidamente identificamos a nuestros amigos hasta finalizar el proceso.\nUna vez finalizado el proceso nos vamos a pidgin y presionamos encima del botón Reconectar.\nJusto después de presionar el botón podremos empezar a chatear en Facebook a través de Pidgin sin tener que sufrir la horrible web de Facebook\nBENEFICIOS OBTENIDOS DE CHATEAR EN FACEBOOK CON PIDGIN El beneficio más significativo es poder chatear con nuestros contactos de Facebook sin tener que sufrir la horrible interfaz y anuncios de Facebook.\nEl hecho de seguir este método no evitará que el contenido de nuestras conversaciones sean almacenadas por Facebook.\n","permalink":"https://geeklandlinux.github.io/posts/configurar-pidgin-chatear-en-facebook/","summary":"\u003cp\u003eRecientemente escribí un artículo en el que comentaba una serie de \u003ca href=\"/posts/razones-para-no-usar-facebook/\"\u003emotivos éticos y técnicos para no usar Facebook\u003c/a\u003e. No obstante habrá gente que por necesidad usará Facebook para chatear con sus amigos. Si quieren chatear en Facebook con sus contactos sin necesidad de entrar en la horrorosa página web de Facebook pueden seguir los siguientes pasos que veremos a continuación.\u003c/p\u003e","title":"Configurar pidgin para chatear en Facebook con Linux"},{"content":"Existen muchas personas que compran discos duros de red, dispositivos NAS, o Raspberry Pi para simplemente disponer de un disco duro de red, o para ver series y películas en su televisor, ordenador o tablet. Si la gente quiere usar estos dispositivos me parece perfecto, pero deberían saber que prácticamente la totalidad de routers actuales disponen de un servidor multimedia DLNA incorporado. Por lo tanto, si en los routers actuales le enchufamos un disco duro, o memoria USB, podremos:\nDisponer de un disco duro de red. Visualizar y reproducir la totalidad de archivos de vídeo, imagen y música que tenemos en el disco duro de red mediante nuestro smart TV, ordenador o tablet. En el momento que usamos nuestro Router como servidor multimedia o disco duro de red obtendremos las siguientes ventajas:\nNo tendremos que invertir en dispositivos nuevos para conseguir nuestro objetivo. El consumo energético será menor ya que evitaremos conectar nuevos aparatos a la red eléctrica. Quizás el procedimiento para poder lanzar el vídeo a través del servidor multimedia de nuestro router no sea tan amigable como en una Raspberry Pi o un NAS. No obstante el vídeo lo podremos ver a la perfección.\nCONECTAR UN DISCO DURO O MEMORIA USB A NUESTRO ROUTER La gran mayoría de Routers disponen de un conector USB. Por lo tanto el primer paso es localizar este conector y enchufarle un disco duro o memoria USB.\nACTIVAR EL SERVIDOR MULTIMEDIA DE NUESTRO ROUTER A continuación tenemos que acceder a la configuración de nuestro Router. Para ello abrimos nuestro navegador.\nEn la barra de direcciones tecleamos nuestra puerta de entrada, que en mi caso es 192.168.1.1, y presionamos la tecla Enter.\nSeguidamente aparecerá una ventana en la que deberemos ingresar el nombre de usuario y la contraseña de nuestro router. Una vez introducidos presionamos sobre el botón Iniciar Sesión.\nNota: Por norma general, el nombre de usuario y la contraseña acostumbran a ser admin y admin respectivamente. En el caso que no sea admin admin pueden probar otras combinaciones como por ejemplo 1234 1234, admin 1234, 1234 admin, etc. Si ninguna les funciona llamen a su proveedor de internet. Una vez dentro de la configuración del router tenemos que activar el servidor multimedia DLNA. Para ello en mi caso tengo que seguir los siguientes pasos:\nEn el menú de navegación de la izquierda clico sobre la opción Advanced Setup. Dentro del apartado Advanced setup clico sobre la opción DLNA. Seguidamente activo el servidor multimedia clicando encima de la casilla Enable on-board digital media server. A continuación, en el apartado Media Library Path aseguramos que la ruta de montaje indicada sea la del disco duro que hemos enchufado al router. Finalmente presionamos encima del botón Apply/Save. Nota: El procedimiento de este apartado puede ser ligeramente diferente en función del router de que dispongáis. En estos momentos el servidor multimedia está activado. Por lo tanto ya estamos en condiciones de poder visualizar contenido a través de nuestro servidor multimedia.\nINTRODUCIR CONTENIDO A NUESTRO SERVIDOR MULTIMEDIA La gran mayoría de routers disponen del protocolo samba activado por defecto. Por lo tanto usaremos Samba para introducir contenido a nuestro servidor multimedia.\nEn caso de no disponer del protocolo samba existen otras opciones como por ejemplo usar el protocolo ftp. La gran mayoría de routers también disponen de un servidor ftp que por lo general viene desactivado.\nIntroducir películas, series y archivos de audio al servidor multimedia en Linux Los pasos a seguir para introducir contenido en nuestro servidor multimedia son los siguientes:\nAseguramos que nuestro ordenador esté conectado a internet a través del router en el que hemos enchufado el disco duro. Abrimos el gestor de archivos de nuestro ordenador personal. A continuación presionamos la combinación de teclas Ctrl+L En la barra de direcciones introducimos el comando smb://192.168.1.1 y presionamos la tecla Enter. Nota: En el comando para conectarme al disco duro utilizo la dirección 192.168.1.1. Esta dirección corresponde a la puerta de entrada de nuestro router. Si vuestra puerta de entrada es diferente deberéis reemplazar la dirección 192.168.1.1 por vuestra puerta de entrada. Siguiendo estos sencillos pasos nos conectaremos al disco duro de nuestro router. En estos momentos, copiando y pegando podremos introducir el contenido que queramos en nuestro servidor multimedia.\nUna vez hayamos introducido el contenido podemos crear un acceso directo de conexión a nuestro router. Para ello tenemos que realizar los siguiente pasos:\nEn el apartado de redes seleccionamos la conexión que hemos establecido. Presionamos el botón derecho del menú. Cuando aparezca el menú contextual clicamos encima de Crear acceso directo. De esta forma tan simple, en el apartado de Ubicaciones se creará un acceso directo a nuestro Router o servidor multimedia. De esta forma la siguiente vez que queramos acceder a nuestro servidor multimedia no será necesario introducir ningún tipo de dirección. Tan solo tendremos que clicar encima del icono del acceso directo.\nNota: Mediante iOS o Android también es posible introducir contenido a nuestro servidor multimedia. No obstante en este tutorial no se detalla el procedimiento. Introducir películas, series y archivos de audio al servidor multimedia en Windows Hay varias formas de introducir contenido a nuestro servidor multimedia. En nuestro caso lo haremos mediante el protocolo Samba operando de la siguiente forma.\nEl primer paso consiste en asegurar que nuestro ordenador sea capaz de detectar el disco duro de nuestro servidor multimedia. Para ello presionamos la combinación de teclas Ctrl+I. Cuando se abra el menú de configuración de Windows clicamos encima de la opción Red e Internet.\nA continuación clicamos encima de la opción Opciones de uso Compartido.\nA continuación comprueben que la totalidad de opciones de uso compartido estén como en la siguiente captura de pantalla. En el caso que tengáis una configuración diferente la modificáis y seguidamente presionáis sobre el botón Guardar cambios.\nEn estos momentos abrimos el gestor de archivos y en el panel de la izquierda clicamos en el apartado de Red. A continuación en el panel de la derecha clicaremos en la ubicación de red correspondiente a nuestro Router que en mi caso es COMTREND.\nEn estos momentos ya tengo pleno acceso al contenido del Router. Por lo tanto copiando, pegando y eliminando seré capaz de introducir y quitar contenido de mi servidor multimedia sin ningún tipo de problema.\nNota: Mediante iOS o Android también es posible introducir contenido a nuestro servidor multimedia. No obstante en este tutorial no se detalla el procedimiento. VER PELÍCULAS Y SERIES A TRAVÉS DE NUESTRA TABLET, ORDENADOR O TELEVISOR A continuación veremos como podemos visualizar el contenido almacenado en nuestro servidor multimedia.\nVer Películas y series y escuchar audio del servidor multimedia mediante nuestro televisor El método de este apartado dependerá mucho de vuestro modelo de SmartTV. En mi caso tengo una Samsung y el proceso es tan simple como el que mostraré a continuación:\nEn mi mando distancia presiono el botón Source. Justo al presionar el botón veréis que una de las fuentes detectadas es el servidor multimedia de nuestro Router. Mediante el mando a distancia accedemos dentro de nuestro servidor.\nUna vez dentro de nuestro servidor multimedia podremos escuchar y ver la totalidad de audios y vídeos que tenemos almacenados. Para ello tan solo tenemos que seleccionar el archivo de audio o vídeo que queremos visualizar o escuchar y presionar el botón OK de nuestro mando a distancia.\nActo seguido empezará la reproducción del archivo de audio o de vídeo.\nVer Películas y series del servidor multimedia en una tablet o teléfono con iOS En el dispositivo iOS les recomiendo instalar y usar la Aplicación AVPplayer. Aunque se trata de una aplicación de pago, puedo afirmar que es la única aplicación de al Appstore que lee absolutamente todos los formatos de vídeo y de audio.\nUna vez instalada la aplicación aseguran que su dispositivo iOS disponga de conexión a Internet a través del Router que hará que servidor multimedia\nSeguidamente abren AVplayerHD y clican sobre la opción Wi-Fi Transfer.\nA continuación clican sobre la opción UpnP/DLNA.\nSeguidamente accedemos al disco duro de nuestro router clicando encima del servidor multimedia de nuestro router.\nFinalmente tan solo tienen que clicar encima del archivo de vídeo que quieran visualizar y empezará la reproducción.\nVer Películas y series de nuestro servidor multimedia en Android Para visualizar películas a través de nuestro servidor multimedia en Android les recomiendo usar VLC. Una vez instalado lo abren y siguen las siguientes instrucciones:\nAseguran que el dispositivo Android disponga de conexión a Internet a través del Router que hará que servidor multimedia. Seguidamente clican encima de las 3 barras horizontales de la parte superior izquierda.\nCuando se abra el menú de la aplicación presionan encima de la opción Red local.\nA continuación les aparecerá la pantalla en la que podrán seleccionar el protocolo que quieren usar para conectarse al router. En mi caso me da la posibilidad de conectarme a través de Samba o DLNA. Podéis elegir cualquiera de los 2, pero en mi caso acostumbro a utilizar Samba.\nFinalmente accederéis al disco duro de vuestro router y podréis escuchar o visualizar cualquier archivo de vídeo, audio o imagen que tengáis almacenado.\nVer Películas y series de nuestro servidor multimedia con Linux Con el ordenador conectado a internet a través de nuestro router abrimos el gestor de archivos.\nSeguidamente clicamos encima del acceso directo del apartado Ubicaciones que creamos en apartados anteriores:\nFinalmente abrimos el archivo de audio o de vídeo que queramos mediante el reproductor de vídeo VLC.\nNota: Recomiendo usar el reproductor de vídeo VLC porque es capaz de reproducir vídeo en red y además lee todos los formatos de vídeo y audio. Ver Películas y series de nuestro servidor multimedia a través de Microsoft Windows Si hemos seguido los pasos mencionados en el apartado “Introducir películas, series y archivos de audio en Windows”, el procedimiento a seguir es muy sencillo.\nPrimero aseguramos que nuestro ordenador dispone de conexión a Internet a través del router que hace de servidor multimedia.\nA continuación abrimos el gestor de archivos y en el panel de la izquierda clicamos en el apartado de Red. A continuación en el panel de la derecha clicaremos en la ubicación de red correspondiente a nuestro Router que en mi caso es COMTREND.\nEn estos momentos ya tenemos pleno acceso al contenido de nuestro servidor multimedia. Ahora tan solo tenemos que abrir el archivo que queramos mediante el reproductor de vídeo VLC.\nActo seguida empezará la reproducción del vídeo.\n","permalink":"https://geeklandlinux.github.io/posts/servidor-multimedia-dlna-router/","summary":"\u003cp\u003eExisten muchas personas que compran discos duros de red, dispositivos NAS, o Raspberry Pi para simplemente disponer de un disco duro de red, o para ver series y películas en su televisor, ordenador o tablet. Si la gente quiere usar estos dispositivos me parece perfecto, pero deberían saber que prácticamente la totalidad de routers actuales  disponen de un servidor multimedia DLNA incorporado. Por lo tanto, si en los routers actuales le enchufamos un disco duro, o memoria USB, podremos:\u003c/p\u003e","title":"Servidor multimedia DLNA con nuestro router para ver vídeos y series"},{"content":"Cuando me enteré que Canonical abandona el desarrollo del escritorio Unity, la convergencia y Ubuntu Phone quede sorprendido, pero analizándolo fríamente pienso que han tomado la decisión correcta por los siguientes motivos.\nMOTIVOS POR LOS QUE UBUNTU TENIA QUE ABANDONAR UNITY, LA CONVERGENCIA Y UBUNTU PHONE Económicamente no es viable Canonical ha invertido una gran cantidad de recursos en desarrollar la convergencia y Ubuntu for Mobiles. Después de realizar la inversión han visto que pierden y seguirán perdiendo dinero si continúan invirtiendo recursos en estos 2 proyectos. Por lo tanto desde el punto de vista empresarial abandonar la convergencia y Ubuntu para móviles es una decisión correcta.\nCabe recordar que Canonical es una empresa con ánimo de lucro. Por lo tanto, no tiene mucho sentido invertir en proyectos que no dan dinero.\nCanonical no tiene ninguna motivación para seguir desarrollando Unity A partir del anunció de Mark Shutleworth, Canonical centrará su esfuerzos en el Internet de las cosas y la nube.\nPara centrarse en el Internet de las cosas y la nube no hace falta disponer de ningún escritorio propio como Unity. Por lo tanto, es lógico que Ubuntu pase a usar el escritorio de Gnome. Usando el escritorio de Gnome conseguirán los siguientes beneficios:\nPodrán centrarse en la actividad que realmente les aporta beneficios económicos. Durante los últimos años, Canonical ha querido abarcar demasiados campos y lo único que han conseguido es que sus proyectos nacieran tarde y mal. El entorno de escritorio de su distribución funcionará mejor. Se liberarán de un coste y de un dolor de cabeza. Es inútil persistir en una idea equivocada En Canonical han visto que no es posible desbancar a los gigantes que están en el mercado de la telefonía móvil y la convergencia.\nPara competir con gigantes como Apple, Google o Microsoft se requiere de varios factores:\nEl primero de los factores es el dinero. Canonical no tiene el poderío económico para competir contra los gigantes que acabamos de citar. El segundo de los factores es ofrecer un producto, o un sistema operativo, superior al de la competencia. Parecía que un buen camino para diferenciarse y enganchar a la gente era la convergencia y el software libre, pero el concepto de momento no ha calado en los usuarios. Es posible que las ideas de Marc Shuttleworth no hayan calado por la ineficiencia o falta de recursos de canonical. Toda la implementación de Ubuntu para móviles, la convergencia y Unity 8 ha sido extremadamente lenta. Esto ha originado que el proyecto de canonical pierda gran parte de su credibilidad.\nSu camino actual les alejaba de la comunidad Linux Mi sensación es que a partir del nacimiento de Unity, todas las decisiones de Canonical estaban enfocadas a separarse del resto de distribuciones Linux. Los motivos de tal afirmación son las siguientes:\nHan desarrollado un escritorio nuevo que lo único que ha aportado es fragmentación. Para mi el escritorio Unity no es innovador en ningún aspecto. Otro de los aspectos que les ha alejado de la comunidad es Mir. ¿Por qué Ubuntu tiene que crear el servidor gráfico Mir cuando pueden usar Wayland? ¿Es que acaso Mir es un servidor Gráfico innovador y superior a Wayland? Ubuntu para móviles es otro claro ejemplo que en Canonical van a lo suyo sin importarles el resto de actores. En la mayoría de sus apariciones públicas hacen anuncios de proyectos importantes que nunca llegan concretarse. Este tipo de comportamiento lo único que hace es que pierdan credibilidad y popularidad frente al público. Su popularidad ha caído en picado desde la implantación de Unity La popularidad de Ubuntu y Unity han caído en picado durante los últimos años. Tan solo tenéis que consultar servicios como Google Trends o webs como distrowatch para ver lo siguiente:\nSi analizamos la evolución de las tendencias de búsqueda en Google del término Ubuntu obtenemos los siguientes resultados:\nAnalizando el término Unity vemos lo siguiente:\nFinalmente, si analizamos los resultados de Distrowatch vemos que en 2011 Ubuntu perdió su trono y nunca más lo ha vuelto a recuperar. Actualmente Ubuntu ocupa la 4ª posición en este ranking de popularidad.\nDatos desde noviembre 2016 hasta abril 2017[/caption]\nCabe recordar que Ubuntu ocupo la primera posición del ranking de distrowatch entre los años 2005 y 2010. Justo al implantar Unity perdieron la primera posición y nunca más la han vuelto a recuperar.\nPor lo tanto podemos afirmar que desde la implantación del escritorio Unity, la popularidad de Ubuntu no ha hecho más que decrecer.\nEl rendimiento y la funcionalidad de Unity no es correcta Unity ha implementado funciones interesantes como por ejemplo:\nLos menús globales. Mejor aprovechamiento del tamaño de nuestra pantalla. Etc. No obstante, el rendimiento y funcionalidad del escritorio Unity ha sido más que cuestionable desde sus inicios hasta el día de hoy. Además, lo que se ha visto de Unity 8 tampoco es nada esperanzador. Unity 8 hace años que es la eterna promesa que nunca llega y al final es más que posible que no acabe llegando nunca.\nAdemás, todo el mundo ha podido experimentar que las últimas versiones de Ubuntu venían con versiones poco actualizadas de partes básicas del sistema operativo como por ejemplo el gestor de archivos Nautilus.\nPor otro lado, Unity es poco configurable y su artwork no me gusta. El aspecto que presenta Ubuntu después de su instalación es pésimo. Su artwork, sus iconos y otros aspectos del entorno de escritorio están poco cuidados.\nLAS CONSECUENCIAS DE LAS DECISIONES DE CANONICAL Las consecuencias de la decisión de canonical nadie las sabe. Tan solo podemos especular y en mi caso creo que pasará lo siguiente:\nEl futuro de Canonical Las consecuencias de estas decisiones tienen que ser positivas para Canonical. Las decisiones tomadas sin duda tienen que ayudar a que Canonical obtenga beneficios de su actividad.\nEl futuro de Gnome y de Ubuntu El futuro de Ubuntu como distro está asegurado. Además cuando pasen a adoptar Gnome como escritorio predeterminado es posible que ocurra lo siguiente:\nTanto Ubuntu como el escritorio de Gnome ganaran en visibilidad y popularidad. Gnome presumiblemente dispondrá de más recursos y apoyo para desarrollar su escritorio. Las nuevas distribuciones de Ubuntu dispondrán de software más actualizado y sin problemas de dependencias. Es posible que Ubuntu ayude a mejorar la experiencia estándar que ofrece el escritorio Gnome. Cabe recordar que en el pasado, el binomio Gnome - Ubuntu consiguieron lo siguiente:\nQue la comunidad asumiera que el escritorio base de Linux era Gnome. Que el público asumiera Ubuntu como la distribución Linux más importante. El futuro de Unity 7 Tengo serias dudas sobre el futuro de Unity 7. El principal motivo es que absolutamente ninguna distribución ha adoptado Unity como escritorio predeterminado.\nNota: Arch es la única distribución que permite instalar Unity y es posible que su funcionamiento no sea del todo estable. Unity está construido sobre tecnologías obsoletas, como por ejemplo Compiz, o exclusivas de Canonical.\nPor lo tanto, no será fácil que la comunidad pueda y quiera hacerse cargo del desarrollo de Unity. Algunos de los problemas que tendrán que afrontar los desarrolladores que quieran hacerse cargo de Unity 7 serán los siguientes:\nUnity 7 depende de Compiz. Hasta el momento no hay ninguna intención de portar Compiz a Wayland, por lo tanto en el momento que X11 quede obsoleto veremos qué pasará con Compiz y con Unity. Unity está basado en Gnome. Esto ocasiona que cada nueva actualización del escritorio Gnome implique una gran cantidad de trabajo de adaptación a los desarrolladores de Unity. En conclusión, tirar adelante el escritorio Unity 7 requiere de una cantidad de trabajo grande por parte de la comunidad. Además mi impresión es que el fruto de este trabajo será pobre porque hay muchos usuarios de Ubuntu que únicamente usan Unity porque es el escritorio por defecto de Ubuntu.\nNota: Este es el triste resultado de querer ir aparte del resto de distribuciones Linux. El futuro de Unity 8 Tampoco soy nada optimista respecto el futuro de Unity 8. Aunque que parece que ya existen forks de Unity 8, Unity 8 está diseñado para funcionar con el servidor gráfico Mir.\nEsto sin duda es un problema grande para que la comunidad quiera y pueda hacerse cargo de desarrollar este escritorio. Además, tanto AMD como Nvidia no parecen dispuestos a dar soporte al servidor gráfico MIR y esto supondrá una cantidad de trabajo que dudo que la comunidad pueda y quiera asumir.\n","permalink":"https://geeklandlinux.github.io/posts/analisis-abandono-unity-convergencia/","summary":"\u003cp\u003eCuando me enteré que Canonical abandona el desarrollo del escritorio Unity, la convergencia y Ubuntu Phone quede sorprendido, pero analizándolo fríamente pienso que han tomado la decisión correcta por los siguientes motivos.\u003c/p\u003e","title":"Análisis sobre el abandono de Unity, la convergencia y Ubuntu para móviles"},{"content":"En el artículo que escribí recientemente vimos las similitudes y diferencias existentes entre apt-get y apt. Para los lectores que estén interesados en probar apt, a continuación les mostraré una tabla de equivalencias entre estos 2 comandos. Además también encontrarán una explicación detallada de la función que realizan cada uno de los comandos que hablaremos.\nTABLA DE EQUIVALENCIAS ENTRE LOS COMANDOS APT-GET Y APT A continuación les presento una tabla equivalencias que les ayudará a usar apt sin ningún tipo de problema:\nComando apt-get Comando equivalente apt Función del comando apt-get update apt update Actualizar los repositorios de nuestra distribución. Los repositorios se acostumbran a configurar en el archivo /etc/apt/sources.list apt-get install apt install Instalar uno o varios paquetes en nuestro sistema operativo. apt-get upgrade apt upgrade Actualizar los paquetes y programas que tenemos instalados. Con apt-get, si los paquetes requieren nuevas dependencias no se actualizarán. Con apt, si los paquetes actualizables requieren de nuevas dependencias, se instalarán las nuevas dependencias y se actualizarán los paquetes. Utilizando estos comando nunca desinstalaremos ningún paquete. apt-get dist-upgrade apt dist-upgrade Actualizamos la totalidad de paquetes que tenemos instalados. Durante el proceso de actualización se instalarán y actualizarán las dependencias necesarias. En caso que sea necesario se pueden desinstalar paquetes de nuestro sistema para resolver conflictos de dependencias. apt-get full-upgrade apt full-upgrade Actualizamos la totalidad de paquetes que tenemos instalados. Durante el proceso de actualización se instalarán y actualizarán las dependencias necesarias. En caso que sea necesario se pueden desinstalar paquetes de nuestro sistema para resolver conflictos de dependencias. apt-get remove apt remove Desinstalar uno o varios paquetes manteniendo sus archivos de configuración. apt-get purge apt purge Desinstalar los paquetes y los archivos de configuración de las utilidades desinstaladas. apt-get autoremove apt autoremove Para desinstalar las dependencias de programas que en su día eran necesarias, pero ahora ya no son necesarias. apt-mark apt-mark Herramienta para etiquetar si los paquetes han sido instalados manualmente o automáticamente. El paquete apt-mark también tiene otras funcionalidades como por ejemplo retener y desretener paquetes, etc. apt-get build-dep apt build-dep Instalar todos los paquetes necesarios para poder compilar un determinado programa o paquete. apt-get clean apt clean Borrar los paquetes binarios almacenados en las ubicaciones /var/cache/apt/archive y /var/cache/apt/archives/partial/. apt-get autoclean apt autoclean Eliminar paquetes binarios que ya no pueden ser descargados de los repositorios de la ubicación /var/cache/apt/archive. apt-get check - Verificar que se cumplen todas las dependencias del sistema- apt-get source apt source Permite descargar el código fuente de un programa o paquete en el directorio. apt-get download apt download Descargar paquetes binarios de nuestros repositorios en el directorio actual. apt-get changelog apt changelog Descarga y muestra en pantalla el registro de cambios de un paquete. apt-get indextargets - Muestra información detallada de los repositorios que tenemos en el sistema operativo. apt-cache search apt search Buscar todos los paquetes que contienen un nombre determinado. apt-cache depends apt depends Mostrar la totalidad de dependencias de un paquete del sistema. apt-cache rdepends apt rdepends Mostrar las dependencias inversas de un paquete. apt-cache policy apt policy Muestra la prioridad de instalación de cada uno de los repositorios y sus ramas. nano /etc/apt/sources.list apt edit-sources Editar el contenido de nuestros repositorios en el fichero /etc/apt/sources.list. apt-cache show apt show Muestra la información y características sobre un determinado paquete presente en nuestros repositorios. apt-cache showsrc apt showsrc Mostrar detalles de los paquetes fuente de nuestros repositorios. apt-show-versions apt list Obtener listados de los paquetes instalados, actualizables, que se han actualizado manualmente, etc. La tabla que les acabo de detallar contiene la totalidad de comandos existentes en la actualidad. En el caso que encuentren a faltar algún comando les agradecería que lo comunicaran en los comentarios de este artículo.\nNota: Algunos de los comandos detallados no están documentados. El motivo es que simplemente se crearon para que exista una equivalencia entre ambos comandos. Nota: Algunos de los comandos que se citan como equivalentes no son realmente equivalentes. No obstante los considero como equivalentes porque la función que realizan es prácticamente equivalente. NOTAS FINALES Mediante la tabla de equivalencias y la descripción de la función de cada uno de los comandos, todos los usuarios deberían ser capaces de usar ambos comandos sin ningún tipo de problema. De este modo, mediante la línea de comandos todo el mundo podrá gestionar los paquetes de su distribución GNU-Linux.\nSi analizan la sintaxis y el uso de ambos comandos verán que son muy semejantes, por lo tanto les será sumamente fácil usar cualquiera de los 2 comandos. Como vimos en artículos anteriores es indiferente usar un comando u otro, por lo tanto usen el que mas les convenga.\nSi precisan de mayor información para poder usar estos dos comandos pueden consultar pueden consultar el manual del administrador de Debian. Concretamente pueden revisar los puntos 5 y 6 del manual.\n","permalink":"https://geeklandlinux.github.io/posts/tabla-equivalencias-apt-get-y-apt/","summary":"\u003cp\u003eEn el artículo que escribí recientemente vimos las \u003ca href=\"/posts/apt-y-apt-get-similitudes-y-diferencias/\"\u003esimilitudes y diferencias existentes\u003c/a\u003e entre apt-get y apt. Para los lectores que estén interesados en probar apt, a continuación les mostraré una tabla de equivalencias entre estos 2 comandos. Además también encontrarán una explicación detallada de la función que realizan cada uno de los comandos que hablaremos.\u003c/p\u003e","title":"Tabla de equivalencias entre los comandos apt-get y apt"},{"content":"A estas alturas muchos de vosotros sabréis que en vuestras distros linux podéis realizar operaciones con vuestros paquetes utilizando los comandos apt y apt-get.\nAmbos comandos son muy similares y muchos usuarios de Linux se preguntan cual es el comando que deberían usar. Para resolver estas preguntas a continuación listaremos las similitudes y diferencias existentes entre apt y apt-get.\n¿QUÉ SIMILITUDES EXISTEN ENTRE APT-GET Y APT? apt-get y apt son 2 herramientas para nuestra línea de comandos muy similares por los siguientes motivos:\nAmbos comandos son interfaces para trabajar y dar ordenes al gestor de paquetes APT (Advanced Package Tool). Apt y apt-get tienen la misma funcionalidad. Esta funcionalidad es gestionar y obtener información de los paquetes de nuestra distro. A pesar de ser 2 herramientas distintas comparten gran parte de su código. Por lo tanto la eficiencia y la seguridad que ofrecen ambas alternativas son equivalentes. Ambas interfaces fueron creadas y son mantenidas por los mismos desarrolladores en el mismo repositorio. Algunos de los desarrolladores actuales de apt y apt-get pertenecen al equipo de desarrollo de Debian y de Ubuntu. La funcionalidades que ofrecen apt y apt-get son prácticamente equivalentes. La gran mayoría de comandos de apt y apt-get son equivalentes en funciones y tienen una sintaxis muy similar. No obstante cabe remarcar que el comportamiento en algunos comandos puede ser ligeramente diferente. ¿QUÉ DIFERENCIAS EXISTEN ENTRE APT Y APT-GET? A pesar de las similitudes también existen diferencias. Algunas de las diferencias existentes entre apt y apt-get son las siguientes:\nApt fue lanzado en el año 2014, mientras que apt-get fue lanzado en 1998. En algunos casos, los resultados mostrados por apt son más amigables y fáciles de leer que los de apt-get. Los comandos para ejecutar las operaciones con nuestros paquetes son más simples en apt que en apt-get. Pueden existir pequeñas diferencias en la ejecución de comandos teóricamente equivalentes. A modo de ejemplo, el comando apt-get upgrade solo actualiza los paquetes que tenemos instalados en nuestro equipo. Si alguno de los paquetes a actualizar requiere de nuevas dependencias entonces el paquete no se actualizará. En cambio si usamos apt upgrade se instalarán las nuevas dependencias y se actualizaran todos los paquetes que tengamos instalados en nuestro equipo. Las versiones antiguas de apt contienen muchos menos comandos que apt-get. No obstante las versiones actuales de ambos comandos prácticamente contienen las mismas funcionalidades. Apt es capaz de gestionar paquetes rpm. Por lo tanto en Fedora, mediante el comando apt-rpm podemos gestionar los paquetes rpm mediante apt. Apt no tiene asegurada la compatibilidad entre versiones mientras que apt-get si. El comportamiento y los resultados de salida de apt pueden variar versión tras versión. En cambio en apt-get los resultados de salida y comportamiento siempre serán los mismos. VENTAJAS PROPORCIONADAS POR APT apt únicamente proporciona una ventaja sobre apt-get. Esta ventaja es que apt es más amigable que apt-get.\nApt es más amigable que apt-get apt es más amigable que apt-get básicamente por dos motivos:\nEl primero de ellos es que los comandos ejecutados con apt son más cortos, más lógicos, más coherentes y más fáciles de recordar.\nLa segundo motivo es que los resultados mostrados en la terminal son más fáciles de leer en apt. A modo de ejemplo podemos ver las siguientes capturas de pantalla:\nCuando instalamos paquetes se muestra una barra de progreso que nos indica de forma gráfica y clara el % de la instalación que hemos realizado.\nCiertos comandos como por ejemplo apt search presentan unos resultados mucho más claros que otros equivalentes como por ejemplo apt-cache search.\n¿QUÉ COMANDO DEBEMOS UTILIZAR? A día de hoy apt y apt-get son plenamente funcionales. Podéis usar cualquiera de los 2 comandos sin ningún tipo de problema. No obstante es importante ser consciente de los siguientes puntos:\nSi queremos trabajar con scripts es mejor usar apt-get. El motivo es sencillo. Apt es una herramienta que puede cambiar su comportamiento entre versiones. Por lo tanto no es buena idea usar apt en tareas de programación. En cambio si usamos apt-get siempre obtendremos el mismo comportamiento y tendremos asegurada la compatibilidad entre las distintas versiones de apt-get. Apt fue creado para ser una herramienta más amigable para el usuario final. En mi caso estoy acostumbrado a usar apt-get y por lo tanto sigo y seguiré usando apt-get. Las supuestas ventajas que me proporciona apt no son suficientemente importantes para que me plantee cambiar mis hábitos.\nPara finalizar este apartado solo quiero puntualizar una serie de puntos que considero importantes:\nEncontraréis fuentes que dicen que apt-get es obsoleto. Esto es absolutamente falso. Apt-get es vigente y no os generará ningún tipo de problema. También es posible que leáis que apt es más eficiente y ofrece más seguridad a sus usuarios. Esta afirmación a día de hoy no es cierta. El código usado para realizar operaciones como resolver dependencias, descargar los paquetes, etc es muy similar en ambos comandos. Por lo tanto ambos comandos ofrecen la misma seguridad y la misma eficiencia. EQUIVALENCIAS ENTRE LOS COMANDOS APT Y APT-GET En el caso que queráis probar apt les recomiendo que visiten el articulo en el que detallo las equivalencias de comandos entre apt-get y apt.\nPara finalizar el artículo pueden visitar el siguiente enlace en el que encontraran información sobre el proceso de desarrollo de apt.\n","permalink":"https://geeklandlinux.github.io/posts/apt-y-apt-get-similitudes-y-diferencias/","summary":"\u003cp\u003eA estas alturas muchos de vosotros sabréis que en vuestras distros linux podéis realizar operaciones con vuestros paquetes utilizando los comandos apt y apt-get.\u003c/p\u003e\n\u003cp\u003eAmbos comandos son muy similares y muchos usuarios de Linux se preguntan cual es el comando que deberían usar. Para resolver estas preguntas a continuación listaremos las similitudes y diferencias existentes entre apt y apt-get.\u003c/p\u003e","title":"apt y apt-get: ¿Cuáles son sus ventajas similitudes y diferencias?"},{"content":"En ocasiones puede resultar interesante disponer de un listado de los archivos y carpetas que contiene un determinado directorio. Algunas de estas ocasiones pueden ser las siguientes:\nCrear una lista de las canciones que tenemos almacenadas en un directorio. Crear un listado de las películas para poderla pasar a un tercero. Disponer de un catálogo de archivos relacionados con un proyecto en concreto. Para realizar esta tarea de forma sencilla, rápida y efectiva tan solo tenemos que seguir el procedimiento que indicamos a continuación.\nCREAR UN FICHERO CON LOS ARCHIVOS Y CARPETAS QUE CONTIENE UN DIRECTORIO CON LA TERMINAL A continuación veremos una serie de variantes que nos permitirán obtener los ficheros y carpetas que contienen un directorio.\nListar los archivos y carpetas que contiene un directorio Si lo único que pretendemos es obtener un listado que contenga los archivos y carpetas que contiene un directorio, tan solo tenemos que abrir una terminal y ejecutar un comando del siguiente tipo:\nls ruta_que_contiene_archivos_a_listar \u0026gt; nombre_archivo_contendra_lista.txt Por lo tanto, si quiero listar el contenido de los archivos y carpetas almacenados en /home/joan/Dropbox/Cursos/ ejecutaré el siguiente comando:\nls /home/joan/Dropbox/Cursos/ \u0026gt; lista.txt El significado de cada uno de los parámetros del comando es el siguiente:\nls : Comando para obtener un listado de ficheros y carpetas de una ubicación. /home/joan/Dropbox/Cursos/: Ruta del directorio que queremos listar. \u0026gt; : Indicamos que el resultado de salida del comando ls/home/joan/Dropbox/Cursos/ se debe volcar en un archivo. lista.txt : Ruta y nombre del fichero que contendrá el listado que queremos generar. Como solo especificamos el nombre, el fichero se creará en la ruta que ejecutamos el comando.\nUna vez ejecutado el comando tan solo tenemos que consultar el contenido del fichero que hemos generado. Para ello hacemos doble clic sobre el archivo que hemos generado y veremos nuestro listado.\nCrear un archivo de texto que contenga los archivos y carpetas de un directorio de forma recursiva Si nuestro objetivo es crear un archivo de texto que contenga un listado de archivos y carpetas de un directorio de forma recursiva, tan solo deberemos añadir el parámetro -R al comando del apartado apartado anterior.\nDe este modo, para obtener un listado de archivos y carpetas de forma recursiva del directorio /home/joan/Dropbox/Cursos/, deberemos ejecutar el siguiente comando en la terminal:\nls -R /home/joan/Dropbox/Cursos/ \u0026gt; lista.txt Para que el listado obtenido esté clasificado alfabéticamente y por extensión, añadiremos el parámetro -X al comando anterior:\nls -R -X /home/joan/Dropbox/Cursos/ \u0026gt; lista.txt Si además queremos obtener el nombre de los archivos y carpetas conjuntamente con su ruta podemos ejecutar el siguiente comando:\nfind /home/joan/Dropbox/Cursos/ \u0026gt; lista.txt Obtener un listado de los archivos y carpetas de un directorio incluyendo información adicional En el caso que queramos obtener un fichero de texto en que se listen los archivos y carpetas del directorio /home/joan/Dropbox/Cursos/ incluyendo sus propiedades como por ejemplo sus permisos, el tamaño, su propietario, etc. debemos ejecutar el siguiente comando:\nls -l -h /home/joan/Dropbox/Cursos/ \u0026gt; lista.txt Crear un fichero que liste los archivos y carpetas de un directorio sin incluir las extensiones de los archivos Para obtener un fichero de texto que incluya los nombres de los archivos y carpetas contenidas en el directorio /home/joan/Dropbox/Cursos/ sin que se incluyan las extensiones de los archivos, deberemos ejecutar el siguiente comando:\nls -1 /home/joan/Dropbox/Cursos/ | rev | cut -f 2- -d \u0026#34;.\u0026#34; | rev \u0026gt; lista.txt Elaborar un fichero de texto que contenga únicamente los archivos de un directorio Para obtener un fichero de texto que incluya únicamente los archivos del directorio /home/joan/Dropbox/Cursos/ ejecutaremos el siguiente comando:\nls -p /home/joan/Dropbox/Cursos/ | grep -v / \u0026gt; lista.txt Si además quisiéramos que en el listado no se muestren las extensiones de los archivos, deberíamos ejecutar el siguiente comando:\nls -p /home/joan/Dropbox/Cursos/ | grep -v / | rev | cut -f 2- -d \u0026#34;.\u0026#34; | rev \u0026gt; lista.txt Si ahora quisiéramos que el listado que acabamos de realizar se genere de forma recursiva deberíamos ejecutar el siguiente comando:\nls -R -p /home/joan/Dropbox/Cursos/ | grep -v / | rev | cut -f 2- -d \u0026#34;.\u0026#34; | rev \u0026gt; lista.txt Construir un listado con las carpetas de un directorio Si nuestro objetivo es obtener un listado de las carpetas del directorio /home/joan/Dropbox/Cursos/ en un fichero de texto con nombre lista.txt, ejecutaremos el siguiente comando en la terminal:\nls -l /home/joan/Dropbox/Cursos/ | grep \u0026#34;^d\u0026#34; | awk -F\u0026#34; \u0026#34; \u0026#39;{print $9}\u0026#39; \u0026gt; lista.txt Si además quisiéramos este listado contenga las carpetas ocultas deberíamos añadir el parámetro -A al comando anterior:\nls -Al /home/joan/Dropbox/Cursos/ | grep \u0026#34;^d\u0026#34; | awk -F\u0026#34; \u0026#34; \u0026#39;{print $9}\u0026#39; \u0026gt; lista.txt Disponer de un fichero de texto que contenga las carpetas de uno o varios directorios incluyendo su ruta Si en un fichero de texto, con nombre lista.txt, queremos incluir un listado de las carpetas del directorio /home/joan/Dropbox/Cursos/ incluyendo su ruta, debemos ejecutar el siguiente comando en la terminal:\nfind /home/joan/Dropbox/Cursos/ -maxdepth 1 -type d \u0026gt; lista.txt Si quisiéramos que el listado incluyera 2 niveles de profundidad entonces podríamos usar el siguiente comando:\nfind /home/joan/Dropbox/Cursos/ -maxdepth 2 -type d \u0026gt; lista.txt Si finalmente quisiéramos obtener un listado recursivo de las carpetas que contiene el directorio /home/joan/Dropbox/Cursos/ deberíamos ejecutar el siguiente comando:\nfind /home/joan/Dropbox/Cursos/ -type d \u0026gt; lista.txt Nota: Para crear más variantes de las que se muestran en este artículo, tan solo tienen que consultar las páginas man de ls y find. CREAR UN FICHERO CON LOS ARCHIVOS Y CARPETAS QUE CONTIENE UN DIRECTORIO USANDO EL GESTOR DE ARCHIVOS Si lo único que pretendemos es obtener un listado de los archivos y carpetas de un directorio sin complicarnos la vida ni importarnos el formato, podemos realizar lo siguiente:\nNos dirigimos al directorio que contiene los archivos que queremos listar. Una vez dentro del directorio seleccionamos todos los archivos y/o carpetas y los copiamos.\nSeguidamente abrimos nuestro editor de textos y pegamos el contenido que acabamos de copiar.\nUna vez pegado el contenido obtendremos el listado que estamos buscando. Ahora tan solo lo tenemos que guardarlo con el formato de archivo que necesitemos.\nTRABAJAR CON LOS ARCHIVOS DE TEXTO QUE HEMOS GENERADO Una vez generado el archivo lo podemos abrir, editar y trabajar de la forma que creamos más conveniente. En mi caso considero que la mejor forma es la siguiente:\nAbrimos una hoja de cálculo como Excel o Calc de Libreoffice. Una vez abierta la hoja presionamos la combinación de teclas Ctrl+A.\nA continuación aparecerá la ventana de Abrir archivos. Buscamos uno de los ficheros de texto que hemos generado y lo abrimos.\nSeguidamente configuramos los distintos apartados que conciernen a la importación de un archivo .txt a .odt o .xls. Una vez seleccionadas las opciones pertinentes presionamos el botón Aceptar.\nJusto después de presionar el botón aceptar dispondremos de nuestro listado de archivos en nuestra hoja de cálculo.\nEn estos momentos podremos trabajar el contenido de nuestro listado de forma mucho más cómoda y práctica.\n","permalink":"https://geeklandlinux.github.io/posts/crear-fichero-con-archivos-y-carpetas-de-un-directorio/","summary":"\u003cp\u003eEn ocasiones puede resultar interesante disponer de un listado de los archivos y carpetas que contiene un determinado directorio. Algunas de estas ocasiones pueden ser las siguientes:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eCrear una lista de las canciones que tenemos almacenadas en un directorio.\u003c/li\u003e\n\u003cli\u003eCrear un listado de las películas para poderla pasar a un tercero.\u003c/li\u003e\n\u003cli\u003eDisponer de un catálogo de archivos relacionados con un proyecto en concreto.\u003c/li\u003e\n\u003c/ol\u003e","title":"Crear un fichero con los nombres de archivos y carpetas de un directorio"},{"content":"Hace semanas tuve una conversación con un lector que daba por sentado que en XFCE no se pueden realizar búsquedas a partir del contenido que tiene un archivo. A raíz de esta experiencia en este artículo explicaré como buscar archivos por su contenido en cualquier entorno de escritorio mediante el programa de Gnome Tracker.\nNota: En Xfce y en otros escritorios ligeros, casi siempre hay opciones para realizar todo lo que tenemos en mente. Cabe recordar que muchos escritorios gtk, como por ejemplo Xfce y Lxde, permiten instalar y usar componentes y aplicaciones de Gnome o Kde. ÁMBITO DE APLICACIÓN DE ESTE TUTORIAL Este tutorial lo podéis aplicar en cualquier entorno de escritorio a excepción de Plasma. Los motivos son los siguientes:\nPlasma ya dispone de esta funcionalidad de serie mediante Strigi, Akonadi y nepomuk. COMO INSTALAR TRACKER Para instalar tracker tienen que ejecutar el siguiente comando en la terminal:\nsudo apt-get install tracker Nota: Los usuarios de Gnome Shell, y otros entornos de escritorio, es posible que ya tengan instalado el paquete. Una vez instalado el programa y podemos iniciar el proceso de configuración.\nCONFIGURAR TRACKER PARA BUSCAR ARCHIVOS POR SU CONTENIDO Uno de los pasos más importantes es definir el contenido que queremos que indexar. Para ello en la terminal ejecutamos el siguiente comando:\ntracker-preferences Después de ejecutar el comando aparecerá la siguiente ventana en la que realizaremos todo el proceso de configuración.\nOpciones de la pestaña indexando En la primera pestaña vemos las siguientes opciones:\nPor lo tanto en la pestaña Indexando tenemos la oportunidad de configurar los siguientes aspectos:\nActivar y desactivar la monitorización de los cambios en los archivos y carpetas. Activar o desactivar la monitorización de archivos y carpetas cuando nuestro equipo trabaja con batería. Definir si queremos que se indexe y monitorice el contenido de dispositivos extraíbles como por ejemplo un USB. Indicar el momento en que tracker puede indexar el contenido de nuestras carpetas y archivos. Que se pare la indexación cuando nos estemos quedando sin espacio en el disco duro. Eliminar contenido indexado de dispositivos extraíbles que hace días que no conectamos a nuestro equipo. Opciones de la pestaña Ubicaciones La pestaña Ubicaciones contiene las siguientes opciones:\nEn esta pestaña de forma muy fácil e intuitiva debemos añadir las ubicaciones que queremos indexar. En mi caso únicamente añado la ubicación /home/joan/Dropbox y tildo la su casilla Recurso para que se indexe de forma recursiva todo el contenido ubicado en mi carpeta de Dropbox.\nÚnicamente tenemos que indexar las ubicaciones que necesitemos por los siguientes motivos:\nCuanto más contenido indexemos, más recursos consumiremos de nuestro ordenador. Cuando menos contenido tengamos indexado, más fácil será encontrar lo que buscamos. Indexar información no útil dificultará nuestras búsquedas. Opciones de las pestaña Contenido ignorado Si examinamos el contenido de la pestaña Contenido ignorado veremos lo siguiente:\nPor lo tanto en esta pestaña podemos configurar los siguientes aspectos:\nDefinir que las carpetas con un determinado nombre o que contengan determinadas extensiones de archivos no se indexen. Indicar las extensiones y/o nombres de los archivos que no queremos que se indexen. Nota: En patrones recomiendo borrar ~$.xls? y ~$.ppt?. De este modo se indexarán los documentos de Microsoft Office que podamos tener en nuestro ordenador. Opciones de las pestaña Controlar Finalmente en la pestaña Controlar podemos ver las siguientes opciones:\nTildando la primera de las casillas hacemos que se indexe el contenido de nuestros archivos. Si nuestro fin es buscar archivos por la información que contienen tenemos que activar esta opción. Si no activamos esta opción simplemente se indexarán los archivos por su nombre.\nEn la segunda de las opciones podemos seleccionar si queremos que tracker indexe los números del contenido y el nombre de nuestros ficheros. En mi caso no selecciono esta opción.\nUna vez realizada toda la configuración presionan el botón Aplicar y reinician el ordenador. Al reiniciar el ordenador empezará la indexación del contenido de nuestros archivos.\nCONFIGURACIÓN AVANZADA DE TRACKER Mediante dconf-editor podemos configurar otros aspectos más avanzados de la aplicación de búsqueda de Gnome.\nPara ello lo primero que tenemos que hacer es instalar dconf-editor ejecutando el siguiente comando en la terminal:\nsudo apt-get install dconf-editor Una vez instalado abrimos una terminal y ejecutamos el comando:\ndconf-editor A continuación se abrirá dconf-editor y deberemos navegar hacia la ubicación /org/feedesktop/tracker.\nDentro de las carpetas de la ubicación mencionada encontrarán los archivos para configurar los siguientes aspectos:\nIndicar si queremos que el indexado y las búsquedas tengan en cuenta los acentos de las palabras. (/org/feedesktop/tracker/fts/enable-unaccent) Fijar un número limite de palabras a indexar por documento. De forma predeterminada el límite de palabras por documento que se indexarán son 10.000. (/org/feedesktop/tracker/fts/max-words-to-index) Definir la longitud máxima de las palabras que se indexarán. Por defecto únicamente se indexarán las palabrás más pequeñas de 30 caracteres. (/org/feedesktop/tracker/fts/max-word-lenght) Regular la velocidad de indexado mediante la propiedad Throttle. Por defecto tracker trabaja a la máxima velocidad. Si notamos lentitud en nuestro ordenador podemos ralentizar la velocidad de indexado. (/org/feedesktop/tracker/miner/files/throttle) El tamaño máximo de datos que se indexarán de cada uno de los archivos que queremos indexar. Por defecto los metadatos extraidos de una uno de los archivos no puede superar los 1.048.576 bytes. (/org/feedesktop/tracker/extract/max-bytes) Tamaño del diario en que se iniciará la rotación. Por defecto cuando el tamaño del diario supera los 50 MB se comprime el diario actual y se crea un diario nuevo. (/org/feedesktop/tracker/db/journal-chunk-size) Etc. Para comprobar la totalidad de parámetros de configuración que estamos usando podemos abrir una terminal y ejecutar el siguiente comando:\ngsettings list-recursively | grep -i org.freedesktop.Tracker | sort | uniq Una vez finalizado el proceso de configuración tan solo tienen que reiniciar el ordenador. Después de reiniciar el ordenador se iniciará el proceso de indexación de contenido.\nUBICACIONES QUE ALMACENAN INFORMACIÓN IMPORTANTE Hay una serie de ubicaciones tenemos que conocer. Estas ubicaciones contienen información importante sobre tracker.\nUbicación de la base de datos La ubicación de la base de datos es la siguiente:\n~/.cache/tracker/meta.db Obviamente nunca tenemos que borrar la base de datos porque es la que contiene la totalidad de metadatos extraídos para realizar nuestras búsquedas.\nUbicación de los diarios Los diarios de tracker se almacenan en la siguiente ubicación:\n~/.local/share/tracker/data/ Los diarios servirán para restablecer la base de datos en el caso que presente problemas.\nARCHIVOS Y CONTENIDO QUE SE PUEDE INDEXAR Tracker permite indexar contenido de un gran número de formatos de archivos. Algunos de los más destacados son:\nArchivos de Microsoft Office como por ejemplo .doc, .xls, .ppt, .docx, .xlsx, .pptx. El contenido de todos los tipos de documento de Libreoffice. Metadatos de los archivos de Microsoft Office o Libreoffice. Archivos html. Archivo de Texto plano. PDF. EPUB. Etc. Si quieren ver la totalidad de archivos que se pueden indexar pueden visitar la siguiente URL:\nExtensiones que soporta el programa\nDESINSTALAR O DESHABILITAR TRACKER Por diversos motivos es posible que haya personas que quieran desactivar o desinstalar el buscador de gnome.\nDesinstalar Tracker Para su desinstalación tienen abrir una terminal y ejecutar el siguiente comando:\ntracker reset --hard Después de ejecutar el comando les aparecerá la siguiente advertencia:\nADVERTENCIA: este proceso puede eliminar datos definitivamente. Aunque Tracker puede reindexar la mayor parte del contenido de manera segura, no se puede asegurar esto para todos los datos. Tenga en cuenta que puede perder datos, proceda bajo su responsabilidad. ¿Esta seguro de que quiere continuar? [s|N]: Como queremos borrar todo el índice teclearemos la tecla s y presionaremos Enter.\nJusto después de borrar los datos que tracker tenia indexados, desinstalaremos el programa ejecutando el siguiente comando en la terminal:\nsudo apt-get remove --purge tracker Deshabilitar Tracker Si lo único que pretendemos es deshabilitarlo, el procedimiento a seguir para el entorno de escritorio XFCE es el siguiente:\nAbrimos una terminal y tecleamos el siguiente comando:\nxfce4-session-settings Una vez ejecutado el comando se abrirá la ventana de sesión e inicio. A continuación clicamos sobre la pestaña Autoarranque de aplicaciones.\nDentro de la pestaña destildamos la totalidad de entradas que hacen referencia a Tracker. En mi caso las entradas son:\nAlmacén de Tracker Extractor de metadatos de Tracker Minero de aplicaciones de Tracker Minero de guías de usuario de Tracker Una vez destildadas estas opciones, la próxima vez que arranquemos el ordenador, el buscador de archivos de Gnome ya no se cargará en memoria.\nALTERNATIVAS PARA BUSCAR ARCHIVOS POR SU CONTENIDO Tracker no es el único software que nos permite buscar ficheros por su contenido. Por lo tanto en el caso que no les convenza pueden probar otras opciones como por ejemplo las siguientes:\nRecoll Beagle EMPEZAR A BUSCAR ARCHIVOS POR SU CONTENIDO En las próximas semanas escribiré una serie de artículos para que todo el mundo sea capaz de buscar archivos y carpetas por su contenido.\nLos artículos que escribiré serán los siguientes:\nComo buscar archivos por su contenido con Tracker. Etiquetar archivos mediante la terminal. Etiquetar archivos mediante el gestor de archivos Nautilus. Buscar archivos y carpetas mediante etiquetas. ","permalink":"https://geeklandlinux.github.io/posts/configurar-tracker-para-buscar-archivos-por-contenido/","summary":"\u003cp\u003eHace semanas tuve una conversación con un lector que daba por sentado que en XFCE no se pueden realizar búsquedas a partir del contenido que tiene un archivo. A raíz de esta experiencia en este artículo explicaré como buscar archivos por su contenido en cualquier entorno de escritorio mediante el programa de Gnome Tracker.\u003c/p\u003e","title":"Configurar tracker para buscar archivos por su contenido en Linux"},{"content":"Hace unas semanas vimos las instrucciones para configurar las opciones de privacidad en Windows. A pesar de configurar las opciones de privacidad, Windows sigue recopilando datos de sus usuarios de forma inevitable porque no ofrece las herramientas necesarias para configurar de forma adecuada nuestra privacidad. Para solucionar este problema en este artículo les presentaré el programa Spybot Anti-Beacon.\n¿QUE HACE SPYBOT ANTI-BEACON? Spybot Anti-Beacon es un software cuyo objetivo principal es bloquear la totalidad de datos telemétricos que Microsoft recopila de nuestros equipos.\nCon los datos telemétricos Microsoft obtiene información del funcionamiento del sistema operativo y de esta forma pueden corregir problemas. No obstante existen muchos usuarios que no se fían de las intenciones de Microsoft y hacen bien porque con el rumbo que ha tomado la tecnología me costaría creer que únicamente se capturen los datos para mejorar el rendimiento de Windows.\nAparte de bloquear el envío de datos telemétricos, Spybot también realiza otras funciones como por ejemplo las siguientes:\nEvitar que Microsoft pueda usar nuestro ancho de banda para actualizar equipos con Windows fuera de nuestra red local. En mi caso no me apetece que un desconocido use mi ancho de banda para descargar parte de las actualizaciones que se han descargado en mi PC. Eliminar la posibilidad de conectarnos a redes Wifi que Windows nos sugiera. Evitar que Windows recopile información de nuestro equipo y persona para almacenarla mediante un Identificador (Id). Introduce código en el fichero C:\\Windows\\System32\\drivers\\etc\\hosts para evitar el envío de información a Microsoft cuando usamos aplicaciones de Microsoft como por ejemplo Skype. Cada vez que se reinicia el sistema comprueba que Windows no haya modificado ningún parámetro relativo a nuestra privacidad. Etc. Para los usuarios que no se fíen de Microsoft les recomiendo usar Spybot Anti-Beacon\n¿POR QUÉ CONSIDERO SPYBOT ANTI-BEACON LA OPCIÓN MÁS FIABLE? Existen otros programas que realizan la misma función, pero para mí Spybot anti-beacon es la opción más fiable. Los motivos son los siguientes:\nSpybot anti-beacon pertenece y es desarrollado por una empresa de seguridad reconocida por crear Antivirus como Spybot-Search \u0026amp; Destroy. Se trata de una solución transparente. El programa te informa de todas las claves del registro que modifica. De este modo si no nos fiamos del programa podemos ser nosotros mismos quienes modifican el comportamiento de nuestro sistema operativo. El programa se actualiza periódicamente. Nació en Agosto de 2015 y desde entonces ya han sacado 7 actualizaciones. Una vez realizados los cambios los podremos revertir sin ningún tipo de problema. Existen programas similares que una vez aplicado los cambios ya no podemos revertirlos. Lo he usado durante más de un año y no me ha generado ningún tipo de problema. Si no quieres instalar el programa en el ordenador no hay problema. Hay disponible una versión portable del programa. En Virus Total ninguno de los 58 Antivirus lo detecta como Virus. En cambio otros programas similares son detectados como Virus. Existen programas similares a Anti-Beacon que nos inyectan publicidad o son keylogger o Troyanos. Cada vez que se reinicia el sistema, el programa comprueba que Windows no haya modificado los parámetros de privacidad del sistema operativo. En ocasiones Windows acostumbra modificar ciertos parámetros de privacidad después de una actualización. Nota: Existen muchos programas que realizan la misma función que Spybot Anti-Beacon. Vayan con mucho cuidado a la hora de instalar programas alternativos a Spybot Anti-Beacon. Existen muchos programas que son Malware o Spyware. Algunos de los programas a evitar son Do not Spy 10 o DWS Lite Rollup. DESCARGAR E INSTALAR EL PROGRAMA Existen 2 versiones del programa, la normal y la portable. En mi caso prefiero instalar la normal. Para descargar la versión normal accedemos a la siguiente página web:\nhttps://www.safer-networking.org/spybot-anti-beacon/\nUna vez dentro de la página web descargamos el ejecutable y lo instalamos de forma habitual. Durante la instalación del programa aseguren tildar la opción Refresh inmunization after each system restart. De esta forma cada vez que iniciemos el ordenador se comprobará que Windows no ha modificado nuestra configuración de privacidad.\nUna vez finalizada la instalación ya podemos ejecutar el programa.\nNota: Si prefieren usar la versión portable del programa la pueden descargar de la siguiente página web. Periódicamente vayan comprobando si han salido nuevas versiones del programa. Cuanto más actual sea la versión, mayor será la protección que tendremos. Nota: Este programa se puede usar en Windows 7, Windows 8 y Windows 10. CONFIGURAR Y USAR SPYBOT ANTI-BEACON Una vez instalado el programa lo abrimos. Justo al abrirlo veremos que existen las pestañas Protection, Optional, Log y Frequently Asked Questions. En nuestro caso clicamos en la opción Protection.\nConfiguración de la pestaña Protection El contenido de la pestaña Protection es el siguiente:\nPor lo tanto queda claro que aunque configuremos nuestra privacidad aún siguen existiendo muchas fugas de información hacia Microsoft. Para solucionar este problema de privacidad tan solo tenemos que presionar encima del botón Immunize para obtener el siguiente resultado:\nNota: En mi caso bloqueo absolutamente todas las opciones de la pestaña Protection. En estos momentos de forma completamente automática se han bloqueado todos los mecanismos que Microsoft usa para recopilar información de nuestro equipo.\nSi queremos ser conscientes de las modificaciones aplicadas y realizar una configuración personalizada de los parámetros que queremos activar y desactivar debemos clicar en el botón Show Options.\nDespués de clicar en el botón Show Options podremos realizar las siguientes acciones:\nConocer los servicios que desactiva Spybot Anti-Beacon. Saber las claves de registro modificadas por el programa. Conocer las modificaciones realizadas por el programa. De este modo, si no nos fiamos del programa tendremos la posibilidad de aplicar las modificaciones nosotros mismos de forma manual. Activar o desactivar servicio por servicio de forma personalizada. Una vez finalizada la configuración de la pestaña Protection pasaremos a ver el contenido de la pestaña Optional.\nNota: En el caso que quieran deshacer los cambios realizados simplemente tenemos clicar encima del botón Undo Configuración de la pestaña Optional Al acceder en la pestaña Optional veremos el siguiente contenido:\nAl igual que en el caso anterior Microsoft aún tiene la capacidad de seguir obteniendo información del uso que hacemos de algunos de los servicios de Microsoft.\nPara solventar el problema tenemos que ir clicando sobre el botón Apply en cada una de las opciones que nos interese desactivar. La configuración final en mi caso es la siguiente:\nEn la pestaña Optional hay que ir con cuidado. En función de las opciones que bloqueemos, algunos programas o servicios pueden dejar de funcionar correctamente. Así por ejemplo:\nSi usáis One Drive o la aplicación de email de Windows, no bloqueéis las opciones One Drive Service y OneDrivePolicyGroup. Si bloqueamos estas 2 entradas la aplicación de email y OneDrive dejaran de funcionar correctamente. En el caso que uséis el buscador Bing no bloqueéis la opción Bing IPs. Los usuarios de Cortana no deben bloquear la opción Cortana Group Policy. Los usuarios que quieran bloquear Cortana tienen que estar tranquilos. Aunque bloqueemos Cortana, el buscador de archivos de Windows continuará trabajando de forma efectiva. Si mediante el cuadro búsqueda de Windows quieren obtener resultados pertenecientes a búsquedas web no desactiven la opción Web Search Group Policy. Recomiendo activar siempre la opción Telemetry Host. Al activar la opción se introducirá código en el archivo hosts para evitar que los servidores de Microsoft recopilen información de nuestro equipo. En el caso de las entradas pertenecientes a Office intenten bloquearlas para ver qué pasa. En mi caso no utilizo Office, por lo tanto no puedo detallar si Office sigue funcionando de forma correcta. Al igual que en el caso podemos clicar encima del botón Show Details. De esta forma podrán ver todas y cada una de las modificaciones realizadas por Spybot Anti-Beacon.\nDe esta forma tan sencilla y rápida podemos controlar de forma precisa la información que nosotros decidimos proporcionar a Microsoft.\nConfiguración de la pestaña Log En la pestaña Log veremos los log que genera el programa. De este modo en caso que haya algún problema en el programa lo podremos detectar de forma fácil y rápida.\nCOMPROBACIÓN DE LA EFICACIA Algunas comprobaciones que podemos realizar para ver si Spybot Anti-Beacon está funcionando de forma adecuada son las siguientes:\nPrimero podremos comprobar las peticiones DNS que se han resuelto recientemente. Para ello abrimos la consola de Windows, o PowerShell y ejecutamos el siguiente comando:\nipconfig /displaydns Después de ejecutar el comando obtendrán unos resultados parecidos a los siguientes:\nEn la captura de pantalla se observa que los servidores encargados de obtener datos de telemetría están siendo neutralizados. Las respuestas que nos piden los servidores de Microsoft son enviadas a la IP 0.0.0.0. Por lo tanto los servidores no recibirán los datos de funcionamiento de nuestro ordenador.\nOtras comprobaciones que podéis realizar son comprobar los log del programa e intentar utilizar los servicios que habéis deshabilitado. Si los log no muestran signos de errores y los servicios deshabilitados no funcionan es indicativo que el programa está funcionando bien.\n","permalink":"https://geeklandlinux.github.io/posts/bloquear-recopilacion-datos-microsoft-spybot-anti-beacon/","summary":"\u003cp\u003eHace unas semanas vimos las instrucciones para \u003ca href=\"/posts/opciones-de-privacidad-windows-10/\"\u003econfigurar las opciones de privacidad en Windows\u003c/a\u003e. A pesar de configurar las opciones de privacidad, Windows sigue recopilando datos de sus usuarios de forma inevitable porque no ofrece las herramientas necesarias para configurar de forma adecuada nuestra privacidad. Para solucionar este problema en este artículo les presentaré el programa Spybot Anti-Beacon.\u003c/p\u003e","title":"Bloquear la recopilación de datos de Windows con Spybot Anti-Beacon"},{"content":"En Internet existen varios artículos que tratan la internet profunda o la Deep Web de forma sensacionalista y dan una información poco precisa y en muchas ocasiones falsa. Por este motivo en el siguiente artículo comentaremos algunos de los mitos de la Deep Web que acostumbro a leer.\nLOS FAMOSOS NIVELES DE LA DEEP WEB O INTERNET PROFUNDA En Internet encontraremos artículos en los que se detallan los niveles de la Deep Web. En la mayoría de ellos dicen que dentro de la Internet profunda existen 6, 7 y hasta incluso 8 niveles y describen con lujo de detalles lo que podemos encontrar en cada uno de ellos.\nNo se de donde proviene tal información. Quién hizo esta clasificación ciertamente dispone de gran imaginación. La realidad es que no hay niveles en la Deep Web. Los niveles que la gente menciona no son más que un concepto que alguien invento.\nEn la Internet profunda simplemente existe un único nivel en el que podemos encontrar lo siguiente:\nPáginas que son públicas y que puede visitar todo el mundo. Páginas privadas que solo pueden ser accedidas mediante invitación y/o registro previo. ¿NAVEGAR EN LA DEEP WEB O EN LA INTERNET PROFUNDA ES ILEGAL? Contrariamente a lo que algunos dicen y/o piensan navegar en la internet profunda es legal en la mayoría de países. La Internet profunda no es una red prohibida.\nAsí por ejemplo en todos los países o estados pertenecientes a Europa, Estados Unidos, África o Australia es completamente legal navegar en la Deep Web o Internet profunda.\nNo hay ningún problema en entrar y navegar en la Deep Web siempre y cuando las actividades que realicemos sean legales.\nEN LA INTERNET PROFUNDA NOS ENCONTRAREMOS CON CONTENIDO DESAGRADABLE O ILEGAL El título de este apartado es otra de las típicas cosas que todo el mundo puede leer en muchos artículos.\nPueden estar tranquilos porque solo nos encontraremos con contenido desagradable o ilegal si lo buscamos.\nPARA ENTRAR EN LA DEEP WEB TIENES QUE SER UN HACKHER Entrar en la Deep Web no te convierte en ningún experto informático ni en nadie especial.\nAbsolutamente cualquier persona puede navegar en la Internet profunda. Tan solo tiene que instalar el navegador Tor Bundle y empezar a navegar por las profundidades. Pueden acceder a la Internet profunda sin miedo alguno que no les pasará absolutamente nada.\nENTRAR EN LA INTERNET PROFUNDA ES PELIGROSO No es verdad que la Deep Web sea un sitio peligroso en el que la probabilidad de recibir un ataque sea muy alta. Las posibilidades que seas hackeado o atacado son exactamente las mismas que en la web pública.\nEl hecho de recibir un ataque dependerá de muchos factores como por ejemplo de tus acciones, del uso que hagas del ordenador y de la configuración que tenga tu equipo.\nLa única diferencia sustancial es que en caso de recibir un ataque informático en la Deep Web no podremos rastrear de donde proviene. En cambio en la web convencional existen más posibilidades de rastrear y averiguar de donde proviene el ataque.\nLA INTERNET PROFUNDA ES ESPECIAL PORQUE EL CONTENIDO QUE ENCONTRAMOS ES ÚNICO De forma errónea la gente piensa que la Deep Web es especial porque tendrán acceso a contenidos que no están disponibles en la web convencional. Pero la verdad es que la gran mayoría de contenido que encontramos en la Internet profunda también lo podemos encontrar en la web convencional.\nAdemás tenemos que tener en cuenta que gran parte de la información que encontraremos en la Deep Web proviene de fuentes que no podemos verificar y en la mayoría de casos la información será simplemente falsa.\nLo que hace especial la Internet profunda, o mejor dicho la red Tor, es la capacidad que tiene para esconder al usuario y a los propietarios de los servidores que operan en la red Tor. De este modo en los países que hay censura, los ciudadanos, los periodistas y los corresponsales pueden expresar libremente sus opiniones sin ser rastreados por los gobiernos o terceras personas.\nEs cierto que el anonimato proporcionado por la red Tor es aprovechado para ofrecer servicios ilegales como por ejemplo venta de drogas, pornografía infantil, gore, fabricación de armas, etc. Pero no olvidemos que también es posible encontrar este tipo de contenido en la Internet pública.\nEN LA DEEP WEB PODEMOS CONTRATAR SICARIOS Y COMPRAR DROGAS Mucha gente se hizo eco de Internet profunda por su mercado negro y por la posibilidad de contratar servicios o personas para realizar actos ilegales.\nLa verdad detrás de todo esto es que contratar un servicio en la Internet profunda ofrece muy pocas garantías. Lo más probable es que quien pague un servicio o un producto nunca lo llegue a recibir. Muchos de los servicios existentes de la Internet profunda son una estafa.\nUna vez perpetrada la estafa nos será imposible localizar el estafador y tampoco podremos acudir a las fuerzas de la autoridad para denunciar los hechos.\nNota: Obviamente existen sitios fiables que operan en la Internet profunda, pero créanme que son pocos. LA RED TOR ES LA DEEP WEB El contenido alojado en la Red Tor no es la Deep Web. Tor simplemente es una subred de la Deep Web.\nUsando la red Tor únicamente podremos visitar una parte de la Internet profunda. Si queremos acceder y visitar otras partes de la Internet profunda deberemos usar otros medios como por ejemplo:\nLa Freenet. La red I2P. Etc. Nota: La red Tor es muy popular y además es fácil conectarse a ella. Por esto motivo mucha gente piensa que la red Tor es la Deep Web. NUNCA HE ENTRADO EN LA DEEP WEB La Deep Web no tiene nada de especial. Toda URL que no está indexada en un buscador forma parte de la Deep Web. Por lo tanto en el momento que accedemos a nuestra cuenta del banco por Internet estamos accediendo a una Deep Web.\nAdemás hay que tener en cuenta que en los inicios de Internet no existían los buscadores. Por lo tanto en los inicios de Internet todo era una Deep web.\n","permalink":"https://geeklandlinux.github.io/posts/mitos-de-la-internet-profunda-o-deep-web/","summary":"\u003cp\u003eEn Internet existen varios artículos que tratan la internet profunda o la Deep Web de forma sensacionalista y dan una información poco precisa y en muchas ocasiones falsa. Por este motivo en el siguiente artículo comentaremos algunos de los mitos de la Deep Web que acostumbro a leer.\u003c/p\u003e","title":"Mitos sobre la Internet profunda o la Deep Web que la gente debe conocer"},{"content":"Meses atrás vimos los mecanismos que usa Microsoft para recolectar datos de sus usuarios con el fin de poder monetizarlos de alguna forma. Si queremos evitar, o intentar minimizar, la información que Microsoft puede obtener de nuestros equipos les recomiendo que sigan los consejos para configurar las opciones de privacidad en Windows 10.\nLa configuración de privacidad que verán a continuación es la que yo uso. En cada uno de los apartados se comentan las razones por las cuales elijo cada una de las opciones.\nEn mi caso verán que tengo la mayoría de opciones de privacidad desactivadas. Los motivos son los siguientes:\nPrácticamente no uso aplicaciones modernas de Windows en mi ordenador. Desactivando las opciones de privacidad mejoramos nuestra privacidad y seguridad. La gran mayoría de opciones de privacidad que vienen activadas no aportan ninguna funcionalidad a un ordenador. Por lo tanto lo mejor que podemos hacer es desactivarlas. CONFIGURAR LAS OPCIONES DE PRIVACIDAD DE WINDOWS Mediante la configuración de la privacidad de Windows 10 podemos deshabilitar algunos de los mecanismos que Microsoft usa para obtener nuestra información.\nPara acceder a las opciones de privacidad de Windows 10 presionamos la combinación de teclas Win + I. Al abrirse la ventana Configuración clicaremos encima de la opción Privacidad.\nA continuación aparecerá la ventana en la que podremos configurar gran parte de las opciones de privacidad de Windows 10.\nLas opciones de privacidad que podemos seleccionar en cada una de las pestañas son las siguientes:\nOpciones de privacidad en la pestaña General En mi caso tengo la totalidad de opciones desactivadas.\nEl motivo de la desactivación de cada una de las opciones es el siguiente:\nNo quiero que las aplicaciones usen un identificador de publicidad con el fin de ofrecerme publicidad adaptada a mis gustos. Además si una aplicación usa publicidad la desinstalo. Aunque el filtro SmartScreen es una herramienta de seguridad para evitar la ejecución de Software malicioso, la desactivo porque Microsoft también la puede usar para saber la totalidad de URL’s que visito y los programas que tengo y uso en mi ordenador. Obviamente desactivo la característica en la que Microsoft solicita información para saber cómo escribo. Este mecanismo es un Keylogger cuya función es registrar todo lo que escribimos en nuestro ordenador. No estoy interesado que los sitios web me ofrezcan publicidad adaptada a mis gustos y ubicación. Como he dicho anteriormente si una aplicación tiene publicidad la desinstalo. Además cuando estoy navegando uso un bloqueador de publicidad. Únicamente uso Windows en un equipo. Por lo tanto la opción número 5 no es de mi interés. En caso necesario podéis activar esta opción, pero tenéis que ser conscientes que la información necesaria para sincronizar la totalidad de vuestros equipos se guardará en los servidores de Microsoft. Por las mismas razones que en el punto anterior tengo deshabilitada la opción 6. Opciones de privacidad en la pestaña Ubicación En este apartado desactivo la totalidad de opciones porque no quiero que Microsoft tenga acceso a mi ubicación real.\nSeguidamente buscamos el apartado Historial de ubicaciones y presionamos el botón Borrar. De este modo eliminamos el historial de ubicaciones que tenemos almacenado en nuestro equipo.\nSi activamos la ubicación, Microsoft tendrá la capacidad de monitorizar y registrar todas nuestras localizaciones geográficas y las usará para ofrecernos publicidad y servicios según nuestra ubicación geográfica.\nEn el caso que un programa en concreto necesite vuestra ubicación la podéis activar, pero asegurad que únicamente la activáis para el programa en cuestión. Cuando hayas terminado de usar el programa recomiendo revocarle el permiso para que no pueda acceder a nuestra ubicación.\nNota: En un dispositivo móvil con Windows 10 puede resultar interesante activar esta opción, pero no en un ordenador. Opciones de privacidad en la pestaña Cámara En mi caso no utilizo aplicaciones modernas de Windows. Por lo tanto en el apartado de cámara desactivo todas las opciones de privacidad porque no quiero que ninguna Modern App ni Microsoft puedan utilizar mi webcam sin saberlo.\nEn el caso que un día use mi webcam, para tirar una foto o grabar un vídeo, simplemente accedo a la configuración de la cámara y doy los permisos pertinentes.\nUna vez haya terminado de usar la webcam accedo de nuevo a las opciones de privacidad de la cámara y vuelvo a desactivar la totalidad de las opciones. De este modo conseguiremos mejorar nuestra privacidad y nuestra seguridad.\nOpciones de privacidad en la pestaña Micrófono Si tenemos activado el micrófono existe la posibilidad que Microsoft y las aplicaciones que tenemos instaladas puedan escuchar y registrar lo que estamos diciendo.\nPor lo tanto en mi caso deshabilito completamente esta opción para que ninguna aplicación moderna tenga acceso a nuestro micrófono.\nEn el caso que un día necesite usar el micrófono con alguna de las aplicaciones modernas, como por ejemplo Skype o Xbox, accederé a las opciones de privacidad del micrófono y daré el permiso oportuno únicamente a la aplicación que tiene que usar el micrófono.\nUna vez usada la aplicación recomiendo volver a deshabilitar la totalidad de permisos.\nOpciones de privacidad en la pestaña Notificaciones No quiero que ninguna de mis aplicaciones modernas tenga acceso a mis notificaciones. Por lo tanto también desactivo totalmente este apartado.\nSi desactivar esta opción supone algún inconveniente, entonces pueden dar permisos a aplicaciones específicas para que puedan tener acceso a nuestras notificaciones.\nOpciones de privacidad en la pestaña Voz, entrada manuscrita y escritura No uso Cortana y no quiero que Windows recopile información de lo que digo y escribo en mi ordenador.\nPor lo tanto presiono el botón Dejar de conocerme. Seguidamente cuando aparezca la advertencia que vamos a desactivar esta característica presionamos el botón Desactivar.\nNota: Es necesario tener activada esta opción para utilizar Cortana. Así que en el caso que tengáis o queráis usar Cortana deberéis activar esta opción. Opciones de privacidad en la pestaña Información de cuenta No deseo que ninguna aplicación moderna pueda tener acceso a información almacenada en mi cuenta de Microsoft.\nRecordad que nuestra cuenta de Microsoft puede almacenar información sensible como datos personales, búsquedas realizadas en Internet mediante el buscador Bing, comandos de voz usados con Cortana, programas que usamos, etc.\nPor lo tanto desactivo la opción que las aplicaciones puedan acceder a la información almacenada en mi cuenta de Microsoft.\nSi desactivar esta opción les supone algún inconveniente, pueden dar permisos a aplicaciones específicas para que puedan acceder a la información almacenada en nuestra cuenta.\nOpciones de privacidad en la pestaña Contactos No hay necesidad que ninguna de las aplicaciones modernas pueda acceder a los contactos almacenados en mi cuenta de Microsoft.\nPor lo tanto desactivo completamente esta opción y de paso conseguimos que Windows sea más respetuoso con nuestra privacidad.\nSi lo consideráis oportuno podéis hacer que únicamente ciertas aplicaciones tengan acceso a vuestros contactos.\nNota: En el caso de usar aplicaciones modernas como por ejemplo Skype o Twitter es necesario darles permiso para que puedan acceder a nuestros contactos. En caso contrario es posible que funcionen de forma anómala. Opciones de privacidad en la pestaña Calendario No necesito que ninguna de las aplicaciones modernas ni Windows pueda consultar el contenido de mi aplicación de calendario. Por lo tanto desactivo totalmente esta opción.\nOpciones de privacidad en la pestaña Historial de llamadas y Mensajes La mayoría de usuarios no usan Windows 10 en un teléfono móvil. Por lo tanto no tiene sentido alguno que activemos estas opciones.\nOpciones de privacidad de la pestaña Correo electrónico Existen aplicaciones que pretenden acceder a la aplicación moderna de correo electrónico de Windows para los siguientes fines:\nConsultar el contenido de nuestros correos para ofrecernos algún tipo de funcionalidad adicional. Hacer uso de nuestro correo enviando emails para por ejemplo compartir algún tipo de información con nuestros contactos. En mi caso no necesito y no quiero que ninguna de las aplicaciones modernas de Windows tenga acceso al contenido y al uso de mi correo electrónico. Por lo tanto en este apartado desactivo la totalidad de opciones porque no las necesito y quiero preservar mi privacidad.\nNota: Si lo precisan pueden configurar que solo ciertas aplicaciones tengan acceso a nuestro correo electrónico. Opciones de privacidad referentes a las señales de radio En señales de radio permitimos o rechazamos que ciertas aplicaciones de nuestro ordenador puedan usar el dispositivo Bluetooth para intercambiar datos con otros dispositivos como por ejemplo pulseras inteligentes.\nComo en mi caso no uso ninguna aplicación que tenga que enviar y recibir datos vía Bluetooth desactivo completamente la opción de señales de radio.\nOpciones de privacidad de la pestaña Otros dispositivos A continuación, tenemos que definir si queremos que algunas de las aplicaciones modernas puedan comunicarse e intercambiar información con dispositivos que tenemos conectados a nuestro ordenador vía USB o vía inalámbrica.\nA modo de ejemplo si usamos la aplicación Complemento de teléfono de Windows deberemos activar esta opción. En caso contrario si conectamos nuestro teléfono o Tablet al ordenador no será reconocido/a por la aplicación Complemento de teléfono de Windows.\nComo en mi caso no uso ninguna aplicación moderna desactivo esta opción en las opciones de privacidad.\nEste apartado no hay que tomárselo a la ligera. Si una aplicación tiene permiso para acceder a un dispositivo de almacenamiento USB, dispone de la capacidad para ver u hacer lo que quiera con el contenido almacenado en el dispositivo USB.\nOpciones de privacidad de la pestaña Comentarios y diagnósticos En frecuencia de comentarios tenemos que seleccionar la opción Nunca. De esta forma evitaremos que aparezcan ventanas en las que Microsoft pide información acerca de determinados temas del funcionamiento de Windows.\nEn Datos de diagnóstico y uso seleccionamos la opción Básico. De esta forma minimizamos los datos que proporcionamos a Microsoft sobre el funcionamiento de nuestro equipo.\nDesafortunadamente los datos de diagnóstico y uso no se pueden desactivar de forma total de forma estándar, por lo tanto imagino que Microsoft usa está vía para ver y registrar los procesos y los programas que usamos en nuestro ordenador.\nNota: En futuros post veremos cómo podemos deshabilitar de forma completa los datos de uso y diagnóstico. Opciones de privacidad de la pestaña aplicaciones en Segundo plano En la opción de segundo plano tenemos que definir las Apps modernas que permitiremos que se ejecuten en segundo plano.\nSi hay una App de la lista que acostumbran a usar habitualmente la pueden activar sin problema. El resto de aplicaciones que no usen es altamente recomendable desactivarlas.\nDesactivando aplicaciones no solo mejoraremos nuestra privacidad. También mejoraremos el rendimiento de nuestro equipo ya que el consumo de memoria RAM y CPU serán menores.\nREFLEXIÓN SOBRE LA CONFIGURACIÓN DE PRIVACIDAD DE MICROSOFT Si no prestamos mucha atención, en el proceso de instalación de Windows 10 acabaremos configurando nuestra cuenta de usuario de forma automática. La configuración automática activará absolutamente todos los mecanismos que permiten recopilar información a Microsoft.\nEsto no es sorprendente porque todos sabemos que Microsoft ha cambiado su modelo de negocio focalizándose en los servicios en la nube y en la publicidad, pero lo que me parece realmente mal es que la recopilación de la información se haga sin que la mayoría de usuarios sean conscientes de ello.\nSi seguimos las indicaciones del post únicamente conseguiremos desactivar una parte de los mecanismos que Microsoft usa para recopilar información. No es posible desactivar la totalidad de mecanismos porque Microsoft no nos proporciona los medios necesarios para ello.\nEn las próximas semanas publicaré un post en el que podrán ver como cortar absolutamente todas las fuentes que usa Microsoft para recolectar información de sus usuarios.\n","permalink":"https://geeklandlinux.github.io/posts/opciones-de-privacidad-windows-10/","summary":"\u003cp\u003eMeses atrás vimos los \u003ca href=\"/posts/metodos-windows-10-espia-sus-usuarios/\"\u003emecanismos que usa Microsoft para recolectar datos\u003c/a\u003e de sus usuarios con el fin de poder monetizarlos de alguna forma. Si queremos evitar, o intentar minimizar, la información que Microsoft puede obtener de nuestros equipos les recomiendo que sigan los consejos para configurar las opciones de privacidad en Windows 10.\u003c/p\u003e","title":"Configurar las opciones de privacidad en Windows 10"},{"content":"Los menús y las ventanas de Libreoffice usan la letra que tenemos configurada en nuestro sistema operativo. En el caso que la letra predefinida de nuestro sistema operativo no luzca bien o sea demasiada pequeña podemos cambiar la letra y su tamaño sin ningún tipo de problema.\nEn mi caso como fuente de sistema uso la letra Droid Sans con tamaño 10. Con esta combinación cuando abro Libreoffice tengo la siguiente sensación:\nLa tamaño de la letra que aparece en los menús, en las ventanas o en las pestañas de Calc me parece demasiado pequeña. Al ser demasiada pequeña la letra se ve mal y en determinados casos me cuesta leer y seleccionar las opciones del menú. En el caso que tengáis la misma sensación que yo, o simplemente queráis cambiar el tipo de letra de Libreoffice tenéis que seguir los siguientes pasos.\nCAMBIAR EL TAMAÑO DE LA LETRA EN LOS MENUS Y VENTANAS DE LIBREOFFICE Para cambiar el tamaño de la letra de les menús y de las ventanas abrimos Libreoffice. A continuación accedemos al menú Herramientas y clicamos en Opciones.\nEn la ventana Opciones clicamos en la opción Ver ubicada en la parte izquierda de la ventana. A continuación en el apartado Interfaz de usuario modificaremos el valor de Escala de 100% a 112% y presionaremos el botón Aceptar.\nNota: Cuando más incrementos el valor del campo Escala, más grandes veremos la tipografías en los menús y ventanas de LibreOffice. Una vez realizados estos pasos veremos la letras de los menús y de las ventanas de Libreoffice más grandes que antes:\nNota: Si aún quisieran hacer las letras más grandes deberían incrementar más el valor de Escala. CAMBIAR EL TIPO DE LETRA EN LOS MENÚS Y VENTANAS DE LIBREOFFICE Para cambiar el tipo de letra de los menús y ventanas de Libreoffice tenemos que realizar lo siguiente:\nAccedemos al menú Herramientas y clicamos en Opciones.\nEn la ventana Opciones clicamos en la opción Tipos de letra ubicada en la parte izquierda de la pantalla. A continuación realizamos las siguientes acciones:\nTildamos la opción Aplicar la tabla de reemplazos. En Tipo de letra seleccionamos el nombre de la fuente que tenemos configurada en nuestro sistema operativo. La fuente predeterminada de mi sistema operativo es la Droid Sans. En el apartado Reemplazar por selecciono el tipo de letra que quiero usar en vez de la Droid Sans. En mi caso he seleccionado la Aller. Una vez finalizados estos pasos clicamos encima del botón de Aplicar.\nA continuación tildamos las casillas Siempre y Solo pantalla. Finalmente presionamos encima del botón Aceptar.\nAhora tan solo nos falta observar el resultado final:\nPor lo tanto hemos visto que de forma simple y rápida podemos modificar el tamaño y el tipo de letra de nuestros menús y ventanas. De esta forma podremos trabajar más a gusto con la Suite ofimática Libreoffice.\nDeshacer los cambios para volver a usar la fuente predeterminada Si no estamos satisfechos con el resultado obtenido podemos deshacer los cambios del siguiente modo:\nAccedemos al menú Herramientas y clicamos en Opciones. A continuación clicamos en la opción Tipos de letra ubicada en la parte izquierda de la ventana. Seleccionamos la tabla de reemplazo que creamos y presionamos el botón de Eliminar. Finalmente presionamos encima del botón Aceptar. De esta forma tan simple los menús y ventanas de Libreoffice volverán a usar la fuente predeterminada del sistema que en mi caso es la Droid Sans.\n","permalink":"https://geeklandlinux.github.io/posts/cambiar-letra-tamano-menus-ventanas-de-libreoffice/","summary":"\u003cp\u003eLos menús y las ventanas de Libreoffice usan la letra que tenemos configurada en nuestro sistema operativo. En el caso que la letra predefinida de nuestro sistema operativo no luzca bien o sea demasiada pequeña podemos cambiar la letra y su tamaño sin ningún tipo de problema.\u003c/p\u003e","title":"Cambiar la letra y el tamaño de los menús y ventanas de Libreoffice"},{"content":"Hoy en día existen pocas personas que usen de los asistentes personales. Por esto motivo a continuación veremos los pasos a seguir desactivar Cortana en Windows 10.\nMOTIVOS PARA DESACTIVAR CORTANA EN WINDOWS 10 Algunos de los motivos que hacen altamente recomendable desactivar Cortana son los que se detallan a continuación:\nNo encuentro útil utilizar Cortana en un ordenador personal. Carece de inteligencia y sus funcionalidades son muy limitadas. Este problema aún se acentúa más si la versión de Windows que usamos no es en Inglés. Vulnera la privacidad de los usuarios. Cortana es capaz de monitorizar el contenido que tenemos almacenado en nuestro disco duro, saber los programas que usamos, registrar lo que escribimos, ver nuestro historial de navegación, registrar nuestras peticiones de voz, acceder a nuestra ubicación, consultar nuestros contactos, nuestro correo, nuestro calendario, etc. Gran parte de la información recopilada por Cortana se almacena en los servidores de Microsoft. La política de privacidad de Microsoft permite usar nuestros datos en caso que alguien de Microsoft lo considere oportuno. Consume recursos de nuestro ordenador. Personalmente no me gusta consumir recursos de mi ordenador en algo que no uso. Nota: Obviamente Microsoft intenta usar los datos recopilados por Cortana para mejorar nuestra experiencia. No obstante proporcionar estos datos también supone una violación importante sobre nuestra privacidad y no es razonable que Cortana venga activado por defecto. INSTRUCCIONES PARA DESACTIVAR CORTANA EN UN ORDENADOR Para desactivar Cortana clicamos en el botón de Cortana y cuando aparezca el menú clicamos en el icono de Configuración.\nEn el menú de configuración de Cortana desactivamos la totalidad de opciones que podemos ver:\nDentro de las opciones de configuración también recomiendo presionar sobre el botón Borrar mi historial del dispositivo. De esta forma eliminaremos la información que Cortana tiene almacenada sobre nosotros.\nA continuación debéis seguir las siguientes instrucciones en función de la versión de Windows que estéis usando.\nDesactivar Cortana en Windows 10 en cualquier versión de Windows Para desactivar Cortana en cualquiera de las versiones de Windows tenemos que acceder al registro del sistema. Para ello presionamos la combinación de teclas Win+R.\nAl aparecer la ventana de ejecutar tecleamos el comando regedit y presionamos el botón Aceptar.\nDentro del menú de navegación del registro accedemos dentro de la siguiente ruta:\nHKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows\\Windows Search Nota: En el caso que no les aparezca la clave Windows Search créenla manualmente. Seguidamente en el panel de la derecha presionamos el botón derecho del ratón. Aparecerá un submenú en el que seleccionaremos la opción Nuevo. A continuación se desplegará un submenú en el que deberemos seleccionar y clicar sobre la opción Valor DWORD (32bits).\nA continuación seleccionamos el valor DWORD que acabamos de crear, presionamos la tecla F2 y renombramos el valor DWORD (32 bits) con el nombre AllowCortana\nUna vez renombrado el valor DWORD hacemos doble click sobre él. Seguidametne aparecerá la siguiente ventana en la que deberán asignar el valor 0 en el campo Información de valor. Para finalizar tan solo tenemos que presionar en el botón Aceptar.\nNota: Para reactivar Cortana tan solo tendríamos que revertir los pasos realizados. Con estos simples pasos podemos desactivar Cortana de cualquier versión de Windows 10.\nDesactivar Cortana en Windows 10 Pro o Enterprise Nota: Este apartado es únicamente válido para los usuarios de Windows 10 Profesional o Enterprice. Los usuarios de Windows 10 Pro o Enterprise deben presionar la combinación de teclas Win+R. Seguidamente tienen que teclear el comando gpedit.msc y presionar el botón Aceptar.\nEn el editor de directivas de grupos navegamos a la siguiente ruta:\nDirectiva Equipo Local\\Configuración del equipo\\Plantillas administrativas\\Componentes de Windows\\Buscar Seguidamente hacemos doble click encima de la opción Permitir el uso de Cortana.\nFinalmente en la ventana de permitir uso de Cortana tildamos la opción Deshabilitada y presionamos el botón Aplicar.\nCon estos pasos tanto simples ya hemos conseguido desactivar Cortana en Windows 10 Profesional o Enterprice.\nNota: Para reactivar Cortana tan solo tendríamos que revertir los pasos realizados.","permalink":"https://geeklandlinux.github.io/posts/desactivar-cortana-en-windows/","summary":"\u003cp\u003eHoy en día \u003ca href=\"/posts/por-que-no-usamos-asistentes-personales/\"\u003eexisten pocas personas que usen de los asistentes personales\u003c/a\u003e. Por esto motivo a continuación veremos los pasos a seguir desactivar Cortana en Windows 10.\u003c/p\u003e","title":"Desactivar Cortana en Windows para mejorar nuestra privacidad"},{"content":"A día de hoy creo que a nadie se le escapa que Facebook es la red social más usada y más grande del mundo. No obstante como red social deja bastante que desear y es otro claro ejemplo que no siempre lo mejor es lo que acaba triunfando.\nLos motivos para realizar tales afirmaciones son las que pasaré a detallar a continuación.\nFACEBOOK NO ESTÁ ENFOCADA A SUS USUARIOS Para Facebook los usuarios son simples fuentes datos que usan para satisfacer a sus verdaderos clientes.\nLos datos que Facebook recopila de todos nosotros son los siguientes:\nLa totalidad de información personal que introducimos en nuestro perfil. Todas nuestras publicaciones. A través de nuestras publicaciones se pueden hacer una idea clara de nuestros intereses y hábitos. Los comentarios que terceras personas hacen sobre nosotros. La totalidad de me gusta que se hacen. De este modo podrán ofrecerle publicidad adaptada a sus gustos y complementar el perfil que hacen de cada uno de sus usuarios. Los grupos a los que estamos suscritos. Nuestras fotos. Las direcciones de email y teléfonos de la totalidad de nuestros contactos. Etc. Una vez recopilados los datos los usan para satisfacer a sus verdaderos clientes que son los siguientes:\nLas personas o empresas que pagan a Facebook para bombardearnos con publicidad adaptada a nuestras necesidades. Empresas que compran información sobre perfiles de usuarios de una determinada zona para realizar estudios de mercado o a usar nuestros perfiles personales para intentar sacar un beneficio. Usuarios de páginas de Facebook que pagan para hacer sus publicaciones más visibles. Por lo tanto para Facebook somos su materia primera y su objetivo es explotarnos para sacar el máximo beneficio.\nSi no apruebas este tipo de prácticas simplemente te tienes que aguantar porque en el momento que te creas una cuenta de Facebook estás dándoles permiso para que puedan utilizar la información de tu perfil.\nNO PERMITE CLASIFICAR NINGÚN TIPO DE INFORMACIÓN Redes sociales como Twitter o Google Plus nos permiten crear listas o colecciones para poder clasificar de forma adecuada la información que queremos recopilar.\nEn cambio Facebook es el caos personificado. Si un día encuentras una publicación léela al instante porque el día siguiente será imposible de localizar.\nEn otras redes sociales como G+ o Twitter podemos seguir listas o colecciones sin necesidad de seguir una persona. De esta forma podemos informarnos de los temas que nos interesan y filtrar de forma automática el contenido que leemos. En cambio en Facebook estamos forzados a seguir una determinada persona y a tragarnos la totalidad de sus publicaciones, nos gusten o no.\nFacebook debería tratar mejor a sus usuarios. Pero imagino que deben aplicar la máxima que cuando una cosa va bien mejor no tocarla.\nLa gente debería abrir los ojos y ser un poco más crítico con lo que Facebook les ofrece. De esta forma quizás se convertiría en una red social mejor.\nLO QUE SE PUBLICA EN FACEBOOK NO ES REAL La calidad de las publicaciones que encontramos deja bastante que desear.\nPor una parte Facebook es capaz de recolectar y vender nuestros datos de forma eficaz, pero son totalmente incapaces de filtrar si una noticia publicada es cierta o falsa. ¿Cómo se come esto?\nPor otra otro lado hay que tener en cuenta que gran parte del contenido de Facebook es una realidad maquillada. En mi caso estoy seguro que prácticamente la totalidad de publicaciones y fotos que veis son de conocidos mostrando que su vida es perfecta y que son las personas más felices del mundo. Si vierais lo contrario me extrañaría mucho porque lo que cuenta en el mundo actual es la apariencia.\nPor lo tanto lo que se publica en Facebook no siempre es cierto y difiere de lo que es la vida real de las personas. En Facebook se describe un mundo de fantasía lleno de egos y simpatías que no ayuda en nada y provoca infelicidad a los adolescentes y personas en general.\nNota: No olvidemos que gran parte de las noticias de esta red social son sensacionalistas y en algunos casos falsas. SU INTERFAZ GRÁFICA ES FEA Y ESTÁ OBSOLETA Facebook dispone del diseño perfecto para recopilar información de sus usuarios de forma efectiva. No obstante su interfaz de usuario es fea a más no poder.\nEn términos de diseño veo Facebook de la siguiente forma:\nEstá 5 o 6 años desfasado en el tiempo. Está todo muy sobrecargado. Cuando abres Facebook toda la pantalla está inundada de información superflua. Deberían saber que hoy en día las tendencias van hacia lo minimalista. En contraposición empresas como Windows o Google crean tendencias de diseño y realmente intentan aportar algo en este aspecto. En Facebook mucho me temo que aplican la máxima que mientras las cosas van bien no toques nada.\nNO SE RESPETA LA PRIVACIDAD DE LAS PERSONAS Es un hecho que Facebook no respeta la privacidad de las personas. Es cierto que proporciona herramientas para proteger nuestra privacidad, pero en la mayoría de casos son inútiles por los siguientes motivos:\nCon nocturnidad, premeditación y alevosía modifican las condiciones de servicio y la configuración de nuestra privacidad. Existen muchas personas que no quieren perder 5 minutos en configurar las opciones de privacidad. Muchos de nosotros instalamos aplicaciones de Facebook sin saber que en el momento de instalarlas podemos estar proporcionado la totalidad de información de nuestro perfil, información sobre nuestros contactos, etc. Por lo tanto les recomiendo que miren las aplicaciones que tienen instaladas y analicen bien los permisos que les habéis concedido. En caso que los permisos sean demasiados invasivos desinstalen la aplicación. No evitan que terceras personas compartan información sobre nosotros. Si un conocido comenta o sube una foto en la que aparecemos estará proporcionando información a terceros sobre nosotros. Dispone de una tecnología avanzada de reconocimiento facial. ¿Es legal disponer de esta tecnología? En el momento que un conocido suba una foto en la que aparezcamos nosotros, Facebook sabrá que entre la persona que sube la foto y yo hay algún tipo de relación que seguramente averiguará por otros medios. Al hacernos una cuenta estamos proporcionando los emails y teléfonos de nuestros contactos a Facebook. Además mucho me temo que Facebook también dispone de la totalidad de conversaciones y contactos de nuestra cuenta de Whatsapp. En caso de necesidad Facebook proporcionará datos sobre tu perfil personal a otras entidades como por ejemplo la NSA, la policía, gobiernos, etc. En el momento que nos registramos a un servicio o a una página web con nuestro perfil de Facebook estamos proporcionado la información de nuestro perfil al sitio que nos registramos. Después de leer este apartado queda claro que Facebook no tiene la intención de preservar la privacidad de sus usuarios. Además no proporciona la información, las herramientas y las facilidades para que los usuarios preocupados por su privacidad puedan hacer un uso responsable de esta red social.\nLA USABILIDAD DE FACEBOOK ES MALA En mi caso he usado Facebook muy ocasionalmente porque es una red que no me gusta. Las veces que he intentado usarlo he tenido una experiencia realmente mala.\nEn Facebook todo está cargado y saturado de contenido. Esto hace que sea un servicio poco intuitivo y con una usabilidad pésima. Es más fácil usar un sistema operativo entero como Linux, Windows o Mac OS que no Facebook.\nA menudo cuando te suscribes a grupos te realiza notificaciones de publicaciones que no me interesan en absoluto. Y no hablemos de las notificaciones de los juegos y acciones indeseadas de algunas aplicaciones que lo único que hacen es molestar a gran parte de sus usuarios.\nA todo esto le tenemos que añadir un aplicación para dispositivos móviles que ha sido y es pésima. Los motivos son los siguientes:\nLa aplicación es pesada, lenta y hace que el rendimiento de nuestro teléfono sea peor. A raíz de esto en mi caso acabé utilizando Facebook Lite, pero tampoco lo veo una solución ya que ofrece un diseño espartano y funcionalidades reducidas. El consumo de batería y recursos de la aplicación es muy elevado. Su App se come literalmente el espacio de tu dispositivo móvil. Si nos olvidamos de vaciar la cache de la aplicación, tarde o temprano, Facebook acabará dejando nuestro teléfono sin espacio. CIERRAN CUENTAS DE USUARIOS SIN PREVIO AVISO Es una red que cierra las cuentas a sus usuarios sin previo aviso ni advertencia. Lo se porque un servidor sufrió este tipo experiencia.\nSi bien es cierto que no seguí sus directrices de conducta, no encuentro lógico que Facebook suspenda una cuenta sin previo aviso. Intenté que alguien me diera explicaciones, pero como la cuenta estaba abierta con un nombre ficticio nadie quiso atender mi caso porque no podía demostrar que yo era el titular de la cuenta.\nNota: Me parece absolutamente ridículo que te fuercen a usar un nombre real. En mi caso no quiero que sepan mi nombre real ni que puedan asociar un alías con mi nombre real. La verdad es que me dieron una lección que no olvidaré. Por lo tanto pueden estar tranquilos porque nunca más invertiré tiempo en crear algo decente y/o promocionar algo en su red. Si creo una nueva cuenta será simplemente para spamear y para ver que se cuece en la red.\nPara finalizar con este apartado solo advertiros que no os suscribáis o accedáis a usar un servicio web a través de vuestra cuenta de Facebook. En el caso que os suspendan la cuenta de Facebook dejaréis de poder acceder al servicio.\nCENSURAN CONTENIDO Y PUBLICACIONES DE FORMA INADECUADA En este apartado quizás no hay mala intención por parte de Facebook, pero ha habido y habrá polémica sobre los contenidos censurados por Facebook.\nEn ocasiones Facebook es capaz de censurar de forma inadecuada el siguiente contenido:\nDesnudos artísticos de personas e incluso desnudos de estatuas. Personas que de forma correcta y civilizada denuncian situaciones injustas que se dan en nuestro mundo. Dando una cobertura pésima de hechos importantes que están ocurriendo en la actualidad como por ejemplo los hechos acontecidos en Ferguson en Noviembre del 2014. Este punto es sumamente grave porque no puede ser posible que el mayor distribuidor de noticias de todo el mundo no de una buena cobertura de hechos importantes que estén sucediendo en el mundo y se dediquen a ofrecer noticias falsas o sensacionalistas. En primera instancia censuro una foto de una ONG madrileña en la que se mostraban 2 hombres besándose. Etc. En este punto que cada uno piense lo que quiera. Los sucesos descritos en este apartado pueden deberse a una imperfección de los algoritmos de Facebook o a acciones realizadas de forma premeditada.\nFACEBOOK ES UN JARDÍN CERRADO Facebook está diseñado para que el usuario piense que Internet es Facebook.\nPienso que es bastante triste que existan usuarios que utilicen un ordenador o un teléfono para simplemente entrar en Facebook.\nUna vez estás dentro de la red intentaran por todos los medios que no salgas de allí. La forma de hacerlo es ofrecerte todo el contenido que puedas necesitar:\nMillones de páginas para leer. Miles de juegos para pasar el tiempo. Aplicaciones de terceros para realizar todo tipo de funciones. La totalidad de nuestros amigos. Etc. Es importante no estar siempre en el mismo sitio e intentar descubrir páginas nuevas día a día. Si visitamos más sitios obviamente adquiriremos más conocimientos y aprenderemos a ser más críticos con el contenido y los servicios que usamos en la red.\nTened en cuenta que el contenido que os ofrece Facebook no es un contenido que se genere de forma natural.\nUna parte del contenido que llega es porque un tercero ha pagado a Facebook para que se lo muestre a personas con un determinado perfil. Otra parte del contenido corresponde a lo que el algoritmo de Facebook quiere que leas. CONCLUSIONES En mi caso he escrito el artículo focalizándome en Facebook porque pienso que la experiencia de usuario que ofrecen es de largo la peor de todas las redes sociales.\nDurante el artículo se han descrito muchas prácticas poco éticas. No obstante estás prácticas no son exclusivas de Facebook. Otras redes sociales y los buscadores de Internet también aplican prácticas similares.\nQuien quiera usar Facebook que lo haga de forma responsable y teniendo en cuenta la totalidad de detalles que se muestran en este post.\n","permalink":"https://geeklandlinux.github.io/posts/razones-para-no-usar-facebook/","summary":"\u003cp\u003eA día de hoy creo que a nadie se le escapa que Facebook es la red social más usada y más grande del mundo. No obstante como red social deja bastante que desear y es otro claro ejemplo que no siempre lo mejor es lo que acaba triunfando.\u003c/p\u003e\n\u003cp\u003eLos motivos para realizar tales afirmaciones son las que pasaré a detallar a continuación.\u003c/p\u003e","title":"Razones por las que recomiendo NO usar Facebook"},{"content":"En mi caso me da la sensación que distribuciones como Ubuntu o Linux Mint tienen un renderizado de fuentes perfecto. En cambio en otras distribuciones las cosas dejan bastante que desear y requieren de nuestra intervención para conseguir un resultado satisfactorio.\nAlgunos de los consejos que podéis seguir para mejorar el renderizado de fuentes de vuestra distro son los siguientes:\nINSTALAR FUENTES ADICIONALES PARA MEJORAR EL RENDERIZADO DE FUENTES El tipo de letra es importante para obtener un buen renderizado de fuentes. Los motivos son los siguientes:\nExisten fuentes tipografías más bonitas que otras. Cuanto más nos guste la fuente tipográfica seleccionada mejor la veremos en pantalla. El renderizado de fuentes será mejor o peor en función de como ha sido creada la fuente. Con esto quiero decir que podemos tener fuentes que nos proporcionan un renderizado pésimo y otras fuentes que nos proporcionan un renderizado excelente. Un programa puede requerir una fuente. Si no tenemos esta fuente instalada será reemplazada por otra y es posible que su visualización no sea del todo correcta o no nos guste. Por todos estos motivos recomiendo instalar las siguientes tipográficas en nuestro sistema operativo:\nttf-mscorefonts-installer, fonts-dejavu fonts-freefont-ttf ttf-bitstream-vera fonts-freefont-otf fonts-lyx xfonts-100dpi xfonts-75dpi texlive-extra-utils texlive-math-extra texlive-fonts-extra texlive-fonts-utils texlive ttf-aenigma fonts-roboto-hinted fonts-roboto-unhinted, fonts-liberation, fonts-croscore, fonts-crosextra-caladea, fonts-crosextra-carlito y ubuntu fonts. Si requieren de ayuda para instalar estas tipografías pueden seguir las instrucciones que encontrarán en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-fuentes-en-debian-linux/\nCONFIGURAR EL RENDERIZADO DE FUENTES MEDIANTE FONTS.CONF A continuación crearemos/modificaremos el archivo fonts.conf para configurar el renderizado de fuentes.\nCreación del archivo fonts.conf Crearemos/modificaremos el archivo fonts.conf en la ruta ~/.config/fontconfig. Para ello ejecutamos el siguiente comando en la terminal:\nnano ~/.config/fontconfig/fonts.conf Nota: La ruta en la que creamos el archivo fonts.conf es válida para todas las versiones de fontconfig iguales o superiores a la 2.10.1. En caso de tener versiones más antiguas, la ruta del archivo debe ser la ~/fonts.conf Una vez se abra el editor de textos podemos empezar a configurar el renderizado de fuentes.\nNota: Los cambios efectuados a continuación únicamente se aplicarán a nuestro usuario. Si quisiéramos que los cambios fueran para todos los usuarios deberíamos crear el archivo fonts.conf en la ubicación /etc/fonts/local.conf. Crear el código en el archivo fonts.conf En el archivo fonts.conf que acabamos de crear pegamos el siguiente código:\n\u0026lt;?xml version=\u0026#34;1.0\u0026#34;?\u0026gt; \u0026lt;!DOCTYPE fontconfig SYSTEM \u0026#34;fonts.dtd\u0026#34;\u0026gt; \u0026lt;fontconfig\u0026gt; \u0026lt;match target=\u0026#34;font\u0026#34;\u0026gt; \u0026lt;edit mode=\u0026#34;assign\u0026#34; name=\u0026#34;hinting\u0026#34; \u0026gt; \u0026lt;bool\u0026gt;true\u0026lt;/bool\u0026gt; \u0026lt;/edit\u0026gt; \u0026lt;edit mode=\u0026#34;assign\u0026#34; name=\u0026#34;autohint\u0026#34; \u0026gt; \u0026lt;bool\u0026gt;false\u0026lt;/bool\u0026gt; \u0026lt;/edit\u0026gt; \u0026lt;edit mode=\u0026#34;assign\u0026#34; name=\u0026#34;hintstyle\u0026#34; \u0026gt; \u0026lt;const\u0026gt;hintslight\u0026lt;/const\u0026gt; \u0026lt;/edit\u0026gt; \u0026lt;edit mode=\u0026#34;assign\u0026#34; name=\u0026#34;rgba\u0026#34; \u0026gt; \u0026lt;const\u0026gt;rgb\u0026lt;/const\u0026gt; \u0026lt;/edit\u0026gt; \u0026lt;edit mode=\u0026#34;assign\u0026#34; name=\u0026#34;lcdfilter\u0026#34;\u0026gt; \u0026lt;const\u0026gt;lcddefault\u0026lt;/const\u0026gt; \u0026lt;/edit\u0026gt; \u0026lt;edit mode=\u0026#34;assign\u0026#34; name=\u0026#34;antialias\u0026#34; \u0026gt; \u0026lt;bool\u0026gt;true\u0026lt;/bool\u0026gt; \u0026lt;/edit\u0026gt; \u0026lt;edit mode=\u0026#34;assign\u0026#34; name=\u0026#34;embeddedbitmap\u0026#34;\u0026gt; \u0026lt;bool\u0026gt;false\u0026lt;/bool\u0026gt; \u0026lt;/edit\u0026gt; \u0026lt;/match\u0026gt; \u0026lt;!-- Set preferred serif, sans serif, and monospace fonts. --\u0026gt; \u0026lt;alias\u0026gt; \u0026lt;family\u0026gt;serif\u0026lt;/family\u0026gt; \u0026lt;prefer\u0026gt; \u0026lt;family\u0026gt;Droid Serif\u0026lt;/family\u0026gt; \u0026lt;/prefer\u0026gt; \u0026lt;/alias\u0026gt; \u0026lt;alias\u0026gt; \u0026lt;family\u0026gt;sans-serif\u0026lt;/family\u0026gt; \u0026lt;prefer\u0026gt; \u0026lt;family\u0026gt;Droid Sans\u0026lt;/family\u0026gt; \u0026lt;/prefer\u0026gt; \u0026lt;/alias\u0026gt; \u0026lt;alias\u0026gt; \u0026lt;family\u0026gt;sans\u0026lt;/family\u0026gt; \u0026lt;prefer\u0026gt; \u0026lt;family\u0026gt;Droid Sans\u0026lt;/family\u0026gt; \u0026lt;/prefer\u0026gt; \u0026lt;/alias\u0026gt; \u0026lt;alias\u0026gt; \u0026lt;family\u0026gt;monospace\u0026lt;/family\u0026gt; \u0026lt;prefer\u0026gt; \u0026lt;family\u0026gt;Droid Sans Mono\u0026lt;/family\u0026gt; \u0026lt;/prefer\u0026gt; \u0026lt;/alias\u0026gt; \u0026lt;alias\u0026gt; \u0026lt;family\u0026gt;mono\u0026lt;/family\u0026gt; \u0026lt;prefer\u0026gt; \u0026lt;family\u0026gt;Droid Sans Mono\u0026lt;/family\u0026gt; \u0026lt;/prefer\u0026gt; \u0026lt;/alias\u0026gt; \u0026lt;/fontconfig\u0026gt; Nota: Las partes del código en rojo o en verde son las que admiten modificaciones y definen el estado de la propiedad que estamos configurando. Una vez pegado el código guardamos los cambios y cerramos el archivo.\nA continuación veremos una breve explicación de la función que realiza cada una de las partes del código hemos pegado.\nConfiguración del hinting Las tipografías que usamos están diseñadas para ser usadas a altas resoluciones, mientras que las pantallas acostumbran a ser de resoluciones bajas.\nEl hinting es una información adicional codificada que traen las fuentes TrueType y PostScript. Esta información adicional es la responsable de adaptar las letras de alta resolución a un monitor de baja resolución. En otras palabras el hinting ayuda a adaptar cada trazo de una letra (TrueType o PostScript) al píxel de la pantalla para conseguir que la letra sea lea y visualice mejor.\nActivar el hinting (Byte-Code Interpreter) Activaremos el mecanismo que permite interpretar los hints que traen incorporadas las fuentes TrueType y Postscript. El encargado de realizar esta función es el siguiente código:\n\u0026lt;edit mode=\u0026#34;assign\u0026#34; name=\u0026#34;hinting\u0026#34; \u0026gt; \u0026lt;bool\u0026gt;true\u0026lt;/bool\u0026gt; \u0026lt;/edit\u0026gt; Nota: En este apartado únicamente podemos usar las propiedades true y false. Activar el autohinter A día de hoy no tiene mucha importancia tener activado el autohinter para mejorar el renderizado de fuentes. Por lo tanto en mi caso tengo desactivada esta opción.\nAl desactivar esta opción, el proceso de hinting de las fuentes TrueType y PostScript se realiza a partir los hints que traen incorporadas cada una de las fuentes.\nPara desactivar el autohinter usamos la siguiente parte del código:\n\u0026lt;edit mode=\u0026#34;assign\u0026#34; name=\u0026#34;autohint\u0026#34; \u0026gt; \u0026lt;bool\u0026gt;false\u0026lt;/bool\u0026gt; \u0026lt;/edit\u0026gt; Nota: En el caso que alguna de las fuentes no contenga hints esta opción será útil tenerla activada. Optimización de forma de la tipografía Podemos aplicar distintos grados de hinting a nuestras fuentes. Los grados que podemos elegir para intentar mejorar el renderizado de fuentes son los siguientes:\nhintnone: No se aplica ningún tipo de hinting. hintslight: La fuente se verá más borrosa, pero la forma de la fuente será más natural. hintmedium: Se trata de un punto intermedio entre la opción hintslight y hintfull. hintfull: La fuente será extremadamente nítida, pero la forma de la letra será menos natural y con aristas.\nEn mi caso considero que la mejor opción en este apartado es usar hintslight. Los motivos son los siguientes:\nDespués de probar todas las opciones disponibles es la que a mi me da mejores resultados. Es la que usan distribuciones como Ubuntu o Linux Mint. Cabe recordar que estas 2 distribuciones tienen un renderizado de fuentes perfecto. La parte del código encargada de definir la optimización de forma de las fuentes es la siguiente:\n\u0026lt;edit mode=\u0026#34;assign\u0026#34; name=\u0026#34;hintstyle\u0026#34; \u0026gt; \u0026lt;const\u0026gt;hintslight\u0026lt;/const\u0026gt; \u0026lt;/edit\u0026gt; Nota: En Xfce, y en un gran número de entornos de escritorio, también podemos aplicar esta configuración a través de las herramientas que nos proporciona la interfaz gráfica. Configurar el subpixel rendering La gran mayoría de monitores actuales son del tipo RGB. Esto significa que el color de cada uno de los píxeles de nuestra pantalla es una combinación de colores entre el rojo, el verde y el azul.\nEl subpixel rendering jugará con los colores de los contornos de las letras con el fin de obtener una letra más nítida y con una forma visualmente correcta.\nPara que el subpixel rendering se realice correctamente tenemos que indicar nuestro tipo de monitor en el archivo fonts.conf mediante el siguiente código:\n\u0026lt;edit mode=\u0026#34;assign\u0026#34; name=\u0026#34;rgba\u0026#34; \u0026gt; \u0026lt;const\u0026gt;rgb\u0026lt;/const\u0026gt; \u0026lt;/edit\u0026gt; En el caso poco probable que no tengáis un monitor RGB, deberéis reemplazar el valor RGB por alguno de los siguientes valores:\nBGR: En el caso que dispongáis de un monitor del tipo BGR. VBGR: Para monitores del tipo VBGR. VRGB: En monitores VRGB.\nNota: Para averiguar el tipo de monitor que tienen pueden consultar su manual de instrucciones o la siguiente página web. Activar el filtrado LCD Al usar subpixel rendering tenemos que activar el filtrado LCD. El filtrado LCD ayudará a evitar el fenómeno conocido como color-fringing o franjas de color.\nHay varios modos de filtrado LCD para seleccionar. El filtro que funcionará mejor en el 99,9% de los casos es el lcddefault. Para activar el filtro lcdefault usamos el siguiente código en el archivo fonts.conf:\n\u0026lt;edit mode=\u0026#34;assign\u0026#34; name=\u0026#34;lcdfilter\u0026#34;\u0026gt; \u0026lt;const\u0026gt;lcddefault\u0026lt;/const\u0026gt; \u0026lt;/edit\u0026gt; Si el filtro lcdefault no da buen resultado pueden probar otros filtros como por ejemplo los siguientes:\nlcdlight: Usar en caso que tengamos problemas de fuentes borrosas o demasiado negritas. lcdlegacy: Otro tipo de filtro que podemos aplicar en el caso que observemos que las letras están desenfocadas. lcdnone: Para desactivar por completo el filtrado LCD.\nSi lo consideran necesario pueden hacer las pruebas pertinentes o pueden consultar la siguiente página web para ver el resultado de cada uno de los modos de filtrado que podemos aplicar.\nhttp://www.spasche.net/files/lcdfiltering/\nActivar el anti-aliasing Activamos la opción de anti-aliasing. De este modo conseguiremos un mejor rasterizado de la fuente y los contornos y esquinas de las letras se visualizaran mejor.\nPara activar el anti-aliasing usamos el siguiente código:\n\u0026lt;edit mode=\u0026#34;assign\u0026#34; name=\u0026#34;antialias\u0026#34; \u0026gt; \u0026lt;bool\u0026gt;true\u0026lt;/bool\u0026gt; \u0026lt;/edit\u0026gt; Nota: Para desactivarlo únicamente tendríamos que reemplazar la opción true por la opción false. Desactivar las fuentes con formato Bitmap En ocasiones hay programas que quieren usar fuentes que no están presentes en nuestro sistema operativo. Para solucionar el problema, la fuente que falta es reemplazada por otra fuente.\nSi la fuente elegida para reemplazar al fuente faltante es del tipo bitmap, el resultado obtenido puede ser una fuente pixelada y demasiado grande.\nPara evitar que esto ocurra desactivaremos las fuentes bitmap usando el siguiente código en el archivo fonts.conf:\n\u0026lt;edit mode=\u0026#34;assign\u0026#34; name=\u0026#34;embeddedbitmap\u0026#34;\u0026gt; \u0026lt;bool\u0026gt;false\u0026lt;/bool\u0026gt; \u0026lt;/edit\u0026gt; Reemplazar letras no presentes por las siguientes Mientras usamos nuestro sistema operativo pueden darse las siguientes circunstancias:\nUn programa en concreto utiliza un tipo de fuente que no nos gusta. Un determinado tipo de fuente no está disponible y nuestro sistema operativo la reemplaza por una fuente que no nos gusta. Para solucionar estos problemas podemos introducir código en nuestro archivo fonts.conf.\nDe este modo si que queremos que todos los programas que usen la letra Georgia pasen a usar la letra Droid Sans podemos introducir el siguiente código en el archivo fonts.conf:\n\u0026lt;match target=\u0026#34;pattern\u0026#34;\u0026gt; \u0026lt;test qual=\u0026#34;any\u0026#34; name=\u0026#34;family\u0026#34;\u0026gt;\u0026lt;string\u0026gt;georgia\u0026lt;/string\u0026gt;\u0026lt;/test\u0026gt; \u0026lt;edit name=\u0026#34;family\u0026#34; mode=\u0026#34;assign\u0026#34; binding=\u0026#34;same\u0026#34;\u0026gt;\u0026lt;string\u0026gt;Droid Sans\u0026lt;/string\u0026gt;\u0026lt;/edit\u0026gt; \u0026lt;/match\u0026gt; En el caso que por ejemplo un programa requiera la letra Sans y no esté disponible, puedo forzarlo a utilizar la letra Droid Sans mediante el siguiente código:\n\u0026lt;alias\u0026gt; \u0026lt;family\u0026gt;sans\u0026lt;/family\u0026gt; \u0026lt;prefer\u0026gt; \u0026lt;family\u0026gt;Droid Sans\u0026lt;/family\u0026gt; \u0026lt;/prefer\u0026gt; \u0026lt;/alias\u0026gt; Lo comentado hasta el momento son simples pinceladas de las opciones que ofrece fonts.conf. Si quieren ampliar la información les recomiendo que visiten los siguientes enlaces:\nhttps://wiki.archlinux.org/index.php/font_configuration https://wiki.archlinux.org/index.php/Font_configuration/Examples\nCONFIGURAR EL RENDERIZADO DE FUENTES MEDIANTE .XRESOURCES Existen aplicaciones, como por ejemplo Urxvt, que ignoran la configuración de fontconfig.\nPara solucionar este problema crearemos el fichero .Xresources en nuestra ubicación home. Para ello en la terminal ejecutaremos el siguiente comando:\nnano ~/.Xresources Cuando se abra el editor de textos nano pegaremos el siguiente código:\nXft.antialias: 1 Xft.hinting: 1 Xft.autohint: 0 Xft.hintstyle: hintslight Xft.dpi: 96 Xft.lcdfilter: lcddefault Xft.rgba: rgb Una vez copiado el código guardamos los cambios y cerramos el fichero. Respecto a los parámetro de configuración de .Xresources es interante mencionar los siguientes aspectos:\nLa propiedad Xft.dpi define el escalado de fuente. Utilizo el valor 96 porque es el valor de DPI que utiliza mi monitor. Para saber el valor DPI que utiliza vuestro monitor pueden abrir una terminal y ejecutar el siguiente comando:\nxdpyinfo | grep dots El resto de valores no requiere de explicación. Los parámetros de configuración de este fichero han sido explicados de forma detallada en apartados anteriores de este artículo.\nPara comprobar las propiedades definidas en .Xresources podemos ejecutar el siguiente comando en la terminal:\nxrdb -query CONFIGURAR EL TIPO DE FUENTE QUE USAREMOS Una vez finalizada la configuración seleccionaremos y activaremos una tipografía que nos guste y que nos ayude a obtener un buen renderizado de fuentes.\nEn mi caso, como utilizo Xfce, abro una terminal y ejecuto el siguiente comando:\nxfce4-appearance-settings A continuación clicamos encima de la pestaña Tipos de letra.\nSeguidamente seleccionamos un tipo de letra que nos guste para nuestro sistema. En mi caso siempre uso la letra Droid Sans con tamaño 10.\nNota: Otro tipo de fuente que luce bien y podéis seleccionar es la Aller o la Ubuntu. Si no usáis la letra Droid Sans deberéis realizar pequeñas adaptaciones al fichero fonts.conf. A continuación aseguro que la opción de suavizado de bordes está activada. El suavizado de bordes corresponde al parámetro anti-aliasing que hemos configurado anteriormente en el archivo fonts.conf.\nSeguidamente aseguramos que en optimización de formas tengamos seleccionada la misma opción que seleccionamos en el archivo fonts.conf. Como en mi caso seleccioné la opción hintslight ahora aseguraré que esté activa la opción equivalente que es Ligero.\nEn el apartado orden de subpíxeles, en la mayoría de casos tenemos que seleccionar al opción RGB. En caso de dudas pueden mirar el manual de vuestro monitor o consultar la siguiente página web.\nFinalmente en el apartado de escalado de fuentes definimos los dpi (puntos por pulgada) que queremos usar para representar las fuentes.\nNota: Si nuestra pantalla tiene 90 dpi y seleccionamos un escalado de fuente de 96 dpi, entonces cuando se renderice la fuente se considerará que una pulgada es 2,71cm en vez de 2,54cm. De esta forma la fuente se escalará ampliándose. En mi caso selecciono el valor 96 porque como he explicado anteriormente es valor de DPI que tiene asignado el monitor de mi ordenador. Si quieren pueden jugar con este valor hasta encontrar el que más les convenga. Algunos valores pueden hacer que determinadas fuentes no se visualicen de forma correcta.\nFinalmente nos dirigimos a la configuración de nuestro gestor de Ventanas y seleccionamos la fuente y el tamaño que nos guste para nuestros bordes de ventana. En mi caso selecciono la fuente Droid Sans Bold con tamaño 10.\nAPLICAR LA CONFIGURACIÓN DEL RENDERIZADO DE FUENTES A lo largo de este tutorial hemos aplicado multitud de cambios en las fuentes de nuestro sistema. Para asegurar que los cambios se apliquen de forma correcta ejecutamos el siguiente comando para actualizar el cache de las fuentes:\nfc-cache -fv Finalmente reiniciamos el ordenador. Una vez se reinicie el ordenador el renderizado de fuentes debería ser perfecto.\n","permalink":"https://geeklandlinux.github.io/posts/mejorar-renderizado-de-fuentes-en-linux/","summary":"\u003cp\u003eEn mi caso me da la sensación que distribuciones como Ubuntu o Linux Mint tienen un renderizado de fuentes perfecto. En cambio en otras distribuciones las cosas dejan bastante que desear y requieren de nuestra intervención para conseguir un resultado satisfactorio.\u003c/p\u003e\n\u003cp\u003eAlgunos de los consejos que podéis seguir para mejorar el renderizado de fuentes de vuestra distro son los siguientes:\u003c/p\u003e","title":"Mejorar el renderizado de fuentes en cualquier distro Linux"},{"content":"El navegador Opera dispone de bastantes extensiones, pero es posible que existan casos en que busquemos una determinada extensión y no exista. Por este motivo a continuación veremos un método para poder instalar extensiones de Chrome en Opera de forma muy sencilla.\nAlgunos casos en los que echemos de menos las extensiones de Chrome pueden ser los siguientes:\nEn Opera no está disponible la extensión Google Cast para poder lanzar contenido a Chromecast. En Opera que yo sepa no existen extensiones tipo Mercury Reader para poder leer páginas web sin anuncios y sin distracciones. Etc. Una vez finalizada la introducción podemos pasar a ver el proceso a seguir para instalar las extensiones de Chrome en Opera.\nINSTALAR DOWNLOAD CHROME EXTENSION El primer paso a realizar es instalar la extensión Download Chrome extension. Para ello clicamos encima de la siguiente URL:\nhttps://addons.opera.com/en/extensions/details/download-chrome-extension-9/?display=en\nUna vez dentro de la URL instalamos la extensión clicando encima del botón Add to Opera.\nINSTALAR EXTENSIONES DE CHROME EN OPERA En estos momentos accedemos a la Chrome Webstore. Para ello clicamos encima de la siguiente URL:\nhttps://chrome.google.com/webstore/category/extensions\nDentro de la Chrome webstore buscamos la extensión que queremos instalar que en mi caso es Google Cast. Una vez encontrada presionamos encima del botón Añadir a Opera.\nA continuación nos aparecerá un mensaje de advertencia indicando que la extensión se ha desactivado porque estamos instalando una extensión de una fuente desconocida. Para activar la extensión tendremos que presionar encima del botón Ir en el mensaje de advertencia.\nFinalmente activaremos la extensión clicando encima del botón Instalar.\nUna vez instalada la extensión ya podré ver vídeos de Youtube o Netflix en mi televisor sin ningún tipo de problema usando el navegador Opera.\nLIMITACIONES DEL MÉTODO MOSTRADO EN EL ARTÍCULO Este método sirve para instalar y usar extensiones de Chrome en Opera. Este método no es válido para poder usar Apps o temas de Chrome en Opera.\nLa gran mayoría de extensiones funcionan a la perfección. No obstante existen casos en que algunas funcionalidades de una extensión no funcionan de forma adecuada.\nA modo de ejemplo la extensión Google Cast me permite ver vídeos de Youtube o Netflix sin problema alguno, pero no me permite compartir pestañas de mi navegador al televisor.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-extensiones-de-chrome-en-opera/","summary":"\u003cp\u003eEl navegador Opera dispone de bastantes extensiones, pero es posible que existan casos en que busquemos una determinada extensión y no exista. Por este motivo a continuación veremos un método para poder instalar extensiones de Chrome en Opera de forma muy sencilla.\u003c/p\u003e","title":"Instalar y usar extensiones de Chrome en Opera en Linux, Windows y Mac OS"},{"content":"En las pasadas semanas analizamos las calidades que nos ofrecen los archivos mp3 y ogg. A continuación veremos una serie de consejos a seguir para conseguir buenos resultados al comprimir un audio.\n¿EN QUÉ CONSISTE COMPRIMIR UN AUDIO DIGITAL CON PÉRDIDAS? Comprimir un audio digital con pérdida consiste en reducir el tamaño que tiene un archivo de audio.\nPara reducir el tamaño de los archivos se utilizan los códecs. Algunas de las operaciones que pueden realizan los códecs para reducir el tamaño de los archivos son las siguientes:\nReducir la tasa de bits del sonido original para que el audio ocupe menos espacio. Quitar sonidos a frecuencias que no son perceptibles por el oído humano. Eliminación de redundancias de la señal de audio. Pueden reducir el número de canales existentes transformando un sonido de envolvente a Stereo. Reducir el número de bits por muestra. Etc. Nota: El proceso de compresión de un audio es extremadamente complejo. Además cada códec aplica metodologías diferentes para comprimir el tamaño de un audio. Obviamente durante el proceso de compresión habrá una pérdida en la calidad del audio. Cuanto más alta sea la reducción de peso del archivo comprimido, más alta será la pérdida de calidad.\nUTILIDADES QUE TIENE COMPRIMIR UN AUDIO Obviamente comprimir un audio tiene ciertas utilidades. Algunas de ellas son las que detallo a continuación:\nEl espacio necesario para almacenar las canciones en nuestro disco duro será mucho menor. Aunque los discos duros sean baratos y su capacidad de almacenamiento sea grande, no es viable y/o práctico almacenar la totalidad de nuestras canciones sin pérdida. Podemos pasar los archivos de audio a terceros de una forma mucho más cómoda y rápida. Después de comprimir una canción de música podremos pasarla por email u otro medio sin ningún tipo de problema. Parece que la tendencia en un futuro muy cercano será consumir el vídeo y el audio vía streaming. Por lo tanto la compresión del vídeo y del audio es muy importante. Si ofrecemos un servicio web en que proporcionamos audio en streaming, es imprescindible comprimir el audio para ahorrar ancho de banda y para que los clientes puedan reproducirlo en su casa sin problemas. CONSEJOS PARA COMPRIMIR UN AUDIO EN LINUX Algunos consejos y puntos a tener en cuenta antes de comprimir un audio son los siguientes:\nComprimir a partir de un archivo sin pérdidas Para obtener buenos resultados es imprescindible hacer la compresión a partir de un archivo sin pérdidas y que no haya sido comprimido anteriormente.\nPor lo tanto antes de comprimir un audio hay que analizar la calidad del archivo de audio que queremos comprimir.\nSi la calidad del audio es mala simplemente descarten la compresión. Una vez el archivo de audio ha perdido su calidad no la podremos recuperar nunca más.\nSeleccionar el formato de archivo del audio comprimido Existen numerosos tipos de formato de archivo comprimido con pérdida. Algunos de los más populares son los siguientes:\n.mp3 .ogg .wma .m4a .aac En función de las necesidades les puede resultar útil seleccionar un formato u otro.\nNo obstante en mi caso recomiendo usar el formato de archivo mp3 o el ogg. Las razones son las siguientes:\nLos archivos .mp3 no destacan por proporcionar la mejor calidad de audio. No obstante el formato .mp3 es el más extendido universalmente. Cualquier reproductor de música es capaz de reproducir el formato de archivo .mp3. No se puede decir los mismo de los otros formatos de archivos. Todo el mundo es capaz de reproducir un audio en formato .mp3. Incluso personas con pocos conocimientos tecnológicamente hablando. Si alguien no quiere usar el formato .mp3 porque piensa que la calidad no es suficiente, o porque se trata de un formato propietario, le recomiendo usar .ogg. En el siguiente enlace podrán las ventajas e inconvenientes de los archivos .ogg respecto los .mp3. Seleccionar el códec de compresión del audio (encoder) Una vez seleccionado el formato de archivo debemos ser conscientes del códec que usaremos para realizar la compresión del audio.\nEn el caso que queramos comprimir en el formato de archivo .mp3 existen los siguientes códecs:\nFHC: Es el primero códec que existió. En la actualidad este códec ha quedado obsoleto. Su tiempo de compresión es muy elevado y no soporta tasa de bits variable. Algunos de los programas que usan este códec son Audioactive Production Studio y MP3 Producer. Xing: Es el encoder más rápido y permite obtener archivos con una tasa de bits variable (VBR). No obstante el nivel de calidad ofrecido por este tipo de encoder es inferior al Blade y al Lame. Algunos de los programas que utilizan este códec son AudioCatalyst y JukeBox. Blade: Hasta la aparición de Lame era la mejor opción. Es ligeramente más lento que Xing, pero los niveles de calidad obtenidos son mucho mejores. Actualmente este enconder tiene un problema y es que no soporta las tasas de bits variable. Una muestra de los programas que utilizan este encoder son Easy CD-DA Extractor, Audiograbber y Cdex. Lame: Está disponible bajo la licencia GNU y además es el mejor enconder disponible en la actualidad. Soporta tasas de bits variable, es rápido y la calidad obtenida es mejor que en el resto de encoders. Una muestra de los programas que utilizan Lame son WaveLab, CDcopy y AudioStation. Después de ver todas las opciones, en mi caso caso intentaría asegurar que el software que usamos para comprimir el audio utilice el códec Lame.\nEn el caso que utilicen el formato de archivo .ogg recomiendo usar el códec oggenc que es el oficial de la fundación Xiph.\nNota: Asegúrense que los programas que usen para comprimir el audio dispongan de las versiones más actuales de los encoders. Usa siempre una tasa de bits variable (VBR) En la gran mayoría de ocasiones es recomendable comprimir los audios usando una tasa de bits variable (VBR). El motivo es que este método es mucho más eficiente que el resto de métodos existentes.\nUsando una tasa de bits variable cuando hay silencios se reduce la tasa de bits. De esta forma podemos almacenar el sonido de forma correcta ahorrando espacio.\nEn cambio en las partes de la canción complejas se incrementa la tasa de bits. De este modo en las partes más complejas de la canción usaremos más bits para asegurar que la calidad de este sonido sea aceptable.\nDe este modo, con una tasa de bits variable conseguiremos una calidad igual o superior a un archivo con tasa de bits constante (CBR) con un tamaño de archivo muy inferior.\nNota: En pruebas realizadas he constatado que la calidad ofrecida por un mp3 con una tasa de bits variable de 256 kbps es superior a la del mismo mp3 con una tasa de bits constante de 320 kbps. El único caso que hoy en día justifica usar una tasa de bits constante (CBR) es cuando el audio a comprimir está destinado a escucharse vía streaming. En este caso usar una tasa de bits constante evita que un pico en la tasa de bits pueda superar los límites permitidos del servidor que realiza el streaming.\nSeleccionar la calidad de la compresión del audio Este punto es muy personal y depende de muchos factores como por ejemplo los siguientes:\nDe lo fino que tengamos nuestro oído. Un oído fino y entrenado es capaz de detectar anomalías que no detectaría un oído normal. Del uso que queremos dar al audio que queremos comprimir. No es lo mismo comprimir un audio para ofrecerlo en un servicio en streaming que comprimir un audio para escucharlo con una calidad alta. Del reproductor de audio que usaremos para escuchar la música. De nada nos sirve disponer de un archivo con poca pérdida por compresión si los altavoces o auriculares que usamos son de baja calidad. Por lo tanto mi recomendación es que realicen varias pruebas y lleguen ustedes a sus propias conclusiones.\nCuando hayan encontrado la calidad que les convenga pueden iniciar el proceso para comprimir la totalidad de sus audios.\nEn mi caso me gusta almacenar la música comprimida con una calidad decente que incluso las personas que aprecian la música considerarían aceptable.\nPor lo tanto cuando comprimo archivos en mp3 siempre selecciono la calidad máxima. Para mi la calidad máxima se obtiene eligiendo los siguientes parámetros:\nUsando el códec lame para realizar la compresión. Con una tasa variable de bits. Seleccionando la calidad máxima ofrecida por el códec Lame. Para conseguir el propósito que acabo de citar utilizo los siguientes parámetros del encoder lame en la terminal de Linux:\nlame --quiet -vbr-new -V 0 ruta_y_nombre_del:archivo_a_comprimir Nota: 0 corresponde a la máxima calidad. Si queremos obtener archivos de audio más comprimidos deberemos cambiar el 0 por un valor más alto como por ejemplo el 4. El valor máximo de calidad corresponde al 0, mientras que el valor mínimo corresponde al 9. En el caso que decida comprimir mis audios mediante ogg vorbis como mínimo utilizo la calidad 7. Para obtener la calidad 7 el comando que acostumbro a ejecutar en la terminal es el siguiente:\noggenc -q 7 ruta_y_nombre_del:archivo_a_comprimir Nota: 7 corresponde a una muy buena calidad. Si queremos incrementar aún más la calidad podemos cambiar el numero 7 por el 9 o por el 10. El valor máximo de calidad corresponde al 10 mientras que el valor mínimo corresponde al -1. Encontrarán sitios que les darán una clasificación de la calidad del audio obtenido en función de su tasa de bits. No considero que estas clasificaciones sean útiles por los siguientes motivos:\nNo existe unanimidad en la escala. A modo de ejemplo hay gente que dice que la calidad CD corresponde a 192 Kbps mientras que hay gente que dice que es 256 kbps. La tasa de bits no determina la calidad de un audio. En determinados casos lo único que determina es el tamaño del archivo. Así por ejemplo el formato de archivo ogg es capaz de proporcionar calidades de audio superiores a un mp3 con un tasa de bits inferior. ","permalink":"https://geeklandlinux.github.io/posts/consejos-comprimir-un-audio-con-perdida/","summary":"\u003cp\u003eEn las pasadas semanas analizamos las \u003ca href=\"/posts/comparacion-mp3-vs-ogg/\"\u003ecalidades que nos ofrecen los archivos mp3 y ogg\u003c/a\u003e. A continuación veremos una serie de consejos a seguir para conseguir buenos resultados al comprimir un audio.\u003c/p\u003e","title":"Consejos para comprimir un audio con pérdida de forma adecuada"},{"content":"Recientemente acabo de adquirir un certificado SSL para el blog. Inicialmente era reticente a usar un certificado SSL, pero reflexionando un poco he llegado a la conclusión que a día de hoy tienen su utilidad.\n¿CÚAL ES LA FUNCIÓN DE UN CERTIFICADOS SSL? La función principal de un certificado SSL es la de proteger la seguridad de los visitantes de una página web.\nLa forma en que los certificados SSL incrementan nuestra seguridad y la de nuestros visitantes es la siguiente:\nAsegurando que nos conectamos donde nos queremos conectar Cuando nos conectamos a una web, como por ejemplo https://geeklandlinux.github.io/, el navegador realiza las siguientes acciones:\nRecibe el certificado SSL de https://geeklandlinux.github.io/. El certificado SSL dispone de información como por ejemplo un nombre de dominio, su fecha de seguridad, un número de serie, etc. A continuación el navegador comprueba que el certificado está debidamente firmado por una autoridad de certificación. Si la verificación de la firma es correcta significa que el sitio al que nos estamos conectando es quien dice ser. Por lo tanto se iniciará el proceso para cargar el contenido de la página web que queremos visitar. Si la firma del certificado no puede ser verificada a través de las claves pública de alguna de las autoridades de certificación, entonces el navegador nos advertirá que el sitio al que nos estamos conectando es posible que no sea https://geeklandlinux.github.io/ Por lo tanto siguiendo este metodología podemos estar seguros que siempre nos estamos conectando al sitio web que pretendemos conectarnos.\nCifrando la totalidad de información entre el servidor y el navegador Una vez confirmada la identidad de la web a la que nos queremos conectar empieza el proceso de cifrado. A groso modo el proceso de cifrado funciona del siguiente modo:\nEl navegador y el servidor se comunican entre ellos para establecer el protocolo de intercambio de claves, el tipo de cifrado y el hash. El servidor envía el certificado SSL. El certificado SSL contiene datos como el propietario de la página web a la que nos conectamos, la fecha de caducidad del certificado, la clave para cifrar toda la información entre el navegador y el servidor, etc. Mediante un sistema de criptografia asimétrica se establece un túnel cifrado entre nuestro navegador y el servidor. A continuación la totalidad de información entre nuestro navegador y el servidor de la web https://geeklandlinux.github.io/ viajará de forma cifrada con el método y características definidas en el punto 1 de este apartado. Al cifrar la totalidad de información entre nuestro navegador y el cliente conseguimos lo siguiente:\nAunque un atacante intercepte nuestro tráfico no podrá ver absolutamente nada porque todo el tráfico interceptado estará cifrado. Aseguramos la integridad de los datos enviados y recibidos. Al existir una capa de cifrado nadie puede modificar la información que circula entre el navegador y el servidor. Por lo tanto aseguramos que tanto el servidor como el navegador reciben los datos que el otro les ha enviando. De este modo mediante el cifrado estaremos garantizando la confidencialidad e integridad de los datos que enviamos y recibimos de nuestros clientes.\n¿POR QUÉ ES RECOMENDABLE USAR UN CERTIFICADO SSL? Acabamos de explicar de forma clara las ventajas que nos proporcionan los certificados SSL. A continuación veremos los motivos que deberían hacer que hoy en día todo el mundo usará https en vez de http.\nPor motivos de seguridad y para ofrecer una buena experiencia a los lectores Existen personas que afirman no necesitar un certificado SSL por los siguientes motivos:\nMi web es pequeña y es visitada por pocas personas. En mi sitio no se realizan transacciones de compra y venta. Ninguno de los lectores o clientes introduce información personal en mi web. Estos argumentos pueden parecer contundentes, pero tenemos que tener en cuenta los siguientes aspectos.\nEn el caso que no tengamos instalado un certificado SSL estamos dando la posibilidad que los ISP, o intermediarios maliciosos, estén inyectando código malicioso o anuncios en nuestro sitio web.\nPor lo tanto puede darse perfectamente el caso que nuestra web no tenga publicidad ni banners y nuestros lectores vean lo siguiente:\nEn este caso nuestros lectores sufrirán las siguientes consecuencias:\nLa interacción con nuestra página web será más lenta. Nuestros visitantes o clientes pueden ser bombardeados con publicidad. Quien introduce el banner tiene la posibilidad de bloquear nuestros propios anuncios e introducir los suyos. De este modo podríamos estar perdiendo dinero. Los visitantes pueden ser infectados por Malware. Por lo tanto con este ejemplo queda claro que un certificado SSL es útil en todos los casos.\nPara acceder al panel de administración de nuestro CMS Cada vez que accedemos al panel de administración de nuestro CMS tenemos que introducir nuestro usuario y contraseña. En el caso que no estemos usando un certificado SSL corremos el riesgo que un atacante nos robe nuestras credenciales y se haga con el control de nuestra página web.\nPara usar ciertos servicios y tecnologías hay que disponer de https Disponer de https permite que podamos disponer de más funcionalidades en nuestra página web. Un ejemplo de lo que estoy diciendo es lo siguiente:\nAlgunas APIS de google no pueden ser usadas si nuestra web no dispone de https. Un ejemplo de lo que estoy diciendo es el servicio de geolocalización de Google. El servicio de notificaciones web push únicamente puede usarse si disponemos de un certificado SSL. Cuando se implante HTTP/2 será estrictamente necesario disponer de un certificado SSL. No hay una diferencia significativa en la velocidad de carga Se ha demostrado que cuando más rápida sea una web, como por ejemplo un marketplace, más visitas y más dinero ganará. Por lo tanto muchos usuarios temen que https haga su web más lenta.\nLa verdad es que si instalamos un certificado SSL de forma adecuada, la web seguirá cargando igual de rápido que antes. La diferencia de velocidad y de recursos consumidos se puede considerar despreciable.\nhttps dispone de los siguientes mecanismos para asegurar que su velocidad de carga sea prácticamente las misma que http:\nTLS False Start: Activando TLS False Start en nuestros servidores Web. Este mecanismo permite que nuestro navegador pueda iniciar la petición https después de recibir el certificado sin tener que esperar a que termine el TLS handshake. TLS session resumption: Activando TLS session resumption en nuestros servidores web. Una vez realizado el primer TLS handshake el navegador recordará la sesión de usuario. Por lo tanto la siguiente vez que se deba realizar una conexión TLS con el servidor se podrá realizar de forma mucho más rápida. Usando HSTS: Mediante HSTS evitamos las redirecciones de http a https diciendo de antemano a los navegadores que únicamente accedan a nuestro sitio web mediante https. Etc. Nota: De todos los mecanismos citados en este apartado únicamente estoy usando HSTS. El motivo es porque mi servidor no tiene habilitados el resto de mecanismos. Tu web ganará posicionamiento SEO Existen webmasters que temen perder posicionamiento SEO en el proceso de transición entre de http a https.\nSi procedemos de forma correcta evitando en todo momento el contenido duplicado, evitando las redirecciones y el contenido mixto, el impacto de pasar de http a https debe ser mínimo o incluso nulo.\nUna vez finalizada la transición de http a https las visitas deben recuperar los niveles normales. Además a día de hoy el hecho de disponer de una web con https ayuda ligeramente a obtener un mejor posicionamiento SEO.\nNota: En mi caso hace 2 semanas que realice la transición de http a https. En mi caso el impacto en visitas y posicionamiento ha sido nulo. Durante este periodo puedo decir que las visitas han crecido. Porque google quiere que todas las web sean https Google en más de una ocasión ha dicho que https es la mínima seguridad exigida para las webs de hoy en día. Por lo tanto la gente debería empezar a realizar la transición cuanto antes mejor.\nNota: Google quiere que todo el mundo se mueva a https. Por lo tanto tarde o temprano Google forzará a todo el mundo a realizar el cambio. Si os fijáis las últimas versiones de Firefox y Chrome están marcando las páginas http como inseguras. Los certificados SSL no suponen una inversión importante Adquirir un certificado SSL básico para un solo dominio es extremadamente económico. En mi caso he adquirido uno por 8 Euros al año a través de mi hosting. Si lo prefieren incluso pueden obtener certificados gratuitos mediante proyectos como Let’s Encrypt.\nSi hablamos de un certificado Wildcard, o un certificado SSL multidominio, el coste se incrementará considerablemente hasta llegar a los 80 Euros anuales en el mejor de los casos.\nSu instalación es más fácil de lo que la gente piensa Cualquier persona puede instalar un certificado SSL en su sitio web.\nEs relativamente fácil instalar un certificado SSL y en caso de problemas pueden pedir ayuda a su proveedor de Hosting.\nSi el proveedor de hosting no les proporciona la atención adecuada entonces cambien de hosting porque el servicio que estáis recibiendo es malo.\nCONCLUSIONES Después de leer este artículo espero que la gran mayoría de gente pueda entender los siguientes aspectos:\nLa utilidad de usar un certificado SSL a día de hoy. Que no tengan prejuicios erróneos y piensen que adquirir e instalar un certificado SSL les supondrá inconvenientes. Además cuando estén navegando les recomiendo que miren que en su barra de direcciones aparezca el siguiente candado de color verde:\nEste candado será una prueba que nuestra privacidad está a salvo y que los datos que estamos leyendo no han sido modificados por nadie.\nNota: A lo largo de este artículo hablamos de certificados SSL. No obstante técnicamente hablando deberíamos llamarlos certificados TLS.","permalink":"https://geeklandlinux.github.io/posts/motivos-instalar-certificado-ssl/","summary":"\u003cp\u003eRecientemente acabo de adquirir un certificado SSL para el blog. Inicialmente era reticente a usar un certificado SSL, pero reflexionando un poco he llegado a la conclusión que a día de hoy tienen su utilidad.\u003c/p\u003e","title":"Motivos para instalar un certificado SSL para disponer de una web https"},{"content":"En semanas anteriores citamos y analizamos las ventajas e inconvenientes del audio .ogg sobre el mp3. En esta ocasión veremos una comparación práctica para confirmar que los formatos de audio .ogg son técnicamente superiores a los mp3.\nCOMPRESORES USADOS EN LA COMPARACIÓN Los compresores de audio usados en la comparación son los siguientes:\nLame para los archivos mp3. Oggenc para los archivos ogg. Es importante remarcar este detalle porque los compresores que usamos afectan de forma directa al resultado obtenido. A modo de ejemplo el compresor xing comprime el audio mp3 más rápido que lame, pero su calidad de sonido es peor.\nCRITERIOS USADOS EN LA COMPRESIÓN DEL AUDIO En la compresión de los archivos de audio hemos elegido una tasa de muestreo variable (VBR). Los motivos son los siguientes:\nLos archivos comprimidos con una tasa de bits variable proporcionan mejores resultados. Además ocupan menos espacio. El compresor oggenc está diseñado para trabajar con una tasa de bits variable. Por lo tanto lo lógico es hacer comparaciones usando una tasa de bits variable. Nota: El compresor oggenc tiene opciones para obtener un bitrate mas o menos constante. No obstante los resultados obtenidos son peores y además la compresión es más lenta. Los archivos de audio que compararemos dispondrán de una tasa de bits muy similar. De este modo ambos formatos están compitiendo en igual de condiciones.\nCOMPARACIÓN ENTRE UN AUDIO OGG Y MP3 A 260 Kpbs A partir de un archivo de audio sin pérdida .wav, realizaremos 2 archivos comprimidos.\nEl primero de ellos será un archivo .mp3 y el segundo será un archivo .ogg.\nParámetros usados para comprimir el archivo .wav a 260 Kbps Teniendo en cuenta las condiciones fijadas en el inicio del post, los comandos usados para comprimir el archivo .wav a .mp3 y .ogg son los siguientes:\nComando para comprimir a mp3 Comando para comprimir a ogg Comparación 256-260 Kbps lame -vbr-new -V 0 -q 0 \u0026lsquo;/home/joan/REM - Near Wild Heaven.wav\u0026rsquo; oggenc -q 8 \u0026lsquo;/home/joan/REM - Near Wild Heaven.wav\u0026rsquo; Tiempo necesario para comprimir el archivo a 260 Kbps El tiempo necesario para comprimir el archivo .wav a .mp3 y a .ogg ha sido el siguiente:\nTiempo en comprimir a mp3 (s) Tiempo en comprimir a ogg (s) Archivo a 256-260 Kbps 12 8,8 En este caso resulta fácil concluir que la compresión del archivo .ogg es más rápida que la del archivo .mp3.\nTamaño del archivo comprimido a 260 Kbps El tamaño de cada uno de los archivos comprimidos es el siguiente:\nTamaño del archivo mp3 (MB) Tamaño del archivo ogg (MB) Archivo a 256-260 Kbps 6,5 6,6 La compresión obtenida en ambos casos es de aproximadamente el 81%. Obviamente el resultado obtenido es prácticamente el mismo en los 2 casos. Esto es así y siempre será así porque los 2 archivos que comparamos tienen prácticamente la misma tasa de muestreo.\nNota: A mayor compresión obtendremos tamaños de archivo más pequeños, pero necesitaremos más tiempo tiempo comprimir los archivos. Comparación del Espectrograma de los 3 audios En la siguiente imagen animada se pueden observar los espectrogramas de los archivos .wav, .mp3 y .ogg.\nLas conclusiones que podemos extraer el espectrograma son las siguientes:\nEl espectrograma del archivo .ogg es bastante más cercano al del archivo original .wav.\nA frecuencias altas se observa que el audio comprimido al formato .mp3 pierde más harmónicos que el que hemos comprimido a .ogg.\nPor lo tanto queda claro que durante la compresión el audio .mp3 pierde más sonidos que el audio .ogg\nNivel de sonido en cada una de las frecuencias a 260 Kbps Si analizamos el nivel de sonido o volumen en cada una de las frecuencias obtenemos el siguiente resultado:\nLos resultados de nivel sonido en cada una de las frecuencias son muy similares al audio original.\nEl nivel de sonido del .mp3 y el .ogg se ajustan a la perfección hasta los 20 Khz. A partir de los 20 Kz tanto el archivo .ogg como el .mp3 pierden nivel de sonido en comparación con el audio .wav. Esto es así porque una de las operaciones que realizan los compresores de audio es eliminar sonidos en frecuencias no perceptibles por el oído humano.\nEl nivel de sonido que pierde tanto el archivo .ogg como el archivo .mp3 es muy similar, pero parece que la pérdida es más acentuada en el archivo .mp3.\nConclusiones de la comparación realizada a 260 Kbps Los 2 audios comprimidos presentan buena calidad. Cualquiera de los 2 audios debería satisfacer a las personas que les gusta escuchar música en buena calidad.\nVemos que el tiempo de compresión y la calidad del sonido obtenida es mejor en el formato de archivo .ogg. No obstante la diferencia en este caso es muy pequeña.\nEl resultado mostrado para el archivo .mp3 corresponde a la máxima calidad que podemos obtener con el compresor Lame. El compresor oggenc aún nos ofrece 2 niveles de calidad superior. Por lo tanto Ogg aun nos permitiría obtener audios de mayor calidad a costa de incrementar el tamaño del archivo.\nCOMPARACIÓN ENTRE UN AUDIO OGG Y MP3 A 160 Kpbs A partir de un archivo de audio sin pérdida .wav, realizaremos 2 archivos comprimidos a 160 Kbps.\nEl primero de ellos será un archivo .mp3 y el segundo será un archivo .ogg.\nParámetros usado para comprimir el archivo a 160 Kbps Teniendo en cuenta las condiciones fijadas en el inicio del post, los comandos usados para comprimir el archivo .wav a .mp3 y .ogg son los siguientes:\nComando para comprimir a mp3 Comando para comprimir a ogg Comparación 160 Kbps lame -vbr-new -V 4 -q 5 \u0026lsquo;/home/joan/REM - Near Wild Heaven.wav\u0026rsquo; oggenc -q 5 \u0026lsquo;/home/joan/REM - Near Wild Heaven.wav\u0026rsquo; Tiempo necesario para comprimir el archivo a 160 Kbps El tiempo necesario para comprimir el archivo .wav a .mp3 y a .ogg ha sido el siguiente:\nTiempo en comprimir a mp3 (s) Tiempo en comprimir a ogg (s) Archivos a 160 Kbps 7 7,4 En este caso el tiempo es prácticamente el mismo. No puedo determinar cual de los 2 es el más rápido porque Lame no proporciona tiempos en valor decimal.\nTamaño del archivo comprimido a 160 Kbps El tamaño de cada uno de los archivos comprimidos es el siguiente:\nTamaño del archivo mp3 (MB) Tamaño del archivo ogg (MB) Archivos a 160 Kbps 3,9 4 La compresión obtenida en ambos casos es de aproximadamente el 89%. Obviamente el resultado obtenido es prácticamente el mismo en los 2 casos. Esto es así y siempre será así porque los 2 archivos que comparamos tienen prácticamente la misma tasa de muestreo.\nComparación del Espectrograma de los 3 audios En la siguiente imagen animada se pueden observar los espectrogramas de los archivos .wav, .mp3 y .ogg.\nLas conclusiones que podemos extraer del espectrograma son las siguientes:\nEn este caso la diferencias que podemos observar son muy grandes.\nEl archivo .mp3 prácticamente no contiene sonidos a partir de los 16 KHz. En cambio en el archivo .ogg existen sonidos hasta los 20 Khz y para ocupar tan solo 4 MB obtiene un resultado muy bueno.\nEn este caso queda muy claro claro que durante la compresión, el audio .mp3 pierde muchos más sonidos que el audio .ogg\nNivel de sonido en cada una de las frecuencias a 160 Kbps Si analizamos el nivel de sonido o volumen en cada uno de las frecuencias obtenemos el siguiente resultado:\nEn este caso existe una gran diferencia entre los distintos formatos de audio.\nVemos de forma muy clara entre 16 Khz y 22 KHz el audio .mp3 ha perdido la totalidad de sonidos.\nEn cambio el nivel de volumen del archivo .ogg es prácticamente el mismo que el .wav hasta los 20 Khz.\nEl nivel de sonido perdido por el archivo .mp3 es mucho mayor que el archivo .ogg. Por lo tanto los resultados obtenidos por el audio .ogg son mucho mejores en este caso.\nConclusiones de la comparación realizada a 160 Kbps Existe una gran diferencia de calidad entre los 2 archivos que estamos analizando.\nA igualdad de tamaño y a igualdad de tiempo de compresión, el archivo .ogg ofrece unos resultados mucho mejores que un archivo .mp3.\nCualquier persona que tenga un oído fino y disponga de unos auriculares o altavoces en condiciones dirá que el audio .mp3 no tiene una calidad adecuada.\nCONCLUSIONES FINALES La conclusión después de realizar varias pruebas son las siguientes:\nLos archivos de audio .ogg a igualdad de condiciones ofrecen mejor calidad que los archivos .mp3. Incluso con una tasa de muestreo inferior, los archivos .ogg son capaces de ofrecer mejor calidad de sonido que un archivo .mp3. Cuanto más alta es la compresión de los archivos, mayor es la diferencia de calidad existente entre un audio .mp3 y .ogg. Cuando la tasa de muestreo es elevada la diferencia de calidad entre los 2 archivos es más pequeña. En este artículo hemos realizado un análisis basándonos en parámetros técnicos de los archivos de audio. No obstante la mejor forma de llegar a conclusiones es disponer de un buen oído y unos buenos medios para poder escuchar las diferencias entre los 2 archivos de audio.\n","permalink":"https://geeklandlinux.github.io/posts/comparacion-mp3-vs-ogg/","summary":"\u003cp\u003eEn semanas anteriores citamos y analizamos las \u003ca href=\"/posts/ventajas-formato-ogg-respecto-mp3/\"\u003eventajas e inconvenientes del audio .ogg sobre el mp3\u003c/a\u003e. En esta ocasión veremos una comparación práctica para confirmar que los formatos de audio .ogg son técnicamente superiores a los mp3.\u003c/p\u003e","title":"Comparación entre un audio mp3 y ogg para ver la diferencia de calidad existente entre ellos"},{"content":" En su día escribí un post detallando como configurar y usar el corrector ortográfico en Chrome. Como existen muchos usuarios que prefieren usar Firefox, en el siguiente artículo veremos como podemos configurar y usar el corrector ortográfico en Firefox.\nCONFIGURAR EL CORRECTOR ORTOGRÁFICO EN FIREFOX Los pasos a seguir para poder configurar y usar el corrector ortográfico en Firefox son los siguientes.\nInstalar los diccionarios que usaremos en Firefox Inicialmente tenemos que instalar los diccionarios de los distintos idiomas en los que acostumbramos a escribir.\nPara ello ubicamos el puntero del mouse encima del cuadro de texto en el que queremos escribir y presionamos el botón derecho del ratón.\nSeguidamente seleccionamos la opción Idiomas y a continuación clicamos en la opción Añadir diccionarios.\nDespués de clicar encima de Añadir diccionarios se abrirá una pestaña en el navegador para poder instalar los diccionarios. Seleccionamos el diccionario que queramos, que en mi caso es el Catalán, y pulsamos en la opción Instalar diccionario.\nSeguidamente aparecerá la siguiente ventana en que tenemos que presionar sobre el botón + Agregar a Firefox para que se puede instalar el diccionario.\nFinalmente damos permiso para instalar el diccionario presionando sobre el botón Instalar.\nUna vez añadido el diccionario en Catalán podemos añadir otros idiomas. Para añadirlos tan solo tenemos que repetir el proceso que acabamos de ver seleccionando el diccionario que nos interese instalar.\nUsar el corrector ortográfico en Firefox Una vez instalados los diccionarios, Firefox será capaz de realizar la corrección ortográfica.\nPara comprobarlo nos ponemos encima del cuadro de texto en que queremos escribir y presionamos el botón derecho del ratón. Cuando aparezca el menú contextual deberemos asegurar que la opción Comprobar ortografía esta tildada.\nAl contrario que Google Chrome, Firefox no detecta de forma automática el idioma en que estamos escribiendo. Por lo tanto, tal y como se puede ver en la captura de pantalla, en el menú Idiomas deberemos seleccionar el Idioma en el que queremos escribir que en mi caso es el Catalán.\nUna vez seleccionado el idioma ya podemos empezar a escribir sin ningún tipo de problema. Cuando cometamos una falta de ortografía Firefox la subrayará en color rojo.\nDeshabilitar el corrector Ortográfico en Firefox Si queremos deshabilitar el corrector ortográfico tan solo tenemos que ubicarnos encima de un cuadro de texto y presionar el botón derecho del ratón.\nCuando aparezca el menú contextual tenemos que destildar la opción Comprobar ortografía. Con esta simple acción el corrector ortográfico estará desactivado.\nDesinstalar los diccionarios del corrector ortográfico en Firefox Si además quieren desinstalar algunos de los diccionarios que tienen instalados deberán acceder al apartado de Complementos de Firefox.\nPara ello tienen que clicar encima del icono de Abrir menú y seguidamente clicar encima de la opción Complementos.\nFinalmente clicamos en el apartado Diccionarios y seguidamente podremos Desactivar o Eliminar por completo los diccionarios disponibles.\nDe esta forma tan simple y tan sencilla podemos configurar y usar el corrector ortográfico de Firefox.\n","permalink":"https://geeklandlinux.github.io/posts/configurar-y-usar-corrector-ortografico-en-firefox/","summary":"\u003cp\u003e En su día escribí un post detallando como \u003ca href=\"/posts/usar-corrector-ortografico-en-chrome/\"\u003econfigurar y usar el corrector ortográfico en Chrome\u003c/a\u003e. Como existen muchos usuarios que prefieren usar Firefox, en el siguiente artículo veremos como podemos configurar y usar el corrector ortográfico en Firefox.\u003c/p\u003e","title":"Como configurar y usar el corrector ortográfico en Firefox"},{"content":"Entre los usuarios del software libre son muchas las ocasiones en que se habla del formato ogg. Además una pregunta bastante recurrente es:\n¿Qué formato de audio es mejor? ¿mp3 o ogg?\nDespués de investigar un poco y realizar pruebas he llegado a la conclusión que el formato ogg es técnicamente superior al mp3.\nAdemás los archivos .ogg son capaces de proporcionar una calidad de audio superior con un tamaño menor.\nNo obstante ambos formatos de archivo presentan ventajas e inconvenientes que detallaremos a continuación.\nVENTAJAS TÉCNICAS DEL FORMATO OGG RESPECTO AL MP3 Algunas de las ventajas del formato ogg respecto al mp3 son las siguientes:\nPermite almacenar más canales de audio Los archivos de audio mp3 solo permiten almacenar 2 canales de audio. Como contrapartida los archivos ogg permiten usar hasta 255 canales.\nAsí por lo tanto el formato .mp3 no permite almacenar sonido envolvente del tipo Stereo 5.1 (6 canales), mientras que un archivo .ogg sí.\nEl contenedor .ogg permite almacenar audio y vídeo El formato de contenedor .ogg es capaz de almacenar tanto audio como vídeo. En cambio el contenedor .mp3 únicamente puede almacenar audio.\nNo obstante en 2007 la Xiph.org creo el contenedor .ogv y el códec Theora, ambos específicos para vídeo. Desde entonces los contenedores .ogg únicamente se recomiendan para almacenar audio.\nA igualdad de tamaño de archivo la calidad del formato ogg es superior El formato de compresión Ogg Vorbis es mejor que el mp3 porque es capaz de obtener calidades de audio iguales o superiores a un mp3, con un peso de archivo menor.\nAlgunos de los motivos que justifican lo que acabo de comentar son los siguientes:\nOgg Vorbis es un formato de compresión de audio más actual que mp3. Ogg vorbis es libre y abierto para que la comunidad pueda seguir mejorándolo ininterrumpidamente. La calidad de un archivo .ogg puede ser muy superior a la de un mp3 En el caso que nos importe mucho la calidad del sonido es mejor utilizar el formato ogg:\nDespués de realizar varias pruebas he llegado a las siguientes conclusiones:\nUn audio comprimido a mp3 con lame a máxima calidad ofrece una calidad similar a un audio comprimido con oggenc a la calidad 7 u 8. La máxima calidad del formato ogg es la 10. La calidad 10 proporciona una calidad de sonido excelente con una tasa de muestreo media de 520 kbps. La calidad máxima de un archivo .mp3 corresponde a un archivo con una tasa de muestreo media aproximada de 260 kbps. Ogg Vorbis es abierto y libre de patentes El contenedor .ogg y el códec vorbis son completamente abiertos, libres y sin patentes.\nEn cambio el formato de compresión .mp3 es propietario. Si alguien decide codificar archivos de audio en mp3 para por ejemplo incluirlos en un software, deberá pagar royalties a la Fraunhofer-Gesellschaft.\nEl sistema de etiquetado es mejor en ogg El sistema de etiquetado ogg Vorbis es mejor y más flexible que el sistema de etiquetado de los mp3.\nAsí por ejemplo el sistema de etiquetado de Vorbis nos permite lo siguiente:\nEditar las etiquetas al mismo tiempo que comprimimos los archivos de audio. Podemos duplicar etiquetas. De este modo en el caso que tengamos más de un artista podremos disponer de 2 etiquetas de artista. Al igual que ID3v2 podemos crear etiquetas personalizadas. Por lo tanto permiten añadir prácticamente toda la información que queramos. Usar un número prácticamente ilimitado de etiquetas. Podemos usar un número prácticamente ilimitado de caracteres para describir cada una de las etiquetas. INCONVENIENTES DEL FORMATO DE AUDIO OGG Técnicamente los archivos de audio .ogg son mejores que los .mp3, pero en la actualidad presentan los siguientes problemas:\nExisten reproductores de audio que no reproducen .ogg Hay reproductores de audio que no pueden reproducir audio en el formato ogg. A modo de ejemplo podemos encontrar los siguientes casos:\nLos iPod aún no son capaces de reproducir archivos en formato ogg. Windows 10 tampoco es capaz de reproducir audio .ogg de forma predeterminada. Si queremos reproducir audio ogg deberemos instalar códecs adicionales o descargar algún software que sea capaz de reproducirlos. En Mac OS la situación es similar a la de Windows. El reproductor iTunes no es capaz de reproducir el formato de archivo .ogg. Hay muchos reproductores de vídeo que no son capaces de reproducir los formatos de archivo .ogg, .ogv, .ogm, etc. El CD de audio de mi coche no es capaz de reproducir archivos .ogg. En cambio si puede reproducir archivos .mp3. A pesar de esto, en muchos casos podemos encontrar una solución como por ejemplo instalar códecs o un software capaz de reproducir archivos .ogg.\nEn en siguiente enlace encontrarán información de software y códecs para reproducir y codificar archivos .ogg sin ningún tipo de problema.\nEl consumo de batería es superior Aunque no he realizado ninguna comprobación, los comentarios de varios usuarios en foros apuntan que el consumo de batería de nuestros reproductores de audio es mayor cuando reproducimos archivos .ogg.\nLos procesadores de nuestros dispositivos a priori están más optimizados para decodificar archivos .mp3 debido a que los archivos .mp3 son un estándar en la actualidad.\nDEMOSTRACIÓN QUE LOS ARCHIVOS .OGG OFRECEN UNA CALIDAD SUPERIOR A LOS .MP3 A estas alturas todo el mundo debería tener claras las ventajas teóricas que proporciona el audio .ogg sobre el .mp3.\nA quien le interese ver una demostración práctica de lo citado hasta el momento puede leer el artículo en que analizo de forma práctica las diferencias entre los audios comprimidos en mp3 y en ogg vorbis.\n","permalink":"https://geeklandlinux.github.io/posts/ventajas-formato-ogg-respecto-mp3/","summary":"\u003cp\u003eEntre los usuarios del software libre son muchas las ocasiones en que se habla del formato ogg. Además una pregunta bastante recurrente es:\u003c/p\u003e\n\u003cp\u003e¿Qué formato de audio es mejor? ¿mp3 o ogg?\u003c/p\u003e","title":"Ventajas e inconvenientes del formato ogg respecto al mp3"},{"content":"Hace un par de semanas tuve la agradable experiencia de recibir una donación en el blog. En mi caso esta colaboración se trata de un pequeño milagro porque puedo afirmar con toda rotundidad que el botón de donaciones de la mayoría de blogs son un simple adorno.\nRESULTADOS OBTENIDOS CON EL BOTÓN DE DONACIONES Llego a esta conclusiones porque después de 4 años y unos meses la donaciones recibidas en el blog han sido las siguientes:\nFecha Nombre Población País Cantidad 23/08/14 M. G. E. San Sebastián España 10 Euros 28/07/15 J. M. R. Saviñao España 10 Euros 06/01/16 Fede C. San Sebastián España 5 Euros 24/01/16 V. J. B. S. Coatlán del Río México 5 Euros 26/01/16 F. d. S. O. Peñafiel España 5 Euros 12/02/16 J. A. B. C. Nebeneingang Alemania 5 Euros Para hacer este dato más entendible os diré que equivale a 1 donación cada 590.325 visitantes únicos.\nOTRAS CONSIDERACIONES A TENER EN CUENTA Como habéis visto, a pesar que el botón de donaciones está ubicado en un sitio privilegiado del blog, el soporte recibido es poco. Además tenemos que tener en cuenta que mantener este blog abierto supone gastos.\nLos gastos estimados durante 4 años en mi blog han sido los siguientes:\nCoste en Euros Número de años TOTAL Coste del dominio 10 € 4 40 € Coste certificado SSL 10 € 1 10 € Coste del servidor 95 € 4 380 € 430 € Si además consideramos las horas invertidas en escribir los artículos nos encontramos con el siguiente panorama.\nArtículos escritos Horas para escribir un artículo Horas totales invertidas 240 6 h 1440 h Si consideramos un coste de 10 € la hora obtenemos que el coste total de edición del blog es el siguiente:\nCoste total edición del blog 14.400 € Por lo tanto a groso modo las conclusiones finales son las siguientes:\nCoste total de mantener el blog 14.820 € Donaciones recibidas 40 € % del coste soportado por donaciones 0,27 % Por lo tanto es fácil llegar a la conclusión que en mi caso y en la mayoría de casos los botones de donaciones no son demasiado útiles. En mi caso no me puedo financiar ni los cafés.\nCONCLUSIONES Y REFLEXIONES Con los datos mostrados durante el transcurso del artículo creo que se puede llegar fácilmente a las siguientes conclusiones:\nLa gran mayoría de bloggers escriben por hooby, y como cualquier otro hobby tiene un coste que asumimos con gusto. La gran mayoría de bloggers escriben para alimentar su Ego, adquirir nuevos conocimientos y/o para establecer relaciones con terceros. Quien pretenda sacar dinero de un blog personal lo tiene difícil. En mi caso cada día que pasa me preocupan menos los lectores y me centro a escribir para mi mismo. Si alguien me pide ayuda y me viene bien ayudarle lo haré con mucho gusto. Si no me apetece tendrán que ser otros quienes proporcionen la ayuda. Hay que apoyar a los blogs pequeños que acostumbramos a leer. En caso contrario tarde o temprano desaparecerán y se perderá el contenido que han creado. Son muchos los blogs personales que contienen contenido de calidad. Cuando un blog cierra no se lamenten ni intenten contactar con su propietario para pedirle explicaciones. Si los blogs no reciben apoyo es normal que cierren. Internet lo construimos blogs como el mío y muchos otros. Internet no lo construyen las grandes redes de blogs tipo Xataka, Hipertextual, Genbeta, etc que lo único que pretenden es conseguir ingresos y visitas. Si no se apoyan los blogs pequeños al final únicamente quedarán las grandes redes de blogs que he mencionado anteriormente. Si esto pasara pienso que se perdería la neutralidad en la red. Frente a la situación actual y a la cultura del todo Gratis, los bloggers no sienten ningún tipo de obligación con sus lectores. Existen lectores que te proponen con insistencia que escribas sobre un determinado tema. Como he dicho anteriormente, los bloggers no tienen ningún tipo de obligación frente a un lector. Si la propuesta les interesa se la apuntarán y escribirán sobre ella cuando les apetezca. Nota: Lo que comento en este post no únicamente aplica a los bloggers. Aplica a la totalidad de creadores de contenido y desarrolladores de Software. REFLEXIÓN SOBRE LA CULTURA DEL TODO GRATIS Es mucha la gente vinculada al software Libre que debería reflexionar sobre la cultura del todo gratis. Para que lo hagan y para cerrar el post me gustaría dejarles el siguiente audio perteneciente a Salmorejo Geek:\n","permalink":"https://geeklandlinux.github.io/posts/utilidad-del-boton-de-donaciones-blog/","summary":"\u003cp\u003eHace un par de semanas tuve la agradable experiencia de recibir una donación en el blog. En mi caso esta colaboración se trata de un pequeño milagro porque puedo afirmar con toda rotundidad que el botón de donaciones de la mayoría de blogs son un simple adorno.\u003c/p\u003e","title":"Utilidad del botón de donaciones en un blog y algunas reflexiones"},{"content":"Hace una semana vimos que es el rango dinámico de un audio y las ventajas e inconvenientes que nos proporcionan los audios con un rango dinámico elevado. A raíz de este artículo veremos como medir el rango dinámico de cualquier archivo de sonido y a posteriori analizaremos si los valores obtenidos para ver si son aceptables.\nCOMO MEDIR EL RANGO DINÁMICO DE UN AUDIO Podemos medir el rango dinámico de cualquier archivo de audio mediante un simple software.\nExisten muchos software para medir el rango dinámico, pero en mi caso usaré DR14 T.meter por los siguientes motivos:\nSe trata de software libre escrito en phyton bajo la licencia GPL3. Porqué el algoritmo de cálculo que usa es el mismo que Dynamic Range Meter. Está disponible para la totalidad de distribuciones GNU-Linux. Da los mismos valores que el plugin de Foobar Dynamic Range Meter elaborado por la Pleasurize Music Foundation. Aparte de medir el rango dinámico tiene otras funcionalidades como por ejemplo sacar histogramas de rangos dinámicos, comprimir un audio, representar la onda de un archivo de audio, etc. INSTALAR DR14 T.METER EN LINUX Para instalar el software que usaremos para medir el rango dinámico accedemos a la siguiente página web:\nhttp://dr14tmeter.sourceforge.net/index.php/Main_Page\nDentro de la página web descargamos el paquete binario para la instalación del programa. En mi caso como uso Debian descargo el paquete .deb de Debian.\nUna vez descargado el archivo binario lo instalamos de forma habitual. En mi caso, tal y como pueden ver en la captura, de pantalla lo instalo mediante gdebi.\nNota: Es posible que el programa DR14 T.meter se encuentre directamente en los repositorios de vuestra distro. Por ejemplo en Archlinux lo podréis encontrar en AUR. Una vez instalado el paquete ya podremos medir el rango dinámico de cualquier archivo de audio.\nPaquetes a instalar para obtener funcionalidades adicionales Nota: Este apartado no es necesario para medir el rango dinámicos Si aparte de medir el rango dinámico queréis hacer histogramas de rango dinámico, ver el espectrograma de una canción o imprimir su onda tenemos que instalar MatPlotLib.\nPara ello en Debian y en distribuciones derivadas de Debian ejecutamos el siguiente comando en la terminal:\nsudo apt-get install python-matplotlib En el caso de ser usuario de Fedora ejecutaremos el siguiente comando:\nsudo dnf install python-matplotlib Si además queremos usar este software como compresor de audio aún tendremos que instalar más paquetería.\nEn Debian y en distribuciones derivadas de Debian la instalaremos ejecutando el siguiente comando en la terminal:\nsudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose En Fedora y en distribuciones derivadas de Fedora ejecutaremos el siguiente comando:\nsudo dnf install numpy scipy python-matplotlib ipython python-pandas sympy python-nose atlas-devel ¿CÓMO FUNCIONA EL PROGRAMA DR14 T.METER El programa DR14 T.METER nos dará un valor de rango dinámico en dB.\nEste valor lo obtiene analizando la media de la diferencia acumulada entre los picos y los valores de promedio de volumen RMS durante un periodo específico de tiempo que será lo que dura la canción. Durante el proceso solo se consideran el 20% de los volúmenes más altos para evitar que canciones que únicamente tengan un buen rango dinámico en alguna parte de la canción den buenos resultados.\nPara que se hagan una idea de la explicación les muestro el siguiente gráfico:\nLa onda de color azul claro corresponde a los valores promedio de volumen RMS, mientras que la onda de color azul oscuro corresponde a los valores de pico.\nMEDIR EL RANGO DINÁMICO DE UNA O VARIAS CANCIONES Para medir el rango dinámico tenemos que seguir las siguientes instrucciones.\nEl primer paso consiste en abrir una terminal.\nSeguidamente nos dirigimos a la carpeta que contiene los archivos de audio que queremos analizar. Para ello en mi caso ejecuto el siguiente comando:\ncd /home/joan Una vez dentro de la ubicación ejecutamos el siguiente comando:\ndr14_tmeter Después de ejecutar el comando se calculará el rango dinámico de todos los audios de la ubicación en que hemos ejecutado dr14_tmeter.\nAdemás se creará un archivo de texto con nombre dr14.txt que contendrá los resultados obtenidos en la medición.\nSi quieren también pueden analizar varias carpetas de forma recursiva o únicamente un audio en concreto. Para saber como hacerlo pueden consultar la ayuda del programa ejecutando el siguiente comando en la terminal:\ndr14_tmeter --help Interpretar los resultados obtenidos Como vimos en pasados artículos, el valor de rango dinámico de una canción depende de muchos factores, y uno de ellos es el tipo de música.\nCon lo que acabo de decir debe quedar claro lo siguiente:\nSi un archivo de música disco obtiene una calificación de DR8 se puede considerar que tiene un rango dinámico bueno. Si una una pieza de música clásica obtiene un valor de DR8 entonces el rango dinámico es malo. Una vez clarificado este punto podemos analizar los resultados obtenidos con la ayuda de esta tabla:\nFuente: http://www.pleasurizemusic.com/\nEn el ejemplo anterior obtuvimos los siguientes resultados:\nDR Peak RMS Duration Title DR11 -0,6 dB -18,78 dB 02:50:00 Hans Zimmer - Nothing out there.flac DR4 -0,7 dB -7,27 dB 03:23:00 Linkin Park – With you.wav Por lo tanto las conclusiones de las mediciones son las siguientes:\nLa canción de linkin Park “With you” tiene un rango dinámico de 4 dB. Al tratarse de un estilo de música metal alternativo nos vamos a la fila DR4 de la columna 2 y vemos que le corresponde el color rojo. Por lo tanto la conclusión es que esta canción tiene un rango dinámico muy malo.\nSi analizamos la canción de Hans Zimmer “Nothing out there” vemos que tiene un rango dinámico de 11 dB. Como en este caso es una canción de música clásica nos vamos a la fila DR11 de la columna 3 y vemos que el color es amarillo tirando a verde. Por lo tanto, aunque el rango dinámico no es plenamente satisfactorio, lo podemos considerar aceptable.\nNo os sorprendáis cuando descubráis que la mayoría de archivos que analicéis obtienen calificaciones pésimas. El responsable de estás calificaciones es la industria musical que se dedica a subir el volumen de las canciones mediante compresores de audio.\nOTRAS OPERACIONES QUE PERMITE REALIZAR DR14 T.Meter DR14 T.Meter tiene otras funcionalidades aparte de medir el rango dinámico de una canción.\nUna de las que creo interesantes comentar es la de realizar histogramas de rango dinámico.\nRealizar un histograma de rango dinámico Para realizar un histograma de rango dinámico tecleamos el comando dr14t_meter \u0026ndash;hist seguido la ruta del archivo de audio que queremos analizar.\nPor lo tanto para realizar el histograma de la canción de Hans Zimmer ejecuto el siguiente comando en la terminal:\ndr14_tmeter --hist \u0026#39;/home/joan/Hans Zimmer - Nothing Out There.flac\u0026#39; El resultado obtenido es el siguiente:\nVemos que la media de valores RMS no es muy elevada (-25,384 dB) y lejos de los 0 dB que es donde acostumbran a estar los picos. Además si imaginamos la representación gráfica como una pirámide vemos que tiene una base ancha. Todas observaciones hacen pensar que la canción que hemos analizado tiene un rango dinámico aceptable.\nEn el caso que hubiéramos obtenido un histograma de un audio con bajo rango dinámico veríamos algo parecido a lo siguiente:\nEste histograma contiene las características opuestas al caso anterior. Además en este caso también vemos que la probabilidad de encontrar sonidos de volumen alto es mucho más elevada que en el caso anterior.\nBASES DE DATOS DE RANGO DINÁMICOS DE CANCIONES Si lo desean pueden consultar bases de datos de artistas, álbumes y canciones por Internet. Una de las bases de datos interesantes es la siguiente:\nhttp://dr.loudness-war.info/\nSi lo desean pueden contribuir en alimentar la base de datos de este sitio con los datos que vosotros obtengáis. Para hacerlo tendremos que rellenar una serie de datos referentes al álbum que queremos subir, y finalmente deberemos proporcionar el archivo dr14.txt de la medición que hemos realizado.\nNOTAS DEL ARTÍCULO En este artículo se detalla el proceso para medir el rango dinámico en el sistema operativo Linux. En un futuro si la gente lo pide puedo realizar un post semejante para los usuarios de Windows.\n","permalink":"https://geeklandlinux.github.io/posts/medir-el-rango-dinamico-audio/","summary":"\u003cp\u003eHace una semana vimos \u003ca href=\"/posts/que-es-el-rango-dinamico-audio-ventajas/\"\u003eque es el rango dinámico de un audio\u003c/a\u003e y las ventajas e inconvenientes que nos proporcionan los audios con un rango dinámico elevado. A raíz de este artículo veremos como medir el rango dinámico de cualquier archivo de sonido y a posteriori analizaremos si los valores obtenidos para ver si son aceptables.\u003c/p\u003e","title":"Medir el rango dinámico de un audio y valorar su resultado"},{"content":"En el siguiente artículo veremos como seleccionar el mejor repositorio de forma automática mediante los repositorios redirector de Debian. En el pasado ya escribí un post en el que detallaba como encontrar los repositorios más rápidos en Debian. El método que mostrábamos era y es perfectamente válido pero presenta los siguientes inconvenientes:\nEl que hoy es el mejor repositorio puede no serlo mañana. Si viajamos periódicamente resulta un engorro tener que estar mirando constantemente cual es el repositorio más adecuado. Para solucionar estos inconvenientes y usar en todo momento el mejor repositorio disponible de forma automática podemos usar los repositorios redirector de Debian.\n¿QUÉ SON LOS REPOSITORIOS REDIRECTOR DE DEBIAN? Los repositorios redirector es un proyecto de Debian que nos permite solucionar el problema de tener que seleccionar el repositorio más rápido.\n¿Por qué?\nPorque los repositorios redirector de Debian harán que usemos en todo momento el mejor repositorio disponible de forma automática.\nVARIABLES USADAS PARA SELECCIONAR EL MEJOR REPOSITORIO Los factores que se usan para seleccionar el mejor repositorio de forma automática son los siguientes:\nNuestra ubicación geográfica. La ubicación geográfica de los repositorios. La arquitectura de nuestro sistema operativo. La carga y la respuesta de los servidores de los repositorios. VENTAJAS PROPORCIONADAS FRENTE A LOS REPOSITORIOS TRADICIONALES Algunas de las ventajas ofrecidas por los repositorios Redirector frente a los repositorios tradicionales son las siguientes:\nSiempre estaremos usando el repositorio más adecuado para actualizar e instalar nuestros programas. Los repositorios que usaremos siempre estarán actualizados. No nos encontraremos nunca con un servidor caído. En el caso que un servidor esté caído se seleccionará otro sin que nosotros nos demos cuenta. Si estamos constantemente en movilidad y viajamos nos ayudarán a obtener siempre el mejor repositorio de forma automática. El proceso es completamente automático e imperceptible para el usuario. Etc. ¿ÁMBITO DE USO DE LOS REPOSITORIOS REDIRECTOR? Los repositorios redirector se pueden usar en todas y cada una de las ramas de Debian. Por lo tanto los podemos usar en las siguientes ramas:\nOldstable Stable Testing Sid Experimental Podemos usar los repositorios redirector en todos los repositorios oficiales de la distro Debian a excepción de:\nEl repositorio que proporciona las actualizaciones de seguridad. El repositorio multimedia porque simplemente no forma parte de los repositorios oficiales de Debian. Teniendo en cuenta las indicaciones de este apartado ya podemos pasar a modificar el fichero /etc/apt/sources.list para poder usar los repositorios redirector.\nCOMO CONFIGURAR LOS REPOSITORIOS REDIRECTOR Editaremos el fichero /etc/apt/sources.list ejecutando el siguiente comando en la terminal:\nsudo nano /etc/apt/sources.list Una vez se abra el editor de textos veremos los repositorios que estamos usando que en mi caso son los siguientes:\n# Repositorios principales de Debian deb http://ftp.fr.debian.org/debian/ jessie main deb-src http://ftp.fr.debian.org/debian/ jessie main # Repositorio actualizaciones de seguridad deb http://security.debian.org/ jessie/updates main deb-src http://security.debian.org/ jessie/updates main # jessie-updates, previously known as \u0026#39;volatile\u0026#39; deb http://ftp.fr.debian.org/debian/ jessie-updates main deb-src http://ftp.fr.debian.org/debian/ jessie-updates main # Repositorio Backports deb http://ftp.debian.org/debian/ jessie-backports main ##Repositorio Multimedia deb http://www.deb-multimedia.org/ jessie main non-free deb-src http://www.deb-multimedia.org/ jessie main non-free Seguidamente identificamos los repositorios que tenemos que modificar siguiendo los criterios del apartado anterior. En mi caso los repositorios a modificar son los siguientes:\n# Repositorios principales de Debian deb http://ftp.fr.debian.org/debian/ jessie main deb-src http://ftp.fr.debian.org/debian/ jessie main # jessie-updates, previously known as \u0026#39;volatile\u0026#39; deb http://ftp.fr.debian.org/debian/ jessie-updates main deb-src http://ftp.fr.debian.org/debian/ jessie-updates main # Repositorio Backports deb http://ftp.debian.org/debian/ jessie-backports main Nota: Las partes de color rojo de los repositorios son las que tendremos que sustituir para usar los repositorios redirector. Finalmente reemplazamos el texto de color rojo por el siguiente:\nhttp://deb.debian.org/debian Una vez realizadas las modificaciones nuestros repositorios quedarán de la siguiente forma:\n# Repositorios principales de Debian deb http://deb.debian.org/debian/ jessie main deb-src http://deb.debian.org/debian/ jessie main # Repositorio actualizaciones de seguridad deb http://security.debian.org/ jessie/updates main deb-src http://security.debian.org/ jessie/updates main # jessie-updates, previously known as \u0026#39;volatile\u0026#39; deb http://deb.debian.org/debian/ jessie-updates main deb-src http://deb.debian.org/debian/ jessie-updates main # Repositorio Backports deb http://deb.debian.org/debian/ jessie-backports main ##Repositorio Multimedia deb http://www.deb-multimedia.org/ jessie main non-free deb-src http://www.deb-multimedia.org/ jessie main non-free Nota: El texto verde corresponde a las partes modificadas de nuestros repositorios. Una vez realizadas las modificaciones guardamos los cambios y cerramos el fichero.\nAhora ya podemos instalar programas y actualizar nuestro sistema operativo teniendo la seguridad que en todo momento estamos usando el mejor repositorio disponible.\nCOMO SABER LOS REPOSITORIOS QUE ESTAMOS USANDO Si alguien tiene curiosidad para saber los repositorios que está usando puede observar detalladamente los resultados que nos da la terminal mientras se actualizan los repositorios con el comando sudo apt-get update\n","permalink":"https://geeklandlinux.github.io/posts/repositorios-redirector-en-debian/","summary":"\u003cp\u003eEn el siguiente artículo veremos como seleccionar el mejor repositorio de forma automática mediante los repositorios redirector de Debian. En el pasado ya escribí un post en el que detallaba como \u003ca href=\"/posts/elegir-el-mejor-repositorio-en-debian/\"\u003eencontrar los repositorios más rápidos\u003c/a\u003e en Debian. El método que mostrábamos era y es perfectamente válido pero presenta los siguientes inconvenientes:\u003c/p\u003e","title":"¿Qué son y cómo podemos usar los repositorios redirector en Debian?"},{"content":"En pasados post escribimos sobre como analizar la calidad de un archivo de audio. A raíz de este artículo he creído interesante hablar sobre rango dinámico porque es otro de los parámetros que podemos analizar para conocer la calidad de un audio.\n¿QUÉ ES EL RANGO DINÁMICO DE UN ARCHIVO DE AUDIO? El rango dinámico no es más que la diferencia de nivel de presión sonora existente entre los sonidos más bajos y los sonidos más altos que podemos escuchar.\nEstá diferencia de sonido se mide en dB (decibelios). Cuanto mayor sea la diferencia en dB, mayor será el rango dinámico del audio.\nUn ejemplo de un audio con un rango dinámico malo seria el siguiente:\nUn ejemplo de un audio con un rango dinámico medianamente aceptable seria el siguiente:\nLa diferencia entre el nivel de señal más baja y más alta vemos que es mayor en el segundo caso. Esto se traduce en que el rango dinámico de la segunda canción es mejor que la primera.\nNota: El ejemplo que acabamos de ver es meramente conceptual ya que el signo de la señal debería ser en dB y solo se consideran 2 puntos de un tramo muy reducido de una de las canciones. VENTAJAS DE LA MÚSICA CON UN RANGO DINÁMICO ELEVADO El audio que dispone de un buen rango proporciona las siguientes ventajas:\nUn sonido más limpio. El sonido es sin saturación. Transmite más las emociones. Permite distinguir más fácilmente el instrumento que está sonando en cada momento. Permite escuchar más fácilmente la letra de las canciones. Da mayor realismo al audio que estamos escuchando. Es mejor para nuestro oído. Las canciones con un rango dinámico bajo transmiten un nivel de energía superior a nuestros oídos. Asimismo el audio con un rango dinámico alto también puede generar inconvenientes como por ejemplo que sea difícil escuchar las partes de las canciones que contienen niveles de presión sonora bajos.\nFACTORES QUE AFECTAN AL RANGO DINÁMICO Existen muchos factores a considerar. Algunos de ellos son los siguientes:\nEl equipo usado para enregistrar la canción. Los altavoces y equipo que usamos para escuchar una canción. El genero de música. El tipo de música determina en cierto modo el rango dinámico de una canción. En la música clásica la diferencia de sonido entre las partes más suaves y las más fuertes siempre acostumbra a ser grande y esto hace que el rango dinámico sea alto. Si consideramos otros géneros musicales, como por ejemplo el hip-hop, veremos que la situación es completamente la opuesta. En los inicios de los años 90 la industria musical decidió que cuanto más alta sonara la música mejor. La forma para subir el volumen fue comprimir la señal de audio y esto ocasiona una pérdida del rango dinámico. Está práctica se ha extendido hasta la actualidad y ha acabado originando lo que se denomina la Guerra del Volumen. ¿POR QUÉ HOY EN DIA LA GRAN MAYORÍA DE MÚSICA QUE COMPRAMOS TIENE UN RANGO DINÁMICO BAJO? El principal motivo es porque la indústria musical comprime la señal de audio para incrementar el volumen de la canción. Haciendo lo que acabo de citar se reduce el rango dinámico y en primera instancia parece que las canciones se escuchan mejor.\nParece que se escuchan mejor porque a un volumen alto, el contenido de sonido a bajas frecuencias y altas frecuencias es superior.\nEsta particularidad es usada para intentar potenciar las ventas de música ya que hoy en día la gente acostumbra a escuchar las canciones antes de comprarlas.\nHoy en día existen asociaciones, como la Pleasurize Music Foundation o la Turn me up, que intentan combatir este tipo de prácticas. Según estas asociaciones, uno de los motivos de porque la gente no compra música es por los bajos rangos dinámicos que la música tiene en la actualidad.\nTambién existen muchos ingenieros de sonido y músicos reconocidos, como por ejemplo Bob Dylan, que están en contra de las prácticas adoptadas por la industria musical durante los últimos años.\n¿CÓMO MEDIR EL RANGO DINÁMICO DE UNA CANCIÓN? Hoy en día existen varios métodos para medir y evaluar el rango dinámico de una canción.\nEn un futuro escribiré un artículo en el que detallaré el proceso de medición en Linux y en Windows.\nFuentes:\ndynamicrange.de\npleasurizemusic.com\n","permalink":"https://geeklandlinux.github.io/posts/que-es-el-rango-dinamico-audio-ventajas/","summary":"\u003cp\u003eEn pasados post escribimos sobre como \u003ca href=\"/posts/como-conocer-calidad-de-un-archivo-de-audio/\"\u003eanalizar la calidad de un archivo de audio\u003c/a\u003e. A raíz de este artículo he creído interesante hablar sobre rango dinámico porque es otro de los parámetros que podemos analizar para conocer la calidad de un audio.\u003c/p\u003e","title":"¿Qué es el rango dinámico de un audio y que ventajas proporciona?"},{"content":"Hace unas semanas escribí un artículo en el que detallaba los motivos por los que no me convence Gnome Shell. En esta ocasión detallaré los motivos por los cuales me gusta y uso XFCE siempre que tengo la oportunidad.\nLos entornos de escritorio son algo personal. En función de la forma de pensar y trabajar de cada persona preferirá usar un entorno de trabajo u otro. Por este motivo en este artículo empezaré detallando lo que yo busco en un entorno de escritorio.\nCARACTERÍSTICAS QUE PARA MI DEBE TENIR UN ENTORNO DE ESCRITORIO Para mi un entorno de escritorio tiene que ser una cosa simple y sencilla, que se pueda personalizar para adaptarlo a mis necesidades y que no sea un devorador de recursos.\nIntento evitar los escritorios que tienen un consumo elevado de recursos y efectos 3D llamativos. Los evito porque en mi caso pienso que los recursos deben ser usados por los programas y no por el sistema operativo. Para mi y para muchos, un entorno de escritorio no es más que un medio para interactuar con los programas.\nEn mi caso cuando pienso en un ordenador, o en un entorno de escritorio, pienso en una herramienta de trabajo y productividad.\nA continuación veremos que para mi XFCE es un entorno de escritorio que se amolda perfectamente a mis requerimientos.\n¿POR QUÉ MOTIVOS USO EL ESCRITORIO XFCE? Los motivos que hacen que me encuentre a gusto usando el escritorio XFCE son los siguientes:\nEntorno de escritorio equilibrado El principal motivo para usar XFCE es que se trata del entorno de escritorio más equilibrado.\nSi valoramos ciertos aspectos de forma individual, la gran mayoría de personas llegará a las siguientes conclusiones:\nNo es el escritorio que consume menos RAM. En una instalación normal su consumo de RAM está entorno los 300 o 400 MB. A pesar de esto para mi es un escritorio extremadamente rápido y ligero. No es el que dispone de más funcionalidades incorporadas. Pero tiene lo justo e imprescindible. Técnicamente hablando no es el entorno de escritorio más avanzado. No es el entorno de escritorio que presenta un desarrollo más activo. De serie no es el entorno de escritorio visualmente más atractivo. Pero si analizamos todas las características en conjunto a mi modo de ver es el entorno de escritorio que más me satisface, porque sin duda presenta un entorno de escritorio muy completo con un consumo de recursos bajo.\nDesarrollo lento pero con una gran estabilidad El desarrollo de este entorno de escritorio presenta las siguientes características:\nEl desarrollo es lento. El tiempo que suele pasar entre versiones de escritorio acostumbra a ser de aproximadamente 2 años El equipo de desarrollo es pequeño. El trabajo que realizan es correcto y coherente. No pretenden reinventar el escritorio ni implantar cambios drásticos. Todas estas características hacen que el entorno de escritorio tenga las siguientes propiedades:\nSe trata de un entorno de escritorio muy estable. Al contrario que Gnome y Kde, en este escritorio no hay grandes novedades de forma constante. En mi caso el cambio continuo de un entorno de escritorio me puede llegar a molestar. Las actualizaciones que recibe siguen una línea continuista y coherente. Todo lo que se implementa es útil, eficiente, funcional y sin desperdiciar recursos en animaciones y otros aspectos que a mi no me aportan nada. Todas estas propiedades hacen que para mi sea el entorno de escritorio ideal para usar en mi ordenador principal.\nEs extremadamente rápido y ligero Xfce quizás consume más RAM de lo que la gente espera, pero para mi esto no quiere decir absolutamente nada.\nMe parece un error determinar si un escritorio es pesado o ligero por su consumo de RAM. En un futuro escribiré un post para ampliar este punto.\nEn mi caso afirmo que XFCE es rápido y ligero por los siguientes motivos:\nLo uso en un ordenador viejo y su velocidad y fluidez son sorprendentes. Cualquier programa o acción que realizo en XFCE se ejecuta muchísimo más rápido que por ejemplo en Gnome Shell. El consumo de CPU es bajo. Puede mover el entorno gráfico sin despeinarse porque, entre otras cosas, este escritorio no dispone de efectos gráficos que lo único que hacen es desperdiciar recursos. Otro hecho que demuestra que XFCE sigue siendo un entorno de escritorio ligero es que podemos sacarle el máximo rendimiento gráfico sin la necesidad de usar aceleración 3D. Hoy en día, ya sea por culpa de drivers o de hardware, la aceleración 3D aún genera problemas de rendimiento en algunos casos.\nPersonalizable, configurable y modular Para mi gusto no es fácil encontrar escritorios más configurables y personalizables que XFCE.\nBásicamente hago estas afirmaciones porque XFCE nos proporciona las siguientes características:\nPermite incluir tantos paneles como necesite. Los paneles se pueden ubicar donde considere oportuno. Nos da la posibilidad de ponerlos horizontales y verticales. Los paneles pueden tener, la longitud, el grosor y el color que yo quiero. Mediante los applets de xfce4-goodies puedo dejar los paneles de xfce a mi gusto. Además los applets me permiten incrementar las posibilidades y funcionalidades de XFCE. Es un entorno de escritorio modular porque nos permite reemplazar partes importantes del entorno de escritorio muy fácilmente. A modo de ejemplo podemos reemplazar muy fácilmente el gestor de ventanas, el gestor de archivos, etc. La modularidad de este escritorio en parte es necesaria porque de serie usa o puede usar partes de otros entornos de escritorio como por ejemplo gnome-network manager, Policykit, etc. Podemos deshabilitar componentes del sistema operativo que no queremos usar de forma relativamente fácil. Configurar atajos de teclado en este escritorio es una auténtica gozada. Permite cambiar las fuentes y el escalado de DPI de forma muy sencilla. Además toda la personalización y funcionalidades descritas en este apartado son fáciles de aplicar, y como prácticamente todos los entornos de escritorio disponen de un panel de configuración muy claro y simple.\nEs intuitivo y fácil de usar Bajo mi punto de vista se trata de un entorno de escritorio extremadamente simple e intuitivo. Posiblemente sea así porque en cierto modo es similar al Windows de toda la vida.\nEsto hace que su uso sea familiar para la totalidad de sus usuarios. No hacen falta grandes conocimientos de Linux para empezar a usar este entorno de escritorio.\nTodas estas características hacen que XFCE sea un entorno de escritorio adecuado tanto para usuario noveles como para usuarios experimentados.\nEn contraposición a lo que acabo de decir existen otros entornos de escritorio como por ejemplo Unity o Gnome Shell, que plantean una forma de interactuar con el escritorio muy diferente a lo que la gente está acostumbrada.\nEstéticamente es bonito Este punto no me preocupa en exceso, pero es de justicia decir que este entorno de escritorio visualmente es muy atractivo.\nQuizás el aspecto de serie no es el más acertado, pero con tan solo cambiar el tema de escritorio y el tema de iconos podemos conseguir resultados realmente sorprendentes.\nWhisker menu es excelente El menú de esta distribución para mi es simplemente genial.\nEs ligero, rápido y funcional. Para mi tiene todo lo que tiene que tener un menú.\nEn el blog he hablado numerosas veces de Whisker menu. Por lo tanto les dejo el siguiente link en que detallo los motivos por los que pienso que whisker menu es excelente.\nEs más funcional de lo que la gente piensa Seguro que hay gente que piensa que XFCE es ligero porque es un escritorio que tiene menos funcionalidades que el resto.\nEsta forma de pensar para mi no es correcta. En mi caso soy un usuario de nivel medio y puedo afirmar que este entorno de escritorio tiene todo lo que yo necesito.\nCuando llevas tiempo usando este entorno de escritorio ves que tiene muchísimas funcionalidades escondidas. Estás funcionalidades escondidas se pueden obtener mediante:\nLos applets que ofrece el entorno de escritorio. Conociendo en detalle los atajos de teclado del entorno. Ejecutando scripts vía terminal o a través de Thunar. Conociendo en detalle la configuración del escritorio y cada uno de los programas que nos ofrece XFCE. Etc. Hay gente que se queja que el gestor de archivos Thunar es un gestor de archivos limitado. Las personas que realizan tal afirmación es que simplemente desconocen o no saben explotar las virtudes de Thunar.\nMediante las acciones personalizadas de thunar se puede realizar prácticamente cualquier cosa que tengamos en mente. Algunos ejemplos de lo mencionado pueden ser:\nSubir fotos a imgur desde el gestor de archivos. Convertir archivos de audio al formato que queramos. Ripear un CD de audio. Renombrar archivos de forma masiva. Cifrar archivos y carpetas de forma simétrica y asimétrica. Unir o separar archivos pdf. Reducir el tamaño de un pdf. Redimensionar y comprimir fotos de forma masiva. Etc. Para finalizar también quiero remarcar que este entorno de escritorio dispone de multitud de atajos de teclado que nos permiten poder usar el ordenador sin prácticamente tener que hacer uso del ratón.\n","permalink":"https://geeklandlinux.github.io/posts/mis-motivos-para-usar-xfce/","summary":"\u003cp\u003eHace unas semanas escribí un artículo en el que detallaba los \u003ca href=\"/posts/razones-porque-no-uso-gnome-shell/\"\u003emotivos por los que no me convence Gnome Shell\u003c/a\u003e. En esta ocasión detallaré los motivos por los cuales me gusta y uso XFCE siempre que tengo la oportunidad.\u003c/p\u003e","title":"Mis motivos para usar el entorno de escritorio XFCE en Linux"},{"content":"En el siguiente artículo veremos la totalidad de puntos necesarios para gestionar de forma adecuada los módulos del kernel de Linux. A continuación empezamos con la explicación.\n¿QUÉ SON Y QUE FUNCIÓN TIENEN LOS MÓDULOS DEL KERNEL? El kernel de Linux es modular porque permite insertar y eliminar código bajo demanda con el fin de añadir o quitar una funcionalidad.\nPartiendo de esta base decimos que los módulos del kernel son fragmentos de código, abierto o cerrado, que nosotros podemos añadir o quitar del Kernel con el fin de añadir o quitar una funcionalidad.\nAlgunas de las funcionalidades que podemos añadir al núcleo mediante los módulos del kernel son las siguientes:\nUsar los drivers privativos de nuestra tarjeta gráfica. Registrar las temperaturas de componentes de nuestro ordenador. Que los ventiladores de nuestro ordenador sean gestionados por el software creado por el fabricante de nuestro ordenador. Hacer funcionar nuestro tarjeta de red wifi. etc. Nota: Básicamente los módulos del kernel nos permiten hacer funcionar nuestro hardware, o en el caso que ya funcione podemos hacer que lo haga de forma más eficiente. ¿QUÉ MÓDULOS DEL KERNEL TENEMOS DISPONIBLES? Los módulos del kernel son archivos terminados con la extensión .ko que se almacenan en la ubicación /lib/modules/versión_del_kernel.\nPor lo tanto ejecutando el siguiente comando en la terminal podemos averiguar la totalidad de módulos que tenemos disponibles.\nls -R /lib/modules/$(uname -r) Nota: el parámetro uname -r permite consultar los módulos de kernel para el kernel que estamos usando. SABER LOS MÓDULOS DEL KERNEL QUE ESTAMOS USANDO Para obtener una lista de la totalidad de módulos del kernel que estamos usando tenemos que ejecutar el siguiente comando en la terminal:\nlsmod Este comando nos mostrará la siguiente información:\nCampo Información mostrada Module Los nombres de los módulos que están activos. Size El tamaño que ocupa cada uno de los módulos cargados en la memoria. Used Indica si un módulo está siendo usado por otros módulo. Otro comando alternativo que mostrará la misma información es el siguiente:\ncat /proc/modules CONOCER EL MÓDULO O DRIVER QUE ESTÁ USANDO UN DETERMINADO HARDWARE En ocasiones nos puede interesar conocer el nombre del módulo que está usando un hardware determinado.\nSi el hardware está integrado en nuestro ordenador Si queremos conocer el nombre módulo que está usando mi tarjeta gráfica abro una terminal y ejecuto el siguiente comando:\nlspci -v Si analizamos los resultados obtenidos veremos lo siguiente:\n02:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 8400 GS Rev. 3] (rev a2) (prog-if 00 [VGA controller]) Subsystem: Device 196e:080b Flags: bus master, fast devsel, latency 0, IRQ 26 Memory at fd000000 (32-bit, non-prefetchable) [size=16M] Memory at d0000000 (64-bit, prefetchable) [size=256M] Memory at ce000000 (64-bit, prefetchable) [size=32M] I/O ports at ec00 [size=128] [virtual] Expansion ROM at 000c0000 [disabled] [size=128K] Capabilities: \u0026lt;access denied\u0026gt; Kernel driver in use: nvidia Kernel modules: nvidia Si observamos el campo Kernel driver in use de nuestra tarjeta gráfica vemos que estamos usando el módulo nvidia. De esta forma puedo afirmar que estoy usando el driver privativo de nvidia.\nUna vez conocemos el nombre del módulo podemos ver si está activado ejecutando el siguiente comando en la terminal:\njoan@debian:~$ lsmod | grep nvidia nvidia 10563584 44 drm 360448 4 nvidia Por o tanto está activado y funcionando juntamente con las dependencias de este módulo.\nSi el hardware usado está conectado vía usb Si queremos conocer el módulo que utiliza un dispositivo de hardware conectado vía usb, como por ejemplo el teclado del ordenador, abrimos una terminal y ejecutamos el comando:\nusb-devices Si analizamos los resultado obtenidos vemos lo siguiente:\nT: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0 D: Ver= 1.10 Cls=00(\u0026gt;ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=046d ProdID=c31c Rev=64.00 S: Manufacturer=Logitech S: Product=USB Keyboard C: #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=90mA I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid I: If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid Por lo tanto puedo concluir mi teclado está usando el módulo del kernel usbhid.\nNota: El comando usb-devices forma parte del paquete usbutils. Por lo tanto para poder utilizar el comando usb-devices hay que tener instalado el paquete usbutils. OBTENER INFORMACIÓN DE LOS MÓDULOS DEL KERNEL Si queremos obtener información de uno de los módulos del kernel tan solo tenemos que ejecutar el comando modinfo seguido del nombre del módulo o de la ruta del módulo.\nPor lo tanto si queremos obtener información acerca del módulo de nvidia ejecutamos el siguiente comando en la terminal:\nsudo modinfo /lib/modules/4.8.0-2-amd64/updates/dkms/nvidia-legacy-340xx.ko Después de ejecutar el módulo obtendremos gran cantidad de información. Parte de la información que obtendremos es la siguiente:\nCampo Información mostrada filename La ruta donde se almacena el módulo. alias El tipo de licencia del módulo. licence El alias que recibe el módulo que en mi caso es char-major-195-* version La versión del driver de Nvidia. description Una descripción de la funcionalidad del módulo. depends Las dependencias que tiene el módulo nvidia. intree Si el resultado es y entonces el driver que analizamos forma parte del propio kernel y no es un módulo del kernel. author Nombre del autor del driver. parm Se indican opciones de configuración que podemos aplicar a los módulos mientras se cargan. etc etc. Para obtener más información de las posibilidades de modinfo abran una terminal y ejecuten el comando:\nman modinfo CONOCER LAS DEPENDENCIAS DE UN MÓDULO DEL KERNEL Los módulos del kernel tienen dependencias. Esto quiere decir que para que un módulo funcione de forma adecuada necesita que otros módulos también estén activados.\nPara conocer las dependencias de un módulo tan solo tienen que ejecutar el comando modprove \u0026ndash;show-depends seguido del nombre del módulo.\nDe este modo, si quieren conocer las dependencias del driver realtek tan solo hay que ejecutar el siguiente comando:\njoan@debian:~$ sudo modprobe --show-depends realtek insmod /lib/modules/4.8.0-2-amd64/kernel/drivers/net/phy/libphy.ko insmod /lib/modules/4.8.0-2-amd64/kernel/drivers/net/phy/realtek.ko Por lo tanto tanto queda claro que en mi caso el módulo realtek tiene un módulo dependiente que es el libphy.\nEl archivo /lib/modules/version_kernel/modules.dep es generado automáticamente por la utilidad depmod y contiene todo el árbol de dependencias de los módulos.\nMOSTRAR LA CONFIGURACIÓN DE UN MÓDULO DEL KERNEL Para ver un listado de los parámetros de configuración de todos los módulos del kernel hay que ejecutar els siguiente en la terminal:\nsudo modprobe -c | less Si únicamente queremos conocer la configuración sobre un determinado módulo, como por ejemplo el nouveau, ejecutamos el siguiente comando en la terminal:\njoan@debian:~$ sudo modprobe -c | grep nouveau blacklist nouveau alias pci:v000010DEd*sv*sd*bc03sc*i* nouveau alias pci:v000012D2d*sv*sd*bc03sc*i* nouveau Viendo el texto podemos ver los alias del módulo nouveau y también podemos ver que esta completamente deshabilitado porque lo hemos introducido a la lista negra.\nCARGAR UN MÓDULO AL KERNEL JUNTO CON SUS DEPENDENCIAS Cargar un módulo en el kernel conjuntamente con sus dependencias es muy sencillo. Pongamos el caso que queremos cargar el módulo vfat.\nEl primer paso a realizar es comprobar si el módulo está cargado. Para ello ejecutamos el comando lsmod | grep seguido del nombre del módulo:\nlsmod | grep vfat Si el comando no nos proporciona ningún resultado quiere decir que el módulo no está cargado y por lo tanto lo podemos cargar sin problema alguno.\nSeguidamente actualizamos la base de datos de dependencias de módulos ejecutando el siguiente comando en la terminal:\nsudo depmod Finalmente cargamos el módulo ejecutando el comando sudo modprobe seguido del nombre del módulo:\nsudo modprobe -v vfat Al ejecutar el comando se cargará el módulo vfat juntamente con todas sus dependencias en el kernel de nuestro equipo.\nComo hemos visto anteriormente hay módulos que permiten introducir parámetros de configuración cuando los cargamos. Para conocer los parámetros que se pueden usar consulten el apartado obtener información de los módulos del kernel.\nModprobe tiene multitud de opciones para su ejecución. Para obtener información adicional sobre este comando abran una terminal y ejecuten el comando man modprobe.\nDESHABILITAR UN MÓDULO DEL KERNEL JUNTO CON SUS DEPENDENCIAS Si después de cargar el módulo vfat nos arrepentimos y queremos deshabilitarlo tenemos que seguir los siguientes pasos:\nEn la terminal ejecutamos el comando sudo modprobe -rv seguido del nombre del módulo que queremos descargar. Por lo tanto para descargar el módulo vfat ejecutamos el siguiente comando en la terminal:\nsudo modprobe -rv vfat Al ejecutar este comando se descargará el módulo vfat y todas sus dependencias del Kernel.\nNota: No apliquen el comando de este apartado a no ser que sea necesario. Si lo aplican y no lo vuelven a activar perderán la posibilidad de trabajar en sistemas de ficheros vfat. PONER A LA LISTA NEGRA UN MÓDULO DEL KERNEL Puede darse el caso que existan 2 módulos activos realizando la misma función y esto puede generar conflictos.\nUn caso típico y conocido es tener activados los drivers privativos de nvidia conjuntamente con los libres.\nPara solucionar este punto disponemos de 2 soluciones:\nDescargar uno de los 2 módulos. Para ello hay que seguir las instrucciones descritas en el apartado anterior. Poner a la lista negra uno de los 2 módulos. De esta forma el módulo que está en la lista negra no se cargará nunca. Para aplicar la segunda solución abrimos una terminal y ejecutamos el siguiente comando:\nsudo nano /etc/modprobe.d/blacklist.conf Una vez se abra el editor de textos escribiremos el text blacklist seguido del nombre del módulo a bloquear. Por lo tanto para poner el módulo nouveau a la lista negra escribimos:\nblacklist nouveau A continuación guardamos los cambios y cerramos el fichero. Si ninguno de los módulos activos depende de nouveau, la próxima vez que arranquemos el ordenador no se cargará el módulo nouveau.\nSi queremos bloquear de forma absoluta el módulo nouveau podemos sustituir el comando blacklist nouveau por:\ninstall nouveau /bin/false AVERIGUAR SI EL DRIVER DE UN HARDWARE ESTÁ INCLUIDO EN EL KERNEL O FORMA PARTE DE UN MÓDULO EXTERNO En ocasiones puede resultar útil saber si un driver está incluido directamente en el Kernel o lo está a través de un módulo.\nPara ello accedemos a la terminal y ejecutamos el siguiente comando:\ncat /lib/modules/$(uname -r)/modules.builtin La salida de este comando contendrá la totalidad de drivers que están incluidos directamente en el kernel.\nEstos drivers estáticos en el kernel estarán siempre cargados en memoria listos para ser usados. Por lo tanto si tenemos cargados los drivers de un hardware que no usamos estamos desperdiciando recursos de nuestro ordenador. Por este motivo algunos usuarios de Linux configuran y compilan su propio Kernel. De este modo solo tienen cargado en memoria lo justo e imprescindible para que funcione su equipo.\nCompilar un kernel no es tarea fácil. Hay usuarios que presumen de compilar su propio kernel, pero la gran mayoría de estos usuarios se dedican a compilar un kernel a partir del archivo de configuración del kernel de su distro. De esto modo no obtienen ningún beneficio de la compilación del kernel. Lo más difícil y el paso crucial para configurar un kernel es optimizar su archivo de configuración.\nNota: Los comandos rmmod e insmod no se detallan en el tutorial porque modprobe hace la misma tarea de forma más simple y efectiva.","permalink":"https://geeklandlinux.github.io/posts/gestionar-modulos-del-kernel-linux/","summary":"\u003cp\u003eEn el siguiente artículo veremos la totalidad de puntos necesarios para gestionar de forma adecuada los módulos del kernel de Linux. A continuación empezamos con la explicación.\u003c/p\u003e","title":"Cómo gestionar los módulos del kernel en Linux de forma sencilla"},{"content":"En el caso que vuestra partición de Swap sea demasiado pequeña disponemos de varias soluciones. Una de las posibles soluciones es crear un archivo de Swap.\nPara crear un archivo de Swap tenemos que seguir las siguientes instrucciones.\nCREAR UN ARCHIVO DE SWAP Para empezar nos logueamos como usuario root.\nA continuación ejecutamos el siguiente comando para comprobar las particiones o archivos de Swap que tenemos disponibles:\nroot@jessie:/home/joan# swapon -s Filename Type Size Used Priority /dev/sda5 partition 731132 0 -1 En mi caso dispongo de la partición swap /dev/sda5 Esta partición tiene un tamaño aproximado de 714 MB y a continuación veremos como la podemos ampliar.\nCrear el archivo de Swap Mi objetivo es ampliar 1 GB nuestra Swap. Por lo tanto el siguiente paso será crear un archivo de Swap de 1GB ejecutando el siguiente comando en la terminal:\nroot@jessie:/home/joan# dd if=/dev/zero of=/var/swap bs=4096k count=256 256+0 registros leídos 256+0 registros escritos 1073741824 bytes (1,1 GB) copiados, 35,0223 s, 130,7 MB/s Nota: Recomiendo que el archivo de swap se cree en una partición que no sea la root. La partición /var o incluso la partición home pueden ser buenas opciones. El significado de cada uno de los parámetros usado para crear el archivo de Swap es el siguiente:\ndd: Parte del comando para usar la aplicación duplicate date con el fin de crear un archivo de swap.\nif=/dev/zero: Indicamos que como fichero de origen (input file) se debe usar el dispositivo /dev/zero. El dispositivo /dev/zero genera una cadena de ceros con las características que definiremos con los comandos bs y count.\nof=/var/swap: indicamos que se genere un archivo con nombre swap en /var. Este archivo será generado por el dispositivo /dev/zero y estará formado por una cadena de ceros con las características que definiremos con los comando bs y count.\nbs=4096k: Definimos que la información que se escribe en el fichero /var/swap sea en bloques de 4096k.\ncount=256: Establecemos que en el archivo /var/swap se escriban 256 bloques del tamaño definido en el parámetro bs (4096k)\nPor lo tanto ejecutando el comando creamos el archivo de swap /var/swap que ocupará 1 GB y estará formado por 256 bloques de 4096k. (256 x 4096 = 1GB). Por lo tanto habéis visto que crear un archivo de swap es de lo más sencillo.\nModificar los permisos del archivo de Swap A continuación comprobamos los permisos del archivo que acabamos de crear ejecutando el siguiente comando en la terminal:\nroot@jessie:/home/joan# ls -lth /var/swap -rw-r--r-- 1 root root 1,0G dic 25 23:10 /var/swap Al ejecutar el comando vemos lo siguiente:\nEl usuario propietario, que en este caso es el root, dispone de permisos de lectura y escritura. Los usuarios del grupo del usuario propietario tienen permiso de lectura. El resto de usuarios disponen de permisos de lectura. Para minimizar los riesgos de seguridad modificaremos los permisos del archivo de swap ejecutando el siguiente comando en la terminal:\nroot@jessie:/home/joan# chmod 600 /var/swap Seguidamente comprobaremos los nuevos permisos del archivo de swap ejecutando el siguiente comando en la terminal:\nroot@jessie:/home/joan# ls -lth /var/swap -rw------- 1 root root 1,0G dic 25 23:10 /var/swap En estos momentos el usuario propietario dispone de permisos de lectura y escritura. El resto de usuarios no disponen de ningún permiso.\nEstablecer y activar la zona de intercambio Vamos a configurar el archivo de swap que hemos creado para que se pueda usar como área de intercambio ejecutando el siguiente comando en la terminal:\nroot@jessie:/home/joan# mkswap /var/swap Configurando espacio de intercambio versión 1, tamaño = 1048572 kiB sin etiqueta, UUID=217e9a31-4673-49e0-a446-f339b7a96970 Seguidamente activamos el archivo de swap ejecutando el siguiente comando en la terminal:\nroot@jessie:/home/joan# swapon /var/swap En estos momentos el archivo de swap está activo y lo podemos usar sin mayores problemas. Para comprobar lo que acabo de comentar podemos ejecutar el siguiente comando en la terminal:\nroot@jessie:/home/joan# swapon -s Filename Type Size Used Priority /dev/sda5 partition 731132 0 -1 /var/swap file 1048572 0 -2 Como podemos observar el archivo está disponible para su uso. Además en estos momentos disponemos 1714 MB como espacio de intercambio.\nHacer que el archivo de Swap se monte al iniciar el sistema operativo Para que el de memoria Swap se monte automáticamente cada vez que arrancamos el sistema tenemos que acceder al fichero /etc/fstab ejecutando el siguiente comando en la terminal\nroot@jessie:/home/joan# nano /etc/fstab Una vez se abra el editor de textos nano tenemos que añadir la siguiente línea al final de archivo:\n/var/swap none swap sw 0 0 Guardamos los cambios y reiniciamos nuestro ordenador. La próxima vez que se inicie el ordenador el archivo de swap estará completamente activado.\nPara comprobarlo abrimos una terminal y ejecutamos el siguiente comando:\nroot@jessie:/home/joan# swapon -s Filename Type Size Used Priority /dev/sda5 partition 731132 0 -1 /var/swap file 1048572 0 -2 Hasta estos momentos hemos visto como crear un archivo de swap, modificar sus permisos, activarlo y hacer que se monte automáticamente al arrancar el sistema. A continuación veremos como podemos priorizar su uso en el caso que tengamos más de uno.\nPRIORIZAR EL USO DE LAS PARTICIONES Y ARCHIVOS SWAP En estos momentos disponemos de más de una partición o archivo de Swap y nos puede interesar priorizar el uso de uno respecto del otro.\nPara ello primero abriremos una terminal y ejecutaremos el siguiente comando:\nroot@jessie:/home/joan# swapon -s Filename Type Size Used Priority /dev/sda5 partition 731132 0 -1 /var/swap file 1048572 0 -2 Vemos que la partición de Swap /dev/sda5 tiene una prioridad más alta que el archivo /var/swap (-1 Versus -2). Por lo tanto la primera Swap que se usará será la /dev/sda5 y cuando esté completamente llena empezará a usarse el archivo de swap /var/swap.\nEste comportamiento es correcto y es el que deseo. Los motivos de esta elección son los siguientes:\nEl archivo de Swap se ha creado en un disco duro bastante lleno. Por lo tanto existe la posibilidad que este archivo de Swap presente fragmentación. Prefiero usar particiones swap antes que archivos de Swap. Modificar la prioridad de uso de los archivos de intercambio En el caso que quisiera modificar la prioridad de uso de los espacios de intercambio ejecutaría el siguiente comando en la terminal:\nroot@jessie:/home/joan# nano /etc/fstab Una vez dentro del fichero fstab localizamos la totalidad de líneas encargadas de montar la memoria swap. En mi caso son las siguientes:\nUUID=7dcf6a90-907a-421c-9605-dc5b4c1438e1 none swap sw 0 0 /var/swap none swap sw 0 0 Para priorizar el uso de una partición respecto la otra, justo después del comando sw tenemos que añadir el siguiente término:\n,pri=(número de prioridad) Por lo tanto en mi caso las 2 líneas de montaje del espacio de intercambio quedarían de la siguiente forma:\nUUID=7dcf6a90-907a-421c-9605-dc5b4c1438e1 none swap sw,pri=0 0 0 /var/swap none swap sw,pri=1 0 0 En la primera de líneas, correspondiente a la partición /dev/sda5, le asigno prioridad 0.\nEn la segunda línea, correspondiente al archivo de Swap, le asigno prioridad 1.\nUna vez terminada la edición guardamos los cambios y cerramos el fichero.\nA continuación reiniciamos el ordenador y ejecutamos el siguiente comando en la terminal:\nroot@jessie:/home/joan# swapon -s Filename Type Size Used Priority /dev/sda5 partition 731132 0 0 /var/swap file 1048572 0 1 En estos momentos la prioridad de /var/swap es más elevada que la de la partición de swap /dev/sda5. Por lo tanto ahora empezará a llenarse el archivo de swap y cuando esté completamente lleno empezará a llenarse la partición de swap.\nDESACTIVAR Y ELIMINAR EL ARCHIVO DE SWAP Si que queremos deshacer la totalidad de cambios que hemos realizado podemos seguir los siguientes pasos.\nPrimero desactivamos el archivo swap ejecutando el siguiente comando en la terminal:\nroot@jessie:/home/joan# swapoff /var/swap A continuación borramos el archivo de swap ejecutando el siguiente comando en la terminal:\nroot@jessie:/home/joan# rm -f /var/swap Finalmente borramos la línea del archivo /etc/fstab que hace que se monte el archivo de swap. Por lo tanto ejecutamos el siguiente comando.\nroot@jessie:/home/joan# nano /etc/fstab Una vez se abra el fichero /etc/fstab localizamos la siguiente línea y la borramos.\n/var/swap none swap sw 0 0 Guardamos los cambios y cerramos el fichero.\nEn esto momentos ya no estamos usando ningún archivo de Swap. Además la próxima vez que iniciemos el ordenador no se montará ningún archivo de swap.\nNota: Las sistemas de archivos BTRFS no admiten archivos de Swap.","permalink":"https://geeklandlinux.github.io/posts/crear-un-archivo-de-swap/","summary":"\u003cp\u003eEn el caso que vuestra partición de Swap sea demasiado pequeña disponemos de varias soluciones. Una de las posibles soluciones es crear un archivo de Swap.\u003c/p\u003e\n\u003cp\u003ePara crear un archivo de Swap tenemos que seguir las siguientes instrucciones.\u003c/p\u003e","title":"Crear un archivo de swap como espacio de intercambio"},{"content":"Una de las novedades de Ubuntu 17.04 será que en vez de usar una partición de Swap usará un archivo de Swap. Esto se ha anunciado a bombo y platillo como si hubieran descubierto las Americas y la realidad es que no tiene nada novedoso.\nEn Linux hace muchísimos años que existen los archivos de Swap. Y si hasta el momento ninguna de las distros los ha usado será por algo.\n¿POR QUÉ UBUNTU QUIERE USAR UN ARCHIVO DE SWAP? Pienso que el único motivo es facilitar la vida a los usuarios más noveles.\nUsar un archivo de Swap no aporta ninguna ventaja técnica ni absolutamente nada nuevo. Incluso me atrevería a decir que técnicamente es una solución peor por los siguientes motivos.\nANÁLISIS DE LOS ARCHIVOS DE SWAP VERSUS LAS PARTICIONES DE SWAP En principio no existe ninguna diferencia de rendimiento entre un archivo de Swap y una partición de Swap.\nNo obstante el archivo de Swap es técnicamente peor ya que presenta o puede presentar los siguientes inconvenientes.\nEl archivo de Swap puede presentar fragmentación Si creamos un archivo de Swap cuando tenemos el disco duro muy lleno existen posibilidades que creemos un archivo de Swap fragmentado.\nSi el archivo de Swap está fragmentado implica que la paginación en disco se hará de forma más lenta perdiendo rendimiento.\nPor este motivo tenemos que tener en cuenta los siguientes aspectos:\nSi tenemos el disco duro lleno y necesitamos más Swap lo más conveniente es crear una partición de Swap. No se recomienda ampliar un archivo de Swap. Si andamos cortos de memoria Swap lo ideal es crear una partición Swap o crear un archivo nuevo de Swap con una prioridad de uso baja. Analizando el caso de Ubuntu este punto no será un problema porque la partición se crea en el momento que instalamos el sistema operativo. Por lo tanto los bloques que conformarán la partición Swap serán contiguos y no existirá fragmentación.\nNota: Una partición Swap nunca tendrá problemas de fragmentación. Nota: Este apartado solo afecta a la gente que usa discos duros mecánicos La velocidad de escritura y lectura es muy similar La escritura en una partición de Swap es directa sin tener que seguir todo el proceso para escribir en un sistema de archivos.\nEn cambio en un archivo de Swap el proceso de escritura es sobre un sistema de archivos. No obstante todo este proceso es gestionado de forma especial por el Kernel de Linux.\nEl kernel de Linux mapea en todo momento lo que hay en el archivo de Swap. A partir de aquí entra y sale contenido de la memoria Swap de forma directamente omitiendo todas las restricciones que supone la escritura en un sistema de archivos.\nLa partición de Swap permite aprovechar mejor el espacio en el disco duro En el caso que usemos varias distros en el mismo equipo podemos usar la misma partición Swap en todas las distros. De esta forma podemos ahorrar espacio en disco.\nEn cambio si usamos archivos de Swap cada distro tendrá que usar su propio archivo de Swap provocando que necesitamos más espacio en nuestro disco duro.\nHoy en día este punto no es muy importante porque normalmente las capacidades de nuestros discos duros es elevada y siempre podemos usar dispositivos de almacenamiento externos o la nube.\nEl archivo de swap es menos seguro frente posibles apagones y fallos imprevistos Se que es forzar mucho la máquina, pero si usamos un archivo de Swap hay más posibilidades que se corrompa el sistema de ficheros en caso de un apagón o de un fallo imprevisto.\nNo podemos saber la posición que ocupa el archivo de Swap en el disco Existen usuarios que crean la partición swap al inicio de sus discos duros. Lo hacen así por que las velocidades de transferencia en el inicio del disco son mayores.\nLa práctica que acabo de citar solo es aplicable si usamos particiones de swap. Si usamos un archivo de swap no podremos controlar la posición en el disco duro en que se crea el espacio de intercambio.\nLos archivos de Swap son más flexible Obviamente los archivos de swap son más flexibles que las particiones de swap.\nLos archivos de swap permiten cambiar su tamaño o crear nuevos archivos de forma extremadamente fácil, sencilla y rápida.\nCONCLUSIONES La principal ventaja de una partición de Swap es que nunca tendrá fragmentación y su funcionamiento es más adecuado técnicamente hablando.\nLos puntos fuertes de un archivo de Swap serán su flexibilidad y la facilidad que por ejemplo pueden proporcionar a los usuarios noveles que usen Ubuntu 17.04. Si el archivo de swap se crea en un sistema fresco y con suficiente espacio en el disco duro tendrá el mismo rendimiento que una partición swap. Además cada año que pasa los espacios de intercambio son menos necesarios porque los ordenadores disponen de más memoria RAM.\nLos archivos de swap no me parecen la opción técnica más adecuada. No obstante los archivos de swap funcionan de forma adecuada y considero que son útiles en casos en los que una partición de swap se nos quede corta.\nLo que quiere realizar Ubuntu no supondrá ninguna afectación en el rendimiento de esta distribución. Además el archivo de Swap seguro que facilitará la vida a los usuarios que usen por primera vez el sistema del pingüino.\n","permalink":"https://geeklandlinux.github.io/posts/archivo-de-swap-vs-particion-de-swap/","summary":"\u003cp\u003eUna de las novedades de Ubuntu 17.04 será que en vez de usar una partición de Swap usará un archivo de Swap. Esto se ha anunciado a bombo y platillo como si hubieran descubierto las Americas y la realidad es que no tiene nada novedoso.\u003c/p\u003e\n\u003cp\u003eEn Linux \u003ca href=\"/posts/crear-un-archivo-de-swap/\"\u003ehace muchísimos años que existen los archivos de Swap\u003c/a\u003e. Y si hasta el momento ninguna de las distros los ha usado será por algo.\u003c/p\u003e","title":"Archivo de swap versus partición de swap en GNU Linux"},{"content":"Con la llegada de Gnome Shell deje de usar el escritorio de Gnome. En algunas ocasiones he intentado usarlo de nuevo pero no puedo con él. Quizás seria cuestión de darle más tiempo del que le doy. ¿Pero para que dárselo si estoy más que contento con mi escritorio actual?\nAunque la gente hable y diga que este entorno de escritorio ha mejorado mucho, en mi caso sigo viendo varias cosas que hacen que Gnome Shell no sea de mi agrado. Algunas de ellas son las siguientes:\nNO APROVECHA BIEN EL TAMAÑO DE PANTALLA Gnome Shell dispone de unos bordes de ventana exageradamente enormes.\n¿Alguien me puede explicar porque son tan exageradamente grandes?\nEstos bordes me parecen estéticamente feos. Además hacen que estemos desaprovechando pulgadas de nuestro monitor.\nMi opinión es que Gnome Shell está pensado para que sus usuarios trabajen con un únicamente un programa a pantalla maximizada. Esta forma de pensar me parece correcta en una tablet o un teléfono porque tienen una pantalla pequeña.\nEn un ordenador me parece mal porque hoy en día se disponen de pantallas grandes en las que tener varias ventanas abiertas de forma simultanea permite aprovechar mejor el tamaño de la pantalla y ser más productivos.\nLA ESTÉTICA DE GNOME SHELL ES EXCELENTE PERO NO PERFECTA Insisto otra vez con los bordes de ventana. En Gnome Shell nos encontraremos programas con bordes de ventana enormes y bordes de ventana normales.\nUn ejemplo de lo que estoy mencionando es esto:\nEstoy seguro que a nadie le gusta lo que muestro en la captura de pantalla.\nPor lo tanto en Gnome Shell no se integran bien los bordes de ventanas de las aplicaciones de Gnome con los bordes de ventana de los aplicaciones tradicionales.\nOtra cosa que no me gusta de Gnome es que en sus aplicaciones han eliminado los menús tradicionales para introducir iconos tipo Smartphone que no encuentro para nada intuitivos.\nGnome Shell es un entorno estéticamente bonito, elegante y que luce excelente, pero el resto de entornos de escritorios también son o pueden ser bonitos.\nENTORNO DE ESCRITORIO POCO PERSONALIZABLE En Gnome Shell todo está encorsetado y no tienes mucho margen de maniobra para dejar el escritorio a tu gusto. Incluso Windows es más personalizable que Gnome Shell.\nEs cierto que existen las extensiones, pero a mi modo de ver las extensiones tienen ciertos problemas como por ejemplo los siguientes:\nLas extensiones deberían estar más integradas con el sistema operativo. Acostumbran a ir a destiempo y cuando se actualiza el sistema operativo existe la posibilidad que alguna de las extensiones deje de funcionar. Las extensiones están realizadas por desarrolladores que no forman parte de Gnome. Pienso que la experiencia con las extensiones seria mejor si fuera Gnome quien las creará y lanzará al mismo tiempo que las nuevas versiones de su escritorio. No me parece bien que la forma más adecuada para instalar una extensión sea a través del navegador. Algunas distros, como Fedora, disponen de un paquete de extensiones en sus repositorios, pero acostumbran a dar problemas y es mejor instalarlas de la web porque se actualizan con mayor frecuencia. En demasiadas ocasiones las extensiones que instalas no funcionan o de repente dejan de funcionar. Los motivos pueden ser varios como por ejemplo que el desarrollador ha abandonado la extensión, la extensión no es compatible con tu versión de Gnome shell. Etc. Puede darse el caso que haya alguna extenxión que añada inestabilidad al sistema operativo. NO DISPONE DE UNA BARRA DE TAREAS Este entorno de escritorio no dispone de una panel de tareas y esto me dificulta en exceso cambiar de un programa a otro.\nSi tienes 4 programas abiertos y quieres pasar de un programa a otro, lo puedes realizar fácilmente con una barra de tareas. En cambio en Gnome:\nTienes que ir al menú Actividades y allí seleccionar el programa que quieres ver en pantalla. Este sistema es muy lento y además en algunas ocasiones mi ordenador se congela antes de entrar en el menú Actividades. Si alguien conoce una extensión para deshabilitar las animaciones de Gnome Shell que la deje en los comentarios del blog. También se puede cambiar de programa mediante atajos de teclado. Aunque es más rápido no merece la pena comentarlo porque esta funcionalidad la tienen todos los entornos de escritorio. Nota: También me disgusta el hot corner para acceder al menú de Activadades. En ocasiones paso el ratón por la esquina superior izquierda y sin querer acabo entrando en el menú de Actividades. Dash to dock no es de mi agrado Hay gente que para solucionar estos problemas usa extensiones como Dash to Dock. En mi caso estas extensiones las encuentro poco prácticas por los siguientes motivos:\nCuando minimizas una ventana en el Dock solo queda un simple punto debajo del icono del dock. Por lo tanto mirando al Dock cuesta ver si tenemos alguna ventana minimizada. Al minimizar más de una ventana de un mismo programa tenemos graves problemas para conocer de forma rápida la ventana que tenemos que maximizar. Encontrar la ventana a maximizar requiere demasiado tiempo y demasiados clics de ratón. Las barras de tareas de las extensiones no me convencen Soy consciente que existen extensiones, como por ejemplo Window list, que añaden un panel de tareas, pero ninguna de las extensiones probadas me convence por los siguientes motivos:\nSon poco personalizables. Normalmente son una barra que va si o si en la parte inferior del monitor y no permite añadir ningún otro elemento. No puedo elegir si la posiciono arriba o abajo, ni la altura que debe tener, etc. Nota: Si alguien conoce un extensión que permite instalar una barra de tareas en la panel superior de Gnome al estilo de Gnome 2 o XFCE que lo comente en los comentarios. Este es uno de los puntos que más me desagrada de Gnome. Los atajos de teclado y los escritorios virtuales quizás son la solución Nunca he aplicado esta solución, pero a priori la única forma que veo bien para cambiar de aplicaciones es con los escritorios virtuales y con los atajos de teclado.\nDe esta forma pienso que es posible cambiar de una aplicación a otra de forma rápida, sencilla y efectiva.\nAplicar lo que acabo de comentar no es trivial. Muchos de los atajos de teclado necesarios vienen desactivados y por lo tanto hay que entrar en la configuración de atajos de teclado y realizar la configuración pertinente.\nAdemás estoy seguro que debe existir algún tipo de extensión que te abre los programas en el escritorio virtual que selecciones.\nNota: La próxima vez que me dedique a probar Gnome Shell lo haré usando atajos de teclado y si alguien lo pide puedo escribir un post en el que explicaré mi experiencia. NO ME APORTA NADA EL LANZADOR DE APLICACIONES DE GNOME SHELL La forma predeterminada para abrir programas en Gnome Shell no es de mi agrado ni me aporta nada nuevo.\nLa forma más rápida para abrir un programa es presionar la tecla de “Super” para acceder al menú de Aplicaciones y empezar a teclear el nombre del programa. Una vez encontrado el programa presionamos “Enter”.\nCon mi ordenador no consigo acceder de forma fluida al menú de Aplicaciones. Cuando consigo entrar estoy en un entorno separado del escritorio y lo único que veo son un montón de iconos enormes que encuentro poco adecuados para un ordenador.\nSin duda me parece mejor lanzar aplicaciones con Whisker Menu, con el menú de Cinammon o KDE.\nES DEMASIADO MINIMALISTA Y CON APLICACIONES CON FUNCIONES LIMITADAS Mi opinión es que el entorno de Gnome Shell es demasiado minimalista. Este tipo de entornos los veo adecuados para una tablet o un dispositivo móvil, pero no para un ordenador.\nAlgunos piensan que un entorno minimalista ayuda que Gnome sea más fácil de usar, pero yo no lo veo así. Lo único que Gnome consigue con el minimalismo es hacer un sistema estéticamente simple, pero funcionalmente lo están haciendo más complicado.\nEsconder opciones de un programa puede resultar útil en términos de productividad, pero cuando escondes funciones que tienes que utilizar a menudo entonces consigues el efecto opuesto.\nAdemás muchas de las aplicaciones de Gnome, como por ejemplo el gestor de archivos, involucionan. En vez de añadir funcionalidades para conseguir que se asemeje a Dolphin van quitando funcionalidades para que sea más limitado.\nSU REQUERIMIENTO DE HARDWARE NO ES BÁSICO Gnome Shell no es un entorno de escritorio para ordenadores antiguos. Seria bueno que fuera más liviano.\nEn mi caso uso Gnome Shell en un ordenador viejo y aunque es perfectamente usable, la experiencia que tengo no es fluida por los siguientes motivos:\nExisten ocasiones en que noto que se congela la pantalla del ordenador durante instantes. A la que tengo abiertos 3 o 4 programas de forma simultánea noto lentitud y poca fluidez. Hay veces que cuando le doy al botón de apagar el ordenador tengo que esperar entre 20 y 30 segundos para que me aparezca la ventana en la que tengo que clicar el botón de Cerrar. Además su consumo de memoria RAM es elevado si lo comparamos con otros escritorios.\nCAMBIO DEMASIADO DRÁSTICO SIN NINGUNA JUSTIFICACIÓN Tanto Gnome Shell como Unity optaron por un cambio drástico en sus entornos de escritorio.\nEsto implica un cambio en el modo de interactuar con el escritorio que obviamente mucha gente no acepto.\nAdemás… ¿Por que la gente tiene que realizar un cambio tan drástico a la hora de usar un escritorio si la nueva forma de trabajar no aporta una ventaja significativa?\nEs más… a día de hoy el nuevo escritorio sigue siendo menos funcional que el antiguo.\nCualquier cambio que se introduce tiene que aportar una ventaja significativa respecto lo que hay y si no lo hace entonces mejor no cambiar. Por este motivo pienso que Gnome Shell fue un error.\nGnome estoy seguro que ha perdido muchos usuarios y dudo que los vuelva a recuperar.\nSacaron un escritorio completamente nuevo con menos funcionalidades que el anterior. Además generando molestias a sus usuarios con la lógica aparición de bugs que ayudaron a empeorar una experiencia de usuario que ya era mala de por si.\nA TENER EN CUENTA En este artículo únicamente describo mi experiencia personal. Aunque en principio puede sonar un tanto negativa pienso que gran parte de mis quejas se pueden solucionar de una forma u otra. Por lo tanto si alguien conoce un método para solucionar algunos de los puntos que menciono agradecería que lo explicará en los comentarios del blog.\nComo habéis visto Gnome no es mi entorno de escritorio preferido, pero deseo que más pronto que tarde pueda recuperar gran parte de sus antiguos usuarios ya que pienso que para Linux seria positivo ya que Gnome es uno de los grandes.\n","permalink":"https://geeklandlinux.github.io/posts/razones-porque-no-uso-gnome-shell/","summary":"\u003cp\u003eCon la llegada de Gnome Shell deje de usar el escritorio de Gnome. En algunas ocasiones he intentado usarlo de nuevo pero no puedo con él. Quizás seria cuestión de darle más tiempo del que le doy. ¿Pero para que dárselo si estoy más que contento con mi escritorio actual?\u003c/p\u003e","title":"Razones por las que no me gusta y no uso el escritorio Gnome Shell"},{"content":"En el presente artículo veremos como podemos comprimir pdf de forma rápida y simple usando el gestor de archivos Thunar. En cuestión de segundos y sin usar la terminal podremos reducir el tamaño de un archivo pdf sin problema alguno.\nPara ello tan solo tenemos que seguir las siguientes instrucciones.\nINSTALAR LOS PAQUETES NECESARIOS PARA COMPRIMIR PDF Para poder poder reducir el tamaño de un pdf siguiendo las instrucciones de este artículo tenemos que instalar los paquetes zenity y ghostscript. Para instalar estos paquetes tenemos que seguir las siguientes instrucciones:\nSi usamos Debian o distribuciones derivadas de Debian abrimos una terminal y ejecutamos el siguiente comando:\nsudo apt-get install zenity ghostscript En el caso que seamos usuarios de Fedora o distros derivadas de Fedora tendremos que ejecutar el siguiente comando:\nsudo dnf install zenity ghostscript Si somos usuarios de opensuse ejecutaremos el siguiente comando en la terminal:\nsudo zypper in zenity ghostscript Finalmente si somos usuarios de Arch o distros derivadas de Arch ejecutaremos el siguiente comando en la terminal:\nsudo pacman -Sy zenity ghostscript CREAR EL SCRIPT PARA REDUCIR EL TAMAÑO DE UN PDF Una vez instalados los paquetes crearemos el script para poder comprimir archivos pdf.\nInicialmente creamos la ubicación donde guardaremos el script. Para ello ejecutamos el siguiente comando en la terminal:\nmkdir ~/.config/Thunar/custom_Actions A continuación creamos el script comprimir pdf ejecutando el siguiente comando en la terminal:\nnano ~/.config/Thunar/custom_Actions/Reducir_pdf Cuando se abra el editor de textos nano pegamos el siguiente código:\n#!/bin/bash guitool=zenity exit_me(){ rm -rf ${tempdir} exit 1 } trap \u0026#34;exit_me 0\u0026#34; 0 1 2 5 15 LOCKFILE=\u0026#34;/tmp/.${USER}-$(basename $0).lock\u0026#34; [[ -r $LOCKFILE ]] \u0026amp;\u0026amp; PROCESS=$(cat $LOCKFILE) || PROCESS=\u0026#34; \u0026#34; if (ps -p $PROCESS) \u0026gt;/dev/null 2\u0026gt;\u0026amp;1 then echo \u0026#34;E: $(basename $0) is already running\u0026#34; $guitool --error --text=\u0026#34;$(basename $0) is already running\u0026#34; exit 1 else rm -f $LOCKFILE echo $$ \u0026gt; $LOCKFILE fi # Dialog box to choose thumb\u0026#39;s size CALIDAD=\u0026#34;$( $guitool --list --height=340 --title=\u0026#34;Seleccionar la calidad del PDF\u0026#34; --text=\u0026#34;Selecciona la calidad que quieres que tenga el PDF\u0026#34; --radiolist --column=$\u0026#34;Marcar\u0026#34; --column=$\u0026#34;Calidad\u0026#34; \u0026#34;\u0026#34; \u0026#34;Calidad 72 dpi\u0026#34; \u0026#34;\u0026#34; \u0026#34;Estándard\u0026#34; \u0026#34;\u0026#34; \u0026#34;Calidad Media 150 dpi\u0026#34; \u0026#34;\u0026#34; \u0026#34;Calidad Alta 300 dpi\u0026#34; \u0026#34;\u0026#34; \u0026#34;Calidad Alta 300 dpi preservando color\u0026#34; || echo cancel )\u0026#34; [[ \u0026#34;$CALIDAD\u0026#34; = \u0026#34;cancel\u0026#34; ]] \u0026amp;\u0026amp; exit if [[ \u0026#34;$CALIDAD\u0026#34; = \u0026#34;\u0026#34; ]]; then $guitool --error --text=\u0026#34;Calidad no especificada. Selecciona la calidad deseada. \u0026#34; exit 1 fi # precache PROGRESS=0 NUMBER_OF_FILES=\u0026#34;$#\u0026#34; let \u0026#34;INCREMENT=100/$NUMBER_OF_FILES\u0026#34; ( for i in \u0026#34;$@\u0026#34; do echo \u0026#34;$PROGRESS\u0026#34; file=\u0026#34;$i\u0026#34; # precache dd if=\u0026#34;$file\u0026#34; of=/dev/null 2\u0026gt;/dev/null # increment progress let \u0026#34;PROGRESS+=$INCREMENT\u0026#34; done ) | $guitool --progress --title \u0026#34;Precaching...\u0026#34; --percentage=0 --auto-close --auto-kill # Creating thumbnails. Specific work on picture should be add there as convert\u0026#39;s option # How many files to make the progress bar PROGRESS=0 NUMBER_OF_FILES=\u0026#34;$#\u0026#34; let \u0026#34;INCREMENT=100/$NUMBER_OF_FILES\u0026#34; mkdir -p \u0026#34;PDF\u0026#39;s Reducidos\u0026#34; ( for i in \u0026#34;$@\u0026#34; do echo \u0026#34;$PROGRESS\u0026#34; file=\u0026#34;$i\u0026#34; filename=\u0026#34;${file##*/}\u0026#34; filenameraw=\u0026#34;${filename%.*}\u0026#34; echo -e \u0026#34;# Transformando: \\t ${filename}\u0026#34; if [[ \u0026#34;$CALIDAD\u0026#34; = \u0026#34;Estándard\u0026#34; ]] ; then gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dDetectDuplicateImages=true -dPDFSETTINGS=/default -dNOPAUSE -dQUIET -dBATCH -sOutputFile=\u0026#34;PDF\u0026#39;s Reducidos/${filename%\\.*}.pdf\u0026#34; \u0026#34;${file}\u0026#34; fi if [[ \u0026#34;$CALIDAD\u0026#34; = \u0026#34;Calidad 72 dpi\u0026#34; ]] ; then gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dDetectDuplicateImages=true -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=\u0026#34;PDF\u0026#39;s Reducidos/${filename%\\.*}.pdf\u0026#34; \u0026#34;${file}\u0026#34; fi if [[ \u0026#34;$CALIDAD\u0026#34; = \u0026#34;Calidad Media 150 dpi\u0026#34; ]] ; then gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dDetectDuplicateImages=true -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=\u0026#34;PDF\u0026#39;s Reducidos/${filename%\\.*}.pdf\u0026#34; \u0026#34;${file}\u0026#34; fi if [[ \u0026#34;$CALIDAD\u0026#34; = \u0026#34;Calidad Alta 300 dpi\u0026#34; ]] ; then gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dDetectDuplicateImages=true -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=\u0026#34;PDF\u0026#39;s Reducidos/${filename%\\.*}.pdf\u0026#34; \u0026#34;${file}\u0026#34; fi if [[ \u0026#34;$CALIDAD\u0026#34; = \u0026#34;Calidad Alta 300 dpi preservando color\u0026#34; ]] ; then gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dDetectDuplicateImages=true -dPDFSETTINGS=/prepress -dNOPAUSE -dQUIET -dBATCH -sOutputFile=\u0026#34;PDF\u0026#39;s Reducidos/${filename%\\.*}.pdf\u0026#34; \u0026#34;${file}\u0026#34; fi let \u0026#34;PROGRESS+=$INCREMENT\u0026#34; done ) | $guitool --progress --width=450 --title \u0026#34;Transformando PDF...\u0026#34; --percentage=0 --auto-close --auto-kill $guitool --info --text=\u0026#34;Finalizado, Puedes encontrar los PDF\u0026#39;s en el directorio \u0026#39;PDF\u0026#39;s Reducidos\u0026#39;\u0026#34; Una vez pegado el código guardamos los cambios y cerramos el archivo.\nFinalmente otorgamos permisos de ejecución al script que acabamos de crear ejecutando el siguiente comando en la terminal:\nchmod +x ~/.config/Thunar/custom_Actions/Reducir_pdf CREAR LA ACCIÓN PERSONALIZADA PARA COMPRIMIR PDF A continuación crearemos una acción personalizada para que podamos comprimir los pdf con el gestor de archivos Thunar\nPara ello abrimos el gestor de archivos de XFCE, accedemos al menú Editar y clicamos en la opción Configurar acciones personalizadas\u0026hellip;\nA continuación clicamos encima del botón + para Añadir una acción personalizada.\nSeguidamente aparecerá la ventana Editar acción en la que deberemos configurar la acción personalizada.\nEn los campos de la ventana Editar acción introducimos los siguientes valores:\nCampo Nombre: Introducimos el nombre que queremos que aparezca en el menú contextual de Thunar. En mi caso elijo el siguiente:\nComprimir pdf Campo Descripción: Simplemente tenemos que escribir una descripción de lo que hace nuestra acción personalizada. En mi caso uso la siguiente descripción:\nComprimir pdf Campo Orden: Tenemos que introducir el comando para que se pueda ejecutar el script seguido de %N. Por lo tanto tenemos que introducir la siguiente orden:\nbash /home/joan/.config/Thunar/custom_Actions/Reducir_pdf %N Nota: La orden para ejecutar el script la tendréis que adaptar en función de la ruta donde tenéis guardado el script. Nota: La ruta del script tiene que finalizar con %N para que podamos comprimir pdf en lotes. Campo Icono: Si queremos podemos clicar encima del botón Sin icono. Si lo hacemos aparecerá una ventana en la que podremos seleccionar un icono para la acción personalizada que estamos creando.\nFinalmente clicamos en la pestaña Condiciones de aparición. En esta pestaña modificamos los siguientes aspectos:\nDestildamos la opción Archivos de texto. Tildamos la opción Otros Archivos. En el campo patrón de archivo tenemos que escribir *.pdf Finalmente presionamos le botón Aceptar y el proceso ha concluido. En estos momentos ya podemos comprimir pdf sin ningún tipo de problema.\nDEMOSTRACIÓN DE COMO USAR EL SCRIPT PARA COMPRIMIR UN PDF En el siguiente vídeo pueden ver una demostración del uso y de los resultados obtenidos:\nhttps://www.youtube.com/watch?v=CDQVTCMNN74\nComo pueden ver en el vídeo, en la gran mayoría de casos los resultados obtenidos son excelentes llegando a obtener reducciones de tamaño del orden 40 o 50%.\nEn función de las características del pdf a comprimir estos valores pueden ser mejores o peores.\nCOMENTARIOS SOBRE EL FUNCIONAMIENTO DEL SCRIPT Como han podido ver en la demostración este método funciona a la perfección.\nEs importante que tengan presente los siguientes aspectos a la hora de comprimir archivos pdf con el método mostrado en esta artículo.\nCompatibilidad de los pdf generados Los pdf comprimidos con este método serán compatibles con todas las versiones de Adobe Acrobat iguales o posteriores a la 5.0. Para modificar este aspecto pueden modificar la opción -dCompatibilityLevel que aparece en los parámetros de conversión del script:\n\u0026gt;=Acrobat 4.0 \u0026gt;=Acrobat 5.0 \u0026gt;=Acrobat 6.0 \u0026gt;=Acrobat 7.0 \u0026gt;=Acrobat 8.0 y 9.0 -dCompatibilityLevel=1.3 -dCompatibilityLevel=1.4 -dCompatibilityLevel=1.5 -dCompatibilityLevel=1.6 -dCompatibilityLevel=1.7 Velocidad de compresión de los archivos pdf La compresión puede resultar lenta en un archivo pdf de gran tamaño. En ocasiones la conversión puede tardar entre 5 y 10 minutos y el consumo de CPU será alto. No obstante también verán que los resultados obtenidos son satisfactorios.\nEl tiempo de compresión dependerá de muchos factores como por ejemplo:\nLa potencia de nuestro ordenador. El tamaño y características del archivo pdf a comprimir. Del tipo de compresión que queremos aplicar a un pdf. A mayor reducción de calidad más lenta será la compresión. Degradación de la calidad del pdf Al comprimir un pdf estamos degradando su calidad. Una vez se haya reducido la calidad no podremos volver a recuperar la calidad original. Por lo tanto si reducimos la calidad de un pdf de 300 ppp a 72 ppp ya no podremos deshacer los cambios. Aunque volvamos a incrementar la resolución de 72 ppp a 300 ppp la visualización será como la de un pdf de 72 ppp y lo único que lograremos es incrementar el peso del pdf.\nPor este motivo con el método mencionado en este post nunca se sobrescribirá el pdf original. La totalidad de pdf comprimidos se ubicarán en una carpeta llamada PDF\u0026rsquo;s Reducidos.\nMarcas y otros elementos de los archivos pdf Si un pdf contiene comentarios, anotaciones o cualquier otro tipo de contenido adicional se mantendrá en los archivos comprimidos\n","permalink":"https://geeklandlinux.github.io/posts/comprimir-pdf-linux-thunar-xfce/","summary":"\u003cp\u003eEn el presente artículo veremos como podemos comprimir pdf de forma rápida y simple usando el gestor de archivos Thunar. En cuestión de segundos y sin usar la terminal podremos reducir el tamaño de un archivo pdf sin problema alguno.\u003c/p\u003e\n\u003cp\u003ePara ello tan solo tenemos que seguir las siguientes instrucciones.\u003c/p\u003e","title":"Comprimir pdf en Linux con el gestor de archivos Thunar"},{"content":"En el último post vimos como gestionar el borrado de los archivos temporales con systemd y también se menciono que eliminar archivos temporales de los directorios /tmp y /var/tmp puede ser peligroso si no se hace de forma adecuada.\nPor este motivo en el siguiente artículo veremos un par de métodos para poder eliminar archivos temporales de forma segura.\n¿POR QUÉ PUEDE SER PELIGROSO ELIMINAR ARCHIVOS TEMPORALES? Eliminar archivos temporales mientras un programa los está usando puede generar los siguientes problemas:\nCuelgue del programa que estamos usando. Pérdida de información. El contenido que se almacena en los directorios /tmp y /var/tmp puede ser importante. A modo de ejemplo, el directorio /tmp almacena datos del documento de Libreoffice que estoy editando en estos momentos.\nEstos datos almacenados tienen las siguientes utilidades:\nSon necesarios para el correcto funcionamiento de Libreoffice. En caso de un error en el programa o de un cierre inesperado nos ayudaran a restaurar el archivo que estoy editando. MÉTODOS PARA ELIMINAR ARCHIVOS TEMPORALES DE FORMA SEGURA Existen varios métodos para forzar el borrado de los archivos temporales de forma segura. Algunos de ellos son los siguientes:\nBorrar los archivos temporales cuando iniciamos el ordenador. Eliminar los archivos temporales en el momento de apagar el ordenador. Forzar el borrado de los archivos temporales que no han sido usados recientemente. FORZAR EL BORRADO DE LOS ARCHIVOS TEMPORALES Para forzar el borrado de los archivos temporales según los métodos descritos en el apartado anterior tenemos que proceder de la siguiente forma:\nEliminar archivos temporales cuando se enciende o apaga el ordenador Para borrar los archivos temporales en el momento de abrir y/o cerrar nuestro ordenador podemos crear un servicio de systemd que se encargue de ejecutar scripts cuando iniciamos y/o apagamos el ordenador.\nCreación de los scripts para eliminar archivos temporales Nota: Hay que ir con sumo cuidado con el código que introduciremos en los scripts. Cualquier error puede dejar el sistema operativo completamente inservible y podemos perder la totalidad de nuestros datos. Para empezar creamos el directorio que contendrá los scripts que se ejecutarán cada vez que apaguemos o encendamos el ordenador ejecutando el siguiente comando en la terminal:\nsudo mkdir /usr/lib/systemd/scripts Seguidamente creamos el script que se ejecutará al apagar el ordenador ejecutando el siguiente comando en la terminal:\nsudo nano /usr/lib/systemd/scripts/custom-shutdown.sh Cuando se abra el editor de textos pegamos el siguiente código:\n#!/bin/sh rm -vfr /tmp/* \u0026gt;/dev/null 2\u0026gt;\u0026amp;1 \u0026amp;\u0026amp; rm -vfr /var/tmp/* \u0026gt;/dev/null 2\u0026gt;\u0026amp;1 La función del código que pegamos es borrar completamente el contenido de los directorios /tmp y /var/tmp. Una vez pegado el código guardamos los cambios y cerramos el archivo.\nA continuación creamos el script que se ejecutará al encender el ordenador ejecutando el siguiente comando en la terminal:\nsudo nano /usr/lib/systemd/scripts/custom-start.sh Al abrirse el editor de texto nano pegamos el siguiente código:\n#!/bin/sh #rm -vfr /tmp/* \u0026gt;/dev/null 2\u0026gt;\u0026amp;1 \u0026amp;\u0026amp; rm -vfr /var/tmp/* \u0026gt;/dev/null 2\u0026gt;\u0026amp;1 El código pegado en el script está comentado. Por lo tanto al encender el ordenador no se borrará ningún archivo de los directorios /tmp y var/tmp. Lo hago de esta forma porque si borro los archivos temporales en el apagado del ordenador no es necesario que los vuelva a borrar cuando lo encienda.\nUna vez pegado el código guardamos los cambios del documento y lo cerramos.\nDar permisos de ejecución a los scripts El siguiente paso es dar permisos de ejecución a los scripts que acabamos de crear. Para ello ejecutamos los siguientes comandos en la terminal:\nsudo chmod +x /usr/lib/systemd/scripts/custom-shutdown.sh sudo chmod +x /usr/lib/systemd/scripts/custom-start.sh Crear y activar el servicio de Systemd que ejecutará los scripts en el inicio y apagado del ordenador A continuación crearemos un servicio llamado start-shutdown que se encargará de ejecutar los scripts que hemos creado cada vez que encendamos y apaguemos el ordenador.\nPara ello ejecutamos el siguiente comando en la terminal:\nsudo nano /lib/systemd/system/custom-start-shutdown.service Cuando se abra el editor de textos nano pegamos el siguiente texto:\n[Unit] Description=Ejecutar scripts en el apago y en el encendido [Service] Type=oneshot ExecStart=-/usr/lib/systemd/scripts/custom-start.sh ExecStop=-/usr/lib/systemd/scripts/custom-shutdown.sh RemainAfterExit=yes [Install] WantedBy=multi-user.target Nota: La parte de color rojo la deberéis modificar en función del nombre y de la ruta de los scripts creados en el apartado anterior. Una vez pegado el código guardamos los cambios y cerramos el archivo.\nFinalmente habilitamos y activamos el servicio que acabamos de crear ejecutando los siguientes comandos en la terminal:\nsudo systemctl enable custom-start-shutdown.service sudo systemctl start custom-start-shutdown.service Finalmente tan solo tenemos que reiniciar el ordenador y verán que los archivos temporales de los directorios /tmp y /var/tmp se borrarán en el apagado del sistema.\nComprobación del funcionamiento Cuando se haya reiniciado el sistema tan solo tienen que comprobar el contenido de los directorios /tmp y /var/tmp. Verán que gran parte de los archivos temporales se han borrado y solo están presentes los archivos temporales que se han creado en el arranque de nuestro sistema operativo.\nAdemás para comprobar que el servicio de systemd creado está activo pueden ejecutar el siguiente comando en la terminal:\nsudo systemctl status custom-start-shutdown.service Si el resultado obtenido es similar al siguiente podemos está seguro que el servicio está activo.\njoan@jessie:~$ sudo systemctl status custom-start-shutdown.service ● custom-start-shutdown.service - Custom Start and Shutdown Loaded: loaded (/lib/systemd/system/custom-start-shutdown.service; enabled) Active: active (exited) since dom 2016-12-18 11:46:32 CET; 2s ago Process: 1966 ExecStart=/usr/lib/systemd/scripts/custom-start.sh (code=exited, status=0/SUCCESS) Main PID: 1966 (code=exited, status=0/SUCCESS) dic 18 11:46:32 jessie systemd[1]: Started Custom Start and Shutdown. Interrumpir el funcionamiento del servicio de Systemd El método mostrado en este post no es algo que se tenga que implementar de forma habitual. Para mantener a raya los archivos temporales existen otros métodos más apropiados.\nPor lo tanto una vez borrados los archivos temporales es posible que les interese desactivar y parar el servicio de Systemd que hemos creado. Para ello tan solo hay que ejecutar los siguientes comandos en la terminal:\nsudo systemctl disable custom-start-shutdown.service sudo systemctl stop custom-start-shutdown.service Si algún día precisan activar de nuevo el servicio deberán ejecutar los siguientes comandos:\nsudo systemctl enable custom-start-shutdown.service sudo systemctl start custom-start-shutdown.service Eliminar archivos temporales que lleven tiempo sin usarse Si lo único que pretendemos es borrar con seguridad los archivos temporales de forma urgente porque tenemos problemas de espacio en el disco duro podemos seguir los siguientes consejos:\nPrimero cerramos absolutamente todos los programas que tengamos abiertos.\nSeguidamente abrimos una terminal y ejecutamos alguno/s de los comandos que encontrarán a continuación y que más se adapten a sus necesidades.\nPara borrar los archivos temporales que se crearon hace más de 10 días sudo find /tmp -ctime +10 -exec rm -rf {} + sudo find /var/tmp -ctime +10 -exec rm -rf {} + Para borrar los archivos temporales que hace más de 2 días que no han sido accedidos sudo find /tmp -atime +2 -exec rm -rf {} + sudo find /var/tmp -atime +2 -exec rm -rf {} + Para borrar los archivos temporales que hace más de 1440 minutos que no han sido modificados sudo find /tmp -mmin +1440 -exec rm -rf {} + sudo find /var/tmp -mmin +1440 -exec rm -rf {} + Nota: el texto en rojo son valores de tiempo que se pueden modificar para adaptarlos a sus necesidades.","permalink":"https://geeklandlinux.github.io/posts/eliminar-archivos-temporales-servicio-systemd/","summary":"\u003cp\u003eEn el último post vimos como gestionar el \u003ca href=\"/posts/borrar-los-archivos-temporales-automaticamente/\"\u003eborrado de los archivos temporales con systemd\u003c/a\u003e y también se menciono que eliminar archivos temporales de los directorios /tmp y /var/tmp puede ser peligroso si no se hace de forma adecuada.\u003c/p\u003e\n\u003cp\u003ePor este motivo en el siguiente artículo veremos un par de métodos para poder eliminar archivos temporales de forma segura.\u003c/p\u003e","title":"Eliminar archivos temporales de forma segura con un servicio de Systemd"},{"content":"Hace unos días publique un artículo en el que hablaba de los directorios temporales en Linux. Como complemento a este artículo seguidamente detallaremos como borrar los archivos temporales de forma completamente automática y periódica.\nCONFIGURAR SYSTEMD PARA BORRAR LOS ARCHIVOS TEMPORALES Hoy en día prácticamente la totalidad de distribuciones Linux usan Systemd. Esto hace que systemd sea una opción a tener en cuenta para borrar los archivos temporales de forma automática y periódica.\nServicio de borrado de archivos temporales de Systemd Systemd dispone del servicio systemd-tmpfiles para crear, borrar y limpiar archivos y directorios temporales.\nComprobar que los servicios necesarios de systemd están activos Para comprobar que los servicios para borrar los archivos temporales están activados ejecutamos el siguiente comando:\nsystemctl status systemd-tmpfiles-setup.service systemd-tmpfiles-clean.timer systemd-tmpfiles-setup-dev.service systemd-tmpfiles-clean.service Después de ejecutar deberían obtener los siguientes resultados:\nSi los resultados obtenidos son similares a los de mi captura de pantalla podemos afirmar que los servicios están listos para usarse.\nConfigurar cuando se ejecuta el servicio para borrar los archivos temporales Para averiguar cuando se ejecutará el servicio de limpieza de systemd abrimos una terminal y ejecutamos el el siguiente comando:\nnano /lib/systemd/system/systemd-tmpfiles-clean.timer Seguidamente se abrirá el editor de textos nano y verán que dentro del fichero systemd-tmpfiles-clean.timer aparece el siguiente contenido:\n[Unit] Description=Daily Cleanup of Temporary Directories Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8) [Timer] OnBootSec=15min OnUnitActiveSec=1d El significado de este código es el siguiente:\nA los 15 minutos de arrancar el ordenador se ejecutará el servicio de limpieza de systemd. Si dejamos nuestro ordenador encendido, cada 24 horas se activará el servicio que nos permitirá, entre otras cosas, borrar los archivos temporales. Para modificar la frecuencia de uso del servicio de limpieza de systemd tenemos que modificar los parámetros del archivo /lib/systemd/system/systemd-tmpfiles-clean.timer\nComo en mi caso la frecuencia estándar me parece correcta dejo los valores 15min y 1d.\nConfigurar la frecuencia en que se borran los directorios temporales En la ubicación /usr/lib/tmpfiles.d/ están presentes la totalidad de archivos de para configurar la creación, el borrado y limpieza de archivos y directorios temporales del sistema.\nComo en nuestro caso solo queremos gestionar el borrado de archivos temporales de los directorios /tmp y /var/tmp editamos el fichero tmp.conf ejecutando el siguiente comando en la terminal:\nsudo nano /usr/lib/tmpfiles.d/tmp.conf El contenido del archivo en mi distro Debian Testing Stretch es el siguiente:\n# Clear tmp directories separately, to make them easier to override D /tmp 1777 root root - #q /var/tmp 1777 root root 30d # Exclude namespace mountpoints created with PrivateTmp=yes x /tmp/systemd-private-%b-* X /tmp/systemd-private-%b-*/tmp x /var/tmp/systemd-private-%b-* X /var/tmp/systemd-private-%b-*/tmp Si leemos la sintaxis concluimos que mi sistema operativo gestiona los directorios temporales de la siguiente forma:\nEl directorio /tmp se borra cada vez que enciendo mi ordenador. Si dejo mi ordenador permanente encendido nunca so borrarán los archivos temporales. El directorio /var/tmp no se borra absolutamente nunca porque la línea está comentada. Además está línea no es correcta ya que el parámetro q se utiliza para crear subvolumenes en sistemas de archivos btrfs y en mi caso uso ext4. Finalmente vemos que hay una serie de rutas que no se borrarán nunca. Los directorios systemd-private-xxx contienen archivos temporales de servicios y/o programas que tienen activada la propiedad Privatetmp. Modificando las líneas azules, rojas y verdes podremos configurar el servicio de borrado de los archivos temporales. De este modo borrar los archivos temporales automáticamente y periódicamente.\nEjemplos de configuración que podemos usar para borrar los archivos Para borrar los archivos temporales del directorio /tmp con un antigüedad superior a 10 días cuando encendemos el ordenador o cuando se ejecute el servicio de limpieza de systemd usamos el siguiente comando:\nD /tmp 1777 root root 10d Nota: Anteriormente hemos visto que el servicio de limpieza de systemd se ejecuta 15 minutos después del arranque y una vez cada 24 horas. El significado de cada uno de los parámetros del comando es el siguiente:\nD : Se usa para indicar que se cree un directorio determinado. Si el directorio ya está creado se actualizarán los permisos y propietarios del directorio. Como la D es mayúscula, cada vez que encendamos el ordenador se comprobará si hay archivos para borrar en el directorio /tmp.\n/tmp: Es el directorio que estamos configurando.\n1777: Son los permisos que otorgamos al directorio /tmp. Con los permisos 1777, el contenido del directorio /tmp solo podrá ser modificado y ejecutado por el propietario del archivo y por el usuario root. Además todos los usuarios podrán crear contenido dentro de la directorio /tmp.\nroot root: Indicamos el usuario y el grupo para el directorio /tmp\n10d: Indicamos que los archivos del directorio/tmp que tienen una antigüedad superior a 10 días se borren.\nEn el siguiente link encontraran una una explicación detallada de la sintaxis que podemos usar para configurar el borrado de los archivos temporales. Si lo leen verán que las posibilidades de configuración son enormes.\nPara borrar los archivos temporales del directorio /tmp y /var/tmp con un antigüedad superior a 15 días cuando encendemos el ordenador o cuando se ejecute el servicio de limpieza de systemd usamos el siguiente comando:\nD /tmp 1777 root root 15d D /var/tmp 1777 root root 15d Si nuestra intención es que cada vez que se ejecute el servicio de limpieza de systemd se borren los archivos temporales de los directorios /tmp y /var/tmp con una antigüedad superior a 2 días usamos el siguiente código:\nd /tmp 1777 root root 2d d /var/tmp 1777 root root 2d Si queremos que nunca se borre el contenido de los directorios /tmp y /var/tmp podemos comentar las líneas o usar el siguiente comando:\nd /tmp 1777 root root - d /var/tmp 1777 root root - FORZAR LA EJECUCIÓN DE LOS SERVICIOS DE LIMPIEZA DE ARCHIVOS TEMPORALES Como hemos visto en el inicio del artículo, los servicios de limpieza de systemd se ejecutan 15 minutos después de arrancar el ordenador o cada 24 horas si no reiniciamos el ordenador\nSi tenemos necesidad de borrar los archivos de los directorios temporales según la configuración establecida y no queremos esperar 24 horas a que se ejecute el servicio de limpieza, abrimos una terminal y ejecutamos el siguiente comando:\nsudo systemd-tmpfiles --clean Al ejecutar el comando se ejecutará el servicio de limpieza y se borrarán los archivos temporales según los parámetros definidos en el archivo /usr/lib/tmpfiles.d/tmp.conf\nFORMAS INCORRECTAS DE BORRAR LOS ARCHIVOS TEMPORALES No es recomendable borrar los archivos temporales de los directorios /tmp y /var/tmp a la fuerza mientras usamos el ordenador. ¿Por qué?\nEs posible que en el momento de borrar los archivos temporales un programa esté haciendo uso de ellos. Si se da el caso podemos tener problemas.\nNota: Si usamos systemd en principio este problema no tiene que darse porque los archivos temporales que se borran son viejos y no están en uso. En el caso que precisen forzar el borrado de los archivos temporales de forma inmediata y segura, hay que hacerlo en el proceso de encendido o apagado del ordenador. El procedimiento a seguir para ello lo pueden encontrar en el siguiente enlace:\nInstrucciones para forzar el borrado de los archivos temporales en Linux\n","permalink":"https://geeklandlinux.github.io/posts/borrar-los-archivos-temporales-automaticamente/","summary":"\u003cp\u003eHace unos días publique un artículo en el que hablaba de \u003ca href=\"/posts/explicacion-carpetas-contienen-archivos-temporales-linux/\"\u003elos directorios temporales en Linux\u003c/a\u003e. Como complemento a este artículo seguidamente detallaremos como borrar los archivos temporales de forma completamente automática y periódica.\u003c/p\u003e","title":"Borrar los archivos temporales automaticamente con Systemd"},{"content":"A petición de un lector del blog en el presente artículo veremos como conocer la calidad de un archivo de audio. Al mismo tiempo comprobaremos si la calidad obtenida con el script convertir audio a mp3 es buena.\nPara cumplir con nuestro objetivo usaremos un programa de software libre llamado Spek. Este programa nos será útil para analizar el espectrograma de un archivo de sonido.\nINSTALAR EL PROGRAMA SPEK Spek está disponible para los 3 grandes sistemas operativos existentes en la actualidad.\nInstalación de Spek en Linux Los más posible es que Spek ya esté en sus repositorios. Por lo tanto tan solo tienen que abrir una terminal y ejecutar el siguiente comando:\nEn Debian y distros derivadas de Debian ejecutan:\nsudo apt-get install spek En archlinux y en distribuciones derivadas de archlinux lo pueden instalar a través del repositorio aur ejecutando el siguiente comando en la terminal\nyaourt -S spek Si el paquete no esté en sus repositorios, en el siguiente enlace encontraran el procedimiento para compilar e instalar spek.\nInstalación de Spek en Windows Desde la página web de Spek pueden descargar el archivo de instalación .msi.\nUna vez descargado lo instalamos de la misma forma que instalamos la totalidad de programas en Windows.\nInstalación de Spek en MAC OS En la página web de Spek pueden descargar el archivo .dmg necesario para la instalación de Spek.\nCONOCER SI LA CALIDAD DE UN ARCHIVO DE AUDIO COMPRIMIDO ES ACEPTABLE Seguidamente compararemos un archivo .wav extraído de un CD de audio con un archivo .mp3 elaborado a partir del archivo .wav extraído del CD de audio.\nNota: La calidad de audio del archivo .wav es buena ya que el archivo ha sido generado a partir de un CD de audio y el formato .wav es un formato sin comprimir. Nota: El archivo mp3 ha sido creado usando el siguiente procedimiento para convertir audio a mp3. El codificador usado para realizar la compresión es lame con un bitrate variable y usando el mejor algoritmo de compresión disponible. Los resultados obtenidos con el software Spek se muestran en la captura de pantalla:\nNota: El uso de Spek es sumamente sencillo. Tan solo tienen que abrir el programa y arrastran el archivo de audio dentro de la ventana. Para modificar la escala del nivel de presión sonora deben usar las teclas CTRL+UP, CTRL+DOWN, CTRL+MAYUS+UP y CTRL+MAYUS+DOWN Analizando la totalidad de la información proporcionada por el programa podemos sacar las siguientes conclusiones.\nAnálisis de la tasa de muestreo Vemos que la tasa de muestreo del archivo .wav y del .mp3 es 44.100 Hz. Cuanto más alta sea la tasa de muestreo mejor será la calidad de un archivo de audio. Algunos valores de tasa de muestreo que es posible encontrar son por ejemplo 22.050 , 48.000 llegando hasta 192.000 Hz.\nLa tasa de muestreo que se acostumbra a usar para audios de buena calidad es igual o superior a 44.100 Hz.\nEn caso de usar una tasa de muestreo superior a 44.100 Hz podemos tener problemas ya que habrá reproductores que no serán capaces de reproducir el audio correctamente.\nAnálisis del número de Canales En ambos casos observamos que los archivos disponen de 2 canales. Esto quiere decir que el sonido es estéreo.\nEl tipo de audio en función del número de canales es el siguiente:\n1 canal: Audio mono 2 canales: Audio stereo 3 canales: Audio tipo 2.1 4 canales: Audio tipo 3.1 6 canales: Audio tipo 5.1 etc. Si disponemos de los altavoces adecuados, a mayor número de canales el audio será más real y de mejor calidad.\nNota: Si usamos un audio de 2 canales en sistema te altavoces 5.1, únicamente obtendremos una calidad de audio stereo. Resolución o Profundidad de bit Tanto el archivo .wav como el .mp3 tienen una resolución de 16bits. Una resolución de 16 bits es correcta.\nOtras resoluciones existentes son 8 bits y 24 bits. La resolución de 24 bits se acostumbra a utilizar en ámbitos profesionales y es la que nos ofrece mejor calidad en archivos sin comprimir.\nAnálisis del bitrate Vemos que el archivo mp3 tiene un bitrate de 259 kbps (kilobits por segundo) y además es variable.\nSi analizamos el archivo .wav vemos que tiene una tasa de muestreo de 44.100 Hz, una resolución de 16 bit y 2 canales. Por lo tanto la tasa de muestreo es del archivo .wav es de 1411,2 kbps.\nPor lo tanto el bitrate del archivo .wav será mucho mejor que el del archivo mp3 y por lo tanto su calidad de sonido a priori es mejor.\nAnálisis del espectrograma El espectrograma es una de las parte más importantes para analizar la calidad de un archivo de audio comprimido.\nEn el eje de las X tenemos el tiempo en segundos que dura la canción\nEn el eje de las Y tenemos el nivel de presión sonora para cada una de las frecuencias de sonido.\nSi comparamos el archivo .wav con el archivo .mp3 vemos claramente que a frecuencias altas entre 21.000 y 22.000 HZ han desaparecido sonidos. Obviamente si se pierden sonidos la calidad del sonido es peor.\nEl oído humano es capaz de percibir sonidos en un rango de 20 a 20.000 Hz. Por lo tanto la pérdida de audio no debería afectar mucho pero hay que tener en cuenta que que el sonido también se transmite a través de nuestros huesos y las frecuencias muy altas disponen de armónicos que si son perceptibles por el oído humano.\nTambién observamos que hay una serie de sonidos que se pierden entre las frecuencias de 16.000 y 22.000 Hz porque la densidad de puntos es menor.\nContinuando con el análisis también podemos ver que al comprimir un archivo de audio se acostumbran a perder los sonidos graves (bajas frecuencias) y agudos (altas frecuencias).\nDe esto modo podremos ir viendo y evaluando la cantidad de sonidos que se han perdido y en las frecuencias que se han perdido.\nEl mp3 analizado considero que es de buena calidad y por lo tanto las diferencias con el audio original son pocas. Si comparamos el archivo .wav con un mp3 más comprimido vemos que la diferencia salta a la vista.\nEscuchar el audio con unos buenos auriculares o altavoces Una vez finalizado el proceso de análisis tenemos que escuchar el audio y juzgar si el resultado obtenido es el que queremos.\nCon los detalles mencionados en el artículo nos podemos hacer una idea clara de la calidad de un archivo de audio. Si quisiéramos profundizar más en el análisis podríamos analizar otros aspectos como por ejemplo el rango dinámico del audio.\nNota: Pueden visitar el siguiente enlace para comprender los conceptos básicos de sonido que se usan a lo largo del artículo. OTROS CONSEJOS RELACIONADOS CON LA CALIDAD DE UN ARCHIVO DE AUDIO A estas alturas ya somos capaces de hacernos una idea si la calidad de un archivo de audio es aceptable. Para asegurar una escucha y compresión óptima del audio pueden seguir las siguientes recomendaciones.\nTrabaja siempre con audio sin comprimir Cuando comprimimos un audio siempre lo tenemos que realizar a partir de un audio sin pérdida como por ejemplo el .wav, el .flac, etc.\nUn audio comprimido pierde de forma permanente su calidad. Si a un audio comprimido le aumentamos su tasa de muestro y el bitrate, lo único que conseguiremos es aumentar el tamaño del archivo. Su calidad de sonido seguirá siendo la misma porque las frecuencias de sonido pérdidas del audio inicial nos las volveremos a recuperar.\nCalidades recomendadas para comprimir un archivo de sonido Si queremos obtener un audio .mp3 de buena calidad se recomienda usar los siguientes parámetros:\nBitrate variable (VBR) Bitrate cercano a los 320 kbps Usar varios tipos de codificador o programas para ver cual es el que da mejor resultado. En mi caso acostumbro a utilizar lame. Para obtener un audio .ogg de buena calidad los parámetros a usar son los siguientes:\nBitrate cercano a los 320 kbps Si usáis el codificador oggeng recomiendo usar la calidad 9 y 10 que proporcionarán bitrates de 320 kbps y 500 kbps respectivamente. Usa unos buenos altavoces o unos buenos auriculares De nada nos servirá tener un archivo de audio de buena calidad si los altavoces o auriculares que usamos no son buenos.\nSi los altavoces y auriculares que usamos son de mala calidad da igual que el audio que escuchamos sea de buena o mala calidad.\nAGRADECIMIENTOS Para finalizar simplemente dar las gracias al DJ Joan Rogriguez por ayudarme en la redacción y en las recomendaciones realizadas en el artículo.\nSi quieren escuchar algunos de sus temas pueden visitar la página de Soundcloud de Joan Rodríguez.\n","permalink":"https://geeklandlinux.github.io/posts/como-conocer-calidad-de-un-archivo-de-audio/","summary":"\u003cp\u003eA petición de un lector del blog en el presente artículo veremos como conocer la calidad de un archivo de audio. Al mismo tiempo comprobaremos si la calidad obtenida con el script \u003ca href=\"/posts/convertir-audio-a-mp3-linux-thunar/\"\u003econvertir audio a mp3\u003c/a\u003e es buena.\u003c/p\u003e\n\u003cp\u003ePara cumplir con nuestro objetivo usaremos un programa de software libre llamado Spek. Este programa nos será útil para analizar el espectrograma de un archivo de sonido.\u003c/p\u003e","title":"Como conocer la calidad de un archivo de audio comprimido"},{"content":"En Linux, al igual que en otros sistemas operativos, existen los archivos temporales del sistema. Estos archivos se almacenan en las siguientes carpetas:\n/tmp /var/tmp Únicamente cito las carpetas que albergan la gran mayoría de archivos temporales de nuestro sistema.\nSi quieren consultar otras carpetas que contienen archivos temporales, o que almacenan información que podemos prescindir de ella, pueden consultar los archivos de configuración de la carpeta /usr/lib/tmpfiles.d/\nAlgunas de las carpetas adicionales que encontrarán son las siguientes:\n/var/run /var/spool /var/log/journal /run/shm /var/cache/man etc Asimismo hay multitud de programas instalados en nuestro ordenador que almacenan archivos de configuración, archivos temporales, archivos de cache, registros e historiales en la partición /home de nuestro ordenador.\n¿QUÉ DIFERENCIA HAY ENTRE LA CARPETA /TMP Y LA /VAR/TMP? El propósito y fin de ambas carpetas es exactamente el mismo. Su función es almacenar archivos temporales.\nLas características básicas de los archivos temporales de cada una de las carpetas son las siguientes:\nCaracterísticas de los archivos temporales de la carpeta /tmp Las características de los archivos almacenados en la carpeta /tmp son la siguientes:\nEl tiempo que los archivos temporales estarán almacenados es corto o muy corto. El tiempo de almacenamiento dependerá de la distro que usemos. No obstante la gran mayoría de distros borran la carpeta /tmp cada vez que encendemos o reiniciamos el ordenador. Por los motivos descritos en el punto 2 hay usuarios que montan la partición /tmp en la memoria RAM de su propio ordenador. La carpeta /tmp siempre estará disponible en las etapas iniciales del arranque del sistema. Por lo tanto la totalidad de scripts de inicio harán uso de la carpeta /tmp para almacenar los archivos temporales. Características de los archivos temporales de la carpeta /var/tmp Por contrapartida los archivos de la carpeta /var/tmp disponen de las siguientes propiedades:\nSu tiempo de almacenamiento es mucho más elevado. Los archivos presentes en esta carpeta no se borran cada vez que encendemos o apagamos el ordenador. El tiempo de almacenamiento de estos archivos depende de la distribución que usemos. En mi caso uso Debian y de forma estándar no borra nunca el contenido de la carpeta /var/tmp. Otras distribuciones como por ejemplo RHEL 7 los archivos se borran si tienen más de 30 días de inactividad. Los usuarios siempre deberían montar la carpeta /var/tmp en un disco duro normal y corriente. Algunos ejemplos de datos que se almacenan en esta ubicación son archivos para restaurar el estado de un programa o archivo en caso de error o que nuestro ordenador se cuelgue. La carpeta /var/tmp puede formar parte de un punto de montaje. Por lo tanto está carpeta no estará disponible en las fases iniciales del arranque. La carpeta no estará disponible hasta que se hayan montado los puntos de montaje. Diferencia entre la carpeta /tmp y la carpeta /var/tmp Por lo tanto la conclusión final es que la carpeta /tmp contendrá archivos temporales que se borrarán cada vez que reiniciamos el ordenador.\nLa carpeta /var/tmp contiene archivos temporales que se recomiendan almacenar durante un periodo de tiempo determinado. Por lo tanto el contenido de esta carpeta no se borrará cada vez que reiniciemos nuestro ordenador.\n¿NOS TENEMOS QUE PREOCUPAR DE BORRAR LOS ARCHIVOS TEMPORALES? En principio un usuario normal no debe preocuparse de borrar los archivos temporales que no estén en la partición /home.\nNormalmente las distribuciones que usamos están configuradas para borrar de forma automática los archivos temporales innecesarios.\nNo obstante si gestionamos un servidor la situación es diferente. Un servidor funciona de forma ininterrumpida durante largos periodos de tiempo. Por lo tanto existe la posibilidad que la carpeta /tmp, /var/tmp u otra se llenen provocando que nos quedemos sin espacio en el disco duro.\nPara evitar este problema podemos seguir los consejos que se muestran en el siguiente enlace:\nBorrar los archivos temporales de forma periódica y automática con Systemd\nForzar el borrado de los archivos temporales de forma segura\n","permalink":"https://geeklandlinux.github.io/posts/explicacion-carpetas-contienen-archivos-temporales-linux/","summary":"\u003cp\u003eEn Linux, al igual que en otros sistemas operativos, existen los archivos temporales del sistema. Estos archivos se almacenan en las siguientes carpetas:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e/tmp\u003c/li\u003e\n\u003cli\u003e/var/tmp\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eÚnicamente cito las carpetas que albergan la gran mayoría de archivos temporales de nuestro sistema.\u003c/p\u003e","title":"Explicación de las carpetas que contienen archivos temporales en Linux"},{"content":"Hoy estaba buscando dos archivos en una carpeta determinada y sorprendentemente no estaban. Mi conclusión es que sin querer los borré por accidente hace unos días. Las primeras cosas que me han pasado por la cabeza para intentar recuperar archivos borrados han sido las siguientes:\nIntentar rescatar los archivos de una copia de seguridad antigua. Desafortunadamente en mi caso no disponía de ninguna copia de seguridad. Mirar si los archivos estaban disponibles en algún email. Después de realizar la comprobación pertinente he visto que nunca había enviado estos archivos a un tercero. Usar un software para recuperar archivos borrados como por ejemplo Recuva. Esta opción precisa gran cantidad de tiempo y en ocasiones los resultados obtenidos no son satisfactorios. Mirar la papelera de Reciclaje para ver si aún estaba allí. Obviamente no estaba. A raíz de esta situación la solución más fácil y efectiva para recuperar los archivos en cuestión ha sido usar las versiones anteriores de Windows. De esta forma en menos de 10 segundos y sin programas de terceros he podido recuperar los archivos que borré sin problemas.\n¿QUÉ SON LAS VERSIONES ANTERIORES DE WINDOWS? Windows guarda copias de seguridad de nuestros archivos y carpetas de forma periódica y automática como partes de un punto de restauración. A estas copias de seguridad las llamamos versiones anteriores de Windows. Las versiones anteriores de Windows nos proporcionan las siguientes funcionalidades:\nEn el caso de que hayamos borrado un archivo o una carpeta los podemos recuperar de forma sencilla, rápida y efectiva. En el caso que hayamos modificado el contenido de un documento y queramos volver a recuperar una versión antigua del documento lo podemos hacer sin problema. Nota: Está funcionalidad se incluyó por primera vez en Windows Vista. Por lo tanto la totalidad de versiones de Windows actuales poseen esta funcionalidad. RECUPERAR ARCHIVOS BORRADOS CON LAS VERSIONES ANTERIORES DE WINDOWS Supongamos que entro en la carpeta Usar la consola de Bash en Ubuntu y veo que no está presente el archivo de Word que estaba editando.\nPara intentar recuperarlo podemos consultar las versiones anteriores de la carpeta en cuestión. Para ello dentro de un espacio en blanco del gestor de archivos presionamos el botón derecho del mouse y cuando aparezca el menú contextual clicamos sobre Propiedades\nA continuación clicamos sobre la pestaña Versiones anteriores y dentro del recuadro de color rojo verán la totalidad de copias de seguridad que tenemos disponibles. Hacemos doble click sobre una de las copias de seguridad disponibles.\nNota: En mi caso únicamente tengo disponible una copia de seguridad del día 27/11/2016 Después de clicar encima se abrirá una ventana en el que podremos ver el contenido de la carpeta Usar la consola de Bash en Ubuntu del día 27/11/2016.\nObviamente en la copia de seguridad del 27/11/2016 si aparece el archivo Word que había borrado por accidente. Para recuperarlo tan solo tengo que copiarlo y pegarlo a la carpeta que yo considere oportuna.\nUna vez copiado el archivo ya vuelvo a disponer de la totalidad de los archivos y he solucionado el problema.\nDe esta forma tan fácil y tan rápida podemos recuperar archivos borrados sin problema alguno.\nRECUPERAR LA VERSIÓN ANTIGUA DE UN DOCUMENTO Si por lo contrario lo único que pretenden es recuperar o consultar la versión antigua de un archivo que editamos de forma habitual lo podemos hacer de la siguiente forma.\nSeleccionamos el archivo en cuestión, presionamos el botón derecho del ratón y cuando aparezca el menú contextual clicamos sobre la opción Restaurar versiones anteriores.\nA continuación dentro del recuadro rojo aparecerán las versiones del archivo disponibles. Seleccionamos la versión del archivo que queremos consultar y presionamos el botón Abrir.\nNota: No elijo la opción restaurar por 2 motivos. El primero es que quiero ver que hay en la copia de seguridad del archivo que estoy abriendo. El segundo es que si restauro el archivo de la copia de seguridad sobreescribiré la versión actual del archivo. Seguidamente se abrirá el archivo tal y como era el día 07/11/2016. Si les interesa recuperar esta versión del archivo tan solo tienen que realizar un Guardar Como y guardarlo en la ubicación que crean pertinente.\nCONFIGURACIÓN DE LAS VERSIONES ANTERIORES DE WINDOWS Esta funcionalidad acostumbra a venir activada de serie en todas las versiones de Windows.\nEn caso que quieran asegurarse de ello, o configurar esta funcionalidad según sus necesidades, deben seguir los siguientes pasos.\nEn el menú de búsqueda de Windows teclean la palabra punto de restauración. Una vez realizada la búsqueda clicamos encima de la opción Crear un punto de restauración.\nA continuación seleccionamos el disco duro en el que queremos activar las versiones anteriores o puntos restauración y presionamos el botón Configurar\u0026hellip;\nFinalmente verán la siguiente ventana en la que podrán realizar toda la configuración de los puntos de restauración.\nEn la sección Configuración de restauración veremos las opciones Activar protección de sistema y Deshabilitar protección de sistema.\nSi seleccionamos la opción Activar protección del sistema se activa la funcionalidad de crear puntos de restauración y podremos utilizar las versiones anteriores. En el caso que seleccionemos la opción Deshabilitar protección del sistema desactivaremos los puntos de restauración de Windows y por lo tanto no podremos usar las versiones anteriores de Windows. Por lo tanto si activamos esta opción no podremos recuperar archivos borrados por accidente, pero por contrapartida ahorraremos espacio en nuestro disco duro. Si elegimos la opción Activar protección de sistema, en la sección Uso del espacio en disco tenemos que asignar el espacio del disco duro que queremos dedicar a crear puntos de restauración. En mi caso seleccionado un espacio de 10GB.\nConsideración sobre las versiones anteriores de Windows En principio Windows es el encargado de gestionar las versiones que existen de cada uno de los archivos y carpetas.\nEl número de versiones disponibles para poder recuperar archivos y carpetas dependerá de varios factores:\nDe la configuración realizada en los puntos de restauración del sistema. Si asignamos poco espacio para realizar puntos de restauración, el número de versiones anteriores almacenadas será menor. De la antigüedad de los ficheros que queremos recuperar. Cuanto más antiguos sean los ficheros a recuperar, mayor serán el número de versiones anteriores disponibles. Cuantas más modificaciones y actividad haya sufrido el fichero, mayor será el número de versiones anteriores almacenadas. CONCLUSIONES SOBRE LOS PUNTOS DE RESTAURACIÓN DE WINDOWS Como han visto las versiones anteriores son tremendamente efectivas para recuperar archivos borrados.\nCon las versiones anteriores de Windows no nos tenemos que preocupar de realizar copias de seguridad ya que en todo momento podremos restaurar nuestro sistema o nuestros archivos de forma extremadamente fácil.\nA pesar de esto es altamente recomendable que sigamos realizando copias de seguridad ya que en el caso que se dañe el disco duro de nuestro ordenador o en caso de robo, las versiones anteriores de Windows serán completamente inútiles.\nEsta herramienta es sumamente práctica. No obstante hay que tener en cuenta que reducirá la capacidad de almacenamiento de nuestro disco duro. Por lo tanto a los usuarios que dispongan de una capacidad de disco duro pequeña les puede resultar interesante prescindir de esta característica.\nPara finalizar solo comentar que si algún lector del post conoce una solución similar para el sistema operativo GNU Linux la deje en los comentarios.\n","permalink":"https://geeklandlinux.github.io/posts/recuperar-archivos-borrados-sin-programas-windows/","summary":"\u003cp\u003eHoy estaba buscando dos archivos en una carpeta determinada y sorprendentemente no estaban. Mi conclusión es que sin querer los borré por accidente hace unos días. Las primeras cosas que me han pasado por la cabeza para intentar recuperar archivos borrados han sido las siguientes:\u003c/p\u003e","title":"Recuperar archivos borrados sin programas y al instante en Windows"},{"content":"Quienes trabajan de forma habitual con audio agradecerán disponer de una herramienta rápida y ágil para convertir audio a mp3.\nEn mi caso la solución que encuentro más rápida y ágil para el entorno de escritorio XFCE es usar Thunar. Para convertir audio a mp3 en Thunar tienen que seguir las siguientes instrucciones.\nINSTALAR LOS PAQUETES NECESARIOS PARA CONVERTIR AUDIO A MP3 Tenemos que asegurar que nuestro sistema operativo tenga los paquetes necesarios para convertir los archivos de audio a mp3. Para ello ejecutamos el siguiente comando en la terminal.\nsudo apt-get install lame oggenc flac zenity mplayer id3v2 Nota: Si utilizan un gestor paquetes diferente a apt deberán realizar un pequeña adaptación al comando que he dejado en el post. Una vez instalada la paqueteria necesaria ya podemos pasar a construir el script encargado de convertir audio a mp3.\nCREAR EL SCRIPT PARA CONVERTIR AUDIO A MP3 En primer lugar creamos la ubicación en que guardaremos el script. Para ello ejecutamos el siguiente comando en la terminal:\nmkdir ~/.config/Thunar/custom_Actions A continuación creamos el archivo Convert_to_mp3 que contendrá el código del script. Para ello ejecutamos el siguiente comando en la terminal:\ntouch ~/.config/Thunar/custom_Actions/Convert_to_mp3 Seguidamente abriremos el archivo que acabamos de crear ejecutando el siguiente comando en la terminal:\nnano ~/.config/Thunar/custom_Actions/Convert_to_mp3 El siguiente paso consistirá en pegar el siguiente el código que nos permitirá convertir cualquier archivo de audio a mp3. El código a pegar es el siguiente:\n#!/bin/bash source /usr/lib/elive-tools/functions #el_make_environment . gettext.sh TEXTDOMAIN=\u0026#34;thunar-audio-converter\u0026#34; export TEXTDOMAIN el_check_translations_required_notify exit_me(){ rm -rf \u0026#34;${tempdir}\u0026#34; exit 1 } trap \u0026#34;exit_me 0\u0026#34; 0 1 2 5 15 main(){ # pre {{{ local file PROCESS NUMBER_OF_FILES ARTIST TITLE ALBUM GENRE TRACKNUMBER DATEYEAR file_dest_dir GENRE_NUM GENRE_NUM2 is_delete_original PROGRESS filename guitool tempdir extension # How many files to make the progress bar PROGRESS=0 NUMBER_OF_FILES=\u0026#34;$#\u0026#34; guitool=zenity # Dialog box to choose quality QUALITY=\u0026#34;$( $guitool --list --height=340 --width=500 --title=\u0026#34;Seleccionar el formato de Salida\u0026#34; --text=\u0026#34;Selecciona la calidad de salida\u0026#34; --radiolist --column=$\u0026#34;Marcar\u0026#34; --column=$\u0026#34;Calidad\u0026#34; \u0026#34;\u0026#34; \u0026#34;Baja\u0026#34; \u0026#34;\u0026#34; \u0026#34;Media\u0026#34; \u0026#34;\u0026#34; \u0026#34;Alta\u0026#34; || echo cancel )\u0026#34; [[ \u0026#34;$QUALITY\u0026#34; = \u0026#34;cancel\u0026#34; ]] \u0026amp;\u0026amp; exit if [[ \u0026#34;$QUALITY\u0026#34; = \u0026#34;Baja\u0026#34; ]] ; then bit_rate=9 varbit_rate=9 fi if [[ \u0026#34;$QUALITY\u0026#34; = \u0026#34;Media\u0026#34; ]] ; then bit_rate=5 varbit_rate=5 fi if [[ \u0026#34;$QUALITY\u0026#34; = \u0026#34;Alta\u0026#34; ]] ; then bit_rate=0 varbit_rate=0 fi if [[ \u0026#34;$QUALITY\u0026#34; = \u0026#34;\u0026#34; ]]; then $guitool --error --text=\u0026#34;Calidad no especificada. Debe especificar una calidad. \u0026#34; exit 1 fi tempdir=\u0026#34;/tmp/.${USER}-audio-converter-$$\u0026#34; # }}} if [[ -z \u0026#34;$@\u0026#34; ]] ; then $guitool --error --text=\u0026#34;$( eval_gettext \u0026#34;No files provided to convert\u0026#34; )\u0026#34; exit 1 fi let \u0026#34;INCREMENT=10000000/$NUMBER_OF_FILES\u0026#34; mkdir -p \u0026#34;$tempdir\u0026#34; file_dest_dir=\u0026#34;$(pwd)/Audios_Convertidos\u0026#34; mkdir -p \u0026#34;$file_dest_dir\u0026#34; ( for file in \u0026#34;$@\u0026#34; do echo \u0026#34;$(( ${PROGRESS%%.*} / 100000 ))\u0026#34; file=\u0026#34;$file\u0026#34; filename=\u0026#34;${file##*/}\u0026#34; filenameraw=\u0026#34;${filename%.*}\u0026#34; echo -e \u0026#34;# Convirtiendo: \\t ${filename}\u0026#34; # cache it for faster multiprocess (not i/o overload) cat \u0026#34;${file}\u0026#34; \u0026gt; /dev/null rm -rf \u0026#34;${tempdir}\u0026#34; mkdir -p \u0026#34;${tempdir}\u0026#34; unset ARTIST TITLE ALBUM TRACKNUMBER DATEYEAR GENRE case \u0026#34;$filename\u0026#34; in *wav|*WAV) lame --quiet -vbr-new -V $varbit_rate -q $bit_rate \u0026#34;${file}\u0026#34; -o \u0026#34;${tempdir}/third.mp3\u0026#34; ;; *flac|*FLAC) ARTIST=\u0026#34;$(metaflac \u0026#34;$file\u0026#34; --show-tag=ARTIST | sed s/.*=//g)\u0026#34; TITLE=\u0026#34;$(metaflac \u0026#34;$file\u0026#34; --show-tag=TITLE | sed s/.*=//g)\u0026#34; ALBUM=\u0026#34;$(metaflac \u0026#34;$file\u0026#34; --show-tag=ALBUM | sed s/.*=//g)\u0026#34; GENRE=\u0026#34;$(metaflac \u0026#34;$file\u0026#34; --show-tag=GENRE | sed s/.*=//g)\u0026#34; TRACKNUMBER=\u0026#34;$(metaflac \u0026#34;$file\u0026#34; --show-tag=TRACKNUMBER | sed s/.*=//g)\u0026#34; DATEYEAR=\u0026#34;$(metaflac \u0026#34;$file\u0026#34; --show-tag=DATE | sed s/.*=//g)\u0026#34; DATEYEAR=\u0026#34;${DATEYEAR:0:4}\u0026#34; if [[ -n \u0026#34;${GENRE}\u0026#34; ]] ; then GENRE_NUM2=\u0026#34;$( id3v2 -L | awk -v genre=\u0026#34;$GENRE\u0026#34; \u0026#39;{if ($2 == genre) print $1}\u0026#39; | sed \u0026#39;s|:.*$||g\u0026#39; )\u0026#34; if [[ -n \u0026#34;${GENRE_NUM2}\u0026#34; ]] ; then GENRE_NUM=\u0026#34;$GENRE_NUM2\u0026#34; fi fi if [[ -z \u0026#34;${GENRE_NUM}\u0026#34; ]] ; then GENRE_NUM=\u0026#34;$( id3v2 -L | sed \u0026#39;s|: |\\n|g\u0026#39; | $guitool --list --title=\u0026#34;$( eval_gettext \u0026#34;Select a Genre\u0026#34; )\u0026#34;\u0026#34;: $GENRE\u0026#34; --column=\u0026#34;id\u0026#34; --column=\u0026#34;$( eval_gettext \u0026#34;Genre\u0026#34; )\u0026#34; --height=400 )\u0026#34; fi flac -s -c -d \u0026#34;$file\u0026#34; | lame --quiet -vbr-new -V $varbit_rate -q $bit_rate - -o \u0026#34;${tempdir}/third.mp3\u0026#34; id3v2 -t \u0026#34;$TITLE\u0026#34; -T \u0026#34;${TRACKNUMBER:-0}\u0026#34; -a \u0026#34;$ARTIST\u0026#34; -A \u0026#34;$ALBUM\u0026#34; -y \u0026#34;$DATEYEAR\u0026#34; -g \u0026#34;${GENRE_NUM}\u0026#34; \u0026#34;${tempdir}/third.mp3\u0026#34; ;; *mp3|*MP3) extension=\u0026#34;mp3\u0026#34; lame --quiet -vbr-new -V $varbit_rate -q $bit_rate \u0026#34;${file}\u0026#34; -o \u0026#34;${tempdir}/third.mp3\u0026#34; ;; *m4a|*M4A) extension=\u0026#34;m4a\u0026#34; cp \u0026#34;$file\u0026#34; \u0026#34;${tempdir}/first.${extension}\u0026#34; ARTIST=\u0026#34;$(ffprobe \u0026#34;$file\u0026#34; 2\u0026gt;\u0026amp;1 | grep -E \u0026#34;artist(\\s)*:\u0026#34; | sed -e \u0026#39;s|^.*: ||g\u0026#39; )\u0026#34; TITLE=\u0026#34;$(ffprobe \u0026#34;$file\u0026#34; 2\u0026gt;\u0026amp;1 | grep -E \u0026#34;title(\\s)*:\u0026#34; | sed -e \u0026#39;s|^.*: ||g\u0026#39; )\u0026#34; ALBUM=\u0026#34;$(ffprobe \u0026#34;$file\u0026#34; 2\u0026gt;\u0026amp;1 | grep -E \u0026#34;album(\\s)*:\u0026#34; | sed -e \u0026#39;s|^.*: ||g\u0026#39; )\u0026#34; GENRE=\u0026#34;$(ffprobe \u0026#34;$file\u0026#34; 2\u0026gt;\u0026amp;1 | grep -E \u0026#34;genre(\\s)*:\u0026#34; | sed -e \u0026#39;s|^.*: ||g\u0026#39; )\u0026#34; TRACKNUMBER=\u0026#34;$(ffprobe \u0026#34;$file\u0026#34; 2\u0026gt;\u0026amp;1 | grep -E \u0026#34;track(\\s)*:\u0026#34; | sed -e \u0026#39;s|^.*: ||g\u0026#39; )\u0026#34; DATEYEAR=\u0026#34;$(ffprobe \u0026#34;$file\u0026#34; 2\u0026gt;\u0026amp;1 | grep -E \u0026#34;date(\\s)*:\u0026#34; | sed -e \u0026#39;s|^.*: ||g\u0026#39; )\u0026#34; DATEYEAR=\u0026#34;${DATEYEAR:0:4}\u0026#34; if [[ -n \u0026#34;${GENRE}\u0026#34; ]] ; then GENRE_NUM2=\u0026#34;$( id3v2 -L | awk -v genre=\u0026#34;$GENRE\u0026#34; \u0026#39;{if ($2 == genre) print $1}\u0026#39; | sed \u0026#39;s|:.*$||g\u0026#39; )\u0026#34; if [[ -n \u0026#34;${GENRE_NUM2}\u0026#34; ]] ; then GENRE_NUM=\u0026#34;$GENRE_NUM2\u0026#34; fi fi if [[ -z \u0026#34;${GENRE_NUM}\u0026#34; ]] ; then GENRE_NUM=\u0026#34;$( id3v2 -L | sed \u0026#39;s|: |\\n|g\u0026#39; | $guitool --list --title=\u0026#34;$( eval_gettext \u0026#34;Select a Genre\u0026#34; )\u0026#34;\u0026#34;: $GENRE\u0026#34; --column=\u0026#34;id\u0026#34; --column=\u0026#34;$( eval_gettext \u0026#34;Genre\u0026#34; )\u0026#34; --height=400 )\u0026#34; fi mplayer -really-quiet -af volnorm=0 -vo null -noconsolecontrols -af resample=44100 -ao pcm:waveheader:file=\u0026#34;${tempdir}/second.wav\u0026#34; \u0026#34;${tempdir}/first.${extension}\u0026#34; 2\u0026gt;/dev/null lame --quiet -vbr-new -V $varbit_rate -q $bit_rate \u0026#34;${tempdir}/second.wav\u0026#34; -o \u0026#34;${tempdir}/third.mp3\u0026#34; id3v2 -t \u0026#34;$TITLE\u0026#34; -T \u0026#34;${TRACKNUMBER:-0}\u0026#34; -a \u0026#34;$ARTIST\u0026#34; -A \u0026#34;$ALBUM\u0026#34; -y \u0026#34;$DATEYEAR\u0026#34; -g \u0026#34;${GENRE_NUM}\u0026#34; \u0026#34;${tempdir}/third.mp3\u0026#34; ;; *) extension=\u0026#34;${file##*.}\u0026#34; cp \u0026#34;$file\u0026#34; \u0026#34;${tempdir}/first.${extension}\u0026#34; mplayer -really-quiet -af volnorm=0 -vo null -noconsolecontrols -af resample=44100 -ao pcm:waveheader:file=\u0026#34;${tempdir}/second.wav\u0026#34; \u0026#34;${tempdir}/first.${extension}\u0026#34; 2\u0026gt;/dev/null lame --quiet -vbr-new -V $varbit_rate -q $bit_rate \u0026#34;${tempdir}/second.wav\u0026#34; -o \u0026#34;${tempdir}/third.mp3\u0026#34; ;; esac mv \u0026#34;${tempdir}/third.mp3\u0026#34; \u0026#34;${file_dest_dir}/${filenameraw}.mp3\u0026#34; rm -rf \u0026#34;${tempdir}\u0026#34; let \u0026#34;PROGRESS+=$INCREMENT\u0026#34; done ) | $guitool --height=190 --width=500 --progress --title \u0026#34;$( eval_gettext \u0026#34;convirtiendo archivos de audio\u0026#34; )\u0026#34; --percentage=0 --auto-close --auto-kill rm -rf \u0026#34;${tempdir}\u0026#34; } # # MAIN # main \u0026#34;$@\u0026#34; # vim: set foldmethod=marker : Nota: Script prestado y modificado según mis necesidades de la siguiente fuente. Una vez pegado el código guardamos los cambios y cerramos el archivo.\nFinalmente otorgamos permisos de ejecución al script que acabamos de crear ejecutando el siguiente comando en la terminal:\nchmod +x ~/.config/Thunar/custom_Actions/Convert_to_mp3 CREAR LA ACCIÓN PERSONALIZADA CON THUNAR En este apartado crearemos una acción personalizada para poder ejecutar el script que acabamos de crear cómodamente desde Thunar.\nAbrimos Thunar y nos vamos al menú Editar. Seguidamente clicamos encima submenú Configurar acciones personalizadas…\nA continuación hay que presionar el botón + para poder añadir la acción personalizada.\nDespués de presionar el botón + aparecerá la ventana en la que tenemos que configurar la acción personalizada.\nEn cada uno de los campos tenemos que introducir el siguiente contenido:\nCampo Nombre: Introducimos el nombre que queremos que aparezca en el menú contextual de Thunar. En mi caso elijo el siguiente:\nConvertir audio a mp3 Campo Descripción: Simplemente tenemos que escribir una descripción de lo que hace nuestra acción personalizada. En mi caso uso la siguiente descripción:\nConvertir audio a mp3 Campo Orden: Tenemos que introducir el comando para que se pueda ejecutar el script seguido de %N. Por lo tanto tenemos que introducir la siguiente orden:\nbash /home/joan/.config/Thunar/custom_Actions/Convert_to_mp3 %N Nota: La orden para ejecutar el script la tendréis que adaptar en función de la ruta donde tenéis guardado el script. Nota: La ruta del script tiene que finalizar con %N para que podamos ejecutar el script en múltiples archivos de audio de forma simultánea. Campo Icono: Si queremos podemos clicar encima del botón Sin icono. Si lo hacemos aparecerá una ventana en la que podremos seleccionar un icono para la acción personalizada que estamos creando.\nFinalmente clicamos en la pestaña Condiciones de aparición, destildamos la opción Archivos de texto, tildamos la opción Archivos de sonido y presionamos el botón Aceptar.\nEn estos momentos ya estamos listos para pasar a la acción y empezar convertir archivos de audio a mp3.\nDEMOSTRACIÓN DE COMO CONVERTIR AUDIO A MP3 En el siguiente vídeo pueden ver una demostración del funcionamiento del script que acabamos de crear para convertir archivos de audio a mp3.\nhttps://www.youtube.com/watch?v=0NKJphueUbs\nComo se puede ver en el vídeo, utilizando el script podemos transformar de forma extremadamente sencilla nuestros audios a mp3.\nCOMENTARIOS SOBRE EL FUNCIONAMIENTO DEL SCRIPT Si alguien quiere tener una idea más clara de las posibilidades que ofrece el script puede leer el siguiente apartado.\nCalidades de audio que ofrece el script El script que hemos programado ofrece 3 calidades de audio distintas.\nEl comando que se usa para obtener la calidad de audio más baja es del siguiente tipo:\nlame --quiet -vbr-new -V 9 -q 9 “fichero a convertir” -o “nombre del fichero transformado” Para obtener calidades de sonido medias usamos un comando del siguiente tipo:\nlame --quiet -vbr-new -V 4 -q 4 “fichero a convertir” -o “nombre del fichero transformado” Finalmente para obtener la calidad de sonido más alta:\nlame --quiet -vbr-new -V 0 -q 0 “fichero a convertir” -o “nombre del fichero transformado” Si ustedes lo creen oportuno pueden modificar el código del script para adaptarlo a sus necesidades\nFormatos de audio aceptado por el script El script realizado está concebido para convertir los siguientes formatos de archivo de audio a mp3:\n.wav .flac .mp3 .m4a .ogg Por lo tanto podremos transformar los formatos de archivos que acabo de mencionar a 3 calidades de mp3 preestablecidas.\nSi necesitan transformar un formato de audio diferente a los mencionado es posible que el resultado no sea el esperado.\nOtros comentarios sobre el funcionamiento del script Finalmente decirles que el script nunca sobreescribirá los archivos originales de audio. La totalidad de audios convertidos se ubicarán en una carpeta llamada Audios_Convertidos.\n","permalink":"https://geeklandlinux.github.io/posts/convertir-audio-a-mp3-linux-thunar/","summary":"\u003cp\u003eQuienes trabajan de forma habitual con audio agradecerán disponer de una herramienta rápida y ágil para convertir audio a mp3.\u003c/p\u003e\n\u003cp\u003eEn mi caso la solución que encuentro más rápida y ágil para el entorno de escritorio XFCE es usar Thunar. Para convertir audio a mp3 en Thunar tienen que seguir las siguientes instrucciones.\u003c/p\u003e","title":"Convertir audio a mp3 en Linux con el gestor de archivos Thunar"},{"content":"En el presente artículo veremos el proceso para poder desactivar Windows Defender de forma permanente en nuestro sistema operativo Windows.\nRAZONES PARA DESACTIVAR WINDOWS DEFENDER DE WINDOWS Algunos de los motivos que nos pueden llevar a desactivar Windows Defender son los siguientes:\nNo confiar en la seguridad que ofrece este producto. Windows defender analiza todos y cada uno de los archivos de nuestro ordenador y es probable que Microsoft utilice estos datos para violar nuestra privacidad. Es común que las empresas confíen su seguridad a Software Antivirus de terceros como kaspersky, Eset Nod 32, etc. No es conveniente que funcionen 2 software antivirus de forma simultánea en un mismo ordenador. Puede generar incompatibilidades, problemas y lentitud en el sistema operativo. DESACTIVAR WINDOWS DEFENDER DE FORMA COMPLETA Inicialmente accedemos a la configuración de Windows Defender.\nPara ello en el menú de búsqueda de Windows tecleamos Configuración de Windows Defender. Una vez realizada la búsqueda clicamos encima de la opción Configuración de Windows Defender.\nEn las opciones de configuración desactivamos todas y cada una de las opciones de protección. Si observamos el texto que está dentro del recuadro rojo de la siguiente imagen veremos que Windows nos informa que tarde o temprano activará el antivirus de nuevo.\nPara evitar que el antivirus se vuelva a activar presionamos la combinación de teclas Win+R.\nCuando aparezca la ventana de Ejecutar tecleamos regedit y presionamos el botón Aceptar.\nSeguidamente aparecerá una ventana que nos informará si queremos realizar cambios en el registro del sistema. En nuestro caso presionaremos encima del botón Sí.\nA continuación aparecerá el menú de navegación del registro del sistema. Tal y como se puede ver en la captura de pantalla navegaremos dentro de la siguiente ruta:\nHKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows Defender Una vez dentro de la ruta, en el panel derecho hacemos click con el botón derecho del ratón y creamos un nuevo valor de Dword de 32 bits:\nUna vez creado el DWORD de 32 bits lo renombramos con el nombre DisableAntiSpyware:\nFinalmente hacemos doble click en el DWORD de 32 bits con nombre DisableAntiSpyware, cuando aparezca la ventana de Editar valor le asignamos el valor 1, presionamos el botón Aceptar y reiniciamos el ordenador.\nEn estos momentos el antivirus Windows defender está completamente desactivado y Windows no lo activará de nuevo por su cuenta.\nCOMPROBAR QUE WINDOWS DEFENDER ESTÁ DESACTIVADO Para comprobar que Windows Defender está desactivado tan solo tenemos que intentar abrir el antivirus. Si en el momento de abrirlo les sale la siguiente ventana podemos estar seguros que Windows Defender está totalmente desactivado.\nQUITAR EL ICONO DE WINDOWS DEFENDER DEL PANEL Y DEL MENÚ CONTEXTUAL Aunque hayan desactivado Windows Defender es posible que el icono de Windows Defender les siga apareciendo en la barra de tareas y en el menú contextual de Windows.\nSi quieren eliminar el icono de Windows Defender de la barra de tareas de Windows deben seguir los pasos que encontrarán en el siguiente artículo:\nhttps://geeklandlinux.github.io/posts/quitar-el-icono-de-windows-defender/\nPara eliminar las entradas de Windows Defender en el menú contextual de Windows deben seguir los consejos del siguiente artículo:\nhttps://geeklandlinux.github.io/posts/quitar-windows-defender-del-menu-contextual/\nREACTIVAR WINDOWS DEFENDER DE NUEVO Si algún día quieren reactivar Windows Defender es muy sencillo. Tan solo tendrán que revertir la totalidad de pasos realizado en este post.\nPara ello acceden a la siguiente ubicación del registro de Windows:\nHKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows Defender Una vez dentro de la ubicación cambian el valor de DisableAntiSpyware de 1 a 0 y presionan el botón Aceptar.\nActo seguido acceden a la configuración de Windows Defender y presionan el botón Activar Windows Defender.\nJusto después de presionar el botón se activará Windows Defender y lo único que tendrán que realizar es configurarlo según sus necesidades en la configuración de Windows Defender.\n","permalink":"https://geeklandlinux.github.io/posts/desactivar-windows-defender-permanente/","summary":"\u003cp\u003eEn el presente artículo veremos el proceso para poder desactivar Windows Defender de forma permanente en nuestro sistema operativo Windows.\u003c/p\u003e","title":"Desactivar Windows Defender de forma permanente en Windows"},{"content":"Quienes dispongan de Windows 10 observarán que en la barra de tareas les aparece el icono de Windows Defender. En el caso que les moleste, en este post veremos los pasos a seguir para quitar el icono de Windows Defender de la barra de tareas de Windows.\nAntes de empezar es importante remarcar que eliminar el icono de Windows Defender no equivale a desactivar Windows Defender. Si únicamente eliminamos el icono, Windows Defender seguirá ejecutándose en segundo plano realizando su función.\nNota: Quien precise eliminar o desactivar Windows Defender debe seguir las instrucciones que se mencionan en el siguiente enlace. QUITAR EL ICONO DE WINDOWS DEFENDER DE LA BARRA DE TAREAS Para quitar el icono de Windows Defender de la barra de Windows tenemos que acceder al administrador de tareas.\nPara ello posicionamos el puntero del mouse encima de la barra de Windows, presionamos el botón derecho del mouse y cuando aparezca el menú desplegable clicamos encima de la opción Administrador de tareas.\nEn el administrador de tareas clicamos en la pestaña Inicio, buscamos y seleccionamos el proceso Windows Defender notification icon, presionamos el botón derecho del mouse y cuando aparezca el menú contextual clicamos encima de la opción Deshabilitar.\nUna vez finalizado el proceso reiniciamos el ordenador y ya no nos aparecerá el icono de Windows Defender en la barra de tareas de Windows.\nHACER QUE VUELVA APARECER EL ICONO DE WINDOWS DEFENDER EN EL PANEL Si algún día queremos volver a disponer del icono de Windows Defender tan solo tenemos que revertir los pasos realizados.\nPara ello accedemos al administrador de tareas de Windows. Una vez dentro del administrador clicamos encima de la pestaña Inicio, buscamos y seleccionamos el proceso Windows Defender notification icon, presionamos el botón derecho del mouse y cuando aparezca el menú contextual clicamos encima de la opción Habilitar.\nDespués de habilitar el botón tan solo tenemos que reiniciar el ordenador. En el próximo arranque volveremos a disponer del icono de Windows Defender en la barra de tareas de Windows\n","permalink":"https://geeklandlinux.github.io/posts/quitar-el-icono-de-windows-defender/","summary":"\u003cp\u003eQuienes dispongan de Windows 10 observarán que en la barra de tareas les aparece el icono de Windows Defender. En el caso que les moleste, en este post veremos los pasos a seguir para quitar el icono de Windows Defender de la barra de tareas de Windows.\u003c/p\u003e","title":"Quitar el icono de Windows Defender de la barra de tareas de Windows"},{"content":"En el pasado vimos los pasos a seguir para desactivar Windows Defender de nuestro sistema operativo. Después de desactivarlo nos seguirán apareciendo las opciones de Windows Defender en el menú contextual de Windows. Por este motivo en el siguiente artículo veremos los pasos a seguir para quitar Windows Defender del menú contextual de Windows. De esta forma evitaremos ver la entrada Examinar con Windows Defender… cada vez que consultemos las propiedades de un archivo o de una carpeta.\nQUITAR WINDOWS DEFENDER DEL MENÚ CONTEXTUAL Para quitar Windows Defender del menú contextual presionamos la combinación de teclas Win+R. Al aparecer la ventana de Ejecutar teclean regedit y presionan el botón Aceptar.\nSeguidamente aparecerá una ventana que nos informará si queremos realizar cambios en el registro del sistema. En nuestro caso presionaremos encima del botón Sí.\nA continuación aparecerá el menú de navegación del registro del sistema. Tal y como se puede ver en la captura de pantalla navegaremos dentro de la siguiente ruta:\nHKEY_CLASSES_ROOT\\*\\shellex\\ContextMenuHandlers\\EPP Anotar el valor de la clave EPP Una vez dentro de la ruta lo primero que tenemos que realizar es anotar el valor de la clave EPP. El valor de la clave EPP lo encontrarán dentro del recuadro de color rojo indicado en la siguiente captura de pantalla.\nEl valor anotado lo pueden almacenar dentro de un archivo de texto. El único propósito de almacenar este valor es deshacer los cambios que realizaremos a continuación.\nEliminar los valores de las claves EPP del registro de Windows Una vez anotada la la clave seleccionamos la clave (Predeterminado), presionamos el botón derecho del ratón y cuando aparezca el menú contextual clicamos encima de Eliminar.\nJusto después de presionar sobre eliminar nos aparecerá la siguiente ventana de advertencia. Presionamos el botón Sí sin ningún miedo.\nA continuación nos dirigimos a la siguiente ruta dentro del registro de Windows:\nHKEY_CLASSES_ROOT\\Directory\\shellex\\ContextMenuHandlers\\EPP Dentro de la ruta seleccionamos la clave (Predeterminado), presionamos el botón derecho del ratón y cuando aparezca el menú contextual clicamos encima de Eliminar.\nAl presionar sobre la opción eliminar nos aparecerá una advertencia que nos preguntará si estamos seguros de borrar los valores del registro. Como estamos seguros presionamos el botón Sí.\nFinalmente eliminaremos la última clave dirigiéndonos a la siguiente ruta del registro de Windows:\nHKEY_CLASSES_ROOT\\Drive\\shellex\\ContextMenuHandlers Una vez dentro de la ubicación correspondiente seleccionamos la clave (Predeterminado), presionamos el botón derecho del ratón y cuando aparezca el menú contextual clicamos encima de Eliminar.\nAl presionar sobre la opción eliminar nos aparecerá una advertencia que nos preguntará si estamos seguros de borrar los valores del registro. Como estamos seguros presionamos el botón Sí.\nCon tan solo seguir estos simples pasos verán que ya no se aparecen las opciones de Windows Defender en el menú contextual.\nHACER QUE VUELVAN A APARECER LAS ENTRADAS DE WINDOWS DEFENDER EN EL MENÚ CONTEXTUAL Si llega el día que queremos que revertir los cambios realizados, tan solo tenemos que restablecer los valores de las claves que hemos borrado. Para ello nos dirigimos a la siguiente ruta del registro de Windows:\nHKEY_CLASSES_ROOT\\*\\shellex\\ContextMenuHandlers\\EPP Una vez dentro de la ruta hacemos doble click sobre la clave (Predeterminado).\nEn la celda Información del valor escribimos el valor del registro que anotamos en la parte inicial del post y presionamos el botón Aceptar.\nPara finalizar el proceso tan solo tienen que repetir el mismo proceso que acabamos de realizar en las siguientes rutas:\nHKEY_CLASSES_ROOT\\Directory\\shellex\\ContextMenuHandlers\\EPP HKEY_CLASSES_ROOT\\Drive\\shellex\\ContextMenuHandlers Justo después de finalizar el proceso las entradas de Windows Defender volverán a aparecer en el menú contextual.\n","permalink":"https://geeklandlinux.github.io/posts/quitar-windows-defender-del-menu-contextual/","summary":"\u003cp\u003eEn el pasado vimos los pasos a seguir para \u003ca href=\"/posts/desactivar-windows-defender-permanente/\"\u003edesactivar Windows Defender\u003c/a\u003e de nuestro sistema operativo. Después de desactivarlo nos seguirán apareciendo las opciones de Windows Defender en el menú contextual de Windows. Por este motivo en el siguiente artículo veremos los pasos a seguir para quitar Windows Defender del menú contextual de Windows. De esta forma evitaremos ver la entrada \u003cstrong\u003eExaminar con Windows Defender…\u003c/strong\u003e cada vez que consultemos las propiedades de un archivo o de una carpeta.\u003c/p\u003e","title":"Quitar Windows Defender del menú contextual de Windows"},{"content":"¿Cuantos de vosotros tiene un conocido que saque partido a los asistentes personales?\nPienso que la respuesta es casi nadie. Para la mayoría de gente no es necesario tener activada una funcionalidad inútil, que consume recursos y además captura nuestros datos.\nA continuación detallaré los motivos que tengo para realizar tal afirmación.\nINTELIGENCIA ARTIFICIAL NULA Desde su nacimiento nos están vendiendo los asistentes como inteligentes y mi experiencia personal me dice todo lo contrario por los siguientes motivos:\nNadie en su sano juicio confundiría a un asistente personal actual con un ser humano. En demasiadas ocasiones haces una pregunta concreta y se limitan a buscar lo que preguntas en la web. Les tienes que decir las frases de forma exacta y precisa. En caso contrario simplemente no te entienden. Si no hablamos Inglés la experiencia con estos asistentes es aún más pobre y cuesta más que entiendan lo que pedimos. La inteligencia artificial implica un software con capacidad de aprendizaje y con capacidad de tomar decisiones. Cualquiera de los asistentes existentes en la actualidad carece de estas características. No es capaz de saber nuestro estado de ánimo ni de tener una idea de nuestra carga de trabajo. Por lo tanto a mi modo de ver no se les debería llamar asistentes personales. Por lo tanto sin duda alguna los asistentes actuales son completamente inútiles.\nEVOLUCIÓN MUY LENTA Aparte de tener una inteligencia artificial muy limitada, mi sensación que es con el paso de los años hay una evolución muy pequeña y no se incrementan las funcionalidades que nos proporcionan.\nLas razones del lento desarrollo de los asistentes pienso que son las siguientes:\nGran parte de los asistentes personales existentes en la actualidad son de código cerrado. Esto sin duda dificulta su desarrollo y hace más difícil que se añadan características adicionales a las existentes. No hay necesidad de evolucionar los asistentes personales actuales porque cumplen su propósito a la perfección. El propósito de los asistentes personales actuales es capturar nuestros datos personales para que Microsoft (Cortana), Apple (Siri), Google (Google Now) y Amazon (Echo) puedan lucrarse proporcionándonos publicidad de servicios o productos que se adapten a nuestros gustos, personalidad y necesidades. VIOLAN LA PRIVACIDAD DE LOS USUARIOS Como acabamos de ver en el apartado anterior, los asistentes personales violan la privacidad de sus usuarios de forma alarmante. Algunas de las funciones que violan nuestra privacidad son las siguientes:\nAsistentes como por ejemplo Cortana tienen la capacidad de monitorizar el contenido de nuestro disco duro y almacenar cierta información en los servidores de Microsoft. Consultar nuestra ubicación y el historial de ubicaciones. Registrar nuestra voz y almacenarla en sus servidores. Registrar y almacenar todo el contenido que escribimos en nuestro ordenador o dispositivo. Consultar nuestros contactos y nuestro calendario. Conocer los programas que estamos usando y saber qué hacemos con ellos. Analizar el uso que hacemos tanto de nuestro dispositivo como de los servicios asociados a nuestro dispositivo. De este modo Cortana puede consultar nuestra aplicación de mapas para saber nuestros lugares preferidos, usar datos de aplicaciones como MSN deportes para saber cuál es nuestro equipo favorito, etc. pueden consultar y registrar el historial navegación de nuestros navegadores para saber los temas que nos interesan. Ver y analizar el contenido de nuestros mensajes de texto y nuestro correo electrónico. De esta forma Cortana o Google Now nos pueden ofrecer información automática sobre la entrega de un paquete. Etc. Todos los datos recopilados se usan para mejorar la experiencia personal de los usuarios. No obstante estos datos también pueden ser usados para los siguientes propósitos:\nElaborar perfiles personales para venderlos a un tercero o para ofrecernos productos y servicios adaptados a nuestras necesidades. Proporcionarlos a una autoridad o a cualquier persona o entidad que se considere oportuna. Nota: En las condiciones de servicio, Windows, Facebook, Apple, etc… se reservan el derecho de hacer lo que crean conveniente con los datos recolectados. LA FORMA DE USAR LOS ASISTENTES PERSONALES NO ES AMIGABLE Bajo mi punto de vista la forma de usar el asistente no es la más adecuada.\nA muchas personas, entre las que me incluyo, les da vergüenza hablar a un ordenador o a un teléfono en la calle o en la oficina. Este hecho sin duda es un freno para el uso de los asistentes personales.\nSi quieren detalles más concretos y acerca de este apartado pueden consultar el siguiente post de xataka.\nCONSUMEN RECURSOS DE NUESTROS DISPOSITIVOS Existe un número elevado de personas que no usan los asistentes personales porque no saben usarlos, o porque piensan que no son útiles y/o violan su privacidad.\nPero además todos estos asistentes personales consumen los siguientes recursos de nuestro dispositivo móvil. Los recursos que consume son los siguientes:\nCapacidad de procesamiento CPU. Memoria RAM Batería Obviamente el consumo de estos recursos ocasiona que el dispositivo móvil/ordenador vaya más lento obteniendo una peor experiencia de usuario por tener activada una función que es inútil. Por este motivo en las próximas semanas escribiré uno o varios post en los que detallaré el procedimiento para deshabilitar los asistentes personales de nuestros equipos.\n","permalink":"https://geeklandlinux.github.io/posts/por-que-no-usamos-asistentes-personales/","summary":"\u003cp\u003e¿Cuantos de vosotros tiene un conocido que saque partido a los asistentes personales?\u003c/p\u003e\n\u003cp\u003ePienso que la respuesta es casi nadie. Para la mayoría de gente no es necesario tener activada una funcionalidad inútil, que consume recursos y además captura nuestros datos.\u003c/p\u003e\n\u003cp\u003eA continuación detallaré los motivos que tengo para realizar tal afirmación.\u003c/p\u003e","title":"¿Por qué no se usan asistentes personales en Windows, Android o iOS?"},{"content":"En ocasiones tengo la necesidad de instalar o buscar paquetes que no se exactamente su nombre. En estas ocasiones acostumbro a utilizar el filtro rápido de búsqueda de synaptic porque ofrece una velocidad de búsqueda inigualable.\nNo obstante acostumbra a pasar que cuando abrimos Synaptic nos encontramos con la situación que el filtro rápido de búsqueda no está disponible.\nACTIVAR EL FILTRO RÁPIDO DE BÚSQUEDA EN SYNAPTIC Para solucionar este problema tienen que abrir una terminal e instalar el paquete apt-xapian-index ejecutando el siguiente comando en la terminal:\nsudo apt-get install apt-xapian-index El paquete apt-xapian-index se encarga de construir un índice de la totalidad de paquetes disponibles en nuestra distribución. De este modo cuando tengamos que realizar una búsqueda obtendremos un resultado al instante.\nA continuación tenemos que construir el índice de paquetes de nuestra distribución ejecutando el siguiente comando en la terminal:\nsudo update-apt-xapian-index -vf Nota: La ubicación del índice construido es /var/lib/apt-xapian-index/cataloged_times.p Una vez construido el índice tan solo tenemos que abrir Synaptic y veremos que en el panel nos aparece el filtro rápido de Búsqueda.\nEn estos momentos tan solo tenemos ubicarnos encima del cuadro de búsqueda del filtro rápido y empezar a escribir el nombre del paquete que estamos buscando.\nEn mi caso realizo un búsqueda con el término “coreb” y tal y como pueden ver se realiza una búsqueda en tiempo real después de cada una de las letras introducidas en el campo de búsqueda.\nOTRAS UTILIDADES QUE PODEMOS DAR AL PAQUETE APT-XAPIAN-INDEX En el presente artículo hemos instalado el paquete apt-xapian-index para activar el filtro rápido de búsqueda en Synaptic, pero esta no es su única utilidad.\nEste paquete nos permitirá usar el motor de búsqueda Xapian para poder buscar paquetes en nuestra terminal a través del comando axi-cache.\nLa función que realizará el comando axi-cache es exactamente la misma que realiza apt-cache, pero con la diferencia que los resultados proporcionados por axi-cache serán muchos más precisos que apt-cache.\nEn definitiva axi-cache es un apt-cache que nos ofrecerá mejores resultados de búsqueda y además nos los ordenará por relevancia.\nEn futuro escribiré un artículo entero de axi-cache en el que ampliaré la información citada en este post.\n","permalink":"https://geeklandlinux.github.io/posts/activar-filtro-rapido-de-busqueda-synaptic/","summary":"\u003cp\u003eEn ocasiones tengo la necesidad de instalar o buscar paquetes que no se exactamente su nombre. En estas ocasiones acostumbro a utilizar el filtro rápido de búsqueda de synaptic porque ofrece una velocidad de búsqueda inigualable.\u003c/p\u003e","title":"Activar el filtro rápido de búsqueda en el gestor de paquetes Synaptic"},{"content":"Es posible que justo al terminar la instalación de Debian se encuentren con la sorpresa que no tengan Wifi y que les sea completamente imposible usar su tarjeta de red wifi.\nLa solución a este problema acostumbra a ser bastante sencilla en la mayoría de los casos. Lo único que tenemos que realizar para solucionar el problema es instalar los drivers de nuestra tarjeta de red wifi de ka siguiente forma.\nACTIVAR LOS REPOSITORIOS NO LIBRES Lo más probable es que nuestra tarjeta de red inalámbrica no funcione porque no tiene instalados los drivers apropiados.\nEn la mayoría de casos, los drivers que necesitaremos se encuentran en los repositorios no libres de Debian. Por lo tanto lo primero que tendremos que realizar es activar los repositorios no libres de Debian siguiendo las instrucciones que encontrará en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/activar-los-repositorios-privativos-debian/\nIDENTIFICAR EL CHIP DE NUESTRA TARJETA DE RED WIFI Una vez activados lo repositorios privativos tendremos que conocer la marca y el modelo de nuestra tarjeta de red inalámbrica.\nEn el caso que vuestra tarjeta de red wifi esté integrada dentro del ordenador tendremos que ejecutar el siguiente comando en la terminal:\nlspci | grep Wireless En mi caso el resultado obtenido es el siguiente:\nPor lo tanto queda en mi caso estoy usando una tarjeta de red Wifi Realtek con el chip RTL8187SE\nEn el caso que uséis una tarjeta de red wifi del tipo USB tendréis que cambiar ligeramente el comando. El comando a ejecutar será el siguiente:\nlsusb | grep WLAN En este caso el resultado obtenido en mi ordenador de sobremesa es el siguiente:\nAl igual que antes también estoy usando una tarjeta Realtek, pero en este caso con el chip RTL8188SU.\nPor lo tanto queda claro que en mis 2 únicos ordenadores estoy usando una tarjeta de red inalámbrica Realtek.\nINSTALAR LOS DRIVERS DE NUESTRA TARJETA DE RED INALÁMBRICA En estos momentos lo único que falta es instalar los paquetes precisos para que funcione nuestra tarjeta de red wifi.\nPara ello abrimos Synaptic Package Manager y realizamos una búsqueda de paquetes usando el término firmware:\nDe este modo podremos conocer fácilmente el paquete que tenemos que instalar para que funcione nuestra tarjeta de red inalámbrica.\nLos paquetes a instalar en función de la tarjeta de red que dispongamos son los siguientes:\nMarca Paquete Atheros firmware-atheros Broadcom firmware-b43-installer, broadcom-sta-dkms, firmware-b43legacy-installer o firmware-brcm80211 Intel Firmware-ipw2x00, firmware-intelwimax o firmware-iwlwifi Realtek firmware-realtek ti firmware-ti-connectivity ZyDas firmware-zd1211 Como en mi caso uso una tarjeta de Realtek procederé a la instalación del paquete firmware-realtek ejecutando el siguiente comando en la terminal:\nsudo apt-get install realtek Si además quieren confirmar que su chip esta soportado por el driver que nos ofrece Debian lo tenemos muy fácil. Tal y como se puede ver en la captura de pantalla, la descripción de los paquetes nos ofrecen información detallada de los chips que soporta cada uno de los drivers.\nFinalmente tan solo nos falta reiniciar el ordenador. La próxima vez que reiniciemos el ordenador nuestra tarjeta de red wifi debería funcionar sin ningún tipo de problema.\nRECOMENDACIÓN EN CASO DE PROBLEMAS Si después de seguir las instrucciones aún tienen problemas para usar el wifi, les recomiendo que abran una terminal y ejecuten el siguiente comando:\nsudo apt-get install firmware-linux firmware-linux-free firmware-linux-nonfree firmware-misc-nonfree Una vez finalizada la instalación de los paquetes deberán reiniciar de nuevo el ordenador.\nSi esta medida tampoco ha sido efectiva únicamente nos quedan 2 soluciones:\nBuscar un driver apropiado en Internet para nuestra tarjeta de red Wifi y realizar una instalación manual. Usar ndiswrapper para poder usar los drivers de Windows en nuestra distribución Linux. ","permalink":"https://geeklandlinux.github.io/posts/instalar-drivers-tarjeta-de-red-wifi-debian/","summary":"\u003cp\u003eEs posible que justo al terminar la instalación de Debian se encuentren con la sorpresa que no tengan Wifi y que les sea completamente imposible usar su tarjeta de red wifi.\u003c/p\u003e\n\u003cp\u003eLa solución a este problema acostumbra a ser bastante sencilla en la mayoría de los casos. Lo único que tenemos que realizar para solucionar el problema es instalar los drivers de nuestra tarjeta de red wifi de ka siguiente forma.\u003c/p\u003e","title":"Instalar los drivers de nuestra tarjeta de red wifi en Debian"},{"content":"Se que habrá gente a la que no gustará este artículo porque estarán en contra de activar los repositorios privativos en Debian. No obstante en ocasiones se hace necesario activar los repositorios privativos en Debian.\nMOTIVOS PARA ACTIVAR LOS REPOSITORIOS PRIVATIVOS EN DEBIAN Algunas de los motivos que pueden forzar la activación de los repositorios privativos en Debian son los siguientes:\nHacer que nuestra tarjeta de red inalámbrica funcione. Sacar el máximo rendimiento a nuestro tarjeta gráfica o a nuestro hardware en general. Para reproducir algunos formatos de archivo específicos. Para instalar y usar Flash en el caso que aún lo usemos. Etc. ESTRUCTURA DE LOS REPOSITORIOS DE DEBIAN Los repositorios de Debian se dividen en 3 ramas conocidas como main, contrib y non-free. Cada una de estas ramas contiene paquetes clasificados en función de su licencia.\nLa rama main contiene el 90% de los paquetes de la distribución. La totalidad de estos paquetes son libres y cumplen con los 10 principios de la Debian Free software Guidelines.\nLa rama contrib contiene software que también cumple con los principios de la Debian Free software Guidelines, pero que precisa de software o paquetes no libres para su compilación y/o ejecución.\nFinalmente la rama non-free incluye paquetes privativos que obviamente no cumplen con las directrices de la Debian Free software Guidelines.\nACTIVACIÓN DE LOS REPOSITORIOS PRIVATIVOS EN DEBIAN Debian es una distribución que después de ser instalada únicamente contiene paquetes y software 100% libre. La razón es porque la única rama de repositorios activa es la main.\nPara poder activar los repositorios privativos tenemos que activar las ramas de los repositorios contrib y non-free.\nPara hacerlo accedemos al archivo de configuración de los repositorios ejecutando el siguiente comando en la terminal:\nsudo nano /etc/apt/sources.list Justo al abrirse el fichero veremos los repositorios de Debian que estamos usando. En mi caso uso los siguientes repositorios:\ndeb http://ftp.de.debian.org/debian/ testing main deb-src http://ftp.de.debian.org/debian/ testing main deb http://security.debian.org/ testing/updates main deb-src http://security.debian.org/ testing/updates main Si leemos el contenido del fichero vemos que de las 3 ramas de repositorios únicamente disponemos de la main. Para añadir las otras 2 ramas tan solo tenemos que añadir las palabras contrib non-free justo después de main. Por lo tanto en mi caso los repositorios pasarán a quedar de la siguiente forma:\ndeb http://ftp.de.debian.org/debian/ testing main contrib non-free deb-src http://ftp.de.debian.org/debian/ testing main contrib non-free deb http://security.debian.org/ testing/updates main contrib non-free deb-src http://security.debian.org/ testing/updates main contrib non-free Una vez realizadas las modificaciones guardamos los cambios y cerramos el fichero. En estos momentos podemos afirmar que los repositorios privativos están activados.\nNota: Tenéis que ir con cuidado a la hora de manipular los repositorios. En ningún caso reemplacéis vuestros repositorios por los mios. Lo único que os tenéis que limitar a realizar es añadir y o quitar las palabras contrib y non-free. ACTUALIZAR EL ÍNDICE DE LOS REPOSITORIOS Para poder tener disponibles los paquetes de los repositorios contrib y non-free actualizamos el índice de nuestros repositorios ejecutando el siguiente comando en la terminal:\nsudo apt-get update Una vez actualizado el índice podremos instalar software privativo en el caso que lo consideremos oportuno.\nCONSULTAR LOS NUEVOS PAQUETES QUE PODEMOS INSTALAR En estos momentos los repositorios privativos de Debian están activados y por lo tanto ya podemos instalar paquetes privativos sin ningún tipo de problema.\nPara consultar los paquetes disponibles en la sección contrib podemos usar Synaptic o ejecutar el siguiente comando en la terminal:\naptitude search \u0026#39;?section(contrib) ?origin(Debian)\u0026#39; Para consultar los paquetes disponibles en la sección non-free podemos usar Synaptic o ejecutar el siguiente comando en la terminal:\naptitude search \u0026#39;?section(non-free) ?origin(Debian)\u0026#39; Si en un momento determinado pretenden averiguar la cantidad de software privativo instalado en su equipo pueden seguir las instrucciones del siguiente enlace:\nhttps://geeklandlinux.github.io/posts/conocer-software-privativo-instalado/\nDe este modo siempre podremos controlar de forma fácil los paquetes privativos que tenemos instalados en nuestra distribución.\n","permalink":"https://geeklandlinux.github.io/posts/activar-los-repositorios-privativos-debian/","summary":"\u003cp\u003eSe que habrá gente a la que no gustará este artículo porque estarán en contra de activar los repositorios privativos en Debian. No obstante en ocasiones se hace necesario activar los repositorios privativos en Debian.\u003c/p\u003e","title":"Activar los repositorios privativos non-free en Debian"},{"content":"Aunque GNU/Linux es un sistema operativo libre y abierto existen muchas distribuciones que incluyen software privativo en sus repositorios.\nPara los que sean contrarios al uso de software y paquetes privativos, en el siguiente artículo veremos un par de métodos para poder comprobar el software privativo que tenemos instalado en cualquier distribución Debian o Ubuntu.\nCONOCER EL SOFTWARE PRIVATIVO INSTALADO MEDIANTE LA TERMINAL En Debian y en Ubuntu los paquetes privativos se acostumbran a almacenar en las secciones non-free y Contrib de los repositorios.\nPor lo tanto una forma de analizar el software privativo que tenemos instalado es obtener un listado de los paquetes instalados de la sección Contrib y non-free. Para ello tan solo tenemos que ejecutar el siguiente comando en la terminal:\ndpkg-query -W -f=\u0026#39;${Section}\\t${Package}\\n\u0026#39; | grep ^non-free \u0026amp;\u0026amp; dpkg-query -W -f=\u0026#39;${Section}\\t${Package}\\n\u0026#39; | grep ^contrib \u0026amp;\u0026amp; dpkg-query -W -f=\u0026#39;${Section}\\t${Package}\\n\u0026#39; | grep ^partner Después de ejecutar el comando podemos ver la totalidad de paquetes y software privativo instalado en nuestro ordenador:\nCONOCER EL SOFTWARE PRIVATIVO INSTALADO MEDIANTE VRMS Otra opción alternativa para comprobar el software privativo en nuestro ordenador es usar el software VRMS (Virtual Richard M. Stallman).\nEl software VRMS nos proporcionará un listado de los paquetes no libres instalado en nuestro equipo. En algunos casos el programa también nos dará una breve explicación de porque los paquetes no son libres.\nPara instalar el software VRMS tan solo tenemos que ejecutar el siguiente comando en la terminal:\nsudo apt-get install vrms Una vez instalado lo podemos usar abriendo una terminal y ejecutando el siguiente comando:\nvrms -e Al ejecutar el programa en mi caso he obtenido los siguientes resultados:\nSi comparamos los resultados obtenidos con los del apartado anterior vemos que son exactamente los mismos.\nA partir de estos momentos si queremos podemos intentar buscar alternativas libres al software privativo instalado en nuestro ordenador.\nLIMITACIONES DE LOS MÉTODOS USADOS PARA BUSCAR SOFTWARE PRIVATIVO Las 2 opciones que hemos visto funcionan de forma correcta. No obstante los 2 métodos se limitan a buscar software privativo en secciones especificas de nuestros repositorios. Esto ocasiona que no podamos detectar el 100% de software privativo instalado en nuestro ordenador.\nEl motivo es que los programas que instalamos de forma manual y no están presentes en los repositorios originales de nuestra distro, acostumbran a ubicarse en secciones no apropiadas de nuestros repositorios.\nAsí por ejemplo Google Chrome se ubica en la sección web y la sección web acostumbra a disponer Software Libre. Por lo tanto los métodos detallados en este post no detectaran que Google Chrome es software privativo.\nSolución para solventar las limitaciones de estos métodos Conociendo esta limitación, la forma apropiada para detectar el 100% de software privativo es aplicar uno de los 2 métodos y a posteriori analizar uno por uno los programas que tenemos instalados de forma manual o a través de repositorios externos.\nPor lo tanto en mi caso abro Synaptic para ver los repositorios de terceros que estoy usando y obtengo el siguiente resultado:\nSi observamos con detalle vemos que los 2 únicos repositorios de terceros que estoy usando son el de Libreoffice y el de Spotify. Si buscamos información acerca de Libreoffice y Spotify llegaremos a las siguientes conclusiones:\nLibreoffice es una suite ofimática de Software Libre. El cliente de Spotify es Software privativo, por lo tanto los partidarios de usar únicamente Software Libre deberían desinstalarlo. A continuación, desde Synaptic o desde la terminal, consultaremos el software instalado en nuestro ordenador que no pertenece a ningún repositorio.\nPara ello en mi caso abro una terminal y ejecuto el siguiente comando:\naptitude search ~o Los resultados obtenidos son los siguientes:\nSi buscamos información sobre los paquetes veremos que la totalidad de librerías y programas que aparecen en este listado son totalmente libres.\nPor lo tanto en mi caso únicamente estoy usando 9 librerías o programas que son software privativo.\n","permalink":"https://geeklandlinux.github.io/posts/conocer-software-privativo-instalado/","summary":"\u003cp\u003eAunque GNU/Linux es un sistema operativo libre y abierto existen muchas distribuciones que incluyen software privativo en sus repositorios.\u003c/p\u003e\n\u003cp\u003ePara los que sean contrarios al uso de software y paquetes privativos, en el siguiente artículo veremos un par de métodos para poder comprobar el software privativo que tenemos instalado en cualquier distribución Debian o Ubuntu.\u003c/p\u003e","title":"Conocer el software privativo instalado en Debian y en Ubuntu"},{"content":"En ocasiones para realizar una tarea tenemos que acceder a un menú y clicar encima de una de sus opciones. Este proceso es lento y muchos usuarios preferirían ejecutar la tarea con un simple atajo de teclado. Si somos usuarios del entorno de escritorio XFCE estamos de suerte porque podremos modificar o crear atajos de teclado a la totalidad de los elementos de los menús que aparecen en determinados programas.\n¿QUÉ PROGRAMAS NOS PERMITEN CREAR ATAJOS DE TECLADO A LOS ELEMENTOS DE SU MENÚ? Los programas que en principio permiten crear atajos de teclado a cualquiera de los elementos que aparecen en su menú son los siguientes:\nThunar Xfce4-terminal Ristretto Mousepad Los programas que acabamos de citar deben usar librerías GTK2. En el caso que alguno de los programas citados usara librerías GTK3, deberíamos emplear un método distinto al que explicaré a continuación.\nPara saber si un programa utiliza librerías GTK2 o GTK3 pueden consultar el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/que-son-librerias-gtk-version-usamos/\nNota: Es posible que hayan otros programas que permitan crear atajos de teclado a los elementos de un menú. Todo dependerá de si los desarrolladores del programa pensaron en este aspecto cuando crearon el programa. CREAR UN ATAJO DE TECLADO A UN ELEMENTO DE UN MENÚ Para crear un atajo de teclado a cualquiera de las opciones que nos ofrecen los menús de los programas citados en el apartado anterior tenemos que seguir la siguientes instrucciones.\nActivar los aceleradores editables Existen varias formas para activar los aceleradores editables. La más fácil es abrir una terminal y ejecutar el siguiente comando:\nxfconf-query -c xsettings -p /Gtk/CanChangeAccels -T Una vez ejecutado el comando los aceleradores editables estarán activados.\nOtra forma alternativa para activar los aceleradores editables es teclear el siguiente comando en la terminal:\nxfce4-appearance-settings Acto seguido aparecerá la ventana de Apariencia, seguidamente clicaremos encima de la pestaña Configuración y finalmente tendremos que activar la opción Activar aceleradores editables.\nUna vez activados los aceleradores editables ya podemos crear los atajos de teclado que queramos.\nCrear un atajo de teclado a una entrada del menú A modo de ejemplo asignaré un atajo de teclado a una de las entradas del menú de Thunar.\nAbrimos Thunar y posicionamos el puntero del mouse sobre la entrada del menú en que queremos asignar el atajo de teclado. En mi caso la entrada del menú seleccionada es la acción personalizada Buscar archivo del menú Archivo.\nSeguidamente presionamos el atajo de teclado que queremos usar para ejecutar la acción personalizada Buscar archivo. En mi caso presiono la combinación de teclas Ctrl+B.\nA partir de estos momentos, cuando Thunar esté abierto y presione la combinación de teclas Ctrl+B se ejecutará la acción personalizada Buscar Archivo.\nNota: En este apartado hemos visto como asignar un atajo de teclado a cualquiera de las opciones del menú de Thunar. Si queremos realizar lo mismo con Ristretto, Xfce4-terminal o Mousepad tan solo tenemos que repetir los pasos que acabamos de realizar en este apartado. Borrar un atajo de teclado En caso que queramos borrar el atajo de teclado que acabamos de crear tenemos que proceder de la siguiente forma:\nPosicionamos el puntero del mouse encima de la opción del menú en que hemos creado el atajo de teclado.\nA continuación presionamos la tecla Retroceso o la tecla Supr. Acto seguido se borrará el atajo de teclado.\nDesactivar los aceleradores editables Cuando tengamos la totalidad de atajos de teclado definidos recomiendo desactivar los aceleradores editables. De este modo evitaremos cambiar o borrar nuestros atajos de teclado de forma accidental.\nPara ello tan solo tenemos que abrir la terminal y ejecutar el siguiente comando:\nxfconf-query -c xsettings -p /Gtk/CanChangeAccels -T Una vez ejecutado el comando ya no podremos asignar y/o modificar más atajos de teclado.\nCREAR ATAJOS DE TECLADO CUANDO EL PROGRAMA USA LIBRERÍAS GTK3 En el caso que alguno de los programas citados en el inicio del post esté usando librerías GTK3 deberemos aplicar un procedimiento diferente.\nEn mi caso xfce4-terminal está usando librerías GTK3. A modo de ejemplo veremos como crear un atajo de teclado para la opción Preferencias del menú Editar de xfce4-terminal.\nPrimero buscamos los archivos que contienen la configuración de los atajos de teclado. Para ello abrimos catfish y buscamos la totalidad de archivos de nuestra partición home con nombre accels.scm\nLos archivos encontrados en mi caso son los siguientes:\n~/.config/Mousepad/accels.scm ~/.config/Thunar/accels.scm ~/.config/ristretto/accels.scm ~/.config/xfce4/terminal/accels.scm Nota: Cada una de las rutas corresponden a los archivos de configuración de los atajos de teclado de Mousepad, Thunar, Ristretto y Xfce4-terminal. A continuación accedemos al archivo de configuración de atajos de teclado de xfce4-terminal ejecutando el siguiente comando en la terminal:\nmousepad ~/.config/xfce4/terminal/accels.scm Seguidamente aparecerán todas las opciones de configuración de atajos disponibles para Xfce4-terminal:\nLocalizamos la línea a modificar para asignar un atajo de teclado a la opción Preferencias. La línea es la siguiente:\n; (gtk_accel_path \u0026#34;\u0026lt;Actions\u0026gt;/terminal-window/preferences\u0026#34; \u0026#34;\u0026#34;) Seguidamente descomentamos la línea y asignamos un atajo de teclado que en mi caso es Alt+P. Por lo tanto la línea que definirá el atajo de teclado de la opción Preferencias será la siguiente:\n(gtk_accel_path \u0026#34;\u0026lt;Actions\u0026gt;/terminal-window/preferences\u0026#34; \u0026#34;\u0026lt;Alt\u0026gt;p\u0026#34;) Finalmente guardamos los cambios y cerramos el fichero. La próxima vez que abramos la terminal tendremos un atajo de teclado disponible para la opción Preferencias.\nNota: A día de hoy en Debian testing, el único de los programas que ha sido portado a GTK3 es xfce4-terminal. RESETEAR LA TOTALIDAD DE LOS ATAJOS DE TECLADO CREADOS En el caso que modifiquemos o borremos muchos de los atajos de teclado estándar, es posible que nos interese restaurar los atajos de teclado predeterminados del programa.\nPara ello tan solo tenemos que localizar los archivos de configuración de los atajos de teclado que en mi caso son:\n~/.config/Mousepad/accels.scm ~/.config/Thunar/accels.scm ~/.config/ristretto/accels.scm ~/.config/xfce4/terminal/accels.scm Una vez localizados los archivos borramos el archivo de configuración del programa en que queremos restaurar los atajos de teclado. Por lo tanto en mi caso borro el archivo de configuración de xfce4-terminal.\nDe este modo la próxima vez que arranquemos la terminal de Xfce volveremos a disponer de los atajos de teclado estándar.\n","permalink":"https://geeklandlinux.github.io/posts/crear-atajos-de-teclado-elementos-menu-xfce/","summary":"\u003cp\u003eEn ocasiones para realizar una tarea tenemos que acceder a un menú y clicar encima de una de sus opciones. Este proceso es lento y muchos usuarios preferirían ejecutar la tarea con un simple atajo de teclado. Si somos usuarios del entorno de escritorio XFCE estamos de suerte porque podremos modificar o crear atajos de teclado a la totalidad de los elementos de los menús que aparecen en determinados programas.\u003c/p\u003e","title":"Crear atajos de teclado a los elementos de un menú en XFCE"},{"content":"La seguridad a la hora de realizar tareas que requieren una protección esencial de datos, tales como contraseñas, transacciones bancarias, o cualquier tipo de operación que conlleva un componente económico o pone en riesgo nuestra identidad, sigue siendo uno de los temas que más preocupa en la actualidad, tanto a los usuarios como a los servicios que las ofrecen.\n¿QUÉ SON LOS RIESGOS EN CONCRETO? Las nuevas tecnologías han aportado muchas comodidades al permitirnos realizar desde el propio hogar o lugar de trabajo una serie de tareas que de otro modo nos obligarían en muchos casos a desplazarnos y dedicar un preciado tiempo a realizarlas. La autonomía que nos proporciona un simple correo electrónico, una firma digital, o una contraseña para realizar cualquier tipo de actividad, es incalculable hoy en día. A su vez, el robo de identidades y el phishing se está convirtiendo en una obsesión para quienes trabajan en la seguridad de sus clientes.\nNadie está libre de un hacker o un ataque cibernético. Si recientemente hemos visto como compañías del calibre de Twitter, Netflix o Spotify, acusaban los efectos del ataque a una empresa de gestión de Internet, ya podemos imaginar lo que puede suceder con un usuario de a pie.\nCOMO EVITAR EL FRAUDE ELECTRÓNICO La idea es protegernos al máximo de nuestras posibilidades y más en este momento en que los smartphones se están convirtiendo en un instrumento que viaja por la calle con nuestros datos más privados y claves de acceso a distintos servicios, en la mayoría de los casos exento de cualquier tipo de seguridad contra amenazas. Sin duda esta es una de las causas de que el ransomware continúe aumentando en estos dispositivos.\nDesde hace ya años hemos visto como principalmente las entidades financieras han tratado de protegerse a sí mismas y a sus clientes con más o menos éxito de esta amenaza utilizando diferentes métodos como puede ser el asistente Vini para tarjetas virtuales, que sin embargo no están exentos de otros inconvenientes.\nFuente: itcd.hq.nasa.gov\nEntre otras, una interesante alternativa que ha surgido a los primeros métodos y que puede servir de respaldo para estos, es el token de seguridad. En su versión más simple se trata de un dispositivo portátil que nos permite almacenar contraseñas o firmas digitales que nos dan acceso a nuestros servicios.\nLOS TIPOS DE TOKEN Entre las distintas clases nos encontramos las que operan a través de un OTP (One Time Password). Este es uno de los tokens más frecuentes y su funcionamiento consiste en generar una clave operativa durante un breve lapso de tiempo, que se introduce en el sitio al que queremos acceder como complemento a nuestro password personal. Dependiendo del token, la clave permanece activa durante unos segundos o hasta que generamos una nueva.\nAunque son varias las que lo utilizan, este dispositivo no es exclusivo de las entidades bancarias y son varias las compañías que lo proporcionan a sus usuarios como en el caso del token RSA de PokerStars, un sitio de póker online que trabaja de forma regular con transacciones económicas y que con este servicio colabora con la seguridad de sus clientes.\nEn lo negativo de este aparato hay que apuntar la contrariedad que supone en caso de pérdida. En esta situación no podremos acceder a la cuenta que nuestro token protege hasta haber contactado con su proveedor y realizar el protocolo establecido para estos casos.\nFuente: fortune.com\nY aún más avanzados\u0026hellip; Existen otros modelos como el token USB que se ajusta mejor a otro tipo de servicios. Este dispositivo permite almacenar claves criptográficas con firmas digitales o datos biométricos que nos proporcionan el acceso a unos determinados sitios que requieren de esta condición.\nEn resumen, se trata de un método más para reforzar nuestra seguridad. No debemos olvidar que ninguno de ellos es infalible y una combinación de varios puede ser la mejor solución a nuestros temores.\n","permalink":"https://geeklandlinux.github.io/posts/token-de-seguridad-proteger-tus-cuentas/","summary":"\u003cp\u003eLa seguridad a la hora de realizar tareas que requieren una protección esencial de datos, tales como contraseñas, transacciones bancarias, o cualquier tipo de operación que conlleva un componente económico o pone en riesgo nuestra identidad, sigue siendo uno de los temas que más preocupa en la actualidad, tanto a los usuarios como a los servicios que las ofrecen.\u003c/p\u003e","title":"Un token de seguridad para proteger tus cuentas en Internet"},{"content":"En contraposición a otros gestores de archivos, como por ejemplo Nautilus o Dolphin, Thunar aparentemente no trae incorporado un buscador de archivos de serie. No obstante a continuación veremos unas simples instrucciones que nos permitirán buscar archivos en Thunar de forma fácil y efectiva.\nOPCIÓN 1: BUSCAR ARCHIVOS EN THUNAR CON CATFISH Una de las opciones para poder buscar archivos en Thunar es usar el buscador Catfish.\nInstalar Catfish Para hacerlo lo primero que tenemos que realizar es es instalar Catfish ejecutando el siguiente comando en la terminal:\nsudo apt-get install catfish Configurar una acción personalizada de búsqueda Una vez instalado abrimos Thunar, accedemos al menú Editar y a posteriori clicamos encima de la opción Configurar acciones personalizadas…\nSeguidamente aparecerá la siguiente ventana en la que deberemos presionar encima del botón + para empezar a definir una acción personalizada.\nA continuación en la pestaña de edición de la acción personalizada tenemos que introducir los siguientes valores:\nCampo Nombre: Introducimos el nombre que queremos que nos aparezca en el menú contextual de las acciones personalizadas. En mi caso elijo Buscar archivo\nCampo Descripción: Escribimos una descripción de lo que hará nuestra acción personalizada. En mi caso uso la descripción Buscar archivo\nCampo Orden: Escribimos el comando para que se abra catfish y pueda realizar la búsqueda de los archivos y carpetas. En mi caso la orden que uso es la siguiente:\ncatfish --path %f Si queremos que las búsquedas de catfish puedan distinguir entre mayúsculas y minúsculas deberemos usar la orden:\ncatfish --exact --path %f Si además queremos buscar ficheros de texto que en su interior contengan una determinada palabra podemos usar la siguiente orden:\ncatfish --fulltext --path %f Nota: El campo orden lo podemos modificar de la forma que queramos para adaptarlo a nuestras necesidades. Para ver las opciones del comando catfish pueden abrir una terminal y ejecutar el comando man catfish Campo Icono: Si queremos definir un icono para la acción personalizada clicamos encima del botón Sin icono. A continuación se abrirá una ventana en la que deberemos seleccionar el icono que queremos usar.\nUna vez cumplimentados los campos clicamos encima de la pestaña Condiciones de aparición. Finalmente destildamos la opción Archivos de texto, tildamos la opción Carpetas y presionamos el botón Aceptar.\nDemostración de como buscar archivos y carpetas con Thunar y Catfish Una vez definida la acción de búsqueda ya podemos buscar archivos en Thunar de forma sencilla.\nPara ello tan solo tienen que emular los pasos que pueden ver en el siguiente vídeo:\nhttps://www.youtube.com/watch?v=VMO4Byq_pCg\nOPCIÓN 2: BUSCAR ARCHIVOS EN THUNAR CON EL BUSCADOR DE PATRONES DE THUNAR En numerosas ocasiones he escuchado que el gestor de archivos Thunar no dispone de ningún buscador de archivos integrado y esto no es del todo cierto.\nThunar dispone de un buscador de archivos básico que en algunas situaciones nos puede resultar útil. Para usarlo tenemos que proceder de la siguiente forma.\nAbrimos el gestor de archivos justo en la ubicación en la que queremos realizar la búsqueda. Una vez dentro de la ubicación presionamos la combinación de teclas Ctrl+S y cuando aparezca la ventana de Seleccionar según patrón escribimos la palabra que estamos buscando que en mi caso es Firefox.\nPresionamos el botón Seleccionar y a continuación se seleccionarán la totalidad de archivos y carpetas que contienen la palabra Firefox.\nDemostración de como buscar archivos con el buscador integrado de Thunar Acabamos de ver un ejemplo de como podemos buscar archivos con el buscador que Thunar trae integrado de serie.\nA continuación veremos un vídeo en que se muestra otro ejemplo uso:\nhttps://www.youtube.com/watch?v=2QJZTzXxoxY\nLimitaciones del buscador de archivos de XFCE Obviamente el buscador de archivos que Thunar trae integrado tiene limitaciones importantes. Algunas de ellas son las siguientes:\nNo tiene capacidad de realizar búsquedas de forma recursiva. Por lo tanto este tipo de búsqueda únicamente será útil para buscar archivos y carpetas en la ubicación en que estamos. Este método de búsqueda distingue entre mayúsculas y minúsculas. Por lo tanto si no somos meticulosas a la hora de nombrar nuestros archivos tendremos dificultades cuando tengamos que buscarlos. Si la ubicación en la que estamos buscando contiene un número elevado de archivos y/o carpetas, se nos puede hacer difícil encontrar lo que estamos buscando. CONCLUSIONES Thunar no tiene nada que envidiar a ninguno de los gestores de archivos existentes en Linux.\nComo hemos visto a lo largo de este post, con Thunar podemos buscar archivos de forma flexible, efectiva y rápida.\nExisten más opciones para buscar archivos con Thunar que se basan en la creación de nuestro propios scripts. No obstante no mostraré ningún script porque lo único que haría es complicar la vida a la gente para obtener una peor experiencia de búsqueda.\n","permalink":"https://geeklandlinux.github.io/posts/buscar-archivos-en-thunar/","summary":"\u003cp\u003eEn contraposición a otros gestores de archivos, como por ejemplo Nautilus o Dolphin, Thunar aparentemente no trae incorporado un buscador de archivos de serie. No obstante a continuación veremos unas simples instrucciones que nos permitirán buscar archivos en Thunar de forma fácil y efectiva.\u003c/p\u003e","title":"Buscar archivos en Thunar de forma rápida y efectiva"},{"content":"El motivo de escribir sobre el proyecto internet archive es que se trata de un proyecto interesante y ambicioso que es bastante desconocido por el publico en general.\nLas cosas que todo el mundo debería saber sobre este interesante proyecto son las siguientes:\n¿QUÉ ES Y QUE OBJETIVOS TIENE INTERNET ARCHIVE? Internet archive es una biblioteca digital sin ánimo de lucro creada por Brewster Kahle en mayo de 1996.\nLos objetivos principales de esta biblioteca digital son los siguientes:\nGuardar una copia de la totalidad del contenido presente internet para que el contenido creado perdure en el tiempo y sea accesible para todo el mundo. Mantener la libertad en internet facilitando la circulación libre de la información. Conseguir una internet libre y abierto para todo el mundo facilitando de este modo el acceso universal al conocimiento. Actualmente está biblioteca digital es gestionada por una organización sin ánimo de lucro.\nNota: Brewster kahle no solo es conocido por ser el creador de Internet Archive. También será conocido por ser el creador de Alexa y del protocolo de búsqueda (WAIS) ¿QUÉ PODEMOS ENCONTRAR EN INTERNET ARCHIVE? En la biblioteca digital de Internet Archive podemos encontrar multitud de contenido. Ejemplos del contenido que podemos hallar son los siguientes:\nDistintas versiones de la misma página web para ver y analizar como ha ido evolucionando el diseño y contenido de una determinada página web con el paso del tiempo. Páginas web que han desaparecido porque han sido retiradas o porque han desaparecido por ser abandonadas por sus administradores. Libros digitales, manuales de usuarios, fotografías, imágenes, películas, revistas, videojuegos antiguos, emuladores de videojuegos antiguos, etc. Listas de contenidos almacenados en servicios externos como por ejemplo Google Books, etc. Todo el contenido ofrecido por Internet Archive dispone de licencia Creative Commons, o en su defecto dispone de una licencia que permite su distribución. Por lo tanto la totalidad de contenido que encontraremos respeta los derechos de autor.\nEn el caso que encuentren contenido privativo, o que en su día fuese privativo, será porque los voluntarios de Internet Archive han llegado a acuerdos con los propietarios de los derechos de autor.\nNota: A pesar de los intentos de ofrecer contenido que respete los derechos de autor, Internet Archive ha tenido problemas y denuncias de entidades y de periódicos como por ejemplo The New York Times. VOLUMEN DE INFORMACIÓN ALMACENADA EN INTERNET ARCHIVE La cantidad de contenido almacenado en esta librería es enorme y día tras día se va incrementando.\nSolo para hacernos una idea el volumen de información almacenada es del siguiente orden:\nMás de 400 billones de páginas web. 10 millones de textos que incluyen revistas como por ejemplo la mítica revista informática Byte, periódicos y más de 6 millones de libros almacenados en formato digital. Más de 3 millones de archivos de audio entre los que se incluyen más de 53,000 podcast, 13,000 audiolibros, conciertos de artistas conocidos como por ejemplo Smashing Pumpkins, etc. 1,2 millones de archivos de imagen debidamente clasificados por temática. Dentro de las imágenes podemos destacar un amplio surtido de fotografías perteneciente a la NASA o a nuestro sistema solar. 1,2 millones de archivos de vídeo en los que se encuentran películas, documentales, Vlogs, etc. Miles de juegos y Software antiguo como por ejemplo más de 15.000 juegos de MS-DOS, alrededor de 10,000 juegos de Spectrum, más de 500 juegos de Atari, etc. La totalidad de juegos se pueden jugar directamente desde el navegador sin necesidad de instalar ningún software adicional en nuestro ordenador. Etc. La recopilación de la totalidad de está información actualmente ocupa un tamaño de 20 petabytes.\nEsta cantidad irá subiendo progresivamente ya que este proyecto tiene la capacidad para realizar un millón de capturas de páginas web por semana.\nDespués de leer este apartado podríamos decir que Internet Archive es la biblioteca de Alejandría de nuestra época.\nNota: Las cifradas mostradas en este apartado corresponden al año 2016. MECANISMOS USADOS PARA AÑADIR CONTENIDO A LA LIBRERIA DIGITAL Día tras día el contenido de la librería se incrementa a través de los siguientes mecanismos:\nMediante arañas que rastrean la web para encontrar contenido nuevo para incorporar a la librería digital. Una vez la información esté almacenada la podremos consultar de forma sencilla con la herramienta Wayback Machine presente en la web de archive.org. Particulares, como por ejemplo nosotros mismos, pueden subir su propio contenido a la librería de forma gratuita. Alguno de los contenidos que se pueden subir son por ejemplo Vlogs, podcasts, etc. Mediante voluntarios y personal que se dedica a digitalizar libros y documentos de texto para almacenarlos en la librería. Nota: Internet archive se puede usar como un hosting de audio gratuito. De hecho existen varios podcasters que utilizan archive.org como hosting para poder almacenar y distribuir sus audios. ¿CÓMO SE MANTIENE VIVO EL PROYECTO? El proyecto se mantiene vivo gracias a distintas fuentes de ingresos. Algunas de ellas son las siguientes:\nLas donaciones de empresas y particulares como por ejemplo Google, Smithsonian Institute, etc. De la fortuna personal del creador de Internet archive. Brewster Kahle acumulo una gran fortuna con la venta de Alexa a Amazon y del protocolo WAIS a AOL. Mediante partnerships establecidas con terceros. Desde aquí animo a todo el mundo que se anime a contribuir a este interesante proyecto porque vale la pena.\n¿CÓMO PODEMOS CONSULTAR LA LIBRERÍA DE INTERNET ARCHIVE? Toda la información almacenada en la biblioteca digital se puede consultar y/o descargar a través de la siguiente página web:\nhttps://archive.org/index.php\nUna vez dentro de la página web de forma muy fácil e intuitiva podremos consultar y descargar el contenido que nos interese:\nSi además nos hacemos una cuenta de usuario podremos subir contenido, indicar como favoritos los contenidos que nos gustan y realizar nuestras propias colecciones de contenidos para que nos sea fácil acceder y consumir el contenido que nos gusta.\nSin duda es absolutamente recomendable que inviertan 10 minutos de su tiempo para visitar su web y ver la totalidad de opciones que nos ofrecen.\n¿POR QUÉ INTERNET ARCHIVE ES UN PROYECTO IMPORTANTE? Internet Archive es un proyecto de vital importancia porque la gran mayoría de contenido en Internet es efímero y si nadie lo almacena se perderá irremediablemente.\nSegún Brewster Kahle, la duración media del contenido que aparece en Internet son 100 días. A los 100 días es probable que el contenido de internet haya desaparecido o haya sido modificado/actualizado por sus administradores.\nPor lo tanto este proyecto contribuye de forma importante a que el contenido creado en la red perdure en el tiempo y que esté a disposición de absolutamente todo el mundo que lo quiera consultar.\nPor lo tanto es Internet Archive es un proyecto que fomenta que Internet sea libre y abierto y fomenta que el conocimiento y la cultura esté al alcance de prácticamente todo el mundo.\nAdemás Internet Archive esta llegando a acuerdos con Webs como la Wikipedia, Alexa y OCLC para que en caso que una de estas web tenga enlaces rotos se acceda a la versión del contenido almacenada en la librería Internet Archive\nNota: Con proyectos como Internet Archive, y otros similares, la gente tiene que ser consciente que lo que se publique en internet es para siempre. PREGUNTAS FRECUENTES SOBRE EL PROYECTO En el caso que tengan preguntas sobre el proyecto seguramente las puedan encontrar en su sección de preguntas frecuentes:\nhttps://archive.org/about/faqs.php\n","permalink":"https://geeklandlinux.github.io/posts/internet-archive-que-es-para-que-sirve/","summary":"\u003cp\u003eEl motivo de escribir sobre el proyecto internet archive es que se trata de un proyecto interesante y ambicioso que es bastante desconocido por el publico en general.\u003c/p\u003e\n\u003cp\u003eLas cosas que todo el mundo debería saber sobre este interesante proyecto son las siguientes:\u003c/p\u003e","title":"Internet Archive. ¿Qué es?, ¿Por qué es importante y para qué sirve?"},{"content":"Hace unas semanas publique un post detallando como usar el servicio VPN que trae incorporado de serie el navegador de escritorio de Opera. En esta ocasión veremos como podemos instalar y usar el servicio VPN para Android e iOS que nos ofrece.\nINSTALAR OPERA VPN PARA ANDROID Para empezar a utilizar el VPN para Android tan solo tenemos que instalar una App de la google Store.\nPara ello clicamos en el siguiente siguiente link:\nhttps://play.google.com/store/apps/details?id=com.opera.vpn\u0026amp;hl=es\nUna vez estén dentro de la Play Store presionan el botón Instalar y acto seguido se procederá a la instalación de la aplicación.\nINSTALAR OPERA VPN EN IOS Al igual que en Android tan solo tenemos que acceder a la App store e instalar una App.\nPara ello clicamos encima del siguiente link:\nhttps://itunes.apple.com/us/app/opera-free-vpn-unlimited-ad/id1080756781?mt=8\nUna vez dentro de la App Store clicamos encima del botón Obtener y después clicamos en el botón Instalar. A continuación introducimos nuestra contraseña de iTunes y se procederá a la instalación de la aplicación.\nINSTRUCCIONES USAR EL SERVICIO OPERA VPN Seguidamente veremos los pasos a seguir para usar el servicio VPN gratuito de Opera en Android y en iOS.\nNota: Las instrucciones que se mostrarán a continuación son para Android. El procedimiento en iOS es prácticamente el mismo. Activar el servicio VPN Abrimos la aplicación y presionamos encima del botón Conectar.\nEsperamos unos segundos y en el momento que aparezca una llave en el panel de nuestro Android podemos estar seguros que ya estamos conectados al servicio VPN.\nCambiar de ubicación del servicio VPN El servicio VPN nos conecta de forma automática al servidor VPN más cercano para ofrecernos el mejor rendimiento.\nNo obstante puede darse el caso que nos interese usar un servidor VPN ubicado en un determinado país para saltarnos una restricción geográfica.\nSi este es el caso, una vez conectados al servicio VPN tan solo tenemos que presionar el botón Cambiar Región.\nSeguidamente se abrirá una ventana en la que deberemos seleccionar la región del servidor VPN que queremos usar. Como en mi caso me interesa disponer de una IP Americana seleccionaré la opción Estados Unidos.\nAhora tan solo tenemos que esperar unos segundos y cuando se establezca la conexión dispondré de una IP Americana. Por lo tanto en estos momentos podré usar servicios, como por ejemplo Pandora, que únicamente están disponibles en Estados Unidos.\nBloquear los rastreadores publicitarios de internet El servicio VPN también nos permite bloquear los rastreadores publicitarios. Para ello tan solo tenemos que clicar en el símbolo del ojo tachado.\nA continuación aparecerá la siguiente ventana en la que únicamente tendremos que clicar encima de la opción Activar el Guardián.\nCARACTERÍSTICAS DEL SERVICIO VPN PARA ANDROID E IOS Algunas de las características del servicio VPN que podemos destacar son las siguientes:\nVelocidad del servicio VPN La velocidad y el rendimiento son más que sorprendentes para tratarse de un servicio VPN gratuito.\nEn mi caso si hago un test de velocidad antes de conectarme al servicio VPN obtengo los siguientes resultados:\nUna vez conectado al servicio VPN vuelvo a repetir el test obteniendo los siguientes resultados.\nSi comparamos los resultados obtenidos vemos que las velocidad de carga y descarga son inferiores a las iniciales. No obstante disponemos de una velocidad de descarga de 4,48 Mbps, una velocidad de subida de 0.3 Mbps y un ping de únicamente 185 ms.\nPor lo tanto para tratarse de un servicio VPN gratuito y multiplataforma los resultados son excelentes.\nGratuito e ilimitado Este servicio VPN es completamente gratuito e ilimitado. Por lo tanto podemos realizar un uso normal de nuestro teléfono sin preocuparnos del ancho de banda consumido por el servicio VPN.\nA pesar de ser un servicio ilimitado tenemos que tener cuidado con lo que hacemos. En el caso de detectarse un uso anormal del servicio VPN nos pueden bloquear el servicio.\nElección de 5 ubicaciones virtuales El servicio VPN nos permite seleccionar 5 IP’s diferentes ubicadas en distintas regiones. Las regiones que se incluyen son:\nAlemania Canadá Estados Unidos Holanda Singapur Esto nos permitirá que estando ubicados en España podamos acceder a servicios que por ejemplo únicamente están disponibles en Estados Unidos.\nNota: Es posible que en un futuro cercano se incremente el número de ubicaciones virtuales. Bloquea los rastreadores publicitarios de Internet Este servicio VPN no bloquea los anuncios publicitarios, pero si trae incorporado un bloqueador de rastreadores publicitarios.\nBloqueando los rastreadores publicitarios conseguiremos lo siguiente:\nLas empresas publicitarias no podrán generar un perfil personal con nuestros datos. Las compañías publicitarias no podrán obtener información sobre nuestros hábitos de navegación. Por lo tanto ninguna de las empresas publicitarias podrá saber las web que visitamos, los temas que nos interesan, que tipo de dispositivo estamos utilizando, el navegador que usamos, la resolución de pantalla de nuestro dispositivo, etc. Audita la seguridad de las redes Wifi La App audita la seguridad de las redes wifi a las que estamos conectados.\nEn el caso que la seguridad de la red Wifi a la que nos conectamos no sea la idónea, la App nos avisa y nos sugiere que usemos el servicio VPN de opera para protegernos.\nPersonalmente encuentro que esta característica es inútil y si pudiera desactivarla lo haría con mucho gusto.\nSegún mi humilde opinión el único fin de la auditoría es darte notificaciones para fomentar que uses su servicio VPN. Las comprobaciones realizadas para auditar la red Wifi son muy básicas y no es necesario disponer de ningún software para realizarlas. Nosotros mismos las podemos realizar aplicando el sentido común.\nVPN en toda regla Al contrario de lo que pasa con el navegador de escritorio, el servicio VPN para Android y para iOS es un servicio VPN en toda regla.\nCon esto simplemente quiero decir que el servicio VPN funcionará para absolutamente todas las aplicaciones que tengamos instaladas en nuestro dispositivo móvil.\nNota: Cabe recordar que el VPN del navegador de escritorio de Opera únicamente se puede utilizar cuando usamos el navegador Opera. Por lo tanto más que un VPN se trata de un proxy que nos ofrece una conexión segura. BENEFICIOS QUE PODEMOS OBTENER DE ESTE SERVICIO VPN En varios de las artículos escritos en este blog he citado las ventajas que proporcionan los servicios VPN. Quien esté interesado en consultar esta información puede visitar los siguientes enlaces:\nhttps://geeklandlinux.github.io/posts/activar-y-usar-vpn-gratuito-en-opera/\nhttps://geeklandlinux.github.io/posts/conectarse-a-un-servidor-vpn-gratis/\nCONCLUSIONES Con todas las características ofrecidas por este VPN podemos afirmar que estamos frente a uno de los mejores servicios VPN para Android y para iOS.\nEn caso que nos os convenza esta opción, en la tienda de aplicaciones de vuestra plataforma encontraréis opciones alternativas como por ejemplo TouchVPN.\nObviamente se trata de un servicio gratuito y por lo tanto imagino que intentarán monetizar su servicio mediante los anuncios que aparecen en la App y con los registro de nuestra actividad mientras usamos el servicio VPN.\n","permalink":"https://geeklandlinux.github.io/posts/vpn-para-android-ios-gratis-ilimitado/","summary":"\u003cp\u003eHace unas semanas publique un post detallando como usar el servicio VPN que trae incorporado de serie el navegador de escritorio de Opera. En esta ocasión veremos como podemos instalar y usar el servicio VPN para Android e iOS que nos ofrece.\u003c/p\u003e","title":"VPN para Android e iOS gratis e ilimitado con Opera"},{"content":"En este post instalaremos OpenSSH en nuestro iPad o iPhone y seguidamente veremos los pasos a seguir para conectarse a nuestro iPad o iPhone usando SSH.\nVENTAJAS DE USAR SSH EN UN IPAD O UN IPHONE Las ventajas que tendremos después de tener instalado SSH en nuestro sistema operativo iOS son las siguientes:\nNos ayuda a prescindir de iTunes. iTunes es un software que nunca me ha gustado y es realmente una pena que Apple te fuerce a realizar ciertas tareas a través de iTunes. ITunes es un jardín cerrado y su único fin es limitar a sus usuarios y vender. Podremos pasar información del ordenador al iPad o del iPad al ordenador sin ningún tipo de problema y sin ningún tipo de restricción. Además el tráfico entre ambos dispositivos estará cifrado y nádie lo podrá interceptar. Podremos conectar el iPad o el iPhone a cualquier ordenador o teléfono sin necesidad de usar ningún cable. El único requisito es que ambos equipos estén en la misma red Wifi. REQUISITOS PREVIOS Los requisitos básicos que tenemos que cumplir para poder seguir este tutorial son los siguientes:\nDisponer de un iPad, un iPhone o un iPod touch con el Jailbreak realizado satisfactoriamente. En el momento de conectarnos a nuestro dispositivo iOS con OpenSSH, los dispositivos que actúan como servidor o como cliente deben estar conectados a la misma red local. En el caso que quisiéramos hacerlo fuera de nuestra red local deberíamos disponer de una IP pública fija o usar un servicio de redireccionamiento DNS. CONFIGURAR UNA IP ESTÁTICA Para facilitar la conexión al iPad o al iPhone mediante SSH es recomendable disponer de una IP fija ya que de esta forma nuestro dispositivo siempre estará identificado dentro de nuestra red local.\nPara disponer de una IP fija lo único que tenemos que hacer es seguir los pasos que se detallan en el siguiente post:\nhttps://geeklandlinux.github.io/posts/asignar-una-ip-estatica-en-el-iphone-o-en-el-ipad/\nSi siguen al pie de la letra las instrucciones mencionadas en el post, nuestro dispositivo con iOS dispondrá de una IP estática que será la 198.168.1.18.\nINSTALAR OPENSSH EN EL IPAD Una vez disponemos de una IP fija ya podemos instalar OpenSSH.\nPara instalar OpenSSH tenemos que acceder a Cydia y buscar el paquete OpenSSH.\nUna vez encontrado el paquete tan solo tenemos que presionar el botón Instalar.\nSeguidamente aparecerá una ventana parecida a la siguiente en la que tendremos que presionar el botón Confirmar.\nDespués de presionar el botón confirmar se instalará OpenSSH en nuestro dispositivo.\nUna vez realizados todos los pasos ya estamos en condiciones de conectarnos vía SSH a nuestro dispositivo e introducir contenido a nuestro iPad o iPhone.\nCONECTARSE A UN IPHONE O IPAD MEDIANTE SSH EN LINUX Si queremos conectarnos a nuestro iPad o iPhone usando Linux lo podemos realizar de forma sumamente fácil.\nAbrimos nuestro gestor de archivos, que en mi caso es Thunar, y presionamos la combinación de teclas Ctrl + L.\nSeguidamente aparecerá la ventana Abrir ubicación en la que tenemos que escribir la siguiente dirección:\nssh://root@192.168.1.18 Muestra del comando para conectarse a nuestro iPad o iPhone\nEl significado de los parámetros introducidos en la ventana Abrir la ubicación es el siguiente:\nssh:// : Es el comando a usar para indicar que queremos realizar una conexión a un servidor ssh. root@192.168.1.18 : Es la dirección del dispositivo iOS al que nos queremos conectar. root es el nombre de usuario del dispositivo y 192.168.1.18 es la dirección IP del dispositivo. Como podéis observar la ip se trata de una IP interna. En caso de tener necesidad de acceder al dispositivo iOS desde fuera de la red local, deberemos sustituir la ip interna por la ip pública o por un dominio de redireccionamiento DNS. Una vez introducida la dirección presionaremos el botón Abrir y aparecerá la siguiente ventana:\nNota: Esta ventana solo aparecerá la primera vez que nos conectemos al iPad o iPhone mediante SSH. El motivo que aparezca es para prevenir conectarnos a un dispositivo malicioso y de esta forma evitar ataques man in the middle. Como estamos seguros que el dispositivo al que nos estamos conectando es a nuestro dispositivo presionamos el botón iniciar sesión de todas formas. Seguidamente aparecerá la siguiente ventana en la que deberemos introducir la contraseña de conexión:\nLa contraseña de conexión por defecto es alpine. Por lo tanto escribimos alpine y presionamos el botón Conectar.\nJusto después de presionar el botón podremos ver el contenido de nuestro dispositivo iOS en nuestro navegador de archivos.\nEn estos momentos de forma muy fácil y muy sencilla podemos transferir archivos de nuestro ordenador a nuestro dispositivo iOS o viceversa.\nCon un simple copiar y pegar en el gestor de archivos de nuestro ordenador podemos pasar películas, música o imágenes de nuestro ordenador a nuestro dispositivo iOS sin necesidad de usar iTunes.\nCONECTARSE A UN IPHONE O IPAD EN LINUX, MAC OS O WINDOWS Existe una solución para conectarnos a nuestro dispositivo con iOS válida para la totalidad de sistemas operativos de escritorio. Esta opción es usar el software Filezilla.\nInstrucciones para instalar Filezilla Para instalar Filezilla en Linux tenemos que abrir una terminal y ejecutar el siguiente comando:\nsudo apt-get install filezilla Después de ejecutar el comando el programa se instalará sin ningún tipo de problema.\nEn el caso de usar Windows pueden descargar el programa desde este enlace. Una vez descargado el ejecutable tan solo tienen que instalarlo tal y como lo hacen normalmente.\nSi usan Mac OS pueden descargar el programa desde este enlace. Una vez descargado el ejecutable tan solo tienen que instalarlo tal y como lo hacen habitualmente.\nNota: Para Windows existen versiones portables del Software Filezilla. Si buscan en Google las encontrarán sin problema alguno. Nota: El proceso de instalación en Linux es válidos para Debian y para la totalidad de distribuciones derivadas de Debian. Conectarnos a nuestro dispositivo iOS con Filezilla Abrimos Filezilla. Una vez abierto presionamos la combinación de teclas Ctrl+S para acceder al gestor de sitios.\nEn el gestor de sitios presionamos el botón Nuevo sitio.\nSeguidamente tenemos que dar un nombre al sitio nuevo que estamos configurando. Tal y como se puede ver en la captura de pantalla, en mi caso he decidido llamar el nuevo sitio iPad.\nDatos a introducir para conectarnos a nuestro iPhone o iPad A continuación tenemos que rellenar los datos de conexión en la pestaña General. En mi caso los datos usados para realizar la conexión son los siguientes:\nEn el campo servidor hay que introducir la dirección ip del dispositivo iOS que tiene instalado OpenSSH. Por lo tanto en nuestro caso deberemos introducir la ip 192.168.1.18 que es la ip estática que hemos configurado en apartados anteriores. En el caso que quisiera acceder al dispositivo estando ubicado fuera de mi red local, debería sustituir 192.168.1.18 por la ip pública o por un dominio de redireccionamiento DNS.\nEn el campo Puerto hay que introducir el puerto en el que el servidor SSH está escuchando las peticiones. En nuestro caso como estamos usando el puerto estándar lo dejamos en blanco.\nEn el campo Protocolo tenemos que seleccionar la opción SFTP – SSH File transfer Protocol porqué nos queremos conectar a un servidor SSH.\nEn el campo Modo de acceso aconsejo seleccionar la opción Preguntar contraseña. Si seleccionamos la opción preguntar contraseña, cada vez que nos conectemos al dispositivo iOS se nos preguntará la contraseña del usuario root.\nEn el campo Usuario tan solo tenemos que poner el nombre de usuario del dispositivo móvil en que hemos instalado OpenSSH. Por lo tanto en este caso el nombre de usuario es root.\nIntroducción de la contraseña para conectarnos al iPhone o al iPad Una vez rellenados los campos tan solo tenemos que presionar el botón Conectar. Justo en el momento de presionar el botón conectar aparecerá la siguiente ventana:\nEsta ventana solo aparecerá la primera vez que nos conectemos al iPad o al iPhone. El motivo que aparezca este mensaje es prevenir conectarnos a un dispositivo malicioso y de esta forma evitar ataques man in the middle.\nComo nuestra red local es segura y estamos seguros que el dispositivo al que nos estamos conectando es el nuestro presionamos el botón Aceptar.\nSeguidamente aparecerá la siguiente ventana en la que deberemos introducir la contraseña de conexión que por defecto que es alpine:\nUna vez introducida la contraseña presionamos el botón Aceptar y nos conectaremos a nuestro dispositivo sin ningún tipo de problema.\nEn estos momentos de forma muy fácil y muy sencilla podremos introducir lo que necesitemos dentro de nuestro iPad o iPhone. Podremos introducir películas, Música, Imágenes, Documentos de la suite ofimática que usamos, etc.\nCONEXIÓN A UN IPHONE O IPAD CON SSH USANDO ANDROID En el caso que queramos conectarnos a nuestro dispositivo iOS desde Android lo podemos realizar mediante el software ES Explorer.\nPara instalar ES explorer pueden consultar el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/extraer-archivo-apk-una-app-instalada/\nUna vez instalada la aplicación la abrimos y veremos la siguiente ventana:\nEn la pantalla inicial posicionamos el dedo en el centro de la pantalla y lo deslizamos de izquierda a derecha. Justo después de deslizarlo aparecerá la siguiente pantalla en la que deberemos presionar encima del icono Red.\nDespués de presionar el icono Red aparecerá la siguiente pantalla en la que deberemos presionar encima del icono Nuevo.\nSeguidamente aparecerá una ventana en la que debemos seleccionar la opción sftp.\nParámetros a introducir para conectarnos a nuestro dispositivo iOS Finalmente aparecerá la ventana para introducir los datos para conectarnos a nuestro iPhone, iPad o iPod touch.\nEn el campo Servidor hay que introducir la dirección ip del dispositivo iOS que tiene instalado OpenSSH. Por lo tanto en nuestro caso deberemos introducir la ip 192.168.1.18 que es la ip estática que hemos configurado en apartados anteriores. En el caso que quisiera acceder al dispositivo estando ubicado fuera de mi red local, debería sustituir 192.168.1.18 por la ip pública o por un dominio de redireccionamiento DNS.\nEn el campo Puerto hay que introducir el puerto en el que el servidor SSH está escuchando las peticiones. En nuestro caso como estamos usando el puerto estándar tenemos que introducir el puerto 22.\nEn el campo Nombre de usuario tenemos que poner el nombre de usuario del dispositivo móvil en que hemos instalado OpenSSH. Por lo tanto en este caso el nombre de usuario es root.\nEn el campo Contraseña tenemos que escribir la contraseña de conexión al servidor SSH que por defecto es alpine.\nFinalmente en el campo Mostrar como escribimos una palabra cualquiera para identificar la ubicación de red que estamos creando. En mi caso escribo ipad.\nUna vez rellenados la totalidad de campos hay que presionar el botón OK.\nUna vez presionado el botón OK, aparecerá una carpeta llamada iPad en las ubicaciones de red.\nPara conectarnos vía SSH a nuestro iPad tan solo tenemos que clicar encima de la ubicación de red con nombre ipad que hemos creado.\nJusto después de clicar en la ubicación de red podremos ver el contenido de nuestro dispositivo iOS en nuestro gestor de archivos.\nEn estos momentos, de forma muy fácil y muy sencilla, podemos transferir archivos de nuestro dispositivo Android a nuestro dispositivo iOS o viceversa.\nCAMBIAR LA CONTRASEÑA DE CONEXIÓN DE OPENSSH En los distintos apartados de este tutorial hemos visto que la contraseña por defecto para conectarnos a un dispositivo con iOS a través de OpenSSH es alpine.\nEs altamente recomendable cambiar esta contraseña ya que al ser la contraseña por defecto todo el mundo la conoce.\nPara cambiar la contraseña tenemos que seguir los siguientes pasos:\nInstalar la App iOS Terminal Primero tenemos que instalar la App iOS Terminal en nuestro dispositivo iOS. Para ello, tal y como se puede ver en la captura de pantalla, tenemos que acceder a Cydia y buscar el paquete iOS Terminal.\nUna vez encontrado lo instalamos presionando encima del botón Instalar.\nCambiar la contraseña del usuario mobile Una vez instala la aplicación la abrimos, escribimos la palabra passwd y presionamos la tecla INTRO.\nJusto en el momento de presionar INTRO nos preguntará que introduzcamos la clave actual del usuario mobile. Por lo tanto en nuestro caso teclearemos alpine y presionaremos la tecla INTRO.\nA continuación se nos pedirá que escribamos la nueva clave. Por lo tanto deberemos realizar las siguientes acciones:\nEscribir la nueva clave para el usuario mobile y presionar INTRO. Seguidamente tendremos que volver a repetir la clave que hemos escrito anteriormente y presionar la tecla INTRO de nuevo. En estos momentos ya hemos conseguido cambiar la contraseña por defecto del usuario mobile.\nA partir de ahora, siempre que nos conectemos vía SSH con el usuario mobile deberemos utilizar la nueva contraseña que acabamos de definir.\nCambiar la contraseña del usuario root Una vez hayamos cambiado la contraseña del usuario mobile tendremos que cambiar la clave del usuario root.\nPara ello en la terminal de iOS escribimos la palabra su y presionamos la tecla INTRO.\nJusto en el momento de presionar INTRO se nos pedirá que introduzcamos la clave de usuario root. Por lo tanto escribimos alpine y presionamos la tecla INTRO. Una vez realizadas estas acciones estaremos logueados como usuario root.\nA continuación escribimos el comando passwd y presionamos INTRO. Justo después de presionar Intro tendremos que realizar la siguientes acciones:\nEscribir la nueva clave para el usuario root y presionar INTRO. Seguidamente tendremos que volver a repetir la clave que hemos escrito en el punto 1 y presionar la tecla INTRO de nuevo. Una vez realizados estos pasos habremos cambiado la contraseña del usuario root.\nA partir de ahora siempre que nos conectemos vía SSH con el usuario root deberemos utilizar la nueva contraseña que acabamos de definir.\nPara finalizar les dejo una captura de pantalla donde observar la totalidad de pasos realizados en este apartado.\nPUNTOS A TENER EN CUENTA DE OPENSSH Una vez instalado SSH queda ejecutándose en segundo plano de forma permanente. En el caso que alguien le preocupe este hecho lo puede solucionar mediante el Tweak Sbsettings.\nEl Tweak Sbsettings dispone de un Toggle que nos permitirá activar y desactivar nuestro sevidor SSH de forma rápida y sencilla.\n","permalink":"https://geeklandlinux.github.io/posts/conectarse-al-iphone-o-al-ipad-con-ssh/","summary":"\u003cp\u003eEn este post instalaremos OpenSSH en nuestro iPad o iPhone y seguidamente veremos los pasos a seguir para conectarse a nuestro iPad o iPhone usando SSH.\u003c/p\u003e","title":"Conectarse al iPhone o al iPad con SSH en Android, Windows o Linux"},{"content":"Son muchas las personas que en los últimos años usan y hablan sobre la red Tor. No obstante la gran mayoría de ellos no sabría explicar que es ni como funciona. Por este motivo en el siguiente artículo explicaremos lo que es la red Tor y como funciona.\n¿QUÉ ES TOR? TOR es una sigla formada por las palabras “The Onion Router”. La traducción de la palabra The Onion Router vendría a ser enrutador cebolla.\nTOR no es más que un proyecto de software libre cuya función es hacer que las comunicaciones entre un cliente y un servidor se hagan mediante lo que se denomina el enrutamiento de cebolla.\nNota: En uno de los apartados de este artículo se explica de forma detallada el funcionamiento del enrutamiento de cebolla. Objetivos de la red TOR TOR originariamente fue creado por el ejercito de los Estados Unidos con fines militares a mediados de los años 90. Actualmente TOR es gestionado por un grupo de voluntarios que tienen los siguientes objetivos:\nPreservar la privacidad cuando navegamos por Internet. Mantener las comunicaciones anónimas y seguras. Asegurar la integridad de la información transmitida por Internet. Proteger la libertad de los usuarios de Internet. Evitar que pueda ser monitorizada y registrada nuestra actividad en Internet. Evitar la censura que determinados países aplican sobre sus ciudadanos. A pesar de las buenas intenciones de TOR hay que remarcar que también hay gente que utiliza la red TOR para actividades ilegales como por ejemplo:\nCompraventa de sustancias prohibidas. Compraventa de armas. Distribución pornografía infantil. Contratación de sicarios. Etc FUNCIONAMIENTO DE LA RED TOR Para comprender como funciona TOR primero tenemos que entender el funcionamiento del enrutamiento tradicional.\nFUNCIONAMIENTO DEL ENRUTAMIENTO TRADICIONAL Si nos conectamos a internet de forma habitual y queremos visitar una página web, se establecerán varias conexiones directas entre nuestro navegador y el servidor que aloja la página que web para poder obtener el contenido que queremos.\nAsí de este modo si nos queremos conectar a https://geeklandlinux.github.io/ nuestro navegador enviará directamente una petición al servidor de https://geeklandlinux.github.io/.\nCuando se reciba la petición, el servidor analizará el contenido de las cabeceras http (HTTP Headers) de nuestra petición para saber el contenido que tiene que proporcionar.\nSeguidamente el servidor nos responderá con otras cabeceras http (HTTP Headers) más el contenido que queremos visualizar o descargar.\nUna vez detallado el sistema de enrutamiento tradicional podremos ver que presenta varios problemas:\nEn muchas ocasiones la totalidad del proceso no incluye ningún mecanismo de cifrado. Por lo tanto un atacante podría interceptar y/o modificar el contenido que visualizamos o descargamos en nuestro ordenador. Aunque el servidor al que nos conectemos use https seguiremos teniendo problemas. El protocolo https no cifra las cabeceras http. Por lo tanto si un atacante intercepta nuestro tráfico no podrá ver su contenido, pero si podrá saber de donde vienen y donde van los datos interceptados. Para solucionar estos 2 problemas que acabamos de citar podemos usar el enrutamiento de cebolla que nos proporciona TOR.\nFUNCIONAMIENTO DEL ENRUTAMIENTO CEBOLLA Para entender bien el funcionamiento del enrutamiento de Cebolla lo podemos dividir en tres partes.\nLa primera parte consiste en el establecimiento de la ruta a seguir para poder obtener y/o enviar un contenido.\nLa segunda etapa será el proceso de cifrado de la totalidad de la información que queremos enviar y/o obtener.\nLa tercera y última etapa consistirá en ir descifrando de forma progresiva la totalidad de información que queremos enviar y/o obtener.\nSeguidamente explicaremos de forma detallada cada una de las etapas.\nEstablecimiento de la ruta en el enrutamiento de cebolla En la siguiente imagen podemos ver una representación gráfica de la ruta que se establece cuando usamos el enrutamiento de cebolla (The Onion Router).\nSupongamos que existe un Cliente (Client) que podemos ser nosotros y queremos conectarnos a un destino (Destination) que puede ser la página Web https://geeklandlinux.github.io/\nLo primero que observamos es que en este caso la conexión entre nuestro navegador y el servidor de destino no es directa. Existen multitud de puntos intermedios de conexión denominados nodos (Relays).\nNota: En la actualidad la red Tor dispone de aproximadamente 7000 nodos que son seleccionados de forma aleatoria. Cuanto mayor sea el número de nodos mayor será la privacidad ofrecida por Tor y su velocidad de navegación. Nota: Los nodos de la red TOR acostumbran a ser públicos y cualquiera de nosotros pueda crear y gestionar uno. Lo único que necesitamos es disponer de un software y de un buen ancho de banda en nuestra casa. Obtención del los nodos disponibles de la red tor En el momento que queremos conectarnos a una página web con el enrutado de cebolla, el primer paso que realizará el Software TOR de nuestro ordenador es conectarse a Internet para obtener el listado de la totalidad de nodos disponibles en la red.\nEl listado de nodos obtenidos será usado para crear una ruta de conexión aleatoria.\nConexión con el nodo de entrada Una vez obtenido el listado, el Software TOR seleccionará un nodo de entrada (Guard relay).\nA continuación el software TOR se conectará de forma segura con el nodo de entrada usando el protocolo TLS. Una vez establecida la conexión segura se creará una clave de sesión 1 entre el software TOR de nuestro ordenador y el nodo de entrada (Guard relay).\nConexión con los nodos intermedios Para extender la ruta, el software TOR de nuestro ordenador usará la clave de sesión 1 para cifrar un mensaje que enviará al nodo de entrada (Guard relay). Cuando el nodo de entrada reciba el mensaje lo descifrará y de está forma descubrirá el nodo intermedio (Middle Relay) al que se tiene que contactar.\nActo seguido el nodo inicial establece una conexión segura con el nodo intermedio mediante el protocolo TLS. Una vez establecida la conexión el nodo de entrada cifra un mensaje con la clave de sesión 1 en el que informa al software TOR que se ha establecido la conexión entre el nodo entrada y el nodo intermedio.\nAl llegar el mensaje del nodo entrada (Guard Relay) al Software Tor se descifra y al confirmarse la conexión entre nodos se establece una clave de sesión 2 entre el software Tor y el nodo intermedio (Middle Relay).\nConexión con el nodo de salida Finalmente el Software Tor selecciona un nodo de salida (Exit Relay). Una vez seleccionado el nodo se cifra esta información con la clave de sesión 1 y con la clave de sesión 2.\nEl mensaje que contiene el nodo de salida se envía desde el Software Tor al nodo de entrada. En el nodo de entrada se descifra parte del mensaje con la clave de sesión 1 y a posteriori se envía el al nodo intermedio.\nUna vez el mensaje llega al nodo intermedio se usa la clave de sesión 2 para descifrar totalmente el mensaje. Acto seguido el nodo intermedio establecerá una conexión segura con el nodo salida (Exit Relay) mediante el protocolo TLS.\nAl establecerse la conexión se informará de forma segura al Software Tor de nuestro ordenador que la conexión entre el nodo intermedio y el nodo de salida se ha establecido. Acto seguido se creará una clave de sesión 3 entre el software Tor y el nodo de Salida.\nFinalmente el nodo de salida de la red Tor será el encargado de contactar con el destino que en nuestro caso será https://geeklandlinux.github.io\nSeguidamente pueden ver una representación gráfica de todo el proceso que acabamos de comentar.\nUna vez definida la ruta ya podemos pasar a ver el procedimiento de cifrado usado por TOR.\nNota. Como medida de seguridad cada 10 minutos se establecerá una nueva ruta de conexión de forma automática. En los archivos de configuración de TOR podremos modificar este tiempo o si lo precisamos también podemos forzar que se establezca una ruta de forma manual. Método de cifrado de la red TOR Una vez establecida la ruta cifraremos la totalidad de contenido de nuestra petición.\nLa totalidad del contenido de nuestra petición estará cifrado mediante criptografía asimétrica. Su funcionamiento es el siguiente,\nAntes de entrar en el nodo de entrada la totalidad de nuestra información se cifra por capas del siguiente modo:\nNota: Procedimiento suponiendo que hay en nodo de entrada, un nodo intermedio y un nodo de salida. Se usa la clave pública del nodo de salida para cifrar la totalidad de contenido de nuestra petición. De esta forma añadimos una capa de cifrado y aseguramos que únicamente el último nodo podrá descifrar nuestro mensaje. Al mismo tiempo se usa la clave pública del nodo intermedio y de este modo se aplica una segunda capa de cifrado a nuestra petición. Finalmente se usa la clave pública del nodo de entrada para añadir una tercera capa de cifrado a nuestra petición. Una vez finalizada la etapa de cifrado nuestra petición entra en el nodo de entrada y empezará la transmisión y descifrado de nuestra petición.\nProceso de descifrado de nuestra petición Una vez seleccionada la ruta y cifrada la totalidad de nuestra información, TOR realizará las siguientes acciones:\nLa totalidad de información de nuestra petición y/o mensaje entra dentro del nodo de entrada. Usando la clave privada del nodo de entrada quitaremos la primera de las 3 capas de cifrado. Como el mensaje aún tiene dos capas de cifrado será completamente imposible que el nodo inicial pueda ver nuestro contenido. Seguidamente nuestra petición y/o mensaje se dirigirá al nodo intermedio. Allí usaremos la clave privada del nodo intermedio para quitar la segunda de las 3 capas de cifrado. Para finalizar en el nodo de salida se usará la clave privada del nodo de salida para quitar la última de las capas de cifrado de nuestra petición. Una vez nuestro mensaje está sin cifrar se procederá a la entrega de nuestra petición al servidor, y el servidor nos dará respuesta repitiendo de nuevo el procedimiento que acabamos de describir. Representación del proceso de descifrado del mensaje.\nBENEFICIOS OBTENIDOS AL USAR EL ENRUTADO CEBOLLA DE LA RED TOR Una vez conocemos el funcionamiento de la red TOR resulta fácil deducir que su uso implica lo siguiente:\nNinguno de los nodos conoce la ruta completa de nuestra petición. Únicamente conocen el nodo que les suministra nuestra petición y el nodo al que le envían nuestra petición. Este hecho es bueno para mejorar nuestra privacidad. Ninguno de los nodos, a excepción del nodo final, puede consultar el contenido o información que estamos enviando o recibiendo. Este es debido a que cada uno de los nodos va quitando una capa de cifrado y hasta que no llegamos al nodo de salida hay capas de cifrado. Nuestra petición o información tiene que pasar forzosamente por los nodos establecidos inicialmente. En caso contrario no se podrá descifrar nuestra petición y por lo tanto nunca obtendremos una respuesta del servidor. Cada uno de los nodos únicamente conoce la información que necesita saber que es la la clave privada para poder descifrar nuestra petición y el siguiente nodo en el que se tiene que enviar la información. Así de este modo aunque un nodo intermedio estuviera comprometido no pasaría absolutamente nada. Gracias a estos 4 puntos tenemos ciertas garantías que al usar la red TOR y el enrutado de cebolla podemos mejorar considerablemente nuestra privacidad en la red.\nPUNTOS DÉBILES DE LA RED TOR En la red TOR obviamente existen vulnerabilidades y puntos débiles como por ejemplo los famosos nodos de salida.\nA pesar de las vulnerabilidades y de los puntos débiles que puedan existir, en prácticamente la totalidad de casos existen métodos para intentar mitigar estos problemas.\nPara ello en el futuro escribiré un artículo en el que se detallarán los puntos más débiles de la red TOR y detallaremos las acciones podemos llevar a término para minimizar los riesgos.\nDe esta forma evitaremos que nuestra privacidad se pueda ver comprometida.\n","permalink":"https://geeklandlinux.github.io/posts/que-es-y-como-funciona-la-red-tor/","summary":"\u003cp\u003eSon muchas las personas que en los últimos años usan y hablan sobre la red Tor. No obstante la gran mayoría de ellos no sabría explicar que es ni como funciona. Por este motivo en el siguiente artículo explicaremos lo que es la red Tor y como funciona.\u003c/p\u003e","title":"¿Qué es y cómo funciona la red Tor para mejorar nuestra privacidad?"},{"content":"La semana pasada vimos varias razones por las cuales hoy en día no es recomendable usar Adobe Flash Player en nuestro ordenador. Una vez vistas las principales razones en este artículo veremos como podemos desinstalar flash de nuestro ordenador. De esta forma podremos evitar la totalidad de inconvenientes que en su día citamos.\nDESINSTALAR FLASH PLAYER DE NUESTRO ORDENADOR Si en vuestro caso no necesitáis Flash lo mejor que podéis hacer es desinstalarlo de vuestro sistema operativo. Para ello tan solo tienen que seguir los siguientes pasos.\nDesinstalar Flash Player en Linux El método para desinstalar Flash variará en función de la distribución Linux que usemos.\nNota: Los comandos de desinstalación que mostraremos a continuación funcionarán en el caso que hayan usado los métodos tradicionales para la instalación del plugin de Flash. Desinstalar Flash Player en Ubuntu En el caso que usen Ubuntu, Linux Mint o cualquier distribución derivada de Ubuntu tienen que abrir una terminal y ejecutar el siguiente comando:\nsudo apt-get remove --purge adobe-flashplugin flashplugin-installer pepperflashplugin-nonfree Una vez ejecutado se procederá a la desinstalación de los posibles plugin de Flash que tengamos instalados.\nDesinstalar Flash Player en Debian Si usan Debian o distribuciones derivadas de Debian deberán desinstalar el Plugin ejecutando el siguiente comando en la terminal:\nsudo apt-get remove --purge flashplugin-nonfree pepperflashplugin-nonfree browser-plugin-freshplayer-pepper flash flashplayer-mozilla Justo después de ejecutar el comando se procederá a la desinstalación de cualquiera de los plugin de flash que tengamos instalados en nuestro ordenador.\nDesinstalar Flash Player en ArchLinux Los usuarios que usen Archlinux o distribuciones derivadas de Archlinux deberán ejecutar el siguiente comando en la terminal:\nsudo pacman -Rs flashplugin pepper-flash Al ejecutar el comando desinstalarán el plugin oficial de Flash y/o el plugin de pepper-flash.\nDesinstalar Flash Player en Fedora Finalmente si usan Fedora o distribuciones derivadas de Fedora deberán ejecutar el siguiente comando en la terminal:\nsudo dnf remove flash-plugin chromium-pepper-flash Después de haber ejecutado el comando deberíamos haber eliminado todo rastro de los plugins de Flash instalados en nuestro ordenador.\nDesinstalar Flash Player en Windows En el caso de usar Windows nos tenemos que dirigir al menú de Programas y características. Para ello presionamos el botón de Windows y en la barra de búsqueda escribimos cambiar o quitar un programa.\nUna vez escrito clicamos encima de la opción Cambiar o quitar un programa para acceder al menú de programas y características.\nEn el menú de programas y características buscamos la opción Adobe Flash Player, la seleccionamos y presionamos encima del botón Desinstalar.\nA continuación aparecerá la siguiente ventana en la que tenemos que clicar en el botón Desinstalar.\nFinalmente después de presionar el botón se procederá a la desinstalación obteniendo el siguiente resultado.\nDESHABILITAR EL PLUGIN FLASH DE CHROME Aunque desinstalamos Flash de nuestro ordenador tenemos que tener presente que hoy en día Google Chrome trae el plugin de Flash integrado.\nPara inhabilitarlo tenemos abrir el navegador y en la barra de direcciones introducimos la siguiente dirección:\nchrome://settings/content Una vez introducida la dirección presionamos la tecla Enter y aparecerán la totalidad de plugins que tenemos instalados en Chrome.\nBuscamos el plugin de Flash, clicamos sobre el y a continuación destildamos la opción Preguntar antes (recomendado).\nOPCIONES ALTERNATIVAS En el presente artículo hemos visto los pasos a seguir para desinstalar flash. No obstante es posible que haya personas que aún necesiten usar Flash.\nPara ello en las próximas semanas escribiré un artículo en el que mostraré distintos métodos existentes para que Flash solo se ejecute cuando nosotros le demos permiso.\n","permalink":"https://geeklandlinux.github.io/posts/desinstalar-flash-player-ordenador/","summary":"\u003cp\u003eLa semana pasada vimos varias \u003ca href=\"/posts/motivos-bloquear-flash-player-navegador/\"\u003erazones por las cuales hoy en día no es recomendable usar Adobe Flash\u003c/a\u003e Player en nuestro ordenador. Una vez vistas las principales razones en este artículo veremos como podemos desinstalar flash de nuestro ordenador. De esta forma podremos evitar la totalidad de inconvenientes que en su día citamos.\u003c/p\u003e","title":"Desinstalar Flash Player de nuestro ordenador en Linux y en Windows"},{"content":"Desde la versión 40 Opera trae incorporado de serie un servicio VPN gratuito. Esto hace que Opera sea el primer navegador Web en traer un servicio VPN de forma nativa.\nNota: Si quieren saber que es un servicio VPN pueden consultar el siguiente enlace. Para activar el servicio VPN de Opera tenemos seguir los siguientes pasos:\nCONSULTAR NUESTRA IP INICIAL Para ver nuestra IP inicial accedemos a la siguiente página web:\nhttp://www.vermiip.es/\nDespués de acceder a ella podemos ver que nuestra IP actual es la siguiente:\nUna vez sabemos nuestra IP pública real activaremos el servicio VPN.\nCuando el servicio VPN esté activado nuestra IP Pública será diferente a la que hemos obtenido en este apartado.\nACTIVAR EL SERVICIO VPN GRATUITO DE OPERA EN NUESTRO ORDENADOR En primera instancia abrimos el navegador Opera.\nNota: En el caso que no tengan el navegador Opera instalado pueden seguir las instrucciones del siguiente enlace para instalarlo. A continuación accedemos a la configuración del navegador presionando encima del botón Menú y clicando encima de la opción Configuración.\nNota: También podemos acceder a la configuración del navegador presionando la combinación de teclas ALT+P. Seguidamente en el panel lateral ciclamos en el apartado Privacidad y seguridad y buscamos la opción VPN. Una vez encontrada la activamos clicando encima de la casilla Activar la VPN.\nUna vez activado el servicio VPN aparecerá un botón azul en la barra de direcciones en que pone VPN. Lo presionamos y en el menú que aparecerá podremos seleccionar la ubicación geográfica del servicio VPN que queremos usar. En mi caso selecciono Estados Unidos.\nNota: Si no es importa la ubicación del servicio es mejor seleccionar la opción Ubicación óptima porque la velocidad de navegación será superior. Una vez realizados estos pasos ya estamos usando el servicio VPN gratuito de Opera.\nCOMPROBAR QUE ESTAMOS USANDO EL SERVICIO VPN DE OPERA Una vez activado y configurado el VPN podemos volver a comprobar nuestra IP Pública.\nPor lo tanto al igual que que hicimos en el inicio de este artículo accedemos de nuevo a la siguiente página web:\nhttp://www.vermiip.es/\nTal y como se puede ver en la captura de pantalla ahora la IP es diferente a la del inicio del artículo. Por lo tanto ahora tenemos la seguridad que estamos conectados al servicio VPN.\nDESACTIVAR EL VPN DE FORMA FÁCIL En el momento que queramos desactivar el servicio VPN para navegar de forma normal lo podemos de forma muy fácil.\nPulsamos el botón VPN de color azul ubicado en la barra de direcciones y al abrirse el menú presionamos encima del botón Activada.\nDespués de presionar el botón ya no estaremos conectados al servicio VPN y podremos navegador de forma habitual.\nCARACTERÍSTICAS DEL SERVICIO VPN GRATUITO OFRECIDO POR OPERA El servicio VPN de Opera es prestado por la empresa SurfEasy.\nNota: La empresa SurfEasy pertenece a Opera desde Octubre de 2015. A grandes rasgos las condiciones que a día de hoy ofrece esta empresa son las siguientes:\nEl servicio VPN que se ofrece es completamente ilimitado y Gratis. No existe ningún límite de consumo de datos. No obstante si se detecta un uso anormal se nos puede suspender el servicio. Es gratuito y no es necesario tener que realizar ninguna suscripción ni crear ninguna cuenta para usarlo. Con tan solo un par de clics podemos activar y usar el servicio VPN. Aunque personalmente no me lo creo dicen que no guardan logs de las IP conectadas al servicio VPN. En su política de privacidad se especifica claramente que en el caso que una autoridad requiera información sobre sus usuarios se la van a proporcionar. Por lo tanto es claro que este servicio recopila datos de nuestro uso. Obviamente este servicio no es para realizar actividades ilícitas. En el momento que se detecte que estamos realizando algo fuera de lo común nos suspenderán el servicio. El servicio VPN es para uso personal. No está autorizado su uso para fines comerciales. VENTAJAS Y USOS QUE PODEMOS DAR AL SERVICIO VPN GRATUITO DE OPERA Algunos de vosotros os preguntaréis las utilidades que puede tener el hecho de poder usar un servicio VPN.\nAlgunas de las utilidades que le podemos dar son las siguientes:\nCon el servicio VPN de Opera ya no será necesario buscar extensiones y servicios de dudosa reputación para poder usar un servicio VPN. Podremos navegar de forma segura cuando estemos usando una red Wifi abierta en un sitio que no es confiable. Cuando naveguemos a través de un servicio VPN la totalidad de nuestro tráfico está cifrado y por lo tanto nadie podrá podrá interceptar nuestro tráfico. Tendremos la posibilitad de acceder a servicios que están bloqueados geográficamente como por ejemplo Pandora. La totalidad de nuestro tráfico estará cifrado. Por lo tanto nuestro proveedor de Internet no tendrá forma de saber a las páginas que hemos visitado. Por la misma razón que en el punto 4, nadie perteneciente a nuestra red local podrá interceptar nuestro tráfico y ver lo que estamos haciendo. Navegar de forma relativamente “anónima” ya que en todo momento estaremos ocultando nuestra IP real. Para saltarse el bloqueo de proxys y firewalls corporativos. De está forma podemos internar acceder a páginas web que bloquean los administrados de sistemas de algunas empresas. En el caso que quieren detallar algún uso adicional del servicio VPN lo pueden hacer a través de los comentarios de este artículo.\nPUNTOS A TENER EN CUENTA DEL SERVICIO VPN DE OPERA Al usar el servicio VPN de Opera hay una serie de puntos que hay que tener muy en cuenta.\nEl primero de ellos es que el servicio VPN únicamente lo podemos usar a través del navegador Opera. Los otros programas de nuestro ordenador no se podrán servir del servicio VPN. Por lo tanto más que un servicio VPN es un proxy que cifra nuestro tráfico.\nLa empresa que proporciona el servicio VPN registra y almacena nuestra actividad. Por lo tanto en términos de privacidad no es el servicio VPN ideal.\nComo todo servicio VPN la seguridad radica en las intenciones que tiene la empresa que nos proporciona el servicio. En este caso el servicio nos los ofrece Opera que en principio es una empresa con recursos y seria. Por lo tanto en mi caso pienso que es un servicio en el que podemos confiar.\n¿PODEMOS USAR EL SERVICIO VPN DE OPERA EN ANDROID Y EN IOS? El servicio VPN de Opera también lo podemos usar en iOS y en Android. Para ello tan solo tiene que seguir las instrucciones que encontrarán en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/vpn-para-android-ios-gratis-ilimitado/\n","permalink":"https://geeklandlinux.github.io/posts/activar-y-usar-vpn-gratuito-en-opera/","summary":"\u003cp\u003eDesde la versión 40 Opera trae incorporado de serie un servicio VPN gratuito. Esto hace que Opera sea el primer navegador Web en traer un servicio VPN de forma nativa.\u003c/p\u003e","title":"Activar y usar el servicio VPN gratuito en el navegador Opera"},{"content":"Hace años en que se comenta que Flash va a desaparecer, pero la verdad es que no acaba de desaparecer y no hace muchos días acaban de sacar una nueva versión Beta para Linux después de 4 años en que solo se limitaban a sacar actualizaciones de seguridad. Por este motivo en el siguiente post detallaré los motivos por los que todos los usuarios debería bloquear Flash en su navegador.\nMOTIVOS PARA BLOQUEAR FLASH PLAYER EN NUESTRO ORDENADOR A pesar que Adobe haya tomado la decisión de seguir adelante con Flash, lo mejor que podríamos hacer todos es desinstalarlo o intentar limitar su uso.\nLos motivos para realizar tal afirmación son los siguientes:\nFlash supone un riesgo de seguridad muy importante Usar Flash sin duda es un riesgo para la seguridad de la totalidad de internautas. Es una tecnología obsoleta y vulnerable.\nLos motivos principales para realizar esta afirmación son:\nEs una aplicación en la que se acostumbran a detectar numerosas vulnerabilidades de seguridad. Prácticamente la totalidad de vulnerabilidades de seguridad existentes son graves o muy graves. Se trata de una tecnología obsoleta que fue creada hace demasiados años. Análisis de las vulnerabilidades de Adobe Flash Player Para demostrar lo que acabo de citar tan solo tenemos que acceder a la siguiente página web:\nhttps://www.cvedetails.com/cvss-score-charts.php?product_id=6761\u0026amp;fromform=1\nUna vez dentro de la página web podrán observar el número de vulnerabilidades de Adoble Flash Player detectadas durante el periodo de tiempo que nosotros seleccionemos:\nSi analizamos las vulnerabilidades de Adobe Flash durante el último año podemos ver lo siguiente:\nSe han detectado un total de 350 vulnerabilidades. De las 350 vulnerabilidades 305 son de una severidad extrema. Por lo tanto podemos afirmar que existe un gran número de vulnerabilidades y que prácticamente la totalidad de vulnerabilidades que se detectan son muy severas.\nAlgunas de las consecuencias de las vulnerabilidades de Flash son las siguientes:\nPosibilidades que alguien acceda a nuestro equipo de forma remota. Que un atacante nos pueda realizar un ataque de denegación de servicio (DOS). Que alguien pueda ejecutar código malicioso en nuestro ordenador de forma remota. Posibilidad que un atacante pueda instalar software malicioso en nuestro ordenador. Un atacante puede tomar el control de ciertos dispositivos enchufados a nuestro ordenador y realizar cualquier acción con ellos. Podemos sufrir un robo de credenciales como por ejemplo usuarios, contraseñas, número de cuentas bancarias, etc. Etc. Esto hace que los hackers con malas intenciones se focalicen en generar virus y malware para explotar las vulnerabilidades existentes de Flash. Por lo tanto visto lo visto todo el mundo debería bloquear flash en su navegador.\nComparación de las vulnerabilidades de Flash Player con Google Chrome Una vez vistos los resultados de Adobe Flash podemos consultar los resultados de otro programa como Google Chrome y realizar una simple comparación.\nSi observamos la imagen vemos que el número de vulnerabilidades detectadas en Google Chrome es bastante inferior a las de Adobe Flash Player. Además en Google Chrome las vulnerabilidades detectadas únicamente tienen una severidad media.\nPor lo tanto después de ver este apartado creo que a todo el mundo le debería quedar claro que instalar y usar Adobe Flash Player supone un riesgo de seguridad importante.\nFlash no es una tecnología eficiente Otra de las razones para bloquear Flash es que es una tecnología poco eficiente porque para realizar sus funciones consume gran cantidad de potencia de procesamiento y memoria RAM.\nEsto básicamente ocasiona los siguientes problemas:\nDesaprovechamos los recursos de nuestro ordenador. Flash drena la batería de nuestro ordenador o dispositivo móvil. Componentes como la CPU se calientan en exceso y a largo plazo esto puede ocasionar que se reduzca la vida de nuestro ordenador. Por lo tanto al bloquear Flash obtendremos una navegación más rápida y consumiremos menos recursos. Esta mejora de rendimiento será especialmente visible en el caso que usemos ordenadores poco potentes.\nOtras tecnologías, como por ejemplo html5, pueden realizar las mismas funciones que Flash de forma mucho más eficiente y segura. Este es uno de los principales motivos por los que Flash está abocado a la desaparición.\nHoy en día prácticamente nadie usa Flash En la actualidad prácticamente nadie utiliza tecnología Flash para crear sitios web. Los motivos para ello son los siguientes:\nGoogle no valora positivamente las páginas web que usan tecnología Flash. Por lo tanto cualquier web seria que pretenda estar bien posicionada en Google no usará Flash. En entornos móviles la tecnología Flash es prácticamente inexistente. Tanto en iOS como en Android hace tiempo que no hay soporte para Flash. A pesar de esto en Android si nos buscamos la vida podemos llegar a reproducir contenido Flash de forma relativamente fácil. En la mayoría de ocasiones la tecnología Flash se utiliza simplemente para insertar publicidad en las páginas web. Grandes empresas como Google y Apple, o grandes fundaciones como Mozilla hace tiempo que han dado la espalda a Flash. En Apple y en Android Flash no existe, en Youtube la totalidad de vídeos se reproducen mediante tecnología html5 y en Firefox a partir del 2017 Firefox vendrá desactivado de serie. Por lo tanto en prácticamente la totalidad de casos podremos navegar sin el plugin de adobe Flash instalado y no notaremos absolutamente ninguna molestia.\nA pesar de los comentarios realizados hasta el momento cabe decir que aún existen casos en que algunas personas podrían echar de menos a Flash. Algunas de estas situaciones son las siguientes:\nPrácticamente la totalidad de videojuegos antiguos usan Flash. Por lo tanto a las personas que juegan a este tipo de juegos necesitaran usar Flash. Hoy en día aun existen ciertos servicios web, como por ejemplo Spotify web, que aún necesitan Flash para poder funcionar. Flash consume nuestro ancho de banda y la batería de un dispositivo móvil El consumo de memoria RAM y de procesamiento de Flash es elevado.\nEsto hace que el consumo de batería en dispositivos móviles y en ordenadores portátiles sea muy elevado.\nAdemás muchas páginas web incluyen audio y vídeos con autoreproducción que al reproducirse lo único que hacen es molestarnos y consumir nuestro ancho de banda.\nFlash es una tecnología obsoleta Flash nació en el año 1996 y entre los años 2000 y 2010 Flash fue la herramienta de referencia para crear contenido web interactivo y reproducir vídeo en páginas web.\nNo obstante hoy en día existentes alternativas técnicamente mejores y más seguras que Flash como por ejemplo las siguientes:\nHTML5 Silverlight Swfdec GNU Gnash Lightspark COMO SOLUCIONAR LOS INCONVENIENTES GENERADOS POR FLASH Para eliminar o minimizar los problemas descritos en este artículo disponemos de 2 soluciones.\nDesinstalar completamente Adobe Flash Player. Desinstalar o bloquear Flash Player para que únicamente lo usemos cuando nosotros le demos permiso. En las próximas semanas escribiré un artículo en el que se detallará de forma precisa como podemos eliminar o minimizar los problemas generados por Flash.\n","permalink":"https://geeklandlinux.github.io/posts/motivos-bloquear-flash-player-navegador/","summary":"\u003cp\u003eHace años en que se comenta que Flash va a desaparecer, pero la verdad es que no acaba de desaparecer y no hace muchos días acaban de sacar una nueva versión Beta para Linux después de 4 años en que solo se limitaban a sacar actualizaciones de seguridad. Por este motivo en el siguiente post detallaré los motivos por los que todos los usuarios debería bloquear Flash en su navegador.\u003c/p\u003e","title":"Motivos para bloquear Flash player en nuestro navegador"},{"content":"La semana pasada vimos como configurar el comando sudo en GNU/Linux. A raíz de esto veremos cual es la forma adecuada para abrir aplicaciones gráficas con privilegios de usuario root.\n¿POR QUÉ NO ES ACONSEJABLE USAR SUDO PARA ABRIR APLICACIONES CON PRIVILEGIOS DE USUARIO ROOT? La gran mayoría de lectores abren sus aplicaciones con permisos de usuario root ejecutando un comando del siguiente tipo en la terminal:\nsudo nombre_del_programa El programa se abrirá sin problema alguno y lo podremos usar, pero no es la forma ideal de hacerlo.\nSi usamos sudo para abrir aplicaciones gráficas con privilegios de usuario root nos podemos encontrar con los siguientes problemas:\nSudo puede utilizar y modificar archivos de configuración del usuario estándar Cuando ejecutamos una aplicación gráfica con sudo estamos abriendo la aplicación como usuario root, pero también damos la posibilidad que este programa este usando ciertos archivos de configuración almacenados en nuestra propia home.\nEste hecho puede ocasionar que se cambien permisos de ciertos archivos del programa ubicados en nuestra home (~/) pudiendo llegar a causar los siguientes problemas:\nUn programa deja de abrirse al trabajar con nuestro usuario. Ciertas funcionalidades de un programa tienen un comportamiento anómalo como por ejemplo que no se carguen las extensiones de nuestro navegador. No podemos abrir un determinado archivo con nuestra cuenta de usuario normal. Etc. Para evitar este y otros posibles inconvenientes les recomiendo seguir las siguientes indicaciones para abrir aplicaciones gráficas como usuario root.\nNota: Las posibilidades de tener problemas al abrir aplicaciones gráficas con sudo son pocas, no obstante siempre es sensato minimizar los riesgos. COMO ABRIR APLICACIONES CON PRIVILEGIOS DE USUARIO ROOT Para abrir aplicaciones gráficas con permisos de usuario root debemos usar los comandos gksudo, kdesudo y beesu.\nNota: Deberemos aplicar un comando u otro en función de nuestro entorno de escritorio y/o la distribución que usamos. Al usar los comandos mencionados evitaremos los problemas que acabamos de citar.\nPor lo tanto si aplicamos un comando del tipo:\ngksudo nombre_del_programa Conseguiremos abrir el programa como usuario root y además podemos estar seguros que estaremos usando la configuración del usuario root almacenada en la ubicación /root.\nDe este modo tenemos la total seguridad que no se modificaran los permisos de ninguno de los archivos de configuración de nuestra partición home (~/).\nAbrir programas como usuario root En Gnome, Xfce, Lxde, Mate, Cinnamon y Openbox En los escritorios de Gnome, XFCE, LXDE, Mate, Cinnamon y Openbox tenemos que seguir los siguientes pasos para poder abrir programas con privilegios de administrador.\nPara empezar instalamos el paquete gksu ejecutando el siguiente comando en la terminal:\nsudo apt-get install gksu Una vez instalado el paquete gksu ya podemos abrir programas con privilegios de administrador. Para ello tan solo tenemos que abrir una terminal y ejecutar el comando gksu seguido del nombre del programa que queremos abrir.\nPor lo tanto si queremos abrir el gestor de archivos nautilus con permisos de usuario root tenemos que ejecutar el siguiente comando en la terminal:\ngksudo nautilus Una vez ejecutado se abrirá el gestor de archivos sin ningún tipo de problema.\nAbrir programas como usuario root en KDE Si pretenden abrir aplicaciones gráficas con permisos de usuario root en KDE tienen que asegurarse de tener instalado el paquete kdesu.\nPara ello ejecutamos el siguiente comando en la terminal:\nsudo apt-get install kdesu Nota: Si vuestra distro no usa el gestor de paquetes apt-get deberán modificar el comando que acabamos de ejecutar. Una vez instalado el paquete ya seremos capaces de lanzar cualquier programa con interfaz gráfica con privilegios de administrador.\nDe este modo si queremos abrir dolphin con privilegios de administrador tan solo tenemos que ejecutar el comando kdesudo seguido del nombre del programa que en este caso es dolphin:\nkdesudo dolphin Justo después de ejecutar el comando se abrirá dolphin y dispondremos de privilegios de administrador.\nAbrir programas con entorno gráfico y permisos de administrador en Fedora y en distro derivadas de Fedora En Fedora ninguno de los comandos anteriores nos funcionará. En Fedora tenemos que usar beesu.\nPara instalar beesu abrimos una terminal y ejecutamos el siguiente comando:\nsudo dnf install beesu Una vez instalado beesu ya podremos abrir cualquier aplicación con entorno gráfico disponiendo de privilegios de administrador.\nPara ello tan solo tenemos que ejecutar el comando beesu seguido del programa que queremos abrir como usuario root que en mi caso es gedit:\nbeesu gedit Al ejecutar el comando se abrirá gedit con permisos de administrador.\nCREAR UN LANZADOR PARA ABRIR UN DETERMINADO PROGRAMA COMO USUARIO ROOT En la totalidad de apartados anteriores hemos abierto aplicaciones gráficas como usuario root usando la terminal.\nSi hay algún programa que usamos a menudo y queremos crear un lanzador para abrirlo directamente sin tener que usar la terminal lo podemos hacer de la siguiente forma:\nComo primer paso ejecutamos el siguiente comando en la terminal:\ngksudo thunar /usr/share/applications Al ejecutar el comando se abrirá el gestor de archivos en el que podremos ver prácticamente la totalidad de archivos .desktop de los programas instalados en nuestro ordenador.\nNota: Si en la ubicación /usr/share/applications no encuentran el archivo .desktop que están buscando pueden usar catfish para realizar una búsqueda con el término *.desktop. Otra ubicación en la que también se acostumbran a almacenar archivos .desktop es la ~/.local/share/applications/ Buscamos el programa que queremos abrir como usuario root y lo copiamos.\nUna vez copiado lo pegamos en la misma ubicación.\nSeguidamente renombramos el archivo que acabamos de pegar con el nombre que nosotros queramos. En mi caso lo renombro como Gestor de archivos Thunar ROOT\nA continuación abrimos el archivo .desktop que acabamos de renombrar con un editor de textos.\nUna vez se abra el editor de textos buscamos la línea que empieza por la palabra Exec.\nUna vez encontrada añadimos gksudo, kdesudo o beesu después del símbolo =\nNota: Deberemos añadir gksudo, kdesudo o beesu en función del entorno de escritorio y/o distro que estemos usando. Como en mi caso estoy usando el entorno XFCE pasaré de tener la siguiente línea:\nExec=thunar %F a tener la siguiente:\nExec=gksudo thunar %F Una vez realizados todos los pasos tan solo tenemos que guardar los cambios y el proceso a finalizado.\nEn estos momentos si nos dirigimos al menú de nuestra distro podremos ver el lanzador que acabamos de crear.\nSi clicamos encima del lanzador se abrirá el gestor de archivos thunar con privilegios de usuario root.\nOPCIONES ADICIONALES DE LOS COMANDOS GKSUDO, KDESUO Y BEESU Los comandos gksu, kdesu y beesu no únicamente sirven para abrir programas y aplicaciones con permisos de usuario root.\nEstos comandos también sirven para ejecutar y usar programas en nombre de cualquier usuario que tengamos creado en nuestro equipo.\nAsí por lo tanto si queremos generar un archivo de texto en nombre de un usuario llamado martin podemos ejecutar los siguientes comandos:\nEn Gnome, Xfce, Lxde, Mate, Cinnamon y Openbox:\ngksudo -u martin mousepad En Kde:\nkdesudo -u martin kate En Fedora:\nbeesu -l -P \u0026#39;gedit\u0026#39; martin Además estos comandos acostumbran a disponer de una interfaz gráfica para intentar facilitar su uso. Si abrimos una terminal y ejecutamos el comando gksu, kdesu o beesu se nos abrirá una interfaz gráfica parecida a la siguiente:\nCon está interfaz podremos Abrir programas y usar parte de las funcionalidades de gksu, kdesy y beesu de forma más sencilla.\nPara más información sobre estos comandos pueden consultar las páginas man de su distribución.\nCONCLUSIONES Las conclusiones que tenemos que sacar de este artículo son las siguientes:\nPara abrir aplicaciones gráficas con permisos de usuarios root tenemos que hacerlo con gksudo, kdesudo o beesu. Para abrir programas que se ejecutan en la terminal con privilegios de administrador tenemos que usar el comando sudo. Si aplicamos estas simples reglas evitaremos tener problemas con los permisos de nuestros archivos.\nEn el caso que decidan no seguir este simple consejo no tiene porque pasar nada. En el 99,9% de casos que abran aplicaciones gráficas con sudo no pasará absolutamente nada, pero siempre existen una pequeña posibilidad que se cambien los permisos de nuestros archivos.\n","permalink":"https://geeklandlinux.github.io/posts/abrir-aplicaciones-graficas-como-root/","summary":"\u003cp\u003eLa semana pasada vimos como configurar el comando sudo en GNU/Linux. A raíz de esto veremos cual es la forma adecuada para abrir aplicaciones gráficas con privilegios de usuario root.\u003c/p\u003e","title":"Abrir aplicaciones con interfaz gráfica como usuario root en Linux"},{"content":"En el siguiente artículo veremos los pasos a seguir para poder instalar opera en cualquier distribución GNU Linux.\nLa principales motivaciones para escribir este post son fáciles de entender. En su día ya escribí un post quejándome del pésimo rendimiento de Firefox en mi equipo.\nAdemás desde hace varios días ni lo puedo usar por el error que podéis ver en la siguiente captura de pantalla:\nVista la situación he tomado la decisión de desinstalar completamente Firefox y a partir de ahora usaré Opera como navegador secundario.\nPara instalar Opera en cualquier sistema operativo Linux pueden seguir las siguientes instrucciones.\nINSTALACIÓN DE OPERA MEDIANTE UN BINARIO .DEB O .RPM El primer paso es acceder a la siguiente página web:\nhttp://www.opera.com/es/computer/linux\nUna vez dentro de la página web presionamos encima del botón Descargar Ahora.\nNota: Si usan una distribución que utilice paquetes .rpm deberán clicar encima del link descarga aquí. Después de presionar el botón se procederá a la descarga del paquete .deb o .rpm\nUna vez descargado el paquete binario lo instalamos tal y como lo haríamos de forma habitual. En mi caso lo instalo utilizando gdebi:\nNota: Para instalar paquetes binarios .deb desde la terminal pueden usar el comando sudo dpkg -i nombre_del_paquete.deb. Si usan dpkg para instalar el binario antes deberán instalar el paquete apt-transport-https Nota: Para la instalación de paquetes binarios .rpm desde la terminal podemos usar el comando sudo rpm -i nombre_del_paquete.rpm Durante el proceso de instalación del paquete binario aparecerá la siguiente ventana en la que deberéis clicar la celda Do you want to update Opera together with the rest of the system? y seguidamente presionar el botón Adelante.\nUna vez realizados estos simples pasos tan solo tenemos que esperar unos segundos para que finalice el proceso de instalación.\nINSTALAR OPERA MEDIANTE LA TERMINAL Si en vuestro caso preferís instalar Opera desde la terminal tenéis que seguir las siguientes instrucciones.\nInstar Opera en Debian, Ubuntu y distribuciones derivadas de ambas Abrimos una terminal y añadimos el repositorio de Opera ejecutando el siguiente comando en la terminal:\nsudo add-apt-repository \u0026#39;deb https://deb.opera.com/opera-stable/ stable non-free\u0026#39; Seguidamente añadimos la clave del repositorio ejecutando el siguiente comando en la terminal:\nwget -qO- https://deb.opera.com/archive.key | sudo apt-key add - A continuación actualizamos los repositorios de nuestra distro ejecutando el siguiente comando en la terminal:\nsudo apt-get update Finalmente ejecutamos el siguiente comando para instalar Opera:\nsudo apt-get install opera-stable Nota: En el caso que durante el proceso de instalación se os pregunte si queréis añadir los repositorios de Opera para recibir actualizaciones tenéis que responder que no porque ya los hemos añadido previamente. Instalar Opera en Opensuse Para instalar opera en Opensuse tenemos a que añadir la clave del repositorio de Opera ejecutando el siguiente comando en la terminal:\nsudo rpm --import https://rpm.opera.com/rpmrepo.key Seguidamente añadimos el repositorio de Opera ejecutando el siguiente comando en la terminal:\nsudo tee /etc/zypp/repos.d/opera.repo \u0026lt;\u0026lt;RPMREPO [opera] name=Opera packages type=rpm-md baseurl=https://rpm.opera.com/rpm gpgcheck=1 gpgkey=https://rpm.opera.com/rpmrepo.key enabled=1 autorefresh=1 keeppackages=0 RPMREPO A continuación actualizamos los repositorios de la distro ejecutando el siguiente comando en la terminal:\nsudo zypper refresh Finalmente instalamos Opera ejecutando el siguiente comando en la terminal:\nsudo zypper in opera-developer Instalar Opera en Fedora y en distros derivadas de Fedora El primer paso para instalar Opera en Fedora es añadir la clave del repositorio de Opera a nuestro sistema operativo.\nPara ello ejecutamos el siguiente comando en la terminal:\nsudo rpm --import https://rpm.opera.com/rpmrepo.key Seguidamente añadimos el repositorio de Opera ejecutando el siguiente comando en la terminal:\nsudo tee /etc/yum.repos.d/opera.repo \u0026lt;\u0026lt;RPMREPO [opera] name=Opera packages type=rpm-md baseurl=https://rpm.opera.com/rpm gpgcheck=1 gpgkey=https://rpm.opera.com/rpmrepo.key enabled=1 RPMREPO A continuación actualizamos los repositorios de la distro ejecutando el siguiente comando en la terminal:\nsudo dnf check-update Finalmente instalamos Opera ejecutando el siguiente comando en la terminal:\nsudo dnf install opera-developer Instalar Opera en Archlinux y en distros derivadas de Archlinux Opera está presente en los repositorios oficiales de Archlinux. Por lo tanto para instalarlo únicamente tenemos que ejecutar el siguiente comando en la terminal:\nsudo pacman -S opera Al ejecutar el comando se procederá a la instalación de Opera.\nPRIMERAS IMPRESIONES DEL FUNCIONAMIENTO DE OPERA Estoy más que satisfecho del rendimiento que me ofrece este navegador.\nSin haberlo usado en profundidad puedo afirmar lo siguiente:\nEs un navegador sencillo, intuitivo y fácil de usar. Es un navegador ampliamente personalizable mediante la instalación de extensiones. Es rápido y liviano en comparación con otros navegadores como por ejemplo Firefox. El consumo de RAM es sensiblemente inferior a Chrome y Firefox. A pesar de ser un navegador multiproceso consume menos recursos que navegadores que no lo son como por ejemplo Firefox. Firefox tiene la capacidad de ser un navegador multiproceso pero actualmente casi todo el mundo tiene deshabilitada esta opción porque sus extensiones no lo soportan. No he encontrado ningún problema de compatibilidad. Puedo realizar las mismas tareas que realizo con otros navegadores. Trae características muy interesantes como por ejemplo un bloqueador de publicidad, un VPN integrado en el mismo navegador que me permite acceder a servicios restringidos geográficamente, Opera Turbo para comprimir las paginas web con el fin de incrementar la velocidad de carga, etc. Etc. Si lo requieren en futuros post puedo detallar los pasos que sigo en mi caso para configurar este navegador.\nNota: Para los que únicamente les preocupe utilizar Software Libre tenéis que saber que Opera se trata de Software privativo.","permalink":"https://geeklandlinux.github.io/posts/instalar-opera-en-gnu-linux/","summary":"\u003cp\u003eEn el siguiente artículo veremos los pasos a seguir para poder instalar opera en cualquier distribución GNU Linux.\u003c/p\u003e","title":"Instalar Opera en Debian, Ubuntu y en cualquier distro Linux"},{"content":"Hay varias distribuciones, como por ejemplo Debian or Arch Linux, que no traen sudo configurado de serie. Por este motivo en el siguiente artículo detallaré de forma clara y concisa como configurar sudo y las ventajas que nos proporcionará.\nVENTAJAS Y UTILIDADES QUE PROPORCIONA EL USO DE SUDO Bajo mi punto de vista son 3 las ventajas que proporciona el comando sudo. Estas ventajas son las siguientes:\nDar permisos de administrador a un usuario normal Mediante sudo, durante un período limitado de tiempo, podemos dar permiso a un usuario común para que pueda ejecutar tareas de administración del sistema con su propia contraseña.\nPor lo tanto un usuario normal podrá ejecutar cualquier tipo de tarea en el sistema sin necesidad de loguearse como usuario root y sin tan siquiera saber la contraseña del usuario root.\nMayor seguridad Sudo proporciona mayor seguridad en el aspecto que nos permite administrar un sistema operativo sin la necesidad de iniciar una sesión de usuario root.\nAdemás el comando sudo registrará la totalidad de usos realizados en el siguiente log:\nEn Debian y distros derivadas: /var/log/auth.log En Fedora y distros derivadas: /var/log/secure Si usamos Arch y distros derivadas: /var/log/sudo-io En CentOS: /var/log/secure\nNota: Las ubicaciones son las predeterminadas por cada distro. Si lo creemos necesario podemos modificar la ruta en que se guardan los logs. Finalmente sudo nos permitirá restringir los comandos que puede ejecutar cada uno de los usuarios al que le permitiremos usar el comando sudo.\nComodidad a la hora de administrar un sistema En el trabajo diario es mucho más cómodo utilizar sudo que no loguearte a la cuenta de root.\nComo ejemplo si queremos actualizar nuestro sistema operativo es mucho más práctico ejecutar el comando sudo apt-get upgrade que no los comandos su y apt-get upgrade.\nINSTALAR EL PAQUETE SUDO El primer paso para poder utilizar sudo es comprobar que tenemos instalado el paquete sudo.\nPara ello nos logueamos como usuario root ejecutando el siguiente comando en la terminal:\nsu A continuación ejecutamos el siguiente comando para asegurar que el paquete sudo está instalado:\napt-get install sudo Una vez instalado el paquete sudo podemos pasar a configurar sudo según nuestras necesidades.\nCONFIGURAR SUDO EN LINUX Existen varios parámetros que nos permiten configurar sudo. Algunos de ellos los podemos ver a continuación:\nConfigurar sudo para restringir su uso Para restringir el uso del comando sudo abrimos una terminal y ejecutamos el siguiente comando:\nsu A continuación escribimos la contraseña del usuario root y presionamos enter.\nUna vez logueados como usuario root ejecutamos el siguiente comando en la terminal:\nvisudo Nota: Para editar el fichero /etc/sudoers se recomienda usar visudo. Visudo previene que 2 usuarios puedan editar el fichero de forma simultánea y comprueba que la sintaxis que escribimos sea correcta. Después de ejecutar el comando se abrirá el editor de textos en el que podremos configurar sudo según nuestras necesidades.\nPara restringir el uso del comando sudo deberemos usar un comando del siguiente tipo:\nnombre_usuario nombre_equipo = (usuario:grupo) comando_restringir El significado de cada uno de los términos de este comando es el siguiente:\nnombre_usuario: Es el nombre de usuario que puede usar el comando sudo. El nombre de usuario puede ser un usuario, un alias de usuario o un grupo.\nnombre_equipo: Es el nombre del equipo o hostname en el que podemos aplicar el comando sudo. Sus valores pueden ser todos los equipos (ALL), un solo equipo, un alias de equipos, una dirección IP, etc.\n(usuario:grupo): Especificamos los usuarios y los gruposs que podrá usar el usuario de sudo cuando ejecuta los comandos. Para poder ejecutar comandos con un usuario y grupo específico tendremos que usar los comandos sudo -u y sudo -g. Si no indicamos ningún usuario ni ningún grupo se usará el usuario root y el grupo root.\ncomando_restringir: Especificación/restricción de los comandos que pueden ejecutar los usuarios que pueden ejecutar el comando sudo.\nUna vez vista la explicación teórica pasaremos a ver ejemplos prácticos para restringir el uso del comando sudo.\n1- Dar permisos de usuario root a un usuario normal para ejecutar cualquier comando en nombre de cualquier usuario La configuración que veremos en este apartado es la que usan el 99% de usuarios domésticos en sus equipos\nPara conseguir este propósito tan solo tenemos que añadir la siguiente línea dentro del fichero /etc/sudoers.\njoan ALL=(ALL:ALL) ALL Muestra de mi fichero /etc/sudoers/\nIntroduciendo esta línea damos permiso al usuario joan para que en cualquier equipo pueda ejecutar cualquier comando en nombre de cualquier usuario y grupo existente.\nUna vez introducida la línea guardamos los cambios y cerramos el fichero.\n2- Dar permisos de usuario root a un usuario normal mediante sudo Para cumplir con nuestro propósito tenemos que introducir la siguiente línea en el fichero /etc/sudoers:\njoan debian=(root:root) ALL Introduciendo esta línea damos permiso al usuario joan para que en el equipo debian pueda ejecutar cualquier comando en nombre del usuario root.\nA diferencia del caso anterior en este caso el usuario joan únicamente podrá usar comando sudo en el equipo debian y únicamente lo podrá hacer en nombre del usuario root.\nUna vez introducida la línea guardamos los cambios y cerramos el fichero.\n3- Dar permisos para que todos los usuarios de un grupo tengan permisos de administrador Para dar permisos de administración a todos los usuarios de un grupo tendríamos que introducir la siguiente línea en el fichero /etc/sudoers:\n%joan ALL=(root:root) ALL Introduciendo esta línea damos permisos a todos los usuarios del grupo joan para que en cualquier equipo puedan ejecutar cualquier comando en nombre del usuario root.\nUna vez introducida la línea guardamos los cambios y el proceso ha finalizado.\n4- Dar permisos a un usuario para ejecutar comandos en nombre de varios usuarios Para que un usuario pueda ejecutar comandos como si fuera otro usuario podemos añadir un comando similar al siguiente en el fichero /etc/sudoers:\njoan debian=(martin,root:martin,root) ALL Introduciendo esta línea damos permiso al usuario joan para que en el equipo debian pueda ejecutar cualquier comando en nombre del usuario martin y en nombre del usuario root.\nUna vez guardados los cambios en el fichero /etc/sudoers, el usuario joan podrá por ejemplo crear un fichero en nombre del usuario martin ejecutando el siguiente comando en la terminal:\nsudo -u martin -g martin touch prueba.txt 5- Dar permisos a un usuario para que únicamente pueda usar los comandos que nosotros queramos De forma fácil podemos limitar los permisos que damos a un usuario.\nA modo de ejemplo podemos introducir el siguiente comando en el fichero /etc/sudoers:\njoan ALL=(root:root) /usr/bin/passwd *, !/usr/bin/passwd root Con este comando damos permiso al usuario joan para que en el cualquier equipo pueda cambiar la contraseña de cualquier usuario exceptuando la contraseña del usuario root.\nNota: Mediante el operador * indicamos que el usuario joan podrá cambiar la contraseña de todos los usuarios. Con el operador ! Forzamos que el usuario joan no pueda cambiar la contraseña del usuario root. 6- Dar permisos para que únicamente los usuarios de un grupo puedan utilizar iptables Si únicamente quiero que los usuarios del grupo joan puedan utilizar iptables introduciré la siguiente línea dentro del fichero /etc/sudoers:\n%joan ALL=(root:root) /sbin/iptables Una vez introducidos los cambios tan solo tenemos que guardarlos y cerrar el editor de textos.\nNota: Para facilitar el proceso de restricción y configuración de podemos usar alias. Configurar sudo para deshabilitar o limitar el período de gracia de sudo En el momento de ejecutar un comando con sudo tenemos que introducir la contraseña de nuestro usuario.\nUna vez introducida la contraseña nuestro sistema operativo la recordará durante un período de 5 minutos.\nDe este modo si a los 3 minutos de aplicar un comando con sudo aplicamos otro comando con sudo no tendremos que introducir la contraseña de nuevo.\nMuchos usuarios consideran que este período de gracia es una brecha de seguridad.\nPor lo tanto si queremos limitar o eliminar el tiempo que nuestro sistema almacena nuestra contraseña abrimos una terminal y ejecutamos el siguiente comando:\nsudo visudo Una vez se abra el editor de textos introduciremos la siguiente línea al final del archivo:\nDefaults:ALL timestamp_timeout=0 Una vez introducida guardamos los cambios y cerramos el editor de textos.\nEn estos momentos cada vez que usemos sudo tendremos que introducir nuestra contraseña de usuario. Por lo tanto hemos eliminado el período de gracia para la totalidad de usuarios de nuestro equipo.\nSi nuestro objetivo fuese simplemente reducir el período de gracia a 2 minutos, al final del archivo /etc/sudoers deberíamos introducir el siguiente comando:\nDefaults:ALL timestamp_timeout=2 Después de introducir el comando guardamos los cambios y cerramos el editor de textos.\nEn estos momentos nuestro sistema operativo únicamente recordará nuestra contraseña de usuario durante 2 minutos. Si en vez de 2 minutos queremos que sea 1 minuto tendremos que reemplazar el 2 por el 1.\nUsar el comando sudo sin necesidad de usar contraseña En contraposición al apartado anterior pueden existir usuarios a los que no les preocupe la seguridad y les molesta tener que introducir su contraseña.\nSi este es vuestro caso tenéis que abrir una terminal y ejecutar el siguiente comando:\nsudo visudo Se abrirá el editor de textos con el contenido del archivo /etc/sudoers.\nEn el apartado donde restringimos el uso del comando sudo deberemos introducir la palabra NOPASSWD: justo antes de la parte del comando en que que indicamos los comandos que se pueden ejecutar con sudo.\nPor lo tanto en mi caso escribiría el siguiente comando:\njoan ALL=(ALL:ALL) NOPASSWD: ALL Finalmente guardaría los cambios y cerraría el fichero.\nEn estos momentos el usuario joan podrá ejecutar cualquier comando con sudo sin necesidad de introducir ninguna contraseña.\nEn el caso que quisiéramos que un usuario solo pudiera usar determinados comandos sin tener que utilizar contraseña podríamos reemplazar el comando anterior por el siguiente:\njoan ALL=(ALL:ALL) NOPASSWD: /usr/bin/apt-get,/sbin/shutdown De este modo el usuario joan podría gestionar los paquetes del equipo y cerrar el ordenador sin necesidad de introducir ninguna contraseña. Para el resto de tareas de administrador tendría que introducir la contraseña.\nConfigurar sudo para limitar los intentos que un usuario tiene para adivinar la contraseña De forma estándar disponemos de 3 intentos para adivinar la contraseña de nuestro usuario.\nEn el caso que fallemos 3 veces deberemos volver a introducir de nuevo el comando que queremos ejecutar.\nSi queréis reducir el número de intentos a 2 tenemos que abrir una terminal y ejecutar el comando:\nsudo visudo A continuación se abrirá el editor de textos y al final del contenido del archivo /etc/sudoers introduciremos el siguiente comando:\nDefaults:ALL passwd_tries=2 Una vez introducido el comando guardamos los cambios y cerramos el editor de texto.\nEn estos momentos únicamente tendremos 2 oportunidades para poner nuestra contraseña de usuario de forma correcta.\nConfigurar sudo para definir el archivo y ubicación en que se guardarán los logs En el inicio del artículo hemos visto la ubicación de logs de sudo para varias distribuciones.\nSi queremos modificar esta ubicación lo podemos realizar fácilmente editando el archivo /etc/sudoers. Para ello abrimos una terminal y ejecutamos el siguiente comando:\nsudo visudo Seguidamente en la parte final del archivo añadimos la siguiente línea:\nDefaults logfile=/var/log/sudo Nota: La parte de color rojo del comando indica la ruta y el archivo en el que se guardaran los logs. En vuestro caso podéis colocar la ruta que queráis. Una vez introducida la línea guardamos los cambios.\nA partir de estos momentos la totalidad de logs referentes a sudo se guardaran en /var/log/sudo.\nSi queremos consultar el log podemos ejecutar el siguiente comando en la terminal:\nsudo less /var/log/sudo CONSULTAR LOS REGISTROS DE SUDO Si queremos ver la totalidad de acciones realizadas con el comando sudo podemos abrir una terminal y ejecutar el siguiente comando:\nsudo journalctl _COMM=sudo Nota: Este comando funcionará para las distros que usen systemd. En la actualidad prácticamente la totalidad de distros usa Systemd. Después de ejecutar el comando obtendremos el siguiente resultado:\nMuestra de los logs de sudo\nSi observamos los resultados de la captura de pantalla podemos observar los siguientes registros:\nLa hora en que hemos ejecutado el comando sudo. La ubicación desde donde hemos ejecutado el comando sudo. El usuario que ha usado sudo. Los comandos que hemos ejecutado con sudo. Los intentos fallidos a la hora de escribir la contraseña de usuario. Etc. Por lo tanto podemos ver que sudo registra la totalidad de acciones que realizan los distintos usuarios del sistema.\nDESACTIVAR O DESHABILITAR EL USUARIO ROOT Una vez tenemos configurado sudo a nuestro gusto es posible que alguien se pueda plantear deshabilitar el usuario root.\nDe este modo en caso de un ataque, el atacante tendrá una tarea adicional que será la de averiguar el nombre de usuario que puede utilizar sudo.\nNota: Antes de seguir adelante aseguraos que sudo lo tenéis configurado correctamente. Si sudo está mal configurado y deshabilitamos el usuario root podemos tener graves problemas. Para bloquear al usuario root ejecutamos el siguiente comando en la terminal:\nsudo usermod --lock --expiredate 1970-01-01 root Después de ejecutar este comando únicamente podremos realizar tareas de administración del sistema con sudo.\nSi un día quisiéramos reactivar el usuario root tan solo tendríamos que ejecutar el siguiente comando en la terminal:\nsudo usermod --unlock --expiredate 99999 root CONSIDERACIONES DEL COMANDO SUDO En este artículo hemos visto varias opciones para configurar sudo según nuestras necesidades. No obstante solo se recomienda usar sudo para ejecutar comandos en la terminal.\nEn el momento que tengamos que ejecutar aplicaciones gráficas con permisos de administrador es recomendable hacerlo con los comandos gksu, kdesu y beesu.\nEn función del entorno de escritorio que usemos deberemos usar un comando u otro. De este modo:\ngksu: Será usado en entornos de escritorio Gnome y Xfce kdesu: Lo usaremos en entornos de escritorio kde. beesu: Es el comando que usaremos en Fedora.\nA modo de ejemplo si en xfce quiero ejecutar thunar con permisos de administrador ejecutaré el siguiente comando en la terminal:\ngksu thunar En el caso que pretendan obtener información adicional sobro como abrir aplicaciones con entorno gráfico como usuario root pueden consultar el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/abrir-aplicaciones-graficas-como-root/\nSi queréis aportar alguna idea adicional para poder configurar sudo la podéis dejar en los comentarios del blog.\n","permalink":"https://geeklandlinux.github.io/posts/configurar-sudo-en-linux/","summary":"\u003cp\u003eHay varias distribuciones, como por ejemplo Debian or Arch Linux, que no traen sudo configurado de serie. Por este motivo en el siguiente artículo detallaré de forma clara y concisa como configurar sudo y las ventajas que nos proporcionará.\u003c/p\u003e","title":"Configurar sudo para administrar nuestro sistema en Linux"},{"content":"Cuando contratamos un servicio VPN es recomendable tener en cuenta ciertos parámetros para asegurar que nuestra elección es la correcta.\nSi pensamos en términos de seguridad lo primero que les vendrá a la cabeza es que el servicio VPN no guarde logs de nuestra actividad.\nPero aparte de este parámetro existen otros parámetros que podemos analizar como por ejemplo los que veremos a lo largo de este artículo.\nNota: Contratar un servidor VPN no es algo para tomarse a la ligera. En el momento que un servidor VPN entrega nuestros datos a un tercero es equivalente a decir que hemos recibido un ataque Man in the Middle. ASPECTOS A CONSIDERAR PARA ELEGIR UN VPN ¿Guarda logs tu proveedor de VPN? Obviamente es importante que nuestro servicio VPN publicite que no guarda logs y no registra nuestra actividad.\nPero en la mayoría de casos la realidad es muy distinta a la que nos venden porque en muchos países existen leyes de retención de datos. Así que aunque el servicio VPN diga que no guarda logs desconfiad y valorad el resto de puntos que verán en este artículo.\nSi el FBI, la NSA o cualquier otra autoridad reclama datos al administrador de un servidor VPN se los dará sin pensarlo mucho por los siguientes motivos:\nColaborar con las autoridades para asegurar la continuidad de su negocio. Dar todos los datos disponibles ya que seguro que preferirán que vosotros vayas a la cárcel antes que ellos. Nadie quiere que su negocio sea usado para realizar actividades ilegales como por ejemplo ataques DDOS, transmitir contenido poco apropiado, etc. Métodos de pago que ofrece el servicio VPN Obviamente cuantos más métodos de pago tengamos disponibles mejor.\nNo obstante hay que ser consciente que en el momento que pagamos estamos dando datos precisos acerca de nuestra identidad.\nPor lo tanto si os preocupa la privacidad puede resultar interesante contratar servicios VPN que ofrezcan la posibilidad de pagar de forma anónima.\nAlgunas formas de pago anónimas son las siguientes:\nPagar con monedas criptográficas pseudoanónimas como el Bitcoin. Pago mediante tarjetas prepago de regalo. Pagar mediante servicios de Internet que nos garantizan pagar de forma anónima. Ubicación de los servidores VPN Hay 2 factores a considerar para determinar si la ubicación de un servidor VPN es adecuada a nuestras necesidades.\nEl primero de los factores es la privacidad que nos ofrece la ubicación del servidor VPN.\nEl segundo de los factores es evaluar los países en que ofrece servicio el VPN que queremos contratar.\nElección de la ubicación del servidor en función de la privacidad Sí únicamente estáis pensando en términos de privacidad mi consejo es que desconfiéis de la totalidad de servicios VPN ubicados en Estados Unidos, Canadá, Australia, Reino Unido, Nueva Zelanda, Alemania, Bélgica, Italia, Suecia, España, Noruega, Holanda, Francia, Dinamarca, Austria, Bélgica, República Checa, Grecia, Hungría, Islandia, Italia, Portugal, Korea del Sur, Turquía, Luxemburgo, Japón, Polonia, etc\nLos países que acabo de citar conforman o cooperan con la alianza de inteligencia conocida como FVEY (Five Eyes). Esta alianza se preocupa especialmente de todo lo que pasa en la Word Wide Web y capturan datos como por ejemplo conversaciones telefónicas, correos electrónicos, búsquedas que realizamos en Internet, etc.\nEscudándose en la alianza FVEY, estos países pueden espiarnos y acceder a la totalidad de nuestros datos independientemente de las leyes de protección de datos que pueden existir en un país.\nSe recomienda elegir servicios VPN que estén ubicados en un país que tenga leyes favorables en términos de privacidad y no dispongan de leyes de retención y protección de datos.\nAlgunos de los países que en principio garantizaran la privacidad de sus clientes son los siguientes:\nPanamá, Islas vírgenes británicas, Hong Kong, Malasia, Bulgaria, Moldavia, Seychelles, Rumanía, Taiwan, etc.\nElección de la ubicación del servidor en función de los países en que ofrece servicio Si nuestro objetivo es usar un VPN para poder acceder a servicios que no están disponibles en nuestro país, entonces tenéis que buscar un servicio VPN que disponga de servidores VPN disponibles en varios países.\nDe este modo si somos españoles y queremos acceder a un servicio que únicamente está disponible para los ciudadanos de Estados Unidos tendremos que buscar un servicio VPN que nos proporcione una IP Americana.\nLa gran mayoría de servicios VPN acostumbran a ofrecer servidores VPN ubicados en distintos puntos geográficos. Cuantos más puntos geográficos podamos elegir mayores serán las restricciones geográficas que podemos saltarnos.\nProtocolo usado por los servicios VPN Existen varios protocoles para el funcionamiento de un servicio VPN como por ejemplo el PPTP, el L2TP/IPSec, OpenPVN, SSTP, etc.\nEn términos de seguridad tenemos que evitar usar un VPN con el protocolo PPTP. El protocolo PPTP es un protocolo elaborado por Microsoft que tiene demasiados años y presenta vulnerabilidades de seguridad. Además el tamaño máximo de la clave de cifrado solo será de 128 bits.\nLos otros dos protocolos son más seguros y modernos y son buenas opciones en términos de seguridad y privacidad. Por lo tanto podéis usar tanto L2TP/IPSec como OpenVPN.\nEn mi caso que quedo con OpenVPN por los siguientes motivos:\nEs un protocolo OpenSource. Es compatible con multitud de sistemas operativos. Aunque técnicamente es más lento que L2TP/IPSec, ofrece una velocidad aceptable y es un protocolo ofrece gran estabilidad. Existen rumores no confirmados y sospechas de personajes como Edward Snowden, que el protocolo L2TP/IPSec es vulnerable por parte de la NSA. Es un protocolo altamente configurable y flexible. Soporta un gran número de algoritmos de cifrado. Algoritmos y claves de cifrados del servidor VPN Los algoritmos de cifrado que acostumbran a usar la mayoría de servicios VPN son el AES y el Blowfish con claves de cifrado de 128 bits.\nNota: El protocolo Blowfish se considera seguro. No obstante se conocen ciertas debilidades que los podrían comprometer. Por este motivo es mejor evitar usar este protocolo. En mi caso recomendaría usar algoritmos de cifrado seguros como por ejemplo el AES, y el Twofish con claves de cifrado de como mínimo 256 bits.\nIntentad evitar los VPN que ofrezcan cifrados de 128 bits porque existen sospechas que la NSA tiene los medios para descifrar o el contenido con este tipo de llaves.\nSi en el proceso de contratación también os hablan del tamaño de las claves para el proceso de autenticación asegurad que la llaves ofrecidas sean como mínimo sean de 2048 bits.\nPetición de datos personales Si os preocupa vuestra privacidad desconfiad de un servicio VPN que os pida vuestros datos personales.\nNo es recomendable dar datos personales, como vuestros nombre y dirección, a la hora de contratar un servicio VPN.\nEn el caso que os pidan un correo electrónico usad uno que sea completamente anónimo como por ejemplo Mail2Tor.\n¿El servidor VPN es útil para lo que quiero realizar? Hay servicios VPN que restringen ciertas actividades como por ejemplo las siguientes:\nRealizar descargas P2P. Navegar por la Deep Web. Transmitir archivos mediante programas como Bittorrent. Transmitir grandes cantidades de tráfico. Estar muchas horas conectado al servicio VPN. Realizar más de una conexión de forma simultanea. Etc. Si nuestra intención es realizar una de las 6 actividades que acabamos de mencionar tenemos que asegurar que el servicio VPN nos lo permita.\nObviamente también deberemos mirar que el servicio VPN no nos imponga ningún limite de ancho banda.\nVelocidad del servicio La velocidad que nos pueda ofrecer una conexión VPN es un factor a tener en cuenta antes de su contratación.\nA través de foros de Internet podréis encontrar información de usuarios del servicio que queréis contratar.\nSistemas operativos en los que podemos usar el servicio VPN Hay servicios VPN que solo pueden usarse en determinados sistemas operativos.\nAl adquirir un servicio VPN tenemos que analizar si ofrecen servicio para los sistemas operativos que acostumbramos a utilizar habitualmente.\nPor lo tanto en el caso que queramos contratar un servicio VPN para usarlo en Windows y en Android tendremos que asegurarnos que nos ofrecen clientes para Windows y para Android.\nFacilidad de configuración y de uso del servicio VPN Es importante informarse si el proceso de configuración y uso del servicio VPN es fácil y amigable.\nExisten servicios VPN que, aunque sean buenos, requieren conocimientos técnicos medios-elevados para poder configurarlos y usarlos.\nPor lo tanto en el caso que no os guste la tecnología y/o no tengan conocimientos técnicos adecuados intenten buscar un servidor VPN que sea fácil de configurar y de usar.\nPrecio del servicio VPN Desconfiad de un servicio VPN gratuito. Si un servidor VPN es gratuito entonces el producto somos nosotros.\nEn el momento que un servicio VPN es gratis es posible que la totalidad de nuestros datos sean vendidos a terceros como por ejemplo gobiernos, empresas de publicidad, la industria del cibercrimen, etc.\nPor lo tanto es recomendable usar un VPN de pago.\nEn el momento de pagar el servidor VPN tenemos que ir con cuidado. Si no lo pagamos con nuestra moneda la tarifa variará de un mes a otro por el tipo de cambio.\nSERVICIOS VPN QUE PODEMOS CONTRATAR Finalmente para elegir un servicio VPN adecuado a sus necesidades los dejaré estás 2 direcciones URL:\nEnlace 1 para seleccionar vuestro VPN\nEnlace 2 para seleccionar vuestro VPN\nEn estas URL encontrarán distintos servicios VPN con la información necesaria para que vosotros mismos podáis decidir el servicio VPN que más os convenga.\nCONSIDERACIONES FINALES Para elegir el servicio VPN ideal para nuestra necesidades necesitamos tener claro para que lo queremos y analizar la totalidad de puntos que hemos mencionado en el post.\nNo obstante, aunque analicemos la totalidad de puntos y seleccionemos un buen servidor VPN, nunca tendremos la seguridad que la elección es buena.\nLos servicios VPN se basan en la confianza que nosotros depositamos en un proveedor de VPN.\nSi la empresa en la que nosotros depositamos nuestra confianza nos traiciona no podremos realizar nada al respecto.\n","permalink":"https://geeklandlinux.github.io/posts/como-elegir-servicio-vpn-adecuado/","summary":"\u003cp\u003eCuando contratamos un servicio VPN es recomendable tener en cuenta ciertos parámetros para asegurar que nuestra elección es la correcta.\u003c/p\u003e\n\u003cp\u003eSi pensamos en términos de seguridad lo primero que les vendrá a la cabeza es que el servicio VPN no guarde logs de nuestra actividad.\u003c/p\u003e","title":"Como elegir un servicio VPN adecuado a nuestras necesidades"},{"content":"En el pasado escribí varios artículos sobre la deep web. En los comentarios de los artículos detecté que muchas personas preguntaban acerca de como navegar en la deep web de forma segura, por este motivo en el siguiente artículo veremos una serie de recomendaciones que todo el mundo debería seguir para navegar en la deep web.\nUsar Tails o una herramienta equivalente No recomiendo el uso de Windows, Android o iOS para navegar en la deep web. No son sistemas operativos tan seguros como lo pueden ser Linux o Mac OS.\nLa mejor opción es usar una herramienta como el sistema operativo Tails, o en su defecto usar una herramienta equivalente como Whonix.\nPara saber como usar, instalar y empezar a usar Tails pueden seguir los pasos que se detallan en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-tails-para-ser-anonimo/\nTails es una distribución Linux basada en Debian que se ejecuta en nuestra memoria RAM sin hacer uso de nuestro disco duro.\nTails es un sistema operativo diseñado pensando en la seguridad y en la privacidad. La totalidad del sistema operativo corre sobre la memoria RAM de nuestro ordenador. Por lo tanto en el momento que apagamos el ordenador no dejamos rastro alguno de quienes somos y que hemos realizado en el ordenador.\nTails siempre se debe instalar en una memoria USB o en un DVD. No lo uséis en una máquina virtual porque no es seguro.\nSi lo ejecutamos en una máquina virtual seremos mas susceptibles de ser infectados por Malware, Keyloggers, etc. Además en el momento que cerremos la máquina virtual quedarán rastros de las actividades realizadas en la Deep web en el disco duro de nuestro ordenador.\nNota: Hay otras alternativas buenas como por ejemplo el navegador Tor Browser. No obstante Tails es con diferencia la mejor opción para navegar en la deep web. Usar Software actualizado para navegar en la Deep web Tanto si usáis Tails, como Tor Browser u otra alternativa hay que asegurarse que el software que usamos está actualizado.\nSi el software que usamos no está actualizado es más probable que un atacante encuentre una vulnerabilidad para atacarnos o se pueda revelar nuestra identidad.\nNo alterar la configuración estándar de nuestro navegador En el caso que estemos usando Tails, Tor Browser o cualquier otra herramienta de confianza, no se recomienda modificar la configuración estándar de estos programas.\nEste tipo de herramientas vienen configuradas para obtener la máxima protección cuando navegamos en la deep web. Cualquier modificación que hagamos puede abrir una brecha de seguridad.\nLas únicas opciones de configuración que en mi caso contemplaría modificar para mejorar la seguridad son las siguientes:\nDeshabilitar Javascript de nuestro navegador. Desactivar los iframes de nuestro navegador. Asegurar que los referrers están desactivados. Comprobar que las extensiones NoScript y HTTPS están activadas realizando su función. Bajo ningún concepto debemos instalar extensiones y personalizar el funcionamiento y aspecto del navegador que usamos para navegar en la deep web.\nNota: Hay sitios webs que para visitarlos requieren tener javascript activado. Si lo activamos no tiene porque pasar nada, pero nuestro nivel de seguridad y privacidad serán menores. Usar una conexión VPN Es recomendable usar un servidor VPN que no guarde Logs y que esté ubicado en en país que tenga una legislación favorable como por ejemplo Panamá o las Islas Vírgenes Británicas. Hay que evitar usar servidores VPN ubicados en Estados Unidos.\nUsando un VPN evitaremos que nuestro proveedor de Internet, o el administrador de la red del sitio desde el que nos conectamos, detecte que nos hemos conectado a la red Tor.\nEl uso de una red VPN también será otro mecanismo de defensa para que no se pueda revelar nuestra IP real.\nSi el el alumno de Harvard de está noticia hubiera usado una conexión VPN, probablemente no lo habrían identificado o a al menos no se habría podido demostrar que él fue el culpable de lo que sucedió.\nUna vez conectado al servidor VPN se recomienda comprobar periódicamente que la conexión no se ha caído. Hay servicios VPN que ellos mismos son capaces de realizar esta comprobación y en el momento que se cae el servicio VPN se cae la conexión y no podemos navegar en la deep web.\nEn el futuro escribiré un post para que la gente tenga las herramientas para saber si un proveedor de VPN es confiable y anónimo para navegar en la Deep Web.\nCuidado con los metadatos del contenido que subimos a la deep web No es recomendable que usuarios inexpertos suban, fotos, documentos u otro tipo de archivos en la Deep web.\nTodos los archivos que generamos tienen metadatos. Estos metadatos pueden revelar datos como por ejemplo los siguientes:\nNuestra nombre y nuestros apellidos. El sistema operativo que usamos. Nuestra ubicación geográfica de forma precisa y en coordenadas GPS. Otros datos que pueden revelar nuestra identidad. Por lo tanto no es recomendable subir información a la Deep Web y en el caso de hacerlo deberemos tener en cuenta los siguientes puntos:\nTenemos que borrar los metadatos. Debemos analizar que el contenido del documento no de pistas de nuestra identidad y/o ubicación. Si la información que subimos es sensible se recomienda que la transmisión de datos sea cifrada con el protocolo https, o que la URL donde subimos el contenido tenga el dominio .onion. Para ver una muestra de la información que se puede obtener con los metadatos miren el siguiente vídeo.\nhttps://www.youtube.com/watch?v=6SGHD2sf-to\nNota: Tails viene equipado con la herramienta Metadata Anonymisation Toolkit para eliminar los metadatos de nuestros archivos. Nota: Metada Anonymisation Toolkit no es infalible, por lo tanto recomiendo combinar su uso con Exiftool, exiv2, jhead y pdfparanoia. Nunca Navegar con la pantalla maximizada No debemos navegar con la pantalla del navegador maximizada.\nNavegar con la pantalla del navegador maximizada revela nuestra resolución de pantalla. Este dato se puede usar como parámetro para identificar un usuario.\nEn la deep web se trata de no ser diferente al resto de navegantes. En el momento que somos diferentes estamos dando pistas para que nos puedan identificar.\nNota: Tened en cuenta que una resolución de pantalla poco común puede ayudar a identificar un determinado usuario. No descargar documentos de la Deep web No es una buena idea descargar documentos de la deep web.\nLos ficheros descargados pueden contener código malicioso que al ejecutarlo puede revelar nuestra identidad o inyectar algún tipo de virus o malware en nuestro ordenador.\nEn el caso que tengamos necesidad de descargar algo lo podemos hacer, pero se recomienda abrir los archivos en un entorno controlado y sin conexión a Internet.\nNota: Como entorno controlado entendemos una máquina Virtual o un sistema operativo como por ejemplo Tails. No visitar tu propia página web Cuando navegamos usando la red Tor no se recomienda que visitemos nuestra propia web.\nEl nodo de salida de la red Tor registrará que hemos visitado una web. En el caso que está página web sea muy poco popular puede servir para que alguien deduzca que nosotros somos los propietarios de esta página web.\nNota: Con ingeniería social o con la herramienta whois es muy fácil conocer el nombre y los datos de contacto del propietario de un dominio en concreto. No conectarse a redes sociales ni a servicios que usamos habitualmente Cuando usamos la red Tor para navegar en la Clearnet nunca debemos loguearnos a servicios que utilizamos habitualmente como por ejemplo:\nRedes sociales como Facebook, Twitter, Google Plus, etc. Nuestro servicio de correo electrónico. Market place como por ejemplo Amazon o Ebay. En nuestro banco. Etc. Los motivos para ello son simples:\nAunque nuestra IP sea anónima y no puedan localizar nuestra ubicación real, los servicios sabrán que somos nosotros los que nos estamos conectando. Por lo tanto en ningún momento seremos anónimos. En el momento que los servicios detecten que nos conectamos a través de la red Tor, es posible que bloqueen nuestra cuenta porque pensarán que estamos recibiendo un ataque por parte de un cracker o un criminal. No navegar en sitios web locales Cuando usamos la red Tor nunca debemos navegar en sitios web locales o que puedan dar pistar que somos de un determinado lugar o país.\nEn el momento que visitamos la web de nuestro ayuntamiento, un atacante en el último de los nodos de la red Tor se puede hacer la idea que somos del pueblo o ciudad del ayuntamiento que hemos visitado.\nEn el caso que tengamos que realizar una búsqueda en google siempre tenemos que usar el dominio google.com. Si usamos google.es estamos revelando que somos españoles.\nNota: Como veremos más adelante no es recomendable realizar busquedas con Google cuando navegamos en la Deep Web. Se recomienda comunicarte en un inglés correcto Gran parte del contenido y foros de la deep web son en inglés. Por lo tanto es importante que sepamos escribir el inglés correctamente.\nCuando escribamos hay que evitar usar letras que son especificas de un lenguaje en concreto.\nA modo de ejemplo, si estáis leyendo un foro en inglés y de repente veis que a alguien se le escapa la letra ç, podéis haceros una idea que la persona en cuestión puede ser catalana, turca, albanesa, etc.\nTambién es aconsejable no escribir siempre del mismo modo ni cometer siempre las mismas faltas de ortografía. El modo de escribir de una persona puede dar pistas para conocer la identidad de una persona.\nNota: Gran parte del contenido de la deep web es en inglés. Por lo tanto prácticamente estamos forzados a comprender y escribir el inglés. Usar un seudónimo y no revelar ningún dato personal En el momento de navegar en la deep web nunca debemos mencionar nuestro nombre. Lo ideal es usar un seudónimo que no de pistas de nuestra identidad.\nAdemás no debemos mencionar datos que puedan dar pistas para revelar nuestra identidad, como por ejemplo:\nUna dirección de email convencional como por ejemplo gmail o outlook. La dirección de vuestro domicilio. El lugar en donde estudiamos. Si estamos casados, si tenemos hijos, si somos gordos, nuestros hobbies, etc. Usar medios de comunicación seguros Si necesitáis contactar con alguien a través de la red Tor se recomienda usar servicios de mensajería e email seguros y anónimos.\nAlgunos de los servicios de correo que bajo mi humilde criterio son seguros los podéis encontrar en el siguiente enlace:\nListado de proveedor de email anónimos\nEn el caso que uséis algún tipo de cliente de mensajería asegurad que las comunicación entre clientes sea cifrada. Para ello existen clientes de chat seguros y anónimos como por ejemplo Torchat.\nEn las conversaciones de email y en los chats nunca debemos revelar información que pueda dar pistas sobre cual es nuestra identidad.\nNota: En ningún caso se os ocurra dar y/o comunicaros mediante vuestras cuentas de Facebook, Twitter, gmail, etc en la deep web. No se recomienda firmar todos los mensajes con claves PGP No se recomienda firmar absolutamente todos los mensajes a través de la red Tor.\nÚnicamente debemos firmar los mensajes que nosotros consideramos esenciales.\nEn el momento que firmamos un mensaje estamos dando una garantía al receptor que el mensajes proviene de una fuente autorizada.\nNo obstante si un día alguien asocia nuestra firma con nuestra persona, podrá demostrar que todos los mensajes que contienen una firma en concreto los hemos escrito nosotros.\nSiempre que sea posible cifrar el contenido mediante PGP Siempre que sea posible debemos cifrar nuestros emails y nuestros archivos mediante PGP.\nA estas alturas todo el mundo sabe que las comunicaciones en texto plano las puede ver todo el mundo.\nAdemás las claves de cifrado las debemos guardar en un lugar seguro como por ejemplo un USB.\nNo uséis siempre el mismo password y el mismo usuario En el momento de navegar en la Deep web verán muchos foros, tiendas online y servicios de email que requieren de un usuario y un password.\nPor motivos obvios no uséis siempre el mismo usuario y el mismo password.\nEs bueno que tengáis varias identidades cuando sea cuestión de navegar dentro de la Deep web.\nEl username y el password usado no deben dar detalles de vuestra identidad. Además tenemos que usar un password seguro.\nNo dejar el ordenador desatendido Si estamos navegando en la deep web y tenemos que irnos por unos instantes hay que bloquear el ordenador.\nSi no lo bloqueamos corremos el peligro que una tercera persona use el ordenador en nuestra ausencia y se loguee y realice actos que puedan revelar nuestra identidad como por ejemplo conectarse a una cuenta de facebook, dar datos personales a un desconocido, etc.\nNo informar a tus conocidos que te conectas a la Deep Web En ningún momento debemos informar a nadie que nos hemos conectado o nos conectamos a la Deep web.\nDestruir completamente los ficheros descargados y cifrar nuestro disco duro Por cuestiones de seguridad es recomendable que cifréis el contenido de vuestro disco duro. De este modo estaremos más protegidos frente a posibles accesos remotos a nuestro ordenador.\nEs recomendable almacenar los archivos que descargamos de la Deep Web en un volumen cifrado. De esta forma estarán a salvo de curiosos.\nEn el momento que queramos eliminar un archivo tenemos que triturarlo. De está forma evitaremos que nadie pueda recuperar los archivos que hemos borrado.\nSi usáis Tails no os tenéis que preocupar por este punto. Tails trae las herramientas necesarias para solventar la totalidad de puntos mencionados en este apartado.\nNavegad preferiblemente en direcciones URL que contengan las palabras .onion o https Las direcciones web .onion ofrecen un cifrado de la información de extremo a extremo.\nEste significa que el último nodo de la red Tor no será el encargado de descifrar el contenido.\nEl encargado de descifrar el contenido será el servidor Web que estamos visitando. De este modo conseguimos solucionar uno los puntos débiles de la red Tor.\nSi las URL que visitamos disponen de una dirección https también podemos estar más tranquilos ya que el último nodo de la red Tor no podrá ver el contenido de nuestra petición.\nNota: Las claves de encriptación https deberían ser como mínimo de 2048 bits. No utilizar el buscador de Google para navegar en la clearnet Cuando usamos el navegador Tor Browser para navegar en la Clearnet tenemos que evitar usar el navegador de Google.\nUsad siempre buscadores que sean respetuosos con nuestra privacidad como por ejemplo los siguientes:\nhttps://www.startpage.com/\nhttps://duckduckgo.com/\nBuscadores y directorios de enlaces para navegar en la deep web La primera vez que entramos a navegar en la Deep web es difícil encontrar enlaces y páginas para visitar.\nAfortunadamente hoy en día existen algunos directorios de links y buscadores especializados en indexar contenido de la Deep Web. Algunos de ellos son los siguientes:\nOnion.city Onion.to Tor search Not Evil DuckDuckgo Pastebin Thehiddenwiki Tor Search Onion.list TorLinks Ahmia\nReiniciar nuestro navegador de forma periódica Las cookies de nuestro navegador pueden ser usadas para intentar identificarnos. Por lo tanto es recomendable borrar las cookies de nuestro navegador periódicamente.\nSi usamos herramientas como el navegador Tor Browser o Tails, cada vez que cerramos el navegador se borran las cookies almacenadas. Por lo tanto de forma periódica es bueno cerrar y abrir el navegador.\nNunca usar procesos de verificación en dos pasos Al navegar en la deep web nunca debemos aceptar procesos de verificación en dos pasos.\nEn el momento que damos nuestro número de teléfono hay que tener en cuenta los siguientes puntos:\nNuestro teléfono será almacenado en alguna base de datos. El hecho de recibir un SMS delata tu localización. La tarjeta SIM del teléfono es más que posible que esté a nuestro nombre. Los operadores de telefonía móvil toman logs de los número de serie de nuestra SIM card y de nuestro teléfono de forma periódica. Por lo tanto en el momento de realizar una verificación en dos pasos estamos revelando nuestra identidad.\nNo navegar en la deep web y en la web normal de forma simultánea No se recomienda navegar de forma simultánea en la deep web y en la clearnet.\nSi lo hacemos corremos el peligro de confundir un navegador por el otro y de forma tonta podemos revelar información no deseada a terceros.\nNo conectarse a un servidor de forma anónima y de forma normal de forma simultánea Tenemos que evitar conectarnos a un mismo servidor de forma anónima y de forma normal al mismo tiempo.\nSi lo hacemos, en el momento que se caiga nuestra conexión de Internet se caerán de forma simultánea nuestra conexión normal y nuestra conexión anónima. Por lo tanto el administrador del servidor podrá deducir fácilmente la IP real de la conexión anónima.\nNo publicitar nuestro servicio anónimo Si disponemos de una página web o de un servicio anónimo en la deep web no debemos publicitarlo en la redes sociales o entre nuestros conocidos.\nNavegar usando redes wifi abiertas no es seguro ni anónimo Mucha gente pensará que conectarse a través de la red wifi de un bar o de una biblioteca es anónimo y seguro.\nEs posible que la red wifi abierta que usamos esté registrando la Mac Address de nuestro dispositivo conjuntamente con nuestra actividad. Por lo tanto en el caso que sea necesario investigar algún tipo de suceso, el círculo de sospechosos a investigar seria pequeño y nos podrían llegar a identificar.\nAdemás navegando a través de una red wifi abierta estamos mostrando nuestra IP real a terceros que revela nuestra posición geográfica.\nPara evitar estos problemas siempre que os conectéis desde de una red wifi abierta debéis usar Tor, y si es posible mediante Tails que de forma predeterminada enmascara nuestra Mac Address.\nNota final Los consejos citados en este artículo los debería seguir todo el mundo que navegue por la deep web.\nEn el momento que se salten algunos de los consejos no tiene porque pasar nada, pero cuantos más se salten más altas serán las posibilidades de recibir una ataque o de que nuestra identidad sea descubierta.\nFuentes https://www.whonix.org/wiki/DoNot\nhttps://www.reddit.com/r/TOR/comments/1x2jff/deep_web_saftey_rules_for_noobs_help_share_your/\n","permalink":"https://geeklandlinux.github.io/posts/navegar-en-la-deep-web-segura-anonima/","summary":"\u003cp\u003eEn el pasado escribí varios artículos sobre la \u003ca href=\"/posts/acceder-a-la-deep-web/\"\u003edeep web\u003c/a\u003e. En los comentarios de los artículos detecté que muchas personas preguntaban acerca de como navegar en la deep web de forma segura, por este motivo en el siguiente artículo veremos una serie de recomendaciones que todo el mundo debería seguir para navegar en la deep web.\u003c/p\u003e","title":"Navegar en la deep web de forma segura y anónima"},{"content":"El soporte de Libreoffice para GTK3 ha mejorado muchísimo en los últimos meses y a día de hoy puedo afirmar que Libreoffice con GTK3 luce muchísimo mejor que Libreoffice con GTK2.\nCon una versión de Libreoffice igual o superior a la 5.2, GTK 3.20 y el tema Numix, aunque seguro aún faltan detalles por pulir, el aspecto y el rendimiento de Libreoffice con GTK3 son buenos.\nInicialmente vemos que el aspecto de Libreoffice con GTK2 es el siguiente:\nSi queréis ver como luce Libreoffice con GTK3 tan solo tenéis que seguir los siguientes pasos:\nCOMO USAR LIBREOFFICE CON GTK3 Para empezar a usar Libreoffice con GTK3 tenemos que seguir las siguientes instrucciones.\nInstalar el paquete libreoffice-gtk3 que da soporte para GTK3 Para activar el soporte GTK3 tenemos que instalar el paquete libreoffice-gtk3 en nuestro ordenador.\nPara ello en Debian y en distribuciones derivadas de Debian tenemos que ejecutar el siguiente comando en la terminal:\nsudo apt-get install libreoffice-gtk3 En el caso que utilicen Archlinux no hay que realizar absolutamente nada porque a partir de la versión 5, Libreoffice utiliza GTK3 por defecto.\nSi en vuestro caso usan Fedora o distribuciones basadas en Fedora deberán ejecutar el siguiente comando:\nsudo dnf install libreoffice-gtk3 Una vez instalado este paquete el soporte para GTK3 estará activado.\nDesinstalar el paquete libreoffice-gtk2 Una vez activado el soporte GTK3, tan solo tenemos que desactivar el soporte para GTK2 desinstalando el paquete libreoffice-gtk2.\nPara ello en Debian y en distribuciones derivadas de Debian ejecutaremos el siguiente comando en la terminal:\nsudo apt-get remove libreoffice-gtk2 En el caso que vuestra distro no disponga de libreoffice-gtk2 ejecuten el siguiente comando en la terminal:\nsudo apt-get remove libreoffice-gtk Si en vuestro caso usan Fedora o distribuciones basadas en Fedora deberán utilizar el siguiente comando:\nsudo dnf erase libreoffice-gtk2 Una vez realizados los cambios ya podemos usar Libreoffice con soporte para GTK3.\nASPECTO FINAL DE LIBREOFFICE CON GTK3 Al abrir Libreoffice con el soporte para GTK3 activado el aspecto será el siguiente:\nComo se puede observar los menús y los paneles de Libreoffice han cambiado a mejor.\nAunque las diferencia de aspecto no sea enormemente grande, creo que todo el mundo coincidirá que a estas altura la visualización de Libreoffice con GTK3 es mejor que con GTK2.\n","permalink":"https://geeklandlinux.github.io/posts/usar-libreoffice-con-gtk3-en-gnu-linux/","summary":"\u003cp\u003eEl soporte de Libreoffice para GTK3 ha mejorado muchísimo en los últimos meses y a día de hoy puedo afirmar que Libreoffice con GTK3 luce muchísimo mejor que Libreoffice con GTK2.\u003c/p\u003e","title":"Usar Libreoffice con GTK3 para mejorar su aspecto en GNU Linux"},{"content":"A estas alturas todo el mundo es consciente que Windows 10 espía y vulnera la privacidad de sus usuarios recolectando datos indiscriminadamente y monitoreando lo que estamos haciendo en todo momento.\nAlgunos usuarios de Windows pensarán que la monitorización y recolección de datos es un proceso que sigue Microsoft para mejorar sus productos. En el caso que esto fuera cierto y me dieran la posibilidad de elegir si participo o no participo no me importaría ceder mis datos.\nPero la realidad es bien distinta a la que acabo de comentar y a continuación lo veremos.\n¿CÓMO WINDOWS 10 ESPÍA A SUS USUARIOS? Los motivos que en mi caso me hacen pensar que las intenciones de Microsoft no son del todo transparentes son las siguientes:\nWindows 10 no da la posibilidad de elegir si queremos ser espiados u observados Aunque desactivemos todas las opciones de privacidad de Windows, Microsoft tiene las puertas abiertas para seguir monitoreando todo lo que hacemos en nuestro ordenador.\nEntrar en las opciones de configuración de privacidad y desactivar ciertas opciones no es útil porque Microsoft sigue espiando por otros medios que un usuario común no puede gestionar.\nPor lo tanto como Microsoft esconde opciones de configuración, quieras o no quieras, siempre vulnera tu privacidad y no te da libertad de decir si quieres ser espiado o no.\nWindows nos modifica las opciones de privacidad configuradas sin aviso previo Aunque configuremos nuestras opciones de privacidad hay que ir con mucho cuidado cuando actualizamos nuestro sistema operativo.\nEn el momento de actualizar nuestro sistema operativo, por error o a propósito, Windows puede modificar las opciones de privacidad que tenemos configuradas.\nDe este modo Windows puede continuar obteniendo información sin nuestro conocimiento para sus fines.\nWindows regala licencias de uso de Windows 10 Windows ha ofrecido, y de algún modo seguirá ofreciendo, licencias de uso gratis durante 1 año.\nNinguna empresa da servicios y/o productos de forma gratuita, por lo tanto Microsoft intentará monetizar la totalidad de datos que capture durante nuestro uso de Windows.\nAl igual que ha hecho Google, ahora Microsoft pretende que el producto seamos nosotros. Esto sin duda es una razón de peso para poder afirmar que Windows 10 espía a sus usuarios.\nLos términos y condiciones de la licencia de Windows son abusivos Los términos y condiciones de la licencia de Windows son completamente abusivos.\nDentro de la licencia hay términos que al aceptarlos implican lo siguiente:\nDamos acceso a revisar nuestro email y la totalidad de contenido que tenemos almacenado en nuestro ordenador a Microsoft. Damos consentimiento para que Microsoft, cuando ellos lo consideren oportuno, use toda la información recopilada para entregarla a las autoridades que ellos crean pertinentes. La configuración estándar de Windows es una aberración en términos de privacidad La configuración estándar predeterminada que ofrece el instalador de Windows es una aberración en términos de privacidad.\nEl instalador de Windows 10 es genial porque es simple, fácil e intuitivo. No obstante al final de la instalación ofrece configurar la cuenta de usuario de forma automática presionando un botón.\nRechazad esta opción. Si seleccionáis esta opción Windows activará toda su maquinaria pesada para registrar absolutamente todo lo que hacemos en nuestro ordenador.\nWindows dispone un keylogger instalado y activado de serie Con el ridículo pretexto de ayudarnos a mejorar nuestra escritura, Windows incluye un Keylogger activado de serie en nuestro sistema operativo.\nEsto implica que Microsoft tiene la capacidad de registrar y consultar absolutamente todo lo que escribimos con nuestro teclado.\nEste simple hecho da la capacidad a Microsoft de conocer los siguientes aspectos:\nNuestras contraseñas. Si Microsoft puede disponer de nuestras contraseñas todo cifrado es completamente inútil. Nuestros datos bancarios. El contenido de emails confidenciales que podamos enviar. Etc. Windows 10 espía todo que lo que hablamos Con la excusa del asistente Cortana, Windows tiene la capacidad de escuchar y registrar todo lo que decimos en frente de nuestro ordenador.\nPor lo tanto si te preocupas de tapar tu webcam, hazlo lo mismo con tu micrófono, porque Windows tiene la capacidad de captar todo lo que dices por el micrófono de tu ordenador.\nAdemás, entre otras funcionalidades, Cortana puede buscar archivos en nuestro disco duro. Esto implica que Cortana tiene la capacidad de monitorear nuestros archivos y enviar la información a los servidores de Microsoft.\nWindows tiene una copia de seguridad del contenido de nuestro ordenador Con servicios como One Drive y Cortana unido al resto de maquinaria espía disponible por parte de Microsoft, se puede afirmar que Microsoft dispone de una copia de seguridad del contenido que tenemos almacenado en nuestro disco duro.\nWindows sabe en todo momento las webs que visitamos Gracias al Mecanismo SmartScreen Microsoft protege a sus usuarios de la ejecución de software no autorizado y otros peligros.\nNo obstante, este mismo mecanismo también lo pueden usar para saber los programas que usamos y para tener la capacidad de saber en todo momento las webs que estamos visitando con los navegadores Internet Explorer y Microsoft Edge.\nTe invitan de forma clara a crear una cuenta de usuario Online El proceso de instalación prácticamente te fuerza a crear una cuenta de usuario Online para linkear la totalidad de información entre la totalidad de nuestros dispositivos. La opción de crear una cuenta local es muy difícil de ver para un usuario que realiza la instalación de Windows.\nLas cuentas online de Microsoft son otra de las formas existentes para recolectar información, y además representan un riesgo de seguridad importante ya que las cuentas son susceptibles de ser hackeadas.\nAfán desmesurado para que la gente se actualice a Windows 10 ¿Por qué creéis que Windows 10 tiene tanto afán que la gente se actualice a Windows 10?\nLa verdad es que hay varios motivos, pero sin duda el motivo principal es que hoy en día la información es poder, y Windows 10 incorpora los mecanismos necesarios para captar información de sus usuarios que a posteriori podrán usar para monetizarla a través de servicios y publicidad.\nOtros de los motivos secundarios pueden ser los siguientes:\nA partir de Windows 10, la totalidad de sus dispositivos de Microsoft utilizarán el mismo sistema operativo, y obviamente esto comportará una serie de beneficios y funcionalidades adicionales a los usuarios de productos/servicios de Microsoft. Si el número de usuarios de Windows 10 es muy elevado, Microsoft lo podrá usar como argumento de marketing para vender que Windows es un sistema operativo excepcional que se tiene que instalar sí o sí. Nota: Bajo mi punto de vista, en es apartado se han tocado bastantes de los mecanismos y de esta forma que los que hayan leido el post puedan tener una idea más clara de como Windows 10 espía a sus usuarios. REFLEXIÓN FINAL SOBRE LOS MECANISMOS USADOS POR MICROSOFT Después de leer el artículo, la gran mayoría de lectores quedarán más que convencidos que Windows 10 espía a sus usuarios mediante los mecanismos que hemos descrito.\nEn si los mecanismos que acabamos de describir no son ni buenos ni malos ya que se pueden usar de forma lícita o de forma ilícita. Lo realmente malo de estos mecanismos es que el usuario final no tiene la capacidad para poder desactivarlos de forma completa.\nAdemás Microsoft se aprovecha claramente de la ignorancia de la gran mayoría de sus usuarios para activar por defecto todas las opciones disponibles para recolectar información.\nNo os quepa ninguna duda que en el caso que la NSA o cualquier otra autoridad precise información de una persona, Microsoft la proporcionará sin ningún tipo de problema.\nPosiblemente por todos los motivos citados en este artículo, la gran mayoría de empresas aún siguen usando Windows 7 y no tienen previsto realizar ningún tipo de movimiento al respecto. Ciertos datos que Microsoft intenta recolectar pueden tener sentido en dispositivos móviles, pero no lo tienen en ordenadores de sobremesa o en un entorno empresarial.\nPor si aún tenéis algún tipo de duda que Windows 10 espía a sus usuarios, tan solo tenéis que leer el siguiente artículo en que la Comisión Nacional de Informática y Libertades de Francia (CNIL) ha exigido a Microsoft que deje de recopilar datos de forma indiscriminada de los ciudadanos Franceses, y en caso de hacerlo que se les informe de forma precisa.\nCOMO PODEMOS EVITAR QUE MICROSOFT NOS ESPÍE Y VULNERE NUESTRA PRIVACIDAD Hay formas para solucionar la totalidad o gran parte de los problemas de privacidad descritos en este artículo. Para ello les recomiendo que visiten y apliquen los consejos que se detallan en los siguientes artículos:\nInstrucciones para desactivar Cortana. Configurar las opciones de privacidad de Microsoft Edge. Como configurar las opciones de privacidad en Windows 10. Bloquear la recopilación de datos de telemetría de Microsoft. ","permalink":"https://geeklandlinux.github.io/posts/metodos-windows-10-espia-sus-usuarios/","summary":"\u003cp\u003eA estas alturas todo el mundo es consciente que Windows 10 espía y vulnera la privacidad de sus usuarios recolectando datos indiscriminadamente y monitoreando lo que estamos haciendo en todo momento.\u003c/p\u003e","title":"Explicación de como Windows 10 espía y viola nuestra privacidad"},{"content":"En el siguiente artículo veremos la totalidad de pasos a seguir para buscar e instalar fuentes tipográficas en Linux y particularmente en Debian.\nAdemás veremos los motivos por los cuales es útil saber como podemos instalar fuentes adicionales en nuestro sistema operativo.\nSITIOS O MÉTODOS PARA PODER ENCONTRAR FUENTES ADICIONALES Algunos de los métodos o medios para poder obtener fuentes tipográficas adicionales son los siguientes:\nDe los repositorios de nuestra distribución En los repositorios de nuestra distribución existen varios paquetes que podemos instalar y añaden fuentes adicionales a nuestro sistema operativo y a nuestros programas.\nEn apartados posteriores veremos como podemos instalar fuentes a partir de los repositorios de nuestro distro.\nDe páginas web que ofrecen la descarga de fuentes a sus lectores Hay multitud de páginas web que ofrecen fuentes para poder ser instaladas en nuestro sistema operativo.\nAlgunas de las páginas Web que nos ofrecen fuentes de forma gratuita son las siguientes:\nhttps://www.fontsquirrel.com/ http://www.fontspace.com/ http://www.grsites.com/archive/fonts/ http://www.dafont.com/ http://www.fontreactor.com https://fonts.google.com/ http://es.ffonts.net etc Nota: Dentro de cada una las páginas web se indicará si la fuente a descargar es Libre o no. Nota: En cada una de las páginas web se clasifican las categorías de forma que nos sea más fácil encontrar la tipografía que estamos buscando. Extraerlas directamente de un sistema operativo Finalmente también es posible extraer fuentes de sistemas operativos, como por ejemplo Windows y Ubuntu, e instalarlas en nuestra distribución favorita.\nA lo largo de este post veremos como lo podemos hacer de forma rápida y sencilla.\nALGUNOS TIPOS DE FUENTES EXISTENTES En Linux podemos instalar varios tipos de fuentes. Los tipos de fuentes más habituales que encontraremos son los siguientes:\nFuentes TrueType (ttf): Son las más habituales y se pueden utilizar en Linux, en Windows y en Mac OS. Las reconocerán fácilmente porque cuando las descarguen verán tienen el formato ttf.\nEste tipo de de formato de fuente fue originariamente creado por Apple, y a posteriori Microsoft adquirió una licencia de uso. Esto ha hecho que en la actualidad las fuentes ttf sean ampliamente usadas en Microsoft Windows.\nFuentes PostScript tipo 1 (pbf + pfm) Las fuentes Postscript fueron desarrolladas por Adobe para utilizarse en impresoras PostScipt.\nAl igual que las TrueType y las OpenType, son escalables a prácticamente cualquier tamaño y se utilizan mayoritariamente para realizar impresiones de alta calidad, como por ejemplo revistas y libros, por ser fuentes detalladas, suaves y de alta calidad. Por lo tanto este tipo de fuentes es ampliamente usada por los diseñadores gráficos.\nCada fuente se almacena en 2 archivos. El primero de ellos es con la extensión .pfb y el segundo con la extensión .pfm.\nFuentes OpenType (otf) Formato de tipografía basado en las fuentes TrueType.\nLas fuentes OpenType han sido creadas por Microsoft y Adobe de forma conjunta para reemplazar los formatos TrueType y PostScript.\nEste tipo de fuentes son una evolución del formato de fuentes TrueType y Postscript, y las reconocerán fácilmente porque cuando las descarguen verán que tienen el formato otf.\nPROCEDIMIENTOS PARA INSTALAR FUENTES EN GNU/LINUX Los distintos métodos que podemos usar en GNU/Linux para instalar fuentes se detallan a continuación.\nInstalar fuentes de los repositorios de nuestra distribución En los repositorios de nuestra distribución tenemos muchos paquetes que si los instalamos nos ofrecerán fuentes tipográficas adicionales.\nLa totalidad de paquetes relacionados con fuentes tipográficas de Debian se pueden consultar en los siguientes enlaces:\nDebian Estable https://packages.debian.org/stable/fonts/\nDebian Testing https://packages.debian.org/testing/fonts/\nDebian Sid https://packages.debian.org/sid/fonts/\nAlgunos de los paquetes presentes en una distribución Linux que considero útiles instalar son los siguientes:\nInstalar las fuentes de Microsoft En el caso que queramos o tengamos necesidad de instalar algunas de las fuentes de Microsoft, tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\nsudo apt-get install ttf-mscorefonts-installer Una vez instalado el paquete ttf-mscorefonts-installer pasaremos a disponer de las siguientes fuentes:\nAndale Mono, Arial Black, Arial, Comic Sans MS, Courier New, Georgia, Impact, Times New Roman, Trebuchet, Verdana, Webdings. La totalidad de fuentes mencionadas son fuentes privativas que se hallan en el repositorio Contrib de Debian.\nPara disponer de variantes libres de las tipografías Times, Arial y Courier, etc pueden instalar el paquete fonts-liberation ejecutando el siguiente comando en la terminal:\nsudo apt-get install fonts-liberation Instalar otras fuentes Finalmente para disponer de más tipografías también aconsejo instalar los siguientes paquetes ejecutando el siguiente comando en la terminal:\nsudo apt-get install fonts-dejavu fonts-freefont-ttf ttf-bitstream-vera fonts-freefont-otf fonts-lyx xfonts-100dpi xfonts-75dpi texlive-extra-utils texlive-math-extra texlive-fonts-extra texlive-fonts-utils texlive ttf-aenigma fonts-roboto-hinted fonts-roboto-unhinted Si quieren inspeccionar paquetes de fuentes dentro de vuestros repositorios, les recomiendo que hagan búsquedas de paquetes por las siguientes palabras:\nttf otf fonts postscript fonts etc Nota: Este apartado es válido para usuarios de la distribución Debian testing. En el caso de usar otras distros es posible que los paquetes mencionados no estén disponibles o tengan otro nombre. Instalar fuentes de Google Para instalar las fuentes de Google en nuestro sistema operativo tan solo tenemos que instalar el programa Typecatcher ejecutando el siguiente comando en la terminal:\nsudo apt-get install typecatcher Una vez instalado el programa lo abrimos, seleccionamos la fuente que queremos instalar y presionamos el botón Descargar tipografía\nDespués de presionar el botón se descargará y se instalará la fuente de forma automática.\nSi algún día queremos desinstalar la fuente que acabamos de instalar, tan solo tenemos que seleccionarla de nuevo y presionar el botón de Desinstalar tipografía\nInstalar fuentes de forma manual para todos los usuarios de un equipo Para instalar otros tipos de fuente de forma manual podemos usar varios métodos. Incluso existen distribuciones, como por ejemplo KDE Plasma, en las que podemos instalar una fuente simplemente haciendo doble clic sobre el archivo de la fuente.\nNo obstante un método de instalación que funcionará en todos los escritorios y para todos los usuarios del equipo es el siguiente:\nInicialmente podemos visitar una de las web mencionadas al inicio del post para descargar una fuente que sea de nuestro agrado. En mi caso he descargado la familia de fuentes Alien Encounters.\nUna vez descargada la fuente, o familia de fuentes, abrimos nuestro gestor de archivos en modo root ejecutando el siguiente comando en la terminal:\ngksudo thunar Nota: En vuestro caso deberéis reemplazar thunar por el nombre del gestor de archivos que uséis Copiamos la fuente que queremos instalar.\nA continuación navegamos dentro de la ubicación /usr/share/fonts\nComo la fuente que quiero instalar es del tipo del tipo TrueType, accedo dentro de la carpeta TrueType y pego la familia de fuentes que había copiado inicialmente.\nNota: Si fuera una fuente del Tipo OpenType o Postcript pegaríamos la fuente o familia de fuentes dentro de su carpeta correspondiente para de este modo tener las fuentes bien clasificadas. En el caso que sea necesario, nosotros mismos podemos crear las carpetas que creamos pertinentes. Finalmente tan solo tenemos recargar la lista de fuentes ejecutando el siguiente comando en la terminal:\nsudo fc-cache -f -v La próxima vez que abramos un programa podremos usar la fuente instalada sin ningún tipo de problema.\nNota: Las fuentes instaladas en este apartado serán disponibles para todos los usuarios. Si queremos que únicamente estén disponibles para nuestro usuario deberemos aplicar el mismo método, pero en vez de pegar las tipografías en /usr/share/fonts las deberemos pegar en la ubicación ~/.fonts Instalar fuentes de Windows en Linux El proceso para instalar fuentes de Windows en Linux es extremadamente sencillo.\nAbrimos el explorador de archivos de Windows y accedemos a la ubicación C:/Windows/fonts\nTal y como pueden ver en la captura de pantalla, en esta carpeta hay absolutamente todas las fuentes de nuestro sistema operativo Windows.\nUna vez dentro de la carpeta copiamos la totalidad de fuentes que necesitamos en un Pendrive.\nUna vez copiadas arrancamos nuestro sistema operativo Linux y abrimos nuestro gestor de archivos en modo root ejecutando el siguiente comando en la terminal:\ngksudo thunar A continuación navegamos dentro de la ubicación /usr/share/fonts\nComo las fuentes que quiero instalar son del tipo TrueType, accedo dentro de la carpeta ttf y pego las fuentes que grabe en el pendrive.\nFinalmente tan solo tenemos recargar la lista de fuentes ejecutando el siguiente comando en la terminal:\nsudo fc-cache -f -v De este modo podremos usar cualquiera de las fuentes de Windows en Linux. Esto incluye letras como por ejemplo la Calibri.\nNota: El procedimiento a seguir para instalar fuentes de otros sistemas operativos diferentes a Windows es el mismo. Tan solo tenemos que localizar la carpeta en en la que se almacenan las fuentes, copiarlas y finalmente pegarlas dentro de la ubicación /usr/share/fonts del sistema operativo Linux. Instalar fuentes a partir de software de terceros Existen varios programas que mediante una interfaz gráfica nos permitirán visualizar, gestionar, instalar y desinstalar fuentes de forma fácil e intuitiva.\nAlgunos de los programas que podemos usar son los siguientes:\nfont-manager gnome-specimen fontmatrix fontypython En este artículo solo mostraremos de forma breve el uso del programa font-manager.\nInstalar font-manager Para instalarlo tan solo tienen que ejecutar el siguiente comando en la terminal:\nsudo apt-get install font-manager En el caso de ser usuarios de Ubuntu pueden instalarlo ejecutando los siguientes comandos en la terminal:\nsudo add-apt-repository ppa:font-manager/staging sudo apt-get update sudo apt-get install font-manager Instalar fuentes con Font-Manager Una vez finalizada la instalación abrimos el programa, clicamos encima del icono Gestionar fuentes y cuando aparezca el submenu clicamos en la opción Install Fonts.\nSeguidamente seleccionamos las fuentes que queremos instalar y presionamos el botón Aceptar.\nFinalmente presionaremos el botón Reload Now para recargar el listado de fuentes.\nDespués de realizar estos simples pasos podremos abrir el programa que queramos y usar las fuentes que acabamos de instalar.\nNota: Este programa únicamente instala las fuentes para un usuario en particular ya que instala las fuentes en el directorio ~/.fonts SACAR UN LISTADO DE LA TOTALIDAD DE FUENTES INSTALADAS EN NUESTRO EQUIPO En el caso que precisen sacar un listado de la totalidad de fuentes instaladas, pueden ejecutar el siguiente comando en la terminal:\nfc-list Si lo que quieren es obtener un fichero de texto con la totalidad de fuentes instaladas pueden ejecutar el siguiente comando en la terminal:\nfc-list \u0026gt;fuentes_instaladas.txt SITUACIONES EN LAS QUE PUEDE SER NECESARIO INSTALAR FUENTES En numerosas situaciones puede ser necesario instalar fuentes adicionales en nuestro equipo. Algunas de ellas son las siguientes:\nSi visualizamos una página web que tiene una fuente no disponible en nuestro equipo se visualizará de forma incorrecta y se verá fea. En ocasiones nos enviarán presentaciones de Powerpoint o de Impress que no se podrán visualizar de forma correcta porque no tenemos la fuente correcta instalada en nuestro ordenador. Si somos diseñadores gráficos tendremos más opciones para elegir la fuente adecuada en función del trabajo a realizar. La típica ocasión en la que realizamos un trabajo de grupo y todos los integrantes del grupo se ponen de acuerdo para escribir el documento con el tipo de letra Calibri. Para finalizar solo decirles que con la aplicación de los consejos mencionados en este post podremos instalar las fuentes que necesitamos para cumplir la totalidad de nuestras necesidades.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-fuentes-en-debian-linux/","summary":"\u003cp\u003eEn el siguiente artículo veremos la totalidad de pasos a seguir para buscar e instalar fuentes tipográficas en Linux y particularmente en Debian.\u003c/p\u003e\n\u003cp\u003eAdemás veremos los motivos por los cuales es útil saber como podemos instalar fuentes adicionales en nuestro sistema operativo.\u003c/p\u003e","title":"Instalar fuentes tipográficas en Debian y en GNU Linux"},{"content":"A continuación veremos como podemos forzar que un programa use un tema GTK distinto al configurado. De esta forma podremos conseguir lo que podéis observar en la captura de pantalla:\nSi observáis la captura de pantalla veréis que hay tres programas abiertos y cada uno de ellos está usando un tema GTK diferente:\nEl primero de los programas es Gedit y está usando el tema Adwaita Dark. El segundo de los programas es Corebird y el tema que está usando es el Adwaita claro. Finalmente el tercer programa es Evince y usa tema Numix. UTILIDADES DE FORZAR QUE UN PROGRAMA USE UN TEMA GTK DISTINTO AL PREDETERMINADO Las utilidades que puede tener la funcionalidad que acabamos de ver son las siguientes:\nEn ocasiones existen temas que no se visualizan correctamente en determinados programas. Si este es nuestro caso podemos forzar que el programa que se visualiza de forma incorrecta se abra con un tema GTK distinto al que tenemos configurado en nuestro sistema operativo.\nOtra utilidad que puede tener es simplemente estética. Puede darse el caso que un determinado programa luzca mucho mejor con un tema claro que con un tema oscuro.\nFORZAR QUE UN PROGRAMA SE ABRA CON EL TEMA GTK QUE QUERAMOS DESDE LA TERMINAL Los pasos a seguir para forzar que un programa se abra con el tema GTK que queremos son los siguientes:\nAveriguar el tipo de librerías que usa el programa Para averiguar el tipo de librerías que usa un programa les recomiendo que lean y apliquen los consejos que se muestran en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/que-son-librerias-gtk-version-usamos/\nForzar que un programa que usa librerías GTK3 se abra con el tema que queramos En el caso que el programa que queramos abrir use librerías GTK3, tan solo tenemos que abrir una terminal y teclear un comando del siguiente tipo:\nGTK_THEME=nombre_del_tema_gtk nombre_del_programa Por lo tanto si queremos abrir Libreoffice Writter con el tema Adwaita tenemos que ejecutar el siguiente comando en la terminal:\nGTK_THEME=Adwaita libreoffice --writer En el caso que nuestro objetivo sea abrir Corebird con el tema Adwaita oscuro tenemos que ejecutar el siguiente comando en la terminal:\nGTK_THEME=Adwaita:dark corebird Nota: Como habréis observado, en el comando que acabamos de ejecutar las variables de un tema se indican con el símbolo : seguido del nombre de la variante del tema. Finalmente si queremos abrir el programa Catfish con el tema Numix tan solo tenemos que ejecutar el siguiente comando en la terminal:\nGTK_THEME=Numix catfish De esta forma tan fácil y tan sencilla conseguiremos forzar que un programa use el tema GTK que nosotros queramos.\nForzar que un programa que usa librerías GTK2 o QT se abra con el tema que queramos Para forzar que un programa que utiliza librerías QT o GTK2 se abra con un tema en concreto tenemos que abrir una terminal y aplicar un comando del siguiente tipo:\nGTK2_RC_FILES=ruta_del_fichero_gtkrc nombre_del_programa Nota: La ruta del fichero gtkrc se encuentra dentro de la ubicación /usr/share/themes en cada una de las carpetas que contienen los temas. Por lo tanto si nuestro objetivo es abrir el programa Gimp con el tema Xfce-flat tenemos que ejecutar el siguiente comando en la terminal:\nGTK2_RC_FILES=/usr/share/themes/Xfce-flat/gtk-2.0/gtkrc gimp En el caso que queramos abrir el programa Okular con el tema Numix tenemos que ejecutar el siguiente comando en la terminal:\nGTK2_RC_FILES=/usr/share/themes/Numix/gtk-2.0/gtkrc okular De esta forma tan sencilla podemos aplicar el tema que queramos en una aplicación GTK2 o QT sin cambiar el tema GTK global de nuestro escritorio.\nFORZAR QUE UN PROGRAMA USE UN TEMA GTK DETERMINADO DE FORMA PERMANENTE Para que un programa determinado se abra de forma permanente con el tema que queramos, tan solo tenemos que modificar el contenido del archivo .desktop que usamos para abrir el programa.\nPara ello en la terminal ejecutamos el comando:\ngksudo thunar Una vez se abra gestor de archivos thunar navegamos a la ubicación /usr/share/applications.\nSeguidamente buscan el archivo .desktop del programa que quieren abrir con un tema GTK diferente al configurado y lo abren con su editor de textos preferido.\nModificaciones en el archivo .desktop para aplicaciones que usen GTK3 Una vez abierto el fichero .desktop buscan la línea que empieza por las letras Exec=\nComo en mi caso seleccione el archivo .desktop de Totem, la línea completa que empieza por Exec= es la siguiente:\nExec=totem %U Una vez encontrada la línea la modifican añadiendo el texto env GTK_THEME=nombre_del_tema quedando del siguiente modo:\nExec=env GTK_THEME=Adwaita totem %U Una vez realizadas las modificaciones guardamos los cambios y cerramos el fichero. A partir de ahora cada vez que abramos Totem se visualizará con el tema GTK Adwaita.\nModificaciones en el archivo .desktop para aplicaciones que usen GTK2 o QT Una vez abierto el fichero .desktop buscan la línea que empieza por las letras Exec=.\nComo en mi caso seleccione el archivo .desktop de VLC, la línea completa que empieza por Exec= es la siguiente:\nExec=/usr/bin/vlc --started-from-file %U Una vez encontrada la línea la modifican añadiendo el texto env GTK2_RC_FILES=ruta_del_fichero_gtkrc_del_tema quedando del siguiente modo:\nExec=env GTK2_RC_FILES=/usr/share/themes/Clearlooks/gtk-2.0/gtkrc /usr/bin/vlc --started-from-file %U Una vez realizadas las modificaciones guardamos los cambios y cerramos el fichero. A partir de ahora cada vez que abramos VLC se visualizará con el tema Clearlooks.\nLIMITACIONES DEL MÉTODO MENCIONADO EN EL POST El método para abrir programas con el tema GTK que queramos solo se puede aplicar bajo las siguientes condiciones:\nLos temas que asignamos a un programa GTK3 tienen que ser compatibles con GTK3. Los temas que asignamos a un programa GTK2 tienen que ser compatibles con GTK2. La versión de las librerías GTK3 instaladas en nuestro ordenador tienen que ser iguales o superiores a la versión 3.12. Además hay que tener en cuenta que el cambio de tema en la barra de título únicamente se aplicará en los programas que son de Gnome.\n","permalink":"https://geeklandlinux.github.io/posts/forzar-programa-use-tema-gtk-distinto/","summary":"\u003cp\u003eA continuación veremos como podemos forzar que un programa use un tema GTK distinto al configurado. De esta forma podremos conseguir lo que podéis observar en la captura de pantalla:\u003c/p\u003e","title":"Forzar que un programa use un tema GTK distinto al configurado"},{"content":"Semanas atrás escribimos un artículo en el que se detallaba el procedimiento a seguir para instalar DNSCrypt en Windows. Ahora en el presente artículo veremos los pasos a seguir para configurar DNSCrypt en Windows\nCONFIGURAR DNSCRYPT EN WINDOWS Para configurar DNSCrypt en windows tenemos que acceder a la carpeta en la que lo instalamos que en mi caso es la C:\\Program Files\\dnscrypt-proxy-win32.\nUna vez dentro de la carpeta abrimos DNSCrypt haciendo doble click en el archivo dnscrypt-winservicemgr.exe\nDespués de abrir el programa seleccionamos el adaptador de red que está en uso, el servidor DNS que queremos usar y el protocolo que usará DNSCrypt.\nEn mi caso las opciones seleccionadas son las siguientes:\nComo siempre me conecto vía Wifi selecciono el adaptador de red inalámbrico. Si quieren pueden seleccionar todas los adaptadores y de esto modo estarán seguros que siempre usan DNSCrypt. El servidor DNS seleccionado es 4ARMED porque no guarda logs, utiliza la validación DNSSEC y es cercano geográficamente. Elijo el protocolo UDP porque es el protocolo más habitual para resolver las peticiones DNS. Muestra de la configuración Aplicada en mi caso:\nNota: Para encontrar información sobre los servidores que ofrece DNSCrypt pueden visitar la siguiente URL o los archivos de la carpeta en que están los archivos de DNSCrypt. ACTIVAR DNSCRYPT EN WINDOWS Una vez finalizada la configuración tan solo tenemos que presionar encima del botón Enable.\nUna vez presionado el botón DNSCrypt se activará y podremos visualizar la frase DNSCrypt Service is Enabled.\nUna vez activado, DNSCrypt ya está funcionando sin ningún tipo de problema.\nCon estos simples pasos podemos configurar DNSCrypt en Windows de forma muy sencilla. Además la próxima vez que reiniciemos el ordenador DNSCrypt se iniciará de forma completamente automática.\nCOMPROBAR QUE LA CONFIGURACIÓN DEL ADAPTADOR DE RED ES CORRECTA En estos momentos DNSCrypt debe estar funcionando, no obstante procederemos a comprobar que nuestro adaptador de red está bien configurado.\nPara ello presionamos la combinación de teclas Win+R.\nUna vez aparezca la ventana de Ejecutar introducimos el texto ncpa.cpl y presionamos el botón Aceptar.\nEn la ventana Conexiones de Red seleccionamos nuestro adaptador de red, presionamos el botón derecho del ratón y clicamos en la opción Propiedades del menú contextual.\nEn las propiedades de nuestro adaptador de seleccionamos la opción Protocolo de Internet versión 4 (TCP/IPv4) y presionamos el botón Propiedades.\nFinalmente comprobamos que en el campo Servidor DNS preferido hay la IP 127.0.0.1.\nEn el caso poco probable que hubiera otra IP diferente a la 127.0.0.1 la tendrán que modificar manualmente y presionar el botón Aceptar.\nOPCIONES ADICIONALES PARA CONFIGURAR DNSCRYPT EN WINDOWS Nota: Este apartado es opcional y solo se recomienda que lo apliquen usuarios de nivel medio/avanzado. Si queremos podemos incluir opciones adicionales para configurar DNSCrypt en Windows. Para ello presionamos la combinación de teclas Win+R.\nCuando aparezca la ventana de ejecutar escribimos regedit y presionamos el botón Aceptar.\nUna vez dentro del registro del sistema navegamos hacia la siguiente ruta.\nHKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\services\\dnscrypt-proxy\\Parameters Una vez dentro de la ruta mencionada verán las siguientes entradas en el registro:\nLo primero que vemos es que modificando los valores de las entradas podemos modificar los siguientes aspectos:\nLa IP local en la que está escuchando DNSCrypt. El servidor DNS que utiliza DNSCrypt. Este valor también lo podemos modificar a través de la interfaz gráfica. Además podemos añadir entradas adicionales en el registro de DNSCrypt para modificar su funcionamiento.\nEntradas adicionales que podemos añadir al registro de DNSCrypt Algunas de las entradas adicionales que podemos incluir en el registro de DNSCrypt son las siguientes:\nPlugins (REG_MULTI_SZ) Opción para añadir prefiltros y postfiltros a las peticiones DNS realizadas al servidor.\nLos prefiltros actuarán antes de cifrar el contenido y enviar la petición DNS al servidor DNS.\nLos postfiltros se aplicarán una vez se descifre la respuesta enviada por el servidor DNS.\nNota: En mi caso no utilizo esta opción. Quien precise mayor información sobre cómo usar los plugins puede consultar el siguiente enlace. LogFile (REG_SZ) Entrada para indicar la ubicación donde queremos guardar los log de DNSCrypt. En mi caso elegiré la ubicación C:\\dnscrypt-proxy.log\nEDNSPayloadSize (DWORD) Entrada que sirve para determinar el tamaño máximo de respuesta que recibiremos por parte del servidor DNS.\nEn mi caso fijaré el valor de la entrada ENSPayloadSize en 1252 bytes.\nMaxActiveRequests (DWORD) Nunca he utilizado este parámetro porque en principio en mi caso no resulta útil.\nEste parámetro delimita el número máximo de peticiones activas al servidor DNS. Si no introducimos este parámetro en el registro, DNSCrypt considerará que el número máximo de peticiones son 250.\nTCPOnly (DWORD) Este parámetro es para forzar que la totalidad de peticiones DNS se hagan a través del protocolo TCP.\nUsando el protocolo TCP las peticiones DNS se resuelven de forma más lenta pero más segura.\nEn el caso poco probable que tengamos que lidiar con respuestas de peticiones DNS mayores a 512 bytes deberemos activar está opción.\nEsta opción también puede ser útil en el caso que estemos detrás una red que por ejemplo bloquee todo el tráfico excepto en los puertos 80 y 443 mediante el protocolo TCP.\nClientKeyFile (REG_SZ) Existen servidores que están configurados para responder las peticiones de los clientes que dispongan de una clave pública determinada.\nLa entrada ClientKeyFile servirá para introducir la ruta del archivo que contiene la clave pública del servidor DNS. En mi caso nunca he utilizado esta opción.\nProviderKey (REG_SZ) Existen servidores que están configurados para únicamente responder las peticiones de los clientes que dispongan de una clave pública determinada.\nLa entrada ClientKeyFile servirá para introducir directamente la clave pública del servidor DNS. En mi caso nunca he utilizado esta opción.\nEphemeralKeys (DWORD) DNSCrypt siempre usa la misma clave pública para establecer una conexión cifrada con el servidor DNS. Esto en términos de privacidad es malo porque nuestra clave pública puede ser asociada a nuestra IP.\nPara evitar este problema introducimos la entrada Ephermeralkeys con el valor 1.\nActivando EphemeralKeys, cada petición DNS se realizará mediante una clave diferente. De este modo será prácticamente imposible asociar nuestra IP con las peticiones DNS.\nEsta opción comporta un consumo de CPU adicional que en algunos casos puede llegar a ralentizar nuestro ordenador.\nIntroducir las entradas adicionales en el registro En mi caso solo introduciré 3 entradas adicionales que son las que acostumbro a usar.\nLogfile del tipo valor de Cadena. Esta entrada en mi caso tiene el valor. C:\\dnscrypt-proxy.log EDNSPayloadSize del tipo Valor de Dword (32 bits) con un valor Decimal de 1252. Si fijamos un valor de 512 o inferior a 512 estaremos desactivando esta opción. EphemeralKeys del tipo Valor de Dword (32 bits) con un valor de 1. Si en vez de usar un valor 1 usamos el valor 0 desactivaremos esta opción. Una vez introducidas las entradas mencionadas en el registro tendrá el siguiente aspecto:\nReiniciar el servicio DNSCrypt Una vez introducidos los parámetros adicionales en el registro reiniciaremos el servicio DNSCrypt.\nPara ello lo único que tenemos que realizar es reiniciar nuestro ordenador.\nNota; No es la forma más elegante para reiniciar un servicio. No obstante tratándose de un tutorial he creído conveniente aplicar este método. COMPROBAR QUE DNSCRYPT FUNCIONA DE FORMA CORRECTA Finalmente ya solo nos queda comprobar que DNSCrypt está funcionando de forma adecuada. Para ello podemos seguir las instrucciones detalladas en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/comprobar-el-funcionamiento-de-dnscrypt/\n","permalink":"https://geeklandlinux.github.io/posts/configurar-dnscrypt-en-windows/","summary":"\u003cp\u003eSemanas atrás escribimos un artículo en el que se detallaba el procedimiento a seguir para \u003ca href=\"/posts/instalar-dnscrypt-linux-ubuntu-windows/\"\u003einstalar DNSCrypt en Windows\u003c/a\u003e. Ahora en el presente artículo veremos los pasos a seguir para configurar DNSCrypt en Windows\u003c/p\u003e","title":"Configurar DNSCrypt en Windows para cifrar las peticiones DNS"},{"content":"Desde la llegada de la actualización de Windows 10 aniversario, el navegador Microsoft Edge permite instalar extensiones del mismo modo que lo hacen Chrome, Firefox u Opera.\nEl procedimiento para instalar extensiones es realmente simple. Tan solo tenemos que seguir los siguientes pasos:\nACCEDER A LAS EXTENSIONES DISPONIBLES PARA INSTALAR Abrimos el navegador Microsoft Edge. Una vez abierto clicamos encima de los 3 puntos de la parte superior derecha. Seguidamente se abrirá un menú en el que deberemos clicar encima de la opción Extensiones.\nA continuación tenemos que clicar encima de la opción Obtener extensiones de la Tienda.\nDespués de clicar encima de la opción se abrirá la tienda de Windows en la que podremos ver la totalidad de extensiones disponibles.\nNota: En la actualidad existen pocas extensiones y la gran mayoría están en estado Beta. No obstante las extensiones existentes son de suma utilidad ya que entre ellas se encuentran Adblock, Last Pass, Pocket, etc. Instalar extensiones que precisemos en Edge Buscamos la extensión que queremos instalar, que en mi caso es Save to Pocket, y clicamos encima de ella.\nFinalmente presionamos encima del botón Gratis y la extensión se descargará e instalará.\nAsí de fácil es instalar extensiones en Microsoft Edge.\nActivar la extensión que acabamos de instalar Una vez instalada la extensión presionamos encima del botón Iniciar.\nSeguidamente se abrirá Microsoft Edge con un menú desplegable informativo que acabamos de instalar la extensión. En el menú desplegable presionamos sobre el botón Actívalo.\nDespués de presionar encima del botón la extensión se activará y podremos empezar a usarla.\nCONFIGURAR Y GESTIONAR LAS EXTENSIONES INSTALADAS Una vez instalada y activada la extensión es posible que necesitemos configurarla. Para ello clicamos encima de los 3 puntos de la parte superior derecha. Seguidamente se abrirá un menú en el que deberemos clicar encima de la opción Extensiones.\nA continuación aparecerán la totalidad de extensiones instaladas. Tal y como se puede ver en la captura de pantalla, nos ubicamos encima de la extensión que queremos configurar y presionamos encima del icono de configuración.\nFinalmente aparecerá un menú en el que podremos configurar y gestionar la extensión en cuestión.\nA modo de ejemplo, las opciones de configuración que nos ofrece Save to Pocket son las siguientes:\nActivar y desactivar la extensión Mostrar el botón de pocket en la barra de Edge para guardar páginas de forma instantánea. Si clicamos encima del botón opciones encontraremos más opciones de configuración para la extensión como por ejemplo configurar un atajo de teclado para guardar contenido en Pocket, etc. Desinstalar la extensión. De este modo tan simple podemos modificar la configuración de las extensiones y en caso que lo consideremos oportuno también las podemos desinstalar.\nDESINSTALAR EXTENSIONES EN MICROSOFT EDGE Tal y como hemos visto en el apartado anterior, a partir de las opciones de configuración de cada una de las extensiones podemos ir desinstalándolas.\nOtra opción disponible es desinstalar las extensiones a través del menú de Aplicaciones y características.\nPara ello en el menú de búsqueda de Windows tecleamos Agregar o quitar programas. Una vez realizada la búsqueda clicamos encima de la opción Agregar o quitar programas.\nDentro del menú de aplicaciones y características buscamos la extensión que queremos desinstalar y clicamos sobre ella.\nFinalmente tan solo tenemos que presionar encima del botón Desinstalar.\nCon estos simples pasos podremos instalar, configurar y desinstalar extensiones en Microsoft Edge de forma rápida y sencilla.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-extensiones-navegador-edge/","summary":"\u003cp\u003eDesde la llegada de la actualización de Windows 10 aniversario, el navegador Microsoft Edge permite instalar extensiones del mismo modo que lo hacen Chrome, Firefox u Opera.\u003c/p\u003e\n\u003cp\u003eEl procedimiento para instalar extensiones es realmente simple. Tan solo tenemos que seguir los siguientes pasos:\u003c/p\u003e","title":"Instalar extensiones y gestionarlas en el navegador Microsoft Edge"},{"content":"En artículos anteriores vimos los pasos a seguir para instalar, configurar y usar DNSCrypt en Linux y en Windows. Para terminar de completar los artículos que escribí en su día a continuación explicaremos como usar DNSmasq para mejorar el rendimiento de DNSCrypt.\nSe recomienda que el punto de partida para aplicar este tutorial sea haber seguido las instrucciones mencionadas en los siguientes enlaces:\nhttps://geeklandlinux.github.io/posts/instalar-dnscrypt-linux-ubuntu-windows/\nhttps://geeklandlinux.github.io/posts/configurar-dnscrypt-en-gnu-linux/\nVENTAJAS OBTENIDAS AL USAR DNSMASQ CON DNSCRYPT Si queremos podemos optimizar el rendimiento de DNSCrypt usando el servicio DNS cache de DNSmasq.\nLas ventajas que obtendremos al usar DNSmasq son las siguientes:\nSi la petición DNS a resolver está almacenada en nuestra memoria cache se resuelve al instante. De esta forma podremos incrementar nuestra velocidad de navegación. Si la petición DNS está almacenada en nuestra memoria no tendremos que consultar los servidores DNS externos y por lo tanto ganaremos en seguridad. INSTALAR DNSMASQ Para instalar DNSmasq ejecutaremos el siguiente comando en la terminal:\nsudo apt-get install dnsmasq Una vez ejecutado el comando se instalará DNSmasq en nuestro sistema operativo.\nNota: Los usuarios que no usen el gestor de paquetes apt-get deberán usar el comando equivalente en su gestor de paquetes. CONFIGURAR DNSMASQ PARA TRABAJAR CON DNSCRYPT Seguidamente modificaremos el archivo de configuración de DNSmasq para que pueda trabajar conjuntamente con DNSCrypt.\nPara ello ejecutamos el siguiente comando en la terminal:\nnano /etc/dnsmasq.conf Una vez abierto el editor de textos nano tenemos que realizar las siguientes modificaciones:\nDeterminar el puerto de escucha de DNSmasq Tenemos que buscar la siguiente línea:\n#listen-address= Una vez encontrada la tenemos que descomentar y añadir la IP local loopback en que queremos que DNSmasq escuche las peticiones.\nEn mi caso selecciono la siguiente IP.\nListen-address=127.0.0.1 Nota: La dirección a introducir tiene que ser del tipo 127.x.x.x y que no coincida con la de DNSCrypt que en mi caso es 127.0.2.1 Hacer que DNSmasq solo pueda resolver peticiones de las direcciones en que escucha Para garantizar que DNSmasq solo pueda resolver peticiones de las direcciones en que está escuchando tenemos que descomentar la siguiente línea:\nbind-interfaces En estos momentos DNSmasq solo resolverá las peticiones DNS dirigidas a la dirección 127.0.0.1.\nEvitar que DNSmasq tenga en cuenta los hostname especificados en /etc/hosts Para evitar que DNSmasq tenga en cuenta los hostname especificados en /etc/hosts tenemos que buscar la siguiente línea:\n#no-hosts Una vez encontrada, la descomentamos de forma que quede de la siguiente forma:\nno-hosts Evitar que DNSmasq tenga en cuenta el contenido del archivo /etc/resolv.conf Con el fin de evitar que DNSmasq tenga en cuenta el contenido del fichero resolv.conf tenemos que buscar la siguiente línea:\n#no-resolv Una vez encontrada la descomentamos de forma que quede de la siguiente forma:\nno-resolv Determinar el tamaño de la cache de DNSmasq Para determinar el tamaño máximo de peticiones DNS que almacenará nuestro servidor tenemos que buscar el parámetro cache-size.\nEn mi caso el parámetro cache-size es el siguiente:\ncache-size=150 Como quiero almacenar más de 150 peticiones DNS, incremento el valor del parámetro cache-size a 500 quedando de la siguiente forma:\ncache-size=500 En estos momentos nuestro servidor DNSmasq será capaz de almacenar 500 peticiones DNS.\nEvitar que las búsquedas inversas de ip locales se resuelvan en un servidor DNS Externo Para evitar que las búsquedas inversas de IP locales, como por ejemplo 192.168.x.x, sean resueltas por servidores DNS externos tenemos que asegurar que dentro del archivo de configuración haya la opción:\nbogus-priv Habilitar DNSSEC en DNSmasq Al final del archivo de configuración tenemos que añadir la siguiente línea:\nproxy-dnssec Añadiendo esta línea copiaremos las datos de autenticación DNSSEC del servidor DNS de DNSCrypt a la cache de DNSmasq. De este modo podemos evitar ataques DNS Cache poisoning cuando se resuelvan peticiones DNS de forma local.\nSeleccionar el servidor DNS a utilizar en el caso que la petición DNS a resolver no esté almacenada en la cache Al final del archivo de configuración tenemos que añadir la siguiente línea:\nserver=127.0.2.1 De esta forma indicamos que en el caso que nuestra petición DNS no esté almacenada en la memoria cache de DNSmasq se resolverá usando los servidores DNS de DNSCrypt.\nEn mi caso DNSCrypt está escuchando en la dirección 127.0.2.1. Si en vuestros caso estuviera escuchando en otra dirección tendréis que reemplazar 127.0.2.1 por la dirección correspondiente.\nNota: En caso de no saber en que dirección escucha DNSCrypt pueden averiguarlo ejecutando el comando sudo netstat -lpn | grep dnscrypt en la terminal u leer el siguiente tutorial. Mejorar la seguridad evitando ataques DNS Rebinding Para mejorar la seguridad y evitar ataques del tipo DNS Rebinding, al final del archivo de configuración añadimos la siguiente línea:\nstop-dns-rebind De este modo evitamos que las peticiones DNS sean resueltas por un servidor que tenga una IP privada del tipo 192.168.1.101.\nPor lo tanto añadiendo esta opción tendremos más seguridad de que quien está resolviendo nuestra peticiones DNS no es un servidor malicioso dentro de nuestra red local.\nMejorar la seguridad evitando ataques vía script Para evitar que servidores DNS de internet nos puedan devolver una respuesta del tipo 127.0.0.1, añadimos la siguiente línea al final del fichero de configuración:\nrebind-localhost-ok De esta forma conseguiremos evitar ataques vía script procedentes de una página web.\nEvitar que dnsmasq proporcione servicio DHCP Dnsmasq funciona como servidor DNS cache y como servidor DCHP.\nPara evitar que DNSmasq proporcione servicio DHCP en las interfaces lo, wlan0 y eth0 aseguro que la opción no-dhcp-interface tenga los siguientes valores:\nno-dhcp-interface=wlan0, lo, eth0 De este modo DNSmasq actuará exclusivamente como servidor DNS cache.\nNota: Los nombres de vuestras interfaces de red pueden ser distintas a las mías. Solo resolver peticiones DNS de dominios completos Para que únicamente se puedan resolver peticiones DNS de dominios completos tenemos que buscar la siguiente la línea:\n#domain-needed Una vez encontrada la descomentamos quedando del siguiente modo:\ndomain-needed De este modo únicamente se podrán resolver peticiones DNS de nombres de dominio completo como por ejemplo geeklandlinux.github.io.\nPor lo tanto si intentamos resolver la petición del tipo geekland, nunca se podrá resolver porqué el el nombre de dominio no es completo.\nUna vez realizadas la totalidad de modificaciones de este apartado guardamos los cambios cerramos el fichero.\nMODIFICAR LA CONFIGURACIÓN DE NUESTRO GESTOR DE RED Una vez finalizada la configuración tenemos que cambiar la configuración de nuestro gestor de red para poder usar DNSmasq.\nPara ello accedemos a los ajustes de nuestro gestor de red, que en mi caso es Network Manager, y reemplazamos la IP del puerto de escucha de DNSCrypt (127.0.2.1) por la IP del puerto de escucha de DNSmasq (127.0.0.1).\nPor lo tanto en mi caso pasaré de tener esta configuración:\nA tener la siguiente configuración:\nUna vez aplicados los cambios reiniciamos el ordenador para asegurar que se apliquen los cambios efectuados en nuestro gestor de red y en Dnsmasq. Después de reiniciar el equipo ya podremos usar DNSmasq para mejorar el rendimiento de DNSCrypt\nASEGURAR QUE PODEMOS USAR DNSMASQ Una vez reiniciado el sistema comprobamos que DNSmasq está activo ejecutando el siguiente comando en la terminal:\nsudo systemctl status dnsmasq.service Si la respuesta del comando es parecida a la siguiente DNSmasq está activo:\ndnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server Loaded: loaded (/lib/systemd/system/dnsmasq.service; enabled; vendor preset: enabled) Drop-In: /run/systemd/generator/dnsmasq.service.d └─50-dnsmasq-$named.conf, 50-insserv.conf-$named.conf Active: active (running) since mar 2016-08-16 17:45:44 CEST; 20min ago En caso de no esté iniciado lo podemos iniciar ejecutando el siguiente comando en la terminal:\nsudo systemctl start dnsmasq.service Y para asegurar que en cada reinicio del sistema se iniciará de forma automática ejecutamos el siguiente comando en la terminal:\nsudo systemctl enable dnsmasq.service Nota: En caso de error al iniciar DNSmasq deberán repasar de nuevo la configuración realizada. COMPROBAR EL FUNCIONAMIENTO DE DNSMASQ Comprobar el funcionamiento de DNSmasq es sumamente sencillo.\nTan solo tenemos que abrir una terminal y ejecutar el comando dig seguido de un dominio cualquiera. En mi caso ejecuto el siguiente comando:\ndig geeklandlinux.github.io Si observamos el resultado obtenido podemos ver lo siguiente:\nLos servidores DNS han tardado 148 milisegundos en resolver la petición DNS. La petición DNS ha quedado almacenada en la cache por un período de 14400 segundos. A continuación aplicaremos de nuevo el mismo comando que aplicamos anteriormente obteniendo el siguiente resultado:\nEl tiempo de resolución de la petición DNS ahora es 0 milisegundos. Esto es signo inequívoco que la petición la ha resuelto DNSmasq. Por lo tanto podemos estar seguros que DNSmasq está funcionando correctamente.\nCONCLUSIONES RESPECTO A LA MEJORA DE RENDIMIENTO APORTADA POR DNSMASQ El incremento de rendimiento que obtengo al usar DNSmasq no es perceptible.\nLos motivos por los cuales pienso que no notaran ninguna mejora son los siguientes:\nLa cache de DNSmasq se almacena en la RAM. Por lo tanto la cache almacenada se pierde en cada uno de los arranques del sistema. La gran mayoría de navegadores web incorporan un servicio de DNS cache propio. Por lo tanto en la navegación Web no notaremos ninguna mejora. Las peticiones DNS almacenadas en la memoria RAM lo hacen por un período de tiempo limitado. Cuando DNSmasq cachea una dirección, lo hará únicamente por un período limitado de tiempo que pueden ser minutos u horas. Nota: El tiempo mínimo y máximo que dnsmasq cachea las peticiones DNS se puede especificar en el archivo de configuración de DNSmasq con las variables min-cache-ttl= y max-cache-ttl= Por estos motivos pienso que prácticamente no notaréis ninguna mejora de rendimiento usando DNSmasq.\nUsar DNSmasq seria interesante y provechoso en el caso que tuviéramos una red local con un número elevado de equipos alimentándose de un mismo servidor DNS.\nEn este caso probablemente si percibiríamos una mejora de rendimiento importante.\n","permalink":"https://geeklandlinux.github.io/posts/usar-dnsmasq-mejorar-rendimiento-dnscrypt/","summary":"\u003cp\u003eEn artículos anteriores vimos los pasos a seguir para instalar, configurar y usar DNSCrypt en Linux y en Windows. Para terminar de completar los artículos que escribí en su día a continuación explicaremos como usar DNSmasq para mejorar el rendimiento de DNSCrypt.\u003c/p\u003e","title":"Usar DNSmasq para mejorar el rendimiento de DNSCrypt"},{"content":"Cuando cambio de tarea o cuando cierro el ordenador acostumbro a cerrar todas las ventanas y programas abiertos uno por uno. Esto sin duda es una pérdida de tiempo.\nCon el fin de evitar este problema en el siguiente artículo veremos la forma de cerrar todas las ventanas que tenemos abiertas de forma inmediata y con una sola acción. Para ello tan solo tenemos que seguir las siguientes instrucciones.\nINSTALAR WMCTRL El primer paso a realizar es asegurar que tengamos instalado la herramienta wmctrl.\nLa herramienta wmctrl será la encargada de interactuar con nuestro gestor de ventanas y cerrar la totalidad de aplicaciones gráficas que tengamos abiertas.\nPara instalar wmctrl tenemos que ejecutar el siguiente comando en la terminal:\nsudo apt-get install wmctrl CREAR EL SCRIPT PARA CERRAR TODAS LAS VENTANAS DE GOLPE Una vez instalada la herramienta wmctrl construiremos un script para poder cerrar la totalidad de aplicaciones gráficas que tenemos abiertas de un plumazo y de forma inmediata.\nCreación del script para cerrar las ventanas Los pasos a seguir para armar el script son los siguientes:\nCrearemos una carpeta llamada scripts ejecutando el siguiente comando en la terminal:\nmkdir ~/scripts Dentro de la carpeta scripts crearemos el archivo cerrar_ventanas.sh que contendrá el código del script. Para ello ejecutamos el siguiente comando en la terminal:\ntouch ~/scripts/cerrar_ventanas.sh Una vez creado el archivo lo abrimos con el editor de texto nano ejecutando el siguiente comando en la terminal:\nnano ~/scripts/cerrar_ventanas.sh A continuación pegamos el siguiente código dentro del archivo:\nfor xid in $(wmctrl -l | grep -e \u0026#34;-1\u0026#34; -v | awk \u0026#39;{print $1}\u0026#39;); do wmctrl -i -c $xid ; done Seguidamente guardamos los cambios y cerramos el archivo.\nNota: El código pegado en el archivo cerrar_ventanas.sh cerrará la totalidad de ventanas abiertas en absolutamente todos nuestros escritorios virtuales. Explicación del script que acabamos de generar Lo que realiza el script que acabamos de crear es lo siguiente:\nCon el comando wmctrl -l sacamos un listado con información de todas las ventanas que tenemos abiertas en nuestro escritorio. Del listado obtenido en el punto uno, con el el comando grep -e \u0026ldquo;-1\u0026rdquo; -v, borramos las sticky windows. De esta forma al aplicar el script evitaremos cerrar programas como por ejemplo Conky. A partir del listado filtrado del punto 2 aplicamos el comando awk \u0026lsquo;{print $1}\u0026rsquo;. De esta forma obtenemos un listado que únicamente contiene la identificación en formato hexadecimal de cada una de las ventanas que queremos cerrar. Finalmente con el comando wmctrl -i -c lo cerramos la totalidad de ventanas que quedan en el listado filtrado del punto 3. Nota: El resto de partes no comentadas del script forman parte de la estructura típica de un bucle. Dar permisos al script Finalmente damos permisos de ejecución al script que acabamos de crear ejecutando el siguiente código en la terminal:\nchmod +x ~/scripts/cerrar_ventanas.sh En estos momentos la creación del script ha finalizado y seguidamente veremos como podemos usarlo.\nModificaciones del script original Con ligeras modificaciones del código podemos modificar el comportamiento del script y realizar las siguientes acciones:\n1- Cerrar todas las ventanas abiertas de un determinado programa como por ejemplo Libreoffice Writer:\nfor xid in $(wmctrl -l | grep -e \u0026#34;LibreOffice Writer\u0026#34; | awk \u0026#39;{print $1}\u0026#39;); do wmctrl -i -c $xid ; done 2- Cerrar las ventanas abiertas de un escritorio en concreto como por ejemplo el escritorio virtual 2:\nfor xid in $(wmctrl -l | grep \\ 1 | awk \u0026#39;{print $1}\u0026#39;); do wmctrl -i -c $xid ; done 3- Cerrar todas las ventanas abiertas de un escritorio en concreto como por ejemplo el escritorio virtual 1:\nfor xid in $(wmctrl -l | grep \\ 0 | awk \u0026#39;{print $1}\u0026#39;); do wmctrl -i -c $xid ; done 4- Cerrar todas las ventanas abiertas de Google Chrome en el escritorio 3:\nfor xid in $(wmctrl -l | grep -e \u0026#34;Google Chrome\u0026#34; | grep \\ 2 | awk \u0026#39;{print $1}\u0026#39;); do wmctrl -i -c $xid ; done Nota: Las partes en color rojo de los comandos de este apartado son las podéis modificar para cambiar el comportamiento del script. CERRAR LA TOTALIDAD DE PROGRAMAS Y CARPETAS DESDE LA TERMINAL Ejecutando el script desde la terminal Para cerrar la totalidad de ventanas abiertas desde la terminal tan solo tenemos que usar el script que acabamos de crear ejecutando el siguiente comando en la terminal:\nsh ~/scripts/cerrar_ventanas.sh Después de ejecutar el comando se cerrarán todas las ventanas que tenemos abiertas en nuestros escritorios.\nEjecutando un alias desde la terminal Para ejecutar de forma más fácil el script podemos construir un alias de la siguiente forma:\nCrear un alias para cerrar todas las ventanas abiertas Abrimos una terminal y ejecutamos el siguiente comando:\necho alias cerrar=\u0026#39;\u0026#34;sh ~/scripts/cerrar_ventanas.sh\u0026#34;\u0026#39; \u0026gt;\u0026gt; ~/.bashrc \u0026amp;\u0026amp; . ~/.bashrc Nota: El comando ejecutado para crear el alias introduce el texto alias cerrar=\u0026ldquo;sh ~/scripts/cerrar_ventanas.sh\u0026rdquo; al final del archivo ~/.bashrc. Una vez introducido el texto recarga el fichero ~/.bashrc para que el alias esté disponible al instante. Nota: La palabra cerrar la podéis sustituir por la que vosotros queráis. La palabra que uséis será la encargada de ejecutar el script para cerrar todas nuestras ventanas. Ejecutar el alias para cerrar todas las ventanas abiertas Una finalizado el proceso tan solo tenemos que abrir una terminal y ejecutar el nombre del alias que acabamos de crear que en mi caso es:\ncerrar Después de ejecutar el alias se cerrarán la totalidad de programas y ventanas abiertas en la totalidad de nuestros escritorios virtuales.\nEliminar el alias creado para cerrar todas las ventanas Si algún día queremos borrar el alias que acabamos de crear tan solo tendríamos que ejecutar el siguiente comando:\nunalias cerrar CERRAR TODAS LAS VENTANAS CON UN ATAJO DE TECLADO Otra opción disponible para ejecutar el script que acabamos de crear es mediante una combinación de teclas.\nPara crear un atajo de teclado con el fin de usar el script que creamos ejecutamos el siguiente comando en la terminal:\nxfce4-keyboard-settings Una vez ejecutado el comando aparecerá la siguiente ventana:\nTal y como se puede ver en la captura de pantalla, presionamos encima de la pestaña Atajos de Aplicación. Seguidamente presionamos en el botón Añadir.\nDespués de presionar en Añadir aparecerá la siguiente ventana:\nTal y como podemos ver en la captura de pantalla, en la ventana Orden de atajo introducimos el comando que usaríamos para ejecutar el script que en mi caso es:\n/home/joan/scripts/cerrar_ventanas.sh Presionamos el botón Aceptar. Después de presionar el botón Aceptar aparecerá la siguiente pantalla:\nEn estos momentos presionamos la combinación de teclas que deseamos para cerrar todas las ventanas abiertas de forma simultánea.\nEn mi caso la combinación de teclas elegida es Ctrl+Alt+Escape. Por lo tanto presiono la combinación de teclas Crtl+Alt+Escape\nA partir de estos momentos, cada vez que presione la combinación de teclas Crtl+Alt+Escape, se cerrarán de forma inmediata la totalidad de ventanas que tenemos abiertas en nuestros escritorios.\nCERRAR TODAS LAS VENTANAS DE GOLPE A TRAVÉS DE NUESTRO MENÚ Si queremos integrar el script en nuestro escritorio como si se tratara de un programa lo podemos hacer de la siguiente forma.\nCreación del archivo .desktop cerrar todas las ventanas Primeramente creamos un archivo .desktop con el nombre Cerrar Ventanas ejecutando el siguiente comando en la terminal:\ntouch ~/\u0026#34;Cerrar Ventanas.desktop\u0026#34; Seguidamente editamos el archivo que acabamos de crear ejecutando el siguiente comando en la terminal:\nnano “Cerrar Ventanas.desktop” A continuación pegamos el siguiente código dentro de archivo .desktop :\n[Desktop Entry] #Nombre de la aplicación Name=Cerrar Ventanas #Comentario que aparece al seleccionar el lanzador Comment=Cierra todas las ventanas abiertas #Comando que usaríamos para ejecutar el script desde la terminal Exec=sh /home/joan/scripts/cerrar_ventanas.sh #Ruta del icono que queremos que tenga el lanzador Icon=/usr/share/icons/Numix/128/apps/window-manager.svg #Para que el programa no se abra en una terminal Terminal=false #Indicación del tipo de archivo .desktop Type=Application #Para que el programa se ubique en el apartado Accesorios de nuestro menú Categories=Utility #Desactivar la notificación de inicio del script StartupNotify=false Nota: Los comentarios del código contienen la explicación de cada una de las líneas. Nota: La líneas de color rojo son las únicas susceptibles de modificación Una vez hayamos pegado y modificado el código guardamos los cambios y cerramos el archivo.\nDar los permisos correspondientes al archivo .desktop El siguiente paso será dar permisos de ejecución al archivo .desktop ejecutando el siguiente comando en la terminal:\nchmod +x \u0026#39;Cerrar Ventanas.desktop\u0026#39; Integrar el Script en el menú de nuestra distro Finalmente copiaremos el archivo .desktop en la ubicación ~/.local/share/applications ejecutando el siguiente comando en la terminal:\ncp ~/\u0026#34;Cerrar Ventanas.desktop\u0026#34; ~/.local/share/applications Una vez realizados todos los pasos tendremos el script que creamos inicialmente en el menú de nuestra distribución.\nPor lo tanto para cerrar la totalidad de ventanas abiertas en nuestro escritorio tan solo tenemos que ir al menú de nuestra distro y clicar encima encima del icono Cerrar Ventanas.\nDespués de clicar se cerrarán la totalidad de programas y ventanas abiertas en la totalidad de nuestros escritorios virtuales.\nENTORNOS DE ESCRITORIO EN LOS QUE PODEMOS APLICAR EL MÉTODO DEL ARTÍCULO He podido comprobar que el script elaborado en este artículo funciona a la perfección en los siguientes entornos de escritorio:\nXFCE Gnome LXDE Icewm Espero vuestro feedback en los comentarios para comprobar si en el resto de entornos de escritorio también funciona.\nVÍDEO DEMOSTRATIVO DEL FUNCIONAMIENTO En el siguiente vídeo pueden ver una muestra del funcionamiento de la totalidad de operaciones que hemos realizado a lo largo de este artículo:\nhttps://www.youtube.com/watch?v=5mKa4uRAT4w\n","permalink":"https://geeklandlinux.github.io/posts/cerrar-todas-las-ventanas-abiertas-de-golpe/","summary":"\u003cp\u003eCuando cambio de tarea o cuando cierro el ordenador acostumbro a cerrar todas las ventanas y programas abiertos uno por uno. Esto sin duda es una pérdida de tiempo.\u003c/p\u003e\n\u003cp\u003eCon el fin de evitar este problema en el siguiente artículo veremos la forma de cerrar todas las ventanas que tenemos abiertas de forma inmediata y con una sola acción. Para ello tan solo tenemos que seguir las siguientes instrucciones.\u003c/p\u003e","title":"Cerrar todas las ventanas abiertas de forma simultánea en Linux"},{"content":"Llevo más de 5 años usando Debian y la verdad es que estoy más que satisfecho. De momento no me planteo cambiar de distribución básicamente por los siguientes motivos:\nSUS REPOSITORIOS SON EXCELENTES Debian dispone de unos repositorios de software excepcionales por los siguientes motivos:\nLa cantidad de programas que podemos encontrar en los repositorios es enorme en cantidad y en calidad. Los paquetes de software de los repositorios reciben un buen mantenimiento por parte de los desarrolladores. No acostumbran a existir problemas de dependencias y en el caso que un paquete presente algún error se acostumbra a solucionar de forma rápida. Los repositorios nos dan la libertad de elegir si queremos disponer de paquetes privativos. Por lo tanto Debian da la posibilidad a los que son puristas de tener un sistema operativo 100% libre. El gestor de paquetes proporciona herramientas para poder mezclar paquetes de distintas ramas. Esto ofrece la posibilidad de descargar multitud de paquetes y programas de un solo sitio centralizado. Hay drivers libres y privativos para prácticamente la totalidad de tarjetas gráficas y el resto de Hardware de nuestro ordenador. LA METODOLOGIA DE DESARROLLO SEGUIDA POR DEBIAN Me gusta la forma que sigue Debian para desarrollar y hacer evolucionar sus versiones.\nSu metodología para desarrollar la distribución es la gran responsable de la estabilidad que proporciona este sistema operativo. A grandes rasgos la metodología de desarrollo de Debian es la siguiente:\nInicialmente los paquetes más nuevos se suben a las ramas inestable y experimental. A medida que los paquetes de la rama inestable van siendo testeados por los desarrolladores y por los usuarios se corrigen errores y se van subiendo a la rama testing. En un determinado momento se decide que la rama testing de Debian entra en fase de congelación. En este momento no entrarán nuevos paquetes en testing y los desarrolladores se focalizarán exclusivamente en corregir errores y hacer que el sistema sea estable. Cuando todos los bugs son cerrados y el sistema se considera estable la Rama Debian testing se convierte en una nueva versión de Debian estable y en la rama testing volverán a entrar nuevos paquetes. Consecuencias de la metodología de desarrollo Esta forma de desarrollar el sistema operativo consigue proporcionar una distribución Linux estable y adecuada a diversos tipos de usuarios.\nCada una de las 3 ramas de Debian es adecuada para una tipología de usuario distinto. Así de este modo:\nDebian Estable (Stable): Es la rama adecuada para usuarios que necesitan montar y gestionar un servidor en producción. El perfil base de un usuario de Debian estable es el siguiente:\nUsuarios que utilizan el ordenador en un entorno profesional. Personas que prefieren la estabilidad y la solidez antes que disponer de las versiones más actuales de Software. Usuarios que quieren un sistema operativo que les de cero problemas. Debian Testing: Rama ideal para ordenadores de escritorio y para usuarios comunes que tengan el siguiente tipo de perfil:\nUsuarios que utilizan el ordenador para trabajar o consumir contenido. Las personas que son exigentes en usar versiones actuales de programas. Personas a los que no les importa resolver incidencias que se puedan dar de forma muy puntual. Debian Inestable (Unstable): Rama perfecta para los usuarios a los que le gusta experimentar y jugar con el sistema operativo. Los usuarios de Debian inestable acostumbran a tener el siguiente perfil:\nUsuarios que son desarrolladores y/o con un perfil técnico. Personas a los que les guste experimentar con el sistema operativo. Usuarios a los que les gusta aportar su grano de arena para hacer evolucionar el sistema operativo. Usuarios que no les importa resolver incidencias/problemas que se dan en el sistema operativo. Nota: A lo largo de este apartado se han mencionado distintas ramas de Debian. Aparte de las ramas mencionadas existe la rama Old Stable que es la encargada de dar soporte a las versiones estables que no son la versión más actual. ESTABILIDAD Y SEGURIDAD La versión estable de Debian proporciona una gran estabilidad, pero las otras ramas de Debian no se quedan atrás.\nHe estado durante más de 5 años usando Debian testing y puedo afirmar que no he tenido prácticamente ninguna incidencia relacionada con el sistema operativo. Además las pocas incidencias que he tenido se han solucionado de forma relativamente fácil.\nDebian es un sistema seguro ya que en el caso de existir vulnerabilidades de seguridad son solucionadas de forma rápida por sus desarrolladores.\nSOPORTE EXISTENTE PARA LA DISTRIBUCIÓN En el caso de tener problemas se pueden solucionar de forma rápida y efectiva por los siguientes motivos:\nEs un sistema operativo universal y detrás existe una gran comunidad de personas dispuestas a ayudar a sus usuarios. Existen foros en Inglés y en Español capaces de dar respuesta y guiar a los usuarios en caso que tengan dudas y/o problemas. Un foro en español que bajo mi criterio es digno de destacar por su calidad es Exdebian. Ubuntu se basa en Debian. Por lo tanto en los foros de ayuda de Ubuntu también podremos encontrar ayuda y soporte para solucionar los problemas que se pueden dar en el día a día. OFRECE MÚLTIPLES POSIBILIDADES DE INSTALACIÓN Y USO Ofrece múltiples posibilidades de instalación. Algunas de las posibilidades son las siguientes:\nInstalación a través de una netinstall. Instalación mediante una imagen ISO completa. Permite ser probada en un LiveCD o en un LiveUSB Existen imágenes de instalación ISO que ofrecen componentes privativos de serie para facilitar la instalación. En definitiva el resultado de instalar Debian a partir de una ISO completa es una distribución que podemos empezar a usar out of the box sin prácticamente realizar nada.\nNota: El proceso de instalación a partir de una ISO completa es extremadamente simple ya que su instalador es simple e intuitivo. En cambio si lo que queremos es una distro a nuestra medida con únicamente los paquetes y funcionalidades que necesitamos podemos realizar una netinstall.\nEn mi caso siempre acostumbro a instalar Debian a través de una netinstall. De esta forma voy instalando los programas y las funcionalidades a medida que las voy necesitando.\nPara finalizar solo decir que Debian es compatible con multitud de arquitecturas. Esto permite instalar Debian en muchos dispositivos como por ejemplo un teléfono móvil, una tablet, un ordenador personal, en servidores, en supercomputadoras, etc.\nFILOSOFIA DE LA DISTRIBUCIÓN Es una distribución comunitaria que no pretende explotar la distribución con fines comerciales, como por ejemplo lo hacen Red Hat y Ubuntu.\nEste punto para mi es una garantía para preservar nuestra seguridad y nuestra privacidad.\nQuien esté interesado en este punto le invito a leer el contrato social de Debian.\nLA INSTALO UNA VEZ Y ME OLVIDO PARA SIEMPRE No tenemos que estar formateando nuestro ordenador cada 6 meses ya que las ramas testing e inestable siguen un modelo cercano al Rolling Release.\nSi instalamos Debian Testing o Inestable nunca tendremos que reinstalar nuestro sistema operativo porque los repositorios de Debian se actualizan a diario con nuevo Software. De esta forma cuando actualicemos nuestro sistema operativo iremos recibiendo las actualizaciones pertinentes de forma progresiva y siempre estaremos usando versiones de software actuales.\nLos usuarios que decidan usar la versión estable tendrán un soporte de 5 años y en el caso que quieran disponer de versiones de software actuales podrán usar los repositorios backports de Debian.\nNota: La intención de este post no es decir que Debian es superior al resto de distribuciones. Solo pretendo describir los aspectos que me gustan y por los cuales uso Debian.","permalink":"https://geeklandlinux.github.io/posts/motivos-para-debian-en-linux/","summary":"\u003cp\u003eLlevo más de 5 años usando Debian y la verdad es que estoy más que satisfecho. De momento no me planteo cambiar de distribución básicamente por los siguientes motivos:\u003c/p\u003e","title":"Motivos por los que recomiendo usar la distribución Debian en Linux"},{"content":"Cuando nuestro Router y el resto de elementos que conforman nuestra instalación de Internet van envejeciendo, se acostumbran a producir cortes y microcortes en nuestra conexión. Con el fin de detectar este problema, en el siguiente artículo explicaré un método elegante y práctico para poder detectar cortes y microcortes en nuestra conexión de internet.\nACCEDER A LA CONFIGURACIÓN DEL ROUTER Para acceder a la configuración de nuestro Router abrimos nuestro navegador.\nEn la barra direcciones tecleamos nuestra puerta de entrada, que en mi caso es 192.168.1.1, y presionamos la tecla Enter.\nSeguidamente aparecerá una ventana en la que deberemos ingresar el nombre de usuario y la contraseña de nuestro router.\nUna vez introducidos presionamos sobre el botón Iniciar Sesión.\nNota: Por normal general el nombre de usuario y la contraseña acostumbran a ser admin y admin respectivamente. En el caso que no sea admin admin pueden probar otras combinaciones como por ejemplo 1234 1234, admin 1234, 1234 admin, etc. Si ninguna les funciona llamen a vuestro proveedor de internet. ACTIVAR LOS LOGS DE NUESTRO ROUTER Una vez dentro de la configuración del router tenemos que activar el registro de Logs.\nPara ello en el menú de navegación de la izquierda clicamos en la opción Management y seguidamente en la opción System Log.\nUna vez dentro del menú System Log presionamos encima del botón Configure System Log.\nDentro de la configuración System log verán que existen varios campos para configurar.\nOpciones de configuración a seleccionar para registrar los logs. El contenido y valor que deben tener cada uno de los campos son los siguientes:\nLog: Campo donde se activa y desactiva el registro de logs. Como en nuestro caso queremos activar el registro de logs marcamos la opción Enable.\nLog Level: En este campo tenemos varias opciones que nos permiten definir el nivel de detalle que queremos que tenga el registro de logs de nuestro Router. Los diferentes niveles que podemos seleccionar son los siguientes:\nEmergency: Solo registra las incidencias que hacen que el sistema no se puede usar. Alert: Registra las incidencias Emergency y las que requieren emprender acciones inmediatas. Critical: El router registra incidencias Emergency, Alert y las condiciones que son consideradas críticas. Error: El router registra las incidencias Emergency, Alert, Critical y las condiciones de error. Warning: El router registra las incidencias Emergency, Alert, Critical, Error y las condiciones consideradas como significativas. Notice: El router registra las incidencias Emergency, Alert, Critical, Error, Warning y las condiciones consideradas como significativas de menor importancia. Informational: El router registra las incidencias Emergency, Alert, Critical, Error, Warning, Notice y las condiciones consideradas poco importantes y solo a modo de información. Debugging: Finalmente en la opción Debugging registra la totalidad de incidencias que se producen en nuestro Router. En mi caso selecciono la opción Debugging. No obstante para detectar cortes en la conexión de internet la opción critical seria suficiente.\nNota: El Router guarda los registros en un búfer. Cuando el búfer se llena la nueva incidencia sobreescribirá la incidencia más antigua. Esto implica que no podemos guardar de forma indefinida la totalidad de incidencias a no ser que las almacenemos en un servidor remoto. Display Level: Campo para filtrar el tipo de logs que queremos visualizar. Las opciones a seleccionar son exactamente las mismas que en el apartado anterior. En mi caso selecciono la opción Error ya que de este modo cuando visualice los logs veré la totalidad de registros de emergencia, de alerta, críticos y Errores.\nMode: En la opción Mode podemos seleccionar las opciones Local, Remote o Both.\nSi seleccionamos la opción Local los logs se guardaran en el búfer de nuestro router. Al seleccionar la opción Remote y realizar una pequeña configuración, los logs se almacenarán en un servidor remoto mediante syslog (en linux) o mediante MyRouter Log (en Windows). En futuros post veremos como usar esta opción. Finalmente si seleccionamos la opción Both los registros se almacenarán tanto en el Router como en el servidor remoto. En mi caso en este apartado selecciono la opción Local. De este modo los logs quedarán almacenados en mi router.\nCaptura de pantalla de la configuración de Logs aplicada a mi Router\nAplicar los cambios que acabamos de configurar Una vez seleccionadas las opciones apropiadas presionamos el botón Apply/Save.\nEn estos momentos detectar cortes en la conexión es sumamente fácil. Cada vez que se produzca un corte en la conexión de internet quedará registrado en nuestro router.\nNota: La configuración realizada en este apartado es válida para los Router Comtrend. En el caso que utilicen routers de otras marcas, es posible que el procedimiento de activación de los logs sea diferente al indicado. CONSULTAR LOS LOGS DE NUESTRO ROUTER PARA DETECTAR CORTES EN NUESTRA CONEXIÓN DE INTERNET Una vez finalizada la configuración ya podemos detectar cortes en nuestra conexión de internet visualizando los registros de la siguiente forma.\nAccedemos a la configuración del router tal y como se ha hecho en el inicio de este artículo.\nUna vez dentro de la configuración del router, en el menú de navegación de la izquierda clicamos en la opción Management y seguidamente en la opción System Log.\nDentro del menú System Log, tal y como se muestra en la captura de pantalla, presionamos encima del botón View System Log.\nJusto después de presionar sobre el botón aparecerá la siguiente ventana en la que podremos leer los logs almacenados por nuestro Router.\nSi observamos los resultados obtenidos vemos el siguiente mensaje a las 22:48:25:\nKernel Line 0: ADSL link down Por lo tanto podemos estar seguros que a las 22:48:25 se ha producido un corte en nuestra conexión de Internet.\nAdemás si continuamos leyendo en el log veremos que a las 22:48:53 obtenemos el siguiente mensaje:\nKernel Line 0: ADSL G. 992 started Por lo tanto la conexión se recupero a las 22:48:53 lo que significa que durante un lapso de 28 segundos estuvimos sin conexión a internet.\nAsí de esta forma tan fácil podremos detectar cortes en la conexión de Internet de nuestro domicilio.\nNota: Si tienen dudas del mensaje que se registra en el router tras un corte, tan solo tienen que simular un corte desenchufando el cable de internet del cajetín PTR. Después de simular el corte averiguaran el mensaje que ha generado el router al desconectarse. ¿QUÉ DATOS REGISTRAN LOS LOGS DE NUESTRO ROUTER? Algunos de los datos que podemos registrar y visualizar mediante los logs un router son los siguientes:\nLos cortes y microcortes que se generan en nuestra conexión de Internet. Los accesos e intentos de acceso a nuestro Router o a un servicio detrás de nuestro Router. Todo tipo de mensajes de error y de alerta de nuestro Router. Cuando nuestro Router ha refrescado nuestra IP pública a un servicio de redireccionamiento DNS Dinámico. Etc. REGISTRAR LA ACTIVIDAD DEL ROUTER EN UN SERVIDOR REMOTO En el transcurso de este artículo hemos visto que la cantidad incidencias que puede almacenar nuestro Router son limitadas.\nAdemás en el caso que se apague el router perderemos la totalidad de datos que hemos registrado.\nPara solucionar estos problemas, en las próximas semanas escribiré un post en el que detallaré el procedimiento a seguir para registrar de forma indefinida la totalidad de logs del router en un servidor remoto.\n","permalink":"https://geeklandlinux.github.io/posts/detectar-cortes-conexion-de-internet/","summary":"\u003cp\u003eCuando nuestro Router y el resto de elementos que conforman nuestra instalación de Internet van envejeciendo, se acostumbran a producir cortes y microcortes en nuestra conexión. Con el fin de detectar este problema, en el siguiente artículo explicaré un método elegante y práctico para poder detectar cortes y microcortes en nuestra conexión de internet.\u003c/p\u003e","title":"Detectar cortes en la conexión de internet con los logs del Router"},{"content":"En las pasadas semanas hemos visto como instalar y configurar DNSCrypt en Linux y en Windows. Si una vez instalado y configurado queremos comprobar que funcionamiento de forma adecuada tenemos que seguir los siguientes pasos:\nCOMPROBAR QUE ESTAMOS USANDO EL SERVIDOR QUE HEMOS CONFIGURADO Tenemos que ser conscientes del servidor que estamos usando. En mi caso estoy usando el servidor es el dnscrypt.org-fr.\nAccedemos a la siguiente URL, buscamos el servidor dnscrypt.org-fr y anotamos la IP que tiene el servidor:\nTal y como se puede ver en la captura de pantalla, la IP del servidor dnscrypt.org-fr es la 212.47.228.136.\nUna vez conocemos la IP accedemos a la siguiente URL:\nhttps://www.dnsleaktest.com/\nUna vez dentro de la URL clicamos encima del botón Extended Test.\nDespués de clicar sobre el botón se realizaran 6 rondas de 6 peticiones DNS. Por lo tanto se realizarán 36 peticiones DNS al servidor DNS que tenemos configurado en nuestro ordenador.\nUna vez finalizado el test vemos que la totalidad de peticiones DNS han sido resueltas por un solo servidor DNS.\nAdemás este servidor tiene la IP 212.47.228.136 que es la IP del servidor que tenemos configurado en nuestro ordenador.\nDe este modo podemos tener seguridad que estamos usando el servidor DNS de DNSCRypt, y que la configuración que hemos realizado en nuestro ordenador es correcta.\nNota: Si aparece más de un servidor, o un servidor que no coincide con la IP que estamos usando entonces alguna parte de la configuración está fallando. COMPROBAR QUE EL TRÁFICO ENTRE NUESTRO ORDENADOR Y EL SERVIDOR DNSCRYPT ESTÁ CIFRADO Una vez sabemos que estamos usando el servidor que hemos configurado, tan solo falta comprobar que las peticiones DNS se están cifrando correctamente.\nPara cumplir con este objectivo esnifaré tráfico del ordenador que está usando DNSCrypt.\nPara ello iniciamos Wireshark y realizamos una captura de datos del ordenador que tiene instalado DNSCrypt.\nUna vez finalizada la captura aplicaremos un filtro. Para ello en el campo Filter introduciremos el siguiente texto:\nip.addr == 212.47.228.136 Nota: En vuestro caso deberéis sustituir 212.47.228.136 por la IP de vuestro servidor DNS. Una vez introducido el texto presionamos la tecla Enter.\nDespués de presionar la tecla Enter podremos ver la totalidad de comunicaciones que se han realizado entre nuestro ordenador y el servidor DNS.\nSi observamos la captura de pantalla vemos que la totalidad de tráfico entre nuestro ordenador y el servidor DNS se realiza mediante el protocolo QUIC.\nPor lo tanto estoy seguro que las peticiones son cifradas ya que el protocolo QUIC es un protocolo diseñado para proporcionar una seguridad equivalente a TLS/SSL.\nCONCLUSIONES DEL FUNCIONAMIENTO DE DNSCRYPT Hemos obtenido resultados satisfactorios en las 2 pruebas realizadas.\nPor lo tanto podemos tener la total seguridad que DNSCRypt está funcionando de forma adecuada en nuestro ordenador por los siguientes motivos:\nEstamos usando el servidor de DNSCrypt para resolver todas las peticiones DNS. El tráfico generado entre nuestro ordenador y el servidor DNS está cifrado. ","permalink":"https://geeklandlinux.github.io/posts/comprobar-el-funcionamiento-de-dnscrypt/","summary":"\u003cp\u003eEn las pasadas semanas hemos visto como \u003ca href=\"/posts/instalar-dnscrypt-linux-ubuntu-windows/\"\u003einstalar y configurar DNSCrypt en Linux y en Windows\u003c/a\u003e. Si una vez instalado y configurado queremos comprobar que funcionamiento de forma adecuada tenemos que seguir los siguientes pasos:\u003c/p\u003e","title":"Comprobar que DNSCrypt funciona correctamente y cifra el tráfico"},{"content":"En las pasadas semanas vimos la importancia que tiene cifrar nuestras peticiones DNS y además vimos el procedimiento para instalar DNSCrypt en Linux y en Windows. Una vez tenemos instalado DNSCrypt en nuestro ordenador, ahora veremos los pasos a seguir para configurar DNSCRypt de forma adecuada y segura.\nCONFIGURAR DNSCRYPT EN EL CASO QUE LO HAYAMOS INSTALADO MEDIANTE REPOSITORIOS Los pasos a seguir para configurar DNSCrypt son los siguientes:\nComprobar que DNSCrypt está activo Para comprobar que el servicio DNSCrypt está activo tan solo tenemos que acceder a la terminal y ejecutar el siguiente comando:\nsudo systemctl status dnscrypt-proxy.socket En mi caso obtengo el siguiente resultado:\n● dnscrypt-proxy.socket - dnscrypt-proxy listening socket Loaded: loaded (/lib/systemd/system/dnscrypt-proxy.socket; enabled; vendor pr Active: active (running) since dom 2016-05-22 00:31:58 CEST; 1 months 11 days Docs: man:dnscrypt-proxy(8) Listen: 127.0.2.1:53 (Stream) 127.0.2.1:53 (Datagram) Por lo tanto el servicio está activo y todo está funcionando correctamente.\nSi el comando que acabamos de ejecutar nos dijera que dnscrypt está inactivo, tendremos que activarlo ejecutando el siguiente comando en la terminal:\nsudo systemctl start dnscrypt-proxy.socket Para asegurar que DNSCrypt se ejecuta de forma automática en el arranque del sistema tenemos que ejecutar el siguiente comando:\nsudo systemctl enable dnscrypt-proxy.socket Nota: Los comandos mostrados en este primer apartado son considerando que estamos usando el sistema de inicio Systemd. Conocer la IP y el puerto en que escucha DNSCrypt Lo primero que tenemos que averiguar es la dirección local y el puerto que está usando DNSCrypt.\nPara ello consultamos el archivo dnscrypt-proxy.socket ejecutando el siguiente comando:\nsudo nano /etc/systemd/system/sockets.target.wants/dnscrypt-proxy.socket Después de ejecutar el comando obtendremos un resultado parecido al siguiente:\nSi leemos detalladamente veremos que en mi caso, la dirección local en la que DNSCrypt está escuchando es la 127.0.2.1 y el puerto es el 53.\nCambiar la IP y el puerto en que escucha DNSCrypt Nota: Este apartado es opcional y únicamente lo deben seguir los usuarios quieren modificar la IP de escucha y la IP estándar. En el caso que quisiéramos cambiar la IP y el puerto de escucha consultamos el archivo dnscrypt-proxy.socket ejecutando el siguiente comando:\nsudo nano /etc/systemd/system/sockets.target.wants/dnscrypt-proxy.socket Una vez abierto el editor de textos reemplazamos la IP 127.0.2.1 por otra del tipo 127.x.x.x y el puerto 53 por el puerto que nosotros queramos.\nUn ejemplo que podríamos probar es el siguiente:\nUna vez realizados los cambios los guardamos y cerramos el fichero.\nSeguidamente ejecutamos el siguiente comando en la terminal:\nsudo nano /etc/default/dnscrypt-proxy Una vez se abra el editor de texto deberemos comprobar que en el campo DNSCRYPT_PROXY_LOCAL:ADDRESS figure la misma IP y el mismo puerto que definimos en el fichero /etc/systemd/system/sockets.target.wants/dnscrypt-proxy.socket\nUna vez que ambos ficheros disponen de la misma IP y del mismo puerto guardamos los cambios y cerramos el fichero.\nPara que los cambios aplicados surjan efecto tenemos que ejecutar el siguiente comando en la terminal:\nsystemctl daemon-reload Nota: Este apartado es a modo de ejemplo. En mi caso he usado la IP y el puerto por defecto. Configurar el gestor de red para que utilice DNSCrypt Una vez conocida que la dirección de escucha es la 127.0.2.1, accedemos a los ajustes de nuestro gestor de red.\nUna vez dentro de la configuración de Network manager o Wicd, reemplazamos los DNS actuales por la dirección en la que está escuchando DNSCrypt.\nPor lo tanto en mi caso pasaré de tener esta configuración:\nA tener la siguiente configuración:\nNota: He pasado de usar los DNS de google a usar la dirección local 127.0.2.1 que es en la que está escuchando DNSCrypt. Una vez realizados los cambios hay que presionar en el botón Guardar y el proceso para configurar DNSCrypt ha concluido.\nPara que DNSCrypt empiece a funcionar tan solo tenemos que reiniciar nuestro ordenador.\nSeleccionar el servidor para resolver las peticiones dns Nota: Es apartado es opcional. En estos momentos DNSCrypt ya debe estar funcionando y realizando su función. Por defecto DNSCrypt utiliza los servidores de Cisco. Para comprobar lo que acabo de decir tan solo tenemos que ejecutar el siguiente comando en la terminal:\nnano /etc/default/dnscrypt-proxy Una vez ejecutado el comando, tal y como se puede ver en la captura de pantalla, estoy usando los DNS de cisco (OpenDNS) para resolver las peticiones DNS.\nLos servidores DNS de cisco guardan logs de nuestras peticiones DNS y es algo que no me gusta. Por lo tanto lo reemplazaremos por otro.\nPara ver los servidores DNS disponibles ejecutamos el siguiente comando en la terminal:\nnano /usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv Nota: Si no tenemos disponible el archivo dnscrypt-resolvers.csv, también podemos consultar servidores DNSCrypt disponibles en la siguiente URL Una vez ejecutado el comando obtendremos información de todos los servidores disponibles:\nElegimos el que nos parezca más oportuno. En mi caso elijo el servidor dnscrypt.org-fr por los siguientes motivos:\nNo guarda Logs. Dispone de validación DNSSEC. Es cercano geográficamente. Para reemplazar el servidor cisco por el dnscrypt.org-fr abrimos una terminal y tecleamos el siguiente comando:\nsudo nano /etc/default/dnscrypt-proxy Una vez abierto el editor de textos reemplazamos el servidor actual, que en el mi caso es el cisco, por el dnscrypt.org-fr.\nUna vez realizadas las modificaciones guardamos los cambios y cerramos el fichero. Ahora tan solo tenemos que reiniciar DNSCrypt ejecutando el siguiente comando en la terminal.\nsudo systemctl restart dnscrypt-proxy.socket Opciones adicionales para configurar DNSCrypt Nota: Es apartado es opcional. En estos momentos DNSCrypt ya debe estar funcionando y realizando su función. Si queremos podemos modificar el comportamiento de DNSCrypt para hacerlo más seguro o para adaptarlo más a nuestras necesidades.\nPara modificar las opciones de funcionamiento de DNSCrypt ejecutamos el siguiente comando en la terminal:\nsudo nano /etc/default/dnscrypt-proxy Una vez abierto el editor tenemos que rellenar la línea DNSCRYPT_PROXY_OPTIONS=\u0026quot;\u0026quot; con las opciones pertinentes.\nDespués de añadir las opciones extra de funcionamiento la línea queda de la siguiente forma:\nDNSCRYPT_PROXY_OPTIONS=\u0026#34;--edns-payload-size=4096 --ephemeral-keys --logfile=/var/log/dnscrypt-proxy.log\u0026#34; Muestra de mi fichero de configuración final de DNSCrypt\nCada una de las opciones de funcionamiento introducidas tiene el siguiente significado:\n--edns-payload-size=4096: Opción para habilitar el mecanismo DNSSEC y de este modo obtener protección frente ataques DNS poisoning. 4096 bytes es el tamaño máximo de respuesta que aceptaremos del servidor DNS. --ephemeral-keys: DNSCrypt siempre usa la misma clave pública para establecer una conexión cifrada con el servidor DNS. Esto en términos de privacidad es malo porque nuestra clave pública puede ser asociada a nuestra IP. Para evitar este problema introducimos el parámetro \u0026ndash;ephermal-keys. Introduciendo el parámetro \u0026ndash;ephermal-keys cada petición DNS se realizará mediante una clave diferente. De este modo será prácticamente imposible asociar nuestra IP con las peticiones DNS. Esta opción comporta un consumo de CPU adicional que en algunos casos puede llegar a ralentizar nuestro ordenador. --logfile=/var/log/dnscrypt-proxy.log: Instrucción para indicar la ubicación donde queremos guardar los log de DNSCrypt. Una vez introducidas las opciones guardamos los cambios y cerramos el fichero.\nDar permisos adecuados al usuario _dnscrypt En el apartado anterior hemos definido que queremos guardar el log de DNSCRypt en la ubicación var/log/dnscrypt-proxy.log y esto generará un problema por el siguiente motivo.\nDnscrypt por defecto usa el usuario _dnscrypt-proxy. Este usuario no tiene permisos para crear y para escribir en el archivo de logs var/log/dnscrypt-proxy.log.\nPara solventar este punto creamos el archivo /var/log/dnscrypt-proxy.log ejecutando el siguiente comando en la terminal:\nsudo touch /var/log/dnscrypt-proxy.log Seguidamente asignamos un usuario y un grupo al archivo que contendrá los log ejecutando este comando en la terminal:\nsudo chown _dnscrypt-proxy:nogroup /var/log/dnscrypt-proxy.log La función que realiza cada uno de los términos del comando es el siguiente:\nsudo chown: Es el comando usado para modificar los permisos de archivos y carpetas. _dnscrypt-proxy:nogroup: _dnscrypt-proxy es el nombre usuario al que queremos que pertenezca el archivo dnscrypt-proxy.log. nogroup es el grupo al que queremos que pertenezca el archivo dnscrypt-proxy.log var/log/dnscrypt-proxy.log: Es la ruta del archivo en que queremos modificar el usuario y el grupo. Una vez realizados los cambios pertinentes reiniciamos dnscrypt ejecutando el siguiente comando en la terminal:\nsudo systemctl restart dnscrypt En este momento el proceso para configurar DNSCrypt ha terminado.\nCONFIGURAR DNSCRYPT EN EL CASO QUE LO HAYAMOS INSTALADO A PARTIR DE UNA COMPILACIÓN En el caso que se haya instalado DNSCrypt compilando el código fuente del programa, tenemos que seguir las siguientes instrucciones para configurar DNSCrypt.\nSeleccionar un servidor DNS de DNSCrypt Para seleccionar el servidor DNS abrimos una terminal y ejecutamos el siguiente comando:\nnano /usr/local/share/dnscrypt-proxy/dnscrypt-resolvers.csv Nota: Si no tenemos disponible el archivo dnscrypt-resolvers.csv, también podemos consultar servidores DNSCrypt disponibles en la siguiente URL. Una vez ejecutado el comando obtendremos al totalidad de servidores DNS disponibles.\nElegimos el que nos parezca más oportuno. En mi caso elijo el servidor dnscrypt.org-fr por los siguientes motivos:\nNo guarda Logs. Dispone de validación DNSSEC. Es cercano geográficamente. Crear un grupo para usar DNSCrypt Crearemos un grupo llamado dnscrypt que contendrá el usuario que ejecutará DNSCrypt.\nPara ello ejecutamos el siguiente comando en la terminal:\nsudo groupadd dnscrypt Crear un usuario para usar DNSCrypt En términos de seguridad es recomendable que DNSCrypt sea usado por un usuario que no tenga privilegios, que no tenga acceso a la shell y que disponga de una carpeta home vacía.\nLos pasos a seguir para crear este tipo de usuario son los siguientes:\nPrimero crearemos la carpeta del usuario ejecutando el siguiente comando en la terminal\nsudo mkdir /home/dnscrypt Para finalizar crearemos el nuevo usuario llamado dnscrypt ejecutando el siguiente comando en la terminal.\nsudo useradd -g dnscrypt -s /bin/false -d /home/dnscrypt dnscrypt El significado de cada una de las partes del comando para crear el usuario dnscrypt es el siguiente:\nsudo useradd: Comando usado para agregar un usuario. -g dnscrypt: Para indicar que el usuario que estamos creando pertenece al grupo dnscrypt. -s /bin/false: Para definir que el usuario Dnscrypt no tenga acceso a la terminal o interprete de comandos. Este aspecto es importante por temas de seguridad. -d /home/dnscrypt: Para indicar la ruta home por defecto del usuario que estamos creando para DNSCRypt. dnscrypt: Es el nombre del usuario que queremos crear. Iniciar DNSCrypt Una vez seleccionado el servidor que queremos usar y creado el usuario, ya podemos configurar el inicio de DNSCrypt.\nPara ello ejecutamos el siguiente comando en la terminal:\nsudo nano /etc/rc.local Una vez ejecutado el comando se abrirá el editor de texto nano y deberemos añadir el siguiente comando en el archivo rc.local:\ndnscrypt-proxy --local-address=127.0.0.1:53 --resolver-name=dnscrypt.org-fr No obstante si queremos podemos modificar el comando para añadir opciones adiciones como por ejemplo las siguientes:\ndnscrypt-proxy --local-address=127.0.0.1:53 --edns-payload-size=4096 --ephemeral-keys --daemonize --resolver-name=dnscrypt.org-fr --user=dnscrypt --logfile=/var/log/dnscrypt-proxy.log Una vez introducido el comando se guardan los cambios y cerramos el fichero.\nMuestra de la introducción del comando para configurar dnscrypt\nExplicación del significado de los parámetros para iniciar DNSCrypt El significado de los parámetros del comando usado para iniciar DNSCrypt es el siguiente:\ndnscrypt-proxy: Parte del comando para iniciar DNSCrypt.\n--local-address=127.0.0.1:53: Estoy indicando que DNSCrypt esté escuchando en la IP local 127.0.0.1 y en el puerto 53. Si queremos podemos modificar la IP 127.0.0.1 por otra del tipo 127.x.x.x, y el puerto 53 por cualquier otro puerto que no esté en uso.\n--edns-payload-size=4096: Parte del comando para habilitar el mecanismo DNSSEC y de este modo obtener protección frente ataques DNS poisoning. 4096 bytes es el tamaño máximo de la respuesta que aceptaremos del servidor DNS.\n--ephemeral-keys: DNSCrypt siempre usa la misma clave pública para establecer una conexión cifrada con el servidor DNS. Esto en términos de privacidad es malo porque nuestra clave pública puede ser asociada a nuestra IP. Para evitar este problema introducimos el parámetro \u0026ndash;ephermal-keys. Introduciendo el parámetro \u0026ndash;ephermal-keys cada petición DNS se realizará mediante una clave diferente. De este modo será prácticamente imposible asociar nuestra IP con las peticiones DNS. Esta opción comporta un consumo de CPU adicional que en algunos casos puede llegar a ralentizar nuestro ordenador.\n--daemonize: Parte del comando usada para indicar que DNSCrypt se ejecute en segundo plano.\n--resolver-name=dnscrypt.org-fr: Parte del comando usada para indicar el servidor de DNSCrypt que queremos usar. Si queremos usar un servidor diferente al dnscrypt.org-fr tan solo tenemos que reemplazar dnscrypt.org-fr por el servidor que queramos.\n--user=dnscrypt: Comando para indicar el usuario que iniciará DNSCrypt. En nuestro caso lo iniciará el usuario dnscrypt que hemos creado anteriormente.\n--logfile=/var/log/dnscrypt-proxy.log: Instrucción para indicar la ubicación donde queremos guardar los log de DNSCrypt.\nNota: Si omitimos el comando --logfile=/var/log/dnscrypt-proxy.log los logs se guardarán en /var/log/syslog Nota: Si no establecemos ningún usuario, DNSCrypt será iniciado por el usuario root. Configurar el gestor de red para que use DNSCrypt En estos momentos sabemos que DNSCrypt está escuchando en la IP 127.0.0.1.\nPor lo tanto accedemos a la configuración de nuestro gestor de red y reemplazamos los DNS actuales por la dirección en que está escuchando DNSCrypt.\nUna vez dentro del gestor de red, en mi caso pasaré de tener la siguiente configuración:\nA tener la siguiente configuración:\nEn estos momentos acaba de finalizar la totalidad del procedimiento para configurar DNSCrypt.\nAhora tan solo tenemos que reiniciar nuestro ordenador y DNSCrypt estará listo para usarse.\nCOMPROBAR EL FUNCIONAMIENTO DE DNSCRYPT Para comprobar que DNSCrypt está funcionando de forma adecuada pueden seguir las instrucciones del siguiente enlace:\nhttps://geeklandlinux.github.io/posts/comprobar-el-funcionamiento-de-dnscrypt/\nCONFIGURAR DNSCRYPT PARA QUE TRABAJE CONJUNTAMENTE CON DNSMASQ En el caso que pretendan usar DNSmasq para mejorar el rendimiento de DNSCrypt pueden seguir las instrucciones que encontrarán en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/usar-dnsmasq-mejorar-rendimiento-dnscrypt/\n","permalink":"https://geeklandlinux.github.io/posts/configurar-dnscrypt-en-gnu-linux/","summary":"\u003cp\u003e\u003ca href=\"images/Configurar-DNSCrypt-en-Linux.png\"\u003e\u003c/a\u003eEn las pasadas semanas vimos la \u003ca href=\"/posts/motivos-cifrar-las-peticiones-dns/\"\u003eimportancia que tiene cifrar nuestras peticiones DNS\u003c/a\u003e y además vimos el procedimiento para \u003ca href=\"/posts/instalar-dnscrypt-linux-ubuntu-windows/\"\u003einstalar DNSCrypt\u003c/a\u003e en Linux y en Windows. Una vez tenemos instalado DNSCrypt en nuestro ordenador, ahora veremos los pasos a seguir para configurar DNSCRypt de forma adecuada y segura.\u003c/p\u003e","title":"Configurar DNSCRypt en Linux para preservar nuestra privacidad"},{"content":"En el siguiente post veremos como consultar el historial de actualizaciones, instalaciones e desinstalaciones de paquetes en el caso que usemos el gestor de paquetes apt-get.\nUTILIDADES DE CONSULTAR EL HISTORIAL DE ACTUALIZACIONES DE NUESTRO ORDENADOR las utilidades de conocer las modificaciones realizadas en los paquetes de nuestro equipo son las siguientes:\nDetectar problemas y buscar una solución Si después de aplicar una actualización empezamos a tener problemas en nuestro ordenador es interesante consultar los paquetes actualizados, desinstalados o instalados para poder detectar el problema y buscar una solución.\nVer la actividad de un determinado usuario En el caso que hayan varios usuarios que tengan permisos de administrador, podemos comprobar la totalidad de operaciones realizadas por cada uno de ellos.\nLos pasos a seguir para consultar el historial de actualizaciones, desinstalaciones e instalaciones son los siguientes:\nVER EL HISTORIAL DE ACTUALIZACIONES, DESINSTALACIONES E INSTALACIONES MEDIANTE LOS LOGS DE APT-GET En el caso usemos que usemos apt-get, Synaptic, el centro de software de Ubuntu o cualquier otro front-end que utilice apt-get podemos consultar los paquetes instalados, desintalados o actualizados por cualquier usuario en los logs ubicados en**/var/log/apt/**.\nPara acceder a los logs abrimos una terminal y ejecutamos el siguiente comando:\nls -a /var/log/apt/ Después de ejecutar el comando veremos los archivos history.log, history.log.1.gz, history.log.2.gz, term.log, term.log.1.gz y term.log.2.gz.\nContenido ubicado en los archivos history.log El contenido almacenado por los archivos history.log es el siguiente:\nhistory.log: Log que contiene los paquetes instalados, actualizados o desinstalados mediante apt-get, o cualquier front-end que utilice apt-get, desde el inicio del mes hasta el día actual.\nhistory.log.1.gz: Archivo comprimido que contiene los paquetes instalados, actualizados o desinstalados mediante apt-get, o cualquier front-end que utilice apt-get, del mes pasado.\nhistory.log.2.gz: Archivo comprimido que contiene los paquetes instalados, actualizados o desinstalados mediante apt-get, o cualquier front-end que utilice apt-get, de hace 2 meses.\nNota: El número de archivos history.log y el periodo de datos almacenados dependerá de la configuración de nuestra política de logs. Podemos cambiar nuestra política de logs modificando el contenido del archivo /etc/logrotate.d/apt. Contenido ubicado en los archivos term.log El contenido almacenado por los archivos term.log es el siguiente:\nterm.log: Log en el que podemos ver lo que paso y las decisiones que tomaron los usuarios en cada una de las instalaciones, actualizaciones y desinstalaciones realizadas desde el inicio del mes hasta el día de hoy.\nterm.log.1.gz: Log comprimido en el que podemos visualizar lo que paso y las decisiones que tomaron los usuarios en cada una de las instalaciones, actualizaciones y desinstalaciones realizadas durante el mes pasado.\nterm.log.2.gz: Log comprimido en el que podemos visualizar lo que paso y las decisiones que tomaron los usuarios en cada una de las instalaciones, actualizaciones y desinstalaciones realizadas 2 meses atrás.\nNota: El número de archivos term.log y el periodo de datos almacenados dependerá de la configuración de nuestra política de logs. Podemos cambiar nuestra política de logs modificando el contenido del archivo /etc/logrotate.d/apt. Consultar el historial de actualizaciones durante el presente mes Para consultar el historial de paquetes instalados, actualizados o desinstalados tenemos que abrir una terminal y ejecutar el siguiente comando:\nless /var/log/apt/history.log Una vez tecleado el comando podremos consultar el historial completo de operaciones realizadas con los paquetes desde el inicio del mes hasta el día de hoy.\nSi observamos la captura de pantalla veremos los siguientes detalles:\nLos paquetes que se actualizaron, instalaron o desinstalaron. El nombre del usuario que instalo, desinstalo o actualizo los paquetes. El comando que uso el usuario para realizar las modificaciones en el sistema. La fecha en la que las modificaciones fueron realizadas. La versión de los paquetes que se desinstalaron, actualizaron o instalaron. Consultar el historial de actualizaciones del mes pasado o anteriores al mes pasado Si tenemos necesidad de ir más atrás y consultar la totalidad de operaciones realizadas con nuestros paquetes en el pasado mes, tan solo tenemos que ejecutar el siguiente comando en la terminal:\nzless /var/log/apt/history.log.1.gz En el caso que necesitaremos saber la totalidad de paquetes que se instalaron, desinstalaron y actualizaron hace mas de 2 meses tenemos que ejecutar el siguiente comando en la terminal:\nzless /var/log/apt/history.log.2.gz De este modo tan sencillo podemos consultar la totalidad de paquetes que se han instalado, desinstalado o actualizado por cualquier usuario de nuestro de nuestro equipo.\nPara profundizar en lo que paso en cada una de las operaciones registradas en los ficheros history.log, podemos consultar los ficheros term.log.\nConsultar que paso en las actualizaciones, instalaciones y desinstalaciones durante el presente mes Para tener el detalle de lo que paso en cada una de las operaciones registradas en el archivo history.log desde el inicio del mes hasta el día actual tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\nsudo more /var/log/apt/term.log Una vez ejecutado el comando los resultados son los siguientes:\nSi observamos la captura de pantalla podemos visualizar con exactitud y precisión la totalidad de mensajes y decisiones tomadas por el usuario en la actualización del sistema que se hizo el 07/06/2016.\nConsultar que paso en las actualizaciones, instalaciones y desinstalaciones del mes pasado o anteriores al mes pasado Del mismo modo que en el caso anterior, si queremos consultar lo que paso en cada una de las instalaciones, actualizaciones o desinstalaciones realizadas durante el pasado mes, tan solo tenemos que ejecutar el siguiente comando en la terminal:\nsudo zmore /var/log/apt/term.log.1.gz Si finalmente queremos visualizar lo que aconteció durante las instalaciones, desinstalaciones y actualizaciones de paquetes llevadas a término hace 2 meses tenemos que ejecutar el siguiente comando en la terminal:\nsudo zmore /var/log/apt/term.log.2.gz VER EL HISTORIAL DE ACTUALIZACIONES, INSTALACIONES Y DESINSTALACIONES MEDIANTE DPKG También podemos consultar los paquetes instalados, desinstalados y actualizados mediante dpkg.\nPara consultar el registro de logs de dpkg tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\nless /var/log/dpkg.log Después de aplicar el comando obtendréis un listado largo y difícil de leer en el que podréis ver la totalidad de paquetes instalados, actualizados y desinstalados desde el inicio del mes hasta el día de hoy.\nNota: Dpkg también registra la actividad de otros gestores de paquetes como por ejemplo Aptitude. Filtrar los resultados del log dpkg Si queréis filtrar el contenido del listado obtenido podemos ejecutar los siguientes comandos.\nPara obtener únicamente los paquetes instalados desde el inicio del mes hasta el día de hoy:\nless /var/log/dpkg.log | grep \u0026#34; install \u0026#34; Para ver los paquetes actualizados desde el inicio del mes hasta el día de hoy:\nless /var/log/dpkg.log | grep \u0026#34; upgrade \u0026#34; Para consultar los paquetes eliminados desde el inicio del mes hasta el día de hoy:\nless /var/log/dpkg.log | grep \u0026#34; remove \u0026#34; Consultar las modificaciones del mes pasado o anteriores al mes pasado Si tenemos necesidad de ir más atrás y consultar la totalidad de operaciones realizadas con nuestros paquetes en el pasado mes, tan solo tenemos que ejecutar el siguiente comando en la terminal:\nless /var/log/dpkg.log.1 En el caso que necesitaremos saber la totalidad de paquetes que se instalaron, desinstalaron y actualizaron hace 2 meses tenemos que ejecutar el siguiente comando en la terminal:\nzless /var/log/dpkg.log.2.gz En el caso que necesitaremos saber la totalidad de paquetes que se instalaron, desinstalaron y actualizaron hace 3 meses tenemos que ejecutar el siguiente comando en la terminal:\nzless /var/log/dpkg.log.3.gz VER EL HISTORIAL DE INSTALACIONES, DESINSTALACIONES Y ACTUALIZACIONES EN EL CASO DE USAR SYNAPTIC Hay gente que odia la terminal y realiza las instalaciones y actualizaciones del sistema a través de Synaptic.\nSi este es vuestro caso también pueden consultar el historial de actualizaciones de la siguiente forma:\nUna vez abierto Synaptic accedemos al menú Archivo y posteriormente clicamos encima de la opción Histórico:\nFinalmente podremos ver la totalidad de paquetes que hemos instalado, desinstalado y actualizado con el gestor de paquetes Synaptic.\nNota: Los procedimientos mostrados en este artículo son válidos para los usuarios de Debian, Ubuntu y la totalidad de distribuciones derivadas de Debian y Ubuntu.","permalink":"https://geeklandlinux.github.io/posts/historial-de-actualizaciones-con-apt-get-y-dpkg/","summary":"\u003cp\u003eEn el siguiente post veremos como consultar el historial de actualizaciones, instalaciones e desinstalaciones de paquetes en el caso que usemos el gestor de paquetes apt-get.\u003c/p\u003e","title":"Ver el historial de actualizaciones mediante apt-get y dpkg"},{"content":"Visitando una web me he encontrado con la sorpresa que no podía leer el artículo porque sus administradores han decidido instalar un plugin que bloquea la lectura de sus artículos a los usuarios que utilizan un bloqueador de publicidad como por ejemplo Adblock Plus o uBlock Origin. Afortunadamente en la actualidad existen soluciones para solucionar este problema como por ejemplo anti adblock killer.\nPor lo tanto en el caso que se encuentren en una situación parecida a la mia pueden intentar usar los siguientes métodos para intentar solucionar este problema.\nUSAR ANTI ADBLOCK KILLER A TRAVÉS DE UBLOCK-ORIGIN La solución más cómoda es usar el bloqueador de anuncios uBlock Origin con el filtro Anti adblock Killer.\nEn el caso que no estén usando el bloqueador de anuncios uBlock Origin, les recomiendo encarecidamente que lo hagan.\nSegún lo que he podido experimentar ublock Origin es el mejor bloqueador de publicidad existente en la actualidad.\nInstalar el bloqueador de anuncios uBlock Origin En el caso que no tengan instalado el bloqueador de publicidad mencionado, pueden instalarlo siguiendo las siguientes instrucciones:\nhttps://geeklandlinux.github.io/posts/instalar-ublock-origin-chrome-firefox/\nNota: Las instrucciones de instalación que encontrarán en la URL son para el navegador Google Chrome y para Firefox. Acceder a la configuración de uBlock Origin Las pasos a seguir para acceder a la configuración de uBlock origin varían en función del navegador que usamos.\nAcceder a la configuración de uBlock en Chrome Una vez instalado el bloqueador de publicidad lo tenemos que configurar para hacer que sea indetectable por parte de las webs que estamos visitando.\nPara ello posicionamos el puntero del ratón encima del icono de ublock origin y presionamos botón derecho de nuestro ratón.\nSeguidamente se abrirá una ventana en la que deberemos clicar encima de la opción Configuración.\nDespués de clicar sobre el botón accederán a las opciones de configuración de uBlock Origin.\nAcceder a la configuración de uBlock en Firefox En la barra de direcciones del navegador introducimos el siguiente texto:\nabout:addons Seguidamente presionamos la tecla enter para poder acceder a la ventana de configuración de las extensiones.\nEn la ventana de configuración de los plugins clicamos en el botón Preferencias de la extensión uBlock Origin.\nUna vez dentro de las preferencias de uBlock origin clicamos encima del botón Mostrar Panel de Control.\nDespués de clicar sobre el botón accederán a las opciones de configuración de uBlock Origin.\nConfigurar uBlock Origin para activar el filtro anti adblock killer Una vez dentro de las opciones de configuración deberán clicar encima de la pestaña Filtros de terceros.\nSeguidamente en el apartado de anuncios deberán activar el filtro Anti Adblock Killer | Reek y finalmente deberán presionar sobre el botón Aplicar cambios.\nDespués de realizar estos simples pasos el bloqueador de anuncios uBlock Origin será indetectable para la mayoría de webs que visitamos.\nComprobar que nuestro bloqueador de publicidad no es detectado Después de seguir estos simples pasos volveremos a intentar visitar la página web que nos bloqueaba el acceso y veremos que ahora la podemos leer sin ningún tipo de problema.\nMediante el uso ublock Origin y anti adblock killer hemos conseguido que la web en cuestión no detecte que estamos usando un bloqueador de publicidad y además el proceso es completamente automático y no requiere de ninguna acción por nuestra parte.\nNota: El método mostrado es válido para la totalidad de navegadores que permiten el uso de ublock Origin. Por lo tanto el método es aplicable en Firefox, Chrome, Firefox para Android, Opera, Sea Monkey y Pale Moon. Nota: Este método también se puede aplicar con otros bloqueadores de publicidad como por ejemplo Adblock, Adblock Plus y Adguard AdBlocker. Para finalizar este apartado les dejo la URL correspondiente a la plataforma de desarrollo de anti adblock Killer:\nPlataforma de desarrollo de anti-adblock-killer\nA través de la plataforma de desarrollo de anti adblock killer podrán plantear sugerencias de mejora y reportar problemas de forma rápida y fácil.\nLEER LA NOTICIAS A TRAVÉS DE UN LECTOR DE FEEDS Una opción alternativa a la anterior es leer la noticia a través de un lector de feeds. En mi caso utilizo Inoreader, pero pueden usar Feedly, Liferea, Akregator o cualquier otro lector de feeds.\nSi usamos un lector de feeds, tal y como se puede ver en la captura de pantalla, podremos visualizar el contenido de la web que está rastreando si usamos un bloqueador de publicidad con total normalidad y sin tener que visualizar ningún tipo de anuncio.\nPor lo tanto usar un lector de feeds también es plenamente efectivo. No obstante tenéis que tener en cuenta los siguientes aspectos:\nAlgunos administradores web solo permiten que se puedan leer las 10 o 15 primeras líneas de cada artículo a través del lector de feeds. Existen Webs que incluyen publicidad en los feeds. BLOQUEAR EL JAVASCRIPT DE LA PÁGINA WEB QUE VISITAMOS En el caso poco probable que ninguna de las opciones anteriores les funcionará, aún existe una tercera vía.\nEs más que posible que la web que visitamos haya detectado que estamos usando un bloqueador de publicidad mediante un algoritmo de Javascript.\nPor lo tanto lo único que tenemos que realizar es desactivar la ejecución de javascript en nuestro navegador mediante la instalación de una simple extensión.\nExisten numerosas extensiones que deshabilitan la ejecución de Javascript. En mi caso acostumbro a utilizar Quick JavaScript Switcher en Chrome y JavaScript Toggle On and Off en Firefox.\nInstalación de la extensión para bloquear Javascript en nuestro navegador Instalar Quick JavaScript Switcher en Chrome Para instalar Quick JavaScript Switcher en Google chrome accedemos a la siguiente URL:\nhttps://chrome.google.com/webstore/detail/quick-javascript-switcher/geddoclleiomckbhadiaipdggiiccfje?hl=es\nUna vez dentro de la URL clicamos encima de del botón Añadir a Chrome.\nFinalmente aparecerá la siguiente ventana en la que simplemente tenemos que presionar encima del botón Añadir extensión.\nInstalar el complemento JavaScript Toggle On and Off en Firefox Para instalar JavaScript Toggle On and Off en Firefox tenéis que acceder a la siguiente URL:\nhttps://addons.mozilla.org/es/firefox/addon/javascript-toggler/\nUna vez dentro de la URL clicamos encima del botón Agregar a Firefox.\nSeguidamente aparecerá la siguiente ventana en la que deberemos clicar encima del botón Instalar.\nDespués de seguir estos simples pasos ya tenemos instalado JavaScript Toggle On and Off en nuestro navegador.\nBloquear la ejecución de Javascript Una vez instalada la extensión entramos de nuevo en la página web y cuando no sale el bloqueo cliamos encima del icono de Quick JavaScript Switcher y presionamos la tecla F5 para recargar el contenido de la página web.\nDespués de desactivar Javascript y recargar el contenido, podremos leer el contenido de la página web sin ningún tipo de problema.\nNota: El procedimiento para deshabilitar Javascript con el plugin de Firefox es idéntico al de Google Chrome Al igual que en los casos anteriores este último método también funciona a la perfección. No obstante tenemos que tener en cuenta los siguientes aspectos:\nEs posible que hayan sistemas de detección que no usen Javascript. En tal caso este método no funcionará. Es posible que una vez se haya desactivado javascript no se pueda mostrar el contenido de la web o hayan ciertas partes de la página web que no funcionen de forma adecuada. REFLEXIÓN SOBRE LAS HERRAMIENTAS PARA DETECTAR LOS BLOQUEADORES DE PUBLICIDAD Mi opinión es que las herramientas para vetar las visitas a la gente que utiliza un bloqueador de publicidad son completamente inútiles. Algunos de los motivos son los siguientes:\nEs inútil pedir que se desactive el bloqueador de publicidad. Un usuario que utiliza un bloqueador de publicidad lo hace por convicción y porque están cansados de las prácticas abusivas de la publicidad. La forma en que se pide que desactives el bloqueador es poco efectiva y poco educada. Es más efectivo pedir que se que desactive el bloqueador de publicidad sin privar a nadie de los contenidos. La gente que aplica este tipo de técnicas perderá lectores y seguidores. Si a una persona no le permites ver tu contenido actuará de forma reactiva y es más que posible que no te visite nunca más. Si se generalizan este tipo de prácticas aparecerá una nueva generación de bloqueadores de publicidad que serán imposibles de detectar. Luchar contra los bloqueadores de publicidad es una guerra perdida. Incluso Google, que vive de la publicidad, permite la instalación de bloqueadores de publicidad en su navegador porque es posible que piensen que hacer lo contrario seria peor. Por lo tanto queda clara mi opinión. Es totalmente inútil usar herramientas para hacer que los usuarios que utilicen un bloqueador de publicidad no puedan acceder a un contenido. Es mucho más efectivo pedir que se que desactive el bloqueador de publicidad sin privar a nadie de los contenidos.\nOtra iniciativa que parece que me interesante es la propuesta realizada por la IAB (organización que representa al sector de la publicidad digital). La IAB propone establecer normas para la inserción de publicidad en las páginas web con el fin de conseguir que la publicidad sea menos molesta y menos intrusiva.\n","permalink":"https://geeklandlinux.github.io/posts/evitar-deteccion-adblock-con-anti-adblock-killer/","summary":"\u003cp\u003eVisitando una web me he encontrado con la sorpresa que no podía leer el artículo porque sus administradores han decidido instalar un plugin que bloquea la lectura de sus artículos a los usuarios que utilizan un bloqueador de publicidad como por ejemplo Adblock Plus o uBlock Origin. Afortunadamente en la actualidad existen soluciones para solucionar este problema como por ejemplo anti adblock killer.\u003c/p\u003e","title":"Evitar la detección de nuestro adblock con anti adblock killer"},{"content":"Con el fin de que todo el mundo pueda bloquear la publicidad en internet sin problemas, en este post veremos los pasos a seguir para instalar uBlock Origin en las versiones de escritorio de los navegadores Google Chrome y Firefox.\nPero antes de ver el proceso de instalación veremos que es y que hace el bloqueador de publicidad uBlock Origin.\n¿QUÉ ES Y QUE FUNCIÓN REALIZA UBLOCK ORIGIN? uBlock origin es una simple extensión de nuestro navegador que lo único que hace es bloquear los anuncios publicitarios cuando navegamos por internet.\nComo una imagen vale mas que mil palabras a continuación pueden ver una captura de pantalla de una página web sin usar uBlock Origin:\nEn el momento que activemos el bloqueador de publicidad, el aspecto de la web cambiará radicalmente ya que no mostrará ningún tipo de anuncio.\nINSTALAR UBLOCK ORIGIN EN GOOGLE CHROME Para instalar uBlock origin en Google Chrome tenéis que acceder a la siguiente URL:\nhttps://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm?hl=es\nUna vez dentro de la URL, tal y como se puede ver en la captura de pantalla, clicamos encima del botón Añadir a Chrome.\nSeguidamente aparecerá la siguiente ventana en la que deberemos clicar encima del botón Añadir extensión.\nDespués de seguir estos simples pasos ya tenemos instalado ublock Origin en nuestro navegador.\nA partir de estos momentos cuando naveguemos por internet se bloqueará de forma automática la totalidad de publicidad existente en la web.\nINSTALAR UBLOCK ORIGIN EN FIREFOX Para instalar uBlock origin en Firefox tenéis que acceder a la siguiente URL:\nhttps://addons.mozilla.org/es/firefox/addon/ublock-origin/?src=api\nUna vez dentro de la URL clicamos encima del botón Agregar a Firefox.\nSeguidamente aparecerá la siguiente ventana en la que deberemos clicar encima del botón del botón Instalar.\nDespués de seguir estos simples pasos ya tenemos instalado ublock Origin en nuestro navegador.\nA partir de estos momentos cuando naveguemos por internet se bloqueará de forma automática la totalidad de publicidad existente en la web.\nMOTIVOS PARA USAR UBLOCK ORIGIN FRENTE A OTROS BLOQUEADORES Existen bloqueadores de publicidad alternativos a uBlock Origin. No obstante en mi caso les recomiendo instalar uBlock Origin por los siguientes motivos:\nFunciona a la perfección. Bloquea prácticamente la totalidad de anuncios existentes en la web. Es una alternativa liviana que consume menos RAM y menos CPU que sus competidores. uBlock Origin dispone de más funcionalidades y más flexibilidad que sus competidores. uBlock Origin se distribuye bajo la licencia GPLv3 y es software libre. Si alguien quiere conocer más acerca de las ventajas que proporciona el software libre puede leer el siguiente artículo. Dispone de más filtros que el resto de sus competidores. uBlock dispone de filtros que evitan que la página web que visitamos detecte que estamos usando un bloqueador de publicidad. ublock origin es un fork de ublock. Aunque uBlock lo desmienta se rumorea que uno de los motivos del fork fue que los actuales desarrolladores de uBlock origin no querían tener como fin principal monetizar su bloqueador. Por lo tanto a priori uBlock origin es más de fiar que uBlock. ublock Origin es un proyecto activo que intenta mejorar día a día. uBlock Origin no acepta pagos de la indústria publicitaria. Existen bloqueadores de publicidad, como adBlock Plus, que aceptan pagos de anunciantes a cambio de no bloquear su publicidad. Nota: Si quieren usar un bloqueador de publicidad para su teléfono móvil Android pueden seguir las instrucciones del siguiente link","permalink":"https://geeklandlinux.github.io/posts/instalar-ublock-origin-chrome-firefox/","summary":"\u003cp\u003eCon el fin de que todo el mundo pueda bloquear la publicidad en internet sin problemas, en este post veremos los pasos a seguir para instalar uBlock Origin en las versiones de escritorio de los navegadores Google Chrome y Firefox.\u003c/p\u003e","title":"Instalar uBlock origin en Chrome y en Firefox"},{"content":"No estoy totalmente encontra de la publicidad. Si la publicidad se hiciera de forma responsable y ética seguramente no estaría escribiendo este post ni la gente usaría herramientas como por ejemplo un bloqueador de publicidad.\nDesafortunadamente las empresas y la sociedad en general hacen un uso abusivo de la publicidad llegando a convertir los bloqueadores de publicidad en una herramienta imprescindible.\nMOTIVOS PARA USAR UN BLOQUEADOR DE PUBLICIDAD Algunos de los motivos que hacen realmente imprescindible el uso de un bloqueador de publicidad son los que citaremos a continuación:\nEn ocasiones la publicidad aporta más beneficios al anunciante que al Blogger En mi caso tuve publicidad en el blog a través de Coobis. Los ingresos que tenia eran prácticamente nulos. Antes de ser sancionado por google tenia 150.000 visitantes únicos al mes y todo este montón de visitas apenas me generaba 2 euros mensuales. Cuando llegas a un acuerdo con un empresa entiendo que ambas partes tienen que salir beneficiadas y entiendo en este caso únicamente una de las partes salia beneficiada.\nNota: Frente a esta situación les recomiendo que en el caso de poner publicidad lo hagan a través de Google Adsense. Google Adsense es más transparente que el resto de plataformas publicitarias y además ofrece publicidad adecuada a todo tipo de públicos. La publicidad es intrusiva y molesta Las páginas web acostumbran a ofrecer una gran variedad de formatos publicitarios. Algunos de ellos son los siguientes:\nPop ups Banners Vídeos y audios con autoreproducción Publicidad intersticial etc Los formatos publicitarios que acabo de citar acostumbran a generar las siguientes molestias:\nCarga más lenta del contenido que queremos visualizar en una determinada páginas web. Al navegar en dispositivos móviles los anuncios acostumbran a cubrir gran parte de la pantalla entorpeciendo en exceso la lectura y la navegación. En ocasiones los Pop up y los banners hacen que sea totalmente imposible acceder al contenido que queremos consumir. Publicidad como la intersticial te obliga a visualizar un anunció a pantalla completa durante x segundos antes de poder leer el contenido de un artículo. En ocasiones los anuncios publicitarios parpadean, tienen colores llamativos y emiten sonidos sin que podamos realizar absolutamente nada. Nota: En ocasiones el responsable de tener una experiencia de navegación molesta y pésima no es la publicidad. Hay veces que el principal responsable es el propio administrador de una página web que con un afán desmesurado para captar suscriptores y followers introduce excesivos banners y pop up La publicidad nos cuesta dinero y nos gasta la batería La publicidad no tan solo es intrusiva y molesta. Además de ser intrusiva y molesta nos cuesta dinero de nuestro bolsillo y consume la batería de nuestro teléfono.\nTan solo tenéis que quitar el bloqueador de publicidad de vuestro teléfono y observaréis que a final de mes vuestro consumo de datos se dispara de forma alarmante.\nNota: Hay que tener en cuenta que muchas páginas web incluyen publicidad mediante vídeos y audios con autoreproducción. Este tipo de publicidad supone un gasto de datos y de batería muy importante. Publicidad de mal gusto y no adaptada a nuestros intereses En muchas ocasiones la publicidad que nos ofrecen algunas web es de mal gusto, no respeta al lector, no es adecuada para la gente menor y no se adapta a nuestros intereses.\nMuchos de los anuncios que se ofrecen en páginas web son del siguiente tipo:\nCasinos online. Explícitos de contenido sexual. Anuncios de tarot para predecir el futuro. Sexistas. Etc. La publicidad es un riesgo para la seguridad y la privacidad A estas alturas todo el mundo tiene que ser consciente que la publicidad es un riesgo para la seguridad y la privacidad.\nAlgunas de las consecuencias que podemos sufrir al clicar en un banner publicitario son las siguientes:\nInstalación de Malware y Adware en nuestro teléfono u ordenador. Estafas mediante la suscripción involuntaria a servicios de SMS Premium. Robo de información ya que hay ads destinados a realizar prácticas de Phishing. Intentos de secuestro de la página de inicio de nuestro navegador. Estoy seguro que a mas de un lector se habrá encontrado con la situación que se le ha cambiado de forma automática la página de inicio de su navegador y no hay forma de cambiarla de nuevo. Además de los puntos que acabamos de mencionar tenemos que añadir que la mayoría de usuarios que visitan páginas web con publicidad, están siendo monitorizados con el fin de ofrecer publicidad que se ajuste a las preferencias del visitante.\nLa publicidad en Internet es un negocio poco transparente Mi opinión es que en muchos casos la publicidad es un negocio poco transparente y en el que nunca sabes que hay por detrás. Algunos ejemplos de ello son los siguientes:\nEn ciertos casos cuando participamos en campañas de afiliados no es posible llegar a conocer si un cliente a adquirido un servicio a través de nosotros o no. Por lo tanto los bloggers lo único que pueden realizar es confiar en la merced de terceros y ofrecer publicidad de forma gratuita a los anunciantes. Algunos negocios relacionados con la publicidad incluyen estafas piramidales y otro tipo de prácticas poco éticas. Algunos de los servicios publicitados en los anuncios de Internet son simplemente estafas. MIS CONCLUSIONES FINALES Recomiendo el uso de un bloqueador de publicidad Considero vital el uso de un bloqueador de publicidad ya que a lo largo de este artículo hemos podido ver las molestias y riesgos que pueden conllevar los ads publicitarios.\nEl método actual no es sostenible Si la industria publicitaria sigue por el mismo camino conseguirán destrozar por completo el modelo de negocio de la publicidad en Internet.\nEs lógico pensar que cuanto más agresivas sean las prácticas aplicadas por la indústria de la publicidad, mayor número de usuarios usaran los famosos bloqueadores de publicidad.\nSoportar publicidad de mal gusto, peligrosa e invasiva no es la forma de apoyar a las páginas web Por favor “absténganse” de realizar el típico comentario que la publicidad es un buen medio para apoyar y evitar que ciertos blogs o páginas de prensa cierren. El modelo de publicidad actual justifica que acaben pagando justos por pecadores. Frente a está situación los administradores web deben buscar formas alternativas para su financiación.\nPara financiar un sitio web se pueden aplicar modelos alternativos o prácticas más éticas como por ejemplo los siguientes:\nArtículos patrocinados por terceros, siempre y cuando lo que se escribe en el artículo sea cierto y ético. Pagar una suscripción anual irrisoria de 0.01 Euros para poder ver el contenido de un dominio. De este modo una web que tuviera 700.000 visitantes únicos al año obtendría unos ingresos de 7000 Euros. Ofrecer contenido premium a los lectores que ayuden a la financiación de una determinada página web. Mediante donaciones desinteresadas de los lectores. Creación de foros privados y de pago en los que se da soporte sobre un determinado tema. Mediante sponsors de confianza que podrían patrocinar determinadas secciones de una página web. Ofrecer publicidad tradicional evitando los problemas que se detallan en la primera parte de este artículo. Además tenemos que considerar que en el momento que estamos visualizando un anuncio, quien sale realmente beneficiado es el anunciante o el intermediario que inserta el anuncio publicitario.\nSomos responsables de las prácticas actuales de la industria publicitaria en internet Si en internet existen las prácticas que existen en la actualidad es por culpa de todos nosotros y de las webs que permiten que haya publicidad de fuentes poco confiables obteniendo unos beneficios irrisorios.\nEn el caso que todas las webs se pusieran firmes con el fin de rechazar muchas de las prácticas que se vienen aplicando se haría una publicidad más ética y más responsable.\nIntroducir publicidad en sus webs de forma responsable Los administradores de una página web tienen todo el derecho de poner publicidad porque es su página web. Del mismo modo los internautas también deben ser libres para poder bloquear la publicidad.\nEn el caso que los administradores de una página web pongan publicidad, lo deberían hacer de forma responsable y evitando la totalidad de molestias descritas en este post. En caso contrario es altamente probable que sus lectores se enfaden y empiecen a usar bloqueador de publicidad o simplemente dejen de visitarles.\n","permalink":"https://geeklandlinux.github.io/posts/motivos-usar-bloqueador-de-publicidad/","summary":"\u003cp\u003eNo estoy totalmente encontra de la publicidad. Si la publicidad se hiciera de forma responsable y ética seguramente no estaría escribiendo este post ni la gente usaría herramientas como por ejemplo un bloqueador de publicidad.\u003c/p\u003e","title":"Motivos para usar un bloqueador de publicidad o Adblock"},{"content":"La semana anterior publiqué un post en el que detallaba los motivos y razones que tenemos para cifrar nuestras peticiones DNS. Una vez vista la necesidad de cifrar las peticiones DNS veremos como podemos instalar DNSCrypt en Linux, en Ubuntu y en Windows para de esta forma preservar nuestra privacidad y nuestra seguridad.\nINSTRUCCIONES PARA INSTALAR DNSCRYPT EN LINUX En función del sistema operativo y de la distro que usamos tenemos varios métodos para la instalación de DNScrypt.\nInstalar DNSCrypt a partir de los repositorios de la distro Si DNSCrypt está en los repositorios de nuestra distro, el proceso de instalación es muy sencillo ya tan solo tenemos seguir los siguientes pasos:\nEn el caso de ser usuarios de Debian, o de distribuciones derivadas de Debian, tenemos que ejecutar el siguiente comando en la terminal:\nsudo apt-get install dnscrypt-proxy En el caso de ser usuarios de Arch Linux o de distribuciones derivadas de Arch Linux, como por ejemplo Manjaro o Antergos, tenemos que ejecutar el siguiente comando en la terminal:\nsudo pacman -S dnscrypt-proxy En el caso de ser usuarios de Fedora o de distribuciones derivadas de Fedora, tenemos que ejecutar el siguiente comando en la terminal:\nsudo dnf install dnscrypt-proxy Una vez ejecutado el comando se instalará DNSCrypt y la totalidad de dependencias necesarias y el proceso de instalación habrá finalizado.\nInstalar DNSCrypt en el caso que no esté presente en los repositorios Si DNSCrypt no está en nuestros repositorios deberemos descargar y compilar el código fuente del programa. Para ello tienen que seguir los siguientes pasos:\nPrimero tendremos que asegurar que tenemos instalado el software básico para poder compilar e instalar DNSCrypt. Para ello abrimos una terminal y ejecutamos el siguiente comando:\nsudo apt-get update \u0026amp;\u0026amp; sudo apt-get install build-essential libtool automake libsodium13 pkg-config checkinstall wget gdebi Instalación de libsodium A continuación tenemos que descargar, compilar e instalar la librería criptográfica libsodium. Para ello descargamos el código fuente ejecutando el siguiente comando en la terminal:\nwget https://download.libsodium.org/libsodium/releases/LATEST.tar.gz Una vez descargado lo descomprimimos ejecutando el siguiente comando en la terminal:\ntar -zxvf LATEST.tar.gz Seguidamente accedemos a la carpeta que acabamos de descomprimir y que contiene el código fuente de libsodium. Para ello en mi caso tengo que ejecutar el siguiente comando en la terminal:\ncd libsodium-1.0.10 Una vez dentro de la carpeta ejecutaremos el siguiente comando para crear el archivo makefile necesario para la compilación de libsodium:\n./configure A continuación ya podemos compilar libsodium. Para ello ejecutamos el siguiente comando en la terminal:\nmake Una vez realizada la compilación vamos a construir el paquete binario que usaremos para la instalar libsodium. Para ello ejecutamos el siguiente comando en la terminal:\nsudo checkinstall Durante la ejecución de checkinstall se harán una serie de preguntas. Tan solo hay que leer detenidamente e ir contestando las preguntas que nos van preguntando. Si quieren pueden contestar las respuestas por defecto y el proceso de construcción del paquete se realizará correctamente.\nUna vez contestadas todas las preguntas, tal y como se puede ver en la captura de pantalla, la instalación habrá finalizado:\nUna vez creado el archivo binario ya lo podemos instalar mediante gdebi o el método que prefiramos. En mi caso como estoy usando Debian lo he instalado ejecutando el siguiente comando en la terminal:\nsudo dpkg -i libsodium1.0.10-1_i386.deb Instalación de dnscrypt Una vez hayamos instalado libsodium procederemos a descargar el programa DNScrypt. Para descargarlo ejecutamos el siguiente comando en la terminal:\nwget https://download.dnscrypt.org/dnscrypt-proxy/LATEST.tar.gz Una vez descargado lo descomprimimos ejecutando el siguiente comando en la terminal:\ntar -zxvf LATEST.tar.gz Seguidamente accedemos a la carpeta que acabamos de descomprimir y que contiene el código fuente de DNSCrypt. Para ello en mi caso tengo que ejecutar el siguiente comando en la terminal:\ncd dnscrypt-proxy-1.6.1 Una vez dentro de la carpeta ejecutaremos el siguiente comando para evitar problemas durante la compilación de DNSCrypt:\nsudo /sbin/ldconfig A continuación ejecutaremos el siguiente comando para crear el archivo makefile necesario para la compilación de DNSCrypt\n./configure Seguidamente ya podemos compilar DNSCrypt. Para ello ejecutamos el siguiente comando en la terminal:\nmake Una vez realizada la compilación vamos a construir el paquete binario que usaremos para la instalar DNSCrypt. Para ello ejecutamos el siguiente comando en la terminal:\nsudo checkinstall Durante la ejecución de checkinstall se harán una serie de preguntas. Tan solo hay que leer detenidamente e ir contestando las preguntas que nos van preguntando. Si quieren pueden contestar las respuestas por defecto y el proceso de construcción del paquete se realizará correctamente.\nUna vez contestadas todas las preguntas, tal y como se puede ver en la captura de pantalla, la instalación ha finalizado:\nUna vez creado el archivo binario ya lo podemos instalar mediante gdebi o el método que prefiramos. En mi caso como estoy usando Debian lo he instalado ejecutando el siguiente comando en la terminal:\nsudo dpkg -i dnscrypt-proxy_1.6.1-1_i386.deb INSTRUCCIONES PARA INSTALAR DNSCRYPT EN UBUNTU Y EN DISTRIBUCIONES DERIVADAS DE UBUNTU Si queremos instalar DNSCrypt en Ubuntu el procedimiento es mucho más sencillo. En el caso de usar Ubuntu podemos instalar DNSCrypt mediante repositorios del sistema operativo o mediante el uso de repositorios ppa.\nInstalar DNSCrypt mediante los repositorios del sistema operativo Si instalamos DNSCrypt mediante los repositorios del sistema operativo tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\nsudo apt-get install dnscrypt-proxy Una vez realizada esta simple operación el procedimiento ha finalizado.\nInstalar DNSCrypt mediante repositorios ppa El primer paso para la instalación es agregar el repositorio ppa en nuestro sistema operativo. Para ello ejecutamos el siguiente comando en la terminal:\nsudo add-apt-repository ppa:anton+/dnscrypt Seguidamente actualizamos nuestros repositorios ejecutando el siguiente comando en la terminal:\nsudo apt-get update Finalmente ya podemos instalar DNSCrypt ejecutando el siguiente comando en la terminal:\nsudo apt-get install dnscrypt-proxy Una vez realizados estos simples pasos el proceso de instalación ha finalizado.\nINSTRUCCIONES PARA INSTALAR DNSCRYPT EN WINDOWS Para la instalación de DNSCrypt en Windows tan solo tenemos que seguir los pasos que veréis a continuación.\nEmpezaremos por acceder a la siguiente URL mediante nuestro navegador web:\nhttps://github.com/jedisct1/dnscrypt-proxy/blob/master/README-WINDOWS.markdown\nUna vez dentro de la URL descargamos DNScrypt clicando encima del link Windows package for dnscrypt que pueden ver en la captura de pantalla:\nUna vez descargado DNSCrypt accedemos a la siguiente URL:\nhttps://github.com/simonclausen/dnscrypt-winservicemgr\nUna vez dentro de la página de github descargamos la interfaz gráfica de DNSCrypt clicando encima del botón Clone or Download y seguidamente clicando encima del botón Download ZIP.\nA continuación, tal y como se puede ver en la captura de pantalla, descomprimimos los 2 archivos zip que acabamos de descargar:\nUna vez terminada la descompresión dispondremos de las siguientes carpetas:\ndnscrypt-proxy-win32: Carpeta en la que está disponible DNSCrypt. dnscrypt-winservicemgr-master: Carpeta en la que está disponible la interfaz gráfica de DNSCrypt. Accedemos a la carpeta dnscrypt-winservicemgr-master\\DNSCrypt Windows Service Manager Package y copiamos el archivo dnscrypt-winservicemgr.exe\nUna vez copiado el archivo lo pegamos dentro de la carpeta dnscrypt-proxy-win32\nUna vez pegado el archivo copiamos la carpeta dnscrypt-proxy-win32 dentro de la carpeta C:\\Program Files. Después de seguir estos simples pasos habremos finalizado con el proceso de instalación de DNSCrypt en Windows.\nCONFIGURACIÓN DE DE DNSCRYPT EN LINUX Una vez finalizada la instalación tan solo nos falta configurar y comprobar que DNSCrypt funciona de forma adecuada. Para ello pueden seguir las instrucciones que encontrarán en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/configurar-dnscrypt-en-gnu-linux/\nCONFIGURACIÓN DE DE DNSCRYPT EN WINDOWS Una vez finalizada la instalación tan solo nos falta configurar y comprobar que DNSCrypt funciona de forma adecuada. Para ello pueden seguir las instrucciones que dejo en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/configurar-dnscrypt-en-windows/\n","permalink":"https://geeklandlinux.github.io/posts/instalar-dnscrypt-linux-ubuntu-windows/","summary":"\u003cp\u003eLa semana anterior publiqué un post en el que detallaba los \u003ca href=\"/posts/motivos-cifrar-las-peticiones-dns/\"\u003emotivos y razones que tenemos para cifrar nuestras peticiones DNS\u003c/a\u003e. Una vez vista la necesidad de cifrar las peticiones DNS veremos como podemos instalar DNSCrypt en Linux, en Ubuntu y en Windows para de esta forma preservar nuestra privacidad y nuestra seguridad.\u003c/p\u003e","title":"Instalar DNSCrypt en Linux ubuntu y Windows"},{"content":"Con el fin de preservar nuestra privacidad en este post detallaré los principales motivos para cifrar las peticiones DNS. Este post forma parte de una serie de 3 post en los que explicaré detalladamente los siguientes aspectos:\nLos motivos existentes para cifrar las peticiones DNS El procedimiento a seguir para instalar DNSCrypt en Linux y en Windows. Pasos a seguir para configurar, usar y optimizar DNSCrypt en Linux. Configurar y usar DNSCrypt en Windows. Usar DNSmasq para mejorar el rendimiento de DNSCrypt en Linux Como he detallado anteriormente, en el primero de los post comprenderemos los motivos que hacen que sea importante cifrar las peticiones DNS, pero antes de entrar en materia tenemos que entender lo que son los servidores DNS y que es una petición DNS.\nFUNCIONAMIENTO DE UN SERVIDOR DNS En artículos anteriores ya explicamos detalladamente la función que tienen los servidores DNS. Por lo tanto quien quiera consultar detalladamente las funciones de un servidor DNS puede consultar el siguiente enlace.\nPara quien no quiera profundizar en exceso, o ya sepa la función de un servidor DNS, solo decirle que un servidor DNS es el encargado de traducir las direcciones URL de las páginas que visitamos a IP y viceversa. Así por lo tanto cuando queremos visitar la página web https://geeklandlinux.github.io/, nuestro navegador contactará con el servidor DNS para averiguar la IP de la dirección URL https://geeklandlinux.github.io/. Una vez conocida la IP nos podremos conectar a la página web que queremos visitar.\nUna petición DNS no es más que la solicitud que enviamos al servidor DNS para que traduzca la dirección URL de la página web que queremos visitar a una dirección IP.\nMOTIVOS PARA CIFRAR LAS PETICIONES DNS La totalidad de peticiones DNS que hacemos son en texto plano y sin cifrar. Este hecho debería preocuparnos ya que la información que se puede obtener de las peticiones DNS que hacemos es importante. Algunos ejemplos de la utilidad que tiene cifrar las peticiones DNS son las siguientes:\nPreservar nuestra privacidad Nuestros proveedores de internet acostumbran ofrecernos de forma predeterminada sus propios servidores DNS. De esta forma asocian nuestra IP con nuestras peticiones DNS y les resulta sumamente sencillo saber los sitios web que hemos visitado vulnerando de esta forma nuestra privacidad. En el momento que nosotros cifremos las peticiones DNS nuestro proveedor de internet tendrá más dificultades en saber las páginas que visitamos.\nPara evitar tener una falsa sensación de seguridad Varios usuarios intentan proteger su privacidad mediante el uso de servicios VPN, de servidores proxy, conexiones https, etc. Lo que no saben estos usuarios es que usando un servidor proxy, conexiones https o un servidor VPN mal configurado, están realizando la totalidad de sus peticiones DNS sin cifrar, por lo tanto nuestro ISP o un atacante puede llegar a conocer sin problema las páginas web que hemos visitado y ser víctimas de ataques por parte de hackers o personas mal intencionadas.\nPara evitar ataques informáticos y el robo de información Mediante nuestras peticiones DNS un atacante puede llegar a realizar un ataque del tipo man in the middle como por ejemplo los siguientes:\nMan in the middle para interceptar nuestro tráfico: El atacante es capaz de interceptar y capturar la totalidad de nuestro tráfico llegando a conseguir nuestras contraseñas, nuestras cookies, etc.\nMan in the middle para DNS spoofing: El atacante dirige a las víctimas a páginas web falsas con el fin de robarles información como por ejemplo la contraseña de cuentas bancarias, de nuestro correo electrónico, etc.\nPara evitar la censura de algunos gobiernos Algunos gobiernos e ISP restringen y controlan el tráfico de Internet mediante las peticiones que sus usuarios realizan a los servidores DNS. Por lo tanto en ciertos casos cifrando nuestras peticiones DNS es posible evitar la censura que aplican los ISP de determinados países como por ejemplo Venezuela, Turquía, etc.\nSOLUCIONES DISPONIBLES PARA CIFRAR LAS PETICIONES DNS Para intentar solucionar los problemas descritos en el apartado anterior podemos usar DNSCrypt. DNSCrypt es la única solución de confianza existente en la actualidad que conozco.\nFUNCIONAMIENTO DE DNSCRYPT Entender el funcionamiento de DNScrypt es simple. DNScrypt se encarga de cifrar las peticiones DNS desde nuestro ordenador al servidor DNS. De esta forma podremos evitar ataques Man in the middle, DNS spoofing y que nuestro ISP o un atacante pueda espiar las páginas web que visitamos, ya que aunque intercepten nuestra petición no podrán averiguar su contenido.\nPor lo tanto de la misma forma que ciframos las peticiones y tráfico web con https, con DNSCrypt también cifraremos las peticiones que realizamos a los servidores DNS. El mecanismo de cifrado utilizado por DNSCrypt es muy similar al mecanismo utilizado por https.\nPara finalizar decir que los servidores que usará DNSCrypt para resolver nuestras peticiones DNS son los OpenDNS. Si preferimos usar otros servidores, en futuros post veremos como podemos modificar este aspecto.\n¿QUIÉN ESTA DETRÁS DE DNSCRYPT? DNScrypt es un proyecto desarrollado por OpenDNS, y que recientemente ha sido adquirido por Cisco. Por lo tanto bajo mi punto de vista es un proyecto serio y una solución fiable para solucionar los problemas de privacidad y de seguridad descritos en el post.\nNo obstante cabe decir que en este punto habrán opiniones diferentes a la mía ya que nuestras peticiones DNS dependerán del servicio de un tercero. No obstante más adelante verán que DNSCrypt permite seleccionar múltiples servidores DNS y algunos de ellos incluso garantizan que no se guardaran logs de nuestras peticiones DNS.\nPLATAFORMAS EN LAS QUE PUEDO USAR DNSCRYPT DNSCrypt está disponible para prácticamente la totalidad de sistemas operativos más usados en la actualidad:\nWindows Android Linux Mac OS iOS En la serie de post que realizaré durante las próximas semanas detallaré la instalación y el funcionamiento de DNSCrypt en Linux y en Windows.\n","permalink":"https://geeklandlinux.github.io/posts/motivos-cifrar-las-peticiones-dns/","summary":"\u003cp\u003eCon el fin de preservar nuestra privacidad en este post detallaré los principales motivos para cifrar las peticiones DNS. Este post forma parte de una serie de 3 post en los que explicaré detalladamente los siguientes aspectos:\u003c/p\u003e","title":"Motivos para cifrar las peticiones DNS"},{"content":"Actualmente Adobe no saca nuevas versiones de Flash en Linux, únicamente lanza actualizaciones de seguridad y es más que seguro que en un futuro no muy lejano acabará muriendo y siendo totalmente reemplazado por html5. No obstante en algunas web y en algunos casos aun sigue siendo necesario el uso de Flash.\nSi somos usuarios de Firefox, u otros navegador que utilice el plugin de Adobe, es posible que queramos visualizar un vídeo y nos encontremos con la siguiente situación:\nTal y como se puede ver en la captura de pantalla obtenemos el siguiente mensaje:\nEste plugin es vulnerable y debe ser actualizado\nPor lo tanto Firefox no nos deja visualizar el vídeo porque el plugin de Adobe está desactualizado.\nPara solucionar este problema y poder visualizar el vídeo tan solo tenemos que actualizar el plugin de Adobe siguiendo los siguientes pasos.\nNota: En la redacción de este post estoy suponiendo que disponen del plugin de flash instalado. En el caso que no lo tuvieran instalado y sean usuarios de Debian o una distro derivada de Debian lo pueden instalar abriendo una terminal y tecleando el comando sudo apt-get install flashplugin-nonfree COMPROBAR LA VERSION DEL PLUGIN QUE ESTAMOS USANDO El primer paso a realizar es abrir una una terminal y ejecutar el siguiente comando:\nsudo update-flashplugin-nonfree --status Después de ejecutar el comando en mi caso he obtenido el siguiente resultado:\njoan@debian:~$ sudo update-flashplugin-nonfree --status [sudo] password for joan: FlashPlayer version installed on this system : 11.2.202.559 FlashPlayer version available on upstream site: 11.2.202.616 flash-mozilla.so - auto mode link best version is /usr/lib/flashplugin-nonfree/libflashplayer.so link currently points to /usr/lib/flashplugin-nonfree/libflashplayer.so link flash-mozilla.so is /usr/lib/mozilla/plugins/flash-mozilla.so /usr/lib/flashplugin-nonfree/libflashplayer.so - priority 50 Si observamos las 2 líneas de color color rojo podemos concluir que la versión del plugin instalado en mi sistema es la 11.2.202.559 y la última versión disponible es la 11.2.202.616. Por lo tanto efectivamente mi plugin no está actualizado.\nACTUALIZAR EL PLUGIN DE FLASH A LA ÚLTIMA VERSIÓN Para actualizar a la última versión del plugin tan solo tenemos que ejecutar el siguiente comando en la terminal:\nsudo update-flashplugin-nonfree --install Justo después de ejecutar el comando se procederá a la actualización.\nCOMPROBAR QUE ESTAMOS USANDO LA ÚLTIMA VERSIÓN DEL PLUGIN Una vez finalizada la actualización volvemos a ejecutar el siguiente comando para comprobar si la versión instalada es la más actual:\nsudo update-flashplugin-nonfree --status Después de ejecutar el comando obtendremos el siguiente resultado:\njoan@debian:~$ sudo update-flashplugin-nonfree --status FlashPlayer version installed on this system : 11.2.202.616 FlashPlayer version available on upstream site: 11.2.202.616 flash-mozilla.so - auto mode link best version is /usr/lib/flashplugin-nonfree/libflashplayer.so link currently points to /usr/lib/flashplugin-nonfree/libflashplayer.so link flash-mozilla.so is /usr/lib/mozilla/plugins/flash-mozilla.so /usr/lib/flashplugin-nonfree/libflashplayer.so - priority 50 Si observamos el resultado obtenido podemos afirmar que disponemos de la última versión del plugin de Adobe. Por lo tanto, tal y como se puede ver en la captura de pantalla, ahora si puedo visualizar el vídeo que no podía visualizar inicialmente.\nDe esta forma tan sencilla podremos seguir visualizando nuestros vídeos con el navegador Firefox, o con cualquier otro navegador que haga uso del plugin de Adobe.\n","permalink":"https://geeklandlinux.github.io/posts/actualizar-plugin-flash-linux/","summary":"\u003cp\u003eActualmente Adobe no saca nuevas versiones de Flash en Linux, únicamente lanza actualizaciones de seguridad y es más que seguro que en un futuro no muy lejano acabará muriendo y siendo totalmente reemplazado por html5. No obstante en algunas web y en algunos casos aun sigue siendo necesario el uso de Flash.\u003c/p\u003e","title":"Actualizar el plugin de Flash en Debian"},{"content":"Si en algún momento quieren conocer y analizar el consumo de memoria RAM que tiene su sistema operativo Linux pueden ejecutar el siguiente comando en la terminal:\nfree -m -h En mi caso los resultados obtenidos son los siguientes:\nSi leemos los resultados obtenidos veremos algo realmente sorprendente. De los 3.1GB de memoria RAM únicamente tengo disponibles 1.3GB cuando apenas no tengo ningún programa abierto. ¿Como puede ser que el consumo de memoria RAM sea tan elevado?\n¿POR QUÉ LINUX CONSUME TANTA MEMORIA RAM? Linux en todo momento tiende a maximizar el uso de nuestra memoria RAM para conseguir los siguientes objetivos:\nAcelerar las lecturas en disco: Linux usa la memoria RAM que nos sobra para almacenar metadatos, datos e información de los archivos y programas que usamos, que hemos accedido recientemente o utilizamos de forma frecuente. De esta forma cuando necesitemos acceder a estos datos lo podremos hacer de forma mucho más rápida porque podremos acceder a la informaron directamente de la memoria RAM sin tener que acceder a la información almacenada en nuestro disco duro. Acelerar la asignación de memoria RAM a los programas: Cuando en Linux se abre un programa, el Kernel reserva una cantidad determinada de memoria para el funcionamiento de este programa. La cantidad de memoria reservada por el kernel es más grande que la memoria usada por el programa, de este modo en el momento que el programa necesita más memoria RAM, el Kernel se la puede proporcionar de inmediato sin tener que realizar operaciones adicionales porque se dispone de memoria sobrante previamente reservada para el programa en cuestión. La obtención de estos 2 objetivos se traducirá en un consumo de memoria RAM mayor, pero también con una mayor velocidad en el arranque, ejecución y uso de nuestros programas. En definitiva Linux tendrá un excelente gestión de la memoria RAM ya que siempre aprovechará la memoria RAM que no usamos para mejorar el rendimiento del sistema operativo.\n¿QUÉ PASARÁ CUANDO ABRA 2 O 3 PROGRAMAS QUE TENGAN UN CONSUMO ELEVADO DE RAM? En el caso que el comando Free nos dijera que únicamente tenemos 60 MB de RAM libres y abriéramos un navegador pesado como Chrome o Firefox no pasaría absolutamente nada.\nEn el momento de abrir el navegador se liberaría parte de la memoria RAM que almacena datos y metadatos de nuestro disco duro y se la asignaría al navegador. De este modo el navegador se abrirá y lo podremos usar sin ningún tipo de problema.\nANALIZAR EL CONSUMO DE MEMORIA RAM CON FREE Para leer y entender correctamente los resultados que nos da el comando free, primero tenemos que saber lo que significan cada uno de los parámetros que nos proporciona.\nSignificado de los parámetros que nos muestra el comando free El significado de cada uno de los parámetros que nos da el comando Free son los siguientes:\nTotal: Muestra la memoria RAM que tiene nuestro ordenador. Used: Muestra el consumo de memoria RAM que están consumiendo los programas y procesos que se están ejecutando en nuestro ordenador. Free: Muestra la memoria RAM que no estamos usando y por lo tanto está completamente libre sin realizar ninguna función. En otras palabras podemos decir que se trata de memoria RAM libre o “desperdiciada”. Shared: Muestra la cantidad de memoria RAM que está siendo compartida y usada por más de un proceso o programa. De esta forma los procesos se pueden comunicar entre ellos y se evita copiar datos redundantes en la memoria. buff/cache: Es la cantidad de memoria RAM que Linux se reserva para acelerar las lecturas en disco y para acelerar la asignación de memoria RAM a los programas. Available: Es una estimación de la memoria RAM disponible para iniciar nuevos programas y procesos sin considerar la memoria Swap. Ejemplo de como leer los resultados del comando Free Los resultados del comando que hemos ejecutado al inicio del post, y que podemos ver a continuación, se deben leer e interpretar de la siguiente forma:\nNota: La salida que proporciona el comando free puede variar en función de la versión del paquete procps instalado en su sistema operativo. Nota: El comando free proporciona resultados estáticos. Si quieren que los resultados del comando free se vayan actualizando de forma automática y periódica deben ejecutar el comando watch free -m -h Actualmente los programas y procesos que se están ejecutando en mi ordenador consumen una memoria RAM de 670 Megas. (Campo Used). Aproximadamente 1200 Megabytes de memoria RAM se están usando para almacenar metadatos e información con el fin de evitar el acceso al disco duro y acelerar la carga y uso de los programas. (Campo buff/cache) Tenemos 1300 Megabytes que actualmente no estamos usando. (Campo Free) Si sumamos la memoria detallada en los campos Used + Free + buff/cache, suman 3100 Megabytes que justo es la memoria RAM total que tiene mi ordenador. (Campo Total) Mi ordenador actualmente dispone de aproximadamente 2300 Megabytes para podar iniciar nuevos programas. (Campo available) Finalmente 28 Megabytes de nuestra memoria se están usando para almacenar información que puede ser consultada por varios programas y procesos. (Campo Shared) CONCLUSIONES FINALES Una vez explicados cada uno de los parámetros del comando free ya tenemos que ser capaces conocer a grandes rasgos la gestión de la memoria RAM y poder de llegar a las siguientes conclusiones:\nEl hecho de tener poca memoria RAM libre disponible (free) no significa que la gestión de la memoria sea deficiente o tengamos poca memoria disponible. Simplemente significa que Linux saca el máximo partido al hardware disponible. Para tener una idea clara de la memoria RAM que estamos consumiendo tenemos que consultar el Campo Used o el campo Available del comando free. Tener mucha memoria RAM sin usar (Free) es equivalente a desperdiciar la memoria RAM que tenemos en nuestro ordenador ya que usando esta memoria RAM podríamos conseguir que nuestro sistema operativo se moviera con mayor rapidez y fluidez. Tener poca memoria RAM libre (free) no implica que se vaya a hacer uso de la memoria Swap. Antes de usar la memoria Swap se liberará la memoria RAM usada como Buffer o como cache. Gran parte de la memoria usada como buffer y como cache se puede llegar a considerar como memoria no usada ya que en el momento de ser necesitada por los programas se liberará sin mayor problema. OTROS COMANDOS PARA CONOCER EL CONSUMO DE MEMORIA RAM En este artículo nos hemos limitado a comentar y analizar el consumo de memoria RAM mediante el uso del comando free. No obstante en Linux existen multitud de comandos que incluso dan mayor información que el comando free. Algunos de estos comandos son los siguientes:\nComando top Para ejecutar top tal solo tenemos que abrir una terminal y ejecutar el siguiente comando:\ntop Los resultados que nos mostrará este comando serán más completos que el comando Free. Este comando mostrará los mismos parámetros que el comando free, pero además será capaz de mostrarnos la cantidad de memoria RAM y CPU consumida por cada uno de nuestros procesos y programas que se ejecutan en nuestro ordenador.\nComando /proc/meminfo Para visualizar la información a través de meminfo tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\ncat /proc/meminfo Después de ejecutar el comando aparecerá una larga lista que nos mostrará multitud de parámetros de nuestra memoria RAM.\n","permalink":"https://geeklandlinux.github.io/posts/consumo-de-memoria-ram-en-linux/","summary":"\u003cp\u003eSi en algún momento quieren conocer y analizar el consumo de memoria RAM que tiene su sistema operativo Linux pueden \u003cstrong\u003eejecutar el siguiente comando en la terminal\u003c/strong\u003e:\u003c/p\u003e","title":"Conocer y analizar el consumo de memoria RAM en Linux"},{"content":"Existen usuarios del tema de iconos de Numix que estoy seguro que les gustaría cambiar el color y la apariencia de sus carpetas. Si este es vuestro caso podéis instalar el tema de carpetas Numix folders siguiendo las instrucciones del siguiente post.\nCONSIDERACIÓNES INICIALES ANTES DE PROCEDER CON LA INSTALACIÓN NUMIX FOLDERS Para poder seguir este tutorial es necesario cumplir una serie de requisitos. Los requisitos mínimos son los siguientes:\nDisponer de los temas de iconos Numix y Numix-Circle instalados en su ordenador. Las versiones de los temas de iconos Numix instalados en su ordenador tienen que ser posteriores al 19 de Junio de 2015. Si no es así en el momento de usar numix folders se romperá el tema de iconos. En el caso que no cumplan alguno de estos 2 requisitos tendrán que instalar o reinstalar de nuevo el tema de iconos Numix. Para ello les recomiendo seguir las instrucciones que encontrarán en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-tema-iconos-numix-linux/\nINSTALACIÓN DEL SCRIPT NUMIX FOLDERS PARA MODIFICAR EL COLOR Y DISEÑO DE LAS CARPETAS El primer paso a realizar para disponer de las carpetas Numix es instalar el software de control de versiones git para poder clonar el tema de carpetas Numix de Github. Para su instalación tenemos que ejecutar el siguiente comando en la terminal:\nsudo apt-get install git El segundo paso consiste en descargar el script Numix Folders ejecutando el siguiente comando en la terminal:\ngit clone https://github.com/numixproject/numix-folders En el tercer paso vamos a copiar la carpeta que nos acabamos de descargar en la ubicación /opt. Para ello ejecutamos el siguiente comando en la terminal:\nsudo cp -r ~/numix-folders /opt Seguidamente accedemos a la carpeta que contiene el script Numix folders. Para ello ejecutamos el siguiente comando en la terminal:\ncd /opt/numix-folders A continuación transformaremos en ejecutable el script numix folders. Para ello ejecutamos el siguiente comando en la terminal:\nsudo chmod +x /opt/numix-folders/numix-folders El quinto paso consiste en editar el archivo numix-folders.desktop para poder ejecutar el script. Para ello en la terminal ejecutamos el siguiente comando:\nsudo nano /opt/numix-folders/numix-folders.desktop Una vez ejecutado el comando se abrirá el editor de textos nano en el que deberemos localizar la siguiente línea:\nExec=numix-folders Una vez localizada la borramos y la reemplazamos por la siguiente:\nExec=/opt/numix-folders/numix-folders Una vez realizadas las modificaciones guardamos los cambios y cerramos el editor de texto.\nSeguidamente integraremos el script numix folders en el menú de nuestro entorno de escritorio copiando el archivo numix-folders.dektop en la ubicación /usr/share/applications. Para ello ejecutamos el siguiente comando en la terminal:\nsudo cp /opt/numix-folders/numix-folders.desktop /usr/share/applications Finalmente crearemos un enlace simbólico del archivo ejecutable de numix-folders al directorio /usr/bin para tener la posibilidad de arrancar numix folders directamente desde la terminal . Para ello ejecutamos el siguiente comando en la terminal:\nsudo ln -s /opt/numix-folders/numix-folders /usr/bin/numix-folders Una vez aplicados los cambios el proceso de instalación ha finalizado.\nABRIR EL PROGRAMA / SCRIPT NUMIX FOLDERS Tal y como se puede ver en la captura de pantalla, vamos al menú de nuestra distro y ejecutamos Numix Folders.\nNota: Si quieren también pueden ejecutar el script Numix folders vía terminal. Para ello abren una terminal y ejecutan el comando /opt/numix-folders/numix-folders o el comando numix-folders USAR Y CONFIGURAR NUMIX FOLDERS PARA CAMBIAR EL COLOR Y ASPECTO DE LAS CARPETAS Justo después de abrir el script los aparecerá la siguiente ventana en la que podremos seleccionar el diseño y el color de nuestras carpetas.\nEn mi caso selecciono el color naranja y el estilo 5. Una vez realizada la selección hay que presionar en el botón Apply.\nDespués de presionar encima del botón tenemos que esperar unos segundos para que el script numix folders cambie el color y el diseño de nuestras carpetas. Una vez aplicados los cambios en mi caso obtengo el siguiente resultado:\nComo podéis ver he sido conservador y el aspecto final no difiere mucho del aspecto inicial. No obstante si nos lo proponemos podemos llegar a obtener aspectos similares al siguiente:\nOPTIMIZAR EL RENDIMIENTO DE NUMIX FOLDERS Una vez modificado el aspecto de nuestras carpetas es recomendable actualizar los archivos de cache de los iconos Numix. Para ello en mi caso ejecuto los siguientes comandos en la terminal:\ngtk-update-icon-cache /usr/share/icons/Numix-Circle/ gtk-update-icon-cache /usr/share/icons/Numix-Circle-Light/ gtk-update-icon-cache /usr/share/icons/Numix/ gtk-update-icon-cache /usr/share/icons/Numix-Light/ Nota: Los comandos que acabo de citar es posible que se deban adaptar en función de la ruta en que tengáis instalados los iconos Numix. DESINSTALAR EL SCRIPT NUMIX FODLERS Si algún día queremos desinstalar el script Numix Folders tan solo tenemos que deshacer los cambios realizados. Para ello ejecutamos el script Numix Folders y seleccionamos el estilo 6 y el color Default. Una vez realizada la selección presionamos el botón Apply y esperamos unos segundos.\nUna vez podamos visualizar las carpetas estándar abrimos una terminal y borramos el archivo numix-folders.desktop ejecutando el siguiente comando en la terminal:\nsudo rm /usr/share/applications/numix-folders.desktop Seguidamente borramos el enlace simbólico que hicimos en usr/bin ejecutando el siguiente comando en la terminal:\nsudo rm /opt/numix-folders/numix-folders /usr/bin/numix-folders Finalmente borramos el script numix folders ejecutando el siguiente comando en la terminal:\nsudo rm -R /opt/numix-folders Una vez realizados estos pasos el proceso de desinstalación del script ha finalizado.\nENLACES DE INTERÉS Para finalizar el post les dejo el enlace para que puedan visitar la plataforma de desarrollo de numix-folders. De este modo cualquier tipo de problema que encuentren, o cualquier propuesta de mejora, la pueden reportar directamente a los desarrolladores.\nhttps://github.com/numixproject/numix-folders\n","permalink":"https://geeklandlinux.github.io/posts/cambiar-color-diseno-carpetas-numix-folders/","summary":"\u003cp\u003eExisten usuarios del tema de iconos de Numix que estoy seguro que les gustaría cambiar el color y la apariencia de sus carpetas. Si este es vuestro caso podéis instalar el tema de carpetas Numix folders siguiendo las instrucciones del siguiente post.\u003c/p\u003e","title":"Cambiar el color y el diseño de las carpetas con Numix folders"},{"content":"En algunas ocasiones puede resultar tremendamente útil el hecho de incrementar el tamaño de letra y de la totalidad de elementos y objetos que visualizamos en pantalla en nuestro sistema operativo Windows. Algunas de estas situaciones son las siguientes:\nEn el caso de sufrir algún tipo de deficiencia visual. En el caso que dispongamos de un monitor con una resolución muy alta cosa que hará que visualicemos el texto muy pequeño. En el caso que realicemos Screencast para posteriormente compartirlos por internet vía Youtube u otros medios. Una simple cuestión estética o de comodidad ya que con un texto y unos elementos más grandes podremos trabajar con mayor comodidad. Si este este es vuestro caso y necesitáis o creéis oportuno incrementar el tamaño de la letra y de los elementos que aparecen en pantalla tenéis que seguir los siguientes pasos.\nINCREMENTAR EL TAMAÑO DE LETRA Y DE LOS OBJETOS VISUALIZADOS EN PANTALLA EN WINDOWS 10 En el fondo del escritorio, tal y como se puede ver en la captura de pantalla, presionamos el botón derecho del ratón y clicamos sobre la opción Configuración de pantalla.\nUna vez dentro de la ventana de configuración tan solo tenemos que desplazar el puntero de la barra Cambiar el tamaño del texto las aplicaciones y otros elementos para incrementar el tamaño del texto y el resto de elementos que visualizamos en pantalla en la totalidad del sistema operativo.\nSi desplazamos el puntero de la barra hasta el valor de 125% podemos ver que el tamaño de la letra y del resto de elementos visualizados en pantalla se incrementa de forma automática. Ahora para que los cambios se apliquen de forma permanente tan solo tenemos que presionar el botón Cerrar sesión ahora.\nUna vez se inicie la nueva sesión, el tamaño de la letra y de todos los elementos que se visualizan en pantalla serán de mayor tamaño que en la configuración estándar de Windows.\nINCREMENTAR EL TAMAÑO DE LETRA Y DE LOS ELEMENTOS VISUALIZADOS EN PANTALLA EN WINDOWS En Windows 7 también podemos llevar a término la misma operación que acabamos de ver de la siguiente forma.\nEn el fondo del escritorio presionamos el botón derecho del ratón y clicamos sobre la opción Personalizar.\nSeguidamente clicamos en la opción Pantalla.\nFinalmente en el apartado Facilitar la lectura de los de los elementos en pantalla, tal y como se puede ver en la captura de pantalla, seleccionamos el tamaño 125% o 150% y presionamos el botón Aplicar.\nDespués de presionar el botón Aplicar aparecerá la siguiente ventana en la que se nos informará que para que los cambios sean efectivos se debe reiniciar la sesión. Para reiniciar la sesión de forma inmediata tenemos que clicar encima de botón Cerrar sesión ahora.\nEn el momento de reiniciar la sesión podrán observar que el tamaño de la letra y de todos los elementos que visualizamos en pantalla será mayor.\n","permalink":"https://geeklandlinux.github.io/posts/incrementar-el-tamano-elementos-pantalla/","summary":"\u003cp\u003eEn algunas ocasiones \u003cstrong\u003epuede resultar tremendamente útil\u003c/strong\u003e el hecho de \u003cstrong\u003eincrementar el tamaño de letra y de la totalidad de elementos\u003c/strong\u003e y objetos que visualizamos en pantalla en nuestro sistema operativo Windows. Algunas de estas situaciones son las siguientes:\u003c/p\u003e","title":"Incrementar el tamaño de los elementos visualizados en pantalla"},{"content":"Antiguamente escribí un post en el que comentaba el funcionamiento de los servicios de DNS dinámico y como crearse y configurar una cuenta NO-IP. Uno de los pasos de la configuración era instalar y configurar un software cliente en nuestro ordenador con el fin de ir refrescando la nuestra IP. En este artículo veremos como evitar este paso del siguiente modo. Vamos a configurar No-IP en nuestro Router para que de forma automática vaya actualizando nuestra IP pública al servicio DNS dinámico de NO-IP.\nCONFIGURAR NO-IP PARA REFRESCAR NUESTRA IP EN UN ROUTER COMTREND Los pasos a seguir para conseguir nuestro objetivo son los siguientes:\nPaso 1: Conocer y anotar nuestro Hostname de NO-IP Imagino que quien este leyendo este artículo sabrá perfectamente el hostname de su cuenta de NO-IP. No obstante, en el caso que haya alguien que no lo sepa tan solo tiene que entrar en su cuenta de NO-IP. Justo al entrar, tal y como se puede ver en la captura de pantalla, hay que clicar encima del botón Active hostname.\nDespués de clicar sobre el botón, tal y como se puede ver en la captura de pantalla, podrán ver su nombre de hostname:\nEn mi caso, tal y como se puede ver en la captura de pantalla, mi Hostname es geeklandeu.sytes.net\nPaso 2: Conocer el Username de nuestra cuenta de NO-IP Al igual que en el paso anterior imagino que también sabrán el Username o nombre de usuario de su cuenta de NO-IP. En el caso que no lo sepan tan solo tienen que acceder dentro de su cuenta de NO-IP y observar la parte superior derecha de la pantalla.\nEn mi caso, tal y como se puede ver en la captura de pantalla, mi Username es geeklandeu\nPaso 3: Acceder a la configuración de nuestro Router A continuación accedemos a la configuración de nuestro. Para ello abrimos nuestro navegador, en la barra direcciones tecleamos 192.168.1.1 y presionamos la tecla Enter. Seguidamente aparecerá una ventana en la que deberemos ingresar el nombre de usuario y de nuestro router y la contraseña. Una vez introducidos presionamos sobre el botón Iniciar Sesión.\nPaso 4: Averiguar la interfaz WAN que usamos Justo al acceder a la configuración del Router podréis ver una pantalla parecida a la siguiente:\nEn esta pantalla nos deberemos fijar en el apartado Default Gateway en el que podremos ver la interfaz WAN que estamos usando actualmente. En mi caso, si observáis la captura de pantalla, veréis que estoy usando la interfaz ppp1.2\nPaso 5: Acceder a la configuración del DNS Dinámico de nuestro Router Una vez conocemos el nombre de nuestra interfaz WAN ya disponemos de la totalidad de datos necesarios para configurar no-ip en nuestro router. Por lo tanto en el menú de navegación de la izquierda de nuestra pantalla clicamos encima de Advanced Setup, seguidamente clicamos encima de DNS y finalmente clicamos encima de Dynamic DNS.\nA continuación, tal y como se puede ver en la captura de pantalla, clicamos encima del botón Add.\nPaso 6: Configurar NO-IP en nuestro Router Comtrend Una vez dentro del menú de configuración verán varios campos que deberemos cumplimentar para configurar no-ip. El contenido a introducir en cada uno de los campos es el siguiente:\nDDNS Provider: En este campo se nos pregunta la empresa que nos proporciona el servicio de DNS dinámico. Como en nuestra caso no encontraremos la opción NO-IP tenemos que seleccionar la opción Custom Hostname: En este campo tenemos que escribir nuestro hostname. En el paso número 1 hemos visto como averiguar nuestro hostname. En mi caso el hostname es geeklandeu.sytes.net Interface: Seguidamente tenemos que indicar el nombre y el tipo de interfaz WAN que estamos usando. En el paso número 4 hemos visto que el nombre de mi interfaz WAN es ppp1.2. Por lo tanto en esta campo seleccionaré la opción que contenga el nombre de la interfaz WAN que estoy usando que en mi caso es pppoe:0_8_35/ppp1.2 DynDNS Server: En este campo debemos escribir parte de la URL que se usa usa para actualizar nuestra IP pública al servicio DNS dinámico de NO-IP. Está URL es dynupdate.no-ip.com URL: En el campo URL se debe escribir la otra parte de la URL que se usa para actualizar nuestra IP pública al servicio DNS dinámico de NO-IP. Está URL es /nic/update? Username: En el campo username tan solo tenemos que poner el nombre de usuario de nuestra cuenta de NO-IP. Para saber su nombre de usuario tan solo tienen que consultar el paso 2. En mi caso uso el nombre de usuario geeklandeu Password: En el último campo tan solo tenemos que escribir la contraseña de nuestra cuenta de no IP. Una vez realizados todos los cambios, tal y como se puede ver en la captura de pantalla, presionamos el botón Apply/Save\nMuestra de la configuración realizada en mi caso[/caption]\nUna vez realizados todos estos pasos habremos terminado el proceso de configurar no-ip en nuestro Router. Por lo tanto en estos momentos nuestro Router actualizará de forma periódica y automática nuestra IP Pública al servicio DNS dinámico de NO-IP sin necesidad de tener que instalar un cliente NO-IP en un ordenador que tendríamos que tener permanentemente abierto.\nCOMPROBACIÓN QUE EL ROUTER ESTA BIEN CONFIGURADO En estos momentos el procedimiento ha finalizado. Para comprobar que nuestro router está refrescando nuestra IP Pública al servicio NO-IP lo haremos de la siguiente forma:\nEl primer paso consiste en abrir una terminal, o una línea de comandos, y ejecutar el comando ping seguido del Hostname de nuestra cuenta de NO-IP. Por lo tanto en mi caso ejecutaré el siguiente comando:\nping geeklandeu.sytes.net Si observáis los resultados obtenidos vemos que en mi caso el hostname geeklandeu.sytes.net está asociado a la IP 188.38.63.76.\nEl segundo paso consiste comprobar nuestra IP Pública. Para ello abrimos nuestro navegador preferido y accedemos a la siguiente página web:\nhttp://www.vermiip.es/\nJusto al acceder a la página web, tal y como se puede ver en la captura de pantalla, podremos ver nuestra IP Pública\nTal y como podéis ver en mi caso la IP Pública es la 188.38.63.76 y es exactamente la misma IP que está asociada con el hostname de NO-IP geeklandeu.sytes.net. Por lo tanto podemos estar seguros que la configuración realizada es correcta y nuestro router está refrescando nuestra IP al servicio NO-IP.\nENLACES DE INTERÉS Si lo consideran oportuno también podemos actualizar nuestra IP a través de una petición http. Para ello tan solo hay que seguir las instrucciones que se muestran en el siguiente enlace:\nhttps://www.noip.com/integrate/request\n","permalink":"https://geeklandlinux.github.io/posts/configurar-no-ip-router-comtrend/","summary":"\u003cp\u003eAntiguamente escribí un post en el que comentaba el \u003ca href=\"/posts/encontrar-servidor-con-dns-dinamico/\"\u003efuncionamiento de los servicios de DNS dinámico y como crearse y configurar una cuenta NO-IP\u003c/a\u003e. Uno de los pasos de la configuración era instalar y configurar un software cliente en nuestro ordenador con el fin de ir refrescando la nuestra IP. En este artículo veremos como evitar este paso del siguiente modo. Vamos a configurar No-IP en nuestro Router para que de forma automática vaya actualizando nuestra IP pública al servicio DNS dinámico de NO-IP.\u003c/p\u003e","title":"Configurar NO-IP en un router Comtrend"},{"content":"Hace unas semanas vimos los pasos a seguir para poder instalar el tema Numix GTK en cualquier distribución Linux. En este post veremos los pasos a seguir para poder instalar el tema de iconos Numix en prácticamente cualquier distribución Linux. Los pasos a seguir para la instalación de los iconos Numix y Numix Circle son los siguientes.\nINSTALAR EL TEMA DE ICONOS NUMIX EN LINUX Paso 1: Instalación del Software Git El primer paso a realizar es instalar el software de control de versiones git para poder clonar / descargar el tema de iconos Numix de Github. Para su instalación tenemos que ejecutar el siguiente comando en la terminal:\nsudo apt-get install git Paso 2: Descargar los iconos Numix El segundo paso consiste en descargamos / clonar el tema de iconos en nuestro ordenador ejecutando una serie de comandos en la terminal:\nPara descargar el tema de iconos Numix-Circle ejecutamos el siguiente comando en la terminal:\ngit clone https://github.com/numixproject/numix-icon-theme-circle.git Para descargar el tema de iconos Numix ejecutamos el siguiente comando en la terminal:\ngit clone https://github.com/numixproject/numix-icon-theme.git Después de ejecutar estos 2 comandos habremos descargado gran parte de los temas de iconos creados por los desarrolladores de Numix en nuestro ordenador.\nPaso 3: Instalación de los iconos Numix Finalmente el último paso consiste en la instalación del tema de iconos. Para instalar el tema de iconos tan solo tenemos que copiar las carpetas que acabamos de descargar en el paso 2 en la ubicación /usr/share/icons.\nPor lo tanto para instalar el tema de iconos Numix-Circle ejecutamos los siguientes comandos comandos en la terminal:\nsudo mv numix-icon-theme-circle/Numix-Circle/ /usr/share/icons sudo mv numix-icon-theme-circle/Numix-Circle-Light /usr/share/icons Para instalar el tema Numix ejecutamos los siguientes comandos en la terminal:\nsudo mv numix-icon-theme/Numix /usr/share/icons sudo mv numix-icon-theme/Numix-Light /usr/share/icons A partir de estos momentos podemos afirmar que tenemos instalados los iconos Numix en nuestro sistema operativo\nINSTALAR LOS ICONOS NUMIX EN UBUNTU Y DISTRIBUCIONES DERIVADAS DE UBUNTU En el caso de usar Ubuntu, o distribuciones derivadas de Ubuntu, podemos realizar la instalación de los iconos a través de un repositorio ppa.\nEl primer paso para la instalación es agregar el repositorio de Numix en nuestro sistema operativo. Para ello ejecutamos el siguiente comando en la terminal:\nsudo add-apt-repository ppa:numix/ppa Seguidamente actualizamos nuestros repositorios ejecutando el siguiente comando en la terminal:\nsudo apt-get update Finalmente ya podemos instalar los temas de iconos, para instalar el tema de iconos Numix-Circle ejecutamos el siguiente comando en la terminal:\nsudo apt-get install numix-icon-theme-circle Para instalar el tema de iconos Numix ejecutamos el siguiente comando en la terminal:\nsudo apt-get install numix-icon-theme Una vez finalizados los pasos podemos afirmar que el proceso de instalación de los iconos Numix ha finalizado.\nCREAR UN ARCHIVO DE CACHE PARA LOS ICONOS Obviamente es interesante crear un archivo de cache para los nuevos temas de iconos que acabamos de instalar. De este modo conseguiremos mejorar la fluidez de nuestro sistema operativo.\nPara crear el archivo de cache de los temas de iconos que acabamos de descargar e instalar tan solo tenemos que ejecutar los siguientes comando en la terminal:\ngtk-update-icon-cache /usr/share/icons/Numix-Circle/ gtk-update-icon-cache /usr/share/icons/Numix-Circle-Light/ gtk-update-icon-cache /usr/share/icons/Numix/ gtk-update-icon-cache /usr/share/icons/Numix-Light/ Con el archivo de cache realizado, cuando abramos un programa se reducirán las búsquedas y lecturas en disco lo cual incrementará la velocidad de carga de los iconos y del programa.\nACTIVAR EL TEMA DE ICONOS NUMIX Una vez instalado el tema de iconos lo tenemos que activar. Los pasos a seguir para activar los iconos en nuestro sistema operativo varia en función del entorno de escritorio usado. Los pasos a seguir en función del escritorio que estan usando son los siguientes.\nActivar los iconos Numix en XFCE Para activar los iconos en XFCE tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\nxfce4-appearance-settings Seguidamente aparecerá la ventana de apariencia en la que, tal y como se puede ver en la captura de pantalla, tan solo tenemos que clicar en la pestaña Iconos y seleccionar el tema de iconos que queramos.\nTal y como se puede ver en la captura de pantalla en mi caso he seleccionado el tema Numix Circle porque es el que me gusta más. Justo después de seleccionar el tema verán que los iconos de vuestro sistema operativo cambian al instante de forma automática.\nActivar los iconos Numix en Gnome Shell Para activar los iconos en Gnome Shell tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\ngnome-tweak-tool Nota: En el caso que no tuvieran instalado gnome-tweak-tool lo pueden instalar ejecutando el comando sudo apt-get install gnome-tweak-tool en la terminal. Una vez ejecutado el comando aparecerá la siguiente ventana en la que, tal y como se puede ver en la captura de pantalla, en el apartado de iconos podemos seleccionar el tema de iconos que nosotros queramos.\nTal y como se puede ver en la captura de pantalla en mi caso he seleccionado el tema Numix Circle porque es el que me gusta más. Justo después de seleccionar el tema verán que los iconos de vuestro sistema operativo cambian al instante de forma automática.\nNota: En el caso de usar un entorno de escritorio diferente a Gnome Shell o Xfce deberán consultar en Google como puede activar los iconos Numix ASPECTO FINAL DEL ESCRITORIO CON EL TEMA Y LOS ICONOS NUMIX Tal y como puede ver en la captura de pantalla, tanto el tema Numix como los iconos Numix son coloridos y elegantes. Durante los últimos años Numix ha marcado la tendencia dentro del mundo Linux y además es un hecho que sus desarrolladores se preocupan por la opinión y sugerencias de los usuarios del tema. Además los desarrolladores se preocupen por corregir errores y publican actualizaciones de forma frecuente.\nPara finalizar les dejo el siguiente enlace en el que podrán ver la totalidad de proyectos abiertos y en los que estan trabajando el equipo de Numix.\nhttps://github.com/numixproject/\n","permalink":"https://geeklandlinux.github.io/posts/instalar-tema-iconos-numix-linux/","summary":"\u003cp\u003eHace unas semanas vimos los pasos a seguir para poder instalar el tema Numix GTK en cualquier distribución Linux. En este post veremos los pasos a seguir para poder instalar el tema de iconos Numix en prácticamente cualquier distribución Linux. Los pasos a seguir para la instalación de los iconos Numix y Numix Circle son los siguientes.\u003c/p\u003e","title":"Instalar el tema de iconos Numix en Linux"},{"content":"En algunas ocasiones cuando vamos a instalar un tema de escritorio en nuestra distribución Linux, nos preguntamos la versión de librerías GTK que tiene nuestro sistema operativo para ver si el tema que queremos instalar es compatible con nuestra distribución.\nSi queremos tener una respuesta a esta pregunta tan solo tenemos que seguir las indicaciones de este post, pero antes de saber la versión de librerías GTK usadas por nuestro sistema operativo es interesante saber que son las librerías GTK.\n¿QUÉ SON LAS LIBRERÍAS GTK? Las librerías GTK son un conjunto de ficheros creados por el equipo de GTK y Gnome que son usados por los programadores con el fin de crear las interfaces gráficas de los entornos de escritorio y de la totalidad de programas que se ejecutan en sobre nuestro sistema operativo.\nEl conjunto de librerías que incluye GTK son GTL, Glib, GTK, GDK, ATK, Pango y Cairo. Cada una de estas librerías tienen las funciones que pueden ver detalladas en el siguiente enlace.\nAlgunos de los entornos de escritorio que utilizan las librerías GTK para definir su aspecto gráfico son los siguientes:\nXFCE Gnome Shell LXDE (Aunque LXDE) Rox Mate Pantheon Cinammon etc Algunos gestores de ventanas de utilizan GTK son los siguientes:\nxfwm4 Metacity Openbox IceWM etc Finalmente algunos programas conocidos que utilizan las librerías GTK son los siguientes:\nChromium Pidgin Gimp Inkscape Midori VMWare etc En el caso de requerir información adicional acerca de GTK pueden consultar el siguiente enlace de la wikipedia.\nNota: Las librerías GTK no son exclusivas de Linux. Las librerías GTK también se pueden usar en otros sistemas operativos como por ejemplo en Windows, Mac OS X o en dispositivos móviles. VERSIONES ACTUALES EXISTENTES DE LA LIBRERÍAS GTK Las librerías GTK están en constante evolución y con el paso del tiempo van apareciendo nuevas versiones y nuevas actualizaciones.\nAsí de este modo en la actualidad están conviviendo las versiones 2 y 3 y es necesario disponer de ambas versiones para poder visualizar de forma correcta la totalidad de software en nuestro ordenador.\nNota: Con el paso del tiempo las aplicaciones basadas en GTK2 migrarán a GTK3 y la versión GTK2 quedará obsoleta. Nota: Para ver el histórico de versiones existentes de GTK pueden consultar el siguiente enlace. ¿QUÉ VERSIÓN DE LIBRERÍAS GTK TIENE NUESTRO SISTEMA OPERATIVO? Una vez tenemos un conocimiento básico de lo que estamos hablando, podemos pasar a ver la versión de librerías GTK que tenemos instaladas en nuestro ordenador. Para ello tenemos como mínimo 2 opciones.\nLa primera de ellas es abrir una terminal y ejecutar el siguiente comando:\napt-cache policy libgtk2.0-0 libgtk-3-0 Después de ejecutar el comando obtendremos la siguiente captura de pantalla:\nSi leemos el contenido de la captura de pantalla vemos que tenemos instaladas 2 versiones de librerías GTK:\nLa primera de ellas corresponde a la versión 2.24.30-1.1 que nos será útil para visualizar correctamente todas las aplicaciones desarrolladas usando librerías GTK2 como por ejemplo Thunar, Gimp, Audacity, Filezilla, Spotify, Firefox, etc. La segunda versión corresponde a la versión 3.20.3-2 que nos será útil para visualizar correctamente todas las aplicaciones desarrolladas usando librerías GTK3 como por ejemplo Catfish, Transmission, Corebird, Evince, Synaptic, Nautilus, Parole, Handbrake, etc. Después de ver los resultados obtenidos podemos afirmar que en Debian testing (Stretch) estoy usando las 2 versiones más actuales de librearías GTK.\nOtro comando alternativo que podemos usar para comprobar la versión de las librerías GTK es el siguiente:\ndpkg -l libgtk2.0-0 libgtk-3-0 Si observamos la captura de pantalla veremos que los resultados obtenidos son exactamente los mismos que con el comando anterior.\nSABER SI UN PROGRAMA DETERMINADO USA GTK2 O GTK3 En el algún caso en particular puede ser útil conocer la versión de librerías GTK que usa un programa determinado. Para ello tan solo tenemos que abrir una terminal y teclear el comando apt-cache show seguido del nombre del programa. Así por lo tanto si queremos saber las librerías gtk usadas por transmission tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\napt-cache show transmission-gtk Tal y como se puede ver en la captura de pantalla en el apartado de dependencias vemos que Transmission depende de la librería libgtk-3-0. Por lo tanto Transmission utiliza librerías GTK3.\nNota: El comando equivalente con el gestor de paquetes aptitude es aptitude show transmission-gtk En el caso que queramos comprobar las librerías GTK usadas por Spotify tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\napt-cache show spotify-client Tal y como se puede ver en la captura de pantalla, en el apartado de dependencias vemos que Spotify depende de la librería libgtk2-0-0. Por lo tanto Spotify utiliza librerías GTK2.\nNota: El comando equivalente con el gestor de paquetes aptitude es aptitude show spotify-client OBTENER UN LISTADO DE PROGRAMAS QUE USAN LIBRERIAS GTK2 Si queremos obtener un listado de programas que funcionan con las librerías GTK2 abrimos una terminal y ejecutamos siguiente comando:\napt-cache rdepends libgtk2.0-0 Nota: El comando equivalente con el gestor de paquetes aptitude es aptitude search \u0026lsquo;~i ~D libgtk2.0-0\u0026rsquo; OBTENER UN LISTADO DE PROGRAMAS QUE USAN LIBRERÍAS GTK3 En el caso que queramos obtener un listado de aplicaciones que utilizan librerías GTK3 ejecutamos el siguiente comando en la terminal:\napt-cache rdepends libgtk-3-0 Nota: El comando equivalente con el gestor de paquetes aptitude es aptitude search \u0026lsquo;~i ~D libgtk-3-0\u0026rsquo; OBTENER UN LISTADO DE PROGRAMAS QUE USAN LIBRERÍAS QT Es posible que en los listados obtenidos en los 2 últimos apartados no encontréis la totalidad de programas que usáis, o que veáis que un programa determinado no dependa de ninguna librería GTK. Esto es debido a que hay programas que en vez de las Librerías GTK utilizan librerías QT.\nPara obtener un listado de los programas que utilizan librerías QT tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\napt-cache rdepends libqtcore4 Nota: El comando equivalente con el gestor de paquetes aptitude es aptitude search \u0026lsquo;~i ~D libqtcore4\u0026rsquo; CONSEJO PARA OBTENER LOS LISTADOS DE PROGRAMAS En los 3 últimos apartados obtendréis listados muy largos y es posible que no se puedan visualizar de forma completa en la terminal. Para solucionar este problema podemos volcar el contenido de la terminal en un fichero de texto.\nPara ello, a modo de ejemplo, tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\napt-cache rdepends libqtcore4 \u0026gt; ~/QT.txt El comando que acabamos de ejecutar nos listará la totalidad de programas y paquetes que dependen de las librerías QT. El contenido listado lo encontraremos en un fichero de texto con nombre QT ubicado en nuestra home.\n","permalink":"https://geeklandlinux.github.io/posts/que-son-librerias-gtk-version-usamos/","summary":"\u003cp\u003eEn algunas ocasiones cuando vamos a instalar un tema de escritorio en nuestra distribución Linux, nos preguntamos la versión de librerías GTK que tiene nuestro sistema operativo para ver si el tema que queremos instalar es compatible con nuestra distribución.\u003c/p\u003e","title":"Qué son las librerías GTK y que versión usamos"},{"content":"Recientemente se han actualizado las librerías gtk de mi sistema operativo a la versión 3.20 y esto ha ocasionado que se rompa el tema Numix que vengo usando desde hace ya bastante tiempo.\nMuestra de los problemas ocasionados por la actualización de las librerías gtk\nLa solución al problema ha sido fácil ya que simplemente he tenido que instalar de nuevo la última versión del tema.\nEl procedimiento para instalar el tema Numix es bastante sencillo, no obstante he creído conveniente escribir un tutorial por los siguientes motivos:\nLa mayoría de tutoriales existentes solamente son útiles para Ubuntu. La gran mayoría de tutoriales existentes se limitan a decir que lo único que hay que realizar es copiar el tema Numix en la ubicación usr/share/themes. En mi caso este método no me ha funcionado y el tema se visualizaba de forma incorrecta. Nota: El método mostrado para la instalación del tema es el recomendado por numix en la plataforma de desarrollo de Github. INSTALAR EL TEMA NUMIX EN CUALQUIER DISTRIBUCIÓN LINUX El primer paso a realizar es asegurar que tenemos instalado el software básico para poder compilar programas. Para ello abrimos una terminal y ejecutamos el siguiente comando:\nsudo apt-get install linux-headers-$(uname -r) build-essential checkinstall make automake autoconf git El siguiente paso es asegurar que tenemos instaladas la totalidad de dependencias necesarias para poder compilar y usar el tema Numix, para ello en la terminal ejecutamos el siguiente comando:\nsudo apt-get install git ruby libxml2-utils libgdk-pixbuf2.0-dev libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-dev libglib2.0-dev gtk2-engines-murrine Como tercer paso tenemos que instalar el compilador sass ejecutando el siguiente comando en la terminal:\ngem install sass Seguidamente descargamos / clonamos el tema Numix en nuestro ordenador ejecutando el siguiente comando en la terminal:\ngit clone https://github.com/numixproject/numix-gtk-theme.git Una vez descargado el tema, accedemos a la carpeta que contiene el tema ejecutando el siguiente comando en la terminal:\ncd numix-gtk-theme El sexto paso será compilar el tema Numix ejecutando el siguiente comando en la terminal:\nsudo make Una vez compilado el tema tan solo tenemos que instalarlo. Para ello en la terminal ejecutamos el siguiente comando:\nsudo make install Una vez ejecutado el comando tan solo tenemos que esperar unos segundos para que finalice el proceso de instalación.\nSi todos los pasos se han realizado con éxito habrán obtenido unos resultados similares a los que se muestran en la siguiente captura de pantalla:\nACTIVAR EL TEMA NUMIX QUE ACABAMOS DE INSTALAR Una vez instalado el tema tan solo que tenemos activarlo. La activación del tema dependerá del entorno de escritorio que estemos usando.\nActivar el tema Numix en el entorno de escritorio XFCE En el caso de usar el entorno de escritorio xfce, tan solo tenemos que abrir una terminal y ejecutar los siguientes comandos:\nxfconf-query -c xsettings -p /Net/ThemeName -s \u0026#34;Numix\u0026#34; xfconf-query -c xfwm4 -p /general/theme -s \u0026#34;Numix\u0026#34; Después de ejecutar estos dos comandos observaran que se activa el tema y la visualización de las ventanas y del entorno de escritorio cambia completamente.\nActivar el tema Numix en el entorno de escritorio Gnome Shell En el caso de usar el entorno de escritorio Gnome Shell tenemos que abrir una terminal y ejecutar los siguientes comandos:\ngsettings set org.gnome.desktop.interface gtk-theme \u0026#34;Numix\u0026#34; gsettings set org.gnome.desktop.wm.preferences theme \u0026#34;Numix\u0026#34; Después de ejecutar estos dos comandos observaran que se activa el tema y la visualización de las ventanas y del entorno de escritorio cambia completamente.\nNota: En este post se muestra la activación del nuevo tema mediante la ejecución de comandos en la terminal. En el caso que no les guste la terminal también también pueden activar el nuevo tema mediante el panel de configuración que acostumbran a tener todos los entornos de escritorio. MODIFICAR EL TEMA NUMIX PARA DEJARLO A NUESTRO GUSTO Nota: Este apartado es opcional, no obstante en mi caso lo considero imprescindible para al menos la totalidad de usuario del escritorio Xfce. Justo en el momento de instalar el tema observaran que algunos programas que funcionan con librerías gtk3 presentan unas barras de título desproporcionadamente grandes en comparación con los programas que usan librerías gtk2.\nPara solucionar este asunto usaremos el lenguaje de programación CSS para modificar la visualización de las aplicaciones que funcionan con librerías gtk3. Para ello abrimos una terminal y ejecutamos el siguiente comando:\nnano mousepad ~/.config/gtk-3.0/gtk.css Una vez abierto el editor de textos nano pegaremos el siguiente código en el documento:\n/* shrink headebars */ headerbar { min-height: 0; padding-left: 2px; /* same as childrens vertical margins for nicer proportions */ padding-right: 2px; padding-top: 1px; padding-bottom: 1px; } headerbar entry, headerbar spinbutton, headerbar button, headerbar separator { margin-top: 1px; /* same as headerbar side padding for nicer proportions */ margin-bottom: 1px; } /* shrink ssd titlebars */ .default-decoration { min-height: 0; /* let the entry and button drive the titlebar size */ padding-left: 2px; /* same as childrens vertical margins for nicer proportions */ padding-right: 2px; padding-top: 1px; padding-bottom: 1px; } .default-decoration .titlebutton { min-height: 5px; /* tweak these two props to reduce button size */ min-width: 5px; } /* reduce the padding size of buttons */ button, entry { min-height: 0; min-width: 0; padding: 2px; } /* reduce the padding of tabs */ notebook tab { min-height: 0; padding-top: 3px; padding-bottom: 3px; } /* reduce the padding of buttons */ notebook tab button { min-height: 0; min-width: 0; padding: 2px; margin-top: 2px; margin-bottom: 2px; } notebook button { min-height: 0; min-width: 0; padding: 2px; } /* add padding for Vte-terminal */ widget { padding: 4px; } Fuente del código CSS\nUna vez pegado el código guardamos el fichero y lo cerramos. A continuación si volvemos a realizar la misma comparación que en el caso anterior veremos que los resultados obtenidos son muy distintos:\nTal y como se puede ver en la captura de pantalla, la barra de título y los iconos que aparecen dentro de ella son mucho más pequeños integrándose de forma adecuada con las aplicaciones que usan librerías gtk2.\nEn el caso que en vuestro caso no consigáis unos resultados como los míos tan solo tenéis que ajustar y jugar con los valores del fichero gtk.css.\nDe esta forma tan simple y tan rápida podréis disfrutar del que ha sido y es uno de los mejores temas de escritorio para Linux.\nACTIVAR EL TEMA NUMIX EN LAS NOTIFICACIONES DEL SISTEMA En estos momentos el tema Numix está configurado y funcionando de forma adecuada, pero es posible que el look de las notificaciones del sistema no se integren bien con el tema Numix. Para solucionar este problema tan solo tenemos que seguir los siguiente pasos:\nEn el caso de usar el entorno de escritorio xfce, tenemos que abrir una terminal y ejecutar el siguiente comando:\nxfce4-notifyd-config Después de ejecutar el comando aparecerá la siguiente ventana en la que, tal y como se puede ver en la captura de pantalla, entre otros parámetros podemos seleccionar el tema que queremos que se aplique en nuestra notificaciones.\nUna vez seleccionado el tema presionamos el botón Cerrar y en estos momentos las notificaciones de nuestro sistema operativo se integrarán a la perfección con el tema de nuestro escritorio.\nACTIVAR EL TEMA NUMIX EN NUESTRO GESTOR DE DE SESIONES Activar el tema Numix en el gestor de sesiones LightDM En el caso de ser usuarios del gestor de sesiones Lightdm es posible que el tema usado en el gestor de sesiones no se integre con el tema Numix. Si queremos solucionar este problema tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\nsudo nano /etc/lightdm/lightdm-gtk-greeter.conf Una vez vez abierto el editor de texto, tal y como se puede ver en la captura de pantalla, localizamos la línea que empieza por las palabras theme-name y la modificamos de modo que quede de la siguiente forma:\ntheme-name=Numix Finalmente guardamos las modificaciones y cerramos el fichero. La próxima vez que visualicemos nuestro gestor de sesiones su imagen se integrará a la perfección con el tema Numix.\nActivar el tema Numix en el gestor de sesiones GDM En el caso de ser usuarios del gestor de sesiones gdm es posible que el tema usado en el gestor de sesiones no se integre con el tema Numix. Si queremos solucionar este problema tan solo tenemos que abrir una terminal y teclear el siguiente comando:\nsudo nano /etc/gdm3/greeter.dconf-defaults Una vez abierto el editor de textos localizamos la siguiente línea:\n# gtk-theme=\u0026#39;Adwaita\u0026#39; y la reemplazamos por la siguiente:\ngtk-theme=\u0026#39;Numix\u0026#39; Una vez realizadas las modificaciones guardamos los cambios y cerramos el fichero. Finalmente para que se apliquen los cambios en el próximo arranque tenemos que abrir una terminal y ejecutar el siguiente comando:\ndpkg-reconfigure gdm3 De esta forma la próxima vez que visualicemos nuestro gestor de sesiones gdm podemos estar seguros se integrará a la perfección con el tema Numix.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-tema-numix-gtk-linux/","summary":"\u003cp\u003eRecientemente se han actualizado las librerías gtk de mi sistema operativo a la versión 3.20 y esto ha ocasionado que se rompa el tema Numix que vengo usando desde hace ya bastante tiempo.\u003c/p\u003e","title":"Instalar el tema Numix gtk en Linux"},{"content":"En el caso de ser usuarios de la rama estable de Debian observaréis que a medida que va pasando el tiempo las versiones software de los programas y paquetes que usamos van quedando obsoletas en comparación con otras distros. Para hallar una solución a este hecho podemos usar el repositorio Backports de Debian.\nNota: Que las versiones de software queden obsoletas no quiere decir que sean inseguras. En Debian estable no aparecerán versiones nuevas de los paquetes, pero si nos llegaran las actualizaciones de seguridad. Hay que tener en mente que Debian estable es un sistema operativo diseñado para ser estable y seguro. Nota: A mucha gente, incluido yo mismo, les da igual el hecho de no poder usar las últimas versiones de software. No obstante puede existir algún caso particular que exija disponer de una versión de software más actual. QUE SON LOS BACKPORTS DE DEBIAN Lo que denominamos como backports de Debian no es más que un simple repositorio que añadimos a nuestro sistema operativo.\nEste repositorio contiene paquetes y programas que provienen de la rama testing de Debian y que han sido recompilados y adaptados para poderse instalar y usar en la rama estable.\nNota: En algunos casos particulares, como por ejemplo las actualizaciones de seguridad, el repositorio de Backports también dispone de paquetes provenientes de la rama inestable de Debian. Nota: El repositorio Backports de Debian está pensado para usarse en la rama estable de Debian. No se recomienda, y además no tienen ningún sentido, su uso en las ramas testing e inestable. AÑADIR EL REPOSITORIO BACKPORTS EN DEBIAN Añadir el repositorio de Backports en nuestra distribución Debian es sumamente fácil. Tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\nsudo nano /etc/apt/sources.list Una vez se abra el editor de textos nano tenemos que añadir la siguiente línea dentro del archivo sources.list:\nEn el caso de estar usando Debian Jessie, o una distribución derivada de Debian Jessie deberemos añadir la siguiente línea:\ndeb http://ftp.debian.org/debian jessie-backports main contrib non-free En el caso que estemos usando Debian Whezzy, o una distribución derivada de Debian Whezzy deberemos añadir la siguiente línea:\ndeb http://ftp.debian.org/debian wheezy-backports main contrib non-free Nota: No os guiéis por la captura de pantalla. En vuestro fichero sources.list aparecerán más repositorios que en el mío. En mi caso solo aparecen los que veis porque estoy usando la distro derivada de Debian Semplice. Para versiones de Debian posteriores a Jessie pueden consultar el siguiente enlace.\nUna vez introducida la línea guardamos los cambios y cerramos el fichero sources.list. Seguidamente tenemos que abrir una terminal y comprobar que tengamos instalados los paquetes necesarios para añadir la clave pública del nuevo repositorio. Para ello abrimos una terminal y ejecutamos el siguiente comando:\nsudo apt-get install debian-keyring debian-archive-keyring Finalmente tan solo tenemos que actualizar nuestra lista de repositorios ejecutando el siguiente comando en la terminal:\nsudo apt-get update INSTALAR PROGRAMAS MÁS ACTUALES CON LA AYUDA DEL REPOSITORIO BACKPORTS El repositorio Backports que acabamos de añadir tiene un Pin-Priority de 100. Por lo tanto los paquetes que están en el repositorio de Backports únicamente se instalarán cuando no estén disponible en rama estable de Debian.\nNota: No es para nada aconsejable ni útil cambiar el Pin-Priority del repositorio de Backports. No obstante quien lo quiera realizar encontrará la información necesaria en el siguiente enlace. Esto implica que si queremos instalar un programa que está presente en los repositorio de backports deberemos forzar su instalación usando el siguiente sintaxis:\nsudo apt-get -t rama-backports install nombre_del_paquete Donde:\nrama: Se deberá sustituir por la rama de Debian estable que estamos usando.\nnombre_del_paquete: Se deberá sustituir por el nombre de los paquetes que queremos instalar.\nAsí por ejemplo si queremos instalar la última versión de Libreoffice, el primer paso a realizar será desinstalar la versión actual de Libreoffice ejecutando el siguiente comando en la terminal:\nsudo apt-get remove libreoffice* Una vez desinstalado Libreoffice podremos instalar su versión más actual de ejecutando el siguiente comando en la terminal:\nEn el caso de estar usando Debian Jessie, o una distribución derivada de Debian Jessie deberemos ejecutar el siguiente comando:\nsudo apt-get -t jessie-backports install libreoffice libreoffice-l10n-es libreoffice-gtk En el caso que estemos usando Debian Whezzy, o una distribución derivada de Debian Whezzy deberemos ejecutar el siguiente comando:\nsudo apt-get -t wheezy-backports install libreoffice libreoffice-l10n-es libreoffice-gtk Una vez ejecutado el comando se procederá a la instalación de la versión más actual de Libreoffice. Así de este modo tan sencillo podemos usar la versión 5.1.2.3 en vez de la versión 4.3.3.2.\nACTUALIZAR LOS PROGRAMAS INSTALADOS A PARTIR DE LOS BACKPORTS DE DEBIAN Para actualizar los programas instalados del repositorio backports no hay que realizar nada en especial. Cuando salgan versiones nuevas de los programas instalados se actualizarán de forma automática ejecutando los comandos habituales para actualizar nuestro sistema. Los comandos que en mi caso acostumbro a usar son los siguientes:\nsudo apt-get update ; sudo apt-get upgrade o en el caso de aplicar actualizaciones más agresivas:\nsudo apt-get update ; sudo apt-get dist-upgrade INSTRUCCIONES PARA DESINSTALAR PROGRAMAS El proceso para desinstalar un programa instalado a partir del repositorio backports es exactamente el mismo que el de un paquete normal. Por lo tanto si queremos desinstalar el programa Libreoffice que acabamos de instalar, tan solo tenemos que abrir la terminal y ejecutar con toda normalidad el siguiente comando:\nsudo apt-get remove libreoffice* Después de ejecutar el comando se procederá a la desinstalación de Libreoffice.\nCONSULTAR LOS PAQUETES QUE ACTUALMENTE ESTAN EN LOS BACKPORTS En el caso de queramos saber la totalidad de paquetes que contiene el repositorio backports tan solo tenemos que visitar el siguiente enlace:\nhttp://backport.debian.org/Packages/\nNavegando dentro del enlace podremos ver la totalidad de paquetes existentes en las ramas Wheezy, Wheezy-sloppy y Jessie.\nEn el caso que tengamos el repositorio Backports agregado en nuestro sistema operativo, podemos consultar muy fácilmente si un programa o paquete está presente en el repositorio backports Para ello tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\nsudo apt-cache policy nombre_del_paquete Donde:\nnombre_del_paquete: Se deberá sustituir por el nombre del paquete que queremos comprobar si tiene versión en el repositorio backports.\nDespués de ejecutar el comando obtendremos la totalidad de versiones disponibles del paquete que estamos analizando.\nPRECAUCIONES QUE DEBEMOS TENER AL USAR EL REPOSITORIO BACKPORTS El repositorio backports no debe ser usado a la ligera y solo se recomienda usar en casos puntuales. El motivo de tal afirmación es el siguiente:\nLos paquetes que están en el repositorio backports no han sido testeados en profundidad. Por lo tanto es posible que el hecho de instalar paquetes procedentes del repositorio backports acabe produciendo incompatibilidades con otros componentes del sistema operativo Debian estable.\nPor lo tanto el repositorio backports se debe usar para casos concretos y solamente para cubrir una necesidad o un capricho en particular. En el caso que tengamos versionitis, lo más recomendable es instalar la rama testing de Debian.\nCONSULTAR LOS PAQUETES QUE TENEMOS INSTALADOS DE LOS BACKPORTS Si queremos saber los paquetes del repositorio backports instalados en nuestro sistema operativo lo podemos hacer de forma muy fácil. Tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\ndpkg -l |awk \u0026#39;/^ii/ \u0026amp;\u0026amp; $3 ~ /bpo[6-8]/ {print $2}\u0026#39; Después de ejecutar el comando, tal y como se puede ver en la captura de pantalla, obtendremos la respuestas que estamos buscando:\nOTROS REPOSITORIOS PARA DISPONER DE SOFTWARE MÁS ACTUALIZADO EN DEBIAN ESTABLE Dentro del repositorio de Backports hay ausencias importantes como por ejemplo todos los programas pertenecientes a Mozilla. Esto es debido a que programas como Firefox exigen dependencias y paquetes que no están disponibles en el repositorios backports de Debian.\nPara solucionar este problema Debian dispone de un repositorio de backports especial para Firefox.\nNota: No es necesario ningún repositorio especial para disponer de la última versión de Icedove. Para tener la última versión de Icedove es suficiente con asegurar que tenemos disponible el repositorio que contiene las actualizaciones de seguridad de Debian. El repositorio es el siguiente deb http://security.debian.org/ jessie/updates main contrib non-free y obviamente viene activado por defecto. Para añadir este repositorio en nuestro sistema operativo tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\nsudo nano /etc/apt/sources.list Una vez se abra el editor de textos nano tenemos que añadir la siguiente línea dentro del archivo sources.list:\nEn el caso de estar usando Debian Jessie, o una distribución derivada de Debian Jessie deberemos añadir la siguiente línea:\ndeb http://mozilla.debian.net/ jessie-backports firefox-release En el caso que estemos usando Debian Whezzy, o una distribución derivada de Debian Whezzy deberemos añadir la siguiente línea:\ndeb http://mozilla.debian.net/ whezzy-backports firefox-release Nota: Para conocer el código a introducir para añadir el repositorio de mozilla he consultando la siguiente web http://mozilla.debian.net/ Una vez introducida la línea guardamos los cambios y cerramos el fichero sources.list.\nAhora tenemos que asegurar que disponemos de los paquetes necesarios para que se añada la clave pública del nuevo repositorio en nuestro sistema operativo. Para ello abrimos una terminal y ejecutamos el siguiente comando:\nsudo apt-get install pkg-mozilla-archive-keyring debian-keyring debian-archive-keyring Seguidamente tan solo tenemos que actualizar nuestra lista de repositorios ejecutando el siguiente comando en la terminal:\nsudo apt-get update Finalmente ya podemos instalar Firefox de la misma forma que instalamos Libreoffice en el apartado anterior. Para ello desinstalamos la versión actual de Firefox ejecutando el siguiente comando en la terminal:\nsudo apt-get remove firefox* Una vez desinstalado Firefox pasaremos a instalar la última versión disponible ejecutando el siguiente comando en la terminal:\nsudo apt-get install -t jessie-backports firefox firefox-esr-l10n-es-es De esta forma tan fácil podemos disponer de la última versión de Firefox en nuestro Debian Estable.\nPara finalizar y cerrar este post les dejo un enlace en el que encontrarán otros repositorios que les permitirán usar Software más actual en Debian estable.\nhttps://wiki.debian.org/UnofficialRepositories\nComo ya he mencionado anteriormente utilicen estos repositorios con cuidado y cuando sea necesario.\n","permalink":"https://geeklandlinux.github.io/posts/repositorio-backports-debian-estable/","summary":"\u003cp\u003eEn el caso de ser usuarios de la rama estable de Debian observaréis que a medida que va pasando el tiempo las versiones software de los programas y paquetes que usamos van quedando obsoletas en comparación con otras distros. Para hallar una solución a este hecho podemos usar el repositorio Backports de Debian.\u003c/p\u003e","title":"Utilizar el repositorio Backports en Debian Estable"},{"content":"Tal y como se puede ver en la captura de pantalla, existen ocasiones en las que tenemos que realizar capturas de pantalla para posteriormente compartirlas en internet mediante un link.\nEl proceso para realizar lo que acabamos de ver puede ser tedioso, pero existen diversas soluciones para poder automatizar este proceso y realizarlo en cuestión de segundos. Algunas de estas opciones son las siguientes:\nUtilizar el programa Shutter. Utilizar el capturador de pantallas del escritorio XFCE. Utilizar el script imgur-screenshot. Para encontrar información adicional de como usar este interesante script pueden consultar el siguiente enlace. Como mi entorno de escritorio habitual es XFCE empezaré detallando como compartir automáticamente nuestras capturas de pantalla mediante enlaces en XFCE.\nCOMPARTIR CAPTURA DE PANTALLA MEDIANTE UN ENLACE EN XFCE El proceso para crear enlaces para compartir nuestras capturas de pantalla es sumamente fácil. En el caso de ser usuarios del entorno de escritorio XFCE tan solo tenemos que abrir una terminal y teclear el siguiente comando:\nxfce4-screenshooter -u Nota: Podemos crear un atajo de teclado para ejecutar automáticamente el capturador de pantalla presionando la tecla Impr Pant. Para ello tan solo tenemos que seguir las instrucciones del siguiente enlace. Después de ejecutar el comando se abrirá la ventana del capturador de pantallas de XFCE para que podamos seleccionar la opción de captura que más nos convenga. En mi caso selecciono la opción Seleccionar una región y seguidamente presiono el botón Aceptar.\nA continuación seleccionamos la región de nuestra pantalla que queremos capturar:\nFinalmente aparecerá la siguiente ventana en la que deberemos seleccionar el servicio en la nube que queremos usar para alojar nuestra imagen, los servicios ofrecidos son ZimageZ e Imgur. En mi caso, tal y como pueden observar en la captura de pantalla, elijo la opción alojarla en Imgur y finalmente presiono el botón Aceptar.\nDespués de presionar el botón Aceptar se subirán las fotos a la nube y a continuación aparecerá la siguiente ventana en la que podremos obtener de forma fácil los enlaces que estamos buscando.\nSi observamos la ventana podemos ver que existen los siguientes links:\nFull size image Large Thumbnail Small Thumbnail Si ciclamos en el primero de los links se abrirá nuestro navegador predeterminado con la imagen a resolución completa de la captura de pantalla que hemos subido a la nube. Una vez abierta la imagen, tal y como se puede ver en la captura de pantalla, tan solo tenemos que copiar el link del navegador habiendo cumplido nuestro objetivo.\nNota: Si en vez de clicar en el primer link clicamos en el segundo o en el tercero también obtendremos un link de nuestra captura de pantalla, pero la resolución de la captura de pantalla obtenida será inferior a la captura a la original. Además si observamos la ventana que nos muestra los enlaces, también veremos que se nos muestra el código a introducir para insertar nuestra captura de pantalla en una página web o en un foro mediante código HTML y BBcode respectivamente.\nLimitaciones del método usado El método que hemos visto presenta limitaciones. Las limitaciones que presenta el método son los limites que tiene la nube en la que subimos nuestras capturas de pantalla.\nAsí por ejemplo en el caso de usar la nube Imgur sin realizar ningún tipo de registro tendremos las siguientes limitaciones:\nLas capturas de pantalla subidas en la nube desaparecerán si nadie accede a ellas en un periodo de 6 meses. Al ser usuarios no registrados el tamaño máximo de la captura de pantalla que podremos subir a la nube es de 20 Megas. Si subimos una imagen con formato .png superior a 5 Megas será automáticamente transformada a jpeg. En el caso de subir archivos .gif el tamaño máximo que podemos subir a imgur son 200 megas. Una vez subida la captura de pantalla se comprimirá y se optimizará para visualizar la captura en entornos web. Si el tamaño de la captura que subimos es inferior a 5 Megas la pérdida de calidad será imperceptible. Si la captura de pantalla tiene un tamaño superior a 5 Megas se aplicará una algoritmo de compresión más agresivo. El número límite de capturas de pantalla que podemos subir a una cuenta de Imgur gratuita es de 255. No se permite hotlinking. Por lo tanto no se puede usar Imgur como un CDN. Si en vez de usar Imgur usamos ZimageZ las limitaciones que tendremos serán diferentes a las que acabamos de citar. Algunas de las principales diferencias entre el uso de Imgur y ZimageZ son:\nPara usar ZimageZ necesitaremos crearnos una cuenta de usuario. Esto en si es una molestia pero por contrapartida sabremos en todo momento las capturas que hemos subido a la nube y las podremos gestionar y administrar según nuestras necesidades. Podemos subir tantas capturas de pantalla como queramos en este servicio. Al tener que crear una cuenta nuestras imágenes estarán siempre disponibles y no se borrarán. No se pueden subir imágenes o capturas de pantalla con un tamaño superior a 7 Megas. No se permite hotlinking. Por lo tanto no se puede usar Imgur como un CDN. COMPARTIR CAPTURA DE PANTALLA MEDIANTE UN ENLACE CON SHUTTER En el caso que hayan usuarios que no les guste usar el capturador de pantalla de XFCE \u0026ldquo;xfce4-screenshooter\u0026rdquo;, pueden usar el Software Shutter para conseguir un resultado similar al que acabamos de ver. Para ello los pasos a seguir son los siguientes:\nInstalar Shutter La gran mayoría de distribuciones que se precian disponen del software Shutter en sus repositorios. Por lo tanto en el caso de usar Debian o distribuciones derivadas de Debian tan solo tienen que abrir una terminal y teclear el siguiente comando:\nsudo apt-get install shutter En el caso de usar ArchLinux o distribuciones derivadas de Archlinux, como por ejemplo Manjaro o Antergos, tan solo tienen que abrir una terminal y ejecutar el siguiente comando:\nsudo pacman -S shutter En el caso de usar Fedora o distribuciones derivadas de Fedora, como por ejemplo Korora, tan solo tienen que abrir una terminal y ejecutar el siguiente comando:\nsudo dnf install shutter Finalmente si los usuarios de Ubuntu quieren disponer siempre de la última versión de Shutter deben instalarlo a través repositorios siguiendo las siguientes instrucciones:\nPara agregar el repositorio de shutter abrimos una terminal y ejecutamos el siguiente comando:\nsudo add-apt-repository ppa:shutter/ppa Una vez añadido el repositorio tan solo tenemos actualizar los repositorios actuales ejecutando el siguiente comando el terminal:\nsudo apt-get update Finalmente ya solo nos queda instalar shutter ejecutando el siguiente comando en la terminal:\nsudo apt-get install shutter Una vez finalizada la instalación ya podemos pasar a realizar capturas de pantalla.\nRealizar la captura de pantalla con shutter Abrimos el programa Shutter y seleccionamos la opción que queremos para realizar la captura de pantalla. En mi caso, tal y como se puede ver en la captura de pantalla, elijo capturar la ventana del navegador Instalar Spotify en Ubuntu y derivadas. Una vez seleccionada la opción se realizará la captura de pantalla.\nSubir la captura de pantalla en la nube y obtener los enlaces Una vez realizada la captura de pantalla, tal y como podemos ver en la siguiente imagen, clicamos encima del botón Subir sus imágenes a un servicio de Alojamiento.\nDespués de presionar el botón aparecerá la siguiente ventana en la que en la pestaña Hosting público deberemos seleccionar el servicio de almacenamiento que queremos usar para subir nuestra captura de pantalla a internet.\nEn mi caso selecciono el servicio ToileLibre Invitado y presiono el botón Subir. Después de presionar el botón la imagen subirá automáticamente a la nube. Una vez finalizado el proceso de subida nos aparecerá una ventana que nos mostrará diversos enlaces para poder compartir nuestra captura de pantalla en páginas web, en foros, etc.\nNota: Shutter no solo permite subir nuestras capturas de pantalla a hostings públicos predeterminados como por ejemplo Imgur. Shutter también nos permite subir nuestras capturas de pantalla a servidores privados ftp. Con estos simples pasos podemos compartir nuestras capturas de pantalla de forma fácil rápida en Internet.\n","permalink":"https://geeklandlinux.github.io/posts/compartir-captura-de-pantalla-enlace/","summary":"\u003cp\u003eTal y como se puede ver en la captura de pantalla, existen ocasiones en las que tenemos que realizar capturas de pantalla para posteriormente compartirlas en internet mediante un link.\u003c/p\u003e","title":"Compartir captura de pantalla mediante un enlace de forma automática"},{"content":"Cuando compramos una aplicación a través de la Google Play Store se instala en nuestro dispositivo y no queda ni rastro del archivo binario .apk usado para realizar la instalación. No obstante en determinadas ocasiones puede ser útil disponer del archivo binario .apk y por este motivo a continuación detallaré una forma fácil y sencilla para extraer el archivo apk de cualquier aplicación instalada en nuestro dispositivo móvil.\nUTILIDADES DE DISPONER DE UN ARCHIVO APK El hecho de poder disponer de un archivo binario apk nos puede ser útil para los siguientes fines:\nPara realizar una copia de seguridad de nuestras aplicaciones y no tener que depender de la copia de seguridad de Google Play. Cabe recordar que Google guarda una copia de seguridad de nuestras aplicaciones, pero si alguna de las aplicaciones de la copia de seguridad desaparece de la Google Play Store, cuando restauremos nuestro teléfono no se instalará y la perderemos para siempre. En ocasiones hay desarrolladores que actualizan sus programas para quitarles funcionalidades. Por lo tanto tener un archivo apk de la versión antigua nos permitirá volver a la versión antigua de una aplicación de forma muy fácil. En el momento que dispongamos de un archivo apk lo podemos pasar a una tercera persona para que pueda instalar una aplicación determinada de forma segura y gratuita en su dispositivo. Nos podemos encontrar en situaciones en las que Google Play no nos deje instalar una App porque por equivocación nos dice que no es compatible con nuestro dispositivo. Si este es el caso tan solo tenemos que pedir a un compañero que nos pase el archivo apk de esta aplicación para poderla instalar manualmente. Para compartir aplicaciones entre compañeros que no estan disponibles en las tiendas de aplicaciones más comunes. De este modo en el caso que un compañero me pida como instalar la aplicación seriesdroid, generaré un archivo .apk y se lo pasaré sin necesidad de tener que recordar la fuente de la descarga. EXTRAER EL ARCHIVO APK DE UNA APLICACIÓN INSTALADA Hay varias formas para extraer el archivo apk de una aplicación instalada en nuestro dispositivo móvil. En mi caso utilizo el gestor de archivos ES Explorador de archivos porque el proceso es muy sencillo y además porque es el mejor explorador de archivos existente para Android.\nInstalar Es Explorador de archivos Si no disponen del gestor de archivos ES Explorador de archivos lo pueden instalar muy fácilmente a través de la tienda Google Play.\nEn Google play verán que existe la versión gratuita y la versión Pro. Podéis instalar cualquiera de las dos aunque aconsejo usar la versión Pro ya que la gratuita lleva adware que empeora la experiencia de usuario.\nEn el caso que se decidan a instalar la App Gratuita lo pueden hacer a través del siguiente enlace: https://play.google.com/store/apps/details?id=com.estrongs.android.pop\u0026amp;hl=es\nEn el caso que se decidan a instalar la versión Pro de la App lo pueden hacer a través del siguiente enlace: https://play.google.com/store/apps/details?id=com.estrongs.android.pop.pro\u0026amp;hl=es\nExtraer el archivo apk de la App que queremos Una vez instalada la aplicación ya la podemos usar por primera vez. Justo al abrir la aplicación veremos la siguiente pantalla:\nEn la pantalla inicial posicionamos el dedo en el centro de la pantalla y lo deslizamos de izquierda a derecha. Justo después de deslizarlo aparecerá la siguiente pantalla en la que deberemos presionar encima del icono APP:\nDespués de presionar el icono APP aparecerá la siguiente pantalla en la que deberemos marcar la totalidad de Aplicaciones de las cuales queremos obtener el archivo apk. Para marcar o seleccionar las aplicaciones tan solo tenemos mantener pulsada la aplicación deseada durante unos segundos.\nUna vez seleccionada/s la aplicación o las aplicaciones, presionaremos encima de la opción Copia de seguridad que está presente en la parte inferior de la pantalla.\nUna vez presionado el botón, tal y como se puede ver en la captura de pantalla, en la ubicación /sdcard/backups/apps encontraremos los apk de los archivos que marcamos en el paso anterior.\nUna vez extraídos los archivos .apk podemos hacer lo que queramos con ellos. Los podemos pasar a una tercera persona, los podemos almacenar en la nube, los podemos almacenar en nuestro ordenador, etc.\n","permalink":"https://geeklandlinux.github.io/posts/extraer-archivo-apk-una-app-instalada/","summary":"\u003cp\u003eCuando compramos una aplicación a través de la Google Play Store se instala en nuestro dispositivo y no queda ni rastro del archivo binario .apk usado para realizar la instalación. No obstante en determinadas ocasiones puede ser útil disponer del archivo binario .apk y por este motivo a continuación detallaré una forma fácil y sencilla para extraer el archivo apk de cualquier aplicación instalada en nuestro dispositivo móvil.\u003c/p\u003e","title":"Extraer el archivo apk de una app instalada"},{"content":"Hace ya muchos años que Spotify dispone de un cliente de escritorio para Linux y a estas alturas imagino que para la gran mayoría no supone una gran dificultad su instalación. No obstante a modo de guía para que la gente pueda instalar Spotify simplemente copiando y pegando, he decido escribir este post.\nÁMBITO DE APLICACIÓN DEL TUTORIAL Las instrucciones mencionadas en este post son únicamente válidas para instalar spotify en Debian, en Ubuntu y en la totalidad de distribuciones que se derivan de Debian y Ubuntu como por ejemplo, Linux Mint, Trisquel, Perppermint, Xubuntu, AntiX, etc.\nINSTRUCCIONES PARA INSTALAR SPOTIFY EN DEBIAN UBUNTU Y DERIVADOS El primer paso de la instalación es añadir el repositorio de Spotify en nuestra distribución. Para ello accedemos a la terminal y ejecutamos le siguiente comando:\nsudo nano /etc/apt/sources.list Seguidamente se abrirá el editor de textos nano. Una vez se abra el editor de textos, tal y como se puede ver en la captura de pantalla, deben añadir la siguiente linea correspondiente al repositorio de spotify:\ndeb http://repository.spotify.com stable non-free Nota: El repositorio añadido es para disponer del cliente de escritorio estable de spotify. Si quieren usar la versión de pruebas de spotify deberán reemplazar el repositorio anterior por deb http://repository.spotify.com testing non-free Una vez añadido el repositorio guardamos los cambios y cerramos el fichero.\nEl segundo paso de la instalación es añadir la clave pública del repositorio de spotify mediante el uso del siguiente comando:\nsudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 931FF8E79F0876134EDDBDCCA87FF9DF48BF1C90 Una vez ejecutado el comando e instalada la clave pública, tendremos la seguridad que los paquetes de spotify que usaremos para la instalación son seguros y su procedencia es la que tiene que ser. Los resultados obtenidos al añadir la clave pública tienen que ser similares a los siguientes:\nEl tercer paso es tan simple como actualizar los repositorios ejecutando el siguiente comando el terminal:\nsudo apt-get update Finalmente, una vez actualizados los repositorios ya podemos instalar Spotify ejecutando el siguiente comando en la terminal:\nsudo apt-get install spotify-client Una vez instalado, tal y como se puede ver en la captura de pantalla, podemos utilizar spotify sin ningún tipo de problema.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-spotify-ubuntu-debian-derivadas/","summary":"\u003cp\u003eHace ya muchos años que Spotify dispone de un cliente de escritorio para Linux y a estas alturas imagino que para la gran mayoría no supone una gran dificultad su instalación. No obstante a modo de guía para que la gente pueda instalar Spotify simplemente copiando y pegando, he decido escribir este post.\u003c/p\u003e","title":"Instalar Spotify en Ubuntu y derivadas"},{"content":"Los usuarios de Gnu/Linux tienen varias alternativas para descargar vídeos de Youtube y de otras web en internet. Una de las opciones interesantes que tenemos es usar un script de phyton llamado Youtube-dl. No se dejen engañar por su nombre ya que youtube-dl, como veremos más adelante, permite descargar vídeos y audio de youtube y de muchos otros sitios web.\nLos pasos a seguir para poder instalar y usar youtube-dl en cualquier distribución GNU-Linux son los siguientes:\nINSTALAR YOUTUBE-DL Para instalar youtube-dl como mínimo disponemos de 3 opciones que son la siguientes:\nInstalación a través de los repositorios de nuestra distro Es probable que los repositorios de nuestra distribución incluyan youtube-dl en su paqueteria de serie. Por lo tanto en el caso que utilicen una distribución que utiliza el gestor de paquetes apt-get deberán ejecutar el siguiente comando en la terminal:\nsudo apt-get install youtube-dl En el caso de usar el gestor de paquetes pacman deberán reemplazar el comando anterior por el siguiente:\nsudo pacman -S youtube-dl Instalación en Ubuntu y en distros derivadas de Ubuntu En el caso que estén usando Ubuntu, o cualquier distribución derivada de Ubuntu, les recomiendo encarecidamente que instalen Youtube-dl del siguiente modo:\nPrimeramente hay que agregar el repositorio de webupd8 ejecutando el siguiente comando en la terminal:\nsudo add-apt-repository ppa:nilarimogard/webupd8 Seguidamente hay que actualizar los repositorios de nuestra distribución ejecutando la siguiente orden:\nsudo apt-get update Finalmente instalamos Youtube-dl ejecutando el siguiente comando en la terminal:\nsudo apt-get install youtube-dl Nota: Recomiendo este método de instalación porque la instalación es fácil y además dispondremos de actualizaciones frecuentes. Instalación Youtube-dl de forma manual para descargar vídeos de internet En el extraño caso que no estemos usando ninguna distribución derivada de Ubuntu y los paquetes de nuestra distribución no contengan rastro de Youtube-dl podemos usar el siguiente método de instalación.\nAseguraremos que disponemos del paquete wget en nuestro sistema operativo. Para ello ejecutamos el siguiente comando en la terminal:\nsudo apt-get install wget Seguidamente descargamos el script de phyton Youtube-dl y lo guardaremos en la ubicación**/usr/local/**. Para ello ejecutamos el siguiente comando.\nsudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl Finalmente damos permisos de lectura y ejecución a todos los usuarios del sistema para que puedan ejecutar el script que acabamos de descargar. Para ello ejecutamos el siguiente comando en la terminal:\nsudo chmod a+rx /usr/local/bin/youtube-dl Si el proceso de instalación ha sido satisfactorio obtendrán unos resultados parecidos a la siguiente captura de pantalla:\nWEBS ENS LAS QUE PODEMOS USAR YOUTUBE-DL PARA DESCARGAR VÍDEOS Y AUDIO Para ver la totalidad de páginas web soportadas por Youtube-dl tan solo hay abrir una terminal y ejecutar el siguiente comando:\nyoutube-dl --list-extractors Una vez ejecutado el comando podemos ver la totalidad de páginas web compatibles con Youtube-dl.\nActualmente Youtube-dl permite descargar vídeos y audio de más de 800 sitios web. Algunos sitios conocidos compatibles con Youtube-dl son:\nYoutube Vimeo Twitch Ustream Twitter Tunein Periscope Facebook Dailymotion Etc DESCARGAR VÍDEOS CON YOUTUBE-DL Para descargar un vídeo tan solo hay que abrir una terminal y teclear el comando youtube-dl seguido de la URL de la página web en que está presente el vídeo que queremos descargar. Así en el caso que queramos descargar este vídeo tan solo tenemos que ejecutar el siguiente comando en la terminal:\nyoutube-dl https://www.youtube.com/watch?v=r5P8fWZB970 Después de ejecutar el comando, tal y como se puede ver en la captura de pantalla, se empezará a descargar el vídeo.\nNota: El comando que acabamos de usar descarga el vídeo y el audio en la mayor calidad disponible. DESCARGAR VÍDEOS A UNA CALIDAD DETERMINADA Acabamos de ver que el funcionamiento predeterminado de Youtube-dl es descargar el vídeo y el audio en la mayor calidad disponible. En el caso que queramos modificar este comportamiento lo podemos hacer de la siguiente forma:\nPrimero listaremos la totalidad de formatos de descarga disponibles para la descarga. Para ello en la terminal teclearemos el comando youtube-dl seguido de -F y finalmente introduciremos la URL de la página web en que está presente el vídeo que queremos descargar. Por lo tanto si seguimos con el ejemplo del apartado anterior deberemos ejecutar el siguiente comando en la terminal:\nyoutube-dl -F https://www.youtube.com/watch?v=r5P8fWZB970 Una vez ejecutado el comando obtendremos la totalidad de formatos disponibles para la descarga.\nNota: Si observamos los resultados obtenidos vemos que existen multitud de formatos y calidades disponibles para la descarga. Además vemos que existen formatos que contienen exclusivamente audio, formatos que contienen exclusivamente vídeo y formatos que incluyen ambas opciones. En mi caso quiero descargar el formato con mayor calidad que disponga de audio y vídeo de forma simultanea. Si observamos los formatos disponibles vemos que el formato que se acerca más a lo que estoy buscando es el 22. Por lo tanto abriremos una terminal, teclearemos el comando youtube-dl seguido de -f, a continuación introduciremos el número de formato a descargar que en mi caso es el 22 y finalmente introduciremos la URL de la página web que contiene el vídeo que queremos descargar. Por lo tanto si seguimos con el ejemplo del apartado anterior deberemos ejecutar el siguiente comando en la terminal:\nyoutube-dl -f 22 https://www.youtube.com/watch?v=r5P8fWZB970 Después de ejecutar el comando se iniciará la descarga del vídeo.\nCOMBINAR UN ARCHIVO DE AUDIO CON UN ARCHIVO DE VIDEO En el caso que queramos descargar un archivo de audio y un archivo de vídeo para posteriormente fusionarlos en un solo archivo de vídeo y audio lo podemos realizar de la siguiente forma.\nAbrimos una terminal, tecleamos el comando youtube-dl seguido de -f, a continuación introducimos el número de formato de vídeo que queremos descargar que en mi caso es el 137, seguidamente escribimos el símbolo + seguido del formato de audio que queremos descargar que en mi caso es el 141, finalmente introducimos la URL de la página web que contiene el vídeo que queremos descargar. Por lo tanto si seguimos con el ejemplo del apartado anterior deberemos ejecutar el siguiente comando en la terminal:\nyoutube-dl -f 137+141 https://www.youtube.com/watch?v=r5P8fWZB970 Después de ejecutar el comando se iniciará la descarga de 2 archivos, uno que contendrá el audio y otro que contendrá el vídeo. Una vez descargados ambos archivos se fusionarán formando un solo archivo con el formato de audio y de vídeo que hemos seleccionado.\nDESCARGAR LOS FORMATOS QUE QUERAMOS DE FORMA SIMULTANEA En el caso que queramos descargar un formato de audio y un formato de vídeo sin que se fusionen al final de su descarga lo podemos realizar de la siguiente forma.\nAbrimos una terminal, tecleamos el comando youtube-dl seguido de -f, a continuación introducimos el número de formato de vídeo que queremos descargar que en mi caso es el 137, seguidamente escribimos el símbolo , seguido del formato de audio que queremos descargar que en mi caso es el 141 y finalmente introducimos la URL de la página web que contiene el vídeo que queremos descargar. Por lo tanto si seguimos con el ejemplo del apartado anterior deberemos ejecutar el siguiente comando en la terminal:\nyoutube-dl -f 137,141 https://www.youtube.com/watch?v=r5P8fWZB970 Después de ejecutar el comando se iniciará la descarga de 2 archivos, uno que contendrá el audio y otro que contendrá el vídeo. Una vez descargados ambos archivos el proceso habrá finalizado.\nDESCARGAR LA TOTALIDAD DE FORMATOS DISPONIBLES En el caso que precisemos descargar la totalidad de formatos de vídeo y audio disponibles de una sola tacada lo podemos realizar de la siguiente forma:\nAbrimos una terminal, tecleamos el comando youtube-dl seguido de --all-formats, a continuación escribimos -o seguido de los comandos pertinentes para especificar el nombre que queremos que tengan los archivos descargados, finalmente introducimos la URL de la página web que contiene el vídeo y/o audio que queremos descargar. Por lo tanto si seguimos con el ejemplo del apartado anterior deberemos ejecutar el siguiente comando en la terminal:\nyoutube-dl --all-formats -o \u0026#34;%(autonumber)s-%(title)s.%(ext)s\u0026#34; https://www.youtube.com/watch?v=r5P8fWZB970 Nota: En este último ejemplo hemos visto una forma para poder especificar el nombre que queremos que tengan los archivos descargados. Este método se puede aplicar en la totalidad de descargas que realizamos con Youtube-dl. Para obtener información adicional de como especificar el formato de los ficheros descargados abran una terminal y ejecuten el comando youtube-dl \u0026ndash;help EXTRAER EL AUDIO DE UN VÍDEO EN UN ARCHIVO CON FORMATO MP3 Si nuestro objetivo es obtener un audio en formato mp3 a partir de un vídeo lo podemos conseguir fácilmente de la siguiente forma:\nAbrimos una terminal, tecleamos el comando youtube-dl seguido del comando --extact-audio, a continuación introducimos el comando --audio-format seguido del formato de audio que queremos que en mi caso es mp3. Finalmente introducimos la URL de la página web que contiene el vídeo en que queremos extraer el audio. Por lo tanto si seguimos con el ejemplo del apartado anterior tenemos que ejecutar el siguiente comando en la terminal:\nyoutube-dl --extract-audio --audio-format mp3 https://www.youtube.com/watch?v=r5P8fWZB970 Después de ejecutar el comando se iniciará la descarga del audio del vídeo en la mejor calidad disponible. Una vez descargado el audio, ffmpeg se encargará de transformar el archivo descargado a mp3.\nNota: Aparte del formato mp3 podemos usar otros formatos como por ejemplo el aac, el vorbis, el m4a, el opus y el wav. Para utilizar alguno de estos formatos tan solo tenemos usar el comando anterior reemplazando mp3 por el formato de salida que queramos. EXTRAER EL AUDIO DE UN VÍDEO EN FORMATO MP3 DEFINIENDO UNA CALIDAD DE AUDIO Si nuestro objetivo es obtener un audio en formato mp3 con una calidad determinada, de por ejemplo 128K, lo podemos conseguir fácilmente de la siguiente forma:\nAbrimos una terminal, tecleamos el comando youtube-dl seguido del comando --extact-audio, a continuación introducimos el comando --audio-format seguido del formato de audio que queremos que en mi caso es mp3, a posteriori añadimos el comando --audio-quality seguido de la calidad del archivo mp3 que en mi caso es 128K. Finalmente introducimos la URL de la página web que contiene el vídeo en que queremos extraer el audio. Por lo tanto si seguimos con el ejemplo del apartado anterior tenemos que ejecutar el siguiente comando en la terminal:\nyoutube-dl --extract-audio --audio-format mp3 --audio-quality 128K https://www.youtube.com/watch?v=r5P8fWZB970 Después de ejecutar el comando se iniciará la descarga del audio del vídeo en la mejor calidad disponible. Una vez descargado el audio, ffmpeg se encargará de transformar el archivo descargado a un archivo mp3 con un Bitrate de 128K.\nEXTRAER EL AUDIO DE UN VIDEO CON LA MÁXIMA CALIDAD DISPONIBLE Si lo que que pretenden es extraer el audio de un vídeo a su máxima calidad y almacenarlo en un archivo .mp3 tendrán que ejecutar el siguiente comando:\nyoutube-dl -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 https://www.youtube.com/watch?v=gkCCu9d-1PU Nota: La única parte que tienen que modificar del comando es la URL de donde pretenden descargar el audio.\nVER VÍDEOS EN STREAMING A TRAVES DE VLC, MPLAYER U OTROS REPRODUCTORES Si lo que pretendemos es visualizar un vídeo en streaming en nuestro reproductor de vídeo habitual lo podemos realizar de la siguiente forma:\nAbrimos una terminal, tecleamos el comando para abrir nuestro reproductor de vídeo habitual que en mi caso es vlc, seguidamente escribimos el símbolo $, a posteriori abrimos paréntesis y escribimos el comando youtube-dl seguido de -f y el número de formato de vídeo que queremos visualizar que en mi caso es el 22, finalmente introduciremos la URL de la página web que contiene el vídeo que queremos visualizar. Por lo tanto si seguimos con el ejemplo del apartado anterior deberemos ejecutar el siguiente comando en la terminal:\nvlc $(youtube-dl -g -f 22 https://www.youtube.com/watch?v=r5P8fWZB970) Después de ejecutarse el comando, tal y como se puede ver en la captura de pantalla, se abrirá nuestro reproductor de vídeo vlc y podremos visualizar el vídeo seleccionado sin ningún tipo de problema. De este modo podremos visualizar el vídeo sin tenerlo que descargar en nuestro disco duro.\nCONSEJO PARA DESCARGAR UNA GRAN CANTIDAD DE VÍDEOS Si queremos descargar una gran cantidad de vídeos de forma prácticamente automática lo podemos realizar de la siguiente forma.\nEl primer paso es crear un archivo de texto que contenga las URL de las páginas web que contienen los vídeos que queremos descargar. Para crear el archivo de texto ejecutamos el siguiente comando en la terminal:\nnano videos.txt Una vez se abra el editor de textos nano, tal y como se puede ver en la captura de pantalla, copiaremos la totalidad de URL que contienen los vídeos que queremos descargar.\nUna vez copiadas las URL guardamos los cambios y cerramos el editor de textos. En estos momentos para descargar la totalidad de vídeos especificados en el fichero videos.txt tan solo tenemos que ejecutar el siguiente comando en la terminal:\nyoutube-dl -a videos.txt Después de ejecutar el comando se descargaran la totalidad de vídeos que están presentes en las URL que hemos especificado dentro de fichero videos.txt.\nDESCARGAR VÍDEOS DE UNA PLAYLIST DE YOUTUBE U DE OTRO SERVICIO Para descargar vídeos de una playlist de youtube, o de otros servicios como por ejemplo yandexmusic, únicamente tenemos que abrir una terminal y teclear el comando youtube-dl seguido del URL de la playlist que queremos descargar. Así por ejemplo si queremos descargar la siguiente playlist tan solo tenemos que ejecutar el siguiente comando en la terminal:\nyoutube-dl https://www.youtube.com/playlist?list=PLQIzL-WvdPBw3Nv6S69XZX9dNOrjfaYU9 Justo después de ejecutar el comando se descargaran la totalidad de vídeos presentes en la lista de reproducción que hemos seleccionado.\nEn una lista de reproducción normalmente hay una gran cantidad de vídeos y en la mayoría de casos resulta poco útil tener que descargar toda la lista para únicamente visualizar 3 o 4 vídeos. Para solucionar este problema podemos usar las siguientes opciones de Youtube-dl:\nEn el caso que queramos indicar que se empiece a descargar por un vídeo determinado de la lista y termine por otro lo podemos hacer de la siguiente forma:\nAbrimos una terminal, tecleamos el comando youtube-dl seguido del comando --playlist-start= y a continuación escribimos el número de vídeo de la lista por el cual queremos iniciar la descarga que en mi caso es el 2. Seguidamente tecleamos --playlist-end= y a continuación escribimos el número de vídeo de la lista por el cual queremos finalizar la descarga que en mi caso es el 4. Finalmente escribimos la URL de la playlist que queremos descargar. Así por ejemplo si queremos descargar los vídeos 2, 3 y 4 de la anterior playlist tenemos que ejecutar el siguiente comando en la terminal:\nyoutube-dl --playlist-start=2 --playlist-end=4 https://www.youtube.com/playlist?list=PLQIzL-WvdPBw3Nv6S69XZX9dNOrjfaYU9 En el caso que queramos descargar vídeos de una lista de reproducción que no estén seguido el uno del otro lo podemos realizar de la siguiente forma:\nAbrimos una terminal, tecleamos el comando youtube-dl seguido del comando --playlist-items= y a continuación escribimos el número que ocupa en la lista de reproducción el primer vídeo que queremos descargar. Seguidamente introducimos una , y escribimos el número que ocupa en la lista el segundo vídeo que queremos descargar. Finalmente una vez seleccionados la totalidad de vídeos que queremos descargar escribimos la URL de la playlist. Así por ejemplo si queremos descargar los vídeos 1, 2 y 4 de la anterior playlist tenemos que ejecutar el siguiente comando en la terminal:\nyoutube-dl --playlist-items=1,2,4 https://www.youtube.com/playlist?list=PLQIzL-WvdPBw3Nv6S69XZX9dNOrjfaYU9 Una vez ejecutado el comando se iniciará la descarga de los vídeos seleccionados.\nEn el caso que quisiéramos descargar los vídeos del 1, 2, 3, 7, 10, 11, 12, 13 y 14 podríamos usar el siguiente comando:\nyoutube-dl --playlist-items=1-3,7,10-14 https://www.youtube.com/playlist?list=PLQIzL-WvdPBw3Nv6S69XZX9dNOrjfaYU9 De este modo tan sencillo podemos descargar los vídeos que queramos de cualquier lista de reproducción.\nDESCARGAR VIDEOS CON EL FORMATO QUE QUEREMOS Podemos descargar vídeos y cambiar su formato de forma extremadamente fácil. Así en el caso que queramos que un vídeo descargado tenga el formato .mkv tan solo tenemos que seguir los siguiente pasos:\nAbrimos una terminal y escribimos youtube-dl seguido de la opción --recode-video. A continuación indicamos el formato de vídeo que queremos, que en mi caso es mkv, finalmente introducimos la URL de la página web que contiene el vídeo que queremos descargar. Un ejemplo de lo que acabo de explicar es el siguiente:\nyoutube-dl --recode-video mkv https://www.youtube.com/watch?v=r5P8fWZB970 Después de ejecutar el comando se iniciará la descarga del archivo de vídeo en el formato seleccionado que en mi caso es .mp4. Una vez finalizada la descarga del vídeo ffmpeg transformará el vídeo de mp4 a mkv de forma totalmente automática.\nNota: Aparte del formato mkv podemos usar otros formatos como por ejemplo el mp4, el flv, el ogg, el webm y el avi. Para utilizar alguno de estos formatos tan solo tenemos usar el comando anterior reemplazando mkv por el formato de salida que queramos. SABER LA VERSION DE YOUTUBE-DL Este programa recibe actualizaciones de forma frecuente. Si queremos saber si la versión que tenemos instalada en nuestro sistema operativo es la más actual podemos seguir el siguiente procedimiento:\nPara ver la versión de youtube-dl que tenemos instalada en nuestro sistema operativo abrimos una terminal y tecleamos el siguiente comando:\nyoutube-dl --version Después de ejecutar el comando veremos el número de versión que tenemos instalada. Ahora tan solo tenemos que comparar nuestro número de versión con el número de versión que podéis encontrar en la siguiente página web:\nhttp://youtube-dl.org/\nNota: No os tenéis que preocupar en el caso de no tener la última versión instalada ya que lo únicamente verdaderamente importante es que el programa nos permita realizar las descargas que queramos. ACTUALIZAR A LA ÚLTIMA VERSIÓN DE YOUTUBE-DL El proceso para actualizar Youtube-dl varia en función del método de instalación usado.\nSi en su día instalamos Youtube-dl a través de los repositorios de nuestra distro rolling release o a través del repositorio ppa de WebUpd8, las actualizaciones nos llegarán de forma automática cuando actualicemos el sistema operativo.\nSi en su día realizamos una instalación manual descargando el script directamente la web de los desarrolladores deberemos abrir una terminal y ejecutar el siguiente comando:\nsudo youtube-dl -U Una vez ejecutado el comando se procederá a la actualización del programa de forma completamente automática.\nTOTALIDAD DE COMANDOS Y OPCIONES DE YOUTUBE-DL En este post simplemente hemos visto una muestra de la totalidad de opciones que ofrece este programa. Si quieren ver la totalidad de opciones disponibles pueden abrir una terminal y ejecutar el siguiente comando:\nyoutube-dl --help PUNTOS FUERTES DE YOUTUBE-DL FRENTE OTRAS ALTERNATIVAS Para descargar vídeos de internet tenemos otras opciones interesantes como por ejemplo Clipgrab, Jdownloader y la extensión para el navegador de Firefox Video Downloadhelper. No obstante youtube-dl es una alternativa muy interesante por los siguientes motivos:\nEs compatible con muchas más páginas web que sus competidores. Es un programa pensado para usarse desde la terminal. Esto le da un sinfín de posibilidades como por ejemplo crear scripts que usen Youtube-dl, usar alias para facilitar nuestras tareas de descarga, etc. Dispone de muchas más opciones que el resto de programas que conozco. Algunas de estas opciones son las descargas de listas de reproducción, descargar un gran número de vídeos de forma completamente automática, etc. Es un programa escrito en python y además es extremadamente ligero. Nota: En este apartado cito que youtube-dl es un programa pensado para ejecutarse en la terminal. No obstante quien quiera debe saber que existen diversas interfaces gráficas para poder usar youtube-dl.","permalink":"https://geeklandlinux.github.io/posts/descargar-videos-internet-youtube-dl/","summary":"\u003cp\u003eLos usuarios de Gnu/Linux tienen varias alternativas para descargar vídeos de Youtube y de otras web en internet. Una de las opciones interesantes que tenemos es usar un script de phyton llamado Youtube-dl. No se dejen engañar por su nombre ya que youtube-dl, como veremos más adelante, permite descargar vídeos y audio de youtube y de muchos otros sitios web.\u003c/p\u003e","title":"Descargar vídeos y audios de Internet con youtube-dl"},{"content":"Hace cuatro años que uso el mismo puntero de ratón en mi distribución Linux y creo que ha llegado el momento de realizar un cambio.\nEn mi caso procedí a ver los temas de punteros de ratón que tenia disponibles para elegir y me encontré con la sorpresa que únicamente tenia tres temas disponibles. Por lo tanto la primera tarea para cambiar el puntero del ratón es encontrar un tema que nos guste.\nBUSCAR E INSTALAR TEMAS PARA NUESTRO PUNTERO DEL RATÓN Hay varias formas para instalar temas nuevos para el puntero de nuestro ratón. Los podemos conseguir a través de los repositorios de nuestra distro o en páginas web especializadas en artworks para distribuciones GNU/Linux.\nInstalar temas de puntero de ratón a través de los repositorios En mi caso la opción que preferida es realizar la instalación de temas a través de paquetes que tenemos disponibles en los repositorios de nuestra distro por los siguientes motivos:\nLa instalación es mucho más rápida y cómoda. Si algún día queremos desinstalar el tema lo podremos realizar de una forma mucho más fácil. Sí algún día sale una actualización del tema se actualizará de forma automática sin que tengamos que realizar nada. Para localizar los temas de puntero de mouse disponibles en nuestros repositorios, tal y como se puede ver en la captura de pantalla, abrimos el gestor de paquetes Synaptic (u otro similar) y realizamos una búsqueda con la palabra cursor. Una vez realizada la búsqueda, mediante el nombre del paquete y de la descripción, podremos identificar fácilmente los paquetes que corresponden a temas para el puntero de nuestro ratón.\nPor si a alguien le puede ayudar, en mi distribución Debian Testing Stretch he podido localizar los siguientes paquetes:\nbig-cursor comixcursors crystalcursors dmz-cursor-theme industrial-cursor-theme oneko xcursor-themes moblin-cursor-theme breeze-cursor-theme oxygencursors comixcursors-lefthanded comixcursors-lefthanded-opaque comixcursors-righthanded-opaque comixcursors-righthanded Una vez localizados los paquetes que contienen punteros de ratón adicionales tan solo tenemos que instalarlos. En el caso que quisiéramos instalar la totalidad de paquetes que hemos encontrado tenemos que abrir una terminal y teclear el siguiente comando:\nsudo apt-get install big-cursor comixcursors crystalcursors dmz-cursor-theme industrial-cursor-theme oneko xcursor-themes moblin-cursor-theme breeze cursor-theme oxygencursors comixcursors-lefthanded comixcursors-lefthanded-opaque comixcursors-righthanded-opaque comixcursors-righthanded Nota: En el caso de usar un gestor de paquetes paquetes distinto a apt-get deberán adaptar el comando para poder realizar la instalación. Instalar temas de puntero de ratón usando temas externos a nuestra distro En el caso que no os convenza ninguno de los temas disponibles en los repositorios, podemos descargar temas de páginas web especializadas en realizar artworks para distros Linux. Algunas de estas web son las siguientes:\nhttp://xfce-look.org/\nhttp://www.kde-look.org\nhttp://www.gnome-look.org\nhttp://www.deviantart.com/\nEn mi caso para realizar el post he decido instalar uno de los temas de la web de xfce-look.org. Para ello en mi caso accedo a la siguiente URL:\nhttp://xfce-look.org/index.php?xcontentmode=36\nSeguidamente, tal y como se puede ver en la captura de pantalla, descargo el tema Obsidian:\nNota: Si os fijáis en la captura de pantalla se describe la forma de instalación del tema. Todas las web que he mencionado detallan como se debe realizar el proceso de instalación, pero por lo general en la mayoría de casos la instalación se realiza tal y como veréis a continuación. A continuación abrimos nuestro gestor archivos con permisos de usuario root ejecutando el siguiente comando en la terminal:\nsudo thunar Nota: El último comando es válido para los usuarios que utilizan el gestor de archivos Thunar. Si utilizan otro gestor de archivos deberán reemplazar thunar por el nombre del gestor de archivos pertinente. Como cuarto paso, tal y como se puede ver en la captura de pantalla, descomprimimos el archivo del tema que hemos descargado.\nA continuación copiamos la carpeta que acabamos de descomprimir.\nFinalmente pegamos la carpeta que acabamos de copiar en la ubicación /usr/share/icons\nCon estos simples pasos el proceso de instalación del tema ha finalizado.\nCAMBIAR EL TEMA DEL PUNTERO DEL RATÓN Una vez instalados los nuevos temas tan solo tenemos que activarlos. Para ello abrimos una terminal y ejecutamos el siguiente comando:\nxfce4-mouse-settings Seguidamente se abrirá una ventana en la que que tenemos que clicar en la pestaña Tema. Seguidamente, tal y como se puede ver en la captura de pantalla, seleccionamos el tema de iconos que queremos, seleccionamos el tamaño del puntero y presionamos el botón Cerrar:\nUna vez activado el tema ya podemos reiniciar el ordenador y en el próximo arranque el nuevo tema de cursor se debería visualizar sin ningún tipo de problema.\nASEGURAR QUE EL NUEVO TEMA SE APLICA EN TODOS LOS SITIOS Después de reiniciar el ordenador ya podremos visualizar el nuevo puntero de ratón, pero es posible que en ciertos programas o en nuestro gestor de sesiones siga viéndose el antiguo tema. Para solucionar este aspecto tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\nsudo nano /etc/alternatives/x-cursor-theme Una vez se abra el editor de textos, tal y como se puede ver en la siguiente captura de pantalla, deberemos reemplazar el nombre del tema antiguo por el nombre del nuevo tema que en mi caso es Obsidian.\nDespués de realizar las modificaciones tan solo tenemos que guardar los cambios realizados y cerrar el fichero. De este modo, la próxima vez que reiniciamos el ordenador, el tema Obsidian se aplicará absolutamente en todos los programas y en nuestro gestor de sesiones.\n","permalink":"https://geeklandlinux.github.io/posts/cambiar-puntero-del-raton-xfce/","summary":"\u003cp\u003eHace cuatro años que uso el mismo puntero de ratón en mi distribución Linux y creo que ha llegado el momento de realizar un cambio.\u003c/p\u003e\n\u003cp\u003eEn mi caso procedí a ver los temas de punteros de ratón que tenia disponibles para elegir y me encontré con la sorpresa que únicamente tenia tres temas disponibles. Por lo tanto la primera tarea para cambiar el puntero del ratón es encontrar un tema que nos guste.\u003c/p\u003e","title":"Cambiar el puntero del ratón en XFCE"},{"content":"En Linux, y en otros sistemas operativos, es común que nos encontremos con la situación de que no está disponible un cliente de escritorio para un servicio o aplicación web que utilizamos habitualmente. Con el fin de solucionar esta situación detallaré una procedimiento para convertir fácilmente una página web en una aplicación de escritorio o WebApp.\nPara conseguir el objetivo que acabo de citar existen varias soluciones, pero bajo mi punto de vista, la mejor opción es usar el navegador Chrome o Chromium por los siguientes motivos:\nChrome y Chromium son navegadores multiplataforma, por lo tanto la solución que veremos en este post es aplicable en cualquier sistema operativo. Chrome y Chromium son navegadores web actuales que reciben actualizaciones de seguridad constantes y utilizan los últimos estándares web. Por lo tanto cuando ejecutemos nuestras aplicaciones de escritorio tendremos la garantía que el funcionamiento y la seguridad serán óptimos. Facilidad de instalación ya que no hay que preocuparse de si nuestra distribución dispone de paquetes o repositorios ppa para instalar software alternativos que realizan lo mismo como por ejemplo Ice, etc. Estos 2 navegadores reciben soporte constante por parte de sus desarrolladores. Por lo tanto, si la gente utiliza esta característica, no es previsible que acabe desapareciendo como pasa con otras. Una vez vistas las razones por las cuales pienso que Chromium y Chrome son las mejores veremos los pasos a seguir para transformar una página web en un cliente o una aplicación de escritorio.\nCREAR UNA APLICACIÓN DE ESCRITORIO A PARTIR DE UN SERVICIO O PÁGINA WEB En estos momento el servicio de correo electrónico protonmail no dispone de ningún cliente de escritorio y además no permite integrarse en clientes de correo electrónico de terceros como por ejemplo Outlook o Thunderbird. Para solucionar este problema crearemos una aplicación de escritorio de forma muy sencilla a partir de la página web de protonmail. De este modo evitaremos tener que abrir el navegador cada vez que queremos consultar nuestro correo y además mientras usemos Protonmail tendremos la sensación de que estamos usando un cliente de escritorio.\nEl primer paso a realizar es acceder a la web de Protonmail con el navegador Chromium o el navegador Google Chrome. Una vez dentro de la web, tal y como se puede ver en la captura de pantalla, accedemos al menú de configuración de Chrome y dentro del apartado Más herramientas clicamos encima de la opción Añadir al escritorio\u0026hellip;\nSeguidamente aparecerá la siguiente pantalla en la que deberemos poner nombre a nuestra aplicación de escritorio, tildar la opción Abrir como ventana y finalmente clicar encima del botón Añadir.\nDespués de seguir estos pasos tan simples el proceso ha finalizado. En estos momentos, tal y como se puede ver en la siguiente captura de pantalla, si nos vamos a nuestro escritorio veremos que existe un Icono con la aplicación protonmail, y además si miramos en el menú de aplicaciones de nuestra distribución veremos que también aparece la aplicación de escritorio que acabamos de crear.\nPor lo tanto en estos momentos podemos afirmar que hemos creado un cliente de escritorio de Protonmail y además podemos afirmar que está perfectamente integrado en nuestro escritorio.\nNota: Los clientes de escritorio creados no son equivalentes a los clientes de escritorio oficiales. Los clientes de escritorio creados tendrán las mismas funcionalidades que las versiones web a partir de las cuales son creados. Nota: En XFCE la aplicación de escritorio se integra perfectamente en el menú de nuestra distribución. En el caso que no lo haga lo tendremos que realizar nosotros manualmente. MUESTRA DEL FUNCIONAMIENTO DE LA APLICACIÓN DE ESCRITORIO Para abrir y usar la aplicación tan solo tenemos que hacer doble clic encima de la aplicación de escritorio que acabamos de crear. Después de ello, tal y como se puede ver en la captura de pantalla, podemos usar el correo Protonmail como si se tratara de una aplicación de escritorio.\nNota: Si observamos la captura de pantalla vemos que no hay rastro de la barra de direcciones ni de las decoraciones y opciones que ofrece un navegador Web. Gracias a esto la sensación que tenemos es equivalente a la de usar un cliente de escritorio de toda la vida. SITUACIONES EN LAS UTILIZO ESTE RECURSO Y BENEFICIOS OBTENIDOS Existen muchas empresas y servicios que no ofrecen aplicaciones de escritorio para Linux. En estos casos acostumbro a usar esta solución para disponer de mi propia aplicación de escritorio. Ejemplos de lo que acabo de comentar son los siguientes:\nGoogle Keep Pocket GNU Social (Dispone de cliente pero no lo quiero instalar) Evernote Protonmail Spotify Feedly Wunderlist Tune in Radio etc Además en el momento que estoy usando las aplicaciones creadas obtengo los siguientes beneficios:\nMejor aprovechamiento de la pantalla ya que ejecutando la aplicaciones de escritorio no están presentes las decoraciones del navegador y la barra de direcciones. La interfaz visual es mucho más limpia que si lo ejecutaremos en un navegador web. De este modo conseguimos eliminar elementos que nos pueden distraer como por ejemplo las opciones de configuración de nuestro navegador, las extensiones que tenemos instaladas, etc. Disponer de un sistema operativo más ligero ya que usando las aplicaciones de escritorio creadas con Chrome o Chromium no estamos instalando paquetes en nuestro sistema operativo. Aseguramos que no se consuman recursos innecesariamente ya que muchos clientes de escritorio que instalamos ejecutan tareas en segundo plano sin nuestro conocimiento que consumen recursos. ELIMINAR LAS APLICACIONES DE ESCRITORIO CREADAS Para eliminar las aplicaciones de escritorio creadas tan solo tenemos que eliminar el acceso directo que se ha creado en el escritorio y eliminar la entrada que se ha creado en los menús de nuestra distribución.\nLa primera acción es muy sencilla y por lo tanto no precisa de explicaciones adicionales.\nLa segunda acción dependerá del entorno de escritorio que usen. En el caso de disponer de XFCE tan solo tienen hay abrir una terminal y teclear el siguiente comando:\nmenulibre Seguidamente se abrirá una ventana en la que podremos organizar y seleccionar de forma gráfica los elementos que queremos que aparezcan en el menú de XFCE. En esta ventana, tal y como se puede ver en la captura de pantalla, realizaremos una búsqueda con el nombre de la aplicación que queremos eliminar. Una vez encontrada la seleccionamos y presionamos el botón Eliminar.\nNota: En el caso de usar un entorno de escritorio diferente a XFCE deberán buscar como editar los elementos que aparecen en su menú. ALTERNATIVAS A CHROME Y A CHROMIUM La verdad es que existen pocas alternativas para convertir páginas web en aplicaciones de escritorio. Además los navegadores Chrome y Chromium son los únicos navegadores Web conocidos que implementan esta característica.\nNota: En el pasado Firefox disponía de la extensión Prism para transformar páginas web en aplicaciones de escritorio, pero por motivos que desconozco dejo de desarrollarse y en estos momentos la extensión ya no funciona. Las alternativas reales disponibles para los distintos sistemas operativos de escritorio existentes en la actualidad son las siguientes:\nGNU-Linux En Linux hay alternativas, pero presentan el problema que son difíciles de instalar o han sido aparentemente abandonadas por sus desarrolladores.\nTodo esto hace que a día la única alternativa existente a Chrome y a Chromium sea el software Ice. Ice es un software creado y mantenido por los desarrolladores de la distribución Peppermint y su principal función es la de crear aplicaciones de escritorio a partir de páginas Web. En el siguiente video pueden ver una muestra de su funcionamiento:\nhttps://www.youtube.com/watch?v=yEWyXo4lr-A\nSi quieren probar ICE pueden intentar descargar e instalar los paquetes binarios de la siguiente ubicacion:\nDescarga del binario de Ice\nNota: Para que Ice funcione deberemos instalar la totalidad de dependencias necesarias y también deberemos tener instalado Chrome o Chromium en nuestro ordenador. Si realizan los pasos adecuadamente deberían poder instalarlo y usarlo sin problemas aunque usen una distro diferente a Peppermint. Nota: En el pasado existían alternativas como Fogger o Webby, pero desafortunadamente parece que en ambos casos los desarrolladores de estos programas han decidido abandonarlos. MacOS X En MacOS X disponemos de varias alternativas. La más conocida es instalar y usar el software Fluid. Fluid lo podemos descargar sin problema a partir de este link perteneciente a la página web de sus desarrolladores. Para usar Fluid tan solo tienen que seguir los pasos que se muestran en el siguiente vídeo:\nhttps://vimeo.com/22820843\nWindows En Windows, aunque parezca mentira, no existen o no he sabido encontrar opciones alternativas a Google Chrome o Chromium. Así que si alguien conoce alguna opción que sea fácil de aplicar para los usuarios que la deje en los comentarios del post.\nNota: En el caso que estén usando otra alternativa diferente a las citadas en este post lo pueden compartir sin problema en los comentarios de este post.","permalink":"https://geeklandlinux.github.io/posts/aplicacion-de-escritorio-a-partir-de-web/","summary":"\u003cp\u003eEn Linux, y en otros sistemas operativos, es común que nos encontremos con la situación de que no está disponible un cliente de escritorio para un servicio o aplicación web que utilizamos habitualmente. Con el fin de solucionar esta situación detallaré una procedimiento para convertir fácilmente una página web en una aplicación de escritorio o WebApp.\u003c/p\u003e","title":"Crear una aplicación de escritorio a partir de una página web"},{"content":"Hoy en día prácticamente la totalidad del conocimiento e información está disponible en Internet. Por lo tanto es sumamente importante que sepamos usar uno o varios buscadores para encontrar la información que estamos buscando de forma rápida, efectiva y eficiente. Por este motivo en el siguiente post detallaré una serie de consejos, técnicas y acciones que nos permitirán buscar de forma mucho más rápida y eficiente en el buscador de Google.\n1- DEFINIR EL PROCESO DE BÚSQUEDA BUSCAR CON LAS PALABRAS ADECUADAS Seleccionar el término de búsqueda adecuado es importante para obtener los resultados de búsqueda que deseamos. Algunos consejos básicos para seleccionar un buen término de búsqueda son los siguientes:\nIntentar que el término de búsqueda sea parte de la respuesta que estamos buscando. No debemos usar preguntas como término de búsqueda ya que es mucho más efectivo escribir palabras que queremos y sabemos que tiene que tener la respuesta que estamos buscando. Si no forzamos lo contrario Google realiza sus búsquedas a partir de palabras sueltas, por lo tanto los términos de búsqueda deben ser palabras y no frases. Las frases contienen determinantes y artículos que afectaran negativamente a los resultados de nuestra búsqueda. Es recomendable introducir pocos términos para realizar las búsquedas. Es mejor empezar buscando con simplemente una o dos palabras ya que si empezamos buscando con más palabras o frases corremos el peligro de limitar en exceso nuestros resultados de búsqueda. Por lo tanto, a modo de ejemplo, es mucho más adecuado buscar por los términos restaurantes chinos barcelona que no por ejemplo restaurantes chinos que puedo encontrar en barcelona. Google no distingue entre mayúsculas y minúsculas ni reconoce los signos de puntuación y los acentos. Por lo tanto no perdáis el tiempo en estos aspectos. No nos tenemos que preocupar excesivamente de la ortografía cuando realizamos búsquedas. Si cometemos una falta de ortografía Google lo detectará, nos mostrará una sugerencia de la palabra que piensa que queremos buscar, y nos proporcionará los resultados de búsqueda de la palabra sugerida. Al introducir 2 términos o palabras de búsqueda como por ejemplo restaurante chino, Google buscará URL\u0026rsquo;s que en su contenido figuren palabras similares a las que buscamos como por ejemplo restaurante, chino, restaurantes, chinos, etc. Google no mostrará URL’s que en su contenido únicamente figure uno de los dos términos. El orden de las palabras que usamos para buscar influyen en los resultados de búsqueda que obtenemos. En determinadas búsquedas como por ejemplo blue sky y sky blue los resultados de búsqueda obtenidos pueden variar mucho en función del orden de las palabras. BUSCAR INFORMACIÓN A PARTIR DE UNA IMAGEN El buscador de Google no únicamente busca contenido mediante palabras. También es capaz de buscar y encontrar contenido a través de imágenes. Para buscar a través de una imagen tenemos que acceder a a la siguiente URL:\nhttps://images.google.com/\nUna vez dentro del buscador de imágenes, tal y como se puede ver en la captura de pantalla, arrastramos la imagen a partir de la cual queremos realizar una búsqueda dentro del navegador.\nUna vez realizada la acción obtendremos los siguientes resultados de búsqueda:\nSitios web que contienen imágenes similares a la nuestra. Sitios Web que incluyen nuestra imagen junto con información sobre la foto. La misma imagen que estamos buscando pero con tamaños diferentes. Por lo tanto este tipo de búsqueda nos puede ser útil en en la siguientes ocasiones:\nPara reconocer un sitio del cual tenemos una foto y no disponemos de información sobre él. Para averiguar si alguien está usando con o sin consentimiento nuestras imágenes o fotografías. Para obtener la misma imagen que estamos buscando con una resolución diferente. UTILIZAR LOS DISTINTOS SERVICIOS DE BÚSQUEDA QUE OFRECE GOOGLE Si os fijáis en la captura de pantalla existen una serie de vínculos que nos permitirán elegir distintos servicios de búsqueda de Google.\nPor lo tanto en el caso que estemos buscando vídeos clicaremos en el vínculo Vídeos y seguidamente todos los resultados de búsqueda que nos dará Google serán vídeos. Así por lo tanto si queremos buscar un vídeo que hable de nuestro sistema solar, tan solo tenemos que clicar encima del vínculo vídeos y seguidamente, tal y como se puede ver en la captura de pantalla, realizamos una búsqueda por las palabras sistema solar.\nNota: Aparte de buscar vídeos podemos determinar las características de los vídeos que buscará Google. De este modo podemos buscar vídeos con una duración determinada, con una calidad determinada, indexados en una fecha determinada, etc. Del mismo modo si queremos buscar libros, Imágenes, mapas, vuelos, etc, tan solo tenemos que clicar encima del vínculo pertinente de Google y los resultados de búsqueda obtenidos serán muchos más precisos.\n2- REFINAR Y AGILIZAR NUESTROS RESULTADOS DE BÚSQUEDA BUSCAR PÁGINAS WEB QUE CONTENGAN UNA FRASE EXACTA En distintas ocasiones puede resultar sumamente útil encontrar la información que necesitamos buscando webs que contengan una frase concreta. Algunas de estas situaciones son las siguientes:\nAveriguar si alguien está copiando los artículos de tu blog. Encontrar la letra de una canción. Encontrar un poema que nos gusta. Encontrar información sobre lo que realiza un comando de linux. Etc. A modo de ejemplo para ver como usar esta funcionalidad vamos a buscar las páginas web que han copiado este determinado post:\nhttps://geeklandlinux.github.io/posts/optimizar-el-rendimiento-con-zram/\nPara ello, tal y como se puede ver en la captura de pantalla, en el buscador de Google escribimos una frase del post original entre comillas y presionamos la tecla Enter.\nDespués de presionar la tecla Enter, tal y como se puede ver en la siguiente captura de pantalla, Google buscará la totalidad de páginas web que tienen exactamente el texto que hemos puesto entrecomillado.\nNota: Al realizar búsquedas con este método hay que ir con cuidado porque si hacemos una búsqueda por el término “John F. Kennedy” se omitirán la totalidad de páginas que hagan referencia a John Fitzgerald Kennedy. Si observamos la captura de pantalla veremos una serie de URL que contienen exactamente, con las mismas palabras y con el mismo orden, la frase que yo escribí en mi post. Por lo tanto seguramente las URL que figuran en la búsqueda de Google son webs que han realizado un copiar pegar del post que escribí en su día.\nBUSCAR INFORMACIÓN POR TIPO DE ARCHIVO En muchas ocasiones es útil buscar información por tipo de archivo. Algunas de las situaciones en las que puede resultar útil son las siguientes:\nPara buscar un powerpoint que nos explique de forma detallada como realizar una determinada tarea. Para buscar un folleto en formato pdf de las ofertas de nuestra competencia. Para buscar una canción que queremos escuchar y/o descargar en formato mp3 o ogg. Etc. Así de este modo si queremos buscar un powerpoint que hable de distribuciones Linux tan solo tenemos usar el siguiente comando de búsqueda y presionar Enter:\ndistribuciones linux filetype:ppt Nota: El texto de color azul corresponde al tema que estamos buscando información. La parte de la búsqueda en color rojo es para para indicar que queremos buscar información en un formato de archivo, y finalmente la parte verde es para indicar el formato de archivo en el que queremos la información. En mi caso estoy buscando un powerpoint y por esto indico el formato de archivo ppt. Otros formatos de archivo que podemos usar son pdf, doc, docx, ppt, pptx, xls, xlsx, odt, txt, csv, dat, kml, jpg, swf, xlsx, ogg, mp3 etc. Después de presionar Enter, tal y como se puede ver en la captura de pantalla, los resultados son satisfactorios.\nELIMINAR RESULTADOS NO DESEADOS DE LA BÚSQUEDA DE GOOGLE Imaginemos que estamos buscando información sobre un determinado tipo de salsa para poner a un alimento. Por lo tanto accedo al buscador y hago la siguiente búsqueda:\nsalsa Después de realizar la búsqueda, tal y como se puede ver en la captura de pantalla, vemos que los resultados obtenidos hacen referencia a información no deseada como por ejemplo a una marca de pantalones y también al conocido baile.\nSi queremos eliminar estos resultados de búsqueda tan solo tenemos que usar el operador -. Así por ejemplo si queremos buscar páginas web que contengan la palabra salsa y que no contengan las palabras jeans y bailar tenemos que usar la siguiente orden de búsqueda:\nsalsa -jeans -bailar Nota: La palabra de color azul es la palabra sobre la cual estamos buscando información. El operador – seguido de una palabra en concreto es para omitir la totalidad de url que contengan una palabra determinada. Después de usar la nueva orden de búsqueda podemos ver que únicamente obtenemos resultados que hablan de salsas de cocina y por lo tanto hemos conseguido nuestro objetivo.\nSi además ahora quisiéramos obtener información sobre salsas de cocina que no contienen tomate podríamos usar el siguiente comando de búsqueda:\nsalsa -jeans -bailar -tomate REALIZAR BÚSQUEDAS QUE CONTENGAN UNA PALABRA U OTRA CON OR Si realizamos una búsqueda simple de más de una palabra los resultados de búsqueda de Google serán páginas que contienen las 2 palabras.\nSi queremos cambiar este comportamiento y hacer los resultados de búsqueda contengan como mínimo una palabra u otra palabra podemos usar el comando OR.\nAsí por ejemplo si estamos realizando una búsqueda para encontrar información de la hierba mora, podemos introducir el siguiente comando de búsqueda:\nSolanum nigrum OR hierba mora Nota: Solanum nigrum es otra palabra para denominar la hierba mora. Con esta instrucción los resultados de búsqueda que nos proporcionará Google serán los siguientes:\nWebs que como mínimo contienen la palabra Solanum nigrum o la palabra hierba mora. Webs que contendrán ambas palabras en interior. REALIZAR BÚSQUEDAS CON UNA PALABRA COMODÍN O DESCONOCIDA (*) Realizar búsquedas con el operador * puede resultar útil para buscar más rápidamente lo que estamos buscando.\nEl operador * sirve para completar una búsqueda en google cuando no sabemos bien lo que estamos buscando. Así por ejemplo si queremos buscar rápidamente la totalidad de modelos de Seat Ibiza que tienen una cilindrada 1.2 podemos realizar la siguiente búsqueda:\n”seat ibiza * 1.2” Después de realizar la búsqueda google nos mostrará resultados que nos permitirán conocer los modelos de coche que estamos buscando.\nOtro ejemplo sencillo del operador * seria el de completar un refrán como el siguiente:\nuna ______ vale mas que mil _____\nSi en Google realizamos la siguiente búsqueda:\nuna * vale mas que mil * Encontraremos de forma inmediata la palabras que faltan para completar nuestro refrán.\nFORZAR QUE LAS PALABRAS DE BÚSQUEDA ESTÉN EN UN SITIO DETERMINADO DE LAS PÁGINA WEB En determinados casos puede resultar útil forzar que las palabras usadas para realizar la búsqueda estén incluidas en determinadas partes de las páginas web, de este modo:\n1- Si queremos obtener resultados en que al menos una de nuestras palabras de búsqueda esté incluida en las URL que nos dará Google tan solo tenemos que usar el comando inurl. Por lo tanto si queremos buscar URL’s o direcciones que contengan la palabra luna, la palabra bella, o ambas, tenemos que realizar la siguiente búsqueda:\ninurl:luna bella 2- Si queremos obtener resultados en que todas nuestras palabras de búsqueda estén incluidas en las URL que nos dará Google, tan solo tenemos que usar el comando allinurl. Por lo tanto si queremos buscar URL’s o direcciones de la página web geeklandlinux.github.io que contengan simultáneamente las palabras deep web podemos realizar la siguiente búsqueda:\nallinurl:deep web site:geeklandlinux.github.io Nota: Los comandos allinurl y inurl pueden ser útiles para localizar webs que hablan sobre temáticas concretas. Esto puede resultar especialmente útil para el link building. 3- Si queremos obtener resultados en que el cuerpo de la página web o body contenga al menos una de nuestras palabras de búsqueda, lo podemos realizar mediante el comando intext. Así por ejemplo si queremos buscar todas las URL’s del blog geeklandlinux.github.io que en su cuerpo contienen la palabra Ubuntu, la palabra Debian, o ambas podemos realizar la siguiente búsqueda:\nintext:ubuntu debian site:geeklandlinux.github.io 4- Si queremos obtener resultados en que el cuerpo de la página web o body contenga una palabra en concreto lo podemos realizar mediante el comando allintext. Así por ejemplo si queremos buscar páginas web que en su cuerpo contienen la palabra Ubuntu y la palabra devuan, podemos realizar la siguiente búsqueda:\nallintext:ubuntu devuan 5- Si queremos obtener resultados en los que al menos una de nuestras palabras de búsqueda esté incluida en el título de los resultados de búsqueda podemos usar el comando intitle. Por lo tanto si queremos buscar páginas web que en su título contengan la palabra SEO, la palabra adwords, o ambas, tenemos que realizar la siguiente búsqueda:\nintitle:seo adwords 6- Si queremos obtener resultados en que todas nuestras palabras de búsqueda estén incluidas en el título de los resultados de búsqueda podemos usar el comando allintitle. Por lo tanto si queremos buscar páginas web que en su título contengan de forma simultanea la palabra seo y adwords tenemos que realizar la siguiente búsqueda:\nallintitle:seo adwords 7- En el caso que queramos buscar páginas web que contengan un enlace interno o externo con al menos uno de nuestros términos de búsqueda, podemos usar el comando inanchor. Así por lo tanto si queremos buscar páginas web que tengan al menos un enlace con la palabra vpnbook, o la palabra hidemyass, o ambas, tenemos que usar la siguiente búsqueda:\ninanchor: vpnbook hidemyass 8- En el caso que queramos buscar páginas web que contengan enlaces internos o externos que contengan la totalidad de nuestros términos de búsqueda, podemos usar el comando allinanchor. Así por lo tanto si queremos buscar páginas web que tengan enlaces con la palabra vpnbook y la palabra hidemyass tenemos que usar la siguiente búsqueda:\nallinanchor:ubuntu software BUSCAR WEB DE TEMÁTICAS SIMILARES A OTRA Es posible que hayamos encontrado una página web o un blog que nos guste como por ejemplo https://geeklandlinux.github.io. Si queremos descubrir nuevos blogs similares al que nos gusta, tan solo tenemos que usar el operador related:. De este modo si queremos encontrar blogs similares a https://geeklandlinux.github.io/ podemos usar el siguiente comando de búsqueda:\nrelated:geeklandlinux.github.io Usando este comando la totalidad de resultados obtenidos serán URL’s de blogs similares que tratan temas similares a geeklandlinux.github.io\nBUSCAR EN PÁGINAS WEB CON UN DOMINIOS ESPECIFICO Si queremos buscar información directamente de páginas web gubernamentales o pertenecientes al ámbito de la educación lo podemos realizar de una forma relativamente sencilla buscando información en páginas web que dispongan de dominios específicos como por ejemplo el .gov y el .edu. Así por lo tanto en el caso que necesitemos buscar información sobre las naciones unidas de organismos pertenecientes al ámbito gubernamental podemos usar el siguiente comando de búsqueda:\nnaciones unidas site:.gov Tal y como se puede ver en la captura de pantalla, la totalidad de resultados encontrados disponen del dominio .gov y dan información sobre las naciones unidas.\nSi nos entramos en la situación que de antemano sabemos que una página web, como por ejemplo https://geeklandlinux.github.io/, contiene buena información sobre servicios VPN, la podemos buscar a través de google. Así si usamos el siguiente comando de búsqueda:\nvpn site:geeklandlinux.github.io Tal y como se puede ver en la captura de pantalla, los resultados de búsqueda solo contendrán URL’s de la página web geeklandlinux.github.io que contienen la palabra vpn:\nBUSCAR UN TEXTO DETERMINADO DENTRO DE UNA PÁGINA WEB Una vez estamos buscando dentro de una página web es interesante usar la función de buscar un texto determinado que ofrecen prácticamente la totalidad de navegadores web.\nAsí por ejemplo si estamos en una página de la wikipedia que detalla los medallistas olímpicos americanos de las Olimpiadas del 1992, podemos presionar la combinación de teclas Ctrl+F. Seguidamente aparecerá un cuadro de búsqueda en el que podemos escribir el nombre de un deportista que en mi caso es Carl Lewis, Después de escribirlo presionamos la tecla Enter y, tal y como se puede ver en la captura de pantalla, el navegador Web nos llevará de forma inmediata a las partes de texto que hablan del deportista Carl Lewis.\nDe esta forma podremos ver de forma fácil y sencilla el número de medallas obtenidas por Carl Lewis en las olimpiadas de 1992.\nPor lo tanto si usamos este sencillo consejo obtendremos los siguientes beneficios:\nSi estamos buscando datos concretos incrementamos enormemente la velocidad de búsqueda y obtención de la información. De esta forma estamos trabajando de una forma mucho más eficiente y efectiva. Podemos ver de una forma rápida y sencilla si la palabra que estamos buscando figura en la página web que estamos visitando. De este modo, si no aparece la palabra sabemos que la página que estamos visitando es posible que no contenga la información que estamos buscando. RESTRINGIR LAS BÚSQUEDAS POR TIEMPO En muchas ocasiones puede resultar sumamente útil restringir las búsquedas por tiempo. Así por ejemplo si queremos buscar información que sabemos que ha ocurrido durante las últimas 24 es altamente recomendable restringir los resultados búsqueda a los post que se han publicado/indexado durante las últimas 24 horas. Para ello, tal y como vemos en la siguiente captura de pantalla, tenemos que buscar por el término que nosotros queramos, seguidamente presionamos el botón Herramientas de búsqueda y finalmente en el apartado Cualquier fecha seleccionamos el periodo temporal en que queremos buscar la información.\nDe este modo tan simple podemos conseguir la información que estamos buscando de una forma mucho más simple y efectiva.\nUSAR LAS DISTINTAS VERSIONES DEL BUSCADOR DE GOOGLE El buscador de Google dispone de distintas versiones en determinados países y regiones. Por lo tanto los resultados de búsqueda de google.es serán diferentes a los resultados de búsqueda de google.com o de google.com.ar.\nEn el caso que queramos usar un motor de búsqueda diferente al actual, tan solo tenemos que ingresar el dominio de búsqueda correspondiente al país o región que precisamos. Así por ejemplo si queremos buscar información sobre los carnavales en la versión catalana de Google, tenemos que ingresar la siguiente URL en vuestro navegador:\ngoogle.cat Una vez hayas ingresado dentro de la URL se puede realizar la búsqueda con total normalidad.\nNota: Para ver los dominios a ingresar para acceder a las distintas versiones del buscador de google pueden acceder al siguiente enlace. En el caso que queramos cambiar nuestro motor de búsqueda de forma permanente, lo podemos realizar fácilmente accediendo a la configuración de nuestro navegador web.\nUTILIZAR LA BÚSQUEDA AVANZADA DE GOOGLE A lo largo de este apartado 2 hemos visto varias formas para restringir y afinar los resultados de búsqueda mediante comandos específicos del buscador de Google. En caso de no quererer recordar estos comandos específicos pueden usar las búsqueda avanzada de Google que permitirá restringir los resultados de búsqueda mediante una interfaz gráfica.\nPara acceder a la búsqueda avanzada de imágenes lo pueden introduciendo la siguiente URL en el navegador:\nhttps://www.google.es/advanced_image_search\nEn el caso de querer acceder a la búsqueda avanzada normal lo tendrán que hacer introduciendo la siguiente URL en su navegador.\nhttps://www.google.es/advanced_search\nUna vez dentro de la búsqueda avanzada, tal y como se puede ver en la captura de pantalla, tendrán que introducir los parámetros de búsqueda que más les convienen y finalmente presionar el botón Búsqueda avanzada.\nDespués de presionar el botón Búsqueda avanzada, Google nos proporcionará resultados de búsqueda que cumplen con los requisitos que acabamos de especificar.\nLas opciones que se nos ofrecen para restringir la búsqueda son numerosas. Algunas de estas opciones son las siguientes:\nRestringir las búsquedas por idiomas. Restringir las búsquedas por país. Buscar sitios web que contengan una frase exacta. Buscar URL’s que contengan la información en un determinado tipo de archivo. Buscar imágenes y archivos publicados en una fecha determinada. Forzar que las palabras con las que buscamos aparezcan en la URL, en el título del artículo, en el texto del artículo, en un enlace de la URL, etc. Etc. 3- EVALUAR LOS RESULTADOS DE BÚSQUEDA NO FIJARSE ÚNICAMENTE EN LOS PRIMEROS RESULTADOS DE BÚSQUEDA El contenido que aparece en las primeras posiciones de la búsqueda de Google no es necesariamente un contenido de calidad o más creíble que el resto. En ocasiones los primeros resultados de búsqueda corresponden a webs grandes con ánimo de lucro que tienen mejor posicionamiento SEO que webs pequeñas, por el simple hecho de que generan más contenido y lo optimizan mejor para el posicionamiento SEO.\nOtras veces, tal y como podéis ver a continuación, los primeros resultados en la búsqueda son simplemente anuncios de personas o empresas que pagan a Google para salir en los primero lugares.\nNota: Si queréis evitar que en los resultados de búsqueda aparezcan este tipo de resultados usad un bloqueador de publicidad como por ejemplo uBlock Origin. Por lo tanto no os limitéis a quedaros con los primeros resultados que os ofrece el buscador de Google ya que en las otras páginas es posible encontrar información de mayor calidad a la inicial.\nEVALUAR Y SER CRÍTICO CON LA INFORMACIÓN ENCONTRADA Una vez obtenemos los resultados de la búsqueda es conveniente que los evaluemos para asegurar que la información encontrada es fiable y creíble. Algunos de los pasos que podemos llevar a término para evaluar la información encontrada son los siguientes:\nIntentar analizar quien es el autor de la información publicada. El resultado encontrado tendrá más credibilidad si la persona que lo ha escrito tiene buena reputación y dispone de formación especifica sobre el tema que está tratando. A modo de ejemplo es mucho mas creíble un artículo que hable sobre Linux de un administrador de sistemas que no uno que podamos encontrar en Taringa que seguramente se ha copiado y pegado en 5 minutos. Para averiguar si el contenido obtenido es relevante podemos analizar las URL que apuntan a la página web que estamos leyendo. Si la URL está enlazada por páginas webs prestigiosas, como por ejemplo universidades, el contenido encontrado será más creíble. Esta tarea se podía realizar fácilmente con el comando link del buscador de google, pero parece ya no funciona. Una solución alternativa es acceder al buscador de Yahoo, y tal y como se puede ver en la captura de pantalla, usando el comando linkdomains: seguido de la URL que queremos analizar podemos conseguir nuestro objetivo. Analiza las fuentes de información que ha usado el autor del artículo ya que nos pueden ayudar a evaluar nuestro resultado de búsqueda. Analiza el fin que persigue el autor de la información encontrada. Una publicación con fines altruistas es mucho más fiable y creíble que publicaciones que podamos encontrar en blogs comerciales o con ánimo de lucro. Analizar la fecha de publicación o actualización del artículo. En muchas ocasiones ciertas publicaciones quedan obsoletas con el paso del tiempo. Una vez encontrada la información debemos preguntarnos si el contenido encontrado responde a la totalidad de nuestras preguntas. No es recomendable tomar como cierto lo que cuenta una determinada página web. Es recomendable contrastar la información encontrada con otras fuentes para comprobar que en todas la respuesta es similar. NO LIMITARSE A UTILIZAR EL BUSCADOR DE GOOGLE A pesar de que en este artículo me focalizo en el buscador de Google, mi consejo es que no os limitéis a usar únicamente y exclusivamente el buscador de Google. No todos los buscadores indexan la web de la misma forma, por lo tanto si usamos otros buscadores obtendremos resultados de búsqueda distintos. Otros buscadores existentes con los que podemos realizar búsquedas son DuckDuckGo, Yahoo, Bing, Google Scholar, etc.\n","permalink":"https://geeklandlinux.github.io/posts/tecnicas-consejos-buscar-en-google/","summary":"\u003cp\u003eHoy en día \u003cstrong\u003eprácticamente la totalidad del conocimiento\u003c/strong\u003e e información \u003cstrong\u003eestá disponible en Internet\u003c/strong\u003e. \u003cstrong\u003ePor lo tanto es sumamente importante que sepamos usar uno o varios buscadores para encontrar la información\u003c/strong\u003e que estamos buscando de forma rápida, efectiva y eficiente. Por este motivo en el siguiente post detallaré una serie de consejos, técnicas y acciones que nos permitirán buscar de forma mucho más rápida y eficiente en el buscador de Google.\u003c/p\u003e","title":"Técnicas y consejos para buscar en el buscador Google"},{"content":"Recientemente ha cambiado la forma de usar el corrector ortográfico en Chrome y en Chromium. Por este motivo he decidido a redactar este post en el que comentaré como usar el corrector ortográfico en estos dos navegadores.\nNota: En las próximas semanas redactaré un post similar para usar el corrector ortográfico en Firefox. SITUACIONES EN LAS QUE ES ÚTIL UTILIZAR EL CORRECTOR ORTOGRÁFICO EN EL NAVEGADOR Obviamente existen varias situaciones en las que podemos dar uso al uso del corrector ortográfico en el navegador. Algunas de estas situaciones son las siguientes:\nCuando se escriben emails mediante clientes web en servicios de correo como por ejemplo Gmail, Yahoo, Openmailbox, Zimbra, etc. Cuando se utilizan aplicaciones web o aplicaciones en la nube como por ejemplo la suite ofimática de Google Drive, Owncloud, etc. Cuando hay que rellenar impresos, escribir en los comentarios de un blog o de un foro, etc. Nota: Es importante no cometer faltas de ortografía. En el momento que estás cometiendo faltas de ortografía graves estás proyectando una imagen negativa de ti mismo que te puede incluso llegar a cerrar puertas en la búsqueda de empleo y en otros ámbitos. CONFIGURAR EL CORRECTOR ORTOGRÁFICO MULTILINGUE EN CHROME El proceso es sumamente sencillo. Tal y como se puede ver en la captura de pantalla, ubicamos el puntero del mouse encima de un cuadro de texto en el que queramos escribir y presionamos el botón derecho del ratón. Seguidamente, tal y como se puede ver en la captura de pantalla, clicamos en la opción Configuración de idioma… del menú contextual.\nSeguidamente se abrirá la pestaña en la que podremos configurar los Idiomas de Google Chrome. Una vez abierta presionaremos en el botón Añadir.\nA continuación, tal y como se puede ver en la captura de pantalla, seleccionamos el corrector ortográfico que queremos añadir que en mi caso es el inglés. Una vez seleccionado el idioma presionamos el botón Aceptar.\nFinalmente tenemos que habilitar el corrector del idioma que hemos seleccionado. Para ello hay que tildar la casilla Utilizar este idioma para el corrector ortográfico y presionar el botón Listo.\nUna vez configurado el inglés podemos añadir otros idiomas. Para añadirlos tan solo tenemos que repetir el proceso que acabamos de seguir, pero en vez de seleccionar el inglés seleccionamos otro lenguaje.\nUSAR EL CORRECTOR ORTOGRÁFICO EN GOOGLE CHROME o CHROMIUM Una vez configurado el corrector ortográfico usarlo es de lo más sencillo. Chrome y Chromium detectaran automáticamente el idioma en el que estamos escribiendo en cada momento. De este modo, si hemos configurado el corrector adecuadamente, tal y como se puede ver en la captura de pantalla, tan solo tenemos que empezar a escribir sin preocuparnos de nada más.\nDESHABILITAR IDIOMAS DEL CORRECTOR ORTOGRÁFICO En el caso que un día decidamos que queremos deshabilitar alguno de los idiomas del corrector ortográfico lo podemos realizar de la siguiente forma. Tal y como se puede ver en la captura de pantalla, ubicamos el puntero del mouse encima de un cuadro de texto en el que queremos escribir y presionamos el botón derecho del ratón. Seguidamente clicamos en la opción Configuración de idioma… del menú contextual.\nSeguidamente se abrirá la pestaña en la que podremos deshabilitar los idiomas que deseemos. Una vez abierta , tal y como se puede ver en la captura de pantalla, seleccionamos el idioma que queremos deshabilitar que en mi caso es el Francés, seguidamente destildamos la opción Utilizar este idioma para el corrector ortográfico y finalmente presionamos en el botón Listo.\nEn estos momentos habremos deshabilitado el corrector ortográfico en Francés y, tal y como se puede ver en la captura de pantalla, aún tendremos activos el catalán, el Inglés y el Español.\n","permalink":"https://geeklandlinux.github.io/posts/usar-corrector-ortografico-en-chrome/","summary":"\u003cp\u003eRecientemente ha cambiado la forma de usar el corrector ortográfico en Chrome y en Chromium. Por este motivo he decidido a redactar este post en el que comentaré como usar el corrector ortográfico en estos dos navegadores.\u003c/p\u003e","title":"Como usar el corrector ortográfico en Chrome o en Chromium"},{"content":"El otro día estaba viendo un vídeo de Matthew Moore en Youtube sobre como personalizar la terminal de Linux para que muestre el logo de nuestra distribución y otras características de nuestro sistema operativo. Me pareció interesante y por este motivo me he decidido a escribir este post en el que detallaré como instalar y usar Screenfetch.\n¿QUÉ ES SCREENFETCH? Es un software diseñado para ejecutarse en la terminal que muestra información de nuestro equipo y del sistema operativo que estamos usando.\nNota: Screenfetch no soporta el 100% de la distribuciones Linux. Si quieren saber la totalidad de distribuciones que soporta, una vez lo tengan instalado abren una terminal y ejecutan el comando man screenfetch. Despues de ejecutar el comando aparecerá la página man en la que deberemos consultar el apartado Supported GNU/Linux Distributions. INSTALAR SCREENFETCH EN CUALQUIER DISTRO Prácticamente el 100% de distribuciones Linux tienen presente este software en sus repositorios, por lo tanto para instalar screenfetch lo único que tenemos que realizar es abrir una terminal y ejecutar el siguiente comando:\nEn el caso de ser usuario de Debian o de distribuciones derivadas de Debian:\nsudo apt-get install screenfetch En el caso de ser usuario de Archlinux o de distribuciones derivadas de Archlinux:\nsudo pacman -S screenfetch En el caso de ser usuarios de Fedora o distribuciones derivadas de Fedora:\nsudo dnf install screenfetch Una vez finalizada la instalación ya podemos usar screenfetch sin ningún tipo de problema.\nUSAR SCREENFETCH Como pueden ver en la captura de pantalla, para usar este software tan solo hay que abrir una terminal y ejecutar el siguiente comando:\nscreenfetch Después de ejecutar el comando el resultado será parecido al siguiente:\nPor lo tanto después de ejecutar el software disponemos de la siguiente información:\nEl logo de nuestra distribución. Nuestro nombre de usuario y el nombre del equipo. La versión del Kernel que estamos usando. El tiempo que lleva abierto nuestro ordenador. El número de paquetes que tenemos instalado en nuestro sistema operativo. La versión de Bash que estamos usando. La resolución de nuestra pantalla. El entorno de escritorio que estamos utilizando. El tema que estamos usando en nuestro sistema operativo. El tema de iconos que estamos usando. El tipo de fuente que tenemos configurada. El procesador que tiene nuestro ordenador. La tarjeta gráfica que tiene nuestro ordenador. La memoria RAM usada y disponible de nuestro ordenador. Toda la información que se muestra es autodetectada por el mismo programa y nosotros no tenemos que realizar absolutamente nada.\nREALIZAR UNA CAPTURA DE PANTALLA DE LOS DATOS MOSTRADOS Una vez mostrados los datos mucha gente a la que le gusta personalizar su escritorio acostumbra a realizar capturas de pantalla para mostrarlas en las redes sociales. De este modo los lectores que miran las capturas de pantalla pueden ver con exactitud el tema de iconos y las opciones de personalización usadas para personalizar el escritorio.\nSi vosotros también queréis realizar capturas de pantalla lo podéis realizar con vuestro software habitual para realizar capturas de pantalla. En el caso de no disponer de ningún software, podréis realizar una captura de pantalla ejecutando el siguiente comando en la terminal:\nscreenfetch -s HACER QUE SE EJECUTE CADA VEZ QUE ABRIMOS LA TERMINAL Si queremos que siempre que abramos la terminal se ejecute el programa lo podemos realizar de una forma muy simple. Abrimos una terminal y ejecutamos el siguiente comando:\nsudo nano /etc/bash.bashrc Una vez se abra el editor de textos nano, tal y como se puede ver en la captura de pantalla, tenemos que ir a la última linea del fichero bash.bash.rc y añadir la siguiente palabra:\nscreenfetch Seguidamente tan solo tenemos que guardar los cambios y cerrar el editor de textos. En estos momentos cada vez que abramos la terminal aparecerá el logo de nuestro distro juntamente con la información citada en el apartado anterior.\nCONFIGURAR LA INFORMACIÓN QUE SE MUESTRA Screenfetch permite configurar el modo en el que queremos que se muestre la información. De este modo podemos modificar el contenido que aparece en pantalla siguiendo las siguientes instrucciones.\nSi queremos que se muestre la totalidad de la información que hemos visto con anterioridad a excepción del logo, deberemos usar el siguiente comando:\nscreenfetch -n Si queremos se muestre la totalidad de información pero únicamente usando el color de texto que tenemos definido en la terminal, tenemos que ejecutar el siguiente comando:\nscreenfetch -N Si alguno de los parámetros que tiene que proporcionar el programa da error porqué el programa no es capaz de autodetectar los valores, podemos hacer que no salga en pantalla usando el siguiente comando:\nscreenfetch -E Si queremos que únicamente se imprima el logo de nuestra distro tenemos que usar el siguiente comando:\nscreenfetch -L Si queremos que únicamente se imprima el logo de nuestra distro, y que además el logo sea en color rojo, tenemos que usar el siguiente comando:\nscreenfetch -c 9 -L Nota: Si reemplazamos el número 9 por cualquier otro número contenido entre el 0 y el 9, conseguiremos variar el color del logo de nuestra distro. Si queremos visualizar el resultado de la salida en el hipotético caso que tuviéramos instalada la distro Deppin, podemos ejecutar el siguiente comando en la terminal:\nscreenfetch -D \u0026#39;Deepin\u0026#39; Nota: Podemos sustituir la palabra Deepin por el nombre de la distribución que nosotros queramos. Los nombres de las distribuciones disponibles las podéis encontrar en la sección Supported GNU/Linux Distributions de las manpages de screenfetch. Para más información sobre las opciones de configuración de este programa, pueden consultar las manpages ejecutando el siguiente comando en la terminal:\nman screenfetch ","permalink":"https://geeklandlinux.github.io/posts/personalizar-terminal-con-screenfetch/","summary":"\u003cp\u003eEl otro día estaba viendo un vídeo de \u003ca href=\"https://www.youtube.com/user/MrGizmo757\" title=\"Link al canal de Matthew Moore\"\u003eMatthew Moore\u003c/a\u003e en Youtube sobre como personalizar la terminal de Linux para que muestre el logo de nuestra distribución y otras características de nuestro sistema operativo. Me pareció interesante y por este motivo me he decidido a escribir este post en el que detallaré como instalar y usar Screenfetch.\u003c/p\u003e","title":"Personalizar nuestra terminal con Screenfetch en linux"},{"content":"Es común que muchas personas dispongan de un bloqueador de publicidad para poder navegar sin anuncios en sus ordenador, pero no es tan común que la gente aplique prácticas similares cuando usan su dispositivo móvil Android porqué las opciones son menores.\nCon el fin de dar una solución a estos usuarios y evitar la lacra de la publicidad, en este post veremos como podemos eliminar la publicidad mientras estemos navegando con nuestro teléfono Android de forma fácil y sencilla.\nINSTRUCCIONES PARA NAVEGAR SIN ANUNCIOS EN ANDROID El proceso para poder navegar sin anuncios en Android es sumamente sencillo. Tan solo hay que seguir los pasos que se muestran a continuación:\nInstalar Firefox El primer paso para poder navegar sin anuncios es instalar el navegador Firefox. Para instalarlo lo podemos hacer de la forma habitual a través de la tienda de Google Play store. Si clican en el siguiente enlace accederán directamente a la página de descarga de Firefox y seguidamente tan solo tendrán que presionar el botón Instalar.\nPara que no tengan ningún tipo de duda del programa que se trata, les dejo esta captura de pantalla en la que pueden ver información relativa al programa.\nInstalar Adblock en Firefox Una vez disponemos de Firefox tenemos que instalarle el complemento Adblock. Para ello abriremos el navegador Firefox. Una vez abierto, tal y como se puede ver en la captura de pantalla, presionamos encima del icono de opciones del navegador y seguidamente presionamos encima del menú Herramientas.\nSeguidamente, tal y como se puede ver en la captura de pantalla, presionamos sobre la opción Complementos.\nA continuación, tal y como se puede ver en la captura de pantalla, hay que clicar encima de la opción Examinar todos los complementos para Firefox.\nEl siguiente paso, tal y como se puede ver en la captura de pantalla, es la de buscar el complemento adblock. Para ello introducimos el nombre adblock en cuadro de búsqueda y presionamos la tecla Enter.\nUna vez encontrado el complemento, tal y como se puede ver en la captura de pantalla, presionamos encima de él.\nUna vez hayamos presionado encima de él aparecerá la siguiente pantalla en la que tendremos que clicar encima del botón Agregar a Firefox.\nFinalmente, tal y como se puede ver en la captura de pantalla tan solo nos faltará presionar encima del botón Instalar.\nDespués de seguir estos simples pasos ya podremos navegar tranquilamente con Firefox sin que la publicidad nos moleste.\nAparte de este complemento existen otros complementes iguales o mejores para el mismo fin como por ejemplo uBlock Origin. Así que si quieren reemplazar Adblock por uBlock Origin lo pueden hacer sin ningún tipo de problema.\nHACER QUE FIREFOX SEA NUESTRO NAVEGADOR PREDETERMINADO En estos momentos ya podemos navegar en Firefox evitando todo tipo de publicidad, pero aun tenemos el problema que cuando clicamos un link de alguna aplicación o red social, se sigue abriendo nuestro navegador habitual y por lo tanto tenemos que seguir soportando la publicidad.\nPara evitar este problema vamos a establecer Firefox como nuestro navegador predeterminado. Para ello accedemos a los ajustes de nuestro teléfono.\nSeguidamente, tal y como se puede ver en la captura de pantalla, entramos en el apartado de Aplicaciones.\nEl siguiente paso es clicar el icono de configuración que se puede ver en la siguiente captura de pantalla.\nA continuación clicamos encima de Aplicaciones predeterminadas.\nFinalmente, tal y como se puede ver en la captura de pantalla, tan solo configurar que la aplicación de navegador predeterminada sea Firefox.\nNota: El procedimiento descrito en este apartado es válido para Android Marshmallow. En el caso de tener otra versión de Android el proceso puede ser ligeramente diferente.","permalink":"https://geeklandlinux.github.io/posts/navegar-sin-anuncios-en-android/","summary":"\u003cp\u003eEs común que muchas personas dispongan de un bloqueador de publicidad para poder navegar sin anuncios en sus ordenador, pero no es tan común que la gente aplique prácticas similares cuando usan su dispositivo móvil Android porqué las opciones son menores.\u003c/p\u003e\n\u003cp\u003eCon el fin de dar una solución a estos usuarios y evitar la lacra de la publicidad, en este post veremos como podemos eliminar la publicidad mientras estemos navegando con nuestro teléfono Android de forma fácil y sencilla.\u003c/p\u003e","title":"Navegar sin anuncios en Android"},{"content":"En mi caso hay ciertas ocasiones en que necesito redimensionar y comprimir una gran cantidad de imágenes. Algunas de estas ocasiones son las siguientes:\nPreparar las capturas de pantalla de los post que escribo para el blog. Reducir el peso de fotografías y/o imágenes que necesito enviar por email. Redimensionar una fotografía para subirla a un formulario online, a las redes sociales, a un servicio web, etc. Etc. Para redimensionar y comprimir imágenes por lotes existen múltiples alternativas, pero obviamente lo interesante es una solución rápida, sencilla, efectiva, que consuma pocos recursos y que además no precise de conexión a internet. En mi caso siendo usuario del entorno de escritorio XFCE, he llegado a la conclusión que la mejor opción para redimensionar y comprimir imágenes es usar las acciones personalizadas de Thunar. Para ello tan solo tenemos que seguir los pasos que se muestran en el siguiente artículo.\nNota: Los usuarios del gestor de archivos Nautilus disponen de un plugin interesante para redimensionar y comprimir imágenes. Este Plugin se llama Nautilus image converter y para instalarlo tan solo tienen que abrir una terminal y teclear el comando sudo apt-get install nautilus-image-converter INSTALAR EL SOFTWARE NECESARIO PARA PODER REDIMENSIONAR Y COMPRIMIR LAS IMÁGENES Necesitamos disponer del gestor de archivos Thunar. Todo usuario del entorno Xfce dispone del gestor de archivos Thunar instalado de forma predeterminada. En el caso que no lo tuvieran instalado tendrían que abrir una terminal y ejecutar el siguiente comando:\nsudo apt-get install thunar Una vez disponemos de Thunar tenemos que instalar los paquetes imagemagick y zenity para que podamos ejecutar la acción personalizada que nos permitirá redimensionar y comprimir las imágenes. Para ello en una terminal ejecutamos el siguiente comando:\nsudo apt-get install imagemagick zenity Una vez instalado todo lo necesario tenemos que generar el script que será el encargado de realizar todo el proceso de redimensionado y compresión.\nCREAR EL SCRIPT PARA REDIMENSIONAR Y COMPRIMIR IMÁGENES Para crear el script que nos permitirá conseguir nuestro objetivo tenemos que seguir unos pasos muy simples.\nPrimero generaremos la carpeta custom_Actions que será la que almacenará nuestro script. Para ello en la terminal tecleamos y ejecutamos el siguiente comando:\nmkdir ~/.config/Thunar/custom_Actions Seguidamente creamos el archivo de texto que contendrá el código del script. Para ello ejecutamos el siguiente comando en la terminal:\ntouch ~/.config/Thunar/custom_Actions/resize_image Una vez creado el archivo lo abrimos con cualquier editor de texto. En mi caso como uso el editor de textos nano abro el archivo ejecutando el siguiente comando en la terminal:\nnano ~/.config/Thunar/custom_Actions/resize_image Una vez abierto el archivo tenemos pegar el código que nos permitirá redimensionar y comprimir las imágenes. El código a pegar es el siguiente:\n#!/bin/bash guitool=zenity exit_me(){ rm -rf ${tempdir} exit 1 } trap \u0026#34;exit_me 0\u0026#34; 0 1 2 5 15 LOCKFILE=\u0026#34;/tmp/.${USER}-$(basename $0).lock\u0026#34; [[ -r $LOCKFILE ]] \u0026amp;\u0026amp; PROCESS=$(cat $LOCKFILE) || PROCESS=\u0026#34; \u0026#34; if (ps -p $PROCESS) \u0026gt;/dev/null 2\u0026gt;\u0026amp;1 then echo \u0026#34;E: $(basename $0) is already running\u0026#34; $guitool --error --text=\u0026#34;$(basename $0) is already running\u0026#34; exit 1 else rm -f $LOCKFILE echo $$ \u0026gt; $LOCKFILE fi # Dialog box to choose thumb\u0026#39;s size SIZE=\u0026#34;$( $guitool --list --height=340 --title=\u0026#34;Seleccionar el nuevo tamaño\u0026#34; --text=\u0026#34;Selecciona la resolución a la que quieres convertir las imágenes\u0026#34; --radiolist --column=$\u0026#34;Marcar\u0026#34; --column=$\u0026#34;Tamaño\u0026#34; \u0026#34;\u0026#34; \u0026#34;Automático (para fotos)\u0026#34; \u0026#34;\u0026#34; \u0026#34;No redimensionar\u0026#34; \u0026#34;\u0026#34; \u0026#34;253x173\u0026#34; \u0026#34;\u0026#34; \u0026#34;320x240\u0026#34; \u0026#34;\u0026#34; \u0026#34;640x480\u0026#34; \u0026#34;\u0026#34; \u0026#34;800x600\u0026#34; \u0026#34;\u0026#34; \u0026#34;1024x768\u0026#34; \u0026#34;\u0026#34; \u0026#34;2048x1080\u0026#34; \u0026#34;\u0026#34; \u0026#34;4096x2160\u0026#34; \u0026#34;\u0026#34; \u0026#34;7680x4320\u0026#34; \u0026#34;\u0026#34; \u0026#34;Otro Tamaño\u0026#34; || echo cancel )\u0026#34; [[ \u0026#34;$SIZE\u0026#34; = \u0026#34;cancel\u0026#34; ]] \u0026amp;\u0026amp; exit if [[ \u0026#34;$SIZE\u0026#34; = \u0026#34;Otro Tamaño\u0026#34; ]]; then SIZE=\u0026#34;$( $guitool --entry --title=\u0026#34;Entrar el tamaño de forma manual\u0026#34; --text=\u0026#34;Tecela la resolución a la que quieres convertir las imágenes\u0026#34; --entry-text \u0026#34;1600x1200\u0026#34; || echo cancel )\u0026#34; [[ \u0026#34;$SIZE\u0026#34; = \u0026#34;cancel\u0026#34; ]] \u0026amp;\u0026amp; exit fi if [[ \u0026#34;$SIZE\u0026#34; = \u0026#34;\u0026#34; ]]; then $guitool --error --text=\u0026#34;Tamaño no especificado. Selecciona el tamaño deseado. \u0026#34; exit 1 fi QUALITY=\u0026#34;$( $guitool --entry --entry-text=\u0026#34;85\u0026#34; --title=\u0026#34;Calidad\u0026#34; --text=\u0026#34;Seleccionar la calidad (85 para fotos, 90 para capturas de pantalla)\u0026#34; || echo cancel )\u0026#34; [[ \u0026#34;$QUALITY\u0026#34; = \u0026#34;cancel\u0026#34; ]] \u0026amp;\u0026amp; exit [[ -z \u0026#34;$QUALITY\u0026#34; ]] \u0026amp;\u0026amp; QUALITY=85 # precache PROGRESS=0 NUMBER_OF_FILES=\u0026#34;$#\u0026#34; let \u0026#34;INCREMENT=100/$NUMBER_OF_FILES\u0026#34; ( for i in \u0026#34;$@\u0026#34; do echo \u0026#34;$PROGRESS\u0026#34; file=\u0026#34;$i\u0026#34; # precache dd if=\u0026#34;$file\u0026#34; of=/dev/null 2\u0026gt;/dev/null # increment progress let \u0026#34;PROGRESS+=$INCREMENT\u0026#34; done ) | $guitool --progress --title \u0026#34;Precaching...\u0026#34; --percentage=0 --auto-close --auto-kill # Creating thumbnails. Specific work on picture should be add there as convert\u0026#39;s option # How many files to make the progress bar PROGRESS=0 NUMBER_OF_FILES=\u0026#34;$#\u0026#34; let \u0026#34;INCREMENT=100/$NUMBER_OF_FILES\u0026#34; mkdir -p \u0026#34;Images Resized\u0026#34; ( for i in \u0026#34;$@\u0026#34; do echo \u0026#34;$PROGRESS\u0026#34; file=\u0026#34;$i\u0026#34; filename=\u0026#34;${file##*/}\u0026#34; filenameraw=\u0026#34;${filename%.*}\u0026#34; echo -e \u0026#34;# Transformando: \\t ${filename}\u0026#34; if [[ \u0026#34;$SIZE\u0026#34; = \u0026#34;No redimensionar\u0026#34; ]] ; then convert -quality $QUALITY \u0026#34;${file}\u0026#34; \u0026#34;Images Resized/${filename%\\.*}.jpg\u0026#34; else if [[ \u0026#34;$SIZE\u0026#34; = \u0026#34;Automático (para fotos)\u0026#34; ]] ; then size_horiz=\u0026#34;$( identify \u0026#34;$file\u0026#34; | tr \u0026#39; \u0026#39; \u0026#39;\\n\u0026#39; | grep -E \u0026#34;[[:digit:]]+x[[:digit:]]+\u0026#34; | head -1 | sed -e \u0026#39;s|x.*$||g\u0026#39; )\u0026#34; if [[ \u0026#34;$size_horiz\u0026#34; -lt 2400 ]] ; then # no need to resize images smaller than 2400 convert -quality $QUALITY \u0026#34;${file}\u0026#34; \u0026#34;Images Resized/${filename%\\.*}.jpg\u0026#34; else # 2 / 3 of the original size size_horiz_resized=\u0026#34;$( echo \u0026#34;( $size_horiz / 3 ) * 2\u0026#34; | bc -l | sed -e \u0026#39;s|\\.*$||g\u0026#39; )\u0026#34; convert -resize ${size_horiz_resized}x${size_horiz_resized} -quality $QUALITY \u0026#34;${file}\u0026#34; \u0026#34;Images Resized/${filename%\\.*}.jpg\u0026#34; fi else convert -resize $SIZE -quality $QUALITY \u0026#34;${file}\u0026#34; \u0026#34;Images Resized/${filename%\\.*}.jpg\u0026#34; fi fi let \u0026#34;PROGRESS+=$INCREMENT\u0026#34; done ) | $guitool --progress --title \u0026#34;Transformando imagen...\u0026#34; --percentage=0 --auto-close --auto-kill $guitool --info --text=\u0026#34;Finalizado, Puedes encontrar las imágenes en el directorio \u0026#39;Images Resized\u0026#39;\u0026#34; Script prestado y modificado de la siguiente Fuente\nUna vez copiado el código guardamos los cambios y cerramos el fichero.\nFinalmente tan solo tenemos que hacer ejecutable el script que acabamos de crear. Para ello ejecutamos el siguiente comando en la terminal.\nchmod +x ~/.config/Thunar/custom_Actions/resize_image CREAR UNA ACCIÓN PERSONALIZADA PARA REDIMENSIONAR Y COMPRIMIR IMÁGENES El siguiente paso es crear una acción personalizada que nos permita ejecutar el script que acabamos de crear. Para ello tenemos que seguir los siguientes pasos.\nAbrimos Thunar, una vez abierto Thunar, tal y como se puede ver en la captura de pantalla, nos vamos al menú Editar y seguidamente clicamos encima del submenu Configurar acciones personalizadas…\nA continuación, tal y como se puede ver en la captura de pantalla, hay que presionar el botón + para poder añadir la acción personalizada.\nDespués de presionar el botón + aparecerá la ventana en la que tenemos que configurar la acción personalizada.\nPara rellenar los campos de esta ventana, tal y como se puede ver en la anterior captura de pantalla, tenemos que proceder de la siguiente forma:\nCampo Nombre: Introducir el nombre que nos saldrá una vez le damos al botón derecho del ratón para poder aplicar la acción personalizada que acabamos de crear. En mi caso quiero que aparezca el siguiente nombre:\nRedimensionar y comprimir a jpg\nCampo Descripción: Introducir una descripción de lo que hará nuestra acción personalizada. En mi caso la descripción que le doy a mi acción personalizada es la siguiente:\nRedimensionar y comprimir a jpg\nCampo Orden: Introducir la ruta del script que queremos ejecutar seguido de %N. Por lo tanto en mi caso en el campo Orden tengo que introducir el siguiente texto:\n~/.config/Thunar/custom_Actions/resize_image %N\nNota: La ruta del script tiene que finalizar con %N para que podamos ejecutar el script en múltiples imágenes de forma simultánea. Campo Icono: Si queremos podemos clicar encima del botón Sin icono. Seguidamente se abrirá una ventana en la que la que podremos seleccionar el icono que queremos que tenga nuestra acción personalizada.\nUna vez cumplimentados todos los campos, tal y como se puede ver en la captura de pantalla, clicamos encima de la pestaña Condiciones de aparición.\nFinalmente, tal y como se puede ver en la captura de pantalla, destildamos la opción Archivos de texto, tildamos la opción Archivos de imagen y presionamos el botón Aceptar.\nA estas alturas ya hemos finalizado todo el proceso de configuración y podemos empezar con la acción.\nCOMO REDIMENSIONAR Y COMPRIMIR IMÁGENES EN LOTES Una vez realizados todos los pasos ya podemos empezar a trabajar. Tal y como se puede ver en la captura de pantalla, dispongo de 8 fotografías con una resolución de 1600x1200 pixels.\nPara redimensionar la fotografías a la calidad deseada, tal y como se puede ver en la captura de pantalla, las tenemos que seleccionar y presionar el botón derecho del ratón. Una vez aparezca el menú contextual clicamos encima de la opción Redimensionar y comprimir a jpg.\nSeguidamente, tal y como se puede ver en la captura de pantalla, aparecerá una ventana en la que deberemos seleccionar la resolución o tamaño que queremos tengan las fotos. En mi caso selecciono 1024x768 y presiono el botón Aceptar.\nNota: Si queréis entrar un tamaño que no está especificado de forma predeterminada tenemos que seleccionar la opción Otro tamaño. Después de seleccionar esta opción aparecerá una ventana en la que tenemos entrar el tamaño/resolución que necesitamos de forma manual y presionar el botón Aceptar. A continuación aparecerá la ventana en la que debemos indicar un valor entre el 0 y el 100 para indicar el nivel de compresión que queremos que tengan nuestras fotos. En mi caso, tal y como se puede ver en la captura de pantalla, selecciono el valor por defecto en fotografía, que es 85, y presiono el botón Aceptar.\nNota: Cuanto más alto sea el número que elijamos la fotografías se verán mejor, pero su tamaño en disco también será superior. Después de presionar el botón Aceptar se iniciará el proceso para redimensionar y comprimir las imágenes. Una vez finalizado, tal y como se puede ver en la captura de pantalla, aparecerá una carpeta nueva con nombre Images Resized que contendrá la totalidad de fotos que han sido procesadas.\nFinalmente, tal y como se puede ver en la captura de pantalla, si accedemos a la carpeta Images Resized podemos ver que las fotos se han redimensionado y comprimido tal y como queríamos.\nNOTAS SOBRE EL FUNCIONAMIENTO DEL SCRIPT El método citado en este post funciona a la perfección y se puede decir que orfrece las mismas funciones que el plugin de Nautilus nautilus-image-converter. Algunas consideraciones a realizar sobre el funcionamiento de este script son las siguientes:\nEl script se puede usar sin ningún tipo de problema en cualquier formato de imagen. Por lo tanto lo podemos usar tanto en imágenes .png, .bmp, .tiff, .miff, .jpg, .raw, .gif, .raw, etc. Las imágenes redimensionadas y comprimidas tendrán el formato de archivo .jpg. Si queremos podemos cambiar el formato de salida modificando el código del script. En un futuro publicaré otros post modificando el script actual para obtener diferentes formatos de archivo de salida como por ejemplo el .png. El script no borra ni sobreescribe los archivos originales. Los archivos originales se mantienen intactos, y las imágenes redimensionadas y/o comprimidas se crean en una carpeta aparte. ","permalink":"https://geeklandlinux.github.io/posts/redimensionar-y-comprimir-imagenes-por-lotes-en-xfce/","summary":"\u003cp\u003eEn mi caso hay ciertas ocasiones en que necesito redimensionar y comprimir una gran cantidad de imágenes. Algunas de estas ocasiones son las siguientes:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003ePreparar las capturas de pantalla de los post que escribo para el blog.\u003c/li\u003e\n\u003cli\u003eReducir el peso de fotografías y/o imágenes que necesito enviar por email.\u003c/li\u003e\n\u003cli\u003eRedimensionar una fotografía para subirla a un formulario online, a las redes sociales, a un servicio web,  etc.\u003c/li\u003e\n\u003cli\u003eEtc.\u003c/li\u003e\n\u003c/ol\u003e","title":"Redimensionar y comprimir imágenes por lotes en Xfce"},{"content":"He decidido escribir un post en el que comentaré el procedimiento a seguir para agregar relojes de zonas horarias diferentes en Windows. El motivo por el cual escribo sobre este tema es porque en mi caso acostumbro a trabajar con proveedores y clientes ubicados en el extranjero y de vez en cuando surgen urgencias que hacen que tenga que contactar con ellos a horas no habituales. Por lo tanto a menudo me encuentro con situaciones similares a las siguientes:\nTengo que llamar a este proveedor porque ha surgido un problema. ¿Qué hora será en su país? ¿Lo puedo llamar ahora? Tengo que llamar a un cliente porque es urgente comunicarle algo que ha pasado. ¿Qué hora será en su país? ¿Lo puedo llamar ahora? Para no tener que perder tiempo entrando en Internet y buscando la hora que es en un determinado país, podemos usar una característica de Windows que nos permite mostrar la hora en cualquier país de forma inmediata. Para ello tan solo tenemos agregar relojes para distintas zonas geográficas realizando los siguientes pasos.\nNota: El proceso mostrado en este tutorial se ha realizado en Windows 10. El proceso para realizarlo en Windows 7 o en Windows 8 es exactamente el mismo. AGREGAR RELOJES PARA DISTINTAS ZONAS HORARIAS Para agregar relojes que nos muestren la hora en distintos países, tal y como se puede ver en la captura de pantalla, primeramente tenemos que posicionar el puntero del ratón encima del reloj de Windows y clicar el botón izquierdo del ratón.\nSeguidamente se desplegará un panel en el que se mostrará la hora y un calendario. En este panel, tal y como se puede ver en la captura de pantalla, tenemos que clicar encima de la opción Configuración de fecha y hora.\nJusto después de clicar aparecerá la ventana de Hora e Idioma en la que, tal y como se puede ver en la captura de pantalla, tenemos que clicar encima de la opción Agregar relojes para zonas horarias diferentes.\nA continuación aparecerá la ventana de Fecha y hora en la que ya podemos iniciar la configuración para obtener 2 relojes adicionales para ver la hora y el día en distintas partes del mundo.\nPara iniciar la configuración, tal y como se puede ver en la captura de pantalla, tenemos que tildar la celda Mostrar este reloj.\nUna vez tildada la celda, tal y como se puede ver en la captura de pantalla, deberemos seleccionar la zona horaria, que en mi caso quiero que sea Pekín, Chongqing, Hong Hong Kong, Urumqi, y finalmente en el campo Escriba el nombre para mostrar escribimos el nombre de la Ciudad o país que queremos que aparezca en el reloj. Una vez realizados estos pasos presionamos el botón Aplicar y finalmente presionamos el botón Aceptar.\nNota: En estos momentos tenemos configurados 2 relojes. Si queremos podemos configurar un tercer reloj repitiendo otra vez los pasos que hemos visto hasta el momento. CONOCER LA HORA Y EL DÍA EN PAISES DIFERENTES AL NUESTRO Una vez finalizado el proceso de configuración, en el momento que queramos saber la hora en China tan solo tenemos que posicionar el puntero del ratón encima del reloj de Windows y clicar el botón izquierdo del mouse. Justo después aparecerá el siguiente panel:\nTal y como se puede ver en panel, en España actualmente son las 23:36 Horas del día 25 de Enero de 2016 mientras que en China son la 6:36 del día 26 de Enero de 2016. En mi caso también tengo configurado un tercer reloj que muestra la hora y el día de Melbourne.\nCIRCUNSTANCIAS EN LAS QUE NOS PUEDE SER ÚTIL DISPONER DE VARIOS RELOJES Agregar distintos relojes a Windows para ver la hora en distintos países es una gran comodidad en las siguientes situaciones:\nEn el caso que tenga que llamar a un cliente o a un proveedor a una hora poco habitual. De esta forma evitaremos llamarlos a horas que son poco convenientes. En el caso de tener familiares en el extranjero es útil para asegurar que no los llamamos a horas intempestivas. Las personas que viajan a menudo en el extranjero, cuando se ponen delante del ordenador a trabajar acostumbran a preguntarse la hora que será en su país, o la hora que realmente es en el país en que están. Con este método podemos saber la hora de una forma muy fácil y muy rápida. Si se les ocurren otras utilidades que se le pueden dar a Agregar relojes con distintas zonas horarias no duden en citarlas en los comentarios de este post.\n","permalink":"https://geeklandlinux.github.io/posts/agregar-relojes-de-zonas-horarias-diferentes-en-windows/","summary":"\u003cp\u003eHe decidido escribir un post en el que comentaré el procedimiento a seguir para agregar relojes de zonas horarias diferentes en Windows. El motivo por el cual escribo sobre este tema es porque en mi caso acostumbro a trabajar con proveedores y clientes ubicados en el extranjero y de vez en cuando surgen urgencias que hacen que tenga que contactar con ellos a horas no habituales. Por lo tanto a menudo me encuentro con situaciones similares a las siguientes:\u003c/p\u003e","title":"Agregar relojes de zonas horarias diferentes en Windows"},{"content":"Hace tiempo escribí un detallado post de como instalar tails y poder usar sus funciones de persistencia. No tenia pensado escribir más sobre esta distribución, pero hoy estaba escuchando el podcast del cangrejo linuxero y ha dicho que esta distribución no permite instalar software con persistencia y la verdad es que esto no es del todo cierto. Si queréis instalar un software de forma permanente en tails y evitar tener que instalarlo cada vez que abrimos el ordenador lo podemos hacer de la siguiente forma.\nINSTALAR PROGRAMAS CON PERSISTENCIA EN TAILS Para instalar software de forma permanente o persistente en Tails tenemos que seguir los siguientes pasos.\nAsegurar que tenemos la persistencia activada Lo primero que tenemos que realizar es asegurar que tenemos la persistencia activada y debidamente configurada. Para ello, tal y como se puede ver en la captura de pantalla, nos vamos al menú Applications, dentro del menu Applications accedemos al submenu Tails y finalmente clicamos en la opción Configure persistent volume.\nUna vez hemos accedido dentro de la configuración de la persistencia, tal y como se puede ver en la captura de pantalla, tenemos que asegurar que las opciones de persistencia APT packages y APT Lists están activadas.\nEn el caso que no estén activadas las tenemos que activar. La función que realizan estas 2 características de la persistencia son las siguientes:\nAPT Packages: Activando esta opción, cada vez que instalamos un programa con apt-get o synaptic, se guardaran de forma persistente los paquetes binarios .deb descargados para realizar la instalación a nuestro lápiz USB. Esto es primordial porque cada vez que arranquemos Tails se usarán los paquetes .deb almacenados en el espacio de persistencia para instalar de forma automática el software que queremos.\nAPT Lists: Al activar la opción APT Lists haremos que en el espacio de persistencia se almacene la información descargada cuando usamos el comando apt-get update. Así de este modo cuando arranquemos tails la lista de paquetes que contiene cada repositorio estará actualizada.\nNota: En el caso que no tengan activada la persistencia les recomiendo que sigan las instrucciones que se citan en el siguiente post. Instalar el programa que queremos que sea persistente Una vez activada la persistencia ya podemos instalar el software que queremos que sea persistente. En mi caso a modo de ejemplo instalaré el software shutter. Para instalarlo tan solo tenemos que seguir los siguientes pasos:\nPara actualizar los repositorios de la distribución ejecutamos el siguiente comando en la terminal:\nsudo apt-get update Finalmente para instalar el programa ejecutamos el siguiente comando en la terminal:\nsudo apt-get install shutter Una vez ejecutados los comandos el programa se instalará y lo podremos usar sin mayor problema. Además en el espacio de persistencia de nuestra memoria USB quedaran almacenados la totalidad de paquetes usados para instalar Shutter. De esta forma la próxima vez que se arranque Tails se usará esta información para instalar Shutter de forma automática sin que nosotros tengamos que realizar nada.\nHacer que el programa instalado sea persistente Una vez activada la persistencia e instalado el software que queremos hacer persistente, abrimos una terminal y ejecutamos el siguiente comando:\nsudo gedit /live/persistence/TailsData_unlocked/live-additional-software.conf Una vez ejecutado el comando se abrirá el editor de textos gedit en el que, tal y como se se puede ver en la captura de pantalla, deberemos escribir el nombre del paquete/programa que queremos que se instale cada vez que arrancamos tails. En mi caso, tal y como se puede ver en la captura de pantalla, escribo Shutter que es el paquete que justo acabo de instalar.\nUna vez escrito el nombre del programa guardamos los cambios y cerramos el fichero. A partir de ahora cada vez que se inicie tails se instalará shutter de forma automática sin que tenga que realizar absolutamente nada. Por lo tanto con este método no estamos instalando el programa de forma persistente, pero a efectos prácticos es como si lo estuviéramos haciendo porque al iniciar Tails se instala Shutter de forma automática sin que tenga que realizar nada.\nNota: Si seguimos el procedimiento detallado en este post el arranque de Tails será más lento porque el proceso de arranque incluirá la instalación de todos los programas que nosotros pongamos en la persistencia. Fuente https://tails.boum.org/doc/first_steps/persistence/configure/index.en.html\n","permalink":"https://geeklandlinux.github.io/posts/instalar-programas-con-persistencia-en-tails/","summary":"\u003cp\u003eHace tiempo escribí un detallado post de \u003ca href=\"/posts/instalar-tails-para-ser-anonimo/\"\u003ecomo instalar tails\u003c/a\u003e y poder usar sus funciones de persistencia. No tenia pensado escribir más sobre esta distribución, pero hoy estaba escuchando el podcast del \u003ca href=\"https://www.ivoox.com/devuanita-27-tails-sistema-operativo-anonimo-audios-mp3_rf_10261743_1.html\" title=\"Link para escuchar el podcast del cangrejo Linuxero\"\u003ecangrejo linuxero\u003c/a\u003e y ha dicho que esta distribución no permite instalar software con persistencia y la verdad es que esto no es del todo cierto. Si queréis instalar un software de forma permanente en tails y evitar tener que instalarlo cada vez que abrimos el ordenador lo podemos hacer de la siguiente forma.\u003c/p\u003e","title":"Instalar programas con persistencia en Tails"},{"content":"Hace ya varios años que se está hablando constantemente de la nube, de la computación en la nube, de los servicios en la nube, etc. A pesar de esto a día de hoy hay muchas personas que siguen sin entender estos conceptos. Por este motivo en el siguiente artículo intentaré explicar estos conceptos de forma que todo el mundo los pueda entender.\n¿QUÉ ES LA NUBE? La nube es simplemente una metáfora para hacer referencia a los servicios que se usan a través de Internet. El origen de esta metáfora es el siguiente:\nHistóricamente Internet siempre se ha representado como una nube en el momento de esquematizar el funcionamiento de infraestructuras de red y servicios. Así por ejemplo si estudiamos un esquema simplificado del funcionamiento de Dropbox podemos ver lo siguiente:\nPara que la información fluya de Dropbox a los usuarios y viceversa precisamos de internet, y tal como se puede ver en el esquema, Internet es representado como una nube.\nA raíz de estas representaciones esquemáticas y de la proliferación de servicios similares a Dropbox, nació el concepto nube para hacer referencia a los servicios que se usan a través de internet.\nNota: Técnicamente la representación gráfica de la nube en un esquema quiere decir que hay un proceso de comunicación entre 2 puntos, que no pertenecen a una misma red, que permite que los datos lleguen desde un punto a otro. ¿QUÉ SON LOS SERVICIOS EN LA NUBE O EL CLOUD COMPUTING? Llamamos servicios en la nube a todo aquel programa o servicio que usamos y no está físicamente instalado en nuestro ordenador o equipo. La forma de acceder a estos servicios que no están instalados en nuestro ordenador es mediante internet.\nTodo servicio en la nube normalmente consta de varios centros de procesamiento de datos que disponen de un software instalado para proporcionarnos un servicio. Nosotros con nuestros ordenadores, tablets o teléfono lo único que hacemos es conectarnos vía Internet a estos centros de datos para poder llevar a término la tarea que tenemos que realizar.\nA modo de ejemplo, en el momento que accedemos a nuestra cuenta de Dropbox, lo único que estamos realizando es conectarnos vía internet a un centro de procesamientos de datos con ubicación desconocida que almacena nuestros datos. Una vez conectados al centro de procesamiento de datos, el software de Dropbox que corre sobre el centro de procesamiento de datos nos permitirá descargar y subir nuestros archivos.\nSERVICIOS EN LA NUBE QUE TODO EL MUNDO UTILIZA Algunos ejemplos de servicios en la nube que todo el mundo acostumbra a utilizar son los siguientes:\nTiendas de aplicaciones como por ejemplo la de Google Play, la App Store, etc. Aplicaciones web como por ejemplo la suite ofimática de google Gdrive, la suite Ofimática de Microsoft Office 365, el correo de gmail, etc. Servicios para almacenar nuestros datos como por ejemplo Dropbox, Owncloud, Box, OneDrive, etc. Plataformas musicales o de videojuegos como por ejemplo Spotify o Steam. Etc. VENTAJAS DE LOS SERVICIOS EN LA NUBE Obviamente la computación en la nube y los servicios en la nube tienen una serie de ventajas que son innegables. Algunas de las ventajas que nos ofrecen son las siguientes:\nFacilidad de acceso ya que podemos acceder a un servicio o a nuestros datos desde cualquier equipo estemos donde estemos. Únicamente precisamos de una conexión a Internet. Generalmente los servicios ubicados en la nube son muy fáciles de usar ya que están específicamente diseñados para que los usen usuarios no avanzados. Si los servicios en la nube son gestionados por terceros no nos tenemos que preocupar por nada. Empresas especializadas ofrecen servicios de Cloud Computing y se encargarán de realizar la totalidad del mantenimiento, las actualizaciones de software, invertir en infraestructura, etc. Obviando la privacidad, nuestros datos están más seguros en la nube. Prácticamente la totalidad de servicios en la nube disponen de replicas. Así en el hipotético caso que se estropeará o destruyera el centro de procesamientos de datos que almacena nuestros archivos de dropbox, no pasaría nada porque los mismos datos estarían ubicados en otros centros datos. Los servicios permiten un ahorro económico en software, en hardware y en mantenimiento ya que podemos contratar específicamente los recursos que necesitamos, el coste del consumo eléctrico y la totalidad de costes fijos se dividen entre la totalidad de usuarios del servicio, etc. INCONVENIENTES DE LOS SERVICIOS EN LA NUBE Obviamente la computación en la nube y los servicios en la nube también tienen inconvenientes y existen personas que son totalmente contrarias a su uso. Los motivos son los siguientes\nLos servicios en la nube gestionados por terceros acostumbran a generar problemas de privacidad ya que en muchos casos están almacenando información personal sin que nosotros sepamos el uso que le pueden dar. Subir información a una cierta plataforma puede generar problemas de propiedad intelectual. Es posible que existan servicios que en sus condiciones de servicio especifiquen que la totalidad de contenido almacenado en sus servidores pasa a ser de su propiedad. Actualmente existen vacíos legales importantes sobre las leyes que aplican en determinados servicios en la nube. Un ejemplo sencillo es si una empresa Canadiense dispone de servidores en Alemania, ¿Qué ley debe aplicarse sobre la información almacenada en los servidores de Alemania? ¿La Canadiense o la Alemana? Tenemos el riesgo que el servicio pueda desaparecer. En el momento que desaparezca un servicio podemos perder fácilmente la información almacenada en el servicio y el pago por avanzado que se haya realizado para usar el servicio. Imagino que sobre este punto todo el mundo recordará el caso Megaupload. Para acceder al servicio en la nube es necesario disponer de internet. Si no tenemos Internet no lo podremos usar. Parte de los inconvenientes que acabamos de citar se pueden solucionar contratando la infraestructura necesaria para que nosotros mismos podamos montar nuestros propios servicios en la nube con Software libre. Para ello les recomiendo leer el siguiente apartado.\nDISPONER DE NUESTROS PROPIOS SERVICIOS EN LA NUBE Para evitar parte de los problemas que ofrecen los servicios en la nube gestionados por terceros, lo primero que necesitamos realizar es contratar una infraestructura sobre la que nosotros podamos instalar servicios en la nube basados en software libre.\nExisten multitud de empresas ofrecen el hardware necesario para poder construir nuestros servicios en la nube, no obstante en mi caso recomiendo 1\u0026amp;1. Los motivos de mi recomendación son los siguientes:\nEl servicio ofrecido no tiene ningún tipo de permanencia. Por lo tanto en cualquier momento podemos cambiar de proveedor sin tener ningún tipo de penalización. La relación calidad precio ofrecida es buena y está avalada por lo obtención del premio cloud spectator al servicio de cloud computing que ofrece mejor relación calidad precio. Nota: Si quieren obtener mayor información sobre los resultados y participantes del análisis realizado por Cloud Sptectator pueden consultar el siguiente enlace. Una vez hayamos contratado y configurado el hardware ya podemos instalar los servicios en la nube que necesitemos utilizar. Para ello podemos contratar un administrador de sistemas o seguir tutoriales realizados por la comunidad que encontrarán en Internet. En este mismo blog existen numerosos ejemplos de como instalar y configurar servicios en la nube como el tutorial para crear y configurar un servidor openvpn o sobre la instalación de un servidor Owncloud con SSL y Webdav.\n","permalink":"https://geeklandlinux.github.io/posts/que-son-los-servicios-en-la-nube/","summary":"\u003cp\u003eHace ya varios años que se está hablando constantemente de la nube, de la computación en la nube, de los servicios en la nube, etc. A pesar de esto a día de hoy hay muchas personas que siguen sin entender estos conceptos. Por este motivo en el siguiente artículo intentaré explicar estos conceptos de forma que todo el mundo los pueda entender.\u003c/p\u003e","title":"¿Qué son los servicios en la nube?"},{"content":"Por una serie de motivos que no vienen al caso Gnome shell no es el entorno de escritorio que utilizo habitualmente y cuando empecé a usarlo después de varios meses sin hacerlo, me encontré con la sorpresa que el tamaño por defecto de los iconos era enorme. Si queréis ver una muestra de lo que digo tan solo tienen que ver la siguiente captura de pantalla:\nSin duda el tamaño de estos iconos es ideal para un entorno táctil, pero si queremos usar el ordenador de forma convencional el tamaño de los iconos es demasiado grande.\nEn el caso que tengan la misma opinión que la mia pueden cambiar muy fácilmente el tamaño de los iconos siguiendo las siguientes instrucciones.\nNota: No acabo de entender el motivo por el cual el tamaño por defecto de los iconos Gnome es tan grande. Es un sistema operativo que mayoritariamente se usa en ordenadores y la mayoría de la gente que usa ordenadores no acostumbra a usar el soporte táctil. Por lo tanto el tamaño de los iconos estándar no tienen ninguna justificación. CAMBIAR EL TAMAÑO DE LOS ICONOS EN GNOME SHELL Primeramente hay que abrir una terminal y ejecutar siguiente comando:\nnautilus Una vez ejecutado el comando se abrirá el gestor de archivos Nautilus. Una vez abierto, tal y como se puede ver en la captura de pantalla, deberemos clicar encima del icono que es un cuadradito con puntos.\nSeguidamente, tal y como se puede ver en la captura de pantalla, se desplegará un menú en el que desplazando el puntito de la barra podremos modificar el tamaño de los iconos.\nDespués de desplazar la barra apropiadamente, tal y como se puede ver en la captura de pantalla, veremos que ahora los iconos ya tienen un tamaño mucho más racional.\nAsí con estos simples pasos podremos disfrutar de un tamaño de iconos adiente para poder trabajar más a gusto y ser más productivos.\n","permalink":"https://geeklandlinux.github.io/posts/cambiar-el-tamano-de-los-iconos-en-gnome-shell/","summary":"\u003cp\u003ePor una serie de motivos que no vienen al caso Gnome shell no es el entorno de escritorio que utilizo habitualmente y cuando empecé a usarlo después de varios meses sin hacerlo, me encontré con la sorpresa que el tamaño por defecto de los iconos era enorme. Si queréis ver una muestra de lo que digo tan solo tienen que ver la siguiente captura de pantalla:\u003c/p\u003e","title":"Cambiar el tamaño de los iconos en Gnome Shell"},{"content":"Si queremos disponer en todo momento de una terminal desplegable, en XFCE lo podemos realizar de forma muy fácil, porque a partir de la versión 0.6.0 de la terminal de XFCE, está característica viene incorporada de serie. Por lo tanto si usamos un entorno de escritorio XFCE actual no hace falta instalar software adicional como por ejemplo Yakuake, Guake, Tilda, etc.\nVENTAJAS DE DISPONER DE UNA TERMINAL DESPLEGABLE El hecho de poder disponer de una terminal desplegable puede suponer una serie de ventajas. Algunas de las ventajas que me vienen en la cabeza son las siguientes:\nEn cualquier momento tendremos una terminal disponible en nuestra área de trabajo ya que aparecerá simplemente presionando una tecla. Una vez arrancada la terminal quedará residente en nuestra memoria RAM. Por lo tanto siempre tendremos una terminal disponible de forma inmediata y su carga será inmediata. Usando una tecla para abrir la terminal conseguiremos abrirla de forma más rápida y más cómoda. Bajo mi punto de vista la mejor forma de hacer las cosas de forma rápida y eficiente en un ordenador es mediante atajos de teclado. CONFIGURAR EL ATAJO DE TECLADO PARA ABRIR LA TERMINAL La terminal desplegable está directamente implementada en la terminal de XFCE. Por lo tanto lo único que tenemos que realizar para usar eficazmente y cómodamente la terminal desplegable es asignar un atajo de teclado para poderla activar y desactivar. Para ello el primero paso es ejecutar el siguiente comando en la terminal:\nxfce4-keyboard-settings Una vez ejecutado el comando aparecerá la siguiente ventana:\nTal y como se puede ver en la captura de pantalla presionamos encima de la pestaña Atajos de Aplicación. Seguidamente presionamos el botón Añadir. Después de presionar añadir aparecerá la siguiente ventana:\nTal y como puede verse en la captura de pantalla, tenemos que introducir el comando que queremos que se ejecute cuando presionaremos la combinación de teclas que seleccionaremos posteriormente. En nuestro caso el comando a introducir corresponde al comando para activar y desactivar la terminal desplegable. Por lo tanto introduciremos el siguiente comando:\nxfce4-terminal --drop-down Una vez introducido el comando presionamos el botón Aceptar. Después de presionar el botón Aceptar aparecerá la siguiente pantalla:\nEn estos momentos lo único que tenemos que realizar es presionar la tecla o la combinación de teclas que deseamos para que se abra y cierra la terminal desplegable. En mi caso he seleccionado la tecla F12.\nEXPLICACIÓN DE COMO USAR LA TERMINAL DESPLEGABLE Una vez configurado el atajo de teclado, tal y como se puede ver en la captura de pantalla, lo único que tenemos que hacer es presionar F12 y la terminal desplegable se abrirá.\nUna vez desplegada la terminal la podemos volver a ocultar simplemente presionando de nuevo la tecla F12.\nEn el caso que queramos cerrar por completo la terminal tenemos varias opciones para realizarlo. Algunas de ellas son las siguientes:\nEjecutando el comando exit en la terminal. Cerrando la totalidad de pestañas de la terminal desplegable. Clicando con le botón derecho del mouse encima del icono de la terminal del panel de XFCE y clicando sobre la opción cerrar ventana. Presionando la combinación de teclas Mayús + Ctrl + Q. CONFIGURAR EL ASPECTO DE LA TERMINAL DESPLEGABLE Obviamente podemos modificar el aspecto y el comportamiento de la terminal desplegable. Para ello, tal y como se puede ver en la captura de pantalla, una vez abierta la terminal desplegable tenemos que clicar encima del icono de configuración.\nUna vez hayamos clicado encima del icono de configuración aparecerá la siguiente ventana:\nEn esta ventana podremos configurar diversos aspectos como por ejemplo los siguientes:\nModificar la altura, anchura y posición de la terminal. Para ello debemos configurar las opciones Anchura, Altura y Posición. Definir la transparencia que queramos que tenga la terminal. Para ello debemos modificar la opción Opacidad. Definir si queremos que se visualicen la totalidad de pestañas abiertas mediante la configuración de la opción Siempre mostrar las pestañas. Definir si queremos que aparezca el icono de la terminal desplegable en el panel de XFCE tildando o destildando la opción Mostrar icono de estado en el área de notificaciones. Indicar la velocidad de animación en la que queremos que se despliegue la terminal configurando el campo Duración. Hacer que la terminal siga visible aunque no este seleccionada o abramos otra aplicación. Para ello deberemos tildar la opción Mantener la ventana abierta cuando se pierda el foco. Hacer que la terminal siempre sea la ventana que está en un nivel superior y que por lo tanto siempre sea visible. Para ello tenemos tildar la opción Siempre mantener la ventana encima. Además si consultamos las otras pestañas de la ventana de configuración podremos configurar otros aspectos como por ejemplo el tipo de letra, los colores, el tamaño de la letra, etc.\nUSAR LA TERMINAL DE XFCE EN OTROS ENTORNOS DE ESCRITORIO Si no utilizan XFCE y quieren aplicar la misma solución detallada en este post es tan fácil como instalar la terminal de xfce en vuestra distribución.\nsudo apt-get install xfce4-terminal Una vez instalada la terminal de XFCE, lo único que tendrán hacer es seguir los pasos que acabo de detallar en este post. En el caso de usar un entorno de escritorio diferente a XFCE, el proceso de asignación del atajo de teclado será diferente y tendrán que buscar información en Google para realizar este paso.\n","permalink":"https://geeklandlinux.github.io/posts/terminal-desplegable-en-xfce-y-en-otros-entornos/","summary":"\u003cp\u003eSi queremos disponer en todo momento de una terminal desplegable, en XFCE lo podemos realizar de forma muy fácil, porque a partir de la versión 0.6.0 de la \u003ca href=\"http://docs.xfce.org/apps/terminal/start\" title=\"Instrucciones de uso y configuración de la terminal de XFCE\"\u003eterminal de XFCE\u003c/a\u003e, está característica viene incorporada de serie. Por lo tanto si usamos un entorno de escritorio XFCE actual no hace falta instalar software adicional como por ejemplo Yakuake, Guake, Tilda, etc.\u003c/p\u003e","title":"Terminal desplegable en XFCE y en otros entornos"},{"content":"Me sorprende que aun quede gente dentro de la comunidad Linux que defienda Firefox y diga que en su caso tiene un rendimiento excelente. Además si les replicas diciendo que en tu caso es todo lo contrario o que simplemente están equivocados se enfadan. Por esto motivo he decido escribir este pequeño post para comentar mi experiencia.\nPUNTOS A REMARCAR Antes de empezar a detallar los motivos para no usar Firefox considero importante remarcar lo siguiente:\nLa totalidad de comentarios realizados en este post son en base al rendimiento obtenido con Firefox 43 en un sistema operativo Debian Testing de 64 bits. No obstante, en otros equipos y en otros sistemas operativos como por ejemplo Windows, Lubuntu, AntiX, Linux Lite o Android las conclusiones son similares. El navegador Firefox que uso está optimizado a consciencia. La razón de la lentitud no se debe a una mala configuración, ni al bloatware que trae de serie, ni a las extensiones instaladas, ni al driver de la tarjeta gráfica, etc. Si quieren seguir un buen tutorial para la optimización de Firefox pueden consultar el siguiente artículo que en su día fue escrito por unos de los fundadores de desdelinux Elav. Solo me centro en los aspectos negativos de este navegador. Sin duda Firefox también tiene puntos positivos como por ejemplo las infinitas posibilidades de configuración que ofrece a la totalidad de sus usuarios. A día de hoy no hay un navegador perfecto. En el caso que decidan usar un navegador diferente a Firefox estoy seguro que también encontrarán puntos que no les acabarán de convencer. Todos los comentarios son realizados des del punto de vista de un usuario. Es posible que la experiencia obtenida por los desarrolladores web sea diferente a la de un usuario. MOTIVOS PARA NO USAR EL NAVEGADOR FIREFOX Seguidamente detallaré mi opinión acerca de varios puntos de Firefox que no me gustan pero en mi caso puedo llegar a tolerar:\nA nivel estético y funcional hace años que se limitan a copiar a Google Chrome. Firefox no es un navegador que marque tendencia y haga cosas novedosas al menos de cara al usuario final. A mi me da la impresión que llevan años caminando sin rumbo. Año tras año va perdiendo terreno frente a su gran competidor que es Chrome. Algunos ejemplos de lo que estoy comentando son las extensiones de los navegadores, la capacidad de sincronización entre dispositivos, la velocidad, etc. El navegador es pesado. El navegador viene cargado de Bloatware que pretende proporcionar una mejor experiencia al usuario y consigue totalmente lo contrario. Si queréis ejemplos de funcionalidades inútiles de Firefox podemos citar Hello, Pocket, el modo lectura, los servicios de integración a las redes sociales, etc. Es posible que haya gente que utilice las funcionalidades que acabo de citar, pero la gran mayoría de gente no. Por lo tanto seria más razonable que la instalación de estas funcionalidades fuese opcional a través de complementos. Firefox alardea de estar diseñado para proteger nuestra privacidad. Comparado con otros navegadores web podemos decir que es más respetuoso con la privacidad, pero decir que es un navegador diseñado para proteger nuestra privacidad es totalmente falso. Si fuera un navegador diseñado para proteger nuestra privacidad WebRTC estaría desactivado, la protección de seguimiento vendría activada por defecto, la geolocalización vendría desactivada por defecto, los datos de telemetría vendrían desactivados por defecto, etc. Para el final dejo el motivo más importante y por el cual el uso de Firefox en mi caso es residual. El motivo principal es el siguiente:\nFirefox es extremadamente lento en comparación con los navegadores de la competencia. Da igual las configuraciones y optimizaciones que se realicen ya que Firefox sigue siendo muy lento. Si quieren una muestra de lo que acabo de citar tanto solo tiene que ver el siguiente vídeo:\nhttps://youtu.be/eNXIea0rTvs\nEn el vídeo se observa claramente, que aunque estemos dando ventaja a Firefox, Chrome carga las páginas antes que Firefox. Da igual el número de pestañas que estén abiertas en cada uno de los navegadores porque, en mi caso con un ordenador relativamente modesto, Chrome siempre me da una mejor experiencia de usuario que Firefox. Es más, la experiencia obtenida usando Firefox en Android, en Windows y en Linux es similar a usar el antiguo Internet Explorer.\nPor lo tanto, aunque sea una pena, quien quiera un navegador rápido y no le importe en exceso la privacidad mi consejo es que use Google Chrome, y en el caso que se quiera un navegador rápido, Open Source y que respete la privacidad entonces la mejor opción es usar Chromium.\nFirefox debería pulir cuanto antes estos aspectos ya que bajo mi punto de vista, lo más importante para que la gente utilice un navegador con una experiencia de usuario satisfactoria es que sea rápido, ligero, simple y que pueda realizar todo lo que tiene que realizar. Mis esperanzas que Firefox solucione los temas que comento son pocas porque hace años que viene sucediendo lo que acabo de comentar y Mozilla no veo que esté realizando nada al respecto.\n","permalink":"https://geeklandlinux.github.io/posts/motivos-para-no-usar-firefox/","summary":"\u003cp\u003eMe sorprende que aun quede gente dentro de la comunidad Linux que defienda Firefox y diga que en su caso tiene un rendimiento excelente. Además si les replicas diciendo que en tu caso es todo lo contrario o que simplemente están equivocados se enfadan. Por esto motivo he decido escribir este pequeño post para comentar mi experiencia.\u003c/p\u003e","title":"Motivos para no usar Firefox"},{"content":"En este post veremos un tip sencillo y fácil que nos permitirá ver en pantalla completa (Fullscreen en inglés) cualquier programa que tengamos abierto en XFCE. Estos pequeños detalles de los que dispone XFCE son los que hacen que sea mi entorno de escritorio preferido.\nEN QUE CONSISTE EL MODO PANTALLA COMPLETA DE XFCE Lo que hace el modo de pantalla completa de XFCE es esconder el panel y la barra que contiene los botones de las ventanas.\nComo una imagen vale más que mil palabras, en la siguiente captura de pantalla podemos ver el aspecto habitual del programa LibreOffice:\nSi en estos momentos ponemos Libreoffice en modo pantalla completa visualizaremos lo siguiente:\nVENTAJAS DE PONER LOS PROGRAMAS A PANTALLA COMPLETA El hecho de poner los programas a pantalla completa ofrece una serie de comodidades importantes a los usuarios. Algunas de estas comodidades son las siguientes:\nEs útil para pantallas pequeñas ya que nos ayuda a ahorrar espacio de pantalla. En cualquier monitor nos ayudará a visualizar los elementos de los programas más grandes. Nos permite ser más productivos ya que en ningún caso nos molestaran los bordes de las ventanas y el panel de XFCE. Por lo tanto nos podremos concertar más en lo que estamos haciendo. Combinando el modo pantalla completa juntamente con los escritorios virtuales nos permite cambiar entre aplicaciones de una forma fácil y cómoda mediante atajos de teclado. COMO ACTIVAR Y DESACTIVAR EL MODO PANTALLA COMPLETA Activar y desactivar el modo de pantalla completa es sumamente fácil.\nSi queremos poner cualquier programa a pantalla completa tan solo tenemos que presionar la combinación de teclas Alt + F11.\nUna vez en modo pantalla completa podemos salir del modo volviendo a presionar la combinación de teclas Alt + F11.\nPor lo tanto simplemente presionando dos teclas de forma simultanea podremos pasar de un modo a otro modo de forma fácil.\nTambién tenemos que tener en cuenta que hay programas que de por si traen implementado un modo de pantalla completa, por lo tanto en estos programas podemos obtener el modo pantalla completa en la totalidad de entornos de escritorios Linux. Ejemplo de estros programas son los siguientes:\nFirefox y Chrome: Se puede activar y desactivar presionando la tecla F11. Libreoffice: Se puede activar y desactivar presionando la combinación de teclas Ctrl + Mayús + J. Gedit, Mousepad: Se puede activar y desactivar presionando la tecla F11. VLC: Se puede activar y desactivar presionando la tecla F11. Banshee: Se puede activar y desactivar presionando la tecla F. etc...\nNota: El modo de pantalla completa nativo de Chrome me parece totalmente inútil. No se si se tratará de un bug, pero la realidad es que no te deja ni escribir y por lo tanto únicamente lo puedes usar cuando te quieres centrar en leer algo. ¿FUNCIONA EN OTROS ENTORNOS DE ESCRITORIO? El tip citado en este post también funciona en otros entornos de escritorio diferentes a XFCE. En mi caso también me ha funcionado en los siguientes entornos de escritorio:\nLXDE en la distribución Debian. LXDE en la distribución Ubuntu. IceWM en la en la distribución AntiX Nota: IceWM no se trata de un entorno de escritorio. Se trata de de un gestor de ventanas. También hay otros entornos de escritorio en los que este tip no funciona como por ejemplo:\nGnome Shell en la distribución Debian. En este apartado solo menciono los entornos de escritorio que acostumbro a usar y tengo disponibles en mi ordenador. Agradecería a los lectores de este post que reportaran si el tip funciona en su entorno de escritorio y de este modo podría ampliar este apartado.\nABRIR UN PROGRAMA A PANTALLA COMPLETA DE FORMA PREDETERMINADA En el caso de que haya un programa que lo queramos abrir directamente en pantalla completa sin tener que presionar Alt+F11 también lo podemos realizar. Para ello les recomiendo que sigan las instrucciones que se detallan en el siguiente post:\nhttps://geeklandlinux.github.io/posts/configurar-el-comportamiento-de-las-ventanas-con-devilspie/\nLas instrucciones mencionadas en el post que acabo de recomendar también serán útiles para disponer de un modo de pantalla completa en cualquier entorno de escritorio. Saludos y hasta la próxima.\n","permalink":"https://geeklandlinux.github.io/posts/programas-a-pantalla-completa-en-xfce/","summary":"\u003cp\u003eEn este post veremos un tip sencillo y fácil que nos permitirá ver en pantalla completa (Fullscreen en inglés) cualquier programa que tengamos abierto en XFCE. Estos pequeños detalles de los que dispone XFCE son los que hacen que sea mi entorno de escritorio preferido.\u003c/p\u003e","title":"Programas a pantalla completa en Xfce"},{"content":"En este post veremos como usar devilspie para configurar el comportamiento de nuestras ventanas y de este modo conseguir ciertos propósitos como por ejemplo los siguientes:\nQue siempre que iniciamos un programa se abra en un escritorio determinado. Que cuando se abra un programa lo haga en modo pantalla completa. Que cuando se abra un programa se ejecuten de forma automática una serie de instrucciones o scripts ya sea en primer plano o en segundo plano. Que cuando se abra la ventana de un programa lo haga en una zona concreta de nuestra pantalla. Que cuando se abra la ventana de un programa tenga unas dimensiones determinadas. etc. ¿QUE ES DEVILSPIE? Devilspie es un demonio que sirve para que nosotros podamos configurar el comportamiento que tendrán las ventanas de los programas que nosotros abrimos en nuestro ordenador.\nDe esta forma en todo momento podremos controlar como se ven y como se comportan nuestras aplicaciones.\nEXPLICACIÓN DEL FUNCIONAMIENTO DE DEVILSPIE Devilspie dispone de una serie de archivos de configuración con extensión .ds ubicados en la carpeta ~/.devilspie. En el momento que se abre una ventana determinada y existe un archivo de configuración para ella, se ejecutaran las acciones especificadas dentro de los archivos de configuración.\nAsí por lo tanto, en el caso de tener un archivo de configuración para Firefox, en el momento de abrirse la ventana de Firefox se aplicarán las acciones definidas dentro del archivo de configuración de Devilspie.\nINSTALAR DEVILSPIE Lo más probable es que Devilspie esté disponible en los repositorios de vuestra distribución Linux. Por lo tanto para instalarlo tan solo hay que abrir una terminal y ejecutar el siguiente comando:\nsudo apt-get install devilspie gdevilspie El paquete devilspie corresponde al programa que nos permitirá controlar como se abren nuestras ventanas.\nEl paquete gdevilspie es una interfaz gráfica para que nosotros podamos realizar las configuraciones y definir como se abrirán nuestras ventanas. A pesar de que la interfaz gráfica nos puede limitar a la hora de realizar ciertas tareas, cabe decir que para empezar a trabajar y aprender el funcionamiento de devilspie nos puede ayudar enormemente.\nEMPEZAR A USAR DEVILSPIE Una vez instalado Devilspie ya podemos empezar a usarlo. Para aprender a usarlo mostraremos varios ejemplos. El primero de ellos será con todo lujo de detalles, mientras que el resto me limitaré a mostrar el código para realizar la función que queremos realizar.\nHacer que Firefox se abra en pantalla completa en la área de trabajo 2 El primer paso a realizar para configurar esta acción es abrir el navegador Firefox.\nSeguidamente hay que abrir la interfaz gráfica de configuración de Devilspie. Para ello en la terminal ejecutamos el siguiente comando:\ngdevilspie A continuación tenemos que iniciar el proceso para configurar las acciones a realizar cuando abrimos Firefox. Para ello, tal y como se puede ver en la captura de pantalla clicamos encima del botón Añadir.\nDefinir cuando se tiene que ejecutar la acción configurada Después de presionar el botón añadir aparecerá la siguiente ventana en la que tendremos que definir cuando se aplicaran las acciones que vamos a configurar. Para ello, tal y como se puede ver en la captura de pantalla, el primer paso a realizar es seleccionar un nombre para la acción que estamos creando que en mi caso llamaré Firefox.\nComo segundo paso debemos introducir las propiedades de la ventana en la que queremos aplicar las acciones que configuraremos a posteriori. Para ello presionamos el botón Get. Seguidamente, tal y como se puede ver en la captura de pantalla, seleccionamos la ventana en que queremos aplicar las acciones, que en mi caso es Firefox, y finalmente presionamos tecla Aplicar.\nEl tercer paso consiste en seleccionar cuando se aplicará la acción que vamos a configurar. En mi caso, tal y como se puede ver en la captura de pantalla, como quiero que la acción se ejecute cada vez que inicio Firefox entonces tildo la celda applicaction_name.\nNota: En el ejemplo que estamos realizando lo único que tenemos que realizar en el paso 3 es tildar la opción correspondiente. El nombre de la aplicación aparece de forma automática porque en el paso 2 de este apartado ya hemos introducido de forma automática las propiedades de la ventana. Nota: Si os fijáis en la parte derecha de cada una de las opciones podemos seleccionar opciones adicionales para especificar cuando se iniciará la acción configurada. Definir la acción/es que queremos realizar al abrir Firefox Una vez ya hemos definido cuando queremos que se aplique la acción, la siguiente tarea es definir lo que queremos que pase una vez se abra Firefox. En nuestro caso queremos que cuando se abra Firefox lo haga en modo pantalla completa y en el escritorio número 2. Para ello, tal y como se puede Clicamos encima de la pestaña Actions y seguidamente tildamos la acción fullscreen que es la que hará que Firefox se abra en pantalla completa.\nSeguidamente, tal y como se muestra en la captura de pantalla, seleccionaremos el escritorio en el que se abrirá Firefox tildando el campo set_workspace e indicando que se inicie en el escritorio número 2. Finalmente una vez realizada la configuración tan solo hay que presionar el botón Guardar.\nEjecutar Devilspie para poder aplicar nuestra configuración Para que se aplique la acción que acabamos de configurar, tal y como podemos ver en la captura de pantalla, tenemos que presionar el botón Start y seguidamente ya podemos comprobar su funcionamiento abriendo Firefox.\nSi todo funciona adecuadamente, en el momento de abrir Firefox se abrirá en el escritorio número 2 en modo pantalla completa.\nConsultar el código generado por la interfaz gráfica Si queremos ver el código que hemos generado mediante la interfaz gráfica tan solo tienen que introducir el siguiente comando en la terminal.\nmousepad ~/.devilspie/Firefox.ds Nota: La ubicación de la totalidad de archivos de configuración de Devilspie es ~/.devilspie. El resultado obtenido será el siguiente:\nHacer que devilspie se ejecute de inicio Para que se ejecute la acción que acabamos de configurar Devilspie tiene que estar activo. Para no tener que estar activando constantemente Devilspie vamos a configurar que se inicie de forma automática cada vez que se inicie la sesión.\nPara ello abrimos una terminal y ejecutamos el siguiente comando:\nxfce4-session-settings Una vez ejecutado el comando aparecerá la siguiente ventana en la que tendremos que seleccionar la pestaña Autoarranque de aplicaciones.\nUna vez dentro de la pestaña de autoarranque de aplicaciones debemos comprobar si existe una aplicación llamada Devilspie. En el caso de existir y estar tildada el proceso ha terminado y no hay que hacer nada más. En el caso que no exista debemos clicar el botón Añadir y seguidamente, tal y como se muestra en la captura de pantalla, rellenar los campos Nombre y Orden con la palabra devilspie, tal y como se muestra en la siguiente captura de pantalla.\nUna vez rellenados los campos tan solo hay que presionar el botón Aceptar.\nNota: Este apartado solamente es útil para los usuarios que utilicen el entorno de escritorio XFCE. En el caso de usar un entorno de escritorio diferente deberán buscar como realizar los pasos equivalentes. Abrir una terminal embebida sin decoración en los 4 escritorios En el caso que quieran una terminal centrada en el centro de cada uno de los escritorios que tenemos, sin la barra que contiene los botones de las ventanas y que no aparezca en la lista de programas ni en el paginador podemos realizar lo siguiente.\nAbrimos una terminal y tecleamos el siguiente comando:\nnano ~/.devilspie/terminal.ds Seguidamente cuando se abra el editor de textos nano pegamos el siguiente código:\n; generated_rule Terminal ( if ( begin ( is ( application_name ) \u0026#34;Terminal de Xfce\u0026#34; ) ) ( begin ( pin ) ( undecorate ) ( skip_pager ) ( skip_tasklist ) ( wintype \u0026#34;utility\u0026#34; ) ( center ) ( println \u0026#34;match\u0026#34; ) ) Nota: La parte en rojo del texto la deberéis reemplazar en función de la terminal que uséis. En mi caso como uso de la XFCE tengo que poner Terminal de Xfce. Una vez pegado el texto guardamos los cambios y cerramos el fichero. Finalmente tan solo tenemos que reiniciar devilspie, para ello podemos reiniciar el ordenador o abrir una terminal y ejecutar los siguientes comandos:\nkillall devilspie ; devilspie \u0026amp; Una vez ejecutado el comando presionamos la tecla Enter y seguidamente ejecutamos el siguiente comando:\ndisown -h %1 Que al abrir el navegador Firefox se abra Writer de Libreoffice En el caso que queramos que cada vez que se abra Firefox también se abra Libreoffice Writer de forma automática, tan solo hay que abrir la terminal y teclear el siguiente comando:\nnano ~/.devilspie/writer.ds Seguidamente cuando se abra el editor de textos nano pegamos el siguiente código:\n; generated_rule writer ( if ( begin ( is ( application_name ) \u0026#34;Firefox\u0026#34; ) ) ( begin ( maximize ) ( spawn_async \u0026#34;libreoffice --writer \u0026#34; ) ( above ) ( maximize_vertically ) ( maximize_horizontally ) ( println \u0026#34;match\u0026#34; ) ) ) Una vez pegado el texto guardamos los cambios y cerramos el fichero. Finalmente tan solo tenemos que reiniciar devilspie, para ello podemos reiniciar el ordenador o abrir una terminal y ejecutar los siguientes comandos:\nkillall devilspie ; devilspie \u0026amp; Una vez ejecutado el comando presionamos la tecla Enter y seguidamente ejecutamos el siguiente comando:\ndisown -h %1 OTROS EJEMPLOS DE LO QUE SE PUEDE REALIZAR CON DEVILSPIE Quien quiera obtener más ejemplos y más información de lo que se puede realizar con Devilspie, tan solo tiene que consultar el siguiente enlace:\nhttps://foosel.org/linux/devilspie\nOPCIONES ALTERNATIVAS A DEVILSPIE Actualmente devilspie está descontinuado. A pesar de todo a mi funciona a la perfección, no me genera ningún problema y es muchísimo más fácil de utilizar que otras opciones alternativas.\nEn el caso que a alguien no esté satisfecho con las prestaciones ofrecidas por Devilspie puede probar otras alternativas como por ejemplo Devilspie 2 o Kpie.\n","permalink":"https://geeklandlinux.github.io/posts/configurar-el-comportamiento-de-las-ventanas-con-devilspie/","summary":"\u003cp\u003eEn este post veremos como usar devilspie para configurar el comportamiento de nuestras ventanas y de este modo conseguir ciertos propósitos como por ejemplo los siguientes:\u003c/p\u003e","title":"Configurar el comportamiento de las ventanas con Devilspie"},{"content":"Es posible que muchos de vosotros tengáis instalado Microsoft Windows, Microsoft Office y otros productos de Microsoft en vuestro ordenador y desconozcáis por completo su clave de activación. Por este motivo escribo el siguiente post en el que se detalla cómo podemos averiguar la clave de activación de diversos productos de Microsoft como por ejemplo Windows, Office, Explorer, etc.\nRAZONES HABITUALES POR LAS QUE NO SABEMOS NUESTRA CLAVE DE ACTIVACIÓN La gran mayoría de usuarios de productos de Microsoft desconocen su clave de activación y los motivos para ello pueden ser variados. Algunos de ellos pueden ser los siguientes:\nLos CD y los documentos del producto original se pierden o se tiran. En ocasiones se han instalado sistemas operativos Windows 10 a través del programa Insider Preview y después de instalarlo los usuarios han perdido la clave de activación que se les dio. Las pegatinas de nuestro ordenador que contienen esta información se borran o simplemente no están. Si actualizamos a Windows 10 a partir de Windows 7 o Windows 8. CONSECUENCIAS DE PERDER UNA CLAVE DE ACTIVACIÓN El hecho de perder la clave de activación es algo importante. La función de la clave de activación es activar un software como por ejemplo Windows. Además la clave de activación es la encargada de demostrar que somos los propietarios de una licencia legítima.\nPor lo tanto si perdemos nuestra clave de activación, la próxima vez que instalemos Windows o cualquier otro producto de Microsoft nos encontraremos con los siguientes problemas:\nNo podremos activar el producto. Al no poder activar el producto no podremos usar la totalidad de características y funciones del Software. Al haber perdido la clave de activación no nos quedará más remedio que volver a comprar el producto. En el caso de tratarse de Windows 10 habremos perdido una licencia de por vida. Cabe recordar que Windows otorga una licencia de por vida de Windows 10 a todos los usuarios que actualicen a Windows 10 antes del 29 de Julio de 2016. Por estos motivos es importante que todo el mundo sepa en todo momento cuales son las claves de activación del software que tienen instalado en su equipo.\nREQUISITOS PARA SEGUIR LAS INSTRUCCIONES DE ESTE POST Tener los productos de Microsoft instalados y activados en el equipo. En el caso de no estar activados quiere decir que nunca habremos usado una clave de activación y por lo tanto no tiene sentido intentar averiguarla porque nunca la hemos tenido.\nRECUPERAR NUESTRA CLAVE DE ACTIVACIÓN DE WINDOWS Y OFFICE Lo primero que debemos realizar es mirar la documentación del producto del cual hemos perdido la clave de activación. En caso de no tener éxito otra posibilidad es la de mirar si nuestro ordenador dispone de pegatinas similares a la siguiente:\nComo se puede ver en foto, en este tipo de pegatinas acostumbra a venir la clave de activación. Por lo general está pegatina está en la parte trasera de las torres o de los ordenadores portátiles.\nEn el caso que tampoco existan esta pegatinas podemos usar el Software Produkey. Para usar este software primero lo tenemos que descargar accediendo a la siguiente página Web:\nhttp://www.nirsoft.net/utils/product_cd_key_viewer.html\nUna vez dentro de la página web, tal y como se puede ver en la captura de pantalla, nos vamos a la parte inferior de la página y presionamos sobre el link de descarga.\nUna vez realizada la descarga descomprimimos el archivo zip que hemos descargado y seguidamente, tal y como se puede ver en la captura de pantalla, seleccionamos el archivo Prodykey.exe, presionamos el botón derecho del ratón y cuando aparezca el menú contextual clicamos encima de la opción Ejecutar como administrador.\nSegundos después, tal y como se puede ver en la captura de pantalla, obtendremos la clave de activación de varios de los productos de Microsoft que tenemos instalados en nuestro equipo.\nAlgunos de los productos de los cuales hemos obtenido la clave de activación son:\nInternet Explorer. Microsoft Office. Windows 10. Una vez tengamos nuestras claves de activación las deberemos guardar en un sitio seguro por si las necesitamos en un futuro.\n","permalink":"https://geeklandlinux.github.io/posts/averiguar-la-clave-de-activacion-de-windows-y-office/","summary":"\u003cp\u003eEs posible que muchos de vosotros tengáis instalado Microsoft Windows, Microsoft Office y otros productos de Microsoft en vuestro ordenador y desconozcáis por completo su clave de activación. Por este motivo escribo el siguiente post en el que se detalla cómo podemos averiguar la clave de activación de diversos productos de Microsoft como por ejemplo Windows, Office, Explorer, etc.\u003c/p\u003e","title":"Averiguar la clave de activación de Windows y Office"},{"content":"Para la gran mayoría de personas no es imprescindible disponer de un explorador de archivos para poder usar el iPad o el iPhone, pero si lo tenemos mejor que mejor ya que nos puede ser útil en ciertas situaciones que comentaremos mas adelante Por este motivo en el siguiente post detallaré el proceso para instalar el explorador de archivos iFile en nuestro dispositivo móvil iOS. Existen otros exploradores que archivos alternativos a iFile y que no requieren de Jailbreak como por ejemplo Goodreader, Documents, Briefcase Pro, etc. No obstante en este post me focalizo en iFile por ser de largo el mejor explorador de archivos existente para iOS.\nNota: Para poder seguir el tutorial mostrado en este post es necesario disponer de un dispositivo iOS con el Jailbreak realizado. UTILIDADES QUE PODEMOS DAR AL GESTOR DE ARCHIVOS IFILE Las utilidades que nos ofrece el gestor de archivos iFile son numerosas y únicas. Algunas de las tareas que podremos realizar con iFile son las siguientes:\nAbrir archivos desde el explorador de archivos. Así por lo tanto desde el explorador de archivos podemos abrir cualquier archivo con la App que nosotros queramos. Nos permite prescindir de iTunes. iFile dispone de un servidor web incorporado que nos permitirá traspasar información de nuestro ordenador al dispositivo iOS y viceversa sin necesidad de usar ningún cable ni iTunes. En un futuro cercano escribiré un post detallando como realizar lo que acabo de comentar. Podemos enlazar el explorador de archivos iFile con Dropbox, Box.net, con servidores FTP, con servidores WebDAV como el que nos proporciona por ejemplo Owncloud, etc. Ofrece la posibilidad de comprimir y descomprimir archivos, enviar archivos vía email o bluetooth, instalar archivos ejecutables .deb o .ipa, etc. Ver la totalidad de archivos almacenados en nuestro dispositivo iOS. Los gestores de archivos mencionados en la introducción están capados y no permiten entrar en los archivos de sistema ni en los archivos de las aplicaciones. Por lo tanto el explorador de archivos iFile incluso ofrece funcionalidades superiores a las que nos puede ofrecer el explorador de archivos de nuestro ordenador.\nINSTALAR EL EXPLORADOR DE ARCHIVOS iFILE Los pasos a realizar para instalar el Explorador de archivos iFile son los siguientes:\nAñadir el repositorio para descargar iFile El primero paso a realizar es acceder a Cydia. Una vez dentro de Cydia, tal y como se puede ver en la captura de pantalla, presionamos el botón Fuentes.\nSeguidamente tal y como se puede ver en la captura de pantalla presionamos el botón Editar.\nComo tercer paso tenemos que clicar encima del botón Añadir.\nFinalmente, tal y como se puede ver en la captura de pantalla, en la ventana Introduce la URL de Cydia/APT tecleamos la siguiente dirección:\nhttp://repo.hackyouriphone.org\nUna vez introducida presionamos el botón Añadir fuente y el proceso ha finalizado.\nInstrucciones para instalar iFile Una vez añadido el repositorio, tal y como se puede ver en la captura de pantalla, presionamos el botón de Buscar y en el cuadro de búsqueda buscamos iFile:\nEncontraremos varias opciones para la instalación de iFile. Deberéis clicar encima de la opción que pertenece al repositorio de hackyouriphone que en mi caso ,tal y como se puede ver en la captura de pantalla, es la opción número 2.\nSeguidamente tendremos que presionar el botón Instalar.\nFinalmente como último paso tan solo tenemos que presionar sobre Confirmar.\nDespués de presionar el botón confirmar se procederá de forma automática a la instalación de iFile. Una vez se haya instalado podemos salir de Cydia, y tal y como se puede ver en la captura de pantalla, podremos usar iFile sin ningún tipo de problema.\nPRECAUCIONES CON iFILE Hay que ir con sumo cuidado cuando estamos usando el explorador de archivos iFile ya que con este explorador de archivos tendremos acceso a la totalidad de archivos de nuestro dispositivo. Si por accidente borramos algún archivo que no debemos borrar es posible que nuestro dispositivo no arranque o funcione de forma anormal.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-el-explorador-de-archivos-ifile/","summary":"\u003cp\u003ePara la gran mayoría de personas no es imprescindible disponer de un explorador de archivos para poder usar el iPad o el iPhone, pero si lo tenemos mejor que mejor ya que nos puede ser útil en ciertas situaciones que comentaremos mas adelante Por este motivo en el siguiente post detallaré el proceso para instalar el explorador de archivos iFile en nuestro dispositivo móvil iOS. Existen otros exploradores que archivos alternativos a iFile y que no requieren de Jailbreak como por ejemplo Goodreader, Documents, Briefcase Pro, etc. No obstante en este post me focalizo en iFile por ser de largo el mejor explorador de archivos existente para iOS.\u003c/p\u003e","title":"Instalar el explorador de archivos iFile"},{"content":"En el momento de conectarnos a una red wifi el servidor DHCP del router nos asigna una dirección IP cualquiera que acostumbra a ser aleatoria dentro de un rango de números. El hecho que esta Ip sea aleatoria puede representar un inconveniente en determinadas ocasiones, por lo tanto en este post comentaremos como podemos disponer de una IP estática en el iPad o en el iPhone.\nVENTAJAS DE DISPONER DE UNA IP ESTÁTICA La principal ventaja de disponer de una IP estática es que nuestro dispositivo con iOS siempre estará localizable dentro de nuestra red local. De esta forma, entre otras cosas podremos realizar las siguientes tareas de forma mucho más fácil:\nConectarnos a nuestro dispositivo con iOS mediante SSH, FTP, etc de forma mucho más fácil ya que en todo momento sabremos cual es la IP de nuestro dispositivo iOS dentro de la red local. En el caso de tener un servidor DLNA, o cualquier otro tipo de servidor en nuestro ordenador, podremos configurar el firewall del servidor para que nuestro ipad pueda acceder a él sin problemas. En el caso que queramos conectarnos a nuestro iPad o iPhone desde fuera de nuestra red local también será útil, ya que si nuestro dispositivo no dispone de ip fija o estática, entonces nuestro router no sabrá a que equipo tiene que redirigir la petición que viene desde fuera de nuestra red local. Cuando nos conectemos a Internet a través del wifi el tiempo de conexión será mucho más rápido y evitaremos posibles problemas en la asignación de la IP. INSTRUCCIONES PARA ASIGNAR UNA IP ESTÁTICA A NUESTRO iPad o iPhone El proceso para asignar una Ip estática a un dispositivo iOS es sumamente fácil. Lo primero que tenemos que hacer es clicar encima del icono de Ajustes.\nUna vez dentro de los ajustes, tal y como se puede ver en la captura de pantalla, tenemos que presionar encima del apartado de Wi-Fi.\nSeguidamente, tal y como se muestra en la captura de pantalla, deberemos clicar encima de la i dentro del circulo de la red wifi a la que estamos conectados.\nDespués de presionar la i dentro del circulo accederemos al menú para configurar la asignación de la ip. Una vez en el menú hay que presionar sobre la pestaña Estática y seguidamente rellenar de forma adecuada los campos Dirección IP, Máscara de subred, Router, DNS y dominios de búsqueda tal y como se muestra en la captura de pantalla:\nSimplemente copiando los valores de la captura de pantalla la IP estática debería quedar configurada. En el caso de tener problemas les recomiendo leer el siguiente apartado para rellenar adecuadamente cada uno de los campos:\nDirección IP: En este campo tenemos que indicar la dirección IP estática que queremos tener. En mi caso la IP es la 192.168.1.18. En este apartado podemos elegir cualquier IP comprendida entre la puerta de entrada (Router) y la que fije la máscara de subred elegida. Como en mi caso mi puerta de entrada (Router) es 192.168.1.1 y mi máscara de subred es 255.255.255.0, puedo elegir cualquier dirección IP comprendida entre 192.16.1.2 y 192.168.1.254.\nMáscara de subred: En este apartado tenemos que elegir la máscara de subred. En mi caso he elegido que sea la 255.255.255.0. Prácticamente el 100% de redes domésticas utilizan está máscara. La máscara de red define el número máximo de host (equipos) que puede tener nuestra red. Al usar 255.255.255.0 el número máximo de dispositivos conectados a nuestra red local será de 254. En el caso de necesitar construir una red de más de 254 dispositivos tendríamos que configurar una red clase B que nos permitiría llegar a tener hasta 65534 conectados a la misma red local.\nRouter: En este apartado tenemos que definir la puerta de entrada de nuestro router que en mi caso es 192.168.1.1. En la gran mayoría de casos acostumbra a ser la 192.168.1.1. Para poder consultar o modificar la puerta de entrada tan solo hay que acceder en al apartado LAN de la configuración del router.\nDNS: En este apartado tenemos que indicar la dirección de los servidores DNS. En mi caso, tal y como se puede ver en la captura de pantalla, indico las direcciones 8.8.8.8 y 8.8.4.4 que corresponden a los servidores DNS de Google. Vosotros podéis usar otros servidores VPN sin ningún tipo de problema.\nDominios de búsqueda: Este campo es mejor dejarlo en blanco ya que a mi modo de ver no tiene utilidad para un usuario normal y nada tiene que ver con la conexión de nuestra red wifi. Quien tenga interés en saber para lo que sirve este campo puede leer el siguiente artículo.\nDespués de realizar los cambios indicados, tal y como se puede ver en la captura de pantalla, tan solo hay que presionar sobre Wi-Fi para que la totalidad de cambios queden guardados.\nEn estos momentos deberíamos poder disponer de una IP fija dentro de nuestra red local.\n","permalink":"https://geeklandlinux.github.io/posts/asignar-una-ip-estatica-en-el-iphone-o-en-el-ipad/","summary":"\u003cp\u003eEn el momento de conectarnos a una red wifi el servidor DHCP del router nos asigna una dirección IP cualquiera que acostumbra a ser aleatoria dentro de un rango de números. El hecho que esta Ip sea aleatoria puede representar un inconveniente en determinadas ocasiones, por lo tanto en este post comentaremos como podemos disponer de una IP estática en el iPad o en el iPhone.\u003c/p\u003e","title":"Asignar una IP estática en el iPhone o en el iPad"},{"content":"Seguidamente veremos como desactivar una característica que viene activada de serie tanto en Windows 8 como en Windows 10. Se trata del inicio rápido de Windows.\n¿POR QUÉ TENER DESACTIVADO EL INICIO RÁPIDO DE WINDOWS? El motivo por el cual quiero tener desactivado el arranque rápido en Windows es simple. Mi ordenador tiene 2 sistemas operativos instalados, en una partición tengo Windows 10 y en otra Debian. En el caso de tener el arranque rápido activado me ocasiona que no arranque Debian por problemas de montaje en las particiones NTFS y FAT32.\nTambién es posible que hayan casos en que Linux arranque perfectamente y el problema lo tengamos a la hora de acceder a las particiones NTFS y FAT32 desde Linux obteniendo mensajes de error parecidos al siguiente:\nError mounting /dev/sda4 at /media/Datos: Command-line `mount -t \u0026#34;ntfs\u0026#34; -o \u0026#34;uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177\u0026#34; \u0026#34;/dev/sda4\u0026#34; /media/Datos \u0026#34;\u0026#39; exited with non-zero exit status 14: The disk contains an unclean file system (0, 0). Metadata kept in Windows cache, refused to mount. Failed to mount \u0026#39;/dev/sda4\u0026#39;: Operation not permitted The NTFS partition is in an unsafe state. Please resume and shutdown Windows fully (no hibernation or fast restarting), or mount the volumen read-only with the \u0026#39;ro\u0026#39; mount option. Por lo tanto la conclusión que tenemos que sacar de todo lo contado hasta el momento es que todos los usuarios que utilicen un dual boot deberían tener desactivada la opción de inicio rápido de Windows para evitar problemas.\n¿QUÉ HACE EL INICIO RÁPIDO DE WINDOWS? Como bien describe su nombre el arranque rápido de Windows hace una serie de modificaciones en el proceso de apagado y arranque nuestro ordenador para que se encienda más rápido. Las modificaciones que introduce en el proceso de arranque son básicamente las siguientes:\nSi tenemos activado el arranque rápido de Windows, en el momento de apagar nuestro equipo Windows guardará una imagen del Kernel de Windows, del estado de las particiones, de la sesión del usuario y de otros parámetros en el archivo C://hiberfil.sys. Una vez guardada la imagen nuestro ordenador se apagará. En el momento de arrancar el ordenador, en vez de seguir el proceso normal de arranque, Windows se dedicará a cargar la imagen almacenada en el archivo C://hiberfil.sys obteniendo de esta forma un arranque mucho más rápido.\nRAZÓN POR LA QUE EL INICIO RÁPIDO DE WINDOWS GENERA PROBLEMAS EN EL ARRANQUE DE OTROS SISTEMAS OPERATIVOS Una vez conocemos el método de funcionamiento del arranque rápido de Windows es fácil deducir la razón por la cual se generan problemas al arrancar otros sistemas operativos con el inicio rápido activado.\nCuando apagamos Windows con el inicio rápido activado no estamos apagando Windows. Lo que realmente estamos haciendo es hibernándolo y esto implica que las particiones del sistema no se desmontan completamente**. Al no desmontarse** completamente**, al intentar montarlas con otros sistemas operativos se detectan inconsistencias** en el sistema de archivos que impiden montar las particiones.\nPara solucionar este problema tan solo tenemos que desactivar el inicio rápido de Windows del siguiente modo.\nCOMO DESACTIVAR EL INICIO RÁPIDO DE WINDOWS El primer paso es ubicarnos encima del botón de inicio de Windows y presionar el botón derecho del ratón. Al presionar el botón parecerá un menú contextual con varias opciones y, tal y como se puede ver en la captura de pantalla, clicamos encima de la opción Opciones de energía.\nSeguidamente aparecerá la siguiente ventana en la que, tal y como se puede ver en la captura de pantalla, tendremos que clicar encima de la opción Elegir el comportamiento de los botones de inicio/apagado.\nA continuación, tal y como se puede ver en la captura de pantalla, deberemos clicar encima de la opción Cambiar la configuración actualmente no disponible.\nFinalmente, tal y como se puede ver en la captura de pantalla, en el apartado Configuración de apagado deberemos destildar la opción Activar inicio rápido (Recomendado) y seguidamente presionar encima del botón Guardar cambios.\nDespués de seguir estos pasos el proceso ha terminado. En estos momentos Windows y el resto de sistemas operativos que tenemos instalados en nuestro ordenador deberían convivir sin ningún tipo de problema.\nNota: Hay que ir con cuidado con las actualizaciones mayores de Windows. Aunque nosotros desactivemos el inicio rápido de Windows, en cada actualización Windows nos lo volverá a activar por defecto. En el momento que se active por defecto lo deberemos volver a desactivar.","permalink":"https://geeklandlinux.github.io/posts/desactivar-el-inicio-rapido-de-windows/","summary":"\u003cp\u003eSeguidamente veremos como desactivar una característica que viene activada de serie tanto en Windows 8 como en Windows 10. Se trata del inicio rápido de Windows.\u003c/p\u003e","title":"Desactivar el inicio rápido de Windows"},{"content":"En varios de mis artículos hago referencia al uso de una máquina virtual para realizar ciertas operaciones. A raíz de esto he recibido varias consultas de usuarios preguntando que es una máquina virtual y obviamente no es una cuestión fácil de responder en un email o en los comentarios del post. Por este motivo he decidido redactar este post explicando lo que es una máquina virtual y que usos podemos darle.\n¿QUÉ ES UNA MÁQUINA VIRTUAL? Una máquina virtual es un software que instalamos en nuestro ordenador. Este software nos permite instalar y usar otros sistemas operativos de forma simultanea sobre nuestro sistema operativo. Así de este modo, tal y como se puede ver en la captura de pantalla, en un mismo ordenador puedo estar usando, Windows, Kali Linux y Debian de forma simultanea sin ningún tipo de problema.\nPor lo tanto después de ver la captura de pantalla podemos afirmar que una máquina virtual es un software que nos permitirá ejecutar varios sistemas operativos de forma simultanea sobre un mismo hardware. Los sistemas operativos que ejecuta la máquina virtual se llaman sistemas operativos virtualizados. Estos sistemas operativos virtualizados podrán ejecutar programas y realizar la totalidad de tareas que nosotros podríamos realizar en una sistema operativo real.\nNota: Tal y como puede verse reflejado en la definición de máquina virtual, en este artículo nos estamos focalizando en las maquinas virtuales de sistema. Existen otro tipo de máquinas virtuales, como por ejemplo las máquinas virtuales de proceso o los emuladores. ¿QUÉ CARACTERÍSTICAS TIENE UNA MÁQUINA VIRTUAL? Una vez hemos definido lo que es una máquina virtual, podemos comentar las características que acostumbran a tener la mayoría de máquinas virtuales existentes en la actualidad:\nLa gran mayoría de máquinas virtuales, como por ejemplo Virtualbox o VMWare, permiten instalar prácticamente cualquier sistema operativo como por ejemplo Linux, Android, Mac OS X, Windows, Chrome OS, etc. Sin embargo existen otras máquinas virtuales, como por ejemplo Virtual PC, Hiper-V o Parallels, que están principalmente destinadas a virtualizar Windows. Cada uno de los sistemas operativos que virtualizamos es completamente independiente de los otros sistemas operativos. De este modo en el caso que una de las máquinas virtuales deje de funcionar, el resto seguirá funcionando sin ningún tipo de problema. Una vez instalado un sistema operativo en la máquina virtual, tenemos que usar el sistema operativo virtualizado del mismo modo que lo usaríamos si lo hubiéramos instalado en nuestro ordenador. Una máquina virtual dispone de todos los elementos de que dispone un ordenador real. Dispone de disco duro, memoria RAM, unidad de CD-Rom, tarjeta de red, tarjeta de vídeo, etc, pero a diferencia de un ordenador real estos elementos en vez de ser físicos son virtuales. Todos los elementos de una máquina virtual se encapsulan en un conjunto de archivos. Esto permite que podamos copiar un sistema operativo virtual de un ordenador a otro o que podemos realizar copias de seguridad sin ningún tipo de problema y de forma muy fácil y muy rápida. ¿QUÉ NECESITO PARA USAR UNA MÁQUINA VIRTUAL? Actualmente la virtualización de un sistema operativo o servidor se puede implementar por Software o por Hardware. Como en este post me focalizo en la virtualización por software, lo único que precisamos para poder usar una máquina virtual es un ordenador medianamente actual e instalar y configurar el software de la máquina virtual.\nCuanto más potente y actual sea el ordenador que tengamos, mejor experiencia obtendremos trabajando con sistemas operativos virtualizados. Algunos de los puntos importantes para obtener un rendimiento óptimo del sistema operativo virtualizado son los siguientes:\nDisponer de un procesador rápido y que disponga de capacidad de virtualización por Hardware (Intel VTx/AMD-v). Cuanto mayor sea la capacidad del procesador mejor experiencia de virtualización obtendremos. Cualquier ordenador actual dispone de un procesador apto para virtualizar sistemas operativos. Disponer de espacio suficiente en el disco duro. Además es interesante disponer de un disco duro con una buena la velocidad de lectura y escritura como por ejemplo un disco SSD. Necesitamos disponer de memoria RAM suficiente y adecuada. Cuanta más cantidad de memoria RAM y cuanto más rápida sea, mejores resultados de virtualización obtendremos. Así por lo tanto es mejor tener 4GB de RAM que 2GB, y del mismo modo es mejor disponer de una memoria RAM del tipo DDR4 que DDR3. La cantidad de memoria RAM ideal dependerá del sistema operativo que queremos virtualizar y del número de sistemas operativos que queramos virtualizar de forma simultanea. Si tan solo queremos virtualizar un sistema operativo con 2 o 3 GB de RAM debería ser suficiente. Sin duda el hecho de tener una buena GPU también ayudará a disponer de una mejor experiencia de virtualización. Por lo tanto es recomendable disponer de una buena tarjeta gráfica con aceleración gráfica. ¿CÓMO FUNCIONA UNA MÁQUINA VIRTUAL? Explicar el funcionamiento en detalle de una máquina virtual es algo sumamente complicado y que además poca gente tiene los conocimientos necesarios para hacerlo. No obstante a grandes rasgos podemos decir que una máquina virtual es un software que mediante una capa de virtualización se comunica con el hardware que tenemos disponible en nuestro ordenador consiguiendo de este modo emular la totalidad de componentes de un ordenador real. De este modo la máquina virtual será capaz de emular un disco duro, una memoria RAM, una tarjeta de red, un procesador, etc.\nUna vez sabemos esto cuando abrimos una máquina virtual, como por ejemplo Virtualbox, nos encontramos con un entorno gráfico que nos permitirá configurar y asignar recursos a cada uno de los componentes físicos que emula la máquina virtual. Así por ejemplo en prácticamente la totalidad de máquinas virtuales deberemos definir detalles del siguiente tipo:\nEspacio que queramos asignar a nuestro disco duro. Memoria RAM que queremos asignar a la máquina virtual. La memoria de nuestra tarjeta gráfica. La configuración de red que queremos. etc. Una vez configurados estos parámetros habremos creado una máquina virtual para instalar un sistema operativo. De este modo tan solo tendremos que abrir la máquina virtual que se acaba de crear e instalar el sistema operativo tal y como si se tratará de un ordenador real normal y corriente.\nEn el futuro escribiré un post detallando paso a paso los puntos a seguir para la instalación y uso de un sistema operativo en la máquina virtual.\n¿QUÉ UTILIDADES NOS PROPORCIONAN LAS MÁQUINAS VIRTUALES? Las utilidades y beneficios que podemos sacar de una máquina virtual son numerosos.\nAlgunos de los usos que podemos dar a las máquinas virtuales son los siguientes:\nPara probar sistemas operativos. Si toda vuestra vida habéis usado Windows y queréis probar otro sistema operativo, como por ejemplo Linux Mint, podéis hacerlo a través de una máquina virtual. Además el proceso de una instalación en la máquina virtual es sumamente fácil ya que no nos tendremos que preocupar de crear particiones adicionales en nuestro disco duro, etc. Para usar un software que no está disponible en nuestro sistema operativo. Así por ejemplo si somos usuarios de Linux y queremos usar Photoshop, lo podemos hacer a través de una máquina virtual. En ocasiones tenemos que usar software que únicamente se puede ejecutar en sistemas operativos que son obsoletos. Así por lo tanto si tenemos un programa que solo se puede usar en Windows 98, podemos crear una máquina virtual con Windows 98 y ejecutar y usar el software sin ningún tipo de problema. Podemos experimentar en el sistema operativo que corre dentro de la máquina virtual haciendo cosas que no nos atreveríamos a realizar con nuestro sistema operativo, como por ejemplo aplicar una actualización de software, navegar de forma segura en una página web que consideramos sospechosa, etc. Podemos usar las máquinas virtuales como sandbox con el fin de por ejemplo ejecutar aplicaciones maliciosas o abrir correos sospechosos en un ambiente controlado y seguro. Podemos crear/simular una red de ordenadores con tan solo un ordenador. Esta red de ordenadores virtualizados la podemos usar con fines formativos y de este modo adquirir conocimientos sobre administración de redes. Si eres un desarrollador de software puedes testear si el programa que estás desarrollando funciona correctamente en varios sistemas operativos. Para testear versiones alfa, Beta y Release candidate de ciertos programas y sistemas operativos. Para montar un servidor web, un servidor VPN, un servidor de correo o cualquier otro tipo de servidor. Para probar multitud de programas en Windows y evitar que se ensucie el registro mediante las instalaciones y desinstalaciones de los programas. ¿QUÉ VENTAJAS NOS PROPORCIONAN LAS MÁQUINAS VIRTUALES? Algunas de las ventajas que proporcionan las máquinas virtuales y la virtualización son las siguientes:\nSi se desconfigura un servidor o un sistema operativo virtualizado es sumamente fácil de restaurar si lo comparamos con un máquina real. Si tomamos las precauciones necesarias podemos restaurar el estado que tenia un sistema operativo virtualizado, o un servidor, de forma muy fácil y muy rápida. Si hablamos del entorno empresarial, la virtualización de sistemas operativos y de servidores supone un ahorro económico y de espacio considerable. Mediante el uso de la virtualización evitamos la inversión en multitud de equipos físicos ahorrando dinero y espacio. Como acabamos de ver, el uso de máquinas virtual implica disponer de menos equipos físicos. Por lo tanto el hecho de virtualizar servidores o sistemas operativos puede suponer un ahorro importante en mantenimiento y en consumo energético. Mediante la virtualización y el balanceo dinámico podemos incrementar las tasas de servicio de un servidor del siguiente modo. Si disponemos de un servidor web podemos asignar recursos adicionales al servidor, como por ejemplo memoria RAM y CPU, en los picos de carga para evitar que el servidor se caiga y de este modo incrementar la tasa de servicio. Una vez finalizado el pico de carga podemos desviar los recursos aplicados al servidor web a otra necesidad que tengamos. Por lo tanto aparte de mejorar la tasa de servicio se pueden optimizar mejor los recursos. Si estamos usando una máquina virtual en un entorno de producción, podemos ampliar los recursos de un sistema operativo o servidor de una forma muy sencilla. Tan solo tenemos que acceder al software de virtualización y asignar más recursos de forma muy sencilla. Es sumamente fácil crear un entorno para realizar pruebas de todo tipo. Así de este modo obtendremos fácilmente un entorno de pruebas completamente aislado del resto de sistemas. Las máquinas virtuales y la virtualización permiten usar un solo servicio por servidor virtualizado de forma fácil y sencilla. De este modo aunque se caiga uno de los servidores virtualizado el otro seguirá funcionando. INCONVENIENTES DE VIRTUALIZAR UN SISTEMA OPERATIVO Algunos de los inconvenientes que puede tener el uso de una máquina virtual, o sistema operativo virtualizado son los siguientes:\nPara usar una máquina virtual en condiciones necesitamos un ordenador potente. Tenemos que tener en cuenta que si usamos 2 sistemas operativos de forma simultanea estamos empleando el doble de recursos. No obstante cualquier ordenador doméstico medianamente actual dispone de los recursos suficientes para usar una máquina virtual. Los sistemas operativos y los programas se ejecutaran con mayor lentitud en las máquinas virtuales. Esto es debido a que las máquinas virtuales no pueden sacar un rendimiento ideal del hardware que tenemos en nuestro equipo. Cuanto más potente sea nuestro ordenador menos se notará la pérdida de rendimiento. Si tenemos un problema en el ordenador que aloja el sistema operativo anfitrión puede caerse el servicio en la totalidad de máquina virtuales. Por lo tanto el ordenador que hace funcionar la máquina virtual es una parte crítica. A pesar de los inconvenientes que se citan en este apartado, bajo mi punto de vista la virtualización y las máquinas virtuales proporcionan unas ventajas y una flexibilidad que compensan claramente los inconvenientes que acabamos de citar.\n¿QUÉ MÁQUINAS VIRTUALES PODEMOS INSTALAR EN NUESTRO ORDENADOR? Hoy en día tenemos varias maquinas virtuales a nuestra disposición. Algunas de las máquinas virtuales que podemos probar son las siguientes:\nVirtualbox: Software desarrollado por Oracle. Se trata de un software multiplataforma capaz de virtualizar prácticamente la totalidad de sistemas operativos con arquitectura x86/amd64. Es la máquina virtual que siempre he usado y siempre me ha permitido hacer lo que quería hacer de forma fácil. La base de este software dispone de una la licencia GPL2, mientras que el pack de extensiones que añaden funcionalidades están bajo licencia privativa. Virtualbox es gratuito para un uso no comercial y si lo desean lo pueden descargar a través del siguiente enlace.\nVmware Workstation Player: Software privativo multiplataforma desarrollado por EMC corporation y que es utilizado ampliamente en el entorno profesional en las áreas del cloud computing entre muchas otras. Al igual que Virtualbox, esta máquina virtual nos permite virtualizar infinidad de sistemas operativos. Vmware dispone de muchas soluciones de virtualización y prácticamente todas son de pago, no obstante Vmware Workstation Player es totalmente gratuita para un uso no comercial. Quien esté interesado en probar esta máquina virtual la puede descargar del siguiente link.\nParallels: Aunque se trata de una máquina virtual multiplataforma, acostumbra a ser usado por los usuarios del sistema operativo OS X de Apple que desean virtualizar el sistema operativo Windows. Esta máquina virtual es de pago y únicamente puede virtualizar los sistemas operativos Windows y Mac OS. Quien quiera probar parallels lo puede hacer descargando la versión de prueba del siguiente enlace. Obviamente Parallels es Software privativo.\nWindows Virtual PC: Software gratuito y privativo propiedad de Microsoft que se puede usar tanto en Windows como en Mac OS. Virtual PC está destinado únicamente a Virtualizar sistemas operativos Windows. Este software se puede usar y descargar gratuitamente a través del siguiente enlace.\nQemu: Software libre multiplataforma que dispone de licencia GPL 2. Qemu permite virtualizar un gran número de sistemas operativos y además soporta varios tipos de arquitectura como por ejemplo X86, x86-64, MIPS, Arm, PowerPC, etc. El rendimiento que ofrece Qemu es igual o superior a las opciones que hemos visto con anterioridad, pero su instalación y uso también es ligeramente más complicado y en caso de problemas es más difícil de obtener soporte. Como gran ventaja Qemu te permite usar una máquina virtual sin necesidad de tener privilegios root. Quien quiera probar Quemu puede descargar el código fuente del programa a través del siguiente enlace, o instalarlo directamente a través de los repositorios de su distribución Linux.\nNota: Dentro de las opciones que acabamos ver observamos que existen opciones que son Software Libre y opciones que son Software privativo. Quien esté interesado en opciones libres también puede echar un ojo a Xen. Nota: La totalidad de software propuesto en este apartado se basa en máquinas virtuales que funcionan a partir de un sistema operativo. De entre todas las máquinas virtuales citadas en mi caso utilizo Virtualbox. Los motivos para utilizar Virtualbox en detrimento de las demás en mi caso son los siguientes:\n1- Se trata de un software gratuito y multiplataforma. Por lo tanto podemos usar esta herramienta tanto en Linux, en Mac OS y en Windows.\n2- No es un proyecto muerto. Detrás de Virtualbox está Oracle y día tras día se esfuerzan para sacar nuevas actualizaciones y mejorar el programa.\n3- En caso de tener problemas es fácil encontrar ayuda ya que existe una gran comunidad dispuesta a ayudar a la gente.\n4- Es una herramienta fácil de usar y polivalente. Permite realizar prácticamente cualquier cosa que tengas en mente y además permite virtualizar un gran número de sistemas operativos.\n5- Existen varias páginas web para poder descargar máquinas virtuales preconfiguradas. De este modo en caso necesario podemos ahorrarnos el hecho de tener que instalar y configurar el sistema operativo virtualizado. Algunas de las páginas web que nos permiten descargar sistemas operativos preconfigurados son las siguientes:\nWeb 1 de descarga de imágenes de Virtualbox\nWeb 2 de descarga de imágenes de Virtualbox\n6- Es la primera opción que probé y siempre me ha funcionado de forma correcta.\nNota: Aparte de las máquinas virtuales citadas seguro que existen más. En el caso que quieran comentar alguna alternativa, lo pueden hacer a través de los comentarios del blog.","permalink":"https://geeklandlinux.github.io/posts/que-es-una-maquina-virtual-usos-y-ventajas-que-nos-proporiciona/","summary":"\u003cp\u003eEn varios de mis artículos hago referencia al uso de una máquina virtual para realizar ciertas operaciones. A raíz de esto he recibido varias consultas de usuarios preguntando que es una máquina virtual y obviamente no es una cuestión fácil de responder en un email o en los comentarios del post. Por este motivo he decidido redactar este post explicando lo que es una máquina virtual y que usos podemos darle.\u003c/p\u003e","title":"Que es una máquina virtual, usos y ventajas que nos proporciona"},{"content":"Multitud de personas que se inician en Linux se preguntan como crear lo que en Windows se denomina un acceso directo para poder acceder de forma rápida y cómoda a los programas o ubicaciones de uso más habitual. Con el fin de resolver esta duda, en este artículo explicaremos todo lo que un usuario de Gnu-Linux debería saber sobre los enlaces o accesos directos en Linux.\n¿EXISTEN LOS ACCESOS DIRECTOS EN LINUX? Lo primero que tenemos que saber es que en Linux no existe lo que en Windows se llama acceso directo. En Linux los accesos directos se llaman enlaces.\nAdemás existen dos tipos de enlaces, los enlaces duros y los enlaces simbólicos. En los siguiente apartados explicaremos y veremos en detalle que son y para que podemos usar cada uno de los tipos de enlaces que acabamos de citar.\nENLACES DUROS, FUERTES O HARD LINKS ¿Qué son los enlaces duros? Para entender lo que es un enlace duro, lo primero que tenemos que saber es que en Linux cada fichero y cada carpeta del sistema operativo tienen asignado un número entero llamado inodo.\nEste inodo es único para cada uno de los archivos y cada una de las carpetas. La información que almacena cada uno de los inodos de los distintos archivos y carpetas es la siguiente:\nLos permisos del archivo o carpeta. El propietario del fichero y carpeta. La posición/ubicación del archivo o de la carpeta dentro de nuestro disco duro. La fecha de creación del archivo o directorio. Etc. Nota: Para ver la totalidad de información almacenada en cada inodo pueden consultar el siguiente enlace. Una vez comprendido esto, podemos decir que un enlace duro es un archivo que apunta al mismo contenido almacenado en disco que el archivo original.\nPor lo tanto los archivos originales y los enlaces duros dispondrán del mismo inodo y consecuentemente ambos estarán apuntando hacia el mismo contenido almacenado en el disco duro. De este modo, tal y como se puede ver representado en la imagen, un enlace duro no es más que una forma de identificar un contenido almacenado en el disco duro con un nombre distinto al del archivo original.\nSe podrá realizar un enlace duro de un archivo siempre y cuando el archivo esté en la misma partición del disco duro que pretendemos crear el enlace. Esto es forzosamente así porque cada partición de nuestro disco duro dispone de su propia tabla de inodos, y se tiene que evitar la posibilidad de que un mismo número de inodo esté apuntado a dos ubicaciones distintas de nuestro disco duro.\n¿Cómo podemos crear un enlace duro? Generando un enlace duro podremos asimilar mucho mejor lo que acabamos de explicar en el apartado anterior.\nPara comprender bien lo que es un enlace duro crearemos un archivo de texto ejecutando el siguiente comando en la terminal:\ntouch geekland.txt Una vez creado el archivo vamos o consultar su número de inodo ejecutando el siguiente comando en la terminal:\nls -li geekland.txt El resultado obtenido en mi caso es el siguiente:\n1341693 -rw-r--r-- 1 joan joan 0 nov 17 22:50 geekland.txt Por lo tanto el inodo del archivo que acabamos de crear es el 1341693. También vemos que actualmente solo hay 1 archivo/entrada en el sistema que esté apuntando al mismo inodo.\nUna vez creado el archivo crearemos un enlace duro hacia el archivo que acabamos de crear introduciendo el siguiente comando en la terminal:\nln geekland.txt enlacegeekland Cada una de las partes del comando para crear el enlace duro tienen el siguiente significado:\nln: Es el comando encargado de realizar enlaces entre ficheros.\ngeekland.txt: Es la ruta o nombre del archivo original que tenemos en nuestro disco duro.\nenlacegeekland: Corresponde a la ruta o nombre del enlace duro que vamos a crear.\nUna vez ejecutado el comando se habrá realizado el enlace duro.\nNota: A quien no le guste usar la terminal para crear enlaces duros, tiene que saber que también se pueden crear usando el entorno gráfico de su entorno de escritorio. Una vez creado el enlace volveremos a comprobar el número de inodo del archivo original ejecutando de nuevo el siguiente comando en la terminal:\nls -li geekland.txt Ahora el resultado obtenido es el siguiente:\n1341693 -rw-r--r-- 2 joan joan 0 nov 17 22:50 geekland.txt Como se puede ver el número de inodo sigue siendo el mismo que antes, pero ahora hay 2 archivos/entradas apuntando hacia el mismo inodo. Estos 2 archivos/entradas son el archivo original más el enlace duro que acabamos de crear.\nSeguidamente comprobaremos el número de inodo del enlace duro que hemos creado ejecutando el siguiente comando en la terminal:\nls -li enlacegeekland El resultado obtenido es:\n1341693 -rw-r--r-- 2 joan joan 0 nov 17 22:50 enlacegeekland Por lo tanto se puede observar que tanto el enlace duro como el archivo que hemos creado apuntan al mismo inodo, y consecuentemente apuntan hacia la misma información almacenada en nuestro disco duro. Además tanto el enlace duro como el archivo original disponen de los mismos permisos, del mismo propietario y forman parte del mismo grupo.\nEn la siguiente captura de pantalla se puede visualizar la totalidad de operaciones realizadas hasta el momento:\nCrear enlaces duros recursivos de todo un directorio Acabamos de ver como crear un enlace duro de un único archivo. En el caso que queramos crear enlaces duros en masa de la totalidad de contenido almacenado en un directorio también lo podemos realizar muy fácilmente.\nImaginemos que en la ubicación /home/joan/vacaciones dispongo de una serie de fotos y quiero crear un enlace duro de la totalidad de fotos de esta carpeta en mi escritorio. Para conseguir mi objetivo tan solo hay que ejecutar el siguiente comando en la terminal:\ncp -rl /home/joan/vacaciones /home/joan/Escritorio/vacaciones/ Cada una de las partes del comando usado para crear los enlaces duros recursivos tienen el siguiente significado:\ncp: Se refiere al comando copy que es el que usamos para crear los enlaces duros de forma masiva.\n-rl: La letra r hace referencia a recursivo y la letra l hace referencia a enlace duro. Por lo tanto añadiendo estas 2 opciones hacemos que se copien la totalidad de archivos de una carpeta a otra mediante la creación de enlaces duros.\n/home/joan/vacaciones: Es la ruta de la carpeta que contiene las fotos originales.\n/home/joan/Escritorio/vacaciones: Es la ruta de la carpeta en la que queremos crear los enlaces duros.\nUna vez ejecutado este comando habremos creado de un plumazo multitud de enlaces duros sin ningún tipo de esfuerzo.\nPropiedades y particularidades de los enlaces duros Con lo visto en los apartados anteriores y usando nuestra capacidad de deducción, podemos afirmar que algunas de las propiedades y particularidades que tenemos que tener en cuenta de los enlaces duros son las siguientes:\n1- Cualquier cambio que se introduzca en el archivo original o en el enlace duro, afecta a los dos por igual. Por lo tanto, tal y como se puede ver en la captura de pantalla, si en el archivo de texto geekland.txt añadimos texto, también se añade en el enlace duro enlacegeekland, y si añadimos texto en el enlace duro enlacegeekland también se añade en el archivo geekland.txt. Por lo tanto podemos considerar que el enlace duro es una copia exacta del archivo original.\n2- Tal y como se puede ver en la captura de pantalla, en el caso de borrar el archivo original geekland.txt aún podemos tener acceso al contenido a través de su enlace duro enlacegeekland.\nPor lo tanto el contenido no se borrará hasta que no se hayan eliminado por completo tanto el archivo original como la totalidad de enlaces duros.\n3- No se pueden crear enlaces duros de carpetas. Antiguamente era posible realizarlos y es posible que haya algún sistema operativo que aún lo permita, pero la mayoría de sistemas operativos actuales no lo permiten debido a que este hecho puede transformar la estructura de directorios de Linux. A quien le interese profundizar sobre este tema puede consultar la siguiente página.\n4- Los enlaces duros ocupan menos tamaño en el disco duro que los enlaces simbólicos. El tamaño que ocupará un enlace simbólico será proporcional al número de caracteres del nombre del archivo que apunta, mientras que el tamaño de un enlace duro siempre será el mismo ya que es simplemente es un puntero que nos lleva a una ubicación del disco duro.\n5- El acceso al contenido a través de un enlace duro es más rápido que en los enlaces simbólico. Esto es así porque mientras el enlace duro apunta directamente a un contenido almacenado en nuestro disco duro, el enlace simbólico apunta al nombre de un archivo y posteriormente el archivo apunta a un contenido almacenado en nuestro disco duro. Por lo tanto en los enlaces simbólicos existe un paso adicional para acceder a la información que penaliza en tiempo.\n6- Los enlaces duros únicamente se pueden usar en la partición en la que los hemos creado. Por lo tanto si creamos un enlace duro en la partición /home, no lo podremos usar en la partición /root.\n7- Si cambiamos de ubicación el archivo original el enlace duro no se rompe y lo podemos usar sin ningún tipo de problema.\n8- Los permisos, el propietario y el grupo del enlace duro serán los mismos que el del archivo original. Esto es así porque, como hemos visto anteriormente, el enlace duro y el archivo original tienen el mismo inodo, y por lo tanto forzosamente siempre tendrán las mismas propiedades. Un enlace duro no es más que una copia del archivo original.\nUtilidades y ventajas de los enlaces duros Seguramente existen más utilidades en las que los enlaces duros son particularmente útiles. No obstante en mi caso se me ocurren las siguientes aplicaciones.\nRealizar copias de seguridad incrementales ahorrando espacio en disco duro y un tiempo considerable ya que los enlaces duros permiten realizar una copia de seguridad de un archivo sin realmente realizar la copia. De hecho el archiconocido programa Time Machine utiliza hard links para realizar sus copias incrementales de seguridad. Para ver como funciona el programa Time Machine pueden consultar el siguiente enlace. Cuando copiamos un archivo de gran tamaño de un sitio a otro tardamos una cantidad importante de tiempo. Usando un enlace duro podemos evitar esta espera y de paso ahorraremos espacio en nuestro disco duro. El enlace duro es una muy buena opción para tener un archivo en varias ubicaciones. Usando enlaces duros para este fin evita que se generen enlaces simbólicos rotos. Si usamos enlaces simbólicos para disponer de un archivo en varias ubicaciones, es posible que cuando se elimine el archivo original nos olvidemos que en el pasado generamos enlaces simbólicos hacia este archivo generándose enlaces rotos. Los enlaces duros también nos pueden servidor para clasificar información como por ejemplo fotografías. Así por ejemplo podemos clasificar fotos por la gente que aparece en ellas, una vez organizadas las fotos podemos crear enlaces duros de las fotos, y una vez creados los enlaces podemos organizar los enlaces duros por otro tipo de clasificación diferente sin consumir espacio adicional en nuestro disco duro. ENLACES SIMBÓLICOS, BLANDOS O SOFT LINKS ¿Qué es un enlace simbólico o blando? Los enlaces simbólicos son parecidos a los accesos directos en Windows y son los enlaces que todos los usuarios comunes acostumbran a usar de forma habitual.\nAcabamos de ver que los enlaces duros apuntan a un archivo almacenado en nuestro disco duro. En contraposición, tal y como se puede ver representado en la imagen, los enlaces simbólicos apuntan al nombre de un archivo y posteriormente el archivo apunta a un contenido almacenado en nuestro disco duro.\nA diferencia del caso anterior, cada enlace simbólico dispone de su propio número de inodo y es diferente al del archivo original. Por lo tanto podremos crear enlaces simbólicos de archivos y de carpetas aunque estén en discos duros diferentes o en particiones diferentes.\n¿Cómo podemos crear un enlace simbólico o soft link? Creando un enlace simbólico podremos ver y entender más fácilmente lo que acabamos de explicar en el apartado anterior.\nPara comprender bien lo que es un enlace simbólico crearemos un archivo de texto ejecutando el siguiente comando en la terminal:\ntouch geekland.txt Una vez creado el archivo vamos o consultar su número de inodo ejecutando el siguiente comando en la terminal:\nls -li geekland.txt El resultado obtenido es:\n1334792 -rw-r--r-- 1 joan joan 0 nov 29 10:03 geekland.txt Por lo tanto el inodo del archivo que acabamos de crear es el 1334792. También vemos que actualmente solo hay 1 archivo/entrada en el sistema que esté apuntando al mismo inodo.\nUna vez creado el archivo crearemos un enlace simbólico hacia el archivo que acabamos de crear ejecutando el siguiente comando en la terminal:\nln -s /home/joan/geekland.txt /home/joan/Escritorio/enlacegeekland Cada una de las partes del comando usado para crear el enlace simbólico tienen el siguiente significado:\nln: Es el comando encargado de realizar enlaces entre ficheros o carpetas.\n-s: Es la parte del comando que indica que el tipo de enlace que queremos crear es un enlace simbólico.\n/home/joan/geekland.txt: Es la ruta y nombre del archivo original que tenemos en nuestro disco duro.\n/home/joan/Escritorio/enlacegeekland: Corresponde a la ruta y el nombre del enlace simbólico que vamos a crear.\nUna vez ejecutado el comando se habrá realizado el enlace simbólico.\nNota: A quien no le guste usar la terminal para crear enlaces simbólicos tiene que saber que también se pueden crear usando el entorno gráfico de su entorno de escritorio. Una vez creado el enlace simbólico volveremos a comprobar el número de inodo del archivo original ejecutando de nuevo el siguiente comando en la terminal:\nls -li geekland.txt Ahora el resultado obtenido es el siguiente:\n1334792 -rw-r--r-- 1 joan joan 0 nov 29 10:03 geekland.txt Como se puede ver, el número de inodo sigue siendo el mismo que antes pero, a diferencia del caso anterior, a pesar de crear el enlace simbólico sigue habiendo únicamente 1 archivo/entrada apuntando hacia el mismo inodo.\nSeguidamente comprobaremos el número de inodo del enlace duro que hemos creado ejecutando el siguiente comando en la terminal:\nls -li /home/joan/Escritorio/enlacegeekland El resultado obtenido es el siguiente:\n1339963 lrwxrwxrwx 1 joan joan 23 nov 29 10:03 /home/joan/Escritorio/enlacegeekland -\u0026gt; /home/joan/geekland.txt Después de estudiar los resultados vemos que el archivo original y el enlace que hemos creado tienen un inodo diferente. Por lo tanto no están apuntando hacia el mismo contenido ya que el archivo original geekland.txt está apuntando hacia un contenido almacenado en nuestro disco duro, y el enlace simbólico está apuntado hacia el nombre del archivo original.\nEn la siguiente captura de pantalla se puede visualizar la totalidad de operaciones realizadas hasta el momento:\nCrear enlaces simbólicos recursivos de todo un directorio Acabamos de ver como crear un enlace simbólico de un único archivo. En el caso que queramos crear enlaces simbólicos en masa de la totalidad de contenido almacenado en un directorio también lo podemos realizar muy fácilmente.\nImaginemos que en la ubicación /home/joan/vacaciones dispongo de una serie de fotos y quiero crear un enlace simbólico de la totalidad de fotos de esta carpeta en mi escritorio. Para conseguir mi objetivo tan solo hay que ejecutar el siguiente comando en la terminal:\ncp -rs /home/joan/vacaciones /home/joan/Escritorio/vacaciones/ Cada una de las partes del comando usado para crear los enlaces simbólicos recursivos tienen el siguiente significado:\ncp: Se refiere al comando copy que es el que usaremos para crear los enlaces simbólicos de forma masiva.\n-rs: La letra r hace referencia a recursivo y la letra s hace referencia a enlace simbólico. Por lo tanto añadiendo estas 2 opciones hacemos que se copien la totalidad de archivos de una carpeta a otra mediante la creación de varios enlaces simbólicos.\n/home/joan/vacaciones: Es la ruta de la carpeta que contiene las fotos originales.\n/home/joan/Escritorio/vacaciones: Es la ruta de la carpeta en la que queremos crear los enlaces simbólicos.\nUna vez ejecutado este comando habremos creado de un plumazo multitud de enlaces simbólicos sin ningún tipo de esfuerzo.\nPropiedades de los enlaces simbólicos Con lo visto en los apartados anteriores y usando nuestra capacidad de deducción, podemos afirmar que algunas de las propiedades y particularidades que tenemos que tener en cuenta de los enlaces simbólicos son las siguientes:\n1- Cualquier cambio que se introduzca en el archivo original o en el enlace simbólico afecta a los dos por igual. Por lo tanto, tal y como se puede ver en la captura de pantalla, si en el archivo de texto geekland.txt añadimos texto también se añade en el enlace duro enlacegeekland, y si añadimos texto en el enlace duro enlacegeekland también se añade en el archivo geekland.txt.\n2- Tal y como se puede ver en la captura de pantalla, en el caso de borrar el archivo original geekland.txt se borra completamente el archivo y no podremos volver a acceder a él nunca más.\n3- Si por lo contrario borramos el enlace simbólico, tal y como se puede ver en la captura de pantalla, aun podremos seguir accediendo al contenido mediante el archivo original.\n4- En contraposición con los enlaces duros, podemos crear enlaces simbólicos de carpetas sin ningún tipo de problema. De esta forma podremos usar los enlaces simbólicos como un atajo para acceder a un directorio determinado.\n5- Los enlaces simbólicos se pueden usar en cualquier ubicación, partición y sistema de archivos de nuestro disco duro. Por lo tanto a diferencia de los enlaces duros, los enlaces simbólicos funcionarán en todos los sistemas de archivos sea cual sea su ubicación.\n6- Si cambiamos de ubicación el archivo original se romperá el enlace simbólico.\n¿Qué utilidades podemos dar a los enlaces simbólicos? La utilidad básica que todo el mundo acostumbra a dar a los enlaces simbólicos es la de crear atajos para acceder a ciertos archivos o a ciertos directorios, pero aparte de esta utilidad hay otras como por ejemplo las siguientes:\nPara expandir sistemas de archivos. Así por ejemplo si estamos trabajando en un sistema de archivos ext4, podemos utilizar enlaces simbólicos para acceder a archivos o ubicaciones en otro sistema de archivos como por ejemplo NTFS. Esta operación únicamente se puede realizar mediante el uso de enlaces simbólicos y permite extender fácilmente nuestro sistema de archivos. Creando un enlace simbólico conseguiremos que un archivo esté disponible en 2 ubicaciones diferentes de forma fácil y sencilla. Como hemos comentado en el apartado anterior, si realizamos esta operación con enlaces simbólicos tenemos que ir con cuidado que no se rompan los enlaces. Cuando copiamos un archivo de gran tamaño de un sitio a otro tardamos una cantidad importante de tiempo. Usando un enlace simbólico podemos evitar esta espera y de paso ahorraremos espacio en nuestro disco duro. Si queremos que Copy, Dropbox, o un software similar sincronice una carpeta o archivo de nuestro equipo, lo podemos hacer a través de un enlace simbólico. De este modo podemos sincronizar archivos y carpetas en Dropbox sin que el archivo que queremos subir a Dropbox esté dentro de la carpeta de Dropbox. ELIMINAR ENLACES DUROS Y ENLACES SIMBÓLICOS Si en algún momento precisamos eliminar alguno de los enlaces que hemos hemos creado lo podemos hacer de forma muy fácil. Así por ejemplo si queremos eliminar el enlace simbólico que creamos anteriormente tan solo tenemos que ejecutar el siguiente comando en la terminal:\nunlink /home/joan/Escritorio/enlacegeekland Cada una de las partes usadas en el comando para eliminar enlaces tiene el siguiente significado\nunlink: Es la parte del comando encargada de eliminar el enlace.\n/home/joan/Escritorio/enlacegeekland: Es la ruta y nombre del enlace que queremos eliminar.\nNota: El procedimiento para eliminar enlaces es el mismo independientemente del tipo de enlace a eliminar. Nota: Quien lo prefiera también puede eliminar los enlaces de forma gráfica mediante su gestor de archivos. VÍDEO EXPLICATIVO Les recomiendo ver el siguiente vídeo:\nClicar para ver el vídeo explicativo\nAunque el vídeo este en inglés, el autor hace una explicación clara, sencilla y concisa de lo que son los enlaces simbólicos y los enlaces duros.\n","permalink":"https://geeklandlinux.github.io/posts/que-son-para-que-sirven-enlaces-duros-y-simbolicos/","summary":"\u003cp\u003eMultitud de personas que se inician en Linux se preguntan como crear lo que en Windows se denomina un acceso directo para poder acceder de forma rápida y cómoda a los programas o ubicaciones de uso más habitual. Con el fin de resolver esta duda, en este artículo explicaremos todo lo que un usuario de Gnu-Linux debería saber sobre los enlaces o accesos directos en Linux.\u003c/p\u003e","title":"Que son y para que sirven los enlaces duros y simbólicos"},{"content":"Hace unas semanas vimos varias formas para programar el apagado del ordenador. En esta ocasión veremos como podemos programar el encendido del ordenador a una hora determinada.\nUTILIDADES QUE PODEMOS DAR A PROGRAMAR EL ENCENDIDO DEL ORDENADOR Algunas de las utilidades que puede tener el hecho de programar el encendido del ordenador son las siguientes:\nEn mi caso cuando voy de viaje al extranjero durante varias semanas utilizo mi ordenador como un servidor VPN. Para no tener que tener abierto mi ordenador durante semanas enteras lo que hago es programar el encendido y el apagado de mi ordenador a las horas que más me interesa. De este modo consigo ahorrar energía. Evitar tener que abrir el ordenador en las horas que habitualmente usamos el ordenador. En el caso que siempre usemos el ordenador cuando lleguemos de nuestro trabajo podemos programar el encendido del ordenador 5 minutos antes de llegar a nuestra casa. En el caso que siempre empecemos a trabajar a las 9 en punto podemos programar el encendido del ordenador a las 9 en punto. Para encender el ordenador y realizar tareas de mantenimiento y copias de seguridad un día y hora determinados. MÉTODO 1: PROGRAMAR EL ENCENDIDO DEL ORDENADOR MEDIANTE LA BIOS Los pasos para poder programar el encendido del ordenador son sumamente fáciles. Los pasos a seguir son los siguientes:\nAcceder a la BIOS de nuestro ordenador El primer paso a realizar es acceder a la configuración de la BIOS de nuestro ordenador. Para ello en el momento que arranca el ordenador tenemos que presionar la tecla Supr. Después de presionar la tecla Supr, tal y como se muestra en la captura de pantalla, accederé a la configuración de la BIOS.\nNota: El proceso para acceder a la configuración de la BIOS varia en función del ordenador que tengamos. Es más que posible que en vuestro caso en vez de presionar la tecla Supr tengáis que presionar otras teclas como por ejemplo Del, F2, F10, Esc, etc. Configurar la hora en que queremos que se encienda el ordenador Una vez dentro de la configuración de la BIOS tenemos que seleccionar la hora en que queremos que se encienda el ordenador. Para ello, tal y como se puede ver en la captura de pantalla anterior, accedemos a la opción Power Management Setup. Una vez hayamos accedido dentro de esta opción veremos un contenido parecido al de la siguiente captura de pantalla:\nSeguidamente, tal y como se puede ver en la captura de pantalla, localizaremos la opción Resume on RTC Alarm y la activaremos. Una vez activada la opción, tal y como se puede ver en la captura de pantalla, aparecerán los campos RTC Alarm Date (Days) y Time.\nTal y como se puede ver en la captura de pantalla, en los campos RTC Alarm Date (Days) y Time podemos seleccionar el día y la hora en que queremos que se encienda nuestro ordenador. En mi caso, tal y como se puede ver en la captura de pantalla, he seleccionado que mi ordenador se encienda todos los días a las 16 horas y 20 minutos y 30 segundos.\nNota: El proceso para programar la hora de encendido del ordenador varia en función del ordenador que tengamos. Por lo tanto es posible que en vuestro caso el menú de configuración de la BIOS sea diferente al que se muestra en este post. En el caso de ser así tendréis que buscar las opciones equivalentes en vuestro menú de configuración. Guardar los cambios Una vez finalizada la configuración tan solo tenemos que guardar los cambios realizados y el proceso ha finalizado. Generalmente para guardar los cambios realizados tan solo tenemos que presionar la tecla F10.\nUna vez guardados los cambios salimos de la configuración de la BIOS y ya podemos iniciar nuestro ordenador de forma habitual.\nVentajas y limitaciones de este método El método que acabamos de describir dispone de 2 aspectos sumamente interesantes que son los siguientes:\nSe trata de un método extremadamente simple. Se puede aplicar independientemente del sistema operativo que estamos usando. Por lo tanto es una solución multiplataforma. No obstante, el método de programar el encendido del ordenador mediante la BIOS también presenta limitaciones importantes. Algunas de ellas son las siguientes:\nEl menú de configuración de la BIOS para programar el encendido es muy limitado. El menú solo nos permite iniciar el ordenador todos los días o un día determinado. Por lo tanto esta opción no nos permite programar que nuestro ordenador se inicie todos los días laborales de una semana a las 9 en punto. Cada vez que queremos programar el encendido del ordenador tenemos que acceder a la BIOS y esto sin duda es molesto. En Linux podemos solucionar este problema usando el programa nvram-wake que permite programar la hora de encendido de la BIOS desde el sistema operativo, pero en mi caso este software me da problemas y no lo puedo usar. Cada vez que arrancamos el ordenador tenemos que programar el siguiente encendido, a no ser que queramos que el ordenador se encienda a diario. Este método no nos permitirá encender y apagar nuestro ordenador varias veces por día. MÉTODO 2: PROGRAMAR LA HORA DE ENCENDIDO CON WAKEALARM Otro método para programar el encendido del ordenador en Linux es mediante real time clock alarm. Con este método podremos programar el encendido de nuestro ordenador sin tener que acceder constantemente a la BIOS.\nProgramar de forma sencilla el encendido del ordenador con wakealarm Si queremos programar el inicio del ordenador a una hora determinada lo podemos realizar fácilmente a través de la terminal. Lo primero que tenemos que hacer es abrir una terminal y teclear el siguiente comando:\nsudo sh -c \u0026#34;echo 0 \u0026gt; /sys/class/rtc/rtc0/wakealarm\u0026#34; Ejecutando este comando estaremos reseteando la totalidad de encendidos que podamos tener programados.\nUna vez reseteados la totalidad de encendidos programados podemos fijar o programar una nueva hora de encendido. Para ello podemos optar por las siguientes opciones:\nProgramar el encendido del ordenador después de un determinado tiempo Si actualmente son las 12 de la noche y queremos nuestro ordenado se encienda de forma automática a las 7 de la mañana tan solo tenemos que aplicar el siguiente comando:\nsudo sh -c \u0026#34;echo `date \u0026#39;+%s\u0026#39; -d \u0026#39;+ 7 hours\u0026#39;` \u0026gt; /sys/class/rtc/rtc0/wakealarm\u0026#34; Nota: El texto en color rojo es la única parte variable del comando. Es la única parte que deberemos modificar en función de la hora que queramos que se inicie nuestro ordenador. Lo que hace el comando que acabamos de ejecutar es tan simple como acceder al archivo /sys/class/rtc/rtc0/wakealarm para introducir la fecha y la hora en que queremos que se encienda nuestro ordenador.\nEl significado de cada uno de los términos del comando usado son los siguientes:\nsudo: El primer término es sudo porque el proceso usado para programar el encendido del ordenador únicamente puede ser realizado por el usuario root.\nsh: El termino sh se usa para indicar que el comando que aplicaremos para programar la hora de encendido es utilizando uno de los lenguajes que utiliza la terminal de Linux que es bash.\n-c: El significado del termino -c indica que la parte del comando que se introduce a posteriori de -c, es el comando que hay que ejecutar en la terminal para programar la hora de encendido.\n“echo `date \u0026lsquo;+%s\u0026rsquo; -d \u0026lsquo;+ 7 hours\u0026rsquo;`: Esta parte del comando que indica la hora en que queremos que se encienda nuestro ordenador. Date indica la hora actual. El término \u0026rsquo;+%s\u0026rsquo; hace que el formato de la hora introducida sea en segundos tomando como referencia el 1 de Enero de 1970 a las 00:00 horas. La opción -d nos permitirá trabajar con elementos relativos y por lo tanto es la parte del comando que nos permitirá añadir o quitar tiempo respecto la hora actual y finalmente + 7 hours unido con el comando -d hará que la hora de encendido de nuestro ordenador sea 7 horas respecto la hora actual.\n\u0026gt; /sys/class/rtc/rtc0/wakealarm\u0026quot;: Finalmente la última parte del comando indica la ruta del archivo en la que hay introducir la hora en que queremos iniciar nuestro ordenador.\nUna vez ejecutado el comando el proceso ha finalizado. Como medida de seguridad para asegurar que hemos introducido bien la hora de encendido, podemos ejecutar el siguiente comando en la terminal:\ndate --date \u0026#34;@$(cat /sys/class/rtc/rtc0/wakealarm)\u0026#34; Tal y como se puede ver en la captura de pantalla, este comando nos tiene que dar la hora en que nosotros hemos programado el inicio del ordenador.\nSi la hora es correcta podemos apagar el ordenador y esperar a que lleguen las 17:57:45 del día 14 Noviembre. Cuando llegue la hora nuestro ordenador se encenderá de forma completamente automática.\nProgramar el encendido del ordenador a una determinada fecha Siguiendo exactamente el mismo procedimiento que acabamos de ver podemos programar el encendido de nuestro ordenador en una fecha concreta.\nPara ello lo primero que tenemos que hacer es abrir una terminal y teclear el siguiente comando para resetear la totalidad de alarmas que tengamos programadas:\nsudo sh -c \u0026#34;echo 0 \u0026gt; /sys/class/rtc/rtc0/wakealarm\u0026#34; Una vez reseteadas las alarmas programadas, si queremos que nuestro ordenador se abra el 9 de Noviembre de 2017 a las 17:00 horas tan solo deberíamos ejecutar el siguiente comando:\nsudo sh -c \u0026#34;echo `date \u0026#39;+%s\u0026#39; -d \u0026#39;nov 9 17:00:00 2017\u0026#39;` \u0026gt; /sys/class/rtc/rtc0/wakealarm\u0026#34; Nota: El texto en color rojo es la parte modificada respecto al primer ejemplo que hemos visto. Una vez ejecutado el comando el proceso ha finalizado. Otras variantes del comando que usamos para programar la hora de encendido del ordenador son las siguientes:\nPara que nuestro ordenador se encienda mañana las 8 de la mañana:\nsudo sh -c \u0026#34;echo `date \u0026#39;+%s\u0026#39; -d \u0026#39;tomorrow 8:00\u0026#39;` \u0026gt; /sys/class/rtc/rtc0/wakealarm\u0026#34; Ventajas e inconvenientes de este método El sistema que acabamos de ver para programar el enciendo del ordenador presenta los siguientes puntos fuertes:\nEs un método efectivo y además es sumamente fácil y rápido de aplicar. No tenemos que acceder a la BIOS cada vez que necesitamos programar la hora de encendido de nuestro ordenador. No obstante al igual que el caso anterior también presenta algunas limitaciones como por ejemplo las siguientes:\nSolo es aplicable para usuarios de GNU-Linux. Cada vez que arrancamos el ordenador tenemos que programar el siguiente encendido. Este método no nos permitirá encender nuestro ordenador varias veces por día de forma automática. MÉTODO 3: PROGRAMAR LA HORA DE ENCENDIDO Y APAGADO DEL ORDENADOR CON WAKEALARM Y CRON Para intentar solucionar los inconvenientes que presentan los métodos 1 y 2, en este apartado comentaremos como podemos programar el encendido del ordenador evitando prácticamente la totalidad de inconvenientes que hemos visto hasta el momento.\nLa forma de solucionar la totalidad de problemas es combinando real time clock alarm (método 2) con Cron. De esta forma conseguiremos automatizar el encendido y el apagado de nuestro ordenador al milímetro. Para ello tenemos que seguir el siguiente procedimiento:\nElaborar script para automatizar el encendido y apagado del ordenador En el apartado anterior hemos visto como programar el encendido del ordenador de forma manual. Si queremos automatizar el proceso y programar el ordenador para que se encienda y apague varias veces por día durante los días que queramos podemos usar diferentes Scripts y cron.\nPara explicar lo que acabo de comentar lo haremos mediante un ejemplo. Así por lo tanto nos plantearemos crear un sistema automático que todos los Lunes, Martes, Miércoles, Jueves y Viernes realice las siguientes operaciones en nuestro ordenador:\nA las 9 de la mañana se debe iniciar nuestro ordenador. A las 13:05 horas el ordenador se apagará y se volverá a encender a les 15:00 horas. A las 18:05 de la tarde nuestro ordenador se apagará y se encenderá de nuevo a las 9 horas de la mañana del próximo día. Para realizar lo que acabo de comentar lo haremos generando 2 scripts.\nEl primero de los scripts será para encender el ordenador por la mañana. Para crear el script abrimos la terminal. Justo al abrir la terminal creamos el archivo encendermañana.sh ejecutando el siguiente comando en la terminal:\ntouch encendermañana.sh Una vez creado el archivo lo abriremos ejecutando el siguiente comando en la terminal:\nnano encendermañana.sh Una vez abierto el archivo con el editor de texto nano pegaremos el siguiente código:\n#!/bin/bash sh -c \u0026#34;echo 0 \u0026gt; /sys/class/rtc/rtc0/wakealarm\u0026#34; sh -c \u0026#34;echo `date \u0026#39;+%s\u0026#39; -d \u0026#39;+ 15 hours\u0026#39;` \u0026gt; /sys/class/rtc/rtc0/wakealarm\u0026#34; shutdown -h 18:05 El funcionalidad de cada una de las lineas del script es la siguiente:\nLa primera de las líneas del script es para asegurar que el contenido del fichero que estamos generando se interpretará como un script de bash.\nLa segunda línea del script resetea cualquier alarma que tengamos preestablecida con anterioridad.\nLa tercera línea del script hace que el ordenador se encienda una vez hayan pasado 15 horas respecto la hora a la que se ejecuta el script. Como el script se ejecutará a las 18:00 horas implica que la hora en que se encenderá el ordenador será a las 9 de la mañana.\nLa última línea es para que el ordenador se apague de forma automática a las 18:05 y de la tarde.\nUna vez copiado el texto guardamos los cambios y cerramos el fichero. El siguiente paso será otorgar los permisos necesarios para que se pueda ejecutar el script. Para ello ejecutamos el siguiente comando en la terminal:\nsudo chmod +x encendermañana.sh Seguidamente repetiremos el mismo proceso con el segundo de los scripts, para ello abrimos la terminal. Justo al abrir la terminal creamos el archivo encendertarde.sh ejecutando el siguiente comando en la terminal:\ntouch encendertarde.sh Una vez creado el archivo lo abriremos ejecutando el siguiente comando en la terminal:\nnano encendertarde.sh Una vez abierto el archivo con el editor de texto nano pegaremos el siguiente código:\n#!/bin/bash sh -c \u0026#34;echo 0 \u0026gt; /sys/class/rtc/rtc0/wakealarm\u0026#34; sh -c \u0026#34;echo `date \u0026#39;+%s\u0026#39; -d \u0026#39;+ 120 minutes\u0026#39;` \u0026gt; /sys/class/rtc/rtc0/wakealarm\u0026#34; shutdown -h 13:05 El funcionalidad de cada una de las lineas del script es la siguiente:\nLa primera de las líneas del script es para asegurar que el contenido del fichero que estamos generando se interpretará como un script de bash.\nLa segunda línea del script resetea cualquier alarma que tengamos preestablecida con anterioridad.\nLa tercera línea hace que el ordenador se encienda una vez hayan pasado 120 minutos respecto la hora en que se ejecuta el script. Como el script se ejecutará a las 13:00 horas implica que la hora en que se encenderá el ordenador será las 15:00 de la tarde.\nFinalmente la última línea es para que el ordenador se apague de forma automática a las 13:05 horas del mediodía.\nUna vez copiado el texto guardamos los cambios y cerramos el fichero. El siguiente paso será otorgar los permisos necesarios para que se pueda ejecutar el script. Para ello ejecutamos el siguiente comando en la terminal:\nsudo chmod +x encendertarde.sh Programar los encendidos y apagador del ordenador con Crontab Una vez generados los scripts tan solo tenemos que programar la hora en que queremos que se ejecuten. Para ello utilizaremos cron ejecutando el siguiente comando en la terminal:\nsudo crontab -e Una vez abierto el editor de texto tenemos que editar el contenido del fichero crontab para ejecutar los scripts de encendido y apagado del ordenador que hemos realizado.\nLa estructura a usar para programar la ejecución de los scripts es la siguiente:\nm h dom mon dow ruta_del_script Cada una de las partes de este comando la tendréis que reemplazar por los siguientes términos:\nm: Reemplazar m por un número entre el 0 y el 59. Este número indica el minuto en el que queremos que se ejecute el script que queremos ejecutar.\nh: Reemplazar h por un número entre el 0 y el 23. Este número indica la hora en la que queremos que se ejecute el script que queremos ejecutar.\ndom: Reemplazar dom por un número entre el 1 y el 31. Este número indica el día del mes en el que queremos que se ejecute el script que queremos ejecutar. Si queremos que nuestro script se ejecute todos los días del mes hay que reemplazar m por un *. Si queremos que nuestro ordenador solo se encienda los días 10 y 20 deberemos reemplazar la letra m por 10, 20, etc.\nmon: Reemplazar mon por un número entre el 1 y el 12. Este número indica el número de mes en el que queremos que se ejecute nuestro script. Si queremos que nuestro script se ejecute todos los meses hay que reemplazar mon por un *\ndow: Reemplazar dow por un número entre el 0 y el 6. Este número indica el día de la semana en el que queremos que se ejecute el script. Si escribimos un cero se ejecutará el domingo y si escribimos un 6 se ejecutará el sábado. Si queremos que el script se ejecute todos los días deberemos reemplazar dow por un *. Si queremos que el script se ejecute todos los días de la semana a excepción del Sábado y del Domingo escribiremos 1-5.\nruta_del_script: Esta parte del comando simplemente hay que reemplazarla por la ruta del script que queremos ejecutar.\nPor lo tanto si queremos que se ejecuten los scripts, tal y como se puede ver en la captura de pantalla, tenemos que introducir los siguientes comandos dentro del archivo crontab:\n00 18 * * 1-5 /home/joan/encedermañana.sh 00 13 * * 1-5 /home/joan/encendertarde.sh Nota: En este apartado hay que tener en cuenta que la hora de ejecución de los scripts tiene que estar en consonancia con las horas de encendido y apagado que hemos usado en los scripts. Si no es así el ordenador no se encenderá ni apagará cuando nosotros queramos. Una vez editado el fichero guardamos los cambios y cerramos el fichero. Para que los cambios surjan efecto tenemos que reiniciar el servicio cron. Para ello ejecutamos el siguiente comando en la terminal:\nsudo service cron restart Una vez realizados estos pasos, el proceso ha terminado y podemos estar seguros que todos los días de Lunes a Viernes nuestro ordenador se encenderá y apagará en las horas que hemos indicado en el inicio de este apartado.\nVentajas e inconvenientes de este método Aplicando el método que acabamos de ver solucionamos prácticamente la totalidad de inconvenientes de los métodos anteriores. Así por lo tanto este método nos proporcionará las siguientes ventajas:\nPodemos programar la hora de encendido de nuestro ordenador sin tener que acceder a la BIOS. De una sola tacada podemos programar todos los días que queremos que se encienda nuestro ordenador. Por lo tanto no es necesario que en cada reinicio del ordenador estemos pendientes de programar el siguiente inicio. Aparte de programar el encendido del ordenador podemos realizar muchísimas más acciones, como por ejemplo apagar el ordenador a una hora determinada. Para incluir las acciones adicionales tan solo tenemos que introducir el código adecuado en cada uno de los scripts que hemos generado. Como contrapartida este método es más complicado y laborioso de implementar en comparación con los métodos anteriores. Además este método únicamente es aplicable en sistemas operativos GNU-Linux.\nMÉTODO 4: PROGRAMAR LA HORA DE ENCENDIDO MEDIANTE UNA INTERFAZ GRÁFICA En el caso que prefiráis programar la hora de encendido mediante una aplicación gráfica también tenemos alternativas disponibles. El software que en mi caso he probado y me ha funcionado a la perfección es wakeup.\nWakeup tiene otras utilidades aparte de programar el encendido del ordenador. Wakeup es también un software que sirve para programar alarmas a horas concretas. En el momento de activarse la alarma, el programa permite que se ejecuten ciertas acciones como por ejemplo:\nQue se nos de información meteorológica. Que se nos cuenten los emails nuevos de nuestra cuenta de gmail. Que se reproduzca un sonido o cualquier fichero mp3. etc. Por lo tanto si queremos también podremos usar wakeup como despertador, ya que cuando se enciende el ordenador podemos ordenar que se reproduzca nuestra canción preferida.\nInstalar Wakeup Para instalar wakeup tan solo hay que abrir una terminal y ejecutar el siguiente comando:\nsudo apt-get install wakeup Nota: En el caso que los repositorios de vuestra distribución no disponga del software wakeup, podéis descargar el paquete binario o el código fuente desde el siguiente enlace. Una vez instalado wakeup tan solo tenemos que abrirlo y empezar a programar la hora en que queremos que se encienda nuestro ordenador.\nProgramar la hora de encendido del ordenador con wakeup Una vez abierto el software wakeup, nos encontraremos con la siguiente ventana:\nEn esta ventana, tal y como se puede ver en la captura de pantalla, tenemos que clicar encima de la opción Edit multiple alarms. Una vez clicada la opción aparecerá la siguiente pantalla:\nEn esta pantalla, tal y como se puede ver en la captura de pantalla, tenemos que presionar el símbolo +. Una vez presionado el símbolo +, tal y como se puede ver en la captura de pantalla, se programará una alarma de forma completamente automática.\nUna vez introducida la alarma la seleccionamos y seguidamente, tal y como se puede ver en la captura de pantalla, presionamos en el botón Preferencias. Después de presionar le botón de preferencias aparecerá la siguiente ventana en la que tendremos diversas formas de programar la hora de encendido de nuestro ordenador.\nNota: Por vuestra cuenta podéis mirar y probar las diferentes opciones que proporcionan la pestaña Voices y Plugins. En las pestañas Voices y Plugins podréis personalizar acciones que se ejecutaran una vez se inicie la alarma. Tal y como se puede ver en la captura de pantalla, en mi caso he programado que el ordenador se encienda todos los Lunes y Martes a las 8 horas y 30 minutos. Es importante que una vez fijada la hora de encendido tildéis la celda Set computer to wake up for alarm (Requires root permission). Una vez realizados estos pasos, tal y como se puede ver en la captura de pantalla, tan solo tenemos que apretar encima del botón Aceptar. Una vez apretado el botón aceptar aparecerá la siguiente pantalla:\nEn estos momentos si queremos crear una nueva alarma deberemos repetir de nuevo los pasos que acabamos de llevar a término. Si por lo contrario tenemos todas las alarmas programadas, tal y como se puede ver en la captura de pantalla, tendremos que presionar encima del botón Aplicar.\nUna vez presionado el botón Aplicar el proceso a terminado. En estos momentos podemos cerrar el ordenador y podemos estar seguros que la totalidad de Lunes y Miércoles nuestro ordenador se abrirá a las 8 horas y 30 minutos.\nVentajas e inconvenientes de este método El último de los métodos que hemos visto en este post presenta la gran ventaja de poder programar la totalidad de inicios que queramos de forma gráfica y sencilla. Para quien no quiera complicarse la vida y quiera una solución polivalente sin duda es una muy buena opción.\nNo obstante aunque es una solución muy práctica, si la comparamos con el método 3, veremos que presenta limitaciones por el mero hecho de depender de una GUI.\nMientras que con el método 3 podemos realizar absolutamente lo que queramos introduciendo el código adecuado en los scripts, en el método 4 solo podemos realizar las acciones que nos permite realizar la GUI que ha diseñado el programador.\nOTROS MÉTODOS PARA PROGRAMAR EL ENCENDIDO DEL ORDENADOR En este post se presentan distintas formas para poder programar el inicio de nuestro ordenador para que cada uno use la forma que más le convenga. No obstante aún existen opciones adicionales no comentadas en el post como por ejemplo usar otras aplicaciones de terceros o programar un script.\nEn el caso que alguien proponga un método alternativo interesante puedo escribir un post sobre ello.\n","permalink":"https://geeklandlinux.github.io/posts/programar-el-encendido-automatico-del-ordenador/","summary":"\u003cp\u003eHace unas semanas vimos varias formas para \u003ca href=\"/posts/programar-el-apagado-del-ordenador/\"\u003eprogramar el apagado del ordenador\u003c/a\u003e. En esta ocasión veremos como podemos programar el encendido del ordenador a una hora determinada.\u003c/p\u003e","title":"Programar el encendido automático del ordenador"},{"content":"Skype es una herramienta que uso habitualmente en mi trabajo. Además todo el mundo coincidirá en que es una herramienta que utiliza un gran numero de personas en su trabajo. Por lo tanto bajo mi punto de visto tiene que ser una herramienta seria, fácil de usar, que funcione y que tenga un entorno gráfico que no distraiga al usuario. Pero tal es mi sorpresa que un buen día mientras estaba manteniendo una conversación importante con un proveedor tenía que estar constantemente viendo ads y publicidad como la que se muestra en la siguiente captura de pantalla:\nSin duda me lleve una sorpresa negativa y me da realmente pena que Microsoft haya comprado una plataforma como skype para ir transformándola paulatinamente en algo parecido al antiguo Microsoft Messenger. Seguramente skype lleva tiempo introduciendo anuncios en su programa, pero en mi caso no me había dado cuenta hasta este momento.\nJusto después de finalizar la conversación con el proveedor me puse manos a la obra para intentar deshacerme de la publicidad y finalmente lo conseguí. Los pasos a realizar para librarse de la publicad en Skype son los siguientes:\nPASO 1: DESACTIVAR LAS COOKIES Y LA PUBLICIDAD SEGMENTADA DE SKYPE Skype es un software que vulnera la privacidad de sus usuarios de forma predeterminada por los siguientes motivos:\nSkype utiliza los datos de nuestro perfil de skype para intentar ofrecernos publicidad adaptada a nuestros intereses. Skype utiliza cookies para intentar obtener información de como los usuarios usan Skype, para reconocer nuestras preferencias y para en definitiva ayudarles a mejorar su servicio. Pero también utilizan estas cookies para intentar ofrecer publicidad adaptada a nuestros gustos y necesidades. Nota: Quien quiera obtener información adicional de lo que son las cookies de Skype puede consultar el siguiente enlace. Nota: Quien quiera obtener información adicional acerca de la publicidad segmentada de Microsoft puede visitar el siguiente enlace. Para intentar solucionar el problema de privacidad que acabamos de mencionar desactivaremos las cookies y la publicidad segmentada de la siguiente forma:\nTal y como se puede ver en la captura de pantalla, accedemos al menú Herramientas. Dentro del menú Herramientas clicamos encima de Opciones…\nJusto después de presionar sobre opciones\u0026hellip; se abrirá la siguiente ventana de configuración:\nTal y como se puede ver en la captura de pantalla, en la parte de la izquierda clicamos encima de la opción Privacidad y seguidamente clicamos en la opción Configuración de privacidad. Seguidamente, tal y como se puede ver en la captura de pantalla, destildamos las siguientes opciones:\nAceptar Cookies\nPermitir publicidad segmentada de Microsoft y el uso de la información sobre edad y el sexo que figuran en el perfil\nUna vez desactivadas estas opciones, tal y como se puede ver en la captura de pantalla, presionamos el botón Guardar. Después de realizar estos pasos Microsoft debería ser más respetuoso con nuestra privacidad.\nNota: El procedimiento de desactivación de cookies y publicidad segmentada mostrada en este apartado es para los usuarios de Microsoft Windows. Quien use Skype en plataformas móviles como Android e iOS, también le recomiendo que entre en la configuración de la App para desactivar estas opciones. PASO 2: BLOQUEAR LOS ANUNCIOS PUBLICITARIOS EN SKYPE Una vez solucionado el tema de la privacidad toca solucionar el tema de los anuncios. El primer paso a seguir para quitar los anuncios en Skype es acceder al panel de control. Para acceder al panel de control presionaremos la combinación de teclas Win+r. Después de presionar esta combinación de teclas aparecerá la ventana de Ejecutar.\nEn la ventana ejecutar, tal y como se puede ver en la captura de pantalla, tenemos que escribir la palabra control y presionar el botón Aceptar. Después de presionar el botón aceptar accederemos al panel de Control.\nUna vez dentro del panel de control, tal y como se puede ver en la captura de pantalla, clicamos encima de la opción Redes e Internet.\nSeguidamente, tal y como se puede ver en la captura de pantalla, clicamos encima de la opción Opciones de Internet.\nDespués de presionar encima de Opciones de internet aparecerá la ventana de Propiedades de Internet. Tal y como se puede ver en la captura de pantalla deberemos seleccionar la pestaña Seguridad y seguidamente presionar encima de la opción Sitios restringidos. Finalmente deberemos presionar encima del botón Sitios.\nAl presionar el botón Sitios se abrirá la siguiente ventana para configurar los sitios restringidos.\nEn esta ventana, tal y como se puede ver en la captura de pantalla, tenemos que agregar los siguientes sitios restringidos:\napps.skype.com\ng.msn.com\nPara ello en el campo Agregar este sitio web a la zona de escribimos el primero de los sitios registringidos y presionamos el botón Agregar. Seguidamente repetimos la operación con el segundo de los sitios restringidos y para finalizar presionamos el botón Cerrar.\nA continuación, tal y como se puede ver en la captura de pantalla, tendremos que presionar encima del botón Aplicar y finalmente presionaremos en el botón Aceptar.\nEn estos momentos ya no debería ningún anunció en la aplicación de Skype.\nPASO 3: ELIMINAR EL RECUADRO DONDE APARECE LA PUBLICIDAD Tal y como se puede ver en la captura de pantalla ya no aparecen anuncios en skype, pero vemos que en el sitio donde aparecían los anuncios ahora aparece un molesto cuadro de una tonalidad azul que nos está robando pantalla.\nPara solucionar este problema tan solo tenemos que seguir los siguientes pasos. Tenemos que abrir el explorador de archivos y navegar a la siguientes ubicación:\nC:\\Usuarios\\nombreusuariopc\\AppData\\Roaming\\Skype\\nombreusuarioskype\nNota: Las partes de la ruta que están en color color rojo se deben sustituir por el nombre de usuario de vuestro ordenador y por vuestro nombre de usuario de skype. Una vez dentro de la ubicación, tal y como se puede ver en la captura de pantalla, clicamos una vez encima del archivo config.xml y presionamos el botón derecho del mouse. Seguidamente cuando aparezca el menú contextual seleccionamos la opción Abrir con y seguidamente clicamos encima de la opción Bloc de Notas.\nSeguidamente se abrirá el Bloc de notas de Windows con el contenido del archivo config.xml.\nUna vez abierto el archivo, tal y como se puede ver en el captura de pantalla, deberemos buscar la siguiente línea:\n\u0026lt;AdvertPlaceholder\u0026gt;1\u0026lt;AdvertPlaceholder\u0026gt; Una vez encontrada la deberemos sustituir por la siguiente:\n\u0026lt;AdvertPlaceholder\u0026gt;0\u0026lt;AdvertPlaceholder\u0026gt; Una vez realizados las modificaciones tan solo tenemos que guardar los cambios y el proceso ha finalizado.\nEn estos momentos, tal y como se puede ver en la captura de pantalla, cuando arranquemos Skype no hay rastro de publicidad y además estaremos aprovechando la totalidad de la superficie de nuestra pantalla.\nAsí de esta forma tan fácil y rápida podemos librarnos sin problemas de la publicidad que aparece en Skype.\n","permalink":"https://geeklandlinux.github.io/posts/quitar-la-publicidad-en-skype-y-mejorar-nuestra-privacidad/","summary":"\u003cp\u003eSkype es una herramienta que uso habitualmente en mi trabajo. Además todo el mundo coincidirá en que es una herramienta que utiliza un gran numero de personas en su trabajo. Por lo tanto bajo mi punto de visto tiene que ser una herramienta seria, fácil de usar, que funcione y que tenga un entorno gráfico que no distraiga al usuario. Pero tal es mi sorpresa que un buen día mientras estaba manteniendo una conversación importante con un proveedor tenía que estar constantemente viendo ads y publicidad como la que se muestra en la siguiente captura de pantalla:\u003c/p\u003e","title":"Quitar la publicidad en Skype y mejorar nuestra privacidad"},{"content":"Es posible que un determinado día intenten abrir el gestor de correo Thunderbird y no arranque. En la gran mayoría de casos el gestor de correo no arrancará debido a un problema de configuración o a un problema de funcionamiento de alguno de los plugins/complementos que usamos.\nSi este es vuestro caso podemos usar el modo seguro de Thunderbird para intentar solucionar el problema.\nNota: En la mayoría de casos el hecho reinstalar Thunderbird no solucionará el problema ya que aunque reinstalemos el programa, la configuración no se modificará y Thunderbird seguirá teniendo el mismo problema. ¿QUÉ ES EL MODO SEGURO EN THUNDERBIRD? El modo seguro de Thunderbird es un modo especial que se acostumbra a utilizar para resolver problemas.\nEn el momento de habilitar Thunderbird en modo seguro, nuestro gestor de correo electrónico se ejecutará con la totalidad de plugins y extensiones desactivadas. De este modo, si el problema que tenemos con Thunderbird es de configuración o de alguna de las extensiones que tenemos instaladas, Thunderbird arrancará sin problemas.\nUna vez hayamos arrancado Thunderbird en modo seguro podremos deshabilitar las extensiones o configuraciones que son las causantes que no podamos iniciar Thunderbird en modo normal.\nREALIZAR UNA COPIA DE SEGURIDAD DE NUESTRA INFORMACIÓN Y NUESTRA CONFIGURACIÓN Antes de realizar cualquier cambio, y para evitar daños mayores, vamos a realizar una copia de seguridad de nuestros datos y de nuestra configuración.\nPara ello tan solo tenemos que realizar una copia de la carpeta de Thunderbird que contiene nuestro perfil. La ubicación de esta carpeta varia en función del sistema operativo que usemos. Así por ejemplo:\nSi disponemos de un sistema operativo Gnu-Linux, la ubicación de la carpeta que contiene la totalidad de información de nuestro perfil es la siguiente:\n~/.thunderbird/ Si disponemos de un sistema operativo Windows, la ubicación de la carpeta que contiene la totalidad de información de nuestro perfil es la siguiente:\nC:\\Users\\\u0026lt;Windows login/nombre usuario\u0026gt;\\AppData\\Roaming\\Thunderbird\\Profiles\\ Si disponemos de un sistema operativo Mac OS, la ubicación de la carpeta que contiene la totalidad de información de nuestro perfil es la siguiente:\n~/Library/Thunderbird/Profiles/ o la siguiente:\n~/Library/Application Support/Thunderbird/Profiles/ Como en mi caso dispongo de un sistema operativo Gnu-Linux abriré una terminal y ejecutaré el siguiente comando para realizar la copia de seguridad:\ncp -r ~/.thunderbird/ /media/DATOS/ De este modo copiaré la totalidad de datos y configuración de mi gestor de correo Thunderbird a mi partición de datos. Una vez realizada la copia de seguridad ya podemos intentar solucionar el problema.\nNota: Otra opción para realizar la copia de seguridad es simplemente buscar la carpeta en nuestro gestor de archivos. Una vez hallada la copiamos y la pegamos en la ubicación que nosotros queramos. Nota: Para quien tenga inquietud en saber la totalidad de datos que almacena nuestro perfil de Thunderbird puede consultar el siguiente enlace. ARRANCAR THUNDERBIRD EN MODO SEGURO Para arrancar Thunderbird en modo seguro tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\nthunderbird -safe-mode Después de ejecutar el comando inmediatamente se iniciará el modo seguro de Thunderbird.\nNota: El método para arrancar en modo seguro que acabamos de mencionar es válido para Linux, para Windows y para Mac OS. SOLUCIONAR PROBLEMAS CON EL MODO SEGURO Justo al iniciarse el modo seguro aparecerá la siguiente ventana:\nEn la ventana presionaremos el botón Continuar en modo seguro. Justo después de presionar el botón Thunderbird se debería iniciar con la totalidad de complementos y configuraciones personales desactivadas.\nUna vez iniciado Thunderbird procederemos a desactivar los complementos que pensamos que pueden estar ocasionando el problema. Para ello, tal y como se puede ver en la captura de pantalla, tenemos que ir al menú Herramientas y seguidamente clicar encima de la opción Complementos.\nDespués de clicar en la opción Complementos se abrirá la pestaña del Administrador de complementos en la que podremos desactivar/inhabilitar la totalidad de complementos y configuraciones de Thunderbird.\nPara deshabilitar los complementos, tan solo tenemos que clicar en cada uno de los apartados que nos aparecen en la parte izquierda de la ventana e ir desactivando todo lo que nos parece sospechoso de crear un mal funcionamiento.\nPor lo tanto, tal y como se puede ver en la captura de pantalla, clicamos encima del apartado Extensiones y seguidamente procedemos a desactivar la extensión Enviar más Tarde que es una posible candidata de crear un mal funcionamiento.\nNota: No os limitéis a desactivar complementos del apartado Extensiones. Hay que estudiar detalladamente la totalidad de apartados que aparecen en el administrador de complementos, como por ejemplo la pestaña de Plugins, la pestaña Idiomas, la pestaña de Diccionarios, etc. Una vez desactivado el complemento que pensamos que puede estar ocasionando el problema cerramos Thunderbird. Una vez cerrado Thunderbird lo volvemos abrir tal y como lo hacemos habitualmente.\nThunderbird se abrirá de forma habitual pero con la diferencia que el complemento Enviar más tarde estará completamente desactivado. Por lo tanto:\nSi Thunderbird arranca correctamente hemos solucionado el problema y sabemos que el problema lo estaba causando la extensión Enviar más tarde.\nSi Thunderbird no arranca correctamente deberemos repetir de nuevo el proceso descrito en este post para intentar hallar el complemento que está causando el problema.\nOTROS PROCEDIMIENTOS A USAR PARA SOLUCIONAR PROBLEMAS CON THUNDERBIRD Si después de desactivar la totalidad de complementos no se soluciona el problema podemos probar de realizar la siguiente acción. Abrimos una terminal y ejecutamos el modo seguro de Thunderbird ejecutando el siguiente comando:\nthunderbird -safe-mode Justo después de ejecutar el comando aparecerá la siguiente ventana:\nTal y como se puede ver en la captura de pantalla, en esta ocasión marcaremos las opciones:\nDesactivar todos los complementos Reiniciar barras de herramientas y controles\nJusto después de marcar las opciones presionaremos el botón Hacer cambios y reiniciar. De este modo conseguiremos desactivar permanentemente la totalidad de complementos del gestor de correo y además se reseteará completamente la configuración del programa Thunderbird.\nSi el procedimiento funciona Thunderbird arrancará sin ningún tipo de problema y lo único que tendremos que realizar es activar los complementos que más nos interesen y realizar cuatro ajustes básicos de configuración.\nSOLUCIONAR PROBLEMAS CREANDO UN PERFIL NUEVO Sí después de realizar todos los pasos anteriores seguimos sin poder acceder a nuestra cuenta de correo electrónico no tendremos más remedio que emplear acciones drásticas.\nPara emplear acciones drásticas empezaremos eliminando completamente nuestro perfil de usuario. Para ello, tal y como se puede ver en la captura de pantalla, tan solo tenemos que ir a la ubicación en que tenemos guardada la carpeta de nuestro perfil y borrarla.\nNota: Antes de borrar la carpeta recuerdo que es imprescindible que tengáis realizada una copia de seguridad. Si habéis seguido los pasos de este post tendréis realizada la copia de seguridad. Nota: La ubicación de la carpeta de nuestro perfil varia en función del sistema operativo que usemos. Para conocer la ubicación exacta en función del sistema operativo podéis consultar el apartado como realizar una copia de seguridad. Una vez borrada la carpeta tenemos que abrir Thunderbird. En el momento de abrir Thunderbird, como hemos borrado la carpeta que contiene los perfiles, veremos que no hay absolutamente ninguna cuenta de correo configurada y el comportamiento es exactamente el mismo que la primera vez que abrimos Thunderbird.\nUna vez abierto Thunderbird deberemos configurar nuestra cuenta de correo desde cero. En el caso de usar una cuenta de correo electrónico con el protocolo Imap lo tendremos muy fácil ya que después de configurar la cuenta de correo, se descargarán la totalidad de emails de nuestra cuenta de correo electrónico en nuestro gestor de correo electrónico.\nEn el caso poco probable de usar una cuenta de correo con el protocolo POP3, el procedimiento se complicará ya que después de configurar la cuenta de correo deberemos rescatar los archivos que contienen nuestros correos de la copia de seguridad y ubicarlos en la carpeta correspondiente del nuevo perfil. En el caso de encontrarse en este situación pueden consultar el siguiente enlace para saber la carpeta de nuestro perfil que contiene nuestros emails.\nNota: Después de seguir la totalidad de pasos en este post deberíamos haber solucionado nuestro problema. En caso contrario lo más probable es que el problema sea que el gestor de correo Thunderbird tenga algún bug. Frente a esta situación deberemos esperar a que la gente de mozilla saquen una actualización que solucione el problema.","permalink":"https://geeklandlinux.github.io/posts/solucionar-problemas-en-thunderbird/","summary":"\u003cp\u003eEs posible que un determinado día intenten abrir el gestor de correo Thunderbird y no arranque. En la gran mayoría de casos el gestor de correo no arrancará debido a un problema de configuración o a un problema de funcionamiento de alguno de los plugins/complementos que usamos.\u003c/p\u003e","title":"Solucionar problemas en Thunderbird"},{"content":"Hace ya muchos años que existen los servicios de email temporal. No obstante no todo el mundo conoce el uso y las precauciones que hay que tener al usar este tipo de servicios. Por esto motivo he redactado el siguiente post en el que se detalla que es un email temporal, las utilidades que le podemos dar y finalmente se detallan una serie de consejos para elegir un servicio de email temporal que sea adecuado y respetuoso con nuestra privacidad.\n¿QUÉ ES UN EMAIL TEMPORAL? Un email temporal es una cuenta de correo que bajo mi punto de vista tiene que cumplir con las siguientes características:\nLa cuenta de correo se crea sin tener que realizar ningún tipo de registro. Por lo tanto nadie podrá sabrá nuestros datos personales y de este modo estaremos protegiendo nuestra privacidad. La duración de la cuenta de correo electrónico es limitada. Al cabo de un determinado tiempo, que pueden ser horas, minutos o días, la cuenta de correo electrónico dejará de existir y toda la información relacionada con la cuenta de correo electrónico desaparecerá. ¿QUÉ UTILIDADES PODEMOS DAR A UN EMAIL TEMPORAL? La única utilidad que tienen las cuentas de email temporal son evitar el Spam.\nEn multitud de ocasiones tenemos que proporcionar nuestro email para poder registrarnos a foros, suscribirnos a un sitio web, para realizar una descarga de un determinado sitio web, etc. En el momento de proporcionar nuestra dirección de correo electrónico es muy posible que nuestro correo acabe formando parte de una base de datos que se usará para enviarnos publicidad. En ocasiones incluso es posible que estas bases de datos con nuestros correos sean robadas por spammers o vendidas a terceros con las consiguientes consecuencias.\n¿QUÉ UTILIDADES NO SE DEBEN DAR A UN EMAIL TEMPORAL? No debemos usar este tipo de servicio para enviar o recibir correos que contengan información privada o datos personales. La seguridad de la información transmitida por la gran mayoría de estos servicios brilla por su ausencia y además existen servicios, como por ejemplo yopmail, que deja a la vista pública la totalidad de los mensajes enviados por sus usuarios.\nObviamente no deberemos usar un email temporal para suscribirnos a servicios que acostumbramos a usar habitualmente porqué perderíamos la totalidad de información y notificaciones que este servicio nos proporciona a través de nuestro correo.\nUn email temporal no es para enviar mensajes importantes. Existe la posibilidad que algunos de los emails que mandamos no acaben llegando nunca a sus destinatarios porque la IP o el dominio del servidor de email temporal estén bloqueados por spam o por el administrador del servidor receptor del mensaje.\nSERVICIOS DE EMAIL TEMPORAL NO RECOMENDABLES Existen multitud de servicios de email temporal, pero no todos funcionan del mismo modo. Algunas variantes de funcionamiento de este tipo de servicios son los siguientes:\nExisten servicios de email temporal que redireccionan el email basura a nuestra cuenta de correo electrónico real. Por temas de privacidad aconsejo evitar este tipo de servicios ya que el correo real se puede usar para asociarlo con todas las direcciones de email temporal que hayamos usado. Algunos de los servicios que trabajan de esta forma son por ejemplo Jetable y Trashmail. Existen servicios en que la información de nuestras cuentas de correo electrónico temporal es pública. Cualquiera que introduzca nuestra dirección de correo temporal podrá ver nuestros mensajes. Algunos de estos servicios son yopmail y mailnator. Obviamente es recomendable no usar este tipo de servicios. Hay servicios que independientemente de su funcionamiento nos exigen un registro e introducir nuestros datos personales. Obviamente desaconsejo el uso de este tipo de servicios porque estos servicios no necesitas nuestros datos para nada. SERVICIOS DE EMAIL TEMPORAL RECOMENDABLES Algunos de los servicios de email temporal que a priori considero recomendables son los siguientes:\n10minutemail.com: Servicio recomendable que justo después de entrar en su web te crea una dirección de correo electrónico completamente aleatoria que será válida durante 10 minutos. Una vez transcurridos los 10 minutos la cuenta de correo electrónico se autodestruirá y nunca más se podrá volver a recuperar. El contenido de nuestro buzón de entrada y de salida es privado y únicamente nosotros tendremos acceso a él.\n10minutemail.net: Servicio que justo al entrar en su web te crea una cuenta de correo electrónico completamente aleatoria que será válida durante 10 minutos. El contenido de nuestro buzón de entrada y de salida es privado y únicamente nosotros tendremos acceso a él. Una vez transcurridos los 10 minutos de vida de la cuenta, el servicio nos ofrece la opción de prolongar la duración de la dirección de email o eliminarla completamente y crear otra de nueva.\nNowMyMail: Servicio de email temporal que nos proporciona una dirección de email temporal aleatoria que será válida durante una hora. Después de la hora el contenido de nuestro email temporal se borrará.\nNota: En los servicios de email temporal recomiendo borrar los mensajes de la bandeja de entrada una vez leídos. De este modo minimizaremos la probabilidad de que terceros puedan leer nuestros mensajes. Nota: Si buscáis en Google encontraréis muy fácilmente multitud de servicios adicionales de email temporal a los que recomiendo en este artículo. Usad el que que creáis que sean más seguro siguiendo las recomendaciones de este post. ALTERNATIVAS AL EMAIL TEMPORAL En el caso que no os convenza la opción de usar un email temporal para combatir el spam, siempre tenemos otras opciones como por ejemplo crear una cuenta de correo electrónico normal que usaremos siempre que sospechemos que alguien quiera usar nuestra dirección de correo para enviarnos spam.\nAsí en el caso que queramos suscribirnos a un foro, o tengamos que dar nuestra dirección de correo a una persona o ente que queremos que no la tenga, usaremos la cuenta de correo electrónico que hemos creado para estos casos.\n","permalink":"https://geeklandlinux.github.io/posts/que-es-para-que-sirve-email-temporal/","summary":"\u003cp\u003eHace ya muchos años que existen los servicios de email temporal. No obstante no todo el mundo conoce el uso y las precauciones que hay que tener al usar este tipo de servicios. Por esto motivo he redactado el siguiente post en el que se detalla que es un email temporal, las utilidades que le podemos dar y finalmente se detallan una serie de consejos para elegir un servicio de email temporal que sea adecuado y respetuoso con nuestra privacidad.\u003c/p\u003e","title":"¿Qué es y para qué sirve un email temporal?"},{"content":"Los recién iniciados en Linux, o algunas personas que quieran ir un poco más allá, seguramente alguna vez se han preguntado que contiene cada una de las carpetas de su sistema operativo. Con el fin de responder a esta inquietud he decidido redactar este artículo. Al finalizar la lectura de este artículo todo el mundo debería tener una idea clara de como se estructura un sistema operativo GNU-Linux y del contenido que hay en cada uno de los directorios del sistema operativo.\n¿QUÉ ES EL ESTÁNDAR DE JERARQUIA DEL SISTEMA DE ARCHIVOS? El estándar de jerarquía del sistema de archivos, también conocido como FHS (Filesystem Hierarchy Standard), es la norma creada por la comunidad que define los directorios y el contenido de los directorios en los sistemas operativos GNU/Linux y Unix.\nMediante la normativa que fija como debe ser la estructura de directorios en GNU-Linux conseguimos disponer de un sistema de directorios completamente estructurado, coherente y estandarizado obteniendo así las siguiente ventajas:\nEl software que tenemos instalado en nuestro ordenador sabe en todo momento las carpetas y los permisos de las carpetas de nuestro ordenador. Por lo tanto nuestro software en todo momento sabe donde encontrar y almacenar la información que necesita para su funcionamiento. Los usuarios saben en todo momento el contenido que hay en cada una de las carpetas del ordenador. Ayuda a la hora de realizar el mantenimiento de un sistema operativo. Ayuda a otorgar los permisos pertinentes a cada uno de los archivos de nuestro sistema operativo. Nota: El estándar de jerarquía del sistema de archivos es flexible y existe cierta libertad a la hora de aplicar las normas. De hecho ciertas distribuciones GNU-Linux introducen modificaciones a la estructura de directorios estándar para adaptarla a sus necesidades. Nota: Quien requiera de información adicional respecto a la FHS puede consultar el siguiente link. TIPOS DE DIRECTORIOS EN GNU-LINUX En GNU-Linux existen distintos tipos de directorios. Los distintos tipos de directorios existentes según su uso son los siguiente:\nDirectorios compartibles Los directorios compartidos son aquellos directorios que se pueden acceder desde distintos equipos. Por lo tanto los directorios compartibles son aquellos que contienen archivos que se pueden usar desde otros equipos.\nAlgunos ejemplos de directorios compartibles son:\n/var/mail, /opt, /home, /var/www/html, /usr, etc. Directorios no compartibles Al contrario que los directorios compartibles, los directorios no compartibles son aquellos directorios que no se pueden compartir y su acceso y modificación están limitados al administrador del sistema. Por lo tanto los los directorios no compartibles contienen archivos que solo puedes ser accesibles y modificados por el administrador del sistemas.\nAlgunos ejemplos de directorios no compartibles son:\n/etc, /boot, /var/run, etc. Directorios variables Son aquellos directorios que contienen archivos que pueden ser modificados y pueden variar su contenido sin la intervención del administrador del sistema.\nAlgunos ejemplos de directorios variables son:\n/var/log/messages, /var/mail, /var/spool/news, /home, /var/run, etc. Directorios estáticos Son aquellos directorios que contienen archivos que solo pueden ser modificados con la intervención del administrador del sistema.\nAlgunos ejemplos de directorios estáticos son:\n/etc/password, /etc/shadow, /usr, /opt, /etc, /boot, /bin, /sbin, etc. ESTRUCTURA DE DIRECTORIOS EN GNU-LINUX Directorio Raíz (/) El directorio raíz, simbolizado por el símbolo (/), es el directorio principal a partir del cual se ramifican todo el resto de directorios.\nPor lo tanto podemos decir que el directorio raíz es el contenedor de nuestro sistema operativo ya que de él nacen el resto de directorios que tendrá nuestro sistema operativo. Lo que acabamos de comentar se puede ver representado en el siguiente dibujo en que el directorio raíz es la rama principal del árbol.\nDirectorio /bin El directorio /bin es un directorio estático y compartible en el que se almacenan archivos binarios/ejecutables necesarios para el funcionamiento del sistema. Estos archivos binarios los pueden usar la totalidad de usuarios del sistema operativo.\nAlgunos de los archivos ejecutables almacenados en el directorio /bin son cp, echo, tar, cat, mv, rm, ping, cp, gzip, kill, ls, ping, su etc. Estos archivos son los que nos permiten realizar la gran mayoría de utilidades básicas a través de la terminal Linux.\nEl directorio /bin en ningún caso podrá contener subdirectorios.\nDirectorio /boot Es un directorio estático no compartible que contiene la totalidad de archivos necesarios para el arranque del ordenador excepto los archivos de configuración. Algunos de los archivos indispensables para el arranque del sistema que acostumbra a almacenar el directorio /boot son el kernel y el gestor de arranque Grub.\nLa totalidad de contenido almacenado en el directorio /boot es el que se utiliza antes de que el Kernel de comience a ejecutar programas en modo usuario.\nEl directorio /boot puede estar ubicado en su propia partición (partición /boot).\nDirectorio /dev El sistema operativo Gnu-Linux trata los dispositivos de hardware como si fueran un archivo. Estos archivos que representan nuestros dispositivos de hardware se hallan almacenados en el directorio /dev.\nCada vez que nosotros accedemos o usamos un dispositivo de hardware, como puede ser una memoria USB, una impresora, un disco duro externo, un ratón, etc, accedemos al hardware del dispositivo leyendo y escribiendo en el fichero correspondiente ubicado en el directorio /dev.\nAlgunos de los archivos básicos que podemos encontrar en este directorio son:\ncdrom que representa nuestro dispositivo de CDROM. sda que representa nuestro disco duro sata. audio que representa nuestra tarjeta de sonido. psaux que representa el puerto PS/2. lpx que representa nuestra impresora. fd0 que representa nuestra disquetera. etc. Directorio /etc El directorio /etc es un directorio estático que contiene los archivos de configuración del sistema operativo. Este directorio también contiene archivos de configuración para controlar el funcionamiento de diversos programas.\nAlgunos de los archivos de configuración de la carpeta /etc pueden ser sustituidos o complementados por archivos de configuración ubicados en nuestra carpeta personal /home.\nEste directorio solamente contiene archivos de texto y subdirectorios. Estos subdirectorios también contendrán archivos de configuración para configurar partes de nuestro sistema como por ejemplo:\n/etc/apt: Carpeta que contiene ficheros de configuración del gestor de paquetes apt. /etc/opt: Carpeta que contiene los ficheros de configuración para los programas alojados en la carpeta /opt. Algunos programas alojados en esta carpeta pueden ser Spotify, Google-earth, Google Chrome, Teamviewer, etc. /etc/profile: Carpeta que contiene parámetros de configuración de los usuarios para inicializar la shell o interprete de comandos “terminal” /etc/sgml: Carpeta que contiene los ficheros de configuración para SGML. SGML es un lenguaje que se utiliza para la organización y marcado de documentos. /etc/X11: Ficheros para la configuración del sistema X Window etc. Nota: Si quieren más información acerca de la totalidad de subdirectorios que incluye la carpeta /etc pueden consultar el siguiente enlace. Directorio /home El directorio /home se trata de un directorio variable y compartible. Este directorio está destinado a alojar la totalidad de archivos personales de los distintos usuarios del sistema operativo a excepción del usuario root. Algunos de los archivos personales almacenados en la carpeta /home son fotografías, documentos de ofimática, vídeos, etc.\nEsta carpeta también contiene los ficheros de configuración de los programas que utilizan cada uno de los usuarios del sistema operativo a excepción del usuario root.\nTodos los archivos personales y archivos de configuración que acabamos de mencionar se almacenan en subdirectorios dentro de la carpeta /home. Así por ejemplo si en nuestro ordenador tenemos 2 usuarios (usuario1 y usuario2) los archivos personales y de configuración del usuario 1 se almacenarán en la ubicación:\n/home/usuario1 Por otro lado los archivos personales y de configuración del usuario 2 se almacenarán en la carpeta:\n/home/usuario2 De esta forma los archivos personales y de configuración quedan perfectamente clasificados por usuario.\nNormalmente el directorio /home reside un una partición propia. El hecho que el directorio /home resida en una partición propia es importante ya que de este modo podremos reinstalar nuestro sistema operativo sin perder nuestros datos personales y manteniendo la configuración antigua.\nNota: Haciendo un símil forzado con Windows, la partición /home sería similar a la carpeta Mis documentos de Windows. Directorio /lib El directorio /lib es un directorio estático y que puede ser compartible. Este directorio contiene bibliotecas compartidas que son necesarias para arrancar los ejecutables que se almacenan en los directorios /bin y /sbin.\nEste directorio también contiene módulos del kernel y controladores de drivers que son necesarios durante el inicio del sistema y durante el funcionamiento del sistema operativo.\nDirectorio /mnt El directorio /mnt tiene la finalidad de albergar los puntos de montaje de los distintos dispositivos de almacenamiento como por ejemplo discos duros externos, particiones de unidades externas, etc.\nLos medios montados en esta carpeta pueden ser tanto estáticos como variables y por norma general son compartibles.\nDirectorio /media La función del directorio /media es similar a la del directorio /mnt. Este directorio contiene los puntos de montaje de los medios extraíbles de almacenamiento como por ejemplo memorias USB, lectores de CD-ROM, unidades de disquete, etc.\nEn el directorio /media también podemos montar sin ningun tipo de problema medios que montaríamos en el directorio /mnt.\nDirectorio /opt El contenido almacenado en el directorio /opt es estático y compartible. La función de este directorio es almacenar programas que no vienen con nuestro sistema operativo como por ejemplo Spotify, Google-earth, Google Chrome, Teamviewer, etc.\nComo es un directorio compartible los programas presentes en esta carpeta pueden ser usados por todos los usuarios del sistema operativo.\nLa función de este directorio es muy similar a la del directorio /usr/local, pero a diferencia de la carpeta /usr/local en /opt se instalan programas que no siguen los estándares para almacenar su contenido en la carpeta /usr.\nDirectorio /proc El directorio /proc se trata de un sistema de archivos virtual. Este sistema de archivos virtual nos proporciona información acerca de los distintos procesos y aplicaciones que se están ejecutando en nuestro sistema operativo.\nPara cada uno de los procesos en marcha existe un subdirectorio dentro de la carpeta /proc. Dentro del subdirectorio es donde se almacena esta información.\nComo curiosidad decir que la totalidad del contenido almacenado en la carpeta /proc no está almacenado en nuestro disco duro. El contenido de este directorio está almacenado en la memoria RAM y el mismo sistema operativo es quien crea y borra el contenido de la carpeta /proc.\nQuien quiera más información acerca del directorio /proc puede consultar el siguiente enlace.\nDirectorio /root El directorio /root se trata de un directorio variable no compartible. El directorio /root es el directorio /home del administrador del sistema (usuario root).\nDirectorio /sbin El directorio /sbin se trata de un directorio estático y compartible. Su función es similar al directorio /bin, pero a diferencia del directorio /bin, el directorio /sbin almacena archivos binarios/ejecutables que solo puede ejecutar el usuario root o administrador del sistema.\nLos archivos incluidos en el directorio /sbin son aquellos que son primordiales para el arranque, restauración y reparación del sistema operativo. Algunos de los archivos ejecutables almacenados en este directorio son fsck, init, reboot, shutdown, fastboot, etc.\nOtros directorios que contienen programas y binarios para la administración del sistema son el /usr/bin y el /usr/local/sbin.\nDirectorio /srv El directorio /srv se usa para almacenar directorios y datos que usan ciertos servidores que podamos tener instalados en nuestro ordenador.\nAlgunos de los servidores que almacenan datos en el directorio /srv son:\nServidor web apache en el directorio /srv/www Cualquier servidor ftp en la ubicación /srv/ftp Un servidor CVS. Etc. Directorio /tmp El directorio /tmp es es donde se crean y se almacenan los archivos temporales y las variables que los programas puedan funcionar de forma adecuada.\nGeneralmente los sistemas operativos vacían el directorio /tmp cada vez que reiniciamos el ordenador. En el caso que no sea así es recomendable vaciar cada cierto el contenido de esta carpeta.\nDirectorio /usr El directorio /usr es un directorio compartido y estático. Este directorio es el que contiene la gran mayoría de programas instalados en nuestro sistema operativo.\nTodo el contenido almacenado en la carpeta /usr es accesible para todos los usuarios y su contenido es solo de lectura.\nEl directorio /usr contiene una serie de subdirectorios que acostumbran a almacenar la siguiente información:\n/usr/bin: Subdirectorio que almacena los archivos ejecutables del software que tenemos almacenado en nuestro ordenador.\n/usr/include: Subdirectorio que incluye la totalidad de archivos de cabecera que necesita el software instalado en nuestro sistema operativo para que funcione de forma adecuada.\n/usr/lib: Subdirectorio que incluye bibliotecas compartidas y ficheros binarios que únicamente pueden ser ejecutados por el administrador del sistema.\n/usr/local: GNU-Linux es un sistema operativo diseñado para ser usado en entornos de red. Por lo tanto es posible que el directorio /usr no esté instalado localmente en nuestro y esté en un servidor. En estos casos existe el directorio /usr/local que está destinado a alojar los programas que instala localmente el administrador del sistema. Este directorio está protegido de las actualizaciones automáticas de todo el sistema operativo y tiene una estructura de directorios muy similar a la del directorio /usr.\n/usr/sbin: Directorio que contiene archivos binarios para la administración del nuestro equipo no esenciales para el proceso de arranque ni para reparar el ordenador. Estos archivos binarios almacenados en la carpeta /usr/sbin solamente pueden ser usados por el administrador del sistema. Algunos de estos archivos binarios no críticos para administrar el sistema operativo pueden ser por ejemplo varios demonios para diversos servicios de red, xcalib para calibrar el color de nuestro monitores, etc.\n/usr/share: En el directorio /usr/share encontramos archivos de texto compartibles que son independientes de la arquitectura del sistema operativo. En este directorio podemos encontrar por ejemplo los archivos de ayuda como por ejemplo los documentos info y las páginas de man, ficheros de configuración, imágenes, iconos, themes, etc.\n/usr/src: En el directorio /usr/src normalmente encontramos el código fuente de algunas aplicaciones y del kernel que tenemos instalado en nuestro sistema operativo.\nDirectorio /var El directorio /var contiene archivos de datos variables y temporales como por ejemplo los registros del sistema (logs), los registros de programas que tenemos instalados en el sistema operativo, archivos spool, etc.\nLa principal función del directorio /var es la detectar problemas y solucionarlos. Se recomienda ubicar el directorio /var en una partición propia, y en caso de no ser posible es recomendable ubicarlo fuera de la partición raíz.\nAlgunos de los subdirectorios importantes que están dentro de la carpeta /var son los siguientes:\n/var/cache: Subdirectorio pensado para almacenar datos de aplicaciones en modo cache. Un ejemplo de lo que acabo de citar es apt-get. En el momento de instalar una aplicación con apt-get se almacena una copia del paquete binario instalado en la ubicación /var/cache/apt/archives/. Así en el caso que desinstalaramos el programa y quisiéramos volver instalarlo no seria necesario descargar el fichero binario de nuevo y la instalación seria inmediata.\n/var/lib: En este subdirectorio encontramos información sobre el estado de las aplicaciones. Este directorio también contiene bases de datos del sistema.\n/var/lock: Directorio en el que se hallan los archivos de bloqueo que crean ciertos programas. La función de los archivos de bloqueo creados por algunos programas, como por ejemplo un servidor web, es evitar que ciertos recursos sean usados por otros programas que no sean el propio servidor web. En el momento de cerrar la aplicación que ha generado el archivo de bloqueo, el archivo de bloqueo desaparece.\n/var/log: En el directorio /var/log se encuentran de forma clasificada gran parte de los registros de nuestros programas y del sistema operativo. Este directorio es muy importante ya que en caso de problemas, el administrador del sistema lo puede consultar para intentar averiguar la causa del problema. Los log o registros se encuentran perfectamente clasificados, así por lo tanto si queremos consultar los registros generados por el kernel tendremos que consultar el archivo /var/log/messages, si queremos consultar los accesos a nuestro sistema operativo podemos consultar el archivo /var/log/wtmp, etc.\n/var/mail: Directorio en el que se ubican los archivos de correo electrónico de cada uno de los usuarios del servidor de mail. También es posible ubicar nuestros archivos de correo electrónico en la partición /home.\n/var/opt: En el directorio /var/opt se almacenan datos variables que utilizan los programas instalados en la ubicación /opt.\n/var/run: El directorio /var/run contiene información de la sesión que estamos ejecutando. Ejemplos de la información que contienen los archivos de esta carpeta son los demonios que están en ejecución, los usuarios que están logueados, los procesos que están activos, etc.\n/var/spool: Directorio que almacena archivos que controlan la tareas pendientes de realizar. Así por ejemplo en el directorio /var/spool/cups encontraremos los archivos que gestionan los trabajos de impresión en espera, en el directorio /var/spool/cron encontraremos los archivos que gestionan las tareas planificadas pendientes de ejecutar, etc.\n/var/tmp: Directorio que al igual que el directorio /tmp contiene archivos temporales. La principal diferencia entre los directorios /var/tmp y /tmp es que los archivos temporales ubicados en la carpeta /tmp se acostumbran a borrar automáticamente entre sesiones o reinicios del sistema, mientras que los archivos temporales ubicados en el directorio /var/tmp no lo hacen.\nDirectorio /sys Directorio que contiene información similar a la del directorio /proc. Dentro de esta carpeta podemos encontrar información estructurada y jerárquica acerca del kernel de nuestro equipo, de nuestras particiones y sistemas de archivo, de nuestros drivers, etc.\nDirectorio /lost+found Directorio que se crea en las particiones de disco con un sistema de archivos ext después ejecutar herramientas para restaurar y recuperar el sistema operativo como por ejemplo fsch.\nSi nuestro sistema no ha presentado problemas este directorio estará completamente vacío. En el caso que hayan habido problemas este directorio contendrá ficheros y directorios que han sido recuperados tras la caída del sistema operativo.\nPara finalizar solo comentar que espero que esta pequeña explicación les haya sido útil para tener una idea genérica del contenido que se encuentra en cada una de las carpetas de nuestro sistema operativo.\nBIBLIOGRAFIA http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/index.html http://www.pathname.com/fhs/ https://es.wikipedia.org/wiki/Filesystem_Hierarchy_Standard\n","permalink":"https://geeklandlinux.github.io/posts/estructura-de-directorios-en-linux/","summary":"\u003cp\u003eLos recién iniciados en Linux, o algunas personas que quieran ir un poco más allá, seguramente alguna vez se han preguntado que contiene cada una de las carpetas de su sistema operativo. Con el fin de responder a esta inquietud he decidido redactar este artículo. Al finalizar la lectura de este artículo todo el mundo debería tener una idea clara de como se estructura un sistema operativo GNU-Linux y del contenido que hay en cada uno de los directorios del sistema operativo.\u003c/p\u003e","title":"Estructura de directorios en Gnu-Linux"},{"content":"En el siguiente artículo me gustaría hablar del servicio XNSPY. Se trata de un nuevo servicio para Android e iOS que principalmente sirve para monitorizar dispositivos móviles.\n¿QUÉ ES Y PARA QUE SIRVE LA APP XNSPY? XNSPY es una aplicación de pago disponible para las plataformas Android e iOS.\nLa aplicación XNSPY puede ser usada para varias finalidades. Algunos de los usos que a todos nos pueden venir inmediatamente a la cabeza son los siguientes:\nUn sistema de control parental para nuestros hijos. En todo momento la App permitirá que los padres puedan monitorizar lo que están realizando su hijos. En caso de realizar alguna acción peligrosa los padres podrán avisar y asesorar debidamente a sus hijos. Tener un control total de lo que realizan los empleados de nuestra compañía con su teléfono o tablet. De esta forma podremos evitar que los empleados de nuestra compañía realicen filtraciones de información relevante, hablen mal de la compañía, realicen las visita comerciales pertinentes, etc. Para recuperar el terminal en caso que alguien no los robe o lo perdamos. MEDIOS USADOS POR XNSPY PARA CUMPLIR SU FUNCIONALIDAD Los medios usados por XNSPY para cumplir con sus funciones son los siguientes:\nUna vez instalada la App XNSPY en el dispositivo móvil que queremos controlar, XNSPY empezará a registrar prácticamente la totalidad de acciones que el usuario del dispositivo móvil realiza. Las acciones que XNSPY puede registrar son las siguientes:\nEl historial de llamadas del dispositivo móvil. Grabar las llamadas entrantes y salientes del dispositivo móvil siempre y cuando el dispositivo móvil esté rooteado. Los contactos que tenemos en nuestro dispositivo móvil. Los mensajes SMS enviados y recibidos. Los eventos que tenemos programados en calendario de nuestro teléfono. Aplicaciones instaladas en el dispositivo móvil. Los lugares que el usuario del dispositivo móvil ha visitado. Las fotos y vídeos que el usuario ha realizado. El historial de navegación. Conversaciones mantenidas en aplicaciones de mensajeria instantanea como por ejemplo Whatsapp, Viber, etc. etc. Además una vez instalado y configurado el software XNSPY nadie podrá intuir ni saber si el teléfono que está usando dispone del software espía instalado o no. Por lo tanto Xnspy es el software espía perfecto para Android y para iOS.\nINSTALAR XNSPY El proceso de instalación de XNSPY es sumamente fácil. Para instalar XNSPY tan solo tenemos que acceder en el siguiente link:\nLink de instalación de Xnspy\nUna vez hayamos accedido a la web tendremos que realizar la compra de la aplicación y del servicio siguiendo las instrucciones que se muestran en la misma página web.\nCONSULTA DE LOS DATOS REGISTRADOS POR XNSPY Una vez hayamos instalado y configurado XNSPY, los datos mencionados en apartados anteriores se registraran automáticamente.\nPara consultar los datos registrados lo podemos hacer desde cualquier sitio. Tan solo necesitamos un navegador web y acceder a nuestra cuenta de Xnspy. Una vez hayamos accedido a nuestra cuenta podremos consultar fácilmente lo que realizan nuestros empleados o nuestros hijos con su dispositivo móvil. En el siguiente link podréis ver una muestra de los datos e información que se puede consultar:\nMuestra para ver la información que podemos conseguir\nDe este modo tan sencillo podemos consultar la totalidad de datos registrados del dispositivo móvil que estamos controlando.\nPUNTOS A TENER EN CUENTA ANTES DE USAR ESTA APLICACIÓN Sin duda se trata de una aplicación realmente útil y única, pero antes de decidirse a usar esta aplicación hay que tener en cuenta los siguientes puntos:\nEs una aplicación de pago y no es económica precisamente. Por lo tanto está aplicación solo es recomendable para la gente que realmente tiene una necesidad. Para que funcionen la totalidad de opciones que ofrece el programa es necesario disponer de un dispositivo móvil rooteado o con el jailbreak. Este hecho sin duda dificulta la vida a los usuarios de la aplicación. Antes de realizar cualquier tipo de acción con este software no vendría mal asesorarse hasta que punto es legal lo que vamos a realizar. ","permalink":"https://geeklandlinux.github.io/posts/monitorizar-dispositivos-moviles-xnspy/","summary":"\u003cp\u003eEn el siguiente artículo me gustaría hablar del servicio \u003ca href=\"https://xnspy.com/es/\" title=\"Web de Xnspy\"\u003eXNSPY\u003c/a\u003e. Se trata de un nuevo servicio para Android e iOS que principalmente sirve para monitorizar dispositivos móviles.\u003c/p\u003e","title":"Monitorizar dispositivos móviles con Xnspy"},{"content":"No acostumbra a pasar casi nunca pero en alguna ocasión todos hemos acabando borrando un archivo o una foto de nuestro ordenador, de nuestro teléfono o de nuestra cámara de fotos que no queríamos borrar.\nEn el caso de encontrarnos en esta situación tenemos varias herramientas para recuperar los archivos que hemos borrado. En este post veremos una herramienta para recuperar archivos borrados que se llama Foremost.\nINSTALAR FOREMOST Instalar Foremost es sumamente fácil ya que está presente en los repositorios de prácticamente la totalidad de distros Linux. Por lo tanto tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\nsudo apt-get install foremost Una vez ejecutado el comando se instalará el programa Foremost que es el que utilizaremos para recuperar nuestros archivos.\n¿CÓMO FUNCIONA FOREMOST? Primero de todo tenemos que partir de la base que cuando borramos un archivo de un disco duro, una tarjeta SD o cualquier dispositivo de almacenamiento no lo estamos borrando realmente, sino que lo que estamos haciendo es borrar una serie de metadatos de la tabla maestra de archivos (MFT) para que el sistema operativo considere que la ubicación que contenía el archivo borrado está vacía y por lo tanto está de nuevo disponible para guardar contenido.\nPor lo tanto aunque borremos un archivo, este archivo seguirá estando en nuestro dispositivo de almacenamiento hasta que los sectores del dispositivo de almacenamiento que contienen la información sobre este archivo no sean rescritos con contenido nuevo.\nPartiendo de esta base, Foremost intenta recuperar los datos borrados aplicando una técnica llamada file carving. La técnica del file carving consiste en recuperar archivos y datos del disco duro sin disponer de la serie de metadatos que hemos borrado de la tabla maestra de archivos (MFT). Para ello Foremost escaneará la totalidad de contenido de nuestro dispositivo de almacenamiento intentando identificar si el contenido escaneado contiene las estructuras hexadecimales típicas de inicio y fin de un determinado tipo de archivo. En el momento que Foremost localice una de estas estructuras (inicio-fin), extraerá la información contenida entre el inicio y el fin recuperando así un archivo que previamente habíamos borrado.\nFORMATOS DE ARCHIVO QUE PUEDE RECUPERAR CON FOREMOST Por el modo de recuperación de archivos descrito en el apartado anterior es imposible que Foremost recupere el 100% de información almacenada en un disco duro. De forma estándar Foremost puede recuperar los siguientes formatos de archivo:\njpg, gif, png, bmp, avi, tiff, mp4, exe, mpg, wav, asf, wma, mp3, fws, riff, wmv, mov, pdf, ole, doc, docx, xls, xlsx. ppt, pptx, zip, rar, html, cpp, java, art, pst, ost, dbx, idx, mbx, wpc, pgp, txt, rpm, dat, etc.\nPor lo tanto podemos recuperar una gran cantidad de formatos de archivo, pero sin duda existen formatos de archivo importantes para los usuarios de linux que no están presentes en la lista como por ejemplo la extensiones de los documentos de Libreoffice (.odt), o los archivos de almacenamiento de mails del gestor de correo Thunderbird (.msf). Si queremos que Foremost también busque estos formatos de archivos podemos modificar el archivo de configuración /etc/foremost.conf ejecutando el siguiente comando en la terminal:\nsudo nano /etc/foremost.conf Una vez abierto el editor de texto nano, al final del archivo de configuración de Foremost pegamos el siguiente código:\n#--------------------------------------------------------------------- # LIBREOFFICE AND OPENOFFICE FILES #--------------------------------------------------------------------- odt y 20000000 PK????????????????????????????mimetypeapplication/vnd.oasis.opendocument.textPK META-INF/manifest.xmlPK???????????????????? ods y 10000000 PK????????????????????????????mimetypeapplication/vnd.oasis.opendocument.spreadsheetPK META-INF/manifest.xmlPK???????????????????? odp y 10000000 PK????????????????????????????mimetypeapplication/vnd.oasis.opendocument.presentationPK META-INF/manifest.xmlPK???????????????????? # odg y 10000000 PK????????????????????????????mimetypeapplication/vnd.oasis.opendocument.graphicsPK META-INF/manifest.xmlPK???????????????????? # odc y 10000000 PK????????????????????????????mimetypeapplication/vnd.oasis.opendocument.chartPK META-INF/manifest.xmlPK???????????????????? # odf y 10000000 PK????????????????????????????mimetypeapplication/vnd.oasis.opendocument.formulaPK META-INF/manifest.xmlPK???????????????????? # odi y 10000000 PK????????????????????????????mimetypeapplication/vnd.oasis.opendocument.imagePK META-INF/manifest.xmlPK???????????????????? # odm y 10000000 PK????????????????????????????mimetypeapplication/vnd.oasis.opendocument.text-masterPK META-INF/manifest.xmlPK???????????????????? # sxw y 10000000 PK????????????????????????????mimetypeapplication/vnd.sun.xml.writerPK META-INF/manifest.xmlPK???????????????????? #--------------------------------------------------------------------- # THUNDERBIRD FILES #--------------------------------------------------------------------- # msf y 10000000 //\\s\u0026lt;!--\\s\u0026lt;mdb:mork:z\\sv=\u0026#34;1.4\u0026#34;/\u0026gt;\\s--\u0026gt;?\\s//\\s(f=iso-8859-1) //\\s\u0026lt;!--\\s\u0026lt;mdb:mork:z\\sv=\u0026#34;1.4\u0026#34;/\u0026gt;\\s--\u0026gt;?\\s//\\s(f=iso-8859-1) NEXT # actual Local Folder data files, no way to tell end so grab 100MB NONE y 100000000 From????????????????????????????X-Mozilla-Status:\\s?????X-Mozilla-Status2: NEXT Una vez pegado el código guardamos los cambios y cerramos el archivo. En estos momentos Foremost también buscará archivos borrados de Libreoffice (.odt) y archivos de Thunderbird (.msf).\nCONSEJOS PARA USAR FOREMOST Quien pretenda usar Foremost, u otra herramienta similar, para recuperar archivos borrados tiene que tener precaución en los siguientes aspectos:\nNo es recomendable que los archivos recuperados se ubiquen en la misma partición en la que estamos intentando recuperar los archivos. Lo más recomendable es que los archivos recuperados se ubiquen en un disco duro externo, una memoria USB o en la partición raíz en el caso que estemos intentado recuperar archivos borrados de nuestra partición home. De este modo las posibilidades de recuperación serán más altas. Cuanto antes intentemos recuperar los archivos borrados, más altas serán las posibilidades de recuperación. En el caso de borrar archivos que sean extremadamente importantes lo mejor que podemos realizar es apagar el ordenador y conectar el disco duro como esclavo a otro ordenador para intentar recuperar la información. Otra opción es apagar el ordenador y arrancarlo con un LiveCD o LiveUSB para intentar intentar rescatar los datos borrados. Foremost permite recuperar archivos borrados a partir de imágenes de disco creadas con las utilidades DD, Safeback, encase, etc. Por lo tanto complementando el punto número 3, otra solución para maximizar las posibilidades de éxito es crear una imagen de nuestro disco duro con el comando DD e intentar recuperar los archivos borrados a partir de la imagen que hemos creado. USAR FOREMOST PARA RECUPERAR ARCHIVOS BORRADOS Lo primero que haremos es borrar una serie de archivos a propósito de una memoria USB. Una vez borrados los archivos nuestra memoria USB intentaremos recuperarlos.\nPor lo tanto, tal y como se puede ver en la captura de pantalla, borramos una serie de archivos que a posteriori recuperaremos:\nNota: Estoy borrando diversos formatos de archivo para comprobar que Foremost es capaz de recuperar los formatos de archivo que la gente utiliza habitualmente. Los distintos formatos que he borrado son .pdf, .jpg, .ppt, .doc, y .xls. De esta forma al final del procedimiento comprobaremos si Foremast es capaz de recuperar todos estos tipos de archivo. Crear carpeta en la que se ubicará el contenido recuperado Para recuperar archivos borrados de nuestra memoria USB, el primer paso es crear una carpeta donde se ubicará el contenido recuperado.\nEn mi caso quiero que el contenido recuperado se ubique en una carpeta llamada Recuperación ubicada en mi escritorio. Por lo tanto ejecutaré el siguiente comando en la terminal:\nmkdir /home/joan/Escritorio/Recuperacion Una vez creada la carpeta Recuperación, ya podemos pasar al siguiente paso.\nAveriguar el nombre de la dispositivo del que hay que recuperar los archivos En nuestro caso queremos recuperar una serie de archivos que hemos borrado de nuestra memoria USB. Por lo tanto tenemos que averiguar el nombre con el que se reconoce nuestro dispositivo USB. Para ello en la terminal ejecutamos el siguiente comando:\nsudo fdisk -l La salida del comando que acabamos de ejecutar en mi caso es la siguiente:\nSi estudiamos el contenido de la captura de pantalla, vemos que mi memoria USB se reconoce como /dev/sdb1. Una vez tenemos esto dato ya podemos intentar recuperar los datos borrados de nuestra memoria USB.\nNota: Si en vez de recuperar los datos de una memoria USB quisiéramos recuperar archivos borrados de nuestro disco duro o de una memoria flash, tan solo tendríamos que reemplazar /dev/sdb1 por el nombre de la unidad de nuestro disco duro o memoria flash. Así de esta forma con Foremost podemos recuperar datos de una memoria USB, de un teléfono móvil, una cámara de fotos, etc. Recuperar archivos borrados con Foremost Para recuperar los archivos borrados ahora tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\nsudo foremost -t all -i /dev/sdb1 -o /home/joan/Escritorio/Recuperacion El significado de cada uno de los parámetros del comando es el siguiente:\nsudo foremost: Parte del comando para ejecutar Foremost. Foremost es el programa que usaremos para recuperar archivos borrados.\n-t all: Para indicar el tipo de archivos que queremos recuperar. Como en mi caso quiero recuperar varios tipos de archivos diremos que queremos recuperar todos los tipos de archivos con la opción -t all. Si en nuestro caso solo quisiéramos recuperar archivos de fotografía del tipo .jpg podríamos sustituir -t all por -t jpg.\n-i /dev/sdb1: En esta parte del comando tenemos que indicar el dispositivo en que queremos recuperar los archivos borrados. En mi caso, tal y como hemos visto en el paso anterior, como quiero recuperar los archivos de mi memoria USB indico /dev/sdb1.\n-o /home/joan/Escritorio/Recuperacion: Finalmente en la última parte del comando estamos indicando la ruta donde se ubicará el contenido recuperado.\nNota: En el caso que precisen información adicional para usar foremost puedan abrir una terminal y ejecutar el comando man foremost. Una vez ejecutado el comando, tal y como se puede ver en la captura de pantalla, tan solo tenemos que esperar a que termine el proceso.\nUna vez terminado el proceso ya podemos pasar al siguiente apartado.\nVisualización del contenido recuperado El contenido recuperado se halla ubicado en la carpeta /home/joan/Escritorio/Recuperacion. El propietario de la totalidad de contenido ubicado en esta carpeta es el usuario root. Por lo tanto para que nosotros podamos visualizar el contenido recuperado sin problemas tenemos que modificar el propietario de los archivos recuperados. Para ello ejecutamos el siguiente comando en la terminal:\nsudo chown -R joan /home/joan/Escritorio/Recuperacion Nota: En el comando anterior debéis reemplazar joan por vuestro nombre de usuario. También debéis reemplazar la ubicación /home/joan/Escritorio/Recuperacion por la ubicación que vosotros hayas definido para recuperar los archivos borrados. Una vez modificado el propietario de los archivos, tal y como se puede ver en la captura de pantalla, si accedemos a /home/joan/Escritorio/Recuperacion podemos ver varias carpetas que tienen como nombre diversos formatos de archivo:\nEn cada una de las carpetas que podemos ver en la captura de pantalla están disponibles los archivos recuperados clasificados por su extensión. Así por ejemplo si queremos ver los archivos de powerpoint que hemos recuperado, tal y como se puede ver en la captura de pantalla, tan solo tenemos que abrir la carpeta .ppt e ir comprobando el contenido de cada uno de los archivos.\nDe esta forma tan sencilla podremos recuperar gran parte de los archivos que hayamos borrado por equivocación. En mi caso sin mucho problema he conseguido recuperar la totalidad de archivos que borre inicialmente.\nNota: Acabamos de recuperar una gran cantidad de archivos y es posible que una vez recuperados sea difícil encontrar el archivo que estamos buscando. En el caso que el sistema de archivos del medio de almacenamiento en el que borramos el archivo sea ext2, ext3 o ext4, podemos usar debugfs para averiguar el bloque concreto que contiene el archivo borrado y de esta forma recuperar únicamente el archivo que estamos buscando. En mi caso como la memoria USB está formateada en FAT32 no puedo usar este sistema. OPCIONES ALTERNATIVAS PARA RECUPERAR ARCHIVOS BORRADOS A quien no le convenza Foremost tiene que saber que en Linux existen otras alternativas para intentar recuperar información y archivos que hemos eliminado por accidente. Algunas de las opciones alternativas que se pueden usar son Scalpel, Photorec, Autopsy, extundelete, magicrescue, etc.\nObviamente no he probado todas las alternativas. Solamente he probado Scalpel y Photorec. Entre todas las opciones que he probado en mi caso he decidido usar Foremost porque es la opción que más me satisface por los siguientes motivos:\nForemost es realmente simple de usar. Según mi forma de ver es muchísimo más fácil de usar que Photorec y ligeramente más fácil que Scalpel. Las veces que he usado Foremost siempre me ha funcionado recuperando los archivos que quería recuperar. Con Foremost puedo indicar tranquilamente los tipos de archivos que quiero recuperar sin tener que acceder a ficheros de configuración. Con Scalpel el proceso de seleccionar el tipo de archivos que queremos recuperar es un poco más farragoso porque tenemos que acceder a los archivos de configuración del programa. Foremost me recupera los archivos y los reconoce de forma adecuada. En cambio Scalpel me hace cosas raras como por ejemplo que todos los documentos de microsoft office me les reconce como .doc independientemente si se tratan de archivos de Micrsoft Excel, Microsoft Powerpoint, etc. Foremost, al igual que Scalpel y otras herramientas puede trabajar con multitud de sistemas de archivos. Por lo tanto podremos recuperar archivos de sistemas de archivos NTFS, ext2, ext3, ext4, exFAT, FAT, FAT32, etc. ","permalink":"https://geeklandlinux.github.io/posts/recuperar-archivos-borrados/","summary":"\u003cp\u003eNo acostumbra a pasar casi nunca pero en alguna ocasión todos hemos acabando borrando un archivo o una foto de nuestro ordenador, de nuestro teléfono o de nuestra cámara de fotos que no queríamos borrar.\u003c/p\u003e","title":"Recuperar archivos borrados"},{"content":"Antes de irme a dormir existen ocasiones en las que me pongo en la cama escuchando un podcast o la radio a través del ordenador. Al rato de estar escuchando la radio o el podcast acaba pasando una de estas dos cosas:\nMe quedo dormido y el ordenador queda abierto toda la noche. Obviamente no me gusta quedarme dormido con el ordenador y la radio encendida. Una vez estoy ya medio dormido tengo que levantarme para apagar el ordenador. Obviamente esto molesta ya que después hay que volver a coger el sueño. Para solucionar este pequeño problema tenemos varias soluciones. Una de ellas es programar el apagado del ordenador. Algunos de los métodos que podemos usar para programar el apagado del ordenador son las siguientes:\nMÉTODO 1: PROGRAMAR EL APAGADO DEL ORDENADOR MANUALMENTE DESDE LA TERMINAL Es el método que acostumbro a usar. Mediante el uso de la terminal podemos programar el apagado del ordenador muy fácilmente. Algunos ejemplos de como podemos programar el apagado del ordenador son los siguientes:\nApagar el ordenador después de un tiempo determinado Abrimos una terminal. Una vez abierta la terminal ejecutamos el siguiente comando:\nsudo shutdown -h +30 El significado de cada uno los términos del comando son los siguientes:\nsudo: Porque el programa shutdown precisa permisos de superusuario para ejecutarse.\nshutdown: Es el programa que permite programar el apagado del ordenador.\n-h: Indica la acción a realizar una vez pasado un tiempo determinado. En este caso la acción es la acción halt (-h). Por lo tanto una vez pasado el tiempo que queramos el ordenador se apagará.\n+30: Indicamos el tiempo en minutos que queremos que tarde en apagarse el ordenador.\nTal y como se observa en la captura de pantalla, justo después de ejecutarse el comando empezará la cuenta atrás para apagar el ordenador.\nUna vez transcurridos los 30 minutos nuestro ordenador se apagará de forma irremediable consiguiendo así nuestro objetivo.\nSi durante el proceso de cuenta atrás queremos abortar el proceso tan solo tenemos que presionar la combinación de teclas Ctrl+C con la terminal activa.\nApagar el ordenador a una hora determinada En el apartado anterior hemos visto como apagar el ordenador después de un tiempo determinado que puede ser una hora, dos horas, etc. Si lo que queremos es apagar el ordenador a una hora en concreto lo podemos hacer ejecutando este comando en la terminal:\nsudo shutdown -h 23:50 El significado de cada uno los términos del comando son los siguientes:\nsudo: Porque el programa shutdown precisa permisos de superusuario para ejecutarse.\nshutdown: Es el programa que permite programar el apagado del ordenador.\n-h: Indica la acción a realizar una vez pasado un tiempo determinado. En este caso la acción es la acción halt (-h). Por lo tanto una vez pasado el tiempo que queramos el ordenador se apagará.\n23:50: Indicamos la hora en la que queremos que se apague el ordenador. En mi caso he indicado que sean las 23 horas y 50 minutos.\nDespués de ejecutar el comando, tal y como se puede ver en la captura de pantalla, se iniciará la cuenta atrás para apagarse el ordenador:\nSi durante el proceso de cuenta atrás queremos abortar el proceso tan solo tenemos que presionar la combinación de teclas Ctrl+C con la terminal activa\nMÉTODO 2: PROGRAMAR EL APAGADO DEL ORDENADOR MEDIANTE UN SCRIPT Con un simple Script también podemos programar el apagado automático del ordenador. Para crear el script abrimos la terminal. Justo al abrir la terminal creamos el archivo apagar.sh ejecutando el siguiente comando en la terminal:\ntouch apagar.sh Una vez creado el archivo lo abriremos ejecutando el siguiente comando en la terminal:\nnano apagar.sh Una vez abierto el editor de texto nano pegaremos el siguiente código:\n#!/bin/bash clear echo \u0026#34; *** SCRIPT PARA EL APAGADO DEL EQUIPO *** \u0026#34; echo \u0026#34; SELECCIONA UNA OPCIÓN:\u0026#34; echo \u0026#34; 1.-Apagar equipo ahora\u0026#34; echo \u0026#34; 2.-Reiniciar equipo ahora\u0026#34; echo \u0026#34; 3.-Asignar hora de apagado del equipo\u0026#34; echo \u0026#34; 4.-Apagar equipo a los xx minutos\u0026#34; echo \u0026#34; 5.-Salir\u0026#34; echo \u0026#34;\u0026#34; read -p \u0026#34;OPCIÓN: \u0026#34; OPCION case $OPCION in 1) sudo halt;; 2) sudo reboot;; 3) echo -n \u0026#34; ¿ A qué hora ?: \u0026#34; read hora sudo shutdown -h $hora;; 4)echo -n \u0026#34; ¿ En cuántos minutos se apagará el equipo?: \u0026#34; read minutos sudo shutdown -h $minutos;; 5) exit;; *) echo \u0026#34; OPCIÓN NO VÁLIDA \u0026#34; exit 1;; esac exit 0 Fuente del script Una vez copiado el texto guardamos los cambios y cerramos el fichero. El siguiente paso será otorgar los permisos necesarios para que se pueda ejecutar el script. Para ello ejecutamos el siguiente comando en la terminal:\nsudo chmod +x apagar.sh Una vez ejecutado el comando ya podemos usar el script. Para ello ejecutamos el siguiente comando en la terminal:\nsh ./apagar.sh Justo después de ejecutar el script, tal y como se puede ver en la captura de pantalla, podremos programar la hora en que queremos que se apague nuestro ordenador.\nSi queremos evitar tener que abrir la terminal cada vez que queramos ejecutar el script podemos crear un lanzador en el escritorio. Para ello ejecutamos el siguiente comando en la terminal:\ntouch /home/joan/Escritorio/Apagar Después de ejecutar el comando se creará un archivo con nombre Apagar en nuestro escritorio. Para que este archivo se convierta en un lanzador de escritorio tenemos que editar su contenido. Para editar su contenido tenemos que teclear el siguiente comando en la terminal:\nnano /home/joan/Escritorio/Apagar Una vez se abra el editor de textos nano pegaremos el siguiente texto:\n[Desktop Entry] Name=Apagar Name[de_DE]=Apagar Exec=/home/joan/apagar.sh Terminal=true Type=Application Icon=home/joan/Imágenes/red_glasses Nota: Las partes del texto a pegar que están en rojo las tendréis que modificar en función los siguientes aspectos. En la variable Exec hay que poner la ruta del script que hemos creado. En la variable Icon hay que poner la ruta del icono que queremos que tenga nuestro lanzador. Una vez pegado el contenido en el archivo Apagar guardamos los cambios y cerramos el fichero. A partir de estos momentos, cada vez que cliquemos encima del nuevo icono que tenemos en el escritorio se ejecutará el script para programar el apagado de nuestro ordenador.\nNota: Existen formas alternativas para ejecutar el script sin tener que abrir una terminal. En vez de crear un lanzador de escritorio podríamos haber creado un enlace duro o introducir el script dentro de los menús de la distribución que usamos. MÉTODO 3: PROGRAMAR EL APAGADO DEL ORDENADOR USANDO UN PROGRAMA Las personas a las que no les guste la terminal, programar scripts o simplemente prefieren no complicarse la vida, pueden optar por instalar un programa con interfaz gráfica para programar el apagado del ordenador.\nExisten varios programas disponibles, pero en mi caso detallaré como usar qshutdown por los siguientes motivos:\nEs muy sencillo de usar. Funciona a la perfección. Está presente en los repositorios de la gran mayoría de distros Linux. Para instalar qshutdown abriremos una terminal y ejecutaremos el siguiente comando:\nsudo apt-get install qshutdown Una vez instalado el programa ya lo podemos abrir sin ningún tipo de problema. Una vez abierto el programa verán una interfaz gráfica parecida a la siguiente:\nTal y como se puede en la captura de pantalla, tan solo hay que detallar el día y la hora en que queremos apagar el ordenador. Una vez seleccionadas las opciones que queramos tan solo tenemos que presionar el botón Aceptar y empezará la cuenta atrás para apagar el ordenador.\nMÉTODO 4: PROGRAMAR EL APAGADO DEL ORDENADOR DE FORMA AUTOMÁTICA MEDIANTE CRON Finalmente existe una ultima opción para programar el apagado del ordenador. Esta opción es utilizando cron. Posiblemente sea la opción que presente más opciones de configuración, pero con toda seguridad es la opción menos amigable de configurar.\nPara programar el apagado de nuestro equipo con cron tenemos que ejecutar el siguiente comando en la terminal:\nsudo crontab -e Una vez abierto el editor de texto tenemos que editar el contenido del fichero crontab para programar el apagado del ordenador. La estructura a usar para programar el apagado del ordenador es la siguiente:\nm h dom mon dow /sbin/shutdown -h now Cada una de las partes en color rojo de este comando las tendréis que reemplazar por los siguientes términos:\nm: Reemplazar m por un número entre el 0 y el 59. Este número indica el minuto en el que queremos que se apague nuestro ordenador.\nh: Reemplazar h por un número entre el 0 y el 23. Este número indica la hora en la que queremos que se apague nuestro ordenador.\ndom: Reemplazar dom por un número entre el 1 y el 31. Este número indica el día del mes en el que queremos que se apague nuestro ordenador. Si queremos que nuestro ordenador se apague todos los días del mes hay que reemplazar m por un *\nmon: Reemplazar mon por un número entre el 1 y el 12. Este número indica el número de mes en el que queremos que se apague nuestro ordenador. Si queremos que nuestro ordenador se apague todos los meses hay que reemplazar mon por un *\ndow: Reemplazar dow por un número entre el 0 y el 6. Este número indica el día de la semana en el que queremos que se apague nuestro ordenador. Si escribimos un cero se apagará el domingo y si un 6 se apagará el sábado. Si queremos que nuestro ordenador se apague todos los días deberemos reemplazar dow por un *.\n/sbin/shutdown -h now: Esta parte del comando no hay que reemplazarla. Esta parte del comando es la que hace que el ordenador se apague una vez transcurrido el tiempo fijado en los parámetros anteriores.\nAlgunos ejemplos de comandos a introducir en el archivo crontab para programar el apagado de nuestro ordenador son los siguientes:\nApagar el ordenador todos los días a las 23 horas y 30 minutos Si queremos programar el apagado del ordenador todos los días a las 23:30 horas, tal y como se puede ver en la captura de pantalla, tenemos que introducir el siguiente comando dentro del archivo contrab:\n30 23 * * * /sbin/shutdown -h now Una vez introducido el comando guardamos los cambios y cerramos el fichero.\nPara que los cambios surjan efecto tenemos que reiniciar el servicio cron. Para ello ejecutamos el siguiente comando en la terminal:\nsudo service cron restart Una vez reiniciado el servicio el proceso ha finalizado.\nApagar el ordenador a las 23 horas y 30 minutos todos los domingos Si queremos que nuestro ordenador se apague a las 23:30 horas pero únicamente los domingos, tenemos que introducir el siguiente comando dentro del archivo contrab:\n30 23 * * 0 /sbin/shutdown -h now Una vez introducido el comando guardamos los cambios y cerramos el fichero.\nPara que los cambios surjan efecto tenemos que reiniciar el servicio cron. Para ello ejecutamos el siguiente comando en la terminal:\nsudo service cron restart Una vez reiniciado el servicio el proceso ha finalizado.\nApagar el ordenador a las 23 horas y 30 minutos al 15 de Junio Si queremos que nuestro ordenador se apague a las 23:30 horas del día 15 de Junio, tenemos que introducir el siguiente comando dentro del archivo contrab:\n30 23 15 6 * /sbin/shutdown -h now Una vez introducido el comando guardamos los cambios y cerramos el fichero.\nPara que los cambios surjan efecto tenemos que reiniciar el servicio cron. Para ello ejecutamos el siguiente comando en la terminal:\nsudo service cron restart Una vez reiniciado el servicio el proceso ha finalizado.\nApagar el ordenador a las 23 horas y 30 minutos el 15 de Junio si es martes Si queremos que nuestro ordenador se apague los martes que sean 15 de Junio a las 23:30 horas, tenemos que introducir el siguiente comando dentro del archivo contrab:\n30 23 15 6 2 /sbin/shutdown -h now Una vez introducido el comando guardamos los cambios y cerramos el fichero.\nPara que los cambios surjan efecto tenemos que reiniciar el servicio cron. Para ello ejecutamos el siguiente comando en la terminal:\nsudo service cron restart Una vez reiniciado el servicio el proceso ha finalizado.\n","permalink":"https://geeklandlinux.github.io/posts/programar-el-apagado-del-ordenador/","summary":"\u003cp\u003eAntes de irme a dormir existen ocasiones en las que me pongo en la cama escuchando un podcast o la radio a través del ordenador. Al rato de estar escuchando la radio o el podcast acaba pasando una de estas dos cosas:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eMe quedo dormido y el ordenador queda abierto toda la noche. Obviamente no me gusta quedarme dormido con el ordenador y la radio encendida.\u003c/li\u003e\n\u003cli\u003eUna vez estoy ya medio dormido tengo que levantarme para apagar el ordenador. Obviamente esto molesta ya que después hay que volver a coger el sueño.\u003c/li\u003e\n\u003c/ol\u003e","title":"Programar el apagado del ordenador"},{"content":"A raíz de la propuesta de uno de los lectores del blog, en este post veremos los pasos a seguir para montar un sistema de archivos remoto usando SSHFS.\n¿QUÉ ES LO QUE PRETENDEMOS CONSEGUIR? Lo que pretendemos hacer en este tutorial es acceder y editar archivos de un equipo remoto como si los tuviéramos en nuestro propio ordenador. Por lo tanto el objetivo es trabajar con archivos que no están en nuestro ordenador como si estuviesen físicamente en nuestro ordenador.\nEl objetivo planteado lo conseguiremos usando SSHFS. Con SSHFS montaremos un volumen adicional en nuestro ordenador que contendrá la información que queramos del equipo remoto. Este volumen adicional que montaremos actuará de la misma forma que si tuviéramos un pendrive o un disco duro adicional conectado en nuestro ordenador.\nNota: Lo que que pretendemos conseguir también lo podríamos conseguir instalando y configurando un servidor NFS. No obstante en este tutorial usaremos SSHFS. ¿QUÉ ES SSHFS? SSHFS (Secure Shell FileSystem) es la herramienta que nos permite montar sistemas de archivos remotos en nuestro ordenador. Además nos posibilita interactuar con los ficheros remotos usando el protocolo SFTP.\nMediante el protocolo SFTP podremos acceder, transferir y modificar los archivos remotos de forma segura, porque el protocolo SFTP usa SSH para la autenticación y transmisión de datos entre el equipo local y el equipo remoto.\nUSOS QUE PODEMOS DAR AL SISTEMA DE ARCHIVOS REMOTO SSHFS El uso principal que podemos dar a SSHFS es tener disponibles nuestros datos remotos de forma segura y amigable en todo momento. Por lo tanto usos posibles que le podemos dar son los siguientes:\nNube personal para almacenar información de forma segura. Tener acceso a la información de los ordenadores que forman parte de nuestra red local. Poder interactuar y tener información compartida con las máquinas virtuales que tenemos montadas en nuestro ordenador. Tener acceso permanente al contenido de un servidor web. Compartir una misma carpeta en varios ordenadores distintos. Método para realizar copias de seguridad de ficheros y archivos remotos. Etc. REQUISITOS PREVIOS A MONTAR EL SISTEMA DE ARCHIVOS REMOTO CON SSHFS Antes de proceder a montar el sistema de archivos remotos con SSHFS tenemos que cumplir con los siguientes requisitos:\nEquipamiento necesario Como mínimo precisamos de 2 ordenadores con un sistema sistema operativo GNU-Linux.\nEl primero de los ordenadores actuará como cliente. En mi caso este equipo tiene instalado el sistema operativo Lubuntu y tiene la IP 192.168.1.12.\nEl segundo de los equipos actuará como servidor. En mi caso este equipo tiene instalado el sistema operativo Debian y tiene la IP 192.168.1.14.\nNota: Para averiguar la ip interna, tan solo hay que abrir una terminal y ejecutar el comando ifconfig. Para averiguar la IP Publica pueden clicar encima del siguiente enlace. Nota: También es posible implementar este tipo de solución en Mac OS y en Windows, pero obviamente el procedimiento es diferente. Instalar los paquetes necesarios Los 2 ordenadores que usaremos tienen que tener instalados los paquetes openssh-server y openssh-client. Para instalar estos paquetes hay que abrir una terminal y ejecutar el siguiente comando tanto en el servidor como en el cliente:\nsudo apt-get install openssh-server openssh-client En el ordenador que actúa como cliente tenemos que asegurarnos que los paquetes paquetes sshfs y fuse están instalados. Para ello ejecutamos el siguiente comando en la terminal:\nsudo apt-get install sshfs fuse Activar el módulo Fuse en ordenador que actúa como cliente Para que el sistema de archivos remoto se pueda montar hay que hacer uso de un módulo del Kernel conocido como FUSE. Para ver si este módulo está activado tenemos que teclear el siguiente comando en la terminal:\nlsmod | grep fuse Si el comando nos da un resultado del tipo “fuse 86016 3” podemos tener la seguridad que el módulo FUSE está activado y podemos pasar al siguiente apartado.\nSi por lo contrario el comando no devuelve ningún resultado pueden pasar 2 cosas. La primera es que el módulo esté desactivado. La segunda es que el módulo FUSE se haya compilado directamente en el Kernel y por lo tanto no haga falta cargar ningún módulo.\nPara comprobar si el módulo FUSE se ha compilado directamente en el Kernel ejecutamos el siguiente comando en la terminal:\ngrep -i fuse /lib/modules/$(uname -r)/modules.builtin Si el comando nos devuelve un resultado similar del tipo “kernel/fs/fuse/fuse.ko” podemos tener la seguridad que FUSE está activo y por lo tanto podemos pasar al siguiente apartado.\nFinalmente en el caso que el comando no devuelva ningún resultado significará que el módulo no está cargado en el kernel. Para cargarlo tan solo hay que ejecutar el siguiente comando en la terminal:\nmodprobe fuse Asegurar que nuestro usuario forme parte del grupo FUSE Una vez activado el módulo Fuse, en el ordenador que actúa como cliente tenemos que comprobar que nuestro usuario forme parte del grupo fuse. Para ello instalamos el paquete members ejecutando el siguiente comando en la terminal:\nsudo apt-get install members Justo después de instalar el paquete ejecutamos el siguiente comando en la terminal:\nmembers fuse Si la salida del comando no muestra el nombre de nuestro usuario, que en mi caso es joan, entonces es que nuestro usuario no pertenece al grupo fuse. Si es este el caso, para que nuestro usuario pertenezca al grupo fuse hay que ejecutar el siguiente comando en la terminal:\nsudo gpasswd -a joan fuse Una vez ejecutado el comando el usuario joan se habrá añadido dentro del grupo fuse. Si queremos lo podemos comprobar ejecutando de nuevo el siguiente comando en la terminal:\nmembers fuse Nota: Una vez hecha la comprobación se puede desinstalar el paquete members. Crear la carpeta donde se montará el sistema de archivos SSHFS Seguidamente en el ordenador que actúa como cliente crearemos la carpeta en la que montaremos el sistema de archivos remoto SSHFS. Para ello ejecutamos el siguiente comando en la terminal:\nmkdir /home/joan/desktop Por lo tanto en mi caso montaré el sistema de archivos remotos en una carpeta llamada desktop que está ubicada en mi partición home.\nUna vez realizados los pasos previos ya podemos pasar a la acción montando el sistema de archivos remoto en nuestro ordenador.\nMONTAR EL SISTEMA DE ARCHIVOS REMOTO SSHFS MANUALMENTE Primeramente montaremos el sistema de archivos de forma manual para comprobar si todo está funcionando correctamente. Para ello en el ordenador que actuará como cliente ejecutaremos el siguiente comando el la terminal:\nsshfs joan@192.168.1.14:/home/joan /home/joan/desktop El significado de cada uno de los parámetros que aparecen en el comando es el siguiente:\nsshfs : Es el comando que tenemos que ejecutar para montar sistema de archivos SSHFS.\njoan@192.168.1.14 : Es la dirección ip servidor. El usuario del servidor es joan y la ip del servidor es 192.168.1.14. Como podréis observar la ip del servidor es la interna. En caso de tener necesidad de acceder al servidor de archivos fuera de la red local, deberemos sustituir la ip interna por la ip pública o por un dominio de redireccionamiento DNS.\n:/home/joan : Es la dirección de la carpeta que queremos montar en nuestro equipo cliente. Por lo tanto una vez montado el sistema de archivos en nuestro equipo cliente, tendremos acceso al contenido del servidor ubicado en la partición home (/home/joan)\n/home/joan/desktop : Es la ruta del cliente en la que queremos montar el sistema de archivos remoto SSHFS.\nDespués de ejecutar el comando tan solo hay que abrir el gestor de archivos y comprobar que aparezca un nuevo volumen llamado desktop. Tal y como se puede ver en la captura de pantalla, si clicamos encima del volumen desktop tendremos acceso a la totalidad de contenido de la partición home del equipo remoto que actúa como servidor.\nNota: Obviamente los comandos de este apartado hay que adaptarlos en función de las características de vuestra red. Desmontar el volumen Si queremos desmontar el volumen que acabamos de montar, tan solo tenemos que abrir la terminal y ejecutar el siguiente comando:\nfusermount -u /home/joan/desktop Después de ejecutar el comando, el volumen SSHFS se desmontará y dejaremos de tener acceso a los ficheros del equipo remoto.\nMONTAR EL SISTEMA DE ARCHIVOS REMOTO SSHFS AUTOMÁTICAMENTE Acabamos de comprobar que el sistema de archivos SSHFS se puede montar de forma manual sin ningún tipo de problema. Por lo tanto ahora ya podemos automatizar el proceso de montaje de la siguiente forma:\nCrear un par de claves asimétricas Vamos a generar un par de claves asimétricas para poder montar nuestro sistema de archivos remoto SSHFS sin necesidad de introducir ninguna contraseña.\nPara ello en el ordenador que actuará como cliente, tenemos que abrir una terminal y teclear el siguiente comando:\nssh-keygen -b 4096 -t rsa -C \u0026#34;$(whoami)@$(hostname)-$(date -I)\u0026#34; El significado de cada unos de los parámetros del comando es el siguientes:\nssh-keygen : Es el comando que genera el par de claves.\n-b 4096 : Estamos indicando que la clave asimétrica que se generará tenga un tamaño de 4096 bits. Otros tamaños que podemos elegir por ejemplo son 1024 o 2048.\n-t rsa : Indica que el algoritmo usado para generar el par de claves tiene que ser el rsa. Otros algoritmos que podemos usar son el dsa, ecdsa, rsa1 y ed25519.\n-C \u0026ldquo;$(whoami)@$(hostname)-$(date -I)\u0026rdquo;: Esta parte del comando es simplemente para insertar un comentario identificativo en nuestra clave. Quien lea el contenido de nuestra clave verá que la clave fue creado por el usuario joan, cono el equipo Lubuntu el día 25-08-2015.\nJusto después de ejecutar el comando, se nos preguntará la ubicación donde queremos guardar las claves y el nombre que les queremos poner. Cuando nos haga esta pregunta presionaremos la tecla Enter. De este modo las claves que generaremos se guardarán en la ubicación estándar que es la /home/usuario/.ssh/, y tendrán el nombre estándar que es id_rsa.\nSeguidamente se nos preguntará si queremos introducir una contraseña para cifrar nuestra clave privada. Como queremos conectarnos al servidor sin necesidad de introducir ninguna contraseña, presionamos la tecla Enter sin introducir ninguna contraseña.\nFinalmente se nos pregunta que volvamos a introducir la contraseña que acabamos de introducir. Como anteriormente no introducimos ninguna contraseña volvemos a presionar la tecla Enter.\nNota: Al no introducir un password, la clave privada se guarda en nuestro disco duro sin cifrar. Esto es un riesgo de seguridad que correremos. Si alguien robase nuestro ordenador podría acceder sin problemas al contenido remoto de nuestro servidor. Para protegernos de este peligro podemos cifrar el disco duro de nuestro ordenador o poner una contraseña a nuestra clave y usar ssh-agent. Después de realizar estos pasos se crearan las claves asimétricas en la ubicación ~/.ssh. En la siguiente captura de pantalla se puede ver un resumen de todos los pasos realizados.\nCrear el fichero donde se guardaran las claves públicas autorizadas (acción en el servidor) En el ordenador que actúa como servidor de ficheros vamos a crear un archivo donde se van a guardar las claves públicas que nuestro servidor aceptará. Para ello ejecutamos el siguiente comando en la terminal:\ntouch ~/.ssh/authorized_keys Una vez tecleado el comando se creará el archivo authorized_keys en la ubicación ~/.ssh.\nCopiar la clave pública del cliente al servidor En el ordenador que actuará como cliente abrimos una terminal. Una vez abierta la terminal exportaremos la clave pública al servidor ejecutando el siguiente comando:\nscp ~/.ssh/id_rsa.pub joan@192.168.1.14:~/.ssh El significado de cada unos de los parámetros del comando es el siguiente:\nscp : Es el comando que sirve para copiar archivos de forma cifrada entre un sistema local y un servidor remoto.\n~/.ssh/id_rsa.pub : Es la ruta de la clave pública que queremos exportar al servidor.\njoan@192.168.1.14:~/.ssh : Es la dirección del servidor donde queremos copiar la clave pública. El usuario del servidor es joan, la ip del servidor es 192.168.1.14 y queremos que la clave pública se guarde en la ubicación home/.ssh. En el caso que el servidor remoto al que queremos copiar la clave esté fuera de nuestra red local, deberemos reemplazar la ip 192.168.1.14 por la ip pública del servidor o por un dominio de redireccionamiento DNS\nNota: Obviamente los comandos de este apartado hay que adaptarlos en función de las características de vuestra red. Una vez se haya ejecutado el comando se nos preguntará la contraseña del servidor SSH al que queremos copiar la clave pública. Introducimos la contraseña y justo después de introducirla, la clave pública del cliente se copiara la ubicación home ~/.ssh del servidor SSH. Seguidamente se muestra una captura de pantalla de los pasos realizados en este apartado:\nAutorizar la clave pública del cliente en el servidor (acción en el servidor) Una vez tenemos la clave pública del cliente en el servidor tan solo nos queda introducir la clave pública del cliente a la lista de claves autorizadas del servidor authorized_keys. Para ello ejecutamos el siguiente comando en la terminal del servidor:\ncat ~/.ssh/id_rsa.pub \u0026gt;\u0026gt; ~/.ssh/authorized_keys El significado de cada unos de los parámetros del comando es el siguiente:\ncat : Comando que usamos para añadir la clave pública dentro del fichero authorized_keys.\n~/.ssh/id_rsa.pub : Es la ruta y el nombre de la clave pública que queremos autorizar.\n\u0026gt;\u0026gt; ~/.ssh/authorized_keys : Es la ruta del archivo que almacenará las claves públicas autorizadas. La parte del comando \u0026raquo; es importante ya que es la parte posibilita que se añada la clave pública al fichero authorized_keys.\nUna vez ejecutado el comando la clave pública se copiará en el fichero de claves autorizadas. Para comprobar que es que así podemos ejecutar el siguiente comando:\ncat ~/.ssh/authorized_keys Si después de ejecutar el comando nos aparece una clave en pantalla el proceso ha sido un éxito. Ahora ya podemos montar nuestro sistema de archivos remoto SSHFS sin necesidad de introducir ninguna contraseña. En la siguiente captura de pantalla se muestran los pasos que se han seguido para autorizar la clave pública:\nConfigurar fstab para que el sistema de archivos remoto SSHFS se monte de forma automática Si queremos que nuestro sistema de archivos remoto SSHFS se monte de forma automática al arrancar nuestro ordenador tenemos que configurar debidamente el archivo fstab. Para ello ejecutamos el siguiente comando en la terminal del ordenador que actuará como cliente:\nsudo nano /etc/fstab Una vez abierto el fichero fstab, tenemos que introducir la siguiente línea al final del archivo:\njoan@192.168.1.14:/home/joan /home/joan/desktop fuse.sshfs defaults,idmap=user,_netdev,users,IdentityFile=/home/joan/.ssh/id_rsa,allow_other,reconnect 0 0 La línea que acabamos de introducir para montar el sistema de archivos me ha funcionado tanto en distros que usan systemd como en distros que usan SysVinit. En el caso que este comando os de problemas y estéis usando una distro que use Systemd, deberéis reemplazar la linea anterior por la siguiente: joan@192.168.1.14:/home/joan /home/joan/desktop fuse.sshfs noauto,x-systemd.automount,_netdev,users,idmap=user,IdentityFile=/home/joan/.ssh/id_rsa,allow_other,reconnect 0 0 El significado de cada uno de los parámetros introducido en el comando son los siguientes:\njoan@192.168.1.14 : Es la dirección del servidor donde está ubicado el sistema de archivos que queremos montar en nuestro equipo. El usuario del servidor es joan, la ip del servidor es 192.168.1.14. Como podréis observar la ip del servidor es la ip interna. En caso de tener necesidad de acceder al servidor de archivos fuera de nuestra red local, deberemos sustituir la ip interna por la ip pública o por un dominio de redireccionamiento DNS.\n/home/joan : Es la ruta del servidor que queremos montar en el cliente.\n/home/joan/desktop : Es la ruta del cliente donde queremos montar el sistema de archivos remoto SSHFS.\nfuse.sshfs : Estamos indicando el tipo de sistema de archivos que queremos montar.\ndefaults : Esta parte asigna las opciones de montaje estándar al sistema de archivos sshfs que vamos a montar. Las opciones por defecto son rw, suid, dev, exec, auto, nouser, y async.\nidmap=user: Está opción hace que el propietario de los ficheros remotos sea nuestro usuario. Si no usamos esta opción es posible que nuestro ordenador piense que el propietario de los archivos remotos sea otro.\n_netdev : Con este comando indicamos que para montar el sistema de archivos se requiere una interfaz de red levantada.\nusers : Para permitir que la totalidad de usuarios puedan montar y desmontar el sistema de archivos remotos SSHFS.\nIdentityFile=/home/joan/.ssh/id_rsa : Se indica la ruta de la clave privada. De esta forma podremos montar el sistema de archivos sin usar contraseña.\nallow_other : Para dar acceso a otros usuarios diferentes al usuario root a la carpeta que vamos a montar.\nreconnect : En el caso que el sistema de archivos se caiga por cualquier motivo, se reconectará de forma automática sin tener que hacer nada.\n0 0 : Introduciendo el primer cero estamos diciendo que no queremos respaldar el sistema de archivos SSHFS que vamos a montar. Introduciendo el segundo cero lo que hacemos es indicar que no queremos que la utilidad fsck compruebe el sistema de ficheros.\nUna vez realizadas las modificaciones guardamos los cambios y cerramos el fichero.\nNota: Si alguno de los parámetros en el fichero fstab es introducido de forma errónea es posible que el ordenador no arranque. Por lo tanto recomiendo tener un LiveUSB a mano y realizar una copia de seguridad del archivo /etc/fstab para poder actuar de forma fácil en caso de tener problemas. Modificar la configuración de fuse En el apartado anterior habréis observado que una de las opciones de montaje es allow_other. Para que esta opción sea válida tenemos que modificar la configuración de fuse. Para ello abrimos una terminal y tecleamos el siguiente comando:\nsudo nano /etc/fuse.conf Una vez se abra el editor de textos nano con la configuración de fuse, tenemos que localizar la siguiente línea:\n#user_allow_other Una vez localizada la descomentamos de forma que quede de la siguiente forma:\nuser_allow_other Una vez realizadas las modificaciones guardamos los cambios y cerramos el fichero.\nComprobación de los pasos realizados A estas alturas el proceso ha finalizado. Para comprobar que las configuraciones aplicadas funcionan de forma correcta abrimos una terminal y ejecutamos el siguiente comando:\nmount ~/desktop El significado del comando que acabamos de ejecutar es el siguiente:\nmount: Comando para indicar que se monte el sistema de ficheros.\n~/desktop: La ubicación donde se tiene que montar el sistema de ficheros.\nSi el sistema de archivos remoto se monta sin problemas entonces la configuración y todos los pasos realizados hasta el momento son correctos. En caso de tener problemas habrá que volver a repasar todos los pasos que se han realizado.\nMontar el sistema de archivos SSHFS en el arranque del sistema En estos momentos ya estamos en condiciones de reiniciar el ordenador. Al reiniciar el ordenador el sistema de archivos remoto SSHFS se montará de forma automática. Una vez arrancado el ordenador, tal y como se puede ver en la captura de pantalla, tan solo tenemos que abrir el gestor de archivos y veremos que existirá un volumen nuevo llamado desktop que contiene los ficheros de nuestro equipo remoto.\nAhora tan solo tenemos clicar encima del volumen desktop, y tal como se puede ver en la captura de pantalla, podremos navegar y hacer absolutamente lo que queramos en el sistema de archivos remoto.\nDesmontar el sistema de archivos SSHFS Sí queremos desmontar el sistema de archivos ahora tenemos 2 opciones. Podemos desmontarlo vía terminal, tal y como hicimos en el caso anterior, o podemos hacerlo mediante el explorador de archivos.\nSi lo queremos hacer con el explorador de archivos, tal y como se puede ver en la captura de pantalla, seleccionamos el volumen que acabamos de montar, presionamos el botón derecho del ratón y finalmente clicamos encima de la opción Desmontar Volumen.\nPUNTOS ADICIONALES A TENER EN CUENTA Los puntos adicionales para poder montar y optimizar el rendimiento de nuestro sistema de archivos remoto son los siguientes:\nLa configuración de nuestro firewall tiene que ser la adecuada correcta. En caso contrario no podremos copiar las claves ni montar el sistema de archivos remoto. En el caso que nuestro sistema de archivos remoto se halle fuera de nuestra red local, tenemos que configurar el router de la red que tiene el sistema de archivos remoto para que redireccione las peticiones de los clientes al ordenador que actúa como servidor. Este tutorial no contiene ningún consejo para fortificar la seguridad de nuestro sistema de archivos remoto. En el caso de tener necesidad de asegurar el servidor tendrán que buscar en google como fortificar un servidor SSH. Un usuario cualquiera podría llegar a montar una partición del servidor a la que no queremos que tenga acceso. Para ello lo que podríamos realizar es enjaular al usuario joan. Para enjaular a un usuario pueden aplicar el método que se muestra en el siguiente enlace. ","permalink":"https://geeklandlinux.github.io/posts/montar-sistema-archivos-remoto-con-sshfs/","summary":"\u003cp\u003eA raíz de la propuesta de uno de los lectores del blog, en este post veremos los pasos a seguir para montar un sistema de archivos remoto usando SSHFS.\u003c/p\u003e","title":"Montar un sistema de archivos remoto con SSHFS"},{"content":"Varios de vosotros seguramente están usando distintas distribuciones linux o sistemas operativos en un mismo ordenador. Por lo tanto es más que posible que cada vez que arranquen el ordenador tengan que estar pendientes de seleccionar la distro o sistema operativo que quieren usar.\nSin duda esto es bastante pesado, pero existe una solución fácil para intentar minimizar este hecho. Podemos hacer que el grub recuerde el último sistema operativo que hayamos iniciado y hacer que el sistema operativo por defecto sea siempre el último que hayamos usado. Por lo tanto si la última vez que usamos el ordenador arrancamos Debian, cuando volvamos a iniciar el ordenador la entrada predeterminada en el Grub será Debian. Si la última vez que iniciamos el ordenador arrancamos con Manjaro, cuando volvamos a iniciar el ordenador la entrada predeterminada del Grub será Manjaro.\nHACER QUE EL GRUB RECUERDE EL ÚLTIMO SISTEMA OPERATIVO EJECUTADO Seguidamente mostraremos los pasos a seguir para que el grub recuerde el último sistema operativo que se ha ejecutado. El procedimiento detallado en este post es válido para cualquier distribución que use GRUB como gestor de arranque.\nCopia de seguridad de los fichero modificados El primer paso es realizar una copia de seguridad del fichero de configuración que vamos a modificar. Para ello ejecutamos el siguiente comando en la terminal:\nsudo cp /etc/default/grub ~/grub.old Este comando generará una copia de seguridad del archivo grub en nuestra partición home. El nombre del archivo que contendrá la copia de seguridad será grub.old.\nModificar la configuración del Grub Para hacer que el Grub considere como entrada predeterminada el último sistema operativo que hemos usado es fácil. Tan solo tenemos que modificar la configuración del grub. Para ello abrimos una terminal y ejecutamos el siguiente comando:\nsudo nano /etc/default/grub Una vez abierto el editor de texto tenemos que buscar la siguiente línea:\nGRUB_DEFAULT=0 Nota: Esta línea de la configuración del Grub establece la entrada del grub que se seleccionará por defecto al arrancar nuestro ordenador. Así por ejemplo si sustituyéramos el 0 por el 1, la entrada del grub seleccionada por defecto seria la segunda en lugar de la primera. Una vez la hayamos encontrado línea la sustituimos por la siguiente:\nGRUB_DEFAULT=saved Nota: Al sustituir 0 por saved, lo que estamos realizando es habilitar la opción GRUB_SAVEDEFAULT para establecer el sistema operativo predeterminado. Seguidamente, tal y como se muestra en la captura de pantalla, tenemos que añadir la siguiente línea en el fichero de configuración:\nGRUB_SAVEDEFAULT=true Nota: Al fijar el valor de GRUB_SAVEDEFAULT como true, lo que hacemos es que cada vez que seleccionamos una entrada en el grub, se guarde como la entrada por defecto para la próxima vez que encendamos el ordenador. Para finalizar con este apartado, tan solo tenemos que guardar los cambios y cerrar el fichero.\nCargar la nueva configuración al gestor de arranque GRUB El último paso a realizar es actualizar la configuración del grub para que se genere un nuevo archivo grub.cfg . Para ello ejecutamos el siguiente comando en la terminal:\nsudo grub-mkconfig -o /boot/grub/grub.cfg Nota: Comandos alternativos al último que acabamos de ver son sudo update-grub2 y sudo update-grub El resultado obtenido de ejecutar este comando tiene que ser parecido al siguiente:\nDespués de ejecutar este comando el proceso ha terminado. Ahora si iniciamos el ordenador con Debian, la entrada predeterminada del GRUB en el próximo arranque será Debian. Si la última vez que usamos el ordenador arrancamos con Windows, la entrada predeterminada en el próximo arranque será Windows.\n","permalink":"https://geeklandlinux.github.io/posts/hacer-que-el-grub-recuerde-el-ultimo-sistema-usado/","summary":"\u003cp\u003eVarios de vosotros seguramente están usando distintas distribuciones linux o sistemas operativos en un mismo ordenador. Por lo tanto es más que posible que cada vez que arranquen el ordenador tengan que estar pendientes de seleccionar la distro o sistema operativo que quieren usar.\u003c/p\u003e","title":"Hacer que el grub recuerde el último sistema operativo usado"},{"content":"Normalmente no escribo sobre temas relacionados con Windows, pero aprovechando que estoy probando el nuevo Windows 10, me he animado a escribir un breve tutorial en el que detallaré, como crear atajos de teclado para abrir el programa que queramos presionando la combinación de teclas que nosotros seleccionemos.\nEn mi vida laboral uso Windows y cuando tengo que realizar una captura de pantalla acostumbro a usar el programa Recortes (herramienta también conocida como SnippingTool). Como es un programa que utilizo a menudo me interesa abrirlo lo más rápidamente posible y para ello utilizo atajos de teclado.\nNota: Soy consciente que para realizar capturas de pantalla en Windows hay programas muy buenos como por ejemplo Snag it, pero la verdad es que con la aplicación nativa de Windows me basta y no tengo que instalar programas piratas. CREAR ATAJOS DE TECLADO EN APLICACIONES DE ESCRITORIO Los pasos para crear atajos de teclado para poder abrir un programa son los siguientes:\nLocalizar el acceso directo del programa que queremos abrir Para crear atajos de teclado lo primero que tenemos que realizar es localizar el acceso directo del programa que queremos abrir. Para localizar el acceso directo del programa recortes clicamos en el botón de inicio de Windows. Una vez se abra el panel de inicio, tal y como se puede ver en la captura de pantalla, tecleamos el nombre del programa que estamos buscando que en mi caso es recortes.\nUna vez encontrado el programa, tal y como se puede ver en la captura de pantalla, posicionamos el puntero del mouse sobre él, presionamos el botón derecho del mouse, y seguidamente cuando aparezca el menú contextual clicamos en la opción Abrir ubicación de archivo.\nDespués de clicar en abrir ubicación de archivo, se abrirá nuestro gestor de archivos y podremos ver el acceso directo del programa Recortes que necesitamos para crear el atajo de teclado.\nNota: Si no hay disponible ningún acceso directo lo podemos realizar nosotros mismos a partir del archivo .exe ejecutable. Crear El atajo de teclado Tal y como ya hemos dicho anteriormente, después de clicar en abrir ubicación de archivo, tal y como se puede ver en la captura de pantalla, podremos ver el acceso directo del programa Recortes.\nUna vez localizado el acceso directo de recortes, tal y como se puede ver en la captura de pantalla, lo seleccionamos, presionamos el botón derecho del mouse, y posteriormente clicamos sobre la opción Propiedades del menú contextual.\nAl clicar sobre el menú propiedades se abrirá la siguiente ventana:\nEn la ventana que se ha abierto tenemos que clicar encima del campo Tecla de método abreviado, y seguidamente tenemos que presionar la combinación de teclas que queremos usar para abrir el programa Recortes, que en mi caso Ctrl+0. Una vez realizado estos pasos, tal y como se puede ver en la captura de pantalla, tenemos que presionar encima del botón Aplicar.\nDespués de presionar encima del botón aplicar, aparecerá una ventana informando que tenemos que proporcionar permisos de administración para cambiar la configuración. Tal y como se puede ver en la captura de pantalla presionamos el botón Continuar.\nDespués de otorgar los permisos el proceso ha finalizado. En estos momentos cada vez que presionemos la combinación de teclas Ctrl+0, el programa recortes se abrirá y podremos realizar las capturas de pantallas que necesitemos sin ningún tipo de problema.\nCREAR ATAJOS DE TECLADO EN APLICACIONES DE LA WINDOWS STORE En el caso que precisen abrir aplicaciones provenientes Windows Store mediante atajos de teclado el procedimiento es ligeramente diferente. Los pasos a seguir para crear atajos de teclado para abrir aplicaciones metro de la Windows Store son los siguientes:\nCrear un atajo acceso directo para una aplicación de la Windows Store El primer paso para poder crear atajos de teclado en aplicaciones metro es crear un acceso directo. Para crear un acceso directo tenemos que seguir los siguientes pasos:\n1- Accedemos al panel de control de Windows.\n2- Una vez dentro del panel de control clicamos la opción Programas.\n3- Una vez dentro de la opción programas clicamos en la opción Programas predeterminados.\n4- Dentro de programas predeterminados, tal y como se puede ver en la captura de pantalla, clicamos sobre la opción Asociar un tipo de archivo o protocolo con un programa.\n5- Seguidamente se abrirá la ventana establecer asociaciones. Dentro de la ventana establecer asociaciones buscaremos la aplicación que queremos lanzar con una combinación de teclas que en mi caso es Deezer. Una vez encontrada, tal y como se puede ver en la captura de pantalla, apuntaremos la URL que aparece en el campo Descripción:\n6- Una vez tenemos la URL ya podemos crear el acceso directo. Para ello, tal y como se puede ver en la captura de pantalla, nos ubicamos en el escritorio o en la ubicación que queramos dentro de nuestro gestor de archivos, y presionamos el botón derecho del ratón. Seguidamente seleccionamos la opción Nuevo y finalmente clicamos en la opción Acceso Directo.\n7- A continuación, en el campo Escriba la ubicación del elemento, tenemos que escribir la dirección URL de Deezer que apuntamos en el punto 5. Por lo tanto, tal y como se puede ver en la captura de pantalla, escribimos la URL de Deezer seguido de los caracteres :/// y presionamos el botón Siguiente.\n8- Finalmente, tal y como se puede ver en la captura de pantalla, tan solo tenemos que poner el nombre que queramos a nuestro acceso directo y presionar el botón Finalizar.\nDespués de realizar estos pasos el Acceso directo se ha creado. Una vez creado el acceso directo, el procedimiento para crear un atajo de teclado es exactamente el mismo que en el caso anterior. Por lo tanto procederemos de la siguiente forma:\nCrear atajos de teclado para las aplicaciones de la Windows Store Seguidamente, tal y como se puede ver en la captura de pantalla, seleccionamos el Acceso directo de Deezer, presionamos el botón derecho del mouse, y posteriormente clicamos sobre la opción Propiedades del menú contextual.\nAl clicar sobre el menú propiedades se abrirá la siguiente ventana:\nEn la ventana que se ha abierto tenemos que clicar encima del campo Tecla de método abreviado, y seguidamente tenemos que presionar la combinación de teclas que queremos usar para abrir Deezer, que en mi caso Ctrl+ Alt + D. Una vez realizado estos pasos, tal y como se puede ver en la captura de pantalla, tenemos que presionar encima del botón Aplicar.\nDespués de presionar el botón Aplicar el proceso ha finalizado. En estos momento cada vez que presionemos la combinación de teclas Ctrl+ Alt + D, Deezer se abrirá y lo podremos usar sin ningún tipo de problema.\nEspero que estos simples consejos les ayuden a ser un poco más productivos.\nNota: El procedimiento descrito en este post es válido para Windows 10, Windows 8 y Windows 7.","permalink":"https://geeklandlinux.github.io/posts/crear-atajos-de-teclado-para-abrir-programas-en-windows/","summary":"\u003cp\u003eNormalmente no escribo sobre temas relacionados con Windows, pero aprovechando que estoy probando el nuevo Windows 10, me he animado a escribir un breve tutorial en el que detallaré, como crear atajos de teclado para abrir el programa que queramos presionando la combinación de teclas que nosotros seleccionemos.\u003c/p\u003e","title":"Crear atajos de teclado para abrir programas en Windows"},{"content":"Hace tiempo escribí un post en el que detallaba varios aspectos de la Deep web. A raíz de este post mucha gente ha estado pidiendo como poder acceder a la Deep web a partir de su teléfono Android. A raíz de las numerosas peticiones en el siguiente post detallaremos como acceder a la Deep Web a través de nuestro teléfono Android.\nREQUISITOS PARA NAVEGAR EN LA DEEP WEB EN ANDROID Para conectarnos a la red Tor y poder acceder y navegar de forma anónima en la deep web con nuestro dispositivo Android necesitamos cumplir 3 requisitos:\nDisponer de un teléfono o tablet con con el sistema operativo Android. Disponer de la App Orbot. La aplicación Orbot es un servidor proxy local que funciona por el puerto 8118. Este servidor proxy será el encargado de resolver las peticiones de nuestro navegador web a través de la red Tor. En futuros post hablaremos más de Orbot, porque esta app tiene varias utilidades, como por ejemplo trabajar como un proxy transparente. Disponer del navegador web Orfox. Podemos usar cualquier otro navegador que permita hacer las peticiones a través del servidor proxy Orbot, pero en mi caso prefiero redactar el post usando Orfox porque este navegador viene preparado de serie para usar la red Tor, no guarda historiales de búsqueda, gestiona las cookies de forma que no podamos ser rastreados, permite deshabilitar el javascript, etc. Si usamos otros navegadores, como por ejemplo Firefox, tendremos que instalar extensiones extra y configurar el navegador. Como alternativa real a Orfox tenemos la opción de usar Orweb, pero Orweb ha quedado obsoleto. Estos son los 3 únicos requisitos. No es necesario ser usuario root para conseguir navegar por la deep web.\nBENEFICIOS DE USAR LA RED TOR EN ANDROID La lista de beneficios de usar la red Tor para navegar en internet no es que sea muy larga, pero las ventajas que obtenemos son importantes. Algunas de las ventajas obtenidas son las siguientes:\nPoder navegar anónimamente en la red. Nuestra identidad estará completamente oculta. Ni nuestro proveedor de internet podrá saber las páginas web que hemos visitado. El tráfico que generamos viajará de forma cifrada. Por lo tanto la navegación es más segura. Acceder a la totalidad de contenido ubicado en la llamada deep web. Acceder a contenidos web que están bloqueados geográficamente. INSTALAR ORBOT Y ORFOX Seguidamente se detalla de forma breve como pueden instalar las aplicaciones Orbot y Orfox.\nInstalar Orbot en nuestro dispositivo Android Para instalar Orbot, tan solo tenemos que acceder a la tienda de Google Play Store e instalar la aplicación. Si clican en el siguiente enlace accederán directamente a la página de descarga de aplicación Orbot.\nPara que no tengan ningún tipo de duda del programa que se trata, les dejo esta captura de pantalla en la que pueden ver información relativa al programa.\nFuentes alternativas para la descarga e instalación de Orbot son las siguientes:\n1- Instalación de Orbot a través de la tienda F-Droid 2- Instalación de Orbot descargando el apk de la web de los desarrolladores\nInstalar Orfox en nuestro dispositivo Android Para instalar Orfox, tan solo tenemos que acceder a la tienda de Google Play Store e instalar la aplicación. Si clican en el siguiente enlace accederán directamente a la página de descarga de aplicación Orfox.\nPara que no tengan ningún tipo de duda del programa que se trata, les dejo esta captura de pantalla en la que pueden ver información relativa al programa.\nFuentes alternativas para la descarga e instalación de Orfox:\n1- Instalación de Orfox a través de la tienda F-Droid 2- Instalación de Orfox descargando el apk de la web de los desarrolladores\nEMPEZAR A NAVEGAR POR LA DEEP WEB Una vez instaladas las aplicaciones Orbot y Orfox ya podemos empezar a configurarlas y a usarlas. Para configurar y usar las 2 aplicaciones que acabamos de instalar, tenemos que seguir las siguientes instrucciones.\nPaso 1: Iniciar Orbot Justo en el momento de iniciar Orbot tendremos saltar la introducción y seguidamente veremos la siguiente pantalla:\nPara que Orbot empiece a funcionar, tan solo tenemos que pulsar el botón iniciar. En el momento que se inicie Orbot veremos la siguiente pantalla:\nEn estos momentos ya estamos listos para empezar a navegar a través de la red Tor.\nPaso 2: Configurar Orbot (Opcional) La configuración estándar de Orbot es perfectamente válida para el uso que nosotros le queremos dar. Por lo tanto si queréis no es necesario seguir las indicaciones de este apartado.\nEn mi caso hay un punto de la configuración estándar de Orbot que me molesta. Lo que me molesta es que viene configurado para que Orbot se ejecute automáticamente cada vez que encendemos nuestro teléfono. Si queremos evitar esto, tal y como se indica en la captura de pantalla, presionamos encima del icono de configuración:\nDespués de presionar sobre el icono de configuración aparecerá la siguiente pantalla:\nEn la pantalla de configuración tan solo tenemos que destildar la opción Iniciar Orbot en el arranque. A partir de estos momentos Orbot no se iniciará automáticamente cada vez que encendamos el teléfono.\nPaso 3: Iniciar y usar Orfox para navegar en la deep web Una vez iniciado Orbot ya podemos usar Orfox para navegar de forma anónima en la web tradicional, o para navegar en la deep web. Por lo tanto abrimos Orfox.\nPara tener la certeza absoluta que estamos conectados a la red Tor ingresamos la siguiente URL en Orfox:\nhttps://check.torproject.org\nSi la configuración es correcta y todo está en orden para navegar, aparecerá la siguiente pantalla confirmando que estamos conectados a la red Tor:\nA partir de estos momentos ya podemos navegar de forma normal y corriente con nuestro navegador. En la siguiente captura de pantalla podrán observar que estoy observando el contenido de la Hidden Wiki.\nNos nos tenemos que preocupar por la configuración de Orfox ya que la configuración estándar es correcta para poder navegar de forma anónima. No obstante quien sea curioso y perfeccionista puede entrar en la configuración para definir el idioma, configurar el comportamiento de las cookies, configurar el borrado automático del historial de navegación, limpiar la cache del navegador, definir un user agent falso, habilitar/deshabilitar el contenido javascript, etc.\nADVERTENCIAS A pesar de que Orbot y Orfox nos ofrecerán una navegación anónima y segura, hay que ser cauteloso y evitar ser nosotros mismos quien revele nuestra identidad. Por lo tanto hay que ser cauteloso con los siguientes aspectos:\nCon el método descrito en el post nuestra navegación solo será anónima cuando usemos el navegador Orfox. Si usamos un navegador convencional, o alguna otra App como por ejemplo Twitter, no seremos anónimos ni estaremos usando al red Tor. No uséis vuestras cuentas de hotmail, gmail, etc. En el momento de usar estás cuentas estáis dando pistas claras de vuestra identidad. En el momento de navegar por la deep web tenemos que ser cautelosos con lo que nos descargamos y con lo que hacemos. Descarga y ejecutar archivos en nuestro teléfono puede llegar a ser peligroso y puede revelar nuestra identidad. Si quieren información adicional sobre este aspecto y otros les recomiendo visitar en siguiente enlace.\nFUENTES Las fuentes usadas para la redacción de este post han sido las siguientes:\nhttps://www.torproject.org/docs/android.html.en https://guardianproject.info/apps/orbot/\n","permalink":"https://geeklandlinux.github.io/posts/configurar-tor-en-android-para-navegar-en-la-deep-web/","summary":"\u003cp\u003eHace tiempo escribí un \u003ca href=\"/posts/acceder-a-la-deep-web/\"\u003epost\u003c/a\u003e en el que detallaba varios aspectos de la Deep web. A raíz de este post mucha gente ha estado pidiendo como poder acceder a la Deep web a partir de su teléfono Android. A raíz de las numerosas peticiones en el siguiente post detallaremos como acceder a la Deep Web a través de nuestro teléfono Android.\u003c/p\u003e","title":"Configurar tor en Android para navegar en la deep web"},{"content":"POLÍTICA DE PRIVACIDAD Este web está comprometida a proteger la seguridad y privacidad de sus lectores. La utilización de esta web implica la plena aceptación de todas las condiciones especificadas en esta política de privacidad.\nPOLÍTICA DE COOKIES Este web utiliza cookies propias y cookies de terceros. Los motivos por los cuales utiliza cookies son básicamente dos:\nMejorar la experiencia de navegación del usuario. Obtener datos estadísticos de las visitas recibidas en el blog. ¿QUÉ ES UNA COOKIE? Una cookie es un pequeño fichero de texto que se almacena en el navegador cada vez que visitamos una página web. La utilidad de esta cookie es almacenar información de la visita para que la próxima vez que se visite la misma web se pueda ofrecer el contenido adaptado a las necesidades y preferencias del visitante. En ningún caso una cookie contendrá información sensible como por ejemplo datos bancarios, números de teléfono, etc.\nCOOKIES UTILIZADAS EN EL BLOG Esta web actualmente está utilizando las siguientes cookies con los siguientes fines:\nCookies propias Cookies de sesión: Se utilizan cookies de sesión para combatir el spam y asegurar que la totalidad de los comentarios escritos en el blog sean realizados por personas y no por robots.\nCookies de terceros Google Analytics: Google analytics almacena cookies con el fin de obtener estadísticas sobre el tráfico, el volumen de visitas y como los usuarios interaccionan con la web. Google Adsense: Google adsense hace uso de cookies con el fin de poder ofrecer publicidad y anuncios adaptados a las preferencias de los lectores de la web. Redes sociales: Twitter, Facebook, Google Plus y otras utilizan sus propias cookies para que usted pueda pinchar en botones del tipo Me gusta o Compartir.\nDESACTIVACIÓN O ELIMINACIÓN DE LAS COOKIES En el caso que no este conforme con las cookies las puede desactivar. La gran mayoría de navegadores se pueden configurar para que no acepten el uso de cookies.\nEn el caso que uséis Google Chrome podéis desactivar las cookies siguientes las indicaciones del siguiente link:\nhttps://support.google.com/chrome/answer/95647?hl=es\nEn el caso que uséis Firefox podéis desactivar las cookies siguientes las indicaciones del siguiente link:\nhttps://support.mozilla.org/es/kb/habilitar-y-deshabilitar-cookies-que-los-sitios-we\nEn el caso que uséis Opera podéis desactivar las cookies siguientes las indicaciones del siguiente link:\nhttp://help.opera.com/Windows/11.50/es-ES/cookies.html\nEn el caso que uséis Microsoft Explorer podéis desactivar las cookies siguientes las indicaciones del siguiente link:\nhttp://windows.microsoft.com/es-es/windows7/how-to-manage-cookies-in-internet-explorer-9\nEn el caso que uséis Safari podéis desactivar las cookies siguientes las indicaciones del siguiente link:\nhttp://support.apple.com/kb/ph5042\nNota: Al desactivar las cookies es posible que la experiencia de navegación no sea la adecuada por parte de los lectores. NOTAS ADICIONALES Ni esta web ni sus representantes legales se hacen responsables ni del contenido ni de la veracidad de las políticas de privacidad que puedan tener los terceros mencionados en esta política de cookies. Los navegadores web son las herramientas encargadas de almacenar las cookies y desde este lugar debe efectuar su derecho a la eliminación o desactivación de las mismas. Ni esta web ni sus representantes legales pueden garantizar la correcta o incorrecta manipulación de las cookies por parte de los mencionados navegadores. En el caso de las cookies de Google Analytics y Google Adsense, esta empresa almacena las cookies en servidores ubicados en Estados Unidos y se compromete a no compartirlas con terceros, excepto en los casos en los que sea necesario para el funcionamiento del sistema o cuando la ley obligue a tal efecto. Según Google no guarda su dirección IP. Google Inc. es una compañía adherida al Acuerdo de Puerto Seguro que garantiza que todos los datos transferidos serán tratados con un nivel de protección acorde a la normativa europea. Puede consultar información detallada a este respecto en este enlace. Si desea información sobre el uso que Google da a las cookies le adjuntamos este otro enlace. Para cualquier duda o consulta acerca de esta política de cookies no dude en comunicarse con nosotros a través de la sección de contacto. CONTACTO Si tiene cuestiones o comentarios sobre esta Política de privacidad y ley de cookies, puede ponerse en contacto con nosotros a través del formulario de contacto disponible en esta página web.\n","permalink":"https://geeklandlinux.github.io/pages/politica-de-cookies-2/","summary":"\u003ch2 id=\"política-de-privacidad\"\u003ePOLÍTICA DE PRIVACIDAD\u003c/h2\u003e\n\u003cp\u003eEste web está comprometida a proteger la seguridad y privacidad de sus lectores. La utilización de esta web implica la plena aceptación de todas las condiciones especificadas en esta política de privacidad.\u003c/p\u003e\n\u003ch3 id=\"política-de-cookies\"\u003ePOLÍTICA DE COOKIES\u003c/h3\u003e\n\u003cp\u003eEste web utiliza cookies propias y cookies de terceros. Los motivos por los cuales utiliza cookies son básicamente dos:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eMejorar la experiencia de navegación del usuario.\u003c/li\u003e\n\u003cli\u003eObtener datos estadísticos de las visitas recibidas en el blog.\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch3 id=\"qué-es-una-cookie\"\u003e¿QUÉ ES UNA COOKIE?\u003c/h3\u003e\n\u003cp\u003eUna cookie es un pequeño fichero de texto que se almacena en el navegador cada vez que visitamos una página web. La utilidad de esta cookie es almacenar información de la visita para que la próxima vez que se visite la misma web se pueda ofrecer el contenido adaptado a las necesidades y preferencias del visitante. En ningún caso una cookie contendrá información sensible como por ejemplo datos bancarios, números de teléfono, etc.\u003c/p\u003e","title":"Política de cookies"},{"content":"En determinadas circunstancias resulta especialmente útil retener paquetes en Linux para bloquear la actualización de ciertos programas. En mi caso particular, después de actualizar el programa caffeine observé que dejo de funcionar. Para solucionar el problema volví a instalar la versión anterior de caffeine, pero ahora cada vez que intento actualizar el sistema, tal y como se puede ver en la captura de pantalla, me fuerzan a actualizar caffeine.\nPara solucionar este problema la solución es muy simple ya que tan solo tenemos que retener el paquete caffeine. Para retener el paquete caffeine tenemos varias opciones, pero la solución que acostumbro a aplicar y me funciona es la siguiente:\nBLOQUEAR LA ACTUALIZACIÓN DE UN PAQUETE MEDIANTE DPKG Para retener paquetes mediante la herramienta dpkg tenemos que seguir las siguientes instrucciones:\nRetener paquetes mediante dpkg El primer y único paso para retener el paquete caffeine es abrir una terminal y ejecutar el siguiente comando:\nsudo echo caffeine hold | sudo dpkg --set-selections Nota: La palabra caffeine se deberá sustituir por el nombre del paquete/programa que quieran retener. Nota: La instalación del paquete se bloqueará indiferentemente de si usáis apt-get, aptitude, o la utilidad (front-end) que trae por defecto vuestra distro para actualizar el sistema. Nota: En el caso usar Synaptic, este procedimiento no bloqueará la actualización del paquete. En el caso de usar Synaptic ver el apartado de como retener paquetes con Synaptic. Justo después de retener el paquete caffeine comprobaremos que realmente esté retenido. Para ello introducimos el siguiente comando en la terminal:\nsudo dpkg --get-selections caffeine Nota: La palabra caffeine se deberá sustituir por el nombre del paquete que quieran comprobar su estado. Tal y como se puede ver en la captura de pantalla, ahora el paquete está en estado hold:\nPor lo tanto el paquete está retenido y de este modo evitaremos que se actualice el paquete en cuestión. Ahora cuando intentemos actualizar el sistema operativo obtendremos el siguiente resultado:\nTal y como se puede ver en la captura de pantalla, el paquete caffeine no se instalará porque está retenido. Ahora puedo actualizar mi sistema operativo tranquilamente y Caffeine seguirá funcionando sin problemas.\nDesbloquear un paquete retenido mediante dpkg Si llega el día en que decidimos actualizar caffeine, tan solo tenemos que deshacer los pasos que hemos realizado para retener el paquete caffeine. Para ello tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\necho caffeine install | sudo dpkg --set-selections Nota: La palabra caffeine se deberá sustituir por el nombre del paquete que quieran desbloquear. Una vez ejecutado este comando ya podremos actualizar el paquete caffeine sin ningún tipo de problema.\nBLOQUEAR LA ACTUALIZACIÓN DE UN PAQUETE CON SYNAPTIC En el caso que alguien use Synaptic para gestionar sus paquetes y para actualizar el sistema, tienen que tener en cuenta que el procedimiento anterior no les funcionará. Para retener paquetes con Synaptic el procedimiento es el que se muestra a continuación.\nNota: Aunque Synaptic es un frond-end de apt-get, no tiene en cuenta los cambios aplicados con dpkg. El motivo de ello es que tienen que usar ficheros de configuración distintos. Retener paquetes con Synaptic package manager Para retener paquetes con Synaptic, tal y como se puede en la captura de pantalla, tenemos que seleccionar el paquete que queremos retener, una vez seleccionado el paquete, tal y como se puede ver en la captura de pantalla, accedemos al menú Paquete y clicamos encima de la opción Bloquear Versión:\nDespués de realizar estos pasos, el paquete ya está retenido y por lo tanto cuando intentemos actualizar nuestro sistema operativo mediante synaptic, el paquete caffeine no se actualizará.\nDesbloquear un paquete retenido con synaptic Si una vez retenido un paquete deseamos desbloquearlo para actualizarlo, tan solo tenemos que repetir los pasos que acabamos de ver en el apartado anterior. Por lo tanto, tal y como se puede en la captura de pantalla, tenemos que seleccionar el paquete que queremos desbloquear, una vez seleccionado el paquete, tal y como se puede ver en la captura de pantalla, accedemos al menú Paquete y clicamos encima de la opción Bloquear Versión:\nDespués de realizar estos simples pasos podremos actualizar el paquete Caffeine sin ningún tipo de problema.\nPara finalizar solo desear que este sencillo post pueda ayudar a mucha gente que se inicia en el uso del sistema operativo GNU-Linux.\n","permalink":"https://geeklandlinux.github.io/posts/retener-paquetes-en-debian-y-derivadas/","summary":"\u003cp\u003eEn determinadas circunstancias resulta especialmente útil retener paquetes en Linux para bloquear la actualización de ciertos programas. En mi caso particular, después de actualizar el programa \u003ca href=\"/posts/desactivar-salvapantallas-caffeine/\"\u003ecaffeine\u003c/a\u003e observé que dejo de funcionar. Para solucionar el problema volví a instalar la versión anterior de caffeine, pero ahora cada vez que intento actualizar el sistema, tal y como se puede ver en la captura de pantalla, me fuerzan a actualizar caffeine.\u003c/p\u003e","title":"Retener paquetes en Debian y derivadas"},{"content":"Todos sabéis que el sistema operativo GNU-Linux está extendido en servidores, ha tenido cierto éxito en teléfonos móviles y en multitud de otros campos, pero la realidad es que no han dominado el escritorio Linux. ¿Por qué? Frente a esta pregunta Linus Torvalds, el día 14 de Junio de 2012, respondió lo que podéis ver en el siguiente vídeo:\nhttps://www.youtube.com/watch?v=KFKxlYNfT_o\nPara quien tenga dificultades con el Inglés la traducción de la respuesta de Linus Torvalds es la siguiente:\nEste es mi fracaso personal. Empecé a diseñar Linux como un sistema operativo de escritorio y es la única área en la que Linux aún no ha despegado. Me jode un montón!\nAnteriormente has dicho que Linux ha tenido cierto éxito en en los sistemas operativos móviles. Las últimas cifras de Google son 900.000 activaciones diarias, esto bajo mi punto de vista no este tener cierto éxito.\nEl área del escritorio es realmente dura y difícil y molesta que sea la última área en resistirse. La razón por la que el escritorio es una área tan difícil de dominar es porqué los usuarios no quieren instalar un sistema operativo en sus ordenadores, como tampoco lo quieren hacer en sus teléfonos.\nLa razón por la que Linux es un éxito en los teléfonos móviles, no es porqué hayan 900.000 personas al día descargando e instalando imágenes de Android en sus teléfonos. La razón es porqué Android viene preinstalado con el teléfono. Esto nunca ha pasado en el campo de los ordenadores y realmente es difícil que pase, ya que aunque hayan compañías como Dell que preinstale Linux a empresas de gran envergadura, es algo que hay que pedir que se haga expresamente y solo lo hacen por una porción muy pequeña de sus ordenadores, por lo tanto la preinstalación de Linux en ordenadores no es algo común.\nEn definitiva si no hay ordenadores con Linux preinstalado nunca se conseguirá dominar el área del escritorio y ¿Pasará esto algún día?\nA día de hoy la mayor esperanza para que esto pase son proyectos como el Google Chromebook. Tengo la primera generación de Google Chromebook y solo puedo decir que es lento y horrible. Cuando vuelva a casa tendría que tener disponible la segunda generación del Chromebook en correos porqué por alguna extraña razón Google me envía este tipo de cosas.\nTengo ganas de verlo, se que el hardware es mucho mejor que la primera generación, por lo tanto no me preocupa el tema de la velocidad, pero no creo que vosotros os sintáis atraídos por la primera generación del Chromebook, ni por la segunda, por la tercera quizás, y cuando llegue la cuarta y la quinta entonces hablamos de nuevo. Si nos fijamos en Android, no fue precisamente la versión 1.0 la que hizo despegar Android, por lo tanto tengo confianza en que el escritorio Linux algún día también podrá llegar a tener éxito, pero la única forma para tener éxito será que Linux venga preinstalado en los ordenadores.\nREFLEXIÓN SOBRE PORQUE EL ESCRITORIO LINUX NO TRIUNFA Por lo tanto, según Linus Torvalds, queda más que claro que la principal razón por la que el escritorio Linux no triunfa es porque Linux no viene preinstalado en los ordenadores. Además su principal esperanza para que el escritorio Linux sea usado en masa, es que algún proyecto como por ejemplo Chromebook, Steam OS, o un tercero acabe triunfando para que existan ordenadores personales con Linux presinstalado. Por lo tanto Linus ve pocas esperanzas que las principales marcas fabricantes de ordenadores empiecen a comercializar ordenadores con Linux preinstalado.\nConcuerdo al 100% con ambos puntos, pero estoy seguro que algunos de vosotros pensarán que existen otros motivos para que el escritorio Linux no triunfe, como por ejemplo los siguientes:\nLa fragmentación existente en Linux. Con esto me refiero a la gran variedad de entornos de escritorio, desarrollo en paralelo de 2 tipos de servidores gráficos distintos, la no disposición de un sistema de paquetes universal que dificulta la disponibilidad de aplicaciones para todas las distribuciones, falta de trabajo en equipo de los desarrolladores de distintas distros, etc. La falta de software para realizar tareas especificas como por ejemplo simulaciones de electrónica, programas de diseño asistido por ordenador, edición de vídeo e imagen, juegos, etc. Porque Linux es un sistema operativo difícil de usar y no cumple con las expectativas de los usuarios. Por falta de promoción del sistema operativo Linux y del escritorio Linux. Por la mala compatibilidad del hardware existente con Linux. Por las prácticas monopolísticas de Microsoft. Microsoft domina el mercado y aparte de dominar el mercado crea barreras para que el resto de competidores no tengan opción a competir con ellos. No obstante, pienso que el principal motivo es el que cita Linus Torvalds en la entrevista, porque en el momento que los fabricantes de ordenadores, Google con sus chromebook, o un tercero empezaran a optar por preinstalar Linux en los equipos, todos los problemas que acabamos de mencionar se resolverían. Así por ejemplo:\nLa fragmentación seguiría existiendo, pero los mismos fabricantes y usuarios serian los que acabarían definiendo una distribución estándar. En definitiva habría una distribución Linux estándar y un escritorio Linux estándar que facilitaría el desarrollo de software y el mantenimiento y evolución del sistema. Los desarrolladores de videojuegos y de software se centrarían en desarrollar software y juegos para Linux. Habría mas software disponible para Linux y seria más fácil de mantener y actualizar. Actualmente Linux es más fácil de usar que otros sistemas operativos. Quizás antiguamente seria difícil de usar, pero actualmente tanto su instalación como su uso es tan o más fácil que Windows. Cabe recordar que la persona es un animal de costumbres que después de pasar años usando Windows se le hace una montaña cambiar sus rutinas y sus costumbres. Este hecho es una barrera importante para el cambio. En el momento que marcas o proyectos importantes empezarán con la preinstalación de Linux en ordenadores, no haría falta promocionar el sistema operativo. El sistema operativo se promocionaría asimismo. Hoy en día la gran mayoría de hardware existente funciona correctamente en Linux. Pero en el caso que Linux se preinstalara en ordenadores, podríamos decir que el 100% de hardware existente tendría una compatibilidad y rendimiento perfecto en Linux. En fin, veremos que acabará pasando dentro de unos años y cual será el futuro del escritorio Linux. Quien lo desee está invitado a dejar sus opiniones en los comentarios.\n","permalink":"https://geeklandlinux.github.io/posts/escritorio-linux-no-triunfa/","summary":"\u003cp\u003eTodos sabéis que el sistema operativo GNU-Linux está extendido en servidores, ha tenido cierto éxito en teléfonos móviles y en multitud de otros campos, pero la realidad es que no han dominado el escritorio Linux. ¿Por qué? Frente a esta pregunta Linus Torvalds, el día 14 de Junio de 2012, respondió lo que podéis ver en el siguiente vídeo:\u003c/p\u003e","title":"¿Por qué el escritorio Linux no triunfa?"},{"content":"Muchos usuarios de Linux y la gente en general hablan positivamente de Windows 10. Yo la verdad es que lo he probado durante unos cuantos días y no puedo hablar mal de él. Pero a pesar de todo lo que dicen y digo, creo que lo que hay que hacer es analizar punto por punto cada una de las características del sistema operativo y compararlas con GNU-Linux (en adelante Linux). Después del análisis de cada uno de los puntos vosotros podréis tener vuestras propias conclusiones y tomar decisiones sobre cual es el sistema operativo que más les conviene.\nCOMPARACIÓN ENTRE GNU-LINUX Y WINDOWS 10 Seguidamente analizaremos una serie de apartados. En cada uno de los apartados analizados comentaré lo que me parece Windows 10 comparándolo con Linux y daré un ganador. Empecemos!\nSoftware disponible para ambos sistemas operativos En este campo no hay discusión posible. La gran mayoría de programadores y compañías se centran en desarrollar software para Windows. Por lo tanto la variedad de software existente en Windows es superior al existente en Linux principalmente en los siguientes campos:\nJuegos: Aparte de existir un catálogo muy importante de juegos tenemos que añadir que el nuevo Windows 10 “promete” la integración con Xbox y Steam. A pesar de esto cabe decir que Valve también está apostando fuerte por Linux mediante la plataforma Steam y el sistema operativo desarrollado por ellos mismos con el nombre Steam OS. Herramientas de CAD: En este aspecto Linux anda muy cojo. Si eres ingeniero y tienes que realizar diseños en 3D, simulaciones en el campo de la electrónica y otras tareas de índole específica tendrás que usar Windows sí o sí. Sistemas de control parental: En Linux prácticamente no existen opciones de control parental. El único que conozco es Gnome Nanny mientras que Windows lo trae integrado de serie, y en caso de no gustarte existen multitud de opciones adicionales. A pesar de las carencias de Linux en aspecto, puedo asegurar que para un entorno doméstico Linux es perfectamente válido y tiene disponible el software que usa el 99% de personas.\nEl Ganador en este apartado es: Windows\nFacilidad para instalar programas Quien haya usado ambos sistemas operativos sabrá que instalar software en Linux es insultantemente más fácil que instalar Software en Windows.\nMientras que en Windows hay ir a páginas de dudosa reputación para descargar ejecutables, cracks y Keygens, en Linux disponemos de repositorios de Software que funcionan mediante claves de autentificación y permiten descargar e instalar software de forma fácil y segura.\nCabe decir que en Windows existe la Windows Store, pero prácticamente la totalidad de Software, aplicaciones y aplicaciones universales que hay en esta tienda son, bajo mi punto de vista, de baja calidad, con bugs, con publicidad y son simples aplicaciones pensadas para usar en una pantalla táctil. Veremos que acabará pasando con las aplicaciones universales y la convergencia de los escritorios, porqué bajo mi punto de vista promete más lo que está intentando realizar Ubuntu que no el camino que ha iniciado Windows.\nEl Ganador en este apartado es: Linux\nEstabilidad del sistema Hoy en día puedo afirmar rotundamente que Windows es un sistema muy estable. Incluso más estable que Mac OS “Yosemite” y algunas distribuciones Linux como por ejemplo Ubuntu.\nNo obstante cada distribución Linux es un mundo y por lo tanto es difícil valorar el aspecto de la estabilidad del sistema. En mi caso uso Debian Testing y si tengo que elegir entre Debian Testing y Windows me quedo con Debian.\nAlgunos de los motivos por los cuales pienso que Linux es más estable que Windows son los siguientes:\nLinux es un sistema basado en Unix y que ha sido diseñado para ser multiusuario y multitarea desde sus orígenes. Linux no cuenta con un registro de sistema que se va recargando a medida que vamos usando el sistema operativo y genera inestabilidad y lentitud. El kernel de Linux es de mayor calidad al kernel de Windows. Los motivos de dicha afirmación se pueden consultar en el siguiente enlace. Porqué es el sistema operativo usado por servidores web, la NASA, superordenadores, etc. Por algo será, ¿no? El Ganador en este apartado es: Linux\nSeguridad Considerando que hoy en día no existe ningún sistema operativo que sea seguro, pienso que la seguridad que ofrece Linux es superior a la seguridad ofrecida por Windows. Pienso de esta determinada forma por los siguientes motivos:\nHay pocos usuarios de Linux. Por lo tanto la industria del Malware y de los virus no está interesada en plataformas como Linux. Es mucho más rentable focalizarse en Windows o en Android. El hecho que Linux sea Software Libre, y que por lo tanto su código sea abierto, permite que las vulnerabilidades de seguridad se detecten y se solucionen muchísimo más rápido que en Windows. Si quieren tener más detalles de las ventajas que aporta el Software Libre pueden consultar el siguiente enlace. La estructura de archivos y el sistema de permisos de Linux es mejor que el de Windows. En Linux los usuarios normalmente no tienen acceso al usuario root, por lo tanto en el hipotético caso de ejecutarse algún malware las posibilidades de daño son menores. En cambio casi todo el mundo usa Windows con una cuenta de administrador. Linux dispone de herramientas de seguridad como Execshield, SElinux, PAM, etc, que lo hacen uno de los sistemas operativos más seguros. Por este motivo y por otros, Linux es el software líder en servidores y superordenadores. Nota: En este apartado se pueden decir muchísimas más cosas, pero mis conocimientos no llegan a más. Además tampoco se trata de que sea un post demasiado técnico. El Ganador en este apartado es: Linux\nPrivacidad La configuración de privacidad de Windows 10 es invasiva por defecto. Aunque desactives todas las opciones de recolección de información, estoy seguro que Microsoft continúa recolectando información y además también estoy seguro que Windows dispone de puertas traseras para que ellos mismos o terceros puedan acceder al contenido de tu ordenador.\nAlgunos de los mecanismos de recolección de información y de vulneración de privacidad de Windows 10 son los siguientes:\nRecolección del historial de navegación y búsquedas con Microsoft Edge y bing El sistema Windows Update delivery Optimization cede automáticamente nuestro ancho de banda a Microsoft para facilitar las actualizaciones al resto de usuarios de Windows. Registro de la totalidad de palabras que tecleamos con nuestro teclado (Keylogger). Determinación de nuestra ubicación. Recolección de todas las consultas hechas por voz y por teclado a través Cortana. Recolección de datos de diagnóstico para según ellos solucionar errores. Recolección de información acerca del software y hardware que tenemos instalado en nuestro equipo. Acceso al contenido de nuestros emails, acceso a nuestros archivos personales, etc. Etc. Algunos se excusarán diciendo que es el precio que hay que pagar por usar el sistema operativo gratis, pero la realidad es que Windows no es gratis porque aún hay que pagar licencia. En cambio Linux si que es realmente gratis y a la vez es respetuoso con nuestra privacidad.\nPodemos estar seguros que Linux respeta absolutamente la privacidad de todos y cada uno de sus usuarios, y según mi forma de pensar es una de las razones por las que mucha gente y gobiernos usan y/o usaran Linux.\nEl Ganador en este apartado es: Linux\nSistema de actualizaciones El sistema de actualizaciones de Windows 10 sigue siendo el mismo de siempre. Cualquier actualización del sistema operativo exige un reinicio del ordenador y esperar un tiempo considerable para que se termine la actualización. En contraposición Linux se actualiza al vuelo y no es necesario reiniciar el sistema para realizar las actualizaciones.\nLa frecuencia de las actualizaciones de Linux es mucho más elevada que la de Windows. Esto implica que los bugs y vulnerabilidades de seguridad son solucionados de forma mucho más rápida en Linux que en Windows.\nHablando de actualizaciones también podemos citar que en Linux existen distribuciones Rolling release, mientras que Windows , de momento, es Point release. Por todos los motivos citados:\nEl Ganador en este apartado es: Linux\nComunidad Mi opinión es que en Windows no existe prácticamente comunidad en comparación con Linux y el software libre. En Windows solo existen clientes.\nEn Linux existen multitud de blogs, personas y asociaciones para ayudar en la resolución de problemas y ofrecer conocimiento a los usuarios de forma completamente desinteresada.\nLa comunidad en Linux es muy importante para la gente que se inicia en el uso de este sistema operativo. Por esta precisa razón, uno de los puntos más importantes para elegir una distro para iniciarse, es que haya una comunidad fuerte detrás para recibir el soporte necesario.\nEl Ganador en este apartado es: Linux\nPersonalización del escritorio y flexibilidad general del sistema Sin duda alguna los escritorios de Linux y el sistema operativo Linux es más flexible, adaptativo y personalizable que Windows. Quien haya usado Linux durante un tiempo prolongado conocerá sobradamente los siguientes aspectos:\nCualquier aspecto que no te guste del escritorio se puede modificar. Podemos cambiar sin muchos problemas los iconos, el aspecto general de nuestro escritorio, el comportamiento del sistema operativo, etc. Por norma general una misma cosa se puede realizar de varias formas. No hay que ceñirse a realizar una cosa de un solo modo. Cualquier comportamiento del sistema operativo que no se adapta a tus necesidades se puede modificar. No hay ninguna cosa que no se pueda hacer con Linux. Linux es como una navaja Suiza. Nota: Todos los puntos de la lista se pueden cambiar fácilmente y sin tener necesidad de instalar programas adicionales en tu ordenador que en realidad no sabes lo que están haciendo por detrás y generan inestabilidad en el sistema. El Ganador en este apartado es: Linux\nRendimiento del hardware De todos es conocido que los fabricantes de hardware, ordenadores y los programadores no se focalizan en Linux cuando están diseñando un procesador o desarrollando un programa. Todo esto se traduce en que el hardware rinde peor en Linux que en Windows.\nEn mi caso por ejemplo uso Linux y puedo afirmar que la temperatura de trabajo del procesador en Linux es más alta que en Windows (8ºC en mi caso). Esto es un síntoma inequívoco que mi procesador trabaja de forma más eficiente en Windows.\nTambién podéis analizar los fps (frames por segundo) obtenidos en Linux y en Windows y veréis que en Windows obtendréis más rendimiento gráfico que en Linux. Espero que la llegada de Wayland y el impulso de Valve ayuden a mejorar este aspecto.\nEl Ganador en este apartado es: Windows\nInterfaz de escritorio y usabilidad del sistema La interfaz de escritorio de Windows 10 me encanta (aunque este tema es muy subjetivo). A pesar de que la interfaz de Windows 10 no incluye nada novedoso y que no se haya visto en otros sistemas operativos diferentes a Windows, hay que reconocer que han hecho un buen trabajo. Me gustan especialmente los siguientes aspectos:\nLos escritorios múltiples. El nuevo panel de control. El centro de notificaciones. La función Snap de las ventanas de Windows (También conocido como window tiling) El posicionamiento de las ventanas mediante atajos de teclado. El nuevo diseño de interfaz plana. Etc. No obstante hay cosas a mejorar como por ejemplo las siguientes:\nA pesar de que las aplicaciones universales ahora aparecen con una ventana, no se integran bien con el escritorio tradicional de Windows. Si queréis una prueba tan solo hay que abrir un lector de PDF de la Windows Store y arrastrar un PDF encima del programa para intentar abrirlo. Verán es que imposible abrir el archivo de esta forma. Las aplicaciones universales me siguen pareciendo una interfaz móvil puesta encima de aplicaciones de escritorio. Tampoco veo correcto que la gestión de estas Apps se haga a través de la Windows Store y el resto de Software instalado se gestione por el panel de control de Windows. Cortana para mí no tiene utilidad. Mi opinión es que es la típica característica que todo el mundo publicita y alaba y no sirve para nada. Cortana quizás tendrá utilidad para teléfonos y tablets, pero para un ordenador pienso que no la tiene. En mi caso, obviamente lo tengo desactivado por temas de privacidad. Sin duda el nuevo diseño es bonito y agradable, al igual que lo era Windows 7 cuando salió. El problema que acostumbra a tener Microsoft es que este diseño se quedará sin modificar durante muchos años y al final acabará luciendo mal y desfasado.\nRespecto a Linux solo puedo decir que la interfaz de escritorio y la forma de hacer las cosas se puede modificar y adaptar completamente a nuestras necesidades. El sistema de linux es modular y por lo tanto fácilmente podemos reemplazar un módulo del sistema, como por ejemplo un gestor de ventanas, por otro que se adapte más a nuestras necesidades. Por lo tanto en Linux puedes hacer las cosas tal y como tu decidas hacerlas y no estas sujeto a una interfaz rígida como la de Windows. Linux es divertido y raramente verás 2 escritorios que sean iguales. Por todos estos motivos:\nEl Ganador en este apartado es: Linux\nConvergencia entre entornos móviles y de escritorio Ya avanzo de antemano que el ganador en este apartado es Microsoft, porque ha sido el primero en llegar. A pesar de ello, la convergencia entre escritorios aún está muy verde y tendremos que esperar y ver lo que presenta Ubuntu a finales de este año 2015.\nLa idea inicial de la convergencia la tuvo Ubuntu, y parece ser que Windows se ha avanzado creando las apps universales de Windows 10 y su tecnología Continuum para dispositivos móviles que permite conectarlos a un monitor y transformar el teléfono en un ordenador.\nComo he dicho anteriormente ahora tan solo hace falta esperar que Ubuntu, de las manos de BQ, saque su primer teléfono móvil con capacidad de convertirse en un PC con tan solo conectarlo a un monitor. Ubuntu es y ha sido una compañía innovadora y hay que esperar a ver lo que presentan.\nSi la idea de convergencia de escritorio de Windows o Ubuntu calan entre los usuarios se podría acabar terminando la hegemonía de Android e iOS en la telefonía móvil.\nEl Ganador en este apartado es: Windows\nGestión de energía No tengo la certeza absoluta en este apartado porque no tengo un ordenador portátil ni me gustan los ordenadores portátiles. Pero me temo que en el caso de instalar Linux en un ordenador portátil, la batería durará menos que en Windows porque la gestión de energía es mejor en Windows. El motivo principal de este hecho posiblemente es que los drivers desarrollados para Windows tienen un mejor rendimiento en nuestro equipo.\nA pesar de esto, la diferencia en casos normales es pequeña y cabe decir que en Linux existen herramientas de terceros para intentar gestionar la energía más eficientemente.\nEl Ganador en este apartado es: Windows\nCompatibilidad del Hardware Hoy en día, el Kernel de Linux detecta prácticamente la totalidad del hardware existente en el mercado sin tener que realizar absolutamente nada. En contraposición en Windows es más probable que una vez instalado el software hayan cosas que no funcionen porque Windows no dispone del driver adecuado.\nEn el caso que en Windows no detecte algún componente de hardware es sumamente fácil encontrar los drivers que faltan, mientras que en Linux es complicado encontrarlos y aún más instalarlos.\nEn definitiva en Linux es más probable que tengamos problemas de compatibilidad sobretodo con Webcams, impresoras, Tarjetas wifi, etc. Por lo tanto bajo mi punto de vista:\nEl Ganador en este apartado es: Windows\nRequisitos de hardware necesarios para usar el sistema operativo Los requisitos de hardware para correr una distribución Linux varían mucho de una distro a otra. Existen distros con entornos de escritorio específicos que son capaces de funcionar en ordenadores que tan solo tengan 128 MB de RAM y también existen distribuciones, como Ubuntu, que requieren las mismas exigencias de hardware que Windows para funcionar decentemente.\nNo obstante si hacemos una valoración global Linux precisa de muchos menos requisitos de hardware para funcionar adecuadamente, y además en Linux existen entornos de escritorio extremadamente ligeros.\nEn mi caso tengo un ordenador que tiene unos 7 años y lo único que puedo decir es que tanto Windows 10 como Debian Testing, con el entorno XFCE, funcionan como un tiro. Ambos sistemas llevan 5 o 6 años instalados y siguen funcionando como el primer día.\nEl Ganador en este apartado es: Linux\nRapidez y Fluidez del sistema después de un uso prolongado Actualmente hace cerca de 5 años que estoy usando la misma distribución Debian, y hará unos 6 años que instalé Windows 7 y actualice recientemente a Windows 10. En ambos casos el funcionamiento es prácticamente como en el primer día de instalación. La rapidez y fluidez en ambos casos es más que notable en un ordenador que tendrá alrededor 7 años. Digan lo que digan Windows ya no es lo que era antes en que cada cierto tiempo había que formatear el ordenador.\nA pesar de que en mi caso ambos sistemas me funcionan de forma similar, pienso que Linux es mucho mejor en este aspecto. Los motivos son los siguientes:\nLos sistemas de archivos de Linux prácticamente no generan fragmentación, mientras que NFTS sí que la genera. Esto implica un mantenimiento periódico del sistema operativo Windows. El registro de Windows, quieras o no, con el paso del tiempo se va llenando de basura generando lentitud. Esto en Linux no pasa porque no tiene registro. La gente poco experta que usa Windows acostumbra a instalar Malware y programas que afectan negativamente el rendimiento del ordenador. Esto en Linux no pasa, porqué prácticamente no existe Malware. En Linux si tu máquina es poco potente puedes instalar entornos de escritorio más ligeros que harán que tu sistema operativo funcione de forma más rápida y fluida. Etc. Por lo tanto mi punto de vista es que en Linux prácticamente no es necesario hacer nada para que tu ordenador funcione adecuadamente, mientras que en Windows tienes que realizar mantenimiento y estar de suerte que no te afecte ningún Virus/Malware. Por todos estos motivos:\nEl Ganador en este apartado es: Linux\n¿QUÉ SOFTWARE DEBERÍA USAR? En el post habrán podido leer punto por punto lo que pienso de varios aspectos de cada uno de los 2 sistemas operativos. Podríamos haber abordado otros aspectos, como por ejemplo la interoperabilidad entre distintos sistemas operativos, pero a fin de cuentas hemos visto los principales puntos que afectan a la totalidad de usuarios comunes.\nA partir de aquí que cada uno juzgue los puntos que considera más importantes para él y que elija el sistema operativo que más le conviene. Una vez hayan elegido el sistema operativo, lo instalan en su equipo y lo usan durante un tiempo prolongado. Solo de este modo sabrán si el sistema operativo elegido les conviene, se adapta a sus necesidades, y cumple con sus expectativas.\nEn mi caso uso ambos sistemas, pero prefiero Linux. En un futuro escribiré un post detallando los motivos por los que utilizo Linux.\n","permalink":"https://geeklandlinux.github.io/posts/comparacion-linux-windows-10/","summary":"\u003cp\u003eMuchos usuarios de Linux y la gente en general hablan positivamente de Windows 10. Yo la verdad es que lo he probado durante unos cuantos días y no puedo hablar mal de él. Pero a pesar de todo lo que dicen y digo, creo que lo que hay que hacer es analizar punto por punto cada una de las características del sistema operativo y compararlas con GNU-Linux (en adelante Linux). Después del análisis de cada uno de los puntos vosotros podréis tener vuestras propias conclusiones y tomar decisiones sobre cual es el sistema operativo que más les conviene.\u003c/p\u003e","title":"Comparación entre Linux y Windows 10"},{"content":"Existe un grupo importante de personas que piensan que la única ventaja del software libre respecto al software privativo es que es gratis. Este pensamiento es totalmente falso y en este post intentaré detallar la totalidad de ventajas del software libre sobre el software privativo.\nVENTAJAS DEL SOFTWARE LIBRE SOBRE EL SOFTWARE PRIVATIVO Las principales ventajas del software libre respecto el software privativo son las siguientes:\nVentaja 1: Solo en algunas ocasiones los programas y aplicaciones de software libre son gratis. Este hecho supone un ahorro importante en licencias por parte de las empresas y de los usuarios particulares. En este punto hay que tener en cuenta que software libre no es sinónimo de software gratis. Hay ocasiones en que es necesario pagar para poder usar software libre y otros casos en los que el soporte técnico que hay detrás del software libre hay que pagarlo.\nVentaja 2: El soporte técnico de las aplicaciones de software libre normalmente es llevado a término por empresas locales cercanas a nosotros y gran parte de lo que pagamos se queda en estas empresas. El soporte del software privativo también puede ser llevado a término por empresas locales cercanas, pero a diferencia del caso anterior, la gran parte del beneficio del soporte se lo acaba llevando la empresa propietaria del software. Por lo tanto usar software libre es una forma de favorecer nuestra comunidad más cercana.\nVentaja 3: En bastantes ocasiones los programas o aplicaciones de Software libre son realmente buenos y superan o igualan sus homólogos privativos. Algunos ejemplos de lo que acabo de decir son Thunderbird, Firefox, Filezilla (Open Source), VLC, Blender, Gimp, Libreofice etc. Por lo tanto la creencia que el software libre es gratis y nos ofrece software de prestaciones limitadas es totalmente falsa.\nVentaja 4: El software libre, y también el de código abierto, tienen su código fuente disponible. Esto es una ventaja importante porque nos garantiza que el programa o aplicación que estamos usando siempre estará a nuestra disposición, y siempre habrá desarrolladores dispuestos a escribir nuevo código y a mejorar el programa. En el caso de usar programas o aplicaciones de software privativo, es posible que un determinado día el software desaparezca porque el desarrollador que estaba desarrollando la aplicación o programa se canse, porque la empresa detrás del software quiebra, porque el desarrollador del programa decide que no le sale a cuenta invertir recursos en el programa, etc.\nVentaja 5: Tú eres el dueño del software. No se puede decir lo mismo de las aplicaciones de software privativo. En la mayoría de aplicaciones de software privativo la licencia no te hace propietario del software, sino que simplemente te da un derecho de uso mientras pagues tu licencia y mientras la compañía que está detrás del software siga existiendo.\nVentaja 6: Los proyectos de software libre son proyectos en los que es posible que participen un gran número de personas formando un gran equipo multidisciplinar. Este hecho sin duda ayuda a que la calidad del código escrito sea superior y que se puedan llevar adelante proyectos que de otra forma seria completamente imposible.\nVentaja 7: El código fuente está disponible para todo el mundo. Teniendo acceso al código fuente podemos saber en todo momento lo que está realizando el software y de este modo podemos estar seguros que nuestra privacidad y seguridad no están siendo comprometidos. Mediante el código fuente, los programadores informáticos pueden comprobar que no existen puertas trasera, que no existan vulnerabilidades de seguridad y que la calidad del código escrito sea óptima.\nVentaja 8: En el caso de tener problemas con una aplicación de Software libre, habitualmente siempre tendremos una gran comunidad dispuesta a ofrecernos su ayuda de forma completamente desinteresada. El software libre acostumbra a crear comunidades para compartir el conocimiento.\nVentaja 9: Usar software libre es una forma combatir la piratería y los monopolios creados por las empresas de software privativo. Bajo mi punto de vista la piratería es la herramienta perfecta para fomentar el uso de software privativo y crear monopolios como el de Microsoft o el de Apple. Hago esta afirmación porqué a Microsoft, en cierto modo, le da igual que estés usando un Windows pirata ya que en el momento de usar un Windows pirata, no estas usando un sistema operativo alternativo y por lo tanto estás adoptando Windows como la única forma de usar un ordenador.\nVentaja 10: Las grandes compañías que realizan software privativo hacen todo lo posible para que adoptemos su software como la única manera de usar un ordenador personal. Este hecho genera grandes monopolios, competencia desleal y que en muchas ocasiones acabemos usando un software que no es el más idóneo para nuestra necesidades.\nVentaja 11: Las compañías que generan software privativo acostumbran a usar formatos de archivo cerrados, como por ejemplo el .doc, .dwg, .tiff, .mp3, etc, mientras que las compañías que desarrollan software libre acostumbran a usar formatos abiertos como por ejemplo el .odf, .pdf, jpeg, .ogg etc. El hecho de usar un formato abierto permitirá que cualquier persona pueda programar un software que permita abrir y editar este archivo, mientras que si usamos un formato de archivo cerrado/privativo es posible que únicamente el programa privativo que creo el archivo lo pueda abrir. Esto es importante, ya que si usamos archivos con formato cerrado es posible que en el futuro tengamos problemas/dificultades para recuperar la información almacenada en ellos.\nVentaja 12: El software libre se puede adaptar fácilmente a las necesidades de una persona o ente corporativo, mientras que el software privativo no ofrece este tipo de flexibilidad. El software privativo solo puede ser modificado por la persona y empresa creadora del software y cada modificación realizada tendrá un coste asociado.\nVentaja 13: La mayoría de programas Libres y Open Source acostumbran a estar presentes en la totalidad de sistemas operativos (Linux, Windows, Mac OS).\nVentaja 14: El software libre te proporciona libertad. Con el software libre puedes realizar absolutamente lo que quieras. Puedes estudiar el código fuente, puedes modificar el código fuente para adaptarlo a tus necesidades, y también puedes distribuir copias del software modificadas o sin modificar sin ningún tipo de problema legal. La única condición para distribuir copias de software libre es que las copias distribuidas deben continuar siendo software libre.\nVentaja 15: El software libre fomenta la educación, el desarrollo tecnológico y la cultura. También facilita la igualdad de oportunidades en general y en el acceso a la tecnología en particular. Fomenta la camaradería, la igualdad, la justicia social, la solidaridad, etc.\nSi alguno de los lectores quiere añadir alguna ventaja adicional a las que he mencionado lo puede hacer tranquilamente a través de los comentarios de este blog.\nNota: En la escritura de este post se ha omitido el Software Open Source. Las diferencias entre el Software Libre y el Open Source son pequeñas. Por lo tanto la gran mayoría de ventajas citadas en este post también se puedan aplicar al Open Source. INFORMACIÓN ADICIONAL SOBRE SOFTWARE LIBRE Si algún lector precisa información adicional respecto al Software Libre puede consultar sin ningún tipo de problema el siguiente enlace de la Free Software Foundation.\n","permalink":"https://geeklandlinux.github.io/posts/ventajas-software-libre-sobre-privativo/","summary":"\u003cp\u003eExiste un grupo importante de personas que piensan que la única ventaja del software libre respecto al software privativo es que es gratis. Este pensamiento es totalmente falso y en este post intentaré detallar la totalidad de ventajas del software libre sobre el software privativo.\u003c/p\u003e","title":"Ventajas del Software Libre sobre el Software Privativo"},{"content":"La verdad es que en Linux existen multitud de opciones para renombrar archivos de forma masiva. Algunas de las muchas opciones que existen son las siguientes:\nPyrenamer Gprename Krename Usando el comando rename en la terminal Linux Gnome Commander etc Nota: La totalidad de opciones mencionadas están en los repositorios de Debian, y consecuentemente imagino que en la gran mayoría de distribuciones Linux. A pesar de todas las opciones mencionadas y existentes me voy a centrar en en el gestor de archivos Thunar que trae incorporada esta funcionalidad de serie. Me centro en esta opción básicamente por 3 motivos:\nEs una solución muy completa que cumple con todas mis necesidades. Thunar es el gestor de archivos que utilizo habitualmente y tiene integrada esta funcionalidad. Su uso es muy sencillo e intuitivo. Nota: La utilidad para renombrar archivos que usaremos esta integrada en Thunar, pero en el caso de usar Nautilus también se podrá integrar sin ningún tipo de problema gracias a las nautilus actions. En futuros post veremos como realizar lo que acabo de comentar. FUNCIÓN DEL RENOMBRADOR DE ARCHIVOS EN MASA La función del renombrador de archivos en masa es fácil de entender. Su función es la de cambiar el nombre o renombrar un conjunto de archivos de forma simultanea. O dicho vulgarmente cambiar muchos nombres a la vez.\nPor lo tanto las ventajas que nos proporciona renombrar archivos de forma masiva son básicamente un ahorro de tiempo y una mejor clasificación de nuestro archivos y nuestras carpetas.\nOPCIONES DE LA UTILIDAD PARA RENOMBRAR ARCHIVOS DE THUNAR Como he comentado anteriormente, el renombrador de archivos en masa de Thunar (Thunar Bulk renamer) es una opción muy completa que ofrece multitud de posibilidades. Algunas de las opciones que ofrece son las siguientes:\nAgregar prefijos o sufijos a los nombres actuales. Insertar la fecha y hora en los nombres de los archivos y carpetas con el formato que nosotros queramos. Buscar y reemplazar un determinado texto que aparece en los nombres de los archivos o carpetas. Transformar todo el texto de mayúsculas a minúsculas y viceversa. Hacer que la primera letra de cada una de las palabras que conforma el nombre del archivo o carpeta sea en mayúsculas. Numerar archivos y carpetas en el formato que deseamos. Poner nombre a nuestras canciones y vídeos a partir de las etiquetas (metadatos) ID3 que contiene los archivos de audio y de vídeo. En el caso que los archivos de audio y de vídeo no contengan metaetiquetas las podemos añadir fácilmente con Puddletag u otro software similar. Borrar determinados caracteres o palabras que aparecen en el nombre de los archivos o carpetas. Insertar determinadas palabras en la posición que nosotros necesitamos. Cambiar las extensiones de un conjunto de archivos. USOS QUE PODEMOS DAR A RENOMBRAR ARCHIVOS EN MASA Algunas de las utilidades que acostumbro a dar al renombrador de archivos en masa son las siguientes:\nEn el caso de realizar descargas de series en Internet es sumamente útil para que todas se denominen de un forma coherente. Cabe recordar que la mayoría de archivos que se descargan tienen unos nombres muy largos y que carecen de sentido para clasificar la información. En el caso de realizar gran cantidad de fotografías es útil para clasificarlas de forma adecuada. En el caso de disponer de grandes cantidades de archivos de música también resulta extremadamente útil para renombrarlos y clasificarlos de forma adecuada. En ocasiones uso ciertos servicios web, por ejemplo para reducir el tamaño de algunas imágenes, que añaden sufijos o prefijos a los nombres de los archivos de salida. Con la utilidad de Thunar para renombrar archivos podremos eliminar estos prefijos o sufijos de un plumazo. Nota: Sin duda existirán muchas más utilidades que las que acabo de nombrar. No obstante, como he comentado anteriormente, solo he citado las que yo personalmente acostumbro a utilizar. INSTALACIÓN DE THUNAR PARA RENOMBRAR ARCHIVOS Para poder renombrar archivos y carpetas de forma masiva con Thunar, el primero y único requisito necesario es instalar el gestor de archivos Thunar y el paquete thunar-media-tags-plugin.\nPara ello abrimos una terminal y tecleamos el siguiente comando:\nsudo apt-get install thunar thunar-media-tags-plugin En el caso que ya tengáis estos paquetes instalados no pasará absolutamente nada. En el caso que no estén instalados entonces se instalarán en vuestro sistema operativo.\nNota: Con la instalación de estos 2 paquetes estáis instalando un gestor de archivos adicional en vuestro sistema operativo. Si el nuevo gestor de archivos os gusta y queréis usarlo como predeterminado, tendréis que buscar información de como poner el gestor de archivos Thunar como predeterminado en vuestra distribución Linux. RENOMBRAR ARCHIVOS Y CARPETAS CON THUNAR Abrir el renombrador de archivos en masa Para iniciar el renombrador de archivos en masa tenemos varias opciones.\nLa primera de ellas es abrir una terminal. Una vez abierta la terminal introducimos el siguiente comando y presionamos Enter:\nthunar -B Otra forma de iniciar la utilidad para renombrar archivos es abrir Thunar. Una vez abierto Thunar seleccionamos los archivos que queremos renombrar, una vez seleccionados los archivos presionamos la tecla F2 o, tal y como se puede ver en la captura de pantalla, presionamos el botón derecho del mouse y clicamos sobre la opción Cambiar Nombre del menú contextual:\nFijar las reglas para renombrar archivos y carpetas Fijar las reglas es fácil, tan solo hay que ir probando las opciones que nos ofrece el programa. Para que podáis ver el funcionamiento veremos unos cuantos ejemplos de como podemos usar Thunar para renombrar archivos.\nRenombrar archivos de audio Una hemos abierto Thunar y hemos seleccionado los archivos a renombrar, tenemos que fijar las reglas para poder cambiar el nombre de los archivos o carpetas.\nEl primer paso para fijar las reglas es seleccionar el tipo de cambio de nombre que queremos realizar. Como en mi caso quiero aprovechar las metaetiquetas ID3 para renombrar los archivos mp3, tal y como se puede ver en la captura de pantalla, selecciono la opción Etiquetas de audio:\nSeguidamente tenemos que seleccionar la parte del nombre que queremos modificar. Como en mi caso tan solo quiero modificar el nombre, tal y como se puede ver en la captura de pantalla, selecciono la opción Solamente nombre.\nNota: Si en vez de cambiar el nombre hubiera querido cambiar el tipo de archivo, tendría que haber seleccionado la opción Solamente el sufijo. De este modo podríamos transformar la extensión mp3 a otra extensión. Finalmente solo nos falta seleccionar el tipo de formato que queremos que tenga el nuevo nombre. En mi caso, tal y como se puede ver en la captura de pantalla, he seleccionado la opción Pista – Artista – Título:\nJusto después de seleccionar esta opción, tal y como se puede ver en la siguiente captura de pantalla, en la parte superior derecha veremos una simulación del resultado final del renombramiento de los archivos:\nSi estamos conforme con el resultado obtenido, tal y como se puede ver en la captura de pantalla, tan solo tenemos que presionar el botón Cambiar de nombre Archivos. Justo después de presionar este botón se renombrarán todos los archivos de un plumazo.\nSuprimir textos que aparecen en los nombres de archivos y carpetas Si tenemos un conjunto de archivos que contienen una palabra que queremos eliminar o reemplazar lo podemos realizar de una forma muy fácil.\nEn la siguiente captura de pantalla vemos que la totalidad de archivos contienen la palabra -min.\nPara borrar la palabra -min seleccionamos las siguientes opciones en el renombrador de archivos:\nEn el tipo de transformación seleccionamos Buscar y reemplazar, porque lo que queremos hacer es buscar la palabra -min y borrarla o sustituirla por otra.\nEn la parte del nombre a modificar seleccionamos la opción Solamente nombre. Seleccionamos esta opción porqué lo único que quiero modificar es el nombre de los archivos y en ningún momento pretendo modificar la extensión de los archivos.\nEn el campo Buscar escribimos -min porque -min es la palabra que quiero reemplazar.\nEl campo Reemplazar por lo dejo en blanco porque lo que realmente quiero es borrar la palabra -min.\nUna vez seleccionadas estas opciones tan solo tenemos que presionar el botón Cambiar de nombre Archivos. Justo después de presionar este botón se eliminará la palabra -min de la totalidad de archivos que seleccionamos inicialmente.\nRenombrar un conjunto de fotografías para su almacenamiento Imaginemos que tenemos un conjunto de fotografías y queremos renombrarlas para su posterior clasificación:\nEn mi caso el modo de renombrar y clasificar las fotos es indicar la fecha y hora de la captura de la foto. Para realizar lo que acabo de comentar en el renombrador de archivos tengo que seleccionar las siguientes opciones:\nEn tipo de transformación seleccionamos Insertar fecha/hora, porque lo que queremos es insertar la fecha y la hora en el nombre de nuestras fotografías.\nEn la parte del nombre a modificar seleccionamos la opción Solamente nombre. Seleccionamos esta opción porque lo único que quiero modificar es el nombre de los archivos y en ningún momento pretendo modificar la extensión de los archivos.\nEn Insertar tiempo selecciono la opción Fecha de captura de la foto. Selecciono esta opción porque quiero que el nombre de la foto contenga la fecha y la hora de la captura de la foto. Si queremos en el campo Insertar tiempo podemos seleccionar otras opciones como la fecha actual, la fecha de último acceso la foto, etc.\nEn formato hay que indicar el formato en que queremos que aparezca la fecha y la hora. En mi caso selecciono el siguiente formato:\n%Y- %m- %d %Hh%Mm%Ss Finalmente en el campo Posición hay que seleccionar en que posición del nombre queremos que se inserte la fecha y la hora. En mi caso quiero que la fecha y la hora sea lo primero que se lea, por lo tanto selecciono la posición 0 Desde el principio (Izquierda).\nUna vez seleccionadas estas opciones tan solo tenemos que presionar el botón Cambiar de nombre Archivos. Justo después de presionar este botón se insertará la fecha y la hora de captura de la fotografía en todas las fotografías.\nCONCLUSIONES FINALES Como se ha podido ver a lo largo del post, la utilidad para renombrar archivos y carpetas de Thunar es una opción muy completa y muy sencilla de usar.\nAparte de los ejemplos vistos en este post Thunar ofrece muchas mas opciones para renombrar archivos y carpetas, pero con lo visto hasta el momento es más que suficiente para tener la base para poder realizar otro tipo de trabajos.\nPara finalizar solo decir que si no os convence la opción que propongo, siempre pueden usar cualquiera de las otras alternativas mencionadas en el inicio de este post.\n","permalink":"https://geeklandlinux.github.io/posts/renombrar-archivos-masivamente/","summary":"\u003cp\u003eLa verdad es que en Linux existen multitud de opciones para renombrar archivos de forma masiva. Algunas de las muchas opciones que existen son las siguientes:\u003c/p\u003e","title":"Renombrar archivos y carpetas masivamente"},{"content":"Hace unas semanas escribí un post de como instalar nuestro propio servidor Owncloud con htpps y WebDAV. Con el fin de sacar partido a nuestro servidor Owncloud, en este artículo veremos como conectarse a Owncloud con WebDAV en lo sistemas operativos más comunes.\nUTILIDADES DE CONECTARSE A OWNCLOUD USANDO WEBDAV La principal utilidad del servidor WebDAV que trae incorporado Owncloud es la de poder conectarnos, editar y ver el contenido de nuestra nube personal tal y como si se tratará de un disco duro de red en nuestro gestor de archivos, en aplicaciones terceros, en nuestro navegador, en una carpeta de red, etc. De este modo podemos realizar tareas similares a las siguientes:\nVisualizar vídeos almacenados en nuestra nube en el televisor, en nuestra tablet, en nuestro ordenador, etc. Escuchar todo tipo de archivos de sonido almacenados en nuestra nube en el televisor, en nuestra tablet, en nuestro ordenador, etc. Visualizar imágenes almacenadas en nuestra nube en el televisor, en nuestra tablet, en nuestro ordenador, etc. Editar todo tipo de documentos en cualquier ordenador teléfono o tablet. Nota: Quien precise información adicional sobre WebDAV puede visitar el siguiente enlace. Para hacer posible lo que acabo de comentar tan solo tenemos que seguir los pasos que citamos a continuación:\nCONETARSE A OWNCLOUD MEDIANTE WEBDAV EN LINUX Si queremos conectarnos a nuestro servidor owncloud por medio de nuestro gestor de archivos es sumamente fácil.\nTan solo tenemos que abrir el gestor de archivos. Una vez abierto el gestor de archivos presionamos la combinación de teclas Ctrl+L. Al presionar esta combinación de teclas aparecerá la ventana de Abrir la Ubicación o el cursor se ubicará en la barra de direcciones. En la ventana Abrir la Ubicación o en la barra de direcciones, tal y como se puede ver en la captura de pantalla, hay que añadir la siguiente dirección para poder acceder a nuestro servidor WebDAV:\ndavs://192.168.1.96/owncloud/remote.php/webdav/ La parte de color azul de la dirección es común para todo el mundo.\nLa parte de color rojo se debe adaptar en cada caso. Para adaptar el comando a vuestro caso particular podéis seguir las siguientes indicaciones:\nSi accedéis desde vuestra red local deberéis reemplazar 192.168.1.96 por la IP interna de vuestro servidor Owncloud. Si accedéis desde fuera de vuestra red local deberéis reemplazar 192.168.1.96 por el dominio de redireccionamiento DNS (No-IP) que usáis en vuestro caso. Nota: En el caso que el servidor al que se quiera acceder no disponga de autenticación SSL hay que reemplazar davs por dav en la dirección de acceso al servidor. Nota: En el caso que se quiera acceder al servidor owncloud a través de Dolphin hay que sustituir davs por webdav en la dirección de acceso al servidor. Una vez introducida la dirección tan solo hay que presionar el botón Abrir. Una vez presionado el botón abrir, tal y como se muestra en la captura de pantalla, se nos pregunta el nombre de usuario y contraseña de nuestra cuenta de owncloud:\nUna vez introducidos el usuario y la contraseña hay que presionar el botón Conectar. Una vez hayamos presionado sobre el botón, tal y como se puede ver en la captura de pantalla, estaremos conectados a nuestra nube personal de Owncloud y podremos hacer lo que queramos con los archivos presentes en nuestra nube.\nPara no tener que repetir siempre el mismo proceso podemos crear una ubicación o marcador. Para ello, tal y como se puede ver en la captura de pantalla, posicionamos el puntero del mouse encima de la ubicación de red de owncloud:\nSeguidamente cuando aparezca en menú contextual, tal y como se puede ver en la captura de pantalla, tenemos que clicar encima de la opción Crear acceso directo. Después de clicar sobre esta opción aparecerá un acceso directo en el apartado de ubicaciones:\nSi queremos cambiar el nombre del acceso directo a nuestra nube de owncloud, tal y como se puede ver en la captura de pantalla, presionamos el botón derecho del mouse encima del acceso directo. Cuando aparezca el menú contextual deberemos seleccionar la opción Cambiar nombre a enlace. Seguidamente podremos poner el nombre que queramos que en mi caso será Nube Personal:\nNota: Para más información de como crear Ubicaciones y marcadores en Thunar y en Nautilus puede consultar el siguiente enlace. Nota: El proceso explicado en este apartado funciona del mismo modo en prácticamente la totalidad de gestores de archivos de Linux. Por lo tanto da igual que usen Caja, Nautilus, Thunar, PcmanFM, etc que el proceso será exactamente el mismo. CONECTARSE A OWNCLOUD USANDO WEBDAV EN ANDROID Si queremos conectarnos a nuestra nube personal a través de WebDAV en Android tenemos multitud de opciones. La opción que acostumbro a utilizar en mi caso es mediante ES Explorador de Archivos.\nInstalar ES Explorer a nuestro dispositivo Android Tan solo tenemos que acceder a la tienda de Google Play Store e instalar la aplicación ES Explorer. Quien lo prefiera también puede usar este link para descargar e instalar la aplicación.\nEjecutar ES Explorer en nuestro dispositivo Android Una vez instalado ES Explorer lo ejecutamos en nuestro teléfono móvil o tablet.\nAgregar Owncloud como ubicación de Red El siguiente paso es agregar nuestro servidor Owncloud en las ubicaciones de red de ES Explorer. Para ello una vez abierto ES Explorer, tal y como se puede ver en la captura de pantalla, hay que dar un click con nuestro dedo encima de las 3 barras horizontales de color azul.\nDespués de clicar encima de las 3 barras horizontales aparecerá el siguiente menú:\nEn el menú que acaba de aparecer hay que pulsar con el dedo encima de la opción Red. Después de pulsar sobre la opción Red se desplegará el siguiente menú:\nEn el menú que se acaba de desplegar, tal y como se puede ver en la captura de pantalla, hay que volver a clicar de nuevo sobre la opción Red. Después de clicar sobre la opción Red aparecerá la siguiente ventana:\nEn la pantalla de configuración de red hay que presionar encima del botón Nuevo. Después de presionar sobre el botón aparecerá la siguiente pantalla para seleccionar el tipo de conexión de red que queremos configurar:\nEn nuestro caso, tal y como se puede ver en la captura de pantalla, hay que seleccionar la opción webdav. Al seleccionar esta opción aparecerá la siguiente pantalla:\nEn esta pantalla hay que introducir la totalidad de datos para que ES Explorer se pueda conectar a nuestro servidor Owncloud mediante WebDAV. Para ello en cada uno de los apartados tenemos que introducir los siguientes datos:\nSERVIDOR: geekland.sytes.net/owncloud/remote.php/webdav En este campo hay que introducir la dirección URL para acceder a nuestro servidor Owncloud a través de WebDAV. La parte de color azul del comando es común para todo el mundo.\nLa parte de color rojo se debe adaptar en cada caso. Para adaptar el comando a vuestro caso particular podéis seguir las siguientes indicaciones:\nSi accedéis desde vuestra red local deberéis reemplazar geekland.sytes.net por la Ip interna de vuestro servidor Owncloud. Si accedéis de fuera de vuestra red local deberéis reemplazar geekland.sytes.net por el dominio de direccionamiento DNS (No-IP) que uséis en vuestro caso. PUERTO: 443 Como estamos accediendo a un servidor owncloud que dispone de un certificado ssl (https) deberemos seleccionar el puerto 443. En caso contrario deberemos seleccionar el puerto 80.\nCIFRADO: Sí Obviamente en este apartado tenemos que tildar la opción Cifrado. El servidor que configuramos dispone de un certificado de autenticación SSL. Por lo tanto la conexión es cifrada y tenemos que tildar esta opción.\nNOMBRE DE USUARIO: jccall80 En este apartado tan solo tenemos que introducir el nombre de usuario de la cuenta de Owncloud a la que queremos acceder.\nCONTRASEÑA: Micontraseña En este apartado tenemos que introducir la contraseña del usuario del apartado anterior.\nMOTRAR COMO: Nube Owncloud Finalmente en mostrar como podemos introducir la palabra/frase que nosotros queramos. Esta frase o palabra tan solo servirá para que nosotros podamos reconocer el servidor al que queremos acceder en el momento de conectarnos.\nUna vez introducidos la totalidad de datos tan solo hay que presionar en el botón OK. Después de presionar en el botón OK el proceso ha finalizado.\nConectarse a Owncloud a través de WebDAV en Android Una vez terminada la configuración ya podemos acceder al servidor owncloud con WebDAV sin ningún tipo de problema. Para ello, tal y como hicimos en apartados anteriores, accedemos a las ubicaciones de red disponibles en ES Explorer. Justo al acceder a las ubicaciones de Red verán que les aparece una pantalla parecida a la siguiente:\nEn esta pantalla observaran que aparece la ubicación de Red nube owncloud que es la que acabamos de configurar. Para acceder al servidor Owncloud tan solo hay que presionar encima de la carpeta nube owncloud. Después de presionar encima de la carpeta, tal y como se puede ver en la captura de pantalla, accederemos al contenido almacenado en nuestra nube de owncloud.\nCONECTARSE A OWNCLOUD USANDO WEBDAV EN iOS Al Igual que en Android, en iOS también existen multitud de opciones para conectarnos al contenido de nuestra nube owncloud a través de WebDAV. En mi caso acostumbro a utilizar la aplicación Documents by Readdle.\nInstalar Documents by Readdle en nuestro dispositivo iOS Tan solo tenemos que acceder a la tienda iTunes Store e instalar la aplicación Documents by Readdle. Quien lo prefiera también puede usar este link para descargar e instalar la aplicación.\nEjecutar Documents by Readdle en nuestro dispositivo iOS Una vez instalado Documents by Readdle lo ejecutamos en nuestro teléfono móvil o tablet.\nAgregar Owncloud como ubicación de Red El siguiente paso es agregar nuestro servidor Owncloud en las ubicaciones de red de Documents by Readdle. Para ello una vez abierta la aplicación, tal y como se puede ver en la captura de pantalla, hay que dar un click con nuestro dedo encima del icono de Red.\nSeguidamente, tal y como se puede ver en la captura de pantalla anterior, tenemos que presionar encima de la opción + Añadir cuenta. En el momento de presionar el botón + Añadir cuenta aparecerá la siguiente pantalla en la que deberemos seleccionar el tipo de red al que nos queremos conectar. En mi caso, tal y como se puede ver en la captura de pantalla, presiono encima de la opción Servidor WebDAV.\nDespués de seleccionar Servidor WebDAV, aparecerá la siguiente pantalla que es donde deberemos introducir la totalidad de datos necesarios para que Documents by Readdle se pueda conectar a nuestro servidor Owncloud.\nTal y como se puede ver en la captura de pantalla, los datos a introducir en cada unos de los apartados son los siguientes:\nTITULO: Owncloud En este apartado podemos seleccionar el nombre que nosotros queramos. Este nombre sirve para podamos reconocer el servidor al que queremos acceder en el momento de conectarnos.\nURL: https://192.168.1.96/owncloud/remote.php/webdav En este campo hay que introducir la dirección URL para acceder a nuestro servidor Owncloud a través de WebDAV. La parte de color azul del comando es común para todo el mundo.\nLa parte de color rojo se debe adaptar en cada caso. Para adaptar el comando a vuestro caso particular podéis seguir las siguientes indicaciones:\nSi accedéis desde vuestra red local deberéis reemplazar 192.168.1.96 por la Ip interna de vuestro servidor Owncloud. Si accedéis de fuera de vuestra red local deberéis reemplazar 192.168.1.96 por el dominio de direccionamiento DNS (No-IP) que uséis en vuestro caso. INICIAR SESIÓN: jccall80 Seguidamente en iniciar sesión tan solo hay que introducir el nombre de usuario de la cuenta de owncloud a la que nos queremos conectar.\nCONTRASEÑA: Micontraseña En este último apartado tan solo hay que introducir la contraseña del usuario que introducimos previamente.\nUna vez rellenados la totalidad de apartados tan solo hay que presionar el botón Guardar. Después de presionar el botón guardar aparecerá una advertencia que nos dice que el sistema no puede verificar la identidad del servidor y nos preguntará si queremos continuar. Frente a esta pregunta nosotros responderemos Continuar, porqué el motivo por el cual no puede confirmar la identidad es que el certificado SSL ha sido creado y firmado por nosotros mismos.\nDespués de presionar el botón Continuar, tal y como se puede ver en la captura de pantalla, accedemos a nuestra nube personal Owncloud mediante WebDAV.\nSi en un futuro queremos acceder de nuevo a nuestro servidor owncloud no hace falta repetir la totalidad de pasos. Tan solo tenemos que abrir la App y fijarnos que en el apartado Cuentas ahora aparece nuestro servidor Owncloud.\nPor lo tanto tal y como se puede ver en la captura de pantalla, si queremos acceder de nuevo al servidor Owncloud tan solo tenemos que presionar encima del servidor Owncloud que aparece en el apartado de cuentas y automáticamente accederemos a nuestro servidor.\nCONECTARSE A OWNCLOUD USANDO WEBDAV EN WINDOWS Y OS X Es increíble pero tanto OS X 10.8 como Windows 7 y 8 presentan problemas a la hora de mapear un servidor WebDAV con autenticación SSL (https). Por lo tanto en el caso de usar alguno de estos 2 sistemas operativos lo más recomendable es usar una aplicación de terceros. En mi caso actualmente estoy probando la aplicación Cyberduck.\nNota: El comportamiento que se obtiene con Cyberduck no es el de un disco duro local como se obtiene en Linux. Al usar Cyberduck nos conectamos al servidor. Una vez nos hemos conectado entonces podemos descargar el archivo a nuestro disco duro y editarlo. Una vez editado el archivo lo tendremos que volver a subir al servidor Owncloud. Si lo que pretendemos es tener algo parecido a un disco duro de red, lo más fácil para estos 2 sistemas operativos es instalar la aplicación de escritorio de Owncloud. Instalar Cyberduck en Windows o en MacOSX Tan solo tenemos que acceder a la página web de Cyberduck y descargar los archivos binarios de instalación disponibles para MAC OS X y Windows. Una vez descargado el archivo binario lo instalan de forma habitual en su sistema operativo.\nEjecutar Cyberduck en Windows o en MacOSX Una vez instalado Cyberduck lo ejecutamos en nuestro ordenador.\nAgregar Owncloud como ubicación de Red Después de ejecutar Cyberduck verán la siguiente pantalla:\nLo primero a realizar, tal y como se puede ver en la captura de pantalla, es presionar sobre el botón Nueva Conexión. Después de presionar sobre el botón aparecerá la siguiente pantalla en la que deberemos introducir la totalidad de datos para conectarse a Owncloud:\nLos datos a rellenar en cada uno de los campos son los siguientes:\nTIPO DE SERVIDOR: WebDAV (HTTP/SSL) En tipo de servidor tenemos que seleccionar la opción WebDAV (HTTP/SSL) ya que el servidor al cual nos queremos conectar es un servidor WebDAV\nSERVER: 192.168.1.96 En este campo hay que introducir nuestro nombre de dominio o la IP interna del servidor que tiene instalado Owncloud.\nComo en mi caso estoy accediendo desde mi red local pongo la IP 192.168.1.96 que corresponde a la IP interna del servidor que tiene instalado Owncloud.\nSi quisiera acceder a mi nube owncloud desde fuera de mi red local debería sustituir 192.168.1.96 por mi dominio de redireccionamiento DNS que en mi caso es geekland.sytes.net.\nPUERTO: 443 Como estamos accediendo a un servidor owncloud que dispone de un certificado ssl (https) deberemos seleccionar el puerto 443. En caso contrario deberemos seleccionar el puerto 80.\nNOMBRE DE USUARIO: jccall80 Seguidamente en Nombre de Usuario tan solo hay que introducir el nombre de usuario de la cuenta de owncloud a la que nos queremos conectar.\nCONTRASEÑA: Micontraseña En el apartado contraseña tan solo hay que introducir la contraseña del usuario que introducimos previamente.\nGUARDAR CONTRASEÑA: Sí Si tildamos esta opción, cada vez que nos conectemos a Cyberduck la conexión al servidor Owncloud se realizará de forma automática sin que tengamos que introducir nuestra contraseña.\nPATH: owncloud/remote.php/webdav Finalmente en el campo Path deberemos introducir el resto de la dirección para conectarse a Owncloud mediante WebDAV. Como en mi caso la dirección de conexión a mi servidor es https://192.168.1.96/owncloud/remote.php/webdav en este apartado escribiré owncloud/remote.php/webdav\nUna vez rellenados la totalidad de campos tan solo hay que presionar encima del botón Connect. Después de presionar el botón Connect aparecerán 2 advertencias referentes al certificado que creamos para nuestro servidor Owncloud. En la primera de las advertencias respondemos Continuar y en la segunda respondemos que Sí para proceder a la instalación del certificado. Seguidamente tal y como se puede ver en la captura de pantalla ya estaremos conectados a nuestro servidor Owncloud.\nNota: No nos deben preocupar las advertencias de seguridad referentes a nuestro certificado. Las advertencias se deben a que el certificado lo creamos y lo firmamos nosotros mismos.","permalink":"https://geeklandlinux.github.io/posts/conectarse-a-owncloud-usando-webdav/","summary":"\u003cp\u003eHace unas semanas escribí un post de como \u003ca href=\"/posts/instalar-owncloud-ssl-webdav/\"\u003einstalar nuestro propio servidor Owncloud\u003c/a\u003e con htpps y WebDAV. Con el fin de sacar partido a nuestro servidor Owncloud, en este artículo veremos como conectarse a Owncloud con WebDAV en lo sistemas operativos más comunes.\u003c/p\u003e","title":"Conectarse a Owncloud usando WebDAV"},{"content":"Hace unas semanas vimos como instalar un servidor LAMP en Debian. Con el fin de sacar partido a nuestro servidor LAMP, en este post citaré como instalar Owncloud.\n¿QUÉ ES UN SERVIDOR OWNCLOUD? Owncloud es una nube personal como lo puede ser por ejemplo Dropbox, OneDrive o Google Drive.\nLa gran diferencia entre los servicios que acabo de citar y Owncloud es que este último es una aplicación de software libre, y por lo tanto tiene la ventaja que nos dará el control total de nuestros datos en la nube. De este modo evitaremos los problemas de privacidad que pueden generar servicios de terceros.\n¿USOS QUE PODEMOS DAR A OWNCLOUD? Las opciones que nos ofrece owncloud son mucho más grandes de lo que a priori uno puede pensar. Parte de las funcionalidades que nos dará Owncloud son las siguientes:\nAlmacenamiento de archivos cifrados en la nube. Compartición de archivos/información ubicada en la nube. Servidor de archivos WebDAV. Galería de imágenes. Reproductor de archivos de vídeo y sonido, etc. Editor de texto en linea que además permite la redacción de documentos colaborativos. Visor de archivos pdf, odt, archivos de imagen, etc. Sincronización de nuestra información en la totalidad de equipos informáticos que tengamos. Calendario y agenda de contactos mediante los protocolos CalDAV y CardDAV. De este modo será sumamente sencillo sincronizar nuestro calendario y agenda en nuestros dispositivos móviles y resto de equipos. Nota: Aparte de las funcionalidades indicadas hay otras ya que owncloud dispone de un sistema de Extensiones que permiten incluir nuevas funcionalidades. INSTALAR UN SERVIDOR WEB LAMP Para poder instalar Owncloud necesitamos un servidor Web propio con PHP, y Mysql/MariaDB. Para poder disponer de un servidor web propio tan solo hay que seguir las instrucciones que se muestran en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/instalar-un-servidor-web-lamp/\nNota: Es posible instalar Owncloud en un servidor externo que no sea de nuestra propiedad. No obstante si dependemos de un servicio de hospedaje externo, no seremos dueños de nuestros propios datos y es posible que nuestra privacidad esté comprometida. LOGUEARNOS COMO USUARIO ROOT Todo el proceso de instalación y configuración del servidor owncloud se realizará siendo root. Por lo tanto el primer paso es loguearnos como usuario root. Para ello en la terminal ejecutamos el siguiente comando:\nsu root Al ejecutar el comando nos preguntaran la contraseña del usuario root. La introducimos y presionamos Enter.\nPREPARACIÓN PREVIA Una vez instalada toda la infraestructura para el funcionamiento de owncloud, ahora ya lo podemos instalar.\nPara que owncloud funcione adecuadamente tenemos que asegurar que una serie de paquetes estén instalados. Para ello ejecutamos los siguientes comandos en la terminal:\napt-get install php5-gd php5-json php5-curl apt-get install php5-intl php5-imagick Nota: Para más información sobre los paquetes mínimos indispensables para el funcionamiento de owncloud consultar el siguiente enlace. DESCARGAR Y DESCOMPRIMIR OWNCLOUD El siguiente paso es descargar y descomprimir el Software Owncloud. Para ello creamos y accedemos a la carpeta donde descargaremos owncloud ejecutando los siguientes comandos en la terminal:\nmkdir /home/owncloud cd /home/owncloud Para descargar Owncloud accedemos a la siguiente página web:\nhttps://owncloud.org/install/#instructions-server\nUna vez dentro de la página web, tal y como se puede ver en la captura de pantalla, posicionamos el puntero del mouse encima del link .tar.bz2, presionamos el botón derecho del mouse y cuando se despliegue el menú seleccionamos la opción Copiar dirección de enlace y presionamos el botón izquierdo del mouse.\nSeguidamente en la terminal, y dentro de la ubicación /home/owncloud, tecleamos el comando wget y seguidamente pegamos la dirección de descarga de owncloud. Por lo tanto en mi caso el comando para descargar owncloud es el siguiente:\nwget https://download.owncloud.org/community/owncloud-8.0.3.tar.bz2 Una vez descargado Owncloud lo descomprimimos mediante el siguiente comando:\ntar -xvf owncloud-8.0.3.tar.bz2 Nota: En el proceso de descarga no contemplo la explicación de como comprobar la integridad del archivo descargado ya que la comprobación no es necesaria para instalar Owncloud. La comprobación solo es necesaria para asegurar que los archivos de Owncloud descargados no hayan sido manipulados por un tercero. MOVER OWNCLOUD A NUESTRO SERVIDOR WEB Una vez descargado y descomprimido Owncloud, ahora hay que mover la totalidad de archivos descomprimidos a nuestro servidor web. Para ello, dentro de la ubicación /home/owncloud, hay que ejecutar el siguiente comando:\nmv owncloud /var/www/html/ PREPARAR UNA BASE DE DATOS PARA OWNCLOUD La base de datos para Owncloud la crearemos con phpmyadmin. Por lo tanto el primer paso que tenemos que realizar es acceder a phpmyadmin. Para acceder a phpmyadmin lo haremos remotamente a través de un equipo que esté en la misma red local que nuestro servidor web. Por lo tanto en un ordenador diferente al que tenemos instalado el servidor web introducimos la siguiente dirección en el navegador web:\nhttp://192.168.1.96/phpmyadmin\nNota: La dirección de acceso de phpmyadmin es posible que sea diferente en vuestro caso. La dirección depende de la ip interna del servidor web. Una vez dentro de la pantalla de login, tal y como se puede ver en la captura de pantalla, introducimos el usuario y la contraseña de phpmyadmin y presionamos le botón Continuar:\nSeguidamente, tal y como se puede ver en la captura de pantalla, presionamos el botón Bases de datos\nEl siguiente paso, tal y como se puede ver en la captura de pantalla, es poner un nombre a la base de datos. Después de poner el nombre, que en mi caso es owncloud, hay que presionar encima del botón Crear.\nAhora tenemos que acceder a la base de datos que acabamos de crear. Para ello, tal y como se puede ver en la captura de pantalla, clicamos encima del nombre de nuestra base de datos:\nUna vez dentro de nuestra base de datos, tal y como se puede ver en la captura de pantalla, cliamos encima de la pestaña Privilegios:\nSeguidamente creamos un usuario. Para ello, tal y como se puede ver en la captura de pantalla, lo primero que tenemos que hacer es clicar encima de Agregar usuario:\nDespués de clicar encima de la pestaña agregar usuario, tal y como se puede ver en la captura de pantalla, tenemos que seleccionar el nombre del usuario, el tipo de servidor y la contraseña del usuario.\nEn el campo Nombre de usuario pueden elegir el nombre de usuario que deseen.\nEn el campo Servidor, tienen que indicar que se trata de un servidor local, para ello en el desplegable Servidor hay que seleccionar la opción Local.\nEn el campo Contraseña hay que indicar la contraseña de usuario que quieran mientras que en el campo Debe volver a escribir tendremos que repetir de nuevo la contraseña de usuario.\nEn el apartado Base de datos para el usuario, tenéis que asegurar que la opción Otorgar todos los privilegios para la base de datos “nombre de vuestra base” este marcada\nFinalmente una vez rellenados todos los datos tan solo hay que presionar encima del botón Continuar.\nOTORGAR LOS PERMISOS NECESARIOS PARA EL FUNCIONAMIENTO Para que el funcionamiento de owncloud sea correcto tenemos que otorgar los permisos adecuados a las carpetas donde ubicamos e instalamos owncloud.\nPara ello en el servidor web cambiamos los permisos de forma recursiva de la carpeta /var/www/html/owncloud ejecutando el siguiente comando en la terminal.\nchmod 0755 /var/www/html/owncloud -R Nota: Asignando los permisos 0755 aseguramos que el propietario de los archivos dispone de la totalidad de permisos, mientras que los que no son propietarios únicamente podrán visualizar y ejecutar los archivos. Seguidamente asignamos un grupo y un usuario de forma recursiva a la carpeta donde figuran la totalidad de archivos de owncloud. Par ello ejecutamos el siguiente comando en la terminal:\nchown -R www-data:www-data /var/www/html/owncloud/ Ejecutando este comando la totalidad de archivos de instalación de owncloud perteneceran al usuario www-data y al grupo www-data.\nPor motivos de seguridad quiero que la ubicación del almacenamiento de los archivos de los usuarios de Owncloud sea fuera de la ruta de instalación de Owncloud. Para ello crearemos la carpeta datosowncloud en nuestra ubicación home que es la que almacenará los datos de los distintos usuarios de la nube. Para crear la carpeta datosowncloud ejecutamos el siguiente comando en la terminal:\nmkdir /home/datosowncloud Seguidamente otorgaremos los permisos necesarios a la carpeta datosowncloud ejecutando el siguiente comando en la terminal:\nchmod 0755 /home/datosowncloud -R Nota: Asignando los permisos 0755 aseguramos que el propietario de los archivos almacenados en la nube dispone de la totalidad de permisos, mientras que los que no son propietarios únicamente podrán visualizar y ejecutar los archivos. Finalmente asignamos un grupo y un usuario de forma recursiva a la carpeta que almacenará los datos de los clientes de nuestra nube owncloud. Para ello ejecutamos el siguiente comando en la terminal:\nchown -R www-data:www-data /home/datosowncloud/ En estos momentos ya podemos abrir el navegador y probar si nuestro servidor owncloud funciona.\nEJECUCIÓN POR PRIMERA VEZ DEL SERVIDOR OWNCLOUD Ha llegado la hora de intentar iniciar owncloud por primera vez. Para ello en un equipo que esté conectado en la misma red local que el servidor, abrimos el navegador y tecleamos la ip del servidor seguida de una barra y la palabra owncloud:\nhttp://192.168.1.96/owncloud\nAl presionar Enter es probable que obtengan el error que se muestra en la siguiente captura de pantalla:\nPara solucionar el error “PHP está configurado para transmitir datos raw”, tal y como nos indica el texto del error, tecleamos el siguiente comando en la terminal del servidor donde se halla instalado owncloud:\nnano /etc/php5/apache2/php.ini Una vez abierto el editor de textos nano tenemos que localizar la siguiente línea:\n;always_populate_raw_post_data a -1 Una vez localizada la cambiamos por esta:\nalways_populate_raw_post_data a -1 Guardamos los cambios, cerramos el archivo y seguidamente tecleamos el siguiente comando en la terminal para reiniciar nuestro servidor web:\nservice apache2 restart Ahora si intentamos acceder de nuevo al servidor owncloud tenemos que obtener el siguiente resultado:\nNota: En la captura de pantalla se puede ver una advertencia de seguridad. Si os aparece no es tenéis que preocupar. Este problema lo solucionaremos más adelante. Tal y como se puede ver en la captura de pantalla, en el apartado Crear una cuenta de administrador hay que introducir el nombre de usuario y contraseña del que será el administrador de la nube. Obviamente podéis seleccionar el nombre de usuario y contraseña que queráis.\nSeguidamente en el apartado Directorio de datos especificamos la ubicación de almacenamiento que queramos que tenga la información que subimos/almacenamos a owncloud. Puede ser un disco duro externo incluso o nuestro mismo disco duro. En mi caso, tal y como hemos visto en apartados anteriores elegiré la ubicación /home/datosowncloud. Por cuestiones de seguridad no es recomendable usar la ubicación de almacenamiento predeterminada.\nFinalmente, en el apartado Configurar Base de Datos introducimos el nombre del usuario de base de datos que hemos creado antes y ponemos su contraseña. Seguidamente ponemos el nombre de la base de datos y el tipo de servidor que en nuestro caso es Localhost.\nFinalmente tan solo falta presionar el botón Completar la instalación para finalizar el proceso de instalación y obtener el siguiente resultado:\nEn estos momentos ya podemos acceder al servidor owncloud desde nuestra red local. Ahora intentaremos acceder a él conectándonos desde el exterior. Por lo tanto en mi caso abro el navegador de mi teléfono y visito la siguiente URL:\nhttp://geekland.sytes.net/owncloud\nNota: La URL de acceso dependerá del dominio NO-IP que hayáis seleccionado. En el momento de acceder lo más probable es que obtengan el error que se muestra en la captura de pantalla:\nPara solucionar el error “Está accediendo al servidor desde un dominio inseguro” hay que teclear el siguiente comando en la terminal del servidor donde se halla instalado Owncloud:\nnano /var/www/html/owncloud/config/config.php Una vez abierto el fichero config.php tendremos que editarlo para añadir el dominio de confianza. Tendremos que localizar apartado trusted_domains. Dentro de este apartado tendremos añadir el siguiente comando para introducir un dominio de confianza:\n1 =\u0026gt; \u0026#39;geekland.sytes.net\u0026#39;, Nota: Al introducir este comando deberéis sustituir geekland.sytes.net por el dominio no-ip que estáis usando. Después de añadir el dominio de confianza, que en mi caso es geekland.sytes.net, el fichero config.php tiene que tener un aspecto similar al siguiente:\nSi el contenido ha sido añadido correctamente guardamos los cambios y cerramos el fichero. Ahora si intentamos acceder de nuevo al servidor veremos que ya no se produce el error:\nPor lo tanto a estas alturas tenemos configurado el servidor owncloud para acceder desde nuestra red local y desde el exterior de nuestra red local.\nCONFIGURAR EL SERVIDOR APACHE En estos momentos Owncloud es funcional. No obstante si os importa la seguridad y sacar el máximo partido al servidor es indispensable implementar los siguientes pasos adicionales:\nHacer que apache utilice el fichero .htaccess Las instrucciones de este apartado tan solo hay que aplicarlas en el caso que en uno de los apartados de la instalación hayan visto un mensaje que decía lo siguiente:\n“Su directorio de datos y sus archivos probablemente sean accesibles a través de internet ya que su archivo .htaccess no funciona”\nPara solucionar este problema tenemos que configurar Apache para que no ignore las instrucciones contenidas en el archivo .htacces. Para ello en el servidor Owncloud tecleamos el siguiente comando en la terminal:\nnano /etc/apache2/sites-enabled/000-default.conf Cuando se abra el editor de texto nano, hay que localizar la siguiente línea:\nDocumentRoot /var/www/html Justo por debajo de esta linea hay que añadir el siguiente código:\n\u0026lt;Directory \u0026#34;/var/www/html\u0026#34;\u0026gt; AllowOverride All \u0026lt;/Directory\u0026gt; Nota: La directiva AllowOverride es la que indica si se debe ignorar el código presente en el archivo .htaccess. Al atribuir el valor All el servidor apache tendrá en cuenta la totalidad de directivas incluidas en el archivo .htacess. Una vez introducidos los cambios el fichero 000-default.conf tendrá una aspecto parecido al siguiente:\nEn estos momentos tan solo tenemos que guardar los cambios y cerrar el fichero.\nActivar los módulos rewrite y headers El siguiente paso es activar los moulos rewrite y headers. Para activar estos 2 módulos hay que ejecutar los siguientes comandos en la terminal del servidor Owncloud:\na2enmod rewrite a2enmod headers Una vez activados los módulos tan solo tenemos que reiniciar el servidor apache introduciendo el siguiente comando en la terminal:\nservice apache2 restart Nota: La función de módulo rewrite es hacer que las URL se puedan reescribir haciéndolas más amigables y más sencillas. Nota: La función del módulo headers es modificar las cabeceras http mediante la directriz header. Modificar el tamaño máximo de subida de archivos en la nube Con la configuración estándar del servidor no podremos subir ficheros de más de 2 MB. Para modificar este aspecto tenemos que modificar la configuración de PHP ejecutando el siguiente comando en la terminal:\nnano /etc/php5/apache2/php.ini Una vez abierto el editor de textos nano localizamos la siguientes líneas:\nupload_max_filesize = 2M post_max_size = 8M Una vez localizadas modificamos sus valores por los siguientes:\nupload_max_filesize = 2048M post_max_size = 2500M Nota: El valor de post_max_size tiene que ser mayor al de upload_max_size. El motivo es que upload_max_size es el tamaño máximo permitido del fichero que vamos a subir, mientras que post_max_size hace referencia al tamaño máximo de la petición de subida global. Una vez realizados los cambios tan solo hay que guardarlos y cerrar el fichero.\nSeguidamente tenemos que configurar el archivo .htaccess. Para ello tecleamos el siguiente comando en la terminal:\nnano /var/www/html/owncloud/.htaccess Una vez abierto el editor textos nano localizamos las siguientes lineas:\nphp_value upload_max_filesize 513M php_value post_max_size 513 Una vez localizadas modificamos sus valores por los siguientes:\nphp_value upload_max_filesize 2048M php_value post_max_size 2500 Nota: Los valores seleccionados deben ser los mismos que los indicados en el fichero /etc/php5/apache2/php.ini. Una vez realizados los cambios tan solo hay que guardarlos y cerrar el archivo. Seguidamente tecleamos el siguiente comando en la terminal para reiniciar nuestro servidor web:\nservice apache2 restart Después de realizar estos pasos seremos capaces de subir archivos de 2 GB en nuestra nube personal Owncloud.\nCONFIGURAR SSL HTTPS EN OWNCLOUD Si os fijáis la dirección Owncloud es del tipo http Por lo tanto el tráfico generado entre cliente y servidor no está cifrado. Si queremos añadir una capa de seguridad tan solo tenemos que seguir los siguientes pasos. Primeramente tenemos que asegurar que el paquete openssl está instalado ejecutando el siguiente comando en la terminal:\napt-get install openssl Activar el módulo ssl en el servidor apache El siguiente paso es activar el módulo ssl de apache. Para ello tecleamos el siguiente comando en la terminal:\na2enmod ssl Modificar la configuración de ssl A continuación editaremos el fichero de configuración de openssl para alargar la caducidad del certificado ssl que vamos a generar, y para cambiar la ubicación donde se guardará el certificado que generaremos. Para ello ejecutamos el siguiente comando en la terminal:\nnano /etc/ssl/openssl.cnf Una vez abierto el editor de textos nano localizamos las siguientes líneas:\ndir = ./demoCA default_days = 365 Una vez localizadas cambiamos sus valores por los siguientes:\ndir = /root/SSLCertAuth default_days = 3650 Una vez aplicados los cambios los guardamos y cerramos el fichero. En estos momentos cuando creemos el certificado se almacenará en la carpeta /root/SSLCertAuth y tendrá una vigencia de 3650 días (10 años).\nCreación de carpetas y archivos para generar el certificado ssl Ahora creamos y configuramos los directorios donde vamos a crear los certificados. Para ello ejecutamos el siguiente comando en la terminal:\nmkdir /root/SSLCertAut El siguiente paso es hacer que únicamente el usuario propietario, que en mi caso es root, tenga permisos de lectura, escritura y ejecución sobre la carpeta /root/SSLCertAut. Para ello ejecutamos el siguiente comando en la terminal:\nchmod 700 /root/SSLCertAuth Accedemos dentro de la carpeta /root/SSLCertAuth ejecutando el siguiente comando en la terminal:\ncd /root/SSLCertAuth Seguidamente tenemos que crear una serie de carpetas que son necesarias para que openssl pueda generar nuestras claves y certificados. Para ello ejecutamos el siguiente comando en la terminal:\nmkdir certs private newcerts Una vez creadas las carpetas certs, private y newcerts, crearemos el fichero indext.txt y el fichero serial con un valor de 1000. Para ello introduciremos los siguientes comandos en la terminal:\necho 1000 \u0026gt; serial touch index.txt Nota: El fichero index.txt contendrá una base de datos de los certificados generados. El fichero serial se usará para generar el número de serie del certificado que vamos a generar. Crear una autoridad de certificación Es necesario crear una autoridad de certificación para generar un certificado. Para crear nuestra propia autoridad de certificación tenemos que teclear el siguiente comando en la terminal:\nopenssl req -new -x509 -days 3650 -extensions v3_ca \\-keyout private/cakey.pem -out cacert.pem \\-config /etc/ssl/openssl.cnf Al ejecutar el comando lo primero que se nos pregunta es una clave. Esta clave tenemos recordarla y se nos preguntará cada vez que firmemos un certificado. Seguidamente nos pedirá que reconfirmemos la clave que acabamos de elegir.\nSeguidamente, tal y como se puede ver en la captura de pantalla, nos irá haciendo preguntas. Las vamos respondiendo una tras otra teniendo especial cuidado en el campo common name que tendrá que ser el fqdn (fully qualified name). En mi caso el common name (fqdn) es geekland.sytes.net.\nUna vez creada la autoridad de certificación, dentro de la ubicación /root/SSLCertAuth podrán encontrar los archivos cakey.pem y cacert.pem. Estos archivos hay conservarlos ya que serán necesarios para crear nuestros certificados.\nCrear una solicitud de firma Ahora creamos una clave privada y la solicitud de firma del certificado (CSR). Para ello introduciremos el siguiente comando en la terminal:\nopenssl req -new -nodes \\-out apache-req.pem \\-keyout private/apache-key.pem \\-config /etc/ssl/openssl.cnf Después de ejecutar el comando, tal y como se puede ver en la captura de pantalla, se nos irá haciendo preguntas. Las vamos respondiendo una tras otra teniendo especial cuidado en el campo common name que tendrá que ser el fqdn (fully qualified name). En mi caso el common name (fqdn) es geekland.sytes.net.\nEn la parte final de las preguntas se nos pregunta un password. Este password será para proteger la clave privada que estamos creando. Esta clave privada será usada más adelante en el proceso de autenticación SSL.\nUna vez finalizado el proceso en la ubicación /root/SSLCertAuth dispondremos de los siguientes archivos:\napache-req.pem: Es el archivo que contiene la solicitud de firma del certificado.\napache-key.pem: Es la clave privada que hemos generado. Está clave privada se usa para el proceso de autentificación SSL de los usuarios que se conectan al servidor de owncloud.\nCrear y firmar el certificado ssl Finalmente tan solo hay que generar nuestro propio certificado autofirmado. Para ello tecleamos el siguiente comando en la terminal:\nopenssl ca \\-config /etc/ssl/openssl.cnf \\-out apache-cert.pem \\-infiles apache-req.pem Al ejecutar el comando se nos preguntará la clave que fijamos en el apartado de crear una autoridad de certificación. La introducimos y presionamos Enter. Seguidamente se nos preguntará si queremos firmar el certificado e introducirlo en la base de datos. En ambos casos respondemos que Sí. Después de realizar estos pasos, tal y como se puede ver en la captura de pantalla, el proceso ha terminado:\nPara confirmar que el proceso ha finalizado, en la ubicación /root/SSLCertAuth, tenemos que comprobar que esté presente el archivo apache-cert.pem que será el certificado SSL que hemos creado.\nCopiar las claves y certificados en las ubicaciones correspondientes Otro de los pasos a realizar es copiar el certificado y la clave privada que acabamos de generar en una ubicación apropiada. Para ello creamos las carpetas que contendrán el certificado y la clave introduciendo los siguientes comandos en la terminal:\nmkdir /etc/ssl/crt mkdir /etc/ssl/key Seguidamente copiamos la clave y el certificado que hemos generado dentro de las carpetas que acabamos de crear introduciendo los siguientes comandos en la terminal:\ncp /root/SSLCertAuth/apache-cert.pem /etc/ssl/crt cp /root/SSLCertAuth/private/apache-key.pem /etc/ssl/key Configurar apache para que use https Uno de los últimos pasos es configurar apache para que pueda utilizar https. Para ello editamos el archivo default-ssl.conf ejecutando el siguiente comando en la terminal:\nnano /etc/apache2/sites-available/default-ssl.conf Una vez abierto el editor de textos nano, tenemos que asegurar que el archivo default-ssl.conf contenga la siguiente información:\nServerName geekland.sytes.net (usar vuestro fdqn) DocumentRoot /var/www/html \u0026lt;Directory /var/www/html/owncloud\u0026gt; (usar vuestra ruta de instalación de owncloud) AllowOverride All \u0026lt;/Directory\u0026gt; \u0026lt;Directory /home/datosowncloud\u0026gt; (usar vuestra ruta de almacenamiento de datos de Owncloud) AllowOverride All \u0026lt;/Directory\u0026gt; SSLEngine on SSLCertificateFile /etc/ssl/crt/apache-cert.pem (usar la ruta de vuestro certificado) SSLCertificateKeyFile /etc/ssl/key/apache-key.pem (usar la ruta de vuestra clave privada) ErrorLog ${APACHE_LOG_DIR}/error_log (usar la ruta que queráis para almacenar los logs) CustomLog ${APACHE_LOG_DIR}/access.log combined (usar la ruta que queráis para almacenar los logs) Una vez aplicados los cambios el archivo default-ssl.conf deberá tener un aspecto parecido al siguiente:\nSi el contenido de la captura de la pantalla es similar tan solo tenemos que guardar los cambios y cerrar el fichero.\nSeguidamente crearemos un enlace simbólico del archivo /etc/apache2/sites-available/default-ssl.conf en la ubicación /etc/apache2/sites-enabled/. Para ello ejecutamos el siguiente comando en la terminal:\nln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/default-ssl.conf Una vez creado el enlace simbólico, el servicio https está activado. Finalmente tan solo tenemos que reiniciar el servidor apache ejecutando el siguiente comando en la terminal:\nservice apache2 restart Configurar Owncloud para que use https En estos momentos ya podemos intentar acceder a owncloud mediante https. Para ello en un equipo perteneciente a nuestra red local, abrimos el navegador y tecleamos la siguiente url:\nhttps://192.168.1.96/owncloud\nNota: La URL de acceso dependerá de la ip interna del servidor que tiene instalado Owncloud. Después de acceder la URL indicada nos aparecerá la advertencia que la conexión no está verificada:\nEsta advertencia es completamente normal. El motivo de la advertencia es porqué hemos sido nosotros mismos quien ha creado y firmado el certificado ssl, y obviamente nosotros no somos una autoridad certificadora verificada/reconocida. Lo único que tenemos hacer para solucionar este problema es clicar en el apartado Entiendo los riesgos, y seguidamente clicar en el apartado Añadir excepción. Después de clicar en Añadir excepción aparecerá la siguiente ventana:\nPresionamos encima del botón Confirmar excepción de seguridad y ya podremos acceder a nuestro servidor Owncloud. Una vez dentro de nuestro servidor Owncloud, tal y como se puede ver en la captura de pantalla, accedemos al menú de Administración:\nUna vez dentro del menú de administración, tal y como se puede ver en la captura de pantalla, dentro del apartado de seguridad tenemos que marcar la opción Forzar HTTPS.\nDespués de marcar esta opción, únicamente se podrá acceder al servidor owncloud mediante https.\nNota: Este apartado se ha realizado usando el navegador Firefox. También se puede realizar usando Google Chrome siguiendo los pasos equivalentes que en sí son intuitivos. ACCEDER A OWNCLOUD A TRAVÉS DE WEBDAV Con Webdav podemos conectarnos, editar y ver el contenido a nuestra nube personal owncloud tal y como si se tratará de un disco duro de red en nuestro gestor de archivos.\nPara hacer posible lo que acabo de comentar no hay que configurar nada en especial ya que Owncloud dispone de un servidor WebDAV incorporado de serie.\nPara conectarnos a nuestra nube a través de webDAV escribiré un post en las próximas semanas. En el veremos como podemos conectarnos a nuestra nube a través de Android, Linux y Windows.\nINSTALAR CLIENTES EN EL ORDENADOR Y EN LOS TELEFONOS Existen clientes de escritorio de Owncloud para Windows, Android, iOS, Linux y MacOSX. En futuros post detallaremos como podemos instalar fácilmente el cliente de Owncloud en cada uno de los sistemas operativos citados.\nFUENTES https://doc.owncloud.org/server/8.0/admin_manual/installation/source_installation.html\n","permalink":"https://geeklandlinux.github.io/posts/instalar-owncloud-ssl-webdav/","summary":"\u003cp\u003eHace unas semanas vimos como instalar un servidor LAMP en Debian. Con el fin de sacar partido a nuestro servidor LAMP, en este post citaré como instalar Owncloud.\u003c/p\u003e","title":"Instalar Owncloud con SSL y Webdav"},{"content":"En el siguiente artículo veremos como instalar un servidor web LAMP en linux y más concretamente en Debian 8 (Jessie). Es de esperar que el procedimiento seguido para instalar el servidor web LAMP en Debian 8, sea también válido para prácticamente la totalidad de distribuciones derivadas de Debian.\nNota: En este artículo únicamente hacemos mención a la instalación de la infraestructura mínima funcional de un servidor web. En ningún caso se pretende profundizar en otros aspectos como por ejemplo fortificar la seguridad del servidor web, instalar un CMS wordpress, instalar un servidor owncloud, etc. Para estos menesteres escribiré otros post en el futuro. Nota: El servidor web que instalaremos será accesible de forma local y de forma remota. ¿QUÉ ES UN SERVIDOR WEB LAMP? LAMP es un acrónimo que representa un conjunto de herramientas que proporcionan las funcionalidades necesarias para construir nuestro propio servidor web. Estas herramientas que forman LAMP son las siguientes:\nL de Linux: Por lo tanto nuestro servidor web se usará sobre un sistema operativo Linux. A de Apache: Por lo tanto el servidor que usaremos es el archiconocido Apache. M de MySQL/MariaDB: Por lo tanto el servidor web Apache se alimentará de un sistema de base de datos relacional como MySQL o MariaDB. P de Php, Perl o Phyton: Por lo tanto el servidor web dispondrá de los módulos PHP, Perl o Phyton para poder procesar alguno de estos lenguajes de programación.\nSi precisan de más información acerca de los servidores LAMP pueden consultar el siguiente enlace.\nASIGNAR UNA IP ESTÁTICA A NUESTRO SERVIDOR El primero paso a resolver para disponer de nuestro propio servidor web, es hacer que el equipo que actúe como servidor tenga una IP interna estática. De este modo nuestro servidor siempre será localizable dentro de nuestra red local.\nPara conseguir disponer de un servidor con ip interna fija tan solo hay que seguir los pasos que se detallan en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/configurar-ip-fija_o_estatica_ipv4/\nNota: El método descrito en el enlace es válido en el caso que estéis usando un servidor sin entorno gráfico. En el caso que el servidor que uséis disponga de entorno gráfico, tendréis que configurar este aspecto a través de la interfaz visual de vuestro gestor de red que probablemente será network manager o wicd. Una vez terminados la totalidad de pasos, el servidor tendrá una IP fija que en mi caso será la 192.168.1.188. Esta IP es la que deberemos usar para localizar y conectar con nuestro servidor web de forma local. Esta IP también será la que tendremos que usar para que nuestro Router redireccione las peticiones de los clientes remotos que quieran conectarse a nuestro servidor Web.\nHACER QUE NUESTRO SERVIDOR SEA ACCESIBLE DESDE EL EXTERIOR Cuando tengamos nuestro servidor web funcionando, es probable que tengamos clientes remotos que quieran conectarse a él, o que simplemente seamos nosotros mismos quien lo precisemos hacer porqué por ejemplo tengamos un servidor Owncloud alojado en nuestro servidor web.\nPara que los clientes remotos puedan conectarse a nuestro servidor web necesitaran nuestra IP Pública. Desafortunadamente en la gran mayoría de casos la IP que tenemos es dinámica. Por lo tanto se puede dar perfectamente el caso que en el momento de conectarnos no sepamos la IP Pública de nuestro servidor.\nPara solucionar este problema tenemos que asociar la IP Pública de nuestro servidor a un dominio. Para poder realizar este paso tan solo tienen que seguir las indicaciones del siguiente enlace:\nhttps://geeklandlinux.github.io/posts/encontrar-servidor-con-dns-dinamico/\nUna vez realizados estos pasos tendréis vuestra IP Pública asociada a un dominio. En mi caso mi IP Pública está asociada al dominio geekland.sytes.net\nREDIRECCIONAR PETICIONES DE LOS CLIENTES EN EL ROUTER En estos momentos tenemos que configurar nuestro router para que sea capaz de redireccionar las peticiones de los clientes remotos al servidor web. Para ello lo primero que se necesita es saber la IP interna del servidor web. En mi caso, tal y como hemos visto en el apartado “Asignar una IP estática a nuestro servidor web” tenemos la IP 192.168.1.188. En caso de tener dudas tan solo tenemos que abrir una terminal y ejecutar el siguiente comando:\nsudo ifconfig Justo después de ejecutar el comando obtendremos la siguiente captura de pantalla:\nComo se puede ver en la captura de pantalla, la IP interna del que será el futuro servidor web es la 192.168.1.188\nUna vez conocemos la IP interna del futuro servidor web, accedemos a la configuración del Router abriendo el navegador e introduciendo nuestra puerta de entrada. Una vez introducida la puerta de entrada, que acostumbra a ser 192.168.1.1, tal y como podemos ver en la captura de pantalla tendremos que introducir nuestro nombre de usuario y contraseña y presionar el botón Aceptar:\nUna vez hemos accedido a la configuración del Router, buscamos el apartado Virtual Servers en el menú de configuración. En mi router, como se puede ver en la captura de pantalla, se halla en Advanced Setup / NAT / Virtual Servers:\nUna vez dentro de Virtual Servers presionamos el botón Add para añadir nuestro servidor web. Una vez presionado el botón Add aparecerá la siguiente pantalla:\nComo se puede ver en la captura de pantalla en Server IP Address tendremos que indicar la IP interna de nuestro servidor web que será la 192.168.1.188\nEn seleccionar servicio elegimos la opción Web Server (HTTP). Al seleccionar esta opción la configuración de los protocoles y puertos se realizará automáticamente. Como se puede ver en la captura de pantalla el servicio HTTP funciona mediante el protocolo TCP y el puerto 80.\nUna vez realizados los pasos tan solo tenemos que apretar el botón Save/Apply.\nSi además tenemos previsto que nuestro servidor web funcione con https, también tendremos que abrir el puerto 443. Para abrir el puerto 443, tal y como se puede ver en la captura de pantalla, hay que seguir los mismos pasos que para abrir el puerto 80:\nLa única diferencia es que en vez de seleccionar el servicio Web Server (HTTP), en este caso tendremos que seleccionar Secure Web Server (HTTPS). Una vez seleccionada la IP del servidor, y el tipo de servicio tan solo tendremos que volver a presionar el botón Apply/Save.\nUna vez nuestro ordenador está accesible desde fuera de nuestra red local ya podemos iniciar la instalación del servidor web LAMP.\nLOGUEARNOS COMO USUARIO ROOT Todo el proceso de instalación y configuración del servidor se realizará siendo root. Por lo tanto el primer paso es loguearnos como usuario root. Para ello en la terminal ejecutamos el siguiente comando:\nsu root Al ejecutar el comando nos preguntaran la contraseña del usuario root. La introducimos y presionamos Enter.\nACTUALIZAR EL SOFTWARE DE NUESTRO SISTEMA OPERATIVO El primer paso para actualizar el software del sistema operativo donde instalaremos el servidor web, es actualizar los repositorios del sistema. Para ello ejecutaremos el siguiente comando en la terminal:\napt-get update Seguidamente actualizamos los paquetes de nuestro sistema operativo ejecutando el siguiente comando en la terminal:\napt-get upgrade INSTALACIÓN DEL SERVIDOR WEB APACHE Instalar un servidor web apache es muy sencillo. Tan solo tenemos que teclear el siguiente comando en la terminal:\napt-get install apache2 Una vez tecleado presionamos Enter. Justo después empezará el proceso de instalación. Durante el proceso de instalación, recomiendo que analicen los mensajes que aparecen para asegurarnos que no se produce ningún error.\nSi durante el proceso de instalación del servidor Apache nos aparece el siguiente mensaje:\napache2: Could not determine the server\u0026#39;s fully qualified domain name, using 127.0.0.1 for ServerName Entonces deberemos editar el fichero /etc/apache2/httpd.conf. Para ello tenemos que teclear el siguiente comando en la terminal:\nnano /etc/apache2/httpd.conf Una vez abierto el fichero httpd.conf con el editor de textos nano, tenemos que ir al final del archivo de configuración y añadir el siguiente texto:\nServerName localhost Una vez introducida esta línea guardamos los cambios y cerramos el editor de texto. Ahora al reiniciar el servidor apache no debería aparecer el error ya que ahora hemos definido que el nombre de nuestro servidor sea localhost.\nEn estos momentos el proceso de instalación del servidor Web ha finalizado.\nINSTALACIÓN DE LAS LIBRERIAS DE SOPORTE PHP5 Una vez instalado el servidor web Apache, instalaremos las librerías de soporte PHP conjuntamente con sus dependencias. Para ello ejecutamos el siguiente comando en la terminal:\napt-get install php5 libapache2-mod-php5 php5-mcrypt Después de instalar los paquetes el proceso de instalación de las librerías PHP ha finalizado.\nINSTALACIÓN DEL SERVIDOR DE BASE DE DATOS MYSQL El siguiente paso es instalar el servidor de base de datos MySQL. Para ello ejecutaremos el siguiente comando en la terminal:\napt-get install mysql-server php5-mysql Durante la instalación del servidor de la base datos, tal y como se puede ver en la captura de pantalla, se nos pedirá introducir la contraseña del usuario root que administrará la base de datos.\nTal y como se puede ver en la captura de pantalla, introducimos la contraseña y presionamos Enter. Justo después de presionar Enter, tal y como se puede ver en la captura de pantalla, se nos volverá a pedir que repitamos la contraseña que acabamos de introducir:\nIntroducimos la contraseña de nuevo y presionamos Enter. Ahora tan solo tenemos que esperar unos segundos a que concluya el proceso de instalación de MySQL.\nNota: Durante el proceso de instalación de MySQL, hay que asegurar que no se produzcan errores. En caso de producirse errores deberemos buscar una solución. INSTALACIÓN DE PHPMYADMIN PARA GESTIONAR EL SERVIDOR MYSQL Phpmyadmin es un administrador gráfico web para bases de datos MySQL. Por lo tanto Phpmyadmin nos servirá para poder administrar de una forma gráfica y más sencilla nuestras bases de datos. Para instalar Phpmyadmin tenemos que ejecutar el siguiente comando en la terminal:\napt-get install phpmyadmin Durante la instalación de Phpmyadmin se nos preguntará el servidor web en el que queremos ejecutar Phpmyadmin. Tal y como se puede ver en la captura de pantalla, seleccionamos el servidor apache2 que acabamos de instalar y presionamos Enter.\nSeguidamente nos aparecerá un mensaje en el que se nos advierte que es necesario disponer de una base de datos instalada y configurada para poder utilizar phpmyadmin. Se nos pregunta si queremos que la creación y configuración de esta base de datos se haga de forma automática. Nosotros, tal y como se puede ver en la captura de pantalla, seleccionaremos la opción Sí y presionaremos Enter.\nDespués de presionar Enter continuará el proceso de instalación. En breves momentos aparecerá otra ventana en la que se nos pedirá que introduzcamos la contraseña de administrador root de Mysql para que phpmyadmin pueda acceder al servidor de base de datos Mysql y crear la base de datos. Tal y como se puede ver en la captura de pantalla, introducimos la contraseña que definimos previamente y presionamos Enter:\nDespués de presionar Enter continuará el proceso de instalación. En breves momentos aparecerá otra ventana en la que nos pedirá que introduzcamos la contraseña que queremos usar para loguearnos a phpmyadmin. Tal y como se puede ver en la captura de pantalla introducimos la contraseña y presionamos la tecla Enter.\nAl presionar Enter nos aparecerá otra pantalla en la que se nos pedirá que reconfirmemos las contraseña que acabamos de introducir. Por lo tanto volvemos a teclear la contraseña y presionamos Enter. En estos momentos el proceso ha finalizado.\nFinalmente tan solo nos falta incluir phpmyadmin dentro de la configuración de apache. Para ello ejecutamos el siguiente comando en la terminal:\nnano /etc/apache2/apache2.conf Una vez abierto el fichero de configuración de Apache, nos vamos al final e introducimos el siguiente texto:\n# phpMyAdmin Configuración Include /etc/phpmyadmin/apache.conf Una vez introducido el texto guardamos los cambios y cerramos el fichero. Finalmente reiniciamos el servidor Apache para los cambios surjan efecto introduciendo el siguiente comando en la terminal:\nservice apache2 restart Después de realizar estos paso, el proceso de instalación de un servidor Web LAMP ha finalizado. Ahora tan solo nos falta comprobar que sea operativo.\nCOMPROBACIÓN DEL FUNCIONAMIENTO DEL SERVIDOR WEB Para comprobar que el servidor web está funcionando, tan solo tenemos que abrir el navegador web y teclear la dirección de nuestro dominio no-ip fuera de nuestra red local. En mi caso tecleo la siguiente dirección:\nhttp://geekland.sytes.net Una vez tecleada la dirección, si todo funciona adecuadamente obtendréis un resultado parecido al siguiente:\nNota: Si la prueba se realiza dentro de nuestra red local, se debe sustituir la dirección del dominio no-ip por la dirección ip estática de nuestro servidor web. En mi caso la dirección ip estática es 192.168.1.188 COMPROBACIÓN DEL FUNCIONAMIENTO DE PHP Para comprobar que el funcionamiento de php es correcto tenemos que crear un pequeño script. Para crearlo ejecutamos el siguiente comando en la terminal:\nnano /var/www/html/info.php Una vez abierto el editor de texto nano tecleamos el siguiente código:\n\u0026lt;?php phpinfo(); ?\u0026gt; Una vez tecleado el código, guardamos los cambios y cerramos el archivo.\nUna vez generado el script ya podemos realizar la comprobación. Para realizar la comprobación, tan solo tenemos que abrir el navegador web con un dispositivo que esté fuera de nuestra red local y teclear la dirección de nuestro dominio no-ip seguida de una contrabarra y el nombre del script que acabamos de generar. Por lo tanto en mi caso tengo que teclear la siguiente dirección:\nhttp://geekland.sytes.net/info.php Una vez tecleada la dirección, si todo funciona adecuadamente, obtendréis un resultado parecido al siguiente:\nNota: Si la prueba se realiza dentro de nuestra red local, se debe sustituir la dirección del dominio no-ip por la dirección ip estática de nuestro servidor web que en mi caso es 192.168.1.188. COMPROBACIÓN DEL FUNCIONAMIENTO DE MYSQL Y PHPMYADMIN Para comprobar que MySQL y Phpmyadmin están funcionando, tan solo tenemos que abrir el navegador web con un dispositivo que esté fuera de nuestra red local y teclear la dirección de nuestro dominio no-ip seguida de una contrabarra y el nombre phpmyadmin. Por lo tanto en mi caso tengo que teclear la siguiente dirección:\nhttp://geekland.sytes.net/phpmyadmin Nota: Si la prueba se realiza dentro de nuestra red local, se debe sustituir la dirección del dominio no-ip por la dirección ip estática de nuestro servidor web. Una vez tecleada la dirección, si todo funciona adecuadamente obtendréis un resultado parecido al siguiente:\nAhora tan solo hay que introducir la contraseña que definimos en etapas anteriores y presionar el botón continuar. Si todo funciona correctamente obtendremos un resultado similar al siguiente:\nSi todas las comprobaciones realizadas son satisfactorias podemos afirmar que disponemos de un servidor web LAMP instalado y funcional. En futuros post veremos como podemos dar uso al servidor web LAMP que acabamos de instalar.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-un-servidor-web-lamp/","summary":"\u003cp\u003eEn el siguiente artículo veremos como instalar un servidor web LAMP en linux y más concretamente en Debian 8 (Jessie). Es de esperar que el procedimiento seguido para instalar el servidor web LAMP en Debian 8, sea también válido para prácticamente la totalidad de distribuciones derivadas de Debian.\u003c/p\u003e","title":"Instalar un servidor web LAMP"},{"content":"Todos los sistemas operativos que trabajan con el entorno de escritorio XFCE acostumbran a disponer de varios atajos de teclado preconfigurados para poder hacer nuestras tareas de forma más fácil y más rápida.\nNo obstante es posible que deseemos incluir nuevos atajos de teclado para adaptar aún más el sistema operativo a nuestras necesidades. Para conseguir nuestro propósito, tan solo tenemos que seguir los pasos que encontrarán en el siguiente apartado.\nCREAR ATAJOS DE TECLADO EN XFCE En el siguiente apartado, a modo de ejemplo, crearemos un atajo de teclado para abrir el gestor de tareas de XFCE. Para ello el primero paso es ejecutar el siguiente comando en la terminal:\nxfce4-keyboard-settings Una vez ejecutado el comando aparecerá la siguiente ventana:\nTal y como se puede ver en la captura de pantalla presionamos encima de la pestaña Atajos de Aplicación. Seguidamente presionamos el botón Añadir. Después de presionar añadir aparecerá la siguiente ventana:\nTal y como puede verse en la captura de pantalla, tenemos que introducir el comando que queremos que se ejecute cuando presionaremos la combinación de teclas que seleccionaremos posteriormente. En este caso el comando a introducir es:\nxfce4-taskmanager Presionamos el botón Aceptar. Después de presionar el botón Aceptar aparecerá la siguiente pantalla:\nEn estos momentos lo único que tenemos que realizar es presionar la combinación de teclas que deseamos para que se abra el gestor de tareas de XFCE. En mi caso la combinación de teclas elegida es Ctrl+Alt+T.\nAhora tan solo tenemos que presionar la combinación de teclas Crtl+Alt+T y se abrirá el gestor de tareas de XFCE.\nEJEMPLOS DE ATAJOS DE TECLADO QUE PODEMOS CREAR EN XFCE De la misma forma que hemos creado un atajo de teclado para abrir nuestro gestor de tareas, podemos crear otros atajos de teclado que nos pueden ser sumamente útiles. Algunos de los atajos de teclado que podemos crear son los siguientes:\nBloquear el equipo (Ctrl+Alt+Supr) Si deseamos bloquear el equipo para que nadie pueda acceder a él durante nuestra ausencia, podemos crear un atajo de teclado usando la siguiente orden y el siguiente atajo de teclado.\nOrden: xflock4 Combinación de teclas: Ctrl+Alt+Supr En el momento de presionar Ctrl+Alt+Supr el equipo se bloqueará. Para desbloquear el equipo tendremos que introducir nuestra contraseña de usuario y presionar Enter.\nApagar el monitor para ahorrar energía (Ctrl+Alt+m) Si simplemente lo que pretendemos es apagar el monitor para ahorrar energía durante un breve periodo de ausencia, podemos usar el siguiente atajo de teclado:\nOrden: xset dpms force off Combinación de teclas: Ctrl+Alt+m Si usamos este método no será necesario esperar a que actúe el gestor de energía de XFCE para apagar el monitor. Para volver a encender la pantalla tan solo tenemos que presionar una tecla o mover el ratón del ordenador.\nApagar el ordenador (Ctrl+Mayús+s) Podemos asignar una combinación de teclas para cerrar, hibernar, suspender o cerrar la sesión de nuestro ordenador. Para conseguir este propósito podemos construir una atajo de teclado utilizando la siguiente orden y atajo de teclado:\nOrden: xfce4-session-logout Combinación de teclas: Ctrl+Mayús+s Una vez configurado el atajo de teclado, cada vez presionemos la combinación de teclas Ctrl+Mayús+s, se abrirá el menú de cerrar sesión de XFCE. En este menú podremos realizar diversas acciones como por ejemplo cerrar la sesión, cerrar el ordenador, suspender el sistema, etc.\nAcceder a las opciones de configuración de la pantalla (+p) Si lo que queremos es modificar la configuración de nuestra pantalla, lo podemos hacer fácilmente mediante la siguiente orden y combinación de teclas:\nOrden: xfce4-display-settings --minimal Combinación de teclas: \u0026lt;Super\u0026gt;+p Una vez configurado el atajo de teclado, tan solo tenemos que presionar la combinación de teclas +p para acceder a la configuración de nuestro monitor.\nActivar y desactivar el compositor de ventanas xfwm (Ctrl+Mayús+C) Si lo que pretendemos es activar y desactivar de forma rápida el compositor de ventanas xfwm, podemos crear un atajo de teclado con la siguiente orden y combinación de teclas:\nOrden: xfconf-query --channel=xfwm4 --property=/general/use_compositing --type=bool --toggle Combinación de teclas: Ctrl+Mayús+C Si presionamos Ctrl+Mayús+C el compositor de ventanas xfwm4 se desactivará. Si queremos reactivarlo de nuevo tenemos que presionar otra vez la combinación de teclas Ctrl+Mayús+C.\nRealizar una captura de pantalla (Impr Pant) Si nuestro objetivo es realizar una captura de pantalla de forma rápida, podemos construir un atajo de teclado con la siguiente orden y combinación de teclas:\nOrden: xfce4-screenshooter -u Combinación de teclas: Impr Pant Una vez configurado el atajo de teclado, al presionar la tecla Impr Pant, aparecerá el menú del capturador de pantalla de XFCE para que podamos seleccionar las opciones de captura de pantalla que más nos convengan.\nRealizar la captura de pantalla de una ventana (Alt+Impr Pant) Si lo que pretendemos es capturar una ventana de forma directa sin tener que interactuar con ningún tipo de menú ni de ventana, podemos crear el siguiente atajo de teclado usando la siguiente orden y combinación de teclas:\nOrden: xfce4-screenshooter -w -d 5 -m Combinación de teclas: Alt+Impr Pant Cuando hayamos finalizado la configuración, al presionar la combinación de teclas Alt+ Impr Pant, tendremos que esperar 5 segundos. A los 5 segundos se realizará la captura de pantalla de la ventana que esté activa en este momento. Como en la orden hemos incluido el parámetro -m, la captura de pantalla incluirá el puntero del mouse.\nRealizar una captura de pantalla de la región seleccionada (Ctrl+Mayús+Impr Pant) Si nuestro objetivo es realizar la captura de pantalla de una región cualquiera de forma directa y sin tener que interactuar con ningún menú un ventana, podemos configurar el siguiente atajo de teclado:\nOrden: xfce4-screenshooter -r Combinación de teclas: Ctrl+Mayús+Impr Pant En el momento de presionar las teclas Ctrl+Mayús+Impr Pant, la pantalla se oscurecerá y tendremos que seleccionar la región de la pantalla que queremos capturar. Una vez indicada la región que queremos capturar se realizará la captura de pantalla de forma automática.\nAbrir el menú de XFCE Whiskermenu con la tecla de Windows () Para hacer que cada vez que presionemos la tecla de windows se active Whisker menu, tenemos que aplicar el siguiente atajo de teclado:\nOrden: xfce4-popup-whiskermenu Combinación de teclas: \u0026lt;Super\u0026gt; Ahora cada vez que presionemos la tecla de Windows, se desplegará nuestro Whisker menu.\nAbrir la terminal (Ctrl+t) Para abrir la terminal con un atajo de teclado podemos usar la siguiente orden y combinación de teclas:\nOrden: x-terminal-emulator -r \u0026#34;Command Line\u0026#34; Combinación de teclas: Ctrl+t Ahora cada vez que presionemos la combinación de teclas Ctrl+t se abrirá una terminal.\nLanzar cualquier aplicación mediante una combinación de teclas Si nuestro objetivo es lanzar aplicaciones con atajos de teclado es muy fácil. Como orden tan solo tenemos que usar el comando que utilizaríamos para lanzar el programa desde la terminal, y como combinación de teclas podemos elegir cualquiera. Por lo tanto si lo que pretendemos es crear un atajo de teclado para arrancar el gestor de archivos Thunar podemos usar la siguiente orden y comando:\nOrden: thunar Combinación de teclas: \u0026lt;Super\u0026gt;+e Nota: En este caso la orden thunar se puede reemplazar por cualquier otra. Por ejemplo si queremos lanzar Thunderbird, tan solo tenemos que reemplazar Thunar por Thundebird. Matar procesos con xkill (Ctrl+Alt+t) A pesar de que Linux es sumamente estable, existen ocasiones en que hay alguna aplicación de terceros que se queda colgada. Para matar esta aplicación podemos usar un atajo de teclado con xkill. Para crear el atajo de teclado tenemos que usar la siguiente orden y combinación de teclas:\nOrden: xkill Combinación de teclas: Ctrl+Alt+t En el momento que queramos matar un programa que se está ejecutando de forma gráfica, primero tenemos que presionar la combinación de teclas Ctrl+Alt+t. Justo después de presionar esta combinación nuestro puntero del mouse se transformará en una cruz. Para finalizar el proceso tan solo tenemos que clicar el botón izquierdo del mouse encima de la ventana que se ha quedado colgada.\nSubir y bajar el volumen (Ctrl+Super+cursor arriba) (Ctrl+Super+cursor abajo) En mi caso no dispongo de un teclado que disponga de teclas multimedia. Este problema lo podemos solucionar fácilmente con los atajos de teclado. Para subir el volumen se puede crear un atajo de teclado con la siguiente orden y combinación de teclas:\nOrden: amixer sset Master playback 5%+ Combinación de teclas: Ctrl+Super+cursor arriba Para bajar el volumen podemos crear otro atajo con la siguiente orden y combinación:\nOrden: amixer sset Master playback 5%- Combinación de teclas: Ctrl+Super+cursor abajo Para finalizar el post solo quiero comentar que estos solo son algunos de los atajos de teclado que podemos crear. Si alguien desea participar y dejar algún atajo de teclado que usa y que no se menciona en el post, tan solo tiene que publicar en los comentarios del blog.\n","permalink":"https://geeklandlinux.github.io/posts/crear-atajos-de-teclado-en-xfce/","summary":"\u003cp\u003eTodos los sistemas operativos que trabajan con el entorno de escritorio XFCE acostumbran a disponer de varios atajos de teclado preconfigurados para poder hacer nuestras tareas de forma más fácil y más rápida.\u003c/p\u003e\n\u003cp\u003eNo obstante es posible que deseemos incluir nuevos atajos de teclado para adaptar aún más el sistema operativo a nuestras necesidades. Para conseguir nuestro propósito, tan solo tenemos que seguir los pasos que encontrarán en el siguiente apartado.\u003c/p\u003e","title":"Crear atajos de teclado en XFCE"},{"content":"Después de la lectura de este post, los lectores sabrán que es un servidor SFTP, las ventajas que nos da respecto un servidor FTP, los usos que pueden dar a un servidor SFTP y finalmente aprenderán a crear y configurar su propio servidor SFTP.\n¿QUÉ ES UN SERVIDOR SFTP? Un servidor SFTP es aquel que utiliza el protocolo de red SFTP para establecer una conexión segura entre servidor y cliente con la finalidad de transferir y modificar archivos y carpetas de forma segura entre cliente y servidor. El medio del que se vale el protocolo SFTP para conseguir una conexión y transmisión segura entre cliente y servidor acostumbra a ser SSH.\nNo se debe confundir un servidor SFTP con un servidor FTP. Aunque ambos servidores tienen la misma utilidad, el protocolo SFTP es completamente diferente e independiente del protocolo FTP. Los protocoles SFPT y FTP no tienen relación alguna entre ellos. Si precisan información adicional sobre el protocolo SFTP pueden consultar el siguiente enlace.\nVENTAJAS DE UN SERVIDOR SFTP RESPECTO A UN FTP Las 2 principales ventajas que el servidor SFTP ofrece sobre un servidor FTP son las siguientes:\nEn un servidor SFTP, el proceso de autentificación entre el cliente y el servidor se realiza con una capa de cifrado. Por lo tanto nadie debería poder averiguar nuestro usuario y nuestra contraseña de forma sencilla. En un servidor SFTP, la totalidad de información y tráfico que se envía entre el cliente y el servidor está cifrado. Por lo tanto un atacante no podrá interceptar ni modificar la información que se transmite entre el cliente y el servidor. En contraposición con un servidor FTP, un servidor SFTP es un medio excelente y seguro para la transferencia de datos locales o remotos.\nNota: En este apartado solo comento las principales ventajas del servidor SFPT respecto al FTP. En cuanto a inconvenientes, pienso que prácticamente no hay ninguno. Si hay que buscar alguno podemos decir que a día de hoy hay apps de teléfono o software que no permiten conectarnos a servidores SFTP. No obstante parece que Windows 10 soportará el protocolo de encriptación SSH. Sin duda esto ayudará que se extienda el uso de este protocolo. USOS QUE PODEMOS DAR A UN SERVIDOR SFTP Usos comunes que hoy en día se acostumbran a dar a los servidores SFTP son los que se describen a continuación:\nUna solución corporativa para transferir archivos de gran tamaño de forma segura a los clientes, a los diseñadores gráficos, a los empleados, etc. Una solución segura para subir información y realizar copias de seguridad en un servidor Web. Crear nuestra propia nube personal para almacenar información. De este modo estemos donde estemos podemos acceder a nuestra información almacenada en nuestro servidor y no dependemos de servicios que puedan comprometer nuestra privacidad como Google Drive, Dropbox, iCloud etc. CARACTERÍSTICAS DEL SERVIDOR SFTP QUE VAMOS A INSTALAR Y CONFIGURAR Las principales características del servidor que vamos a instalar y configurar son las siguientes:\nEl servidor será accesible de forma local y de forma remota. No tiene mucho sentido que un servidor SFTP únicamente esté accesible de forma local. Por cuestiones obvias de seguridad el servidor estará enjaulado. Por lo tanto los usuarios que accedan al servidor sftp, solo tendrán acceso a las carpetas que nosotros queramos. Controlaremos los permisos que tendrán los usuarios que accedan a nuestro servidor SFTP. Por lo tanto podremos seleccionar si los usuarios del servidor tienen permisos lectura, escritura y ejecución. El proceso de autentificación será mediante usuario y contraseña. Si lo deseamos también seria posible implementar un sistema de autenticación de dos factores mediantes contraseñas y claves SSH. El servidor ftp que configuraremos en este post dispondrá únicamente de 2 clientes. Vosotros podéis configurar los clientes que queráis. En el caso de usar un cliente adecuado, los clientes serán capaces de modificar los permisos de los archivos que suben al servidor SFTP. ¿QUÉ NECESITAMOS PARA MONTAR NUESTRO SERVIDOR? Para seguir los pasos de este tutorial no necesitamos prácticamente nada. Simplemente necesitamos un simple ordenador con un sistema operativo Linux que actuará de servidor.\nASEGURAR QUE EL SERVIDOR SFTP TENGA IP LOCAL FIJA Es muy importante asegurar que nuestro servidor SFTP disponga de una IP interna fija en la red local. El motivo de esta afirmación es simple. Sí la IP del servidor es dinámica, nuestro servidor no estará localizable porqué no sabremos cual es su IP.\nPara conseguir disponer de un servidor con ip interna fija tan solo hay que seguir los pasos que se detallan en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/configurar-ip-fija_o_estatica_ipv4/\nNota: El método descrito en el enlace es válido en el caso que estéis usando un servidor sin entorno gráfico. En el caso que el servidor que uséis disponga de entorno gráfico tendréis que configurar este aspecto a través de las interfaces visuales de vuestro gestor de red que probablemente será network manager o wicd. Una vez terminados la totalidad de pasos mi servidor tendrá una IP fija que en mi caso será la 192.168.1.188. Esta IP es la que deberemos usar para localizar y conectar con nuestro servidor SFTP de forma local. Esta también será la IP que tenemos que usar para que nuestro Router redireccione las peticiones de los clientes SFTP remotos al servidor SFTP.\nHACER QUE NUESTRO SERVIDOR SFTP ESTE ACCESIBLE DESDE EL EXTERIOR Cuando tengamos nuestro servidor SFTP funcionando, lo más probable es que tengamos clientes remotos que quieran conectarse a nuestro servidor SFTP.\nLos clientes remotos necesitaran nuestra IP Pública para poderse conectar al servidor SFTP. Desafortunadamente en la gran mayoría de casos la IP que tenemos es dinámica. Por lo tanto se puede dar perfectamente el caso que en el momento de conectarnos no sepamos la IP Pública de nuestro servidor.\nPara solucionar este problema tenemos que asociar la IP Pública de nuestro servidor a un dominio. Para poder realizar este paso tan solo tienen que seguir las indicaciones del siguiente enlace:\nhttps://geeklandlinux.github.io/posts/encontrar-servidor-con-dns-dinamico/\nUna vez realizados estos pasos tendréis vuestra IP Pública asociada a un dominio. En mi caso mi IP Pública está asociada al dominio geekland.sytes.net\nLOGUEARNOS COMO USUARIO ROOT Todo el proceso de instalación y configuración del servidor se realizará siendo root. Por lo tanto el primer paso es loguearnos como usuario root. Para ello en la terminal ejecutamos el siguiente comando:\nsu root Al ejecutar el comando nos preguntaran la contraseña del usuario root. La introducimos y presionamos Enter.\nINSTALAR EL SERVIDOR SFTP El segundo paso para disponer de nuestro servidor SFTP es asegurar que tengamos la totalidad de paquetes necesarios instalados. Para ello abrimos una terminal y ejecutamos el siguiente comando para actualizar los repositorios de nuestro sistema operativo:\napt-get update Seguidamente tenemos que instalar los paquetes openssh-server y openssh-client. Para ello ejecutamos el siguiente comando en la terminal:\napt-get install openssh-server openssh-client Nota: La mayoría de distros linux instalan los paquetes openssh-server y openssh-client en el momento de la instalación de la distro. Por lo tanto es posible que ya tengan estos paquetes previamente instalados. Nota: En caso de usar un gestor de paquetes diferente a apt-get, deberán adaptar los comandos de este apartado al gestor de paquetes correspondiente. CREACIÓN DE LAS CARPETAS EN LAS QUE LOS CLIENTES UBICARAN LA INFORMACIÓN Seguidamente hay que crear las carpetas en las que los clientes del servidor SFTP ubicarán su información.\nEn mi caso he decidido que la totalidad de información del servidor SFTP se almacene en la ubicación /home/sftpserver. Por lo tanto el primer paso es crear la carpeta sftpserver dentro de la ubicación home ejecutando el siguiente comando en la terminal:\nmkdir /home/sftpserver Seguidamente, dentro de la ubicación /home/sftpserver creamos una carpeta para cada uno de los usuarios del servidor SFTP. Como los usuarios son jccall80 y ramon, hay introducir los siguientes comandos en la terminal para crear las carpetas:\nmkdir /home/sftpserver/jccall80 mkdir /home/sftpserver/ramon A continuación, dentro de cada una de las carpetas de los usuarios, crearé otra serie de carpetas para que el usuario del servidor SFTP pueda almacenar sus archivos y su información. Para ello hay que ejecutar los siguientes comandos en la terminal:\nmkdir /home/sftpserver/jccall80/archivos mkdir /home/sftpserver/jccall80/compartir mkdir /home/sftpserver/ramon/archivos mkdir /home/sftpserver/ramon/compartir CREAR UN GRUPO QUE CONTIENE LA TOTALIDAD DE USUARIOS DEL SERVIDOR SFTP En mi caso he decidido crear un grupo llamado SFTP que contendrá la totalidad de usuarios del servidor SFTP. Para crear el grupo tenemos que teclear el siguiente comando en la terminal:\ngroupadd sftpserver El hecho de crear un grupo que contenga la totalidad de usuarios del servidor SFTP nos será de gran utilidad a la hora de configurar los permisos y enjaular a los usuarios de nuestro servidor.\nCREAR LOS USUARIOS Y EL GRUPO DE NUESTRO SERVIDOR SFTP Una vez creado el grupo sftpserver, ahora hay que crear los usuarios de nuestro servidor SFTP. Para crear un usuario, que en mi caso será jccall80, es necesario teclear y ejecutar el siguiente comando en la terminal:\nuseradd -g sftpserver -s /bin/false -d /home/sftpserver/jccall80 jccall80 El significado de cada una de las partes del comando que acabamos de ejecutar es el siguiente:\nuseradd: Comando principal empleado para la creación de un usuario.\n-g sftpserver: Para indicar que el usuario que estamos creando pertenece al grupo sftpserver.\n-s /bin/false: Para definir que el usuario del servidor SFTP que estamos creando, no tenga acceso a la terminal o interprete de comandos. Este aspecto es importante por temas de seguridad, ya que si un usuario del servidor tuviera acceso al interprete de comandos, podría ejecutar comandos que podrían comprometer la seguridad de nuestro servidor.\n-d /home/sftpserver/jccall80: Para indicar la ruta home por defecto del usuario que estamos creando para el servidor SFTP.\njccall80: Es el nombre del usuario que queremos crear.\nDel mismo modo que hemos creado el usuario jccall80, también crearemos el usuario ramon ejecutando el siguiente comando en la terminal:\nuseradd -g sftpserver -s /bin/false -d /home/sftpserver/ramon ramon CREAR UN PASSWORD PARA CADA USUARIO Seguidamente asignaremos un password a los usuarios que acabamos de crear. Para asignar un password al usuario jccall80 abriremos una terminal y ejecutaremos el siguiente comando:\npasswd jccall80 El significado de este comando es el siguiente:\npasswd: Comando para fijar o modificar la contraseña de un usuario.\njccall80: Es el usuario el cual queremos cambiar/definir su contraseña.\nDespués de ejecutar el comando, se nos preguntará 2 veces el password que queremos que tenga el usuario. Lo introducimos, presionamos Enter y el proceso ha terminado.\nDel mismo modo que hemos generado el password para usuario jccall80, también generaremos un password para el usuario ramon introduciendo el siguiente comando en la terminal:\npasswd ramon ASIGNAR UN USUARIO Y UN GRUPO A LAS CARPETAS DEL SERVIDOR SFTP A estas alturas ya hemos creado los grupos y los usuarios de nuestro servidor SFPT. El siguiente paso será definir el grupo y el usuario al que pertenecen cada una de las carpetas de los usuarios del servidor SFTP.\nLas carpetas /home/sftpserver/jccall80/archivos y /home/sftpserver/jccall80/compartir, queremos que pertenezcan el usuario jccall80 y al grupo sftpserver. Para ello ejecutamos los siguientes comandos en la terminal:\nchown jccall80:sftpserver /home/sftpserver/jccall80/archivos chown jccall80:sftpserver /home/sftpserver/jccall80/compartir El significado de cada uno de los parámetros del comando son los siguientes:\nchown: Es el comando usado para modificar los permisos de archivos y carpetas.\njccall80:sftpserver: jccall80 es el nombre usuario al que queremos que pertenezca la carpeta jccall80. Sfptserver es el grupo al que queremos que pertenezca la carpeta jccall80\n/home/sfptserver/jccall80/archivos: Es la ruta de la carpeta la cual queremos modificar el grupo y el usuario.\nLas carpetas /home/sftpserver/ramon/archivos y /home/sftpserver/ramon/compartir, queremos que pertenezcan el usuario ramon y al grupo sftpserver. Para ello ejecutamos los siguientes comandos en la terminal:\nchown ramon:sftpserver /home/sftpserver/ramon/archivos chown ramon:sftpserver /home/sftpserver/ramon/compartir Finalmente queremos que las carpetas /home/sftpserver, /home/sftpserver/jccall80 y /home/sftpserver/ramon pertenezcan al usario root y al grupo root. Por lo tanto ejecutaremos los siguientes comandos en la terminal:\nchown root:root /home/sftpserver chown root:root /home/sftpserver/jccall80 chown root:root /home/sftpserver/ramon Nota: Es absolutamente indispensable que las carpetas /home/sftpserver, /home/sftpserver/jccall80 y home/sftpserver/ramon pertenezcan al usuario root. En caso contrario seria completamente imposible enjaular a los grupos o a los usuarios del servidor sftp. El propietario del directorio que usamos como jaula tiene que ser siempre root, y los permisos de la carpeta tienen que ser 755. ASIGNAR PERMISOS A LAS CARPETAS DEL SERVIDOR SFTP En apartados anteriores hemos creado las carpetas de nuestro servidor SFTP. A estas carpetas tenemos que asignarles los permisos que más nos convengan.\nEn mi caso quiero que las carpetas jccall80/archivos y ramon/archivos solo sean accesibles/modificables por sus propietarios, que son jccall80 y ramon respectivamente. Para ello introduciré los siguientes comandos en la terminal:\nchmod 700 /home/sftpserver/jccall80/archivos chmod 700 /home/sftpserver/ramon/archivos Asignando los permisos 700, la carpeta jccall80/archivos únicamente será accesible y modificable por parte del usuario jccall80, y la carpeta ramon/archivos únicamente será accesible y modificable por el usuario ramón. El resto de usuarios no dispondrán de ningún permiso sobre estas carpetas. Por lo tanto asignar estos permisos es ideal para mantener la información de los usuarios del servidor privada.\nTambién quiero que cualquier usuario pueda acceder y visualizar el contenido de las carpetas jccall80/compartir y ramon/compartir, y que únicamente los propietarios de la carpetas jccall80/compartir y ramon/compartir puedan modificar su contenido. Para conseguir este propósito ejecutaré los siguientes comandos en la terminal:\nchmod 755 /home/sftpserver/jccall80/compartir chmod 755 /home/sftpserver/ramon/compartir Asignando los permisos 755 a estas carpetas, cualquier usuario podrá entrar en la carpeta jccall80/compartir y ramon/compartir y visualizar los archivos que hay dentro de esta ubicación, pero solo el propietario podrá crear, eliminar y modificar archivos. Por lo tanto estos permisos son ideales para compartir información con otros usuarios del servidor SFTP.\nFinalmente tenemos que asignar, sí o sí, los permisos 755 a las carpetas /home/sftpserver, home/sftpserver/jccall80 y home/sftpserver/ramon. Para ello ejecutamos los siguientes comandos en la terminal:\nchmod 755 /home/sftpserver/jccall80 chmod 755 /home/sftpserver/ramon chmod 755 /home/sftpserver Estas 3 carpetas deben tener los permisos 755, ya que en caso contrario, seria imposible enjaular a los usuarios del servidor SFTP. Recordamos de nuevo que el propietario del directorio que usamos como jaula debe ser root, y los permisos de la carpeta que usamos como jaula tienen que ser 755\nENJAULAR A LOS USUARIOS DEL SERVIDOR SFTP Para enjaular a los usuarios disponemos de 2 opciones. Enjaular usuario por usuario, o enjaular a un grupo entero de usuarios. Únicamente podéis seleccionar una de las 2 opciones.\nOpción 1: Enjaular a un grupo de usuarios Si estáis leyendo este apartado es porqué habéis decidido enjaular a un grupo de usuarios. Para enjaular a un grupo de usuarios hay que modificar la configuración del fichero sshd_config. Antes de realizar cualquier modificación en la configuración de este fichero, realizaremos una copia del fichero ejecutando el siguiente comando en la terminal:\ncp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak Una vez realizada la copia de seguridad ya se puede editar el fichero de configuración introduciendo el siguiente comando en la terminal:\nnano /etc/ssh/sshd_config Después de ejecutar el comando se abrirá el editor de texto nano con el contenido del fichero sshd_config.\nEn el fichero de configuración tenemos que buscar la siguiente línea:\nSubsystem sftp /usr/lib/openssh/sftp-server Una vez encontrada, la comentamos introduciendo # al inicio de la línea. Por lo tanto quedará de la siguiente forma:\n#Subsystem sftp /usr/lib/openssh/sftp-server Para enjaular al grupo de usuarios del servidor, tenemos que ir al final del fichero de configuración e introducir los siguientes parámetros:\nSubsystem sftp internal-sftp Match group sftpserver ChrootDirectory /home/sftpserver ForceCommand internal-sftp Nota: Únicamente hay que modificar las partes del código que están en color rojo. En el comando Match Group hay que poner el nombre del grupo que queremos enjaular que en mi caso es sftpserver. En el comando ChrootDirectory, tenemos que indicar la ubicación en que queremos enjaular a los usuarios que forman parte del grupo sftpserver. Nota: Con esta configuración, los usuarios del servidor SFTP que pertenezcan al grupo sftpserver, solo podrán acceder al contenido de la carpeta /home/sftpserver en adelante. Una vez realizados los cambios tan solo tenemos guardarlos y cerrar el fichero. Seguidamente tenemos que reiniciar el servidor SSH para que las modificaciones surjan efecto. Para reiniciar el servidor tecleando el siguiente comando en la terminal:\nservice ssh restart Una vez reiniciado el servidor ssh, el servidor SFTP ya está plenamente operativo.\nOpción 2: Enjaular usuario por usuario Si estáis leyendo este apartado es porqué habéis decidido enjaular a cada uno de los usuarios de forma individual. Para enjaular a un usuario hay que modificar la configuración del fichero sshd_config. Antes de realizar cualquier modificación en la configuración de este fichero, realizaremos una copia del fichero ejecutando el siguiente comando en la terminal:\ncp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak Una vez realizada la copia de seguridad ya se puede editar el fichero de configuración introduciendo el siguiente comando en la terminal:\nnano /etc/ssh/sshd_config Después de ejecutar el comando se abrirá el editor de texto nano con el contenido del fichero sshd_config.\nEn el fichero de configuración tenemos que buscar la siguiente línea:\nSubsystem sftp /usr/lib/openssh/sftp-server Una vez encontrada, la comentamos introduciendo # al inicio de la línea. Por lo tanto quedará de la siguiente forma:\n#Subsystem sftp /usr/lib/openssh/sftp-server Para enjaular a los usuarios jccall80 y ramon, tenemos que ir al final del fichero de configuración e introducir el siguiente texto:\nSubsystem sftp internal-sftp Match user jccall80 ChrootDirectory /home/sftpserver/jccall80 ForceCommand internal-sftp Match user ramon ChrootDirectory /home/sftpserver/ramon ForceCommand internal-sftp Nota: Únicamente hay que modificar las partes del código que están en color rojo. En el comando Match user hay que poner el nombre del usuario que queremos enjaular. En el comando ChrootDirectory, tenemos que indicar la ubicación en que queremos enjaular cada uno de los usuarios. Nota: Con esta configuración, el usuario jccall80 únicamente podrá acceder al contenido ubicado en la carpeta /home/sftpserver/jccall80 y en las carpetas de nivel superior a /home/sftpserver/jccall80. Por otra parte el usuario el usuario ramon solo podrá acceder al contenido ubicado en la carpeta /home/sftpserver/ramon y en las carpetas de nivel superior a /home/sftpserver/ramon. Una vez realizados los cambios tan solo tenemos guardarlos y cerrar el fichero. Seguidamente tenemos que reiniciar el servidor SSH para que las modificaciones surjan efecto. Para reiniciar el servidor tecleamos el siguiente comando en la terminal:\nservice ssh restart Una vez reiniciado el servidor ssh, el servidor SFTP ya está plenamente operativo.\nFORTIFICAR NUESTRO SERVIDOR SFTP Dentro del fichero de configuración etc/ssh/sshd_config, podemos modificar ciertos parámetros para fortificar la seguridad de nuestro servidor SFTP.\nQuien esté interesado en este punto, tiene que saber que durante las próximas semanas escribiré un post en el que detallaré los parámetros que podemos modificar para fortificar nuestro servidor.\nELIMINAR GRUPOS USUARIOS Y EL GRUPO DEL SERVIDOR SFTP Anteriormente hemos visto como crear un grupo y una serie de usuarios para nuestro servidor SFTP.\nSi algún día precisamos borrar algún usuario del servidor SFTP lo podemos hacer de la siguiente forma:\nPrimero de todo instalamos el paquete members que nos servirá para ver los usuarios que tiene un determinado grupo. Para ello ejecutamos el siguiente comando en la terminal:\napt-get install members Una vez dispongamos del paquete members instalado, tecleamos la palabra members seguida del nombre del grupo que contiene los usuarios del servidor SFTP en la terminal:\nmembers sftpserver Presionamos Enter y obtendremos la totalidad de usuarios del servidor SFTP. Seleccionamos el usuario que queremos borrar que en mi caso es ramon. Una vez seleccionado el usuario a borrar tan solo tenemos que ejecutar el siguiente comando en la terminal:\nuserdel -r ramon Nota: La opción -r especifica que aparte de borrarse el usuario, también queremos que se borre el directorio home del usuario. Una vez borrados todos los usuarios, si lo precisamos también podemos borrar el grupo sftpserver. Para ello tan solo tenemos que teclear el siguiente comando en la terminal:\ngroupdel sftpserver CONECTARSE Y USAR EL SERVIDOR SFPT Durante las próximas semanas escribiré una serie de post en el que detallaré que opciones tenemos para conectarnos a nuestro servidor SFTP. En los post detallaré como podemos usar nuestro servidor SFTP en prácticamente la totalidad de sistemas operativos existentes en la actualidad.\n","permalink":"https://geeklandlinux.github.io/posts/crear-servidor-sftp-enjaulado/","summary":"\u003cp\u003eDespués de la lectura de este post, los lectores sabrán que es un servidor SFTP, las ventajas que nos da respecto un servidor FTP, los usos que pueden dar a un servidor SFTP y finalmente aprenderán a crear y configurar su propio servidor SFTP.\u003c/p\u003e","title":"Crear un servidor SFTP enjaulado"},{"content":"En el siguiente post veremos como podemos programar el envío de emails con el gestor de correo electrónico Thunderbird. Pero antes de explicar como hacerlo citaremos algunas de las ventajas que nos proporciona el hecho de poder programar el envío de emails a determinadas horas especificas.\nUTILIDADES DE PROGRAMAR EL ENVÍO DE EMAILS El hecho de enviar un correo electrónico a una persona, o grupo de personas, a una hora y día determinados puede tener ciertas utilidades. Algunas de las que se me ocurren en este momento son las siguientes:\nSi sabemos que el destinatario de nuestro email llega a la oficina a las 9 de la mañana, es recomendable programar el envío del email alrededor de las 9 de las nueve de la mañana. Si lo enviamos el día antes es más que posible que nuestro mail pase desapercibido por lo muchos otros emails que habrán en la bandeja de entrada del destinatario del correo. En el momento de terminar un trabajo/informe que se tiene que entregar por email a un determinado día y hora, ya podemos programar tranquilamente el envío. De esta forma evitaremos tener que recordar que un determinado día a una determinada hora tenemos que realizar el envío de este trabajo/informe. Es posible que en determinados casos tengamos que enviar un email a una hora poco habitual como puede ser la madrugada. Si no queremos que el receptor del email sepa que le hemos enviado el email a las 3 de la madrugada, podemos programar el envío del email para las 9 de la mañana cuando posiblemente estemos durmiendo. Si sois de las personas que acostumbra a enviar mails por accidente mientras los estáis redactando, o una vez enviados los emails os lamentáis de lo que habéis puesto y os gustaría cambiar el contenido, podéis hacer que los emails se envíen 15 minutos después de presionar el botón Enviar. De esta forma si queréis podréis cancelar el envío, modificar el contenido y enviar el email de nuevo. Para programar el envío de un mailing a una hora en la que los servidores de correo electrónico estén menos saturados, o a una hora en la que consideremos que se maximice la tasa de apertura del mailing enviado, etc. Para ver como programar el envío de un mailing con Thunderbird pueden consultar el siguiente enlace. Para programar el envío de las felicitaciones de cumpleaños de nuestros conocidos, amigos, clientes, etc. De esta forma en unos pocos minutos podremos programas las felicitaciones de nuestros conocidos para todo un año. Además podremos hacer que estas felicitaciones se envíen de forma periódica año tras año. Una vez expuestas las principales ventajas que puede tener el hecho de programar el envío de un email, ahora veremos los pasos que tenemos que realizar para llevarlo a término.\nINSTALAR LA EXTENSIÓN ENVIAR MÁS TARDE El primer paso a realizar es instalar la extensión Enviar más tarde para poder programar el envío de los emails.\nPara poder instalarla accedéis al menú Herramientas de vuestro gestor de correo Thunberbird. Una vez abierto el menú Herramientas se desplegará un submenú en el que tendréis que seleccionar la opción Complementos.\nSeguidamente se abrirá una pestaña para administrar los complementos. Para instalar Enviar más tarde, tal y como se puede ver en la captura de pantalla, accedemos al cuadro de búsqueda, escribimos el nombre del complemento, que en nuestro caso es Enviar Más Tarde, y presionamos la tecla Enter.\nDespués de presionar Enter se realizará la búsqueda de la extensión. Una vez encontrada, tal y como se muestra en la captura de pantalla, presionamos el botón Instalar y la extensión se instalará.\nUna vez instalada la extensión, cerramos Thunderbird y lo volvemos a abrir.\nPROGRAMAR EL ENVÍO DE UN EMAIL Una vez instalada la extensión enviar más Tarde, el proceso de programar el envío de los emails es sumamente fácil. Tal y como se puede ver en la captura de pantalla, tan solo tenemos que redactar el email que queremos enviar.\nUna vez redactado el email. Tal y como se puede ver en la captura de pantalla, clicamos encima de la flechita del botón Enviar, y justo después seleccionamos la opción Send Later.\nAl presionar encima de la opción Send Later aparecerá la siguiente ventana para programar el envío de nuestro email:\nNota: Existen formas alternativas de acceder al menú para programar el envío de emails. Una de ellas es acceder al menú Archivo y clicar encima de la opción Enviar más tarde. Otra forma es presionar la combinación de teclas Ctrl+Mayús+Enter una vez redacto el email. Las distintas opciones que tenemos para programar el envío de nuestro emails son las siguientes:\nEnviar un email 15 minutos, 30 minutos o 2 horas después de dar la orden de envío Si queremos que el email se envié 15 minutos después de dar la orden de envío, tal y como se puede ver en la captura de pantalla, tan solo tenemos que clicar encima del botón 15 min después:\nSi queremos que el email se envíe 30 minutos después de dar la orden de envío, tan solo tenemos que presionar en el botón 30 min después.\nSi queremos que el email se envíe 2 horas después de dar la orden de envío, tan solo tenemos que presionar en el botón 2 horas después.\nUna vez hayamos presionado sobre uno de los tres botones, nuestro email, tal y como se puede en la captura de pantalla, quedará almacenado la carpeta de borradores.\nAhora tan solo tenemos que esperar que llegue la hora del envío. Una vez haya llegado la hora del envío, el email se enviará de forma automática.\nNota: Los tiempos predeterminados para el envío rápido de los emails son 15 minutos, 30 minutos y 2 horas. Si queréis modificar estos tiempos, lo podéis hacer tal y como se indica en el apartado de modificar las preferencias de enviar más tarde. Programar el envío del email a un día y hora determinados Otra de las opciones que tenemos es hacer que un email se envíe a un día y a una hora determinada. Por ejemplo si queremos que nuestro email se envíe el 2 de Junio del año 2015 a las 7 horas y 32 minutos, tan solo tenemos aplicar la configuración que se puede ver en la siguiente captura de pantalla:\nUna vez seleccionados el día y la hora, tal y como se puede ver en la captura de pantalla, tan solo tenemos que presionar encima del botón Programar envío 2 junio 2015 7:32.\nUna vez presionado el botón, nuestro email se almacenará en la carpeta de borradores a la espera que llegue el día 2 de Junio de 2015 a las 7:32 horas. Cuando llegue el día y la hora, el email se enviará de forma automática.\nProgramar el envío del email a un día y hora determinados y con una determinada periodicidad Si queremos que un email se envíe todos los años a un día y a una hora determinada, tan solo tenemos que aplicar la configuración que se muestra en la siguiente captura de pantalla:\nUna vez aplicada la configuración, tan solo tenemos que presionar encima del botón Programar envío 2 junio 2015 7:32.\nUna vez presionado el botón, nuestro email quedará permanentemente almacenado en la carpeta de borradores. Cada 28 Julio a las 19:36 horas se procederá al envío automático del email que tenemos almacenado en nuestra carpeta de borradores.\nProgramar el envío del email a un día y hora determinados y con una determinada periodicidad (ejemplo 2) Si queremos enviar un email el día 30/05/2015 a las 18:39, y que a partir de este día y fecha se reenvie el email cada 2 semanas, tenemos que aplicar la configuración que se muestra en la siguiente captura de pantalla:\nUna vez aplicada la configuración, tan solo tenemos que presionar en el botón Programar envío 30 mayo 2015 18:39.\nUna vez presionado el botón, nuestro email quedará permanentemente almacenado en la carpeta de borradores. A partir del 30 de mayo de 2015 a las 18:39 horas, nuestro email se irá enviando cada 2 semanas a las personas destinatarias del email.\nOtras opciones que ofrece la ventana de programación de envío de emails En la parte inferior de la ventana de programación de los emails, aparecen los botones de Mover a Bandeja de salida, Enviar ahora y Cancelar. La función de cada uno de estos botones es la siguiente:\nMover a la Bandeja de salida: Si presionamos encima del botón Mover a la Bandeja de salida, no se programará ningún envío. Lo que pasará es que nuestro email, en vez de ir a la carpeta de borradores, se ubicará en la bandeja de salida de nuestro correo. Para enviar los mensajes almacenados en la bandeja de salida tendremos que acceder al menú Archivo y posteriormente clicar encima de la opción Procesar mensaje no enviados.\nEnviar ahora: Si presionamos el botón Enviar ahora, el mensaje se enviará automáticamente como si enviáramos un email de forma habitual. No se programará ningún envío.\nCancelar: Si presionamos el botón Cancelar, cancelaremos la programación del envío y volveremos a la ventana de edición del email para que lo podamos modificar o eliminar.\nAdvertencia sobre los emails con fecha de envío programada Una vez programado el envío del correo, tan solo hay que esperar que llegue el día y la hora del envío. En el día y en la hora del envío nuestro gestor de correo Thunderbird tiene que estar abierto para que se envíe el correo. Si lo tenemos cerrado el correo no se enviará. En el caso de no enviarse, cuando abramos Thunderbird los correos pendientes de enviar se enviarán automáticamente.\nMODIFICAR LAS PREFERENCIAS DE ENVIAR MÁS TARDE Con lo expuesto hasta el momento, es más que suficiente para sacar partido de la programación del envío de emails con Thunderbird y la extensión Enviar más tarde. No obstante quien lo desee puede personalizar ciertos aspectos de la extensión Enviar más tarde.\nOpciones de configuración Para acceder a las opciones de configuración de la extensión Enviar más tarde, tenemos que acceder al menú Herramientas. Dentro del menú Herramientas tenemos que clicar en la opción Complementos.\nUna vez hemos clicado en la opción Complementos se abrirá la pestaña de administración de Complementos. En la pestaña de administración de complementos clicamos en el apartado Extensiones. Localizamos la extensión Enviar más Tarde y presionamos el botón Preferencias. Al presionar el botón preferencias aparecerá la siguiente ventana:\nEn la ventana de preferencias disponemos de varias pestañas. En la pestaña General podemos modificar los siguientes parámetros:\nComprobar cada: En este campo tenemos seleccionar la frecuencia con la que la extensión Enviar después chequea los emails pendientes de envío. En principio la opción ideal seria que lo hiciera cada minuto.\n“Enviar” equivale a “Enviar después”: Si activamos esta opción, cada vez que enviemos un email se activará la extensión Enviar después y nos aparecerá la ventana para programar el envío sin tener que realizar absolutamente nada.\nAsignar Alt-Mayús-enter en lugar de Ctrl-Mayús-Enter: Una vez redactado el email, podemos presionar la combinación de teclas Ctrl-Mayús-Enter para que aparezca la ventana para programar el envío del email. Si activamos esta opción cambiaremos la combinación de teclas de Ctrl-Mayús-Enter a Alt-Mayús-Enter.\nMostrar columna de enviar después: Si activamos esta opción, cuando entremos en la carpeta borradores, aparecerá una columna que nos indica la fecha en que se enviarán los correos que tenemos programados y almacenados en la carpeta Borradores.\nMostrar encabezado de enviar después: En el caso de desactivar esta opción, si miramos el código fuente de los mensajes pendientes de envío almacenados en la carpeta borradores, no encontraremos ningún rastro de la extensión Enviar después en las cabeceras del email.\nMostrar “Enviar después” en la barra de estado: Si activamos esta opción, en la barra de estado ubicada en la parte inferior de la ventana de Thunderbird aparecerá información relacionada con el estado de la extensión Enviar más tarde, como por ejemplo si está la extensión activa, inactiva, los mensajes programados pendientes de enviar, etc.\nMostrar progreso en la barra de estado: Si activamos esta opción, en la barra de estado de Thunderbird aparecerá una barra de estado que nos mostrará de forma gráfica si se han enviado todos los mensajes, si se están realizado comprobaciones para ver si hay mensajes pendientes de envío, etc. Para que la barra de estado aparezca, también tendréis que tener activada la propiedad (Mostrar “Enviar después” en la barra de estado)\nFuerza el envío de mensajes pendientes en la Bandeja de salida: Si tenemos activada esta opción, en el momento que llega la hora de enviar los emails, los mensajes pasan de la carpeta Borradores a la Bandeja de salida y se envían automáticamente. Si desactivamos esta opción, cuando llegue la hora de enviar estos mensajes, los emails pasan de la carpeta borradores a la carpeta bandeja de Salida pero no se enviarán. Entonces para enviarlos deberemos hacerlo manualmente accediendo al menú Archivo y clicando sobre la opción Procesar mensajes no enviados.\nSi examinamos las pestañas Atajo 1, Atajo 2 y Atajo 3 encontraremos las siguientes opciones (Etiqueta de botón y Minutos):\nLa opción Etiqueta de botón es para definir el texto que queramos que tengan los botones de envío rápido que aparecen en la ventana de programación de los emails:\nEl valor predeterminado de la extensión se obtiene escribiendo el texto . Si queremos modificar el texto que aparece en el botón tan solo tenemos que sustituir por el texto que queramos.\nPara finalizar, en la opción Minutos tenemos que seleccionar el tiempo en minutos que queremos que transcurra desde que presionamos el botón de envío rápido que estamos configurando, hasta que se envía el email.\nPersonalizar la barra de herramientas Si lo deseamos podemos personalizar la barra de herramientas de Thunderbird incluyendo botones de la extensión Enviar más tarde. Para ello, tal y como se puede ver en la captura de pantalla, en la ventana de redacción del email, presionamos el botón derecho del mouse sobre la barra de herramientas y seguidamente seleccionamos la opción Personalizar\u0026hellip;\nDespués de presionar el botón personalizar, aparecerá la ventana modificar barra de herramientas. Una vez aparezca, tal y como se puede ver en la captura de pantalla, tan solo tendremos que arrastrar los elementos que queramos encima de nuestra barra de herramientas.\nNota: En el caso que alguien precise información adicional acerca del funcionamiento de Thunderbird y la extensión Enviar mas tarde, le recomiendo que visite el siguiente enlace.","permalink":"https://geeklandlinux.github.io/posts/programar-el-envio-emails-thunderbird/","summary":"\u003cp\u003eEn el siguiente post veremos como podemos programar el envío de emails con el gestor de correo electrónico Thunderbird. Pero antes de explicar como hacerlo citaremos algunas de las ventajas que nos proporciona el hecho de poder programar el envío de emails a determinadas horas especificas.\u003c/p\u003e","title":"Programar el envío de emails con Thunderbird"},{"content":"A raíz de un comentario realizado por un lector del blog, me di cuenta que al instalar Debian Jessie Xfce, y muchas otras distros con el entorno Xfce, es probable que la visualización de aplicaciones programadas con librerías Qt sea simplemente horrorosa. A raíz de esto escribiré este breve post para comentar como mejorar el aspecto de las aplicaciones qt en xfce.\nASPECTO INICIAL DE LAS APLICACIONES QT EN XFCE En mi caso justo en el momento de instalar Debian Jessie, la visualización de aplicaciones como Skype o VLC era la siguiente:\nAspecto inicial del software VLC\nAspecto inicial del Software Skype\nComo se puede apreciar en las capturas de pantalla, el aspecto de las aplicaciones qt en xfce se asemeja a Windows 95 y no se integra para nada con el resto de aplicaciones que utilizan librerías GTK.\nMEJORAR LA VISUALIZACIÓN DE APLICACIONES QT EN XFCE Si os encontráis en la situación que se muestra en el inicio de este post, no os tenéis que preocupar para nada ya que la solución de este problema es muy sencilla.\nLo primero que tenemos que realizar es abrir una terminal. Seguidamente instalaremos el paquete qt4-qtconfig ejecutando el siguiente comando en la terminal:\nsudo apt-get install qt4-qtconfig Una vez instalado este paquete, conjuntamente con sus dependencias, tan solo tenemos que ejecutar el siguiente comando en la terminal:\nqtconfig Al ejecutar este comando se abrirá la siguiente ventana:\nEn esta ventana, dentro de la pestaña de Appearence, podremos configurar el aspecto de visualización de las aplicaciones programadas con librerías Qt.\nPara que la visualización de aplicaciones Qt sea exactamente la misma que las aplicaciones programadas en GTK, tal y como se puede ver en la captura de pantalla, tan solo tenemos que clicar encima del menú desplegable Select GUI Style, y seguidamente seleccionar la opción GTK+.\nDespués de seleccionar la opción GTK+, tal y como se puede ver en la captura de pantalla, cerramos la ventana de configuración. Al cerrarse la ventana nos aparecerá el siguiente cuadro de dialogo preguntándonos si queremos guardar los cambios realizados:\nTal y como se puede ver en la captura de pantalla, respondemos Yes. En estos momentos la totalidad de aplicaciones programadas en librerías Qt se verán con el mismo diseño que las programadas en GTK. Por lo tanto Skype, VLC y el resto de aplicaciones que se visualizaban de forma incorrecta, ahora se visualizarán correctamente.\nRESULTADOS OBENTIDOS: ASPECTO FINAL DE LAS APLICACIONES QT EN XFCE Una vez realizadas las modificaciones volveré a mostrar las mismas captura de pantalla que mostré en el inicio de este post:\nVisualización correcta del software VLC\nVisualización correcta del Software Skype\nAhora la visualización de las aplicaciones qt en xfce es correcta. Por lo tanto podemos afirmar que el problema se ha solucionado ya que podemos visualizar las aplicaciones Qt en Xfce de forma correcta, tal y como si se trataran de aplicaciones programadas con librerías GTK.\nOTRAS MODIFICACIONES QUE PODEMOS REALIZAR Aparte de seleccionar la visualización gráfica que queramos que tengan las aplicaciones programadas con librerías Qt, también podemos configurar otros aspectos, como por ejemplo los siguientes:\nSeleccionar la fuente por defecto de las aplicaciones que usan librerías Qt. Seleccionar fuentes sustitutorias. De esta forma si la fuente por defecto no dispone de ciertos caracteres, nuestro sistema operativo los tomará prestados de la fuente sustitutoria. Configurar otros parámetros de las aplicaciones como por ejemplo, el tamaño mínimo de los widgets programados con librerías Qt, configurar la sensibilidad del scroll cuando movemos la ruedecita del ratón, definir el intervalo de doble click de nuestro ratón, habilitar XIM para escribir en idiomas que tengan caracteres como los chinos o los japoneses, etc. En el caso que tengamos necesidad de modificar los aspectos que acabamos de citar tan solo tienen que abrir la terminal y ejecutar el comando:\nqtconfig Al ejecutar este comando se abrirá la siguiente ventana:\nPara modificar los diferentes aspectos citados, tan solo tendremos que ir inspeccionando cada una de las pestañas que se pueden ver en la captura de pantalla e ir probando y jugando con las diferentes opciones que se nos ofrece.\nNota: Recomiendo no tocar ninguno de los parámetros que se muestran en este último apartado. En principio lo único necesario a configurar en la gran mayoría de los casos es el aspecto visual.","permalink":"https://geeklandlinux.github.io/posts/mejorar-aspecto-aplicaciones-qt-xfce/","summary":"\u003cp\u003eA raíz de un comentario realizado por un lector del blog, me di cuenta que al instalar Debian Jessie Xfce, y muchas otras distros con el entorno Xfce, es probable que la visualización de aplicaciones programadas con \u003ca href=\"https://es.wikipedia.org/wiki/Qt_%28biblioteca%29\"\u003elibrerías Qt\u003c/a\u003e sea simplemente horrorosa. A raíz de esto escribiré este breve post para comentar como mejorar el aspecto de las aplicaciones qt en xfce.\u003c/p\u003e","title":"Mejorar el aspecto de las aplicaciones Qt en Xfce"},{"content":"En mi caso cada vez que me dispongo a instalar las Guest Additions, busco un tutorial en Internet y voy siguiendo los pasos uno por uno. No obstante casi nunca acostumbro a encontrar un tutorial que incluya la totalidad de pasos necesarios, y por lo tanto siempre acostumbro a tener problemas para instalarlas. A raíz de esta experiencia negativa, en el siguiente post explico de forma detallada la totalidad de acciones a realizar para instalar las Guest Additions.\n¿QUÉ SON LAS GUEST ADDITIONS? Antes de empezar a explicar como instalar las Guest Additions, es interesante que sepamos lo que son y las ventajas que nos aportarán.\nLas guest additions son un software adicional que instalaremos en nuestro sistema operativo virtualizado con el programa Virtualbox. Este software nos aportará una mejora del rendimiento de la virtualización además de las siguientes funcionalidades adicionales.\nFUNCIONALIDADES ADICIONALES QUE APORTAN LAS GUEST ADDITIONS 1- Mejor soporte de vídeo: Al instalar las Guest Additions dispondremos de la capacidad de disponer de aceleración gráfica 2D y 3D en nuestra máquina virtual. Además podremos visualizar el sistema operativo virtualizado en la resolución máxima de nuestro monitor y en pantalla completa.\nNota: En el caso de no tener instaladas las Guest additions no dispondremos de aceleración gráfica y la resolución de pantalla máxima disponible será de 800x600. 2- Modos adicionales de visualización: En el momento de instalar la guest additions, dispondremos de modos adicionales de visualización como por ejemplo el modo fluido, también conocido como modo seamless, el redimensionado automático en función del tamaño de la ventana de la máquina virtual, etc.\n3- Usar carpetas compartidas: Al instalar las Guest Additions podremos disponer de una carpeta que sea visible tanto en el sistema operativo real como en el virtualizado. De esta forma será sumamente fácil compartir información entre el sistema operativo real y el virtualizado.\n4- Portapapeles compartido: Al instalar las Guest Additions podremos usar la función copiar y pegar entre el sistema operativo real y el sistema operativo virtualizado.\n5- Integración del cursor del ratón: Al instalar las Guest Additions, no será necesario presionar la tecla host para poder usar el ratón en la máquina virtual. Por lo tanto podremos mover el raton libremente entre el sistema operativo real y el sistema operativo virtualizado.\n6- Sincronización horaria: Al instalar las Guest Additions, aseguramos que la sincronización del tiempo entre el sistema operativo real y el virtualizado es perfecta. Este hecho es importante en el caso que se utilicen por ejemplo tareas programadas.\n7- Acceso a parámetros de configuración adicionales: Al instalar La Guest Additions podremos usar herramientas como VBoxControl y VBoxManage. Este aspecto puede ser útil para controlar, modificar y monitorizar ciertos parámetros de la máquina virtual desde el sistema operativo real.\n8- Compartición de memoria: En el caso de usar muchos sistemas virtualizados al mismo tiempo podremos hacer uso de la función compartición de memoria. La función de compartición de memoria identificará trozos de memoria RAM idénticos entre las distintas máquinas virtuales y los solapará. Además la compartición de memoria permitirá reservar áreas de memoria de una máquina virutal y cederlos al resto de máquinas virtual (memory balloning)\n9- Inicio de sesión automático: Al instalar las Guest Additions, será posible configurar el login automático de sesiones en la máquina virtual a partir de las credenciales proporcionadas por nuestro sistema operativo real.\nPREPARAR EL SISTEMA OPERATIVO VIRTUALIZADO PARA INSTALAR LAS GUEST ADDITIONS La primera parte del procedimiento consiste en preparar nuestro sistema operativo virtualizado para que no exista ningún problema para instalar las Guest Additions. Para ello el primer paso a realizar es actualizar los repositorios del sistema operativo virtualizado introduciendo el siguiente comando en la terminal:\nsudo apt-get update Una vez actualizados los repositorios tenemos que actualizar el sistema operativo virtualizado ejecutando el siguiente comando en la terminal:\nsudo apt-get upgrade Una vez actualizado el sistema operativo virtualizado, tenemos que instalar el paquete build-essential. Para ello ejecutamos el siguiente comando en la teminal.\nsudo apt-get install build-essential Nota: El paquete build-essential es una metapaquete que contiene la totalidad de software necesario para la generación de paquetes .deb y para la programación en diversos lenguajes como por ejemplo C/C++. Es imprescindible tener instalado este metapaquete para poder instalar las Guest Additions. Ahora tendremos que asegurar que tengamos instaladas las cabeceras del núcleo. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo apt-get install linux-headers-$(uname -r) dkms Nota: Tenemos que asegurar que las cabeceras del núcleo estén instaladas. La función de las cabeceras del núcleo es la de compilar módulos para el kernel. Por lo tanto en el caso que no tener las cabeceras instaladas tendríamos problemas a la hora de instalar las Guest Additions. Después de instalar las cabeceras del núcleo tenemos que reiniciar nuestra máquina virtual. Una vez reiniciada la máquina virtual tenemos que instalar el paquete module-assistant ejecutando el siguiente comando en la terminal:\nsudo apt-get install module-assistant Nota: El paquete module-assistant se encarga de compilar e instalar los módulos necesarios para usar un hardware no soportado por el kernel. Por lo tanto necesitamos disponer de este paquete para instalar las Guest Additions. Después de instalar module-assistant deberemos asegurar que el servidor de las X está instalado en nuestra máquina virtual. Para ello ejecutaremos el siguiente comando en la terminal:\nsudo apt-get install xserver-xorg xserver-xorg-core Nota: Este paso se podría omitir ya que lo más seguro es que tengamos instalado el servidor gráfico. El único caso en que en principio sería necesario realizar este paso es cuando instaláramos un servidor que no dispusiera de entorno gráfico. Finalmente, tan solo falta asegurar que tengamos la versión de las cabeceras del núcleo necesarias y el paquete build essential. Para ejecutamos el siguiente comando en la terminal:\nsudo m-a prepare Nota: En teoría este paso no es necesarios ya que en pasos anteriores hemos instalado las cabeceras del núcleo y el paquete build-essential. No obstante no perdemos nada en hacer la comprobación. INSTALAR LAS GUEST ADDITIONS En estos momentos tenemos todo lo necesario para poder instalar las Guest Additions. Para ello el primer paso es introducir/montar el CD virtual de las Guest Additions en el sistema operativo virtualizado. Para realizar esto, tal y como se puede ver en la captura de pantalla, tenemos que ir al menú Dispositivos de VirtualBox y clicar sobre la opción Insertar Imagen CD de las Guest Additions.\nJusto después de presionar sobre Insertar Imagen de CD de las Guest Additions, se abrirá nuestro gestor de archivos con el contenido del CD de las Guest Additions:\nNota: Si el gestor de archivos no se abre de forma automática, tendremos que que abrirlo nosotros de forma manual. Una vez abierto tendremos que clicar encima de la unidad de CD virtual “VBOXADDITIONS” que se encontrará en el apartado de Dispositivos de nuestro gestor de archivos. Una vez abierto el gestor de archivos y podamos visualizar el contenido del CD de las Guest Additions, tenemos que presionar la combinación de teclas Ctrl + L. Una vez presionada la combinación de teclas Ctrl + L, tal y como se puede ver en la captura de pantalla, nos aparecerá la dirección/ubicación de las Guest Additions. Tal y como se puede ver en la captura de pantalla la seleccionamos y las copiamos en el portapapeles.\nUna vez disponemos de la dirección de montaje de las guest additions copiada en el portapapeles, abrimos una terminal y escribimos la palabra cd seguida de la dirección de montaje de las Guest Additions. En mi caso tuve que escribir lo siguiente:\ncd /media/joan/VBOXADDTIONS_4.3.26_98988/ Finalmente tan solo nos falta introducir el comando para poder instalar las Guest Additions. Por lo tanto tan solo tenemos que ejecutar el siguiente comando en la terminal:\nsudo sh ./VBoxLinuxAdditions.run Después de ejecutar este comando empezará la instalación de las Guest Addtions. Durante el proceso de instalación es importante observar que no se produzca ningún error. Si no se produce ningún error, el resultado final de la instalación de las Guest Additions deberá ser parecido al siguiente:\nAhora tan solo tenemos que reiniciar la máquina virtual. En el momento de reiniciar la máquina Virtual, tendríamos que disponer de la totalidad de funcionalidades adicionales descritas en los apartados anteriores de este post. Si el procedimiento ha sido satisfactorio lo notaremos al instante ya que podremos visualizar nuestro sistema operativo virtualizado a pantalla completa sin ningún tipo de problema.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-las-guest-additions-debian-derivadas/","summary":"\u003cp\u003eEn mi caso cada vez que me dispongo a instalar las Guest Additions, busco un tutorial en Internet y voy siguiendo los pasos uno por uno. No obstante casi nunca acostumbro a encontrar un tutorial que incluya la totalidad de pasos necesarios, y por lo tanto siempre acostumbro a tener problemas para instalarlas. A raíz de esta experiencia negativa, en el siguiente post explico de forma detallada la totalidad de acciones a realizar para instalar las Guest Additions.\u003c/p\u003e","title":"Instalar las Guest Additions en Debian y derivadas"},{"content":"En entornos laborales y familiares es típica la situación en la que queremos enviar un mail con uno o varios archivos adjuntos que ocupan tamaño grande. Muchas veces esto representa un problema ya que la mayoría de servidores de correo electrónico no permiten adjuntar archivos superiores a un determinado tamaño.\nPara solucionar este problema muchas personas acostumbran a acudir a servicios de terceros como Mega, Wetransfer, Google Drive, etc. Pero según mi forma de ver la mejor forma de solucionar este problema para la totalidad de usuarios del gestor de correo Thunderbird es la que mostraremos en este post.\nNota: Los usuarios de hotmail y de gmail a través de su página web, tienen opciones muy interesantes para enviar archivos de gran tamaño. Disponen de la posibilidad de enviar archivos a través de Google Drive y de Skydrive. ¿QUÉ NECESITAMOS PARA ENVIAR ARCHIVOS DE GRAN TAMAÑO POR EMAIL? Para seguir las instrucciones que se mencionan en este post, únicamente necesitamos disponer de las siguientes herramientas:\nEl gestor de correo electrónico Thunderbird instalado y configurado en nuestro ordenador. Una cuenta de Box o una cuenta de Hightail. En el caso de que no dispongáis de ninguna cuenta podéis haceros una de forma muy fácil accediendo a los siguientes enlaces: Enlace para crear una cuenta de Box\nEnlace para crear una cuenta de Hightail\nPROCEDIMIENTO QUE USA THUNDERBIRD PARA ENVIAR ARCHIVOS DE GRAN TAMAÑO POR EMAIL El procedimiento que usa Thunderbird para enviar archivos de gran tamaño es simple. Cuando intentamos adjuntar un archivo que tiene un tamaño superior al que nosotros podemos especificar, nos preguntará si queremos usar Filelink para enviar este archivo.\nSi respondemos que sí, el archivo se subirá a Box, Hightail u un tercer servicio en la nube. En el momento que el archivo acabe de subir aparecerá un enlace en nuestro mail que permitirá a los receptores del email descargarse el archivo.\nCONFIGURAR THUNDERBIRD PARA ENVIAR ARCHIVOS DE GRAN TAMAÑO Lo primero que haremos para configurar nuestro gestor de correo es abrir Thundebrird. Una vez abierto, tal y como se puede ver en la captura de pantalla, tenemos que acceder al menú Herramientas y seguidamente seleccionar la opción Preferencias:\nUna vez dentro del menú de preferencias tendremos que clicar encima del icono Adjuntos. Una vez hayamos clicado sobre el botón aparecerá la siguiente ventana:\nEn esta ventana lo primero que tenemos que realizar es clicar la opción Ofrecerlos para compartir archivos mayores de. Seguidamente tendremos que seleccionar el número de MB a partir del cual Thunderbird nos ofrecerá la posibilidad de usar Box o Higtail para enviar nuestros archivos. En mi caso, tal y como se puede ver en la captura de pantalla, he seleccionado 16 MB.\nEl siguiente pasó es presionar el botón Añadir. Al presionar el botón añadir aparecerá una ventana en la que tendremos que seleccionar la nube que queremos usar para realizar el envío de archivos que tengan un tamaño superior a 16 MB.\nTal y como se puede ver en la captura de pantalla, en mi caso he seleccionado la nube de Box.\nNota: En mi caso he preferido usar la nube de Box. El único motivo por el cual he decido usar Box es porqué de forma gratuita ofrece 10GB de espacio a sus clientes, mientras que Hightail solo ofrece 2GB. Además por determinadas circunstancias yo dispongo de 50GB de espacio de almacenamiento en box. Una vez seleccionada la opción hay que presionar sobre el botón Configurar cuenta. Al presionar el botón aparecerá la siguiente ventana:\nEn esta ventana, tal y como se puede ver en la captura de pantalla, tenemos que introducir el usuario y contraseña de nuestra cuenta de Box. Una vez hayamos introducido estos datos hay que presionar encima del botón Autorizar. Seguidamente aparecerá otra ventana en la que tendremos que presionar encima del botón Conceder acceso a Box. En estos momentos el procedimiento ha terminado y les aparecerá una ventana parecida a la siguiente:\nENVIAR ARCHIVOS DE GRAN TAMAÑO CON THUNDERBIRD Imaginemos que tengo que enviar un vídeo a un compañero que ocupa aproximadamente 100 MB. Obviamente es imposible adjuntar este vídeo en un correo electrónico ya que su tamaño es demasiado grande.\nNo obstante si tenemos nuestro gestor de Thunderbird configurado tal y como hemos mostrado en el apartado anterior, tan solo tenemos que añadir el vídeo dentro de nuestro correo. Como el tamaño del vídeo es superior a 16MB, tal y como se puede ver en la captura de pantalla, nuestro gestor de correo electrónico nos preguntará si queremos usar Filelink para enviar el archivo.\nTal y como se puede ver en la captura de pantalla, como queremos usar Filelink presionamos encima del botón Enlazar. En el momento de presionar el botón Enlazar, el vídeo que queremos enviar empezará a subir a la nube de box.\nNota: En el caso que quisiéramos enviar un archivo inferior a 16MB con este método, tal y como se puede ver en la captura de pantalla, tan solo tendríamos que presionar sobre el triangulito pequeño del botón Adjuntar. Seguidamente seleccionaríamos la opción Filelink y a posteriori tendríamos que clicar sobre la nube que queremos usar para realizar el envío, que en mi caso es Box. Al clicar sobre la nube se abrirá nuestro gestor de archivos para que podamos seleccionar el archivo que queremos enviar. En el momento que el archivo sea completamente cargado a la nube, tal y como se puede ver en la captura de pantalla, en el parte inferior del mail aparecerá un enlace para que el receptor del mail pueda descargarse el vídeo que le queremos enviar.\nEn estos momentos ya podemos enviar el mail de forma habitual presionando encima del botón Enviar.\nINSTRUCCIONES PARA QUE EL RECEPTOR DEL EMAIL PUEDA DESCARGAR LOS ARCHIVOS Una vez el receptor reciba nuestro email verá algo parecido a la siguiente captura de pantalla:\nTal y como se puede ver en la captura de pantalla, para poder descargar y visualizar el vídeo, hay que clicar encima del link de box que está en la parte inferior del email. Una vez presionado el link se abrirá la siguiente pestaña en el navegador de Internet:\nUna vez abierta la pestaña, tal y como se puede ver en la captura de pantalla, para descargar el vídeo tan solo hace falta presionar encima del botón Descargar. Una vez hayamos presionado encima del botón se descargará el vídeo que nos han enviado.\nOPCIONES ALTERNATIVAS A BOX Y A HIGHTAIL Thunderbird ha llegado a acuerdos con Box y hightail para que los usuarios puedan usar su servicio de nube para poder enviar archivos de tamaño grande. No obstante si a nosotros no nos convence ni Box no Hightail, podemos usar otros servicios de nube alternativos. Los servicios de nube alternativos que podemos usar son los siguientes:\nDropbox: Si queremos podemos usar la nube de Dropbox para realizar el envío de archivos. Para ello se deberá instalar la extensión de Thunderbird que encontrarán en el siguiente enlace. hubiC: Si queremos usar la nube francesa hubiC deberemos instalar la extensión de Thunderbird que encontrarán en el siguiente enlace. Okeanos: Si queremos usar la nube de Okeanos deberemos instalar la extensión de Thunderbird que encontrarán en el siguiente enlace. DL for Thunderbird: Si no queremos depender de servicios de terceros, como por ejemplo Dropbox, podemos montarnos nuestro propio servidor DL. Una vez instalado el servidor tendremos que instalar la extensión de Thunderbird que encontraremos en el siguiente enlace. WebDAV for Filelink: Instalando la extensión WebDAV for Filelink del siguiente enlace, seremos capaces de usar cualquier servidor WebDAV para poder realizar nuestros envíos. Por lo tanto podremos usar Owncloud tranquilamente para enviar nuestros archivos más pesados.\nNota: Si quieren ver otros servicios alternativos a los citados en este apartado pueden consultar el siguiente enlace. VENTAJAS DEL MÉTODO USADO FRENTE A OTRAS ALTERNATIVAS Obviamente existen muchas formas para enviar archivos que ocupen un tamaño grande. No obstante la opción presentada en es post la considero sumamente interesante por los siguiente motivos:\nLos links de descarga de los archivos enviados siempre estarán activos. Otros servicios alternativos como por ejemplo Wetransfer (Cuenta Free) los links solamente están activos durante 7 días. Es muy práctico ya que podemos enviar el archivo que queramos sin tener abrir el navegador ni salir de nuestro gestor de correo electrónico. El método es prácticamente el mismo que adjuntar un archivo. Si los servicios de Box o Hightail no nos satisfacen, o no confiamos en ellos, es posible usar otros servicios de nube alternativos. Incluso si nos preocupa enormemente la privacidad, podemos usar estensiones DL for Thunderbird o WebDAV for Filelink, que nos permitiran usar nuestro propio servidor para poder realizar el envío de los archivos. INCONVENIENTES Y PUNTOS DE MEJORA A pesar de que el método es práctico dispone de limitaciones. Las limitaciones y puntos de mejora que veo son los siguientes:\nUsando Box o HighTail solo podremos compartir archivos que tengan un tamaño igual o inferior a 250MB. Si queremos enviar archivos con un tamaño superior a 250MB deberemos mejorar las cuentas de hightail o box. En el caso de tener este problema siempre podríamos usar otros servicios de nube como por ejemplo Dropbox, u otros que nos permite subir archivos de hasta 10 GB. Cualquier persona que reciba nuestro email será capaz de descargar el archivo. Por lo tanto no estaría demás que tuviéramos la opción de proteger la descarga de nuestros archivos mediante una contraseña. ","permalink":"https://geeklandlinux.github.io/posts/enviar-archivos-gran-tamano-thunderbird/","summary":"\u003cp\u003eEn entornos laborales y familiares es típica la situación en la que queremos enviar un mail con uno o varios archivos adjuntos que ocupan tamaño grande. Muchas veces esto representa un problema ya que la mayoría de servidores de correo electrónico no permiten adjuntar archivos superiores a un determinado tamaño.\u003c/p\u003e","title":"Enviar archivos de gran tamaño con Thunderbird"},{"content":"La gran mayoría de emails que acostumbramos a enviar transmiten una imagen muy simple, ya que el contenido es un simple fondo blanco con texto de color negro. Si este aspecto nos molesta lo podemos solucionar usando plantillas html en thunderbird o en cualquier otro gestor de correo electrónico.\nEscribir un mail con una imagen simple no es ningún problema, pero es posible que en determinados casos queramos transmitir una imagen corporativa, diferente o más elegante a las personas a las que enviamos emails.\nSi este es nuestro objetivo podemos usar plantillas html en nuestro gestor de correo electrónico para obtener la imagen y el objetivo que estamos buscando. Mediante las plantillas html podremos añadir los siguientes elementos en totalidad de mails enviados:\nUn logo corporativo. Un imagen de fondo. Una cabecera. Una firma. Un pie de página, etc. Los pasos para poder usar las plantillas html en Thunderbird de forma adecuada son los siguientes:\nCREAR O SELECCIONAR PLANTILLAS HTML RESPONSIVE El primer paso obviamente es disponer de una plantilla. Para poder disponer de una plantilla existen varias opciones.\nLa primera opción es realizar una plantilla nosotros mismos. Para realizar una plantilla, y que además sea responsive, necesitamos disponer de conocimientos de programación en html y CSS. Por lo tanto a la gran mayoría les recomiendo la segunda opción.\nLa segunda opción es buscar una plantilla realizada por alguien más y adaptarla a nuestro gusto y necesidad. En mi caso busqué la plantilla antwork que podéis descargar accediendo a la siguiente página web. He seleccionado esta plantilla como base porqué me parece ideal y elegante para enviar mis emails personales. En caso que queráis usar otras platillas, mediante vuestro buscador de internet habitual, encontraréis numerosas alternativas al tema antwork.\nUna vez dentro de la página web, tal y come se puede ver en la captura de pantalla, presionamos encima del botón Download Zip.\nDespués de presionar el botón se descargará el archivo antwort-master.zip que contiene 3 plantillas html. El aspecto de cada una de las plantillas html es el siguiente:\nNota: En mi caso, la plantilla que se adapta más a mi uso del email es la plantilla single column. Es una plantilla simple y elegante. Después de descargar el archivo antwort-master.zip lo descomprimimos. Una vez descomprimido, tal y como se puede ver en la captura de pantalla, accedemos a la ruta /antwort-master/single-column/\nNota: Si en vuestro caso queréis usar la plantilla two columns o three columns la ruta /antwort-master/two-cols-simple/ o /antwort-master/three-cols-simple Una vez dentro de la ruta indicada, abrimos el archivo build.html con un editor de texto cualquiera. Una vez abierto el editor de texto modificamos el código del tema antwork / single column según nuestras necesidades.\nEn mi caso he introducido las siguientes modificaciones ha la plantilla que tomamos como base:\nHe cambiado los colores de fondo de la plantilla. He eliminado la cabecera del mail. En mi caso no pretendo transmitir una imagen corporativa. Tan solo quiero que mis mails tengan un estilo simple y elegante. He eliminado información que contenía la plantilla como por ejemplo el solicitar darse de baja de una base de datos de mails, etc. En mi caso solo pretendo usar la plantilla para enviar emails personales. No pretendo realizar ningún mailing. He establecido que la totalidad de texto que escribiremos en los emails tendrá una alineación justificada. He cambiado la codificación de texto de UTF-8 a Windows-1252. La codificación UTF-8 me daba problemas en la codificación de caracteres en el iPad. Para conseguir todas estas modificaciones el código final del archivo build.html es el siguiente:\n\u0026lt;!DOCTYPE html PUBLIC \u0026#34;-//W3C//DTD HTML 4.01 Transitional//EN\u0026#34; \u0026#34;http://www.w3.org/TR/html4/loose.dtd\u0026#34;\u0026gt; \u0026lt;html lang=\u0026#34;en\u0026#34;\u0026gt; \u0026lt;head\u0026gt; \u0026lt;meta http-equiv=\u0026#34;Content-Type\u0026#34; content=\u0026#34;text/html; charset=Windows-1252\u0026#34;\u0026gt; \u0026lt;meta name=\u0026#34;viewport\u0026#34; content=\u0026#34;width=device-width, initial-scale=1\u0026#34;\u0026gt; \u0026lt;!-- So that mobile will display zoomed in --\u0026gt; \u0026lt;meta http-equiv=\u0026#34;X-UA-Compatible\u0026#34; content=\u0026#34;IE=edge\u0026#34;\u0026gt; \u0026lt;!-- enable media queries for windows phone 8 --\u0026gt; \u0026lt;meta name=\u0026#34;format-detection\u0026#34; content=\u0026#34;telephone=no\u0026#34;\u0026gt; \u0026lt;!-- disable auto telephone linking in iOS --\u0026gt; \u0026lt;title\u0026gt;Single Column\u0026lt;/title\u0026gt; \u0026lt;style type=\u0026#34;text/css\u0026#34;\u0026gt; body { margin: 0; padding: 0; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; } table { border-spacing: 0; } table td { border-collapse: collapse; } .ExternalClass { width: 100%; } .ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div { line-height: 100%; } .ReadMsgBody { width: 100%; background-color: #ebebeb; } table { mso-table-lspace: 0pt; mso-table-rspace: 0pt; } img { -ms-interpolation-mode: bicubic; } .yshortcuts a { border-bottom: none !important; } @media screen and (max-width: 599px) { table[class=\u0026#34;force-row\u0026#34;], table[class=\u0026#34;container\u0026#34;] { width: 100% !important; max-width: 100% !important; } } @media screen and (max-width: 400px) { td[class*=\u0026#34;container-padding\u0026#34;] { padding-left: 12px !important; padding-right: 12px !important; } } .ios-footer a { color: #aaaaaa !important; text-decoration: underline; } \u0026lt;/style\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body style=\u0026#34;margin:0; padding:0;\u0026#34; bgcolor=\u0026#34;#F0F0F0\u0026#34; leftmargin=\u0026#34;0\u0026#34; topmargin=\u0026#34;0\u0026#34; marginwidth=\u0026#34;0\u0026#34; marginheight=\u0026#34;0\u0026#34;\u0026gt; \u0026lt;!-- 100% background wrapper (grey background) --\u0026gt; \u0026lt;table border=\u0026#34;0\u0026#34; width=\u0026#34;100%\u0026#34; height=\u0026#34;100%\u0026#34; cellpadding=\u0026#34;0\u0026#34; cellspacing=\u0026#34;0\u0026#34; bgcolor=\u0026#34;#F0F0F0\u0026#34;\u0026gt; \u0026lt;tr\u0026gt; \u0026lt;td align=\u0026#34;center\u0026#34; valign=\u0026#34;top\u0026#34; bgcolor=\u0026#34;#F0F0F0\u0026#34; style=\u0026#34;background-color: #CDCDCD;\u0026#34;\u0026gt; \u0026lt;br\u0026gt; \u0026lt;!-- 600px container (white background) --\u0026gt; \u0026lt;table border=\u0026#34;0\u0026#34; width=\u0026#34;600\u0026#34; cellpadding=\u0026#34;0\u0026#34; cellspacing=\u0026#34;0\u0026#34; class=\u0026#34;container\u0026#34; style=\u0026#34;width:600px;max-width:600px\u0026#34;\u0026gt; \u0026lt;tr\u0026gt; \u0026lt;td class=\u0026#34;container-padding content\u0026#34; align=\u0026#34;left\u0026#34; style=\u0026#34;padding-left:24px;padding-right:24px;padding-top:12px;padding-bottom:12px;background-color:#EBEBEB\u0026#34;\u0026#34;\u0026gt; \u0026lt;br\u0026gt; \u0026lt;div class=\u0026#34;title\u0026#34; style=\u0026#34;font-family:Helvetica, Arial, sans-serif;font-size:14px;font-weight:600;color:#374550\u0026#34;\u0026gt;Hola ,\u0026lt;/div\u0026gt; \u0026lt;br\u0026gt; \u0026lt;div class=\u0026#34;body-text\u0026#34; style=\u0026#34;font-family:Helvetica, Arial, sans-serif;font-size:14px;line-height:20px;text-align:justify;color:#333333\u0026#34;\u0026gt; Texto \u0026lt;br\u0026gt;\u0026lt;br\u0026gt; Saludos \u0026lt;br\u0026gt;\u0026lt;br\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/td\u0026gt; \u0026lt;/tr\u0026gt; \u0026lt;tr\u0026gt; \u0026lt;td class=\u0026#34;container-padding footer-text\u0026#34; align=\u0026#34;left\u0026#34; style=\u0026#34;font-family:Helvetica, Arial, sans-serif;font-size:13px;line-height:16px;color:#646464;padding-left:24px;padding-right:24px\u0026#34;\u0026gt; \u0026lt;br\u0026gt;\u0026lt;br\u0026gt; \u0026lt;strong\u0026gt;pon tu nombre\u0026lt;/strong\u0026gt;\u0026lt;br\u0026gt; \u0026lt;span class=\u0026#34;ios-footer\u0026#34;\u0026gt; \u0026lt;br\u0026gt; \u0026lt;/span\u0026gt; \u0026lt;a href=\u0026#34;mailto:escribe tu dirección de email\u0026#34; style=\u0026#34;color:#838383\u0026#34;\u0026gt;escribe tu dirección de email\u0026lt;/a\u0026gt;\u0026lt;br\u0026gt; \u0026lt;br\u0026gt;\u0026lt;br\u0026gt; \u0026lt;/td\u0026gt; \u0026lt;/tr\u0026gt; \u0026lt;/table\u0026gt; \u0026lt;!--/600px container --\u0026gt; \u0026lt;/td\u0026gt; \u0026lt;/tr\u0026gt; \u0026lt;/table\u0026gt; \u0026lt;!--/100% background wrapper--\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Una vez modificado el código del archivo build.html guardamos los cambios. Una vez guardados los cambios ya podemos crear la plantilla en thunderbird.\nNota: En color verde se indican las partes a personalizar para la gente que quiera usar esta plantilla. Para que la plantilla sea usable, como mínimo deberán sustituir \u0026ldquo;pon tu nombre\u0026rdquo; por vuestro nombre real y \u0026ldquo;escribe tu dirección de email\u0026rdquo; por vuestra dirección de email real. CREAR PLANTILLAS HTML EN THUNDERBIRD En estos momentos ya hemos realizado los pasos más difíciles para poder usar una plantilla en Thunderbird. El paso para crear la plantilla en Thunderbird es sumamente fácil. Tan solo tenemos que presionar el botón Redactar.\nUna vez presionado el botón Redactar se abrirá una ventana para que podamos redactar el mail que queremos enviar. Tal y como se puede ver en la captura de pantalla, tendremos que acceder al menú Insertar y a posteriori cuando se abra el menú tendremos que seleccionar la opción HTML...\nUna vez seleccionada la opción HTML\u0026hellip; aparecerá una ventana para insertar el código html de nuestra plantilla.\nTal y como se puede ver en la captura de pantalla, en esta ventana hay que pegar la totalidad de contenido del fichero build.html que editamos en el paso anterior. Una vez pegado el contenido, tal y como se puede ver en la captura de pantalla, presionamos el botón Insertar.\nUna vez insertada la plantilla, tal y como se puede ver en la captura de pantalla, vamos al menú Archivo. Cuando se abra el menú seleccionamos la opción Guardar como y a posteriori seleccionamos la opción Plantilla. Después de estos pasos nuestra la plantilla estará creada y guardada en nuestro gestor de correo electrónico Thunderbird.\nENVIAR UN MAIL USANDO PLANTILLAS HTML Para redactar un email usando la plantilla que acabamos de crear tenemos que seguir los siguientes pasos:\nTal y como se puede ver en la captura de pantalla, accedemos a la carpeta plantillas. En la carpeta plantillas encontraremos la plantilla que acabamos de crear. Hacemos doble click en la plantilla creada y se abrirá la ventana en la que tenemos que redactar el mail que queremos enviar.\nTal y como se puede ver en la captura de pantalla redactamos el contenido que queremos que tenga nuestro mail.\nUna vez redactado el mail tan solo tendremos que presionar encima del botón Enviar y el correo se enviará.\nRESULTADOS OBTENIDOS EN EL ENVÍO DEL MAIL En las siguientes capturas de pantalla mostraremos lo que verán los receptores de nuestro mail en distintos dispositivos y en distintos tamaños de pantalla:\nResultado obtenido en el caso de abrir el mail en un ordenador Resultado obtenido en el caso de abrir el mail en un teléfono Android Resultado obtenido en el caso de abrir el mail en un iPad Nota: Como se puede ver en las capturas de pantalla de este apartado, la plantilla que estamos usando es responsive, ya que el mail se adapta a la perfección a distintos dispositivos y a distintos tamaños de pantalla. AUTOMATIZAR EL PROCESO DE ENVIAR MAILS CON UNA PLANTILLA Obviamente es un poco engorroso que cada vez que tengamos que enviar un mail sea necesario tener que acceder a la carpeta plantillas. Si queremos solucionar este problema lo podemos hacer de forma muy fácil usando la extensión de Thundebird Stationery.\nInstalar Stationery Para instalar la extensión Stationery tenemos que acceder al menú Herramientas del gestor de correo Thunderbird. Una vez se abra el menú tenemos que seleccionar la opción Complementos.\nSeguidamente se abrirá una pestaña para administrar los complementos. Para instalar Stationery, tal y como se puede ver en la captura de pantalla, accedemos al cuadro de búsqueda, escribimos el nombre del complemento, que en nuestro caso es Stationery y seguidamente presionamos la tecla Enter.\nDespués de presionar Enter se realizará la búsqueda de la extensión. Una vez encontrada, tal y como se muestra en la captura de pantalla, presionamos el botón Instalar y la extensión se instalará.\nUna vez instalada la extensión tenemos que reiniciar Thunderbird.\nIncluir nuestra plantilla en Stationery Una vez instalada la extensión Stationery tenemos que acceder al menú Herramientas, y cuando se despliegue el menú tenemos que seleccionar la opción Stationery Options. Después de realizar estos pasos se abrirá la pestaña que pueden observar en la siguiente captura de pantalla:\nTal y como se puede ver en la captura de pantalla, el siguiente paso es presionar sobre el botón Add. Al presionar sobre el botón aparecerá el submenu HTML file Stationery. Presionamos encima de él y, tal y como se puede ver en la captura de pantalla, aparecerá una ventana en la que tenemos que seleccionar el archivo build.html que editamos en el apartado Crear o seleccionar una plantilla responsive. Una vez encontrado y seleccionado el archivo build.html, tal y como se puede ver en la captura de pantalla, presionamos el botón Abrir.\nEn el momento de presionar sobre el botón Abrir el proceso de configuración ha terminado.\nEscribir un email usando la plantilla Para escribir un mail usando la plantilla que hemos creado tan solo tenemos que presionar sobre el botón Redactar de Thunderbird como si escribiéramos una mail de forma normal y corriente.\nEn el momento de apretar el botón redactar se abrirá la ventana para que podamos redactar el mail, con la particularidad que tendrá el diseño de la plantilla que hemos creado.\nSi trabajamos con varias plantillas html, o en un momento dado queremos enviar un mail sin usar ningúna plantilla o usando otra plantilla diferente a la predeterminada, tal y como se puede ver en la captura de pantalla, tan solo tenemos que clicar encima del botón Stationery.\nEn el momento de clicar encima del botón aparecerán la totalidad de plantillas html que tenemos disponibles y una opción que es without Stationery. En estos momentos podremos seleccionar la plantilla que necesitemos o simplemente seleccionar la opción without Stationery para enviar un mail con fondo blanco y texto negro.\n","permalink":"https://geeklandlinux.github.io/posts/plantillas-html-en-thunderbird/","summary":"\u003cp\u003eLa gran mayoría de emails que acostumbramos a enviar transmiten una imagen muy simple, ya que el contenido es un simple fondo blanco con texto de color negro. Si este aspecto nos molesta lo podemos solucionar usando plantillas html en thunderbird o en cualquier otro gestor de correo electrónico.\u003c/p\u003e","title":"Plantillas html en Thunderbird"},{"content":"En el siguiente post detallaré como realizar un mailing o envío de correos masivos con el gestor de correo Thunderbird. El proceso que veremos no es el mas extendido para realizar un mailing en un entorno profesional, pero aplicando la metodología descrita en este post conseguiremos realizar un mailing sin tener que depender de aplicaciones/servicios de terceros como por ejemplo el archiconocido Mailchimp, Max Bull mailer, etc.\nDespués de implementar los pasos descritos en este artículo, dispondremos de un sistema de mailing capaz de realizar las siguientes acciones:\nEnviar un mail personalizado, con texto e imágenes a la totalidad de contactos de nuestra base de datos. Programar el envío de mails para incrementar la tasa de apertura de los mails, y evitar que nuestro servidor de correo electrónico nos bloquee la cuenta de correo por Spam. Hacer un seguimiento de la tasa de apertura de nuestro mails, si los destinatarios han realizado click en alguno de los links del email, saber que han realizado los usuarios después de entrar en los links que se proporcionan en el email, etc. Nota: En los entornos profesionales, la gran mayoría de empresas que precisan realizar un mailing utilizan una herramienta llamada Mailchimp. Nota: Quien tenga un blog y envíe boletines e información a sus lectores, le aconsejaría utilizar un plugin de wordpress llamado mailpoet para hacer la distribución de sus newsletters a los lectores. Nota: El hecho de no utilizar servicios de terceros como mailchimp o mailpoet tiene grandes ventajas en el campo de la privacidad. De este modo nadie podrá analizar el contenido de nuestro emails, ni disponer de nuestra base de datos, ni cortarnos el servicio por considerar que estamos violando sus términos de uso, etc. INSTALAR LAS EXTENSIONES MAIL MERGE Y ENVIAR MAS TARDE El primer paso a realizar es instalar las extensiones Mail merge y Enviar más tarde para poder realizar el envío masivo de mails.\nLa extensión mail merge es la que nos permitirá realizar el envío masivo de mails. Para poder instalarla accedéis al menú Herramientas de vuestro gestor de correo Thunberbird. Una vez abierto el menú Herramientas se desplegará un submenú en el que tendréis que seleccionar la opción Complementos.\nSeguidamente se abrirá una pestaña para administrar los complementos. Para instalar mail merge, tal y como se puede ver en la captura de pantalla, accedemos al cuadro de búsqueda, escribimos el nombre del complemento, que en nuestro caso es mail merge, y presionamos la tecla Enter.\nDespués de presionar Enter se realizará la búsqueda de la extensión. Una vez encontrada, tal y como se muestra en la captura de pantalla presionamos el botón Instalar y la extensión se instalará.\nUna vez instalada la extensión mail merge instalaremos la extensión Enviar más tarde. La extensión Enviar más tarde es la que nos permitirá programar el envío de nuestros mails.\nPara instalar Enviar más tarde, tal y como se puede ver en la captura de pantalla, accedemos al cuadro de búsqueda, escribimos el nombre del complemento, que en nuestro caso es enviar más tarde, y presionamos la tecla Enter.\nDespués de presionar Enter se realizará la búsqueda de la extensión. Una vez encontrada, tal y como se muestra en la captura de pantalla presionamos el botón Instalar y la extensión se instalará.\nUna vez instaladas estas dos extensiones, cerramos Thunderbird y lo volvemos a abrir.\nELABORAR LA PLANTILLA PARA PODER REALIZAR EL MAILING Una vez tenemos todo el software necesario disponible, ya podemos empezar a redactar nuestro correo. Imaginemos que tenemos una empresa y queremos invitar a la totalidad de nuestros clientes a una convención comercial.\nNota: Obviamente tenemos muchos clientes y es interesante poder realizar un envío masivo de correos y que además estén personalizados para quedar bien con ellos. Para invitar a los clientes, tal y como se puede ver en la captura de pantalla, empezamos a redactar el mail de invitación con la particularidad que las partes a personalizar las tendremos que escribir entre corchetes. Así a modo de ejemplo si en el asunto del mail queremos poner:\nComunicado a la empresa Bobinados Alonso\nQueda claro que la parte a personalizar es el nombre del cliente. Por lo tanto nosotros deberemos sustituir Bobinados Alonso por una referencia cualquiera entre corchetes tal y como se muestra a continuación:\nComunicado a la empresa {{empresa}}\nSiguiendo este patrón el mensaje quedará tal y como se muestra en la siguiente captura de pantalla:\nTal y como se puede ver en la captura de pantalla, las partes/campos a personalizar son los siguientes:\n{{mail}} : El campo {{mail}} ubicado en la parte donde ponemos nuestra dirección de email, obviamente es variable ya que cada mail que enviemos irá dirigido a una dirección de email diferente. {{cliente}} : Como hemos comentado antes, el campo {{cliente}} es variable ya que en cada una de las invitaciones que enviemos a nuestros clientes esta parte será diferente. {{imagen}} : El campo {{imagen}} también es variable, ya que cada cliente o cada persona a la que enviemos la invitación, le aparecerá una imagen diferente que será un mapa con instrucciones para llegar a nuestra oficina.\nNota: Si os fijáis bien, el mail contiene una dirección a una URL que contiene las novedades que se presentarán en la convención comercial. Este link se puede generar con el creador de URL de Google. De esta forma, mediante google analytics, podremos analizar cuales son las novedades que más interesan a nuestro equipo comercial. Una vez completada la plantilla la tenemos que guardar. Para ello accedemos al menú Archivo. Una vez hayamos accedido al menú se desplegará un submenú en el que tendremos que seleccionar la opción Guardar como. Finalmente aparecerá otro menú desplegable en el que seleccionaremos Plantilla.\nNota: Si se hubiera personalizado aún más el envío del mail, se podrían haber preparado 2 mailings. Uno dirigido a nuestros clientes mujeres y otro dirigido a nuestros clientes hombres. Esta segmentación podría ser importante para analizar que novedades de nuestra convención comercial interesan más a los hombres y cuales interesan más a las mujeres. Para ello es importante tener una buena base de datos de nuestro clientes. Nota: Tal y como se puede ver en la última captura de pantalla, el mail tiene un fondo completamente blanco. No obstante si quisiéramos podríamos haber insertado una plantilla html en Thunderbird para modificar el look de nuestro mail de invitación y dar una imagen más corporativa o más publicitaria a nuestro mail. Si quieren saber como pueden realizar lo que acabo de citar pueden visitar el siguiente enlace. PREPARAR UNA BASE DE DATOS PARA EL ENVÍO DEL MAILING Una vez tenemos preparada y guardada la plantilla, ya podemos empezar a preparar la base de datos que nos servirá para enviar enviar los mailings a nuestros clientes. Para ello abrimos Excel, Libreoffice o cualquier otra hoja de cálculo.\nUna vez abierta la hoja de cálculo, tal y como se puede ver en la captura de pantalla, en la primera fila de cada una de las columnas tenemos que escribir el nombre de los campos que queremos modificar, que si miramos en el apartado anterior veremos que son mail, empresa, cliente e imagen:\nSeguidamente tal y como se puede ver en la captura de pantalla, tenemos que rellenar las filas de cada uno de los campos a personalizar. Así por lo tanto:\nEn la columna A, que contiene el campo mail, iremos poniendo la totalidad de mails a los que queremos enviar nuestra invitación.\nEn la columna B, que contiene el campo empresa, tendremos que poner el nombre de la empresas de cada uno de los clientes.\nEn la columna C, que contiene el campo cliente, tendremos que poner el nombre de cada nuestro clientes.\nFinalmente en la columna D, que contiene el campo imagen, tenemos que indicar la URL o dirección de las imágenes que queremos ir adjuntando a cada uno de nuestros clientes. Para ver como indicar la URL pueden ver la captura de pantalla.\nNota: Los datos de la columna A, B, C y D tendrán que tener una correlación. Por lo tanto la fila 2 contendrá la totalidad de datos del primero de los clientes, la fila 3 contendrá la totalidad de datos del segundo de los clientes, etc. Una vez terminada la base de datos ya la podemos guardar. Para ello accedemos al menú Archivo. Al desplegarse el submenú seleccionamos la opción Guardar como. Seguidamente aparecerá la siguiente ventana:\nTal y como se puede ver en la captura de pantalla, en la ventana Guardar como tenemos que seleccionar el formato en el que queremos guardar el archivo que en mi caso es .csv.\nUna vez seleccionado el formato tan solo tenemos que poner un nombre a nuestro archivo, seleccionar la ubicación donde lo queremos guardar y finalmente tan solo falta presionar el botón Guardar.\nUna vez hayamos presionado encima del botón guardar nos aparecerá otra ventana:\nEn esta ventana tendremos que seleccionar el tipo de codificación de nuestro archivo así como los delimitadores de campo y de texto junto con otras opciones de configuración.\nLes aconsejo que se use la configuración que se muestra en la captura de pantalla ya que es plenamente funcional y no da ningún tipo de problema. En el hipotético caso que tengan problemas en la visualización de los caracteres cuando se envíe el mailing, pueden probar de reemplazar la codificación Unicode (UTF-8) por la Windows-1252.\nNota: Las codificación UTF-8 y la Windows-1252, son las 2 únicas codificaciones a probar, ya que estas 2 son las únicas plenamente soportadas por Thunderbird y Mail Merge. Una vez seleccionadas las opciones pertinentes tan solo falta presionar el botón Aceptar. Después de presionar el botón aceptar se generará nuestro archivo .csv que contiene toda la información necesaria para realizar el envío masivo de mails.\nTRACKEAR SI SE ACCEDEN A LOS LINKS DEL MAILING Obviamente si realizamos un mailing o enviamos un mail de forma masiva, es importante conocer los resultados obtenidos del envío. Para ello, mediante el uso de google analytics podemos analizar multitud de parámetros, como por ejemplo la tasa de apertura de nuestros mails, los clicks que realizan los receptores del mail en los links que contiene nuestro mail, que acciones realizan los usuarios que acceden a una web a través del mailing que hemos realizado, etc.\nComo es un tema complejo y largo de explicar, en un futuro escribiré una serie de post que detallarán como realizar cada una de las acciones que acabo de citar.\nENVIAR EL MAILING Una vez realizados la totalidad de los pasos tan solo nos falta enviar el mailing. Para enviar el mail abrimos el gestor de correo Thunberbird y recuperaremos la plantilla que generamos para enviar el mail. Para ello, tal y como se puede ver en la captura de pantalla, nos vamos a la carpeta Plantillas, buscamos nuestra plantilla y hacemos doble click encima de ella para que se abra.\nUna vez abierta la plantilla, tal y como se puede ver en la captura de pantalla, abrimos el menú Archivo y a posteriori ejecutamos la opción Mail Merge:\nSeguidamente aparecerá la siguiente ventana:\nEn esta ventana es donde deberemos indicar a mail merge, cual el fichero .csv que rellenamos en uno de los apartados de este artículo, y además podremos programar el envío de nuestros emails. En cada una de las distintos campos de esta ventana podemos seleccionar las siguientes opciones:\nCampo Source: En este campo deberemos seleccionar la opción CSV ya que la información para personalizar los emails está contenida en un archivo .csv.\nCampo Deliver Mode: En este campo tenemos que considerar 3 opciones. Send Now, Send Later y Send as a draft.\nLa opción Send Now nos permite enviar de forma inmediata un correo cada x segundos seleccionando porqué número de cliente de la base de datos queremos empezar y porqué número queremos terminar.\nLa opción Send Later: Cada x segundos guarda uno de los email que queremos enviar en la bandeja de salida de nuestro mail. Una vez que la bandeja de salida contenga todos los emails, y una vez hayamos comprobado que los mails se visualizan correctamente, nos tenemos que ir al menú Archivo y una vez dentro del menú tenemos que seleccionar la opción Procesar mensajes no enviados. Una vez seleccionada la opción se enviaran la totalidad de correos a sus destinatarios.\nLa opción Send as a Draft: Permite programar envíos a un ahora determinada y con una periodicidad determinada. Una vez enviado el correo los mensajes quedarán en la carpeta borradores esperando que llegue la hora del envío que hemos determinado.\nCampo Format: En este campo podemos elegir entre las opciones Plain Text, HTML o Both. Si elegimos la opción Plain text nuestros emails se enviaran en texto plano y por lo tanto no se podrán mostrar las imágenes incrustadas o lincadas en él. Si elegimos el modo HTML, el mail se enviará en formato HTML y entonces el personal que reciba el email si que podrá ver las imágenes incrustados y el resto de código html.\nCampo Attachment: En un envío de mails masivo, o mailing, no es muy aconsejable incluir archivos adjuntos, ya que lo que nos interesa son mails ligeros para no saturar el servidor y para que no nos consideren spammers. No obstante en este campo si queremos podemos añadir la dirección del archivo que queremos adjuntar en el mail. De este modo todos los mails enviados contendrán un archivo adjunto. Si esta forma no nos gusta podemos añadir el archivo que queremos enviar directamente en la plantilla que hemos preparado.\nCampo File: En este campo tenemos que clicar la opción Browse. Al clicar aparecerá el navegador de archivos. En el navegador de archivos deberemos indicar la ruta de nuestro fichero .csv.\nCampo Character set: Como la base de datos / fichero csv, lo codificamos en formato Unicoide (UTF-8) en este campo también deberemos indicar que la codificación es del tipo UTF-8. Si la base de datos la codificamos en formato Windows-1252, en este apartado deberemos seleccionar la opción Windows-1252.\nCampo Field Delimeter: En el fichero .csv definimos que el campo delimitador era una coma (,). Por lo tanto en esta campo deberemos seleccionar , como campo delimitador.\nCampo Text Delimeter: En el fichero .csv definimos que el texto delimitador eran dos comillas (”). Por lo tanto en esta campo deberemos seleccionar ” como texto delimitador.\nCampo Start: En este campo tenemos que indicar el número de fila de nuestra base de datos por la que queremos que nuestro cliente de correo electrónico empiece a enviar los mails.\nCampo Stop: En este campo tenemos que indicar el número de fila de nuestra base de datos por la que queremos que nuestro cliente de correo electrónico termine de enviar los mails.\nCampo Pause: En este campo tenemos que indicar cada cuantos segundos queremos que se envíe un email. Este campo es útil ya que si enviamos muchos mails en un periodo de tiempo corte, es posible que nuestra cuenta de correo pueda ser considerada spam.\nCampo At (solo activo cuando seleccionamos la opción Send as a Draft): En este campo podemos indicar la hora y el día en que queremos que se envíe el mailing.\nCampo Recur (solo activo cuando seleccionamos la opción Send as a Draft): En este campo podemos seleccionar las opciones Daily, Weekly, Monthly e Yearly. De este modo podemos indicar la periodicidad con que queremos que se repita el envío del mailing.\nCampo Every (solo activo cuando seleccionamos la opción Send as a Draft): En este campo tenemos que indicar cada cuantos días, semanas, meses o años queremos que se repita el mailing.\nUna vez vistas la totalidad de opciones de forma teórica, ha llegado el momento de ver unos ejemplos prácticos para ver que es mucho más fácil de lo que parece.\nEjemplo de envío con el modo Send Now Si seleccionamos las opciones que se muestran en la captura de pantalla, en el momento que presionemos el botón Aceptar se enviarán 10 mails. Los emails se enviarán cada 30 segundos, y los usuarios a los que se enviará el mail serán aquellos que están entre la posición 10 y 20 de nuestra base de datos.\nEjemplo de envío con el modo Send Later Si seleccionamos las opciones que se muestran en la captura de pantalla, en el momento que presionemos el botón Aceptar cada 120 segundos aparecerá un mail nuevo en la bandeja de salida listo para salir.\nUna vez tengamos la bandeja de salida llena con los 20 emails que queremos enviar a los 20 primeros usuarios de nuestra base de datos, tal y como se puede ver en la captura de pantalla, deberemos acceder al menú Archivo y a posteriori clicar en la opción Procesar mensajes no enviados.\nUna vez seleccionada esta opción se enviarán la totalidad de mails a sus destinatarios.\nNota: Esta opción resulta útil para asegurarnos que el mail preparado se puede visualizar de forma correcta por parte de los destinatarios, ya que permite visualizar el mail que enviaremos antes de enviarlo. Ejemplo de envío con el modo Send as a Draft Si seleccionamos las opciones que se muestran en la captura de pantalla, en el momento que presionemos el botón Aceptar cada 30 segundos aparecerá un mail nuevo en la carpeta borradores de nuestro correo electrónico.\nUna vez tengamos la carpeta borradores llena con los 20 emails que queremos enviar a los 20 primeros usuarios de nuestra base de datos, tan solo tenemos que esperar hasta que lleguen las 15:40 horas del día 15/04/2015. En el momento que sean las 15:40 horas de la tarde del mencionado día, los 20 primeros usuarios de nuestra base de datos recibirán un mail.\nEjemplo de envío con el modo Send as a Draft indicando una periodicidad de envío Si seleccionamos las opciones que se muestran en la captura de pantalla, en el momento que presionemos el botón Aceptar cada 30 segundos aparecerá un mail nuevo en la carpeta borradores de nuestro correo electrónico.\nUna vez tengamos la carpeta borradores llena con los 20 emails que queremos enviar a los 20 primeros usuarios de nuestra base de datos, tan solo tenemos que esperar hasta que lleguen las 15:40 horas del día 15/04/2015. En el momento que sean las 15:40 horas de la tarde del mencionado día, los 20 primeros usuarios de nuestra base de datos recibirán un mail. Además cada 2 semanas a partir de la fecha 15/04/2015 a las 15:40 se repetirá el envío de mails a los 20 primeros usuarios de nuestra base de datos.\nRESULTADO OBTENIDO Una vez enviados los correos tan solo falta comprobar que están recibiendo los los receptores del mail. Así por lo tanto supongamos uno de los clientes recibe el mail. Justo en el momento de abrirlo verá el siguiente contenido:\nPor lo tanto podemos estar tranquilos porqué el mailing ha sido completamente satisfactorio.\nPRECAUCIONES QUE HAY QUE TENER Las precauciones que debemos tener usando el sistema detallado en este artículo son obvias y son las siguientes:\nNo es aconsejable realizar un envío masivo de correos electrónicos usando cuentas gratuitas de gmail, yahoo, hotmail, etc. Las cuentas gratuitas poseen limitaciones, y una de estas limitaciones es el número de mails que se pueden enviar por día. Si superamos los límites establecidos de nuestra cuenta de correo se bloqueará. A modo de ejemplo, las limitaciones de las cuentas de correo de gmail son las podéis consultar en el siguiente enlace. En el caso de querer realizar los mailing uno mismo lo mejor es contratar un servicio de smtp dedicado. La linea que separa el envío masivo de emails y el spam es fina. Por lo tanto conviene no abusar del envío de mailings y hacer el envío de forma progresiva. Nuestro servidor lo agradecerá y además el peligro que nuestra cuenta de correo sea considerada spammer será mucho menor. En el caso de realizar un mailing comercial, o envío de correos de correos masivos, hay que informar debidamente a los destinatarios del mail, aunque sea en letra pequeña. Además al usuario hay que darle herramientas para que en caso que lo desee pueda solicitar no recibir más correos de forma masiva. Cada mailing que se haga hay que analizar y ver los correos que han llegado a su destinatario y cuales no. De esta forma podremos detectar que direcciones de nuestra base de datos son incorrectas. Las direcciones incorrectas hay que borrarlas de nuestra base de datos ya que si enviamos muchos mails a direcciones inexistentes corremos el peligro que nuestra cuenta de correo sea detectada como Spam. Los correos que se envíen deben contener una cantidad importante de texto y hay que evitar poner archivos adjuntos e incrustar imágenes. Si la relación entre texto/imagen es baja es posible que nuestro correo electrónico sea considerado spam. ","permalink":"https://geeklandlinux.github.io/posts/realizar-un-mailing-con-thunderbird/","summary":"\u003cp\u003eEn el siguiente post detallaré como realizar un mailing o envío de correos masivos con el gestor de correo Thunderbird. El proceso que veremos no es el mas extendido para realizar un mailing en un entorno profesional, pero aplicando la metodología descrita en este post conseguiremos realizar un mailing sin tener que depender de aplicaciones/servicios de terceros como por ejemplo el archiconocido \u003ca href=\"http://mailchimp.com/\" title=\"Servicio Web para hacer mailings\"\u003eMailchimp\u003c/a\u003e, \u003ca href=\"http://www.maxprog.com/site/software/internet-marketing/mass-bulk-emailer_sheet_es.php\" title=\"Software para el envío de mailings\"\u003eMax Bull mailer\u003c/a\u003e, etc.\u003c/p\u003e","title":"Realizar un mailing con Thunderbird"},{"content":"Obviamente para redactar un documento básico no es necesario trabajar con los estilos, ni realizar Índices de contenido automáticos y numerados, ni muchas otras operaciones que realizaríamos en documentos y trabajos que tienen mayor envergadura.\nPero si tenéis que hacer documentos extensos como por ejemplo proyectos de final de carrera universitaria, proyectos de máster, informes laborales extensos, etc, el hecho de usar un índice de contenido automático y numerado, y jugar con los estilos y niveles, os puede ahorrar muchas horas de trabajo y muchos dolores de cabeza. Además la presentación del trabajo o documento será siempre excelente.\nPor lo tanto quien quiera optimizar su forma de trabajar, le aconsejo encarecidamente que utilice los índices de contenido automáticos y numerados que nos proporcionan herramientas ofimáticas como Libreoffice Writer o Microsoft Word.\nPara realizar un índice de contenido automático y numerado en Libreoffice Writer, tan solo hay que seguir los siguientes pasos:\nSELECCIONAR LOS ESTILOS PARA EL ÍNDICE DE CONTENIDO Lo primero a realizar es abrir un Documento en blanco y definir los estilos y niveles que queremos usar. En mi caso prepararé un documento para usar 4 Estilos y 4 Niveles.\nPara ver los estilos disponibles, podemos ir al menú Formato y seguidamente seleccionar la opción Estilos y formato. Otra opción para acceder a los estilos disponibles es presionar la tecla F11. Después de acceder al al menú de Estilos y formato, tal y como se puede ver en la captura de pantalla, podremos ver la totalidad de estilos disponibles.\nDespués de ver la totalidad de estilos disponibles voy a seleccionar los 4 estilos que voy a usar. En mi caso los estilos seleccionados son:\nEncabezado 1, que usaré para el nivel 1. Encabezado 2, que usaré para el nivel 2. Encabezado 3, que usaré para el nivel 3. Encabezado 4, que usaré para el nivel 4. Para ver el formato de cada uno de los estilos, tal y como podemos ver en la captura de pantalla, hacemos doble click encima del estilo que queramos comprobar.\nUna vez seleccionado el estilo, tal y como se puede ver en la captura de pantalla, escribimos una frase de prueba para ver el formato que tiene el estilo que hemos seleccionado.\nRepetimos el mismo procedimiento para poder ver el formato de los estilos Encabezado 2, Encabezado 3 y Encabezado 4. El resultado de repetir el proceso es el que se muestra en la siguiente captura de pantalla:\nMODIFICAR EL FORMATO DE LOS ESTILOS Si el formato de los estilos seleccionados nos parece bien, podemos omitir este punto y podemos pasar al siguiente. No obstante en mi caso, tal y como se puede ver en la última captura de pantalla, los estilos Encabezado 3 y Encabezado 4 tienen la letra de color gris, y además el Encabezado 4 y tiene el estilo de letra cursiva.\nPara modificar estos dos aspectos es sumamente fácil. Tan solo tenemos que ir a la ventana Estilos y formato, seguidamente, tal y como se puede ver en la captura de pantalla, seleccionamos el estilo que queremos modificar, presionamos el botón derecho del ratón y seguidamente ejecutamos la opción Modificar\u0026hellip; del menú contextual.\nDespués de presionar en la opción Modificar\u0026hellip; aparecerá la siguiente ventana:\nEsta ventana dispone de distintas pestañas. En cada una de las pestañas se pueden modificar diferentes aspectos del formato del estilo que estamos modificando. En mi caso como quiero modificar el color, tal y como se puede ver en la captura de pantalla, vamos a la pestaña Efectos tipográficos, y en el apartado color de letra podremos cambiar el color de gris a negro. Una vez hayamos cambiado todos los parámetros que deseemos presionamos el botón Aceptar.\nUna vez modificado el estilo Encabezado 3, modificaremos el estilo Encabezado 4 y el resto de estilos, del mismo modo que modificamos el estilo Encabezado 3.\nDespués de modificar los Estilos Encabezado 3 y Encabezado 4 a nuestro gusto,el formato de nuestros estilos pasará a ser el siguiente:\nUna vez tengamos los estilos a nuestro gusto ya podemos pasar al siguiente apartado.\nCONFIGURAR LA NUMERACIÓN DE LOS ESTILOS El siguiente paso es configurar la numeración de los estilos que queremos usar. Para configurar la numeración de los estilos, nos vamos al menú Herramientas y seguidamente seleccionamos la opción Numeración de capítulos\u0026hellip; del menú contextual. Después de seleccionar esta opción aparecerá la siguiente ventana:\nEn esta ventana, para cada uno de los 4 niveles que queremos disponer, tendremos que seleccionar:\nEl estilo de párrafo que queremos usar. El estilo de numeración que queremos aplicar El número de subniveles que queremos mostrar. En mi caso las opciones seleccionadas para cada uno de los 4 niveles son las siguientes:\nTal y como se puede ver en la captura de pantalla, en el Nivel 1 he seleccionado el estilo de párrafo Encabezado 1, y el estilo de numeración 1, 2, 3, …\nNota: En el Nivel 1 no es posible configurar la opción mostrar subniveles ya que que al estar en el Nivel 1 no existirán subniveles. Una vez hayamos terminado de configurar las opciones del nivel 1 ya podemos configurar las opciones del Nivel 2. Para ello seleccionamos el nivel 2 clicando encima del número 2 del apartado Nivel.\nUna vez seleccionado el nivel 2, tal y como se puede ver en la captura de pantalla, configuramos que el estilo de párrafo del nivel 2 sea Encabezado 2, el estilo de numeración 1, 2, 3, …, y finalmente que se muestre 1 subnivel de numeración cuando insertemos el estilo encabezado 2.\nUna vez hemos terminado con el nivel 2 seleccionamos el nivel 3. Una vez seleccionado el nivel 3, configuramos que el estilo de párrafo del nivel 3 sea Encabezado 3, el estilo de numeración 1, 2, 3, …, y finalmente que se muestren 2 subniveles de numeración cuando insertemos el estilo encabezado 3.\nFinalmente solo nos falta configurar el último nivel. Para ello seleccionamos el Nivel 4. Una vez lo hemos seleccionado, tal y como se puede ver en la captura de pantalla, configuramos que el estilo de párrafo del nivel 4 sea Encabezado 4, el estilo de numeración 1, 2, 3, …, y finalmente que se muestren 3 subniveles de numeración cuando insertemos el estilo Encabezado 4.\nUna vez hemos terminado con el nivel 4 el proceso ha terminado. Una vez terminado el proceso presionamos sobre el botón Aceptar. En estos momentos ya hemos terminado de configurar los estilos y la numeración de los estilos.\nNota: En el caso que necesitéis más de 4 estilos y más de 4 niveles, podéis definir más siguiendo las mismas pautas que se detallan en este artículo. REDACTAR EL DOCUMENTO USANDO LOS ESTILOS CREADOS Una vez configurados los estilos y la numeración de los estilos, ya podemos empezar a redactar el documento. Imaginemos que queremos redactar un documento que contenga la siguiente estructura de índice:\n1 Equipos de fútbol españoles\n1.1 F.C Barcelona 1.1.1 Secciones del F.C Barcelona 1.1.1.1 Baloncesto 1.1.1.2 Fútbol\n1.2 Real Madrid 1.2.1 Secciones del Real Madrid 1.2.1.1 Baloncesto 1.2.1.2 Fútbol\n2 Equipos de fútbol Ingleses\n2.1 Manchester United 2.1.1 Secciones del Manchester United 2.1.1.1 Baloncesto 2.1.1.2 Fútbol\n2.2 Arsenal 2.2.1 Secciones del Arsenal 2.2.1.1 Baloncesto 2.2.1.2 Fútbol\nEmpezaremos creando el primero de los títulos del documento, y que además deberá aparecer en el índice. Para crearlo tal y como se puede ver en la captura de pantalla, tenemos que clicar encima del desplegable Aplicar estilo. Se abrirá el desplegable, y tal y como se puede ver en la captura de pantalla, tendremos que seleccionar el estilo Encabezado 1 ya que el título principal que queremos escribir corresponde al nivel 1.\nUna vez seleccionado el estilo Encabezado 1, tal y como se puede ver en la captura de pantalla, ya podemos escribir el primero de los títulos que se escribirá con el estilo Encabezado 1.\nUna vez escrito el título presionamos Enter y seguidamente podemos empezar a escribir el contenido de este apartado. Una vez hayamos terminado de escribir el contenido del primer apartado ya podemos iniciar el segundo apartado.\nEl título del segundo apartado, en mi caso corresponde al nivel 2. Por lo tanto, tal y como se puede ver en la captura de pantalla, tenemos que clicar encima del menú desplegable Aplicar Estilo. Seguidamente se abrirá el desplegable, y a diferencia del apartado anterior, en este caso tendremos que seleccionar el estilo Encabezado 2, ya que como hemos dicho anteriormente, el título del apartado que estamos insertando corresponde al nivel 2.\nUna vez seleccionado el estilo Encabezado 2, tal y como se puede ver en la captura de pantalla, ya podemos escribir el título del apartado y el contenido del apartado 2.\nDe este mismo modo tendremos que ir creando los títulos y contenido para el resto de puntos de nuestro documento. Cuando terminemos de redactar el documento será el momento de insertar/crear el índice de contenido.\nINSERTAR EL ÍNDICE DE CONTENIDO Una vez hemos finalizado nuestro trabajo ya solo nos falta crear el Índice de contenido. Para ello nos iremos a la primera página del documento que es donde queremos insertar el índice. Una vez estamos allí tendremos que acceder al menú Insertar. Al acceder en este menú se desplegará un submenú en el que tendremos que seleccionar la opción Índice y tablas, y finalmente de desplegará otro submenú en el que tendremos que seleccionar la opción Índices. Una vez seleccionada la opción Índices aparecerá la siguiente ventana:\nEn esta ventana prácticamente no tenemos que modificar nada ya que la configuración por defecto es la que tenemos que usar para poder crear el índice de contenido. Los únicos parámetros que es posible que necesitéis modificar son los siguientes:\nTítulo: En este apartado tenéis que poner el título que queréis que tenga el índice de contenido. En mi caso el título por defecto, que es índice de contenido, ya me parece bien.\nProtegido contra cambios manuales: Aconsejo tildar esta opción. De esta forma el índice que insertaremos estará protegido contra cambios manuales/accidentales.\nEl resto de campos que no he citado, tenéis que dejar los valores por defecto. Aconsejo que comprobéis que sean los mismos que se muestran en la captura de pantalla de este apartado.\nNo obstante para los curiosos, y para los que les gusta probar todas las opciones, si quieren pueden modificar los siguientes apartados:\nPara: En este ejemplo, como queremos realizar el índice de contenido de todo el documento tenemos que seleccionar la opción Todo el documento. Si solo quisiéramos insertar el índice de un capítulo, podríamos seleccionar la opción Capítulo.\nEvaluar hasta el nivel: En este punto se definen los niveles que queremos que aparezcan en el índice. En nuestro caso solo usamos 4 niveles por lo tanto en esta celda podemos usar cualquier valor igual o superior a 4. En el caso que estuviéramos usando 10 niveles y solo quisiéramos que aparecieran 6 en el índice, tendríamos que seleccionar el valor 6 en este apartado.\nEsquema: Esta opción tiene que estar tildada. Estando tildada hacemos que en el índice aparezcan la totalidad de niveles definidos en en el apartado de numeración de los estilos. Si desmarcamos esta opción, el índice saldrá en blanco a no ser que incluíamos nuestros estilos en en el apartado Estilos Adicionales.\nEstilos Adicionales: En el caso que queramos que en el índice aparezcan apartados adicionales a los definidos en la numeración de estilo, lo podemos hacer activando y configurando esta opción.\nMarcas de índice: Si tildamos esta opción, en el índice aparecerá la totalidad de texto que hayamos marcado de cualquiera de los párrafos. Para marcar un texto tan solo tenemos que seleccionar el texto que queramos marcar, una vez seleccionado tenemos que acceder al menú Insertar, dentro del menú insertar tenemos que seleccionar la opción Índices. Finalmente dentro del menú Índices tenemos que ejecutar la opción Entrada.\nUna vez se hayan configurado la totalidad de opciones ya podemos presionar el botón Aceptar. Después de presionar el botón Aceptar, tal y como se puede ver en la captura de pantalla, el índice de contenido se insertará en el documento:\nSi miran la captura de pantalla, observaran que se trata de un índice con hiperenlaces. Por lo tanto si posicionamos el puntero del mouse encima de uno de los apartados, y presionamos la tecla (Ctrl + clic en el botón izquierdo del mouse), veremos que automáticamente podremos ver y editar el contenido de este apartado.\nMODIFICAR EL ASPECTO Y EL FORMATO DEL ÍNDICE Una vez insertado el índice es posible que no nos guste su formato, o que queramos pulir ciertos aspectos. Si este es vuestro caso pueden aplicar los siguientes consejos:\nModificar la estructura del índice Si nos fijamos en el índice que acabamos de insertar, vemos que la numeración de cada apartado sale pegada al texto. Para solucionar este problema posicionamos el puntero del mouse encima del índice, presionamos el botón derecho del mouse, después de presionar el botón derecho del mouse aparecerá un menú contextual en el que deberemos clicar la opción Editar índice/tabla. Una vez clicada está opción volverá a aparecer la ventana de configuración de insertar Índice o tabla. En la ventana Índice o tabla tendremos que clicar encima de la pestaña Entradas. Una vez hayamos clicado encima de esta pestaña aparecerá la siguiente ventana:\nPara solucionar el problema de que los números salen pegados al título, tal y como se puede en la captura de la pantalla, tendremos que introducir el carácter – (guión + espacio), en la celda del Apartado Estructura y formato que está entre E#· y E. Una vez realizado este paso para para el nivel 1, lo deberemos repetir para el nivel 2, el nivel 3 y el nivel 4. Una vez modificados los 4 niveles presionaremos el botón Aceptar y veremos que el problema ya se ha solucionado.\nAparte de solucionar el problema que acabamos de mencionar, la pestaña Entradas sirve para modificar la estructura que tendrá cada una de las líneas de nuestro índice. La configuración estándar es perfecta. No obstante si alguien lo considera necesario, en esta pestaña se pueden modificar ciertos aspectos como por ejemplo sacar los hiperenlaces del índice, configurar las tabulaciones de las lineas del índice, introducir o sacar la numeración de los aparatados del índice, introducir o sacar la numeración de página de cada uno de los apartados del índice, etc.\nModificar los estilos del índice En el caso que no nos guste el tipo de letra, las tabulaciones, las alineaciones o cualquier otro aspecto del formato del índice lo podemos modificar fácilmente.\nPara ello posicionamos el puntero del mouse encima del índice, presionamos el botón derecho del mouse, después de presionar el botón derecho del mouse aparecerá un menú contextual en el que deberemos clicar la opción Editar índice/tabla. Una vez clicada está opción volverá a aparecer la ventana de configuración de insertar Índice o tabla. En la ventana Índice o tabla tendremos que clicar encima de la pestaña Estilos. Una vez hayamos clicado encima de esta pestaña aparecerá la siguiente ventana:\nEn el apartado Niveles veremos el nombre del estilo que se aplica a cada uno de los niveles del índice.\nPor lo tanto si queremos modificar alguno de los estilos, como por ejemplo, el estilo Encabezado del índice, tal y como se puede ver en la captura de pantalla, tenemos que irnos al apartado Estilos de párrafo, seleccionar el estilo que queremos modificar, que en mi caso es Encabezado del índice, y seguidamente una vez seleccionado presionamos el botón Editar. Después de presionar el botón editar aparecerá la siguiente ventana:\nComo se puede ver en la captura de pantalla, esta ventana dispone de distintas pestañas. En cada una de las pestañas se pueden modificar diferentes aspectos del formato del estilo que estamos modificando. Algunos de los aspectos del formato que podemos modificar son el color de la letra, el tamaño de la letra, el color de fondo de la letra, que se escriba siempre en mayúsculas, las tabulaciones, las sangrías y espaciados, etc.\nEn mi caso lo único que quiero modificar es la alineación del estilo Encabezado del índice, ya que actualmente sale justificado a la izquierda y quiero que el título del índice esté centrado. Para ello, tal y como se puede ver en la captura de pantalla, clicamos encima de la pestaña Alineación, y en opciones seleccionamos la opción Centro. Una vez realizada está modificación tan solo hay que presionar el botón Aceptar.\nUna vez modificado el estilo Encabezado del índice, tan solo hace falta modificar del mismo modo el resto de estilos que conforman el índice. Una vez tengamos a nuestro gusto los estilos Encabezado del índice, Índice 1, Índice 2, Índice 3 e Índice 4, el proceso habrá terminado.\nPresentación del índice en columnas El índice se presenta en una sola columna. Si queremos presentar el índice en más de una columna lo podemos realizar de forma muy fácil. Tan solo posicionamos el puntero del mouse encima del índice, presionamos el botón derecho del mouse, después de presionar el botón derecho del mouse aparecerá un menú contextual en el que deberemos clicar la opción Editar índice/tabla. Una vez clicada está opción volverá a aparecer la ventana de configuración de insertar Índice o tabla. En la ventana Índice o tabla tendremos que clicar encima de la pestaña Columnas. Una vez hayamos clicado encima de esta pestaña aparecerá la siguiente ventana:\nEn la pestaña columnas, tal y como se puede ver en la captura de pantalla, tan solo tenemos que seleccionar el número de columnas que queremos, que en mi caso son 2, y el espaciado entre columnas, que en mi caso quiero que sea sea 0,8 cm.\nUna vez seleccionados estos valores el proceso ha finalizado, y tan solo tenemos que presionar el botón Aceptar para que se apliquen los cambios.\nResultado final de las modificaciones Una vez aplicados la totalidad de cambios tan solo nos falta ver el resultado final. El resultado final en mi caso es el que se muestra a continuación:\nComo pueden ver en la captura de pantalla, si comparamos el primer índice que insertamos, y el resultado final, podremos observar que se han aplicado todas y cada una de las modificaciones de formato que queríamos realizar.\nINTRODUCIR MODIFICACIONES EN EL ÍNDICE INSERTADO En apartados anteriores seleccionamos la opción de proteger el índice contra cambios accidentales/manuales. Por lo tanto una vez elegida esta opción es imposible introducir modificaciones manuales en el índice de forma accidental.\nSi elegimos esta opción la forma de modificar el índice de contenido es la siguiente:\nSi queremos introducir cambios tenemos que modificar directamente los apartados u opciones de configuración de los estilos. Así por lo tanto, si ahora decidimos que el documento no queremos que contenga información de los equipos Real Madrid y Arsenal, tan solo tenemos borrar todo el contenido referente al Real Madrid y al Arsenal del documento.\nUna vez eliminado el contenido, tal y como se puede ver en la captura de pantalla, nos vamos al índice, posicionamos el puntero del ratón encima del índice, presionamos el botón izquierdo del mouse y cuando aparezca el menú contextual presionamos sobre Actualizar índice/tabla.\nTan solo realizando esta simple operación hemos modificado/actualizado nuestro índice.\n¿ES NECESARIO REPETIR ESTOS PASOS EN TODOS LOS DOCUMENTOS QUE CREAMOS? Obviamente no es necesario repetir los pasos descritos en este artículo cada vez que generamos un documento.\nMi recomendación para no tener que repetir siempre los mismos pasos, es que guarden el documento que contiene los estilos del índice definidos en la carpeta plantillas. De esta forma cada vez que necesitemos crear un documento, lo podremos realizar a partir de un documento que ya tenga definidos los estilos. Para obtener más información acerca del funcionamiento de la carpeta plantillas pueden consultar el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/usar-la-carpeta-plantillas-en-linux/\nCONCLUSIONES FINALES Obviamente en el ejemplo realizado en este artículo no ganamos mucho tiempo por el hecho de automatizar la realización del índice de contenido. No obstante existen casos en que el índice de contenido de un documento puede llegar a tener fácilmente una extensión de 6 o 7 páginas. En estos casos es cuando sacaremos verdadero partido al hecho de poder generar índices de contenido automáticos y numerados ya que estaremos obteniendo los siguientes beneficios:\nLa numeración y el texto de cada uno de los puntos siempre será la correcta ya que la numeración y el texto sale de forma automática. Ahorraremos tiempo ya que no tendremos que buscar en que página está cada uno de los títulos. Ahorraremos tiempo ya que no tendremos que ir página por página mirando que título hemos puesto en cada uno de los apartados. Podremos acceder y modificar los apartados del índice más rápidamente ya que cada uno de los títulos del índice contiene un hiperenlace hacia nuestro contenido. Por lo tanto usando los índices de contenido sin duda conseguiremos incrementar enormemente la productividad y la calidad de los informes redactados.\n","permalink":"https://geeklandlinux.github.io/posts/indice-de-contenido-automatico/","summary":"\u003cp\u003eObviamente para redactar un documento básico no es necesario trabajar con los estilos, ni realizar Índices de contenido automáticos y numerados, ni muchas otras operaciones que realizaríamos en documentos y trabajos que tienen mayor envergadura.\u003c/p\u003e","title":"Realizar un índice de contenido automático con Libreoffice"},{"content":"Seguro que gran parte de los usuarios se habrá fijado que en su partición home existe una carpeta que se llama Plantillas (Templates en Inglés). El uso de la carpeta plantillas sin duda es más que interesante. Por este motivo he decido escribir un breve post detallando el uso que podemos dar a la carpeta plantillas.\nPARA QUE SIRVE LA CARPETA PLANTILLAS La carpeta plantillas sirve para almacenar plantillas de nuestros documentos. Una vez estén almacenadas la plantillas, las podremos usar de forma muy fácil y muy rápida para crear nuevos documentos en base a la plantillas que tenemos almacenadas. De esta forma conseguiremos incrementar la productividad en nuestras tareas.\n¿QUÉ TIPO DE PLANTILLAS PODEMOS CREAR? Existen multitud de tipos de plantilla que podemos crear. Para cada formato de archivo podremos crear diversas plantillas. Ejemplos de plantillas que se acostumbran a crear habitualmente son las siguientes:\nPlantillas para cada uno de los programas que conforman la suite ofimática de Libreoffice. De esta forma cuando se cree un nuevo documento a partir de una plantilla, tendrá el tipo de letra que nosotros queramos, los margenes que nosotros queramos, las cabeceras que nosotros queramos, un texto predeterminado en el encabezado y/o pie de página, un logo en el encabezado de la página, un texto predeterminado en el cuerpo del documento, etc. Plantillas para poder crear scripts en bash, phyton, javascript, o en cualquier otro lenguaje de programación. De está forma podemos crear archivos para programar en un determinado lenguaje sin la necesidad de tener que añadir ciertas librerías y cuerpos de algoritmo que siempre se acostumbran a usar. Plantillas para poder crear documentos con extensión .txt, o documentos en blanco de forma fácil e instantánea. En definitiva podemos crear plantillas para todo tipo de archivos existentes como por ejemplo archivos .xcf de gimp, archivos .svg en inkscape, etc. Nota: En este punto cada uno sabrá las plantillas que le conviene crear. En este post he detallado las que en mi caso considero que son de mayor utilidad. CREAR PLANTILLAS EN LA CARPETA PLANTILLAS Crear plantillas en el caso de usar Thunar, Nautilus o PcmanFM Para empezar a usar la carpeta plantillas, lo primero que tenemos que realizar es crear una o varias plantillas. Imaginemos que tenemos una inmobiliaria y tenemos varios tipos de contrato:\nContrato de Arrendamiento Contrato de Compraventa Lo primero que tenemos que hacer es localizar estos contratos. Una vez localizados los contratos los abrimos y los acondicionamos a nuestro gusto para que a posteriori los podamos usar como plantilla sin problemas. En mi caso, tal y como se puede ver en la captura de pantalla, he puesto en color azul la totalidad de datos que son variables dentro del contrato.\nDe este modo cuando cree el contrato a partir de la plantilla, podré saber los datos que tengo que preguntar a los clientes y modificarlos de forma muy rápida.\nUna vez estamos a gusto con nuestras plantillas, tal y como se puede ver en la captura de pantalla, las tenemos que copiar en carpeta Plantillas (~/Plantillas):\nUna vez realizado este simple paso ya tenemos dos plantillas creadas.\nNota: Vosotros podéis crear las plantillas que vosotros queráis/necesitéis. Por ejemplo podéis crear una plantilla de Word/Writer que contenga unos estilos predeterminados, un tipo de letra predeterminado, un logo de nuestra de empresa, etc. Crear plantillas en el caso de usar Dolphin En el caso que estemos usando Dolphin en Kde, el proceso para crear las plantillas es un poco más laborioso.\nLos primeros pasos pasos a realizar son exactamente los mismos que acabamos de ver descritos en el apartado anterior. Imaginaremos que tenemos una inmobiliaria y tenemos varios tipos de contrato:\nContrato de Arrendamiento Contrato de Compraventa Lo primero que tenemos que hacer es localizar estos contratos. Una vez localizados los contratos los abrimos y los acondicionamos a nuestro gusto para que a posteriori los podamos usar como plantilla sin problemas. Una vez modificados los contratos, tal y como se puede ver en la captura de pantalla, los copiamos dentro de la carpeta Plantillas (~/Plantillas).\nUna vez realizados estos pasos, en Nautilus, Thunar y PcmanFM el proceso habría finalizado, pero si usamos Dolphin además deberemos añadir los siguientes pasos:\nPrimero tendremos que crear la carpeta templates dentro de la ubicación .kde/share. Para ello abrimos una terminal y tecleamos el siguiente comando:\nmkdir ~/.kde/share/templates Nota: En algunas distros, como por ejemplo archlinux, la ruta en que hay que crear la carpeta templates es probable que sea ~/.kde4/share Seguidamente dentro de la ubicación que acabamos de crear tenemos que crear y editar un archivo, que en mi caso será compraventa.desktop. Para ello abrimos una terminal y tecleamos el siguiente comando:\nnano ~/.kde/share/templates/compraventa.desktop Nota: En algunas distros, como por ejemplo archlinux, la ruta en que hay que crear el archivo compraventa.desktop es posible que sea ~/.kde4/share/templates Nota: En mi caso el nombre del archivo creado es compraventa.desktop. Vosotros podéis usar el nombre que más os guste o el primero que os pase por la cabeza. Después de ejecutar el último comando se abrirá editor de texto nano. Dentro del editor de texto nano deberemos introducir el código que podéis ver en la siguiente captura de pantalla:\nEs interesante entender el código que contiene el archivo compravetna.desktop. De este modo podremos crear nuevas entradas en el menú contextual siempre que queramos. Por lo tanto a continuación mostramos el significado de cada una de las líneas del archivo.\nLa primera línea del archivo es la siguiente:\n[Desktop Entry] Esta línea siempre será la misma y su función es indicar que estamos definiendo una entrada de escritorio.\nLa segunda línea del archivo compraventa.desktop es esta:\nName=Plantilla compraventa En mi caso elijo Plantilla compraventa como valor de la variable Name. Vosotros podéis poner el valor/nombre que queráis. La variable Name es el nombre que tendrá la plantilla, y por lo tanto será el nombre que aparecerá en el menú contextual Crear Documento.\nLa tercera línea del archivo es la siguiente:\nComment=Escriba el nombre que quiere que tenga el nuevo archivo En el campo Comment podemos escribir la frase, letra o palabra que queremos. En mi caso siempre pongo Escriba el nombre que quiere que tenga el nuevo archivo, ya que lo que pongamos en el campo Comment, es la frase que aparece en la ventana que aparece cuando se nos pide que nombre queremos que tenga el archivo que creamos a partir de la plantilla.\nLa cuarta línea del archivo compraventa.desktop es:\nType=Link En este caso tenemos tres posible tipos a definir. Application, Link y Directory. En nuestro caso, para configurar la plantilla deberemos seleccionar siempre el tipo Link.\nLa quinta línea del archivo es la siguiente:\nURL=/home/joan/Plantillas/Contrato Compraventa vivienda.doc En el campo URL tenemos que indicar la ubicación exacta donde hemos guardado nuestra plantilla. En mi caso la ubicación de la plantilla es /home/joan/Plantillas/Contrato Compraventa vivienda.doc\nFinalmente la última línea del archivo compraventa.desktop es la siguiente:\nIcon=/usr/share/icons/default.kde4/48x48/aps/kword.png En la variable Icon tenemos que indicar la ruta del icono que queramos que aparezca dentro del menú contextual Crear Documento. En mi caso he indicado la ruta para que aparezca el icono kword.png. Vosotros podéis seleccionar el icono y la ruta que queráis.\nUna vez introducido el código podemos guardar los cambios en el archivo compraventa.desktop y cerrar el archivo. El proceso para la creación de la primera de las plantillas ha finalizado.\nAhora tan solo tendríamos que repetir el proceso para crear la segunda de las plantillas para el contrato de Arrendamiento creando y configurando un nuevo archivo, que se podría llamar arrendamiento.desktop.\nCOMO USAR LA CARPETA PLANTILLAS Una vez creadas las plantillas ya podemos empezar a usarlas. Ahora imaginemos que llega un cliente que acaba de comprar un piso y tenéis que redactar el contrato de compraventa. Una forma rápida para empezar a trabajar en el contrato es la siguiente:\n1- Tal y como se puede ver en la captura de pantalla nos vamos a la ubicación en la que queremos guardar el contrato. Una vez en la ubicación, tal y como se puede ver en la captura de pantalla, presionamos el botón derecho del mouse y seleccionamos la opción Crear documentos del menú contextual. Una vez seleccionada la opción, tal y como se puede ver en la captura de pantalla, aparecerán la totalidad de plantillas que tenemos almacenadas. En nuestro caso, como queremos redactar un contrato de compraventa, seleccionaremos la plantilla Contrato Compraventa vivienda.doc y presionaremos el botón izquierdo del mouse.\n2- Después de presionar el botón izquierdo del mouse, aparecerá una ventana en la que tenemos que definir el nombre que queremos que tenga el archivo del contrato que queremos redactar. En mi caso, tal y como se puede ver en la captura de pantalla, elijo el nombre Gómez Pereira y presiono el botón Crear.\n3- Después de presionar el botón crear, se creará el archivo Gómez Pereira.doc. Si abrimos el archivo nos encontraremos con algo parecido a lo que podemos ver en la siguiente imagen:\nComo se puede ver en la captura de pantalla, en el archivo que hemos creado y acabamos de abrir, aparece exactamente el mismo contenido de la plantilla que creamos en el apartado anterior. Por lo tanto para redactar el contrato tan solo tendremos que modificar las partes que se muestran en color azul.\nDe este modo, con el uso de la carpeta plantillas, conseguimos incrementar la productividad y eficiencia en los distintos trabajos que realizamos con nuestro ordenador.\n","permalink":"https://geeklandlinux.github.io/posts/usar-la-carpeta-plantillas-en-linux/","summary":"\u003cp\u003eSeguro que gran parte de los usuarios se habrá fijado que en su partición home existe una carpeta que se llama Plantillas (Templates en Inglés). El uso de la carpeta plantillas sin duda es más que interesante. Por este motivo he decido escribir un breve post detallando el uso que podemos dar a la carpeta plantillas.\u003c/p\u003e","title":"Usar la carpeta plantillas en Linux"},{"content":"Para finalizar la serie de posts que hablan sobre Whisker menu hablaremos una de las funcionalidades más sorprendentes, interesantes y desconocidas que ofrece Whisker Menu. Estoy hablando de las acciones búsqueda, o search actions en Inglés.\n¿QUÉ ES UNA ACCIÓN DE BÚSQUEDA? El campo de búsqueda de Whisker menu no solo sirve para buscar y ejecutar aplicaciones que tenemos instaladas en nuestro ordenador. El campo de búsqueda también lo podemos usar para ejecutar acciones de búsqueda que nosotros mismos podemos configurar.\nEjemplos de acciones búsqueda que podemos configurar y usar con Whisker menu son las siguientes:\nBuscar canciones en Grooveshark desde el menú de búsqueda de whisker menu. Buscar canciones en Spotify web desde el menú de búsqueda de whisker menu. Buscar vídeos en Youtube a través del cuadro de búsqueda de whisker menu. Realizar búsquedas en Google, Duckduckgo, o cualquier otro buscador desde el cuadro de búsqueda de Whisker menu. Buscar archivos y carpetas almacenados en nuestro disco duro desde el cuadro de búsqueda de Whisker menu. Realizar búsquedas en la wikipedia, o incluso en mi blog usando del cuadro de búsqueda de Whisker menu. Abrir cualquier página web a través del cuadro de búsqueda de whisker menu. Buscar imágenes en el buscador de Google a través del cuadro de búsqueda de Whisker menu. Lanzar comandos a la terminal a través del cuadro de búsqueda de whisker menu. Nota: Existen muchos más tipos de acciones de búsqueda que podemos aplicar. Tan solo tenemos que usar nuestra imaginación e intentar buscar la forma de implementar la acción. Si alguien quiere realizar aportar otros ejemplos de acciones de búsqueda lo puede hacer a través de los comentarios de este post. CREAR Y CONFIGURAR ACCIONES DE BÚSQUEDA O SEARCH ACTIONS En este apartado mostraremos como podemos crear nuestras propias acciones de búsqueda. Para entender como funcionan las acciones de búsqueda, y para ver como crearlas lo haremos mediante los siguientes ejemplos:\n1- Buscar vídeos de youtube a través de whisker menu Lo primero que tenemos que realizar es acceder al apartado donde tenemos que configurar las acciones de búsqueda. Para ello posicionamos el puntero del mouse encima del icono de whisker menu. Tal y como podemos ver en la captura de pantalla, presionamos el botón derecho del mouse y seleccionamos la opción Propiedades:\nSeguidamente aparecerá una ventana en la que tenemos que seleccionar la pestaña de Acciones de búsqueda. En estos momentos ya podemos empezar la configuración de la acción de búsqueda. Para ello presionamos el botón +. Una vez hayamos presionado el botón +, deberemos rellenar los campos Nombre, Patrón y Orden que se pueden ver en la siguiente captura de pantalla:\nEn campo Nombre introduciremos el nombre de la acción búsqueda. Podéis elegir el nombre que queráis. En mi caso el nombre seleccionado será:\nBuscar en Youtube En el campo Patrón tenemos que introducir los caracteres que queramos para poder invocar la acción de búsqueda. En mi caso he seleccionado los siguientes caracteres:\n!y En el campo Orden tenemos que escribir el comando que ejecutará la acción de búsqueda. El comando para buscar un vídeo en Youtube es el siguiente:\nexo-open --launch WebBrowser https://www.youtube.com/results?search_query=%u Es importante entender como hemos construido la orden, ya que de la misma forma que construimos la orden para buscar en Youtube, podemos crear una orden para buscar en el buscador Google, en el buscador de Duckduckgo, en Groveshark, en Spotify web, o incluso de mi blog.\nLa primera de las partes que conforma la orden es la siguiente:\nexo-open --launch WebBrowser La primera de las partes de la orden lo único que hace es abrir nuestro navegador web por defecto que en mi caso es Google Chrome.\nLa segunda parte de la orden para realizar búsquedas en Youtube desde whisker menu es la siguiente:\nhttps://www.youtube.com/results?search_query= La segunda parte de la orden se obtiene de la siguiente forma. Abrimos Youtube. Una vez abierto youtube nos vamos a su cuadro de búsqueda y buscamos el termino que queramos. En mi caso escribo barcelona y presiono teclar Enter.\nSeguidamente, tal y como se puede ver en la captura de pantalla, Youtube nos ofrecerá los resultados de nuestra búsqueda.\nUna vez mostrados los resultados de búsqueda, tal y como se puede ver en la captura de pantalla, tenemos que ir a la barra de direcciones de nuestro navegador y copiar la URL desde el principio hasta encontrar nuestra palabra de búsqueda que en mi caso es Barcelona. De este modo ya tenemos la segunda parte de nuestra orden.\nFinalmente la tercera parte de la orden siempre será la siguiente:\n%u La tercera parte es muy simple y siempre será igual. Tan solo tenemos que añadir %u. Lo que hace esta parte del comando es indicar que tenemos que introducir una cadena de texto. En otras palabras, %u es una variable que en el momento de ejecutarse la acción de búsqueda, tomará el valor de la palabra que estamos buscando en Youtube.\nUna vez introducidos el Nombre, el Patrón y la Orden, tal y como se puede ver en la captura de pantalla, presionamos el botón Cerrar.\nAhora ya podemos probar si la acción de búsqueda que acabamos de configurar funciona de la forma que esperamos. Para ello en el cuadro de búsqueda de whisker menu, tal y como se puede ver en la captura de pantalla, introducimos el siguiente texto:\n!y debian linux Nota: El texto introducido en el cuadro de búsqueda empieza por !y, ya que !y, es el patrón que hemos seleccionado en la configuración. Después de !y introducimos el texto que queremos buscar en youtube que en mi caso es debian linux. Finalmente presionamos Enter. Después de presionar Enter, tal y como se puede ver en la captura de pantalla, se abre nuestro navegador predeterminado con la búsqueda correspondiente:\nAplicando la metodología que acabamos de ver, podemos crear multitud de acciones de búsqueda. Seguidamente mostraremos el Nombre, el Patrón y la Orden a utilizar para configurar otras acciones de búsqueda diferentes a la que acabamos de crear.\n2- Realizar búsquedas con el buscador de Google El Nombre, Patrón y Orden para poder realizar búsquedas con el buscador de Google a través de Whisker menu son los siguientes:\nNombre: Buscar en Google Patrón: !g Orden: exo-open --launch WebBrowser google.com/search?q=%u Una vez configurada la acción de búsqueda, pueden comprobar su funcionamiento introduciendo y ejecutando el siguiente comando en el cuadro de búsqueda de whisker menu:\n!g geekland linux 3- Realizar búsquedas con el buscador Duckduckgo El Nombre, Patrón y Orden para poder realizar búsquedas con el buscador de Duckduckgo a través de Whisker menu son los siguientes:\nNombre: Buscar en Duckduckgo Patrón: !ddg Orden: exo-open --launch WebBrowser https://duckduckgo.com/?q=%u Una vez configurada la acción de búsqueda, pueden comprobar su funcionamiento introduciendo y ejecutando el siguiente comando en el cuadro de búsqueda de whisker menu:\n!ddg geekland linux 4- Realizar búsquedas con el buscador Bing El Nombre, Patrón y Orden para poder realizar búsquedas con el buscador de Bing a través de Whisker menu son los siguientes:\nNombre: Buscar en bing Patrón: !b Orden: exo-open --launch WebBrowser http://www.bing.com/search?q=%u Una vez configurada la acción de búsqueda, pueden comprobar su funcionamiento introduciendo y ejecutando el siguiente comando en el cuadro de búsqueda de whisker menu:\n!b geekland linux 5- Realizar la búsqueda de una imagen en el buscador de Google El Nombre, Patrón y Orden para poder realizar búsqueda de imágenes con el buscador de Google a través de Whisker menu son los siguientes:\nNombre: Buscar imagenes en google Patrón: !gi Orden: exo-open --launch WebBrowser https://www.google.com/search?site=\u0026amp;tbm=isch\u0026amp;source=hp\u0026amp;biw=1680\u0026amp;bih=913\u0026amp;q=%u Una vez configurada la acción de búsqueda, pueden comprobar su funcionamiento introduciendo y ejecutando el siguiente comando en el cuadro de búsqueda de whisker menu:\n!gi tux 6- Realizar búsqueda de canciones en Grooveshark El Nombre, Patrón y Orden para poder buscar canciones en Grooveshak a través de Whisker menu son los siguientes:\nNombre: Buscar en Grooveshark Patrón: !gs Orden: exo-open --launch WebBrowser http://grooveshark.com/#!/search?q=%u Una vez configurada la acción de búsqueda, pueden comprobar su funcionamiento introduciendo y ejecutando el siguiente comando en el cuadro de búsqueda de whisker menu:\n!gs Eric Clapton 7- Realizar búsqueda de canciones en Spotify Web El Nombre, Patrón y Orden para poder buscar canciones en Spotify Web a través de Whisker menu son los siguientes:\nNombre: Buscar en Grooveshark Patrón: !spot Orden: exo-open --launch WebBrowser https://play.spotify.com/search/%u Una vez configurada la acción de búsqueda, pueden comprobar su funcionamiento introduciendo y ejecutando el siguiente comando en el cuadro de búsqueda de whisker menu:\n!spot the muse 8- Realizar búsquedas determinadas de un tema en mi blog El Nombre, Patrón y Orden para poder realizar búsqueda de temas en mi propio blog son los siguientes:\nNombre: Geekland Patrón: !geek Orden: exo-open --launch WebBrowser https://geeklandlinux.github.io/search/?s=%u Una vez configurada la acción de búsqueda, pueden comprobar su funcionamiento introduciendo y ejecutando el siguiente comando en el cuadro de búsqueda de whisker menu:\n!geek vpn 9- Buscar archivos y carpetas de nuestro disco duro con whisker menu Gracias a las acciones de búsqueda también podemos buscar archivos y carpetas almacenados en nuestro disco duro con wisker menu.\nPara ello lo primero que tenemos que realizar es asegurar que tenemos instalado el buscador de archivos Catfish. Por lo tanto abrimos una terminal y tecleamos y ejecutamos el siguiente comando:\nsudo apt-get install catfish En el caso que Catfish no esté instalado veremos como se instala. En el caso que esté instalado simplemente el comando aplicado nos dará una salida informado que Catfish ya está instalado y se encuentra en su versión más reciente.\nUna vez instalado Catfish, al igual que hicimos los apartados anteriores, tenemos que acceder a la ventana para configurar las acciones de búsqueda. Una vez dentro de la ventana, tenemos que rellenar los campos Nombre, Patrón y Orden de la siguiente forma:\nNombre: Buscar archivos Patrón: !cat Orden: catfish --hidden --start /home/joan %s Una vez introducidos el Nombre, el Patrón y la Orden, tal y como se puede ver en la captura de pantalla, presionamos el botón Cerrar.\nUna vez más resulta importante entender como se ha construido la orden, ya que si comprendemos como la hemos realizado podremos realizar modificaciones para adaptar los parámetros de búsqueda a nuestras necesidades.\nEn la primera parte de la orden tenemos que indicar que se ejecute catfish al iniciar la acción de búsqueda. Para ello la primera parte de la orden es:\ncatfish La segunda parte de la orden para buscar archivos en nuestro disco duro, es donde se indican las opciones de búsqueda. En nuestro caso las opciones de búsqueda seleccionadas son hidden y start. Por lo tanto la segunda parte de la orden es:\n--hidden --start Al escribir hidden estamos indicando que se busquen tanto archivos normales como archivos ocultos del sistema. Si no nos interesa buscar archivos ocultos de nuestro sistema podemos tranquilamente borrar esta parte.\nAl escribir start lo que estamos haciendo es que en el momento que se abra catfish se inicie el proceso de búsqueda del archivos o carpetas de forma automática sin que nosotros tengamos que presionar ninguna tecla ni realizar ninguna acción.\nNota: Aparte de las opciones hidden y start, existen otras opciones que podemos usar como por ejemplo exact para diferenciar entre mayúsculas y minúsculas, fulltext para buscar texto dentro de archivos de texto, y thumbnails para previsualizar las imágenes en miniatura de los archivos de imagen. En función de vuestras necesidades se pueden usar distintas opciones. Para obtener más información acerca de las opciones disponibles en catfish, pueden abrir una terminal y teclear el comando man catfish. En la tercera parte de la orden tenemos que indicar la ruta en que queremos que se realice la búsqueda de archivos y de carpetas. En mi caso quiero realizar las búsquedas en mi partición home. Por lo tanto la tercera parte del comando es\n/home/joan En el caso que vosotros queráis realizar la búsqueda en otra partición tan solo tienen que modificar la ruta de búsqueda.\nFinalmente la última parte de la orden siempre será la siguiente:\n%s Introduciendo el símbolo %s en la orden, lo que estamos haciendo es indicar que hay que introducir una cadena de texto en el cuadro de búsqueda de Whisker menu. En otras palabras, %s es una variable que en el momento de ejecutarse la acción de búsqueda, tomará el valor de la palabra con la que estamos buscando el archivo o carpeta.\nUna vez configurada la acción de búsqueda, lo único que falta es comprobar que funcione. Imaginemos el caso que tengo almacenado mi DNI en el disco duro de mi ordenador, pero no se la ubicación exacta. Para hallar la ubicación podemos usar la acción de búsqueda que acabamos de configurar de la siguiente forma. Abrimos whisker menu e introducimos y ejecutamos el siguiente texto:\n!cat dni Nota: El texto introducido en el cuadro de búsqueda empieza por !cat, ya que !cat, es el patrón que hemos seleccionado en la configuración. Después de !cat introducimos dni ya que es el nombre, o parte del nombre, del archivo de imagen que contiene mi DNI. Una vez introducido el texto presionamos la tecla Enter. Seguidamente se abrirá catfish y empezará a buscar la totalidad de archivos que contienen la palabra DNI ubicados en mi partición Home. Después de esperar unos segundos, tal y como se puede ver en la captura de pantalla, ya hemos encontrado el archivo que estábamos buscando:\nUSAR LAS ACCIONES DE BÚSQUEDA PRECONFIGURADAS Aparte de las acciones de búsqueda que acabamos de crear y configurar, Whisker menu viene con una serie de acciones de búsqueda preconfiguradas. Las acciones de búsqueda preconfiguradas de Whisker menu son las siguientes:\nConsultar como usar cualquier comando del sistema mediante man. Hacer consultas de búsqueda en la wikipedia Ejecutar comandos en la terminal Abrir páginas web Para poder usar las acciones de búsqueda preconfiguradas tan solo tienen que seguir los siguientes pasos:\n1- Consultar como usar cualquier comando del sistema Si queremos ver las instrucciones de uso del comando catfish lo podemos hacer muy fácilmente con whisker menu. Tan solo tenemos que acceder al cuadro de búsqueda y teclear el siguiente comando:\n# catfish Presionamos la tecla Enter y a posteriori se abrirá una terminal con las instrucciones del comando catfish.\nNota: Si queréis ver las instrucciones de otros comandos, tan solo hay que reemplazar catfish por el comando que vosotros preciséis. 2- Hacer consultas en la Wikipedia Si estamos buscando información de un tema en concreto, podemos hacer una consulta de este tema en la wikipedia a través de Whisker menu. Así por lo tanto en el caso que estemos buscando información sobre la persona de Aaron Swartz, podemos abrir nuestro Whisker menu e introducir el siguiente comando:\n!w aaron swartz Presionamos la tecla Enter y seguidamente se abrirá nuestro navegador por defecto mostrando la información que contiene la wikipedia acerca del personaje Aaron Swartz.\nNota: Si quieren buscar información sobre otros temas, tan solo tienen que sustituir Aaron Swartz por el tema que les interese. 3- Ejecutar comandos en la terminal Si lo precisamos también podemos ejecutar comandos que ejecutaríamos en la terminal a través de whisker menu. Así por lo tanto si queremos actualizar los repositorios de nuestro sistema a través de Whisker menu, tan solo tenemos que abrir whisker menu y teclear el siguiente comando en el cuadro de búsqueda:\n! sudo apt-get update Presionan Enter. Después de presionar Enter verán como se abre la terminal y se actualizan los repositorios de vuestra distribución.\nNota: El comando sudo apt-get update lo deberán modificar en función del gestor de paquetes que usen. 4- Abrir páginas Web Acceder a cualquier página web a través de Whisker menu es sumamente fácil. Tan solo hay que acceder al cuadro de búsqueda de whisker menu e introducir la URL de la web que quieren visitar. Así por lo tanto, si quieren visitar mi blog, tan solo hay que introducir la siguiente URL en el cuadro de búsqueda de Whisker menu:\nhttps://geeklandlinux.github.io\nUna vez introducida la URL presionamos la tecla Enter. Seguidamente se abrirá nuestro navegador web por defecto y accederá al blog geekland\nCONCLUSIÓN FINAL SOBRE WHISKER MENU Y LAS ACCIONES DE BÚSQUEDA Durante estas últimas he realizado una serie de 3 artículos adicionales hablando sobre la configuración, personalización y uso de Whisker menu:\nInstalar Whisker Menu y motivos para usarlo Configurar y personalizar Whisker Menu Usar Whisker Menu como un lanzador de aplicaciones Después de leer detenidamente la totalidad de los artículos comprenderán la potencia y la totalidad de utilidades que le podemos dar a Whisker menu. Además usando vuestra imaginación, y en función de las necesidades de cada uno, se pueden crear otras acciones de búsqueda diferentes a las citadas en este último artículo.\n","permalink":"https://geeklandlinux.github.io/posts/acciones-de-busqueda-en-whisker-menu/","summary":"\u003cp\u003ePara finalizar la serie de posts que hablan sobre Whisker menu hablaremos una de las funcionalidades más sorprendentes, interesantes y desconocidas que ofrece Whisker Menu. Estoy hablando de las acciones búsqueda, o search actions en Inglés.\u003c/p\u003e","title":"Usar y crear acciones de búsqueda en Whisker menu"},{"content":"Continuando con la serie de post de whisker menu, hoy veremos como podemos abrir programas de forma ultra rápida con Whisker menu. Para empezar os diré que hasta hace poco tiempo, en mi equipo usaba el menú tradicional de Xfce y como complemento para abrir programas y aplicaciones usaba Kupfer.\nNota: Kupfer es un lanzador de aplicaciones similar al famoso Quicksilver de Mac. Aparte de Kupfer o Quicksilver hay otras alternativas similares como por ejemplo Synapse en Linux o Launchy en Windows. En el momento de instalar y probar Whisker Menu me di cuenta al instante que Whisker menu se puede utilizar sin ningún problema como un lanzador de aplicaciones del tipo Kupfer o Synapse.\nPor lo tanto usando Whisker menu se puede prescindir tranquilamente de aplicaciones como por ejemplo Kupfer, Synapse, Gnome do, etc. Las ventajas que obtendremos prescindiendo de Kupfer, o de otros programas similares, es tener menos paquetes instalados en nuestro ordenador y de paso también ahorraremos unas megas de memoria RAM.\nPara poder usar Whisker menu de forma eficiente como lanzador de aplicaciones tenemos que seguir los siguientes pasos:\nACTIVAR WHISKER MENU CON UNA COMBINACIÓN DE TECLAS Al igual que hacemos con Kupfer, Synapse o Quicksilver, lo más rápido y lo más eficiente es activar o abrir whisker menu con una combinación de teclas.\nPara conseguir activar Whisker menu con una combinación de teclas, abrimos una terminal y ejecutamos el siguiente comando:\nxfce4-keyboard-settings Después de ejecutar este comando aparecerá la siguiente ventana:\nTal y como se puede ver en la captura de pantalla presionamos encima de la pestaña Atajos de Aplicación. Seguidamente Presionamos el botón Añadir. Después de presionar añadir aparecerá la siguiente ventana:\nTal y como puede verse en la captura de pantalla, tenemos que introducir el comando que queremos que se ejecute cuando presionaremos la combinación de teclas que seleccionaremos posteriormente. En este caso el comando a introducir es:\nxfce4-popup-whiskermenu Presionamos el botón Aceptar. Después de presionar el botón Aceptar aparecerá la siguiente pantalla:\nAhora tan solo tenemos que presionar la combinación de teclas que queremos usar para abrir whisker menu. En mi caso la combinación de teclas que he seleccionado es Ctrl+Espacio. Vosotros podéis seleccionar la tecla que vosotros creáis mas oportuna. (Muchos usuarios eligen la tecla de Windows “super”)\nAhora cada vez que presionemos la combinación de teclas Ctrl+Espacio se abrirá Whisker Menu. De este modo evitaremos tener que usar el ratón para tener que acceder al menú y la activación será mucho más rápido e inmediata.\nUSAR WHISKER MENU PARA ABRIR PROGRAMAS Y APLICACIONES Una vez hemos descrito como activar Whisker Menu con una combinación de teclas, ahora ya podemos pasar a ver como usamos Whisker para abrir programas o aplicaciones tal y como lo podemos hacer con otros lanzadores como por ejemplo Kupfer, Synapse o Quicksilver.\nPara ver como usar whisker menu como lanzador de aplicaciones lo haremos con un ejemplo. En el ejemplo veremos como podemos abrir la aplicación Spotify. Si queremos abrir spotify con whisker tan solo tenemos que seguir los siguientes pasos:\n1- Presionamos la combinación de teclas para abrir Whisker menu, que en mi caso es Ctrl + Espacio.\n2- Una vez abierto whisker menu, tenemos que empezar a teclear el nombre de la aplicación que queremos ejecutar que en mi caso es Spotify.\n3- Tal y como se puede ver en la captura de pantalla, con tan solo escribir “spo” vemos que whisker menu ya nos está sugiriendo ejecutar el programa Spotify.\n4- Una vez whisker menu nos proponga abrir spotify ya podemos presionar la tecla Enter y spotify se ejecutará.\nComo podéis ver el método para abrir programas con Whisker menu es increíblemente rápido. Incluso me atrevería decir que en uno o dos segundos podemos abrir el programa que queramos sin ningún tipo de problema.\nTan solo siguiente estos sencillos pasos seremos capaces de lanzar las aplicaciones que queramos de forma ultrarápida y sin tener que usar programas de terceros o docks que ciertamente consumen recursos.\nEn el caso que precisen información adicional acerca de Whisker menu pueden consultar los siguientes enlaces:\n- Motivos para usar Whisker menu y como instalarlo\n- Cambiar el color de Whisker menu y configurarlo a nuestro gusto\n- Crear y usar acciones de búsqueda o Search Action en Whisker Menu\n","permalink":"https://geeklandlinux.github.io/posts/abrir-programas-y-aplicaciones-con-whisker-menu/","summary":"\u003cp\u003eContinuando con la serie de post de whisker menu, hoy veremos como podemos abrir programas de forma ultra rápida con Whisker menu. Para empezar os diré que hasta hace poco tiempo, en mi equipo usaba el menú tradicional de Xfce y como complemento para abrir programas y aplicaciones usaba Kupfer.\u003c/p\u003e","title":"Abrir programas y aplicaciones con Whisker menu"},{"content":"En el penúltimo post que publique vimos las utilidades de whisker menu, y las diferentes opciones que tenemos disponibles para su instalación. Por lo tanto, siguiendo en la misma linea, en este post y en futuros post, detallaremos como configurar Whisker menu para que los usuarios puedan sacar el máximo rendimiento de este menú alternativo. Cuando los lectores hayan terminado de leer la totalidad de post que escribiré estoy seguro que se darán cuenta de las enormes posibilidades que ofrece este menú.\nSeguidamente empezaremos a mostrar la totalidad de aspectos que podemos configurar de Whisker menu .\nCAMBIAR EL ICONO DE WHISKER MENU Como os habréis podido fijar en las capturas de este post, o en vuestro propio ordenador, el icono de Whisker menu es el icono de un ratón. Si no os gusta y lo queréis cambiar tan solo tenéis que seguir los siguientes pasos:\n1- Posicionamos el puntero del ratón encima del icono del whisker menu.\n2- Presionamos el botón derecho de nuestro ratón. Al presionar el botón aparecerá un menú contextual.\n3- En el menú contextual seleccionamos la opción Propiedades.\n4- Una vez seleccionada está opción aparecerá la ventana de configuración de whisker menu. Tal y como se puede ver en la captura de pantalla tendrán que clicar con el ratón encima del icono del ratón.\n5- Seguidamente aparecerá una ventana en la que tendremos que simplemente seleccionar el icono que queramos. Una vez seleccionado, tal y como se puede ver en la captura de pantalla, tenemos que presionar el botón Aceptar y el proceso habrá finalizado.\nCAMBIAR LOS COLORES Y CONFIGURAR WHISKER MENU Si os fijáis, en la siguiente captura de pantalla, mi Debian tiene un tema oscuro, mientras que Whisker menu tiene un tema claro. Esto provoca que Whisker menu no se integre de forma adecuada en mi entorno de escritorio.\nPara solucionar este problema, y para por lo tanto hacer que Whisker menu se integre con nuestro tema GTK, que en mi caso es Numix, tenemos que realizar las siguientes acciones:\n1- Abrimos una terminal. Una vez dentro de la terminal tecleamos el siguiente comando para asegurarnos que estamos dentro de nuestra partición home.\ncd ~/ 2- Seguidamente crearemos un archivo de texto con el nombre .gtkrc-2.0. Para ello tenemos que teclear el siguiente comando en la terminal:\ntouch .gtkrc-2.0 3- El tercer paso es editar el fichero que acabamos de crear. Para editar el fichero tenemos que teclear el siguiente comando en la terminal:\nnano .gtkrc-2.0 4- Una vez abierto el editor de textos nano pegamos el siguiente texto que es el que realmente configurará los colores y apariencia de whisker menu:\nstyle \u0026#34;whiskerblack\u0026#34; { bg[NORMAL] = \u0026#34;#2D2D2D\u0026#34; #color del panel principal y del panel de categorías bg[ACTIVE] = \u0026#34;#D64937\u0026#34; #color de la categoría activa justo después de deseleccionarse bg[PRELIGHT] = \u0026#34;#D64937\u0026#34; #color de fondo de la categoría seleccionada en panel de categorías fg[NORMAL] = \u0026#34;#ccc\u0026#34; #color del texto del panel de categorías fg[ACTIVE] = \u0026#34;#fff\u0026#34; #color de texto de la categoría justo después de deseleccionarse fg[PRELIGHT] = \u0026#34;#fff\u0026#34; #color del texto de la categoría seleccionada base[NORMAL] = \u0026#34;#404040\u0026#34; #color de fondo del panel de aplicaciones base[ACTIVE] = \u0026#34;#D64937\u0026#34; #color de fondo de la aplicación seleccionada text[NORMAL] = \u0026#34;#ccc\u0026#34; #color del texto de las aplicaciones text[ACTIVE] = \u0026#34;#fff\u0026#34; #color del texto de la aplicación seleccionada } widget \u0026#34;whiskermenu-window*\u0026#34; style \u0026#34;whiskerblack\u0026#34; Nota: En rojo se indican los colores en forma hexadecimal usados para cada uno de los elementos del whisker menu. Si no os gustan los colores seleccionados podéis sustituirlos por los que más os gusten. En el siguiente enlace tenéis un catálogo de colores en forma hexadecimal para que podáis tener una idea del color antes de aplicarlo. Nota: Las letras de color verde son simples comentarios que indican los colores que estamos modificando. Nota: Los colores seleccionados en la configuración de colores que acabo de mostrar, son perfectos para conseguir una integración total con el tema GTK Numix. 5- Una vez pegado el texto tan solo tenemos que guardar los cambios y cerrar el editor de textos.\n6- Finalmente para hacer que los colores definidos en el fichero de configuración se apliquen, tan solo hay que teclear el siguiente comando en la terminal:\nxfce4-panel --restart 7- Después de teclear el comando en la terminal el resultado obtenido es el siguiente:\nNota: Tal y como se puede ver en la captura de pantalla, la combinación de colores seleccionados se integra a la perfección con el popular tema de Numix. AÑADIR TRANSPARENCIAS A WHISKER MENU No es mi caso, pero podría darse el caso Whisker menu no se integre en vuestro escritorio porqué tengáis transparencias en el panel de XFCE.\nSi este es vuestro caso lo podéis solucionar siempre y cuando uséis una versión de Whisker menu igual o superior a la 1.5. A partir de la versión 1.5 Whisker menu permite añadir transparencias. Para realizar esto tan solo hay que posicionar el ratón encima del icono del whisker menu. Seguidamente presionamos el botón derecho de nuestro ratón. Después de apretarlo aparecerá un menú contextual en el que deberemos seleccionar la opción Propiedades. Seguidamente aparecerá la siguiente pantalla:\nFinalmente, tal y como se puede ver en la captura de pantalla, tan solo tendremos que poner el valor que precisemos en el campo Opacidad de fondo (Background opacity).\nREDIMIENSIONAR LAS MEDIDAS DE WHISKER MENU Una vez personalizado el color, el siguiente paso es seleccionar el tamaño del Whisker menu. Tal y como de se puede ver en la captura de pantalla anterior, parte del contenido de las aplicaciones se corta.\nSi queremos solucionar este problema, tal y como se puede ver en la captura de pantalla, tan solo tenemos que abrir el whisker menu y posicionar el mouse en el extremo inferior derecho del panel. Cuando cambia el dibujo del puntero del panel, tan solo tenemos que presionar el botón izquierdo del ratón y arrastrar el ratón para definir el tamaño de menú que deseamos.\nAÑADIR APLICACIONES A FAVORITOS Tal y como podrán observar, Whisker menú dispone de una categoría de aplicaciones favoritas. En esta categoría por defecto aparecen iconos para poder acceder de forma rápida a la terminal, al administrador de archivos, al lector de correo, y al navegador web.\nSi queremos añadir más iconos de acceso rápido a la categoría de Favoritos, tal y como se puede ver en la captura de pantalla, tan solo tenemos que buscar la aplicación que queremos introducir, que en mi caso es gimp. Una vez encontrada la seleccionamos y presionamos el botón derecho del mouse. Seguidamente aparecerá un menú contextual en el que deberemos seleccionar la opción Añadir a las favoritas. Una vez seleccionada la opción la aplicación Gimp estará presente en la categoría de aplicaciones Favoritas.\nSi por algún motivo queremos quitar alguna de las aplicaciones que hemos añadido en la categoría de favoritos, tal y como se puede ver en la captura de pantalla, tenemos que seleccionar la aplicación que queremos quitar, presionar el botón derecho del ratón y cuando aparezca el menú contextual seleccionaremos y ejecutaremos la opción Eliminar de las favoritas.\nDentro del menú de Favoritas también podemos seleccionar el orden en que se posicionan nuestras aplicaciones Favoritas. De esta forma si queremos que el Software Gimp aparezca en la primera posición de nuestras aplicaciones favoritas, tal y como se puede ver en la captura de pantalla, tenemos que ir al menú de favoritas y posicionar el puntero del mouse encima del software Gimp.\nSeguidamente presionamos le botón izquierdo de nuestro ratón y arrastramos el puntero hasta la posición que queramos poner Gimp. Tal y como se puede ver en la captura de pantalla, en mi caso estoy posicionando Gimp en la posición número 1 dentro del menú de Favoritas.\nAÑADIR APLICACIONES DENTRO DEL MENÚ DE WHISKER MENU Si por algún motivo queremos añadir una aplicación que no tiene lanzador dentro del whisker menu, lo podemos realizar de la siguiente forma:\n1- Abrimos whisker menu y en el cuadro de búsqueda escribimos menú principal. Una vez hayamos escrito menú principal se realizará la búsqueda de la aplicación que nos permitirá configurar los elementos de nuestro menú. Una vez encontrada, tal y como se puede ver en la captura de pantalla, la ejecutamos.\n2- Una la hayamos ejecutado la aplicación aparecerá una ventana para configurar el menú principal. Tal y como se puede ver en la captura de pantalla, en esta ventana tenemos que presionar el botón Elemento Nuevo.\n3- Seguidamente aparecerá una ventana en la que tendremos que introducir los parámetros necesarios para introducir el programa que deseemos en el menú. En mi caso tal y como se puede ver en la captura de pantalla estoy añadiendo el programa Firefox.\nLos valores a introducir en cada uno de los 4 campos, para por ejemplo introducir Firefox, son los siguientes:\nCampo Name: En este campo simplemente tenemos que introducir el nombre de la aplicación que en mi caso es Firefox. Vosotros seleccionad el que queráis. Campo Command: En este campo hay que poner el comando que usaríamos para lanzar Firefox, o cualquier otros programa, desde la terminal seguido del carácter %u. Por lo tanto en este campo en mi caso tengo que escribir firefox %u. Campo Comment: En este campo se puede poner un breve comentario que describa la utilidad de la aplicación que estamos añadiendo. En mi caso escribiré Navegador web Firefox. Campo Icono: Si clicamos encima del icono aparecerá un navegador de archivos para que podamos seleccionar el icono que más nos guste. Como pueden ver en la captura de pantalla anterior en mi caso he seleccionado un icono para Firefox. 4- Una vez rellenados todos los campos tan solo tendremos que presionar encima del botón Aceptar para finalizar el proceso.\nAÑADIR CHROME APPS EN WHISKER MENU Si por algún motivo queremos añadir una aplicación o chrome App en whisker menu también lo podemos hacer de una forma extremadamente fácil.\nPara ello lo primero que tenemos que realizar es localizar la chrome App que queremos añadir que en mi caso es la de Grooveshark. Una vez localizada abro mi gestor de archivos y navego hasta la ubicación ~/.local/share/applications. Una vez dentro de esta ubicación, tal y como se puede ver en la captura de pantalla, copiamos la chrome app o lanzador dentro de esta ubicación.\nUna vez copiado el lanzador dentro de esta ubicación, la aplicación de Grooveshark ya aparecerá en nuestro menú dentro de la categoría Otras.\nCONFIGURAR LA APARIENCIA Y COMPORTAMIENTO DE WHISKER MENU Finalmente solo queda jugar con las opciones básicas de configuración que ofrece Whisker menu para elegir las que más os convenzan. Para ello podemos seguir los siguientes pasos:\n1- Posicionamos el puntero del ratón encima del icono del whisker menu.\n2- Presionamos el botón derecho de nuestro ratón. Al presionar el botón aparecerá un menú contextual.\n3- Seleccionamos y ejecutamos la opción Propiedades del menú contextual.\n4- Una vez dentro de Propiedades aparecerá la ventana de configuración de whisker menu. Tal y como se puede ver en la captura, en la pestaña de apariencia encontraréis distintas opciones para personalizar el comportamiento y visualización de Whisker Menu. Tan solo tenemos que seleccionar las opciones que más nos interesen.\nNota: En la captura de pantalla se pueden ver las opciones de apariencia que estoy usando actualmente. Algunas de las opciones de apariencia que aparecerán en el menú son las siguientes:\nMostrar nombres genéricos de las aplicaciones: Si activamos esta opción Whisker menu mostrará nombres genéricos para cada una de las aplicaciones que aparecen en Whisker menu. Así por lo tanto en vez de mostrar el nombre Transmission mostrará el nombre Cliente de BitTorrent.\nMostrar descripciones de las aplicaciones: Si marcamos esta opción, justo debajo de cada aplicación aparecerá una breve descripción del uso de la aplicación.\nMostrar Jerarquía del Menú: En función de si activamos o desactivamos esta opción, las categorías que aparecerán en Whisker menu se ordenarán de diferente forma.\nPosicionar el cuadro de búsqueda junto al botón del panel: El cuadro de búsqueda de Whisker menu viene ubicado en la parte opuesta al botón que activa Whisker menu. Si queremos que el botón de Whisker menu y el cuadro de búsqueda estén juntos uno encima de otro, tan solo tenemos que marcar esta opción.\nPosicionar las ordenes junto al cuadro de Búsqueda: Si activamos esta opción haremos que las ordenes de Cerrar sesión, bloquear pantalla, etc se posicionen justo al lado del cuadro de búsqueda.\nColocar categorías al lado del botón del panel: Si marcamos esta opción lo que haremos es que la categorías se muestren en el mismo lado en que está ubicado el botón del panel. De este modo podemos tener ubicadas las categorías en el lado izquierdo del menú o en el lado derecho del menú.\nTamaño del icono de los elementos: En este campo podemos seleccionar el tamaño de los iconos de los elementos de Whisker menu.\nTamaño del icono de las categorías: En este campo podemos seleccionar el tamaño de los iconos de las categorías de Whisker menu.\n5- Una vez configurada la apariencia podemos configurar el comportamiento del menú, para ello tan solo tenemos que clicar encima de la pestaña Comportamiento y aparecerá la siguiente ventana:\nNota: En la captura de pantalla se pueden ver las opciones de comportamiento que estoy usando actualmente. En la ventana de configuración del comportamiento encontraremos una serie de opciones. Tan solo tenemos que seleccionar las opciones que más nos interesen.\nAlgunas de las opciones de comportamiento que aparecerán en el menú son las siguientes:\nCambiar de categoría al apuntarla con el ratón: Si marcamos esta opción a medida que deslizamos el mouse de categoría en categoría se irán mostrando las aplicaciones que contiene cada una de las categorías. En caso contrario solo se mostraran las aplicaciones de las categorías que seleccionemos clicando con el ratón. Incluir favoritos en la lista de usadas recientemente: Si no marcamos está opción, las aplicaciones que están en el menú de favoritos no aparecerán en aplicaciones usadas recientemente. Mostrar usadas recientemente de forma predeterminada: Si seleccionamos esta opción, al abrir Whisker menu la categoría predeterminada seleccionada de inicio será aplicaciones recientes. Toda la configuración: Si tildamos esta opción, dentro del Whisker menu aparecerá un icono de acceso directo para acceder a la ventana de configuración de xfce. Bloquear la pantalla: Si tildamos está opción, dentro del Whisker menu aparecerá un icono de acceso directo que al presionarlo se bloqueará la pantalla. Cambiar de usuario: Si tildamos está opción, dentro del Whisker menu aparecerá un icono de acceso directo que al presionarlo podremos cambiar de usuario tranquilamente. Cerrar la sesión: Si tildamos está opción, cuando posicionemos el puntero del mouse encima del botón del whisker menu, y presionemos el botón derecho del ratón nos aparecerá la opción de Editar aplicaciones. Esta opción es una opción alternativa para personalizar los lanzadores que aparecen dentro de Whisker menu. Quien quiera usar esta opción, tiene que comprobar que el paquete menulibre esté debidamente instalado. Nota: Aparte de las opciones de bloquear pantalla, cerrar la sesión etc. Seria interesante que en un futuro los usuarios pudieran crearse sus propias ordenes. 6- Una vez hemos seleccionado las opciones de apariencia y comportamiento tan solo tenemos que presionar el botón Cerrar.\nPara finalizar este post, os dejo una captura de pantalla para que podáis ver como luce Whisker menu en mi Debian Testing.\nYa para despedirme deciros que en los próximos post seguiremos viendo como sacar el máximo partido a Whisker menu. Concretamente veremos 2 opciones muy interesantes y potentes que tiene Whisker menu. La primera de ellas es como podemos usar Whisker menu como un lanzador de aplicaciones tipo Synapse, Kupfer, etc, y para finalizar la serie de post de Whisker menu veremos la potencia, la versatilidad y las posibilidades que nos ofrecen sus acciones de búsqueda.\n","permalink":"https://geeklandlinux.github.io/posts/cambiar-el-color-y-configurar-whisker-menu/","summary":"\u003cp\u003eEn el penúltimo post que publique vimos las \u003ca href=\"/posts/instalar-whisker-menu/\"\u003eutilidades de whisker menu, y las diferentes opciones que tenemos disponibles para su instalación\u003c/a\u003e. Por lo tanto, siguiendo en la misma linea, en este post y en futuros post, \u003cstrong\u003edetallaremos como configurar Whisker menu\u003c/strong\u003e para que los usuarios puedan sacar el máximo rendimiento de este menú alternativo. Cuando los lectores hayan terminado de leer la totalidad de post que escribiré estoy seguro que se darán cuenta de las enormes posibilidades que ofrece este menú.\u003c/p\u003e","title":"Cambiar el color y configurar Whisker Menu"},{"content":"En mi post número 100 lamentablemente tengo que comunicaros malas noticias. Como habéis visto he pasado varias semanas sin publicar absolutamente nada. El motivo de este pequeño paro ha sido una sanción que me ha impuesto Google.\nNota: Técnicamente a las acciones que aplica Penguin no se le deben llamar sanciones. Penguin simplemente aplica un algoritmo para determinar la importancia de cada unos de los blogs, y según los parámetros de programación de Penguin mi blog no se merece la atención del público. A raíz de la sanción, a los lectores del blog les comunico los siguientes puntos.\nINFORMACIÓN DE CAMBIOS PARA LOS LECTORES DEL BLOG A partir de ahora el contenido ubicado en geekland.hol.es estará ubicado en geekland.eu. Por lo tanto como podéis ver he adquirido un dominio propio para el blog. Para vosotros este punto únicamente tiene una implicación que es la siguiente:\nQuien me siga a través de su lector de feed RSS deberá sustituir el feed actual por el siguiente:\nhttp://feeds.feedburner.com/geeklandlinux\nEn caso de no hacerlo, los lectores que me lean a través de su lector RSS, es posible que os perdáis los futuros artículos que escribiré. En principio esté es el único cambio significativo que afectará a la gente que venia leyéndome de forma habitual o esporádica.\nPOSIBLES MOTIVOS DE LA SANCIÓN Y SOLUCIONES APLICADAS Desafortunadamente imagino que nunca podré llegar a conocer con exactitud los motivos por los cuales Google ve mi blog como si fuera contenido basura. De todos modos con la ayuda de personas que colaboran de forma altruista en el foro de webmasters de google, llegamos a la conclusión que los posibles motivos de esta sanción pueden ser los siguientes:\nComo seguramente sabréis estaba usando un subdominio del dominio hol.es. Por lo tanto existe la posibilidad que alguien con un subdominio perteneciente a hol.es, estuviera realizando actividades de spam , scam, phising, etc, y por este motivo Google ha decidido penalizar a todos los integrantes del dominio hol.es haciéndoles desaparecer de su buscador. Para intentar solucionar este problema he adquirido un nuevo dominio, y además he desautorizado la totalidad de enlaces entrantes pertenecientes al dominio hol.es. El segundo motivo de sanción puede ser el elevado número de enlaces dofollow que contenían los post que escribía. Frente a esta situación no me ha tocado otra solución que entrar post por post modificando la mayoría de enlaces dofollow para transformarlos a nofollow. Otra posible hipótesis para justificar la sanción recibida es un elevado número de enlaces entrantes de mala calidad, o que Google considera que son de mala calidad. Frente a este he desautorizado una larga lista de dominios que apuntaban hacia mi web. Por lo tanto a estas alturas este punto debería estar solucionado. Un cuarto motivo podría ser simplemente un mal rendimiento de mi servidor. A pesar que tengo la certeza absoluta que mi servidor actual está saturado y sobrecargado, no creo que este sea el motivo de la sanción. Además esta misma semana acabo de cambiar el blog de servidor. De todas las hipótesis planteadas me temo que la principal la razón de la sanción es la primera que he citado. Lo creo así por la severidad de la sanción, y también porqué prácticamente no existe ningún sitio con el dominio hol.es indexado en Google.\nRESULTADOS DE LA SANCIÓN Los resultados de la sanción son muy simples de comprender. Una caída en picado de las visitas del blog.\nPase de tener 4000 visitantes al día, a tener menos de 200 ya que mi sitio desapareció totalmente del buscador de Google. Por lo tanto puedo afirmar por experiencia que si no existes para Google no existes en Internet.\nObviamente después de esta sanción demoledora he pensado seriamente en abandonar el blog y dejar de publicar. Cada post realizado son horas de trabajo para intentar aportar algo diferencial al resto de contenido que hay actualmente en la web, y después de todo el esfuerzo me parece una injusticia grande recibir este tipo de sanción por parte de Google cuando todo el contenido que público es original, de calidad, y elaborado. (o al menos es lo que intento)\nA pesar de pensar en dejar de publicar, al final no lo haré. Seguiré publicando independientemente del número de visitas que Google decida que debe recibir mi blog. También cabe decir que después de las medidas citadas en el post el tráfico se ha recuperado en cierta medida. Ha pasado de ser prácticamente cero a ser 1000 visitantes únicos por día. A pesar de estos datos aun es muy pronto para cantar victoria ya que es posible que la sanción del antiguo dominio se transfiera al nuevo. Además un gran número de backlinks y trabajo realizado en el pasado se ha perdido por lo que intuyo que pasará mucho tiempo para que el tráfico vuelva a ser el que era.\nCONCLUSIONES De todo lo que ha sucedido estas últimas semanas, obviamente he extraído una serie de conclusiones y reflexiones. Estas conclusiones y reflexiones son las siguientes:\nQuien quiera iniciar un blog, un negocio, o cualquier proyecto de forma seria y quiere aparecer en buenas posiciones en el buscador de google es indispensable que adquiera su propio dominio. El hecho de usar un subdominio, que no sea de wordpress o de Blogger, es un grave error ya que pierdes el control de la totalidad de acciones que puedan realizar otros usuarios integrantes del dominio. Si os interesa un buen posicionamiento de vuestra web es indispensable controlar que los enlaces entrantes a vuestra web sean de buena calidad. En el caso de tener enlaces de mala calidad siempre se pueden desautorizar con la herramienta disawow tools de google. Me parece increíble que Google se cargue el tráfico de una web o de un blog sin dar detalles ni informar del motivo. Si te sanciona un algoritmo es que hay unos parámetros muy claros que estás incumpliendo, y lo mínimo que Google debería realizar es informar a los afectados. Como la información en estos casos es nula, lo único que puedes hacer es observar datos, intentar formular hipótesis de la posibles causas de la sanción y finalmente aplicar medidas correctoras. Yo estaba y estoy enfadado, pero si realmente yo viviera de Internet a día de hoy estaría mucho más que enfadado. Me cuesta de entender la falta de transparencia y la poca información que se proporciona a los afectados en estos casos. En el siglo XXI, una empresa como Google, que está en pleno desarrollo de Skynet, debería ser capaz de dar más información en estos casos. Además me extraña que a estás altura Google aún no sea capaz de discernir que subdominios de un dominio ofrecen contenido de mala calidad y de buena calidad. ","permalink":"https://geeklandlinux.github.io/posts/comunicado-lectores-sancion-google/","summary":"\u003cp\u003eEn mi post número 100 lamentablemente tengo que comunicaros malas noticias. Como habéis visto he pasado varias semanas sin publicar absolutamente nada. El motivo de este pequeño paro ha sido una sanción que me ha impuesto Google.\u003c/p\u003e","title":"Comunicado para los lectores del blog tras una sanción de Google"},{"content":"Durante bastantes años he estado usando XFCE en Debian. Empecé por la versión 4.8 y actualmente estoy usando la versión 4.10. Hasta hace pocos meses siempre había usado el menú tradicional de XFCE, pero a día de hoy estoy utilizando un menú alternativo llamado Whisker Menu. Seguramente muchísimos de vosotros conocerá este menú alternativo ya que algunas distribuciones, como por ejemplo Xubuntu, o Linux Mint, están usando whisker menú por defecto en sus versiones de escritorio XFCE.\nNota: La totalidad de acciones que se proponen realizar en este post únicamente son válidas para usuarios que usen el escritorio XFCE. Si usan otro entorno de escritorio no podrán utilizar Whisker menu. ¿QUÉ ES EL WHISKER MENU? Como acabo de comentar en el apartado anterior, Whisker menu es un menú alternativo para el entorno de escritorio XFCE. Este menú alternativo tiene la particularidad que ha sido desarrollado por la comunidad y añade funcionalidades adicionales al menú tradicional de XFCE. Algunas de las funcionalidades añadidas por Whisker Menu, y los motivos para usarlo se describen en el siguiente apartado.\n¿POR QUÉ USAR WHISKER MENU? Los motivos para usar Whisker menu son varios. Algunos de ellos son los que cito a continuación:\nPodemos utilizar whisker menú como un lanzador de aplicaciones tipo Kupfer, Synapse, etc. Aunque su función como lanzador es más limitada que kupfer o synapse, para mi es más que suficiente. Estéticamente es mucho mejor que el menú tradicional de XFCE. Aunque en este punto también hay que decir que lo del tema estético es muy personal. Mantiene un listado de las 10 aplicaciones que hemos usado. De este modo si queremos abrir una de estas aplicaciones nos será mucho más fácil y rápido. En el menú tenemos un apartado de favoritos. En este apartado podemos añadir fácilmente las aplicaciones que queramos. De este modo nos será mucho más fácil y rápido arrancar las aplicaciones que utilizamos habitualmente Incluye un buscador de aplicaciones. Con solo acceder al menú podemos empezar a teclear las iniciales de la aplicación que queremos ejecutar, y la búsqueda se realizará de forma instantánea. Gracias a esta particularidad podremos usar este menú como un lanzador de aplicaciones al estilo de Synpase o Kupfer. Incluye iconos para poder acceder de forma rápida a la configuración del escritorio de XFCE, bloquear la pantalla, Cerrar la sesión, cambiar el usuario, etc. Nos permitirá configurar y crear acciones de búsqueda rápida. De esta forma sin necesidad de abrir nuestro navegador podremos buscar un vídeo en Youtube, buscar un termino en la wikipedia, abrir una terminal, hacer una búsqueda web con el buscador de Google o el buscador de DuckDuckgo, etc. COMO INSTALAR WHISKER MENU Es posible que vuestra distribución XFCE ya disponga del whisker menu instalado de serie. Si es así en este apartado no hay que realizar absolutamente nada. En el caso que que no lo tengáis instalado tenemos varias opciones para instalar Whisker Menu.\nInstalar Whisker menu mediante los repositorios de vuestra distro Es muy posible que los repositorios de vuestra distro dispongan de la paquetería necesaria para instalar whisker menu. Si es este el caso la instalación es sumamente fácil.\nEn el caso de ser usuarios de Debian, o de cualquiera de las distribuciones derivadas de Debian, tan solo hay que abrir una terminal y teclear el siguiente comando:\nsudo apt-get install xfce4-whiskermenu-plugin En el caso de ser usuarios de Fedora, o de cualquiera de las distribuciones derivadas de Fedora/Red Hat, tan solo hay que abrir una terminal y teclear el siguiente comando:\nsudo yum install xfce4-whiskermenu-plugin En el caso de ser usuarios de Archlinux, o de cualquiera de las distribuciones derivadas de Archlinux, deberemos instalar whisker menu a través del repositorio de AUR. Por lo tanto con el repositorio de AUR añadido, tan solo hay que abrir una terminal y teclear el siguiente comando:\nyaourt -S xfce4-whiskermenu-plugin Instalar Whisker menu a partir de paquetes binarios En el caso que quieran asegurarse de usar la versión más actual de Whisker menu, una buena solución es realizar la instalación a través de la web de los desarrolladores. Para ello acceden al siguiente enlace\nUna vez dentro de la web de los desarrolladores, podrán descargar los paquetes binarios de instalación para distros como por ejemplo, Ubuntu, Debian, Fedora o OpenSUSE. Una vez descargado el paquete, tan solo hay que instarlo con Gdebi, dpkg, o el método que utilizan habitualmente, etc.\nInstalar Whisker menu en caso de ser usuarios de Ubuntu/Xubuntu En el caso de ser usuario de Ubuntu, o de alguna distribución derivada de Ubuntu, instalar o mantener actualizado whisker menu a la última versión, es muy fácil gracias a los repositorios ppa.\nPor lo tanto en el caso de ser usuario de Ubuntu, o alguna distro derivada Ubuntu, tan solo hay que abrir una terminal y ejecutar los siguientes comandos:\nPara añadir el repositorio ejecutaremos el siguiente comando:\nsudo add-apt-repository ppa:gottcode/gcppa Una vez añadido el repositorio ejecutaremos el siguiente comando para actualizar el contenido de los repositorios:\nsudo apt-get update Seguidamente, en el caso de no tener whisker menu instalado, tenemos que teclear el siguiente comando para instalarlo:\nsudo apt-get install xfce4-whiskermenu-plugin En el caso únicamente se precise actualizar Whisker menu a la última versión, tan solo hay que ejecutar el siguiente comando en la terminal:\nsudo apt-get dist-upgrade Nota: En el momento de escribir el post el reposotrio usado da soporte para Ubuntu 12.04 con Xfce 4.8, Ubuntu 14.04, Ubuntu 14.10 y el futuro Ubuntu 15.10. Instalar Whisker menu en caso de ser usuarios de Ubuntu/Xubuntu en sus versiones 12.04 con Xfce 4.10 Ubuntu/Xubuntu 12.04 de forma predeterminada viene/n con la versión de escritorio Xfce 4.8. No obstante es posible que hayan usuarios que hayan modificado el sistema para instalar la versión de escritorio XFCE 4.10.\nSi este es vuestro caso, el proceso de instalación de Whisker menu es diferente al citado en el apartado anterior, ya que los repositorios a usar en este caso son distintos a los citado en el apartado anterior. Por lo tanto los pasos a seguir para estos usuarios son los siguientes:\nPara añadir el repositorio necesario para la instalación ejecutaremos el siguiente comando:\nsudo add-apt-repository ppa:landronimirc/xfce Una vez añadido el repositorio ejecutaremos el siguiente comando para actualizar el contenido de los repositorios:\nsudo apt-get update Seguidamente ya podremos instalar whisker menu. Para ello en la terminal ejecutamos el siguiente comando:\nsudo apt-get install xfce4-whiskermenu-plugin Instalar Whisker menu a partir del código fuente En el caso que no se pueda aplicar ninguna de las soluciones anteriores a las que acabo de mencionar, siempre podrán descargar el código fuente de la web de los autores y compilarlo. Para realizar la compilación los pasos a seguir son los siguientes:\n1- Asegurar que tenemos la totalidad de paquetes necesarios para realizar la compilación. Para ello tecleamos el siguiente comando en la terminal:\nsudo apt install build-essential checkinstall cmake libexo-1-dev libgarcon-1-0-dev libxfce4ui-1-dev libxfce4util-dev xfce4-panel-dev 2- Descargar el código de fuente de la web de los autores. Una vez vez descargado el código fuente hay que ubicarlo y descomprimirlo en nuestra partición home.\n3- Abrimos una terminal. Aseguramos que estamos en la partición home introduciendo el siguiente comando en la terminal:\ncd ~/ 4- Seguidamente accedemos a la carpeta que contiene el código fuente de whisker menu, que en mi caso es la carpta xfce4-whiskermenu-plugin-1.4.2. Para ello en mi caso tengo que teclear el siguiente comando en la terminal:\ncd xfce4-whiskermenu-plugin-1.4.2 5- Una vez ubicados dentro de la carpeta ya podemos empezar con el proceso de compilación. Para ello lo primero que haremos es generar un makefile mediante cmake. Para ello tecleamos el siguiente comando en la terminal:\ncmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr Si el proceso se realiza correctamente obtendréis una resultado parecido al siguiente:\n6- A partir del makefile que se acaba de generar ahora construiremos el binario de instalación de whisker menu. Para ellos deberemos ejecutar el siguiente comando:\nmake Si el proceso finaliza satisfactoriamente obtendréis una resultado parecido al siguiente:\n7- Una vez creado el binario ya lo podemos instalar Whisker menu. Para ello usaremos checkinstall que ofrece numerosas ventajas respecto make install. Por lo tanto en la terminal ejecutamos:\nsudo checkinstall Durante la ejecución de checkinstall se harán una serie de preguntas. Tan solo hay que leer detenidamente e ir contestando las preguntas que nos van preguntando. Si quieren pueden contestar las respuestas por defecto y el proceso de instalación se realizará correctamente.\nUna vez contestadas todas las preguntas, tal y como se puede ver en la captura de pantalla, la instalación ha finalizado:\nDurante el proceso de instalación, tal y como se puede ver en la captura de pantalla, se crea el archivo xfce4-whiskermenu-plugin_1.4.2.1_i386.deb que podremos distribuir a nuestros amigos o compañeros para que puedan instalar whisker menu sin tener que compilarlo.\nSi después de instalar whisker menu no les convence lo pueden desinstalar con un simple:\nsudo apt-get remove --purge xfce4-whiskermenu-plugin Nota: Si usan otros gestores de paquetes diferentes a apt-get el comando anterior se deberá modificar acorde a su gestor de paquetes. INSERTAR WHISKER MENU EN EL PANEL DE XFCE Una vez instalado Whisker menu, el siguiente paso es reemplazar el menú clásico por el nuevo menú.\nPara ello hay que clicar con el botón derecho del ratón encima del panel en el que queremos añadir el Whisker menu. Seguidamente, tal y como se puede ver en la captura de pantalla, aparecerá un cuadro de dialogo en el que tendremos que seleccionar la opción Panel, y seguidamente Añadir nuevos elementos\u0026hellip;\nAl presionar sobre añadir nuevos elementos aparecerá la siguiente ventana para añadir nuevos elementos en el panel de Xfce:\nTal y como se puede ver en la captura de pantalla, tendremos que buscar y seleccionar la opción Menú Whisker, y seguidamente presionar encima del botón Añadir. Después de presionar sobre el botón añadir, tal y como se puede ver en la captura de pantalla, el Whisker menu se añadirá en el extremo derecho del panel de Xfce.\nEl siguiente paso es eliminar el menú clásico del panel de Xfce. Para ello, tal y como se puede ver en la captura de pantalla, nos posicionamos sobre el icono del menú clásico y presionamos el botón derecho del ratón. Al clicar con el mouse aparece un menú contextual en el que deberemos clicar encima de la opción Quitar. Después de esto habremos eliminado el menú clásico del panel.\nFinalmente ya solo nos falta posicionar el Whisker menu en la posición que estaba el menú clásico. Para ello, tal y como se puede ver en la captura de pantalla, posicionamos el puntero del mouse encima del Whisker menu, presionamos el botón derecho del mouse y en el menú contextual seleccionamos la opción Mover.\nActo seguido podremos posicionar el menú en la posición que queramos que en mi caso será el extremo izquierdo del panel. Una vez finalizado todo el proceso, tal y como se puede ver en la captura de pantalla, el whisker menu quedará posicionado en el extremo izquierdo del panel y tendrá el siguiente aspecto:\nCONFIGURAR Y PERSONALIZAR WHISKER MENU Para configurar, personalizar y sacar el máximo partido a Wisker menu escribiré varios post adicionales durante las próximas semanas. En los post se podrán encontrar estos temas entre otros:\nCambiar los colores de Whisker Menu, cambiar el icono de whisker menu, Introducir aplicaciones en el Whisker menu, Añadir y quitar aplicaciones del menú de favoritos, etc. Usar Whisker menu como un lanzador de aplicaciones Como crear y usar acciones de búsqueda con Whisker menu ","permalink":"https://geeklandlinux.github.io/posts/instalar-whisker-menu/","summary":"\u003cp\u003eDurante bastantes años he estado usando XFCE en Debian. Empecé por la versión 4.8 y actualmente estoy usando la versión 4.10. Hasta hace pocos meses siempre había usado el menú tradicional de XFCE, pero a día de hoy estoy utilizando un menú alternativo llamado Whisker Menu. Seguramente muchísimos de vosotros conocerá este menú alternativo ya que algunas distribuciones, como por ejemplo Xubuntu, o Linux Mint, están usando whisker menú por defecto en sus versiones de escritorio XFCE.\u003c/p\u003e","title":"Instalar Whisker Menu y motivos para usarlo"},{"content":"Para iniciar este post, y antes de comentar como rotar imágenes en Libreofffice, voy a comentar a los lectores del blog que la totalidad de los post que redacto lo hago utilizando el programa Writer de Libreoffice.\nMi opinión sobre Writer y Libreoffice es excelente y lo digo después de varios años de uso. A día de hoy me da absolutamente igual que Microsoft Office disponga de una suite ofimática en la nube, o que Microsoft sacará una versión nativa para Linux. Los motivos para realizar estas afirmación son simples:\nLibreoffice es software libre mientras que Microsoft Office es software privativo. Personalmente si es posible prefiero usar software libre. Libreoffice me ofrece una estabilidad excelente y me permite realizar el 100% de tareas que acostumbro a realizar en el día a día. Libreoffice con sus sistema de extensiones, es más personalizable que Microsoft Word. Aunque no lo parezca Libreoffice disponible de funcionalidades de las que no dispone Microsoft Word. Algunas de ellas por ejemplo son que libreoffice dispone de una versión portable que se puede arrancar desde una memoria USB, soporta más formatos de archivos, soporta más lenguajes de programación para poder realizar macros, permite transformar archivos a pdf sin necesidad de instalar software adicional, etc. No obstante no quiero profundizar mucho más porque este no es el objetivo de este artículo. El objetivo principal de este artículo mostrar como rotar imágenes en Libreoffice.\nROTAR IMÁGENES EN WRITER No hace falta ninguna extensión ni hacer inventos raros para rotar imágenes en Writer. Tan solo tenemos que insertar una imagen.\nUna vez insertada la imagen tan solo la tenemos que seleccionar la imagen. Una vez seleccionada en la parte inferior de la pantalla aparecerá el menú de herramientas de Imagen.\nTal y como se puede ver en la captura de pantalla, presionamos el botón girar 90º a la derecha. Después de presionar el botón la imagen rotará 90º y quedará de la siguiente forma:\nNota: Aparte de la opción girar a la derecha 90º, tenemos disponibles las opciones Girar 90º a la izquierda, Reflejar horizontalmente y Reflejar verticalmente. Por lo tanto Libreoffice puede girar imágenes de forma nativa sin ningún tipo de problema. Los más observadores, y probablemente los mas heavy users de la suite ofimática de Microsoft, observaran que con lo comentado hasta el momento no se pueden rotar imágenes a 45 grados o a 25 grados por ejemplo. Si precisamos rotar imágenes con un ángulo determinado tendremos que instalar la extensión Writer Rotation tool.\nPara instalar la extensión accedemos al siguiente enlace. Una vez dentro, tal y como se puede ver en la captura de pantalla, descargamos la extensión guardándola en la carpeta de descargas de nuestra partición home.\nNota: La versión de extensión que tenemos que instalar, tal y como se puede ver en la captura de pantalla, es la 1.0.0. Las versiones 1.0.2 y 1.0.3 de momento no son compatibles con Libreoffice. Una vez descargada la extensión abrimos Writer. Seguidamente accedemos al menú de Herramientas y acto seguido clicamos encima del submenu Gestor de extensiones.\nDespués de presionar en Gestor de extensiones aparecerá la ventana del gestor de extensiones. Tal y como se puede ver en la captura de pantalla, el siguiente paso es presionar encima del botón Añadir.\nAl presionar el botón añadir se abrirá la ventana Añadir extensiones. Una vez abierta la ventana deberemos navegar hacia la ubicación donde descargamos la extensión Writer Rotation tool. Una vez dentro de la ubicación, tal y como se puede ver en la captura de pantalla, seleccionaremos la extensión que queremos instalar y presionaremos sobre el botón Abrir:\nJusto después de presionar el botón Abrir empezará la instalación de la extensión. Si todo va correctamente aparecerá la siguiente ventana para aceptar la licencia de usuario.\nPresionamos el botón Bajar hasta llegar al final del acuerdo de licencia y seguidamente, tal y como se puede ver en la captura de pantalla, presionaremos sobre el botón Aceptar y esperaremos un instante.\nDespués de este instante la extensión ya está instalada. Ahora tan solo tenemos que reiniciar Writer y el proceso habrá finalizado.\nDespués de reiniciar Writer, tal y como se puede ver en la captura de pantalla, veremos que aparece un nuevo icono llamado Rotate.\nPara comprobar que extensión funciona, lo primero que tenemos que hacer es clicar encima de la imagen que queremos rotar para seleccionarla. Una vez seleccionada la imagen, clicamos encima del nuevo icono Rotate. Seguidamente posicionamos el puntero del mouse en cualquiera de los puntos de ancla o nodos de color rojo de la Imagen. Finalmente presionamos el botón izquierdo del mouse y simultáneamente movemos el ratón hacia arriba, hacia abajo o hacia los lados para rotar la imagen.\nROTAR IMÁGENES EN DRAW Rotar imágenes en Draw es sumamente fácil. Una vez abierto Draw e insertada una imagen, lo único que tenemos que realizar es seguir los siguientes pasos:\nSeleccionamos la imagen que queremos rotar. Seguidamente clicamos encima del icono Rotate. El icono Rotate es el que pueden ver en las capturas de pantalla de este apartado dentro del recuadro de color rojo. A continuación posicionamos el puntero del mouse en cualquiera de los puntos de ancla o nodos de color rojo de la imagen que habíamos seleccionado previamente. Finalmente presionamos el botón izquierdo del mouse y simultáneamente movemos el ratón hacia arriba, hacia abajo o hacia los lados para rotar la imagen. Al mover el ratón la imagen girará. En la siguiente captura de pantalla se pueden ver reflejadas gran parte de las acciones a realizar para rotar una imagen en Draw.\nAdemás el icono de Rotate, marcado dentro del recuadro de color rojo, ofrece opciones adicionales a la opción girar.\nTal y como se puede ver en la captura de pantalla, el icono rotate nos permitirá realizar operaciones adicionales como por ejemplo reflejar la imagen, distorsionar la imagen, inclinar la imagen, etc.\nROTAR IMÁGENES EN IMPRESS El procedimiento ha seguir para rotar imágenes en Impress, es exactamente el mismo que se tiene que seguir para rotar imágenes en Draw. Por lo tanto una vez abierto Impress e insertada una imagen, tenemos que seguir los siguientes pasos:\nSeleccionamos la imagen que queremos rotar. Seguidamente clicamos encima del icono Rotate. El icono Rotate es el que pueden ver en las capturas de pantalla de este apartado dentro del recuadro de color rojo. A continuación posicionamos el puntero del mouse en cualquiera de los puntos de ancla o nodos de color rojo de la imagen que habíamos seleccionado previamente. Finalmente presionamos el botón izquierdo del mouse y simultáneamente movemos el ratón hacia arriba, hacia abajo o hacia los lados para rotar la imagen. Al mover el ratón la imagen rotará. En la siguiente captura de pantalla se pueden ver reflejadas gran parte de las acciones a realizar para rotar una imagen en Impress:\nROTAR IMÁGENES EN CALC Finalmente ya solo nos falta explicar como poder rotar imágenes con la hoja de cálculo Calc.\nPara rotar imágenes con Cal tenemos que seleccionar la imagen que queremos rotar. Una vez seleccionada la imagen, presionamos el botón derecho del mouse y aparecerá un menú contextual. Tal y como se puede ver en la captura de pantalla deberemos seleccionar la opción Posición y tamaño\u0026hellip; del menú contextual.\nUna vez seleccionada esta opción, se nos abrirá la ventana posición y tamaño. En ella, tal y como se puede ver en la captura de pantalla, podemos indicar fácilmente el ángulo de rotación que queremos aplicar a la imagen.\nUna vez seleccionando el ángulo de rotación, que en mi caso es de 218º, tan solo tenemos que presionar el botón Aceptar. Después de presionar el botón Aceptar obtendremos el siguiente resultado.\nComo se puede ver en la captura de pantalla, la imagen que habíamos seleccionado inicialmente ha girada 218º.\nCOMPATIBILIDAD DE LAS EXTENSIONES INSTALADAS Seguramente algunos lectores de este post habrán observado que estamos instalando una extensión de OpenOffice en Libreoffice. En principio esto no debe generar ningún tipo de problema, ya que la mayoría de extensiones de OpenOffice son compatibles con Libreoffice.\nPor lo tanto quien quiera ampliar las funcionalidades de su suite ofimática a través de extensiones, tiene que saber que lo puede hacer tanto con extensiones de LibreOffice, que puede descargar del siguiente link:\nhttp://extensions.libreoffice.org/extension-center\nComo con extensiones de Openoffice que puede descargar del siguiente link:\nhttp://extensions.openoffice.org/\n","permalink":"https://geeklandlinux.github.io/posts/rotar-imagenes-en-libreoffice/","summary":"\u003cp\u003ePara iniciar este post, y antes de comentar como rotar imágenes en Libreofffice, voy a comentar a los lectores del blog que la totalidad de los post que redacto lo hago utilizando el programa Writer de Libreoffice.\u003c/p\u003e","title":"Rotar imágenes en Libreoffice"},{"content":"En este artículo mostraremos como un cliente se puede conectar a un servidor SSH, sin la necesidad de estar introduciendo la contraseña cada vez que nos queremos conectar al servidor. La forma de conseguir esto será mediante el uso de un par claves asimétricas.\nLas utilidades que puede tener el hecho conectarse a un servidor SSH sin la necesidad de introducir una contraseña son las que mostraremos a continuación.\nUTILIDADES DE CONECTARSE A UN SERVIDOR SSH SIN CONTRASEÑA El hecho de conectarse a un servidor SSH de forma segura, y sin la necesidad de introducir contraseña, tiene numerosas ventajas. Algunas de las ventajas que tendremos son las siguientes:\nNo tendremos que estar estar recordando e introduciendo contraseñas para conectarnos a un servidor SSH. Además al no introducir nuestra contraseña al autentificarnos, evitaremos que nuestra contraseña pueda ser robada mediante un ataque man in the middle. Es sumamente útil para automatizar tareas de copias de seguridad dentro o fuera nuestra red local. De este modo con Rsync u otras utilidades, podríamos automatizar la tarea de realizar una copia de seguridad semanal del contenido generado en una oficina de Estados Unidos, y que se guarde en una oficina ubicada en España. El envío del contenido de Estados Unidos a España se haría de forma cifrada por medio de SSH, y el proceso seria completamente automático porqué para conectarnos a la oficina de España no tendríamos que introducir ninguna contraseña. Es útil en el caso que necesitemos montar un sistema de archivos remoto con SSHFS. Al poder acceder al servidor SSHFS sin contraseñas podremos hacer que el servidor SSHFS se automonte cuando arranquemos nuestro ordenador. Para automatizar cualquier tipo de conexión remota y de tarea entre un servidor y un cliente. Como ejemplo a lo que acabamos de citar podemos leer el punto 2 de este apartado. Además existen múltiples servidores git que utilizan autenticación mediante claves públicas SSH. Por lo tanto el par de claves asimétricas que crearemos para conectarnos a un servidor SSH, pueden tener otras utilidades, como por ejemplo autentificarnos cuando nos conectamos a nuestro servidor Git.\nSi queremos disponer de las ventajas que acabo de citar, u otras que ustedes puedan imaginar, tan solo tienen que seguir los pasos que mostramos a continuación.\nPASO 1: ASEGURAR QUE EL SERVIDOR SSH ESTÁ INSTALADO Lo primero que tenemos que realizar es asegurarnos que el ordenador que actuará como servidor tiene instalado un servidor SSH. Para ello tan solo tenemos que abrir una terminal y teclear el siguiente comando:\nsudo apt-get install openssh-server Si no se instala ningún paquete nuevo en nuestro sistema operativo, quiere decir que el ordenador que actuará como servidor ya tenía instalado y funcionando el servidor SSH. En el caso de instalarse el paquete openssh-server el servidor SSH se instalará y estará operativo de forma inmediata.\nNota: Hoy en día prácticamente el 100% de distribuciones Linux disponen de un servidor SSH instalado de serie. Por lo tanto este paso casi nadie lo deberia realizar. PASO 2: ASEGURAR QUE EL CLIENTE PODRÁ CONECTARSE AL SERVIDOR También tenemos que asegurarnos que el ordenador que actuará como cliente tenga el software necesario para poderse conectar al servidor SSH. Para ello abrimos una terminal y escribimos el siguiente comando:\nsudo apt-get install openssh-client En el caso de no instalarse ningún paquete nuevo, quiere decir que el cliente ya tenia disponibles los paquetes necesarios para conectarse al servidor SSH. Si se instalan paquetes nuevos, en el momento que finalice la instalación el ordenador cliente se podrá conectar al servidor ssh sin problema alguno.\nNota: Hoy en día prácticamente el 100% de distribuciones Linux disponen de un servidor SSH instalado de serie. Por lo tanto este paso casi nadie lo deberá realizar. PASO 3: CREAR LOS PARES DE CLAVES ASIMÉTRICAS Una vez estamos seguros que el servidor SSH y el cliente tengan los paquetes necesarios, ya podemos generar las claves asimétricas para poder acceder a nuestro servidor SSH sin necesidad de introducir ninguna contraseña.\nPara ello en el ordenador que actuará como cliente tenemos que abrir una terminal y teclear el siguiente comando:\nssh-keygen -b 4096 -t rsa El significado de cada unos de los parámetros del comando es el siguientes:\nssh-keygen : Es el comando que genera el par de claves. -b 4096 : Estamos indicando que la clave asimétrica que se generará tenga un tamaño de 4096 bits. Otros tamaños que podemos elegir por ejemplo son 1024 o 2048. -t rsa : Indica que el algoritmo usado para generar el par de claves tiene que ser el rsa. Otros algoritmos que podemos usar son el dsa, ecdsa, rsa1 y ed25519. Justo después de ejecutar el comando, se nos preguntará la ubicación donde queremos guardar las claves y el nombre que les queremos poner. Cuando nos haga esta pregunta presionaremos la tecla Enter. De este modo las claves que generaremos se guardaran en la ubicación estandard que es la /home/usuario/.ssh/, y tendrán el nombre estandard que es id_rsa.\nSeguidamente se nos preguntará si queremos introducir una contraseña para cifrar nuestra clave privada. Como queremos conectarnos al servidor sin necesidad de introducir ninguna contraseña, presionamos la tecla Enter sin introducir ninguna contraseña.\nFinalmente se nos pregunta que volvamos a introducir la contraseña que acabamos de introducir. Como no hemos introducido ninguna contraseña volvemos a presionar la tecla Enter.\nNota: Al no introducir un password, la clave privada se guarda en nuestro disco duro sin cifrar. Esto veremos más adelante que supone un riesgo de seguridad. Después de realizar estos pasos se crearan las claves asimétricas en la ubicación ~/.ssh. En la siguiente captura de pantalla se puede ver un resumen de todos los pasos realizados.\nSi queremos, tal y como se puede ver en la captura de pantalla, podemos ir a la ubicación ~/.ssh y comprobar que efectivamente se ha creado una clave privada con nombre id_rsa, y una clave pública con nombre id_rsa.pub que es la que deberemos exportar al servidor ssh.\nPASO 4: AGREGAR LA CLAVE PÚBLICA DEL CLIENTE AL SERVIDOR El siguiente paso es exportar la clave pública del ordenador que actúa como cliente, al ordenador que actúa como servidor. Para ello tenemos que realizar los siguientes pasos.\nCrear el archivo donde se guardaran las claves públicas autorizadas (acción en el servidor) En el servidor SSH abrimos una terminal. Una vez abierta la terminal accedemos al directorio ~/.ssh con el siguiente comando:\ncd ~/.ssh Una vez dentro del directorio ~/.ssh, vamos a crear un archivo donde se van a guardar las claves públicas que nuestro servidor aceptará. Para ello tecleamos el siguiente comando en la terminal:\ntouch authorized_keys Una vez tecleado el comando se creará el archivo authorized_keys en la ubicación ~/.ssh, y todos los pasos a realizar en el servidor habrán terminado. En la siguiente captura de pantalla se pueden ver los pasos realizados hasta el momento en el servidor:\nCopiar la clave pública del cliente al servidor SSH (acción en el cliente) Una vez terminado con el servidor, ahora tenemos que trabajar en el ordenador que actuará como cliente.\nEn el ordenador cliente abrimos una terminal. Una vez abierta la terminal accedemos al directorio ~/.ssh, que es la que contiene nuestra clave pública, con el siguiente comando:\ncd ~/.ssh Una vez dentro de la carpeta ~/.ssh exportaremos la clave pública al servidor usando el siguiente comando:\nscp id_rsa.pub joan@192.168.1.14:~/ El significado de cada unos de los parámetros del comando es el siguiente:\nscp : Es el comando scp (secure copy) sirve para copiar archivos de forma cifrada entre un sistema local y un servidor remoto. id_rsa.pub : Es el nombre de la clave pública que queremos copiar al servidor. joan@192.168.1.14:~/ : Es la dirección del servidor donde queremos copiar la clave pública. El usuario del servidor es joan, la ip del servidor es 192.168.1.14 y queremos que la clave pública se guarde en la ubicación home (~/). Nota: Obviamente los comandos de este apartado hay que adaptarlos en función de las características de vuestra red local o de vuestra red externa. Una vez se haya ejecutado el comando, se nos preguntará la contraseña del servidor SSH al que queremos copiar la clave pública. Introducimos la contraseña y justo después de introducirla, la clave pública del cliente se copiara la ubicación home (~/) del servidor SSH. Seguidamente se muestra una captura de pantalla de los pasos realizados en este apartado:\nAutorizar la clave pública del cliente en el servidor (acción en el servidor) Una vez tenemos la clave pública del cliente en la home del servidor, tan solo nos queda introducir la clave pública del cliente a la lista de claves autorizadas del servidor authorized_keys, que creamos en el inicio del paso 4. Para ello seguimos los siguientes pasos.\nEn el servidor tenemos que ir a la ubicación donde hemos copiado la clave pública del cliente. Para ello en la terminal ejecutamos el siguiente comando:\ncd ~/ Una vez ubicados en la home, que es donde copiamos la clave pública, ejecutamos el siguiente comando para añadir la clave pública en el fichero de autorización de claves públicas uthorized_keys:\ncat id_rsa.pub \u0026gt;\u0026gt; ~/.ssh/authorized_keys El significado de cada unos de los parámetros del comando es el siguiente:\ncat : El Comando cat lo usaremos para añadir la clave pública dentro del fichero authorized_keys.\nid_rsa.pub : Es el nombre de la clave pública que queremos autorizar.\n\u0026gt;\u0026gt; ~/.ssh/authorized_keys : Es la ruta del archivo que almacenará las claves públicas autorizadas. La parte del comando \u0026raquo; es importante ya que es la parte posibilita que se añada la clave pública al fichero authorized_keys.\nUna vez ejecutado el comando, la clave pública se copiará al fichero de claves autorizadas. Para comprobar que es que así podemos usar el siguiente comando:\ncat ~/.ssh/authorized_keys Si después de ejecutar el comando nos aparece una clave en pantalla, el proceso ha sido un existo y ya nos podremos conectar al servidor SSH sin necesidad de introducir ninguna contraseña. En la siguiente captura de pantalla se muestran los pasos que se han seguido para autorizar la clave pública:\nNota: Una vez autorizada la clave pública, si queremos podemos borrar el archivo id_rsa.pub ubicado en la home del servidor. COMPROBACIÓN DEL FUNCIONAMIENTO Para comprobar el funcionamiento tan solo tenemos que intentar acceder a nuestro servidor SSH, tal y como lo hacemos de forma habitual. Si lo hacemos, tal y como se puede ver en la captura de pantalla de este apartado, veremos que no se nos pide ninguna contraseña para acceder al servidor SSH.\nFUNCIONAMIENTO DEL PROCESO DE AUTENTIFICACIÓN Una vez implementados los pasos citados en este artículo, es interesante comentar como funciona el proceso de autenticación entre cliente y servidor. El procedimiento de autenticación a grandes rasgos funciona de la siguiente forma:\nCuando el cliente intenta acceder al servidor SSH. Lo primero que hace el servidor es comprobar si la clave pública del cliente está autorizada. Si está autorizada el proceso de autenticación sigue adelante. Si no está autorizada el proceso termina y no podemos acceder al servidor. Si la clave pública del cliente está autorizada por el servidor, el servidor cifra un mensaje con la clave pública del cliente. Una vez el servidor ha cifrado el mensaje lo envía al cliente. El cliente recibe el mensaje del servidor. Una vez recibido el mensaje, el cliente intenta descifrar este mensaje con la clave privada. Si usando la clave privada el cliente descifra el mensaje, el servidor lo detectará y se establecerá la conexión con el servidor SSH. Si el cliente no puede descifrar el mensaje enviado por el servidor, se abortará el proceso de conexión al servidor. CUESTIONES DE SEGURIDAD QUE TENEMOS QUE TENER EN CUENTA Si analizamos el proceso de autenticación del apartado anterior vemos que existe un riesgo importante. Cualquier persona que se apodere de nuestra clave pública y privada, es muy posible que tenga la posibilidad de acceder a nuestro servidor SSH. Sin duda esto es un riesgo en lo que a seguridad se refiere.\nLa solución al problema que acabamos de describir es relativamente sencilla. Lo que deberíamos realizar es introducir una contraseña a nuestra clave privada. De este modo cada vez que quisiéramos entrar en nuestro servidor SSH tendríamos que añadir una contraseña, y aunque alguien pudiera obtener nuestro par de claves no se podría autentificar porqué no sabría la contraseña. Si aplicamos lo que acabo de comentar, para intentar evitar estar poniendo la contraseña constantemente, deberíamos usar ssh-agent para que únicamente tengamos que introducir la contraseña de la clave privada una vez por sesión. Para realizar lo que acabo de describir, y para implementar otras medidas de seguridad, publicaré otro post en un futuro muy cercano.\nA pesar de los riesgos de seguridad existentes, estoy seguro que la gran mayoría de usuarios preferirán usar el método descrito en este post, y por lo tanto no cifrar la clave privada. Por esto he preferido escribir el post de esta forma y dejar el método técnicamente más seguro para más adelante.\nFUENTES DE INFORMACIÓN https://wiki.archlinux.org/index.php/SSH_keys\n","permalink":"https://geeklandlinux.github.io/posts/conectarse-servidor-ssh-sin-contrasena/","summary":"\u003cp\u003eEn este artículo mostraremos como un cliente se puede conectar a un servidor SSH, sin la necesidad de estar introduciendo la contraseña cada vez que nos queremos conectar al servidor. La forma de conseguir esto será mediante el uso de un par claves asimétricas.\u003c/p\u003e","title":"Conexión a servidor SSH sin contraseña"},{"content":"En este post veremos de forma clara y sencilla como podemos proteger el Grub de nuestro ordenador con una contraseña cifrada, y en que casos y porqué motivos se recomienda la protección del gestor de arranque Grub.\nEl proceso para proteger el Grub varia sensiblemente a partir de la versión 2.0 del Grub. No obstante en este post explicaremos como proteger el grub tanto para versiones inferiores a la 2.0 como para versiones superiores a la 2.0.\n¿QUÉ ES EL GRUB? De buen seguro los lectores que en estos momentos estén leyendo este post sabrán sobradamente y mejor que yo que es el Grub. No obstante como nota introductoria al post me parece interesante explicar brevemente que es el Grub.\nEl Grub, (Grand Unified Bootloader), es un gestor de arranque múltiple desarrollado inicialmente para el sistema GNU Hurd. El gestor de arranque grub tiene varias funciones, pero sin duda su misión principal es permitirnos seleccionar el sistema operativo que queremos usar justo en el momento de arrancar nuestro ordenador.\nEn este post no pretendo tampoco entrar en tecnicismos acerca del funcionamiento del Grub. Si alguna vez lo hago escribiré un post especifico para ello. Si alguien precisa más información acerca del gestor de arranque Grub puede consultar el siguiente enlace.\nMOTIVOS PARA PROTEGER EL GRUB Hay gente que realmente se toma molestias para evitar accesos no autorizados a su ordenador a través de permisos de usuarios, de firewalls, de contraseñas, etc. A pesar de esto muchos de estos usuarios olvidan proteger el Grub. Si el Grub de nuestro equipo no está protegido cualquier usuario con un nivel medio/bajo puede realizar las siguientes acciones:\nEditando los parámetros del Grub es fácil acceder a nuestro ordenador como superusuario o usuario root. Si un atacante puede acceder a nuestro equipo como usuario root tendrá el control total del equipo y de la información almacenada en él. Sin necesidad de introducir ningún usuario ni contraseña un atacante puede abrir un interprete de ordenes para intentar recabar información de nuestro equipo, para modificar configuraciones, etc. En el caso de tener el control sobre el Grub, podemos prevenir que ciertos usuarios puedan usar sistemas operativos inseguros, o sistemas operativos que simplemente no queremos que se usen. En definitiva, si no protegemos el Grub, estaremos dejando un agujero de seguridad muy grande a la totalidad de personas que tengan acceso directo a nuestro ordenador. Este agujero de seguridad permitirá al atacante hacerse con el control absoluto de nuestro equipo de forma muy fácil y rápida.\nCASOS EN LO QUE SE ACONSEJA PROTEGER EL GRUB Bajo mi punto de vista, no es necesario que el cien por cien de usuarios protejan el Grub ni sigan las recomendaciones de seguridad que se mencionan en este post. No obstante es recomendable que en los siguientes casos se tomen medidas de seguridad para proteger el Grub:\nEn entornos laborales y profesionales. En situaciones en los que un equipo es compartido por varias personas. En el caso que usemos un ordenador portátil, y no lo tengamos permanente en casa usándolo como un ordenador de sobremesa. En el caso que a menudo tengamos que dejar nuestro equipo informático desatendido en lugares donde transiten personas conocidas/desconocidas. Nota: En principio un usuario con un ordenador de sobremesa que no sale de su casa no tiene necesidad de proteger el Grub. No obstante si lo hace estará añadiendo una capa de seguridad adicional a su equipo. COMO PROTEGER EL GRUB El modo de proteger el Grub será mediante una contraseña o password. Si aplicamos los pasos detallados en este apartado conseguiremos los siguientes resultados:\nBloquear el acceso a la línea de comandos del Grub. Bloquear la posibilidad de edición de las entradas del Grub. Bloquear la posibilidad de ejecución de todas las entradas del Grub. Para obtener los resultados que acabamos de mencionar, tenemos que realizar los siguientes:\nPASO 1: Hacer una copia de seguridad de los archivos de configuración Antes de empezar a modificar la configuración del Grub tenemos que tomar ciertas precauciones. Para ello antes de iniciar todo el proceso realizaremos copias de seguridad de la totalidad de archivos que vamos a modificar. Para hacer las copias de seguridad abrimos una terminal y ejecutamos los siguientes comandos:\nsudo cp /boot/grub/grub.cfg ~/grub.cfg.old sudo cp /etc/grub.d/00_header ~/00_header.old sudo cp /etc/grub.d/10_linux ~/10_linux.old sudo cp /etc/grub.d/30_os-prober ~/30_os-prober.old Estos tres comandos generarán una copia de seguridad de los archivos grub.cfg, 00_header, 10_linux y 30_os_prober en nuestra partición home.\nTambién se aconseja disponer de un liveCD o liveUSB para poder restaurar las copias de seguridad que acabamos de realizar. El liveCD será necesario, porqué si realizamos alguno de los pasos de forma incorrecta, es posible que nuestro sistema operativo no arranque. Para realizar un liveCD o un LiveUSB pueden seguir los pasos que se detallan en el siguiente enlace.\nPaso 2: Definir los usuarios y las contraseñas de los usuarios que podrán modificar el Grub Para definir los usuarios y las contraseñas de los usuarios, que podrán usar la línea de comandos del grub, y ejecutar y editar las entradas del grub, tenemos que abrir una terminal y ejecutar el siguiente comando:\nsudo nano /etc/grub.d/00_header Una vez abierto el editor de textos nano, vamos al final del archivo y tenemos que añadir la lista de usuarios y de contraseñas añadiendo el siguiente texto:\ncat \u0026lt;\u0026lt; EOF set superusers=\u0026#34;root,joan\u0026#34; password root 1234 password joan 4321 EOF Como se puede ver en este texto hemos definido 2 usuarios. El usuario root y el usuario joan. Cada uno de estos usuarios tendrá respectivamente las contraseñas 1234 y 4321. Las partes en color rojo son las que vosotros tenéis que adaptar en función de los usuarios que queráis crear y las contraseñas que queráis establecer.\nPor si a alguien le queda algún tipo de duda de como debería quedar este archivo después del paso 2, les dejo la siguiente captura de pantalla:\nUna vez definidos los usuarios y las contraseñas ya podemos guardar los cambios.\nNota: Los usuarios que definamos en este apartado pueden ser completamente diferentes a los usuarios del sistema. En mi caso los usuarios que he creado son root y joan. Cada uno de los usuarios va separado por una coma. Nota: Los passwords o contraseñas que fijamos para cada uno de los usuarios creados no tienen porqué tener relación alguna con los passwords de los usuarios del sistema. En mi caso, a modo de ejemplo, el usuario root tendrá el password 1234 y el usuario joan tendrá el password 4321. Paso 3: Cifrar las contraseñas de los usuarios Las contraseñas de los usuarios definidas en el paso 2 están disponible en texto plano en el archivo /etc/grub.d/00_header . Obviamente esto no es lo más aconsejable para proteger nuestro equipo. Para solucionar este inconveniente vamos a generar un hash para ocultar las contraseñas que acabamos de crear. Para ello abrimos una terminal y tecleamos el siguiendo comando:\nsudo grub-mkpasswd-pbkdf2 Seguidamente nos saldrá un mensaje en pantalla que nos dirá que introducir la contraseña que queremos ocultar. En mi caso como quiero ocultar la contraseña del usuario joan teclearé:\n4321 Seguidamente, al presionar Enter nos volverá a preguntar de nuevo la contraseña. Por lo tanto vuelvo a teclear:\n4321 Después de introducir la contraseña por segunda vez y presionar Enter, obtendremos el hash de la contraseña del usuario joan. En mi caso el hash es el siguiente:\ngrub.pbkdf2.sha512.10000.42E7FEA05CAAD8D1A3F6233E2FFF098AE3FEDB4A45FE6712E06C68999A907312D86FCE0AFE158E5EEAE5EF4B15B1D889F2A4D004ED2CD206675E1DC1A2847849.53309C627E6DAC144D54F7C159E4EF4DECF73319819EAC4CBF993B5E80FB5B2417C993EAB30F8D0C50B02BC1A8470529780CF6E7776E6A285A5331CB18AFB93A Repetimos el mismo paso para el usuario root, pero usando la contraseña 1234, y obtenemos el siguiente hash:\ngrub.pbkdf2.sha512.10000.4225DF7454926171D5C983990D8ACAB1F274695CA1406D10C228803A83920D7B6FC7D6C9B6CB4CA27107430D13EBAB783D57CFA7134A1A97C5577AA346BF0564.383C1F3C341668D08F02B61CD7069C040D34B576207AC668D3A859329962FA02B69F39E55FD540313FC1B44704828019648E7C8359BBDEBBFB4A73C62895F29B Ahora que hemos obtenido los hash, tan solo tenemos que reemplazar la contraseña que creamos en el paso 2 por el hash. Para ello abrimos una terminal y ejecutamos el siguiente comando:\nsudo nano /etc/grub.d/00_header Localizamos las siguientes lineas en el final del archivo:\ncat \u0026lt;\u0026lt; EOF set superusers=\u0026#34;root,joan\u0026#34; password root 1234 password joan 4321 EOF Una vez localizadas las reemplazamos las contraseñas por los hash del siguiente modo:\ncat \u0026lt;\u0026lt; EOF set superusers=\u0026#34;root,joan\u0026#34; password_pbkdf2 root grub.pbkdf2.sha512.10000.4225DF7454926171D5C983990D8ACAB1F274695CA1406D10C228803A83920D7B6FC7D6C9B6CB4CA27107430D13EBAB783D57CFA7134A1A97C5577AA346BF0564.383C1F3C341668D08F02B61CD7069C040D34B576207AC668D3A859329962FA02B69F39E55FD540313FC1B44704828019648E7C8359BBDEBBFB4A73C62895F29B password_pbkdf2 joan grub.pbkdf2.sha512.10000.42E7FEA05CAAD8D1A3F6233E2FFF098AE3FEDB4A45FE6712E06C68999A907312D86FCE0AFE158E5EEAE5EF4B15B1D889F2A4D004ED2CD206675E1DC1A2847849.53309C627E6DAC144D54F7C159E4EF4DECF73319819EAC4CBF993B5E80FB5B2417C993EAB30F8D0C50B02BC1A8470529780CF6E7776E6A285A5331CB18AFB93A EOF Después de esto tan solo tenemos que guardar los cambios realizados. Para quien tenga algún tipo de duda, dejo la siguiente captura de pantalla en la que podrán ver el texto introducido en el archivo****/etc/grub.d/00_header****:\nAhora cualquiera que quiera consultar nuestras contraseña en el archivo****/etc/grub.d/00_header**** lo tendrá francamente difícil.\nPaso 4: Actualizar la configuración del Grub Finalmente para que los cambios se apliquen para actualizar la configuración del grub. Para ello en una terminal ejecutamos el siguiente comando:\nsudo update-grub2 Con todos pasos realizados hasta el momento la situación es la siguiente:\nSi estamos usando una versión de GRUB inferior a la 2.0, el grub está completamente protegido contra el acceso a la línea de comandos y contra la edición de las entradas.\nSi estamos usando una versión de GRUB igual o superior a la 2.0, el grub está completamente protegido contra el acceso a la línea de comandos, contra la edición de las entradas y contra la ejecución de las entradas del grub.\nPaso 5.1 (Solo para usuarios con versiones de grub inferiores a la 2.0): Bloquear la posibilidad de ejecución de las entradas del Grub Nota: Para saber la versión de Grub que tenemos instalada podemos usar el comando en la terminal: grub-install --version Aunque el acceso a la linea de comandos esté protegida y no podamos editar las entradas, es posible que un usuario pueda ejecutar cualquiera de las entradas del Grub. Si queremos evitar que los usuarios no puedan ejecutar algunas de las entradas del grub, como por ejemplo la entrada de Windows o la de Crunchbang, sin previamente definir un usuario y una contraseña, lo podemos hacer del siguiente modo:\nProteger las entradas pertenecientes al sistema operativo principal En mi caso el sistema operativo principal es Crunchbang, porqué el grub que estoy usando y configurando, y que aparece cuando arranco el ordenador, es el de la distribución Crunchbang. Si queremos que cualquier usuario tenga que poner un usuario y una contraseña para poder ejecutar Crunchbang lo podemos realizar de la siguiente forma:\nAbrimos una terminal y ejecutamos el siguiente comando:\nsudo nano /etc/grub.d/10_linux Una vez abierto el editor de textos localizamos la siguiente linea:\nprintf \u0026#34;menuentry \u0026#39;${title}\u0026#39; ${CLASS} {\\n\u0026#34; \u0026#34;${os}\u0026#34; \u0026#34;${version}\u0026#34; Una vez localizada esta linea, tenemos que modificarla para que los usuarios root y joan tengan que introducir un usuario y contraseña para arrancar Crunchbang. La modificación a realizar es la siguiente:\nprintf \u0026#34;menuentry \u0026#39;${title}\u0026#39; ${CLASS} --users root,joan {\\n\u0026#34; \u0026#34;${os}\u0026#34; \u0026#34;${version}\u0026#34; Una vez añadidas las modificaciones, guardamos los cambios realizados en el fichero de configuración. Abrimos una terminal y actualizamos la configuración del grub aplicando el siguiente comando:\nsudo update-grub2 En estos momentos únicamente los usuarios root y joan podrán acceder a Crunchbang, siempre y cuando introduzcan su usuario y su contraseña de acceso.\nProteger las entradas de otros sistemas operativos Si el menú del grub incluye otros sistemas operativos, aparte del sistema operativo principal, tenemos que realizar los siguientes pasos para proteger las entradas.\nSi en mi caso tengo instalados otros sistema operativos en el disco duro, como por ejemplo Manjaro, Ubuntu, Mac OS X o Windows, y quiero proteger la totalidad de las entradas que aparecen en el Grub, tenemos que abrir una terminal y ejecutar el siguiente comando:\nsudo nano /etc/grub.d/30_os-prober Una vez abierto el editor, si queremos proteger la totalidad de las entradas pertenecientes a sistemas operativos Linux tenemos que localizar la siguiente linea:\nmenuentry \u0026#34;${LLABEL} (on ${DEVICE})\u0026#34; --class gnu-linux --class gnu --class os { Una vez localizada esta linea, tenemos que modificarla para que los usuarios root y joan tengan que introducir un usuario y contraseña para arrancar cualquiera de los sistamas operativos Linux que aparecen en el menú del grub. La modificación a realizar es la siguiente:\nmenuentry \u0026#34;${LLABEL} (on ${DEVICE})\u0026#34; --class gnu-linux --class gnu --class os --users root,joan { Una vez protegidas las entradas correspondientes a Linux si queremos proteger la totalidad de las entradas pertenecientes a sistemas operativos Windows tenemos que localizar la siguiente linea:\nmenuentry \u0026#34;${LONGNAME} (on ${DEVICE})\u0026#34; --class windows --class os { Una vez localizada esta linea, para que los usuarios root y joan tengan que introducir un usuario y contraseña para arrancar cualquiera de los sistemas operativos Windows, tenemos añadir las siguientes modificaciones:\nmenuentry \u0026#34;${LONGNAME} (on ${DEVICE})\u0026#34; --class windows --class os --users root,joan { Una vez protegidas las entradas correspondientes a Linux y Windows, si queremos proteger la totalidad de las entradas pertenecientes a sistemas operativos Mac OS X tenemos que localizar la siguiente linea:\nmenuentry \u0026#34;${LONGNAME} (${2}-bit) (on ${DEVICE})\u0026#34; --class osx --class darwin --class os { Una vez localizada esta linea, para que los usuarios root y joan tengan que introducir un usuario y contraseña para arrancar cualquiera de los sistemas operativos Mac OS X, tenemos añadir las siguientes modificaciones:\nmenuentry \u0026#34;${LONGNAME} (${2}-bit) (on ${DEVICE})\u0026#34; --class osx --class darwin --class os --users root,joan { Una vez añadidas la totalidad de modificaciones en el fichero****/etc/grub.d/30_os-prober****, guardamos los cambios realizados. Una vez guardados los cambios abrimos una terminal y actualizamos la configuración del Grub con el siguiente comando:\nsudo update-grub2 En estos momentos únicamente los usuarios root y joan podrán acceder a sistemas operativos Linux, Windows y Mac OS X, siempre y cuando introduzcan su usuario y su contraseña de acceso.\nPaso 5.2 (Solo para usuarios con versiones de grub superiores a la 2.0): Hacer que ciertas entradas del Grub las pueda usar cualquier persona Nota: Para saber la versión de Grub que tenemos instalada podemos usar el comando en la terminal: grub-install --version Como seguro podréis comprobar, el mecanismo de protección aplicado al Grub es muy agresivo, ya que aparte de proteger el acceso a la linea de comandos y a la edición de entradas, para arrancar cualquiera de los sistemas operativos que aparecen en el Grub tendremos que introducir un usuario y una contraseña.\nSi queremos que algunas de las entradas del grub se puedan ejecutar sin tener que introducir ningún usuario ni contraseña, lo podemos realizar de la siguiente forma:\nDesproteger las entradas pertenecientes al sistema operativo principal En mi caso el sistema operativo principal es Debian, porqué el grub que estoy usando y configurando, y que aparece cuando arranco el ordenador, es el de la distribución Debian. Si queremos que la totalidad de usuarios de nuestro ordenador puedan ejecutar Debian sin necesidad de introducir ningún usuario ni ninguna contraseña lo podemos realizar de la siguiente forma:\nAbrimos una terminal y ejecutamos el siguiente comando:\nsudo nano /etc/grub.d/10_linux Una vez abierto el editor de textos, localizamos las siguientes lineas:\necho \u0026#34;menuentry \u0026#39;$(echo \u0026#34;$title\u0026#34; | grub_quote)\u0026#39; ${CLASS} \\$menuentry_id_option \u0026#39;gnulinux-$version-$type-$boot_device_id\u0026#39; {\u0026#34; | sed \u0026#34;s/^/$submenu_indentation/\u0026#34; else echo \u0026#34;menuentry \u0026#39;$(echo \u0026#34;$os\u0026#34; | grub_quote)\u0026#39; ${CLASS} \\$menuentry_id_option \u0026#39;gnulinux-simple-$boot_device_id\u0026#39; {\u0026#34; | sed \u0026#34;s/^/$submenu_indentation/\u0026#34; Una vez localizadas las lineas, las tenemos que modificar de la siguiente manera:\necho \u0026#34;menuentry \u0026#39;$(echo \u0026#34;$title\u0026#34; | grub_quote)\u0026#39; ${CLASS} --unrestricted \\$menuentry_id_option \u0026#39;gnulinux-$version-$type-$boot_device_id\u0026#39; {\u0026#34; | sed \u0026#34;s/^/$submenu_indentation/\u0026#34; else echo \u0026#34;menuentry \u0026#39;$(echo \u0026#34;$os\u0026#34; | grub_quote)\u0026#39; ${CLASS} --unrestricted \\$menuentry_id_option \u0026#39;gnulinux-simple-$boot_device_id\u0026#39; {\u0026#34; | sed \u0026#34;s/^/$submenu_indentation/\u0026#34; Una vez añadidas las modificaciones, guardamos los cambios realizados en el fichero de configuración. Abrimos una terminal y actualizamos la configuración del grub aplicando el siguiente comando:\nsudo update-grub2 En estos momentos cualquier usuario podrá arrancar el sistema operativo principal, que en mi caso es Debian, sin tener que introducir ningún usuario ni contraseña.\nDesproteger las entradas de otros sistemas operativos Si el menú del grub incluye otros sistemas operativos, aparte del sistema operativo principal, tenemos que realizar los siguientes pasos para desproteger las entradas.\nSi en mi caso tengo instalados otros sistema operativos en el disco duro, como por ejemplo Ubuntu, Mac OS X o Windows, y quiero desproteger la totalidad de las entradas que aparecen en el Grub. Para ello tenemos que abrir una terminal y ejecutar el siguiente comando:\nsudo nano /etc/grub.d/30_os-prober Una vez abierto el editor, si queremos desproteger la totalidad de las entradas pertenecientes a sistemas operativos Linux tenemos que localizar la siguiente linea:\nmenuentry \u0026#39;$(echo \u0026#34;$OS $onstr\u0026#34; | grub_quote)\u0026#39; --class gnu-linux --class gnu --class os \\$menuentry_id_option \u0026#39;osprober-gnulinux-simple-$boot_device_id\u0026#39; { Una vez localizada esta linea, tenemos que modificarla para que cualquiera de los usuarios del ordenador, no tenga que introducir ningún usuario ni contraseña para poder arrancar cualquiera de los sistemas operativos Linux que aparecen en el menú del Grub. La modificación a realizar es la siguiente:\nmenuentry \u0026#39;$(echo \u0026#34;$OS $onstr\u0026#34; | grub_quote)\u0026#39; --class gnu-linux --class gnu --class os \\$menuentry_id_option \u0026#39;osprober-gnulinux-simple-$boot_device_id\u0026#39; --unrestricted { Una vez desprotegidas las entradas correspondientes a Linux, si queremos desproteger la totalidad de las entradas pertenecientes a sistemas operativos Windows tenemos que localizar la siguiente linea:\nmenuentry \u0026#39;$(echo \u0026#34;${LONGNAME} $onstr\u0026#34; | grub_quote)\u0026#39; --class windows --class os \\$menuentry_id_option \u0026#39;osprober-chain-$(grub_get_device_id \u0026#34;${DEVICE}\u0026#34;)\u0026#39; { Una vez localizada esta linea, tenemos que modificarla para que cualquiera de los usuarios del ordenador, no tenga que introducir ningún usuario ni contraseña para poder arrancar cualquiera de los sistemas operativos Windows que aparecen en el menú del Grub. La modificación a realizar es la siguiente:\nmenuentry \u0026#39;$(echo \u0026#34;${LONGNAME} $onstr\u0026#34; | grub_quote)\u0026#39; --class windows --class os \\$menuentry_id_option \u0026#39;osprober-chain-$(grub_get_device_id \u0026#34;${DEVICE}\u0026#34;)\u0026#39; --unrestricted { Una vez desprotegidas las entradas correspondientes a Windows, si queremos desproteger la totalidad de las entradas pertenecientes a sistemas operativos Mac OS X tenemos que localizar la siguiente linea:\nmenuentry \u0026#39;$(echo \u0026#34;${LONGNAME} $bitstr $onstr\u0026#34; | grub_quote)\u0026#39; --class osx --class darwin --class os \\$menuentry_id_option \u0026#39;osprober-xnu-$2-$(grub_get_device_id \u0026#34;${DEVICE}\u0026#34;)\u0026#39; { Una vez localizada esta linea, tenemos que modificarla para que cualquiera de los usuarios del ordenador, no tenga que introducir ningún usuario ni contraseña para poder arrancar cualquiera de los sistemas operativos Mac OS X que aparecen en el menú del Grub. La modificación a realizar es la siguiente:\nmenuentry \u0026#39;$(echo \u0026#34;${LONGNAME} $bitstr $onstr\u0026#34; | grub_quote)\u0026#39; --class osx --class darwin --class os \\$menuentry_id_option \u0026#39;osprober-xnu-$2-$(grub_get_device_id \u0026#34;${DEVICE}\u0026#34;)\u0026#39; --unrestricted { Una vez realizadas la totalidad de modificaciones en el fichero /etc/grub.d/30_os-prober, guardamos los cambios realizados. Una vez guardados los cambios, abrimos una terminal y actualizamos la configuración del Grub con el siguiente comando:\nsudo update-grub2 En estos momentos cualquier usuario podrá arrancar sistemas operativos Windows, Mac OS X o Gnu-Linux, sin tener que introducir ningún usuario ni contraseña.\nFUNCIONAMIENTO DESPUÉS DE PROTEGER EL GRUB Una vez seguidos la totalidad de pasos detallados en este post es posible que tengáis la totalidad, o parte de las entradas, del grub protegidas. Así por lo tanto en el momento que queramos ejecutar nuestro sistema operativo, acceder a la linea de comandos o editar una entrada nos aparecerá la siguiente pantalla:\nUna vez nos aparezca esta pantalla, tan solo tenemos que introducir el usuario y contraseña que hemos establecido y podremos realizar la acción que queremos sin ningún tipo de problema.\nPROTEGER EL GRUB NO ES SUFICIENTE: MEDIDAS ADICIONALES Esta muy bien proteger el Grub con una contraseña para poder evitar los peligros que se citan en este post. Pero a pesar de realizar los pasos citados en este post, un atacante podría fácilmente obtener acceso root a nuestro ordenador con un LiveCD o un LiveUSB. Por lo tanto para intentar evitar esta problemática tenemos que tomar medidas adicionales. Algunas de estas medidas pueden ser las siguientes:\nCifrar las particiones de nuestro disco duro para evitar que desde un LiveCD se puedan montar las particiones de nuestro equipo. Configurar la BIOS/UEFI de nuestro ordenador para que nuestro ordenador no se pueda arrancar mediante un LiveUSB. Proteger la BIOS/UEFI de nuestro ordenador con una contraseña para que nadie pueda modificar la configuración que hemos establecido. Si alguien es muy paranoico incluso podemos llegar a deshabilitar los medios externos de nuestro ordenador como por ejemplo los USB, los CD, el Bluetooth, etc. Limitar el acceso físico a los ordenadores. Esto lo podríamos realizar poniendo los ordenadores dentro de una urna o medio que imposibilite que los usuarios puedan acceder a él. Si no hay acceso físico al ordenador nadie podrá arrancarlo con ningún LiveCD o LiveSUB. ","permalink":"https://geeklandlinux.github.io/posts/proteger-el-grub-con-contrasena/","summary":"\u003cp\u003eEn este post veremos de forma clara y sencilla como podemos proteger el Grub de nuestro ordenador con una contraseña cifrada, y en que casos y porqué motivos se recomienda la protección del gestor de arranque Grub.\u003c/p\u003e\n\u003cp\u003eEl proceso para proteger el Grub varia sensiblemente a partir de la versión 2.0 del Grub. No obstante en este post explicaremos como proteger el grub tanto para versiones inferiores a la 2.0 como para versiones superiores a la 2.0.\u003c/p\u003e","title":"Proteger el grub con contraseña"},{"content":"Me he decidido a escribir un post sobre Zswap por varios motivos. El primero de ellos es complementar una serie de post que escribí en el pasado que hablaban de como optimizar el rendimiento de nuestra memoria RAM. Estos post son los siguientes:\nLiberar memoria cache de nuestra RAM. Limitar el uso de nuestra memoria Swap y limpiarla en el caso que se active. Usar la RAM más eficientemente con ZRAM. Acelerar el inicio de nuestras aplicaciones con Preload. Acelerar el inicio de nuestras aplicaciones con Prelink. Aligerar nuestro sistema operativo con Zswap. El segundo de los motivos es a raíz de leer algunos post y comentarios en redes sociales sobre Zswap, que bajo mi punto de vista no son correctos y contienen imprecisiones. Algunas de las afirmaciones realizadas en estos post y que no estoy de acuerdo son las siguientes:\nZswap está integrado en el Kernel mientras que Zram no lo está. Esto es completamente falso porqué a día de hoy ambas utilidades están integradas en el Kernel. Zswap está integrado en el Kernel a partir de la versión 3.11, mientras que Zram está integrado en el kernel a partir de la versión 3.14. No se recomienda usar Zram y Zswap de forma simultanea ya que ambas no son compatibles. En esto tampoco estoy de acuerdo. Aunque pienso que no tiene mucho sentido hacerlo, se pueden usar simultáneamente estas 2 herramientas sin ningún tipo de problema ya que las 2 funcionan de forma diferente y no se deberían generar conflictos. De hecho durante varios días he usado Zram y Zswap de forma simultanea y no he observado ningún tipo de anomalía. También en algunos post y redes sociales leo que Zram únicamente es válido para equipos con pocos recursos, mientras que Zswap mejora el rendimiento en todo tipo de ordenadores. No entiendo el porqué de tal afirmación porqué un equipo cuando se queda sin memoria RAM da igual que sea viejo o nuevo. Zram y Zswap realizaran su función independientemente de los recursos que tenga el ordenador, y en el caso de tener un ordenador con muchos recursos ni Zram ni Zswap llegaran a trabajar porqué irán sobrados de memoria RAM. Una vez vistos estos puntos pasaremos a ver que es Zswap, como funciona y como lo podemos usar.\n¿QUÉ ES ZSWAP? Zswap es un módulo del kernel de Linux desarrollado por Seth Jennings. Zswap se incorpora al Kernel de Linux a partir de la versión 3.11 y su principal función, al igual que Zram, es evitar la paginación en disco para de esta forma poder incrementar el rendimiento de nuestro sistema.\nA pesar de que el propósito de Zram y Zswap sea similar, la forma que tienen para intentar conseguir esta finalidad es muy diferente y lo veremos en los siguientes apartados de este post.\nFUNCIONAMIENTO DE ZSWAP A grandes rasgos el funcionamiento de Zswap es el que se describe en este apartado:\nPartimos de la situación de una memoria RAM y una partición Swap vacías:\nA medida que vayamos usando nuestro equipo se dará perfectamente esta situación:\nCuando se genera la necesidad de paginación, en vez de pasar el contenido a la partición Swap lo que hace Zswap es lo siguiente:\n1- El contenido que se tendría que trasladar a la partición Swap se comprimirá y se intentará ubicar en una parte reservada de nuestra memoria RAM denominada Zswap.\n2- Si el contenido que hay que ubicar en el espacio Zswap tiene una tasa de compresión baja, u es susceptible de generar problemas/errores, entonces Zswap paginará toda esta información a la partición Swap realizando un paginación de disco normal y corriente. Por lo tanto para usar Zswap precisamos sí o sí de una partición Swap en nuestro equipo.\n3- Si el contenido a paginar tiene una tasa de compresión aceptable, y no es susceptible de generar problemas, entonces se almacena en la memoria RAM evitando o retardando su paginación. La información detallada en los puntos 1, 2 y 3 se puede representar en el siguiente diagrama:\nNota: Si observamos el diagrama que acabamos de representar veremos que hay parte del contenido paginado en Zswap y la otra parte en la partición Swap. Los motivos de esta separación son los que se explican en los puntos 2 y 3. 4- En el caso que la memoria reservada de nuestra RAM (Zswap) se llene, entonces se vaciará. El contenido vaciado se trasladará a la partición Swap realizando un paginación de disco normal y corriente. Por lo tanto, de nuevo volvemos a ver que Zswap requiere de una partición Swap para poder funcionar.\nPor lo tanto, descrito de forma muy genérica, Zswap hace de capa intermedia o puente entre la gestión memoria y nuestra partición Swap. Esto sin duda es muy distinto a lo realizado por ZRAM que en ningún caso hace de puente con la partición Swap.\nUna vez visto como funciona Zswap, si quieren ver como funciona Zram tan solo tienen que consultar el siguiente enlace. Si comparan el funcionamiento verán que efectivamente el funcionamiento de las 2 herramientas es muy diferente.\nBENEFICIOS APORTADOS POR ZSWAP El resultado de todo esto proceso teóricamente debe aportar una serie de beneficios. Estos beneficios se pueden resumir en la siguiente lista:\nReducir la paginación en disco ayuda a prolongar la vida de un disco SSD. Al reducir la paginación en disco se gana fluidez en el sistema. La mayoría de personas que lean este artículo seguro que serán conscientes del impacto negativo, en lo que rendimiento se refiere, que se genera cuando se inicia la paginación de disco. Además de evitar la paginación del disco, también se dice que la lectura del contenido comprimido almacenado en el espacio reservado de Zswap, es más rápida que la lectura del contenido almacenado en la Swap. Por lo tanto este es otro factor que ayudará a que nuestro sistema operativo funcione con mayor fluidez. Nota: Que cada uno juzgue si Zswap, u otras opciones similares, incrementan el rendimiento de su ordenador por si mismo. Es cierto que tanto Zram como Zswap reducirán la paginación en disco, pero cabe tener en cuenta que lo harán a costa de que la CPU del ordenador trabaje más. Por lo tanto es posible que lo que se gane por un lado se pierde por otro. Nota: Según la información que se detalla en la web kernel.org Zswap aun se considera una característica experimental del kernel ya que no ha podido ser testeada todo lo necesario. COMO USAR ZSWAP EN CUALQUIER DISTRIBUCIÓN LINUX Antes explicar como se puede activar Zswap, es necesario asegurar que cumplimos con los requisitos mínimos para poder utilizar esta característica. Los requisitos mínimos para poder usar Zswap son los siguientes:\nPrecisamos de una partición Swap en nuestro ordenador. La versión de Kernel que estemos usando tiene que ser como mínimo la 3.11. Nota: Es necesario realizar esta puntualización porqué en algún que otro blog he visto como están realizando pruebas de uso de Zswap sin disponer de partición Swap. Si se cumplen estos dos requisitos podemos probar Zswap de la siguiente forma:\nAbren una terminal y ejecutan el siguiente comando:\nsudo leafpad /etc/default/grub Nota: En mi caso utilizo el editor de texto lefpad. Vosotros tenéis que sustituir leafpad por el nombre del editor de texto que acostumbréis a usar habitualmente. Una vez se abra el editor de texto tendremos que localizar una linea que empiece por el siguiente texto:\nGRUB_CMDLINE_LINUX_DEFAULT En mi caso la linea mencionada contiene la siguiente información:\nGRUB_CMDLINE_LINUX_DEFAULT=\u0026#34;quiet\u0026#34; Dentro de las comillas, justo al final tenemos que añadir zswap.enabled=1. Una vez realizado esto la linea modificada, en mi caso, quedará de la siguiente forma:\nGRUB_CMDLINE_LINUX_DEFAULT=\u0026#34;quiet zswap.enabled=1\u0026#34; Una vez realizadas las modificaciones se guarda el archivo. Una vez guardado el archivo tenemos que actualizar el grub para que se inicie Zswap en el próximo arranque de nuestro sistema operativo. Para ello abrimos una terminal y ejecutamos el comando:\nsudo update-grub Una vez actualizado el grub tan solo tenemos que reiniciar el ordenador. Una vez reiniciado el ordenador ya tan solo tenemos que comprobar que Zswap esté activado y funcionando. Para ello abrimos una terminal y usamos el siguiente comando:\ndmesg | grep zswap Si obtenemos un resultado parecido al de la siguiente captura de pantalla podemos estar seguros que Zswap esta activado y funcionando:\nNota: En la captura de pantalla se puede ver que uso simultáneamente Zram y Zswap. Actualmente estoy experimentando si tener activadas las 2 opciones genera algún tipo de conflicto y de momento me atrevería a decir que no. PARÁMETROS QUE SE PUEDEN CONFIGURAR EN ZSWAP No lo recomiendo a nadie. Pero a quien le guste experimentar sin preocuparle lo que pueda pasar puede modificar las siguientes opciones:\nPorcentaje de memoria que puede ocupar zswap Es el tanto por ciento de memoria RAM que queremos emplear para Zswap. El valor por defecto es del 20%. Por lo tanto si tuviéramos 10 GB de memoria RAM, estaríamos empleando 2GB para Zswap. Si queremos modificar este valor podemos teclear el siguiente comando en la terminal:\nsudo nano /sys/module/zswap/parameters/max_pool_percent Una vez se abra el editor de texto nano, tan solo tendremos que remplazar el valor 20 por el que nosotros consideremos apropiado.\nAlgoritmo de compresión usado por Zswap También podemos seleccionar el algoritmo de compresión que usa Zswap. Por defecto el algoritmo de compresión usado es lzo. Si queremos lo podemos reemplazar por lz4. Para ello tenemos que teclear el siguiente comando en la terminal:\nsudo nano /sys/module/zswap/parameters/compressor Una vez se abra el editor de texto nano, tan solo tendremos que remplazar el valor lzo por lz4.\nNota: El algoritmo de compresión lz4 tiene una tasa de compresión menor a lzo, pero la velocidad de compresión es mucho mayor y se requiere menos carga de CPU para elaborar el proceso. Nota: Según un post escrito por Jennifer Hopper, persona que colabora con el desarrollador de Zswap, también podemos configurar otro parámetro llamado max_compressed_page_size. Este parámetro lo que hace es definir el tamaño máximo que puede admitir una página comprimida. Si el tamaño de la página comprimida es superior al especificado entonces la paginación se hará directamente a la memoria Swap. A pesar del artículo escrito y de tal información, no he encontrado en ninguna parte como modificar este parámetro. Nota: Es posible que el post contenga algún error ya que la gestión de memoria no es un tema fácil. Por lo tanto si alguien detecta algo a mejorar que lo diga argumentando el porqué de la modificación a realizar. FUENTES DE INFORMACIÓN Les recomiendo encarecidamente que consulten las fuentes de información que se detallan a continuación:\nEl primero de los links corresponde a un artículo realizado por fuentes cercanas del desarrollador de Zswap. En este link podremos ver datos adicionales sobre Zswap y también mediciones de rendimiento:\nhttps://www.ibm.com/developerworks/community/blogs/fe313521-2e95-46f2-817d-44a4f27eba32/entry/new_linux_zswap_compression_functionality7?lang=en\nEn el segundo de los links veremos un test de rendimiento realizado por un usuario final cualquiera. Como podrán ver en el enlace, el resultado obtenido por este usuario no fue positivo:\nhttp://www.hecticgeek.com/2013/11/zswap-responsiveness-ubuntu/\n","permalink":"https://geeklandlinux.github.io/posts/aligerar-el-sistema-con-zswap/","summary":"\u003cp\u003eMe he decidido a escribir un post sobre Zswap por varios motivos. El primero de ellos es complementar una serie de post que escribí en el pasado que hablaban de como optimizar el rendimiento de nuestra memoria RAM. Estos post son los siguientes:\u003c/p\u003e","title":"Aligerar el sistema con zswap"},{"content":"En España, después de la entrada en vigor de la nueva ley de propiedad intelectual, prácticamente la totalidad de las apps existentes para ver series y películas en streaming con nuestros dispositivos Chromecast en Android e iOS han desaparecido. Por lo tanto a día hoy, para muchas personas es completamente imposible ver series online en streaming con su chromecast.\nCon el fin de solucionar este “problema” escribo este post. A pesar que el grado de comodidad no será el mismo que antes podremos seguir viendo la totalidad de contenido que podíamos ver en el pasado sin ningún tipo de problema.\nLos pasos a realizar para ver series y películas en streaming con chromecast son los siguientes:\nPASO 1: LOCALIZAR LOS ENLACES QUE CONTIENEN EL VÍDEO QUE QUEREMOS VER Obviamente después del cierre de seriespepito, peliculaspepito, series.ly, etc, los enlaces se deberán conseguir a través de otras fuentes. Afortunadamente aún siguen existiendo multitud de fuentes para encontrar enlaces. Algunas de las fuentes que a día de hoy podemos usar son las siguientes:\nWebs de enlaces de para ver series y películas: https://pepecine.online/ https://www.megadede.com/ http://www.seriestotales.com/ http://www.dilo.nu/ https://yonkis.to/ http://seriesdanko.to/ http://hdfull.tv/ https://vidcorn.com/\nWebs de enlaces para ver películas: https://www.megadede.com/ http://www.pelisplus.tv/\nNota: En el paso 1 he dejado multitud de links para encontrar enlaces. El tiempo dirá que servicio, de los citados, prevalece sobre los demás. PASO 2: INSTALAR LA APLICACIÓN PARA TRANSMITIR LOS ENLACES AL CHROMECAST Usuarios de Android Los usuarios de Android tienen 2 opciones. La primera de ellas es instalar la aplicación Vidownload. Esta Aplicación permite reproducir links/enlaces que contienen vídeo a través de nuestro dispositivo chromecast. Además también permite descargar el contenido de los links.\nEsta aplicación no se halla disponible en la tienda de google. Para poder descargarla e instalarla lo pueden realizar a través de la tienda Aptoide o a través de la página web de los desarrolladores. Para poder descargar e instalar el archivo apk a través de la web de los desarrolladores pueden utilizar el siguiente link.\nLa segunda de las opciones que tienen los usuarios de Android es instalar la aplicación WebVideoCaster. Esta aplicación es un navegador web que mientras estamos navegando detecta los vídeos compatibles con Chromecast. Una vez detectados los vídeos los permite reproducir en el chromecast sin ningún tipo de problema. Quien quiera instalar esta aplicación lo puede hacer tranquilamente a través del siguiente enlace que le dirigirá a la google play Store.\nUna vez instaladas cualquiera de las 2 aplicaciones ya podemos pasar al paso número 3.\nNota: Las 2 App para Android citadas en este apartado son completamente gratuitas. Usuarios de iOS Los usuarios de iOS tienen que instalar cualquiera de estas 2 aplicaciones:\nVideo Web Downloader Videoexplorer Para instalar cualquiera de estas dos Apps solamente tienen que acceder a la Appstore y proceder a su compra.\nLas 2 aplicaciones que acabo de citar son muy similares. Ambas son navegadores web que mientras estamos navegando detectan los vídeos compatibles con Chromecast. Una vez detectados los vídeos, estas aplicaciones nos permitirán reproducir estos vídeos en streaming a través del Chromecast. Personalmente recomiendo instalar Video Web Downloader porqué es la que yo tengo y me funciona.\nUna vez instalada una de estas 2 apps en nuestro dispositivos con iOS, ya podemos pasar al paso siguiente paso.\nNota: Las dos aplicaciones citadas para iOS son de pago. Cada una de las App recomendadas tiene un coste de 1.79 Euros PASO 3: COMO USAR LA APP PARA VER SERIES O PELÍCULAS Usuarios de Android Opción 1 Una vez hemos terminado la instalación de vidownload ya podemos empezar a ver series y películas de nuevo. Para ello lo primero que tenemos que hacer es buscar los enlaces. En este ejemplo voy a obtener los enlaces de seriesyonkis.sx para visualizar la serie falling skies.\nPara ello accedemos a la web de https://yonkis.to/ . Una vez dentro de la web buscamos la serie de Falling Skies.\nTal y como se puede ver en la captura de pantalla, una vez encontrada la serie y el capítulo que queremos visualizar, tan solo tenemos que seleccionar el servidor. En mi caso elijo uno de los enlaces que funciona con el servidor Streamcloud porqué últimamente es el servidor que funciona mejor.\nUna vez seleccionado el servidor nos aparecerá la siguiente pantalla:\nDejamos el dedo presionado encima de Reproducir Ahora. A los pocos segundos, tal y como se puede ver en la captura de pantalla, nos aparecerá la siguiente pantalla:\nEn ella podemos ver el enlace que estamos buscando. Para copiarlo tenemos que presionar encima de la opción Copiar dirección de enlace. En estos momentos el proceso para obtener el enlace ha terminado.\nNota: El proceso de obtención de los enlaces variará en función de la web en la que vayamos a obtener los enlaces. No obstante en todas y cada una de las webs citadas el proceso es intuitivo. Una vez hemos obtenido el enlace abrimos la aplicación Vidownload.\nUna vez abierta, el primer paso es clicar encima del icono del chromecast para sincronizar la aplicación Vidownload con el chromecast.\nSeguidamente, en el recuadro que se muestra en la captura de pantalla, pegaremos el enlace que obtuvimos en seriesyonlies.sx. Una vez pegado el enlace tan solo tenemos que presionar encima del botón de Cargar Enlace y esperar que el contenido se visualice en nuestro televisor.\nUsuarios de Android Opción 2 A quien no le guste Vidownload tiene la opción de usar Web Video Caster. Para ver el uso de Web Video Caster veremos un ejemplo. En el ejemplo se mostrará como visualizar Breaking bad a través de la web watchtvseries.se\nPara ello abrimos la aplicación Web Video Caster. En la parte superior derecha verán el icono de Chromecast. Una vez localizado el icono de Chromecast lo presionamos para conectar la aplicación Web Video Caster con nuestro Chromecast.\nSeguidamente accedemos a la web http://watchtvseries.se/ y buscamos la serie Breaking Bad.\nTal y como se puede ver en la captura, una vez encontrada la serie presionamos encima del capítulo que queremos ver. En mi caso presionaré encima del capítulo número 1. Seguidamente aparecerá la siguiente pantalla:\nAhora tenemos que seleccionar el servidor que queremos usar para visualizar el capítulo. En mi caso, tal y como se puede ver en la captura de pantalla, seleccionaré el servidor de Streamcloud ya que son los que mejor funcionan.\nUna vez seleccionado el servidor aparecerá otra pantalla:\nEn esta pantalla deberemos presionar el botón de Click here to play. Seguidamente aparecerá otra pantalla:\nEn esta pantalla deberemos esperar unos 10 segundos. Una vez pasado el tiempo de espera deberemos presionar encima del botón ver vídeo ahora. Finalmente ya estamos en la página para poder visualizar el vídeo.\nAhora tan solo tenemos que presionar encima del botón play que aparece encima del reproductor de vídeo, y el capítulo 1 de breaking bad empezará a reproducirse en nuestro televisor.\nUsuarios de iOS Una vez hayamos terminado la instalación de Video Web Downloader ya podremos empezar a ver series y películas en streaming con nuestro Chromecast sin ningún tipo de problema.\nEn este caso, para poner un ejemplo, accederemos a la web de megadede.com y visualizaremos el último capitulo disponible de la serie Naruto Shippuden. Para ello tal y como se puede ver en la captura de pantalla accedemos a la web de https://www.megadede.com/ y buscamos la serie que queremos visualizar:\nUna vez encontrada la serie presionamos encima del icono del chromecast para sincronizar la aplicación con el chromecast. Seguidamente presionamos encima del botón de Ver Enlaces. Después de presionar encima del botón de ver enlaces aparecerá la siguiente pantalla:\nEn está pantalla hay que seleccionar el servidor que usaremos para ver Naruto. En mi caso selecciono el servidor de allmyvideos.net. Una vez seleccionado el servidor, aparecerá otra pantalla en la que deberemos presionar de nuevo encima del botón botón Ver Enlaces. Después de presionar encima del botón aparecerá una pantalla parecida a la siguiente:\nPresionan encima del botón Continue to Video y seguidamente aparecerá la siguiente pantalla:\nAhora tan solo tenemos que presionar en uno de los 2 enlaces que aparecen en la parte inferior de la pantalla. Después de presionar a uno de los 2 enlaces, tal y como se puede ver en la captura de pantalla, aparecerá un listado de opciones de reproducción en el que tenemos que seleccionar Reproducir en Chromecast. Después de esto tan solo nos resta esperar unos segundos para empezar a visualizar la serie en nuestro televisor.\n","permalink":"https://geeklandlinux.github.io/posts/ver-series-y-peliculas-en-streaming-con-chromecast/","summary":"\u003cp\u003eEn España, después de la entrada en vigor de la nueva ley de propiedad intelectual, prácticamente la totalidad de las apps existentes para ver series y películas en streaming con nuestros dispositivos Chromecast en Android e iOS han desaparecido. Por lo tanto a día hoy, para muchas personas es completamente imposible ver series online en streaming con su chromecast.\u003c/p\u003e","title":"Ver series y películas en streaming con chromecast"},{"content":"Muchas personas estoy seguro que en determinadas ocasiones se hacen la pregunta de si su operador de Internet les está ofreciendo un servicio decente y un servicio ajustado al que están ofertando. Por este motivo me he decidido a escribir este post en el que detallaremos una metodología para poder realizar un test adsl de nuestra conexión a Internet.\nPara realizar el test adsl que se detalla en los siguientes apartados de este post, es estrictamente necesario que solo este conectado a Internet el dispositivo con el que haremos las pruebas. Además se aconseja que esté dispositivo este conectado a Internet vía Cable. En el caso de realizar las pruebas conectados vía Wifi aseguraos que la señal que llega a nuestro dispositivo sea óptima.\nREALIZAR UN TEST DE VELOCIDAD ONLINE La primera parte del test adsl es un simple test de velocidad. Para realizar el test de velocidad puedes visitar la siguiente página web:\nTest de Velocidad Online\nDespués de clicar el link se abrirá el navegador web de vuestro ordenador y se accederá a una página web para poder realizar el test de velocidad. Tal y como se puede ver en la siguiente captura de pantalla, para empezar con el test tenemos que presionar el botón Iniciar:\nUna vez presionado el botón hay que esperar unos segundos para que se realice el test. Una vez realizado obtendréis unos resultados parecidos a los siguientes:\nVelocidad de bajada: La velocidad de bajada obtenida en mi caso es de 7 Mbps. La velocidad que tengo contratada con mi operador de Internet es de 10 Mbps. Por lo tanto la velocidad de bajada real es 3 megas inferior a la velocidad contratada. Personalmente en mi caso estoy tranquilo ya que estoy obteniendo un 70% de mi velocidad contratada. El valor del 70% no es malo ya que tenemos que tener en cuenta que los operadores de Internet en España que venden ADSL están ofertando velocidades brutas y no netas. Por lo tanto a la velocidad bruta o contratada hay que restarle entre un 12 y un 15% de la velocidad que es la que se comen los diferentes protocoles de datos como por ejemplo PPPoE, PPPoA y TCP/IP.\nPara valorar la velocidad de bajada obtenida pueden utilizar la siguiente guía:\n% Sobre la velocidad contratada Valoración 90-100 % Es prácticamente imposible obtener estos valores en la actualidad en lineas ADSL. Si obtenemos estos valores no tenemos que preocuparnos. 80-90 % Es un excelente resultado y tenemos que estar más que satisfechos. 60-80 % Son valores que a priori son normales y por lo tanto no tenemos que preocuparnos. Inferior al 60 % Aconsejaría realizar algún tipo de acción para solucionar está situación. Nota: La velocidad de bajada es la velocidad máxima que podemos llegar a tener al descargar una canción, un película o una foto desde internet a nuestro ordenador. La mayoría de veces no alcanzaremos esta velocidad porqué el servidor del cual nos descargamos el contenido tiene una limitación del ancho de banda que ofrece a los clientes que se conectan. Velocidad de subida: En mi caso la velocidad de subida contratada es 1Mbps. La velocidad de subida real es de 0,67 Mbps y por lo tanto, al igual que en el caso anterior, estoy obteniendo un 70% de la velocidad de subida contratada. Por lo tanto por el mismo razonamiento realizado con la velocidad de bajada no debería preocuparme por los resultados obtenidos en el test de velocidad de subida.\nNota: La velocidad de subida es la velocidad que tendremos al subir contenido de nuestro ordenador a Internet. Por lo tanto a mayor velocidad de subida, más rápidamente podremos subir contenido Dropbox, colgar fotos en Facebook, enviar mails con archivos adjuntos grandes, etc. Ping o tiempo de latencia: El valor obtenido en mi caso es de 60ms. Este valor entra dentro de la normalidad y por lo tanto no tengo que preocuparme en exceso. Para valorar el ping obtenido se puede usar la siguiente guía:\nPing obtenido Valoración 40-90 ms Son valores normales. No hay que preocuparse. 90-200 ms Es posible que haya un problema. Pero obtener valores de 90 a 200 ms no quiere decir que el servicio del operador sea malo ya que el ping depende de múltiples factores como por ejemplo el estado de la linea, la ubicación del servidor al que nos conectamos para realizar el test, etc. Por lo tanto antes de tomar acciones se recomienda hacer pruebas de ping durante varios días, y probar con distintos tipos de test de velocidad que encontrarán en Internet. Superior a 200ms Son valores muy altos. Es más que posible que tengamos un problema y tendemos que comunicarlo a nuestro proveedor de Internet. Nota: El Ping es el tiempo que tarda una señal o paquete de datos en viajar desde nuestro ordenador a un servidor ubicado en Internet, y desde el servidor ubicado en Internet a nuestro ordenador. Jitter: En mi caso la medida de Jitter es de 3ms. Por lo tanto puedo estar tranquilo ya que en principio 3 ms es un valor que entra dentro de la normalidad. Para valorar el resultado de Jitter pueden usar la siguiente tabla comparativa:\nJitter obtenido Valoración Inferior a 10 ms Es un valor Excelente Entre 10 y 20 ms Son buenos valores que no deberían proporcionar ninguna anomalía. Entre 20 y 50 ms Se consideran valores que están dentro de un rango que se considera Aceptable. Mayor de 50 ms Si obtenemos valores de Jitter por encima de 50 ms tenemos que empezar a preocuparnos y comunicarlo a nuestro operador de Internet. Nota: El Jitter es un valor que indica la variabilidad entres sucesivas mediciones de ping. Por lo tanto en el hipotético caso que obtuviéramos un Jitter de cero ms significaría que las mediciones de ping siempre nos darían el mismo valor. Si Los valores obtenidos hasta el momento son normales, en principio podemos estar tranquilos y no hace falta profundizar mucho más. En el el caso que los valores obtenidos no sean buenos o quieran indagar un poco más, pueden seguir analizando los parámetros que mostraremos a continuación.\nNota: Los resultados obtenidos en este apartado por medio de los test de velocidad deben ser tomados como orientativos. Existen muchas variables que pueden hacer que el valor obtenido en estos tests no sea del todo real como, por ejemplo, la carga de los servidores con los que estamos realizando el test de velocidad, la ubicación geográfica de los servidores con los que realizamos el test, etc. VELOCIDAD DE SINCRONIZACIÓN La segunda parte de nuestro test adsl consiste en analizar la velocidad de sincronización.\nLa velocidad de sincronización es la velocidad con la que nuestro Router se sincroniza con la central que nos provee servicio de Internet.\nPara averiguar nuestra velocidad de sincronización tenemos que acceder a la configuración de nuestro Router. Para ello abrimos nuestro navegador y en la barra de direcciones tecleamos la puerta de entrada de nuestro Router, que en la mayoría de casos será 192.168.1.1. Presionamos Enter y seguidamente tendremos que introducir nuestro nombre de usuario y contraseña. Después de introducir nuestro usuario y contraseña ya estaremos dentro de la configuración de nuestro Router.\nUna vez dentro de la configuración de nuestro Router tendremos que navegar dentro de las distintos menús existentes hasta encontrar las propiedades Line Rate Upstream y Line Rate Downstream, que es donde se indicará la velocidad de sincronización de subida y la velocidad de sincronización de bajada.\nTal y como se puede ver en la captura de pantalla, si disponen de un router Comtrend AR-5387un, tendrán que clicar encima del apartado Device Info. Seguidamente nos aparecerán los valores de nuestra velocidad de sincronización.\nNota: Cada modelo de Router tiene su propia interfaz web. Por lo tanto es posible que en vuestro caso la velocidad de sincronización se halle en menú diferente a Device Info. Tan solo tienen que buscar un poco y lo encontrarán fácilmente. Tal y como se puede ver en la captura de pantalla, la velocidad de sincronización de bajada en mi caso es de 10 Mb, y la de subida es de 0,8 Mb. Por lo tanto no me puedo quejar en absoluto ya que la velocidad de sincronización es prácticamente la misma velocidad que la que tengo contratada.\nLa velocidad de sincronización que acabamos de ver no será una velocidad fija, ya que cada vez que apagamos y encendamos el router variará debido al proceso que utiliza el Router para sincronizar con la central.\nEn este apartado es difícil valorar qué velocidad de sincronización es aceptable y cuál no es aceptable, porqué la velocidad de sincronización que obtengamos estará fuertemente influenciada por la distancia de nuestro domicilio a la central que nos provee de Internet. Como en mi caso estoy solo a 900 metros de la central, los valores obtenidos son buenos. Factores secundarios que pueden influir en la velocidad de sincronización son la temperatura, el modelo de Router, etc.\nComo guía indicativa podemos usar las siguientes tablas para realizar una valoración muy superficial.\nEn el caso que dispongamos de una conexión ADSL2+ podemos usar los siguientes valores de referencia:\nDistancia a la central Velocidad de sincronización 0.9 Km 24 Mb 1.3 Km 24 Mb 1.6 Km 23 Mb 1.8 Km 21 Mb 2.2 Km 16 Mb 2.4 Km 14 Mb 2.6 Km 12 Mb 2.9 Km 10 Mb 3.2 Km 8 Mb 3.5 Km 6 Mb 4.1 Km 4 Mb 5.0 Km 2 Mb Nota: En el caso de vivir en España podéis tener una idea aproximada de la distancia de la central a nuestra domicilio accediendo al siguiente link. Quien disponga de una conexión ADSL del tipo ADSL2:\nDistancia a la central Velocidad de Sincronización 0.9 Km 12 Mb 1.3 Km 12 Mb 1.6 Km 11 Mb 1.8 Km 11 Mb 2.2 Km 10 Mb 2.4 Km 10 Mb 2.6 Km 9 Mb 2.9 Km 9 Mb 3.2 Km 8 Mb 3.5 Km 6 Mb 4.1 Km 4 Mb 5 Km 2 Mb Nota: En el caso de vivir en España podéis tener una idea aproximada de la distancia de la central a nuestro domicilio accediendo al siguiente link. Quien disponga de una conexión ADSL del tipo ADSL, las velocidades de sincronización esperadas son las siguientes:\nDistancia a la central Velocidad de Sincronización 0.9 Km 8 Mb 1.3 Km 8 Mb 1.6 Km 8 Mb 1.8 Km 8 Mb 2.2 Km 8 Mb 2.4 Km 8 Mb 2.6 Km 7 Mb 2.9 Km 7 Mb 3.2 Km 7 Mb 3.5 Km 6 Mb 4.1 Km 4 Mb 5 Km 2 Mb Nota: En el caso de vivir en España podéis tener una idea aproximada de la distancia de la central a nuestro domicilio accediendo al siguiente link. Quien disponga de una conexión ADSL del tipo VDSL2, las velocidades de sincronización esperadas son las siguientes:\nDistancia a la central Velocidad de Sincronización 0 Km 100 Mb 0.15 Km 65 Mb 0.3 Km 54 Mb 0.61 Km 38 Mb 1 Km 30 Mb 1.5 Km 15 Mb 2 Km 10 Mb 2.6 Km 8 Mb 3 Km 6 Mb 4 Km 3 Mb 5 Km 1 Mb Nota: En el caso de vivir en España podéis tener una idea aproximada de la distancia de la central a nuestro domicilio accediendo al siguiente link. ANÁLISIS DE LA ATENUACIÓN La tercera parte del test adsl será analizar la atenuación de nuestra conexión a Internet.\nExplicado de forma sencilla, la atenuación no es nada más que un valor que nos indica la diferencia entre la potencia emitida por la central que nos provee de servicio de Internet y la potencia recibida en nuestro hogar. Por lo tanto cuanto, más baja sea la diferencia entre la potencia emitida y la potencia recibida, mejor será nuestra conexión a Internet.\nPara averiguar nuestra atenuación tenemos que acceder a la configuración de nuestro Router. Para ello abrimos nuestro navegador y en la barra de direcciones tecleamos la puerta de entrada de nuestro Router, que en la mayoría de casos será 192.168.1.1. Presionamos Enter y seguidamente tendremos que introducir nuestro nombre de usuario y contraseña. Después de introducir nuestro usuario y contraseña ya estaremos dentro de la configuración de nuestro Router.\nUna vez dentro de la configuración de nuestro Router, tendremos que navegar dentro de las distintos menús existentes hasta encontrar la propiedad Attenuation (line attenuation o ATTEN) que es donde se indicará la atenuación de nuestra nuestra conexión a Internet.\nTal y como se puede ver en la captura de pantalla, si disponen de un router Comtrend AR-5387un, tendrán que ir en el apartado Device Info, seguidamente presionaremos sobre Statics y finalmente sobre el subapartado xDSL. Después de esto, tal y como se puede ver en la captura de pantalla, veremos nuestros valores de atenuación.\nNota: Cada modelo de Router tiene su propia interfaz web. Por lo tanto es más que posible que en vuestro caso los valores de atenuación no se encuentren en Device Info/Statics/xDSL. Tan solo tienes que investigar un poco y seguro que encontrarás los valores que buscas en otros apartados. En mi caso, la atenuación de bajada es de 50 dB mientras que la atenuación de subida es de 25,1 dB. Para evaluar los valores que acabo de obtener podemos usar la siguiente guía:\nVelocidad de nuestra conexión Valores de Atenuación recomendados Para 512 Kbps (media mega) Inferior a 55 dB Entre 1024 Kbps y 6144 kbs Inferior a 41 dB Entre 6144 Kbps y 20480 kbps Inferior a 30 dB Más de 20480 kbps (20 megas) Inferior a 20 dB En mi caso tengo una linea de 10 Megas. Por lo tanto los valores de atenuación obtenidos son bastante altos ya que los valores de atenuación que debería obtener deberían ser inferiores a 30 dB.\nEs posible que el motivo de que los resultados no sean del todo satisfactorios sean los siguientes:\nLa central que provee de Internet a mi domicilio está lejos. Normalmente por cada Kilometro de distancia respecto la central, la atenuación incrementa 10 dB. Diría que este no es mi caso porque parece ser que la central está a 900 metros de mi casa. Es posible que la instalación interior de mi domicilio pueda tener algún tipo de problema. Podría ser que alguno de los microfiltros estuviera en mal estado, que el cableado de cobre tuviera algún desperfecto, que la caja PTR tuviera algún tipo de problema o simplemente que el empalme/puente realizado para disponer de 2 cajas PTR estuviera generando esta atenuación. Es posible que el cableado telefónico que nos proporciona la conexión de Internet desde la central a nuestra vivienda esté en mal estado. Aunque diría que este no es el caso porqué la velocidad de sincronización que tengo es buena. También hay que tener en cuenta que vivo en un pueblo pequeño y lejos de cualquier ciudad grande con infraestructuras de gran envergadura. Por lo tanto este puede ser un motivo por el cual el servicio de Internet de mi pueblo no sea excelente y a veces presente inestabilidades. Las pruebas realizadas para escribir esté artículo las he realizado conectado vía wifi. Sería interesante medir y comprar los resultados estando conectado vía cable directamente al PTR de mi casa. A pesar de estos valores puedo afirmar por experiencia que en mi caso mi conexión a Internet es estable y fiable. Por lo tanto en mi caso no me preocupo por los valores obtenidos.\nANÁLISIS DEL RUIDO Para finalizar nuestro test adsl analizaremos un parámetro llamado ruido. El ruido lo podemos definir como la diferencia existente entre la potencia de la señal que llega a nuestro hogar y la potencia de ruido que corrompe la señal que llega a nuestro hogar. El ruido que perturba la señal que llega a nuestro domicilio puede tener diversas fuentes como, por ejemplo, perturbaciones eléctricas creadas por electrodomésticos u otros aparatos, el mal estado de la instalación interior de nuestra vivienda, el mal estado del alguno de los microfiltros, el mal estado de alguno de los empalmes de nuestra instalación, etc.\nPara averiguar nuestro ruido tenemos que acceder a la configuración de nuestro Router. Para ello abrimos nuestro navegador y en la barra de direcciones tecleamos la puerta de entrada de nuestro Router, que en la mayoría de casos será 192.168.1.1. Presionamos Enter y seguidamente tendremos que introducir nuestro nombre de usuario y contraseña. Después de introducir nuestro usuario y contraseña ya estaremos dentro de la configuración de nuestro Router.\nUna vez dentro de la configuración de nuestro Router tendremos que navegar dentro de las distintos menús existentes hasta encontrar la propiedad SNR Margin (Margin, SN Margin o SNT) que es donde se indicará el ruido de nuestra nuestra conexión a Internet.\nTal y como se puede ver en la captura de pantalla, si disponen de un router Comtrend AR-5387un, tendrán que ir en el apartado Device Info, seguidamente presionaremos sobre Statics y finalmente sobre el subapartado xDSL. Después de esto, tal y como se puede ver en la captura de pantalla veremos nuestros valores de ruido de nuestra conexión a Internet.\nNota: Cada modelo de Router tiene su propia interfaz web. Por lo tanto es más que posible que en vuestro caso los valores de ruido no se encuentren en Device Info/Statics/xDSL. Tan solo tienen que investigar un poco y seguro que encontrarán los valores que buscan en otros apartados. En mi caso, el ruido, en lo que a velocidad de bajada se refiere es de 8,8 dB, mientras que el ruido en lo que ha velocidad de subida se refiere es de 15,3 dB. Para evaluar los valores que acabo de obtener podemos usar la siguiente guía:\nValores de ruido Valoración Inferior a 6 dB El valor obtenido es malo. Es lo más probable es que esto genere inestabilidad y deficiencias en nuestra conexión Entre 7 dB y 10 dB Estos valores no son óptimos y es posible que pueda aparecer algún tipo de inestabilidad en nuestra conexión como por ejemplo cortes. Entre 11 dB y 20 dB Estos valores son óptimos. Más de 20 dB Valores de Ruido superiores a 20 dB son excelentes. En mi caso los valores de ruido obtenidos no son óptimos ya que el ruido de bajada no llega a alcanzar los 11 dB. Los posibles motivos para obtener estos resultados los he detallado en el principio de este apartado.\nNota: En días posteriores a la medición realizada para escribir este post mis valores de ruido tenían valores normales. ACCIONES SI OBTENEMOS MALOS RESULTADOS EN EL TEST ADSL En el caso que los resultados obtenidos en el test adsl presenten alguna anomalía importante, lo que debemos hacer es informar a la compañía que nos proporciona servicio de Internet para intentar buscar una solución. En el caso de no encontrar ninguna solución no nos queda más que aguantarnos y cruzar los dedos para que no tengamos firmado un tiempo de permanencia mínimo con ellos. En el caso de no tener firmado un tiempo de permanencia lo más recomendable seria buscar un nuevo proveedor de Internet.\nDesafortunadamente la ley española, a día de hoy, no obliga a ninguna de las compañías a proporcionarnos unas condiciones de servicio mínimas. Simplemente están obligadas a informar al usuario que la velocidad contratada puede ser inferior a la anunciada.\n","permalink":"https://geeklandlinux.github.io/posts/test-adsl-de-nuestro-internet/","summary":"\u003cp\u003e\u003cstrong\u003eMuchas personas\u003c/strong\u003e estoy seguro que en determinadas ocasiones \u003cstrong\u003ese hacen la pregunta de si su operador de Internet les está ofreciendo un servicio decente y un servicio ajustado al que están ofertando\u003c/strong\u003e. \u003cstrong\u003ePor este motivo me he decidido a escribir este post en el que detallaremos una metodología para poder realizar un test adsl de nuestra conexión a Internet.\u003c/strong\u003e\u003c/p\u003e","title":"Realizar un test adsl de nuestra conexión a Internet"},{"content":"Hace pocos días vimos como usar el comando find para buscar archivos que estaban llenando nuestro disco duro. Como bien dije en el pasado post el comando find es extremadamente potente y ofrece muchísimas más posibilidades de búsqueda que no otros software para buscar archivos como por ejemplo Catfish, recoll o el comando locate.\nVIRTUDES Y FUNCIONAMIENTO DEL BUSCADOR FIND El comando find funciona de forma sensiblemente diferente al comando locate o a recoll. Las principales diferencias de find con el resto de buscadores son las siguientes:\nEl comando find proporciona muchísimas más opciones de búsqueda que el comando locate u otros software como por ejemplo recoll. El comando find realiza la búsqueda de archivos y carpetas en tiempo real y no depende ni requiere de una indexación previa ni de ninguna base datos. En contraposición locate se tiene que alimentar de un índice o base de datos que se almacena en la ubicación /var/lib/mlocat/mlocate.db, y recoll requiere de un proceso previo de indexación de contenido. Como find busca archivos y carpetas en tiempo real la búsqueda no será instantánea, pero será sorprendentemente rápida. Además antes de realizar la búsqueda de los archivos que queremos buscar no será necesario actualizar ninguna base de datos ni indexar los últimos cambios. Al no tener que indexar archivos ni actualizar bases de datos, estaremos ahorrando recursos de nuestro ordenador y evitaremos la molestia de tener que actualizar bases de datos e indexar contenido antes de realizar las búsquedas. FUNCIONAMIENTO DEL COMANDO FIND La sintaxis básica, o la forma de describir el funcionamiento, del comando find es la siguiente:\nfind [ruta donde buscar] [indicar lo que hay buscar] [que hacer con los archivos buscados] Por lo tanto cuando usemos find es interesante segmentar o dividir el comando en las siguientes partes:\nEscribir el comando find. Introducir la ruta o ubicaciones en las que queremos que se busquen los archivos. especificar los archivos que queremos buscar. De forma opcional y si es necesario definir que acciones realizar con los archivos que find encontrará. Para familiarizarnos con el uso del comando find, en el próximo apartado veremos una serie de ejemplos prácticos para que todo el mundo pueda entender y usar find sin ningún tipo de problema. Después de ver los ejemplos prácticos todo el mundo espero que entienda como se debe usar el comando find y las diferentes opciones que le podemos dar.\nBUSCAR ARCHIVOS CON EL COMANDO FIND EN LINUX Y EN MAC OS X Los ejemplos expuestos para que todo el mundo pueda llegar a comprender el funcionamiento de find son los siguientes:\nBuscar archivos y carpetas de un determinado tamaño En el caso que precisemos buscar ficheros y carpetas a partir del tamaño que ocupan lo podemos realizar de la siguiente forma:\nBuscar todos los archivos y carpetas de nuestro disco duro que superan el tamaño de 500 MB sudo find / -size +500M Buscar todos los archivos y carpetas de nuestro disco duro que tengan un tamaño exactamente igual a 1GB sudo find / -size 1G Buscar ficheros de nuestra partición home que ocupen menos de 5000 KB find /home -size -5000k Buscar ficheros de nuestra partición home que ocupen menos de 5000 Bytes find /home -size -5000c Buscar la totalidad de ficheros de nuestro disco duro que tienen un tamaño comprendido entre 10 MB y 12MB sudo find / -size +10M -size -12M Buscar los archivos de nuestro disco duro que superan el tamaño de 500 MB sudo find / -type f -size +500M Nota: En este comando aparece -type f. Esto indica que solo se busquen archivos. Si quisiéramos buscar solo carpetas tendríamos que poner -type d. Si no ponemos el argumento -type find busca tanto archivos como carpetas. Buscar todos los archivos de nuestra partición /home con tamaño inferior 100 Bytes find /home -type f -size -100c -exec ls -l {} \\; Nota: En este comando aparece una parte nueva, que se puede añadir a todos los comandos de este post, y es para poder leer mejor los resultados de salida del comando find. Añadiendo -exec ls -l {} \\; ,aparte del nombre y ubicación de los archivos encontrados, también conoceremos otra información como por ejemplo el nombre del propietario del fichero, los permisos, el tamaño en bytes de los archivos encontrados, etc. Buscar todos los archivos de nuestra partición /home que son inferiores a 1 MB find /home -type f -size -1M -exec ls -l {} \\; Buscar todas las carpetas de nuestro disco duro que superan el tamaño de 100KB sudo find / -type d -size +100k Buscar los 10 archivos o carpetas más grandes que tenemos en nuestro disco duro sudo find / -printf \u0026#39;%s %p\\n\u0026#39;| sort -n -r | head -10 Este comando, por su complejidad, merece una explicación de lo que hace cada una de sus partes:\n-printf \u0026lsquo;%s %p\\n\u0026rsquo; : Imprime el resultado mostrando la ruta, el nombre y el tamaño en Bytes de cada uno de los archivos/carpetas encontrados. Cada archivo encontrado por el comando find se imprimirá en una linea diferente.\nsort -n -r : Ordena los resultados encontrados por find de mayor a menor. Si quisiéramos ordenar los resultados obtenidos de menor a mayor, como podréis ver en el siguiente ejemplo, tendríamos que omitir -r.\nhead -10: devuelve únicamente el resultado de las 10 primeras lineas de la salida del comando find.\nBuscar los 5 archivos o carpetas más pequeños en la ubicación /home/joan/Descargas sudo find /home/Descargas -printf \u0026#39;%s %p\\n\u0026#39;| sort -n | head -5 Buscar las 10 carpetas más grandes que tenemos almacenadas en nuestro disco duro sudo find / -type d -printf \u0026#39;%s %p\\n\u0026#39;| sort -n -r | head -10 Buscar los 10 archivos más grandes que tenemos almacenados en nuestro disco duro sudo find / -type f -printf \u0026#39;%s %p\\n\u0026#39;| sort -n -r | head -10 Buscar los 10 archivos más grandes del tipo mp3 que tenemos almacenado en nuestro disco duro sudo find / -type f -iname \u0026#34;*.mp3\u0026#34; -printf \u0026#39;%s %p\\n\u0026#39;| sort -n -r | head -10 Buscar archivos o carpetas que contengan un texto determinado Si precisamos buscar un archivo o carpeta por el nombre que tiene podemos usar los siguientes comandos:\nBuscar archivos y carpetas en nuestro disco duro que se llamen exactamente chuleta find / -name chuleta Buscar archivos y carpetas en nuestro disco duro que contengan la palabra chuleta sudo find / -name \u0026#39;*chuleta*\u0026#39; Buscar archivos y carpetas en nuestro disco duro que contengan la palabra chuleta dando igual que chuleta esté escrito en mayúsculas o minúsculas sudo find / -iname \u0026#39;*Chuleta*\u0026#39; Buscar archivos y carpetas dentro de nuestra partición home que contengan la palabra chuleta y que el propietario del archivo sea joan find /home -name \u0026#39;*chuleta*\u0026#39; -user joan Buscar archivos o carpetas por propietario Si precisamos buscar archivos o carpetas que pertenecen a un cierto usuario lo podemos realizar de la siguientes forma:\nBuscar todos los archivos y carpetas de nuestra partición home que su propietario sea joan find /home -user joan Buscar todos los archivos y carpetas de nuestro disco que no pertenecen a ningún usuario find /home -nouser Buscar archivos y carpetas por grupo de usuario Si precisamos buscar archivos o carpetas que pertenecen a un determinado grupo de usuarios lo podemos realizar de la siguiente forma:\nBuscar todas las carpetas de nuestro disco duro que pertenecen a un determinado grupo, que en mi caso es joan sudo find / -type d -group joan Buscar todos los archivos de nuestro disco duro que pertenecen a un determinado grupo, que en mi caso joan sudo find / -type f -group joan Buscar todos los archivos y carpetas de nuestro disco duro que pertenecen al grupo joan sudo find / -group joan Buscar todos los archivos y carpetas de nuestro disco duro que no tengan usuario o en tengan grupo sudo find / -nouser -o -nogroup Buscar archivos que sean de un tipo determinado Si pretendemos buscar archivos por su tipo de formato lo podemos hacer de la siguiente manera:\nBuscar todos los archivos del tipo odt que tenemos en nuestra partición home find /home -name \u0026#39;*.odt\u0026#39; Buscar todos los archivos de nuestra partición home que contengan la palabra chuleta y que además sean del tipo pdf find /home -name \u0026#39;*chuleta*\u0026#39; -name \u0026#39;*.pdf\u0026#39; Buscar todos los archivos del tipo odt que tenemos en la ubicación /home/joan/Descargas find /home/joan/Descargas -name \u0026#39;*.odt\u0026#39; Buscar todos los archivos y carpetas ocultas de nuestra partición home find /home -name \u0026#39;.*\u0026#39; Buscar archivo y carpetas por su fecha de modificación En el caso de que queramos buscar archivos o carpetas por su fecha de modificación lo podemos realizar de la siguiente forma:\nBuscar todos los archivos y carpetas de nuestra partición home que se han modificado hace menos de 5 minutos find /home -mmin -5 Nota: Comando útil para averiguar la ubicación de un archivo que nos hemos guardado hace poco y que no hay forma de acordarnos donde lo guardamos. Buscar todos los archivos y carpetas de nuestro disco duro que se han modificado hace exactamente 5 minutos sudo find / -mmin 5 Buscar todos los ficheros de la ubicación /home/joan/Descargas que se han modificado hace más de 5 minutos find /home/joan/Descargas -mmin +5 Buscar la totalidad de archivos y carpetas de nuestro disco duro que han sido modificados durante los últimos 3 días y que tengan un tamaño comprendido entre 1 y 5 MB sudo find / -size +1M -size -5M -mtime -3 Buscar archivos y carpetas por su fecha de creación En el caso de que queramos buscar archivos y carpetas por su fecha de creación lo podemos realizar de la siguiente forma:\nBuscar la totalidad de archivos y carpetas de nuestra partición home que han sido creados durante los últimos 5 días find /home -ctime -5 Buscar la totalidad de archivos y carpetas de nuestra partición home que se crearon hace más de 5 días find /home -ctime +5 Buscar la totalidad de archivos y carpetas de nuestra partición home que tienen una antigüedad de creación de entre 5 y 10 minutos sudo find /home -cmin +5 -cmin -10 Buscar la totalidad de archivos y carpetas que se crearon hace exactamente 5 días en nuestra partición home sudo find /home -ctime 5 Buscar archivos y carpetas por su fecha del última acceso Si queremos buscar archivos y carpetas por su fecha de acceso podemos usar los siguientes comandos:\nBuscar la totalidad de archivos y carpetas de nuestra partición home a los que accedimos exactamente hace 5 días find /home -atime 5 Buscar la totalidad de carpetas de nuestra partición home a las que accedimos hace menos de 5 días find /home -type d -atime -5 Buscar la totalidad de ficheros de la partición home, en que el usuario root ha accedido durante los últimos 2 días find /home -atime -2 -user root Buscar la totalidad de archivos y carpetas que el usuario joan ha accedido en la partición home durante los últimos 10 minutos find /home -amin -10 -user joan Buscar la totalidad de archivos de nuestro disco duro que ocupan mas de 1 GB y no se hayan usado o accedido durante los últimos 30 días sudo find / -type f -size +1G -atime -30 Buscar los 3 últimos archivos en que hemos accedido de la carpeta de la carpeta /home/joan/Descargas sudo find /home/joan/Descargas -type f -printf \u0026#39;%s %p\\n\u0026#39;| ls -ltu | head -4 Buscar archivos y carpetas que no tienen contenido Para buscar los archivos y carpetas que no disponen de ningún contenido les recomiendo usar el siguiente comando:\nBuscar la totalidad de archivos y carpetas de nuestra partición home que no tienen contenido dentro find /home -empty Buscar archivos ejecutables Para buscar archivos ejecutables, como por ejemplo archivos pdf, fotografías, archivos de nuestro procesador de texto, etc. Podemos usar el siguiente comando:\nBuscar todos los archivos ejecutables dentro de nuestra partición /home find /home -ls -executable Buscar todos los archivos ejecutables en la totalidad de nuestro disco duro, que ocupen un tamaño entre 5 y 10 megas, y que su propietario sea joan sudo find / -user joan -executable -ls Buscar archivos y carpetas en función de sus permisos Para buscar archivos y carpetas en función de sus permisos lo podemos hacer de la siguiente manera:\nBuscar todos los archivos y carpetas de nuestra partición que tienen permisos de lectura find /home -ls -readable Buscar todos los archivos y carpetas de nuestra partición home que tienen permisos de escritura, y que tienen un tamaño entre 5 y 10 Megas find /home -size +5M -size -10M -ls -writable Buscar todos los archivos y carpetas de nuestro disco duro que tengan permisos 644. (rw-r\u0026ndash;r\u0026ndash;) sudo find / -perm 644 Buscar todos los archivos de nuestro disco duro que tengan permisos 644 (rw-r\u0026ndash;r\u0026ndash;) sudo find / -type f -perm 644 -exec ls -lh {} \\; Buscar archivos de texto en función de su contenido Para buscar archivos de texto que contengan un determinado texto lo podemos realizar de la siguientes forma:\nBuscar todos los archivos de texto de nuestro disco duro que contengan la palabra domain sudo find / -name “*.txt” -exec grep -i “domain” {} \\; Almacenar los resultados de la búsqueda de find dentro de un archivo de texto Todos los comandos vistos hasta el momento nos proporcionan la información mediante la terminal. Si queremos almacenar el resultado de la búsqueda en un archivo de texto tan solo tendríamos que añadir lo siguiente en todos los comandos que hemos visto hasta ahora.\n\u0026gt;\u0026gt; /home/joan/listado Seguidamente les muestro un ejemplo de lo que acabo de explicar:\nBuscar todos los archivos y carpetas de nuestro disco duro que contengan la palabra chuleta, y el resultado de salida del comando se almacenará en un archivo llamado listado en la ubicación /home/joan/ sudo find / -name \u0026#39;*chuleta*\u0026#39; \u0026gt;\u0026gt; /home/joan/listado Buscar archivos y carpetas en función de criterios y aplicar acciones Nota: No aconsejo usar los comandos de este apartado a usuarios noveles. Aplicando los comandos que veréis a continuación podéis llegar a romper o borrar archivos importantes de vuestro sistema operativo. Buscar todos archivos mp3 de nuestra partición home y borrarlos find /home -type f -name \u0026#34;*.mp3\u0026#34; -exec rm -f {} \\; Buscar todos los archivos con nombre archivoaborrar.txt de nuestra partición home y borrarlos find /home -type f -name archivoaaborrar.txt -exec rm -f {} \\; Buscar todos archivos de nuestra partición home con permisos 777 y cambiarles el permiso a 644 sudo find /home -type f -perm 777 -print -exec chmod 644 {} \\; Buscar todas las carpetas de nuestra partición home con permisos 777 y cambiarles el permiso a 755 find /home -type d -perm 777 -print -exec chmod 755 {} \\; Buscar todos archivos de nuestra partición home con extensión .log mayores de 10MB y borrarlos find /home/joan -type f -name *.log -size +10M -exec rm -f {} \\; Nota: Seguro que después de ver los ejemplos de este post os habréis dado cuenta de las increíbles posibilidades que ofrece find. A pesar de la multitud de ejemplos mostrados existen muchos más ejemplos que podríamos poner. Nota: Con el tipo de post realizado queda muy patente la limitación que en algunos casos pueden generar los entornos gráficos (GUI) Nota: Para quien quiera ampliar el conocimiento sobre el comando find puede hacerlo a través de las manpages de find. FUENTES DE INFORMACIÓN Vídeo explicativo del comando find en Inglés\n","permalink":"https://geeklandlinux.github.io/posts/buscar-archivos-en-linux-y-macosx/","summary":"\u003cp\u003eHace pocos días vimos como usar el comando find para buscar archivos que estaban llenando nuestro disco duro. Como bien dije en el pasado post el comando find es extremadamente potente y ofrece muchísimas más posibilidades de búsqueda que no otros software para buscar archivos como por ejemplo Catfish, recoll o el comando locate.\u003c/p\u003e","title":"Buscar archivos en Linux y en Mac OS X"},{"content":"Hoy en día existe una gran desinformación y creencias falsas en lo que se refiere conservar y cargar la batería de nuestro dispositivo móvil. Este hecho me ha empujado a escribir este post en el que se citan una serie de consejos y precauciones que debemos tener en cuenta para cargar y mantener de forma adecuada las baterías de nuestros dispositivos móviles. En la primera parte del post veremos el tipo y características de las baterías que usan nuestros dispositivos móviles actuales mientras en la segunda parte veremos una serie de consejos a llevar a termino para cargar la batería de nuestros dispositivos móviles.\n¿QUÉ TIPO DE BATERÍA LLEVAN NUESTROS TELÉFONOS, TABLETS Y ORDENADORES? Las baterías que equipan el 100% de los dispositivos móviles actuales, como por ejemplo teléfonos inteligentes, tablets y smartwatches son de iones de litio. Esto es sumamente importante porqué una vez sepamos el tipo de batería que tenemos podremos saber las precauciones que debemos tomar a la hora de cargar la batería de nuestro smartphone, smartwatch, tablet u ordenador portatil.\n¿VENTAJAS E INCONVENIENTES DE LAS BATERÍAS DE IONES DE LITIO? Respecto a tecnologías de baterías como por ejemplo las de NiCd (prohibidas actualmente), o NiMH cabe decir que las baterías de iones de litio presentan una serie de ventajas importantes. Estas ventajas se pueden resumir en los siguientes puntos:\nLas baterías de iones de litio no tienen el famosos efecto memoria. Quien quiera saber en que consiste el efecto memoria puede consultar el siguiente enlace. La tasa de autodescarga de las baterías de iones de litio es muy baja. Por lo tanto si almacenamos una batería durante un periodo de tiempo, que por ejemplo puede ser un mes, cuando la vayamos a usar podemos estar seguros que esta batería contendrá prácticamente el mismo nivel de carga que cuando la almacenamos. Las baterías de iones de litio son mucho más ligeras porqué pueden acumular mucha más carga por unidad de peso y volumen que las baterías tradicionales de NiCd y NiMH. Aunque el nivel de carga de las baterías de iones de litio baje, el voltaje de salida que proporciona la batería se mantiene relativamente constante en comparación con otros tipos de batería. Una vez vistas las principales ventajas también es necesario precisar que las baterías de iones de litio presentan una serie de inconveniente que todos los usuarios deberían tener muy presentes. Estos inconvenientes se pueden resumir en los siguientes puntos:\nLas baterías de iones de litio no se pueden almacenar durante periodos medios/largos de tiempo sin usarse. Si almacenamos una batería de litio durante un período medio/largo de tiempo sin usarse se morirá y no la podremos usar nunca más. Esto es causado por un fenómeno conocido como pasivación. La pasivación consiste en que cuando llevamos tiempo sin usar una batería se crea una capa de cloruro de litio en la superficie del ánodo de la batería. Si el grosor de la capa de cloruro de litio es demasiado gruesa hará que sea completamente imposible cargar la batería. Si usamos la batería de forma más o menos regular el fenómeno de la pasivación no nos debe preocupar ya que a medida que vayamos usando la batería, la capa de cloruro de litio que pueda estar presente en el ánodo irá desapareciendo. Quien requiera de mayor información sobre el fenómeno de la pasivación puede consultar el siguiente enlace. Los ciclos de carga y descarga que soporta una batería de iones de litio son bajos en comparación con otras tecnologías consideradas obsoletas al día de hoy. No obstante una batería de un dispositivo móvil, si no tiene problemas, tiene que poder aguantar tranquilamente 2 o 3 años o lo que es lo mismo entre 500 y 1000 ciclos completos de carga y descarga. Cabe tener en cuenta que día tras día se producen avances tecnológicos en el campo de las baterías, por lo tanto si los fabricantes quisieran seria posible disponer de baterías de iones de litio que soportaran muchos más ciclos de carga y descarga que los que acabamos de citar. Son más peligrosas que las baterías tradicionales de NiCd y Ni MH. Son más peligrosas porqué son más propensas a sobrecalentarse y al sobrecalentarse pueden producirse explosiones e incendios. No obstante la baterías de iones de litio que disponen de una calidad mínima llevan dispositivos electrónicos para protegernos de estos peligros. Por lo tanto siempre es importante comprar baterías de repuesto originales. Hay que ir con mucho cuidado con algunas baterías compatibles de bajo coste porqué llevan menos mecanismos de protección y el rendimiento que ofrecen puede ser mucho menor a pesar que tengan incluso más mA de capacidad que la batería original. Son más sensibles a la temperatura. Las temperaturas frías o calientes provocan un decremento importante de la autonomía y de la vida útil de la batería. La temperatura ideal de almacenamiento de una batería de iones de litio es de 15ºC. La temperatura ambiente de funcionamiento mínima y máxima recomendada de un teléfono móvil es de 0 y 35ºC aproximadamente, mientras que la temperatura límite de seguridad de una batería de litio acostumbra a estar entre los 50 y 60ºC. Si se rebasa la temperatura límite de seguridad es posible que el sistema operativo de nuestro dispositivo móvil nos muestre una advertencia. Nota: Si precisan de más información acerca de las baterías de litio pueden consultar el siguiente enlace. CONSEJOS PARA CONSERVAR Y CARGAR LA BATERÍA DE NUESTRO TELEFONO, TABLET, ORDENADOR O SMARTWATCH A continuación les presento una serie de recomendaciones que de buen seguro les ayudarán a prolongar la vida de la batería de su dispositivo móvil:\nNo es bueno dejar descargar la batería de nuestro dispositivo móvil a niveles muy bajos de forma habitual. Cuando el nivel de carga de la batería esté entre el 15% y el 20% se recomienda encarecidamente cargar la batería. No es bueno esperar que el nivel de carga de la batería llegue a niveles muy bajos. El hecho de realizar cargas parciales no perjudica la batería de nuestro teléfono o dispositivo móvil. Por lo tanto si durante el día tenemos la oportunidad de cargar la batería de nuestro dispositivo móvil durante por ejemplo 15 minutos, no dudéis en hacerlo ya que el hecho de realizar cargas parciales o interrumpir una carga no perjudica la batería. Lo que realmente es perjudicial es apurar al límite el nivel de carga de nuestra batería. No es óptimo cargar la batería hasta llegar al 100% de su capacidad. Aunque parezca mentira, para alargar la vida útil de la batería se recomienda realizar cargas entre el 80% y el 90%. De hecho algunos fabricantes de ordenadores, como Sony, aplican esta filosofía de serie en sus baterías y en algunas BIOS de ordenadores hay la opción para limitar la carga de nuestra batería hasta solo el 80%. El hecho de cargar una batería al 100% de su capacidad produce que la batería se estrese al estar al límite de su capacidad. Un hecho que corrobora esto es que el proceso/tiempo de carga de una batería para incrementar el nivel de carga del 80% al 100% es muy lento mientras que el proceso de carga para pasar del 0% de carga al 80% de carga es mucho más rápido. Cada mes o cada dos meses es aconsejable realizar un ciclo completo de carga. Esto consiste en dejar que la batería se descargue completamente y a posteriori cargarla hasta llegar al 100%. Realizar esto nos ayudará a calibrar la batería y nos garantizará que el nivel de carga que nos muestre nuestro teléfono o dispositivo móvil sea real. Las baterías actuales son muy sensibles a las condiciones atmosféricas. Por lo tanto si queremos prolongar la vida útil de nuestra batería no deberemos exponer nuestra batería directamente al sol, y habrá que protegerla contra el frío y la humedad. En el apartado anteriormente se han indicado las temperaturas de almacenamiento, de funcionamiento y de seguridad habituales de las baterías de iones de litio. En el caso de tener que almacenar la batería de nuestro dispositivo móvil durante un periodo medio largo de tiempo tenemos que tener muy en cuenta una serie de aspectos. No hay que almacenar las baterías con unos niveles de carga muy altos o muy bajos. El nivel de carga ideal para almacenar y conservar adecuadamente una batería es de aproximadamente un 40%. Cada seis meses, o menos, de almacenamiento tendremos que realizar una carga parcial a la batería para evitar el fenómeno de la pasivación que hemos comentado anteriormente. Durante el almacenamiento tendremos que tener en cuenta que las condiciones atmosféricas sean las correctas para almacenar la batería. Una batería de litio se carga de la misma forma el primer día de uso que el último día de uso. Por lo tanto es absolutamente falso que la primera carga de una batería tenga que ser de 7 u 8 horas. En el caso que alguien lo haga no no ganaremos ni perderemos nada. No es perjudicial dejar el teléfono enchufado al cargador toda la noche. Hoy en día si usamos cargadores originales y de una mínima calidad, cuando la carga de la batería este completa el proceso de carga se parará automáticamente. Una vez parado el proceso de carga la intensidad proporcionada por el cargador se usará para alimentar directamente nuestro dispositivo móvil. Para cargar la batería es altamente recomendable usar el cargador original del dispositivo móvil. Un cargador inadecuado o de mala calidad puede dañar la batería, el dispositivo móvil y causar incendios y/o explosiones. En el caso de no usar un cargador original como mínimo hay asegurar que sea un cargador de calidad, que la tensión de salida del cargador sea la misma que el cargador original ya que un sobrevoltaje podría dañar nuestro dispositivo móvil, y finalmente que los mA que proporciona el cargador sean iguales o mayores a los que da el cargador original. Normalmente los cargadores que tienen un PVP muy bajo no son recomendables para cargar la batería de nuestro dispositivos. Lo mismo que acabamos de comentar para los cargadores de baterías es también válido para las baterías. Se recomienda usar siempre la batería original del dispositivo. En el caso que no sea así tenemos que asegurarnos que la batería sea una batería de calidad 100% compatible con el modelo de nuestro dispositivo móvil. Hay que tener en cuenta que hay muchas baterías en el mercado que dicen tener unas especificaciones técnicas y rendimiento que a la hora de la verdad no se cumplen ni de lejos. Las baterías de litio rinden igual el primer día funcionamiento que cinco meses después. Es totalmente falso que una batería de iones de litio necesite varios ciclos de carga y descarga para alcanzar el máximo rendimiento. Si justo al comprar un dispositivo móvil la batería dura menos será porqué usamos mas tiempo el teléfono de forma inconsciente, porqué instalamos más aplicaciones, porqué el sistema operativo consume más energía por el hecho de restaurar las copias de seguridad, descargar los mails, llenar la memoria cache del dispositivo, etc. No es recomendable usar nuestro dispositivo móvil mientras lo estamos cargando. En el caso de hacerlo estaremos sometiendo nuestra batería a un estrés adicional. Al tener que soportar un estrés adicional la batería trabajará a una temperatura de funcionamiento mucho más elevada de lo normal y esto ayudará a reducir la vida útil de la batería. Como hemos comentado al principio de este post las baterías de iones de litio son muy sensibles a la temperatura. Es indiferente cargar el teléfono cuando esta apagado o encendido. Si cargamos la batería con el teléfono móvil encendido el único inconveniente que tendremos es que la carga de la batería será simplemente un poco más lenta porqué habrán aplicaciones en segundo plano consumiendo energía de la batería. En ningún caso por cargar la batería con el teléfono encendido vamos a reducir significativamente la vida útil de nuestra batería. Cargar nuestro dispositivo móvil por medio del USB de nuestro ordenador o en el mechero de nuestro coche no es malo ni va a perjudicar la vida útil de nuestro teléfono. El único inconveniente que tendremos es que el proceso de carga será más lento porqué la Intensidad de salida del puerto USB o del mechero del coche será mucho inferior a la del cargador de nuestro dispositivo móvil. Al ser menor la intensidad la carga será más lenta y el sobrecalentamiento que sufrirá la batería será menor. Cargar nuestro teléfono o dispositivo móvil con un cargador inalámbrico no es lo más adecuado. Los cargadores inalámbricos actuales son de recarga electromagnética y esto causará que al cargar la batería se produzca/desprenda una gran cantidad de calor. Está calor generada en el proceso de carga estresará la batería generando una reducción de la vida útil de la misma. Cabe recordar que las baterías de iones de litios son bastantes sensibles a la temperatura y otras condiciones atmosféricas. Para prolongar la vida de una batería de un dispositivo móvil es positivo apagar el teléfono de vez en cuando. Los motivos son simples, si no apagamos nunca el teléfono es posible que vayan acumulándose procesos en segundo plano que vayan consumiendo nuestra batería inútilmente. Además cuando nuestro teléfono está apagado simplemente no se desgasta. Nota: No dudéis en aplicar los consejos citados en este apartado. Muchas de las creencias opuestas que podéis tener provienen de tecnologías de baterías anteriores a las baterías de iones de lito. Nota: Si alguien quiere realizar su aportación personal lo puede realizar a través de los comentarios del blog. Las aportaciones basadas en experiencias personales, y que por lo tanto no se sustenten bajo ninguna teoría científica, no serán incluidas en el post.","permalink":"https://geeklandlinux.github.io/posts/cargar-la-bateria-de-nuestro-telefono/","summary":"\u003cp\u003eHoy en día \u003cstrong\u003eexiste una gran desinformación y creencias falsas en lo que se refiere conservar y cargar la batería de nuestro dispositivo móvil\u003c/strong\u003e. Este hecho me ha empujado a escribir este post en el que se citan una serie de consejos y precauciones que debemos tener en cuenta para cargar y mantener de forma adecuada las baterías de nuestros dispositivos móviles. En la primera parte del post veremos el tipo y características de las baterías que usan nuestros dispositivos móviles actuales mientras en la segunda parte veremos una serie de consejos a llevar a termino para cargar la batería de nuestros dispositivos móviles.\u003c/p\u003e","title":"Como cargar la batería de nuestro teléfono o tablet"},{"content":"Hoy estaba redimensionando una imagen con Gimp y he parado el proceso porqué me he dado que la partición Home se estaba quedando sin espacio debido al proceso de redimensionamento de la foto con Gimp.\nAl parar el proceso pensaba que la partición Home volvería a tener el mismo espacio libre que antes de empezar a redimensionar la foto, pero no ha sido así. Al parar el proceso me ha quedado la Home llena y no tenia ni la más remota idea del archivo que estaba consumiendo este espacio. El problema que acabo de citar lo podéis ver reflejado en la siguiente captura de pantalla:\nPara solucionar este problema y encontrar el archivo que me estaba generando este problema he usado el comando find. Seguidamente podéis ver los pasos que usé:\nBUSCAR ARCHIVOS QUE LLENAN MI PARTICIÓN HOME CON FIND La solución para encontrar el archivo que nos esta generando el problema es fácil. Visto mi caso es de suponer que el archivo que estará ocupando todo el espacio solo será uno y además tendrá un tamaño importante.\nComo el problema lo tenemos en la partición home tan solo tenemos que abrir una terminal y ubicarnos en la raíz de la partición Home. Seguidamente ejecutamos el siguiente comando:\nfind . -size +1000M Nota: Es interesante comprender mínimamente el comando que acabamos de usar para que cada uno lo pueda modificar según su necesidad. find no es mas que el comando para indicarle que se busque un archivo. El . lo que hace es indicar que la ruta donde queremos buscar el archivo o carpeta es en nuestra ubicación actual. Finalmente -size +1000M indica que el archivo a buscar dentro de la ubicación que hemos elegido tiene que tener más de 1000 Mb de tamaño. Nota: Si tenéis problemas al usar el comando find es posible que sea debido a que no tengáis el paquete findutils instalado en vuestro sistema. Para ello tan solo tenemos que abrir la terminal y teclear sudo apt-get install findutils Nota: Sin duda find es un buscador extremadamente potente y con multitud de opciones de búsqueda disponibles. Para que os podáis hacer una idea de todo lo que se puede realizar con el comando find, tan solo tenéis que clicar encima del siguiente link. Después de ejecutar el comando obtenemos el siguiente resultado:\nComo se puede ver en la captura de pantalla en mi partición Home solo existen 3 archivos con un tamaño superior a 1Gb. Dos de ellos corresponden al gestor de correo electrónico Thunderbird, otro corresponde a un archivo muy raro denominado sudo, y finalmente el archivo gimpswap.26421 que sin duda es el archivo que está llenando mi Home de forma inútil.\nNota: Tanto el archivo sudo de cerca de 2 Gb que aparece en mi home, como el tamaño que ocupa la carpeta de Thunderbird no son normales. Los archivos de Thunderbird ocupan cerca de 8 Gb y el tamaño total que ocupa mi cuenta de gmail es simplemente de 2.53 Gb. Por lo tanto habrá que mirar que está pasando y es posible que acabe obteniendo más espacio libre del que pensaba en un inicio. Una vez localizado el archivo que está generando el problema, tal y como se puede ver en la captura de pantalla, tan solo tenemos que ir a buscarlo en su ubicación y borrarlo.\nUna vez eliminado el archivo el problema se ha solucionado y volveremos a tener espacio en nuestra home. Además después de investigar el archivo sudo y los archivos de thunderbird he visto que aún podía eliminar más contenido que era innecesario. Por lo tanto después de haber terminado la limpieza de mi Home el resultado es el siguiente:\nComo se puede ver la ganancia de espacio en mi caso ha sido más que sorprendente pasando de un 89% de espacio ocupado a un 37%.\nBUSCAR ARCHIVOS QUE LLENAN MI DISCO DURO CON FIND En el apartado que acabamos de ver simplemente hemos revisado los archivos de tamaño superior a un 1 Gb presentes en nuestra partición Home. Si en vez de revisar nuestra Home queremos revisar todo nuestro disco duro podemos usar el siguiente comando:\nsudo find / -size +1000M Nota: A diferencia del caso anterior ahora tenemos que ejecutar este comando como usuario root ya que para analizar los archivos presentes en la partición raíz tenemos que ser root. El comando que acabamos de usar nos detallará la totalidad de archivos de nuestro disco duro que tienen un tamaño superior a 1000 Mb. Una vez los tengamos simplemente deberemos analizar cuales se pueden y queremos borrar y cuales son necesarios para el funcionamiento del sistema. En mi caso después de aplicar este comando no he detectado nada anómalo.\nEn el caso que queramos obtener los 10 archivos o carpetas que ocupan más tamaño en la totalidad de nuestro disco duro podemos ejecutar el siguiente comando en la terminal:\nsudo find / -printf \u0026#39;%s %p\\n\u0026#39;| sort -nr | head -10 Nota: Si quisieran obtener los 30 archivos o carpetas más grandes de vuestro disco duro tan solo tendrían que cambiar el 10 del comando por el número 30. Después de aplicar este comando en mi caso tampoco he detectado nada fuera de lo normal. Todo lo que tenia que detectar ya lo he detectado con el primer comando que he aplicado.\nBUSCAR ARCHIVOS QUE LLENAN MI DISCO DURO DE FORMA GRÁFICA Si no somos grandes amantes de los comandos siempre podemos usar una herramienta más gráfica, como por ejemplo ncdu, para solucionar el problema citado en este post.\nNota: A pesar de ser una herramienta gráfica es bastante menos útil que el método mostrado anteriormente. No obstante es una herramienta útil. Para usar ncdu lo primero que tenemos que hacer es instalarlo. Para ello abrimos una terminal y ejecutamos el comando:\nsudo apt-get install ncdu Nota: El comando que acabamos de ver es válido para distribuciones derivadas de Debian. En el caso de usar distribuciones basadas en Red Had el comando se deberá sustituir por sudo yum install ncdu. En el caso de usar distribuciones derivadas de arch Linux deberán usar el comando sudo pacman -S ncdu Una vez instalado ya lo podemos usar. Para usarlo abrimos una terminal y nos posicionamos en el directorio raíz. Una vez estamos en el directorio raiz ejecutamos el siguiente comando:\nncdu Una vez ejecutado ncdu tan solo hace falta esperar un poco y veremos un contenido parecido al siguiente:\nTal y como se puede ver en la captura de pantalla estamos viendo la totalidad de archivos y carpetas de la partición raíz. Además se nos está indicando el tamaño que ocupa cada una de las carpetas y archivos de forma ordenada de mayor a menor tamaño.\nMediante los cursores podremos ir navegando dentro de la estructura de directorios y particiones para analizar si existe algún archivo o carpeta que tiene un tamaño anormal. Para poner un simple ejemplo en la siguiente captura de pantalla veréis que he navegado dentro dentro de mi partición home:\nSi analizamos el contenido de la captura de pantalla veremos que obviamente no hay ningún anomalía ya que con anterioridad borre la totalidad de archivos que estaban llenando inútilmente mi disco duro.\nOTRAS ACCIONES A REALIZAR PARA LIBERAR ESPACIO Si después de realizar todo lo mencionado en este post algunas de las particiones de vuestro disco duro sigue estando llena siempre podéis aplicar las operaciones que se detallan en los siguiente enlaces:\nhttps://geeklandlinux.github.io/posts/limpiar-nuestro-sistema/\nhttps://geeklandlinux.github.io/posts/liberar-espacio-con-bleachbit/\n","permalink":"https://geeklandlinux.github.io/posts/buscar-archivos-que-llenan-mi-disco-duro/","summary":"\u003cp\u003eHoy estaba redimensionando una imagen con Gimp y he parado el proceso porqué me he dado que la partición Home se estaba quedando sin espacio debido al proceso de redimensionamento de la foto con Gimp.\u003c/p\u003e","title":"Buscar archivos que llenan mi disco duro"},{"content":"A raíz de una mala experiencia que he tenido recientemente he decidido a escribir este post para evitar que terceras personas sufran el mismo tipo de estafa que yo. La mala experiencia que acabo de citar es que sin quererlo ni beberlo fui suscrito a un servicio Premium.\n¿EN QUÉ CONSISTE LA ESTAFA DE LAS SUSCRIPCIONES PREMIUM Y SMS PREMIUM? El fraude de las suscripciones Premium y de los SMS Premium consisten en lo siguiente:\nLa persona/organización encargada de perpetrar la estafa intenta conseguir nuestro número de teléfono móvil y los permisos necesarios para suscribirnos a este tipo de servicios. Algunas de las formas para conocer nuestro número de teléfono y adquirir los permisos para suscribirnos a este tipo de servicios son las siguientes:\nCuando navegamos en nuestro ordenador personal vemos infinidad de banners de publicidad presentes en las páginas web. Tan solo basta clicar en uno de estos banners, que por ejemplo nos está ofreciendo participar en un sorteo, introducir nuestros datos personales y número de teléfono para recibir un código de participación/suscripción, y finalmente introducir este código de participación en un formulario. Una vez realizados estos pasos sin ser consciente de ello es probable que nos hayamos suscrito a un servicio Premium o de SMS Premium. Cuando navegamos por internet con nuestro teléfono móvil es posible que sin querer presionemos encima de un banner de publicidad. El banner de publicidad nos pedirá directamente si aceptamos suscribirnos a un determinado servicio Premium. Tan solo basta que por error aceptemos suscribirnos al servicio Premium. Hay que tener en cuenta que los banners y botones de aceptar y rechazar se colocan de forma estrategia para maximizar los beneficios de los estafadores. Existen ocasiones en las que para obtener la clave de descompresión de un archivo .rar que hemos encontrado en Internet, se nos invita a enviar un determinado SMS para obtener la clave. Tan solo hace falta enviar este SMS para suscribirnos automáticamente a un servicio de SMS Premium. Existen Apps de teléfono maliciosas que en el momento de instalarlas estamos dando permisos al atacanta para el envío y recepción de SMS, permisos para llamar a números de teléfono directamente, etc. Al conceder este tipo de permisos estamos dando a la App los permisos necesarios para que nos suscriba a un servicio de SMS Premium sin que nosotros seamos conscientes de ello. Existen Apps de teléfono móvil que traen banners o publicidad maliciosa. Si queréis ver un ejemplo detallado de una App que te suscribe a servicios Premium de forma fraudulenta pueden consultar el el siguiente enlace. Una vez suscrito a un servicio SMS Premium o a un servicio Premium se nos cobrará un importe adicional a nuestra tarifa de teléfono. Así por lo tanto a final de mes nos encontraremos con una sorpresa desagradable en nuestra factura telefónica.\nEn el caso de ser suscrito a un servicio de SMS Premium o servicio Premium empezaremos a recibir mensajes de una temática determinada. Por cada mensaje recibido el importe de nuestra factura telefónica se incrementará. También es posible que se aplique una cantidad fija a nuestra factura telefónica independientemente del número de SMS recibidos.\nNota: Existen otras formas de estafa diferentes a las citadas en este apartado. Por ejemplo otra forma de estafa común es recibir un SMS de un presunto amigo que te esta escribiendo por Whatsapp y te pide que le confirmes vía SMS si te están llegando los mensajes. En el momento de responder el mensaje nos suscribiremos a un servicio Premium. Nota: En la mayoría de casos si leemos la letra pequeña se nos está informando que en el momento de proporcionar nuestros datos y aceptar las condiciones nos estamos suscribiendo a un servicio de SMS Premium. Pero obviamente la letra es tan pequeña que es prácticamente imposible darnos cuenta del engaño. ¿QUÉ HACER SI SOMOS VÍCTIMAS DE UNA ESTAFA SMS PREMIUM? Lo primero que hay que hacer cuando nos hemos dado cuenta que estamos suscritos a este tipo de servicio es darnos de baja. Normalmente en los SMS que te informan de la suscripción al servicio se acostumbra a proporcionar la siguiente información:\nSe detalla el procedimiento para darnos de baja del servicio. Se informa de un número de teléfono y de una dirección de email para proporcionar un “servicio de atención al cliente” Una vez nos hemos dado de baja tenéis que reclamar el reintegro del dinero a vuestra compañía telefónica, o a quien nos ha vendido el servicios SMS Premium, alegando que habéis sido suscritos a un servicio que nunca habéis solicitado.\nUna vez nos hemos dado de baja tenéis que reclamar el reintegro del dinero a vuestra compañía telefónica, o a quien nos ha vendido el servicios SMS Premium, alegando que habéis sido suscritos a un servicio que nunca habéis solicitado.\nSi nadie os quiere reembolsar el dinero tenemos varias formas para poder seguir reclamando. La primera de ellas es presentar una reclamación a la oficina de Atención al Usuario de Telecomunicaciones. Se puede presentar una reclamación electrónica mediante el siguiente enlace. Si antes de presentar la reclamación requieren de atención personalizada y aclaración de dudas pueden llamar a los teléfonos 968 010 362 o 901 33 66 99.\nIgualmente también podéis presentar una reclamación a la autoridad de consumo de vuestra comunidad autónoma. Para contactar con ellos pueden usar el siguiente enlace.\nOtra de las acciones que podemos iniciar en el caso de haber sido estafados es contactar con la Oficina del Consumidor (OMIC) más cercana con el fin de denunciar lo que nos ha pasado. También podemos denunciar estos hechos a organizaciones como la OCU o la FACUA.\nComo último recurso siempre podemos interpelar una denuncia contra lo sucedido en el juzgado más cercano.\n¿QUÉ HACER PARA PREVENIR LA ESTAFA DE LOS SMS PREMIUM? Bloquear los servicios Premium con vuestro operador telefónico Prevenir este tipo de acciones es fácil. Lo único que tenemos que hacer es llamar al teléfono de información de vuestra compañía telefónica. Una vez estáis en contacto con ellos tenéis que pedirles que queréis restringir el pago a terceros por medio de vuestra factura telefónica.\nEn el caso de hacer esto podemos estar relativamente tranquilos. En el caso de ser víctimas de una estafa en principio estaremos salvados ya que en el momento de suscribirnos al servicio se nos pedirá que elijamos un método de pago que por ejemplo puede ser introduciendo el número de nuestra tarjeta de crédito u débito, etc. Por lo tanto la suscripción ya no es automática a través de nuestra factura telefónica y podemos cancelar tranquilamente el proceso.\nEl hecho de realizar este paso no supondrá ningún cambio contractual con su compañía telefónica. Por lo tanto tendremos las mismas prestaciones, los mismos derechos, y las misma obligaciones de siempre, pero con mayor seguridad.\nAplicar el sentido común cuando estamos en Internet Aparte de desactivar los servicios Premium también se recomienda realizar una navegación responsable. Una pequeña y modesta guía para realizar una navegación responsable es la siguiente:\nNo cliquéis encima de los banners de publicidad, y menos encima de los banners sospechosos que por ejemplo ofrecen premios, politonos gratis, etc. Nunca debéis proporcionar datos personales como vuestro número de teléfono, vuestro número de tarjeta de crédito, etc. Únicamente se deben proporcionar los datos mencionados cuando existan unas condiciones mínimas de seguridad. En el caso de instalar aplicaciones en vuestro teléfono móvil analizad siempre los permisos que estamos dando a la aplicación. Si por ejemplo un juego o una App de linterna nos está pidiendo permisos para el envío y recepción de SMS tenéis que desconfiar y no instalar la aplicación. Antes de contestar este SMS se recomienda encarecidamente mirar la procedencia de este SMS. En el caso de que la procedencia sea desconocida se recomienda eliminarlo y no contestar. En el caso de contratar un servicio por Internet intentad buscar y leer las condiciones de de la suscripción. En el caso de no encontrar en ningún sitio las condiciones de suscripción se recomienda no contratar este servicio. REFLEXIÓN SOBRE LOS SMS PREMIUM Y LOS SERVICIOS PREMIUM Las compañías telefónicas deberían aplicar restricciones a los servicios Premium al 100% de sus usuarios de serie. Como no lo hacen afirmo que las compañías telefónicas son cómplices de las estafas que reciben sus usuarios.\nPor cada estafa realizada y por cada suscripción a un servicio Premium tenéis que tener muy presente que no solamente se lucra el estafador. Aparte del estafador se estarán lucrando los siguientes actores:\nVuestro operador telefónico (Movistar, Orange, Vodafone,etc) Las empresas que ofrecen el contenido que hace de cebo para que nosotros nos suscribamos de forma accidental a un servicio Premium. Los Webmasters que acceden a poner los banners de publicidad maliciosos, y las empresas de publicidad que contactan con los Webmasters para introducir este tipo de banners en sus webs. Por lo tanto creo que no me equivoco al decir que este tipo de estafas existen y continuarán existiendo porqué la gente que tendría que parar esto simplemente no hace nada para hacerlo.\nTambién os recomiendo que no penséis que este tipo de problemas solo lo pueden tener personas inexpertas con la informática o que no sepan lo que están tocando. Si miran en Google podrán encontrar multitud de páginas de gente que denuncia haber sido estafada por este tipo de servicios. Además económicamente hablando este tipo de estafas pueden ser peligrosas ya que en el caso que la víctima sea un menor de edad o una persona mayor que no es amiga de las nuevas tecnologías es posible que se reaccione lentamente ocasionando facturas telefónicas muy elevadas.\nPara finalizar con este apartado simplemente me gustaría citar nombres de empresas que se dedican ha propiciar este tipo de engaños:\nAirebites, Delecom, Datatalk, Nvia, Billinfo, Contntastic, Dindotrusted, GKMServices, Instantoo, Jokoo, JPA Comunicaciones SAS, KKO-STORE, Mihoróscopo, Mobapps, Mobilecloudapp, Mobile Trend, MOV111, Movilfun, Movilisto, Muromusical, Neomedia, Neomobile, Nvia SMS, OnlinemusicTV, SexyTV, Solojugones, etc.\n¿CUÁL HA SIDO MI CASO? Finalmente y solo para los curiosos les comento la estafa que sufrí en mis carnes. Estaba tranquilamente navegando con mi teléfono y de repente se me ocurrió visitar la página http://tecno4all.com/ (Página que no he seguido, ni sigo ni seguiré)\nJusto al entrar en esta página hubo una redirección a otra página web que estaba plagada de publicidad y sin realizar absolutamente ninguna acción recibí este mensaje SMS:\nObviamente a estas altura sin realizar absolutamente nada estaba suscrito a un servicio Premium en el que semanalmente se cobraban 5 Euros.\nNota: Me extraña mucho lo sucedido porqué para suscribirte a este tipo de servicios pensaba que era necesario una mínima intervención por mi parte. Quizás lo realice algún tipo de acción sin yo darme cuenta. Después de pasarme esto lo primero que realice es iniciar el proceso para darme de baja. Para ello llamé al teléfono que figura en el mensaje de SMS y a los pocos segundo de llamar recibí otro mensaje:\nDurante la llamada también pedí que no se cobraran los 5 Euros de la suscripción a este servicio porqué yo no me suscribí conscientemente a él y además tampoco lo había usado. La respuesta a este requerimiento fue que ellos no podían hacer nada porque el número al que estaba llamando era simplemente una empresa subcontratada para proporcionar atención telefónica a gente como por ejemplo yo.\nAmablemente me proporciono la dirección de correo electrónico de Airebites que es la empresa que estaba detrás de toda la estafa.\nSeguidamente contacte con Vodafone les expuse lo que me había sucedido y me confirmaron que efectivamente me había dado de alta en este servicio SMS y que a posteriori me había dado de baja. Me confirmaron que las accionas realizadas tendrían un importe adicional en mi tarifa telefónica de 5 Euros. Aparte remarcaron muy claramente que el importe de los 5 Euros pertenecía a un servicio externo a Vodafone y por lo tanto no se harían cargo de este importe ni tampoco me lo podían deducir de mi factura. Lo único que dijeron que podían hacer es restringir el pago a terceros por medio de la factura telefónica para evitar que me volviera a pasar en un futuro.\nDespués de la llamada a Vodafone envíe un email a la compañía Eurobites que es realmente quien perpetuo la estafa en complicidad con Vodafone y el servicio de dietas de adelgazamiento. La verdad no pensé que iban a contestar pero después de intercambiar un par de emails me dijeron que no se podía deducir el importe de mi factura telefónica pero si me podían realizar un abono de los 5 Euros. Para ello les debía entregar mi factura telefónica y un número de cuenta bancaria. Obviamente no acepte la propuesta ya que no es ser muy cauto dar tu número de cuenta bancaria a unos estafadores profesionales.\nNota: Dar el número de cuenta bancaria en principio no tiene porqué suponer un peligro. Lo peor que me podría pasar es que esta empresa realizará algún giro con mi número de cuenta que yo a posteriori tendría el derecho de rechazar. Por lo tanto en mi caso preferí no realizar nada más y perder 5 Euros. Si el importe hubiera sido mayor tendría que haberme puesto en contacto con la oficina de Atención al Usuario de Telecomunicaciones y seguir el resto de puntos citados en este artículo pero creo que por 5 Euros no vale la pena invertir mas tiempo en ello.\nPara finalizar solo comentar que en mi caso también intenté ponerme en contacto con el Webmaster de la página web que perpetro la estafa pero ni corto ni perezoso ignoro el mensaje que le envíe. Si alguien tiene curiosidad en conocer como se pudo perpetrar la estafa les dejo la siguiente información.\nEl código fuente de la página tecno4all en el momento de perpetrarse la estafa El código fuente de la web de dietas adelgazar. Este código fuente ha sido extraído de la versión de escritorio y días después de perpetrarse la estafa. Es probable que la versión móvil de la web es la que tenga los mecanismos necesarios para suscribirte de forma automática a su servicio. El contenido citado lo pueden descargar del siguiente enlace.\n","permalink":"https://geeklandlinux.github.io/posts/evitar-estafas-sms-premium/","summary":"\u003cp\u003eA raíz de una mala experiencia que he tenido recientemente he decidido a escribir este post para evitar que terceras personas sufran el mismo tipo de estafa que yo. La mala experiencia que acabo de citar es que sin quererlo ni beberlo fui suscrito a un servicio Premium.\u003c/p\u003e","title":"Evitar estafas telefónicas SMS Premium"},{"content":"Hace ya meses publiqué un par de artículos en el que hablaba de como intentar mejorar el confort visual en el caso que tengamos que pasar muchas horas delante de la pantalla de un ordenador.\nEn el pasado vimos como incorporar un modo de lectura al navegador a nuestro navegador Web. De esta manera podíamos elegir fácilmente sacar contenido superfluo de lo que estamos leyendo en el navegador, Seleccionar el tamaño de letra y seleccionar los colores en pantalla.\nMás tarde también vimos como instalar, configurar y usar el software Redshift para proteger nuestros ojos cuando pasamos largas horas delante del ordenador.\nSiguiendo con la misma tónica en este artículo explicaré como podemos invertir los colores de nuestra pantalla en Linux y de esta forma obtener la misma funcionalidad que equipan todas las tabletas y teléfonos equipados con un sistema operativo Android o iOS.\nPara poder invertir los colores de una forma fácil lo primero que tenemos que hacer es instalar una pequeña aplicación llamada xcalib.\nNota: También se pueden invertir los colores de la pantalla con el gestor de ventanas Compiz. Es posible que en un futuro muestre como realizarlo con Compiz, pero por ahora no me parece la mejor opción ya que muchas de las distro Linux no usan Compiz y no me parece lógico que alguien use un gestor de ventanas simplemente para poder invertir los colores de la pantalla. Aparte de estas 2 opciones también quise probar xrandr-invert-colors, pero para mi fue imposible compilar la aplicación ya que me daba un error. Quien quiera probar de compilar está aplicación le dejo el siguiente link para que lo pueda intentar. INFORMACIÓN SOBRE XCALIB Xcalib es una utilidad con licencia GPL usada para calibrar monitores de ordenador. Concretamente la utilidad principal de xcalib es cargar el perfil ICC de nuestro monitor al servidor de las X (Xorg). El perfil ICC se trata de un archivo binario que contiene datos referentes a los atributos de color que mostrará nuestro monitor.\nAparte de la utilidad que acabamos de citar en este caso usaremos xcalib para invertir completamente los colores de nuestra pantalla.\nUTILIDAD DE INVERTIR LOS COLORES DE LA PANTALLA Las utilidades que puede tener el hecho de invertir los colores de la pantalla no son muchas, pero las pocas utilidades que puede tener son útiles en mi caso. Dos de las utilidades que podemos dar a la inversión de los colores en la pantalla del ordenador son las siguientes:\nSi estamos trabajando en condiciones de baja de iluminación ambiental, es probable que el reflejo de la pantalla nos ocasione deslumbramiento y molestias visuales en el caso que estemos usando un tema de escritorio claro. En este caso siempre podemos invertir los colores puntualmente para evitar problemas de deslumbramiento y las típicas molestias visuales que se producen cuando trabajamos en entornos con poca iluminación. En el caso de trabajar con nuestro ordenador portátil (laptop) en el exterior, es posible que sea sea difícil visualizar la pantalla de nuestro ordenador a pleno sol. Una posible solución a este problema seria invertir los colores de la pantalla para poder visualizar mejor la pantalla. INSTALACIÓN DE XCALIB PARA INVERTIR LOS COLORES DEL MONITOR Afortunadamente el paquete xcalib está presente en los repositorios de prácticamente la totalidad de distribuciones Linux. Por lo tanto las instrucciones a seguir para instalar xcalib son las siguientes:\nInstalación de xcalib en Fedora La instalación de xcalib en Fedora es sumamente rápida y sencilla. Tan solo tienen que abrir una terminal y teclear el siguiente comando:\nsudo yum install xcalib Presionan Enter y en cuestión de muy pocos segundos el paquete xcalib estará instalado.\nInstalación de xcalib en Debian o distribuciones derivadas de Debian Al igual que en el caso anterior únicamente tenemos que abrir una terminal y teclear el siguiente comando:\nsudo apt-get install xcalib Presionan Enter y en cuestión de muy pocos segundos el paquete xcalib estará instalado.\nINVERTIR LOS COLORES DE LA PANTALLA O MONITOR Una vez tenemos instalado el paquete xcalib podemos fácilmente invertir los colores de nuestra pantalla. En la siguiente captura de pantalla podemos ver el estado inicial o estándar de colores de mi ordenador:\nSi nuestro objetivo es invertir los colores, tan solo tenemos que abrir una terminal y teclear el siguiente comando:\nxcalib -i -a Nota: Para ver el significado del parámetro que acabamos de utilizar pueden abrir una terminal y teclear el comando man xcalib. Al presionar Enter obtendremos el resultado que se muestra en la siguiente fotografía:\nComo se puede observar los colores se han invertido completamente y por lo tanto ya hemos conseguido el objetivo que nos habíamos propuesto.\nREVERTIR LOS CAMBIOS Y VOLVER A TENER LOS COLORES ORIGINALES En el caso que ya no nos interese tener invertidos los colores de nuestra pantalla, tan solo tenemos que abrir una terminal y volver a teclear exactamente el mismo comando que habíamos usado para invertir los colores:\nxcalib -i -a AUTOMATIZAR EL PROCESO DE INVERSIÓN DE COLORES Obviamente si cada vez que queremos invertir o revertir los colores de nuestra pantalla tenemos que abrir una terminal y teclear comandos, podemos afirmar que este proceso no es cómodo.\nPara conseguir que el proceso de invertir y revertir colores sea mucho más cómodo, en este apartado explicaré como podemos invertir y revertir los colores presionando la combinación de teclas que nosotros seleccionemos. De este modo el proceso de invertir y revertir colores es inmediato, cómodo y sencillo de realizar.\nNota: El proceso que se detalla a continuación depende del entorno de escritorio que estamos usando. En este post detallaré el procedimiento para Mate, Xfce y Gnome Shell. Quien use otro entorno de escritorio encontrará como realizar fácilmente el proceso en Google. En el caso de utilizar el escritorio Mate Para configurar un atajo de teclado, los usuarios de Mate tienen acceder al menú Sistema de su panel superior. Seguidamente tienen que ir a los submenús preferencias, system, y finalmente Combinación de teclas.\nSeguidamente aparecerá una ventana en la que tendremos que configurar las acciones a realizar mediante una combinación de teclas. Tal y como se puede ver en la captura de pantalla tenemos que presionar el botón Añadir:\nAparecerá otra ventana. Tal y como se puede ver en la captura de pantalla, introducimos el nombre de la acción y el comando que queremos que se ejecute cuando presionemos la combinación de teclas que seleccionaremos a posteriori. Finalmente presionamos encima del botón Aplicar.\nNota: El nombre de la acción es Invertir colores. El comando como hemos visto anteriormente es xcalib -i -a Nos vamos a buscar la acción que hemos creado, y tal y como se puede ver en la captura de pantalla, nos ponemos encima de la palabra Desactivado y presionamos una vez el botón izquierdo del mouse.\nDesaparecerá desactivado y aparecerá la frase combinación nueva. Entonces nosotros presionamos la combinación de teclas con la que queremos invertir los colores que en mi caso se ctrl+alt+n. Después de esto presionamos el botón Cerrar y el proceso ha finalizado. Ahora cuando presionemos la tecla ctrl+alt+n se invertirán los colores. Para revertir el proceso tan solo tendremos que volver a presionar la combinación de teclas ctrl+alt+n\nEn el caso de utilizar el escritorio XFCE Para configurar un atajo de teclado tenemos que acceder al menú de XFCE del panel. Una vez estamos dentro del menú nos vamos Configuración, y seguidamente a Teclado. Después de esto aparecerá la siguiente ventana:\nTal y como se puede ver en la captura de pantalla presionamos encima de la pestaña Atajos de Aplicación. Seguidamente Presionamos el botón Añadir. Después de presionar añadir aparecerá la siguiente ventana:\nTal y como puede verse en la captura de pantalla, tenemos que introducir el comando que queremos que se ejecute cuando presionaremos la combinación de teclas que seleccionaremos posteriormente. En este caso el comando a introducir es xcalib -i -a.\nPresionamos el botón Aceptar. Después de presionar el botón Aceptar aparecerá la siguiente pantalla:\nAhora tan solo tenemos que presionar la combinación de teclas que queremos que apliquen el comando xcalib -i -a. Por lo tanto en mi caso presiono ctrl+alt+n.\nA estas alturas el proceso ha finalizado. Ahora cuando presionemos la tecla ctrl+alt+n se invertirán los colores. Para revertir el proceso tan solo tendremos que volver a presionar la combinación de teclas ctrl+alt+n\nEn el caso de usar Gnome Shell El proceso para añadir atajos de teclado en Gnome Shell es prácticamente idéntico al del escritorio Mate.\nLo primero que tenemos que realizar en Gnome Shell es acceder al panel de configuración de gnome Shell. Para ello abren una terminal y teclean el siguiente comando:\ngnome-control-center Presionan Enter y se abrirá una ventana en la que figuran los diferentes campos de configuración de Gnome Shell. Buscan y clican en el ratón encima de la opción Teclado. Seguidamente aparecerá la ventana en la que tendremos que configurar los Atajos de Teclado. Tal y como se puede ver en la captura de pantalla clicamos encima de la pestaña Atajos.\nSeguidamente tenemos que presionar encima del botón + para inicar el proceso de creación del atajo de teclado. Una vez presionado el botón aparecerá otra ventana:\nTal y como se puede ver en la captura de pantalla, introducimos el nombre de la acción y el comando que queremos que se ejecute cuando presionemos la combinación de teclas que seleccionaremos a posteriori. Finalmente presionamos encima del botón Añadir.\nNos vamos a buscar la acción que hemos creado, y tal y como se puede ver en la captura de pantalla, nos ponemos encima de la palabra Desactivado y presionamos una vez el botón izquierdo del mouse.\nDesaparecerá desactivado y aparecerá la frase Acelerador nuevo. Entonces nosotros presionamos la combinación de teclas con la que queremos invertir los colores que en mi caso es ctrl+alt+n\nDespués de estos pasos el proceso ha finalizado. Ahora cuando presionemos la tecla ctrl+alt+n se invertirán los colores. Para revertir el proceso tan solo tendremos que volver a presionar la combinación de teclas ctrl+alt+n\nLIMITACIONES DE XCALIB Xcalib funciona a la perfección para invertir los colores de la pantalla. No obstante esta solución solo es válida para usuarios que usen su ordenador con un solo monitor. Los usuarios que usen varios monitores únicamente podrán invertir los colores en uno de sus monitores.\nXcalib en teoría tiene las herramientas para poder invertir los colores en ambos monitores. Usando el siguiente comando deberíamos ser capaces de invertir los colores en el monitor que nosotros seleccionemos:\nxcalib -s 1 -i -a El significado del comando es el siguiente:\n-i: Esta opción es la que indica que se quieren invertir los colores\n-a: La opción alter lo que hace es indicar que se apliquen los cambios a nuestro monitor.\n-s 1: Este opción indica el monitor en el que queremos que se apliquen los cambios. Por lo tanto si ponemos -s 0 la inversión se aplicará al monitor 0, mientras que si usamos -s 1 se aplicarán al segundo monitor.\nNo obstante, los usuarios que usen 2 monitores verán que este comando no funciona. Además si acceden a la terminal y usan el siguiente comando:\nxrandr Verán que aunque estén usando 2 monitores solo les aparecerá un monitor “screen 0”. El segundo monitor que debería ser “screen 1” no aparecerá por ningún sitio. Por lo tanto esto quiere decir que el servidor gráfico Xorg solo detecta 1 de los 2 monitores. De este modo cuando indicamos a xcalib que invierta el color del segundo monitor se produce el error ya que para Xorg no existe este segundo monitor.\nImagino que la solución a este problema es editar el fichero de configuración de Xorg para que el servidor gráfico Xorg reconozca que tenemos 2 monitores. En el momento que reconozca los 2 monitores los colores se invertirán en ambas pantallas. No he probado si esta es la solución ya que en mi caso no uso 2 monitores. Quien tenga 2 monitores puede probar si esta es la solución siguiente los pasos que se detallan en este link.\nNota: Me gustaría poner un link de alguien que aplique la solución propuesta y haga funcionar xcalib en los 2 monitores. Pero verán que si buscan por Internet no hay nadie que haya publicado al respecto.","permalink":"https://geeklandlinux.github.io/posts/invertir-los-colores-pantalla-linux/","summary":"\u003cp\u003eHace ya meses publiqué un par de artículos en el que hablaba de como intentar mejorar el confort visual en el caso que tengamos que pasar muchas horas delante de la pantalla de un ordenador.\u003c/p\u003e","title":"Invertir los colores de la pantalla en linux"},{"content":"Recientemente tuve que cambiar mi proveedor de servicios de Internet. Durante un tiempo demasiado prolongado tuve problemas serios con la compañía Eurona Telekom y desafortunadamente para ellos tuve que tomar la decisión de prescindir de sus servicios.\nMuchas de las personas, que como en mi caso se encuentran forzadas a cambiar de proveedor de Internet, o incluso de telefonía, imagino que al principio se sienten abrumadas por los siguientes motivos y situaciones:\nEn el mercado de Telefonía y de proveedores de servicios de Internet (ADSL o Fibra) existen multitud de compañías y multitud de ofertas para seleccionar. Cuantas más opciones existan más difícil será seleccionar el servicio que más nos convenga. El hecho que existan multitud de proveedores y multitud de ofertas nos representará un arduo trabajo, ya que tendremos que consultar y estudiar cada una de estas ofertas para seleccionar la mejor opción para nosotros. Una vez realizada nuestra elección siempre tendremos la incertidumbre de si el servicio seleccionado cumplirá nuestras expectativas y funcionará de la forma esperada. CONSEJO PARA SELECCIONAR EL MEJOR PROVEEDOR DE INTERNET Para solucionar estos problemas e incertidumbres buscando por Internet me tope con la página web de Mister Comparador. En el caso que tengamos que cambiar de proveedor de Internet o de telefonía Mister comparador nos facilitará increíblemente nuestro trabajo por los siguientes motivos:\nEn esta web encontraremos recopiladas las ofertas de las principales compañías que operan en España y que ofrecen servicios de ADSL, de Fibra óptica y de telefonía. Por lo tanto tendremos la totalidad de información y de ofertas concentradas en un solo punto para facilitar la toma de decisiones. En cada una de las ofertas que aparecen en la web tenemos las opiniones, los comentarios, los resultados y las valoraciones de clientes que han contratado la oferta en cuestión. De este modo con Mister Comparador apostaremos seguro porque de antemano podemos tener una idea bastante clara de cómo nos funcionará el servicio contratado. Esta web está constantemente comparando la totalidad de tarifas existentes en el mercado de telefonía y telecomunicaciones en España. Por lo tanto siempre encontraremos las últimas y más ventajosas promociones del mercado asegurándonos que contrataremos siempre la mejor opción. En mi caso personal después de consultar con la web de Mister Comparador vi claramente que la opción que más me convenía en mi caso era pasar la totalidad de mis servicios (telefonía móvil + telefonía fija + Internet) a una de las ofertas de Jazztel. Lo vi claro ya que era la opción más económica y además las criticas de los usuarios que habían contratado este servicio eran excelentes. Meses después de la elección puedo decir que estoy satisfecho ya que a día de hoy tengo más prestaciones que antes a un mejor precio.\nFinalmente solo decir que quien, al igual que yo, quiera comparar su oferta actual de Internet con las otras ofertas existentes en el mercado puede visitar los siguientes links:\nhttp://www.mistercomparador.com/adsl/\nhttp://www.mistercomparador.com/adsl-movil/\nDespués de consultar la totalidad de ofertas, en el caso de no tener la mejor oferta del mercado, o en el caso que no estemos satisfechos con nuestro servicio actual, siempre podemos iniciar la portabilidad a un nueva compañía.\n","permalink":"https://geeklandlinux.github.io/posts/elegir-el-mejor-proveedor-de-internet/","summary":"\u003cp\u003eRecientemente tuve que cambiar mi proveedor de servicios de Internet. Durante un tiempo demasiado prolongado tuve problemas serios con la compañía Eurona Telekom y desafortunadamente para ellos tuve que tomar la decisión de prescindir de sus servicios.\u003c/p\u003e","title":"Elegir el mejor proveedor de Internet"},{"content":"Los smarthpones se han convertido en la videoconsola más exitosa de la historia. Nunca antes la penetración de éstos había alcanzado a tantos sectores de la población. Y es que, hoy día, prácticamente todo el mundo tiene un móvil inteligente y casi todos lo utilizan -también- para jugar a videojuegos. De hecho, según este test de Comparaíso, son uno de los factores más determinantes para que las pantallas hayan aumentado tanto de tamaño.\nA continuación, les presentamos la lista de los que consideramos que son los ocho mejores videojuegos del momento que tienen versión para móvil, atendiendo a todos los gustos:\nLISTADO DE LOS MEJORES VIDEOJUEGOS PARA SMARTPHONE 1. FIFA 2015 (Android e iOS): Si el fútbol es el deporte rey, el FIFA es su consorte en forma de videojuego. Cada año aparece una versión nueva y cada año es un éxito absoluto de ventas en todas las plataformas. Por algo será. Su versión para móvil nos permitirá llevar a lo más alto a nuestro equipo favorito.\n2.Prince of Persia (Android e iOS): Otro clásico en el mundo de los videojuegos de plataformas, con una saga iniciada en 1989 y que cuenta hasta con película propia. La versión móvil de este videojuego repite los factores de éxito que han transformado al príncipe de Persia en el rey de las plataformas.\n3. Pac-Man (Android e iOS): El clásico entre los clásicos que nunca pasará de moda. Como no podía ser menos también el comecocos tiene su versión para móvil. El más sencillo de los videojuegos japoneses sigue estando a la última 34 años después. No solo acabó con el dominio mundial de Space Invaders sino que también acabó con el aburrimiento de varias generaciones.\n4. Plantas versus Zombies (Android e iOS): Nadie sabría explicar porque algo tan surrealista ha triunfado tanto… hasta que juegas. La versión Android del minijuego de navegador no presenta ningún cambio. Te convertirás en un grupo de plantas que frena una invasión zombie. Apasionante ¿eh? Al menos así lo ha sido para los millones de personas que han convertido este juego en un clásico del siglo XXI.\n5. Los Sims (Android e iOS): El videojuego para PC más vendido de la historia también tiene su versión para Android. El simulador te permite crear personajes y vivir sus vidas teniendo en cuenta todas sus necesidades físicas, emocionales y sociales. La mejor forma de fantasear con tu vida ideal, crear la casa de tus sueños y asegurarse de que nadie la estropea. Y sí todo va mal: “klapaucius”.\n6. Candy Crush (Android e iOS): El juego más adictivo de Facebook es también el juego más adictivo para Android. Cuenta con más de 400 niveles que harán que sueñes con combinaciones de caramelos, onzas de chocolate malignas y una niña ingenua que siempre se mete donde no le llaman. Es el nuevo rey y es gratuito.\n7. Atrivíate (Android e iOS): Para los más intelectuales. Esta versión del famosísimo Trivial Pursuit para móvil, te permite jugar a la versión clásica estés donde estés, con amigos o con personas aleatorias de cualquier parte del mundo. La mejor forma de poner tus conocimientos siempre a punto y mejorar para la próxima partida en el hogar.\n8. Clash of clans (Android e iOS): Este juego finés es el líder de los videojuegos de estrategia en el móvil. Es un juego online y multijugador en el que hay que crear y mejorar nuestra aldea, entrenar tropas y usarlas para las famosas guerras de clanes, para subir copas y para robar recursos a otras aldeas. Sin duda todos los amantes del viejo Warcraft estarán encantados con este juego.\n9. Ingress (Android e iOS): La ciencia ficción y la vida real están más cerca que nunca gracias a este juego de realidad aumentada desarrollado por Google. Ingress convierte las calles de tu pueblo o ciudad en un videojuego, en el que dos bandos reales se enfrentan para conquistar y enlazar portales transdimensionales ubicados en distintos puntos de interés cultural o social de nuestra ciudad. Con Ingress ya os podéis preparar para visitar y patear la totalidad de calles de vuestro pueblo o ciudad.\nFinalmente Si alguien cree conveniente añadir un videojuego más en el listado que no dude en dejar un comentario en el post. Los videojuegos para smarthpone actuales son muchos y los gustos son diversos.\n","permalink":"https://geeklandlinux.github.io/posts/mejores-videojuegos-smartphone/","summary":"\u003cp\u003e\u003cstrong\u003eLos smarthpones se han convertido en la videoconsola más exitosa de la historia\u003c/strong\u003e. Nunca antes la penetración de éstos había alcanzado a tantos sectores de la población. Y es que, hoy día, prácticamente todo el mundo tiene un móvil inteligente y casi todos lo utilizan -también- para jugar a videojuegos. De hecho, según \u003cstrong\u003e\u003ca href=\"http://www.comparaiso.es/moviles/guias/mejor-tamano-pantalla-movil-test\" title=\"Test para averiguar el tamaño ideal del móvil\"\u003eeste test de Comparaíso\u003c/a\u003e\u003c/strong\u003e, son uno de los factores más determinantes para que las pantallas hayan aumentado tanto de tamaño.\u003c/p\u003e","title":"Los mejores videojuegos para smartphone"},{"content":"Hace tiempo que quería escribir este post pero nunca encontraba el momento para ello. Desde que empecé a usar Linux una de las cosas que no acabo de entender es como puede ser posible que en prácticamente ninguna distro el Salvanpantallas funcione de forma adecuada. A muchos seguramente le serán familiares las siguientes situaciones:\nVamos a ver un vídeo o una película en el reproductor de vídeo de nuestro ordenador y durante el transcurso de la película observamos que se activa el salvapantallas. Da igual que en nuestro reproductor seleccionemos que no se active el salvapantallas porqué seleccionemos lo que seleccionemos el salvapantallas se activará. Vamos a ver un vídeo en Youtube, o en cualquier otra plataforma de vídeos, y nos encontramos con el problema que se activa el salvapantallas en medio de la visualización del vídeo. Nota: Parece mentira que la gran mayoría de distros, o desarrolladores de software de Linux, no presten atención a estos detalles. Sin duda detalles como estos echan para atrás a muchos usuarios de otras sistemas operativos que prueban Linux por primera vez. Para solucionar este pequeño inconveniente hace tiempo que vengo usando un pequeño programa que se llama Caffeine.\nFUNCIONAMIENTO DE CAFFEINE Caffeine es un programa escrito en Phyton se encarga de deshabilitar el gestor de energía de nuestra distribución cuando nosotros se lo indicamos. Esto nos servirá para que no se active nuestro protector de pantalla cuando estemos viendo un vídeo de Youtube o una película en nuestro ordenador. De este modo podremos ver tranquilamente el vídeo que queramos mirar sin tener que estar cada X tiempo moviendo el ratón para que no se active el protector de pantalla.\nNota: Una solución alternativa a usar Caffeine es entrar en la configuración de gestión de energía de nuestra distribución Linux y desactivar el salvapantallas, pero tener que realizar esto cada vez que visualizamos un vídeo cuanto menos es engorroso. Nota: El consumo de memoria RAM de Caffeine en Debian Testing (Jessie) amd64 es de 20Mb. En un sistema i386 seguramente el consumo de RAM será mucho menor. Nota: Caffeine actualmente está disponible para Linux y para Max OS X. En este artículo únicamente se hace referencia a GNU-Linux ya que es el sistema operativo que utilizo habitualmente en casa. INSTALACIÓN DE CAFFEINE EN UBUNTU O LINUX MINT Para Instalar Caffeine en Ubuntu o Linux Mint es sumamente fácil. Tan solo tenemos que ingresar en la terminal e usar los siguientes comandos:\nPara añadir el repositorio de Caffeine:\nsudo add-apt-repository ppa:caffeine-developers/ppa Para actualizar los paquetes de los repositorios que tenemos en nuestro ordenador:\nsudo apt-get update Para instalar Caffeine en nuestro sistema operativo:\nsudo apt-get install caffeine Una vez introducidos y ejecutados estos 3 comando Caffeine estará instalado en su ordenador. Ahora tan solo tendremos que ejecutarlo y configurarlo a nuestro gusto.\nINSTALACIÓN DE CAFFEINE EN DISTRIBUCIONES DERIVADAS DE DEBIAN Desafortunadamente Caffeine no acostumbra a estar disponible en los repositorios de la gran mayoría de distribuciones Linux. Por lo tanto quien quiera usar Caffeine en distribuciones, como por ejemplo Debian, pueden usar la siguiente solución:\nAcceden al siguiente Link. En este link encontrarán la totalidad de paquetes .deb que están disponibles para todas y cada una de las versiones de Ubuntu. Tal y como se puede ver en la captura de imagen descargan cualquiera de los paquetes .deb que están disponibles en link que he dejado:\nNota: En mi caso he descargado el paquete .deb de Caffeine correspondiente a Ubuntu 12.10 (Quantal Quetzal) Una vez descargado el paquete, como podemos ver en la captura de pantalla, tan solo tenemos que instalarlo como si de un archivo binario se tratará:\nUna vez instalado el programa lo ejecutamos para comprobar si funciona. En el caso que el programa funcione a la perfección el proceso a finalizado. En el caso que el programa no funcione adecuadamente tenemos que desinstalar el paquete .deb que acabamos de desinstalar y probar con otro de los paquetes .deb que encontraremos en el siguiente Link.\nEn el caso que el paquete .deb descargado no les funcione pueden abrir una terminal y usar el siguiente comando para desinstalar Caffeine:\nsudo apt-get remove --purge caffeine Nota: En el caso de usar Debian Testing (Jessie) el único paquete .deb de Ubuntu que les funcionará es el de la versión 12.10. Por lo tanto la versión de Caffeine que estaremos usando una vez instalado el programa será la 2.4.1 Nota: Sin duda esta no es la opción más elegante para instalar Caffeine pero es la forma que yo uso. Podríamos añadir los repositorios de Ubuntu a nuestra distro pero nunca me ha gustado mezclar repositorios de Ubuntu con Debian. INSTALACIÓN DE CAFFEINE PARA USUARIOS DE GNOME SHELL Los usuarios del entorno de escritorio Gnome Shell tienen la suerte de que existe la extensión de Caffeine para su entorno de escritorio. Por lo tanto lo único que tienen que realizar para instalar Caffeine es clicar encima del siguiente link. Una vez hayan clicado en el link accederán a la página web donde podrán instalar la extensión de Caffeine para Gnome Shell:\nTal y como se puede ver en la captura de pantalla, para instalar la extensión de Gnome Shell tenemos que clicar encima del interruptor OFF para ponerlo en posición ON. Una vez se ponga en posición ON aparecerá la siguiente ventana en la pantalla:\nComo nuestro objetivo es instalar la extensión presionaremos el botón de Instalar. Una vez instalada la extensión aparecerá un applet de una taza de café en el panel de nuestro Gnome Shell:\nEn estos momentos el proceso instalación de la extensión ha finalizado.\nUSO Y CONFIGURACIÓN DE CAFFEINE Iniciar por primera vez Caffeine Para iniciar Caffeine tan solo tienen que ir al menú de su distro, y tal y como se puede ver en la captura de pantalla allí encontraran el icono para iniciar la aplicación.\nTal y como se puede ver en la captura de pantalla, una vez se haya iniciado caffeine, en el panel de vuestra distro aparecerá una taza de café indicando que Caffeine se ha iniciado satisfactoriamente.\nHacer que Caffeine arranque automáticamente con el arranque del sistema Si queremos que esta aplicación se inicie de forma automática cada vez que arrancamos el sistema es muy sencillo. Tan solo tenemos que ubicarnos encima del applet de la taza de café. Presionamos el botón derecho del mouse, y tal como se puede ver en la captura de pantalla seleccionamos la opción Preferencias.\nSeguidamente aparecerá la siguiente ventana:\nEn esta ventana, tal y como se puede ver en la captura de pantalla, tan solo tenemos que activar la celda Iniciar Caffeine en el inicio de sesión. Presionan el botón Cerrar y la próxima vez que arranquemos el ordenador, Caffeine se iniciará de forma completamente automática.\nNota: Si queremos que Caffeine no se autoinicie tan solo tenemos que desiltadar la opción que acabamos de marcar. Desactivar el salvapantallas manualmente cuando quiero ver un vídeo Si queremos visualizar un vídeo seguramente nos interesará que no se active el protector de pantalla. Para desactivar el protector de pantalla tan solo tenemos que ubicarnos encima del applet de la taza de café. Presionamos el botón derecho del mouse, y tal como se puede ver en la captura de pantalla seleccionamos la opción Desactivar salvapantallas.\nJusto después de desactivar el protector de pantallas veremos que encima de la taza de café aparecen una rayas de humo:\nEsto nos está indicando que el protector de pantalla está desactivado y por lo tanto podremos visualizar tranquilamente los vídeos que queramos que el salvapantallas no se activará.\nCuando terminemos de visualizar el vídeo podemos volver a activar el protector de pantalla. Para ello tenemos que ubicarnos encima del applet de la taza de café. Presionar el botón derecho del mouse, y seleccionar la opción Activar salvapantallas.\nNota: Particularmente está es la opción que acostumbro a usar. En mi caso no tengo configurado Caffeine para que se inicie con determinadas aplicaciones. Simplemente cuando quiero que no se active el salvapantallas hago un par de clics con el ratón y el salvapantallas queda completamente desactivado. Activar Caffeine cuando se inicie un programa determinado En el caso que la opción de uso mostrada en el apartado anterior no les acabe de satisfacer pueden usar la siguiente opción.\nPodemos hacer que cada vez que se inicie un programa determinado se desactive el protector de pantalla. Para ello tenemos ubicarnos encima del applet de la taza de café. Presionamos el botón derecho del mouse, y tal como se puede ver en la captura de pantalla seleccionamos la opción Preferencias.\nUna vez dentro de la ventana de preferencias vamos a configurar Caffeine para que desactive el protector de pantalla cuando se inicie por ejemplo el reproductor de vídeo VLC. Tal y como se puede ver en la captura de pantalla presionamos el botón Añadir:\nSeguidamente aparecerá la siguiente ventana en la que tenemos que escribir el nombre del proceso en el que queremos que desactive el salvapantallas cada vez que se ejecute. Como se puede ver en la captura de pantalla, como quiero desactivar el salvapantallas cuando se inicia el reproductor de vídeo VLC, escribo vlc. Una vez he escrito vlc presiono el botón Añadir.\nEn estos momentos cada vez que ejecutemos el reproductor de vídeo VLC se desactivará el salvapantallas y por lo tanto cuando visualicemos un vídeo nunca se activará el protector de pantalla. En el momento que cerremos el programa VLC el protector de pantalla se volverá a activar de nuevo.\nNota: En el recuadro en que hemos escrito vlc, no tenemos que escribir el nombre del programa. Tenemos que escribir el nombre del proceso asociado a Vlc. Para averiguar el nombre de proceso asociado a un programa lo pueden realizar fácilmente con top, con gnome-system-monitor, con pstree, etc. Más adelante en el post, como nota aclaratoria, explico como identificar el nombre del proceso asociado a un programa. Si en lugar de VLC queremos que el salvapantalas se desactive con otros programas tan solo tenemos que sustituir el comando vlc por el que corresponda en cada caso. Algunos ejemplos de comandos alternativos a vlc son los siguientes:\nfirefox: Si en vez de vlc escriben firefox desactivaremos el protector de pantalla cada vez que se inicie el navegador web Firefox. parole: Si en vez de vlc escriben parole desactivaremos el protector de pantalla cada vez que se inicie el reproductor de vídeo Parole. chrome: Si en vez de vlc escriben chrome desactivaremos el protector de pantalla cada vez que se inicie el navegador web Google Chrome. totem: Si en vez de vlc escriben totem desactivaremos el protector de pantalla cada vez que se inicie reproductor de video Totem. skype: Si en vez de vlc escriben skype desactivaremos el protector de pantalla cada vez que se inicie el programa de mensajería de Skype. soffice.bin: Si en vez de vlc escriben soffice.bin desactivaremos el protector de pantalla cada vez que se inicie la suite ofiomática Libreoffice. evince: Si en vez de vlc escriben evince desactivaremos el protector de pantalla cada vez que se inicie el lector de pdf Evince gimp-2.8: Si en vez de vlc escriben gimp-2.8 desactivaremos el protector de pantalla cada vez que se inicie el programa de edición de imágenes de Gimp. risttreto: Si en vez de vlc escriben risttreto desactivaremos el protector de pantalla cada vez que se inicie el visualizador de imágenes de Risttreto.\nPara finalizar este apartado les dejo con una captura de pantalla en que les muestro una serie de programas añadidos en el apartado de Activación automática:\nCualquiera de los programas que se ejecute y esté presente en el apartado de activación automática implicará que el protector de pantalla se desactivará automáticamente.\nAVERIGUAR EL PROCESO ASOCIADO CON UN PROGRAMA Como hemos dicho anteriormente para poder configurar Caffeine a nuestro gusto es necesario conocer el nombre de los procesos de los programas. Una forma simple para realizar esto es con el comando pstree.\nAsí por lo tanto si queremos averiguar el nombre del proceso asociado a gimp, lo primero que tenemos que hacer es abrir gimp. Una vez abierto gimp abrimos una terminal y tecleamos el siguiente comando:\npstree El resultado de este comando, tal y como se puede ver en la captura de pantalla, es la totalidad de los procesos que se están ejecutando junto con sus dependencias en forma de árbol.\nSi consultamos los resultados obtenidos, tal y como se puede ver en la captura de pantalla, hay un proceso llamado gimp-2.8 que con total seguridad corresponde al programa Gimp. Por lo tanto ya hemos averiguado el nombre del proceso necesarios para poder configurar Caffeine.\nUSO Y CONFIGURACIÓN DE CAFFEINE PARA USUARIOS DE GNOME SHELL Iniciar por primera vez Caffeine En el caso de usar Gnome Shell no hace falta iniciar Caffeine. En el momento de instalar la extensión de Gnome Caffeine se inicia automáticamente siempre que arranquemos nuestro sistema.\nHacer que Caffeine arranque automáticamente con el arranque de sistema En el caso de usar la extensión de Caffeine para el escritorio de Gnome Shell no hace falta configurar absolutamente nada. Caffeine se inicializará de forma automática con el arranque del sistema.\nEn el caso de que alguien precise deshabilitar el arranque automático tan solo tiene que desactivar la extensión de Gnome Shell.\nDesactivar el Salvapantallas manualmente cuando quiero ver un vídeo Para desactivar el gestor de energía en gnome shell tenemos que posicionarnos encima de la taza de café del panel de gnome y presionar el botón derecho o izquierdo del ratón, justo después de presionar el botón aparecerán una rayas encima de la taza de café indicando que el gestor de energía está deshabilitado. Para volver habilitar el gestor de energía tenemos que repetir exactamente la misma operación que hemos realizado para deshabilitarlo.\nActivar Caffeine cuando se inicie un programa determinado Para que el gestor de energía se desactive cuando se inicie un programa sencillamente tenemos que acceder a la configuración de extensiones de Gnome Shell.\nUna vez hemos accedido a la configuración de extensiones, tal y como se puede ver en la captura de pantalla, presionamos encima del botón de configuración de la extensión de Caffeine.\nDespués de presionar en el botón de configuración aparecerá la siguiente pantalla:\nEn esta pantalla tendremos la totalidad de opciones de configuración que nos permite Caffeine. Activando y desactivando los interruptores podemos configurar las siguientes acciones:\nMostrar u Ocultar el icono de Caffeine del panel de Gnome. Que se desactive el gestor de energía, y por lo tanto el salvanpatallas, cada vez que se ejecute una aplicación a pantalla completa. De esta forma cuando visualicemos un vídeo de Youtube o un vídeo con nuestro reproductor de vídeo no se activará el salvapantallas. Activar o desactivar las notificaciones que indican cuando el salvapantallas se activa o desactiva. Además en la parte inferior izquierda de la ventana veremos que que existe un botón para agregar aplicaciones. De esta forma cuando iniciemos la aplicaciones que se agreguen en este apartado el gestor de energía se desactivará. Para realizar esto presionamos el Botón de Agregar Aplicación\nTal y como se puede ver en la captura de pantalla aparecerá la ventana Crear nueva regla. En ella tenemos que seleccionar la aplicación en que queremos que no se active el salvapantallas cuando la utilicemos. En mi caso selecciono VLC y presiono el botón Agregar. Una vez realizado este paso cada vez que se arranque la aplicación VLC se desactivará la gestión de energía. Cuando se cierre VLC el gestor de energía se volverá a activar de nuevo.\n","permalink":"https://geeklandlinux.github.io/posts/desactivar-salvapantallas-caffeine/","summary":"\u003cp\u003eHace tiempo que quería escribir este post pero nunca encontraba el momento para ello. Desde que empecé a usar Linux una de las cosas que \u003cstrong\u003eno acabo de entender es como puede ser posible que en prácticamente ninguna distro el Salvanpantallas funcione de forma adecuada\u003c/strong\u003e. \u003cstrong\u003eA muchos seguramente le serán familiares las siguientes situaciones\u003c/strong\u003e:\u003c/p\u003e","title":"Desactivar el salvapantallas con Caffeine"},{"content":"Hace unos días tuve serios problemas con los drivers de mi tarjeta gráfica. Como consecuencia me quedé sin entorno gráfico y solo podía arrancar mi sistema operativo Debian con el modo de recuperación. Con el modo de recuperación me di cuenta que mi tarjeta de red wifi no funcionaba porqué al fallar la carga del entorno gráfico nunca llegaba a cargarse el gestor de redes Network Manager.\nLo primero que pensé es en buscar un cable de red para conectar mi ordenador de sobremesa directamente al Router pero la verdad es que ninguno de los que disponía era suficientemente largo. Como esta solución no era factible entonces intenté buscar la forma que mi tarjeta de red Wifi funcionará sin disponer de ningún gestor de redes como por ejemplo network manager o wicd.\nSOLUCIÓN AL PROBLEMA Lo único que tenemos que hacer para que nuestra tarjeta de red inalámbrica o wifi funcione sin la necesidad de disponer de un entorno gráfico, es configurar de forma adecuada el archivo:\n/etc/network/interfaces Para configurar este archivo de forma adecuada tan solo tenemos que seguir los pasos que veremos a continuación.\nCOPIA DE SEGURIDAD DEL ARCHIVO DE CONFIGURACIÓN Antes de empezar a modificar la configuración deberemos realizar una copia de seguridad de la configuración actual. Para realizar la copia de seguridad de la configuración actual tan solo tenemos que abrir una terminal y teclear el siguiente comando:\ncp /etc/network/interfaces /etc/network/interfaces.bak Una vez realizada la copia de seguridad ya podemos pasar a modificar la configuración del archivo /etc/network/interfaces para que nuestra tarjeta de red wifi funcione de nuevo.\nIDENTIFICAR LA SEGURIDAD Y EL ESSID DE NUESTRA RED INALÁMBRICA Para configurar nuestra tarjeta de red Inalámbrica, lo primero que tenemos que conocer es el tipo de seguridad que implementa nuestra red ya que en función del tipo de seguridad variaran los comandos de configuración que tenemos que usar.\nEn el caso de desconocer el tipo de seguridad que tiene nuestra red inalámbrica podemos aplicar el siguiente método para obtenerla.\nAbren un ordenador cualquiera que disponga de GNU-Linux. Se conectan a la red Inalámbrica y abren una terminal. En la terminal teclean el comando:\nnetstat -nr Presionan Enter y seguidamente les aparecerá una pantalla parecida a la siguiente:\nSi observan cuidadosamente veremos que se nos informa de dos datos de interés. El primero es que nuestra Gateway o puerta de enlace de nuestro Router que es la 192.168.1.1, y el segundo dato es que nuestra interfaz de red es reconocida como wlan0.\nUna vez conocida la interfaz de red tecleamos el siguiente comando en la terminal:\nsudo iwlist wlan0 scan Nota: En mi caso en el comando pongo wlan0 porqué, como hemos visto anteriormente, mi interfaz de red se reconoce como wlan0. Si en vuestro caso la interfaz de red tiene un nombre diferente a wlan0 deberán modificar el comando sustituyendo wlan0 por vuestra interfaz de red. Una vez ejecutado el comando presionan Enter y obtendrán la siguiente información:\nEn el campo ESSID podremos ver que el ESSID el nuestra Red inalámbrica es WLAN_1540.\nTambién si observamos detalladamente la imagen veremos que en el apartado IE se detalla la seguridad de mi red inalámbrica es WPA-PSK.\nCONFIGURACIÓN DE LA TARJETA DE RED WIFI CON SEGURIDAD WPA-PSK O WPA2-PSK En la actualidad prácticamente el 100% de los usuarios domésticos disponen de una red inalámbrica con seguridad del tipo WPA o WPA2 (PSK). Por lo tanto existen altas probabilidades que quien esté leyendo este artículo tenga que aplicar la configuración detallada en este apartado.\nPara empezar con la configuración lo primero que tenemos que hacer es abrir el archivo /etc/network/interfaces con un editor de texto. Para ello introducimos el siguiente comando en la terminal:\nsudo nano /etc/network/interfaces Una vez abierto el editor de textos tenemos que introducir o asegurar que la siguiente información está presente dentro de nuestro archivo de configuración.\n# The loopback network interface auto lo iface lo inet loopback auto wlan0 iface wlan0 inet static address 192.168.1.144 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 192.168.1.1 wpa-ssid WLAN_1540 wpa-psk ASCtG4567894538JF43b Nota: En el archivo de configuración figuran datos como el Essid y nuestra contraseña de conexión Wifi. Obviamente los datos que figuran en este ejemplo de configuración están inventados. Nota: Obviamente quien se limite a copiar y pegar la configuración que he puesto obtendrá un resultado insatisfactorio porqué hay que adaptar la configuración a cada situación en particular. Para poder adaptar la configuración a cada paso particular tienen que leer y comprender el significado que tiene cada uno de los parámetros que ponemos en el archivo de configuración. El significado de todos y cada uno de los parámetros introducidos en la configuración son los siguientes:\nComando 1 : “auto lo”: Este comando lo que hace es iniciar la interfaz lo (Loopback) automáticamente durante la secuencia de arranque. Comando 2 : “iface lo inet loopback”: Con este comando lo que estamos haciendo es definir los parámetros de la interfaz lo para IP’s del tipo IPV4. Los parámetros de configuración de esta interfaz se introducen automáticamente en el momento de levantar la red. Comando 3 : “auto wlan0”: Este comando lo que hace es iniciar la interfaz wlan0 durante la secuencia de arranque del ordenador. Si alguien lo cree conveniente puede reemplazar wlan0 por wlan1 o cualquier otro nombre que crea conveniente.** Comando 4 :** “iface wlan0 inet static”: Con este comando lo que estamos indicando es que una vez levantada la interfaz wlan0 se asigne una IP fija o estática del tipo IPV4 a nuestro ordenador. La IP y tipo de red se nos asignará en función de los parámetros que estableceremos en los comandos que van del 5 al 9. Comando 5 : “address 192.168.1.144”: En el campo address he puesto 192.168.1.144 que se trata de una dirección IP reservada para redes de tipo clase C. He puesto esta IP porqué es la IP que quiero que se asigne a mi ordenador como ip fija o estática. En principio podemos elegir cualquier ip comprendida entre la dirección de red (network) y la dirección broadcast. Nota: Las direcciones IP reservadas para redes clase C van desde 192.168.0.0 hasta 192.168.255.255. Por lo tanto en este campo podríamos haber elegido otras IP como por ejemplo 192.168.100.14, 162.168.0.3, etc. En función de la la IP que elijamos hay que tener en cuenta de modificar el resto de parámetros como por ejemplo puede ser la puerta de entrada, la dirección broadcast, etc. Comando 6 : “netmask 255.255.255.0”: He elegido que mi máscara de red sea 255.255.255.0. Prácticamente el 100% de redes domésticas utilizan está máscara de red. La máscara de red define el número máximo de ordenadores o host que puede tener nuestra red. Al usar 255.255.255.0 el número máximo será de 254 ordenadores. En el caso de necesitar construir una red de más de 254 ordenadores tendríamos que montar una red clase B que nos permitirá llegar a tener hasta 65534 ordenadores. Nota: A modo de ejemplo. Si quisiéramos limitar el número de ordenadores que pueden conectarse a nuestra red a 32, tan solo deberíamos modificar la mascara de red a 225.255.255.224. Nota: Para cambiar a una red tipo B tendríamos que usar una máscara de red del tipo 255.255.0.0. Las IP que tienen reservadas para las redes de tipo B son 172.16.0.0 a 172.31.255.255. Si precisan de más información pueden consultar el siguiente post. Comando 7 : “broadcast 192.168.1.255”: Como dirección broadcast pongo 192.168.1.255. Esta dirección se podrá usar para comunicarse y enviar paquetes a la totalidad de equipos que forman parte de una misma red. La dirección broadcast es la dirección más alta de la red. En nuestro caso como la puerta de entrada es 192.168.1.1 y la mascara de subred es el 255.255.255.0 la dirección broadcast será 192.168.1.255.\nComando 8 : “gateway 192.168.1.1”: En este campo hay que definir la puerta de entrada del router que en mi caso es 192.168.1.1. Este parámetro se puede modificar en vuestro router pero la gran mayoría de personas acostumbra a tener la dirección 192.168.1.1. En el caso que vuestra puerta de enlace no sea la 192.168.1.1, la pueden averiguar fácilmente siguiendo los consejos que se detallan en el apartado “Identificar el tipo de seguridad y el ESSID de nuestra red inalámbrica” de este mismo post.\nComando 9 :”dns-nameservers 192.168.1.1”: En los dns-namservers he puesto 192.168.1.1 ya que es la puerta de entrada de mi Router. De está forma estoy definiendo que las peticiones DNS de nuestro ordenador sean resultas mediante los DNS de mi ISP. En el caso que quiera usar otros DNS, como por ejemplo los de google, tan solo tenemos que reemplazar 192.168.1.1 por 8.8.8.8.\nComando 10 :”wpa-ssid WLAN_1540”: En el campo wpa-ssid tenemos que detallar el ESSID de nuestra red inalámbrica que en mi caso es WLAN_1540. El ESSID es el nombre con que se identifica nuestra red inalámbrica. En el caso poco probable de no saber el ESSID de nuestra red inalámbrica lo podemos averiguar fácilmente siguiendo los consejos que se detallan en el apartado “Identificar el tipo de seguridad y el ESSID de nuestra red inalámbrica” de este mismo post.\nNota: Existen muchas otras formas de obtener el ESSID de nuestra red Inalámbrica. Otras formas para poder averiguar el ESSID son mediante el applet de Gnome Network Manager o Wicd, accediendo a la configuración de nuestro router, etc. Comando 11 :”wpa-psk ASCtG4567894538JF43b”: Después del comando wpa-psk tan solo tenemos que introducir la clave de nuestra red inalámbrica. Obviamente la clave que he utilizado para realizar el post es falsa. Una vez introducidos la totalidad de los comandos en el archivo de configuración guardan los cambios. La próxima vez que se reinicie el PC la conexión a Internet vía Wifi tiene que funcionar a la perfección.\nCONFIGURACIÓN DE LA TARJETA DE RED INALÁMBRICA CON SEGURIDAD WEP En el caso que vuestra red inalámbrica disponga de seguridad del tipo WEP el proceso es prácticamente el mismo que acabamos de ver pero con un par de ligeras modificaciones.\nComo en el caso anterior abrimos el archivo**/etc/network/interfaces** con un editor de textos. Para ello introducimos el siguiente comando en la terminal:\nsudo nano /etc/network/interfaces Una vez abierto el editor de textos tenemos que introducir o asegurar que la siguiente información está presente en nuestro archivo de configuración.\n# The loopback network interface auto lo iface lo inet loopback auto wlan0 iface wlan0 inet static address 192.168.1.144 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 192.168.1.1 wireless-essid WLAN_1540 wireless-key ASCtG4567894538JF43b Si comparan la configuración con seguridad WPA-PSK con esta verán que únicamente los 2 últimos comandos son diferentes. Por lo tanto simplemente que tener en cuenta estas dos modificaciones:\nEn el comando 10 hay que reemplazar wpa-ssid por wireless-essid En el comando 11 hay que reemplazar wpa-psk por wireless-key Para comprender el significado de cada una de las lineas del archivo de configuración pueden consultar el apartado en el que se detalla la configuración para redes con seguridad WPA-PSK.\nUna vez introducidos la totalidad de los comandos en el archivo de configuración guardan los cambios. La próxima vez que se reinicie el PC la conexión a Internet vía Wifi tiene que funcionar a la perfección.\nCONFIGURACIÓN DE LA TARJETA DE RED WIFI CON SEGURIDAD WPA-EAP O WPA2-EAP En el caso que vuestra red inalámbrica disponga de seguridad del tipo WPA-EAP el proceso es prácticamente el mismo que acabamos de ver pero con un par de ligeras modificaciones.\nComo en el caso anterior abrimos el archivo**/etc/network/interfaces** con un editor de textos. Para ello introducimos el siguiente comando en la terminal:\nsudo nano /etc/network/interfaces Una vez abierto el editor de textos tenemos que introducir o asegurar que la siguiente información está presente en nuestro archivo de configuración.\n# The loopback network interface auto lo iface lo inet loopback auto wlan0 iface wlan0 inet static address 192.168.1.144 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 192.168.1.1 wpa-ssid WLAN_1540 wpa-eap ASCtG4567894538JF43b Si comparan la configuración con seguridad WPA-PSK con esta verán que únicamente el último comando es diferente. Por lo tanto simplemente hay que realizar el siguiente cambio:\nEn el comando 11 hay que reemplazar wpa-psk por wpa-eap Para comprender el significado de cada una de las lineas del archivo de configuración pueden consultar el apartado en el que se detalla la configuración para redes con seguridad WPA-PSK.\nUna vez introducidos la totalidad de los comandos en el archivo de configuración guardan los cambios. La próxima vez que se reinicie el PC la conexión a Internet vía Wifi tiene que funcionar a la perfección.\nSITUACIONES EN LAS QUE PUEDE SER ÚTIL Finalmente solo quiero citar situaciones en las que lo citado en este post puede ser de utilidad. Algunas de las situaciones que se me ocurren son las siguientes:\nEn el caso de querer realizar una net install de un sistema operativo y no dispongamos de un cable de red. En este caso lo que cuento en este post puede ser de suma utilidad. En el caso que tengáis una avería similar a la que he comentado en el inicio de este post. Una vez conseguí que funcionará la tarjeta de red inalámbrica puede reparar sin problema mi tarjeta de red. Lo que hice fue desinstalar el Driver privativo de Nvidia y usar el Libre. Cualquier tipo de operación que tengamos que hacer en el caso que no dispongamos de entorno gráfico y no dispongamos de un cable de red o del que dispongamos sea demasiado corto. Es posible que existan más utilidades de las que acabo de mencionar. Así que si alguien se anima puede escribir posibles utilidades en los comentarios del post.\n","permalink":"https://geeklandlinux.github.io/posts/conectarse-wifi-sin-entorno-grafico/","summary":"\u003cp\u003e\u003cstrong\u003eHace unos días\u003c/strong\u003e tuve serios problemas con los drivers de mi tarjeta gráfica. Como consecuencia \u003cstrong\u003eme quedé sin entorno gráfico y solo podía arrancar mi sistema operativo Debian con el modo de recuperación\u003c/strong\u003e. \u003cstrong\u003eCon el modo de recuperación me di cuenta que mi tarjeta de red wifi no funcionaba\u003c/strong\u003e porqué al fallar la carga del entorno gráfico nunca llegaba a cargarse el gestor de redes Network Manager.\u003c/p\u003e","title":"Conectarse con Wifi sin disponer de entorno gráfico"},{"content":"Las Chrome Apps o aplicaciones de Google denominadas Packaged App aparecieron el 5 de Septiembre del 2013. Inicialmente aparecieron para Chrome OS y para Windows. A partir de la versión 35 de Google Chrome también aparecieron para Linux. Por lo tanto a día de hoy podremos aplicar lo citado en este post en Linux, Windows y Mac OS X.\n¿QUÉ SON LAS CHROME PACKAGED APPS O APLICACIONES DE GOOGLE? Una Chrome App o aplicación de Google es una aplicación o programa construido con tecnología Web como por ejemplo HTML5, javascript, CSS feed, etc. Al igual que prácticamente la totalidad de aplicaciones de escritorio que todo el mundo conoce, las Chrome App también disponen de las siguientes características:\nLas Chrome App denominadas “Chrome packaged Apps” trabajan como aplicaciones de escritorio y por lo tanto nos permitirán trabajar Offline sin precisar de una conexión a Internet. Las Chrome App pueden acceder a dispositivos externos como por ejemplo cámaras de fotos, pendrives vía USB y Bluetooth. Con las Chrome App podremos acceder a documentos que tenemos almacenados tanto en nuestro disco duro como en la nube. En el caso de usar una Chrome App de las denominadas “Chrome Packaged App”, las App se iniciaran sin que nuestro navegador se abra. Se iniciaran como si de una aplicación de escritorio se tratará. En ningún momento se verán pestañas de navegador ni otros elementos que nos puedan molestar. Las Chrome App podrán disponer de notificaciones en nuestro escritorio. Las Chrome Apps y el contenido de las Chrome Apps siempre están sincronizados en la totalidad de nuestros dispositivos y ordenadores. La totalidad de Chrome Apps se actualizarán en segundo plano de forma automática tal y como ocurre con el navegador Google Chrome. De esta forma siempre tendremos las aplicaciones actualizadas sin tener que realizar nada. Las Chrome Apps disponen de mecanismos de seguridad típicos de las aplicaciones de escritorio como por ejemplo sistemas de permisos para realizar ciertas operaciones, Mecanismos de CSP (Content security policy) para evitar distintos tipos de ataques, protección sandbox de Google Chrome, etc. Ejemplos de Chrome Apps muy conocidas en la actualidad son Google Keep (Aplicación de Notas), Pixrl (Editor de fotos), Webogram (Cliente de Telegram), etc.\nNota: No hay que confundir una Chrome Apps con una extensión del navegador. Una extensión del navegador Chrome simplemente se limita a añadir una funcionalidad adicional a nuestro navegador. Además una extensión no dispone de ninguna interfaz gráfica de usuario (GUI). Ejemplos de extensiones muy conocidas y que imagino que todo el mundo debe conocer son Adblock Plus (Bloqueador de anuncios), Hola (Servicio VPN), etc. Si quieren instalar extensiones en el navegador pueden consultar el siguiente link. ¿QUÉ SON LAS CHROME HOSTED APPS O APLICACIONES DE GOOGLE? Las Chrome Apps del tipo Hosted App también son consideradas como Chrome Apps pero presentan diferencias importantes respecto a las Chrome Apps denominadas Packaged Apps. Algunas de estas diferencias son son las siguientes:\nLa Hosted App se crean añadiendo una serie de metadatos al contenido de páginas web normales y corrientes. En definitiva una Chrome hosted App viene a ser una Web App y por lo tanto al igual que en el caso anterior usa tecnología Web como por ejemplo HTML5, javascript, CSS feed, etc. Desarrollar una Chrome Hosted App es cuestión de minutos y se puede realizar sin prácticamente tener conocimientos de programación. Nosotros mismos podemos crear una Chrome Hosted App a partir de cualquier página web existente de forma fácil y sencilla. Acabamos de comentar que las Hosted App se alimentan del contenido y del código de programación de una página Web. Por lo tanto para que una Chrome App sea operativa precisaremos de una conexión a Internet. Normalmente las Hosted App se inician en nuestro navegador. Por lo tanto cuando estamos utilizando las Hosted Apps se abrirá nuestro navegador y estaremos viendo las pestañas de nuestro navegador. En ningún momento tendremos la sensación de estar usando una aplicación de escritorio. Ejemplos de Chrome Hosted Apps muy conocidas en la actualidad son Google Drive (Nube i suite Ofimática), Spotify (Reproducción de Música), Google Maps (Mapas de Google), etc.\nCOMO INSTALAR CHROME APPS O APLICACIONES DE GOOGLE Podemos instalar fácilmente Chrome Apps accediendo a la Chrome Store de Google.\nQuien precise instalar Chrome Packaged Apps lo puede realizar clicando encima del siguiente enlace. Una vez hayan clicado en el link verán que la totalidad de aplicaciones que están dentro del apartado para tu escritorio son Chrome Packaged Apps.\nSi por lo contrario precisan instalar Chrome Hosted Apps lo pueden hacer accediendo en el siguiente link.\nNota: Para ver la totalidad de extensiones y aplicaciones que tenemos instaladas en nuestro navegador, tan solo tenemos que abrir nuestro navegador Chrome y teclear chrome://extensions/ en la barra de direcciones, seguidamente presionamos Enter. ACTIVACIÓN DEL MENÚ DE APLICACIONES DE CHROME \u0026ldquo;CHROME LAUNCHER\u0026rdquo; El menú de aplicaciones de Chrome, o Chrome App Launcher, no está habilitado por defecto. Para habilitar el menú deberemos seguir los pasos descritos a continuación:\nAbrimos nuestro navegador Google Chrome. Una vez abierto el navegador tecleamos el siguiente comando en la barra de direcciones:\nchrome://flags/ Presionamos la tecla Enter y aparecerán una serie de opciones de configuración para nuestro navegador Google Chrome. Entre la multitud de opciones de configuración que encontraremos tenemos que encontrar y habilitar la siguiente opción:\nHabilitar el menú de aplicaciones. Linux Habilita el menú de aplicaciones. Una vez que se haya habilitado, crea accesos directos del sistema operativo en el menú de aplicaciones. #enable-app-list Habilitar\nUna vez encontrada la opción, tal y como se puede ver en la captura de pantalla, tenemos que clicar encima de la opción Habilitar.\nUna vez habilitada la opción tan solo tenemos que reiniciar nuestro navegador Google Chrome. Para ello tal y como podemos ver en la captura de pantalla, tenemos que presionar encima del botón Reiniciar Ahora.\nUna vez reiniciado el navegador, el menú de aplicaciones de Google Chrome estará habilitado y además, tal y como se puede ver en la captura de pantalla, en el menú de vuestro escritorio aparecerá un nuevo apartado de Aplicaciones de Chrome:\nPor lo tanto en estos momentos podremos acceder tranquilamente y fácilmente a cualquier Chrome App a través de los menús de nuestra distribución Linux, Windows o Mac OS X. En ningún momento tendremos que arrancar nuestro navegador para poder acceder a nuestras Chrome Apps o aplicaciones de Chrome.\nINTEGRAR LAS APPS DE CHROME EN NUESTRO ESCRITORIO Una vez activado el menú de aplicaciones también podemos crear un lanzador del menú de aplicaciones para poder acceder aún de forma más fácil y sencilla a la totalidad de Chrome Apps que tengamos instaladas.\nNota: El procedimiento descrito a continuación únicamente es útil para XFCE que es el entorno de escritorio que utilizo actualmente. En el caso de usar un entorno de escritorio diferente a XFCE deberéis buscar en Google como se debe crear un Lanzador. En otros entornos de escritorio conocidos, como por ejemplo Unity, el proceso de crear un lanzador del menú de aplicaciones de Chrome es muchísimo más sencillo que en XFCE. Para ello ubicamos el puntero de nuestro ratón encima del panel de XFCE y presionamos el botón derecho. Aparecerá un menú en el que tenemos que seleccionar Panel y seguidamente en el submenú que saldrá tenemos que seleccionar Añadir nuevos elementos.\nDespués de seleccionar Añadir nuevos elementos aparecerá la siguiente ventana:\nSeleccionamos la opción Lanzador y seguidamente presionamos el botón Añadir. Después de presionar el botón añadir, tal y como se puede ver en la captura de pantalla, aparecerá un lanzador en blanco en el panel de nuestro escritorio XFCE:\nNos ubicamos encima del lanzador en blanco y presionamos el botón derecho de nuestro ratón. Después de presionar el botón aparecerá un menú desplegable en el que tenemos que seleccionar la opción Propiedades. Al seleccionar la opción Propiedades aparecerá la siguiente ventana:\nTal y como se puede ver en la captura de pantalla, clicamos encima del icono Añadir un nuevo elemento vacío. Después de esta acción aparecerá la siguiente ventana:\nNos posicionamos encima de la celda Nombre y escribimos la palabra menú. Al escribir la palabra menú, tal y como se puede ver en la captura de pantalla, aparecerán una serie de propuestas para la creación del lanzador. Tal y como se puede ver en la captura de pantalla**, tenemos que seleccionar la propuesta Crear lanzador Menú de aplicaciones**. Una vez seleccionada la propuesta, tal y como se puede ver en la captura de pantalla, tenemos que presionar el botón Crear.\nUna vez creado el lanzador tan solo tenemos que ir al panel de nuestro escritorio y presionar sobre el icono del Chrome Launcher. Una vez hayamos presionado sobre él, tal y como se puede ver en la captura de pantalla, aparecerán la totalidad de Chrome Apps que tenemos instaladas.\nClicamos encima de una Chrome App cualquiera que en mi caso es Webogram. Una vez hayamos clicando encima de la App se iniciará y podremos usarla sin ningún tipo de problema.\nDe esta forma las Chrome Apps quedan perfectamente integradas a nuestro entorno de escritorio y podemos acceder a ellas de forma muy práctica y cómoda.\nOPCIONES DE CONFIGURACIÓN ADICIONAL DE LAS CHROME APPS Si repasáis los pasos realizados veréis que durante la activación del menú de aplicaciones, veréis que accedimos al menú de configuración de Google Chrome tecleando chrome://flags/ en la barra de direcciones del navegador y presionando Enter.\nAllí habilitamos el menú de escritorio o Chrome Launcher de forma sencilla, pero aparte de habilitar el menú de escritorio podemos configurar más opciones relacionadas con las Chrome Apps.\nAsí por lo tanto una vez dentro del menú de configuración si queremos que el menú de aplicaciones aparezca en el medio de la pantalla, en lugar de justo al lado del icono del menú de aplicaciones, tenemos que localizar y activar la siguiente propiedad:\nCentrar el menú de aplicaciones. Windows, Linux, Chrome OS Coloca el menú de aplicaciones en el centro de la pantalla en horizontal. #enable-centered-app-list\nSi queremos que en el menú de aplicaciones aparezcan la totalidad de aplicaciones de Google Drive tendremos que localizar y activar la siguiente propiedad:\nHabilitar aplicaciones de Drive en el menú de aplicaciones. Mac, Windows, Linux, Chrome OS Muestra aplicaciones de Drive junto con aplicaciones de Chrome en el menú de aplicaciones. #enable-drive-apps-in-app-list\nSi queremos que cada vez que abramos una nueva pestaña en el navegador aparezcan la totalidad de Chrome apps que tenemos instaladas, tan solo tenemos que localizar y activar la siguiente propiedad:\nHabilitar el elemento en aplicaciones de Chrome. Mac, Windows, Linux, Chrome OS, Android Permite el uso del elemento experimental #enable-app-view\nFinalmente si queremos que la totalidad de nuestras Chrome Apps estén sincronizadas en la totalidad de nuestros dispositivos deberemos localizar y asegurar que la siguiente opción esté habilitada:\nHabilitar sincronización del menú de aplicaciones Mac, Windows, Linux, Chrome OS Habilita la sincronización del menú de aplicaciones. También habilita las carpetas si están disponibles (no en OS X). #enable-sync-app-list\nCONCLUSIONES FINALES Las Chrome Apps son desconocidas por el público en general. A pesar de esto mi punto de vista es que con las Chrome se pueden llegar a cubrir gran parte de las necesidades de software y de uso de los usuarios más comunes. En mi caso utilizo las Chrome App para suplir algunas carencias de Linux como por ejemplo:\nUsando Reditr dispongo de un cliente de Reddit en condiciones para poder acceder a Reddit en linux. Mediante Google Keep dispongo de una aplicación de notas que me permite la sincronización de notas en la totalidad de mis dispositivos. Aparte de las Chrome Apps que acabo de citar existen otras Chrome Apps que uso y que son interesantes, pero en este post no considero que sea necesario hablar de ellas.\nEn definitiva pienso que el futuro de las Chrome Apps irá muy ligado a los siguientes aspectos:\nIrá ligado al éxito del sistema operativo de Google Chrome OS. Que google acabe consiguiendo que las Google Apps se puedan utilizar en dispositivos Android e iOS. Que el público y el mundo empresarial acabe usando de forma masiva las Google Apps. Todos sabemos que si la gente no presta atención a uno de los servicios de Google simplemente se limitan a cerrar el proyecto. ","permalink":"https://geeklandlinux.github.io/posts/integrar-chrome-apps-escritorio/","summary":"\u003cp\u003eLas Chrome Apps o aplicaciones de Google denominadas Packaged App aparecieron el 5 de Septiembre del 2013. Inicialmente aparecieron para Chrome OS y para Windows. A partir de la versión 35 de Google Chrome también aparecieron para Linux. Por lo tanto a día de hoy podremos aplicar lo citado en este post en Linux, Windows y Mac OS X.\u003c/p\u003e","title":"Integrar las Chrome Apps a nuestro Escritorio"},{"content":"Me he decidido a escribir este post sobre Chromecast para detallar la totalidad de aplicaciones que utilizo con el dispositivo Chromecast. Espero que el artículo sea un éxito y sirva para que gente que tenga el Chromecast le pueda sacar el máximo partido, y también para que la gente que esté indecisa decida si va a comprárselo. Al mismo tiempo también espero que este artículo sirva para que los usuarios que lean este post puedan recomendarme las aplicaciones que usan ellos para sacar el máximo partido a este dispositivo.\nNota: En este artículo únicamente detallo las aplicaciones que uso y considero que para mi tienen alguna utilidad. Se que existen muchas otras aplicaciones para leer noticias, tener disponible el timeline de Twitter en la tele, usar nuestro teléfono como un micro, etc. En todo momento intentaré evitar que este artículo sea similar a los miles de artículos presentes en Internet y que según mi punto de vista parecen fotocopiados el uno del otro porqué todos se limitan a contar lo mismo. Nota: La totalidad de aplicaciones que menciono intento que sean gratuitas. En el caso de no ser gratuitas lo advertiré en la descripción de la aplicación. APLICACIONES IMPRESCINDIBLES EN CHROMECAST (ANDROID E IOS) Apps para escuchar música, radio en Streaming Google Music (Android e iOS): Aplicación y servicio archiconocido de Google que utilizo para escuchar la música que quiero usando los altavoces de mi televisor. Tan solo tenemos que hacernos una cuenta de Google Music y de forma gratuita Google nos permitirá subir 20.000 canciones en su nube. Una vez subidas las canciones y álbumes a la nube, tan solo tenemos que instalar la aplicación de Google Music a nuestro teléfono, tablet u ordenador para de este modo poder escuchar las canciones que tenemos almacenadas en la nube de Google. Las canciones se escucharan a través de nuestro teléfono, ordenador o tablet, pero en el caso de tener un Chromecast también lo podremos escuchar nuestra música a través de un televisor. Quien quiera usar Google Music en google Chrome deberá instalar la siguiente extensión para Google Chrome. Si queréis usar Google Music en Android deberéis instalar la siguiente aplicación y finalmente lo usuarios de iOS deberán instalar esta aplicación.\nDeezer (Android e iOS): Empecé a usar Deezer porqué spotify no da soporte para chromecast y además no conocía la solución de Spoticast. Este servicio no tiene nada que envidiar a Spotify. Por lo tanto quien quiera probarlo adelante ya que dispone de compatibilidad con Chromecast de serie sin tener que realizar ningún tipo de invento ni de cosa rara. Sin duda Deezer no tiene absolutamente nada que envidiar a Spotify. Quien quiera usar Deezer en Android lo puede instalar clicando encima de este link. Quien quiera usarlo en iOS deberá acceder a este link para poder instalarlo.\nSpoticast (Android): La aplicación oficial de Spotify no está habilitada para transmitir sus canciones al dispositivo Chromecast porqué los responsables de Spotify han decido que su aplicación no sea compatible con Chromecast. Si queréis saltaros esta restricción tan solo tenéis que instalar la aplicación Spoticast. La aplicación Spoticast la pueden descargar del Google Play Market a través de este enlace. Esta aplicación a veces se retira del google play, en el caso que no la encontréis podéis descargar el archivo apk sin ningún tipo de problema a través de este enlace. Una vez instalado ejecutan la aplicación spoticast e introducen su nombre de usuario y contraseña de Spotify. Seguidamente abren la aplicación oficial de Spotify. Inician la reproducción de las canciones que quieren escuchar y el contenido musical de spotify se repoducirá en vuestro televisor a través del Chromecast sin ningún tipo de problema. Si no queréis realizar tanta historia siempre podéis utilizar otros servicios a Spotify como por ejemplo Google Music, Deezer, Grooveshark, etc.\nGmobile (Android): Aplicación similar a Deezer y a Spotify que uso para escuchar música proveniente de Grooveshark en mi televisor. Quien quiera probar esta aplicación para Android la puede obtener de forma gratuita en la Amazon App Store o directamente de la web de su desarrollador. Con esta aplicación podremos escuchar la totalidad de listas que tenemos almacenadas en Grooveshark y tendremos acceso total al contenido que ofrece Grooveshark.\nTune in Radio (Android e iOS): Aplicación gratuita que utilizo para escuchar la radio a través de mi televisor. Con Tune in Radio puedo escuchar sin ningún tipo de problema más de 100.000 estaciones de radio, y más de 4000 podcast en televisor a través del dispositivo Chromecast. Quien quiera está aplicación en Android la puede instalar a través del siguiente link. Quien la quiera instalar en iOS puede utilizar el siguiente Link. Los links de instalación que acabo de dejar corresponden a la versión gratuita del programa. Si quieren pueden instalar la versión Pro. La principal diferencia entre la versión Gratuita y la Pro es que la Pro no tiene banners de publicidad y nos permite grabar los programas de radio.\nApps para escuchar Podcast Beyonpod (Android): Beyonpod es un gestor de Podcast de pago. Normalmente acostumbro a escuchar la totalidad de mis podcast cuando conduzco o hago deporte. Pero cuando estoy en casa a veces utilizo Beyonpod para enviar los podcast al Chromecast y de esta forma escucharlos usando los altavoces del televisor de forma cómoda, con una calidad de audio excelente y sin la necesidad de usar ningunos auriculares. Aparte de Beyonpod existen otras aplicaciones alternativas que hacen exactamente lo mismo como por ejemplo PocketCast (Android e iOS) y Downcast (iOS). También existe la posibilidad de escuchar los podcast con unos altavoces cualquiera que tengan conector minijack sin necesidad de disponer de un televisor, pero para ello necesitaremos disponer de un adaptador de HDMI a VGA y audio. Quien quiera instalar Beyond lo puede hacer usando el siguiente link.\nApps para ver series y películas SeriesDroid S (Android): Es la aplicación que uso más y me sirve para ver las series de televisión que más me interesan en Streaming y por mi televisor. Si alguien se decide a instalar la aplicación quedará simplemente sorprendido por el extenso catálogo de series que se ofrecen. Da igual que la serie sea vieja o nueva. En SeriesDroid seguro que estará allí y la podremos ver en streaming con una calidad de imagen y sonido excelente. Sin duda esta aplicación es un reemplazo excelente de Netflix. Quien quiera instalar esta aplicación puede hacerlo a través de Aptoide usando el siguiente enlace, o si lo prefieren lo pueden hacer a través de la web de los desarrolladores de esta App.\nPelisDroid S (Android): Aplicación desarrollada por los mismos creadores de SeriesDroid. A diferencia de la aplicación anterior, en esta aplicación únicamente encontraremos películas que podremos visionar perfectamente en nuestro televisor. Para poneros un ejemplo hoy veré la película Al filo del mañana estrenada el día 30 de Mayo de 2014. Por lo tanto sin ninguna duda en esta aplicación aparecen tanto películas recientes como películas viejas. Esta aplicación se ha retirado de la tienda Google play. Quien quiera instalar esta aplicación la única opción que tiene es instalarla a través de la web de los desarrolladores, o a través de la tienda de Apps Aptoide usando el siguiente enlace.\nVidownload (Android): Después de la entrada en vigor de la nueva ley de propiedad intelectual (LPI) y después del cierre de apps como Let\u0026rsquo;s Luk y otras, Vidownload es una muy buena opción para visualizar series y películas con nuestro Chromecast. Para ver como poder instalar y usar Web Video Caster para poder visualizar series y películas con nuestro Chromecast tan solo tienen que consultar el siguiente enlace.\nWeb Video Caster (Android): Después de la entrada en vigor de la nueva ley de propiedad intelectual (LPI) y después del cierre de apps como Let\u0026rsquo;s Luk y otras, Web Video Caster a pasado a ser una de las mejores apps para visualizar series y películas con nuestro Chromecast. Para ver como poder instalar y usar Web Video Caster para poder visualizar series y películas con nuestro Chromecast tan solo tienen que consultar el siguiente enlace.\nTvsofa2 (iOS): Aplicación de pago que sustituye a la mítica aplicación Tvsofa, y que nos servirá para ver multitud de películas y series en nuestro dispositivo móvil con iOS. Esta aplicación de por si no es compatible con Chromecast, pero gracias a la aplicación Video Web Downloader podremos visualizar la totalidad de contenido de Tvsofa2 en nuestro televisor. Quien quiera instalar TVsofa2 en su dispositivo iOS puede usar el siguiente enlace. La nueva aplicación es similar a la antigua, pero en vez de alimentarse de links de series.ly, lo hará de otras fuentes como por ejemplo pordede.com, etc.\nVideo Web Downloader (iOS): Después de la entrada en vigor de la nueva ley de propiedad intelectual (LPI) y después del cierre de apps como TVsofa, Video Web Downloader a pasado a ser una de las mejores apps para visualizar series y películas con nuestro Chromecast en iOS. Esta aplicación también es sumamente útil combinada con otras aplicaciones como por ejemplo TVsofa2 ya que Video Web Downloader nos permitirá reproducir los vídeos de TVsofa2 en nuestra Apple TV o Chromecast. Para ver como poder instalar y usar Video Web Downloader para poder visualizar series y películas con nuestro Chromecast tan solo tienen que consultar el siguiente enlace.\nPopcorntime for Android (Android): Aplicación 100 % compatible con Chromecast para poder visualizar infinidad de películas en vuestro televisor. La totalidad de películas que se incluyen acostumbran a ser en inglés pero la gran mayoría de películas disponen de subtitutulos en Español. Por lo tanto a quien les guste aprender idiomas y ver las películas en versión original disfrutaran mucho esta aplicación. Esta aplicación no se encuentra en el Google Play, por lo tanto quien quiera instalarla lo deberá hacerlo desde el siguiente link.\nVuze Torrent Downloader (Android): Aplicación gratuita en cierto modo muy similar a Popcorntime for Andoird. Uso esta aplicación en mi teléfono o tablet para descargar películas vía Torrent. Una vez descargadas las películas Vuze Torrent downloader me permite ver los videos que he descargado siempre y cuando el formato de vídeo del archivo descargado sea compatible con Chromecast. Para descargar e instalar esta aplicación lo podemos utilizar el siguiente enlace.\nApps para ver retransmisiones deportivas en directo Libredirecto S (Android): Aplicación realizada por los mismos desarrolladores que SeriesDroid y PelisDroid. Esta aplicación es una de las opciones que uso para ver eventos deportivos importantes como partidos de fútbol, partidos de baloncesto, el mundial de motociclismo, torneos como la Ryder Cup, etc. Esta app permite lanzar los vídeos que visualizamos de nuestro teléfono al televisor. En el caso que el servicio de streaming no permita lanzar la aplicación al Chromecast siempre podemos hacer mirroring de nuestro teléfono al televisor. La opción de mirroring únicamente está disponible a usuarios que dispongan de un Nexus 4, Nexus 5, Nexus 10, Nexus 7 de segunda generación, HTC One M7 y M8, LG G2, LG G3, LG G-Pro2, Samsung Galaxy Note 3, Samsung Galaxy Note 4, Samsung Galaxy S4 y Samsung Galaxy S5. Quien quiera instalar esta aplicación lo puede realizar a partir de la web de los desarrolladores, o a partir de la tienda alternativa de Apps Aptoide.\nApps para visualizar vídeos almacenados en nuestro teléfono, tablet u ordenador Videostream (Android, Chrome): Aplicación que permite reproducir cualquier archivo de vídeo o audio que tengamos almacenado en nuestro teléfono móvil Android o en nuestro ordenador. Por lo tanto esta aplicación tiene exactamente el mismo uso que Plex con la ventajas que es gratuita y no necesitamos tener nuestro ordenador abierto con Plex Media server para poder visualizar nuestras archivos de vídeo en nuestro televisor. Quien quiera probar la aplicación para Android la puede encontrar fácilmente en la Google Play Store. Quien quiera probar Videostream en el ordenador se puede descargar la extensión de la Chrome Store sin ningún tipo de problema.\nWeb Video Caster (Android): Web Video Caster es un navegador web que utilizo para lanzar prácticamente cualquier vídeo presente en una página web a nuestro televisor. Además también utilizo Web Video Caster como reproductor para reproducir la totalidad de contenido de la aplicaciones que no tienen soporte para Chromecast a mi televisor, ya que es capaz de transmitir todo tipo de contenido en streaming de servidores como StreamCloud, Allmyvideos y otros al dispositivo Chromecast. Quien quiera instalar esta aplicación tan solo tiene que clicar en el siguiente link.\nLocalCast - Media 2 Chromecast (Android): La función que doy a Localcast es reproducir la totalidad de contenido de vídeo y audio que tengo almacenado en mi teléfono móvil o tablet a mi televisor. Además también utilizo esta aplicación para intentar reproducir contenido en streaming proveniente de la aplicaciones que no tienen soporte nativo para Chromecast. Aparte de las funciones citadas Localcast tiene otras funcionalidades adicionales como por ejemplo reproducir contenido que tenemos almacenado en la nube, reproducir contenido almacenado en un servidor DLNA, etc. Quien quiera instalar esta aplicación tan solo tiene que clicar encima del siguiente link.\nEzcast (Android e iOS): Aplicación muy polivalente y que permite realizar multitud de tareas. Algunas de las tareas que podemos realizar con Ezcast son visualizar fotos almacenadas en nuestro teléfono o tablet, reproducir vídeos y archivos de audio almacenados en nuestro teléfono, visualizar archivos de pdf, powerpoint ,etc en nuestro televisor, visualizar el contenido que capta la cámara trasera o delantera de nuestro teléfono al televisor, navegar por Internet a través de nuestro televisor, etc. Esta aplicación la podemos descargar del Google Play Store o del Appstore sin ningún tipo de problema.\nPlex (Android e iOS): Poco hay que decir sobre Plex. Con Plex podremos organizar y visualizar la totalidad de vídeos, películas, fotos y música que tenemos almacenadas en nuestro ordenador en nuestro televisor sin ningún tipo de problema. Para ello tan solo tenemos que instalar Plex Media Server en nuestro ordenador y el cliente de Plex en nuestro dispositivo Android o iOS. A pesar de que Plex es una opción excelente no la uso. Prefiero usar Videostream ya que la cantidad de vídeos que tengo almacenados son pocos y además los clientes de Android para iOS y para Android son de pago. Quien quiera instalar Plex Media Server en su ordenador puede usar el siguiente enlace. Para instalar el cliente de plex en vuestro dispositivo Android podéis usar este link y para iOS podéis utilizar el siguiente link.\nApps para poder ver vídeos ubicados en la web Web Video Caster (Android): Web Video Caster es un navegador web que utilizo para lanzar prácticamente cualquier vídeo presente en una página web a nuestro televisor. Además también utilizo Web Video Caster como reproductor para reproducir la totalidad de contenido de la aplicaciones que no tienen soporte para Chromecast a mi televisor, ya que es capaz de transmitir todo tipo de contenido en streaming de servidores como StreamCloud, Allmyvideos y otros al dispositivo Chromecast. Quien quiera instalar esta aplicación tan solo tiene que clicar en el siguiente link.\nVideo Web Downloader (iOS): Aplicación de pago que sirve para visualizar y descargar series y películas de nuestras webs favoritas. Esta aplicación también es sumamente útil combinada con otras aplicaciones como por ejemplo TVsofa ya que Video Web Downloader nos permitirá reproducir los vídeos de TVsofa en nuestra Apple TV o Chromecast. Quien quiera descargar Video Web Downloader puede usar el siguiente enlace.\nEzcast (Android e iOS): Aplicación muy polivalente y que permite realizar multitud de tareas. Algunas de las tareas que podemos realizar con Ezcast son visualizar fotos almacenadas en nuestro teléfono o tablet, reproducir vídeos y archivos de audio almacenados en nuestro teléfono, visualizar archivos de pdf, powerpoint ,etc en nuestro televisor, visualizar el contenido que capta la cámara trasera o delantera de nuestro teléfono al televisor, navegar por Internet a través de nuestro televisor, etc. Esta aplicación la podemos descargar del Google Play Store o del Appstore sin ningún tipo de problema.\nGoogle Chrome (Android): La verdad es que prácticamente no uso Google Chrome con el Chromecast. Google Chrome se puede usar para lanzar la totalidad de vídeos que vemos cuando estamos navegando con nuestro teléfono o tablet a nuestro televisor. A pesar de que esta funcionalidad es útil prefiero realizarla con otra aplicación mencionada en este post que se llama Web Video Caster. Quienes no quieran usar ninguna de estas dos aplicaciones pueden usar el navegador Firefox para Android que también permite realizar esta función.\nApps para visualizar vídeos diversos Youtube (Android e iOS): Gracias a la aplicación de Youtube, que podemos instalar en cualquier teléfono o tablet Android o iOS, y Chromecast puedo visualizar la totalidad de vídeos disponibles en Youtube en mi televisor. Utilizo prácticamente a diario esta aplicación para poder ver los vídeos de los canales en que estoy suscrito y también para ver los vídeos que me recomienda Google. Si alguna persona no quiere usar Youtube porqué odia a Google o por cualquier otra razón siempre puede usar aplicaciones como DailyMotion o Vimeo que también tienen soporte para Chromecast.\nVevo (Android e iOS): Aplicación disponible para Android e iOS que utilizo para ver videoclips musicales en mi televisor. Quien este interesado en probar la esta aplicación la puede descargar de la tienda Google Play o de la App Store.\nTwitch (Android e iOS): Aplicación indispensable para gamers y que además es 100% compatible con Chromecast. Esta aplicación nos servirá para ver partidas de videojuegos en directo en nuestro televisor. Estas partidas que visualizamos son partidas que están retransmitiendo en directo usuarios de la plataforma Twitch. Quien quiera instalar Twitch en Android puede usar el siguiente link mientras quien quiera instalarlo en iOS deberá utilizar este link.\nApps para visualizar series y cadenas de televisión Atresplayer (Android e iOS): Aplicación gratuita con la que podremos visualizar en directo o a la carta prácticamente la totalidad contenido que ofrecen los canales de televisión pertenecientes a la plataforma Atresmedia (Antena 3, la Sexta, Nova y Neox). La aplicación funciona perfectamente pero está plagada de publicidad y te exigen registrarte para poder ver determinados contenidos. Quien quiera descargar esta aplicación para iOS puede utilizar el siguiente enlace. Quien quiera descargarla y usarla en Android puede usar el siguiente link.\nRtve.es (Android e iOS): Aplicación gratuita con versión para móvil y para tabler que utilizo para visualizar la totalidad de vídeos almacenados en TVE a la carta. Esta aplicación, al contrario que la aplicación de Atresplayer, no permite visualizar programas en directo vía nuestro dispositivo Chromecast. Quien quiera probar esta aplicación en Android la puede descargar e instalar desde el siguiente link. Quien la quiera descargar e instalar en iOS puede utilizar el siguiente link.\nNota: En iOS no utilizo muy a menudo el Chromecast y pienso que las aplicaciones que existen adaptadas para poder usar Chromecast son pocas si lo comparamos con Android. No obstante las aplicaciones que he citado para iOS seguro que serán de mucha utilidad para todos los usuarios. APLICACIONES IMPRESCINDIBLES EN CHROMECAST (GOOGLE CHROME) Google Cast (Google Chrome): Google Cast es la extensión de Google para poder configurar nuestro Chromecast y para poder enviar contenido de nuestro navegador a nuestro televisor. Utilizo la extensión Google Cast para transmitir la totalidad de vídeos que veo en mi navegador a mi televisor. Es la opción que uso para ver eventos deportivos como el fútbol o el mundial de motociclismo. Podéis instalar la extensión Google Cast del siguiente enlace. Por cierto, esta extensión también la podemos usar para mostrar la totalidad de contenido de nuestro ordenador a nuestro televisor.\nVideostream (Google Chrome): Extensión de Google Chrome que utilizo para poder reproducir la totalidad de archivos de audio y de vídeo que tengo almacenados en mi ordenador. Para poder instalar y usar esta extensión en vuestro navegador Google Chrome lo podéis realizar mediante el siguiente enlace.\nVidcast (Google Chrome): Extensión para Google Chrome que uso para ver los vídeos que me encuentro en la web cuando estoy navegando. Con esta extensión de Google Chrome puedo visualizar en mi televisor vídeos que encuentro en sitios web conocidos como por ejemplo Vimeo, Ted, Dailymotion, etc. Quien quiera instalar esta extensión en su navegador lo tiene que hacer desde el siguiente enlace.\nINFORMACIÓN ADICIONAL Quien quiera ver la totalidad de aplicaciones que en este momento son compatibles con Chromecast puede visitar el siguiente enlace:\nhttps://www.google.es/chrome/devices/chromecast/apps.html#marquee-slide-youtube\nSi quieren visualizar las aplicaciones disponibles en vuestro dispositivo móvil también tienen la opción de instalar la app Cast Store. Pueden instalar la aplicación Cast Store accediendo al siguiente link:\nhttps://play.google.com/store/apps/details?id=goko.gcs\u0026amp;hl=es\nDe este modo siempre es fácil enterarse de la totalidad de aplicaciones que dan soporte a Chromecast y de las nuevas aplicaciones que dan soporte y que van apareciendo dia a dia\nPara finalizar quien aun quiera mas aplicaciones y buenas recomendaciones pueden consultar el siguiente link:\nhttps://www.reddit.com/r/chromecast/wiki/apps\n","permalink":"https://geeklandlinux.github.io/posts/aplicaciones-imprescindibles-chromecast/","summary":"\u003cp\u003eMe he decidido a escribir este post sobre Chromecast para detallar la totalidad de aplicaciones que utilizo con el dispositivo Chromecast. Espero que el artículo sea un éxito y sirva para que gente que tenga el Chromecast le pueda sacar el máximo partido, y también para que la gente que esté indecisa decida si va a comprárselo. Al mismo tiempo también espero que este artículo sirva para que los usuarios que lean este post puedan recomendarme las aplicaciones que usan ellos para sacar el máximo partido a este dispositivo.\u003c/p\u003e","title":"Aplicaciones imprescindibles en Chromecast"},{"content":"En principio no tenia intención de escribir un post similar a este. Pero resulta que hace unos meses estaba viendo la keynote de Apple y en un momento de la presentación de OS X se anunció que a partir de Yosemite, iCloud se integrará en sus gestor de archivos Finder. Segundos después del anuncio y de una pequeña demostración, el público enloqueció y empezó a aplaudir como si esto fuera el no va más y el descubrimiento del siglo. Más tarde en un podcast generalista de tecnología citaban este hecho como realmente noticiable.\nLa verdad no creo que esto sea para tanto ya que si queréis podéis tener una integración similar en Linux con Dropbox y Nautilus o Thunar, lo podéis realizar añadiendo una ubicación o marcador en vuestro gestor de archivos. Quien no sepa hacerlo tan solo tiene que seguir los pasos que detallaremos a continuación.\nNota: Francamente a todo el mundo que tiene que presentar un producto a un equipo comercial o a la sociedad firmaría tener un público tan poco crítico como los asistentes de las Keynote de Apple. Nota: Asumo que el usuario que lea este post tendrá instalado Dropbox en su sistema operativo. En el caso que no lo tuviera instalado lo puede instalar siguiendo las recomendaciones de este post. En el caso de no usar Dropbox el procedimiento a seguir es exactamente el mismo, tan solo tienen que cambiar la Carpeta de sincronización de Dropbox por la de Copy, Spideroak, etc. AÑADIR UBICACIONES EN THUNAR Como hemos comentado para Integrar Dropbox o cualquier otro servicio en nuestro gestor de archivos Thunar lo podemos realizar añadiendo una ubicación.\nPara añadir una ubicación seleccionamos la carpeta que queremos añadir en ubicaciones que en mi caso es la de Dropbox. Una vez seleccionada, tal y como se puede ver en la captura de pantalla, presionamos el botón derecho del mouse, seleccionamos la opción Enviar a y finalmente clicamos encima de Panel lateral (Crear acceso directo).\nUna vez seguidas las instrucciones veremos que en nuestro panel lateral aparece la Carpeta de Dropbox. Por lo tanto hemos integrado Dropbox a nuestro gestor de archivos añadiendo una simple ubicación.\nELIMINAR UBICACIONES EN THUNAR Si queremos eliminar la ubicación que acabamos de crear el proceso es muy sencillo. Tal y como se puede ver en la captura de pantalla nos posicionamos encima de la ubicación que acabamos de crear, que en mi caso es Dropbox. Una vez estamos encima presionamos el botón derecho de nuestro ratón y seguidamente seleccionamos la opción Eliminar enlace.\nAÑADIR MARCADORES EN NAUTILUS Para crear un marcador en el gestor de archivos Nautilus entramos dentro de la carpeta de la cual queremos crear el Marcador. En mi caso como me quiero crear un Marcador de Dropbox, tal y como se puede ver en la captura de pantalla, entraré dentro de la carpeta de Dropbox.\nUna vez dentro de la carpeta de Dropbox tan solo tengo que presionar la siguiente combinación de teclas:\nCtrl + D\nUna vez presionada la combinación de teclas, tal y como se puede ver en la captura de pantalla, aparecerá la carpeta de Dropbox en los marcadores de Nautilus.\nELIMINAR MARCADORES EN NAUTILUS Si en algún momento queremos o necesitamos quitar algún marcador de nuestro gestor de archivos, tal y como se puede ver en la captura de pantalla, tan solo tenemos que seleccionar el marcador que queremos eliminar con el ratón. Una vez seleccionado presionar el botón derecho del ratón y seguidamente presionamos la opción Quitar.\nNota: Como se puede ver en la captura de pantalla aparte de eliminar el marcador se nos ofrecen opciones adicionales como por ejemplo renombrar el nombre del marcador, etc. RESULTADOS DESPUÉS DE TODAS LAS ACCIONES REALIZADAS Como se puede ver en la imagen después de añadir los marcadores o ubicaciones resulta que tenemos el mismo tipo de integración de la que los asistentes de la Keynote de Junio de 2014 se volvían locos.\nTodas las carpetas y archivos almacenados en Dropbox estarán accesibles desde nuestro gestor de archivos. Podemos editar los archivos almacenados en Dropbox directamente desde nuestro ordenador o desde nuestros dispositivos móviles. Todo el contenido almacenado en Dropbox se sincroniza automáticamente en todos tus ordenadores y dispositivos móviles vinculados a la misma cuenta de Dropbox. Si no voy mal este tipo de integración es exactamente la misma que se anuncio en la keynote de Apple para Yosemite. E incluso me atrevería a decir que la integración en Linux es superior porque tal y como se puede ver en la captura de pantalla, desde nuestro gestor de archivos podemos obtener enlaces de descarga que podemos enviar a nuestros contactos, ver versiones antiguas de un archivo en concreto y acceder directamente al contenido del navegador en la web de Dropbox. Y todo esto se puede realizar con Nautilus o incluso con Thunar que según algunos usuarios de Linux es un gestor de archivos un poco limitado.\nNota: La misma crítica realizada en la integración de iCloud con Finder se podría realizar con muchas de las novedades presentadas en OS X Yosemite. Algunas características de su Mail, la posibilidad de elegir entre temas claros y temas oscuros, etc. Todas estas funcionalidades no tienen nada de novedoso ya que otros sistemas operativos ya habían aplicado soluciones similares en el pasado.","permalink":"https://geeklandlinux.github.io/posts/ubicaciones-thunar-marcadores-en-nautilus/","summary":"\u003cp\u003eEn principio no tenia intención de escribir un post similar a este. Pero resulta que hace unos meses estaba viendo la \u003ca href=\"https://www.youtube.com/watch?v=YLVX6Q3M3lE\" title=\"Vídeo Keynote Apple Junio 2014\"\u003ekeynote de Apple\u003c/a\u003e y en un momento de la presentación de OS X se anunció que a partir de Yosemite, iCloud se integrará en sus gestor de archivos Finder. Segundos después del anuncio y de una pequeña demostración, el público enloqueció y empezó a aplaudir como si esto fuera el no va más y el descubrimiento del siglo. Más tarde en un podcast generalista de tecnología citaban este hecho como realmente noticiable.\u003c/p\u003e","title":"Añadir ubicaciones en Thunar y marcadores en Nautilus"},{"content":"Hace escasamente unos días publiqué un artículo en el que se comentaba y denunciaba la falta de privacidad en google y en Internet. Si alguien está interesado en leer este artículo lo puede realizar en el siguiente enlace:\n¿Qué sabe Google de nosotros?\nAdemás de denunciar la falta de privacidad también puse una serie de ejemplos de como Google está recopilando información de todos y cada uno de sus usuarios. A raíz de esto, tal y como comprometí, he escrito el siguiente artículo en el que citaré una serie de recomendaciones que pueden seguir para limitar la información que proporcionamos a Google y a otras compañías que se dedican a recopilar y vender nuestros datos.\nMEJORAR NUESTRA PRIVACIDAD EN GOOGLE Y EN INTERNET Mucha gente en este apartado imagino que optaría por simplemente listar una serie de servicios alternativos a Google, o usar servidores proxy o VPN. Pero este no es mi caso y además muchos de los servicios alternativos a Google y servicios VPN tampoco sabemos que intenciones tienen detrás. Yo como muchas otras personas uso y seguiré usando los servicios de Google a no ser que salga nueva información que me haga cambiar de opinión u otra alternativa de mayor calidad.\nAlgunas de las prácticas que podemos emplear para mejorar nuestra privacidad en google y en internet las siguientes:\nEn el post que hablábamos de lo que Google sabe de nosotros, vimos que Google guarda un historial de la totalidad de nuestras ubicaciones. Para evitar que Google pueda rastrear y almacenar la totalidad de sitios donde vamos es indispensable que deshabilitéis los servicios de localización de Google de vuestro teléfono móvil Android. De esta forma evitaremos que Google rastree nuestra ubicación geográfica cuando usemos por ejemplo Google Maps. Para activar y desactivar los servicios de ubicación de Google en Android tan solo tienen que acceder al menú Ajustes, una vez dentro del menú ajustes seleccionamos la opción Ubicación. Dentro de la opción ubicación podremos activar y desactivar fácilmente el servicio de localización de Google. A pesar de desactivar este servicio es muy posible que diversas aplicaciones de terceros pueden ser capaces de intuir nuestro geoposicionamiento mediante la triangulación de la señal 3G o también por nuestro wifi, etc. Siempre que sea posible hay que apagar el GPS del teléfono. Por lo tanto tan solo hay que usar el GPS del teléfono cuando sea estrictamente necesario. En el momento de activar nuestro GPS Google y aplicaciones de terceros registraran nuestra posición GPS para conocer nuestro Geoposicionamiento. Apagar el Wifi de vuestro teléfono, tablet u ordenador cuando no lo estemos usando. Si leen este artículo podrán ver cada vez que cada vez que nuestro teléfono está captando una red Wifi también está proporcionando nuestra SSID al Router que está proveyendo la señal Wifi. Por lo tanto mediante esta información, en caso de necesidad, alguien podría llegar a determinar si un determinado día nosotros estuvimos en un determinado sitio. Si realmente eres un obsesivo de la privacidad y te preocupa lo que Google sabe de ti desactiva Google Now de tu teléfono móvil o tablet. Google Now es una auténtica máquina espía que monitorea constantemente la totalidad de nuestras acciones. En el momento que activan Google Now se activan los informes de ubicación, el historial de localizaciones, se analiza el contenido de nuestros emails y se activan la totalidad de herramientas de que Google dispone para poder obtener información de tu persona. Si alguna aplicación de Android o iOS o pide permiso para acceder a vuestra localización tenéis que responder que no. Si tenemos que usar esta App ya le daremos permisos en el momento que la tengamos que usarla. Cuando se instala una aplicación en nuestro teléfono móvil o tablet aconsejo que os toméis un momento para analizar los permisos que estamos otorgando a la aplicación. Para poneros un ejemplo, en el caso de descargaros una aplicación de linterna que requiera de permisos para poder acceder a vuestro libreta de contactos mejor no instalar la aplicación. Una aplicación de linterna no necesita para nada acceder a vuestros contactos. Android no es un sistema tan abierto como pensamos. Todas las apps que usamos son de código cerrado. La mayoría de los apk que instalamos son un simple ejecutable que instalamos en nuestro dispositivo móvil y solo sus creadores saben realmente lo que hace. Por lo tanto si os preocupa vuestra privacidad se recomienda instalar aplicaciones que provengan de fuentes seguras, o de repositorios Open Source como F-Droid. Este consejo que doy para Android también es válido para el resto de sistemas operativos como por ejemplo Windows, Mac OS, etc. Cuando naveguemos con el navegador de Google Chrome, o con cualquier otro navegador, hacerlo siempre con vuestra cuenta de Google desconectada ya que de esta forma estaremos evitando que Google recopile información de nuestra visitas. Además una vez hemos terminado de realizar la totalidad de búsquedas es importante borrar las Cookies del navegador para así evitar proporcionar información posterior a Google u a otras compañías. Una forma de realizar lo que acabo citar sin realizar prácticamente ninguna acción es usar el modo incógnito de navegación. En el caso que no les guste usar el navegador en modo incógnito en un futuro escribiré un post para configurar correctamente las cookies de nuestros navegadores. Es importante desactivar todos los servicios de Google que no usemos y configurar los perfiles y opciones de privacidad en todos y cada uno de los servicios de Google. Para realizar esta tarea se puede acceder en el siguiente enlace. Después de introducir vuestro usuario y contraseña de Google podréis configurar las opciones de privacidad y perfiles de la totalidad de servicios de Google como por ejemplo Google+, Youtube, Google Fotos, etc. Si queréis usar Gmail y os incomoda enormemente el hecho que Google acceda y consulte el contenido de vuestra cuenta de correo, podéis cifrar vuestro correo electrónico. Quien quiera aprender como cifrar y descifrar un correo electrónico de forma fácil y sencilla puede consultar el siguiente enlace. En la actualidad el hecho de cifrar el correo electrónico tiene un problema importante y es que la gran mayoría de personas no sabe como cifrar ni descifrar un correo. Además la gran mayoría de tampoco tiene generadas el par de claves necesarias para poder cifrar y descifrar correos. Antes de realizar una publicación en Google + y/o en Internet hay que pensarlo 2 veces. Una vez realizada la publicación el contenido es de dominio público y no podemos hacer absolutamente nada para controlar su difusión. Una vez ha sido realizada la publicación no hay marcha atrás y mediante la ingeniería social es posible que terceras personas y obviamente Google pueden llegar a conocer gran cantidad de datos de nosotros. En el caso de subir fotografías a Google plus, o a cualquier otro servicio, es recomendable borrar los metadatos de las fotografías. Los metadatos son importantes y pueden llegar a revelar datos privados como por ejemplo la ubicación de nuestra vivienda. En el caso de decir borrar los metadatos hay que ir con cuidado ya que seguramente hay gente que usa los metadatos para clasificar sus fotografías, etc. En un futuro escribiré un post para borrar los metadatos de nuestras fotografías. Comprobar periódicamente las opciones de privacidad de los diferentes servicios de Google que estamos usando. Hay que hacerlo periódicamente ya que las condiciones de servicio se cambian cada dos por tres. Al cambiar las condiciones de servicio es probable que Google y terceros modifiquen algunas de las opciones de privacidad que configuramos en el pasado. Si queréis intentar evitar que Google sepa vuestros intereses siempre podéis acceder a las preferencias de anuncios de Google, y borrar los intereses que tienen identificados y los datos que consideréis oportunos. Nota: Si alguien me recomienda añadir alguna otra acción para intentar dificultar nuestro rastreo a Google y en Internet lo puede realizar tranquilamente en los comentarios de este artículo. Nota: Usar alguna herramienta para anonimizar las conexiones no lo considero una opción. Estoy seguro que muchos de los proxy o VPN existentes no son fiables ya que en este mundo no existe nada gratuito. Todo servicio gratuito tiene que disponer de un método para monetizar el servicio prestado. Por lo tanto imagino que muchos servidores proxy y VPN existentes en el mercado hacen lo mismo que Google o simplemente intentan inyectar Malware o troyanos dentro de nuestro ordenador. Una de las pocas herramientas que me parecen eficaces para mejorar la privacidad en Internet es Tor. Nota: En lo que se refiere a dispositivos móviles tanto Android como iOS son un completo desastre en temas de privacidad. La única opción que conozco que garantiza un mínimo de privacidad son los blackphone. Los Blackphone a groso modo son teléfonos que equipan un sistema Android modificado para asegurar la privacidad de los usuarios.","permalink":"https://geeklandlinux.github.io/posts/mejorar-privacidad-en-google/","summary":"\u003cp\u003eHace escasamente unos días publiqué un artículo en el que se comentaba y denunciaba la falta de privacidad en google y en Internet. Si alguien está interesado en leer este artículo lo puede realizar en el siguiente enlace:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"/posts/que-sabe-google-de-nosotros/\"\u003e¿Qué sabe Google de nosotros?\u003c/a\u003e\u003c/p\u003e","title":"Mejorar nuestra privacidad en Google y en Internet"},{"content":"Imagino que a estas altura todo el mundo es consciente que el hecho de usar un ordenador o un teléfono móvil puede conllevar y de hecho conlleva problemas graves de privacidad. Empresas como Google, Apple, Facebook u otras sin duda no dejan pasar la oportunidad de recopilar información y datos de sus usuarios.\nDe hecho el mismo Richard Stallman en este artículo, comenta que no tiene ni usa un Smartphone. Sin duda después de estas declaraciones la gran mayoría de gente pensará que este personaje es un excéntrico o paranoico, pero quien se pare a reflexionar y tenga un conocimiento mínimo de como funciona Internet verá que Richard Stallman tiene toda la razón del mundo.\nPor este motivo he pensado en realizar 2 artículos relacionados con la privacidad que Google ofrece a sus usuarios. Los 2 artículos son los siguientes:\n¿Qué sabe Google de nosotros? Mejorar nuestra privacidad en Google y en Internet\nNota: Siempre he tenido la sensación que Richard Stallman sabe mucho mas de lo que cuenta y sencillamente no dice más porqué sabe que si lo hace tendría consecuencias negativas para él. Los hechos ocurridos recientemente con los sistemas de espionaje masivo Prism y XKeyscore demuestran que los considerados paranoicos de la seguridad y privacidad en Internet puede que tengan mucha más razón de lo que la gente piensa. Nota: El objetivo de este artículo no es simplemente criticar a Google. Todo el contenido y críticas que se verán a continuación se pueden aplicar a prácticamente la totalidad de compañías que ofrecen servicios por Internet, por lo tanto lo único que se pretende es denunciar el problema de privacidad que existe hoy en día en Internet. QUE SABE GOOGLE DE NOSOTROS La principal fuente de ingresos de Google es ofrecer publicidad adaptada a los gustos y necesidades del consumidor. Por lo tanto estoy más que convencido que Google dispone de un perfil muy detallado de todos y cada uno de nosotros. Perfiles que si pudiéramos consultar quedaríamos más que sorprendidos.\nLas principales fuentes de información que Google utiliza para generar los perfiles de todos y cada uno de sus usuarios son amplias y conocidas por la gran mayoría de personas. Es más si queréis saber a partir de que servicios Google está recopilando información de vosotros mismos podéis consultar el siguiente enlace. Después de introducir vuestro usuario y contraseña de Google podréis ver la totalidad de servicios de Google que estáis usando y consecuentemente estaréis viendo la totalidad de fuentes que Google usa para recolectar información de vosotros. En mi caso algunos de los servicios de Google que estoy usando actualmente son:\nGmail Google + Google Analytics Historial de audio Historial de Ubicaciones Historial de Búsquedas en el navegador Web Google Play Music Google Play Store Sincronización de Chrome Google Drive Google Fotos Contactos y Calendarios de Google etc. ¿Os imagináis la cantidad de información que Google puede obtener solamente con los servicios mencionados? En los siguientes apartados os podréis hacer una idea aproximada de la información que Google recopila de nosotros de algunos de los servicios que acabamos de mencionar.\nHistorial de ubicaciones de Google Pueden disponer de un historial completo de nuestros movimientos y de los sitios donde estamos y hemos estado mediante el historial de ubicaciones. Hoy en día todo el mundo dispone de un smartphome y Google aprovecha esta ocasión para registrar todos nuestros movimientos geográficos. Por lo tanto Google sabe en todo momento donde estamos. En el caso que tengáis alguna duda tan solo tenéis que consultar el siguiente enlace e ingresar el usuario y contraseña de vuestra cuenta de Google. Una vez realizado esto podréis observar los datos de ubicación que Google ha registrado de vosotros mismos.\nSegún Google el fin de elaborar un historial de ubicaciones es ofrecer publicidad a los usuarios en función de nuestra ubicación geográfica. No obstante este historial de ubicaciones también podría tener otros fines como por ejemplo controlar a ciertos individuos por parte de un gobierno, constatar si lo que hiciste un día determinado es cierto o no, etc.\nFotos almacenadas en los servicios de Google Google tiene acceso a la totalidad de fotos almacenadas en sus servidores y por lo tanto también tienen acceso a la totalidad de sus metadatos. Por lo tanto Google y todos los usuarios que accedan y puedan visualizar estas fotografías, a través de los metadatos pueden obtener información sensible como las coordenadas GPS de donde se tiro una determinada fotografía, la fecha y la hora que se ha realizo la fotografía, el modelo de dispositivo con que el que se tiró la fotografía, identificar a las personas que salen en las fotografías mediante un sistema de reconocimiento facial, etc. Esto hecho puede revelar datos importantes y sensibles como por ejemplo las coordenadas exactas de nuestra vivienda, etc.\nHistorial de búsquedas Si consultan el siguiente enlace e introducen los datos de vuestra cuenta, verán que Google registra y clasifica cada una de las búsquedas que realizamos.\nLa clasificación que realizan verán que es realmente excelente. Quedan almacenadas todas y cada una de las búsquedas realizadas por hora, por día, por tipo de información que has buscado, etc. De esto modo Google sabe las páginas que visitamos y lo que nos gusta. De este modo puede adaptar las búsquedas que hacemos en el navegador a nuestras preferencias. En otras palabras Google aprende de nuestros gustos y de esta forma el buscador de Google puede adaptar los resultados de búsqueda a nuestras preferencias. Sin duda esto en principio es positivo pero informando de nuestras búsquedas lo que estamos haciendo es mostrar como somos a Google.\nEsta es la principal razón por la que si estamos acostumbrados a usar Google se nos hace tan difícil cambiar de buscador ya que los resultados de búsqueda del nuevo buscador no se adaptan a nuestras preferencias e intereses. De esta forma Google te hace entrar en su jardín cerrado y te engancha a usar todos sus servicios para de esta forma sacarte información y construir un elaborado perfil personal que usará para lucrarse económicamente.\nInformación extraída a partir de las cookies Otro de los puntos que aprovecha Google para poder obtener información de sus usuarios son las cookies que se almacenan en nuestro ordenador. Con las cookies almacenadas en nuestro ordenador pueden saber las páginas web que hemos visitado, las horas a las que las hemos visitado, la frecuencia con que las visitamos, el tiempo que empleamos en cada visita, etc.\nCorreo electrónico Gmail Todo el mundo conoce que Google, aunque lo haga a través de robots y aseguren que los empleados de google no tienen acceso a nuestro correo, espía el contenido de nuestros emails.\nIncluso la propia Google lo reconoce abiertamente sin ningún tipo de problema. Por lo tanto no dudes que Google utiliza información de tu email para poder elaborar un perfil de tu persona y de esta forma poderte ofrecer publicidad o información adaptada a tus gustos y preferencias. Un ejemplo claro de que Google tiene en cuenta el contenido almacenado en nuestros correos electrónicos, en nuestros calendarios y en la totalidad de servicios de Google que usamos es Google Now.\nAsí por lo tanto si tenemos el envío de un producto en curso, Google Now es capaz de consultar/espiar nuestro correo electrónico, recopilar la información del envío y darnos información acerca de la entrega del envío que tenemos pendiente. La verdad es que esta funcionalidad es increíble y sumamente práctica, pero hay que tener en cuenta que de la misma forma que esta herramienta puede usada con estos fines también puede ser usada para espiar a la totalidad de usuarios.\nCalendarios y contactos Si usamos el calendario de Google y almacenamos nuestros contactos en los servicios de Google, obviamente estaremos proporcionando información adicional a esta compañía. La información que pueden obtener de estas 2 fuentes son los contactos con que nos relacionamos, lo que hacemos en nuestro día a día, nuestra profesión, si tenemos planificado un viaje, si tenemos problemas de salud, etc.\nGoogle+ y Hangouts Google + y Hangouts los pongo en el mismo saco ya que hasta no hace mucho los dos servicios estaban unificados. Tanto Google + como Hangouts me parecen excelentes, pero nuevamente cada vez que los estamos usando estamos proporcionado información a Google. Con Google + y Hangouts Google sabrá con la gente que nos gusta relacionarnos, nuestros intereses, tendrá información acerca de las conversaciones mantenidas con nuestros contactos, etc. Cada +1 que estáis otorgando a los artículos que os gustan y cada conversación vía chat mantenida con vuestros contactos están proporcionan información a Google para elaborar vuestro perfil como persona.\nNota: El comentario de este apartado es igualmente válido para el conocido Youtube. Google Drive En el momento de usar Google Drive es que habéis aceptado las condiciones de uso de este servicio. En el momento de aceptar las condiciones de uso estáis dando permiso a Google para usar, almacenar, reproducir y modificar la totalidad contenido y ficheros que subas a Google Drive con el fin de mejorar y promocionar el servicio de Google Drive.\nPor lo tanto no dudéis que Google analiza todo el contenido que tengáis almacenado en vuestra nube para intentar sacarle un beneficio personal y para crear un perfil de nuestro usuario. Además bajo determinadas condiciones estás consintiendo que Google utilice material que es tuyo.\nGoogle Maps Sin duda otra fuente de información importante de Google es su conocido servicio Google Maps. Google Maps recopila datos de nuestra ubicación y por lo tanto para Google Maps es fácil deducir el lugar donde vivimos, el lugar donde trabajas, elaborar un historial de ubicaciones donde hemos estado, etc. De hecho vosotros mismos podéis abrir Google Maps en vuestro teléfono móvil y en los ajustes veréis que os detalla la dirección de vuestra vivienda y la dirección de vuestro trabajo sin previamente haberlas introducido. Es verdad que Google Maps es una herramienta realmente excelente pero cada vez que la usamos Google aprovechará la ocasión para obtener información sobre nosotros.\nPara finalizar con este apartado solo quiero remarcar que solo he citado algunas de las fuentes de información de Google. Google tiene muchos otros medios para sacar información de sus usuarios. Por ejemplo si eres un acérrimo usuario de Google Desktop estoy mas que convencido que Google tiene los mecanismos para saber la información que almacenas en el disco duro de tu ordenador. También es posible que tu rostro aparezca en Google Street View sin haber proporcionado consentimiento a Google, etc.\nCONCLUSIONES Google controla la totalidad de nuestros movimientos en la red y recopila información con el fin de proporcionar publicidad ajustada a los gustos o preferencias de cada uno de nosotros.\nPero de la forma que se hace y con los datos que se obtienen, se puede decir que la frontera entre ofrecer publicidad personalizada para cada uno de nosotros y establecer un sistema de vigilancia masiva de la población mundial es muy delgada.\nSin lugar a dudas si el gobierno americano se dirige a una compañía, como por ejemplo Google, reclamando información acerca de ciertos individuos para garantizar la seguridad nacional, Google la proporcionará de inmediato sin prácticamente tener derecho a negarse. De hecho lo que cuento ya ha pasado después de los atentado del 11S y por lo tanto está más que comprobado.\nEn el post he citado exclusivamente a Google porqué imagino que de esta forma el mensaje llegará con más claridad al público en general, pero la verdad es que prácticamente el 100% de compañías que ofrecen servicios en Internet tienen comportamientos similares o peores a los de Google. Esto no hace mas que demostrar que en la actualidad existe un problema de privacidad grave en Internet.\nAdemás también queda paleso que los problemas de privacidad son mucho más graves cuando nos ponemos a hablar de teléfonos móviles. El teléfono móvil es “peligroso” y sin duda es la herramienta perfecta para obtener información y controlar los movimientos de los individuos. En este punto hay que tener en cuenta que aunque Android sea un sistema abierto, la totalidad de aplicaciones que instalamos son cerradas. Por lo tanto la mayoría de veces estamos instalando aplicaciones que ni siquiera sabemos lo que hacen. Si a esto le sumamos que muchos de lo usuarios de smartphones disponen de conocimientos básicos sobre el funcionamiento de Internet, tenemos la mezcla perfecta para disponer de una herramienta de control de personas a escala mundial.\nSi después de todo lo leído os interesa intentar restringir la información que proporcionamos a Google y al resto de empresas que se dedican a recopilar información, podéis leer el siguiente enlace.\nNota: Quien precise información adicional de como Google recopila información de nosotros, como utiliza los datos recopilados, etc\u0026hellip; Puede consultar la política de privacidad de Google.","permalink":"https://geeklandlinux.github.io/posts/que-sabe-google-de-nosotros/","summary":"\u003cp\u003eImagino que a estas altura todo el mundo es consciente que \u003cstrong\u003eel hecho de usar un ordenador o un teléfono móvil puede conllevar y de hecho conlleva problemas graves de privacidad\u003c/strong\u003e. Empresas como Google, Apple, Facebook u otras sin duda no dejan pasar la oportunidad de recopilar información y datos de sus usuarios.\u003c/p\u003e","title":"Que sabe google de nosotros"},{"content":"Hace pocas semanas publiqué como activar el modo lectura en los navegadores Firefox, Opera y Chrome. Uno de los principales usos del modo lectura era relajar la vista y hacer que después de horas y horas delante de una pantalla no tengamos molestias en nuestros ojos y por lo tanto no sea molesto leer un artículo en nuestro navegador.\nContinuando con la misma tónica ahora hablaremos de un software llamado Redshift que modificará la temperatura del color y el brillo de nuestro monitor de forma automática para adaptarse a las condiciones de luminosidad del lugar donde usamos el ordenador. Os aseguro que si tenéis molestias oculares cuando trabajáis con el ordenador en una habitación a oscuras o por la noche, Redshift es la solución definitiva a vuestros problemas.\nNota: El alcance de Redshift no es únicamente el navegador web. Redshift modificará temporalmente la configuración de nuestro monitor con el fin de aliviar y prevenir molestias visuales. Nota: Para diseñadores gráficos, gente que calibre periódicamente el color de su monitor y para usuarios que necesiten ver los colores en pantalla con una elevada precisión no les recomiendo el uso de este software ni de otros similares. INFORMACIÓN SOBRE EL SOFTWARE REDSHIFT Redshift es un software con licencia GPLv3 escrito en C y en Phyton desarrollado por el Sueco Jon Lund Steffensen. Por lo tanto Redshift es 100% Software libre.\nEl creador del programa comenta que Redshift fue creado a partir de la inspiración de F-lux. El era usuario de F-Lux y considero que el funcionamiento de F-Lux en Linux no era correcto y además no tenia las mismas funcionalidades que en Windows y en otros sistemas operativos. Este motivo lo impulso a crear Redshift.\nSi precisan de mayor información de este programa pueden consultar información en la Wikipedia o en la página web del desarrollador.\nNota: A pesar de que Redshift es un software desarrollado para trabajar en Linux, si consultan el siguiente enlace, verán que existen versiones experimentales para Windows. Nota: Si a los usuarios de Windows no les funciona Redshift siempre pueden usar F-lux. Quien quiera usar F-Lux Windows o en OS X lo puede descargar del siguiente enlace. BENEFICIOS QUE OBTENDREMOS CON REDSHIFT Como acabo de citar Redshift es la herramienta ideal para personas que padezcan molestias visuales cuando se ponen a trabajar con el ordenador en situaciones en que la luminosidad ambiental es baja. Por lo tanto el principal beneficio de Redshift es:\nProteger nuestros ojos y mejorar nuestro confort cuando estamos trabajando con el ordenador. Imagino que una gran mayoría de personas les molesta el elevado brillo que desprende el monitor del ordenador por las noches, o se han encontrado con la situación que al encender el monitor del ordenador en una habitación oscura quedan ciejos temporalmente.\nNota: La gente que pasa muchas horas delante del ordenador tiene que saber que no es bueno. Pasar demasiado tiempo trabajando con el ordenador puede tener efectos secundarios en nuestros ojos, provocarnos insomnio, dolores posturales, etc. COMO FUNCIONA REDSHIFT A grosso modo el funcionamiento de Redshift es fácil de comprender. Redshift ajusta la temperatura de color de nuestro monitor de forma automática en función nuestras coordenadas GPS y de la hora del día en que nos encontramos.\nEn las primeras horas del día nuestro monitor tendrá un color frío y por lo tanto una tonalidad azulada ya que la temperatura de color será de aproximadamente 6500 ºK. A medida que vaya transcurriendo el día, Redshift irá bajando progresivamente la temperatura de color de nuestro monitor. Así cuando llegue la noche nuestro monitor tendrá un color cálido y por lo tanto una tonalidad rojiza ya que la temperatura de color será de aproximadamente 3500 ºK\nNota: La temperatura de color máxima y la temperatura de color mínima la podemos seleccionar nosotros mismos en los parámetros de configuración. Nota: Como curiosidad simplemente comentar que existen creencias que la temperatura de color tiene efectos psicológicos sobre las personas. Se cree que los colores cálidos (temperatura de color baja) transmiten energía, alegría, confort y son estimulantes mientras que los colores fríos (temperatura de color alta) causan justamente los efectos contrarios, tristeza, pasividad, lejanía, etc. INSTALAR REDSHIFT Instalar este software es fácil. La mayoría de distros Linux tienen este programa en sus repositorios.\nAsí por lo tanto si quieren instalar este programa de forma fácil y usan Debian o distribuciones derivadas de Debian, como por ejemplo Ubuntu o Linux Mint tan solo tiene que abrir una terminal y teclear:\nsudo apt-get install redshift gtk-redshift En el caso de usar distribuciones derivadas de Red Had, como por ejemplo Fedora o CentOS, tenéis que usar el siguiente comando en la terminal:\nsudo yum install redshift redshift-gtk Finalmente los usuarios de Archlinux, o alguna distro derivada de Archlinux como por ejemplo Manjaro, tienen que escribir el siguiente comando en la terminal:\nsudo pacman -S redshift En el caso que los usuarios de Ubuntu o Linux Mint quieran tirar de repositorios ppa para tener siempre la versión más actual, tan solo tienen que abrir una terminal y teclear los siguientes comandos:\nsudo add-apt-repository ppa:jonls/redshift-ppa sudo apt-get update sudo apt-get install redshift Para quien quiera instalar Redshift compilando su código fuente, o simplemente quiera estudiar el código fuente del programa, puede consultar el siguiente link.\nUna vez hemos instalado Redshift en nuestro ordenador ya podemos proceder a configurarlo para adaptar su funcionamiento a nuestras necesidades.\nCONFIGURAR REDSHIFT Podríamos usar Redshift ejecutándolo desde la terminal, pero a no ser que creáramos un script, cada vez que arrancáramos el ordenador tendríamos que abrir una terminal, recordar los parámetros de configuración e introducir el comando adecuado en la terminal para arrancar Redshift usando nuestra configuración.\nPara evitar esta molestia lo primero que tenemos que realizar es abrir un archivo de texto. Dentro del archivo de texto tendrán que introducir los parámetros de configuración de Redshift. Si quieren usar los mismo parámetros de configuración que yo, tienen que pegar el siguiente texto dentro del archivo:\n; Global settings for redshift [redshift] ; Set the day and night screen temperatures temp-day=6500 temp-night=4000 ; Enable/Disable a smooth transition between day and night ; 0 will cause a direct change from day to night screen temperature. ; 1 will gradually increase or decrease the screen temperature transition=1 ; Set the screen brightness. Default is 1.0 ;brightness=0.9 ; It is also possible to use different settings for day and night since version 1.8. ;brightness-day=0.7 ;brightness-night=0.4 ; Set the screen gamma (for all colors, or each color channel individually) gamma=0.8 ;gamma=0.8:0.7:0.8 ; Set the location-provider: \u0026#39;geoclue\u0026#39;, \u0026#39;gnome-clock\u0026#39;, \u0026#39;manual\u0026#39; ; type \u0026#39;redshift -l list\u0026#39; to see possible values ; The location provider settings are in a different section. location-provider=manual ; Set the adjustment-method: \u0026#39;randr\u0026#39;, \u0026#39;vidmode\u0026#39; ; type \u0026#39;redshift -m list\u0026#39; to see all possible values ; \u0026#39;randr\u0026#39; is the preferred method, \u0026#39;vidmode\u0026#39; is an older API ; but works in some cases when \u0026#39;randr\u0026#39; does not. ; The adjustment method settings are in a different section. adjustment-method=randr Configuration of the location-provider: ; type \u0026#39;redshift -l PROVIDER:help\u0026#39; to see the settings ; ex: \u0026#39;redshift -l manual:help\u0026#39; [manual] lat=40.25 lon=-3.69 ; Configuration of the adjustment-method ; type \u0026#39;redshift -m METHOD:help\u0026#39; to see the settings ; ex: \u0026#39;redshift -m randr:help\u0026#39; ; In this example, randr is configured to adjust screen 1. ; Note that the numbering starts from 0, so this is actually the second screen. [randr] screen=0 Una vez copiado el texto guardan el archivo. El archivo lo tienen que guardar con el nombre redshift.conf y ubicarlo dentro de la carpeta home/vuestro_usuario/.config\nNota: Las lineas que empiezan por ; son solo de lectura. Algunas se podrán descomentar para ajustar la configuración de Redshift. Si os fijáis en la configuración he marcado una serie de lineas en color rojo. Estás son las lineas que en función de vuestras preferencias y ubicación geográfica tenéis que modificar. Para que podáis modificar adecuadamente la configuración seguidamente encontraréis una explicación de lo que hace cada uno de los parámetros:\nSelección de la temperatura de color máxima y mínima temp-day=6500 temp-night=4200\nEl parámetro temp-day=6500 indica que la máxima temperatura de color de nuestro monitor sea de 6500 ºK. Está temperatura se dará en la hora del día en las condiciones de luminosidad en el exterior son máximas. 6500 ºK es la temperatura de color estandard de muchos de los monitores que hay en el mercado.\nEn el parámetro temp-night=4000 indica que la temperatura de color mínima de nuestro monitor sea de 4000 ºK. Está temperatura se dará por la noche cuando las condiciones de iluminación en el exterior sean mínimas.\nNota: El valor de temperatura diurna es recomendable que tenga un valor entre 5500 y 6500 ºK. El valor de temperatura nocturna se recomienda que esté entre 3000 y 4000 ºK. Pero vosotros soys libres de seleccionar las temperaturas que mas os convengan. Modificación gradual del color de temperatura transition=1\nSi seleccionamos la opción transition=1 la temperatura de color se ira modificando progresivamente a medida que pasan las horas de forma que nuestros ojos prácticamente no percibirán el cambio de temperatura de color.\nSi seleccionamos la opción transition=0 nuestro monitor solo trabajará con 2 temperaturas de color. La máxima que se aplicará durante las horas diurnas y la mínima que se aplicará durante las horas nocturnas. El cambio entre y día y noche se producirá de repente cuando llegue la hora oportuna.\nSelección del parámetro de corrección gamma gamma=0.8\nCon el parámetro de corrección gamma lo que podemos controlar es la cantidad de luz que emiten los colores nuestro monitor. El valor estándard que se recomienda en la web del desarrollador es 0.8 y de momento no lo he modificado. Este parámetro lo podemos regular entre 1 y 0.\nNota: Si observan el texto del archivo de configuración podrán ver que este parámetro lo podemos modificar para todos los colores o para cada uno de los 3 canales de color. (RGB “Red” “Green” “Blue”) Indicación de nuestras coordenadas GPS lat=40.25 lon=-3.69\nCon los parámetros lat y lon estamos indicando la latitud y la longitud del pueblo o ciudad en el que estamos viviendo. Para averiguar la latitud y longitud de vuestra ubicación pueden acceder al siguiente link. Una vez dentro introducen el nombre de vuestra población y presionan la tecla Enter. En mi caso a modo de ejemplo he seleccionado Pinto. Tal como se puede ver en la captura de pantalla, después de presionar la tecla Enter y clicar encima del circulo rojo, obtenemos las coordenadas que hay que poner en lat y en lon.\nNota: Redshift debería ser capaz de obtener nuestra ubicación mediante geoclue. Pero a mi geoclue no me funciona. Además geoclue debería formar parte de las dependencias de instalación de este programa y no lo hace. Este es el motivo por el cual en este post se realiza una configuración manual de Redshift. Indicar el monitor en el que queremos aplicar los cambios screen=0\nEl comando screen=0 indica el monitor en el que queremos se modifique la temperatura de color. En mi caso solo tengo un monitor, por lo tanto el valor que tengo que usar es 0. En el caso que tuviera 2 monitores podría elegir la opción 0 o 1 para seleccionar el monitor en el que se aplican los cambios.\nNota: Aparte de los parámetros que cito, también podemos modificar parámetros adicionales como el brillo, etc. Tan solo tienen que mirar las descripciones del archivo de configuración y aplicar los cambios que cada uno considera oportunos. USAR REDSHIFT PARA PROTEGER NUESTROS OJOS Ahora que tenemos instalado y configurado Redshift ya lo podemos usar. Para usarlo tan solo tienen que acceder al menú de aplicaciones vuestra distro, buscar la aplicación Redshift y abrirla. En la siguiente captura de pantalla podéis ver como utilizo redshift en Debian con Xfce.\nJusto al iniciar Redshift verán que aparece un icono con una bombilla roja en nuestro panel:\nSi lo activáis en las horas diurnas el cambio que notaréis será mínimo. Si lo activáis por la noche verán como la pantalla adquiere una tonalidad rojiza para hacer que nuestros ojos esten más confortables. Al principio quizás puede costar acostumbrarse a la tonalidad rojiza pero una vez te acostumbras no la cambiarás para nada.\nSi la tonalidad de color no les parece confortable se tendrá que jugar y modificar el fichero de configuración hasta que nos sintamos plenamente a gusto con los colores de nuestro monitor.\nNota: Si quieres desactivar Redsifht o suspenderlo por un tiempo determinado tan solo tienen que hacer clicar con el ratón encima de la bombilla roja del panel y seleccionar las opciones pertinentes. AUTOARRANCAR REDSHIFT CADA VEZ QUE USAMOS EL ORDENADOR EN XFCE Si Redsifht les gusta y quieren que se active cada vez que enciendan el ordenador lo podemos realizar de la siguiente forma:\nAbrimos una terminal y tecleamos el siguiente comando:\nxfce4-session-settings Aparecerá una ventana para configurar el inicio de nuestra sesión. En este ventana tenemos que seleccionar la pestaña Autoarranque de aplicaciones y seguidamente tenemos que presionar el botón Añadir. Una vez presionado el botón Añadir tienen que introducir los comando que se muestran en la siguiente captura de pantalla:\nUna vez introducidos los comando presionan el botón Aceptar. Después de realizar todos los pasos mencionados el proceso ya ha finalizado.\nNota: Quien utilice escritorios XFCE y tenga dudas de como realizar el proceso le recomiendo que busque en google como realizar el procedimiento en otros escritorios. MUESTRA DEL RESULTADO OBTENIDO Para quien sea escéptico con este software les dejo el siguiente link para que vean el cambio que se tiene que producir al usar Redshift:\nVídeo en el que se muestra el funcionamiento de Redshift\nNota: El cambio que se produce es notable pero hay que tener en cuenta que el video se grabo a las 2 de la tarde. A las 10 de la noche el cambio tiene que ser aun más acentuados. Los valores de temperaturas que usa el usuario del video son bastante extremos. En mi caso uso unos valores bastante más conservadores. Nota: El vídeo está en inglés pero sirve para ver el cambio que se produce. Además quien entienda inglés verá que lo que cuenta el que realiza el vídeo es interesante.","permalink":"https://geeklandlinux.github.io/posts/proteger-nuestros-ojos-ordenador/","summary":"\u003cp\u003eHace pocas semanas publiqué como \u003ca href=\"/posts/modo-lectura-en-chrome-firefox-y-opera/\"\u003eactivar el modo lectura en los navegadores Firefox, Opera y Chrome\u003c/a\u003e. Uno de los principales usos del modo lectura era relajar la vista y hacer que después de horas y horas delante de una pantalla no tengamos molestias en nuestros ojos y por lo tanto no sea molesto leer un artículo en nuestro navegador.\u003c/p\u003e","title":"Proteger nuestros ojos de la pantalla del ordenador"},{"content":"En este post mi intención es citar los usos que actualmente estoy dando a mi tablet. Me he decidido a escribir este post porqué antes de comprar mi tablet era un poco escéptico con el partido que le podría sacar. Por lo tanto imagino que a la gente que está dudando de si comprar una tablet o no le interesará conocer mi experiencia para decidir si finalmente acaban comprando una tablet.\nUSOS QUE ACTUALMENTE DOY A MI TABLET Según mi criterio el uso que podemos dar a una tablet se puede dividir en dos grandes bloques. El primer bloque es para la productividad y el segundo para el Ocio. Los usos que estoy dando a mi tablet en cada uno de estos 2 grandes bloques son los siguientes:\nBloque 1: Productividad Herramienta imprescindible para cualquier Comunity Manager. En mi caso utilizo la tablet para promocionar mi blog en las redes sociales, planificar y recopilar información de los futuros temas que quiero tratar en el blog, monitorizar la aceptación que han tenido los artículos escritos, ver los artículos que escriben mis compañeros, para gestionar las comunidades que se generan a partir del blog, etc. Existen numerosos cursos de redes sociales Online y de Comunity Manager para la gente que está interesada en esta profesión. En estos cursos se desarrollaran las aptitudes necesarias y se adquieren los conocimiento básicos para poder desempeñar al trabajo de Comunity Manager de forma efectiva y eficiente. Para quien quiera conocer la experiencia de los alumnos del curso que acabo de citar pueden ver el siguiente vídeo. Para consultar y responder tanto los emails personales como los email del trabajo. Con la tablet puedo responder a todos los email de forma inmediata, esté donde esté y sin tener que abrir el ordenador. Además la escritura con la tablet es rápida y confortable. Para mostrar contenido de mi empresa a los clientes y proveedores en reuniones, en ferias, etc. Si los clientes o proveedores nos ven usando una tablet para nuestro negocio tendrán una mejor imagen y concepto de nosotros. La tablet nos ayudará a mostrar nuestra información a nuestros clientes o proveedores de una forma mucho más interactiva y su uso en movilidad es mucho mejor que un ordenador. Para elaborar actas de las reuniones que realizamos. Mediante una tablet y la aplicación Evernote realizamos las actas de las reuniones ipso facto. En el momento de terminar la reunión la acta esta cerrada, todo el mundo esté donde esté la puede consultar y además tenemos la totalidad de actas clasificadas para su posterior consulta. Para almacenar y clasificar la totalidad de mis tarjetas de contacto y mis contactos. Existen aplicaciones excelentes para almacenar y clasificar las tarjetas de contacto de nuestros clientes y proveedores. Para tomar notas, gestionar las tareas que tengo que realizar y para planificar mi calendario laboral. Bloque 2: Ocio Para reproducir todo tipo de contenido de Audio y de Vídeo. Por lo tanto la utilizo para ver películas, escuchar la radio, escuchar mis Podcast favoritos, ver la televisión, etc. Si alguien considera que la calidad de audio no es suficiente siempre se puede conectar unos altavoces exteriores a la tablet vía cable o vía Bluetooth, o simplemente reproducir el contenido de nuestra tablet en nuestro televisor vía cable, Chromecast o Apple TV. Durante el año realizo un par de viajes largos. En el momento de realizar estos viajes siempre intento llevar la menor cantidad de equipaje posible. Por su elevada polivalencia la tablet siempre está en mi equipaje y es una herramienta que utilizo en mis viajes para tirar fotos, grabar vídeos, ver películas, enviar emails, para realizar videoconferencias, etc. Para jugar a juegos. Me atrevería a decir que las tablets son unas excelentes consolas portátiles. Yo no soy un gran aficionado a los videojuegos pero en mi tablet siempre hay 2 o 3 videojuegos instalados a los cuales acostumbro a jugar. En estos momentos por ejemplo los juegos instalados son El Clash of Clans y Plague Inc. Para interactuar con la gente en redes sociales como Facebook, Twitter, Google+, Instagram, etc. Sin duda bajo mi punto de vista una vez usas una tablet para acceder a las redes sociales no querrás volver atrás para usar un ordenador. Si alguna persona mayor tiene miedo a usar una tablet o a usar las redes sociales, no se tiene que preocupar ya que existen numerosos cursos de redes sociales para personas mayores. Para leer. Una tablet no es un ebook pero a mi me sirve perfectamente para leer la prensa del día, revistas y libros que tengo almacenados en formato pdf, epub, etc. Para compartir contenido que me encuentro navegando en la web o en mi lector de feeds con mis contactos. USOS ADICIONALES QUE PODRÍA DAR A MI TABLET Sin duda a una tablet se le puede sacar mucho más rendimiento del que le estoy sacando actualmente. Algunos de los usos que le podría dar a mi tablet y no se los estoy son los siguientes:\nPara grabar audio. Toda tablet acostumbra a llevar un micrófono y por lo tanto la podemos usar para grabar archivos de audio de forma muy fácil. De hecho algunos podcaster utilizan su teléfono o su tablet para grabar podcast obteniendo unos resultados más que aceptables. Para editar y modificar documentos de texto, hojas de cálculo, etc. A pesar de que con una tablet podemos realizar estas operaciones prefiero usar el ordenador cuando el trabajo a realizar sea complejo. Para realizar videoconferencias vía Skype, Hangouts, Facetime, etc. Existen tablets que disponen de un hardware impresionante. Por lo tanto es posible y de hecho hay gente que usa ciertas tablet para realizar edición de vídeo. Las tablets también tienen su uso artístico. Si hacemos una inversión y compramos un lápiz óptico podremos pintar dibujos, realizar dibujos artísticos con nuestra tablet, escribir texto a mano, etc. En el mundo empresarial podemos usar una tablet para multitud de utilidades. Por ejemplo para registrar las visitas del equipo comercial en tiempo real, para la gestión de un almacén, para la toma de pedidos en un restaurante, etc. Para llevar las cuentas familiares y controlar nuestros gastos en todo momento. Para acceder de forma remota en algún servidor o a nuestro ordenador personal para consultar documentos, ver si ha terminado la descarga de nuestra serie favorita, etc. Conectar un teclado y un ratón a nuestra tablet para poder usarla como si de un ordenador se tratara. Usar la pantalla de nuestra tablet como un segundo monitor en nuestro ordenador. Nota: Aparte de las funcionalidades indicadas existen muchas otras. Hay multitud de aplicaciones y de accesorios a incorporar a nuestra tablet que le proporcionaran nuevas funcionalidades. Por lo tanto los límites de uso de una tablet los ponemos nosotros mismos. Para cualquier necesidad que tengamos siempre existe una app o accesorio para satisfacerla. Sin duda una tablet es una auténtica navaja suiza. Nota: Cualquier lector que quiera incluir alguna funcionalidad en el post le animo a comentar en los comentarios del artículo. CONCLUSIONES Las tablets son la herramienta ideal para consumir contenido de Internet ya sea en casa o cuando estamos de viaje. Bajo mi punto de vista las tablets pueden incluso llegar a sustituir un ordenador en tareas de ocio, y es el dispositivo ideal para tenerlo en comedor para compartirlo con nuestra familia o simplemente para tenerlo en la mesita de noche de nuestra habitación.\nEn lo que a productividad se refiere las tablets son extremadamente útiles. No obstante no hay que caer en el error de sustituir el ordenador por las tablets en el campo de la productividad. Hay tareas en que es difícil o imposible que una tablet pueda superar un ordenador personal. Además el hecho de introducir las tablets en nuestro entorno laboral dificulta enormemente la gestión de la seguridad de la información. Por lo tanto las tablets son útiles y son una herramienta que complementan el uso del ordenador, pero hay que definir y pensar como usarlas para incrementar realmente nuestra productividad.\nCONSEJOS PARA COMPRAR UNA TABLET Si después de leer todas las utilidades que puede tener una tablet ya estáis decididos a comprarla, os aconsejo visitar los siguientes enlaces para obtener un producto adaptado a vuestras necesidades:\nComprar una tablet : Enlace con reviews y noticias de multitud de tablets existentes en el mercado. Comprar una tablet barata pero con garantía de calidad: Enlace con consejos para comprar la tablet que más se aproxima a vuestras necesidades. No olvidéis que antes de comprar una tablet tenéis que tener claro para que queréis usarla. Si sabemos para que queremos usarla podremos comprar un producto adaptado a nuestras necesidades. Vídeo explicativo para comprar una tablet en Amazon. Espero que la totalidad de consejos y usos mostrados en este artículo sean de utilidad para la totalidad de gente que lea el artículo.\n","permalink":"https://geeklandlinux.github.io/posts/usos-que-doy-mi-tablet/","summary":"\u003cp\u003eEn este post \u003cstrong\u003emi intención es citar los usos que actualmente estoy dando a mi tablet\u003c/strong\u003e. Me he decidido a escribir este post porqué antes de comprar mi tablet era un poco escéptico con el partido que le podría sacar. Por lo tanto \u003cstrong\u003eimagino que a la gente que está dudando de si comprar una tablet o no le interesará conocer mi experiencia para decidir si finalmente acaban comprando una tablet\u003c/strong\u003e.\u003c/p\u003e","title":"Usos que doy a mi tablet en ocio y productividad"},{"content":"Muchos de vosotros navegando se habrán encontrado con la situación que quieren visualizar un vídeo o acceder a un contenido y sencillamente es totalmente imposible porqué el vídeo o contenido está restringido a usuarios de un determinado país. Seguro que la mayoría de personas también habrán escuchado a hablar de servicios como Netflix, Pandora, Hulu u otros que solo se pueden acceder desde determinados países.\nSi esta es vuestra situación y quieren saltarse estas limitaciones geográficas lo pueden realizar siguiendo el procedimiento que se muestran en este artículo. Como podrán el método mencionado es muy simple de aplicar y sirve tanto para ordenador como para dispositivos móviles.\nNota: En este artículo detallamos el funcionamiento de Hola. Aparte de Hola existen otras soluciones equivalentes. Por lo tanto en el caso que alguna de ellas no funcione siempre tendremos alternativas como por ejemplo Zenmate, Media Hint (alternativa de pago), Proxmate, Spotflux, etc. Nota: Lo más probable es que en breve realice un artículo para detallar la instalación y el uso de Zenmate u algún otro servicios similar a Hola. HERRAMIENTAS NECESARIAS PARA ACCEDER A SERVICIOS RESTRINGIDOS GEOGRAFICAMENTE Para poder acceder a servicios restringidos geograficamente tan solo necesitaremos instalar una simple extensión en nuestro navegador web, o una app en nuestro teléfono móvil o tablet.\nEn la primera parte del post detallaremos como instalar y usar Hola en el Navegador Firefox. Finalmente veremos como instalar y usar Hola en un teléfono móbil con Android.\nNota: La extensión Hola actualmente se puede usar en Google Chrome, Firefox, Internet Explorer, Safari, Android, Windows Phone e iOS. FUNCIONAMIENTO DE HOLA Hola es un servicio VPN gratuito. Para quien quiera saber como funciona un servicio VPN y las ventajas que puede proporcionar a los usuarios les recomiendo la lectura del siguiente artículo.\nAdemás de funcionar como un servicio VPN, Hola tiene otras particularidades interesantes que también podremos ver descritas en este artículo.\nNota: En el caso de ser usuario de pago de hola ya no hay el peer to peer y se garantiza una velocidad de conexión óptima. ACCEDER A SERVICIOS RESTRINGIDOS GEOGRAFICAMENTE EN EL ORDENADOR Si intentan acceder al servicio de música Pandora obtendrán un resultado parecido al que se muestra en la siguiente imagen:\nSi leen el mensaje verán que se informa que por temas de licencias, el servicio únicamente está disponible en Estados Unidos, Australia y Nueza Zelanda. Para solucionar este problema tan solo tenemos que instalar la extensión Hola\nPara instalar la extensión Hola tenemos que abrir nuestro navegador e ingresar en la siguiente páginas web:\nhttp://hola.org/\nUna vez hemos entrado en la web ya podemos proceder a instalar Hola. Para instalar la extensión hola, tal y como se puede ver en la captura de pantalla, tenemos que clicar encima del icono del navegador o sistema operativo que estamos usando:\nComo en mi caso estoy usando el navegador que Firefox clico encima del icono de Firefox. Después de clicar encima del icono de Firefox aparecerá una ventana en la que tendremos que presionar encima del botón Permitir para que se pueda instalar la extensión en nuestro navegador.\nDespués de presionar en el botón Permitir aparecerá otra ventana en la que tendremos que presionar el botón Instalar Ahora. Una vez presionado el botón, la extensión Hola se instalará prácticamente al instante.\nUna vez instalada la extensión ya podemos usarla. Para usarla, tal y como se puede ver la captura de pantalla, tenemos que presionar encima del icono de la llama que ha aparecido en nuestro navegador:\nUna vez hemos clicado encima del icono tenemos que introducir la dirección a la que queremos acceder o simplemente, como se puede en la captura de pantalla, clicar encima de la opción Más\u0026hellip; . Después de clicar encima de la opción Más aparecerá la siguiente pantalla:\nDe la multitud de servicios que aparecen en pantalla tan solo tenemos que seleccionar el que queremos usar. Como en mi caso quiero usar Pandora clicaré encima de del servicio Pandora.com. Después de clicar tan solo tenemos que esperar unos segundos para poder acceder al servicio. Una vez hemos accedido a Pandora, nos hacemos una cuenta o ingresamos en nuestra cuenta, y como se puede en la captura de pantalla, ya podemos usar el servicio tranquilamente de forma fácil y sin complicaciones.\nNota: El servicio VPN de Hola solo funcionará en la pestaña del navegador en que hemos abierto Pandora. Si abrimos una nueva pestaña y accedemos a una web sin usar Hola navegaremos de forma habitual sin usar el servicio VPN. Nota: Hola permite crearnos una cuenta de usuario. En principio si no tenemos necesidad de hacernos usuarios premium no es necesario crearse una cuenta. Mas adelante en el post se citan las ventajas que obtendremos al hacernos usuarios premium. Nota: En el caso que un servicio ofrezca contenidos distintos en diferentes países no es ningún problema. Por ejemplo en si intentamos acceder a netflix podremos acceder a Netflix de Estados Unidos, México, etc. Tan solo tendremos que seleccionar el país que deseamos en el momento de acceder al servicio. ACCEDER A SERVICIOS RESTRINGIDOS GEOGRAFICAMENTE EN ANDROID Si queremos acceder a un servicio restringido en nuestro teléfono o tablet con Android, el procedimiento que tenemos que seguir es igual de simple que en el caso anterior. Lo primero que tenemos que hacer es acceder al Google Play y descargar la aplicación Hola. La aplicación hola la podéis descargar directamente accediendo al siguiente enlace. Para que no exista ningún tipo de duda que están instalando la aplicación adecuada les dejo la siguiente captura de pantalla:\nUna vez tenemos instalada la aplicación tan solo tenemos que abrirla. Una vez abierta la aplicación les aparecerá una advertencia de seguridad. La advertencia de seguridad nos dirá que nos estamos conectando a través de un servicio VPN, y por lo tanto corremos el riesgo de comprometer nuestros datos e información si detrás del servicio VPN hay personas malintencionadas.\nComo nosotros confiamos en el servicio de Hola tildaremos la casilla de Confío en esta aplicaciń y seguidamente presionaremos el botón Aceptar. Una vez conectados el VPN la pantalla de vuestro teléfono será la siguiente:\nAhora si queremos acceder a Pandora lo primero que tenemos que hacer es instalar su Aplicación. Para instalar la aplicación lo primero que hay que hacer es localizar la aplicación que queremos instalar y seguidamente presionar el botón Instalar. Una vez presionado el botón empezará la instalación de pandora.\nUna vez instalada la aplicación, y obviamente estando conectado al servicio VPN que ofrece Hola, tenemos que que abrir la aplicación Pandora. Al abrirse la aplicación tendremos que introducir los datos necesarios para poder acceder a nuestra cuenta. Una vez introducidos los datos, tal y como se puede ver en esta captura de pantalla, ya podremos disfrutar de Pandora o de cualquier otro servicio restringido geográficamente.\nNota: Hola también esta disponible para iOS. No obstante para que este servicio funcione en iOS hay que disponer de una cuenta Premium. En contraposición con Android no hace falta ni crearse una cuenta para poder usar este servicio. Hola: El procedimiento que acabáis de ver lo he realizado con un Nexus 5 con Android 4.4.4, y sin ser usuario Root. En el caso que dispongáis de teléfonos con una versión de Android 4.0 o superior no hay que tener problemas para que esta aplicación funcione. Si disponéis de teléfonos con versiones antiguas de Android tendréis que rootear el teléfono para que Hola funcione. ¿HOLA ES GRATIS? Tanto en Android como en cualquier ordenador personal podemos usar tranquilamente Hola siendo usuarios Free y no tiene porque existir ningún problema. El servicio VPN funcionará perfectamente en la pestaña que hayamos seleccionado.\nHola se puede mantener free porqué el funcionamiento de este servicio es mediante peer to peer. Esto significa que no hay una serie de servidores centralizados que proveen un servicio de VPN a los clientes de esta plataforma. Quien realmente esta proveyendo servicio a los otros clientes somos nosotros mismos, ya que cuando estamos usando Hola nuestro ordenador estará actuando como cliente y como servidor. Así por lo tanto cuantas más persones usen este servicio mejor rendimiento ofrecerá.\nNota: Aunque diga que no existan servidores centralizados podría ser posible que este servicio usará una estructura híbrida. Es posible que existan servidores centralizados potenciados por una red peer to peer que forman los usuarios del servicio. De esta forma se consigue minimizar la inversión en servidores y por lo tanto se puede ofrecer un servicio gratuito a los clientes. Como iOS es un sistema cerrado intuyo que no es posible aplicar esta filosofía de funcionamiento. Por lo tanto quien quiera usar Hola en iOS no le queda más remedio que pagar y usar Hola como si se tratará de un servicio VPN convencional. Por lo tanto en iOS Hola es de pago.\nQuien decida o quiera usar el servicio premium obviamente obtendrá una serie de ventajas. En el momento de ser premium Hola se transformará en un servicio VPN tradicional. Por lo tanto el funcionamiento ya no será mediante peer to peer y en principio el rendimiento que se obtendrá será mejor.\nNota: Si consultáis la página web de Hola.org encontraréis información adicional acerca de las cuentas Premium. Veréis que existen promociones y tiempo de prueba considerables para testear el funcionamiento de las cuentas premium. OTROS BENEFICIOS APORTADOS POR HOLA Aparte de los beneficios que pueda aportar cualquier servidor VPN y de los beneficios citados en el post, Hola también ofrecerá un servicio para acelerar/optimizar nuestra navegación en Internet. Quien quiera mas información respecto a este beneficio puede consultar el siguiente enlace.\nEn el enlace que acabo de mostrar verán que en el momento de conectarse a Hola gracias a los algoritmos de compresión que se usan, la infraestructura basada en peer to peer y gracias a la memoria cache que se almacena en cada uno de los peers/clientes, conseguiremos optimizar nuestra conexión a Internet y de esta forma acceder a los contenidos de forma más rápida.\nNota: Si usáis esta característica vuestro Internet no será más rápido. Vuestra velocidad de Internet siempre estará limitada por al ancho de banda de vuestra conexión. Lo único que conseguiréis con este servicio es resolver algunas peticiones a Internet de forma más rápida. ADVERTENCIA A pesar de todas estas bondades hay que ser cauto y bajo mi punto de vista solo hay que usar este tipo de servicios cuando sea estrictamente necesario.\nLa conexión a través de un VPN o Proxy mucha gente dice y afirma que es segura y que soluciona los problemas de privacidad existentes en la red. Bajo mi punto de vista esto no es del todo cierto. Este tipo de conexiones son seguras únicamente si el proveedor del servicio es fiable. En el caso que quien estuviera detrás del servicio fuera alguien con malas intenciones podríamos afirmar tranquilamente que es peor el remedio que la enfermedad.\nPor lo tanto siempre recomiendo usar este tipo de servicios con precaución y siempre que sea estrictamente necesario. En mi caso de momento solo uso este servicio para escuchar Pandora ya que gracias al chromecast y algunas aplicaciones realmente no necesito Netflix ni ninguna otra plataforma por el estilo.\n","permalink":"https://geeklandlinux.github.io/posts/acceder-servicios-restringidos-geograficamente/","summary":"\u003cp\u003eMuchos de vosotros navegando se habrán encontrado con la situación que quieren visualizar un vídeo o acceder a un contenido y sencillamente es totalmente imposible porqué el vídeo o contenido está restringido a usuarios de un determinado país. Seguro que la mayoría de personas también habrán escuchado a hablar de servicios como Netflix, Pandora, Hulu u otros que solo se pueden acceder desde determinados países.\u003c/p\u003e","title":"Acceder a servicios restringidos geograficamente"},{"content":"Que recuerde en un par de ocasiones mi ordenador empezó a sufrir cuelgues inesperados e incomprensibles. En las 2 ocasiones después de indagar durante días descubrí que era un módulo de la memoria RAM que estaba dañado.\nEn el caso de tener síntomas similares a los descritos, para comprobar si el culpable de las incidencias es la memoria RAM del sistema, pueden emplear el método que mostraremos a continuación. Con esté método en cuestión de horas podrán saber si la memoria RAM de vuestro equipo se encuentra en buenas condiciones.\nNota: Sistemas operativos como Windows traen sus propias herramientas para la comprobación del estado de la memoria RAM. Sin embargo su efectividad y rendimiento dista mucho de la herramienta que presentaremos en este artículo. Nota: Los fallos en la memoria RAM por lo general son aleatorios y difíciles de detectar. INFORMACIÓN BÁSICA DE LA HERRAMIENTA MEMTEST86+ Memtest86+ es el software que vamos a utilizar para realizar la comprobación de la memoria Ram de nuestro equipo.\nMemtest86+ es un software de código abierto con licencia GNU GPL V2.0 desarrollado por Samuel Demeulemeester a partir de memtest86 (memtest86+ es un fork de memtest86). Este software está diseñado para encontrar problemas que pueden los módulos de memoria RAM de nuestro equipo.\nMemtest86+ está diseñado para arrancar desde una memoria USB, CD o disquete, por lo tanto para poder usar memetest86+ no necesitamos tener un sistema operativo instalado en nuestro ordenador. Como consecuencia podemos usar memtest86+ independientemente si nuestro ordenador tiene instalado Linux, Mac o Windows.\nNota: Memtest86+ es un fork de Memtest86. Por lo tanto los 2 software tienen un funcionamiento muy similar. En la actualidad se pueden usar los 2 software y los 2 funcionan a la perfección, no obstante en el post hablaré de Memtest86+ porqué acostumbra a tener soporte para hardware más actual. En el caso que ninguna de las opciones sea compatible con vuestro hardware pueden probar RAM Probe que es un fork de Memtest86+. Nota: Actualmente Memtest86+ funciona tanto en sistemas de 32 bits como en sistemas de 64 bits. Memtest86+ soporta prácticamente la totalidad de memorias existentes en el mercado y se puede usar en equipos hasta 64 Gb de RAM. FUNCIONAMIENTO DE MEMTEST86+ A grosso el modo funcionamiento de Memtest86+ es fácil de comprender. Lo que hará es escribir una serie de datos con 10 patrones de escritura distintos a la totalidad de direcciones de la memoria RAM. Una vez se haya realizado la escritura se leerá el contenido escrito en la memoria RAM y se comprobará que sea el mismo que el contenido original. Para quien quiera información adicional acerca de los patrones de escritura y del funcionamiento de Memtest86+ pueden consultar los sigueintes enlaces:\nEnlace 1: Información adicional de Memtest86+\nEnlace 2: Información adicional de Memtest86+\nUSOS PRINCIPALES DE MEMTEST86+ Imagino que Memtest86+ tendrá más usos de los que detallaré a continuación, pero les puedo asegurar que los usos más comunes que la gran mayoría de personas da a memtest86+ son los siguientes:\nComprobar que la memoria RAM de nuestro equipo esté en perfectas condiciones. Las comprobaciones se pueden realizar justo en el momento de adquirir una memoria RAM nueva, o también en el caso que nuestro equipo tenga problemas de cuelgues inesperados. Comprobar que el funcionamiento de la memoria RAM sea correcto y estable después de realizar overclock a la memoria RAM. En el caso que el incremento de la velocidad provoque errores deberemos disminuir los parámetros de velocidad de la memoria RAM. En case de realizar overclock es importante prolongar la duración de los test ya que muchos de los fallos se producen por el sobrecalentamiento de la memoria RAM. Por lo tanto si los errores se producen a partir de la segunda, de la tercera o de la cuarta pasada en adelante tendremos que contemplar la posibilidad de bajar la velocidad de la memoria o instalar un sistema de ventilación activa para nuestra memoria. Obtener un listado de las direcciones defectuosas de la memoria para poder parchear el kernel y de esta forma evitar que se usen las direcciones que presentan problemas. Nota: La utilidad número 3 solamente se puede aplicar en sistemas GNU-Linux. EJECUTAR MEMTEST86+ PARA USUARIOS DE GNU-LINUX En el caso de ser usuarios de GNU-Linux podemos usar Memtest86+ sin ningún tipo de problema. La forma más fácil de instalar memtest86+ es la que detallamos a continuación.\nEn el caso usar Debian u otras distribuciones derivadas de Debian como por ejemplo Linux Mint, Ubuntu, etc. Tan solo tienen que abrir una terminal y teclear el siguiente comando:\nsudo apt-get install memtest86+ En el caso de usar distribuciones derivadas de Red Had, como por ejemplo Fedora o CentOS, tenéis que abrir una terminal y teclear el siguiente comando:\nsudo yum install memtest86+ En el caso de ser usuario de Archlinux, o alguna distro derivada de Archlinux como por ejemplo Manjaro, tienen que escribir el siguiente comando en la terminal:\nsudo pacman -S memtest86+ Una vez introducido el comando presionan Enter y memtest86+ se instalará. Una vez instalado, la próxima vez que reinicien el ordenador verán que en el Grub aparece una nueva opción:\nTal y como se puede ver en la captura de pantalla seleccionan la opción Memory Test (memtest86+) y acto seguido de forma automática y sin hacer absolutamente nada empezará la revisión de la memoria RAM.\nNota: Si después de finalizar el uso de memtest86+ queremos que desaparezcan las entradas del grub es muy sencillo, tan solo tenemos que desinstalar memtest86+. Para ello si usan distribuciones derivadas de Debian tienen que usar el comando sudo apt-get remove \u0026ndash;purge memtest86+, si utilizan distribuciones derivadas de archlinux tendrán que usar el comando sudo pacman -Rs memtest86+. Si finalmente usan una distro derivada de Red had tendrán que usar el comando sudo yum remove memtest86+ EJECUTAR MEMTEST EN CUALQUIER SISTEMA OPERATIVO Como hemos comentado anteriormente Memtest86+ está diseñado para funcionar sin necesidad de ningún sistema operativo. Por lo tanto podemos usar memtest86+ en cualquier ordenador independientemente del sistema operativo que esté usando. El procedimiento que recomiendo seguir para ejecutar memtest86+ en cualquier sistema operativo es mediante un live USB de Ubuntu.\nPara realizar el Live USB de Ubuntu les recomiendo seguir los pasos que se muestran en el siguiente enlace. Una vez creado el Live USB tan solo tenemos que arrancar el ordenador con el Live USB. Para arrancar el ordenador con el live USB debemos seguir los siguientes pasos:\n1- Lo primero a realizar es conectar el LiveUSB en el ordenador.\n2- Lo segundo es reiniciar nuestro ordenador.\n3- Justo al arrancar el sistema operativo y cuando se está haciendo la comprobación de la memoria RAM, se tiene que presionar la tecla F8. En vuestro caso y en función de vuestra placa base es más que probable que la tecla a presionar sea diferente a F8. Tan solo tienen que ir probando hasta encontrar la combinación correcta. Algunas de las teclas a probar pueden ser F2, F11, F12, F1, Delete, etc.\n4- Una vez presionada la tecla F8 les aparecerá la siguiente pantalla para seleccionar la unidad de arranque de nuestro ordenador:\n5- En la pantalla para seleccionar el orden de arranque seleccionamos la entrada que tenga relación con nuestra memoria USB. En mi caso USB Flash Disk.\n6- A los pocos segundos de seleccionar la opción arranque mediante USB, les tiene que aparecer la siguiente pantalla:\n7- Tal y como se muestra en la captura de pantalla seleccionan la opción Test memory y presionan la tecla Enter. Acto seguido de forma automática y sin hacer absolutamente nada empezará la revisión de la memoria RAM.\nSi en el momento de arrancar el test de memoria obtienen un error \u0026ldquo;cannot load a ramdisk with an old kernel image” lo podemos solucionar de la siguiente manera. Esperamos unos segundos, y cuando todo vuelva a la normalidad nos ponemos encima de la opción Test memory, y presionamos la tecla TAB. Después de presionar la tecla tab les aparecerá el siguiente mensaje de texto:\n\u0026gt; /install/mt86plus initrd=/ubninit persistent Para solucionar el error tienen que borrar la parte nitrd=/ubninit. Una vez borrado el mensaje el mensaje de texto quedará de la siguiente forma:\n\u0026gt; /install/mt86plus persistent Una vez hecha la modificación que detallo tan solo tienen que presionar Enter y se realizará el test de memoria.\nNota: Los usuarios de Windows tienen métodos más fáciles para ejecutar memtest86+ que el mencionado en este apartado. Los usuarios de Windows pueden visitar el siguiente enlace y descargar un autoinstalador de memtest86+ (Auto-installer for USB Key (Win 9x/2k/xp/7). Una vez descargado descomprimimos el archivo .zip y ejecutamos el archivo memtest86+ USB Installer.exe. Una vez ejecutado el archivo tan solo hay que ir siguiendo las instrucciones para poder generar la memoria USB con Memtest86+.Una vez creada la memoria tan solo hay que que seguir los pasos indicados en este apartado para arrancar el ordenador con el Live USB que acabamos de crear. Nota: Existen otros métodos para poder ejecutar memtest86+. Algunos de los métodos alternativos son descargarnos la ISO y quemarla en un CD, crear un disquete de autoarranque con memtest86+, etc. OBTENCIÓN DEL ESTADO LA MEMORIA RAM Como se puede ver en la captura de pantalla el test acaba de iniciar. Como no hemos especificado nada, y como se indica en el recuadro rojo de la captura de pantalla, el tipo de test que estamos realizando es el estándar. Lo que hace el test estándar es escribir una serie de datos con 9 patrones de escritura distintos a la totalidad de direcciones de la memoria RAM. Una vez se ha hecho la escritura se comprueba que la lectura del contenido escrito sea correcto.\nLa duración de este test es infinita y por lo tanto deberemos ser nosotros mismos cuando decidimos parar el test. Yo aconsejaría realizar 4 o 5 pasadas. Para saber el número de pasadas realizadas tan solo tenemos que mirar el recuadro de color verde que se muestra en la captura de pantalla. En la captura de pantalla el número es un 0 porqué acabamos de empezar y no se ha realizado ninguna pasada.\nNota: Una pasada significa escribir y leer los 9 patrones de escritura distintos una vez. Por lo tanto realizar 5 pasadas es lo mismo que repetir el test estándar 5 veces. Si después de realizar cinco pasadas el recuadro de color amarillo de la captura de pantalla hay el número cero, significa que no se han producido errores y que por lo tanto nuestra memoria está en perfectas condiciones.\nEn el caso que se produzcan errores obtendrán unos resultados parecidos a la siguiente captura de pantalla:\nEn el caso que este sea vuestro caso les aconsejo leer el siguiente apartado.\nNota: El test estándar realiza 9 de los 10 test que puede ejecutar memtest86+. Si quieren realizar el último test, Test 9, tendrán que seleccionarlo manualmente en el menú de configuración. La duración de este test es superior a las tres horas. Nota: Aparte de comprobar la memoria RAM, si observamos la captura de pantalla vemos que Memtest también nos está mostrando las especificaciones técnicas de nuestra memoria RAM y de nuestro procesador. OPCIONES EN EL CASO QUE LA MEMORIA ESTÉ ESTROPEADA Memtest86+ es una herramienta de diagnóstico y en ningún caso reparará la memoria RAM. Si la memoria RAM está rota la única solución que tenemos es sacarla y limpiar cuidadosamente los pines de conexión con alcohol isopropílico. Una vez limpios los pines tenemos que instalar de nuevo la memoria RAM en el ordenador y usar de nuevo Memtest86+ para ver si el problema se ha solucionado. Si el problema no se ha solucionado es posible que la mejor opción sea tirarla y comprar otra memoria nueva. Pero antes de tirar la memoria a la basura es interesante plantearse esta serie de opciones:\nSi la memoria presenta problemas en pocas direcciones y somos usuarios de GNU-Linux tenemos soluciones alternativas a cambiar la memoria RAM. Memtest86+ nos informará de la direcciones defectuosas de la memoria RAM. Si sabemos las direcciones defectuosas podemos parchear el kernel de nuestro ordenador para deshabilitar las direcciones defectuosas de la memoria RAM, y de esta forma poder usar una memoria dañada sin ningún tipo de problema. Sin duda seria interesante poder realizar un tutorial detallando el funcionamiento de esta funcionalidad, pero desafortunadamente en estos momentos no dispongo de ningún DIMM defectuoso de memoria. Tenéis que preguntaros si la refrigeración de vuestro ordenador es correcta. Para ello en el caso de usar una torre podéis abrir la torre y repetir el test sin la torre. Si entonces los resultados son satisfactorios entonces es posible haya un problema de refrigeración que genera los errores. En el caso de tener errores también os tenéis que plantear si la fuente de alimentación del equipo es suficientemente potente para alimentar la totalidad de componentes del ordenador. Una alimentación no adecuada puede generar errores. Este problema es más frecuente de lo que parece ya que puede ser que hayamos cambiado la tarjeta gráfica y no hayamos tenido en cuenta que hay modelos de tarjeta gráfica que tienen un consumo muy elevado. En el caso de obtener errores no significa que la totalidad de DIMM de memoria RAM estén en mal estado. Lo más probable es que solo uno de los DIMM esté en mal estado. Para comprobar el DIM de memoria que está en mal estado sacamos todos los DIMM de memoria excepto uno. Hacemos las comprobaciones pertinentes con Memtest86+. Si los resultados son satisfactorios entonces sacamos el módulo de memoria y ponemos otro módulo hasta encontrar cual es el defectuoso. Para finalizar el post solo indicar que si en alguna ocasión tengo disponible un módulo de memoria RAM defectuoso publicaré un post detallando como parchear el Kernel para deshabilitar las direcciones defectuosas de la memoria RAM.\n","permalink":"https://geeklandlinux.github.io/posts/comprobar-el-estado-de-la-memoria-ram/","summary":"\u003cp\u003eQue recuerde en un par de ocasiones mi ordenador empezó a sufrir cuelgues inesperados e incomprensibles. En las 2 ocasiones después de indagar durante días descubrí que era un módulo de la memoria RAM que estaba dañado.\u003c/p\u003e\n\u003cp\u003eEn el caso de tener síntomas similares a los descritos, para comprobar si el culpable de las incidencias es la memoria RAM del sistema, pueden emplear el método que mostraremos a continuación. Con esté método \u003cstrong\u003een cuestión de horas podrán saber si la memoria RAM de vuestro equipo se encuentra en buenas condiciones\u003c/strong\u003e.\u003c/p\u003e","title":"Comprobar el estado de la memoria RAM"},{"content":"¿QUÉ ES LA MAC ADDRESS O LA DIRECCIÓN MAC? La Mac Address o dirección Mac es una identificador único de 48 bits para identificar la totalidad de dispositivos de red como por ejemplo tarjetas de red Ethernet, tarjetas de red wifi o inalambricas, Switch de red, Routers, impresoras, etc.\nLas direcciones MAC son identificadores únicos a nivel mundial para cada dispositivo y por lo tanto es imposible encontrar 2 tarjetas de red o 2 dispositivos de red que tengan la misma Mac Address.\nLa totalidad de fabricantes en el momento de fabricar el hardware, como por ejemplo una tarjeta de red wifi, graban la Mac Address en formato binario en una memoria ROM del dispositivo que están fabricando. Como la memoria ROM es solo de lectura es totalmente imposible modificarla y por lo tanto esto implica que la Mac address o identificador de un dispositivo nunca lo podremos modificar. No obstante en futuros post veremos que es posible hacer creer a otras personas o a integrantes de la red que nuestra MAC Address es otra diferente a la real (Termino conocido como Mac spoofing).\nEl motivo por el cual es posible modificar la MAC de la tarjeta de red de nuestro ordenador es simple. Cuando se arranca nuestro ordenador la tarjeta de red copia la dirección MAC a nuestra memoria RAM. Una vez copiada la Mac Address a la memoria RAM la totalidad de veces que se requiere de la Mac Address se usará la Mac Address almacenada en la memoria RAM. Por lo tanto si queremos cambiar nuestra Mac Address tan solo tenemos que modificar la Mac Address almacenada en nuestra memoria RAM y esto si que es posible.\nNota: La gran mayoría sabe que en una red informática un equipo se puede identificar por la dirección IP. Pero la realidad es que los equipos de una red informática también se pueden identificar por su Mac Address. ESTRUCTURA DE LA DIRECCIÓN MAC O MAC ADDRESS Obviamente para que estos identificadores, o las Mac Address, sean únicas para cada dispositivo tiene que existir una entidad que regule unas normas de marcado. La entidad que se encarga de definir como se deben definir las Mac Address es la IEEE (Instituto de Ingeniería eléctrica y electrónica)\nPara entender la estructura y la información que contiene la Mac Address usaremos esta Mac Address de muestra:\n00:17:4F:08:5F:69\nLa Mac Address que acabamos de escribir tiene una longitud de 48 bits representada en 6 bloques hexadecimales. Estos bloques hexadecimales se pueden dividir en dos partes:\nLa primera parte, que es la de color azul (00:17:4F), consta de 3 bloques hexadecimales e identifica quien es el fabricante del hardware. Así por lo tanto si 00:17:4F correspondiera al código de fabricante de Wistron infocom Manufacturing, podríamos estar seguros que si encontramos otra tarjeta de red con el mismo código el fabricante tendría que ser de Wistron infocom Manufacturing.\nLa segunda parte, que es la de color rojo (08:5F:69), también consta de 3 bloques hexadecimales. Esta parte del código es el número de serie que identifica el dispositivo fabricado. El fabricante puede usar el número de serie que quiera pero con la condición que únicamente puede usar el mismo número de serie una vez. El próximo dispositivo que fabrique deberá tener un número de serie diferente a 08:5F:69\nSiguiendo estas simples normas la IEEE asegura que cada una de las Mac Address que usan los fabricantes sean únicas a nivel mundial.\nQUE USOS TIENE LA MAC ADDRESS O LA DIRECCIÓN MAC Una vez conocemos lo que es la Mac Address, ahora citaremos algunas de las utilidades que puede tener la Mac Address de una tarjeta de red o de cualquier otro dispositivo.\nLa Mac Address de una tarjeta de red la podemos utilizar para que nuestro Router asigne una IP estática a nuestro ordenador. En otras palabras podemos configurar nuestro Router para que en el momento que detecta la presencia de una Mac Address determinada, le asigne la IP que nosotros hayamos definido previamente. La Mac Address puede ser útil para restringir el acceso a una red informática. Así por lo tanto podemos entrar en la configuración de nuestro Router y configurarlo de forma que solo se puedan conectar a la red los equipos que tengan una Mac Address determinada. Como mecanismo de seguridad este punto no es muy efectivo ya que en futuros artículos podremos ver lo fácil que es clonar y cambiar una Mac Address de un dispositivo de red. Como hemos dicho anteriormente la dirección Mac puede servir para identificar a un equipo o usuario dentro de una red informática. Usando Nmap u otros programas, podemos obtener fácilmente las IP y las Mac Address de los equipos conectados a la red. la Mac Address de un router o de un dispositivo móvil puede servir para geoposicionar personas y para espiar nuestros movimientos y hábitos con una precisión mucho más alta que un geoposicionamiento por IP. Para quien dude de que esto sea posible aquí dejo este enlace en el podéis leer que en Londres se instalaron papeleras capaces de registrar la Mac Address de los dispositivos móviles de la gente que estaban a sus alrededores. Además cuando pasa el coche de Google por la calles realizando fotografías para generar su maravilloso Street View también están trackeando la totalidad de BSSID (Mac Address de los routers) que encuentran a su paso, y por si no fuera suficiente cada vez que nos acercamos a un Router y tengamos el wifi del teléfono móvil encendido, estaremos dejando el registro de nuestra Mac Address en el router que nos hayamos acercado, y si además tenemos los servicios de localización del teléfono activados enviaremos la BSSID (Mac Address del punto de acceso) a Google, Microsoft, Apple, etc. Frente a esta situación y para solucionar algunos de los problemas citados, parece que el sistema operativo iOS 8 incluirá un sistema que generará direcciones Mac falsas de forma aleatoria, pero esto no quiere decir que Apple sea mejor que el resto, ya que aunque hagan esto la totalidad de compañías en el momento de activar los servicios de localización de nuestro teléfono nos tienen mas que controlados. Hay proveedores de Internet que requieren Autenticación MAC para proporcionar internet a sus clientes. Por lo tanto la MAC Address en este caso también sirve como herramienta de filtro para proporcionar un servicio a los clientes de una compañía. Si alguien quiere ampliar este apartado le ruego que comente en los comentarios de este post su observación será introducida introducida en el artículo.\nNota: Con todo lo comentado en este apartado seguro que más de una persona se preguntará y reflexionará sobre la privacidad que nos ofrecen los dispositivos móviles. Un dispositivo móvil es el dispositivo perfecto para tenernos a todos perfectamente controlados y espiados. ¿MOTIVOS PARA CAMBIAR NUESTRA MAC ADDRESS? Después de leer el apartado anterior fácilmente podemos deducir que cambiar nuestra MAC Address puede ser útil en multitud de ocasiones. Algunas de las situaciones en que puede ser útil ocultar o cambiar nuestra Mac Address pueden ser:\nCuando nos conectamos en sitios públicos. Si no tomamos precauciones un Hacker podría fácilmente clonar nuestra Mac Address y cometer algún delito, del cual podrían acusarnos ya que habría sido realizado con nuestra Mac Address. Como hemos visto anteriormente es posible geoposicionar dispositivos móviles, ordenadores o routers mediante la Mac Address. Además existen herramientas especialidades de hacking para realizar esta función. Por lo tanto por motivos de privacidad también es interesante y recomendable cambiar nuestra Mac Address. Tenemos que recordar que la Mac Address es un identificador único y hay compañías que tienen extensas bases de datos de Mac Address asociadas con sus correspondientes coordenadas GPS. Anteriormente hemos visto como algunos proveedores de Internet solo dan servicio dispositivos de red que hayan sido previamente registrados por su Mac Address. Por lo tanto si se nos estropea la tarjeta de red de nuestro ordenador nos quedaremos sin conexión a Internet hasta que nuestro proveedor de Internet registre la dirección Mac de nuestra nueva tarjeta de red. Como solución provisional podemos cambiar la Mac Address de nuestra nueva tarjeta de red hasta que el ISP registre nuestra nueva Mac Address. En el caso que alguien decida realizar algún ataque o simplemente realizar alguna acción sin dejar rastro alguno, entre muchas otras cosas deberá cambiar la Mac de su tarjeta de Red. Algunos aeropuertos y sitios públicos suelen ofrecer Internet gratis a sus clientes durante tiempo limitado. La forma de controlar quien está conectado y el tiempo que está conectado es mediante la Mac Address del dispositivo que se conecta a Internet. Por lo tanto cuando se termina este tiempo podemos cambiar nuestra MAC Address de nuestro ordenador y volver a disfrutar de Internet Gratis. En el caso que acabamos de citar también es posible suplantar la Mac Address e IP de alguno de los clientes que haya pagado por el servicio. Estas son algunas de las razones principales para cambiar la Mac Address de un dispostivo de red. En el caso que alguien tenga motivaciones diferentes a las mencionadas en este apartado le invito a dejar un comentario.\n¿CÓMO PODEMOS CAMBIAR O OCULTAR NUESTRA DIRECCIÓN MAC? A continuación detallaré varias opciones disponibles para ocultar o camuflar la MAC Address.\nEn el caso que sean usuarios de Linux, en el siguiente enlace encontrarán como se puede cambiar la Mac Address usando NetworkManager.\nPara terminar solo comentar que en las próximos meses redactaré varios artículos detallando como podemos cambiar o camuflar la Mac Address en la totalidad de sistemas operativos que acostumbro a usar.\n","permalink":"https://geeklandlinux.github.io/posts/mac-address-que-es-usos-como-cambiarla/","summary":"\u003ch2 id=\"qué-es-la-mac-address-o-la-dirección-mac\"\u003e¿QUÉ ES LA MAC ADDRESS O LA DIRECCIÓN MAC?\u003c/h2\u003e\n\u003cp\u003eLa Mac Address o dirección Mac \u003cstrong\u003ees una identificador único de 48 bits para identificar la totalidad de dispositivos de red\u003c/strong\u003e como por ejemplo tarjetas de red Ethernet, tarjetas de red wifi o inalambricas, Switch de red, Routers, impresoras, etc.\u003c/p\u003e","title":"Mac Address, ¿Qué es? Usos que tiene y motivos para cambiarla"},{"content":"En pasados post vimos de forma muy detallada como crear y configurar nuestro propio servidor OpenVPN con cualquier distribución derivada de Debian. Una vez instalado y configurado nuestro servidor OpenVPN explique el procedimiento para conectarse a nuestro servidor Openvpn desde iOS y Windows. Ahora finalmente toca el turno de como conectarnos a un servidor OpenVPN en Android.\nEl procedimiento descrito a continuación lo he realizado con un teléfono Samsung Galaxy S4. De todas formas el procedimiento tiene que ser el mismo para la totalidad de teléfonos o tablets que usen Android como sistema operativo. Los pasos para poder utilizar nuestro Servidor OpenVPN en Android son los siguientes:\nPASO 1: RECOPILAR LAS CLAVES NECESARIAS PARA LA CONEXIÓN AL SERVIDOR En su día ya vimos que OpenVPN funciona mediante certificados y claves RSA construidas con Openssl. También creamos la totalidad de claves para que los clientes puedan conectarse al servidor OpenVPN. Por lo tanto si seguimos la totalidad de pasos que se detallan en el siguiente enlace, en la ubicación /etc/openvpn/keys tenéis que tener las siguientes claves:\nArchivo Descripción Ubicación Secreto ca.crt Certificado raíz de la entidad certificadora Servidor (/etc/openvpn) y cliente No whezzyVPN.crt Certificado del servidor VPN Servidor (/etc/openvpn) y cliente No usuariovpn.key Clave privada del cliente VPN Cliente Sí usuariovpn.crt Certificado del cliente VPN Cliente No ta.key Clave para la Autentificación TLS Servidor (/etc/openvpn) y cliente Sí Ahora tan solo tenemos que copiar las claves detalladas en la tabla en el cliente, que en este caso será uno de los móviles Android más presentes en el mercado, el Samsung Galaxy S4 con Android 4.3. Para hacer el traslado de claves existen muchos métodos y pueden usar el que más les convenga.\nAl tratarse de un tutorial lo haré mediante una memoria USB porqué considero que es la forma que requiere de menos conocimientos informáticos. Si no tuviera que hacer el tutorial extraería las claves fácilmente conectándome al servidor OpenVPN vía SSH.\nPor lo tanto enchufamos la memoria USB a nuestro servidor OpenVPN. Una vez enchufada tendremos que montarla. Para montarla les recomiendo seguir las instrucciones que se muestran en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/montar-la-memoria-usb-en-la-terminal/\nNota: Si vuestro servidor dispone de un entorno gráfico la memoria USB se montará automáticamente y por lo tanto no será necesario seguir los pasos del link que acabo de citar. Una vez montada la memoria USB tan solo tenemos que copiar las claves del servidor a la memoria USB. Para ello en el caso que no tengan entorno gráfico puede utilizar el siguiente comando:\ncp /etc/openvpn/keys/* /media/usb Nota: Este comando copia la totalidad de contenido de la /etc/openvpn/keys, que es donde están nuestras claves, en nuestra memoria USB que hemos montado en la carpeta /media/usb. En el caso que vuestro servidor disponga de entorno gráfico este paso es mucho más sencillo ya que podéis usar el administrador de archivos en vez de comandos. PASO 2: COPIAR EL FICHERO DE CONFIGURACIÓN DEL CLIENTE Cuando configuramos el servidor también creamos un fichero de configuración para el cliente. Este fichero lo guardamos en la ubicación /etc/openvpn con el nombre client.conf.\nEste fichero también lo copiaremos a nuestra memoria USB. Para ellos introduciremos el siguiente comando en la terminal:\ncp /etc/openvpn/client.conf /media/usb Nota: Este comando copia el fichero client.conf ubicado en /etc/openvpn/ a nuestra memoria USB que hemos montado en la carpeta /media/usb. En el caso de disponer de entorno gráfico no será necesario el uso de este comando ya que podéis copiar las claves mediante el administrador de archivos. Por si a alguien le puede servir de ayuda les dejo la captura de pantalla del procedimiento que he seguido en mi caso:\nPASO 3: INSTALAR EL PROGRAMA CLIENTE DE OPENVPN EN ANDROID Este paso es el más sencillo de todos. Tan solo tenemos que ir a la Google Play store e instalar el cliente OpenVPN en nuestro teléfono o tablet Android. La aplicación que tenemos que instalar se llama OpenVPN for Android. Si clican en el siguiente enlace accederán directamente a la descarga del cliente mencionado.\nPara que no tengan ningún tipo de duda de la aplicación que se trata les dejo esta captura de pantalla en la que pueden ver información relativa a este programa.\nNota: Si en la Google Play Store hacen una búsqueda por Openvpn for Android también encontrarán fácilmente el cliente Openvpn que tenemos que instalar. PASO 4: RENOMBRAR EL FICHERO DE CONFIGURACIÓN DEL CLIENTE El paso número 4 consiste en enchufar la memoria USB que contiene todas las claves y el fichero de configuración del cliente en un ordenador cualquiera.\nUna vez hemos enchufado el pendrive a nuestro ordenador lo abrimos y consultamos su contenido:\nTal y como se puede ver en la captura de pantalla tenemos que localizar el fichero client.conf. Una vez localizado el fichero client.conf deberemos cambiar su extensión a client.ovpn\nUna vez realizado esto ya podemos pasar al siguiente punto.\nNota: Si tienen problemas en cambiar la extensión del archivo en Windows pueden consultar el siguiente enlace. PASO 5: TRASLADAR LAS CLAVES Y EL FICHERO DE CONFIGURACIÓN DEL PENDRIVE AL TELÉFONO O TABLET El quinto paso es trasladar las claves que hemos guardado en el pendrive al teléfono móvil o tablet. Hay muchos procedimientos para realizar este paso. Lo podemos realizar vía Dropbox, vía Google Drive, vía email, etc. Pero al tratarse de un tutorial lo haremos de la forma más simple y de la forma más segura en lo que a seguridad y procedimiento se refiere. Por lo tanto:\n1- Primeramente enchufamos nuestro pendrive en el ordenador.\n2- Seguidamente también conectamos nuestro teléfono en el ordenador con su cable Mini USB.\n3- Después abrimos el explorador de archivos de Windows o del sistema operativo que usen. En el explorador de archivos aparecerán 2 nuevos dispositivos. Uno de ellos es nuestra memoria USB y el otro es nuestro teléfono móvil o Tablet. Hacemos doble click tanto en la memoria USB como en el teléfono. Al hacer doble click en cada uno de los dispositivos se abrirá el explorador de archivos y seguidamente podremos consultar tanto el contenido que tenemos almacenado dentro de nuestro teléfono móvil, como dentro de nuestra memoria USB.\n4- Ahora, tal y como se puede ver en la captura de pantalla, en el explorador de archivos en el que podemos visualizar el contenido del teléfono móvil o tablet tenemos que crear una carpeta que se llame Claves OpenVPN.\n5- El siguiente paso es copiar parte de las claves ubicadas en el pendrive, dentro de la carpeta Claves OpenVPN que acabamos de crear en el teléfono móvil o tablet. Las claves y archivos de configuración a copiar son las siguientes:\nca.crt “Certificado raíz de la entidad certificadora” whezzyVPN.crt “Certificado del servidor VPN” usuariovpn.key “Clave privada del cliente VPN” usuariovpn.crt “Certificado del cliente VPN” ta.key “Clave de Autentificación TLS” client.ovpn “Fichero de configuración del cliente” Para copiar las claves, tal y como también podemos ver en la captura de pantalla, tenemos que arrastrar los 6 archivos que acabamos de mencionar dentro de la carpeta claves OpenVPN.\nUna vez copiadas las claves y el archivo de configuración ya podemos pasar al siguiente paso.\nNota: Existen procedimientos alternativos para realizar este paso. A quien no le funcione este método o simplemente quiera probarlo de un modo diferente puede consultar el siguiente enlace. PASO 6: CONFIGURAR EL CLIENTE OPENVPN EN ANDROID Para configurar el cliente OpenVPN en Android tan solo tenemos que abrir el programa OpenVPN for Android que descargamos e instalamos en el paso número 3. Una vez abierto verán la siguientes pantalla:\nTal y como se indica en la captura de pantalla tenemos que presionar encima del icono de la carpeta. Al presionar sobre el icono se iniciará el proceso para la importación del fichero de configuración del cliente. Mediante la información contenida en el fichero de configuración del cliente configuraremos de forma automática el cliente OpenVPN en Android para conectarnos a nuestro servidor. Una vez presionado el botón les aparecerá la siguiente pantalla:\nEn está pantalla estamos observando el contenido que tenemos almacenado en la memoria interna de nuestro teléfono. Ahora tenemos que ir a buscar la carpeta Claves OpenVPN que creamos en el paso 5. Una vez encontrada la carpeta, tal y como se indica en la captura de pantalla, presionamos sobre ella y aparecerán la totalidad de claves y el archivo de configuración que copiamos dentro del teléfono o tablet.\nTal y como se indica en la captura de pantalla presionamos encima del archivo client.ovpn, ya que es el archivo que contiene la configuración del cliente, y seguidamente presionamos el botón Seleccionar. Después de hacer estos pasos les les aparecerá la siguiente pantalla:\nEn esta pantalla se nos está informando que la configuración contenido en el archivo client.ovpn se ha importado correctamente al cliente OpenVPN. Ahora para guardar el perfil y la configuración tan solo tenemos que presionar en el botón guardar de la parte inferior derecha que se muestra en la última captura de pantalla. Una vez realizado esto el proceso de configuración a terminado y ya podemos conectarnos a nuestro servidor.\nPASO 7: CONECTARSE AL SERVIDOR OPENVPN EN ANDROID Ahora la próxima vez que abran el cliente OpenVPN en Android les aparecerá la siguiente pantalla:\nclient es el perfil del cliente que acabamos de importar. Ahora, tal y como se indica en la captura de pantalla, presionamos encima del perfil importado que en nuestro caso es client. Seguidamente nos preguntará nuestro nombre de usuario y contraseña para conectarnos al servidor OpenPVN.\nUna vez introducidos los datos, tal y como se muestra en la captura de pantalla, presionamos sobre el botón Aceptar. Ahora tan solo tenemos que esperar unos segundos y si todo va bien podremos ver que nos conectaremos a nuestro servidor OpenVPN:\n","permalink":"https://geeklandlinux.github.io/posts/conectarse-servidor-openvpn-en-android/","summary":"\u003cp\u003eEn pasados post vimos de forma muy detallada como \u003ca href=\"/posts/crear-y-configurar-servidor-openvpn/\"\u003ecrear y configurar nuestro propio servidor OpenVPN\u003c/a\u003e con cualquier distribución derivada de Debian. Una vez instalado y configurado nuestro servidor OpenVPN explique el procedimiento para conectarse a nuestro servidor Openvpn desde iOS y Windows. Ahora finalmente toca el turno de como conectarnos a un servidor OpenVPN en Android.\u003c/p\u003e","title":"Conectarse a un servidor OpenVPN en Android"},{"content":"En mi caso trabajo todo el día delante de una pantalla de ordenador y cuando llego a casa a veces me pongo a leer algún que otro blog. Después de haber pasado horas y horas delante de una pantalla a veces se me hace bastante pesado leer según que blogs porqué visualmente están cargados, la combinación de colores del tema cansa a la vista, la letra es pequeña, etc.\nA las personas que les pase lo mismo les propongo instalar la extensión Clearly en su navegador. Con la extensión clearly podremos emular e incluso añadir funcionalidades al modo de lectura que actualmente existe en Safari para Mac OS e iOS.\nNota: La extensión clearly está disponible para los principales navegadores web. Como mínimo está disponible en Chrome, Chromium, Firefox y Opera. Las personas que usen Microsoft Explorer con su entorno UI tienen esta característica de serie en su navegador. Nota: Que yo sea consciente los primeros y prácticamente los únicos que han implementado el modo lectura de serie en su navegador ha sido Apple. Safari incluye esta característica desde la versión 5. Esta característica también está disponible en la totalidad de dispositivos móviles de Apple a partir de iOS 5.0. Nota: En lo que se refiere a dispositivos móviles Android disponer del modo lectura a día de hoy no es fácil ya que el único navegador que conozco para Android que tiene en cuenta esta característica es Firefox para Android. En un futuro cercano Google Chrome para Android pasará a incluir esta funcionalidad ya que Chromium actualmente ya incorpora este modo. A raíz de esto podemos deducir que el navegador de escritorio de Google, Chrome, pronto debería incluir también esta característica. ¿QUÉ ES EL MODO LECTURA EN UN NAVEGADOR? Para explicar lo que es el modo lectura del navegador lo mejor es hacerlo con una imagen. La imagen que detalla claramente que es el modo lectura del navegador es la siguiente:\nComo se puede ver en la captura de pantalla la diferencia salta a la vista. Si comparamos la imagen de la izquierda con la de la derecha, veremos que en la imagen de la derecha, que es la que está en modo de lectura, se han quitado la totalidad de elementos redundantes y superfluos. Sin la totalidad de elementos redundantes la lectura es mucho más agradable y productiva.\nNota: Si queréis realizar la misma prueba que he realizado en el artículo tenéis que visitar el siguiente enlace. ¿POR QUÉ USAR EL MODO LECTURA EN EL NAVEGADOR? Básicamente los motivos por los que me gusta disponer de un modo lectura son 2 y son los siguientes:\nPodemos leer sin distracciones. Cuando estamos leyendo un contenido que nos interesa solo veremos el contenido y nada más. Como hemos visto anteriormente desaparecen todos los menús del blog, las etiquetas, las categorías, la publicidad, etc. Visualmente cansa menos la vista. Si volvemos a la explicación de lo que es el modo lectura podréis comprobar que es muchísimo más sencillo leer un artículo en el modo lectura. Nota: Además si continúas leyendo podréis ver que la extensión clearly dispone de otras funcionalidades aparte de la función de modo lectura que destacamos en este artículo. INSTALAR CLEARLY El proceso de instalación de clearly es muy simple y muy rápido. El proceso de instalación que explico es para Google Chrome y para Chromium. Para el resto de navegadores, como por ejemplo Firefox y Opera, tan solo hay realizar los pasos equivalentes a los que veremos a continuación.\nLo primero que tenemos que hacer es acceder a la tienda de Google Chrome Store y realizar una búsqueda la palabra clearly.\nUna vez finalizada la búsqueda, tal y como se puede ver en la captura de pantalla, tenemos que clicar encima del botón GRATIS de la extensión Clearly de Evernote. Después de clicar encima del botón aparecerá una ventana preguntándonos si queremos instalar la extensión Clearly. Para indicar que queremos proceder con la instalación tenemos que presionar el botón Añadir. Una vez presionado el botón se añadirá el botón de la extensión en nuestro navegador web.\nNota: Si quieren acceder directamente a la pantalla de instalación de clearly pueden usar el siguiente enlace. USO DEL MODO LECTURA EN EL NAVEGADOR Una vez instalada la extensión activar y desactivar el modo lectura es sumamente sencillo. Visitan una página cualquiera. Por ejemplo pueden visitar la siguiente:\nUna vez dentro de la página, tal y como se puede ver en la captura de pantalla, tan solo hay que clicar encima del icono de la lámpara. Después de clicar encima del icono de la lámpara se activará el modo lectura.\nComo se puede ver en la captura de pantalla el modo lectura se ha activado. El artículo se visualiza con un fondo blanco y letras negras. Si queremos cambiar el color del fondo y de las letras, el tipo de letra y su tamaño tan solo tenemos que clicar encima del icono Aa de la barra lateral derecha. Allí encontraremos 3 temas de visualización predefinidos y una opción para personalizar nuestro propia visualización.\nEn el caso que por cualquier motivo se quiera desactivar el modo lectura, tal y como se muestra en la captura de pantalla, tienen que presionar el botón de la flecha que está presente en la barra lateral derecha. Así de fácil.\nOTRAS FUNCIONES DE CLEARLY En mi caso lo único que uso de esta de clearly es el modo lectura. Pero aparte del modo lectura, clearly aporta las siguientes funcionalidades adicionales.\nClearly se puede conectar con Evernote. Al conectarlo con nuestra cuenta de Evernote se abren las siguientes funcionalidades:\nEn el caso de ver un artículo interesante lo podemos etiquetar y almacenar de forma automática en nuestra cuenta de Evernote. De está forma podremos leer el artículo sin conexión a internet cuando nos apetezca en nuestra cuenta de Evernote. Permite subrayar o remarcar ciertas partes del contenido que consideramos importantes. De esta forma si abrimos el artículo al cabo de un tiempo, sabremos las partes que son interesantes y las cuales tenemos que focalizar nuestra atención. En el caso de ser usuario Premium de Evernote tenemos la opción de texto de voz. Simplemente apretando el botón de texto de voz de la barra lateral de Clearly una voz nos leerá la totalidad de contenido del artículo que tenemos en modo lectura. Ahora quien a priori esté interesado solo hace falta que experimente con esta extensión y vea si realmente cumple sus expectativas. A mi me funciona a la perfección y además tiene la garantía que ha sido desarrollada por Evernote.\nSeguramente habrán otras opciones alternativas a la mencionada. Quien conozca alguna y la quiera compartir lo puede hacer en los comentarios de este artículo.\n","permalink":"https://geeklandlinux.github.io/posts/modo-lectura-en-chrome-firefox-y-opera/","summary":"\u003cp\u003eEn mi caso trabajo todo el día delante de una pantalla de ordenador y cuando llego a casa a veces me pongo a leer algún que otro blog. Después de haber pasado horas y horas delante de una pantalla \u003cstrong\u003ea veces se me hace bastante pesado leer según que blogs porqué visualmente están cargados, la combinación de colores del tema cansa a la vista, la letra es pequeña, etc\u003c/strong\u003e.\u003c/p\u003e","title":"Modo Lectura en Chrome Firefox y Opera"},{"content":"La semana pasada escribí un post de como evaluar el estado de salud de un disco duro o dispositivo de almacenamiento. Uno de los puntos era analizar si la velocidad de lectura y escritura son las que se detallan en las especificaciones del disco o si son las mismas que teníamos que cuando el disco duro era nuevo.\nEn el caso que quieran realizar esta comprobación pueden aplicar el método que se detalla a continuación.\nHERRAMIENTAS PARA EVALUAR LA VELOCIDAD DE LECTURA Y ESCRITURA Hay varias formas para poder evaluar la velocidad de lectura y escritura de un dispositivo de almacenamiento como por ejemplo un disco duro. En mi caso usaré la terminal y las herramientas hdparm y dd. Los motivos por los que elijo este método son los siguientes:\nQuien administra servidores lo más probable es que no disponga de un entorno gráfico. Si sabemos como realizar el procedimiento por la terminal podremos aplicar el método en cualquier distribución Linux. No me gusta tener paquetes que no uso instalados en mi ordenador o servidor. Realizando el procedimiento desde la terminal tenemos el control total del test que estamos aplicando en cada momento. Nota: A quien no le guste la terminal siempre puede usar la utilidad de discos de gnome para poder realizar esta operación. Quien quiera usar la aplicación gráfica tienen que instalar el paquete gnome-disk-utility. Nota: Tenéis que ir con cuidado a la hora de experimentar con las herramientas hdparm y dd. Estas dos herramientas tienen multitud de utilidades y algunas de ellas son críticas. Por lo tanto al usar estas 2 herramientas siempre tenemos que ir con precaución y siendo consciente de lo que hacemos en cada momento. INSTALACIÓN DE LAS HERRAMIENTAS NECESARIAS Lo más probable es que la distribución Linux que estáis usando ya tenga instalados de serie las herramientas que vamos a utilizar para medir la velocidad de lectura y escritura. En el caso de no tenerlas lo único que tendremos que hacer es instalar el paquete hdparm.\nPara instalar hdparm en distribuciones derivadas de Debian tan solo tenemos que introducir el siguiente comando en la terminal:\nsudo apt-get install hdparm En el caso de usar distribuciones derivadas de Red Had, como por ejemplo Fedora o CentOS, tenéis que usar el siguiente comando:\nsudo yum install hdparm Finalmente los usuarios de Archlinux, o alguna distro derivada de Archlinux como por ejemplo Manjaro, tienen que escribir el siguiente comando en la terminal:\nsudo pacman -S hdparm Una vez introducido el comando presionan Enter y el paquete se instalará.\nDENOMINACIÓN DEL DISPOSITIVO QUE QUEREMOS ANALIZAR Antes de iniciar el test lo primero que tenemos que realizar es saber como se reconoce el disco duro o dispositivo que queremos analizar. Para ello en la terminal introducimos el siguiente comando:\nsudo fdisk -l Los resultados de ejecutar este comando son los siguientes:\nComo se puede ver en la captura de pantalla hemos detectado dos dispositivos de almacenamiento conectados a nuestro ordenador.\nEl primero es el /dev/sda que es nuestro disco duro. Seguidamente analizaremos la velocidad de lectura y escritura de este dispositivo. El segundo dispositivo que encontramos es el /dev/sdf que es una vieja memoria usb que tengo enchufada en mi ordenador. También analizaremos su velocidad de lectura y de escritura. VELOCIDAD DE LECTURA DE NUESTRO DISCO DURO Para analizar la velocidad de lectura del disco duro tan solo tenemos que abrir una terminal y teclear el siguiente comando:\nsudo hdparm -tT /dev/sda hdparm: Estamos llamando a la herramienta hdparm que es la que nos servirá para medir la velocidad de lectura.\nt (Timing buffered disk): Al introducir el parámetro t lo que estamos haciendo es ordenar que se mida la velocidad real de lectura del contenido almacenado en la cache de disco, también conocida como buffer cache, sin que previamente y durante el proceso haya nada almacenado en la misma buffer cache. Todo el contenido que se leerá en la buffer cache provendrá de la superficie del disco duro.\nT (Timing cached reads): Al introducir el parámetro T lo que estamos haciendo es indicar que se mida la velocidad de lectura de la información que tenemos almacenada en el cache de disco, también conocida cono buffer cache, sin que haya en ningún momento acceso al contenido almacenado en la superficie de nuestro disco duro.\n/dev/sda: Es la denominación del dispositivo que queremos analizar. En el apartado anterior hemos visto como averiguar el nombre con el que se reconoce el dispositivo de almacenamiento que queremos analizar.\nUna vez ejecutado el comando vemos, que en mi caso, obtengo los siguientes resultados:\nComo se puede ver en la captura de pantalla los resultados obtenidos son los siguientes:\nTiming Cached reads: La velocidad de lectura de la información almacenada en la cache de disco, o buffer cache, sin que en ningún momento haya acceso al contenido almacenado en la superficie del disco duro es de 846 MB/s. Timing buffered disk: La velocidad real de lectura de la información almacenada en la superficie del disco duro y medida en la cache de disco, o buffer cache, es de 76 MB/s. Este parámetro es el que da una idea más clara del rendimiento de nuestro disco duro ya que el valor obtenido será equivalente a la velocidad de escritura cuando se satura o se llena la cache de disco. Para que los resultados de lectura sean significativos es necesario repetir el proceso que acabamos de ver 2 o 3 veces. Para automatizar el proceso de repetición poemos hacer introduciendo el siguiente comando en la terminal:\nfor i in 1 2 3; do sudo hdparm -tT /dev/sda; done Después de aplicar el comando los resultados que se muestran en la siguiente captura de pantalla:\nEn la totalidad de casos observamos que los valores son similares y prácticamente idénticos a la primera medición que realizamos. Por lo tanto podemos estar seguros que los valores obtenidos en la primera medición son plenamente fiables. Para los amantes de las estadísticas pueden calcular la velocidad de lectura media, máxima y mínima con los resultados que hemos obtenido.\nNota: Al analizar la velocidad de lectura nuestro ordenador tiene que estar completamente en reposo y sin ejecutar ninguna otra tarea. Nota: En el caso que para realizar el análisis se quiera deshabilitar la page cache que se realiza en la memoria RAM del sistema operativo pueden modificar el comando sudo hdparm -tT /dev/sda por sudo hdparm -tT \u0026ndash;direct /dev/sda. De este modo es posible obtener un rendimiento concreto del disco sin la influencia de otras características de nuestro sistema operativo. VELOCIDAD DE ESCRITURA DE NUESTRO DISCO DURO El comando dd tiene multitud de aplicaciones. Algunas de las aplicaciones son clonar un disco duro, destruir completamente el contenido de una partición, crear un liveusb, etc. Pero en esta ocasión usaremos el comando dd para medir al velocidad de escritura de nuestro disco duro.\nEl comando que tenemos que introducir en la terminal para medir la velocidad de escritura es el siguiente:\ndd if=/dev/zero of=/tmp/test.dat bs=512 count=2000000 conv=fdatasync El significado de la totalidad de opciones introducidas en el comando dd es el siguiente:\ndd: Estamos invocando la herramienta dd (duplicate data) que es la que nos servirá para medir la velocidad de escritura.\nif =/dev/zero: Esta parte del comando indica que como fichero de origen (input file) se debe usar el archivo /dev/zero. El dispositivo o archivo /dev/zero lo que hace es generar una cadena de ceros con las características que definiremos con los comandos bs y count.\nof=/tmp/test.dat: Esta parte del comando indica que el fichero de destino (output file) es un fichero con nombre test.dat ubicado en la ubicación /tmp. La información que contendrá el fichero test.dat es la información que generará el dispositivo /dev/zero que será una cadena de ceros con las características que definiremos con los comando bs y count.\nbs=512: Introduciendo este comando lo que estamos definiendo es que la información que se escriba en archivo test.dat sea en bloques de 512 bytes. Elijo 512 bytes porqué es el tamaño de bloque en que se formateo mi disco duro. En vuestro caso podéis elegir un valor diferente. En función del valor del tamaño de bloque elegido la velocidad de escritura variará ligeramente.\ncount=2000000: En esta entrada lo que estamos definiendo es que en el archivo test.dat se escriban 2000000 bloques del tamaño definido en el parámetro bs (512 bytes).\nconv=fdatasync: Introducimos este parámetro para obtener unos resultados de escritura que se aproximen a lo que es la velocidad de escritura real del disco. Si no usamos este parámetro el resultado obtenido solo contemplara el tiempo obtenido en volcar la totalidad de información a la cache de disco. Si usamos este comando el resultado obtenido tendrá en cuenta además el tiempo necesario en volcar la información de la cache de disco a la superficie del disco duro. Por lo tanto introduciendo este comando obtendremos una velocidad de escritura que se asemejará al rendimiento real de nuestro disco duro.\nPor lo tanto introduciendo este comando lo que haremos es generar un archivo de 1Gb (512bytes x 2000000 = 1 Gb) lleno de ceros y que se ubicará en /tmp/test.dat. Este archivo se generará escribiendo 20000000 de bloques de 512 bytes.\nUna vez generado el archivo el comando dd nos dará la velocidad de escritura que hemos obtenido:\nComo se puede ver en la captura de pantalla, en mi caso la velocidad de escritura de mi disco duro es de 65 MB/s. Si hubiera aumentado el tamaño del bloque es probable que la velocidad de escritura hubiera sido ligeramente mayor a la obtenida.\nAhora para finalizar el proceso tan solo tenemos que borrar el archivo que acabamos de generar para obtener la velocidad de escritura. Para ello tecleamos el siguiente comando en la terminal:\nsudo rm -f /tmp/test.dat Nota: Al analizar la velocidad de escritura de nuestro ordenador tiene que estar completamente en reposo y sin ejecutar ninguna otra tarea. VELOCIDAD DE LECTURA Y ESCRITURA DE LA MEMORIA USB Analizar la velocidad de lectura y escritura de una memoria USB será sumamente fácil ya que los comandos a usar son exactamente los mismos que en el disco duro.\nLos únicos parámetros a sustituir son el dispositivo a analizar y la ubicación donde se creará el archivo que escribiremos para medir la velocidad de escritura.\nAnteriormente usando el comando sudo fdisk -l vimos que nuestro pendrive o memora USB se reconoce por la denominación /dev/sdf. Por lo tanto en la totalidad de comandos usados anteriormente deberemos sustituir /dev/sda por /dev/sdf.\nLa ruta en que generamos el archivo para evaluar la velocidad de la memoria usb no puede ser la /tmp. La ruta en este caso tiene que dirigirnos a nuestra memoria USB. Para averiguar la ruta que dirige a nuestra memoria usb abrimos nuestro administrador de archivos y accedemos al contenido de nuestro USB:\nUna vez hayamos accedido a la memoria USB, tal y como se puede ver en la captura de pantalla, en nuestro administrador de archivos podremos ver que la ruta o punto de montaje de nuestra memoria USB es la /media/joan/9007-4D84/\nPor lo tanto en los comando usados anteriormente deberemos sustituir /tmp/test.dat por /media/joan/9007-4D84/test.dat.\nAsí por lo tanto para medir la velocidad de lectura de nuestra memoria USB deberemos usar el siguiente comando:\nfor i in 1 2 3; do sudo hdparm -tT /dev/sdf; done y para medir la velocidad de escritura deberemos usar este comando:\ndd if=/dev/zero of=/media/joan/9007-4D84/test.dat bs=512 count=2000000 conv=fdatasync En mi caso los resultados obtenido se pueden observar en la siguiente captura de pantalla:\nObviamente la velocidad de lectura y escritura obtenida en este caso es muy inferior a la velocidad que obtuve con el disco duro.\nUTILIDADES QUE PUEDE TENER CONOCER LA VELOCIDAD DE LECTURA Y ESCRITURA Para finalizar el post simplemente quiero citar algunas de las utilidades que pienso que puede tener conocer cual es la velocidad de lectura y escritura de nuestros dispositivos de almacenamiento. Algunas de las utilidades pueden ser las siguientes:\nPara saber que memoria USB es la mas adecuada para usar como LiveUSB. Para saber si nuestro disco duro o Pendrive rinde tal y como tiene que rendir. Para saber si nuestra memoria USB o disco duro se ajusta a las especificaciones que promete el fabricante. Si alguien se anima a proponer otra utilidad adicional que no dude en proponerlo en los comentarios.\n","permalink":"https://geeklandlinux.github.io/posts/velocidad-lectura-y-escritura-disco/","summary":"\u003cp\u003eLa semana pasada escribí un post de \u003ca href=\"/posts/conocer-el-estado-de-nuestro-disco-duro/\"\u003ecomo evaluar el estado de salud de un disco duro o dispositivo de almacenamiento\u003c/a\u003e. Uno de los puntos era analizar si la velocidad de lectura y escritura son las que se detallan en las especificaciones del disco o si son las mismas que teníamos que cuando el disco duro era nuevo.\u003c/p\u003e\n\u003cp\u003eEn el caso que quieran realizar esta comprobación pueden aplicar el método que se detalla a continuación.\u003c/p\u003e","title":"Medir la velocidad de lectura y escritura de un disco duro"},{"content":"Antes de realizar un comentario en el blog es necesario leer y cumplir los puntos que se detallan a continuación:\nEscribir correctamente: Los comentarios con faltas de ortografía, escritos en mayúsculas o que intenten destacar sobre el resto no serán aceptados. Leer antes de preguntar: Los comentarios que soliciten información que ya han preguntado otros usuarios, o que soliciten información expuesta en el mismo artículo no serán aceptados. La duplicación de contenido no aporta nada a nadie. Respeto: Los comentarios que falten al respeto de la gente que participa en el blog serán moderados. Privacidad: La totalidad de comentarios que contengan cualquier tipo de información personal, como teléfonos, direcciones de email, etc. Serán moderados. Preguntar adecuadamente: Las preguntas realizadas en los comentarios pueden ser para dar la opinión acerca de un tema, comentar errores, preguntar dudas, etc. En el caso que la pregunta sea para resolver una duda se deberá aportar la información necesaria para que esta duda sea resuelta. En el caso que la pregunta no contenga la información necesaria para solucionar el problema, o que sea una pregunta que ya está detallada en el post, no será publicada. Comentarios SPAM: Los comentarios que simplemente pretendan dejar un enlace de su sitio web o hacer algún tipo de publicidad serán eliminados automáticamente. En este blog no se hace publicidad de forma gratuita. Preguntar sobre temas relacionados con el contenido del post: Los comentarios son para hacer preguntas relacionadas con el contenido del artículo que se está leyendo. No se admitirán preguntas que no tengan nada que ver con el tema que se está tratando. Antes de preguntar investigar: Existen consultas que se resuelven al instante usando el buscador de Google. De la misma forma que yo puedo buscar en Google también lo podéis vosotros. En el caso de incumplir con alguno de los puntos citados, el comentario será moderado y eliminado.\nCONTACTO Si tiene cuestiones o comentarios sobre la moderación de comentarios, puede ponerse en contacto con nosotros a través del formulario de contacto disponible en esta página web.\n","permalink":"https://geeklandlinux.github.io/pages/leer/","summary":"\u003cp\u003eAntes de realizar un comentario en el blog es necesario leer y cumplir los puntos que se detallan a continuación:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eEscribir correctamente:\u003c/strong\u003e Los comentarios con faltas de ortografía, escritos en mayúsculas o que intenten destacar sobre el resto no serán aceptados.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eLeer antes de preguntar:\u003c/strong\u003e Los comentarios que soliciten información que ya han preguntado otros usuarios, o que soliciten información expuesta en el mismo artículo no serán aceptados. La duplicación de contenido no aporta nada a nadie.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRespeto:\u003c/strong\u003e Los comentarios que falten al respeto de la gente que participa en el blog serán moderados.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePrivacidad:\u003c/strong\u003e La totalidad de comentarios que contengan cualquier tipo de información personal, como teléfonos, direcciones de email, etc. Serán moderados.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePreguntar adecuadamente:\u003c/strong\u003e Las preguntas realizadas en los comentarios pueden ser para dar la opinión acerca de un tema, comentar errores, preguntar dudas, etc. En el caso que la pregunta sea para resolver una duda se deberá aportar la información necesaria para que esta duda sea resuelta. En el caso que la pregunta no contenga la información necesaria para solucionar el problema, o que sea una pregunta que ya está detallada en el post, no será publicada.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eComentarios SPAM:\u003c/strong\u003e Los comentarios que simplemente pretendan dejar un enlace de su sitio web o hacer algún tipo de publicidad serán eliminados automáticamente. En este blog no se hace publicidad de forma gratuita.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePreguntar sobre temas relacionados con el contenido del post:\u003c/strong\u003e Los comentarios son para hacer preguntas relacionadas con el contenido del artículo que se está leyendo. No se admitirán preguntas que no tengan nada que ver con el tema que se está tratando.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAntes de preguntar investigar:\u003c/strong\u003e Existen consultas que se resuelven al instante usando el buscador de Google. De la misma forma que yo puedo buscar en Google también lo podéis vosotros.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e\u003cstrong\u003eEn el caso de incumplir con alguno de los puntos citados, el comentario será moderado y eliminado\u003c/strong\u003e.\u003c/p\u003e","title":"Moderación de los comentarios"},{"content":"La verdad es que nunca he tenido problemas con el disco duro de mi ordenador. Pero en dos ocasiones que recuerde mi ordenador empezó a colgarse y a tener comportamientos extraños y realmente llegue a pensar que mi disco duro podía ser el responsable porqué ya tiene sus años y sus horas de vida. Al final en las dos ocasiones el problema resulto ser con la memoria RAM.\nEn otras ocasiones compañeros de trabajo y conocidos me han ofrecido comprar discos duros usados y la verdad es que la primera pregunta que me hice es saber cual es el estado de este disco duro que me ofrecen. A raíz de estas dos experiencias he decido compartir los pasos que seguiría para comprobar el estado de un disco duro y de esta forma intentar evitar la pérdida de información que supondría la rotura del disco duro.\nHERRAMIENTA PARA REALIZAR LA EVALUACIÓN DEL ESTADO DISCO DURO Para evaluar el estado de nuestro disco duro interno, disco duro extraíble o memoria USB necesitaremos la herramienta smartctl contenida en el paquete smartmontools.\nEl método que veremos en este artículo se puede aplicar a la totalidad de discos duros o dispositivos de almacenamiento que dispongan la tecnología SMART, que a día de hoy son prácticamente el 100%. La tecnología SMART es una tecnología que permite detectar anticipadamente fallos y averías que se pueden ocasionar ocasionar en nuestro disco duro. Al detectar anticipadamente una posible avería podremos prevenir la pérdida de información que supondría la rotura total de nuestro disco duro. Por lo tanto en el caso de detectar una posible falla se aconseja realizar de forma inmediata una copia de seguridad de nuestros archivos.\nNota: La herramienta smartmoontools no solamente sirve para comprobar el estado de discos duros internos. También sirve para por ejemplo comprobar el estado de discos duros extraíbles, discos duros sólidos, memorias USB que dispongan de la tecnología SMART, etc. Nota: La herramienta smartmoontools se puede usar tranquilamente desde un live USB . Por lo tanto podemos aplicar este método a cualquier ordenador independientemente del sistema operativo que tenga instalado. Quien precise realizar un live USB puede seguir las instrucciones que se mencionan en este artículo. Nota: La totalidad de diagnósticos del artículo se realizan vía terminal. A quien no le guste la terminal siempre tiene la posibilidad de instalar un entorno gráfico para esta herramienta. Para instalar el entorno gráfico tan solo se tiene que instalar el paquete gsmartcontrol. Nota: La herramienta SMART no protege contra la totalidad de fallos que se pueden producir en un disco duro. Esta herramienta no nos puede proteger contra fallos impredecibles como por ejemplo las caídas de tensión o las sobretensiones. Afortunadamente los fallos impredecibles son menos frecuentes que los predecibles. INSTALAR LA HERRAMIENTA SMARTCTL Es posible que ciertas distribuciones Linux ya tengan preinstalada la herramienta smartctl. En el caso que vuestra distribución no tenga instalada esta herramienta pueden realizar lo siguiente:\nEn el caso usar Debian u otras distribuciones derivadas de Debian como por ejemplo Linux Mint, Ubuntu, etc. Tan solo tienen que abrir una terminal y teclear el siguiente comando:\nsudo apt-get install smartmontools En el caso de usar distribuciones derivadas de Red Had, como por ejemplo Fedora o CentOS, tenéis que abrir una terminal y teclear el siguiente comando:\nsudo yum install smarmontools En el caso de ser usuario de Archlinux, o alguna distro derivada de Archlinux como por ejemplo Manjaro, tienen que escribir el siguiente comando en la terminal:\nsudo pacman -S smartmontools Nota: En caso que no sean amigos de la terminal y quieran utilizar un front-end o entorno gráfico, tan solo tienen que instalar de forma adicional el paquete gsmartcontrol. Al instalar este paquete podrán ver un entorno gráfico similar al que se muestra en el siguiente enlace. REALIZAR EL ANÁLISIS DEL ESTADO DEL DISCO DURO Averiguar el nombre con el que se reconoce nuestro disco duro Lo primero que tenemos que realizar es averiguar el nombre con el que se reconoce el disco duro o dispositivo de almacenamiento que queremos analizar. Para ello abrimos una terminal y tecleamos el siguiente comando:\nsudo smartctl --scan Tal y como se puede ver en la captura de pantalla mi disco disco duro es reconocido como sda:\nNota: El comando que acabamos ver detecta la totalidad de dispositivos con tecnología SMART conectados a nuestros ordenador. En mi caso solo es uno. Nota: A partir de ahora la totalidad de comandos que mostraré harán referencia al disco duro sda. En el caso que vuestro disco duro sea reconocido con otro nombre deberéis sustituir sda por el nombre de vuestro dispositivo. Detectar que el soporte SMART está activado Lo segundo a realizar es comprobar que nuestro disco duro tiene soporte Smart y además está habilitado. Para realizar esta comprobación tienen que ingresar el siguiente comando en la terminal:\nsudo smartctl -i /dev/sda Una vez ejecutado el comando veremos que en la terminal nos aparece una serie de información básica de nuestro disco duro como por ejemplo el modelo del disco duro, el número de serie del disco duro, la versión de firmware del disco duro, la capacidad del disco duro, la versión de Sata, etc. Además en la captura de pantalla podemos ver que en las dos últimas menciona que nuestro disco duro tiene soporte para SMART y además el soporte está habilitado.\nEn el caso que el soporte esté deshabilitado aparecerá la frase SMART support is Unavailable. Para solucionar este problema, y para por lo tanto activar el soporte Smart, tenemos teclear el siguiente comando en la terminal:\nsudo smartctl -s on /dev/sda Una vez aplicado el comando el soporte SMART debería estar activado. Una vez realizados estos pasos ya podemos pasar a realizar un análisis de nuestro disco.\nNota: Aparte de introducir el comando sudo smartctl -s -on /dev/sda hay que tener en cuenta que hay BIOS que tienen una opción para activar y desactivar SMART. En el caso que vuestra BIOS tenga esta opción nos tenemos que asegurar este activada para que smartctl funcione correctamente. Si tenemos la opción de la BIOS activada, cada vez que se arranque nuestro ordenador se comprobará el estado de salud de nuestro disco duro. Si el estado es correcto nuestro ordenador arrancará normalmente pero si el resultado no es bueno no se arrancará con el fin de prevenir daños. Realizar un análisis rápido No es el tipo de análisis más recomendado pero hay que decir que es útil para detectar posibles problemas que pueda tener nuestro disco. El análisis rápido básicamente consiste en 3 partes:\nTest de las propiedades eléctricas: Se realizará un test de las propiedades eléctricas de nuestro disco duro como por ejemplo si las placas electrónicas están en buen estado, si la totalidad de buffers del disco duro se encuentra en óptimas condiciones, etc. Obviamente para cada modelo de disco duro el test que se realizará será diferente ya que el comportamiento eléctrico depende del modelo y marca de disco duro que tenemos. Test de las propiedades mecánicas: Se realizará un análisis para determinar si el posicionamiento del cabezal del disco encima del plato se realiza de forma correcta, si la velocidad de los platos del disco es correcta, etc. En definitiva se realizarán todo tipo de comprobaciones para verificar que el funcionamiento mecánico del disco es adecuado. Test de lectura del disco: La última comprobación consiste en leer partes de la información almacenada en el disco duro y verificar que la lectura es correcta. Este proceso no abarca toda la superficie del disco. Esta prueba está limitada en tiempo y solo analiza ciertas partes de la superficie del disco. Las partes del disco duro analizadas son en función del modelo de nuestro disco duro. Para realizar un análisis rápido del estado del disco duro o soporte de almacenamiento que acabamos de describir, tan solo tenemos que teclear el siguiente comando en la terminal:\nsudo smartctl -t short /dev/sda Una vez ejecutado el comando el análisis del disco se realizará en segundo plano y por lo tanto no nos daremos cuenta que el test se está ejecutando. El hecho de hacer el análisis en segundo plano tiene la ventaja que mientras se está realizando el análisis podemos seguir utilizando tranquilamente nuestro ordenador sin notar nada. Como contrapartida el tiempo que empleado en realizar el análisis será mayor.\nLa duración del test será relativamente rápida. En aproximadamente 2 minutos el test debería haber finalizado. Para comprobar que el test ha finalizado podemos teclear el siguiente comando en la terminal:\nsudo smartctl -c /dev/sda Al ejecutar este comando si consultamos la información del campo Self-test execution status nos dirá el % del test que aún está pendiente para realizar.\nNota: Algunos discos no soportan la totalidad de test que realiza la herramientas smartctl. Para conocer los tipos de test que soporta cada disco duro se puede teclear sudo smartctl \u0026ndash;capabilities /dev/sda en la terminal. Realizar un análisis completo Este tipo de análisis es el más adecuado para garantizar que los resultados que obtenemos son plenamente fiables. El tipo de comprobaciones que realizará el análisis completo son las mismas que el análisis rápido. Por lo tanto se realizará un test de las propiedades eléctricas, mecánicas y finalmente se realizará un test de lectura de la totalidad de superficie del disco duro. La diferencia entre el análisis rápido y el completo será que el completo realizará un análisis mucho más exhaustivo de cada uno de los puntos analizados. Así por ejemplo si en el análisis rápido se hacia la comprobación de ciertas partes de la superficie del disco duro, en el análisis completo se realizará la comprobación de la totalidad de la la superficie.\nPara realizar un análisis detallado y más preciso del estado del disco duro o soporte de almacenamiento tan solo tenemos que teclear el siguiente comando en la terminal:\nsudo smartctl -t long /dev/sda Al igual que en el caso anterior, el análisis se realizará en segundo plano y no nos daremos cuenta. A diferencia del caso anterior el tiempo de espera será mucho mayor y tenemos que estar dispuestos a esperar horas para finalizar el test. En mi caso el proceso tardo 15 o 16 horas. Para comprobar que el test ha finalizado podemos teclear el siguiente comando en la terminal:\nsudo smartctl -c /dev/sda Al ejecutar este comando si consultamos la información del campo Self-test execution status nos dirá el % del test que aún esta pendiente para realizar.\nNota: Algunos discos no soportan la totalidad de test que realiza la herramientas smartctl. Para conocer los tipos de test que soporta cada disco duro se puede teclear sudo smartctl \u0026ndash;capabilities /dev/sda en la terminal.. Realizar un análisis de golpes que ha sufrido el disco duro A veces es posible que durante el transporte o el uso del ordenador puedan ocurrir ciertos accidentes como por ejemplo caídas que generan aceleraciones y desaceleraciones importantes en el disco duro. Para evaluar el número de veces que nuestro disco duro ha recibido impactos superiores al límite establecido por el fabricante podemos ejecutar el siguiente comando en la terminal:\nsudo smartctl -t conveyance /dev/sda El análisis se realizará en segundo plano. En aproximadamente 2 minutos el test habrá finalizado. Para comprobar que el test ha finalizado podemos teclear el siguiente comando en la terminal:\nsudo smartctl -c /dev/sda Nota: En mi ordenador de sobremesa no he podido realizar el test ya que mi disco duro no es compatible con este tipo de test. En el laptop si he podido realizar el test sin problema. REALIZAR ANÁLISIS DE LOS RESULTADOS OBTENIDOS Lo primero que haremos para obtener los resultados de nuestros test es volcar la totalidad de los resultados en un archivo de texto. Para realizar esto abrimos una terminal y tecleamos el siguiente comando:\nsudo smartctl --xall /dev/sda \u0026gt; resultados Después de teclear este comando, en nuestra home se generará un archivo de texto en el que podremos consultar multitud de datos para comprobar si el estado de nuestro disco duro es el correcto. Si abrimos el fichero el contenido que vamos a encontrar en este fichero es el siguiente:\nConocer el estado global del disco duro Para tener una valoración global del disco sin entrar en detalles tan solo tienen que abrir el archivo de texto que acabamos de generar. Una vez abierto buscan el siguiente parámetro:\nSMART overall-health self-assessment test\n**En mi caso como resultado me pone **PASSED. Por lo tanto puedo estar tranquilo ya que se mi disco duro se encuentra en buenas condiciones. En el caso que el disco duro tenga algún tipo de problema aparecerá la palabra FAILED en vez de PASSED. En caso que aparezca FAILED se aconseja realizar una copia de seguridad de los datos del disco lo antes posible.\nNota: El estado global del disco duro también se puede obtener tecleando el comando sudo smartctl -l selftest -H /dev/sda en la terminal. Revisar el log de errores Para revisar que durante la comprobación no se ha producido ningún error podemos usar el siguiente comando en la terminal:\nsudo smartctl -l error /dev/sda Horas de funcionamiento del disco duro Las horas de funcionamiento de un disco duro son limitadas. Por lo tanto si sabemos las horas que ha funcionado nuestro disco duro podemos tener una idea de las horas de trabajo que aún le quedan.\nDentro del fichero donde tenemos los resultados tenemos que localizar la siguiente frase:\nPower_On_Hours\nTal y como se puede ver en la captura de pantalla de los resultados, el valor de este parámetro en mi caso es 16600 horas. Esto equivale a cerca 2 años de funcionamiento. Para valorar si esto es mucho o poco fui a las especificaciones de mi disco duro y vi que el parámetro de tasa media entre fallos es de 600.000 horas. Sabiendo este parámetro puedo fácilmente calcular la probabilidad de fallo de nuestro disco duro aplicando la siguiente fórmula:\nProbabilidad de fallo = 1 – exp(-(horas de funcionamiento)/tasa media entre fallos) 1- exp(-16600)/600.000) = 0,0273 x 100 = 2,73% Por lo tanto con las horas que ha trabajado mi disco, solo en 3 de cada 100 casos se habría roto. Si ahora decidimos que queremos usar el disco duro hasta llegar a las 26280 horas podemos concluir que únicamente 4,29 de cada 100 discos duros tendrán problemas. Por lo tanto en mi caso seguiré usando mi disco duro tranquilamente ya que hasta que no hayan pasado 6 o 7 años la probabilidad de fallo es aceptable en mi caso.\nNota: Todos estos datos únicamente son indicativos. La vida de un disco duro depende de muchos otros factores como por ejemplo de las veces que se apaga y se enciende el disco duro, las condiciones de humedad y temperatura, la carga de trabajo que ha tenido que soportar el disco mientras ha estado conectado, etc. Nota: Si queremos obtener de forma rápida las horas de funcionamiento de nuestro disco duro podemos teclear sudo smartctl -a /dev/sda | grep Power_On_Hours en la terminal. Número de veces que se ha encendido el disco duro Otro factor a tener en cuenta para evaluar el estado de nuestro disco duro es el número de veces que se ha encendido y se ha apagado. Normalmente los discos duros están diseñados para aguantar un determinado número de ciclos de encendido y apagado. Para saber el número de veces que mi disco duro se ha encendido tenemos que mirar el parámetro:\nPower_Cycle_Count\nTal y como se puede ver en la captura de pantalla, si miramos este parámetro vemos que su RAW_VALUE es 3281. Por lo tanto nuestro disco duro se ha encendido 3281 veces. Para ver si esto es mucho o es poco nos podemos guiar por del parámetro VALUE. El valor VALUE de este parámetro es 97. Como el valor 97 se puede considerar que está comprendido entre 100 y 253 podemos concluir que en principio mi disco duro no presenta problema alguno.\nNota: Los valores VALUE que acabamos de citar están comprendidos entre el 1 y 253. Estos valores indican el “estado de salud” de cada uno de los parámetros que analizamos. Si el valor de VALUE del parámetro a analizar está comprendido en 100 y 253 podemos considerar que no hay problema alguno en el parámetro que estamos analizando. Nota: Si vamos a dejar nuestro ordenador sin trabajar durante un periodo reducido de tiempo, por ejemplo 3 o 4 horas, es mejor no apagar el ordenador para alargar la vida de nuestro disco duro. En casos así se aconseja suspender, hibernar o simplemente apagar la pantalla. Temperaturas del disco duro Obviamente si nuestro disco duro trabaja en valores extremos de temperatura su vida se reducirá drásticamente. Para ver si los rangos de temperatura de trabajo han sido los adecuados tenemos que buscar el siguiente parámetro en el fichero que hemos volcado los resultados:\nLifetime Min/Max Temperature\nTal y como se puede ver en la captura de pantalla la temperatura mínima de trabajo ha sido 3 ºC mientras que la máxima ha sido 42ºC. Además el parámetro Under/Over Temperature Limit Count indica que nunca se han sobrepasado los valores inferiores y superiores de temperatura recomendados. Por lo tanto no hay indicio de ningún problema.\nNota: Si consultáis las especificaciones de vuestro disco duro también podréis encontrar información acerca del rango de temperatura al que se aconseja que trabaje el disco duro. Impactos sufridos por el disco Cada vez que nuestro disco duro registre un impacto o aceleración/desaceleración superior a los valores que tiene preestablecidos el fabricante se generará un error. Para ver las veces que hemos superado el valor límite establecido tenemos que consultar el parámetro:\nG-Sense_Error_Rate\nEste parámetro no figura en la captura de pantalla en que muestro los resultados ya que la captura de pantalla es de mi ordenador de sobremesa. En mi laptop he consultado el valor y veo que tiene un RAW_VALUE de 332.\nPor lo tanto mi laptop ha sufrido incrementos de aceleración/desaceleración superiores a los establecidos por el fabricante 332 veces. En principio esto no es un problema ya que el estado del disco es correcto en todos los otros apartados, y además el parámetro VALUE que determina si este parámetro es correcto tiene un valor superior a 100.\nErrores de Lectura que ha sufrido el disco Si nuestro disco duro presenta muchos errores de lectura puede ser una señal que el disco no esté funcionando adecuadamente. Si queremos controlar los errores de lectura que ha tenido nuestro disco tan solo tenemos que buscar el parámetro:\nRaw_Read_Error_Rate\nEn mi caso tal y como se puede ver en la captura de pantalla el valor es cero y el valor VALUE es igual a 100. Por lo tanto no me tengo que preocupar en absoluto de este aspecto.\nSectores defectuosos en el disco duro Este factor es crítico para evaluar la saludo de nuestro disco duro. Este parámetro nos indica la cantidad de sectores del disco duro que están marcados como defectuosos. Si tenemos un número significativo de sectores defectuosos es un indicativo que nuestro disco duro está en sus últimas horas de vida. Para ver los sectores defectuosos de nuestro disco duro tenemos que abrir el archivo donde volcamos les resultados del test y buscar el siguiente parámetro:\nReallocated_Sector_Ct\nUna vez encontrado el parámetro vemos que tiene un RAW_VALUE de 0. Esto significa que en nuestro ordenador nunca se ha detectado un sector defectuoso. Además el parámetro que indica el nivel de salud (VALUE) de este parámetro tiene una valor de 253. En el caso de tener sectores defectuosos en vuestro disco hay que pensar muy seriamente en reemplazarlo ya que la probabilidad de fallo es elevada.\nNota: Al detectarse un sector defectuoso lo que se hace es pasar la información de este sector defectuoso a un espacio reservado del disco duro para no perder la información. De esta forma, aunque un sector esté dañado, nuestro sistema operativo sigue siendo plenamente operativo ya que cuando se requiera acceder a la información del sector dañado, la petición de la información se redirigirá al espacio reservado. Todo este proceso que acabo de describir provocara un empeoramiento de la velocidad de lectura y escritura de nuestro ordenador. Sectores defectuosos imposibles de corregir en el disco duro Para saber el número de sectores defectuosos imposibles de recuperar de nuestro disco, tenemos que buscar el siguiente parámetro en el fichero donde tenemos almacenados los resultados:\nOffline_Uncorrectable\nEn mi caso el RAW_VALUE es de cero. Por lo tanto en mi disco duro no existe ningún Sector que sea imposible de reparar. En el caso de existir varios errores nos tenemos que preocupar y mucho ya que este parámetro es crítico. En el caso que el valor no sea cero o sea elevado es probable que la superficie mecánica del disco duro o alguna parte mecánica esté dañada.\nVelocidad de escritura del disco duro Smartctl no proporciona datos respecto la velocidad de lectura y escritura de nuestro disco duro. Pero por nuestra cuenta podemos ver y analizar la velocidad de lectura y escritura de nuestro disco duro. Una vez conozcamos los valores los podemos comparar con las especificaciones de nuestro disco duro o con otras mediciones realizadas en el pasado.\nSi los valores obtenidos son similares a los proporcionados en las especificaciones de nuestro disco duro o las mediciones realizadas en el pasado, será un signo inequívoco de que en principio el disco está funcionando adecuadamente.\nPara quien precise analizar la velocidad de lectura y escritura de su disco duro puede seguir las instrucciones que se muestran en el siguiente enlace.\nIntentos fallidos de arranque del disco duro Este es otro de los parámetros críticos que tenemos que tener muy en cuenta. Este parámetro controla los intentos fallidos de los platos del disco duro para obtener la velocidad de funcionamiento del disco duro. En el caso de tener problemas en este parámetro es un síntoma claro que nuestro disco duro puede presentar una avería de tipo mecánico, y debemos proceder a intentar salvar los datos almacenados en nuestro disco duro inmediatamente. Para controlar este parámetro, en nuestro archivo de resultados tenemos que encontrar la siguiente frase:\nSpin_Retry_Count\nEn mi caso, tal y como se puede ver en la captura de pantalla, el RAW_VALUE tiene un valor de 0. Por lo tanto nunca se ha producido un error. Además el parámetro que indica el nivel de salud VALUE respecto a este parámetro tiene un valor de 253.\nEvaluación del tiempo de respuesta Este parámetro es otro de los parámetros críticos. Este parámetro lo que hace es contabilizar el número de operaciones que el disco duro no ha realizado porqué se ha agotado el tiempo máximo de espera para realizar la operación.\nPara analizar este parámetro tenemos que consultar nuestro fichero de resultados para buscar la palabra:\nCommand_timeout\nUna vez encontrada en mi caso veo que tengo 924 errores. La verdad es que es un número elevado. A pesar de todo el valor VALUE es de 91 y el disco duro nunca me ha generado problemas. Por lo tanto no es cuestión de preocuparse por este valor. El Número elevado de errores en principio podría ser ocasionado o relacionado con problemas de la fuente de alimentación o del cable de datos del disco duro.\nNota: Para obtener información adicional de los parámetros e información que les puede dar smartctl pueden consultar este enlace u estre otro enlace. OTRAS FUNCIONALIDADES DE SMARTMONTOOLS Anteriormente hemos comentado que la herramienta smartctl esta contenida dentro del paquete smartmoontools. Dentro del paquete smartmontools hay otra herramienta llamada smartd.\nSmartd es un demonio que sirve para monitorizar continuamente el estado de nuestro disco duro. Si activan el demonio y lo configuran adecuadamente podemos conseguir los siguientes beneficios:\nAviso vía email en caso de producirse un error. Planificar de forma periódica y automática los test que hay que realizar a los dispositivos de almacenamiento. Poner límites de temperatura. Cuando se supera el límite de temperatura establecido se enviará una advertencia vía email al administrador del sistema. Obviamente smartd tiene funcionalidades adicionales a las descritas en este mail pero en este post no escribiremos sobre smartd. Smartd no es una herramienta útil para usuarios domésticos. En futuros artículos es posible que escriba sobre esta herramienta.\nNota: La totalidad de operaciones de este post solo sirven para diagnosticar el estado del disco duro. En ningún caso se repararán los errores detectados. Para reparar los errores detectados existen otras herramientas que se abordaran en futuros artículos.","permalink":"https://geeklandlinux.github.io/posts/conocer-el-estado-de-nuestro-disco-duro/","summary":"\u003cp\u003eLa verdad es que nunca he tenido problemas con el disco duro de mi ordenador. Pero en dos ocasiones que recuerde mi ordenador empezó a colgarse y a tener comportamientos extraños y realmente llegue a pensar que mi disco duro podía ser el responsable porqué ya tiene sus años y sus horas de vida. Al final en las dos ocasiones el problema resulto ser con la memoria RAM.\u003c/p\u003e","title":"Conocer el estado de nuestro disco duro"},{"content":"Esta semana me decidí a cambiar de compañía telefónica y utilizar un operadora OMV. El proceso empezó de forma habitual, contacte con la nueva compañía y empecé el proceso de portabilidad.\nCuando mi compañía actual recibió la solicitud de portabilidad me llamaron para realizar una contraoferta. Escuche la contraoferta y realmente era irrechazable y difícil de creer ya que ningúno de los operadores OMV actuales puede igualar las condiciones que me ofrecieron.\nVista la situación decidí volver decidí volver a llamar a mi actual compañía telefónica para confirmar las condiciones y obviamente grabe la conversación por si en un futuro esta compañía no me aplica las condiciones que me prometió.\nA raíz de esta experiencia reflexione y vi lo útil que pude llegar a ser grabar las llamadas. En el siguiente artículo podrán ver el porque considero que es útil grabar las llamadas, saber si la grabación de una llamada es legal y tiene una validez jurídica, y conocer el procedimiento que seguí para obtener la grabación.\nUTILIDADES DE GRABAR LLAMADAS TELEFÓNICAS Las utilidades que puede tener grabar llamadas y conversaciones son muchas. Algunas de las utilidades que se me ocurren ahora mismo son las siguientes:\nPara tener una posible defensa en el caso que se tenga que llegar a acuerdos vía telefónica con terceros como por ejemplo una compañía de teléfonos. Creo que no será la primera ni la última vez que después de llegar a un acuerdo con una persona u compañía resulta que al cabo de unos meses una parte ha entendió una cosa y la otra parte entendió otra completamente opuesta. Para protegernos de llamadas agresivas que se pueden realizar en el entorno laboral por parte de nuestros propios compañeros y superiores. El simple hecho de grabar una llamada puede ayudar a denunciar un caso de mobbing u otras situaciones anómalas que se pueden dar en el entorno laboral. Para denunciar situaciones de bullying y abuso en el entorno escolar y de esta forma proteger a los menores que son víctimas del acoso. Es posible que en ciertas ocasiones se nos transmita instrucciones o trabajos a realizar vía telefónica. Si guardamos el audio de las instrucciones, las podremos escuchar las veces que haga falta y tendremos más seguridad para realizar exactamente la tarea que nos han pedido. Para denunciar posibles amenazas que podamos recibir de terceros como por ejemplo conocidos, exparejas, etc. Para grabar llamadas de un ser querido que echamos de menos porqué y vive lejos de nosotros. ¿ES LEGAL GRABAR LLAMADAS TELEFÓNICAS? Esta cuestión obviamente variará en función del país residencia de cada persona. Después de realizar varias consultas y de buscar información concluimos que la situación actual en España es la siguiente:\nEl hecho de grabar una conversación telefónica en la que nosotros mismos participamos es completamente legal y para evitar problemas se aconseja informar al interlocutor que está siendo grabado. El hecho de informar que la conversación es grabada implica que el interlocutor acepta la situación y por lo tanto en ningún caso nadie podrá considerar que se esta invadiendo la intimidad o vulnerando los derechos y libertades fundamentales de la persona mencionados en el capítulo segundo de la constitución española. El hecho de grabar una conversación telefónica en la que participamos sin dar previo aviso al otro interlocutor también es completamente legal siempre y cuando la grabación sea privada y tenga como finalidad guardar la conversación para un uso privado o un futuro procedimiento judicial, administrativo o laboral con el fin de defender nuestros intereses. Bajo estas premisas existe jurisprudencia por parte del tribunal constitucional que con la grabación no se vulneran los derechos y libertades fundamentales de los ciudadanos incluidos en el capítulo segundo de la constitución española. Las grabaciones realizadas, tanto en el supuesto 1 como en el supuesto 2, tienen validez judicial y serán aceptadas como pruebas válidas por un juez. Por lo tanto la grabación telefónica que realice con mi operador telefónico me podría servir perfectamente como defensa en el caso que mi compañía decidiera vulnerar el trato que adquirimos vía telefónica. Es ilícito difundir o divulgar las grabaciones realizadas en una web o en cualquier otro medio a no ser que la grabación se trate de un hecho noticiable o público. Por lo tanto seria ilegal que pusiera a disposición de todos los lectores del blog la negociación o conversación que tuve con mi compañía telefónica. En caso de hacerlo estaría incurriendo un delito que puede llegar a ser penado con prisión. Nota: Todos los puntos mencionados en este apartado hacen referencia a grabar una llamada privada en la que nosotros mismos estamos participando. El caso de grabar una conversación entre terceras personas es una situación completamente distinta y las conclusiones de este apartado no son válidas. El caso de grabar una conversación entre terceras personas sin previo aviso supone una vulneración las libertades y derechos fundamentales de las personas grabadas y por lo tanto estamos incurriendo en un delito que puede suponer penas de prisión de uno a cuatro años. GRABAR LLAMADAS CON LA APP GRABADORA DE LLAMADAS EN ANDROID Una vez vistos los posibles usos de grabar una llamada y después de comprobar que es completamente legal el hecho de realizar grabaciones, al menos en España, tan solo nos falta ver como realizar la grabación de una llamada telefónica.\nPara realizar la grabación de una llamada telefónica usaremos la app Grabadora de llamadas. Existen otras aplicaciones para poder grabar llamadas telefónicas, pero las veces que he usado la aplicación grabadora de llamadas en un Nexus 5 nunca me fallado obteniendo unos resultados satisfactorios y una calidad óptima de audio. Además es gratuita y en el Google Play verán que es la aplicación que más gente se descarga y las valoraciones y comentarios son realmente buenos.\nInstalar la aplicación Para instalar la aplicación tan solo tiene ir a la tienda google play e instalar la aplicación grabadora de llamadas. Si clican en el siguiente enlace accederán directamente a la página de descarga de aplicación grabadora de llamadas.\nPara que no tengan ningún tipo de duda del programa que se trata les dejo esta captura de pantalla en la que pueden ver información relativa al programa.\nConfiguración de la aplicación para grabar llamadas Una vez instalada la aplicación tendremos que acceder a los ajustes de la misma para configurarlos adecuadamente. Para ello abren la aplicación.\nUna vez abierta la aplicación, tal y como se puede ver en la captura de pantalla, clicamos encima del botón de Opciones. Seguidamente aparecerá un menú desplegable en el tendremos que seleccionar la opción Configuración.\nUna vez seleccionada la opción Configuración aparecerá la pantalla donde realmente configuraremos el funcionamiento de la aplicación:\nEn esta pantalla tenemos que asegurarnos que las siguientes opciones de configuración están configuradas del siguiente modo:\nGrabar llamadas: Tal y como se puede ver en la captura de pantalla esta opción tiene que estar activada. Al activarla cada vez que nos llamen o llamemos la grabación de la llamada se hará automáticamente.\nNube: Este apartado es para integrar la aplicación con Dropbox o con Google Drive. Una vez integrada la aplicación con Dropbox podremos subir fácilmente las conversaciones que hemos grabado a Dropbox. Para integrar la aplicación primero tienen que apretar sobre la opción Nube. Una vez seleccionada la opción Nube aparecerá una ventana en la que tenemos que seleccionar si queremos sincronizar la aplicación con Dropbox o con Google Drive. En mi caso selecciono Dropbox. Una vez seleccionada la opción Dropbox les aparecerá la siguiente pantalla:\nEn esta pantalla tan solo hay que apretar encima de la opción Iniciar Sesión. Una vez seleccionada esta opción tan solo hay ir siguiendo siguiendo los pasos para autorizar/Permitir la aplicación Dropbox.\nOrigen del audio: En este apartado tenemos que seleccionar el origen del audio. La opción que tenemos que marcar es Mic. En el caso que las grabaciones no se realicen de forma adecuada con la opción Mic pueden probar otras opciones.\nTipo de archivo: En este campo tenemos que seleccionar el formato del archivo de audio en que se grabará la conversación. Hay varios formatos de audio disponibles pero se recomienda seleccionar la opción wav ya que es un formato de audio bastante universal y que la mayoría de reproductores de audio podrán leer.\nModo por defecto: La aplicación permite configurar las llamadas de los contactos que queremos que se graben. Tenemos 3 opciones de configuración disponibles.\nGrabar Todo: Si seleccionamos esta opción se graban la totalidad de las llamadas excepto los contactos preseleccionados para ignorar. Ignorar Todo: Seleccionando esta opción no se graba ninguna llamada excepto los contactos preseleccionados para grabar. Ignorar Contactos: Seleccionando esta opción se graban todas las llamadas de las personas que no están en la lista de contactos, excepto aquellos contactos que hayan sido seleccionados para grabar. En mi caso tengo seleccionada la opción Grabar Todo. Así aseguro que se graban el 100% de las llamadas realizadas o recibidas.\nUsar la Aplicación para grabar llamadas Una vez configurada la aplicación las llamadas realizadas y recibidas se grabarán automáticamente sin tener que hacer absolutamente nada. Una vez finalizada la llamada en el panel de notificaciones se nos comunicará que se ha realizado una grabación.\nAhora tan solo tenemos que abrir la aplicación y veremos que en la bandeja de entrada de la aplicación hay la llamada que acabamos de grabar.\nNota: La bandeja de entrada está configurada para almacenar las últimas 40 conversaciones en la memoria interna del teléfono. Al almacenar la grabación número 41 se borrará la grabación más antigua y se almacena la nueva grabación. Este parámetro se puede modificar en la configuración de la aplicación. Al clicar encima de la llamada que acabamos de almacenar les aparecerá esta pantalla:\nEn esta pantalla tendrán un amplio abanico de opciones que les permitirá realizar las siguientes opciones:\nReproducir: sirve para reproducir y por lo tanto escuchar el audio que acabamos de grabar. Borrar: sirve para borrar permanentemente la conversación que acabamos de mantener. Compartir: permitirá enviar/compartir la conversación que acabamos de mantener vía whattsapp, vía correo electrónico, subir la conversación a dropbox, etc. Guardar: es interesante y recomiendo usarla en el caso que la conversación que hemos grabado sea importante. Al seleccionar la opción guardar la grabación se guardará de forma permanente y no se borrará cuando se haya alcanzado la cifra de 40 grabaciones mencionada anteriormente. En el momento de guardar la grabación también se nos preguntará si queremos almacenar la grabación en nuestra cuenta de Dropbox o Google drive. Tan solo tienen que indicar que si y en el caso de usar Dropbox la grabación se almacenará en la ubicación Aplicaciones/Auto Call Recorder/ . De esta forma siempre tendremos a salvo las grabaciones que sean importantes. Para poder consultar las llamadas que hemos guardado, y que por lo tanto se almacenarán permanentemente en nuestro teléfono, tal y como se puede ver en la captura de pantalla, tan solo tienen que acceder a la pestaña de Guardado:\nNota: Las grabaciones que guardamos dentro de nuestro teléfono se guardan en la ruta /sdcard/CallRecordings. Si queremos seleccionar otra ubicación lo podemos hacer tranquilamente en las opciones de configuración de la aplicación. Nota: Esta aplicación lógicamente dispone de otras opciones adicionales pero con las opciones mencionadas hay más que suficiente para el uso que una persona normal le dará a la aplicación. Nota: Algunas ROM de teléfono bastante conocidas, como por ejemplo MIUI , traen la funcionalidad de grabar llamadas incorporada en la misma ROM. OPCIONES ALTERNATIVAS A LA APP GRABADORA DE LLAMADAS Si la aplicación que recomiendo no les convence, no les funciona, o simplemente no son usuarios de Android tienen multitud de opciones adicionales para probar. Algunas de las opciones alternativas existentes son las siguientes:\n1- Record Call: Disponible para Android. 2- All Call Recorded: Disponible para Android. 3-Call recorder: Disponible para iOS. 4- Call recorder Free: Disponible para iOS. 5- Burovoz: Solo ofrece servicio en España. Disponible para iOS y Android.\n","permalink":"https://geeklandlinux.github.io/posts/legalidad-y-como-grabar-llamadas/","summary":"\u003cp\u003eEsta semana me decidí a cambiar de compañía telefónica y utilizar un \u003ca href=\"https://es.wikipedia.org/wiki/Operador_m%C3%B3vil_virtual\" title=\"explicación de lo que es un operador móvil virtual\"\u003eoperadora OMV\u003c/a\u003e. El proceso empezó de forma habitual, contacte con la nueva compañía y empecé el proceso de portabilidad.\u003c/p\u003e\n\u003cp\u003eCuando mi compañía actual recibió la solicitud de portabilidad me llamaron para realizar una contraoferta. Escuche la contraoferta y realmente era irrechazable y difícil de creer ya que ningúno de los operadores OMV actuales puede igualar las condiciones que me ofrecieron.\u003c/p\u003e","title":"Legalidad de grabar de llamadas y como grabar llamadas telefonicas"},{"content":"Hace semanas escribí un par de artículos relacionados con el reconocimiento de texto OCR y de como poder extraer texto de una imagen:\nEn el primero artículo explique de forma detallada que es el OCR, los usos que se le da actualmente, las ventajas que nos puede proporcionar y sus limitaciones. En el segundo artículo detalle como instalar y como usar un software de reconocimiento OCR llamado OCRfeeder en GNU-Linux. Ahora en este artículo detallaremos como instalar y usar un segundo software de reconocimiento OCR para poder extraer texto de una imagen en GNU-Linux. El software en cuestión se llama gscan2pdf y según mi punto de vista a día de hoy es el mejor cliente de escritorio para reconocimiento OCR que existe en GNU-Linux.\nINSTALACIÓN DE GSCAN2PDF Lo primero que tenemos que hacer es instalar gscan2pdf y los motores de búsqueda OCR como por ejemplo tesseract, gocr, ocropus, ocrad o cuneiform. Para ello abrimos una terminal y tecleamos el siguiente comando:\nsudo apt-get install gscan2pdf tesseract-ocr tesseract-ocr-spa tesseract-ocr-eng gocr cuneiform Nota: El paquete gscan2pdf corresponde al software de reconocimiento OCR. Los paquetes tesseract-ocr, gocr y cuneiform corresponden a los distintos motores de reconocimiento OCR. Los paquetes tesseract-ocr-spa y tesseract-ocr-eng corresponden a los motores de búsqueda español e inglés de tesseract. Nota: Para la instalación los usuarios de fedora tienen que reemplazar sudo apt-get install por sudo yum install En tesseract no solo están disponibles los motores de búsqueda en inglés y en Español. En tesseract tenemos una gran cantidad de idiomas disponibles. Para que otros idiomas estén disponibles tan solo tendremos que instalar los paquetes pertinentes. Para saber los paquetes que equivalen a cada idioma tan solo tienen que abrir la terminal y teclear el siguiente comando en la terminal:\napt-cache search tesseract-ocr Nota: Los usuarios que usen distros con el gestor de paquetes yum deberán sustituir este comando por yum search tesseract-ocr. Nota: Lo normal es que encuentren el software gscan2pdf en los repositorios de la distribución que usan. En caso contrario lo pueden descargar del siguiente enlace. En esta ubicación encontrarán tanto los archivos binarios como el código fuente para poder compilar este software. EJECUTAR EL PROGRAMA Para ejecutar el programa tan solo tenemos que abrir la terminal y teclear el siguiente comando:\ngscan2pdf Presionamos la tecla Enter y gscan2pdf se ejecutará. Si no lo quieren arrancar vía terminal siempre pueden hacerlo a través del menú de su entorno de escritorio o desde cualquier lanzador de aplicaciones.\nIMPORTAR LAS IMÁGENES O ARCHIVOS A GSCAN2PDF Después de finalizar con la instalación, ejecutar el programa y procesar la imagen ya podemos empezar con la acción. Para ello tal y como se puede ver en la captura de pantalla presionamos el icono de Abrir archivos de imagen:\nDespués de presionar el icono de abrir archivos de imagen aparecerá una ventana en la que tendremos que seleccionar el archivo de imagen en el que queremos reconocer y extraer texto. En mi caso he seleccionado un archivo pdf que tiene el nombre de apagar.pdf. Una vez seleccionado presionan el botón de Aceptar.\nComo el archivo que queremos abrir contiene más de una página al presionar el botón abrir les aparecerá la siguiente ventana:\nTal y como se puede ver en la captura de pantalla mi archivo pdf tiene cuatro páginas y selecciono abrir las 4. Una vez seleccionadas las 4 presiono la tecla Aceptar. Una vez presionado el botón de aceptar tan solo hay que esperar que se abra el documento pdf que hemos seleccionado.\nNota: Si por ejemplo solo quisiera abrir la segunda página del pdf en primera página a extraer pondría 2 y en última página a extraer pondría 2. Nota: En el caso que sea necesario, el software Gscan2psf permite escanear imágenes con nuestro propio escáner y hacer el postprocesado y reconocimiento de texto de forma automática. Para ello tan solo tendríamos que presionar encima del icono de escanear e ir rellenando las opciones de configuración que nos aparecen. PROCESADO DE LA IMAGEN ANTES DEL RECONOCIMIENTO El procesado de la imagen tiene como fin retocar la imagen para obtener mejor resultado en el reconocimiento óptico de caracteres. Las veces que he usado Gscan2pdf sin hacer el postprocesado de la imagen he obtenido unos resultados excelentes, por lo tanto si no se realiza este paso en principio deberíamos seguir obteniendo unos resultados adecuados.\nSi alguien considera necesaria su realización tan solo tienen que acceder al menú Herramientas. Una vez dentro del menú Herramientas seleccionan la opción Limpiar. Una vez seleccionado la opción Limpiar se ejecutará unpaper y aparecerá la siguiente pantalla:\nEn la pantalla encontraran distintas opciones y filtros para retocar la imagen en la que queremos realizar el reconocimiento óptico caracteres. Recomiendo no complicarse la vida y usar los valores predeterminados de la aplicación. Una vez seleccionados los valores presionamos el botón de Aceptar.\nNota: Si los resultados del reconocimiento de texto no son buenos podemos intentar modificar los valores estándar de unpaper para ver si podemos conseguir mejores resultados. INICIAR EL RECONOCIMIENTO DE TEXTO OCR Una vez abierto el archivo ya podemos iniciar el reconocimiento del texto. Para ello, tal y como se puede ver en la captura de pantalla, tienen que acceder al menú Herramientas y seguidamente seleccionar la opción OCR.\nUna vez seleccionada la opción OCR aparecerá la siguiente ventana:\nEn este ventana tienen que configurar los siguientes parámetros:\nMotor de reconocimiento OCR: Tal y como se puede ver en la captura de pantalla seleccionamos el motor de reconocimiento Tesseract. Pueden usar otros motores pero con diferencia Tesseract es el motor de reconocimiento que les dará mejores resultados. Lenguaje a reconocer: En este apartado tenemos que seleccionar el idioma en que se halla el texto que queremos reconocer. En mi caso el idioma a reconocer es Español, por lo tanto selecciono Spanish. Rango de la página: En este campo selecciono la opción Todos. Al seleccionar la opción Todos se reconocerá el texto de la totalidad de páginas que mi archivo de imagen en formato pdf. Si hubiera elegido la opción Seleccionado solamente se habría reconocido el texto de la páginas del pdf que hubiera seleccionado previamente. Una vez configurados los parámetros presionamos Iniciar OCR. Una vez iniciado el reconocimiento tendrán que esperar unos segundos o minutos en función del número de páginas y de la cantidad de texto a reconocer.\nNota: Tesseract es un motor OCR libre. Originariamente fue creado por Hewlett Packard en el año 1985, y en el año 2005 se libero su código para la comunidad. Actualmente Tesseract es desarrollado por google y es distribuido bajo licencia apache 2.0. EXPORTAR LOS RESULTADOS A UN PDF Una vez finalizado el reconocimiento, tal y como se observa en la captura de pantalla, podemos clicar en la pestaña Resultados del OCR para ver los resultados que hemos obtenido en el reconocimiento óptico de caracteres OCR.\nUna vez realizado el reconocimiento de texto si observamos algún error lo podemos modificar fácilmente. Tan solo tienen que dar doble click encima de la palabra que quieran modificar y se abrirá un editor de texto para proceder a la modificación.\nSeguidamente tal y como se puede ver en la captura de pantalla anterior clicamos encima del icono de Guardar. Tal y como se puede ver en la captura de imagen seleccionamos el formato de archivo al que queremos exportar que en mi caso es pdf:\nNota: Observen que la cantidad de formatos en los que podemos exportar los resultados es importante. (DjVu, tiff, jpeg, etc) Una vez seleccionada la opción pdf presionamos el botón Guardar y elegimos el nombre del archivo en que queremos que se guarde que en mi caso es prueba pdf.\nUna vez realizados todos los pasos podemos ir a la ubicación donde hemos guardado el archivo pdf y abrirlo. Los resultados obtenidos son los siguientes:\nComo se puede ver en la imagen he abierto el pdf que acabamos de generar y realizado una búsqueda de texto por la palabra Ubuntu. Se puede observar que el reconocimiento de la palabra es bueno y además la capa de texto y la capa de imagen del pdf están completamente sincronizadas. Por lo tanto en este caso Gscan2pdf soluciona uno de los problemas que tenia OCRfeeder y significa que gscan2pdf es una herramienta ideal para hacer el reconocimiento ocr de documentos extensos, guardarlos en formato pdf y hacer búsquedas a posteriori por palabras clave para poder acceder al contenido que nos interesa de forma inmediata.\nEXTRAER TEXTO A UN ARCHIVO CON FORMATO EDITABLE Ahora lo que haremos es extraer el texto reconocido en un archivo de texto para poder editarlo y hacer lo que queramos con él. Para ello seguimos los siguientes pasos:\nApretamos de nuevo al icono Guardar que aparece en la barra de herramientas de Gscan2pdf. Seguidamente seleccionamos el formato de archivo al que queremos exportar los resultados que en mi caso es Texto. El siguiente paso es elegir la ubicación donde queremos guardar el archivo de texto y ponerle un nombre. En mi caso guardaré el archivo en el escritorio con el nombre prueba texto. Para finalizar ya solo tenemos que presionar el botón Guardar. Seguidamente vamos a la ubicación donde se ha guardado el archivo de texto y lo abrimos. Pero resulta que la última versión de Gscan2pdf (la 1.2.5) está “mal diseñada” porqué le hemos indicado que queríamos la salida en formato texto y el formato real en el caso de los motores tesseract, OCRopus y cuneiform es hocr. Como consecuencia al abrir el archivo que tenemos en el escritorio solo veremos código y no veremos ningún fragmento del texto que estamos buscando.\nNota: Según ha indicado el desarrollador de la aplicación este problema será solucionado en futuras versiones incluyendo 2 nuevas opciones en el menú de guardar. Una de las opciones será para guardar en formato texto y la otra para guardar en formato hocr. Nota: Si el reconocimiento se ha realizado con Gocr no hay problema alguno y podrán abrir el archivo de texto sin ningún tipo de problema. En el caso que el reconocimiento lo hayan realizado con los motores Tessract, OCRopus o Cuneiform hay una solución simple. Para solucionar el pequeño inconveniente que acabamos de citar tienen que ir a la ubicación donde guardaron el archivo de texto. Una vez estén en la ubicación, tal y como se puede ver en la captura de pantalla, cambian la extensión del archivo de .txt a .html.\nUna vez cambiada la extensión hacen doble clic encima del archivo y verán que su navegador web predeterminado se abre con los resultados del reconocimiento óptico de caracteres:\nComo podemos observar en la imagen los resultados son buenos. Ahora podemos copiar el texto y pegarlo en cualquier editor de texto como Writer o Microsoft Word para hacer lo que necesitemos con el.\nEn el caso que reconocimiento óptico de caracteres se haya realizado con el motor cuneiform podemos abrir el fichero .html directamente con Libreoffice (writer) y obtendremos el siguiente resultado:\nObviamente Gscan2pdf ofrece más funcionalidades que las que describo en el post, pero con lo detallado hasta el momento tenemos mas que suficiente para ir descubriendolas nosotros mismos poco a poco mientras usamos este software. Para finalizar el post les dejo con unas notas de piano del creador de gs2can2pdf. Espero que las disfruten.\nhttp://www.youtube.com/watch?v=WmYeFM6u6Y8\n","permalink":"https://geeklandlinux.github.io/posts/extraer-texto-de-imagenes-con-gscan2pdf/","summary":"\u003cp\u003eHace semanas escribí un par de artículos relacionados con el reconocimiento de texto OCR y de como poder extraer texto de una imagen:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003ca href=\"/posts/fundamentos-usos-limitaciones-ocr/\"\u003eEn el primero artículo\u003c/a\u003e explique de forma detallada que es el OCR, los usos que se le da actualmente, las ventajas que nos puede proporcionar y sus limitaciones.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"/posts/extraer-texto-imagen-con-ocrfeeder/\"\u003eEn el segundo artículo\u003c/a\u003e detalle como instalar y como usar un software de reconocimiento OCR llamado OCRfeeder en GNU-Linux.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eAhora \u003cstrong\u003een este artículo detallaremos como instalar y usar\u003c/strong\u003e un segundo software de reconocimiento OCR para poder extraer texto de una imagen en GNU-Linux. El software en cuestión se llama \u003ca href=\"http://gscan2pdf.sourceforge.net/\" title=\"Información adicional del Software Gscan2pdf\"\u003egscan2pdf\u003c/a\u003e y según mi punto de vista a día de hoy es el mejor cliente de escritorio para reconocimiento OCR que existe en GNU-Linux.\u003c/p\u003e","title":"Extraer texto de imagenes con Gscan2pdf"},{"content":"Recientemente acabo de instalar Fedora. En la instalación no me percate que en ninguno de los pasos me estuviera pidiendo el nombre del equipo y cuando finalice la instalación vi que el nombre del equipo de Fedora era localhost. A raíz de esto me surgió la idea de escribir un post explicando lo que es el nombre del equipo o hostname, para que sirve y como podemos cambiarlo si el que tenemos no nos gusta o no es el adecuado para nosotros. El método usado para cambiar el hostname o nombre de equipo es válido tanto para distribuciones basadas en en Debian como en Fedora.\n¿QUÉ ES EL NOMBRE DEL EQUIPO O HOSTNAME? El hostname o nombre del equipo es un nombre único e informal que nosotros mismos ponemos a un equipo que puede ser un ordenador, una impresora, un servidor ftp, un servidor de mail, etc. Este nombre informal ayudará a identificar el equipo dentro de una red informática.\nEl nombre de equipo o hostname solo identificará máquinas o será visible dentro de nuestra red local. En el caso que queramos identificar o acceder a nuestra máquina fuera de nuestra red local deberemos hacerlo configurando un dominio completamente cualificado.\n¿CÚAL ES NUESTRO NOMBRE DEL EQUIPO O HOSTNAME? En el caso de tener duda solo decir que hay bastantes formas de identificar nuestro hostname. La primera de ellas es abrir una terminal. Una vez abierta la terminal tan solo tienen que teclear el siguiente comando:\nhostname La salida de este comando en mi caso es localhost. Por lo tanto el nombre de equipo actual que tiene mi equipo es localhost.\nOtra forma de saber nuestro nombre de equipo o hostname es abriendo una simple terminal. Una vez abierta verán una imagen parecida a la siguiente:\nTal y como se puede ver en la captura de pantalla verán una linea con la siguiente estructura:\nnombre de usuario**@**Nombre de equipo o hostname\nPor lo tanto en mi caso concluimos que mi nombre de usuario es joan y el nombre de mi equipo es localhost.\nCOMO CAMBIAR EL NOMBRE DEL EQUIPO O HOSTNAME La forma correcta de cambiar el nombre del equipo es modificando el archivo /etc/hostname. En muchos sitios se detalla que también es necesario actuar sobre el archivo /etc/hosts, pero la verdad es que este archivo tiene otro propósito que es definir el nombre de dominio completamente cualificado (FQDN).\nAsí por lo tanto ahora vamos a modificar el nombre de equipo de mi ordenador de localhost a fedora. Para ello abrimos una terminal y tecleamos el siguiente comando:\nsudo nano /etc/hostname Una vez se abra el editor de texto verán que el único texto que figura en este archivo es el nombre actual de vuestro equipo que en mi caso es localhost. Ahora reemplazamos el nombre del equipo actual por el que queremos que es fedora:\nUna vez elegido el nombre guardamos los cambios realizados en el archivo y ya lo podemos cerrar. Los cambios han sido realizados. Para asegurar que los cambios sean efectivos se aconseja reiniciar el ordenador.\nNota: El nombre de la máquina tiene que estar comprendido entre 2 y 63 caracteres. Nota: Aunque hayamos cambiado el nombre de localhost a fedora, siempre podemos seguir usando localhost para referirnos a nuestro propio equipo. En el caso poco probable que tuvierais configurado un nombre de dominio completamente cualificado (FQDN), como hemos cambiado el nombre del equipo o hostname, también deberemos modificar el nombre de dominio completamente cualificado. Lo tendremos que cambiar ya que el nombre de dominio completamente cualificado esta compuesto por el nombre del equipo más un nombre de dominio asociado a nuestro equipo más un dominio de nivel superior.\nEntonces para llevar a cabo la modificación abren una terminal y teclean el siguiente comando:\nsudo nano /etc/hosts Se abrirá el editor de texto nano en el que podremos ver el contenido del fichero hosts. Dentro del verán una linea que tiene la siguiente estructura:\nip interna del equipo nombredelequipo.nombrededominio.dominionivelsuperior nombredelequipo Una vez localizada está linea tienen que cambiar el nombre del equipo viejo por el nuevo. En mi caso después de realizar las modificaciones, el archivo hosts ha quedado de la siguiente forma:\n¿PARA QUE SIRVE EL HOSTNAME? Como acabamos de citar, el nombre de equipo o hostname ayudará a identificar un equipo dentro de una red informática.\nActualmente multitud de utilidades que se usan para trabajar en una red informática pueden ser configuradas para usar el nombre del equipo o hostname para identificar una máquina. Un ejemplo muy claro e ilustrativo de lo que acabo de decir es ssh. En la siguiente captura pantalla podemos ver un ejemplo muy claro del funcionamiento del hostname con ssh:\nComo se puede ver en la captura de pantalla hay dos accesos al mismo servidor ssh que está instalado en el equipo joan@debian.\nEn el primer acceso el equipo joan@fedora ha accedido vía ssh al equipo joan@debian. Para acceder al equipo joan@debian, el equipo joan@fedora ha usado la ip interna del equipo joan@debian que es 192.168.1.14. En el segundo acceso vemos que el equipo joan@fedora accede al equipo joan@debian. Pero este vez en vez de usar la ip interna 192.168.1.14 se usa la palabra debian que es el nombre de equipo o hostname del servidor ssh ubicado en la red local. De esta forma no es necesario memorizar las ip internas de los integrantes de nuestra red informática. Hay varios métodos para realizar lo que acabamos de ver. Lo podemos hacer actuando sobre el fichero de configuración del cliente ssh o configurando adecuadamente el archivo /etc/hosts. En mi caso lo he realizado actuando sobre el fichero /etc/hosts. La forma de hacerlo es abrir una terminal y teclear el siguiente comando:\nsudo nano /etc/hosts Una vez abierto el fichero hosts introducimos el siguiente contenido:\n192.168.1.14 debian 192.168.1.14 corresponde a la ip interna del servidor ssh mientas que debian es el hostname del servidor ssh. Después de introducir estos datos guardamos el archivo y tarea finalizada. Para quien lo necesite le dejo una captura de mi fichero hosts una vez finalizada la configuración:\nNota: Al igual que ssh existen multitud de aplicaciones de red que permiten realizar esto. Algunas de ellas son telnet, ping, nslookup, etc.","permalink":"https://geeklandlinux.github.io/posts/que-es-para-que-sirve-nombre-del-equipo/","summary":"\u003cp\u003eRecientemente acabo de instalar Fedora. En la instalación no me percate que en ninguno de los pasos me estuviera pidiendo el nombre del equipo y cuando finalice la instalación vi que el nombre del equipo de Fedora era localhost. A raíz de esto me surgió la idea de escribir un \u003cstrong\u003epost explicando lo que es el nombre del equipo o hostname, para que sirve y como podemos cambiarlo si el que tenemos no nos gusta o no es el adecuado para nosotros\u003c/strong\u003e. El método usado para cambiar el hostname o nombre de equipo es válido tanto para distribuciones basadas en en Debian como en Fedora.\u003c/p\u003e","title":"Que es, para que sirve y como cambiar el nombre del equipo"},{"content":"No soy un gran fan de la personalización del entorno de escritorio y la estética de una distribución no es algo que me preocupe en exceso. Bajo mi punto de vista hay aspectos más importantes como por ejemplo que el sistema operativo sea fluido, la estabilidad, que el entorno de escritorio sea usable, etc.\nNo obstante paso bastantes horas delante del ordenador usando Libreoffice para escribir los post del blog, y la verdad es que el tema de iconos que tiene por defecto no me gusta. Quizás no me guste porqué lo he estado viendo a diario durante varios años.\nPara quienes al igual que yo estén cansados del tema actual de iconos de Libreoffice tan solo tienen que seguir los siguientes pasos para cambiar el tema de iconos.\nNota: Para aplicar el método detallado como minino tienen que tener instalada la versión 4.2 de Libreoffice. El método detallado es válido para cualquier distribución Linux. LOCALIZAR LOS PAQUETES QUE CONTIENES LOS TEMAS DE ICONOS Después de su instalación, Libreoffice solo dispone de 2 o 3 temas de iconos disponibles y bajo mi punto de vista ninguno de ellos es ninguna obra de arte. Para tener más temas de iconos disponibles tan solo tenemos que instalar los paquetes correspondientes.\nPara averiguar los paquetes que contienen temas de iconos tan solo tenemos que abrir una terminal y teclear el siguiente comando:\napt-cache search libreoffice-style Nota: Los usuarios de Fedora u otras distros que utilicen el gestor de paquetes Yum tienen que sustituir apt-cache search por yum search. Una vez ejecutado el comando obtendrán la lista de paquetes que contienen temas de iconos para Libreoffice. En mi caso los paquetes obtenidos son los siguientes:\nlibreoffice-style-crystal libreoffice-style-galaxy libreoffice-style-hicontrast libreoffice-style-human libreoffice-style-oxygen libreoffice-style-sifr libreoffice-style-tango Nota: En mi caso tengo 7 temas de iconos disponibles. En vuestro caso y en función de múltiples factores, como por ejemplo vuestra distro o versión de Libreoffice, es posible que el número de temas disponibles sea diferente. INSTALAR LOS PAQUETES QUE CONTIENEN LOS ICONOS Ahora tan solo tenemos que instalar los paquetes que hemos localizado en el apartado anterior. Para instalarlos tan solo tenemos que teclear el siguiente comando en la terminal:\nsudo apt-get install libreoffice-style-crystal libreoffice-style-galaxy libreoffice-style-hicontrast libreoffice-style-human libreoffice-style-oxygen libreoffice-style-sifr libreoffice-style-tango Nota: Los usuarios de Fedora u otras distros que utilicen el gestor de paquetes Yum tienen que sustituir sudo apt-get install por sudo yum install. Nota: Es posible que al aplicar el comando vean que algunos de los paquetes que queramos instalar ya estén instalados. Esto no es ningún problema. Nota: No debería haberme pasado pero al instalar estos paquetes apt-get me forzó a desinstalar los paquetes mint-themes mint-artwork y mint-meta-cinnamon. Si os pasa los podéis desinstalar y justo al acabar la instalación los volvemos a instalar introduciendo el comando sudo apt-get install mint-themes mint-artwork mint-meta-cinnamon en la terminal. Imagino que esta incidencia será un problema de Linux Mint o mio ya que en otras distros nunca he observado este comportamiento. CAMBIAR EL TEMA DE ICONOS Para la totalidad de distros basadas en Gnome, el tema de iconos por defecto acostumbra a ser Tango y es el siguiente:\nNota: En las distros kde el tema de iconos por defecto de Libreoffice es oxygen en vez de Tango. Si queremos cambiar el tema de los iconos que acabamos de ver abrimos el editor de texto de Libreoffice que es Writer. Una vez abierto, tal y como se puede ver en la imagen, accedemos al menú Herramientas y seleccionamos Opciones.\nSeguidamente se abrirá la ventana de opciones. Tal y como se puede ver en la captura de pantalla, en la parte izquierda de la ventana de opciones seleccionamos la opción Ver.\nUna vez seleccionada la opción Ver en la parte derecha de la pantalla aparecerá un apartado denominado Tamaño y estilo de iconos. En este apartado pueden seleccionar el tema de iconos que mas les guste. Como se puede ver en la captura de pantalla en mi caso he seleccionado el tema Humano. Una vez seleccionado el tema tan solo tienen que presionar del botón de Aceptar.\nJusto al apretar el botón de Aceptar el cambio del tema de iconos será efectivo obteniendo el resultado que mostramos a continuación:\nComo se puede ver el resultado ha sido excelente. Hemos pasado de un tema de iconos que según mi opinión es obsoleto a otro tema que sigue las tendencias de diseño actual. Unos iconos con diseño flat y monocromáticos que se integran perfectamente con mi entorno de escritorio.\nNota: En el caso de no gustarles el tema Humano pueden probar con otros temas. Actualmente el tema que estoy usando es el sifr.","permalink":"https://geeklandlinux.github.io/posts/cambiar-el-tema-iconos-en-libreoffice/","summary":"\u003cp\u003eNo soy un gran fan de la personalización del entorno de escritorio y la estética de una distribución no es algo que me preocupe en exceso. Bajo mi punto de vista hay aspectos más importantes como por ejemplo que el sistema operativo sea fluido, la estabilidad, que el entorno de escritorio sea usable, etc.\u003c/p\u003e\n\u003cp\u003eNo obstante paso bastantes horas delante del ordenador usando \u003ca href=\"http://es.libreoffice.org/\" title=\"Web oficial del Libreoffice\"\u003eLibreoffice\u003c/a\u003e para escribir los post del blog, y la verdad es que el tema de iconos que tiene por defecto no me gusta. Quizás no me guste porqué lo he estado viendo a diario durante varios años.\u003c/p\u003e","title":"Cambiar el tema de iconos en Libreoffice"},{"content":"En pasados vimos que es el OCR o reconocimiento óptico de caracteres. Además analizamos los usos que le podemos dar, las ventajas que nos proporciona y las limitaciones que tiene hoy en día. Sin entrar en mucho detalle también vimos que existen varios software de reconocimiento OCR libres. Para quien considere releer el post que menciono les dejo el siguiente link. En este post nos centraremos en explicar el funcionamiento de OCRfeeder que es uno de los software que en su día nombramos.\nHe preferido empezar por OCRfeeder ya que su funcionamiento es muy simple, requiere de pocas dependencias de instalación y además me parece una opción aceptable. Cabe decir que en GNU-Linux existen otras opciones muy aceptables e incluso me atrevería a decir de mayor calidad como por ejemplo gscan2pdf o xsane. Quien en vez de usar OCRfeeder quiera usar la aplicación Gscan2pdf puede consultar el siguiente enlace.\nINSTALACIÓN DE OCRFEEDER Lo primero que tenemos que hacer es instalar ocrfeeder y los motores de búsqueda OCR como por ejemplo tesseract, gocr, ocropus, ocrad o cuneiform. Para ello abrimos una terminal y tecleamos el siguiente comando:\nsudo apt-get install ocrfeeder tesseract-ocr tesseract-ocr-spa tesseract-ocr-eng gocr cuneiform ocropusocrad Nota: El paquete ocrfeedor corresponde al software de reconocimiento OCR. Los paquetes tesseract-ocr, gocr, cuneiform, ocrad y ocropus corresponden a los distintos motores de reconocimiento OCR. Los paquetes tesseract-ocr-spa y tesseract-ocr-eng corresponden a los motores de búsqueda español e inglés de tesseract. En tesseract no solo están disponibles los motores de búsqueda en Inglés y en Español. En tesseract tenemos una gran cantidad de idiomas disponibles. Para que otros idiomas estén disponibles tan solo tendremos que instalar los paquetes pertinentes. Para saber los paquetes que equivalen a cada idioma tan solo tienen que abrir la terminal y teclear el siguiente comando en la terminal:\napt-cache search tesseract-ocr EJECUTUAR OCRFEEDER Para ejecutar el programa tan solo tenemos que abrir la terminal y teclear el siguiente comando:\nocrfeeder Presionamos la tecla Enter y ocrfeeder de se ejecutará. Si lo prefieren también pueden ejecutar el programa desde cualquier lanzador de aplicaciones o desde el menú del entorno de escritorio que usen.\nSELECCIONAR EL MOTOR DE RECONOCIMIENTO EN OCRFEEDER Una vez se abra el programa, lo primero que tenemos que hacer es seleccionar el motor de búsqueda que queremos usar. Para ello tenemos acceder al menú Editar y seguidamente cuando aparezca el menú desplegable seleccionar Preferencias.\nSe abrirá una ventana. Una vez abierta la ventana seleccionamos la pestaña Herramientas. En la pestaña herramientas veremos una opción que pone motor favorito. En esta opción, tal y como se puede ver en la captura de pantalla, seleccionaremos Tesseract y seguidamente presionaremos el botón Aceptar.\nNota: De la totalidad de motores disponibles usaremos el Tesseract. Elegimos Tesseract porqué es el motor OCR con el que se acostumbra a obtener mejores resultados de salida. Quien lo considere oportuno puede experimentar con otros motores. Nota: Tesseract es un motor OCR libre. Originariamente fue creado por Hewlett Packard en el año 1985, y en el año 2005 se libero su código para la comunidad. Actualmente Tesseract es desarrollado por google y es distribuido bajo licencia apache 2.0. SELECCIONAR EL IDIOMA DE TESSERACT Tesseract por defecto hace el reconocimiento de texto considerando que el texto a reconocer está en Inglés. Por lo tanto, si no hacemos nada al respecto, cuando hagamos un reconocimiento de texto en español habrán ciertos caracteres que no aparecerán de forma adecuada como por ejemplo la ñ, y otras letras típicas del alfabeto español.\nPara solucionar este problema tan solo tenemos que activar el motor de reconocimiento en español. Para ello nos vamos al menú Herramientas. Cuando se despliegue el submenú seleccionamos la opción Motores OCR. Tal y como se puede ver en la captura de pantalla seleccionamos el motor Tesseract y presionamos el botón de Editar:\nUna vez presionado el botón aparecerá una ventana para poder definir los argumentos de búsqueda del motor. Lo único que tenemos que modificar es el texto que aparece en argumentos del motor.\nComo se puede ver en la captura de pantalla, el texto a introducir para cambiar el motor de búsqueda de inglés a español, es el siguiente:\n$IMAGE $FILE -l spa \u0026gt; /dev/null 2\u0026gt;; cat $FILE.txt ; rm $FILE Una vez modificados los argumentos del motor presionamos la botón Aceptar y seguidamente Cerrar.\nSi en un futuro tenemos la necesidad de reconocer un texto en inglés, tendremos que sustituir solo la parte de color rojo del texto que acabamos de introducir. Así por lo tanto si quisiéramos reconocer texto en inglés en vez de español tendríamos que poner el siguiente comando en los argumentos del motor de Tesseract:\n$IMAGE $FILE -l eng \u0026gt; /dev/null 2\u0026gt;; cat $FILE.txt ; rm $FILE IMPORTAR IMÁGENES O ARCHIVOS A OCRFEEDER Después de finalizar la configuración ya podemos empezar con la acción. En mi caso tengo un archivo jpg que tiene un texto escaneado en modo de imagen. Quiero que el texto en modo imagen se reconozca como texto editable para a posteriori poder editar el texto.\nPara ello tal y como se puede ver en la captura de pantalla presionaremos el símbolo +:\nSeguidamente seleccionamos el archivo de imagen que queremos abrir. En mi caso he seleccionado abrir el archivo ejemplo.jpg\nNota: En el caso que sea necesario el software OCRfeeder permite escanear imágenes con nuestro propio escáner. Para ello tan solo tendríamos que acceder al menú Archivo y a posteriori tendríamos que seleccionar Importar página del escáner. Nota: La opción mostrada en este apartado solo sirve para importar o abrir archivos de imagen (jpeg, tiff, gif, etc). En el caso que queramos abrir o importar un archivo en formato pdf tenemos que hacer lo siguiente. Accedemos al menú Archivo. Seguidamente seleccionamos la opción Importar PDF. Se abrirá una ventana en la que simplemente tendremos que seleccionar el pdf que queremos abrir. POSTPROCESADO DE IMAGEN ANTES DE RECONOCER EL TEXTO EN OCRFEEDER El procesado de la imagen tiene como fin retocar la imagen para obtener mejor resultado en el reconocimiento óptico de caracteres. Las veces que he usado OCRfeeder sin hacer el postprocesado de la imagen he obtenido unos resultados excelentes, por lo tanto si no se realiza este paso en principio deberíamos seguir obteniendo unos resultados adecuados.\nSi alguien considera necesaria su realización tan solo tienen que acceder al menú Herramientas. Una vez dentro del menú Herramientas seleccionan la opción Unpaper. Una vez seleccionado la opción unpaper aparecerá la siguiente pantalla:\nEn la pantalla encontraran distintas opciones y filtros para retocar la imagen en la que queremos realizar el reconocimiento óptico de caracteres. Recomiendo no complicarse la vida y usar los valores predeterminados de la aplicación. Una vez seleccionados los valores presionamos el botón de Aceptar.\nNota: Si los resultados del reconocimiento de texto no son buenos podemos intentar modificar los valores estándar de unpaper para ver si podemos conseguir mejores resultados. RECONOCIMIENTO DE TEXTO Una vez abierto el archivo ya podemos iniciar el reconocimiento del texto. Para ello, tal y como se puede ver en la captura de pantalla, tienen que pulsar sobre el icono de Detectar y reconocer automáticamente todas las páginas:\nNota: En el caso que el documento tenga muchas páginas es posible realizar el OCR solo de determinadas áreas. Para ello tan solo tienen que seleccionar la área en la que se quiere reconocer el texto. En la parte derecha de la pantalla aparecerá un cuadro. En la opción Tipo seleccionan texto y en el campo Motor OCR seleccionan el motor que queremos y presionamos el botón OCR. En el vídeo que encontraran al final del articulo podrán ver claramente como se realiza este paso. Una vez iniciado el reconocimiento tendrán que esperar unos segundos o minutos en función del número de páginas y de la cantidad de texto a reconocer.\nEXPORTAR EL TEXTO A FORMATO ODT Una vez terminado el reconocimiento tan solo nos falta exportar el resultado al formato de archivo que mas nos convenga.\nEn el caso que se necesite exportar el archivo a la extensión .odt, tal y como se puede ver en la captura de imagen, tan solo tienen que presionar encima del icono de Exportar a ODT:\nUna vez presionado el botón tendremos que definir el nombre con el que queremos guardar el archivo, y la ubicación donde lo queremos guardar. En mi caso el nombre seleccionado ha sido resultado final odt.odt y lo he guardado en mi home.\nUna vez guardado el archivo tan solo tenemos que abrirlo y comprobar el resultado obtenido.\nComo se puede observar en la captura de pantalla, el resultado obtenido es excelente reconociendo a la perfección la totalidad del texto.\nEXPORTAR EL TEXTO RECONOCIDO A FORMATO PDF, TEXTO PLANO O HTML Si por lo contrario queremos exportar el texto reconocido a otro formato de archivo diferente al formato odt, lo podemos realizar de la siguiente forma:\nUna vez reconocido el texto, tal y como se puede ver en la captura de pantalla, accedemos al menú Archivo y a posteriori seleccionamos la opción Exportar.\nUna vez seleccionada la opción exportar, aparecerá una ventana en la que que deberemos seleccionar el formato de archivo que queremos. Para elegir tenemos las opciones PDF, ODT, Texto plano y HTML. En mi caso tal y como se puede ver en la captura de pantalla he seleccionado pdf y he presionado la tecla Aceptar. Si queréis exportarlo a otro formato de archivo tan solo tenéis que seleccionar la opción que más os convenga.\nSeguidamente nos aparecerá otra ventana en la que se nos ofrece 2 opciones a elegir:\nComo se puede ver en la captura de pantalla las opciones a elegir son Desde Cero o PDF Buscable. Elegiremos la opción PDF Buscale y presionaremos el botón Aceptar. He seleccionado esta opción porqué nos permitirá tener un pdf en modo de imagen, pero debajo de la capa de imagen habrá una capa de texto que nos permitirá hacer búsquedas de texto en el pdf.\nUna vez apretado el botón Aceptar tan solo resta definir donde guardaremos el archivo y con que nombre lo guardaremos. Una vez realizado esto ya podemos observar el resultado que hemos obtenido:\nComo se puede ver en la imagen el resultado obtenido en este caso es más que aceptable. Dispongo de un pdf en modo imagen y por detrás de la imagen dispongo de una capa de texto que me permite realizar búsquedas en el pdf.\nNota: En esta última opción que acabamos de ver OCRfeeder para mi gusto tiene un inconveniente gordo. En la mayoría de casos la capa de texto y la capa de imagen del pdf no se sincroniza. Esto significa es posible que cuando hagamos una búsqueda de una palabra, el texto real esté en la mitad de la página del pdf mientras que la palabra en modo imagen esté justo al final. Me puse en contacto con el desarrollador y pienso que por la respuesta que me dio no esta muy dispuesto a corregir este punto ya que me dio una respuesta para escurrir el bulto. Otras opciones como Gscan2pdf no tienen este problema. Para quien este interesado en usar Gscan2pdf puede clicar en el siguiente enlace, VIDEO DEMOSTRATIVO POR PARTE DEL CREADOR DE OCRFEEDER He intentado que la explicación fuera clara. No obstante pienso que hay detalles que se pueden apreciar mejor en el vídeo que se muesta a continuación:\nhttp://vimeo.com/3760126\nEl vídeo tiene sus años pero me parece aún útil para entender el funcionamiento de OCRfeeder. Además el vídeo tiene la ventaja que ha sido realizado por el mismo creador del software.\n","permalink":"https://geeklandlinux.github.io/posts/extraer-texto-imagen-con-ocrfeeder/","summary":"\u003cp\u003eEn pasados vimos que es el OCR o reconocimiento óptico de caracteres. Además analizamos los usos que le podemos dar, las ventajas que nos proporciona y las limitaciones que tiene hoy en día. Sin entrar en mucho detalle también vimos que existen varios software de reconocimiento OCR libres. Para quien considere releer el post que menciono les dejo el siguiente \u003ca href=\"/posts/fundamentos-usos-limitaciones-ocr/\"\u003elink\u003c/a\u003e. En este post nos centraremos en explicar el funcionamiento de OCRfeeder que es uno de los software que en su día nombramos.\u003c/p\u003e","title":"Extraer texto de una imagen con ocrfeeder"},{"content":"Hoy en día en el mundo empresarial, en la educación y en otros ámbitos se están aplicando técnicas de reconocimiento óptico de caracteres OCR para incrementar la competitividad, para reducir costes, para ofrecer servicios de mayor calidad, etc. Por todos estos motivos he decido redactar un conjunto de artículos relacionados con el reconocimiento ópticos de caracteres OCR. A modo introductorio empezaremos con el siguiente articulo:\n¿QUÉ ES EL OCR O RECONOCIMIENTO ÓPTICO DE CARACTERES? La función del reconocimiento óptico de caracteres u OCR (optical character recognition) es identificar y reconocer el texto que hay contenido en una imagen o documento escaneado. Una vez reconocido el texto que está en modo de imagen, se almacenará en forma de texto y por lo tanto lo podremos editar sin ningún problema con un procesador de textos común como por ejemplo Writer, Word Pages, etc.\nEn el caso que después de la explicación aún exista algún tipo de duda, les mostraremos un ejemplo real ya que siempre he escuchado decir que una imagen vale más que mil palabras.\nSupongamos que en nuestras manos ha llegado un archivo pdf que contiene texto escaneado. El archivo que hemos recibido es el siguiente:\nAhora mediante técnicas OCR convertiremos el texto en formato de imagen a texto real que podremos editar. Después de aplicar técnicas de reconocimiento óptico de caracteres (OCR) en la imagen que acabamos de mostrar obtendremos el siguiente resultado:\nComo se puede ver en la captura de imagen, después de finalizar el reconocimiento óptico de caracteres tendremos la totalidad de texto que contenía la imagen inicial en un procesador de texto. Ahora con este texto podemos hacer lo que queramos. Lo podemos borrar, modificar, copiar, pegar, etc.\nUSOS DEL RECONOCIMIENTO ÓPTICO DE CARACTERES OCR Hoy en día podemos dar numerosos usos al OCR o al reconocimiento óptico de caracteres. Algunas de las utilidades prácticas que podemos dar al reconocimiento óptico de caracteres son las siguientes:\nEn el entorno laboral y estudiantil es frecuente recibir documentos o libros escaneados o impresos en formato pdf, tiff o jpg. En multitud de ocasiones los estudiantes y trabajadores necesitaran escribir a mano o teclear en su ordenador parte del contenido que nos han entregado como una imagen y esto obviamente representa una pérdida de tiempo. Con técnicas de OCR podremos transformar el texto de imagen a texto real de forma prácticamente automática. Los estudiantes y ciertas personas en el entorno laboral, tienen que lidiar con documentos y certificados que se entregan escaneados como imagen. Los ficheros acostumbran a ser largos y extensos, por lo tanto en muchas ocasiones seria interesante hacer una búsqueda por palabras clave para de esta forma acceder al contenido que nos interesa de forma directa, rápida y sin tener que perder tiempo leyendo de forma detallada el documento. Con técnicas OCR podremos realizar las búsquedas por palabras clave sin ningún tipo de problema y acceder al cotenido que nos interesa de forma inmediata. Digitalización y transformación a texto de documentos y libros históricos que solo están disponibles en soporte de papel. El OCR, combinado con otras técnicas, es una herramienta ideal para que personas con deficiencias visuales o auditivas puedan tener acceso a documentos e información. Hoy en día existen herramientas que transforman el texto resultante del reconocimiento OCR a Braile o archivos de audio. Hoy en día existen numerosas bases de datos que contienen imágenes. Cuando los usuarios suben contenido a la base de datos suelen introducir frases o palabras (metadatos) que sirven para organizar, ordenar y clasificar adecuadamente estas imágenes. Estos metadatos también se usan como palabra clave para que los usuarios puedan realizar búsquedas en la base de datos. Hoy en día existen bases de datos que contienen imagenes que disponen buscadores DIRS (Document Image Retrieval system). Estos buscadores disponen de reconocimiento óptico de caracteres. Por lo tanto cuando un usuario sube una imagen a la base de datos se realizará un reconocimiento óptico de caracteres de la imagen que se sube. Este reconocimiento óptico de caracteres servirá, como en el caso anterior, para organizar, ordenar y clasificar las imágenes de la base de datos pero en este caso se hará todo de forma automática. Además el texto reconocido de la imagen que se sube se podrá usar para facilitar la búsqueda de imágenes en la base de datos. Aplicación de técnicas OCR en distintos ámbitos como por ejemplo el bancario a la hora de realizar ingresos de cheques de forma automática, en el sector médico para escanear e introducir formularios con datos de los pacientes a la base de datos, reconocimiento de matrículas de coche en un parking o en un radar de tráfico, etc. Ciertas aplicaciones móviles utilizan técnicas de OCR. Una de estas aplicaciones es la conocida camcard. Esta aplicación sirve para almacenar y clasificar tarjetas comerciales o de negocios. Tan solo tenemos que capturar la imagen de una tarjeta y camcard mediante técnicas OCR podrá extraer la totalidad de contenidos que contiene la tarjeta como por ejemplo mails, teléfonos, nombres, etc. Actualmente existe software de reconocimiento óptico OCR capaz de leer y reproducir las notas musicales representadas en un pentagrama. Imagino que este software puede ser una herramienta de utilidad para compositores o para personas como nosotros que queremos escuchar como suenan ciertas notas musicales. VENTAJAS QUE PROPORCIONA EL RECONOCIMIENTO ÓPTICOS DE CARACTERES OCR Hoy en día es habitual que se genere gran cantidad de contenido en multitud de soportes distintos. Entre esta multitud de tipos de soportes es habitual crear contenido en soporte manuscrito u tipográfico, por lo tanto las ventajas competitivas que nos puede ofrecer el reconocimiento óptico de caracteres son muchas. Algunas de ellas son las siguientes:\nEn la digitalización de documentos supone un ahorro importante de tiempo, ya que la diferencia de tiempo entre entrar un texto de forma manual a reconocerlo de forma automática es muy grande. El reconocimiento de texto OCR transforma a los archivos escaneados en algo más que archivos de imagen. Aparte de la imagen escaneada, los archivos contendrán una parte de texto que podremos usar para muchos fines. Algunos de los fines pueden ser la clasificación y ordenación de un archivo fotográfico o de imagen, facilitar la búsqueda de información en un archivo fotográfico o de imagen, etc. De esta forma podremos ofrecer un mejor servicio a terceros. El hecho de automatizar la transformación de imagen a texto implica un ahorro de recursos humanos, un incremento de la productividad y además puede ayudar a mejorar la calidad de algunos servicios que se ofrecen ya que por ejemplo quien se dedica a entrar texto de forma manual es fácil que cometa errores. El reconocimiento OCR y la digitalización de contenido suponen un ahorro importante de almacenamiento. Sin duda alguna almacenar los documentos en formato digital supone un ahorro de espacio y de coste de almacenamiento muy importante. LIMITACIONES DEL RECONOCIMIENTO DE TEXTO OCR Sin duda el reconocimiento óptico de caracteres es una herramienta potente, pero para sacarle partido y para que la experiencia sea satisfactoria hay que tener muy en cuenta como mínimo los siguientes factores:\nLa calidad de la imagen que contiene el texto a reconocer tiene que ser aceptable. Si el texto que queremos reconocer es borroso, tiene poca resolución o presenta algún otro tipo de problema los resultados no serán satisfactorios. Para poder obtener resultado satisfactorios la resolución mínima de las imágenes escaneadas tiene que ser 300 ppp (puntos por pulgada). En ciertos casos, como por ejemplo si la la letra a reconocer es pequeña, puede ser necesario llegar a resoluciones de 600 ppp. En el caso que la tipografía a reconocer como texto sea poco común es posible que los resultados obtenidos no sean los más adecuados. Además en el caso de tipografía manuscrita pueden aparecer nuevos problemas como por ejemplo que la distancia entre caracteres no sea constante, etc. Los software y motores de reconocimiento OCR no son perfectos. Existen software de reconocimiento OCR que dan mejores resultados o mayor efectividad que otros. Por lo tanto si los resultados que obtenemos no son satisfactorios una de las opciones que tenemos es buscar otras alternativas de software o utilizar distintos motores de conversión. En el caso que el texto a reconocer se trate de un texto manuscrito la dificultad se incrementa enormemente. En función de varios factores es posible obtener resultados aceptables pero a día de hoy el reconocimiento de texto manuscrito sigue siendo un reto. En el caso que se precise realizar un reconocimiento de texto manuscrito seria recomendable que en el impreso donde se escriba este diseñado de forma que el interlineado, la separación entre caracteres y el tamaño de las letras sea constante. Además es recomendable forzar a que el texto se escriba en mayúsculas. A pesar de la dificultad existente cabe decir que las metodologías de OCR están en evolución constante. Para realizar un reconocimiento óptico de texto se recomienda un texto en escala de gises. Los software y motores de reconocimiento de texto acostumbran a distinguir mejor el texto de imágenes en escala de grises o en blanco y negro que no en colores. Para ello en ocasiones es adecuado un tratamiento de la imagen antes de proceder al reconocimiento óptico de caracteres. Algunos aspectos de la imagen que se pueden mejorar son quitar puntos y manchas de la imagen escaneada, trabajar con los brillos de la imagen, etc. Muchos software existentes realizan estas operaciones de forma automática y no nos damos ni cuenta. Por todo ello cuando se escaneen documentos es importante revisar la configuración del escáner, asegurar que los parámetros de configuración del escáner son los óptimos y que una vez escaneada la imagen tenga una calidad aceptable.\nHERRAMIENTAS DISPONIBLES PARA EL RECONOCIMIENTO DE TEXTO OCR En el mercado existen numerosas herramientas de reconocimiento óptico de caracteres OCR. Pero nos centraremos en soluciones libres y que no requieran pagar por una licencia. En los próximo meses escribiré una serie de artículos en que explicaré de forma detallada el uso distintos software OCR.\nAlgunos de los software OCR que se detallaremos su funcionamiento son los siguientes:\nOCRfeeder: Su funcionamiento es correcto pero según mi forma de pensar el programa tiene puntos mejorables. Después de transmitir los puntos de mejora al desarrollador me ha dado la impresión que no está muy motivado en la mejora del programa. Para ver el funcionamiento de OCRfeeder tan solo tienen que presionar en el siguiente link. Gscan2pdf: Bajo mi punto de vista la mejor opción disponible para Gnu-Linux. Además puedo dar fe que el desarrollador de la aplicación escucha y tiene en cuenta las peticiones de los usuarios. Para ver el funcionamiento de gscan2pdf tan solo tienen que presionar en el siguiente link. Soluciones disponibles vía web: Para consultar las distintas alternativas online disponibles tan solo tienen que presionar en el siguiente link. Nota: Si los links no están disponibles es porqué aun está pendiente redactar el artículo.","permalink":"https://geeklandlinux.github.io/posts/fundamentos-usos-limitaciones-ocr/","summary":"\u003cp\u003e\u003cstrong\u003eHoy en día en el mundo empresarial, en la educación y en otros ámbitos se están aplicando técnicas de reconocimiento óptico de caracteres OCR para incrementar la competitividad, para reducir costes, para ofrecer servicios de mayor calidad, etc\u003c/strong\u003e. Por todos estos motivos he decido redactar un conjunto de artículos relacionados con el reconocimiento ópticos de caracteres OCR. A modo introductorio empezaremos con el siguiente articulo:\u003c/p\u003e","title":"Fundamentos usos ventajas y limitaciones del ocr"},{"content":"Un problema típico que ocurre a muchos usuarios de Android es que después de hacer multitud de fotografías o grabar algún vídeo con su teléfono o tablet, tienen problemas para transferir esta información del teléfono al ordenador.\nOtro problema bastante típico de algunos usuarios de Android es realizar la operación inversa a la que acabamos de describir. Es decir transferir fotos, películas u otros archivos almacenados desde su ordenador hasta su tablet o smartphone.\nPara solucionar este problema existen múltiples soluciones. Algunas de las primeras soluciones que imagino que acostumbran a venir a la cabeza de la gente son las siguientes:\nEnchufar el teléfono o tablet al ordenador mediante un cable USB. Esta solución no me acaba de gustar por precisar de un cable USB. Además muchas veces el ordenador no nos detecta automáticamente nuestro teléfono o tablet como un dispositivo de almacenamiento USB y esto genera grandes problemas a los usuarios con poca experiencia. Otra opción muy buena y visualmente atractiva es usar Airdroid. Airdroid es una app de Android que podréis encontrar fácilmente en la Google Play Store. Esta aplicación nos permitirá, de forma fácil y sin necesidad de cables, transferir información de nuestros dispositivos móviles a nuestro ordenador y viceversa de forma muy fácil. El principal problema de esta aplicación es que la cantidad de datos a transferir está limitada a 100 Mb mensuales. Quien necesite más capacidad deberá pagar una suscripción Premium. Además esta aplicación no funciona para todas las versiones de Android, necesita que tanto el ordenador como el teléfono estén conectados en la misma red, y es posible que no se pueda acceder a la tarjeta MicroSD de nuestro teléfono. Otra opción para realizar la transferencia es usar la archiconocida aplicación de Dropbox, o alguna otra aplicación similar como por ejemplo Copy. Bajo mi punto de vista es una opción efectiva pero lenta. La opción es lenta porqué primero se tiene que subir la información a Dropbox, y a posteriori tenemos que descargar la información a nuestro teléfono. A esto le tenemos que añadir que hoy en día las velocidades de subida de las operadoras telefónicas son bajas y la capacidad de Dropbox es limitada. En fin que si queremos compartir información que ocupe mucho tamaño este método presenta grandes inconvenientes. Como contrapartida este método tendrá la ventaja que no será necesario que nuestro ordenador y nuestro dispositivo Android esten conectados en la misma red local. Otra opción interesante es usar aplicaciones tipo EZ Drop en nuestro dispositivo Android. Estas aplicaciones se basan en introducir una URL en en el navegador Web de nuestro ordenador. Una vez introducida la URL podremos ver un código en nuestro monitor. Introducimos el código en la aplicación EZ Drop de nuestro teléfono. Una vez hecho todo esto la totalidad de archivos que arrastremos dentro del navegador web de nuestro ordenador se transmitirán automáticamente a nuestro teléfono. Esta opción tiene la ventaja que no necesitamos que el ordenador y el dispositivo Android estén conectados en la misma red local. Pero como contrapartida la velocidad de transferencia estará limitada por la conexión de internet que tengamos. Además el flujo de tráfico será unidireccional y por lo tanto solo podremos transferir archivos del ordenador al dispositivo móvil. Bajo mi punto de vista el método más interesante es usar el explorador de archivos ES Explorer. Considero que es el método más interesante por los siguientes motivos: Es una solución muy fácil y que ofrece una velocidad de transferencia alta. Cualquier persona con conocimientos básicos será capaz de aplicar esta solución. Además de la función de transferir archivos de nuestro teléfono a nuestro ordenador y viceversa, este explorador de archivos dispone de muchas otras funcionalidades como por ejemplo instalar y desinstalar aplicaciones, gestor de descargas, análisis del espacio que ocupan las carpetas y archivos de nuestro dispositivo móvil, crear un hotspot, conectarse a servidores ftp o sftp, etc. Tan solo tenemos que tener instalado ES Explorer en nuestro teléfono. No precisamos instalar ningún software en nuestro ordenador. Permite realizar la función de transferir archivos de un sitio a otro independientemente del sistema operativo que usemos en nuestro ordenador. Se trata de una solución multiplataforma. Podremos acceder a la totalidad de contenido incluyendo nuestra tarjeta MicroSD. Por todos estos motivos a continuación veremos de forma detallada como usar ES Explorer.\nNota: Existen otras opciones similares a ES Explorer para transferir archivos de nuestro dispositivo móvil al ordenador o Viceversa. Por ejemplo existe Wifi File transfer con el inconveniente que la transferencia de archivos está limitada a 4 Mb. Quien quiera saltarse la limitación tendrá que comprar la Versión Pro del programa. REQUERIMIENTOS NECESARIOS PARA USAR ES EXPLORER Simplemente necesitamos cumplir 3 requisitos que son muy básicos:\nDisponer de la App ES Explorer instalada en nuestro dispositivo Android. Disponer de un ordenador personal. Como hemos dicho anteriormente es indiferente el sistema operativo que tenga instalado el ordenador. El método funciona tanto en Linux, como en Windows, como en Mac OS X. Tanto el ordenador como el dispositivo móvil tienen que estar conectados en la misma red local. En otras palabras tanto el ordenador como el teléfono tienen que estar conectados en el mismo Router. En caso de necesidad creando un hotspot nos podemos saltar esta restricción. Nota: En el caso que estemos en el aire libre es posible que sea imposible disponer de una conexión a internet y por lo tanto será imposible cumplir el requisito número 3. Una posible solución a este problema es hacer Tethering. Por lo tanto en caso de necesidad crearíamos un hotspot con nuestro dispositivo móvil. Seguidamente nos conectaríamos con nuestro ordenador al hotspot creado por nuestro dispositivo móvil. Una vez realizados estos pasos podemos usar ES Explorer tranquilamente para transferir archivos de un punto a otro sin ningún tipo de limitación. PASOS PARA TRANSFERIR ARCHIVOS Instalar ES Explorer a nuestro dispositivo Android Tan solo tenemos que acceder al Google play Store e instalar la aplicación ES Explorer. Quien lo prefiera también puede usar este link para descargar e instalar la aplicación.\nEjecutar ES Explorer en nuestro dispositivo Android Una vez instalado ES Explorer lo ejecutamos en nuestro teléfono móvil o tablet.\nActivación del FTP Remoto Es Explorer dispone de un servidor ftp incorporado. Para que nuestro PC se pueda conectar a nuestro teléfono tendremos que activar este servidor ftp. Para activar el servidor ftp tendremos seguir adelante con la explicación.\nUna vez se abra la aplicación ES Explorer encontraremos un entorno gráfico parecido al siguiente:\nTal y como se puede ver en la captura de imagen tendremos que dar click con nuestro dedo dentro del recuadro de color rojo en el que se representa un teléfono y un globo terráqueo. Seguidamente aparecerá el siguiente menú desplegable:\nEn el menú desplegable que acaba de aparecer, tenemos que seleccionar la opción Herramientas. Una vez seleccionada se desplegaran las siguientes opciones:\nEl siguiente paso es seleccionar la opción Remoto del menú desplegable. Después de seleccionar la opción remoto aparecerá la siguiente pantalla:\nAhora tan solo tenemos que presionar el botón Encender. Una vez presionado, el servidor ftp estará activo y en la pantalla de nuestro dispositivo móvil veremos un contenido similar al siguiente:\nAhora tendremos que anotar cuidadosamente en un papel, el contenido que aparece dentro del recuadro de color rojo de la última captura de pantalla. En mi caso el contenido a copiar es ftp://192.168.1.5:3721/\nConectar el ordenador al FTP Remoto de nuestro dispositivo móvil Ahora el último paso es conectarnos al servidor ftp que acabamos de activar. Para ello en nuestro ordenador abrimos el navegador de archivos.\nTal y como se puede ver en la captura de pantalla, nos vamos a la barra de direcciones de nuestro navegador de archivos e introducimos la dirección ftp que hace escasos segundos que acabamos de anotar y que en mi caso era ftp://192.168.1.5:3721/. Una vez introducida presionamos la tecla Enter y automáticamente aparecerá una pantalla parecida a la siguiente:\nEn la siguiente pantalla tenemos que elegir la opción Anónimo ya que el servidor ftp por defecto permite las conexiones anónimas. Una vez seleccionada la opción anónimo presionamos el botón Conectar. Una vez realizados estos pasos, tal y como se puede ver en la siguiente captura de pantalla, tendremos la totalidad del contenido de nuestro dispositivo móvil en el explorador de archivos de nuestro ordenador.\nNota: El método de conexión es el mismo para Linux, para Windows y para Mac OS X. Para introducir la dirección ftp en MAC OS X se tiene que abrir el Finder y presionar la tecla Comando-K. Si usáis Linux es posible que haya navegadores de archivos, como por ejemplo Dolphin o Thunar, que no tengan la barra de direcciones visible. Para hacerla visible tan solo se tiene que presionar la combinación de teclas Ctrl+L y seguidamente introducir la dirección ftp. Transferir los archivos que necesitamos Tal y como se puede ver en la captura de pantalla, en nuestro navegador de archivos podemos visualizar la totalidad del contenido que tenemos en nuestro teléfono. También podemos ver que hemos accedido a la carpeta donde tenemos almacenadas todas la fotografías.\nEn este momento, sin ningún tipo de problema, podemos transferir la totalidad de fotografías que tenemos en nuestro teléfono y pegarlas en el disco duro de nuestro ordenador. Otra cosa que por ejemplo podemos realizar es elegir una película que tengamos en nuestro ordenador y copiarla en nuestro teléfono móvil o tablet.\nParar el servidor FTP remoto Una vez se haya completado la transferencia de archivos es aconsejable desconectar el servidor ftp de nuestro dispositivo Android. Seguro que nuestra batería la agradecerá.\nPara ello nos vamos a nuestro dispositivo Android y lo encendemos. Justo al encenderlo veremos la siguiente pantalla:\nAhora tan solo tenemos que apretar el botón de Apagar. Una vez hecho esto el servidor ftp se desconectará y el proceso finalizará.\n","permalink":"https://geeklandlinux.github.io/posts/transferir-archivos-del-pc-a-android/","summary":"\u003cp\u003eUn problema típico que ocurre a muchos usuarios de Android es que después de hacer multitud de fotografías o grabar algún vídeo con su teléfono o tablet, tienen problemas para transferir esta información del teléfono al ordenador.\u003c/p\u003e\n\u003cp\u003eOtro problema bastante típico de algunos usuarios de Android es realizar la operación inversa a la que acabamos de describir. Es decir transferir fotos, películas u otros archivos almacenados desde su ordenador hasta su tablet o smartphone.\u003c/p\u003e","title":"Transferir archivos del ordenador a Android sin cables"},{"content":"Hoy en día gracias a los estudios realizados se puede afirmar que la gran mayoría de niños que tienen 10 años acceden a diario a internet para poder jugar a juegos, ver vídeos online, acceder a las redes sociales, etc.\nFrente a esta situación es altamente recomendable que los padres de estos niños tomen medidas para controlar los sitios que sus hijos están visitando y de esta forma poder evitar los peligros que se esconden en la red.\nVista la situación que hemos planteado, en el transcurso de este artículo veremos una introducción sobre esta tema y las posibles herramientas de las que disponen los padres para hacer frente a esta problemática real. En futuros artículos o post veremos de forma detallada como podemos configurar algunas de las herramientas que se citarán en este post.\n¿QUÉ ES EL CONTROL PARENTAL? ¿PARA QUÉ SIRVE? Un sistema de control parental es una herramienta que permite que los padres puedan controlar y/o limitar el contenido que los menores pueden utilizar en la computadora y puedan acceder a internet.\nAsí por lo tanto un control parental básicamente servirá para los siguientes aspectos:\nEvitar que los niños entren en contacto con personas desconocidas o peligrosas como por ejemplo acosadores y depredadores sexuales, etc. De esta forma podremos evitar lo que denominamos grooming, ciberbullying, sexting, etc. Evitar que los niños visiten sitios web inapropiados como por ejemplo webs eróticas, que fomenten el racismo, que fomenten la violencia u otros sitios de contenidos para adultos. Evitar que los niños abusen de internet y del ordenador evitando que se conecten durante demasiadas horas o en horarios poco recomendables. Que los niños no usen determinadas aplicaciones porqué las consideramos peligrosas. Por ejemplo podemos bloquear el acceso a programas de chat, etc. Para controlar y monitorizar la actividad de los menores en internet. De este modo con el control parental podemos obtener información de las páginas web que se visitan, participación en las redes sociales, etc. Nota: A pesar de la efectividad de los controles parentales siempre es recomendable tener charlas con los hijos. Es posible que las charlas que tengamos con ellos sean mucho más efectivas que las herramientas de control parental. FUNCIONES BÁSICAS QUE REALIZA UN SISTEMA DE CONTROL PARENTAL Leyendo el apartado anterior la gran mayoría de vosotros ya deducirá que las principales funciones que puede realizar un control parental son las siguientes:\nRealizar el control de los sitios web que se pueden visitar. El control parental permitirá bloquear sitios web en función de palabras clave que nosotros podemos definir, en función de una lista blanca o negra que podemos definir, etc. Controlar el horario y las horas en que nuestros hijos pueden usar el ordenador y estar conectados a internet. Bloquear ciertas aplicaciones y programas para que nuestros hijos no puedan acceder a ellos. De este modo podemos hacer que nuestros hijos no puedan tener acceso a ciertos programas como por ejemplo programas de mensajería instantánea, aplicaciones de gestión de correo electrónico, acceso al navegador web, acceder al Google Play o Apple Store para realizar compras, etc. Monitorización de las acciones que nuestros hijos realizan con el ordenador. De este modo podemos registrar las páginas web que visitan nuestros hijos, el tiempo que dedican a cada una de las páginas que visitan, ver sus hábitos de navegación, etc. Bloquear tráfico saliente de nuestro ordenador para evitar que los menores puedan proporcionar información personales a personas desconocidas. El tipo de información que se puede bloquear son los datos que acostumbramos a poner en formularios de contacto, datos bancarios, etc. En las páginas web existen una serie de etiquetas que clasifican el contenido de la misma. En función de estas etiquetas ciertos controles parentales pueden bloquear el acceso a determinadas páginas web en función su etiquetado. Conexión remota al ordenador del menor por parte del padre. De esta forma el padre, esté donde esté, siempre podrá conocer en tiempo real que está haciendo su hijo en el ordenador. Nota: No todas las soluciones de control parental pueden desempeñar la totalidad de las funciones que acabamos de realizar. Es posible que hayan sistemas de control parental que tan solo incluyan parte de las posibles funciones que hemos descrito. HERRAMIENTAS DE CONTROL PARENTAL QUE PODEMOS UTILIZAR Afortunadamente hoy en día existen muchas soluciones para poder restringir el acceso a sitios inapropiados a nuestros menores. En función del sistema operativo del que disponemos existen como mínimo las siguientes opciones:\n1- En Windows hay ciertos antivirus que tienen incorporados controles parentales. Hay varios antivirus como por ejemplo el ESET NOD 32, el kapersky y el Mcafee que incluyen estas funciones entre sus características. Aparte de los citados seguro que hay otros antivirus con las mismas características que los que hemos citado.\n2- Existen ciertos modelos de Routers que pueden realizar la función de control parental. Con ciertos modelos de Router seremos capaces limitar las horas de uso a internet para nuestros hijos, filtrar los contenidos que pueden ver, etc. Por lo tanto si tienen que adquirir un Router y tienen niños pequeños es una característica deberíamos tener en cuenta. Normalmente marcas de Router como Linksys y Belkin acostumbran a disponer de control parental incorporado.\n3- En mayor o menor medida los principales sistemas operativos como por ejemplo Windows, Max OS X, iOS y Android disponen de un control parental que viene con el propio sistema operativo. Para que funcione tan solo lo tenemos que activar y configurar de forma adecuada. Las funcionalidades que acostumbran a ser bastante completas.\n4- Existen sistemas de control parental mediante filtrado por servidores DNS. Este sistema de control es tan simple como cambiar los DNS que estamos usando en la actualidad por servidores DNS alternativos que se encargaran de filtrar la totalidad del contenido que puede ser ofensivo para los menores. Algunos servidores DNS que realizan esta función son los OpenDNS family Shield, los de Norton Connectsafe, etc. Esta solución es interesante ya que se puede aplicar a la totalidad de dispositivos y sistemas operativos. Además tiene la gran ventaja que es un sistema complementario a todos los demás.\n5- Aplicaciones o Software de terceros para realizar las tareas de control parental. Tanto en Windows, como en Android, como en otros sistemas operativos existen numerosas aplicaciones y software de terceros diseñados para realizar la función de control control parental. Alguna de estas aplicaciones son las siguientes:\nQustodio: Es un sistema control parental basado en la nube que se puede usar en Android, Windows, Mac OS X y iOS. Este soft permite crear diferentes perfiles en función de la edad e intereses del menor. Esta opción de control parental nos permitirá prohibir el acceso a ciertas aplicaciones, limitar el tiempo de uso de ciertas aplicaciones, filtrar el contenido que se puede acceder en función de listas blancas y listas negras, etc. Norton Online Family: Solución gratuita y basada en la nube, fácil de configurar y aplicable a sistemas operativos Android, Windows, Mac OS X y iOS. La opción gratuita permite limitar el tiempo de uso del ordenador o teléfono, restringir contenido ofensivo, monitorear el tráfico del menor, ver como se presenta el menor en la redes sociales donde está activo, impedir que se envíen datos personales a terceros, alertar vía mail cuando los menores intentan acceder a sitios bloqueados, etc. Si estamos dispuestos a pagar las funcionalidad descritas puede pliarse. Gnome nanny: Sistema de control parental para GNU Linux. Con gnome nanny para cada usuario podemos determinar la franja horaria en la que podrá usar el ordenador, filtrar las páginas web que podrá visitar, restringir el tiempo que podemos usar la mensajería instantánea, restringir el uso de los clientes de correo, etc. La verdad es que Gnome nanny es un poco justo y cabe decir que en GNU-Linux no hay grandes alternativas de calidad en lo que se refiere a sistemas de control parental. Net Nanny: Es una alternativa de pago, pero ciertamente las prestaciones que ofrece son sobresalientes en todos los aspectos. Se puede usar en sistemas operativos Android, Windows, Mac OS X y iOS. Entre muchas otras cosas Net Nanny ofrece un monitoreo continuo de las redes sociales y la mensajería instantánea, vigila la ejecución de juegos inadecuados, filtra el contenido que los menores pueden acceder a internet, envía reportes detallados de la actividad del menor, etc. Windows Live Family: Software de control parental gratuito para Windows que se instala con la suite de aplicaciones Live de Microsoft. Con esta opción podremos fácilmente controlar los contenido que los menores podrán ver, con quien pueden comunicarse, recibir informes del uso que se da al ordenador por parte del menor, etc. Nota: Es posible y recomendable usar varias herramientas de las que hemos citado de forma simultánea. Por ejemplo podríamos el sistema de DNS de OpenDNS y el control parental de Windows. Es recomendable hacer esto ya que ninguna de las opciones que hemos planteado es 100% efectiva. Además alguna de las herramientas que se citan se pueden deshabilitar si el menor en cuestión dispone de conocimientos avanzados de informática. OTRAS PRÁCTICAS A FOMENTAR PARA PROTEGER LOS MENORES El control parental es una herramienta útil para la seguridad de los menores. Sin embargo la herramienta más efectiva siempre será hablar con los menores y darles formación e información acerca de los siguientes aspectos:\nHay que sensibilizar a los menores que en Internet es posible encontrar contenido ofensivo y que puede herir la sensibilidad de los menores. Dar nuestros datos personales a terceros puede resultar peligroso. Por lo tanto se aconseja no dar nunca datos personales, ni usar tu nombre real en chats, foros, no dar fotografías, ir muy en cuenta a la hora de usar la webcam para chatear, no proporcionar números de teléfono, no dar direcciones, etc. Se tiene que ir con cuidado con los ciberamigos de las redes sociales o salas de chat ya que estas personas no siempre son lo que parecen. Hay que evitar a toda costa dar datos personales a nuestros ciberamigos y por supuesto en el caso de quedar con algún ciberamigo el menor deberá avisar a sus padres. Los padres entonces tendrán que decidir si le dejan ir, por quien irán acompañados y definir el sitio en que quedaran. Se aconseja no abrir correos electrónicos ni ejecutar archivos de personas desconocidas, etc. Es posible que el menor sea víctima de ataques de phising o de cualquier otro tipo para que el atacante pueda obtener información. Tenemos que formar a los menores para que nos comuniquen cualquier situación que les haga sentir incómodos en al red. Hay que informar a los menores que en la redes sociales como por ejemplo Facebook, Tuenti u otras no se deben aceptar contactos desconocidos. La información que aparece en internet puede ser cierta o puede ser falsa. Mucha de la información que aparece en Internet son meras opiniones de la gente que pueden ser verdad o no. Hay que hacer entender al menor que lo que está mal en la vida real también estará mal en internet. Por lo tanto lo que no harías en la vida real no lo hagas en internet. Todo lo que se hace o se dice en Internet puede ser leído o consultado por multitud de personas. Hay que informar a los menores que existen prácticas como el grooming, el ciberbullying, el sexting, etc. Si saben en que se basan estás prácticas siempre habrán más posibilidades de identificar posibles ataques. Siempre es recomendable guardar registros de los chats de nuestros menores. En caso de duda, o de un comportamiento extraño por parte del menor, podremos tener una fuente adicional de información acerca del problema. Es recomendable acompañar a los menores en la navegación. De este modo cuando se detecte una conducta sospechosa por parte de un tercero, o cuando el menor realice una acción inapropiada siempre lo podremos avisar y darle la formación pertinente. Es importante formar a los menores sobre el hecho de utilizar contraseñas seguras y no entregarlas nunca a nadie. En caso de alguien tenga nuestra contraseña se podría hacer pasar por nosotros y causarnos grandes perjuicios. EVITAR QUE LOS MENORES SE SALTEN LAS PROTECCIONES DE CONTROL PARENTAL Obviamente es posible saltarse los sistemas de control parental. Ciertamente hay niños adolescentes que disponen de conocimientos de informática mucho más avanzados que los padres. Algunas de las precauciones que podemos implementar para evitar que el menor se salte nuestras restricciones son las siguientes:\nLa cuenta de usuario que el menor utiliza no debe tener nunca privilegios de administrador. De esta forma evitaremos que el menor pueda modificar la configuración del sistema. Tenemos que pensar cuidadosamente los privilegios de usuario que damos a los menores. El menor no debe tener acceso a la configuración del Router. Se recomienda cambiar la contraseña que tiene por defecto el Router y no divulgarla a los menores. Como hemos dicho anteriormente existen Routers con sistemas de control parental incorporados y otras características para proteger el menor. En este punto hay que confiar que el menor no se le ocurra resetear el router. Deberemos aplicar el principio de la redundancia. Como hemos dicho anteriormente podemos aplicar más de un sistema de protección parental de forma simultánea. De esta forma si el menor consigue vulnerar uno de los sistemas siempre quedará el otro. Se recomienda modificar la configuración de la BIOS del ordenador para indicarle que la única unidad de arranque del ordenador sea el disco duro. De esta forma evitaremos que los menores y adolescentes puedan arrancar el ordenador desde un LiveCD o un LiveUSB y por lo tanto puedan saltarse la totalidad de restricciones del control parental. Obviamente el acceso a la configuración de la BIOS la deberemos proteger con contraseña. ","permalink":"https://geeklandlinux.github.io/posts/conceptos-herramientas-control-parental/","summary":"\u003cp\u003eHoy en día gracias a los \u003ca href=\"http://www.diariodenavarra.es/noticias/mas_actualidad/sociedad/2013/10/26/el_uso_del_movil_generaliza_partir_los_anos_134661_1035.html\" title=\"Habitos de uso de internet de los menores\"\u003eestudios\u003c/a\u003e realizados se puede afirmar que \u003cstrong\u003ela gran mayoría de niños que tienen 10 años acceden a diario a internet para poder jugar a juegos, ver vídeos online, acceder a las redes sociales, etc.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eFrente a esta situación \u003cstrong\u003ees altamente recomendable que los padres de estos niños tomen medidas para controlar los sitios que sus hijos están visitando\u003c/strong\u003e y de esta forma poder evitar los peligros que se esconden en la red.\u003c/p\u003e","title":"Conceptos y herramientas del control parental"},{"content":"Durante estos últimos días, y con una periodicidad de 6 meses, la web se inunda de artículos en los que se citan las bondades, maravillas y novedades de la nueva versión de Ubuntu.\nLa verdad es que no acabo de entender porqué hay tanta fiebre por Ubuntu y más cuando personalmente a mi y a muchas otras personas hay puntos de esta distribución que no nos gustan. Mark Shuttleworth seguro que se sentirá realmente alagado y agradecido por la gran campaña de publicidad que realizan muchos de los usuario de Ubuntu. Aunque bien mirado si está pasando esto es que ciertamente Ubuntu ha hecho muchas cosas bien.\nYo no voy a entrar en valorar la última versión Ubuntu 14.04 (Trusty Tahr) ya que estoy seguro que en Youtube y en otros blogs llevan tiempo preparando reviews y además están muchos más capacitados que yo para realizarlas. Más bien lo que pretendo es advertir y recordar a la totalidad de usuarios que hay problemas de privacidad en Ubuntu. Desde la Versión 13.10 Ubuntu sistemáticamente está recolectando datos de sus usuarios, espiándoles y por lo tanto vulnerando su privacidad.\n¿CÚALES SON LOS DATOS QUE RECOLECTA UBUNTU? Que existan problemas de privacidad en Ubuntu no es ningún secreto y seguro que muchos de vosotros ya sabéis que Ubuntu recolecta sistemáticamente datos de sus usuarios. En su día Richard Stallman lo denuncio, y además tan solo tenéis que ir al apartado de configuración del sistema, clicar en el icono de detalles, y finalmente clicar en Aviso Legal. Después de hacer esto podréis ver el siguiente aviso legal en la pantalla:\nLo primero que me sorprende de este aviso legal es que está única y exclusivamente en Inglés. A mi modo de ver un aviso legal tendría que estar en el mismo idioma de la distro que instalamos que en mi caso es el Español. Imagino que si lo ponen por defecto en inglés será porqué muchos de los usuarios no puedan ni entender lo que están haciendo ni comunicando. Táctica inteligente por parte de Canonical para poder espiar a sus usuarios.\nSi traducimos el texto que figura en inglés podemos constatar que los que no está diciendo Ubuntu es que cada que usamos el Dash para realizar una búsqueda, estamos consintiendo y dando nuestra aprobación a que Canonical y sus partners almacenen nuestra IP y las búsquedas que que realizamos. También nos informa que Ubuntu y sus partners usarán la información almacenada para complementar nuestra búsqueda con información de fuentes externas como Amazon, Twitter, Facebook y BBC.\nAsí por lo tanto si en el Dash ponemos el nombre de un libro que tenemos almacenado en nuestro disco duro es muy probable que de repente, en el mismo Dash, nos aparezca información o publicidad de Amazon para que podamos comprar este libro. Si ponemos la palabra música nos aparecerán propuestas de compra de álbumes, etc.\nPor lo tanto queda claro que Ubuntu está vigilando y espiando a sus usuarios. Además podemos afirmar Ubuntu pone dificultades a los usuarios para evitar que esto sea por los siguientes motivos:\nLa opción para recolectar datos de los usuarios de Ubuntu viene activada de serie. Lógicamente muchos usuarios ni lo saben, y los que lo saben a veces ni se preocupan de desactivar esta característica. En el apartado en que se informa de la recolección de datos ni se molestan en traducirlo al idioma del usuario. POSIBLES FINES DE LA RECOLECCIÓN DE DATOS Hay que decir que si miramos en la página de Ubuntu está claramente definido el uso que Canonical da a la totalidad de información que recopila de sus usuarios. Y creo que lo que escriben es suficientemente claro y lo pueden consultar ustedes mismos en el siguiente enlace:\nhttp://www.ubuntu.com/privacy-policy\nPero lo que también es verdad es que nadie sabe el uso real que Ubuntu hace de los datos que recopila de sus usuarios. Porqué una cosa es lo que se dice y otra lo que se hace y en la historia hay numerosos ejemplos de lo que estoy diciendo.\nNo pienso que las intenciones de Ubuntu y Canonical sean malas. Más bien pienso que el hecho de recolectar datos para realizar búsquedas en redes externas como por ejemplo Amazon es debido a que durante el 2014 es previsible que salgan las primeras tablets, teléfonos y televisiones con el sistema operativo Ubuntu.\nCreo que el verdadero motivo es este ya que las tablets, teléfonos, PC\u0026rsquo;s y televisiones de Ubuntu compartirán un sistema operativo único y en casos como las televisiones, tablets o teléfonos está característica puede tener cierto sentido y puede resultar útil para algunos usuarios para por ejemplo comprar y consumir contenido como películas, libros, etc. Además el hecho que Ubuntu pueda conocer las inquietudes y demandas de sus usuarios es importante ya que de este modo siempre podrá darles lo que quieren.\nNo obstante haciendo esto, Ubuntu vulnera o rompe una de las ventajas o creencias que existían en software libre que era que “El \u0026ldquo;software libre no te espía”\nQUE HACER PARA QUE UBUNTU NO RECOLECTE NUESTROS DATOS Si queremos podemos desactivar la función de recolección de datos fácilmente. La opción más fácil es la siguiente:\nTal y como se puede ver en la captura de imagen entramos en el Dash y tecleamos la palabra Seguridad:\nEn el apartado de aplicaciones aparecerá un icono que pone Seguridad y privacidad en Ubuntu. Tal y como podemos ver en la captura de pantalla clicamos encima del icono de \u0026ldquo;Seguridad y privacidad\u0026rdquo; y posteriormente se abrirá una ventana. En la ventana que ha aparecido clican la pestaña de búsqueda y les aparecerá el siguiente menú:\nAhora, tal y como se puede ver en la captura de pantalla, tan solo tiene que desactivar la opción \u0026ldquo;Al realizar búsquedas en el tablero Incluir resultado de búsqueda en línea\u0026rdquo;.\nNota: Esta opción desactivará gran parte de la funcionalidad del Dash de Unity. Quien quiera ser menos radical y eliminar solo parte de los Scope que se dedican a recopilar datos tendrá que esperar a que publique un post en que explique como desactivar los scope que no deseamos. PERSPECTIVAS DE FUTURO EN CUANTO A LA PRIVACIDAD EN UBUNTU A pesar de la totalidad de comentarios negativos que hago en este post hay que reconocer que Ubuntu también aporta y ha aportado muchas cosas positivas a los usuarios y a la comunidad. Además estéticamente nadie puede negar Ubuntu no sea bonito. Las cosas siempre es bueno que entren por la vista.\nAdemás hay rumores que a partir de Unity 8 el tema de la recopilación de datos puede cambiar y ser un poco más transparente. Se rumorea que el Dash de Unity 8 permitirá seleccionar los motores de búsqueda para realizar nuestras consultas. De este modo si queremos incluir el motor de búsqueda de Amazon lo incluiremos y enviaremos nuestras peticiones a Ubuntu y Amazon. Si no queremos no lo incluimos y fin de la historia.\nLINK INTERESANTE PARA REFLEXIONAR SOBRE LA PRIVACIDAD EN UBUNTU Y EL RESTO DE SISTEMAS OPERATIVOS Solo para finalizar el post les quiero dejar el siguiente link que es el que me ha motivado ha escribir este post.\nhttps://www.gnu.org/philosophy/ubuntu-spyware.es.html\nEn este link encontrarán lo que público Richard Stallman el día en que denunció que Ubuntu estaba recopilando datos de sus usuarios. Sin duda la lectura es recomendada.\n","permalink":"https://geeklandlinux.github.io/posts/problemas-de-privacidad-en-ubuntu/","summary":"\u003cp\u003eDurante estos últimos días, y con una periodicidad de 6 meses, la web se inunda de artículos en los que se citan las bondades, maravillas y novedades de la nueva versión de Ubuntu.\u003c/p\u003e\n\u003cp\u003eLa verdad es que no acabo de entender porqué hay tanta fiebre por Ubuntu y más cuando personalmente a mi y a muchas otras personas hay puntos de esta distribución que no nos gustan. \u003ca href=\"http://www.markshuttleworth.com/\" title=\"Blog de Mark Suttleworth\"\u003eMark Shuttleworth\u003c/a\u003e seguro que se sentirá realmente alagado y agradecido por la gran campaña de publicidad que realizan muchos de los usuario de Ubuntu. Aunque bien mirado si está pasando esto es que ciertamente Ubuntu ha hecho muchas cosas bien.\u003c/p\u003e","title":"Continúan los problemas de privacidad en Ubuntu 14.04"},{"content":"Hace ya semanas vimos como montar nuestro propio servidor OpenVPN en distribuciones derivadas de Debian y posteriormente vimos como podíamos conectarnos a nuestro servidor OpenVPN a través de iOS. Por lo tanto ahora toca el turno de ver como nos podemos conectar a nuestro servidor OpenVPN en Windows. Los pasos para seguir para poder utilizar nuestro Servidor OpenVPN en Windows son los siguientes:\nPASO 1: RECOPILAR LAS CLAVES NECESARIOS PARA LA CONEXIÓN AL SERVIDOR OPENVPN EN WINDOWS En su día ya vimos que OpenVPN funciona mediante certificados y claves RSA construidas con Openssl. También creamos la totalidad de claves para que los clientes puedan conectarse al servidor OpenVPN. Por lo tanto si seguimos la totalidad de pasos que se detallan en el siguiente enlace, en la ubicación /etc/openvpn/keys tenéis que tener las siguientes claves:\nArchivo Descripción Ubicación Secreto ca.crt Certificado raíz de la entidad certificadora Servidor (/etc/openvpn) y cliente No whezzyVPN.crt Certificado del servidor VPN Servidor (/etc/openvpn) y cliente No usuariovpn.key Clave privada del cliente VPN Cliente Sí usuariovpn.crt Certificado del cliente VPN Cliente No ta.key Clave para la Autentificación TLS Servidor (/etc/openvpn) y cliente Sí Ahora tan solo tenemos que copiar las claves detalladas en la tabla en el cliente que en este caso será un sistema operativo Windows 7. Para hacer el traslado existen muchos métodos y pueden usar el que más les convenga.\nAl tratarse de un tutorial lo haré mediante una memoria USB porqué considero que es la forma que requiere de menos conocimientos informáticos. Si no tuviera que hacer el tutorial extraería las claves fácilmente conectándome al servidor OpenVPN vía SSH.\nPor lo tanto conectamos la memoria USB a nuestro servidor. Una vez enchufada tendremos tendremos que montarla. Para montarla les recomiendo seguir las instrucciones que se muestran en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/montar-la-memoria-usb-en-la-terminal/\nNota: Si vuestro servidor dispone de un entorno gráfico la memoria USB se montará automáticamente. Una vez montada la memoria USB tan solo tenemos que copiar las claves del servidor a la memoria USB. Para ello en el caso que no tengan entorno gráfico puede utilizar el siguiente comando:\ncp /etc/openvpn/keys/* /media/usb Nota: Este comando copia la totalidad de contenido de la /etc/openvpn/keys, que es donde estan nuestras claves, en nuestra memoria USB que hemos montado en la carpeta /media/usb PASO 2: COPIAR EL FICHERO DE CONFIGURACIÓN DEL CLIENTE Cuando configuramos el servidor también creamos un fichero de configuración para el cliente. Este fichero lo guardamos en la ubicación /etc/openvpn con el nombre client.conf.\nEste fichero también lo copiaremos a nuestra memoria USB. Para ellos introduciremos el siguiente comando en la terminal:\ncp /etc/openvpn/client.conf /media/usb Nota: Este comando copia el fichero client.conf ubicado en /etc/openvpn/keys a nuestra memoria USB que hemos montado en la carpeta /media/usb. Si a alguien le puede servir de ayuda les dejo la captura de pantalla del procedimiento que he seguido en mi caso:\nPASO 3: INSTALAR EL PROGRAMA CLIENTE DE OPENVPN EN WINDOWS Este paso a priori es de los más sencillos. Tan solo tienen entrar en el siguiente enlace para poder descargar el cliente Openvpn para Windows 7 que nos permitirá conectarnos a nuestro servidor OpenVPN:\nTal y como se puede ver en la captura de pantalla, una vez hayan ingresado en el enlace disponen de varios links para descargar el cliente OpenVPN en Windows:\nSi vuestro sistema operativo es de 32 bits tendréis que seleccionar el link de descarga que corresponde a Windows Installer (32-bit). Si vuestro sistema operativo es de 64 bits tendréis que seleccionar el link de descarga que corresponde a Windows Installer (64-bit). Nota: En el caso de tener dudas si vuestro sistema operativo es el de 32 bits o 64 bits pueden consultar el siguiente enlace. Otra opción en caso de tener dudas es instalar el de 32 bits ya que cliente OpenVPN de 32 bits funcionará adecuadamente en las 2 arquitecturas. Una vez descargado el instalador nos vamos a la ubicación donde lo hemos descargado el archivo .exe:\nTal y como se puede ver en la captura de pantalla clicamos el botón derecho del mouse y elegimos la opción “Ejecutar como administrador”. Una vez realizado esto empezará la instalación del cliente. Las etapas de la instalación serán las siguientes:\n1- Primero saldrá un mensaje de si deseamos que el programa que vamos a instalar realice cambios en el equipo. Nosotros debemos responder que Sí.\n2- Seguidamente aparecerá una ventana que bienvenida. Tan solo tenemos que presionar el botón Next.\n3- Seguidamente, tal y como se puede ver en la captura de pantalla, aparecerá una ventana para seleccionar los componentes que instalaremos:\nFrente a esta ventana dejaremos las opciones por defecto sin modificar nada y presionaremos el botón Next.\n4- En el cuarto paso aparecerá una ventana para seleccionar la ruta de instalación del programa. Dejamos la ruta por defecto, que en mi caso es C:/Archivos de programa/OpenVPN, y presionamos el botón Next y empezará la instalación que será cuestión de segundos.\nNota: Es posible que durante la instalación os aparezca una ventana para que aceptéis la instalación de un nuevo adaptador virtual de Red con nombre (TAP-Windows Provider). En el caso que aparezca la ventana tan solo tiene que presionar el botón Instalar. 5- Una vez finalizada la instalación tan solo tenemos que presionar en el botón Next y en la siguiente ventana que aparezca presionamos el botón Finish.\nUna vez realizados estos pasos hemos finalizado la instalación del cliente. También observarán que en el escritorio de windows habrá aparecido un icono de acceso directo al cliente OpenVPN.\nPASO 4: RENOMBRAR EL FICHERO DE CONFIGURACIÓN DEL CLIENTE El paso número 4 consiste en enchufar la memoria USB que contiene todas las claves y el ficheros de configuración del cliente en el ordenador con Windows.\nUna vez hemos enchufado el pendrive a nuestro ordenador lo abrimos y consultamos su contenido:\nTal y como se puede ver en la captura de pantalla tenemos que localizar el fichero client.conf. Una vez localizado el fichero client.conf deberemos cambiar su extensión a client.ovpn\nUna vez realizado esto ya podemos pasar al siguiente punto.\nNota: Si tienen problemas en cambiar la extensión del archivo client.conf pueden consultar el siguiente enlace. PASO 5: TRASLADAR LAS CLAVES Y FICHERO DE CONFIGURACIÓN DEL PENDRIVE AL CLIENTE OPENVPN El quinto paso es tan simple como copiar las claves y el fichero de configuración del cliente del pendrive a la ubicación C:/Archivos de programa/OpenVPN/config\nPara ello tal y como podemos ver en la captura de tan solo tenemos que seleccionar los siguientes archivos del pendrive.\nca.crt “Certificado raíz de la entidad certificadora” whezzyVPN.crt “Certificado del servidor VPN” usuariovpn.key “Clave privada del cliente VPN” usuariovpn.crt “Certificado del cliente VPN” ta.key “Clave de Autentificación TLS” client.ovpn “Fichero de configuración del cliente” Seguidamente, tal y como también podemos ver en la captura de pantalla, tenemos que arrastrar los 6 archivos seleccionados dentro de la ventana con ubicación C:/Archivos de programa/OpenVPN/config.\nUna vez realizados estos pasos ya tenemos copiadas las claves y ficheros de configuración necesarios en nuestro cliente OpenVPN.\nPASO 6: CONECTARSE AL SERVIDOR OPENVPN EN WINDOWS Después de copiar la claves y el fichero de configuración del cliente ya nos podemos conectar al servidor OpenVPN en Windows. Pero antes de conectarnos analizaremos cual es nuestra IP. Para ello abrimos nuestro navegador y accedemos a la siguiente URL.\nEn la captura de pantalla vemos que nuestra IP termina en 5.6. Una vez conectados al servidor OpenVPN en Windows esta terminación tiene que cambiar. En el caso que no cambie querrá decir que algo no esta funcionando de forma adecuada y que no estamos conectados al servidor OpenVPN de forma correcta.\nPara conectarnos al servidor OpenVPN en Windows nos vamos a nuestro escritorio en el que encontraremos un icono de acceso directo al cliente OpenVPN.\nTal y como se puede ver en la captura de pantalla presionamos con el botón derecho del mouse encima del icono del programa OpenVPN. Aparecerá una lista desplegable de opciones en la que deberemos seleccionar la opción “Ejecutar como administador”\nUna vez seleccionada esta opción aparecerá la siguiente pantalla:\nIntroducen el usuario y contraseña que creamos en la configuración del servidor y presionan el botón OK. Una vez presionado el botón OK esperan unos segundos y en la parte inferior de la pantalla les tiene que aparecer un mensaje similar al que se muestra en la siguiente captura de pantalla:\nEn estos momentos ya estamos conectados al servidor OpenVPN en Windows. Pero para tener la seguridad total que estamos conectados al servidor OpenVPN de forma correcta vamos a comprobar de nuevo nuestra dirección IP. Para ello abrimos el navegador e ingresamos en la siguiente URL:\nTal y como se puede observar en la captura de pantalla nuestra IP pública ahora termina en 235.137. Anteriormente terminaba en 5.6. Por lo tanto podemos tener cierta seguridad que la conexión al servidor Openvpn en Windows se ha realizado de forma adecuada.\n","permalink":"https://geeklandlinux.github.io/posts/conectarse-servidor-openvpn-en-windows/","summary":"\u003cp\u003eHace ya semanas vimos como montar nuestro propio servidor OpenVPN en distribuciones derivadas de Debian y posteriormente vimos como podíamos conectarnos a nuestro servidor OpenVPN a través de iOS. Por lo tanto \u003cstrong\u003eahora toca el turno de ver como nos podemos conectar a nuestro servidor OpenVPN en Windows\u003c/strong\u003e. Los pasos para seguir para poder utilizar nuestro Servidor OpenVPN en Windows son los siguientes:\u003c/p\u003e","title":"Conectarse a un servidor OpenVPN en Windows"},{"content":"No acostumbro a publicar contenido acerca de resolución de problemas que podemos tener con nuestros equipos pero está vez lo veo apropiado ya que he tenido un problema con Dropbox y ninguna de las soluciones que he encontrado en varios de los blogs que he consultado me ha funcionado. Por lo tanto en este post detallaré lo que hice para solucionar el problema “No es posible supervisar el sistema de archivos” que tuve con Dropbox.\nSÍNTOMAS DEL PROBLEMA Justo al arrancar vuestro equipo os aparecerá el mensaje que se muestra en la imagen del inicio de este post y que contiene el siguiente contenido:\n“No es posible supervisar el sistema de archivos. Ejecuta”echo fs.notify.max_user_watches=100000 | sudo tee-a /etc/sysctl.conf; sudo sysctl -p” y reinicia dropbox para resolver el problema.\nLa principal consecuencia que tendrá este error es la siguiente:\nPerderéis totalmente las sincronización entre los distintos equipos que tienen instalado Dropbox. Así por lo tanto si en el ordenador que tengo el problema pongo un archivo en la carpeta de Dropbox este no se va a subir a la nube ni se sincronizará con el resto de equipos. Por lo tanto viendo las causas del problema es importante que corrijamos este problema.\nCAUSA DEL PROBLEMA La causa de este problema es que la versión de Dropbox para Linux está programada para monitorizar únicamente 10,000 carpetas. Por lo tanto si en Dropbox tenemos una estructura de archivos almacenada con más de 10,000 carpetas se generará este error en el momento que se vaya a supervisar la carpeta 10,001, y por lo tanto solo podremos tener sincronizadas 10,000 carpetas.\nDe esta forma cuando se vaya a subir un archivo en una de las carpetas que no se ha supervisado o cuando se crea una nueva carpeta, este no subirá a la nube ni se sincronizará con el resto de equipos.\nSOLUCIÓN DEL PROBLEMA NO ES POSIBLE SUPERVISAR EL SISTEMA DE ARCHIVOS La solución a este problema es simple. Lo que haremos es incrementar el valor de la restricción de 10,000 carpetas a 100,000 carpetas y de esta forma evitaremos el error.\nPara incrementar la restricción de supervisión de 10,000 carpetas a 100,000 carpetas tan solo tenemos que realizar 2 pasos muy sencillos que son los siguientes:\nPaso 1: Modificación del archivo /etc/rc.local Abrimos una terminal y dentro de la terminal tecleamos el siguiente comando:\nsudo nano /etc/rc.local Se abrirá el editor de textos nano con el contenido del fichero rc.local. Una vez abierto tal y como podemos ver en la captura de pantalla introducimos la siguiente linea en el archivo:\necho 100000 | tee /proc/sys/fs/inotify/max_user_watches Una vez introducida la linea guardamos el archivo.\nPaso 2: Modificación del archivo /etc/sysctl.conf Abrimos una terminal y dentro de la terminal tecleamos el siguiente comando:\nsudo nano /etc/sysctl.conf Se abrirá el editor de textos nano con el contenido del fichero sysctl.conf. Una vez abierto, tal y como podemos ver en la captura de pantalla, introducimos la siguiente linea en el archivo:\nfs.notify.max_user_watches = 100000 Una vez introducida la linea guardamos el archivo y tan solo tenemos que reiniciar nuestro ordenador para comprobar que el problema está resuelto.\nNota: Esta solución la he aplicado en Xubuntu 12,04 y Debian Testing. En los 2 casos ha funcionado perfectamente. Nota: En muchos post solo aplican el paso 2 y los usuarios parecen resolver el problema. En mi caso no es así y tengo que aplicar los 2 pasos que menciono tanto un xubuntu 12.04 como en Debain Testing. CRITICA A DROPBOX Es natural que Dropbox tenga sus propias limitaciones. Por ejemplo si buscáis un poco en la web de Dropbox y en su foro podréis ver que en Dropbox que existen limitaciones del siguiente tipo:\nSi un usuario de Dropbox dispone de más de 300000 ficheros almacenados en Dropbox es posible que su servicio no funcione adecuadamente. Desde el navegador web se pueden subir archivos de hasta 10 Gb. Desde la aplicación de escritorio o móvil no existe esta limitación alguna en este aspecto. A través de la página web solo se pueden previsualizar 15 minutos de cada uno de los vídeos que tenemos almacenados en Dropbox. Los usuarios Free solo pueden compartir 20 Gb por día de su carpeta pública. En Windows los nombres de los archivos tienen que estar limitados a 260 caracteres. El nombre del archivo incluye la ruta de almacenamiento del archivo. Por lo tanto es recomendable que los usuarios de Windows pongan su carpeta pública en la raíz de su sistema. A pesar de las limitaciones de Dropbox, y que además también tienen la totalidad de servicios similares, Dropbox siempre me ha funcionado bien y lo utilizo en la totalidad de ordenadores, teléfonos y tablets que uso.\nPero hay que decir que no tiene ni pies ni cabeza que los usuarios de Linux tengan una limitación de supervisión o sincronización de 10,000 carpetas mientras que los usuarios de otros sistemas operativos como Windows o Mac OS X no la tengan. Además se puede afirmar claramente que nadie de Dropbox está preocupado por solucionar este asunto ya que esta limitación ya existía en el año 2011 y hoy en el 2014 aún sigue existiendo. Por lo tanto pienso que se puede decir claramente que Dropbox tiene bastante olvidados a los usuarios de Linux. También tengo mis dudas que el cliente de escritorio de Linux esté tan evolucionado como el de otros sistemas operativos ya que en mi caso a pesar de que todo me funciona correctamente el consumo de RAM que tengo es bastante elevado.\nPor lo tanto visto el panorama quien tenga problemas con Dropbox, o simplemente quiera probar un servicio alternativo, hoy en día existen múltiples alternativas de calidad como por ejemplo Copy. Únicamente destacaré Copy ya que es la única alternativa que he probado y estoy satisfecho con su rendimiento. Además copy dispone de clientes en la totalidad de sistemas operativos existentes.\n","permalink":"https://geeklandlinux.github.io/posts/no-es-posible-supervisar-el-sistema-de-archivos-dropbox/","summary":"\u003cp\u003eNo acostumbro a publicar contenido acerca de resolución de problemas que podemos tener con nuestros equipos pero está vez lo veo apropiado ya que he tenido un problema con Dropbox y ninguna de las soluciones que he encontrado en varios de los blogs que he consultado me ha funcionado. Por lo tanto en este post detallaré lo que hice para solucionar el problema “No es posible supervisar el sistema de archivos” que tuve con Dropbox.\u003c/p\u003e","title":"No es posible supervisar el sistema de archivos Dropbox"},{"content":"Durante las próximos meses voy a publicar una serie de artículos de como hacer que se retire contenido que vulnera los derechos de autor en la Web.\nEl primer ejemplo que veremos es como eliminar contenido que vulnera los derechos de autor en la plataforma Blogger. Después de aplicar los pasos que se detallan en el contenido del post, se eliminará completamente de Internet la página que vulnera los derechos de propiedad intelectual.\nLOCALIZAR EL ARTÍCULO A BORRAR Cierto día escribí un artículo para explicar como bloquear prácticamente la totalidad de publicidad en Android sin necesidad de ser usuario root.\nResulta que el artículo gusto y hay varios blogs que han fotocopiado este post sin poner ni tan siquiera la fuente y haciendo hot-linking. Por lo tanto como no me gusta la forma de proceder de esta gente, y además están robando recursos del servidor que pago procederemos a que Google/Blogger retire el contenido de uno de los blogs que ha realizado esto.\nPara localizar la ubicación del contenido copiado pueden usar varios métodos. Uno de los métodos que se puede usar es el servicio de copyscape. Para acceder a este servicio tan solo tienen que clicar en el siguiente enlace.\nTal y como pueden ver en la captura de pantalla una vez han accedido dentro de la web, ingresan la URL que quieren analizar si ha sido copiada.\nCuando hayamos copiado la URL, que en mi caso es https://geeklandlinux.github.io/posts/bloquear-publicidad-en-android-sin-root/, presionamos el botón Go.\nSeguidamente aparecerán la totalidad de enlaces que simplemente se han dedicado a copiar y pegar nuestro contenido.\nEn mi caso he encontrado he encontrado 3 webs que han usado contenido del artículo que escribí. Después de analizar los 3 enlaces veo que uno de estos ha fotocopiado el post sin referencias a su autor y además esta realizando hotlinking. Tomamos nota del enlace que nos copia que al ser de la plataforma Blogger tendrá un aspecto parecido al siguiente:\nhttp://xxxxx.blogspot.com/2014/01/bloquear-publicidad-en-android-sin-ser.html\nUna vez ya tenemos la URL que queremos eliminar ya podemos pasar al siguiente paso.\nNota: Compartir contenido está bien. Fotocopiar, robar recursos de un servidor y apropiarse de algo que no es tuyo está mal. PROCEDIMIENTO PARA ELIMINAR CONTENIDO DE BLOGGER Una vez conocida la URL que queremos eliminar tan solo tenemos que clicar en el siguiente enlace . El enlace que acabo de poner tiene la utilidad de eliminar el contenido que queramos de cualquiera de los productos/servicios de google.\nUna vez hemos ingresado dentro del enlace tan solo tenemos que ir siguiendo las instrucciones y leer detalladamente el contenido que se nos muestra en pantalla. Las opciones que debemos elegir en mi caso son las que muestro a continuación:\n1-Seleccionar el producto de Google del que queremos solicitar información Aparecerán una serie de opciones de productos de Google para solicitar información. Tal y como se puede ver en la captura de pantalla quiero solicitar información acerca de Blogspot/Blogger ya que el usuario que ha fotocopiado el post usa Blogspot.\n2-Tipo de información que queremos solicitar Seguidamente nos aparecerá una pantalla que nos preguntará que queremos solicitar de Blogger. Ninguna de las opciones que se muestran en pantalla será la que necesitamos. Por lo tanto tal y como pueden ver en al captura de pantalla seleccionamos la opción Tengo un problema de carácter legal que no figura entre los anteriores.\nAl seleccionar esta opción aparecerán otra serie de opciones, y en esta caso si figurará la opción que nosotros tenemos que seleccionar. La que tenemos que seleccionar es He encontrado contenido que puede infringir mis derechos de autor.\n3- Confirmación que somos los propietarios del material que estamos denunciando En el siguiente paso se nos preguntará si somos los propietarios de los derechos de autor. En mi caso tal y como se puede ver en la captura responderé que si que soy el propietario.\n4- Seleccionar el tipo de material que se está infringiendo La siguiente pregunta es seleccionar el tipo de material que está infringiendo los derechos de autor. En mi caso aparecen solamente dos opciones que son imágenes u otros.\nYa que el contenido copiado es una fotocopia del post incluyendo imágenes y texto, podría seleccionar cualquiera de las 2 opciones. No obstante como solo podemos seleccionar una de las opciones voy a seleccionar la opción Otros.\n5- Acceder al formulario para cumplimentar la información de la denuncia Tal y como se puede ver en la captura de pantalla, el siguiente paso es clicar encima del enlace este formulario para de esta poder dar información adicional a Google para que retire el contenido.\n6- Cumplimentar el formulario de denuncia Finalmente ya solo nos queda cumplimentar el formulario. Los datos que tendremos que introducir en el formulario son los siguientes:\nNombre y apellidos: En esta celda tienen que introducir vuestronombre y apellidos. Nombre de la empresa: En el caso que formarais parte de alguna organización empresarial habría que introducir el nombre de la empresa. En mi caso como soy solo una persona pondré Particular. Dirección de email: Tienen que poner una dirección de email para que google les pueda contactar. País de residencia: Tienen que seleccionar vuestro país. Por lo tanto en mi caso tengo que seleccionar España. URL que contiene el contenido Original: En este apartado tenemos que indicar la URL que contiene el material original. En mi caso https://geeklandlinux.github.io/posts/bloquear-publicidad-en-android-sin-root/. Identificar y describir el material protegido por los derechos de autor: En este campo tenemos que describir el material que vulnera los derechos de autor. También tenéis que copiar una muestra del material que vulnera los derechos de autor. URL a eliminar: Simplemente tenéis que especificar la URL que queréis eliminar de Internet. En mi caso esta URL es http://xxxxx.blogspot.com/2014/01/bloquear-publicidad-en-android-sin-ser.html Aceptar las declaraciones juradas:* En este paso tan solo tenéis que tildar los 2 cuadrados pequeños. Tildando estos 2 cuadritos estáis diciendo a Google que el propietario de los derechos de autor no autoriza a los presuntos infractores a compartir su contenido. Además estáis jurando bajo pena de perjurio que la denuncia que estáis haciendo es verídica. Fecha de la firma: En este campo desplegable tan solo tenemos que introducir la fecha de la denuncia. Firma: Como paso final tan solo tenemos que introducir nuestra firma. Para introducir la firma tan solo tenemos que introducir nuestros nombres y apellidos. Finalmente una vez cumplimentados todos los campos tan solo tienen que ir a la parte inferior de la página y presionar el botón Enviar.\nPara a quien la explicación no le haya resultado clara la explicación o tenga alguna duda les dejo las capturas de pantalla de la denuncia que cursé en su día:\nCONFIRMACIÓN DE LA RETIRADA DEL CONTENIDO Justo al enviar la petición de retirada de contenido recibiréis un email de Google comunicando que han recibido tu solicitud de carácter legal y que procederán a analizar si es aceptada o no.\nAhora tan solo tenéis que esperar 3, 4 o 5 días a que Google tome una decisión. En el momento que se tome la decisión se nos informará vía email.\nEn el caso que expongo en este post, con total seguridad Google procederá a eliminar por completo el contenido de Blogger/Blogspot. Es solo cuestión de días que esto pase.\nPor lo que hace referencia al usuario de Blogger o Blogspot que ha copiado el post en principio no le pasará nada. Lo máximo que le pasará es que probablemente reciba una penalización en lo que a SEO se refiere y su número de visitas decrecerá. No obstante si propietario del blog de Blogger acumula muchas denuncias con un carácter similar lo más probable es que Google proceda a cerrarle su blog al igual que cierra canales de Youtube.\nADVERTENCIAS Esta no es una herramienta para jugar, ni para hacer peticiones malintencionadas ni para hacer malas pasadas a los Bloggers.\nEn el caso que alguien se dedique a realizar denuncias falsas puede salir perjudicado en función de los daños que ocasione con sus denuncias falsas. Además frente a una denuncia, los denunciados siempre tendrán derecho a realizar una contranotificación informando a Google que la denuncia que han recibido es falsa.\nPor lo tanto mi consejo es que se lo piensen 2 veces antes de denunciar. Lo más aconsejable antes de denunciar a Google seria hablar con la persona que ha colgado vuestro material sin autorización y pedirle que lo retire por las buenas.\nOTRAS UTILIDADES DE ESTA HERRAMIENTA Esta herramienta que acabamos de mostrar tiene varias utilidades. No solo la podemos usar para borrar contenido de blogger. La podemos usar en muchas otras circunstancias. Algunas de estas ocasiones en que podemos usar la misma herramienta son:\nPara eliminar contenido de carácter personal que esta indexada en Google. Para denunciar la suplantación de identidad en un blog o red social. Para eliminar contenido acosador o intimidatorio. Para denunciar imágenes que pueden herir la sensibilidad de personas. Para eliminar contenido difamatorio de un tercero hacia nosotros. Otras opciones\u0026hellip; Para ver el resto de opciones que ofrecen tan solo tienen que dar una ojeada a las múltiples opciones que ofrece esta herramienta. En un futuro breve volveré para explicar como realizar lo mismo en otras plataformas como por ejemplo Wordpress, eliminar contenido del buscador de Bing, etc.\n","permalink":"https://geeklandlinux.github.io/posts/eliminar-contenido-de-blogger/","summary":"\u003cp\u003eDurante las próximos meses voy a publicar una serie de artículos de como hacer que se retire contenido que vulnera los derechos de autor en la Web.\u003c/p\u003e\n\u003cp\u003eEl primer ejemplo que veremos es como eliminar contenido que vulnera los derechos de autor en la plataforma Blogger. Después de aplicar los pasos que se detallan en el contenido del post, se eliminará completamente de Internet la página que vulnera los derechos de propiedad intelectual.\u003c/p\u003e","title":"Eliminar contenido de Blogger"},{"content":"En pasados post vimos de forma muy detallada como crear y configurar nuestro propio servidor OpenVPN con cualquier distribución derivada de Debian. Una vez instalado y configurado nuestro servidor OpenVPN lo único que falta es configurar los clientes en los distintos sistemas operativos que existen para podernos conectar al servidor OpenVPN.\nEl primer sistema operativo en que veremos como podemos utilizar nuestro servidor OpenVPN es iOS. Los pasos para poder utilizar nuestro Servidor OpenVPN en iOS son los siguientes:\nPASO 1: RECOPILAR LAS CLAVES NECESARIAS PARA LA CONEXIÓN AL SERVIDOR En su día ya vimos que OpenVPN funciona mediante mediante certificados y claves RSA construidas con Openssl. También creamos la totalidad de claves para que los clientes puedan conectarse al servidor OpenVPN. Por lo tanto si seguimos la totalidad de pasos que se detallan en el siguiente enlace, en la ubicación /etc/openvpn/keys tenéis que tener las siguientes claves:\nArchivo Descripción Ubicación Secreto ca.crt Certificado raíz de la entidad certificadora Servidor (/etc/openvpn) y cliente No whezzyVPN.crt Certificado del servidor VPN Servidor (/etc/openvpn) y cliente No usuariovpn.key Clave privada del cliente VPN Cliente Sí usuariovpn.crt Certificado del cliente VPN Cliente No ta.key Clave para la Autentificación TLS Servidor (/etc/openvpn) y cliente Sí Ahora tan solo tenemos que copiar las claves detalladas en la tabla en el cliente, que en este caso será un iPad con iOS 7.1. Para hacer el traslado existen muchos métodos y pueden usar el que más les convenga.\nAl tratarse de un tutorial lo haré mediante una memoria USB porqué considero que es la forma que requiere de menos conocimientos informáticos. Si no tuviera que hacer el tutorial extraería las claves fácilmente conectándome al servidor OpenVPN vía SSH.\nPor lo tanto enchufamos la memoria USB a nuestro servidor OpenVPN. Una vez enchufada tendremos tendremos que montarla. Para montarla les recomiendo seguir las instrucciones que se muestran en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/montar-la-memoria-usb-en-la-terminal/\nNota: Si vuestro servidor dispone de un entorno gráfico la memoria USB se montará automáticamente. Una vez montada la memoria USB tan solo tenemos que copiar las claves del servidor a la memoria USB. Para ello en el caso que no tengan entorno gráfico puede utilizar el siguiente comando:\ncp /etc/openvpn/keys/* /media/usb Nota: Este comando copia la totalidad de contenido de la ubucación /etc/openvpn/keys, que es donde estan nuestras claves, a nuestra memoria USB que hemos montado en la carpeta /media/usb. PASO 2: COPIAR EL FICHERO DE CONFIGURACIÓN DEL CIENTE Cuando configuramos el servidor también creamos un fichero de configuración para el cliente. Este fichero lo guardamos en la ubicación /etc/openvpn con el nombre client.conf.\nEste fichero también lo copiaremos a nuestra memoria USB. Para ellos introduciremos el siguiente comando en la terminal:\ncp /etc/openvpn/client.conf /media/usb Nota: Este comando copia el fichero client.conf ubicado en /etc/openvpn/keys a nuestra memoria USB que hemos montado en la carpeta /media/usb. Para si a alguien le puede servir de ayuda les dejo la captura de pantalla del procedimiento que he seguido en mi caso:\nPASO 3: INSTALAR EL PROGRAMA CLIENTE DE OPENVPN EN iOS Este paso es el más sencillo de todos. Tan solo tienen que ir a la AppStore e instalar el programa OpenVPN. Si clican en el siguiente enlace accederán directamente a la descarga del programa.\nPara que no tengan ningún tipo de duda del programa que se trata les dejo esta captura de pantalla en la que pueden ver información relativa al programa.\nNota: Si en la appstore hacen una búsqueda por openvpn también encontrarán fácilmente el cliente openvpn que tenemos que descargar. PASO 4: RENOMBRAR EL FICHERO DE CONFIGURACIÓN DEL CLIENTE El paso número 4 consiste en enchufar la memoria USB que contiene todas las claves y el fichero de configuración del cliente en un ordenador que tenga instalado iTunes.\nUna vez hemos enchufado el pendrive a nuestro ordenador lo abrimos y consultamos su contenido:\nTal y como se puede ver en la captura de pantalla tenemos que localizar el fichero client.conf. Una vez localizado el fichero client.conf deberemos cambiar su extensión a client.ovpn\nUna vez realizado esto ya podemos pasar al siguiente punto.\nNota: Si tienen problemas en cambiar la extensión del archivo en windows pueden consultar el siguiente enlace. PASO 5: CONECTAR EL IPAD O IPHONE EN NUESTRO ORDENADOR Y SINCRONIZARLO CON ITUNES El quinto paso es abrir Itunes en nuestro ordenador con Windows o Mac. Una vez hemos abierto iTunes enchufamos el Ipad o Iphone y esperamos a que se sincronice.\nUna vez sincronizado, tal y como pueden ver en la captura de pantalla, En la columna de la izquierda tienen que clicar donde dice iPad de Joan.\nNota: En vuestro caso en vez de iPad de Joan aparecerá otro nombre. Seguidamente, tal y como también vemos en la captura de pantalla, en la parte central superior de la pantalla tenemos que clicar en el botón Aplicaciones. Una vez presionado el botón aplicaciones, en la pantalla aparecerán la totalidad de aplicaciones que tenemos instaladas en nuestro iPad o iPhone.\nAhora que tenemos todas las aplicaciones en pantalla tenemos ir al apartado Compartir Archivos y clicar encima de la aplicación que tiene como nombre OpenVPN.\nUna vez hayáis clicado encima de aplicación OpenVPN, en la columna de más a la derecha aparecerá una recuadro que pondrá Documentos OpenVPN.\nTal y como se puede ver en la captura de pantalla, volvemos a la ventana donde podemos visualizar el contenido de nuestro pendrive, y por lo tanto podemos ver la totalidad de claves y el archivo de configuración del cliente. Una vez tenemos visible la ventana seleccionamos los siguientes archivos:\nca.crt \u0026ldquo;Certificado raíz de la entidad certificadora\u0026rdquo; whezzyVPN.crt \u0026ldquo;Certificado del servidor VPN\u0026rdquo; usuariovpn.key \u0026ldquo;Clave privada del cliente VPN\u0026rdquo; usuariovpn.crt \u0026ldquo;Certificado del cliente VPN\u0026rdquo; ta.key \u0026ldquo;Clave de Autentificación TLS\u0026rdquo; client.ovpn \u0026ldquo;Fichero de configuración del cliente\u0026rdquo; Seguidamente, tal y como también podemos ver en la captura de pantalla, tenemos que arrastrar los 6 archivos seleccionados dentro del recuadro Documentos OpenVPN de iTunes. Una vez arrastrados y copiados nuestros archivos ya podemos pasar al siguiente paso.\nNota: El procedimiento seguido es considerando que tenemos un dispositivo sin el Jailbreak. En el caso de disponer de Jailbreak el proceso se podría simplificar bastante mediante el uso de SSH. Nota: En el Ejemplo solo he considerado un usuario que es el usuariovpn. En vuestro caso podéis añadir más usuarios si lo consideráis conveniente. PASO 6: CONECTARSE AL SERVIDOR OPENVPN EN iOS Después de copiar la claves y el fichero de configuración del cliente ya nos podemos conectar a nuestro servidor OpenVPN en iOS. Por lo tanto cogemos nuestro iPad o iPhone y abrimos el cliente OpenVPN. Justo al abrir la App OpenVPN tienen que ver una pantalla parecida a la siguiente:\nComo se puede ver en la captura de pantalla, hay un mensaje que se ha detectado un nuevo perfil para importar ya que acabamos de traspasar la totalidad de claves y configuración del cliente en el iPad o el iPhone.\nPara importar el perfil que se ha detectado únicamente tienen que presionar encima del circulo verde que tiene el símbolo +.\nUna vez presionado el botón el perfil se importará y les aparecerá una pantalla parecida a la siguiente:\nEn esta pantalla tan solo tienen que introducir su nombre de usuario y su contraseña. Una vez los hayan introducido presionan la tecla Intro y el Ipad o iPhone iniciará la conexión a nuestro propio servidor OpenPVN. A los pocos segundos la conexión se habrá establecido tal y como se puede ver en la siguiente captura de pantalla:\nUna vez terminado todo el proceso ya solo nos falta disfrutar de las ventajas que nos otorga tener nuestro propio servidor VPN.\n","permalink":"https://geeklandlinux.github.io/posts/conectarse-a-un-servidor-openvpn-en-ios/","summary":"\u003cp\u003eEn pasados post vimos de forma muy detallada como crear y configurar nuestro propio servidor OpenVPN con cualquier distribución derivada de Debian. Una vez instalado y configurado nuestro servidor OpenVPN lo único que falta es configurar los clientes en los distintos sistemas operativos que existen para podernos conectar al servidor OpenVPN.\u003c/p\u003e\n\u003cp\u003eEl primer sistema operativo en que veremos como podemos utilizar nuestro servidor OpenVPN es iOS. Los pasos para poder utilizar nuestro Servidor OpenVPN en iOS son los siguientes:\u003c/p\u003e","title":"Conectarse a un servidor OpenVPN en iOS"},{"content":"No es algo habitual pero a veces cuando se trabaja con servidores, en caso de avería, o en cualquier otra circunstancia, aparece la necesidad de usar una memoria USB sin disponer de ningún entorno gráfico.\nPara poder montar la memoria USB desde la terminal y sin la necesidad de ningún entorno gráfico que automonte la memoria, tan solo tenemos que seguir los siguientes pasos:\nPASO 1: CREAR EL DIRECTORIO PARA MONTAR LA MEMORIA USB El primer paso a realizar es crear el directorio en que queremos montar la memoria USB. Para crear el directorio en que queremos montar la memoria USB tecleamos el siguiente comando en la terminal:\nmkdir /media/usb Nota: Este comando lo que hace es crear una carpeta con nombre media, y dentro de la carpeta con nombre media se creara otra carpeta con el nombre usb. En la ubicación /media/usb que acabamos de crear es donde estarán y se montarán la totalidad de archivos y directorios que tenemos en nuestra memoria USB. Nota: En el caso que queramos montar 2 memorias USB de forma simultanea tan solo tendríamos que montar otra ubicación, como por ejemplo /media/usb2, y aplicar los pasos que mostraremos a continuación para cada una de las memorias y directorios que hemos creado. PASO 2: IDENTIFICAR EL NOMBRE DE LA UNIDAD QUE QUEREMOS MONTAR Cada dispositivo que conectamos a nuestro sistema operativo se reconoce con un nombre determinado. Ahora lo que tenemos que hacer es averiguar con que nombre se reconoce nuestra memoria USB. Para ello tecleamos el siguiente comando en la terminal sin tener el USB enchufado en el ordenador:\nls -l /dev/sd* Una vez tecleado el comando los aparecerá un resultado similar al siguiente:\nbrw-rw--- T 1 root disc 8, 0 mar 16 11:21 /dev/sda brw-rw--- T 1 root disc 8, 1 mar 16 11:21 /dev/sda1 brw-rw--- T 1 root disc 8, 2 mar 16 11:21 /dev/sda2 brw-rw--- T 1 root disc 8, 5 mar 16 11:21 /dev/sda5 Esto simplemente nos indica que nuestro ordenador tiene un solo dispositivo con el nombre sda que es nuestro disco duro. sda1, sda2 y sda5 serán las distintas particiones que tiene nuestro disco duro que en mi caso son la boot, la root y la home.\nSeguidamente enchufamos el dispositivo USB en el ordenador y tecleamos de nuevo el mismo comando en la terminal:\nls -l /dev/sd* Ahora aparte del contenido que aparecía antes aparecerá contenido adicional. El contenido adicional que aparecerá hace referencia a nuestra memoria USB y será algo parecido a lo siguiente:\nbrw-rw--- T 1 root disc 8, 0 mar 16 11:21 /dev/sda brw-rw--- T 1 root disc 8, 1 mar 16 11:21 /dev/sda1 brw-rw--- T 1 root disc 8, 2 mar 16 11:21 /dev/sda2 brw-rw--- T 1 root disc 8, 5 mar 16 11:21 /dev/sda5 brw-rw--- T 1 root floppy 8, 16 mar 16 11:24 /dev/sdb brw-rw--- T 1 root floppy 8, 17 mar 16 11:24 /dev/sdb1 Como se puede en la salida del comando ha aparecido un dispositivo nuevo con nombre /dev/sdb el cual contiene una partición con nombre sdb1. Sin duda se trata de nuestra memoria USB y la partición que estábamos buscando y tenemos que montar es la /dev/sdb1.\nSeguidamente les dejo una captura de pantalla en la que pueden ver el proceso que seguido para la identificación de la denominación de la memoria USB.\nPASO 3: MONTAR LA MEMORIA USB CON LA TERMINAL Con la información que tenemos ya podemos montar la memoria USB. En mi caso el sistema de archivos de mi memoria USB es FAT. Por lo tanto en el caso que sistema de archivos de la memoria USB o pendrive sea FAT el comando a usar para montar la memoria USB es el siguiente:\nmount -t vfat /dev/sdb1 /media/usb Nota: La palabra mount indica montar. Con el parámetro -t vfat estamos especificando que el sistema de archivos a montar es del tipo FAT. /dev/sdb1 es la partición de nuestra memoria USB y /media/usb es el directorio en que se montará el contenido de la partición /dev/sdb1 de nuestra memoria USB. En el caso que mi memoria USB estuviera formateada en NTFS el comando para montar la memoria USB seria el siguiente:\nmount -t ntfs-3g /dev/sdb1 /media/usb Nota: La palabra mount indica montar. Con el parámetro -t ntfs-3g estamos especificando que el sistema de archivos a montar es del tipo NTFS. /dev/sdb1 es la partición de nuestra memoria USB y /media/usb es el directorio en que se montará el contenido de la partición /dev/sdb1 de nuestra memoria USB. En el caso poco probable que alguien tenga formateada su memoria USB en formato ext4 el comando para montar la memoria USB debería ser el siguiente:\nmount -t ext4 /dev/sdb1 /media/usb Nota: La palabra mount indica montar. Con el parámetro -t ext4 estamos especificando que el sistema de archivos a montar es del tipo ext4. /dev/sdb1 es la partición de nuestra memoria USB y /media/usb es el directorio en que se montará el contenido de la partición /dev/sdb1 de nuestra memoria USB. PASO 4: REALIZAR LAS OPERACIONES QUE TENEMOS QUE REALIZAR Una vez realizados todos estos pasos ya tenemos la memoria USB montada y es plenamente operativa.\nAhora mediante la introducción de comandos en la terminal ya podemos renombrar archivos dentro de nuestra memoria USB, copiar archivos del disco duro a la memoria USB, etc. Solo para mostrarles un ejemplo:\nTal y como podemos ver en la captura de pantalla si queremos ver el contenido que tenemos en nuestra memoria USB tan solo tenemos que teclear el comando:\nls /media/usb Si quieren realizar otras operaciones diferentes a la mencionada tan solo tendrán que usar el comando pertinente.\nPASO 5: DESMONTAR LA MEMORIA USB Una vez hayamos terminado de realizar todo lo que tenemos que realizar con la memoria usb tan solo tenemos que desmontarla. Para desmontarla tienen que introducir el siguiente comando en la terminal:\numount /media/usb Nota: umount indica desmontar. /media/usb indica la ruta donde teníamos montada nuestra memoria USB. Una vez desmontada la memoria ya la pueden sacar del ordenador.\n","permalink":"https://geeklandlinux.github.io/posts/montar-la-memoria-usb-en-la-terminal/","summary":"\u003cp\u003eNo es algo habitual pero a veces cuando se trabaja con servidores, en caso de avería, o en cualquier otra circunstancia, aparece la necesidad de usar una memoria USB sin disponer de ningún entorno gráfico.\u003c/p\u003e\n\u003cp\u003ePara poder montar la memoria USB desde la terminal y sin la necesidad de ningún entorno gráfico que automonte la memoria, tan solo tenemos que seguir los siguientes pasos:\u003c/p\u003e","title":"Montar la memoria USB en la terminal"},{"content":"La verdad es que hoy me proponía escribir un post relacionado con el uso de Openvpn en iOS pero antes de hacer el post he tenido un pequeño accidente. Resulta que mi partición de Datos se estaba quedando sin espacio y he decidido darle más capacidad. He conseguido darle más capacidad sin problema alguno pero cuando he reiniciado el ordenador me ha aparecido la siguiente pantalla:\nPor lo tanto podemos ver claramente que he dado más capacidad a mi partición de Datos pero también he roto el gestor de arranque del sistema (GRUB). Para solucionar este problema tan solo tienen que seguir las instrucciones que detallo a continuación.\nSITUACIONES EN QUE SE ACOSTUMBRA A ROMPER EL GRUB Las situaciones en las que acostumbramos a tener problemas con el gestor de arranque Grub, según mi experiencia son las siguientes:\nSi tienes un sistema GNU Linux instalado y posteriormente instalas Windows es posible que Windows sobrescriba el sector de arranque MBR. Como consecuencia nuestro grub desaparecerá y no podremos seleccionar con el sistema operativo que queremos arrancar Cuando estáis modificando y jugando con las particiones de vuestro ordenador también es posible que rompáis el gestor de arranque. De hecho este ha sido mi caso. Al darle más espacio a una de las particiones he roto el gestor de arranque. No es habitual. Pero podría darse el caso que el gestor de arranque también se corrompiese tras una actualización del sistema operativo. SISTEMAS OPERATIVOS EN QUE PUEDO APLICAR EL MÉTODO DE ESTE POST Las instrucciones que se detallan a continuación se pueden aplicar en cualquier sistema operativo que derive de Debian y tenga el gestor de arranque Grub dañado. Por lo tanto el método descrito como mínimo se puede aplicar en Debian, Ubuntu, Linux Mint, Xubuntu, Lubuntu, Kubuntu, Crunchbang, Edubuntu, Backtrack, Kali Linux, Knoppix, etc.\nNota: En mi caso he aplicado este procedimiento a mi sistema operativo actual que es Debian Jessie (en la versión testing). Después de aplicar este procedimiento mi Debian ha vuelto arrancarse con total normalidad. PASOS PARA REPARAR EL GESTOR DE ARRANQUE GRUB El modo que se usa para reparar el gestor de arranque es reinstalar el gestor de arranque Grub. Para reinstalar Grub los pasos a seguir son los siguientes:\nPaso 1: Realizar un LiveCD o un LiveUSB Para realizar un LiveCD o LiveUSB tan solo tienen que seguir los pasos que se detallan en este enlace. En mi caso para realizar el liveUSB he usado la ISO de Ubuntu 13.10. En vuestro caso podéis seleccionar la distro que más os apetezca siempre y cuando use grub2 como gestor de arranque.\nNota: Si vuestro sistema dañado es amd64 tenéis que descargar la ISO de ubuntu amd64. Si es i386 entonces tenéis que descargar la ISO i386. Si no lo hacéis de este modo tendréis problemas cuando apliquéis el comando chroot para poder reinstalar el Grub. Paso 2: Arrancar vuestro ordenador con un LiveCD o un LiveUSB Una vez realizado el liveUSB, lo insertamos en nuestro ordenador que tiene el sistema de arranque dañado. Arrancamos el ordenador y hacemos que se inicie por medio del LiveUSB. Para quien tenga dudas de como realizar este paso puede consultar el siguiente enlace.\nPaso 3: Identificar la partición root, la partición boot (en el caso que la tengáis), y la denominación que recibe nuestro disco duro Una vez tenemos arrancado nuestro ordenador abrimos una terminal y tecleamos el comando:\nsudo fdisk -l Una vez teclado el comando, tal y como se puede ver en la captura de pantalla, aparecerá el detalle de las particiones de nuestro sistema operativo dañado:\nEn mi caso se puede ver que tengo 7 particiones. Entre estas 7 particiones tengo que averiguar cuales son la root, la boot y con que nomenclatura es reconocido mi disco duro.\nComo yo mismo instale el sistema operativo se perfectamente que mi partición root es la /dev/sda2 y la boot es la /dev/sda7. Por lo tanto tomo noto de estas 2 particiones.\nAdemás en la parte superior de la captura de pantalla vemos que hay la frase Disco /dev/sda. También tenemos que tomar nota de /dev/sda ya que /dev/sda es el nombre con el que se reconoce nuestro disco duro. En el caso poco probable de tener un disco duro IDE es probable que vuestro disco duro se reconozca con el nombre /dev/hda.\nEn el caso de tener algún tipo de duda para reconocer las particiones una solución que podemos adoptar es montarlas y ver lo que hay dentro de cada una. Para montarlas y ver el contenido podéis aplicar los comandos mostrados en la siguiente captura de pantalla:\nSi observamos la captura de pantalla vemos que dentro de la partición /dev/sda2 se encuentran los archivos y carpetas típicos que acostumbran a estar dentro de la partición root como por ejemplo bin, boot, root, etc\u0026hellip; Por lo tanto /dev/sda2 en mi caso sin duda es la partición root.\nEn lo que se refiere a la partición /dev/sda7 vemos que contiene archivos y carpetas como por ejemplo grub, extlinux, system.map, etc. Por lo tanto sin duda alguna la partición dev/sda7 se trata de nuestra partición boot. Repito que es probable que muchos de vosotros no crearan la partición boot en instalar el sistema operativo. Si es este el caso tienen que omitir todos los pasos que realice con la partición boot.\nNota: Es posible que en vuestro caso no tengáis realizada la partición boot. En caso de ser así tenéis que seguir adelante omitiendo todos los pasos relaciones con la partación boot /dev/sda7. Paso 4 : Montar la partición root y la partición boot El paso número 4 es montar las particiones root y boot que acabamos de identificar. Para ello en la terminal de Linux escribimos los siguientes comandos.\nPara montar la partición root:\nsudo mount /dev/sda2 /mnt Nota: En esta caso estamos montando la partición root /dev/sda2 del sistema operativo dañado en el punto de montaje /mnt del liveCD o liveUSB. Es posible que vuestra partición sea distinta a la /dev/sda2. Para montar la partición boot:\nsudo mount /dev/sda7 /mnt/boot Nota: En este caso estamos montando la partición boot /dev/sda7 del sistema operativo dañado en el punto de montaje /mnt/boot del liveCD o liveUSB. Es posible que vuestra partición boot sea distinta a la /dev/sda7. Nota: En el caso de no tener partición boot entonces tenemos que omitir el paso de montar la partición boot /dev/sda7. Paso 5: Montar el resto de directorios necesarios para reinstalar el Grub Seguidamente montaremos el resto de dispositivos y directorios necesarios para reinstalar el grub.\nPara montar el directorio que contiene la información acerca de los dispositivos del sistema introducimos el siguiente comando en la terminal:\nsudo mount --bind /dev /mnt/dev Para montar el directorio que contiene la totalidad de información acerca de las pseudoterminales introducimos el siguiente comando en la terminal:\nsudo mount --bind /dev/pts /mnt/dev/pts Para montar el directorio que contiene un sistema de archivos virtual con información acerca de partes del sistema como la cpu, la memoria, los discos duros, etc. Introducimos el siguiente comando en la terminal:\nsudo mount --bind /proc /mnt/proc Para montar el directorio que contiene parámetros de la configuración del sistema, como por ejemplo los distintos dispositivos, el kernel, el bus etc. Introducimos el siguiente comando en la terminal:\nsudo mount --bind /sys /mnt/sys Paso 6: Acceder al sistema de archivos de Debian para poder reinstalar el Grub Tenemos que reinstalar el grub en un sistema de archivos que no es el que estamos usando actualmente. Para solucionar este problema vamos a usar el comando chroot conocido también como changeroot. Este comando nos permite cambiar la raíz del sistema sobre el que estamos trabajando.\nPor lo tanto aplicamos el siguiente comando en la totalidad de directorios que montamos en la ubicación /mnt. Para hacer esto tecleamos el siguiente comando en al terminal:\nsudo chroot /mnt Después de aplicar este comando la totalidad de cambios y comandos que aplicamos no se aplicarán en el LiveCD o LiveUSB de Ubuntu sino que se aplicarán al sistema operativo Debian que es el que tiene el grub dañado.\nPaso 7: Reinstalar el Grub Finalmente el últimos paso es reinstalar y reconfigurar el Grub. Para reinstalar el grub lo que haremos es cargar de nuevo el Grub en el MBR. Por lo tanto en la terminal tenemos que introducir el siguiente comando:\ngrub-install --boot-directory=/boot/ --recheck /dev/sda Nota: /dev/sda se deberá sustituir por la denominación con que es reconocido vuestro disco duro. En el paso 3 hemos visto como identificar este punto. Ya para finalizar solo falta actualizar la configuración del grub. Para actualizar la configuración teclean el siguiente comando:\ngrub-mkconfig -o /boot/grub/grub.cfg Una vez hemos llegado a este punto, la próxima vez que arranquemos el ordenador el grub tiene que volver a aparecer. Por si a alguien le sirve de ayuda les dejo la captura de pantalla en la que se puede seguir la totalidad de pasos que hemos realizado para reparar el grub:\nPaso 8: Reiniciar el sistema operativo Para reiniciar el sistema operativo primero tenemos que salir de chroot. Para salir de chroot tecleamos el siguiente comando en la terminal:\nexit Una vez hemos salido de chroot introducimos el siguiente comando en la terminal para reiniciar el ordenador:\nsudo reboot Nuestro ordenador se reiniciará, y como se puede ver en la foto nuestro grub o gestor de arranque volverá a funcionar con total normalidad.\nNota: El paso 8 si queréis os lo podéis saltar. Simplemente con reiniciar vuestro ordenador a lo bruto vuestro GRUB debería volver a aparecer.","permalink":"https://geeklandlinux.github.io/posts/recuperar-el-grub/","summary":"\u003cp\u003eLa verdad es que hoy me proponía escribir un post relacionado con el uso de Openvpn en iOS pero antes de hacer el post he tenido un pequeño accidente. Resulta que mi partición de Datos se estaba quedando sin espacio y he decidido darle más capacidad. He conseguido darle más capacidad sin problema alguno pero cuando he reiniciado el ordenador me ha aparecido la siguiente pantalla:\u003c/p\u003e","title":"Recuperar el Grub"},{"content":"Muchas son las veces en las que hay que explicar a usuarios como realizar un LiveUSB para poder realizar las siguientes funciones:\nProbar una distribución de Linux en modo LiveUSB sin tenerla que instalar en su ordenador. Instalar un sistema operativo Windows en un ordenador personal que no tiene unidad de CD/DVD. Instalar un sistema operativo Linux en un ordenador que no dispone de unidad de CD/DVD. Intentar reparar ciertas funcionalidades de un sistema operativo dañado. Recuperar información como fotos, documentos, etc de un disco duro que tiene el sistema operativo dañado y por lo tanto no arranca. Instalar un sistema operativo Linux con persistencia en una memoria USB para poder tener tu propio sistema operativo y archivos disponibles en cualquier lugar y en cualquier ordenador. Nota: Seguramente existen otras utilidades aparte de las que acabo de citar. No obstante las utilidades citadas pienso que son los usos más habituales que la mayoría de usuarios dan a un liveUSB. UTILIDADES PARA PODER CREAR UN LIVEUSB La verdad es que existen multitud de programas para crear un LiveUSB. Seguidamente les hago una breve lista para que tengan varias opciones para elegir:\nUniversal USB Installer: Lo pueden descargar del siguiente enlace. Este programa funciona bajo windows y es útil para realizar un LiveUSB para probar multitud de distribuciones Linux. Simplemente tendrán que indicar la distribución Linux que quieren probar, indicar donde tienen guardada la ISO de la distro que quieren probar y finalmente indicar la memoria USB en la que quieren instalar el LiveUSB.\nYumi Multiboot USB Creator: Lo pueden descargar del siguiente enlace. Este programa funciona bajo windows y bajo Linux. Su interfaz y uso es prácticamente idéntico a Universal USB Installer. La principal diferencia entre ellos es que Yumi permite que en una sola memoria USB se pueda alojar más de una distro en modo LiveUSB.\nWindows 7 USB/DVD Download tool: Programa propuesto por Microsoft para poder hacer un LiveUSB para instalar Windows en tu ordenador a partir de una memoria USB. Este programa lo pueden descargar del siguiente enlace.\nUnetbootin: Es el programa que acostumbro a usar yo. Es multiplataforma y por lo tanto lo podrán usar tanto usuarios de windows, linux y Mac. Si quieren más información la pueden encontrar en el siguiente enlace. Más adelante en el post veremos como usar Unetbootin.\nLiveUSB Install: Utilidad multiplataforma que se puede usar tanto en Linux como en windows. Muy similar al resto de opciones que hemos comentado. Si quieren usar les dejo el siguiente enlace en el que se indicar como instarlo y usarlo.\nNota: El funcionamiento de la totalidad de programas es similar. Si saben como usar uno de los programas sabrán como usar los demás. Por lo tanto en la realización de este tutorial me centraré en explicar el procedimiento con Unetbootin. Es el programa que utilizo habitualmente y tiene la ventaja que es multiplataforma y está disponible en prácticamente la totalidad de distribuciones Linux. REALIZAR UN LIVEUSB CON UNETBOOTIN ¿Qué necesitamos para realizar un LiveUSB? Básicamente necesitamos lo siguiente:\nUna memoria USB. Para obtener un rendimiento óptimo se aconseja una memoria USB con una velocidad de lectura y escritura aceptable y más de 2GB de de capacidad. Aconsejo formatear la memoria USB en formato FAT32. Formatos como el NTFS acostumbran a generar problemas a la hora de crear el espacio de persistencia. Un ordenador con el sistema operativo Linux , Windows o Mac que permita el arranque mediante una memoria USB. Instalar Unetbootin Para instalar Unetbootin en Linux es extremadamente fácil. Tan solo tiene que acceder a la terminal y teclear el siguiente comando:\nsudo apt-get install unetbootin En el caso de querer usar unetbootin en Windows o Mac tienen que descargar el archivo ejecutable del siguiente enlace:\nhttp://unetbootin.sourceforge.net/\nUna vez descargado lo instalan en vuestros sistema operativo de forma habitual.\nDescargar la Imagen ISO del sistema operativo que queremos usar Tenemos que descargarnos la imagen ISO del sistema operativo que queremos tener en nuestro LiveUSB. Tenéis que asegurar que la ISO que descargáis tenga soporte para poder funcionar como LiveUSB.\nEn mi caso he seleccionado la ISO de Ubuntu. La ISO de ubuntu se puede descargar de la siguiente Ubicación.\nhttp://www.ubuntu.com/download/desktop\nEn la siguiente captura de pantalla pueden observar el proceso de descarga de la ISO de ubuntu:\nNota: Al descargar la ISO tenéis que tener en cuenta una serie de aspectos. El primero es que la ISO este diseñada para funcionar en modo LiveUSB, y el segundo es elegir la arquitectura adecuada en función de vuestro ordenador. Los ordenadores que ya tienen muchos años acostumbran a trabajar con la arquitectura i386 mientras que los ordenadores actuales pueden trabajar con la arquitectura i386 y amd64. Formatear nuestra memoria USB El paso de formatear una memoria USB es simple y no requiere de muchas explicaciones. Quien no sepa como hacerlo puede consultar el siguiente enlace en donde se comenta como formatear una memoria USB mediante gparted.\nUna vez se ha formateada la memoria USB hay que sacar el pendrive del ordenador.\nCrear un LiveUSB Ahora volvemos a insertar la memoria USB en nuestro ordenador. Seguidamente iniciamos unetbootin. Para iniciar Unetbootin solo hay que introducir el siguiente comando en la terminal:\nsudo unetbootin Una vez iniciado Unetbootin se encontrarán con un menú parecido al siguiente:\nEn el menú que podemos ver en la captura de pantalla los pasos a realizar son los siguientes:\nEn el apartado DiscoImagen tenemos que seleccionar el archivo ISO de Ubuntu que acabamos de descargar de la página de Ubuntu. Seguidamente en el menú Tipo tenemos que asegurarnos que esta seleccionada la opción Unidad USB. En el campo Unidad tenemos que seleccionar el nombre con el que se reconoce nuestra memoria USB. En mi caso es sdb1. Finalmente solamente nos queda indicar el espacio de persistencia que queremos dar a nuestro LiveUSB. En mi caso como la memoria USB es de 2GB le daré 600 MB. Una vez realizados todos los pasos vuestro menú tendrá un aspecto similar al siguiente:\nAhora simplemente presionamos encima del botón Aceptar y esperamos a que termine el proceso de creación del LiveUSB.\nNota: Es importante dar un espacio de persistencia ya que nos permitirá que cuando se apague el sistema operativo se almacenen nuestros datos y configuraciones en la memoria USB. Por lo tanto la próxima vez que arranquemos nuestro LiveUSB todo estará exactamente igual que como lo dejamos. OPCIÓN ALTERNATIVA DE UNETBOOTIN PARA REALIZAR EL LIVEUSB Unetbootin dispone de un método alternativo para facilitar aún más la realización del LiveUSB. Si queremos Unetbootin se encargará de descargar la ISO por nosotros y de esto modo no nos tendremos que preocupar de ir a la página de Ubuntu, Fedora o cualquier otra distro para descargar su imagen ISO.\nPara ello una vez arrancado Untebootin en vez de elegir la opción DiscoImagen, seleccionamos la opción Distribución.\nUna vez seleccionada esta opción elegimos la distro y la versión que queremos que estén presentes en nuestro LiveUSB. Tal y como se puede ver en la captura de pantalla en mi caso he elegido la versión 64 bits de Fedora 19.\nEl resto de pasos son exactamente iguales que en el caso anterior, por lo tanto:\nEn el Menú Tipo tenemos que asegurarnos que esta seleccionada la opción Unidad USB. En el campo Unidad tenemos que seleccionar el nombre con el que se reconoce nuestra memoria USB. En mi caso es sdb1. Indicamos el espacio de persistencia que queremos dar a nuestro LiveUSB. En mi caso como la memoria USB es de 2GB le daré 600 MB. Finalmente presionamos encima del botón Aceptar y esperamos a que termine el proceso de creación del LiveUSB. ARRANCAR EL ORDENADOR CON EL LIVEUSB Una vez realizado el LiveUSB tan solo nos falta comprobar su funcionamiento. En este apartado cada uno deberá buscarse la vida por su cuenta ya que en cada ordenador este paso es diferente.\nLos pasos que tengo que seguir en mi caso son los siguientes:\n1- Lo primero a realizar es conectar el LiveUSB en el ordenador.\n2- Lo segundo es reiniciar nuestro ordenador.\n3- Justo al arrancar el sistema operativo y cuando se está haciendo la comprobación de la memoria RAM, se tiene que presionar la tecla F8. En vuestro caso es más que probable que la tecla a presionar sea diferente a F8. Tan solo tienen que ir probando hasta encontrar la combinación correcta. Algunas de las teclas a probar pueden ser F2, F11, F12, F1, Delete, etc.\n4- Una vez presionada la tecla F8 les aparecerá la siguiente pantalla para seleccionar la unidad de arranque de nuestro ordenador:\n5- En la pantalla para seleccionar el orden de arranque seleccionamos la entrada que tenga relación con nuestro memoria USB. En mi caso USB Flash Disk.\n6- A los pocos segundos de seleccionar la opción arranque mediante USB les tiene que aparecer la siguiente pantalla:\n7- Seleccionan la opción Try Ubuntu without installing. Una vez seleccionada esta opción empezara a arrancarse el sistema operativo. Tan solo tienen que esperar para comprobar que efectivamente todo funciona a la perfección.\nSaludos a todos y hasta la próxima.\n","permalink":"https://geeklandlinux.github.io/posts/crear-un-liveusb/","summary":"\u003cp\u003eMuchas son las veces en las que hay que explicar a usuarios como realizar un LiveUSB para poder realizar las siguientes funciones:\u003c/p\u003e","title":"Crear un LiveUSB"},{"content":"En próximas semanas tengo planeado publicar una serie de tutoriales en los que será necesario formatear una memoria USB. Por esto motivo me he decido a publicar este post en que se detalla con todo detalle como formatear una memoria USB en GNU Linux.\nHay muchas formas de formatear una memoria USB en Linux. Quizás el método que vaya a usar no es ni el más intuitivo ni el más rápido pero es el método que acostumbro a utilizar.\nLos pasos para poder formatear la memoria con gparted son los siguientes:\nINSTALAR GPARTED Es posible que muchos de vosotros ya tengáis instalado gparted en vuestro ordenador. En el caso que no lo tengan instalado tan solo tienen que abrir una terminal y teclear el siguiente comando:\nsudo apt-get install gparted Una vez instalado gparted tenéis que conectar la memoria USB en vuestro ordenador. Una vez introducida al memoria lo más probable es que se automonte automáticamente.\nEJECUTAR GPARTED Una vez instalado el programa tenemos que ejecutarlo. Para ejecutar gparted hay muchos métodos pero el más fácil es abrir una terminal y teclear lo siguiente:\nsudo gparted SELECCIONAR LA UNIDAD A FORMATEAR Una vez se ha ejecutado gparted les aparecerá la siguiente ventana en frente de su pantalla:\nLo primero que tenemos que realizar es seleccionar la unidad que queremos formatear. Para ello tal y como se muestra en la captura de pantalla clicamos encima del desplegable superior izquierdo y seleccionamos la unidad que corresponde a vuestra memoria USB. En mi caso la /dev/sdb (de 1,87 GiB)\nSELECCIONAR EL ESPACIO A FORMATEAR Tal y como se puede ver en la captura de pantalla con el puntero mouse tienen que ponerse encima de la representación física de nuestra memoria USB y clicar encima.\nUna vez hayan clicado ya tienen seleccionado el espacio a formatear.\nDESMONTAR LA UNIDAD QUE SE QUIERE FORMATEAR Un requisito para poder formatear una unidad es que esté desmontada. Lo más probable es que cuando introduzcan su memoria en el puerto USB se automonte automáticamente. Por lo tanto ahora la desmontaremos para posteriormente poderla formatear.\nPara desmontar nuestra unidad USB, tal y como se puede ver en la captura de pantalla tienen que ir al menú Partición y seleccionar la opción Desmontar.\nSELECCIONAR EL ESPACIO A FORMATEAR Una vez hemos desmontado la unidad tenemos que seleccionar el espacio a formatear de la misma forma que lo hicimos anteriormente. Por lo tanto, como se puede ver en la captura de pantalla, con el puntero mouse tienen que ponerse encima de la representación física de nuestra memoria USB y clicar encima.\nSELECCIONAR EL TIPO DE FORMATO QUE DAREMOS A LA MEMORIA USB Ahora ya estamos en condiciones de formatear nuestra memoria USB. Para ello tal y como pueden ver en la captura de pantalla acceden al menú Partición. En el menú Partición tienen que seleccionar la opción Formatear como.\nTal y como pueden ver en la captura de pantalla una vez elegida la opción formatear como les aparecerá otro menú en el que tienen que seleccionar el formato con el que quieren formatear la memoria USB. En mi caso elegiré el formato fat32 clicando encima de fat32.\nFORMATEAR LA MEMORIA USB Para finalizar tan solo nos falta dar el formato a nuestra memoria USB. Para ello tal y como se puede ver en la captura de pantalla apretamos el Botón de Aplicar todas las operaciones.\nUna vez presionado el botón tan solo nos hace falta esperar hasta que todo el proceso haya finalizado.\n","permalink":"https://geeklandlinux.github.io/posts/formatear-memoria-usb-en-linux/","summary":"\u003cp\u003eEn próximas semanas tengo planeado publicar una serie de tutoriales en los que será necesario formatear una memoria USB. Por esto motivo me he decido a publicar este post en que se detalla con todo detalle como formatear una memoria USB en GNU Linux.\u003c/p\u003e","title":"Formatear memoria USB en linux"},{"content":"Hoy en día a la hora de comprar una memoria USB muchísima gente se deja seducir por el precio y por las grandes capacidades de almacenamiento que se acostumbran a ofertar en las tiendas, Internet o centros comerciales.\nObviamente estos 2 puntos son importantes pero hay muchísimos más puntos a considerar en la compra de una memoria USB. Si únicamente consideramos el factor capacidad de almacenamiento y precio es posible que nuestra compra no acabe siendo satisfactoria.\nLas cosas que según mi punto de vista tenemos que tener muy en cuenta a la hora de comprar una memoria USB o pendrive son las siguientes:\nFACTOR 1: LA VELOCIDAD DE LECTURA Y ESCRITURA DE LA MEMORIA USB Sin duda bajo mi criterio este es uno de los puntos más importantes a la hora de comprar una memoria USB.\nSi elegimos una memoria USB con una velocidad de lectura y escritura lenta seguramente nos encontraremos con las siguientes situaciones:\nCuando vayamos a copiar una película o fotos dentro de nuestra memoria USB nos vamos a cansar de esperar ya que la velocidad de escritura será lenta. Imagino que muchos de vosotros se habrá encontrado con este problema. Si usamos la memoria USB para correr distribuciones de Linux en modo LiveUSB es posible que noten lentitud excesiva a la hora de cargar el sistema operativo y realizar ciertas operaciones. Esta lentitud es debida a una velocidad de lectura y escritura baja. Lentitud en el caso de usar la memoria USB para ejecutar aplicaciones portables como por ejemplo Openoffice, Firefox, etc. Para evitar estos y otros problemas, cuando se compra una memoria USB hay que intentar informarse de la velocidad de lectura y escritura de la memoria USB y leer comentarios de usuarios que han comprado previamente la memoria USB. La velocidad de escritura y lectura se acostumbra a indicar en megabytes por segundo (MB/s). Cuando más alta sea la tasa de escritura y lectura, mayor será el rendimiento y velocidad que obtendremos.\nHay que tener en cuenta además que las memorias USB de hoy en día disponen de gran capacidad de almacenamiento y la gente las utiliza para manejar gran cantidad de información. Por lo tanto la velocidad es muy importante.\nFACTOR 2: VERSIÓN DEL ESTÁNDAR USB El estándar USB presenta varias versiones. La 1.0, la 1.1, la 2.0 y la 3.0. Como más actual sea la versión de estándar mayor será la velocidad de lectura y escritura que obtenemos.\nAsí por lo tanto en la versión USB 2.0 podemos encontrar velocidades de lectura y escritura que oscilan entre los siguientes rangos:\nVelocidad de escritura: 4 – 10 MB/s Velocidad de lectura: 15 – 25 MB/s\nNota: La velocidad de lectura oscila en función del USB que compramos. En la versión USB 3.0 podemos encontrar los siguientes rangos de velocidades de lectura y escritura:\nVelocidad de escritura: 10 – 20 MB/s Velocidad de lectura: 40 – 50 MB/s\nNota: La velocidad de lectura oscila en función del USB que compramos. Por lo tanto siempre obtendremos mejor rendimiento si nuestro USB es 3.0 en vez de 2.0. En el caso de comprar una memoria USB 3.0 tenemos que asegurarnos que los puertos USB donde conectaremos la memoria soporten 3.0. En el caso contrario el rendimiento que obtendremos será menor al esperado si hablamos de memorias USB.\nFACTOR 3: LA MARCA DE LA MEMORIA USB Obviamente la marca de la memoria USB es un factor importante. En el mercado existen multitud de marcas genéricas y desconocidas en que el rendimiento o durabilidad que ofrecen acostumbran a ser pésimos.\nSi elegimos marcas reconocidas como por ejemplo Kingston, Corsair, Trascend, Verbatim o Sandisk, podemos estar seguros que el rendimiento y durabilidad que obtendremos como mínimo serán óptimos.\nFACTOR 4 CONSTRUCCIÓN FÍSICA DEL USB Hay muchos tipos de construcción de memorias USB. Hay USB retráctiles, con tapa, con distintas calidades de plástico y materiales, con superficies de plástico engomado, memorias USB promocionales, con posibilidades de personalizar, etc.\nFrente a los distintos tipos de construcción y opciones bajo mi punto de vista tenemos que buscar lo siguiente:\nAsegurar que la memoria USB tenga una construcción sólida. Es importante que el plástico sea duro y si además si viene engomado mejor que mejor ya que nuestra memoria USB va a ser mucho más resistente a los golpes. Personalmente los USB con tapa no me gustan. Es fácil de perder o romper la tapa. Prefiero un diseño que proteja el terminal USB de la memoria de polvo sin necesidad de usar una tapa. Si termináis comprando una memoria con una construcción que sea poco sólida, podéis terminar teniendo problemas similares a los que se muestran en la siguiente fotografía:\nFACTOR 5: CAPACIDAD DE ALMACENAMIENTO Obviamente la capacidad de almacenamiento también es un factor a tener muy en cuenta. Tenemos que asegurarnos que la memoria USB que vamos a comprar cubre nuestra necesidades de almacenamiento.\nNo es siempre aconsejable comprar la memoria USB que tenga mayor capacidad de almacenamiento. Si compramos la memoria usb con mayor capacidad de almacenamiento existiendo en la actualidad acabaremos pagando un extra de precio que no siempre vale la pena.\nFACTOR 6: TAMAÑO DE LA MEMORIA USB Para determinadas personas el tamaño puede ser importante. Si es posible a igualdad de especificaciones entre 2 memorias USB es siempre mejor elegir el USB que tenga dimensiones más reducidas. Los motivos son dos:\nLas memorias pequeñas y delgadas son más fáciles de transportar. Las memorias grandes y gruesas pueden generar problemas de espacio cuando las conectamos a las entradas USB de nuestro ordenador. Alguna vez he querido enchufar 2 memorias USB en mi notebook y sencillamente no he podido por falta de espacio. FACTOR 7: SENSIBILIDAD DE LOS DATOS QUE ALMACENARÁ LA MEMORIA USB En el caso que necesitemos almacenar información sensible puede ser interesante adquirir memorias USB que dispongan de un sistema de cifrado de seguridad por Hardware.\nDe este modo si perdemos nuestro USB solo nos tendremos que lamentar por la pérdida de la memoria USB ya que nadie tendrá acceso a la información que teníamos almacenada. Si alguien encuentra nuestra memorioa USB y quiere acceder a nuestra información sencillamente no podrá ya que solo enchufarlo en un ordenador le pedirá una contraseña. Como no la sabrá no podrá hacer a ninguna información.\nNota: En caso de comprar una memoria USB que no disponga de cifrado por hardware tenemos opciones alternativas. Existe software, como por ejemplo USB Safeguard o Bitlocker, que nos permitirán cifrar las memorias USB. Nota: También existen USB que tienen utilidades de software y hardware incorporados en él. Por ejemplo existen USB con software para visualizar fotografías, memorias USB con puertos miniUSB con función OTG, etc. FACTOR 8: EL PRECIO Y para finalizar también hay que considerar un factor muy importante. El precio de compra. Cada uno tiene que tener claro la cantidad que quiere invertir en la compra de su memoria USB. En función del presupuesto disponible tendremos que evaluar lo que más nos conviene en función de los 7 factores anteriores.\n","permalink":"https://geeklandlinux.github.io/posts/consejos-para-comprar-memoria-usb/","summary":"\u003cp\u003eHoy en día a la hora de comprar una memoria USB \u003cstrong\u003emuchísima gente se deja seducir por el precio y por las grandes capacidades de almacenamiento\u003c/strong\u003e que se acostumbran a ofertar en las tiendas, Internet o centros comerciales.\u003c/p\u003e\n\u003cp\u003eObviamente estos 2 puntos son importantes \u003cstrong\u003epero hay muchísimos más puntos a considerar en la compra de una memoria USB\u003c/strong\u003e. Si únicamente consideramos el factor capacidad de almacenamiento y precio es posible que nuestra compra no acabe siendo satisfactoria.\u003c/p\u003e","title":"Consejos para comprar memoria usb"},{"content":"Seguidamente les comento una serie de aspectos básicos sobre el bitcoin. Una vez comentados los aspectos básicos espero que todo el mundo sea capaz de entender que es bitcoin, los riesgos y beneficios que conlleva, y que sean capaces de conseguir bitcoin y usarlos con total seguridad. Así que empecemos con la explicación.\n¿QUÉ ES UN BITCOIN? Un Bitcoin es una moneda virtual. Pero para entender entender más acerca de lo que es la moneda virtual y de las características de un bitcoin lo primero que tenemos que hacer es saber lo que es el dinero.\nEl dinero es una invención de los humanos para el mero intercambio de productos. Así por lo tanto si una persona quiere un producto X, intercambiará una determinada cantidad de dinero para obtener el producto X. A cambio la persona que ha cedido el producto X recibirá una cantidad de dinero que podrá usar a posteriori para intercambiarlo por otro producto que podemos denominar Y.\nEn el pasado este medio de intercambio, que podemos denominar dinero, eran metales preciosos como oro, plata, cobre, etc. Actualmente este medio de intercambio son los típicos monedas y billetes.\nUna de las características básicas del dinero actual, las monedas y los billetes, es que solo pueden ser emitidos y aprobados por el gobierno de un país. Por lo tanto los gobiernos actuales son quienes tienen el control total sobre el dinero y sobre la economía mundial.\nPero resulta que hace pocos años, concretamente el 3 de Enero de 2009, apareció un programador o un grupo de programadores que se dan a conocer con el seudónimo de Satoshi Nakamoto. Este señor o grupo de señores han creado un sistema o software informático que intercambia códigos entre distintos usuarios. Cada uno de estos códigos informáticos que intercambiamos tiene un valor y es lo que conocemos como bitcoin o moneda virtual y en definitiva es lo que usaremos para realizar el intercambio entre comprador y vendedor. Así por ejemplo nosotros ofreceremos al vendedor una serie de códigos informáticos al vendedor que tienen un determinado valor y el vendedor nos entregará un producto o servicio.\nNota: Para quien quiera conocer un poco más sobre Satoshi Nakamoto puede consultar el siguiente link. Nota: Para quien quiera ver el tipo de cambio del bitcoin y otro tipo de datos relaciones puede consultar el siguiente enlace. http://blockchain.info/es/charts DESCRIPCIÓN PASO A PASO DEL PAGO VÍA BITCOIN Para entender bien lo que acabo de citar lo mejor que podemos hacer es poner un ejemplo que sea didáctico y fácil de comprender.\n1- Imaginamos que nosotros como usuarios descargamos un programa informático llamado monedero, como por ejemplo Bitcoin Qt (Ordenador) o Bitcoin Wallet (Dispositivo móvil), en nuestro ordenador o dispositivo móvil y lo instalamos. Una vez instalado el monedero tenderemos un Identificador público, o clave pública que puede ser a modo de ejemplo marcbitcoin. En el momento de crear el monedero también se creará un archivo wallet.zip que es donde guardará el historial de nuestras transacciones y nuestros bitcoin.\nNota: Para ver los distintos tipos de monederos existentes pueden consultar el siguiente enlace. Una vez instalado el monedero deberemos esperar aproximadamente unas 24 horas para poder usar nuestra cartera. Durante el tiempo de espera se estará descargando la cadena de bloques de los distintos nodos de la red. Nota: En realidad el identificador o clave publica no será marcbitcoin. En realizad será una clave alfanumérica de 34 dígitos como por ejemplo 35sDtU6Rdqeeg3HvREereww1E. No hay ningún problema en hacer público nuestro identificador público. De hecho sin dar a conocer nuestro identificador público no se podrá hacer ninguna transacción. 2- Ahora imaginamos que otra persona que se llama joan también ha instalado este mismo programa monedero en su ordenador y su identificador público único es joanbitcoin.\n3- Dentro de su monedero, o programa informático, tanto Joan como Marc tienen una serie de códigos informáticos. Cada uno de estos códigos tiene asignado un valor determinado de bitcoin.\n4- Supongamos ahora que Joan quiere comprar un coche que tiene Marc y Marc acepta bitcoin como medio de pago.\n5- Marc y Joan se ponen en contacto y llegan al siguiente acuerdo. Marc acepta vender el coche por 50.000 Euros y a día de hoy 1 Euro equivale a 1000 bitcoin. Por lo tanto Joan deberá ingresar 50 bitcoin al monedero de Marc y entonces Marc dará el coche a Joan.\n6- Joan se irá a su casa, encenderá su ordenador y abrirá su monedero de bitcoin. Seleccionará una serie de códigos informáticos cuyo valor sume 50 bitcoin. Una vez seleccionados los códigos los enviará a Marc usando el identificador público de Marc que como hemos dicho anteriormente es es marcbitcoin.\n**7-**Justo después de que Joan haya enviado los bitcoin a Marc se iniciará un proceso de verificaciones y comprobaciones para comprobar que la transacción es válida. Sin entrar en tecnicismos las comprobaciones que se realizarán son las siguientes:\n- De la misma forma que tenemos un identificador público (o clave pública) también disponemos de un identificador privado (o clave privada) que no debemos revelar a nadie. - Joan envía la transacción de dinero a Marc. Antes de realizar la transacción Joan, usando su clave privada, introducirá una firma digital al mensaje que envía a Marc. - El mensaje se difundirá por la red. Mientras el mensaje se difunde por la red los equipos de mineros comprueban que la transacción es correcta usando la firma pública de Joan. Los mineros a cambio del servicio que dan recibirán ingresos en forma de bitcoin. Los ingresos que reciben los mineros para realizar esta función son mínimos. - Aparte de la verificación que acabamos de comentar existen verificaciones adicionales para evitar que los usuarios puedan gastar dinero del que no disponen, y también para evitar que las personas puedan replicar moneda y usar la misma moneda en más de una transacción. 8- Marc en su casa, después de que se hayan realizado la serie de comprobaciones y verificaciones que acabamos de mencionar, recibirá los códigos que Joan le ha enviado. Una vez recibidos los códigos Marc procederá a entregar el coche a Joan.\nEn la siguiente figura se puede ver de forma esquematizada y ampliada la información que acabamos de explicar:\nUTILIDAD DE LOS BITCOIN A DÍA DE HOY A día de hoy la utilidad del bitcoin como moneda es prácticamente nula ya que la sociedad actual de momento no ha asumido el bitcoin como moneda o medio de intercambio. Es decir en otras palabras la sociedad actual no acepta el bitcoin como un medio de intercambio para conseguir algún producto o servicio.\nNota: Es poco frecuente que personas o sociedades que acepten el bitcoin como medio de intercambio. Algunos casos a destacar podrían ser los supermercados 7Eleven, Walmart, Starbucks o la librería Gandhi entre otros. El principal uso del bitcoin a día de hoy es como producto especulativo. La gente se dedica a comprar y a vender bitcoin para simplemente obtener un beneficio. Para entender esto pondremos un ejemplo que se podría haber dado perfectamente:\nEstamos en el año 2010 y decido cambiar 100,000 Euros a bitcoin. En el 2010 el tipo de cambio era 1 a 1 y por lo tanto por 100,000 euros me habrían dado 100,000 bitcoin. Guardamos los bitcoin durante 4 años. Estamos en 2014 y ahora vemos que el tipo de cambio en vez de ser de 1 a 1 es de uno a 1000 aproximadamente. Por lo tanto si ahora cambiará el dinero de bitcoin a Euro me tendrian que dar 100 millones de Euros. Nota: El ejemplo que he puesto es simplemente para mostrar el uso principal que se le da hoy en día a los bitcoin. La operación descrita hoy en día no se podría llevar a termino porqué la cantidad de bitcoin a Euros que se puede intercambiar por día está limitada a una determinada cantidad para evitar el fraude y el desplome de valor de bitcoin. Precisamente esta especulación lo que hace es que el valor del bitcoin sea muy variable y que de una semana para otra el valor del bitcoin se pueda duplicar o dividir por dos. Esta característica hace que la gente actualmente no esté adoptando el bitcoin como moneda ya que representa un riesgo muy elevado ya que sus ingresos o gastos pueden subir o bajar mucho en un periodo de tiempo muy corto. Para poner un ejemplo del riesgo que actualmente supone el bitcoin tan solo tenemos que imaginar lo que le podría pasar a Marc que acaba de vender su coche por 50 bitcoin. Si el valor del bitcoin se desploma de un día para otro, se puede decir literalmente que Marc habrá regalado su coche a Joan. Marc se estará tirando de los pelos mientras que Joan estará más que satisfecho con su compra.\nOtro uso que se le da al bitcoin es para comprar productos o servicios prohibidos. Por ejemplo para contratar un asesino o para comprar productos ilegales como por ejemplo drogas. Para todos imagino que es conocido el caso Silk Road, en que multitud de usuarios podían adquirir todo tipo de productos ilegales como por ejemplo drogas. Para más información acerca de Silk Road pueden consultar el siguiente enlace.\nOtros usos alternativos que podemos dar al bitcoin son los siguientes:\nMonetizar bitcoin directamente a un paraíso fiscal como por ejemplo suiza y de esta forma intentar evadir impuestos. Para enviar dinero a familiares que viven en otros países ya que las tasas de transferencias son bajas. Para invertir nuestros ahorros en países con problemas graves de inflación. De esta forma los ahorros que tenemos no perderían valor ya que el bitcoin es deflacionario. ALGUNAS CARACTERÍSTICAS DE LOS BITCOIN Las Principales características del bitcoin son las que defino a continuación:\n1- Bitcoin no es una moneda completamente anónima ya que todas las transacciones realizadas con bitcoin se almacenan de forma pública y permanente en la red. Por lo tanto podría darse el caso que la policía viera que la dirección pública 35sDtU6Rdqeeg3HvREereww1E ha comprado un coche por 50 bitcoin. Se van al concesionario y bajo una orden judicial sacan los nombres de las personas que compraron un coche en este concesionario averiguando así la identidad de la persona que posee la cartera 35sDtU6Rdqeeg3HvREereww1E. Frente a esta situación lo que podemos hacer es:\nUsar varios monederos de bitcoin para así disponer de múltiples identificadores públicos. Anonimizar nuestra IP mediante herramientas como Tor. De esta forma nadie podrá recopilar nuestras transacciones. Otra opción podría ser usar una servicio de cartera compartida como https://blockchain.info/es\nComo se puede ver en la imagen, en el servicio de cartera compartida de blockchain.info tenemos 3 usuarios. Los bitcoin de estos 3 usuarios en vez de ir directamente al destinatario final primero van a una cartera compartida. Después de la cartera compartida irán al usuario final enmascarando nuestra identificación pública 35sDtU6Rdqeeg3HvREereww1E.\n2- Los costes de cada una de las transacciones son prácticamente nulos. Este es uno de los puntos por los que hoy en día hay gente que utiliza este sistema para enviar dinero a familiares que viven en el extranjero.\n3- Al contrario que los dolares, los Euros, o por ejemplo el Peso, el bitcoin no está controlado por ningún gobierno ni por ningún organismo centralizado. Por lo tanto si usas el bitcoin es fácil vulnerar la ley no declarando bienes que has adquirido mediante el intercambio de bitcoin. También cabe considerar que en el caso que adoptáramos el bitcoin como moneda nuestro gobierno perdería el control total sobre la economía.\n4- Debido a la especulación que existe en la actualidad el valor del bitcoin es altamente fluctuante. Por lo tanto, como ya hemos visto, esto implica un riesgo elevado. A quién le guste realizar inversiones de riesgo sin duda el bitcoin es una buena opción.\n5- El número de bitcoin está limitado a 21 millones. Los bitcoin se van generando progresivamente y van creciendo a un ritmo constante y suave. La previsión es que al ritmo actual en el año 2040 se hayan generado los 21 millones de bitcoin y cuando se hayan descubierto todos no se crearan más. Por lo tanto el número de bitcoin es finito como lo son el oro y otros materiales preciosos. Esta característica lo que hace es evitar la devaluación que tiene la moneda convencional. Con la moneda convencional lo más probable es que si a día de hoy ingresamos 100.000 Euros, y los guardamos en la banco indefinidamente, dentro de 40 o 50 años su valor será prácticamente nulo ya que el banco central se pondrá a imprimir moneda generando devaluación.\n6- Acabamos de citar en el punto anterior que el número de bitcoin es limitado. Esta característica hace que podamos definir el bitcoin como una moneda deflacionaria. Cabe tener en cuenta que a medida que se van descubriendo más bitcoin su valor disminuye. Pero como contrapartida cuanta más gente quiera disponer de bitcoin para especular o para usarlos como si fuera moneda sube el valor. Cuando los bitcoin se agoten y no se puedan generar más, si la gente los usa lo que pasará es que irán incrementando su valor progresivamente porqué son escasos y la gente los necesita\n7- Las operaciones o pagos realizados con bitcoin no son reversibles. Por lo tanto si compramos algún producto con bitcoin, únicamente la persona que ha recibido los Bitcoin podrá reembolsarlos si el quiere. Por lo tanto hay que ir con cuidado que los pagos y transacciones se realizan con personas o entidades de confianza.\n8- El valor del bitcoin se rige por la ley de la oferta y la demanda y no hay nadie que determine su valor. El bitcoin tendrá el valor que está dispuesta a pagar la gente en cada momento.\n¿EXISTEN OTRA MONEDAS SIMILARES A LOS BITCOIN? La respuesta es que sí. Según la revista Forbes como mínimo existen otras 29 monedas virtuales existentes similares al bitcon. Estas monedas son las siguientes:\nLitecoin, Peercoin, Namecoin, Primecoin, Feathercoin, Megacoin, Novacoin, ProtoShares, QuarkCoin, WorldCoin, Infinitecoin, Freicoin, CryptogenicBullion, Tickets, BBQCoin, Terracoin, Anoncoin, Ixcoin, Devcoin, Digitalcoin, Mincoin, GoldCoin, Yacoin, Copperlark, Zetacoin, Fastcoin, TagCoin, I0Coin, Luckycoin\nPara quien quiera consultar el valor real de cotización de la mayoría de las 29 monedas que acabo de mencionar pueden consultar los siguientes enlaces:\nhttp://coinmarketcap.com/\nhttp://www.coinwarz.com/cryptocurrency\nhttp://www.cryptocoincharts.info/\nA pesar de existir, como mínimo, 29 monedas similares al bitcoin podemos afirmar con rotundidad que a día de hoy el Bitcoin es la moneda criptográfica más popular y podríamos afirmar que la segunda en popularidad es el Litecoin. A pesar de que en estos momentos el Bitcoin sea la moneda más popular, esto puede cambiar en un breve periodo de tiempo, ya que muchas veces quien acaba imponiendo su hegemonía no es quien llega primero sino que es quien lo hace mejor.\nSEGURIDAD QUE OFRECE EL BITCOIN Bitcoin en lo que a seguridad se refiere y a los mecanismos que implementa podemos afirmar que es una moneda segura. Es prácticamente imposible falsificar o duplicar bitcoin. No obstante cabe tener en cuenta las siguientes consideraciones:\nEl bitcoin no ofrece las garantías que puede ofrecer la moneda que tenemos en la actualidad. Por ejemplo en el caso que alguien nos robe nuestra tarjeta de crédito y la usen tenemos hasta 2 meses para ir a nuestro banco y denunciarlo. En el caso de comprobarse la veracidad de los hechos el banco nos devolverá el dinero. Con el bitcoin esta situación a día de hoy no se da. Si te roban el dinero estas completamente indefenso y no podrás hacer nada al respecto.\nEl archivo .zip que tenemos en nuestro ordenador es sumamente importante y es de vital importancia no perderlo. Además hay que hacer copias de de seguridad de este archivo ya que es el que contiene todo nuestro dinero en forma de bitcoin. Si no tenéis cuidado os puede pasar como el ciudadano galés James Howells que tiro al vertedero un disco duro que contenía 7500 bitcoin que a día de hoy equivalen a un valor de cerca de 6 millones de dólares.\nhttp://actualidad.rt.com/actualidad/view/112589-disco-bitcoins-uk-perdido-vertedero (Si este señor tuviera una copia de seguridad ahora mismo no estaría mirando en los vertederos)\nNota: Se recomienda guardar la copia de seguridad en varios sitios. Por ejemplo, en el correo electrónico, en la nube, en varios ordenadores, etc. Así conseguiremos minimizar el riesgo en caso de un gran desastre natural. Nota: Para realizar una copia o respaldo de nuestro bitcoin también es posible realizar una copia en papel. Este papel recibe el nombre de cartera de papel. Una cartera de papel es un trozo de papel que imprimimos con nuestra impresora. La impresión contiene la clave privada de nuestra cartera de bitcoin en forma de código QR. Una vez impreso el papel lo podemos dar a una tercera persona y con su teléfono y una aplicación de bitcoin leerá el código QR del billete. A posteriori podrá retirar el contenido del billete. Este billete puede ir protegido por contraseña por lo que si alguien nos roba el billete o cartera y no sabe nuestra contraseña no podrá retirar el dinero. Es importante que los archivos donde almacenamos nuestros bitcoin no estén en manos de terceras personas. Si alguien consiguiera apoderarse de nuestros archivos podría traspasar la totalidad de bitcoin de nuestra cartera a su cartera o simplemente gastar los bitcoin directamente de nuestra cartera. Por lo tanto nuestros bitcoin tienen que ser almacenados de forma segura y tenemos que securizar bien nuestro ordenador para evitar que hackers o determinados virus o malware puedan robar nuestros bitcoin.\nHay que tener mucho cuidado que nadie nos robe el ordenador. Como alguien nos robe el ordenador y sepa lo que es un bitcoin habremos perdido la totalidad de nuestro dinero. Frente a esta situación es aconsejable cifrar el disco duro de nuestro ordenador para evitar este problema. También es muy altamente recomendable cifrar nuestra cartera de bitcoin haciendo que para acceder a ella se tenga que introducir una contraseña.\nTambién si investigan un poco verán que hay distintos tipos de cartera. Hasta el momento hemos hablado de carteras en nuestro ordenador personal y carteras de papel. Pero también existen carteras de bitcoin en la nube como por ejemplo https://blockchain.info/es/. Hay que ir muy en cuenta en este tipo de carteras y pienso que la mejor opción es guardar los bitcoin en nuestro ordenador personal. Las carteras de bitcoin son susceptibles de ataques y un hacker preferiría atacar una de estas páginas en la nube antes que atacar nuestro ordenador ya que podrá obtener más beneficio. De hecho ya hay varias de estas carteras que han sucumbido a ataques. Si queréis una prueba de ello tan solo tenéis que leer el siguiente artículo.\n¿CÓMO PUEDO CONSEGUIR BITCOIN? Una forma simple de conseguir bitcoin es ir a un “market exchange” e intercambiar moneda tradicional por bitcoin. Actualmente hay diversos market exchange pero siempre es recomendable acudir a sitios de confianza. Algunos de los market exchange de confianza son los siguientes:\n1. bitcoin.de : Portal de compra/venta de reciente creación. A pesar de esto este portal esta muy bien considerado. 2. btc-e.com : Portal similar al primero que hemos visto. La única diferencia es que para poder comprar te obligan a tener una cuenta en OK PAY. En este portal se acostumbra a encontrar buenos precios de compra. 3. localbitcoins.com: También es otro portal que tiene una reputación aceptable. Este portal acepta el pago por transferencia bancaria estándar. Además tiene la particularidad que los contactos se establecen entre los usuarios del portal, y las transacciones se realizan entre usuarios sin la existencia de ningún intermediario. Existen sistemas de seguridad para asegurar que la transacción se realice por ambas partes. 4. mtgox.com: Es el portal más conocido en lo que a compra de bitcoin se refiere. A pesar de incidencias recientes (https://www.mtgox.com/press_release_20140207.html), en este portal tenéis la seguridad garantizada y encontraréis buenos precios de compra. Si quieren profundizar acerca del problema que tubo mtgox pueden consultar el siguiente enlace. 5. bitstamp.net: Portal fiable e ideal para integrantes en la unión Europea y miembros de la SEPA (Single Euro Payments Area).\nTodos los market exchange mencionados son reconocidos, fiables y algunos de ellos tienen licencia para operar banco. Para cambiar Euros por bitcoin lo primero que tenemos que hacer es seleccionar una de las páginas, y comprobar que pueda operar en nuestra área (España (SEPA), Sudamerica, Estados Unidos, etc.).\nSeguidamente tenemos que registrarnos aportando una serie de documentación de acreditación como por ejemplo un permiso de residencia, DNI o pasaporte, etc.\nUna vez registrados en la página tan solo tenemos que coger dinero de nuestro banco y realizar una transferencia bancaria, de por ejemplo 100 euros, al banco de la página web que hayamos seleccionado. Una vez los 100 Euros están al banco de la página web podremos cambiarlos a bitcoin. El número de bitcoin que nos darán dependerá exclusivamente del precio de mercado que tenga el bitcoin en el día que realizamos el cambio. Una vez adquiridos los bitcoin en nuestro monedero/ordenador tendremos una serie de códigos informáticos que en el día de hoy valdrán 100 Euros.\nNota: El tipo de cambio del bitcoin se rige por la ley de la oferta y la demanda y no hay nadie que determine su valor. Así por lo tanto los precios de compra serán distintos en cada uno de los portales a los que accedáis. Otra forma de poder adquirir bitcoin es encontrar a una persona que tenga bitcoin y los quiera vender. Nosotros ingresamos dinero convencional en la cuenta bancaria del vendedor, y el vendedor mediante un programa informático nos enviará los bitcoin que equivalen al dinero que hemos ingresado. Para poder utilizar es método es aconsejable que uséis uno de los portales de los que he hablado anteriomente. El portal se llama localbitcoins.\nFinalmente otra forma de conseguir bitcoin es mediante la minería de bitcoin. De la misma forma que el gobierno decide crear moneda mediante la impresión de papel, los bitcoin se crean mediante la minería de bitcoin. Para hacer mineria de bitcoin tienes que descargarte un software especial para la resolución de problemas matemáticos. El software lo podemos descargar desde este enlace. https://deepbit.net/\nUna vez descargado e instalado el software empezaremos a resolver una serie de problemas matemáticos denominados “challenge”. Una vez resuelto el problema seremos recompensados con bitcoin.\nA medida que avanzan los años quedan menos bitoin para descubrir, el número de mineros se incrementa, y como consecuencia la dificultad de los problemas matemáticos a resolver se incrementa en función de la velocidad en que los mineros resuelven los problemas. Todo esto deriva en que a los primeros años de existencia del bitcoin los problemas matemáticos se resolvían mediante la CPU de nuestros ordenadores. A medida que se ha incrementado la dificultad de los problemas también han evolucionado las formas de resolver los problemas. Así que en la actualidad en vez de usar la CPU de nuestros ordenadores para resolver los problemas estamos usando nuestra GPU, ya que es mucho más rápida a la hora de resolver estos problemas matemáticos. También han aparecido dispositivos dispositivos mineros de bitcoin que han sido diseñados para hacer más efectiva la resolución de los problemas matemáticos mencionados.\nA pesar de disponer de una GPU potente y un dispositivo minero potente puede que sea necesario invertir mucho tiempo para resolver un problema matemático. Por lo tanto en la actualidad los mineros han desarrollado una forma de trabajar conjuntamente denominada “mining pools”. Una pool es un grupo de mineros minando conjuntamente de forma que incrementan sustancialmente su potencia de cálculo y por lo tanto pueden resolver el problema con mucho menos tiempo. Una vez el grupo de mineros ha resuelto el problema se reparten los beneficios proporcionalmente en función de lo que ha aportado cada uno en la resolución del problema. Hoy en día existen varias “mining pool” pero una de las más famosas es la “slush mining pool”.\nFUTURO Y ESTABILIDAD DEL BITCOIN El futuro del bitcon a día de hoy es incierto y nadie sabe que va a pasar. Bajo mi punto de vista el futuro del bitcoin como una moneda normal dependerá básicamente de los siguientes aspectos:\nDe si la gente acepta el bitcoin como un medio de intercambio para obtención de bienes. Que las empresas paguen a sus trabajadores y a sus proveedores con bitcoin y que acepten que sus clientes les paguen con bitcoin. Que los gobiernos acepten el bitcoin como moneda. Si alguno de los gobiernos, como por ejemplo el Americano, decide declarar esta moneda ilegal es posible que el bitcoin desaparezca o tenga un futuro difícil. Recientemente el gobierno chino ha prohibido a sus entidades financieras realizar transacciones con Bitcoin. Justo en el momento de producirse la noticia el valor del bitcoin bajo un 50%. Para quien quiera profundizar sobre esta noticia les dejo el siguiente enlace. Afortunadamente o desafortunadamente pienso que las condiciones para que el bitcoin acabe siendo usado como una moneda normal y corriente no se cumplirán por los siguientes motivos:\nQue la gente adopte el bitcoin como moneda o medio de intercambio me parece difícil porqué como hemos visto anteriormente su valor puede fluctuar un 50% en simplemente una semana. Esto representa un riesgo demasiado elevado ya que puede hacer que tus ingresos puedan subir o bajar un 50% en 4 días. Los gobiernos pienso que no aceptarán el bitcoin como moneda. En el momento que el bitcoin fuera aceptado por todo el mundo competería directamente con la moneda de los gobiernos que son los euros, dolares, etc. Ya hemos visto que a la mínima que el gobierno chino se sintio amenazado por el bitcoin decidió tomar cartas en el asunto. El bitcoin es una moneda que con ciertas precauciones podríamos calificar como anónima. Las operaciones de compraventa con bitcoin se realizan de usuario a usuario sin que haya ningún organismo que registre las operaciones realizadas. Esto implica que en el caso que no queramos pagar impuestos y necesitemos realizar operaciones ilegales la gente usará el bitcoin. Si esto llegará a pasar significaría que los gobiernos perderían el control sobre la economía y dejarían de recaudar gran parte de los impuestos que están recaudando actualmente. En el caso que bitcoin funcionará saldrían otras moneda similares replicando un modelo similar, y lógicamente entre 20 o 30 monedas que acabarían saliendo no podrían sobrevivir todas. Solo sobrevivirían las monedas mejor consideradas por los ciudadanos y entre ellas cabria la posibilidad que no estuviera el bitcoin. Por todos los puntos citados pienso que el futuro del bitcoin y de la moneda virtual no será para nada fácil. No obstante no sabemos que va a pasar y más ahora que parece que el mundo esta evolucionando hacia la electrónica.\nINFORMACIÓN ADICIONAL Quién precise de información adicional puede consultar los siguientes enlaces:\nhttp://cert.inteco.es/extfrontinteco/img/File/intecocert/EstudiosInformes/int_bitcoin.pdf\nhttp://www.fixyt.com/watch?v=Lx9zgZCMqXE\n","permalink":"https://geeklandlinux.github.io/posts/todo-sobre-los-bitcoin/","summary":"\u003cp\u003eSeguidamente les comento una serie de aspectos básicos sobre el bitcoin. Una vez comentados los aspectos básicos espero que todo el mundo sea capaz de entender que es bitcoin, los riesgos y beneficios que conlleva, y que sean capaces de conseguir bitcoin y usarlos con total seguridad. Así que empecemos con la explicación.\u003c/p\u003e","title":"Todo sobre el bitcoin"},{"content":"En pasados post vimos como podíamos crear muy fácilmente nuestro propio servidor VPN mediante el protocolo pptp.\nhttps://geeklandlinux.github.io/posts/crear-un-servidor-vpn-pptp/\nPudimos constatar y experimentar que la instalación y configuración del servidor era sumamente sencilla y era altamente compatible con la totalidad de sistemas operativos existentes, pero como punto negativo también vimos que a día de hoy pptp presenta serios problemas en lo que a la seguridad se refiere.\nPor lo tanto a toda la gente que necesite un VPN para la transmisión de información sensible no le recomiendo el uso del protocolo pptp. Le recomiendo el uso del protocolo OpenVPN. Para ver como instalar y configurar este tipo de servidor VPN tan solo tienen que seguir los pasos que vamos a definir a continuación.\nTIPO DE CONFIGURACIÓN VPN QUE VAMOS A USAR Hay distintas formas de configurar un servidor mediante OpenVPN. Los distintos tipos de configuración existentes son Host to Host, Road to Warrior (Host to LAN) y Net to net. Nosotros nos focalizaremos en el Road to Warrior o Host to LAN, por ser el más popular de todos y el que seguramente se adaptar a prácticamente las necesidades de de cualquier usuario.\nLa configuración Road to Warrior (Host to LAN mediante túnel) permitirá que múltiples dispositivos u ordenadores se puedan conectar simultáneamente a nuestra red VPN y compartir recursos e informaciones con la red a que se conectan. Por lo tanto en este caso tenemos varios clientes que se pueden conectar de forma independiente al servidor VPN. Para quien precise de más información acerca de este tipo de configuración puede consultar el siguiente enlace.\nLa configuración Host to Host, a diferencia del modo de configuración anterior, únicamente nos permitirá la conexión entre 2 máquinas o dispositivos conectados a Internet o dentro de una red local. Por lo tanto en este caso solamente existe un cliente y un servidor. Además estás 2 máquinas o dispositivos no podrán compartir recursos e informaciones con otros equipos que estén conectados en la misma red LAN.\nPara finalizar tenemos la configuración Net to Net, Red-red, o LAN to LAN. Esta configuración mayoritariamente es usada en el mundo empresarial. Esta configuración lo que hace es unir redes locales (LAN) ubicadas en distintas ubicaciones geográficas para de esta forma poder compartir información entre todos los clientes de todas las redes. De este modo cada una de las redes locales LAN tiene un punto de acceso o puerta de enlace que proporciona un canal de transmisión seguro entre 2 o más redes.\nASEGURAR QUE EL SERVIDOR OPENVPN TENGA IP FIJA EN LA RED LOCAL Es muy importante asegurar que nuestro servidor disponga de una IP interna fija en la red local. Es importante porqué cuando recibamos una petición de los clientes VPN, el router tendrá que saber a que IP interna tiene que redireccionar la petición del cliente VPN.\nPara conseguir disponer de un servidor con ip interna fija tan solo tienen que seguir los pasos que se detallan en el siguiente enlance:\nhttps://geeklandlinux.github.io/posts/configurar-ip-fija_o_estatica_ipv4/\nNota: El método descrito en el enlace es válido en el caso que estéis usando un servidor sin entorno gráfico. En el caso que el servidor que uséis disponga de entorno gráfico tendréis que configurar este aspecto a través de las interfaces visuales de vuestro gestor de red que probablemente será network manager o wicd. Una vez terminados la totalidad de pasos mi servidor tendrá una IP fija que en mi caso será la 192.168.1.188. Esta IP es la que deberemos usar para que el router redireccione las peticiones de los clientes al servidor OpenVPN.\nREDIRECCIONAMIENTO DINÁMICO NO-IP Cuando tengamos nuestro servidor VPN funcionando, lo más probable es que tengamos conectarnos desde el exterior de nuestra local red local mediante el servidor VPN.\nPara conectarnos a nuestra red local tendremos que saber nuestra IP Pública pero desafortunadamente en la gran mayoría de casos la IP que tenemos es dinámica. Por lo tanto se puede dar perfectamente el caso que en el momento de conectarnos no sepamos la IP Pública de nuestro servidor.\nPara solucionar este problema tenemos que asociar la IP Pública de nuestro servidor a un dominio. Para poder realizar este paso tan solo tienen que seguir las indicaciones del siguiente enlace:\nhttps://geeklandlinux.github.io/posts/encontrar-servidor-con-dns-dinamico/\nUna vez realizados estos pasos tendréis vuestra IP Pública asociada a un dominio. En mi caso mi IP Pública está asociada al dominio geekland.sytes.net\nINSTALACIÓN DEL SERVIDOR La instalación del servidor la vamos a realizar en un sistema operativo Debian Wheezy. La totalidad del procedimiento descrito tiene que funcionar en cualquier distribución que derive de Debian como pueden ser Ubuntu, Crunchbang, Linux Mint, Kubuntu, etc.\nPara instalar el servidor OpenVPN lo primero que tenemos que hacer es abrir una terminal. Dentro de la terminal teclean el siguiente comando:\nsudo apt-get install openvpn openssl Ahora ya tenemos instalado el servidor.\nCREAR UNA AUTORIDAD DE CERTIFICACIÓN OpenVPN es un protocolo de VPN basado SSL/TLS mediante certificados y claves RSA creadas mediante openssl. Por lo tanto el nivel de seguridad proporcionado por OpenVPN es muy elevado.\nAl ser un protocolo que funciona bajo certificados y claves necesitaremos crear una autoridad de certificación para a posteriori generar los certificados.\nNota: La principal función de una autoridad de certificación es la de emitir y revocar certificados digitales para terceros. Para quien necesite más información puede consultar el siguiente enlace. Crear el certificado raíz ca para firmar y revocar los certificados de los clientes Para poder emitir y revocar la claves necesitamos crear nuestra propia autoridad certificadora y disponer de nuestro certificado raíz ca.ctr y de nuestra clave ca.key para poder crear y firmar las claves de los clientes y del servidor.\nPara realizar este paso, y el resto de pasos, ejecutoriaremos los scripts que OpenVPN trae incorporados de serie. Para ello tenemos que crear una carpeta con nombre easy-rsa dentro de la ubicación /etc/openvpn. Para ello abrimos una terminal y tecleamos el siguiente comando:\ncd /etc/openvpn mkdir easy-rsa Seguidamente tenemos que copiar los scripts de configuración de OpenVPN, que se hallan en la ubicación /usr/share/doc/openvpn/examples/easy-rsa/2.0/, dentro de la carpeta easy-rsa que acabamos de crear. Para ello en la terminal tecleamos el siguiente comando:\ncp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* easy-rsa Una captura de pantalla los pasos realizados hasta el momento se puede ver a continuación:\nEn el caso que que vuestra distro trabaje con la versión 3 de easy-rsa, en el momento de introducir el último comando, obtendréis un error parecido al siguiente error:\ncp: no se puede efectuar `stat’ sobre «/usr/share/doc/openvpn/examples/easy-rsa/2.0/*»: No existe el archivo o el directorio\nLos pasos a realizar para solucionar este error son los siguientes. En la terminal escriben el siguiente comando para instalar el paquete easy-rsa.\napt-get install easy-rsa Seguidamente borran la carpeta easy-rsa que habíamos creado inicialmente introduciendo el siguiente comando en la terminal:\nrm -R /etc/openvpn/easy-rsa Finalmente para obtener los scripts para la creación de claves en la terminal introducimos el siguiente comando:\nmake-cadir /etc/openvpn/easy-rsa Nota: Algunas de las distros que funcionan con easy-rsa 3.0 son Ubuntu 14.04, Linux Mint 16, etc. Para ejecutar los scripts que acabamos de copiar o de obtener, tenemos que ir a la ubicación donde los guardamos. Para ello ingresamos el siguiente comando en la terminal:\ncd /etc/openvpn/easy-rsa Antes de ejecutar los scripts editaremos el fichero vars para modificar una serie de parámetros. Para modificar el fichero vars se tiene que introducir el siguiente comando en la terminal:\nnano vars Tamaño de las claves Una vez abierto el editor de texto tenemos que localizar y modificar la siguiente línea:\nexport\\_KEY\\_SIZE=1024 Una vez encontrada la sustituyen por la siguiente linea:\nexport\\_KEY\\_SIZE=2048 Nota: Con esta modificación estamos incrementando el tamaño de la claves privadas (.key) que vamos a generar y también del parámetro de Diffie Hellman. Con esta modificación incrementarios del tamaño de las claves de 1024 bits a 2048 bits. También seria posible usar 4096 bits. Este parámetro no tiene porqué penalizar en exceso el rendimiento del servidor. Únicamente penalizará el proceso autentificación Handshake de SSL/TLS. Datos de la entidad emisora de los certificados Seguidamente tenemos que introducir los datos de la entidad emisora de los certificados que seremos nosotros mismos Para ello tenemos que localizar las siguientes lineas:\nexport KEY\\_COUNTRY=”US” export KEY\\_PROVINCE=”CA” export KEY\\_CITY=”SanFrancisco” export KEY\\_ORG=”Fort-Funston” export KEY\\_EMAIL=”me(arroba)myhost.mydomain” export KEY\\_EMAIL=mail(arroba)host.domain export KEY\\_CN=Changeme export KEY\\_CN=Changeme export KEY\\_OU=Changeme Una vez localizadas las lineas tan solo se tienen reemplezar el contenido por defecto por nuestros datos reales. En mi caso los datos a rellenar podrían ser:\nexport KEY\\_COUNTRY=”ES” “Poner las 2 iniciales de tu país” export KEY\\_PROVINCE=”CA” “Poner las 2 iniciales de tu provincia” export KEY\\_CITY=”s\\*\\*\\*\\*\\*\\*\\*a” “Poner el nombre de tu ciudad” export KEY\\_ORG=”geekland” “Poner el nombre de la organización” export KEY\\_EMAIL=”xxxxxxx(arroba)gmail.com” “Usar vuestra dirección de email” export KEY\\_EMAIL=xxxxxxx(arroba)gmail.com “Usar vuestra dirección de email” export KEY\\_CN= wheezy “Usar el nombre del host del servidor” export KEY\\_NAME=vpnkey “Designa el nombre de la entidad certificadora que se creará” export KEY\\_OI=IT “Departamento de la empresa” Nota: Dentro de este fichero también podemos configurar el tiempo de validez que tendrá nuestra entidad certificadora y el tiempo de validez que tendrán los certificados y claves que crearemos. El valor estándar de validez son 3650 días que no voy a tocar. Una vez modificado el archivo vars guardamos los cambios y lo cerramos. Ahora tendremos que exportar sus variables. Para exportar sus variables tenemos que teclear el siguiente comando en la terminal:\nsource ./vars Seguidamente ejecutaremos el script clean-all. El script clean-all borrará la totalidad de claves que podrían existir en la ubicación /etc/openvpn/easy-rsa/keys. Para ejecutar el script tenemos que teclear el siguiente comando en la terminal:\n./clean-all El siguiente paso es generar los parámetros de Diffie Hellman. Los parámetros de Diffie Hellman se utilizarán para poder intercambiar las claves ente cliente y servidor de forma segura. Para poder realizar este paso tenemos que teclear el siguiente comando en la terminal:\n./build-dh Al terminar el proceso dentro de la ubicación /etc/openvpn/easy-rsa/keys se habrá creado el archivo dh2048.pem que contiene los parámetros Diffie Hellman.\nNota: Para quien requiera información adicional de los parámetros de Diffie Hellman puede consultar el siguiente enlace. Este parámetro se usará poder un intercambio de claves entre 2 participantes de forma segura. En la siguiente captura de pantalla podrán ver una muestra de los pasos realizados hasta el momento:\nFinalmente vamos a a crear el certificado y la clave privada de nuestra propia autoridad certificadora. Para ello tenemos que teclear el siguiente comando en la terminal:\n./build-ca Durante el proceso de creación se les hará una serie de preguntas para incorporar información dentro del certificado que se creará. Como anteriormente hemos editado el fichero vars ahora solo nos tenemos que limitar a aceptar el valor por defecto de las preguntas que nos hacen.\nAl terminar el proceso dentro de la ubicación /etc/openvpn/easy-rsa/keys se ha creado ca.crt y ca.key:\nca.crt: Es el certificado raíz público de la autoridad de certificación (CA) ca.key: Este fichero contiene la clave privada de la autoridad de certificación (CA). Este archivo debe mantenerse protegido y no debe estar al alcance de terceros.\nUna vez creado el certificado y la clave de vuestra autoridad certificador la pantalla de vuestro ordenador tiene que presentar el siguiente estado:\nCREAR EL CERTIFICADOS Y LA CLAVE DEL SERVIDOR OPENVPN A estas alturas ya lo tenemos todo listo para poder crear el certificado y clave de nuestro servidor. Para ello introducimos el siguiente comando en la terminal:\n./build-key-server whezzyVPN Nota: whezzy VPN es el nombre del servidor. Vosotros tenéis que introducir el nombre que vosotros queráis. Una vez introducido este comando se nos hará una serie de preguntas. Simplemente tienen que contestar el valor por defecto ya que anteriormente hemos modificado el archivo vars.\nAl terminar el proceso dentro de la ubicación /etc/openvpn/easy-rsa/keys se habrán creado los siguientes archivos:\nwhezzyVPN.key: Este fichero contiene la clave privada del servidor. Este archivo no debe estar al alcance de nadie.\nwhezzyVPN.crt: Este fichero corresponde al certificado público del servidor.\nwhezzyVPN.csr: Este archivo es la petición de certificado que se envía a la autoridad de certificación. Mediante la información que contiene el archivo .csr, la autoridad de certificación podrá realizar el certificado del servidor una vez hayan realizado las comprobaciones de seguridad pertinentes.\nUna vez creado el certificado y la clave del servidor la pantalla de vuestro ordenador tiene que presentar el siguiente estado:\nCREAR EL CERTIFICADO Y LAS CLAVES DE LOS CLIENTES El siguiente paso es crear los certificados y las claves de los clientes que se podrán conectar al servidor VPN. Para ello tenemos que teclear el siguiente comando en la terminal:\n./build-key usuariovpn Nota: usuariovpn es el nombre de usuario que vamos a crear. En vuestro caso tendréis que reemplazar usuariovpn por el nombre que queráis. Una vez introducido este comando se nos hará una serie de preguntas. Simplemente tienen que contestar el valor por defecto ya que anteriormente hemos editado el fichero vars.\nAl terminar el proceso dentro de la ubicación /etc/openvpn/easy-rsa/keys se habrán creado los siguientes archivos\nusuariovpn.key: Este fichero contiene la clave privada del cliente. Este archivo no debe estar al alcance de nadie. usuariovpn.crt: Este fichero corresponde corresponde al certificado público del servidor. usuariovpn.csr: Este archivo es la petición de certificado que es envía a la autoridad de certificación. Mediante la información contenida en el archivo .csr, la autoridad de certificación podrá realizar el certificado del cliente una vez hayan realizado las comprobaciones de seguridad pertinentes.\nNota: El procedimiento de generación de clientes se deberá repetir tantas veces como clientes queráis que tenga el servidor OpenVPN. Una vez creado el certificado y la clave del cliente, la pantalla de vuestro ordenador tiene que presentar el siguiente estado:\nFORTIFICAR LA SEGURIDAD DEL SERVIDOR OPENVPN CON TLS-AUTH Nota: Esto paso en principio no es necesario pero lo realizaremos para incrementar la seguridad de nuestro servidor VPN. Ahora generamos otra clave. Esta clave nos servirá para agregar soporte para usar la autentificación TLS y de este modo fortificar la seguridad del servidor VPN. Para generar la clave para poder fortificar el servidor se tiene que introducir el siguiente comando en la terminal:\ncd /etc/openvpn/easy-rsa/keys Una vez hemos accedido a la ubicación /etc/opnevpn/easy-rsa/keys tecleamos el siguiente comando:\nopenvpn --genkey --secret ta.key Justo al ejecutar el comando, Como se puede ver en la captura de pantalla, se generará una clave con el nombre ta.key en la misma ubicación dónde hemos aplicado el comando.\nLa clave creada servirá para introducir una firma digital HMAC en todas las transacciones del protocolo handshake de SSL/TLS entre el cliente y el servidor. De esta forma podremos verificar la integridad de los paquetes intercambiados entre el cliente y el servidor VPN, y en el caso que un cliente intente conectarse al servidor VPN sin poseer la clave para firmar los paquetes la conexión se rechazará automáticamente. Además con el uso de autentificación TLS también conseguiremos prevenir los siguientes ataques:\nAtaques de denegación de servicio DoS. Ataques de denegación de servicio por inundación UDP al puerto del VPN. Escaneo de puertos en nuestro servidor para intentar averiguar vulnerabilidades. UBICACIÓN DE LAS CLAVES GENERADAS A estas alturas hemos generado multitud de claves y certificados. Si se han seguido los pasos detalladamente, la totalidad de claves se hallan en la ubicación /etc/openvpn/easy-rsa/keys.\nAnteriormente ya he detallado el uso de cada una de la claves. Seguidamente pasaré a detallar la ubicación de cada una de las claves:\nArchivo Descripción Ubicación Secreto dh2048.pem Parámetros Diffie Hellman Servidor (/etc/openvpn) Sí ca.crt Certificado raíz de la entidad certificadora Servidor (/etc/openvpn) y cliente No ca.key Clave de la entidad certificadora Servidor (/etc/openvpn) Sí whezzyVPN.key Clave del servidor VPN Servidor (/etc/openvpn) Sí whezzyVPN.crt Certificado del servidor VPN Servidor (/etc/openvpn) y cliente No whezzyVPN.csr Archivo de petición de certificado Servidor (/etc/openvpn) No usuariovpn.key Clave privada del cliente VPN Cliente Sí usuariovpn.crt Certificado del cliente VPN Cliente No usuariovpn.csr Archivo de petición de certificado Servidor (/etc/openvpn) No ta.key Clave para la Autentificación TLS Servidor (/etc/openvpn) y cliente Sí Nota: Tienen que trasladar cada una de las llaves mencionadas en las ubicaciones que se detallan en el cuadro. Recuerden transmitir y trasladar las claves y certificados del servidor al cliente por un canal seguro. ASEGURAR QUE LAS PETICIONES DNS SE REALIZAN POR EL VPN Otro punto a contemplar para asegurar que nuestro servidor VPN sea seguro es que nadie pueda capturar nuestras peticiones DNS para saber donde nos estamos conectando.\nNota: Quien no sepa que son las peticiones DNS puede consultar el siguiente enlace. Para que nadie capture nuestras peticiones DNS lo que realizaremos es canalizar la totalidad de nuestras peticiones a través del túnel del servidor OpenVPN. Así las peticiones DNS se enviarán al servidor VPN de forma cifrada y será el servidor OpenVPN el encargado de resolverlas. Para poder realizar lo que acabo de describir lo primero que tienen que realizar es instalar dnsmasq. Para poder instalar dnsmasq teclean el siguiente comando en la terminal:\napt-get install dnsmasq Una vez instalado dnsmasq lo tenemos que configurar para que escuche las peticiones DNS dirigidas al servidor VPN. Para ello accedemos al archivo de configuración introduciendo el siguiente comando en la terminal:\nnano /etc/dnsmasq.conf Una vez abierto el editor de texto introducen las siguientes líneas:\nlisten-address=127.0.0.1,10.8.0.1 bind-interfaces Nota: Introduciendo la primera línea lo que estamos haciendo es que Dnsmasq solamente tenga en cuenta las peticiones DNS que se dirijan a las interfaces [lo]: 127.0.0.1 y [tun0]: 10.8.0.1 que es la de nuestro servidor VPN. Nota: Con la segunda línea estamos habilitando que dnsmasq tenga la capacidad de escuchar solo determinadas interfaces como por ejemplo las dos que hemos definido antes. La [lo] 127.0.0.1 y la [tun0] 10.8.0.1 Ahora tan solo tienen que guardar los cambios y salir del archivo de configuración. La configuración ha terminado y solamente hace falta reiniciar los servicios openvpn y dnsmasq. Para ello teclean los siguientes comandos en la terminal:\n/etc/init.d/openvpn restart /etc/init.d/dnsmasq restart Es posible que cuando reinicien los servicios o arranquen el sistema vean un error parecido al de la captura de la pantalla:\nStarting DNS forwarder and DHCP server: dnsmasq dnsmasq: failed to creat listening to socket for 10.8.0.1: No se puede asignar la dirección solicitada.\nEsto error es debido a que Dnsmaq arranca antes de que se cree la interfaz [tun0]. Por lo tanto cuando intenta escuchar la interfaz [tun0] nos dará el error porqué [tun0] no existe. Para solucionar este problema y que dnsmasq puede realizar su función tan solo tiene que modificar el archivo /etc/rc.local. Para ello en la terminal escriben:\nnano /etc/rc.local Se abrirá el editor de textos y ahora, debajo de las reglas de iptables tan solo tienen que escribir:\n/etc/init.d/dnsmasq restart Una vez realizado este paso guardan el fichero y salen. Introduciendo esta linea lo que estamos haciendo es reiniciar el servicio dnsmasq una vez se han ejecutado la totalidad de scripts de inicio (init). De este modo cuando se reinicialice dnsmasq la interfaz [tun0] ya estará levantada.\nNota: Para que dnsmasq funcione tienen que tener configurado el servidor VPN tal y como se detalla en el apartado Configurar el servidor. CONFIGURAR EL SERVIDOR OPENVPN Existen ficheros de configuración standard que deberían funcionar out of the box y que podemos aprovechar para realizar nuestra configuración. Los ficheros de ejemplo que podemos usar para ver la totalidad de opciones que tenemos disponibles se hallan comprimidos en la siguiente ubicación ubicación:\n/usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz\nPara consultarlos teclear el siguiente comando para acceder a la ubicación de este archivo:\ncd /usr/share/doc/openvpn/examples/sample-config-files Seguidamente copiamos el archivo comprimido que dispone de los archivos de muestra de configuración en la ubicación /etc/openvpn. Para ello tecleamos el siguiente comando:\ncp -a /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ Seguidamente accedemos a la ubicación donde hemos copiado el archivo comprimido que contiene los archivos de configuración:\ncd /etc/openvpn Para descomprimir el archivo que contiene los archivos de configuración tecleamos:\ngunzip server.conf.gz Una vez descomprimido el archivo ya podemos consultar los ejemplos de configuración tanto del cliente como del servidor. Para ver y modificar la configuración estándar para adaptarla a nuestras necesidades tienen que teclear el siguiente comando en la terminal:\nnano server.conf Se abrirá el editor de texto en el que podrán ver de forma detallada las opciones de configuración de ejemplo del servidor. Ahora tendréis que comprobar que la totalidad de parámetros que se muestran en la tabla de este apartado estén dentro del fichero de configuración de ejemplo que es el que vamos a usar. En el caso de que los parámetros estén comentados habrá que descomentarlos, en el caso que no existen se deberán añadir y/o modificar.\nParámetro Descripción dev tun Dispositivo virtual en el cual se creara el túnel. proto udp Protocolo de la conexión VPN. También podríamos usar el tcp. port 1194 Puerto de escucha del servicio. El puerto de escucha se puede modificar. ca ca.crt Certificado de la autoridad certificadora que creamos. cert whezzyVPN.crt Certificado del servidor que hemos creado. key whezzyVPN.key Clave privada del servidor que hemos creado. dh dh2048.pem Carga de los parámetro de Diffie Hellman. Server 10.8.0.0 255.255.255.0 Indicamos que a los clientes del VPN se les asignará IP del tipo 10.8.0.0/24 ifconfig-pool-persist ipp.txt Se crea un fichero ipp.txt en el que se registran las IP de los clientes que se conectan al servidor VPN. push “route 192.168.1.0 255.255.255.0” Con esta línea hacemos que los paquetes que tengan como destino la red 192.168.1.0 viajen por la interfaz del túnel (tun0). De esta forma el cliente VPN se podrá comunicar con cualquier máquina de la red 192.168.1.0. keepalive 10 120 El servidor VPN enviará un ping cada 10 segundos y como máximo esperará 120 segundos para que el cliente de una contestación. tls-aut ta.key 0 Activación de la autentificación TLS en el servidor. comp-lzo Activar compresión LZO para la transmisión de datos. max-clients 10 Número máximo de clientes que se pueden conectar de forma simultanea. El valor se puede modificar según las necesidades. user nobody Para limitar los privilegios del demonio de VPN hacemos que funcione con el usuario nobody. group nogroup Para limitar los privilegios del demonio de VPN hacemos que funcione con el grupo nogroup. push “redirect-gateway def1” Para que la totalidad de tráfico vaya a través de nuestro VPN push “dhcp-option DNS 10.8.0.1” Estamos definiendo que las peticiones DNS de los clientes se hagan a través del servidor VPN ubicado en 10.8.0.1 cipher AES-256-CBC Por defecto el algoritmo de cifrado de OpenVPN es Blowfish con un tamaño de clave de 128 bits. Quien crea que no es suficiente puede añadir esta línea para cambiar el algoritmo de cifrado a AES con un clave de cifrado de 256 bits. Para ver todos los algoritmos de cifrado disponibles teclear openvpn \u0026ndash;show-ciphers en la terminal. persist-key En caso que el servidor OpenVPN se caiga las claves no tendrán que ser analizadas de nuevo. persist-tun El dispositivo tun0 no tendrá que ser reabierto ni cerrado en el caso que tengamos que reiniciar el servidor. status openvpn-status-log Log donde se guardará información respecto al túnel creado. plugin /usr/lib/openvpn/openvpn-auth-pam.so /etc/pam.d/login Activación del script encargado de realizar la autenticación del usuario y del cliente. (Ver el apartado “Autentificación del cliente mediante usuario y password”) verb 3 Grado de detalle del estado del túnel en los logs. Una vez tenemos listo el fichero de configuración tan solo tenemos que guardar los cambios y cerrarlo.\nNota: Si queremos que los clientes que estan conectados al servidor VPN puedan comunicarse entre ellos tenemos que añadir la frase client-to-client en el fichero de configuración del servidor. Nota: Si leéis con detalle el fichero de configuración podréis aplicar configuraciones distintas a las que se detallan en el post. Nota: La configuración propuesta en este apartado se tendrá que adaptar a las características de vuestra red y a vuestras necesidades. CONFIGURAR EL CLIENTE OPENVPN Una vez configurado el servidor ahora pasaremos a configurar el cliente. Para ello dentro de la ubicación /etc/openvpn tecleamos el siguiente comando:\nnano client.conf Se abrirá el fichero de configuración en el que podrán ver un ejemplo de configuración para un cliente estándar. Aseguramos que el fichero de configuración estándar tenga los parámetros que se muestran en la tabla de este apartado. En caso de no tenerlos habrá que añadirlos manualmente, en el caso de que los parámetros estén comentados habrá que descomentarlos y en el caso que no existan se deberán añadir y/o modificar.\nParámetro Descripción dev tun Dispositivo virtual en el cual se creara el túnel. proto udp Protocolo de transmisión de paquetes del servidor VPN. Se puede usar TCP. remote geekland.sytes.net 1194 Dirección IP pública/Host DNS dinámico y puerto de escucha del servidor VPN. El puerto 1194 se puede cambiar. Si lo cambiamos deberemos adaptar el resto de configuraciones al nuevo puerto resolv-retry infinite El cliente intentará de forma indefinida resolver la dirección o nombre de host indicado por la directiva remote (geeekland.sytes.net). nobind A los clientes se les asignará puertos dinámicos (no privilegiados) cuando haya retorno de paquetes del servidor al cliente. user nobody Para limitar los privilegios de los clientes que se conectan al VPN les asignamos el usuario nobody. (no necesario para windows) group nogroup Para limitar los privilegios de los clientes que se conectan al VPN les asignamos el grupo nogroup. (no necesario para windows) persist-key En caso que el servidor OpenVPN sea reiniciado no se tendrán que volver a leer las claves. persist-tun El dispositivo tun0 no tendrá que ser reabierto ni cerrado en el caso que tengamos que reiniciar el cliente Vpn. ca ca.crt Certificado de la autoridad certificadora que creamos cert usuariovpn.crt Certificado del cliente key usuariovpn.key Clave privada del cliente ns-cert-type server Para prevenir ataques man in the middle. Con esta frase hacemos que los clientes solo puedan aceptar un certificado de servidor del tipo servidor “nsCertType=server”. En este campo podríamos aplicar otras alternativas similares como por ejemplo \u0026ldquo;remote-cert-tls server\u0026rdquo;. tls-auth ta.key 1 Activación de la autentificación TLS en el cliente. cipher AES-256-CBC Por defecto el algoritmo de cifrado de OpenVPN es Blowfish con un tamaño de clave de 128 bits. Quien crea que no es suficiente puede añadir esta línea para cambiar el algoritmo de cifrado a AES con un clave de cifrado de 256 bits. Para ver todos los algoritmos de cifrado disponibles teclear openvpn \u0026ndash;show-ciphers en la terminal. auth-user-pass Para indicar que el cliente tiene que introducir un nombre de usuario y un password. auth-nocache Para evitar que los password queden almacenados en la memoria cache de los clientes. comp-lzo Activar compresión LZO para la transmisión de datos. verb 3 Grado de detalle del estado del túnel AUTENTIFICACIÓN DEL CLIENTE MEDIANTE LOGIN Y PASSWORD A pesar de toda la seguridad que hemos implementado hasta el momento podría darse el caso que alguien robará nuestro ordenador. Si alguien robará nuestro ordenador, teléfono o tablet podría encontrarse con la totalidad de nuestras claves criptográficas y de esta forma podría acceder fácilmente a nuestra red.\nPara solucionar este problema vamos a introducir un usuario y un password para los clientes de nuestro servidor vpn. Para ello tan solo tenemos que añadir uno o los usuarios que queramos.\nPara añadir un usuario, como por ejemplo el usuariovpn2, tienen que teclear el siguiente comando en la terminal:\nuseradd usuariovpn2 -M -s /bin/false Una vez creado el usuario tenemos que definir un password del usuariovpn2. Para ello tecleamos el siguiente comando en la terminal:\npasswd usuariovpn2 Una vez introducido el comando nos pedirá que introduzcamos la clave de usuario y después nos pedirá confirmación.\nEn el caso que a posteriori se precise eliminar el usuariovpn2 tan solo tienen que introducir el siguiente comando en la terminal:\ndeluser usuariovpn2 Seguidamente en la siguiente captura de pantalla pueden ver un resumen de los pasos realizados:\nNota: Para que la autentificación mediante usuario y password funcione tienen que tener configurado el servidor y el cliente tal y como se detalla en los apartados Configurar el servidor y configurar el cliente. CONFIGURAR IPTABLES PARA EL ENRUTAMIENTO DE PETICIONES Cuando el servidor OpenVPN reciba las peticiones de los clientes se deberán enrutar adecuadamente, y además tendremos que tener configurar el firewall de nuestro equipo para que permita el tráfico a través del túnel que se ha creado ente el cliente y el servidor.\nPara ello lo primero que tenemos que hacer es habilitar el IP forwarding. Para habilitar el IP Forwading de forma permanente tecleamos el siguiente comando en la terminal:\nnano /etc/sysctl.conf Se abrirá el editor de textos y seguidamente tendremos que localizar la siguiente linea:\n#net.ipv4.ip_forward=1\nUna vez localizada tan solo hay que descomentarla de forma que quede de la siguiente forma:\nnet.ipv4.ip_forward=1\nGuardamos los cambios y cerramos el archivo.\nUna vez habilitado el Ipforwarding tenemos que permitir el tráfico por nuestro túnel VPN, y además tenemos que hacer que los clientes VPN puedan acceder a redes externas públicas y otras subredes dentro de la red VPN. Para poder conseguir esto en la terminal escriben el siguiente comando:\nnano /etc/rc.local Una vez se abra el editor de textos tienen que escribir las siguientes reglas en nuestro firewall\niptables -A FORWARD -i eth0 -o tun0 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -s 10.8.0.0/24 -o eth0 -j ACCEPT iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE Nota: En función de las características de vuestra red y configuración de vuestro firewall es posible que tenga que implementar reglas adicionales a las que se muestran en este ejemplo. Con la primera de las reglas estamos permitiendo el tráfico por el dispositivo virtual en que que se crea el túnel.\nCon la segunda de las reglas estamos permitiendo que los paquetes provenientes de 10.8.0.0/24 pueden enviarse o salir por la interfaz de salida eth0.\nCon la tercera de las reglas estamos diciendo al servidor OpenVPN que cuando reciba una petición de cualquiera de los clientes, proceda el mismo a resolverla y enviarla en representación del cliente.\nUna vez finalizando el proceso guardan el archivo y cierran el editor de textos. Antes de cerrar el archivo el fichero /etc/rc.local tendrá un aspecto parecido al siguiente:\nCONFIGURAR EL ROUTER Y ABRIR EL PUERTO DEL SERVIDOR OPENVPN Ya para finalizar solo nos falta configurar nuestro router, para que redirija las peticiones de los clientes al servidor Opevpn, y abrir el puerto del servidor OpenVPN. Para realizar esto tenemos que abrir nuestro navegador y teclear nuestra puerta de entrada. Una vez realizado esto, tal y como se puede ver en la captura de pantalla, se abrirá una ventana en que nos pedirá nuestro nombre de usuario y contraseña:\nUna vez introducida la información accederemos a la configuración de nuestro router. Seguidamente, tal y como se puede ver en la captura de pantalla, tenemos que acceder a los menús Advanced / NAT / Virtual Servers:\nSeguidamente presionamos el botón Add y nos aparecerá la siguiente pantalla:\nTal y como se puede ver en la captura de pantalla, en en el campo custom server hay que escribir un nombre cualquiera. En mi caso como se puede ver en la captura de pantalla he escrito OpenVPN. Seguidamente en el campo Server IP Address tenemos que escribir la IP del servidor OpenVPN. En mi caso tal y como se puede ver en la captura de pantalla es la 192.168.1.188. Finalmente tal y como se puede ver en la captura de imagen seleccionamos el protocolo UDP y escribimos el puerto de nuestro servidor OpenVPN (1194) en los puertos internos y externos.\nPresionamos el botón Apply/Save y de esta forma todas las peticiones exteriores que lleguen a nuestro router por el puerto 1194 serán redirigidas a nuestro servidor OpenVPN.\nCOMO CONECTARNOS AL SERVIDOR OPENVPN Seguidamente dejo una serie de enlaces en los que explico de forma detallada los pasos a seguir para conectarnos a nuestro servidor Openvpn en el caso de estar usando los siguientes sistemas operativos:\nLinux Android Windows iOS Siguiendo las instrucciones de los enlaces que acabo de dejar podremos comprobar fácilmente el funcionamiento de nuestro servidor Openvpn.\nSEGURIDAD QUE NOS APORTARÁ EL SERVIDOR OPENVPN Si se configura el servidor Openvpn, tal y como se detalla en el post, se obtendrá un nivel de seguridad muy elevado y resultará prácticamente invulnerable frente a ataques.\nLa seguridad que aportará el servidor OpenVPN que acabamos de configurar estará compuesta por 3 capas:\nCapa 1 “Autentificación TLS”: Con la autentificación TLS estamos introduciendo una firma digital HMAC a los paquetes antes de empezar la autentificación reciproca entre cliente y servidor. Si no se pasa el test de la firma HMAC, no se llegará ni a iniciar el proceso de autenticación entre cliente y servidor.\nCapa 2 “SSL/TLS”: Mediante las herramientas de seguridad proporcionadas SSL/TLS se realiza el proceso de autentificacion bidireccional entre el cliente y el servidor OpenVPN mediante claves criptográficas.\nCapa 3 “Cifrado”: Dispone de varios tipos de cifrado disponibles en la transmisión de datos entre el cliente y el servidor. Además podemos aplicar medidas para los privilegios del demonio de OpenVPN sean los mínimos para poder realizar la función que tiene que realizar.\nTodas estas características, más las que se detallan en el post, hacen que OpenVPN sea una opción muy válida para la transmisión segura de datos sensibles. Por esto motivo OpenVPN es el protocolo que utilizan muchas organizaciones en el mundo empresarial. Además OpenVPN es una solución multiplataforma y dentro de lo que cabe no es difícil de configurar si lo comparamos con por ejemplo Ipsec.\nEn lo que a seguridad se refiere también tenemos que destacar que aparte de las 3 capas de seguridad, también hemos implementado un método para que los clientes del VPN tengan que introducir un usuario y un Password. Además la totalidad del tráfico, incluyendo la resolución de las peticiones DNS, será a través del servidor OpenVPN que acabamos instalar y de configurar.\nCabe decir que actualmente no se conocen vulnerabilidades importantes en este tipo de servidor VPN. Es posible que se descubran vulnerabilidades pero si vamos aplicando las actualizaciones de seguridad no deberíamos tener problema alguno en lo que a seguridad se refiere.\n","permalink":"https://geeklandlinux.github.io/posts/crear-y-configurar-servidor-openvpn/","summary":"\u003cp\u003eEn pasados post vimos como podíamos crear muy fácilmente nuestro propio servidor VPN mediante el protocolo pptp.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"/posts/crear-un-servidor-vpn-pptp/\"\u003ehttps://geeklandlinux.github.io/posts/crear-un-servidor-vpn-pptp/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePudimos constatar y experimentar que la instalación y configuración del servidor era sumamente sencilla y era altamente compatible con la totalidad de sistemas operativos existentes, pero como punto negativo también vimos que \u003cstrong\u003ea día de hoy pptp presenta serios problemas en lo que a la seguridad se refiere\u003c/strong\u003e.\u003c/p\u003e","title":"Crear y configurar servidor openvpn"},{"content":"Muchos de vosotros sabrán que hace tiempo que utilizo Xfce. Concretamente estoy usando Xfce a diario desde que se termino el soporte para Ubuntu 11.04 y la verdad es que no hecho de menos a gnome ni a nadie.\nYa que estoy usando Xfce quería compartir con vosotros un plugin interesante que estoy usando. El plugin se llama mailwatch.\nFUNCIÓN DEL PLUGIN DE NOTIFICACION MAILWATCH Como muy bien indica su nombre este plugin o applet sirve para consultar de forma rápida los nuevos correos que nos han llegado. Por lo tanto es un notificador de nuevos emails que tendremos en el panel de nuestro escritorios XFCE.\nMailwatch, con la periodicidad que nosotros definimos, se conectará a la totalidad de nuestros correos electrónicos para comprobar si tenemos un mail. En el caso de tener nos dará una advertencia sonora o una advertencia gráfica.\nINSTALACIÓN EL PLUGIN DE NOTIFICACION MAILWATCH Lo más probable es que este plugin ya esté instalado de serie en vuestro sistema con Xfce. En el caso que no lo tengan instalado lo pueden instalar de la siguiente forma. En la terminal teclean el siguiente comando:\nsudo apt-get install xfce4-mailwatch-plugin En el caso que en el momento de instalar Xfce no hubierais instalado los plugin de escritorio y ahora queráis instalarlos todos de un plumazo tan solo tenéis que ejecutar el siguiente comando en la terminal:\nsudo apt-get install xfce4-goodies Nota: Este último comando, aparte de los plugin del panel, también instala plugins para Thunar, Aplicaciones adicionales para xfce, artwork como fondos de pantalla, etc. En el caso que quieran conocer exactamente lo que van a instalar tan solo tienen que consultar los siguientes enlaces: Enlace de plugins para thunar Enlace para las aplicaciones adicionales Enlace para el Artwork Enlace para las Adaptaciones de bibliotecas para los programadores\nCONFIGURACIÓN DEL PLUGIN DE NOTIFICACION MAILWATCH Una vez instalado el plugin lo primero que tenemos que hacer es ponerlo en nuestro panel. Para poner el applet en nuestro panel tenemos que ubicar el puntero del mouse encima del panel y presionar el botón derecho. Una vez presionado el botón derecho aparecerá un menú tal y como se muestra en la siguiente captura:\nEn el menú que se desplegará tienen que elegir la opción Panel y seguidamente Añadir nuevos elementos. Una vez elegida la opción nuevos elementos se abrirá la siguiente ventana:\nComo pueden ver en la captura de pantalla una vez abierta la ventana tienen que seleccionar la opción Aviso de nuevos correos y presionar el botón Añadir. Una vez realizados todos estos pasos les aparecerá un icono en forma de sobre en el panel de xfce. Ahora ya podemos configurar nuestras cuentas de correo en el plugin.\nConfigurar una cuenta de Gmail El primer paso para configurar cualquier cuenta es posicionar el puntero del mouse encima del icono, que acabamos de introducir en el panel, y presionar el botón derecho del mouse. Una vez presionado el botón aparecerá un grupo de opciones a elegir. Tal y como se puede ver en la captura de pantalla tenemos que elegir Propiedades:\nUna vez elegida esta opción se abrirá la siguiente ventana:\nEn esta ventana tendremos que seleccionar la opción Añadir. Una vez seleccionada la opción añadir aparecerá otra ventana para elegir el tipo de Buzón:\nTal y como podemos ver en la captura de pantalla el tipo de buzón a elegir es Buzón de Gmail Remoto. Una Vez elegida la opción presionan el botón Aceptar.\nUna vez presionado el botón Aceptar aparecerá la siguiente ventana:\nTal y como se puede ver en la captura de pantalla aquí tan solo tenemos que poner los datos de nuestra cuenta de correo. Concretamente los datos a rellenar son:\nNombre de Buzón: Podemos poner el que queramos. El texto que pongamos servirá como identificador de la cuenta. En mi caso pondré geekland. Usuario: Tenemos que poner la dirección completa de nuestro correo gmail. Contraseña: Tenemos que escribir la contraseña de nuestra cuenta de correo gmail. Comprobar nuevos mensajes: En este apartado tenemos que indicar la periodicidad en que el plugin se conectará a nuestro correo para comprobar si tenemos correos nuevos. En mi caso la periodicidad por defecto, que son 10 minutos, me va bien y por lo tanto no modificaré nada. Una vez hemos realizado todos los pasos mencionados tan solo tienen que presionar al botón Cerrar. Una vez hecho esto ya hemos terminado de introducir nuestra cuenta de gmail.\nConfigurar de una cuenta de Hotmail u Outlook En el caso de querer introducir una cuenta de hotmail o outlook, los pasos a realizar son también muy sencillos. Como en el caso antererior tienen que posicionar el puntero del mouse encima del icono del plugin, presionar el botón derecho del mouse y elegir la opción Propiedades.\nUna vez elegida esta opción aparecerá la siguiente pantalla en la que deberán presionar sobre el botón de Añadir:\nSeguidamente aparecerá otra ventana en la que, tal y como se puede ver en la captura de pantalla, deberemos elegir la opción Buzón de IMAP Remoto.\nUna vez elegida está opción presionamos el botón Aceptar.\nSeguidamente aparecerá otra ventana. En el caso que queráis introducir un correo hotmail u outlook deberéis rellenar los campos con los datos que se muestran en la siguiente captura de pantalla:\nNombre del buzón: Podemos poner el que queramos. El texto que pongamos servirá como identificador de la cuenta. En mi caso pondré hotmail Servidor de correo: Tenéis que poner el nombre del servidor Imap de hotmail o outlook. En ambos casos tenéis que poner imap-mail.outlook.com Usuario: Tenemos que poner la dirección completa de nuestro correo hotmail o outlook. Contraseña: Tenemos que escribir la contraseña de nuestra cuenta de correo hotmail o outlook. Comprobar nuevos mensajes: En este apartado tenemos que indicar la periodicidad en que el plugin se conectará a nuestro correo para comprobar si tenemos correos nuevos. En mi caso la periodicidad por defecto, que son 10 minutos, va bien y por lo tanto no modificaré nada. Ahora tenemos presionar el botón Avanzadas\u0026hellip; Una vez presionado el botón avanzadas se abrirá una ventana en la que tenemos que introducir el número de puerto del servidor imap, y el tipo cifrado con el que trabaja nuestro servidor de correo. Tanto En hotmail como en outlook se usa SSL/TLS, y el puerto que usan es el estándar por defecto. Por lo tanto tal y como se puede ver en la captura de pantalla eligen las siguientes opciones:\nUna vez hecho esto ya hemos terminado de introducir nuestra cuenta de hotmail/outlook. Una vez hemos realizado todos los pasos mencionados tan solo tienen que presionar al botón Cerrar y seguidamente vuelven a presionar otra vez el botón de Cerrar.\nNota: He configurado la cuenta usando Imap porqué considero que es un protocolo mucho mejor que el pop3. Incluso hotmail, después de su renovación, ofrece la opción Imap a la totalidad de sus usuarios. Para los lectores que quieran ver las ventajas de un servidor Imap frente un servidor Pop3 pueden consultar el siguiente enlace. Nota: Para servidores imap los puertos estándar acostumbran a ser el 993 o el 143. Si el tipo de cifrado que usan es SSL se acostumbra a usar el 993. Si el cifrado es tipo TLS, o simplemente no hay cifrado, el puerto que se acostumbra a usar es el 143. Configurar una cuentas de Yahoo En el caso que queráis introducir un correo yahoo deberéis seguir exactamente el mismo procedimiento que con la cuenta de hotmail y outlook. La única diferencia entre un caso y otro será a la hora de introducir el servidor Imap, ya que deberemos introducir el de yahoo en vez del de Hotmail. Estos cambios se pueden ver reflejados en la siguiente captura de pantalla:\nComo se puede ver en la captura de imagen, el servidor de correo Imap de Yahoo es imap.mail.yahoo.com. Por lo tanto el proceso de configuración de una cuenta de Yahoo es prácticamente equivalente al de una cuenta de Hotmail.\nConfigurar una cuenta de correo diferente a las anteriores Si quieren configurar un cliente de correo con IMAP distinto a los anteriores, lo primero que tienen que hacer es averiguar la siguiente información:\nServidor Imap del servidor de correo: En el caso hipotético que estemos configurando una cuenta de openmailbox es: imap.openmailbox.org Tipo de cifrado que usa el servidor de Correo: En el caso hipotético que estemos configurando una cuenta de openmailbox es SSL/TLS mediante STARTTLS Número de puerto del servidor imap: En el caso de openmailbox el puerto es el 143. Nota: Para buscar vuestros datos consultar en vuestro servicio de correo o en el buscador de google. En el caso de openmailbox he encontrado esta información en la siguiente página: https://www.openmailbox.org/faq\nUna vez tengamos la información que acabo de citar disponible, ya podemos rellenar los datos del mismo modo que hemos realizado con la cuenta de hotmail. En el caso de openmailbox deberían rellenar los datos tal y como se muestra en las siguientes capturas de pantalla:\nUna vez configurados los datos de la cuenta de correo y del servidor imap tan solo tenemos que introducir el tipo de cifrado y el puerto de la siguiente forma:\nUna vez hemos realizados estos pasos el procedimiento ha terminado.\nCONFIGURAR ACCIONES CUANDO SE PRESIONA EL ICONO DEL PANEL Cada vez que presionamos el applet de mailwatcher que aparece en el panel se pueden ejecutar acciones. En mi caso la acción que tengo configurada es que se abra el cliente de correo Thunderbird para así poder leer y responder mis mails.\nPara configurar la acción tienen que posicionar el puntero del mouse encima del icono del plugin, presionar el botón derecho del mouse y elegir la opción Propiedades. Una vez realizado este paso aparecerá la siguiente ventana:\nEn el campo Ejecutar al hacer click tan solo tenemos que escribir el comando que usaríamos para lanzar un programa desde la terminal. Por lo tanto para arrancar thunderbird simplemente tenemos que escribir thunderbird. Una vez realizado esto ya podemos pasar a comprobar su funcionamiento:\nEn la captura de pantalla vemos que de momento no tenemos ningún mensaje nuevo en nuestras cuentas de correo:\nAhora imaginamos que nos llegan mensajes en todas nuestras cuentas de correo:\nTal y como se puede ver en la captura de pantalla nos ponemos encima del applet y vemos que ya nos ha llegado correo a nuestras cuentas de emial. Ahora tan solo tenemos que presionar el botón izquierdo del mouse encima del icono. Justo al presionar el botón del mouse se abrirá Thunderbird para empezar a responder a todos los correos.\nEn el caso que acostumbréis a responder vuestro correo vía web, en vez de la opción Thunderbird, podéis usar otras opciones personalizadas como por ejemplo la siguientes:\nEjecutar la hacer click: xdg-open https://gmail.com\nNota: Lo que hace esta acción personalizada es cuando hagáis click encima del icono se abra el navegador que tenéis configurado por defecto. Una vez se abra, ingresará automáticamente en la página de gmail para poder responder rápidamente vuestros correos. Si en vez de usar gmail usáis yahoo tan solo tienen que cambiar la dirección de gmail por la de yahoo. CONFIGURAR ALERTAS SONORAS Y VISUALES CUANDO LLEGA UN CORREO Cada vez que nos llega un mail podemos hacer que nos llegue una alerta sonora o visual. En el caso que queráis recibir una alerta sonora lo primero que tienen que hacer es asegurarse que tienen instalado mplayer. En el caso que no lo tengan instalado tan solo tienen que abrir una terminal y teclear el siguiente comando:\nsudo apt-get install mplayer Una vez instalado se dirigen encima del applet del panel, presionan el botón derecho y eligen propiedades. Aparecerá una ventana en la que tienen que localizar el campo Ejecutar al recibir nuevos mensajes. En este campo tienen que escribir el siguiente comando:\nmplayer /home/joan/sonidos/mail.wav Nota: El comando que tienen que poner es mplayer seguido de la ruta del fichero de sonido que quieren reproducir. Pueden elegir cualquier formato de audio ya que se reproducirá sin problemas. En mi caso cuando llegue un email se reproducirá el archivo mail.wav que tengo ubicado en /home/joan/sonidos. En el caso que alguien quiera recibir una notificacion visual tienen que seguir exactamente los mismos pasos que en la notificacion sonora. La única diferencia es que en Ejecutar al recibir nuevos mensajes tienen que poner el siguiente comando:\nnotify-send -i \u0026#39;/home/joan/Imágenes/iconoemail.png\u0026#39; \u0026#39;Correo Electrónico\u0026#39; \u0026#39;Tienes un nuevo Email\u0026#39; Nota: El comando que se acaba de citar lo tenéis que adaptar a vuestro cas particular. Como se puede ver en el comando tienen que indicar la ruta donde tienen almacenada la imagen que quieren mostrar. El texto \u0026lsquo;Correo Electrónico\u0026rsquo; y \u0026lsquo;Tienes un nuevo Email\u0026rsquo; lo podéis reemplazar por lo que vosotros queráis. Nota: Si queréis usar más opciones podéis entrar en la terminal y usar el comando notify-send –help . De este modo podréis ver la totalidad de opciones que ofrece notify-send. Si aplicamos esta configuración, al recibir un correo obtendremos un resultado parecido al de la siguiente captura de pantalla:\nNota: Aparecen 4 notificaciones porqué han llegado correos a las 4 cuentas de correo que tengo configuradas. VALORACIÓN DEL PLUGIN MAILWATCHER He estado usando esté plugin durante un tiempo considerable y pienso seguir usándolo ya que me ha convencido. Lo encuentro práctico y útil. De forma muy rápida puedo ver si me ha llegado algún correo en cualquiera de las cuentas que tengo, y con tan solo un click de ratón puedo empezar a responder a los mails que me han llegado. Los únicos puntos de mejora que se me ocurren pueden ser los siguientes:\nEl consumo de RAM para algunos usuarios quizás sea elevado. El consumo que tiene en mi sistema de 64 bits es de 20 megas. No obstante en un sistema de 32 bits el consumo de RAM será únicamente de 5 Megas. Hay gente que consulta y responde el correo con el navegador. En este caso las acciones personalizadas al hacer click no son útiles, a no ser que solo tengas una cuenta de correo, o todo tu correo esté redireccionado a la misma cuenta de correo. Otro punto de mejora podría ser que mailwatcher nos permitiera configurar notificaciones personalizadas en función de la cuenta de correo en la que nos llega el mail. Actualmente la notificacion es la misma para todas las cuentas de correo. En el caso que os conectéis a través de VPN recibiremos notificaciones de errores ya que nuestro servicio de correo detectará que nos estamos intentando conectar a través de una IP desconocida. No obstante esto no es problema del plugin. Esto es cuestión de nuestro servicio de correo electrónico que por temas de seguridad actúa de esta forma. Ya para terminar os deseo a todos un Feliz 2014 y para quien quiera consultar información adicional acerca de esté plugin puede visitar el siguiente enlace:\nhttp://goodies.xfce.org/projects/panel-plugins/xfce4-mailwatch-plugin\n","permalink":"https://geeklandlinux.github.io/posts/notificacion-de-mail-en-xfce/","summary":"\u003cp\u003eMuchos de vosotros sabrán que hace tiempo que utilizo Xfce. Concretamente estoy usando Xfce a diario desde que se termino el soporte para Ubuntu 11.04 y la verdad es que no hecho de menos a gnome ni a nadie.\u003c/p\u003e\n\u003cp\u003eYa que estoy usando Xfce quería compartir con vosotros un plugin interesante que estoy usando. El plugin se llama mailwatch.\u003c/p\u003e","title":"Notificacion email en xfce"},{"content":"Ahora mismo estoy en una máquina virtual con Debian Testing. Hace bastante tiempo que no la utilizo y la quiero actualizar. Por lo tanto imagino que me entrará un montón de paquetería nueva y el tiempo de la actualización será elevado.\nPara minimizar el tiempo de la actualización del sistema en el futuro, lo que haré es ver cuales son los repositorios de Debian más rápidos en función de mi ubicación geográfica. De está forma podré actualizar mi sistema operativo de forma más rápida.\nPara realizar este proceso hay distintas herramientas. La herramienta que voy a usar se llama apt-spy.\nNota: Una de las herramientas alternativas a apt-spy es netselect-apt. No obstante si queremos usar el repositorio más rápido pienso que la mejor herramienta es usar apt-spy. El motivo de esta afirmación es que los parámetros de evaluación que considera apt-spy son el ancho de banda del servidor y su ping, mientras que netselect-apt considera el ping y el número de servidores por los cuales una petición debe pasar antes de alcanzar su destino. Nota: El Ping es el tiempo que tardan en comunicarse dos puntos remotos. En otras palabras es el tiempo que tarda nuestra petición en ir al repositorio y volver hacia nosotros. COMO FUNCIONA APT-SPY El funcionamiento de apt-spy es simple de comprender. La forma en que apt-spy evaluará cada uno de los repositorios es la siguiente:\nEl programa va a chequear uno por uno los repositorios que se indican en la siguiente dirección web: ftp://ftp.us.debian.org/debian/README.mirrors.html Los parámetros usará apt-spy para evaluar cada uno de los repositorios especificados en este enlace son el el ping, y el ancho de banda. Los repositorios más adecuados serán aquellos que tendrán un buen ancho de banda y un ping bajo. Los repositorios con las características mencionadas serán aquellos que podrán descargar más información en un tiempo determinado Una vez realizada la comprobación de todos los repositorios, apt-spy nos generará un archivo de texto del cual podremos extraer cuales son los repositorios más adecuados para nosotros en función de nuestra ubicación geográfica. Nota: Un repositorio es un servidor web donde se alojan los paquetes y aplicaciones que acostumbramos descargarnos y a instalar con apt-get, Synaptic o Aptitude. INSTALACIÓN DE APT-SPY El proceso de instalación de apt-spy es sumamente fácil. Tan solo tienen que abrir una terminal y teclear el siguiente comando:\nsudo apt-get install apt-spy Después de introducir el comando se procederá a la instalación de apt-spy.\nELEGIR EL REPOSITORIO MAS RÁPIDO Una vez instalado apt-spy el primer paso es actualizar la lista de repositorios que se analizará. Para actualizar la lista de repositorios tenemos que introducir el siguiente comando en la terminal:\nsudo apt-spy update Nota: La lista de repositorios a analizar se actualizará en función del contenido que se ubica en ftp://ftp.us.debian.org/debian/README.mirrors.html Una vez actualizada la lista de repositorios a analizar ya podemos ejecutar apt-spy. Pero antes de hacer nada tenéis que ir con cuidado a la hora de aplicar los comandos que se mostrarán a continuación. En el caso de introducir el comando de forma errónea podéis dañar vuestro fichero sources.list. Por lo tanto lo primero que vamos a realizar es hacer una copia de seguridad de nuestro fichero sources.list. Para realizar la copia de seguridad tenéis que ingresar el siguiente comando en la terminal:\nsudo cp /etc/apt/sources.list /etc/apt/sources.list.bak Una vez finalizada la copia de seguridad ya podemos ejecutar apt-spy. Para ejecutar apt-spy deben introducir el siguiente comando:\nsudo apt-spy -d testing -o newsources.list Este comando analizará el ancho de banda y ping de cada uno de los repositorios de Debian Testing que se hallan descritos en este enlace. Una vez finalizado el análisis, apt-spy ubicará un archivo con nombre newsources.list en nuestra home que contendrá el repositorio más rápido para nosotros.\nSi en vez de hallar los repositorios más rápidos de Debian testing queréis hallar los repositorios más rápidos de Debian Estable el comando a usar seria el siguiente:\nsudo apt-spy -d stable -o newsources.list Y si finalmente estáis usando Debian Sid o inestable el comando debería ser el siguiente:\nsudo apt-spy -d unstable -o newsources.list Los pasos ejecutados hasta el momento los pueden ver resumidos en la siguiente captura de pantalla:\nNota: Como se puede ver en la captura de pantalla se está analizando los bytes que cada uno de los repositorios es capaz de descargar en 15 segundos. El que pueda descargar más bytes será aquel servidor que tiene la mejor ping y mayor ancho de banda, y por lo tanto será el servidor que más nos conviene. Una vez finalizado el proceso, que seguramente durará más de una hora, ya podemos ir a nuestra home a consultar cual es el repositorio más rápido. Como se puede ver en la captura de pantalla abro el archivo newsources.list que se acaba de generar:\nUna vez abierto vemos que el contenido es el siguiente:\nComo se puede ver en la captura de pantalla, en mi caso el repositorio aconsejado es ftp://mirrors.ircam.fr/pub/debian. Por lo tanto ahora tan solo tenemos que ir a nuestro sources.list y remplazar nuestro repositorio actual por el nuevo repositorio. Para acceder a nuestro sources.list abren una terminal y escriben el siguiente comando:\nsudo gedit /etc/apt/sources.list Se abrirá el editor de textos. Una vez se haya abierto el editor de textos localizan los repositorios a reemplazar que en mi caso son los que se muestran en la siguiente captura de pantalla:\nUna vez localizados los repositorios, reemplazan el contenido actual por la recomendación de apt-spy. Seguidamente presionan el botón de guardar tal y como se muestra en la captura de pantalla:\nUna vez realizados estos pasos ya podremos disfrutar de los nuevos repositorios.\nNota: Los resultados obtenidos pueden variar de un momento a otro en función de la carga que tiene el repositorio al que nos conectamos. Cuando un servidor tiene mucha carga la velocidad de descarga que ofrecerá a los clientes que se conectan será menor. Nota: En el archivo sources.list es dónde indicamos a apt-get o aptitude desde que repositorios nos tenemos que descargar los paquetes y aplicaciones. VARIANTES DEL COMANDO APT-SPY En el caso de querer acotar más nuestra búsqueda, apt-spy nos ofrece varias opciones. La totalidad de opciones que nos ofrece se pueden consultar introduciendo el siguiente comando en la terminal:\nman apt-spy Una vez introducido el comando os aparecerán las instrucciones para usar apt-spy:\nAhora seréis vosotros quienes a partir de las opciones mostradas por man apt-spy tendréis que jugar para obtener los resultados que más os interesan. Algunas de las variantes del primer comando que hemos usado pueden ser las siguientes:\nVariante 1 sudo apt-spy -d testing -w newsources.list -n 7 Este comando a diferencia del primero nos dará el nombre de los 7 servidores más rápidos de la rama de Debian Testing. El resultado lo escribirá en un archivo que se generará en nuestra home con nombre newsources.list. Este comando pienso que es más útil que el primero ya que tendremos más de una opción de repositorio a elegir.\nNota: En Rojo indico las partes variables del comando. Testing puede ser reemplazado por stable o por unstable. 7 puede ser reemplazado por cualquier número en función del número de servidores que queremos que nos proporcione apt-spy. Variante 2 En el caso que queramos analizar un número determinado de servidores en un continente en particular, podemos usar el siguiente comando:\nsudo apt-spy -d unstable -a europe -e 100 -o newsources.list Este comando testea 100 repositorios de la distribución Debian inestable ubicados en Europa. Una vez analizados los servidores, en nuestro servidor se genera un archivo con nombre newsources.list que contiene el repositorio más apropiado en nuestro caso.\nNota: En Rojo indico las partes variables del comando. Unstable puede ser reemplazado por stable o por testing. 100 puede ser reemplazado por cualquier número en función del número de repositorios que queramos comprobar. Finalmente europe lo podemos reemplazar por north-america, south-america, oceania, asia o africa en función del continente que queráis seleccionar. Variante 4 Ahora supongamos estoy usando Debian Estable y quiero usar un repositorio cuyo servidor esté ubicado físicamente en España. Bajo estas premisas lo que realizaré es utilizar el siguiente comando para averiguar cual es el mejor repositorio para nosotros:\nsudo apt-spy -d stable -s ES -o newsources.list Este comando lo que hará es analizar la totalidad de repositorios de Debian Estable ubicados en España. Una vez finalizado el estudio, en nuestra home se creará un fichero con nombre newsources.list que nos informará del repositorios más rápido ubicado en España.\nNota: Este comando, como todos los otros, puede presentar variantes. Stable puede ser reemplazado por testing y unstable en función del tipo de rama que queramos analizar. El término ES también puede ser modificado en función del país que deseemos analizar. Las diferentes variables que podemos usar para reemplazar ES son: AT (Austria) //AU (Australia) // BE (Bélgica) // BG (Bulgaria) // BR (Brasil) // BY (Bielorusia) // CA (Canadá) // CH (Suiza) // CL (Chile) // CN (China) // CR (Costa Rica) // CZ (República Checa) // DE (Alemania) // DK (Dinamarca) // EE (Estonia) // ES (España) // FI (Finlandia) // FR (Francia) // GB (Reino Unido) // GR (Grecia) // HK (Hong Kong) // HR (Croacia) // HU (Hungría) // ID (Indonesia) // IE (Irlanda) // IL (Israel) // IN (India) // IS (Islandia) // IT (Italia) // JP (Japón) // KR (Korea) // LT (Lituania) // LU (Luxemburgo) // LV (Letonia) // MX (México) // NI (Nicaragua) // NL (Holanda) // NO (Noruega) // NZ (Nueza Zelanda) // PL (Polonia) // PT (Portugal) // RO (Rumania) // RU (Rusia) // SE (Suecia) // SG (Singapur) // SI (Eslovenia) // SK (Eslovaquia) // TH (Tailandia) // TR (Turquía) // TW (Taiwan) // UA (Ucrania) // US (Estados Unidos) // ZA (Sur África)\nVariante 5 Ya para finalizar pondré una variante de los comandos anteriores para la gente que tenga poca paciencia y no disponga de mucho tiempo para esperar a obtener un resultado. Como hemos visto anteriormente cada servidor se testea durante 15 segundos. Si queremos disminuir el tiempo de 15 segundos a 5 segundos, lo podemos hacer de la siguiente forma:\nsudo apt-spy -d testing -s DE -t 5 -w nuevasfuentes.list -n 4 Este comando va analizar la totalidad de repositorios de Debian Testing ubicados en Alemania. Cada repositorio solo se va a testear durante 5 segundos. El resultado de los 4 mejores repositorios lo deberemos consultar en un archivo que se ubicará en nuestra home. Este archivo tendrá el nombre nuevasfuentes.list.\nNota: En Rojo se indican las partes del comando que se pueden modificar. Testing se puede reemplazar por stable o unstable. DE se puede reemplazar por cualquiera de los países que se indican en la variante 3 de este post. 5 Puede ser reemplazado por cualquier número en función de los segundos que queramos testear cada repositorio. Y finalmente 4 lo podemos reemplazar por cualquier valor en función de los resultados de salida que queremos que nos de apt-spy. MÉTODOS ALTERNATIVOS Aparte de netselect-apt y apt-spy existen otros métodos para seleccionar nuestros repositorios. Una método que también es muy interesante es usar los repositorios redirector de Debian. Para Obtener más información sobre este método pueden consultar el siguiente link:\nhttps://geeklandlinux.github.io/posts/repositorios-redirector-en-debian/\nEste probablemente será el último post del año 2013. Por lo tanto aprovecho la ocasión para desearos a todos felices fiestas y feliz año nuevo. Nos vemos el año que viene.\n","permalink":"https://geeklandlinux.github.io/posts/elegir-el-mejor-repositorio-en-debian/","summary":"\u003cp\u003eAhora mismo estoy en una máquina virtual con Debian Testing. Hace bastante tiempo que no la utilizo y la quiero actualizar. Por lo tanto imagino que me entrará un montón de paquetería nueva y el tiempo de la actualización será elevado.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ePara minimizar el tiempo de la actualización\u003c/strong\u003e del sistema en el futuro, \u003cem\u003elo que haré es ver cuales son los repositorios de Debian más rápidos\u003c/em\u003e en función de mi ubicación geográfica. De está forma podré actualizar mi sistema operativo de forma más rápida.\u003c/p\u003e","title":"Elegir el mejor respositorio en debian"},{"content":"Realmente hoy en día en Android pienso que existen pocos motivos para rootear nuestro teléfono. Los único motivos de peso son probar ROM modificadas o instalar alguna aplicación que requiera de acceso Root. Otro de los motivos que se me podría ocurrir es la bloquear los molestos anuncios que aparecen en algunas apps y cuando estas navegando, pero hoy en día para librarte de los anuncios ya no necesitamos ser root gracias a Adblock Plus para Android.\nCon Adblock Plus sin necesidad de ser root conseguiremos bloquear prácticamente la totalidad de publicidad existente en nuestro navegador web y en las aplicaciones. Adblock plus funciona tanto en 3G como con Wifi.\nNota: En el caso de ser root existen otras muy buenas aplicaciones para bloquear la publicidad en aplicaciones. Una de ellas se llama Adfree. Otras aplicación útiles para remover la publicidad y crackear aplicaciones son Adaway y Lucky Patcher. ¿QUE ES ADBLOCK PLUS? Adblock plus es un proyecto de código abierto desarrollado por y para la comunidad. El fin de Adblock plus es conseguir que Internet sea un lugar mejor. Para conseguir que Internet sea un lugar mejor, Adblock Plus lucha para eliminar todo tipo de publicidad intrusiva que suele aparecer en Banners, Overlays, pop-ups o ventanas emergentes, etc.\nPara lograr esto objetivo multitud de voluntarios actualmente están contribuyendo en el desarrollo y mantenimiento de está aplicación.\nPersonalmente pienso que la cantidad de publicidad que podemos encontrar en la red no es para nada normal. Tan solo tenéis que usar el teléfono u ordenador sin ningún tipo de bloqueador de publicidad para daros cuenta que esto de la publicidad es una auténtica pesadilla.\nAdemás no es lógico que después de comprar un ordenador, teléfono o tablet y estar pagando mensualmente una conexión a internet, hayan empresas y personas que persigan sacar un beneficio de nosotros colocándonos publicidad con calzador a los sitios que acostumbramos a visitar. Después de pagar nuestros dispositivos y nuestra conexión a internet deberíamos ser capaces de seleccionar y filtrar el contenido que aparece en nuestra pantalla.\nMuchos de vosotros quizás pensaréis que la publicidad es un medio para los desarrolladores para monetizar su trabajo, pero lo que no puede ser es que compres un teléfono como por ejemplo un Nexus 5, y no tengas una aplicación para SMS que no incluya publicidad. Incluso estaba dispuesto a pasar por caja pero ni así conseguí una aplicación libre de publicidad. Desde luego este problema en iOS está mucho mejor resuelto que en Android.\nINSTALAR ADBLOCK PLUS EN ANDROID Inicialmente Adblock Plus fue una aplicación que aceptaron en el Google Play, pero imagino que por razones obvias, Google decidió retirarla de su tienda ya que Google en principio se gana la vida con la publicidad. Además se rumorea que Google ha pagado a Adblock plus para que su publicidad no sea bloqueada. Si esto es verdad, bajo mi punto de vista, es un punto negativo para los desarrolladores de Adblock Plus.\nA pesar de todo lo que cuento y de la retirada de la aplicación de la tienda de Google a día de hoy podemos instalar Adblock Plus en Android fácilmente ejecutando los siguientes pasos:\nEl Primer paso que hay que realizar es ingresar la siguiente dirección en el navegador web:\nhttps://adblockplus.org/en/android-install\nNota: Es importante descargar adblock plus del link que proporciono que es el de la página oficial de adblock plus. Desde que la aplicación de adblock Plus fue retirada de google han aparecido muchas imitaciones de esta aplicación que en realidad son malware. Incluso en Google Play se han colgado imitaciones maliciosas de esta aplicación. Una vez hemos accedido a la web de Adblock ahora tenemos que descargar la aplicación. Para descargar la aplicación tenemos que presionar sobre el botón INSTALAR que podrán ver en la pantalla de su teléfono.\nDespués de presionar el botón instalar aparecerá la siguiente captura de pantalla:\nSeguidamente tenemos que presionar el botón de color verde DOWNLOAD. Una vez presionado el botón DOWNLOAD de descargará la aplicación y se guardará en la ubicación que tenemos configurada por defecto en nuestro teléfono. En mi caso la ubicación es /sdcard/Download.\nAhora tenemos que comprobar que este permitida la instalación de archivos de Orígen desconocido. Para ellos nos vamos al menú Ajustes y seguidamente seleccionamos la opción Seguridad. Dentro de este menú tal y como pueden ver en la captura de pantalla tienen que activar la opción Orígenes desconocidos.\nUna vez activada la instalación de orígenes desconocidos tenemos que abrir nuestro navegador de archivos y navegar hasta encontrar el archivo .apk de adblock plus que hace unos instantes nos acabamos de descargar. Como se puede ver en la captura de pantalla, en mi caso tengo que navegar hasta la ruta /sdcard/Download\nUna vez encontrado el archivo .apk de Adblock Plus tan solo tenemos hacer click encima del icono y elegir la opción INSTALAR.\nUna vez realizados los pasos mencionados ya tenemos Adblock Plus instalado en nuestro teléfono. Ahora tan solo nos falta configurarlo para que pueda bloquear la totalidad de la publicidad.\nNota: Otra opción para instalar Adblock plus es a través de tiendas alternativas como por ejemplo Aptoide o Blackmart. No obstante siempre es mucho más fiable instalar la aplicación de la fuente original. CONFIGURAR ADBLOCK PLUS PARA EL USO CON WIFI Lo primero que haremos es entrar en una página web cualquiera que contenga publicidad. En mi caso he elegido la página web de Marca.\nNota: Solo hacer falta observar la captura de pantalla para ver que en la parte superior aparecen anuncios. Pare remover este anuncio o cualquier anuncio que aparezca en cualquier aplicación tenemos que seguir los siguientes pasos:\n1- Accedemos dentro de los Ajustes de nuestro teléfono.\n2- Dentro de los ajustes de nuestro teléfono seleccionamos la opción Wi-Fi.\n3- Seguidamente realizamos una presión larga encima de la red Wifi donde estamos conectados, y nos aparecerán las siguientes opciones:\n4- Seguidamente seleccionamos la opción Modificar Red.\n5- Una vez seleccionada la opción modificar Red se abrirá una ventana. Una vez abierta la ventana tienen que ir a buscar la opción Mostrar opciones avanzadas y seleccionarla.\n6- Una vez activadas las opciones avanzadas tienen que rellenar las opciones Proxy, Nombre de host de proxy y Puerto proxy tal y como se muestra en la siguiente captura de pantalla:\nTal y como se puede ver en la captura de pantalla en el apartado Proxy tenemos que elegir Manual. En el apartado que pone Nombre de host de proxy tienen que escribir localhost y en el apartado Puerto de proxy tienen que escribir 2020. Una vez terminados estos pasos tan solo tienen que apretar en Guardar.\nPara comprobar que la configuración funciona perfectamente tan solo tenemos volver a acceder a la página web donde anteriormente aparecía publicidad:\nComo se puede ver en la captura de pantalla ahora no aparece la publicidad. Por lo tanto podemos decir que Adblock Plus está funcionando adecuadamente.\nCONFIGURAR ADBLOCK PLUS PARA EL USO CON DATOS Acabamos de configurar nuestra conexión wifi para que bloquee la publicidad. Ahora deberemos realizar los pasos equivalentes para bloquear la publicidad en el caso que nos conectemos con nuestro plan de datos.\nLo primero que realizaremos es abrir una aplicación cualquiera:\nComo se puede ver en la captura de pantalla la aplicación abierta contiene publicidad en la parte inferior de la pantalla, que para mi gusto es muy intrusiva y molesta. Para eliminarla tan solo tenemos que seguir los siguientes pasos:\n1- Accedemos dentro de los Ajustes de nuestro teléfono.\n2- Dentro de los ajustes de nuestro teléfono seleccionamos la opción Más\u0026hellip;.\n3- Una vez hemos seleccionado la opción Más\u0026hellip; se abrirá otra pantalla y entonces tendremos que seleccionar la opción Redes móviles.\n4- Dentro del menú de Redes móviles seleccionamos la opción APN. Una vez seleccionada la opción APN aparecerá la siguiente captura de pantalla:\nEn la captura de pantalla podemos ver que tengo configurado un punto de acceso APN que es airtelwap.es. Vosotros en función de la compañía telefónica que tengáis es posible que vuestro punto de acceso APN sea diferente.\n5- Clicamos encima de la red APN que tengamos configurada, que en mi caso es airtelwap.es, y se abrirá la siguiente ventana donde se pueden ver la totalidad de parámetros de configuración del punto de acceso APN:\n6- Una vez abierta la ventana tienen que anotar cuidadosamente, o hacer una foto, de las opciones de configuración de nuestro punto de acceso APN. En la captura de pantalla pueden ver que hay una opción que pone contraseña y no podemos ver. Para averiguar cual es vuestra contraseña pueden consultar los siguientes post:\nLink 1 para poder consultar la contraseña APN\nLink 2 para poder consultar la contraseña APN\nLink 3 para poder consultar la contraseña APN\nDespués de consultar los post que acabo de citar como en mi caso el APN que tengo es airtelwap.es mi contraseña es wap125.\nNota: Si después de buscar en los links que os dejo no encontráis la contraseña de vuestro APN tendréis que usar google y buscarla por vuestra cuenta. Si no la encontráis podéis llamar a vuestra compañía telefónica. 7- Una vez disponemos de todos los datos, incluida nuestra contraseña, crearemos un nuevo APN. Para crear el nuevo APN cuando están en la siguiente pantalla tienen que apretar el botón +.\n8- Una vez presionado el botón + se abrirá una ventana donde tendrán que introducir los datos de vuestro nuevo APN. Los datos del nuevo APN tienen que ser exactamente los mismos que los anotados en el punto 6 con excepción de los siguientes campos:\nNombre: Elegir uno cualquiera que sea diferente del actual APN. En mi caso como se puede ver en la captura de pantalla he elegido adblock3G.\nProxy: En este campo elegimos la opción localhost.De este modo estamos indicando que estamos configurando un proxy local.\nPuerto: En este campo elegimos la opción 2020. De este modo estamos indicando indicando que nuestro proxy local estará escuchando en el puerto 2020.\nUna vez introducidos todos los datos vuestro menú tiene que tener un aspecto parecido al siguiente:\nAhora tan solo tenemos tenemos que guardar la configuración introducida y el proceso de configuración del nuevo APN ha concluido.\n9- Una vez concluida la configuración del nuevo APN lo vamos a activar. Para activarlo tienen que ir dentro del menú Ajustes / Más\u0026hellip; / Redes móviles / APN. Una vez dentro del menú verán que ahora tendremos 2 puntos de acceso. El que venia configurado de serie y el que acabamos de crear:\nTal y como se puede ver en la captura de pantalla tan solo tenemos que seleccionar y clicar encima del nuevo APN y el proceso ha concluido.\nAhora tan solo falta comprobar que todo funciona a la perfección. Por lo tanto volveremos a acceder a la misma aplicación que al principio hemos visto que tenia publicidad.\nComo se puede ver en la captura de pantalla ahora la publicidad ha desaparecido completamente. Por lo tanto ya podemos dar el proceso por concluido.\nOPCIONES DE CONFIGURACIÓN DE ADBLOCK PLUS A partir de estos momentos todo funciona a la perfección. Es posible que a alguien de vosotros le moleste el icono ABP que aparece en la parte izquierda del menú superior. En el caso que quieran ocultar el icono tan solo tienen que acceder dentro de la aplicación de Adblock Plus y activar la opción Ocultar icono. Una vez realizado el proceso el icono desaparecerá.\nEl filtro de anuncios que lleva por defecto Adblock Plus es Easy List. En el caso que quieran reemplazar el filtro que lleva por defecto tan solo tienen que clicar encima de la opción Suscripción del filtros, que pueden ver en la captura de pantalla, y seleccionar otro filtro.\n¿CÓMO FUNCIONA ADBLOCK PLUS? Como se puede ver en la configuración de Adblock Plus, estamos configurando un proxy local en el puerto 2020.\nEsto significa que la totalidad de tráfico y peticiones que generamos son forzadas a salir por un proxy local ubicado en el puerto 2020 hasta los servidores de Adblock Plus.\nEn los servidores de Adblock plus es donde se procesará la información y donde se realizará el filtrado de anuncios analizando nuestras peticiones http de acuerdo a su dirección de origen y bloqueando Iframes, Scripts, Flash, etc, en función de una lista negra.\nUna vez realizado el filtrado de la información, Adblock plus nos enviará el resultado de nuestra petición pero con la publicidad bloqueada.\nPOSIBLES INCONVENIENTES QUE PUEDE GENERAR ADBLOCK PLUS Ya llevo cerca de un mes utilizando Adblock plus y la verdad es que funciona aceptablemente bien. Pienso mantenerlo instalado hasta que al menos no aparezca una opción mejor para eliminar la publicidad.\nSegún mi experiencia los únicos puntos de mejora de adblock plus son los siguientes:\nEs posible que alguna vez el teléfono se nos quedé sin conexión a internet. Para volver a recuperar la conexión tan solo tienen que desactivar y volver a activar Adblock Plus. Afortunadamente esto problema sucede con muy poca frecuencia. Me da la sensación que el ping para conectarte a las paginas web es ligeramente más elevado cuando estamos usando adblock plus. Seguramente esto se produce porqué nuestro tráfico tiene que salir por el proxy local que hemos configurado. A pesar de esto hecho merece la pena usar Adblock Plus. Realmente este punto no es un problema pero vale la pena comentar que si miráis vuestros datos veréis que Adblock Plus consumirá bastantes datos. Con total seguridad será la aplicación que consumirá más datos pero esto es normal debido a que prácticamente la totalidad del tráfico generado tendrá que pasar por el proxy local que hemos creado. Esto ocasionará que Android atribuya el tráfico generado por nuestro navegador, whatsapp u otras aplicaciones a Adblock Plus. En realidad el consumo de datos debe ser menor ya que evitaremos cargar la publicidad de muchos sitios webs y de las apps. ","permalink":"https://geeklandlinux.github.io/posts/bloquear-publicidad-en-android-sin-root/","summary":"\u003cp\u003e\u003cstrong\u003eRealmente hoy en día en Android pienso que existen pocos motivos para rootear nuestro teléfono\u003c/strong\u003e. Los único motivos de peso son probar ROM modificadas o instalar alguna aplicación que requiera de acceso Root. \u003cstrong\u003eOtro de los motivos que se me podría ocurrir es la bloquear los molestos anuncios que aparecen en algunas apps y cuando estas navegando, pero hoy en día para librarte de los anuncios ya no necesitamos ser root gracias a\u003c/strong\u003e \u003ca href=\"https://adblockplus.org/es/chrome\" title=\"Web de Adblock Plus\"\u003eAdblock Plus\u003c/a\u003e para Android.\u003c/p\u003e","title":"Bloquear publicidad en android sin root"},{"content":"En pasados post vimos como conectarnos a un servidor VPN y además también vimos las numerosas ventajas y usos que nos puede aportar un servidor VPN en determinadas circunstancias. Para quien quiera consultar de nuevo las ventajas y virtudes de un servidor VPN puede consultar el siguiente post:\nhttps://geeklandlinux.github.io/posts/conectarse-a-un-servidor-vpn-gratis/\nPara quien quiera montar un servidor VPN mediante el protocolo pptpd tan solo tienes que seguir leyendo este post.\n¿QUÉ NECESITAMOS PARA MONTAR NUESTRO PROPIO SERVIDOR? Lo único que necesitamos para montar nuestro propio servidor VPN es un viejo ordenador que no usemos, o nuestro propio ordenador personal.\nPara poder instalar el servidor VPN siguiendo las instrucciones de este tutorial tienen que tener instalado Debian o cualquier distro que se derive de Debian como por ejemplo pueden ser, Ubuntu, Xubuntu, Crunchbang, Linux Mint, etc.\nNota: Si queremos que nuestro servidor VPN esté disponible un requisito indispensable es tener el ordenador en que tenemos instalado el servidor encendido. INSTALAR EL SERVIDOR Para instalar el servidor VPN en nuestro ordenador tan solo tenemos que teclear el siguiente comando el terminal:\nsudo apt-get install pptpd ASEGURAR QUE NUESTRO SERVIDOR VPN TENGA IP INTERNA FIJA Tenemos que hacer que la IP interna de nuestro servidor VPN sea fija ya que sino cuando recibamos una petición desde el exterior nuestro router no sabrá a que ordenador de nuestra red tiene que redireccionar nuestra petición.\nPara conseguir que nuestro servidor tenga una ip interna fija les recomiendo seguir las pasos que se describen en el siguiente post:\nhttps://geeklandlinux.github.io/posts/configurar-ip-fija_o_estatica_ipv4/\nNota: El método descrito en el enlace que acabo de citar es válido en el caso que estéis usando un servidor sin entorno gráfico. En el caso que estéis usando un servidor con entorno gráfico los cambios los tendréis que aplicar desde vuestro gestor de redes que seguramente serán network manager o wicd. Una vez terminados los pasos descritos en el link que les he dejado nuestro servidor tendrá ip fija. Con el comando sudo ifconfig podemos podemos ver que la IP fija de nuestro servidor VPN es la 192.168.1.188.\nSERVICIO DE REDIRECCIONAMIENTO DINÁMICO NO-IP Una vez tengamos instalado y funcionando nuestro servidor VPN lo más probable es que queramos o necesitemos acceder desde el exterior a nuestro servidor VPN, para por ejemplo establecer una conexión a internet segura en un sitio público peligroso e inseguro como puede ser un aeropuerto o cafetería.\nPara conectarnos desde el exterior tenemos que conocer la IP Pública de nuestro servidor que en la mayoría de casos será dinámica o variable. Esto significa que en el momento de conectarnos es posible que no sepamos la IP Pública de nuestro servidor. Para solucionar este problema lo que vamos a realizar es asociar la IP Pública de nuestro servidor VPN con un dominio fácil de recordar que en mi caso será geekland.sytes.net.\nPara asociar vuestra dirección IP Pública a un subdominio tan solo tiene que seguir los pasos que se detallan en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/encontrar-servidor-con-dns-dinamico/\nCONFIGURAR EL SERVIDOR Una vez realizados la totalidad de pasos que acabamos de citar ya podemos pasar a configurar el servidor VPN. Para configurar nuestro servidor tenemos que ingresar el siguiente comando en la terminal:\nsudo nano /etc/pptpd.conf Como se puede ver en la imagen, una vez tecleado el comando se abrirá el editor de texto en el que podremos modificar la configuración de nuestro servidor.\nEn este fichero únicamente vamos a modificar dos parámetros:\nEl primero de los parámetros a modificar es localip. En localip tenemos que poner la IP interna de nuestro servidor VPN. Como hemos visto en apartados anteriores la ip de nuestro servidor VPN es la 192.168.1.188. Por lo tanto tenemos asegurarnos que el siguiente comando estará introducido en el navegador:\nlocalip 192.168.1.188 El segundo de los parámetros a modificar es remoteip. En remoteip tenemos que indicar un rango de IP que serán las que nuestro servidor asignará a las máquinas clientes que se conecten a nuestro servidor VPN. En mi caso he asignado el siguiente rango:\nremoteip 192.168.1.234-238 Por lo tanto en el servidor VPN que acabamos de configurar como máximo se podrán conectar 4 clientes de forma simultánea que tendrán una IP comprendida entre 192.168.1.234 – 192.168.1.238. Una vez el cliente se haya conectado pasará a formar parte de la red local en que se halla el servidor VPN.\nELEGIR EL NOMBRE DEL SERVIDOR El nombre estándar de nuestro servidor VPN es pptpd. A mi el nombre por defecto del servidor me parece correcto y por lo tanto lo voy a dejar tal cual.\nEn el caso que alguien precise o quiera cambiar el nombre del servidor VPN lo puede hacer de la siguiente forma. Tan solo tiene que teclear el siguiente comando en la terminal:\nsudo nano /etc/ppp/pptpd-options Una vez abierto el editor de textos tan solo como tan solo tienen que localizar la linea que pone:\nname pptpd Una vez localizada tan solo hay que reemplazar pptpd por el nombre que quieran.\nDentro de este fichero también es recomendable consultar que las siguientes lineas estén descomentadas:\nrequire­mschap­v2 : Esta linea define que el protocolo de autenticación del cliente al servidor se realizará mediante el protocolo mschap-v2. require­mppe­128 : Esta linea define que el tráfico entre cliente y servidor irá cifrado con una capa de cifrado de 128 bits MPPE. ms-dns 8.8.8.8: Esta línea hay que introducirla para asegurar que las peticiones DNS se resuelvan adecuadamente. En vez de los DNS de google se pueden usar otros. ms-dns 8.8.4.4: Esta línea hay que introducirla para asegurar que las peticiones DNS se resuelvan adecuadamente. En vez de los DNS de google se pueden usar otros.\nEl resto de configuración dentro en principio es válido para nuestros propósitos.\nAÑADIR USUARIOS A NUESTRO SERVIDOR VPN Ahora el siguiente paso es crear cada uno de los usuarios que se podrán conectar a nuestro servidor VPN. Para ello en la terminal tan solo tienen que teclear el siguiente comando:\nsudo nano /etc/ppp/chap-secrets Una vez tecleado el comando aparecerá el editor de texto con un contenido parecido al siguiente:\nComo se puede ver dentro del editor de texto tenemos que introducir los datos para los siguientes parámetros:\nClient: En este campo tenemos que asignar el nombre de usuario. En mi caso he elegido que el nombre de usuario sea usuariovpn.\nServer: En este campo tenemos que indicar el nombre del servidor. El nombre del servidor por defecto es pptpd. Si en el apartado anterior cuando hemos accedido dentro de /etc/ppp/pptpd-options hemos cambiado el nombre del servidor entonces deberemos sustituir pptpd por el nombre que elegimos.\nSecret: En este campo tenemos que definir la contraseña de conexión para el usuario usuariovpn, al servidor VPN. En mi caso el password que he elegido es “unamierda”\nIP addresses: En este campo pondré un *. De este modo al cliente que se conecta se le asignará cualquier IP comprendida entre 192.168.1.234 y 238. En el caso que quisiéramos que el cliente usuariovpn tuviera siempre la IP 192.168.1.236 tan solo deberíamos reemplazar el * por 192.168.1.236.\nNota: Dentro de este fichero podemos introducir tantos clientes como nuestra red y rango de IP\u0026rsquo;s definidos nos permitan. CONFIGURAR IPTABLES PARA EL ENRUTAMIENTO DE PETICIONES El siguiente paso es configurar nuestro Firewall Netfiler para que el servidor VPN pueda enrutar adecuadamente las peticiones de los clientes que se conectarán al servidor VPN.\nPara que el enrutamiento se realizar correctamente lo primero que tenemos que hacer es habilitar el IP Forwarding. Para habilitar permanentemente el IP Forwarding tenemos que teclear el siguiente comando en la terminal:\nsudo nano /etc/sysctl.conf Una vez tecleado este comando nos aparecerá la siguiente pantalla:\nUna vez abierto el editor de textos tenemos que buscar la siguiente linea:\n#net.ipv4.ip_forward=1 Una vez encontrada la tenemos que descomentar. Para descomentarla quitamos el símbolo # quedando de la siguiente forma:\nnet.ipv4.ip_forward=1 Guardamos los cambios y cerramos el archivo.\nEn estos momentos el IP forwarding está habilitado y los equipos que forman parte de nuestra red privada VPN se podrán comunicar entre ellos. Pero no lo podrán hacer con redes externas públicas como por ejemplo podría seria conectarse a la página web de facebook.\nPara solucionar este problema tendremos que introducir una regla en el firewall. Para introducir la regla que soluciona este problema tenemos que introducir el siguiente comando en la terminal:\nsudo nano /etc/rc.local Una vez se ha abierto el editor de texto tendremos que introducir la siguiente orden:\niptables -t nat -­A POSTROUTING ­-s 192.168.1.0/24 ­-o eth0 ­-j MASQUERADE Una vez finalizado el proceso vuestra pantalla tiene que tener un aspecto similar al siguiente:\nEl significado de la regla introducida es el siguiente:\niptables: Es la herramienta que utilizamos para introducir las reglas de filtrado al Firewall netfiler.\n-t nat: Esta parte del comando indica que la regla que vamos a introducir afecta a la tabla NAT. La tabla NAT (Nertwork Address Translation) es un mecanismo de taducción de IP y puertos que utilizan los routers, o en este caso nuestro servidor proxy, para intercambiar paquetes o trasladar solicitudes entre 2 redes incomptabiles entre si como pueden ser nuestra red privada y una red pública.\nNota: Un ejemplo básico de lo que hace la tabla NAT es el siguiente. Cada vez que nos queremos conectar a una página web la tabla NAT traduce nuestra IP Privada del tipo 192.168.1.x a una dirección IP Pública que es la que tiene nuestro Router. Una vez se ha hecho la traducción de nuestra IP Privada a nuestra IP pública se podrá realizar la conexión entre las 2 redes y conectarnos a la página que queremos visitar. -A POSTROUTING: En este paso lo que estamos definiendo es que la regla que vamos a añadir la vamos a introducir a una cadena llamada POSTROUTING. De esta forma podremos organizar mejor el tráfico de nuestro firewall ya que las reglas las tendremos organizadas por cadenas.\n-s 192.168.1.0/24: Especificamos el origen de los paquetes a los que se aplicará la regla. En este caso la regla se aplicará a la totalidad de equipos de nuestra red local.\n-o eth0: Con este comando estamos indicando que la totalidad de peticiones que recibamos a nuestro VPN se tendrán que entregar a la red exterior utilizando la interfaz de salida eth0.\n-j MASQUERADE: Con este comando lo que estamos haciendo es determinar la regla que se tiene que cumplir. En este caso la regla que se debe cumplir es MASQUERADE. Lo que hace MASQUERADE es decirle al servidor VPN que cuando reciba una petición de la red local 192.168.1.0/24 para conectarse a una red pública, proceda el mismo a enviar esta petición en representación del cliente. Una vez se haya procesado la petición y el servidor VPN haya recibido la respuesta la redirigirá a la máquina que realizo la petición.\nNota: Entender el comando que acabo de citar punto por puento lo considero importante para comprender el funcionamiento de un servidor VPN. ABRIR LOS PUERTOS DEL ROUTER Para poder acceder desde el exterior a nuestro servidor VPN tenemos que configurar adecuadamente nuestro router.\nEl router será el encargado de redirigir la totalidad de peticiones exteriores a nuestro servidor VPN. Para que nuestro router pueda realizar esta función tenemos que abrir nuestro navegador y teclear nuestra puerta de entrada. Seguidamente, tal y como se puede ver en la captura de pantalla se nos pedirá nuestro nombre de usuario y contraseña:\nUna vez introducida la información accederemos a la configuración de nuestro router. Seguidamente, tal y como se puede ver en la captura de pantalla, tenemos que acceder a los menús Advanced / NAT / Virtual Servers:\nSeguidamente presionamos el botón Add y nos aparecerá la siguiente pantalla:\nEn el menú desplegable Select a service tienen que elegir la opción PPTP. De este modo estaremos abriendo el puerto 1723 que es el puerto estándard de nuestro servidor VPN pptp.\nEn el campo Server IP Address tenemos que seleccionar la IP de nuestro servidor que como hemos visto anteriormente es 192.168.1.188.\nDe esta forma todas las peticiones exteriores que llegen a nuestro router por el puerto 1723 serán redirigidias a nuestro servidor VPN.\nCOMPROBAR QUE EL SERVIDOR FUNCIONA ADECUADAMENTE Para comprobar si nuestro servidor VPN funciona tan solo tenemos que intentar conectarnos a él. Para ello primero lo intentaremos con un teléfono Android y seguidamente con Linux.\nConectarse a nuestro VPN a través de Android Para conectarnos al VPN tenemos que ir a los ajustes de nuestro teléfono. Una vez dentro como se puede ver en la imagen presionamos Más\u0026hellip;\nSeguidamente tenemos que presionar sobre la opción VPN y aparecerá la siguiente pantalla:\nPresionamos sobre el símbolo + e introducimos los datos de nuestro servidor VPN tal y como se muestra en la siguiente captura de pantalla:\nEn Nombre podemos elegir el que más nos guste. En tipo de servidor tenemos que seleccionar la opción PPTP y finalmente en dirección del servidor lo único que tenemos que poner es la IP pública de nuestro servidor. En nuestro caso hemos asociado la IP pública de nuestro servidor al dominio geekland.sytes.net. Por lo tanto pondremos geekland.sytes.net.\nUna vez realizados todos los pasos presionamos guardar. Una vez hayamos presionado guardar les quedará una pantalla parecida a la siguiente:\nPresionamos encima del VPN “Vpncasa” que acabamos de introducir y seguidamente, y como se puede ver en la captura de pantalla se nos preguntará nuestro usuario y contraseña:\nUna vez hemos introducido nuestro nombre de usuario y contraseña tan solo nos falta presionar en conectar. Una vez hechos todos los pasos, como se puede en la captura de pantalla, ya estamos conectados y podemos navegar y usar el teléfono tranquilamente.\nComo se puede ver en la captura de pantalla si comprobamos la IP con la que estamos conectados veremos que no es la IP pública del sitio donde estamos, sino que es la IP Pública de nuestro servidor VPN.\nConectarse a nuestro VPN a través de Linux Si necesitamos conectarnos a nuestro servidor VPN en un ordenador con GNU Linux el proceso es fácil. Tan solo tenemos irnos a icono de nuestro gestor de redes que esta nuestro panel, y seleccionar las opciones que se pueden ver en la siguiente captura de pantalla:\nDespués de seleccionar la opción Configurar VPN, aparecerá la siguiente pantalla:\nComo se puede ver en la captura de pantalla tan solo tienen que presionar el botón Añadir. Una vez hemos presionado Añadir aparecerá otra ventana:\nTal y como puede verse en la captura de pantalla, en el menú desplegable tienen que elegir la opción protocolo de túnel punto a punto (PPTP). Seguidamente presionaremos al botón Crear\u0026hellip;\nUna vez presionado el botón Crear aparecerá la siguiente ventana:\nComo se puede ver en la captura de pantalla en está ventana tenemos que indicar el nombre de la conexión, la IP Pública de nuestro servidor, nuestro nombre de usuario y finalmente nuestra contraseña.\nUna vez introducidos todos estos datos tenemos que clicar encima del botón que pone Avanzado\u0026hellip; Una vez hayamos presionado sobre el botón aparecerá la siguiente pantalla:\nEn la siguiente pantalla tenemos las distintas opciones de configuración del cliente VPN. Ustedes tiene que seleccionar justo las que pueden ver en la captura de pantalla. Una vez seleccionadas presionar el botón Aceptar.\nUna vez presionado aceptar aparecerá otra vez la siguiente pantalla:\nAhora tan solo hace falta presionar en Guardar. Para finalizar ya solo nos falta conectarnos. Para hacerlo se van de nuevo al icono del panel de network manager y siguen la ruta que se muestra en la siguiente captura de pantalla:\nAhora tan solo resta esperar unos segundos y verán que les aparece el mensaje que la conexión se ha establecido con éxito:\nUna vez conectados al servidor VPN comprobaremos que la IP con la que estamos conectamos a internet no es la la IP pública del sitio de donde nos conectamos. Para ello accedemos a la siguiente web:\nhttp://www.vermiip.es/\nComo se puede comprobar en la captura de pantalla la IP corresponde a nuestro servidor VPN. Por lo tanto todo funciona a la perfección.\nSEGURIDAD QUE NOS APORTARÁ NUESTRO SERVIDOR VPN Es conocido que el protocolo pptpd tiene ciertas vulnerabilidades y que a día de hoy se puede considerar un protocolo obsoleto. Podemos afirmar esto por los siguientes motivos:\nEl cifrado que utiliza este protocolo es un cifrado de 128 bits. Hoy en día imagino que para organizaciones como la NSA y otras organizaciones que disponen de una gran potencia de computación este cifrado es fácil de romper si se lo proponen. El protocolo de autenticación MSchapv2 y LEAP presentan vulnerabilidades de seguridad graves y si elegimos una contraseña débil un atacante puede llegar a obtener está clave en menos de 24 horas mediante ataques de diccionario offline que se pueden realizar con el software asleap. Pero también es cierto que este protocolo aún tiene algunas ventajas como pueden ser las siguientes:\nEs fácil de configurar. Disponemos de clientes VPN incorporados en la gran mayoría de sistemas operativos como por ejemplo Windows, Android, Mac y iOS. Lo podemos usar tanto en ordenadores como en tabletas como en teléfonos. Es el protocolo usado en la mayoría de software antiguos. También son muchos los que dicen cosas que no son ciertas. Se dice que que en el proceso de autenticación nuestro usuario y password van en texto plano. Este es completamente falso.\nSi se observa la captura de pantalla pueden ver que lo máximo que podrá llegar a obtener un atacante mediante un sniffer es nuestro nombre de usuario, el desafío de autenticación y la respuesta de autenticación. Por lo tanto no es verdad que nuestra contraseña esté en texto plano.\nNota: Con el desafío de autenticación y la respuesta de autenticación es posible y factible obtener la contraseña mediante un ataque de diccionario con asleap. Por lo tanto se recomienda elegir una contraseña robusta, de gran longitud y complejidad. Nota: Para que quien quiera profundizar más sobre el proceso de autenticación MS-Chapv2, que es el que utiliza el servidor VPN que acabamos de montar, pueden consultar este post: http://unaaldia.hispasec.com/2012/09/rematando-ms-chap-v2-microsoft-aconseja_5.html\nOtras de las cosas falsas que podéis llegar a leer en la web es que usando el protocolo pptpd el tráfico viaja sin cifrar. Esto es totalmente falso ya que este protocolo configurado adecuadamente proporciona un cifrado MPPE de 128 bits (Microsoft Point to Point Encryption). Si lo quieren comprobar tan solo observar la siguiente captura de pantalla:\nComo se puede comprobar en la captura de pantalla la totalidad de paquetes capturados están encapsulados.\nPor lo tanto a pesar de ser un protocolo viejo y obsoleto existen mecanismos de defensa que por desgracia a día de hoy son vulnerables para algunas personas. Por lo tanto si en vuestro caso manejáis información confidencial o sensible no es recomendable usar pptp. Los más recomendable seria utilizar otros protocolos como por ejemplo OpenVPN, L2TP o IPsec. No obstante estos protocolos son bastante más difíciles de configurar que pptp, requieren de certificados digitales y no acostumbran a tener soporte para plataformas o software antiguo. En el caso que alguien maneje información confidencial y necesite la máxima seguridad le aconsejo seguir las instrucciones de este post https://geeklandlinux.github.io/posts/crear-y-configurar-servidor-openvpn/ para poder instalar y configurar su propio servidor OpenVPN.\nEn el caso que la información que manejáis no sea confidencial no veo porqué no podemos usar pptp. Deberemos tomar ciertas precauciones como por ejemplo elegir claves largas y complejas y cambiar nuestra contraseña de forma periódica. De esta forma conseguiremos minimizar el riesgo de un ataque.\n","permalink":"https://geeklandlinux.github.io/posts/crear-un-servidor-vpn-pptp/","summary":"\u003cp\u003eEn pasados post vimos como conectarnos a un servidor VPN y además también vimos las numerosas ventajas y usos que nos puede aportar un servidor VPN en determinadas circunstancias. \u003cstrong\u003ePara quien quiera consultar de nuevo las ventajas y virtudes de un servidor VPN puede consultar el siguiente post\u003c/strong\u003e:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"/posts/conectarse-a-un-servidor-vpn-gratis/\"\u003ehttps://geeklandlinux.github.io/posts/conectarse-a-un-servidor-vpn-gratis/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ePara\u003c/strong\u003e quien quiera \u003cstrong\u003emontar un servidor VPN\u003c/strong\u003e mediante el protocolo \u003ca href=\"https://es.wikipedia.org/wiki/PPTP\" title=\"Explicación del protocolo pptp\"\u003epptpd\u003c/a\u003e tan solo tienes que \u003cstrong\u003eseguir leyendo este post\u003c/strong\u003e.\u003c/p\u003e","title":"Crear un servidor VPN pptp"},{"content":"Cuando queremos que nuestro ordenador actúe como un servidor, ya sea para conectarnos desde el exterior o desde nuestra propia red, será extremadamente útil disponer de una IP fija o estática.\nNota: Antes de continuar quiero dejar muy claro que el procedimiento usado en este post es indicado para servidores que no dispongan de entorno gráfico, o para servidores que dispongan de entorno gráfico pero sin ningún gestor de red como por ejemplo Network manager o Wicd. En el caso de tener alguno de estos gestores de red instalado aconsejo no seguir el tutorial ya que la configuración que definiremos no se llevará a término debido a que los gestores de red previamente citados tendrán preferencia sobre la configuración que vamos a introducir. UTILIDAD DE DISPONER DE UNA IP FIJA O ESTÁTICA Disponer de una IP fija o estática es extremadamente útil básicamente por dos motivos:\nSi no disponemos de una IP fija, cuando se reciba una petición a nuestro servidor desde el exterior, nuestro router no sabrá donde tiene que redireccionarla ya que la IP del servidor puede ser cualquiera. En el caso que necesitemos conectarnos a un ordenador de nuestra red local, si nuestros ordenadores no disponen de ip fija o estática entonces no sabremos a que equipo estamos dirigiendo nuestra petición. COPIA DE SEGURIDAD DEL ARCHIVO DE CONFIGURACIÓN Para conseguir que nuestro servidor o equipo disponga de una IP fija o estática tan solamente tenemos que seguir unos pasos muy simples. No obstante para evitar todo tipo de riesgo lo primero que realizaremos es realizar una copia de seguridad del fichero /etc/network/interfaces.\nPara generar la copia de seguridad lo que haremos es introducir el siguiente comando en la terminal:\ncp /etc/network/interfaces /etc/network/interfaces.bak Una vez realizada la copia de seguridad en la terminal pasaremos a la configurar nuestra IP fija.\nPASOS PARA LA CONFIGURACIÓN DE UNA IP FIJA O ESTÁTICA Una vez realizados los pasos iniciales pasamos a configurar nuestra red con IP fija o estática. Para ello en la terminal tecleamos el siguiente comando:\nsudo nano /etc/network/interfaces Una vez tecleado el comando en la terminal se abrirá el editor de textos. Una vez abierto el editor de texto tendremos que reemplazar el contenido existente por el que se muestra en la siguiente captura de pantalla:\nEl significado de cada uno de los parámetros que se pueden ver en la captura de pantalla es el siguiente:\nComando 1 : “auto lo”: Este comando lo que hace es iniciar la interfaz lo (Loopback) automáticamente durante la secuencia de arranque.\nComando 2 : “iface lo inet loopback”: Con este comando lo que estamos haciendo es definir los parámetros de la interfaz lo para IP\u0026rsquo;s del tipo IPV4. Los parámetros de configuración de esta interfaz se introducen automáticamente en el momento de levantar la red\nComando 3 : “auto eth0”: Este comando lo que hace es iniciar la interfaz eth0 durante la secuencia de arranque del ordenador.\nNota: Es posible que en vuestro caso tengáis que modificar el parámetro eth0 por otro diferente como por ejemplo wlan0, eth0, eth1, etc. Para saber el nombre de interfaz lo podemos hacer introduciendo el siguiente comando en la terminal: sudo ifconfig -a Como se puede ver en la captura de pantalla nosotros disponemos únicamente de una interfaz configurable que se reconoce con el nombre eth0. También observamos que nuestra IP actual es la 192.168.1.188 y que nuestra máscara de subred es la 255.255.255.0. Con esta información deducimos que estamos a conectados a una red de clase C que podrá admitir 254 host o usuarios.\nComando 4 : “iface eth0 inet static”: Con este comando lo que estamos indicando es que una vez levantada la interfaz eth0 se asigne una IP fija o estática del tipo IPV4 a nuestro ordenador. La IP y tipo de red se nos asignará en función de los parámetros que estableceremos en los comandos que van del 5 al 10.\nComando 5 : “address: 192.168.1.188”: En el campo address he puesto 192.168.1.188 que se trata de una dirección IP reservada para redes de tipo clase C. He puesto esta IP porqué es la IP que quiero que se asigne a mi ordenador como ip fija o estática. En principio podemos elegir cualquier ip comprendida entre la dirección de red (network) y la dirección broadcast.\nNota: Las direcciones IP reservadas para redes clase C van desde 192.168.0.0 hasta 192.168.255.255. Por lo tanto en este campo podríamos haber elegido otras IP como por ejemplo 192.168.100.14, 162.168.0.3, etc. En función de la la IP que elijamos hay que tener en cuenta de modificar el resto de parámetros como por ejemplo puede ser la puerta de entrada, la dirección broadcast, etc. Comando 6 : “netmask: 255.255.255.0”: He elegido que mi máscara de red sea 255.255.255.0. Prácticamente el 100% de redes domésticas utilizan está máscara de red. La máscara de red define el número máximo de ordenadores o host que puede tener nuestra red. Al usar 255.255.255.0 el número máximo será de 254 ordenadores. En el caso de necesitar construir una red de más de 254 ordenadores tendríamos que montar una red clase B que nos permitirá llegar a tener hasta 65534 ordenadores. Nota: A modo de ejemplo. Si quisiéramos limitar el número de ordenadores que pueden conectarse a nuestra red a 32, tan solo deberíamos modificar la mascara de red a 225.255.255.224. Nota: Para cambiar a una red tipo B tendríamos que usar una máscara de red del tipo 255.255.0.0. Las IP que tienen reservadas para las redes de tipo B son 172.16.0.0 a 172.31.255.255. Si precisan de más información pueden consultar el siguiente post. Comando 7 : “network: 192.168.1.0”: En el campo dirección de red he puesto 192.168.1.0 ya que quiero que la IP que identifique la totalidad de la red sea 192.168.1.0. En otras palabras 192.168.1.0 representará a la totalidad de dispositivos conectados a nuestra red. Normalmente con IPv4 la dirección más baja del rango de IP se reserva para hacer referencia a la totalidad de host de la red.\nComando 8 : “broadcast: 192.168.1.255”: Como dirección broadcast pongo 192.168.1.255. Esta dirección se podrá usar para comunicarse y enviar paquetes a la totalidad de equipos que forman parte de una misma red. La dirección broadcast es la dirección más alta de la red. En nuestro caso como la puerta de entrada es 192.168.1.1 y la mascara de subred es el 255.255.255.0 la dirección broadcast será 192.168.1.255.\nComando 9 : “gateway: 192.168.1.1”: En este campo hay que definir la puerta de entrada del router que en mi caso es 192.168.1.1. Este parámetro se puede modificar en vuestro router pero la gran mayoría de personas acostumbra a tener IP 192.168.1.1. Para poder consultar o modificar la puerta de entrada tan solo tienen que acceder al apartado LAN de la configuración de vuestro router:\nComando 10 :”dns-nameservers: 192.168.1.1:” En los dns-namservers he puesto 192.168.1.1 ya que es la puerta de entrada de mi Router. De está forma estoy definiendo que las peticiones DNS de nuestro ordenador sean resultas mediante los DNS de mi ISP. En el caso que quiera usar otros DNS, como por ejemplo los de google, tan solo tenemos que reemplazar 192.168.1.1 por 8.8.8.8. Una vez realizados todos los pasos podemos estar seguros que tendremos una IP fija. Por lo tanto siempre que arranquemos nuestro servidor tendremos la misma IP.\nAPLICAR LOS CAMBIOS DE LA CONFIGURACIÓN Una finalizada la configuración tan solo tenemos que reinicializar nuestra red. Para ello tecleamos el siguiente comando en la terminal:\nsudo service networking restart En el caso que se precise levantar o bajar alguna interfaz tan solo tenemos que teclear la siguiente serie de comandos en la terminal.\nPara bajar una interfaz teclearemos:\nsudo ifdown “nombre de la interfaz” Para subir una interfaz teclearemos:\nsudo ifup “nombre de la interfaz” Por lo tanto si queremos bajar la interfaz eth0 teclearemos:\nsudo ifdown eth0 Si a posteriori queremos subir de nuevo la interfaz eth0 teclearemos el siguiente comando en la terminal:\nsudo ifup eth0 Nota: Una solución alternativa a todo lo propuesto en este apartado es asignar una ip fija o estática a una MAC en el panel de configuración del router. No obstante a mi modo de ver está solución presenta algunos inconvenientes ya que si el router falla implica que la red local entera se caiga.","permalink":"https://geeklandlinux.github.io/posts/configurar-ip-fija_o_estatica_ipv4/","summary":"\u003cp\u003eCuando queremos que nuestro ordenador actúe como un servidor, ya sea para conectarnos desde el exterior o desde nuestra propia red, será extremadamente útil disponer de una IP fija o estática.\u003c/p\u003e","title":"Configurar IP fija o Estatica con IPv4"},{"content":"En pasados post pudimos ver detalladamente como podemos conectarnos a un servidor proxy o como podemos crear nuestro propio servidor proxy socks. A raíz de esta serie de post han salido consultas de gente preguntando si es posible encadenar un proxy detrás de otro para así poder ocultar nuestra identidad y nuestra IP con más garantías. La respuesta es esta pregunta es que sí.\nAntes de proseguir con la lectura del post y entender el 100% del contenido que se detalla se aconseja dar un vistazo a los siguientes post:\nhttps://geeklandlinux.github.io/posts/conectarse-a-un-servidor-proxy/\nhttps://geeklandlinux.github.io/posts/establecer-un-tunel-ssh/\n¿QUÉ NECESITAMOS PARA ENCADENAR SERVIDORES PROXY? Para encadenar un proxy tras otro en cualquier sistema operativo y de este modo poder esconder nuestra identidad es sumamente fácil. Tan solo tenemos que instalar Proxychains. Proxychains redirigirá la totalidad de peticiones TCP y resoluciones DNS de la aplicación que nosotros queremos a través de una lista de proxy que nosotros podemos especificar.\nINSTALAR PROXYCHAINS Para instalar proxychains tan solo tenemos que abrir una terminal y teclear el siguiente comando:\nsudo apt-get install proxychains En la siguiente captura de pantalla pueden observar este paso tan simple:\nUna vez realizado este paso ya solo nos falta comprender el funcionamiento de proxychains y aprender a configurarlo adecuadamente.\nNota: Estoy seguro que existe multitud de opciones alternativas a proxychains como por ejemplo Socat. No obstante les recomiendo proxychains por 2 razones fundamentales. Proxychains funciona a la perfección y además es una solución multiplataforma que podremos aplicar en cualquier sistema operativo Windows, Mac o Gnu-Linux. En el caso que quieran usar una solución similar en Android pueden probar Socat. ¿CÓMO FUNCIONA PROXYCHAINS? El funcionamiento de proxychains es sencillo y es fácil de entender si ponemos un ejemplo:\nSupongamos que estamos en nuestra casa. Nuestro ordenador tiene una IP Pública que es la 77.123.21.3 y queremos visitar una página web que está alojada en un servidor web que tiene la IP 80.12.54.23.\nEn el caso que no estemos usando ningún proxy se establecerá una conexión directa entre nuestro ordenador y el servidor web tal y como se muestra en la siguiente imagen:\nEn el caso que estemos usando varios servidores proxy encadenados a través de proxychains el esquema de conexión al servidor web es el que se muestra en la siguiente imagen:\nLa petición inicial de nuestro ordenador con IP (77.123.21.3) se dirige a un servidor proxy con IP (200.123.231.321). Seguidamente el servidor proxy con IP (200.123.231.321) dirige la petición a otro servidor proxy con IP (212.234.127.121) Una vez el proxy con IP (212.234.127.121) reciba la petición del servidor proxy con IP (200.123.231.321) la dirigirá al servidor proxy con IP (122.238.123.23) Una vez el proxy con IP (122.238.123.23) reciba la petición del servidor proxy (212.234.127.121) la dirigirá a otro servidor proxy con IP (122.238.123.44) Finalmente el servidor proxy con ip (122.238.123.44) dirigirá la petición al servidor web con IP (80.12.54.23). VENTAJAS QUE OBTENEMOS CON PROXYCHAINS En el siguiente post se detallan de forma muy detallada las ventajas que podemos obtener de conectarnos a internet a través de un servidor Proxy:\nhttps://geeklandlinux.github.io/posts/conectarse-a-un-servidor-proxy/\nPero ahora el kit que de la cuestión es\u0026hellip; ¿Qué obtenemos encadenando un proxy detrás de otro?\nLa respuesta es simple. En el caso que alguien intente localizar nuestra IP, y nosotros estamos conectados a internet a través de una cadena de proxy, le será mucho más difícil identificarnos y atacarnos. El motivo por el cual le será más difícil es el siguiente:\nSi volvemos al ejemplo anterior vemos que nosotros hacemos una petición para visitar una página web y esta va pasando por distintos proxy que nosotros podemos definir.\nSi algún atacante analiza el segundo servidor proxy con IP (212.234.127.121) puede llegar a saber que nos hemos conectado al proxy 1 con IP (200.123.231.321), y puede llegar a saber que nos hemos conectado al proxy número 3 con IP (122.238.123.23) pero nunca podrá saber que nos hemos conectado a un proxy número 4 con IP (122.238.123.44)\nEste simple hecho hará que sea más difícil trazar e identificar nuestra identidad o IP. De este modo conseguiremos más privacidad y anonimato en internet.\nNota: El hecho de conectarse a través de un proxy desconocido o de dudosa reputación puede ser peligroso. Hay que decir que en la red existen proxy gratuitos que su principal principal función es capturar nuestros datos y vendérselos a terceros. COMO CONFIGURAR PROXYCHAINS Una vez instalado proxychains, y una vez conocemos como funciona, tan solo tenemos que configurarlo adecuadamente. El primer paso que tenemos que realizar para empezar al configuración de proxychains es definir los servidores proxy que vamos a usar.\nSeleccionar los proxy a que nos queremos conectar Nota: Siguiendo el esquema de la figura vamos a seleccionar 3 servidores proxy para encadenarlos uno tras otro. SERVIDOR 1: Elijo que el primer servidor se trate de un servidor proxy socks local que enviará todo el tráfico a través de un túnel SSH a otro ordenador que tengo ubicado en otra ciudad. Para poder realizar esta acción tengo que abrir una terminal y teclear el siguiente comando:\nssh -p 22 -N -D 8081 joan@geekland.sytes.net Como se puede ver en la captura de imagen, una vez aplicado el comando nos pide la contraseña de nuestro servidor SSH. Una vez hemos introducido la contraseña se establece la conexión y tan solo tenemos que minimizar la ventana.\nNota: Tenéis que minimizar la ventana. Bajo ningún concepto cerréis la ventana ya que se cortaría la conexión entre servidor local y el servidor SSH que actúa de proxy. Los datos de nuestro propio servidor proxy local son los siguientes:\nIP del servidor proxy: Como se trata de un servidor local la IP del servidor será 127.0.0.1.\nPuerto de acceso del servidor proxy: Como el túnel SSH se ha abierto por el puerto 8081, el puerto de acceso al servidor proxy será el 8081.\nTipo del servidor proxy: El servidor local es del tipo socks5\nSERVIDOR 2: Quiero que se trate de un servidor proxy socks del tipo 5. Para hallar un servidor proxy socks tipo 5 tan solo tienen que visitar el siguiente link y encontrarán numerosas opciones:\nhttps://hidemyass.com/proxy-list/\nUna vez hayáis accedido dentro del link tan solo tenéis que seleccionar uno de los proxy. Para seleccionar un proxy tenéis que anotar los siguientes datos:\nIP del servidor proxy: En mi caso elijo que quiero conectarme el servidor proxy con IP 180.169.125.49. Podéis seleccionar cualquiera de las IP que se muestran en el Campo IP address.\nPuerto de acceso del servidor proxy: El servidor que tiene la IP 180.169.125.49 tiene acceso por el puerto 8888. Para conocer el puerto de acceso tan solo que consultar la columna Port.\nTipo del servidor proxy: El servidor proxy que tiene la IP 180.169.125.49 y el puerto 8888 vemos que es de tipo Socks 5. Para conocer este dato tan solo tienen que consultar la columna Type.\nUna vez anotados los datos del segundo servidor proxy pasamos a buscar el tercer servidor proxy.\nSERVIDOR 3: El tercer y último servidor proxy quiero que se trate de un servidor proxy http. Para ello aplicamos el mismo procedimiento que acabamos de aplicar en la selección del servidor 2 obteniendo un resultado parecido al siguiente:\nIP del servidor proxy: Elegimos un servidor proxy de la lista. Concretamente elijo el servidor que tiene la IP 222.74.98.234.\nPuerto de acceso del servidor proxy: El servidor con IP 222.74.98.234 tiene acceso por el puerto 8080.\nTipo del servidor proxy: El proxy con IP 222.74.98.234 y puerto 8080 es el tipo http.\nUna vez seleccionado el último de los proxy ya podemos abrir el archivo de configuración para configurar proxychains.\nNota: Como se puede en el ejemplo he seleccionado 3 tipos de proxy diferentes para que se pueda ver que proxychains es capaz de encadenar proxy de distintos tipos sin ningún problema. Nota: Pueden hallar numerosas listas de servidores proxy diferentes a las de hidemyass. Tan solo hay que acceder a un buscador cualquiera, como por ejemplo google, y buscar por la palabra clave proxy list. Acceder al fichero de configuración Para acceder a la configuración de proxychains abrimos una terminal y tecleamos el siguiente comando:\nsudo nano /etc/proxychains.conf Seleccionar el modo de funcionamiento de proxychains Una vez tecleado el comando anterior se abrirá el editor de texto donde deberemos configurar proxychains.\nLo primero que tendremos que seleccionar en el fichero que de configuración es el tipo de cadena que queremos usar. Los distintos tipos de cadena que podemos seleccionar son son Strict, Random y dynamic.\nEl modo de funcionamiento de cada uno de los tipos de cadena es el siguiente:\nStrict: Seguirá exactamente la lista de proxy que estipulo. En el caso que uno de los proxy que figuren en la lista falle no se establecerá la conexión. Esta opción es buena en el caso que queramos comprobar que la totalidad de proxy que figuran en nuestra lista funcionan. También es buena para asegurar que como mínimo nuestra petición pasará por el número de proxy que nosotros queremos.\nNota: Si usamos una lista de proxy muy larga y usamos la opción strict seguramente tendremos problemas ya que es altamente probable que uno de los proxy seleccionados falle. Dinamic: Ofrece el mismo funcionamiento que strict. Por lo tanto también seguirá exactamente la lista de proxy que estipulo pero, a diferencia de strict, en el caso que uno de los proxy de la lista falle pasará al siguiente y de este modo podremos establecer la conexión sin problemas. Por lo tanto en el caso de uséis una lista de proxy que sea larga esta es la opción más apropiada ya que no es difícil que uno de los proxy que figure en nuestra lista falle.\nRandom: En el momento de realizar las peticiones de conexión el orden de los proxy a que nos vamos a conectar será aleatorio. Así por lo tanto el comportamiento habitual es que cuando hagamos una petición de conexión se realice con una IP determinada y justo la siguiente petición se realice con otra IP completamente distinta a la primera. Esta opción puede ser útil en el caso que en una red queramos testear un sistema de detección de intrusos (IDS).\nUna vez visto los tipos de cadena existentes ahora tenemos que seleccionar el tipo que queremos.\nComo se puede ver en la captura de pantalla, en el archivo de configuración, existen tres lineas con el siguiente texto:\nLinea 1: #dynamic_chain Linea 2: strict_chain Linea 3: #random_chain\nSi se fijan hay una linea que no contiene el carácter #. No contiene el símbolo # porqué es el tipo de cadena seleccionado por defecto. Por lo tanto el tipo de cadena seleccionado por defecto es Strict. Para el ejemplo que estamos realizando usaremos la opción strict.\nEn el caso que quisiéramos seleccionar el tipo de cadena random tan solo tendríamos que modificar las 3 lineas que acabamos de ver para dejarlas de la siguiente forma:\nLinea 1: #dynamic_chain Linea 2: #strict_chain Linea 3: random_chain\nEn el caso que quisiéramos seleccionar el tipo de cadena strict deberíamos modificar las 3 lineas que acabamos de ver para dejarlas de la siguiente forma:\nLinea 1: dynamic_chain Linea 2: #strict_chain Linea 3: #random_chain\nComprobar que la resolución de DNS se haga a través de los servidores de proxy Una vez seleccionado el tipo de cadena tenemos que asegurarnos que la resolución DNS se haga a través de los servidores proxy para no dejar rastros de nuestra identidad ni perder nuestra privacidad.\nPara ello, tal y como se puede ver en la captura de pantalla tenemos que buscar la linea que tiene el siguiente contenido:\nproxy_dns\nUna vez localizada la linea tenemos que asegurarnos que esta linea no está comentada. La forma de aseguraranos que no está comentada es que esta linea no contenga el símbolo #.\nIntroducir los servidores proxy dentro del archivo de configuración Finalmente ya solo nos falta indicar la lista de servidores proxy que vamos a usar. Para introducir la lista de proxy tenemos que irnos justo al final del archivo de configuración y añadir los datos que anotamos en el apartado de Seleccionar los proxy a que nos queremos conectar.\nTal y como se puede ver en la captura de pantalla añadimos el siguiente contenido:\nsocks5 127.0.0.1 8081 “Para introducir el servidor proxy 1” socks5 180.169.125.49 8888 “Para introducir el servidor proxy 2” http 222.74.98.234 8080 “Para introducir el servidor proxy 3”\nNota: Como se puede ver en el ejemplo para introducir un servidor proxy tan solo tenemos que indicar el tipo de proxy seguido de un espacio o una tabulación. Después hay que indicar la IP del servidor proxy más un espacio o una tabulación, y finalmente solo hace falta indicar el puerto del servidor proxy. Para finalizar tan solo tienen que guardar el archivo y ya podmos decir que el proceso ha finalizado.\nCOMPROBACIÓN DEL FUNCIONAMIENTO Una vez realizados todos los pasos tan solo falta comprobar que todo funciona adecuadamente. Para ello tan solo tenemos que abrir una terminal y teclear el siguiente comando:\nproxychains + nombre del programa que queremos utilizar Así por lo tanto si queremos usar iceweasel tan solo tenemos que introducir el siguiente comando en la terminal:\nproxychains iceweasel Nota: El procedimiento sirve para cualquier programa que queramos usar. Así por lo tanto podremos usar proxychains con firefox, thunderbird, nmap, wget, curl, etc. Una vez introducido el comando se abrirá iceweasel. Una vez se abierto iceweasel ingresaremos en la siguiente página web:\nhttp://www.vermiip.es/\nComo se puede ver en la captura de pantalla la web de vermiip.es nos está indicando la IP del último servidor proxy de la lista que introducimos. Además como elegimos la opción de cadena estricta y vemos que la conexión se ha realizado podemos estar seguros que la totalidad de servidores proxy están funcionando adecuadamente.\nEn el caso que deseemos realizar una comprobación más detallada del correcto funcionamiento de proxychains podemos usar Curl. Para poder usar curl primero tenemos que instarlo en nuestro sistema operativo GNU Linux. Para ello abrimos una terminal e introducimos el comando el siguiente comando para instalar curl:\nsudo apt-get install curl Una vez instalado curl ahora tan solo tenemos que empezar a usarlo. Para usarlo en una terminal podemos escribir el siguiente comando:\nproxychains curl moddle.org Nota: Con el comando introducido lo que vamos a obtener es la ruta que sigue nuestra petición para conectarnos a la página web de www.moddle.org. El resultado obtenido después de aplicar el comando será el siguiente: Como se puede ver en la captura de pantalla el primer paso es realizar resolución DNS de la petición que hemos realizado. Observamos que para realizar la petición DNS las etapas que se han seguido son:\nNuestro servidor local 127.0.0.1 envía la petición a un servidor 180.168.124.49. El servidor 180.168.124.49 realiza la misma petición al servidor 222.74.98.234. Finalmente un servidor DNS con IP 4.2.2.2 hace la resolución DNS de nuestra petición. Concretamente tal y como se puede observar en la captura de pantalla la IP de la web moddle.org es la 208.87.149.250. Nota: El servidor DNS 4.2.2.2 corresponden a Level 3 Communications y son completamente ajenos a mi ordenador. Una vez realizada la resolución DNS ahora empezará la segunda etapa que será la de conectarnos al servidor web moddle.org. Si se observa la captura de pantalla vemos que para establecer la conexión el camino será el siguiente:\nNuestro servidor local 127.0.0.1 envía la petición a un servidor 180.168.124.49. El servidor 180.168.124.49 realiza la misma petición al servidor 222.74.98.234. Finalmente nos conectaremos al servidor moddle que tiene la IP 208.87.149.250. USOS QUE PODEMOS DAR PROXYCHAINS El uso principal que podemos dar a proxychains es el que acabamos de describir. No obstante existen muchos otros usos. Tan solo tienen que usar vuestra imaginación.\nSolo para poner un ejemplo de lo que podemos hacer, simplemente tenéis que imaginar que nos conectamos a la deep web mediante el navegador de Tor. Pero que pasa en el caso que queramos usar nmap u otra aplicación vía terminal a través de la red Tor?\nMuchos de vosotros no sabrías como hacerlo pero con proxychains lo podríamos realizar fácilmente. Como he dicho anteriormente si hacéis el esfuerzo de pensar un poco os vendrán a la mente más utilidades.\n","permalink":"https://geeklandlinux.github.io/posts/encadenar-proxy-con-proxychains/","summary":"\u003cp\u003eEn pasados post pudimos ver detalladamente como podemos conectarnos a un servidor proxy o como podemos crear nuestro propio servidor proxy socks. A raíz de esta serie de post han salido consultas de gente preguntando si \u003cstrong\u003ees posible encadenar un proxy detrás de otro para así poder ocultar nuestra identidad y nuestra IP con más garantías\u003c/strong\u003e. La respuesta es esta pregunta es que sí.\u003c/p\u003e","title":"Encadenar proxy con proxychains"},{"content":"Durante el transcurso del último año he tenido una serie de problemas con Internet y la forma de solucionar el problema provisionalmente ha sido crear una red Ad hoc. Seguidamente compartiré con vosotros las situaciones en las que me ha sido útil crear una red Ad hoc y también les explicaré de forma detallada como podemos crear una red Ad hoc de forma sencilla.\n¿QUÉ ES UNA RED AD HOC? Una red Ad hoc, o también conocida como MANET (Mobile ad hoc networks), consiste en disponer de un grupo de como mínimo 2 ordenadores que se comunican entre si mediante una comunicación punto a punto a través de señales de radio sin la necesidad de usar ningún tipo de infraestructura o punto de acceso como por ejemplo un Router.\nUTILIDADES DE CREAR UNA RED AD HOC El uso que básicamente he dado a las redes Ad hoc es compartir la conexión de internet entre varios equipos. Las situaciones en las que alguna vez he necesitado compartir la conexión de Internet son las siguientes:\nHay ciertos modelos de teléfonos Android que no son compatibles con algunos de los routers existentes en el mercado. En el caso de tener este problema podemos crear una red Ad hoc. De este modo nuestro teléfono en vez de conectarse al router incompatible se comunicará con el nodo central de la red Ad hoc solucionando nuestro problema. En el caso que vayamos a un hotel lo más probable es que nuestra habitación solo disponga de conexión a Internet mediante cable. Esto implica una limitación importante ya que solo podremos disponer de un dispositivo con conexión a Internet. Por lo tanto si tenemos una tablet, teléfono o un compañero de habitación que necesita conectarse a Internet simplemente no será posible. Una solución a este problema será crear una red Ad hoc y de este modo todo el mundo se podrá conectar a Internet. Justo este fin de semana acabo de tener una avería de Internet en mi casa y me he quedado sin Internet. La solución que he aplicado es pedir permiso al vecino para conectarme a su red wifi. Una vez conectado a la red wifi del vecino he creado una red Ad hoc para poder conectar la totalidad de dispositivos que tengo en mi casa a Internet. En nuestro trabajo no acostumbran a existir redes wifi, o si existen están protegidas para que los trabajadores no puedan conectarse a ellas. Esto implica que durante el entorno laboral estemos consumiendo datos de nuestra tarifa de 3G o 4G en cosas como por ejemplo escuchar la radio, etc. Para evitar este problema tan solo tenemos que crear una red Ad hoc y de esta forma evitaremos el consumo de datos de nuestra tarifa de teléfono. Nota: Android 2.3.6 y versiones inferiores no permiten conectarse a redes Ad hoc. Para poderse conectarse a una red Ad hoc necesitamos ser root y parchear el archivo wpa_supplicant. Es posible que en versiones posteriores de Android este problema ya esté solucionado. Otros usos que podemos dar a una red Ad hoc son los siguientes:\nAlgunos routers antiguos no disponen de wifi. Por lo tanto a priori no podemos conectar nuestra tablet, ordenador portátil o teléfono a nuestro Router. Una solución para conectar la totalidad de estos dispositivos a Internet de forma inalámbrica será construyendo una red Ad hoc. A veces hay zonas de nuestra casa que están muy alejadas del router y por lo tanto no les llega la señal wifi. Una posible solución a este problema es crear una Red Ad hoc en un punto intermedio entre el router y la habitación que no llega el wifi. De está forma conseguiremos que en la habitación más alejada podamos disponer de conexión a internet. Una vez creada la red Ad hoc podemos compartir archivos fácilmente entre los distintos ordenadores que están conectados a la misma red Ad hoc. También es posible usar una red Ad hoc para jugar a videojuegos en red. Nota: Es posible que existan otros usos que podemos dar a una red Ad hoc. Por ejemplo estas redes pueden tener aplicaciones militares, servicios de emergencia en caso de desastres naturales, domótica, etc. No obstante los usos que describo pienso que son los más frecuentes y los que alguna vez he usado yo mismo. ¿QUÉ NECESITAMOS PARA CREAR UNA RED AD HOC? Para crear una red Ad hoc y poder aplicar los usos que acabamos de describir necesitamos disponer del siguiente equipamiento:\nEN EL CASO QUE NOS CONECTEMOS A INTERNET VÍA WIFI: 1- Necesitaremos como mínimo 2 tarjetas de red de red inalámbricas. Una de las tarjetas servirá para conectarnos a Internet vía wifi y la otra servirá para realizar la comunicación entre equipos.\nNota: En el caso de usar un ordenador portátil una de las redes inalámbricas ya está incorporada en el ordenador. Por lo tanto solo necesitaríamos comprar una tarjeta de red inalámbrica USB. Nota: En el caso de tengamos un ordenador de sobremesa tendremos que adquirir 2 tarjetas de red inalámbricas USB ya que los ordenadores de sobremesa no acostumbran a tener ninguna tarjeta de red inalámbrica. EN EL CASO QUE NOS CONECTEMOS A INTERNET VÍA CABLE: 1- Necesitaremos solamente una tarjeta de red inalámbrica.\nNota: En el caso de tener un ordenador portátil lo normal es que disponga de una tarjeta de red ethernet y una tarjeta de red inalámbrica. Por lo tanto si disponéis de un portátil no será necesario comprar nada. Nota: En el caso de tener un ordenador de sobremesa seguramente necesitaremos adquirir una tarjeta de red inalámbrica ya que los ordenadores de sobremesa acostumbran a disponer de una tarjeta de red Ethernet pero no acostumbran a disponer una tarjeta de red inalámbrica. CREAR UNA RED AD HOC EN LINUX Existen múltiples tipos de infraestructuras y topologías Ad hoc como pueden en árbol, en malla, en anillo, repetidores, etc. Pero nosotros nos centraremos en la topología de estrella que es la más común para poder crear un hotspot.\nAsí por lo tanto que queramos crear una red Ad hoc en linux para funcionar como hotspot (Topología de estrella) el procedimiento es muy fácil:\nSupongamos que tenemos un ordenador portátil con su tarjeta de red inalámbrica interna y al mismo tiempo también disponemos de otra tarjeta de red inalámbrica USB.\nEl primer paso será conectarnos vía wifi a nuestro Router. Como se puede ver en la captura de pantalla lo haremos así de fácil:\nUna vez conectados a la red wifi enchufamos la tarjeta de red inalámbrica a nuestro USB. Una vez enchufada veremos que en el Gnome network manager o Wicd aparece una tarjeta inalámbrica nueva:\nNota: En mi caso la tarjeta inalámbrica USB que acabo de conectar es la RTL8188S Seguidamente, como se puede apreciar en la siguiente captura de pantalla, dentro del menú del Gnome network manager o de wicd seleccionamos la opción crear una red inalámbrica nueva\u0026hellip;.\nUna vez seleccionada la opción crear una red inalámbrica nueva aparecerá la siguiente ventana:\nEn la siguiente ventana veremos las siguientes opciones:\nAdaptador inalámbrico: En este campo tenemos que seleccionar la tarjeta de red inalámbrica que usaremos para crear la red Ad hoc. En mi caso usaré la Realtek RTL8188S ya que la Realtek RTL8187SE es la que tarjeta que estoy usando para conectarme a internet vía wifi. Nombre de la red: En este campo pongo el nombre que quiero que tenga la red Ad hoc que estamos a punto de crear. Seguridad inalámbrica: En este apartado, si abrimos el menú desplegable, tenemos que elegir el tipo de cifrado que queremos que tenga nuestra red Ad hoc o Hotspot. Podemos elegir entre WEP de 128 bits, WEP 40/128-bit o Ninguna. En mi caso elegiré Ninguna ya que solamente estoy realizando pruebas y vivo apartado de la urbe. Por lo tanto la dejaré la red Ad hoc abierta ya que nadie debería porqué conectarse a mi red Ad hoc. Clave: En la celda clave tenemos que seleccionar una clave de acceso para poderse conectar a la red Ad hoc. Podemos elegir una cualquiera. En mi caso como en seguridad inalámbrica he elegido Ninguna en este apartado no tengo definir ninguna clave. Una vez realizados todos los pasos tendremos la siguiente situación:\nAhora tan solo nos falta presionar el botón Crear. Una vez presionado el botón hemos terminado el proceso de creación de la red Ad hoc.\nAhora simplemente tenemos comprobar que todos los pasos realizados son los correctos. Para ello presionamos encima del icono de gnome network manager y tiene que aparecer algo parecido a lo siguiente:\nSi todo funciona correctamente, como se puede ver en la captura captura de pantalla, la tarjeta Realtek RTL8187SE está siendo usada para conectarse a la red Wifi WLAN_CBF4 mientras que la tarjeta de red inalámbrica Realtek RTL8188S está siendo usada para generar la red Ad hoc . Por lo tanto podemos afirmar que a priori todo funciona a la perfección.\nCOMPROBACIÓN DEL FUNCIONAMIENTO Para comprobar que nuestra red Ad hoc funciona a la perfección lo podemos hacer de la siguiente forma. Cogemos un ordenador cualquiera, un teléfono o una tablet. En mi caso cojo una tablet y como se puede ver en la captura de pantalla nos vamos al gestor de redes wifi. Una vez dentro del gestor de redes wifi vemos que aparece una red que se llama adhoc que es la que acabamos de generar:\nPresionamos encima de adhoc. Unos momentos después de presionar sobre la red Adhoc veremos que nuestro ipad se conecta a la red sin problema alguno. Una vez conectados a la red abrimos el navegador e ingresamos una página web cualquiera. En mi caso como se puede ver en la captura de pantalla he elegido https://geeklandlinux.github.io/:\nComo se puede ver en la captura de pantalla podemos navegar sin problema alguno. Por lo tanto todo lo realizado funciona a la perfección.\nCREAR UNA RED AD HOC EN WINDOWS Windows no es principalmente santo de mi devoción. Lo tengo que usar por motivos laborales y aquí se termina mi uso. No obstante me gustaría dar un punto de partida a los usuarios de windows para poder crear su propia red Ad Hoc.\nWindows de forma nativa permite crear una red Ad hoc pero el proceso es largo y complicado de explicar. Bajo mi punto de vista creo que la forma más fácil para crear una red Ad hoc es instalar un software de terceros, como per ejemplo Connectify, que nos permitirá crear nuestra red Ad Hoc de forma muy fácil e intuitiva. Connectify lo podéis descargar de la siguiente página web:\nhttp://www.connectify.me/lite-vs-pro/\nEl procedimiento de instalación y uso de Connectify es muy sencillo e intuitivo. Por lo tanto pienso que no requiere de ninguna explicación. No obstante para quien la necesité puede consultar la siguiente pagina web:\nhttp://www.connectify.me/tutorials-new/\nNota: Los tutoriales son en inglés pero realmente vale la pena mirarlos ya que te desgranan muy detalladamente todas las opciones que puede ofrecer Connectify, LIMITACIONES DE LAS REDES AD HOC Hemos visto que las redes ad hoc disponen una utilidad muy amplia y tienen características muy interesantes como por ejemplo una gran flexibilidad, un despliegue rápido de la red, una mínima configuración , etc. Pero el hecho de crear una red Ad hoc también tendrá una serie de inconvenientes ya que una red Ad hoc tendrá recursos limitaciones en cuanto a velocidad de procesamiento, ancho de banda, almacenamiento, etc.\nAsí por lo tanto el hecho de disponer de una red Ad hoc dispondrá de las siguientes limitaciones:\nUna red Ad hoc tendrá a priori más problemas de seguridad que una red wifi tradicional. Para poner un ejemplo decir que en una red Ad hoc en principio no será posible ocular el SSID y por lo tanto para un atacante será más fácil intentar iniciar un ataque. En las redes Ad hoc también existirá una limitación de velocidad ya que las tarjetas de red acostumbran a disponer de una velocidad transferencia de datos limitada, que en el caso de las redes ad hoc acostumbra a ser 11Mbps. Esto implica que la velocidad de transferencia en una red Ad hoc es muy posible que sea muy inferior a 1.37 Megas por segundo. ","permalink":"https://geeklandlinux.github.io/posts/compartir-internet-con-una-red-ad-hoc/","summary":"\u003cp\u003eDurante el transcurso del último año he tenido una serie de problemas con Internet y la forma de solucionar el problema provisionalmente ha sido crear una red Ad hoc. Seguidamente compartiré con vosotros las situaciones en las que me ha sido útil crear una red Ad hoc y también les explicaré de forma detallada como podemos crear una red Ad hoc de forma sencilla.\u003c/p\u003e","title":"Compartir internet con una red ad hoc"},{"content":"En pasados post vimos como crear un túnel SSH y mediante un proxy socks local enviar la totalidad del tráfico de forma cifrada a través del túnel SSH que hemos creado, para de esta forma poder navegar de forma segura.\nPero también vimos que hay ciertos programas que no tienen la opción de poderlos configurar para que funcionen a través de un proxy socks y por lo tanto no es posible redirigir nuestro tráfico a través del túnel SSH.\nPor ejemplo en el caso de querer usar Midori vemos que es totalmente imposible redirigir el tráfico a nuestro túnel SSH. Una posible solución a este problema es utilizar tsocks.\nNota: Para las personas interesadas en consultar los post en que se explica como establecer un túnel SSH para poder navegar de forma segura pueden consultar los siguientes links: https://geeklandlinux.github.io/posts/que-es-y-para-que-sirve-un-tunel-ssh/ https://geeklandlinux.github.io/posts/establecer-un-tunel-ssh/\nINSTALAR TSOCKS Para instalar tsocks tan solo tenemos que abrir la terminal y teclear el siguiente comando:\nsudo apt-get install tsocks Nota: Prácticamente la totalidad de distros linux disponen del paquete tsocks. Por lo tanto no deberían tener ningún problema para instalarlo. CONFIGURAR TSOCKS Una vez hemos instalado tsocks tenemos que configurarlo. Para acceder al fichero de configuración introducimos el siguiente comando en la terminal:\nsudo leafpad /etc/tsocks.conf La totalidad de parámetros que tenemos que configurar dentro del archivo de configuración son los siguientes:\nlocal = En este campo tenemos que poner la dirección de nuestra red local y de la máscara de subred. De esta forma estamos configurando que el acceso a los equipos de nuestra red local se hagan directamente sin la intervención del servidor proxy. En mi caso este campo tendrá el valor 192.168.2.0/255.255.255.0. En vuestro caso es posible que el valor tengáis que poner sea 192.168.1.0/255.255.255.0\nserver = Tenemos que introducir la IP del servidor proxy socks. Como el servidor proxy socks lo tenemos en nuestra propia máquina tendremos que usar la IP 127.0.0.1\nserver_type = el túnel SSH que crearemos admite tanto el protocolo socks 4 como el protocolo socks 5. Como socks 5 es mucho más moderno y seguro que el socks 4 en este campo elegiremos el valor 5.\nserver_port = En este apartado tenemos que introducir el puerto por el que abriremos el túnel SSH y por el que el servidor socks recibirá las peticiones. En nuestro caso lo haremos por el puerto 8081.\nSeguidamente les muestro una captura de pantalla del trabajo realizado hasta el momento:\nCon la configuración introducida es más que suficiente para nuestos propositos. En el caso que alguien precise profundizar más sobre la configuración de tsocks puede consultar el siguiente enlace:\nhttps://linux.die.net/man/5/tsocks.conf\nCOMPROBACIÓN DEL FUNCIONAMIENTO DE TSOCKS A estas alturas ya hemos terminado el trabajo. Ahora solo nos falta comprobar que todo funciona a la perfección.\nLo primero que tenemos que hacer es abrir nuestro navegador. En este caso abriremos el navegador Firefox y comprobaremos cual es nuestra IP Pública. Para ello accedemos a la siguiente página web:\nhttp://www.vermiip.es/\nUna vez hemos accedido a la página web vemos que nuestra IP es la siguiente:\nEn la captura de pantalla vemos que nuestra nuestra IP Pública real termina en 163.\nSeguidamente lo que tenemos que realizar es establecer el túnel SSH por el puerto 8081 que es el que hemos elegido en el archivo de configuración de tsocks. Para establecer el túnel usamos el siguiente comando en la terminal:\nssh -p 22 -N -D 8081 joan@geekland.sytes.net Nota: Quien necesite información sobre el comando que acabo de introducir puede consultar el siguiente post: https://geeklandlinux.github.io/posts/establecer-un-tunel-ssh/ Como podemos ver en la captura de pantalla el túnel se ha establecido:\nSeguidamente tenemos ejecutar el programa que queremos que trabaje con nuestro proxy socks y nuestro túnel SSH. Para ejecutar un programa tenemos que abrir una terminal y usar la siguiente sintaxis:\ntsocks + el nombre del programa que queremos arrancar Así por lo tanto si queremos ejecutar midori de tal forma que todo su tráfico se redirija a través del túnel SSH tenemos que introducir el siguiente comando en la terminal:\ntsocks midori Una vez introducido el comando se arrancara midori. Seguidamente comprobaremos nuestra IP pública accediendo a la siguiente página web:\nhttp://www.vermiip.es/\nEl resultado obtenido es el siguiente:\nComo podemos ver ahora nuestra IP Pública termina en 243. Antes terminaba en 163. Por lo tanto podemos afirmar que la totalidad del tráfico de nuestro navegador está pasando a través de nuestro proxy socks y nuestro túnel SSH.\nFORZAR QUE LA TOTALIDAD DEL TRÁFICO PASE A TRAVÉS DEL PROXY SOCKS Una vez comprobado que tsocks funciona seguramente muchos de vosotros considerarán tedioso tener que arrancar aplicación por aplicación desde la terminal. Si este es vuestro caso pueden utilizar el siguiente método para forzar que la totalidad del tráfico de nuestro equipo pase por nuestro túnel SSH. Para conseguir esto tenemos que realizar los siguientes pasos:\nLo primero que tenemos que realizar es abrir el túnel SSH desde nuestra máquina al servidor. Para esto abrimos una terminal y tecleamos el siguiente comando:\nsudo ssh -p 22 -N -D 8081 joan@geekland.sytes.net En la siguiente captura de pantalla se puede ver que el túnel ha sido creado:\nUna vez establecido el túnel abrimos otra terminal y activamos el usuario root. Para activar el usuario root tenemos que usar el siguiente comando:\nsu Nota: Si el comando “su” les da algún problema de permisos usen “sudo su” en vez de su. Una vez introducido el comando su introduciremos un nuevo comando en la terminal. El comando es el siguiente:\necho /usr/lib/libtsocks.so \u0026gt;\u0026gt; /etc/ld.so.preload Nota: Lo que hace este comando es crear el archivo /etc/ld.so.preload y dentro de este archivo introduce como texto /usr/lib/libtsocks.so. De esta manera estaremos forzando que la totalidad del tráfico circule por nuestro túnel SSH. En la siguiente captura de pantalla se pueden ver los pasos realizados hasta el momento:\nUna vez realizados todos estos pasos cualquiera de las aplicaciones que ejecutemos, ya sea en modo gráfico o desde la terminal, se hará a través de nuestro proxy socks y desde nuestro túnel SSH. Si queréis hacer la comprobación tan solo tenemos que abrir nuestro navegador y comprobar la IP pública de nuevo.\nComo se puede ver en la captura de pantalla la IP pública no termina en 163. Termina en 243. Por lo tanto el tráfico circula a través del túnel SSH.\nNota: Usando este método garantizamos que la totalidad de trafico entrante y saliente de nuestro ordenador se recibe y transmite por el servidor proxy socks y el túnel SSH. En otras palabras estamos redireccionando la totalidad de tráfico TCP por nuestro túnel SSH. Usemos la aplicación que usemos nuestro tráfico pasará a través del servidor Proxy Socks. Una vez ya no necesitamos navegar a través de nuestro servidor proxy socks es indispensable realizar los siguientes pasos:\nNota: En caso de no realizar estos pasos cuando arranquen el ordenador no dispondrán de conectividad a Internet ya que el tráfico se redirigirá al proxy socks y no habrá ningún túnel SSH abierto para para poder enviar la petición. Abren una terminal y teclean el siguiente comando:\nsudo leadpad /etc/ld.so.preload Como se puede ver en la captura de imagen se abrirá un editor de texto que contiene la siguiente linea de texto “/usr/lib/libtsocks.so”:\nLo que tienen que hacer es borrar la linea /usr/lib/libtsocks.so. Una vez la han borrado completamente guardan el fichero.\nUna vez guardado el fichero el tráfico entrante y saliente ya no se redirigirá al servidor proxy socks. Como he dicho anteriormente, si no realizamos este paso, en el momento que se cierre el túnel o en el caso que reiniciemos el ordenador no tendremos Internet.\nLIMITACIONES DE TSOCKS Tsocks no es perfecto y tiene ciertas limitaciones. Tsocks no puede redirigir el tráfico a través del túnel SSH en la totalidad de aplicaciones.\nTsocks no podrá redirigir el tráfico por el túnel SSH como mínimo en los siguientes casos:\nEn el caso que aplicaciones que hagan uso de setuid. En el caso que las aplicaciones a utilizar no hagan uso de la función connect() de las funciones de red ya que el funcionamiento de tsocks se basa en sobreescribir la función connect(). Así por lo tanto cuando establecemos una conexión con el protocolo TCP, se sobreescribe la función connect() para que tsocks pueda determinar si la conexión se tiene que hacer a través del servidor proxy o no. La elección de si pasa por el proxy o no la hace en función de la configuración que hemos introducido en el fichero tsocks.conf. En el caso que alguna aplicación o servicio este usando el protocolo UDP. Tsocks solo puede redirigir tráfico con el protocolo TCP. Así por ejemplo en el caso que intentemos usar Chrome con tsocks el resultado que obtendremos es el siguiente:\nComo pueden ver no se puede establecer ninguna conexión.\nPara solucionar estos problema en futuros post detallaremos una opción alternativa a tsocks que es un poco más complicada de configurar pero que no presenta los inconvenientes mencionados. Esta opción alternativa se llama Redsocks y funciona de forma similar a un proxy transparente.\nCon redsocks conseguiremos que la totalidad del tráfico con el protocolo TCP de nuestro ordenador vaya por el túnel SSH y no tengamos las limitaciones de Tsocks.\n","permalink":"https://geeklandlinux.github.io/posts/redireccionar-trafico-tcp-con-tsocks/","summary":"\u003cp\u003eEn pasados post vimos como crear un túnel SSH y mediante un proxy socks local enviar la totalidad del tráfico de forma cifrada a través del túnel SSH que hemos creado, para de esta forma poder navegar de forma segura.\u003c/p\u003e\n\u003cp\u003ePero también vimos que hay \u003cstrong\u003eciertos programas que no tienen la opción de poderlos configurar para que funcionen a través de un proxy socks\u003c/strong\u003e y por lo tanto no es posible redirigir nuestro tráfico a través del túnel SSH.\u003c/p\u003e","title":"Redireccionar trafico a un proxy socks con tsocks"},{"content":"Hace aproximadamente un mes redacte un post en el que comentaba que era un tunel SSH y los usos más habituales que nosotros como usuarios comunes podemos darle. Ahora que conocemos que es y para que sirve un tunel SSH pasaremos a ver como hacer un tunel SSH. Antes de ver como se realiza el tunel es interesante que deis un vistazo al siguiente post para tener los conceptos claros:\nhttps://geeklandlinux.github.io/posts/que-es-y-para-que-sirve-un-tunel-ssh/\nUna vez leído el post nos imaginamos la siguiente situación. Estamos conectados y navegando por Internet en una cafetería y tenemos miedo que alguien que esté conectado en la misma red que nosotros pueda realizarnos un ataque, como por ejemplo un Man in the middle, para poder obtener datos confidenciales como por ejemplo podrían ser contraseñas, datos bancarios, etc.\nPara minimizar el riesgo en esta situación crearemos un tunel SSH para que la totalidad del tráfico entrante y saliente que generamos dentro de la red local viaje de forma cifrada por el interior del tunel. De este modo nadie de nuestra red local podrá husmear donde nos estamos conectando en realidad ni robarnos información confidencial. Para ello tenemos que seguir los siguientes pasos:\nDISPONER DE UN SERVIDOR SSH El servidor SSH lo podemos montar nosotros mismos tranquilamente en nuestra casa. Imaginemos que tenemos un servidor conectado las 24 horas o un ordenador que no le damos ningún uso. Si este es el caso lo encendemos.\nLo primero que tenemos que hacer es asegurar que nuestro ordenador dispone de un servidor SSH instalado. En la gran mayoría de distros de Linux el servidor SSH se instala por defecto al instalar el sistema operativo. En el caso que nuestra distro linux no tuviera un servidor SSH instalado tan solo tendríamos que abrir una terminal y ejecutar los siguientes comandos:\nsudo apt-get install openssh-server openssh-client Nota: Es necesario que tanto la parte del servidor como la parte del cliente tengan instalados los 2 paquetes que se acaban de mencionar. En caso contrario no podremos establecer el tunel. Una vez instalado el servidor será plenamente funcional. En principio podríamos entrar dentro del archivo de configuración del servidor para modificar ciertos parámetros introduciendo el siguiente comando en la terminal:\nsudo gedit /etc/ssh/sshd_config El objetivo de modificar ciertos parámetros es hacer más seguro nuestro servidor contra posibles ataques o accesos no deseados. No obstante el hecho de securizar el servidor SSH lo dejaremos para futuros post. La configuración estandard funcionará adecuadamente para el fin que nosotros necesitamos.\nDISPONER DE UN SERVICIO DNS DINÁMICO O UNA IP FIJA Una vez instalado el servidor SSH tenemos que hacer que nuestro servidor SSH sea accesible desde el exterior. En el caso que nuestro servidor no sea accesible desde el exterior nosotros no podríamos crear el tunel SSH desde la cafetería hasta el servidor SSH que tenemos en nuestra casa.\nSi disponemos de una conexión de Internet con IP Fija, cosa que es poco probable, tan solo tenemos que averiguar nuestra IP Pública. Para ello accedemos a la siguiente página web:\nhttp://www.vermiip.es/\nComo se puede ver en la captura de pantalla aparecerá nuestra IP Pública y al disponer de un servicio de IP Fija siempre tendremos la misma IP. Desafortunadamente la mayoría de ISP acostumbran a ofrecer sus productos básicos con IP Dinámica.\nEn el caso de disponer de una IP Dinámica para encontrar nuestro servidor SSH tendremos que usar un servicio DNS Dinámico tal y como se explica en el siguiente post:\nhttps://geeklandlinux.github.io/posts/encontrar-servidor-con-dns-dinamico/\nREDIRECCIONAR LA PETICIÓN DEL ROUTER AL SERVIDOR SSH Una vez conocemos nuestra IP Pública o una vez tengamos configurado el servicio dinámico DNS, entonces tenemos que entrar en la configuración del router y redirigir las peticiones de nuestra IP pública o dominio DNS a la IP interna del servidor SSH.\nPara ello primero tenemos que conocer la IP interna que tiene nuestro servidor SSH. Para conocer la IP interna del servidor SSH abrimos una terminal y tecleamos el comando:\nsudo ifconfig El resultado obtenido es el siguiente:\nComo se puede ver en la captura de pantalla la IP interna de nuestro servidor SSH es la 192.168.1.115.\nNota: En este paso tenéis que aseguraros que la IP interna de vuestro servidor sea Fija. Una vez conocemos la IP interna del servidor SSH accedemos a la configuración del Router abriendo el navegador e introduciendo nuestra puerta de entrada. Una vez introducida la puerta de entrada, que acostumbra a ser 192.168.1.1, tal y como podemos ver en la captura de pantalla tendremos que introducir nuestro nombre de usuario y contraseña:\nUna vez hemos accedido a la configuración del Router buscamos en el menú de nuestro router un apartado que ponga Virtual Servers. En mi router como se puede ver en la captura de pantalla se halla en Advanced Setup / NAT / Virtual Servers:\nUna vez dentro de Virtual Servers presionamos el botón Add para añadir nuestro servidor SSH. Una vez presionado el botón Add aparecerá la siguiente pantalla:\nComo se puede ver en la captura de pantalla en Server IP Address tendremos que indicar la IP interna de nuestro servidor SSH.\nEn seleccionar servicio elegimos la opción Secure Sheell Server (SSH). Al seleccionar esta opción la configuración de los protocoles y puertos se realizará automáticamente. Como se puede ver en la captura de pantalla el servicio SSH funciona mediante el protocolo TCP y el puerto 22.\nNota: En el caso que hagáis modificado el puerto estandard de funcionamiento del servidor SSH tendréis que sustituir el puerto 22 por el que habéis elegido. Una vez realizados los pasos tan solo tenemos que apretar el botón Save/Apply.\nCONFIGURAR EL FIREWALL PARA QUE PERMITA CONEXIONES ENTRANTES POR EL PUERTO 22 En el caso que nuestro servidor SSH disponga de un firewall tendremos que asegurar que permita conexiones entrantes y salientes por el puerto 22, o por el puerto que hayamos elegido en nuestro servidor SSH.\nSi el proceso lo vais a realizar con gufw pueden consultar al siguiente post para hacer que nuestro servidor permita las conexiones entrantes por el puerto 22.\nhttps://geeklandlinux.github.io/posts/configurar-el-firewall-gufw/\nEn el caso que prefieran hacerlo directamente con iptables tan solo tienen que usar las siguientes reglas para permitir el trafico entrante y saliente por el puerto 22 en nuestro servidor:\niptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT Nota: La introducción de las reglas que acabo de mencionar esta permitiendo al totalidad de tráfico y saliente por el puerto 22. Está no es la forma más segura de configurar nuestro servidor. En futuros post se abordará el tema de como securizar un servidor SSH. ESTABLECER EL TUNEL SSH Nota: Antes de iniciar el proceso tenemos que asegurarnos que nuestro ordenador (cliente) tenga los paquetes necesarios para poder poder establecer el tunel. Por lo tanto lo primero que tenéis que hacer es asegurar que tenéis instalado el paquete openssh-client. Una vez realizados todos los pasos correctamente ya podemos establecer el tunel SSH. Por la tanto una vez estamos conectados a la red local de la cafetería abriremos una terminal e introduciremos el siguiente comando:\nssh -p 22 -N -D 8081 joan@geekland.sytes.net Una vez introducido el comando en la terminal nos pedirá la contraseña de la cuenta de usuario del servidor SSH. Una vez introducida la contraseña el tunel se establecerá. Ahora tan solo tenemos que mantener la terminal abierta y sin cerrarla.\nEl significado de los términos introducidos en la terminal para establecer el tunel SSH es el siguiente:\n-p 22: Con este parámetro indicamos el puerto de escucha de nuestros servidor SSH. El puerto de escucha estándard acostumbra a ser el 22 para los servidores SSH. En el caso que hayamos modificado el puerto de escucha deberemos sustituir el 22 por nuestro puerto real de escucha.\n-D 8081: Estamos especificando que se realice un reenvio dinámico de puertos o tunel dinámico. Por lo tanto con este comando estamos indicando que el tunel SSH se establezca a través del puerto local 8081. En el puerto 8081 habrá un servidor proxy socks que escuchará las conexiones del puerto 8081. Cuando el servidor proxy socks detecte una solicitud o conexión en el puerto 8081 enviará el tráfico cifrado a través del tunel SSH que creamos entre la cafetería y nuestra casa. Una vez la petición/información llegue a nuestra casa o servidor SSH, como hemos establecido un tunel dinámico, se redirigirá al sitio de Internet que queremos conectarnos que por ejemplo podría ser Facebook o Twitter.\nNota: Estamos usando el puerto 8081 pero se puede usar cualquiera de los puertos no privilegiado que van desde el 1025 al 65535. En el caso de querer usar un puerto privilegiado deberemos hacerlo como root añadiendo sudo al inicio comando para establecer el tunel SSH. Nota: El servidor local Proxy Socks es quien realmente está enviando el trafico de nuestro ordenador al servidor SSH que está en una red local segura. Por lo tanto la información que reciba el servidor proxy socks a través del cliente, que en este caso es Firefox, debe enviarse con el protocolo Socks. Por lo tanto los clientes como Firefox u otros deberán ser capaces de enviar sus peticiones a través del protocolo socks. En el caso que la aplicación no soporte la comunicación con el protocolo socks no se podrá establecer la conexión. Para aplicaciones que no soporten socks tenemos la opción de usar tsocks en nuestro ordenador. En futuros post comentaremos como usar tsocks. -N: Permite que se establezca el tunel SSH pero que no se abra una sesión interactiva con el servidor SSH. En el caso de no usar esta opción, nuestra conexión SSH estará permanentemente abierta y si alguien nos robará el ordenador o nos despistaros y alguien malintencionado tuviera acceso al ordenador nos podría por ejemplo borrar completamente la información que tenemos almacenada en nuestro servidor SSH.\njoan: Es simplemente la cuenta de usuario del servidor SSH.\ngeekland.sytes.net: Simplemente es el dominio de nuestro servicio dinámico DNS el cual apunta a la IP Pública del servidor SSH. En el caso de tener IP Fija en vez del dominio tendréis que introducir vuestra IP Pública.\nCONFIGURAR EL NAVEGADOR PARA QUE FUNCIONE ADECUADAMENTE A estas alturas el tunel ya se ha establecido. Ahora el siguiente paso es configurar cada una de las aplicaciones que queremos que funcionen a través del tunel SSH. En este caso nosotros vamos a usar el navegador Firefox.\nPara conseguir que Firefox funcione a través de un proxy socks y la totalidad de tráfico generado y recibido se envíe a través del tunel SSH lo vamos a realizar a través de una extensión que se llama FoxyProxy.\nNota: En el caso que uséis Chrome o Chromium solo comentar que también existe Foxyproxy. Para Chrome o Chromium existe una alternativa similar a Foxyproxy que se llama Proxy Switchy. Con Proxy Switchy el procedimiento es muy similar a FoxyProxy. El primer paso que haremos es abrir el navegador Firefox. Tal y como podemos ver en la captura de pantalla accedemos al menú de Complementos:\nUna vez estamos dentro del menú de complementos nos ubicamos encima del cuadro de búsqueda del extremos superior derecho y escribimos Foxy Proxy. Seguidamente presionamos Enter:\nComo se puede ver en la captura de pantalla una vez terminada la búsqueda tan solo tenemos que presionar el botón de Instalar y seguidamente reiniciaremos el navegador. Una vez reiniciado el navegador veremos que aparece el icono que selecciono con el puntero del mouse en la captura de pantalla:\nPresionamos el botón de FoxyProxy con el botón izquierdo del mouse. Una vez presionado el botón aparecerá la siguiente pantalla:\nComo se puede ver en la captura de pantalla anterior apretamos el botón de Añadir nuevo Proxy. Una vez presionado el botón aparecerá la siguiente pantalla que es donde vamos a configurar Firefox:\nSi observamos la captura de pantalla podremos ver la configuración que tenemos que introducir. Primero de todo tenemos que tildar la casilla de configuración manual del proxy. A continuación como el servidor proxy socks actuará localmente en nuestro ordenador en el apartado Host or IP address tenemos que introducir 127.0.0.1. Como el tunel SSH lo hemos abierto a través del puerto 8081 en la celda puerto tenemos que introducir el número de puerto 8081. Para finalizar tan solo tenemos que tildar la opción ¿proxy socks? y seleccionar la opción Socks v5 ya que la versión 5 del protocolo socks es más moderna y ofrece mayor seguridad que la versión 4.\nUna vez realizados todos los pasos presionamos el botón Aceptar. Seguidamente aparecerá una ventana adicional en la cual tendremos que seleccionar la opción Aceptar de nuevo. Una vez realizado este paso el proceso de configuración a finalizado. Cerramos el navegador y lo volvemos abrir de nuevo.\nJusto al abrir el navegador analizamos cual es nuestra IP. Para ello accedemos a la siguiente página web:\nhttp://www.vermiip.es/\nEl resultado obtenido es el siguiente:\nComo se puede ver en la captura de pantalla nuestra IP es XX.XX.XX.163 . Seguidamente nos conectamos a través del tunel SSH y comprobamos de nuevo nuestra IP.\nPara hacer que el tráfico entrante y saliente de Firefox circule por el tunel SSH, como se puede ver en la captura de pantalla lo único que tenemos que hacer es dar click con el botón derecho encima del icono de Foxy Proxy y seleccionar la opción que contiene los datos 127.0.0.1:8081. Una vez seleccionada la opción pasamos de nuevo a comprobar nuestra IP y el resultado es el siguiente:\nComo se puede ver ahora nuestra IP pública ahora es diferente. Antes terminaba en 163 y ahora termina en 243. Este hecho es indicativo que todo está funcionando a la perfección. La IP que podréis visualizar es la IP de vuestro servidor SSH.\nEn el caso que queramos que Firefox vuelva a utilizar la configuración estándard y que no se use el tunel SSH para enviar y recibir nuestro tráfico, como se puede ver la captura de pantalla, tan solo tenemos que volver a presionar el botón derecho del mouse encima del icono de FoxyProxy y seleccionar la opción Deshabilitar FoxyProxy completamente :\nNota: En el caso que estemos navegando y nuestro servidor SSH se cayera no hay que temer por nada. En el momento que se cayera el servidor SSH simplemente no podríamos navegar. Por lo tanto en principio nunca estaremos expuestos a los ataques que nos puedan lanzar otros usuario de la red local dónde estemos. Nota: Lo que se puede hacer es dejar configurado permanentemente Firefox para navegar a través del tunel SSH y siempre que tengamos necesidad de navegar en una red insegura usaremos Firefox. Si estamos navegando en una red local segura podemos usar Chrome, Chromium, Opera u otro navegador. COMPROBACIÓN DE LOS BENEFICIOS DEL TUNEL SSH Por si os queda alguna duda de si puede ser efectivo un tunel SSH os voy a enseñar un fácil ejemplo de lo efectivo que puede llegar a ser.\nImaginemos que estamos conectados en la cafetería y queremos entrar en un foro de Lubuntu.\nComo se puede ver en la captura de pantalla, para acceder al foro de Lubuntu estamos introduciendo nuestro número de usuario y contraseña. Una vez introducidos accederemos dentro del foro. ¿Pero que pasa si alguien esta esnifando el tráfico que generamos? Pues pasará lo siguiente:\nComo se puede ver en la captura de pantalla alguien ha estado esnifando nuestro tráfico con el sniffer wireshark. Si observamos la captura de pantalla podemos ver que el paquete 8 contiene nuestro usuario y contraseña del foro de Lubuntu. Por lo tanto un atacante real se podría haber apoderado de nuestro usuario (password) y contraseña (password) de forma muy simple.\nNota: Muchos pensarán que la página web no disponía de cifrado SSL por ejemplo, pero la verdad es que hoy en día incluso con páginas cifradas con SSL nos pueden llegar a robar nuestras contraseñas con SSLstrip. Ahora llega el momento de preguntarnos que pasaría si alguien se dedicara a esnifar el tráfico cuando nosotros estamos navegando a través del tunel SSH.\nPara hacer la comprobación volveremos a entrar en el Foro de Lubuntu. Igual que como hicimos con anterioridad al acceder al foro introduciremos nuestro nombre y contraseña y accederemos al foro.\nAhora pasaremos a ver lo que un posible atacante podría haber capturado:\nComo se puede ver en la captura de pantalla de la totalidad de paquetes esnifados no hay ninguno de color verde que son los que corresponden al protocolo http. Lo que si podemos observar es que ahora la mayoría de paquetes usan el protocolo SSH y además en información podemos leer la palabra Encrypted Response. Además si intentáramos reconstruir cualquiera de los paquetes con el protocolo SSH el resultado seria completamente ilegible.\nAdemás si realizamos un filtro por tipo de paquete podemos ver que no se ha capturado ni un solo paquete http que son los que acostumbran a contener información en texto plano como por ejemplo passwords, nombres de usuario, etc.\nPor lo tanto realizada esta pequeña prueba podemos afirmar que en estos momentos es mucho más difícil ser espiado y ser atacado por usuarios que están conectados dentro de nuestra misma red local.\nSOLUCIÓN PARA APLICACIONES QUE NO SOPORTAN SOCKS Como se ha visto en el post tenemos que configurar cada una de nuestras aplicaciones para que funcione a través del tunel SSH que hemos creado, pero ¿qué pasa en el caso que ciertas aplicaciones como por ejemplo Midori o Pidgin no tengan esta opción?\nLa solución a este problema se llama tsocks. En futuros post veremos que utilizar tsocks para enviar la totalidad del tráfico entrante y saliente a través de nuestro tunel SSH para la totalidad de aplicaciones instaladas en nuestro ordenador.\n","permalink":"https://geeklandlinux.github.io/posts/establecer-un-tunel-ssh/","summary":"\u003cp\u003eHace aproximadamente un mes redacte un post en el que comentaba que era un tunel SSH y los usos más habituales que nosotros como usuarios comunes podemos darle. Ahora que conocemos que es y para que sirve un tunel SSH pasaremos a ver como hacer un tunel SSH. Antes de ver como se realiza el tunel es interesante que deis un vistazo al siguiente post para tener los conceptos claros:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"/posts/que-es-y-para-que-sirve-un-tunel-ssh/\"\u003ehttps://geeklandlinux.github.io/posts/que-es-y-para-que-sirve-un-tunel-ssh/\u003c/a\u003e\u003c/p\u003e","title":"Establecer un tunel ssh"},{"content":"En el siguiente post veremos como cifrar mails con enigmail de forma fácil y prácticamente automática. Antes de proceder a aplicar el tutorial es altamente recomendable que consultéis y deis una lectura al siguiente post:\nhttps://geeklandlinux.github.io/posts/razones-para-cifrar-y-firmar-mail/\nEn el caso de no leer el post recomendado es posible que os perdáis y no os enteréis de lo que estáis realmente haciendo y porqué lo estamos haciendo.\nNota: El proceso de cifrado se realizará usando OpenPGP. Nos focalizaremos con OpenPGP por ser un protocolo no propietario que funciona a la perfección. Una alternativa a OenPGP puede ser S/MIME. S/MIME es soportado de serie por varios clientes de mail como pueden ser Outlook o Thunderbird. REQUISITOS PARA PODER CIFRAR MAILS Los requisitos para poder cifrar mails y firmarlos de forma sencilla y de forma automática son los siguientes:\nTener instalado el gestor de correo Thunderbird. Instalar Enigmail. Enigmail es una extensión del correo del gestor de correo de Thundebird. Tener instalado el paquete GnuPG. La totalidad de distros Linux disponen de este paquete en sus repositorios. Los más probable es que ya lo tengan instalado por defecto. Por lo tanto solamente precisamos cumplir los requisitos mencionados en estos tres puntos. Los requerimientos son los mismos usemos el sistema operativo que usemos.\nNota: Si quisiéramos hacer el proceso de forma manual vía terminal únicamente necesitaríamos instalar el paquete GnuPG. Existen otras alternativas de cifrado que se pueden consultar al siguiente post: https://geeklandlinux.github.io/posts/razones-para-cifrar-y-firmar-mail/ INSTALAR THUNDERBIRD O ICEDOVE Es probable que la distro que tengáis ya tenga Thunderbird instalado por defecto. En el caso que no lo tengáis instalado tan solo tenéis que abrir una terminal e introducir los siguientes comandos para su instalación:\nsudo apt-get install thunderbird thunderbird-l10n-es En el caso de usar Debian usaremos Icedove en vez de Thundebird. Para instalar Icedove simplemente tendremos que introducir las siguientes ordenes en la terminal:\nsudo apt-get install icedove icedoce-l10n-es En el caso que queráis usar thunderbird y no esté en vuestros repositorios podéis instalarlo siguiendo los pasos que se mencionan en el siguiente tutorial:\nhttps://geeklandlinux.github.io/posts/instalar-firefox-y-thunderbird-en-debian-facilmente/\nEn el caso que tengáis Mac o Windows podéis descargar los binarios de Thunderbird del siguiente enlace:\nhttp://www.mozilla.org/es-ES/thunderbird/\nCONFIGURAR NUESTRA CUENTA DE CORREO A estas alturas ya tenemos instalado Thunderbird en nuestro ordenador. Ahora procederemos a configurar nuestra cuenta de correo para que podamos usar Thunderbird si ningún problema.\nAcabamos de crear una cuenta de correo en Gmail que es la siguiente:\naaurelio956\u0026quot;arroba\u0026quot;gmail.com\nAccedemos dentro de la cuenta de Gmail para asegurarnos que tenemos IMAP habilitado. Para ello como se puede ver en la captura de pantalla damos clic encima del icono de configuración.\nDespués de dar un click sobre el icono de configuración se desplegará un menú y elegiremos la opción Configuración.\nSeguidamente aparecerá la captura de pantalla que podéis ver a continuación:\nEn esta pantalla tendremos que elegir la opción reenvío de correo POP/IMAP.\nJusto al elegir esta opción aparecerá otra pantalla. En la otra pantalla, tal y como podemos ver en la captura de pantalla, tenemos que elegir Habilitar IMAP y seguidamente tenemos que presionar el botón Guardar los cambios.\nINTRODUCIR NUESTRA CUENTA EN THUNDERBIRD Para introducir nuestra cuenta de correo en Thunderbird lo primero que tenemos que hacer ejecutar Thunderbird. Al ser la primera vez que lo ejecutamos no habrá ninguna cuenta configurada y os aparecerá una pantalla parecida a la siguiente:\nPara introducir nuestro cuenta de correo en Thunderbird, como se puede ver en la captura de pantalla, tendremos que apretar sobre el botón Crear una cuenta nueva.\nSeguidamente aparecerá una la siguiente ventana:\nEn esta ventana Thunderbird no está ofreciendo la posibilidad de hacernos una cuenta de correo en gandi.net o en Hover.com. Como nosotros ya tenemos nuestra cuenta con Gmail simplemente apretaremos el botón Saltarse esto y usar mi cuenta de correo existente.\nUna vez seleccionada la opción aparecerá la siguiente pantalla donde tendremos que introducir los datos de nuestra cuenta de gmail, hotmail, yahoo, etc. Una vez introducidos los datos apretamos el botón de continuar.\nEntonces aparecerá la siguiente pantalla:\nEn esta pantalla Thunderbird nos ofrecerá una configuración predefinida para el servidor entrante y para el servidor saliente. En el caso de usar Gmail la configuración standard funcionará a la perfección. Por lo tanto como se puede ver en la captura de pantalla tan solo tenemos que presionar el botón Hecho.\nNota: En este último pasó comprobad que tengáis tildada la opción IMAP. IMAP considero que es más interesante que POP3 ya que el protocolo IMAP, ente otras cosas, nos permitirá que varios clientes puedan tener acceso a la misma cuenta de correo. Nota: En el caso que la configuración estandard no funcione deberéis proceder a realizar una configuración manual de los servidores entrantes y salientes. En estos momentos como se puede ver en la captura de pantalla nuestra cuenta está debidamente configurada y funcionando.\nINSTALAR EL PAQUETE GnuPG Para proceder al cifrado y firma de mails tendremos que instalar el paquete GnuPG. Para ello en Linux tenemos que abrir una terminal e introducir el siguiente comando:\nsudo apt-get install gnupg Como pueden ver en la captura de pantalla en mi caso ya lo tenia instalado. Asegurad que lo tengáis instalado.\nEn el caso de tener Windows podéis descargar el archivo los ejecutable de GnuPG del siguiente link:\nftp://ftp.gnupg.org/gcrypt/binary/\nEn el caso de usar MAC podéis descargar el archivo binario del siguiente link:\nhttps://gpgtools.org/\nINSTALAR LA EXTENSIÓN ENIGMAIL Para instalar la extensión Enigmail en Thunderbird, como se puede ver en la captura de pantalla, tenemos que seleccionar el menú Herramientas:\nDentro del menú Herramientas elegiremos la opción Complementos. Seguidamente, tal y como se puede ver en la captura de pantalla, en el cuadro de búsqueda buscaremos la extensión Enigmail.\nUna vez a encontrada la extensión Enigmail tal y como se puede ver en la captura presionamos el botón de instalar:\nUna vez se haya instalada la extensión, tendremos que reiniciar Thunderbird presionado el link Reiniciar ahora.\nGENERAR UN PAR DE CLAVES Una vez reiniciado Thunberbird observareis que aparece un menú que se llama llama OpenPGP:\nTal y como se puede ver en la captura abrimos el menú OpenPGP y seleccionamos la opción Administración de Claves del desplegable. Justo al hacer esto aparecerá la siguiente pantalla:\nComo se puede ver en la captura de pantalla para generar la claves tenemos que acceder al menú Generar y dentro del menú Generar elegiremos la opción Nuevo par de claves. Seguidamente aparecerá el siguiente cuadro de dialogo para la configuración del par de claves:\nEn el cuadro de diálogo que aparece tendremos que especificar las siguientes preferencias:\nCuenta / ID usuario: Asegurar que en este apartado tenemos seleccionado el email para el cual queremos usar el par de claves que vamos a crear. En mi caso el email es aaurelio956\u0026quot;arroba\u0026quot;gmail.com Usa la clave generada para la identidad seleccionada:* En este caso tildamos la casilla ya que las claves las queremos usar para el email aaurelio956\u0026quot;arroba\u0026quot;gmail.com. Frase Clave: Tendremos que introducir una contraseña para nuestra clave privada. Siempre que tengamos que hacer uso de la clave privada se nos pedirá la contraseña. Considero importante que introduzcáis una contraseña. Es importante ya que si alguien os roba o quiere usar vuestra clave privada no podrá ya que cuando la vaya a usar le pedirá una contraseña y no la sabrá. Nota: Si alguien considera engorroso tener que ir introduciendo la contraseña cada vez que se haga uso de la calve privada, puede tildar la opción Sin frase clave. La única pega que esto puede tener es que una tercera persona haga un uso fraudulento de vuestra clave privada como por ejemplo leer vuestros mails cifrados, enviar mails haciéndose pasar por vosotros, etc. Tiempo de expiración de la clave: En este campo deberemos elegir el tiempo que serán válidas las claves que generaremos. Como esta cuenta de correo solo la he creado para redactar este post voy a elegir que las claves creadas caduquen en 30 días. Vosotros podéis elegir otras opciones como por ejemplo toda la vida, 5 años, etc.\nUna vez seleccionadas estas opciones clicaremos sobre la pestaña Avanzadas. Después de clicar la pestaña Avanzadas aparecerán las siguientes opciones en el cuadro de dialogo:\nEn el nuevo cuadro de diálogo tenemos que seleccionar el tipo de cifrado que queremos aplicar a nuestro emails y la fortaleza del cifrado. Para ello tenemos las siguientes opciones:\nTamaño de la clave: Podemos elegir las opciones 1024, 2048 y 4096. Cuanto más grande sea la clave mayor más segura será. En mi caso como tamaño he elegido 2048 ya que es más que suficiente.\nTipo de la clave: Tenemos 2 tipos de cifrado a elegir. El RSA y el DSA El Gamal. En mi caso he elegido el tipo RSA.\nUna vez configurados los cuadros de diálogo tan solo tenemos que presionar el botón Generar Clave. El proceso para generar la clave se puede dilatar durante 5 o 10 minutos en función de la fortaleza del cifrado que hayas elegido.\nAl terminar de generar la clave nos aparecerá la siguiente advertencia en pantalla:\nLa advertencia nos está preguntando si queremos generar un certificado de revocación del par de claves que acabamos de generar. Nosotros lo vamos a crear. Para crear el certificado tan solo tenemos que presionar el botón Generado Certificado. Después de presionar el botón nos preguntará la ubicación donde queremos guardar el certificado. Una vez elegida la ubicación presionamos el botón Guardar. Una vez presionado el botón guardar, si hemos decido introducir, una frase clave nos la preguntará. Una vez introducida la frase clave el certificado de revocación se descargará en la ubicación elegida.\nNota: El certificado de revocación es el único medio con el que podemos anular nuestro par de claves. Por lo tanto en el caso que perdamos nuestro par de claves o una tercera persona nos las robe con el certificado de revocación podremos anular las claves para que nadie pueda hacer un uso fraudulento de ellas. A estas alturas ya nos podemos ir al administrador de claves de OpenPGP. Para acceder al administrador de claves accedemos al menú OpenPGP y clicamos en Administración de claves. Seguidamente veremos que nuestras claves ya han sido generadas:\nEn el caso que queramos guardar una copia de nuestra clave pública y privada tan solo tenemos que seleccionar nuestra clave, presionar el botón derecho del ratón y seleccionar exportar claves a un fichero. Seguidamente aparecerá el siguiente menú:\nComo queremos exportar tanto nuestra clave pública como nuestra clave privada seleccionaremos la opción Exportar Claves Secretas. Si quisiéramos exportar solo nuestra clave pública elegiríamos la opción exportar sólo Claves Públicas.\nFinalmente seleccionamos la ubicación donde queremos exportar/descargar nuestras claves y listo.\nOPCIONES DE CONFIGURACIÓN EN LOS ENVÍOS DE MAILS Seguidamente pasamos a configurar OpenPGP. Para configurar OpenPGP, tal y como podemos ver en la captura de pantalla, tenemos que acceder al menú Editar.\nSeguidamente Elegiremos la opción Configuración de las cuentas. Una vez elegida está opción nos aparecerá la siguiente pantalla:\nEn la parte izquierda de la captura de pantalla seleccionamos al opción Seguridad OpenPGP. En la parte derecha de la pantalla aparecerán una serie de opciones para configurar de forma predeterminada el uso de OpenPGP.\nLas opciones que aparecerán son las siguientes:\nActivar soporte OpenPGP para esta entidad: Si queremos cifrar mails y firmar mensajes nos tenemos que asegurar que está opción está tildada. Usar un ID de clave OpenPGP específico: Tenemos que asegurarnos que esta celda está marcada. También tenemos que asegurarnos que el número de ID sea el mismo que el de la clave que acabamos de generar. Para ello podemos apretar el botón seleccionar clave. Aparecerá una pantalla donde figuran todas las claves disponibles en nuestro sistema. Ahora tan solo tenemos que seleccionar la clave que acabamos de crear. Firmar mensajes sin cifrar por defecto: Si tildamos esta opción cuando enviemos un mensaje se firmará automáticamente. Particularmente prefiero no tildar esta opción. Prefiero introducir la firma mientras estoy escribiendo el mail. Firmar mensajes cifrados por defecto: Si tildamos esta opción cuando enviemos un mail cifrado se firmará automáticamente sin que nosotros tengamos que indicarselo manualmente. Personalmente tengo activada esta opción. Cifrar mensajes por defecto: Si tildamos esta opción cuando enviemos un mail el proceso de cifrado se hará de forma automática. Personalmente prefiero no tildar esta opción ya que no hay mucha gente que disponga de claves públicas que nos permitirán cifrar mails. Por lo tanto en el caso que quiera cifrar un mail lo haré manualmente cuando esté redactando el correo. Usar siempre PGP/MIME: Si tildamos esta opción nuestros mensajes se cifraran con PGP/MIME mientras que si no la tildamos se cifrarán con PGP/INLINE. Si usamos PGP/MIME los adjuntos de los mails y otras características se cifrarán juntamente con el mensaje. Esto tendrá la ventaja que al recepcionar un correo cifrado tan solo será necesario un proceso de descifrado para poder ver la totalidad del contenido del mail. Si usamos PGP/INLINE se cifrará cada parte del mail por separado, por lo tanto si el mail tiene texto plano y 2 documentos adjuntos cada uno se cifrará por separado y cuando el destinatario reciba el mail tendrá que descifrar el contenido por pasos. Primero descifrará el texto plano y a posteriori tendrá que ir descifrando adjunto por adjunto cosa que es un poco engorroso. A piori es mejor usar usar PGP/MIME pero hoy en día aún existen gestores de correo que no soportan PGP/MIME. Si usamos PGP/Inline tendremos la ventaja de tener total compatibilidad y tener la seguridad de poder descifrar siempre al vuelo los mensajes cifrados de texto plano. Particularmente tengo destilada esta opción ya que si alguien usa k9mail en su teléfono le será mucho más fácil leer nuestros mensajes. Aquí tendréis que probar y elegir lo que más os convenga. Nota:Algunos de los gestores de correo que soportan PGP/MIME son Apple Mail, Kmail, Evolution, Sylpheed, Thunderbird, etc. Nota: No es necesario entrar en configuraciones avanzadas. En las opciones avanzadas simplemente tendremos la opción de configurar que se adjunte la clave pública en la totalidad de nuestros mensajes. En el caso que queramos enviar un mail con una configuración distinta a la estándard que acabamos de definir es muy fácil:\nTal y como se puede ver en la captura de pantalla, mientras estamos redactando el mensaje tan solo tenemos que apretar al botón de OpenPGP y podremos elegir las opciones que creamos convenientes.\nINTRODUCIR CONFIGURACIONES EN FUNCIÓN DEL DESTINATARIO DEL EMAIL Una vez sabemos que hay un usuario que no tiene problema en recibir y contestar mails cifrados podemos introducir reglas en función de los usuarios.\nPara ello como podemos ver en la captura de pantalla accedemos al Menú OpenPGP y elegimos la opción Editar reglas por destinatario. Seguidamente aparecerá la siguiente pantalla:\nEn esta pantalla tan solo tenemos que apretar el botón Añadir. Una vez apretado el botón aparecerá el siguiente menú:\nEn el siguiente menú simplemente tenemos que introducir las reglas que queremos para cada uno de los usuarios. Tal y como se puede ver en la captura de pantalla cuando enviemos un correo a la cuenta geekland.hol.es\u0026quot;arroba\u0026quot;gmail.com usaremos la clave pública 0x45B38A99 para cifrar los correos. Los correos que enviaremos a esta cuenta siempre irán firmados, cifrados y usando PGP/MIME independientemente de la configuración estandard que tengamos. Este hecho ayuda a automatizar completamente el envío de mails cifrados y firmados en función del destinatario.\nCOMO ENVIAR UN CORREO CIFRADO Y FIRMADO Una vez finalizado el proceso de configuración ya podemos enviar nuestro primer mail cifrado y firmado.\nPara realizarlo es muy fácil. Tal y como vemos en la captura de pantalla simplemente tenemos que redactar un mensaje normal y corriente. Cuando terminemos clicamos al botón de OpenPGP y elegimos si queremos firmar y cifrar el mensaje.\nNota: En el caso que usemos reglas por usuarios, o en el caso que la configuración estandard sea la adecuada no será necesario clicar al botón de OpenPGP. Ahora solamente nos falta presionar el botón de Enviar y listo. Si hemos elegido una contraseña para proteger nuestra clave privada aparecerá una ventana y seguidamente tendremos que introducir la contraseña que hayamos elegido.\nComo vemos en la última captura de pantalla estamos enviando un mail a la cuenta geekland.hol.es\u0026quot;arroba\u0026quot;gmail.com. Al ser la primera vez que enviamos un correo cifrado a esta cuenta veremos que cuando apretemos al botón de enviar nos aparecerá una advertencia de que no tenemos disponible la clave pública de esta cuenta de correo.\nCuando aparezca advertencia, tal y como se puede ver en la captura de pantalla, presionamos al botón descargar las claves que faltan.\nAl presionar el botón descargar claves aparecerá el siguiente menú.\nEn el siguiente menú tenemos que seleccionar uno de los servidores de claves que Thunderbird trae preconfigurado. Una vez elegido presionamos aceptar y se intentará descargar la clave pública de geekland.hol.es\u0026quot;arroba\u0026quot;gmail.com del servidor que hemos seleccionado.\nSi la clave de geekland.hol.es\u0026quot;arroba\u0026quot;gmail.com esta disponible en el servidor de claves se descargará y aparecerá la siguiente pantalla:\nSeguidamente seleccionamos la clave pública del destinatario que acabamos de descargar y apretamos en el botón Aceptar. Seguidamente el mail saldrá de nuestra bandeja de salida.\nNota: La segunda vez que enviemos el mail el proceso será mucho más fácil porqué ya tendremos nuestra clave pública del destinatario. Por lo tanto la segunda vez que enviemos el mail será tan fácil como escribir el mensaje y presionar el botón de enviar. Recordad que la condición sine qua non para enviar mails cifrados y firmados es disponer de vuestra clave privada y de la clave pública del destinatario. Nota: Para comprobar la firma de los mails recibidos será necesario establecer el nivel de confianza de la firma. COMO DESCIFRAR UN MENSAJE Una vez el destinatario reciba el correo se descifrará automáticamente. En el caso que el usuario haya elegido una contraseña para proteger su clave privada, tendremos que introducir la contraseña para descifrar el mensaje. En el caso que el mensaje no se os descifre automáticamente podéis comprobar que tengáis tildada la opción que se muestra en la siguiente captura de pantalla:\nCOMO DISTRIBUIR NUESTRA CLAVE PÚBLICA Como vimos en el pasado post y como hemos visto en este, es necesario que las personas que nos quieran enviar un mail dispongan de nuestra clave pública. Algunas de las formas para distribuir nuestra clave pública son vía mail o subiéndola a un servidor de claves públicas.\nPara poder proporcionar nuestra clave pública a través de un servidor de claves o vía mail tenemos que ir al menú OpenPGP y seguidamente elegir la opción Administración de claves. Al realizar está acción aparecerá la siguiente pantalla:\nSeleccionamos la clave que queremos exportar y presionamos el botón derecho del mouse. Como se puede ver en la captura de pantalla se desplegará un menú en el que tenemos las siguientes opciones:\nCopiar claves públicas al portapapeles: Si elegimos esta opción nuestra clave pública se copiará en nuestro portapapeles y la podremos enviar por mail a quien queramos. Exportar claves a un fichero: Si elegimos está opción nuestra clave pública se copiará en un archivo con extensión .asc que podremos proporcionar vía mail, pendrive, etc a quien queramos. Enviar Claves públicas por correo: Si elegimos esta opción se creará un archivo .asc con nuestra clave pública y se adjuntará automáticamente en un mail que podremos enviar a nuestros contactos. Subir claves públicas al servidor de claves: Si elegimos esta opción nuestra clave se subirá al servidor de claves que elijamos. De este modo cualquier persona que quiera enviarnos un mail cifrado o firmado podrá acceder al servidor y buscar nuestra clave. INFORMACIÓN QUE QUEDARÁ ALMACENADA EN LOS SERVIDORES DE GOOGLE Como se puede ver en la captura de pantalla el contenido que tenemos almacenado en los servidores de google está completamente cifrado.\nPor lo tanto podemos afirmar que google no podrá husmear en nuestro correo para según ellos ofrecer una publicidad adaptada a nuestros gustos y costumbres. Por lo tanto hemos comprobado que el cifrado y la firma aseguran la integridad de nuestros mensajes y nos proporcionan la privacidad que tanto estamos buscando.\nNota: Lo que digo para google es igualmente válido para el resto de servicios populares como pueden ser yahoo o hotmail. SEGURIDAD QUE NOS OFRECE EL TIPO DE CIFRADO QUE USAMOS A día de hoy con la tecnología disponible es prácticamente imposible romper el cifrado que hemos introducido en el mail que acabamos de enviar.\nIncluso con la totalidad de ordenadores existentes en el mundo trabajando de forma simultanea para descifrar nuestro mail se puede decir que tardarían millones de años en conseguirlo.\nA pesar de todo es previsible que cuando existan los ordenadores cuánticos, mediante la aplicación del algoritmo de Shor, se pueda descifrar fácilmente la encriptación que hemos introducido en nuestro mail. Afortunadamente aún quedan años para que esto pase.\nPara quien tenga interés sobre este tema puede consultar el siguiente enlace:\nhttp://www.aunclicdelastic.com/el-ordenador-cuantico-la-piedra-filosofal-del-siglo-xxi/\nParticularmente pienso que el enlace que acabo de proporcionar es un poco sensacionalista. Pero sin duda vale la pena leerlo.\nAYUDA PARA LAS PERSONAS QUE QUIERAN PROBAR EL MÉTODO DESCRITO Cualquier persona que quiera hacer pruebas sobre el procedimiento de enviar mails cifrados y firmados me puede enviar un email a la siguiente dirección:\ngeekland.hol.es\u0026quot;arroba\u0026quot;gmail.com\nCuando reciba el email les responderé indicándoles si el proceso se ha realizado correctamente o no. Mi clave pública la encontrarán en los servidores que trae por defecto Enigmail.\n","permalink":"https://geeklandlinux.github.io/posts/cifrar-mails-con-enigmal/","summary":"\u003cp\u003eEn el siguiente post veremos como cifrar mails con enigmail de forma fácil y prácticamente automática. Antes de proceder a aplicar el tutorial es altamente recomendable que consultéis y deis una lectura al siguiente post:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"/posts/razones-para-cifrar-y-firmar-mail/\"\u003ehttps://geeklandlinux.github.io/posts/razones-para-cifrar-y-firmar-mail/\u003c/a\u003e\u003c/p\u003e","title":"Cifrar mails con enigmal"},{"content":"Vista la situación actual en que la privacidad de Internet está más que en entredicho y en que entes poderosos hacen lo imposible para controlar la red es bueno que la gente empiece a tomar precauciones. Por este motivo he escrito una serie de post para que todo el mundo pueda aprender cifrar y firmar nuestro correo electrónico. Los post son los siguientes:\nMotivos principales por los que deberíamos cifrar y firmar nuestro correo electrónico. Cifrar y firmar nuestro correos electrónicos con enigmal. Nota: No es excusa no cifrar y firmar los correos electrónicos por tener conocimientos informáticos limitados. Si leen los post que he realizado verán que es sumamente fácil cifrar y firmar nuestros correos. Una vez lo tenemos todo configurado el proceso se hace de forma prácticamente automática. ¿POR QUÉ ES IMPORTANTE CIFRAR Y FIRMAR NUESTROS MAILS? El cifrado es importante ya que nos asegurará que solo la persona a que va destinado el correo pueda leerlo. Si ciframos nuestro correo con el método que mostraré en posteriores post podemos afirmar que es prácticamente imposible que terceras personas puedan leer nuestro correo. Ni tan siquiera Google lo podrá leer. Por lo tanto el cifrado garantizará la privacidad de nuestro correo electrónico.\nYa que Google no garantiza nuestra privacidad en los correos que tenemos almacenados en sus servidores tendremos que ser nosotros mismos quienes nos la garanticemos. A saber el uso que Google da al contenido de nuestros mails. Pero no hay que preocuparse ya que cifrando los correos es posible seguir disfrutando de los servicios de Google y otros servicios de mail sin tener los problemas de privacidad existentes en la actualidad.\nAdemás de cifrar nuestros mails también es importante que usemos una firma digital. El hecho de introducir una firma digital hará que la persona que reciba nuestro correo electrónico tenga la total seguridad que el mensaje proviene de la persona que ellos piensan y que durante el envío nadie haya interceptado y modificado el contenido original del mail.\nEs verdad que hoy en día la mayoría de servicios de correo electrónico ofrecen cifrado SSL. A pesar de esto algunos de estos servicios aún permiten el acceso a sus usuarios a través de conexiones inseguras http. Además hay que tener en cuenta que hasta que nuestro correo llega a su destinatario final habrá pasado por multitud de servidores y no es descartable que la conexión entre algunos de estos servidores no sea fiable dando la posibilidad a que una tercera persona intercepte, lea y modifique el contenido de nuestro mail. Por lo tanto el cifrar y firmar nuestros correos básicamente garantiza:\nLa integridad de los datos transmitidos. Nuestra privacidad. Proteger nuestra identidad y que nuestra información no pueda ser vendida a terceros ¿QUÉ ES EL CIFRADO? Muchos de vosotros se preguntará que es esto de cifrar los mails. Cifrar los mails es alterar el contenido que escribimos y adjuntamos de tal forma que si alguien lo intercepta sea totalmente irreconocible e ilegible para el interceptor. Un ejemplo muy básico de cifrado puede ser el siguiente:\nEn la figura, extraída de la wikipedia, se muestra el cifrado ROT 13. Se llama ROT 13 porqué Rota 13 posiciones las letras del alfabeto.\nAsí por ejemplo si tenemos el siguiente texto sin cifrar: Este ordenador\nUna vez aplicado el algoritmo de cifrado ROT13, mostrado en la figura anterior, tendremos el siguiente texto: Rfgr bwqranqbw\nEn este momento nosotros podríamos enviar tranquilamente el mensaje cifrado al destinatario. Una vez el destinatario reciba el mensaje lo deberá descifrar. Obviamente el destinatario tendrá los medios para descifrar nuestro mensaje. En caso de que una tercera persona interceptará el correo no pasaría nada ya que para el seria imposible entender el contenido que tiene el mail.\nNota: El ejemplo mostrado es un ejemplo de cifrado muy básico. El algoritmo de cifrado que nosotros aplicaremos para enviar mails es prácticamente imposible de romper a día de hoy. ¿QUÉ ES FIRMAR UN UN CORREO? Firmar un correo electrónico significa que estamos introduciendo una marca o fragmentos de código adicional a nuestro mensaje con el fin de validar nuestra identidad.\nEntonces cuando el destinatario reciba el mensaje podrá confirmar los siguientes aspectos del mensaje recibido:\nQue el mensaje recibido proviene de quien realmente dice ser. Que el mensaje proviene de una fuente segura. Que el mensaje no ha sido interceptado y modificado por una tercera persona. En apartados posteriores veremos con más detalle el funcionamiento del proceso de la firma. No obstante el proceso de la firma se puede explicar fácilmente usando el siguiente símil:\nLa firma de un correo es similar a enviar un sobre lacrado en el cual el lacrado tenga un distintivo único en el mundo y que solamente una persona pueda emitir. Por lo tanto en el momento que alguien intercepte el sobre, para modificar el contenido tendrá que sacar el lacrado. Una vez haya sacado el lacrado será imposible para esta persona volver a reproducir el mismo lacrado y por lo tanto cuando el destinatario final reciba el sobre verá que el lacrado no es el correcto y la información que hay en el mensaje es de dudosa fiabilidad.\nEXPLICACIÓN DEL FUNCIONAMIENTO DEL CIFRADO ASIMÉTRICO Existen diversos tipos de cifrado. Entre ellos podemos citar el cifrado tradicional, el cifrado simétrico o el cifrado asimétrico.\nEl funcionamiento de Enigmail y de OpenPGP se basa en el cifrado asimétrico y esto es muy buena noticia porqué el cifrado asimétrico es de los cifrados más seguros existentes en la actualidad. El cifrado asimétrico consiste en lo siguiente:\nEl remitente tendrá un par de claves únicas disponibles. Una de las claves será pública y la otra será privada. Igualmente el destinatario también dispondrá de 2 claves únicas disponibles. Al igual que el remitente una será una clave pública y la otra una clave privada. Bajo ningún concepto ni el destinatario ni el remitente proporcionarán a terceros su clave privada. Es de vital importancia que solamente nosotros tengamos acceso a la clave privada. Tanto el destinatario como el remitente distribuirán públicamente su clave pública. Las pueden subir a un servidor de claves, enviarla vía mail, pasarla con un pendrive, etc. Ahora suponemos que el remitente dispone de la clave pública del destinatario porqué como explicaba en el punto 4 este se la ha pasado vía mail, por ejemplo. El remitente redactará el mensaje al destinatario. Una vez haya escrito el mensaje lo cifrará con la pública del destinatario. El destinatario recibirá el correo cifrado del remitente. En principio no podrá leer el correo porqué el contenido está cifrado. Para descifrar el mensaje el destinatario usará su clave privada. La única forma de descifrar este mensaje será mediante la clave privada del destinatario. Gráficamente el proceso lo podemos representar de la siguiente forma:\nNota: Es importante que no se pierda la clave privada. En el caso de perder nuestra clave privada no podremos descifrar ninguno de los mensaje que estén cifrados. Además si alguien se apodera de nuestra clave privada podrá enviar correos haciéndose pasar por nosotros mismos. De aquí la importancia de no perder nunca nuestra clave privada. En caso de perder la clave privada tendremos que proceder a la revocación de la clave privada. Nota: En el caso que el remitente no disponga de la clave pública del destinatario entonces no se podrá cifrar el mail. Recordamos que el remitente usa la clave pública del destinatario para cifrar el mail de tal forma que solo la clave privada del destinatario podrá descifrar este mail. Nota: Es posible que en el futuro se publique algún post adicional para explicar el funcionamiento de PGP de una forma más teórica. EXPLICACIÓN DEL FUNCIONAMIENTO DE LA FIRMA DIGITAL El proceso de la firma del correo electrónico funciona de la siguiente forma:\nEn estos momentos ya sabemos que tanto el remitente como el destinatario disponen de un par de claves, una pública y otra privada. El remitente dispone de la clave pública del destinatario y viceversa. El remitente ahora procederá a firmar el correo que quiere enviar al destinatario. Para firmar el correo el remitente usará su propia clave privada. Con su clave privada introducirá código oculto en el mail que enviará. Esto código será primordial para validad nuestra identidad. El destinatario recibirá el correo firmado. El destinatario usará la clave pública del remitente para comprobar la validez de la firma o código oculto que el remitente ha introducido en el interior del mail. En el caso que la firma sea valida quiere decir que el mail proviene del remitente que esperamos, ya que solamente el remitente es capaz de generar la firma que llevará el mail. Gráficamente el procedimiento descrito lo podemos representar de la siguiente forma:\nOPCIONES QUE TENEMOS PARA CIFRAR Y FIRMAR LOS MAILS DE FORMA AUTOMATICA Existen varias opciones para cifrar y firmar nuestro correo electrónico. Algunas de ellas son:\nEn el caso de usar Android podemos usar la aplicación de correo k9mail y el programa APG. El proceso de cifrar y firmar los mails es prácticamente automático y apenas genera molestias ni tener que realizar pasos adicionales. Existen varias extensiones para los navegadores Chrome, Chromium y Firefox para poder cifrar y firmar los mensajes que enviamos y recibimos. Alguna de estas extensiones con las que podremos cifrar y firmar los correos de nuestras cuentas de Gmail, Yahoo o Hotmail son Mailvelope o Secure Gmail. Como pueden ver esta solución tiene la ventaja que no necesitamos instalar clientes de correo en nuestro ordenador y además es multiplataforma. En el caso de usar Microsoft Outlook también podemos usar ciertas extensiones. Algunas de ellas son GP4Win y Outlook Privacy plugin. También cabe destacar que Outlook de forma nativa permite cifrar y firmar mensajes. Finalmente otra opción interesante y muy recomendable es usar Thunderbird con la extensión Enigmail o WebPG for Mozilla. La opción de Thunderbird y Enigmail es la que estoy usando en la actualidad. Solo quiero remarcar que con esta opción el proceso de cifrar y firmar es prácticamente automático y tiene la ventaja que el software que usamos es open source y multiplataforma. Cabe destacar que Thunderbird también permite de forma nativa cifrar y firmar mails con S/MIME. No obstante prefiero usar enigmail ya que me permitirá de forma sencilla usar OpenPGP para cifrar mis mails. Recordad que OpenPGP es un protocolo no propietario. Una vez vista la parte teórica abordaremos la parte práctica. Para quien quiera abordar la parte práctica tan solo tiene que visitar el siguiente link:\nhttps://geeklandlinux.github.io/posts/cifrar-mails-con-enigmal/\nVeréis como de forma fácil y simple podemos cifrar y firmar nuestros mails.\nNota: En este post quiero destacar el gestor de correo k9mail. Quien todavía no lo haya probado que lo instale en su teléfono Android. Da mil vueltas a cualquier gestor de correo que existente en Android e iOS. Además K9mail es Open Source. FUENTES DE INFORMACIÓN https://www.mozilla-hispano.org/documentacion/Firma_y_cifrado_de_correos_electr%C3%B3nicos\n","permalink":"https://geeklandlinux.github.io/posts/razones-para-cifrar-y-firmar-mail/","summary":"\u003cp\u003eVista la situación actual en que la privacidad de Internet está más que en entredicho y en que entes poderosos hacen lo imposible para controlar la red es bueno que la gente empiece a tomar precauciones. Por este motivo he escrito una serie de post para que todo el mundo pueda aprender cifrar y firmar nuestro correo electrónico. Los post son los siguientes:\u003c/p\u003e","title":"Razones para cifrar y firmar mails"},{"content":"Hoy veremos como encontrar nuestro servidor en internet mediante un servicio de DNS dinamico. El motivo del post es que en las próximas semanas montaremos una serie de servidores en nuestra propia casa. El uso de los servidores que montaremos puede ser dentro de nuestra red local. ¿Pero que pasa si queremos acceder a nuestro servidor estando fuera de nuestra Red de área Local?\nLa respuesta es sencilla. En vez de usar nuestra IP privada tenemos que usar nuestra IP pública. Vamos a ver un ejemplo simple:\nImaginemos que tenemos un servidor SSH. Si nos queremos conectar a nuestro servidor SSH desde la red local. Simplemente tenemos que teclear el siguiente comando en la terminal:\nssh -p 22 joan@192.168.1.188 Como se puede ver en la captura de la imagen la conexión se ha realizado sin ningún problema.\nAhora imaginemos que estamos de viaje y queremos acceder nuestro servidor SSH. Como he sido previsor antes de irme de casa he entrado en la página http://www.vermiip.es/ y he anotado que mi IP Pública que es 185.144.255.663. Por lo tanto en el momento de acceder a mi servidor desde el hotel o cualquier otro sitio utilizare el siguiente comando en la terminal:\nssh -p 22 joan@185.144.255.663 Como se puede ver en la captura de la imagen la conexión no se puede llevar a término la conexión y os preguntareis ¿Por Qué?\nLa respuestas es simple. La gran mayoría de ADSL contratadas disponen de IP Dinámica. Esto significa que cada cierto tiempo nuestra IP Pública irá cambiando. Por lo tanto antes de irnos de viaje nuestra IP era la 185.144.255.663 pero actualmente ya no lo es porqué ha cambiado. Y la verdad es que es imposible averiguar nuestra nueva la IP pública. Por lo tanto nos encontraremos fracasados ya que no podremos acceder a nuestro servidor SSH porqué simplemente no podemos conocer su IP.\nNota: Una solución poco elegante al problema seria conectarnos por control remoto con teamviewer a nuestro servidor y averiguar la ip que tenemos En este post explicaremos como hallar la solución a este problema. Lo haremos mediante el servicio de DNS dinamico de NO-IP. Elijo este servicio por ser gratuito y porqué lleva muchísimos años funcionando y es difícil encontrar a alguien que hable algo malo de este servicio.\nCOMO FUNCIONA EL SERVICIO DE REDIRECCIONAMIENTO DNS DINAMICO Básicamente lo que hace un servicio de direccionamiento DNS dinamico es identificar la IP pública de nuestro servidor o PC con un nombre de dominio.\nEsto tiene básicamente 2 ventajas:\nLa primera es que no tenemos que recordad cual es nuestra IP para conectarnos desde el exterior a nuestro servidor local. Tan solo tendremos que que recordar un nombre de dominio como podría ser por ejemplo geekland.sytes.net La segunda gran ventaja es que el dominio geekland.sytes.net siempre estará asociado a nuestra IP Pública. Da igual que la IP Pública sea variable. En el momento que la IP pública del servidor cambie automáticamente el dominio se asociará a la nueva IP. Así por ejemplo después de usar el servicio de redireccionamiento DNS dinamico seremos capaces de acceder a nuestro servidor mediante el siguiente comando:\nssh -p 22 joan@geekland.sytes.net Nota: En la parte final del tutorial veremos como efectivamente nos podemos conectar. En el siguiente diagrama podemos ver el funcionamiento del redireccionamiento DNS dinamico:\nEn el diagrama podemos observar los siguientes puntos:\nNuestro servidor tiene un cliente NO-IP instalado en su interior. La función del cliente NO-IP que está instalado en nuestro servidor es ir enviado cada cierto tiempo nuestra IP Pública hacia al servicio de DNS dinamico NO-IP. De esta forma nuestro dominio siempre estará asociado a nuestra IP Pública. Un cliente, que podemos ser nosotros mismos, intenta conectarse a nuestro servidor SSH mediante nuestro dominio contratado en NO-IP (geekland.sytes.net). La forma de conectarse podría ser introduciendo ssh -p 22 joan@geekland.sytes.net en la terminal. Como se puede ver en el esquema, la petición de conexión al servidor SSH llegará al servicio DNS dinamico de NO-IP. Una vez ha llegado la petición lo que pasará es que el servicio DNS dinamico asociará el nombre de dominio con la última IP que el cliente NO-IP mencionado en el punto 1, le ha enviado. El servidor SSH recibe la petición por parte del cliente a través del servicio DNS dinamico. El servidor responde a la petición del cliente y se establece la conexión con el servidor SSH. Para ver como podemos hacer todo esto tan solo tenemos que seguir adelante con el tutorial.\nCOMO USAR EL SERVICIO DE REDIRECCIONAMIENTO DNS DINAMICO Darnos de alta al servicio DNS dinamico NO-IP Lo primero que tenemos que hacer es darnos de alta al servicio de direccionamiento DNS dinamico y crearnos un subdominio. Por lo tanto abriremos el navegador y visitaremos la siguiente página web.\nhttp://www.noip.com/\nNota: En el final del post se citan servicios DNS dinamico alternativos a NO-IP. Como se puede en la captura de pantalla una vez dentro de la página de NO-IP apretamos el botón de Sign Up Now.\nSeguidamente aparecerá el siguiente formulario para darnos de alta al servicio DNS dinamico:\nLos pasos a seguir para rellenar el formulario son los siguientes:\nPrimeramente introducimos el nombre de usuario que nos servirá para identificarnos en la web de NO-IP. Seguidamente tendremos que introducir una contraseña para poder acceder a la web y al servicio de DNS dinamico de NO-IP. La tercera cosa que tenemos que hacer es volver a introducir nuestra contraseña para verificar que no nos hemos equivocado al escribir la contraseña. A continuación pondremos nuestro correo electrónico para que nos envíen un correo electrónico de confirmación para poder activar el servicio DNS dinamico de NO-IP una vez nos hayamos dados de alta. Finalmente, como se puede ver en la captura de pantalla, en el apartado hostname seleccionaremos la opción “create my host later”. Seguidamente apretaremos el botón Sign Up que encontrareis al final de la página. Justo al apretar el botón aparecerá una imagen parecida a la siguiente:\nEn estos instantes nuestra cuenta ya ha sido creada. El paso siguiente es activar nuestra cuenta. Para ello abrimos nuestro correo electrónico y veremos que nos ha llegado un correo de NO-IP.\nAbrimos el correo. Una vez abierto, tal y como se puede ver en la captura de pantalla, tan solo tenemos que clicar al link que nos envían para poder activar la cuenta de DNS dinamico. Justo al clicar sobre el link se abrirá la siguiente pestaña en el navegador:\nComo se puede ver en la captura de pantalla nos aparecerá una advertencia de Host Creation Error. Esto es normal ya que en el momento de crear la cuenta hemos tildado la opción de crear nuestro dominio más tarde (create my host later). Cerramos la advertencia y pasamos a la creación del dominio o subdominio.\nCreación de un dominio Tal y como se muestra en la captura de pantalla, una vez cerrada la advertencia, introducimos el mail y la contraseña que hemos usado para registrarnos a NO-IP.\nUna vez introducido el mail y la contraseña nos aparecerá un entorno gráfico parecido al siguiente:\nPara crear nuestro dominio, tal y como se puede ver en la captura de pantalla, tenemos que apretar al botón Add a Host. Una vez presionado el botón aparecerá la siguiente pantalla en el navegador:\nEn esta pantalla es donde tenemos que elegir nuestro subdominio. En mi caso las opciones elegidas son las siguientes:\nComo se puede ver en la captura de pantalla el nombre de mi subdominio geekland.sytes.net.\nNota: Cuando entréis en el menú desplegable para seleccionar vuestro subdominio tenéis que tener en cuenta que el subdominio elegido sea gratuito. Los subdominio gratuitos aparecen en la parte final del desplegable. Una vez cumplimentado este paso tan solo tenemos que presionar el botón Add Host. Una vez presionado aparecerá las siguiente pantalla. En esto momento ya hemos creado nuestro subdominio.\nInstalar el cliente NO-IP en nuestro servidor Si habéis leído el post sabréis que alguien tiene que ir informando de nuestra IP pública al servicio de direccionamiento DNS dinamico. Este alguien puede ser nuestro Router o un cliente NO-IP instalado en nuestro ordenador o servidor.\nPor lo tanto lo primero que vamos a realizar es comprobar si nuestro router puede realizar esta operación. Para ello abrimos el navegador y como se puede ver en la imagen introducimos nuestra puerta de entrada en el navegador que en mi caso es 192.168.1.1.\nSeguidamente tendremos que entrar nuestro nombre de usuario y contraseña y podremos acceder a la configuración del Router. Una vez hemos accedido a la configuración del Router buscamos en el menú de nuestro router un apartado que ponga Dynamic DNS.\nUna vez encontrado el menú, como se puede ver en la captura de pantalla tenemos que apretar el botón Add. Una vez presionado el botón aparecerá la siguiente pantalla:\nVemos que hay un campo que pone D-DNS Provider. Si seleccionamos el Menú desplegable veremos que solamente aparecen las opciones DynDNS y TZO. Por lo tanto nuestro Router puede refrescar la IP periódicamente al servicio DNS dinamico pero solo en los casos que hayamos contratado el servicio en http://tzodns.com/ o en http://dyn.com/dns/\nPor lo tanto mi Router no está habilitado para funcionar con NO-IP. La solución a este problema es instalar en un cliente NO-IP que hará la misma función que podría realizar el router.\nEl primer paso a realizar para instalar el cliente NO-IP es acceder a la ubicación /usr/local/src/. Para ello abrimos una terminal y tecleamos:\ncd /usr/local/src/ Seguidamente descargaremos el cliente NO-IP que es quien periódicamente irá refrescando la IP de nuestro servicio DNS dinamico. Para descargarlo tenemos que teclear el siguiente comando en la terminal:\nsudo wget https://www.no-ip.com/client/linux/noip-duc-linux.tar.gz Seguidamente descomprimimos el archivo que acabamos de descargar introduciendo el siguiente comando en la terminal:\nsudo tar xf noip-duc-linux.tar.gz Una vez descomprimido el archivo entramos en la carpeta que acabamos de descomprimir. Para entrar en la carpeta tenemos que introducir el siguiente comando en la terminal:\ncd noip-2.1.9-1/ Seguidamente compilaremos e instalaremos el cliente NO-IP. Para ello en la terminal tecleamos el siguiente comando:\nsudo make install Durante el proceso de instalación tendremos que contestar a una serie de preguntas.:\nPregunta 1: Primeramente tendremos que introducir el email que hemos usado para suscribirnos al servicio de NO-IP. En mi caso será geekland.hol.es\u0026quot;arroba\u0026quot;gmail.com.\nPregunta 2: Seguidamente tendremos que introducir la contraseña de NO-IP.\nPregunta 3: Tendremos que definir la periodicidad con que el cliente NO-IP envía nuestra IP Pública al servicio de direccionamiento DNS. La opción predefinida es cada 30 minutos. Lo voy a dejar tal cual.\nPregunta 4: Para finalizar la última pregunta es si después de alguna actualización/modificación de NO-IP requerimos ejecutar algún comando adicional como por ejemplo podría ser reiniciar apache, etc. En mi caso responderé que no.\nAl finalizar todos estos pasos nuestro cliente NO-IP ya esta instalado y solamente nos falta ejecutarlo. En la siguiente imagen podréis ver los pasos que he ido siguiendo hasta el momento:\nAhora tan solo nos falta ejecutar el cliente NO-IP. Para ejecutarlo tan solo tenemos que teclear el siguiente comando en la terminal:\nsudo /usr/local/bin/noip2 El cliente NO-IP en estos momento ya está activo.\nPara confirmar que nuestro cliente está activo y que nuestro dominio resuelve nuestra IP, lo que podemos hacer es introducir el siguiente comando en la terminal:\nnslookup geekland.sytes.net Si todo funciona adecuadamente deberíamos obtener un resultado parecido al siguiente:\nNota: A priori el servicio funciona correctamente porqué como se puede ver en la imagen en el apartado address figura nuestra IP Pública. Cada vez que arranquemos nuestro servidor tendremos que ejecutar el cliente de forma manual. En el caso que queramos que el cliente NO-IP arranque de forma automática cada vez que arrancamos nuestro sistema lo podemos realizar de la siguiente manera:\nPaso 1: Tenemos que abrir un archivo de texto en nuestra ubicación Home. Dentro del archivo de Texto pegamos el siguiente script:\n#! /bin/sh # . /etc/rc.d/init.d/functions # uncomment/modify for your killproc case \u0026#34;$1\u0026#34; in start) echo \u0026#34;Starting noip2.\u0026#34; /usr/local/bin/noip2 ;; stop) echo -n \u0026#34;Shutting down noip2.\u0026#34; killall -TERM /usr/local/bin/noip2 ;; *) echo \u0026#34;Usage: $0 {start|stop}\u0026#34; exit 1 esac exit 0 Guardamos el archivo con el siguiente nombre:\n.noip.sh\nPaso 2: Abrimos una terminal y activamos el usuario root introduciendo el siguiente comando:\nsudo su Paso 3: Ahora copiamos el archivo .noip.sh dentro de la ubicación /etc/init.d/. Para ello en la terminal tecleamos:\ncp /home/tuusuario/.noip.sh /etc/init.d/noip.sh Nota: tusuario deberéis sustituirlo por vuestro nombre de usuario. Paso 4: Seguidamente damos los permisos de ejecución necesarios al script que hemos generado. Para ello los comandos que tenemos que introducir en la terminal son:\nchmod +x /etc/init.d/noip.sh chmod 0755 /etc/init.d/noip.sh Paso 5: Finalmente para introducir NO-IP en el proceso de arranque de nuestra computadora tan solo tenemos que introducir el siguiente comando en la terminal:\ncd /etc/init.d/ update-rc.d noip.sh defaults La próxima vez que arranquemos el ordenador, el cliente NO-IP arrancará automáticamente. Para quien quiera ver los pasos que he seguido les dejo la siguiente captura de pantalla:\nPaso 6: En principio ahora el cliente de NO-IP debería arrancar de forma automática. En el caso que llegue el día que queremos eliminar el proceso de nuestro inicio tan solo tentemos que ejecutar los siguientes comandos en la terminal:\nsudo su cd /etc/init.d/ update-rc.d -f noip.sh remove Nota: El proceso descrito tiene que funcionar sin problemas en la totalidad de distros que derivan de Debian como por ejemplo Ubuntu, Linux Mint, Crunchbang, etc. OTROS COMANDO ÚTILES DEL CLIENTE NO-IP Para cambiar la configuración del cliente de NO-IP podemos usar el siguiente comando:\nsudo /usr/local/bin/noip2 -C Al ejecutar este comando nos volverá a preguntar nuestro usuario de NO-IP, la contraseña, la frecuencia de actualización y si queremos ejecutar algún tipo de script cuando haya una actualización. En el caso de añadir nuevos host es necesario aplicar este comando para que el cliente NO-IP se percate de los cambios.\nOtro comando que nos puede ser útil para ver los clientes que actualmente tenemos en ejecución es el siguiente:\nsudo /usr/local/bin/noip2 -S COMPROBACIÓN QUE YA PODEMOS ACCEDER A NUESTRO SERVIDOR SSH Ya para finalizar vamos a comprobar que todo lo que hemos realizado funciona perfectamente. Para ello intentaremos acceder al servidor SSH que tenemos en nuestra casa desde un hotel ubicado en cualquier parte del mundo.\nAbrimos una terminal y tecleamos el siguiente comando para poder acceder a nuestro servidor SSH:\nssh -p 22 joan@geekland.sytes.net Tal y como se puede ver en la captura de pantalla hemos podido acceder al servidor usando nuestro subdominio creado en NO-IP. Por lo tanto la solución implementada funciona.\nNota: Para poder acceder a nuestro servidor desde el exterior tendremos que tener configurados nuestro Router y nuestro Firewall de forma apropiada. POSIBLES INCONVENIENTES QUE PUEDE TENER NO-IP La verdad es que el servicio de NO-IP es excelente. Los únicos inconvenientes o pegas que le podemos encontrar pueden ser las siguientes:\nEn el peor de los casos con la configuración que hemos elegido en el post nuestro servidor puede estar ilocalizable durante 30 minutos. Esto podría suceder en el caso que el cliente NO-IP enviará la IP pública al servicio DNS dinamico y justo después de enviarla, la IP pública de nuestro servidor SSH cambiara. Por lo tanto nuestro servidor no volvería a estar localizable hasta que el cliente NO-IP a los 30 minutos volviera a enviar nuestra IP pública al servicio DNS dinámico de NO-IP. Si esto lo consideras un problema muy importante podéis bajar la frecuencia de actualización del cliente NO-IP de 30 minutos a 10 minutos por ejemplo. Con una cuenta gratuita podremos generar hasta un máximo de 3 hosts. Si queremos disponer de más host deberemos pasar por caja. Cada 30 días tendremos que renovar el servicio. Nos llegaran varios emails de advertencia informándonos que tenemos que actualizar el servicio. El único motivo para este inconveniente es hacer limpieza de hostnames que nunca se usan. Si queremos evitar esta molestia la solución es pasar por caja. ALTERNATIVAS A NO-IP Para quien no le satisfaga el servicio de NO-IP les dejo el link de otras servicios similares:\nFreeDNS (Servicio Gratuito) EasyDNS (Servicio de Pago) ZoneEdit (Servicio Gratuito) DuckDNS (Servicio Gratuito) NameCheap (Servicio Gratuito) ChangeIP (Servicio Gratuito) DynDNS (Servicio de Pago) DynDNS (Servicio Gratuito) Dyns.cx (Servicio Gratuito) Static Cling (Servicio Gratuito) Nota: Los servicios que se mencionan no los he probado. Además las cuentas Free normalmente acostumbran estar sujetas a restricciones. Para más información podéis consultar las condiciones en las páginas web de cada uno de los servicios. Si googleais encontrareis otros servicios distintos a los mencionados.","permalink":"https://geeklandlinux.github.io/posts/encontrar-servidor-con-dns-dinamico/","summary":"\u003cp\u003eHoy veremos como encontrar nuestro servidor en internet mediante un servicio de DNS dinamico. El motivo del post es que en las próximas semanas montaremos una serie de servidores en nuestra propia casa. El uso de los servidores que montaremos puede ser dentro de nuestra red local. ¿Pero que pasa si queremos acceder a nuestro servidor estando fuera de nuestra Red de área Local?\u003c/p\u003e","title":"Encontrar servidor con DNS dinamico"},{"content":"En el siguiente post averiguaremos que es y para que sirve un túnel ssh. Además en las próximas semanas también publicaré una serie de post para solucionar los siguientes problemas:\nComo podemos montar y configurar nuestro propio servidor SSH. Como podemos establecer un túnel SSH (Secure SHell) para poder navegar de forma segura cuando las circunstancias lo requieran. PRINCIPAL UTILIDAD DE UN TÚNEL SSH La principal utilidad que le podemos dar a un túnel SSH la detallamos a continuación:\nTan solo tenemos que imaginarnos que estamos en un lugar público, como por ejemplo puede ser la cafetería de un aeropuerto, y nos queremos a conectar a una página web a través de nuestro navegador.\nEn la cafetería del aeropuerto como podéis imaginar no estaremos solos. Como se puede ver en la imagen habrá multitud de usuarios conectados a la misma red local (LAN) que nosotros y como podéis imaginar esto es un problema de seguridad importante.\nBásicamente es un problema de seguridad importante porqué somos susceptibles de recibir multitud de ataques que nos pueden lanzar cualquiera de los usuarios que están conectados a la misma red local que nosotros. Algunos de los ataques que podemos sufrir por parte de los integrantes de la red son por ejemplo:\n1- Esnifar el tráfico que estamos generando: Como todos sabemos, hoy en día multitud de conexiones a Internet se realizan mediante el protocolo http. El protocolo http tiene la particular de transferir la información en texto plano sin cifrar.\nPor lo tanto esto implica que cualquier integrante de la red local de la cafetería, mediante Sniffers como Wireshark o Ettercap, puede interceptar nuestro tráfico fácilmente. Por lo tanto con un simple sniffer el atacante podría averiguar contraseñas de servicios que tenemos contratados o usamos, como por ejemplo el servicio de wordpress, servidores ftp, telnet, etc. Además el atacante podrá averiguar fácilmente a los sitios a los que nos estamos conectando.\n2- Un ataque Man in the Middle (MitM): Cualquier integrante de la red local puede de forma muy fácil realizarnos un ataque Man in the middle. Como se puede ver en el gráfico de este apartado, si un atacante lanza el ataque man in the Middle estará interceptando la totalidad de nuestro tráfico tanto de entrada como de salida. Una vez el atacante haya interceptado el tráfico tendrá la capacidad de leer y modificar a voluntad el tráfico que nosotros estamos generando o recibiendo.\nEsto es posible porqué el Host C se coloca entre el Host A y el Host B. Cuando el Host A envíe tráfico al Host B, antes de pasar por el Host B pasará por el Host C. En el momento que el tráfico pase por el Host C el atacante podrá interceptar y modificar el tráfico.\n3- Un ataque de envenenamiento ARP o ARP Spoofing: En el caso que estemos en una red local con un Switch, otro tipo de ataque que cualquiera de los usuarios de la red local nos podría lanzar es el ARP Spoofing.\nEste ataque básicamente consiste en envenenar el cache ARP de la víctima (192.168.0.15) para hacerle creer que el atacante (192.168.0.10) es el router o puerta de enlace.\nNota: Como se puede ver en la imagen el cache ARP de la máquina atacada (192.168.0.15), en vez de tener asociada la MAC address del router (xx:xx:xx:xx:xx:01), tiene asociada la MAC address del atacante (xx:xx:xx:xx:xx:40). Por lo tanto la máquina víctima creerá que el router es el ordenador del atacante y es allí donde enviará la totalidad del tráfico. De este modo la totalidad de tráfico, tanto de entrada como de salida, generado por la víctima (192.168.0.15) estará pasando por el ordenador del atacante (192.168.0.10). En el momento que la información pase por el ordenador atacante se podrá alterar la información y nos podrán robar datos como por ejemplo contraseñas de servicios que usamos o tenemos contratados.\n4- Otros tipos de ataques: Y la verdad es que la lista de ataques no se termina precisamente aquí. Hay multitud de ataques que nuestro atacante nos podría lanzar como por ejemplo DNS Spoofing, etc.\nTÚNEL SSH PARA MITIGAR LOS ATAQUES QUE ACABAMOS DE DESCRIBIR Estableciendo un túnel SSH seremos capaces de prevenir la serie de ataques que acabamos de describir.\nBásicamente prevendremos los ataques porqué estableciendo nuestras comunicaciones mediante un túnel SSH estaremos cifrando la totalidad de nuestro tráfico.\nComo se puede ver en el gráfico, para establecer un túnel SSH necesitaremos un ordenador, fuera de nuestra Red local en que la seguridad está comprometida, que actúe como servidor SSH.\nAl establecer el túnel SSH lo primero que hará el ordenador que está en la red local comprometida es establecer comunicación con el servidor SSH.\nComo se puede ver en la imagen, en el momento que el cliente establezca comunicación con el servidor SSH se creará un Túnel de comunicación entre el cliente que está en la red local comprometida y el servidor SSH que está fuera de la red local comprometida.\nUn vez establecido el túnel el cliente solicitará por ejemplo visitar una página web como podría ser por ejemplo https://geeklandlinux.github.io/\nCuando el cliente introduzca la dirección en el navegador se enviará una petición http al servidor SSH con las siguientes particularidades:\nLa petición http viajará por el túnel SSH que hemos establecido. Nuestra petición, y la totalidad de tráfico entrante y saliente estará completamente cifrado. Por lo tanto aunque recibamos algunos de los ataques mencionados y se intercepte nuestro tráfico dentro de la red local comprometida, nadie podrá obtener nuestras credenciales, ni modificar el contenido de la petición ni robarnos información ya que la información que obtendrán estará completamente cifrada. Por lo tanto con el túnel SSH estamos garantizando la integridad y confidencialidad del tráfico entre nuestro ordenador y el servidor SSH que está fuera de nuestra red Local en una ubicación segura y no susceptible de ataques.\nUna vez nuestra petición está en el servidor SSH tendrá que dirigirse al servidor web de la página que queremos conectarnos. En el último tramo la petición ya irá en texto plano y por lo tanto será susceptible de ser interceptada y modificada, pero cabe decir que la probabilidad de tener problemas de confidencialidad y de integridad de nuestros datos en este último tramos es muy baja.\nNota: La protección dentro de la red local comprometida es para la totalidad de tráfico entrante y para la totalidad de tráfico saliente. CONCLUSIONES SOBRE LA UTILIDAD DE TÚNEL SSH Vistas las posibles utilidades y el funcionamiento teórico de un túnel SSH podemos llegar a las siguientes conclusiones:\nEl túnel SSH es una buena solución para navegar por internet en el caso que nos hallemos en Red local No segura. La navegación a través de un túnel SSH garantiza nuestra confidencialidad ya que nadie podrá conocer las páginas web que estamos visitando ni que estamos haciendo. La navegación a través de un túnel SSH garantiza la integridad de los datos transmitidos y recibidos ya que la probabilidad que alguien pueda modificar las datos que enviamos o recibimos es muy baja. Los túneles SSH nos pueden servir también para vulnerar ciertas restricciones impuestas por nuestro ISP o por ejemplo también nos puede servir para vulnerar ciertas restricciones impuestas por proxies y firewall. Los túneles SSH son una buena solución para asegurar la comunicación entre 2 máquinas y para fortificar protocolos débiles como por ejemplo HTTP, SMTP. FTP, Telnet, etc. Montarse un servidor SSH propio es sumamente mucho más sencillo que montarse un servidor VPN o un servidor proxy. En futuros post veremos como disponer un servidor SSH propio en apenas 10 minutos. Hoy en día las cosas hechas por uno mismo acaban siendo siempre más seguras. En Internet por supuesto que existen servicios gratuitos de VPN o proxies que se dedican a ofrecer servicios similares de forma gratuita. Con estos servicios gratuitos hay que ir con cuidado ya que para monetizar el servicio que están prestando nos pueden estar vendiendo a nosotros mismos recolectando información y vendiéndola a terceros. Nota: Existen muchas otras utilidades aparte de las comentadas. Las utilidades comentadas entiendo que son las más habituales para los usuarios comunes como somos nosotros. LIMITACIONES DE LOS TÚNELES SSH Como todos saben la seguridad absoluta no existe. El hecho de aplicar está técnica u otras descritas lo único que hará es poner las cosas más difíciles a los posibles atacantes. Ya saben que para cualquier problema un atacante siempre puede encontrar una solución.\nLas principales limitaciones de navegar o usar ciertas aplicaciones mediante túneles SSH son las siguientes:\nEn la comunicación entre cliente y servidor existen tramos en el que la información viaja sin encriptar. Concretamente hablo del tramo que va del servidor SSH al servidor Web y del servidor web al Servidor SSH. En este tramo un atacante podría comprometer la integridad y la confidencialidad de los datos transmitidos. No obstante la probabilidad que esto llegue a suceder es baja. Para poder navegar a hacer peticiones a través del túnel SSH hay que configurar aplicación por aplicación. Así por ejemplo si queremos navegar de forma segura tendremos que configurar adecuadamente nuestro navegador. En el caso que queramos descargar torrents a través de nuestro túnel SSH también tendremos que configurar nuestro gestor de torrents adecuadamente y así sucesivamente. Llegado a estas alturas quien quiera poner en práctica el uso de túneles SSH tan solo tiene que consultar el siguiente post:\nhttps://geeklandlinux.github.io/posts/establecer-un-tunel-ssh/\n","permalink":"https://geeklandlinux.github.io/posts/que-es-y-para-que-sirve-un-tunel-ssh/","summary":"\u003cp\u003eEn el siguiente post averiguaremos que es  y para que sirve un túnel ssh. Además en las próximas semanas también publicaré una serie de post para solucionar los siguientes problemas:\u003c/p\u003e","title":"Que es y para que sirve un túnel SSH"},{"content":"Para obtener espacio adicional en Dropbox lo podemos hacer de forma fácil y relativamente rápida. Además con el método que presento a continuación no tendremos que spamear ni molestar a nuestros amigos enviando invitaciones por las redes sociales como twitter o facebook.\nCon el método citado a continuación podremos añadir hasta 16GB la capacidad actual de nuestra cuenta de Dropbox.\nHERRAMIENTAS NECESARIAS PARA OBTENER ESPACIO ADICIONAL EN DROPBOX Lo único que necesitamos para obtener espacio adicional en Dropbox es tener instalada una máquina Virtual en nuestro sistema operativo. En mi caso tengo instalado Virtualbox. En los siguientes apartados veremos el uso que le damos daremos a nuestra máquina virtual.\nPASOS A SEGUIR PARA OBTENER ESPACIO ADICIONAL EN DROPBOX Paso 1- Análisis de la capacidad de almacenamiento actual Como se puede ver en la siguiente captura de pantalla mi cuenta de dropbox actualmente dispone de una capacidad de 3.4 GB.\nUna vez hayamos seguido los 6 pasos del tutorial nuestra capacidad se incrementará en 500 MB. Podemos repetir los 6 pasos tantas veces como consideremos necesario hasta obtener un espacio adicional al actual de hasta 16 GB.\nPaso 2- Crear una Cuenta de correo Electrónico El segundo paso es muy simple. Tan solo tenemos que crear una cuenta de correo electrónico. Podemos elegir cualquiera de los servicios de correo electrónico que existen en la actualidad. Algunas de las opciones que tenemos son:\nyahoo hotmail gmail En mi caso he creado he creado la siguiente cuenta de correo en gmail:\ngeekland.hol.es(arroba)gmail.com\nOtra opción alternativa a la citada para realizar este paso más rápidamente es usar el servicio de 10minute.com. Para acceder a este servicio tenéis que abrir vuestro navegador e ingresar la siguiente dirección:\nhttp://10minutemail.com/\nUna vez hayáis ingresado en la web veréis la siguiente pantalla:\nComo se puede ver en la captura de pantalla este servicio nos esta proporcionando un correo electrónico que únicamente durará 10 minutos. En mi caso el correo electrónico que me proporciona es:\nf160649(arroba)rmqrk.net\nPor lo tanto si elegimos este método tenemos que realizar los pasos restantes de forma rápida ya que tan solo tendremos 10 minutos para completar todo el proceso. Tenéis que mantener la ventana del navegador abierta ya que en el apartado Messages es donde recibiremos la invitación para darnos de alta a Dropbox.\nPaso 3- Enviar una invitación a la cuenta que acabamos de crear El tercer paso consiste en enviar un correo de invitación de unión a Dropbox, desde nuestra cuenta de Dropbox a la cuenta de email que acabamos de crear.\nPara ello ingresamos en nuestro navegador y entramos dentro de nuestra cuenta de dropbox. Justo al acceder a nuestra cuenta veremos la siguiente pantalla:\nSi observamos la captura de pantalla, en el extremo superior derecho vemos una frase que dice conseguir espacio adicional. Clicamos encima de esta frase. Una vez hayamos clicado aparecerá la siguiente pantalla:\nAhora tendremos que clicar encima de Recomienda Dropbox a tus amigos. Una vez seleccionada esta opción vuestro navegador mostrará el siguiente contenido:\nComo se puede ver en la captura de pantalla ahora tan solo tenemos que introducir la dirección de correo electrónico que creamos en el Paso 2, en el cuadro de dialogo Invita a tus amigos por correo electrónico. Una vez introducido el correo electrónico tan solo tenemos que apretar el Botón Enviar.\nEn estos momentos ya hemos enviado la invitación a una tercera persona para que se suscriba a Dropbox. Una vez está persona es haya suscrito obtendremos 500 MB adicionales.\nPaso 4- Cambiar la dirección MAC de nuestra máquina virtual En este paso entra en juego nuestra máquina virtual que en mi caso es Virtualbox. Lo primero que tenemos que realizar es arrancar Virtualbox.\nTal y como podemos ver en la captura de pantalla una vez arrancado Virtualbox tenemos que seleccionar el sistema operativo que queremos usar y apretar el botón de Configuración. Podrán observar que en mi caso he elegido Windows XP.\nJusto al apretar el Botón de configuración nos aparecerá las siguiente ventana para seleccionar la configuración de nuestra máquina virtual con windows XP:\nUna vez dentro de las opciones de configuración tal y como podemos ver en la captura de pantalla tenemos que seleccionar la opción Red. Una vez seleccionada la opción de Red os aparecerán las siguientes opciones de configuración:\nAhora ya podemos proceder a cambiar nuestra MAC Address. Dentro de las opciones de configuración avanzadas vemos que hay un campo que se llama Dirección_MAC. Tal y como se puede ver en la captura de pantalla nuestra dirección dirección MAC actual es:\n0800270F82B8\nPara cambiar la dirección MAC tan solo tenemos que modificar la serie de dígitos que acabo de detallar.\nDespués de la modificación de los dígitos, tal y como se puede ver en la captura de pantalla, mi nueva MAC es:\n0800521E24D0\nUna vez introducida la nueva dirección MAC tan solo tenemos que presionar el botón Aceptar y habremos terminado con el paso 4.\nNota: Este es el paso más importante y crucial para que Dropbox nos proporcione los 500 MB adicionales. En el caso que no se cambie la dirección MAC dropbox detectará que estamos intentando engañarle y no nos proporcionará la capacidad adicional. Nota: La dirección MAC (Media Access Control) es un identificador de nuestra tarjeta de Red. La dirección MAC es única para cada dispositivo y sirve para identificar físicamente a un elemento de hardware. Los primeros 24 bits de la dirección MAC sirven para identificar el fabricante de la tarjeta de red mientras que los otros 24 bits sirven para diferenciar cada una de las tarjetas de red producidas por el fabricante. Por lo tanto en determinados casos, para los hackers y otras personas es importante ocultar o falsear la dirección MAC ya que con ella estamos dando pistas de nuestra identidad. Paso 5- Arrancar la máquina Virtual En el paso 5 tan solo tenemos que arrancar Windows XP en nuestra máquina virtual. Como se puede ver en la captura de pantalla tan solo tenemos que seleccionar windows XP y apretar el botón Iniciar.\nPaso 6- Suscribirse a Dropbox a partir de la invitación que hemos enviado Una vez haya arrancado nuestra máquina virtual tan solo tenemos que abrir nuestro navegador y acceder a la cuenta de correo electrónico creada en el punto 2.\nComo se puede ver en la captura de pantalla hemos accedido dentro de la cuenta de correo geekland.hol.es(arroba)gmail.com . En nuestra bandeja de entrada también veremos que hemos recibido el correo de invitación. Abrimos el correo de invitación y tal y como se puede ver en la captura de pantalla apretamos el botón de Comienza aquí.\nDespués de apretar el botón comienza aquí os aparecerá la siguiente pantalla:\nTal y como se puede ver en la captura de pantalla rellenamos los datos de nuestra futura cuenta de Dropbox. Es importante que la dirección de correo que uséis sea la misma a la cual habéis recibido la invitación.\nUna vez introducidos la totalidad de datos tan solo tenemos que apretar el botón azul de crear cuenta. Seguidamente nos pedirá descargar Dropbox.\nTal y como se pueda ver en la captura elegiremos la opción de descargar el binario de Dropbox. En mi caso lo descargaré en el escritorio de Windows.\nUna vez descargado el binario lo ejecutamos y empezará el proceso de instalación de Dropbox. Ya en el paso final del proceso de instalación aparecerá la siguiente pantalla:\nComo se puede ver en la captura de imagen tan solo tenéis que introducir los datos de vuestra cuenta y elegir un nombre de ordenador. Una vez realizado este paso apretamos el botón de siguiente y terminados de completar nuestra instalación.\nUna vez completada la instalación dispondremos de 500 MB adicionales. Para comprobar que lo que digo es cierto tan solo tenemos que observar la siguiente captura de pantalla:\nEn el Paso 1 del post habíamos visto que nuestro espació era de 3.4 GB. Ahora observamos que el espacio es de 3.9 GB. Por lo tanto hemos obtenido el incremento de 500 MB.\nPara volver obtener 500 MB adicionales tan solo tenemos que repetir de nuevo los pasos del 1 al 6. Con este método podremos llegar a añadir 16 GB a la capacidad actual que tenga nuestra cuenta de Dropbox.\n","permalink":"https://geeklandlinux.github.io/posts/obtener-espacio-adicional-en-dropbox/","summary":"\u003cp\u003ePara obtener espacio adicional en Dropbox lo podemos hacer de forma fácil y relativamente rápida. Además con el método que presento a continuación no tendremos que spamear ni molestar a nuestros amigos enviando invitaciones por las redes sociales como \u003ca href=\"https://twitter.com/\" title=\"Twitter\"\u003etwitter\u003c/a\u003e o \u003ca href=\"https://www.facebook.com\" title=\"Facebook\"\u003efacebook\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eCon el método citado a continuación podremos añadir hasta 16GB la capacidad actual de nuestra cuenta de Dropbox.\u003c/p\u003e","title":"Obtener espacio adicional en Dropbox"},{"content":"Como continuación del post de la semana pasada esta semana vamos a ver como podemos configurar el firewall gufw en linux de forma fácil y rápida. De esta forma en principio se cierra una serie de 2 post que son los siguientes:\nQué son y para que sirven los Firewall. Como configurar nuestro firewall adecuadamente. INTRODUCCIÓN Todos los sistemas GNU-Linux, a partir de la versión de kernel 2.4, disponen de un firewall integrado en el Kernel que se llama Netfilter. Esto significa que el firewall está integrado en el mismo corazón del sistema operativo.\nPara la configuración de Netfilter existe una herramienta que se llama Iptables que servirá para introducir las reglas de filtrado mediante una serie de comandos.\nPara crear las reglas de iptables deberíamos abrir un fichero de texto con el nombre iptables y crear un script que contenga la totalidad de reglas que queremos que implemente nuestro firewall. Una vez creado el script tan solo tendríamos que darle los permisos correspondientes, guardarlo en /etc/init.d y ejecutarlo con el siguiente comando:\n/etc/init.d/iptables start Pero para usuarios recién llegados a linux no hace falta complicarse tanto la vida. Existen interfaces gráficas para poder introducir las reglas más habituales. Como mínimo existen 2 interfaces que son Firestarter y Gufw. Les recomiendo el uso de Gufw por su simplicidad. Además Firestarter es un proyecto que hoy en día está más muerto que vivo.\nINSTALAR GUFW Como hemos comentado anteriormente las reglas del firewall las configuraremos con Gufw. Lo primero que tenemos que hacer es instalar Gufw. Para instalar Gufw abrimos una terminal y tecleamos:\nsudo apt-get install gufw Aunque hayamos instalado gufw el firewall aún sigue inactivo ya que en la mayoría de distros GNU/Linux el firewall viene desactivado por defecto permitiendo la totalidad de tráfico tanto entrante como saliente. Para poner un breve ejemplo de lo acabo de decir tan solo tenéis que abrir una terminal y teclear el siguiente comando:\nsudo ufw status El resultado que obtendréis es el siguiente:\nComo se puede leer en la captura de pantalla el estado del firewall ufw está en inactivo.\nPara reconfirmar que el firewall Netfilter no dispone de ninguna regla predefinida podemos teclear el siguiente comando en la terminal:\nsudo iptables -L Y el resultado que obtendréis será el siguiente:\nComo se puede ver en la captura de pantalla la totalidad de tráfico existente es aceptado tanto en dirección de entrada como en dirección de salida. Por lo tanto en el estado actual en el caso que un atacante consiguiera acceso root a nuestro equipo podría causar graves daños en nuestro equipo.\nACTIVAR EL FIREWALL Una vez instalado ufw lo vamos a activar. Para activar ufw tan solo tenemos que abrir una terminal e introducir el siguiente comando:\nsudo gufw Se abrirá la siguiente pantalla:\nSeguidamente tenemos que clicar sobre el botón desbloquear. Una vez desbloqueado el sistema ya podemos Activar el firewall.\nPara activar el firewall, como se puede ver en la captura de pantalla, tan solo tenemos que clicar encima del botón Estado. Seguidamente el Firewall se activará. Para comprobar que se ha activado tan solo tenemos que abrir una terminal y teclear el siguiente comando:\nsudo ufw status El resultado obtenido será el siguiente:\nComo se puede ver el firewall ya está activado y protegiendo nuestro equipo.\nCONFIGURACIÓN ESTÁNDAR DEL FIREWALL Una vez se ha activado el firewall ufw este ya dispondrá de una configuración predefinida que será válida para la gran mayoría de usuarios domésticos.\nComo se puede ver en la captura de pantalla la configuración standard de ufw bloquea la totalidad de tráfico entrante y permite la totalidad de tráfico saliente. Pero que quiere decir esto?\nBloquear el tráfico entrante quiere decir que cuando alguien haga una petición a nuestra red , servidor u ordenador está será rechazada. Así por ejemplo si intento establecer una conexión ssh a un ordenador que está protegido por un firewall obtendré el siguiente resultado:\nComo se puede ver en la captura de pantalla la conexión se ha rechazado porqué el firewall del equipo al que me quiero conectar no admite conexiones entrantes.\nAceptar el tráfico saliente quiere decir que nosotros desde nuestro ordenador podremos realizar cualquier tipo de petición a servidores, redes u ordenadores exteriores. Un tipo de petición que podemos hacer es conectarnos a una página web. Así por lo tanto abrimos el navegador e introducimos una página la página web:\nhttps://geeklandlinux.github.io\ny el resultado obtenido es el siguiente:\nEn el caso que la totalidad de tráfico saliente estuviera bloqueado obtendríamos un resultado parecido al siguiente:\nPor lo tanto la configuración estándar es la apropiada para la gran mayoría de usuarios. Es la más apropiada porqué permitir la totalidad de conexiones entrantes es más que imprudente mientras que tener el tráfico saliente bloqueado y aplicar reglas puede representar una auténtica pesadilla a la hora de simplemente navegar por páginas web.\nCONFIGURAR EL FIREWALL DEFINICIÓN DE LA POLÍTICA GENERAL A estas alturas ya tenemos funcionando el firewall y además hemos visto que la configuración estándar es la adecuada para una gran mayoría de usuarios. Pero está claro que en función de nuestras necesidades podemos modificar la configuración estándar del firewall.\nComo se puede ver en la captura de pantalla, si queremos modificar el comportamiento del tráfico entrante en nuestra red, servidor u ordenador podemos seleccionar 3 opciones. Las tres opciones de configuración para el tráfico entrante son las siguientes:\nDENY: Si elegimos la opción Deny simplemente se deniegan la totalidad de conexiones entrantes. A priori considero que para un usuario normal esta es la opción más adecuada ya que nadie en principio tiene que acceder a nuestro ordenador. En el caso que nuestra máquina funcionará como servidor entonces el tema seria distinto.\nREJECT: Si elegimos la opción Reject se rechazaran la totalidad de conexiones entrantes. En el momento que se rechace la conexión se enviará un paquete ICMP al cliente que ha realizado la petición indicándole que la conexión se ha rechazado. Esta opción es menos adecuada que la primera ya que estamos dando información al cliente que intenta acceder a nuestro equipo. La información que le estamos dando es que nuestro servidor está operativo y que esta protegido el acceso mediante un firewall.\nALLOW: Si elegimos la opción Allow entonces se aceptaran la totalidad de conexiones entrantes. Esta opción no es aconsejable ni para un usuario estándar ni para un servidor.\nComo se puede ver en la captura de pantalla, en el caso que decidamos o necesitamos actuar sobre el tráfico saliente también tenemos tres opciones. Las tres opciones de configuración para el tráfico tráfico saliente son las siguientes:\nDENY: Si elegimos la opción Deny estaremos denegando la totalidad de peticiones exteriores que estemos realizando como clientes. Este opción no es la más adecuada para un usuario doméstico ya que se nos hará prácticamente imposible navegar.\nREJECT: Si elegimos la opción Reject estaremos denegando la totalidad de peticiones exteriores que estemos realizando como clientes. Si elegimos Reject, en el momento que se rechace la conexión exterior se informará al cliente que la conexión es rechazada por estar detrás de un firewall.\nALLOW: Si elegimos la opción Allow estaremos aceptando la totalidad de conexiones salientes. A priori para un usuario doméstico habitual está es la mejor opción.\nDEFINICIÓN DE EXCEPCIONES Y DE REGLAS Una vez definida la política general respecto al tráfico entrante y saliente, en el caso que lo necesitemos, podemos establecer excepciones y reglas.\nSupongamos que tenemos un ordenador que actúa de servidor ssh y en el firewall hemos definido que rechazamos la totalidad de tráfico entrante a nuestro ordenador. Por lo tanto a priori nadie podrá acceder al servidor ssh de nuestro ordenador. En el caso que alguien se intente conectar al servidor ssh obtendrá el siguiente resultado:\nPara solucionar este problema y que un determinado rango de usuarios puedan conectarse al servidor ssh podemos aplicar reglas/excepciones a nuestro firewall. Para aplicar las reglas, como podemos ver en la siguiente captura de pantalla, vamos al firewall del servidor y apretamos el botón +:\nUna vez apretado el botón + vamos clicamos sobre la pestaña opciones avanzadas y en vuestra pantalla podréis ver una imagen parecida a la siguiente:\nUna vez estamos en esta pantalla tenemos que definir las reglas. Los parámetros a definir son los siguientes:\nPUNTO 1- Tipo de conexión\nLas 2 opciones que podemos elegir en este apartado son:\nIn: Si queremos aplicar una regla sobre el tráfico entrante tenemos que seleccionar la opción IN.\nOut: Si queremos aplicar una regla sobre el trafico saliente tenemos que seleccionar la opción OUT.\nEl objetivo del problema planteado es dar acceso a un determinado número de usuarios a nuestro servidor ssh. Por lo tanto tenemos que seleccionar la opción IN.\nPUNTO 2- Tipo de acción\nLa totalidad de opciones disponibles en este campo son:\nAllow: Si elegimos la opción Allow estaremos permitiendo las conexiones entrantes o salientes para la serie de usuarios que se especificaran en el punto 4 o 5.\nDeny: Si elegimos la opción Deny estaremos denegando las conexiones entrantes o salientes para la serie de usuarios que se especificaran en el punto 4 o 5.\nReject: Si elegimos la opción Reject estaremos rechazando las conexiones entrantes o salientes para la serie de usuarios que se especificaran en el punto 4 o 5. En el momento que se rechace la conexión se enviará un paquete ICMP al cliente que ha realizado la petición indicándole que la conexión se ha rechazado.\nLimit: Si elegimos la opción Limit se denegará la conexión de entrada o salida a una ip determinada. Se denegará el acceso en el caso que se hagan 6 o más peticiones en el intervalo de menos de 30 segundos. Esta opción es para evitar ataques de fuerza bruta.\nComo nuestra intención es permitir la entrada a un servidor ssh a un determinado número de usuarios elegiremos la opción Allow. En este caso también seria posible elegir la opción Limit.\nPUNTO 3 - Tipo de protocolo:\nEl siguiente punto a elegir es el tipo de protocolo. Las opciones disponibles en este apartado son las siguientes:\nTCP: Si el servicio el cual queremos permitir o denegar a un determinado rango de usuarios trabaja con el protocolo TCP tenemos que elegir la opción TCP. Para quien tenga curiosidad solo apuntar que el protocolo TCP trabaja orientado a la conexión. Esto quiere decir que una máquina A enviará los datos/paquetes a una máquina B. A medida que la máquina B vaya recibiendo los paquetes irá analizando su integridad. Si los paquetes recibidos no son corruptos se informará a la máquina A que la recepción se ha realizado correctamente. En el caso que la máquina B detecte que hay algún paquete corrupto lo que pasará es que la máquina B solicitará de nuevo este paquete a la máquina A.\nUDP: Si el servicio el cual queremos permitir o denegar a un determinado rango de usuarios trabaja con el protocolo UDP tenemos que elegir el protocolo UDP. Contrariamente al protocolo TCP, UDP no está orientado a la conexión. Por lo tanto las aplicaciones o servicios que trabajan con el protocolo UDP simplemente se limitaran a enviar paquetes a un destinatario. En ningún caso este protocolo realizará una verificación de los paquetes se han recibido correctamente ni se establecerá un flujo bidireccional entre el destinatario y el emisor.\nBoth: En el caso que exista algún servicio que pueda trabajar con los 2 protocolos, TCP y UDP, o en el caso que tengamos dudas o no sabemos con que protocolo trabaja el servicio en el que queremos aplicar la regla seleccionaremos la opción Both.\nEl objetivo del problema planteado es dar acceso a un servidor ssh. Sabemos que el servidor ssh trabaja con el protocolo TCP. Por lo tanto en este caso tenemos que elegir la opción TCP.\nNota: En el siguiente enlace encontraran los protocolos que usan los servicios más habituales. http://es.wikipedia.org/wiki/Anexo:N%C3%BAmeros_de_puerto\nPUNTO 4 - Selección de los clientes al que se aplican las reglas\nDesde: En esta celda tenemos que ingresar la IP del cliente/s que queremos permitir, rechazar o limitar la conexión de entrada o de salida.\nEn el caso que estamos presentando queremos permitir la entrada a un número de usuarios concretos a nuestro servidor ssh. Por lo tanto en la celda Desde introduciremos la IP de los clientes que queramos que tengan acceso a nuestro servidor.\nAsí por ejemplo podemos introducir la siguiente IP:\n192.168.2.18\nAl introducir esta IP estaremos dando acceso al cliente con IP 192.168.2.18 al servidor ssh.\nPort Number: Este campo hace referencia al puerto de salida que el cliente usa para acceder al servidor.\nEn el ejemplo que estamos viendo este campo aconsejo dejarlo en blanco o escribir any. El hecho de dejar el campo en blanco o poner any significa que el cliente puede usar cualquier puerto de salida para conectarse al servidor ssh.\nPUNTO 5 - Selección del servidor al que se aplican las reglas\nA: En esta celda tenemos que ingresar la IP del servidor que queremos permitir, rechazar o limitar la conexión de entrada o de salida.\nPor lo tanto en el caso que estamos poniendo como ejemplo tenemos que escribir la ip de nuestro servidor o simplemente escribir Any. Se escribimos Any el cliente con IP 192.168.2.18 podrá acceder a cualquier servidor ssh que esté detrás del firewall. Si elijamos la opción de poner la IP del servidor entonces el cliente con IP 192.168.2.18 tan solo podrá acceder a este servidor ssh.\nPort Number: Este campo hace referencia al puerto de escucha del servidor o servidores que queremos permitir o denegar el acceso.\nEn el caso que estamos estudiando queremos permitir el acceso de usuarios a un servidor ssh. Sabemos el que puerto de escucha estándar de un servidor ssh es el 22. Por lo tanto en esta celda escribiremos el número 22.\nNota: En el siguiente enlace se puede encontrar una recopilación extensa de los puertos de escucha estándar acostumbran a usar habitualmente los distintos tipos de servidores existentes. http://es.wikipedia.org/wiki/Anexo:N%C3%BAmeros_de_puerto\nUna vez vistas y comentadas la totalidad de opciones disponibles tan solo queda nos queda ver el resultado final. Si habéis seguido el ejemplo paso por paso tendremos una situación parecida a la siguiente:\nAhora tal y como se puede ver en la captura de pantalla tan solo nos resta clicar al botón añadir. En estos momentos el cliente con IP 192.168.2.18 ya tiene acceso a nuestro servidor ssh. Para demostrar lo que acabo de decir tan solo hay que abrir una terminal y teclear:\nssh -p22 joan@192.168.2.155 El resultado obtenido es el siguiente:\nComo se puede ver en la captura de pantalla ahora podemos acceder sin problema dentro de nuestro servidor ssh.\nOTROS EJEMPLOS DE REGLAS QUE PODEMOS USAR Acabamos de ver como dar acceso a un usuario a nuestro servidor ssh. En el caso que lo necesitemos podemos introducir muchas más reglas dentro de nuestro firewall. Algunos ejemplos de reglas que podemos introducir son las siguientes:\n1- Dar acceso a la totalidad de usuarios de una red al servidor ssh:\nCon las opciones definidas en la captura de pantalla estaremos permitiendo que la totalidad de usuarios de la red local se conecten a cualquier servidor ssh.\n2- Dar acceso a la totalidad de usuarios de una red a los servidor ssh y ftp:\nCon las opciones definidas en la captura de pantalla estaremos permitiendo que la totalidad de usuarios de la red local se conecten a cualquier servidor ssh y ftp.\n3- Hacer que un usuario/cliente determinado no se pueda conectar a páginas web que no dispongan de cifrado ssl:\nCon las opciones definidas en la captura de pantalla prohibiremos que el cliente con IP 192.168.2.155 se pueda conectar a páginas que no dispongan cifrado ssl (http).\n4- Hacer que un usuario/cliente determinado no se pueda conectar a páginas web que dispongan de cifrado ssl:\nCon las opciones definidas en la captura de pantalla prohibiremos que el cliente con IP 192.168.2.155 se pueda conectar a páginas que contengan cifrado ssl. (https)\n5- Prohibir a un cliente que se conecte a cualquier servidor ftp o ssh:\nCon las opciones definidas en la captura de pantalla prohibiremos que el cliente con IP 192.168.2.155 se pueda conectar a servidores ssh y ftp.\n6- Prohibir que una red local que se conecte a cualquier servidor ftp o ssh:\nCon las opciones definidas en la captura de pantalla prohibiremos que nuestra red local se pueda conectar a servidores ssh y ftp.\nNota: Con las explicaciones realizadas y con los ejemplos que se exponen, en principio cualquier usuario debería ser capaz de configurar adecuadamente un firewall. Nota: En este post solo cito como trabajar con las opciones avanzadas de Gufw. La razón es simple. Si domináis las opciones avanzadas el resto de opciones carecen de importancia. REGISTRO DE EVENTOS Gufw nos permite registrar los eventos que van sucediendo. Para habilitar esta opción en el menú de Gufw tenemos que seleccionar la opción editar/preferencias. Una vez seleccionada la opción veremos la siguiente pantalla:\nComo se puede ver en la captura de pantalla podemos habilitar el registro de acciones clicando sobre registro. Para ello en el apartado Opciones de ufw tenemos que fijar el alcance del registro. Seguidamente en opciones de Gufw tenemos que clicar la muesca Registro. A partir de este momento se registraran la totalidad de eventos que se producen en el cortafuegos. En el hipotético caso que se necesite revisar los eventos, como se puede ver en la captura de pantalla, tan solo tenemos que ir al menú Archivo/registro.\nComo se puede ver en la anterior captura de pantalla también tenemos una opción denominada informe de escucha. Si la activamos cuando estemos en la pantalla general del firewall podemos observar que aparece un nuevo apartado que se llama informe de escucha:\nActivando esta opción. Como podemos ver en la captura de pantalla podremos ver información del tipo que el puerto 22 que es el del SSH está activado y en escucha a la espera de una conexión entrante.\n","permalink":"https://geeklandlinux.github.io/posts/configurar-el-firewall-gufw/","summary":"\u003cp\u003eComo continuación del post de la semana pasada esta semana vamos a ver como podemos configurar el firewall gufw en linux de forma fácil y rápida. De esta forma en principio se cierra una serie de 2 post que son los siguientes:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003ca href=\"/posts/que-es-y-para-que-sirve-un-firewall/\"\u003e\u003cstrong\u003eQué son y para que sirven los Firewall.\u003c/strong\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eComo configurar nuestro firewall adecuadamente.\u003c/strong\u003e\u003c/li\u003e\n\u003c/ol\u003e","title":"Configurar el firewall gufw en linux"},{"content":"Creo sinceramente que saber que es y para que sirve un firewall es de vital importancia para la totalidad de usuarios que disponen de un ordenador personal en su casa. Para ello he decido crear una serie de dos post con la siguiente temática:\nQué son y para que sirven los Firewall. Como configurar nuestro firewall adecuadamente. La verdad es que hay multitud de usuarios en Linux que piensan que no es necesario tomar medidas de seguridad usando Linux. Pues la verdad es que según mi humilde punto de vista están bastante equivocados.\nEs cierto que en Linux prácticamente no existen Virus, por lo tanto si que podríamos afirmar que el uso de antivirus hoy en día prácticamente no es necesario, pero según mi punto de vista hay precauciones que se deben implementar en la totalidad de sistemas operativos que utilizamos. Una de estas precauciones es disponer de un firewall activado y debidamente configurado. Muchos de vosotros se pregunta que es un Firewall, Para que sirve? Lo necesito? Como lo puedo activar y configurar?\nNota: Hoy en día existen otros peligros mucho más graves que los antiguos virus. Algunos de estos peligro pueden ser las temidas redes zombies, malware, Pérdida de información debido a accesos dentro de nuestro ordenador, etc. Por lo tanto da igual el sistema que usemos. Ningún sistema es cien por cien seguro y siempre es aconsejable usar ciertas medidas de seguridad. Nota: En la mayoría de distros linux el firewall está completamente desactivado. Por lo tanto activar y configurar el firewall debería ser una de las primeras cosas que realizamos al instalar una distro. QUE ES UN FIREWALL Un firewall o cortafuegos es un dispositivo de hardware o un software que nos permite gestionar y filtrar la totalidad de trafico entrante y saliente que hay entre 2 redes u ordenadores de una misma red.\nSi el tráfico entrante o saliente cumple con una serie de Reglas que nosotros podemos especificar, entonces el tráfico podrá acceder o salir de nuestra red u ordenador sin restricción alguna. En caso de no cumplir las reglas el tráfico entrante o saliente será bloqueado.\nPor lo tanto a partir de la definición podemos asegurar que con un firewall bien configurado podemos evitar intrusiones no deseadas en nuestra red y ordenador así como también bloquear cierto tipo de tráfico saliente de nuestro ordenador o nuestra red.\nNota: En el caso que aú queden dudas pueden aclararlas leyendo el apartado de como funciona un firewall. PARA QUE SIRVE UN FIREWALL Básicamente la función de un firewall es proteger los equipos individuales, servidores o equipos conectados en red contra accesos no deseados de intrusos que nos pueden robar datos confidenciales, hacer perder información valiosa o incluso denegar servicios en nuestra red.\nAsí por lo tanto queda claro que es altamente recomendable que todo el mundo utilice un firewall por los siguientes motivos:\nPreservar nuestra seguridad y privacidad. Para proteger nuestra red doméstica o empresarial. Para tener a salvo la información almacenada en nuestra red, servidores u ordenadores. Para evitar intrusiones de usuarios usuarios no deseados en nuestra red y ordenador. Los usuarios no deseados tanto pueden ser hackers como usuarios pertenecientes a nuestra misma red. Para evitar posibles ataques de denegación de servicio. Así por lo tanto un firewall debidamente configurado nos podrá proteger por ejemplo contra ataques IP address Spoofing, Ataques Source Routing, etc.\nNota: De nada sirve disponer de un antivirus si no tenemos un firewall debidamente configurado. Si no tenemos un firewall estamos dejando la puerta abierta a un usuario para que pueda acceder a nuestro ordenador. COMO FUNCIONA UN FIREWALL El firewall normalmente se encuentra en el punto de unión entre 2 redes. En el caso que podéis ver en la captura de pantalla se halla en el punto de unión de una red pública (internet) y una red privada.\nAsí mismo también vemos que cada una de las subredes dentro de nuestra red puede tener otro firewall, y cada uno de los equipos a la vez puede tener su propio firewall por software. De esta forma, en caso de ataques podemos limitar las consecuencias ya que podremos evitar que los daños de una subred se propaguen a la otra.\nLo primero que tenemos que saber para conocer el funcionamiento de un firewall es que la totalidad de información y tráfico que pasa por nuestro router y que se transmite entre redes es analizado por cada uno de los firewall presentes en nuestra red.\nSi el tráfico cumple con las reglas que se han configurado en los firewall el trafico podrá entrar o salir de nuestra red.\nSi el tráfico no cumple con las reglas que se han configurado en los firewall entonces el tráfico se bloqueará no pudiendo llegar a su destino.\nTIPOS DE REGLAS QUE SE PUEDEN IMPLEMENTAR EN UN FIREWALL El tipo de reglas y funcionalidades que se pueden construir en un firewall son las siguientes:\nAdministrar los accesos de los usuarios a los servicios privados de la red como por ejemplo aplicaciones de un servidor. Registrar todos los intentos de entrada y salida de una red. Los intentos de entrada y salida se almacenan en logs. Filtrar paquetes en función de su origen, destino, y número de puerto. Esto se conoce como filtro de direcciones. Así por lo tanto con el filtro de direcciones podemos bloquear o aceptar el acceso a nuestro equipo de la IP 192.168.1.125 a través del puerto 22. Recordar solo que el puerto 22 acostumbra a ser el puerto de un servidor SSH. Filtrar determinados tipos de tráfico en nuestra red u ordenador personal. Esto también se conoce como filtrado de protocolo. El filtro de protocolo permite aceptar o rechazar el tráfico en función del protocolo utilizado. Distintos tipos de protocolos que se pueden utilizar son http, https, Telnet, TCP, UDP, SSH, FTP, etc. Controlar el numero de conexiones que se están produciendo desde un mismo punto y bloquearlas en el caso que superen un determinado límite. De este modo es posible evitar algunos ataques de denegación de servicio. Controlar las aplicaciones que pueden acceder a Internet. Así por lo tanto podemos restringir el acceso a ciertas aplicaciones, como por ejemplo dropbox, a un determinado grupo de usuarios. Detección de puertos que están en escucha y en principio no deberían estarlo. Así por lo tanto el firewall nos puede advertir que una aplicación quiere utilizar un puerto para esperar conexiones entrantes. Nota: En el post de como configurar un firewall adecuadamente veremos como crear algunas de las reglas que acabamos de ver que se pueden crear. LIMITACIONES DE LOS FIREWALL Lógicamente un Firewall dispone de una serie de limitaciones. Las limitaciones principales de un firewall son las siguientes:\nUn firewall en principio es probable que no nos pueda proteger contra ciertas vulnerabilidades internas. Por ejemplo cualquier usuario puede borrar el contenido de un ordenador sin que el firewall lo evite, introducir un USB en el ordenador y robar información, etc. Los firewall solo nos protegen frente a los ataques que atraviesen el firewall. Por lo tanto no puede repeler la totalidad de ataques que puede recibir nuestra red o servidor. Un firewall da una sensación de seguridad falsa. Siempre es bueno tener sistemas de seguridad redundantes por si el firewall falla. Además no sirve de nada realizar una gran inversión en un firewall descuidando otros aspectos de nuestra red ya que el atacante siempre intentará buscar el eslabón de seguridad más débil para poder acceder a nuestra red. De nada sirve poner una puerta blindada en nuestra casa si cuando nos marchamos dejamos la ventana abierta. TIPOS DE FIREWALL EXISTENTES Como hemos visto en la definición existen 2 tipos de firewall. Existen dispositivos de hardware firewall como por ejemplo un firewall cisco o Routers que disponen de esta función.\nLos dispositivos de hardware son una solución excelente en el caso de tengamos que proteger una red empresarial ya que el dispositivo protegerá a la totalidad de equipos de la red y además podremos realizar la totalidad de la configuración en un solo punto que será el mismo firewall.\nAdemás los firewall por hardware acostumbran a implementar funcionalidades interesantes como pueden ser CFS , ofrecer tecnologías SSL o VPN, antivirus integrados, antispam, control de carga, etc.\nLos firewall por software son los más comunes y los que acostumbran a usar los usuarios domésticos en sus casas.\nEl firewall por software se instala directamente en los ordenadores o servidores que queremos proteger y solo protegen el ordenador o servidor en el que lo hemos instalado. Las funcionalidades que acostumbran a proporcionar los firewall por software son más limitadas que las anteriores, y además una vez instalado el software estará consumiendo recursos de nuestro ordenador.\nNota: Para incrementar al seguridad en la red se pueden combinar Firewalls por hadware y por software. De este modo conseguiremos incrementar la seguridad frente accesos no deseados. INFORMACIÓN ADICIONAL En el caso que deseen consultar información adicional de como configurar un firewall pueden consultar el siguiente post:\nhttps://geeklandlinux.github.io/posts/configurar-el-firewall-gufw/\n","permalink":"https://geeklandlinux.github.io/posts/que-es-y-para-que-sirve-un-firewall/","summary":"\u003cp\u003eCreo sinceramente que saber que es y para que sirve un firewall es de vital importancia para la totalidad de usuarios que disponen de un ordenador personal en su casa. Para ello he decido crear una serie de dos post con la siguiente temática:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eQué son y para que sirven los Firewall.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"/posts/configurar-el-firewall-gufw/\"\u003e\u003cstrong\u003eComo configurar nuestro firewall adecuadamente.\u003c/strong\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ol\u003e","title":"Que es y para que sirve un firewall"},{"content":"Seguidamente veremos como personalizar y configurar el gestor de sesiones Lightdm pero antes de empezar con la personalización y configuración es interesante una breve introducción para que sepan que es exactamente Lightdm.\n¿QUÉ ES LIGHTDM? Muchos se preguntaran que es Lightdm. Lightdm es un gestor de sesiones. La parte visible del gestor de sesiones es la pantalla de bienvenida o de autenticación donde introducimos nuestro login y podremos configurar ciertos parámetros de nuestra sesión como por ejemplo el entorno de escritorio que queremos usar, el gestor de ventanas, la distribución de teclado a usar, etc.\nLas funciones que normalmente realiza un gestor de sesiones son las siguientes:\nIniciar nuestra sesión de usuario sobre el servidor de las X desde nuestro mismo ordenador o desde un ordenador remoto. Autentificar los usuarios. Una vez autentificados los usuarios es cuando se inicia la sesión. Permite que múltiples usuarios puedan correr simultáneamente distintas sesiones en un mismo ordenador. En inglés a esta característica se la conoce como user switching o multiseat. Iniciar el servidor VNC antes de iniciar la sesión de usuario y de esta forma poder establecer conexiones remotas aunque el servidor no haya iniciado ninguna sesión de usuario. Ejecutar scripts antes del inicio de la sesión para prearrancar servicios en nuestro ordenador. Iniciar el servidor XDMCP antes de iniciar la sesión para poder efectuar logins remotos. Para terminar con la introducción solo decir que en la actualidad existen multitud de gestores de sesiones. Algunos de los más conocidos son los siguientes:\nGdm Mdm Kdm Slim etc. ¿POR QUÉ USAR LIGHTDM? Particularmente me gusta y uso lightdm por varios motivos. Los motivos y razones por los que considero a lightdm un gestor de sesiones muy aconsejable son los siguientes:\nEs en gestor de sesiones que tiene la totalidad de funciones que ofrecen otros gestores pero un su construcción fue diseñado para ser ligero, rápido y configurable. Para poner un ejemplo de lo ligero que es lightdm tan solo tenemos que analizar su código. Su código según datos extraídos de launchpad consta de menos 10,000 lineas mientras otros gestores como gdm disponen de más de 50,000 lineas y una multitud de parches. Por lo tanto podemos afirmar que lightdm tiene que ser más ligero, rápido y fácil de mantener y trabajar con el. Lightdm se puede usar en prácticamente la totalidad de distros existentes y en cualquier entorno de escritorio que instalemos. Por lo tanto podemos usar Lightdm tanto en Gnome, Kde, Unity, Lxde, Xfce, Enlightenment, etc. No se puede decir lo mismo por ejemplo de otros gestores como Gdm. Desarrollar temas para Lightdm es sencillo. Los temas se puedan programar fácilmente usando lenguaje html. También se pueden usar las bibliotecas gtk o qt. PERSONALIZAR Y CONFIGURAR LIGHTDM Antes de empezar a personalizar y configurar Lightdm os pongo la siguiente captura de pantalla para que podáis ver el diseño estandard de Lightdm en Debian:\nComo podéis ver el diseño estandard es un poco espartano. Seguidamente veremos como modificar mínimamente el aspecto de la pantalla de bienvenida para hacerlo más agradable a nuestros ojos.\nNota: El objetivo de este tutorial no es crear un greeter o pantalla de bienvenida. El objetivo es customizar de forma sencilla el que viene por defecto. Instalar Lightdm En el caso que no uséis lightdm y queráis probarlo, tan solo tenéis que seguir los siguiente pasos para su instalación:\nTenéis que acceder a vuestra terminal y teclear el siguiente comando:\nsudo apt-get install lightdm En el caso de tener varios gestores de sesiones es probable que tengáis que configurar Lightdm para que sea vuestro gestor de sesiones predeterminado. Para ello tecleamos el siguiente comando en la terminal:\nsudo dpkg-reconfigure lightdm Una vez ejecutado el comando aparecerá un cuadro de dialogo. Cuando aparezca tan solo tenemos que seleccionar el gestor de sesiones que queremos por defecto.\nCopia de seguridad de los archivos de configuración Una vez instalado Lightdm lo primero que tenemos que realizar antes de empezar a modificar cualquier parámetro es guardar una copia de seguridad de los archivos de configuración. Para ello abrimos una terminal y tecleamos los siguientes comandos:\nsudo cp /etc/lightdm/lightdm.conf /etc/lightdm/lightdm.conf.old sudo cp /etc/lightdm/lightdm-gtk-greeter.conf /etc/lightdm/lightdm-gtk-greeter.conf.old Mostrar el selector de idiomas en Lightdm Para mostrar el selector de idiomas en el panel de lightdm tan solo tenemos que acceder al fichero de configuración. Para ello en la terminal tecleamos el siguiente comando:\nsudo gedit /etc/lightdm/lightdm-gtk-greeter.conf Una vez se ha abierto el editor de textos tenemos que ir a buscar la siguiente linea:\n#show-language-selector= Descomentamos la linea y establecemos el valor de la variable show-language-selector en true. Una vez realizado esto la linea quedará de la siguiente forma:\nshow-language-selector=true Ahora tan solo tenemos que grabar las modificaciones. Cuando arranquemos de nuevo nuestro sistema aparecerá el selector de idiomas en el panel de Lightdm.\nCambiar el tema de Lightdm Para cambiar el tema que usa Lightdm tan solo tenemos que acceder y modificar sus archivos de configuración. Para ello tan solo tenemos que introducir el siguiente comando en la terminal:\nsudo gedit /etc/lightdm/lightdm-gtk-greeter.conf Una vez abierto el editor de textos tenemos que localizar la siguiente linea:\ntheme-name=Adwaita Una vez localizada la linea tan solo tendremos que sustituir el nombre del tema predeterminado, que es Adwaita, por el nombre del tema que queremos usar. En mi caso voy usar el tema greybird. Por lo tanto el resultado final de la linea que tenemos que modificar será el siguiente:\ntheme-name=greybird Ahora tan solo tenemos que guardar las modificaciones y el nuevo tema aparecerá cuando arranquemos una nueva sesión.\nCambiar el icono principal de Lightdm Como se puede en la captura de pantalla del inicio de este apartado, en la pantalla de bienvenida aparece la silueta de un hombre de color gris. En el caso de que queráis cambiar esta silueta para poner una foto vuestra o del logo de vuestra distro es sumamente fácil.\nTan solo tenéis que elegir la foto que queréis poner. Una vez la tengáis la guardáis en vuestra home. Una vez la tengáis en vuestra home hay que cambiar el nombre del archivo. El nombre del archivo tiene que ser .face\nUna vez realizado cuando arranquéis el ordenador, en el recuadro donde aparecia el hombre gris aparecerá la imagen que hayáis elegido. En mi caso como podéis ver en el final del post he elegido un logo de mi distro que es Debian.\nCambiar el fondo de pantalla En el caso de querer cambiar el fondo de vuestra pantalla de bienvenida también es fácil.\nLo primero que tenemos que hacer es elegir el fondo de pantalla que queremos. Una vez elegido lo guardamos en la ubicación que queramos. En mi caso voy a guardarlo en la ubicación /home/joan/Imágenes/\nSeguidamente accedemos en los archivos de configuración introduciendo el siguiente comando en la terminal:\nsudo gedit /etc/lightdm/lightdm-gtk-greeter.conf Una vez abierto el editor de textos localizamos una linea que se parezca a la siguiente:\nbackground=/usr/share/images/desktop-base/login-background.svg Para finalizar sustituimos la ruta del viejo fondo de pantalla por la ruta del nuevo fondo de pantalla.\nEn mi caso el fondo de pantalla tiene el el nombre Fondolight.jpg y lo he guardado dentro de la ubicación /home/joan/Imágenes/. Por lo tanto la linea del fichero de configuración quedará de la siguiente forma:\nbackground=/home/joan/Imágenes/Fondolight.jpg Guardamos el fichero y la próxima vez que arranquemos la sesión veremos que aparecerá el fondo de pantalla que hemos elegido.\nMostrar los usuarios en un menú contextual Cada vez que entramos en el menú de Lightdm es un poco engorroso tener que introducir el nombre de nuestro usuario y seguidamente el password. Podemos simplificar este paso haciendo que la totalidad de usuarios aparezcan en un menú contextual del siguiente estilo:\nPara disponer del menú contextual tan solo tenemos acceder a los archivos de configuración. Por lo tanto en la terminal tecleamos:\nsudo gedit /etc/lightdm/lightdm.conf Localizamos la siguiente linea:\ngreeter-hide-users=true Una vez localizada la linea cambiamos el valor de true por false. Por lo tanto la linea a modificar quedará de la siguiente forma:\ngreeter-hide-users=false Una vez realizado este paso guardamos el fichero. La próxima vez que arranquemos Lightdm ya nos aparecerá el menú contextual con la totalidad de usuario que tiene nuestro sistema operativo.\nArrancar con Autologin En el caso que querías arrancar vuestra sesión sin necesidad ni de teclear vuestro usuario ni vuestro password también lo podemos hacer con lightdm. Tant solo tenemos que acceder a los archivos de configuración tecleando el siguiente comando en la terminal:\nsudo gedit /etc/lightdm/lightdm.conf Una vez abierto el editor de texto tenemos que localizar la siguiente linea:\n#autologin-user= Descomentamos la linea y después del igual introducimos el nombre de la sesión de usuario que queremos que arranque automáticamente. Como mi nombre de usuario es joan está linea quedará de la siguiente forma:\nautologin-user=joan Una vez hayamos realizado estos pasos la sesión de usuario joan arrancará directamente sin necesidad de introducir nuestro usuario ni password.\nArrancar directamente como Root En el caso de querer arrancar directamente como root tan solo tenemos que seguir la instrucciones del apartado anterior (Arrancar con autologin). La única diferencia es que el valor de autologin-user en este caso tiene que ser root.\nautologin-user=root Después de realizar los pasos descritos cuando reiniciemos nuestro ordenadores accederemos directamente a la sesión de usuario root sin tener que introducir ningún usuario ni password.\nIntroducir un reloj en el panel superior En el caso que queramos introducir un reloj en la parte superior del panel de lightdm tan solo tenemos que entrar en los ficheros de configuración. Para entrar en el fichero introducimos el siguiente comando en la terminal:\nsudo gedit /etc/lightdm/lightdm-gtk-greeter.conf Dentro dentro del archivo de configuración pegamos los siguientes comandos:\nshow-clock= true clock-format=%a, %d %b %H:%M Guardamos los cambios y la próxima vez que arranquemos Lightdm aparecerá un reloj en la parte central del panel superior.\nCambiar la tipografia de la letra Para cambiar el tipo de letra que utiliza Lightdm tan solo tenemos que teclear el siguiente comando en la terminal:\nsudo gedit /etc/lightdm/lightdm-gtk-greeter.conf Una vez se habrá el editor de texto tan solo tenemos que localizar la siguiente linea:\n#font-name= Una vez localizada la descomentamos e introducimos el nombre de la tipografía que queremos usar. En mi caso quiero usar la tipografia Ubuntu. Por lo tanto la linea quedará de la siguiente forma:\nfont-name=ubuntu Seleccionar el entorno de escritorio por defecto (Default sesion) En lightdm, como se puede ver en la pantalla, se puede seleccionar con el entorno de escritorio con el que queremos arrancar por defecto.\nPara configurar el entorno de escritorio que queremos por defecto lo podemos hacer hacer de la siguiente forma.\nAbrimos una terminal y tecleamos:\nsudo gedit /usr/share/xsessions/lightdm-xsession.desktop Una vez abierto el editor intentamos localizar la siguiente linea:\nExec=default El valor default lo tenemos que sustituir en función del entorno de escritorio que queramos que sea el predeterminado. Por lo tanto si queremos que nuestro entorno de escritorio predeterminado sea xfce la linea anterior quedará de la siguiente forma:\nExec=startxfce4 Si queremos que sea KDE:\nExec=startkde Si queremos que sea Gnome:\nExec=gnome-session Si queremos que sea Enlightenment:\nExec=enlightenment_start Si queremos que sea Mate:\nExec=mate-session Si queremos que sea LXDE:\nExec=startlxde RESULTADO FINAL Para finalizar tan solo falta mostrar el resultado obtenido después de todas las acciones que hemos realizado. En la siguiente captura de pantalla podéis ver el resultado final:\nComo podéis observar no se trata de ninguna obra de arte pero a mi forma de ver el aspecto visual a mejorado ostensiblemente en comparación con la estética inicial.\n","permalink":"https://geeklandlinux.github.io/posts/personalizar-y-configurar-lightdm/","summary":"\u003cp\u003eSeguidamente veremos como personalizar y configurar el gestor de sesiones \u003cstrong\u003eLightdm\u003c/strong\u003e pero antes de empezar con la personalización y configuración es interesante una breve introducción para que sepan que es exactamente Lightdm.\u003c/p\u003e","title":"Personalizar y configurar lightdm"},{"content":"Al final de la lectura del post sabrán como entrar en paginas web restringidas en el entorno laboral. La verdad es que hoy en día en prácticamente la totalidad de empresas acostumbran a bloquear el acceso a determinadas páginas de Internet como por ejemplo nuestro correo personal, Facebook, Google +, Twitter, Youtube, etc.\n¿POR QUÉ LAS EMPRESAS BLOQUEAN CIERTAS PAGINAS WEB? El motivo principal por el cual estas páginas están restringidas es bastante simple. Estás páginas son consideradas ladrones de tiempo que hacen disminuir la productividad de los empleados y directivos considerablemente.\nDe hecho solo tenéis que navegar un poco por internet y encontraréis datos escalofriantes como por ejemplo puede ser los siguientes:\nUn 26% de personas pierden entre una y dos horas horas diarias navegando por Internet. Un 10% de la gente afirma que consulta su smartphone entre una y dos horas al día. En general un 11% de las personas están en una y dos horas al día a las redes sociales mientras que el 75% de las personas dice estar más de dos horas. Lógicamente los empresarios, frente a estos y a otros datos que se pueden encontrar, acostumbran a tomar cartas en al asunto ya que todo el tiempo que nosotros perdamos obviamente repercutirá en su cuenta de resultados.\nPor lo tanto normalmente los empresarios acostumbran a ponerse en contacto con su departamento de informática para tomar medidas. Las medidas típicas que se acostumbran a implementar son las siguientes.\nNota: En ciertos casos las empresas acostumbran a bloquear el acceso a ciertos servicios, como por ejemplo Dropbox, ya que desgraciadamente en algunos países tenemos un ancho de banda limitado. PROTECCIONES QUE SE ACOSTUMBRAN A IMPLEMENTAR EN LAS EMPRESAS En la mayoría de empresas el sistema de protección que se implementa es el que se puede ver representado en la siguiente imagen:\nComo se puede ver en la imagen, y como acostumbra a pasar en la mayoría de empresas, la totalidad de equipos disponen de ip fija y están interconectados entre si mediante switches.\nCuando un usuario de la red que acabamos de describir quiere acceder a internet, normalmente enviará la petición a un servidor proxy. Una vez el servidor proxy ha recibido la petición entonces analiza si la petición que realiza el usuario con una determinada IP cumple con los filtros que el administrador del sistema ha definido en el fichero de configuración del proxy.\nSi la petición del usuario cumple con los filtros establecidos entonces el proxy trasladará nuestra petición al router de la empresa. En el caso de no cumplir con los filtros establecido nuestra conexión a internet quedará bloqueada y no nos podremos conectar a la página que queremos conectarnos.\nLos filtros que el administrador del sistema introducirá en el fichero del servidor proxy son diversos. Una muestra del tipo de filtros que se pueden aplicar son los siguientes:\nTodos los ordenadores tienen prohibido el acceso a Youtube excepto los ordenadores con una IP o con un determinado rango de IP. Solo un determinado rango de usuarios o IP tienen acceso a internet. Restringir el acceso a las url que contengan determinadas palabras como por ejemplo porn, sex, etc. Nota: Solo pongo 3 ejemplos de reglas que se pueden crear en el servidor Proxy. La verdad es que se pueden generar otros tipos de reglas. PORQUÉ LAS MEDIDAS EMPRENDIDAS NO SIRVEN PARA NADA Pienso que las medidas emprendidas no sirven prácticamente para nada. Quien quiera perder el tiempo en el trabajo simplemente lo hará de otras formas. Si una persona quiere estar pendiente de las redes sociales y de su mail personal lo puede hacer tranquilamente desde su teléfono móvil o tablet en el caso de peces gordos.\nLo ideal seria que no hubieses restricciones y que cada usuario pudiera gestionar su tiempo y reservando 2 o 3 momentos al día de una duración determinada para poder consultar las redes sociales y su correo personal, etc. Obviamente con un control para que los usuarios no abusen ya que en el trabajo se va a trabajar.\nMÉTODOS PARA PODER ENTRAR EN PAGINAS WEB RESTRINGIDAS En el caso que algún usuario bajo su propia responsabilidad quiera consultar las redes sociales o tener acceso a webs restringidas por el informático de la empresa puede probar los siguientes métodos.\nNota: Existen multitud de métodos o de cosas a intentar para entrar en páginas web restringidas como por ejemplo conectarse directamente al router sin pasar por el proxy, intercambiarse la IP con un compañero que no tenga las mismas restricciones que las tuyas, etc. Pero en principio solo me limitaré a detallar 4 servicios/métodos que en principio considero que funcionan y son facilísimos de aplicar. A veces lo fácil es lo mejor. Entrar en páginas web restringidas mediante Hidester Para usar Hidester tan solo tenemos que clicar encima del siguiente link:\nhttps://hidester.com/es/proxy/\nUna vez clicado el link se abrirá el navegador y veréis una web similar a la siguiente:\nSi queremos ver algún vídeo de youtube, tal y como se puede ver en la captura de pantalla, tan solo tenemos que teclear la URL de Youtube y presionar el botón Navegar Anónimamente. Una vez presionado el botón, tal y como se puede ver en la captura de pantalla, nos conectaremos a Youtube y podremos ver los vídeos que queramos:\nBajo mi punto de vista algunos de los puntos destacables de Hidester son los siguientes:\nA día de hoy el servicio es totalmente libre de publicidad. La velocidad que ofrece es aceptable. En mi caso puedo ver vídeos en streaming sin ningún tipo de problema. La totalidad de tráfico generado entre el servidor web proxy y nuestro ordenador está cifrado. Por lo tanto a priori es un servicio seguro. Te permite seleccionar entre servidores web proxy ubicados tanto en Europa como en Estados Unidos. Por lo tanto este webproxy también puede ser útil para acceder a servicios con restricción geográfica. El servicio está disponible en varios idiomas. Ofrecen servicios adicionales como por ejemplo informar sobre nuestra dirección IP. Entrar en paginas web restringidas mediante VPNBook web proxy Para acceder a este servicio tan solo tienen que entrar la siguiente url:\nhttp://www.vpnbook.com/webproxy\nUna vez estamos en la página web de vpnbook veremos una página similar a la siguiente:\nComo se puede ver en la captura de pantalla tan solo tenemos que ir a la celda entrar Enter URL e introducir el nombre de la página a la que nos queremos conectarnos. Una vez introducida clicamos a Go y como se puede ver en al siguiente captura de pantalla nos conectaremos a facebook:\nUna vez en facebook si queremos conectarnos a Youtube tan solo tenemos que introducir la dirección de Youtube en el recuadro correspondiente ubicado en la parte superior de la pantalla y darle otra vez al botón de Go.\nLos puntos que destacaría de VPNbook web proxy son los siguientes:\nPrácticamente os podréis conectar a la totalidad de páginas web. Si alguna de las páginas web no funciona podéis probar con el servicio de hidemyass http://www.hidemyass.com/proxy/ y probablemente el problema se solucionará. La conexión a las páginas es rápida. El tráfico que se genera está cifrado. Por lo tanto el servicio aporta mayor seguridad en comparación con otros servicios. Permite el acceso a páginas con cifrado SSL. Otras servicios similares como por ejemplo http://anonymouse.org/ exigen el pago para acceder a páginas con cifrado SSL. Nota: Al conectarse en determinados servicios os puede dar una advertencia de que alguien ha intentado acceder a vuestra cuenta desde una ubicación nueva. No os preocupéis ya que es normal porqué estamos accediendo a través de un webproxy. Si os pasa esto tan solo tenéis que seguir las instrucciones que os da la advertencia del servicio donde queráis acceder. Entrar en paginas web restringidas mediante Hidemyass El servicio de hidemyass es muy similar al de vpnbook. Para acceder al servicio tan solo se tiene que acceder a la siguiente URL:\nhttp://www.hidemyass.com/proxy/\nUna vez hemos hemos accedido a la página web veremos la siguiente pantalla:\nEl funcionamiento es exactamente igual al de VPNBook. Si queremos tan solo tenemos que introducir la URL que queremos visitar en el celda correspondiente y apretar el botón de Hide my ass !. Pero además Hidemyass ofrece una serie de configuraciones adicionales interesantes que vale la pena comentar:\nSi observamos la captura de pantalla vemos que nos queremos conectar a facebook.com. También observamos que las opciones de configuración las hemos cambiado.\nPara empezar podemos ver que hemos activado la celda SSL Security. El resultado de activar esta casilla sera que la totalidad del tráfico que generaremos estará cifrado.\nTambién vemos que hemos cambiado el método de ofuscación de URL a Encriptado. De esta forma conseguiremos que a priori nadie pueda saber las páginas web que hemos visitado a través del servidor proxy web.\nUna vez hayamos introducido la página y la configuración tan solo tenemos que clicar al botón Hide my ass ! y tal y como se puede ver en la captura de la pantalla nos dirigiremos a facebook:\nUna vez en Facebook si queremos conectarnos a Twitter tan solo tenemos que introducir la dirección de Twitter en el recuadro correspondiente ubicado en la parte superior de la pantalla y darle a GO.\nBajo mi criterio los puntos que hacen de hidemyass un servicio destacable son los siguientes:\nDispone de ofuscación URL lo que hace que sea difícil que alguien consiga averiguar a que páginas web nos hemos conectado. El servicio nos permite conectarnos a páginas que disponen de cifrado SSL gratuitamente. El servicio ofrece distintas opciones de configuración. Podemos disponer de ofuscación de URL, podemos elegir varios servidores proxy web ubicados en distintas ubicaciones geográficas y además, en el caso que lo consideremos oportuno, permite deshabilitar el contenido flash y javascript de las páginas a las que nos conectamos. Es una muy buena opción alternativa en el caso que el resto de métodos que se comentan en el post no funcionen. Entrar en páginas web restringidas mediante el traductor de google Como cuarto y último método podemos elegir el traductor de google. Para acceder al traductor de google pueden acceder mediante la siguiente URL:\nhttp://translate.google.es/?hl=es#en/es/www.\nUna vez cargado el traductor de google introducís una página web cualquiera tal y como me muestra en la siguiente captura de pantalla:\nUna vez introducida la web apretáis el botón de traducir. Como resultado de la traducción obtendréis exactamente la misma web. Tal y como se puede ver en la captura de pantalla, el siguiente paso es dar clic encima del resultado que nos ha dado la traducción. Veremos que después de dar click encima del resultado de la traducción accederemos a la página web que está restringida. En mi caso en la siguiente captura de imagen podéis ver que estoy viendo tranquilamente un vídeo en Youtube:\nParticularmente considero que este método es destacable porqué en principio google es un proveedor fiable que no intentará robarnos datos sensibles como contraseñas u otro tipo de datos. Además si el informático de nuestro empresa se dedica a consultar las páginas web a la que nos hemos conectado en principio solo debería ver que nos hemos conectado al traductor de google.\nOtros servicios alternativos distintos para poder acceder a páginas web restringidas A priori con los servicios descritos hasta el momento tenéis que tener más que suficiente. No obstante quien aun requiera de más servicios pueden consultar los siguientes:\nhttp://youtubeproxy.org/ http://www.polysolve.com/ http://www.unblock-websense.com/ http://www.vpntunnel.net/ http://www.safeforwork.net/ http://www.pimpmyip.com/ http://www.ninjacloak.com/ http://www.24topproxy.com/ http://www.sneakzorz.com/ http://www.proxybutton.com/ http://www.wtunnel.net/ http://www.ztunnel.org/ http://anonymouse.org/ http://proxyweb.com.es/\nLa totalidad de servicios que se citan en este apartado básicamente servirán en el caso que el departamento informático haya restringido el acceso a los 3 servicios que hemos mencionado inicialmente.\nNota: La totalidad de métodos descritos en este post se basan en saltarse las restricciones de conexión a internet mediante la conexión a través de un proxy web. Para quien quiera saber que es un proxy web y como funciona puede consultar el siguiente enlace: https://geeklandlinux.github.io/posts/conectarse-a-un-servidor-proxy/\nADVERTENCIAS Cada persona es responsable de sus propios actos. Como bien saben en todas las empresas existen reglas y si no se cumplen se os pueden aplicar penalizaciones que pueden llegar hasta el despido. Además el hecho de conectarse a un servidor proxy que no sea de confianza puede traernos serios problemas. Si nos conectamos a un servidor que no sea fiable nos pueden intentar robar nuestras contraseñas, inyectarnos código malicioso dentro de nuestro ordenador, etc.\n","permalink":"https://geeklandlinux.github.io/posts/entrar-en-paginas-web-restringidas/","summary":"\u003cp\u003eAl final de la lectura del post sabrán como entrar en paginas web restringidas en el entorno laboral. La verdad es que hoy en día en prácticamente la totalidad de empresas acostumbran a bloquear el acceso a determinadas páginas de Internet como por ejemplo nuestro correo personal, Facebook, Google +, Twitter, Youtube, etc.\u003c/p\u003e","title":"Entrar en paginas web restringidas"},{"content":"A raíz de una necesidad que he tenido esta semana ha nacido el post de como redimensionar el disco duro en Virtualbox. Mientras estaba usando Backtrack en mi máquina virtual me di cuenta que tan solo me quedaban 894 MiB libres. Por lo tanto se puede afirmar rotundamente que en el momento de instalar Backtrack en Virtualbox asigne un espacio insuficiente en mi disco duro.\nEl hecho que acabo de describir se puede ver en la siguiente captura de pantalla:\nNota: En la captura de pantalla podemos ver que de los 11,4 GiB que asigne en el disco solo me quedan 893,8 MiB libres. Para solucionar este problema podemos optar por borrar nuestra máquina virtual e instalar de nuevo Backtack dándole más espacio, pero la verdad es que esta solución demanda de muchas horas de trabajo.\nPor lo tanto opté por una solución alternativa que en apenas 10 minutos me permitió redimensionar el disco duro de la partición donde tengo instalado Bactrack. Los pasos para conseguir redimensionar el disco en Virtualbox son los siguientes:\nHACER UNA COPIA DE SEGURIDAD DE NUESTRO DURO VIRTUAL Antes de empezar a realizar nada lo primero que tenemos que hacer es prevenir. Por lo tanto lo primero que haremos es dirigirnos a la ubicación donde tenemos guardado el archivo .vdi, que representa el disco de duro nuestra máquina virtual, y haremos una copia de seguridad.\nEn mi caso el archivo .vdi lo tengo en la ubicación:\n/media/DATOS/OS/HD El nombre de mis disco duro se llama:\nBacktack_5.vdi Por lo tanto para hacer una copia de seguridad tan solo tenemos que teclear el siguiente comando:\ncp /media/DATOS/OS/HD/Backtrack_5.vdi /media/DATOS/OS/HD/Backtack_5.vdi.bak Nota: Si queréis esta paso lo podéis realizar mediante vuestro gestor de ventanas. Gráficamente tan solo teneis que copiar el disco duro original y pegarlo en la ubicación que vosotros queráis. Nota: El proceso de realizar la copia de seguridad se debe realizar con la máquina virtual apagada. Nota: La parte del comando en color rojo se debe variar en función de la ubicación y del nombre de vuestro disco duro Virtual. REDIMENSIONAR EL DISCO DURO Una vez tenemos realizada la copia de seguridad ya podemos pasar a incrementar la capacidad de nuestro disco duro virtual. Actualmente su capacidad hemos visto que era de 11.4 GiB. Considero que si lo amplio a 15 GiB, para el uso que doy a Backtrack, será más que suficiente.\nPara redimensionar el disco virtual hasta 15 GiB abro una terminal y tecleo el siguiente comando:\nVBoxManage modifyhd \u0026#34;/media/DATOS/OS/HD/Backtack_5.vdi\u0026#34; --resize 15000 Nota: El texto de color Rojo se debe modificar en función de la ruta y el nombre del disco duro que queremos ampliar. Nota: El texto de color verde se debe modificar en función de cual queremos que sea el espacio final de nuestro disco duro. En el ejemplo he puesto 15000 lo que quiere decir que el disco que tenemos actualmente se ampliará hasta 15 Gib. Si quisiéramos que el disco se ampliará hasta 50 GiB tan solo tendríamos que sustituir el 15000 por el 50000. Una vez realizado este paso ya hemos incrementado el espacio de nuestro disco duro.\nCOMPROBACIÓN QUE HEMOS REDIMENSIONADO EL DISCO DURO Para comprobar que el comando que acabamos de ejecutar ha funcionado tan solo tenemos que arrancar la máquina virtual con Backtrack. Una vez arrancada abrimos una terminal e instalamos gparted.\nPara instalar gparted tan tenemos que escribir el siguiente comando en la terminal:\nsudo apt-get install gparted Una vez instalado gparted lo arrancamos. Para arrancarlo tecleamos el siguiente comando en la terminal:\nsudo gparted Una vez se haya ejecutado veréis la siguiente pantalla:\nLo primero que vemos es que se ha creado un espacio adicional de 2,65 GiB para llegar a los 15 GiB que nos habíamos fijado como objetivo. Por lo tanto podemos afirmar que el proceso para redimensionar el disco duro a funcionado. También observamos que no podemos usar este nuevo espacio adicional ya que no se definido ninguna tabla de particiones ni tampoco se ha formateado.\nOtro aspecto que podemos observar es que disponemos de una partición primaria de 11,45 Gb que es la sda1. En esta partición primaria es donde tenemos instalado Backtrack y por lo tanto es la partición que necesitamos ampliar.\nFinalmente vemos una segunda partición sda2. Esta partición se trata de una partición extendida. Dentro de esta partición extendida tenemos una partición lógica (sda5) que es donde está la partición de de memoria Swap.\nNota: A partir de ahora en adelante el procedimiento puede diferir ya que los pasos que se realizan a continuación son en función de las particiones que tengáis en vuestro disco duro. Por lo tanto llegado a este paso tendréis que adaptar el proceso en función de vuestra situación. PREPARACIÓN PREVIA PARA PODER REDIMENSIONAR EL DISCO DURO Como hemos dicho en el apartado anterior nuestro objetivo es poder asignar los 2,65 GiB adicionales a la partición sda1 que es dónde tenemos instalado Backtrack. Pero para hacer esto disponemos de dos obstáculos importantes:\nObstáculo 1: Una condición sine qua non para poder ampliar la partición sda1 es tener espacio libre contiguo. Como se puede verse en la captura de pantalla del apartado anterior la partición contigua es una partición extendida que además no dispone de espacio libre. Por lo tanto tenemos que mover la partición extendida al final del disco duro. Por lo tanto lo que tendremos que hacer es pasar de la siguiente situación:\nA la siguiente situación:\nNota: Nota: Como se puede ver en la imagen lo que tenemos que hacer es desplazar la partición extendida sda2 justo al final del disco. Si obtenemos una condición similar a la que podemos ver en la captura de pantalla entonces podremos redimensionar la partición sda1 Obstáculo 2: El segundo obstáculo es que la partición sda1, que es la que tenemos que ampliar y la que tiene instalada Backtrack, esta montada. Por lo tanto esto hace imposible redimensionar el disco duro. La solución a este problema como se verá más adelante es arrancar nuestra máquina virtual con un live-USB.\nUna vez hayamos solucionado los 2 obstáculos podremos redimensionar el disco duro sin problemas. Para poder solventar los obstáculos tenemos que proceder de la siguiente forma:\nSolución al Obstáculo 1: Mover la partición extendida al final del disco Para mover la partición extendida sda2 al final del disco Los pasos a realizar son los siguientes:\nEl Primero:\nTenemos desmontar la swap. Para desmontar la swap, como se puede ver en la captura de pantalla, damos click con el botón derecho del mouse sobre la partición sda5 y seleccionamos la opción desmontar swap.\nEl Segundo:\nTenemos que eliminar la partición lógica que contiene la memoria Swap. Para hacerlo hacemos click con el botón derecho del mouse encima de la partición que contiene la memoria Swap. Cuando nos aparezcan las opciones, como se puede ver en la captura de pantalla, elegimos borrar.\nEl Tercero:\nActo seguido como se puede ver en la captura de pantalla apretamos al botón de aplicar todas las operaciones.\nEl Cuarto:\nUna vez eliminada la partición lógica el siguiente paso es eliminar la partición extendida. Para eliminar la partición extendida lo hacemos del mismo modo que lo hemos realizado con la lógica. Por lo tanto hacemos click con el botón derecho de mouse encima de la partición extendida, que en mi caso es la /dev/sda2, y seleccionamos la opción eliminar. Seguidamente presionamos el botón de aplicar cambios. Si se han realizado los pasos correctamente gparted presentará el siguiente estado:\nNota: En la captura de pantalla se puede ver que ahora que el espacio contiguo de la partición sda1 y es espacio sin asignar. Por lo tanto podremos proceder a ampliar el tamaño de la partición sda1. El Quinto:\nEn los pasos anteriores hemos eliminado una partición extendida y una partición lógica que contenía nuestra memoria Swap. Por lo tanto ahora volveremos a crearlas pero justo al final de nuestro disco duro.\nPara crear la partición extendida, como se puede ver en la captura de pantalla, clicamos con el botón derecho del mouse sobre el espacio sin asignar y cuando nos aparezcan las opciones seleccionamos Nueva:\nSeguidamente aparecerá una ventana. Las opciones de la ventana que aparecerá las dejamos tal y como se muestra en la siguiente captura de pantalla y hacemos click con el mouse sobre botón añadir:\nNota: Como se puede ver en la imagen la partición extendida la ubico al final del disco duro. En mi caso solo le asigno 577 MiB ya que, la partición extendida, solo debe contener una partición lógica con la swap. El Sexto:\nUna vez creada la partición extendida ahora hay que crear la partición lógica con la swap.\nPara ello presionamos el botón derecho derecho del mouse sobre sobre la partición extendida que acabamos de crear y seleccionamos la opción new.\nSeguidamente nos aparecerá una ventana de opciones. Las opciones para crear la partición swap son las que se muestran muestran a continuación:\nUna vez seleccionadas las opciones correctas apretamos el botón Add o Añadir y seguidamente el botón de aplicar cambios. Si lo hacemos correctamente nuestra swap se habrá creado y tendremos una situación similar a la siguiente:\nEl Séptimo:\nEl séptimo paso es hacer que la memoria swap se monte automáticamente cuando arranquemos nuestro sistema operativo en la máquina virtual. Este paso lo tenemos que realizar ya que el punto de montaje de la nueva Swap que acabamos de crear es distinto al de la swap que hemos eliminado.\nPara averiguar el punto de montaje nuevo primero tenemos que averiguar en que partición tenemos montada la nueva swap. Para ello abrimos un terminal y tecleamos el siguiente comando:\nsudo fdisk -l El resultado obtenido será el siguiente:\nNota: Si leemos el texto de la captura de pantalla veremos claramente que mi partición swap es la sda5. Una vez sabemos que nuestra partición swap es la sda5 en la misma terminal introducimos el siguiente comando:\nsudo blkid /dev/sda5 Nota: La parte del comando de color rojo se debe modificar en función de cual sea vuestra partición Swap. Una vez ejecutado el comando, el resultado será el nuevo punto de montaje de la memoria swap. En la siguiente captura de pantalla podéis ver el punto de montaje de la swap que acabamos de crear:\nNota: El punto de montaje de la memoria swap es la parte seleccionada con el mouse. Para introducir el nuevo punto de montaje tenemos que editar el fichero fstab. Por lo tanto en la terminal ejecutamos el siguiente comando:\nsudo gedit /etc/fstab Cuando se abra el editor de texto tenemos buscar la linea cuya sintaxis se asemeje a la siguiente:\nUUID=405a09a5-c4a9-4d6b-b719-33fc87f7c0fc none swap sw 0 0 Nota: La parte de color rojo es el punto de montaje de la antigua swap Una vez localizada la linea debemos sustituir el punto de montaje antiguo por el nuevo punto de montaje. En mi caso por lo tanto la linea a modificar quedaría de la siguiente forma:\nUUID=01d7d9e8-f9d1-4e4d-925d-46d9b56ea319 none swap sw 0 0 Una vez modificada guardamos el fichero y en principio ya hemos solucionado el primero de los obstáculos que teníamos para poder redimensionar el disco duro.\nSolución al Obstáculo 2: Arrancar la máquina virtual con un Live-USB Como hemos dicho antes aunque tengamos espacio contiguo libre en la partición sda1 no la podremos ampliar y que para hacer esto tenemos que tener la partición sda1 desmontada. Si intentáis desmontarla no podréis ya que en esta partición tenéis instalado el sistema operativo que estáis ejecutando.\nPara solucionar este problema es muy simple. Tan solo tenemos que arrancar la máquina virtual en modo live-USB. Para realizar esto los pasos a seguir son los siguientes:\nPrimero:\nLo primero que tenemos que hacer es descargarnos una ISO de cualquier distribución que se pueda ejecutar en modo Live-USB. En mi caso he elegido Kubuntu 13.04. Podéis elegir cualquier distro. Si queréis elegir Kubuntu os la podéis descargar de la siguiente página:\nhttps://kubuntu.org/getkubuntu/\nSegundo:\nLo segundo que tenemos que hacer es configurar la máquina Virtual de backtrack para que arranque en modo Live-USB a partir de la imagen ISO que acabamos de descargar. Para hacer esto necesitamos crear una unidad de CD/DVD Virtual que apunte a la ISO que acabamos de descargar.\nPor lo tanto abrimos Virtualbox. Como se puede ver en la captura de pantalla seleccionamos la máquina Virtual Backtack 5 y a posteriori apretamos el botón de configuración:\nUna vez abierta la pantalla de configuración seleccionamos la opción almacenamiento. Dentro de la opción almacenamiento, como podemos ver en la captura de pantalla, presionamos el icono del disco duro con el símbolo + y cuando aparezcan las opciones seleccionamos Agregar dispositivo CD/DVD.\nSeguidamente nos aparecerá una ventana con tres opciones. Las tres opciones son cancelar, dejar vacío y seleccionar disco. En nuestro caso apretamos el botón seleccionar disco.\nSeguidamente se abrirá otra ventana en la que tenemos que seleccionar el contenido que queremos que ejecuta nuestra unidad de CD/DVD virtual. En nuestro caso, como se puede ver en la captura de pantalla, seleccionamos la ISO de Kubuntu que hemos descargado en el primero paso y presionamos el botón abrir.\nSeguidamente tenemos modificar el orden de arranque de nuestra máquina virtual. Tenemos que hacer que el orden predeterminado de arranque sea primero el CV/DVD y a posteri el disco duro. Para realizar este paso, en la opción almacenamiento de la configuración de nuestra máquina virtual, seleccionamos nuestro disco duro y lo configuramos en modo esclavo tal y como se muestra en la siguiente captura de pantalla:\nYa para finalizar tenemos que hacer lo mismo que acabamos de hacer con nuestro disco duro pero ahora con nuestro dispositivo de CD/DVD virtual. Tenemos que asegurar que nuestra unidad de CD/DVD virtual esté configurada como IDE primario maestro. Una vez solucionados los dos obstáculos ya podemos pasar a redimensionar la partición sda1.\nREDIMENSIONAR LA PARTICIÓN DONDE TENEMOS INSTALADO BACKTACK Una vez solucionados los 2 obstáculos que teníamos tan solo tenemos que arrancar nuestra máquina virtual. Como podéis ver en la captura de pantalla nuestra máquina virtual está arrancando Kubuntu en modo Live-USB.\nUna vez arrancado el sistema en modo Live-USB abrimos una terminal e instalamos Gparted. Para instalar gparted tecleamos\nsudo apt-get install gparted Seguidamente arrancamos Gparted con el mando:\nsudo gparted Una vez arrancado Gparted podemos visualizar las mismas particiones que visualizábamos en backtrack pero ahora la partición sda1 está desmontada y por lo tanto podremos redimensionarla.\nPara redimensionarla, tal y como podemos ver en la captura de imagen, seleccionamos la partición sda1 y apretamos el botón derecho del mouse. Cuando aparezcan las opciones seleccionamos la que pone Redimensionar/Mover.\nUna vez seleccionada la opción Resize/Move aparecerá la siguiente pantalla:\nAhora ya podremos asignar los tranquilamente 2,63 Gib de Disco duro libre a la partición sd1. Una vez asignado el espacio libre a la partición sda1 apretamos el botón de Redimensionar/Mover y a posteriori apretamos el botón de aplicar cambios.\nEn estos momento ya hemos terminado todo el proceso. Tan solo nos falta arrancar de nuevo la máquina virtual y como se puede observar en la siguiente captura de pantalla el espacio disponible en la unidad sda1 se ha incrementado de 11,45 GiB a 14,08 Gb.\nPor lo tanto misión cumplida. No tendré que volver a reinstalar Backtrack de cero.\n","permalink":"https://geeklandlinux.github.io/posts/redimensionar-el-disco-duro-en-virtualbox/","summary":"\u003cp\u003eA raíz de una necesidad que he tenido esta semana ha nacido el post de como redimensionar el disco duro en Virtualbox. Mientras estaba usando Backtrack en mi máquina virtual me di cuenta que tan solo me quedaban 894 MiB libres. Por lo tanto se puede afirmar rotundamente que en el momento de instalar Backtrack en Virtualbox asigne un espacio insuficiente en mi disco duro.\u003c/p\u003e","title":"Redimensionar el disco duro en Virtualbox"},{"content":"En grandes cantidades de post o en conversaciones entre geeks se suelen recomendar algún que otro servidor DNS para incrementar la velocidad de navegación en Internet. Pero hay que tener en cuenta la elección del mejor DNS depende de múltiples factores. Puede ser que para nosotros el mejor DNS sea el de Google mientras que por determinadas circunstancias en otros países otros servidores DNS, como por ejemplo los que te puede ofrecer tu ISP, funcionen mejor que los de Google.\nUna vez planteada esta situación en el siguiente post conoceremos de forma precisa para que sirve un servidor DNS, como funciona y como elegir el DNS que más nos conviene en función de nuestra ubicación geográfica.\nPARA QUE SIRVE UN SERVIDOR DNS Para ver la utilidad de un servidor DNS lo más fácil es poner un ejemplo. Imaginemos que nos queremos conectar a una determinada página web.\nSabemos que toda página web está alojada en un servidor y que cada servidor tiene una IP pública que es única. Por lo tanto teóricamente para conectarnos a una página web lo podemos hacer introduciendo la IP del servidor en que esta alojada la página web.\nAsí por lo tanto si queremos acceder al buscador de google lo podemos realizar introduciendo su IP. Primero averiguamos la IP. Podemos averiguar la IP tecleando el siguiente comando en la terminal:\nping www.google.es Como se puede ver en la captura de pantalla la IP del servidor de google es 173.194.40.63. Una vez conocemos la IP nos vamos a nuestro navegador y en la barra de direcciones introducimos la IP 173.194.40.63. Como se puede ver en la siguiente captura de pantalla hemos accedido al buscador:\nNota: El método que se acaba de describir no funcionará en el caso que se intente acceder mediante la IP a un servidor web que aloje varias páginas. Por lo tanto acabamos de ver que podemos acceder a las páginas web por medio de su IP. Pero este método presenta graves inconvenientes como por ejemplo los siguientes:\nResulta sumamente difícil recordar una dirección IP Las direcciones IP pueden cambiar. Así por ejemplo acabamos de acceder al buscador de Google con la IP 173.194.40.63. Puede ser que en una semana está dirección ya no funcione porque la IP ha cambiado. Para solucionar este problema existen los servidores DNS. La función de un servidor DNS será la de traducir todo nombre de dominio, como por ejemplo www.google.es, a una dirección IP para poder establecer la conexión a la web que queremos visitar. Así por lo tanto cuando nosotros introducimos www.google.es el servidor DNS se encargará de traducir el dominio www.google.es a la IP 173.194.40.63. Además www.google.es es sumamente fácil de recordar y en el caso que cambie la IP donde está alojado el servidor de Google no habrá problema ya que el servidor DNS detectará que la IP ha cambiado.\nCon el ejemplo que acabamos de ver pienso que queda claro para que sirven los servidores DNS. Con el ejemplo también podemos deducir que en el caso que el servidor DNS no funcione perderemos completamente la capacidad de navegar por Internet ya que para nuestro navegador el dominio que tecleamos para acceder a una página web no tiene ningún significado.\nCOMO FUNCIONA UN SERVIDOR DNS Una vez sabemos el uso que tiene un servidor DNS podemos ver como funciona. Para ver el funcionamiento lo mejor es explicarlo de forma simplificada y a través de un ejemplo. El ejemplo es el siguiente:\nEn nuestro navegador tecleamos la página web que queremos visitar. Pongamos el caso que vamos a visitar el la web https://geeklandlinux.github.io/ En el caso de tener instalado un servidor DNS cache en casa, como por ejemplo Bind, nscd o dnsmasq, la primera acción que se realizará es comprobar si la petición https://geeklandlinux.github.io/ está almacenada la cache de nuestro servidor. Si la petición está almacenada se termina el proceso. Nuestro servidor DNS cache asociará el nombre de dominio https://geeklandlinux.github.io/ con su IP correspondiente. En el caso que el servidor DNS cache no tenga la petición almacenada , ya que es la primera vez que accedemos a esta web, entonces se realizará la petición al servidor DNS externo. El servidor DNS externo, una vez haya recibido la petición, comprobará si la tiene almacenada en su cache. Si la tiene almacenada el proceso termina y el servidor DNS externo asociará el nombre del dominio https://geeklandlinux.github.io/ con su IP. En el caso que el servidor DNS externo no tuviera almacenada nuestra petición entonces lo que haría seria consultar otro servidor DNS, si el nuevo servidor tampoco tuviera almacenada la petición consultaría a otro servidor y así sucesivamente hasta que al final un servidor nos devolverá la dirección IP del dominio o página que queremos visitar que en este caso es https://geeklandlinux.github.io/. Nota: El proceso descrito en este apartado es muy rápido. La totalidad de acciones descritas en los 4 puntos, como veremos más adelante, se realizan en cuestión de milisegundos. UTILIDAD QUE TIENE CAMBIAR LOS DNS Acabamos de ver que cada vez que ponemos una dirección en nuestro navegador hay un servidor que se encarga de averiguar la IP del dominio al que nos queremos conectar. Pues bien, hay servidores que obtendrán más rápidamente la IP que no otros. Si obtenemos la IP con menos tiempo podremos acceder antes a la página web que queremos visitar.\nPara poder ver que lo que acabo de comentar es cierto podemos verlo de la siguiente forma. Primero analizaremos el tiempo que el serividor DNS de Google necesita para poder resolver la petición para entrar en la web https://geeklandlinux.github.io/\nPara ello primero tenemos que analizar el tiempo que tarda la información en viajar desde nuestro ordenador al servidor de Google, y desde el servidor de Google a nuestro ordenador. Para poder analizar el tiempo lo podemos usar con el comando ping de la siguiente forma. Entramos en la terminal y ponemos el siguiente comando:\nping 8.8.8.8 Nota: 8.8.8.8 es la IP de uno de los servidores DNS de Google. Al ejecutar el comando nos empezará a dar resultados. Estos resultados son el tiempo de tarda la información en trasladarse de un sitio a otro. Para salir del comando ping tenemos que presionar Ctrl+C. Al salir veremos que se nos proporciona una estadística de tiempos. Una vez conocemos el tiempo que tardan los paquetes en ir de un sitio a otro, para obtener el tiempo total de resolución de un dominio, hay que añadir el tiempo que tarda el servidor en resolver nuestra petición. Para obtener este tiempo lo podemos hacer mediante el siguiente comando:\ntime host www.geekland.hol.es 8.8.8.8 Una vez aplicados estos 2 comandos podéis ver los resultados obtenidos en la siguiente captura de pantalla:\nSi observamos la captura de pantalla vemos que si sumamos el tiempo de resolución del servidor más el tiempo de ida y vuelta, el tiempo total para resolver el dominio www.https://geeklandlinux.github.io/ es de 317ms aproximadamente.\nUna vez conocidos los resultados con el servidor DNS de Google pasaremos a realizar el mismo experimento pero ahora con el servidor OpenDNS. Así de esta forma podremos comparar los dos resultados. Para realizar el estudio con el servidor de OpenDNS tenemos que aplicar los mismos pasos que acabamos de aplicar con el servidor de google. Por lo tanto abrimos la terminal y aplicamos los siguientes comandos:\nping 208.67.222.222 time host www.geekland.hol.es 208.67.222.222 Nota: 208.67.222.222 es la IP de uno de los servidores de OpenDNS. Una vez aplicados estos 2 comandos podéis ver los resultados obtenidos en la siguiente captura de pantalla:\nComo se puede ver en este caso la velocidad de resolución es de 935ms. Si comparamos la velocidad con el caso anterior, 317ms, podemos concluir que la velocidad de resolución del servidor de Google para acceder a https://geeklandlinux.github.io/ es mucho mejor que no la del servidor de OpenDNS.\nPor lo tanto si usamos el servidor DNS de Google conseguiremos acceder en este blog de forma más rápida que los usuarios que usen el servidor DNS de OpenDNS.\nOTROS FACTORES A CONSIDERAR PARA LA ELECCIÓN DEL MEJOR DNS Acabamos de ver que la velocidad es un factor importante a la hora de elegir un servidor DNS u otro. Pero un Servidor DNS, como todo servidor, es susceptible de recibir ataques. Por lo tanto no solo tenemos que tener en cuenta la velocidad. La estabilidad y la seguridad también serán factores muy a tener en cuenta en la elección del servidor DNS.\nSi encontramos un servidor que ofrece la misma velocidad de resolución que Google, pero no es reconocido, es mucho mejor elegir los de Google. Los servidores de Google por ejemplo serán mucho más estables y estarán más protegidos frente a los ataques descritos a continuación:\nDns Spoofing: Hay ciertos ataques que aprovechando vulnerabilidades del servidor intentan envenenar la memoria cache del servidor DNS. Una vez envenenada la memoria cache nosotros haremos una petición al servidor DNS. El servidor DNS mirará si nuestra petición se encuentra almacenada en su cache. Si encuentra que la petición está en la cache y además está envenenada es posible que el servidor DNS nos redirija a una web maliciosa que nos instalé algún gusano, malware o que simplemente nos redirija a un clon de la pagina que queremos acceder con el fin de obtener nuestras credenciales, datos bancarios, etc.\nNota: Cuando la situación descrita se presenta el ataque afectará a la totalidad de clientes del servidor DNS. Además este tipo de ataque también puede afectará indirectamente a servidores DNS que dependen del servidor afectado. Así por lo tanto si hacemos una petición a un servidor DNS y no la puede resolver inmediatamente consultará a otro servidor DNS cercano para poder resolver la petición. Si el servidor DNS al que se conecta está envenenado también puede envenenar a nuestro servidor. Ataques de amplificación DNS o Smurff: Aprovechando vulnerabilidades de uno o varios servidores DNS, o simplemente aprovechando que en internet hay multitud de servidores DNS abiertos lo que hace este tipo de ataque es lo siguiente:\nUn grupo de atacantes decide atacar un servicio con una determinada IP. Para realizar el ataque, los atacantes realizan peticiones falsas a distintos servidores DNS vulnerables. Cuando los distintos servidores DNS reciben las peticiones piensan que las peticiones provienen de la IP que queremos atacar. Por lo tanto los servidores DNS responden la multitud de peticiones y las dirige a la IP que se quiere atacar. De esta forma se consigue hacer caer el servicio atacado ya que no tiene capacidad de dar respuesta a la totalidad de tráfico que le estamos enviando. Nota: Este tipo de ataque es el que se utilizo para llevar a termino el famoso ataque de SpamHaus, el mayor ciberataque conocido hasta el momento. Como se puede ver en la explicación con simplemente generar una cantidad ínfima de tráfico haciendo peticiones DNS somos capaces de generar una gran cantidad de tráfico a la víctima. Por lo tanto con todos todos mis respetos, en términos de seguridad me fío mucho más de la seguridad de un proveedor como Google u Open DNS que no de proveedores como por ejemplo Telefónica o Jazztel. Google es una empresa pionera en muchos aspectos como por ejemplo aplicar las últimas técnicas de seguridad en sus servidores.\nAhora bien todo el mundo es libre de elegir el DNS que consideré oportuno. También hay que decir que Google en términos de privacidad debe dejar bastante que desear. Estoy seguro que deben hacer uso de la información almacenada en sus servidores DNS para saber las páginas que visitamos.\nSELECCIONAR EL DNS MÁS RÁPIDO Para conocer el DNS más rápido en función de nuestra zona geográfica existe una aplicación que se llama namebench.\n¿Cómo funciona namebench? Para entender como funciona namebench tenemos que tener en cuenta estos aspectos:\nNamebench dispone de una base de datos muy extensa de páginas web que reciben un alto número de visitas. Namebench también dispone de una base de datos de multitud de servidores DNS existentes en todo el mundo. Partiendo de esta base namebench, para cada una de las paginas web que tiene en su base de datos realizará una petición a cada uno de los servidores DNS existentes en la otra base de datos.\nPara cada una de las peticiones realizadas, namebench registrará los tiempos de resolución y al final nos acabará dando una serie de estadísticas que nos revelerán el mejor DNS en nuestro caso.\nInstalación de Namebench Namebench está en la paquetería de prácticamente la totalidad de distros Linux. Por lo tanto para instalarlo tan solo tenemos que abrir una terminal y teclear el siguiente comando:\nsudo apt-get install namebench En el caso de ser usuario de Windows o MAC_OS pueden descargar namebench de la siguiente página web:\nhttps://code.google.com/p/namebench/downloads/list\nInstrucciones para usar namebench Una vez instalado namebench lo ejecutamos. Para ejecutarlo escribimos el siguiente comando en la terminal:\nnamebench Se ejecutará el programa y nos aparecerá la siguiente pantalla:\nNota: La captura de pantalla muestra las opciones que elegí para saber cuales son los mejores DNS en mi caso. Otras configuraciones también pueden ser completamente válidas. Las opciones de configuración que ofrece namebench se pueden ver en la última captura de pantalla. El significado de cada una de las celdas es el siguiente:\nnameservers: En este campo tenemos que introducir la totalidad de servidores DNS que queremos asegurar que sean incluidos en la comparativa de velocidad. El valor por defecto de este campo son las DNS que tenemos configuradas actualmente en nuestro equipo, que como se puede ver en la captura de pantalla son los de mi ISP. Si queremos podemos ampliar el campo nameservers con otros servidores DNS.\nInclude global DNS providers: Si seleccionamos esta opción estaremos incluyendo Multitud de servidores DNS archiconocidos en nuestro estudio. Estos DNS por ejemplo incluyen los DNS de Google, los OpenDNS o los UltraDNS.\nNota: Editando el fichero namebench.cfg ubicado en /etc/namebench podemos añadir servidores adicionales. No obstante si consultáis el archivo veréis que dispone de aproximadamente 4000 servidores DNS. Por lo tanto en principio no es necesario ampliar la lista. Include best available regional DNS services: Seleccionando esta esta opción estamos incluyendo un gran número de servidores regionales en nuestro análisis de servidores más rápidos.\nNota: A pesar de disponer de un elevada base de datos de servidores namebench solo considerará 10 servidores en el estudio que realizará. Namebench elegirá 4 servidores globales, 4 servidores regionales y el servidor dns primarios y secundario que tenemos actualmente configurados en nuestro ordenador. Include Censorship Checks: Al seleccionar esta opción estaremos forzando a namebench que testee los servidores DNS con páginas web que en principio están censuradas. Namebench intentará analizar que el resultado de la consulta a la páginas web censuradas proporcionen el resultado esperado. En el caso de no proporcionar el resultado esperado entonces este servidor DNS no es seguro.\nYour Location: En este apartado tenemos que seleccionar nuestro país. En mi caso España.\nUpload and Share: Al seleccionar esta opción estamos dando permiso a namebench para que almacene de forma anónima los resultados que hemos obtenido en el test. De está forma namebench podrá mejorar su software y de paso los ISP podrán consultar la información acerca de si el servicio que están ofreciendo es correcto o no.\nQuery Data Source: Como hemos dicho anteriormente namebench tiene una base de datos de páginas web que usa para realizar peticiones a los servidores DNS. Pues bien, la verdad es que no solo tiene una base de datos si no que tiene varias. En este campo nosotros deberemos elegir la base de datos que deseemos. Por ejemplo podemos elegir las paginas web que tenemos en el historial de navegación de nuestro navegador, el top 2000 de las páginas web registradas en Alexa, etc.\nHealth Check Performance: En este campo podemos seleccionar el número de servidores DNS a los que namebench puede realizar peticiones simultáneamente. Si elegimos la opción fast se podrán realizar hasta 40 peticiones a servidores de forma simultanea. Si elegimos slow se harán 10.\nNumber of queries: En este campo estaremos seleccionando un número de peticiones que se harán para cada uno de los servidores DNS. Por defecto el número de peticiones que se hace a cada uno los servidores DNS es de 250.\nUna vez seleccionadas las opciones clicamos al Botón Running y empezará el estudio. El estudio durará ente 10 y 15 minutos aproximadamente.\nComo hemos dicho anteriormente namebench realizará peticiones automáticas de nuestras direcciones más visitas almacenadas en Firefox o en el top 2000 de las webs registradas en Alexa y analizará y registrará la velocidad de resolución de cada uno de los servidores DNS.\nRESULTADOS PROPORCIONADOS POR NAMEBENCH Una vez realizado el análisis nos dará el siguiente tipo de resultados:\nNota: Como se puede ver en la captura de la imagen si cambiará mi servidor DNS primario actual por el servidor DNS de Google mi velocidad de resolución en las peticiones se incrementaría un 10%. Nota: En el primer gráfico podemos ver que Google es el servidor DNS que nos da la mejor velocidad media de resolución de peticiones con 130 ms de media. En el segundo gráfico podemos que la resolución más rápida que ha realizado ha sido de 74ms ocupando prácticamente la última posición. Esto quiere decir que la velocidad de resolución de peticiones del servidor DNS de Google es muy constante independientemente de la web que queramos visitar. Nota: En este gráfica se puede que que el servidor DNS de Google resuelve aproximadamente el 80% de peticiones en apenas 70ms. Mientras que el servidor de Terra el 42% de las peticiones las resuelve en apenas 40 ms. Nota: Este tipo de gráfico muestra el mismo tipo de información que la anterior. La única diferencia es que el gráfico anterior solo se representaban los 200 primeros ms mientras que en esta se representa hasta los 3500 ms. COMO CAMBIAR LOS DNS DE MI ORDENADOR Seguidamente en función de los resultados obtenidos con namebench cambiaremos los DNS de nuestro ordenador para de esta forma poder navegar más rápido. La forma más rápida para poder realizar este paso es mediante al terminal. Por lo tanto abrimos una terminal e introducimos el siguiente comando:\nsudo gedit /etc/resolv.conf Se abrirá el editor de textos gedit. El contenido que tengo inicialmente es:\n# Generated by NetworkManager nameserver 80.58.0.33 nameserver 80.58.32.97\nAhora tan solo tengo que sustituir las IP del servidor primario y secundario en función de los resultados obtenidos en namebench. Por lo tanto en mi caso el contenido del archivo resolv.conf tendría que quedar de la siguiente forma:\n# Generated by NetworkManager nameserver 8.8.8.8 nameserver 195.235.113.3\nGuardamos los cambios, cerramos el editor de textos y ya podemos decir que el proceso ha terminado.\nNota: Otra opción es cambiar los servidores DNS directamente en el router. ALGUNOS SERVIDORES DNS PÚBLICOS RECONOCIDOS En el caso que algunas personas tengan curiosidad para consultar algunos de los servidores DNS existentes les dejo el siguientes link:\nhttp://www.adslzone.net/datosconexion.html\nAdemás también existen otra serie de servidores DNS público como por ejemplo los siguientes:\nGoogle DNS DNS Primario: 8.8.8.8 DNS Secundario: 8.8.4.4\nOpenDNS DNS Primario: 208.67.222.222 DNS Secundario: 208.67.220.220\nComodo Secure DNS DNS Primario: 8.26.56.26 DNS Secundario: 8.20.247.20\nNorton ConnectSafe DNS Primario: 198.153.192.50 DNS Secundario: 198.153.194.50\nFUENTES https://code.google.com/p/namebench/\n","permalink":"https://geeklandlinux.github.io/posts/elegir-el-mejor-servidor-dns/","summary":"\u003cp\u003eEn grandes cantidades de post o en conversaciones entre geeks se suelen recomendar algún que otro servidor DNS para incrementar la velocidad de navegación en Internet. Pero hay que tener en cuenta la elección del mejor DNS depende de múltiples factores. Puede ser que para nosotros el mejor DNS sea el de Google mientras que por determinadas circunstancias en otros países otros servidores DNS, como por ejemplo los que te puede ofrecer tu ISP, funcionen mejor que los de Google.\u003c/p\u003e","title":"Elegir el mejor servidor DNS"},{"content":"Hoy vamos a conocer una distribución GNU Linux llamada Tails. En otros post de este blog hemos visto como usar la Red Tor para navegar anónimamente y acceder a la deep web. Concretamente me refiero al siguiente post:\nhttps://geeklandlinux.github.io/posts/acceder-a-la-deep-web/\nComo podéis ver en el post anterior se muestra como instalar el navegador Tor Bundle y de esta forma poder navegar anónimamente a través de la red Tor. ¿Pero que pasa con el resto de conexiones salientes a internet que no vayan a través del navegador Tor?\nPues sencillamente son conexiones convencionales. Por lo tanto nuestra IP quedará al descubierto y no tendremos garantizado ni nuestro anonimato ni nuestra privacidad.\nAlternativas que no requieran de grandes esfuerzos ni conocimientos para solucionar este problema hay como mínimo 2. Una de ellas es conectarse a través de un servidor VPN. Si quieren tener los detalles de como hacerlo pueden consultar el siguiente post:\nhttps://geeklandlinux.github.io/posts/conectarse-a-un-servidor-vpn-gratis/\nOtra solución diferente a la que acabamos de citar es usar Tails. Seguidamente veremos que es Tails. Como lo tenemos que instalar y que beneficios podemos obtener.\nNota: Tanto el uso de tails como de un VPN nos proporcionará una privacidad total en la totalidad de conexiones que se establecen en Internet. Nota: Tails es un acrónimo. El significado de Tails es “The amnesic Incognito Live system” ¿QUÉ ES TAILS? Tails es una distribución GNU/Linux basada en la rama de Debian Stable. La particularidad de está distribución es que está diseñada para forzar la totalidad de conexiones salientes a través de la red Tor. De está forma estamos garantizando nuestra privacidad y anonimato en la red.\nComo podréis ver más adelante y como podréis experimentar en vuestras carnes Tails es una distribución pensada para ser arrancada en un Live DVD o en un Live USB. Está característica es importante ya proporciona una serie de ventajas muy interesantes.\nBENEFICIOS QUE NOS PROPORCIONA TAILS Seguidamente paso a nombrar una serie de puntos que según mi punto de vista hacen interesante el uso de Tails:\nLa totalidad de conexiones salientes de nuestro ordenador irán a través de la red Tor. Por lo tanto a priori estamos garantizando nuestra privacidad y anonimato ya que usando estamos ocultando nuestra IP y la información saliente estará cifrada. Cualquier conexión saliente que no sea anónima será bloqueada por Tails a no ser que le pidamos expresamente que no lo haga. Tails no deja rastro de los sitios que hemos visitado ni de las acciones que hemos realizado cuando nos conectamos a Internet. Esto esta garantizado gracias a que Tails no hace uso de nuestro disco duro ni tampoco de nuestra memoria Swap. La totalidad de programas se almacenaran y ejecutarán en nuestra memoria RAM y como todos saben la memoria RAM es una memoria volátil. Por lo tanto en apagar nuestro ordenador la memoria se borrará borrando todo rastro de lo que hemos realizado. El Live USB o Live DVD donde ejecutamos Tails no tiene persistencia. Por lo tanto todo lo que se guarde en nuestra home y cualquier programa que instalemos no estará presente la próxima vez que arranquemos Tails. Para poner un ejemplo simple instalamos suponemos que instalamos Gimp. Una vez instalado lo podemos usar sin problema pero al cerrar el ordenador Gimp desaparece. La próxima vez que arranquemos Tails tendremos que volver a instalar Gimp. Tails es una distro que viene con todo lo necesario para proteger nuestros datos e información. Así por ejemplo dispone de Luks para cifrar memorias USB y discos duros externos, OpenPGP para poder cifrar nuestros correos y documentos, Otr para proteger las conversaciones de mensajería instantánea, Nautilus Wipe para triturar los archivos de forma fácil y segura, Https everywhere para cifrar prácticamente la totalidad de conexiones cuando navegamos por internet, etc. Además con Tails podemos siempre llevar nuestro ordenador en el bolsillo. Al ser una distribución Live USB nos podremos conectar en cualquier ordenador y el contenido que veremos será el nuestro. Como podréis ver cuando hayas instalado tails viene equipado con todo lo básico para un uso habitual del ordenador. Además si perdemos el USB a priori no pasa nada ya que quien lo encuentre no podrá acceder al contenido que tenemos almacenado en nuestro USB.\nNota: Tails por defecto no tiene persistencia. En el caso que necesitamos almacenar datos tenemos varias soluciones. Una posible solución es usar un USB adicional para almacenar los datos. Otra es crear una partición adicional cifrada dentro de nuestro Live USB para poder guardar datos y otro tipo de información. En el proceso de instalación se explica como realizar el proceso. INSTALAR TAILS Requisitos mínimos para instalar Tails Antes de empezar la instalación de Tails nos tenemos que asegurar que nuestro ordenador cumple con los requisitos mínimos de instalación. Los requisitos mínimos de instalación especificados en la página web de Tails son los siguientes:\nAunque puede funcionar con menos se recomienda que nuestro ordenador como mínimo disponga de 1GB de memoria RAM. En principio la distro tiene que arrancar con cualquier procesador que disponga de una arquitectura x86 o x64. Esta distro no es compatible para funcionar en procesadores Power PC o ARM. La BIOS de nuestro ordenador tiene que permitir arrancar desde una unidad USB. Hoy en día la gran mayoría de ordenadores disponen de esta característica. En caso de que no la tengan siempre se podrá arrancar desde un Live DVD. Disponer de un USB de como un mínimo de 2GB de almacenamiento para poder ejecutar tails. Descargar Tails El siguiente paso será descargar la imagen ISO de tails. Para descargar la imagen ISO tenemos que visitar la siguiente página:\nhttps://tails.boum.org/download/index.es.html\nUna vez dentro de la página tenemos que seleccionar el método de descarga. Como se puede ver en la captura de pantalla en mi caso he decidido descargar por Torrent.\nLa descarga de la distro nos llevará unos minutos. La imagen ISO ocupa aproximadamente 900Mb. Una vez terminada la descarga veremos se habrán descargado 2 archivos. El primero es la imagen ISO y el segundo es un archivo con la extensión .key. Esté último nos será útil para comprobar la integridad de la imagen ISO que acabamos de descargar.\nComprobar la integridad de la imagen ISO de tails Nota: Es recomendable comprobar la integridad de la imagen ISO pero si no les preocupa la seguridad pueden saltarse este paso. La utilidad de este paso es asegurar que el contenido de la imagen ISO original no ha sido modificada por un tercero. Una vez descargada la imagen ISO hay que comprobar la integrad de la imagen ISO descargada. Para comprobar la integridad de la imagen ISO tenemos que seguir lo siguientes puntos:\n1- Guardamos tanto los archivos .iso y .key que acabamos de descargar en nuestra home.\n2- Ahora tenemos que descargar la firma digital de Tails. La firma digital de Tails la tenemos que descargar de la siguiente página:\nhttps://tails.boum.org/download/index.es.html#verify\n3- Para descargar la firma digital tenemos que dar click en el botón verde (Tails signing Key) que se puede ver en la siguiente captura de pantalla:\n4- Guardamos el archivo que acabamos de descargar en nuestra home y abrimos una terminal. Tecleamos el siguiente comando para importar la llave de Tails a nuestro sistema operativo:\ncat tails-signing.key | gpg --keyid-format long --import 5- Seguidamente para iniciar la verificación criptográfica tecleamos el siguiente comando en la terminal:\ngpg --keyid-format long --verify tails-i386-0.17.2.iso.pgp tails-i386-0.17.2.iso Nota: El texto de color rojo se tiene que modificar en función del nombre del archivo ISO y de la clave criptográfica que hemos descargado. Una vez finalizados estos pasos obtendremos un resultado similar al siguiente:\nComo se puede ver en la captura de pantalla vemos la frase “Firma correcta de “Tails developers (signing key)”\nPor lo tanto podemos estar seguros que esta imagen no ha sido modificada por una tercera persona con el fin de atacarnos. Si se continua leyendo hay una advertencia de que la clave no está certificada por una firma de confianza. En principio este mensaje es normal. Si quisiéramos que no aparezca el mensaje deberíamos firmar la clave nosotros mismos.\nInstalar Tails en la unidad USB Para instalar tails en una unidad USB hay varios métodos. No obstante para aprovechar el 100% de funcionalidades de Tails el mejor método de instalación es el que se describe a continuación:\nNota: Intenté otros métodos como Unetbootin pero me daba numerosos problemas. Para empezar cuando arrancaba Tails solo me detectaba un núcleo de los 2 que tiene mi procesador. Además habían funcionalidades de Tails que no funcionaban. Durante el proceso de instalación hay que ir con sumo cuidado. Cualquier paso que hagáis mal puede generar que se elimine la totalidad de contenido de vuestro disco duro. Para iniciar el proceso de instalación primero tenemos que asegurarnos que tenemos instalado el paquete syslinux. Para ellos abrimos la terminal y ponemos:\nsudo apt-get install syslinux Nota: Seguramente vuestra distro tiene el paquete syslinux instalado de serie. Ahora tenemos que conseguir de 2 unidades USB. Seleccionamos uno de los 2 USB y lo enchufamos en el ordenador. Ahora tenemos que averiguar el nombre que asigna linux a nuestro dispositivo USB. Para ello abrimos una terminal y tecleamos comando:\ndf -h El resultado obtenido es el siguiente:\nComo se puede ver en la imagen hay un dispositivo con denominación /dev/sdf1 que ocupa 1.9 GB. Este es nuestro USB. Por lo tanto ya sabemos que nuestro dispositivo es reconocido con la denominación /dev/sdf.\nNota: como se puede ver en la captura de imagen el dispositivo leído es dev/sdf1. El 1 hay que omitirlo. Nuestro dispositivo será /dev/sdf Una vez conocemos la denominación con la que Linux reconoce nuestro USB abrimos una terminal y tecleamos los siguientes comandos para generar el live USB:\nisohybrid \u0026#39;/home/joan/tails-i386-0.17.2.iso\u0026#39; --entry 4 --type 0x1c y seguidamente:\nsudo cat \u0026#39;/home/joan/tails-i386-0.17.2.iso\u0026#39; \u0026gt; /dev/sdf \u0026amp;\u0026amp; sync Nota: La parte de los comandos en texto rojo es variable en función de donde habéis guardado el archivo ISO de tails que se ha descargado y en función de como linux denomina vuestro dispositivo USB. Esperamos unos minutos y el proceso de instalación de Tails en el USB habrá terminado. Ahora ya podemos reiniciar el ordenador y hacer que arranque a través de la memoria USB para ejecutar Tails. Justo al arrancar Tails veréis la siguiente pantalla:\nSeleccionamos Live, apretamos Enter y esperamos unos pocos segundos, como se puede ver en la captura de pantalla Tails ya ha arrancado:\nActivar la totalidad de funcionalidades de Tails En estos momentos Tails es plenamente operativo. Pero de la forma en que lo hemos instalado ocasiona que no estén disponibles la totalidad de características.\nAsí por ejemplo si queremos crear un espacio de persistencia para poder almacenar archivos, las bookmark del navegador, paquetes de programas descargados, etc no nos será posible. Para poder solucionar este problema tenemos que usar otro dispositivo USB y conectarlo a nuestro ordenador.\nUna vez ya hemos conectado el USB, como se puede ver en la captura de pantalla, vamos al menú Applications/tails/Tails USB Installer\nUna hemos hecho click encima de Tails USB Installer, aparecerá la siguiente pantalla:\nSeleccionamos la opción Clone \u0026amp; Install. Justo después de seleccionarla aparecerá la siguiente pantalla:\nAhora en target device tenemos que seleccionar la unidad del USB que acabamos de enchufar. Seguidamente podamos apretar en el botón Create Live USB. Ahora solamente tenemos que esperar y se creará un nuevo USB con Tails.\nEn el nuevo USB que se acaba de crear funcionaran el 100% de funcionalidades de Tails. Así que ahora ya no necesitamos el primer USB. Lo podemos borrar y usarlo para lo que queramos porqué a partir de ahora solo usaremos el segundo.\nCrear un espacio de persistencia dentro de nuestro USB Como se ha comentado anteriormente Tails es una distribución pensada para no dejar rastros. Por lo tanto cada vez que apagamos el ordenador la totalidad de configuraciones, archivos descargados durante la sesión, bookmark que tenemos en el navegador, programas instalados, configuración del correo Claws, etc desaparecen. La próxima vez que arranquemos el USB el contenido que veremos es exactamente el mismo que como si acabáramos de instalar Tails.\nEsto es positivo ya que borra cualquier rastro que dejamos, pero también puede llegar a molestar que cada vez que arranquemos el ordenador se tengan que realizar exactamente las mismas operaciones, instalar los mismos programas, introducir la configuración del wifi, etc.\nPara solucionar este engorro podemos crear un volumen de persistencia en nuestro USB. Además disponer de un espacio de persistencia puede llegar a ser sumamente útil ya que podremos usar este USB almacenar documentos. Así por ejemplo puedo abrir openoffice y empezar a trabajar en una hoja de cálculo. Una vez terminado el trabajo lo puedo almacenar en el espacio de persistencia. Así cuando introduzca el Pen Drive en otro ordenador lo tendré de nuevo accesible.\nPara crear el espacio de persistencia tenemos que seguir lo siguientes pasos:\nComo se puede ver en la captura de pantalla vamos al menú Applications/Tails/Configure persistent Volume y apretamos el botón derecho del mouse.\nJusto al apretar el botón derecho del mouse aparecerá la siguiente pantalla:\nEn la captura de pantalla pantalla se puede ver se han detectado 2,27 GiB que no se usan en el Pen Drive donde tenemos instalado Tails. Por defecto Tails coge la totalidad de este espacio libre para crear el volumen de persistencia.\nEl volumen de persistencia que se creará estará cifrado. Por lo tanto nos pedirá que introduzcamos una clave de cifrado. Introducimos una buena clave de cifrado y apretamos el botón de Create.\nEsperamos un momento y nuestro espacio de persistencia ya se habrá creado. Ahora nos aparecerá la siguiente pantalla para seleccionar la información que queremos que se almacene en nuestro volumen de persistencia:\nLas diferentes opciones que no mostrará el menú de configuración son las siguientes:\nPersonal Data: Si seleccionamos esta opción podremos almacenar archivos, documentos de trabajo, crear carpetas, etc en el volumen de persistencia.\nGnuPG: Si seleccionamos esta opción las claves OpenPGP creadas o importadas se guardaran en el volumen persistente. Así siempre las tendremos disponibles.\nSSH Client: Si activamos esta opción, en el espacio de persistencia se almacenarán las claves SSH creadas o importadas, las claves de los host que nos hemos conectado y los archivos de configuración de SSH.\nPidgin: Si activamos la opción pidgin la totalidad de archivos de configuración de está aplicación se guardaran en nuestro volumen de persistencia. Esto incluye la configuración de las cuentas, las claves de encriptación OTR y el historial de chats.\nClaws Mail: Si seleccionamos la opción Claws Mail nos permitirá guardar la configuración de nuestro correo electrónico y nuestro emails en el espacio de persistencia.\nGnome Keyring: Si elegimos la opción Gnome Keyring la totalidad de información que contiene el anillo de llaves de gnome se almacenará en nuestro volumen de persistencia. Ejemplos del tipo de información que se guarda en el anillo de llaves son la llave WPA que nos sirve para conectarnos a internet, usuarios, etc.\nNetwork Connections: Si elegimos la opción Network Connections se guardará la configuración de conexión de los distintos puntos de acceso en nuestro volumen de persistencia. Por ejemplo la configuración de acceso a WLAN_46, WLAN_80, etc.\nAPT Packages: Si seleccionamos la opción APT Packages, en nuestro espacio de persistencia se guardara una copia de la totalidad de paquetes instalados con apt-get o synaptic. De esta forma cuando arrancamos el ordenador y necesitemos instalar un programa que ya habíamos instalado anteriormente se instalará mucho más rápido ya que la totalidad de paquetes estarán en el espacio de persistencia y por lo tanto no se tendrán que descargar de Internet de nuevo.\nA****PT Lists: Al seleccionar la opción APT lists haremos que en el espacio de persistencia se almacene la información descargada cuando usamos el comando apt-get update. Así de este modo cuando arranquemos tails la lista de paquetes que contiene cada repositorio estará actualizada.\nBrowser Bookmarks: Al seleccionar la opción Browser Bookmars lo que estaremos consiguiendo es que se guarden nuestras páginas favoritas en el navegador Iceweasel arrancado en modo seguro. Así por ejemplo si ponemos como página favorita la página de The Hidden wiki, la próxima vez que reiniciaremos Tails, The Hidden Wiki aún estará en nuestras páginas favoritas.\nDotFiles: Si activamos la opción Dotfiles todas los archivos ubicados en la ruta /lib/live/mount/persistence/XXX_unlocked/dotfiles estarán accesibles desde nuestra home.\nCustom Directory: La opción Custom directory permite seleccionar cualquier carpeta. Las carpetas que seleccionemos serán almacenadas en nuestro volumen de persistencia. Así por ejemplo si queremos hacer persistente nuestra carpeta de imágenes tan solo tenemos que seleccionar la carpeta Imágenes.\nNota: Cuando arranquemos Tails nos preguntará si queremos arrancar el espacio de persistencia o no. En el caso que querer arrancarlos tendremos que introducir nuestra contraseña. También existe la posibilidad de abrir nuestro espacio de persistencia en modo lectura. Una vez hemos elegido las opciones, como se puede ver en la captura de pantalla tan solo tenemos que apretar el botón Save. En estos momentos ya se ha creado el volumen de persistencia. Para que los cambios surjan efecto se tendrá que reiniciar el ordenador.\nA partir de esto momento solo hay que probar y experimentar con Tails para saber hasta donde podemos llegar.\nPROGRAMAS QUE TIENE TAILS POR DEFECTO Una vez Instalado y configurado Tails ya estáis en disposición de ver el soft que Tails trae de serie. Si hechaÍs un vistazo rápido se puede observar lo siguiente:\nTails utiliza el entorno gráfico de gnome classic.\nEn lo que hace referencia a la área de Redes Tails lleva preinstalado el siguiente software:\nTor, Gnome network Manager, Iceweasel, Pidgin, Claws mail, Liferea, Gobby, Aircrack e I2P.\nEn lo que ha Ofimática se refiere encontramos:\nOpenOffice, Gimp, Inskape, Scribus, Audacity, Pitivi, Simple Scan, Poedit, Sane, Brasero y Sound Juicer.\nEn Criptografia y Privacidad encontramos las siguientes aplicaciones:\nLuks, Palimpsest, GnuPG, Veracrypt, PWGen, Shamir\u0026rsquo;s Secret Sharing, Florence Virtual Keyboard, MAT y KeepassX.\nLIMITACIONES DE TAILS A pesar de los beneficios que Tails nos aporta son inmensos también tenemos que tener en cuenta que tiene limitaciones. Algunas de las limitaciones de Tails son las siguientes:\nTails utiliza la red Tor para la totalidad del tráfico saliente. El utilizar la red Tor implica que el trafico de salida del último nodo al servidor Web no irá cifrado. Por lo tanto alguien podría estar capturando nuestro tráfico. Tails en ningún momento esconde el hecho que estas usando la red Tor. Por lo tanto el administrador de la Red o tu ISP pueden saber que te estas conectando a la Red Tor. Los sitios web donde nos conectamos pueden detectar que el tráfico proviene de un nodo de salida de Tor. Para ello tan solo tienen que introducir la IP de su servidor en la siguiente página web: https://check.torproject.org/cgi-bin/TorBulkExitList.py Aunque usemos Tails y la Red Tor podemos sufrir ataques Man in The middle. La red Tor tiene puntos vulnerables. La red Tor es susceptible de recibir ataques Man in the Middle en el tráfico que se genera desdel nodo de salida de la Red Tor al servidor Web al que nos queremos conectar. Incluso el mismo nodo de Salida puede actuar como un atacante Man in the Middle. Tails por defecto no encripta nuestros documentos ni nuestros correos electrónicos. Tails nos proporciona las herramientas para que lo podamos hacer nosotros mismos. En el caso de necesitar cambiar de identidad se aconseja cerrar Tails y volver a arrancar Tails. Usar la propiedad nueva identidad de Vidalia tiene limitaciones. Si usamos esta propiedad forzaremos a Tor a usar una red de nodos distintos para conectarnos a la página web que queremos visualizar, pero esto solo lo hará para conexiones nuevas. Además si no cerramos Tails las cookies y otros datos almacenados pueden revelar lo que hemos estado realizando. Como hemos visto Tails permite crear volúmenes de persistencia. Hay que ir con cuidado con los volúmenes de persistencia ya que si perdemos nuestro USB tendría la posibilidad de acceder a archivos almacenados. Hay que ir con cuidado e intentar instalar las mínimas aplicaciones posibles en Tails. Tails viene configurado para proporcionar privacidad y anonimato. El simple hecho de instalar otros paquetes en el sistema puede provocar resultados inesperados generando que nuestra privacidad y anonimato queden comprometidos. Tails no hace tus contraseñas más fuertes ni mejores. La componente humana juega un papel fundamental en la seguridad. Tails evoluciona constantemente. Por lo tanto es altamente recomendable instalar las actualizaciones periódicas que van llegando. Gran parte de las actualizaciones que llegan son para tapar agujeros de seguridad. INFORMACIÓN ADICIONAL SOBRE TAILS En el link que pondré a continuación pueden encontrar una guía de usuario de Tails: https://tails.boum.org/doc/index.es.html\nEn esta guía encontrareis explicaciones detalladas y ampliadas de como instalar Tails y como iniciarse en su uso. Gran parte de la información que encontrareis está en Español mientras que el resto está en Inglés.\nOTRAS DISTROS SIMILARES A TAILS Para finalizar solo me gustaría citar ouna alternativa al software Tails que de momento no he probado.\nDiscreete Linux:\nhttps://www.privacy-cd.org/\nFUENTES https://tails.boum.org/\nhttp://es.wikipedia.org/wiki/The_Amnesic_Incognito_Live_System\n","permalink":"https://geeklandlinux.github.io/posts/instalar-tails-para-ser-anonimo/","summary":"\u003cp\u003eHoy vamos a conocer una distribución GNU Linux llamada Tails. En otros post de este blog hemos visto como usar la Red Tor para navegar anónimamente y acceder a la deep web. Concretamente me refiero al siguiente post:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"/posts/acceder-a-la-deep-web/\"\u003ehttps://geeklandlinux.github.io/posts/acceder-a-la-deep-web/\u003c/a\u003e\u003c/p\u003e","title":"Instalar Tails para ser anonimo y navegar por la deep web"},{"content":"En este post detallaremos como conectarse a un servidor web proxy con el fin de poder navegar anónimamente. Este post guarda relación con el post de como conectarse a un VPN que postee en el pasado y podéis consultar en el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/conectarse-a-un-servidor-vpn-gratis/\nEn el post de VPN vimos su funcionamiento teórico, las beneficios que nos puede proporcionar y finalmente vimos como establecer conexión con una serie de servidores VPN gratuitos que podemos encontrar en internet.\nAhora la idea es realizar lo mismo pero esta vez con un servidor proxy. Así que empezaremos detallando lo que es un Servidor Proxy y como funciona:\n¿QUÉ ES UN SERVIDOR HTTP PROXY? Básicamente es una máquina o dispositivo que hace de pasarela a clientes para conectarse a servidores web.\nPor lo tanto cuando nosotros estamos en el navegador y queremos conectarnos a una página web primero hacemos la petición al servidor proxy. Entonces el servidor proxy hará la petición de conexión al servidor web o página web al que queremos conectarnos.\nSi después de leer este apartado aún tenéis dudas leer el siguiente apartado. Después de leer el siguiente apartado todo os quedará completamente claro.\nNota: Este post se centra en servidores http proxy o proxy web. Existen otros servidores proxy como por ejemplo los servidores Proxy socks o Forward Proxy. COMO FUNCIONA UN SERVIDOR PROXY En el siguiente gráfico se puede ver el funcionamiento de un servidor proxy:\nEn el gráfico vemos que nosotros queremos visitar una página web alojada en un servidor web. Por lo tanto realizamos la petición a través del servidor proxy. Por lo tanto el servidor proxy recibirá una petición de nuestro ordenador con una ip externa 46.36.114.66.\nUna vez se haya recibido nuestra petición el servidor proxy realizara la misma petición que acabamos de realizar al servidor web, pero con la particularidad que la petición la hará con la IP 65.34.123.44 que es la IP del servidor proxy. Con esto conseguiremos que ocultar nuestra IP al personal que esta gestionando la página web a la que nos queremos conectar.\nEn otras palabras y para simplificarlo aun más. Imaginemos que tenemos que pedir prestado dinero a una persona y no queremos que sepa que nos lo está prestando a nosotros. Lo que haríamos en este caso es pedir a una tercera persona que pida el dinero por nosotros. Entonces la persona que está prestando el dinero nunca sabría que nosotros estamos en poder del dinero que ha prestado.\nVENTAJAS QUE OBTENEMOS AL CONECTARNOS A TRAVÉS DE UN SERVIDOR PROXY Como acabamos de ver la utilidad principal de conectarnos a través de un servidor proxy es ocultar información a la gente que nos está rastreando. Por lo tanto en cierto modo un servidor proxy no esta convirtiendo en anónimos.\nSer anónimo es sumamente importante por varios motivos. En el momento que que estamos proporcionando nuestra IP estamos revelando entre otras cosas nuestra ubicación. Para que podáis ver que lo que digo es verdad solamente tenéis que acceder a la siguiente página web:\nhttp://myip.es\nCuando accedas a la web obtendrás una información similar a la siguiente:\nNota: Por motivos obvios he ocultado la información que aparece en la captura de pantalla. Como podéis ver en la captura de pantalla cualquier persona que tenga nuestra IP pueder saber nuestra localización exacta y nuestro proveedor de Internet de forma muy fácil.\nAparte de lo que acabamos de ver aún hay mas. Cada vez que visitamos una página web estamos entregando más información aparte de nuestra ip. Para que tengáis una idea de la totalidad de información que estáis proporcionando os podéis conectar a la siguiente página web:\nwww.xhaus.com/headers\nAl conectaros obtendréis una pantalla similar a la siguiente:\nNota: En la captura de pantalla podéis ver la totalidad de información que entegamos al visitar una página web. Parte de la información que entregamos es necesaria para hacer que el servidor web interprete nuestra petición. La gente que esté interesada en el protocolo de comunicación http les dejo el siguiente enlace de introducción: http://es.kioskea.net/contents/264-el-protocolo-http Por lo tanto la información que nuestro navegador esta proporcionando en cada uno de los sitios web que nos conectamos es la siguiente:\nLa dirección de la página web a la que estamos accediendo. El método de conexión que en este caso es el GET. El método GET es el que solicita un recurso ubicado en la URL que nos conectamos. Nuestra dirección IP y el puerto por el que nuestra máquina está transmitiendo. La versión de protocolo solicitado que en la mayoría de casos es HTTP/1.1. El tipo de contenido que acepta nuestro navegador. Información acerca de si nuestro navegador acepta páginas con compresión gzip, etc. Nuestro idioma de preferencia. Este punto por ejemplo es útil en el caso que accedamos a páginas web multi idioma. Con está característica el servidor web sabrá que tendrá que darnos una respuesta en español. El tipo de conexión que en la mayoría de será Keep alive. El protocolo http al realizar la conexión da una respuesta. Al dar la respuesta desconecta la conexión automáticamente. Con el parámetro keep alive hacemos que esta la conexión se mantenga viva para soportar futuras peticiones al servidor al que estamos conectados. Información acerca de nuestro tipo de navegador y del sistema operativo que estamos utilizando. Otra información adicional que no se muestra en la captura de pantalla como por ejemplo la fuente por la cual hemos accedido a la página web, etc. Como podéis ver con la información que estamos dando cualquier hacker tendrá la información suficiente para acceder a nuestro ordenador y amargarnos la existencia. Pensad que le estamos dando muchos datos cruciales como por ejemplo nuestra IP, el sistema operativo que usamos, la versión de un navegador, la versión del navegador, etc. Tan solo con saber nuestra IP y la versión del navegador que usamos puede ser suficiente para que alguien acceda a nuestro ordenador.\nOtras ventajas que obtenemos al conectarnos a Internet a través de un servidor proxy son:\nTener acceso a servicios que no están disponibles en nuestro país. Por ejemplo si estamos en España podríamos acceder a servicios como Pandora o Netflix. Posibilidad de saltarse las restricciones de los servidores proxy que acostumbran existir en muchas empresas para que no nos conectemos a nuestro correo personal, Youtube, Facebook, etc. En función de la infraestructura que tenga la empresa es posible que no sea posible saltarse las restricciones Ocultar lo sitios que visitamos mientras trabajamos. Puede ser que el departamento informático, del sitio donde trabajáis, este registrando las páginas web a las que se conecta cada uno de los empleados. En el caso de usar un servidor proxy solo podrán registrar que nos hemos conectado a un servidor proxy pero no podrán saber en las páginas web que ingresamos. Saltarse restricciones que imponen ciertos servicios de Internet. Por ejemplo los servidores de descarga directa que permiten un número limitado de descargas por IP. Acceso a foros o en páginas web en que se ha baneado nuestra dirección IP. Además en el caso que nosotros tuviéramos un servidor, por ejemplo squid, y lo pudiéramos configurar como un forward proxy podríamos obtener las siguientes prestaciones del servidor proxy:\nProporcionar un servicio de proxy cache http. Así la segunda vez que queramos acceder a un sitio web la velocidad de conexión será mucho más rápida. Un servidor proxy cache es especialmente útil en el caso de tener varios usuarios que visitan páginas comunes. Si estos usuarios están conectados a través del mismo proxy la carga de las páginas se incrementará enormemente. Denegar ciertos a usuarios como por ejemplo p2p, skype, email, etc. Prohibir el acceso a determinadas páginas web. Registrar el tráfico de un usuario de la red en concreto. Denegar el acceso a ciertas submáscaras de red. COMO CONECTARSE A UN SERVIDOR PROXY Paso 1: Buscar un servidor proxy al que conectarnos El primer paso para conectarse a un servidor proxy es buscar un servidor proxy. Para buscar un servidor proxy gratuito al que poder conectarnos es muy fácil. Solamente tenéis que entrar en google y poner proxy list. En mi caso lo he hecho y veo por ejemplo que existe el siguiente servicio que es el que usado para escribir el post:\nwww.ip-adress.com/proxy_list/\nOtras páginas web similares a las que acabo de citar son las siguientes:\nhttp://www.hidemyass.com/ http://www.atomintersoft.com/free_proxy_list\nNota: Si buscáis en google hay un gran número de páginas web con servidores proxy Paso 2: Elegir el tipo de servidor proxy al que nos queremos conectar Una vez hemos accedido dentro de la página web veremos información que se asemeja a la que podéis ver en la siguiente captura de pantalla:\nCada una de las lineas que vemos en la captura de pantalla muestra un servidor proxy distinto. Ahora tenemos que elegir uno de los servidores que se muestran en el listado. En lo primero que nos tenemos que fijar en en el tipo de servidor. En la captura de pantalla vemos que hay de 2 tipos. Anónimo y Elite. También existe un tercer tipo que es el transparente. De entre los 3 tipos solo aconsejo utilizar los Anónimos y los Elite. Los motivos son los siguientes:\nProxy Transparante: A toda costa hay que evitar este tipo de proxy. El principal motivo de conectarse a través de un proxy es conseguir ser anónimo y con los proxy transparentes no conseguiremos nuestro objetivo en absoluto. No lo conseguiremos porqué este tipo de proxy proporciona la totalidad de datos mencionados en el apartado anterior al servidor web al cual nos conectamos. Por lo tanto nuestra IP será visible en todo momento.\nProxy Anónimo: Este tipo de proxy ya es más recomendable. Si queremos usar un proxy solo para navegar es más que suficiente para nosotros. Este tipo de proxy ya no revela nuestra ip real ya que esta enmascarando la variable http_x_forwarded_for. Por lo tanto con el uso de este proxy ya podemos afirmar que somos anónimos. Este tipo de proxy tiene el inconveniente que el servidor web tendrá la capacidad de saber que nos estamos conectando a través de un servidor proxy pero no podrá saber nunca nuestra ip.\nProxy Elite o altamente anónimo: Este tipo de proxy al igual que que el proxy anónimo está enmascarando la variable http_x_forwarded_for, pero además también otras variables como pueden ser la http_via y http_proxy_connection, etc. Por lo tanto estaremos falseando la totalidad de información que entregamos al servidor web y además no podrán detectar que nos estamos conectando a través de un servidor proxy. A priori el servidor proxy tampoco guardará un registro de las IP conectadas al servidor proxy.\nPaso 3: Elegir el servidor Proxy al que nos vamos a conectar Una vez vistos los tipos de servidor proxy existente ahora debemos elegir al que nos conectaremos. Nos conectaremos al primer proxy de la lista. Se trata de un proxy ubicado en los Emiratos árabes y es de tipo anónimo. Como se puede ver en la captura de pantalla tiene un campo en que se indica una IP y un puerto que son: 94.200.77.244 y 8080. Estos son los dos únicos datos necesarios para conectarnos al servidor.\nNota: Hay páginas web que indican si el proxy ofrece un servicio de cifrado SSL. Por norma general los servidores proxy no acostumbran a ofrecer un servicio de cifrado SSL. Nota: Por lo tanto la conclusión es que elijáis servidores del tipo anónimo o élite. Si además estos servidores ofrecen un servicio de cifrado SSL mejor. Una vez conectados al servidor proxy podremos analizar si la velocidad que ofrecen es aceptable o no. Paso 4: Configurar el navegador para conectarse al servidor Proxy En este apartado veremos como configurar el navegador para conectarnos al servidor Proxy. En el ejemplo usamos Firefox. Lo mas aconsejable para realizar la conexión es usar el complemento Foxy Proxy Standard. Para instalar Foxy Proxy standard abrimos al navegador. Una vez vez abierto el navegador como podéis ver en la captura de pantalla vamos al menú de complementos.\nSeguidamente se abrirá una pestaña. En el cuadro de búsqueda tal y como podéis ver la captura de pantalla tecleamos foxyproxy y tecleamos Enter:\nUna vez terminada la búsqueda solo tenemos que apretar el botón instalar de la extensión FoxyProxy Standard 4.1.3. Empezará el proceso de instalación y una vez terminado tendremos que reiniciar el navegador.\nUna vez abierto el navegador veremos un pequeño icono. Le damos un click tal y como se puede ver en la siguiente captura:\nUna vez le hayamos dado click al botón del complemento instalado se abrirá la siguiente ventana:\nAhora tenemos que apretar el botón añadir nuevo proxy. Una vez apretado el botón aparecerá la siguiente pantalla:\nEn el paso 3 hemos decido que queríamos conectarnos al servidor proxy de Emiratos Árabos de tipo anónimo con IP 94.200.77.244 a través del servidor 8080. Por lo tanto lo único que tenemos que hacer es rellenar el campo Host or IP Address y Puerto tal y como se muestra en la captura de pantalla. Una vez realizado apretamos el botón de aceptar. Justo al darle aceptar aparecerá otra ventana al cual tenemos que darle otra vez aceptar. En estos momento ya tenemos configurado nuestro proxy.\nAhora para activar la conexión arrancamos el navegador y tal como se puede ver en la captura de pantalla y damos un click encima del botón del complemento que hemos instalado:\nUna vez accionado el botón aparecerá la siguiente pantalla:\nTal y como veis en la captura de pantalla vamos a seleccionar modo. En seleccionar modo elegimos el proxy que acabamos de configurar que es el de los Emiratos Árabes. Una vez seleccionado apretamos el botón cerrar. En estos momentos ya estamos conectados a través del servidor proxy.\nSi queremos desactivar la conexión a través del servidor proxy es muy fácil. Solamente tenemos que ir al campo seleccionar el modo y elegir la opción Deshabilitar FoxyProxy completamente. Simplemente haciendo esto nuestra conexión volverá a ser la misma que teníamos anteriormente.\nNota: En Chrome también existe la misma extensión y los pasos a seguir son equivalentes. Existen otras extensiones que realizan exactamente la misma función. En caso que no queráis instalar extensiones también existe la posibilidad de configurar manualmente el navegador. Nota: En el caso conectarse a menudo a través de un proxy es bueno tener varios servidores proxy configurados. Si solo tenemos uno activado puede ser que en el momento que queramos usarlo no esté disponible o ya no exista. También hay servidores que ofrecerán mayor velocidad que otros. En definitiva es bueno tener varios por si uno falla. COMPROBAR QUE EL SERVIDOR PROXY FUNCIONA CORRECTAMENTE Una vez conectados al proxy tenemos que comprobar si funciona y el nivel de seguridad que nos está ofreciendo. Es bueno hacerlo o ya que a veces los servidores dicen que son anónimos y en realidad son transparentes.\nPara saber si el proxy funciona solamente tenéis que ingresar una dirección en el navegador y ver si nos podemos conectar. En el caso de no ir bien tendremos que probar otro servidor proxy. No todos los servidores proxy funcionan. Para configurar otro servidor proxy tendremos que seguir los pasos 2, 3 y 4 de nuevo.\nPara poder testear el nivel de protección que ofrece el proxy una vez nos hemos conectando solamente tenemos que acceder a las páginas que nos habíamos conectado anteriormente.\nhttp://myip.es http://xhaus.com/headers\nAhora los resultados son los siguientes:\nComo se puede ver en las capturas de pantalla la IP esta completamente oculta. Ahora mi IP y mi ubicación pertenecen a los Emiratos Árabes. En la última captura de pantalla se puede ver que aparece la variable Via. Esto es un indicativo que los sitios donde me conecto pueden detectar que estoy conectando a través de un servidor proxy.\nOtras páginas a las que nos podemos conectar para realizar comprobaciones son las siguientes:\nhttp://checker.samair.ru/ http://www.internautas.org/w-testproxy.php\nLIMITACIONES DE LOS SERVIDORES PROXY La principal limitación de los servidores proxy es que nos permiten ser anónimo pero no garantizan nuestra privacidad. La totalidad de tráfico que generamos viajará por la red sin cifrar. Por lo tanto nuestro tráfico es susceptible de ser esnifado. No obstante quien esnife nuestro tráfico no podrá saber nuestra IP. Una opción para este problema es pagar o buscar un servidor proxy que ofrezca un servicio de cifrado SSL. Otra opción podría ser conectarse a través de un servidor VPN.\nOtros problemas que puede generar la conexión a través de un servidor proxy son los siguientes:\nHay que ir muy en cuenta quien está detrás de un servidor proxy o un servidor VPN. Si no son servicios confiables pueden registrar la totalidad de nuestro tráfico, registrar nuestras contraseñas, robar nuestros número de cuentas bancarias, inyectarnos código malicioso para pasar a formar parte de una Botnet. etc. La Navegación es más lenta que en el caso que usemos un servidor VPN. Cada aplicación se tiene que configuración específicamente para que se conecte a través del servidor proxy. Por lo tanto si seguimos las indicaciones del post solo se obtendrá una navegación anónima. En el caso que realicemos una descarga P2P o chateemos no seremos anónimo Alternativas que tenemos a los servidores proxy son las servidores VPN y la red Tor. En el caso que precisen información de servidores VPN o de la red Tor pueden consultar los siguientes enlances:\nhttps://geeklandlinux.github.io/posts/conectarse-a-un-servidor-vpn-gratis/\nhttps://geeklandlinux.github.io/posts/acceder-a-la-deep-web/\nhttps://geeklandlinux.github.io/posts/instalar-tails-para-ser-anonimo/\nFUENTES El contenido de este post se ha generado a raíz de un podcast que escuche. Se llama Reality cracking y su Autor es Julio Serrano (@mhyst). Seguidamente les dejo el feed de Ivoox para las personas que quieran seguir este podcast.\nhttp://www.ivoox.com/podcast-reality-cracking_fg_f159955_filtro_1.xml\nPara quien quiera visitar el blog de @mhyst les dejo su dirección.\nhttps://logicademhyst.blogspot.com/\n","permalink":"https://geeklandlinux.github.io/posts/conectarse-a-un-servidor-proxy/","summary":"\u003cp\u003eEn este post detallaremos como conectarse a un servidor web proxy con el fin de poder navegar anónimamente. Este post guarda relación con el post de como conectarse a un VPN que postee en el pasado y podéis consultar en el siguiente enlace:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"/posts/conectarse-a-un-servidor-vpn-gratis/\"\u003ehttps://geeklandlinux.github.io/posts/conectarse-a-un-servidor-vpn-gratis/\u003c/a\u003e\u003c/p\u003e","title":"Conectarse a un servidor Proxy"},{"content":"Incrementar el rendimiento con prelink es el penúltimo post de la serie que detalla como incrementar el rendimiento de nuestro ordenador. Aunque tengo en mente alguna que otra idea de momento haré un paréntesis. Posiblemente en un futuro incluya algún que otro post en la siguiente lista:\nLiberar memoria cache de nuestra RAM. Limitar el uso de nuestra memoria Swap y limpiarla en el caso que se active. Usar la RAM más eficientemente con Zram. Acelerar el inicio de nuestras aplicaciones con Preload. Acelerar el inicio de nuestras aplicaciones con Prelink. Aligerar el rendimiento de nuestro sistema operativo con Zswap. FUNCIONAMIENTO DE PRELINK Prelink es una aplicación desarrollada por un ingeniero de Software de Red Hat llamado Jakub Jelínek. El resultado que obtendremos con Prelink es un ligero incremento de velocidad en el arranque de las aplicaciones. Lo que hace prelink para incrementar la velocidad de arranque es modificar las librerías compartidas y binarios para que nuestras aplicaciones se inicien más rápido.\nHay que tener en cuenta que la gran mayoría de aplicaciones hacen uso de las librearías compartidas. Por lo tanto cuando ejecutamos un binario estas librerías compartidas se tendrán que cargar en la memoria. Además cuando las aplicaciones se ejecuten se necesitará un tiempo para hallar su posición dentro de la memoria.\nComo las operaciones para ejecutar un programa siempre son las mismas lo que hará prelink es enlazar las librerías compartidas con el fichero binario. Esto lo conseguirá asignando una dirección virtual única de espacio a cada una de la librerías compartidas. Esta dirección única será almacenada en los ficheros binarios. Así de este modo conseguiremos incrementar la velocidad de carga de las aplicaciones ya que en todo momento sabremos donde están las librerías compartidas que necesitamos para ejecutar las aplicaciones.\nPor lo tanto con prelink estamos modificando los ejecutables de nuestro ordenador añadiéndoles información para enlazarlos automáticamente con las librerías compartidas.\nOBSERVACIONES DEL FUNCIONAMIENTO DE PRELINK Una vez hemos visto, a groso modo, como funciona prelink ya podemos llegar a las siguientes conclusiones:\nCuantas más librerías compartidas use un programa mayor será el incremento de rendimiento que obtenemos con prelink. En el caso que se modifique algún fichero binario se perderá el efecto de prelink. Como veremos más adelante hay soluciones para evitar este problema. INSTALAR Y CONFIGURAR PRELINK En la mayoría de distribuciones Linux prelink viene en los repositorios oficiales. Por lo tanto para instalar prelink abrimos un terminal y tecleamos:\nsudo apt-get install prelink Seguidamente para activar prelink tenemos que acceder a su archivo de configuración. Para acceder a su archivo de configuración tecleamos el siguiente comando en la terminal:\nsudo gedit /etc/default/prelink Se abrirá el editor de textos. Ahora tenemos que modificar los siguientes parámetros del archivo de configuración:\nDentro del fichero veremos que hay el siguiente texto:\nPRELINKING=unknown Tenemos que modificar esta linea y dejarla como podéis ver a continuación:\nPRELINKING=yes Nota: Es posible que en vuestra distro el valor estándard de la variable PRELINKING sea \u0026lsquo;NO\u0026rsquo; en vez de \u0026lsquo;UNKNOWN\u0026rsquo;. Si es este el caso lo único que hay que hacer es cambiar el \u0026rsquo;no\u0026rsquo; por \u0026lsquo;yes\u0026rsquo; Dentro del mismo archivo de configuración también podemos modificar las opciones de funcionamiento de prelink. Dentro del archivo de configuración veremos una linea que pone:\nPRELINK_OPTS=-mR -mR son las opciones de configuración estándard de prelink. En mi caso las modifico quedando del siguiente modo:\nPRELINK_OPTS=-amR El significado de cada una de las opciones de configuración es:\na: Especifica que se haga un prelink de la totalidad de binarios y de las librerías especificadas en el directorio /etc/prelink.conf.\nm: Opción que permite un ahorro de memoria cuando se enlazan los ficheros binarios y las librerías compartidas. Lo consigue de la siguiente manera. Antes hemos dicho que prelink asigna una dirección virtual única a cada una de las librerías compartidas. Pero bajo determinadas circunstancias prelink hará que distintas librerias puedan tener la misma dirección virtual única con el consecuente ahorro de memoria. Esta opción es sobretodo útil en el caso que el número de enlaces a realizar sea alto.\nR: El proceso de asignar direcciones a las librearías compartidas lo hace de forma aleatoria.\nPara tener una explicación más detallada del funcionamiento y de las diferentes opciones que tiene prelink podemos abrir una terminal y teclear:\nman prelink De este modo podemos ver y comprender la totalidad de opciones que nos ofrece prelink.\nEJECUTAR PRELINK POR PRIMERA VEZ Seguidamente iniciaremos prelink por primera vez. Para iniciarlo por primera vez tenemos abrir una terminal e introducir el siguiente comando:\nsudo prelink -amvR Seguramente tendréis que esperar un buen rato ya que en este momento se están enlazando nuestras librearías compartidas con nuestros binarios. El proceso puede terminar con éxito tal y como me paso con Xubuntu. Si el proceso termina con exito ya podemos decir que la totalidad de nuestro binarios y nuestras librerías están enlazados.\nTambién puede ser que se generen errores durante el proceso como me paso en Debian Testing y en Debian Sid. En el caso que se den errores en medio del proceso de enlace actuar del siguiente modo:\nRESOLUCIÓN DE PROBLEMAS LA PRIMERA VEZ QUE EJECUTAMOS PRELINK El típico error que se puede dar es el que podéis observar en la siguiente captura de pantalla:\nComo podéis ver se trata de una librería que no puede prelinkar. Se trata de la librería /usr/lib/apt/methods/rred. Como no puede enlazar esta librería se para el proceso, y por lo tanto el proceso de preenlazar queda incompleto. Una solución que tenemos para hacer que se se termine el proceso es introducir las librerías que paran el proceso de enlace a la lista negra de prelink. Para introducir a la lista negra la totalidad de librerías que nos dan problemas tenemos que seguir los siguientes pasos:\nPaso 1- Dar permisos de escritura al archivo /etc/prelink.conf. Este fichero es el que contiene las rutas de los los binarios y librerías a preenlazar y donde deberemos introducir las excepciones. Para darle permisos de escritura abrimos una terminal y tecleamos:\nsudo chmod 666 /etc/prelink.conf Paso 2- Ejecutamos prelink con el siguiente comando:\nsudo prelink -amvR Prelink se ejecuta hasta que nos da el error. Vemos que por ejemplo el error esta en la librería /usr/lib/apt/methods/rred.\nPaso 3- Introducimos la librería que contiene el error en la lista negra introduciendo el siguiente comando en la terminal:\nsudo echo -b /usr/lib/apt/methors/rred \u0026gt;\u0026gt; /etc/prelink.conf Nota: La parte de color rojo del comando se tiene que modificar en función de la librería que se quiera introducir a la lista negra. A continuación dejo una captura de pantalla para que puedan observar como realice los pasos 2 y 3:\nPaso 4- Seguidamente hay que ejecutar los pasos 2 y 3 tantas veces como sea necesario hasta que se pueda finalizar el proceso de enlazado.\nUna vez finalizado el proceso si queremos podemos ver la totalidad de librerías introducidas en la lista negra. Solo tenemos que introducir el siguiente comando en la terminal:\ngedit /etc/prelink.conf La totalidad de librerías que en el editor de textos empiezan por -b están en la lista negra de prelink.\nNota: Es posible que tengáis que introducir bastantes rutas de librerías en la lista negra. Por lo tanto este proceso requiere de bastante paciencia. ASEGURAR QUE PRELINK NO HAGA INESTABLE NUESTRO SISTEMA Como hemos visto en la explicación inicial estamos modificando los binarios de nuestro sistema operativo para que puedan acceder a las librerías compartidas mucho más rápido de lo habitual. Esto significa que en el momento que actualicemos o recompilemos un programa se perderá el efecto de prelink ya que estaremos reemplazando el fichero binario modificado por otro completamente nuevo.\nPor lo tanto después de cualquier utilización es recomendable volver a ejecutar el comando:\nsudo prelink -amvR De este modo estaremos reconstruyendo los enlaces de las librerías compartidas con los binarios. Este proceso es necesario realizarlo periódicamente para no perder el efecto de prelink.\nSi queremos evitar tener que rehacer los prenlaces cada vez que modifiquemos los paquetes de nuestro sistema tenemos una solución fácil. En el archivo de configuración /etc/default/prelink vemos que prelink viene configurado para ejecutarse automáticamente cada 7 días a través de cron.daily. Conociendo esto podemos hacer que se revisen los enlaces automáticamente cada vez que se modifiquen los ficheros de nuestro sistema. Para ello abrimos una terminal y tecleamos:\nsudo gedit /etc/apt/apt.conf Se abrirá el editor de texto. Una vez dentro del fichero de configuración de apt tan solo tenemos que copiar el siguiente texto al final de fichero:\nDPkg::Post-Invoke {\u0026#34;echo Ejecutando prelink, por favor espere...;/etc/cron.daily/prelink\u0026#34;;} Guardamos, salimos y listo. De este modo cada vez que se actualicemos un paquete, ya sea con synaptic o con apt-get , se ejecutará prelink automáticamente y todos los binarios serán pre enlazados con las librerías correspondientes.\nDESINSTALAR PRELINK En el caso que no estemos satisfechos con el rendimiento de prelink podemos deshacer la totalidad de acciones que hemos realizado siguiendo el siguiente proceso:\nAbrimos una terminal y tecleamos:\nsudo gedit /etc/default/prelink Una vez tengamos abierto el editor de texto buscamos la linea:\nPRELINKING=yes y la modificamos por:\nPRELINKING=no Guardamos el fichero. Abrimos una terminal y ejecutamos el siguiente comando:\nsudo /etc/cron.daily/prelink Seguidamente abrimos el archivo de configuración de apt introduciendo el siguiente comando en la terminal:\nsudo gedit /etc/apt/apt.conf Una vez abierto el editor de texto borramos la siguiente linea:\nDPkg::Post-Invoke {\u0026#34;echo Ejecutando prelink, por favor espere...;/etc/cron.daily/prelink\u0026#34;;} Finalmente ya solo nos queda ejecutar los siguientes comandos para no dejar rastro de prelink en nuestro sistema:\nprelink -au sudo apt-get remove --purge prelink PROBLEMAS CONOCIDOS CON PRELINK No se aconseja usar prelink en sistemas operativos que tengan un versión de kernel inferior a 2.4.10. Creo que a día de hoy prácticamente no quedan sistemas que funcionen con esta versión de Kernel. Como hemos comentado prelink estará modificando los binarios de nuestras aplicaciones. Por lo tanto si tenemos instalados los paquetes checksecurity y tripwire nos estarán dando advertencias constantemente. En principio estos paquetes no vienen instalados de serie. Los 2 paquetes realizan comprobaciones básicas de seguridad en el sistema y también comprueban la integridad de los archivos y de las carpetas. Se aconseja no usar prelink en ordenadores en que tengamos problemas de espacio en el disco duro. Se recomienda un espacio mínimo de al menos 50 MB. El motivo es que prelink añade información tanto a nuestras librerías compartidas como en nuestros ficheros binarios. Por lo tanto si no hay espacio suficiente para poder realizar estas modificaciones podemos llegar a romper nuestro sistema. Nota: Con todo lo citado en el post prelink puede llegar a parecer peligroso. No obstante llevo tiempo usándolo y nunca me ha dado ningún problema. Tampoco he encontrado casos en Internet de gente que le haya destrozado el sistema por el uso de prelink. En definitiva prelink siempre me ha funcionado correctamente tanto en sistemas de 32 bits como en sistemas de 64 bits. INCREMENTO DE RENDIMIENTO PROPORCIONADO POR PRELINK La verdad es que ha sido difícil encontrar gente que reporte sobre las mejoras obtenidas con prelink. Únicamente he hallado una fuente que reporta resultados. Los resultados son los siguientes:\nSin Pelink (s) Con Prelink (s) Tiempo de arranque 112 109 Openoffice - writer 15 12 Firefox 5 5 Nota: Me gustaría y agradecería que la gente reportará los resultados de mejora que obtiene con Prelink. De este modo podría tener más información para cumplimentar este último apartado. FUENTES http://community.linuxmint.com/tutorial/view/473\nhttp://en.wikipedia.org/wiki/Prelink\nhttp://people.redhat.com/jakub/prelink.pdf\n","permalink":"https://geeklandlinux.github.io/posts/incrementar-el-rendimiento-con-prelink/","summary":"\u003cp\u003eIncrementar el rendimiento con prelink es el penúltimo post de la serie que detalla como incrementar el rendimiento de nuestro ordenador. Aunque tengo en mente alguna que otra idea de momento haré un paréntesis. Posiblemente en un futuro incluya algún que otro post en la siguiente lista:\u003c/p\u003e","title":"Incrementar el rendimiento con Prelink"},{"content":"Siguiendo el plan trazado estas últimas semana hoy explicaremos como incrementar la rapidez de ejecución de nuestras aplicaciones con Preload. Cabe recordar que el plan trazado es generar un conjunto de post para explicar como optimizar el rendimiento de nuestra memoria RAM y por lo tanto de nuestro sistema. La serie de post son los siguientes:\nLiberar memoria cache de nuestra RAM. Limitar el uso de nuestra memoria Swap y limpiarla en el caso que se active. Usar la RAM más eficientemente con Zram. Acelerar el inicio de nuestras aplicaciones con Preload. Acelerar el inicio de nuestras aplicaciones con Prelink. Aligerar el rendimiento de nuestro sistema operativo con Zswap. DESCRIPCIÓN DEL FUNCIONAMIENTO DE PRELOAD Aconsejo tener instalado el paquete preload. La función que desempeñará el demonio de preload es acelerar el arranque de las aplicaciones en nuestro sistema. ¿Cómo Preload consigue acelerar el arranque de nuestras aplicaciones?\nPreload registra y monitorea las aplicaciones y procesos que más usamos y más ejecutamos. De está forma Preload puede hacer una predicción de los procesos que usaremos en un futuro y precargarlos en nuestra memoria RAM antes de que nosotros los ejecutemos. Todo el proceso de monitorear, predecir y precargar lo hará cada 20 segundos. La frecuencia del ciclo se puede modificar accediendo a los archivos de configuración.\nCon un ejemplo se verá más claro. Imaginemos que casi siempre usamos libreoffice y nuestro gestor de correo Thunderbird. Por lo tanto en el momento de arrancar nuestro sistema Preload precargará las librerías y procesos que utilizan estas aplicaciones en nuestra memoria RAM para que en el momento de arrancar estas aplicaciones inicien mucho más rápido. Estas aplicaciones arrancarán mucho más rápido porqué ya están precargadas en nuestra memoria RAM y evitamos tener que acceder a información almacenada en nuestro disco duro.\nAdemás tenemos que tener en cuenta que Preload se está adapta constantemente a nuestras necesidades. Ahora suponemos que dejamos de usar Thunderbird y en detrimento de Thunderbird usamos otro gestor de correo. Si pasa esto preload lo detectará y dejará de precargar las librerías de Thunderbird en nuestra memoria.\nPara que la gente tenga una de la mejora que puede suponer usar preload les cito el siguiente dato. La velocidad de transferencia de datos en una memoria RAM DDR3-1333 se puede aproximar a los 10664 MB/s mientras que la velocidad de transferencia de un disco duro SATA 3 es de 600 MB/s. Además tenemos que añadir que el tiempo de acceso de la información almacenada en la memoria RAM puede ser de unos 9 nano segundos mientras que si la tenemos almacenada en nuestro disco duro será de 4 milisegundos (4000000 ns). Por lo tanto si podemos arrancar las aplicaciones sin tener que acceder, o teniendo menos acceso a la información almacenada en nuestro disco duro el rendimiento será mejor.\nINSTALAR PRELOAD Instalar Preload es muy fácil. Solamente tenemos que abrir una terminal y teclear el siguiente comando:\nsudo apt-get install preload Tanto en Debian como en ubuntu ya no hay que hacer nada mas. A partir de este momento preload estará activo cada vez que arrancamos nuestro sistema. Así de simple. Con este simple comando se precargaran los ficheros, librerías y mapas de procesos que más usamos en nuestra memoria RAM y cuando arranquemos ciertas aplicaciones evitaremos tener que acceder a nuestro disco duro para que se inicien las aplicaciones.\nNota: Puede ser posible que el arranque de nuestro sistema sea un poco más lento si tenemos instalado Preload. El motivo es que Preload precargará la información que considere oportuna en nuestra memoria RAM en el arranque del sistema. Nota: Hay distros linux en que no se activa automáticamente el demonio de preload. Hay que activarlo manualmente. Por ejemplo una de estas distros es Manjaro. Seguramente haya otras. OPCIONES DE CONFIGURACIÓN DE PRELOAD La configuración estandard de Preload funciona a la perfección. Por lo tanto en principio no es necesario ajustar ningún parámetro. No obstante en el caso que alguien por necesidad o por experimentar quiere modificar algún parámetro lo puede realizar tranquilamente modificando los parámetros del siguiente archivo:\nsudo gedit /etc/preload.conf Nota: Es altamente recomendable no tocar estos valores. Es probable que cualquiera de los nuevos valores introducidos impliquen un empeoramiento del rendimiento del sistema. En función de los cambios que se realicen el sistema operativo se puede volver inestable. Algunos de los valores que se pueden modificar en el fichero de configuración son:\nParámetro cycle Este parámetro por defecto tiene un valor de 20. Lo que significa el valor 20 es que cada 20 segundos el demonio preload analizará si la información que tenemos precargada en nuestra cache es la adecuada en función del uso que nosotros damos al ordenador. Por lo tanto preload cada 20 segundos recopila datos , hace una predicción de los datos a cargar en nuestra memoria, y finalmente los carga si es preciso.\nNota: Un valor demasiado bajo puede reducir el rendimiento y la estabilidad. En el fichero de configuración nos advierte que el valor de este parámetro tiene que ser un valor par. Parámetro Usecorrelation Por defecto tiene el valor de True. Este parámetro solo puede tener como valores True o False.\nSi el parámetro es true preload usará coeficientes de correlación a la hora de realizar la predicción de la información que hay que cachear y precargar en memoria. A priori si se usan coeficientes de correlación las predicciones que hará preload serán mejores.\nNota: Desconozco el tipo de coeficientes de correlación que usa Preload. No obstante un coeficiente de correlación que mucha gente conocerá es el de pearson. Cuando hacíamos regresiones lineales en el colegio sacábamos un coeficiente alfa o coeficiente de Pearson. Si teníamos una alfa de 0,99 quería decir que la recta se ajustaba a nuestra nube de puntos y que por lo tanto se podía realizar una predicción exacta de lo que puede pasar al tocar una de las variables. Parámetro Minsize Este parámetro por defecto tiene un valor de 2000000 bytes. Este valor implica que Preload solo considerará precargar en memoria aquellos mapas de procesos con una tamaño superior a 2000000 bytes. Por lo tanto si bajamos este valor Preload cacheará multitud información para arrancar incluso las aplicaciones más ligeras mientras que si subimos mucho este valor Preload solo precargará información para el arranque de aplicaciones pesadas.\nNota: Si incrementamos mucho este valor es posible que preload pierde efectividad mientras que si lo bajamos mucho nuestro ordenador estará consumiendo más recursos de los deseados. Parámetros memtotal, memfree y memcached Estos tres parámetros son los que determinarán el máximo de memoria RAM que podrá ser utilizada por Preload. Los valores de estos 3 parámetros se indican en % y pueden tomar un valor de -100 a 100. Los valores por defecto son respectivamente -10%, 100% y 30%. El significado de estos valores es:\nUsa como máximo el 100% de la memoria libre menos un 10% de la memoria total más un 30% de la memoria cache que está en uso.\nNota: Por lo tanto Preload nunca dejará seco de memoria RAM a nuestro ordenador. Estos parámetros nos asegurarán aprovechar al máximo la memoria RAM disponible. Parámetro doscan Este parámetro tiene dos valores posibles. False o True. De forma predeterminada viene fijado en True. No tiene sentido fijar el valor de este parámetro en False ya que entonces Preload perdería su funcionalidad. En el caso de fijar el valor de este parámetro en False Preload dejaría de escanear los procesos que usamos más habitualmente.\nParámetro dopredict Este parámetro al igual que el anterior solo puede tener los valores False o True. De forma predeterminada este parámetro viene fijado en True. En el caso que lo fijáramos en False Preload perdería toda su funcionalidad ya que estaríamos deshabilitando la función de predicción de los mapas de procesos que hay que precargar en la RAM.\nParámetro autosave Este parámetro viene prefijado con un valor de 3600 segundos. Esto implica que cada 3600 segundos Preload guardará su estado en el disco. Es decir cada 3600 segundos se hará una copia de los archivos que Preload tiene cacheados. No es estrictamente necesario tener activada esta característica ya que cada vez que se apague el demonio Preload se guardará su estado en disco con el fin de poder volver a recuperar la información que tenemos cacheada una vez arranquemos el ordenador de nuevo.\nParámetro mapprefix El parámetro mapprefix sirve para indicar que ciertas rutas no sean escaneadas/monitoreadas por Preload. El valor por defecto de este parámetro es empty list, accept all. Por lo tanto en principio Preload escaneará y monitoreará la totalidad de rutas existentes.\nEn el caso de querer excluir una ruta del monitoreo de Preload lo podemos hacer con la sintaxis que se describe dentro del mismo fichero de configuración.\nParámetro exeprefix El parámetro exeprefix sirve para indicar que ciertos archivos binarios no sean escaneados/monitoreados por Preload. El valor por defecto de este parámetro es empty list, accept all. Por lo tanto en principio Preload escaneará y monitoreará la totalidad de ficheros binarios existentes.\nEn el caso de querer excluir un fichero binario de del monitoreo de Preload lo podemos hacer con la sintaxis que se describe dentro del mismo fichero de configuración.\nMONITOREAR EL FUNCIONAMIENTO DE PRELOAD En caso de tener necesidad de monitorear los eventos que realiza preload lo podemos hacer abriendo una terminal y tecleando el siguiente comando:\nsudo tail -f /var/log/preload.log Después de teclear este comando obtendremos el siguiente resultado:\nComo se puede observar en la captura de pantalla quedan registrados datos como por ejemplo la confirmación que se arranca Preload en el momento de iniciar nuestro sistema operativo, que se va guardando una copia de los archivos cacheados por Preload cada 3600 segundo tal y como habíamos estipulado en el fichero de configuración, etc.\nEn el caso de querer comprobar la totalidad de librerías que tiene cacheadas preload lo podemos realizar fácilmente. Tan solo tenemos que abrir una terminal y teclear el siguiente comando:\nsudo less /var/lib/preload/preload.state Obtendremos el siguiente resultado:\nComo se puede ver en la captura de pantalla tenemos una extensa lista que contiene la totalidad de librerías e información que tiene cacheada y precargada en memoria Preload. El contenido de este archivo es importante ya que cuando arrancamos nuestro sistema Preload precargará en nuestra memoria RAM las librerías que se detallan en este archivo.\nALGUNOS EJEMPLOS DE LAS MEJORES QUE SE OBTIENEN Según la fuente utilizada para la realización de este post podemos obtener mejoras importantes de rendimiento en el arranque de las aplicaciones. Las mejoras pueden ser del siguiente orden:\nTiempo arranque en Frío (s) Tiempo arranque en Frío Con Preload (s) % de mejora OpenOffice 15 7 53 Firefox 11 5 55 Evolution Email 9 4 55 Gedit 6 4 33 Terminal Gnome 4 3 25 Nota: La fuente utilizada es plenamente fiable ya que es la persona que desarrollo Preload. No obstante cabe indicar que los valores indicados en la tabla no aplican actualmente ya que fueron tomados hace tiempo con un hardware que hoy en día podemos considerar obsoleto. No obstante la tabla nos da una idea de las mejoras que podemos obtener con Preload. Como podéis ver los resultados en los tiempo de arranque en frío son espectaculares y sin ninguna duda las mejoras son espectaculares.\nLIMITACIONES DE PRELOAD Acabo de citar y acabamos de ver que las mejoras con Preload son espectaculares pero obviamente también tiene limitaciones. Las limitaciones vendrán en el arranque en caliente de las aplicaciones. La segunda vez que arrancamos una aplicación la mejora será prácticamente imperceptible ya que en el arranque en caliente, tengamos o no tengamos preload, la gran mayoría de las librerías para arrancar un aplicación ya estarán en la memoria cache.\nFUENTES http://behdad.org/download/preload.pdf\nNota: En la fuente que acabo de indicar se puede encontrar mucha más información acerca del funcionamiento de Preload.","permalink":"https://geeklandlinux.github.io/posts/incrementar-el-rendimiento-con-preload/","summary":"\u003cp\u003eSiguiendo el plan trazado estas últimas semana hoy explicaremos como incrementar la rapidez de ejecución de nuestras aplicaciones con Preload. Cabe recordar que el plan trazado es generar un conjunto de post para explicar como optimizar el rendimiento de nuestra memoria RAM y por lo tanto de nuestro sistema. La serie de post son los siguientes:\u003c/p\u003e","title":"Incrementar el rendimiento con Preload"},{"content":"En el siguiente post comentamos como optimizar el rendimiento del sistema con Zram. Cabe destacar que esta publicación forma parte de una serie posts para optimizar el rendimiento de nuestra memoria RAM y de nuestro sistema.\nEl conjunto de post que hablan sobre nuestra memoria RAM son los siguientes:\nLiberar memoria cache de nuestra RAM. Limitar el uso de nuestra memoria Swap y limpiarla en el caso que se active. Usar la RAM más eficientemente con ZRAM. Acelerar el inicio de nuestras aplicaciones con Preload. Acelerar el inicio de nuestras aplicaciones con Prelink. Aligerar el rendimiento de nuestro sistema operativo con Zswap. ¿Qué es Zram? Zram o compcache es un módulo experimental del Kernel de linux que nos evita utilizar la paginación en disco para de esta forma poder optimizar el rendimiento de nuestro sistema. Esta característica es principalmente importante en equipos de gama baja. En equipos de gama alta la influencia es nula ya que prácticamente no se necesita la paginación en disco.\nSe han escuchado rumores que Ubuntu 13.04 podría incorporar de serie esta característica. La verdad es que me preocupa poco si lo hace. Ubuntu es una distro que cada día que pasa me interesa menos. Por otra parte también se dice que en la versión del Kernel 3.8 Zram sera excluido. En fin\u0026hellip; Veremos que acaba pasando tanto con Ubuntu como con Zram.\nFuncionamiento de Zram Para ver el funcionamiento de Zram supongamos que disponemos de nuestra memoria RAM. La podemos representar del siguiente modo:\nLo que hace Zram es crear uno o más bloques dentro de nuestra memoria RAM. Por lo tanto lo que hará ZRAM dentro de nuestra memoria RAM lo podemos representar del siguiente modo:\nEl bloque que acabamos de representar gráficamente será una porción física de nuestra RAM y funcionará como si fuera una memoria de intercambio Swap, pero en vez de estar ubicada en nuestro disco duro estará ubicada dentro de nuestra memoria RAM.\nAhora imaginemos que empezamos a trabajar y a ejecutar aplicaciones con nuestro ordenador. A medida que se va llenando nuestra memoria RAM, se dará la situación que representamos en la siguiente representación:\nComo podemos ver la imagen la memoria RAM está casi llena. Una vez pase esto se activará la memoria swap pero en vez de paginar el contenido de nuestra RAM en el disco duro lo hará en el bloque que hemos creado dentro de nuestra ram. Por lo tanto la situación que se dará una vez se active ZRam se puede representar de la siguiente forma:\nSi observamos el gráfico vemos que se ha liberado gran cantidad de contenido en nuestra memoria RAM, mientras que en nuestra partición Zram ha aparecido una pequeña porción de color Negro. Esta pequeña porción de color negro posee la totalidad de información que había dentro del gran bloque de color verde que representaba las imágenes de procesos almacenados en nuestra RAM. ¿Como esta pequeña parte puede almacenar la totalidad de contenido que había en la parte verde?\nSimplemente porqué antes de almacenarse la información en el bloque que hemos creado, esta se comprime. Una vez comprimida se almacena en el bloque de memoria creado por Zram. En el momento que se necesite recuperar la información que tenemos paginada, esta se descomprimirá y se trasladará de nuevo a nuestra memoria RAM.\nPor lo tanto, como podéis ver, estamos paginando la información que paginaríamos en el disco duro en nuestra memoria RAM. Como la velocidad de respuesta de la memoria RAM es mucho más elevada que la de un disco duro aumentaremos el rendimiento de nuestro sistema. Además en el caso de disponer de un disco SSD estaremos alargando la vida útil de este dispositivo.\nPor lo tanto con ZRAM tendremos un bloque adicional de memoria en nuestra RAM que será usada para paginar. En el caso de que se agote nuestro bloque de memoria entonces actuará la paginación en el disco tradicional.\nInstalar Zram en cualquier distribución basada en Debian Como podremos ver mas adelante es muy fácil instalar Zram en Ubuntu pero muchos usuarios desconocen como realizarlo en otras distribuciones. El método descrito funciona en la totalidad de distribuciones basadas en Debian e imagino que también funcionará en otro tipo de distribuciones.\nComo hemos explicado en el inicio Zram es un módulo del kernel que seguramente la totalidad de usuarios tienen disponible en estos momentos. Por lo tanto para habilitar Zram no tenemos que instalar ningún paquete. Solamente tenemos que activar este módulo. Para hacerlo procedemos de la siguiente forma:\nAbrimos una terminal y nos loguearemos como root:\nsu Nota: Si el comando su no funciona en vuestra distro probad sudo su. La totalidad de pasos para habilitar Zram se tienen que realizar siendo root. Seguidamente ejecutaremos el comando:\nswapon -s Esta comando servirá para comprobar el estado actual de nuestra memoria swap.\nComo se puede ver en la captura de pantalla en estos momentos dispongo de una partición de intercambio de aproximadamente 1 Gb.\nSeguidamente comprobaremos que el kernel que tenemos instalado en nuestro ordenador contiene el módulo Zram. Para ellos tecleamos el siguiente código en la terminal:\ngrep -i zram /boot/config-`uname -r` Si la respuesta que devuelve la terminal es parecida a la siguiente:\nCONFIG_ZRAM=m # CONFIG_ZRAM_DEBUG is not set Quiere decir que disponemos del módulo pero no está activado.\nPara activar el módulo de Zram tenemos que teclear el siguiente comando en la terminal:\nmodprobe zram Nota: En el caso de querer crear más de un bloque en nuestra memoria RAM tenemos que sustituir el comando anterior por modprobe zram num_devices=4. Este comando a modo de ejemplo creará cuadro bloques. Los bloques se denominaran /dev/zram0, /dev/zram1, /dev/zram2 y /dev/zram3. Seguidamente tenemos que crear el dispositivo de Zram. Lo crearemos de 100Mb. Para ello en la terminal tecleamos el siguiente comando:\necho $((100*1024*1024)) \u0026gt; /sys/block/zram0/disksize Nota: 100x1024x1024 indica el tamaño de nuestro dispositivo. 100 * 1024 * 1024 = 104857600 bytes que es igual a 100MB. Si quisiéramos crear un bloque de 200 Mb solo tendríamos que cambiar el 100 por un 200. Nota: En el caso de crear 4 bloques deberíamos aplicar el comando que acabamos de ver 3 veces mas. Con zram1, zram2 y zram3 Una vez creado el dipositivo ahora lo vamos a montar. Por lo tanto para montarlo tecleamos:\nmkswap /dev/zram0 Nota: En el caso de crear 4 bloques deberíamos aplicar el comando que acabamos de ver 3 veces mas. Con zram1, zram2 y zram3 Al dispositivo que acabamos de montar le tenemos que dar una prioridad de actuación. Se la tenemos que dar ya que si no se la damos en el momento que nuestra memoria RAM este llena puede que la paginación se haga en nuestro disco duro en vez de en el bloque Zram que acabamos de crear. Para darle la prioridad tecleamos el siguiente comando en la terminal:\nswapon -p 50 /dev/zram0 Nota: Como podéis ver en el comando estamos dando una prioridad de 50 a nuestro bloque de memoria. En principio esta prioridad es más que suficiente. Si os fijáis en la captura de pantalla anterior veréis que la prioridad de paginación en disco es -1. Por lo tanto la prioridad 50 siempre se impondrá sobre una prioridad -1. Nota: En el caso de crear 4 bloques deberíamos aplicar el comando que acabamos de ver 3 veces mas. Con zram1, zram2 y zram3 En estos momentos Zram esta plenamente activo. Para comprobar que funciona adecuadamente simplemente tenéis que teclear el siguiente comando:\nswapon -s Al teclear el comando obtendréis un resultado parecido al siguiente:\nEn la captura podemos ver que seguimos teniendo la partición Swap de 1Gb. Pero además adicionalmente aparece el dispositivo de 100 Mb que acabamos con una prioridad 50. Por lo tanto tarea concluida.\nAhora solo nos falta testear si nuestro sistema funciona adecuadamente y mejor que antes de crear el módulo. Una vez realizadas los comprobaciones y estar satisfechos con el rendimiento podemos hacer que la partición Zram se monte automáticamente cada vez que arrancamos nuestro sistema. En el caso de querer hacerlo abrimos la terminal y tecleamos:\nsudo gedit /etc/rc.local Una vez se habrá el editor de texto copiamos el siguiente contenido:\nmodprobe zram \u0026amp;\u0026amp; echo $((100*1024*1024)) \u0026gt; /sys/block/zram0/disksize \u0026amp;\u0026amp; mkswap /dev/zram0 \u0026amp;\u0026amp; swapon -p 50 /dev/zram0 \u0026amp;\u0026amp; exit 0 Nota: En el caso de observar problemas los pasos realizados son fácilmente reversibles. Instalar Zram en versiones de Ubuntu iguales o superiores a la 12.04 Si queremos instalar Zram en Ubuntu 12.04 o una versión posterior todo es un poco más fácil, pero también tendremos menos flexibilidad ya que no podremos controlar el número de bloques de Swap, ni el tamaño ni la prioridad de actuación.\nPara instalar Zram primero tenemos que abrir una terminal y teclear el siguiente comando:\nsudo apt-get install zram-config Una vez instalado comprobaremos que zram se ha instalado correctamente y está en funcionamiento. Para ello en la misma terminal teclearemos el siguiente comando:\ncat /proc/swaps En el caso de que Zram esté funcionando de forma adecuada el comando os mostrará un resultado parecido al siguiente:\nFilename Type Size Used Priority /dev/sda5 partition 1298428 0 -1 /dev/zram0 partition 804520 0 5 En principio Zram ya esta funcionando. En mi caso la paritción /dev/sda5 es la partición Swap de mi ordenador. La partición /dev/zram0 será la partición que habrá creado Zram.\nInstalar Zram en Ubuntu para versiones inferiores a la 12.04 Si queremos instalar Zram en este caso el proceso también se pude decir que es fácil.\nPara instalar Zram primero tenemos que abrir una terminal y teclear el siguiente contenido para agregar el repositorio que necesitamos:\nsudo add-apt-repository ppa:shnatsel/zram \u0026amp;\u0026amp; sudo apt-get update Después actualizamos los repositorios tecleando el siguiente comando:\nsudo apt-get update Finalmente ya podemos instalar Zram mediante el siguiente comando:\nsudo apt-get install zramswap-enabler En principio Zram ya esta funcionando. Si nos queremos asegurar podemos reiniciar el ordenador o teclear el siguiente comando:\nsudo start zramswap Si queremos ver el estado de nuestras particiones swap podemos teclear el siguiente comando:\nsudo swapon -s En el caso que no estemos satisfechos con el rendimiento de Zram podemos desinstalarlo con el siguiente comando:\nsudo apt-get remove --purge zramswap-enabler Y esto es todo. Espero haber contribuido a que algunos de vosotros puedan obtener un mejor rendimiento en vuestro PC.\nFuentes: http://forums.debian.net/viewtopic.php?t=77627\nNota: Este post va dedicado a Alberto Aru por liar un pollo monumental al instalar el paquete deb de Zram de Ubuntu en Debian. Estuvimos cerca de una hora para poder desinstalar Zram. Un saludo Alberto :)","permalink":"https://geeklandlinux.github.io/posts/optimizar-el-rendimiento-con-zram/","summary":"\u003cp\u003eEn el siguiente post comentamos como optimizar el rendimiento del sistema con Zram. Cabe destacar que esta publicación forma parte de una serie posts para optimizar el rendimiento de nuestra memoria RAM y de nuestro sistema.\u003c/p\u003e\n\u003cp\u003eEl conjunto de post que hablan sobre nuestra memoria RAM son los siguientes:\u003c/p\u003e","title":"Optimizar el rendimiento con Zram"},{"content":"Optimizar el uso de la memoria swap forma parte de una serie de post para optimizar el uso de memoria RAM en nuestro sistema operativo y de esta forma poder obtener el máximo rendimiento a nuestro equipo informático. El conjunto de post que se acaban de mencionar son los siguientes:\nLiberar memoria cache de nuestra RAM. Limitar el uso de nuestra memoria Swap y limpiarla en el caso que se active. Usar la RAM más eficientemente con ZRAM. Acelerar el inicio de nuestras aplicaciones con Preload. Acelerar el inicio de nuestras aplicaciones con Prelink. Aligerar el rendimiento de nuestro sistema operativo con Zswap. ¿Qué es la memoria Swap? La Swap o espacio de intercambio es un espacio en nuestro disco duro que se usa para almacenar los datos e imágenes de procesos que no pueden ser almacenados en nuestra memoria RAM por falta de capacidad. Por lo tanto la swap es una forma para liberar carga de nuestra memoria RAM.\nEn otras palabras la Swap es el equivalente de lo que se conoce como archivo de paginación en Windows. La gran mayoría de usuarios de Windows probablemente no conocen la existencia de los archivos de paginación o swap. Los usuarios de Linux si conocen su existencia porqué en el momento de la instalación se tiene que realizar una partición de swap en nuestro disco duro mientras que en windows esto no es necesario. El mismo windows te genera de forma poco transparente un archivo de paginación que se incremente o disminuye de tamaño en función de la carga que estemos dando a nuestro equipo.\nNota: En el caso que en Linux nos olvidemos de crear una partición de intercambio cuando estamos instalando nuestro sistema operativo no implica tener que volver a instalar el sistema. Siempre podemos modificar nuestra tabla de particiones de nuevo y crear la particion Swap. O también existe la opción de generar un archivo de intercambio Swap al estilo windows. En un futuro post se explicará como crear un archivo que funcione como memoria de intercambio swap. ¿Por qué Linux necesita utilizar la swap? Linux necesita la memoria Swap porqué es un forma de ampliar la memoria RAM de nuestro sistema operativo en el caso que esté llena.\nA medida que vamos ejecutando aplicaciones en nuestro sistema operativo estas se cargan en la memoria RAM. A medida que vayamos cargando aplicaciones nuestra memoria RAM se va llenando y puede llegar al punto que este prácticamente llena. En el momento que la memoria RAM se llene completamente e intentemos ejecutar otras aplicaciones nuestro sistema operativo simplemente se saturará, se volverá inestable o nos generará algún tipo de error ya que no tiene recursos para iniciar más aplicaciones de forma simultanea.\nEs en esta situación es donde actúa la swap. A partir de un cierto nivel de carga en la RAM, que nosotros podemos controlar mediante el parámetro swappines, el Kernel de nuestro linux buscará las imágenes de procesos que menos usamos y tengamos cargados en nuestra memoria RAM y los moverá a nuestro disco duro en la zona que denominamos como área de intercambio o swap. De está forma estamos liberando memoria RAM para poder cargar más procesos.\nAdemás Linux necesita un mínimo de memoria Swap para trabajar de forma eficiente cuando nos quedamos sin memoria. La explicación de esta afirmación es la siguiente:\nEn la memoria RAM se guarda diverso tipo de información:\nTipo 1 - Información que siempre tiene que estar almacenada en la memoria RAM y en ningún caso podrá ser swapeada.\nTipo 2 - Información que se puede swapear y que además de estar en la RAM también está respaldada en nuestro disco duro. Esta información, en el caso de no existir swap, se puede eliminar de la RAM y que siempre podemos recuperarla porqué hay una copia en el disco duro.\nTipo 3- Información que se puede swapear pero que no dispone de una copia de respaldo en el disco duro.\nAhora imaginemos que nuestro ordenador se está quedando sin memoria RAM:\nEn el caso de tener una partición de intercambio el kernel podrá eliminar o intercambiar información clasificada dentro del tipo 2 y 3.\nEn el caso que no tengamos una partición de intercambio, nuestro kernel solo se podrá plantear eliminar información clasificada como tipo 2. ¿Por qué?\nHay que tener en cuenta que la información de tipo 2 no se puede swapear, porqué no existe la partición de intercambio, pero se puede eliminar ya que existe una copia de respaldo y por lo tanto en caso de hacer falta siempre la podemos volver a recuperar. La información de tipo 3 nunca la podemos eliminar ya que no tiene respaldo alguno y no la podemos swapear por no existir en la área de intercambio. Esto implica que se tiene que quedar a la fuerza en la memoria RAM.\nPor lo tanto si no tenemos espacio de intercambio el rendimiento no será el óptimo en caso de quedarnos sin memoria. Puede darse perfectamente el caso que la solución ideal para no notar una pérdida de rendimiento sea eliminar información del tipo 3. Pero al no existir memoria de intercambio tendrá que eliminar información del tipo 2 pudiendo perjudicar notablemente el rendimiento de nuestro sistema ya que no es la solución ideal.\n¿Por qué debemos minimizar el uso de la swap en nuestros ordenadores? En ordenadores con prestaciones normales, o incluso de prestaciones reducidas como mi Eee PC, seguro que notaréis que en el momento que se activa la memoria Swap todo empieza a ir más lento. ¿Por qué en el momento de activarse la swap el ordenador se ralentiza?\nSimplemente porqué las librearías y procesos necesarios para poder ejecutar algunas de las aplicaciones se hallan en una parte del disco duro denominado swap en vez de a la memoria RAM. Cómo todos saben la velocidad de ejecución de la información almacenada en la memoria RAM es infinitamente superior a la que tenemos en nuestro disco duro. Por lo tanto es normal que todo vaya mucho más lento.\nOtro motivo de la lentitud que experimentamos es la posible aparición de hiperpaginación. La hiperpaginación causará que haya una serie de librerías que estén intercambiándose continuamente de la memoria RAM a la Swap y de la Swap a la RAM causando lentitud y sobrecarga en el sistema. Los motivos de la hiperpaginación pueden ser que nuestro ordenador tenga muy poca RAM o que los algoritmos de intercambio de procesos de un sitio a otro estén mal implementados.\nPero tenemos que tener en cuenta que no en todos los equipos es interesante minimizar el uso de la Swap. Hay casos particulares que incluso pueden ser necesario no minimizar el uso de la memoria Swap. Estos casos particulares pueden ser los siguientes:\nServidores en los que exista una alta carga de trabajo. Hay que tener en cuenta que los servidores acostumbran a lidiar con bases de datos y archivos de gran tamaño. En el caso que dispongamos de un ordenador que tenga muy poca memoria RAM disponible. Este caso si estamos hablando de ordenadores relativamente actuales nunca se dará. Ordenadores que aunque dispongan de mucha memoria RAM tengan que ejecutar aplicaciones que hagan un gran consumo de RAM. Por lo tanto tenemos que ir con cuidado en el caso que tengamos que usar aplicaciones que consuman gran cantidad de RAM. Usuarios que tengan que compilar aplicaciones que sean muy grandes. Nota: En prácticamente el 99% de los ordenadores actuales podemos minimizar el uso de la memoria swap. Los 4 casos que acabamos de citar prácticamente no se dan en la mayoría de usuarios. Además hoy en día los ordenadores tienen mucha RAM en comparación con los ordenadores de años atrás. Cantidad de memoria Swap que es aconsejable asignar En internet encontrareis multitud de opiniones sobre la memoria swap que se debe asignar para que nuestro sistema operativo funcione adecuadamente. Una teoría muy extendida es la que se presenta a continuación:\nEn el caso que tengamos 1 GB de RAM o menos deberemos tener un tamaño igual a nuestra RAM. Por lo tanto si tenemos 512 Mb de RAM deberemos tener 512 Mb de Swap En el caso que tengamos entre 2 y 4 GB de RAM la swap deberá ser la mitad de nuestra memoria RAM. Así por lo tanto si tenemos 2Gb de RAM deberíamos tener 1Gb de Swap En el caso de equipos más modernos con más de 4Gb de RAM como máximo deberíamos tener 2 Gb de memoria de intercambio. No obstante según mi punto de vista el criterio que deberíamos seguir es el siguiente:\nPrimero tenemos que saber la memoria RAM que tiene nuestro ordenador. Por ejemplo pongamos que tenga 1 Gb de RAM. A continuación tenemos que tener una idea del consumo máximo de RAM que tendremos con nuestros equipo en la peor de las situaciones. Por ejemplo considero que el uso máximo de memoria RAM se dará cuando use simultáneamente el navegador, Libreoffice, el gestor de correo y el reproductor de música. Estimo que con todas estas aplicaciones abiertas mi consumo total Será de 2 GB. Considerando que tenemos un 1Gb de RAM y en el peor de los casos vamos a llenar 2 Gb implica que tenemos que asignar 1 Gb de Swap más un margen de seguridad de 512Mb. Por lo tanto en el caso presentado 1.5 Gb de Swap es suficiente. Para finalizar hay que tener claro si tendremos la necesidad de poner nuestro equipo en hibernación. En el momento que hibernamos nuestro equipo lo que estamos haciendo es volcar la totalidad de imágenes de procesos de nuestra memoria RAM a nuestra memoria Swap. Por lo tanto en el caso de querer hibernar el equipo como mínimo necesitaremos nan memoria Swap igual a nuestra RAM. En el caso que hemos planteado, en el caso que quiera hibernar mi equipo, incrementaría la partición de memoria Swap de 1.5 Gb a 2.5Gb. Minimizar el uso de la memoria Swap Como hemos visto en los puntos anteriores, en la gran mayoría de casos lo ideal es evitar o retardar el uso de la swap en nuestro sistema operativo y usar la memoria RAM siempre que sea posible. De está forma el funcionamiento de nuestro ordenador será mucho más rápido y fluido. Además los usuarios que dispongan de un disco duro SSD puede que no deseen que se escriba información en su disco duro ya que la vida de un disco duro SSD viene determinado por un número límite de escrituras.\nQuien decide el momento en que se empiezan a trasvasar imágenes de procesos de la RAM a la Swap es el Kernel. Como Linux es un sistema operativo abierto podemos hacer que el Kernel de Linux esperé hasta cuando la memoria RAM este casi llena para que empezar el trasvase. Tan solo tenemos que modificar el valor de swappiness de nuestro sistema operativo para indicarle al kernel de linux que de más prioridad al uso de RAM que al uso de Swap.\nEl valor de swappiness puede comprender un valor entre 0 y 100. Si el valor es 0 se evitará el intercambio de información entre la RAM y la Swap, mientras que si elegimos un valor 100 el intercambio se estará realizando constantemente La mayoría de distribuciones Linux vienen preconfiguradas con un valor de swappiness de 60. Este valor es probablemente correcto para el uso de servidores y superordenadores pero es claramente excesivo para usuarios domésticos como nosotros.\nPor lo tanto en nuestro caso podemos recudir muy drásticamente el valor de la swappiness por defecto hasta valores de 10 o 5. Para ello lo primero que tenemos que hacer es abrir una terminal y teclear el siguiente comando:\ncat /proc/sys/vm/swappiness La salida será el valor actual de swappiness que tenemos asignado. Si no habéis tocado nunca este parámetro es probable que el valor que os salga en pantalla sea 60, ya que es el valor por defecto que usan la mayoría de distros de Linux. Si es este vuestro caso y tenéis un valor de 60 podemos reducir drásticamente el uso de swap.\nSi queremos reducir el valor de Swappiness de 60 a 10 tan solo tenemos que abrir una terminal y escribir el siguiente comando:\nsudo sysctl -w vm.swappiness=10 En estos momentos ya tenemos fijado el valor de swappiness en 10 y nuestro sistema operativo tenderá a usar mucho menos swap que cuando teníamos fijado el valor en 60.\nUna vez tenemos el nuevo valor, lo más aconsejable es usar el ordenador durante un periodo de tiempo razonable para asegurar que el rendimiento que obtenemos con el nuevo parámetro es aceptable y también para comprobar que el sistema sea estable.\nUna vez que estamos seguro que nuestro sistema rinde mejor y no genera inestabibilidad en el sistema lo que haremos es hacer este cambio permanente. Así evitaremos que cada vez que arranquemos el ordenador tengamos que cambiar el valor de swappiness de 60 a 10.\nPara hacerlo persistente el valor de swappiness 10 abrimos una terminal y tecleamos:\nsudo gedit /etc/sysctl.conf Justo al final del fichero introducimos el siguiente comando:\nvm.swappiness=10 Guardamos el fichero y la próxima vez que arranquemos nuestro ordenador ya tendremos ajustado el valor de swappiness a 10. Si queremos realizar la comprobación tan solo tenemos que abrir una terminal y teclear el siguiente comando:\ncat /proc/sys/vm/swappiness Liberar la memoria Swap una vez está en uso Una vez se activa nuestra memoria Swap nuestro sistema se acostumbra a saturar y ralentizar. Una solución para solucionar este problema es reiniciar el equipo pero existen soluciones para liberar la memoria Swap y no tener que apagar el ordenador. Para evitar apagar el equipo podemos proceder de la siguiente forma:\nLo que realizaremos es traspasar el contenido que tenemos almacenado en nuestra memoria Swap hacia la memoria RAM. Por lo tanto lo primero que realizaremos es asegurarnos que la memoria RAM tiene capacidad libre para poder albergar el contenido que está guardado en la Swap. Para hacer esto abrimos una terminal y tecleamos el comando:\nfree El comando free nos dará la salida que podeís observar en la siguiente captura de imagen:\nComo podemos ver en la captura en nuestra memoria Swap tenemos almacenado 8Kb. Nuestra memoria RAM tiene 78388 Kb libres. Por lo tanto podemos traspasar el contenido de la memoria Swap a la RAM sin tener ningún tipo de problema.\nPara realizar el traspaso abrimos la terminal y escribimos el siguiente comando para transferir el contenido de un lado a otro:\nsudo swapoff -a ; sudo swapon -a Ahora volveremos a teclear el comando:\nfree Y efectivamente en la siguiente captura de pantalla podemos confirmar que la operación ha tenido éxito, ya que la memoria Swap ahora está completamente libre:\nEl proceso que acabamos ver lo podemos automatizar mediante un script y ejecutarlo periódicamente a las 12 de la noche por ejemplo. Para ello tan solo tenemos que añadir la siguiente frase:\nswapoff -a \u0026amp;\u0026amp; swapon -a En el script que aprendimos a generar en el siguiente post:\nhttps://geeklandlinux.github.io/posts/liberar-memoria-cache/\nPor lo tanto el contenido del script para limpiar la memoria cache de la RAM y traspasar el contenido de la memoria Swap a la RAM es el siguiente:\n#!/bin/bash echo “Limpiando la caché~ “; sync ; echo 3 \u0026gt; /proc/sys/vm/drop_caches echo “Limpiando Swap~ “; swapoff -a \u0026amp;\u0026amp; swapon -a Fuentes http://es.wikipedia.org/wiki/Espacio_de_intercambio\n","permalink":"https://geeklandlinux.github.io/posts/optimizar-el-uso-de-la-memoria-swap/","summary":"\u003cp\u003eOptimizar el uso de la memoria swap forma parte de una serie de post para optimizar el uso de memoria RAM en nuestro sistema operativo y de esta forma poder obtener el máximo rendimiento a nuestro equipo informático. El conjunto de post que se acaban de mencionar son los siguientes:\u003c/p\u003e","title":"Optimizar el uso de la memoria Swap"},{"content":"Liberar memoria cache de nuestra RAM es el primer post de una serie para optimizar el uso de la RAM en nuestros ordenadores y de esta forma poder sacar siempre el máximo rendimiento a nuestro ordenador. Los post que se crearán durante las próximas semanas son:\nLiberar memoria cache de nuestra RAM. Limitar el uso de nuestra memoria Swap y limpiarla en el caso que se active. Usar la RAM más eficientemente con ZRAM. Acelerar el inicio de nuestras aplicaciones con Preload. Acelerar el inicio de nuestras aplicaciones con Prelink. Aligerar el rendimiento de nuestro sistema operativo con Zswap. Por lo tanto por el orden establecido iniciamos el primer post de la serie:\nLIBERAR MEMORIA CACHE DE LA RAM Particularmente uso este tip y pienso que es útil. No obstante en teoría para máquinas potentes no se debería notar mucha diferencia en el rendimiento que obtenemos ya que en principio lo que se almacena y borra en la memoria cache de nuestra RAM es controlado por nuestro Kernel. Con la siguiente explicación podrán comprender como funciona nuestra memoria cache.\n¿Cómo funciona la memoria cache? Nuestra memoria RAM se subdivide en varias partes. Una parte de la memoria se denomina SRAM o RAM estática y otra parte de llama DRAM o RAM dinámica. La parte de la memoria que denominamos SRAM es la memoria rápida y la que denominamos cache. ¿Cómo funciona la memoria cache o SRAM?\nCuando ejecutamos un programa, por ejemplo Libreoffice, se tiene que cargar en nuestra memoria y posteriormente arrancar. El proceso descrito puede tener una duración de tranquilamente 6 o 7 segundos. Una vez cerremos Libreoffice parte de la información que se ha cargado a la memoria quedará almacenada de forma permanente en nuestra memoria SRAM o cache de tal forma que cuando volvamos a ejecutar libreoffice nuestro ordenador primero mirará si tenemos almacenada la información necesaria en la SRAM o cache, y como en este caso ya tenemos la información en nuestra memoria la aplicación arrancará mucho más rápido que la primera vez.\nSi además de Libreoffice arrancamos muchos más programas como por ejemplo Firefox, Chrome, gimp, etc. llegará a un punto que nuestra memoria SRAM o cache está llena y en teoría esto debería perjudicar al rendimiento de nuestro equipo. Pero en este punto entra en acción nuestro Kernel. En esta situación el Kernel de nuestro ordenador se encargará de gestionar inteligentemente la cache (SRAM) de nuestro equipo. Así que cuando detecte que nuestra SRAM o cache está llena procederá a vaciarla de forma inteligente y borrando siempre los datos que más nos conviene para obtener el mejor rendimiento posible. Por esto a priori no es necesario hacer un vaciado de la memoria cache.\n¿Por qué considero que es necesario liberar memoria cache? A pesar de la gestión que puede hacer el kernel considero que hacer limpieza de la cache es provechoso debido a los siguientes motivos:\nEn determinados casos y en ordenadores poco potentes, como por ejemplo un ASUS Eee PC que a veces utilizo, el kernel no gestiona eficientemente la cache de nuestro ordenador. Mi experiencia con un ASUS Eee PC y Xubuntu es que cuantas mas horas lo uso mas se sobrecarga la swap y la memoria cache. Al día de estar funcionando, y dependiendo del uso que le doy, me quedo sin memoria cache y la memoria swap se dispara. El resultado es un sistema muy lento. Una cosa es la teoría y otra la práctica. Si tenéis el ordenador permanentemente funcionando y nunca se apaga la memoria cache tarde o temprano acabará saturándose. En teoría no debería pasar pero pasa. Puede resultar útil liberar la cache justo después de cerrar una aplicación muy pesada para posteriormente arrancar otra aplicación que también sea muy pesada. ¿Cómo liberar memoria cache de nuestra RAM? Para realizar la limpieza podemos generar un script muy básico y simple. El script lo podemos hacer de la siguiente forma: Creamos un archivo en nuestra home que se llame limpiamemoria.sh. Para crearlo abrimos una terminal y teclemaos:\nsudo gedit limpiamemoria.sh Dentro del archivo copiamos el siguiente texto (antes de copiar el texto ver nota):\n#!/bin/bash echo “Limpiando la caché~ “; sync ; echo 1 \u0026gt; /proc/sys/vm/drop_caches sync ; echo 2 \u0026gt; /proc/sys/vm/drop_caches sync ; echo 3 \u0026gt; /proc/sys/vm/drop_caches Nota: En el script hay una frase de color rojo, otra de color verde y otra de color negro, Solo debemos copiar una de las tres frases en función de lo agresivos que queremos ser en limpiar nuestra cache. Si elegimos la frase de color rojo es la opción menos agresiva mientras que si elegimos la frase de color negro estamos eligiendo la opción más agresiva. Una vez definido el texto del script tanto tenemos que guardar y cerrar.\nAntes de seguir adelante es importante hace un paréntesis y comprender lo que estamos haciendo con el comando que se ejecuta en el script. El comando que estamos ejecutando es:\nsync ; echo (1,2 o 3) \u0026gt; /proc/sys/vm/drop_caches Con este comando lo que hacemos es modificar el archivo drop_caches que se halla en la ubicación /proc/sys/vm/. Este archivo tiene 4 valores posibles. En función del valor que le asignamos a este archivo nuestro kernel actuará de una forma u otra con la información que tenemos almacenada en nuestra cache. Los posibles valores que podemos definir en el archivo son:\n0: Es el valor por defecto siempre que arrancamos nuestro ordenador. Si dejamos este comando no se liberara absolutamente nada de nuestra memoria cache. 1: Equivaldría a usar el script con \u0026ldquo;echo 1 \u0026gt; /proc/sys/vm/drop_caches\u0026rdquo;. Al ejectuar el script con este valor estamos forzando a nuestro kernel a liberar la pagecache. 2: Equivaldría a usar el script con \u0026ldquo;echo 2 \u0026gt; /proc/sys/vm/drop_caches\u0026rdquo;. Al ejectuar el script con este valor estamos forzando a nuestro kernel a liberar los inodos y dentries. 3: Equivaldría a usar el script con \u0026ldquo;echo 3 \u0026gt; /proc/sys/vm/drop_caches\u0026rdquo;. Al ejectuar el script con este valor estamos forzando a nuestro kernel a liberar la pagecache, los inodos y las dentries. Nota: Podéis elegir tranquilamente la opción más agresiva de las 3. Si os fijáis en el script aparece el comando sync. Con el comando sync aseguramos que solo se liberen de la cache los objetos que no estamos usando actualmente. Por lo tanto a priori no hay peligro de cuelgues ni estabilidad en realizar esta operación. Nota: Si elegimos la opción 3 estaremos borrando los inodos, dentries y pagecache. Los inodos contienen meta-información de archivos individuales como por ejemplo el propietario, el grupo, la fecha de creación, la hora de creación etc, así como también los bloques del disco duro que contienen la información que acabamos de citar. Las dentries contienen información para enlazar los nombres de los distintos directorios con los ficheros que contienen para de esta forma acceder más rápido a nuestras aplicaciones. Mientras que la pagecache almacna copias de los bloques de nuestro disco duro. A estas alturas ya solo nos queda ejecutar el script. Para ejecutar el script primero tenemos que darle permisos. Para darle permisos abrimos una terminal en la misma ruta donde hemos guardado el script y tecleamos:\nsudo chmod +x limpiamemoria.sh Antes de ejectuar el script tecleamos en la terminal el comando:\nfree Y obtenemos el siguiente resultado:\nEn la captura de pantalla que acabamos de pegar se pueden ver el estado de nuestra memoria RAM en este preciso instante. Después de ejecutar el script podremos comparar los resultados.\nAhora ejecutamos el script mediante el comando\nsudo ./limpiamemoria.sh Una vez ejecutado el script en la terminal volvemos a usar el comando free. Con el comando free ahora podremos observar lo que ha realizado la ejecución de nuestro script:\nSi observamos la captura de pantalla podemos ver que la ejecución del script nos ha liberado aproximadamente 200 mb de nuestra RAM cache. Por lo tanto podemos decir que el proceso ha salido correctamente.\nNota: Una vez liberada la memoria cache no hay que preocuparse de nada más. A medida que vayamos abriendo programas el contenido se cacheara como lo hace habitualmente. Cuando cuando volvamos a arrancar nuestro ordenador nuestra configuración seguirá siendo la standard ya que con este script no estamos modificando la configuración de arranque de nuestro ordenador. Para hacer persistente el cambio, cosa que no aconsejo, podemos hacerlo de la siguiente forma:\nEntramos en terminal y tecleamos\nsudo gedit /etc/sysctl.conf Dentro del fichero añadimos, o modificamos en el caso que ya exista, la siguiente linea y guardamos:\nvm.drop_caches = 3 Como hemos visto antes la variable vm.drop_caches puede tener los valores 0,1,2 o 3.\nEjectuar el script mediante un simple click de ratón Si queremos ejecutar el script mediante un click de ratón tan solo tenemos que ir a nuestro escritorio. Le damos click al botón derecho de nuestro mouse y elegimos la opción crear lanzador.\nLes aparecerá una ventana similar a la siguiente. Rellenen los campos de esta ventana tal y como se puede ver en la siguiente captura de pantalla:\nUna vez rellenados los campos solamente tenemos que apretar en el botón crear. Ahora tendremos un nuevo lanzador en nuestro escritorio. Tan solo tenemos que apretar 2 veces sobre el lanzador. Se abrirá una terminal. Nos pedirá nuestra contraseña de usuarios root. La introducimos y a posteriori se ejecutará el script limpiando nuestra cache.\nAutomatizar el proceso de limpieza de la Cache En el caso que seáis de las personas que tenéis las 24 horas vuestro ordenador funcionando les puede interesar realizar la operación de limpieza de cache de forma automática. Para ello tenemos que seguir los siguientes pasos:\nCopiaremos el script creado en la carpeta /bin. Para ello abrimos una terminal y tecleamos:\nmv limpiamemoria.sh /bin Ahora configuraremos contrab para que el script se ejecute periódicamente a las 12 de la noche. Para ello en la terminal tecleamos:\ncrontab -e Se abrirá el editor de textos en modo terminal y copiamos el siguiente contenido:\n0 0 * * * /bin/limpiamemoria.sh Cerramos y guardamos. De esta forma nuestro script se ejecutará periódicamente sin que nosotros tengamos que hacer nada.\nFuentes http://www.atareao.es/ubuntu/liberando-la-memoria-cache/\n","permalink":"https://geeklandlinux.github.io/posts/liberar-memoria-cache/","summary":"\u003cp\u003eLiberar memoria cache de nuestra RAM es el primer post de una serie para optimizar el uso de la RAM en nuestros ordenadores y de esta forma poder sacar siempre el máximo rendimiento a nuestro ordenador. Los post que se crearán durante las próximas semanas  son:\u003c/p\u003e","title":"Liberar memoria cache de la RAM"},{"content":"En el presente artículo veremos de forma detallada que es la deep web, y como podemos acceder a ella para poder empezar a navegar de forma segura.\n¿Qué es la deep web? El concepto de deep web es sencillo. La deep web es aquella parte de la red que contiene material, información y páginas web que no están indexadas en ninguno de los buscadores existentes como pueden ser bing, google, yahoo, etc. Así en el hipotético caso que los buscadores pudieran indexar la totalidad de contenido en la web significaría que desaparecería la deep web.\nNo obstante esto es imposible ya que muchas de las páginas y documentos están hechos de tal forma que no puedan ser indexables, ya sea porque están protegidos con contraseña, porqué están realizados en formatos no indexables como por ejemplo páginas realizadas completamente en flash, sin contenido html, etc. Si hacemos una analogía con la película matrix podríamos decir que la totalidad de personas que toman la pastilla azul serian las personas que solo navegan y conocen lo que denominamos red superficial mientras que la totalidad de personas que tomarían la pastilla roja son las personas que conocerían la existencia de la deep web.\n¿Qué tamaño tiene la deep web? Muchos de vosotros quedareis sorprendidos en saber que la deep web presenta mucho más contenido que la web superficial que nosotros podemos acceder. Según datos de la Wikipedia en el año 2000 la internet superficial tenia un tamaño de 167 Terabytes mientras que la deep web tenia una tamaño de 7500 Terabytes lo que significa que el contenido de la deep web era 45 veces superior a la información que teníamos acceso en aquel momento. Actualmente a día de hoy la universidad de California en Berkeley estima que el tamaño real de la red profunda es de 91.000 Terabytes.\n¿Qué podemos encontrar en la deep web? Todo lo que hay en la deep web no podemos decir que sea intrínsecamente malo. Podemos encontrar contenido interesante y diverso como por ejemplo:\nContenido almacenado por los gobiernos de distintos países. Organizaciones que almacenan información. Por ejemplo la NASA almacena información acerca de las investigaciones científicas que realiza. Otro de información almacenada puede ser datos meteorológicos, datos financieros, directorios con información de personas, etc. Multitud de bases de datos de distinta índole. Las bases de datos representan un % muy importante de la información almacenada en la deep web. Foros de temáticas diversas. No obstante también nos podemos encontrar contenido muy desagradable como por ejemplo los siguientes:\nVenta de drogas. Pornografía. Mercado negro de sicarios. Documentos clasificados como por ejemplo los de wikileaks. (Bueno diría que esto malo no es.) Foros de crackers en busca de víctimas. Phishers, spammers, botnet agents, en busca de víctimas. Páginas para comprar o fabricar armas. Piratería de libros, películas, música, software, etc. Nota: Afortunadamente el contenido que se acaba de describir representa un % muy pequeño de lo que es la deep web. Este tipo de contenido se clasifica dentro de una sub categoría de la deep web denominada darknet. Nota: Cabe destacara que el 90% de contenido que existe en la deep web es accesible para la totalidad de usuarios. Como acceder a la Deep Web Todo el material perteneciente a la deep web no es accesible de forma corriente. Para acceder a este contenido tenemos que acceder a través de un servidor proxy. En caso de querer investigar y experimentar una muy buena opción para empezar es hacerlo a través de la red Tor. La red Tor nos permitirá navegar tanto por la web superficial como dentro de la deep web de forma anónima y segura.\nSi buscan por la red verán muchas formas de navegar en la deep web mediante Tor. La verdad es que hay varias opciones. Por ejemplo encontrarán muchos manuales en los que se detalla que es necesario instalar los paquetes tor, privoxy y vidalia y a posterior te explican como configurar el navegador adecuadamente para poder acceder a la deep web.\nSi siguen los pasos adecuadamente podrán acceder tranquilamente a la deep web pero personalmente pienso que el método que se describe en muchos posts presenta los siguientes inconvenientes:\nSi instalas los paquetes tor, privoxy y vidalia y sigues los pasos que se describen tenemos el problema que cada vez que arrancamos el ordenador se arrancan los demonios de tor y privoxy que consumirán recursos. En el caso que queramos tenerlos desactivados cada vez que accedamos a la deep web tendremos que estar activando y desactivando estos procesos. Por muy buenos manuales que encuentran en la red para conectarse con navegadores convencionales como por ejemplo Firefox o Chrome, es realmente muy difícil ser anónimo en la red ya que estos navegadores no han sido pensados precisamente para ser anónimos Por ejemplo el simple hecho te tener activados Quicktime, flash o tener ciertas ciertas extensiones instaladas en nuestro navegador puede revelar nuestra ip, identidad o localización a terceros vulnerando así nuestra privacidad. En el caso de navegar por webs normales y corrientes los navegadores convencionales, en caso de no estar configurados adecuadamente, no fuerzan la navegación https. Opción más recomendable para acceder a la deep web La solución propuesta a los problemas anteriores es usar el navegador Tor-browser-Bundle. Este navegador es un Firefox tuneado para asegurar que en todo momento la navegación es 100% segura y anónima. Las ventajas que nos ofrece Tor-browser-Bundle son:\nFacilidad de instalación. No es necesario instalar paquetes, ni arrancar demonios ni lidiar con configuraciones. El navegador viene preconfigurado para preservar nuestra privacidad y para ser totalmente anónimos en la red. Para dejar un chrome con la misma configuración que Tor-Blundle se precisa de conocimientos avanzados que no todo el mundo tiene. La configuración de Tor Blundle es la mejor existente en la actualidad para preservar nuestro anonimato. Tendremos 2 navegadores. Una para navegar en nuestras páginas habituales y otro para navegar por la deep web. Personalmente no me gusta navegar por la web y la deep web con el mismo navegador. Cada vez que realizas una acción que no es segura y que puede revelar información a terceros, el navegador Tor-Blundle te advertirá diciendo que la acción que vas a realizar es insegura. Los procesos Tor, Vidalia y privoxi no estarán permanentemente activados. Solo se activarán cuando abrimos el navegador y una vez cerramos el navegador los procesos se vuelven a desactivar. Además si miramos nuestros repositorios veremos que estos paquetes no están ni físicamente instalados. Los lleva el navegador Tor-Bundle por defecto. El navegador Tor-Bundle lleva la extensión HTTPS everywhere. De está forma te estará forzando a usar la encriptación HTTPS en todas las webs que sea posible. Nota: El navegador Tor-browser-bundle no es más que un Firefox Tuneado y configurado adecuadamente para ocultar nuestra identidad. Acceder a la red Tor y a la deep web con Tor-Bundle en nuestro ordenador Para instalar Tor-Bundle y poder navegar por la deep web lo primeros que tenemos que hacer es acceder a la siguiente página web para descargar el navegador:\nhttps://www.torproject.org/download/download-easy.html.en\nComo podemos ver en la imagen tenemos que elegir si queremos la versión 32 bits o 64 bits. Además en el cuadro de selección también podemos seleccionar el idioma. En mi caso elijo la versión 32 bits con idioma español.\nUna vez descargado el fichero lo descomprimimos en nuestra home. La carpeta descomprimida la podemos renombrar con el nombre Tor. Abajo tenéis una imagen de la situación en este momento:\nUna vez hemos llegado a este punto tan solo nos falta crear un lanzador para abrir la aplicación Tor. Para crear el lanzado el proceso es muy sencillo. Nos vamos por ejemplo a nuestro escritorio y clicamos el botón derecho del mouse. Nos aparecerá el menú de la imagen:\nEn el menú de la imagen tenemos que seleccionar crear lanzador. Al seleccionar esta opción nos aparecerá la siguiente pantalla para crear el lanzador o acceso directo:\nComo podéis ver en la imagen simplemente tenéis que poner el nombre de nuestro lanzador. Seguidamente un comentario y finalmente rellenar los campos Comando y Directorio de trabajo. Para rellenar estos dos campos:\nCampo Comando: Tenemos que introducir el comando que abrirá el navegador. Como hemos guardado la carpeta Tor en nuestra home el comando para ejecutar el navegador tor es:\n/home/joan/Tor/start-tor-browser Nota: Deberán adaptar el texto de color rojo en función de vuestro nombre de usuario Campo Directorio de trabajo: Como podéis ver en la imagen solamente tenemos que poner la ubicación de donde guardamos la carpeta Tor. En mi caso:\n/home/joan/Tor Si queremos también podemos asignar un icono a nuestro lanzador.\nFinalmente apretamos el botón Crear y ya hemos finalizado el proceso de creación del lanzador.\nNota: Como podéis ver en este apartado estoy usando el entorno de escritorio XCFE. En otros entornos de escritorio el proceso puede variar. De todos modos lo importante es tener claro el comando para ejecutar el tor browser. Si ejecutamos el comando directamente en la terminal sin crear el lanzado el navegador se ejecutará sin ningún problema. Hacemos doble click sobre el lanzador que acabamos de crear y que tenemos en el escritorio. Ahora solo falta esperar. Tened paciencia. Es posible que tengáis que esperar 30 segundos o un minuto para que se abra el navegador. Durante la espera veremos que se conecta vidalia para conectarnos a la red Tor. Una vez conectados a la Red Tor se arranca el navegador. Cuando veáis una pantalla parecida a la que mostraré a continuación quiere decir que estáis conectados a la red Tor y por lo tanto podéis navegador por la deep web:\nNota: Es posible que algunos ISP capen el acceso a la red Tor. Si este es vuestro caso tenemos la posibilidad de conectarnos a la red Tor mediante bridges. Para mas información: https://www.torproject.org/docs/bridges\nAcceder a la red tor y a la deep web con nuestro teléfono Android Si queréis conectaros a la red Tor y acceder y navegar por la deep web a través de vuestro teléfono Android, tan solo tiene que visitar el siguiente enlace.\nAlgunos links pertenecientes a la deep web Para quien quiera investigar y empezar a navegar en la red Tor en el siguiente link podrán encontrar algunas direcciones:\nhttp://pastebin.com/ADTynHbX\nCuando entras en la deep web tienes que tener en cuenta que para acceder a los sitios necesitas saber la dirección exacta y difícilmente la encontrarás en ningún buscador tradicional. Primero hay que empezar con un punto de referencia que puede ser por ejemplo the hidden wiki. A partir de esta página se encuentran enlaces para acceder a distintos sitios y de los nuevos sitios también podrás encontrar nuevos enlaces. En foros también se pueden encontrar enlaces de contenido.\nOtro lugar donde podremos obtener multitud de direcciones pertenecientes a la deep web es la siguiente página:\nhttp://pastebin.com/\nSimplemente tienen que entrar en el sitio y hacer una búsqueda por ejemplo por .onion. De este modo podremos encontrar direcciones pertenecientes a la deep web que la gente ha subido a esta página.\nOtra solución para encontrar links es usar buscadores existentes en la deep web. Por ejemplo se pueden usar los buscadores Torch y The Abyss que encontraran en la Hidden Wiki. Otra opción es usar google. Podemos acceder a google y buscar páginas .onion de la siguiente forma:\nAntes de introducir el texto que queremos buscar tenemos que añadir site:onion.to. Así por ejemplo en el caso que deseamos buscar información acerca de fabricar aviones podemos escribir la siguiente búsqueda en google:\nsite:onion.to fabricar aviones Precauciones que debemos tener cuando navegamos en la deep web Algunas de las precauciones que tenemos que tener al navegar por la deep web son:\nA poder ser hacerlo dentro de una máquina virtual. De este modo nuestro sistema operativo no corre peligro de ser dañado. No descargar ningún archivo a menos que no estés seguro de saber lo que descargas. Es posible que los archivos traigan scripts ocultos. Por lo tanto el simple hecho de descargar un archivo puede dar información a un tercero de nuestra identidad. Si usas Tor-Bundle se te hará una notificación cada vez que vayas a realizar un acto \u0026ldquo;inseguro\u0026rdquo;. Tenemos que tener en cuenta que con el método descrito en este post solo tenemos garantizado ser anónimos usando nuestro navegador. No realices descargas ni chatees sin antes haber configurado las aplicaciones de chat y descargas para ser completamente anónimo. En este punto cabe destacar que hay una distribución Live-USB basada en Debian que se llama tails. Esta distribución viene preparada y configurada para ser completamente anónimo y no dejar ningún tipo de rastro. En un futuro seguramente haga un post hablando de esta distro. No entréis en vuestro correo habitual gmail o hotmail. En ningún caso debéis dar pistas de cual puede ser vuestra identidad. No abrir ficheros word, pdf u de otro tipo. Estos ficheros pueden contener scripts que revelen nuestra identidad. En el caso de tener necesidad de abrir los archivos hacerlo dentro de una máquina virtual y desconectados de internet. Evitar navegar en los sitios con nomenclaturas Candy, Pedo, bear, etc. El contenido que vais a encontrar es desagradable. No activar ningún plugin del navegador. En el caso que precisen información adicional para navegar en la deep web de forma segura pueden consultar el siguiente enlace:\nConsejos y recomendaciones para navegar en la deepweb o Dark net de forma segura\nSoluciones alternativas para conectarse a la deep web Existen soluciones a la red Tor para poder acceder a la deep web. Una de estas alternativas es freenet. Para poder obtener información adicional acerca de freenet pueden consultar la siguiente página web:\nhttps://freenetproject.org/\nOtra opción comentada anteriormente es usar Tails. Tails es una distribución live-USB para poder navegar, chatear, realizar descargas y cualquier tipo de acción de forma anónima y segura. Tails es increíblemente útil ya que nos asegurará que la totalidad de conexiones salientes a Internet se realizan a través de la Red Tor. Para más información sobre esta distribución puede consultar el siguiente link:\nhttps://geeklandlinux.github.io/posts/instalar-tails-para-ser-anonimo/\nSoluciones alternativas para ser anónimos en la red Como se ha visto en el post la red Tor, aparte de acceder a la deep web, también sirve para ocultar nuestra IP y ser anónimo. Por lo tanto a través de la red Tor también podemos navegar por la Internet que todo el mundo conoce sin dejar rastros. Otras alternativas para navegar por la internet que todo el mundo conoce de forma anónima es mediante servidores Proxy y servidores VPN. Para la gente que esté interesada les dejo los siguientes links para que se puedan informarse sobre estas alternativas:\nhttps://geeklandlinux.github.io/posts/conectarse-a-un-servidor-vpn-gratis/\nhttps://geeklandlinux.github.io/posts/conectarse-a-un-servidor-proxy/\nFuentes: http://www.neoteo.com/deep-web-el-lado-invisible-de-la-redhttps://www.torproject.org/ http://es.wikipedia.org/wiki/Internet_profunda\nNota: Antes de entrar en la deep web infórmense si es legal en vuestro país. Hay países, como por ejemplo china, que es completamente ilegal conectarse.","permalink":"https://geeklandlinux.github.io/posts/acceder-a-la-deep-web/","summary":"\u003cp\u003eEn el presente artículo veremos de forma detallada que es la deep web,  y como podemos acceder a ella para poder empezar a navegar de forma segura.\u003c/p\u003e\n\u003ch2 id=\"qué-es-la-deep-web\"\u003e¿Qué es la deep web?\u003c/h2\u003e","title":"Acceder a la deep web de forma segura"},{"content":"Particularmente uso el escritorio XFCE tanto en Debian como en Xubuntu, que son los 2 sistemas operativos que utilizo habitualmente. Para mi es el escritorio ideal ya que bajo mi punto de vista es configurable, sencillo, intuitivo, funcional y ligero. Aunque mejor no discutir sobre estos puntos ya que es cuestión de gustos personales.\nA pesar de las bondades que acabo de describir XFCE 4.8 presenta inconvenientes, o más bien dicho hay características que no están disponibles y que bajo mi punto de vista son básicas, esenciales o muy útiles en mi caso.\nCARACTERÍSTICAS QUE ECHO DE MENOS EN XFCE 4.8 Lo primero que echo de menos de XFCE 4.8 respecto a otros entornos de escritorio es el window tiling. ¿Qué es el window tiling?\nEl window tiling es la característica que cuando arrastras una de las ventanas a un extremo del escritorio, esta se redimensiona automáticamente ocupando justo la mitad del espacio de la pantalla. Os muestro lo que es exactamente ya que una imagen vale más que mil palabras:\nComo podéis ver esta característica es ideal para la gente que posea una pantalla de gran tamaño ya que nos permite agilizar nuestro trabajo y simultanear tareas sin estar cambiando constantemente de ventana. Por ejemplo cuando estamos realizando algún trabajo podemos tener el navegador a un lado de nuestra pantalla mientas que en el otro podemos tener nuestro procesador de textos. Así de esta forma podemos leer y escribir al mismo tiempo y de forma fácil.\nOtro problema que me molesta un poco de XFCE 4.8 es que no te dejar pegar archivos directamente en el escritorio. Por ejemplo, Si copiamos un archivo que tenemos en nuestra home, nos vamos al escritorio, cuando demos click al botón derecho para buscar la opción pegar veremos que está desactivada. Para dar solución a este problema solo tenéis que leer el siguiente apartado. Una solución alternativa para poder pegar un archivo es creando una acción personalizada con thunar para pegar en el escritorio. Para saber como crear una acción personalizada pueden consultar el siguiente post:\nhttps://geeklandlinux.github.io/posts/acciones-personalizadas-en-thunar/\nCOMO OBTENER WINDOW TILING EN XFCE 4.8 Y PODER PEGAR DIRECTAMENTE EN EL ESCRITORIO Nota: La solución que se aplica a continuación funciona perfectamente en xubuntu 11.10 y 12.04. Imagino que el método también será efectivo tanto en Linux Mint como en Ubuntu. En caso de aplicar esta solución en otras distros existe la posibilidad de dañar vuestro entorno de escritorio o vuestro gestor de ventanas. A título personal he intentado aplicar esta solución en Debian Wheezy. Al intentar aplicarla vi que habían problemas de dependencias y preferí no forzar nada. En Debian Wheezy utilizo la solución que se describe en opciones alternativas. Para obtener el window tiling en xfce 4.8 abrimos una terminal y tecleamos los siguientes comandos:\nsudo add-apt-repository ppa:fossfreedom/xfwm4 sudo apt-get update sudo apt-get install xfwm4\nDespués del proceso, como podemos observar en las imágenes, nuestro sistema operativo ya dispone de window tiling y podemos pegar archivos en el escritorio sin problema alguno:\nWindow tiling con ventanas en horizontal (Habilitado)\nWindow tilling con ventanas en vertical (Habilitado)\nPegar archivo en el escritorio activado (Habilitado)\nPuedo asegurar que este método es 100% fiable en Xubuntu 12.04 LTS. Realice este proceso hace más de medio año y no me ha dado problema alguno. El rendimiento siempre ha sido perfecto y nunca he tenido ningún problema de dependencias en mi sistema causado por usar este repositorio.\nOPCIONES ALTERNATIVAS AL REPOSITORIO DE UBUNTU Puede ser que con el método descrito y dependiendo de la distro que uséis tengáis problemas de dependencias. Si no queréis forzar la instalación existe una opción alternativa que es la que estoy usando en mi Debian. Para aplicar esta solución tenéis que proceder de la siguiente forma:\nLo primer que haremos es descargarnos un script que ya está realizado. El script se llama quicktile y lo descargaremos de la siguiente página web:\nhttp://ssokolow.com/quicktile/\nComo podéis leer en la página para que el script funcione tenéis que tener instalado python y los paquetes python-xlib y dbus-python en vuestro ordenador. En mi caso tengo la versión 2.7 de python y funciona perfectamente. Desconozco si en versiones superiores como la 3 el script funciona. Para asegurar que tenemos los paquetes necesarios en la terminal teclemaos:\nsudo apt-get install python python-xlib En la parte inferior de la página veréis un apartado que pone Download. En este apartado es de donde nos descargaremos el script ya sea en formato zip o en formato tar.\nUna vez descargado el script traslados el zip o el tar dentro de nuestra home y lo descomprimimos. Una vez descomprimida la carpeta le cambiamos el nombre. La carpeta inicialmente tiene que tener un nombre similar a ssokolow-quicktile-1df6e04. Para cambiar el nombre abrimos una terminal dentro de nuestra home y escribimos:\nmv ssokolow-quicktile-1df6e04 Quicktile Una vez cambiado el nombre este proceso nuestra home tiene que quedar de la siguiente forma:\nSeguidamente ejecutaremos quicktail para ver que funcione. Para ejecutarlo entramos dentro de la termina y tecleamos:\ncd Quicktile python2.7 quicktile.py -d Nota: El último comando se tendrá que adaptar en función dela versión de python que tengas instalada. Una vez ejecutado por primera vez cerramos la terminal sin hacer nada. Ahora vamos a configurar el teclado para poder ubicar las ventanas de forma rápida donde queramos. Para ello abrimos una terminal y escribimos:\ngedit .config/quicktile.cfg Se abrirá el editor de textos. Tenéis que asegurar que el contenido es el mismo que el de la siguiente imagen:\nGuardamos y cerramos el editor. Seguidamente ya solo nos falta configurar que quicktile arranque de forma automática cuando arrancamos nuestro ordenador. Para ello abrimos una terminal y tecleamos:\nxfce4-session-settings Se abrirá una ventana. Dento de la ventana que se abre tenemos que selecionar la pestaña Autoarranque de aplicaciones. Una vez dentro de la pestaña tenemos que darle click al botón de añadir.\nUna vez le hemos dado al botón de añadir tenemos que rellenar el menú como se puede ver en la imagen de arriba. El apartado comando queda cortado. El texto completo que hay que poner en el apartado comando es:\npython2.7 /home/joan/Quicktile/quicktile.py -d Le damos al botón aceptar y ya hemos terminado. Solamente falta reiniciar nuestro ordenador y todo debería funcionar. Para su funcionamiento procedemos de la siguiente forma:\nHay que apretar simultáneamente las teclas ctrl+tecla windows+(cualquier número del teclado numérico (del 1 al 9))\nOs dejo una pantalla para que podías observar lo que se puede hacer con quicktile:\nAdemás los usuarios de XFCE poseen aún de otras alternativas a las 2 que acabamos de citar. Tres alternativas adicionales que se me ocurren son las que presento a continuación:\nEn vez de usar xfwm4, que es el gestor de ventas por defecto de xfce, podemos usar compiz. Es una solución muy válida pero no la he usado nunca. Con xfce busco un sistema ligero y por lo tanto no tendría mucho mucho sentido usar xfce con compiz. Actualizar a una distro que use XFCE 4.10 en vez de XFCE 4.8. XFCE 4.10 dispone de window tilling de serie y permite pegar archivos en el escritorio sin problema alguno. No obstante en mi caso he preferido no elegir esta opción ya que para mi y para mucha gente es un coñazo instalar y dejar a nuestro gusto un sistema operativo. Prefiero usar versiones LTS y estables. También existe la posibilidad de compilar el entorno de escritorio de XFCE 4.10 o usar un repositorio de terceros que nos permita actualizar nuestro entorno de escritorio sin tener que instalar un sistema operativo des de cero. Y a estas alturas\u0026hellip; A disfrutar del window tiling en xfce 4.8 o en cualquier otro entorno de escritorio que no lo tenga de série.\n","permalink":"https://geeklandlinux.github.io/posts/window-tiling-en-xfce-4-8/","summary":"\u003cp\u003eParticularmente uso el escritorio \u003ca href=\"http://www.xfce.org/\" title=\"Xfce Website\"\u003eXFCE\u003c/a\u003e tanto en Debian como en Xubuntu, que son los 2 sistemas operativos que utilizo habitualmente. Para mi es el escritorio ideal ya que bajo mi punto de vista es configurable, sencillo, intuitivo, funcional y ligero. Aunque mejor no discutir sobre estos puntos ya que es cuestión de gustos personales.\u003c/p\u003e","title":"Window tiling en XFCE 4.8 y en otros escritorios que no lo tienen de série"},{"content":"Seguidamente les mostraremos como hacer que el sistema operativo que estamos virtualizando en nuestra máquina virtual (Virtualbox) este integrado a nuestra red local. Una vez conseguido nuestra máquina virtual estará plenamente integrada en nuestra red local tal y como si un dispositivo real se tratará.\n¿POR QUÉ INTEGRAR MAQUINA VIRTUAL EN UNA RED LOCAL? Una vez hemos integrado nuestro sistema operativo en nuestra red local podremos utilizar el sistema operativo virtualizado como si se tratará de una máquina física integrada en nuestra red. Por lo tanto una vez realizados los pasos pertinentes con nuestro equipo seremos capaces de:\nEn el caso de tener escasez de equipos podremos utilizar la máquina virtual tal y como si fuera un servidor. Nos podremos montar el tipo de servidor que nosotros queramos. Por ejemplo un servidor DNS, un servidor Web, un servidor NFS, un servidor de correo, un servidor SSH, un servidor VPN, etc. Tendremos la posibilidad de simular una pequeña red local con varios equipos con el fin de realizar todo tipo de pruebas y test. Podremos compartir fácilmente información entre el sistema operativo virtualizado y el sistema operativo anfitrión. (sin la necesidad de tener la carpeta compartida que nos ofrece Virtualbox) Podremos usar la máquina virtualizada para establecer un túnel SSH y así cifrar todo el tráfico hacia el exterior generado por nuestro ordenador. Nota: Aparte de los usos que acabo de citar si pensáis un poco seguro que le podéis dar muchas más utilidades a las que acabo de citar. PASOS A SEGUIR PARA INTEGRAR MAQUINA VIRTUAL EN UNA RED LOCAL La integración es sumamente sencilla. Con 4 clicks de ratón lo conseguiremos fácilmente. Lo primero que necesitamos es un sistema operativo instalado en nuestra máquina virtual Virtualbox. En mi caso este sistema es Xubuntu 12.10. Abrimos nuestra máquina virtual y veremos algo similar a la siguiente imagen:\nSelecciono cualquiera de los sistemas operativos que tengo instalados, en mi caso Xubuntu 12.10, y doy click al icono de Configuración. Seguidamente nos aparecerá la siguiente ventana de configuración:\nUna vez dentro de la ventana de configuración tenemos que seleccionar la opción red.\nUna vez seleccionada la opción red nos aseguramos que tenemos activada la opción habilitar adaptador de red. Seguidamente, como podemos ver en las imágenes, cambiamos la opción conectado a de NAT a Adaptador Puente. Para Finalizar la integración ya solo nos falta definir la opción Nombre.\nComo podéis ver en la imagen, el campo Nombre nos ofrece la opción wlan0 y eth0. En mi caso elijo la opción wlan0 y clico al botón de aceptar porqué la conexión que tengo en este momento es vía wifi.\nEn el caso que mi conexión fuera por cable tendría que elegir la opción eth0 y darle click al botón de aceptar.\nUna vez realizados correctamente los pasos que acabamos de citar la integración de la máquina virtual en nuestra red local ha terminado. Solamente falta comprobar que los pasos realizados funcionan.\nCOMPROBACIÓN QUE NUESTRA MÁQUINA VIRTUAL ESTA INTEGRADA EN NUESTA RED LOCAL Para comprobar que nuestra máquina virtual se puede hacer de muchas formas. En mi caso lo voy a realizar con nmap. Primero arranco la máquina virtual, abro una terminal y tecleo:\nsudo apt-get install nmap Nota: Este paso es simplemente para asegurarme que tengo el paquete nmap instalado. Probablemente muchos de vosotros ya lo tengan preinstalado. Seguidamente compruebo la IP que tiene mi sistema mediante la terminal y el comando:\nifconfig El resultado obtenido es el siguiente:\nComo podéis ver la ip interna que mi router está asignando a la máquina virtual es 192.168.1.33. Con esto ya debéis tener la seguridad que vuestra máquina virtual está integrada en la red local ya que por defecto Virtualbox asigna IP del tipo 10.0.2.x/24.\nFinalmente podemos hacer la comprobación de los equipos que vemos desde nuestra máquina virtual. Para hacer esto simplemente abrimos una terminal y usamos nmap:\nsudo nmap 192.168.1.1/24 Nota: Puede que en vuestro caso el comando sea distinto. Lo tendréis que adaptar en función de vuestra puerta de entrada y en función de vuestra máscara de subred. El comando es simple. Simplemente tenéis que teclear nmap seguido de la puerta de entrada de vuestro router (192.168.1.1) más una / y finalmente poner vuestra máscara de subred en forma canónica (24). Como podemos ver en la imagen des de nuestra máquina virtual somos capaces de ver e interactuar con la totalidad de dispositivos que están actualmente en mi red doméstica. En la imagen podéis ver que desde nuestra máquina virtual podemos ver nuestro router (192.168.1.1), ipad (192.168.1.18), ordenador anfitrión (192.168.1.14), y otro ordenador que tengo en estos momentos conectado (192.168.1.2). Además podéis ver que también nos podemos ver a nosotros mismos ya que la última ip (192.168.1.33) es la de nuestra máquina virtual.\n","permalink":"https://geeklandlinux.github.io/posts/integrar-maquina-virtual-en-una-red-local/","summary":"\u003cp\u003eSeguidamente les mostraremos como hacer que el sistema operativo que estamos virtualizando en nuestra máquina virtual (\u003ca href=\"https://www.virtualbox.org/\" title=\"Web Virtualbox\"\u003eVirtualbox\u003c/a\u003e) este integrado a nuestra red local. Una vez conseguido nuestra máquina virtual estará plenamente integrada en nuestra red local tal y como si un dispositivo real se tratará.\u003c/p\u003e","title":"Integrar Maquina Virtual en una Red Local"},{"content":"En el siguiente post comentaremos como conectarse a un servidor VPN externo gratuito, pero antes de ir al grano creo que es altamente recomendable explicar las ventajas que nos proporcionará VPN así como también su funcionamiento. Lo primero que deberíamos saber lógicamente es que es una red VPN.\n¿QUÉ ES UNA RED VPN? Una red VPN es una red privada a la que nos podemos conectar desde cualquier ubicación geográfica. El medio utilizado para realizar esta conexión entre la red Vpn y nuestro equipo es internet. De esta forma estamos extendiendo geográficamente la red privada a la que nos conectamos ya que multitud de equipos se pondrán conectar a ella independientemente de donde se encuentren ubicados los equipos.\nUna vez estamos conectados al servidor Vpn nuestro ordenador pasará a formar parte de la red privada virtual pudiendo comunicarnos con ella como si se tratará de una red local y pudiendo acceder a los servicios e información de la red a la que nos conectamos.\nAsí por ejemplo en el caso que nosotros estemos en casa y necesitamos conectarnos a la red local de nuestra empresa lo podemos realizar de forma segura. El mecanismo se describe el siguiente diagrama:\nEn el caso de disponer de los permisos, autorizaciones y autentificaciones necesarias se generará un túnel entre el cliente VPN, que somos nosotros, y el Servidor VPN que es nuestra empresa. Una vez establecido el túnel ya podremos realizar el trabajo en cuestión siempre y cuando dispongamos de los permisos necesarios. Además tendremos la tranquilidad que la totalidad de tráfico que se genera entre el cliente VPN y el Servidor VPN viajará por el túnel de forma cifrada y por lo tanto en teoría nadie podría tener acceso a ella.\nUSOS Y VENTAJAS AL CONECTARNOS A LA RED A TRAVES DE UN SERVIDOR VPN Nota: Cabe considerar que el uso principal de VPN es laboral y es el que justamente acabamos de describir en el apartado anterior. No obstante en este post no nos queremos focalizarnos en este uso. Nos focalizaremos en las ventajas que un usuario doméstico puede obtener en el caso que se conecte a la red a través de un servidor VPN externo o uno que se pueda montar en su casa. Las ventajas se pueden resumir en las siguientes: Hay ciertos países, como por ejemplo china, en que no podemos acceder a servicios como por ejemplo facebook o youtube. Si nuestra conexión a Internet se establece mediante un servidor VPN ubicado en el exterior del país podremos acceder a estos servicios. Por la misma regla de tres en el caso de vivir en España podríamos tener acceso a servicios como Netflix o Pandora que solo operan en Estados unidos o Canadá. Mantener el anonimato en la totalidad de operaciones que realizamos en Internet. Con una VPN nuestra IP externa siempre estará oculta y la totalidad de tráfico que generamos viajará de forma cifrada con una única excepción. El tráfico que generamos entre servidor VPN y la conexión final no estará encriptado y por lo tanto es susceptible de ser esnifado. Saltarse las restricciones de los servidores proxy que acostumbran existir en muchas empresas para que no nos conectemos a nuestro correo, a youtube, facebook, etc. El anonimato que conseguimos con VPN es total. Por ejemplo con un servidor proxy solamente podremos conseguir navegar anonimamente pero con Vpn además podremos además enviar correos, chatear, etc. Evitar ser rastreado en la mayoría de página web que entramos y por lo tanto evitar que obtengan información sobre nuestro comportamiento online. En cierto modo y gracias al anonimato que proporciona potencia la libertad de expresión. La velocidad de navegación con VPN es mucho mayor que si por ejemplo nos conectamos a la red Tor o cualquier servidor Proxy existente. Para proteger nuestra privacidad en el caso que nos conectemos a una red pública o Hotspot. ¿POR QUÉ A TRAVÉS DE UNA RED VPN SOMOS ANÓNIMOS? Como se puede ver en el esquema en el caso de una conexión a Internet de forma convencional nuestra ip siempre está al descubierto. Además nuestro Internet Service provider puede fácilmente saber lo que estamos realizando en todo momento.\nEn el caso de acceder a internet mediante VPN se creará un túnel ente el servidor VPN y nuestro equipo. La totalidad de información viajará por el interior de este túnel de forma cifrada y por lo tanto nuestro proveedor de Internet nunca podrá tener acceso a nuestro contenido. Además una vez conectado al servidor VPN estaremos camuflando nuestra identidad por la cual cosa nadie nos debería poder identificar.\nNota: No obstante hay que tener muy en cuenta que ciertos servicios VPN, y más aquellos que son gratuitos, pueden guardar logs de nuestra actividad. Si fuera este el caso nuestro anonimato quedaría desprotegido. Frente a esta tesitura lo mejor es que nosotros mismos montemos nuestro propio servidor VPN o pasar por caja y contratar un servicio fiable. ¿CÓMO CONECTARSE A UN SERVIDOR VPN? Seguidamente detallo como poder establecer una conexión a Internet mediante un servicio VPN Gratuito. Si buscáis por la red encontrareis opciones alternativas a la que estoy presentando. Algunas de ellas de pago y algunas gratuitas. Como acabamos de detallar puede darse el caso que algunos servicios Vpn capturen logs de nuestra actividad y nos rastreen. Es lo que tiene lo gratuito.\nPara establecer la conexión el primer paso a realizar es conectarnos a:\nhttp://www.vpnbook.com/freevpn\nNota: En la página web informa que no se van a guardar logs de nuestra actividad ni tampoco se intentará recopilación información. Los únicos logs que se guardarán es la IP de conexión y el tiempo de conexión. Estos logs a los 3 días se borrarán y por lo tanto aunque las autoridades pidan los logs estos no deberían existir. Nota: Si buscáis por Internet fácilmente encontrareis proveedores vpn gratuitos al estilo de vpnbook.com Una vez abierta la página de vpnbook veremos la información que se puede ver en la siguiente captura de pantalla:\nLo primero que tenemos que realizar es anotar el username y password que figuran en la columna central. Seguidamente debemos elegir el servidor el cual nos vamos a conectar. Actualmente la página de vpnbook ofrece 4 servidores. Lo servidores ofrecidos son los siguientes:\nEuro1 OpenVPN Certificate Bundle Euro2 OpenVPN Certificate Bundle UK OpenVPN Certificate Bundle US OpenVPN Certificate Bundle En mi caso elegiré el servidor US OpenVPN Certificate Bundle. Una vez elegido nos descargaremos los archivos de configuración del VPN. Para descargar los archivos de configuración damos click encima de US OpenVPN Certificate Bundle y se descargará un archivo Zip. Una vez descargado el archivo Zip podéis crear una carpeta en vuestra home que se llame OpenVPN. Dentro de la carpeta creada guardáis el zip y lo descomprimís obteniendo un resultado parecido al siguiente:\nEl siguiente paso es generar el certificado de conexión. Para generar el certificado de conexión CA se puede hacer de la siguiente forma. Primero copiamos cualquiera de los archivos .opvn y lo pegamos. Como se puede ver en la captura de pantalla la situación actual es la siguiente:\nSeguidamente el archivo que acabamos de copia lo renombramos. El nombre que le tenemos que poner es el siguiente:\nvpnbook-ca.crt Una vez renombrado el archivo tenemos que aseguramos de tener instalados los siguientes paquetes en nuestro ordenador. Para ello abrimos una terminal y tecleamos:\nNota: Solo hay que instalar estos paquetes en el caso que estemos usando gnome network manager. En el caso de estar usando Wicd los paquetes a instalar serán otros diferentes a los que a continuación cito: sudo apt-get install libpkcs11-helper1 network-manager-openvpn openvpn libpkcs11-helper1 openvpn resolvconf network-manager-pptp pptp-linux network-manager-openvpn-gnome network-manager-pptp-gnome Nota: La gran mayoría de vosotros pueden omitir este paso ya que prácticamente la totalidad de distros linux instalan estos paquetes automáticamente cuando instalamos el Sistema operativo. Solamente tendrán que instalar los paquetes aquellos que hayan instalado su sistema operativo a partir de una netinstall, Seguidamente vamos al icono de red de nuestro escritorio. Le damos un click con el botón derecho. Elegimos la opción Conexiones VPN y seguidamente elegimos la opción Configurar VPN.\nSeguidamente aparecerá la siguiente pantalla. Le damos click a la pestaña importar.\nAl darle click a la pestaña importar se abrirá el navegador de archivos. Seguidamente tenemos que seleccionar el fichero de configuración del servicio VPN y clicar al botón añadir. En función del fichero de configuración que elegimos nos vamos a conectar a través del puerto TCP80, TCP443, UDP53 o UDP25000. Recomiendo usar los ficheros que tienen la nomenclatura TCP80 o TCP443 ya que son los más comunes y los que menos problemas de conexión suelen generar. Como podéis ver en la captura de pantalla en mi caso elijo el fichero vpnbook-us1-tcp443.ovpn y presiono en el botón abrir:\nAparecerá otra pantalla. Podemos observarla a continuación:\nEn esta pantalla lo primero que tenemos que hacer es cambiar el tipo de Autentificación. Hay que cambiarlo de Certificado (TLS) a Contraseña. Seguidamente hay que anotar el usuario y la contraseña que anotamos en el principio de este apartado del post. Para finalizar en el campo certificado CA tenemos que clicar sobre el e ir a buscar el archivo vpnbook-ca.crt que habíamos creado anteriormente.\nSi hemos seguido los pasos correctamente el resultado obtenido tiene que ser el siguiente:\nPara finalizar apretamos al botón guardar.\nEn principio la totalidad de pasos ya han finalizado. Solamente falta conectarnos a la red VPN. Para conectarnos vamos al icono del gestor de redes de nuestro escritorio. Click derecho con el mouse, Conexiones VPN y finalmente le damos click a la red VPN que acabamos de configurar.\nDentro de pocos segundos como se puede ver en la imagen la conexión se habrá establecido y podremos navegar disponiendo de la totalidad de ventajas que se detallan en este post.\nNota: En el caso de no poderse establecer la conexión hay que mirar que los puertos, TCP80, TCP443, UDP53 o UDP25000 estén debidamente abiertos en nuestro firewall. También tenéis que tener en cuenta que ciertos proveedores de Internet restringen y capan funciones. En el caso que esto no funcione podemos entrar en la configuración de nuestro Router y activar UPnP. No obstante los puertos TCP80 o TCP443, bajo mi punto de vista, no debería ofrecer problemas a nadie. Nota: Con el tiempo puede ser que vpnbook, o cualquier otro servicio vpn, os deje de funcionar. Esto seguramente es debido a que las páginas que ofrecen este tipo de servicio han cambiado el password de acceso. Si es este vuestro caso tan solo tenéis que entrar de nuevo en la página web y descargar los certificados y ficheros de configuración de nuevo y tomar nota del nuevo password. Reemplazáis los certificados, ponéis el nuevo password y con total seguridad el servicio VPN volverá a funcionar. OTRAS OPCIONES PARA CONSEGUIR EL ANONIMATO EN LA RED Existen muchos otros servicios para ocultar la identidad en la red como por ejemplo la red Tor, servidores proxy, etc. En futuros post se comentaran los distintos sistemas y se intentará analizar las ventajas e inconvenientes que nos ofrecen cada uno de los sistemas de los sistemas descritos. En el caso de estar interesado en ser anónimos pueden consultar los siguientes links:\nhttps://geeklandlinux.github.io/posts/acceder-a-la-deep-web/\nhttps://geeklandlinux.github.io/posts/conectarse-a-un-servidor-proxy/\nhttps://geeklandlinux.github.io/posts/instalar-tails-para-ser-anonimo/\n¿DÓNDE PODEMOS ENCONTRAR SERVICIOS GRATUITOS SIMILARES A VPNBOOK? Seguidamente les dejo una serie de links donde podrán encontrar servicios VPN similares a vpnbook. Vpnbook funciona muy bien pero si quieren buscar otras alternativas o tener IP de distintos países podéis consultar:\nhttp://www.hackplayers.com/2013/01/25-servicios-vpn-gratuitos.html\nhttp://elinformatico.eu/9-servicios-vpn-gratuitos-20120210\nhttp://cyberghostvpn.com\nhttp://hotspotshield.com\nhttp://www.securitykiss.com\nhttp://proxpn.com\nY finalmente el último enlace que merece una mención especial:\nhttp://www.vpngate.net/en/\nEl enlace me lo facilito Manuel P. y en el podréis encontrar centenares de redes VPN universitarias de distintos países He realizado un par de pruebas con un servidor de Nueza Zelanda y otro de Estados Unidos y os puedo decir que funcionan de maravilla.\n¿QUÉ PASA SI NO ME FIO DE ESTOS SERVICIOS? Es lógico y licito pensar que detrás de todo servicio gratuito hay alguien que puede estar intentando sacar provecho de la información que puede capturar. Por lo tanto para la gente que no se fíe de este tipo de servicios siempre puede montar su propio servidor VPN en su casa. Para ello les dejo 2 enlaces que si siguen al pie de la letra no deberían tener problemas:\nhttps://geeklandlinux.github.io/posts/crear-un-servidor-vpn-pptp/\nhttps://geeklandlinux.github.io/posts/crear-y-configurar-servidor-openvpn/\nPara finalizar el post comentar que en la página web http://www.vpnbook.com/ pueden realizar sus donaciones para poder mantener este servicio activo.\n","permalink":"https://geeklandlinux.github.io/posts/conectarse-a-un-servidor-vpn-gratis/","summary":"\u003cp\u003eEn el siguiente post comentaremos como conectarse a un servidor VPN externo gratuito, pero antes de ir al grano creo que es altamente recomendable explicar las ventajas que nos proporcionará VPN así como también su funcionamiento. Lo primero que deberíamos saber lógicamente es que es una red VPN.\u003c/p\u003e","title":"Conectarse a un servidor VPN Gratis"},{"content":"Bleachbit es un software de código abierto multiplaforma disponible tanto para Linux como para Windows principamente para liberar espacio de nuestro disco duro. Para que la gente se pueda hacer una idea diremos que las prestaciones que ofrece bleachbit son similares a las que nos ofrece ccleaner en Windows. Las utilidades principales del programa bleachbit según mi forma de ver son 2.\n1- Utilidades principales del software Bleachbit Liberarse de archivos innecesarios en nuestro disco duro y de esta forma liberar espacio e incrementar en la medida de lo posible la eficiencia y rendimiento de nuestro sistema. Preservar nuestra privacidad ya que con bleachbit podemos triturar archivos y el espacio teóricamente libre de nuestro disco. De esta forma un tercero nunca podrá recuperar los datos que nosotros hemos borrado de nuestro disco duro. 2- Funciones que nos proporciona bleachbit Las funciones que nos proporciona bleachbit en modo normal y en modo root los las que se detallan a continuación:\nAPT: Limpieza de la totalidad de paquetes .deb almacenados en la memoria cache, ubicada en (/var/cache/apt/archive), así como también dependencias de programas que nos olvidamos de quitar cuando desinstalamos programas. (Funciones equivalentes a los comandos apt-get autoremove, apt-get clean y apt-get autoclean) BASH: Eliminar el historial de comandos de nuestra terminal. Muchas veces os habréis fijado que al terner abierta la terminal y al presionar los cursores nos van apareciendo los últimos comandos introducidos. Bleachbit te permite limpiar este historial. El historial de comandos mencionados se guarda en nuestra home dentro de un archivo oculto que se llama .bash_history. Esta operación se puede hacer manual si entramos en el archivo y borramos el contenido del archivo .bash_history. ESCÁNER PROFUNDO: La función escáner profundo busca y elimina los siguientes tipo de archivos: .DS_store o también .trashes: Archivos en que se guarda información de la posición que ocupan los iconos en la pantalla, tipo de vista en el navegador de archivos, etc. Archivos de respaldo: Borra archivos de respaldo con extensión .bak como por ejemplo la copia de respaldo de las bookmark de Chromium, etc. Thumbs.db: Archivo que se acostumbra a generar en las carpetas donde tenemos imágenes. Este archivo es una cache donde se almacenan las vistas en miniatura de las imágenes que guardamos dentro de una carpeta en concreto. Archivos temporales: Eliminación de los archivos temporales de nuestro sistema. SISTEMA: Conjunto de opciones que nos permite eliminar y optimizar las siguientes áreas: Archivos .desktop rotos: Elimina entradas de aplicaciones y asociaciones de archivo rotas. Archivos temporales: Elimina los archivos temporales ubicados en la carpeta /tmp. Cache: Borrar la totalidad del contenido de la cache ubicada en nuestra home. La ubicación de la cache es home/usuario/.cache Liberar espacio en disco: Al marcar esta opción lo que estamos haciendo es un borrado real del espacio asignado como libre en nuestro disco duro. La mayoría sabrán que si borramos un archivo de forma habitual no estamos borrando el contenido. Lo único que estamos haciendo es eliminar la referencia del contenido de tal forma nuestro sistema piense que se ha borrado el archivo (pero el archivo continua estando en la misma ubicación). Esta opción que es lenta y en el caso que no haya información sensible en nuestro ordenador es completamente inútil realizarla. Lista de documentos recientes: Al marcar esta opción borramos la lista de documentos usados recientemente. Logs rotados: Si tildamos esta opción borraremos logs antiguos de nuestro sistema operativo. Memoria: Opción que al seleccionarla permite borrar la parte libre de nuestra memoria RAM y Swap. Como saben en la memoria RAM y swap se almacenan datos para la ejecución de programas. Si queremos borrar estos datos tan solo tenemos que tildar esta opción. (Solo borra la información que no está en uso en el momento de dar la orden de borrado) Papelera: Seleccionar esta opción simplemente vacía la papelera de reciclaje. Portapapeles: Al seleccionar esta opción se borrará la totalidad de elementos que tengamos en el portapapeles de nuestro escritorio. Traducciones: Al seleccionar esta opción se elimina la totalidad de archivos de idiomas no deseados. Para saber como seleccionar los idiomas que deseamos podemos consultar el apartado 4 de este post. Según la experiencia acumulada con está esta herramienta puedo afirmar que es más potente que localepurge. Una vez saque por accidente el español de los idiomas preferentes y esto me ocasiono que algunos de los programas instalados en mi ordenador nunca más pudieran estar en Español. Trituración de archivos para poder preservar el anonimato y que nadie los pueda volver a recuperar los archivos que hemos eliminado. Limpiadores para más de 90 programas. Pueden consultar el siguiente enlace para ver la totalidad de Limpiadores que contiene Bleachbit. Cada limpiador para cada uno de los programas ofrece diferentes opciones como por ejemplo borrar cache, borrar historiales de conversaciones, borrar historiales de navegación, cookies, ficheros usados recientemente, etc. Cada programa ofrece distintas opciones que se entenderán muy fácilmente ya que bleachbit te ofrece explicaciones detalladas de que realiza cada una de las funciones. 3- Instalar Bleachbit Bleachbit es un software que prácticamente esta en la totalidad de repositorios de las principales distros de linux (Ubuntu, Debian, Linux Mint, Fedora, Open Suse, slackware, Linux Mint Debian, etc.). Para instalarlo solamente tenemos que abrir una terminal y teclear:\nsudo apt-get install bleachbit Una vez instalado ya estamos listos para usar el programa. Podemos abrir bleachbit tanto en modo normal como en modo root desde el menú de nuestro escritorio. Si se quiere ejecutar des de la terminal simplemente tenemos que teclear:\nPara arrancarlo en modo normal tecleamos en la terminal:\nbleachbit Para arrancarlo en modo root tecleamos:\nsudo bleachbit 4- Configurar Bleachbit Ahora el programa ya está abierto. El primer paso a realizar una vez abierto es configurar las opciones del programa. Para acceder a las configuraciones del programa clicamos sobre el menú editar ya posteriori seleccionamos preferencias. Nos aparecerá un menú similar al siguiente:\nComo podemos ver en la imagen, la pestaña general tiene tres opciones:\nSi seleccionamos ocultar los limpadores irrelevantes se ocultan los limpiadores de programas que no tenemos instalados en nuestros sistema. Si seleccionamos escribir archivos para ocultar su contenido entonces los archivos eliminados se van a triturar y nunca más los podremos volver a recuperar. Por lo tanto si estais muy seguro de lo que quieres eliminar y quieres que una tercera no pueda recuperar los datos que borras podéis seleccionar esta opción. Si seleccionamos iniciar bleachbit con el sistema entonces se ejecutará bleachbit cada vez que arranquemos nuestro sistema. Finalizada la configuración general ahora seleccionamos la pestaña unidades:\nDentro de la pestaña unidades unidades seleccionamos los directorios que queremos que se sobrescriban para borrar todos los archivos definitivamente y eliminar cualquier rastro. Por defecto tenemos seleccionado la home y la carpeta de archivos temporales. Ustedes pueden añadir las ubicaciones que crean oportunas.\nUna vez Configurada la opción unidades seleccionamos idiomas:\nEn la pestaña idiomas seleccionamos los idiomas preferentes en nuestro sistema. En mi caso elijo el Inglés por ser el idioma base de mi distro y el Español que es mi idioma. De está forma aseguramos que se eliminaran paquetes de programas y del sistema instalados que hagan referencia a idiomas que no usamos.\nnota: La opción de idiomas que nos ofrece Bleachbit es mucho más agresiva que localepurge. El método de bleachbit puede eliminar archivos de idiomas no deseados que localepurge no puede. Hay que ir con cuidado con esta opción. Recuerdo una vez borre el español por accidente. Nunca más pude tener ciertos programas del sistema en Español. Al seleccionar la última pestaña, denominada Lista Blanca, podemos añadir las rutas o carpetas que queremos que bleachbit no pueda tener acceso y por lo tanto no pueda modificar. Al no seleccionar nada, bleachbit podrá modificar y tener acceso a la totalidad de información de nuestro ordenador.\n5- Usar Bleachbit para liberar espacio de nuestro disco duro Una vez configurado el programa ya podemos ejecutar el limpiador.\nPrimero usaremos bleachbit sin ser root. Como podemos ver en la imagen:\nVemos que al lado izquierdo se enumeran las opciones de limpieza que tenemos disponibles así como también cada uno de los programas que bleachbit puede optimizar y liberar espacio.\nEn la parte derecha podemos ver una detallada descripción de los archivos que se eliminarán en función de las opciones seleccionadas en la parte derecha.\nSeleccionar la totalidad de opciones de limpieza que queremos aplicar. Algunas de las opciones de limpieza seleccionadas se pueden ver en la imagen de este apartado. Como podéis ver por ejemplo he seleccionado la opción sistema y dentro de sistema he seleccionado la totalidad de acciones excepto de liberar espacio en disco (Sí queréis ver los motivos podéis leer el apartado 2 de este post).\nSi continuamos viendo la lista vemos que también he seleccionado skype. Skype solo nos ofrece la opción de borrar registros de chat. Como puedes ver en la parte derecha de la pantalla bleachbit nos informa que si seleccionamos esta opción se borrará el histórico de conversaciones que tenemos almacenadas en nuestro ordenador.\nUna vez seleccionadas la totalidad de opciones clicaremos sobre el icono de la lupa. Entonces Bleachbit buscará la totalidad de archivos que quiere eliminar. Estudiamos detalladamente los archivos que bleachbit quiere eliminar. Si no vemos problema en eliminarlos solamente tenemos que apretar el símbolo de eliminar que está justo al lado de la lupa. Justo al apretar eliminar nos aparecerá un mensaje si estamos seguros de eliminar los archivos. Al responder eliminar eliminaremos los archivos.\nNota: Al finalizar el proceso de borrar un archivo nos presentará un informe. En el informe veréis un detalle de los archivos borrados. En color rojo también veréis una serie de archivos que no se han podido borrar por falta de privilegios. Para eliminar los archivos que han aparecido en rojo solo tenemos que repetir el proceso descrito en el apartado 5 arrancando bleachbit como superusuario. 6- Triturar archivos con Bleachbit para preservar nuestra privacidad Como se ha comentado en el apartado 4 de este mismo post, si queremos podemos eliminar definitivamente la totalidad de elementos que borramos con bleachbit. En el menú editar/preferencias solamente tenemos que seleccionar la opción sobrescribir archivos para ocultar su contenido. Si seleccionamos esta opción todo lo que borraremos con bleachbit es para siempre.\nEn el caso que solo deseemos triturar archivos específicos como por ejemplo un archivo de texto que queremos que una vez eliminado nadie pueda tener acceso a el solamente tenemos que:\nDar click en el menú archivo y seleccionar la opción adecuada que en nuestro caso es Triturar archivos. Seguidamente aparecerá el navegador de archivos y deberemos solamente deberemos buscar y seleccionar el archivo a eliminar. Una vez encontrado lo seleccionamos y apretamos el botón de eliminar. Al apretar el botón de eliminar nos dirá si estamos seguros de eliminar permanentemente el archivo seleccionado. Solo tendremos que decirlo que sí y el proceso habrá finalizado. Nota: En el caso que quisiéramos triturar una carpeta el procedimiento es el mismo que el que acabamos de ver pero en el paso uno deberíamos seleccionar triturar carpetas. Una vez terminado el proceso vais a quedar altamente sorprendidos de la cantidad de espacio que hemos liberado. Sí queréis en los comentarios podéis comentar los resultados que habéis conseguido.\nEn el caso que queráis seguir optimizando vuestro sistema operativo podéis encontrar más información en le siguiente enlace.\nhttps://geeklandlinux.github.io/posts/limpiar-nuestro-sistema/\n","permalink":"https://geeklandlinux.github.io/posts/liberar-espacio-con-bleachbit/","summary":"\u003cp\u003eBleachbit es un software de código abierto multiplaforma disponible tanto para Linux como para Windows principamente para liberar espacio de nuestro disco duro. Para que la gente se pueda hacer una idea diremos que las prestaciones que ofrece bleachbit son similares a las que nos ofrece ccleaner en Windows. Las utilidades principales del programa bleachbit según mi forma de ver son 2.\u003c/p\u003e","title":"Liberar espacio con Bleachbit"},{"content":"Con el paso del tiempo seguramente tendremos la necesidad de limpiar nuestro sistema operativo. Veremos que el disco duro de nuestro ordenador se va llenando de basura y que si no hacemos nada este problema siempre irá en aumento. Cabe remarcar que aunque tengamos instalada \u0026ldquo;basura\u0026rdquo; en nuestro disco duro, el rendimiento de nuestro sistema será mas que aceptable y en ningún caso el comportamiento que tendremos se puede asimilar a lo que nos pasaría con Windows. Lo único que notaremos en Linux es que nos quedamos sin espacio en el disco duro. ¿Por qué se nos llena nuestro disco duro de basura?\nRazones por las cuales tenemos que limpiar nuestro sistema Cuando desinstalamos programas muchas veces solo se desinstalan los paquetes principales y nos olvidamos de desinstalar la totalidad de dependencias de los paquetes desintalados. Cuando desinstalamos programas muchas veces nos olvidamos de borrar los archivos de configuración de los programas que desinstalamos. Cada vez que actualizamos nuestro sistema se descargan paquetes de los repositorios. Estos paquetes quedan almacenados en nuestro ordenador hasta que no los borramos. Muchas veces tenemos paquetes instalados en nuestro sistema que son completamente innecesarios. Hay que intentar tener los paquetes que nos hacen falta y ya está. En el caso de compilar ciertos programas a partir del código fuente con configure, make, make install hace que todos los ficheros y librerías del programa se guarden en la carpeta donde hemos realizado la compilación. Por lo tanto en el caso de hacer un upgrade o desinstalar el programa los comando normales no nos servirán y es probable nos queden archivos inútiles dentro de nuestros sistema. A medida que pasa el tiempo los Kernel se van actualizando y multitud de Kernel antiguos se van acumulando en nuestro sistema comiendo una parte importante de nuestro disco duro. A veces al desinstalar programas nos quedan paquetes huérfanos. Los paquetes huérfanos son aquellos paquetes que no dependen ni son usado por ningún otro paquete que tengamos en nuestro sistema. Por lo tanto son paquetes que no realizan ninguna función y se pueden eliminar. Cuando instalamos programas a veces se nos instala documentación y paquetes de idiomas que nunca vamos a usar. Estos paquetes nos roban espacio en nuestro disco duro. Con el paso del tiempo el software que tenemos instalado en nuestro disco duro va acumulando archivos temporales, incrementando la memoria cache, cookies, etc. Esto hace que nos quedemos sin espacio en nuestro disco duro. Una vez vistas las causas seguidamente detallamos 9 pasos para prevenir o solucionar la totalidad de puntos que acabamos de mencionar. Siguiendo los pasos mencionados evitaremos tener que reinstalar nuestro sistema operativo.\nNota: Antes de empezar es altamente recomendable ir guardando un registro de los cambios que se realizan para poder revertir la operación en caso de problemas. El 99,9% de veces la operación será satisfactoria pero a veces cabe la posibilidad de desinstalar paquetes que no tocan. 1- Limpiar nuestro sistema de paquetes no deseados que tenemos instalados con Debfroster Debfoster es una herramienta que nos permitirá ver aquellos paquetes que tenemos instalados en nuestro sistema operativo. Después de verlos y estudiarlos deberemos ser nosotros mismos quienes decidan si mantenemos o queremos eliminar estos paquetes.\nPara instalar debfoster abrimos una terminal y tecleamos:\nsudo apt-get install debfoster Una vez instalado el programa vamos a generar una lista de paquetes. La lista de paquetes que generaremos contendrá los paquetes que nosotros mismo hemos instalado y no contendrá ninguna de sus dependencias. En el listado solo tendremos los paquetes principales. Para generar el listado tecleamos el siguiente comando en la terminal:\nsudo debfoster -q Ahora el listado ya esta generado. Para consultarlo tan solo tenemos que teclear el siguiente comando en la terminal:\nsudo gedit /var/lib/debfoster/keepers Una vez introducido el comando se abrirá un editor de texto con todos los paquetes. Ahora tenemos que mirar paquete por paquete y decidir si hay algún paquete prescindible o no. Por ejemplo podemos detectar paquetes que no teníamos conocimiento de tener instalado, por ejemplo alguna librería -dev que no tiene ningún utilidad. Una vez detectados los paquetes a eliminar los borramos del listado y guardamos. En mi caso y solo para realizar una prueba he borrado el paquete totem de nuestro listado.\nVolvemos a la terminal y ejecutamos:\nsudo debfoster Al borrar el paquete totem la terminal nos devolverá el siguiente resultado:\nAl borrar totem del listado el programa debfoster no está preguntando si realmente queremos eliminar totem y sus dependencias de nuestro sistema operativo. Solamente tenemos que contestar sí o no. Al contestar si se desinstalará el programa y si contestamos que no el paquete no se desinstalará y se incluirá de nuevo en el archivo ubicado en /var/lib/debfoster/keepers.\n2- Instalar los paquetes compilados siempre a partir de un archivo .deb Este punto es simplemente un consejo. Hoy en día raramente es necesario tener que compilar un programa a partir del código fuente pero en el hipotético caso que tengamos que hacerlo tenéis que tener en cuenta que tenemos 2 opciones:\nCompilar mediante los comando configure // make // make install Empaquetar todo el contenido en un paquete deb mediante checkinstall e instalarlo, y a posteriori instalar el programa con nuestro gestor de paquetes habitual. La opción 1 genera multitud de problemas. Los problemas generados por la opción uno son básicamente:\nTodas las librerías y ficheros se guardan en la carpeta donde hemos realizado la compilación. Esto en un futuro va a imposibilitar realizar un upgrade del programa en condiciones. También por el mismo motivo detallado en el punto 1 se dificultará la desinstalación del programa ya que nuestro gestor de paquetes no detectará que tenemos instalado este software. Los comandos habituales tampoco nos servirán para eliminar el programa. Por lo tanto vistos los problemas es fácil concluir que si trabajamos de esta forma nos quedaran paquetes instalados que no sabremos como desinstalar, o que ni tan siquiera sabremos si los tenemos instalados.\nLa solución es usar checkinstall. Con checkinstall podremos generar un paquete .deb a partir del código fuente. Una vez generado el paquete .deb entonces instalar, desinstalar o actualizar será muy fácil ya que las herramientas y comandos que utilizamos habitualmente serán 100% funcionales.\nEn las próximas semanas publicaré otro post en que se mostrará como usar checkinstall para generar un paquete .deb. Como podréis ver el proceso es muy sencillo.\n3- Limpiar nuestro sistema de Kernel antiguos que ya no se usan Como he explicado anterior a medida que nos van llegando actualizaciones de los kernel estos se acumulan en nuestra partición raíz y boot robándonos espacio en nuestro disco duro. Para borrar los kernel que nos sobran debemos proceder de la siguiente manera:\nnota: Es altamente recomendable disponer de al menos los 2 kernel más actuales instalados en nuestro ordenador. En el caso que alguno de los kernel fallará siempre tendríamos la opción de arrancar con el otro. En el caso que pongo como ejemplo inicialmente solo tenia 2 kernel. Por lo tanto cabe decir que me he saltado la recomendación que os estoy haciendo. Para averiguar la versión de Kernel que estamos usando abrimos la terminal y tecleamos:\nuname -r El resultado que me da es el siguiente:\n3.2.0-4-amd64 Por lo tanto el kernel 3.2.0-4-amd64 no le debemos borrar bajo ningún concepto.\nAhora miraremos la totalidad de kernel que tenemos instalados mediante el comando:\ndpkg --get-selections | grep linux-image Obtendréis un resultado parecido al siguiente:\nlinux-image-3.2.0-3-amd64 install linux-image-3.2.0-4-amd64 install linux-image-amd64 install\nVeo que en mi caso tengo instalados los kernel 3.2.0-3 y el 3.2.0-4. Como el 3.2.0-4 es el kernel actual, el único candidato a eliminar es el linux-image-3.2.0-3-amd64.\nPara eliminar el kernel 3.2.0-3 hay que aplicar los siguiente comandos:\nsudo apt-get remove --purge linux-image-3.2.0-3-amd64 Nota!: En ningún caso borrar el linux-image-amd64. En caso de hacerlo no recibiremos actualizaciones de futuros Kernel. Seguidamente tenemos que borrar los headers del Kernel. Para borrar los headers del kernel abrimos una terminal y tecleamos el siguiente comando:\ndpkg --get-selections | grep linux-headers Este comando nos devolverá:\nlinux-headers-3.2.0-3-amd64 install linux-headers-3.2.0-3-common install linux-headers-3.2.0-4-amd64 install linux-headers-3.2.0-4-common install linux-headers-amd64 install\nComo únicamente queremos eliminar el Kernel 3.2.0-3 borramos únicamente los archivos seleccionados en rojo con el siguiente comando (lineas que hacen referencia al kernel 3.2.0-3):\nsudo apt-get remove --purge linux-headers-3.2.0-3-amd64 linux-headers-3.2.0-3-common En este momento ya hemos eliminado el kernel, y nuestro Grub en teoria se tiene que haber actualizado en función de los nuevos kernel disponibles en nuestro sistema. No obstante si nos queremos asegurar que el grub se ha actualizado podemos teclear los siguientes comandos en la terminal:\nsudo update-grub2 sudo update-grub 4- Limpiar nuestro sistema de paquetes huérfanos Después de multiples instalaciones y desinstalaciones de programas, en nuestro sistema quedarán una serie de paquetes que no tienen ninguna función y que lo único que hacen es ocupar espacio en nuestro ordenador. Para detectar y eliminar estos paquetes tenemos que proceder de la siguiente manera:\nInstalamos el paquete deborphan tecleando el siguiente comando en la terminal:\nsudo apt-get install deborphan Una vez instalada la aplicación podemos obtener fácilmente una lista de los paquetes huérfanos de nuestro sistema. Ejecutamos el siguiente comando en la terminal:\ndeborphan y la salida que me da en mi caso es la siguiente:\nlib32v4l-0:amd64 gstreamer0.10-gnomevfs:amd64 lib32bz2-1.0:amd64 lib32ncurses5:amd64 ttf-punjabi-fonts:all ttf-droid:all libavfilter2:amd64 ttf-lyx:all Como podeís ver esta es la totalidad de paquetes huérfanos que tengo.\nPara desinstalarlos ejecutamos el siguiente comando en la terminal:\nsudo apt-get --purge remove $(deborphan) Si también queremos borrar los paquetes en la sección libdevel tecleamos:\ndeborphan --libdevel En el caso de encontrar paquetes huérfanos en la sección libdevel los podemos borrar con el comando:\nsudo apt-get --purge remove $(deborphan --libdevel) Seguidamente también podemos desinstalar la totalidad de ficheros de ficheros de configuración obsoletos que no estamos usando. Para consultar los ficheros tecleamos el siguiente comando en la terminal:\ndeborphan --find-config En mi caso no tengo ficheros de configuración obsoletos. En el caso que los tuviera para eliminarlos debería teclear el siguiente comando:\nsudo dpkg --purge $(deborphan --find-config) Finalmente y solo en el caso que sepamos muy bien lo que estamos haciendo podemos ejecutar el siguiente comando para terminar el proceso de eliminación de paquetes huérfanos:\ndeborphan --guess-all El siguiente comando nos da un listado de los paquetes que en principio no son necesarios para el sistema. En mi caso los paquetes que me da son:\nlib32nss-mdns:amd64 python-statgrab:amd64 gnome-desktop-data:all fuse-utils:all spotify-client-qt:all nvidia-kernel-3.2.0-3-amd64:amd64 Antes he dicho de ir en cuenta porqué bajo mi humilde criterio este comando nos está dando paquetes que creo que es mejor no eliminar. Por ejemplo si borramos el paquete nvidia-kernel-3.2.0-3-amd64:amd64 puedo dar fe que el entorno gráfico no funcionará si arranco con el kernel 3.2.0-3. Otros paquetes como gnome-dektop-data:all creo que también daría problemas si lo eliminamos. El resto de paquetes que nos da el comando en principio se podrían eliminar ya que se tratan la gran mayoría de paquetes transicionales.\nEn el caso que quisiéramos eliminar la totalidad los paquetes que acabamos de hallar tecleamos el siguiente comando en la terminal:\nsudo dpkg --purge $(deborphan --guess-all) En el caso que solo quisieramos eliminar algunos de los paquetes que acabamos de encontrar podemos usar el siguiente comando:\nsudo dpkg --purge nombredelpaquete 5- Limpiar nuestro sistema de paquetes de idiomas que no usamos Hay un paquete que se encarga de eliminar los paquetes de idiomas que en principio no usamos. El paquete en cuestión se llama localepurge. Lo instalamos con el siguiente comando:\nsudo apt-get install localepurge Nota: El objetivo de este paquete es eliminar los paquetes de idiomas que nos usamos y que se acostumbran a instalar cuando instalamos programas. Inmediatamente después de instalar el paquetes nos saldrá una pantalla de selección donde tenemos que elegir los idiomas que en principio queremos usar. Yo acostumbro a instalar 2. El inglés por tratarse del idioma base de la distro y mi idioma propio que en mi caso es el Español. Las opciones a seleccionar para definir el Inglés y el Español son:\nen en\\_US en\\_US.ISO-8859-15 en\\_US.UTF-8 es es\\_ES es\\_ES@euro es\\_ES.UTF-8 Para ejecutar localpurge y hacer una limpieza de paquetes de idiomas que no deseamos, simplemente tenemos que abrir la terminal y teclear:\nsudo localepurge De esta forma se desinstalan las traducciones de los programas instalados que tienen paquetes de idiomas diferente a los marcados en localepurge.\nnota: En principio este paquete ya lo tienen que tener instalado. En mi caso no lo tenia instalado porqué instalé Debian a partir de una netinstall. En el caso de tener instalado el paquete y querer reconfigurar los idiomas base tiene que teclear el comando dpkg-reconfigure localepurge 6- Eliminar paquetes que se instalaron para satisfacer las dependencias de algunos programas que instalamos Cuando desinstalamos paquetes, a veces no se desinstalan la totalidad de dependencias del paquete que estamos eliminando. Para solucionar este problema problema ejecutamos:\nsudo apt-get autoremove Por lo tanto ejecutando este comando nos aseguramos que al desinstalar un paquete también estamos desinstalando la totalidad de dependencias que tiene el paquete que estamos eliminando.\n7- Borrar los archivos de configuración que no tienen uso Muchas veces al acabar de desinstalar nuestros programas nos quedan residentes sus archivos de configuración. Para borrar los archivos de configuración y liberar espacio en el directorio /etc podemos ejecutar el siguiente comando:\nsudo dpkg --purge `COLUMNS=300 dpkg -l | egrep \u0026#34;^rc\u0026#34; | cut -d\u0026#39; \u0026#39; -f3` Nota: Esté paso si queremos lo podemos omitir. El comando sudo dpkg \u0026ndash;purge $(deborphan \u0026ndash;find-config) del apartado 4 es equivalente al comando del apartado 7 que acabamos de ver. 8- Consejo de como desinstalar un programa adecuadamente Este punto es simplemente un consejo. Cuando desinstaleis un paquete utilizar siempre el siguiente comando:\nsudo apt-get remove --purge nombredelpaquete De esta forma nos estamos asegurando que se desinstalan la totalidad de dependencias y los archivos de configuración del programa.\n9- Borrar los paquetes almacenados en la caché Cada vez que descargamos algún paquete para instalar o actualizar nuestros sistema, este queda almacenado en la siguiente ubicación (/var/cache/apt/archive). Por este motivo cuando desinstalamos una aplicación y la volvemos a reinsalar no es necesario volverla a descargar el paquete del repositorio. Con el paso del tiempo si no tomamos medidas la cache ubicado en (/var/cache/apt/archive) llegará a tener un tamaño importante. Para vaciarla usamos el siguiente comando:\nsudo apt-get clean Si queréis como medida preventiva, desde synaptic, podemos hacer que no se almacenen los paquetes en la cache y también podemos hacer que se borre el historial de paquetes instalados y desinstalados. Para ello abrimos synaptic. Vamos al menú configuración y elegimos preferencias.\nAl darle click en preferencias se abrirá otra ventana y allí elegimos la opción archivos:\nEn la opción archivos podemos jugar con las diferentes opciones que se nos ofrecen. Como podéis ver en la imagen con las opciones elegidas no se almacenará ningún paquete en la cache y solo dispondremos de un historial de 5 días en lo que se refiere a las operaciones que hacemos con los paquetes. (instalar, desinstalar, etc.)\nNota: Este comando no desinstala ningún paquete de nuestra distro. Solo borra paquetes almacenados en la memoria caché 10- Limpiar paquetes que ya no existen en los repositorios de la memoria caché A veces, y sobretodo en distribuciones rolling release, puede ser que haya paquetes que desaparezcan de los repositorios. Si pasa esto y queremos eliminar este paquete de nuestra memoria caché solamente tenemos que usar el siguiente comando en la terminal:\nsudo apt-get autoclean Nota: Este comando no desinstala ningún paquete de nuestra distro. Solo borra los paquetes que han desaparecido de los repositorios y están almacenados en la memoria caché. 11- Vaciar la papelera de reciclaje del usuario root A menudo acostumbramos a entrar en modo root a nuestro navegador de archivos para realizar modificaciones. A veces cuando realizamos modificaciones acostumbramos a eliminar archivos. Cuando se eliminan archivos en modo root mucha gente pensará que se eliminan definitivamente pero no es así. Cuando eliminamos archivos en modo root se van a la papelera de reciclaje del usuario root. Para vaciar la papelera de reciclaje del usuario root tienen que abrir una terminal y teclear el siguiente comando:\nsudo rm -rf ~/.local/share/Trash/* 12- Usar la herramienta Bleachbit Como paso final propondría limpiar el sistema con Bleachbit. Bleachbit es una herramienta que se asemeja a lo que hace ccleaner en windows. Algunas de las tareas que realiza bleachbit son:\nLimpiar cache, cookies e historiales de los navegadores que tengamos, de flash, de google earth, etc. Además de limpiar la cache también podemos realizar muchas otras operaciones como por ejemplo limpiar el cache de apt, eliminar archivos temporales, y otras opciones. Para instalar el programa simplemente tenemos que teclear:\nsudo apt-get install bleachbit Para el funcionamiento de Bleachbit en detalle pueden visitar el siguiente post:\nhttps://geeklandlinux.github.io/posts/liberar-espacio-con-bleachbit/\nPara finalizar el post dar las gracias a esdebian.org y a daboweb.com tanto por el contenido usado de sus wiki como de la resolución de las dudas que tenia mientas iba elaborando el post.\n","permalink":"https://geeklandlinux.github.io/posts/limpiar-nuestro-sistema/","summary":"\u003cp\u003eCon el paso del tiempo seguramente tendremos la necesidad de limpiar nuestro sistema operativo. Veremos que el disco duro de nuestro ordenador se va llenando de basura y que si no hacemos nada este problema siempre irá en aumento.  Cabe remarcar que aunque tengamos instalada \u0026ldquo;basura\u0026rdquo; en nuestro disco duro, el rendimiento de nuestro sistema será mas que aceptable y en ningún caso el comportamiento que tendremos se puede asimilar a lo que nos pasaría con Windows. Lo único que notaremos en Linux es que nos quedamos sin espacio en el disco duro. ¿Por qué se nos llena nuestro disco duro de basura?\u003c/p\u003e","title":"Como limpiar nuestro sistema operativo"},{"content":"Seguidamente detallamos y dejamos el link para visualizar una serie de documentales sobre nuevas tecnologias, linux, el software libre, Google, el Hacktivismo, los Hackers, los peligros en la red y otros temas relacionados con las nuevas tecnologías.\nLa forma en que presento la información es la siguiente:\nPrimero informo del título del documental, seguidamente hago un breve resumen y finalmente les pongo el link para poder visualizar el documental. El link que les pondré es externo y les redirigirá al canal de youtube de las personas que en su dia subieron el vídeo a internet.\nNota: En el caso que detectéis que me he dejado algún documental que creéis que sea interesante lo podéis dejar en los comentarios del blog y lo incluiré a posteriori. DOCUMENTALES SOBRE NUEVAS TECNOLOGIAS 1. Somos Legión, La Historia de los Hacktivistas Documental en el que se detallan los motivos por los cuales existen anonymous y la totalidad de movimientos hacktivistas existentes y el porqué participan en los diferentes tipos de ciberataques. En otras palabras explica las razones del movimiento hacker existente en la actualidad.\nhttp://www.youtube.com/watch?v=dBCQzZ902r4\n2. Código Linux Documental mítico y muy didáctico en el que se transmite la filosofía del software libre y sobretodo se explica la historia del nacimiento del Kernel de GNU-Linux.\nhttp://www.youtube.com/watch?v=cwptTf-64Uo\n3. Hacktivistas los agitadores de la red Documental en el que se muestra como los hacktivistas y antiglobalizadores utilizan la red como una herramienta para luchar contra la globalización y la mundialización.\nhttp://www.youtube.com/watch?v=mNoLF9H58ZU\n4. Software Libre: Una brecha entre el Capitalismo de Consumo y el Capitalismo de Acceso Documental en que se explica muy claramente el fundamento teórico del software libre y las ventajas que este ofrece sobre el software privativo.\nhttp://www.youtube.com/watch?v=tSQcBWlMK4k\n5. Revolution OS Otro documental realizado en el año 2001 en el que personajes como Richard Stallman, Linus Torvalds, Eric Raymond , Brian Behlendorf, Michael Tiemann, Larry Augustin, Bruce Perens, Frank Hecker y Rob Malda nos relatan que es el software libre y el open Source, que es linux, como nació Linux y como Linux y el movimiento open source se revelan contra el modelo de software propietarios de microsoft.\nhttps://www.youtube.com/watch?v=sujZg7jwKdk\n6. Hackers Wizards of the Electronic Age Documental en Inglés del año 1984 en que se habla sobre la comunidad hacker y sobretodo se entrevista a una serie de personajes como Steve Wozniak, Steven Levy, Richard Stallman, Stewart Brand, etc que fueron clave en la creación de los ordenadores personales.\nhttp://www.youtube.com/watch?v=bl_1OybdteY\n7. Software Libre: La Comunidad sin amos Reportaje de televisión realizado en televisión española donde se entrevistan a las grandes personalidades del software libre.\nhttp://www.youtube.com/watch?v=3Mvr1HS5eDI\n8. La Obsolescencia Programada Fabricados para no durar Documental en que se relata un caso real de obsolescencia programada y nos viene a desvelar que el motor de la economía moderna actual es:\n- Comprar un producto.\n- Usarlo por un breve periodo de tiempo ya que los productos están diseñados para no durar.\n- Tirar este producto\n- Comprar un nuevo producto.\nhttp://vimeo.com/53213100\n9. Entrevista a Richard M. Stallman Interesante entrevista realizada por el Canal 33 a Richard Stallman en el que cuenta entre otras cosas cómo y porqué inicio el movimiento del software libre.\nhttp://www.youtube.com/watch?v=7UKksU4EIRY http://www.youtube.com/watch?v=KefkyDZxdlQ http://www.youtube.com/watch?v=uW_haEgy-4E\n10. Historia Secreta de los Hackers Informáticos (Los Primeros Hackers) Documental en el que se relata la historia de los primeros hackers conocidos que a la fin acabaron siendo personajes esenciales en la creación de los ordenadores, software y las comunicaciones. Entre ellos podemos destacar el capitan Crunch, Steve Wozniak, Steve Jobs, Bill Gates y Kevin Mitnick.\nhttp://www.youtube.com/watch?v=-E3JIOedIgw\n11. Hackers 2 Takedown Película en el que se relata la vida Kevin Mitnick (Cóndor), uno de los hackers más famosos que han existido y que ha sido detenido varias veces por la justicia.\nhttp://www.youtube.com/watch?v=BnJuzc1vK0A\n12. Entrevista al Capitán Crunch por parte de DragonjAR TV Entrevista de DragonjAR TV a John Drapper. Uno de los primeros hackers que existió. John Drapper es conocido como uno de los primeros Hackers que se dedico a hackear las centrales telefónicas.\nhttp://www.youtube.com/watch?v=pXHnYKWg9DY\n13. El mundo según Google Documental en el que se explica la función y papel que desarrolla Google a día de hoy. Además en el documental se entrevista a sus fundadores y otras personalidades destacadas del mundo de Internet.\nhttp://www.youtube.com/watch?v=8Rjfc2w2zDM\n14. Dentro de Google (Inside Google) Documental realizado por National Geographic en el año 2010. Este documental nos muestra detalladamente como nació google, su evolución, nos muestra sus instalaciones y se entrevista a sus empleados y fundadores. Realmente vale la pena visualizar este documental.\nhttp://www.youtube.com/watch?v=-S61GzAInlA\n15. El gigante Google Documental en el que se muestran los origenes de google y en el que varios expertos dan su opinión y explican algunos detalles del funcionamiento de Google.\nhttp://www.youtube.com/watch?v=oyFthNDw7wA\n16. Los Creadores de Google Documental en el que se narra la historia de los 2 fundadores de Google. Como consiguieron que su modelo de negocio fuera rentable y se dan las claves para estar en los primeros puestos de búsqueda en el buscador de google.\nhttp://www.youtube.com/watch?v=lpQ5YfFCJ7c\n17. Google Fábrica de Ideas Documental en que se muestra la forma como se trabaja en google, cuál es el día a día sus oficinas, sus objetivos de futuro y sus diferentes puntos de vista.\nhttp://www.youtube.com/watch?v=poeODGWoiZM\n18. Historia de la Computadora Documental en el que se relata la história de las computadoras y de la computación desde principios del sigle XX hasta la decada de los 80.\nhttp://www.youtube.com/watch?v=h1wRsbwnvDI\n19. Spam Documental en que se aborda el tema del Spam desde un punto de vista humorístico. En el documental se detalla que es el spam, quien está detrás de los mensajes de spam y se entrevista a spammers y en definitiva se muestra todo lo que hay detrás de los correos basura.\nhttp://www.youtube.com/watch?v=Wm2Fc33TS_A\n20. Biografia de Bill Gates Documental rodado en los años 90. El documental nos da a conocer la biografía de Bill Gates y muestra como Bill dedica su vida a trabajar con el software y como llega a ser multimillonario en su compañía Microsoft.\nhttp://www.youtube.com/watch?v=Bkgss-aoPlY\n21. Redes sociales, quieres ser mi amigo Reportaje elaborado por cuatro Televisión en el que se muestra como las redes sociales están cambiando la forma en que nos comunicamos, las utilidades de les damos, como influyen en la difusión de información, en la política y en todos los ámbitos de la sociedad en general.\nhttp://www.youtube.com/watch?v=MfGYpNJFgQo\n22. Ciberguerrilla - Cyber Guerilla \u0026lsquo;08 Documental en el que se muestra que las guerras en el futuro se librarán en internet. El documental incluye en resumen del inicio del hacking, entrevistas con el Capitan Crunch y un ciberdelincuente ruso. También muestra un caso de real de como Estonia fue atacada desde de Rusia anulando completamente sus sistemas informáticos, etc.\nhttp://www.youtube.com/watch?v=-a-Dd1NAv-o\n23. La verdades historia de la internet Documental de Discovery Channel formado por cuatro capítulos en el que se explica como empezó Internet y la revolución tecnológica, cultural y social que Internet ha supuesto en nuestras vidas. Además se cuentan las historias de Google, Ebay, Amazon yahoo y Netscape. Los 4 capítulos los tienen disponibles en los siguientes enlaces:\nCapítulo 1 - La Guerra de los navegadores\nhttp://www.youtube.com/watch?v=CN6iKm1QWCI\nCapítulo 2 - Búsquedas en internet\nhttp://www.youtube.com/watch?v=FzOCKXMXxZQ\nCapítulo 3 - Ebay y Amazon\nhttp://www.youtube.com/watch?v=grDLcZupdU0\nCapítulo 4 - El Futuro Digital\nhttp://www.youtube.com/watch?v=G5a8oBMMR18 24. La Revolución Virtual Série de 4 capítulos elaborada por la BBC en que se nos muestra como internet está cambiando el mundo que nos rodea. No muestra la totalidad de puntos de mejora positivos como también los puntos negativos como podrían ser la pérdida de privacidad. Los cuatro capítulos de la serie son los siguientes:\nCapítulo 1 - Libertad en la red\nhttp://www.youtube.com/watch?v=yFhFfTazS6s\nCapítulo 2 - Enemigos del estado\nhttp://www.youtube.com/watch?v=T4HoA8eFyS8\nCapítulo 3 - El precio de lo gratuito\nhttp://www.youtube.com/watch?v=trsJa_cXs2U\nCapítulo 4 - Homo Interneticus\nhttp://www.youtube.com/watch?v=3d61dg07OrY\n25. En Busca de Hackers Documental que pretende cambiar la idea que tenemos preconcebida de lo que es un hacker. Nos da una visión realista de los hackers, se hacen numerosas entrevistas a hachers y cada uno de ellos nos relata que hacen en la actualidad y cuales son sus intereses.\nhttp://www.youtube.com/watch?v=A5ksAHYviOs\n26. Atrapados en la red - Delitos informáticos Documental en el que se detallan los peligros que esconde la red como por ejemplo la pornografía infantil, pederastas, etc. El documental también muestra y hace referencia como los recursos y métodos que usa la policía para perseguir a los pederastas a través de la red.\nhttp://www.youtube.com/watch?v=t75Zrhhe5a0\n27. Crecer Online Documental en el que se muestra como para los jóvenes Internet se ha convertido en su segunda casa. También se muestra como estos jóvenes pasan la mayor parte de su tiempo libre en las redes sociales, en chats, jugando a videojuegos, etc.\nhttp://www.youtube.com/watch?v=GolP_Ztj8DY\n28. Internet zona peligrosa Hackers españoles Hispahack Documental en el que se muestra como se detienen 3 presuntos hackers y se imputan a otros diez por atacar a los sistemas informáticos de la nasa, la universidad de oxford y diversas universidades españoles.\nhttp://www.youtube.com/watch?v=PFOk6YrPRAo\n29. Primera Plana: Piratería informática \u0026ldquo;Copiad malditos\u0026rdquo; Documental a raíz del cierre de megaupload. Se analiza y se habla de la piratería, de la propiedad intelectual y del copyright. Todo con la ayuda del Gustavo Bueno profesor de Filosofía y experto en Internet.\nhttp://www.youtube.com/watch?v=0tHBHSTeGbo\n30. Peligros en la red - Hackers Documental del año 2001 en se muestra que Internet no es un lugar seguro y nos da a conocer que existen multitud de vulnerabilidades que tiene la red y lo fácil que es para la gente sacar provecho de ello para hacerse con datos de interés.\nhttp://www.youtube.com/watch?v=70FVcT0xQes\n31. Yahoo en China - ¡Secretos inconfesables! Documental en el que se denuncia los abusos de Yahoo y como Yahoo colabora con el gobierno chino para callar a la gente que tiene una ideología diferente del gobierno chino. En otras palabras en este documental podremos ver como el gobierno chino intenta controlar Internet.\nhttp://www.youtube.com/watch?v=xawzIN6XSGU\n32. ¿Estamos Desnudos en Internet? Documental realizado en Cuatro. En este documental nos muestra los peligros de Internet y que cada vez que entramos en la red dejamos rastros de nuestra identidad que posteriori terceras personas pueden seguir sin mucha dificultad. También nos muestra peligros como el phising, el robo de cuentas bancarias, etc.\nhttp://www.youtube.com/watch?v=Xp7nRz6RVp0\n33. Hackers: DEFCON Documental acerca de la conferencia Hacker más grande e importante que existe en la actualidad y que se celebra cada verano en las Vegas. En el documental podremos ver como multitud de hackers se reúnen en las vegas para compartir conocimiento sobre informática y nuevas tecnologías en general.\nhttp://www.youtube.com/watch?v=sbWWri57KuE\n34. Ciberterrorismo ¿Mito o realidad? Documental en el que expertos en materia de seguridad hablan abiertamente sobre el ciberterrorismo.\nhttp://www.youtube.com/watch?v=h4a_QIwbRjE\n35. Amenaza Ciberguerra y Ciberterrorismo Documental sobre la ciberguerra y el ciberterrorismo en que el que podremos ver ejemplos reales y concretos de ciberataques que han ocurrido en la actualidad como por ejemplo Xtuxnet, Duqu o Flame. También nos muestra como el desarrollo de ciberarmas como un factor de poder estratégico internacional importante.\nhttp://www.youtube.com/watch?v=5Ks_uy0eVbE\n36. ECHELON, la máquina espía Documental que nos desvela el proyecto Echelon. Echelon es un sistema espía a nivel mundial dirigido por la NSA (Agencia nacional de seguridad). La NSA realiza escucha de llamadas, intercepción de fax, correos electrónicos,etc. Algunos de los países implicados en este proyecto son Canadá, Estados Unidos, Nueva Zelanda, Australia y Gran Bretaña.\nhttp://www.youtube.com/watch?v=0XUDyVMR5Nk http://www.youtube.com/watch?v=dKLv1PSngnM http://www.youtube.com/watch?v=FLIQvoA3hEw http://www.youtube.com/watch?v=tdFOnpYYICA\n37. 5 Informáticos relatan el día a día de explotación en una multinacional Documental en el que cinco informáticos cuentan sus experiencias diarias en una multinacional: autoexplotación, consignas, individualismo, engaños, horas, tensión\u0026hellip;\nhttp://vimeo.com/34231270\n38. Charla Sobre Anonymous por @jdelgadopin Genial conferencia realizada por @jdelgadopin en el que se habla de anonymous. Se hace un resumen de como nace, de sus acciones, que podemos deducir de sus acciones, etc. Es muy recomendable escucharla. Es una charla muy amena y didáctica.\nhttp://www.youtube.com/watch?v=2t5zF38FeH4\n40. Wikirebeals Otro Documental realizado por la televisión pública sueca en que se estudia en profundidad wikileaks y la gente que hay detrás detrás de esta organización. Los reporteros que realizan el documental entrevistan a los personajes claves de la organización Wikileaks focalizandose especialmente el Julian Assange.\nhttp://www.youtube.com/watch?v=_QMIhaER69c 41. Como facebook cambio el mundo árabe Documental en el que se muestra como ua nueva generación del mundo árabe utiliza los medios de comunicación, las redes sociales e internet para tratar de derrocar al gobierno.\nhttp://www.youtube.com/watch?v=PLq9oake2Og\n42. A un click del peligro Documental que intenta desvelar las intenciones de los pederastas y criminales que se esconden en la red bajo una identidad falsa para intentar contactar con niños y adolescentes a través de la red. En el documento aparecen entrevistas con personas que han sido objeto de este tipo de prácticas.\nhttp://www.youtube.com/watch?v=peQdvlsQTyM\n43. Arduino el documental Documental en que se habla sobre Arduino. Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares.\nhttp://www.youtube.com/watch?v=sDNsqrVAHkg\n44. The pirate bay Away from the Keyboard Documental sobre el juicio a los cofundadores de The pirate Bay en el que se enfrentaron a una demanda de 13 millones por violación de los derechos de autor.En el documental entre muchas otras cosas se podrá ver desde que The pirate Bay empezó a tener problemas con la Justicia hasta el veredicto final del juicio.\nhttp://www.youtube.com/watch?v=41rwckQQ0lA\n45. Why Linux Sucks Interesante conferencia realizada anualmente por Bryan Lunduke en la LinuxFest Northwest. La conferencia se divide en 2 partes bien diferenciadas. En la primera parte del documental se hace una crítica sobre la evolución de GNU-Linux y de las ineficiencias y poco sentido que tiene el desarrollo y el mundo software libre en general.\nEn la segunda parte del documental vemos que prácticamente la totalidad de problemas e ineficiencias descritas en la primera parte del documental, se transforman en virtudes y en un método absolutamente válido para la evolución de GNU Linux y el software libre en general. Considero que a la totalidad de personas que usa o ha usado GNU-Linux le interesa ver el siguiente documental.\nhttps://www.youtube.com/watch?v=ppM9tU7-b6A\n46. Mundo Hacker Serie de televisión que se emite actualmente en España. Está dividida en distintos capítulos.\nCapítulo 1: Spam y Phishing\nhttp://www.youtube.com/watch?v=Eefzjwx1ee0\nCapítulo 2: Seguridad en redes Wifi\nhttp://www.youtube.com/watch?v=P-XyKvYZNek\nCapítulo 3: Ciberguerra\nhttp://www.youtube.com/watch?v=7p0j70k1xFk\nCapítulo 4: Seguridad en dispositivos móviles\nhttp://www.youtube.com/watch?v=urcp0FtMaEg\nCapítulo 5: Sociedad Conectada\nhttp://www.youtube.com/watch?v=Mm-ciNiKQ2s\nCapítulo 6: Infección en la red\nhttp://www.youtube.com/watch?v=DklKgWYZr6Q\nCapítulo 7: Redes Sociales\nhttp://www.youtube.com/watch?v=-kOO1ItAdUs\nCapítulo 8: Comercio Seguro\nhttp://www.youtube.com/watch?v=bXjqImJXmCo\n47. Crónicas 2: Policías y ladrones Documental en que se habla de los peligros que corremos en Internet. En el documental se pueden ver claramente los fundamentos de los ataques DDOS, Poysin Ivy, ejemplos de Phising, el Virus de la policía, etc. Además en el reportaje se entrevistan expertos reconocidos en seguridad informática y también a delincuentes.\nhttp://www.youtube.com/watch?v=SWwTACU-xds\n48. Ojo con tus datos Documental en el que se aborda el tema de la privacidad y el tratamiento de datos que nosotros o terceras personas publican en Internet sin prácticamente darse cuenta. Después de ver el documental la gran mayoría de vosotros tendrá una idea de la importancia que tienen nuestras datos para las empresas de Internet y lo más importante las molestias y problemas que se pueden ocasionar estos datos a personas normales y corrientes como nosotros.\nhttps://www.youtube.com/watch?v=1xE0De1L5ps\n49. Víctimas del Facebook Documental en el que queda claramente ilustrado que en facebook queda reflejada prácticamente la totalidad de nuestras vidas. Toda esta información personal que queda registrada se verá que puede traernos consecuencias negativas tanto en el ámbito personal como en al ámbito laboral.\nhttps://www.youtube.com/watch?v=lsi2s3jjz0Y\n50. Cultura Libre y educación hacker Documental en el que se expone y explica lo que es la cultura libre y las principales ventajas y beneficios que aporta a la sociedad como por ejemplo fomentar la creatividad. Además se propone una educación desde de una ética hacker en la que todo lo que se aprenda sea por pasión por entusiasmo y que se comparta con los demás.\nhttp://vimeo.com/74514091\n51. Educación hacker Documental de apenas 5 minutos en que el se detalla lo que significa aplicar la filosofía hacker en la formación y educación de las personas y los beneficios que ellos conlleva.\nhttp://vimeo.com/67977365\n52. El internet Submarino Documental entretenido en el que se muestra la red de cables transoceánicos de fibra óptica que nos permiten conectarnos, comunicarnos e interactuar con cualquiera persona o servicio ubicado en cualquiera de los continentes de la tierra. Durante el documental también se podrá ver cómo se lleva a cabo la reparación de uno de los cables de fibra óptica ubicado en alta mar. Para ver el documental les dejo el siguiente link:\nhttps://www.youtube.com/watch?v=5F_zGcNIi9E\u0026amp;list=PL9BC392FBC6700F34\n53. The Internet\u0026rsquo;s Own Boy: La historia de Aaron Swartz Documental en el que se relata la vida del fallecido programador, organizador político y activista de internet Aaron Swartz. Aaron Swartz destaco por ser un niño prodigio, participar en la creación del protocolo RSS, ser el creador de lenguajes como Markdown, ser uno de los arquitectos de la licencia Creative Commons, ser cofundador de la red Social Reddit, ser cofundador de progreso y demanda, construir la biblioteca pública archive.org, luchar contra la ley SOPA. Etc.\nPero sobretodo destaco y será recordado por defender las libertades de los internautas y ser uno de los principales impulsores de una internet libre. En el documental se podrá ver su vida y se explicaran los motivos que le llevaron a quitarse la vida a los 26 años.\nhttps://www.youtube.com/watch?v=vXr-2hwTk58\n54. Ted Talks: Software libre, sociedad libre (Richard Stallman) Conferencia en que Richard Stallman explica lo que es el software libre, las ventajas que supone el hecho de utilizar software libre, que hay detrás del software privativo y los 4 pilares fundamentales del software libre. También se critica a las distribuciones Linux que vulneran los principios del Software Libre.\nhttps://www.youtube.com/watch?v=Ag1AKIl_2GM\n","permalink":"https://geeklandlinux.github.io/posts/documentales-sobre-nuevas-tecnologias/","summary":"\u003cp\u003eSeguidamente detallamos y dejamos el link para visualizar una serie de documentales sobre nuevas tecnologias, linux, el software libre, Google, el Hacktivismo, los Hackers, los peligros en la red y otros temas relacionados con las nuevas tecnologías.\u003c/p\u003e","title":"Documentales sobre nuevas tecnologias"},{"content":"¿QUÉ ES LA FRAGMENTACIÓN DE UN SISTEMA DE ARCHIVOS? La información dentro de nuestro disco duro se almacena en bloques. Así por ejemplo un archivo que ocupe 4 megas puede requerir de 6 bloques. Si los bloques que almacenan los 4 megas están uno al lado del otro se dice que no hay fragmentación. El caso que acabamos de describir se puede representar de la siguiente forma:\nEn el caso que los 4 megas del archivo se almacena en bloques no contiguos entre si es cuando aparece la fragmentación. Gráficamente lo podemos representar de la siguiente forma:\nLas consecuencias de la fragmentación son lentitud y pesadez en el sistema. En algunos extremos en el que sistema esté muy fragmentado incluso puede generar errores.\n¿EXISTE FRAGMENTACIÓN EN LINUX? Mucho se ha hablado y se seguirá hablando sobre si la fragmentación en linux o no. La respuesta creo que es sencilla y clara y todo el mundo estará de acuerdo. El sistema de archivos ext4 también genera fragmentación al igual que genera NTFS, FAT32 u otros sistemas de archivos. No obstante el algoritmo de asignación de bloques de ext4 trabaja de forma diferente y por lo tanto la fragmentación en linux siempre será infinitamente menor.\n¿RAZONES POR LAS CUALES LA FRAGMENTACIÓN EN LINUX EXISTE? Disco duro Lleno Cuando el disco duro esta lleno el algoritmo de asignación de bloques por muy bien impletantado que este no puede hacer nada. Imaginaros que tenemos un disco duro casi al límite de su capacidad y sin fragmentación:\nSi borramos dos archivos del disco duro, y cada archivo ocupa 2 bloques es probable que el disco presente un estado similar al siguiente:\nSi ahora queremos copiar un archivo que ocupe que necesite 3 bloques vemos que no tenemos espacio para ubicar el archivo. Por lo tanto el algoritmo de asignación de bloques no tiene más remedio que fragmentar el sistema.\nEl algoritmo de asignación de archivos no puede predecir lo que crecerán los archivos ni los archivos que borraremos Supongamos que nuestro en nuestro sistema de archivos ext4 tenemos 3 archivos que presentan la siguiente distribución:\nAhora si el archivo de color azul aumenta de tamaño y necesitamos 3 bloques adicionales para almacenar la información vemos que aparecerá la fragmentación.\nEn el caso de copiar archivos de forma simultanea en el disco duro Existe el caso en que nosotros por ejemplo estamos descargando 2 torrents o 2 archivos grandes en nuestro navegador. Cuando realizamos esta operación se asignan los bloques para cada uno de los 2 archivos sin conocer los bloques totales que ocuparan cada uno de los archivos. Por lo tanto es posible que se pueda dar el siguiente caso:\nPodemos ver un gráfico en el que estamos descargando 2 archivos y de momento cada uno de los archivos ocupa 2 bloques.Llegará un punto que el estado que presentaran nuestro bloques es:\nSi aún nos queda 1 bloque azul y otro bloque verde inevitablemente la fragmentación se producirá.\n¿COMO AVERIGUAR LA LA FRAGMENTACIÓN DE NUESTRAS PARTICIONES? Seguidamente les presento una forma, según mi forma de ver, segura de medir la fragmentación de nuestras unidades y además sin peligro de dañar nuestro sistema. La primera cosa importante y que tenemos que tener muy en cuenta es que para medir la fragmentación de una unidad esta tiene que estar desmontada. Por lo tanto para evitar problemas arrancaremos nuestro sistema desde un live USB. En mi caso he realizado u nlive USB de Xubuntu 12.10.\nUna vez arrancado el sistema averiguamos cual es la denominación de nuestra partición raíz y nuestra partición home. Abrimos la terminal y tecleamos el comand0:\nsudo fdisk -l Viendo la imagen observamos que nuestra partición raiz es la sda6 y nuestra partición home es la sda7. Para analizar la fragmentación en nuestra partición raíz abrimos la terminal y tecleamos:\nsudo fsck.ext4 -vpf /dev/sda6 Para analizar la fragmentación en la partición home tecleamos en la terminal:\nsudo fsck.ext4 -vpf /dev/sda7 Como podéis ver después de usar Xubuntu 12.04 de mi notebook durante 9 meses la fragmentación es casi inexistente. El % de archivos no contiguos en la partición root es de un 0.1% y en nuestra partición home de un 1.1%. Los resultados son muy bajos y mas considerando que uso el notebook para realizar las descargas de todos mis torrent que los guardo a la home. Además tengo la home siempre relativamente llena.\nNo obstante hay que ir con cuidado en las cifras que muestra este comando ya que solo nos dice el % de archivos no contiguos. Podría darse el caso de que tengamos un archivo de gran dimensión que se encuentre muy fragmentado. En este caso el % de archivos no contiguos seria bajo pero la fragmetnación seria alta.\n¿ES NECESARIO DEFRAGMENTAR LINUX? Personalmente si estamos usando GNU/Linux en principio no es necesario preocuparse de la fragmentación. Los motivos por los que considero que no es necesario:\n1- Después de usar 2 años una distro linux puede decir que los resultados de fragmentación en mi unidad raíz son mínimos. Además en el apartado anterior tenéis el ejemplo del notebook que ha tenido Xubuntu instalado durante 10 meses llenando y vaciando su partición home constantemente. Esto en un sistema de archivos NTFS es impensable.\n2- Porque el algoritmo de asignación de archivos de ext4 es más eficiente NTFS. El algoritmo de asignación de bloques del sistema de archivos NTFS guarda los diferentes archivos de forma contigua sin dejarles espacio para crecer mientras que el algoritmo de asignación de archivos ext4 lo esparce dejandeles espacio para crecer. Gráficamente lo podemos representar de la siguiente forma:\nEn el gráfico vemos un sistema de archivos ext4 con 2 archivos de 2 bloques y un tercer archivo que ocupa un bloque. Están esparcidos para que puedan crecer sin generar fragmentación.\nEn el gráfico vemos representada la forma en que NTFS ordena los bloques. En principio está forma es más problemática para la asignación de archivos.\n3- Porqué el sistema de archivos ext4 utiliza una técnica de asignación de bloques retardada mientras la gran mayoría de sistemas de archivos trabajan sin asignación retardada. La asignación retardada consiste en:\nLa información se tiene que escribir en el disco. Antes de escribirse en el disco se almacena en una cache, en el cache permanece la información almacenada durante un tiempo, cuando haya transucrrido un tiempo el contenido de la cache es escribe en el disco duro. La asignación retardada hace que la asignación de bloques se haga en justo en el momento antes de que la memoria cache se vacía para escribir en el disco duro. En otras palabras se hace la asignación de bloques en el momento de la escritura. Al retardar la asignación de bloques disponemos de más información y se puedan asignar los bloques de forma mucho más eficiente que los sistemas a de asignación sin retraso como por ejemplo NTFS. Los sistemas de asignación sin retraso, como lo son la gran mayoría, empiezan a asignar bloques justo cuando se almacenan en la memoria cache. Por lo tanto no se hace la asignación en el momento la escritura lo que genera una mayor fragmentación ya que en el momento de asignar los bloques se dispone de menor información para realizar una asignación inteligente. 4- Porqué en un sitema GNU/Linux es necesario disponer de permisos root para mover los archivos de la partición raíz de nuestro sistema. Así por lo tanto es difícil que aparezca fragmentación en nuestra partición raíz que es el corazón de nuestro SO. De este modo la fragmentación queda mayormente limitada a nuestra partición Home que es donde si hay un movimiento importante de archivos.\nnota: Es probable que existan casos como por ejemplo gente que use su partición home para realizar descargas de torrent de gran tamaño. En este caso existen altas probabilidades que nuestra partición presente una fragmentación importante y más si el disco duro en que estamos almacenando está casi al tope de su capacidad. ¿CÓMO DEFRAGMENTAR NUESTRAS UNIDADES? nota importante: Los usuarios que tengan un disco duro SSD no realizar este proceso. Los discos duros SSD no es necesario defragmentarlos. Si lo defragmentais el no se consigue ninguna mejora en rendimiento y lo único que conseguiréis es disminuir la vida de vuestro disco. En el caso extremo que tengamos fragmentada nuestra unidad la forma más simple de defragmentarla es copiar la totalidad de archivos de la partición fragmentada en un disco externo. Seguidamente borraremos los archivos de la partición fragmentada y para finalizar volveremos a copiar los datos del disco duro externo a la unidad que antes estaba fragmentada.\nOtra opción es usar e4defrag. Personalmente solo he usado una vez con mi notebook para realizar este post. Hay que ir con cuidado en usar esta herramienta y solo hay que hacerlo en casos extremos ya que imagino que el proceso es peligroso y puede dañar el sistema. Por lo tanto en el caso que alguien decida hacerlo tiene que ser bajo su responsabilidad y haciendo las copias de seguridad pertinentes por si dejamos el sistema inservible.\nPara usar e4defrag tenemos que asegurarnos que tenemos instalado el paquete e2fsprogs. En caso de no tenerlo instalado en la terminal tecleamos:\nsudo apt-get install e2fsprogs Seguidamente miramos la denominación de la partición que quiero defragmentar con el siguiente comando:\nsudo fdisk -l Con el siguiente comando obtendremos un resultado similar al siguiente:\nSuponemos que queremos defragmentar la partición sda6 que es nuestra home. Antes hemos visto que nuestra home tiene un 1,1% de los archivos estaban fragmentados. Lo que debemos realizar es ingresar a la terminal y teclear el siguiente comando:\nsudo e4defrag /dev/sda6 Una vez finalizada la defragmentación miramos el nuevo valor de fragmentación tecleando:\nsudo fsck.ext4 -vpf /dev/sda6 Y si miramos la captura de pantalla vemos el el % de número de archivos no contiguos ha bajado del 1.1% al 0.0%. Por lo tanto unidad defragmentada. Hay que tener en cuenta que despues de 10 meses de uso intesivo la fragmentación solo era del 1.1% y todo lo que he realizado es completamente innecesario ya que no voy a notar ninguna mejora en el rendimiento.\nNota: e4defrag es útil para defragmentar sistemas de archivos ext4. En el caso de tener otros sistemas de archivos habrá que usar otras herramientas. Nota: Es recomendable dejar el ordenador en reposo hasta que todo el proceso de defragmentación haya finalizado. ¿QUE PODEMOS HACER PARA EVITAR LA FRAGMENTACION EN LINUX? Después de leer el post podemos afirmar que poca cosa podemos hacer para evitar la fragmemtación. La única cosa es intentar evitar que nuestro disco duro este lleno hasta al tope. Siempre es recomendable tener como mínimo un 10% de espacio vacío en nuestro disco duro para intentar evitar la fragmentación.\nLas fuentes de información en las que me inspirado a la hora de escribir este blog son las siguientes:\nhttp://diegocg.blogspot.com.es/\nhttp://www.pensamientoscomputables.com/\n","permalink":"https://geeklandlinux.github.io/posts/la-fragmentacion-en-linux-existe/","summary":"\u003ch2 id=\"qué-es-la-fragmentación-de-un-sistema-de-archivos\"\u003e¿QUÉ ES LA FRAGMENTACIÓN DE UN SISTEMA DE ARCHIVOS?\u003c/h2\u003e\n\u003cp\u003eLa información dentro de nuestro disco duro se almacena en bloques. Así por ejemplo un archivo que ocupe 4 megas puede requerir de  6 bloques. Si los bloques que almacenan los 4 megas están uno al lado del otro se dice que no hay fragmentación. El caso que acabamos de describir se puede representar de la siguiente forma:\u003c/p\u003e","title":"La fragmentación en Linux existe"},{"content":"A continuación les presento las aplicaciones, que según mi modesto punto de vista, deberían estar instaladas en cualquier sistema GNU Linux. Seguramente me dejaré muchas aplicaciones en el tintero pero con la relación de software que podéis encontrar a continuación pienso que se cubren las necesidades de un número importante de usuarios. Los programas los presento agrupados por categorías.\nPROGRAMAS IMPRESCINDIBLES EN LINUX (ACCESORIOS) Gedit: Editor textos muy potente. Con el puedes editar notas, puedes ampliar funcionalidades mediante plugins, dispone de corrección ortográfica y además reconoce multitud de lenguajes de programación detectando errores de sintaxis. En este apartado también incluyo Kate. Personalmente no la he probado pero la gente me está reclamando que la incluya.\nKupfer: Es un lanzador de aplicaciones al estilo de Quicksilver de apple. En GNU Linux existen existen otras opciones más potentes que Kupfer como podrían ser Synapse o Gnome-do. Pero me gusta Kupfer por la gran simplicidad, porque es muy ligero y porqué se adapta perfectamente a mis necesidades. Simplemente aprieto la tecla ctrl+espacio y escribo las iniciales del programa que quiero lanzar. Para cada uno de los programas se pueden aplicar distintas acciones.\nRevelation: Magnifico gestor de contraseñas. Todas los geeeks saben que las contraseñas y cuentas para acceder a diferentes servicios tiende al infinito. Con Revelation podremos introducir y clasificar todas estas contraseñas dentro de un fichero cifrado con DSA. Potente y seguro.\nShutter: Shutter es un capturador de imágenes muy completo. Shutter me cubre sobradamente las necesidad de captura de imágenes y me permite guardar los capturas en el formato png o jpg. También existen otras alternativas interesantes como por ejemplo el capturador de imágenes que de xfce. El único problema que veo a shutter es que no te permite capturar las ventanas activas. En caso de tener necesidad de capturar una ventana activa uso el capturador de de imágenes de xfce.\nPROGRAMAS IMPRESCINDIBLES EN LINUX (DESARROLLO) Sublime Text: Es uno de los mejores editores de código que existen en la actualidad. Dispone de una interfaz limpia e intuitiva además de permitir instalar distintos plugins y sistemas de construcción de códigos.\nPROGRAMAS IMPRESCINDIBLES EN LINUX (GRÁFICOS) Dia: Editor de diagramas simple, con una curva de aprendizaje muy rápida que nos permite generar y modificar diagramas de forma muy fácil e intuitiva. Además permite abrir y exportar diagramas con los formatos de archivos más reconocidos (dia, cgm, dxf, vdx, fig, plt, tex, mp, bmp, ico, jpg, tiff, eps, svg, wpg)\nGimp: Gimp es un programa de edición de imágenes equivalente a Photoshop. Con Gimp podremos editar retocar cualquier imagen o fotografía obteniendo unos magníficos resultados. Además Gimp posee la posibilidad de usar macros y de instalar extensiones adicionales para incrementar aún más sus funcionalidades.\nInkscape: Inkscape es una aplicación para la edición de gráficos vectoriales SVG similar a Adobe Ilustrator o a Corel Draw. Personalmente no lo uso pero lo cito porqué son muchos los usuarios que buscan equivalentes de Adobe Ilustrator en Linux.\nScribus: Software para editar y maquetar publicaciones como un periódico, un triptico una tarjeta de visita de forma elegante, sencilla y eficaz. Otros programas equivalentes en otras plataformas que tienen funciones similares serian Adobe pagemaker, Indesign o Microsoft Publisher. Scribus permite importar y exportar en multitud de formatos.\nPicasa: El uso que le doy a picasa es como Organizador y visualizador de imágenes y como clasificador de mis fotografías. Además la aplicación permite crear álbumes editar parámetros de las fotografías como la luminosidad, eliminar los ojos rojos, añadir texto y marcas de agua en las fotos etc. Picasa también te ofrece al posibilidad de subir tus fotografías en la nube cosa que permite tener una copia de seguridad en caso que perdamos nuestras fotos.\nRistretto: Sencillo visor de imágenes muy ligero usado mayoritariamente en los entornos de escritorio XFCE. Con Ristretto simplemente podremos realizar acciones simples como visualizar las fotos, rotar las imágenes, ajustar el tamaño de las fotos, etc. En el caso que necesitamos editar una fotografía Ristretto nos permite abrir está fotografía directamente con el programa de edición que elijamos. Así por ejemplo si estoy en Ristretto y quiero editar una foto le doy al botón derecho del mouse, elijo la opción abrir con y finalmente elijo el programa que podría ser gimp.\nBlender: Famosa aplicación de diseño 3D multiplataforma que permite modelar, animar y crear gráficos y objetos en 2D y en 3D. El único problema de esta aplicación es que tiene una curva de aprendizaje lenta y es poca intuitiva pero como contrapartida con esta aplicación se pueden realizar verdaderas maravillas.\nEvince: Evince es un visualizador de pdf simple, ligero y funcional. De la totalidad de opciones que existen para visualizar pdf Evince es la que más me ha convencido. Quizás porqué el entorno visual se asemeja a Adobe reader.\nPROGRAMAS IMPRESCINDIBLES EN LINUX (INTERNET) Transmission: Transmission es un cliente bittorent multiplataforma, muy ligero, rápido e intuitivo. Para un uso básico como el que yo hago es más que suficiente. Para los usuarios que requieran de funcionalidades más avanzadas como por ejemplo un buscador integrado, compatibilidad con feed RSS, etc disponen de otras opciones como qbittorrent.\nThunderbird: Según mi modesta opinión el cliente de correo de Mozilla es con diferencia la mejor opción existente como cliente de correo electrónico en Linux e incluso otros sistemas operativos. Multiplataforma, compatible con los protocoles IMAP, POP, distintos tipos de cifrado, corrector ortográfico, opción para enviar archivos de gran tamaño, y la posibilidad de instalar un sinfín de extensiones para ampliar sus funcionalidades como pueden ser lightning, google contacts, thundernote, google docs viewer, etc.\nPidgin: Cliente típico cliente de mensajería instantánea que nos permite conectar a multitud de plataformas como pueden ser AIM, Bonjour, Gadu-Gadu, Google Talk, Groupwise, ICQ, IRC, MSN, MXit, MySpaceIM, SILC, SIMPLE, Sametime, XMPP, Yahoo! y Zephyr. Existen otros clientes que ofrecen prestaciones similar como puede ser Emphaty.\nHotot: Según mi punto de vista el mejor cliente de escritorio de twitter para Linux. Dispone de una interfaz muy trabajada, es simple, es personalizable, se integra perfectamente con los distintos entornos de escritorio, permite instalar un sinfín de extensiones para ampliar las funcionalidades y lo más importante está programado en Phyton y es extremadamente ligero. Otras opciones, en el caso de que hotot no sea santo de su devoción, son Turpial, Choqok o Gwibber.\nGpodder: Como comentamos en un post de este mismo blog, Gpodder es el mejor gestor de podcast que existe para Linux. Existen otras alternativas como gestionar los podcast como por ejemplo Rhythmbox, Banshee, Amarok\u0026hellip; pero ninguno de los soft que acabo de citar se acercan a las prestaciones que puede aportar Gpodder.\nDropbox: Todo el mundo conoce a Dropbox. El Uso principal que le doy a dropbox es mantener la información que considero esencial sincronizada en la totalidad de mis ordenadores. También a veces es útil en el caso de tener que transferir algún archivo de gran tamaño. En este caso el elegido es Dropbox por ser multiplataforma y también porque es la plataforma que te permite disponer de mayor espacio si tienes una cuenta gratuita. Actualmente dispongo de una cuenta de 19.4Gb. Existen otras opciones equivalentes a Dropbox. Algunas de ellas son Ubuntu One, Minus, o Gdrive que es un cliente de escritorio para gestionar el contenido de google Drive.\nFilezilla: Cliente FTP , FTPS y SFTP, muy intuitivo, fácil y útil para la gente que se dediqué al marketing o disponga de una web o blog. Filezilla nos permite pausar y reanudar cargas, nos permite transferir archivos superiores a 4 Gb , Búsqueda remota de archivos y otras muchas más funcionalidades.\nGoogle Chrome/Chromium: Google Chrome o Chromium es mi navegador preferido. Básicamente porqué tiene un arranque rápido, porqué carga las páginas rápidas, porqué me gusta su interfaz por su simplicidad, por su seguridad y por la multitud de aplicaciones que podemos encontrar en la chrome store. No obstante todo depende de los gustos de cada uno. Seguro que muchos de vosotros preferís Firefox o un tercero.\nGoogle Earth: Muy conocido. Google Earth permite visualizar la totalidad del planeta mediante imágenes de satélite mapas, edificios 3D. relieve. Además también permite realizar capturas de pantalla y compartirlas a través de google plus, trazar recorridos, etc.\nJdownloader: Magnífico gestor de descargas multiplataforma del que nos podremos descargar contenido de archivos alojados en servidores tipo rapidshsare, freakshare, etc. El único inconveniente que encuentro al programa es que no es lo ligero que cabria esperar y consume mucha RAM. Si lo que están buscando es un gestor de descargas ligero Tucan es una muy buena opción. Tucan es muy ligero pero como contrapartida soporta menos tipos de servidor.\nLiferea: Aplicación para agregar y gestionar noticias o feeds. Es muy potente ya que permite ver los comentarios de los blogs, y te permite sincronizar con Google Reader. Soport, RSS, RDF y Atom, permitiendo importar y exportar listas de suscripción en formato OPML. Existen otras opciones muy interesantes como Akregator o el mismo google reader. Hay que decir que actualmente estoy usando google reader ya que es la opción que me parece más práctica.\nNixnote: Nixnote es un cliente de escritorio de la famosa aplicación de notas Evernote. Decir que existen otra alternativa muy interesante e incluso mejor que Nixnote que es Everpad. Este programa es útil para tomar tus notas instantáneas de texto, sonido o audio y tenerlas clasificadas de forma adecuada. Nixnote nos permitirá tener las notas sincronizadas en la totalidad de nuestros dispositivos.\nRemmina: Es un cliente de escritorio remoto basado en GTK capaz de soportar los protocolos RDP, VNC, NX, XDMCP, SSH y telephaty. Otras alternativas a Remmina pueden ser el conocido Vinagre, o Teamviewer que les comentaremos a continuación.\nTeamviewer: Otro cliente de escritorio remoto pero en este caso es mucho más simple e intuitivo que Remmina. Prácticamente con conocimientos nulos podremos establecer conexiones remotas entre distintos equipos indiferentemente del sistema operativos que estén usando cualquiera de los dos equipos.\nSkype: Guste o no, no necesita presentación y no tiene alternativa en Linux. Con skype podrás establecer comunicaciones de texto, voz, video y transferir archivos de forma fácil y eficaz. Además Skype y messenger se han unido por lo que en skype podemos hablar tanto con nuestro contactos de skype como de Messenger. Muchos hablarán de Ekiga como sustituto de Skype pero la verdad es que lo instalé para probar y a los 5 minutos tuve que abortar el intento. Ekiga es difícil de configurar y poco intuitivo. Esperemos que Microsoft no se cargue a Skype.\nXchat: Cliente de IRC para Linux . Alguna vez me ha sido de gran ayuda cuando he tenido que solucionar problemas en el ordenador ya que en ciertos canales específicos puedes obtener la ayuda de usuarios avanzados.\nPROGRAMAS IMPRESCINDIBLES EN LINUX (MULTIMEDIA) Audacious: Es un reproductor de música simple, básico, ligero y que utilizo simplemente para escuchar los mp3 que tengo en mi disco duro. Audacious soporta los siguiente formatos wav, glac, ogg, mp3, aac, asf, wma, ape, tta, alac. Es personalizable mediante distintas pieles y permite instalar complementos para ampliar sus funcionalidades.\nAudicity: Software muy potente para la grabación, edición de audio, conversión entre formatos de audio, edición de pistas múltiples agregar efectos de sonido, etc. Con este software por ejemplo podemos quitar ruidos de fondo de nuestras grabaciones, etc.\nAvidemux: Software imprescindible para los que se descarguen videos de internet. Avidemux es un editor/conversor de video que nos permitirá multitud de opciones como por ejemplo recodificar los codecs de audio y vídeo de nuestros archivos, aplicar distintos tipos de filtros, Multiplexar, incluir subtitulos, Unir y separar archivos de vídeo, etc.\nCheese: Software cuya utilidad principal es enchufar nuestra webcam y micro en el ordenador y capturar imágenes, vídeo y sonido. Existen otras aplicaciones alternativas a cheese. Una de estas aplicaciones es guvcview. Personalmente uso guvcview porque cheese aunque sea mejor no me funciona.\nDvd::rip: Herramienta útil y simple para ripear nuestros DVD. Por lo tanto en el caso de comprar un DVD con dvd::rip podremos crear una copia de seguridad de forma fácil y sencilla y guardarla en un formato avi o mp4. Es una aplicación imprescindible para mi.\nk3b: De largo el mejor soft para grabación de CD y DVD existente para Linux. Cumple la totalidad de necesidades que podamos imaginar. Con K3b podemos clonar CD, copiar datos, copiar cd de audio, ripear y multitud de operaciones más.\nNuvola Player: Como indico en el siguiente post, Nuvola Player es el reproductor de música en streaming por excelencia. Nuvola player es un cliente de escritorio que nos permite acceder a servicios streaming musicales como pueden ser Groveeshark, Google Play Music, Pandora, Amazon Cloud Music, etc.\nOpenShot: Editor de vídeo muy potente para Linux. Aparte de ser muy potente y muy completo hay que añadir que tiene la particularidad de ser un software que puedes usar sin tener grandes conocimientos y ofrece una curva de aprendizaje plana. Con Openshot podemos cortar vídeos, añadir transiciones, añadir audio, etc. Además soporta un amplio espectro de formatos.\nMinitube: Minutube es un reproductor de vídeo que nos permite ver los videos de youtube sin tener la necesidad de tener flash instalado en nuestro ordenador. Si usamos esta aplicación de buen seguro que nuestra CPU lo agradecerá ya que nos sufrirá los recalentones que suele ocasionar flash. Existen software similares al que acabamos de mencionar como por ejemplo Gmediafinder.\nRecord my desktop: Aplicación para poder realizar screencast y de este modo poder realizar capturas de audio y de vídeo de todo lo que está ocurriendo en nuestro ordenador. Existen otras aplicaciones muy interesantes que incluso ofrecen prestaciones superiores a Record my desktop. Una de estas aplicaciones es Kazam.\nVLC: Como todos saben VLC lo reproduce todo. Es probablemente uno de los mejores reproductores multimedia que existen. También utilizo indistintamente otros reproductores como Parole o Totem. La verdad es que no tengo muchas manías con los reproductores de vídeo. Los uso todos por igual.\nRhythmbox: Es el típico reproductor de audio que además nos ayuda a clasificar nuestros archivos de sonido. Además permite agregar URL de podcast, escuchar la radio, acceder al servicio de last fm, sincronizar tu dispositivo mp3, etc. Existen muchos otros reproductores similares a Rhythmbox. Es cuestión de probar y elegir el que más guste y se adapte a vuestras necesidades. Otras opciones pueden ser Banshee, Amarok, Clementine, etc.\nSpotify: A estas alturas prácticamente todo el mundo conoce el reproductor de música en streaming Spotify. Con el cliente de spotify para linux dispondremos de una colección muy extensa de música para poder escuchar en streaming y con una calidad de sonido excelente. Una alternativa a la misma altura que Spotify e incluso con un colección de contenido más extensa es Groveeshark.\nXBMC: XBMC es un media center que soporta una gran gama de formatos multimedia. Reproduce y clasifica todo tipo de contenido y además mediante un sistema de plugins podemos ampliar las funcionalidades de este media center a límites insospechados. Actualmente el principal uso que doy al media center es para reproducir contenidos streaming, como series o películas que se encuentran por internet. Para poner un ejemplo: Con XBMC seremos capaces de ver tranquilamente una película alojada en cuevana, series manga alojadas en animeflv, videos de youtube, partidos de fútbol, etc. Una alternativa interesante a media Center XMBC es Plex.\nPROGRAMAS IMPRESCINDIBLES EN LINUX (OFICINA) Libreoffice: Famosa Suite ofimática que nació de un fork de openoffice. Muchas distros están optando por libreoffice como la suite predeterminada. Como todos saben libreoffice incluye un procesador de texto, una hoja de cálculo, una base de datos, y aplicaciones para realizar presentaciones y realizar diagramas. Libreoffice dispone de infinidad de plantillas y plugins para ampliar las funcionalidades de la Suite.\nPlanner: Es un gestor de proyectos con funcionalidades muy similares a Microsoft Project. Podremos realizar Diagramas de Gantt, asignar recursos, etc. Existen otras opciones pero de las que he probado según mi forma de ver está es la que presenta una interfaz más amigable y una curva de aprendizaje más rápida.\nEvince: Evince es un visualizador de pdf simple, ligero y funcional. De la totalidad de opciones que existen para visualizar pdf Evince es la que más me ha convencido. Quizás porqué el enterno visual se asemeja a Adobe reader. Muchas de las distribuciones Linux ya traen por defecto Evince.\nVym: Software ideal para quien necesita ordenar sus ideas antes de realizar una tarea. En definitiva Vym es un software para la realización de mapas mentales. Existen otras alternativas a este software que quizás son un poco más intuitivas.\nPROGRAMAS IMPRESCINDIBLES EN LINUX (SISTEMA) Bleachbit: Es una herramienta de mantenimiento y limpieza del sistema muy potente. Con Bleachbit podemos limpiar la cache, historial y cookies de nuestros navegadores, eliminar los archivos temporales, etc. Es muy recomendable de vez en cuando hacer uso de el para liberar espacio en el disco duro. Para ver el funcionamiento de la herramienta Bleachbit podéis consultar la siguiente página de este mismo blog. https://geeklandlinux.github.io/posts/liberar-espacio-con-bleachbit/.\nCaffeine: Aplicación muy útil ya que con caffeine gestiono cuando se activa y desactiva mi salvapantallas. Lo uso básicamente para prevenir que se active el salvapantallas cuando veo videos en youtube o cuando quiero visualizar un archivo de vídeo en Totem, VLC o Parole.\nFirestarter: Este es el front-end que utilizo para configurar el cortafuegos de forma adecuada. Gracias a firestarter con escasos conocimientos siempre podemos definir exactamente las conexiones entrantes y salientes permitidas así como también monitorear el tráfico de la red. Otra opción inclbauso mejor que la de firestarter es gufw.\nBack in time: Soft para realización de copias de seguridad recursivo e incremental. Con Back in time puedes realizar copias de la totalidad de dispositivos que se puedan montar en el ordenador, de carpetas y ubicaciones concretas de tu discos duro, etc. Back in time también permite realizar una programación de las copias de seguridad que queremos realizar. Existen otras opciones como Deja Vu.\nGdebi: Magnifico instalador de paquetes deb. Es especialmente útil para instalar aquellos paquetes que no están disponibles en nuestros repositorios. La verdad es que según mi forma ver es mucho mejor usar gdebi que el pesado y lento Centro de software de Ubuntu.\nSynaptic: Synaptic es un potente front-end del gestor de paquetes apt. Con synaptic facilitaremos increíblemente el instalar y desinstalar paquetes, la gestión de los repositorios, la reparación de paquetes rotos, etc. Para mi Synaptic es básico e imprescindible.\nVirtualBox: Ideal para cacharrear y realizar pruebas. Virtualbox es un software de virtualización. Personalmente lo utilizo para virtualizar distintos sistemas operativos y hacer ciertos experimentos que no me atrevería a realizar con mi ordenador.\nPara finalizar el post falta citar que una parte importante de la información del post ha sido extraído de la wikipedia.\n","permalink":"https://geeklandlinux.github.io/posts/programas-imprescindibles-en-linux/","summary":"\u003cp\u003eA continuación les presento las aplicaciones, que según mi modesto punto de vista, deberían estar instaladas en cualquier sistema GNU Linux. Seguramente me dejaré muchas aplicaciones en el tintero pero con la relación de software que podéis encontrar a continuación pienso que se cubren las necesidades de un número importante de usuarios. Los programas los presento agrupados por categorías.\u003c/p\u003e","title":"Programas imprescindibles en Linux"},{"content":"Hoy hablamos de como realizar apt-pinning en Debian. Muchos usuarios usan Debian Stable o Debian Testing y se desesperan por no poder disponer de las últimas versiones de paquetes y tener que usar versiones de software que van 3 o 4 versiones por detrás de la última versión.\nMediante el apt-pinning en Debian podemos solucionar este problema ya que sin necesidad de cambiar de rama podremos instalar paquetes de cualquiera de las ramas existentes de Debian. Por lo tanto en el caso que usemos Debian Testing podremos instalar paquetes y software de la rama Unstable o experimental.\nEl primer paso antes de empezar es asegurar que nuestro sistema esta completamente actualizado. Así una vez realizados los pasos para aplicar apt-pinning en Debian podremos intuir si nuestro apt.conf y nuestro fichero de preferences están bien configurados. Para asegurar que nuestro sistema esta bien actualizado tecleamos los siguientes comandos en la terminal:\nsudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade APT PINNING EN DEBIAN TESTING El objetivo a conseguir es un sistema cuya rama principal sea testing y además que podamos disponer de los paquetes de la ramas Unstable y Experimental. Para ello seguimos los siguientes pasos:\n1- Añadir los repositorios de las distintas ramas en nuestro sources.list En este caso añadimos los repositorios de Unstable y Experimental. Tecleamos:\nsudo gedit /etc/apt/sources.list Nuestro sources.list tiene que quedar de la siguiente forma:\n## Paqueteria del sistema Debian Testing deb http://ftp.de.debian.org/debian/ testing main contrib non-free deb-src http://ftp.de.debian.org/debian/ testing main contrib non-free ## Actualizaciones de seguridad Debian Testing deb http://security.debian.org/ testing/updates main contrib non-free deb-src http://security.debian.org/ testing/updates main contrib non-free ## Repositorio para incluir los paquetes de Debian Unstable deb http://ftp.us.debian.org/debian unstable main non-free contrib ## Repositorio para incluir los paquetes de Debian experimental deb http://ftp.fr.debian.org/debian experimental main non-free contrib Nota: Ir con cuidado en los repositorios. No usar nombres de versiones Wheezy, Lenny o cualquier otro. Hay que vigilar ya que tanto en la configuración del preferences como la del apt.conf apuntaran a las ramas y no a las distribuciones. 2- Configurar el fichero apt.conf Dentro de la ubicación /etc/apt es altamente recomendable crear el fichero apt.conf. Este fichero nos servirá para configurar el conjunto de herramientas apt. Para crear el fichero entramos en la terminal y tecleamos:\nsudo gedit /etc/apt/apt.conf Introducimos el siguiente código dentro del archivo:\nAPT::Default-Release \u0026#34;testing\u0026#34;; APT::Cache-Limit 55000000; Apt::Get::Purge; APT::Clean-Installed; APT::Get::Fix-Broken; APT::Get::Fix-Missing; APT::Get::Show-Upgraded \u0026#34;true\u0026#34;; Con este código conseguimos::\n- Definir a Debian Testing como nuestra rama principal.\n- Limitar el cache que vamos a utilizar en el proceso de actualización de paquetes.\n- Borrar los archivos de configuración de todos los paquetes desinstalados.\n- Arreglar el sistema en caso de detectar dependencias rotas.\n3- Creación del fichero preferences Dentro de la ubicación /etc/apt tenemos que crear el fichero preferences. El contenido del fichero preferences es el que indicará los paquetes que son seleccionados para la instalación. En otras palabras en este fichero indicaremos que paquetes de cada una de las ramas se instalaran y bajo que circunstancias.\nAbrimos la terminal y tecleamos:\nsudo gedit /etc/apt/preferences Añadimos el siguiente contenido en el archivo:\nPackage: * Pin: release a=testing Pin-Priority: 900 Package: * Pin: release a=unstable Pin-Priority: 600 Package: * Pin: release a=experimental Pin-Priority: 50 El significado de cada una de las prioridades que indicamos dentro de las gamas testing, unstable y experimental es:\nPrioridad: P \u0026gt;1000: El paquete si instala aunque sea más antiguo que el paquete que tenemos instalado. (De este modo teóricamente es posible cambiar incluso de rama en Debian) Prioridad: \u0026lt;990 P \u0026lt;=1000: El paquete se instala aunque no provenga de la rama principal. Si existe una versión más reciente del paquete previamente instalado el paquete no se instalará. Prioridad : \u0026lt;500 P \u0026lt;=990: El paquete se instala siempre y cuando no exista una versión en la rama principal o tengamos una versión instalada de este paquete que sea más actual. Prioridad : \u0026lt;100 P \u0026lt;=500: El paquete se instala siempre y cuando no exista el mismo paquete en cualquiera de las otras ramas. Tampoco se instala en caso de tener una versión del paquete instalada que sea más reciente.. Prioridad : \u0026lt;0 P \u0026lt;=100: Solo se instala el paquete si no hay otra versión disponible en ninguna de las ramas existentes en nuestro sources.list. Prioridad negativa: Nunca se instalará este paquete. (Teóricamente es equivalente a borrar un repositorio del sources.list) Nota: La rama principal es la Testing. Se ha definido en el punto 2. 4- Comprobación del funcionamiento Ya hemos terminado al apt-pinning en Debian. Ahora entramos en la terminal y actualizamos los repositorios mediante:\nsudo apt-get update Seguidamente intentamos aplicar las actualizaciones:\nsudo apt-get dist-upgrade Si todo funciona correctamente en teoría no tenemos que tener ninguna actualización. Si nos entran multitud de actualizaciones significa que algún parámetro esta fallando en nuestra configuración. En caso de encontrar multitud de actualizaciones abortar el proceso de actualización y averiguar donde está el error.\n5- Instalar programas que no forman parte de nuestra rama principal El apt-pinning en Debian ya está configurado y estamos en disposición de instalar paquetes de otras ramas.\nInstalación sin forzar la actualización de dependencias\nPara entender como hacerlo ponemos un ejemplo práctico. Si estamos en testing y queremos instalar gimp de la rama unstable tecleamos en la terminal:\napt-get install gimp/unstable Con este comando instalamos el paquete gimp de la rama unstable. También hacemos que las dependencias del paquete gimp las intente buscar en la rama predefinida como predeterminada. En nuestro caso Testing.\nInstalación forzando la actualización de dependencias\nPara entender como hacerlo ponemos un ejemplo práctico. Si estamos en testing y queremos instalar gimp de la rama unstable tecleamos en la terminal:\napt-get -t unstable install gimp Con este comando instalamos el paquete gimp de la rama unstable. También hacemos que las dependencias del paquete gimp las intente buscar en la rama unstable.\nNota: Cada vez que instalemos paquetes de distintas ramas hay que ir con cuidado y leer atentamente los mensajes. 6- Actualización del sistema Cada vez que actualicemos el sistema hay que ir con mucho cuidado con los mensajes y advertencias y elegir sabiamente. Una elección errónea puede crearnos problemas de dependencias y tener que invertir tiempo para solucionarnos. Es aconsejable no abusar del recurso del apt-pinning porqué al final nuestro sistema puede ser un caos.\n7- Visualización de que paquetes tenemos instalados para cada una de las ramas Una vez tenemos instalados multitud de paquetes y de dependencias nos puede interesar tener un listado de los paquetes instalados de cada una de las ramas de Debian. Para ello les dejo el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/paquetes-de-debian-clasificados-por-rama/\nAPT-PINNING EN DEBIAN ESTABLE En el caso de estar usando la rama estable el apt-pinning no es la solución más recomendable a la hora de disponer de paqueteria actualizada. En este caso la mejor opción es añadir los backports en nuestro el sources.list. De esta forma los problemas de dependencias serán muchos menores y tendremos un sistema mucho más limpio.\nPara finalizar el post de apt-pinning en Debian dar las gracias al foro de daboweb por la transmisión de sus experiencias sobre este tema y a la wiki de esdebian.org.\n","permalink":"https://geeklandlinux.github.io/posts/apt-pinning-en-debian/","summary":"\u003cp\u003eHoy hablamos de como realizar apt-pinning en Debian. Muchos usuarios usan Debian Stable o Debian Testing y se desesperan por no poder disponer de las últimas versiones de paquetes y tener que usar versiones de software que van 3 o 4 versiones por detrás de la última versión.\u003c/p\u003e","title":"Apt-pinning en Debian, Mezclar paquetes de distintas ramas"},{"content":"Seguidamente les presentare como conocer los paquetes de Debian clasificados por rama.\nComo todos saben en Debian existen varias ramas. Existe la rama estable, la rama testing, la rama inestable y para finalizar la experimental.\nAlgunos usuarios mediante el apt-pinning acostumbran a mezclar paquetes de las distintas ramas de Debian. Por lo tanto puede darse el caso que un usuario tenga como rama principal la Testing, pero también pueda disponer de paquetes y software proveniente de otras ramas de Debian.\nEl motivo de querer mezclar las ramas es muy simple, La versionitis. Debian Stable y Debian Testing son versiones muy estables pero no disponen de la últimas versiones del software que utilizamos habitualmente. Por lo tanto una solución es mezclar los paquetes pero siempre con sumo cuidado y de forma adecuada ya que podemos generar problemas importantes de dependencias sino lo hacemos adecuadamente.\nCon el tiempo y cuantos más paquetes y programas instalamos y desinstalamos puede darse el caso que tengamos una mezcla importante de paquetes y problemas de dependencias. Al darse este caso puede ser útil tener un listado de los paquetes que tenemos instalados de cada una de las ramas\nOBTENCIÓN DE LOS PAQUETES DE DEBIAN CLASIFICADOS POR RAMA El primer paso es asegurar que tenemos instalado el paquete apt-show-versions. En el caso de no tenerlo instalado abrimos una terminal e introducimos:\nsudo apt-get install apt-show-versions Una vez instalado el paquete ya podemos abrir otra terminal y analizar los paquetes que tenemos instalados de cada una de las ramas. Para analizar los paquetes que tenemos en la rama estable solo hay que poner el siguiente comando en la terminal:\napt-show-versions -b|awk \u0026#39;BEGIN{FS=\u0026#34;/\u0026#34;}$2==\u0026#34;stable\u0026#34;{print $1}\u0026#39; Como pueden ver en la imagen no tengo ningún paquete instalado de la rama estable ya que no tengo los repositorios introducidos.\nPara obtener los paquetes que tenemos instalados de la rama testing tenemos que introducir el siguiente comando en la terminal:\napt-show-versions -b|awk \u0026#39;BEGIN{FS=\u0026#34;/\u0026#34;}$2==\u0026#34;testing\u0026#34;{print $1}\u0026#39; Como pueden ver en la imagen hay una gran cantidad de paquetes. Debian testing es mi rama principal y por lo tanto es normal el resultado obtenido.\nPara obtener los paquetes que tenemos instalados de la rama Unstable o Sid tenemos que usar el siguiente comando:\napt-show-versions -b|awk \u0026#39;BEGIN{FS=\u0026#34;/\u0026#34;}$2==\u0026#34;unstable\u0026#34;{print $1}\u0026#39; Como pueden ver en la imagen en mi ordenador solo tengo instalado el paquete Gpodder.\nPara obtener los paquetes que tenemos instalados de la rama experimental tenemos que usar el siguiente comando:\napt-show-versions -b|awk \u0026#39;BEGIN{FS=\u0026#34;/\u0026#34;}$2==\u0026#34;experimental\u0026#34;{print $1}\u0026#39; Como podeis ver en la imagen tengo instalado diversos paquetes de la rama experimental.\nPor lo tanto como podéis ver de forma muy simple podemos tener un listado de paquetes de Debian clasificados por rama.\nPara configurar el apt-pinning de forma adecuada pueden consultar el siguiente enlace:\nhttps://geeklandlinux.github.io/posts/apt-pinning-en-debian/\nFuente: http://www.esdebian.org/wiki/sistemas-mixtos\n","permalink":"https://geeklandlinux.github.io/posts/paquetes-de-debian-clasificados-por-rama/","summary":"\u003cp\u003eSeguidamente les presentare como conocer los paquetes de Debian clasificados por rama.\u003c/p\u003e\n\u003cp\u003eComo todos saben en Debian existen varias ramas. Existe la rama estable, la rama testing, la rama inestable y para finalizar la experimental.\u003c/p\u003e","title":"Paquetes de Debian clasificados por rama"},{"content":"Muchos de ustedes se hacen la pregunta de que gestores de podcast que existen en Linux.\nLa verdad existen multitud de gestores de podcast como por ejemplo amarok, rhytmmbox, banshee, etc. Pero la realidad es que ninguno de los gestores de podcast citados se acerca al rendimiento y prestaciones que nos ofrece Gpodder. Gpodder es un gestor de podcast que solo se puede definir como excepcional.\nVENTAJAS RESPECTO OTROS GESTORES DE PODCAST Y PRESTACIONES QUE OFRECE 1- Es un software multiplataforma. La podemos usar en windows, Linux, Mac, Maemo y FreeBSD.\n2- Es un gestor de podcast liberado bajo la licencia GPLv3. Por lo tanto usted tiene el derecho de modificar y distribuir el Software.\n3- Permite clasificar nuestros podcast por temáticas que podemos generar nosotros mismos. En la imagen podéis ver las categorías Cine y Tecnología.\n4- Permite sincronizar los podcast entre varios dispositivos. Esto incluye tanto ordenadores de sobremesa, como laptops, reproductores mp3, etc. Por ejemplo cuando añadamos un podcast al ordenador de sobremesa también se añadira en nuestro laptop. Cuando enchufemos nuestro reproductor de mp3 al ordenador podremos sincronizar el dispositivo.\n5- Permite visualizar, gestionar y descargar en nuestro disco duro tanto podcast de Video como de Audio. Soporta RSS, Atom, YouTube, Soundcloud, Vimeo y XSPF feeds. Para ello en las preferencias Generales de Gppoder le tenemos que indicar el reproductor de vídeo y de audio que vamos a usar.\n6- Permite tener un control de los episodios nuevos y pendientes por escuchar. Nos informa cuando se publican nuevos podcast.\n7- El programa dispone de pluggins para añadir funcionalidades extra. Se pueden consultar en su página web.\n8- Podemos descubrir nuevos podcast a través del directorio de podcast que podemos consultar desde su su página web.\nINSTALAR GPODDER EN DEBIAN O UBUNTU Tanto si usamos Debian como Ubuntu Gpodder esta en el repositorios de la distro. Por lo tanto simplemente tenemos que abrir una terminal y ejecutar el siguiente comando:\nsudo apt-get install gpodder Si usamos Ubuntu y queremos la última versión del programa la pueden conseguir instalando gpodder a partir del siguiente PPA. Por lo tanto introducimos los siguientes comandos en la terminal:\nsudo add-apt-repository ppa:thp/gpodder sudo apt-get update sudo apt-get install gpodder En el caso de usar Debian y precisar de la última versión podemos mezclar paquetes de distintas ramas de Debian. Por lo tanto si estamos en estable o Testing podríamos instalar los paquetes de Gpodder de Sid. En un futuro post detallaré como realizar lo que estoy proponiendo.\nPASOS PARA SACAR EL MÁXIMO PARTIDO A GPODDER 1- Para usar la totalidad de funcionalidades del programa primero nos debemos registrar en su página web . De este modo podremos sincronizar diferentes dispositivos y tener un respaldo de nuestros podcast en el caso que tengamos que formatear el dispositivo o lo perdamos.\n2- Una vez registrados y dentro de la página debemos tenemos que clicar a al menú suscriptions, después dispositivos y a posteriori create Device. Seguidamente introducir los datos que podéis ver en la pantalla. Si tenemos 2 ordenadores tendremos que repetir 2 veces este paso. Este paso se tiene que repetir para cada uno de los dispositivos que tengamos. Así conseguiremos la sincronización.\n3- Una vez creados los dispositivos hay que sincronizarlos. Para sincronizar los dispositivos vamos al menú subscriptions, después a dispositivos y finalmente clicamos a configure del equipo denominado Debian.\n4- En la siguiente pantalla en el desplegable de Synchronize selecciono el equipo con que quiero sincronizar Debian. En este caso lo sincronizaré con el equipo Xubuntu. Ahora los dos 2 dispositivos ya están sincronizados.\n5- Abrir el programa Gpodder. Como indica en la imagen vamos a las preferencias del programa.\n6- Una vez dentro de las preferencias elegimos la pestaña gpodder.net. Allí tendremos que rellenar los datos correspondientes a nuestra cuenta de Gpodder y la identificación del dispositivo. Este paso también hay que repetirlo en cada uno de los dispositivos que tengamos. Una vez realizado ya podemos empezar a introducir podcast.\nINTRODUCCIÓN DE PODCAST EN LOS DISPOSITIVOS Existen varias formas para poder introducir podcast dentro del programa. Lo podéis hacer directamente desde gpodder o desde la página web. Yo prefiero realizarlo desde la página Web. Desde gppoder es muy intuitivo y vosotros mismos lo descubriréis. Desde la página web se realiza de la siguiente forma:\n1- Vamos a la pestaña de suscripciones.\n2- En el apartado suscribe to Podscast introducimos la URL del podcast y le damos al símbolo +\n3- Seleccionamos los dispositivos a los que queremos introducir el podcast y apretamos al botón Suscribe.\n4- Entramos al programa Gpodder y damos click al botón comprobar nuevos episodios.\n5- Al ser la primera vez nos saldrá este cuadro. Elegimos la opción Restore my subscriptions from gpodder.net\n6- Seguidamente introducimos los datos de nuestra cuenta de gppoder y clicamos en iniciar sesión.\n7- Como podéis ver en la imagen los podcast ya están disponibles\nEn Resumen : De los gestores de podcast existentes en Linux gpodder bajo mi punto de vista la mejor opción. Si lo prueban verán que es intuitivo y poco a poco irán descubriendo las opciones que ofrece este software.\n","permalink":"https://geeklandlinux.github.io/posts/gestores-de-podcast-en-linux/","summary":"\u003cp\u003eMuchos de ustedes se hacen la pregunta de que  gestores de podcast que existen en Linux.\u003c/p\u003e\n\u003cp\u003eLa verdad existen multitud de gestores de podcast como por ejemplo amarok, rhytmmbox, banshee, etc. Pero la realidad es que ninguno de los gestores de podcast citados se acerca al rendimiento y prestaciones que nos ofrece Gpodder. \u003cstrong\u003eGpodder es un gestor de podcast que solo se puede definir como excepcional\u003c/strong\u003e.\u003c/p\u003e","title":"Gestores de Podcast en Linux"},{"content":"Bajo mi punto de vista Nuvola Player es el reproductor de música en streaming por excelencia. Lo es porqué al instalar Nuvola Player obtendrán una serie de servicios que ningún otro reproductor nos ofrece.\nSERVICIOS QUE OBTENEMOS AL INSTALAR NUVOLA PLAYER 1- Acceso al servicio Amazon Cloud Player.\n2- Acceso al servicio 8tracks.\n3- Acceso al servicio de Google Play Music.\n4- Acceso al servicio Online de Grooveshark.\n5- Acceso al servicio online de Hype Machine.\n6- Acceso al servicio Pandora.\n7- Acceso al servicio de Rdio.\nNota: En función del país en que se encuentre puede que algunos de los servicios no estén disponibles. OTRAS VENTAJAS DE INSTALAR NUVOLA PLAYER Solución para máquinas con pocos recursos. Como podéis ver en las 2 imágenes comparativas los recursos usando grooveshark en un navegador o en nuvola player son sensiblemente diferentes. Nuvola Player consume mucha menos RAM. Chrome se arranco en modo incógnito para que la comparación sea más equitativa.\nVarios servicios de reproducción online integrados en un mismo Software. Máxima comodidad para el usuario.\nNuvola Player dispone de un sistema de extensiones para ampliar las funcionalidades. Algunas de las extensiones nos permiten poder interactuar y hacer scrobbling con lastfm, ver las letras de las canciones, activar el sistema de notificaciones, etc.\nINSTALAR NUVOLA PLAYER EN DEBIAN ESTABLE El primer paso es añadir la llave pública. Para añadir la clave pública abrir una terminal y pegar el siguiente comando:\nsudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 706C220A El segundo paso es acceder a nuestro sources.list y agregar el repositorio. Para abrimos una terminal e introducimos el siguiente comando:\nsudo gedit /etc/apt/sources.list Dentro de nuestro sources.list pegamos el siguiente texto justo al final del archivo:\n##Debian Wheezy, LMDE* ##Stable builds only: deb http://ppa.fenryxo.cz/nuvola-player/ wheezy main deb-src http://ppa.fenryxo.cz/nuvola-player/ wheezy main Una vez introducido el texto grabar las modificaciones y cerrar el archivo. El paso final es abrir la terminal y ejecutar les siguientes comandos:\nsudo apt-get update sudo apt-get install nuvolaplayer Nota: Se comenta como instalar la versión estable en Debian Estable. Si queréis instalar la versión Beta podéis consultar la siguiente URL: http://ppa.fenryxo.cz/nuvola-player/README.html INSTALAR NUVOLA PLAYER EN DEBIAN TESTING, DEBIAN INESTABLE O LMDE El primer paso es añadir la llave pública. Para añadir la clave pública abrir una terminal y pegar el siguiente comando:\nsudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 706C220A El segundo paso es acceder a nuestro sources.list y agregar el repositorio. Para abrimos una terminal e introducimos el siguiente comando:\nsudo gedit /etc/apt/sources.list Dentro de nuestro sources.list pegamos el siguiente texto justo al final del archivo:\n##Debian Testing, LMDE, Unstable* ##Stable builds only: deb http://ppa.fenryxo.cz/nuvola-player/ sid main deb-src http://ppa.fenryxo.cz/nuvola-player/ sid main Una vez introducido el texto grabar las modificaciones y cerrar el archivo. El paso final es abrir la terminal y ejecutar les siguientes comandos:\nsudo apt-get update sudo apt-get install nuvolaplayer Nota: Se comenta como instalar la versión estable en Debian Testing y Debian Inestable. Si queréis instalar la versión Beta podéis consultar la siguiente URL: http://ppa.fenryxo.cz/nuvola-player/README.html INSTALAR NUVOLA PLAYER EN UBUNTU Para instalar Nuvola Player estable en Ubuntu abrir una terminal e introducir los siguientes comandos:\nsudo add-apt-repository ppa:nuvola-player-builders/stable sudo apt-get update sudo apt-get install nuvolaplayer En conclusión. Para mi Nuvola Player es un programa imprescindible para le gente que acostumbra a escuchar música en streaming ya que es eficiente en el uso de recursos, integra multitud de servicios streaming en tu escritorio y facilita la vida al usuario.\nPara más información pueden consultar la web del desarrollador:\nhttp://nuvolaplayer.fenryxo.cz/\n","permalink":"https://geeklandlinux.github.io/posts/instalar-nuvola-player-en-debian/","summary":"\u003cp\u003eBajo mi punto de vista Nuvola Player es el \u003cstrong\u003ereproductor de música en streaming por excelencia\u003c/strong\u003e. Lo es porqué al instalar Nuvola Player obtendrán una serie de servicios que ningún otro reproductor nos ofrece.\u003c/p\u003e","title":"Instalar Nuvola Player en Debian o Ubuntu"},{"content":"Nota: La totalidad de podcast interesantes citados en el post están actualmente en emisión. Seguidamente presento la lista de podcast interesantes. Para presentar cada uno de los podcast lo hago de la siguiente manera:\n1- Cito el nombre del podcast. El nombre del podcast tiene un link a la página web del autor en caso de que tenga. De este modo aparte de escuchar podcast también podréis consultar blogs.\n2- Al lado de cada uno de los nombres del podcast pongo una descripción muy leve sobre la temática del podcast.\n3- En color azul les pongo el feed para que ustedes puedan escuchar los podcast mediante se gestor de podcast.\nPODCAST INTERESANTE DE LINUX, SOFTWARE LIBRE Y DESARROLLO WEB Codigofacilito: Podcast dedicado a tutoriales de diferentes lenguajes de programación. http://gdata.youtube.com/feeds/base/users/codigofacilito/uploads?orderby=updated\u0026amp;alt=rss\u0026amp;client=ytapi-youtube-rss-redirect\u0026amp;v=2\nDaboblog: La primera parte del podcast enfocada en GNU Linux y la segunda a Apple. Dabo y sus colaboradores son muy buenos. http://www.ivoox.com/feed_fg_f12610_filtro_1.xml\nDragonjarTV: Podcast dedicado principalmente a la seguridad informática. http://www.youtube.com/rss/user/DragonJARtv/videos.rss\nDesarrollowebcom: Video Podcast para desarrolladores web. Se tratan temas de SEO, Programación, Linux, desarrollo de aplicaciones moviles, etc. http://www.youtube.com/rss/user/desarrollowebcom/videos.rss\nOpenCharla: Podcast en que se abordan varios temas de GNU Linux. http://opencharla.gultij.org/mp3/feed.xml\nPánico en el Núcleo: Podcast en que se repasa la actualidad del mundo Linux y el software con un punto de vista humorístico. http://feeds.feedburner.com/panicoenelnucleo-podcast\nPinguinos en el alambre: Podcast en que se habla temas varios de GNU Linux y nuevas tecnologías. http://www.pinguinos.org.mx/feed/\nReality Cracking: Podcast donde principalmente se tratan temas de seguridad por parte de un experimentado informático. http://www.ivoox.com/podcast-reality-cracking_fg_f159955_filtro_1.xml\nLibresfera: Libresfera es un podcast libre y de contenidos también libres. Entrevistas, música, cine, tecnología, etc, son algunos de los temas que podrás encontrar en cada programa. http://ivoox.com/podcast-libresfera_fg_f136150_filtro_1.xml\nPODCAST INTERESANTES DE DISPOSITIVOS MÓVILES Droidcast: Podcast muy focalizado en telefonía móvil y android. http://feeds.feedburner.com/droidcast\nEl Camionero Geek: Podcast muy focalizado en dispositivos móviles Android y Apple. http://www.ivoox.com/podcast-camionero-geek_fg_f142099_filtro_1.xml\nBeemob: Podcast en que se repasa la actualidad de telefonía móvil y smartphones. http://www.ivoox.com/podcast-podcast-bemoob_fg_f129018_filtro_1.xml\nRupertDax: Podcast de divulgación de experiencias que se han tenido principalmente con dispositivos móviles. http://www.spreaker.com/user/4712780/episodes/feed\nEl Telar del Geek: Podcast focalizado en dispositivos móviles y otros temas de forma puntual. http://eltelardelgeek.com/category/podcast-2/telar-del-geek/feed/ PODCAST INTERESANTES DEL MUNDO APPLE AppsMac: Podcast en el que se analizan aplicaciones existentes tanto para Mac, Iphone, Ipad, etc. http://feeds.feedburner.com/AppsmaccomPodcast\nLaboratorio de aplicaciones para Ipad: Podcast donde se analizan aplicaciones de ipad. http://feeds.feedburner.com/laboratorioipad\nEmilcar: Podcast en que se analiza el mundo y la actualidad de apple. (Mac, Iphone e Ipad) http://www.ivoox.com/podcast-emilcar-podcast_fg_f1388_filtro_1.xml\niCharlas: Podcast en que se habla de generalidades y temas varios enfocados exclusivamente en apple. http://feeds.feedburner.com/icharlaspodcast\nMini-Popypodcast: Podcast centrado en apple. Se habla de apps, tweaks y experiencias personales con dispositivos apple. http://www.ivoox.com/podcast-mini-popycast-recopilatorio_fg_f137249_filtro_1.xml\nTreki23: Podcast sobre nuevas tecnologías. Bastante focalizado en apple. http://feeds.feedburner.com/PodcastDeTreki23\nPuroMac: Podcast sobre el mundo Apple en general. http://feeds.feedburner.com/puromac\nPODCAST INTERESANTES NUEVAS TECNOLOGÍAS EN GENERAL Byte, tecnología aplicada\u0026hellip; a la vida: Podcast dedicado a las nuevas tecnologías en general. http://feeds.feedburner.com/Byte\nComando Alt Suprimir: Podcast dedicado a las nuevas tecnologías en general. http://feeds.feedburner.com/ComandoAltSuprimirPodcast\nColission TransMedia: Podcast dedicado a las nuevas tecnologías en general. http://gdata.youtube.com/feeds/base/users/ColissionTv/uploads?orderby=updated\u0026amp;alt=rss\u0026amp;client=ytapi-youtube-rss-redirect\u0026amp;v=2\nEl amuleto de Yendor: Podcast donde se habla sobre tecnología, internet, videojuegos, televisión, etc. http://feeds.feedburner.com/ElAmuletoDeYendor\nEspai Internet: Video Podcast en que el semana tras semana te dan a conocer webs útiles y curiosas, blogs, etc. http://www.tv3.cat/3alacarta/podcast/xml/espaiinternet.xml\nGeneració Digital: Podcast dedicado al entretenimiento y cultura digital. http://www.ivoox.com/podcast-generacio-digital_fg_f1531_filtro_1.xml\nKafelog: Podcast donde se habla de tecnología, Internet, cine y videojuegos. http://feeds.feedburner.com/kafelog\nKukudrulu: Podcast en que se intenta acercar las nuevas tecnologías a todos los usuarios. http://www.ivoox.com/podcast-podcast-kukudrulu-podcast-videopodcast_fg_f127795_filtro_1.xml\nSarcasmo Tecnológico: Podcast donde Chemi habla sobre sus experiencias y aventuras personales en el mundo de la tecnología. Chemi es el Dr. House del podcasting y un apasionado de Windows. http://www.spreaker.com/user/5336907/episodes/feed\nFacilware: Podcast en el que se habla de tecnología, Sistemas operativos, etc. http://www.ivoox.com/podcast-podcast-facilware-radio_fg_f16518_filtro_1.xml\nVidas en Red: Podcast sobre tecnología, gadgets, Internet, Linux. http://www.ivoox.com/podcast-podcast-vidas-red_fg_f19822_filtro_1.xml\nRadioGeek: Podcast en que se resumen noticias de actualidad relacionadas con la tecnología. http://www.ivoox.com/podcast-radiogeek_fg_f129471_filtro_1.xml\nSerantes: Podcast sobre ordenadores de bolsillo, PDAs y dispositivos portátiles. http://www.ivoox.com/podcast-blog-serantes-podcast_fg_f13402_filtro_1.xml\nSocial Media Podcast: Podcsat sobre el mundo del Social Media y la Web 2.0 http://www.ivoox.com/podcast-social-media-podcast_fg_f128623_filtro_1.xml\nTecnoCasters: Podcast donde se habla sobre la actualidad tecnológica del momento. http://tecnocasters.libsyn.com/rss\nVentanas a la red: Podcast en que periódicamente se entrevistan a personas relacionadas con el mundo de las nuevas tecnologías. En la charlas se acostumbran a presentar los proyectos en que participa estas personas, su especialidad profesional, etc. Se Acostumbra a hablar de distintas temáticas como por ejemplo pueden ser seguridad profesional, Redes sociales, etc. http://www.ivoox.com/feed_fg_f5694102_filtro_1.xml\nWe.Developers: Podcast para desarrolladores http://feeds.feedburner.com/WeDevelopersPodcast\nPODCAST INTERESANTES DE VIDEOJUEGOS El Club Vintage: Podcast donde se analizan juegos míticos de los 80 y 90. http://www.ivoox.com/podcast-club-vintage-videojuegos-clasicos-80-s_fg_f18511_filtro_1.xml\nSe han cometido errores: Podcast donde se habla de videojuegos y otros temas. http://www.ivoox.com/podcast-se-han-cometido-errores_fg_f118653_filtro_1.xml\nEste es mi listado de podcast interesantes. Si alguien sugiere incluir alguno más puede hacer una sugerencia en los comentarios del post.\n","permalink":"https://geeklandlinux.github.io/posts/podcast-interesantes-nuevas-tecnologias/","summary":"\u003ch6 id=\"nota-la-totalidad-de-podcastinteresantescitados-en-el-postestán-actualmenteen-emisión\"\u003eNota: La totalidad de podcast interesantes citados en el post están actualmente en emisión.\u003c/h6\u003e\n\u003cp\u003eSeguidamente presento la lista de podcast interesantes. Para presentar cada uno de los podcast lo hago de la siguiente manera:\u003c/p\u003e","title":"Podcast Interesantes sobre nuevas Tecnologías"},{"content":"Me gustaría compartir con todos los repositorios que uso en debian testing. La primera vez que instale Debian la verdad es que me costo. Primero averiguar los que tenia que poner y a posteriori aunque los ponía correctamente me daban errores ya que recientemente se había cambiado el repositorio multimedia.\nPara modificar o introducir los repositorios debemos entrar y editar el archivo /etc/apt/sources.list . Para ello en la terminal escribimos:\nsudo nano /etc/apt/sources.list Ahora ya podemos editar el archivo para incluir los siguientes repositorios:\nNota: Hay que ir con mucho cuidado modificando el sources.list. En case de utilizar repositorios inadecuados podemos llegar a dañar nuestro sistema. MIS REPOSITORIOS EN DEBIAN TESTING SON: Repositorios Básicos y oficiales:\n## Debian Testing deb http://ftp.de.debian.org/debian/ testing main contrib non-free deb-src http://ftp.de.debian.org/debian/ testing main contrib non-free Nota: En el repositorio Debian Testing es donde se encuentran la totalidad de paquetes de la distribución Debian. Es totalmente indispensable tener este repositorio. ## Actualizaciones de seguridad deb http://security.debian.org/ testing-security main contrib non-free deb-src http://security.debian.org/ testing-security main contrib non-free Nota: En el repositorio actualizaciones de seguridad es donde Debian pone a disponibilidad del usuario las actualizaciones de seguridad y parches para solucionar las vulnerabilidades que se van descubriendo. No es estrictamente necesario tener este repositorio instalado pero si muy altamente recomendable. Como podéis ver son los repositorios que cito hay las palabras main, contrib y non-free:\nAl poner main lo que hacemos es incluir aproximadamente el 90% de paquetes de la distribución Debian. La totalidad de paquetes que contiene main cumplen con los 10 principios de la Debian Free software Guidelines.\nAl poner la palabra contrib lo que hacemos es añadir paquetes que solo cumplen con algunos de los puntos de la Debian Free Software Guidelines.\nAl poner non-free estaremos incluyendo paquetes que no son libres (privativos) y por lo tanto contradicen los puntos de la Debian Free Software Guidelines.\nNota: En función de lo que este buscando el usuario puede decidir incluir los campos non-free o contrib. Repositorios no oficiales de terceros:\n##Multimedia testing ## aptitude install debian-multimedia-keyring deb http://www.deb-multimedia.org/ testing main non-free deb-src http://www.deb-multimedia.org/ testing main non-free Nota: Los repositorios multimedia incluyen códecs de audio de audio no oficiales, aplicaciones de vídeo, etc. El repositorio contiene paquetes no libres multimedia. ##Repositorios experimentales deb http://deb.debian.org/debian experimental main Nota: También incluyo los repositorios experimentales de Debian para poder tener las últimas versiones de Firefox y Thunderbird y otros programas en el caso que alguien lo considere necesarios. ## Repositorio VirtualBox Debian Wheezy deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian stretch contrib Nota: Repositorios en Debian para instalar VirtualBox en Debian Stretch. ##Repositorio de Spotify deb http://repository.spotify.com stable non-free Nota: Repositorios en Debian para poder instalar Spotify de forma nativa en Linux ##Editor de texto Typora deb https://typora.io/linux ./ Nota: Repositorio para instalar el editor de texto Markdown Typora. Hay una serie de programas en que los repositorios se instalan de forma automática cuando se instala el paquete binario que que utilizamos para su instalación. Algunos ejemplos de lo que acabamos de citar son Google Chrome, Dropbox, etc.\n","permalink":"https://geeklandlinux.github.io/posts/repositorios-en-debian-testing/","summary":"\u003cp\u003eMe gustaría compartir con todos los repositorios que uso en debian testing. La primera vez que instale Debian la verdad es que me costo. Primero averiguar los que tenia que poner y a posteriori aunque los ponía correctamente me daban errores ya que recientemente se había cambiado el repositorio multimedia.\u003c/p\u003e","title":"Repositorios en Debian Testing"},{"content":"La mayoría de gente que quiere comprar un ordenador acostumbra comparar distintos tipos de parámetros entre las diferentes opciones que tiene disponible y siempre acaban eligiendo el que presenta sobre el papel unas prestaciones más elevadas. Es decir el que tiene mucha RAM, el que tiene mucha capacidad de almacenamiento, etc.\nBajo mi punto de vista en la informática esto es un error. No siempre tener un procesador muy rápido nos garantiza un mayor rendimiento o tener más RAM una mayor velocidad. ¿Porqué?\nAplicaremos el símil de una cadena de montaje para responder a esta pregunta. Si tenemos una cadena de montaje la productividad final es determinada por el cuello de botella de toda la cadena de montaje. En otras palabras si tenemos 10 máquinas que pueden fabricar 5000 piezas horas y la última máquina del proceso de producción solo puede fabricar 4000 piezas, la producción por hora serán 4000 piezas. Lo mismo pasa en los ordenadores. Por lo tanto de nada me servirá tener un procesador muy rápido si la placa base tiene una velocidad de bus baja.\nA modo genérico y vista la problemática redactaré una serie de puntos y parámetros a tener a la hora de comprar un ordenador:\nPUNTOS A TENER EN CUENTA AL COMPRAR UN ORDENADOR Punto 1. Que al comprar un ordenador los componentes sean compatibles con el sistema que voy a usar Que el fabricante o los componentes que elija sean compatibles con el sistema operativo que uso. Para los que usan Windows esto no es un problema pero en mi caso uso Linux y a veces te encuentras con el problema que cierto hardware no tiene drivers disponibles para Linux.\nPunto 2. Que al comprar un ordenador no lleve un sistema operativo instalado de serie Muchos ordenadores ya llevan sistemas operativos instalados de serie cuando los compras. Lo que muchos usuarios no saben es que en el momento que compran el ordenador están pagando por el sistema operativo que lleva instalado. En mi caso me niego que me impongan a pagar un sistema operativo que no uso ni usaré en mi ordenador personal. Para que usar Windows existiendo Linux?\nAdemas hay que tener en cuenta que en el momento en que sustituimos el sistema operativo que viene instalado de serie perdemos la garantía del ordenador.\nPunto 3. En caso de usar Linux asegurarnos que podremos instalar nuestra distro en el ordenador Al comprar un ordenador los usuarios de Linux también tienen que tener en cuenta uefi. Actualmente uefi está dificultando mucho la instalación de otros sistemas que no sean Windows. Hay que ir con cuidado a la hora de comprar ordenadores que ya llevan preinstalado Windows 8.\nPunto 4. Tener muy en cuenta el uso que queremos darle al ordenador Al comprar un ordenador tenemos que ajustar las prestaciones de los componentes al uso que le daremos a la máquina. La gran mayoría de personas usan el ordenador para navegar, mirar el correos, leer feeds y usar aplicaciones ofimáticas. Para este uso no hace falta comprar lo último que acaba de salir ni hace falta disponer de una gran máquina. Comprando un equipo con prestaciones medias vas más que sobrado y tu bolsillo lo agradecerá.\nEn este punto también tenemos que tener en cuenta si el ordenador lo queremos tener en casa o al contrario es un equipo que llevaremos encima siempre que salimos de casa. En el caso que siempre llevemos el ordenador encima tendremos que considerar buscar un equipo ligero y compacto.\nPunto 5. Elegir componentes de marcas reconocidas Al comprar un ordenador hay bajo mi punto de vista hay que asegurarse que la totalidad de componentes que compramos son de marcas reconocidas. Hay muchas marcas genéricas o desconocidas que a acostumbran a generar problemas como calentamientos, cuelgues, etc. Algunas de las marcas reconocidas son por ejemplo: Seagate , Western Digital, Kingston, Nvidia, ATI, Asus Gigabyte, VIA, Intel, Antec, Corsair, Seasonic, Three Hundred, Nzxt Phantom, HAF 91, etc.\nPunto 6. No por tener más RAM el ordenador nos irá más rápido Al comprar un ordenador no por tener una cantidad desmesurada de RAM nuestro ordenador irá más rápido. Para el uso descrito en el punto número 4 tener 8 gigas de RAM es una exageración, con 4 o incluso me atrevería decir 2 Gigas vas sobrado. El usuario no notará ninguna mejora por tener 2 u 8 Gigas de RAM. Por lo tanto quedaté con 4 Gb y ahorrarás dinero.\nPiensa que la RAM es un simple espacio donde están trabajando los programas en ejecución. Por lo tanto si tenemos 8Gb lo único que nos permitirá es lanzar más aplicaciones al mismo tiempo. El uso de mucha RAM solo es necesaria en el caso que nos queramos dedicar al tratamiento de vídeo o fotografía, diseño gráfico, necesidad de virtualizar sistemas operativos, etc.\nAdemás hay que tener en cuenta que hay memorias más rápidas y más lentas. En la actualidad existen distintos tipos de memorias DDR-SDRAM, DDR2 y DDR3. Dentro de cada uno de los tipos de memoria existen memorias que ofrecen mayor o menor velocidad. Por lo tanto en este punto tenemos que asegurarnos que el tipo de memoria que usamos sea compatible con nuestra placa madre y también asegurar que la velocidad de Bus de la placa base sea igual sea igual al bus de memoria de la memoria RAM.\nAsí por lo tanto si tenemos una placa base que admite memorias DDR2 y tiene una velocidad máxima de bus de 800 MHz lo más eficiente es elegir una RAM de DDR2 un FSB de 800MHz. Si usamos una memoria de 667MHz nuestro ordenador funcionará pero estaremos penalizando su rendimiento. En el ejemplo puesto nuestro ordenador rendirá más si disponemos de 4 Gb de memoria DDR2 con una velocidad de 800 MHz que no con 8 Gb de memoria DDR2 con una velocidad de 667 MHz.\nPunto 7. Elección del microprocesador al comprar un ordenador Al comprar un ordenador la gente se suele deslumbrar por las increíbles velocidades del procesador que se muestran en los folletos. Esto es un error. No es necesariamente más bueno el procesador que tiene más MHz. Los MHz que nos acostumbran a enseñar en los folletos corresponden a la velocidad interna que funciona el microprocesador o lo que es lo mismo a las operaciones que puede realizar este microprocesador por segundo y solo es una medida de fuerza bruta.\nAparte de la velocidad interna también tenemos que considerar la velocidad externa (frecuencia de reloj) de este procesador. La velocidad externa nos da la velocidad de comunicación entre el micro y la placa y por tanto nos da una idea de la velocidad de la comunicación entre el procesador y los distintos componentes de nuestro ordenador. Por lo tanto al comprar un ordenador también es interesante analizar la velocidad externa del procesador y asegurar que coincida con la velocidad de bus de la placa base y con la velocidad de la RAM.\nLa conclusión es que de nada nos sirve tener un microprocesador que opere muy rápido si la información que ha procesada viaja lentamente. Por lo tanto podemos tener un procesador muy rápido pero que puede llegar a ser un cuello de botella.\nPor lo tanto para haceros una idea si tenemos un procesador de 2 GHz con una velocidad externa de 800 MHz podemos decir que el rendimiento mucho mayor que otro procesador que tenga 2.6 GHz con una velocidad externa de 667 MHz.\nPor último decir que existen también existen procesadores que son más ideales para la virtualización de sistemas que no otros. En el caso de tener la necesidad de virtualizar sistema tener en cuenta este punto.\nPunto 8. Elección del disco duro al comprar un ordenador Respecto al disco duro la gente solo se acostumbra a fijarse en la la capacidad de almacenaje que tiene. Este es un parámetro importante pero también hay otros como por ejemplo la velocidad de escritura.\nLos mejores discos duros existentes en la actualidad son los SSD ya que son muchos más rápidos que los convencionales, no hacen ruido, son más pequeños, no existe la fragmentación, consumen menos pero tienen el problema que son caros. También existen los discos duros PATA (IDE) que personalmente intentaría evitar a toda costa. ¿Por qué?\nPorqué la velocidad de transmisión en estos discos es lenta y si se monta en ordenadores actuales podría llegar a representar un cuello de botella.\nPara terminar actualmente los discos duros más habituales en la actualidad son los discos duros SATA (SATA 2, SATA 3). En principio para un uso habitual los discos SATA no deberían presentar ningún problema. Cuantas más revoluciones por minuto tenga el disco duro más rápida será su velocidad de escritura y prestaciones.\nOtros parámetros a tener en cuenta:\n- Cache o tamaño del buffer: Cuanta más cache tenga el disco duro también podemos afirmar que mejores serán las prestaciones del disco.\n- Tiempo de acceso: A menor tiempo de acceso mayor rendimiento obtendremos\n- Velocidad de transmisión: A mayor Velocidad de transmisión mayor rendimiento. Normalmente este parámetro indicará la cantidad de datos Megas que un disco puede leer o escribir en un segundo.\nPunto 9. Elección de la tarjeta gráfica al comprar un ordenador Elegir una tarjeta adecuada en función de las aplicaciones que tengamos que realizar. Si no eres un gamer, ni un diseñador gráfico y simplemente usas el ordenador para navegar y para realizar cuatro trabajos con suites ofimáticas la mayoría de tarjetas integradas en las placas base te será suficiente.\nEn el caso de ser un usuario exigente hay que ir con cuidado a la hora de elegir una tarjeta gráfica. No hay que elegir la tarjeta gráfica exclusivamente por el tamaño de memoria de que esta disponga. La memoria RAM no es más que un simple espacio de almacenamiento. Los parámetros que hay que tener en cuenta a la hora de comprar una tarjeta gráfica son:\n1- De nada nos servirá tener una tarjeta de 1Gb de RAM si el chip gráfico que tiene que procesar el contenido almacenado en la memoria RAM es malo. La tarjeta gráfica hay que considerarla como un pequeño ordenador. Por lo tanto en un ordenador no nos sirve de nada tener mucha RAM si nuestro microprocesador es de bajo rendimiento.\n2- Para elegir microprocesador hay que analizar la frecuencia reloj del microprocesador. Cuanto mayor mayor sea la frecuencia mayor será el rendimiento siempre y cuando los valores del procesador estén equilibrados con el resto de componentes de la tarjeta gráfica.\n3- Existen distintos tipos de RAM para las tarjetas gráficas. En función de la velocidad que tienen se clasifican por tipos: GDDR2, GDDR3 o GDDR5. Por lo tanto existen memorias más rápidas y memorias más lentas.\n4- Analizar el ancho de banda de la tarjeta gráfica. Cuanto mayor sea el ancho de banda de la tarjeta mayor será la velocidad de comunicación entre el procesador de la tarjeta gráfica (GPU) y la memoria (RAM). El ancho de banda depende tanto de la velocidad o frecuencia que trabaja nuestra memoria así como el ancho de bus de la tarjeta. Así por lo tanto a mayor velocidad de la memoria o del ancho de bus mayor será el ancho de banda. Por lo tanto:\nSi tenemos una memoria DDR5 de 1502 MHz con un ancho de bus de 256 bits nuestro de banda será:\n(Frecuencia de la memoria) x (transferencia de datos por ciclo del tipo de memória que usamos) x (número de bits) = Ancho de banda\n1502 MHz x 4 transferencias por ciclo x 256 bits = (1.538.048 Mbit/s) / 8 = 192256 Bytes/s = 192.256 MB/s\n5- Hay que analizar el parámetro de la resolución máxima que vamos a necesitar. A mayor resolución gráfica requerida más potente tendrá que ser nuestra tarjeta.\n6- Ver las salidas que tiene la tarjeta gráfica. Ver y comprobar que tenga el número de salidas adecuadas para las utilidades que le queramos dar.\n7- Comprobar que nuestra placa base tenga un puerto PCI para poder conectar la tarjeta. Si el ordenador es antiguo probablemente tengo solo puertos AGP.\n8- Asegurar que nuestra fuente de alimentación tenga suficiente potencia para alimentar nuestra tarjeta gráfica. Si tiene potencia insuficiente nuestro ordenador tendrá un funcionamiento anormal y nuestra fuente se calentará y hará ruido.\nNota: El nombre usado para cada uno de los fabricantes de tarjetas gráficas os ayudará a discernir la calidad de una tarjeta gráfica. Punto 10. Elección de la fuente de alimentación al comprar un ordenador Muchos usuarios acostumbran a descuidarse de la fuente de alimentación al comprar un ordenador. Es más importante de lo que parece ya que en muchas ocasiones la fuente de alimentación es la responsable de cuelgues y problemas diversos. Tenemos que asegurarnos que los Watios que proporciona la fuente sean los necesarios para alimentar los componentes de nuestro ordenador dejando siempre un margen de seguridad. Si la fuente de alimentación va muy justa de potencia el ventilador hará mucho ruido y habrá un calentamiento excesivo. El rendimiento óptimo de trabajo de una fuente de alimentación se acostumbra a obtener cuando consume un 50 % de su potencia nominal .También es aconsejable que sea de una marca reconocida como por ejemplo Antec, Corsair, Enermax, Fortron, Seasonic.\nLa función de una fuente de alimentación es transformar corriente de alterna a continua y alimentar los componentes del ordenador. Existen varias tecnologías para el proceso de transformación de corriente alterna a continua. Actualmente las fuentes con PFC Activo son las que realizar el proceso de transformación más eficiente. Por lo tanto PFC activo será más eficazmente que PFC Pasivo.\nLas tarjetas gráficas de gama alta o algunos procesadores pueden requerir de mucha energía para alimentarlas. Por lo tanto al elegir la tarjeta gráfica es interesante analizar la fuente de alimentación que tenemos disponible y la cantidad de amperaje que nos puede ofrecer cada linea para saber si nuestra fuente es adecuada. Para ellos debemos fijarnos en las pegatina que llevan las fuentes de alimentación.\nPunto 11. Elección del disipador de calor al comprar un ordenador Existen distintos tipos de disipadores en el mercado. Los puntos a tener en cuenta cuando queremos comprar o elegir un disipador de calor:\n- Asegurar que el disipador elegido se pueda acoplar a nuestra placa base y haya suficiente espacio para ubicarlo dentro de nuestra torre.\n- Utilidad que vamos a dar nuestro ordenador. Si exigimos un alto rendimiento a nuestro ordenador con tareas como renderización de películas, tratamiento de vídeo o si realizas overclocking entonces hay que tener especial atención y sobredimensionar nuestro disipador de calor.\n- Si nos importa o no el ruido. En función de si nos importa el ruido deberemos elegir un disipador más o menos silencioso.\nEn el mercado existen multitud de disipadores y por lo tanto en función de los puntos citados anteriormente tendremos que elegir el que más nos conviene. En el caso de dar un uso normal a nuestro ordenador los disipadores estandard cumplirán con su función.\nPunto 12. Elección de la placa base al comprar un ordenador Los factores a considerar para una elección óptima de una placa base son los siguientes:\nPlaca base integrada o pura\nPara empezar decir que existen placas base integradas y placas bases puras. Por lo tanto debemos elegir una de las 2 en función de nuestras necesidades.\nLas placas base integradas integran normalmente la tarjeta de red y video en la misma placa base y normalmente tienes menos puertos PCI para poder incorporar hardware adicional.\nLas ventajas de las placas integradas son la reducción del coste y el ahorro en espacio ya que tenemos todos los controladores y chips en una misma placa y un menor calentamiento principalmente debido a que los componentes que usan no son muy potentes.\nLas principales desventajas de las placas integradas son el bajo rendimiento principalmente de la tarjeta de vídeo ya que acostumbran a ser de baja calidad, Perjudican el rendimiento de nuestro ordenador ya que los componentes integrados en la placa usan la RAM del sistema para funcionar, menores posibilidades de ampliación y en caso de que un elemento se estropee no tendremos posibilidad de reemplezar el elemento.\nReferente a las placas puras tendrán la gran ventaja de poder elegir los componentes que nosotros queramos pudiendo elegir siempre componentes de mayor calidad y como contrapartida principal podemos destacar que el desembolso económico total que tendremos que efectuar será mucho mayor que no en el caso anterior.\nEn definitiva si usamos el ordenador simplemente para navegar, chatear, ver vídeos y escribir y por lo tanto no realizamos tareas como procesamiento de vídeo imagen y si no acostumbramos a jugar con juegos un placa base integrada puede llegar a ser suficiente.\nSocket de la placa base\nEs importante analizar el tipo socket de la placa base y su consumo máximo admisible. De está forma podremos analizar que procesadores podemos acoplar a nuestra placa y en cierto modo será un factor que determina las futuras posibilidades de ampliación que tiene el ordenador.\nVelocidad de bus de la placa\nCuanto más alta sea la velocidad de bus de la placa más posibilidades de ampliación tendrá nuestra placa. Según lo visto en el post la velocidad de bus de la placa tiene que ir en consonancia con la frecuencia de trabajo de la memoria RAM y del microprocesador.\nAnalizar las características que ofrece la placa base y analizar los componentes que podemos instalar en ella:\nAlgunos de los datos a analizar son:\nEl número de slots de memoria que tiene la placa (2 o 4), los tipos de memoria RAM admisible (DDR2, DDR3, etc) , cantidad máxima de RAM que admite nuestra placa base, tipo de procesador que podemos instalar (AMD, INTEL), número y tipo de ranuras PCI disponibles (PCI 1x. PCI 2.2), Tipo y número de tarjetas de red (10/100 - 100/1000 ), número y tipos de conectores disponibles para el disco duro (IDE, SATA 2, SATA 3), que la placa tenga posibilidad de arranque remoto, número y tipo de conectores USB (1.0 - 2.0), analizar si la placa dispone de conectores SATA externos, si tiene soporte por hardware para RAID0, RAID1 y JBOD, Conectores de entrada y salida de la tarjeta (Serie, paralelo, lan, USB audio, etc), etc.\nPunto 13. Torre del ordenador y ventilación La torre del ordenador tenemos que asegurarnos que elimine el calor que generan nuestros componentes de forma eficaz. Si los componentes que elegimos son potentes precisaremos de una caja más gran y con mayor capacidad para eliminar el calor. Como contrapartida los equipos de gama más baja la torre del ordenador no tiene tanta importancia.\nPor lo tanto en función del uso que queremos dar al ordenador deberemos analizar que la torre sea suficientemente espaciosa para colocar el disipador que necesitamos, que traiga soportes para añadir ventiladores adicionales, filtros antipolvo, tipo de acabados, estética, etc.\nEn resumen: A la hora de comprar un ordenador no hay que hacer mucho caso a lo que dicen los folletos o incluso a lo que nos pueden contestar los dependientes de una tienda. Pensad que un vendedor de una tienda te intentará vender lo que a el le interese mientras que los folletos simplemente dan una información incompleta. Por lo tanto el único remedio a la hora de comprar un ordenador es investigar y pasar horas analizando sus componentes.\n","permalink":"https://geeklandlinux.github.io/posts/consejos-para-comprar-un-ordenador/","summary":"\u003cp\u003eLa mayoría de gente que quiere comprar un ordenador acostumbra comparar distintos tipos de parámetros entre las diferentes opciones que tiene disponible y siempre acaban eligiendo el que presenta sobre el papel unas prestaciones más elevadas. Es decir el que tiene mucha RAM, el que tiene mucha capacidad de almacenamiento, etc.\u003c/p\u003e","title":"Consejos para comprar un ordenador"},{"content":"En este post el objetivo será ver como realizar acciones personalizadas en thunar. Primeramente veremos los pasos detallados para definir una acción y a posteriori citaremos la serie de comandos a introducir para ir crear distintas acciones personalizas.\nPASO 1. Abrir el gestor de Arhivos Thunar PASO 2. Ir al menu Editar y elegir Configurar acciones personalizadas PASO 3. Le damos al símbolo + que podéis ver en la imagen inferior: PASO 4. Introducir los datos pertinentes en la pestaña básico: Campo nombre: Introducir el nombre que nos saldrá una vez le damos al botón derecho del mouse para poder aplicar las acciones personalizadas creadas. Por Ejemplo si queremos crear un enlace simbólico pondremos:\nCrear enlace simbólico Campo Descripción: Introducir una descripción de lo que hará nuestra acción personalizada. En el caso que estemos creando un enlace simbólico:\nCrear enlace simbólico Campo Comando: Introducir el comando que queremos que se ejecute. Por ejemplo para realizar un enlace simbólico el comando a ejecutar es:\nln -s %f \u0026#39;%n (enlace)\u0026#39; Si clicamos encima del botón Icono podremos elegir un icono para la acción personalizada que queremos crear. En nuestro caso por ejemplo elegimos el siguiente icono para el enlace simbólico:\nPASO 5. Introducir los datos pertinentes en la pestaña Condiciones de apariencia En este paso tenemos que elegir bajo que condiciones aparecerá nuestro menú contextual. En el caso de crear enlaces simbólicos podemos decir que el 90% de los casos lo vamos a realizar en carpetas y archivos. Por lo tanto como podeis ver en el menú de arriba seleccionamos Directorios y Archivos de texto. De esta manera cada vez que seleccionemos un archivo de texto o una carpeta y presionamos el botón derecho del mouse nos apareza una opción llamada crear enlace simbólico.\nEn El momento que hayamos presionado Crear enlace simbólico ya lo habremos creado.\nOTRAS ACCIONES PERSONALIZADAS QUE PODEMOS CREAR Visto como crear una acción personalizada seguidamente indicamos como rellenar los distintos campos para poder crear más acciones personalizadas.\nCrear Un enlace simbólico o acceso directo El ejemplo que acabamos de ver es el siguiente:\nCampo Nombre: Crear enlace simbólico Campo Descripción: Crear enlace simbólico Campo Comando: ln -s %f \u0026#39;%n (enlace)\u0026#39; Sin icono: Elegir el icono que se crea conveniente, por ejemplo el icono de enlace simbólico. Si no se quiere que aparezca ninguno dejar sin icono.\nEn la pestaña condiciones de apariencia marcar las siguientes opciones: Directorios, Archivos de texto\nAbrir una terminal como root En el caso que estamos navegando con thunar y deseemos abrir una terminal en modo root en la ruta que estamos en este momento:\nCampo Nombre: Abrir terminal como root Campo Descripción: Abrir terminal como root Campo Comando: gksu \u0026#34;xfce4-terminal --working-directory %f\u0026#34; Sin icono: Elegir el icono que se crea conveniente. Si no se quiere que aparezca ninguno dejar sin icono.\nEn la pestaña condiciones de apariencia marcar las siguientes opciones: Directorios\nAbrir un directorio como root En el caso que deseemos abrir una carpeta en modo root:\nCampo Nombre: Abrir directorio como root Campo Descripción: Abrir directorio como root Campo Comando: gksu Thunar %F Sin icono: Elegir el icono que se crea conveniente. Si no se quiere que aparezca ninguno dejar sin icono.\nEn la pestaña condiciones de apariencia marcar las siguientes opciones: Directorios\nBuscar un archivo con catfish En el caso que deseemos buscar un archivo dentro de una determinada carpeta:\n- Primero tenemos que asegurar que tenemos instalado catfish. En el caso de no tenerlo instalado procedemos a su instalación mediante:\nsudo apt-get install catfish - Seguidamente seguimos los pasos para crear las acciones personalizadas mediante los siguientes parámetros:\nCampo Nombre: Buscar archivo Campo Descripción: Buscar archivo Campo Comando: catfish --path %f Sin icono: Elegir el icono que se crea conveniente, Por ejemplo una lupa. Si no se quiere que aparezca ninguno dejar sin icono.\nEn la pestaña condiciones de apariencia marcar las siguientes opciones: Directorios\nPegar un archivo en el escritorio Como muchos saben XFCE 4.8 no permite copiar un archivo, ir al escritorio, accionar el botón derecho del mouse y pegar. Simplemente cuando le damos al botón derecho del mouse la opción pegar siempre estará desactivada. Para solucionar esto podemos configurar la siguiente acción personalizada:\nCampo Nombre: Pegar en el escritorio Campo Descripción: Pegar en el escritorio Campo Comando: cp -a %N ~/Escritorio/ | (zenity --title=\u0026#34;Copiando...\u0026#34; --progress --auto-close --no-cancel --text=\u0026#34;Copiando archivos en el Escritorio.nEspere por favor...\u0026#34; --percentage=70) Sin icono: Elegir el icono que se crea conveniente. Si no se quiere que aparezca ninguno dejar sin icono.\nEn la pestaña condiciones de apariencia marcar las siguientes opciones: Directorios, Archivos de texto, Archivos de sonido, Archivos de imagen, Archivos de vídeo, Otros archivos\nDe esta forma cada vez que le damos al botón derecho del mouse sobre cualquier archivo nos dará la opción de copiar automáticamente en el escritorio.\nEditar un archivo como root En el caso que necesitemos modificar un archivo mediante un editor de texto y lo tengamos que hacer en modo root podemos aplicar la siguiente acción personalizada para facilitar el trabajo:\nCampo Nombre: Editar como root Campo Descripción: Editar como root Campo Comando: gksu gedit %f Sin icono: Elegir el icono que se crea conveniente. Si no se quiere que aparezca ninguno dejar sin icono.\nEn la pestaña condiciones de apariencia marcar las siguientes opciones: Archivos de texto\nNota: En el caso que no utilicéis gedit en el campo Comando tendréis que sustituir gedit por el editor de texto que uséis. Abrir una determinada carpeta con Nautilus En mi caso esta acción personalizada la uso simplemente para dropbox. Otras personas la pueden usar para diferentes propósitos Como saben Dropbox viene de serie para que la integración sea perfecta en Nautilus. Por lo tanto si estoy en Thunar y quiero abrir la misma ubicación de Thunar en Nautilus utilizo esta acción personalizada:\nCampo Nombre: Abrir con nautilus Campo Descripción: Abrir con nautilus Campo Comando: nautilus --no-desktop Sin icono: Elegir el icono que se crea conveniente, por ejemplo el icono de nautilus. Si no se quiere que aparezca ninguno dejar sin icono.\nEn la pestaña condiciones de apariencia marcar las siguientes opciones: Directorios\nNota: Existen formas de integrar dropbox con thunar pero provienen de fuentes de terceros y la verdad prefiero usar nautilus puntualmente solo para dropbox. Convertir archivos de libreoffice a pdf En el caso que deseemos transformar archivos en formato odt, doc, xls, etc. a pdf de forma fácil mediante 2 clics de mouse podemos utilizar la siguiente acción personalizada:\n- Antes de crear la acción personalizada asegurar que tenemos instalado el paquete unoconv. En caso de no tenerlo instalado instalarlo mediante el siguiente comando:\nsudo apt-get install unoconv - Seguidamente seguimos los pasos para crear las acciones personalizadas mediante los siguientes parámetros:\nCampo Nombre: Convertir a pdf Campo Descripción: Convertir a pdf Campo Comando: unoconv -f pdf %F Sin icono: Elegir el icono que se crea conveniente, por ejemplo el icono de evince. Si no se quiere que aparezca ninguno dejar sin icono.\nEn la pestaña condiciones de apariencia marcar las siguientes opciones: Otros archivos\nConvertir de DOC y DOCX a ODT En el caso que deseemos transformar archivos en formato doc, docx a dot de forma fácil mediante 2 clics de mouse podemos utilizar la siguiente acción personalizada:\n- Antes de crear la acción personalizada asegurar que tenemos instalado el paquete unoconv. En caso de no tenerlo instalado instalarlo mediante el siguiente comando:\nsudo apt-get install unoconv - Seguidamente seguimos los pasos para crear las acciones personalizadas mediante los siguientes parámetros:\nCampo Nombre: Convertir de doc a odt Campo Descripción: Convertir de doc a odt Campo Comando: unoconv -f odt %F Sin icono: Elegir el icono que se crea conveniente, por ejemplo el icono de writer. Si no se quiere que aparezca ninguno dejar sin icono.\nEn la pestaña condiciones de apariencia marcar las siguientes opciones: Otros archivos\nEscuhar una muestra de un archivo de audio En el caso que deseemos escuchar una muestra de un archivo de audio podemos utilizar la siguiente acción personalizada:\n- Antes de crear la acción personalizada asegurar que tenemos instalado el paquete mplayer. En caso de no tenerlo instalado instalarlo mediante el siguiente comando:\nsudo apt-get install mplayer - Seguidamente seguimos los pasos para crear las acciones personalizadas mediante los siguientes parámetros:\nCampo Nombre: Escuchar muestra de audio Campo Descripción: Escuchar muestra de audio Campo Comando: mplayer %f -really-quiet -ss 50 -endpos 15 Nota: El comando ss indica el segundo en que se inicia la reproducción, en nuestro caso el segundo 50, y el comando endpos indica el segundo en que se termina la reproducción, en nuestro caso 5 segundos. Sin icono: Elegir el icono que se crea conveniente, por ejemplo el icono de cualquier reproductor musical. Si no se quiere que aparezca ninguno dejar sin icono.\nEn la pestaña condiciones de apariencia marcar las siguientes opciones: Archivos de sonido\nDespués de ver la potencia de Thunar me pregunto como he podido durante tanto tiempo usar nautilus\u0026hellip; En este post solo hay una muestra de las posibilidades que nos ofrece thunar. Se pueden realizar muchas más acciones como por ejemplo transformar automáticamente formatos de imagen, de video, etc.\n","permalink":"https://geeklandlinux.github.io/posts/acciones-personalizadas-en-thunar/","summary":"\u003cp\u003eEn este post el objetivo será ver como realizar acciones personalizadas en thunar. Primeramente veremos los pasos detallados para definir una acción y a posteriori citaremos la serie de comandos a introducir para ir crear distintas acciones personalizas.\u003c/p\u003e","title":"Acciones personalizadas en Thunar"},{"content":"Hoy veremos como instalar dropbox para poderlo usar sin ningún tipos de problema en sistemas dual boot. Hay muchos usuarios que tienen un Dual boot con windows y alguna de las muchas distros de Linux existentes. Para poder acceder al contenido de dropbox tanto en linux como en windows sin tener necesidad de duplicar el contenido tenemos que instalar dropbox de la siguiente forma:\nPASO 1. Montar la partición NTFS o FAT adecuadamente para que Dropbox funcione tanto en Windows como en Linux 1- La Ubicación de la carpeta de Dropbox tiene que ser una unidad NTFS que sea accesible mediante Windows y mediante Linux. En mi caso es una partición en formato NTFS de 200 gigas que uso tanto para Linux como para Windows con el fin de almacenar información.\n2- En Linux para que dropbox funcione adecuadamente en una partición NTFS, esta debe montarse en el arranque del sistema. Para montar la partición NTFS adecuadamente y con los permisos correspondientes consultar el siguiente link:\nhttps://geeklandlinux.github.io/posts/montar-particion-ntfs-fat-o-ext4-en-el-arranque-del-sistema/\nPASO 2. Instalar dropbox en cada uno de los SO operativos que tenemos dentro del mismo ordenador 1- Descargamos el paquete adecuado en función del sistema operativo que estamos usando. Para ello consultar el siguiente link:\nhttps://www.dropbox.com/install\n2- Una vez descargado el fichero procedemos a su instalación mediante el instalador de paquetes que disponga nuestro equipo. En este post se muestra el proceso de instalación en GNU Linux. Para windows el proceso es similar. En las siguientes imágenes se pueden ver las pasos que hay que ir siguiendo:\n- Instalamos el paquete descargado de la página de dropbox mediante cualquier instalador de paquetes existente. En mi caso he usado Gdebi.\n- Una vez instalado el paquete, como podeis ver en la imagen, ejecutamos el siguiente comando en la terminal:\ndropbox start -i - Como se puede ver en la imagen al teclear el comando empezará la instalación de dropbox.\n- Una vez terminado el proceso de instalación solo hace falta configurar la cuenta. En mi caso Como ya tengo una cuenta creada elijo la opción \u0026ldquo;Ya tengo una cuenta creada\u0026rdquo; y le damos a siguiente.\n- Introducimos los detalles de nuestra cuenta que ya tenemos creada y le damos a Siguiente. En el caso de tener que crear una cuenta nueva el proceso es muy sencillo.\n- Elegimos nuestro tipo de cuenta. En mi caso de la de 2GB y le damos a siguiente.\n- Elegimos configuración avanzada para poder instalar nuestra carpeta de dropbox en la ubicación NTFS.\n- En la configuración avanzada indicamos la ruta donde queremos ubicar la carpeta de sincronización de Dropbox. En nuestro caso la ubicaremos en una unidad NTFS que sea común tanto en Windows como en Linux. Cuando repitamos el proceso de instalación en Windows debemos indicar exactamente la misma ruta. Una vez terminamos le damos a siguiente.\n- Seguidamente en mi caso elijo que quiero sincronizar la totalidad de carpetas. Es vuestra elección. Le damos a instalar.\n- Ya hemos terminado de instalar dropbox. Simplemente nos falta seguir la visita guiada. En mi caso elegiré saltar la visita guiada.\n- Ya hemos completado los pasos necesarios para instalar dropbox. Ahora simplemente tenemos que instalar dropbox en Windows. Durante el proceso de instalación es importante que elijamos la misma ubicación de la carpeta que en Linux. De esta manera conseguiremos usar dropbox en un sistema Dual boot sin necesidad de duplicar el contenido en el disco duro.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-dropbox-en-una-particion-ntfs-en-linux/","summary":"\u003cp\u003eHoy veremos como instalar dropbox para poderlo usar sin ningún tipos de problema en sistemas dual boot. Hay muchos usuarios que tienen un Dual boot con windows y alguna de las muchas distros de Linux existentes. Para poder acceder al contenido de dropbox tanto en linux como en windows sin tener necesidad de duplicar el contenido tenemos que instalar dropbox de la siguiente forma:\u003c/p\u003e","title":"Instalar Dropbox para compartirlo entre Linux y en Windows"},{"content":"En este post veremos como instalar los drivers Nvidia privativos en Debian. Cuando instalamos Debian si nuestra targeta es NVIDIA los drivers que se instalan por defecto son los Nouveau. Los drivers Nouveau funcionan perfectamente pero en el caso que desees o necesites exprimir tu tarjeta gráfica al máximo la mejor opción sigue siendo usar los drivers privativos de NVIDIA.\nLos pasos para instalar los drivers Nvidia privativos en Debian desde repositorios\nPASO 1. ASEGURAR QUE TENEMOS UNA TARJETA GRÁFICA NVIDIA Para asegurarnos que nuestra tarjeta es Nvidia usamos el siguiente comando en la terminal:\nlspci | grep VGA El resultado que obtengo en mi caso es:\n02:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 8400 GS] (rev a2)\nPor lo tanto claramente dispongo de una terjeta Nvidia GeForce 8400 GS\nPASO 2. ASEGURAR QUE TENEMOS LOS REPOSITORIOS NON-FREE DE DEBIAN ACTIVADOS Para saber si tenemos los repositorios no libre tenemos que acceder al contenido del archivo sources.list. Para ello introducimos el siguiente comando.\nsudo gedit /etc/apt/sources.list Si estamos usando Debian Testing tenemos que comprobar que dentro del archivo estén disponibles las siguientes lineas:\ndeb http://ftp.de.debian.org/debian/ testing main contrib non-free deb-src http://ftp.de.debian.org/debian/ testing main contrib non-free Si estamos usando Debian Sid comprobar que las siguientes lineas están disponibles:\ndeb http://ftp.it.debian.org/debian/ unstable main contrib non-free deb-src http://ftp.it.debian.org/debian/ unstable main contrib non-free Si estamos usando Debian Stable comprobar que las siguientes lineas están disponibles:\ndeb http://ftp.us.debian.org/debian/ stable main contrib non-free deb-src http://ftp.us.debian.org/debian/ stable main contrib non-free Nota: En caso de no existir introducir estas lineas en el archivo introducirlas y a posteriori comentar las lineas que corresponden a los repositorios libres.\nPASO 3. ACTUALIZAR EL CONTENIDO DE LOS REPOSITORIOS Para actualizar el contenidos de los repositorios tecleamos el siguiente comando en la terminal:\nsudo apt-get update PASO 4. INSTALAR LOS DRIVERS NVIDIA PRIVATIVOS Abrimos el gestor de paquetes synaptic y hacemos un filtro rápido con la palabra Nvidia.\nInstalamos los siguientes paquetes:\nEl primero paquete que tenemos que instalar es el paquete nvidia-kernel-(tuversion de kernel). En mi caso como se puede ver en la imagen , el paquete a instalar es nvidia-kernel-3.2.0-4-amd64. Instalamos el paquete nvidia-glx Instalamos el paquete nvidia-xconfig Instalamos el paquete nvidia-settings Nota: Para saber la versión de Kernel que estamos usando tan solo tenemos que abrir una terminal y teclear el comando uname -r PASO 5. CONFIGURACIÓN DE LA TARJETA GRÁFICA Para configurar automáticamente la tarjeta gráfica podemos ejecutamos el siguiente comando en la terminal:\nsudo nvidia-xconfig PASO 6. EVITAR CONFLICTOS ENTRE EL DRIVER NOUVEAU Y NVIDIA Para evitar problemas entre el driver Nouveau y Nvidia tenemos que añadir el driver Nouveau a nuestra lista negra. Para ello:\nsudo gedit /etc/modprobe.d/fbdev-blacklist.conf Nota: En este paso hay que ir con cuidado. Si estáis usando una versión antigua de Debian es posible que la ubicación del archivo para poner los drivers Nouveau en la lista negra se halle en la siguiente ubicación: /etc/modprobe.d/blacklist.conf Dentro del archivo añadir el siguiente texto y guardar:\nblacklist nouveau PASO 7. REINICIAR EL ENTORNO GRÁFICO Ya solo resta reiniciar el entorno gráfico. Para ellos podemos sencillamente reiniciar el ordenador. Ahora en el caso que deseemos ajustar la configuración de nuestra tarjeta solo tenemos que ejecutar el siguiente comando en la terminal:\nnvidia-settings Estos simples pasos nos permiten instalar los drivers Nvidia privativos en Debian de forma fácil y sencilla.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-los-drivers-nvidia-privativos/","summary":"\u003cp\u003eEn este post veremos como instalar los drivers Nvidia privativos en Debian. Cuando instalamos Debian si nuestra targeta es NVIDIA los drivers que se instalan por defecto son los Nouveau. Los drivers Nouveau funcionan perfectamente pero en el caso que desees o necesites exprimir tu tarjeta gráfica al máximo la mejor opción sigue siendo usar los drivers privativos de NVIDIA.\u003c/p\u003e\n\u003cp\u003eLos pasos para instalar los drivers Nvidia privativos en Debian desde repositorios\u003c/p\u003e","title":"Instalar los Drivers Nvidia privativos en Debian"},{"content":"PASO 1. Conocer la denominación de la partición que queremos montar\nPara montar cualquier partición en GNU Linux una vez arrancamos el sistema lo primero que tenemos que tener claro la denominación de la partición que vamos a montar. Para conocerla entramos en la terminal:\nsudo fdisk -l y obtenemos:\nEn nuestro bemos que la denominación de nuestra unidad NTFS es /dev/sda7 . Por lo tanto en nuestro caso montaremos la partición sda7.\nPASO 2. Conocer el punto de montaje y tipo de la unidad que vamos a montar\nAhora tenemos que averiguar el punto de montaje de nuestra unidad. Para ello en la terminal tecleamos:\nsudo blkid /dev/sda7 Nota: Usamos sda7 porqué es la unidad que queremos montar.\nEn la imagen vemos claramente que: El punto de montaje es 8626904F269041DB El tipo de unidad que queremos montar es NTFS. Nota: Otra forma alternativa de encontrar el punto de montaje es mediante el comando:\nls -l /dev/disk/by-uuid PASO 3. Crear la carpeta donde se montará nuestra partición\nDentro de la ubicación /media tenemos que crear la carpeta donde se montará nuestra partición. En mi caso quiero que se denomine DATOS. Por lo tanto ejecutamos los siguientes comandos:\nsudo mkdir /media/DATOS PASO 4. Configurar que cada que arranquemos el sistema se monte la unidad\nPara decirle a nuestro sistema que monte la unidad debemos configurar el archivo /etc/fstab. Por lo tanto usamos el comando:\nsudo nano /etc/fstab Montar unidad NTFS\nUna vez abierto el archivo si queremos montar nuestra unidad del tipo NTFS debemos añadir la siguiente linea:\nUUID=XXXXXXXXXXXXX /media/carpeta de montaje ntfs-3g default\\_permissions,uid=1000 0 0 Por lo tanto en nuestro caso seria:\nUUID=**8626904F269041DB** /media/**DATOS** ntfs-3g default\\_permissions,uid=1000 0 0 Montar unidad FAT\nPara montar una unidad FAT usar:\nUUID=XXXXXXXXXXXX /media/carpeta de montaje vfat rw,uid=1000,gid=1000 0 0 Montar unidad ext4\nPara montar una unidad EXT4 usar:\nUUID=XXXXXXXXXXXX /media/carpeta de montaje ext4 errors=remount-ro 0 1 ","permalink":"https://geeklandlinux.github.io/posts/montar-particion-ntfs-fat-o-ext4-en-el-arranque-del-sistema/","summary":"\u003cp\u003e\u003cstrong\u003ePASO 1. Conocer la denominación de la partición que queremos montar\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003ePara montar cualquier partición en GNU Linux una vez arrancamos el sistema lo primero que tenemos que tener claro la denominación de la partición que vamos a montar. Para conocerla entramos en la terminal:\u003c/p\u003e","title":"Montar Partición NTFS, FAT o ext4 en el arranque del sistema"},{"content":"1. Instalación y configuración 1.0- Montar Partición NTFS, FAT o ext4 en el arranque del sistema 1.1- Mis repositorios en Debian Testing y otras ramas 1.2- Mezclar paquetes de distintas ramas en Debian mediante el apt-pinning 1.3- Obtención de los paquetes que tenemos instalados en Debian separados por rama 1.4- Habilitar el Window tiling en XFCE 4.8 y en otros entornos de escritorio que no lo tienen de serie 1.5- Liberar memoria cache de nuestra memoria RAM 1.6- Optimizar el uso de la memoria Swap 1.7- Optimizar el uso del sistema mediante Zram 1.8- Incrementar la velocidad de ejecución de nuestras aplicaciones con Preload 1.9- Incrementar la velocidad de ejecución de las aplicaciones con Prelink 1.10- Aligerar nuestro sistema operativo con el uso de Zswap 1.11- Instalar, personalizar y configurar Lightdm en cualquier distro 1.12- Configurar IP fija en un servidor sin entorno gráfico 1.13- Elegir el repositorio de Debian más rápido 1.14- Que es, para que sirve y como cambiar el nombre del equipo o hostname en Linux 1.15- Conectarse a una red Wifi sin disponer de entorno gráfico ni de un gestor de redes 1.16- Mejorar el aspecto de las aplicaciones Qt en Xfce 1.17- Crear atajos de teclado en XFCE y ejemplos de atajos de teclado 1.18- Como retener paquetes en Debian y en distribuciones derivadas de Debian 1.19- Explicación de la estructura de directorios en Gnu-Linux 1.20- Utilizar el repositorio Backports en Debian estable 1.21- ¿Qué son las librerías GTK? ¿Qué versión de librerías GTK usan nuestros programas? 1.22- Instalar fuentes tipográficas en Linux 1.23- Configurar sudo para poder administrar un sistema operativo de forma segura 1.24- Crear atajos de teclado a los elementos de un menú en XFCE 1.25- Activar los repositorios privativos en Debian 1.26- Explicación de los directorios que contienen archivos temporales en Linux 1.27- Borrar los achivos temporales de forma periódica y automática con systemd 1.28- Crear un archivo de swap como espacio de intercambio 1.29- ¿Cómo gestionar los módulos del kernel en Linux de forma sencilla? 1.30- Consejos para conseguir el renderizado de fuentes perfecto en cualquier distro Linux 1.31- Instalar y configurar Tracker para buscar archivos por su contenido 1.32- Como cambiar el nombre de nuestra interfaz de red de forma permanente y provisional 1.33- ¿Qué son los repositorios en GNU-Linux? ¿Qué ventajas nos proporcionan? 1.34- Hacer que los programas en qt5 se integren con los temas GTK 1.35- Como arrancar en modo consola en cualquier distribución Linux 1.36- Poner las páginas man o manpages en Español 1.37- Características de la totalidad de repositorios que podemos añadir en Ubuntu y Linux Mint 1.38- Diferencias entre pkexec y gksudo y porque se abandona gksudo 1.39- Reparar paquetes rotos en distros con el gestor de paquetes apt-get 1.40- Reemplazar el icono de una carpeta por una imagen miniatura o Thumbnail en XFCE 1.41- Instalar el lector de Feeds Tiny Tiny RSS en un servidor Ubuntu 1.42- Mejorar la seguridad del lector de feeds Tiny Tiny RSS 1.43- Cambiar el modo de vblank en XFCE para evitar que el servidor gráfico se caiga 1.44- Instalar y configurar VIM para iniciarse en su uso 1.45- Configurar la hora en Linux desde la terminal 1.46- Como poner la terminal de Linux en Español 1.47- Instalar, configurar y usar el gestor de ventanas i3 en Linux 1.48- Solución en el caso que un script se ejecute en la terminal pero no en Cron 1.49- Solución a la advertencia Possible missing firmware /lib/firmware/ 1.50- Visualizar imágenes en formato webp en Linux 1.51- Ver miniaturas o thumbnails de las imágenes webp en Thunar 1.52- Configurar separación entre ventanas y los bordes en i3 1.53- Mostrar el título de las ventanas en el panel de i3 1.54- Habilitar os-prober para que el grub pueda detectar los sistemas operativos 1.55- Configurar la pantalla o el monitor con Xrandr 1.56- Establecer aplicaciones predeterminadas en Linux desde la terminal\n2. Internet, redes y navegadores 2.0- Instalar Thunderbird y Firefox en Debian 2.1- Como Conectarse a un servidor VPN gratuito y ventajas que se obtendrán 2.2- ¿Qué es la Deep Web? Acceder a la Deep Web de forma Segura 2.3- Que es un servidor Proxy y pasos para conectarse a un Servidor Proxy 2.4- Instalar Tails para ser completamente anónimo y poder navegar con seguridad por la Deep Web 2.5- ¿Qué son los DNS?, Explicación de cómo funcionan y como elegir los mejores para navegar más rápido por internet 2.6- Detalle de como conectarse a páginas web restringidas en el trabajo 2.7- ¿Qué es es un firewall?, ¿Para que sirve?, ¿Cómo funciona?, ¿Qué limitaciones tiene? 2.8- Como configurar el firewall en linux de forma fácil, rápida y efectiva 2.9- ¿Qué es un túnel SSH? ¿Qué utiliadades podemos dar a un túnel SSH? 2.10- Establecer un túnel SSH para poder navegar de forma segura en redes locales peligrosas 2.11- Redireccionar la totalidad de tráfico de nuestro ordenador a un servidor Proxy socks con Tsocks 2.12- Acceder a nuestro ordenador o servidor cuando estamos fuera de nuestra red local 2.13- Motivos para cifrar y firmar nuesto correo electrónico 2.14- Enviar mails cifrados y firmados de forma sencilla y prácticamente automática 2.15- Como compartir internet mediante la creación de una red Ad hoc y usos que podamos dar a una red Ad hoc 2.16- Encadenar servidores proxy con proxychains para preservar nuestra privacidad e identidad 2.17- Crear y configurar nuestro propio servidor VPN con pptpd. Instrucciones para conectarte al servidor con Android y Linux 2.18- Instalar y configurar nuestro propio servidor OpenVPN con Dnsmasq y TLS-Auth 2.19- Pasos para conectarse a un servidor OpenVPN desde iOS 2.20- Como conectarse a un servidor OpenVPN con Windows 2.21- Mac Address, ¿Qué es? Usos que tiene y motivos para cambiarla 2.22- Comprobar que nuestra conexión a Internet ADSL funciona correctamente 2.23- Conectarse a un servidor SSH sin introducir la contraseña mediante un par de claves asimétricas 2.24- Crear y configurar nuestro propio servidor SFTP enjaulado 2.25- Instalar un servidor web LAMP accesible de forma local y remota 2.26- Instalar un servidor Owncloud con https y WebDAV 2.27- Conectarse a un Servidor Owncloud con WebDAV 2.28- Montar un sistema de archivos remoto con SSHFS 2.29- Mis motivos para no usar el navegador Firefox 2.30- Explicación de los que son los servicios en la nube 2.31- Como configurar y usar el corrector ortográfico en Chrome y en Chromium 2.32- Consejos y técnicas para búsquedas en el buscador de Google 2.33- Pasos para Configurar No-IP en un Router Comtrend 2.34- Detectar cortes en la conexión de internet con los logs del Router 2.35- Instalar y configurar las extensiones en el navegador Microsoft Edge 2.36- Explicación de lo que es y como funciona la red Tor 2.37- Instalar los drivers de nuestra tarjeta de red Wifi en Debian 2.38- Como configurar y usar el corrector ortográfico en Mozilla Firefox 2.39- Instalar y usar extensiones de Google Chrome en Opera 2.40- Montarse un servidor Multimedia con nuestro router y un disco duro 2.41- Como cambiar la MAC Address en Linux con NetworkManager 2.42- Brave, un navegador de internet rápido y seguro que respeta la privacidad de sus usuarios 2.43- Como conectarse, configurar y usar ProtonVPN en Linux 2.44- Diferencias y semejanzas entre una red VPN y Tor 2.45- Asignar una IP estática mediante el servidor DHCP de nuestro router 2.46- Como convertir cualquier web en una aplicación de escritorio en Linux con Firefox. 2.47- Instalar Resilio en un servidor VPS con Debian para sustituir a Dropbox 2.48- Instalar nextcloud en Ubuntu 18.04 con nginx php-fpm y mariadb 2.49- Instalar Collabora Online para tener una suite ofimática en Nextcloud 2.50- Concetarse a un servidor OpenVPN en Linux desde la terminal y de NetworkManager 2.51- Medir la velocidad a Internet desde la terminal de Linux 2.52- Medir la velocidad de nuestra red local LAN con iPerf 2.53- Instalar y actualizar Firefox mediante un script 2.54- Eliminar las advertencias de uso de cookies en las web que visitamos 2.55- Mejorar tu experiencia de navegación en Firefox con Firefox Multi-Account containers 2.56- Ejecutar comandos y scripts de forma remota con SSH 2.57- Tailscale, conecta equipos a una red privada virtual (VPN) fácilmente 2.58- Montar servidor WebDAV en un sistema de archivos con Davfs2 2.56- Numerar las pestañas del navegador Firefox y Chrome 2.57- Hacer las pestañas del navegador Firefox más pequeñas 2.58- Exportar una base de datos de edb a pst 2.59- Activar la aceleración gráfica por hardware en Firefox en Linux usando una GPU Intel 2.60- Como ver cualquier web con tema oscuro con Dark Reader\n3. Software 3.0- Mi software imprescindible en Linux 3.1- Instalar Dropbox en una partición NTFS en Linux 3.2- Instalar Nuvola Player en Debian o Ubuntu 3.3- Gestores de Podcast en Linux 3.4- Ventajas del Software Libre sobre el Software Propietario 3.5- Comparación entre Windows 10 y Linux 3.6- Instrucciones para convertir páginas web en aplicaciones o clientes de escritorio 3.7- Instalar Spotify en Ubuntu, Debian y en distribuciones derivadas de Debian y Ubuntu 3.8- Instalar el navegador Opera en cualquier distribución GNU/Linux 3.9- Como saber la totalidad de software privativo instalado en Debian y en Ubuntu 3.10- Similitudes y diferencias entre apt-get y apt 3.11- Instalar y configurar la suite ofimática WPS Office en Linux 3.12- Problemas y desafíos que tiene el software libre en la actualidad 3.13- Explicación de que son y como podemos instalar paquetes AppImage 3.14- Instalar y configurar un cliente para Nextcloud en Linux 3.15- Usar y sacar provecho el monitor de recursos Top en Linux 3.16- Instalar el cliente de Twitter Cawbird en Debian, Ubuntu, Linux Mint y distros derivadas 3.17- Características y funcionalidades del lector de feeds Tiny Tiny RSS 3.18- Instalar y configurar un servidor WebDav con Apache y Ubuntu 3.19- Instalar, configurar y usar Telegram-cli en la terminal 3.20- Instalar y configurar InfCloud para tener un cliente Web en Radicale 3.21- Instalar y configurar el reproductor multimedia Mpv 3.22- Instalación y configuración del calendario NaiveCalendar en el escritorio i3 3.23- Instalar y configurar ChatGPT-Cli para usar ChatGPT desde la terminal Linux 3.24- Toot, un cliente de Mastodon para la terminal de Linux\n4. Drivers y Sonido 4.0- Instalar los Drivers Nvidia privativos en Debian\n5. Utilidades 5.0- Crear acciones personalizadas con Thunar 5.1- Instalar y configurar el notificador de emails mailwatcher en XFCE 5.2- Como reparar el gestor de arranque Grub 5.3- Instalar Whisker menu en cualquier distribución Linux y motivos para usarlo 5.4- Cambiar el color y personalizar Whisker menu 5.5- Consejos para abrir programas y aplicaciones con Whisker menu 5.6- Usar y crear acciones de búsqueda en Whisker menu 5.7- Renombrar archivos y carpetas de forma masiva con Thunar 5.8- Redimensionar y optimizar imágenes por lotes en XFCE con Thunar 5.9- Convertir cualquier archivo de audio a mp3 con el gestor de archivos Thunar 5.10- Explicación de como analizar la calidad de un archivo de audio comprimido 5.11- Convertir un archivo pdf a mp3 para crear un audiolibro 5.12- Buscar archivos por su contenido en GNU-Linux 5.13- Etiquetar archivos y carpetas con tracker y la terminal 5.14- Etiquetar archivos y carpetas con Nautilus o Tracker-needle 5.15- Buscar archivos y carpetas mediante etiquetas y su contenido 5.16- Editar los metadatos de una fotografía con PyExifToolsGUI 5.17- Editar el menú de un entorno de escritorio Linux con Menulibre 5.18- Como planificar tareas con Cron y Anacron en Linux 5.19- Planificar la ejecución de tarease con Systemd Timers 5.20- Comparar ficheros y directorios con el comando Diff 5.21- Descomprimir archivos desde la terminal con Unar 5.22- Recortar un vídeo en partes con ffmpeg y sin transcodificar en Linux 5.23- Optimizar imágenes para la web con la API de Tinify\n6. Hardware 6.0- Consejos a la hora comprar un ordenador 6.1- Comprobar si la memoria RAM de nuestro ordenador funciona correctamente 6.2- Como ver si estamos usando la aceleración gráfica por hardware\n7. Podcast y Documentales sobre nuevas tecnologías 7.0- Recopilación de podcast sobre internet y nuevas tecnologías 7.1- Recopilación de documentales relacionados con las nuevas tecnologías\n8. Optimización del Sistema 8.0- ¿Existe la fragmentación en Linux? ¿Cómo evitarla? ¿Cómo defragmentar el disco en el caso que sea necesario? 8.1- Hacer limpieza en nuestro sistema operativo 8.2- Liberar espacio de nuestro sistema operativo y triturar archivos y carpetas con Bleachbit 8.3- Conocer y analizar el consumo de memoria RAM en Linux 8.4- Consultar el historial de actualizaciones con apt-get y dpkg 8.5- Comparación entre los archivos de Swap y las particiones de Swap 8.6- Conocer el estado de uno o varios servicios con systemctl en Linux 8.7- Administrar servicios en GNU-Linux con Systemd 8.8- Conocer los procesos y servicios a reiniciar después de una actualización 8.9- Proporcionar datos del uso de nuestros paquetes a Debian 8.10- Qué es TRIM y por qué debemos activarlo en nuestro SSD 8.11- Cómo activar correctamente TRIM en GNU-Linux: fstrim, LVM y dm-crypt 8.12- Como activar TRIM y configurar el optimizador de unidades de almacenamiento en Windows 8.13- Pasos para sincronizar la hora en un ordenador con arranque dual Windows y Linux 8.14- Buscar y eliminar archivos duplicados con Duplicate file remover 8.15- Trucos para mejorar y optimizar el rendimiento de una distribución GNU-Linux 8.16- Actualizar nuestro sistema operativo Linux de forma automática 8.17- Eliminar Snap de nuestro sistema operativo Debian o Ubuntu 8.18- Cómo instalar y usar Nala como gestor de paquetes para reemplazar apt 8.19- Desactivar servicios no deseados en Linux\n9. Tips 9.0- Obtener hasta 16GB de capacidad adicional en Dropbox 9.1- Formatear una memoria USB en GNU Linux 9.2- Como crear un LiveUSB tanto en Windows y en Linux 9.3- Montar una memoria USB o pendrive usando la terminal de Linux 9.4- Solucionar el problema de no es posible supervisar el sistema de archivos en Dropbox 9.5- Como medir la velocidad de lectura y escritura de un disco duro o memoria USB 9.6- Disponer de modo lectura en los principales navegadores Web 9.7- Acceder a servicios restringidos geográficamente con Hola 9.8- Proteger nuestros ojos del monitor del ordenador 9.9- Añadir marcadores en Thunar y Ubicaciones en Thunar 9.10- Integrar las Chrome Apps en nuestro entorno de escritorio 9.11- Configuración el comportamiento del salvapantallas con Caffeine 9.12- Invertir los colores de la pantalla en Linux con xcalib 9.13- Como buscar archivos que están llenando mi disco duro 9.14- Como buscar archivos y carpetas en Linux y Mac OS X 9.15- Como configurar y usar la carpeta Plantillas en Linux 9.16- Como realizar un mailing o envío masivo de mails con Thundebird 9.17- Como crear y usar plantillas html y responsive en Thunderbird 9.18- Como enviar archivos que ocupan gran tamaño con Thunderbird 9.19- Como programar el envío de emails con Thunderbird 9.20- Crear atajos de teclado para abrir programas en Windows 9.21- Hacer que el GRUB considere como entrada predeterminada el último sistema operativo usado 9.22- Como programar el apagado de nuestro ordenador 9.23- Como programar el encendido automático de nuestro ordenador 9.24- ¿Qué hacer cuando nuestro gestor de correo electrónico Thunderbird no arranca? 9.25- Quitar los ads publicitarios que muestra la aplicación de escritorio de Skype en Windows 9.26- Que son y para que sirven los enlaces duros y los enlaces simbólicos en Linux 9.27- Instrucciones para poder configurar el comportamiento de nuestras ventanas con Devilspie 9.28- Como poner a pantalla completa la totalidad de programas en el escritorio XFCE 9.29- Disponer de una terminal desplegable tipo Quake en XFCE 9.30- Cambiar el tamaño de los iconos en el escritorio Gnome Shell 9.31- Instrucciones para personalizar nuestra terminal con Screenfetch 9.32- Instalar temas para el puntero del ratón y cambiar el puntero del ratón 9.33- Descargar vídeos y audios de Internet con Youtube-dl 9.34- Configurar Youtube-dl mediante un archivo de configuración 9.35- Compartir capturas de pantalla mediante enlaces generados de forma automática 9.36- Instalar, activar y adaptar el tema Numix en cualquier distro que use XFCE o Gnome Shell 9.37- Instalar el tema de iconos Numix y Numix Circle en Linux 9.38- Incrementar el tamaño de los elementos visualizados en pantalla en Windows 9.39- Cambiar el color y el diseño de las carpetas con Numix folders 9.40- Actualizar el plugin de Adobe Flash en Debian 9.41- Instalar uBlock Origin en Chrome y Firefox 9.42- Evitar la detección de nuestro bloqueador de publicdad con anti adblock killer 9.43- Cerrar la totalidad de ventanas y programas abiertos de forma inmediata 9.44- Forzar que un programa se abra con un tema GTK distinto al configurado 9.45- Abrir aplicaciones con entorno gráfico como usuario root 9.46- Buscar archivos con el gestor de archivos Thunar 9.47- Activar el filtro rápido de búsqueda en el gestor de paquetes Synaptic 9.48- Comprimir archivos pdf con el gestor de archivos Thunar 9.49- Crear un fichero con los archivos y carpetas que contiene un directorio 9.50- Tabla de equivalencias entre los comandos apt-get y apt 9.51- Configurar Pidgin para poder chatear en Facebook 9.52- Compartir carpetas de una red local con Thunar-shares-plugin 9.53- Desconectar y conectar un USB mediante la terminal en Linux 9.54- Comprimir y descomprimir archivo/s y/o carpeta/s con el gestor de archivos en Linux 9.55- Conocer la memoria RAM que consume un programa determinado con ps_mem 9.56- Clasificar y renombrar nuestras fotografías por lotes en Thunar 9.57- Bloquear la publicidad de Spotify en Android, Windows y Linux 9.58- Como bloquear la totalidad de ventanas emergentes o pop-ups 9.59- Reiniciar el entorno de escritorio sin reiniciar el ordenador en Linux 9.60- Evitar que un proceso se termine al cerrar una conexión SSH o al cerrar la sesión de usuario 9.61- Como instalar complementos y extensiones de VLC 9.62- Cómo reproducir vídeos del navegador web en VLC y sus ventajas 9.63- Instalar y usar global menu en Debian testing XFCE 9.64- Crear una acción de PolicyKit para abrir una aplicación gráfica como root 9.65- Qué son, cómo funcionan y qué utilidad tienen los logs en Linux 9.66- Desactivar el aviso de pegado inseguro en la terminal de XFCE 9.67- Instrucciones para obtener un dominio gratis con Freenom 9.68- Configurar el cliente SSH para facilitar la conexión remota a los equipos 9.69- Descomprimir archivos del tipo .part1 en Linux 9.70- Como grabar el audio que reproducen los altavoces de tu ordenador 9.71- Como gestionar trabajos en Linux mediante la terminal 9.72- Usar y configurar el historial de comandos en Linux 9.73- Obtener el código fuente de un programa en Debian y derivadas 9.74- Vincular un canal de Telegram con un Grupo 9.75- Uso avanzado del bloqueador de anuncios uBlock Origin 9.76- Obtener la URL para poder escuchar cualquier radio en Streaming 9.77- Escuchar la radio desde la terminal en Linux 9.78- Atajos de teclado y comandos para usar VIM de forma eficaz 9.79- Reproducir vídeo en streaming con Rclone Browser, VLC o MPV 9.80- Uso del comando SED en Linux y UNIX con ejemplos 9.81- Uso del comando Awk en Linux y UNIX con ejemplos 9.82- Uso del comando cut en Linux y UNIX con ejemplos 9.83- Uso del comando tr en Linux y UNIX con ejemplos 9.84- Uso del comando grep en Linux y UNIX con ejemplos 9.85- Atajos de teclado para emuladores de terminal en Linux 9.86- Ventajas y desventajas de usar la terminal en Linux 9.87- Cambiar de directorio de forma rápida y sencilla en Linux 9.88- Alias en Linux, Que són como crearlos y ejemplos 9.89- Trucos para usar la terminal en GNU Linux 9.90- Leer newsletter en nuestro lector de feeds con Kill the Newsletter 9.91- Generar un feed para consumir los audios almacenados en una cuenta de archive.org 9.92- Extraer datos de un fichero json con jq 9.93- Como ver vídeos del navegador en el reproductor MPV\n10. Seguridad informática y de la información 10.0- Conceptos y herramientas para el control parental 10.1- Continúan los problemas de privacidad en Ubuntu 14.04 10.2- Comprobar el estado de nuestro disco duro o cualquier dispositivo de almacenamiento 10.3- ¿Qué información sabe google de nosotros? 10.4- Como mejorar nuestra privacidad usando los servicios de Google y en internet 10.5- Como prevenir las estafas de suscripción a los Servicios de SMS Premium 10.6- Como proteger el gestor de arranque Grub con contraseña 10.7- Recuperar archivos borrados por accidente de cualquier dispositivo de almacenamiento 10.8- ¿Qué es y para que sirve un email Temporal? 10.9- Instalar Tails para ser completamente anónimo y poder navegar con seguridad por la Deep Web 10.10- Instalar software con persistencia en Tails 10.11- Motivos para cifrar nuestras peticiones DNS 10.12- Instalar DNSCrypt en Linux, Ubuntu y Windows 10.13- Configurar y usar DNSCrypt en GNU Linux 10.14- Comprobar que DNSCrypt funciona de forma correcta 10.15- Usar DNSmasq para mejorar el rendimiento de DNSCrypt 10.16- Configurar y usar DNSCrypt en Windows 10.17- Consejos y recomendaciones para poder navegar en la deep web y en la dar web de forma segura 10.18- Consejos para elegir un servicio VPN Adecuado a nuestras necesidades 10.19- Motivos para bloquear Adobe Flash Player de nuestro navegador 10.20- Activar y usar el VPN gratuito del navegador Opera 10.21- Instrucciones para desinstalar el plugin de Flash en nuestro ordenador 10.22- Proteger nuestras cuentas y transacciones en Internet con un token de seguridad 10.23- Recuperar archivos borrados por accidente en Windows sin programas y sin copias de seguridad 10.24- Motivos para usar un certificado SSL para poder usar el protocolo https 10.25- Configurar las opciones de privacidad de Windows 10 10.26- Mitos sobre la Deep web que la gente debe conocer 10.27- Los problemas de seguridad y virus también existen en Linux 10.28- ¿Qué es y para que sirve un Sandbox en la informática? 10.29- Firejail, un sandbox para Linux para ejecutar programas de forma segura 10.30- ¿Cómo denunciar delitos informáticos de forma efectiva? 10.31- ¿Qué es y para que sirve el fingerprint de un servidor SSH? 10.32- Ransomware, qué es, cómo actuar y buenas prácticas para prevenirlo 10.33- Cómo recuperar datos de un Unidad USB Flash: Disk Drill 10.34- Cómo activar y configurar la protección contra ransomware de Windows 10 10.35- Comprobar si un paquete dispone de actualizaciones de seguridad en Linux 10.36- Como instalar, usar y configurar Fail2ban para protegernos contra ataques de fuerza bruta 10.37- Instrucciones para consultar los logs de Fail2ban 10.38- Buenas prácticas en el uso y gestion de contraseñas 10.39- Instrucciones para firmar fácilmente documentos y emails 10.40- Datos que nuestro navegador entrega a las web que visitamos 10.41- Información que los metadatos de una fotografía pueden revelar 10.42- Gestionar nuestras contraseñas personales con software libre de forma segura y privada 10.43- Análisis del software EaseUS para recuperar datos borrados accidentalmente 10.44- Análisis del complemento o extensión VPN de RusVPN 10.45- Instalar y configurar un servidor OpenVPN con tan solo 3 comandos 10.46- Consejos para poder usar con éxito un VPN en China 10.47- Recomendación de software libre para cifrar ficheros en la nube 10.48- Recuperar particiones eliminadas con Testdisk 10.49- Cifrar archivos en Linux con EncFS, CryFS y gocryptfs usando la terminal 10.50- Cifrado inverso de archivos y directorios para realizar copias de seguridad en la nube 10.51- ¿Es necesario cifrar las copias de seguridad? 10.52- Crear alias de nuestro email con SimpleLogin para evitar el Spam y proteger nuestro correo 10.53- Conectarse a un servidor VPN Wireguard en Android, Linux y Windows 10.54- Activar ESNI y DoH en Firefox para proteger nuestra historial de navegación 10.55- Automatizar nuestras copias de seguridad cifradas con Restic 10.56- Restaurar una copia de seguridad realizada con el software Restic 10.57- Usar el servicio NordVPN en Linux y desde la terminal 10.58- Recuperar carpetas borradas en Windows 10 10.59- 12 formas de mejorar la seguridad de un servidor linux\n11. Bitcoin 11.0- Información para iniciarse en el mundo de las bitcoin 11.1- Aplicaciones y webs que usan nuestro equipo para minar criptomonedas\n12. SEO 12.0- Eliminar contenido de Blogger y Blogspot que vulnera los derechos de autor\n13. Android e iOS 13.1- Bloquear la publicidad en Android sin necesidad de ser Root 13.2- Traspasar archivos del ordenador a un dispositivo Android o de un dispositivo Android al ordenador 13.3- Explicación de si es legal grabar una llamada telefónica y como grabar una llamada telefónica 13.4- Conectarse a un servidor OpenVPN con un dispositivo Android 13.5- Usos que doy actualmente a mi tablet en ocio y productividad 13.6- Los mejores videojuegos para smartphone en Android y en iOS 13.7- Consejos para cargar y prolongar la vida útil de la batería de nuestros dispositivos móviles 13.8- Como navegar por la Deep Web en nuestro telefono Android 13.9- Monitorizar dispositivos móviles con la aplicación Xnspy 13.10- Asignar una IP estática en un dispositivo iOS 13.11- Instrucciones para instalar el explorador de archivos iFile 13.12- Navegar sin anuncios usando el navegador Firefox y su complemento Adlock Plus 13.13- Extraer archivos binarios .apk de las aplicaciones instaladas en nuestro dispositivo móvil 13.14- Conectarse al iPhone o al iPad con SSH en Android, Windows o Linux 13.15- VPN para Android e iOS gratis e ilimitado con Opera 13.16- Como prevenir la instalación de aplicaciones maliciosas 13.17- Instrucciones para instalar y configurar la tienda de aplicaciones F-droid 13.18- Instrucciones para calibrar la batería del teléfono de forma correcta 13.19- Bloquear la publicidad en un iPhone o iPad mediante el archivo hosts 13.20- Recomendaciones al comprar una batería de repuesto para nuestro dispositivo móvil 13.21- Usos que podemos dar a telegram para aprovecharlo al máximo\n14. Reconocimiento óptico de caracteres OCR 14.0- Fundamentos, Usos ventajas competitivas y limitaciones del reconocimiento óptico de caracteres OCR 14.1- Extraer texto de una imagen con el software OCRfeeder 14.2- Extraer texto de una imagen con el software Gscan2pdf\n15. Chromecast 15.0- Aplicaciones imprescindibles para usuarios de Chromecast 15.1- Como ver series y películas en Chromecast después de la entrada en vigor de la LPI 15.2- Lanzar vídeos al Chromecast usando la terminal de Linux\n16. LibreOffice y Ofimática 16.0- Cambiar el tema de iconos de la suite ofimática Libreoffice 16.1- Como rotar imágenes en Writer, Calc, Draw e Impress 16.2- Realizar un índice de contenido automático y numerado con Libreoffice 16.3- Usar Libreoffice con GTK3 para mejorar su aspecto en GNU Linux 16.4- Cambiar la letra y el tamaño de los menús y ventanas de Libreoffice 16.5- Insertar una imagen dentro de una celda de Microsoft Excel 16.6- Como firmar digitalmente un documento en LibreOffice 16.7- Instalar LibreOffice de forma manual y sin repositorio en Linux 16.8- Incrustar las fuentes en un documento de LibreOffice y Microsoft Office 16.9- Instalar el editor de texto Typora en Linux 16.10- Gestionar y editar ficheros PDF des del navegador web 16.11- Hacer que LibreOffice tenga un modo oscuro consistente 16.12- Cómo Traducir Textos Automáticamente con Google Sheets\n17. Virtualización y Virtualbox 17.0- Incrementar el disco duro de una máquina Virtual Virtualbox 17.1- Integrar una Maquina Virtual de Virtualbox en nuestra Red Local 17.2- Instalar las Guest additions en máquinas virtuales con Linux 17.3- Que es una máquina virtual, usos y ventajas que nos proporciona 17.4- Compartir carpetas y archivos en VirtualBox en un SO virtualizado Linux 17.5- Virtualizar Ubuntu en un ordenador Mac con procesador Apple Silicon\n18. Opinión 18.0- ¿Por qué el escritorio Linux no ha triunfado aún? 18.1- Motivos para usar bloqueadores de publicidad cuando navegamos por Internet 18.2- Motivos por los cuales recomiendo usar y/o probar la distribución Debian 18.3- Internet Archive. ¿Qué es?, ¿Por qué es importante y para qué sirve? 18.4- Motivos por los que la gente no usa y no debería usar los asistentes personales 18.5- Razones por las que no uso el entorno de escritorio Gnome Shell 18.6- Motivos por los que XFCE es mi entorno de escritorio preferido 18.7- Utilidad que tienen los botones de donaciones en los blogs 18.8- Análisis sobre el abandono de Unity, la convergencia y Ubuntu para móviles 18.9- ¿Son necesarias tantas distribuciones Linux? 18.10- Mi opinión sobre la privacidad de Telegram y Pável Dúrov 18.11- Motivos por los que recomiendo leer blogs personales en vez de grandes blogs comerciales 18.12- Mi opinion de la adopción de las custom side decoration en XFCE 4.16 18.13- Pagaría una suscripción por el servicio de streaming Apple TV+ 18.14- Cómo Surfshark te ayuda a navegar sin límites en China\n19. Windows 19.0- Instrucciones para desactivar el inicio rápido de windows 19.1- Averiguar la clave de activación de nuestros productos de Microsoft 19.2- Agregar relojes en Windows para saber la hora en distintas partes del mundo 19.3- Explicación de como Windows 10 espía y vulnera la privacidad de sus usuarios 19.4- Desactivar Cortana en Windows para mejorar nuestra privacidad 19.5- Bloquear la recopilación de datos de Windows con Spybot Anti-Beacon 19.6- Como elegir el programa predeterminado para abrir una extensión de archivo en Windows 19.7- Como recuperar el visor de fotos clásico en Windows 10 19.8- Razones por las que Windows 10 S es un mal sistema operativo 19.9- ¿Qué es y para qué sirve un grupo de trabajo en Windows? 19.10- Instalar y configurar un servidor SSH en Windows 19.11- Instalar y activar WinRar de forma segura y sin cracks 19.12- Eliminar entradas no útiles del registro de arranque de Windows 19.13- Como hacer que Microsoft Windows muestre la extensión de los archivos 19.14- Desactivar la búsqueda web del menú de inicio de Windows 10 19.15- Copiar archivos de gran tamaño mediante un cable Ethernet 19.16- Crear una partición UEFI desde Windows para tener un Dual-Boot sin tener problemas de espacio 19.17- Instalar el subsistema de Windows para Linux en Windows 10 19.18- Acceder a los ficheros Linux de WSL desde Windows 10 19.19- Atajos de teclado para ser productivo en Windows 11 19.20- Atajos de teclado para el gestor de ficheros Thunar 19.21- Gestor de paquetes para Windows para instalar software\n20. Raspberry Pi 20.0- Montar nuestro propio servidor OpenVPN con PiVPN 20.1- Instalar y configurar el servidor de descargas torrent Transmission 20.2- Iniciar Raspberry Pi en modo consola o en modo gráfico 20.3- Instalar y configurar Pi-hole para bloquear la publicidad de nuestra red 20.4- Instalar un certificado SSL gratis de Let’s Encrypt en lighttpd 20.5- Instalar Nextcloud en una Raspberry Pi con MariaDB y Lighttpd 20.6- Configurar y optimizar el rendimiento de Nextcloud 20.7- Montar un sistema de videovigilancia con Motion 20.8- Como realizar una copia de seguridad de Nextcloud 20.9- Instrucciones para actualizar Nextcloud de forma sencilla 20.10- Usar la Raspberry Pi como un Chromecast con Raspicast 20.11- Instalar el servidor DLNA ReadyMedia en una Raspberry Pi o en Linux 20.12- Combinar Pi-Hole y OpenVPN para bloquear la publicidad fuera de nuestra red local 20.13- Configurar Pi-Hole para usar DNS over HTTPS «DoH» en una Raspberry Pi 20.14- Instalar Raspbian de forma sencilla con Raspberry Pi Imager 20.15- Incrementar la memoria SWAP de la Raspberry Pi 20.16- Instrucciones para arrancar la Raspberry Pi 4 a través de un disco SSD 20.17- Activar el trim en una raspberry pi arrancada por un ssd externo 20.18- Solucionar el consumo alto de CPU al arrancar la Raspberry Pi con un SSD o un USB 20.19- Como habilitar Syslog en Raspbian OS\n21. Docker 21.0- Instalar Docker y Docker compose en Linux 21.1- Ejecutar Docker en un disco duro Externo 21.2- Acceder a nuestros contenedores desde el exterior con Duck DNS 21.3- Instalar el servidor VPN Wireguard con Docker 21.4- Instalar y configurar el proxy inverso Traefik en Docker 21.5- Instalar y configurar Traefik v2 como proxy inverso 21.6- Añadir servicios a traefik que están corriendo en máquinas remotas 21.7- Instalar Tiny Tiny RSS mediante su Docker oficial y Traefik 21.8- Montar nuestro propio Wetransfer para compartir archivos con Jirafeau 21.9- Monitorizar el rendimiento de nuestros contenedores Docker 21.10- Whoogle para realizar búsquedas en Google respetando la privacidad 21.11- Gestionar nuestros contactos, calendarios y tareas con Radicale 21.12- Montar un gestor de descargas remoto con JDownloader 21.13- Instalar Owncloud mediante Docker y el proxy inverso Traefik 21.14- Limitar el acceso a un servicio o web por ip con Traefik v2 21.15- Usar Fail2ban con los servicios detrás de Traefik para protegernos contra ataques de fuerza Bruta 21.16- Configurar la rotación de logs en Traefik con logrotate 21.17- Construir un feed con el contenido completo de un artículo 21.18- Autenticación con usuario y contraseña mediante Traefik 21.19- Hacer limpieza en Docker borrando contenedores, imágenes, volúmenes, etc\n22. Comunicados 22.0- Política de privacidad y moderación de los comentarios 22.1- Comunicado a los lectores del blog tras una sanción impuesta por Google 22.2- Nuevo canal de Telegram del Blog Geekland\n23. Markdown 23.0- Aprender el lenguaje Markdown en cuestión de minutos 23.1- Configurar nano para que aplique resaltado Markdown\n24. Varios 24.0- ¿Qué es el rango dinámico de un audio y ventajas que nos proporciona? 24.1- Ventajas e inconvenientes del formato de audio .ogg respecto al mp3 24.2- Diferencia de calidad existente entre un audio ogg y un audio mp3 24.3- Consejos a seguir para comprimir un audio a .mp3 o .ogg 24.4- Razones por las que recomiendo evitar el uso de Facebook 24.5- ¿Qué soporte da la distribución Debian a sus usuarios? 24.6- Como solucionar problemas y obtener ayuda en GNU-Linux 24.7- Como planificar un viaje con My Maps y Google Maps 24.8- Qué son y como funcionan los inodos y las dentries en un sistema de archivos\n25. Programación 25.0- Crear entornos virtuales de desarrollo en Python 25.1- Como usar el gestor de paquetes PIP\n","permalink":"https://geeklandlinux.github.io/pages/indice/","summary":"\u003ch4 id=\"1-instalación-y-configuración\"\u003e1. Instalación y configuración\u003c/h4\u003e\n\u003cp\u003e1.0- \u003ca href=\"/posts/montar-particion-ntfs-fat-o-ext4-en-el-arranque-del-sistema/\"\u003eMontar Partición NTFS, FAT o ext4 en el arranque del sistema\u003c/a\u003e 1.1- \u003ca href=\"/posts/repositorios-en-debian-testing/\"\u003eMis repositorios en Debian Testing y otras ramas\u003c/a\u003e 1.2- \u003ca href=\"/posts/apt-pinning-en-debian/\"\u003eMezclar paquetes de distintas ramas en Debian mediante el apt-pinning\u003c/a\u003e 1.3- \u003ca href=\"/posts/paquetes-de-debian-clasificados-por-rama/\"\u003eObtención de los paquetes que tenemos instalados en Debian separados por rama\u003c/a\u003e 1.4- \u003ca href=\"/posts/window-tiling-en-xfce-4-8/\"\u003eHabilitar el Window tiling en XFCE 4.8 y en otros entornos de escritorio que no lo tienen de serie\u003c/a\u003e 1.5- \u003ca href=\"/posts/liberar-memoria-cache/\"\u003eLiberar memoria cache de nuestra memoria RAM\u003c/a\u003e 1.6- \u003ca href=\"/posts/optimizar-el-uso-de-la-memoria-swap/\"\u003eOptimizar el uso de la memoria Swap\u003c/a\u003e 1.7- \u003ca href=\"/posts/optimizar-el-rendimiento-con-zram/\"\u003eOptimizar el uso del sistema mediante Zram\u003c/a\u003e 1.8- \u003ca href=\"/posts/incrementar-el-rendimiento-con-preload/\"\u003eIncrementar la velocidad de ejecución de nuestras aplicaciones con Preload\u003c/a\u003e 1.9- \u003ca href=\"/posts/incrementar-el-rendimiento-con-prelink/\"\u003eIncrementar la velocidad de ejecución de las aplicaciones con Prelink\u003c/a\u003e 1.10- \u003ca href=\"/posts/aligerar-el-sistema-con-zswap/\"\u003eAligerar nuestro sistema operativo con el uso de Zswap\u003c/a\u003e 1.11- \u003ca href=\"/posts/personalizar-y-configurar-lightdm/\"\u003eInstalar, personalizar y configurar Lightdm en cualquier distro\u003c/a\u003e 1.12- \u003ca href=\"/posts/configurar-ip-fija_o_estatica_ipv4/\"\u003eConfigurar IP fija en un servidor sin entorno gráfico\u003c/a\u003e 1.13- \u003ca href=\"/posts/elegir-el-mejor-repositorio-en-debian/\"\u003eElegir el repositorio de Debian más rápido\u003c/a\u003e 1.14- \u003ca href=\"/posts/que-es-para-que-sirve-nombre-del-equipo/\"\u003eQue es, para que sirve y como cambiar el nombre del equipo o hostname en Linux\u003c/a\u003e 1.15- \u003ca href=\"/posts/conectarse-wifi-sin-entorno-grafico/\"\u003eConectarse a una red Wifi sin disponer de entorno gráfico ni de un gestor de redes\u003c/a\u003e 1.16- \u003ca href=\"/posts/mejorar-aspecto-aplicaciones-qt-xfce/\"\u003eMejorar el aspecto de las aplicaciones Qt en Xfce\u003c/a\u003e 1.17- \u003ca href=\"/posts/crear-atajos-de-teclado-en-xfce/\"\u003eCrear atajos de teclado en XFCE y ejemplos de atajos de teclado\u003c/a\u003e 1.18- \u003ca href=\"/posts/retener-paquetes-en-debian-y-derivadas/\"\u003eComo retener paquetes en Debian y en distribuciones derivadas de Debian\u003c/a\u003e 1.19- \u003ca href=\"/posts/estructura-de-directorios-en-linux/\"\u003eExplicación de la estructura de directorios en Gnu-Linux\u003c/a\u003e 1.20- \u003ca href=\"/posts/repositorio-backports-debian-estable/\"\u003eUtilizar el repositorio Backports en Debian estable\u003c/a\u003e 1.21- \u003ca href=\"/posts/que-son-librerias-gtk-version-usamos/\"\u003e¿Qué son las librerías GTK? ¿Qué versión de librerías GTK usan nuestros programas?\u003c/a\u003e 1.22- \u003ca href=\"/posts/instalar-fuentes-en-debian-linux/\"\u003eInstalar fuentes tipográficas en Linux\u003c/a\u003e 1.23- \u003ca href=\"/posts/configurar-sudo-en-linux/\"\u003eConfigurar sudo para poder administrar un sistema operativo de forma segura\u003c/a\u003e 1.24- \u003ca href=\"/posts/crear-atajos-de-teclado-elementos-menu-xfce/\"\u003eCrear atajos de teclado a los elementos de un menú en XFCE\u003c/a\u003e 1.25- \u003ca href=\"/posts/activar-los-repositorios-privativos-debian/\"\u003eActivar los repositorios privativos en Debian\u003c/a\u003e 1.26- \u003ca href=\"/posts/explicacion-carpetas-contienen-archivos-temporales-linux/\"\u003eExplicación de los directorios que contienen archivos temporales en Linux\u003c/a\u003e 1.27- \u003ca href=\"/posts/borrar-los-archivos-temporales-automaticamente/\"\u003eBorrar los achivos temporales de forma periódica y automática con systemd\u003c/a\u003e 1.28- \u003ca href=\"/posts/crear-un-archivo-de-swap/\"\u003eCrear un archivo de swap como espacio de intercambio\u003c/a\u003e 1.29- \u003ca href=\"/posts/gestionar-modulos-del-kernel-linux/\"\u003e¿Cómo gestionar los módulos del kernel en Linux de forma sencilla?\u003c/a\u003e 1.30- \u003ca href=\"/posts/mejorar-renderizado-de-fuentes-en-linux/\"\u003eConsejos para conseguir el renderizado de fuentes perfecto en cualquier distro Linux\u003c/a\u003e 1.31- \u003ca href=\"/posts/configurar-tracker-para-buscar-archivos-por-contenido/\"\u003eInstalar y configurar Tracker para buscar archivos por su contenido\u003c/a\u003e 1.32- \u003ca href=\"/posts/cambiar-nombre-interfaz-de-red-linux/\"\u003eComo cambiar el nombre de nuestra interfaz de red de forma permanente y provisional\u003c/a\u003e 1.33- \u003ca href=\"/posts/que-son-los-repositorios-en-linux/\"\u003e¿Qué son los repositorios en GNU-Linux? ¿Qué ventajas nos proporcionan?\u003c/a\u003e 1.34- \u003ca href=\"/posts/aplicaciones-qt5-se-integren-tema-gtk/\"\u003eHacer que los programas en qt5 se integren con los temas GTK\u003c/a\u003e 1.35- \u003ca href=\"/posts/como-arrancar-en-modo-consola/\"\u003eComo arrancar en modo consola en cualquier distribución Linux\u003c/a\u003e 1.36- \u003ca href=\"/posts/poner-paginas-man-en-espanol-en-linux/\"\u003ePoner las páginas man o manpages en Español\u003c/a\u003e 1.37- \u003ca href=\"/posts/caracteristicas-repositorios-main-universe-multiverse-restricted/\"\u003eCaracterísticas de la totalidad de repositorios que podemos añadir en Ubuntu y Linux Mint\u003c/a\u003e 1.38- \u003ca href=\"/posts/diferencias-pkexec-gksudo/\"\u003eDiferencias entre pkexec y gksudo y porque se abandona gksudo\u003c/a\u003e 1.39- \u003ca href=\"/posts/reparar-paquetes-rotos-linux/\"\u003eReparar paquetes rotos en distros con el gestor de paquetes apt-get\u003c/a\u003e 1.40- \u003ca href=\"/posts/reemplazar-carpetas-por-imagenes-miniatura-o-thumbnails-en-xfce/\"\u003eReemplazar el icono de una carpeta por una imagen miniatura o Thumbnail en XFCE\u003c/a\u003e 1.41- \u003ca href=\"/posts/instalar-tiny-tiny-rss-servidor-ubuntu/\"\u003eInstalar el lector de Feeds Tiny Tiny RSS en un servidor Ubuntu\u003c/a\u003e 1.42- \u003ca href=\"/posts/mejorar-la-seguridad-de-tiny-tiny-rss/\"\u003eMejorar la seguridad del lector de feeds Tiny Tiny RSS\u003c/a\u003e 1.43- \u003ca href=\"/posts/servidor-grafico-xfce-se-desconecta-solucion/\"\u003eCambiar el modo de vblank en XFCE para evitar que el servidor gráfico se caiga\u003c/a\u003e 1.44- \u003ca href=\"/posts/instalar-y-configurar-vim/\"\u003eInstalar y configurar VIM para iniciarse en su uso\u003c/a\u003e 1.45- \u003ca href=\"/posts/configurar-la-hora-en-linux-desde-la-terminal/\"\u003eConfigurar la hora en Linux desde la terminal\u003c/a\u003e 1.46- \u003ca href=\"/posts/cambiar-el-idioma-terminal-servidor-debian-ubuntu/\"\u003eComo poner la terminal de Linux en Español\u003c/a\u003e 1.47- \u003ca href=\"/posts/instalar-configurar-y-usar-el-gestor-de-ventanas-i3-en-linux/\"\u003eInstalar, configurar y usar el gestor de ventanas i3 en Linux\u003c/a\u003e 1.48- \u003ca href=\"/posts/solucion-a-que-un-script-no-se-ejecuta-en-cron-pero-si-en-la-terminal/\"\u003eSolución en el caso que un script se ejecute en la terminal pero no en Cron\u003c/a\u003e 1.49- \u003ca href=\"/posts/possible-missing-firmware-lib-firmware-solucion/\"\u003eSolución a la advertencia Possible missing firmware /lib/firmware/\u003c/a\u003e 1.50- \u003ca href=\"/posts/visualizar-imagenes-en-formato-webp-en-linux/\"\u003eVisualizar imágenes en formato webp en Linux\u003c/a\u003e 1.51- \u003ca href=\"/posts/ver-miniaturas-o-thumbnails-de-las-imagenes-webp-en-thunar/\"\u003eVer miniaturas o thumbnails de las imágenes webp en Thunar\u003c/a\u003e 1.52- \u003ca href=\"/posts/configurar-separacion-entre-ventanas-y-los-bordes-en-i3/\"\u003eConfigurar separación entre ventanas y los bordes en i3\u003c/a\u003e 1.53- \u003ca href=\"/posts/mostrar-el-titulo-de-las-ventanas-en-el-panel-de-i3/\"\u003eMostrar el título de las ventanas en el panel de i3\u003c/a\u003e 1.54- \u003ca href=\"/posts/habilitar-os-prober-para-que-el-grub-pueda-detectar-los-sistemas-operativos/\"\u003eHabilitar os-prober para que el grub pueda detectar los sistemas operativos\u003c/a\u003e 1.55- \u003ca href=\"/posts/configurar-la-pantalla-del-ordenador-con-xrandr-en-linux/\"\u003eConfigurar la pantalla o el monitor con Xrandr\u003c/a\u003e 1.56- \u003ca href=\"/posts/establecer-aplicaciones-predeterminadas-desde-la-terminal-linux/\"\u003eEstablecer aplicaciones predeterminadas en Linux desde la terminal\u003c/a\u003e\u003c/p\u003e","title":"Indice"},{"content":"Hoy vamos a ver como instalar Firefox y Thunderbird en Debian fácilmente. Soy relativamente nuevo en Linux y hasta día de hoy siempre había usado Ubuntu pero gracias a Unity he descubierto que existen otras distros. Algo bueno tenia que tener Unity, no? Recientemente he decidido pasarme definitivamente a Debian en su rama testing con el escritorio XFCE 4.8.\nAl principio vas un poco perdido y hay bastantes cosas que se echan de menos, pero poco a poco vas encontrando solución a cada uno de los problemas. Uno de estos problemas es que hecho de menos Firefox y Thunderbird. Usaría Icedove pero la verdad es que aunque lo instales de la rama experimental van varias versiones por detrás. Por lo tanto una solución para instalar Firefox y Thunderbird rápida e ideal para principiantes es usar los repositorios de Linux Mint Debian. Otra solución muy fácil y efectiva es descargar los binarios e instalarlos. Por lo tanto para instalar Firefox y Thunderbird en Debian podemos proceder de las siguientes formas:\nMÉTODO 1: USAR LOS REPOSITORIOS DE LINUX MINT DEBIAN Nota: Este método para instalar Firefox y Thunderbird solo es aconsejable para usuarios de Debian Testing. También se puede usar en distros derivadas de Debian Testing. Paso 1. Agregar los repositorios de Linux Mint Abrimos una terminal\nTecleamos:\nsudo gedit /etc/apt/sources.list Nota: Si no tienes instalado gedit usa el editor que uses habitualmente. Pegamos el repositorio de LMDE en el archivo de texto que acabamos de abrir:\ndeb http://packages.linuxmint.com debian import Seguidamente descargamos el keyring del repositorio de Linux Mint Debian pegando el siguiente comando en la terminal:\nsudo wget http://packages.linuxmint.com/pool/main/l/linuxmint-keyring/linuxmint-keyring_2009.04.29_all.deb Una vez finalizada la descarga instalamos el Keyring con el siguiente comando:\nsudo /home/tu_usuario dpkg ­-i linuxmint-­keyring_2009.04.29_all.deb Ahora vamos a actualizar los repositorios:\nsudo apt-get update Paso 2. Instalar Firefox y Thunderbird Para finalizar ya podemos proceder a la instalación. Para instalar Thunderbird tecleamos:\nsudo apt-get install thunderbird thunderbird-­l10n­-es Para instalar Firefox tecleamos:\nsudo apt-get install firefox firefox-l10n-es La aplicación de esta solución no debe suponer futuros problemas de estabilidad si estas usando la rama Testing the Debian. Solo hay que seguir estos pasos para instalar Firefox y Thunderbird satisfactoriamente. Hay que tener en cuenta que Linux Mint Debian deriva y usa los mismos paquetes que Debian Testing.\nMÉTODO 2 A PARTIR DE LOS BINARIOS DE LOS PROGRAMAS Nota: El método 2 para instalar Firefox y Thunderbird lo podemos usar en cualquier distribución Linux y no debe generar problemas. En el caso de no querer mezclar repositorios de debian testing con repositorios de LMDE podéis optar por descargar los ficheros binarios tanto de Thunderbird como de Firefox. Con este método podremos instalar Firefox y Thunderbird en cualquier distro.\nInstalación de Firefox En el caso que tengamos instalado Firefox o Thunderbird lo primero que tenemos que hacer es una copia de seguridad de los archivos de configuración de estas aplicaciones para prevenir problemas futuros.\nDentro de nuestra ~/home crearemos una carpeta con el nombre backups que albergará la copia de nuestros archivos de configuración de Thunderbird y/o Firefox. Para ello abrimos una terminal y tecleamos:\nmkdir ~/backups Seguidamente copiamos el contenido de la carpeta .mozilla ubicada en nuestra home dentro de la carpeta backups que acabamos de crear. Esto lo podemos hacer con el siguiente comando:\ncp -avr ~/.mozilla/ ~/backups Ahora ya podemos descargar el paquete binario tar.bz2 que contiene Firefox. Para ello copiamos el siguiente link en el navegador:\nhttp://download-origin.cdn.mozilla.net/pub/mozilla.org/firefox/releases/ Cuando se haya cargado la página tendremos que seleccionar la versión de Firefox que queremos descargar. En mi caso elegiré la última versión estable que en estos momentos es la 20.0/.\nSeguidamente tenemos que elegir la arquitectura. En el caso de disponer de una arquitectura de 32 bits tenéis que elegir la opción linux-i686/. En el caso de disponer de una arquitectura de 64 bits tendremos que elegir la opción linux-x86_64/. Como en mi caso dispongo de una arquitectura de 32 bits elijo la opción linux-i686/.\nComo paso final tenemos que elegir el idioma. En mi caso español de España que es la opción es-ES/.\nAhora como podéis ver en la captura de pantalla solamente nos falta dar un clic encima del paquete tar.bz2 para descargar Firefox.\nUna vez descargado el paquete tenemos que descomprimir su contenido en la carpeta /opt. Esta operación la podemos hacer con el comando:\nsudo tar -jxvf firefox-20.0.tar.bz2 -C /opt Nota: firefox-20.0.tar.bz2 se tiene que sustituir en función de la versión y nombre de paquete que hemos descargado. Nota: En caso de no querer usar el comando se puede realizar manualmente abriendo nuestro gestor de ventanas en modo root. Seguidamente crearemos un enlace simbólico del archivo ejecutable de Firefox al directerio /usr/bin/. Para ello en la terminal teclearemos el siguiente comando:\nsudo ln -s /opt/firefox/firefox /usr/bin/firefox\nUna vez realizada esta operación ya podemos ejecutar Firefox. Para ello abrimos una terminal y tecleamos el comando:\n/opt/firefox/firefox Y como podemos ver en la siguiente imagen Firefox se ejecuta sin problema alguno.\nPara tener que evitar arrancar Firefox vía terminal podemos crear un lanzador e incluirlo en el los menús de vuestra distro. Cada distro tiene diferentes métodos para crear sus lanzadores. Por lo tanto para que este post sea útil para todo el mundo crearé el lanzador con un método que sirve para cualquier distro.\nCreamos un fichero de texto en la ubicación /usr/share/applications y lo guardamos con el nombre Firefox.desktop. Abrimos el fichero creado con un editor de textos y copiamos el siguiente texto:\nDesktop Entry] #Nombre de la aplicación Name=Firefox #Comentario que aparece al seleccionar el lanzador Comment=Explorar la web #Comando a ejecutar, generalmente el nombre de la aplicación Exec=/opt/firefox/firefox #Icono del lanzador, puede ser generico o especificar la ruta del mismo Icon=/opt/firefox/browser/icons/mozicon128.png #Para no abrir una terminal Terminal=false #Tipo de archivo Type=Application #Codificación del texto Encoding=UTF-8 #Categoria de la aplicación Categories=Application;Network;WebBrowser; MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png; StartupWMClass=Firefox-bin StartupNotify=true Guardamos el archivo, y como se puede ver en la imagen en el menú ya nos aparecerá el icono de Firefox.\nInstalación de Thunderbird El procedimiento de instalación de Thunderbird es prácticamente idéntico al de Firefox. Por lo tanto esta parte repite el mismo proceso que se acaba de describir.\nEn el caso que tengamos instalado Firefox o Thunderbird lo primero que tenemos que hacer es una copia de seguridad de los archivos de configuración de estas aplicaciones para prevenir problemas futuros.\nDentro de nuestra ~/home crearemos una carpeta con el nombre backups que albergará la copia de nuestros archivos de configuración de Thunderbird y/o Firefox. Para ello abrimos una terminal y tecleamos:\nmkdir ~/backups Seguidamente copiamos el contenido de la carpeta .mozilla ubicada en nuestra home dentro de la carpeta backups que acabamos de crear. Esto lo podemos hacer con el siguiente comando:\ncp -avr ~/.mozilla/ ~/backups Ahora ya podemos descargar el paquete binario tar.bz2 que contiene Thunderbird. Para ello copiamos el siguiente link en el navegador:\nhttp://download-origin.cdn.mozilla.net/pub/mozilla.org/thunderbird/releases/ Cuando se haya cargado la página tendremos que seleccionar la versión de Thunderbird que queremos descargar. En mi caso la última versión estable que en estos momentos es la 17.0.5/.\nNota: Observareis que también existe una versión llamada 17.0.5esr/. Esta seria la versión Extended release support. Esta versión es ideal para empresas o universidades. En el caso de ser un usuario normal es mejor instalar la versión estandard ya que dispondrá de las últimas funcionalidades y novedades. Seguidamente tenemos que elegir la arquitectura. En el caso de disponer de una arquitectura de 32 bits tenéis que elegir la opción linux-i686/. En el caso de disponer de una arquitectura de 64 bits tendremos que elegir la opción linux-x86_64/. Como en mi caso dispongo de una arquitectura de 32 bits elijo la opción linux-i686/.\nComo paso final tenemos que elegir el idioma. En mi caso español de España que es la opción es-ES/.\nAhora como podéis ver en la captura de pantalla solamente nos falta dar un clic encima del paquete tar.bz2 para descargar Thunderbird.\nUna vez descargado el paquete tenemos que descomprimir su contenido en la carpeta /opt. Esta operación la podemos hacer con el comando:\nsudo tar -jxvf thunderbird-17.0.5.tar.bz2 -C /opt Nota: thunderbird-17.0.5.tar.bz2 se tiene que sustituir en función de la versión y nombre de paquete que hemos descargado. Nota: En caso de no querer usar el comando se puede realizar manualmente abriendo nuestro gestor de ventanas en modo root. Seguidamente crearemos un enlace simbólico del archivo ejecutable de Firefox al directerio /usr/bin/. Para ello en la terminal teclearemos el siguiente comando:\nsudo ln -s /opt/thunderbird/thunderbird /usr/bin/thunderbird Una vez realizada esta operación ya podemos ejecutar Thunderbird. Para ello abrimos una terminal y tecleamos el comando:\n/opt/thunderbird/thunderbird Y como podemos ver en la siguiente imagen Thunderbird se ejecuta sin problema alguno.\nPara tener que evitar arrancar Thunderbird vía terminal podemos crear un lanzador e incluirlo en el los menús de vuestra distro. Cada distro tiene diferentes métodos para crear sus lanzadores. Por lo tanto para que este post sea útil para todo el mundo crearé el lanzador con un método que sirve para cualquier distro.\nCreamos un fichero de texto en la ubicación /usr/share/applications y lo guardamos con el nombre Thunderbird.desktop. Abrimos el fichero con un editor de textos y copiamos el siguiente texto:\n[Desktop Entry] #Nombre de la aplicación Name=Thunderbird #Comentario que aparece al seleccionar el lanzador Comment=Gestor de Correo #Comando a ejecutar, generalmente el nombre de la aplicación Exec=/opt/thunderbird/thunderbird #Icono del lanzador, puede ser generico o especificar la ruta del mismo Icon=/opt/thunderbird/chrome/icons/default/default256.png #Para no abrir una terminal Terminal=false #Tipo de archivo Type=Application #Codificación del texto Encoding=UTF-8 #Categoria de la aplicación Categories=Application;Network;MailClient;Email;News;GTK; MimeType=message/rfc822; StartupWMClass=Thunderbird-bin StartupNotify=true Guardamos el archivo, y como se puede ver en la imagen en el menú ya nos aparecerá el icono de Thunderbird.\nCOMO TENEMOS QUE ACTUALIZAR FIREFOX Y THUNDERBIRD Seguidamente detallamos los métodos de actualización que tenemos con Firefox y Thunderbird. En el caso que hayas elegido instalar Firefox y/o Thunderbird a través de los repositorios de Linux Mint Debian (Método 1) tan solo tenemos que esperar que nos vayan entrando las actualizaciones. No obstante las actualizaciones no llegan al mismo ritmo que en LMDE. Con el tiempo he observado que solo entran actualizaciones cada 3 o 4 meses. Así por lo tanto si tienes la versión 20 de Firefox instalada puede que no vuelva a entrar una actualización hasta la versión 23.\nOtra opción de actualización que será válida tanto para el método 1 como para el método 2 será actualizar las aplicaciones a través del sistema de actualizaciones que traen tanto Firefox como Thundebird. Para actualizar tenemos que abrir una terminal y arrancar la aplicación que queramos actualizar en modo root. Los comandos para realizar esto son:\nsudo firefox o\nsudo thunderbird Una vez arrancada cualquiera de las 2 aplicaciones tenemos que ir al menú ayuda y después elegir la opción acerca de Firefox o acerca de Thunderbird. Este proceso lo podéis ver en la siguiente captura de pantalla:\nUna vez la opción acerca de Thunderbird o Acerca de Firefox se abrirá la siguiente ventana:\nJusto al abrirse la ventana se realizará la comprobación de si estamos usando la última versión del software o no. En el caso de usar la última versión del software, como podéis ver en la captura de pantalla, aparecerá la frase Firefox/Thunderbird está actualizado. En el caso que no tengamos la última versión instalada nos dará la opción de actualizar. Le decimos que si y tan solo tenemos que esperar a que termine la actualización.\n","permalink":"https://geeklandlinux.github.io/posts/instalar-firefox-y-thunderbird-en-debian-facilmente/","summary":"\u003cp\u003eHoy vamos a ver como instalar Firefox y Thunderbird en Debian fácilmente. Soy relativamente nuevo en Linux y hasta día de hoy siempre había usado Ubuntu pero gracias a Unity he descubierto que existen otras distros. Algo bueno tenia que tener Unity, no? Recientemente he decidido pasarme definitivamente a Debian en su rama testing con el escritorio XFCE 4.8.\u003c/p\u003e","title":"Instalar Firefox y Thunderbird en Debian fácilmente"},{"content":"Hola muy buenas a todo el mundo. Geekland es un blog de tecnología en el que podrás encontrar opiniones personales y tutoriales sobre diversas temáticas como por ejemplo, Linux, Windows, iOS, Android, privacidad, software libre, seguridad informática, Raspberry Pi, etc.\nEl blog nació en Noviembre de 2012 y durante todos estos años he sido yo mismo quien ha creado la totalidad del contenido del blog.\nSegún mi punto de vista Geekland es distinto al resto de blogs por los siguientes motivos:\nLa totalidad de tutoriales mostrados en el blog han sido testeados personalmente antes de su publicación. Los artículos mostrados salen de los intereses y necesidades que tengo en el día a día. Son artículos pensados y escritos por mi mismo. Este blog no se limita ni a traducir ni a reescribir lo que han realizado otros blogs. Los artículos son redactados de forma didáctica y explicando en todo momento lo que estoy haciendo y porqué lo estoy haciendo. Los artículos redactados son serios y rigurosos. Detrás del contenido creado hay horas de trabajo y pruebas. En la mayoría de ocasiones intento resolver las dudas que los lectores dejan en los comentarios de los artículos. La mayoría de artículos del blog se han aplicado en un sistema operativo Debian. En la actualidad la gran mayoría de blogs hablan sobre Ubuntu o Linux Mint. No genero contenido con una frecuencia alta, pero el contenido que genero es de calidad y diferente al resto de blogs. En el blog no hay anuncios. A pesar que los donativos son bienvenidos, el objetivo de este blog no es la monetización. El objetivo del blog es que los lectores puedan adquirir nuevos conocimientos. En el caso que que pienses que el contenido de algunos los artículos es mejorable, te animo a escribir en los comentarios para intentar aportar mejoras. Si quieres realizar algún tipo de sugerencia también puedes contactarme a través del siguiente formulario de contacto.\nSaludos y gracias por visitar este blog.\n","permalink":"https://geeklandlinux.github.io/pages/el-autor/","summary":"\u003cp\u003eHola muy buenas a todo el mundo. Geekland es un blog de tecnología en el que podrás encontrar opiniones personales y tutoriales sobre diversas temáticas como por ejemplo, Linux, Windows, iOS, Android, privacidad, software libre, seguridad informática, Raspberry Pi, etc.\u003c/p\u003e\n\u003cp\u003eEl blog nació en Noviembre de 2012 y durante todos estos años he sido yo mismo quien ha creado la totalidad del contenido del blog.\u003c/p\u003e\n\u003cp\u003eSegún mi punto de vista Geekland es distinto al resto de blogs por los siguientes motivos:\u003c/p\u003e","title":"El Autor"},{"content":"Si tienes alguna duda, sugerencia o propuesta, puedes enviarme un mensaje a través del siguiente formulario y te responderé lo antes posible:\nNombre: Correo electrónico: Mensaje: Enviar mensaje\n","permalink":"https://geeklandlinux.github.io/pages/contacto/","summary":"Ponte en contacto conmigo para cualquier consulta o sugerencia.","title":"Contacto"}]