การตั้งค่า iTerm2 เป็นเทอร์มินัลเริ่มต้น (OSX Lion)


61

ฉันต้องการตั้งค่า iTerm2 แทน terminal.app เป็นเทอร์มินัลเริ่มต้นของฉัน

ตัวอย่างเช่น Go2Shell ให้คุณเปิดเทอร์มินัลไปยังไดเรกทอรีปัจจุบันใน Finder ฉันต้องการ ba สามารถใช้ iterm2 instad ของ terminal.app

ฉันไม่พบคำตอบใด ๆ ในเอกสารอย่างเป็นทางการ

ขอบคุณสำหรับความช่วยเหลือของคุณ.

อัปเดต: ShellTo เป็นทางเลือกที่ยอดเยี่ยมสำหรับ Go2Shell และรองรับ iTerm2


ขั้วเริ่มต้นเพื่ออะไร คุณเพิ่งเปิดตัวที่คุณต้องการและปล่อยให้คนเดียว ... ? โปรดอธิบายรายละเอียดเพิ่มเติมเกี่ยวกับสิ่งที่คุณขอ
Daniel Beck

1
Go2Shell ประกาศแจ้งจากร้านค้า app: เพิ่มการสนับสนุนของ iTerm, iTerm 2 และแม้กระทั่ง xterm :) เพียงแค่ดูที่การตั้งค่าของมัน นอกจากนี้อย่างน้อยสำหรับ Terminal.app คุณลักษณะนี้เป็นส่วนหนึ่งของระบบปฏิบัติการมาครึ่งปีดูที่นี่ (รายการสุดท้าย)
Daniel Beck

โอ้ฉันไม่เห็นมัน ความผิดของฉัน!
นักการเมือง

คำตอบ:


58

Terminal.appประกาศตัวเองจัดการของที่ssh, telnetและx-man-pageรูปแบบ URL

นอกจากนี้ยังลงทะเบียนส่วนขยายของไฟล์.term(เซสชัน) .terminal(การตั้งค่า) .toolและ.command(สคริปต์) และตัวเองเป็นผู้แก้ไข / ผู้ชมสำหรับสิ่งเหล่านี้

นอกจากนั้นไม่มีเทอร์มินัลเริ่มต้นใน OS X เป็นเพียงแอปพลิเคชันที่สามารถจัดการแบบแผน URL และประเภทไฟล์


iTerm มีความสามารถในการจัดการกับสิ่งเหล่านี้ยกเว้นเฉพาะ Terminal.app /.term.terminal

สำหรับประเภทไฟล์เพียงเปิดกล่องโต้ตอบรับข้อมูลและเชื่อมโยงไฟล์ประเภทนี้ทั้งหมดกับ iTerm สำหรับโครงร่าง URL คุณสามารถดาวน์โหลดและติดตั้งบานหน้าต่างการตั้งค่าเริ่มต้นและเปลี่ยนการเชื่อมโยงที่นั่น คุณยังสามารถใช้เป็นวิธีอื่นในการเปลี่ยนการเชื่อมโยงชนิดไฟล์

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


~/Library/Preferences/com.apple.LaunchServices.plistการตั้งค่าทั้งหมดเหล่านี้ใช้งานที่เฉพาะเจาะจงและเก็บไว้ใน แน่นอนคุณสามารถแก้ไขได้ในโปรแกรมแก้ไขที่เหมาะสมด้วยตัวคุณเอง มันค่อนข้างตรงไปตรงมา สกรีนช็อตของ Xcode 4 ที่แสดงผลลัพธ์ของการเปลี่ยนแปลงx-man-pageในบานหน้าต่างการกำหนดค่าตามความชอบแอปเริ่มต้น :

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


Terminal.app นอกจากนี้ยังมีดังต่อไปนี้บริการสำหรับการใช้งานอื่น ๆ :

  • ใหม่เทอร์มินัลที่โฟลเดอร์
  • New Terminal Tab ที่โฟลเดอร์
  • เปิด man page ใน Terminal
  • ค้นหาหน้าคนในเทอร์มินัล

การเชื่อมโยงกับ Terminal.app นั้นมีการกำหนดรหัสแบบยาก คุณต้องสร้างบริการของคุณเองเช่นใช้ Automator และ / หรือ AppleScript เพื่อแทนที่สิ่งเหล่านี้


