ฉันจะให้ศูนย์ซอฟต์แวร์สร้างทางลัดอัตโนมัติบนเดสก์ท็อปของฉันทุกครั้งที่ติดตั้งแอปพลิเคชันได้อย่างไร


8

ฉันซ่อนตัวเรียกใช้งานของ Unity ไว้เนื่องจากฉันต้องการใช้ cairo dock

นี่คือเหตุผลที่ฉันพยายามหาวิธีติดตั้งสิ่งต่าง ๆ จากศูนย์ซอฟต์แวร์ Ubuntu เพื่อตั้งค่าทางลัดในเดสก์ท็อปของฉันโดยอัตโนมัติ


ฉันไม่สามารถเข้าใจสิ่งนี้ได้ ทำไมคุณต้องการทำเช่นนี้? เครื่องมือ / ตัวเรียกใช้งานเกี่ยวข้องกับทุกสิ่งหรือไม่
Braiam

1
@Braiam ฉันเชื่อว่า OP ต้องการสร้างทางลัดบนเดสก์ท็อปสำหรับโปรแกรมที่เขาดาวน์โหลดผ่านศูนย์ซอฟต์แวร์เช่นเดียวกับที่โปรแกรม Windows หลายโปรแกรมทำ มีการกล่าวถึงตัวเรียกใช้งานเนื่องจากศูนย์ซอฟต์แวร์ตรึงการติดตั้งใหม่โดยอัตโนมัติ แต่ OP ไม่ได้ใช้สิ่งนั้น
เซท

@Seth เป็นสิ่งที่เดายากเพราะเขาต้องการให้ซอฟต์แวร์ "ดาวน์โหลด" ไปยังเดสก์ท็อป
Braiam

2
@Braiam ความเข้าใจเล็ก ๆ น้อย ๆ เกี่ยวกับวิธีที่ผู้ใช้ใหม่คิดว่าช่วยได้มาก;) เขาไม่ต้องการไบนารีบนเดสก์ท็อปของคุณอย่างชัดเจน .. คุณไม่สามารถใช้ศูนย์ซอฟต์แวร์เพื่อดาวน์โหลดไบนารีได้
เซท

ก่อนอื่นเธอเธอ ..... รองฉันพูดถึงเมื่อฉันดาวน์โหลดเช่น gimp หรือสิ่ง PDF หรือเกมหรือโปรแกรมใด ๆ ฉันต้องการให้มันไปที่เดสก์ท็อปของฉันเพื่อให้ฉันสามารถเข้าถึงได้เพราะฉันไม่ได้ใช้แถบเครื่องมือเล็ก ๆ ที่มาพร้อมกับ UBUNTU ฉันใช้ท่า cairo และฉันไม่สามารถหาวิธีเปลี่ยนที่ศูนย์ซอฟต์แวร์ ubuntu (นี่คือที่ที่ฉันดาวน์โหลดโปรแกรม sed) ดาวน์โหลด
Ashleigh Johnson

คำตอบ:


6

เรียกใช้สคริปต์ด้านล่างในพื้นหลังและมันจะสร้างเริ่มต้นบนเดสก์ท็อปของคุณโดยอัตโนมัติ (เท่านั้น) ซอฟต์แวร์ที่ติดตั้งใหม่

มันยัง:

  • ตรวจสอบว่ารายการใหม่เป็นแอปพลิเคชั่นจริงหรือไม่โดยเริ่มจากตัวเรียกใช้งาน (กำลังตรวจสอบNoDisplay=true)
  • ทำให้ตัวเรียกใช้งานบนเดสก์ท็อปของคุณพร้อมใช้งาน

วิธีใช้

  • คัดลอกสคริปต์ด้านล่างลงในไฟล์ที่ว่างเปล่า (เช่นการใช้งานgedit) make_starter.pyบันทึกไว้ที่ใดที่หนึ่งเป็น
  • หากคุณต้องการทดสอบครั้งแรกให้รันจากหน้าต่างเทอร์มินัลโดยคำสั่ง:

    python3 /path/to/make_starter.py
    

    ติดตั้งแอปพลิเคชั่นที่คุณคุ้นเคย ไอคอนควรปรากฏบนเดสก์ท็อปของคุณหลังจากการติดตั้งเสร็จสิ้น

  • หากทำงานได้ดีให้เพิ่มลงในแอปพลิเคชันเริ่มต้นของคุณ: Dash> แอปพลิเคชันเริ่มต้น> เพิ่ม เพิ่มคำสั่ง:

    python3 /path/to/make_starter.py
    

บันทึก

