У мене прихована пускова установка 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