Go2Shell หยุดทำงานกับ iTerm2


5

ฉันอยู่ที่ Yosemite และใช้ Go2Shell (รุ่นที่ดูเหมือนเก่ากว่า) เพื่อเปิดหน้าต่าง Terminal ที่ตำแหน่ง Finder ปัจจุบัน สิ่งนี้ใช้ได้อย่างไร้ที่ติเป็นเวลานานจนกระทั่งบางสิ่งบางอย่างเกิดขึ้นทันทีทันใดโดยไม่มีเหตุผลที่ชัดเจน เมื่อคลิกที่ไอคอนใน Finder เทอร์มินัลจะเปิดขึ้น แต่ไม่อยู่ในไดเรกทอรีปัจจุบัน ฉันติดตั้ง Go2Shell ล่าสุดแล้วติดตั้ง iTerm 2 ใหม่

  • รุ่น Go2Shell: 2.2
  • รุ่น iTerm: 2.1
  • คำสั่ง Go2Shell: cd %PATH%;clear;ls

อาการ

หน้าต่างเทอร์มินัลจะเปิดขึ้นในโฮมไดเรกทอรีแสดงสตริงcdแต่ไม่มีอะไรอื่น %PATH%ขยายตัวดูเหมือนจะไม่เคยเข้าถึง iTerm ที่จริงแล้วเมื่อทำการทดลองสามารถตรวจสอบได้ว่าคำสั่งถูกตัดที่ช่องว่างแรกและไม่เคยดำเนินการวางเพียง เมื่อใดก็ตามที่ฉันคลิกไอคอน Go2Shell สิ่งต่อไปนี้จะเข้าสู่ระบบในคอนโซล:

AppleEvents: Send port for process has no send right, port=( port:14135/0x3737 rcv:1,send:0,d:0 limit:5) (findOrCreate()/AEMachUtils.cp #526) com.apple.main-thread

Go2Shell ยังคงทำงานตามที่คาดไว้กับ Apple Terminal

ฉันติดต่อกับฝ่ายสนับสนุนของนักพัฒนาของ Go2Shell แต่พวกเขาดูเหมือนจะไม่สามารถทำซ้ำได้

มีใครเคยมีประสบการณ์แบบนี้บ้างไหม?


สวัสดี - คุณเคยแก้ไขปัญหานี้หรือไม่? ฉันมีปัญหาที่คล้ายกันมาก เทอร์มินัลนั้นใช้ได้ iTerm2 ล้มเหลวด้วย: 24/08/15 11:35:20,557 Go2ShellHelper[32220]: AppleEvents: Send port for process has no send right, port=( port:11819/0x2e2b rcv:1,send:0,d:0 limit:5) (findOrCreate()/AEMachUtils.cp #526) com.apple.main-threadในคอนโซล
wawawawa

@wawawawa ใช่แล้วดูคำตอบด้านล่าง มันอาจจะเป็นสิ่งที่อยู่ในหนึ่งในไฟล์ sourced โดยbashเช่น.bashrc, .profile, .bash_login, .bash_profileหรือสิ่งที่ชื่อของพวกเขา
oarfish

Aha! ฉันไม่คิดเลยว่าทั้งคำถามและคำตอบนั้นมาจากคุณ! สิ่งที่แปลกสำหรับฉันก็คือ Go2Shell ไม่ทำงานกับ bash หรือ zsh ในระบบของฉัน ฉันจะทำการทดลองกับ config ที่สะอาดและรายงานกลับมา
wawawawa

คำตอบ:


1

นี่อาจเป็นภาษาท้องถิ่นเกินไป แต่ฉันมีดังต่อไปนี้ในของฉัน.bash_login(ตอนท้ายสุด):

stty werase undef
bind '"\C-w": backward-kill-word'
bind '"\C-j": unix-word-rubout'

การแสดงความคิดเห็นในบรรทัดสุดท้ายแก้ไขปัญหาได้ แต่แน่นอนว่าตอนนี้ฉันขาดฟังก์ชั่นนี้ไปแล้ว


0

ฉันมีปัญหาที่คล้ายกันใน zsh เพราะฉันสร้างการส่งออกตัวแปรสภาพแวดล้อมเฉพาะแอปด้วยไมโครฟอร์แม็กซ์แบบพกพาที่ฉันเขียน (สร้าง bash, zsh, tcsh, csh, ksh โปรไฟล์สภาพแวดล้อม on-the-fly)

ยาวเรื่องสั้น: iTerm + Go2Shell ไม่เล่นกันได้ดีกับการจัดหาจาก stdin something | source /dev/stdinกระบวนการย่อยคือ

ฉันจัดเรียงใหม่เพื่อส่งออกไปยัง tempfile ( trapโดยไม่มีเงื่อนไขการแข่งขัน) และแหล่งที่มาจากที่นั่น Go2Shell + iTerm ดูเหมือนจะไม่ทำงานกับการจัดหาผ่านการทดแทนกระบวนการใน zsh source <(something)ซึ่งจะเป็นวิธีที่ต้องการ

if [ -x "${ZDOTDIR:-$HOME}/bin/envrc" ] && [ -z "$ENVRC_RAN" ]; then
  ENVRC_TMP="$HOME/.envrc.$$"
  trap 'rm -f "$ENVRC_TMP"' EXIT ERR QUIT INT TERM HUP PIPE # might be too pedantic
  "${ZDOTDIR:-$HOME}/bin/envrc" > "$ENVRC_TMP" && source "$ENVRC_TMP"
  rm -f "$ENVRC_TMP"
  trap - EXIT ERR QUIT INT TERM HUP PIPE
  unset ENVRC_TMP
  export ENVRC_RAN=1
fi

0

มันเกิดขึ้นกับฉันแล้วฉันก็สงสัยว่า (โมฆะ) นั้นเป็นเพราะ Go2Shell ไม่สามารถมองเห็นเส้นทางของ Finder ได้เนื่องจากการแซนด์บ็อกซ์

ฉันไปที่การตั้งค่าระบบ -> ความปลอดภัยและความเป็นส่วนตัว -> ระบบอัตโนมัติ (บานหน้าต่างด้านซ้าย)

ฉันพบ Go2Shell.app ที่มี iTerm และ Terminal เท่านั้นที่ "ตรวจสอบ" แต่ Finder อยู่ในรายการ แต่ไม่ได้ทำเครื่องหมาย:

ป้อนคำอธิบายรูปภาพที่นี่

ตรวจสอบและ voila! มันทำงานได้อีกครั้ง!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.