Antergos paso a paso (II): configuración esencial

Logo y eslogan de Antergos.

Logo y eslogan de Antergos.

Bueno, ya tenemos instalada Antergos. Y ahora, ¿qué?

Introducción

Pues lo primero es lo primero. Y tras la instalación del sistema operativo, es el turno de la configuración esencial del sistema: todo aquello que considero debe estar funcionando desde YA.

La personalización del aspecto y todas esas pijaditas quedan pues relegadas al último lugar.

La terminal: una herramienta para gobernarlas a todas

Como ya comenté en la primera parte del tutorial:

… hay que perderle el miedo a la consola.

Para el usuario medio/avanzado de Linux, la consola es una pieza vital del sistema. Es cierto que si se quiere se puede evitar su uso recurriendo a interfaces gráficas, pero conocer bien la terminal es fundamental: nos hará más productivos. Además de que nos puede sacar de un apuro en más de una ocasión.

Podemos lanzarla desde el menú contextual de Openbox:

Menú contextual de Openbox, con foco en la entrada para el emulador de terminal.

El menú contextual aparece haciendo clic derecho en el escritorio o en el panel (útil en caso de tener una ventana maximizada).

O bien con el atajo predefinido en Openbox: Super + T [1].

Sakura, emulador de terminal por defecto en Antergos, sustituye la típica barra de menús con un completo menú contextual.

Sakura, emulador de terminal por defecto en Antergos.

Sakura tras una leve personalización.

Si necesitamos ahondar más en la configuración, podemos revisar el archivo ~/.config/sakura/sakura.conf [2]. Por ejemplo, para modificar los atajos de teclado.

En un principio, estos últimos son (extraído del manual de Sakura, man sakura):

Ctrl + Shift + T                 → Nueva pestaña
Ctrl + Shift + W                 → Cerrar pestaña
Ctrl + Shift + C                 → Copiar texto
Ctrl + Shift + V                 → Pegar texto
Alt  + ←                        → Pestaña anterior
Alt  + →                        → Siguiente pestaña
Alt  + [1-9]                     → Ir a la pestaña N (1-9)
Ctrl + Shift + S                 → Mostar/ocultar barra de desplazamiento
Ctrl + Shift + Botón izdo ratón  → Abrir link
F11                              → Pantalla completa
Shift + Avpag                    → Avanzar página a página (de texto en consola)
Shift + Repag                    → Retroceder página a página
Ctrl + Shift + ↑                → Retroceder línea a línea
Ctrl + Shift + ↓                → Avanzar línea a línea
Ctrl + '+'                       → Aumentar el tamaño del texto
Ctrl + '-'                       → Disminuir el tamaño del texto

Red

Acabamos de echar un vistazo a la terminal, pero antes de empezar a toquetearla vamos a revisar de pasada un par de aspectos sobre la red: disponer de conexión es relevante para el siguiente apartado.

WiFi

Dada su potencial complejidad, es muy difícil tratar el tema de la conectividad wireless de forma breve y definitiva. Por ello, me limitaré a cubrir el supuesto más sencillo: nuestra tarjeta inalámbrica está perfectamente soportada y funciona nada más encender el equipo.

En ese caso, podemos acudir al applet de Network Manager para conectarnos a la red inalámbrica.

nm-applet, applet de Network Manager, en la bandeja del sistema.

nm-applet, applet de Network Manager, en la bandeja del sistema.

Editar las conexiones…

O bien, de forma más directa, lanzando nm-connection-editor.

Elección de la conexión de red que queremos añadir, en nuestro caso, una inalámbrica.

Añadir → Inalámbrica → Crear…

Su configuración es muy simple:

  1. Establecemos el Nombre de la conexión en el campo homónimo.
  2. Añadimos el identificador de la red a la que nos queremos conectar en el campo SSID de la pestaña Inalámbrica.
  3. En la pestaña de Seguridad inalámbrica indicamos la susodicha de la red deseada, así como su usuario/contraseña, de ser necesario.
