Skip to main content

a silhouette of a person's head and shoulders, used as a default avatar

Comandos de red que todo administrador Linux debe saber (3a. Parte)

 

 https://digitize01.com/image/image_lib/images/Linux-Neyworking.png

 

tcpdump


tcpdump es una herramienta de detección de paquetes que mostrará los paquetes de red que se transmiten a través de la red. El comando tcpdump puede leer contenido en tiempo real o de una sesión capturada previamente.

Si no se tiene instalado en openSUSE, escribimos el siguiente comando

zypper in tcpdump

 


Para escuchar los paquetes de red en todas las interfaces, escribimos el comando:
 

tcpdump -i any



 

El problema con este comando es que mostrará una gran cantidad de información. Por eso, es posible que se deseé capturar los paquetes en un archivo para poder verlos más tarde. Para hacer esto, el comando sería (y lo ejecutamos desde el directorio /tmp; de lo contrario, obtendremos un error de permiso denegado cuando se intente leer el archivo más tarde):
 

tcpdump -i any -w capture.pcap

 

Una vez que creas que se han capturado suficientes paquetes, se puede detener el comando con la combinación [Ctrl] + [c].

 

 

 

Para ver los paquetes desde el comando, escribimos:

tcpdump -r capture.pcap

 


 

 wget


El comando wget nos permite descargar archivos a su servidor. Esto es útil cuando ese servidor no tiene una interfaz grafica de usuario (GUI) para facilitar la descarga de archivos.

Para descargar un archivo al servidor con wget, el comando sería:

wget http: //SERVIDOR/ARCHIVO

Donde SERVER es la dirección IP o el dominio del servidor remoto y FILE es el archivo que se descargará.

 


 

Uso del comando wget para descargar varios archivos

Podemos llevar el uso de wget un paso más allá y descargar varios archivos a la vez. Para hacer eso, necesitaremos crear un documento de texto y colocar ahí las URL de descarga. En este ejemplo, recuperaremos las versiones de WordPress, Joomla y Drupal usando wget. Escribimos el siguiente comando:

vi ejemplo.txt

 

Esto creará un archivo example.txt y abrirá una interfaz de editor de texto. Pegamos estos enlaces:

 


Una vez hecho esto, se puede usar -i para obtener todos los archivos almacenados en nuestro archivo de texto de ejemplo:


wget -i ejemplo.txt


 

 

Esperamos a que finalice el proceso y tendremos los archivos de instalación de los tres sistemas de administración de contenido más populares.


Uso del comando Wget para obtener archivos con diferentes nombres

En este ejemplo de wget, guardaremos un archivo con un nombre diferente con la ayuda de la opción -O:


wget -O wordpress-install.zip https://wordpress.org/latest.zip

En este caso, el recurso descargado se guardará como wordpress-install.zip en lugar de su nombre original.


 

 

Uso del comando Wget para limitar la velocidad de descarga

Con wget, también se puede limitar la velocidad de descarga. Esto es útil cuando se recuperan archivos de gran tamaño y evitar que use todo nuestro ancho de banda. Este ejemplo de wget establecerá el límite en 500k:

wget --limit-rate = 500k https://wordpress.org/latest.zip 

 


the avatar of Network Users Institute

Qui suis-je ? Qui êtes-vous ? Qui sont-ils ?

White Hat Hacker hacker éthique ou un expert en sécurité Grey Hat Hacker hacker ou un groupe de hackers, qui agit parfois avec éthique, et parfois non. Black Hat Hacker hacker mal intentionné, par opposition aux white hats Blue Hat Hacker consultant en sécurité informatique qui est chargé de vérifier l’absence de bogues Green Hat […]

The post Qui suis-je ? Qui êtes-vous ? Qui sont-ils ? appeared first on Cybersécurité, Linux et Open Source à leur plus haut niveau | Network Users Institute | Rouen - Normandie.

a silhouette of a person's head and shoulders, used as a default avatar

Disponible KDE Gear 21.04

