Script atau peluncur untuk mengatur beberapa tab terminal di lokasi yang berbeda


14

Saya sudah mempelajari ini beberapa waktu yang lalu, tetapi tidak menemukan solusi yang akan membuka tab terminal, menjalankan beberapa perintah dan kemudian mengizinkan saya untuk terus menggunakan tab terminal tersebut. Semua cara yang saya temukan meluncurkan tab terminal dari baris perintah hanya akan meluncurkan tab dan tidak memungkinkan saya untuk terus menggunakannya setelah itu.

Masalah yang saya coba selesaikan adalah bahwa setiap kali saya perlu mem-boot mesin saya (atau mesin virtual dalam kasus ini) saya perlu mengatur sekitar enam tab terminal yang berbeda untuk menunjuk ke folder yang berbeda dan untuk mengekspor beberapa variabel lingkungan pada beberapa di antaranya.

Saya telah bereksperimen dengan terminal xfce dan saya mendapatkan beberapa cara dengan perintah seperti ini:

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

Tetapi jika saya menambahkan argumen perintah, tab tidak dapat digunakan lagi saat terbuka:

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

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

Saat ini saya menggunakan Red Hat Linux dengan gnome 2.28.2.

Jawaban:


18

Anda dapat melakukan ini dengan menggunakan GNOME terminatoryang merupakan terminal hebat dengan, antara lain, kemampuan untuk membagi panel secara horizontal atau vertikal.

Setelah Anda menginstal terminatorAnda dapat mengatur profil dengan pengaturan yang Anda inginkan (instruksi diadaptasi dari sini ):

  1. Jalankan terminator, dan atur tata letak yang Anda inginkan. Anda dapat menggunakan Ctrl+ Shift+ Euntuk membagi windows secara vertikal dan Ctrl+ Shift+ O(itu O seperti dalam jumlah besar, bukan nol) untuk membelah secara horizontal. Untuk contoh ini, saya telah membuat tata letak dengan 6 panel:

    masukkan deskripsi gambar di sini

  2. Klik kanan pada terminatorjendela dan pilih "Preferensi". Setelah jendela Preferensi terbuka, buka "Layouts" dan klik "Add":

    masukkan deskripsi gambar di sini

  3. Itu akan mengisi daftar Tata Letak dengan tata letak baru Anda:

    masukkan deskripsi gambar di sini

  4. Temukan masing-masing terminal yang telah Anda buat dalam tata letak, dan klik pada mereka, lalu di sebelah kanan masukkan perintah yang ingin Anda jalankan di dalamnya pada startup:

    masukkan deskripsi gambar di sini

    PENTING: Perhatikan bahwa perintah ini diikuti oleh ; bash. Jika Anda tidak melakukan itu, terminal tidak akan dapat diakses karena mereka akan menjalankan perintah yang Anda berikan dan keluar. Anda harus meluncurkan shell setelah setiap perintah untuk dapat menggunakan terminal.

    Setelah Anda mengatur semua perintah, klik "Tutup" dan kemudian keluar terminator.

  5. Buka terminatorfile konfigurasi ~/.config/terminator/configdan hapus bagian di bawah tata letak untuk konfigurasi default. Kemudian ubah nama tata letak yang Anda buat ke default. Seharusnya terlihat seperti ini:

    [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]
    

Hasil akhirnya adalah bahwa ketika Anda menjalankannya terminatorakan terbuka dengan 6 panel, yang masing-masing telah menjalankan atau menjalankan perintah yang telah Anda tentukan:

masukkan deskripsi gambar di sini


Setelah saya memasukkan perintah saya di dalam Custom commandkotak, dan tekan dekat, itu tidak disimpan ketika dibuka kembali. Boleh saya tahu kenapa? Saya menggunakan Ubuntu 16 Desktop
Nam G VU

@NamGVU hmm, saya baru saja menguji dan saya memiliki masalah yang sama. Sepertinya ada bug dalam versi terminator saat ini (ini berfungsi 3 tahun yang lalu ketika jawaban ini diposting). Masih berfungsi jika Anda mengedit ~/.config/terminator/configfile seperti yang ditunjukkan pada langkah 5.
terdon

2

Untuk mengaktifkan Terminator cdke direktori saat diluncurkan, perintah untuk mengonfigurasi adalah:

cd ~/someFolder; bash

Ini membuka terminal di lokasi yang cddisunting.

Sebenarnya, terdon memang menyebutkan hal ini di postingannya tetapi dimakamkan di tutorial mini-nya yang luar biasa. Bukan setelah saya menemukan ini, saya perhatikan itu terkubur di posnya, jadi saya meninggalkan jawaban ini untuk menekankan.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.