2013-06-27 74 views
5

我已經編寫了一個簡單的shell腳本來完成常見任務,並且我希望能夠在單擊按鈕時運行它。我已經使用gnome-shell-extension-tool創建了Hello World示例,但現在我需要知道如何在單擊時運行任意命令。沒有投入或產出需要關注;它只需要運行。如何從gnome shell擴展中調用命令行程序?

回答

8

一些更有創意的google搜索後,我已經找到了解決辦法:

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

對於那些希望讀命令的輸出,使用此。 Gnome shell擴展的默認工作目錄是用戶的主目錄。

只是想到我會提及這些事情,因爲我花了一段時間才弄明白這些事情。

+0

謝謝,在prefs.js中工作的一個(Util不能導入,我不知道爲什麼,沒有好的參考手冊真的很痛苦)。 –