Próbuję zainstalować program uruchamiający Matlab R2011a dla Unity w Ubuntu 12.04. Wypróbowałem ten przewodnik (chociaż wiem, że jest to wersja 11.10 i wspomina, że nawet 11.10 to nieobsługiwany system operacyjny dla Matlab R2011a), ale bez zadowalającego rozwiązania.
To jest mój plik uruchamiający /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;
Otwieram panel deski rozdzielczej i szukam „matlab”. Ten program uruchamiający znajduje się wśród aplikacji. Klikam go, a pojawia się ekran powitalny Matlaba, ale gdy znika, program się nie uruchamia. (Sprawdziłem, htop
czy w tle nie działają żadne procesy Matlab).
Jeśli dodam
Terminal=true
do pliku uruchamiającego program uruchamia się OK i otwiera terminal oraz Matlab. Jednak zarówno terminal, jak i sam Matlab pojawiają się w obszarze uruchamiania z ikoną Matlab, więc wygląda na to, że mam uruchomione dwie instancje Matlaba, gdy tak naprawdę jest tylko jedna. (W rzeczywistości są wyświetlane jako dwa różne programy, a nie tylko dwa takie same wystąpienia - ikony są niezależne, nie są zgrupowane).
To zdecydowanie nie jest optymalne. Miałem nadzieję, że utworzę program uruchamiający, który mogę zablokować w obszarze uruchamiania, a następnie ta sama ikona będzie ikoną aktywnej instancji Matlaba podczas działania programu.
Jak utworzyć program uruchamiający dla Matlaba, który działa zgodnie z oczekiwaniami?
Aktualizacja: Najwyraźniej byłem trochę niejasny co do moich objawów, postaram się trochę wyjaśnić. Wypróbowałem też kilka sugestii z odpowiedzi i dalej badałem, co się dzieje. Moja bieżąca konfiguracja (plik uruchamiania z Terminal=true
i Exec=matlab -desktop -nosplash &
) renderuje następujące zachowanie:
- Otwieram Dash, naciskając klawisz Windows na moim laptopie i szukam „matlab”. Znajduje program uruchamiający o nazwie „MATLAB R2011a”. Klikam to.
- Otworzy się okno terminala, używając ikony, o której wspomniałem w pliku uruchamiania. Niemal natychmiast otwiera się ekran powitalny MATLAB-a, przy użyciu tej samej ikony (a więc zgrupowany z oknem terminalu w programie uruchamiającym).
- Ekran powitalny znika, podobnie jak jedna z ikon w programie uruchamiającym. Otworzy się środowisko pulpitu MATLAB, używając innej wersji ikony, która jest wyświetlana obok ikony okna terminala (nie jest z nią zgrupowana).
Mogę zablokować ikonę okna terminala w programie uruchamiającym i pomyślnie uruchomić MATLAB, klikając go, ale nie wydaje mi się optymalne, że uruchamiam program z jedną ikoną i przełączam się na nią z inną. Próbowałem także:
Exec
bez znaku handlowego i&
w poleceniu programu uruchamiającego, ale to nie miało znaczenia.- Wykonywanie
matlab -nosplash
ręczne z terminala nadal pokazuje ekran powitalny. (Co zatem naprawdę robi opcja nosplash?)
matlab
ręcznie w oknie terminala?matlab
czymatlab -desktop
też.Odpowiedzi:
Odpowiedź Garretta prawie dla mnie działa, ale zamiast tego muszę użyć
Nadal wyświetla się dodatkowa ikona programu uruchamiającego, gdy ekran powitalny jest widoczny (ponieważ WM_CLASS ekranu głównego to po prostu „MATLAB”), ale wtedy okno zostaje odpowiednio zgrupowane pod programem uruchamiającym.
Nowe instancje Matlaba (uruchamiane przez terminal, Synapse lub od innego tty z
export DISPLAY=:0
) również są grupowane pod tym programem uruchamiającym, a opcja wyjścia programu uruchamiającego zabija wszystkie z nich.Znalazłem tę wartość WM_CLASS za pomocą
a następnie klikając okno Matlab, polecenie otrzymałem od Superuser .
Aby zapobiec tymczasowej dodatkowej ikonie uruchamiania, możesz także dodać
-nosplash
flagę po tej-desktop
.Więc
~/.local/share/applications/MATLAB.desktop
wygląda tak:To jest na Ubuntu 12.10, z Matlab R2012b
źródło
$ sudo wget http://upload.wikimedia.org/wikipedia/commons/2/21/Matlab_Logo.png -O /usr/share/pixmaps/matlab.png
To bardzo dziwne.
matlab -desktop
naprawdę powinien załatwić sprawę.Podejście 1: sprawdź, co jest nie tak z programem uruchamiającym
Mam działającą ikonę MATLAB na pasku bocznym Unity. Mogę go kliknąć, zachowuje prawidłową ikonę i nie otwiera terminalu. O ile widzę, jest to w zasadzie taki sam kod, jak:
Powyższy kod znajduje się w matlab.desktop, w którym jest umieszczony
/usr/share/applications/
. Jedyne różnice, które widzę, które mogą mieć znaczenie, to (i)Exec
ścieżka, ale jeśli zainstalowałeś dowiązania symboliczne podczas instalacji MATLAB, twoje powinny działać dobrze i (ii) korzystam z MATLAB R2011b.Tak jak ty, używam Ubuntu 12.04.
W przypadku, gdy coś przeoczyłem, możesz spróbować użyć mojego kodu, aby uruchomić MATLAB, kto wie, może to działać.
Podejście 2: brudne obejście z terminalem
Wspomniałeś, że wpisywanie
matlab -desktop
w terminalu działa (tj. DodawanieTerminal=true
). Jednak daje to dwa ekrany zgrupowane w MATLAB.Możesz spróbować to naprawić, zmieniając sposób wywoływania procesu. Kluczem tutaj byłby
&
symbol ampersand . Spowoduje to wykonanie poprzedniego kodu, nie czekając na jego zakończenie. Idealnie byłoby uruchomić terminal, pozwolić terminalowi uruchomić MATLAB i natychmiast zamknąć terminal, pozostawiając MATLAB działający. Co się stanie, jeśli uruchomisz matlab z terminala ze znakiem ampersand po linii lub:Jeśli to zadziała, możesz spróbować (i) utworzyć program uruchamiający z
Terminal=true
powyższym kodem lub (ii) utworzyć program uruchamiający, który odwołuje się do skryptu bash, który z kolei wywołuje powyższy kod.Dla ciebie Podejście 1 nie pomogło. Jeśli Approach 2 nie działa albo dobrze jest się trochę pobawić, zobacz, co możesz, a czego nie możesz zrobić ze skryptami ampersand, terminal i bash. Nie mam dobrych pomysłów, ale wtedy ktoś mądrzejszy ode mnie może ci pomóc.
źródło
matlab -desktop
(patrz Podejście 1). Dla mnie to przywołuje MATLAB, z ekranem powitalnym i poprawną ikoną dla głównego interfejsu. Jest umieszczony pod zablokowanym programem uruchamiającym. Jeśli chcesz prawidłową ikonę i nie możesz uruchomić MATLAB-a za pomocą programu uruchamiającegomatlab -desktop
, nie mam pomysłów. Powiadomię cię, jeśli coś wymyślę.Zainstalowałem plik / skrypt konfiguracyjny Matlab z Software Center. Wymienia program uruchamiający Matlab w desce rozdzielczej i działa idealnie dla Matlab2011a w Ubuntu 12.04. Ale to nie działa z poziomu programu uruchamiającego. Mam na myśli, że jeśli zablokujesz go w programie uruchamiającym i spróbujesz go uruchomić od tego momentu, to nie będzie działać, przynajmniej nie działa dla mnie. Więc muszę zacząć od kreski.
Aby to zainstalować, przejdź do Centrum oprogramowania Ubuntu , wyszukaj Matlab , powinien być pierwszy na liście (ikona to logo Matlaba). Wystarczy go zainstalować, a resztę zajmie się resztą.
źródło
Oto, co zrobiłem, aby wszystko działało poprawnie, zaczynając od nowej instalacji ( wersja R2010b na Ubuntu 12.04 ).
Zainstaluj pakiet wsparcia matlab z centrum oprogramowania zgodnie z sugestią . Lub można użyć następującego polecenia:
sudo apt-get install matlab-support
.Tworzenie lokalnego pliku .desktop:
gedit ~/.local/share/applications/matlab.desktop
. Z jakiegoś powodu zapisanie go w katalogu / usr / share / applications spowodowało, że nie działało ono przy pierwszym logowaniu.Skopiuj i wklej następujący kod i zapisz. Ważną zmianą jest linia StartupWMClass .
Otwórz folder, w którym aplikacje po prostu zapisany plik matlab.desktop:
nautilus ~/.local/share/applications
.Przeciągnij i upuść plik matlab.desktop do programu uruchamiającego Unity.
źródło
matlab -desktop
)matlab &
działa również bez problemów (tzn.-desktop
przełącznik nie jest konieczny przy uruchamianiu z terminala).Być może przychodzę do tego trochę za późno, ale udało mi się to, dodając wpis do aplikacji „Menu główne”. Wymieniłem go jako „aplikację”, a następnie podałem pełną ścieżkę do pliku wykonywalnego w katalogu MATLAB jako polecenie.
Musiałem także dodać flagę „-desktop” (bez cudzysłowów). Ponadto musiałem również użyć flagi „-glnx86”, ponieważ korzystam z wersji studenckiej w systemie 64-bitowym, ale to również działało dobrze.
Potem udało mi się uzyskać ikonę z tej strony .
Można to następnie znaleźć w menu aplikacji i przeciągnąć w dół do programu uruchamiającego. Jedyną rzeczą, która działa trochę dziwnie, jest to, że kiedy klikam na nią, w programie uruchamiającym pojawia się kolejna ikona MATLAB, zamiast korzystać z już tamtej. Jeśli ktokolwiek znajdzie sposób na rozwiązanie tego problemu, byłoby świetnie ... ale mogę z tym żyć tak, jak jest.
źródło