Возможно ли из фонового сценария оболочки открыть новый терминал (xterm, gnome-терминал и т.д.), Получить какой-либо пользовательский ввод, закрыть недавно открытый терминал и использовать введенные данные?

2 ответа2

4

Попробуйте вместо этого использовать что-то вроде zenity .

QUEST="$(zenity --entry --title="Answer these questions three" --text="What is your quest?")"
3

Вот как вы можете сделать это, используя 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 который вы отправляете).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .