запустить терминал на Х, и выполнить команду в нем.

Модератор: /dev/random

Ответить
fergios
Сообщения: 512
ОС: debian stable

запустить терминал на Х, и выполнить команду в нем.

Сообщение fergios »

Открываем терминал из скрипта :
su -c 'DISPLAY=":0.0" xterm' user
Как в открывшемся терминале выполнить эту команду:
watch -n 1 "netstat -tuwapn | sort -k5 | awk 'seen[\$5]++ == 0'"
?

Все должно запуститься из скрипта, находящегося в автозагрузке.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: запустить терминал на Х, и выполнить команду в нем.

Сообщение watashiwa_daredeska »

xterm -e watch -n 1 "netstat -tuwapn | sort -k5 | awk 'seen[\$5]++ == 0'"

P.S. Только с квотингом аккуратнее. Или используйте sudo.
Спасибо сказали:
fergios
Сообщения: 512
ОС: debian stable

Re: запустить терминал на Х, и выполнить команду в нем.

Сообщение fergios »

не получается расставить кавычки никак:
xterm -e а watch -n 1 "netstat -tuwapn | sort -k5 | awk 'seen[\$5]++ == 0'" а

Нужно чтобы на месте а(условное обозначение) были кавычки одинарные, двойные или ещё что? Это ведь должно восприниматься консолью, как одна команда.
Все перепробовал что мог.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5282
ОС: Gentoo

Re: запустить терминал на Х, и выполнить команду в нем.

Сообщение /dev/random »

fergios писал(а):
20.08.2010 12:36
Нужно чтобы на месте а(условное обозначение) были кавычки одинарные, двойные или ещё что?

Какие хотите, но внутренние кавычки придётся экранировать.
Спасибо сказали:
fergios
Сообщения: 512
ОС: debian stable

Re: запустить терминал на Х, и выполнить команду в нем.

Сообщение fergios »

/dev/random писал(а):
20.08.2010 12:56
но внутренние кавычки придётся экранировать.
теперь понятно что делать с внутренними кавычками, спасибо)

результат: xterm -e "watch -n 1 \"netstat -tuwapn | sort -k 5 | awk 'seen[\$5]++ == 0'\""
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: запустить терминал на Х, и выполнить команду в нем.

Сообщение watashiwa_daredeska »

xterm'у вообще-то не надо экранировать команду, он всё, что после -e съедает как одну команду. А уж шелл-то тем более.
Спасибо сказали:
fergios
Сообщения: 512
ОС: debian stable

Re: запустить терминал на Х, и выполнить команду в нем.

Сообщение fergios »

watashiwa_daredeska писал(а):
20.08.2010 15:27
xterm'у вообще-то не надо экранировать команду, он всё, что после -e съедает как одну команду. А уж шелл-то тем более.
В скрипт автозагрузки
Спасибо сказали:
fergios
Сообщения: 512
ОС: debian stable

Re: запустить терминал на Х, и выполнить команду в нем.

Сообщение fergios »

do_start() {
DISPLAY=":0.0" xterm -e "watch -n 1 \"netstat -tuwapn | sort -k 5 | awk 'seen[\$5]++ == 0'\""
}

do_stop() {
код закрытия
}
Как из скрипта do_stop закрыть то что было запущено в do_start ?
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5282
ОС: Gentoo

Re: запустить терминал на Х, и выполнить команду в нем.

Сообщение /dev/random »

Сохранить PID запущенного в файл. А затем - kill'ом.
Спасибо сказали:
Ответить