mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-21 16:05:02 +02:00
Detect SSH sessions without affecting performance
Exclude local runs by KITTY_PID. Check KITTY_WINDOW_ID to detect connections via ssh kitten. Check SSH via who -m with the integration manually installed and sudo.
This commit is contained in:
@@ -233,8 +233,17 @@ _ksi_deferred_init() {
|
||||
# (LF becomes \n, etc.). This isn't necessary in precmd because (%) does it
|
||||
# for us.
|
||||
builtin local is_ssh_session="n"
|
||||
if [[ -n "$SSH_TTY$SSH2_TTY" ]]; then
|
||||
is_ssh_session="y";
|
||||
if [[ -n "$KITTY_PID" ]]; then
|
||||
# kitty running locally
|
||||
elif [[ -n "$SSH_TTY" || -n "$SSH2_TTY$KITTY_WINDOW_ID" ]]; then
|
||||
# connected to most SSH servers
|
||||
# or use ssh kitten to connected to some SSH servers that do not set SSH_TTY
|
||||
is_ssh_session="y"
|
||||
elif [[ -n "$(builtin command -v who)" ]]; then
|
||||
# the shell integration script is installed manually on the remote system
|
||||
# the environment variables are cleared after sudo
|
||||
# OpenSSH's sshd creates entries in utmp for every login so use those
|
||||
[[ "$(builtin command who -m 2> /dev/null)" =~ "\([a-fA-F.:0-9]+\)$" ]] && is_ssh_session="y"
|
||||
fi
|
||||
|
||||
if [[ "$is_ssh_session" == "y" ]]; then
|
||||
|
||||
Reference in New Issue
Block a user