Le royaume de Eric Buist >> Informatique >> Quelques-unes de mes recherches personnelles >> Trucs et astuces
Me contacter Plan du site
<< Impression de pages Web sous Linux Configurer XScreenSaver pour KDE Qt sous Windows >>

Configurer XScreenSaver pour KDE

Tout d'abord, qu'est-ce que XScreenSaver et KDE? XScreenSaver constitue un ensemble d'écrans de veille pour X Window System tandis que KDE est un environnement de travail fournissant sous X un bureau, un menu de programmes, un explorateur de fichiers ainsi qu'un navigateur Internet. À première vue, ces deux applications n'ont rien en commun, mais il est intéressant de les intégrer l'une dans l'autre.

Dans le menu K, on peut trouver l'option Control Center qui mène à un panneau de contrôle permettant de modifier les options utilisateur de l'environnement KDE. Sous KDE 1, dans l'onglet Desktop, on trouve Screen Saver. Sous KDE 2, la même option se trouve dans Look & Feel, et se nomme Screensaver. Ce panneau offre la possibilité de choisir un écran de veille ainsi que ses paramètres.

Option d'écran de veille de KDE 2

On peut ici demander un mot de passe pour déverouiller l'écran de veille, ce qui correspondra au mot de passe de l'utilisateur. Le bouton Setup permet de configurer l'écran de veille choisi tandis que Test permet d'en obtenir un aperçu. On se rend compte que ce schéma répond bien au modèle de Microsoft tel qu'implanté dans Windows, mais cela ne va pas plus loin que cela... Sous KDE 2, le nombre d'écrans de veille est moins grand, en plus.

Il existe plusieurs façons de contourner cette limitation: soit se plier et tenter de trouver sur Internet d'autres écrans de veille, ce qui se fait un à la fois et apporte plus souvent qu'autre chose déception ou nécessité de payer. Pire, il sera encore plus difficile de trouver un écran de veille KDE qu'un au format exécutable Windows! Une solution simple consiste à utiliser un des écrans fournis avec KDE, bien que cela ne nous plaise pas toujours, ou ne pas en mettre du tout.

Mais un logiciel vient alors à notre rescousse: XScreenSaver. Ce programme offre une gamme étendue d'écrans de veille qui s'alternent de façon aléatoire. L'application comporte deux parties. Le serveur qui est démarré au début de la session X par la commande xscreensaver s'installe en arrière-plan afin de surveiller le temps d'inactivité pour activer l'écran de veille au bon moment. Le client, nommé xscreensaver-command, permet à l'utilisateur de contrôler le serveur.

Malheureusement, ce système ne fonctionne bien que sous X sans interférence d'un Window Manager intégrant déjà l'écran de veille, comme KDE. Il est envisageable de passer à GNOME ou AfterStep si on veut utiliser XScreenSaver, mais pourquoi ne pas plutôt trouver une façon de le faire fonctionner sous KDE?

Pour ce faire, il faut tout d'abord inhiber l'écran de veille de KDE, et cela complètement. Sous KDE 1, cela se fait en choisissant No screensaver comme écran de veille. Sous KDE 2, il faut décocher Enable screensaver. Lorsque cela est fait, il devient possible de mettre en marche le daemon XScreenSaver et espérer que cela fonctionne. Bien que KDE 1 dispose de l'écran de veille XScreenSaver, il ne fonctionne pas bien lorsqu'on demande une protection par mot de passe.

Pour cela, KDE peut nous aider, car il dispose d'une fonction Autostart. Il est important que XScreenSaver soit mis en marche après le chargement de KDE, et non pas avant, sinon il ne fonctionne pas. Sur le bureau, cliquez sur Autostart, ce qui fera surgir une fenêtre. Sous KDE 1, il faut double-cliquer, si je me souviens bien.

Fenêtre Autostart de KDE 2

Cliquez droit dans la fenêtre ainsi ouverte, ce qui fera surgir un menu. Sous KDE 1, sélectionnez New, puis Application. Sous KDE 2, sélectionnez Create New, puis Link To Application. Le nom de l'application sera demandé, on peut y entrer XScreenSaver, ce qui deviendra le nom du raccourci dans la fenêtre Autostart. Sous KDE 1, la création s'arrête là et il faut cliquer droit sur la nouvelle icône puis sélectionner Properties. Sous KDE 2, une boîte de dialogue apparaît et on peut tout configurer d'un coup. Dans tous les cas, l'onglet Execute doit être activé afin de sélectionner quel programme doit être démarré par ce raccourci.

Le chemin exact vers XScreenSaver doit être entré, il peut être obtenu par la commande which xscreensaver et doit être saisi dans Command.

L'onglet Execute des propriétés d'un raccourci dans KDE 2

Au prochain démarrage de KDE, XScreenSaver devrait être activé, mais pourquoi attendre ce moment? Il est possible d'appeler le programme directement depuis une ligne de commande. La commande Run Command, qu'on peut appeler par ALT-F2, peut recevoir xscreensaver comme paramètre. Dans le cas d'un appel à partir de Konsole ou XTerm, il vaut mieux suivre la commande du symbole & afin de permettre l'exécution en arrière-plan.

Il reste maintenant à configurer le joujou, ce qui se fait à l'aide de la commande xscreensaver-demo. Elle fait surgir une boîte de dialogue avec deux onglets.

Liste des écrans de veille disponibles

Onglet Screensaver options de la configuration de XScreenSaver

Il est ici possible de configurer les paramètres du programme qui sera mémorisés dans un fichier par la suite. Certaines versions de l'application sont pourvues d'un bouton OK et Cancel et il ne faut pas oublier, dans ce cas, d'appuyer sur OK pour valider les changements. Si les changements ne sont pas validés, il peut être nécessaire d'utiliser la commande Restart Daemon du menu File.

Il reste maintenant à tester si l'écran de veille fonctionne réellement. La commande xscreensaver-command -activate permet d'activer l'écran de veille tandis que xscreensaver-command -lock verrouillera l'écran. Ces deux commandes doivent fonctionner correctement, sinon c'est peine perdu... Ensuite, reste le test de l'attente: voir si après le délai fixé, l'écran de veille surgit. Ce qui devrait être le cas si le daemon est en marche et bien configuré.

L'astuce fonctionne très bien sous KDE à une exception près: la commande Lock Screen du menu K fera maintenant surgir un écran noir plutôt qu'un véritable écran de veille, mais cela n'affectera pas la sécurité du verrou. Il est possible, en utilisant xscreensaver-command -lock, de verrouiller l'écran avec un écran de veille, mais il faudra appeler la commande manuellement, depuis un shell par exemple.