Open
Description
Current Behavior
i ran the command rsync to copy some files remotely:
rsync -avz ~/logs.txt nyxar@nixos:~/Documents
and i get the error:
[ERROR] - (starship::print): Under a 'dumb' terminal (TERM=dumb).
protocol version mismatch -- is your shell clean?
(see the rsync manpage for an explanation)
rsync error: protocol incompatibility (code 2) at compat.c(622) [sender=3.3.0]
Expected Behavior
should work, I guess
Additional context/Screenshots
one thing is that I have a system running on TTY only, but I have a terminal emulator (kitty) installed so I can ssh to it without running into compatibility issues, thing enables me to use starship, but i guess that might be the issue
I've tried to launch bash with not config, and the issue persist
bash --norc
bash-5.2$ rsync -avz logs.txt nyxar@nixos:~/Documents/
(nyxar@nixos) Password:
[ERROR] - (starship::print): Under a 'dumb' terminal (TERM=dumb).
protocol version mismatch -- is your shell clean?
(see the rsync manpage for an explanation)
rsync error: protocol incompatibility (code 2) at compat.c(622) [sender=3.3.0]
then, i've tried the other way around and it worked:
rsync -avz baryon@serverless:~/logs.txt ~/Documents/
(baryon@serverless) Password:
receiving incremental file list
logs.txt
sent 43 bytes received 5.015 bytes 778,15 bytes/sec
total size is 21.189 speedup is 4,19
Possible Solution
Environment
- Starship version: 1.19.0
- fish version: fish, version 3.7.1
- Operating system: NixOS 24.5.0
- Terminal emulator:
- Git Commit Hash:
- Branch/Tag:
- Rust Version: rustc 1.77.2 (25ef9e3d8 2024-04-09) (built from a source tarball)
- Rust channel: release
- Build Time: 1980-01-01 00:00:00 +00:00
Relevant Shell Configuration
if status is-interactive
# Commands to run in interactive sessions can go here
set -g fish_greeting ""
fastfetch
end
alias nixosconfig='cd /etc/nixos; sudo nvim . ; cd -'
alias nvimconfig='cd ~/.config/nvim;nvim . ; cd -'
alias ls="eza --icons=always --color=always -l --no-filesize"
alias tree="eza --tree --icons=always --color=always -l --no-filesize"
# default man is neovim
set -gx MANPAGER 'nvim +Man!'
# default code editor
set -gx EDITOR "nvim"
set -gx VISUAL "nvim"
# DANGER: -- keybinds --
#function toggleViMode
# if test "$fish_key_bindings" = "fish_vi_key_bindings"
# fish_vi_key_bindings
# else
# fish_default_key_bindings
# end
#
#end
#
#bind \ck toggleViMode
function aj
cd (autojump $argv)
end
function sudo
if test "$argv[1]" = "nvim"
command sudo -Es $argv
else
command sudo $argv
end
end
function wttr
if test $argv = ""
curl "wttr.in/fes"
else
curl "wttr.in/$argv"
end
end
set -e FZF_DEFAULT_OPTS
#eval "$(fzf --fish)"
# --- setup fzf theme ---
set purple "#B388FF"
set dimmed_purple "#6D4DC1"
set green "#b1f2a7"
set yellow "#ebde76"
set -x FZF_DEFAULT_OPTS "--color=hl:$dimmed_purple,hl+:$dimmed_purple,info:$green,prompt:$yellow,pointer:$yellow,marker:$yellow,spinner:$yellow,header:$yellow,fg+:$green"
set -x FZF_DEFAULT_COMMAND "fd --hidden --strip-cwd-prefix --exclude .git"
#NOTE: use ctrl + t for file search and alt + c for directory search
set -x FZF_CTRL_T_COMMAND "$FZF_DEFAULT_COMMAND"
set -x FZF_ALT_C_COMMAND "fd --type=d --hidden --strip-cwd-prefix --exclude .git"
#NOTE: this for fzf and the selected file will be used in neovim
alias fzfnvim="fd --hidden --strip-cwd-prefix --exclude .git | fzf | xargs -r nvim"
# Use fd (https://github.com/sharkdp/fd) for listing path candidates.
# - The first argument to the function ($1) is the base path to start traversal
# - See the source code (completion.{bash,zsh}) for the details.
function _fzf_compgen_path
fd --hidden --exclude .git . "$argv"
end
# Use fd to generate the list for directory completion
function _fzf_compgen_dir
fd --type=d --hidden --exclude .git . "$argv"
end
set -x BAT_THEME "base16"
# ------ Eza ------
set -x FZF_CTRL_T_OPTS "--preview 'bat -n --color=always --line-range :500 {}'"
set -x FZF_ALT_C_OPTS "--preview 'eza --tree --color=always {} | head -200'"
# Advanced customization of fzf options via _fzf_comprun function
# - The first argument to the function is the name of the command.
# - You should make sure to pass the rest of the arguments to fzf.
function _fzf_comprun
set command $argv[1]
set argv $argv[2..-1]
switch $command
case 'cd'
fzf --preview 'eza --tree --color=always {} | head -200' $argv
case 'export' 'unset'
fzf --preview "eval 'echo \$'{}" $argv
case 'ssh'
fzf --preview 'dig {}' $argv
case '*'
fzf --preview "bat -n --color=always --line-range :500 {}" $argv
end
end
starship init fish | source
Starship Configuration
add_newline = true
command_timeout = 1300
format = "$all$nix_shell$nodejs$lua$golang$rust$php$git_branch$git_commit$git_state$git_status\n$username$hostname$directory"
scan_timeout = 50
[character]
error_symbol = "[✗](bold red) "
format = "$symbol "
success_symbol = "[](bold green) "
vicmd_symbol = "[](bold dimmed #ff79c6)"
vimcmd_replace_one_symbol = "[](bold dimmed cyan)"
vimcmd_replace_symbol = "[](bold dimmed purple)"
vimcmd_visual_symbol = "[](bold dimmed yellow)"
[directory]
before_repo_root_style = "bold #f2cf6f"
format = "[$path]($style)[$read_only]($read_only_style)[\\]\\$](bold #f26fa1) "
read_only = " "
read_only_style = "bold #eeef8b"
repo_root_format = "[$before_root_path]($before_repo_root_style)[$repo_root]($repo_root_style)[$path]($repo_root_style)[$read_only]($read_only_style)[\\]\\$](bold #f26fa1) "
repo_root_style = "bold #f2cf6f"
style = "bold #a4caea"
truncation_length = 2
use_os_path_sep = true
[git_branch]
format = "[$symbol$branch(:$remote_branch)]($style) "
style = "#fc937b"
symbol = " "
[git_commit]
format = "[($hash$tag)]($style) "
style = "#edb46a"
tag_symbol = " "
[git_state]
format = "([ $state( $progress_current/$progress_total)]($style)) "
style = "bold #f9ce31"
[git_status]
format = "([$all_status$ahead_behind](bold #edb46a) )"
up_to_date = "✓(bold dimmed #82f2a4)"
[golang]
format = "[ ($version )($mod_version )](bold dimmed #00ADD8)"
[hostname]
disabled = false
format = "[$ssh_symbol](blue dimmed bold)[$hostname]($style) "
ssh_only = false
style = "bold #8bc5ef"
[lua]
format = "[ $version](bold blue) "
[nix_shell]
disabled = false
format = "[$state(($name))]($style) "
impure_msg = "[ ](bold red)"
pure_msg = "[ ](bold blue)"
style = "bold blue"
[nodejs]
format = "[ ($version )](bold green)"
[php]
format = "[ $version](147 bold) "
[username]
format = "[\\[](bold #f26fa1)[$user]($style)[@](bold #f26fa1)"
show_always = true
style_root = "bold red"
style_user = "bold #bba8ed"
Activity