Đặt iTerm2 làm thiết bị đầu cuối mặc định (OSX Lion)


61

Tôi muốn đặt iTerm2 thay vì terminal.app làm thiết bị đầu cuối mặc định của mình.

Ví dụ, Go2Shell cho phép bạn mở một thiết bị đầu cuối vào thư mục hiện tại trong Finder. Tôi muốn ba có thể sử dụng iterm2 instad của terminal.app.

Tôi đã không tìm thấy bất kỳ câu trả lời trên các tài liệu chính thức.

Cảm ơn bạn đã giúp đỡ.

Cập nhật: ShellTo là một thay thế tuyệt vời cho Go2Shell và hỗ trợ iTerm2


Thiết bị đầu cuối mặc định để làm gì? Bạn chỉ cần khởi chạy cái bạn muốn và để cái kia một mình ...? Vui lòng giải thích chi tiết hơn những gì bạn đang hỏi.
Daniel Beck

1
Go2Shell blurb từ cửa hàng ứng dụng: Đã thêm hỗ trợ của iTerm, iTerm 2 và thậm chí xterm :) . Chỉ cần nhìn vào sở thích của nó. Ngoài ra, ít nhất là đối với Terminal.app, tính năng này đã là một phần của HĐH trong nửa năm, xem tại đây (mục cuối cùng).
Daniel Beck

Oh tôi đã không nhìn thấy nó. Lỗi của tôi!
politicus

Câu trả lời:


58

Terminal.apptuyên bố bản thân một handler của ssh, telnetx-man-pagechương trình URL.

Nó cũng đăng ký các phần mở rộng tập tin .term(phiên), .terminal(cài đặt) .tool.command(tập lệnh) và chính nó là trình chỉnh sửa / trình xem cho các phần này.

Ngoài ra, không có thiết bị đầu cuối mặc định trong OS X. Đây chỉ là một ứng dụng có thể xử lý các lược đồ URL và loại tệp.


iTerm có khả năng xử lý tất cả những thứ này trừ Terminal.app cụ thể .term/ .terminal.

Đối với các loại tệp, chỉ cần mở hộp thoại Nhận thông tin và liên kết tất cả các tệp thuộc loại này với iTerm. Đối với các lược đồ URL, bạn có thể tải xuống và cài đặt khung tùy chọn Ứng dụng mặc định và thay đổi liên kết ở đó. Bạn cũng có thể sử dụng nó như một phương pháp thay thế các liên kết loại tệp.

nhập mô tả hình ảnh ở đây


Tất cả các cài đặt này là người dùng cụ thể và được lưu trữ trong ~/Library/Preferences/com.apple.LaunchServices.plist. Tất nhiên bạn có thể tự chỉnh sửa nó trong một trình soạn thảo phù hợp. Nó khá đơn giản. Ảnh chụp màn hình của Xcode 4 hiển thị kết quả thay đổi x-man-pagetrong ngăn tùy chọn Ứng dụng mặc định :

nhập mô tả hình ảnh ở đây


Terminal.app cũng cung cấp các Dịch vụ sau cho các ứng dụng khác:

  • Thiết bị đầu cuối mới tại thư mục
  • Tab thiết bị đầu cuối mới tại thư mục
  • Mở trang người đàn ông trong Terminal
  • Tìm kiếm trang man trong Terminal

Sự liên kết với Terminal.app được mã hóa cứng. Bạn cần tạo Dịch vụ của riêng mình, ví dụ như sử dụng Automator và / hoặc AppleScript để thay thế các Dịch vụ này.


Nếu Terminal được sử dụng thông qua API AppleScript, không có cách nào để thay thế nó bằng iTerm trong mọi trường hợp, vì API của chúng khá khác nhau. Điều này thường sẽ yêu cầu thay đổi đáng kể cho các chương trình hoặc tập lệnh làm điều đó.


2
Cảm ơn bạn đã trả lời tuyệt vời của bạn. Rõ ràng, rất nhiều thông tin. Mới sử dụng OSX, tôi chưa biết Ứng dụng mặc định.
politicus

Công cụ tuyệt vời. Vui vì nó vẫn hoạt động tốt dưới thời El Capitan.
ifwdev

Ôi trời, điều này thật hữu ích. Tôi đã vô tình xóa Terminal.app (hoặc làm hỏng nó đến mức nó không mở được) và điều này hoạt động để khắc phục điều đó, và các bản dựng React Native của tôi đang sử dụng iterm cho đến nay, rất tốt, gõ vào gỗ. THX: D
tham gia

64

Bạn sẽ có thể tạo iTerm.appthiết bị đầu cuối mặc định của mình bằng cách chọn "Đặt mặc định" từ thanh menu.

Menu tập tin thả xuống

Ngoài ra, bạn có thể sử dụng một phím tắt.

+ + +\


1
Nó dường như không hoạt động trong hầu hết các thử nghiệm của tôi. GitHub.app vẫn mở Terminal và SublimeText cũng vậy.
Fregante

5
@ bfred.it: Đáng buồn thay, tên của mục menu là sai lệch: điều duy nhất nó làm là chạy các kịch bản shell được mở từ Finder trong iTerm2 chứ không phải Terminal. Nó sẽ không kỳ diệu khiến các ứng dụng của bên thứ ba như GoShell, GitHub, Alfred, ... sử dụng iTerm2, như được giải thích trong câu trả lời của Daniel Beck .
mkuity0

Tôi nghĩ rằng đây là câu trả lời thích hợp nhất hiện nay ...
mecampbellsoup

7

