diff --git a/xfce4-session/xfsm-startup.c b/xfce4-session/xfsm-startup.c index c621397..8070ff7 100644 --- a/xfce4-session/xfsm-startup.c +++ b/xfce4-session/xfsm-startup.c @@ -148,6 +148,7 @@ void xfsm_startup_init (XfconfChannel *channel) { gchar *agent; + gchar *ssh_agent_socket_path; gchar *path = NULL; gchar *envfile; gchar *cmd; @@ -253,7 +254,16 @@ xfsm_startup_init (XfconfChannel *channel) { if (ssh_agent_pid == NULL) { - cmd = g_strdup_printf ("%s -s", path); + ssh_agent_socket_path = xfconf_channel_get_string (channel, "/startup/ssh-agent/socket", NULL); + if (ssh_agent_socket_path) + { + cmd = g_strdup_printf ("%s -s -a %s", path, ssh_agent_socket_path); + g_free (ssh_agent_socket_path); + } + else + { + cmd = g_strdup_printf ("%s -s", path); + } xfsm_startup_init_sshagent (cmd, agent); g_free (cmd); }