Llego tarde, muy tarde, pero uno de los objetivos del blog es que que yo aprenda y que ese aprendizaje sea compartido. De esta forma os comunico que ya está disponible KDE Gear 21.04, concretamente desde el 22 de abril, pero ¿qué es KDE Gear? Descubrámoslo juntos.

Disponible KDE Gear 21.04

Mi vida estas dos últimas semanas han sido muy complicadas, tanto que no podía apartar la vista de mi trabajo y a duras penas podía publicar la ración diaria en el blog. Afortunadamente tenía artículos en la recámara, los cuales me salvaban el día.

De esta forma me pasó desapercibida la noticia del lanzamiento de KDE Gear 21.04, la nueva nomenclatura que recibe la gran actualización del conjunto de aplicaciones de la Comunidad KDE que deciden publicar cada 4 meses y que suelen ser un clásico del blog.

Y es que no es fácil encontrar etiquetas para el gran trabajo y la forma de organizarse tan dinámica que tiene la Comunidad KDE, así que siguen buscando una forma de hacerlo que satisfaga a todo el mundo. En esta ocasión, y esperando que sea la última, se ha decidido que sea KDE Gear año.mes.

Disponible KDE Gear 21.04

De esta forma, y dado que los desarrolladores han redactado una excelente introducción a KDE Gear, me he permitido el lujo de compartirlo con vosotros, no sin antes invitaros a leer todo el artículo donde se explica con pelos y señales todo el lanzamiento.

KDE produce literalmente docenas de aplicaciones para el trabajo, el juego, los estudios y la creatividad. Kontact, por ejemplo, le proporciona control sobre todo su correo electrónico, sus contactos y su agenda; Itinerary lo mantiene al día con todo lo relacionado con sus viajes; la calculadora gráfica KAlgebra funciona tan bien en el escritorio como en el teléfono; Cantor le brinda un modo intuitivo para analizar datos y mostrar gráficos con el resultado; y Kdenlive hace que el recorte y la creación de vídeos de aspecto sofisticado no solo sea una tarea fácil, sino también divertida.

Estas son solo algunas de las aplicaciones de las que hoy se han publicado actualizaciones. Cuando se combinan con la potencia del escritorio Plasma de KDE, le proporcionan la mayoría, si no todas, las herramientas que necesita para ser productivo en un entorno Linux versátil y flexible.

¡Pero ni siquiera necesita usar Linux! Muchas de las aplicaciones de este anuncio también funcionan en Windows, macOS y Android. Esto es lo que la convergencia significa para KDE: use sus aplicaciones favoritas en cualquier lugar, en cualquier sistema, en el trabajo, en el móvil o incluso en la TV.

Y, recuerde: las aplicaciones de KDE, el escritorio Plasma, Plasma Mobile, Plasma BigScreen y el resto del software de KDE son libres y de código abierto. Sin licencias, sin costos ocultos, sin espionaje. Compártalos con sus amigos, instálelos en el trabajo o úselos en el laboratorio de la escuela. Es su software para que lo disfrute donde y como quiera.

Y esto es todo hoy, mañana empiezo la serie para ir repasando las novedades de KDE Gear 21.04.

a silhouette of a person's head and shoulders, used as a default avatar

Comandos de red que todo administrador Linux debe saber (2a. parte)

 

 

