- Начиная с версии 16.04, Canonical решила представить в Ubuntu собственную систему управления пакетами snap в дополнение к существующему deb / apt, поставляемому Debian. Он в основном используется для несвободного (не открытого, т.е. проприетарного) программного обеспечения, такого как Beyond Compare, и другого программного обеспечения, которое никогда не добавлялось в репозитории Ubuntu deb *.
Я ожидаю, что они решили установить пакет мгновенной установки в другое место, чем по умолчанию, поскольку это помогает предотвратить определенные виды конфликтов, которые могут быть вызваны сосуществованием файлов, управляемых различными системами управления пакетами в одном и том же каталоге (ах).
Значки приложений на самом деле соответствуют .desktop
файлам. Эти файлы обычно помещаются в специальные папки, где файловые менеджеры и рабочие столы смогут их найти. Мне известны следующие папки:
/usr/share/applications
/var/lib/snapd/desktop
~/.local/share/applications
/etc/xdg/autostart/
Следующая команда должна найти все файлы .desktop
в вашей системе.
find /opt /snap /usr ~ /etc /lib* /srv /var /sbin /bin -name '*.desktop' 2>/dev/null
Файл .desktop
выглядит следующим образом:
$ cat /usr/share/applications/filezilla.desktop
[Desktop Entry]
Name=FileZilla
GenericName=FTP client
GenericName[da]=FTP-klient
GenericName[de]=FTP-Client
GenericName[fr]=Client FTP
Comment=Download and upload files via FTP, FTPS and SFTP
Comment[da]=Download og upload filer via FTP, FTPS og SFTP
Comment[de]=Dateien über FTP, FTPS und SFTP übertragen
Comment[fr]=Transférer des fichiers via FTP, FTPS et SFTP
Exec=filezilla
Terminal=false
Icon=filezilla
Type=Application
Categories=Network;FileTransfer;
Version=1.0
Для приложений, расположение которых необычно, запись Exec=
обычно представляет собой абсолютный путь, поэтому вы знаете, где на самом деле находится файл для выполнения. Это касается кода Visual Studio:
$ cat /usr/share/applications/code.desktop
[Desktop Entry]
Name=Visual Studio Code
Comment=Code Editing. Redefined.
GenericName=Text Editor
Exec=/usr/share/code/code --unity-launch %F
Icon=code
Type=Application
StartupNotify=true
StartupWMClass=Code
Categories=Utility;TextEditor;Development;IDE;
MimeType=text/plain;inode/directory;
Actions=new-empty-window;
Keywords=vscode;
[Desktop Action new-empty-window]
Name=New Empty Window
Exec=/usr/share/code/code --new-window %F
Icon=code
Если вы хотите узнать значение переменной $SNAP
, я ожидаю, что лучшее, что вы можете сделать, - это изменить скрипт и включить строку, подобную приведенной ниже, вверху.
echo 'SNAP='"$SNAP" > /tmp/SNAP_VALUE
Затем запустите приложение и проверьте файл /tmp/SNAP_VALUE
, либо с помощью gedit, либо из терминала:
more /tmp/SNAP_VALUE