Terminal nasıl açılır, 9 terminale bölünür ve bir komut dosyası kullanılarak aralarında nasıl geçiş yapılır?


18

Bir terminal açmak, 9 parça (3x3) diyelim ve bazı bash betiği çalıştırmak için bölmek istiyorum. Ancak her terminal bölümü için farklı komut dosyası.

Bu perl, python ve hatta bash kullanılarak yapılabilir mi?

Klavye kısayolları kullanmadan bu küçük terminaller arasında nasıl geçiş yapabilirim?

Oh, bu arada, kullanıyorum terminator. Ve böyle bir işlevselliği sağlayan başka bir terminal emülatörü varsa, öyle mi?


terminatorbir kabuk değildir. İki farklı terminal öykünücüsü var terminator(sadece bir tanesi ekranı bölebileceğine inanıyorum).
Stéphane Chazelas

Ah, teşekkürler .. o zaman terminatorscript kullanarak nasıl bölüneceğini bilmek isterim ? :) Ve bu parçalar arasında geçiş mi yapıyorsunuz?
jirislav

1
Hiç kullanmadım ve şu anda araştırmak için zamanım yok, ancak terminalleri uzak bir sistemde çalıştırıyorsanız, byobu'nun size yardımcı olabileceğini düşünüyorum (emin değilim) - bkz. Help.ubuntu. com.tr / community / Byobu . Byobu birçok * nix dağıtımında çalışıyor
Clive van Hilten

1
@ClivevanHilten söz ve burada cevap olarak dostu Byobu (varsayılan olarak tmux üstüne oturmak) ile yapılabilir.
Pablo A

Yanıtlar:


35

Kendimi intihal etmek için, istediğiniz ayarlarla bir profil oluşturabilirsiniz (talimatlar buradan uyarlanır ):

  1. Çalıştırın terminatorve istediğiniz düzeni ayarlayın. Pencereleri dikey olarak bölmek için Ctrl+ Shift+ Eve yatay olarak bölmek için Ctrl+ Shift+ O(yığında olduğu gibi O, sıfır değil) kullanabilirsiniz. Bu örnekte, 6 bölmeli bir düzen oluşturdum:

    resim açıklamasını buraya girin

  2. terminatorPencereye sağ tıklayın ve "Tercihler" i seçin. Tercihler penceresi açıldıktan sonra, "Düzenler" e gidin ve "Ekle" yi tıklayın:

    resim açıklamasını buraya girin

  3. Bu, Düzen listesini yeni düzeninizle doldurur:

    resim açıklamasını buraya girin

  4. Düzende oluşturduğunuz her bir terminali bulun ve üzerlerine tıklayın, ardından sağda başlangıçta içinde çalıştırmak istediğiniz komutu girin:

    resim açıklamasını buraya girin

    ÖNEMLİ: Komutun ardından geldiğini unutmayın ; bash. Bunu yapmazsanız, verdiğiniz ve çıktığınız komutu çalıştıracakları için terminallere erişilemez. Terminalleri kullanabilmek için her komuttan sonra bir kabuk başlatmanız gerekir.

    Tüm komutları ayarladıktan sonra "Kapat" a tıklayın ve çıkın terminator.

  5. terminatorYapılandırma dosyasını açın ve ~/.config/terminator/configvarsayılan yapılandırma için mizanpajların altındaki bölümü silin. Ardından, oluşturduğunuz düzenin adını varsayılan olarak değiştirin. Bunun gibi bir şeye benzemeli:

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

Nihai sonuç, çalıştırdığınızda terminator, her biri belirttiğiniz komutları çalıştıran veya çalıştıran 6 bölme ile açılacaktır:

resim açıklamasını buraya girin

Ayrıca, istediğiniz kadar farklı profil ayarlayabilir ve -pbir profil adı veren anahtarla sonlandırıcıyı başlatabilir veya başlattıktan sonra istediğiniz profile manuel olarak geçebilirsiniz.


