Páginas

29 de abril de 2015

Moksha Desktop: El tenedor iluminado que nos faltaba

bodhi 3

It’s fork time dijo Jeff Hoogland. El desarrollador de Bodhi Linux se hartó de las versiones de Enlightenment de la 18 en adelante y dijo “Al carajo, me voy a hacer mi fork de E17, y lo voy a llamar Moksha Desktop”.

En el blog de Bodhi explica: Enlightenment pasó de ser el Duke Nukem Forever del Open Source a tener tres lanzamientos grandes en los últimos 3 años. E18 estaba tan destuído internamente que Bodhi ni quiso hacer un lanzamiento con esa version.

E19 le pareció mejor comparado con E18, pero aunque se pasó trabajando con los desarrolladores de Enlightenment y reportando bugs, ni siquiera ellos usaban E19 como escritorio diario. Apenas lanzaron E19, ya se pusieron a trabajar con E20. La frustración que tuvo fue tal que tuvo que tomarse ese largo descanso que lo mantuvo inactivo.

Al volver, lanzó Bodhi 3.0.0 con E19 como escritorio por defecto y además una imágen “legacy” con E17 para máquinas viejas. ya que no requería que el compositor estuviera siempre activo y así correr mejor.

Pero lo importante es que E17 tenía algunas funcionalidades que no tenía E19 como una bandeja de entradas funcional o la capacidad de mezclar componentes de temas, lo cual hizo replantearse si fue buena idea pasar a la nueva versión. Así que lo consultó con la comunidad y muchos estaban de acuerdo con Jeff. Entonces tomó el camino del tenedor.

Moksha primero integrará las mejoras al escritorio que anduvo agregando a Bodhi y después andará sacando las características más útiles de E18 y E19. Se espera que para cuando salga Bodhi 3.1.0 (por agosto), saque sus imágenes con Moksha, y que E19 seguirá estando en los repositorios para quien quiera.



from Desde Linux http://feedproxy.google.com/~r/UsemosLinux/~3/pDoMF1VWdGU/
via IFTTT

Hostear varios VHosts con usuarios diferentes en Nginx

Lo más normal del mundo cuando se tiene un servidor, es pensar en seguridad y más seguridad, nunca se puede ser suficientemente paranoico ;)

Una práctica algo común y NADA recomendable, es usar el mismo usuario para todas las bases de datos, peor si se usa root, que por increíble que parezca, hay quienes (por vagancia o desconocimiento) hacen esto, ya hablé sobre el por qué NO se debe actuar así en otro post, ahora toca explicar cómo y por qué es mejor separar el procesamiento del servidor web en diferentes usuarios, en esta ocasión será usando Nginx.

DedicatedServer_SubImage

¿Qué es eso de usuarios y servidor web?

Para explicarlo de forma breve y simple, el servidor web (apache, nginx, el que sea) necesita abrir procesos en el sistema, procesos que serán quienes tomen los archivos del HDD (imágenes, etc) y los ponga disponibles para el navegador del cliente. El servidor web no puede simplemente tomar los archivos y manipularlos siendo nadie, o sea, necesita un usuario que será quien al final hará todo esto, y ese usuario es del que les hablo, ¿se entiende?

¿Qué es eso de separar en varios usuarios?

Supongamos que en nuestro servidor tenemos 2 sitios webs, el nuestro que es un proyecto personal, y otro más (imaginemos que es el de nuestra novia o hermano). Aún cuando usemos bases de datos separadas y usuarios diferentes para acceder a las mismas, al final los archivos de ambos sitios webs son manipulados por el mismo usuario, el procesamiento PHP es gestionado por el mismo usuario para todos los sitios (generalmente es www-data). Esto es una práctica no recomendable, es mejor tenerlo todo bien separado, como dice un viejo refrán, es mejor precaver que lamentar.

Ok entiendo, cómo lo hago con Nginx

2000px-Nginx_logo.svg

Lo primero es tener cuenta que Nginx no cuenta con un módulo propio que se encargue del procesamiento PHP como sí lo hace Apache, para Nginx necesitamos usar PHP-CGI o PHP-FPM, que funciona igual de bien (o mejor) que Apache. Por lo que, para separar el procesamiento PHP en diferentes usuarios, necesitaremos cambiar líneas en archivos de configuración de PHP (CGI o FPM), no de Nginx propiamente.

Supongamos que usas PHP-FPM, crearemos un archivo de configuración de pool para un sitio específico, o sea, un pool es la forma de separar el procesamiento PHP de PHP-FPM, pero vamos por partes.

  1. Primero debemos saber qué usuario del sistema usaremos, asumiré que aún no tenemos ninguno creado y pues bueno, vamos a crearlo:
Todos los comandos siguientes TIENEN que ser ejecutados con privilegios de administración, bien con root directo o usando sudo

adduser blog

Nos comenzará el proceso normal de creación de un usuario, pongan el password, etc.

Le pongo blog al usuario solo por seguir el ejemplo, de que el primer sitio que hostearemos será un blog, pues eso… para saber cada usuario con qué sitio guarda relación

1. Primero entremos a /etc/php5/fpm/pool.d/ :

cd /etc/php5/fpm/pool.d/

2. Ahora, crearemos un archivo llamado blog.conf :

touch blog.conf

3. Ahora pondremos la configuración del pool que usaremos para el VHost blog:

Editen el archivo blog.conf con nano … por ejemplo: sudo nano blog.conf
[blog]
user = blog
group = blog
listen = /var/run/php5-fpm-blog.sock
listen.owner = blog
listen.group = blog
pm = ondemand
pm.max_children = 96
chdir = /

Nota: Lo que les marco en rojo es lo que deben modificar en dependencia del usuario que anteriormente crearon. Por ejemplo, si crean otro VHost con otro usuario (foro, por ejemplo) entonces ponen en vez de blog simplemente foro en cada una de las líneas, ¿se entiende no?

4. Una vez puesto ya la configuración del nuevo pool (el archivo blog.conf que recién creamos y editamos), toca el turno de indicarle al VHost de Nginx que use para ese VHost, para es sitio, un sock diferente. El sock que usará seremos el que previamente declaramos (/var/run/php5-fpm-blog.sock). Editemos el VHost de Nginx y en la parte del procesamiento PHP, indicamos que use ese socks. Por ejemplo:

