- NOM
- send - Execute une commande dans une application différente
- SYNTAXE
- send ?options? app cmd ?arg arg ...?
- DESCRIPTION
- -async
- -displayof pathName
- - -
- NOMS DES APPLICATIONS
- DESACTIVATION DES ENVOIS
- SECURITE
- MOTS-CLES
send - Execute une commande dans une application différente
send ?options? app cmd ?arg arg ...?
Cette commande prépare cmd (et args) a être exécutée dans l'application nommée app. Elle retourne le resultat ou
l'erreur de cette execution.
App peut être le nom de toute application dont la fenêtre principale est
à l'écran contenant la fenêtre principale de l'appelant; elle n'a pas besoin d'être
à l'intérieur du même process.
Si aucun arguments arg ne sont présents, alors la commande a exécuter est
contenue entièrement à l'intérieur de l'argument cmd. Si un ou
plusieurs args sont présents, ils sont concaténés pour former la
commande a exécuter, comme pour la commande eval.
Si les arguments initiaux de la commande commencent par un ``-''
ils sont traité comme des options. Les options suivantes sont
actuellement définies:
- -async
-
Demande un appel asynchrone. Dans ce cas la commande send
sera complétée immédiatement sans attendre que cmd
soit terminée dans l'application cible; aucun resultat ne sera disponible
et les erreurs dans la commande envoyée seront ignorées.
Si l'application cible est dans le même process que
l'application appelante alors l'option -async est ignorée.
- -displayof pathName
-
Spécifie que la fenêtre principale de l'application appelante est à l'écran
de la fenêtre indiquée par pathName, à la place de l'écran contenant
la fenêtre principale de l'application.
- - -
-
N'a d'autre usage que de terminer la liste des options. Cette
option est seulement requise si app peut contenir un caractère ``-''
en tête.
Le nom d'une application est initialisé à partir du nom du
programme ou du script qui crée l'application.
Vous pouvez lire et changer le nom d'une application avec la
commande tk appname.
Si la commande send est enlevée d'une application (ex.
avec la commande rename send {}) alors l'application
ne réagira plus aux appels de send entrants, ni ne sera
capable d'emmettre des demandes.
La communication peut être réactivée par l'appel de la commandetk appname.
La commande send est potentiellement une serieuse faille de sécrité. Sous Unix,
toute application pouvant se connecter à votre serveur X peut envoyer
des scripts à vos applications.
Ces scripts pourraient utiliser Tcl pour lire et
écrire vos fichiers et appeler des subprocesses sous votre nom.
Le contrôle d'accès basé sur les noms d'hôtes assuré par le fichier xhost
est particulièrement peu sūr, car il permet à tous les comptes activés
sur une machine particulière de se connecter à votre serveur, et s'il est désactivé au
il permet au monde entier de se connecter à votre serveur.
De manière à fournir une sécurité minimum, Tk vérifie le contrôle d'accès utilisé par le serveur
et rejette les sends entrants à moins que(a) un contrôle d'accès xhost-style
soit activé (c.a.d. seulement certaines machines peuvent se connecter) et (b) la
liste des machines autorisées soit vide.
Ceci signifie que les applications ne peuvent pas se connecter à votre serveur à moins
qu'ils utilisnent une autre forme d'autorisation
comme celle fournie par xauth.
Sous Windows, send est actuellement désactivée. Ses
fonctionnalités sont fournies par la commande dde.
application, dde, NOM, remote execution, security, send
Copyright © 1990-1994 The Regents of the University of California.
Copyright © 1994-1996 Sun Microsystems, Inc.
Copyright © 1995-1997 Roger E. Critchlow Jr.
Copyright © 2003 - Le Portail Tcl/Tk Francophone.