35 votes

Connexion au terminal bloquée

J'ai un problème étrange sur mon nouveau MacBook Pro (fin 2016, avec Touch Bar).

Tout fonctionne bien et puis, après l'avoir utilisé un moment, l'ouverture de nouvelles fenêtres de Terminal ne fonctionne pas car login se bloque. Le redémarrage résout le problème.

Cela semble être un problème que d'autres personnes ont rencontré, donc j'ai déjà essayé toutes leurs solutions (de 1 et [2]) :

  1. Supprimer ~/Library/Preferences/com.apple.Terminal.plist
  2. Définir mon shell par défaut sur un autre shell (de /bin/zsh à /bin/sh ou /bin/bash)
  3. Supprimer ou nettoyer mon .profile, .zprofile, ... Cela ne fonctionne pas et je peux valider que le problème survient avant même que le shell soit invoqué, car si j'ajoute echo HEY comme première ligne de mon .zshenv, cela n'est même pas atteint. Ce doit être login qui pose problème. Modifier /etc/profile pour ajouter un echo en haut ne montre rien
  4. Changer le paramètre Exécuter la commande : dans ma configuration de Terminal pour quelque chose comme echo foo ne fonctionne pas non plus (cocher ou décocher Exécuter à l'intérieur du shell ne change rien).

Autres notes :

  • Comme mentionné dans [2], ssh-add -K ne conserve pas les clés entre les redémarrages, quelque chose que je n'avais jamais eu de problèmes auparavant.
  • La console ne montre aucun erreur ou avertissement suspect.
  • Ouvrir une nouvelle fenêtre de Terminal semble créer un fichier tty (/dev/ttys).
  • Quand cela se produit, cela n'a pas d'importance si j'utilise Terminal.app ou iTerm.app
  • J'ai une installation plutôt propre (je viens de recevoir mon ordinateur portable, je n'ai pas restauré de sauvegardes, juste installé quelques applications avec brew install et brew cask install).

C'est vraiment difficile à déboguer car je ne peux pas le reproduire et souvent je ne peux pas ouvrir un nouveau terminal pour essayer même de comprendre ce qui se passe.

Est-ce que quelqu'un a des conseils?

Mise à jour :

En utilisant iTerm, j'ai réussi à obtenir un shell en définissant la commande de démarrage sur /bin/bash. Dans ce shell, cependant, sudo ne fonctionne pas. Il se bloque (sans afficher le prompt) et ctrl-C et ctrl-D ne fonctionnent pas quand il se bloque.

L'utilisation de certaines autres applications ne fonctionne pas dans ce shell : node ou /usr/local/bin/node restent bloqués. Autant que je puisse le dire, ce sont des programmes qui se trouvent dans /usr/local/bin.

Mise à jour 2 :

brew list --full-name donne ces paquets :

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

Mise à jour 3 :

Ces points correspondent à la réponse de @Monomeeth :

  1. Quand cela se produit, un élément login apparaît dans le moniteur d'activité. (Forcer) Quitter le ferme également la fenêtre Terminal qui était bloquée. Fermer manuellement la fenêtre ne fait pas disparaître le processus login dans le moniteur d'activité.

  2. Le titre du terminal est Terminal — login — term big — ttys001 — 89x18 — 1, où term big est le nom des paramètres.

  3. Aucun processus sudo n'apparaît dans le moniteur d'activité. Je peux créer un processus sudo en ouvrant iTerm.app (qui utilise bash) et en exécutant sudo echo ok là-bas. Il ne peut pas être fermé, mais Forcer à quitter fonctionne et le tue :

    bash-3.2$ sudo echo ok Killed: 9

Mise à jour 4 :

Quand cela se produit, exécuter login depuis un shell toujours disponible fonctionne, tandis que le login dans les nouveaux shells semble se bloquer.

Mise à jour 5 :

J'ai récemment acquis un nouvel ordinateur portable (MacBook Pro 2017, sans Touch Bar) et le problème persiste.

J'ai également changé de shell : j'utilise maintenant fish avec une configuration assez basique. Je pense que cela exclut le shell comme étant le coupable.

Le système d'exploitation a aussi été mis à jour en 10.13.3 (17D47) High Sierra.

J'ai essayé d'installer le moins possible sur cette machine :

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

Je ne sais pas ce que cela peut être maintenant. Les seules applications auxquelles je peux penser sont Divvy ou Apptivate car elles semblent toutes deux obsolètes. Voici l'intersection de ce qui était installé sur l'ancien vs le nouveau machine:

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

Mise à jour 6 :

Aussi, voici une capture d'écran :

capture d'écran

Mise à jour 7 :

Mon environnement ressemble typiquement à ceci :

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

2 votes

Ceci pourrait être une suggestion simpliste, mais avez-vous essayé de contacter le support client d'Apple? Votre question n'a pas obtenu beaucoup d'attention depuis que vous l'avez postée, et leur équipe de support pourrait être au courant de ce problème. Ma seule autre suggestion serait de réinstaller MacOS. Cependant, étant donné que votre Mac est si récent, je ne sais pas si cela fonctionnerait.

1 votes

@klanomath terminé!

0 votes

Pour comprendre ce que fait le processus de connexion, sélectionnez-le dans le Moniteur d'activité et choisissez Échantillon de processus. Il en va de même pour les autres processus bloqués. Cependant, ce niveau de débogage peut ne pas être approprié pour une question et réponse sur StackExchange. Il peut être préférable de signaler un bogue à Apple en incluant le fichier d'échantillon, ou de trouver quelqu'un qui peut offrir un support pour diagnostiquer le problème à ce niveau. Voir developer.apple.com/bug-reporting

0voto

Tuer une instance isolée de nvim a résolu le problème pour moi. Je suppose que ce n'est pas spécifique à nvim, mais quelque chose que nvim faisait dans mon cas causait des problèmes. Je chercherais une application de terminal abandonnée hors de propos dans le moniteur d'activité et la tuerais si vous en trouvez une.

0voto

gone Points 543

Dans mon cas, la nouvelle fenêtre de terminal s'est figée après avoir affiché Dernière connexion: mar. 24 nov. 18:31:39 sur ttys001, et le titre de la fenêtre de terminal montrait manpath.

Il s'avère que cela s'est produit parce que j'avais mis à jour mon Xcode de la version 11.7 à la version 12.2 mais je n'avais pas encore installé les nouveaux outils en ligne de commande. Après avoir démarré Xcode et installé les outils, le terminal s'est ouvert sans problème ni retard.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X