2013-06-27 14 views
5

Tôi đã viết một kịch bản lệnh shell đơn giản để thực hiện một tác vụ phổ biến và tôi muốn có thể chạy nó bất cứ khi nào một nút được nhấp. Tôi đã sử dụng công cụ gnome-shell-extension-tool để tạo ví dụ Hello World, nhưng bây giờ tôi cần phải biết cách đơn giản để nó chạy một lệnh tùy ý khi được nhấn. Không có đầu vào hoặc đầu ra nào được quan tâm; nó chỉ cần chạy.Làm cách nào để gọi một chương trình dòng lệnh từ tiện ích mở rộng vỏ gnome?

Trả lời

8

Sau khi một số googling sáng tạo hơn, tôi đã tìm thấy các giải pháp:

const Util = imports.misc.util; 
Util.spawn(['/path/to/program', 'arg1', 'arg2']) 
1
const GLib = imports.gi.GLib; 
let stuff = GLib.spawn_command_line_sync("cat hello.txt")[1].toString(); 

Đối với những người tìm kiếm để đọc các đầu ra của lệnh, sử dụng này. Thư mục làm việc mặc định cho tiện ích mở rộng vỏ Gnome là thư mục chính của người dùng.

Chỉ cần nghĩ rằng tôi muốn đề cập đến những điều này, bởi vì nó đã cho tôi một thời gian để tìm ra chúng.

+0

Cảm ơn, người làm việc trong prefs.js (Util không thể nhập được, tôi không biết tại sao, nó thực sự là một nỗi đau mà không có sổ tay tham khảo tốt). –