Ubuntu รุ่นที่แปลเป็นภาษาท้องถิ่นอาจมีชื่อแตกต่างกันสำหรับ "เดสก์ท็อป" ("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])

ขอบคุณ @Jacobvlijm ฉันจะให้พ่อของฉันอ่านความคิดเห็นของคุณและทำเพื่อฉันเพราะฉันไม่เข้าใจเนื้อหาทางเทคนิคทั้งหมด
Ashleigh Johnson

1
สิ่งนี้ไม่เกี่ยวกับเป้าหมายของคำตอบ แต่ฉันใช้โอกาสสังเกตไวยากรณ์ Python มันง่ายมากที่จะเข้าใจ แน่นอนคุณสามารถใช้อย่างอื่นเช่นทุบตีหรือแม้กระทั่ง C แต่คุณไม่สามารถรับมนุษย์มากกว่านี้ :-)
Lucio

3
@Lucio โอกาสที่ดีที่ถ้าคุณเขียนภาษาอังกฤษธรรมดาคุณจะต้องเขียนสคริปต์ภาษาไพ ธ อนโดยไม่ตั้งใจ :)
Jacob Vlijm

1
@JacobVlijm ฉันไม่สามารถให้ตัวเองออกจากที่บอกว่าในมืออื่น ๆ , โอกาสที่ดีที่หากคุณต้องการออกจากลิงในด้านหน้าของเครื่องคอมพิวเตอร์ที่เธอต้องการเขียนPerlสคริปต์โดยอุบัติเหตุ :)
คอส

@ คอสฉันไม่รู้ว่ามีลิงจำนวนมากในออสเตรเลีย :) พูดตามตรง: แมวของฉันได้รับชื่อเสียงที่สุดของฉันที่นี่ คำตอบเดียวที่ฉันเขียนเองคือคำตอบที่ลง :)
Jacob Vlijm

3

สิ่งนี้จะยุ่งอย่างไม่น่าเชื่อเนื่องจากอาจมีไอคอนแอพพลิเคชั่นมากกว่าร้อยไอคอน ไอคอน (ที่จริงไฟล์ปล่อยสก์ท็อป ) /usr/share/applicationsมักจะอยู่ใน ดังนั้นคุณสามารถเรียกใช้คำสั่งต่อไปนี้ใน terminal:

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

แต่สิ่งนี้จะสร้างสำเนาของตัวเรียกใช้งานทุกเครื่องบนเดสก์ท็อปของคุณ ( อาจเป็นสองสามร้อยขึ้นอยู่กับสภาพแวดล้อมของคุณ )

คุณสามารถเรียกดู/usr/share/applicationsในเครื่องมือจัดการไฟล์และคัดลอกไฟล์เหล่านั้นสำหรับแอปพลิเคชันที่เกี่ยวข้องไปยังเดสก์ท็อปด้วยตนเอง ไม่มีวิธีอัตโนมัติในการทำให้ศูนย์ซอฟต์แวร์ทำสิ่งนี้เท่าที่ฉันสามารถบอกได้


1
ฉันสงสัยว่า synaptic มีสคริปต์การติดตั้งบางประเภทที่โพสต์สามารถทำงานได้หรือบางอย่าง .. แน่นอนว่าศูนย์ซอฟต์แวร์จะไม่มีสิ่งนั้น แต่อาจจะเป็น synaptic มิฉะนั้นวิธีเดียวที่จะทำให้สิ่งนี้ประสบความสำเร็จได้คือการติดตั้งสิ่งต่าง ๆ ผ่านบรรทัดคำสั่งด้วยสคริปต์ที่กำหนดเอง แค่คิดออกมาดัง ๆ
เซท

อาจบันทึกรายการแอปพลิเคชันที่ติดตั้งโดยใช้dpkgและdiffรายการตัวเลือกใหม่และรายการตัวเลือกก่อนหน้าหลังจากการติดตั้งแต่ละครั้ง จากนั้นสามารถสร้างทางลัดโดยใช้สคริปต์ซึ่งคัดลอก.desktopไฟล์ที่เกี่ยวข้องไปยังเดสก์ท็อป
Rohith Madhavan

1
สวยมากเมื่อฉันติดตั้งสิ่งที่ฉันต้องวางไว้บนเดสก์ท็อปของฉันเอง? น่ารำคาญนิดหน่อย แต่ฉันสามารถจัดการกับมันได้
Ashleigh Johnson

1
ขออภัยสำหรับการแก้ไข @muru แต่ฉันพยายามปกป้องผู้บริสุทธิ์ ... ;-) ในระบบของฉัน: ls /usr/share/applications/*.desktop | wcให้:168 168 7851
Fabby

@AshleighJohnson แต่มีบางสิ่งที่: แอปพลิเคชันที่ติดตั้งจะถูกเพิ่มเข้าไปในตัวเรียกใช้งาน ดังนั้นจึงมีไว้สำหรับคุณโดยตรงไม่ใช่บนเดสก์ท็อป
Rinzwind
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.