Ajustes¶
Una vez instalado Linux, y tras explorarlo un poco, vamos a configurarlo a nuestro gusto.
VMWare Tools¶
El sistema operativo Linux no es consciente de estar ejecutándose en una máquina virtual, por lo que algunas caracterÃsticas proporcionadas por VMWare no funcionarán, por falta de respuesta de la máquina Linux.
Para solucionar esto, tenemos que instalar en esa máquina virtual Linux un programa llamado "VMWare Tools", que nos proporciona funciones tales como:
- Carpetas compartidas entre el host y el guest
- Copiar y pegar entre la máquina virtual y el escritorio del host
- Sincronización del reloj de la máquina virtual con el reloj del escritorio del host o del cliente
- Integración del ratón
- Mejora del rendimiento
Muchas distribuciones Linux (incluyendo Ubunu) incorporan en sus repositorios
de software un programa alternativo llamado Open-VM-Tools, que suele estar
más adaptado a esa distribución en particular. Abrimos Synaptic, y buscamos el
paquete Open-VM-Tools. Si ya viene instalado de serie, no hay que hacer nada.
Si no es asÃ, instalarlo desde Synaptic, o bien mediante el comando apt. Son
dos paquetes:
$ sudo apt install open-vm-tools
$ sudo apt install open-vm-tools-desktop
Para que tenga efecto, habrá que reiniciar la máquina virtual.
Carpetas compartidas¶
Una vez comprobado que tenemos instalado VMWare Tools, podemos establecer determinadas carpetas a compartir entre ambas máquinas, la fÃsica y la virtual. Hay que que acudir a la configuración de la máquina virtual y seleccionar el apartado Compartir:

Podemos añadir o quitar carpetas de la lista pulsando los botones + o -.
Podemos ponerlas como de solo lectura (para la máquina virtual) o bien, de
lectura y escritura.
Para acceder desde la máquina Linux tenemos que asociar esa carpeta compartida a una carpeta en la estructura de directorios de Linux, lo que actuará como "punto de montaje". Véase más información en el siguiente artÃculo:
https://kb.vmware.com/s/article/60262
La versión Open-VM-Tools no monta automáticamente las carpetas compartidas, y
tenemos que hacerlo a mano cada vez que iniciamos la máquina virtual Linux.
Esto resulta más seguro, ya que limita la exposición de nuestra máquina host,
pero puede ser un incordio. Para automatizar el montaje de una carpeta,
vamos a modificar el archivo de configuración de puntos de montaje, /etc/fstab.
Puntos de montaje
Todos los discos conectados se asocian a una carpeta dentro de la estructura
general de directorios. El archivo /etc/fstab contiene la lista de puntos
de montaje. Cada entrada de la lista representa un disco.
En la máquina virtual, las carpetas compartidas de la máquina Host se
visualizan como discos externos, accediendo como harÃamos con un DVD,
por ejemplo.
¡Cuidado!
Modificar manualmente la configuración del sistema tiene sus riesgos. En este caso, si cambiamos los puntos de montaje de los discos, puede que a máquina virtual deje de funcionar por no ser capaz de acceder a ningún disco.
Puede ser una buena idea hacer previamente un snapshot de la máquina virtual, como se explicaba en un capÃtulo anterior.
Abrimos el terminal de comandos e iniciamos el editor de textos con privilegios de administrador activados. El comando es:
$ sudo gnome-text-editor /etc/fstab
Al editor de textos le estamos pasando como argumento el fichero a modificar. El texto del fichero es algo asà como:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/nvme0n1p2 during curtin installation
/dev/disk/by-uuid/ef97ec66-b574-4c9f-ad26-7e6edbec7a9c / ext4 defaults 0 1
# /boot/efi was on /dev/nvme0n1p1 during curtin installation
/dev/disk/by-uuid/41F5-383E /boot/efi vfat defaults 0 1
/swap.img none swap sw 0 0
Bien. Esto es un poco técnico. Cada lÃnea de este archivo describe un punto de
montaje, y las lÃneas que comienzan con # serán ignoradas.
Se usan como documentación. Las lÃneas en blanco tampoco tienen efecto.
Añadimos la siguiente lÃnea al final del texto del archivo:
vmhgfs-fuse /mnt/compartidas fuse defaults,allow_other 0 0
Lo que estamos especificando con esta lÃnea añadida es:
- que tenemos un dispositivo llamado
vmhgfs-fuse. Es el nombre que VMWare usa para referirse a las carpetas compartidas. - que lo queremos montar en el directorio
/mnt/compartidas - que el tipo de disco es
fuse, algo propio de VMWare - el resto de parámetros son opciones de montaje
TÃpicamente, el directorio /mnt se usa para montar dispositivos externos,
aunque para DVDs y cosas asà se utiliza /media.
Para que todo esto funcione, hay que reiniciar la máquina.
El sistema resolverá estos puntos de montaje y,
la primera vez, creará automáticamente una nueva carpeta /mnt/compartidas,
donde tendremos acceso a las carpetas compartidas con la máquina fÃsica.
Es decir, si compartimos
dos carpetas de la máquina fÃsica, carpeta1 y carpeta2, el acceso
será mediante:
/mnt/compartidas/carpeta1
/mnt/compartidas/carpeta2
Nota importante
Compartir carpetas con la máquina fÃsica no está exento de riesgos. Los cambios que hagamos en una máquina se reflejarán en la otra, pero puede haber interferencias. Por ejemplo, la papelera de reciclaje de la máquina fÃsica no es accesible para la máquina virtual. Si intentamos eliminar un archivo de una carpeta compartida desde la máquina virtual, el borrado será definitivo. Este tipo de operaciones conviene hacerlas desde la máquina fÃsica.
En el explorador de archivos Nautilus podemos crear un enlace en la barra lateral para acceder cómodamente a las carpetas compartidas.
Montar y desmontar carpetas compartidas¶
Configurar el archivo /etc/fstab para que las carpetas compartidas se monten
automáticamente en el directorio /mnt/compartidas puede no ser lo ideal, ya
que deja esas carpetas de la máquina fÃsica expuestas a las acciones de la
máquina virtual.
Alternativamente, podemos montar y desmontar manualmente las carpetas, solo cuando necesitemos tener acceso a ellas. Para montar todas las carpetas configuradas para ser compartidas, escribimos el comando:
$ sudo /usr/bin/vmhgfs-fuse .host:/ /mnt/compartidas -o subtype=vmhgfs-fuse,allow_other
Siendo:
sudoindica ejecutar con permisos de administrador del sistema/usr/bin/vmhgfs-fusees el programa que gestiona las carpetas compartidas. Forma parte del paquete VM-Tools../host:/indica todas las carpetas compartidas/mnt/compartidases el directorio de la máquina virtual donde vamos a acceder al contenido- el resto son opciones de configuración
Si queremos montar solo una carpeta fÃsica, añadir su nombre a ./host:/
$ sudo /usr/bin/vmhgfs-fuse .host:/micarpeta /mnt/compartidas/micarpeta -o subtype=vmhgfs-fuse,allow_other
para desmontar las carpetas y cortar el acceso a ellas:
$ sudo umount /mnt/compartidas
Si no queremos estar tecleando comandos continuamente, podemos crear un script de comandos, y un lanzador en el escritorio (un icono) para ejecutarlo. Lo veremos más adelante, en el capÃtulo dedicado al escritorio.
Bloqueo de pantalla¶
En el caso de inactividad, la pantalla se bloquea y nos obliga a introducir la contraseña para desbloquearla. Tratándose de una máquina virtual, esta opción ya la tenemos en la fÃsica. Para desactivar los bloqueos, en la configuración del sistema, ir a la configuración de Ubuntu, apartado Privacidad y Seguridad > Retardo para apagar la pantalla = Nunca.
Gestión de usuarios¶
Podemos cambiar nuestra password, crear y eliminar usuarios, o cambiar la forma de inicio de sesión (automático o con contraseña). Para estas labores, ir a la configuración de Ubuntu, apartado Sistema > Usuarios.
Algunas de estas opciones estarán bloqueadas hasta que pulsemos en el botón [Desbloquear] e introduzcamos nuestra contraseña.
Cambios en el Terminal¶
Cada escritorio proporciona su propia emulación de Terminal. La de Ubuntu muestra una ventana en cuya barra superior se muestra un icono ☰ para desplegar un menú. La opción Preferencias permite configurar el funcionamiento del terminal.
Modificando el prompt de comandos¶
Personalmente, hay una cosa que no me gusta del Terminal de comandos: el prompt.
Si por ejemplo estamos en una carpeta
/home/usuario/documentos/archivos_recientes/, el prompt será algo asà como:
nombreusuario@nombremaquina:/home/usuario/documentos/archivos_recientes$
Esto recorta bastante espacio para el comando a introducir, y es una información que generalmente no resulta necesario tenerla presente continuamente. Generalmente se muestra en la barra de tÃtulo de la ventana, y de todas formas, podemos averiguar la información mediante comandos. La carpeta actual se obtiene con el comando print working directory:
$ pwd
El nombre de usuario se puede obtener con el comando who am i (sin espacios):
$ whoami
Podemos averiguar información del sistema con el comando uname seguido del
parámetro -a (all):
$ uname -a
La información mostrada incluye el sistema operativo y el nombre de la máquina.
Podemos ahorrar espacio si cambiamos el aspecto del prompt. A mi me gusta que solo refleje la carpeta actual, eliminando el nombre de usuario y la máquina.
En Ubuntu, la configuración del prompt se establece en el archivo ~/.bashrc.
Recordemos que el directorio ~ es la carpeta raÃz del usuario.
El archivo .bashrc lleva un punto como prefijo, lo que en sistemas tipo Unix
indica un fichero oculto.
Comenzamos por abrir el explorador de Archivos, nos situamos en la carpeta raÃz
del usuario y pulsamos en la opción de menú Mostrar archivos ocultos.
Aparecerá un archivo .bashrc. Con ese archivo seleccionado, pulsamos con el
botón secundario del ratón, y en el menú desplegable seleccionamos Copiar.
Hacemos una copia del archivo en la misma carpeta.
Ahora tenemos dos archivos, .bashrc y .bashrc (copia). Este segundo nos
servirá de respaldo si rompemos algo. En caso de apuro, borraremos el .bashrc
y renombraremos .bashrc (copia) para que vuelva a llamase .bashrc.
Hacemos doble clic sobre .bashrc. Es un archivo de texto que se abrirá en el
editor de textos:

