アルクシン


Dernière édition : 20 juin 2019

Introduction

Void Linux est une distribution indépendante créée en 2008 par l’espagnol Juan Romero Pardines.

Ancien cadre de NetBSD, Pardines (alias « xtraeme ») souhaitait tester un nouveau gestionnaire de paquets pour GNU/Linux : XBPS (« X Binary Package System »). Ce dernier, comme beaucoup d’éléments constituant la Void, est fortement inspiré de ce que l’on trouve sur les systèmes BSD; elle en est probablement la distribution Linux la plus proche que l’on puisse trouver aujourd'hui.

Bien qu’à la base conçue uniquement comme support pour XBPS, Void devient de plus en plus populaire (chez les utilisateurs avancés) et la nouvelle équipe (Pardines a disparu de la circulation début 2018) redouble d’efforts pour la mettre en avant.

Suivant donc de très près la philosophie Unix et BSD, Void est conservatrice, mais cela ne l’empêche pas d’apporter quelques innovations. Alors qu’elle emploie depuis 2015 « runit » pour son système d’initialisation (init), elle fut par exemple l’une des premières à proposer l’imposant et controversé « systemd », en juin 2011 soit seulement 8 mois après le fer de lance Fedora.

Void est souvent comparée à Arch, car le gestionnaire de paquets, le minimalisme, et la difficulté sont assez similaires. À mes yeux toutefois, Void respecte bien plus le principe de design « KISS » (« Keep It Stupid Simple » soit « laisse ça stupidement simple »).

Points positifs

  • • Base indépendante donc libre de toute contrainte
  • • Mises à jour en continu (rolling release)
  • • Extraordinairement stable et robuste pour une rolling
  • • Pas de systemd, donc pas d’usine à gaz remplie de vulnérabilités
  • • XBPS est très complet et extrêmement véloce
  • • Pas de paquets tiers potentiellement dangereux comme sur l’AUR...
  • • ...et les devs ajoutent volontiers les requêtes aux dépôts officiels
  • • La construction de paquets personnels est relativement facile
  • • On a le contrôle sur absolument tout, rien n’est imposé
  • • Communauté très conviviale, pas d’élitisme et de m'as‑tu‑vu à la Arch
  • • LibreSSL remplace OpenSSL (dont la faille Heartbleed a fait date)
  • • Une version avec la bibliothèque musl (en plus de glibc) est disponible
  • • Des racines européennes (Espagne, Allemagne)
  • • Système très réactif du démarrage à l’extinction

Points négatifs

  • • Base indépendante donc moins d’informations et moins d’aide en général
  • • Une rolling release peut toujours exploser sans crier gare
  • • Pas de systemd, donc pas de gestion automatisée de certains éléments système
  • • La syntaxe de XBPS est tordue (pas comme APT ou DNF qui sont limpides : « xxx install », « xxx update », etc.)
  • • Petite équipe donc peut potentiellement disparaître un jour...
  • • ...en découle aussi moins de paquets que chez Debian/Ubuntu/Arch+AUR
  • • Complexe à mettre en œuvre car tout est à configurer soi‑même
  • • Communauté réduite, et je trouve que certains devs sont parfois un peu condescendants
  • • Documentation encore trop restreinte même si celle de Arch suffit parfois

On constate donc que certains avantages peuvent être des inconvénients, cela dépendra du point de vue de chacun...

Post‑installation

Des versions « live » pré‑configurées sont disponibles sur le site officiel, mais je vous les déconseille car même si elles semblent faciliter la vie, elles ont quelques bugs et ne correspondront évidemment pas totalement à ce que vous voudriez sur votre machine. Et très honnêtement, je ne vois pas l’intérêt d'installer une Void pré‑mâchée.

⇒ Télécharger l’image ISO (prendre « void‑live‑x86_64‑YYYYMMDD.iso »)
⇒ Manuel d’installation (sections : 3.2.1, 3.2.2, 3.2.3, 3.2.4)

L’installation de base d’une Void Linux est plutôt aisée car semi‑automatisée, mais elle ne concerne que le cœur du système et une poignée d'éléments. Tout le reste doit se faire à la main, c’est pourquoi je me suis concocté un petit script de post‑installation afin de tout expédier rapidement : il exécute quelques commandes et télécharge mes fichiers de configuration.

⇒ Télécharger mon script - actualisé le 18/06/19
⇒ Télécharger mes fichiers - actualisé le 18/06/19

Pensez à afficher les fichiers cachés (Ctrl + H) si vous explorez mon archive, sans quoi le dossier « /etc/skel » paraîtra vide.

IMPORTANT : vous pouvez essayer l’ensemble tel quel, mais gardez à l’esprit que c’est spécifiquement conçu pour mes besoins et pour mon ordinateur (par exemple pas de wifi par défaut ; si vous n’avez pas de carte graphique AMD il faut supprimer « /etc/X11/xorg.conf.d/20-amdgpu.conf »  sinon Xorg ne se lancera pas; d’autres fichiers contiennent des paramètres qui me sont propres). Je mets tout ceci à disposition pour vous permettre de comprendre comment finaliser votre propre installation facilement, libre à vous de vous en inspirer.

Voici comment je télécharge et lance le script depuis la console Void :
(après avoir terminé l’installation initiale via l’outil officiel « void-installer »)
sudo xpbs-install -S wget
wget https://alkusin.net/voidlinux/void-install.sh
chmod +x void-install.sh
./void-install.sh
Puis je me fais du thé...

J’obtiens ainsi un environnement Xfce prêt à l’emploi, l’activation des services de mon choix, un système réglé aux petits oignons, et quelques utilitaires de ma création pour se faciliter le quotidien. Entre autres particularités, je n’utilise pas de gestionnaire de session comme LightDM, je me connecte directement depuis la console, mes ~/.xinitrc et ~/.bash_profile s’occupent de lancer la session graphique automatiquement. Il y a aussi une session Openbox disponible, tout est déjà en place il suffit d’intervertir les deux dernières lignes du ~/.xinitrc. Notez que tout ce que je partage dans les chapitres qui suivent est déjà inclus.

⇒ Capture d’écran du résultat final

Je pense qu’une personne qui s’intéresse à Void connaît déjà bien Linux et saura adapter la recette à son goût sans trop de difficultés. Si vous n’avez pas de serveur pour héberger votre script et vos fichiers, vous pouvez utiliser GitHub ou un service cloud comme Dropbox par exemple, à condition qu’il accepte le téléchargement direct via « wget ».

Langue globale du système

Pour voir quels langages sont disponibles sur votre système :

locale -a

Pour s’assurer que le langage voulu (ici le français) soit bien appliqué à tous les niveaux :

Manipulations à effectuer en administrateur.

Ajouter ou modifier ces lignes dans « /etc/locale.conf » :
LANG=fr_FR.UTF-8
LC_COLLATE=fr_FR.UTF-8

Ajouter ou modifier cette ligne dans « /etc/environment » :
LANG=fr_FR.UTF-8

Puis redémarrer pour appliquer. Pour vérifier que tout est correctement défini :

