PROJET AUTOBLOG


PostBlue

Site original : PostBlue

⇐ retour index

Compaq Mini 700EF : configuration minimaliste sous Arch Linux

mercredi 3 octobre 2012 à 04:33

Alors que j’ai déjà pu le présenter dans quelques billets plutôt datés maintenant, je trimbale souvent à mon épaule un notebook Compaq Mini 700EF. À ce propos, j’ai enfin pu procéder à une mise à jour du BIOS, celle-ci étant distribuée par HP sous la forme d’un binaire exécutable dédié à Microsoft Windows.

À force de recherches, j’ai pu tomber sur une version « pour Linux » en fouillant les propositions : c’est en permettant d’afficher des résultats en anglais sur le site que je suis tombé sur cette page, la solution adéquate étant la proposition « HP Mobile Internet Experience ». La version du BIOS qui y est téléchargeable  n’est pas la plus à jour (F.16) mais apporte néanmoins les correctifs m’intéressant concernant la prise en charge de la batterie : un générateur de clef USB – un « Live DOS » me rendrai-je compte par après – permettant d’exécuter la mise à jour. Ainsi soit-il.

Dans la même veine, j’ai également pu utiliser une méthode similaire pour mettre à jour une carte mère MSI H61MA-E35 (B3) dont les binaires n’étaient aussi que des exécutables Microsoft Windows : après avoir tancé le support avec des notions telles qu’une liberté de choix d’un système GNU/Linux (surtout lors de l’achat d’un composant seul, rien ne présuppose du système que j’installerais), et la confrontation à une vente liée déguisée par leur support. Ceux-ci m’ont envoyé un exécutable Microsoft Windows de chez Hewlett Packard, soit la même !

Notons tout de même un moment sidérant dans cette épopée, soit ma tronche à la vue de l’écran de démarrage de… Windows 98, au démarrage de cette seconde Live DOS. Expérience totalement troublante, voire parfaitement dérangeante, croyez-moi. Cela dit, revenons à nos moutons, ou tout autre animal qu’il vous sied.

Comme gestionnaire de fenêtres, j’ai craqué pour un tiling manager : i3 (voir le wiki d’Arch Linux), embarquant i3bar et i3status par la même occasion pour gérer les barres des tâches. D’ailleurs, dans cette barre des tâches, j’y ai intégré batti, ClipIt, et volwheel.

C’est complet, compréhensible, modulaire, éditable aisément, en plus d’être léger par rapport à des environnements de bureau « clefs en main » : quelques 100mo sont utilisés lors d’un démarrage à froid, avec un boot en moins de dix secondes (un SSD et l’utilisation d’un systemd épuré des services inutilessystemd-analyze blame est mon ami – jouent aussi, bien évidemment).

Pour le navigateur, j’ai essayé luakit et ai été plutôt séduit (plus encore en découvrant la possibilité d’un bloqueur de publicités), le trouvant performant quoique parfois un peu trop minimaliste à mon goût, et rebutant dans sa configuration, et moche même, mais il convient très bien à l’utilisation que j’en ai. Dès que j’aurai un peu de temps devant moi, je me pencherai sur sa configuration, c’est certain. À ce propos, je déplore une alternative agréable à Luakit, basée par exemple sur Gecko (mon allergie à WebKit refait des siennes), en somme un « Luacko ».

Pour les notifications, je suis tombé fortuitement sur le cas de Dunst (disponible dans [community]), un gestionnaire de configuration basé sur dmenu (déjà utilisé par exemple dans le menu d’i3), beaucoup plus léger en dépendances que TWMN (qui nécessite Qt, et [troll]j’aime pas Qt, ni KDE, c’est mon horreur la plus infinie dans le logiciel libre[/troll]), que j’avais jugé néanmoins très intéressant.

Qui dit notebook induit une utilisation relativement nomade : il me sert majoritairement de support de prise de notes de cours. Ce nomadisme reflète un besoin : la connexion à des réseaux WiFi, donc pose le besoin d’un gestionnaire de connexion des plus efficaces. Mon choix s’est porté sur une maîtrise de netcfg (surtout depuis qu’il est pleinement supporté par systemd, ou l’inverse), créant des profils à la volée avec la commande wifi-menu (une commande similaire à wifi-select) que le paquet amène.

Il n’y a pour l’instant qu’eduroam, le réseau « protégé » de l’université où j’étudie, qui résiste à ma configuration. À mon avis le profil de connexion que j’ai pu trouver et reprendre est erroné, le reste fonctionne sans problème rédhibitoire. Notez que j’ai dû installer et configurer une interface dans rfkill pour ne pas avoir un fonctionnement faussé, quoique ça ne fonctionne pas à tous les coups – l’interrupteur étant parfois vu comme bloqué sans possibilité de le débloquer sinon en redémarrant. Ce qui ne met pas plus de dix secondes, ce n’est pas la mer à boire.

