Come posso fare in modo che il software center crei automaticamente un collegamento sul mio desktop ogni volta che installa un'applicazione?


8

Ho il launcher di Unity nascosto perché preferisco usare il dock di Cairo.

Questo è il motivo per cui sto cercando di trovare un modo per fare le cose installate da Ubuntu Software Center per impostare automaticamente un collegamento sul mio desktop.


Non ho senso da questo. Perché vorresti farlo? Quale strumento / launcher ha a che fare con tutto?
Braiam,

1
@Braiam Credo che l'OP voglia avere un collegamento creato sul desktop per i programmi che ha scaricato attraverso il centro software, come fanno molti programmi Windows. Il programma di avvio è stato menzionato perché il centro software inserisce automaticamente nuove installazioni, ma l'OP non lo utilizza.
Seth,

@Seth, questa è un'ipotesi sfrenata perché vuole che il software "scarichi" sul desktop.
Braiam,

2
@Braiam Una piccola comprensione di come gli utenti più recenti pensano che aiuti molto;) Chiaramente non vuole i binari sul suo desktop .. Non puoi nemmeno usare il centro software per scaricare i binari.
Seth,

Prima di tutto sono una lei ..... secondo, sto parlando quando scarico come gimp, roba o giochi PDF o qualsiasi altra applicazione, voglio che vada sul mio desktop in modo da potervi accedere perché non uso la piccola barra degli strumenti che viene fornito con UBUNTU, utilizzo il dock cairo e non riesco a capire come cambiare il download del software center ubuntu (qui è dove scarico programmi sed)
Ashleigh Johnson,

Risposte:


6

Esegui lo script di seguito in background e creerà automaticamente un avviatore sul desktop su (solo) software appena installato.

Inoltre:

  • controlla se il nuovo elemento è effettivamente un'applicazione, destinata a partire da un programma di avvio (controllo per NoDisplay=true)
  • rende il programma di avvio sul desktop eseguibile, pronto per l'uso.

Come usare

  • Copia lo script qui sotto in un file vuoto (usa ad es. gedit), Salvalo da qualche parte come make_starter.py.
  • Se vuoi prima provarlo: eseguilo da una finestra del terminale con il comando:

    python3 /path/to/make_starter.py
    

    Installa un'applicazione come al solito. Un'icona dovrebbe apparire sul desktop al termine dell'installazione

  • Se tutto funziona correttamente, aggiungilo alle applicazioni di avvio: Dash> Applicazioni di avvio> Aggiungi. Aggiungi il comando:

    python3 /path/to/make_starter.py
    

Nota

Le versioni localizzate di Ubuntu possono avere un nome diverso per "Desktop" ("Bureaublad" in olandese). In tal caso, sostituire nella riga:

desktopname = "Desktop"

"Desktop" con il nome loacalizzato.

Il copione

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

Grazie @Jacobvlijm, farò in modo che mio padre legga il tuo commento e lo faccia per me, poiché non capisco tutte le cose tecniche
Ashleigh Johnson,

1
Questo non ha nulla a che fare con l'obiettivo della risposta, ma ne approfitto per osservare la sintassi di Python, è estremamente semplice da capire. Ovviamente puoi usare qualcos'altro come bash o persino C, ma non puoi diventare più umano di così. :-)
Lucio

3
@Lucio ha buone probabilità che se tu scrivessi un semplice inglese, scriveresti per caso una sceneggiatura in pitone :)
Jacob Vlijm,

1
@JacobVlijm Non riesco a impedirmi di dirlo, d'altra parte, buone probabilità che se lasciassi una scimmia davanti a un PC, scriverebbe una Perlsceneggiatura per caso :)
kos

@kos Non sapevo che ci fossero così tante scimmie su AU :) Ad essere sincero: il mio gatto ha guadagnato la maggior parte della mia reputazione qui. L'unica risposta che mi sono scritto è stata quella votata in basso :).
Jacob Vlijm,

3

Questo sarà incredibilmente disordinato, poiché potrebbero esserci ben oltre un centinaio di icone dell'applicazione. Le icone (in realtà, i file di avvio desktop ) sono di solito in /usr/share/applications. Quindi è possibile eseguire il seguente comando in un terminale:

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

ma questo creerebbe una copia di ogni singolo programma di avvio sul desktop. ( forse qualche centinaio, a seconda del tuo ambiente )

È possibile navigare /usr/share/applicationsnel file manager e copiarli manualmente per le applicazioni pertinenti sul desktop. Non c'è modo automatico per farlo fare al Software Center, per quanto ne so.


1
Mi chiedo se synaptic abbia qualche tipo di script post installazione che può essere eseguito o qualcosa del genere. Ovviamente il software center non lo avrebbe fatto, ma Synaptic potrebbe farlo. Altrimenti, l'unico altro modo per ottenere questo risultato sarebbe installare le cose attraverso la riga di comando con uno script personalizzato. Sto solo pensando ad alta voce.
Seth

Si potrebbe probabilmente salvare un elenco delle applicazioni installate utilizzando dpkge diffil nuovo elenco di selezioni e l'elenco di selezioni precedenti dopo ogni installazione. Quindi, le scorciatoie possono essere create usando uno script che copia i .desktopfile rilevanti sul desktop.
Rohith Madhavan,

1
Quindi praticamente quando installo qualcosa devo metterlo manualmente sul mio desktop? Un po 'fastidioso ma posso farcela
Ashleigh Johnson,

1
Ci scusiamo per la modifica di @muru ma sto cercando di proteggere gli innocenti ... ;-) Sul mio sistema: ls /usr/share/applications/*.desktop | wcdà:168 168 7851
Fabby

@AshleighJohnson ma c'è la cosa: le applicazioni installate vengono aggiunte al programma di avvio. Quindi è lì per te direttamente non solo sul desktop stesso.
Rinzwind,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.