location ~ \.php$ {
if (!-f $request_filename) { return 404; }
fastcgi_pass unix:/var/run/php5-fpm-blog.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME   $document_root$fastcgi_script_name;
fastcgi_read_timeout 300;
}

Como ven, le indico que el procesamiento PHP de ese VHost (esas líneas están por ejemplo dentro de /etc/nginx/sites-enabled/vhost-blog) lo haga con el socks que se encuentra en /var/run/php5-fpm-blog.sock … que es el que creamos previamente al editar /etc/php5/fpm/pool.d/blog.conf … ¿se entiende no?

5. Una vez hecho esto, reiniciamos ambos servicios (php5-fpm y nginx) y listo, veremos que el procesamiento de ese sitio (vhost) ya NO lo hace www-data ni root ni nadie similar, sino que lo hace el usuario que previamente definimos.

Aquí les muestro el output de un ps aux | grep fpm en uno de los servidores de mi nodo:

ps aux | grep fpm
ebook      586  0.0  0.0 349360  1204 ?      S    Mar30   0:00 php-fpm: pool ebook
ebook      589  0.0  0.0 349360  1204 ?      S    Mar30   0:00 php-fpm: pool ebook
www        608  0.0  0.2 350084  5008 ?      S    Mar30   0:00 php-fpm: pool www
www        609  0.0  0.2 350600  5048 ?      S    Mar30   0:00 php-fpm: pool www
tv3        611  0.0  0.0 349360  1204 ?      S    Mar30   0:00 php-fpm: pool tv3
tv3        615  0.0  0.0 349360  1204 ?      S    Mar30   0:00 php-fpm: pool tv3
revista   1818  1.7  1.7 437576 36396 ?      S    09:55   0:46 php-fpm: pool revista
revista   2264  1.9  1.7 437332 35884 ?      S    10:15   0:26 php-fpm: pool revista
pupila    2338  4.3  1.0 428992 22196 ?      S    10:18   0:53 php-fpm: pool pupila
revista   2413  1.8  1.7 437764 36152 ?      S    10:22   0:18 php-fpm: pool revista
gutl      2754  3.5  1.3 356724 27164 ?      S    10:38   0:00 php-fpm: pool gutl
cgr       5624  0.0  1.0 365168 22696 ?      S    Apr28   0:16 php-fpm: pool cgr
pupila    7900  0.3  2.5 457052 52444 ?      S    Apr25  20:23 php-fpm: pool pupila
pupila   11021  0.4  2.5 458316 52864 ?      S    Apr28   5:57 php-fpm: pool pupila
cgr      11254  0.0  1.0 363152 21708 ?      S    Apr28   0:12 php-fpm: pool cgr
cgr      13184  0.0  1.0 362872 21360 ?      S    Apr28   0:08 php-fpm: pool cgr

Como ven… separar el procesamiento PHP por usuarios usando Nginx + PHP-FPM es realmente fácil, ahí ven que son varios pools, pues son varios usuarios.

Conclusiones

Cuando se trata de servidores, nunca se es suficientemente paranoico … la seguridad no es algo para jugar, mientras más intentemos siempre mejorar la seguridad de nuestros servidores y sus servicios, menos probabilidades habrá de que pasemos un susto por intento (satisfactorio) de hack o cualquier cosa similar ;)



from Desde Linux http://feedproxy.google.com/~r/UsemosLinux/~3/QhU4b9lsAK0/
via IFTTT

Prey recargado: localiza tu portátil remotamente en tiempo real

Hace poco he recibido un correo muy interesante de la gente de Prey, en el cual comentan el lavado de cara que han hecho con este servicio que esta disponible para Windows, OSX, Android, iOS y claro GNU/Linux.

ss-prey3

Muy probablemente han probado el administrador de dispositivos de Android, una herramienta que nos sirve para localizar en tiempo real, hacer sonar e incluso bloquear remotamente nuestro móvil, pues la nueva versión de Prey hace lo mismo con nuestro portátil ademas de incorporar una función de enviar mensajes y otras cosas mas.

img17

Instalación en Ubuntu y Debian

Antes de todo debemos crear una cuenta de Prey. Descargamos el paquete o instalador para nuestra plataforma (Existe un archivo .zip para cualquier distro)

Ahora usaremos la terminal, ubicamos en el directorio donde descargamos el .deb y hacemos lo siguiente (API KEY nos aparece en la sección de ajustes de Prey, exactamente en la esquina inferior izquierda, en un recuadro azul):

API_KEY=miApiKey
sudo -E dpkg -i prey_1.X.X_amd64.deb
sudo npm -g install prey
sudo prey hooks post_install
sudo prey config gui

Con el último comando nos aparecerá un asistente para validarse con las credenciales que creamos en Prey, ingresamos al sitio, validamos nuestro usuario y automáticamente nos mostrara el nuevo dispositivo en el que hemos instalado la aplicación. Cabe destacar que podemos registrar hasta 3 dispositivos por cuenta, a menos que se pague por alguna versión premium.

El código fuente de Prey se encuentra en Github bajo la licencia libre GPLv3



from Desde Linux http://feedproxy.google.com/~r/UsemosLinux/~3/8m0b3M0ltZA/
via IFTTT

28 de abril de 2015

Instalación y configuración de Debian 8 GNOME

portadadebian8

Debian 8 (de nombre en clave “Jessie”) ya está listo. No tenía ni idea de las novedades, y tras informarme a fondo he quedado completamente maravillado. Yo probé Debian sólo una vez, concretamente el 7 (“Wheezy”), y no me dió ni un sólo problema. Ni uno. El dilema era que su software me parecía demasiado anticuado (GNOME 3.4), así que renuncié a usar Debian por no tener una experiencia suficientemente… Llamémoslo “moderna”.

Pero ahora ha cambiado. Mucho. Me enteré de que la nueva versión estable de Debian usa GNOME 3.14, Linux 3.16, PostgreSQL 9.4, etc. Además, el driver de NVIDIA cerrado más moderno que tienen es el 340, justo el que necesito yo. ¡Fantástico! Con todo ese software aguanto perfectamente los años que sean hasta la siguiente versión, así que me vendo a la estabilidad y robustez de Debian :P.

Y bueno, al margen de mi caso personal, si quieres instalar y configurar Debian 8 con GNOME 3.14, ¡estás en el lugar indicado! Espero que te sea útil ;).