Why and How to Increase and decrease txqueuelen (Transmit ...

 

2a. parte del artículo - Comandos de red que todo administrador Linux debe saber

http://www.opensusemexico.com/2021/04/comandos-de-red-que-todo-administrador.html

 

 nmap

La utilidad nmap se utiliza para el descubrimiento, la auditoría y la administración de redes. Las tareas más útiles de las que puede ocuparse nmap son qué puertos están abiertos en una máquina remota y detección de servicio / sistema operativo.

Para verificar y ver qué puertos están abiertos en una máquina remota, utilizamos el comando:

 

nmap SERVER

Donde SERVIDOR es la dirección IP o el dominio del servidor remoto.  

Para este ejemplo, seguiré utilizando la ip local de mi equipo de cómputo:


 

 

También se puede verificar qué hosts están activos en nuestra red con el comando:

nmap -sn 192.168.1.0/24 


 

Para averiguar qué sistemas operativos está utilizando un host, agregamos la marca -O

 

 

El resultado de esto puede ser bastante engañoso porque el kernel del host que escaneé es 5.3.18

 

 

 

Se puede obtener información más detallada sobre ese host con el comando:

 nmap -A 192.168.1.72



 

 traceroute

Si usas el comando ping (que es un comando de red muy básico que todo administrador ya debería saber) y muestra los paquetes faltantes, querrás usar traceroute para encontrar la ruta que están tomando esos paquetes. Esta es una herramienta muy útil para averiguar qué salto en una ruta está causando problemas.

Si emitimos el comando:

traceroute google.com

 


Veremos una lista de cada salto que toma el paquete desde la máquina actual a google.com. Veremos una lista del tiempo (en milisegundos) que tomó de salto a salto o si hay un problema con un salto, veremos exactamente dónde fallan los paquetes.

a silhouette of a person's head and shoulders, used as a default avatar

Comandos de red que todo administrador Linux debe saber (1a. parte)

 

https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Ftr4.cbsistatic.com%2Fhub%2Fi%2Fr%2F2017%2F02%2F22%2Fd24affa3-71e8-4817-9bee-d843c7da4ae0%2Fthumbnail%2F770x578%2F3f1e0a7fdf71de978cedc87747eeac43%2Flinuxnethero.jpg&f=1&nofb=1

 

Si estás considerando agregar Linux a su centro de datos, o si tienes la oportunidad de que tu empresa te promueva como su primer (o próximo) administrador de Linux, probablemente comprendas que hay muchos comandos que aprender, tal y como me pasó a su servidor. De hecho, durante los primeros días como administrador de Linux, parecerá que todo lo que se hace es aprender nuevos comandos.

 Echemos un vistazo a algunos comandos de red que usarás desde el principio. 

 

ip

El comando ip reemplazó a los antiguos comandos ifconfig y route. El comando ip nos permite configurar, agregar, eliminar y ver interfaces de red. Por ejemplo, si se ejecuta el comando ip a, se verán todas las configuraciones para todas las interfaces de red. Eso puede ser un poco abrumador, así que para obtener solo la información que se necesita, hagamoslo con ip link show. Esto seguirá mostrando información para todas nuestras interfaces de red conectadas, pero será más compacto. 

 


Para ver una interfaz específica, se puede ejecutar el comando ip address show dev, que nos brindará información más detallada, para este ejemplo utilizaré la interfaz de red de mi equipo de cómputo denominada wlan0 (en su caso, pueden tener otros identificadores de interfaz de red.

 



 

También se puede ver la tabla de enrutamiento con el comando ip route.



 

El comando ip también le permite habilitar y deshabilitar interfaces de red. Para encender o activar la interfaz wlan0, el comando sería:
 

ip link set wlan0 up




Para apagar o desactivar la misma interfaz, ejecutamos el comando:


ip link set wlan0 down




netstat

El comando netstat nos permite examinar conexiones de red, tablas de enrutamiento, estadísticas de interfaz, conexiones de enmascaramiento, membresías de multidifusión y más. Esta es una muy buena herramienta para ayudar a solucionar problemas de red. Por ejemplo, se puede usar netstat para escuchar todos los puertos tcp con el comando:

netstat -at

 

Si se tiene un error al ejecutarlo en openSUSE, ejecutemos el comando  cnf netstat para saber en que repositorio se encuentra el paquete.

Una vez que encontremos el repositorio con el paquete, procedemos a realizar la instalación:

 

 

Ya teniendo el paquete netstat instalado, lo ponemos a trabajar para escuchar los puertos TCP




A medida que ingrese tráfico, netstat nos informará.

El comando netstat también se puede usar para mostrar solo los puertos que están escuchando actualmente. Esto se hace con el comando:

netstat -l




También se puede especificar puertos TCP o UDP para escuchar de la siguiente manera:


TCP


netstat -lt



 

UDP

 

netstat -lu




Para escuchar todas las estadísticas de todos los puertos:

netstat -s

El resultado nos arroja una larga lista, por obvias razones no mostraré la captura de pantalla de tal resultado.



Para agregar identificadpres de procesos a la salida utilizamos:

netstat -pt








a silhouette of a person's head and shoulders, used as a default avatar

Ujilliurex 2021, nueva edición online

Quiero invitaros a la próxima edición de Ujilliurex 2021, un evento online, como todos los que estamos hablando últimamente en el blog, que no te puedes perder. Ujilliurex es un evento que llevaba muchos años celebrándose en la Universidad Jaume I de Castellón, como era habitual, pero que por razones más que conocidas ha cambiado su formato.

Ujilliurex 2021, nueva edición online

La conversión de eventos presenciales a virtuales ha sido una constante este último año. Así ha pasado con Akademy, Guadec y con el Flisol, por nombrar unos cuantos.

Ujilliurex no fue una excepción el año pasado y lo va a seguir siendo el próximo 5 de mayo con Ujilliurex 2021, que viene con un programa más que interesante, y no es porque un servidor haya participado en representación de la Comunidad KDE sino porque el nivel de ponentes es más que sobresaliente.

Ujilliurex 2021, nueva edición online

¿Qué es Ujilliurex?

Se trata de un evento que tiene bastante solera en la provincia de Castellón en el que teniendo como protagonista la distribución de la Generalitat Valenciana Lliurex se presentan novedades sobre ésta y sobre otros proyectos libres.

Concretamente sus objetivos fundamentales son:

  • Difundir el uso y manejo de las TIC en la distribución LliureX entre la comunidad educativa universitaria
  • Promover la coordinación, el intercambio y la discusión de conocimientos y experiencias entre profesores universitarios, especialmente de los departamentos con una mayor implicación tanto en la parte educativa de los futuros docentes (Depto. Educación), como posibles usuarios de Lliurex como herramienta en su especialidad (Depto. de Traducción e Interpretación y Depto. de Estudios Ingleses), con docentes de centros educativos de la comunidad valenciana, especialmente de los departamentos de idiomas y Coordinadores de Tecnologías de la Información (Coordinadores TIC).
  • Compartir conocimiento y debatir sobre el contenido de la distribución y la utilización de diversas aplicaciones de la distribución
  • Iniciar una serie de contactos entre las entidades organizadoras de la jornada y los asistentes de los diferentes centros y departamentos.
a silhouette of a person's head and shoulders, used as a default avatar

#openSUSE Tumbleweed revisión de la semana 17 de 2021

Tumbleweed es una distribución “Rolling Release” de actualización contínua. Aquí puedes estar al tanto de las últimas novedades.

Tumbleweed

openSUSE Tumbleweed es la versión “rolling release” o de actualización continua de la distribución de GNU/Linux openSUSE.

Hagamos un repaso a las novedades que han llegado hasta los repositorios estas semanas.

El anuncio original lo puedes leer en el blog de Dominique Leuenberger, publicado bajo licencia CC-by-sa, en este enlace:

Esta semana ha sido bastante tranquila, excepto algún contratiempo pequeño con el kernel Linux 5.11.16, que debido a un problema de compilación sufrió de un problema de sincronización con varios subpaquetes del kernel durante 1 snapshot.

Las 5 snapshots publicadas fueron 0423, 0425, 0426, 0427 y 0428.

Que trajeron actualizaciones tan jugosas como estas:

  • Linux kernel 5.11.16 y 5.12.0
  • KDE Gear 21.04.0 (antes llamado KDE Applications)
  • Mozilla Firefox 88.0
  • NetworkManager 1.30.4
  • Virtualbox 6.1.20: algunos servicios fueron renombrados, por ejemplo: vboxautostart.service” es reemplazado por “vboxautostart-service.service

Y en próximas entregas podremos encontar:

  • TeXLive 2021
  • Cambio de openmpi2 a openmpi4
  • GNOME 40.1
  • icu 69.1
  • Cambio de go 1.15 a go 1.16
  • GCC 11 como compilador predeterminado

Si quieres estar a la última con software actualizado y probado utiliza openSUSE Tumbleweed la opción rolling release de la distribución de GNU/Linux openSUSE.

Mantente actualizado y ya sabes: Have a lot of fun!!

Enlaces de interés

Geeko_ascii

——————————–

a silhouette of a person's head and shoulders, used as a default avatar

openSUSE Tumbleweed – Review of the week 2021/17

Dear Tumbleweed users and hackers,

This week seemed rather calm except for a minor glitch with the Linux kernel 5.11.16, which, due to a build failure, was out of sync between the various kernel sub-packages for one snapshot. The pace of the snapshots was averaged at 5 snapshots (0423, 0425, 0426, 0427, and 0428).

The changes included things like:

  • Linux kernel 5.11.16 & 5.12.0
  • KDE Gear 21.04.0 (formerly KDE Applications)
  • Mozilla Firefox 88.0
  • NetworkManager 1.30.4
  • Virtualbox 6.1.20: some services were renamed; e.g. vboxautostart.service” is replaced by “vboxautostart-service.service

The plan for the upcoming snapshots currently includes:

  • TeXLive 2021
  • Move openmpi default from openmpi2 to openmpi4
  • GNOME 40.1
  • icu 69.1: for the ring packages, nodejs15 seems to be the last blocker
  • Switch from go 1.15 to go 1.16: most packages fixed, the last failure in Staging:M is cilium
  • GCC 11 as default compiler: Move from special-purpose Staging:Gcc7 to Staging:O (incl. openQA test coverage). There are a few more build failures to be addressed.
  • UsrMerge: The current state is that we checked in all changes and are planning on actually doing the switch somewhen in the not too far future, likely together with the planned distro-rebuild for GCC 11
the avatar of openSUSE News

LLVM, KDE Gear, GNOME Update in Tumbleweed

Six openSUSE Tumbleweed were released this week.

The snapshots delivered updated versions of curl, KDE Gear, LLVM, GNOME 40, Mozilla’s Firefox and Thunderbird and much more.

The 20210428 snapshot updated the Linux Kernel to version 5.12 and text editor vim to version 8.2.2800. The virtualbox update to 6.1.20 took care of a hang for guest operating systems under circumstances where Hyper-V is used and the VM packaged added support for kernel versions 5.11 and 5.12. Domaine name cacher dnsmasq 2.85 added --dynamic-host options and debugger strace 5.12.0 made improvements and implemented an option to display SELinux contexts.

Daniel Stenberg detailed the patch release of curl 7.76.1 in a video on April 14, which made it into snapshot 20210427. No new features were made with the curl release, but Stenberg acknowledged contributions in the video and highlighted the selection of HTTP/2 over HTTPS. Open-source file pager less updated to version 581, which fixed some crashes and added several new options in the release. Utility probing package os-prober updated to version 1.78 and firmware package shim-leap updated to version 15.4.

Snapshot 20210426 updated about 15 packages, which included the 5.11.16 Linux Kernel and an updated 11.0.11.0 version of java-11-openjdk, which had a very large update and addressed two Common Vulnerabilities and Exposures. A fix for container runtime binary labels were made in the update of container-selinux 2.160.1. A major version of ncompress 5.0 cleaned up some code and fixed the recursive mode. General purpose cryptographic library libgcrypt provided some accelerated implementations for x86_64 in the 1.9.3 update. Other packages to update in the snapshot are pipewire 0.3.26, rubygem-nokogiri 1.11.3, python-pydot 1.4.2 and more.

KDE Gear 21.04.0, which is the new name for KDE apps, arrived in snapshot 20210425. A new menu option was added in the file archiver Ark to show the about dialog for kpart. File manager Dolphin removed some input methods and fixed the alignment of the location bar during the first startup. KDE’s text editor Kate fixed a memory leak and some compiler warnings. Video editor Kdenlive fixed a few crashes and the keyframe limit on imports from the clipboard. GNOME 40 had multiple updates. Translations were made with gedit 40.1, Document viewer evince 40.1 added three patches to remove more SyncTeX, and gnome-tweaks 40.0 made a fix bumping up from the beta version, which failed to recognize when GNOME Shell was running in the release candidate version. Both gtk3 and gtk4 were updated to 3.24.28 and 4.2.0 respectively. GTK4 brought some event matching fixes for missed layouts for Wayland. Other packages updated in the snapshot were NetworkManager 1.30.4, glib2 2.68.1, pango 1.48.4, rsyslog 8.2104.0 and wireshark 3.4.5, which fixed the printing of GeoIP information.

Snapshot 20210423 updated Mozilla’s Firefox to version 88.0 and Thunderbird to version 78.10.0. The browser has a new feature with PDF forms now supporting JavaScript embedded in PDF files. The open-source browser also made a change to the microphone and camera prompts reducing the number of times a prompt asks to grant device access on a website. Nine CVEs were fixed with the Thunderbird email client; one of which could have executed an arbitrary FTP command on FTP servers using an encoded URL. Regressions were fixed with redis 6.2.2 and a Xen update restored a change that was silently removed almost two years ago. YaST had multiple packages updated and many of those entailed some spec file cleanups.

The week’s opening snapshot, 20210422, gave audio users an update with Audacity 3.0.2; the audio software added some new preferences for output and improved diagnostics reporting. The major version of llvm12 12.0.0 arrived and the compiler brought in a ton of changes. There were changes for architecture targets, the WebAssembly target, go bindings, C Application Programming Interfaces and much more. AppStream made some parsing improvements and improved a text wrap for when words could be excessively long. Text shaping package harfbuzz, developed by everyone’s favorite font expert Behdad Esfahbod, improved some shape joining scripts and provided documentation improvements. Other packages updated in the snapshot were hwinfo 21.73, sqlite 3.35.5, sudo 1.9.6 and more.

a silhouette of a person's head and shoulders, used as a default avatar

How to Symbolic Icon

Icon Tooling

Unlike application icons, the symbolic icons don't convey application identity, but rely on visual metaphor to describe an action (what a button in the UI does).

GNOME has not used fullcolor icons in toolbars and most of the UI in many years. Instead we use symbols, adjusting legibility and their rendering the same way we do with text (recoloring the foreground and background as you can demo switching the dark theme on this blog post).

{% include_relative symbols.svg %}

But how does one create such an icon? Here's a walkthrough of the process, using our 2021 tooling. While the actual drawing of shapes still happens in Inkscape, the workflow is now heavily supported by a suite of design tools.

Before we dive into creation though, let's start with a more common case: In many cases developers just want to pick and use an existing icon rather than attempting to create it or commission a designer.

Finding an Icon

Historically, looking up icons has been a matter of familiarizing yourself with the icon naming spec, which was built on the concept of semantic naming. However, it turns out developers really just want that symbol that looks like a door, rather than adhering to the strict semantic constraints. Combined with icon themes and evolving visual trends this semantic dream gradually faded over time.

The very basic set of icons is provided directly by the toolkit. For the most part it still adheres to the semantic names such as edit-copy or menu-open rather than descriptive names like scissors or pencil. The coverage of the set is quite conservative and you're likely to need something that isn't provided by GTK itself.

Sounds like a lot of work? Lucky for you we have Icon Library to make this easy!

Icon Library

The app can help you not only to search for an appropriate icon using keywords, it can assist you distributing the assets along with your app (as a gresource). While it's on you as a developer to maintain the assets you bundle, no longer will your app break when you've used the the wrench icon when the designers followed a trend of using a pegged wheel for preferences or decided to drop an old or unused icon.

Icon Library

It's worth noting the app is also quite useful for designers, since you can also copy & paste icons into mockups easily.

The application is currently being ported to GTK 4 so there's a lot of moving parts in the air at the moment, but the latest release on Flathub is perfectly usable.

Creation

So let's assume the icons available don't really fit your need and you need to create one from scratch. I should boldly proclaim that with no API-like maintenance burden, the design team is more than happy to fulfill app developers' requests. Especially apps aiming to be listed in GNOME Circle, feel free to request an icon on Gitlab.

The first step is always to figure out the metaphor. Sketching out some ideas on paper is a solid recommendation. Even if you think you're no good at sketching, try it. In fact, especially when you're not good at sketching, the process will help you identify very strong metaphors that convey the meaning even using a few squibbly lines. The more definition you provide, the harder it is to tell whether the function isn't overshadowed by the form.

Sketching

Once you're somewhat convinced a fitting metaphor can be executed on the 16x16 pixel grid, it's time to reach for the tool to guide your throughout the process, Symbolic Preview.

A Handful

Let's assume you have a small app that is very early in development and you decided to make it easy to report issues with it and need a report bug icon for the headerbar.

Pencil

Symbolic Preview either allows you to create a single symbolic or a sheet with many symbolics. In our first case, we'll go for just one.

Single Symbolic

After providing a name for your icon (prefixing with app name can avoid some theming issues) a template is saved. Currently you have to do some file system surfing to open up the asset in Inkscape.

File Naming

Symbolic preview can be used as its name suggests. Currently it doesn't auto-reload on changes, but hopefully that will come soon.

There are some basic guidelines on how to produce a GNOME symbolic icons, but to provide a tl;dr

  • Use filled shapes to provide enough contrast
  • Maintain the overall contrast not going edge to edge
  • Main outline should not use a hairline stroke, 2px strokes are advised
  • Convert strokes to outlines. The old toolchain allowed to use strokes as long as no fill was used on the same object, but it has been the source of many misrenderings. Just convert all strokes to outlines with Path>Stroke to Path in Inkscape.
Symbolic Preview

The app provides different color contexts and displays your icon among existing symbolics, not unlike what App Icon Preview does for app icons. Again, this is when you only need to ship a handful of icons with your app.

Your needs may, however, exceed just a few. Maintaining lots of individual icons in separate files becomes daunting. Also, there is no need to see your icons in the context of others when they form a large enough set on their own.

The same app we just used to create and test a single symbolic icon can be used to maintain a large set of symbolics in a single library file. The icon-development-kit that is the source for most of the icons you can search with Icons Library is also maintained this way. Let's take a look how you can maintain a whole set of symbolics icons.

A Lot

Unlike individual icons, for preview and export to work, this workflow is very Inkscape centered and there are numerous constraints to be mindful of, so let's dive in.

Export Conventions

There are a few conventions you need to follow in order for the export to work. Icon devel kit describes the conventions in detail, but let's sum them up here:

  • Each icon is a group (<g>). To force its size to be 16x16px, the icon should include a <rect> with no stroke or fill, that is exactly 16x16 and aligns to the pixel grid. This rectangle is removed during export.
  • The name of the icon is taken from the title property of the group in the object properties in Inkscape (Object>Object Properties). (<title/>).
  • If you wish to omit an icon in the preview and export, don't provide a name for it or append -old to it. This can be useful for some 'build assets'.

Metadata

While it's mainly useful for maintaining a collection like icon-development-kit, you will save yourself time looking up your own assets if you provide some metadata describing your icon.

Sheet Preview

Keywords for an icon are given as space separated words in the label attribute in object properties in Inkscape (inkscape:label attribute).

Acknowledgments

Jokingly we refer to the design tool page as the Bilal page. A huge thank you goes to Bilal Elmoussaoui for writing brilliant apps for GNOME and making the design process a little less punishing.