sábado, 30 de septiembre de 2017

Flatpak el futuro de la distribución de aplicaciones

Flatpak es una tecnología que promete ser el futuro en la distribución de aplicaciones, es decir permite el poder instalar una aplicación de manera completa sin el problema que conlleva muchas veces el no tener las dependencias (paquetes, librerías etc) completas en el sistema. 

De esta manera las aplicaciones distribuidas en Flatpak vienen con todas las librerías necesarias para ser ejecutados, lo que permite por ejemplo el poder tener la ultima versión de un software que quizás en nuestra distribución no es soportada de manera tradicional.

Por ejemplo, hace unos días después de haber instalado Monodevelop 5.10 el cual me lanzaba un error (Unknown MSBuild failure. Please try building ...) opte por instalar la ultima compilación de este programa mediante Flatpak, de esta manera pude constatar que sin problema puedo ejecutar el ultimo build (7.1.) en Ubuntu 16.04.

Una ventaja adicional que nos ofrece esta tecnología es el hecho de que las aplicaciones usan sandboxing es decir la aplicación implementa el aislamiento de procesos, de esta manera al ejecutarse el programa de manera separada al sistema, evitamos problemáticas de posible distribución de código malicioso.

Para obtener soporte para Flatpak en nuestra distribución solo hay que ejecutar el siguiente comando:


Fedora:
 
$ sudo dnf install flatpak


Ubuntu:

$ sudo add-apt-repository ppa:alexlarsson/flatpak

$ sudo apt update
 
$ sudo apt install flatpak 


Open suse

$ sudo zypper install flatpak

¿Probar la ultima versión de Monodevelop vía Flatpak?, solo ejecutar en terminal (como usuario normal):

$ flatpak install --user --from https://download.mono-project.com/repo/monodevelop.flatpakref

 Para ejecutar el programa (desde terminal como usuario normal):
 
$ flatpak run com.xamarin.MonoDevelop 
 
 

viernes, 10 de octubre de 2014

Impresora PDF virtual en Debian

Siguiendo con el formato PDF, algunas veces por motivos variados nos es necesario el convertir algún archivo a PDF, si es algún documento de oficina bastara con exportarlo mediante la utilería que trae incorporado LibreOffice, pero si es cualquier otro documento no compatible con este la cosa se complica pues es necesario el poseer un medio que si o si nos convierta cualquier cosa a PDF.

Gracias a CUPS o sistema de impresión modular para sistemas operativos de tipo Unix, en su variante PDF podemos solucionar este inconveniente ya que es posible el instalarnos una impresora virtual en la que básicamente podemos imprimir cualquier archivo a PDF desde cualquier programa que traiga la opción de "imprimir".


Para instalar CUPS-PDF tecleamos desde la terminal como root

#apt-get install cups-pdf

posteriormente desde nuestro navegador entramos a la dirección.

En la cual nos aparecerá una pagina de configuración en la cual se debe de seguir la secuencia que se muestra en las siguientes imágenes para dar de alta nuestra impresora virtual:












En las opciones predeterminadas de la impresora se pueden modificar parámetros tales como son el tamaño de papel y la calidad de la impresión (DPI) después de haber finalizado nuestra instalación nos aparecerá una impresora instalada desde la cual podemos mandar cualquier trabajo a PDF el archivo final estará ubicado en la carpeta personal del usuario en la carpeta PDF.

Nota: se nos pedira un usuario y contraseña para ingresar a la configuración el usuario es el nombre de usuario que ustedes tienen en su sistema Linux y la contraseña su contraseña personal, si al ingresar les marca algun error, pueden ingresar lo siguiente:

 Usuario: root
Contraseña: su password de root  

domingo, 5 de octubre de 2014

Driver AMD Catalyst 14.4 parchado para kernel 3.16

Para todos los que tengan una tarjeta grafica AMD ATI y usen Linux ya se habran dado cuenta que el driver existente en el sitio oficial no funciona con el kernel 3.16 en ninguna de sus variantes puesto que nos manda una pantalla en negro, esto es  porque no contiene algunas instrucciones necesarias para poder instalarse en este kernel,  es por eso que como en mi caso que tengo compilado un kernel 3.16 y una tarjeta HD6570  he recurrido a una opción que les comparto.