Restaient alors quelques applications nécessaires fondamentales, comme un terminal, ou un navigateur de fichiers. Pour ce dernier, mon choix est allé, une fois encore, vers la légèreté sans encore trop de compromis sur mes habitudes, soit PCManFM du projet LXDE – dont j’utilise déjà lxappareance pour régler le thème que j’utilise.

Cependant, si la configuration de ce dernier a été plus que simple en suivant le divin wiki d’Arch Linux, un problème subsistait lors de l’affichage de la liste d’applications, lorsque le logiciel était lancé depuis dmenu : page blanche ! Un peu d’investigation aura suffit pour ajouter export XDG_MENU_PREFIX=lxde- à l’endroit qui va bien, à savoir ~.i3/config :

# start dmenu (a program launcher)
bindsym $mod+d exec --no-startup-id XDG_MENU_PREFIX=lxde- dmenu_run

En ce qui concerne l’installation et la configuration d’urxvt, j’ai utilisé les ressources d’Ypnose, tout simplement – ajoutant et supprimant çà et là quelques éléments comme des extensions.

Ressources en vrac :

Concernant l’autonomie de ma machine, j’utilise ce script trouvé sur le forum de crunchbang en lieu et place de solutions lourdes et ralentissant mon démarrage comme Laptop Mode Tools. J’ai édité mon /etc/acpi/handler.sh en conséquence :

#!/bin/sh
# Default acpi script that takes an entry for all actions
 
minspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq`
maxspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq`
setspeed="/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed"
 
set $*
 
case "$1" in
    button/power)
        case "$2" in
            PBTN|PWRF)
                logger "PowerButton pressed: $2"
                systemctl poweroff
                ;;
            *)
                logger "ACPI action undefined: $2"
                ;;
        esac
        ;;
    button/sleep)
        case "$2" in
            SLPB|SBTN)
                #echo -n mem >/sys/power/state
                DISPLAY=:0.0 su postblue -c "/usr/bin/i3lock -i /usr/share/wallpaper.png" && echo -n mem >/sys/power/state
                systemctl suspend
                ;;
            *)
                logger "ACPI action undefined: $2"
                ;;
        esac
        ;;
    ac_adapter)
        case "$2" in
            AC*)
                case "$4" in
                    00000000)
                        echo -n $minspeed >$setspeed
                        #/etc/laptop-mode/laptop-mode start
                        pm-powersave true
                        ;;
                    00000001)
                        echo -n $maxspeed >$setspeed
                        #/etc/laptop-mode/laptop-mode stop
                        pm-powersave false
                        ;;
                esac
                ;;
            *)
                logger "ACPI action undefined: $2"
                ;;
        esac
        ;;
    battery)
        case "$2" in
            BAT*)
                case "$4" in
                    00000000)
                        logger 'Battery online'
                        ;;
                    00000001)
                        logger 'Battery offline'
                        ;;
                esac
                ;;
            CPU*)
                ;;
            *)  logger "ACPI action undefined: $2" ;;
        esac
        ;;
    button/lid)
        case "$3" in
            close)
                logger 'LID closed'
                DISPLAY=:0.0 su postblue -c "/usr/bin/i3lock -i /usr/share/wallpaper.png" && echo -n mem >/sys/power/state
                systemctl suspend
                ;;
            open)
                logger 'LID opened'
                ;;
            *)
                logger "ACPI action undefined: $3"
                ;;
    esac
    ;;
    *)
        logger "ACPI group/action undefined: $1 / $2"
        ;;
esac
 
# vim:set ts=4 sw=4 ft=sh et:

Cepandant, certaines des instructions liées aux composants Intel ne « passaient » pas à être éditées à la volée (jetez un œil à pm-powersave.log), aussi les ai-je insérées dans GRUB où elles ne posent maintenant plus de problème :

GRUB_DEFAULT=0
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="quiet fastboot"
GRUB_CMDLINE_LINUX="acpi_os_name=Linux pcie_aspm=force elevator=noop resume=/dev/sda2 i915.i915_enable_rc6=1 i915.lvds_downclock=1 i915.i915_enable_fbc=1 i915.semaphores=1"

En espérant que ces indications puissent vous servir ! Cette configuration est bien évidemment ouverte aux suggestions : j’aimerais par exemple trouver un moyen pour que dmenu_run ne liste que les programmes reprise dans le menu d’lxde, non pas toutes les commandes du système.

flattr this!

Arch Linux : installation de Diaspora: Shattered Armistice

mardi 11 septembre 2012 à 15:14

C’est avec engouement certain (que dis-je, j’ai frôlé la crise d’hystérie joyeuse et endiablée) que j’ai appris la publication de Diaspora: Shattered Armistice, un jeu tout juste sortie d’une gestation de quelques 4 années, car sans trop de peine je peux avouer avoir été (et encore être) fan de la série dont il est issu : Battlestar Gallactica.

