Как вы добавляете / удаляете приложения в / из Unity Launcher из командной строки?
Я настраиваю Ubuntu 14.04 Live CD с помощью UCK (Ubuntu Customization Kit). Программа предоставляет вам среду chroot в терминале для внесения изменений.
Я хочу добавить и удалить, какие программы появляются на док-станции.
Я не уверен, что это можно сделать, изменив .desktop
файл?
Как это можно сделать с помощью терминала?
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)
Как запустить это
- Вставьте код в пустой файл, сохраните его как
set_launcher.py
Запустите его командой:
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]"
Можете ли вы достичь этого путем редактирования .desktop
файл?
Нет, это не имеет ничего общего с самим файлом. Важно то, что файл находится в списке избранных программ запуска или нет.
Редактирование этого списка из командной строки - это именно то, что делает скрипт.