アルクシン

"CRubuntuNG" est une installation personnalisée de Ubuntu+Openbox, inspirée par CrunchBang Linux (RIP).

CrunchBang était à l'origine basée sur Ubuntu depuis 2008 puis a migré vers Debian en 2011, pour disparaître en 2015. Sur Debian le successeur est "BunsenLabs", mais certain·e·s pourraient préférer quelque chose de construit sur Ubuntu et proche de ce qu'était CB à ses débuts : sombre, véloce (entre 250Mo-330Mo au démarrage !), minimaliste et pourtant facile à utiliser.

⇒ Capture d'écran 1 (interface par défaut)
⇒ Capture d'écran 2 (interface par défaut)
⇒ Capture d'écran 3 (palette ubuntu et panel vertical)
⇒ Capture d'écran 4 (palette xubuntu et panel compact)
⇒ Capture d'écran 5 (palette bunsenlabs et panel en haut)

Ce n'est pas une distro/remix/dérivé mais seulement un script à exécuter sur une installation minimale d'Ubuntu (et sans aucun dépôt tiers non plus). On conserve les avantages de la base tout en bénéficiant d'un environnement léger (mais fonctionnel). Il n'y a pas besoin d'une énième distribution quand un simple script bash fait le travail, de plus cela permet de tailler le tout à vos besoins plus aisément. Démarrer à partir d'une mini iso officielle d'Ubuntu garantit une base robuste et totalement supportée, puis je n'ai de toute façon pas le temps de maintenir ma propre distro. Le changelog est disponible ici.

La majorité des applications incluses viennent de Xfce, car elles n'ont pas trop de dépendances et s'intègrent bien dans Openbox. Et contrairement aux logiciels de LXDE (à cause de la migration vers LXQt) elles sont toujours en développement.

PS: Merci à Philip "Corenominal" Newborough pour CrunchBang et tout le reste !

Installation

Attention : connexion réseau filaire obligatoire jusqu'au démarrage sur la session graphique.

Rien de compliqué : téléchargez la mini iso de Ubuntu 18.04 LTS et installez-la comme une Ubuntu standard, mais ne cochez rien à l'écran de sélection de paquets. De cette manière, seuls les composants essentiels seront installés. N'utilisez pas une iso standard car malgré qu'elles proposent aussi une option "installation minimale" cela n'a rien à voir, ça supprime seulement quelques logiciels et installe toujours un environnement de bureau complet, ce que l'on veut justement éviter. L'installateur de la mini iso est textuel, pas graphique, les étapes restent toutefois identiques. Utilisez les flèches ou "Tab" pour naviguer, "Espace" pour sélectionner/cocher, et "Entrée" pour valider. Pour les ordinateurs plus anciens, tout semble également fonctionner avec une iso 32bits.

Avant d'installer, si vous avez besoin de l'UEFI, il faudra après avoir gravé le support d'installation (de préférence une clé USB) explorer celui-ci et copier dans son dossier racine l'image "efi.img" située dans le dossier "/boot/grub" puis l'extraire (acceptez si on vous demande d'écraser des fichiers). Le support d'installation devrait maintenant avoir un dossier "efi" contenant un sous-dossier "boot" avec les fichiers "bootx64.efi" et "grubx64.efi" à l'intérieur. Voir ce rapport de bug .

Une fois votre Ubuntu minimale installée, vous ferez face à une console (tty) après redémarrage.

Connectez-vous (en utilisateur), puis téléchargez et lancez le script :

Édition complète "Full" (url raccourcie)
wget https://is.gd/cbubfr
chmod +x cbubfr
./cbubfr
Url originale : https://alkusin.net/crubuntung/downloads/crubuntung.sh

Édition allégée "Lite" (url raccourcie)
wget https://is.gd/cbubfrlt
chmod +x cbubfrlt
./cbubfrlt
Url originale : https://alkusin.net/crubuntung/downloads/crubuntung-lite.sh

Les différences entre "Full" et "Lite" sont listées ici. Mon script ne demande aucun effort, il va mettre à jour, installer une session graphique et des logiciels, importer mes paramètres, puis redémarrer l'ordinateur. Tout est automatisé.

Si vous voulez faire votre propre script, voici un exemple commenté pour vous guider.

Notes

- Le simple-clic est le réglage par défaut, si vous détestez changez-le dans les paramètres de Thunar.

