Как у меня может быть центр программного обеспечения, автоматически создают ярлык на моем рабочем столе каждый раз, когда он устанавливает приложение?

Мне скрыли средство запуска Единицы, поскольку я предпочитаю использовать каирское прикрепление.

Поэтому я пытаюсь найти способ сделать вещи установленными из Центра программного обеспечения Ubuntu для автоматической установки ярлыка в моем рабочем столе.

8
задан 5 January 2015 в 18:30

2 ответа

Выполните сценарий ниже в фоновом режиме, и он автоматически создаст начинающего на Вашем рабочем столе на [(только) 117] недавно установленное программное обеспечение.

Это также:

  • проверки, если новый объект на самом деле является приложением, означали начинать со средства запуска (проверяющий на NoDisplay=true)
  • , делает средство запуска на Вашем настольном исполняемом файле, готовом использовать.

, Как использовать

  • Копия сценарий ниже в пустой файл (использование, например, gedit), сохраните его где-нибудь как make_starter.py.
  • , Если Вы сначала хотите протестировать его: выполните его из окна терминала командой:

    python3 /path/to/make_starter.py
    

    Устанавливают приложение как Вы, привыкли к. Значок должен появиться на Вашем рабочем столе после того, как установка закончилась

  • , Если все хорошо работает, добавьте его к своим приложениям запуска: Тире> Приложения Запуска> Добавляет. Добавьте команду:

    python3 /path/to/make_starter.py
    

Локализованные версии Примечания

Ubuntu могут иметь другое имя для "Рабочего стола" ("Bureaublad" на нидерландском языке). Если так, замените в строке:

desktopname = "Desktop"

"Рабочий стол" именем loacalized.

сценарий

#!/usr/bin/env python3
import subprocess
import os
import time
import shutil

desktopname = "Desktop"
dr = "/usr/share/applications"

while True:
    current = os.listdir(dr)
    time.sleep(10)
    last = os.listdir(dr)
    for item in last:
        if not item in current and item.endswith(".desktop"):
            file = dr+"/"+item
            with open(file) as src:
                text = src.read()
            if not "NoDisplay=true" in text:
                target = os.environ["HOME"]+"/"+desktopname+"/"+item
                shutil.copyfile(file, target)
                command = "chmod +x "+target
                subprocess.Popen(["/bin/bash", "-c", command])
6
ответ дан 23 November 2019 в 05:41

Это будет невероятно грязно, так как могло бы быть хорошо более чем сто значков приложения. Значки (на самом деле, настольные файлы средства запуска ) обычно находятся в /usr/share/applications. Таким образом, Вы могли выполнять следующую команду в терминале:

find /usr/share/applications -type f -name '*.desktop' -exec cp --target-directory ~/Desktop/ {} +

, но это создало бы копию каждого средства запуска на Вашем рабочем столе. ( возможно несколько сотен, в зависимости от Вашей среды )

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

3
ответ дан 23 November 2019 в 05:41

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

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