Esto resulta bastante técnico, pero ¿quien dijo miedo? Comenzamos por localizar las lÃneas de texto que configuran el prompt:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
La que tiene efecto es la segunda lÃnea, ya que el terminal admite coloreado:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
Esta secuencia de parámetros indican al Terminal los datos a mostrar en el prompt y los códigos de color a aplicar.
Anteponemos un carácter # a esa lÃnea, para anularla, y escribimos debajo como
queremos que quede:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\w\[\033[00m\]\$ '
Con lo que el bloque queda asÃ:
if [ "$color_prompt" = yes ]; then
# PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
Guardamos los cambios, cerramos la ventana del Terminal (si la tenÃamos abierta) y volvemos abrirla. El prompt deberÃa mostrarse con la nueva configuración:
~$
Explicación del prompt¶
Si tenemos curiosidad por analizar los cambios introducidos en el prompt, vamos a "destripar" la lÃnea:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
PS1 es una variable del sistema. Lo que estamos haciendo es asignarle un valor:
PS1='especificaciones'
Los parámetros que nos interesan son:
-
\umuestra el usuario (user). Va seguido de un carácter@a mostrar tal cual. Es decir, si el usuario es Luis,\u@se sustituirá porLuis@ -
\hmuestra el nombre de máquina (host). Va seguido de un código de color[\033[00m\]y los dos puntos:a mostrar \wmuestra el directorio de trabajo (working directory)\$muestra el carácter$a mostrar. Va seguido de un espacio en blanco, que también se mostrará.
Las secuencias intermedias como \[\033[01;33m\] establecen los colores de cada
elemento del prompt:
-
la que precede a
\ues este caso es\[\033[00;31m\], que indica un color verde. Cambiando00por01se muestra en verde intenso. -
la secuencia que precede a
\wes\[\033[01;34m\], que especifica un color azul. -
para recuperar el color por defecto se usa la secuencia
\[\033[00m\]
Los códigos de color son:
\033[0;30m\]- Black\033[0;31m\]- Red\033[0;32m\]- Green\033[0;33m\]- Brown\033[0;34m\]- Blue\033[0;35m\]- Purple\033[0;36m\]- Cyan\033[0;37m\]- Light gray
Véase que los códigos van de 30 a 37. Cambiando el 0 por un 1, tendremos colores más intensos:
\033[1;30m\]- Dark gray\033[1;31m\]- Light red\033[1;32m\]- Light green\033[1;33m\]- Yellow\033[1;34m\]- Light blue\033[1;35m\]- Light purple\033[1;36m\]- Light cyan\033[1;37m\]- White
La primera parte del prompt solo tiene efecto en situaciones muy especiales, y la dejaremos tal cual:
${debian_chroot:+($debian_chroot)}
Suprimimos la visualización del nombre de usuario, que va precedida por los
códigos de color y muestra un @ añadido:
\[\033[01;32m\]\u@
También suprimimos el nombre de la máquina:
\h\[\033[00m\]:
Dejamos la visualización del directorio de trabajo:
\[\033[01;34m\]\w
Y el restaurado de color por defecto y sÃmbolo $:
\[\033[00m\]\$
Con lo que la cosa queda asÃ:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\w\[\033[00m\]\$ '
VMware y el sonido¶
Uno de los motivos por los que prefiero VMWare sobre VirtualBox es por su mejor rendimiento. Pero últimamente el sonido no me va muy bien con ninguna de las dos opciones. Suena entrecortado.
El caso es que, buscando en Internet he encontrado debates varios sobre el tema y, supuestas soluciones que a mi no me funcionan. Pero descubrà una forma de resolver el problema. En resumen, parece que hay un software llamado PipeWire que gestiona el sonido en segundo plano, y que es el que da problemas. Nació en 2017 y ha ido sustituyendo a otro programa muy popular, PulseAudio.
Asà que, hasta que se solucione el problema, lo que podemos hacer, usando el terminal de comandos, es sustituir PipeWire por PulseAudio:
-
Paso 1: Descargar PulseAudio con el comando:
sudo apt install pulseaudio -
Paso 2: Usar el comando
systemctl, que sirve para gestionar los servicios del sistema, y desactivarpipewirea nivel de usuario. Son seis comandos a ejecutar:systemctl --user stop pipewire.socket systemctl --user stop pipewire.service systemctl --user disable pipewire.socket systemctl --user disable pipewire.service systemctl --user mask pipewire.socket systemctl --user mask pipewire -
Paso 3: Con el mismo comando
systemctl, activarpulseaudiocomo gestor de audio:systemctl --user unmask pulseaudio systemctl --user unmask pulseaudio.socket systemctl --user enable pulseaudio.service -
Paso 4: Ahora que ya tenemos configurado
pulseaudiocomo gestor, tenemos que ponerlo en marcha:systemctl --user start pulseaudio.serviceEsto tendremos que hacerlo cada vez que encendemos la máquina. Veremos a continuación como automatizar este paso.
-
Paso 5: Comprobar que
pulseaudioestá trabajando con el comando:pactl info -
Paso 6: Probar el sonido con alguna aplicación, por ejemplo, entrando en Youtube con el navegador web Firefox.
Tenemos que ejecutar el paso 4 (comando start)
cada vez que iniciemos la máquina virtual.
Podemos establecer que ciertos comandos se ejecuten automáticamente
al iniciar el sistema. Para ello, tenemos que editar el
archivo .profile (fichero oculto) que hay en la carpeta principal del usuario.
Abrimos el editor de textos con el comando:
gnome-text-editor ~/.profile
y al texto le añadimos la siguiente lÃnea:
systemctl --user start pulseaudio.service