Запустіть кілька додатків, що працюють в оболонках, розділених на одній консолі


9

Мені потрібно запустити кілька додатків, що працюють в оболонках, і стежити за їх виконанням. В даний час у мене є основний сценарій, який запускає всі програми на новій консолі gnome, але я вважаю за краще запускати їх у одному вікні на розділених екранах.

Ця публікація Кілька оболонок в одному вікні пояснює, як використовувати розділені екрани для багатьох типів консольних програм, таких як екран, термінатор та byobu. Це добре працює вручну, але я хотів би мати можливість запускати всі мої програми на консолі розділеного екрана з мого основного сценарію. У документації із згаданих вище інструментів не було нічого, що я міг би досягти цього автоматично зі сценарію.

Будь-які ідеї?

Відповіді:


6

Ви можете створити спеціальний конфігураційний екран екрана, який відкриє декілька розбитків і запустить у них ваші сценарії. Це виглядатиме приблизно так:

screen script1.sh # Open first screen and launch first script
split             # Make second split
focus             # Switch to second split
screen script2.sh # Open second screen and launch second script
split             # Make third split
focus             # Switch to third split
screen script3.sh # Open third screen and launch third script

Помістіть це у файл під назвою «скрипти» та запустіть екран screen -c myscripts. Якщо ви віддаєте перевагу вертикальним розбиттям, просто додайте -v до команд розділення.

Якщо ви хочете макет сітки, спробуйте щось подібне:

screen script1.sh # Open first screen and launch first script
split -v          # Make second split
focus             # Switch to second split
screen script2.sh # Open second screen and launch second script
split             # Make third split
focus             # Switch to third split
screen script3.sh # Open third screen and launch third script
focus             # Cycle back to first split
split             # Split first split horizontally
focus             # Switch to new split
screen script4.sh # Open fourth screen and launch fourth script

Велике спасибі це спрацювало як шарм. Єдине інше питання полягає в тому, що після запуску декількох сценаріїв я можу Ca Cd повернутися до свого терміналу, але коли я роблю "screen -r", він повертається до останньої відкритої вкладки і більше не бачу виводу інших вкладок. "screen -ls" показує лише один екземпляр, але я бачу, що всі мої сценарії все ще запущені в списку процесів з "ps". Тож як я можу від’єднати свій екран з декількома вкладками і повернутися до нього з тим же станом?
jmbouffard

Я знайшов питання щодо суперпользователя щодо цього: superuser.com/questions/69816/… Виглядає як терниста проблема. Мені здається, що ви також можете зробити макрос, який відновлює ваші розбиття.
Бен Вільямс

Підказка з форуму суперпользователя, здається, не працює для мене, тому що вкладений сеанс, здається, не використовує мою конфігурацію, коли я запускаю його з опцією -c.
jmbouffard

Я також спробував вашу іншу ідею відновити свої розбиття за допомогою конфігураційного файлу, такого як показаний у вашій відповіді. Але я думаю, що мені потрібно використовувати "screen -r -c макрос", але, здається, я не можу поєднати параметр -r з -c, оскільки він не враховує мої команди. Тільки "-c" відновлює мої розбиття з порожніми екранами, "-r -c макрос" робить те саме, що і "-r" поодинці, і не створює ніякого розколу.
jmbouffard
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.