Добавление Snap-пакетов в список приложений OS Elementary



  • Всем привет, хочу поделиться опытом использования Snap-пакетов в Ubuntu-подобной системе под названием Elementary OS. Что же такое snap? В двух словах Snap-пакет это изолированное от системы приложение, смысл Snap-пакета в том чтобы максимально облегчить установку и разрешение всякого рода зависимостей на разного рода системы, этакое кросс-Unix решение для установки пакетов.

    Но у Snap-приложений помимо сильных сторон есть и недостатки, к примеру - snap не добавляет установленное приложение в список приложений системы(из-за его безопасности видимо), что делает использование такого рода приложение не совсем удобным для использования.
    Об этом фиксе и пойдет речь в данном блоге.
    Хоть данный пост и рассчитан на людей которые примерно знают что такое snap, я расскажу немного о его установке и установке приложений в snap/snap-store:

    Для начала установим сам snap:

    sudo apt-get update
    sudo apt-get install snapd
    

    далее можно установить само приложение:

    snap install ИМЯ_Snap-Пакета
    

    Рекомендую установить Snap-Store, для упрощения использования и управления snap-пакетами:

    snap install snap-store
    

    запустим его введя snap-store в консоль.
    Снимок экрана от 2019-04-20 13.15.34.png
    После установки приложения следует бы добавить его в список приложений системы.
    Добавление приложения в Snap в список приложений системы происходит путем добавления файла в директорию /usr/share/applications/ ,файл в своем роде будет выглядеть следующим образом:

    sudo  nano /usr/share/applications/имяПриложения.desktop
    

    Далее в файл необходимо добавить следующие строки:

    [Desktop Entry]
    Name=имяПриложения
    Comment=описание приложения
    Exec= /snap/bin/ИМЯ_БИНАРНИКА %U
    Terminal=false
    Type=Application
    Encoding=UTF-8
    Categories=Development;Application;
    MimeType=text/x-script.phyton;
    X-KDE-Protocols=Pycharm
    

    Однако следует помнить что переменные и дополнительные параметры у каждого приложения свои и их будет необходимо нагуглить.

    Приведу список переменных которые лучше изменить для адекватной работы и распознавания операционной системой вашего приложения:
    Exec - отвечает за запуск бинарного файла, может быть запущен с правами администратора на редактирование/сохранение и создание файлов но для этого необходимо добавить параметр gksudo перед Абсолютным путем до бинарного файла Snap. таким образом переменная Exec будет выглядеть так:

    Exec=gksudo /snap/bin/ИМЯ_БИНАРНИКА %U
    

    Для корректной работы важно использовать системный пакет gksu

    sudo apt-get install gksu
    

    Mimetype - у каждого особый, вы можете добавить любые записи из спика, он отвечает за запуск распознаваемых файлов после знака "." , к примеру чтобы Os Elementary понять что файлы *.py нужно открывать через pycharm нужно написать следующее:

    MimeType=text/x-script.phyton;
    

    параметров MimeType может быть несколько полный список тут: Список MimeType

    Encoding - можно указать кодировку, если у приложение при первом запуске начало выдавать кривые симсволы (UTF-8 к примеру).

    Categories - Категории приложения используются для сортировки приложений
    короткий список ниже:

    • AudioVide

    • Audio

    • Video

    • Development

    • Education

    • Game

    • Graphics

    • Network

    • Office

    • Science

    • Settings

    • System

    • Utility

    • WebBrowser

    • IDE

    После проделанных действий приложение должно появиться в списке.



  • @cypher Не взирая на все попытки не удаётся установить snap



  • что говорит apt search snapd