Jump to content

Search the Community

Showing results for tags 'tutorial'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Contacto con el staff
    • Novedades / Anuncios del foro
    • Sugerencias
    • Problemas relacionados con el foro
  • Zona general de charla
    • Presentaciones
    • Charla
    • Zona de Humor, Curiosidades y Otros
    • Mascotas Vagos
    • Noticias del Mundo
    • Tecnología
    • Ayuda y consultas de carácter general
  • Zona GNU/Linux
    • Ayuda, consultas y soporte GNU/Linux
    • Distribuciones GNU/Linux
    • Repositorios. Software GNU/Linux
    • Personalización
    • Raspberry Pi
    • Arduino
    • Manuales / Tutoriales / Guías GNU/Linux
    • Programación
    • Noticias GNU/Linux
    • Hablando de GNU/Linux
  • Zona Gaming
    • Juegos GNU/Linux
    • Noticias Gamer
    • Charla Gamer
  • Zona Móvil
    • Ayuda y soporte para dispositivos móviles
    • Apps Móviles
    • Manuales / Tutoriales / Guías Móviles
    • Roms para dispositivos Móviles
    • Noticias sobre dispositivos Móviles
    • Hablando sobre dispositivos Móviles
  • Zona Android
    • Ayuda, consultas y Soporte Android
    • Apps Android
    • Roms Android
    • Manuales / Tutoriales / Guías Android
    • Noticias Android
    • Hablando de Android
  • Zona Mozilla
    • Ayuda, consultas y soporte Mozilla
    • Aplicaciones Mozilla
    • Roms Firefox OS
    • Manuales / Tutoriales / Guías Mozilla
    • Noticias Mozilla
    • Hablando de Mozilla
  • Microsoft
    • Papelera del Foro

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Página Web


Diaspora


Pump


GNU Social


Google +


Twitter


Facebook


Xmpp


Skype


Steam


Desura


MediaGoblin


Youtube


Vimeo


Picasa


Flickr


Email


Lugar


