Как выполнить xfce-терминал с различными командами на вкладку и продолжать использовать вкладки после того, как команды возвратились?

Можно проверить существующие счетчики от iptables, чтобы видеть, выглядит ли что-нибудь исключительным,

Также возможно добавить правила бухгалтерского учета к iptables, которые используются только для генерации транспортных количеств. Инструмент как Shorewall помогает сделать это и имеет определенную документацию относительно Правил бухгалтерского учета

Было исследование, показывающее, что большие буферы в маршрутизаторах могут вызвать проблемы производительности. Можно хотеть попытаться формировать трафик к немного меньше, чем пропускная способность сети. Shorewall предлагает несколько подходов к формированию трафика. Это может также использоваться для приоритизации определенных видов трафика.

При идентификации пользователя, использование пропускной способности которого является чрезмерным, у Вас есть несколько опций:

  • Обсудите вопрос с ними и напомните им о своей политике использования;
  • Блокируйте доступ к сервису и/или сайту, который использует пропускную способность;
  • Предельный трафик к сервису и/или сайту, который использует пропускную способность; и/или
  • Предельный трафик для рассматриваемого пользователя.

20
21.05.2014, 16:13
4 ответа

-H/-hold опция состоит в том, чтобы сохранить Окно эмулятора терминала открытым, после того как приложения, запущенные в нем (оболочка или другой), вышли. В том состоянии ничего больше не может произойти.

Если Вы хотите запустить команду как задание интерактивной оболочки в xfce4-терминальном эмуляторе терминала и поддерживать оболочку в рабочем состоянии и использовать его в интерактивном режиме после того, как приложение вышло, с bash, можно использовать $PROMPT_COMMAND переменная среды, чтобы иметь xfce-terminal запустите интерактивную оболочку, которая запускает данную команду непосредственно перед первой подсказкой.

xfce4-terminal \
  -T eclipse \
  --working-directory=/home/stefan/oximity \
  -e 'env PROMPT_COMMAND="unset PROMPT_COMMAND; /opt/eclipse/eclipse" bash' \
  \
  --tab -T arandr \
  --working-directory=/home/stefan/oximity \
  -e 'env PROMPT_COMMAND="unset PROMPT_COMMAND; arandr /home/stefan/.screenlayout/oximity.sh" bash' \
  \
  --tab -T bash \
  --working-directory=/home/stefan/oximity \
  ...

Тем путем команды являются заданиями той оболочки, что означает, что можно приостановить их с Ctrl-Z и возобновить их позже с fg/bg как будто Вы ввели их при подсказке той интерактивной оболочки.

Это принимает, хотя это Вы не устанавливаете $PROMPT_COMMAND в Вашем ~/.bashrc. Также обратите внимание, что статус выхода команды не будет доступен в $?.

Для создания это еще больше как команда вводилось в приглашение оболочки, можно даже добавить его к списку предыстории. Как:

xfce4-terminal -T /etc/motd -e 'env PROMPT_COMMAND="
  unset PROMPT_COMMAND
  history -s vi\ /etc/motd
  vi /etc/motd" bash'

Тот путь, после того как Вы выходите vi, можно нажать клавишу Up для вспоминания того же самого vi команда.

Более легкий способ записать это:

PROMPT_COMMAND='unset PROMPT_COMMAND; history -s "$CMD"; eval "$CMD"' \
  xfce4-terminal --disable-server \
          -T /etc/motd -e 'env CMD="vi /etc/motd" bash' \
    --tab -T       top -e 'env CMD=top bash'

:

xfce4-terminal -e 'sh -c "cmd; exec bash"'

решение, как дали в других работах ответов, но имеет некоторые недостатки:

  1. Если Вы нажимаете Ctrl-C в то время как cmd работает, который уничтожает внешнее sh с тех пор существует только одна группа процесса для обоих sh и cmd.
  2. Вы не можете использовать Ctrl-Z для приостановки cmd
  3. Как в $PROMPT_COMMAND подход, статус выхода команды не будет доступен в $?.

Можно работать приблизительно 1 выше путем выполнения:

xfce4-terminal -e 'sh -c "trap : INT; cmd; exec bash"'

Или:

xfce4-terminal -e 'sh -ic "cmd; exec bash"'

С тем последним Вы также сможете приостановить процесс с Ctrl-Z, но Вы не сможете использовать fg/bg на нем. Вы сможете продолжить его в фоне хотя путем выполнения a kill -s CONT на pid cmd.

