web-dev-qa-db-fra.com

Fichiers de bureau avec des privilèges de superutilisateur

J'ai Matlab installé sous /home/fer/Matlab, le fichier exécutable principal étant /home/fer/Matlab/R2014b/bin/matlab. Il y a quelque chose de bizarre et cela ne fonctionne que si je l'ouvre avec le terminal en utilisant Sudo. Si je l'exécute sans Sudo, il génère une erreur d'autorisation et se ferme (je suppose qu'il est en train de lire quelque part).

Quoi qu'il en soit, j'essayais de créer un .desktop fichier pour pouvoir l'ouvrir à partir du menu, et parce qu'il doit fonctionner sous Sudo, dans la ligne exec j'ai écrit:

Exec=gksudo -u root /home/fer/Matlab/R2014b/bin/matlab

Lorsque je clique sur le raccourci, il me demande mon mot de passe, puis le splash Matlab apparaît, puis se ferme et rien ne se passe. Cela ressemble beaucoup à un problème avec Matlab lui-même, mais est-ce que je le fais bien avec la ligne exec du fichier .desktop? Dois-je ajouter autre chose? Si un programme nécessite un terminal pour s’exécuter, est-il possible d’émuler un terminal à partir du fichier de bureau?

EDIT: Comme demandé dans les commentaires: whoami affiche fer et tous les fichiers et sous-répertoires dans Matlab/R2014b appartiennent à l'utilisateur fer et au groupe fer. L'erreur est écrite dans une fenêtre Matlab, disant qu'il n'y a pas de permission d'écriture sur /home/fer/.matlab/R2014b/temp0x ... Je vais essayer de regarder dans ce répertoire.

1
MyUserIsThis

Découpez et reformulez les modifications de @MyUserIsThis à sa question:

Ok, j'ai chowned récursivement tout le répertoire /home/<user>/.matlab donc j'aurais la permission d'écrire dessus et ça a été corrigé.

BTW, au cas où quelqu'un d'autre se heurterait à cela, la ligne exec du fichier de bureau devrait inclure l'option -desktop pour que le script fonctionne correctement lorsqu'il n'est pas appelé depuis le terminal:

Exec=/home/<user>/Matlab/R2014b/bin/matlab -desktop
0
Byte Commander