Как вы добавляете / удаляете приложения в / из Unity Launcher из командной строки?

Я настраиваю Ubuntu 14.04 Live CD с помощью UCK (Ubuntu Customization Kit). Программа предоставляет вам среду chroot в терминале для внесения изменений.

Я хочу добавить и удалить, какие программы появляются на док-станции.

Я не уверен, что это можно сделать, изменив файл .desktop?

Как это можно сделать с помощью терминала?

7
задан 19 April 2015 в 12:55

1 ответ

Сценарий ниже может использоваться, чтобы или добавить или удалить объекты к средству запуска, в зависимости от аргумента (аргументов):

#!/usr/bin/env python3

import subprocess
import sys

desktopfile = sys.argv[1]

def current_launcher():
    get_current = subprocess.check_output(["gsettings", "get", "com.canonical.Unity.Launcher", "favorites"]).decode("utf-8")
    return eval(get_current)

def set_launcher(desktopfile):
    curr_launcher = current_launcher()
    last = [i for i, x in enumerate(curr_launcher) if x.startswith("application://")][-1]
    new_icon = "application://"+desktopfile
    if sys.argv[2] == "a":
        if not new_icon in curr_launcher:
            curr_launcher.insert(last, new_icon)
            subprocess.Popen(["gsettings", "set", "com.canonical.Unity.Launcher","favorites",str(curr_launcher)])
    elif sys.argv[2] == "r":
        curr_launcher.remove(new_icon)
        subprocess.Popen(["gsettings", "set", "com.canonical.Unity.Launcher","favorites",str(curr_launcher)])

set_launcher(desktopfile)

Как выполнить его

  1. Вставьте код в пустой файл, сохраните его как set_launcher.py
  2. Выполните его командой:

    python3 /path/to/set_launcher.py <name_of_.desktop_file> a
    

    добавить значок, или:

    python3 /path/to/set_launcher.py <name_of_.desktop_file> r
    

    удалить значок

    Пример:

    python3 /path/to/set_launcher.py gedit.desktop a
    

    добавить gedit к средству запуска, или

    python3 /path/to/set_launcher.py gedit.desktop r
    

    удалить gedit от средства запуска

Объяснение

Список значков средства запуска определяется в ключе:

com.canonical.Unity.Launcher favorites

и может быть выбран командой:

gsettings get com.canonical.Unity.Launcher favorites

для установки альтернативного списка (учитывая факт Вы используете правильный формат):

gsettings set com.canonical.Unity.Launcher favorites "[item1, item2, etc]"

Можно ли достигнуть этого путем редактирования a .desktop файл?

Нет, это не имеет никакого отношения к самому файлу. То, что имеет значение, - то, что файл или находится в списке фаворитов средства запуска или нет.

Редактирование этого списка из командной строки точно, что делает сценарий.

5
ответ дан 19 April 2015 в 22:55

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

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