Configuración de la conexión inalámbrica.

Configuración de la conexión inalámbrica.

Configurar el cortafuegos (ufw)

Antergos nos permite configurar fácilmente un cortafuegos vía gufw, una GUI [3] para ufw (Uncomplicated FireWall, un cortafuegos sin complicaciones).

Gufw activado, con el perfil Casa.

gufw está desactivado por defecto. ¿El motivo? Su configuración inicial bloquea todas las conexiones entrantes.

Su uso es similar al de cualquier cortafuegos:

  • Si es la primera vez que lo ejecutamos, lo activamos haciendo click en Estado.

    Tarda un poco en aplicarse, pero sólo hay que hacerlo una vez: arrancará sólo en el próximo inicio.

  • Establecemos el perfil deseado.

  • Decidimos si queremos Permitir, Denegar o Rechazar las conexiones entrantes y salientes.

  • Creamos las reglas necesarias (Reglas → +).

    Visor de reglas e informes de escucha.

    También podemos crear una regla directamente desde un informe de escucha, seleccionándolo y pulsando +.

    Si queremos aceptar conexiones entrantes (el ejemplo más popular es el de los programas de descarga P2P), necesitamos establecer estos permisos. Gufw cuenta con un apartado de reglas preconfiguradas muy claro.

    Configuración de reglas para el cortafuegos.

    Avanzada: Damos nombre a la regla, indicamos el número de regla preferido (por si queremos sobreescribir una anterior), la política (Permitir/Denegar/Rechazar), la interfaz (si queremos que se aplique sólo a la red cableada o a cierta red WiFi), el protocolo (si no lo tenemos claro, no lo tocamos) y la IP/puerto de origen (línea Desde) y destino (línea A) de las conexiones. Podemos indicar un rango de puertos utilizando la síntaxis NºPUERTOINF:NºPUERTOSUP.


NOTA: Al intentar ejecutar gufw, como he estado trasteando un poquillo, no arranca. Si lo ejecuto desde consola me arroja un error. Es al reinstalar cuando me entero realmente de lo que ocurre. Me arroja este aviso:

Gufw needs DBUS service started to run correctly!
/tmp/alpm_CftMsk/.INSTALL: línea 8: ptintf: no se encontró la orden
## PLEASE READ BELOW ##
1) A workaround was applied to /usr/lib/python2.7/sysconfig.py.
   Please see: https://bugs.archlinux.org/task/30812 for more information
2) Removing this package will reverse this workaround.
3) This workaround will be needed after every python2 update/install,
   simply re-install gufw package to re-apply the workaround.
If you know a more clean workaround o propper fix, please share it whit we.

Resumiendo: hay un error que impide que gufw se inicie, error que se solventa (automáticamente) parcheando python2.7. Por ello, mientras no se encuentre una solución definitiva, hay que reinstalar gufw cada vez que se actualice o reinstale python2.

El gestor de paquetes

Pacman

Pac-man © Namco.

Pac-Man (パックマン Pakku Man) © Namco.

No: no hablamos de este Pac-Man.

Pacman es el gestor de paquetes de Archlinux (recordemos que Antergos nace de ella) y una de sus principales señas de identidad. Abreviando, Pacman permite administrar fácilmente el software de nuestro sistema, ya sea instalado desde los repositorios oficiales [4] de Arch (y de Antergos) o compilado por nosotros.

Con un único comando (aderezado con diversas opciones), podemos instalar, actualizar, configurar y eliminar software de nuestro ordenador. Cómodo y práctico.

Y aquí pasaría a explicar como utilizarlo, pero en lugar de eso os voy a hablar de…

Yaourt

Yogurt. Fotografía de Sodanie Chea.

Yogurt. Fotografía de Sodanie Chea.

¡No! ¡Tampoco hablo de esto!

Yaourt (Yet AnOther User Repository Tool; Yogurt en francés) es una interfaz de comandos para Pacman. Facilita su uso y, lo que más nos importa, añade soporte de AUR [5]. Y todo ello manteniendo una sintáxis casi idéntica a la de Pacman.

