[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [hs] Cible et lien symbolique : comportement différent ?



Philippe Deleval wrote:
On 04/10/2013 00:29, Alexandre Hoïde wrote:
Salut à vous de la liste,

Un petit truc m'échappe et, à vot' bon coeur, j'aimerais mieux
comprendre.
J'ai :
/usr/bin/x-terminal-emulator@ \
-> /etc/alternatives/x-terminal-emulator@ \
-> /usr/bin/urxvt*

Donc, si je ne m'abuse, lancer urxvt à l'aide des liens symboliques ou
directement du fichier /usr/bin/urxvt devrait être strictement
équivalent,
non ?! Or, j'ai un petit ~/.Xresources :

!--
URxvt*.transparent: true
URxvt*.shading: 100
URxvt.scrollBar:false
URxvt*internalborder: 6
urxvt*foreground: #f2f2f2
urxvt*background: #101010
!--

Où l'on voit que le nom de la ressource est mal orthographié sur les
deux dernières entrées (urxvt au lieu de URxvt).

Eh bien figurez-vous que, lancé avec /usr/bin/urxvt, toutes les lignes du
.Xresources sont honorées, tandis qu'avec
/{usr/bin,etc/alternatives}/x-terminal-emulator, les deux dernières
lignes
[fautives] sont ignorées (je n'ai que les couleurs par défaut).

En corrigeant mon .Xresources s/ur/UR tout rentre dans l'ordre... mais
cet
ordre est soudain devenu obscur à mes yeux.

PS Expérience faite sur une Sid à jour avec Awesome. Les liens
symboliques ont
été générés par «update-alternatives --config x-terminal-emulator».

Bonjour

A titre informatif, un programme peut accéder par la pile Linux (en C
par args[0]) à la commande par lequel il est lancé. Autrement dit le
programme "sait" s'il a été lancé par un alias, un lien symbolique ou
directement.

Attention, ça n'est pas portable. Je ne sais plus sous quel Unix j'ai pu constater que cela ne fonctionnait pas... et je pense que c'est à la discrétion du shell, pas de l'OS. Je suis même déjà tombé sur un OS où toute la ligne de commande, arguments compris, se trouvait dans argv[0] et un autre qui omettait le nom de la commande et dont argv[0] contenait directement le premier argument !

	Cordialement,

	JKB


Reply to: