Index: firefox-extension/chrome/content/beagleOverlay.js
===================================================================
--- firefox-extension/chrome/content/beagleOverlay.js.orig	2011-07-01 11:34:34.480000149 -0600
+++ firefox-extension/chrome/content/beagleOverlay.js	2011-07-01 11:34:38.249000149 -0600
@@ -210,12 +210,33 @@ var beagle = {
      */
     checkEnv : function()
     {   
+        // create an nsILocalFile for pidof
+        var pidof_file = Components.classes["@mozilla.org/file/local;1"]
+                             .createInstance(Components.interfaces.nsILocalFile);
+        pidof_file.initWithPath("/bin/pidof");
+
+        // create an nsIProcess for pidof
+        var pidof_process = Components.classes["@mozilla.org/process/util;1"]
+                                .createInstance(Components.interfaces.nsIProcess);
+        pidof_process.init(pidof_file);
+
+        // Run the process.
+        var args = ["beagled"];
+        pidof_process.run(true, args, args.length);
+
+        // If we failed exitValue will be !0
+        if (pidof_process.exitValue) {
+            var errorMsg = (_f("beagle_check_beagled_error"));
+            this.error(errorMsg);
+            return false;
+        } 
+
         var storage_directory = this.pref.get("beagle.storage.directory"); 
         if(storage_directory == "")
             storage_directory = this.ENV.get("HOME") + "/.beagle";
         if (!this.FILE_UTILS.exists (storage_directory)) {
-	    var errorMsg = (_f("beagle_check_env_error", [storage_directory]));
-	    this.error(errorMsg);
+            var errorMsg = (_f("beagle_check_storage_dir_error", [storage_directory]));
+            this.error(errorMsg);
             return false;
         }
         this.dataPath = storage_directory + "/ToIndex";
Index: firefox-extension/chrome/locale/en-US/beagle.properties
===================================================================
--- firefox-extension/chrome/locale/en-US/beagle.properties.orig	2008-01-03 02:22:36.000000000 -0700
+++ firefox-extension/chrome/locale/en-US/beagle.properties	2011-07-01 11:34:38.249000149 -0600
@@ -4,7 +4,8 @@ beagle_tooltip_disabled=Beagle auto inde
 beagle_tooltip_error=Beagle indexing error: %S
 beagle_not_found=beagle not found
 beagle_run_error=beagle run error
-beagle_check_env_error="%S" is not accessible. Generally beagled needs to be running for this extension to work. If you have beagled with a different BEAGLE_HOME, set the variable beagle.storage.directory in about:config.
+beagle_check_storage_dir_error="%S" is not accessible. Generally beagled needs to be running for this extension to work. If you have beagled with a different BEAGLE_HOME, set the variable beagle.storage.directory in about:config.
+beagle_check_beagled_error=The search service does not appear to be running.  Enable it by configuring your "Search Settings" in the Control Center
 beagle_write_error_confirm=Fail to write content/metadata.\n Would you like to disable beagle now ?
 beagle_statuslabel_indexing=beagle is indexing %S
 beagle_index_link_connect=Connecting ... %S
Index: firefox-extension/chrome/locale/zh-CN/beagle.properties
===================================================================
--- firefox-extension/chrome/locale/zh-CN/beagle.properties.orig	2008-01-03 02:22:36.000000000 -0700
+++ firefox-extension/chrome/locale/zh-CN/beagle.properties	2011-07-01 11:34:38.304000148 -0600
@@ -4,7 +4,8 @@ beagle_tooltip_disabled=自动索引已�
 beagle_tooltip_error=发生错误: %S
 beagle_not_found=没有找到Beagle 
 beagle_run_error=Beagle 运行错误
-beagle_check_env_error=无法访问%S. 一般情况下本扩展需要beagled运行才能正常工作。如果您的beagled以另一个BEAGLE_HOME运行 请在about:config中设置 beagle.storage.directory
+beagle_check_storage_dir_error=无法访问%S. 一般情况下本扩展需要beagled运行才能正常工作。如果您的beagled以另一个BEAGLE_HOME运行 请在about:config中设置 beagle.storage.directory
+beagle_check_beagled_error=搜索服务没有运行，您可以在控制中心的“搜索设置”中进行设置
 beagle_write_error_confirm=写入内容和元数据错误.\n 是否禁用自动索引?
 beagle_statuslabel_indexing=Beagle 正在索引 %S
 beagle_index_link_connect=连接 ... %S
