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?
5
A
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ı.
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). –