Unity için Matlab başlatıcısını nasıl yapabilirim?

21

Ubuntu 12.04'te Unity için Matlab R2011a başlatıcısı yüklemeye çalışıyorum. bu kılavuzu denedim (her ne kadar 11.10 için olduğunu bilmeme rağmen ve 11.10'un Matlab R2011a için desteklenmeyen bir işletim sistemi olduğunu belirtiyor) ama tatmin edici bir çözüm olmadan.

Bu, başlatıcı dosyam /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;

Gösterge panelini açıp "matlab" ı ararım. Bu başlatıcı uygulamalar arasında bulunur. Ben tıklıyorum ve Matlab'ın açılış ekranı ortaya çıkıyor, ancak kaybolduğunda program başlamıyor. (Arka planda hiç matlab işleminin çalışmadığı htop ile doğruladım.)

Eklediğimde

Terminal=true

başlatıcı dosyasına, program Tamam'a başlar ve Matlab'ın yanı sıra bir terminal açar. Ancak, hem terminal hem de Matlab'ın kendisi Matlab simgesine sahip Launcher alanında görünür, bu yüzden gerçekten sadece bir tane olduğunda iki Matlab örneğim var gibi görünüyor. (Aslında, iki farklı program olarak görünürler, ve sadece iki örneğini değil - simgeler bağımsızdır, birlikte gruplandırılmazlar.)

Bu kesinlikle uygun değildir. Başlatıcı alanına kilitleyebileceğim bir başlatıcı oluşturmayı umuyordum ve program çalışırken aynı Matlab örneğinin aktif Matlab örneğinin simgesi olacaktı.

Matlab için beklendiği gibi çalışan bir başlatıcıyı nasıl oluşturabilirim?

Güncelleme: Görünüşte belirtilerimi biraz belirsiz buldum, biraz açıklığa kavuşturmaya çalışacağım. Ayrıca, cevaplardan bazı öneriler denedim ve neler olduğunu araştırdım. Şu anki kurulumum ( Terminal=true ve Exec=matlab -desktop -nosplash & içeren bir başlatıcı dosyası) aşağıdaki davranışı gerçekleştiriyor:

  1. Dizüstü bilgisayarımdaki Windows tuşuna basarak ve "matlab" için arama yaparak Dash'ı açarım. "MATLAB R2011a" isimli başlatıcıyı bulur. Ben tıklıyorum.
  2. Başlatıcı dosyasında belirtilen simgeyi kullanarak bir terminal penceresi açılır. Hemen hemen MATLAB'ın açılış ekranı aynı simgeyi kullanarak (ve böylece başlatıcıdaki terminal penceresiyle gruplandırılarak) açılır.
  3. Sıçrama ekranı kaybolur ve başlatıcıdaki simgelerin birini yapar. MATLAB masaüstü ortamı, terminal penceresinin (yanında gruplanmamış) simgesinin yanında görüntülenen simgesinin farklı bir sürümünü kullanarak açılır.

Terminal penceresinin simgesini başlatıcıya kilitleyebilir ve MATLAB'ı tıklatarak başarılı bir şekilde başlatabilirim, ancak programı tek bir simgeyle başlattığımı ve başka bir tuşla değiştirdiğimi hissetmiyor. Ayrıca şunları denedim:

  • Launcher komutunda Exec ve işareti & olmadan, ancak bir fark yaratmadı.
  • Bir terminalden matlab -nosplash elle yürütme, hala açılış ekranını gösterir. (Ne, nosplash seçeneği gerçekten yapar mı?)
sordu Tomas Lycken 19.05.2012 15:17

5 cevap

13

Garrett'ın cevabı neredeyse benim için çalışıyor, ama bunun yerine kullanmalıyım

StartupWMClass=sun-awt-X11-XFramePeer