locale

Note : le gestionnaire de paquets XBPS et certains autres composants n’ont pas de traductions.

Optimisation du texte

Afin de profiter d’un rendu correct et pour régler le problème de polices manquantes sur certaines pages web, il suffit d’en installer qui soient métriquement compatibles avec celles de Microsoft et d’autres utilisées régulièrement par les développeurs Web, puis de créer des fichiers de configuration appropriés :

Polices de substitution :

sudo xbps-install -S google-fonts-ttf

Firefox (about:config) :

gfx.font_rendering.fontconfig.max_generic_substitutions = 127

Liens symboliques des règles :

sudo ln -s /usr/share/fontconfig/conf.avail/10-hinting-slight.conf /etc/fonts/conf.d/
sudo ln -s /usr/share/fontconfig/conf.avail/10-sub-pixel-rgb.conf /etc/fonts/conf.d/
sudo ln -s /usr/share/fontconfig/conf.avail/11-lcdfilter-default.conf /etc/fonts/conf.d/
sudo ln -s /usr/share/fontconfig/conf.avail/50-user.conf /etc/fonts/conf.d/
sudo ln -s /usr/share/fontconfig/conf.avail/70-no-bitmaps.conf /etc/fonts/conf.d/

Configuration :


~/.config/fontconfig/fonts.conf - exécutable : non
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
	<match target="font">
		<edit mode="assign" name="antialias">
			<bool>true</bool>
		</edit>
		<edit mode="assign" name="hinting">
			<bool>true</bool>
		</edit>
		<edit mode="assign" name="autohint">
			<bool>false</bool>
		</edit>
		<edit mode="assign" name="hintstyle">
			<const>hintslight</const>
		</edit>
		<edit mode="assign" name="rgba">
			<const>rgb</const>
		</edit>
		<edit mode="assign" name="lcdfilter">
			<const>lcddefault</const>
		</edit>
		<edit mode="assign" name="embeddedbitmap">
			<bool>false</bool>
		</edit>
	</match>
</fontconfig>

~/.Xresources - exécutable : non
Xft.antialias:	1
Xft.hinting:	1
Xft.autohint:	0
Xft.hintstyle:	hintslight
Xft.rgba:	rgb
Xft.lcdfilter:	lcddefault

Forcer le rendu v38 « Infinality » (optionnel) :


/etc/profile.d/freetype2.sh - exécutable : non
# Subpixel hinting mode can be chosen by setting the right TrueType interpreter
# version. The available settings are:
#
# truetype:interpreter-version=35 # Classic mode (default in 2.6)
# truetype:interpreter-version=38 # Infinality mode
# truetype:interpreter-version=40 # Minimal mode (default in 2.7)
#
# There are more properties that can be set, separated by whitespace. Please
# refer to the FreeType documentation for details.

# Uncomment and configure below

export FREETYPE_PROPERTIES="truetype:interpreter-version=38"

Je suis aussi allé un peu plus loin en calculant et forçant mes DPI. Avec un écran de 24 pouces pour une résolution de 1920x1080, d’après cet outil en ligne la valeur idéale serait autour de 92. Je constate également que les dimensions de 531x299 millimètres affichées par le calculateur correspondent aux dimensions de la dalle (surface active) que j’ai mesurées moi-même ainsi qu’aux données indiquées par le fabricant. Calculez vos propres valeurs à intégrer dans les fichiers suivants :


~/.Xresources - exécutable : non
...(autres règles)...
Xft.dpi:	92

~/.config/fontconfig/fonts.conf - exécutable : non
...(autres règles)...
	<match target="pattern">
		<edit mode="assign" name="dpi">
			<double>92</double>
		</edit>
	</match>

/etc/X11/xorg.conf.d/20-monitor.conf - exécutable : non
Section "Monitor"
    Identifier    "HDMI-A-1"
    DisplaySize    531 299
EndSection

Firefox (about:config) :

layout.css.dpi = 92

L’identifiant du moniteur se trouve grâce à la commande xrandr --props | grep 'connected' | grep -v 'dis'. Pensez aussi à changer les DPI dans les paramètres de votre bureau (Xfce pour moi). Après redémarrage, on peut vérifier si ces données sont bien appliquées en consultant le fichier « /var/log/Xorg.0.log » et en utilisant la commande xdpyinfo | grep -B1 resolution.

‧‧‧

J’ai maintenant un rendu parfait du texte. Forcément ces paramètres sont ceux que je trouve confortables et lisibles, vous pouvez utiliser un autre « hinting » que « slight » ou un rendu « grayscale » au lieu du RVB.

Plugin mises à jour pour Xfce

Pour avoir une alerte sur les mises à jour disponibles sans passer par un utilitaire aussi gros que « Void‑Updater », vous pouvez utiliser Conky, ou mieux encore un plugin très puissant conçu pour le tableau de bord de Xfce : « genmon  ».

Une fois paramétré, le plugin va vérifier toutes les six heures si des paquets peuvent être mis à jour. Le cas échéant, une icône apparaîtra dans le panel avec un compteur au‑dessus de celle‑ci, ainsi qu'une liste détaillée au survol dans une infobulle. Il n’y aura qu’à cliquer sur l’icône pour mettre à jour le système. Regardez cette capture d’écran pour voir à quoi ça ressemblera.

Pour installer le plugin :

sudo xbps-install -S xfce4-genmon-plugin

Il suffit ensuite de l’ajouter au panel (« Moniteur Générique »), puis de le configurer comme ceci :

Commande : /usr/local/bin/void-scripts/genmonup-check.sh
Étiquette : décoché
Périodes : 21600,00
Nom et taille de la police : identique à la police système

Changez le chemin du script (interprété) si nécessaire ; la période est en secondes, « 21600 » équivaut donc à 6 heures (H x 3600 = S).

Script interprété


/usr/local/bin/void-scripts/genmonup-check.sh - exécutable : oui (chmod +x)

#!/bin/bash
# https://alkusin.net/voidlinux

readonly NUPD=$(xbps-install -nuM | wc -l)
readonly LUPD=$(xbps-install -nuM | awk '{print $1}')
readonly TEXT1="mise(s) à jour disponible(s) :"
readonly TEXT2="Cliquer sur l'icône pour appliquer."
readonly TRMNL="xfce4-terminal --icon='system-software-update' --title='XBPS - update'"

PANEL="<click>$TRMNL -x '/usr/local/bin/void-scripts/genmonup-launch.sh'</click>"
PANEL+="<img>$HOME/.genmonup-icon.svg</img>"
PANEL+="<txt><span size='9000' weight='bold' rise='17000'>$NUPD</span></txt>"

TOOLTIP="<tool>"
TOOLTIP+="<span size='11000' weight='bold'>$NUPD $TEXT1</span>\n"
TOOLTIP+="<span size='9000'>$LUPD</span>\n\n"
TOOLTIP+="<span size='9000' weight='bold'>$TEXT2</span>"
TOOLTIP+="</tool>"

if [ $NUPD -gt 0 ]; then
  echo -e "${PANEL}"
  echo -e "${TOOLTIP}"  