Instalación

Normalmente, para poder instalarlo en nuestro equipo, tenemos que añadir el repositorio de Archlinux.fr, pero la gente de Antergos es tan apañada que ya lo incluye en sus repositorios.

Instalamos Yaourt haciendo:

$ sudo pacman -S yaourt

Y, con suerte, no volveremos a usar Pacman en muuuucho tiempo.

Uso diario

En nuestro día a día, normalmente nos bastará con las siguientes opciones:

  • Para instalar un paquete:

    $ yaourt -S nombre_paquete
    

    Lo busca en los repositorios oficiales y, si no lo encuentra, en AUR.

  • Para actualizar todos los paquetes (incluyendo archivos instalados de AUR):

    $ yaourt -Syua
    
  • Para borrar un paquete:

    $ yaourt -Rs nombre_paquete
    
  • Para borrar caché de paquetes antiguos:

    $ yaourt -Sc
    

    Este punto es importante, porque se pueden llegar a acumular muchos y, si se ocupa todo el espacio de disco, no podremos instalar cosas nuevas.

  • Para buscar un determinado paquete:

    $ yaourt patrón_de_búsqueda
    

    En los patrones de búsqueda se usa el símbolo asterisco (*) como caracter comodín, para sustituir 0, 1 o más caracteres.

Yo no gasto a menudo el comando de búsqueda: casi siempre tiro de la interfaz web de los repositorios oficiales o de AUR. Pero es muy útil.

Repositorios

Mencionamos anteriormente los repositorios. La configuración de Pacman (y de Yaourt) respecto a los repositorios puede encontrarse en /etc/pacman.conf.

El fichero tal como viene con Antergos será suficiente en la mayoría de los casos, ya que tiene activados todos los repositorios habituales. Ojeándolo con nano [6]:

$ sudo nano /etc/pacman.conf

...

#[testing]
#SigLevel = PackageRequired
#Include = /etc/pacman.d/mirrorlist

[core]
#SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

[extra]
#SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

#[community-testing]
#SigLevel = PackageRequired
#Include = /etc/pacman.d/mirrorlist

[community]
#SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

[antergos]
#SigLevel = PackageRequired
Include = /etc/pacman.d/antergos-mirrorlist

[multilib]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

La estructura de una declaración de repositorio es:

[nombre-repo]
Server = NombreServidor
SigLevel = NivelDeFirmado
Include = RutaArchivoAIncluir

Donde:

  • [nombre-repo]. Nombre del repositorio. Esencial.
  • Server. Dirección del repositorio. No necesaria si declaramos Include.
  • SigLevel. Nivel de exigencia sobre el firmado de paquetes. Por defecto está establecido en Optional en las opciones generales de Pacman. Esto quiere decir que aceptará paquetes estén o no firmados por sus creadores. Para mayor seguridad, habría que instalar sólo paquetes firmados, ajustando esta opción a Required, pero normalmente estamos bien con Optional. Necesaria si queremos declarar un nivel específico.
  • Include. Ruta a un archivo con una lista de servidores. Se suelen guardar en /etc/pacman.d/archivo. No necesaria si declaramos Server.