Intereses

  1. Con Ubuntu Make podreis tener muchas plataformas de desarrollo sin grandes dolores de cabeza o por lo menos es lo que intenta la aplicación . Despues es hecharle una ojeada podremos instalar muchas cosas como : Por si quereis remover algo se --remove al final del comando ; sudo umake aplicación --remove / ejemplo = Si no os gusta el ubuntu-make Recordad que se llama Ubuntu-make pero el comando es umake para instalar o remover programas dentro de esta aplicación. Como siempre la fuente que saben más que yo -> http://www.edivaldobrito.com.br/como-instalar-ubuntu-make/ Y si te gusta compartelo.
  2. Buenos días compañeros, una de las cosas que más pereza me daba al programar en python es que sin depender de ningún IDE en el terminal no podíamos usar el autocompletado y claro eso cansa bastante. Otro "fallo"(bajo mi punto de vista) es que para limpiar la pantalla tenemos que escribir 3 líneas de código cada vez que iniciamos un terminal y escribimos python. Así que vamos a solucionarlo! Para poder usar las funciones de autocompletado y clear en python jugaremos con .bashrc y crearemos un .pythonrc.py. Una vez creado el .pythonrc.py escribiremos los siguientes códigos: Autocompletado: import readline, rlcompleter readline.parse_and_bind("tab: complete") Función clear: import os class Clear(object): def __repr__(self): os.system('clear') return '' clear = Clear() Guardamos el archivo y lo incluimos en nuestro .bashrc añadiendo esta línea al final del documento: export PYTHONSTARTUP=~/.pythonrc.py #En el caso de que vuestro .py se llame de otro modo o esté ubicado en otro sitio solo hay #que cambiar la ruta y el nombre. Después de añadir esa línea escribimos source .bashrc y ya tendremos las funciones de clear y autocompletado activadas Un saludo!
  3. Bajar ultima versión para linux de la web Descomprimir y, como root, mover a /opt/ tar xvf firefox-40.0.2.tar mv firefox/ /opt/ Enlazar con /usr/local/bin: ln -s /opt/firefox/firefox /usr/local/bin Crear acceso directo desde kde y listo Plugins Crear directorio para plugins mkdir /opt/firefox/browser/plugins Y enlazar los necesarios, por ejemplo java ln -s /usr/lib64/java/jre/lib/amd64/libnpjp2.so /opt/firefox/browser/plugins/
  4. Con la idea de ofrecer un Linux bien configurado y mucho más optimizado para equipos de escritorio de uso general, multimedia y Gaming que las imágenes precompiladas que ofrecen las distribuciones por defecto, que para las que usan una configuración muy genérica, nace el proyecto Liquorix. Además de una configuración enfocada a conseguir una mejor respuesta del kernel en los equipos de escritorio, también se aplican un gran número de parches y mejoras específicas para estos equipos, como por ejemplo BFS (Brain Fuck Scheduler). Existe un repositorio para Debian que nos permitirá tener nuestra imagen del kernel siempre al día como si de cualquier otro paquete se tratase. Para ello, hay que añadir la correspondiente línea del repositorio a nuestro sources.list y también las correspondientes llaves: Debian echo 'deb http://liquorix.net/debian sid main' > /etc/apt/sources.list.d/liquorix.list aptitude update apt-get install '^liquorix-([^-]+-)?keyring.?' Además del repositorio principal, existen dos ramas más que podemos utilizar: Si somos algo osados y queremos probar futuras versiones del kernel, podemos utilizar la rama "future" deb http://liquorix.net/debian/ sid main future Si, por el contrario, preferimos quedarnos con una versión del kernel más antigua y con soporte prolongado, apuntaremos a la rama "past" deb http://liquorix.net/debian/ sid main past La posterior instalación de la imagen y cabeceras del kernel se hará teniendo en cuenta nuestra arquitectura y la del sistema Debian instalado: x86 (i386) aptitude install linux-headers-liquorix-686 linux-image-liquorix-686 x86_64 (amd64) aptitude install linux-headers-liquorix-amd64 linux-image-liquorix-amd64 Tras este sencillo proceso ya estaríamos listos para iniciar con el nuevo kernel, sin olvidar que podríamos necesitar algún ajuste o reinstalación de nuestros controladores gráficos, aunque hoy en día con Dkms eso no debería ser ningún problema Scripts de configuración/optimización Además del repositorio para Debian, este proyecto va aún más allá y cuenta con varios scripts que podemos utilizar para realizar las tareas de optimización más específicas en nuestro sistema, tanto con el script general Smxi, como con el que está centrando únicamente en el aspecto gráfico con Sgfxi La utilización de dichos scripts es bastante sencilla, basta con descargarlos, darles permisos y ejecutarlos, pero con una pega y es que algunas de sus funciones sólo podrán utilizarse desde fuera del entorno gráfico, especialmente las relacionadas con Sgfxi. En nuestro caso los colocaremos en /usr/local/bin para poder tenerlos más a mano: NOTA aunque pueden funcionar para otros casos,los scripts están pensados para trabajar con las ramas Testing y Unstable de Debian, no con Debian Stable u otros derivados Ciclyng release. instalación Smxi (Script General) cd /usr/local/bin && wget -Nc smxi.org/smxi.zip && unzip smxi.zip && smxi Sgfxi (Script para temas gráficos) cd /usr/local/bin && wget -Nc smxi.org/sgfxi && chmod +x sgfxi && sgfxi Uso Ejecución dentro del entorno gráfico: Soy consciente que un par de líneas atrás he dicho que algunas tareas debían realizarse fuera del entorno gráfico, pero mientras no sea estrictamente necesario, ejecutaremos liquorix de la siguiente manera, para indicarle que nos encontramos dentro del entorno gráfico. smxi -G La primera vez que lo ejecutemos, Smxi empezará haciéndonos preguntas sobre nuestro sitema para ajustar la configuración convenientemente, tan sólo tendremos que ir eligiendo la opción correspondiente en cada caso introduciendo en la terminal el número correspondiente a dicha opción. Una vez configurado, podremos acceder a todas las opciones y menús del script, incluyendo el proceso descrito en el apartado anterior, instalar una versión kernel Liquorix desde el repositorio oficial, desde el menú kernel-options >> alternate-kernel-install Estos scripts dan muchísimo juego y nos permitirán realizar un gran número de tareas, desde instalar un entorno gráfico a mejorar el desempeño de firefox, jugar con nuestros repositorios, instalar el último libreoffice... Todo mediante menús muy simples y bien explicados (en inglés, eso sí) No obstante, nunca está demás leer el manual para saber más acerca de lo que podemos hacer con este impresionante script: Manual oficial de Sxmi: http://smxi.org/docs/smxi-manual.htm En el caso de Sfgxi el panorama es muy similar, aunque en este caso sí que debemos tener muy en cuenta la recomendación de ejecutarlo fuera del entorno gráfico, aunque al contar con las mismas opciones que Smxi también podremos utilizar: sgfxi -G En este caso, el script se centrará específicamente en lo referente a nuestros controladores gráficos, permitiéndonos instalar la última versión de los mismos, modificar la configuración de Xorg, habilitar/deshabilitar funciones gráficas específicas... Igualmente, no está demás leer el manual para saber más acerca de lo que podemos hacer él: Manual oficial de Sgfxi: http://smxi.org/docs/sgfxi-manual.htm Actualización de los scripts En ambos casos, podremos mantener siempre al día los scripts de liquorix mediante la opción -U smxi -U sgfxi -U Compilando el kernel manualmente Para los que prefieran compilar un kernel a medida, pero aprovechando las mejoras del proyecto liquorix, también existe la opción de descarga los parches y la configuración de liquorix por separado, para luego aplicárselos al código fuente oficial de Linux para después compilarlo en nuestro equipo. Como se indica en la guía para "Configurar y compilar el kernel Linux (varios métodos), el parche lo aplicaremos, tras descomprimir el código fuente y situándonos dentro del directorio resultante mediante la orden: patch -p1 < /ruta/del/Parche.patch Además de esto, debemos descargar el archivo de configuración correspondiente a nuestra arquitectura e incluirlo dentro del directorio anterior, con el nombre ".config" Ambos los encontraremos en la FTP del proyecto, el parche dentro de un comprimido tar.gz y los config dentro del directorio correspondiente a la versión del kernel a compilar: http://liquorix.net/sources/ Una vez aplicados todos los parches e incluidos (y renombrados) los ficheros de configuración, podremos compilar nuestra versión Liquorix "casera" de Linux de la manera habitual, sin olvidar que aún podemos dar otra vuelta de tuerca más haciendo alguna configuración más personalizada primero: make menuconfig Una vez terminada la configuración o si no queremos configurar nada más, procederemos a compilarlo make make modules make modules_install make install Si todo ha salido bien ya estaríamos listos para iniciar con el nuevo kernel, sin olvidar que podríamos necesitar algún ajuste o reinstalación de nuestros controladores gráficos, aunque hoy en día con Dkms eso no debería ser ningún problema. Para más información sobre este proyecto: http://liquorix.net/ http://smxi.org/
  5. Aunque los Manjareros más viejos ya conocerán esto, los nuevos usuarios siempre agradecen estos aportes Pequeño vídeo tutto de cómo instalar el Kernel 4.1.0 en Manjaro usando la herramienta (mhwd-kernel) Manjaro Kernel integrada en Manjaro Hardware Detection Vídeo disponible a 1080p HD, ideal para verlo a pantalla completa. Enlace directo a Youtube.
  6. En ocasiones, bien para trabajar, desarrollar, probar o utilizar algún software muy concreto, debemos utilizar Android fuera de nuestro dispositivo móvil y para hacer esto nos vemos obligado a recurrir a un emulador. Existen numerosas alternativas, pero la que hoy nos ocupa es Genymotion, un software simple y rápido a la par de potente, que nos permitirá realizar estas tareas sin problema. Genymotion está disponible en diferentes versiones, según nuestras necesidades y, en este caso, nos decantamos por la versión gratuita. Esta alternativa de emulación es ciertamente "especial", ya que al contrario que otras corre sobre una máquina virtual, concretamente virtualBox. Siendo así, el primer paso para utilizar Genymotion es tener instalado y operativo Virtualbox Podemos obtenerlo desde los repositorios de nuestra distribución o bien desde su web oficial, siempre y cuando lo tengamos operativo antes de empezar no importa más Cumplidos los requisitos previos toca registrarse en la web de Genymotion para posteriormente descargar la versión de éste que corresponda a la arquitectura de nuestro sistema/procesador. https://cloud.genymotion.com/page/customer/login/ Tras haber descargado el ejecutable pertinente y tras darle permisos de ejecución, sólo tendremos que ejecutarlo y seguir los pasos que se nos presenten. Una vez finalizado el proceso tendremos una carpeta genymotion con un ejecutable homónimo que nos permitirá poner todo en marcha. A partir de aquí ya sólo queda ir añadiendo teléfonos y empezar a trastear http://www.genymotion.com/
  7. SimpleScreenRecorder es un screencaster de codigo abierto disponible para cualquier distribución linux. En mi opinión es el mejor pero a gustos los colores. En este caso nos centraremos en debian 8.0 jessie. Comenzemos 1. Descargamos el archivo .tar.gz desde la web del autor. link directo: https://github.com/MaartenBaert/ssr/archive/master.tar.gz 2. Extraemos el .tar.gz donde nosotros queramos. 3. Antes de compilar nuestro SimpleScreenRecorder necesitaremos los siguientes paquetes. GCC y make pkg-config Qt 4 ffmpeg or libav (libavformat, libavcodec, libavutil, libswscale) Librería ALSA Librería PulseAudio opcional, puede deshabilitarse durante la compilación usando --disable-pulseaudio Librería JACK opcional, puede deshabilitarse durante la compilación usando --disable-jack libGL (32 y 64 bit) libGLU (32 y 64 bit) libX11 (32 y 64 bit) libXfixes (32 y 64 bit) libXext libXi Para instalarlos haremos lo siguiente Añadimos la arquitectura de 32 bits sudo dpkg --add-architecture i386 Actualizamos los repositorios sudo apt-get update Instalamos los paquetes sudo apt-get install build-essential pkg-config qt4-qmake libqt4-dev libavformat-dev libavcodec-dev libavutil-dev libswscale-dev libasound2-dev libpulse-dev libjack-jackd2-dev libgl1-mesa-dev libglu1-mesa-dev libx11-dev libxfixes-dev libxext-dev libxi-dev g++-multilib libx11-6 libxext6 libxfixes3 libxfixes3:i386 libglu1-mesa:i386 4. Compilamos SimpleScreenRecorder Hacemos un cd a la carpeta de SimpleScreenRecorder que hemos extraido antes. Ejemplo cd Escritorio/ssr-master Compilamos el programa usando el siguiente comando ./simple-build-and-install ¿No compila? Si salta algún error durante la compilación introduciremos los siguientes comandos cd /usr/lib/i386-linux-gnu sudo ln -s libGL.so.1 libGL.so sudo ln -s libGLU.so.1 libGLU.so sudo ln -s libX11.so.6 libX11.so sudo ln -s libXext.so.6 libXext.so sudo ln -s libXfixes.so.3 libXfixes.so sudo ldconfig ¿Aún no compila? Si estás usando los drivers libres no debería volver a fallar. Si estás usando los drivers privativos de nvidia. (En AMD será algo parecido pero como no se si funciona porque no puedo probarlo debido a que no tengo una tarjeta gráfica de AMD no lo pongo) Si teneis los drivers privativos de nvidia y saltan errores durante la compilación probad a instalar el siguiente paquete sudo apt-get install libgl1-nvidia-glx:i386 A mi me funcionó Y ahora... Unas screenshots
  8. Gracias a hkoster1 de los foros de Debian User Forums por este magnífico Tuto: Propósito de este Tutorial: La manera más simple de lidiar con el arranque UEFI es utilizar el último instalador de Debian, disponible para la versión Amd64 de Wheezy y posteriores en un equipo Con UEFI, provisto de una tabla de particiones GUID(GPT). Teniendo esto, no es necesario seguir el tutorial que viene a continuación, el trabajo ya estaría hecho. En el resto de casos, el siguiente tutorial describe como podrías migrar a UEFI, partiendo desde una instalación inicial usando una instalación tradicional BIOS, en un equipo que soporta tanto BIOS como UEFI. El tutorial se divide en dos partes, siendo laprimera el proceso en sí y la segunda, las opciones de arranque disponibles. NOTA Este turotial no tiene nada que decir sobre iniciar kernels certificados en hardware UEFI... eso es otra historia diferente. AMD64 Debian Installer y UEFI El tutorial se aplica a la arquitectura Amd64, en el que primero instalamos la última Wheezy (o versión superior) con el firmware colocado en modo "legacy BIOS" de la manera que se ha hecho toda la vida. Después del primer reinicio (Todavía en modo Legacy) la instalación será modificada para el arranque UEFI El tutorial se centra en cómo debe realizarse el proceso cuando Debian GNU/Linux es el único sistema operativo. Para una instalación en Dual-boot junto a "Ese os cuyo nombre no debe ser pronunciado" habría que tener un poco más de cuidado a la hora de particionar el disco duro, pero por lo demás el proceso es muy similar. El ejemplo aquí mostrado se ha llevado a cabo en VMware Fusion (version 5), la cual utiliza el modo BIOS por defecto y puede ser posteriormente cambiado a modo UEFI. 1. Particionar el disco duro UEFI is often partnered with the GUID Partition Table (GPT), just as BIOS and the MBR Partition Table are thought to belong together. Fact is, though, that both partition tables can be used with either UEFI or BIOS. GPT offers many advantages over MBR partitioning, not in the least since it does away with the distinction between primary and logical partitions. The D-I partitioner knows about GPT, but has no option to install it, so this must be taken care of before starting the D-I. La manera recomendada de instalar GPT es arrancando con un Live-CD (64-bits), como puede ser PartedMagic, pero tenga en cuanta que al hacerlo se borrará el contenido del disco Duro. Otra forma de hacerlo, también con PartedMagic, para cuando ya tenemos un sistema operativo instalado, en cuyo caso, la EFI System Partition (ESP) podría ser demasiado pequeña para almacenar en ella los bootloaders. Un tamaño suficiente para la partición ESP serían 250 MB, o algo más en el caso de que queramos incluir también imágenes del kernel den la ESP. Deberíamos tener siempre una copia del contenido de dicha partición, para que en caso de querer redimensionar o reposicionar la ESP, podamos trabajar sin reparos con PartedMagic y luego reponer los datos desde nuestra copia de seguridad. En cualquier caso, el formato de esta partición debería ser "FAT32" (o EFI boot filesystem); no es necesario que sea la primera partición primaria (como suele ocurrir con el innombrable), pero nos simplificará las cosas si hacemos que así sea. También podríamos decidir (después de realizar una copia de seguridad del sistema instalado) redimensionar o crear de nuevo las particiones del disco duro, quizá con GPT, la indispinsable partición ESP y una partición nueva para otro sistema operativo, además de, por supuesto, suficiente espacio libre para Debian GNU/Linux; y entonces re/instalar el otro sistema antes de iniciar el instalador de Debian (Siempre asegurándonos de no modificar las particiones que previamente hemos realizado durante el proceso de instalación del sistema operativo). 2. Instalando Debian GNU/Linux Con el disco duro preparado y el equipo en modo "legacy BIOS", inicie la instalación de Debian Amd64 de la manera habitual, teniendo en cuenta, como acabamos de decir, que el instalador no modifique las particiones IMPORTANTE: Elija el modo manual al llegar a ese punto de la instalación Recordemos que La partición para el sistema EFI, si no la hemos hecho todavía, debe ser, al menos, de 250MB, sistema de ficheros FAT32 y no se especificará ningún punto de montaje para la misma.Es conveniente también que la ESP sea la primera partición primaria, por lo cual a partir de este punto del tutorial la trataremos siempre como /dev/sda1 También reservaremos de 1MB para BIOSGRUB (Reserved BIOS boot area) al final del espacio libre del disco. Esta minipartición puede ser requerida después de que el arranque UEFI sea configurado. NOTA En modo automático, el instalador de Debian podría colocar esta partición en primer lugar (/dev/sda1) y no queremos eso. El espacio restante lo podemos particionar como queramos, para luego seguir con el proceso de instalación. Al finalizar, GRUB será instalado en elMBR (y también en BIOSGRUB), la versión incorrecta para trabajar con EFI, pero lo arreglaremos después de reiniciar. Hay que tener en cuenta que reparar esto antes de reiniciar en chroot hará que todo falle si el módulo del kernel efivars o está incluido en la imagen de instalación de Debian... (Como puede ser el caso de algunas snapshots de Debian Testing). 3. Configurando GRUB para UEFI Reiniciamos nuestro Debian GNU/Linux todavía en modo "legacy BIOS", entonces, con privilegios de root, montamos la partición EFI (que asumimos que es /dev/sda1), mkdir /boot/efi mount /dev/sda1 /boot/efi Instalamos GRUB para EFI modprobe efivars aptitude install grub-efi-amd64 grub-install /dev/sda update-grub También eliminaremos el paquete grub-pc durante el proceso. Los mensajes de rror acerca de procfs y sysfs podemos ignorarlos, pero el propio GRUB debe indicar que ha sido instalado sin ningún problema. Ya casi lo tenemos. Llegados a este punto GRUB iniciará desde el archivo /EFI/debian/grubx64.efi en la partición ESP, siempre y cuando UEFI sepa de su existencia como opción de booteo. Hay varias maneras de hacer esto, algunas de ellas sólo pueden realizarse después de que Debian sea reiniciado con UEFI... UEFI siempre buscará /EFI/boot/bootx64.efi en la ESP y tratará de arrancar con él por defecto. Así que, bueno, teniendo este método, que puede ser posteriormente modificado para lidiar con sitiaciones de arranque más complicadas, tal como se inidica a continuación: mkdir /boot/efi/EFI/boot cp /boot/efi/EFI/debian/grubx64.efi /boot/efi/EFI/boot/bootx64.efi Tu sistema ya está listo para iniciar bajo UEFI. 4. Primer arranque con UEFI Ahora, tras reiniciar, accederemos al menú de UEFI y cambiaremos por fin el Modo "legacy BIOS" por el modo UEFI (No está de más consultar el manual de nuestra placa base para esto). Una vez hecho iniciamos y UEFI debería encontrar GRUB en la posición por defecto para Debian GNU/Linux. Sólo en el caso de que eso no ocurra, reinicie el equipo y vuelva a entrar en el menú de UEFI, vaya al "Boot Maintenance Manager" y seleccione manualmente el archivo correspondiente de la ESP con el que debe arrancar. Tras el primer arranque, podríamos querer lidiar con opciones de arranque más complejas, añadiendo al GRUB las órdenes almacenadas por UEFI en un chip de memoria de la placa base. Esto lo haremos con el programa efibootmgr program, que también depende el módulo del kernel efivars y que encontraremos en repositorios. efibootmgr -c -l "\\EFI\\debian\\grubx64.efi" -L "Debian GNU/Linux" Asumiendo nuevamente que los datos de la ESS están en /dev/sda1 (Otra de las razones para haberla colocado ahí). El tener que colocar barras invertidas es culpa del innombrable y su manera de hacer (mal) las cosas... La salida de este comando será un número con varias opciones de arranque; la última instalada, Debian GNU/Linux (o GRUB, actualmente), tendría en el caso del ejemplo el número 0004 y sería la primera en arrancar. El orden de arranque puede variar con el mismo comando efibootmgr, por ejemplo cuando otro sistema con el número 0003 debe arrancar por defecto. efibootmgr -o 3,4 Podríamos poner la opción 0003 sobre 0004 (Ver el manual con las opciones de efibootmgr La siguiente parte del tutorial hablará de algunas de las opciones de arranque. No vamos a tocar demasiadas opciones, pero sí algunos aspectos w.r.t. que nuestro Debian GNU/Linux puede puede utilizar después de su instalación. 1. Menú UEFI El manual de nuestra placa base nos dirá que tecla debemos pulsar durante el arranque para acceder al menú UEFI (Normalmente F2). En él hay dos elementos de especial interés: Boot Manager y Boot Maintenance Manager. Boot Manager Este submenú muestra las opciones de arranque disponibles tal como las conoce UEFI Podrías utilizar este escueto menú para arrancar un sistema que no esté por defecto, siempre que seamos lo suficientemente rápidos como para pulsar a tiempo la tecla de dicha funcioón durante el arranque. Boot Maintenance Manager Este menú muestra la opción de Arrancar desde un archivo ("Boot from a file"), como puede ser grubx64.efi, para lo cual tendrás que elegirlo siguiendo la ruta de la Partición EFI >> El directorio <EFI> >> el directorio <debian>, tal y como vimos anteriormente. De hecho, cualquier bootloader instalado en la partición ESP (o cualquier partición o unidad fat32) puede ser iniciada de esta manera, tanto si se lo hacemos saber a UEFI (via efibootmgr) como si no. Esto puede ser muy útil durante la configuración, posiblemente cuando experimentemos con las opciones de arranque. 2. Menú rEFInd El menú rEFInd es una "estilosa" alternativa al menú UEFI, con algunas ventajas importantes: No será necesario ser super rápido pulsando teclas durante el arranque para acceder a él y maneja todas las posibles opciones de arranque en la ESP sin tener que almacenarlas primero en la UEFI NV-RAM. rEFInd es un fork del popular menú rEFIt utilizado por para iniciar GNU/Linux e modo MBR-legacy en equipos MAC con EFI. rEFInd puede ser descargado desde http://www.rodsbooks.com/refind/. La documentación del sitio puede resultar un poco confusa, así que aquí van algunos puntos a tener en cuenta para instalar rEFInd para que encage con el proceso que venimos realizando en el tutorial: a. Necesitaremos al menos dos archivos de rEFInd, refind_x64.efi y refind.conf, el segundo no es mas que una versión editada del refind-sample.conf. Tambiñen necesitaremos un subdirectorio de iconos y otros elementos gráficos para hacer que el menú luzca como queramos . b. Lo más simple, acorde con el resto del tutorial, es realizar manualmente la instalación en la ESP, montándola primero si no está ya montada. mount /dev/sda1 /boot/efi mkdir /boot/efi/EFI/refind cp refind_x64.efi refind.conf /boot/efi/EFI/refind/ cp refind_x64.efi /boot/efi/EFI/boot/bootx64.efi La última línea hará que UEFI arranque por defecto en el menú de rEFInd. Copiar también algunos archivos de iconos, etc, tal como se explica en la documentación de la página de rEFInd. c. Una alternativa al punto b. es utilizar efibootmgr para añadir rEFInd a la UEFI NV-RAM, como se ha descrito anteriormente en el tutorial. Funcionará iagul de las dos maneras. d. Podrías tener que mover el bootloader de "Ese otro sistema" desde /boot/efi/EFI/boot/ a un directorio separado /boot/efi/EFI/<otherOS>/ mkdir /boot/efi/EFI/<otherOS> mv /boot/efi/EFI/boot/<otherOS>.efi /boot/efi/EFI/<otherOS>/ umount /dev/sda1 Tu PC iniciará ahora en el menú rEFInd en el arranque, permitiéndote elegir el bootloaders que vas a iniciar. http://forums.debian.net/viewtopic.php?f=16&t=81120
  9. Telegram, el sistema de mensajería instantánea que surgió hace relativamente poco como oposición más libre y abierta a los sistemas más populares del momento sigue tratando de hacerse un hueco en el mercado y aunque ya existen numerosas formas de conectarse al servicio, tanto oficiales como surgidas de la comunidad, tarde o temprano el todopoderoso Pidgin nos tenía que brindar también esta posibilidad. En primer lugar, es evidente que tendremos que instalar Pidgin y algunas librerías para poder hacer funcionar posteriormente el plugin, que está basado en Telegram-Cli, que nos permitirá utilizar Telegram como un servicio de mensajería más dentro de pidgin. Instalar dependencias necesarias Archers Gracias a AUR la cosa se simplifica bastante, ya que el plugin de telegram purple que vamos a utilizar con Pidgin está disponible ahí. Podemos resolver todo de un plumazo sin necesidad de compilar el plugin después manualmente. pacman -S pidgin yaourt -S telegram-purple-git Lista la parte de la instalación/compilación, sólo queda configurar y usar Debianeros aptitude install python2.7 libssl-dev libglib2.0-dev libpurple-dev git make g++ Fedorianos yum install gcc openssl-devel glib2-devel libpurple-devel OpenSuseros zypper install gcc glib glib-devel libpurple libpurple-devel zlib-devel openssl libopenssl-devel Compilar el plugin Telegram-purple Lo descargamos desde github con git (valga la redundancia) git clone --recursive https://github.com/majn/telegram-purple Compilamos el plugin de pidgin y lo colocamos en su lugar cd telegram-purple ./configure make; make install Lista la parte de la instalación/compilación, sólo queda configurar y usar Configurar la cuenta y usar el cliente Para poder hacer uso de Telegram desde pidgin necesitaremos configurar nuestro usuario, para lo cual nos vamos a añadir nueva cuenta y seleccionamos como servicio el que acabamos de añadir. Como nombre usuario usaremos nuestro número de teléfono precedido del código de nuestro país, en mi caso +34 Es importe tener el teléfono (el dispositivo real) a mano porque nos van a pedir que verifiquemos la cuenta Hecho esto y de una manera tan sencilla ya tendremos Pidgin listo para comunicarnos con nuestros contactos a través de Telegram Web del proyecto https://github.com/majn/telegram-purple
  10. Muchos ya conocerán KDEnlive, el potente editor de vídeo no lineal del entorno gráfico KDE que además de versátil es también muy intuitiva para los que empiezan en el mundo de la edición multimedia. Gracias a linuxito he dado con algo que de bastante interés como es el poder estabilizar los vídeos que grabamos y los que ya conocen mis "obras" sabrán de sobra que soy el primero que debería aplicarse el cuento con lo que viene a continuación Evidentemente, lo primero que debemos hacer es instalar Kdenlive y no sólo el editor sino también mlt con todas sus dependencias, puesto que la mayoría de efectos y filtros dependen de este framework Arch pacman -S kdenlive mlt Debian aptiude install kdenlive Fedora yum install kdenlive mlt OpenSuse zypper install kdenlive mlt Al ejecutar por primera vez kdenlive nos aparecerá un asistente que aparte de permitirnos configurar algunas cosas nos mostrará los módulos y codecs soportados/instalados Y como pueden ver en el momento de tomar la captura a mí me faltaba uno Lo he obviado por ser para captura digital, pero como ya dije antes, no está de más instalar todo por si en algún momento lo necesitamos. Una vez pasemos el asistente, que no tienen ningún misterio, estaremos por fin listos para explotar todo el potencial de Kdenlive Estabilizar un vídeo Aquí vamos directos al grano, tenemos un vídeo que ha sido grabado con movimiento que queremos "compensar", estabilizarlo para no marearnos. No me voy a centrar en el manejo de Kdenlive, eso se los dejo a ustedes, practiquen, destrocen las córneas de alguien haciéndole ver sus proyectos caseros... https://userbase.kde.org/Kdenlive/Manual Para empezar agregamos el vídeo con el que nos interesa trabajar a la lista de clips y vamos a ponernos manos a la obra. Lo siguiente es la parte más complicada, así que cuidado y es que, como ven en la imagen se trata de hacer clic secundario sobre el clip añadido, ir a "tareas de clip" y luego darle a "estabilizar". Sé que les costará procesarlo, así que mejor tomarse unos minutos mentalizándose antes de emprender tan hercúlea gesta Tenemos dos modos con los que "jugar", uno más sencillo, vstab y otro algo más complejo, transcodificar. No entraré en muchos detalles, al igual que antes, es cuestión de probar y elegir el que mejor nos convenga Vstab Tenemos una única opción a ajustar, Shutter angle, que es el ángulo máximo que la imagen puede ser rotada para conseguir estabilizar el vídeo Transcode Más opciones con las que jugar y la posibilidad de obtener un resultado más fino si elegimos los valores adecuados. optzoom = Usar zoom óptimo (Calculado mediante transformación). Hace que el zoom de vídeo hasta el 90% de las transformaciones esté oculto. accuracy = Precisión de la detección de temblores. Factor. 1: bajo (procesado rápido) Factor 15: alto (procesado lento) Valor por defecto 4, valor recomendado 8 maxangle = Máximo ángulo de rotación (expresado en radianes). -1 = sin límite zoom = Zoom adicional durante la transformación. El zoom especificado aquí es añadido al zoom calculado optzoom zoom > 0 = zoom in zoom <0 = zoom out shakiness = ¿Cómo de tembloroso es el vídeo, cómo de rápido se mueve la cámara? Los valores altos influyen en la precisión, normalmente no es necesario superar el valor 7 1: Poco (procesado rápido) 10: Muy fuerte/rápido (procesado lento) sharpen = Agudizar, nitidez de la imagen transformada. stepsize = Tamaño de paso del proceso de búsqueda, la región alrededor se escanea con un mínimo de 1 pixel de resolución. mincontrast = Por debajo de este nivel de contraste, el campo se descarta. Rango 0-1, valor por defecto =0.3. Para vídeo con un contraste muy bajo necesitaremos bajar este valor. smoothing = Controla la cantidad de suavizado/estabilización. Cuanto mayor sea el valor de suavizado más se compensan los movimientos de la cámara. El clip resultante sufre un cambio menor en la velocidad de la cámara. Técnicamente es el número de fotogramas para el filtrado que equivale a = suavizado * 2 + 1. maxshift = Máximo número de píxeles para traducir la imagen. (Por defecto = -1 sin límite) crop = El borde de las imágenes transformadas contiene píxeles de los fotogramas anteriores. Marcado = fondo negro Por defecto = desmarcado https://userbase.kde.org/Kdenlive/Manual/Project_Menu/Stabilize En ambos casos el archivo resultante se guardará en formato .mlt y, por defecto, debería añadirse automáticamente como un nuevo clip al proyecto en el que estamos trabajando para que podamos disponer de él como queramos. Eso sí, he de advertir que es un proceso muy lento y que demanda muchos recursos, así que paciencia ante todo y no olvidar que, como verán en el ejemplo, la estabilización tiene sus límites, se pueden hacer grandes cosas, pero tampoco milagros
  11. Al contrario que otros métodos que hacen uso del Android SDK, máquinas virtuales o cualquier otro tipo de emulación/virtualización, este método utiliza únicamente pidgin y uno de sus muchos plugins que nos da acceso a la red de Whasapp como si del cliente nativo se tratase, sin tener que lidiar con Java u otras tecnologías de la misma índole. Gracias a Latam por tan buena idea http://gulch.org.mx/whatsapp-via-pidgin-en-archlinux-y-derivados/ En primer lugar, es evidente que tendremos que instalar Pidgin y algunas librerías para poder hacer funcionar posteriormente el script que nos ayudará a registrar el nuevo "teléfono" desde el que nos vamos a conectar. Archers Gracias a AUR la cosa se simplifica bastante, ya que tanto el plugin como el script de yowsup están disponibles allí pacman -S pidgin yaourt -S python2-yowsup-git python2-argparse yowsup-client-git Lista la parte de la instalación/compilación, sólo queda configurar y usar Debianeros Toca trabajar un poquito más aptitude install python2.7 python-dateutil python-argparse pidgin libglib2.0-0 libglib2.0-dev libpurple-dev git make g++ libfreeimage-dev Descargamos los scrits y el plugin con git git clone https://github.com/davidgfnet/whatsapp-purple.git git clone https://github.com/tgalal/yowsup.git Compilamos el plugin de pidgin y lo colocamos en su lugar cd whatsapp-purple make; make install cp -rf libwhatsapp.so /usr/lib/pidgin/ cd .. y finalmente damos permisos al script de configuracion/autentificación yowsup chmod +x yowsup/yowsup-cli Lista la parte de la instalación/compilación, sólo queda configurar y usar Fedorianos Para ellos el compañero @@Mgbu se ha currado una guía exclusiva http://gnulinuxvagos.es/topic/2323-whatsapp-p-pidgin-en-fedora Configurar la cuenta y usar el cliente Para poder hacer uso de Whatsapp desde pidgin necesitaremos configurar primero el script de Yowsup para registrar nuestro nuevo "teléfono" o hacernos pasar por el que utilizamos habitualmente para acceder a esta red de mensajería instantánea. Con el nuevo yowsup cli 2.0 hay una serie de consideraciones extras a tener en cuenta, ya que las últimas trabas impuestas por Whatsapp hacen el proceso de registro algo más complicado que antes antes de realizar la petición debemos conocer algunas cosas fundamentales: Código del país (CC) Número de teléfono (irá precedido también por el código del país) Código móvil del país (MCC) (Opcional) Código de la red (MNC) (Opcional) La autentificación se realizará mediante el código que nos llegará, según especifiquemos, vía mensaje SMS o llamada de voz. Debemos asegurarnos bien que todos los datos sean correctos antes de realizar la petición, de lo contrario el código no llegará y nos podrían penalizar con un tiempo de espera de horas o incluso días si lo intentamos varias veces consecutivas sin éxito. Para no escribir un comando kilométrico vamos a definir un archivo de configuración "config" donde fijaremos el teléfono y el código del país: Como ven, aunque definimos el código del país por separado, éste siempre precederá al número de teléfono en todas las operaciones. La contraseña la hemos dejado vacía porque aún no la tenemos Hacemos la petición ./yowsup-cli registration --requestcode sms --phone 34XXXXXXXX --cc 34 -c /ruta/archivo/config Modificando el valor --requestcode entre sms o voice, especificamos el medio a través del que nos llegará el código de activación ./yowsup-cli registration --requestcode voice --phone 34XXXXXXXX --cc 34 -c /ruta/archivo/config Pasados unos instantes (no desesperen si tarda un poco más de la cuenta), nos llegará dicho código de activación de Whatsapp, que ahora tendremos que registrar para que nos den por fin nuestra clave real de acceso a whatsapp. después de --register colocaremos los 5 números del código sin espacios ni guiones, seguidos nuevamente del teléfono y el código del país yowsup-cli registration --register xxxxxx --phone 34XXXXXXXX --cc 34 Si todo ha salido bien el script les devolverá un mensaje con todos nuestros datos, incluida la contraseña real del servicio (pw:) que podremos utilizar libremente con Pidgin Cuando accedan a Pidgin verán un nuevo protocolo disponible en el cliente, el de WhatsApp Y podremos añadir nuestros datos como si de cualquier otra cuenta de mensajería instantánea se tratase, siendo nuestro usuario el número de teléfono (Siempre con el código del país primero) y la contraseña, el galimatías de número símbolos y letras que nos ha devuelto el script que acabamos de ejecutar Ya tendríamos todo listo para utilizar este servicio como si estuviéramos conectados desde nuestro teléfono móvil pero con todas las ventajas de estar en un PC. No obstante, lo más probable es que Pidgin no sea capaz de añadir automáticamente todos los contactos que ya teníamos en nuestra cuenta, así que nos tocará añadir a mano más de uno y, vuelvo a insistir, lo haremos siempre con el código internacional delante del número.
  12. En algunas ocasiones puede ocurrir que al ejecutar una aplicación ajena a los repositorios del sistema, nos encontremos con que nos falta alguna librería para ejecutarla, algún paquete... Suele ser complicado saber a qué paquetes tenemos que recurrir para dar con lo que necesitamos. Por eso precisamente contamos con varias opciones para saber dentro de qué paquete está lo que necesitamos APT-File Disponible en repositorios, esta sencilla pero potente herramienta nos permitirá encontrar lo que necesitemos dentro de los paquetes disponibles en repositorios aptitude install apt-fileLo primero, antes de empezar a trabajar y al igual que haríamos con aptitude, es actualizar la lista de paquetes. apt-file update Y ya podremos empezar a trabajar con él haciendo uso de las distintas opciones que nos ofrece: Mostrar qué paquetes incluyen cierto contenido apt-file search contenidoProceso inverso, listar contenido completo de un paquete concreto apt-file list paqueteBuscar sólo entre los paquetes de cierta arquitectura apt-file search -a arquitectura contenidoMostrar sólo el nombre del paquete al finalizar la búsqueda, sin detalles apt-file search --package-only contenidoEliminar el contenido del caché de apt-file apt-file purgeY, por supuesto, ver todas las opciones disponibles. apt-file --help Motor de búsqueda Debian Desde https://packages.debian.org/ o a través del motor de búsqueda que seguro incluirá el navegador Iceweasel. El motor de búsquedas es muy completo y preciso. Para buscar una archivo concreto y en qué paquete podemos encontrarlo basta con utilizarlo con las opciones correctas
  13. /tmp es un directorio volátil donde se almacenan los datos temporales utilizados por las aplicaciones y usuarios y cuyo contenido es borrado al terminar la sesión o reiniciar el sistema. Este directorio está montado por defecto en una de las particiones del disco duro (HDD o SSD), comunmente en la partición raíz. En situaciones en las que se haga un uso intensivo de este directorio, como a la hora de compilar el código fuente de algún software o servidores que vean mermado su rendimiento por escribir gran cantidad de datos en temporales, podría no ser conveniente tenerlos de esta manera. Por esto, montar el directorio /tmp directamente en la ram puede suponer un gran aumento del rendimiento, pues la tasa de lectura/escritura de la memoria Ram es muy superior a la de cualquier Disco duro convencional o SSD. No obstante, también debemos tener en cuenta que el espacio que ocupen los temporales en RAM no podrá ser utilizado para otras tareas. La clave para realizar este proceso es TMPFS, el cual nos permitirá montar los temporales en ram como si fuera otra partición más del disco duro, pero con un sistema de archivos diferente. Montaje Manual mediante el comando MOUNT Para un montaje no permanente que nos permita realizar una tarea concreta y luego poder devolver el sistema a la normalidad, podemos utilizar directamente mount especificando que lo que queremos es montar los temporales en ram con tmpfs. Además de eso, podemos utilizar y combinar las opciones propias de mount para que el montaje se realice según sea conveniente. Una manera simple de hacerlo sería la siguiente: En este caso hemos puesto los permisos del directorio /tmp a 1777 para que las aplicaciones/usuarios no tengan problemas a la hora de utilizar los nuevos temporales. Sin embargo podríamos querer ir más allá en lo que opciones se refiere y, por ejemplo, permitir a un único usuario utilizar estos nuevos temporales: De esta forma, el nuevo directorio /tmp, tendrá como usuario y grupo (uid/gid) el que nosotros designemos. Además de cambiar los permisos a 750 para que esta medida sea efectiva. Al tratarse de un cambio temporal, en cuanto reiniciemos el equipo todo volverá a la normalidad. También podríamos desmontar dicha partición mediante el uso de umount, siempre y cuando no esté en uso. Haciendo el cambio permanente gracias a FSTAB Editando el archivo de configuración /etc/fstab, podremos hacer este cambio permanente, consiguiente que los temporales se monten siempre en la memoria RAM, aunque en este caso conviene tener algunas consideraciones extra a la hora de elegir las opciones de montaje Una de esas opciones es size, que nos permitirá limitar el tamaño del directorio /tmp, para evitar que ocupe una cantidad de ram mayor de la esperada y nos veamos en problemas. Por ejemplo, para unos temporales de 2GB, añadiríamos lo siguiente: Para cualquier otro valor sólo hay que modificar la cantidad especificada en esa opción. Podríamos utilizar cualquier otra opción , como noexec, para no permitir ejecutar nada desde esa partición, nodev, nosuid, etc Una vez guardados los cambios, tendremos que montar manualmente la partición o reiniciar el equipo (sólo la primera vez, a partir de ahí el montaje se tmpfs realizará de manera automática)
  14. Asciinema es un servicio que nos permite, de manera sencilla, práctica y eficaz, grabar y compartir nuestras sesiones en la terminal con todo el mundo. Pero es que no sólo es una grabación, sino algo interactivo, podremos adelantar, atrasar, pausar como si de un vídeo se tratara y al mismo tiempo, si así lo queremos, copiar los comandos que van apareciendo para utilizarlos luego en otra terminal. Una vez grabada la sesión, ésta quedará almacenada en asciinema y a través de su dirección cualquiera podrá acceder a ella e incluso nos permitirá incrustarla en cualquier sitio web Instalación Para las instalación del cliente de asciinema necesitaremos Python PIP Debian aptitude install asciinema Fedora yum install python-pip pip install --upgrade asciinema Arch pacman -S python-pip pip install --upgrade asciinema NOTA En el caso de Arch podríamos valernos de AUR yaourt -S asciinema Gentoo emerge asciinema USO Comenzando a grabar En la terminal en la que vayamos a trabajar simplemente ejecutamos asciinema rec Detener la grabación Una vez hayamos terminado lo que queríamos mostrar, la combinación CONTROL + D finalizará la sesión de asciinema y se nos pedirá confirmación para alojar la grabación en sus servidores. Tras la subida de la secuencia nos devolverá un enlace para llegar hasta ella. Añadir título a la grabación asciinema -t título rec Ejecutar un comando específico asciinima -c comando rec Empezar a grabar sin pedir confirmación asciinema -y rec Creando/Accediendo a un perfil asciinema auth Otras opciones/ayuda asciinema -h https://asciinema.org/a/9265 Web https://asciinema.org/
  15. Piwigo es un interesante y completo software libre y gratuito que nos permite montar de manera muy sencilla un hosting/galería de imágenes en nuestro servidor completamente privado, con intenciones de compartir nuestras galerías con el mundo o incluso para montar nuestro propio servicio donde otros usuarios se registren y puedan compartir también su contenido. Permite organizar imágenes en álbumes jerárquicos, sin límite de niveles. Etiquetar e identificar las fotografías. Añadir temas y plugins para personalizar la apariencia gráfica del sitio y añadir nuevas funciones. Nos ofrece total privacidad y control, nosotros decidimos qué hacer con nuestro contenido sin que ninguna gran empresa o gobierno meta las narices. Cuenta con una API web para comunicarse con aplicaciones de terceros, como por ejemplo mostrar miniaturas en un blog WordPress con PiwigoPress. Es posible sincronizar nuestros dispositivos, tanto equipos de escritorio como terminales móviles mediante FTP y otras muchas aplicaciones libres. Requisitos para poder montar nuestra galería Disponer de un servidor con: PHP 5 MSQL 5 ImageMagick o GD (recomendado) Espacio en disco de 20 Mb para el software y espacio adicional proporcional a la cantidad de fotos que quieras añadir Un cliente FTP (p. ej. FileZilla) En primer lugar tendremos que descargar el software de Piwigo.org, el cual podemos obtener en dos formatos, un script de instalación online que subiremos a nuestro servidor para luego ejecutarlo y comenzar con el proceso de descarga del resto de componentes o un archivo comprimido con todos los datos del software que descomprimiremos y subiremos tal cual a nuestro servidor. Netinstall http://piwigo.org/download/dlcounter.php?code=netinstall Comprimido http://piwigo.org/download/dlcounter.php?code=latest Mediante Filezilla o cualquier otro cliente FTP, subiremos los archivos de Piwigo (Da igual si se trata del script o los archivos como tal, el proceso no varía) en el directorio raíz de nuestro servidor o en el directorio que hayamos decidido utilizar para el hosting. Necesitaremos una base de Datos MySQL que previamente tendremos que crear para nuestra galería. Al acceder por primera vez a nuestro hosting Piwigo se nos pedirán los datos de dicha base de datos, nombre, usuario y contraseña y los datos del usuario que actuará como administrador del servicio. Tras estos sencillos pasos tendremos nuestro servicio de hosting/galería listo para ser utilizado y configurado según queramos Haciendo uso de Piwigo Personalizando la galería El panel de administración de Piwigo es todo un mundo y podemos añadir incluso más funciones añadiendo plugins y extensiones Personalmente, la personalización (toma redundancia) nunca ha sido lo mío Organizando álbumes Algo que podremos hacer también desde el panel o desde nuestra cuenta personal, configurando cada álbum como queramos, eligiendo si es público o privado, quién tiene acceso a él, cómo está organizado... Subir/Sincronizar imágenes manualmente Como cualquier hosting de imágenes, en el panel de administración tenemos una herramienta muy práctica y sencilla para subir las imágenes que queramos a nuestro servidor Sincronizar vía FTP El método más obvio y uno de los más útiles a la hora de trabajar con nuestro servidor. Podemos subir archivos o carpetas (que se convertirán en álbumes) dentro de la carpeta "gallery" dentro de nuestro servidor. Es importante que utilicemos sólo números, letras y guiones, evitaremos los caracteres especiales, los acentos y los espacios. Una vez hayamos terminado de subir las imágenes al servidor, desde el panel de administración haremos una "Sincronización rápida" para que automáticamente se cree un nuevo álbum con los nuevos datos o se añadan las imágenes a los álbumes correspondientes. Sincronizar con Shotwell Este software propio de Gnome cuenta con plugins para trabajar con distintos servicios en la red, incluyendo Piwigo Sincronizar con Digikam El popular software de KDE también cuenta con numerosos plugins para sincronizarse con un gran número de servicios, entre ellos, como no, también está Piwigo Tan sólo tendremos que introducir la dirección donde está alojado nuestro servicio y los datos de nuestro usuario para empezar a trabajar cómodamente con nuestros álbumes tanto en el servidor como en local Android Para el sistema del androide contamos con varias aplicaciones, todas disponibles en Google Play, entre ellas están: Piwigo https://play.google.com/store/apps/details?id=org.piwigo RegalDroid https://play.google.com/store/apps/details?id=net.dahanne.android.regalandroid Web http://es.piwigo.org/
  16. No es algo usual, pero en alguna ocasión podemos encontrarnos ante la necesidad de añadir un repositorio PPA en Debian para obtener algún paquete o aplicación que no está disponible por ningún otro medio. La manera "normal" de hacer esto para distribuciones basadas en Ubuntu pasa por utilizar el comando add-apt-repository seguido del nombre/propietario del repositorio que queremos añadir, mientras que en Debian hay que añadir la dirección en el sources.list, obtener la llave del repositorio y autentificarlo para poder instalar luego lo que nos interesa, todo de manera manual. Este problema se puede solucionar "casi" del todo instalando el paquete python-software-properties aptitude install python-software-propertiesEste paquete nos permitirá añadir repositorios exactamente igual a como lo haría un usuario de Ubuntu, excepto por un pequeño detalle, que veremos ahora. El origen del problema Si bien este paquete nos permitirá utilizar el comando add-apt-repository, que añadirá el repositorio al sources.list.d, obtendrá la llave y lo autentificará automáticamente, existe un pequeño inconveniente y es que cuando añadimos un repositorio PPA, éste se añade en función del sistema desde el que lo estamos reclamando. Es decir, que en el momento de añadir el repositorio, este apuntará a testing o a wheezy o a cualquier otra rama o versión de Debian en la que nos encontremos. Los repositorios PPA están pensados para usarse apuntando a versiones de Ubuntu, por lo que de entrada no podremos descargar nada de ese repositorio, al no existir para éste la versión o rama de Debian a la que estamos apuntando. No obstante, esto tiene fácil solución, basta con cambiar eso manualmente el repositorio que hemos añadido para que apunte a donde es debido. Solución 1 (Semiautomática) Los repositorios PPA se incluyen dentro de la carpeta /etc/apt/sources.list.d cada uno en un archivo individual, sólo tendremos que cambiarlo con cualquier editor de texto, como puede ser nano: El que tendrá aspecto será algo similar a: Sólo tendremos que cambiarlo por alguna versión de Ubuntu (Preferiblemente alguna que nos pueda brindar un soporte prolongado (LTS), como la más reciente Precise) Evidentemente no es la única forma de llevar a cabo este cambio, podemos hacerlo como más cómodo nos sea, bien desde Orígenes de software, desde synaptic, el Software Center o cualquier otra aplicación gráfica que utilicemos para administrar paquetes/repositorios. Solución 2 (Automática) Podemos hacer algunos cambios en python-software-properties para "engañar" el reconocimiento y que ponga siempre la versión de Ubuntu que queramos. Para simplificar el proceso, he editado el archivo de antemano para que indique siempre precise y lo he subido a dropbox, así que sólo hay que descargarlo y sustituirlo: wget http://dl.dropbox.com/u/31330480/SoftwareProperties.pymv SoftwareProperties.py /usr/share/pyshared/softwareproperties/ Hecho eso, al ejecutar add-apt-repositories apuntará siempre a precise, por lo que no tendremos que cambiar nada, en este caso el proceso sí será totalmente automático. Ejemplo práctico Supongamos que queremos añadir el repositorio de JDownloader haciendo uso de este método. Consultando en Launchpad averiguamos que dicho repositorio es: ppa:jd-team/jdownloader 1º Instalamos el paquete que hará el trabajo por nosotros: aptitude install python-software-properties2º Le damos uso add-apt-repository ppa:jd-team/jdownloaderEn el caso de haber optado por la Solución 2, ya habríamos acabado. La solución 1 requeriría un poco más de atención 3º Corregimos la versión a la que apuntan los repositorios nano /etc/apt/sources.list.d/jd-team-jdownloader-wheezy.listNos encontramos con el problema Y lo cambiamos 4º Guardamos y actualizamos la lista de paquetes: aptitude updateYa tenemos listo ese repositorio para instalar lo que queramos de él
  17. Si bien Linux, como kernel, cumple de sobra con los requisitos que podemos tener con cualquier equipo y su hardware, hay situaciones en las que los módulos incluidos en el kernel de nuestra distribución no son suficientes y debemos recurrir a instalar y o compilar algún módulo externo. Esto ocurre muy a menudo con los controladores privativos de Nvidia o AMD y también con muchos periféricos que bien por su carácter privativo o por no haber entrado todavía en la línea de desarrollo del kernel, no pueden ser incluidos en éste. Desde hace ya varios años, existe DKMS (Dynamic Kernel Module Support), que nos permite gestionar los módulos ajenos al kernel de manera sencilla o, como su propio nombre indica, dinámica. Para los que solemos compilar las últimas versiones de Linux antes de que lleguen a nuestra distribución o configuradas de alguna manera especial, los que instalamos algún controlador de hardware manualmente porque no está incluidos en repositorios o queremos tener una versión concreta del mismo, podemos valernos de DKMS para que, ante cualquier cambio o actualización del kernel, los controladores ajenos a este sigan funcionando sin tener que volver a instalarlos o compilarlos por nuestra propia mano una y otra vez. El proceso llevado a cabo por DKMS, explicado un poco por encima para entendernos, es básicamente una comprobación durante el arranque del sistema de los módulos instalados y el Kernel en ejecución. En caso de detectar cambios, automáticamente se compilarán de nuevo los módulos externos que hayan dejado de funcionar para la versión de Linux con la que estamos arrancando. De esta manera, podremos tener diferentes versione del kernel en la misma máquina sin temor a que los módulos funcionen para unas versiones y al arrancar con otras no lo hagan, así como también nos servirá para evitar perder los controladores compilados/instalados a mano cada vez que aparece una actualización del kernel oficial de nuestra distribución o cualquier otra situación similar ¿Cómo podemos aprovecharnos de todas las ventajas que DKMS nos ofrece? A día de hoy, la mayoría de las distribuciones tienen paquetes preparado para hacer uso de la "magia" de dkms para los módulos externos incluidos en sus repositorios o en las ramas no-libres de estos. Siendo así, sólo tendríamos que instalar dkms (si no lo tenemos ya) y los paquetes correspondientes al módulo que queremos instalar/automatizar, ya sea nvidia-kernel-dkms, fglrx-modules-dkms, virtualbox-dkms, etc Por poner un ejemplo sencillo, veamos cómo se instalarían los controladores de Nvidia en varias distribuciones, haciendo uso de los paquetes preparados para dkms provisto por cada una ellas. Sin olvidar en ninguno de los casos, que necesitaremos las cabeceras del kernel para poder compilar los módulos, ya sea el kernel oficial de la distribución que usamos o el código fuente compilado por nosotros. Debian aptitude install dkms linux-headers-`uname -r` nvidia-kernel-dkms Fedora En este caso concreto, vamos a hacer una excepción. En lugar de dkms, Fedora se decanta más por aKmod, que es muy similar dkms y cumple el mismo objetivo, automatizar la instalación de controladores ajenos al kernel. Simplemente instalamos el paquete creado para tal fin yum install akmod-nvidia Arch Para Arch no existe ningún paquete dkms en el repositorio principal de la distribución, salvo los de Virtuabox y Open-VM, por lo que tendremos que valernos de los paquetes de AUR. Necesitaremos nvidia-hook que nos permitirá automatizar el proceso, y también nvidia-dkms para tener el código fuente que vamos a compilar luego. Como es habitual, en la wiki de Arch está muy bien explicado por si queremos profundizar aún más o realizar toda la configuración/compilación manualmente yaourt -S nvidia-dkms nvidia-hook ¿Y si el módulo cuya compilación queremos automatizar no se encuentra en ningún paquete de los repositorios de nuestra distribución? Como hemos visto en el ejemplo, cada distribución tiene su propia manera de hacer las cosas y no ofrecen los mismos paquetes o, a veces, ni siquiera los mismos métodos. Este es realmente el punto de este pequeño tutorial, porque instalar un paquete que ya ha sido preparado para trabajar con dkms es muy sencillo, no hay ninguna diferencia con instalar otro paquete o la versión "convencional" sin dkms. Para posteriores ejemplos no lo volveré a escribir, pero vuelvo a recordar que es imperativo que tengamos las cabeceras del kernel instaladas o, si hemos compilado una versión concreta de Linux por nuestra cuenta tener las cosas en su lugar y bien enlazadas. También se cae de maduro que para poder hacer uso de Dkms tendremos que tener instalados los paquetes del mismo y dicho servicio habilitado en el arranque (Los que trabajen con systemD pongan especial atención a esto último) Procedimiento Lo primero y posiblemente lo más importante, es contar con el código fuente o instalador del módulo que vamos a compilar, sin eso no podemos hacer nada Como todo se entiende mejor con un ejemplo, ya que antes fueron controladores gráficos, ahora vamos a por controladores Wireless. Supongo que todos, en alguna ocasión hemos tenido que lidiar o hemos oído hablar de los Compat-Wireless, actualmente renombrados como Compat-Drivers. Simplemente ir a la página de descarga y conseguir la versión que corresponde a nuestro caso. Personalmente me decantaré por la 3.11, que es la versión de Linux que estoy utilizando en estos momentos, teniendo en cuenta que las fuentes y el archivo de configuración deben ir siempre en /usr/src, así que lo descargaré directamente ahí: cd /usr/src wget http://www.kernel.org/pub/linux/kernel/projects/backports/stable/v3.11-rc3/backports-3.11-rc3-1.tar.bz2 tar xvf backports-3.11-rc3-1.tar.bz2 Una vez hemos descargado y descomprimido el material en /usr/src, empieza el verdadero trabajo. La clave de todo será el archivo de configuración dkms.conf, que como no lo tenemos, tendremos que crearlo manualmente. Aunque no es necesario que completemos todos los datos, cuanto más específico lo hagamos, mejores resultados podremos obtener. Así, en este caso, un archivo de configuración que nos podría servir sería algo parecido a esto: ##Archivo de configuración dkms.conf para la instalación automática de los controladores compat-drivers haciendo uso de dkms PACKAGE_NAME="backports" PACKAGE_VERSION="3.11-rc3-1" MAKE[0]="make; make install" BUILT_MODULE_NAME[0]="${PACKAGE_NAME}" BUILT_MODULE_LOCATION[1]="drivers/net/ethernet/${PACKAGE_NAME}/" DEST_MODULE_NAME[0]="${PACKAGE_NAME}" DEST_MODULE_LOCATION[0]="/extra/${PACKAGE_NAME}/" AUTOINSTALL="yes" Como vemos, es bastante específico, tenemos nombre y versión del módulo que, si se fijan bien, coinciden con lo que está indicado en el nombre de la carpeta que contiene el código fuente que hemos descomprimido en /usr/src. Esto es importante para que luego dkms pueda dar con ella. También hemos usado el nombre y la versión para llevar a cabo el resto de pasos, tanto para definir rutas como comandos para compilar el módulo, así como el nombre que tendrá el módulo compilado, dónde estará localizado una vez termine el proceso. Una cuestion de simple comodidad. Por supuesto, hemos puesto la autoinstalación como "yes" para que cumpla con lo que nos hemos propuesto Aún sin ser necesario, crear un buen archivo de configuración dkms.conf puede resultar muy útil. En el caso de este ejemplo, podríamos querer compilar únicamente un controlador o familia de controladores de los compat-drivers y no todos los controladores a la vez. Tan sólo habría que hacer una pequeña modificación en la línea de compilado (Make[x]), con los cambios que queremos introducir, que vamos a suponer que para este ejemplo es la instalación de la familia de controladores iwlwifi Sabemos que para este menester, los compat-drivers permiten seleccionar el controlador con la orden "make defconfig-`modulo`" (Con los compat wireless se utilizaba el script "driver-select"), así que nos valdremos de ella y la incluiremos en el archivo de configuración. ##Archivo de configuración dkms.conf para la instalación automática de los controladores iwlwifi pertenecientes al conjunto de los compat-drivers haciendo uso de dkms PACKAGE_NAME="backports" PACKAGE_VERSION="3.11-rc3-1" MAKE[0]="make defconfig-iwlwifi" MAKE[1]="make; make install" BUILT_MODULE_NAME[0]="${PACKAGE_NAME}" BUILT_MODULE_LOCATION[1]="drivers/net/ethernet/${PACKAGE_NAME}/" DEST_MODULE_NAME[0]="${PACKAGE_NAME}" DEST_MODULE_LOCATION[0]="/extra/${PACKAGE_NAME}/" AUTOINSTALL="yes" Como ven, lo único que he hecho es añadir la parte de driver-select a las instrucciones de compilado/instalación La localización de destino del módulo no es realmente necesaria salvo que sustituamos algún módulo Si observamos otros ejemplos, vemos que es siempre el mismo procedimiento e incluso más sencillo. Volviendo al ejemplo inicial, si consultamos el archivo dkms.conf de Nvidia, veremos que es bastante escueto: Y a modo de ejemplo general, tal y como figura en la wiki de Debian: También podremos consultar ejemplos más complejos provistos con el propio paquete dkms y que encontraremos en /usr/share/doc/dkms/examples que muestran configuraciones más complejas, incluyendo el parcheado de módulos antes de compilarlos e instalarlos Una vez tengamos la configuración en función de los requisitos del módulo a compilar, nombre, versión y todos los ajustes que hayamos hecho, nos queda la parte de añadir y compilar: dkms add -m <nombre> -v <versión> dkms build -m <nombre> -v <versión> dkms install -m <nombre> -v <versión> || true No es necesario que nos posicionemos en la carpeta correspondiente al módulo que queremos compilar, dkms asumirá que ésta se encuentra en /usr/src y que el nombre y la versión que le hemos suministrado son los que figuran en dicha carpeta. Una vez en ella, dkms seguirá los pasos que le hemos marcado en el archivo de configuración dkms.conf Que si nos ceñimos al ejemplo de los compat-drivers: dkms add -m backports -v 3.11-rc3-1 dkms build -m backports -v 3.11-rc3-1 dkms install -m backports -v 3.11-rc3-1 || true Resultado root@Shiba87:/usr/src# dkms add -m backports -v 3.11-rc3-1 Creating symlink /var/lib/dkms/backports/3.11-rc3-1/source -> /usr/src/backports-3.11-rc3-1 DKMS: add completed. NOTA Si en algún momento queremos que dkms deje de tener en cuenta el módulo que hemos incluido, porque queremos cambiarlo por una versión diferente, dejemos de utilizar ese hardware o lo que sea, sólo tendremos que realizar el proceso a la inversa: dkms remove nombre/version all O en caso de querer impedir que se compile para un kernel específico dkms remove nombre/version -k version-del-kernel Para nuestro ejemplo dkms remove backports/3.11-rc3-1 all ó dkms remove backports/3.11-rc3-1 -k 3.11.0 Y eliminar la carpeta del módulo de /usr/src para que no queden restos: rm -R /usr/src/backports-3.11-rc3-1 Generando nuestro paquete Deb DKMS Aunque el proceso de configuración, compilado e instalación del nuevo módulo con dkms ya habría terminado, veamos cómo podríamos preservar todo ese trabajo en un cómo paquete deb. Los comandos siguen en la misma línea que los anteriores, sólo que esta vez no añadiremos, compilaremos o instalaremos sino le indicaremos que lo que queremos es empaquetar el código fuente y la configuración que acabamos de utilizar: Empezando por el paquete que contiene el código fuente dkms mkdsc -m nombre -v versión --source-only Seguido del que contiene el binario y configuración pertinentes dkms mkdeb -m nombre -v versión --source-only Al completarse el proceso nos indicará dónde se han guardado los respectivos paquetes, que no será otro lugar sino: /var/lib/dkms/nombre/versión/deb y /var/lib/dkms/nombre/versión/dsc NOTA Podría ser necesario eliminar la carpeta en la que hemos estado trabajando /var/lib/dkms/nombre/versión/ para no generar conflictos a la hora de instalar el paquete deb. En el caso del ejemplo con Compat-drivers con el que hemos estado trabajando hasta ahora: dkms mkdeb -m backports -v 3.11-rc3-1 --source-only dkms mkdsc -m backports -v 3.11-rc3-1 --source-only Como ven, no es algo tan complicado y seguramente los responsables de nuestra distribución ya se habrán ocupado de todo el trabajo por nosotros, pero en caso de necesitarlo, en cuestión de unos minutos podemos tener el problema resuelto. SalUnix
  18. Como podrán imaginar, el tema sobre el rooteo del ZTE Open tenía segundas intenciones y una vez le has cogido el gusto a trastear, dificilmente se puede parar En este caso me he pensado seriamente dejarlo o no como manual, pues aparte de lo problemático que puede resultar, tampoco son métodos muy "prácticos", por así decirlo. Empezaré hablando de todos los fracasos previos, por si a alguno se le ocurre adentrarse en alguno de esos campos, sepa a lo que se enfrenta. En primer lugar, como ya comenté, tenemos que rootear el teléfono para tener por donde tirar. Afortunadamente, la solución a ese problema ha sido fácil de encontrar y ya está bien explicado en esta misma sección de manuales: Rootear ZTE Open Al igual que en el caso del rooteo, el resto de procesos también se apoyarán en la herramienta ADB. Sin embargo no podremos ir con ella tan lejos como nos gustaría en un principio. De entrada, tras abrir una terminal remota con adb: adb shell Tendremos un sistema de archivos montado como sólo lectura, aún si ejecutamos su para obtener permisos de root en la terminal remota, no podremos modificar o añadir nada en la memoria del teléfono. Igualmente, adb no será capaz de subir archivos a la memoria del teléfono devolviéndonos el mismo error de "sistema de sólo lectura" adb push application.zip /system/application.zip failed to copy 'application.zip' to '/system/application.zip': Permission denied En otros casos, esta situación podría solucionarse montando el sistema de ficheros con adb en modo lectora/escritura o bien iniciando adb directamente en modo root y luego partir desde ahí, pero nos topamos con un peuqeño gran inconveniente: shiba@Shiba87:~$ adb remount remount failed: Operation not permitted shiba@Shiba87:~$ adb root adbd cannot run as root in production builds La única opción posible es volver a montar /system en modo lectura/escritura desde la propia terminal remota aprovechando que tenemos permisos de root en ella. adb shell Y una vez dentro su mount -o remount,rw /system Y ahora es cuando tenemos que lidiar con el siguiente "pero" y es que a pesar de haber resulto el problema del sistema de ficheros, adb seguirá sin permitirnos subir ficheros a la memoria del teléfono: adb push application.zip /system/application.zip failed to copy 'application.zip' to '/system/application.zip': Permission denied Podríamos pensar en subir los archivos a la tarjeta SD para lugo, desde la consola remota y ya adelanto que no podremos valernos ni de CP ni de MV o cualquiera de los comandos en los que hayamos pensado para trabajar, a excepción de RM si queremos vborrar algo: shell@android:/ # cp origen/archivo destino/archivo sh: cp: not found mv origen/archivo destino/archivo "failed on 'archivo' - Cross-device link" La única solución que he podido encontrar para esto es utilizar una versión de Busybox para armV6 más reciente y completa que la que viene por defecto y trabajar en todo moneto desde temporales (Sn olvidar que estos se borran al reiniciar el teléfono, por lo que habrá que repetir siempre esta parte ). Busybox lo podemos obtener desde aquí: http://busybox.net/downloads/binaries/latest/busybox-armv6l Y luego lo subimos con adb push a la carpeta de temporales. Además aprovecharemos para añadir el archivo que queramos añadir o que hallamos modificado y vayamos a sustituir: adb push busybox-armv6l /data/local/tmp adb push archivo-a-subir /data/local/tmp Desde la tarminal remota , como root, damos permisos de ejecución a busybox para poder utilizarlo libremente: cd /data/local/tmp chmod 777 busybox-armv6l En caso de querer sustituir algún archivo que hayamos modificado, primero lo tendremos que borrar utilizando rm, para luego copiar (Nunca mover) el nuevo archivo, que previamente habremos subido a la carpeta de temporales, en su lugar. OJO Utilizando siempre el busybox que hemos subido a temporales, no el del teléfono rm /system/ruta/archivo/sustituir ./busybox-armv6l cp archivo-a-subir /system/ruta/archivo/sustituir Es conveniente reiniciar el teléfono para que tengan efecto los cambios que hallamos realizado adb reboot Vale Shiba, ya sé como se añaden archivos modificados al teléfono pero ¿Qué es lo que se puede modificar y cómo se hace? No me dejan pasar una ¿Eh? Vale, vale, pondré algunos ejemplos de lo que podemos modificar para tener un terminal un poco más a nuestro gusto. Empezaré diciendo que en lo que respecta a la interfaz y las capas "superiores" de Firefox OS, en lo que tendremos que centrarnos es en GAIA: https://wiki.mozilla.org/B2G/MarketCustomizations Pero claro, nosotros no vamos a compilar una imagen completa de Firefox OS, sino modificar partes concretas de uno ya instalado, por lo tanto nos centraremos en los directorios localizados dentro de /system/b2g, que podrán observar que es muy similar a lo que podríamos encontrar en la carpeta del navegador Firefox. Ejemplo 1: Eliminar/cambiar la molesta animación de inicio de Movistar del ZTE Open. Supongo que a muchos se nos pondrá mala cara al arrancar el teléfono y tener que esperar a que termine la animación de una M verde y Azul y más si ni siquiera somos clientes de Movistar, así que ya sea por amor propio...digo.... estética o por ahorrar unos segundos en el arranque, podemos eliminarla. En este caso concreto, el directorio nos interesa es /system/b2g/webapps/system.gaiamobile.org en esa ruta encontraremos un archivo comprimido llamado application.zip que contiene todos los archivos referentes a diversas configuraciones del sistema y que abtendremos gracias a adb pull:. adb pull /system/b2g/webapps/system.gaiamobile.org/application.zip Los archivos que corresponden a las animaciones de arranque y apagado se encuentra dentro del comprimido en la ruta /resources/power/ En caso de no querer ninguna animación en el arranque/apagado, lo único que tenemos que hacer es eliminar los dos archivos carrier_power_*.png sin alterar el resto del archivo .zip. Trabajaremos siempre sin descomprimir el contenido del zip. si queremos alterar algo descomprimiremos únicamente ese elemento y una vez modificado lo volveremos a introducir exactamente en la misma posición. En caso de no querer eliminar la animación sino sustituirla por otra, lo único que tenemos que hacer es eliminar los archivos antiguos y sustituirlos por unos modificados por nosotros, respetando el mismo nombre. Podemos utilizar tanto animaciones de vídeo en formato mp4 o simplemente una imagen png, indicando ON para el arranque y Off para el apagado. carrier_power_on.png carrier_power_off.png carrier_power_on.mp4 carrier_power_off.mp4 Una vez hemos terminado de modificar el archivo applications .zip, lo introduciremos de nuevo en el teléfono con el método citado en el apartado anterior, sin olvidarnos del archivo actualizado de busybox para poder moverlo después: adb push application.zip /data/local/tmp/application.zip adb push busybox-armv6l /data/local/tmp Y mediante la consola remota volveremos a colocarlo en su lugar adb shell su cd /data/local/tmp chmod 777 busybox-armv6l rm /system/b2g/webapps/system.gaiamobile.org/application.zip ./busybox-armv6l cp application.zip /system/b2g/webapps/system.gaiamobile.org/application.zip Si no nos hemos equivocado, tras reiniciar el teléfono tendremos nuestra animación de arranque personalizada: Ejemplo 2: ¿Tonos de llamada personalizados en Firefox OS? ¡Pues claro! Creo que este ejemplo es de mayor interés que el anterior, pues como ya comentamos en las Crónicas de un pingüino con Firefox OS, a día de hoy no es posible utilizar tonos en un terminal con Firefox OS que no sean los que nos incluye el fabricante por defecto. El procedimiento es muy similar al anterior, cambiando las rutas y editando las listas de tonos disponibles, además de añadir los archivos de audio que queremos utilizar como tono, por supuesto. El directorio nos interesa esta vez es /system/b2g/webapps/settings.gaiamobile.org en esa ruta encontraremos un archivo comprimido llamado igualmente application.zip que contiene todos los archivos referentes a diversas opciones del sistema y que abtendremos gracias a adb pull:. adb pull /system/b2g/webapps/settings.gaiamobile.org/application.zip Los archivos que corresponden a los tonos de aviso y llamada se encuentran dentro del comprimido en la ruta shared/resources/media/, los tonos de llamada dentro ringtones y los avisos (mensajes sms, alertas) en notifications. En ambos casos el procedimiento es exactamente igual. Debemos añadir el archivo que queramos que se reproduzca al recibir una llamada o un mensaje dentro de la carpeta correspondiente sefún sea un tono de llamada o de aviso y añadirlo a la lista list.json para que sea reconocido por el teléfono. El nombre del archivo puede ser el que queramos (sin espacios) siempre que lo indiquemos correctamente en la lista y los formatos soportados, .ogg u .opus En el ejemplo añadiré un tono de alerta llamado Aviso_kira.ogg Lo primero será añadirlo al comprimido applications.zip Y dentro del archivo list.json añadimos el nombre del tono tal cual { "Aviso_kira.ogg": "", "notifier_bell.opus": "", "notifier_dididi.opus": "", "notifier_rewind.ogg": "", "notifier_ting.opus": "", "notifier_bap.opus": "", "notifier_boomer.opus": "", "notifier_exclamation.ogg": "", "notifier_ring.ogg": "", "notifier_bell_extd.opus": "", "notifier_bop.opus": "", "notifier_minimal_bands.ogg": "", "notifier_spring.ogg": "" "notifier_kira.ogg": "" } Una vez hemos terminadas las modificaciones, volveremos a introducir applications.zip en el teléfono con el método citado en el apartado anterior, sin olvidarnos del archivo actualizado de busybox para poder moverlo después: adb push application.zip /data/local/tmp/application.zip adb push busybox-armv6l /data/local/tmp Y mediante la consola remota volveremos a colocarlo en su lugar adb shell su cd /data/local/tmp chmod 777 busybox-armv6l rm /system/b2g/webapps/settings.gaiamobile.org/application.zip ./busybox-armv6l cp application.zip /system/b2g/webapps/settings.gaiamobile.org/application.zip Después de reiniciar el teléfono, el nuevo tono aparecerá en la lista dentro de opciones de sonido de Firefox OS:
  19. Leyendo LMDE Cosillas he visto un tema sobre este asunto y me ha parecido una idea interesante, ya que siempre se habla de cómo subir de rama en Debian, de actualizar paquetes, de adquirir nuevas versiones, pero nunca se tiene en cuenta el proceso inverso ¿De qué manera se puede descender a una rama más estable?¿Cómo volver a una versión anterior de cierto paquete? La respuesta es más sencilla de lo que imaginamos, pues todo gira alrededor del apt-pinning. Si recordamos las diferentes preferencias que se pueden asignar, encontraremos que por encima de 1000 cumpliría exactamente con lo que buscamos: Siendo así, sólo nos queda hacer dos cosas antes de proceder con la "desactualización" de paquetes y es que tendremos que definir correctamente la rama a la que queremos descender en nuestro sources.list y, por supuesto, configurar el preferences como es debido. Para el ejemplo, supondremos un salto de rama desde Unstable a Testing. Para cualquier otro caso es exactamente igual, simplemente definiendo la rama correspondiente. En primer lugar nuestro /etc/apt/sources.list, que luciría de entrada tal que así: Además de simplemente cambiar de rama, debemos tener en cuenta las cualidades y condiciones de cada una. En este caso, tendré a bien incluir también le repositorio Security, que no existe para la rama Unstable, pero sí para la Testing, que es a la queremos movernos. Una vez modificado y guardados los cambios, como es habitual, ejecutaremos: aptitude update Para recibir las nuevas listas de paquetes. A efectos prácticos ya habríamos hecho el descenso de rama, a partir de ahora todos los paquetes que instalemos procederán de una rama más estable que la que estábamos utilizando anteriormente. Pero seguimos teniendo un problema y es que los paquetes qe ya hab´ian sido instalados desde la rama superior siguen en la misma versión y no sufrirán ningún cambio hasta que la rama en la que nos encontramos ahora actualice dichos paquetes a una versión superior a la instaladas, algo que para las ramas stable y/o oldstable no ocurrirá jamás. Para forzar la desactualización crearenos o editaremos el /etc/apt/preferences, recordando que debemos asignar una prioridad de 1000 o más para forzar la instalación de paquetes sin importar su versión. Guardamos los cambios y procedemos, ahora sí, a desactualizar paquetes. Mucho cuidado aquí, pues no hay que olvidar que estamos hablando del sistema entero, sobra decir que nos valdremos de aptitude para resolver correctamente los problemas de dependencias que pueden llegar a surgir y que estaremos muy atentos a lo que nos pida instalar o desinstalar durante el proceso. Si no queremos arriesgar más de la cuenta, podemos obtar por un: aptitude safe-upgrade O si queremos algo más profundo, aunque posiblemente también más arriesgado: aptitude full-upgrade EL término medio, como no, sería el habitual aptitude upgrade Siempre pueden quedar paquetes que no se desactualicen, bien por problemas de dependencias o cualquier otra razón, pero mayormente, la desactualización y cambio de rama se hará efectivo, una vez aptitude haya terminado de descargar e instalar la enorme cantidad de paquetes que componen nuestro sistema
  20. En vista que muchas empresas están abandonando los servicios de mensajería para apostar por las redes sociales u otros servicios privativos, conviene tener a mano alternativas libres que nos permitan mantener la comunicación. Este es el caso del servicio de mensajería xmpp de Duck Duck Go Vamos a ver cómo utilizar este servicio de manera sencilla utilizando un cliente libre de mensajería como es Pidgin: Evidentemente, el primer paso será instalar e iniciar Pidgin. Ahora le damos a añadimos una nueva cuenta: En este menú, elegiremos como protocolo Xmpp. Entonces podremos elegir el nombre de usuario que queremos tener. La dirección será de la forma usuario@dukgo.com. Como dominio pondremos dukgo.com. El siguiente cuadro podemos dejarlo vacío, es un valor opcional que define qué cliente de pidgnin estamos utilizando en caso de tener varios cliente conectados simultáneamente. Elegimos una contraseña adecuada y configuramos las opciones de usuario como queramos Si no tenemos una cuenta creada en Duck Duck go, marcaremos también la casilla "crear una nueva cuenta en este servidor" Ahora aceptaremos el certificado de dukgo.com Tras aceptarlo, apareceremos instantáneamente en la ventana de registro, con los datos que ya introdujimos antes, por lo que sólo queda pulsar "Registrar" Hecho, ya tenemos nuestra cuenta de Duck duck go lista para usar Habilitamos nuestra cuenta en esta ventana para poder utilizarla con pidgin. Ahora vamos a "añadir chat" para comenzar la experiencia con xmpp Por ejemplo podemos empezar a añadir amigos a nuestro DuckDuckGo Instant Messenger: Que aparecerá luego en nuestra lista de contactos tal que así: Podemos también usar "Añadir chat" para crear una conferencia Jabber, que será enlazada con el canal IRC #duckduckgo en freenode https://dukgo.com/blog/using-pidgin-with-xmpp-jabber
  21. ¿Sabían que desde la versión 14.0 Firefox para GNU/Linux es capaz de utilizar Gstreamer para reproducir cualquier formato de Audio y vídeo con el que se encuentre en la web? Así, aprovechando las ventajas de este proyecto, Firefox sería capaz de reproducir contenido bajo codecs en un principio vetados para el navegador de Mozilla, como pueden ser los privativos H.264, Mp3 o Acc. Pero esto es algo que hasta ahora la fundación Mozilla y la mayoría de distribuciones no activan cuando compilan el navegador, por ahora la reproducción de contenidos bajo codecs privativos está disponible sólo para la versión Mobile del navegador. Para sistemas de escritorio tendremos que compilar por nuestra cuenta si queremos utilizar gstreamer para reproducir contenido de este tipo (Como pueden ser los vídeos de Vimeo en HTML5). NOTA Cumpliendo con las dependencias necesarias para compilar Firefox, el proceso es bastante sencillo, pero compilarlo puede llevar mucho tiempo, no es para hacerlo en 5 minutos, una vez configurado, tendremos que esperar un buen rato hasta que termine de compilar. NOTA2 Quien dice Firefox, dice cualquiera de sus forks, el procedimiento no varía, la única diferencia sería que tendríamos que utilizar el código fuente del fork en lugar del código oficial de Mozilla Requisitos Previos Antes de proceder a descargar el código fuente de firefox, necesitamos algunas dependencias para poder compilar el navegador en nuestro equipo. Para hacer esto hay varios métodos, los propios de cada distribución y un script universal que provee la propia Mozilla: Script Universal Debian OpenSUSE Fedora/Red Hat/CentOS Arch Linux Descargando el código fuente Configurando las opciones de compilado Compilando Probando Empaquetar Actualizar/Compilar nuevas versiones Para más detalles sobre el proceso podemos consultar la documentación de Mozilla https://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions EDITO Una pequeña muestra del resultado después de compilar la versión 20 de iceweasel siguiendo este método. EDITO 2 Para quien no tenga ganas de compilar, pero sí de probarlo: Firefox 21 alpha2 x86_64 (Gstreamer enabled).tar.bz2
  22. Si sois principiantes o curiosos y queréis probar GNU/Linux sin alterar nada de la configuración de vuestro PC, la forma más fácil de hacerlo es crear una versión Live en un pendrive para poder ejecutarlo y probarlo desde allí sin hacer ningún cambio en nuestra configuración. Pensando en los que todavía sois usuarios de Windows, he elegido el programa Live USB Creator que funciona perfectamente en ese Sistema Operativo. Y ahora las instrucciones: Descargamos el programa desde su web y lo instalamos. Descargamos la distribución (versión) de Linux que queramos probar. Sugiero la última versión de LinuxMint desde aquí. Introducimos el pendrive en el que queremos grabar LinuxMint. Conviene que tenga un mínimo de 1 GB, aunque si tiene algo más mejor, y que esté vacío o que no nos importe formatear (borrar) los datos que lleva dentro. Abrimos Linux Live USB Creator y veremos que es muy sencillo de usar. Tiene una pantalla con cinco pasos: Elija su unidad: Aquí seleccionamos la letra que se haya asignado al pendrive. Elija una fuente: Seleccionamos “ISO / IMG /ZIP” y se nos abre el explorador de Windows, buscamos donde hemos guardado la imagen de LinuxMint que hemos descargado y la seleccionamos. Tamaño de Persistencia: Como vamos a usar el pendrive como si fuera un disco duro, vamos a asignar el número de megabites que queremos que tenga para guardar los programas o documentos que creemos mientras probamos GNU/Linux. Esto dependerá del tamaño del pendrive, un GB o dos serán suficientes. Opciones: Sugiero habilitar las tres que aparecen. Creación: Pues sólo nos queda presionar el dibujo del rayo y esperar a que se graben los archivos. Apagamos el ordenador y lo iniciamos con el pendrive metido. Para que arranque desde el pendrive en lugar del disco duro, tenemos que cambiar el inicio de sesión. Esto depende de nuestra placa madre, la mayoría ofrece un menú sencillo si nada más encender el ordenador mantenemos presionada la tecla “ESC”, si no pasa nada vuévelo a encender y prueba con F2 o F10 o con la tecla “Supr” (depende de la marca de nuestro pc la tecla con la que accedemos a la BIOS). Allí buscamos “Boot sequence” y en el orden de preferencias elegimos primero USB. Esperamos unos segundos y cuando la pantalla se pone en negro, volvemos a presionar “ESC” y seleccionamos el idioma, y en la siguiente pantalla “Modo persistente”. Después de unos minutos, no suele tardar mucho, se inicia LinuxMint desde nuestro USB y ya podemos probarlo. No os preocupéis por los cambios o por estropear nada, cuando terminéis, cerréis el ordenador, saquéis el pendrive y lo iniciéis como siempre será como si no hubiéseis hecho nada, ya que sólo estábais probando el sistema desde el pendrive. Si os convence muy fácil, basta con elegir en la pantalla de inicio de LinuxMint “Instalar” en lugar de “Modo persistente”. ¡Espero que os sirva de ayuda! ¡Un saludo!
×
×
  • Create New...