Создание файлов .desktop - всего несколько вопросов

Я хотел бы задать несколько вопросов о файлах .desktop и выяснить, что, на мой взгляд, было бы довольно изящно.

Я начну с того, что запускаю [элементарную ОС Luna] с ядром [3.2.0-65-generic-pae].

Я немного знаю о файлах .desktop и о том, что они делают. Я учился у кого-то из IRC eOS. Одна маленькая вещь всегда мешала мне делать свои собственные. Я полагаю, что когда вы открываете приложение через его .desktop, оно подсвечивает этот значок в Ubuntu. В eOS мы также получаем небольшой световой индикатор. Он остается с самой иконой. Когда вы делаете свой собственный, это не так.

Например, я сделал .desktop, который присоединяется к .sh, который откроет .jar. Когда я нажимаю на значок, он делает то, что хотел, и открывается. Единственное, что мне не нравится, это то, что появляется новая иконка. Это иконка Oracle Java, и она нечеткая, как и боль в глазах. Мне было любопытно, есть ли команда, которую я могу вставить в свой .desktop, которая позволит ему только подсвечивать исходный значок, как это делают другие приложения.

Кроме того, мне было любопытно, есть ли способ конвертировать такие вещи, как .png, в формат файлов иконок .desktops.

Спасибо заранее.

1
задан 19 July 2014 в 12:02

2 ответа

Сначала я предлагаю, чтобы Вы наблюдали журнал за своим файлом:

Откройте Terminal
auditctl -a exit,always -w /path/to/file и нажмите Enter.
sudo nano /var/log/audit/audit.log и нажмите Enter для наблюдения журнала.


Полная ссылка Freedesktop.org: Настольная Спецификация Записи

Пример Freedesktop

[Desktop Entry]
Version=1.0
Type=Application
Name=Foo Viewer
Comment=The best viewer for Foo objects available!
TryExec=fooview
Exec=fooview %F
Icon=fooview
MimeType=image/x-foo;
Actions=Gallery;Create;

[Desktop Action Gallery]
Exec=fooview --gallery
Name=Browse Gallery

[Desktop Action Create]
Exec=fooview --create-new
Name=Create a new Foo!
Icon=fooview-new  

Кавычка: Значок, которому покажут togheter с действием. Если имя будет полным путем, то данный файл будет использоваться. Если имя не будет полным путем, то алгоритм, описанный в Спецификации Знаковой темы, будет использоваться для определения местоположения значка. Реализации могут принять решение проигнорировать его.

ЧИТАЙТЕ О


Хорошее короткое учебное руководство Joe Reimero: Анатомия .desktop Файла

Пример Joe Reimero

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Exec=$HOME/MyApplication
Name=My Application
Icon=$HOME/Icons/MyIcon.png

Joe, что я согласовываю также путь к Значку, может быть абсолютным ИЛИ относительным, и он зависит, на каком стандарте Вы приняли решение создать свою символьную ссылку. Традиционно это - PNG.


Большое учебное руководство, особенное для Вас: Поверните свои приложения Java дружественный Shell Gnome

[Desktop Entry]
Version=10.5.1
Name=IntelliJ IDEA Ultimate Edition
Comment=The Most Intelligent Java IDE
Categories=Applications;Development;
Encoding=UTF-8
Exec=env IDEA_CLASSPATH\=../lib/asm.jar /home/diego/bin/ideaIU-10.5/bin/idea.sh
GenericName=IntelliJ
Icon=/home/diego/bin/ideaIU-10.5/bin/idea128.png
MimeType=text/x-java
Terminal=false
Type=Application
URL=http://www.jetbrains.com/idea  

Примечание для строки:

Exec=env IDEA_CLASSPATH\=../lib/asm.jar /home/diego/bin/ideaIU-10.5/bin/idea.sh

где Вы видите переменную ПУТИ К КЛАССУ рядом с должностным лицом.


Любой шанс, что также может помочь, как это говорит Луну ОС:

Файлы .desktop следуют за Настольной Спецификацией Записи freedesktop.org. Они должны быть установлены в /usr/share/applications. Пользователи могут создать свои собственные средства запуска, вставив .desktop файлы ~/.local/share/applications.

ЧИТАТЬ

3
ответ дан 19 July 2014 в 12:02

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

