Làm thế nào tôi có thể mở nhiều vỏ thiết bị đầu cuối tùy chỉnh?


10

Làm cách nào tôi có thể tùy chỉnh Terminal để khi tôi mở ứng dụng, nó sẽ mở một số tab shell? Nếu có thể tôi cũng muốn nó chạy một kịch bản môi trường khác nhau cho mỗi tab.

Ví dụ: Chạy lệnh source bin/activatenày là lệnh thiết lập virtualenv của Python.

Câu trả lời:


4

Thêm phần này vào ~/.bash_profilenếu bạn sử dụng bash hoặc ~/.zshrcnếu bạn sử dụng zsh, thay đổi nội dung của COMMANDSmảng:

function openterms() {
    COMMANDS=("source bin/activate" "add another here" "continue likewise")
    for command in $COMMANDS
        do osascript -e \
        "tell application \"Terminal\" to do script with command \"$command\""
    done
}

Bây giờ gọi opentermstrong một shell sẽ mở tất cả các shell khác mà bạn muốn.


3

Tôi đang sử dụng Bàn phím Maestro . Tôi đã từng ghi lại một macro thiết lập Terminal (Tôi đang sử dụng iTerm, nhưng nó không thành vấn đề) theo cách tôi thích và làm cho macro này được kích hoạt bằng cách khởi chạy iTerm.

Vì vậy, khi tôi khởi chạy, nó được thiết lập như tôi muốn. Hai cửa sổ, năm tab trong một cho các thư mục khác nhau với mỗi Tab được đặt tên thích hợp và một cửa sổ khác có hai tab được kết nối với máy chủ của tôi, một trong số chúng khởi chạy một tập lệnh giám sát. Tất cả điều này được thực hiện trong vòng 2 giây khi Terminal được khởi chạy, mà trước đó sẽ mất một phút hoặc hơn.

Bây giờ tôi không ngại đóng iTerm nếu tôi cần vì tôi có thể mở lại nó ở cùng trạng thái mà không cần bất kỳ nỗ lực nào.

Nhân tiện, Bàn phím Maestro cũng tốt cho nhiều thứ khác. Gần đây tôi đã mua nó với chiết khấu trên mupromo.com, nơi tôi đã phát hiện ra nó lần đầu tiên nhưng theo tôi thì nó cũng đáng giá.


2

Như Josh K đã đề cập, bạn có thể tạo Nhóm cửa sổ để mở một hoặc nhiều cửa sổ với bố cục và giao diện cụ thể. Ngoài ra, "hồ sơ cài đặt" (Thiết bị đầu cuối> Tùy chọn> Cài đặt) có thể chỉ định một lệnh sẽ chạy khi thiết bị đầu cuối được tạo với cấu hình đó. Bạn có thể tạo một hồ sơ riêng cho mỗi lệnh bạn muốn chạy, sau đó tạo các cửa sổ với các cấu hình đó. Khi bạn lưu chúng vào một nhóm cửa sổ và mở lại, các lệnh đó sẽ chạy trong các cửa sổ thích hợp của chúng. Bạn thậm chí có thể yêu cầu Terminal mở một nhóm cửa sổ cụ thể khi khởi động.

Kể từ Mac OS X Lion 10.7, có một số cải tiến mới trong lĩnh vực này:

  1. Resume sẽ tự động khôi phục các cửa sổ đã mở khi bạn thoát Terminal, vì vậy sử dụng nhóm cửa sổ cho việc này không còn cần thiết nữa (mặc dù chúng cho phép bạn tạo lại một thiết lập cụ thể nếu bạn đã đóng các cửa sổ).

  2. Nếu bạn tạo một thiết bị đầu cuối mới bằng Shell> Lệnh mới, vì Terminal biết bạn đã chạy lệnh nào, nó có thể khôi phục nó bằng cách chạy lại. Bây giờ Terminal sẽ tự động khôi phục các lệnh "an toàn" Res khi tiếp tục.

  3. Terminal cũng sẽ khôi phục các lệnh này nếu bạn lưu các loại thiết bị đầu cuối này vào một nhóm cửa sổ. Ngoài ra, khi lưu một nhóm cửa sổ, có một tùy chọn để khôi phục tất cả các lệnh, không chỉ các lệnh "an toàn". Vì vậy, bạn không còn cần phải tạo một hồ sơ cài đặt riêng cho mỗi lệnh bạn muốn chạy.

Command Các lệnh "An toàn" bao gồm mọi thứ được liệt kê trong /etc/shells, emacs, vi / vim, nano, pico, top, screen, tmux và bất kỳ lệnh nào được tạo bằng Shell> New Remote Connection (ví dụ: phiên ssh). Lưu ý rằng chỉ đầu được coi là "an toàn" khi được sử dụng với các đối số; các đối số khác hỗ trợ các đối số có thể thực hiện những điều bạn không muốn chúng không có xác nhận của người dùng, vì vậy chúng không được coi là "an toàn" để khôi phục tự động trừ khi chúng được gọi mà không có đối số. Bạn có thể tùy chỉnh danh sách các lệnh "an toàn" với "mặc định ghi com.apple.Terminal RestitableCommands". Giá trị là một danh sách các chuỗi chứa tên lệnh. Để chỉ ra rằng các đối số được cho phép, thêm dấu hoa thị sau một lệnh. ví dụ: "top *" làm cho top an toàn khi được sử dụng với các đối số, nhưng "top" thì không.


1

Ngoài ra, bạn cũng có thể sử dụng screenđể mở nhiều tab trên một cửa sổ. màn hình rất linh hoạt và có thể cấu hình để chạy bất kỳ tập lệnh nào trong quá trình khởi động đầu cuối.

Thêm thông tin.


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.