Uma resposta ingênua: você já tentou
Exec=bash matlab %f
Em princípio, isso deve ser equivalente a você executá-lo no shell com o arquivo como argumento.
(Não se trata de criar um lançador no dock ou algo assim.)
Quando eu navego em uma pasta com alguns arquivos Matlab .m, e simplesmente faço
matlab myscript.m
no terminal, ele inicia o Matlab com o diretório de trabalho configurado para onde o arquivo está.
Isto tem algumas vantagens: Se houver também um arquivo startup.m no diretório - e, portanto, no caminho do Matlab - o Matlab o notará e executará.
Eu tentei replicar essa funcionalidade com um arquivo .desktop, então eu poderia clicar em um arquivo .m (reconhecido como objetivo C pelo Ubuntu ...) com os mesmos resultados como se eu o executasse do terminal, mas sem sorte.
Veja o que tentei:
Eu coloquei text/x-objcsrc=Matlab.desktop
em /home/jakub/.local/share/applications/mimeapps.list
e criou este arquivo da área de trabalho em /home/jakub/.local/share/applications
Version=1.0
Type=Application
Terminal=false
Exec=matlab -desktop
Name=Matlab
Icon=/home/jakub/Pictures/icons/Apps-Matlab-icon.png
Categories=Development
Quando clico em um arquivo .m, ele inicia o Matlab, mas não é equivalente a executá-lo no terminal (veja acima): Principalmente, o diretório de trabalho é definido como padrão do Matlab, em vez de onde o script é script não abre, apenas Matlab simples com editor vazio.
Eu também tentei isso:
Exec=matlab -desktop -r "edit %f"
que abre o arquivo mas não define o diretório de trabalho
Exec=matlab -desktop -r "cd %d"
que altera o diretório de trabalho, mas após o Matlab é executado, o que significa que ele não executará o código no startup.m (portanto, não é equivalente a fazer matlab myscript.m
no terminal).
Existe alguma maneira de perfeitamente imitar matlab myscript.m
como executado a partir do terminal, mas em um arquivo de área de trabalho?
Uma resposta ingênua: você já tentou
Exec=bash matlab %f
Em princípio, isso deve ser equivalente a você executá-lo no shell com o arquivo como argumento.
Eu tive um problema semelhante, quando tentei configurar manualmente o Matlab.
Eventualmente, eu corri:
sudo apt-get install matlab-support
e seguiu as instruções de instalação. Isso apenas adiciona o Matlab ao Dashboard.
O arquivo matlab.desktop resultante lê:
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=matlab -desktop
Name=MATLAB
Icon=/usr/share/icons/hicolor/48x48/apps/matlab.png
Categories=Development;Math;Science
Comment=Scientific computing environment
StartupNotify=true
StartupWMClass=com-mathworks-util-PostVMInit
Para abrir arquivos .m no matlab clicando neles Eu usei o Ubuntu GUI para configurá-lo para abrir esses arquivos com o comando:
matlab -desktop -r "open %U;"
Isso abre o arquivo no Matlab e define o diretório de trabalho atual para onde o arquivo está localizado (pelo menos com o Matlab 2016b).
Espero que esta informação ajude.
Então, isso é realmente estranho para mim. Primeiro, eu acho, aqui está minha configuração:
%pre%Eu tenho uma placa de porta SFP + de 2x10Gib e estou usando uma porta nesse cartão.
%pre%Aqui está a configuração que estou usando para p7p1:
%pre%Eu tenho um endereço e tenho conectividade de rede, mas não consigo fazer o download / upload de nada grande sem bloquear minha sessão ssh.
%pre%root @ kh13-9: /var/log/radosgw # curl -s www.google.com & gt; / dev / null & amp; & amp; echo $ ?; eco 0
e por grande quero dizer 100mib.bin de um espelho local.
%pre%O arquivo nunca será baixado e, até que eu pressione ctrl + c, o host não parece aceitar mais nenhuma conexão ssh além da inicial.
Reiniciar o host corrige, mas o problema volta depois de algum tempo. Tudo no switch parece bom para mim. Tudo neste host parece bem. Não há nenhuma carga, o RAM está bom, não há troca acontecendo agora. Eu realmente não tenho ideia do que está acontecendo agora.
Eu tenho ceph radosgw neste host e parece acontecer com qualquer nó 14.04 com radosgw em execução. A questão é, depois que eu paro radosgw o problema persiste até que eu reinicie o servidor. Eu estou perdido. Alguém tem alguma idéia sobre o que isso pode ser? Eu penso que isto é um erro.