J'ai créé un rpm qui installe un .run
fichier et chaque fois que j'exécute le rpm et que le rpm essaie d'exécuter le fichier .run, l'erreur ne cesse de se produire qu'aux exec -t is an invalid option
lignes de code suivantes
if test `echo "$0" | cut -c1` = "/"; then # Spawn a terminal!
exec $XTERM -title "$label" -e "$0" --xwin "$initargs"
else
exec $XTERM -title "$label" -e "./$0" --xwin "$initargs"
Cependant, si je lance le tout .run
seul, il s'installe bien. Pourquoi cela pourrait-il se passer? En outre, que fait l’instruction if dans ce code?
--title "$label"
?exec $XTERM -title "$label" -e "$0" --xwin "$initargs
. Cependant, lorsque le rpm exécute le fichier, cela ne fonctionne pas, ce qui est bizarre.--title
place?XTERM
n’existe pas dans l’environnement dans lequel rpm exécute des commandes, il est donc exécutéexec -title ...
.Réponses:
Suggestion n ° 1
Je ne pense pas que vous puissiez exécuter un XTERM comme celui-ci car le RPM, lors de son installation, est exécuté sous un ID utilisateur (racine) différent de celui du poste de travail.
Pour que cela fonctionne, vous devez au moins effectuer un
xhost +
ID utilisateur sur votre bureau principal, puis vous assurer de définir la$DISPLAY
variable d'environnement dans cet appel sur XTERM. Quelque chose comme ça pourrait marcher:Je pense que XTERM peut également prendre la décision
-display
de faire quelque chose de similaire, mais je ne l’ai pas sous la main pour le moment.Suggestion n ° 2
Si vous rencontrez un "exec -t est une option non valide", je soupçonne que la variable
Exemple$XTERM
,, devient non définie, ce qui entraîne l'exec -title ...
exécution de la commande et son échec.Cependant, lorsque je configure
$XTERM
et réessaye, cela fonctionne:la source