2017-09-07 3 views
0

J'essaie de me connecter à un port COM "TTYACM0" sur un PI framboise, mais lorsque j'essaie de l'ouvrir avec mon utilisateur, il échoue. et quand j'exécute comme sudo cela fonctionne bien. J'ai vérifié mes droits d'utilisateur et il est dans tous les groupes nécessaires:Linux: Droits inattendus pendant l'exécution

user : user root tty dialout sudo i2c gpio 

Voici le port:

crw-rw---- 1 root dialout 166, 0 Sep 7 12:26 ttyACM0 

En tant que l'utilisateur est en dialout il devrait fonctionner.

Le fait drôle est que ma demande échoue quand j'exécute ma demande comme ceci:

user$ ./application 

Et réussit quand je tape ceci de la même invite:

user$ su user -c './application' 

Je ne pas vraiment comprendre la différence entre les deux lignes. Cette application travaillait auparavant et fonctionne parfaitement bien avant et fonctionne également sur mon ordinateur Linux (les deux sont compilés avec QT), mais cela concerne aussi d'autres applications comme Putty. Pouvez-vous m'aider à ce sujet?

Merci!

ps: je suis sur le bon utilisateur:

user$ whoami 
user 

Répondre

1

Il semble que vous avez-vous ajouté au groupe dialout mais vous n'êtes pas déconnecté et ouvert une nouvelle session Les informations d'identification de groupe de votre session don. Ne pas mettre à jour dynamiquement. C'est pourquoi fonctionne su user -c ..., car cela démarre une nouvelle session avec votre appartenance mise à jour. Déconnectez-vous, reconnectez-vous et tout devrait fonctionner correctement.