diff --git a/Common/GmshDaemon.cpp b/Common/GmshDaemon.cpp
index 08d640eae95a150015b8fde905123d4d4765da18..48c307c9abef0376c4de6bccc545e5d1753191c7 100644
--- a/Common/GmshDaemon.cpp
+++ b/Common/GmshDaemon.cpp
@@ -48,12 +48,12 @@ int GmshDaemon(std::string socket)
               client.SpeedTest(huge.c_str());
             }
             break;
-          default:
+          case GmshSocket::GMSH_PARSE_STRING:
             {
               std::ostringstream v;
               v << "View \"test\" {\n";
-              for(int i = 0; i < 100; i++){
-                for(int j = 0; j < 100; j++){
+              for(int i = 0; i < 200; i++){
+                for(int j = 0; j < 200; j++){
                   v << "SQ("<<i<<","<<j<<",0, "<<i+1<<","<<j<<",0, "
                     <<i+1<<","<<j+1<<",0, "<<i<<","<<j+1<<",0){"
                     <<i+j<<","<<i+j<<","<<i+j<<","<<i+j<<"};\n";
diff --git a/Fltk/menuWindow.cpp b/Fltk/menuWindow.cpp
index cb67d6014942bd10556000fb3cee9340d37125f1..bf36376e0754d64dffed480ef818eaff5b8b1a5e 100644
--- a/Fltk/menuWindow.cpp
+++ b/Fltk/menuWindow.cpp
@@ -157,9 +157,13 @@ static void file_remote_cb(Fl_Widget *w, void *data)
     }
     else{
       GmshRemote::get(99)->name = "Remote";
-      GmshRemote::get(99)->executable = "./gmsh";
       GmshRemote::get(99)->socketSwitch = "-socket %s";
-      GmshRemote::get(99)->run("");
+      const char *exe = fl_input
+        ("Remote command:", "ssh ace25 /Users/geuzaine/src/gmsh/bin/gmsh");
+      if(exe){
+        GmshRemote::get(99)->executable = exe;
+        GmshRemote::get(99)->run("");
+      }
     }
   }
   else if(str == "stop"){
@@ -172,7 +176,17 @@ static void file_remote_cb(Fl_Widget *w, void *data)
       Msg::Error("Cannot stop remote Gmsh: server not running");
     }
   }
-  else if(str == "test"){
+  else if(str == "test1"){
+    if(GmshRemote::get(99)->getServer()){
+      Msg::Info("Testing remote Gmsh server");
+      GmshRemote::get(99)->getServer()->SendString
+        (GmshSocket::GMSH_PARSE_STRING, "Send me a view to parse");
+    }
+    else{
+      Msg::Error("Cannot test remote Gmsh: server not running");
+    }
+  }
+  else if(str == "test2"){
     if(GmshRemote::get(99)->getServer()){
       Msg::Info("Testing remote Gmsh server");
       GmshRemote::get(99)->getServer()->SendString
@@ -2234,7 +2248,10 @@ static Fl_Menu_Item sysbar_table[] = {
       {0},
 #if 1 // test remote Gmsh server
     {"Start server...",  0, (Fl_Callback *)file_remote_cb, (void*)"start"},
-    {"Test server!",  0, (Fl_Callback *)file_remote_cb, (void*)"test"},
+    {"Test server",  0, 0, 0, FL_SUBMENU},
+      {"Send small parsed view",  0, (Fl_Callback *)file_remote_cb, (void*)"test1"},
+      {"Send large dummy data",  0, (Fl_Callback *)file_remote_cb, (void*)"test2"},
+      {0},
     {"Stop server",  0, (Fl_Callback *)file_remote_cb, (void*)"stop", FL_MENU_DIVIDER},
 #endif
     {"Rename...",  FL_META+'r', (Fl_Callback *)file_rename_cb, 0},