หากใช้ Terminal ผ่าน AppleScript API จะไม่มีวิธีใดที่จะแทนที่ด้วย iTerm ในทุกกรณีเนื่องจาก API ของพวกเขาค่อนข้างแตกต่างกัน สิ่งนี้มักจะต้องการการเปลี่ยนแปลงที่สำคัญของโปรแกรมหรือสคริปต์


2
ขอบคุณสำหรับคำตอบที่น่าอัศจรรย์ ชัดเจนข้อมูลมาก ใหม่สำหรับ OSX ฉันไม่รู้จักแอปเริ่มต้น
นักการเมือง

เครื่องมือที่ยอดเยี่ยม ดีใจที่มันยังทำงานได้ดีภายใต้ El Capitan
ifwdev

โอ้พระเจ้านี่เป็นประโยชน์อย่างมาก ฉันลบ Terminal.app โดยไม่ตั้งใจ (หรือทำให้แย่ลงจนไม่สามารถเปิดได้) และใช้งานได้เพื่อแก้ไขปัญหานั้นและการสร้างแบบดั้งเดิมของ React Native ของฉันใช้ iterm จนทำได้ดีมากเคาะไม้ THX: D
tidelake

64

คุณควรจะสามารถสร้างiTerm.appเทอร์มินัลเริ่มต้นของคุณโดยเลือก "ทำให้เป็นค่าเริ่มต้น" จากแถบเมนู

เมนูไฟล์แบบเลื่อนลง

หรือคุณสามารถใช้แป้นพิมพ์ลัด

+ + +\


1
ดูเหมือนจะไม่ได้ผลสำหรับการทดสอบส่วนใหญ่ของฉัน GitHub.app ยังคงเปิด Terminal และ SublimeText
Fregante

5
@ bfred.it: น่าเศร้าที่ชื่อของรายการเมนูนั้นทำให้เข้าใจผิด: มีเพียงสิ่งเดียวเท่านั้นที่จะเรียกใช้เชลล์สคริปต์ที่เปิดจากFinderใน iTerm2 แทนที่จะเป็น Terminal มันจะไม่ได้อย่างน่าอัศจรรย์ทำให้เกิดการใช้งานของบุคคลที่สามเช่น GoShell, GitHub, อัลเฟรด ... ใช้ iTerm2 ตามที่อธิบายไว้ในคำตอบของแดเนียลเบ็ค
mklement0

ฉันคิดว่านี่เป็นคำตอบที่เหมาะสมที่สุดในปัจจุบัน ...
mecampbellsoup

7

ตามที่ระบุไว้ในความคิดเห็นด้านบน Go2Shell สามารถบอกได้ว่าใช้ iTerm2

ในการเปิดหน้าต่างการตั้งค่าให้ทำตามขั้นตอนนี้:

  1. เปิดโปรแกรม Terminal ที่คุณโปรดปราน
  2. ป้อน: open -a Go2Shell - กำหนดค่าเป้าหมาย
  3. กด [ย้อนกลับ]

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

http://zipzapmac.com/Go2Shell


6

ตามที่พบในบล็อกma.ttias.be , iTerm2 สามารถลงทะเบียนตัวเองเป็นเทอร์มินัลเริ่มต้นสำหรับรูปแบบ URL ทั่วไป: คุณต้องตรวจสอบรูปแบบที่เกี่ยวข้องที่ด้านล่างสุดของแท็บทั่วไปในโปรไฟล์ปัจจุบันจากการตั้งค่า iTerm

iTerm> Préférences> โปรไฟล์> Général> แบบแผน URL


ส่วนใหญ่ตอบคำถาม IMO
markus

5

