Я пытаюсь установить модуль запуска Matlab R2011a для Unity в Ubuntu 12.04. Я попробовал это руководство (хотя я знаю, что это для 11.10 и упоминает, что даже 11.10 является неподдерживаемой ОС для Matlab R2011a), но без какого-либо удовлетворительного решения.
Это мой пусковой файл /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;
Я открываю панель приборов и ищу «matlab». Этот лаунчер встречается среди приложений. Я нажимаю на нее, и появляется заставка Matlab, но когда она исчезает, программа не запускается. (Я проверил, htop
что в фоновом режиме не запущены процессы Matlab.)
Если я добавлю
Terminal=true
к файлу запуска программа запускается ОК и открывает терминал, а также Matlab. Однако и терминал, и сам Matlab отображаются в области Launcher со значком Matlab, поэтому, похоже, у меня запущены два экземпляра Matlab, хотя на самом деле он один. (На самом деле, они отображаются как две разные программы, а не просто как два экземпляра одного и того же - значки независимы, а не сгруппированы вместе.)
Это определенно не оптимально. Я надеялся создать панель запуска, которую можно заблокировать в области панели запуска, и тогда эта же иконка будет иконкой для активного экземпляра Matlab во время работы программы.
Как мне создать модуль запуска для Matlab, который работает как положено?
Обновление: я был немного неясен с моими симптомами, попробую немного прояснить. Я также попробовал некоторые предложения из ответов и дополнительно изучил, что происходит. Моя текущая настройка (файл запуска с Terminal=true
и Exec=matlab -desktop -nosplash &
) отображает следующее поведение:
- Я открываю Dash, нажимая клавишу Windows на моем ноутбуке, и ищу «matlab». Находит пусковую установку с именем "MATLAB R2011a". Я нажимаю на это.
- Откроется окно терминала с использованием значка, на который я ссылался в файле программы запуска. Почти сразу же открывается заставка MATLAB с использованием того же значка (и, следовательно, сгруппированного с окном терминала в панели запуска).
- Заставка исчезает, как и один из значков в панели запуска. Окно рабочего стола MATLAB открывается с использованием другой версии значка, который отображается рядом со значком окна терминала (не сгруппирован с ним).
Я могу зафиксировать значок окна терминала на панели запуска и успешно запустить MATLAB, щелкнув по нему, но не кажется оптимальным, чтобы я запускал программу одним значком и переключался на него другим. Я также попробовал следующее:
Exec
без амперсанда&
в команде запуска, но это не имело значения.- Выполнение
matlab -nosplash
вручную из терминала по-прежнему показывает заставку. (Что же тогда делает опция nosplash?)
matlab
вручную в окне терминала?matlab
илиmatlab -desktop
.Ответы:
Ответ Гарретта почти работает для меня, но вместо этого я должен использовать
Это все еще дает дополнительный значок запуска, пока виден экран-заставка (потому что WM_CLASS на экране-заставке просто "MATLAB"), но затем окно правильно группируется под модулем запуска.
Новые экземпляры Matlab (запускаемые терминалом, или Synapse, или из другого tty с помощью
export DISPLAY=:0
) также группируются под этим средством запуска, и опция выхода из средства запуска убивает их всех.Я нашел это значение WM_CLASS с помощью
а затем, нажав на окно Matlab, я получил команду от Superuser .
Чтобы предотвратить временную дополнительную иконку запуска, вы также можете добавить
-nosplash
флаг после того, как-desktop
один.Итак, моя
~/.local/share/applications/MATLAB.desktop
выглядит так:Это на Ubuntu 12.10, с Matlab R2012b
источник
$ sudo wget http://upload.wikimedia.org/wikipedia/commons/2/21/Matlab_Logo.png -O /usr/share/pixmaps/matlab.png
Это очень странно.
matlab -desktop
действительно должен сделать трюк.Подход 1: посмотрим, что не так с лаунчером
У меня есть рабочая иконка MATLAB на боковой панели Unity. Я могу щелкнуть по нему, он поддерживает правильный значок и не открывает терминал. Насколько я вижу, он в значительной степени совпадает с вашим кодом:
Код выше находится в matlab.desktop, который находится в
/usr/share/applications/
. Единственные различия, которые, как я вижу, могут иметь значение: (i)Exec
путь, но если вы установили символические ссылки во время установки MATLAB, ваши должны работать нормально, и (ii) я использую MATLAB R2011b.Как и вы, я использую Ubuntu 12.04.
В случае, если я что-то пропустил, вы можете попробовать использовать мой код для запуска MATLAB, который знает, что это может сработать.
Подход 2: грязный обходной путь с терминалом
Вы упомянули вход
matlab -desktop
в терминал работает (т.е. добавлениеTerminal=true
). Однако, это дает вам два экрана, сгруппированных под MATLAB.Вы можете попытаться исправить это, изменив способ вызова процесса. Ключом здесь будет
&
символ амперсанда . То, что это делает, выполняет предыдущий код, не дожидаясь его завершения. В идеале, он должен запустить терминал, позволить терминалу запустить MATLAB и немедленно закрыть терминал, оставив MATLAB включенным. Что произойдет, если вы запустите matlab из терминала с амперсандом после строки, или:Если это сработает, вы можете попробовать (i) создать модуль запуска с
Terminal=true
вышеуказанным кодом или (ii) создать модуль запуска, который ссылается на скрипт bash, который, в свою очередь, вызывает вышеуказанный код.Для вас подход 1 не помог. Если Подход 2 не работает, возможно, было бы неплохо немного поиграть, посмотрите, что вы можете и не можете делать со скриптами амперсанда, терминала и bash. У меня почти нет хороших идей, но кто-то умнее меня может помочь тебе.
источник
matlab -desktop
(см. Подход 1). Для меня это вызов MATLAB с заставкой и правильным значком для основного интерфейса. Он находится под заблокированной пусковой установкой. Если вам нужен правильный значок и вы не можете запустить MATLAB через панель запускаmatlab -desktop
, у меня нет идей. Дам тебе знать, если я что-нибудь придумаю.Я установил файл / скрипт конфигурации Matlab из Центра программного обеспечения. В нем перечислены средства запуска Matlab в тире и отлично работает для Matlab2011a в Ubuntu 12.04. Но это не работает от лаунчера. Я имею в виду, если вы заблокируете его на панели запуска и попытаетесь запустить его оттуда, то он не будет работать, по крайней мере, он не работает для меня. Таким образом, я должен начать это с черты.
Чтобы установить это, перейдите в Ubuntu Software Center , найдите Matlab , он должен быть первым в списке (значок является логотипом Matlab). Просто установите его, и он позаботится обо всем остальном.
источник
Вот что я сделал, чтобы все работало правильно, начиная с новой установки ( версия R2010b в Ubuntu 12.04 ).
Установите пакет поддержки matlab из центра программного обеспечения, как предложено . Или вы можете использовать следующую команду:
sudo apt-get install matlab-support
.Создание локального файла .desktop:
gedit ~/.local/share/applications/matlab.desktop
. По какой-то причине сохранение его в / usr / share / Applications привело к тому, что оно не работало при первом входе в систему.Скопируйте и вставьте следующий код и сохраните. Важным изменением является строка StartupWMClass .
Откройте папку приложения , где вы только что сохранили файл matlab.desktop:
nautilus ~/.local/share/applications
.Перетащите файл matlab.desktop на панель запуска Unity.
источник
matlab -desktop
)matlab &
также работает без проблем (то есть-desktop
переключатель не требуется при запуске с терминала).Возможно, я немного опаздываю, но мне удалось это сделать, добавив запись в приложение «Главное меню». Я перечислил его как «Приложение», а затем предоставил полный путь к исполняемому файлу в каталоге MATLAB в качестве команды.
Мне также пришлось добавить флаг «-desktop» (без кавычек). Кроме того, мне также пришлось использовать флаг '-glnx86', так как я использую версию для студентов в 64-битной системе, но это также работало нормально.
Затем мне удалось получить значок с этого сайта .
Затем его можно найти в меню приложения и перетащить в панель запуска. Единственное, что действует немного странно, это то, что, когда я нажимаю на него, в модуле запуска появляется другой значок MATLAB вместо того, чтобы просто использовать уже существующий. Если кто-нибудь найдет способ решить эту проблему, это было бы здорово ... но я могу жить с этим, как есть.
источник