Pour tout remarque liminaire, sachez d’ores et déjà que ce jeu n’a rien à voir avec un quelconque réseau social communautaire, dont les développeurs auraient cessé tout développement pour se consacrer à ce jeu. Ça aurait été comique, mais non.

L’univers recomposé

Alors que je n’avais été que moyennement convaincu (si pas un peu déçu, avouons-le) par le MMORPG Battlestar Galactica Online, cet opus communautaire m’a séduit dès sa bande annonce. L’immersion a l’air au rendez-vous, la prise en main à l’air plus directe et surtout, les prises de vues me font fiévreusement penser à l’un de mes amours de joueur : Freelancer, par son côté simulation de combat spatial (on fera l’impasse sur la partie commerce).

Dans Diaspora: Shattered Armistice, donc, l’on pilote un Rapace ou un Viper Mark VII lors d’une énième guerre contre les toasters Cylons, 40 ans après l’armistice. Soit une bien belle promesse (et un gros bordel intergalactique) !

Centurion Cylon

Licence de Diaspora: Shattered Armistice

Petit extrait de License.txt disponible dans l’archive du jeu :

Battlestar Galactica is © Universal Network Television LLC. All rights reserved. Used under the fair use clause covering fan art and related work.

Descent Freespace 2 is ©1999 Volition, Inc. ™ Interplay Entertainment Corp. All rights reserved.

All other content is distributed under Creative Commons licence (see below).

L’on peut donc dire que le jeu est à peu près libre, du moins pour le travail fourni par sa communauté de développeurs.

Logo Diaspora: Shattered Armistice

Installation sous Arch Linux

Maître joueur par le trailer alléché, téléchargea l’archive sans plus tarder ! Quelques instants minutes Un gros paquet de temps plus tard (l’archive fait son poids : 1,3 Go), j’avais enfin l’archive à portée de terminal ! Premièrement, la décompresser : tar --lzma -xf Diaspora_R1_Linux.tar.lzma. Une fois chose faite, j’ai suivi la marche disponible dans le README.txt, jusqu’à un certain point.

Déplaçons l’archive à la racine de l’utilisateur, et pointons dedans, pour poursuivre : mv Diaspora ~ && cd ~/Diaspora. Une fois ceci fait, il faut construire le moteur du jeu (fs2_open) : cd fs2_open && ./autogen.sh && make && mv code/fs2_open_3.6.13 ../fs2_open_diaspora.

Ensuite, la marche à suivre explique comment construire les paquets pour wxlauncher, utilisé au lancement du jeu. Même en installant toutes les dépendances nécessaires, je n’y suis jamais parvenu (une sombre histoire de python-markdown, alors que python-markdown et python2-markdown sont installés) ! Qu’à cela ne tienne, j’ai trouvé mon bonheur dans AUR, et j’ai pu joyeusement me passer de cette partie de la marche à suivre suite à un yaourt -S wylauncher.

La suite est similaire, il ne reste plus qu’à configurer le profile pour le launcher : cd ../.. && cp pro00099.template.ini pro00099.ini && chmod 644 pro00099.ini. Ensuite, éditez ledit fichier pour en modifier la valeur folder=, dans mon cas : folder=/home/postblue/Diaspora – éditez en conséquence chez vous.

Suite à quoi, lancez wxlauncher, nous allons créer un profil pour Diaspora :

Diaspora wxlauncher 1 Diaspora wxlauncher 2 Diaspora wxlauncher 3
Pour exécuter, ce n’est pas sorcier : cliquez sur Play et prenez vous pour Kara « Starbuck » Thrace !

Diaspora HUD

Des étoiles dans les mirettes, ma bonne dame !

Notez cependant qu’une reconfiguration des touches est plus que bienvenue, j’estime que la configuration par défaut est pour le moins inutilisable – à part ça, je vous souhaite un bon jeu.

flattr this!

Granola : configuration des modules du noyau et d’un service Systemd

lundi 3 septembre 2012 à 05:15

Faut-il vraiment encore présenter Granola ? Connu pour être un petit programme écologique qui me fait un peu rire, pour moi c’est de la geekerie du pauvre (mais de la bonne geekerie du pauvre) cherchant à laisser souffler sa facture d’électricité – un peu, c’est toujours mieux que rien – s’il ne la produit pas lui-même, encore que ça ne serait pas une excuse pour un peu veiller à la consommation d’énergie de ses systèmes informatiques.

Granola, donc, réduit la fréquence du processeur (grâce à cpupower ou le démodé cpufrequtils) en fonction de l’utilisation et de plages horaires prédéfinies. Chose que vous pouvez parfaitement obtenir par vous-mêmes via quelques scripts bien placés, mais passons, l’idée ici étant de rendre la manipulation automatisée et surtout abordable pour le novice.