Este es un driver con el parche aplicado para que pueda funcionar con todas las variantes del kernel 3.16 (Ojo kernel 3.14 y 3.15 no esta soportado) para instalarlo solamente deben de entrar en la carpeta "driver_14.10_parchado_kernel_3.16" y ejecutar:


Descargar: https://dl.dropboxusercontent.com/u/52535452/blog/driver_14.10_parchado_kernel_3.16.7z


# sudo sh ati-installer.sh 14.10 --install

Tal como se muestra en la imagen:


Se da todo en siguiente hasta terminar la instalación:


Nota: antes de instalar este driver es necesario quitar cualquier otro driver catalyst instalado de la siguiente forma:

#apt-get remove --purge fglrx*

Así mismo no me hago responsable por perdidas de sistemas y datos, si no sabes lo que haces mejor no modifiques tu sistema

* Para los usuarios de Fedora 20 el instalador no funciona puesto que los gráficos al parecer están ya siendo gestionados por wayland para el cual no tiene aun soporte catalyst.


domingo, 28 de septiembre de 2014

Crear paquetes .deb de manera facil ejemplo dolphin

Algunas veces cuando estamos en debian estable (wheezy), echamos de menos algunas funcionalidades de algunas versiones de programas mas recientes de las que tenemos instaladas, es por eso que optamos por compilar nuestros propios programas adaptándolas a nuestro sistema, ya sabemos que existen los backports pero en lo personal en algunos programas como dolphin-emu trato de tener las versiones mas actuales ya que se solucionan continuamente bugs.

Pero bueno pasemos a lo que interesa con un ejemplo practico compilando dolphin.

Lo primero es instalar las dependencias de compilación del programa así que ejecutamos en la terminal:

sudo apt-get install cmake git g++ wx2.8-headers libwxbase2.8-dev libwxgtk2.8-dev libgtk2.0-dev libsdl1.2-dev libxrandr-dev libxext-dev libao-dev libasound2-dev libpulse-dev libbluetooth-dev libreadline-gplv2-dev libavcodec-dev libavformat-dev libswscale-dev libsdl2-dev libusb-1.0-0-dev

Una vez realizado esto obtenemos las fuentes del programa ejecutamos:






Ingresamos al directorio:


cd ./dolphin-emu

Se crea el directorio build y se ingresa al mismo:

mkdir Build && cd Build
  
Se configura la compilación mediante el comando cmake:


cmake ..

Una vez que se ha realizado este paso ejecutamos el comando make, pero con la variante de que según el numero de núcleos de nuestro procesador indicaremos el numero de trabajos que se ejecutaran simultáneamente en este caso tengo un procesador de 4 núcleos por lo que ejecutare el comando indicando la realización de 4 trabajos simultáneamente.
  
make -j 4
El proceso que ejecuta make tardara algún tiempo dependiendo del procesador que tengamos así mismo de la cantidad de memoria disponible en el sistema. Una vez terminado el proceso lo mas lógico seria ejecutar el comando make install lo que haría el que el programa se instalara directamente en el sistema y su posterior desinstalación sea un poco mas complicado, pero nuestro objetivo en este caso es crear un .deb por lo tanto en este punto instalaremos el programa checkinstall.
Ejecutamos en la terminal: 
sudo apt-get install checkinstall
Una vez finalizada la instalación y el proceso de make finalizado procedemos a construir nuestro .deb. 
 

Las primeras opciones de checkinstall nos dice que si queremos crear la documentación del paquete por default por lo que decimos que si, posteriormente nos dice que si queremos dejar una linea vacía en la descripción del paquete, damos esta opción por default nuevamente, es decir solo damos enter
Llegamos a una sección donde podemos cambiar los parámetros de información del paquete, esto es útil ya que podemos dar identificación personalizada al mismo, o en su caso dejarlo  tal como nos lo configura automáticamente checkinstall, unicamente cambiamos el campo poniendo el numero del mismo y escribiendo los nuevos datos en el espacio vació, yo en lo personal si lo edito para saber cuando compile el programa, pero si unicamente damos enter no nos afecta en nada.


Ejemplo yo cambio:
  • campo 1 en el cual describo que es un "emulador de gamecube"
  • campo 2 en el cual pongo que es el paquete "dolphin-emu"
  • campo 6 en el cual pongo que pertenece al "grupo de games"

Una vez realizado esto damos enter y comienza el proceso de creación e instalación automática del paquete dolhin-emu.deb.

