Bagaimana saya bisa membuat pusat perangkat lunak secara otomatis membuat pintasan di desktop saya setiap kali menginstal aplikasi?

8

Saya memiliki peluncur Unity yang disembunyikan karena saya lebih suka menggunakan cairo dock.

Inilah sebabnya saya mencoba mencari cara untuk membuat hal-hal yang diinstal dari Ubuntu Software Center untuk secara otomatis mengatur pintasan di desktop saya.

Ashleigh Johnson
sumber
Saya tidak bisa masuk akal dari ini. Mengapa Anda ingin melakukan ini? Alat / peluncur apa yang ada hubungannya dengan semuanya?
Braiam
1
@Braiam Saya yakin OP ingin pintasan dibuat di desktop untuk program yang dia unduh melalui pusat perangkat lunak, seperti yang dilakukan banyak program Windows. Peluncur disebutkan karena pusat perangkat lunak secara otomatis menyematkan pemasangan baru, tetapi OP tidak menggunakannya.
Seth
@ Baiklah, itu dugaan liar karena dia ingin agar perangkat lunak "unduh" ke desktop.
Braiam
2
@Braiam Sedikit pemahaman tentang bagaimana pengguna baru berpikir sangat membantu;) Dia jelas tidak ingin binari di desktopnya .. Anda bahkan tidak dapat menggunakan pusat perangkat lunak untuk mengunduh binari.
Seth
Pertama dia ... ..... kedua saya bicarakan ketika saya mengunduh seperti gimp, atau hal-hal PDF atau game atau aplikasi apa pun, saya ingin itu pergi ke desktop saya sehingga saya dapat mengaksesnya karena saya tidak menggunakan bilah alat kecil yang datang dengan UBUNTU saya menggunakan cairo dock dan sepertinya saya tidak tahu bagaimana cara mengubah di mana pusat perangkat lunak ubuntu (ini adalah tempat saya mengunduh program sed) unduhan
Ashleigh Johnson

Jawaban:

6

Jalankan script di bawah ini di latar belakang dan secara otomatis akan membuat starter di desktop Anda pada (hanya) perangkat lunak yang baru diinstal.

Juga:

  • memeriksa apakah item baru sebenarnya adalah aplikasi, yang dimaksudkan untuk memulai dari peluncur (memeriksa NoDisplay=true)
  • membuat peluncur di desktop Anda dapat dieksekusi, siap digunakan.

Cara Penggunaan

  • Salin skrip di bawah ini ke file kosong (gunakan mis. gedit), Simpan di suatu tempat sebagai make_starter.py.
  • Jika Anda pertama kali ingin mengujinya: jalankan dari jendela terminal dengan perintah:

    python3 /path/to/make_starter.py
    

    Instal aplikasi seperti biasa. Sebuah ikon akan muncul di desktop Anda setelah instalasi selesai

  • Jika semua berfungsi dengan baik, tambahkan ke aplikasi startup Anda: Dash> Startup Applications> Add. Tambahkan perintah:

    python3 /path/to/make_starter.py
    

Catatan

Versi lokal Ubuntu mungkin memiliki nama berbeda untuk "Desktop" ("Bureaublad" dalam bahasa Belanda). Jika demikian, ganti di baris:

desktopname = "Desktop"

"Desktop" dengan nama yang dilonggarkan.

Naskah

#!/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])
Yakub Vlijm
sumber
Terima kasih @ Jacobvlijm saya akan meminta ayah saya membaca komentar Anda dan melakukannya untuk saya karena saya tidak mengerti semua hal teknis
Ashleigh Johnson
1
Ini tidak ada hubungannya dengan tujuan jawaban tetapi saya mengambil kesempatan untuk berkomentar sintaks Python, sangat mudah dimengerti. Tentu saja Anda dapat menggunakan sesuatu yang lain seperti bash atau bahkan C, tetapi Anda tidak bisa menjadi lebih manusiawi dari ini. :-)
Lucio
3
@Lucio peluang bagus bahwa jika Anda akan menulis bahasa Inggris, Anda akan menulis skrip python secara tidak sengaja :)
Jacob Vlijm
1
@JacobVlijm Saya tidak bisa menahan diri untuk tidak mengatakan itu di sisi lain, kemungkinan besar jika Anda meninggalkan monyet di depan PC, ia akan menulis Perlskrip secara tidak sengaja :)
kos
@ cos Saya tidak tahu ada begitu banyak monyet di AU :) Sejujurnya: kucing saya mendapatkan sebagian besar reputasi saya di sini. Satu-satunya jawaban yang saya tulis sendiri adalah yang diturunkan :).
Jacob Vlijm
3

Ini akan sangat berantakan, karena mungkin ada lebih dari seratus ikon aplikasi. Ikon (sebenarnya, file peluncur desktop ) biasanya dalam /usr/share/applications. Jadi Anda bisa menjalankan perintah berikut di terminal:

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

tetapi ini akan membuat salinan dari setiap peluncur di desktop Anda. ( mungkin beberapa ratus, tergantung pada lingkungan Anda )

Anda dapat menjelajah /usr/share/applicationsdi manajer file, dan menyalinnya secara manual untuk aplikasi yang relevan ke desktop. Tidak ada cara otomatis untuk membuat Pusat Perangkat Lunak melakukan ini, sejauh yang saya tahu.

muru
sumber
1
Saya bertanya-tanya apakah synaptic memiliki semacam skrip instalasi pos yang dapat dijalankan atau apalah .. Jelas pusat perangkat lunak tidak memiliki itu tetapi kekuatan sinaptik. Kalau tidak, satu-satunya cara lain untuk mencapai hal ini adalah menginstal berbagai hal melalui baris perintah dengan skrip khusus. Hanya berpikir keras.
Seth
Seseorang mungkin dapat menyimpan daftar aplikasi yang diinstal menggunakan dpkgdan diffdaftar pilihan baru dan daftar pilihan sebelumnya setelah setiap instalasi. Kemudian, pintasan dapat dibuat menggunakan skrip yang menyalin .desktopfile yang relevan ke desktop.
Rohith Madhavan
1
Jadi cukup banyak ketika saya menginstal sesuatu saya harus secara manual meletakkannya di desktop saya? Sedikit pengumuman tetapi saya bisa mengatasinya
Ashleigh Johnson
1
Maaf untuk edit @muru tapi saya mencoba melindungi yang tidak bersalah ... ;-) Di sistem saya: ls /usr/share/applications/*.desktop | wcberi:168 168 7851
Fabby
@AshleighJohnson tetapi ada satu hal: aplikasi yang diinstal ditambahkan ke peluncur. Jadi itu ada untuk Anda langsung, bukan pada desktop itu sendiri.
Rinzwind