Et oui, vous avez bien lu, se passer de X. Pour ceux qui ne connaissent pas, X est le serveur graphique de linux. Pour faire simple, c’est ce qui permet d’afficher des zolies images sur votre écran. Mais, comme nous allons le voir tout au long de ce billet, on peut s’en passer !

Attention, ce billet s’adresse bien sur aux possesseur d’un système linux. De plus, je ne vais pas détailler toutes les solutions mais principalement les énumérer. Je propose en premier les méthodes que j’utilise, puis s’il y en a les alternatives.

Applications en console

Tout d’abord, remplaçons nos outils traditionnels par des équivalents fonctionnant en console, ne nécéssitant donc pas X.

  • Avant tout, pour ne pas vite se retrouver bloquer par le nombre limité de tty, installons vite screen. C’est un gestionnaire de fenêtre en console. Il permet dans un même tty de disposer de plusieurs invites de commande. C’est tout simplement super puissant. Vous pouvez par exemple quitter screen, mais en laissant les processus lancés dedans tourner, puis réouvrir screen via ssh.
  • irc : Il y a bien sur l’excellent irssi, mais aussi weechat.
  • messagerie instantanée :  Ici, nous allons commencer à ruser un peu. Nous allons utiliser une petite merveille nommé bitlbee. Cela permet de chatter par msn ou d’autre réseaux tels jabber, yahoo talk et autre, via irc. Une fois les comptes configurés, les contacts apparaissent sur un chan, et il suffit de commencer une discussion privé pour discutter avec eux. Le logiciel peut s’intaller, mais on peut aussi bien utiliser des serveurs publiques. Sinon, vous pouvez toujours utiliser CenterICQ, ou tmsnc (juste msn).
  • twitter : pareil que pour la messagerie instantannée, nous allons twitter via irc. Pour ceci, vous pouvez installer tircd (mais personnellement je n’ai jamais réussi), ou utiliser un serveur publique de cette façon : /connect twitter.utotchat.fr:6669 <votre mot de passe twitter> <votre nom d’utilisateur twitter> puis /join #twitter.
  • flux rss : snownews que j’aime beaucoup, ou encore raggle.
  • mail : mutt. Je n’ai pas encore testé, mais j’en ai lu beaucoup de bien.
  • musique : mpd. Il s’agit d’un serveur de son, c’est à dire qu’il tourne en tache de fond pour jouer votre musique. Il supporte de très nombreux formats, et on peut en faire très facilement une radio permettant de diffuser votre musique (libre) sur le net avec icecast. Mpd ne gère que le son, il faut donc installer un client qui vous permettra de contrôler mpd (lecture/pause etc). Les principaux sont mpc (basique, en ligne de commande) et ncmpc qui est plus évolué et dispose d’une interface. Sinon, il existe moc qui est un lecteur de musique plus classique (pas de client/serveur).
  • traitement de texte : nano ou, plus rebutant au début mais plus puissant aussi, vim ! Sinon, il y a aussi Emacs.
  • bittorent : rtorrent, simple à configurer et efficace.
  • vidéo : et oui, on peut regarder des vidéos en console. Bon attention, ce n’est pas magnifique pour autant (tout du moins pour l’instant). Pour ce faire, installez mplayer puis lancez mplayer -vo caca <ma_vidéo> (oui oui, caca).
  • internet : links. Cela vous permet de visualiser des pages web en mode texte. Il y a une floppée d’alternatives : elinks (gestion des onglets), w3m, lynx. Pour les vidéos de youtube ou dailymotion, vous pouvez utiliser mget de la mannière suivante : mget <url de la vidéo>.

Bon, nous avons le principale. Mais quand même, si pour le chat, le texte et la musique c’est bon, le reste (vidéo et internet) laisse à désirer. Et puis, comment puis-je regarder mes photos de vacances ou ouvrir mon pdf favoris ? La réponse est le frame buffer.

De l’image en console avec le frame buffer

Me frame buffer permet d’afficher de l’image en console sans X. Ne me demandez pas comment ça fonctione, mais ça fonctionne.

Tout d’abord, il faut configurer le frame buffer. Pour ceux qui dispose d’un écran 4:3, c’est assez simple. Il suffit dans le fichier /boot/grub/menu.lst de trouver la ligne kernel /boot/vmlinuz root=/dev/hda2. Il y a de fortes chances pour qu’elle ne soit pas tout à fait identique chez vous.  Ajoutez à la fin de cette ligne ceci : vga=<code de votre résolution>. Le code en question est trouvable ici.

On s’aperçoit vite que les résolutions supportées sont peu nombreuses. Pour ceux qui comme moi ont une résolution non supportée, une solution est possible, malheureusement que pour les chipset intel (à ma connaissance en tout cas). Tout d’abord, installez 915resolution. Il faut ensuite utiliser grub2, mais avec un patch. Pour ceux qui sont sous archlinux, il suffit d’installer le paquet grub2-915resolution disponible dans AUR. Pour les autres, je ne peux pas trop vous aider, mais le patch est disponible ici, partie « 800×480 resolution in the console ».

Une fois ceci fait, éditez votre fichier /boot/grub/grub.cfg (et oui, ce n’est plus menu.lst).

# Config file for GRUB2 – The GNU GRand Unified Bootloader
# /boot/grub/grub.cfg

# Timeout for menu
set timeout=0

# Set default boot entry as Entry 0
set default=0

set root=(hd0,1) #attention, la numérotation des disques durs débute à 0 mais celle des partitions à 1

insmod 915resolution
insmod gfxterm
insmod video
insmod jpeg
insmod vbe

# Change le mode de l’interface vesa de la carte intel
915resolution 32 <indiquer ici votre résolution, par exemple « 800 480″ pour du 800*480>
# Charge le fichier de polices
font (hd0,2)/usr/share/grub/unicode.pff
# Définit la liste de résolutions à définir
set gfxmode= »<indiquez de nouveau résolution, cette fois-ci sous la forme 800×480x32>;1024×768x32; » #je ne suis pas sûr de l’utilité de la deuxième résolution

# Passe en mode graphique
terminal_output gfxterm
# Charge une image de fond
background_image (hd0,1)/grub/bg.jpg

la suite peut varier suivant votre système.

# (0) Arch Linux
menuentry « Arch Linux » {
linux /vmlinuz26 root=/dev/disk/by-uuid/c2b4f4d8-c996-4c67-ab02-8ba48baf625b ro resume=/dev/sda3 quiet pci=nomsi
initrd /kernel26.img
}

Enregistrez le fichier, exécutez grub-install /dev/<le disque où l’installer> et redémarrez votre ordinateur. Une fois ceci fait, installez vbetest. Lancez-le, vous verrez la liste des résolutions supportées. Trouvez la votre, ajoutez 512 au code se trouvant devant entre crochet, et rajouter dans votre fichier /boot/grub/grub.cfg le texte vga=<le code obtenu> à la ligne débutant par « linux /vmlinuz …« . Redémarrez à nouveau, et normalement ça devrait être bon. Pour vérifier, installez et lancez fbset qui vous donnera la résolution actuelle du frame buffer, normalement la bonne.

Voilà, on vient de configurer le frame buffer, passons désormais aux choses sérieuses. Voyons les possibilités de ce frame buffer :

  • images et pdfs : installez fbida. Ce paquet contient plusieurs programmes, notamment fbi pour visionner des images et fbgs pour les pdfs.Attention, ces deux programmes ne fonctionnent pas à l’intérieur de screen. Il existe aussi fbv qui fonctionne lui dans screen.
  • vidéo : tout simplement mplayer <vidéo>. Mplayer doit détecter automatiquement le frame buffer. Si ce n’est pas le cas, ajoutez l’option -vo fbdev. Malheureusement, le plein écran ne fonctionne pas, il a même été désactivé exprès avec le frame buffer. On peut cependant ruser : -fs pour centrer la vidéo, -zoom -xy x pour zommer x fois la vidéo.
  • internet : links ! Seulement, il faut le recompiler en précisant l’option –enable-graphics avec deux tirets devants enable (pour les archers, il y a un paquet dans AUR appelé links-g). Si ce n’est pas déjà fait, installez aussi gpm. Lancez-le (c’est un daemon) : /etc/rc.d/gpm start. Puis : links -g <site> (ne marche pas dans screen). Et oh miracle, vous devriez voir s’afficher de jolies images, mais aussi une souris très moche. Pour la déplacer, il faut utiliser les touches F5, F6, F7 et F8. Personnellement je la cache sur le côté droit. Sinon, pour ceux qui veulent pouvoir rester dans screen, il y a w3m-graphics (pour les archers tout du moins).

Et voilà ! C’est-y pas magnifique tout ça ?

Au niveau des trucs à trouver encore, il y a notamment la question du plein écran avec mplayer, ainsi que d’autre détails, comme par exemple afficher les images dans raggle (mais vous pouvez utiliser un lecteur rss en ligne avec links qui affiche lui les images).

Pour ceux qui veulent s’amuser un peu, vous pouvez tester bb. C’est une démo de la librairie aalib (ascii art lib) qui est utilisé notamment avec mplayer pour afficher la vidéo en ascii (je crois). De même, cowsay <texte> vous affichera une vache avec une bulle contenant votre texte. Il y a existe aussi twin, qui gère des fenêtres comme screen mais de manière « flottante » (screen). Midnight Commander est lui un gestionnaire de fichiers assez puissant (le paquet se nomme mc). Slrn, un lecteur de newsgroups. Enfin, il semblerait qu’il soit possible de configurer gpm pour avoir une souris dans la console et pas que dans links (pratique pour copier-coller entre plusieurs tty, screen le permet aussi mais que au sein de ses fenêtres).

Popularity: 100% [?]