Granola Personal

Passant outre l’installation, procédé simple que quelques uns se sentent malgré tout d’expliquer (je ne vise personne, évidemment, il est juste inutile de répéter la chose une fois de plus) et surtout bien trop spécifique à chaque distribution, je vais me concentrer sur un point qui m’a dérangé plus que de raison lors de mon passage exclusif à systemd : pas de service présent avec le paquet, à mon grand désarroi. Qu’à cela ne tienne, haut les cœurs !

Notez avant tout qu’il faudra activer les modules acpi-cpufreq et cpufreq_userspace, compris dans le paquet cpupower qu’il vous faudra donc installer. Pour la session courante, rien de plus simple qu’un modprobe (modprobe acpi-cpufreq, etc…), mais pour un lancement à chaque démarrage, il faudra inscrire cela dans un fichier. Sur ma Arch Linux, j’ai créé le fichier /etc/modules-load.d/cpufreq.conf comprenant lesdits modules.

acpi-cpufreq
cpufreq_userspace

M’inspirant (un peu fortement) d’un paquet AUR hélas déprécié (et orphelin, note à moi même : penser à l’adopter) et, surtout, dysfonctionnel, je me suis retroussé les manches et j’ai pondu le fichier /usr/lib/systemd/system/granola.service :

[Unit]
Description=Granola Core Daemon
After=systemd-user-sessions.service

[Service]
ExecStart=/usr/sbin/granola

[Install]
WantedBy=multi-user.target

Ne reste plus qu’à l’activer d’un systemctl enable granola.service, et le lancer d’un systemctl start granola.service.

Nota bene : je ne suis pas encore parvenu à faire fonctionner le programme granola-connect (qui ne m’intéresse pas, mais qui sait, peut-être cela pourra-t-il servir à d’autres), je m’y consacrerai un jour, promis.

flattr this!

Mise à jour du thème

dimanche 2 septembre 2012 à 03:52

J’essaie à mes heures de temps libre (restreintes pour le moment) un nouveau thème qui me plaît bien. Pas de panique donc si ça déconne dans tout les sens ou s’il y a un aspect “pas fini” : les plâtres ne sont pas encore mis, je m’amuse encore avec les nuanciers.

flattr this!

STIB 22, les transports en commun bruxellois dans toute leur splendeur

dimanche 26 août 2012 à 17:27

Travel with the STIB : keep calm and go fuck yourselfRentrant de Paris après un jour passé au Rock en Seine, j’ai voulu en bon citoyen client créditer d’un trajet ma carte MOBIB (ce boulet à ma poche) afin de rentrer chez moi depuis la gare du Midi en utilisant le réseau de la STIB. Pour les non bruxellois (je leur pardonne), c’est la gare concernant le trafic international de la ville, et un lieu de forte affluence.

Cette transaction, pourtant simple et maintes fois répétée, ne passa pas aux automates GO, pour une raison indéterminée sinon il n’y aurait plus de suspense. Je reçus par conséquent un ticket pour préjudice de la valeur du trajet, à utiliser dans un point de vente de la société – donc je me rendis logiquement à celui le plus proche, à savoir un KIOSK. Cette aubette dispense un service minimal, en temps normal bien suffisant mais pas cette fois, l’on s’en doute bien.

Après de (trop) (beaucoup trop) longues minutes d’attente, j’arrivai enfin devant le préposé afin de lui transmettre mon ticket, suivant les indications sur ce dernier, afin qu’il finalise l’accréditation de ma foutue carte. Quelle ne fût pas ma joie d’entendre ces mots mâchonnés par ce dernier :

J’peux pas l’faire, y’a un problème informatique.

Tentant d’écarter de mon imagination des images d’employé d’une mollesse nonchalante à la tête encastrée dans son écran, je pris sur moi et demandai de ma voix la plus calme :

Que me faut-il faire, alors ?

C’est alors que l’homme me conseilla de me rendre dans la BOOTIK la plus proche, à savoir non pas celle de la Gare du Midi qui, tout à fait logiquement, était fermée dans l’un des plus grands points d’affluence de passagers dans la ville, un samedi en début d’après-midi proche de la rentrée scolaire, mais bien plutôt celle de la Porte de Namur, à quatre arrêts en métro de là.

Mon sang ne fit qu’un tour face à l’idiotie du propos : par quelle absurdité m’aurait-il fallu prendre une rame, sans titre de transport, afin de me rendre à un second point de la ville où l’absence de ce dernier aurait été miraculeusement corrigée ?

Les choix offerts à moi se résumèrent en trois postures malaisées :

Je vous laisse deviner la solution préférée pour l’occasion, mais ne me parlez plus de transports en commun pendant au moins quelques jours. Merci.

flattr this!