else
  echo ""
fi

Changez le chemin du script « genmonup-launch.sh » si vous ne le placez pas au même endroit que moi. Vous pouvez télécharger l’icône dédiée ici. Ouvrez-la dans un éditeur de texte puis changez le code couleur hexadécimal si vous le souhaitez.

Script lancé


/usr/local/bin/void-scripts/genmonup-launch.sh - exécutable : oui (chmod +x)
#!/bin/bash
# https://alkusin.net/voidlinux

### Check manual interventions before updating
#printf "Known manual interventions:\n\n"
#if [ $(lynx -dump -nolist https://voidlinux.org/news/archive.html | grep -i "intervention" | wc -l) -eq 0 ]; then
#  printf "None" && sleep 1s
#else
#  lynx -dump -nolist https://voidlinux.org/news/archive.html | grep -i "intervention"
#  printf "\n"
#  read -p "Visit news page for more details? [Y/n] " a
#    if [ "$a" = "Y" ] || [ "$a" = "y" ]; then
#      lynx https://voidlinux.org/news/archive.html
#    fi
#fi
#
#clear

sudo xbps-install -Su
xfce4-panel --plugin-event=genmon-5:refresh:bool:true

clear

### Delete obsolete packages and clean cache
printf "Cleaning cache and obsolete packages...\n\n"
sudo xbps-remove -Oo

clear

### Check and purge old kernels
printf "Kernels marked for deletion:\n\n"
if [ $(vkpurge list | wc -l) -eq 0 ]; then
  printf "None" && sleep 1s
else
  vkpurge list
  printf "\n"
  read -p "Purge? [Y/n] " a
    if [ "$a" = "Y" ] || [ "$a" = "y" ]; then
      sudo vkpurge rm all
    else
      printf "Cancelled" && sleep 1s
    fi
fi

clear

### End script
printf "System updated!\n"
read -p "Press ENTER to close. "
exit 0

### End script alt
#notify-send --icon=system-software-update "Mises à jour terminées."
#exit 0

‧‧‧

Il est important de modifier le numéro attribué à « genmon » dans le second script (ici « 5 ») par l’identifiant de votre plugin, vous pourrez le trouver en allant dans les préférences du tableau de bord, onglet « Éléments », puis en survolant « Moniteur Générique » pour que les détails apparaissent. Si vous ne le faîtes pas le plugin ne s’actualisera pas avant la période définie.

Vous pouvez décommenter les lignes entre « printf » et « clear » (inclus) du second script pour pouvoir consulter les interventions manuelles avant de mettre à jour (nécessite le paquet « lynx »). Dans le premier script modifiez le chemin de l’icône si vous n’utilisez pas la même, ainsi que la variable « TRMNL » si votre terminal n’est pas celui de Xfce. Changez-y aussi les tailles du texte (size='11000', size='9000') et la hauteur d’élévation du compteur (rise='17000') si l’affichage n’est pas optimal.

Le second script, en plus d’effectuer les mises à jour, s’occupera également de nettoyer le cache et les paquets obsolètes, ainsi que les anciens noyaux. Si vous souhaitez désactiver ces fonctionnalités, il suffit de commenter les blocs correspondants.

PS : l’infobulle peut mettre du temps à s’afficher, voire ne pas s’afficher du tout si la liste des paquets est trop longue.

Fichier bashrc

Voici mes paramètres « bash » contenant quelques alias pratiques :

  • change-theme -> appelle la fonction « THEMESEL » pour basculer entre thème clair/sombre
  • boost -> appelle la fonction « GAMEMODE » pour activer les performances maximales
  • vchup -> renvoie le nombre de mises à jour disponibles (VCHUP : Void CHeck UPdates)
  • vpu -> raccourci pour mettre à jour les paquets (VPU : Void Packages Update)
  • vpi -> raccourci pour installer un ou des paquets (VPI : Void Packages Install)
  • vpr -> raccourci pour supprimer un ou des paquets (VPR : Void Packages Remove)
  • vpq -> raccourci pour chercher un paquet (VPQ : Void Packages Query)
  • vpc -> raccourci pour nettoyer le cache des paquets (VPC : Void Packages Clean)
  • genmon-refresh -> actualise le plugin mises à jour de Xfce
  • notes -> pour éditer le mémo affiché dans Conky
  • void-gtk -> pour installer ou mettre à jour le thème GTK perso
  • void-ico -> pour installer ou mettre à jour le thème d’icônes perso
  • ls -> ajoute des couleurs aux résultats de « ls » et trie les dossiers en premier
  • grep -> ajoute des couleurs aux résultats de « grep »

~/.bashrc - exécutable : non
# .bashrc

## If not running interactively, don't do anything
[[ $- != *i* ]] && return

