Instalar Linux junto a Windows 10 en un portátil Acer Aspire E5

El siguiente procedimiento describe la instalación de Ubuntu 15.10 en un portátil Acer Aspire E5, pero debería de funcionar también para cualquier otra distribución que tenga incorporado ya el sistema UEFI (Ubuntu 14.04+) y cualquier otro portátil Acer más o menos parecido a éste. El procedimiento es sencillo, pero tiene varios pasos muy diferenciados que tenemos que hacer en ese mismo orden. Empecemos.

Actualizar la BIOS

Lo primero que hay que hacer es actualizar la BIOS del equipo, porque algunas de sus versiones no permiten ni la instalación de Linux ni el arranque en modo Live desde un USB. Para ello hay que acceder a la página de descargas de Acer, seleccionar el tipo y modelo de portátil, pulsar en la pestaña BIOS/Firmware y descargarse la versión más moderna de la BIOS, que en mi caso fue la v1.35. La versión 1.31 creo que también es válida, o al menos eso dicen en los foros; si es la que tiene el portátil de fábrica, no es necesario actualizarla. La que sí que no funciona es la versión 1.25, que era justo la que traía el mío. La actualización de la BIOS no conlleva ninguna complicación y se puede hacer fácilmente siguiendo las instrucciones del ejecutable que descargamos.

Desactivar el fast-boot en Windows

Para ello seguimos las instrucciones que tenemos en la página de Acer, las cuales nos dicen que tenemos que ir a Panel de Control / Opciones de energía / Elegir lo que hacen los botones de encendido / Cambiar ajustes actualmente no disponibles y desmarcar el check-box que pone «Activar arranque rápido» que aparece en la parte de abajo de la pantalla.

Dejar espacio libre en el disco duro

El siguiente paso es hacer sitio en el disco duro, algo que tenemos que hacer obligatoriamente desde dentro de Windows 10, no nos sirve hacerlo desde la distribución Live de Linux ni desde GParted. Para ello pulsaremos con el botón derecho en el icono de Windows 10 abajo a la izquierda y seleccionaremos la opción «Administración de discos». En la ventana que se nos muestra nos aparecen tres particiones, nos fijamos en una de ellas etiquetada C y con formato NTFS, la más grande. La seleccionamos, pulsamos el botón derecho sobre ella y seleccionamos la opción «Reducir volumen». Tras un tiempo calculando nos muestra cuánto tenemos libre. Ajustamos el espacio que queramos, por ejemplo yo he utilizado 90 Gb pero con 10-20Gb puede ser más que suficiente, depende de lo que vayamos a instalar posteriormente en el sistema linux. Cuando termine, dejamos el espacio libre vacío, sin asignar ni formatear.

Modificar el orden de arranque en la BIOS

Ahora ya podemos arrancar desde un USB en el que previamente hayamos instalado Ubuntu para iniciar en modo Live, pero antes tenemos que cambiar los parámetros de la BIOS para que el sistema arranque primero desde el USB. Para ello reiniciamos el equipo y al inicio del arranque pulsamos F2, lo que nos permite entrar a cambiar la configuración de la BIOS. Vamos a Boot, y en el orden de arranque ponemos en primer lugar el USB (mediante las teclas de función F5 y F6 podemos cambiar el orden de las unidades). Guardamos los cambios en la BIOS, salimos y si tenemos el USB insertado, al pulsar F12 en el arranque ya podremos seleccionar que lo haga desde el dispositivo USB con Ubuntu.

Iniciar desde un USB Live de Ubuntu e instalar el sistema Linux

Cuando arranca Ubuntu en modo Live, seleccionaremos la opción «Try Ubuntu…» y cuando finalmente se muestre el escritorio veremos que todo va bien menos la conexión inalámbrica (conseguir que funcione el wifi es tema para otra entrada del blog), por lo que tendremos que trabajar con el equipo conectado por cable si queremos actualizar el sistema tras su instalación.

Pulsamos el icono de «Instalar Ubuntu» y procedemos con el conocido y facilísimo proceso de instalación de Ubuntu en el disco duro, seleccionando cuando nos lo pregunte la opción «Instalar Ubuntu junto a Windows 10». Esta forma de instalación de Ubuntu es específica para sistemas con UEFI activado, por lo que no se instala el grub de la manera habitual en sistemas anteriores, sino que lo hace de forma que Ubuntu pueda arrancarse posteriormente desde el Windows Boot Manager.

