StartAndWaitForExit() public method

public StartAndWaitForExit ( ) : void
return void
示例#1
0
        bool CreateKeyPair()
        {
            string key_file_name = DateTime.Now.ToString("yyyy-MM-dd_HH\\hmm") + ".key";
            string computer_name = Dns.GetHostName();

            if (computer_name.EndsWith(".local", StringComparison.InvariantCultureIgnoreCase) ||
                computer_name.EndsWith(".config", StringComparison.InvariantCultureIgnoreCase))
            {
                computer_name = computer_name.Substring(0,
                                                        computer_name.LastIndexOf(".", StringComparison.InvariantCulture));
            }

            string arguments =
                "-t rsa " +                                      // Crypto type
                "-b 4096 " +                                     // Key size
                "-P \"\" " +                                     // No password
                "-C \"" + computer_name + " (SparkleShare)\" " + // Key comment
                "-f \"" + key_file_name + "\"";

            var ssh_keygen = new Command("ssh-keygen", arguments);

            ssh_keygen.StartInfo.WorkingDirectory = Path;
            ssh_keygen.StartAndWaitForExit();

            if (ssh_keygen.ExitCode == 0)
            {
                Logger.LogInfo("Auth", "Created key pair: " + key_file_name);
                ImportKeys();

                return(true);
            }

            Logger.LogInfo("Auth", "Could not create key pair");
            return(false);
        }
示例#2
0
        public override void CreateStartupItem()
        {
            // There aren't any bindings in MonoMac to support this yet, so
            // we call out to an applescript to do the job

            string args = "-e 'tell application \"System Events\" to " +
                "make login item at end with properties " +
                "{path:\"" + NSBundle.MainBundle.BundlePath + "\", hidden:false}'";

            var process = new Command ("osascript", args);
            process.StartAndWaitForExit ();

            Logger.LogInfo ("Controller", "Added " + NSBundle.MainBundle.BundlePath + " to login items");
        }
        bool CreateKeyPair()
        {
            string key_file_name = DateTime.Now.ToString ("yyyy-MM-dd_HH\\hmm") + ".key";
            string computer_name = Dns.GetHostName ();

            if (computer_name.EndsWith (".local",  StringComparison.InvariantCultureIgnoreCase) ||
                computer_name.EndsWith (".config", StringComparison.InvariantCultureIgnoreCase))

                computer_name = computer_name.Substring (0,
                    computer_name.LastIndexOf (".", StringComparison.InvariantCulture));

            string arguments =
                "-t rsa "  + // Crypto type
                "-b 4096 " + // Key size
                "-P \"\" " + // No password
                "-C \"" + computer_name + " (SparkleShare)\" " + // Key comment
                "-f \"" + key_file_name + "\"";

            var ssh_keygen = new Command ("ssh-keygen", arguments);
            ssh_keygen.StartInfo.WorkingDirectory = Path;
            ssh_keygen.StartAndWaitForExit ();

            if (ssh_keygen.ExitCode == 0) {
                Logger.LogInfo ("Auth", "Created key pair: " + key_file_name);
                ImportKeys ();

                return true;
            }

            Logger.LogInfo ("Auth", "Could not create key pair");
            return false;
        }
示例#4
0
        public override void SetFolderIcon()
        {
            var gvfs_set_attribute = new Command ("gvfs-set-attribute", "\"" + Configuration.DefaultConfiguration.FoldersPath + "\" " +
                "metadata::custom-icon-name org.sparkleshare.SparkleShare");

            gvfs_set_attribute.StartInfo.EnvironmentVariables ["XDG_DATA_HOME"] =
                Path.Combine (Config.HomePath, ".local", "share");

            gvfs_set_attribute.StartAndWaitForExit ();
        }