THEMESEL() {
  clear
  printf "Select a theme:\n  0) Cancel\n  1) Standard\n  2) Dark\n  3) Light\n\n"
  read -p "Option: " a
    if [ "$a" = "1" ]; then
      cat > ~/.gtkrc-2.0 << EOF
gtk-icon-theme-name = "Papirus"
gtk-theme-name = "Plata-Compact"
gtk-font-name = "Ubuntu 11"
gtk-cursor-theme-name = "Vanilla-DMZ"
EOF
      cat > ~/.config/gtk-3.0/settings.ini << EOF
[Settings]
gtk-icon-theme-name = Papirus
gtk-theme-name = Plata-Compact
gtk-font-name = Ubuntu 11
gtk-cursor-theme-name = Vanilla-DMZ
gtk-recent-files-enabled=0
EOF
      xfconf-query -c xsettings -p /Net/IconThemeName -s Papirus
      xfconf-query -c xsettings -p /Net/ThemeName -s Plata-Compact
      xfconf-query -c xfwm4 -p /general/theme -s Plata-Compact
      xfconf-query -c xsettings -p /Gtk/CursorThemeName -s Vanilla-DMZ
      sed -i 's/DMZ-AA/DMZ/g' ~/.Xresources
      cp ~/.xfce-wireframe-mouse-dark.png ~/.face
      #sed -i 's/grayscale-dark/grayscale-light/g' ~/.config/xfce4/panel/whiskermenu-1.rc
      sed -i 's/start-black/start-white/g' ~/.config/xfce4/panel/whiskermenu-1.rc
      sed -i 's/111111/f5f5f5/g' ~/.genmonup-icon.svg
    elif [ "$a" = "2" ]; then
      cat > ~/.gtkrc-2.0 << EOF
gtk-icon-theme-name = "Papirus-Dark"
gtk-theme-name = "Plata-Noir-Compact"
gtk-font-name = "Ubuntu 11"
gtk-cursor-theme-name = "Vanilla-DMZ"
EOF
      cat > ~/.config/gtk-3.0/settings.ini << EOF
[Settings]
gtk-icon-theme-name = Papirus-Dark
gtk-theme-name = Plata-Noir-Compact
gtk-font-name = Ubuntu 11
gtk-cursor-theme-name = Vanilla-DMZ
gtk-recent-files-enabled=0
EOF
      xfconf-query -c xsettings -p /Net/IconThemeName -s Papirus-Dark
      xfconf-query -c xsettings -p /Net/ThemeName -s Plata-Noir-Compact
      xfconf-query -c xfwm4 -p /general/theme -s Plata-Noir-Compact
      xfconf-query -c xsettings -p /Gtk/CursorThemeName -s Vanilla-DMZ
      sed -i 's/DMZ-AA/DMZ/g' ~/.Xresources
      cp ~/.xfce-wireframe-mouse-light.png ~/.face
      #sed -i 's/grayscale-dark/grayscale-light/g' ~/.config/xfce4/panel/whiskermenu-1.rc
      sed -i 's/start-black/start-white/g' ~/.config/xfce4/panel/whiskermenu-1.rc
      sed -i 's/111111/f5f5f5/g' ~/.genmonup-icon.svg
    elif [ "$a" = "3" ]; then
      cat > ~/.gtkrc-2.0 << EOF
gtk-icon-theme-name = "Papirus-Light"
gtk-theme-name = "Plata-Lumine-Compact"
gtk-font-name = "Ubuntu 11"
gtk-cursor-theme-name = "Vanilla-DMZ-AA"
EOF
      cat > ~/.config/gtk-3.0/settings.ini << EOF
[Settings]
gtk-icon-theme-name = Papirus-Light
gtk-theme-name = Plata-Lumine-Compact
gtk-font-name = Ubuntu 11
gtk-cursor-theme-name = Vanilla-DMZ-AA
gtk-recent-files-enabled=0
EOF
      xfconf-query -c xsettings -p /Net/IconThemeName -s Papirus-Light
      xfconf-query -c xsettings -p /Net/ThemeName -s Plata-Lumine-Compact
      xfconf-query -c xfwm4 -p /general/theme -s Plata-Lumine-Compact
      xfconf-query -c xsettings -p /Gtk/CursorThemeName -s Vanilla-DMZ-AA
      sed -i 's/DMZ/DMZ-AA/g' ~/.Xresources
      cp ~/.xfce-wireframe-mouse-dark.png ~/.face
      #sed -i 's/grayscale-light/grayscale-dark/g' ~/.config/xfce4/panel/whiskermenu-1.rc
      sed -i 's/start-white/start-black/g' ~/.config/xfce4/panel/whiskermenu-1.rc
      sed -i 's/f5f5f5/111111/g' ~/.genmonup-icon.svg
    elif [ "$a" = "0" ]; then
      exit 0
    fi
  xfce4-panel -r
  printf "\nDone! You may have to login again to apply changes."
  sleep 2s
  clear
}

GAMEMODE() {
  clear
  printf "Select a mode:\n  0) Cancel\n  1) Normal CPU/GPU\n  2) Maximal CPU/GPU\n  3) Compositor only\n\n"
  read -p "Option: " a
    if [ "$a" = "1" ]; then
      sudo cpupower -c all frequency-set -g schedutil
      #echo 'balanced' | sudo tee /sys/class/drm/card0/device/power_dpm_state ### performance seems to be default
      echo 'auto' | sudo tee /sys/class/drm/card0/device/power_dpm_force_performance_level
      xfconf-query -c xfwm4 -p /general/use_compositing -s true
    elif [ "$a" = "2" ]; then
      sudo cpupower -c all frequency-set -g performance
      #echo 'performance' | sudo tee /sys/class/drm/card0/device/power_dpm_state ### performance seems to be default
      echo 'high' | sudo tee /sys/class/drm/card0/device/power_dpm_force_performance_level
      xfconf-query -c xfwm4 -p /general/use_compositing -s false
    elif [ "$a" = "3" ]; then
      xfconf-query -c xfwm4 -p /general/use_compositing -T
    elif [ "$a" = "0" ]; then
      exit 0
    fi
  printf "\nDone! CPU/GPU changes will revert after reboot."
  sleep 2s
  clear
}

## Change themes to standard or dark or light
alias change-theme='THEMESEL'

## Change CPU/GPU perfs and toggle compositor
alias boost='GAMEMODE'

## Number of available package updates
alias vchup='xbps-install -nuM | wc -l'
## Update packages
alias vpu='sudo xbps-install -Su'
## Install package <package name>
alias vpi='sudo xbps-install -S'
## Remove package <package name>
alias vpr='sudo xbps-remove -R'
## Search package <package name>
alias vpq='xbps-query -Rs'
## Clean obsolete packages
alias vpc='sudo xbps-remove -Oo'

## Refresh Xfce updates icon
alias genmon-refresh='xfce4-panel --plugin-event=genmon-5:refresh:bool:true'

## Edit notes displayed in Conky
alias notes='nano ~/.conkytodo'

## Install/Update custom Void gtk and icon themes
alias void-gtk='/usr/local/bin/void-scripts/plata-custom-void.sh'
alias void-ico='/usr/local/bin/void-scripts/papirus-custom-void.sh'

## Run RKhunter and read log file
alias rk-run='sudo rkhunter -c --noappend-log'
alias rk-log='sudo cat /var/log/rkhunter.log | grep -i "warning"'

## Enhance some commands
alias ls='ls --color=auto --group-directories-first'
alias grep='grep --color=auto'

## Custom prompt
export PS1="\[\033[38;5;222m\][\u@\h]\[$(tput sgr0)\]\[\033[38;5;137m\]\\$\[$(tput sgr0)\]\[\033[38;5;15m\] \[$(tput sgr0)\]"

Thèmes personnalisés

Ne lancez pas les scripts avec le préfixe « sh », certaines commandes ne fonctionneront pas à cause du shell par défaut.
(sudo) sh /chemin/vers/script.sh -> n’est pas correct
(sudo) /chemin/vers/script.sh -> est correct
cd /chemin/vers/ && (sudo) ./script.sh -> est correct

J’ai modifié le thème GTK Plata et les icônes Papirus afin d’obtenir une interface moderne (mais sobre) ayant une identité propre à Void. Tout se fait grâce à deux scripts détaillés ici. Vous pouvez les prendre dans mon archive ou directement copier‑coller les deux blocs de code qui suivent chacun dans un fichier « .sh » respectif à rendre exécutable puis à lancer dans un terminal.

⇒ Capture d’écran #1
⇒ Capture d’écran #2

Je recommande soit les polices « Ubuntu 11 » et « Ubuntu Mono 13 » soit « Noto Sans 11 » et « Noto Sans Mono 11 » (installables depuis les dépôts).

Servez‑vous de ces scripts de temps en temps pour mettre à jour les thèmes, car ils évoluent régulièrement.

Script GTK

Note : les environnements MATE <1.22.2 et KDE Plasma ne sont pas supportés par le thème GTK en upstream.


/usr/local/bin/void-scripts/plata-custom-void.sh - exécutable : oui (chmod +x)
#!/bin/bash
# https://alkusin.net/voidlinux