Cuando termina la instalación pulsamos reiniciar el equipo y extraemos el USB para que se arranque desde el disco duro.

Incluir el nuevo sistema en el arranque de Windows

Cuando el sistema arranca vemos que directamente entramos en Windows 10, como si no hubiéramos hecho nada. Bien, eso es porque todavía no le hemos dicho al arranque de Windows que hay otro sistema operativo en el disco que queremos poder seleccionar cuando queramos. Así que volvemos a reiniciar el equipo, pulsamos F2 para entrar en las opciones de la BIOS y vamos a Security. Primero tenemos que seleccionar la opción de dar una password al supervisor (que somos nosotros). Lo hacemos, confirmamos la password y vemos que ahora ya nos permite seleccionar más opciones. Seleccionamos la opción «Elegir un fichero UEFI seguro». Nos aparece una pantalla en la que solamente aparece HDD0 o algo parecido. Pulsamos Intro. En la siguiente pantalla vemos que ya nos aparece una etiqueta que pone Ubuntu, la seleccionamos y pulsamos Intro. Posteriormente aparece una lista de ficheros de los que seleccionamos el correspondiente a Grub. Y ya está, guardamos las modificaciones en la BIOS, salimos y al reiniciar ya nos aparece el conocido menú de arranque de Grub en el que tenemos tanto la opción de iniciar Ubuntu como la de iniciar en el sistema Windows 10 con el que convive en el mismo disco duro.

 

Error «Cannot find include file …» en NetBeans

Minientrada

Si empezamos a codificar en el lenguaje C/C++ utilizando NetBeans IDE es probable que cuando hagamos nuestra primera aplicación nos encontremos con el error «Cannot find include file …»

Para solucionarlo, cerramos el IDE e instalamos las utilidades necesarias para construir aplicaciones C++, en Debian/Ubuntu y distribuciones derivadas se consigue mediante el comando:

sudo apt-get install build-essentials

En las distribuciones de Linux derivadas de Archlinux el comando sería:

sudo pacman -S base-devel

Una vez hecho esto, abrimos de nuevo NetBeans, vamos a Tools / Options / C/C++ y en la pestaña Build Tools pulsamos en el botón Restore Defaults y luego en el botón Apply. A continuación vamos a la pestaña Code Assistance, pulsamos en el botón Reset Settings y luego en Apply.

Una vez hecho esto deberían de desaparecer los errores en los «include».

Instalar LAMP en Chakra Linux

Voy a separar la instalación en varias partes: instalar el servidor de páginas web con PHP, el mySQL, el phpMyAdmin y por último la habilitación de un directorio de usuario para desarrollo de nuestras páginas web. Aunque esta instalación la he realizado en Chakra Linux 2015.03 Euler, los pasos creo que también funcionarán para cualquier distribución basada en Arch Linux.

Instalación del servidor de páginas web

Para ello utilizamos el siguiente comando, que nos instala los paquetes principales y otros que nos vendrán bien:

sudo pacman -S apache php php-apache php-gd php-mcrypt php-pear xdebug

El xdebug solo lo uso para depurar las aplicaciones en NetBeans, luego si no se usa ese entorno de trabajo no es necesario instalarlo. Arrancamos el servicio con el comando:

sudo systemctl start httpd.service

Para comprobar que funciona el servidor de páginas web podemos acceder con el navegador a la página http://localhost y ver que nos aparece el famoso «It works!»

Para incluir el PHP, editamos el fichero de configuración de Apache (yo uso el editor vim, pero eso es cuestión de gusto y penitencia personal):

sudo vim /etc/httpd/conf/httpd.conf

Y justo después de la línea

LoadModule dir_module modules/mod_dir.so

Incluimos la línea

LoadModule php5_module modules/libphp5.so

Y después del último «Include» en ese mismo fichero, añadimos las líneas:

# PHP
Include conf/extra/php5_module.conf

Para comprobar que funciona el PHP creamos un fichero info.php en el directorio donde tendremos nuestras páginas web (en este caso es el directorio /srv/http)

sudo vim /srv/http/info.php

En ese fichero incluimos el contenido siguiente:

<?php phpinfo(); ?>

