ฉันมีปัญหาแปลก ๆ ใน MacBook Pro ใหม่ของฉัน (ปลายปี 2016, แถบสัมผัส)
มันใช้งานได้ดีหลังจากใช้ไประยะหนึ่งแล้วการเปิดหน้าต่างเทอร์มินัลใหม่จะไม่ทำงานเพราะlogin
แฮงค์ การรีบูตเครื่องช่วยแก้ไขปัญหา
นี่ดูเหมือนจะเป็นปัญหาที่คนอื่นมีดังนั้นฉันจึงลองใช้วิธีแก้ปัญหาทั้งหมดของพวกเขาแล้ว (จาก 1และ[2] ):
- การถอด
~/Library/Preferences/com.apple.Terminal.plist
- การตั้งค่าเริ่มต้นของฉันเปลือกเปลือกอีก (จาก
/bin/zsh
ไป/bin/sh
หรือ/bin/bash
) - กำลังลบหรือทำความสะอาดฉัน
.profile
,,.zprofile
... สิ่งนี้ไม่ทำงานและฉันสามารถตรวจสอบได้ว่าปัญหาเกิดขึ้นก่อนที่เชลล์จะถูกเรียกใช้เพราะถ้าฉันecho HEY
เป็นบรรทัดแรกของฉัน.zshenv
นี่ยังไม่ถึง มันจะต้องlogin
ทำให้เกิดปัญหา การแก้ไข/etc/profile
เพื่อเพิ่มเสียงสะท้อนที่ด้านบนยังไม่แสดงผลใด ๆ - การเปลี่ยนการ
Run command:
ตั้งค่าในเทอร์มินัลการตั้งค่าของฉันเป็นสิ่งที่คล้ายกันecho foo
ไม่ทำงาน (Run inside shell
การทำเครื่องหมายไว้หรือไม่เลือกจะไม่เปลี่ยนแปลงอะไร)
หมายเหตุอื่น ๆ :
- เช่นเดียวกับ[2] ,
ssh-add -K
ไม่ได้ยังคงอยู่ระหว่างคีย์เรียบบางอย่างที่ผมไม่เคยมีปัญหากับก่อน - คอนโซลไม่แสดงข้อผิดพลาดหรือคำเตือนที่น่าสงสัย
- การเปิด
Terminal
หน้าต่างใหม่ดูเหมือนจะสร้างไฟล์ tty (/dev/ttys<number>
) - เมื่อเกิดเหตุการณ์นี้มันไม่สำคัญว่าฉันจะใช้ Terminal.app หรือ iTerm.app
- ฉันมีการติดตั้งที่ค่อนข้างสะอาด (เพิ่งได้รับแล็ปท็อปของฉันไม่คืนค่าการสำรองข้อมูลใด ๆ เพียงติดตั้งแอพบางตัวด้วย
brew install
และbrew cask install
)
นี่เป็นการยากที่จะทำการดีบักเพราะฉันไม่สามารถทำซ้ำได้และบ่อยครั้งที่ฉันไม่สามารถเปิดเทอร์มินัลใหม่เพื่อลองค้นหาสิ่งที่เกิดขึ้นได้
ไม่มีใครมีเคล็ดลับใด ๆ
ปรับปรุง:
ใช้ iTerm /bin/bash
ผมก็สามารถที่จะได้รับเปลือกโดยการตั้งค่าคำสั่งเริ่มต้นเพื่อ อย่างไรก็ตามในเชลล์นี้sudo
ไม่สามารถใช้งานได้ แฮงค์ (โดยไม่แสดงพรอมต์) ctrl-C
และctrl-D
จะไม่ทำงานเมื่อแฮงค์
การใช้โปรแกรมอื่นบางโปรแกรมไม่ทำงานในเชลล์นี้: node
หรือ/usr/local/bin/node
ทั้งสองหยุดทำงาน เท่าที่ฉันสามารถบอกได้มันเป็นโปรแกรมที่มี/usr/local/bin
มา
อัปเดต 2:
brew list --full-name
ผลลัพธ์ในแพ็คเกจเหล่านี้:
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
อัปเดต 3:
ประเด็นเหล่านี้สอดคล้องกับคำตอบของ @ Monomeeth:
เมื่อมันเกิดขึ้น
login
รายการจะปรากฏขึ้นในการตรวจสอบกิจกรรม (บังคับ) การปิดมันยังปิดหน้าต่างเทอร์มินัลที่ห้อยอยู่ การปิดหน้าต่างด้วยตนเองไม่ได้ทำให้login
กระบวนการหายไปในการตรวจสอบกิจกรรมชื่อเทอร์มินัลคือ
Terminal — login — term big — ttys001 — 89x18 — ⌘1
ที่ใดterm big
คือชื่อการตั้งค่าไม่มี
sudo
ขั้นตอนปรากฏขึ้นในการตรวจสอบกิจกรรม ฉันสามารถสร้างsudo
กระบวนการได้โดยเปิด iTerm.app (ซึ่งใช้ bash) และทำงานที่sudo echo ok
นั่น มันไม่สามารถเป็น Quit ได้ แต่ Force Quit ทำงานและฆ่ามัน:bash-3.2 $ sudo echo ok ที่ถูกฆ่า: 9
อัปเดต 4:
เมื่อมันเกิดขึ้นการเรียกใช้login
จากเชลล์ที่ยังคงใช้งานได้จะทำงานในขณะที่login
เชลล์รุ่นใหม่ดูเหมือนว่าจะหยุดทำงาน
อัปเดต 5:
ฉันเพิ่งได้แล็ปท็อปเครื่องใหม่ (MacBook Pro 2017 ไม่มี Touch Bar) และปัญหายังคงมีอยู่
ฉันได้เปลี่ยนเปลือกหอยด้วย: ตอนนี้ฉันกำลังใช้fish
กับการกำหนดค่าวานิลลาสวย ฉันคิดว่าออกกฎเปลือกเป็นผู้กระทำผิด
ระบบปฏิบัติการได้รับการอัพเดตเป็น 10.13.3 (17D47) High Sierra
ฉันพยายามติดตั้งให้น้อยที่สุดบนเครื่องนี้:
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
ไม่แน่ใจว่าจะเกิดอะไรขึ้น แอพเดียวที่ฉันนึกออกDivvy
หรือApptivate
เพราะทั้งคู่ดูล้าสมัยไปแล้ว นี่คือจุดตัดของสิ่งที่ติดตั้งบนเครื่องเก่ากับเครื่องใหม่:
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
อัปเดต 6:
อัปเดต 7:
โดยทั่วไปแล้ว env ของฉันมีลักษณะเช่นนี้:
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