echo "Cleaning older versions..."

  sudo xbps-remove -Ry plata-theme
  sudo rm -rf /usr/share/themes/{Plata,Plata-Compact,Plata-Lumine,Plata-Lumine-Compact,Plata-Noir,Plata-Noir-Compact}

echo "Installing requirements..."

  sudo xbps-install -Sy autoconf automake make ImageMagick inkscape optipng gdk-pixbuf-devel glib-devel libxml2 sassc parallel pkg-config wget xz

echo "Downloading upstream..."

  cd /tmp
  wget -O - https://gitlab.com/tista500/plata-theme/-/archive/master/plata-theme-master.tar.gz | tar xz
  cd plata-theme-master

echo "Customizing upstream..."

  for thirdrc in src/gtk/gtk-2.0/3rd-party*; do
  cat << "EOF" >> "$thirdrc"

### Xfce panel tasklist

style "xfce-tasklist-style"
{
  XfceTasklist::max-button-length = 300
  XfceTasklist::ellipsize-mode = PANGO_ELLIPSIZE_END
  XfceTasklist::minimized-icon-lucency = 50
}
class "XfceTasklist" style "xfce-tasklist-style"
EOF
  done

  #sed -i "s/Roboto/Ubuntu, Roboto/g" src/shell/sass/cinnamon/_common.scss
  #sed -i "s/Roboto/Ubuntu, Roboto/g" src/shell/sass/gnome-shell/_common.scss
  #sed -i 's/symbolic/regular/g' src/shell/sass/gnome-shell/_common.scss
  ./autogen.sh --prefix=/usr --enable-parallel --enable-plank --disable-gnome --disable-cinnamon --disable-mate --disable-flashback --with-selection_color=#478061 --with-accent_color=#478061 --with-suggestion_color=#478061 --with-destruction_color=#478061

echo "Generating themes..."

  make

echo "Installing themes..."

  sudo make install

  sudo cp /usr/share/themes/Plata-Noir/gtksourceview/plata-dark.xml /usr/share/gtksourceview-3.0/styles/
  sudo cp /usr/share/themes/Plata-Lumine/gtksourceview/plata-light.xml /usr/share/gtksourceview-3.0/styles/

    ### horizontal mirror to maximize-toggled buttons for leftside use (xfwm & openbox)
  sudo mogrify -flop /usr/share/themes/{Plata,Plata-Compact,Plata-Lumine,Plata-Lumine-Compact,Plata-Noir,Plata-Noir-Compact}/xfwm4/maximize-toggled-active.png
  sudo mogrify -flop /usr/share/themes/{Plata,Plata-Compact,Plata-Lumine,Plata-Lumine-Compact,Plata-Noir,Plata-Noir-Compact}/xfwm4/maximize-toggled-inactive.png
  sudo mogrify -flop /usr/share/themes/{Plata,Plata-Compact,Plata-Lumine,Plata-Lumine-Compact,Plata-Noir,Plata-Noir-Compact}/xfwm4/maximize-toggled-prelight.png
  sudo mogrify -flop /usr/share/themes/{Plata,Plata-Compact,Plata-Lumine,Plata-Lumine-Compact,Plata-Noir,Plata-Noir-Compact}/xfwm4/maximize-toggled-pressed.png
  sudo wget -qO /usr/share/themes/Plata/openbox-3/max_toggled.xbm https://alkusin.net/voidlinux/extras/themes/openbox/leftside_max_toggled.xbm
  sudo wget -qO /usr/share/themes/Plata-Lumine/openbox-3/max_toggled.xbm https://alkusin.net/voidlinux/extras/themes/openbox/leftside_max_toggled.xbm
  sudo wget -qO /usr/share/themes/Plata-Noir/openbox-3/max_toggled.xbm https://alkusin.net/voidlinux/extras/themes/openbox/leftside_max_toggled.xbm

    ### openbox menu with void colors
  sudo wget -qO /usr/share/themes/Plata/openbox-3/themerc https://alkusin.net/voidlinux/extras/themes/openbox/plata-std-ob-void
  sudo wget -qO /usr/share/themes/Plata-Lumine/openbox-3/themerc https://alkusin.net/voidlinux/extras/themes/openbox/plata-lte-ob-void
  sudo wget -qO /usr/share/themes/Plata-Noir/openbox-3/themerc https://alkusin.net/voidlinux/extras/themes/openbox/plata-drk-ob-void

echo "Cleaning downloaded files..."

  cd ..
  rm -rf plata-theme-master

clear
echo "Plata-Custom-Void: done!"

Commentez les lignes de la section « horizontal mirror » si vos boutons de fenêtre sont à droite.

Script icônes


/usr/local/bin/void-scripts/papirus-custom-void.sh - exécutable : oui (chmod +x)
#!/bin/bash
# https://alkusin.net/voidlinux

echo "Installing Papirus from source..."

  sudo xbps-remove -Ry papirus-icon-theme papirus-folders
  wget -qO- https://raw.githubusercontent.com/PapirusDevelopmentTeam/papirus-icon-theme/master/install.sh | sh

sleep 2s