[Desktop Entry]
Type=Application
Name=Google Maps
Exec=google-chrome --app=https://www.google.co.uk/maps/@52.0547887,-1.3424413,11z
Comment=Open Google Maps
GenericName=Open Google Maps
Icon=/home/wilf/.local/Google-Maps-icon.png
Categories=GTK;Utility;
Keywords=Maps;
Hidden=false
NoDisplay=false
Terminal=false

Где:

  • Вам нужны оба [Desktop Entry] и Type=Application сказать это - средство запуска приложения.
  • Name его имя
  • Exec команда, которую это выполняет
  • Comment/GenericName desribe это (не всегда необходимый)
  • Icon путь к значку или значку от темы (тем), в которой Вы используете /usr/share/icons (не всегда необходимый, но значок по умолчанию, если часто раздражающий)
  • Categories - указывает категорию, это находится в (полезно для меню - не всегда необходимый)
  • Keywords слова, которые могут использоваться для нахождения его, когда Вы ищете его (не всегда необходимый).
  • Hidden/NoDisplay набор ко лжи удостоверяется, что это отображено (не всегда необходимый).
  • Terminal работать ли в терминале или нет'.

Для изменения значка просто необходимо измениться Icon строка, чтобы указать другой значок - например, использовать значок текстового редактора от /usr/share/icons:

Icon=accessories-text-editor

или можно указать путь к файлу значка

Icon=/home/wilf/.local/Google-Maps-icon.png

Это также возможно путем щелчка правой кнопкой по средству запуска в большинстве кормушек файла и выбора свойств: enter image description here

Затем нажатие на значок и выбор нового - отмечают, находится ли это в /usr/share/applications Вам, вероятно, нужны полномочия отредактировать файл.

N.B.

Я не могу точно помнить, почему (вероятно, сделал его для чего-то), но у меня, кажется, есть следующий сценарий, который может создать .desktop средства запуска - здесь это:

#!/bin/bash
if [ "$1" = "--help" ]; then
   echo -e "\e[1mUsage:\e[0m\n  create-launcher [OPTIONS...] [FILENAME] - create a launcher\n\e[1mHelp Options:\e[0m\n  --help    Show help options\n\e[1mApplication Options:\e[0m\n  -n NAME       Sets the name of the New launcher\n  -c COMMAND    Sets the command the launcher will be used to Launch\n  -t COMMENT    Sets the comment used to describe the launcher\n  -i ICON       Specifies an icon filename or stock icon to display.\n\n\e[1mNote\e[0m - ideally all of the above options should be used, mainly the Name option as it used to create the name of the launcher, and the command option as that is required for the launcher to work."
   exit
fi
while getopts n:c:t:i: option
do
    case "${option}"
    in
        n) NAME=${OPTARG};;
        c) COMMAND=${OPTARG};;
        t) COMMENT=${OPTARG};;
        i) ICON=${OPTARG};;
    esac
done
FILE=$HOME/.local/share/applications/$(echo $NAME | sed 's/ /-/g').desktop
NOFILE=$HOME/.local/share/applications/.desktop
if [ $FILE = $NOFILE ]; then
   echo -e "ERROR: Please enter atleast the Name for the launcher - for more info run\n    create-launcher --help" 
   exit 1
else
echo "New launcher created at $FILE"
echo -e "[Desktop Entry]\nType=Application" > $FILE
echo Name=$NAME >> $FILE
echo Exec=$COMMAND >> $FILE
echo Comment=$COMMENT >> $FILE
echo Icon=$ICON >> $FILE
echo -e "Hidden=false\nNoDisplay=false\nTerminal=false\n#X-GNOME-Autostart-enabled=true" >> $FILE
chmod +x $FILE
fi
exit

Это может быть сохранено к исполняемому файлу и создает простое средство запуска как следующее (кроме полей, заполнены путем указывания, что опции сценариев - видят ./create-launcher --help) в ~/.local/share/applications (который должен означать шоу средства запуска в меню и т.д.),

[Desktop Entry]
Type=Application
Name=
Exec=
Comment=
Icon=
Hidden=false
NoDisplay=false
Terminal=false
#X-GNOME-Autostart-enabled=true

Последняя строка не важна, если она не используется в другом месте для запуска программы на входе в систему.

1
ответ дан 19 July 2014 в 12:02

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

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