Làm cách nào để tự động tạo tập tin .desktop?


7

Có một .debphần mềm không có .desktoptệp, tôi đã tạo tệp đó. Tôi muốn tạo một gói khác cho phần mềm đó, khi người dùng cài đặt nó, tôi muốn .desktoptệp được tạo tự động và được đặt trong/usr/share/applications/

Làm thế nào để làm như vậy?

Câu trả lời:


6

Âm thanh giống như tất cả những gì bạn muốn làm là trích xuất .debkho lưu trữ của bạn , thêm .desktoptệp của bạn và xây dựng lại gói. Đây là một quá trình khá đơn giản. Để giải nen:

dpkg-deb -R package.deb extract_dir

Lưu ý -Rlà một trích xuất thô để có được các tập tin điều khiển là tốt. Tạo tiếp theo /usr/share/applications/nếu nó không tồn tại:

mkdir -p extract_dir/usr/share/applications/

Sau đó, chỉ cần thêm .desktoptệp của bạn (cẩn thận tên sẽ không xung đột với bất kỳ thứ gì khác mà bạn có khả năng cài đặt) và xây dựng lại:

cp desktop_file.desktop extract_dir/usr/share/applications/
dpkg-deb -b extract_dir package_new.deb

Lưu ý rằng bạn cũng có thể sử dụng dpkg-deb -b extract_dir .để tạo gói với tên chính tắc của nó, nhưng bạn có thể sẽ phải di chuyển bản gốc của mình ra khỏi đường trước nếu không nó sẽ bị ghi đè.

Nguồn:

1

Nếu bạn tạo gói đó, bạn có thể chạy một tập lệnh hoặc thực thi một số lệnh sau khi người dùng cài đặt nó. Đó là việc sử dụng tập lệnh shell 'postinst' nằm trong thư mục debian trong gói nguồn. Từ đó, bạn có thể tạo tệp .desktop hoặc làm bất cứ điều gì khác.

'postinst': Đây là tập lệnh shell thông thường chứa tất cả các lệnh sẽ được thực thi (theo thứ tự) sau khi cài đặt gói. dpkg sẽ chạy này tự động.

Vì vậy, tất cả những gì bạn cần làm là tạo một tập lệnh shell trước khi đóng gói gói nguồn của bạn vào một gói nhị phân, đặt tên là 'postinst' và đặt nó vào thư mục debian.

Đọc thêm về nó: https://askubfox.com/questions/101962/script-to-only-execute-during-first-install-of-a-package


được rồi, bạn có thể vui lòng chỉ cho tôi tập lệnh sẽ tạo .desktoptập tin khi .debtập tin được thực thi không? và nơi để đặt nó chính xác?
Lynob

Vì bạn đã có .desktop một mình, cách dễ nhất là giải nén gói .deb này, đặt tệp .desktop và xây dựng lại. $ dpkg-deb -extract name.deb thư mục => giải nén tập tin cây $ dpkg-deb -e name.deb thư mục / DEBIAN => giải nén tập tin cần cho các gói ... "thư mục /" sẽ hiển thị cây thư mục của các tập tin được bao gồm trong gói, vì vậy bạn chỉ cần đặt .desktop của mình vào đó ... $ dpkg-deb -b thư mục => gói được xây dựng lại, tạo thư mục
mới.deb

Xin lỗi, tôi không thể sử dụng định dạng trong bình luận của tôi. Xin hãy xem cái này: g-loaded.eu/2008/01/11/how-to-extract-rpm-or-deb-packages/ tựa Tôi đã thử nghiệm trên Debian của tôi.
incous

Thay thế postinstlà tạo tệp .desktop trong gói deb. Vì vậy, nếu gói được giải nén, tệp .desktop được sao chép vào thư mục mong muốn. Xem thêm câu trả lời của @ Graeme.
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.