O logon do terminal trava


27

Estou com um problema estranho no meu novo MacBook Pro (final de 2016, barra de toque).

Funciona bem e, depois de usá-lo por um tempo, abrir novas janelas do Terminal não funciona porque logintrava. A reinicialização corrige o problema.

Este parece ser um problema que algumas pessoas já tiveram, então eu já tentei todas as soluções deles (de 1 e [2] ):

  1. Removendo ~/Library/Preferences/com.apple.Terminal.plist
  2. Definindo meu shell padrão para outro shell (de /bin/zshpara /bin/shou /bin/bash)
  3. Removendo ou limpando meu .profile, .zprofile... Isso não funciona e posso confirmar que o problema ocorre antes que o shell seja invocado, porque se eu, echo HEYcomo primeira linha do meu, .zshenvisso nem for alcançado. Deve estar logincausando os problemas. Editar /etc/profilepara adicionar um eco na parte superior também não mostra nada
  4. Alterar a Run command:configuração na minha configuração do Terminal para algo como echo footambém não funciona (deixar Run inside shellmarcado ou desmarcado não muda nada).

Outras notas:

  • Como [2] , ssh-add -Knão persiste chaves entre reinicializações, algo com o qual nunca tive problemas antes.
  • O console não mostra nenhum erro ou aviso suspeito.
  • Abrir uma nova Terminaljanela parece criar o arquivo tty ( /dev/ttys<number>).
  • Quando isso ocorre, não importa se eu uso o Terminal.app ou o iTerm.app
  • Eu tenho uma instalação bem limpa (peguei meu laptop, não restaurei nenhum backup, apenas instalei alguns aplicativos com brew installe brew cask install).

Isso é realmente difícil de depurar, porque não consigo reproduzi-lo e, muitas vezes, não consigo abrir um novo terminal para tentar descobrir o que está acontecendo.

Alguém tem alguma dica?

Atualizar:

Usando o iTerm, consegui um shell configurando o comando start para /bin/bash. Nesse shell, no entanto, sudonão funciona. Ele trava (sem mostrar o prompt) e ctrl-Ce ctrl-Dfazer nenhum trabalho quando ele trava.

O uso de alguns outros programas também não funciona neste shell: nodeou /usr/local/bin/nodeambos travam. Tanto quanto eu posso dizer, é programas que estão em /usr/local/bin.

Atualização 2:

brew list --full-name resulta nestes pacotes:

autoconf
automake
blueutil
boost
cabal-install
cairo
cfssl
cmake
coreutils
doxygen
editorconfig
erlang
ffind
ffmpeg
flow
fontconfig
fontforge
freetype
gdbm
gettext
ghc
git
glib
go
gobject-introspection
graphicsmagick
harfbuzz
haskell-stack
highlight
icu4c
influxdb
jemalloc
jpeg
keybase
lame
libevent
libffi
libpng
libtermkey
libtiff
libtool
libuv
libvterm
libxml2
lua
mongodb
msgpack
nginx
node
openssl
openssl@1.1
pango
pcre
pixman
pkg-config
postgresql
protobuf
python
python3
rabbitmq
readline
reattach-to-user-namespace
redis
sqlite
the_silver_searcher
thefuck
tmux
unibilium
unixodbc
wxmac
x264
xvid
xz
yarn
z
zsh
josegonzalez/php/php54
neovim/neovim/neovim

Atualização 3:

Estes pontos estão em correspondência com a resposta de @ Monomeeth:

  1. Quando isso acontece, um loginitem aparece no monitor de atividades. (Forçar) Sair também fecha a janela do Terminal que estava pendurada. Fechar a janela manualmente não faz o loginprocesso desaparecer no Monitor de Atividade.

  2. O título do terminal é Terminal — login — term big — ttys001 — 89x18 — ⌘1onde term bigestá o nome das configurações.

  3. Não há sudoprocesso aparecendo no Monitor de Atividade. Posso criar um sudoprocesso abrindo o iTerm.app (que usa o bash) e executando sudo echo oklá. Não pode ser Quit, mas o Force Quit funciona e mata:

    bash-3.2 $ sudo echo ok Morto: 9