Y accedemos a la página http://localhost/info.php para comprobar que funciona. Se nos mostrará la página de información de PHP con los datos de nuestra instalación.

Instalación de mySQL

Por defecto en Chakra Linux nos viene ya instalado el MariaDB, un clon de mySQL. Podemos comprobarlo con el comando:

sudo pacman -Ss mysql

Si no nos aparece como instalado, lo instalamos con el mismo comando anterior pero sustituyendo el «-Ss» por «-S».

A continuación editamos el fichero php.ini

sudo vim /etc/php/php.ini

Y en él descomentamos (quitamos el «;» inicial) de las líneas

extension=mysql.so
extension=mysqli.so
extension=pdo_mysql.so
extension=gd.so
extension=mcrypt.so

Arrancamos el servicio con el comando

sudo systemctl start mysqld.service

Y para asegurar la instalación de nuestro mySQL lo hacemos con el comando

sudo mysql_secure_installation

Con el cual podemos incluir una clave para el usuario root y dar mayor seguridad a nuestra instalación aceptando la opción por defecto que se nos muestra.

Instalación de phpMyAdmin

Para instalar este programa normalmente se hace mediante el paquete de cada distribución, si existe, pero en este caso lo haremos utilizando la fuente original. Para ello accedemos a la página http://phpmyadmin.net y nos descargamos el fichero zip con la última versión pulsando en el botón que pone Download.

El fichero que nos hemos descargado lo extraemos en el directorio /srv/http con el comando:

sudo unzip /<sitio_donde_lo_hemos_descargado>/phpMyAdmin-4.4.9-all-languages.zip -d /srv/http

Y como no nos gusta el nombre del directorio creado, lo cambiamos por otro más corto con el comando

sudo mv /srv/http/phpMyAdmin-4.4.9-all-languages /srv/http/phpMyAdmin

Para comprobar que funciona accedemos a la página http://localhost/phpMyAdmin, en la que podremos entrar con el usuario root y la clave que le dimos anteriormente.

Habilitar un directorio de usuario

Para ello tenemos que modificar el archivo /etc/http/conf/httpd.conf descomentando la línea

LoadModule userdir_module modules/mod_userdir.so

Tenemos también que verificar que en dicho archivo aparece también la línea que incluye nuestro archivo de configuración, que es

Include conf/extra/httpd-userdir.conf

Entramos en el archivo /etc/http/conf/extra/httpd-userdir.conf y comprobamos que incluye las siguientes líneas

<Directory "/home/*/public_html">
      AllowOverride FileInfo AuthConfig Limit Indexes
      Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
      Require method GET POST OPTIONS
</Directory>

A continuación creamos el directorio donde vamos a alojar nuestras páginas web y le damos permiso de lectura a él y a nuestro directorio de usuario (si no, nos aparecerá el famoso error 403 de Apache)

mkdir ~/public_html
chmod a+x ~
chmod a+x ~/public_html

Copiamos el fichero info.php que creamos en /srv/http al directorio ~/public_html y accedemos a él en la dirección

http://localhost/~nuestro_usuario/info.php

Y ya está, ya tenemos nuestro entorno LAMP en Chakra Linux. Si queremos que cada vez que arranque el sistema tengamos el servidor web y el mySQL disponibles, lanzamos los comandos:

sudo systemctl enable httpd.service
sudo systemctl enable mysqld.service

Un último detalle: si vamos a usar el depurador de PHP de NetBeans, tenemos que entrar en el fichero /etc/php/conf.d/xdebug.ini y comprobar que tiene las líneas

zend_extension=/usr/lib/php/xdebug.so
xdebug.remote_enable=on
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp

 

KDE Dolphin no guarda los lugares de usuario

En una instalación nueva de openSUSE 13.2 me he encontrado con el bug 342685 aún no resuelto, que hace que los lugares que añadimos a la barra lateral de Dolphin no permanezcan cuando reiniciamos el navegador de archivos. La forma de solucionarlo es como indica el comentario 25 en la discusión, entramos al fichero:

/home/<nuestro_usuario>/.kde4/share/apps/kfileplaces/bookmarks.xml

Y ahí buscamos las etiquetas que se corresponde con el lugar que hemos creado y que no nos aparece, por ejemplo en mi caso es un acceso directo al directorio Dropbox, luego la parte del fichero a encontrar es:

<bookmark href=»file:///home/<nuestro_usuario>/Dropbox»>

<metadata owner=http://www.kde.org >

<isSystemItem>true</isSystemItem>
<metadata>
<bookmark>

La parte que tenemos que insertar en el xml es la etiqueta que ya he puesto en el ejemplo, y que podéis ver en ese fichero que la tienen todos los demás marcadores del sistema:
<isSystemItem>true</isSystemItem>

Hay que ponerla justo antes de la etiqueta <metadata> correspondiente.

Lo que hacemos es un engaño y algo chapucilla, la verdad, pues estamos haciendo creer al navegador que la carpeta es del sistema, cuando es una de usuario, pero mientras se corrige el bug, nos sirve.

Instalar Firefox o Thunderbird en Debian 8

Aunque las versiones adaptadas para Debian son perfectas y funcionales 100%, mi aprecio al proyecto Mozilla me impulsa siempre a usar directamente sus programas, por lo que si no eres un fan absoluto de Mozilla Foundation como yo, entonces no te hace falta hacer lo que sigue a continuación, tanto Iceweasel como Icedove funcionan perfectamente.

Primero descargamos el fichero de instalación de la página de descargas de Mozilla Firefox o Thunderbird.

Hacemos login en una consola como root y lanzamos los siguientes comandos (suponiendo que el fichero lo hemos descargado en el directorio Descargas):
#cd /opt
#tar xvf /home/nuestro_usuario/Descargas/firefox-...tar.bz2
#cp /opt/firefox/browser/icons/mozicon128.png /usr/share/pixmaps/firefox.png
#rm /usr/bin/firefox && ln -s /opt/firefox/firefox /usr/bin/firefox

Para el caso de Thunderbird los comandos son:

#cd /opt
#tar xvf /home/nuestro_usuario/Descargas/thunderbrid-...tar.bz2
#cp /opt/thunderbird/chrome/icons/default/default48.png /usr/share/pixmaps/thunderbird.png
#rm /usr/bin/thunderbird && ln -s /opt/thunderbird/thunderbird /usr/bin/thunderbird

A continuación tenemos que asignar el directorio en el que hemos hecho las instalaciones a nuestro usuario, para que así podamos actualizar las versiones sin tener que repetir la instalación. Para ello lanzamos el comando:

#chown -R nuestro_usuario:nuestro_grupo /opt/firefox
#chown -R nuestro_usuario:nuestro_grupo /opt/thunderbird

Para tener un acceso en el escritorio o el menú, depende de si usas Gnome, LXDE, etc tendrán que seguir un procedimiento u otro, por ejemplo, para Gnome y LXDE basta con crear el archivo firefox.desktop (hay que hacerlo con usuario root) en el directorio /usr/share/applications con el contenido siguiente:

[Desktop Entry]
Encoding=UTF-8
Name=Firefox
Comment=Browse the World Wide Web
GenericName=Web Browser
X-GNOME-FullName=Firefox Web Browser
Exec=/opt/firefox/firefox %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=firefox
Categories=Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;
StartupWMClass=Firefox
StartupNotify=true

Es conveniente cerrar sesión y entrar de nuevo en el escritorio, porque he visto en Gnome que si por ejemplo copias el archivo de otro programa para crear éste, a veces se mantiene el icono del anterior. Para Thunderbird sería igual  pero cambiando el nombre del programa, la descripción, etc y adaptándola al cliente de correo. El fichero thunderbird.desktop quedaría así:

[Desktop Entry]
Encoding=UTF-8
Name=Thunderbird
Comment=Mail client
GenericName=Mail client
X-GNOME-FullName=Thunderbird Web Browser
Exec=/opt/thunderbird/thunderbird %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=thunderbird
Categories=Network;
StartupWMClass=Thunderbird
StartupNotify=true

Y ya está, a disfrutar con los programas de la Mozilla Foundation.

Cómo asignar la aplicación por defecto en LXDE

Minientrada

Al instalar Debian 8 con LXDE he visto que cuando hago doble click en los pdf, éstos se abren por defecto con el Gimp, algo que no es lo que quiero que suceda. Para cambiar este comportamiento y que los archivos de tipo pdf se abran con el programa Evince, tenemos que lanzar el siguiente comando (con nuestro usuario):

