Làm cách nào để thêm ứng dụng vào trình quản lý cửa sổ Gnome?


50

Tài liệu trên tàu của Gnome chỉ bao gồm những điều mà bất kỳ ai cũng có thể dễ dàng đoán ra. Tôi có một ứng dụng mà tôi chỉ có thể bắt đầu từ dòng lệnh. Không phải tôi bận tâm khi sử dụng thiết bị đầu cuối nhưng ...

Dù sao, làm cách nào để thêm lệnh (và tốt nhất là logo đẹp) vào Gnome WM?


Nếu bạn nhấp chuột phải, bạn có nhận được một mục "Chỉnh sửa Menu" không?
slm

không, không có menu nhấp chuột phải
mart

Câu trả lời:


88

Trong Gnome và các môi trường máy tính để bàn khác của freedesktop.org , chẳng hạn như KDEUnity , các ứng dụng được thêm vào menu của máy tính để bàn hoặc vỏ máy tính để bàn thông qua các mục trên máy tính để bàn , được xác định trong tệp văn bản có .desktopphần mở rộng (gọi là tệp máy tính để bàn ). Các môi trường máy tính để bàn xây dựng các menu cho người dùng từ thông tin kết hợp được trích xuất từ ​​các mục trên màn hình có sẵn.

Các tập tin máy tính để bàn có thể được tạo ở một trong hai nơi:

  • /usr/share/applications/ cho các mục máy tính để bàn có sẵn cho mọi người dùng trong hệ thống
  • ~/.local/share/applications/ cho các mục máy tính để bàn có sẵn cho một người dùng

Bạn có thể cần phải khởi động lại Gnome để các ứng dụng mới được thêm vào hoạt động.

Theo quy ước, các tệp máy tính để bàn không được bao gồm khoảng trắng hoặc ký tự quốc tế trong tên của chúng.

Mỗi tệp máy tính để bàn được chia thành các nhóm , mỗi nhóm bắt đầu bằng tiêu đề nhóm trong ngoặc vuông ( []). Mỗi phần chứa một số khóa , cặp giá trị , được phân tách bằng dấu bằng ( =).

Dưới đây là một mẫu của tập tin máy tính để bàn:

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Application Name
Comment=Application description
Icon=/path/to/icon.xpm
Exec=/path/to/application/executable
Terminal=false
Categories=Tags;Describing;Application

Giải trình

  • [Desktop Entry]các Desktop Entrytiêu đề nhóm xác định các tập tin như một mục máy tính để bàn
  • Type loại mục, giá trị hợp lệ là Application, LinkDirectory
  • Encoding các mã hóa ký tự của tập tin máy tính để bàn
  • Name tên ứng dụng hiển thị trong menu hoặc launcher
  • Comment mô tả về ứng dụng được sử dụng trong chú giải công cụ
  • Icon biểu tượng hiển thị cho ứng dụng trong menu hoặc launcher
  • Exec lệnh được sử dụng để khởi động ứng dụng từ shell.
  • Terminal ứng dụng có nên được chạy trong một thiết bị đầu cuối hay không, các giá trị hợp lệ là truehoặcfalse
  • Categories;danh sách các danh mục menu được phân tách bằng dấu hai chấm ( ) trong đó mục nhập sẽ được hiển thị

Đối số dòng lệnh trong Execkhóa có thể được biểu thị bằng các biến sau:

  • %f một tên tệp duy nhất.
  • %F tên tập tin nhiều.
  • %u một URL duy nhất.
  • %U nhiều URL.
  • %d một thư mục duy nhất. Được sử dụng cùng với %fđể xác định vị trí một tập tin.
  • %D nhiều thư mục. Được sử dụng cùng với %Fđể xác định vị trí các tập tin.
  • %n một tên tệp không có đường dẫn.
  • %N nhiều tên tệp không có đường dẫn.
  • %k một URI hoặc tên tệp cục bộ của vị trí của tệp máy tính để bàn.
  • %v tên của mục nhập thiết bị.

Lưu ý rằng ~hoặc các biến môi trường như $HOMEkhông được mở rộng trong các tệp trên máy tính để bàn, vì vậy mọi tệp thực thi được tham chiếu phải nằm trong $PATHhoặc được tham chiếu qua đường dẫn tuyệt đối của chúng.

Một đặc điểm kỹ thuật đầy đủ của Desktop Desktop có sẵn tại Trung tâm Dev Gnome .

Khởi chạy tập lệnh