Atualização 4:

Quando isso acontece, a execução loginde uma concha que ainda está disponível faz o trabalho, enquanto o loginem conchas mais recentes parece travar.

Atualização 5:

Recentemente, adquiri um novo laptop (MacBook Pro 2017, sem Touch Bar) e o problema persiste.

Também troquei os shells: agora estou usando fishuma configuração bonita de baunilha. Eu acho que isso descarta a casca como a culpada.

O sistema operacional também foi atualizado para 10.13.3 (17D47) High Sierra.

Eu tentei instalar o mínimo possível nesta máquina:

brew list —-full-names

coreutils 8.29
dnsmasq 2.78
faac 1.29.9.2
fdk-aac 0.1.5
ffmpeg 3.4.1
fish 2.7.1
freetype 2.9
gdbm 1.14.1_1
gettext 0.19.8.1
git 2.16.1
highlight 3.42
htop 2.0.2_2
icu4c 60.2
imagemagick 7.0.7-22
jemalloc 5.0.1
jpeg 9b
lame 3.100
libav 12.2
libogg 1.3.3
libpng 1.6.34
libtermkey 0.20
libtiff 4.0.9_1
libtool 2.4.6_1
libuv 1.19.1
libvorbis 1.3.5_1
libvpx 1.7.0
libvterm 681
libyaml 0.1.7
lua 5.3.4_2
luajit 2.0.5
mongodb 3.6.2
msgpack 2.1.5
neovim 0.2.2
node 9.5.0
openssl 1.0.2n
opus 1.2.1
parallel 20180122
pcre 8.41
pcre2 10.30
postgresql 10.2
python 2.7.14_3
python3 3.6.4_2
readline 7.0.3_1
ripgrep 0.7.1
ruby 2.5.0
sqlite 3.22.0
the_silver_searcher 2.1.0
thefuck 3.25_1
unibilium 1.2.1
x264 r2795
xvid 1.3.5
xz 5.2.3
youtube-dl 2018.02.08

Não tenho certeza do que isso pode ser agora. Os únicos aplicativos em que consigo pensar são Divvyou Apptivatejá que ambos parecem desatualizados. Esta é a interseção do que foi instalado na máquina antiga versus a nova máquina:

coreutils
ffmpeg
freetype
gdbm
gettext
git
highlight
icu4c
jemalloc
jpeg
lame
libpng
libtermkey
libtiff
libtool
libuv
libvterm
lua
mongodb
msgpack
node
openssl
pcre
postgresql
python
python3
readline
sqlite
the_silver_searcher
thefuck
unibilium
x264
xvid
xz

Atualização 6:

Além disso, aqui está uma captura de tela: captura de tela

Atualização 7:

Meu env normalmente se parece com isso:

Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.k60Nf5UBfq/Render
DISPLAY=/private/tmp/com.apple.launchd.6FMoWPSlJI/org.macosforge.xquartz:0
EDITOR=env VIRTUAL_ENV= nvim -u /Users/john-doe/.config/vim/vimrc -p
GNUTERM=X11
HOME=/Users/romeo
HOMEBREW_NO_EMOJI=1
HOMEBREW_PREFIX=/usr/local
LANG=en_GB.UTF-8
LESS=-RI
LESSHISTFILE=-
LOGNAME=romeo
LS_COLORS=di=00;31:ex=00;37:mi=00;41;30:tw=00;33
MANPATH=/usr/local/opt/coreutils/libexec/gnuman
PAGER=less
PATH=/Users/john-doe/.config/fisherman/re-search:/usr/local/opt/python/libexec/bin:/usr/local/opt/ruby/bin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/MacGPG2/bin
PWD=/Users/romeo
SECURITYSESSIONID=186a8
SHELL=/usr/local/bin/fish
SHLVL=1
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.fQn5sHMuZP/Listeners
TERM=xterm-256color
TERM_PROGRAM=Apple_Terminal
TERM_PROGRAM_VERSION=400
TERM_SESSION_ID=D2AF7A50-8B41-4793-9201-8304A02C9B29
TMPDIR=/var/folders/15/zcyyfw_x7638z7vfg5zd85z40000gn/T/
USER=romeo
XDG_CACHE_HOME=/Users/john-doe/.cache
XDG_CONFIG_HOME=/Users/john-doe/.config
XPC_FLAGS=0x0
XPC_SERVICE_NAME=0