Instalación

Lo primero es obtener el archivo .iso del disco de instalación de Debian. Normalmente suele ser un lío encontrar el que buscamos, ya que Debian ofrece una gran cantidad de versiones distintas. Generalmente, cuando nos centramos en una misma arquitectura (32 bits por ejemplo), tenemos por un lado el archivo “pequeño”, por otro el “completo” y por otro uno para cada entorno de escritorio que no sea GNOME (XFCE, KDE, LXDE, etc).

Lo normal en estos tiempos es utilizar el “netinstall”, que es el archivo pequeño. Con él nos descargaríamos todo de Internet. No obstante, mi enfoque es el siguiente: Si vamos a grabar un disco (no, no puedo usar USB en mi PC), ¿qué más da que ocupe 200 MB o 700 MB? Por eso en mi caso prefiero el “completo”. Si vamos a la página de descarga, veremos que hay varios: CD-1, CD-2, CD-3… Esto es para que aquellos usuarios sin conexión a Internet puedan descargarse los repositorios completos y puedan instalar el software desde ahí.

Nosotros simplemente nos descargaremos el CD-1; todo lo que no tenga ya el disco nos lo descargaremos de Internet. Para que no nos perdamos en la inmensa base de datos de Debian, aquí te dejo dos botones para descargar los discos de 32 bits y 64 bits respectivamente:

Debian 8.0 CD-1 32 bits

Debian 8.0 CD-1 64 bits

Grabamos el .iso en un CD y fin. ¡Ya está todo! Manos a la obra. Encendemos el PC con el disco de instalación dentro (asegúrate de configurar la BIOS para cargar primero el disco, el USB o lo que uses). Cuando cargue nos mostrará una pantalla como esta:

001

Seleccionamos “Graphical install” y pulsamos Intro. Se cargará el instalador gráfico en pocos segundos (¿sorprendido? ¡es Debian, qué esperabas!). Aleccionamos español. A partir de aquí todo es pan comido, puesto que el instalador nos guía de forma excepcional a través de todos los pasos.

Después tocará el particionado de nuestro disco duro; hacedlo como queráis. Yo parto de un disco duro vacío, puesto que voy a utilizar única y exclusivamente Debian, así que selecciono la primera opción: “Guiado – utilizar todo el disco”. Elegimos el disco duro (algunos PCs tienen más de uno; asegúrate de elegir el adecuado), que como para hacer la guía estoy utilizando una máquina virtual, me sale el que creé de 50 GB. Luego elegimos “Todos los ficheros en una partición” y “Finalizar el particionado y escribir los cambios en el disco” (confirmamos después con “Sí”). Debian 8 se instalará automáticamente.

Como Debian te da la opción de instalar todos los paquetes desde discos físicos, nos pregunta si vamos a cargar otro. Le decimos que no, ya que lo haremos por Internet. En la siguiente pantalla le decimos que sí. Luego configuramos APT (no usaremos proxy, así que dejad esa opción en blanco). Cuando termine nos preguntará si queremos participar en la encuesta de paquetes. En mi caso, como quiero ayudar, elijo que sí.

Cuando nos pregunte por los programas a instalar, marcamos GNOME y le damos a “Continuar”. Tardará un buen rato, ya que descargará aproximadamente unos 1500 paquetes de Internet. Después nos preguntará si queremos instalar GRUB, le diremos que sí y seleccionamos el disco duro donde instalamos Debian. ¡Y ya está! Nos dirá que hemos terminado. Al pulsar en “Continuar” reiniciará.

Aquí te dejo capturas de todo el proceso de instalación, para que lo veas con mejor claridad:

002 003 004

005 006 007

008 009 010

011 012 013

014 015 016

017 018 019

020 021 022

023 024 025

026

Tras el reinicio, debemos asegurarnos de no tener el disco de instalación dentro del lector de discos. ¡Buen trabajo!

Postinstalación

Una amiga con un portátil Mountain con NVIDIA Optimus (Intel + NVIDIA) no podía hacer login puesto que se congelaba la imagen en GDM. ¡No te preocupes si tu caso es similar! Haz Ctrl + Alt + F2 en cuanto se cargue tu sistema; entrarás en modo terminal. Sigue los pasos como si no pasara nada hasta instalar los drivers de tu tarjeta gráfica, donde tras reiniciar se solucionará tu problema; si te resulta molesto, puedes ir directamente al último paso de la postinstalación (la compatibilidad con paquetes de 32 bits), hacer después el tema de los drivers y posteriormente hacer todo lo que te has saltado.

Ten en cuenta que el primer login debe realizarse utilizando el usuario root (no hace falta usar “su” después); tras configurar sudo utilizarás tu usuario personal. De la misma forma, como estás en modo terminal, deberás sustituir “gedit” por “nano” en los comandos que modifiquen archivos de texto.

Si una serie de líneas [INFO] te molestan, puedes anularlas ejecutando rápidamente el siguiente comando: echo 0 > /proc/sys/kernel/hung_task_timeout_secs

Tras entrar en nuestro Debian 8 por primera vez, ampliaremos los repositorios que usamos ejecutando lo siguiente en una terminal:

su

gedit /etc/apt/sources.list

Se nos abrirá un archivo de texto con el siguiente contenido:

Las dos últimas líneas, las de backports, no aparecen por defecto en Debian estable. Si salen en mi caso es porque para hacer las capturas utilicé Debian testing en una máquina virtual antes del lanzamiento. No hace falta que tengas activados los repositorios de backports para seguir esta guía; yo no los uso.

027

Nuestro objetivo es borrar las dos líneas de cdrom y añadir “contrib” y “nonfree” a todos los deb, de tal forma que quede así:

028

Después le damos a nuestro usuario normal la capacidad de utilizar sudo. Ejecutamos (en la misma terminal; sustituye “lajto” por tu usuario):

apt update && apt upgrade

apt install sudo

gpasswd -a lajto sudo

reboot

Nuestro PC reiniciará. Entramos de nuevo y, cuando estemos en GNOME, abrimos la terminal.

Instalamos herramientas imprescindibles:

sudo apt install preload wget nano git mercurial make pulseaudio libcanberra-pulse mpg123 libldap-2.4-2 libpulse0 libxml2 giflib-tools libpng3 libc6 gtk2-engines gcc gcc-multilib g++ g++-multilib cmake gtk+2.0 gtk+3.0 lm-sensors hddtemp