Như đã đề cập trong các ý kiến ​​trên, Go2Shell có thể được yêu cầu sử dụng iTerm2

Để mở cửa sổ cấu hình, hãy làm theo các bước sau:

  1. Bật chương trình thiết bị đầu cuối yêu thích của bạn.
  2. Nhập: open -a Go2Shell --args config
  3. Nhấn quay lại].

nhập mô tả hình ảnh ở đây

http://zipzapmac.com/Go2Shell


6

Như được tìm thấy trên blog ma.ttias.be , iTerm2 có thể tự đăng ký làm thiết bị đầu cuối mặc định cho một số lược đồ URL phổ biến: Bạn chỉ cần kiểm tra các lược đồ tương ứng ở dưới cùng của tab Chung trong Hồ sơ hiện tại từ tùy chọn iTerm

iTerm> Préférences> Profiles> Général> Lược đồ URL


Hầu hết các câu trả lời IMO.
markus

5

Để cung cấp một bản tóm tắt thực tế của các câu trả lời hiện có :

  • macOS (OS X) KHÔNG hỗ trợ khái niệm thiết bị đầu cuối mặc định .

    • Xem câu trả lời hữu ích của Daniel Beck để biết thông tin cơ bản.
    • iTerm2bản thân nó hơi gây nhầm lẫn khi cung cấp một mục menu có têniTerm2 > Make iTerm2 Default Term (như được trình bày trong câu trả lời của Halfcube ), nhưng điều duy nhất là làm cho Finder chạy các kịch bản shell được mở từ nó trong iTerm2 (cụ thể hơn, nó gán shellvai trò của UTI public.unix-executablecho Finder) - đó là không phải là một trường hợp sử dụng điển hình.
  • Do đó, các ứng dụng phải được cấu hình ĐỘC LẬP để sử dụng iTerm2 thay vì Terminal, NẾU chúng hỗ trợ rằng :

    • Mặc dù Go2Shellứng dụng khiến câu hỏi của OP có hộp thoại cấu hình hỗ trợ iTerm2 ( open -a Go2Shell -- confignhưng ứng dụng dường như không hoạt động gì cả kể từ OSX 10.11.6 (khi nhấp vào nút thanh công cụ kể từ phiên bản 23,23, điều duy nhất là bao giờ xảy ra là hộp thoại cấu hình xuất hiện, ngay cả sau khi đã nhấp Install Go2Shell to Finder).
    • Các trả thay thế được đề cập bởi OP - ứng dụng ShellTo- cũng hỗ trợ iTerm2 về nguyên tắc , nhưng như các văn bản này không hỗ trợ hiện tại phiên bản, v3 +.

1

Những gì @gef đăng là một phần những gì tôi đã làm. Tuy nhiên, đây là những gì làm việc cho tôi.

Mở ứng dụng thiết bị đầu cuối của bạn:

open -a Go2Shell --args config

Sau đó, trên các tùy chọn sao chép mã sau đây, bạn có thể phải nhấp chuột phải và dán khi các lệnh bị hạn chế:

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

Và voila, ứng dụng đầu cuối sẽ mở cung cấp một tham số mới cho iTerm, sau đó tự đóng lại.


0

Chủ đề này là dành cho OS X Lion và dường như đã lỗi thời đối với El Capitan. Tuy nhiên, vì tôi đã tìm thấy trang này trong khi tìm kiếm cách để XCode khởi chạy iTerm thay vì Terminal, tôi nghĩ rằng tôi đã đăng giải pháp của mình.

Thật không may, nó không miễn phí, nhưng có thể được thực hiện bằng ứng dụng tùy chọn hệ thống Magic Launch . Sử dụng công cụ đó, tôi đặt iTerm như các ứng dụng mặc định cho .term, .terminal.commandphần mở rộng. Đó là mẹo cho nhu cầu của tôi.

Hi vọng điêu nay co ich!


Bạn có thể mở rộng khi phần mềm này hoạt động như thế nào không? Vui lòng xem phần Giới thiệu phần mềm .
Burgi

Bạn đang nói câu trả lời của tôi không còn hiệu quả với El Capitan? Bạn có thể làm rõ?
Daniel Beck

0

Bạn có thể chạy bất kỳ lệnh nào khi ứng dụng đầu cuối chạy, để chạy iterm2 thay vì ứng dụng đầu cuối, bạn có thể tạo một tập lệnh chạy mỗi khi thiết bị đầu cuối được mở và tập lệnh này sẽ mở iterm và tắt ứng dụng đầu cuối

Các bước để tạo tập lệnh

  • Vi /Appluggest/run_iterm.sh
  • Sao chép các lệnh sau và dán chúng vào tập lệnh

    #! /bin/bash
    open -a iTerm.app
    killall Terminal
    
  • Lưu các tập tin

  • Chmod 755 /Appluggest/run_iterm.sh

Bây giờ tập lệnh của chúng tôi đã sẵn sàng, bước cuối cùng là chạy nó mỗi khi ứng dụng thiết bị đầu cuối được mở Chạy thiết bị đầu cuối Đi đến tùy chọn -> Chung -> mở bằng -> chọn lệnh "đường dẫn đầy đủ" và dán /Appluggest/./run_iterm. sh bên trong sách giáo khoa cuối cùng đóng ứng dụng đầu cuối và chạy lại nhập mô tả hình ảnh ở đây


1
Ồ; cấu hình một chương trình để tự động tự hủy bất cứ khi nào nó được khởi động. Cái gì có thể đi sai? :-( ⁠
Scott
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.