หากต้องการให้ข้อมูลสรุปของคำตอบที่มีอยู่ในทางปฏิบัติ :

  • MacOS (OS X) ไม่สนับสนุนแนวคิดของการที่ขั้วเริ่มต้น

    • ดูคำตอบที่เป็นประโยชน์ของ Daniel Beckสำหรับข้อมูลพื้นฐาน
    • iTerm2ตัวเองค่อนข้างทำให้เข้าใจผิดเสนอรายการเมนูiTerm2 > Make iTerm2 Default Term (ตามที่แสดงในคำตอบ halfcube ) แต่สิ่งเดียวที่ทำให้ตัวค้นหารันเชลล์สคริปต์เปิดจากมันใน iTerm2 (โดยเฉพาะอย่างยิ่งมันกำหนดshellบทบาทของ UTI public.unix-executableให้กับ Finder) - ซึ่งเป็นไม่ใช่กรณีการใช้งานทั่วไป
  • ดังนั้นแอปพลิเคชันจะต้องกำหนดค่าแต่ละส่วนเพื่อใช้ iTerm2 แทน Terminal หากพวกเขาสนับสนุนสิ่งต่อไปนี้ :

    • ในขณะที่Go2Shellแอพที่ถามคำถามของ OP มีกล่องโต้ตอบการกำหนดค่าที่รองรับ iTerm2 ( ดูเหมือนว่าopen -a Go2Shell -- configแอปพลิเคชันจะไม่ทำงานเลยตั้งแต่ OSX 10.11.6 (เมื่อคลิกที่ปุ่มแถบเครื่องมือตั้งแต่ v2.23) สิ่งเดียวที่ ที่เคยเกิดขึ้นก็คือกล่องโต้ตอบการกำหนดค่าเกิดขึ้นแม้หลังจากคลิกแล้วInstall Go2Shell to Finder)
    • จ่ายทางเลือกกล่าวโดยสหกรณ์ - โปรแกรมShellTo- นอกจากนี้ยังสนับสนุน iTerm2 ในหลักการแต่เป็นที่เขียนนี้ไม่สนับสนุนปัจจุบันรุ่น v3 +

1

สิ่งที่ @gef โพสต์นั้นเป็นบางส่วนที่ฉันทำ อย่างไรก็ตามนี่คือสิ่งที่ได้ผลสำหรับฉัน

เปิดแอปเทอร์มินัลของคุณ:

open -a Go2Shell --args config

จากนั้นในตัวเลือกคัดลอกรหัสต่อไปนี้คุณอาจต้องคลิกขวาและวางเนื่องจากคำสั่งถูก จำกัด :

cd %PATH%;clear;pwd;open -a iTerm.app .;killall Terminal;

และ voila แอปเทอร์มินัลควรเปิดให้พารามิเตอร์ใหม่กับ iTerm แล้วปิดตัวเองอีกครั้ง


0

กระทู้นี้สำหรับ OS X Lion และดูเหมือนว่าล้าสมัยสำหรับ El Capitan อย่างไรก็ตามเนื่องจากฉันพบหน้านี้ในขณะที่ค้นหาวิธีที่จะให้ XCode เปิดตัว iTerm แทน Terminal ฉันคิดว่าฉันจะโพสต์โซลูชันของฉัน

มันไม่ฟรีโชคไม่ดี แต่มันสามารถทำได้โดยใช้แอพปรับแต่งระบบMagic Launch โดยใช้เครื่องมือที่ผมตั้ง iTerm เป็นแอปเริ่มต้นสำหรับ.term, .terminalและ.commandส่วนขยาย นั่นเป็นเคล็ดลับสำหรับความต้องการของฉัน

หวังว่านี่จะช่วยได้!


คุณสามารถขยายการทำงานของซอฟต์แวร์นี้ได้หรือไม่? โปรดดูวิธีการแนะนำซอฟต์แวร์
Burgi

คุณกำลังบอกว่าคำตอบของฉันไม่ทำงานอีกต่อไปสำหรับ El Capitan? คุณช่วยอธิบายได้ไหม
Daniel Beck

0

คุณสามารถเรียกใช้คำสั่งใด ๆ เมื่อแอปพลิเคชันเทอร์มินัลทำงานเพื่อเรียกใช้ iterm2 แทนแอปพลิเคชันเทอร์มินัลคุณสามารถสร้างสคริปต์ที่ทำงานในแต่ละครั้งที่เปิดเทอร์มินัลและสคริปต์นี้ควรเปิด iterm

ขั้นตอนในการสร้างสคริปต์

  • Vi /Applications/run_iterm.sh
  • คัดลอกคำสั่งต่อไปนี้และวางไว้ใน scrip

    #! /bin/bash
    open -a iTerm.app
    killall Terminal
    
  • บันทึกไฟล์

  • Chmod 755 /Applications/run_iterm.sh

ตอนนี้สคริปต์ของเราพร้อมแล้วขั้นตอนสุดท้ายคือเรียกใช้ทุกครั้งที่เปิดแอปพลิเคชันเทอร์มินัลเรียกใช้ไปที่การตั้งค่า -> ทั่วไป -> เชลล์เปิดด้วย -> คำสั่งเลือก "เส้นทางที่สมบูรณ์" และวาง /Applications/./run_iterm ในที่สุดภายในตำราเรียนให้ปิดแอปพลิเคชั่นเทอร์มินัลแล้วเรียกใช้อีกครั้ง ป้อนคำอธิบายรูปภาพที่นี่


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