Instalamos herramientas de compresión y descompresión:

sudo apt install rar unrar p7zip p7zip-full p7zip-rar unace zip unzip bzip2 arj lhasa lzip xz-utils

Instalamos códecs:

sudo apt install ffmpeg2theora ffmpegthumbnailer gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly gstreamer0.10-fluendo-mp3 gstreamer0.10-alsa gstreamer0.10-pulseaudio gstreamer1.0-clutter gstreamer1.0-plugins-base gstreamer1.0-nice gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-fluendo-mp3 gstreamer1.0-alsa gstreamer1.0-pulseaudio gstreamer1.0-libav gstreamer1.0-vaapi libmatroska6

Instalamos soporte para DVDs:

sudo apt install lsdvd libdvbpsi9 libdvdread4 libdvdnav4

Instalamos tipografías adicionales:

sudo apt install fonts-cantarell fonts-liberation fonts-noto ttf-mscorefonts-installer ttf-dejavu fonts-stix otf-stix fonts-oflb-asana-math fonts-mathjax

wget https://github.com/adobe-fonts/source-code-pro/archive/1.017R.zip && unzip 1.017R.zip && sudo mv source-code-pro-1.017R/OTF/*.otf /usr/local/share/fonts/ && fc-cache -f -v && rm 1.017R.zip && rm -Rf source-code-pro-1.017R

Instalamos paquetes de 32 bits (esto hacedlo sólo los que uséis sistemas de 64 bits):

sudo dpkg --add-architecture i386

sudo apt update

sudo apt install binutils-multiarch libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386 libcanberra-pulse:i386 libldap-2.4-2:i386 libpulse0:i386 libxml2:i386 libpng3:i386

No es necesario, pero reiniciamos.

Controladores de la tarjeta gráfica

Ahora vamos con los drivers de la tarjeta gráfica. Será fácil, no te preocupes.

intel_ati_amd

Si utilizas Intel o ATI/AMD los drivers libres que vienen por defecto serán más que suficientes (en el caso de Intel son los únicos que hay). Puntualmente, hay algunas gráficas AMD que funcionan mejor con el driver privativo; infórmate de tu modelo y de qué tienes que hacer en ese caso.

Como extra podemos instalar más paquetes para mejorar/ampliar su funcionamiento:

sudo apt install mesa-utils mesa-utils-extra libegl1-mesa libegl1-mesa-drivers libgl1-mesa-dri libglapi-mesa libgles1-mesa libgles2-mesa libglu1-mesa libopenvg1-mesa mesa-vdpau-drivers libtxc-dxtn-s2tc0 libtxc-dxtn-s2tc-bin uuid-runtime

Además, si usas 64 bits, no estaría mal instalar los paquetes de 32 bits:

sudo apt install libegl1-mesa:i386 libegl1-mesa-drivers:i386 libgl1-mesa-dri:i386 libglapi-mesa:i386 libgles1-mesa:i386 libgles2-mesa:i386 libglu1-mesa:i386 libopenvg1-mesa:i386 mesa-vdpau-drivers:i386 libtxc-dxtn-s2tc0:i386

Para aplicar los cambios, reiniciamos.

nvidia-logo

Si usas NVIDIA Optimus (Intel + NVIDIA) salta al siguiente apartado. ¡No hagas nada de esta sección!

El caso de NVIDIA, como siempre, es especial. El driver libre (abierto) que viene por defecto, Nouveau, no funciona bien bien en todas las gráficas. En la mayoría de casos el driver privativo (cerrado) de NVIDIA nos dará un rendimiento mucho mayor. No obstante, este driver cerrado ha ido abandonando el soporte a distintos modelos con el paso del tiempo, por lo que dependiendo del modelo que tengamos vamos a necesitar un driver u otro.

Por defecto el driver cerrado que ofrece Debian es el 340, que es la versión más alta que vamos a encontrar. En algunas distros más modernas, como Fedora o Arch, este driver es considerado “antiguo”, ya que existen versiones posteriores. Como en el caso de Debian es el de mayor versión, todas las gráficas modernas más las soportadas por el 340 (entre las que se incluye la mía: NVIDIA GeForce 9800 GT) funcionarán. Si compraste tu gráfica en los últimos años ten claro que necesitas este driver, pero si tiene más tiempo, comprueba que tu modelo se encuentra en la sección “Productos soportados” de esta página.

Para tarjetas muy antiguas tenemos los drivers que se mencionan en la wiki de Debian (304, 173…). Ten en cuenta que la mía, que funciona con el 340, la compré hace unos 7 años. Tiene que ser muy muy antigua para que necesites una versión anterior a la 340, así que es altamente probable que el 340 te sirva perfectamente.

Si quieres usar el driver 340, que funcionará en la gran mayoría de casos, ejecuta los siguientes comandos (si estás en 32 bits, los paquetes “libgl1-nvidia-glx-i386″ y “libtxc-dxtn-s2tc0:i386″ no deben ser instalados):

sudo apt update

sudo apt remove xserver-xorg-video-nouveau

sudo apt install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-dkms nvidia-glx nvidia-kernel-common nvidia-xconfig nvidia-settings nvidia-vdpau-driver libgl1-nvidia-glx libgl1-nvidia-glx-i386 libtxc-dxtn-s2tc0 libtxc-dxtn-s2tc-bin libtxc-dxtn-s2tc0:i386 nvidia-cg-toolkit uuid-runtime

sudo nvidia-xconfig

Para aplicar los cambios, reiniciamos.

nvidia-optimus-logo

La tecnología NVIDIA Optimus combina dos tarjetas gráficas, en principio una Intel para trabajos ligeros y una NVIDIA para trabajos pesados. Suele ser complicado hacer funcionar ambas tarjetas bajo un sistema GNU/Linux, ¡pero aquí lo haremos muy fácilmente! Simplemente abrimos una terminal y ejecutamos (los paquetes “:i386″ no deben ser instalados en sistemas de 32 bits):

Ni se te ocurra ejecutar “sudo nvidia-xconfig” o configurar Xorg manualmente (incluso si te lo solicita APT). Bumblebee se encarga de configurarlo correctamente, así que déjalo en sus manos. Limítate a ejecutar los comandos exactamente como aquí los muestro.

