J'essaie d'installer un lanceur Matlab R2011a pour Unity dans Ubuntu 12.04. J'ai essayé ce guide (bien que je sache que c'est pour 11.10 et mentionne que même 11.10 est un système d'exploitation non pris en charge pour Matlab R2011a) mais sans aucune solution satisfaisante.
Ce fichier est mon lanceur, /usr/share/applications/matlab.desktop
:
#!/usr/bin/env xdg-open
[Desktop Entry]
Type=Application
Icon=/usr/share/icons/matlab.png
Name=MATLAB R2011a
Comment=Start MATLAB - The Language of Technical Computing
Exec=matlab -desktop
Categories=Development;
J'ouvre le tableau de bord et recherche "matlab". Ce lanceur se trouve parmi les applications. Je clique dessus et l'écran de démarrage de Matlab apparaît, mais quand il disparaît, le programme ne démarre pas. (J'ai vérifié htop
qu'aucun processus matlab ne s'exécute en arrière-plan non plus.)
Si j'ajoute
Terminal=true
dans le fichier du lanceur, le programme démarre OK et ouvre un terminal ainsi que Matlab. Cependant, le terminal et Matlab lui-même apparaissent dans la zone du lanceur, avec l'icône Matlab, il semble donc que j'ai deux instances Matlab en cours d'exécution alors qu'il ne s'agit vraiment que d'une seule. (En fait, ils apparaissent comme deux programmes différents, et pas seulement deux instances du même - les icônes sont indépendantes, pas regroupées.)
Ce n'est certainement pas optimal. J'avais espéré créer un lanceur que je peux verrouiller dans la zone du lanceur, puis cette même icône sera l'icône de l'instance Matlab active lorsque le programme est en cours d'exécution.
Comment créer un lanceur pour Matlab qui fonctionne comme prévu?
Mise à jour: j'étais apparemment un peu flou sur mes symptômes, je vais essayer de clarifier un peu. J'ai également essayé quelques suggestions à partir des réponses et approfondi ce qui se passe. Ma configuration actuelle (un fichier de lancement avec Terminal=true
et Exec=matlab -desktop -nosplash &
) affiche le comportement suivant:
- J'ouvre Dash en appuyant sur la touche Windows de mon ordinateur portable et recherche «matlab». Il trouve le lanceur nommé "MATLAB R2011a". Je clique dessus.
- Une fenêtre de terminal s'ouvre, utilisant l'icône à laquelle j'ai fait référence dans le fichier du lanceur. Presque immédiatement, l'écran de démarrage de MATLAB s'ouvre également, en utilisant la même icône (et donc être regroupé avec la fenêtre du terminal dans le lanceur).
- L'écran de démarrage disparaît ainsi que l'une des icônes du lanceur. L'environnement de bureau MATLAB s'ouvre, en utilisant une version différente de l'icône qui s'affiche à côté de l'icône de la fenêtre du terminal (non groupée avec elle).
Je peux verrouiller l'icône de la fenêtre du terminal sur le lanceur et démarrer avec succès MATLAB en cliquant dessus, mais il ne semble pas optimal que je démarre le programme avec une icône et que je passe à celle-ci avec une autre. J'ai également essayé ce qui suit:
Exec
sans esperluette&
dans la commande du lanceur, mais cela n'a pas fait de différence.- L'exécution
matlab -nosplash
manuelle à partir d'un terminal affiche toujours l'écran de démarrage. (Que fait alors l'option nosplash?)
matlab
manuellement dans une fenêtre de terminal?matlab
oumatlab -desktop
non.Réponses:
La réponse de Garrett fonctionne presque pour moi, mais je dois plutôt utiliser
Cela donne toujours une icône de lanceur supplémentaire pendant que l'écran de démarrage est visible (car le WM_CLASS du écran de démarrage est simplement "MATLAB"), mais la fenêtre est ensuite correctement regroupée sous le lanceur.
Les nouvelles instances de Matlab (démarrées par le terminal, ou Synapse, ou à partir d'un autre tty avec
export DISPLAY=:0
) sont également regroupées sous ce lanceur, et l'option de sortie du lanceur les tue toutes.J'ai trouvé cette valeur WM_CLASS en utilisant
puis en cliquant sur la fenêtre Matlab, une commande que j'ai reçue de Superuser .
Pour empêcher l'icône de lanceur supplémentaire temporaire, vous pouvez également ajouter le
-nosplash
drapeau après celui--desktop
ci.Donc, mon
~/.local/share/applications/MATLAB.desktop
look ressemble à ceci:C'est sur Ubuntu 12.10, avec Matlab R2012b
la source
$ sudo wget http://upload.wikimedia.org/wikipedia/commons/2/21/Matlab_Logo.png -O /usr/share/pixmaps/matlab.png
C'est très étrange.
matlab -desktop
devrait vraiment faire l'affaire.Approche 1: voyez ce qui ne va pas avec le lanceur
J'ai une icône MATLAB fonctionnelle dans ma barre latérale Unity. Je peux cliquer dessus, il conserve l'icône correcte et n'ouvre pas de terminal. Pour autant que je puisse voir, c'est à peu près la même chose que votre code, cependant:
Le code ci-dessus se trouve dans matlab.desktop, qui est placé dans
/usr/share/applications/
. Les seules différences que je vois qui pourraient avoir une importance sont (i) leExec
chemin, mais si vous avez installé des liens symboliques pendant vos installations MATLAB, le vôtre devrait fonctionner très bien et (ii) j'utilise MATLAB R2011b.Comme vous, j'utilise Ubuntu 12.04.
Au cas où j'aurais raté quelque chose, vous pourriez essayer d'utiliser mon code pour démarrer MATLAB, qui sait, cela pourrait fonctionner.
Approche 2: une solution de contournement sale avec le terminal
Vous avez mentionné l'entrée
matlab -desktop
dans les travaux du terminal (c'est-à-dire l'ajoutTerminal=true
). Cependant, cela vous donne deux écrans regroupés sous MATLAB.Vous pouvez essayer de résoudre ce problème en modifiant la façon dont vous appelez le processus. La clé ici serait le
&
symbole de l'esperluette . Ce qui fait, c'est exécuter le code précédent, sans attendre qu'il se termine. Idéalement, il devrait démarrer le terminal, laisser le terminal démarrer MATLAB et fermer immédiatement le terminal, laissant MATLAB en cours d'exécution. Que se passe-t-il si vous démarrez matlab depuis le terminal avec l'esperluette après la ligne, ou:Si cela fonctionne, vous pouvez essayer (i) de créer un lanceur avec
Terminal=true
le code ci-dessus ou (ii) de créer un lanceur qui se réfère à un script bash, qui à son tour appelle le code ci-dessus.Pour vous, l'approche 1 n'a pas aidé. Si l'approche 2 ne fonctionne pas non plus, il peut être bon de jouer un peu, voyez ce que vous pouvez et ne pouvez pas faire avec les esperluette, le terminal et les scripts bash. Je suis à peu près à court de bonnes idées, mais quelqu'un de plus intelligent que moi pourrait alors vous aider.
la source
matlab -desktop
(voir approche 1). Pour moi, cela invoque MATLAB, avec l'écran de démarrage et l'icône correcte pour l'interface principale. Il est placé sous le lanceur verrouillé. Si vous voulez l'icône correcte et ne pouvez pas exécuter MATLAB avec un lanceur avecmatlab -desktop
, je suis à court d'idées. Je vous ferai savoir si je trouve quelque chose.J'ai installé un fichier / script de configuration Matlab à partir du Centre logiciel. Il répertorie le lanceur Matlab dans le tableau de bord et fonctionne parfaitement pour Matlab2011a dans Ubuntu 12.04. Mais cela ne fonctionne pas depuis le lanceur. Je veux dire, si vous le verrouillez sur le lanceur et essayez de le démarrer à partir de là, cela ne fonctionnera pas, du moins cela ne fonctionne pas pour moi. Je dois donc le démarrer depuis le tableau de bord.
Pour l'installer, allez sur Ubuntu Software Center , recherchez le Matlab , il doit être le premier de la liste (l'icône est un logo Matlab). Il suffit de l'installer et il s'occupera du reste.
la source
Voici ce que j'ai fait pour que les choses fonctionnent correctement à partir d'une nouvelle installation ( version R2010b sur Ubuntu 12.04 ).
Installez le package de support matlab à partir du centre de logiciels comme suggéré . Ou vous pouvez utiliser la commande suivante:
sudo apt-get install matlab-support
.Créez un fichier .desktop local:
gedit ~/.local/share/applications/matlab.desktop
. Pour une raison quelconque, l'enregistrer dans / usr / share / applications l'a empêché de fonctionner lors de ma première connexion.Copiez et collez le code suivant et enregistrez. Le changement important est la ligne StartupWMClass .
Ouvrez les applications dossier dans lequel vous venez d' enregistrer le fichier matlab.desktop:
nautilus ~/.local/share/applications
.Faites glisser et déposez le fichier matlab.desktop dans le lanceur d'unité.
la source
matlab -desktop
)matlab &
fonctionne également sans problème (c'est-à-dire que le-desktop
commutateur n'est pas nécessaire lors du démarrage à partir du terminal).J'y arrive peut-être un peu tard, mais j'ai réussi à le faire en ajoutant une entrée à l'application «Menu principal». Je l'ai répertorié comme une «application», puis j'ai fourni le chemin d'accès complet à l'exécutable dans le répertoire MATLAB en tant que commande.
J'ai également dû ajouter le drapeau '-desktop' (sans guillemets). De plus, j'ai également dû utiliser l'indicateur '-glnx86' car j'utilise la version Student sur un système 64 bits, mais cela a également bien fonctionné.
J'ai ensuite réussi à obtenir une icône de ce site Web .
Celui-ci peut ensuite être localisé dans le menu de l'application et glissé vers le bas dans le lanceur. La seule chose qui agit un peu étrange est que lorsque je clique dessus, une autre icône MATLAB apparaît dans le lanceur au lieu de simplement utiliser celle qui s'y trouve déjà. Si quelqu'un peut trouver un moyen de résoudre ce problème, ce serait formidable ... mais je peux vivre avec.
la source