diff --git a/modules/ssh-keyring.sh b/modules/ssh-keyring.sh index 2c9d5af..6186ed5 100755 --- a/modules/ssh-keyring.sh +++ b/modules/ssh-keyring.sh @@ -46,11 +46,21 @@ EOF local keyring_socket="/run/user/${target_uid}/keyring/ssh" + local target_uid + target_uid=$(id -u "$(logname)") + local keyring_socket="${SSH_AUTH_SOCK:-/run/user/${target_uid}/keyring/ssh}" + if [[ ! -S "$keyring_socket" ]]; then - log_error "No se encontró el socket de GNOME Keyring en la ruta esperada: ${keyring_socket}" - log_warning "Esto usualmente significa que el servicio no se ha iniciado correctamente con tu sesión de escritorio." - log_info "Asegúrate de haber cerrado y vuelto a abrir tu sesión después de instalar el módulo de aplicaciones." - return 1 + log_warning "No se encontró el socket de GNOME Keyring en la ruta esperada." + # Como fallback, intentamos la ruta con el UID del proceso actual. + local fallback_socket="/run/user/$(id -u)/keyring/ssh" + if [[ -S "$fallback_socket" ]]; then + keyring_socket="$fallback_socket" + log_info "Se encontró un socket válido en la ruta de fallback: ${keyring_socket}" + else + log_error "GNOME Keyring no parece estar exponiendo el socket SSH. Asegúrate de haber reiniciado la sesión." + return 1 + fi fi log_success "Socket de GNOME Keyring encontrado en: ${keyring_socket}"