Al casi finalizar el proceso de checkinstall nos dice que algunos paquetes (usados en el proceso de compilación y ya no útiles)  se han creado y que si queremos incluirlos a esto la opción predeterminada es que no así que ponemos una n así mismo nos dice que si debemos excluirlos del paquete a lo que ponemos que si es decir una s.


finalmente checkinstall nos indica el que todos los procesos de la creación del paquete han sido realizados exitosamente tal y como se ve en estas imágenes.




 


Y con esto queda finalizada nuestra creación de paquete e instalación solo queda probar si realmente se ejecuta el programa, podemos poner en la consola dolphin-emu y el programa se ejecutara o simplemente buscar el icono del programa y dar click sobre el.

Aquí unas capturas del paquete generado y de la ejecución del mismo.


Como podemos ver la compilación se realizo el 28 de septiembre a las 12 del día y es la versión 4.0-3914 que obviamente no esta disponible para wheezy pero que sin embargo nosotros la hemos compilado para nuestro debian.

finalmente podemos ver el paquete instalado en synaptic el cual podemos desinstalar cuando queramos o si queremos construir una versión mas actual desde las fuentes.


Como nota final checkinstall ha sido utilizado con dolphin-emu pero se puede construir cualquier paquete desde las fuentes.



martes, 23 de septiembre de 2014

Ejecutar Popcorn-Time en debian 7 cuando da error de `GLIBC_2.14'

Bueno es obvio que estas librerías no las tenemos pero hay una alternativa para que se ejecute el programa sin necesidad de instalar paquetes de Sid y romper nuestro Debian stable.

Para conseguir esto usaremos fakeroot.

Lo primero es descargar desde los repositorios de Ubuntu 12.04 los siguientes paquetes:

(Da click en los enlaces para bajar los paquetes)



Creamos en nuestra carpeta home una carpeta oculta a la que podremos el nombre de:

.fakeroot

de esta manera nuestra ruta quedaría así: 

/home/usuario/.fakeroot/

Desde la consola instalamos:

dpkg -x libc6-dev_2.15-0ubuntu10.6_amd64.deb /home/user/.fakeroot/

dpkg -x libc6_2.15-0ubuntu10.6_amd64.deb /home/user/.fakeroot/

y finalmente ejecutamos el comando desde la terminal.

LD_LIBRARY_PATH=/home/user/fakeroot/lib/x86_64-linux-gnu/ /opt/popcorn-time/Popcorn-Time

Por ejemplo en mi caso:
LD_LIBRARY_PATH=/home/emmanuel/.fakeroot/lib/x86_64-linux-gnu/ /opt/popcorn-time/Popcorn-Time

De esta manera el programa se ejecutara.




Si nos marca error de libudev instalamos la librería y creamos un enlace simbólico:



# apt-get install libudev-dev libudev0 libudev1


# sudo ln -s /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0

sábado, 20 de septiembre de 2014

Abrir enlaces web en Firefox desde Adobe Reader Linux

Algunas veces no podemos abrir enlaces web desde adobe reader aun y cuando tenemos bien configurado las preferencias del navegador en la configuración del programa, esto se debe a que en la opción de "trust manager" o administrador de confianza se tiene habilitada una opción que por default te obliga a decirle al programa que pagina si abrir y que pagina evitar.

Para solucionar este problema lo único que se hace es cambiar la preferencia a la opción "alow all web sites" o permitir todos los sitios web, una ves aceptado el cambio podremos ver que ahora si se nos permite abrir nuestros enlaces.

Muchas veces pensé que el problema tenia que ver con la ruta al ejecutable del navegador, pero en si todo era un problema de gestión de seguridad.



sábado, 10 de agosto de 2013

Debian aptitude y los huevos de pascua

Los Easter Eggs o huevos de pascua son sorpresas divertidas que los desarrolladores de sistemas dejan ocultas en sus programas, es algo así como la activación de items ocultos en los videojuegos.

En debian podemos accesar a uno con aptitude en terminal ingresando secuencialmente lo siguente.

#aptitude moo
#aptitude -v moo
#aptitude -vv moo
#aptitude -vvv moo
#aptitude -vvvv moo
#aptitude -vvvvv moo

El resultado es el siguiente:

Python_1_Configurar_virtualenvwrapper_para_entornos_virtuales.

¿Para qué sirve? R= Nos permite configurar un path donde se alojaran entornos virtuales los cuales se pueden entender como un directorio q...