[F] Fix auto tmux compatibility with ssh agent

This commit is contained in:
2026-05-02 09:12:34 +00:00
parent d83a0c3075
commit d21c95403f
4 changed files with 21 additions and 0 deletions
+1
View File
@@ -4,6 +4,7 @@ set-option -g history-limit 10000
# set -g default-shell zsh # set -g default-shell zsh
set -g base-index 1 set -g base-index 1
set -g renumber-windows on set -g renumber-windows on
set -g update-environment "DISPLAY SSH_ASKPASS SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY"
# Status bar background style # Status bar background style
set -g status-style 'bg=#ffffff,fg=#333333' set -g status-style 'bg=#ffffff,fg=#333333'
+6
View File
@@ -0,0 +1,6 @@
#!/usr/bin/env bash
# Keep a stable SSH agent socket path for tmux panes across reconnects.
if [ -S "$SSH_AUTH_SOCK" ]; then
ln -sf "$SSH_AUTH_SOCK" "$HOME/.ssh/current_agent.sock"
fi
+2
View File
@@ -43,6 +43,8 @@ CFGSYNC="$SCR/../config-sync"
# Sync SSH Config # Sync SSH Config
check-config $HOME/.ssh/config $CFGSYNC/ssh-config check-config $HOME/.ssh/config $CFGSYNC/ssh-config
check-config $HOME/.ssh/rc $CFGSYNC/ssh-rc
chmod +x $CFGSYNC/ssh-rc
# Check nanorc includes # Check nanorc includes
# check-inject "$HOME/.nanorc" "include $SCR/../config-sync/nanorc" # check-inject "$HOME/.nanorc" "include $SCR/../config-sync/nanorc"
+12
View File
@@ -183,6 +183,18 @@ elif has nano; then
export EDITOR="nano" export EDITOR="nano"
fi fi
# Use the stable SSH agent socket maintained by ~/.ssh/rc inside SSH/tmux sessions.
if [[ -n "$SSH_TTY" || -n "$SSH_CONNECTION" ]]; then
if [[ -n "$SSH_AUTH_SOCK" && "$SSH_AUTH_SOCK" != "$HOME/.ssh/current_agent.sock" && -S "$SSH_AUTH_SOCK" ]]; then
mkdir -p "$HOME/.ssh"
ln -sf "$SSH_AUTH_SOCK" "$HOME/.ssh/current_agent.sock"
fi
if [[ -S "$HOME/.ssh/current_agent.sock" ]]; then
export SSH_AUTH_SOCK="$HOME/.ssh/current_agent.sock"
fi
fi
# Gradle with auto environment detection # Gradle with auto environment detection
if [[ -z $GRADLE ]] && command -v 'gradle' &> /dev/null; then if [[ -z $GRADLE ]] && command -v 'gradle' &> /dev/null; then
GRADLE="$(which gradle)" GRADLE="$(which gradle)"