sudo apt update

sudo apt remove xserver-xorg-video-nouveau xserver-xorg-video-intel

sudo apt install bumblebee-nvidia primus primus-libs:i386 xserver-xorg-video-intel libtxc-dxtn-s2tc0 libtxc-dxtn-s2tc-bin libtxc-dxtn-s2tc0:i386 nvidia-cg-toolkit mesa-utils mesa-utils-extra libegl1-mesa libegl1-mesa-drivers libgl1-mesa-dri libglapi-mesa libgles1-mesa libgles2-mesa libglu1-mesa libopenvg1-mesa mesa-vdpau-drivers libtxc-dxtn-s2tc0 libtxc-dxtn-s2tc-bin uuid-runtime libegl1-mesa:i386 libegl1-mesa-drivers:i386 libgl1-mesa-dri:i386 libglapi-mesa:i386 libgles1-mesa:i386 libgles2-mesa:i386 libglu1-mesa:i386 libopenvg1-mesa:i386 mesa-vdpau-drivers:i386 libtxc-dxtn-s2tc0:i386

Para aplicar los cambios, reiniciamos. Por defecto se utilizará Intel; para usar NVIDIA tendremos que ejecutar el programa poniendo “optirun” antes. Por ejemplo, si quisiéramos abrir Blender usando NVIDIA, ejecutaríamos “optirun blender”. Si tienes problemas para hacerlo, consulta esta página; seguramente haciendo lo que se te indique solucionarás tu problema.

Cuando tengamos los drivers de cualquiera que sea nuestra tarjeta gráfica, configuraremos los sensores de temperatura con este comando (responderemos a todo “yes”):

sudo sensors-detect

Desinstalación e instalación de programas

Lo primero es lo primero. Desinstalamos todos los programas que trae Debian por defecto y no vamos a usar o que tienen alternativas de mayor calidad (siéntete libre de no desinstalar los que tú sí uses). Después instalaremos programas extra para formar un entorno completo (lo mismo: omite los que quieras):

Desinstalar los meta-paquetes “gnome” y “gnome-core” no supone ningún problema. De todas formas, reinstalaremos los paquetes que nos importan por si acaso tenemos problemas en el futuro.
Ten en cuenta que desinstalo Iceweasel para poner Google Chrome; tal vez no quieras hacer eso.

sudo apt remove gnome-chess cheese aisleriot five-or-more four-in-a-row gnome-documents gnome-mahjongg gnome-mines gnome-music gnome-nibbles gnome-photos gnome-robots gnome-sudoku gnome-tetravex lightsoff polari quadrapassel xboard empathy bijiben swell-foop tali vinagre vino hitori iagno gnome-klotski totem totem-common gnome-dictionary gnome-menus gnome-disk-utility xterm gnome-orca gnome-getting-started-docs gnome-user-guide hamster-applet goobox synaptic seahorse tracker

sudo apt install xinit xorg gnome-shell gnome-shell-extensions gdm3 file-roller gedit gedit-plugins eog eog-plugins gnome-calculator gnome-clocks gnome-color-manager gnome-font-viewer gnome-logs gnome-maps gnome-nettool gnome-screenshot gnome-sound-recorder gnome-system-log gnome-system-monitor gnome-tweak-tool dconf-editor rhythmbox rhythmbox-plugins simple-scan transmission-gtk gimp inkscape vlc mypaint pinta krita rawtherapee blender synfigstudio audacity ardour3 pitivi easytag filezilla brasero brasero-cdrkit gparted virtualbox virtualbox-dkms flashplugin-nonfree openjdk-7-jdk openjdk-7-jre icedtea-7-plugin evolution gnome-contacts soundconverter libreoffice libreoffice-avmedia-backend-gstreamer libreoffice-calc libreoffice-draw libreoffice-evolution libreoffice-gnome libreoffice-gtk libreoffice-impress libreoffice-report-builder-bin pepperflashplugin-nonfree gksu mpv && sudo apt remove libuim-data libuim-custom2 libuim-scm0

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -

sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'

sudo apt update && sudo apt upgrade

sudo apt install google-chrome-stable && sudo apt remove iceweasel

Nos aseguramos de que todo está en es_ES.UTF-8 (o el de tu idioma):

sudo dpkg-reconfigure locales

sudo gedit /etc/inputrc

Si la línea “set convert-meta off” tiene un “# ” delante, lo borramos.

sudo gedit /etc/environment

El archivo estará vacío. Ponemos el siguiente contenido (si no eres de España, pon tu código):

es_ES.UTF-8
LANG=es_ES.UTF-8
LANGUAGE=es_ES
LC_ALL=es_ES
LC_TYPE=es_ES
export LANG
export LANGUAGE
export LC_ALL
export LC_TYPE

sudo gedit /etc/profile

Añadimos al final del archivo lo siguiente (si no eres de España, pon tu código):

es_ES.UTF-8
LANG=es_ES.UTF-8
LANGUAGE=es_ES
LC_ALL=es_ES
LC_TYPE=es_ES
export LANG
export LANGUAGE
export LC_ALL
export LC_TYPE

Ahora vamos a hacer que Skype (ni ningún programa similar) no censure el audio del resto de programas:

sudo gedit /etc/pulse/default.pa

Buscamos por el final una línea que diga “load-module module-role-cork” y la comentamos de forma que quede así:

#load-module module-role-cork

Para usar un renderizado de fuentes eficiente seguimos los pasos de este artículo.

Seguimos:

Si no programas en Haskell como yo, sáltate estos comandos y la instalación de Atom.

sudo apt install haskell-platform postgresql

cabal update

cabal install stylish-haskell

cabal install ghc-mod

Nos descargamos Atom de aquí y lo instalamos haciendo click derecho en el archivo y abriéndolo con “Instalar paquete”. Después, para ponerle un diseño de calidad, ejecutamos:

apm install seti-ui seti-syntax

Seguimos ejecutando comandos:

Si no usas Telegram, sáltate su instalación.

wget -O telegram.tar.xz https://tdesktop.com/linux && tar Jxvf telegram.tar.xz && rm telegram.tar.xz && mv Telegram .telegram-folder && echo "fontconfig" >> $HOME/.hidden && $HOME/.telegram-folder/Telegram

