Вопрос или проблема
Я хочу создать значок лаунчера для VSCode на доке в Ubuntu 20.04. Я назвал его code.desktop
и положил в .local/share/applications
, затем прикрепил его к доку. Однако, когда я нажимаю на него, у меня появляется два значка:
Файл рабочего стола выглядит следующим образом:
[Desktop Entry]
X-SnapInstanceName=code
Name=Visual Studio Code
Comment=Редактирование кода. Переосмыслено.
NoDisplay=false
GenericName=Текстовый редактор
Exec=/snap/bin/code
Icon=/snap/code/49/meta/gui/com.visualstudio.code.png
Type=Application
StartupNotify=false
StartupWMClass=code
Categories=Utility;TextEditor;Development;IDE;
MimeType=text/plain;inode/directory;application/x-code-workspace;
Keywords=vscode;
Что происходит? Я попытался выполнить инструкции здесь, но они, похоже, либо устарели, либо не применимы к VS Code каким-то образом. wmprop
показывает мне "code", "Code"
для WMClass, и, как вы можете видеть, я уже установил это как StartupWMClass
(и имя файла рабочего стола, как рекомендовали другие в той ссылке).
У меня нет реальной идеи, почему, но я решил эту проблему, переименовав мой code.desktop
в code_code.desktop
.
Ответ или решение
Как создать собственный файл рабочего стола для VS Code в Ubuntu 20.04
Если вы хотите создать ярлык для Visual Studio Code (VS Code) на панели задач (доке) в Ubuntu 20.04 и столкнулись с проблемой дублирования значков при нажатии на него, следуйте этому пошаговому руководству.
Шаг 1: Создание файла .desktop
Файлы .desktop
используются для создания ярлыков приложений в Ubuntu. Чтобы создать кастомизированный файл для VS Code, выполните следующие действия:
-
Откройте терминал.
-
Создайте файл с именем
code.desktop
в директории~/.local/share/applications/
:nano ~/.local/share/applications/code.desktop
-
Скопируйте и вставьте следующий код в открытую текстовую область:
[Desktop Entry] Version=1.0 Name=Visual Studio Code Comment=Code Editing. Redefined. Exec=/snap/bin/code Icon=/snap/code/49/meta/gui/com.visualstudio.code.png Type=Application Terminal=false Categories=Utility;TextEditor;Development;IDE; StartupWMClass=code
Обратите внимание на:
- StartupWMClass: вы уже правильно указали это значение; важно, чтобы оно совпадало с
WMClass
вашего приложения. - Exec: путь к исполняемому файлу для VS Code должен быть правильным.
- StartupWMClass: вы уже правильно указали это значение; важно, чтобы оно совпадало с
-
Сохраните и закройте файл (
Ctrl + X
, потомY
иEnter
, чтобы подтвердить изменения).
Шаг 2: Проверка файла
После создания файла необходимо убедиться, что он имеет правильные разрешения:
chmod +x ~/.local/share/applications/code.desktop
Эта команда сделает файл исполняемым.
Шаг 3: Добавление ярлыка на панель задач
- Найдите
Visual Studio Code
в меню приложений. - Щелкните правой кнопкой мыши на значке и выберите "Закрепить на панель задач".
Почему могут дублироваться иконки?
Если после выполнения вышеописанных действий значок приложения все еще дублируется, возможно, проблема связана с конфликтующими настройками или неполадками с StartupWMClass
. Вы упомянули, что у вас два значения из wmprop
: "code"
и "Code"
.
Для решения этой проблемы вы можете попробовать несколько подходов:
-
Переименуйте файл: Переименование
code.desktop
вcode_code.desktop
, как вы уже сделали, в некоторых случаях может устранить дублирование, если система имеет проблемы с кэшированными значениями. -
Очистите кэш: Если вы хотите обновить кэш иконок, выполните команду:
gtk-update-icon-cache
-
Перезагрузите систему: Это может помочь обновить графические интерфейсы и решить проблемы с дублированием значков.
Заключение
Теперь у вас есть собственный ярлык для VS Code на панель задач в Ubuntu 20.04, который не дублируется. Если возникнут дальнейшие проблемы или у вас есть дополнительные вопросы, не стесняйтесь обратиться за помощью на специализированные форумы или к сообществу Ubuntu.