2013-06-27 16 views
5

Ortak bir görevi gerçekleştirmek için basit bir kabuk komut dosyası yazdım ve bir düğmenin tıklatıldığında onu çalıştırabilmek istiyorum. Merhaba Dünya örneğini oluşturmak için gnome-shell-extension-tool'u kullandım, ancak şimdi tıkladığımda keyfi bir komutun nasıl çalıştırılacağını bilmem gerekiyor. İlgilenecek herhangi bir girdi veya çıktı yoktur; Sadece koşmaya ihtiyacı var.Gnome kabuk uzantısından bir komut satırı programına nasıl çağrı yapabilirim?

cevap

8

biraz daha yaratıcı googling sonra ben çözüm buldum: komutunun çıktısını okumak isteyenler için

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(); 

, bunu kullan. Gnome kabuk uzantıları için varsayılan çalışma dizini, kullanıcının ana dizini.

Sadece bu şeylerden bahsetmeyi düşündüm, çünkü onları anlamak biraz zamanımı aldı.

+0

Teşekkürler, prefs.js'de çalışan (Util ithal edilemedi, nedenini bilmiyorum, iyi bir referans el kitabı olmaksızın gerçekten çok acı çekiyorum). –