Terdon, teşekkür ederim! Muhtemelen bu yapılandırma dosyasını yazmayı öğrendim!
dotancohen

@dotancohen yardım ettiğimi duyduğuma sevindim :)
terdon

1
Whaou! Çok teşekkürler, "; bash" hayatımı kurtardı!
Etienne

"Terminalleri kullanabilmek için her komuttan sonra bir kabuk başlatmanız gerekiyor." Şaşırtıcı - başlangıçta denediğimde bu hiç sezgisel değildi. Bunu otomatik olarak etkinleştirmek için bir tür onay kutusu içermelidir.
dtmland


3

Geri kullanırken terminatorbu, bir grup terminal açmak ve uygulamaları çalıştırmak için kullandığım rc dosyası. Şuraya kaydedin .config/terminator/config.

[global_config]
  title_hide_sizetext = True
  enabled_plugins = LaunchpadCodeURLHandler, APTURLHandler, LaunchpadBugURLHandler
[keybindings]
[profiles]
  [[default]]
    font = DejaVu Sans Mono 9
    cursor_blink = False
    scrollback_infinite = True
[layouts]
  [[default]]

    [[[root]]]
      position = -4:0
      type = Window
      order = 0 
      parent = ""
      size = 1072, 1884

    [[[grand]]]
      position = 536 
      type = HPaned
      order = 0 
      parent = root
    [[[left]]]
      position = 942 
      type = VPaned
      order = 0 
      parent = grand
    [[[right]]]
      position = 942 
      type = VPaned
      order = 1 
      parent = grand



    [[[terminal1]]]
      profile = default
      type = Terminal
      order = 0 
      parent = left
      command = "cd ~/code/foo; bash"
    [[[terminal2]]]
      profile = default
      type = Terminal
      order = 1 
      parent = left
      command = "cd ~/bar/baz; bash"



    [[[terminal3]]]
      profile = default
      type = Terminal
      order = 1 
      parent = right
      command = ""
    [[[terminal4]]]
      profile = default
      type = Terminal
      order = 0 
      parent = right
      command = "cmus; bash"



[plugins]

EDIT: Bu bilgi muhtemelen çok daha erken bir iş parçacığında Terdon'ın gönderisinden geldi. Bu kurulumu birkaç aydır kullanıyorum, ancak Terdon'un buradaki gönderisi çok tanıdık geliyor!


Aradığım şey bu - terminali bölmek ve belirli komut dosyalarını yürütmek - teşekkürler! Ama bunu her zaman böyle yapmak istemem. İhtiyacım olan şeye bağlı olarak bu yapılandırmalardan daha fazlasına sahip olma ve her birini açma olasılığı var mı? Diyelim ki --config2 veya --config1 parametresini ekleyerek?
jirislav

Başka yapılandırma dosyası eklemezsiniz, yapılandırma dosyasına bölümler eklersiniz. Terdon'un gönderisine bakın, çok iyi açıklıyor, aslında bunu daha önceki bir konudaki görevinden öğrendim.
dotancohen

Anlıyorum ... Bu yüzden cevabını en yararlı olarak kabul ettim. Yinede teşekkürler.
jirislav

İyi seçim! Aslına bakarsanız, bilgi onun sıkı çalışmasından geldiğinden cevabını kabul etmeyi önermek istedim!
dotancohen

2

Terminator terminal emülatörünü bölmek için sarıcı komut dosyası https://github.com/AlekseyChudov/terminator-split


2
İlgili bilgileri buraya eklemelisiniz, github gittiğinde cevabınız tüm potansiyel değerini kaybeder.
Anthon

1
iyi görünüyor .. ama bu senaryoyu nasıl çalıştırabilirim?
Sachin

1
terminator-splitçok fazla potansiyele sahip, ancak farklı bölümlerde farklı komutları çalıştırmanın bir yolu yok gibi görünüyor -mve örneklerde gösterilen argüman kullanım özetinde listelenmiyor
bitinerant
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.