Estou tentando instalar um lançador do Matlab R2011a para Unity no Ubuntu 12.04. Eu tentei este guia (embora eu saiba que é para a 11.10 e mencione que até a 11.10 é um sistema operacional não suportado para o Matlab R2011a), mas sem nenhuma solução satisfatória.
Este é o meu arquivo do iniciador /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;
Abro o painel de instrumentos e procuro "matlab". Este iniciador é encontrado entre aplicativos. Clico nele e a tela inicial do Matlab aparece, mas quando desaparece, o programa não inicia. (Eu verifiquei htop
que nenhum processo matlab está sendo executado em segundo plano também.)
Se eu adicionar
Terminal=true
para o arquivo do iniciador, o programa inicia OK e abre um terminal e o Matlab. No entanto, o terminal e o próprio Matlab aparecem na área do Launcher, com o ícone Matlab, então parece que eu tenho duas instâncias do Matlab em execução quando na verdade é apenas uma. (Na verdade, eles aparecem como dois programas diferentes, e não apenas duas instâncias do mesmo - os ícones são independentes, não agrupados.)
Definitivamente, isso não é o ideal. Eu esperava criar um iniciador que eu possa bloquear na área do iniciador e, em seguida, esse mesmo ícone será o ícone da instância ativa do Matlab quando o programa estiver em execução.
Como crio um lançador para o Matlab que funciona conforme o esperado?
Atualização: aparentemente eu não estava muito claro sobre meus sintomas, vou tentar esclarecer um pouco. Eu também tentei algumas sugestões das respostas e investiguei mais o que acontece. Minha configuração atual (um arquivo iniciador com Terminal=true
e Exec=matlab -desktop -nosplash &
) renderiza o seguinte comportamento:
- Abro o Dash pressionando a tecla Windows no meu laptop e procuro "matlab". Ele encontra o iniciador chamado "MATLAB R2011a". Eu clico nele.
- Uma janela do terminal é aberta, usando o ícone a que me referi no arquivo do iniciador. Quase imediatamente, a tela inicial do MATLAB também é aberta, usando o mesmo ícone (e sendo agrupada com a janela do terminal no iniciador).
- A tela inicial desaparece e o mesmo ocorre com um dos ícones no iniciador. O ambiente da área de trabalho do MATLAB é aberto, usando uma versão diferente do ícone que é exibida ao lado do ícone da janela do terminal (não agrupada).
Posso bloquear o ícone da janela do terminal no iniciador e iniciar com êxito o MATLAB clicando nele, mas não parece ótimo que eu inicie o programa com um ícone e mude para outro. Eu também tentei o seguinte:
Exec
sem o e comercial&
no comando do iniciador, mas não fez diferença.- A execução
matlab -nosplash
manual de um terminal ainda mostra a tela inicial. (O que, então, a opção nosplash realmente faz?)
matlab
manualmente em uma janela do Terminal?matlab
oumatlab -desktop
também.Respostas:
A resposta de Garrett quase funciona para mim, mas eu tenho que usar
Isso ainda fornece um ícone extra do iniciador enquanto a tela inicial está visível (porque o WM_CLASS da tela inicial é apenas "MATLAB"), mas a janela é agrupada corretamente no iniciador.
Novas instâncias do Matlab (iniciadas pelo terminal, ou Synapse, ou de outro tty com
export DISPLAY=:0
) também são agrupadas nesse iniciador, e a opção de encerrar do iniciador mata todos eles.Encontrei esse valor WM_CLASS usando
e, em seguida, clicar na janela do Matlab, um comando que recebi do Superusuário .
Para impedir o ícone do lançador extra temporário, você também pode adicionar a
-nosplash
bandeira após a-desktop
mesma.Então, minha
~/.local/share/applications/MATLAB.desktop
aparência é assim:Este é no Ubuntu 12.10, com Matlab R2012b
fonte
$ sudo wget http://upload.wikimedia.org/wikipedia/commons/2/21/Matlab_Logo.png -O /usr/share/pixmaps/matlab.png
Isso é muito estranho.
matlab -desktop
realmente deve fazer o truque.Abordagem 1: veja o que há de errado com o iniciador
Eu tenho um ícone do MATLAB em funcionamento na minha barra lateral do Unity. Eu posso clicar nele, ele mantém o ícone correto e não abre um terminal. Até onde eu sei, é praticamente o mesmo que o seu código:
O código acima está em matlab.desktop, que é colocado em
/usr/share/applications/
. As únicas diferenças que vejo que podem importar são (i) oExec
caminho, mas se você instalou links simbólicos durante as instalações do MATLAB, o seu deve funcionar bem e (ii) estou executando o MATLAB R2011b.Como você, estou executando o Ubuntu 12.04.
Caso eu tenha perdido alguma coisa, você pode tentar usar meu código para iniciar o MATLAB, quem sabe, pode funcionar.
Abordagem 2: uma solução alternativa suja com o terminal
Você mencionou entrar
matlab -desktop
nas obras do terminal (ou seja, adicionarTerminal=true
). No entanto, isso oferece duas telas agrupadas no MATLAB.Você pode tentar corrigir isso alterando a forma como chama o processo. A chave aqui seria o
&
símbolo e comercial . O que isso faz é executar o código anterior, sem esperar que ele termine. O ideal seria iniciar o terminal, deixar o terminal iniciar o MATLAB e fechar imediatamente o terminal, deixando o MATLAB funcionando. O que acontece se você iniciar o matlab a partir do terminal com o e comercial após a linha, ou:Se isso funcionar, você pode tentar (i) criar um iniciador com
Terminal=true
o código acima ou (ii) criar um iniciador que se refira a um script bash, que por sua vez chama o código acima.Para você, a Abordagem 1 não ajudou. Se a Abordagem 2 não funcionar, pode ser bom brincar um pouco, veja o que você pode ou não fazer com os scripts "e" comercial, terminal e bash. Estou praticamente sem boas idéias, mas alguém mais inteligente que eu talvez possa ajudá-lo.
fonte
matlab -desktop
(consulte a Abordagem 1). Para mim, isso chama o MATLAB, com a tela inicial e o ícone correto para a interface principal. É colocado sob o iniciador bloqueado. Se você deseja o ícone correto e não pode executar o MATLAB através de um iniciadormatlab -desktop
, estou sem ideias. Avisarei se eu apresentar alguma coisa.Instalei um arquivo / script de configuração do Matlab no Software Center. Ele lista o iniciador do Matlab no painel e funciona perfeitamente para o Matlab2011a no Ubuntu 12.04. Mas não está funcionando no iniciador. Quero dizer, se você bloqueá-lo no iniciador e tentar iniciá-lo a partir daí, não funcionará, pelo menos não está funcionando para mim. Então eu tenho que começar do zero.
Para instalar isso, acesse o Ubuntu Software Center , procure o Matlab , ele deve ser o primeiro da lista (o ícone é um logotipo do Matlab). Basta instalá-lo e ele cuidará do resto.
fonte
Aqui está o que eu fiz para fazer as coisas funcionarem corretamente, iniciando com uma nova instalação ( versão R2010b no Ubuntu 12.04 ).
Instale o pacote matlab-support do centro de software, conforme sugerido . Ou você pode usar o seguinte comando:
sudo apt-get install matlab-support
.Criar um arquivo .desktop local:
gedit ~/.local/share/applications/matlab.desktop
. Por alguma razão, salvá-lo em / usr / share / applications fez com que ele não funcionasse quando eu faria o primeiro login.Copie e cole o seguinte código e salve. A mudança importante é a linha StartupWMClass .
Abra as aplicações pasta onde você salvou o arquivo matlab.desktop:
nautilus ~/.local/share/applications
.Arraste e solte o arquivo matlab.desktop no iniciador da unidade.
fonte
matlab -desktop
)matlab &
também funciona sem problemas (ou seja, o-desktop
interruptor não é necessário ao iniciar a partir do terminal).Talvez eu esteja chegando um pouco tarde, mas consegui fazer isso adicionando uma entrada ao aplicativo 'Menu principal'. Listei-o como um 'Aplicativo' e, em seguida, forneci o caminho completo para o executável no diretório MATLAB como o Comando.
Eu também tive que adicionar a bandeira '-desktop' (sem aspas). Além disso, eu também tive que usar o sinalizador '-glnx86', pois estou usando a versão do aluno em um sistema de 64 bits, mas isso também funcionou bem.
Consegui, então, obter um ícone deste site .
Isso pode ser localizado no menu do aplicativo e arrastado para o iniciador. A única coisa que está agindo um pouco estranho é que, quando clico nele, outro ícone do MATLAB aparece no iniciador, em vez de apenas usar o que já existe. Se alguém puder encontrar uma maneira de resolver isso, isso seria ótimo ... mas eu posso viver com isso como é.
fonte