1
Isso pode ser uma sugestão fraca, mas você já tentou entrar em contato com o Suporte ao cliente Apple? Sua pergunta não recebeu muita atenção desde que você a postou e a equipe de suporte pode ter ouvido falar sobre esse problema. Minha única outra sugestão seria reinstalar o MacOS. No entanto, como o seu Mac é tão novo, não sei se isso funcionaria.
precisa saber é

@klanomath done!
Romeovs

Para descobrir o que o logon está fazendo, selecione-o no Activity Monitor e escolha Sample Process. O mesmo vale para outros processos que estão suspensos. No entanto, esse nível de depuração pode não ser apropriado para as perguntas e respostas do StackExchange. Talvez seja melhor registrar um relatório de bug na Apple, incluindo o arquivo de amostra, ou encontrar alguém que possa oferecer suporte para diagnosticar o problema nesse nível. Veja developer.apple.com/bug-reporting
Chris Page

Quanto tempo demora? Você já tentou deixá-lo funcionando por dez minutos? Sua máquina está vinculada a uma rede Open Directory? Em particular, o login deve buscar suas informações de usuário e, se você estiver em uma rede OD com um servidor de diretórios ocupado / sem resposta, poderá levar alguns minutos para responder; outros programas também buscam informações do usuário e podem sofrer com esse problema.
Chris Page.

Ainda não tentei esperar mais, tentarei na próxima vez. Não estou vinculado a uma rede Open Directory, esses erros ocorrem também quando não estou em nenhuma rede.
Romeovs

Respostas:


13

Como tenho certeza de que você sabe, a solução de problemas é um processo de eliminação e geralmente requer muita paciência. Eu gostaria de tentar algumas coisas para tentar chegar ao fundo disso para você.

1. Confirme que ele trava durante o login

Se o processo em que ele está sendo suspenso é realmente durante o login , isso implica que o processo ainda está aguardando para criar uma sessão de login. Supondo que esse seja o caso, ele ainda não teria tentado iniciar o shell.

Para confirmar isso, na próxima vez em que ocorrer esse problema, inicie o Activity Monitor para verificar se o shell está em execução ou se você vê apenas um processo de login .

Depois de ter tido a chance de fazer isso, relate o que encontrou.

NOTA: - Se houver outros terminais abertos, verifique o processo correspondente. Meu palpite é que o processo de interrupção é aquele com o maior número de identificação do processo (PID).

2. Qual é o título do terminal?

Na próxima vez que você tiver esse problema, anote qual é o título da janela Terminal e informe-o novamente.

3. Mate o sudo

Você afirma que a reinicialização do seu MBP sempre resolve esse problema.

No entanto, na próxima vez que você tiver esse problema (talvez depois de fazer o que descrevi em 1 acima), gostaria que você tentasse matar o sudo no Activity Monitor.

Depois de tentar isso, informe-nos o que acontece.

4. Tente mover seus arquivos .bash *

É possível (por várias razões) que você tenha um arquivo .bash_profile no diretório do usuário e isso esteja causando problemas intermitentes. Isso é algo que você pode nem estar ciente, mas pode usar o Automator para executar um script que localiza e move qualquer arquivo .bash.

Aqui está um exemplo de script para fazer isso:

cd ~

mkdir moved
for F in .bash*
do
    mv $F moved
done

Esse script move todos os arquivos iniciados com .bash na sua pasta pessoal para uma subpasta movida recém-criada .

Depois de executar o script, verifique esta pasta e informe-nos se você possui algum arquivo.

NOTA: - Você pode rotular a nova subpasta como desejar. Para fazer isso, basta alterar as duas ocorrências de movidas no script para o rótulo que você deseja usar.

[ATUALIZAR]

Mais algumas coisas para tentar.

5. Tente limpar os arquivos * .asl

Se você ainda não o fez, tente limpar os arquivos * .asl. Para fazer isso, use o seguinte:

sudo rm -rf /private/var/log/asl/*.asl

NOTA: - Isso pode levar algum tempo, pois cria um novo shell. Quando terminar, feche completamente o Terminal para que as alterações tenham efeito.

6. Modo de Segurança

Você percebe alguma diferença de comportamento ao iniciar o MBP no modo de segurança? Para inicializar no modo de segurança:

  1. Desligue completamente o seu Mac
  2. Reinicie o seu Mac
  3. Pressione imediatamente a Shifttecla e mantenha-a pressionada
  4. Solte a Shifttecla quando vir a janela de login (NOTA: Se você tiver o FileVault ativado, poderá precisar fazer login duas vezes).
  5. Depois que o MBP iniciar, tente usar o Terminal e veja se você ainda consegue replicar o problema?
  6. Quando terminar, você pode sair do modo de segurança reiniciando o MBP normalmente

7. Diretório Aberto

Provavelmente, isso não se aplica ao seu caso, já que você não mencionou, mas se você estiver conectado a uma rede Open Directory, isso também poderá causar problemas. Geralmente, isso levaria apenas uma espera de 10 a 15 segundos, mas vi relatórios de logons de terminal levando cinco ou mais minutos para serem concluídos nessa situação.


Obrigado! Eu estou usando zsh, e mesmo com um vazio .zshrc, .zprofile, .profile, etc id não ocorre, mais isso não explica por que outros programas /usr/local/bintambém pendurar, então eu acho 4. está fora de cogitação. Voltarei com a resposta para as outras perguntas assim que as receber.
Romeovs

Adicionada uma atualização com as respostas para essas perguntas. loginparece ser o culpado, mas ainda não explica por que funciona no iTerm bash.
Romeovs

Eu atualizei minha resposta. No entanto, acabei de perceber que você não indicou há quanto tempo tentou aguardar a conclusão do login do Terminal? Seria bom saber se, no final das contas, efetua login ou se ele simplesmente trava indefinidamente.
Monomeeth

@romeovs Basta saber, você já resolveu esse problema?
Monomeeth

Nope :( ainda trabalhando nisso Ele começou a ocorrer muito menos embora..
romeovs

6

Parece um ajuste perfeito para você exceder o máximo de processos por usuário (ou possivelmente o máximo de processos).

Em uma instalação padrão do macOS, você obtém 709 por usuário ( ulimit -u) e 1064 processos máximos ( sysctl -a | grep maxp)

Uma maneira fácil de aumentar isso é instalar o Server.app na App Store e depois reiniciar. Você também pode definir o modo de desempenho para limites mais altos.

Como você não descreveu sua configuração (versão e compilação do SO), eis algumas dicas - verifique se o SIP restringe sua capacidade de alterar arquivos se você ler alguns dos artigos mais antigos sobre como alterar os limites sem recorrer à instalação do servidor. aplicativo:


Excelente ponto! Eu nem tinha considerado isso. :)
Monomeeth

@ Monomeeth, sua resposta é incrível. Muitas coisas boas nele.
bmike

@bmike Existe uma maneira de verificar o número total de processos para verificar se é esse o caso? Talvez eu possa reproduzi-lo criando 709 processos?
romeovs

5

Eu também tenho visto isso há vários meses. Extremamente frustrante. A única coisa que o corrige é a reinicialização.

  • MBP de meados de 2015 (sem barra de toque)
  • MacOS 10.12.6 beta

Às vezes, o travamento do login ocorre após a interação com o tmux.

Tentei, sem sucesso, todas as abordagens recomendadas.

Não tenho certeza se está relacionado, mas um lsof -p LOGIN_PID mostra um arquivo bastante grande /private/var/db/dyld/dyld_shared_cache_x86_64hpara o processo de login interrompido.

29/08/2017 Atualização:

Ainda está com o problema. Às vezes, quando a máquina fica em mau estado, tenho janelas de terminal abertas que já estão conectadas com êxito e que posso usar para depurar.

Muitos comandos não são executados corretamente, mas todos mostram um padrão de dificuldade em escrever (estou pensando no stdout). Por exemplo, quando corro ls -al, vejo ls: write erroremitido para stderr. Quando corro ls -al > /dev/null, nada é impresso em stderr.


Alguma sorte em descobrir isso?
Romeovs

O problema foi resolvido para mim desde a atualização do meu sistema operacional. Foi corrigido para algumas versões menores e atualmente estou executando o 10.13.3 (17D47).
Zack

Estou executando o 10.13.3 (17D47) também! Tornou-se frequente, mas ainda ocorre às vezes.
Romeovs

4

É importante tratar o problema real e não apenas o sintoma. Portanto, tente as seguintes sugestões e atualize-as com base no que também pode sugerir soluções adicionais.

  1. Qual usuário possui o terminal? :
    Meu primeiro palpite é que isso pode estar relacionado à forma como sua conta é configurada. Se o terminal estiver tentando acessar os recursos ou diretórios que somente o usuário administrador pode (se a sua conta não for de administrador), isso poderá levar ao estado de congelamento - não permitindo que você acesse o terminal. Portanto, vá em frente e garanta que, ao iniciar uma sessão de terminal, ela seja local para o usuário e não para outro usuário. O fato de você não poder criar um processo sudo está me apontando para essa direção.

  2. Digite Control-Z ou Command-Z:
    essa sequência de teclas de controle suspende um programa que pode estar em execução e fornece um prompt de shell. Agora você pode inserir o comando jobs para encontrar o nome do programa, depois reiniciar o programa com fg ou finalizá-lo com kill.

  3. Pressione Command-C :
    Isso interromperá se o terminal estiver tentando executar um programa em segundo plano. Experimente algumas vezes. Observe se você vê alguma saída

  4. Digite Control-Q :
    Se a saída foi interrompida com o Control-S, isso será reiniciado.

  5. Obtenha um shell alternativo :
    se você quiser experimentar um shell diferente por alguns dias, os comportamentos deles às vezes podem ajudá-lo a entender o problema do Terminal, dado que eles agem de uma certa maneira. Verifique estes links abaixo para alternativas

https://git-scm.com/downloads/guis
https://computers.tutsplus.com/tutorials/beyond-terminal-4-os-x-terminal-alternatives--mac-56217

Ajudará a saber o seguinte, se ainda não mencionado:

  • Como você está iniciando a sessão do terminal? Isso ocorre por meio de holofotes ou ícone da área de trabalho ou de alguma outra maneira?

  • O que o terminal está fazendo quando trava? É no meio da execução de um comando (o mesmo comando todas as vezes antes de travar) ou apenas no momento em que você inicia uma sessão / janelas do terminal.

  • Para que você costuma usar o seu terminal? Se a maior parte do seu uso for apenas para comandos relacionados ao git, sugiro usar Algo como o Github para Mac, pois geralmente você pode fazer a maioria das coisas a partir daí.


Ctrl-Z e Ctrl-C apenas aparecem na tela ^Ze ^C, Ctrl-Q não faz nada. Normalmente abro o shell usando o Command-N no Terminal. Sou programador em período integral, então uso o terminal para tudo basicamente. O terminal trava antes que qualquer coisa seja executada (ativada login).
Romeovs

@romeovs E o Ponteiro 1 sobre qual é o seu tipo de usuário? Uma captura de tela com o problema também ajudaria. Graças
pal4life

Eu sou o usuário e administrador padrão no meu macbook.
Romeovs

4

Eu tentaria desativar o logon SIP e dtrace para encontrar a causa raiz (para desativar e reativar o SIP, consulte http://osxdaily.com/2015/10/05/disable-rootless-system-integrity-protection-mac -os-x / )

$ csrutil status
System Integrity Protection status: disabled.
$ cp /usr/bin/login /tmp
$ sudo dtruss /tmp/login

Tentando dar um exemplo de saída, acabei de descobrir que as coisas são muito mais simples do que eu pensava. Não há necessidade de desativar o SIP, basta copiar o login.

O dtuss retornará as chamadas do sistema e poderá dar uma dica de onde as coisas dão errado.

cp /usr/bin/login .
sudo ls

dê sua senha. Então faça

sudo dtruss -d -e ./login 2> dtruss_login.txt

digite seu nome de usuário, pressione enter

digite sua senha, pressione enter

digite 'exit', pressione enter

e, finalmente, faça o upload do dtruss_login.txt para, por exemplo, https://gist.github.com/

Você pode copiar o conteúdo do arquivo para a área de transferência como este

cat dtruss_login.txt | pbcopy

Você pode encontrar um exemplo de login aqui: https://gist.github.com/wolframteetz/49c5188c9dfe68a3841fa18496679579

O segundo número inteiro em cada linha é o tempo que a chamada levou.

Claro, seria ótimo se você pudesse executar isso quando o login travar, mas se eu acertar, isso é impossível ... talvez você ou outra pessoa tenha uma idéia de como 'interromper o login' quando o terminal travar ?


Ai. Parece muita dor para algo que acontece horas ou dias após o início do logon. Você pode restringir o que dtrusspode capturar e mostrar?
bmike

Se o login travar em uma chamada do sistema, o que é bastante provável, ele será exibido. Se ele parar entre as chamadas do sistema, ele mostrará entre elas e lhe dará uma dica sobre o que realmente está acontecendo. por exemplo, se travar após a leitura de um determinado arquivo de configuração por uma chamada do sistema, o erro provavelmente ocorrerá durante a análise dessa configuração. Você precisa dar uma olhada de perto então. Também poderiam rede relacionados ... quem sabe até que você depurá-lo;)
user2707001

O problema é que não posso reproduzir manualmente o problema até que seja tarde demais.
Romeovs

Em seguida, execute o comando em um loop "forever" e faça ">> dtruss_login.txt 2> & 1" em vez de "2> dtruss_login.txt". Depois que o erro aparecer, você verá no final da saída.
user2707001

Finalmente consegui obter um log do dtruss: gist.github.com/romeovs/6661ae0db77e57281b531676cc5dc007 Como o login trava, isso nunca sai, então pressionei Ctrl após cerca de 10s.
Romeovs

1

O logincódigo fonte do comando foi publicado pela Apple. O site é macOS 10.13.3 Source . O único download necessário é system_cmds-790.30.1. Uma vez baixado, o projeto pode ser facilmente modificado para criar apenas o logincomando. O projeto e o logincomando modificados foram colocados no GitHub em davidanderson61 / system_cmds-10.13.3 .

A idéia aqui é modificar loginpara gravar informações de depuração no console. Isso ajudaria a determinar por que o logincomando trava. As modificações podem ser feitas para quem quiser participar. Eu assumi que isso teria sido eu.

Instale o logincomando Debug .

  1. Selecione a versão mais recente no site davidanderson61 / system_cmds-10.13.3 / releases .

  2. Baixe o logincomando debug para sua Downloadspasta. Em "Ativos", clique com o botão direito do mouse logine selecione "Baixar arquivo vinculado como" e, em seguida, selecione "Salvar".

  3. Parcialmente, desative a proteção de integridade do sistema (SIP). O comando é dado abaixo. Antes de inserir o comando, você precisará inicializar no macOS Recover e , em seguida, na janela Terminal.

    csrutil  enable  --without  fs
  4. Digite o comando abaixo para salvar o logincomando original . Se login.orignaljá existir, você pode omitir esta etapa.

    sudo  mv  /usr/bin/login  /usr/bin/login.original
  5. Digite os comandos abaixo para copiar o logincomando debug e definir as permissões apropriadas.

    sudo  cp  ~/Downloads/login  /usr/bin/login
    sudo  chmod  104555  /usr/bin/login
  6. Ative a proteção de integridade do sistema (SIP). Digite o seguinte comando. Depois, você deve reiniciar.

    sudo  csrutil  clear

Configurar o aplicativo de console

Abaixo estão as etapas para configurar o aplicativo Console para mostrar apenas mensagens do logincomando.

  1. Abra o aplicativo console.
  2. Adicione uma PIDcoluna, como mostrado abaixo.

    g2

  3. Digite loginno campo Pesquisar.

    g3

    Enquanto o campo Pesquisar estiver focado, pressione a returntecla O campo Pesquisar deve mudar para o que é mostrado abaixo.

    g8

  4. Mude Anypara Process, como mostrado abaixo.

    g4

  5. Lista Altere Containspara Equals, como mostrado abaixo.

    g5

  6. Selecione o Savebotão Quando solicitado "Salvar pesquisa como:", digite Logine selecione Save.

    g6

Os resultados devem aparecer como mostrado abaixo. Da próxima vez que você abrir o aplicativo Console, você terá apenas que selecionar o botão "Login".

g7

Apêndice

Como o repositório do GitHub foi criado.

  1. Clique no system_cmds.xcodeproj arquivo aberto no Xcode.
  2. Na barra de menus, selecione Source Control->Create Git Repositories....
  3. Na barra de menus, selecione Product->Scheme->New Scheme.... Em seguida, selecionelogin como destino e nome.
  4. Na barra de menus, selecione Project->Build.
  5. Saia do Xcode.
  6. Entre no GitHub e crie um novo repositório.
  7. Na parte superior da página de Instalação Rápida do seu repositório GitHub, clique em g1 para copiar a URL do repositório remoto.
  8. Para uma janela de aplicativo do Terminal, digite o seguinte comando. Substitua <remote repository URL>pelo URL copiado na etapa anterior.

    git  remote  add  origin  <remote repository URL>
  9. Abra o projeto no Xcode e, na barra de menus, selecione Source Control->Push....

Como o primeiro lançamento foi criado

  1. Na janela do aplicativo Terminal, digite os seguintes comandos.

    git  tag  -a  v1.0  -m  "Original source code"
    git  push  origin  v1.0
  2. Copie o logincomando incorporado para sua Downloadspasta.

  3. Na sua conta do GitHub, crie uma nova versão como v1.0. Anexar ~/Downloads/logincomo um binário.


1

Eu também tive esse problema ao executar o console sbt no emacs. Sempre que eu saía do console sbt apenas matando a janela em vez de sair do console sbt "muito bem" primeiro, fazia com que um processo java travasse mesmo após o fechamento da janela e, de alguma forma, impedia a criação de novas sessões de terminal. Eu forcei o processo java a partir do monitor de atividades e o terminal suspenso realmente foi iniciado, no emacs e em uma nova guia.

Agora, apenas saio bem usando o comando exitou ctrl-d(ou ctrl-c ctrl-dno emacs term/multi-term) e depois mato a janela.


0
  1. Verifique se o processo está realmente travando durante login
  2. Dê uma olhada no Monitor de Atividades e atente para root processos (por exemplo, nano, emacs, vim) que você pode ter iniciado e não encerrado corretamente (travamento, acabou de matar o terminal etc.) e que ainda estão em execução.
  3. Mate esse (s) processo (s) e o login deverá funcionar imediatamente.

0

Apenas meus dois centavos.

Instalei o pacote Terminus para texto sublime, que me permite executar o terminal no meu editor de texto.

O fechamento do texto sublime imediatamente permitiu que meu terminal voltasse a funcionar.


Eu não acho que isso ajude a responder à pergunta. Isso impede que o terminal seja suspenso executando-o dentro do Terminus? Mesmo que isso aconteça, parece que você está resolvendo outro problema aqui.
haykam 5/04

Meu terminal normal não funcionou devido a alguns problemas com o Sublime Text
Abundance

0

FWIW, eu tive esse mesmo problema. Isso resolveria após a reinicialização, mas eu queria economizar tempo fazendo isso várias vezes ao dia. Tudo começou após o uso de um ambiente nodeJS específico, então entrei no monitor de atividades e notei um processo do nó em andamento. Matar essa instância resolveu o problema para mim; portanto, se alguém experimentando isso recentemente começou a trabalhar com o nó ou o npm localmente, esse poderia ser o seu problema.


Foi um processo "java" perdido no meu caso, mas matá-lo no Activity Monitor interrompeu a interrupção do terminal!
Adam B

0

Matar uma instância nvim perdida corrigiu isso para mim. Suponho que isso não seja específico do nvim, mas algo que o nvim no meu caso estava fazendo causou problemas. Eu procuraria um aplicativo de terminal órfão fora do lugar no monitor de atividades e o mataria se encontrasse um.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.