Nếu ứng dụng được khởi chạy yêu cầu một số bước nhất định phải được thực hiện trước khi được gọi, bạn có thể tạo tập lệnh shell để khởi chạy ứng dụng và trỏ mục máy tính để bàn vào tập lệnh shell. Giả sử rằng một ứng dụng yêu cầu được chạy từ một thư mục làm việc hiện tại. Tạo một kịch bản khởi chạy ở một vị trí phù hợp ( ~/bin/ví dụ). Kịch bản có thể trông giống như sau:

#!/bin/bash
pushd "/path/to/application/directory"
./application "$@"
popd

Đặt bit thực thi cho tập lệnh:

$ chmod +x ~/bin/launch-application

Sau đó trỏ Execphím trong mục máy tính để bàn vào tập lệnh khởi chạy:

Exec=/home/user/bin/launch-application

Tôi đã làm điều đó, tôi có thể thấy biểu tượng bên dưới các ứng dụng, nhưng khi tôi nhấp vào ứng dụng không khởi động, con trỏ chỉ thay đổi thành biểu tượng tải trong vài giây. Không có thông báo lỗi.
mart

@mart Bạn có thể cho chúng tôi biết ứng dụng nào bạn đang cố gắng thêm trình khởi chạy không?
Thomas Nyman

1
FTL - một trò chơi độc lập tôi đã mua ở đâu đó trên web. Bắt đầu từ Console hoạt động.
mart

1
@mart <path>/.FTLsẽ trỏ đến một tệp ẩn được gọi .FTL, không giống như ./FTL, nó trỏ đến một tệp được gọi FTLtrong thư mục hiện tại. Bạn có thể thử khởi chạy FTLqua /full/path/path/to/FTLtrong một thiết bị đầu cuối để xem liệu bạn có nhận được bất kỳ đầu ra lỗi có ý nghĩa nào không. Ví dụ, nếu thực thi tìm kiếm các thư viện trong thư mục làm việc hiện tại, bạn có thể phải thực hiện một tập lệnh launcher thực hiện một cái gì đó dọc theo dòng pushd <path>; ./FTL; popdvà trỏ trình Execxác định trong tệp máy tính để bàn vào tập lệnh launcher.
Thomas Nyman

1
chỉnh sửa: nó hoạt động từ bên trong thư mục
mart

12

Câu trả lời rất hay từ Thomas Nyman.

Gnome đi kèm với công cụ gui gnome-desktop-item-edithỗ trợ tạo các tệp * .desktop. Chúng ta cần sử dụng nó từ dòng lệnh hoặc tạo một tệp máy tính để bàn cho nó.

Hướng dẫn tạo Ứng dụng Gnome từ gnome-desktop-item-edit

  1. Mở các cửa sổ đầu cuối và gõ lệnh sau:

    gnome-desktop-item-edit --create-new / home / [tên người dùng của bạn] /. local / share / application

  2. Trong cửa sổ mở, điền vào như sau: nhập mô tả hình ảnh ở đây

    Name: Gnome Applicaiton

    Command: gnome-desktop-item-edit --create-new /home/[your user name]/.local/share/applications

    Nhấn vào biểu tượng để chọn một biểu tượng khác.

  3. Nhấn OK để đóng cửa sổ

  4. Đóng cửa sổ đầu cuối

Kiểm tra mới được tạo Gnome Application

  1. Mở dấu gạch ngang
  2. Loại ứng dụng
  3. Bạn sẽ thấy Gnome Applicationnhập trước
  4. Chọn nó
  5. Tạo một ứng dụng khác

Điều này hoạt động thực sự tốt, cảm ơn. Có cách nào để thay đổi menu mà ứng dụng mới xuất hiện không? Của tôi xuất hiện trong Ứng dụng-> Khác
SteveP

-1

Các câu trả lời trước đây của Thomas Nyman và Dudi Boy rất hay và chi tiết. Tôi đang đăng bài này vì tôi không tìm thấy câu trả lời cho sự nghi ngờ của mình trong bất kỳ bài đăng nào khác và tôi phải tìm kiếm trong các vấn đề git.

Sau khi tôi làm theo các bước như Thomas Nyman đề nghị tôi đã có thể làm cho biểu tượng cho chương trình của mình xuất hiện trong Menu Ứng dụng. Vấn đề ở đây là tôi sử dụng Dash to Dock làm thanh bên và tôi không thể ghim biểu tượng là mục ưa thích như các biểu tượng khác. Sau khi tìm kiếm tôi thấy rằng bạn cần thêm dòng StartupWMClass=ApplicationNametrong .desktoptệp. Sau đó, tùy chọn để thêm vào mục yêu thích sẽ xuất hiện bằng cách nhấp chuột phải vào biểu tượng trong Dash to Dock.

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.