Làm cách nào để trung tâm phần mềm có thể tự động tạo lối tắt trên màn hình của tôi mỗi khi cài đặt ứng dụng?


8

Tôi đã ẩn launcher của Unity vì tôi thích sử dụng dock cairo.

Đây là lý do tại sao tôi đang cố gắng tìm cách làm cho mọi thứ được cài đặt từ Trung tâm phần mềm Ubuntu tự động đặt lối tắt trong máy tính để bàn của tôi.


Tôi không thể hiểu điều này. Tại sao bạn muốn làm điều này? Công cụ / launcher nào phải làm với mọi thứ?
Braiam

1
@Braiam Tôi tin rằng OP muốn có một lối tắt được tạo trên màn hình nền cho các chương trình mà anh ấy đã tải xuống thông qua trung tâm phần mềm, giống như nhiều chương trình Windows làm. Trình khởi chạy đã được đề cập vì trung tâm phần mềm tự động ghim cài đặt mới vào nó, nhưng OP không sử dụng điều đó.
Seth

@ Vì vậy, đó là một phỏng đoán hoang dã bởi vì anh ấy muốn phần mềm "tải xuống" máy tính để bàn.
Braiam

2
@Braiam Một chút hiểu biết về cách người dùng mới nghĩ giúp ích rất nhiều;) Anh ấy rõ ràng không muốn nhị phân trên máy tính để bàn của mình .. Thậm chí bạn không thể sử dụng trung tâm phần mềm để tải xuống nhị phân.
Seth

Trước hết tôi là cô ấy ..... Thứ hai tôi đang nói về khi tôi tải xuống như gimp, hoặc các công cụ PDF hoặc trò chơi hoặc bất kỳ ứng dụng nào, tôi muốn nó đi đến máy tính để bàn của tôi để tôi có thể truy cập vì tôi không sử dụng thanh công cụ nhỏ đi kèm với UBUNTU tôi sử dụng dock cairo và dường như tôi không thể tìm ra cách thay đổi nơi trung tâm phần mềm ub Ubuntu (đây là nơi tôi tải xuống các chương trình sed) tải xuống
Ashleigh Johnson

Câu trả lời:


6

Chạy đoạn script bên dưới trong nền và nó sẽ tự động tạo một bộ khởi động trên máy tính để bàn của bạn trên (chỉ) phần mềm mới được cài đặt.

Nó cũng:

  • kiểm tra xem mục mới thực sự là một ứng dụng, có nghĩa là bắt đầu từ trình khởi chạy (kiểm tra NoDisplay=true)
  • làm cho trình khởi chạy trên máy tính để bàn của bạn có thể thực thi được, sẵn sàng để sử dụng.

Cách sử dụng

  • Sao chép tập lệnh bên dưới vào một tệp trống (sử dụng ví dụ gedit), lưu nó ở đâu đó dưới dạng make_starter.py.
  • Nếu trước tiên bạn muốn kiểm tra nó: hãy chạy nó từ cửa sổ terminal bằng lệnh:

    python3 /path/to/make_starter.py
    

    Cài đặt một ứng dụng như bạn đã quen. Một biểu tượng sẽ xuất hiện trên màn hình của bạn sau khi cài đặt xong

  • Nếu tất cả đều hoạt động tốt, hãy thêm nó vào các ứng dụng khởi động của bạn: Dash> Ứng dụng khởi động> Thêm. Thêm lệnh:

    python3 /path/to/make_starter.py
    

Ghi chú

Các phiên bản Ubuntu được bản địa hóa có thể có một tên khác cho "Máy tính để bàn" ("Bureaublad" trong tiếng Hà Lan). Nếu vậy, thay thế trong dòng:

desktopname = "Desktop"

"Máy tính để bàn" của tên loacalized.

Kịch bản

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

Cảm ơn bạn @Jacobvlijm Tôi sẽ cho bố tôi đọc bình luận của bạn và làm điều đó cho tôi vì tôi không hiểu tất cả các công cụ kỹ thuật
Ashleigh Johnson

1
Điều này không liên quan gì đến mục tiêu của câu trả lời nhưng tôi tận dụng cơ hội để nhận xét cú pháp Python, nó cực kỳ dễ hiểu. Tất nhiên bạn có thể sử dụng một cái gì đó khác như bash hoặc thậm chí C, nhưng bạn không thể có được nhiều người hơn thế này. :-)
Lucio

3
@Lucio rất có thể nếu bạn viết tiếng Anh đơn giản, bạn sẽ viết một kịch bản python một cách tình cờ :)
Jacob Vlijm

1
@JacobVlijm Tôi không thể ngăn mình nói rằng mặt khác, rất có thể nếu bạn để một con khỉ trước PC, cô ấy sẽ viết một Perlkịch bản một cách tình cờ :)
kos

@kos Tôi không biết có rất nhiều khỉ trên AU :) Thành thật mà nói: con mèo của tôi kiếm được hầu hết danh tiếng của tôi ở đây. Câu trả lời duy nhất tôi tự viết là câu trả lời :).
Jacob Vlijm 11/03/2015

3

Điều này sẽ vô cùng lộn xộn, vì có thể có hơn một trăm biểu tượng ứng dụng. Các biểu tượng (thực tế, các tập tin trình khởi chạy máy tính để bàn ) thường ở trong /usr/share/applications. Vì vậy, bạn có thể chạy lệnh sau trong một thiết bị đầu cuối:

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

nhưng điều này sẽ tạo một bản sao của mỗi trình khởi chạy đơn trên máy tính để bàn của bạn. ( có thể vài trăm, tùy thuộc vào môi trường của bạn )

Bạn có thể duyệt /usr/share/applicationstrong trình quản lý tệp và sao chép thủ công chúng cho các ứng dụng có liên quan vào máy tính để bàn. Không có cách nào tự động để làm cho Trung tâm phần mềm làm điều này, theo như tôi có thể nói.


1
Tôi tự hỏi nếu synaptic có một số loại kịch bản cài đặt bài đăng mà nó có thể chạy hoặc một cái gì đó .. Rõ ràng là trung tâm phần mềm sẽ không có điều đó nhưng có thể là synap. Mặt khác, cách duy nhất khác để thực hiện điều này sẽ là cài đặt mọi thứ thông qua dòng lệnh với một tập lệnh tùy chỉnh. Chỉ cần suy nghĩ nhiều.
Seth

Một người có thể có thể lưu danh sách các ứng dụng đã cài đặt bằng cách sử dụng dpkgdiffdanh sách lựa chọn mới và danh sách lựa chọn trước đó sau mỗi lần cài đặt. Sau đó, các phím tắt có thể được tạo bằng cách sử dụng tập lệnh sao chép các .desktoptệp có liên quan vào màn hình nền.
Rohith Madhavan

1
Quá nhiều khi tôi cài đặt một cái gì đó tôi phải tự đặt nó trên máy tính để bàn của mình? Một chút chú ý nhưng tôi có thể xử lý điều đó
Ashleigh Johnson

1
Xin lỗi vì đã chỉnh sửa @muru nhưng tôi đang cố bảo vệ người vô tội ... ;-) Trên hệ thống của tôi: ls /usr/share/applications/*.desktop | wcđưa ra:168 168 7851
Fabby

@AshleighJohnson nhưng có một điều: các ứng dụng đã cài đặt được thêm vào trình khởi chạy. Vì vậy, nó là có cho bạn trực tiếp không chỉ trên máy tính để bàn.
Rinzwind
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.