Điểm:4

Làm cách nào để thêm thư mục có tệp .desktop?

lá cờ cn

Tôi biết rằng nếu bạn muốn thêm một mục .desktop thì nó phải được thêm vào /usr/share/ứng dụng, tuy nhiên, điều tôi muốn là thêm một thư mục bổ sung để nó có thể lưu trữ các tệp .desktop.

Nếu tôi chạy update-desktop-database, bạn có thể thấy rằng các chương trình như snapd hoặc flatpak tạo các thư mục riêng nơi chúng lưu trữ .desktop của chúng

Cơ sở dữ liệu trong [/usr/share/ubuntu/applications, /home/cactus/.local/share/flatpak/exports/share/applications, /var/lib/flatpak/exports/share/applications, /usr/local/share /applications, /usr/share/applications, /var/lib/snapd/desktop/applications] không thể cập nhật.

Ý tưởng của tôi là thêm một thư mục /opt/ứng dụng nơi tôi có thể lưu .desktop của các ứng dụng tự biên dịch của mình.

Điểm:10
lá cờ hr

Dựa theo Hướng dẫn quản trị hệ thống máy tính để bàn GNOME Tùy chỉnh menu : Tệp mục nhập trên máy tính để bàn

Các tệp mục trên máy tính để bàn phải nằm trong $XDG_DATA_DIRS/ứng dụng thư mục và phải có phần mở rộng tệp .desktop. Nếu $XDG_DATA_DIRS 1 không được đặt, thì đường dẫn mặc định là /usr/chia sẻ Được sử dụng. Điều này cũng ngụ ý rằng các mục máy tính để bàn cụ thể của người dùng có thể được đặt tại $XDG_DATA_HOME/ứng dụng được tìm kiếm đầu tiên. Nếu $XDG_DATA_HOME không được đặt, thì đường dẫn mặc định ~/.local/share Được sử dụng. máy tính để bàn các mục được thu thập từ tất cả các thư mục trong $XDG_DATA_DIRS biến môi trường. Thư mục xuất hiện đầu tiên trong $XDG_DATA_DIRS được ưu tiên khi có một số tệp .desktop với cùng tên.

1 $XDG_DATA_DIRS là biến môi trường được xác định trong Đặc tả thư mục cơ sở XDG.

Vì thế nếu $XDG_DATA_HOME không nói cách khác, bạn có thể đặt các tệp .desktop cho mỗi người dùng trong ~/.local/share/applications. Nếu bạn muốn có một vị trí tùy chỉnh trên toàn hệ thống, bạn có thể thêm vị trí đó vào $XDG_DATA_DIRS Ví dụ.

XDG_DATA_DIRS=/opt:$XDG_DATA_DIRS

Xem thêm Đặc tả thư mục cơ sở XDG

lá cờ cn
Điều đó hoạt động hoàn hảo. Những gì tôi đã làm là thêm phần sau vào/etc/profile: "XDG_DATA_DIRS=/opt:$XDG_DATA_DIRS". Giờ đây, tất cả các ứng dụng trong/opt/applications đều được tải bởi gnome và tôi có thể thấy chúng trong trình khởi chạy. Cảm ơn nhiều!
vanadium avatar
lá cờ cn
Một cách tiếp cận tinh tế hơn thay vì chỉnh sửa trực tiếp tệp hệ thống có thể bị ghi đè bởi bản cập nhật là thêm tập lệnh một lớp trong /etc/profile.d. Tất cả các tập lệnh này đều có nguồn gốc từ /etc/profile
Điểm:5
lá cờ ng

Bạn có thể dùng ~/.local/share/applications trong thư mục nhà của người dùng của bạn để giữ .desktop các tệp mà bạn muốn chỉ có sẵn cho người dùng đó.

lá cờ cn
Cảm ơn rất nhiều vì câu trả lời, nhưng đó không phải là điều tôi muốn làm. Ý tưởng của tôi là tách biệt các ứng dụng để có thể sao chép chúng dễ dàng từ máy tính này sang máy tính khác. Tuy nhiên, câu trả lời dưới đây chính xác là những gì tôi đang tìm kiếm. Cảm ơn một lần nữa.
muru avatar
lá cờ us
@SebastiánCastro bạn có thể đặt một thư mục *bên trong* `~/.local/share/applications` (ví dụ: `~/.local/share/applications/my-special-applications`). Cá nhân tôi sẽ làm điều đó thay vì sửa đổi các biến môi trường - bạn chỉ cần sao chép thư mục trong `~/.local/share/applications` của hệ thống mới.
Điểm:2
lá cờ cn

Không phải là câu trả lời cơ bản cho câu hỏi thực tế của bạn (nghĩa là cách thêm thư mục tùy chỉnh của bạn vào Lưu trữ trình khởi chạy .desktop), nhưng tôi khuyên bạn nên sử dụng /usr/local/share/ứng dụng dành cho các trình khởi chạy ứng dụng tự biên dịch của bạn sẽ có sẵn trên toàn hệ thống.

Thư mục này được cấu hình mặc định trong Ubuntu ở XDG_DATA_DIRSvà mục đích của nó là chính xác cho những gì bạn đang tìm kiếm, tức là cài đặt thủ công .desktop các tệp có sẵn trong hệ thống menu của bất kỳ người dùng nào.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.