Где хранятся desktop файлы gnome
Из того, что я могу собрать, .desktop файлы являются ярлыками, которые позволяют настраивать параметры приложения. Например, у меня их много в моей /usr/share/applications/ папке.
Если я открою эту папку в nautilus , я могу запустить эти приложения, просто дважды щелкнув соответствующий файл, например, дважды щелкнув, firefox.desktop запустит Firefox. Тем не менее, я не могу найти способ сделать то же самое через терминал.
Это мой вопрос, как мне запустить foo.desktop файл из терминала?
NB. Причина, по которой вы exec потерпели неудачу, заключается в том, что exec заменяет ваш текущий запущенный процесс указанным вами процессом, поэтому вы попытались заменить вашу оболочку запуском рабочего стола в виде скомпилированного двоичного файла. Причина, по которой вы не смогли этого сделать, sudo exec заключается в том, что это встроенная оболочка, а не двоичная команда.
Команда, которая выполняется, содержится в файле рабочего стола, перед которым стоит, Exec= чтобы вы могли извлечь и запустить ее:
Чтобы сломать это
Вы можете поместить это в файл, скажем, ~/bin/deskopen с содержанием
Затем сделайте его исполняемым
И тогда вы могли бы сделать, например,
На данный момент я добавил секунду, sed чтобы удалить любые аргументы. Но я думаю, что может быть более «естественный» способ запустить его.
Вы должны добавить «tail -1» в канал после «grep», поскольку «Exec =» может появляться несколько раз, и после этого должно выполняться только последнее появление.
-1: Это может работать для простых .desktop файлов, но он игнорирует записи , как Path= и TryExec= которые могут повлиять на исполнение. Он также выполняется неправильно, Exec= если файл содержит Действия на рабочем столе («
Ответ должен быть
Но из- за ошибки это больше не работает.
WoW это все еще ошибка, много прогресса в xdg. exo-open указан как обходной путь, и он также открывает Gedit. :(
@RichardHolloway: gnome-open никак не назвать xdg-open , это наоборот! Таким образом, проблема заключается в gvfs-open (преемник или gnome-open )
"больше не работает"? Такого никогда не было! xdg-open работы ассоциации mimetype, а .desktop файлы связаны с текстовыми редакторами, поскольку они являются подклассом текста
С любой недавней Ubuntu, которая поддерживает gtk-launch просто перейти
gtk-launch где имя файла .desktop с или без .desktop детали
Так gtk-launch foo открывается foo.desktop
.Desktop должен находиться в / usr / share / Applications, / usr / local / share / application или ~ / .local / share / Applications
Используется из терминала или alt + F2 (команда alt + F2 хранит историю, поэтому легко доступна)
gtk-launch firefox.desktop ~ / .local / share / Applications / запускает Firefox, просматривая каталог ~ / .local / share / Applications / для меня. Кажется, если вы были правы, Firefox не должен был передаваться каталог файла .desktop в качестве аргумента. Фактически, каталог, переданный в gtk-launch, не должен использоваться для поиска каталога, содержащего файл .desktop (и на самом деле это не так)
Никакая версия этого не работает для меня в Ubuntu 18.10. Каждый раз, когда он жалуется, приложение не существует, нахожусь ли я в папке с файлом рабочего стола или нет, включаю ли я расширение .desktop или нет, и я отдельно называю каталог или нет.
На сегодняшний день (12.10) ошибка все еще присутствует. На самом деле это зависит от того, как gvfs-open ( вызывается xdg-open ) работает.
Тем не менее, мне удалось быстро обойти (украсть вдохновение из исходного кода nautilus). Это немного запутанно, но работает безупречно на Ubuntu 12.10, добавляя значащий значок (не более ? ) на панели запуска Unity.
Во-первых, я написал скрипт на Python с использованием Gio и поместил его в файл ~/bin/run-desktop :
Сценарий должен иметь разрешение на выполнение, поэтому я запустил его в терминале:
Затем я создал относительную .desktop запись на ~/.local/share/applications/run-desktop.desktop :
Наконец -то я связывал запись в качестве обработчика по умолчанию в ~/.local/share/applications/mimeapps.list соответствии с [Default Applications] сечением в виде:
В настоящее время:
Это будет бесполезная работа, когда gvfs-open решит ошибку, а пока .
Это работает лучше, чем ответ Хэмиша Даунера, поскольку он будет правильно обрабатывать несколько Exec= строк и % параметров в команде.
Спасибо за код - я на Lucid, и я просто сохранил это как /usr/bin/xdg-openpy , и дал его chmod +x - и использовал launcher.launch([],context) вместо . None,context) (из-за " TypeError: аргумент 1: Должен быть последовательность, а не NoneType "). Теперь xdg-openpy app.desktop работает из командной строки (и все как обычно при двойном щелчке app.desktop ), и это может напомнить мне, если я попытаюсь позвонить в терминал xdg-open и нажать Tab. Ура!
+1. Это единственный ответ, который не требует ручного анализа .desktop файла, поэтому это наиболее разумный (и безопасный) подход. Также использует современные gi.repository вместо устаревших pygtk , так здорово! :)
На самом деле, это вопрос, касающийся ответа Карло Пеллегрини. Я новичок, пожалуйста, поправьте меня, если есть лучший способ разместить его. Сценарий работает очень хорошо, но значок, который я получаю на панели запуска Unity, - это не значок, определенный в файле .desktop, а значок по умолчанию для команды «Exec». Есть идеи по этому поводу?
@Noitidart написать последний ответ привел Мо сделать Google, и я нашел это . Не проверил это, но, возможно, это поможет
Вы должны действительно использовать, gtk-launch если это доступно. Обычно это часть пакета libgtk-3-bin (это может отличаться в зависимости от дистрибутива).
gtk-launch используется следующим образом:
Обратите внимание, что для установки gtk-launch требуется файл .desktop (т. Е. Он находится в /usr/share/applications или ~/.local/share/applications ).
Таким образом, чтобы обойти это, мы можем использовать маленькую хакерскую функцию Bash, которая временно устанавливает нужный файл .desktop перед его запуском. «Правильный» способ установки файла .desktop - через, desktop-file-install но я собираюсь игнорировать это.
Вы можете использовать его следующим образом (а также передавать дополнительные аргументы или URI, если хотите):
Если вы хотите вручную проанализировать и выполнить файл .desktop , вы можете сделать это с помощью следующей awk команды:
Вышеупомянутые команды будут:
- Найти строку, начинающуюся с Exec =
- Удалить Exec =
- Удалите все переменные Exec (например %f , %u , %U ). Их можно заменить позиционными аргументами, как это предусмотрено в спецификации, но это может значительно усложнить проблему. См. Последнюю спецификацию входа на рабочий стол .
- Выполнить команду
- Немедленно завершите работу с соответствующим кодом выхода (чтобы не выполнять несколько строк Exec )
Обратите внимание, что этот сценарий AWK обращается к нескольким крайним случаям, которые могут или не могут быть должным образом рассмотрены некоторыми другими ответами. В частности, эта команда удаляет несколько переменных Exec (стараясь не удалять символ% в противном случае), будет выполнять только одну строковую команду Exec и будет вести себя так, как ожидается, даже если строковая команда Exec содержит один или несколько знаков равенства (например, script.py --profile=name ).
Еще несколько предостережений . Согласно спецификации, TryExec это:
Путь к исполняемому файлу на диске, который используется для определения, установлена ли программа на самом деле. Если путь не является абсолютным, файл ищется в переменной среды $ PATH. Если файл отсутствует или не является исполняемым, запись можно игнорировать (например, не использовать в меню).
Имея это в виду, не имеет смысла выполнять его значение.
Некоторые другие проблемы - Путь и Терминал . Путь состоит из рабочего каталога, в котором запускается программа. Terminal - логическое значение, указывающее, выполняется ли программа в окне терминала. Все это может быть решено, но нет смысла изобретать велосипед, поскольку уже есть реализации спецификации. Если вы хотите реализовать Path , имейте в виду, что он system() порождает подпроцесс, поэтому вы не можете изменить рабочий каталог, выполнив что-то подобное system("cd \047" working_directory "\047"); system(command) . Однако вы могли бы предположительно сделать что-то вроде system("cd \047" working_directory "\047 && " command) . Примечание \ 047 - одинарные кавычки (поэтому команда не разбивается на пути с пробелами).
Я краду страницу с Карло здесь , который предложил создать сценарий Python , чтобы использовать г модуля. Вот минимальный способ выполнить тот же код из оболочки без необходимости создавать файл и беспокоиться о вводе / выводе.
Затем выполните функцию запуска следующим образом:
Обратите внимание, что использование URI необязательно. Кроме того, проверка ошибок не выполняется, поэтому вы должны убедиться, что модуль запуска существует и доступен для чтения (перед его использованием), если вы хотите, чтобы ваш сценарий был надежным.
Из того, что я могу собрать, .desktop файлы являются ярлыками, которые позволяют настраивать параметры приложения. Например, у меня их много в папке /usr/share/applications/ .
Если я открою эту папку в nautilus , я могу запустить эти приложения, просто дважды щелкнув соответствующий файл, например, Двойной щелчок firefox.desktop запускает Firefox. Тем не менее, я не могу найти способ сделать то же самое через терминал.
Это мой вопрос, как мне запустить файл foo.desktop из терминала?
Tips and tricks
Советы и хитрости
Распространенные форматы изображений
Ниже приведен краткий обзор форматов изображений, обычно используемых для значков.
Изменение переменных среды
Отредактируйте команду Exec , добавив env, чтобы задать переменные окружения. Например:
Совет: Предпочтительно скопировать файл .desktop в директорию ~/.local/share/applications/ вместо изменения его в /usr/share/applications/ .
The XDG Desktop Entry specification defines a standard for applications to integrate into application menus of desktop environments implementing the XDG Desktop Menu specification.
Application entry
Desktop entries for applications, or .desktop files, are generally a combination of meta information resources and a shortcut of an application. These files usually reside in /usr/share/applications/ or /usr/local/share/applications/ for applications installed system-wide, or ~/.local/share/applications/ for user-specific applications. User entries take precedence over system entries.
Key definition
All recognized entries can be found on the freedesktop site. For example, the Type key defines three types of desktop entries: Application (type 1), Link (type 2) and Directory (type 3).
- Version key does not stand for the version of the application, but for the version of the desktop entry specification to which this file complies.
- Name , GenericName and Comment often contain redundant values in the form of combinations of them, like:
This should be avoided, as it will only be confusing to users. The Name key should only contain the name, or maybe an abbreviation/acronym if available.
- GenericName should state what you would generally call an application that does what this specific application offers (i.e. Firefox is a "Web Browser").
- Comment is intended to contain any useful additional information.
Run a desktop file from a terminal
If gtk3 is installed, run gtk-launch application.desktop .
Or install the dex package and run dex /path/to/application.desktop .
Common image formats
Here is a short overview of image formats commonly used for icons.
Contents
Update database of desktop entries
To make desktop entries defined in ~/.local/share/applications work, run the following command:
fbrokendesktop
Скрипт fbrokendesktop AUR с использованием команды which для обнаружения сломанного Exec , который указывает на не существующий путь. Без каких-либо параметров он использует предварительно установленные каталоги в массиве DskPath . Он показывает только сломанный .desktop с полным отсутствием пути и имени файла.
Modify desktop files
For system-wide .desktop files (e.g. those installed from a package), first copy the relevant .desktop file (e.g. from /usr/share/applications/ ) to $XDG_DATA_HOME/applications/ (e.g. ~/.local/share/applications/ ). This prevents your changes from being overwritten when the package gets updated during system upgrades. The local user-specific .desktop files should automatically take precedence over the system-wide files. Now you can modify the local user-specific .desktop file as needed.
Hide desktop entries
The visibility of the desktop entry can be controlled in multiple ways. See the Desktop Entry Specification for more information. Add one of the following lines to your .desktop file:
- All desktop environments, choose one (or both) of the following:
- Add the line NoDisplay=true for applications that you don't want displayed in the menus.
- Add the line Hidden=true for applications that you consider deleted and don't want displayed in the menus.
- Add the line NotShowIn=desktop_names to hide the entry only in the specified desktop environments.
- Add the line OnlyShowIn=desktop_names to show the entry only in the specified desktop environments.
Modify environment variables
To set environment variables, in the .desktop file, edit the Exec= line to first use the env(1) command to set your variables. For example:
. антиаллиассинга, хинтинга, используемых шрифтов, редакция которых проведена через "Система -> Параметры -> Внешний вид"?
Разве не .gtkrc-2.0 ?
нет, там только цвета.
> gconf-editor ;)
Что ж никто не ответил - в реестре? ;)) Я думал, это будет первым же постом.
Очевидно же, ты первый троль добравшийся до этой темы.
Походу гном полностью игнорирует /etc/fonts/local.conf. Отключил в конфигурилке антиаллиассинг, включил в local.conf - антиаллиассинга нет. Включил в конфигурилкеантиаллиссинг, отключил в local.conf для Times New Roman - антиаллиассинг есть для всего, указанного шрифта в том числе. Блин.
а здесь? /etc/fonts/fonts.conf
gnome-settings-daemon ставит настройки из реестра.
>Походу гном полностью игнорирует /etc/fonts/local.conf.
gnome-config-daemon оверрайдит это все настройками из реестра
Подскажите, как мне убрать тогда антиаллиассинг для определённого шрифта.
О, пришли дебилы и начали называть XML реестром.
Подскажите, как мне убрать тогда антиаллиассинг для определённого шрифта.
как-то так, в ~/.fonts.conf:
Можно также для определённого размера и начертания задавать настройки.
>О, пришли дебилы и начали называть XML реестром.
В гноме не из xml настройки берутся, а через gconf, то есть реестр. Который хранит информацию в своём формате, и это не обязательно текстовый файл . Вроде даже обещали сменить xml на бинарные файлы, поскольку там опять что-то в гноме тормозило жутко.
Всё, всем спасибо, сделал, что хотел.
Проблема была в следующем. Настройки из local.conf в гноме работают, но не везде. В файрфоксе они игнорируются. Перенос настроек в fonts.conf дал желаемое - фф их там видит.
Х.з. почему такой шаманизм, вероятно в cairo дело, которое фф использует.
>На венду, быдло.
Зачем оно мне, эта операционка как раз для дебильчиков вроде тебя.Ты же поклонник реестра, вот и обмазывайся им.
У меня фф берёт настройки из local.conf.
Icons
Определение ключа
- Ключ Version обозначает версию спецификации ярлыка приложения, которая соответствует этому файлу, но не как не версию приложения.
- Name , GenericName и Comment часто содержат избыточные значения в виде комбинаций из них, например:
Этого следует избегать, поскольку это только будет запутывать пользователей. Ключ Name должен содержать только имя или хотя бы аббревиатуру/акроним, если они доступны.
- GenericName должен указывать на категорию приложения, которая обозначает особый признак этого конкретного приложения (например Firefox является "веб-браузером").
- Comment должен содержать любую полезную дополнительную информацию.
Осуждение
Существует много ключей, которые стали устаревшими с течением времени по мере созревания стандарта. Лучший/самый простой способ - использовать инструмент desktop-file-validate , который является частью пакета desktop-file-utils . Чтобы проверить, выполните
Ярлык приложения
Ярлыки для приложений или файлов .desktop , как правило, представляют собой комбинацию метаинформационных ресурсов и ярлыков приложений. Эти файлы обычно находятся в /usr/share/applications или /usr/local/share/applications для приложений, установленных в системе, или ~/.local/share/applications для пользовательских приложений. Пользовательские ярлыки имеют приоритет над системными ярлыками.
Converting icons
If you convert from a container format like ico , you will get all images that were encapsulated in the ico file in the form -.jpg . If you want to know the size of the image, or the number of images in a container file like ico you can use the identify tool (also part of the imagemagick package):
As you can see, the example ico file, although its name might suggest a single image of size 48x48, contains no less than 6 different sizes, of which one is even greater than 48x48, namely 128x128.
Alternatively, you can use icotool (from icoutils ) to extract png images from ico container:
For extracting images from .icns container, you can use icns2png (provided by libicns ):
Validation
As some keys have become deprecated over time, you may want to validate your desktop entries using desktop-file-validate(1) which is part of the desktop-file-utils package. To validate, run:
This will give you very verbose and useful warnings and error messages.
Изначально написанный ответ
- смотрите комментарии под этим ответом о том, почему этот подход не работает для многих файлов рабочего стола.
Выполняемая команда содержится внутри файла рабочего стола, перед которым стоит Exec= , так что вы можете извлечь и запустить ее:
Чтобы разбить ее
Вы можете поместить ее в файл, скажем ~/in/deskopen с содержимым
Затем сделать ее исполняемой
И затем вы можете сделать это, e. g.
Аргументы ( %u , %F и т.д.) подробно описаны здесь. Ни один из них не имеет отношения к запуску из командной строки.
Ответ Хэмиша отличный, но я хотел бы предложить более простую альтернативу с меньшим количеством каналов:
$ (awk -F = '/ ^ Exec / || / ^ TryExec / '/usr/share/applications/firefox.desktop)
В этом случае awk ищет строку, начинающуюся с Exec , а затем мы просто печатаем поля после этой строки, используя цикл for и = , мы печатаем поле 2, то есть все, что идет после этого поля. Фигурные скобки на концах команд $ (. ) - это подстановка параметров, поэтому оболочка выполнит все, что возвращает команда awk; в этом случае он возвращает фактическую команду, которая идет после Exec = .
В некоторых редких случаях может быть более одного знака = , что все еще возможно. Для этого я предлагаю
Убедитесь, что скрипт, на который указывает ваш файл рабочего стола, также является исполняемым.
Если по-прежнему не работает. Сделайте файл рабочего стола доступным для запуска в терминале, изменив Terminal = true и поместив его в сценарий bash. Запустите сценарий, чтобы перехватить вывод ошибки. Вернуть назад, когда ошибки будут исправлены.
В зависимости от вашей системы и различных ошибок, которые могут существовать или не существовать в вашей системе, попробуйте следующие, пока один из них не сработает:
- xdg-open имя_программы.desktop
- exo-open имя_программы.desktop
- gtk-launch имя_программы.desktop
- kioclient exec имя_программы.desktop
- dex имя_программы.desktop
Обратите внимание, что в системах Ubuntu средства запуска рабочего стола «меню Пуск» доступны в / usr / share / applications / .
В качестве примера, чтобы показать, какие из вышеперечисленных команд работают, а какие нет. т работать над моя система Ubuntu 14.04, вот результаты для меня следующих вызовов:
Я взял скрипт из -ответа Карло - выше, и попытался улучшить его для использования на моем собственном рабочем столе.
Эта версия скрипта позволит вам запускать любое приложение так, как если бы вы ввели его на HUD, при условии, что это будет первый результат. Она также позволяет передавать аргументы файлов .desktop, которые не поддерживают URI.
Состояние перевода: На этой странице представлен перевод статьи Desktop entries. Дата последней синхронизации: 12 июля 2017. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
Спецификация freedesktop ярлык приложения предусматривает стандарт для приложений для интеграции в среду рабочего стола. Ярлыки приложений - это файлы конфигурации, описывающие, как запускается приложение, и какие данные оно может обрабатывать. Они также настраивают, как появляются приложения в меню со значком, на который распространяется соответствующий стандарт спецификации меню.
Наиболее распространенные ярлыки приложений представлены файлами .desktop и .directory . В этой статье кратко объясняется, как создавать полезные и соответствующие стандарту ярлыки приложений. Она в основном предназначена для разработчиков и сопровождающих пакетов(ы), но может также быть полезна разработчикам программного обеспечения и другим.
Существует примерно три типа ярлыков приложений:
Приложение ярлык приложения Ссылка ярлык на веб-ссылку Каталог контейнер метаданных в меню
В следующих разделах будет примерно показано, как они создаются и проверяются.
Связанное с этим материалом, а также определенные в файлах .desktop , являются ассоциациями типа MIME для файлов данных. Приложения по умолчанию описывают, как они настроены.
Список или поиск в файлах .desktop
lsdesktopf AUR может отображать доступные файлы .desktop или искать их содержимое.
lsdesktopf
lsdesktopf AUR can list available .desktop files or search their contents.
Icon path
- $HOME/.icons (for backwards compatibility)
- $XDG_DATA_DIRS/icons
- /usr/share/pixmaps
File example
Following is an example of its structure with additional comments. The example is only meant to give a quick impression, and does not show how to utilize all possible entry keys. The complete list of keys can be found in the freedesktop specification.
fbrokendesktop
The fbrokendesktop AUR Bash script detects broken Exec values pointing to non-existent paths. Without any arguments it uses preset directories in the DskPath array. It shows only broken .desktop with full path and filename that is missing.
Tools
gendesk
gendesk started as an Arch Linux-specific tool for generating .desktop files by fetching the needed information directly from PKGBUILD files. Now it is a general tool that takes command-line arguments.
Icons can be automatically downloaded from openiconlibrary, if available. (The source for icons is configurable).
How to use
- Add gendesk to makedepends
- Start the prepare() function with:
- Alternatively, if an icon is already provided ($pkgname.jpg, for instance). The -n flag is for not downloading an icon or using the default icon. Example:
- $srcdir/$pkgname.desktop will be created and can be installed in the package() function with:
- The icon can be installed with:
- Use --name='Program Name' for choosing a name for the menu entry.
- Use --exec='/opt/some_app/elf --some-arg --other-arg' for setting the exec field.
- See the gendesk project for more information.
Installation
Use desktop-file-install(1) to install desktop file into target directory. For example:
Basics
Each desktop entry must have a Type and a Name key and can optionally define its appearance in the application menu.
The following sections will roughly explain how these are created and validated.
Obtaining icons
Although packages that already ship with a .desktop file most certainly contain an icon or a set of icons, there is sometimes the case when a developer has not created a .desktop file, but may ship icons, nonetheless. So a good start is to look for icons in the source package. You can i.e. first filter for the extension with find and then use grep to filter further for certain buzzwords like the package name, "icon", "logo", etc, if there are quite a lot of images in the source package.
If the developers of an application do not include icons in their source packages, the next step would be to search on their web sites. Some projects, like i.e. tvbrowser AUR have an artwork/logo page where additional icons may be found. If a project is multi-platform, there may be the case that even if the linux/unix package does not come with an icon, the Windows package might provide one. If the project uses a Version control system like CVS/SVN/etc. and you have some experience with it, you also might consider browsing it for icons. If everything fails, the project might simply have no icon/logo yet.
Значки
gendesk
gendesk стартовал как инструмент, специально предназначенный для Arch Linux для генерации файлов .desktop, путем сбора необходимой информации непосредственно из файлов PKGBUILD. Теперь это общий инструмент, который принимает аргументы командной строки.
Значки могут быть автоматически загружены из openiconlibrary, если они доступны. (Источник значков можно легко изменить в будущем).
Как использовать
- Добавьте gendesk в makedepends
- Запустите функцию prepare() с:
- Альтернативно, если значок уже предоставлен (например, $pkgname.jpg). Флаг -n предназначен для не загрузки значка или использования значка по умолчанию. Пример:
- $srcdir/$pkgname.desktop будет создан и может быть установлен в функции package() с:
- Значок можно установить с помощью:
- Используйте --name='Program Name' для выбора имени для входа в меню..
- Для установки поля exec используйте --exec='/opt/some_app/elf --with-ponies' .
- Смотрите проект gendesk для получения дополнительной информации.
Modern Answer
См. другой ответ на данном потоке для более подробной информации. Я получил эту информацию из этого ответа.
Автозапуск
Если вы используете среду рабочего стола, совместимую с XDG, например GNOME или KDE, то она автоматически запускает файлы *.desktop, найденные в следующих каталогах:
- Общесистемный: $XDG_CONFIG_DIRS/autostart/ ( /etc/xdg/autostart/ по умолчанию)
- GNOME также запускает файлы, найденные в /usr/share/gnome/autostart/
- Пользовательский: $XDG_CONFIG_HOME/autostart/ ( ~/.config/autostart/ по умолчанию)
Пользователи могут переопределять общесистемные файлы *.desktop скопировав их в пользовательский каталог ~/.config/autostart/ .
Для более конкретного описания используемых каталогов смотрите спецификацию автозапуска ярлыков приложений.
Примечание: Этот способ поддерживается только средами рабочего стола, совместимыми с XDG. Такие инструменты, как dapper AUR , dex или fbautostart AUR , могут использоваться для предоставления автозапуска XDG в неподдерживаемых средах рабочего стола, если существует какой-либо другой механизм автозапуска. Используйте существующий механизм, чтобы запустить инструмент автозапуска, совместимый с xdg.
Пример файла
Скрытие ярлыков приложений
Во-первых, скопируйте ярлык приложения в ~/.local/share/applications , чтобы ваши изменения не были перезаписаны.
Затем, чтобы скрыть ярлык приложения во всех средах, откройте его в текстовом редакторе и добавьте следующую строку: NoDisplay=true .
Чтобы скрыть ярлык приложения на конкретной среде рабочего стола добавьте следующую строку в него: NotShowIn=desktop-name
где desktop-name может быть таким, как GNOME, Xfce, KDE и т.д. Ярлык приложения может быть скрытым более, чем в одной среде рабочего стола сразу - просто разделяйте имена сред рабочего стола точкой с запятой.
Инструменты
Получение значков
Если разработчики приложения не включают значки в свои исходные пакеты, тогда следующим шагом будет поиск значков на их сайте. В некоторых проектах, например, tvbrowser, есть страница с изображением/логотипом, где могут быть найдены дополнительные значки. Если проект мультиплатформенный, может случиться так, что в пакете linux/unix отсутствует значок, тогда пакет Windows может предоставить его. Если в проекте используется система управления версиями, например CVS/SVN и т.д., и у вас есть некоторый опыт работы с ней, вы также можете рассмотреть возможность просмотра ее для значков. Если все не удастся, проект может просто не иметь значка/логотипа еще.
Преобразование значков
Если вы преобразуете из формата контейнера, такого как ico , вы получите все изображения, которые были инкапсулированы в файл ico в форме -.jpg . Если вы хотите узнать размер изображения или количество изображений в файле контейнера, например ico , вы можете использовать инструмент идентификации (также часть пакета imagemagick ):
Как вы можете видеть, на примере файла ico, что по названию можно предположить одно изображение размером 48x48, но на самом деле оно содержит не менее 6 разных размеров, из которых один больше 48x48, а именно 128x128.
Кроме того, вы можете использовать icotool (из icoutils ) для извлечения png-изображений из контейнера ico:
Для извлечения изображений из контейнера .icns вы можете использовать icns2png (предоставленный libicns ):
Contents
Читайте также: