Ich versuche, einen Matlab R2011a-Launcher für Unity in Ubuntu 12.04 zu installieren. Ich habe dieses Handbuch ausprobiert (obwohl ich weiß, dass es für 11.10 ist und erwähnt, dass sogar 11.10 ein nicht unterstütztes Betriebssystem für Matlab R2011a ist), aber ohne zufriedenstellende Lösung.
Dies ist meine Startdatei /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;
Ich öffne die Schalttafel und suche nach "matlab". Dieser Launcher ist unter den Anwendungen zu finden. Ich klicke darauf und der Begrüßungsbildschirm von Matlab wird angezeigt, aber wenn er verschwindet, startet das Programm nicht. (Ich habe festgestellt, htop
dass auch keine Matlab-Prozesse im Hintergrund laufen.)
Wenn ich hinzufüge
Terminal=true
In der Launcher-Datei startet das Programm OK und öffnet ein Terminal sowie Matlab. Das Terminal und Matlab selbst werden jedoch im Startbereich mit dem Matlab-Symbol angezeigt. Es sieht also so aus, als ob zwei Matlab-Instanzen ausgeführt werden, wenn es sich tatsächlich nur um eine handelt. (Tatsächlich werden sie als zwei verschiedene Programme und nicht nur als zwei Instanzen desselben angezeigt. Die Symbole sind unabhängig und nicht gruppiert.)
Das ist definitiv nicht optimal. Ich hatte gehofft, einen Launcher zu erstellen, den ich im Launcher-Bereich sperren kann, und dann wird dasselbe Symbol das Symbol für die aktive Matlab-Instanz sein, wenn das Programm ausgeführt wird.
Wie erstelle ich einen Launcher für Matlab, der wie erwartet funktioniert?
Update: Ich war anscheinend ein bisschen unklar über meine Symptome, ich werde versuchen, ein wenig zu klären. Ich habe auch einige Vorschläge aus den Antworten ausprobiert und weiter untersucht, was passiert. Mein aktuelles Setup (eine Launcher-Datei mit Terminal=true
und Exec=matlab -desktop -nosplash &
) zeigt folgendes Verhalten:
- Ich öffne Dash durch Drücken der Windows-Taste auf meinem Laptop und suche nach "matlab". Es findet den Launcher "MATLAB R2011a". Ich klicke darauf.
- Ein Terminalfenster wird mit dem Symbol geöffnet, auf das ich in der Startdatei verwiesen habe. Fast sofort wird auch der Begrüßungsbildschirm von MATLAB mit demselben Symbol geöffnet (und somit mit dem Terminalfenster im Launcher gruppiert).
- Der Begrüßungsbildschirm wird ausgeblendet, und eines der Symbole im Startbildschirm wird ebenfalls ausgeblendet. Die MATLAB-Desktop-Umgebung wird mit einer anderen Version des Symbols geöffnet, das neben dem Symbol für das Terminalfenster angezeigt wird (nicht mit diesem gruppiert).
Ich kann das Symbol des Terminalfensters für den Launcher sperren und MATLAB erfolgreich starten, indem ich darauf klicke, aber es fühlt sich nicht optimal an, wenn ich das Programm mit einem Symbol starte und mit einem anderen zu ihm wechsle. Ich habe auch Folgendes versucht:
Exec
ohne das kaufmännische Und&
im Launcher-Befehl, aber es machte keinen Unterschied.- Bei der
matlab -nosplash
manuellen Ausführung über ein Terminal wird weiterhin der Begrüßungsbildschirm angezeigt. (Was macht die Option nosplash dann wirklich?)
matlab
manuell in einem Terminalfenster ausgeführt werden?matlab
odermatlab -desktop
nicht.Antworten:
Garretts Antwort funktioniert fast bei mir, aber stattdessen muss ich sie verwenden
Während der Begrüßungsbildschirm sichtbar ist, wird immer noch ein zusätzliches Startersymbol angezeigt (da die WM_CLASS des Begrüßungsbildschirms nur "MATLAB" ist), aber dann wird das Fenster unter dem Starter richtig gruppiert.
Neue Instanzen von Matlab (gestartet von Terminal oder Synapse oder von einem anderen Tty mit
export DISPLAY=:0
) werden ebenfalls unter diesem Launcher gruppiert, und die Option zum Beenden des Launcher beendet alle von ihnen.Ich habe diesen WM_CLASS-Wert mithilfe von gefunden
und dann auf das Matlab-Fenster klicken, ein Befehl, den ich vom Superuser erhalten habe .
Um zu verhindern, dass das Symbol für den temporären zusätzlichen Starter angezeigt wird, können Sie das
-nosplash
Flag auch nach dem Symbol hinzufügen-desktop
.Also
~/.local/share/applications/MATLAB.desktop
sieht mein so aus:Dies ist auf Ubuntu 12.10 mit Matlab R2012b
quelle
$ sudo wget http://upload.wikimedia.org/wikipedia/commons/2/21/Matlab_Logo.png -O /usr/share/pixmaps/matlab.png
Das ist sehr merkwürdig.
matlab -desktop
sollte wirklich den Trick machen.Ansatz 1: Sehen Sie, was mit dem Launcher nicht stimmt
Ich habe ein funktionierendes MATLAB-Symbol in meiner Unity-Seitenleiste. Ich kann darauf klicken, es behält das richtige Symbol bei und öffnet kein Terminal. Soweit ich sehen kann, ist es so ziemlich das Gleiche wie Ihr Code:
Der obige Code befindet sich in matlab.desktop, das sich in befindet
/usr/share/applications/
. Die einzigen Unterschiede, die ich sehe, sind (i) derExec
Pfad, aber wenn Sie Symlinks während Ihrer MATLAB-Installationen installiert haben, sollten Ihre funktionieren, und (ii) ich führe MATLAB R2011b aus.Wie Sie verwende ich Ubuntu 12.04.
Falls ich etwas verpasst habe, können Sie versuchen, meinen Code zum Starten von MATLAB zu verwenden. Wer weiß, es könnte funktionieren.
Ansatz 2: Eine fehlerhafte Problemumgehung mit dem Terminal
Sie haben erwähnt, dass die Eingabe
matlab -desktop
im Terminal funktioniert (dh HinzufügenTerminal=true
). Dadurch erhalten Sie jedoch zwei Bildschirme, die unter MATLAB gruppiert sind.Sie können versuchen, dies zu beheben, indem Sie die Art und Weise ändern, in der Sie den Prozess aufrufen. Der Schlüssel hier wäre das kaufmännische Und-
&
Zeichen. Führen Sie den vorhergehenden Code aus, ohne darauf zu warten, dass er beendet wird. Im Idealfall wird das Terminal gestartet, MATLAB gestartet und das Terminal sofort geschlossen, wobei MATLAB ausgeführt wird. Was passiert, wenn Sie matlab vom Terminal aus mit dem kaufmännischen Und nach der Zeile starten, oder:Wenn das funktioniert, können Sie versuchen (i) einen Launcher mit
Terminal=true
dem obigen Code zu erstellen oder (ii) einen Launcher zu erstellen, der auf ein Bash-Skript verweist, das wiederum den obigen Code aufruft.Für Sie hat Ansatz 1 nicht geholfen. Wenn Ansatz 2 auch nicht funktioniert, ist es möglicherweise hilfreich, ein wenig herumzuspielen, um zu sehen, was Sie mit dem kaufmännischen Und-Zeichen, dem Terminal- und dem Bash-Skript tun können und was nicht. Ich habe so ziemlich keine guten Ideen mehr, aber jemand, der schlauer ist als ich, könnte Ihnen vielleicht helfen.
quelle
matlab -desktop
(siehe Ansatz 1). Für mich ruft das MATLAB mit dem Begrüßungsbildschirm und dem richtigen Symbol für die Hauptschnittstelle auf. Es befindet sich unter dem gesperrten Launcher. Wenn Sie das richtige Symbol möchten und MATLAB nicht über einen Launcher mit ausführen könnenmatlab -desktop
, sind mir die Ideen ausgegangen. Lass es dich wissen, wenn mir etwas einfällt.Ich habe eine Matlab-Konfigurationsdatei / ein Matlab-Skript aus dem Software Center installiert. Es listet den Matlab-Launcher im Dash auf und funktioniert perfekt für Matlab2011a in Ubuntu 12.04. Aber es funktioniert nicht über den Launcher. Ich meine, wenn Sie es auf dem Launcher sperren und versuchen, es von dort aus zu starten, funktioniert es nicht, zumindest funktioniert es bei mir nicht. Also muss ich es vom Armaturenbrett aus starten.
Um dies zu installieren, gehen Sie zum Ubuntu Software Center und suchen Sie nach dem Matlab . Es sollte das erste in der Liste sein (das Symbol ist ein Matlab-Logo). Installieren Sie es einfach, und der Rest wird erledigt.
quelle
Hier ist, was ich getan habe, um die Dinge ab einer Neuinstallation ( Version R2010b unter Ubuntu 12.04 ) richtig zum Laufen zu bringen .
Installieren Sie das matlab-Support-Paket wie vorgeschlagen aus dem Software-Center . Oder Sie können den folgenden Befehl verwenden:
sudo apt-get install matlab-support
.Erstellen Sie eine lokale Datei .desktop:
gedit ~/.local/share/applications/matlab.desktop
. Aus irgendeinem Grund funktionierte das Speichern in / usr / share / applications nicht, als ich mich zum ersten Mal anmeldete.Kopieren Sie den folgenden Code, fügen Sie ihn ein und speichern Sie ihn. Die wichtige Änderung ist die StartupWMClass- Zeile.
Öffnen Sie den Ordner , in dem Sie gerade die matlab.desktop Datei gespeichert:
nautilus ~/.local/share/applications
.Ziehen Sie die Datei matlab.desktop per Drag & Drop in den Unity Launcher.
quelle
matlab -desktop
)matlab &
funktioniert auch problemlos (dh der-desktop
Schalter ist beim Start vom Terminal nicht erforderlich).Ich komme vielleicht etwas spät dazu, aber ich habe es geschafft, indem ich der Anwendung 'Hauptmenü' einen Eintrag hinzugefügt habe. Ich habe es als 'Anwendung' aufgelistet und dann den vollständigen Pfad zur ausführbaren Datei im MATLAB-Verzeichnis als Befehl angegeben.
Ich musste auch das Flag '-desktop' (ohne Anführungszeichen) hinzufügen. Außerdem musste ich das Flag '-glnx86' verwenden, da ich die Studentenversion auf einem 64-Bit-System verwende, aber das hat auch gut funktioniert.
Ich habe es dann geschafft, ein Icon von dieser Website zu bekommen .
Dieser kann dann im Anwendungsmenü gefunden und in den Launcher gezogen werden. Das Einzige, was ein wenig seltsam wirkt, ist, dass beim Anklicken ein anderes MATLAB-Symbol im Launcher angezeigt wird, anstatt nur das bereits vorhandene zu verwenden. Wenn jemand einen Weg finden kann, dies zu lösen, dann wäre das großartig ... aber ich kann damit leben, wie es ist.
quelle