W jaki sposób centrum oprogramowania może automatycznie tworzyć skrót na pulpicie za każdym razem, gdy instaluje aplikację?


8

Mam ukryty program uruchamiający Unity, ponieważ wolę używać stacji dokującej Cairo.

Właśnie dlatego próbuję znaleźć sposób na zainstalowanie rzeczy z Centrum oprogramowania Ubuntu w celu automatycznego ustawienia skrótu na pulpicie.


Nie mogę tego zrozumieć. Dlaczego chcesz to zrobić? Jakie narzędzie / program uruchamiający ma związek ze wszystkim?
Braiam

1
@Braiam Wierzę, że OP chce mieć skrót utworzony na pulpicie dla programów pobranych przez centrum oprogramowania, tak jak robi to wiele programów Windows. Program uruchamiający został wspomniany, ponieważ centrum oprogramowania automatycznie przypina do niego nowe instalacje, ale OP tego nie używa.
Seth

@ Cóż, zgaduje, bo chce, żeby oprogramowanie „pobierało” na pulpit.
Braiam

2
@Braiam Trochę zrozumienia tego, jak myślą nowi użytkownicy, bardzo pomaga;) Najwyraźniej nie chce plików binarnych na swoim komputerze. Nie można nawet używać centrum oprogramowania do pobierania plików binarnych.
Seth

Po pierwsze im a ona ..... po drugie mówię o tym, kiedy pobieram jak gimp, pliki PDF, gry lub inne aplikacje, chcę, aby to poszło na pulpit, aby móc uzyskać do niego dostęp, ponieważ nie używam małego paska narzędzi który jest dostarczany z UBUNTU, korzystam ze stacji dokującej Cairo i wydaje mi się, że nie mogę dowiedzieć się, jak zmienić miejsce pobierania centrum oprogramowania Ubuntu (tutaj pobieram programy sed)
Ashleigh Johnson

Odpowiedzi:


6

Uruchom poniższy skrypt w tle, a automatycznie utworzy starter na pulpicie ( nowo ) zainstalowanego oprogramowania.

To także:

  • sprawdza, czy nowy element faktycznie jest aplikacją, która ma się uruchamiać z programu uruchamiającego (sprawdzanie NoDisplay=true)
  • sprawia, że ​​program uruchamiający na pulpicie jest wykonywalny i gotowy do użycia.

Jak używać

  • Skopiuj poniższy skrypt do pustego pliku (użyj np. gedit), Zapisz go gdzieś jako make_starter.py.
  • Jeśli chcesz go najpierw przetestować: uruchom go z okna terminala za pomocą polecenia:

    python3 /path/to/make_starter.py
    

    Zainstaluj aplikację tak, jak zwykle. Ikona powinna pojawić się na pulpicie po zakończeniu instalacji

  • Jeśli wszystko działa poprawnie, dodaj go do aplikacji startowych: Dash> Aplikacje startowe> Dodaj. Dodaj polecenie:

    python3 /path/to/make_starter.py
    

Uwaga

Zlokalizowane wersje Ubuntu mogą mieć inną nazwę „Desktop” („Bureaublad” w języku niderlandzkim). Jeśli tak, zamień w wierszu:

desktopname = "Desktop"

„Pulpit” według zinalizowanej nazwy.

Scenariusz

#!/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])

Dziękuję @Jacobvlijm Poproszę tatę, aby przeczytał twój komentarz i zrobił to dla mnie, ponieważ nie rozumiem wszystkich technicznych rzeczy
Ashleigh Johnson

1
Nie ma to nic wspólnego z celem odpowiedzi, ale korzystam z okazji, by zwrócić uwagę na składnię Pythona, jest to bardzo proste do zrozumienia. Oczywiście możesz użyć czegoś innego, jak bash lub nawet C, ale nie możesz stać się bardziej ludzki niż to. :-)
Lucio,

3
@Lucio ma dużą szansę, że jeśli napiszesz zwykły angielski, to przez przypadek napiszesz skrypt w języku Python :)
Jacob Vlijm

1
@JacobVlijm Nie mogę się powstrzymać od powiedzenia, że ​​z drugiej strony, jest duża szansa, że ​​jeśli zostawisz małpę przed komputerem, ona przypadkowo napisze Perlscenariusz :)
Kos

@kos Nie wiedziałem, że na AU jest tak wiele małp :) Szczerze mówiąc: mój kot zarobił tu większość mojej reputacji. Jedną odpowiedzią, którą sam napisałem, była poniżona :).
Jacob Vlijm,

3

Będzie to niezwykle nieuporządkowane, ponieważ może być tam ponad sto ikon aplikacji. Ikony (w rzeczywistości pliki programu uruchamiającego pulpit ) są zwykle w /usr/share/applications. Abyś mógł uruchomić następującą komendę w terminalu:

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

ale utworzyłoby to kopię każdego programu uruchamiającego na pulpicie. ( prawdopodobnie kilkaset, w zależności od środowiska )

Możesz przeglądać /usr/share/applicationsw menedżerze plików i ręcznie kopiować je dla odpowiednich aplikacji na pulpit. O ile wiem, nie ma automatycznego sposobu, aby zmusić Centrum oprogramowania do zrobienia tego.


1
Zastanawiam się, czy synaptic ma jakieś skrypty poinstalacyjne, które mógłby uruchomić, czy coś takiego. Oczywiście centrum oprogramowania nie miałoby tego, ale mogłoby to być synaptic. W przeciwnym razie jedynym innym sposobem na osiągnięcie tego byłoby zainstalowanie różnych rzeczy za pomocą wiersza polecenia z niestandardowym skryptem. Po prostu myślę na głos.
Seth

Prawdopodobnie można zapisać listę zainstalowanych aplikacji za pomocą dpkgoraz difflistę nowych wyborów i listę poprzednich wyborów po każdej instalacji. Następnie można tworzyć skróty za pomocą skryptu, który kopiuje odpowiednie .desktoppliki na pulpit.
Rohith Madhavan

1
Tak właściwie, kiedy instaluję coś, muszę ręcznie umieścić to na pulpicie? Trochę niepokojące, ale sobie z tym poradzę
Ashleigh Johnson

1
Przepraszam za edycję @muru, ale staram się chronić niewinnych ... ;-) W moim systemie: ls /usr/share/applications/*.desktop | wcdaje:168 168 7851
Fabby

@AshleighJohnson, ale jest jedna rzecz: zainstalowane aplikacje są dodawane do programu uruchamiającego. Jest więc dostępny bezpośrednio dla Ciebie, nie tylko na pulpicie.
Rinzwind
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.