Bu, açılış ekranı görünürken ekstra bir başlatıcı simgesi verir (sp_screen'in WM_CLASS'si sadece "MATLAB" olduğundan), ancak pencere başlatıcı altında düzgün şekilde gruplandırılır.

Matlab'ın yeni örnekleri (terminal veya Synapse ile başlatılır veya export DISPLAY=:0 ile başka bir tty'den başlatılır) ayrıca bu başlatıcıya göre gruplandırılır ve başlatıcının çıkma seçeneği hepsini öldürür.

Bu WM_CLASS değerini

kullanarak buldum
$ xprop WM_CLASS

ve ardından Matlab penceresine tıklayarak, Süper .

Geçici ek başlatıcı simgesini önlemek için, -nosplash işaretinden sonra -desktop bayrağını da ekleyebilirsiniz.

Yani, ~/.local/share/applications/MATLAB.desktop şunun gibi görünüyor:

[Desktop Entry]
Version=1.0
Type=Application
Icon=matlab
Name=Matlab
Comment=Start MATLAB - The Language of Technical Computing
Exec=matlab -desktop -nosplash
Terminal=false
Categories=Development;
StartupNotify=true
StartupWMClass=sun-awt-X11-XFramePeer
X-Ayatana-Desktop-Shortcuts=New_Window;

Name[en_US]=MATLAB

[New_Window Shortcut Group]
Name=start a new MATLAB instance
Exec=matlab -desktop

Bu Matb R2012b ile Ubuntu 12.10 üzerinde

    
verilen cevap tsbertalan 10.03.2013 09:25
7

Bu çok tuhaf. matlab -desktop gerçekten hile yapmalı.

Yaklaşım 1: Başlatıcıyla neyin yanlış olduğunu görün

Birlik kenar çubuğumda çalışan bir MATLAB ikonum var. Tıklayabilir, doğru simgeyi korur ve bir terminal açmaz. Görebildiğim kadarıyla, kodunuzla hemen hemen aynı:

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/usr/local/MATLAB/R2011b/bin/matlab -desktop
Name=MATLAB
Icon=/home/tomas/icons/Matlab_Logo.png

Yukarıdaki kod, /usr/share/applications/ dizinine yerleştirilen matlab.desktop içinde. Görebildiğim tek farklar şunlardır: (i) Exec yolu, ancak MATLAB kurulumlarınız sırasında symlin'leri kurduysanız, sizinki sadece iyi çalışmalı ve (ii) MATLAB R2011b'yi çalıştırıyorum.

Senin gibi, Ubuntu 12.04 koşuyorum.

Bir şeyi kaçırmam durumunda, MATLAB'ı başlatmak için kodumu kullanmayı deneyebilirsiniz, kim bilir, işe yarayabilir.

Yaklaşım 2: terminal ile kirli bir çözüm

Terminal çalışmalarında matlab -desktop girdiğinden bahsetmiştiniz (örn. Terminal=true ekleyerek). Ancak, bu size MATLAB altında gruplandırılmış iki ekran sunar.

İşlemi nasıl çağırdığınızı değiştirerek bunu düzeltmeyi deneyebilirsiniz. Buradaki anahtar,% işareti% co_de sembolüdür. Bunun için önceki kodu yürütün, bitirmesini beklemeyin. İdeal olarak, terminali başlatacak, terminalin MATLAB'ı başlamasını ve MATLAB'ın çalışmasını bırakarak terminali derhal kapatmasını sağlayacaktır. Matlab'ı satırdan sonra ve işareti ile terminalden başlatırsanız ne olur veya:

matlab -desktop &

Eğer bu işe yararsa, (i) & ve yukarıdaki kodu içeren bir başlatıcı oluşturmayı veya (ii) bir bash betiğine atıfta bulunan bir başlatıcı yapmayı deneyebilirsiniz, ki bu da yukarıdaki kodu çağırır.