21
27.01.2020, 19:44
  • 1
    Ничего себе. Это довольно сложно, но это, кажется, работает.:) Я не знаю, почему вознаграждение исчезло. Unfortuantely у меня не было времени прежде для тестирования подсказок. –  user unknown 03.06.2013, 00:52
  • 2
    я действительно не понимаю всех правил системы поощрения. Так как я думаю, что Вы заслуживаете щедрости, я перезапускаю новую щедрость. –  user unknown 03.06.2013, 00:59
  • 3
    Да, щедрость истекает после 7 дней, и у Вас есть 24 часа впоследствии для вознаграждения их. Если Вы не делаете знающий их, они присвоены любому пользователю, имеет самого высокого представителя (2 или выше). Вот больше, чем Вы когда-нибудь хотели знать о щедрости 8-): meta.stackexchange.com/questions/16065 / … –  slm♦ 03.06.2013, 01:25
  • 4
    @AdrianLopez, в bash сценарии, нет никакой истории вообще, поскольку нет никакого редактирования строки или взаимодействия с пользователем, если Вы не используете read -e в Вашем сценарии (и Вы будете видеть это history -s text работы там к началу история, замеченная этим read -e). Здесь, мы не работаем history -s из сценария, но от $PROMPT_COMMAND рычаг интерактивной оболочки. –  Stéphane Chazelas 25.08.2017, 16:42

Насколько я понял Ваш вопрос, Вы хотите выполнить некоторые процессы в терминале, способности к Ctrl+C их и, после этого, сохранить окно открытым, с оболочкой.

Если я прав, это могло бы быть выполнено с командой как это:

xfce4-terminal -e "bash -c 'COMMAND; exec bash'"
5
27.01.2020, 19:44
  • 1
    Это работает с несколькими вкладками? –  user unknown 27.05.2013, 09:50
  • 2
    @userunknown. Просто добавьте - вкладка перед другими командами. Например, если бы Вы хотели работать "ls / и т.д." и "ls/dev", то Вы вышли бы: xfce4-терминал-e "колотит-c 'ls / и т.д.; исполнительный удар'" - вкладка-e "колотит-c 'ls/dev; исполнительный удар'" при использовании Терминала Gnome необходимо записать - вкладка также перед первой командой. –  Rafael Cavalcanti 27.05.2013, 11:00
  • 3
    Это немного полезно, в то время как не насколько я надеялся на. Когда я запускаю gradle с 'xfce4-терминала - рабочий каталог-e, =/home/stefan/oximity/med "колотят-c 'gradle explodedWar explodedWarSync; колотите'"' вкладку, открыт, назван, но она показывает "gradle: команда, не найденная" при вводе команды там, хорошо работает. Мерзавец, mysql и scala хорошо работают тот путь, но для jboss, Ctrl-C завершает целую jboss-вкладку. Я мог только подготовить оболочку, запускающуюся там - возможно, повторение команды для ввода. Я действительно не понимаю то, что имеет значения здесь. –  user unknown 03.06.2013, 00:11

несколько приложений в xfce4-terminal вкладки

Добавление интерактивной оболочки к каждой xfce вкладке

Можно использовать этот взлом для добавления оболочки если/когда Вы Ctrl+C вкладка:

$ xfce4-terminal -H \
     --tab -T bash -e "bash -c 'top;bash'" \
     --tab -T git  -e "bash -c 'top;bash'"

Это даст Вам следующее:

   ss of xfce w/ tabs

   ss of xfce w/ top Ctrl+C

1
27.01.2020, 19:44

При выходе из оболочки без -H терминал будет закрыт, также. С этим флагом будет продолжать работать терминал, но процесс оболочки закрывается и не может быть восстановлен.

Я думаю, что Вы пробуете к archieve, что Вы только запускаете свой терминал, и Ваша среда разработки запускает?

Можно создать сценарий оболочки и поместить все команды в нем. В конце сценария Вы только запускаете свою оболочку:

#!/bin/sh

gradle &
git &
... &
.... &
jboss &

$SHELL

# some cleanup commands if needed

Затем назовите этот сценарий через xfce4-terminal -e /the/script. При выходе от $SHELL родительский процесс (Ваш сценарий) законченный и фоновые задачи получит сигнал выхода и выйдет, также.

Если Вы хотите поддержать их, используйте, например. nohup jboss & в Вашем сценарии

0
27.01.2020, 19:44
  • 1
    Это не работает, потому что gradle и jboss постоянно производят вывод. Вам не нравится сделать, чтобы они перепутали свой вывод. База данных - и scala-терминал является интерактивной. Нет никакого смысла в помещении их в фон. Идея открыть другие команды на различных вкладках, что история только заполнена немногими различными командами к одной теме и поэтому быстрая доступный для просмотра. –  user unknown 25.05.2013, 11:07

Теги

Похожие вопросы