- Explorez le menu (clic-droit sur le bureau ou clic-gauche sur le logo si vous utilisez un thème Tint2 comportant un bouton). Vous y trouverez plein d'options pour configurer votre session facilement, choisir une palette de couleurs ou une disposition de panel, et d'autres choses pratiques. À propos, vous devez ajouter/supprimer les entrées manuellement (= meilleure maîtrise de ce qui figure dans le menu), si vous souhaitez un menu auto-généré alors ajoutez <menu id="applications-menu" label="Applications" execute="/usr/bin/obamenu"/> quelque-part dans le fichier "menu.xml".

- Je n'ai pas inclus de GUI pour la gestion des utilisateurs, je vous suggère de toute façon d'utiliser la ligne de commande afin d'éviter des dépendances indésirables. N'oubliez pas d'ajouter votre utilisateur aux groupes nécessaires (voir la commande "groups" sur le compte principal).

- L'édition "complète" contient ce qu'il faut pour un usage quotidien, mais je peux vous recommander "Reaper" en tant que DAW (j'ai testé les builds expérimentaux et tout fonctionne), "MyPaint" pour dessiner avec une tablette si GIMP ne suffit pas, "blueman" pour le Bluetooth. Pour des besoins plus techniques je pense que vous savez déjà quoi installer.

- Si vous installez des paquets mais que vous ne connaissez pas leur commande, utilisez "appfinder". Ne vous inquiétez pas si des programmes qui y sont listés ne se lancent pas car "appfinder" scanne absolument tout, même ce qui n'est pas censé tourner dans une session Openbox. Sur une installation fraîche, tout est déjà dans le menu.

- N'oubliez pas d'éditer le fichier "autostart" selon vos besoins. Si un programme n'y est pas référencé mais se lance quand même au démarrage, vérifiez dans les dossiers "~/.config/autostart/" et "/etc/xdg/autostart/". Certains ont aussi une case à décocher.

- Pensez à modifier les coordonnées GPS de Redshift (mode anti lumière bleue) dans "~/.config/redshift.conf", les instructions sont dans le fichier. Il est possible d'utiliser GeoClue pour les obtenir automatiquement mais si vous n'avez pas de connexion internet Redshift pousse une gueulante et se coupe...

- Vous devez établir le périphérique audio en faisant un clic-droit sur l'icône volume puis "preferences" et "device".

- Si vous ne voulez pas d'icône batterie, décochez-la dans le gestionnaire d'alimentation, ne retirez pas ce dernier de "autostart".

- Les touches de luminosité et de volume des portables fonctionnent (en principe), mais n'affichent aucune notification.

- Si votre clavier n'a pas de pavé numérique, vous pouvez désinstaller "numlockx" et le retirer du démarrage avec sudo nano /etc/lightdm/lightdm.conf. Concernant le pseudo-tiling, vous pouvez utiliser Ctrl+Alt+Flèches pour agrandir les fenêtres vers les bords, les raccourcis sont déjà renseignés dans le fichier "rc.xml", vous n'aurez qu'à modifier les raccourcis affichés dans Conky. Pour aller plus loin, il est évidemment possible de remplacer les touches du pavé numérique par les flèches dans "rc.xml" mais vous ne pourrez pas tuiler les fenêtres dans les coins (quarts), seulement les bords (moitiés).

- Mettre à niveau vers une nouvelle version n'est pas un soucis, le même outil que dans Ubuntu standard est fournit. J'ai essayé de passer de la 18.04 à la 18.10 dans une VM et il n'y a pas eu de problèmes. Soyez seulement attentifs à ce que la mise à niveau fait, elle peut vous demander de supprimer des paquets par exemple. Si certains de mes fichiers de configuration sont effacés vous pouvez les trouver dans "~/.crubuntung-backup" ou encore les télécharger manuellement. Comme Openbox et les apps Xfce n'évoluent pas très vite, je vous recommande de rester sur des versions LTS. Mettre à niveau sur des versions normales n'est utile que pour du logiciel très récent ou pour bénéficier du support de matériel fraîchement sorti, mais gardez à l'esprit que les versions LTS mineures (YY.MM.x) reçoivent quand même de nouveaux noyaux et piles mesa (HWE).

- Le thème par défaut est constitué de Numix (gtk/openbox) + Papirus (icônes), légèrement modifiés. Ces derniers sont compilés depuis leur source quand vous utilisez mes scripts "palette de couleur", donc ne les installez pas depuis les dépôts (ou supprimez les miens et n'utilisez pas mes scripts). Je vous conseille d'en faire une copie si il y a un cafouillage ou si les fichiers hébergés sur GitHub sont un jour effacés (il y a déjà une sauvegarde dans votre dossier personnel, créée lors de l'installation initiale). Concernant LightDM, il y a quelques avatars disponibles pour correspondre aux fonds d'écran par défaut. Si vous souhaitez que le fond de LightDM soit de la même couleur que le thème Plymouth d'Ubuntu, mettez-y la couleur "#28001e" ("#0d0d0d" par défaut).

- Les scripts "palette de couleur" nécessitent une connexion internet, attention à la casse si vous les utilisez hors-ligne. Astuce : vous pouvez les utiliser pour mettre à jour les thèmes afin de profiter des dernières améliorations disponibles.

- J'héberge une sauvegarde du gtk/openbox et des icônes par défaut dans mon Dropbox au cas où.

- Si vous changez le jeu d'icônes celles du menu resteront comme avant, il vous faudra éditer le fichier "menu.xml". C'est une limitation d'Openbox qui demande un chemin spécifique au lieu d'un nom générique pour chaque icône.

- Les notes affichées dans Conky sont actualisées toutes les 15 minutes (900 secondes) par défaut.

- Si vous avez du déchirement d'écran (tearing), modifiez la "vsync" avec la valeur "opengl" ou "drm" (et le "backend" avec "glx") dans "~/.config/compton.conf" puis activez le compositeur (Compton). Il devrait se désactiver de lui-même quand vous jouez en plein écran, si ce n'est pas le cas faîtes-le manuellement pour une meilleure fluidité. Si le tearing n'est que dans les navigateurs web, dans Firefox vous pouvez mettre "layers.acceleration.force-enabled" sur "true" en allant à la page "about:config", et si vous utilisez Chrom·e·ium activez "chrome://flags/#ignore-gpu-blacklist".

- Pour des questions d'optimisation (et parce que l'utilité est pour l'instant assez faible), Snappy est désactivé par défaut. Les services "snapd" "snapd.seeded" "snapd.socket" doivent être lancés manuellement via SystemD pour utiliser des paquets snap.

- La langue et les identifiants de Steam peuvent parfois être réinitialisés, c'est un vieux bug connu . Si ça vous arrive, connectez-vous et réglez la langue puis utilisez immédiatement les commandes qui suivent. Remarque : après ça, si vous quittez Steam pendant qu'un jeu s'installe ou se met à jour, ça reprendra de zéro au prochain lancement.

cd ~/.steam/
chmod a-w registry.vdf

Astuces & Ajustements

Sécurité

Utiliser un antivirus sous Linux est souvent inutile, car c'est un système déjà bien mieux sécurisé que Windows, et aussi moins ciblé car avec une part de marché bien plus faible en utilisation domestique, mais vous pouvez utiliser ClamAV pour scanner les fichiers partagés avec des machines sous Windows. Je vous conseille tout de même de faire un audit de temps en temps, avec RKhunter et/ou Lynis. Les deux sont disponibles dans les dépôts Ubuntu.

RKhunter
sudo rkhunter -c --noappend-log
sudo cat /var/log/rkhunter.log | grep -i "warning"
Quasiment tous les "warnings" sont de faux-positifs, en cas de doute lisez le log et demandez sur Reddit/forums.

Lynis
sudo lynis audit system

Les menaces viennent essentiellement des navigateurs. Vous devriez installer HTTPS Everywhere et µBlock Origin pour Firefox ou pour Chrome . µBlock n'est pas qu'un bloqueur de publicités, configurez-le selon vos envies et activez le filtre "resource abuse" et ceux concernant la vie privée (privacy). En dehors de ça, je recommande fortement d'ajouter une liste des mineurs de crypto-monnaies connus à la fin de votre fichier "hosts", grâce à sudo nano /etc/hosts (descendez et copiez-collez avec la souris puis "Ctrl+O -> Entrée -> Ctrl+X" pour enregistrer et quitter).

Si vous ne vous en servez pas, retirez SSH, Samba, et bureau à distance (devraient déjà être absents par défaut).

Serveurs DNS

Cliquez sur l'icône réseau du panel pour ouvrir Wicd et modifier les propriétés de connexion. Changer les DNS peut améliorer la rapidité, la sécurité, la confidentialité, et empêcher la censure des fournisseurs d'accès, mais ne vous rendra pas anonyme, pour cela utilisez un VPN (mon préféré est ProtonVPN), des proxies, Tor... Parmi les DNS alternatifs populaires on retrouve Google Public DNS , DNS Watch , CloudFlare , FrenchDataNetwork . Il y a aussi OpenNIC mais il faudra fréquemment vérifier quelles sont les IPs les plus proches. Je ne conseille pas OpenDNS depuis leur rachat par Cisco qui est connu pour collaborer avec la NSA (je dois dire que Google n'est pas non plus le meilleur choix pour la confidentialité).

Connexion par VPN

Wicd ne gère pas les VPN, il faut alors passer par la ligne de commande. Pour installer OpenVPN :

sudo apt install openvpn

Téléchargez le fichier de configuration mis à disposition par votre prestataire (normalement un ".ovpn") puis :

sudo mv FICHIER.ovpn /etc/openvpn/client.conf
"FICHIER" est à remplacer par le nom réel du fichier téléchargé.

Si vous ne voulez pas taper vos identifiants à chaque fois que vous vous connectez au VPN :

sudo nano /etc/openvpn/.auth.txt
Mettez le nom d'utilisateur à la première ligne et le mot de passe à la seconde, puis fermez.
sudo nano /etc/openvpn/client.conf
Changez "auth-user-pass" en "/etc/openvpn/.auth.txt" puis fermez.

Pour lancer votre connexion VPN automatiquement au démarrage (étape précédente obligatoire) :

sudo nano /etc/default/openvpn
Décommentez la ligne "AUTOSTART="all"" en retirant le croisillon puis fermez.

On active le service :

sudo systemctl enable openvpn@client.service

Pour lancer et arrêter manuellement :

sudo systemctl start openvpn@client.service
sudo systemctl stop openvpn@client.service

Vérifiez que la connexion se fait bien via le VPN avec l'aide de ce site .

Installer Network-Manager

Wicd est léger, indépendant, et moins capricieux que NetworkManager, mais a aussi moins de fonctionnalités. Dans le cas où vous auriez besoin de NM pour un réseau atypique (soyez connecté en filaire avant de procéder) :

sed -i 's/wicd/nm-applet/g' ~/.config/openbox/autostart
sudo systemctl disable wicd.service
sudo apt install network-manager network-manager-gnome network-manager-openvpn wicd-
sudo touch /etc/NetworkManager/conf.d/10-globally-managed-devices.conf
sudo sed -i 's/managed=false/managed=true/g' /etc/NetworkManager/NetworkManager.conf
sudo mv /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak
cat << EOF | sudo tee /etc/netplan/01-network-manager-all.yaml
network:
  version: 2
  renderer: NetworkManager
EOF

(l'indentation est importante)

sudo systemctl enable NetworkManager

Redémarrez l'ordinateur et NM devrait être pleinement opérationnel.

Profils de couleurs

Je ne connais aucun bon outil indépendant de calibration d'écran, alors j'ai inclus "xcalib" ("full edition" seulement) et "xiccd", employez celui que vous voulez. "xiccd" est autonome et devrait se lancer au démarrage sans intervention de votre part, "xcalib" requiert un profil de couleurs préalablement téléchargé sur internet et d'être exécuté avec xcalib '/chemin/vers/fichier.icc' (ajoutez la même ligne dans "autostart" et supprimez "xiccd"). Je préfère "xcalib" car il offre plus de contrôle et me permet d'exploiter le profil ICC dédié à mon moniteur. Concernant un mode nuit, "redshift" est déjà installé et lancé au démarrage.

Détails Plymouth

Pour afficher des informations système au démarrage à la place du fond Ubuntu violet :

sudo apt install plymouth-themes
sudo update-alternatives --install /usr/share/plymouth/themes/default.plymouth default.plymouth /usr/share/plymouth/themes/details/details.plymouth 100
sudo update-alternatives --config default.plymouth
(taper le numéro correspondant à "details")
sudo update-initramfs -u

Écran de veille horloge

Si comme moi vous aimez avoir l'heure affichée en gros sur l'écran quand vous ne vous servez pas de l'ordinateur, vous pouvez fabriquer un faux écran de veille grâce au terminal et à un paquet en particulier. Par contre il vous faudra désactiver le verrouillage automatique de Light-Locker et le délai avant écran noir de Power-Manager.

sudo apt install tty-clock
xfce4-terminal --fullscreen --hide-menubar --hide-scrollbar --color-bg=#111 --font='Monospace 36' -e 'tty-clock -cDBC 7'
(appuyez sur Q pour quitter)

Libre à vous d'ajouter cette commande dans votre menu Openbox, par exemple au-dessus de "Verrouiller".

Polices Croscore

Offertes par Google, ces polices open-source sont métriquement compatibles avec "Arial", "Courier New", et "Times New Roman", les polices les plus utilisées sous Windows. Utiles pour la bureautique et surtout les pages web. Mettez-les dans vos paramètres de texte du navigateur : "Arimo" pour sans-serif, "Tinos" pour serif, et "Cousine" pour proportionnel.

Pavé tactile

Si vous préférez seulement tapoter le touchpad pour cliquer, il faut éditer la configuration de libinput :

sudo mkdir /etc/X11/xorg.conf.d/
cat << EOF | sudo tee /etc/X11/xorg.conf.d/99-touchpad-tapclick.conf
Section "InputClass"
    Identifier "libinput touchpad catchall"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Option "Tapping" "True"
    Driver "libinput"
EndSection
EOF

Google Chrome

Ce navigateur internet n'est pas dans les dépôts, si vous avez besoin de ses fonctionnalités il faut l'installer manuellement :

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb

Performances

Surtout pour les jeux vidéo. Augmenter les perfs consommera plus d'électricité.

PROCESSEUR (AMD/INTEL)

>>> Remarque : testé sur Ryzen 5 1600 et i3 4000, votre processeur pourrait nécessiter des valeurs différentes.

Voir les fréquences actuelles :

sudo cpupower -c all frequency-info | grep -P 'current CPU frequency'

Activer les performances maximales :

sudo cpupower -c all frequency-set -g performance
(faîtes la commande précédente pour voir si ça a marché)

Les changements ne seront pas conservés au prochain démarrage, pour les rendre permanents :

cat << EOF | sudo tee /etc/systemd/system/cpupower.service
[Unit]
Description=CPU performance mode

[Service]
Type=oneshot
ExecStart=/usr/bin/cpupower -c all frequency-set -g performance

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable cpupower.service

CARTE GRAPHIQUE (AMD)

>>> Remarque : testé sur Radeon RX580, votre carte graphique pourrait nécessiter des valeurs différentes.

Voir les profils actuels :

cat /sys/class/drm/card0/device/power_dpm_state
cat /sys/class/drm/card0/device/power_dpm_force_performance_level

Activer les performances maximales :

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

Rendre les changements permanents :

cat << EOF | sudo tee /usr/local/sbin/gpupower.sh
#!/bin/bash
echo performance > /sys/class/drm/card0/device/power_dpm_state
echo high > /sys/class/drm/card0/device/power_dpm_force_performance_level
EOF

sudo chmod +x /usr/local/sbin/gpupower.sh

cat << EOF | sudo tee /etc/systemd/system/gpupower.service
[Unit]
Description=GPU performance mode

[Service]
Type=oneshot
ExecStart=/usr/local/sbin/gpupower.sh

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable gpupower.service

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.

Voir la valeur actuelle :

sudo cat /proc/sys/vm/swappiness

Mettre le swappiness à 10:

sudo sysctl vm.swappiness=10

sudo swapoff -a
sudo swapon -a

Rendre les changements permanents :

echo 'vm.swappiness=10' | sudo tee /etc/sysctl.d/99-swappiness.conf

PS: Si vous avez un SSD, réduire le swappiness prolongera sa durée de vie, mais il y a aussi "zRam" :

sudo apt install zram-config
(il n'y a qu'à l'installer, il fait le reste seul)

Documentation


Vous pouvez m'envoyer un message sur Reddit ou un email si:

Bien que j'apprécie les suggestions, gardez à l'esprit que "CRubuntuNG" est avant tout destiné à mon usage personnel.

Dernière édition : 13 janvier 2018