zsh falha ao iniciar dentro do tmux com 'zsh-newuser-install: arquivos de inicialização existem, abortando'

7

Toda vez que eu tento iniciar zsh dentro de tmux , ele falha com

zsh-newuser-install:  startup files exist, aborting

Funcionou sem falhas ontem à noite, e de repente esta manhã nada funciona ...

Estou começando o tmux com essa linha como a primeira em .zshrc :

if [ "$TMUX" = "" ]; then tmux; fi

Obrigado!

Meu arquivo zshrc : link

EDITAR

De repente, começou a funcionar de novo ... Eu não sei o que mudou ou o que está errado ... risque isso, ele parou de funcionar novamente

EDIT # 2

No mesmo computador, funciona para usuário root, mas não para meu usuário principal (os arquivos .zshrc são exatamente os mesmos, o único diferente é que o meu próprio usuário tem um arquivo de configuração personalizado do tmux:

# set Zsh as your default Tmux shell
set-option -g default-shell /bin/zsh

# Tmux should be pretty, we need 256 color for that
set -g default-terminal "screen-256color"


# Tmux uses a 'control key', let's set it to 'Ctrl-a'
# Reason: 'Ctrl-a' is easier to reach than 'Ctrl-b'
set -g prefix C-a
unbind C-b

# command delay? We don't want that, make it short
set -sg escape-time 1

# Set the numbering of windows to go from 1 instead
# of 0 - silly programmers :|
set-option -g base-index 1
setw -g pane-base-index 1


# Allow us to reload our Tmux configuration while
# using Tmux
bind r source-file ~/.tmux.conf \; display "Reloaded!"

# Getting interesting now, we use the vertical and horizontal
# symbols to split the screen
bind | split-window -h
bind - split-window -v
    
por Richard87 08.06.2017 / 11:47

3 respostas

6

Isso acontece comigo quando, após a inicialização, eu abro o terminal dentro do IntelliJ antes de abrir um terminal autônomo:

  • Se eu abrir primeiro o terminal autônomo, os terminais autônomo e do IntelliJ funcionarão bem.
  • Se eu abrir primeiro o terminal do IntelliJ, tanto o terminal autônomo quanto o terminal do IntelliJ não exibirão esta mensagem: zsh-newuser-install: startup files exist, aborting .

A única solução encontrada para isso é:

  1. Feche todos os terminais e abra um terminal autônomo, a mensagem não deve ser mostrada, então enquanto esta estiver aberta , abra o terminal IntelliJ e o problema não acontecerá mais.
  2. Em alguns casos, isso não funcionou porque eu abri o terminal autônomo primeiro. Nesse caso, eu faço o que @ rghamilton3 sugere: tmux kill-server e depois faço # 1 novamente.
por 18.01.2018 / 20:33
2

Eu sei que isso é antigo, mas eu vi comentários mais recentes sobre isso e acabei de fazer isso acontecer comigo. Acabei de matar o servidor executando tmux kill-server e surpreendentemente o suficiente para consertá-lo para mim. YMMV, claro, mas espero que ajude alguém.

    
por 12.11.2017 / 05:11
1

Primeiro, a função zsh-newuser-install deve ser executada apenas se:

1) O usuário não possui nenhum arquivo pessoal de inicialização do zsh (como .zshrc)

2) Se as seguintes linhas aparecerem no seu arquivo .zshrc:

autoload -Uz zsh-newuser-install
zsh-newuser-install -f

3) Se os mesmos comandos forem executados manualmente.

Eu verificaria seu arquivo .zshrc para o caso. Espero que isso lhe dê um lugar para começar a procurar.

Pessoalmente, eu não colocaria o comando tmux na primeira linha do arquivo .zshrc, mas essa é minha opinião pessoal. Eu acredito que usar a variável TMUX não é a melhor escolha para determinar se o tmux já está em execução. Você teria que estar iniciando um shell em execução em uma janela / painel tmux para a variável TMUX a ser configurada. Os resultados de tmux ls seriam uma escolha melhor na minha opinião.

Var=("${(f)$(tmux ls)}")
[ ${#Var} -eq 0 ] && tmux

Como não sei seu caso de uso, você não pode escolher esse método.

    
por 19.06.2017 / 21:51

Tags