Script shell

serpan2 Messages postés 191 Statut Membre -  
serpan2 Messages postés 191 Statut Membre -
Bonjour,
Mon souci est d'executer une commande sous un autre utilisateur, quand je tape ma commande directement sur le shell dans la session de cet utilisateur elle marche bien, alors que quand je fait ça depuis la session root, elle ne marche pas:
su user  -c 'commande'


la commande que je veux taper est :
xsel -b -c

sitout..
et merci pour votre aide

A voir également:

1 réponse

mamiemando Messages postés 34184 Statut Modérateur 7 888
 
Personnellement j'écrirais :

su - user -c "xsel -b -c"


Mais bon c'est assez bizarre comme besoin... pour ne pas dire franchement intrusif.

Bonne chance
0
serpan2 Messages postés 191 Statut Membre 6
 
Merci de m'avoir répondu, oui c'est un peu bizarre mais j'ai besoin de cette commande pour éviter de faire du copier-coller du texte dans le boulot....
mais toujours ça marche pas avec cette methode !!
quand je tape directement la commande depuis le shell de "user" , ce que j'ai copier il s'éfface, mais quand je tape ta commande avec le su depuis le shell du root, ce que j'ai copier ne s'éfface pas !!! c'est comme étant la commande n'était pas exécuter ... franchement je comprend pas.
Merci
0
mamiemando Messages postés 34184 Statut Modérateur 7 888
 
Tu as bien rajouté le "-" entre le "su" et le login ?
Sinon essaye de voir avec gksudo ou kdesudo, ce sont probablement des variables d'environnements qui sont mal repositionnées.

Tu pourrais d'ailleurs comparer :
- dans le shell de cet utilisateur

env > /tmp/env1.txt


- via su -c

su - user -c "env" > /tmp/env2.txt


- ensuite :

diff /tmp/env1.txt /tmp/env2.txt


Bonne chance
0
serpan2 Messages postés 191 Statut Membre 6
 
Je vais essayer Merci :))
0