echo "Changing colors..."

  sudo find /usr/share/icons/Papirus/*/places -type f -name "*.svg" -exec sed -i "s/5294e2/478061/gI" {} \;
  sudo find /usr/share/icons/Papirus/*/places -type f -name "*.svg" -exec sed -i "s/4877b1/2F5440/gI" {} \;
  sudo find /usr/share/icons/Papirus/*/places -type f -name "*.svg" -exec sed -i "s/1d344f/1D1D1D/gI" {} \;

clear
echo "Papirus-Custom-Void: done!"

‧‧‧

Pour d’autres couleurs que le vert de Void, des scripts similaires sont disponibles ci-dessous. Si vous utilisez les icônes Papirus par défaut ou ma version « Void » après ces variantes, il faudra réinitialiser les icônes avec la commande papirus-folders -D.

  • • Palette « material-blue » ⇒ gtk & icônes
  • • Palette « material-bluegrey » ⇒ gtk & icônes
  • • Palette « material-brown » ⇒ gtk & icônes
  • • Palette « material-cyan » ⇒ gtk & icônes
  • • Palette « material-green » ⇒ gtk & icônes
  • • Palette « material-grey » ⇒ gtk & icônes
  • • Palette « material-indigo » ⇒ gtk & icônes
  • • Palette « material-orange » ⇒ gtk & icônes
  • • Palette « material-pink » ⇒ gtk & icônes
  • • Palette « material-red » ⇒ gtk & icônes
  • • Palette « material-teal » ⇒ gtk & icônes
  • • Palette « material-violet » ⇒ gtk & icônes
  • • Palette « material-yellow » ⇒ gtk & icônes

Écran de verrouillage

J’aime bien avoir une grande horloge en fond d’écran lorsque je le verrouille, alors j’utilise un mélange de « tty‑clock » et « physlock ». Ce dernier est plus sécurisé que beaucoup d’autres car il bloque aussi l’accès à la console.

Paquets requis : physlock tty-clock wmctrl. Il faudra adapter une partie du code si vous n’utilisez pas Xfce.


/usr/local/bin/void-scripts/lock.sh - exécutable : oui (chmod +x)
#!/bin/bash
# https://alkusin.net/voidlinux

### Required packages: sudo xbps-install -S physlock tty-clock wmctrl

wmctrl -k on
xfconf-query -c xfce4-panel -p /panels/panel-1/autohide-behavior -s 2
xfce4-terminal --fullscreen --hide-menubar --hide-scrollbar --color-bg=#000 --font='Monospace 35' -e 'tty-clock -cDC 7' &&

if ! pgrep -x "tty-clock" > /dev/null; then
  physlock -dsm
  xfconf-query -c xfce4-panel -p /panels/panel-1/autohide-behavior -s 0
  wmctrl -k off
fi

exit 0

Il suffit ensuite d’indiquer l’emplacement du script comme commande de verrouillage dans votre menu, c’est par exemple possible avec le menu « Whisker » de Xfce. Vous pouvez aussi l’assigner à un raccourci clavier.

On quitte l’horloge en appuyant sur la touche « Q » puis on tape le mot de passe lorsqu’il est demandé.

La commande « wmctrl » minimise toutes les fenêtres et la commande « xfconf » masque le tableau de bord (changez le numéro « 1 » si ce n’est pas l’identifiant de votre panel), cela assure plus de confidentialité surtout si vous réglez votre terminal pour qu’il soit transparent (ce qui donne un bel effet à l'horloge). Bien évidemment tout est restauré quand on quitte l’écran de verrouillage.

Logo dans la console

Ne lancez pas les scripts avec le préfixe « sh », certaines commandes ne fonctionneront pas à cause du shell par défaut.
(sudo) sh /chemin/vers/script.sh -> n’est pas correct
(sudo) /chemin/vers/script.sh -> est correct
cd /chemin/vers/ && (sudo) ./script.sh -> est correct

Un petit script pour régénérer le fichier « /etc/issue » afin d’afficher le logo de Void dans la console Linux (TTY), plutôt sympa si comme moi vous vous connectez depuis cette dernière. Copiez‑collez le code tel quel, l’art ASCII sera bien appliqué correctement même si la disposition dans le script semble bizarre. PS : le logo ASCII original vient du programme « neofetch », je l’ai seulement transposé.

⇒ Capture d’écran


voidtty.sh - exécutable : oui (chmod +x)
#!/bin/bash
# https://alkusin.net/voidlinux

echo -ne "\e[H\e[2J" > /etc/issue
echo -ne "\e[2m" >> /etc/issue
tee -a /etc/issue >/dev/null << "EOF"
\s \r (\l)

EOF
echo -e "\e[0;32m                  __.;=====;.__" >> /etc/issue
echo -e "              _.=+==++=++=+=+===;." >> /etc/issue
echo -e "               -=+++=+===+=+=+++++=_" >> /etc/issue
echo -e "          .     -=:\`\`     \`--==+=++==." >> /etc/issue
echo -e "         _vi,    \`            --+=++++:" >> /etc/issue
echo -e "        .uvnvi.       _._       -==+==+." >> /etc/issue
echo -e "       .vvnvnI\`    .;==|==;.     :|=||=|." >> /etc/issue
echo -e "  \e[1;32m+QmQQm\e[0;32mpvvnv; \e[1;32m_yYsyQQWUUQQQm #QmQ#\e[0;32m:\e[1;32mQQQWUV\$QQm." >> /etc/issue
echo -e "   -QQWQW\e[0;32mpvvo\e[1;32mwZ?.wQQQE\e[0;32m==<\e[1;32mQWWQ/QWQW.QQWW\e[0;32m(: \e[1;32mjQWQE" >> /etc/issue
echo -e "    -\$QQQQmmU\'  jQQQ\@\e[0;32m+=<\e[1;32mQWQQ)mQQQ.mQQQC\e[0;32m+;\e[1;32mjWQQ\@'" >> /etc/issue
echo -e "     -\$WQ8Y\e[0;32mnI:   \e[1;32mQWQQwgQQWV\e[0;32m\`\e[1;32mmWQQ.jQWQQgyyWW\@!\e[0;32m" >> /etc/issue
echo -e "       -1vvnvv.     \`~+++\`        ++|+++" >> /etc/issue
echo -e "        +vnvnnv,                 \`-|===" >> /etc/issue
echo -e "         +vnvnvns.           .      :=-" >> /etc/issue
echo -e "          -Invnvvnsi..___..=sv=.     \`" >> /etc/issue
echo -e "            +Invnvnvnnnnnnnnvvnn;." >> /etc/issue
echo -e "              ~|Invnvnvvnvvvnnv}+\`" >> /etc/issue
echo -e "                  -~|{*l}*|~\e[0m" >> /etc/issue
echo -e "\e[0m" >> /etc/issue
echo -e " " >> /etc/issue
echo -e " " >> /etc/issue

sudo ./voidtty.sh

Il n’y a plus qu’à redémarrer ! Si vous ne voulez pas effacer les messages qui ont défilé lors du démarrage avant l’apparition du logo (ils peuvent être utiles pour diagnostiquer un problème quelconque), vous pouvez supprimer la première commande, mais dans ce cas retirez également un des deux signes (>) de la seconde commande (echo -ne "\e[2m" >> /etc/issue).

Pour ne pas avoir à taper le nom d’utilisateur mais seulement le mot de passe (tty1 uniquement) :
sudo sed -i "s/--noclear/--noclear\ --skip-login\ --login-options=$USER/g" /etc/sv/agetty-tty1/conf
(il est toujours possible d’avoir l’invite utilisateur si l’on se trompe de mot de passe)

Performances maximales

Quelques commandes nécessaires pour exploiter au mieux les capacités du PC dans un cadre vidéoludique.

Pour information, tout ce qui suit est activable automatiquement dans mon script « Void‑Wizard ».

Processeur

(testé avec un AMD Ryzen5 - les valeurs peuvent être différentes pour un autre modèle)

Voir les fréquences actuelles :
sudo cpupower -c all frequency-info | grep -P 'current CPU frequency'

Augmenter les fréquences :
sudo cpupower -c all frequency-set -g performance

Revenir aux fréquences par défaut :
sudo cpupower -c all frequency-set -g schedutil
Pour certains processeurs Intel, il vaut mieux indiquer « powersave » au lieu de « ondemand/schedutil ».

Les changements seront réinitialisés à l’extinction de la machine. Néanmoins vous pouvez ajouter la commande au fichier « /etc/rc.local » pour que ce soit effectif dès le démarrage.

Carte graphique

(testé avec une AMD RX580 - les valeurs peuvent être différentes pour un autre modèle)

Voir les fréquences actuelles :
cat /sys/class/drm/card0/device/power_dpm_state
cat /sys/class/drm/card0/device/power_dpm_force_performance_level

Augmenter les fréquences :
echo 'performance' | sudo tee /sys/class/drm/card0/device/power_dpm_state
echo 'high' | sudo tee /sys/class/drm/card0/device/power_dpm_force_performance_level

Revenir aux fréquences par défaut :
echo 'balanced' | sudo tee /sys/class/drm/card0/device/power_dpm_state
echo 'auto' | sudo tee /sys/class/drm/card0/device/power_dpm_force_performance_level

Les changements seront réinitialisés à l’extinction de la machine. Néanmoins vous pouvez ajouter les commandes au fichier « /etc/rc.local » pour que ce soit effectif dès le démarrage.

Mémoire virtuelle

La mémoire virtuelle « swap » est activée quand la mémoire physique « RAM » est sollicitée à 40% ou plus. C’est un réglage taillé pour les serveurs mais pas pour du domestique. La swap peut ralentir le disque dur, alors si vous avez beaucoup de RAM vous devriez baisser le « swappiness » de 60 à 10 pour que la swap ne se déclenche plus qu’à 90% de RAM utilisée.

Réglage temporaire du swappiness :
sudo sysctl vm.swappiness=10
sudo swapoff -a && sudo swapon -a

Les changements seront réinitialisés à l’extinction de la machine, sauf si vous appliquez la procédure qui suit :

Réglage permanent du swappiness :
sudo mkdir /etc/sysctl.d/
echo 'vm.swappiness=10' | sudo tee /etc/sysctl.d/99-swappiness.conf

Programmes en arrière‑plan

Désactiver le compositeur de Xfwm :
xfconf-query -c xfwm4 -p /general/use_compositing -s false

Désactiver Redshift :
killall redshift && killall redshift-gtk

Désactiver Conky :
killall conky

Arrêter un service (par exemple « void‑updater » qui peut être gênant) :
sudo sv stop void-updater

Autres trucs et astuces

Pavé numérique au démarrage

Manipulations à effectuer (en administrateur) dans le fichier « /etc/rc.local ».

Ajouter ce bloc :
# Numlock at boot
for tty in /dev/tty[1-6]*;
do
setleds -D +num < $tty > /dev/null
done

‧‧‧

Pulseaudio

Manipulations à effectuer (en administrateur) dans le fichier « /etc/pulse/daemon.conf ».

Pour que la journalisation ne surcharge plus inutilement le processeur :

Modifier la ligne « log-level » qui est sur « notice » par défaut en :
log-level = error

(et décommenter en retirant le point-virgule du début si il y en a un)

Bénéficier d’une meilleure qualité audio :

Modifier les lignes qui suivent avec les valeurs indiquées :
default-sample-format = s24le
default-sample-rate = 44100
alternate-sample-rate = 48000


(et décommenter en retirant le point-virgule du début si il y en a un)

‧‧‧

Changer les DNS

Créer (en administrateur) le fichier suivant :


/etc/resolv.conf.head - exécutable : non
### CleanBrowsing Security
#nameserver 185.228.168.9
#nameserver 185.228.169.9

### DNS Watch
#nameserver 84.200.69.80
#nameserver 84.200.70.40

### UncensoredDNS
#nameserver 91.239.100.100
#nameserver 89.233.43.71

### FrenchDataNetwork
#nameserver 80.67.169.12
#nameserver 80.67.169.40

### Quad9
#nameserver 9.9.9.9
#nameserver 149.112.112.112

### Cloudflare
#nameserver 1.1.1.1
#nameserver 1.0.0.1

### Google Public DNS
#nameserver 8.8.8.8
#nameserver 8.8.4.4

(décommenter en retirant chaque # devant les deux lignes « nameserver » du fournisseur que vous souhaitez utiliser)

Pour actualiser les DNS sans redémarrer :
sudo resolvconf -u

Pour aller plus loin, on peut aussi utiliser DNSCrypt pour sécuriser les échanges entre client et résolveur. Dans ce cas, on ne créé pas de fichier « /etc/resolv.conf.head », à la place on doit effectuer ces étapes :

sudo xbps-install -S dnscrypt-proxy


/etc/resolvconf.conf - exécutable : non
# Configuration for resolvconf(8)
# See resolvconf.conf(5) for details

resolv_conf=/etc/resolv.conf
# If you run a local name server, you should uncomment the below line and
# configure your subscribers configuration files below.
name_servers=127.0.0.1
resolv_conf_options=edns0

Dans le fichier « /etc/dnscrypt-proxy.toml » à la ligne server_names on indique le résolveur que l’on souhaite utiliser, par exemple pour Quad9 : server_names = ['quad9-dnscrypt-ip4-filter-pri', 'quad9-dnscrypt-ip4-filter-alt']. Tous les résolveurs compatibles sont indiqués dans « /etc/public-resolvers.md ». Il n’y a plus qu’à activer le service :

sudo ln -s /etc/sv/dnscrypt-proxy /var/service/

Pour actualiser les DNS sans redémarrer :
sudo resolvconf -u

Vous pouvez vérifier vos DNS sur ce site et pour un bilan plus complet n’hésitez pas à consulter celui-ci .

Enfin on peut aussi optimiser la sécurité des DNS dans Firefox avec « about:config » :

network.trr.mode = 2
network.trr.uri = https://dns.quad9.net/dns-query
network.security.esni.enabled = true

‧‧‧

Pare‑feu facile à gérer

Si « iptables » vous donne la migraine, vous pouvez utiliser « UFW » et quelques règles simples :

sudo xbps-install -S ufw
sudo ln -s /etc/sv/ufw /var/service/
sudo ufw default deny
sudo ufw allow from 192.168.0.0/24
sudo ufw logging off
sudo ufw enable

La doc est ici . Notez qu’au moment où j’écris ces lignes, l’interface graphique « GUFW » ne fonctionne pas sous Void.

‧‧‧

Bloquer les mineurs de crypto‑monnaie

Ils utilisent les ressources de votre ordinateur sans votre consentement lorsque vous naviguez sur de (trop) nombreux sites web. Ajoutez (en administrateur) l’intégralité de ce fichier à la fin de « /etc/hosts » pour les en empêcher.

‧‧‧

Installer un gestionnaire de machines virtuelles

« Virt-Manager » est dans les dépôts, mais il faut faire quelques manipulations en plus pour pouvoir l’utiliser.

sudo xbps-install -S qemu virt-mananger
sudo usermod -aG kvm $USER
sudo usermod -aG libvirt $USER
sudo ln -s /etc/sv/libvirtd /var/service/
sudo ln -s /etc/sv/virtlogd /var/service/
sudo ln -s /etc/sv/virtlockd /var/service/

Fonds d’écran

Les miniatures sont en basse qualité. Cliquez dessus pour télécharger la véritable image.
Le rendu (couleurs, contraste) peut varier selon votre écran et ses réglages.

Ces arrières‑plans sont de ma création. Vous pouvez les partager et/ou modifier à condition de me créditer. Les éventuelles ressources externes utilisées sont libres de droit. Les photographies de la série « pexels » proviennent du site éponyme et sont également libres de droit, je les ai simplement recadrées et optimisées en poids.

La série « exodus » est une re-création complète du fantastique fond d’écran par dpcdpc11 avec les couleurs de Void. J’ai eu sa permission via DeviantArt.

Série « Exodus »


void-linux-wallpaper-exodus.png
Void-X Exodus
(3840 x 2160)

void-linux-wallpaper-exodus-day.png
Void-X Exodus Day
(3840 x 2160)

void-linux-wallpaper-exodus-night.png
Void-X Exodus Night
(3840 x 2160)

void-linux-wallpaper-exodus-noships.png
Void-X Exodus NoShips
(3840 x 2160)

void-linux-wallpaper-exodus-day-noships.png
Void-X Exodus Day NoShips
(3840 x 2160)

void-linux-wallpaper-exodus-night-noships.png
Void-X Exodus Night NoShips
(3840 x 2160)

void-linux-wallpaper-exodus-branded.png
Void-X Exodus Branded
(3840 x 2160)

void-linux-wallpaper-exodus-day-branded.png
Void-X Exodus Day Branded
(3840 x 2160)

void-linux-wallpaper-exodus-night-branded.png
Void-X Exodus Night Branded
(3840 x 2160)

void-linux-wallpaper-exodus-noships-branded.png
Void-X Exodus NoShips Branded
(3840 x 2160)

void-linux-wallpaper-exodus-day-noships-branded.png
Void-X Exodus Day NoShips Branded
(3840 x 2160)

void-linux-wallpaper-exodus-night-noships-branded.png
Void-X Exodus Night NoShips Branded
(3840 x 2160)

‧‧‧

Série « basiques »


void-linux-wallpaper-polygons.png
Void Polygons
(3840 x 2160)

void-linux-wallpaper-society.png
Void Society
(3840 x 2160)

void-linux-wallpaper-space.png
Void Space
(3840 x 2160)

void-linux-wallpaper-olddwarf.png
Void OldDwarf
(3840 x 2160)

void-linux-wallpaper-youngdwarf.png
Void YoungDwarf
(3840 x 2160)

void-linux-wallpaper-irongrip.png
Void Irongrip
(3840 x 2160)

void-linux-wallpaper-shatters.png
Void Shatters
(3840 x 2160)

‧‧‧

Série « suppléments »


void-linux-wallpaper-polygons-branded.png
Void-X Polygons Branded
(3840 x 2160)

void-linux-wallpaper-society-branded.png
Void-X Society Branded
(3840 x 2160)

void-linux-wallpaper-space-branded.png
Void-X Space Branded
(3840 x 2160)

void-linux-wallpaper-olddwarf-branded.png
Void-X OldDwarf Branded
(3840 x 2160)

void-linux-wallpaper-youngdwarf-branded.png
Void-X YoungDwarf Branded
(3840 x 2160)

void-linux-wallpaper-irongrip-branded.png
Void-X Irongrip Branded
(3840 x 2160)

void-linux-wallpaper-shatters-branded.png
Void-X Shatters Branded
(3840 x 2160)

void-linux-wallpaper-arcade.png
Void-X Arcade
(3840 x 2160)

void-linux-wallpaper-stripes.png
Void-X Stripes
(3840 x 2160)

void-linux-wallpaper-stripes-xfce.png
Void-X Stripes Xfce
(3840 x 2160)

void-linux-wallpaper-prophecy.png
Void-X Prophecy
(3840 x 2160)

void-linux-wallpaper-smoke.png
Void-X Smoke
(3840 x 2160)

void-linux-wallpaper-tech.png
Void-X Tech
(3840 x 2160)

void-linux-wallpaper-tech.png
Void-X Elegance
(3840 x 2160)

void-linux-wallpaper-wall.png
Void-X Wall
(3840 x 2160)

void-linux-wallpaper-cyber.png
Void-X Cyber
(3840 x 2160)

void-linux-wallpaper-radioaktivoid.png
Void-X Radioaktivoid
(3840 x 2160)

void-linux-wallpaper-nord.png
Void-X Nord
(3840 x 2160)

void-linux-wallpaper-gruvbox.png
Void-X Gruvbox
(3840 x 2160)

void-linux-wallpaper-retro.png
Void-X Retro
(3840 x 2160)

void-linux-wallpaper-draconic.png
Void-X Draconic
(3840 x 2160)

void-linux-wallpaper-cogs.png
Void-X Cogs
(3840 x 2160)

void-linux-wallpaper-waves.png
Void-X Waves
(3840 x 2160)

void-linux-wallpaper-waves-xfce.png
Void-X Waves Xfce
(3840 x 2160)

void-linux-wallpaper-abstract.png
Void-X Abstract
(3840 x 2160)

void-linux-wallpaper-abstract-xfce.png
Void-X Abstract Xfce
(3840 x 2160)

void-linux-wallpaper-embossed.png
Void-X Embossed
(3840 x 2160)

void-linux-wallpaper-embossed-xfce.png
Void-X Embossed Xfce
(3840 x 2160)

void-linux-wallpaper-camo.png
Void-X Camo
(3840 x 2160)

‧‧‧

Série « mosaïques »


aks-connect-tile.png
Connect
(256 x 256)

aks-classic-sw-blackswan-tile.png
Classic SW Blackswan
(256 x 256)

aks-classic-sw-roycroft-tile.png
Classic SW Roycroft
(256 x 256)

aks-classic-sw-sauge-tile.png
Classic SW Sauge
(256 x 256)

aks-classic-sw-spatial-tile.png
Classic SW Spatial
(256 x 256)

aks-classic-sw-taupe-tile.png
Classic SW Taupe
(256 x 256)

aks-classic-sw-woad-tile.png
Classic SW Woad
(256 x 256)

aks-crunchbang-asphalt-tile.png
Crunchbang Asphalt
(256 x 256)

aks-crunchbang-linen-tile.png
Crunchbang Linen
(256 x 256)

‧‧‧

Série « pexels »


pexels-11744.jpg
Pexels 11744
(1920 x 1080)

pexels-33041.jpg
Pexels 33041
(1920 x 1080)

pexels-35600.jpg
Pexels 35600
(1920 x 1080)

pexels-38136.jpg
Pexels 38136
(1920 x 1080)

pexels-301614.jpg
Pexels 301614
(1920 x 1080)

pexels-313782.jpg
Pexels 313782
(1920 x 1080)

pexels-325185.jpg
Pexels 325185
(1920 x 1080)

pexels-346529.jpg
Pexels 346529
(1920 x 1080)

pexels-459319.jpg
Pexels 459319
(1920 x 1080)

pexels-635279.jpg
Pexels 635279
(1920 x 1080)

pexels-956999.jpg
Pexels 956999
(1920 x 1080)

pexels-1033729.jpg
Pexels 1033729
(1920 x 1080)

pexels-1108701.jpg
Pexels 1108701
(1920 x 1080)

pexels-1141853.jpg
Pexels 1141853
(1920 x 1080)

pexels-1668246.jpg
Pexels 1668246
(1920 x 1080)

pexels-1809644.jpg
Pexels 1809644
(1920 x 1080)

pexels-2187605.jpg
Pexels 2187605
(1920 x 1080)

Icônes

Quelques images du logo de Void, à utiliser comme boutons de menu ou comme ressources graphiques.