$ xdg-mime default evince.desktop application/pdf

Y ya está. Esto mismo sirve para asignar todas aquellas aplicaciones que tengan un archivo *.desktop en el directorio /usr/share/applications/ al tipo de archivo que deseemos.

Más utilidades del comando xdg-mime se pueden encontrar en esta página.

 

Activar el touchpad en LXDE

Minientrada

De «fábrica» no viene activado el touchpad en Debian 8 si elegimos el escritorio LXDE, algo recomendable si la máquina no tiene muchos recursos, por ejemplo mi netbook. Para activarlo es muy sencillo pero hay que editar como root el fichero:

/usr/share/X11/xorg.conf.d/50-synaptics.conf

Y buscar una sección en la que aparezca «touchpad», y la dejamos como aparece a continuación:

Section «InputClass»
Identifier «touchpad catchall»
Driver «synaptics»
MatchIsTouchpad «on»
Option «TapButton1″»1»
Option «HorizTwoFingerScroll»»1»
Option «SHMConfig»»on»
EndSection

Hemos añadido solamente las tres últimas líneas antes del final de la sección, en ellas habilitamos el «tap» con el touchpad, habilitamos el scroll con dos dedos y desctivamos el touchpad al escribir.

Esto que he escrito aquí es solo un resumen de esta estupenda entrada sobre el tema. Dice que estas mismas instrucciones sirven también para XFCE, pero yo no lo he probado.
Ah, se me olvidaba: hay que reiniciar para que los cambios surtan efecto.

Dar permisos de escritura a carpetas compartidas entre Windows y Linux en VirtualBox

Minientrada

vbox_logo2_gradientPara compartir una carpeta de un sistema Windows anfitrión con un sistema Linux virtualizado basta con seguir las precisas instrucciones que se especifican en este enlace, al que solo le falta añadir que, para que dicha carpeta compartida tenga permisos de lectura-escritura, es necesario modificar un poco el comando de montaje que se incorpora al fichero /etc/init.d/rc.local, que tiene que quedar así:

sudo mount -t vboxsf  -o uid=1000,gid=1000 Share /media/windows

Donde Share es el nombre que se le ha dado a la carpeta compartida en VirtualBox y /media/windows el nombre del directorio creado para alojarla en el sistema de archivos de linux.

Ojo que el comportamiento es algo extraño: una vez que accedamos a la carpeta compartida, podremos leer y modificar los ficheros que ya existan en ese directorio raiz compartido, pero no podremos borrarlos ni crear ficheros nuevos. Tampoco podremos eliminar o crear carpetas  en ese directorio raiz, pero sí que podremos eliminar, modificar y crear ficheros o carpetas dentro de una carpeta que ya exista en el directorio compartido.

Por lo tanto, si queremos copiar cosas del sistema linux virtual en la carpeta compartida de windows tendremos entonces que crear una nueva carpeta en el sistema windows dentro de la carpeta compartida, y copiarlas ahí.

 

Pantalla en negro tras el inicio de sesión en CrunchBang Linux

Si utilizando CrunchBang Linux ocurre que, tras la pantalla de login, el escritorio se queda totalmente en negro, mientras que el resto de consolas (ctrl+alt F1 a ctrl+alt F6) siguen funcionando correctamente, puede ser debido a que se ha desconfigurado el gestor de sesiones, haciendo que nuestra sesión por defecto sea lxsession en vez del openbox.

Para arreglarlo basta con abrir una de los consolas que funcionan (p.ej. ctrl+alt F1) y en ella teclear:

sudo update-alternatives –config  x-session-manager

Aparecerán varias opciones, cada una de ellas asociada a un número, por lo que deberemos introducir el correspondiente a openbox-session.

x-session-optionsDespués de esto, reiniciamos el equipo y ya arrancará de nuevo con el escritorio de OpenBox.

Solución encontrada en unix.stackexchange.com

 

 

 

Error «.htaccess: Options not allowed here» en Apache2

Este error me ha aparecido en el log de Apache cuando he intentado acceder a una réplica en mi directorio de usuario de una página hecha en Drupal. Para solucionarlo he tenido que editar el archivo «/etc/apache2/sites-available/000-default.conf» añadiendo las lineas

<Directory /home/mi_usuario/public_html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

Y reiniciar el servicio con «sudo service apache2 restart»