Como podemos observar en el extracto de la configuración anterior, los repositorios de Testing están desactivados (líneas precedidas por #). Y están bien así: hay que tener cuidado con ellos, pues manejan versiones muy experimentales y pueden romper nuestra instalación.

PacmanXG

Hasta aquí he tirado de consola a manta, pero Antergos trae instalada por defecto una interfaz gráfica para hacer buena parte de lo anterior desde ventanitas. ¿Que por qué no he empezado por ahí? Pues porque si no muchos ni tocáis la consola. Y realmente, cuando te haces a ella, es la opción más sencilla y rápida.

PacmanXG (la web es un poco… rusa) se encuentra en el menú contextual de Openbox, siguiendo la ruta Applications → Accesorios → PacmanXG, pero, y esto se aplica al resto de herramientas, es más práctico ejecutarla desde el lanzador de aplicaciones (Alt + F2 y teclear PacmanXG; autocompletado con Tab).

Y esto es todo lo que voy a decir sobre la interfaz gráfica, por las razones ya mencionadas. Jugad con ella si realmente lo deseáis. Yo no la he usado nunca.

Buscar archivos (consola)

Justo después de configurar el gestor de paquetes suelo habilitar el comando locate. Lo uso mucho para localizar rápidamente archivos en el sistema. Se me antoja más sensato que alternativas como Strigi o Tracker.

Lo instalamos con:

$ yaourt -S mlocate

Si lo queremos usar inmediatamente debemos actualizar la base de datos que emplea para sus búsquedas:

$ sudo updatedb

Este proceso lo hace de forma periódica él solo, configurando una tarea programada a tal efecto en /etc/cron.daily (que se ejecuta diariamente). Sólo tendremos que recurrir a updatedb cuando queramos localizar algo que se encuentre entre archivos creados hoy mismo.

El uso de locate es transparente:

$ locate texto_en_el_archivo_y_o_ruta

Y nos lista todas las rutas de archivos que coincidan con el término de búsqueda. Como siempre, podemos usar el asterisco como carácter comodín.

NOTA: inicialmente no busca en los directorios /media y /mnt (entre otros de lógica exclusión), usados tradicionalmente para montar dispositivos externos. Si queremos que también rastree esas rutas, hemos de editar la cadena PRUNEPATHS de su archivo de configuración.

$ sudo nano /etc/updatedb.conf

Impresoras

Antergos viene con el sistema de impresión CUPS de serie. Con él podemos configurar nuestras impresoras vía navegador, desde la URL http://localhost:631 (o http://127.0.0.1:631).

Normalmente este acceso viene ya habilitado con la instalación, pero, no sé por qué, no es mi caso. Revisando /etc/cups/cupsd.conf:

$ sudo nano /etc/cups/cupsd.conf

...

# Restrict access to the server...
<Location />
  Order allow,deny
</Location>

# Restrict access to the admin pages...
<Location /admin>
  Order allow,deny
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
</Location>

Debajo de cada orden Order allow, deny de estas directivas Location debería haber una línea

Allow @LOCAL

para permitir el acceso desde la red local al servidor CUPS. Editamos y guardamos.

Además, para permitir el acceso a las secciones que requieren permisos administrativos, en /etc/cups/cups-files.conf buscamos la línea

# Administrator user group, used to match @SYSTEM in cupsd.conf policy rules...
SystemGroup sys root

y la sustituimos por

# Administrator user group, used to match @SYSTEM in cupsd.conf policy rules...
SystemGroup sys root lp

Editamos y recargamos el servidor con:

$ sudo systemctl restart cupsd

Y ya podemos acceder con normalidad a CUPS usando Chromium (Alt + F2 → chromium).

Pantalla de inicio de la interfaz web de CUPS.

Para agregar una impresora nueva nos dirigimos a la pestaña de Administración y pulsamos en Añadir impresora [7]. En ese momento, CUPS nos solicita un usuario y contraseña. Nos logueamos con nuestro usuario (anteriormente añadimos el grupo lp en el archivo /etc/cups/cups-files.conf y nuestro usuario pertenece a ese grupo):

Pantalla de solicitud de usuario y contraseña para añadir impresora.

Tras loguearnos, procedemos a añadir nuestra impresora:

Pantalla de añadir impresora en CUPS.

Y podría seguir guiándoos paso a paso, pero entonces esta guía sería interminable. Hay muchas configuraciones posibles, ajustes varios necesarios en función de la marca y modelo de impresora… En este punto lo mejor es recurrir a la documentación de CUPS, a la del fabricante de tu impresora, a la wiki de Archlinux, buscar problemas específicos, etcétera. El tema de las impresoras puede ser muy complicado. No obstante, si puedo ayudar en algo, aquí estoy (aunque actualmente no cuento con ninguna impresora instalada vía CUPS).

Aparte de CUPS, Antergos trae instaladas las herramientas de HP para sus impresoras y escáneres [8]. Peroooo… no sucede lo mismo con el soporte gráfico.

Mensaje de error de las herramientas de HP.

Por consola, hp-toolbox nos advierte de que el soporte gráfico no está disponible.

Tenemos que instalar un paquete extra para contar con él.

$ yaourt -S python2-pyqt4

Y ya podemos invocar hp-toolbox, bien desde el lanzador de aplicaciones o desde el menú contextual de Openbox, en Applications → Accesorios → HP Device Manager.

Herramientas de HP para administrar impresoras y escáneres.

A poco que dominemos el inglés (o un buen diccionario), la configuración de nuestro dispositivo HP se facilita bastante.

HPLIP coloca un icono/acceso rápido en la bandeja del sistema.

Escáneres

Simple Scan

Simple Scan, y esto nos pilla por sorpresa, es una utilidad muy simple para manejar el escáner.

La instalamos con:

$ yaourt -S simple-scan

Si tenemos suerte y nuestro escáner funciona nada más conectarlo, el complejo funcionamiento de simple-scan se reduce a pulsar Escanear. En cambio, si nos encontramos algo como esto

Simple Scan no detecta ningún escáner.

¡Houston! ¡Tenemos un problema!

y hemos sido lo bastante hábiles como para conectar y encender el escáner antes, pues… toca correr. Puede que ya existan drivers específicos para nuestro modelo, es cuestión de buscar en AUR, en la wiki, comprobar en la base de datos de Sane si nuestro modelo está soportado (si lo está, seguramente se trate de un problema de configuración), etcétera.

Escanear con GIMP

Sin perjuicio de lo anterior, para un escaneado más avanzado yo prefiero usar Xsane desde GIMP.

Instalamos todo lo necesario:

$ yaourt -S xsane-gimp

Ejecutamos GIMP (el programa de manipulación de imágenes libre por excelencia)

GIMP, ejecutado por primera vez.

Quizás queramos activar el modo Ventana de ventana única: Ventanas → Modo de ventana única.

Y lanzamos Xsane desde Archivo → Crear → Xsane…:

Interfaz de Xsane.

Ventana principal de Xsane e histograma.

Ya queda en vuestras manos el juguetear con el programa.

Próxima parte

Y aquí nos detenemos, que ya es hora. En la tercera parte del artículo puede que trate la configuración de Openbox y, si ha lugar, otros aspectos de personalización. Lo sabré seguro cuando me ponga a ello :p

Hasta la semana que viene :)


[1]La tecla Super suele ser aquella que se encuentra entre Ctrl y Alt, normalmente serigrafiada con el icono del sistema operativo.
[2]La virgulilla (~) sustituye a la carpeta del usuario (/home/nombre_usuario).
[3]Graphical User Interface (Interfaz Gráfica de Usuario). Programa que proporciona un entorno visual sencillo para comunicarnos con determinado software del sistema operativo, generalmente poco amigable para el usuario final.
[4]Un repositorio es un sitio centralizado donde se almacena y mantiene información digital. En este caso, paquetes de software para nuestro SO.
[5]Arch User Repository. Repositorio mantenido por y para la comunidad de usuarios de Arch.
[6]nano es, junto a vim, uno de los editores de consola más populares del universo GNU/Linux. Nota de uso: el carácter ^ mostrado en los atajos de nano al pie de la pantalla se corresponde con la tecla Ctrl.
[7]Si sólo quisieramos añadir una impresora compartida en la red local, probaríamos antes la opción Encontrar nuevas impresoras, ya que, en caso de detectarla, agilizaría el proceso.
[8]A mi juicio, optar por una impresora HP es la opción más segura en un entorno Linux. Creo que es una de las marcas mejor soportadas.
comentarios vía Disqus