#1 Le 26/12/2006, à 19:12
- Freddy
Installation de Emacs anti-aliasé + GTK
Bonjour,
Emacs est un bon programme, mais dont l'âge se fait sentir : il utilise toujours directement les polices d'X et les toolkits de X. Dans les dépôts universe, emacs-snapshot-gtk est un peu mieux mais ce n'est toujours pas ça.
Je vous propose de compiler Emacs avec le support pour GTK (et donc votre thème GNOME préféré) et les polices XFT (anti-aliaisées).
Voici ce que vous pourrez obtenir :
Emacs avec la coloration syntaxique, le fichier HELLO avec différentes écritures, et les menus GTK :
Emacs avec Tetris et une polices non proportionnelle :
Nous allons installer Emacs dans notre répertoire personnel (vous n'aurez pas besoin des droits d'administrateur si les dépendances sont déjà installées).
Bien qu'il me semble que l'installation d'une autre version d'emacs ne soit pas nécessaire, je conseille d'avoir sous la main emacs-snapshot-gtk au cas où.
Dépendances nécessaires : libgtk2.0-dev (~14Mo avec les dépendances), xorg-dev (~8Mo avec les dépendances), et cvs. En une ligne : « sudo aptitude install libgtk2.0-dev xorg-dev cvs ».
Pour récupérer les sources (cvs créera un dossier emacs dans le répertoire courant) :
$ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co -r emacs-unicode-2 emacs
Se placer dans le dossier des sources : cd emacs
Configuration :
$ ./configure --with-gtk --with-xft --enable-font-backend
Compilation (de l'ordre de la 1/2 heure sur un P IV 1,7GHz) :
$ make bootstrap
$ cd lisp
$ make recompile EMACS=../src/emacs
$ cd ..
Lancement d'Emacs :
Si vous êtes dans le répertoire des sources :
$ src/emacs --enable-font-backend --font="Monospace-10"
Il est obligatoire de préciser l'option « --enable-font-backend » à chaque lancement d'emacs, l'option « --font » peut être omise si vous précisez une police dans votre .emacs.
Le plus pratique est bien sûr d'utiliser un raccourci sur votre bureau ou si vous lancez souvent Emacs depuis la ligne de commande, d'ajouter un alias dans votre .bashrc :
alias emacs-cvs='/chemin/vers/les/sources/emacs/src/emacs --enable-font-backend --font="Monospace"'
Optionnel mais conseillé si vous utilisez des modes Lisp installés par les gestionnaire de paquets : ajoutez ceci pour que Emacs les utilise :
(if (and (string-match "23.0.0" (version))
window-system)
(progn
(let ((startup-file "/usr/share/emacs-snapshot/site-lisp/debian-startup.elc"))
(if (and (or (not (fboundp 'debian-startup))
(not (boundp 'debian-emacs-flavor)))
(file-readable-p startup-file))
(progn
(load-file startup-file)
(setq debian-emacs-flavor 'emacs-snapshot)
(debian-startup debian-emacs-flavor)
(mapcar '(lambda (f)
(and (not (string= (substring f -3) "/.."))
(file-directory-p f)
(add-to-list 'load-path f)))
(directory-files "/usr/share/emacs-snapshot/site-lisp" t)))))
; si vous préférez configurer les polices ici, il suffira d'utiliser
; l'option --enable-font-backend
; Bien sûr, ce qui suit peut être modifié à votre convenance.
(set-default-font "Monospace-10")
(set-face-background 'default "grey97")
(set-face-font 'modeline "Sans-9")
(set-face-background 'fringe "grey97")))
Ce code ne sera utilisé que par emacs compilé depuis les sources, et lancé en mode graphique. Il peut être utile de modifier ceci si vous comptez utiliser Emacs CVS depuis une console.
Si vous souhaitez installer emacs pour tous les utilisateurs, suivez les instructions de cette page (non testé). Une autre solution serait d'utiliser le répertoire /opt au lieu de votre répertoire personnel.
Pour info, voici la sortie de ./configure chez moi :
Configured for `i686-pc-linux-gnu'.
Where should the build process find the source code? /home/fred/progs/emacs
What operating system and machine description files should Emacs use?
`s/gnu-linux.h' and `m/intel386.h'
What compiler should emacs be built with? gcc -g -O2 -Wno-pointer-sign
Should Emacs use the GNU version of malloc? yes
(Using Doug Lea's new malloc from the GNU C Library.)
Should Emacs use a relocating allocator for buffers? yes
Should Emacs use mmap(2) for buffer allocation? no
What window system should Emacs use? x11
What toolkit should Emacs use? GTK
Where do we find X Windows header files? Standard dirs
Where do we find X Windows libraries? Standard dirs
Does Emacs use -lXaw3d? no
Does Emacs use -lXpm? yes
Does Emacs use -ljpeg? no
Does Emacs use -ltiff? no
Does Emacs use -lungif? no
Does Emacs use -lpng? yes
Does Emacs use X toolkit scroll bars? yes
Par la suite, pour mettre à jour Emacs, il faut se placer dans le répertoire des sources, puis :
$ cvs update
$ ./configure --with-gtk --with-xft --enable-font-backend
$ make
$ cd lisp
$ make recompile EMACS=../src/emacs
$ cd ..
$ make
Ressources :
EmacsWiki, notemment www.emacswiki.org/cgi-bin/wiki/XftGnuEmacs, et d'autres pages du Wiki.
The Black Dragon's Blog
INSTALL.CVS dans le dossier des sources.
There is no system but GNU, and Linux is one of its kernels.
Hors ligne
#2 Le 12/01/2007, à 04:00
- neves
Re : Installation de Emacs anti-aliasé + GTK
Merci ça marche nickel
Hors ligne