Sizin için Yaklaşım 1 yardımcı olmadı. Eğer Yaklaşma 2 işe yaramıyorsa ya biraz oynaması iyi olabilir, ampersan, terminal ve bash betikleriyle neler yapabileceğinizi ve yapamayacağınızı görün. Oldukça iyi fikirlerim var, ama benden daha zeki biri size yardımcı olabilir.

    
verilen cevap Tomas 21.05.2012 07:24
4

Yazılım Merkezi'nden bir Matlab Yapılandırma dosyası / komut dosyası yükledim. Matlab başlatıcısını çizgi içinde listeler ve Ubuntu 12.04'te Matlab2011a için mükemmel çalışır. Ama fırlatıcıdan çalışmıyor. Yani, fırlatıcıya kilitlersen ve onu oradan çalıştırmaya çalışırsan işe yaramazsa, en azından benim için çalışmıyor. Bu yüzden çizgi ile başlamalıyım.

Bunu yüklemek için Ubuntu Yazılım Merkezi seçeneğine gidin, Matlab aramasını yapın, listenin ilki olmalıdır (simge bir Matlab logosudır). . Sadece kur ve gerisini halledecek.

    
verilen cevap maqtanim 21.05.2012 06:34
3

İşte yeni bir yüklemeden başlayarak işleri doğru şekilde yapmak için yaptığım şey ( Ubuntu 12.04 sürümünde R2010b sürümü ).

  1. Matlab destek paketini yazılım merkezinden önerilen olarak yükleyin. Veya aşağıdaki komutu kullanabilirsiniz: sudo apt-get install matlab-support .

  2. Yerel bir .desktop dosyası oluşturun: gedit ~/.local/share/applications/matlab.desktop . Bir sebepten dolayı / usr / share / application içine kaydetme, ilk giriş yaptığımda çalışmaya neden oldu.

  3. Aşağıdaki kodu kopyalayıp yapıştırın ve kaydedin. Önemli değişiklik BaşlangıçWM Sınıfı satırı.

    [Desktop Entry]
    Version=1.0
    Type=Application
    Icon=/usr/share/icons/matlab.png
    Name=Matlab
    Comment=Start MATLAB - The Language of Technical Computing
    Exec=matlab -desktop
    Terminal=false
    Categories=Development;
    StartupNotify=true
    StartupWMClass=com-mathworks-util-PostVMInit
    X-Ayatana-Desktop-Shortcuts=New_Window;
    
    [New_Window Shortcut Group]
    Name=New Matlab
    Exec=matlab -desktop
    
  4. matlab.desktop dosyasını yeni kaydettiğiniz uygulamalar klasörünü açın: nautilus ~/.local/share/applications .

  5. matlab.desktop dosyasını birleşim başlatıcısına sürükleyip bırakın.

verilen cevap Garrett Foster 24.05.2012 07:27
1

Belki biraz geç geliyorum, ama 'Ana Menü' uygulamasına bir giriş ekleyerek bunu başardım. Bunu bir 'Uygulama' olarak listeledim ve ardından MATLAB dizinindeki yürütülebilir dosyanın tam yolunu Komut olarak sağladım.

Ayrıca bayrağı '-desktop' (tırnaksız) eklemeliydim. Ayrıca, 64 bitlik bir sistemde Öğrenci Sürümü'nü kullandığım için '-glnx86' bayrağını kullanmam gerekiyordu, ancak bu da iyi çalıştı.

Ardından, bu web sitesinden bir simge almayı başardım.

Bu, daha sonra uygulama menüsünde bulunabilir ve başlatıcıya sürüklenebilir. Biraz garip davranan tek şey şuna tıkladığımda, sadece orada olanı kullanmak yerine başlatıcıda başka bir MATLAB simgesi görünmesidir. Eğer herkes bunu çözmek için bir yol bulabilirse, bu harika olurdu ... ama onunla yaşayabilirim.

    
verilen cevap Tim 11.10.2012 19:42

Etiketlerdeki diğer soruları oku