Script hoặc launcher để thiết lập nhiều tab terminal ở các vị trí khác nhau


14

Tôi đã nghiên cứu điều này một thời gian trước đây, nhưng không tìm thấy bất kỳ giải pháp nào có thể mở các tab thiết bị đầu cuối, chạy một số lệnh và sau đó cho phép tôi tiếp tục sử dụng các tab thiết bị đầu cuối đó. Tất cả các cách tôi tìm thấy khởi chạy các tab thiết bị đầu cuối từ dòng lệnh sẽ chỉ khởi chạy các tab và không cho phép tôi tiếp tục sử dụng chúng sau đó.

Vấn đề tôi đang cố gắng giải quyết là mỗi khi tôi cần khởi động máy của mình (hoặc máy ảo trong trường hợp này), tôi cần thiết lập khoảng sáu tab thiết bị đầu cuối khác nhau để trỏ đến các thư mục khác nhau và xuất một số biến môi trường trên một số trong số chúng.

Tôi đã thử nghiệm với thiết bị đầu cuối xfce và tôi đã nhận được một số cách với lệnh như thế này:

terminal --disable-server -H --tab --title=1st_tab --tab --title=2nd_tab

Nhưng nếu tôi thêm đối số lệnh, tab không thể sử dụng được nữa khi mở ra:

terminal --disable-server -H --tab --title=1st_tab --tab --title=2nd_tab --command="cd ~/folder1"

http://docs.xfce.org/apps/terminal/command-line

Tôi hiện đang sử dụng Red Hat Linux với gnome 2.28.2.

Câu trả lời:


18

Bạn có thể làm điều này bằng cách sử dụng GNOME terminatormột thiết bị đầu cuối tuyệt vời, trong số những thứ khác, khả năng phân chia các tấm theo chiều ngang hoặc chiều dọc.

Khi bạn đã cài đặt, terminatorbạn có thể thiết lập cấu hình với các cài đặt mong muốn của mình (hướng dẫn được điều chỉnh từ đây ):

  1. Chạy terminatorvà thiết lập bố cục bạn muốn. Bạn có thể sử dụng Ctrl+ Shift+ Eđể phân chia các cửa sổ theo chiều dọc và Ctrl+ Shift+ O(đó là O như trong oodles, không phải 0) để phân chia theo chiều ngang. Trong ví dụ này, tôi đã tạo một bố cục với 6 tấm:

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

  2. Nhấp chuột phải vào terminatorcửa sổ và chọn "Tùy chọn". Khi cửa sổ Tùy chọn được mở, hãy chuyển đến "Bố cục" và nhấp vào "Thêm":

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

  3. Điều đó sẽ điền vào danh sách Bố cục với bố cục mới của bạn:

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

  4. Tìm từng thiết bị đầu cuối bạn đã tạo trong bố trí và nhấp vào chúng, sau đó ở bên phải nhập lệnh bạn muốn chạy trong chúng khi khởi động:

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

    QUAN TRỌNG: Lưu ý rằng lệnh được theo sau ; bash. Nếu bạn không làm điều đó thì các thiết bị đầu cuối sẽ không thể truy cập được vì chúng sẽ chạy lệnh bạn đưa ra và thoát. Bạn cần khởi chạy một shell sau mỗi lệnh để có thể sử dụng các thiết bị đầu cuối.

    Khi bạn đã thiết lập tất cả các lệnh, nhấp vào "Đóng" và sau đó thoát terminator.

  5. Mở terminatortệp cấu hình ~/.config/terminator/configvà xóa phần dưới bố cục cho cấu hình mặc định. Sau đó thay đổi tên của bố cục bạn đã tạo thành mặc định. Nó sẽ trông giống như thế này:

    [global_config]
    [keybindings]
    [profiles]
      [[default]]
    [layouts]
      [[default]]
        [[[child0]]]
          position = 446:100
          type = Window
          order = 0
          parent = ""
          size = 885, 550
        [[[child1]]]
          position = 444
          type = HPaned
          order = 0
          parent = child0
        [[[child2]]]
          position = 275
          type = VPaned
          order = 0
          parent = child1
        [[[child5]]]
          position = 219
          type = HPaned
          order = 1
          parent = child1
        [[[child6]]]
          position = 275
          type = VPaned
          order = 0
          parent = child5
        [[[child9]]]
          position = 275
          type = VPaned
          order = 1
          parent = child5
        [[[terminal11]]]
          profile = default
          command = 'df -h; bash'
          type = Terminal
          order = 1
          parent = child9
        [[[terminal10]]]
          profile = default
          command = 'export foo="bar" && cd /var/www/; bash'
          type = Terminal
          order = 0
          parent = child9
        [[[terminal3]]]
          profile = default
          command = 'ssh -Yp 24222 cchapple@139.124.66.43'
          type = Terminal
          order = 0
          parent = child2
        [[[terminal4]]]
          profile = default
          command = 'top; bash'
          type = Terminal
          order = 1
          parent = child2
        [[[terminal7]]]
          profile = default
          command = 'cd /etc; bash'
          type = Terminal
          order = 0
          parent = child6
        [[[terminal8]]]
          profile = default
          command = 'cd ~/dev; bash'
          type = Terminal
          order = 1
          parent = child6
    [plugins]
    

Kết quả cuối cùng là khi bạn chạy, terminatornó sẽ mở với 6 ô, mỗi ô đã chạy hoặc đang chạy các lệnh bạn đã chỉ định:

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


Sau khi tôi nhập các lệnh của mình vào Custom commandhộp và nhấn đóng, nó sẽ không được lưu khi mở lại. Tôi có thể biết tại sao không? Tôi đang sử dụng máy tính để bàn Ubuntu 16
Nam G VU

@NamGVU hmm, tôi mới thử nghiệm và tôi có cùng một vấn đề. Trông giống như một lỗi trong phiên bản hiện tại của terminator (điều này đã hoạt động 3 năm trước khi câu trả lời này được đăng). Nó vẫn hoạt động nếu bạn chỉnh sửa ~/.config/terminator/configtệp như trong bước 5.
terdon

2

Để có Terminator cdvào một thư mục khi khởi chạy, lệnh cần cấu hình là:

cd ~/someFolder; bash

Điều này mở một thiết bị đầu cuối ở vị trí cded đến.

Trên thực tế, terdon có đề cập đến điều này trong bài viết của mình nhưng nó được chôn vùi trong hướng dẫn nhỏ tuyệt vời của anh ấy. Không phải sau khi tôi phát hiện ra điều này mà tôi nhận thấy nó bị chôn vùi trong bài viết của anh ấy, vì vậy tôi sẽ để lại câu trả lời này để nhấn mạnh.


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.