Nos conectamos a Telegram y cerramos. Se nos creará un lanzador para usarlo cuando queramos.

Hacemos que Adobe Flash Player funcione en sintonía con la tarjeta gráfica:

sudo mkdir /etc/adobe/

su

echo "EnableLinuxHWVideoDecode=1" >> /etc/adobe/mms.cfg

echo "OverrideGPUValidation=1" >> /etc/adobe/mms.cfg

exit

Si no usas Skype, sáltate su instalación.

Nos descargamos Skype de aquí y lo instalamos haciendo click derecho en el archivo y abriéndolo con “Instalar paquete”.

Finalmente, limpiamos:

sudo apt-get autoremove && sudo apt-get clean

Reiniciamos :P.

[EXTRA (opcional)] Warcraft 3 y WoW

warcraft3wow

Si juegas a Warcraft 3 y/o World of Warcraft, no te preocupes, ¡siguiendo estos pasos harás que funcionen a la perfección en tu Debian 8! En mi caso la versión de WoW a la que juego es la 3.3.5a, por lo que no he podido testear qué tal funciona en versiones posteriores; de todas formas debería funcionar a la perfección, así que tú lleva a cabo los pasos que aquí indico ;).

Para poder jugar necesitamos Wine, así que lo instalamos:

sudo apt install wine:i386 libwine:i386 winetricks:i386 wine32:i386 libwine-gecko-2.24:i386 libwine-gl:i386 libwine-alsa:i386

Después lo configuramos para trabajar con 32 bits (se abrirá una ventana, instalamos todo lo que nos pida y le damos a “Aceptar” para que se cierre):

WINEARCH=win32 winecfg

Instalamos dependencias típicas de programas con Wine (cuando se abran ventanas, aceptamos todo y continuamos):

winetricks corefonts fontfix vcrun2005sp1 vcrun2008 vcrun6

Bien. Ahora ponemos la carpeta de Warcraft 3 y la carpeta de World of Warcraft en nuestra carpeta personal. Les cambiaremos el nombre a .warcraft3-folder y .wow-folder respectivamente; al hacerlo las carpetas se volverán ocultas (Ctrl + H para cuando quieras verlas). Asegúrate de que “wow.exe” está en minúsculas. Después ejecutamos los siguientes comandos…

mkdir $HOME/.local/share/icons/

Para World of Warcraft:

wget -O wow-icon.svg http://images.wikia.com/wowwiki/images/d/d3/Wow-icon-scalable.svg && mv wow-icon.svg $HOME/.local/share/icons/ && gedit $HOME/.local/share/applications/wow.desktop

Ponemos en su contenido (sustituye “lajto” por tu nombre de usuario):

#!/usr/bin/env xdg-open
[Desktop Entry]
Encoding=UTF-8
Name=World of Warcraft
Name[hr]=World of Warcraft
Exec=sh -c "WINEDEBUG=-all wine /home/lajto/.wow-folder/wow.exe -opengl"
Icon=wow-icon.svg
Terminal=false
Type=Application
Categories=Application;Game;
StartupNotify=false

En el caso de que uses una tarjeta gráfica NVIDIA (a solas, nada de NVIDIA Optimus), el comando de Exec debería estar así para aumentar el rendimiento:

sh -c "WINEDEBUG=-all __GL_THREADED_OPTIMIZATIONS=1 wine /home/lajto/.wow-folder/wow.exe -opengl"

Para Warcraft 3:

wget -O warcraft3-icon.png http://icons.iconarchive.com/icons/3xhumed/mega-games-pack-18/256/Warcraft-3-Reign-of-Chaos-3-icon.png && mv warcraft3-icon.png $HOME/.local/share/icons/ && gedit $HOME/.local/share/applications/warcraft3.desktop

Ponemos en su contenido (sustituye “lajto” por tu nombre de usuario):

#!/usr/bin/env xdg-open
[Desktop Entry]
Encoding=UTF-8
Name=Warcraft 3
Name[hr]=Warcraft 3
Exec=wine "/home/lajto/.warcraft3-folder/Warcraft III.exe" -opengl
Icon=warcraft3-icon.png
Terminal=false
Type=Application
Categories=Application;Game;
StartupNotify=false

Para Warcraft 3 FT:

wget -O warcraft3ft-icon.png http://icons.iconarchive.com/icons/3xhumed/mega-games-pack-18/256/Warcraft-3-Frozen-Throne-1-icon.png && mv warcraft3ft-icon.png $HOME/.local/share/icons/ && gedit $HOME/.local/share/applications/warcraft3ft.desktop

Ponemos en su contenido (sustituye “lajto” por tu nombre de usuario):

#!/usr/bin/env xdg-open
[Desktop Entry]
Encoding=UTF-8
Name=Warcraft 3 Frozen Throne
Name[hr]=Warcraft 3 Frozen Throne
Exec=wine "/home/lajto/.warcraft3-folder/Frozen Throne.exe" -opengl
Icon=warcraft3ft-icon.png
Terminal=false
Type=Application
Categories=Application;Game;
StartupNotify=false

¡Reiniciamos y listo! Ahora podrás acceder a estos tres juegos de forma cómoda, sencilla y optimizada desde tu panel de actividades ;).

Configuración de todos los programas

Para mi gusto, gran parte de los programas más utilizados vienen con una configuración por defecto incómoda. Aquí os ofrezco esquemas y capturas de los cambios que recomiendo para algunos de ellos. Empecemos por GNOME:

  • Buscar > Desactivamos absolutamente todo (al menos así lo prefiero yo)
  • Cuentas en línea > En mi caso, me conecto a mi cuenta Google y dejo activado sólo “Correo”, “Calendario” y “Contactos”
  • Fondo > Me he tomado la molestia de diseñar este fondo para los fans del negro
  • Notificaciones > Desactivamos las de Rhythmbox
  • Privacidad > Dejamos todo en “Apagado”
  • Región e idioma > Ponemos todo en español y eliminamos “Inglés” de la fuente de entrada
  • Energía > Apagar la pantalla: Nunca
  • Teclado > Atajos >
    • Escritura > Tecla de composición: Ctrl derecho
    • Combinación personalizada > Creamos “Abrir terminal” con el comando “gnome-terminal” y la combinación de teclas Ctrl + Alt + T
  • Detalles > Aplicaciones predeterminadas >
    • Web: Google Chrome
    • Correo: Evolution
    • Calendario: Evolution
    • Música: Reproductor multimedia VLC
    • Vídeo: mpv Media Player
    • Fotos: Visor de imágenes
  • Fecha y hora > Activamos “Fecha y hora automáticas” y “Zona horaria automática”
  • Usuarios > Nos ponemos el avatar que queramos

