Справка с синтаксисом и настройкой .desktop файлов для Единицы

  1. Я попробовал ниже, и это работает как ожидалось. Игра в песочнице Firefox в энергозависимом состоянии через Firejail.

    Exec=firejail --seccomp --private firefox
    
  2. Для чего это? И что это делает?

    Actions=NewWindow;NewPrivateWindow;
    
  3. Мой Firefox.desktop код до сих пор

    [Desktop Entry] Version=1.0
    Name=VOLATILE SANDBOX - Private Firefox 
    Comment=Browse the World Wide Web
    GenericName=Web Browser
    Keywords=Internet;WWW;Browser;Web;Explorer
    Exec=firejail --seccomp --private firefox
    Terminal=false
    X-MultipleArgs=false
    Type=Application
    Icon=firefox
    Categories=GNOME;GTK;Network;WebBrowser;
    MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
    StartupNotify=true
    Actions=NewWindow;NewPrivateWindow;
    
  4. Я хочу добавить, щелкают правой кнопкой по состояниям: Персистентный и небезопасный, таким образом, можно обновить расширения. Как я добавил бы второе и третье состояние (в моем коде)?

    Exec=firejail firefox
    

    и

    Exec=firefox
    
2
задан 6 September 2015 в 13:13

2 ответа

Ограничение/изменение вопроса немного в, "Что является различными разделами в a .desktop файл для?"

Объяснение различных разделов в .desktop файле

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

Принцип однако является точно тем же для всех .desktop файлы, чтобы использоваться в Unity.

1. "Тело" основного .desktop файл

Скажите, что у Вас есть приложение (gedit в примере), но нет .desktop файл. Вы могли просто создать файл:

[Desktop Entry]
Name=Gedit
Exec=gedit
Type=Application

назовите его, например. gedit_starter.desktop. Использовать его от Вашего рабочего стола (дважды щелкают для выполнения команды gedit), просто сделайте это исполняемым файлом. Чтобы заставить его появиться в Тире, сохраните его в также /usr/share/applications (для глобального использования) или ~/.local/share/applications (для локального, персонального использования).

Добавление дополнительных опций (ключи записи)

Примером выше является a .desktop файл в его самой простой форме; простая команда, универсальный значок. Можно добавить дополнительные строки, для предоставления .desktop зарегистрируйте значок, добавьте дополнительные опции или локализованные имена и т.д. См. эту ссылку для нахождения опций добавить ключи записи, такие как специализированный значок.

Обратите внимание, что (возможно установил-) значок и имя набора (в Name= строка), не покажет на файле, если Вы сохраните его на своем рабочем столе, если Вы не делаете это исполняемым файлом. Посмотрите ниже примера Firefox:

неисполняемый файл

enter image description here

исполняемый файл

enter image description here

2. Добавление щелкает правой кнопкой по объектам (от Средства запуска Единицы)

enter image description here

Раздел, как упомянуто в [1.] содержит "основную" команду файла средства запуска. Это будет работать при нажатии на него (Unity). Для создания щелкают правой кнопкой по объектам, Вам нужны два дополнительных раздела:

  • строка, перечисляя те дополнительные опции щелчка правой кнопкой, разделенные a ";".
    От "реального" gedit``.desktop пример файла:

    Actions=Window;Document;
    

    Каждый из этих объектов соответствует:

  • раздел ярлыка, как:

    [Desktop Action Window]
    Name=Open a New Window
    Exec=gedit --new-window
    OnlyShowIn=Unity;
    

    Изучение этого раздела:

    [Desktop Action Window]
    

    относится к имени, как перечислено в Actions= строка. Имя может содержать пробелы, например.Recently used, поскольку я сделал в этом ответе.

    Name=Open a New Window
    

    относится к имени, как это появляется в Вашем интерфейсе

    Exec=gedit --new-window
    

    относится к команде для работы, щелкают правой кнопкой

    OnlyShowIn=Unity;
    

    относится к настольным средам, которые должны отобразить настольную запись

Это в основном, как это работает.

Ваш пример

Если я понимаю Ваш вопрос хорошо, и Вы хотите добавить и Персистентный и небезопасный к Вашему Firefox quicklist (как опция щелчка правой кнопкой), необходимо было бы изменить строку:

Actions=NewWindow;NewPrivateWindow;

в:

Actions=NewWindow;NewPrivateWindow;Persistant;unsafe;

и добавьте к нижней части файла два раздела ярлыка:

    [Desktop Action Persistant]
    Name=Persistant
    Exec=<command>
    OnlyShowIn=Unity;


    [Desktop Action unsafe]
    Name=unsafe
    Exec=<command>
    OnlyShowIn=Unity;

где необходимо заменить обоих <command> командами Вы хотите, чтобы это работало.

Примечание:

Если Вы хотите отредактировать a .desktopфайл, всегда копируйте (глобальный) файл по умолчанию с /usr/share/applications кому: ~/.local/share/applications (для локального, персонального использования), и редактирование локальное. После выходят из системы / в, локальный отвергнет глобальный.

2
ответ дан 2 December 2019 в 03:52

Между прочим, если Вы делаете это и затем испытывать затруднения, на самом деле открывающие ссылки в Firefox (или какая-либо программа) как "приложение по умолчанию" для типа файла, попытайтесь добавить %U к Исполнительной строке, как это:

Exec=firefox %U

%U является заполнителем для URL, передаваемого программе. Я думаю, что другие заполнители доступны также, это, что работало на меня в Firefox.

0
ответ дан 2 December 2019 в 03:52

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

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