Когда я запускаю Matlab из его запуска, появится второй значок. Забавно, что если я наведу мышку на новую иконку, то текст, который появляется на ней, не тот, который есть в моем файле .desktop. Поэтому я предполагаю, что программа запуска запускает сценарий, но не может связать его со значком, поэтому запускает дополнительный.
Пока что это случилось только с Матлабом.
Я не знаю, что случилось, все работало нормально, а теперь нет. Я не чувствую, что я что-то изменил.
У меня есть файл .desktop в .local / share / launchers. Его код:
[Desktop Entry]
Type=Application
Name=Matlab
Comment=Matlab
Exec=/usr/local/MATLAB/R2012a/bin/matlab -desktop
Icon=/home/kais3r/.local/share/launchers/Matlab.png
Terminal=false
Categories=Math;IDE;
StartupNotify=true
Но я не думаю, что проблема связана с этим. Может быть, некоторые из последних обновлений? Я не знаю.
Добавьте следующую строку в ваш файл .desktop
StartupWMClass=com-mathworks-util-PostVMInit
. У меня была такая же проблема с Matlab R2013a. Я открыл файл .desktop и обнаружил, что содержание было правильным, за исключением того, что между StartupNotify=true
и StartupWMClass=com-mathworks-util-PostVMInit
была пустая строка. Я удалил пустую строку, перезапустил Matlab, и это сработало. Теперь только один значок отображается, как и ожидалось. Не уверен, как это работает!
Добавьте следующую строку в ваш файл .desktop
StartupWMClass = com-mathworks-util-PostVMInit
blockquote>Для меня это сработало. Второй значок появляется только при запуске matlab, и появляется небольшое окно с надписью «Matlab: язык технических вычислений»; затем он исчезает, и остается только одна иконка.
Я также установил пакет matlab-support, возможно, он может быть полезен.
Здесь https://wiki.archlinux.org/index.php/matlab#Activation упоминается возможное решение (у меня была такая же проблема):
для правильного отображения значков
BLOCKQUOTE>StartupWMClass
необходимо установить в записи рабочего стола. Чтобы выяснить это, запустите MATLAB, запуститеxprop | grep WM_CLASS
на терминале и выберите окно MATLAB.
Вы пробовали это?
(Обратите внимание, что, конечно, безопаснее просто переместить файл за пределы каталога, например переместить его на рабочий стол перед удалением, чтобы убедиться, что он решает проблему перед удалением файла .)
Для всех, кто заинтересован, выкладываю решение проблемы. Я выполнил следующую команду в
/usr/share/applications
и~/.local/share/applications
, чтобы найти файлы, содержащие запись Matlab независимо от случая; Я узнал этот трюк из StackOverflow .grep -Ril "Matlab" /usr/share/applications/
Вывод был:
/usr/share/applications/matlab.desktop
- файл, который я сгенерировал вручную. Однако, когда я запустил команду в другом каталоге
grep -Ril "Matlab" ~/.local/share/applications/
Вывод был:
/home/ongun/.local/share/applications/com-mathworks-util-postvminit.desktop /home/ongun/.local/share/applications/mimeapps.list
После проверки первой записи (так как это был файл
blockquote>.desktop
), я нашел что это был виновник, и удаление его исправило дублирующую иконку вDash
.Вышеупомянутое решение, в blockquote взято отсюда, это работало для меня
в Matlab2017b строка, которую нужно было добавить в файл рабочего стола, была
StartupWMClass=sun-awt-X11-XFramePeer