У мене прихована пускова установка Unity, оскільки я вважаю за краще використовувати док.
Ось чому я намагаюся знайти спосіб зробити так, щоб речі, встановлені з програмного центру Ubuntu, автоматично встановлювали ярлик на моєму робочому столі.
У мене прихована пускова установка Unity, оскільки я вважаю за краще використовувати док.
Ось чому я намагаюся знайти спосіб зробити так, щоб речі, встановлені з програмного центру Ubuntu, автоматично встановлювали ярлик на моєму робочому столі.
Відповіді:
Запустіть сценарій нижче у фоновому режимі, і він автоматично створить пускач на робочому столі на (тільки) щойно встановленому програмному забезпеченні.
Це також:
NoDisplay=true)gedit), Збережіть його десь як make_starter.py.Якщо ви спочатку хочете перевірити його: запустіть його з вікна терміналу командою:
python3 /path/to/make_starter.py
Встановіть додаток, як ви звикли. Піктограма повинна з’явитися на робочому столі після завершення інсталяції
Якщо все працює добре, додайте його до своїх запуску програм: Dash> Startup Applications> Add. Додайте команду:
python3 /path/to/make_starter.py
Примітка
Локалізовані версії Ubuntu можуть мати іншу назву "Desktop" ("Bureaublad" голландською мовою). Якщо так, замініть у рядку:
desktopname = "Desktop"
"Настільний" за допомогою локалізованої назви.
#!/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])
Perlвипадково напише сценарій :)
Це буде неймовірно безладно, оскільки там може бути понад сто іконок додатків. Значки (власне, файли запуску на робочому столі ), як правило, є /usr/share/applications. Отже, ви можете запустити таку команду в терміналі:
find /usr/share/applications -type f -name '*.desktop' -exec cp --target-directory ~/Desktop/ {} +
але це створило б копію кожного запуску на вашому робочому столі. ( можливо, кілька сотень, залежно від вашого оточення )
Ви можете переглядати /usr/share/applicationsфайловий менеджер і вручну скопіювати їх на відповідні програми на робочий стіл. Наскільки я не можу, автоматичний спосіб змусити Центр програмного забезпечення зробити це.
dpkgа diffтакож новий список вибору та попередній список виділень після кожної інсталяції. Потім ярлики можна створити за допомогою скрипту, який копіює відповідні .desktopфайли на робочий стіл.
ls /usr/share/applications/*.desktop | wcдає:168 168 7851