Возможно ли из фонового скрипта оболочки открыть новый терминал (xterm, gnome-terminal и т. д.), получить вводимые пользователем данные, закрыть вновь открытый терминал и использовать введенные данные?
решение1
Подумайте об использовании чего-то вроде zenity
этого.
QUEST="$(zenity --entry --title="Answer these questions three" --text="What is your quest?")"
решение2
Вот как это можно сделать, используя xterm
:
mkfifo answer.fifo
xterm -T window-title-string -n icon-string -e bash -c 'read -p "input-prompt: " answer; echo "$answer" > answer.fifo' &
answer=$(<answer.fifo)
man xterm
Дополнительную информацию об управлении размером и положением окна, а также цветом и шрифтом текста см. в разделе, если вы хотите, чтобы внешний вид отличался от внешнего вида по умолчанию.
Аналогично это gnome-terminal
можно сделать, но с меньшим количеством опций для изначального управления размером, положением и цветом окна (хотя вы можете использовать это tput
в -e
отправляемом скрипте).