Configuración de Herramienta de retoques:

  • Apariencia > Activamos “Tema oscuro global”
  • Barra superior > Activamos “Mostrar la fecha”
  • Teclado y ratón > Desactivamos “Pegar al pulsar con el botón central”
  • Extensiones > Activamos “User themes”
  • Tipografías >
    • Títulos de la ventana: Noto Sans Regular 11
    • Interfaz: Noto Sans Regular 11
    • Documentos: Noto Sans Regular 11
    • Monoespaciada: Source Code Pro Regular 11
    • Hinting: Slight
    • Alisado: Rgba
  • Áreas de trabajo >
    • Creación de áreas de trabajo: Estática
    • Número de áreas de trabajo: 7

Después instalamos las siguientes extensiones:

  • Lock Keys (sólo si tienes un teclado que no indica si tienes las mayúsculas activadas; si te molestan las notificaciones, se pueden desactivar en las preferencias de la extensión)
  • Media Player Indicator
  • System Monitor (ocultamos Red y mostramos Disco y Thermal con el sensor que queramos [recomiendo el que más caliente suela estar])

Configuración de Nautilus (Archivos):

  • Vistas > Activamos “Colocar las carpetas antes que los archivos”
  • Comportamiento > Activamos “Preguntar cada vez”

Configuración de GNOME Terminal:

  • Desactivamos “Mostrar la barra de menús en las terminales nuevas por omisión”
  • Activamos “Usar la variante oscura del tema”

Configuración de EasyTAG:

  • Confirmación > Activamos “Confirmar cambio de carpeta cuando hay cambios sin guardar”

Configuración de Editor de dconf (ponemos lo siguiente dentro de folder-children haciendo doble click):

['Utilities', 'Games']

001

Después ejecutamos en una terminal:

gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Utilities/ categories "['Utility']"

gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Utilities/ name "Utilidades"

gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Utilities/ apps "['eog.desktop', 'evince.desktop', 'gnome-terminal.desktop', 'simple-scan.desktop', 'vlc.desktop', 'qjackctl.desktop', 'reportbug.desktop', 'openjdk-7-policytool.desktop', 'gnome-tweak-tool.desktop', 'gnome-control-center.desktop', 'gnome-system-log.desktop', 'gnome-system-monitor.desktop', 'org.gnome.SoundRecorder.desktop', 'system-config-printer.desktop', 'display-im6.desktop', 'display-im6.q16.desktop', 'ca.desrt.dconf-editor.desktop', 'flash-player-properties.desktop', 'nm-connection-editor.desktop', 'itweb-settings.desktop', 'im-config.desktop', 'uim.desktop', 'nvidia-settings.desktop', 'monodoc.desktop', 'soundconverter.desktop', 'gksu.desktop']"

gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Utilities/ excluded-apps "['atom.desktop', 'virtualbox.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Contacts.desktop', 'org.gnome.clocks.desktop', 'org.gnome.gedit.desktop', 'org.gnome.Maps.desktop']"

gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Games/ categories "['Game']"

gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Games/ name "Videojuegos"

Configuración de Gedit:

  • Ver >
    • Activamos “Mostrar números de línea”
    • Activamos “Mostrar margen derecho en la columna: 80″
    • Activamos “Resaltar la línea actual”
    • Activamos “Resaltar parejas de corchetes”
  • Editor >
    • Anchura del tabulador: 4
    • Activamos “Insertar espacios en lugar de tabuladores”
    • Activamos “Activar sangría automática”
  • Tipografías y colores > Seleccionamos “Solar oscuro” (Solarized dark)
  • Complementos > Como más nos guste

Nos conectamos con nuestra cuenta de Google en Google Chrome, instalamos el tema GNOME 3 Adwaita Dark e instalamos las extensiones:

Para configurar GIMP nos vamos a “Ventanas” y activamos “Modo de ventana única”. Después maximizamos y ajustamos el ancho de los paneles laterales según lo deseado.

Configuración de Rhythmbox:

  • Preferencias >
    • General > Activamos “Géneros, artistas y álbumes”
    • Música > Activamos “Vigilar mi fonoteca en busca de archivos nuevos”
  • Complementos > Hemos de tener activado sólo:
    • Interfaz de MediaServer2 D-Bus
    • Interfaz de MPRIS D-Bus
    • Reproductores portátiles – iPod
    • Reproductores portátiles – MTP
Si no usas Skype, sáltatelo.

Configuración de Skype (tras conectarnos):

  • General > Guardar archivos en: Descargas
  • Mensajer´ia instant´anea > Desactivamos “Mostrar emoticonos”
  • Dispositivos de sonido > Desactivamos “Permitir que Skype ajuste automáticamente mis niveles de mezclado”
Si no usas Telegram, sáltatelo.

Configuración de Telegram Desktop (tras conectarnos):

  • Desactivamos “Show message preview”
  • Desactivamos “Replace emojis”
  • Choose background from gallery
  • Change language (ponemos español)

Configuramos Git (pon tus datos):

git config --global user.name "Nombredeusuario"

git config --global user.email "direccion@detuemail.com"

Configuración de Transmission:

  • Descargas > Guardar en la ubicación: Descargas/Torrents
  • Escritorio > Activamos “Inhibir la hibernación cuando hay torrents activos”
Si no vas a usar Atom para programar en Haskell y PostgreSQL, sáltatelo.

Configuración de Atom:

  • View > Toggle Menu Bar (cuando se desee mostrar pulsamos Alt)
  • Edit > Preferences >
    • Settings >
      • Font family: Source Code Pro
      • Font size: 15
      • Activamos “Scroll Past End”
      • Activamos “Soft Wrap”
      • Tab Length: 4
    • Themes >
      • UI Theme: Seti
      • Syntax Theme: Seti

Cerramos Atom. Para instalar paquetes que amplíen sus capacidades ejecutamos:

apm install minimap color-picker save-session highlight-selected project-manager tasks language-haskell autocomplete-plus ide-haskell language-shakespeare language-pgsql linter linter-htmlhint linter-csslint linter-jshint linter-coffeelint atom-html-preview autoclose-html

Ejecutamos “gedit ~/.atom/config.cson” y añadimos esto al final (las indentaciones son de 2, 4 y 4 espacios respectivamente; sustituye “lajto” por tu usuario):

"ide-haskell":
ghcModPath: "/home/lajto/.cabal/bin/ghc-mod"
stylishHaskellPath: "/home/lajto/.cabal/bin/stylish-haskell"

Usar “optirun” automáticamente

Esta sección es específica para los usuarios de una tarjeta gráfica híbrida (NVIDIA + Intel) que utilice la tecnología NVIDIA Optimus. Si no tienes tal sistema, ¡no hagas nada de este apartado!

Bumblebee nos permite poder utilizar la tecnología NVIDIA Optimus (NVIDIA + Intel) en GNU/Linux, ¿no es genial? El problema de ello es que tenemos que ejecutar los programas con “optirun” para usar NVIDIA en vez de Intel. Es tedioso, lo sé. No obstante… ¿Y si modificamos los lanzadores de los programas “pesados” y añadimos optirun en el comando que se ejecuta al pulsarlos? ¡Así no tendremos que hacerlo más!

No estoy seguro, pero tal vez al actualizar el programa también se actualice el lanzador; en tal caso habría que volver a hacerlo.

Para usar NVIDIA con el programa que queramos tenemos que modificar su .desktop y añadir “optirun” al comienzo del comando de “Exec=”. Por ejemplo, para Blender tendríamos que abrir su .desktop con Gedit:

sudo gedit /usr/share/applications/blender.desktop

Por defecto lo tenemos en “Exec=blender”. Tendríamos que cambiarlo a “Exec=optirun blender” y ya ;).

Otro programa que también necesita mucha potencia es Synfig Studio. Para abrir su .desktop:

sudo gedit /usr/share/applications/synfigstudio.desktop

Bastaría con cambiar su “Exec=synfigstudio %F” a “Exec=optirun synfigstudio %F”.

También, si instalaste el WoW siguiendo esta guía, puedes utilizar NVIDIA de la siguiente forma:

sudo gedit $HOME/.local/share/applications/wow.desktop

Deberíamos tener ‘sh -c “WINEDEBUG=-all wine /home/lajto/.wow-folder/wow.exe -opengl”‘, por lo que si queremos ejecutarlo con NVIDIA pondríamos:

Exec=sh -c "WINEDEBUG=-all optirun wine /home/lajto/.wow-folder/wow.exe -opengl"

Además de los tres programas ya mencionados, si consideras que hay algún programa que requiera semejante potencia, siéntete libre de modificar su .desktop. Personalmente creo que a no ser que sea un videojuego con gráficos muy avanzados utilizar NVIDIA en otros programas es una tontería. Al fin y al cabo, ¿para eso ya tienes una Intel, no?

¡Reiniciamos para que tenga efecto!

[EXTRA (opcional)] Debian 100% Numix

En este apartado asumo que tienes la carpeta “Numix-Square” en /usr/share/icons y “Numix Frost Light” en /usr/share/themes.

Primero activamos el tema y los iconos desde la Herramienta de retoques; lo único que dejaremos por defecto es el ratón.

Añadimos 3 iconos nuevos (PPSSPP, Warcraft 3 y Warcraft 3 FT) hechos por una amiga:

cd /usr/share/icons/Numix-Square/scalable/apps/ && sudo wget -O ppsspp.svg https://raw.githubusercontent.com/Lajto/numix-icons-not-created-yet/master/ppsspp-numix-icon-by-kaero.svg && sudo wget -O warcraft3.svg https://raw.githubusercontent.com/Lajto/numix-icons-not-created-yet/master/warcraft3-numix-icon-by-kaero.svg && sudo wget -O warcraft3ft.svg https://raw.githubusercontent.com/Lajto/numix-icons-not-created-yet/master/warcraft3ft-numix-icon-by-kaero.svg && cd $HOME

Modificamos el Icon de Ardour para ponerlo como “Icon=ardour”:

sudo gedit /usr/share/applications/ardour3.desktop

Modificamos el Icon de Reportbug para ponerlo como “Icon=debian”:

sudo gedit /usr/share/applications/reportbug.desktop

Modificamos el Icon de ImageMagick para ponerlo como “Icon=imagemagick”:

sudo gedit /usr/share/applications/display-im6.desktop

Modificamos el Icon de ImageMagick (display Q16) para ponerlo como “Icon=imagemagick”:

sudo gedit /usr/share/applications/display-im6.q16.desktop

Modificamos el Icon de Telegram Desktop para ponerlo como “Icon=telegram”:

sudo gedit $HOME/.local/share/applications/telegramdesktop.desktop

Modificamos el Icon de World of Warcraft (si lo instalamos) para ponerlo como “Icon=WoW”:

sudo gedit $HOME/.local/share/applications/wow.desktop

Modificamos el Icon de Warcraft 3 (si lo instalamos) para ponerlo como “Icon=warcraft3″:

sudo gedit $HOME/.local/share/applications/warcraft3.desktop

Modificamos el Icon de Warcraft 3 FT (si lo instalamos) para ponerlo como “Icon=warcraft3ft”:

sudo gedit $HOME/.local/share/applications/warcraft3ft.desktop

Tras reiniciar, nuestro GNOME será 100% Numix :). Aquí tienes el resultado final:

Captura de pantalla de 2015-04-27 20:52:50 Captura de pantalla de 2015-04-27 20:52:55

Captura de pantalla de 2015-04-27 20:53:00 Captura de pantalla de 2015-04-27 20:53:03

Guía finalizada

¡Ya hemos terminado! Ni os imagináis el esfuerzo que le he puesto a esta guía, en serio. Lo probé todo en una máquina virtual, lo probé todo en mi PC en cuanto salió el lanzamiento y lo probé todo en un portátil con NVIDIA Optimus. ¡Todo funciona perfecto! Sólo me queda deciros que ojalá disfrutéis y aprovechéis esta guía tanto como lo haré yo.

¡Un saludo! :D



from Desde Linux http://feedproxy.google.com/~r/UsemosLinux/~3/Kv7cq3mzock/
via IFTTT