Дублированные иконки с Unity. Частный случай: Matlab

Когда я запускаю 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

Но я не думаю, что проблема связана с этим. Может быть, некоторые из последних обновлений? Я не знаю.

3
задан 19 July 2015 в 05:43

6 ответов

Добавьте следующую строку в ваш файл .desktop

StartupWMClass=com-mathworks-util-PostVMInit
.
0
ответ дан 19 July 2015 в 05:43

У меня была такая же проблема с Matlab R2013a. Я открыл файл .desktop и обнаружил, что содержание было правильным, за исключением того, что между StartupNotify=true и StartupWMClass=com-mathworks-util-PostVMInit была пустая строка. Я удалил пустую строку, перезапустил Matlab, и это сработало. Теперь только один значок отображается, как и ожидалось. Не уверен, как это работает!

0
ответ дан 19 July 2015 в 05:43

Добавьте следующую строку в ваш файл .desktop

StartupWMClass = com-mathworks-util-PostVMInit

Для меня это сработало. Второй значок появляется только при запуске matlab, и появляется небольшое окно с надписью «Matlab: язык технических вычислений»; затем он исчезает, и остается только одна иконка.

Я также установил пакет matlab-support, возможно, он может быть полезен.

0
ответ дан 19 July 2015 в 05:43

Здесь https://wiki.archlinux.org/index.php/matlab#Activation упоминается возможное решение (у меня была такая же проблема):

для правильного отображения значков StartupWMClass необходимо установить в записи рабочего стола. Чтобы выяснить это, запустите MATLAB, запустите xprop | grep WM_CLASS на терминале и выберите окно MATLAB.

0
ответ дан 19 July 2015 в 05:43

Вы пробовали это?

(Обратите внимание, что, конечно, безопаснее просто переместить файл за пределы каталога, например переместить его на рабочий стол перед удалением, чтобы убедиться, что он решает проблему перед удалением файла .)

Для всех, кто заинтересован, выкладываю решение проблемы. Я выполнил следующую команду в /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

После проверки первой записи (так как это был файл .desktop), я нашел что это был виновник, и удаление его исправило дублирующую иконку в Dash.

Вышеупомянутое решение, в blockquote взято отсюда, это работало для меня

0
ответ дан 19 July 2015 в 05:43

в Matlab2017b строка, которую нужно было добавить в файл рабочего стола, была

StartupWMClass=sun-awt-X11-XFramePeer

0
ответ дан 19 July 2015 в 05:43

Другие вопросы по тегам:

Похожие вопросы: