
У меня есть скрипт запуска, который открывает несколько программ в каждом рабочем пространстве. Я хочу сделать некоторые вещи в первом рабочем пространстве, прежде чем он продолжит открывать программы в следующих рабочих пространствах. Как мне предложить продолжить? Я пробовал использовать , gnome-terminal -e "bash -c \"read -s -p 'Press enter to continue...'\""
но он не останавливается, скрипт продолжает выполняться, хотя я не использовал &
для перевода процесса в фоновый режим.
wmctrl -n 2
sleep 2
wmctrl -s 0
sleep 1
if command -v "firefox" > /dev/null 2>&1; then
firefox &
fi
gnome-terminal -e "bash -c \"read -n1 -sp 'Press enter to continue...'\""
# sleep 30
wmctrl -s 1
sleep 1
if command -v "firefox" > /dev/null 2>&1; then
firefox --new-window &
fi
решение1
Я понятия не имею, как это сделать gnome-terminal
, но если я запущу его xfce4-terminal
из уже работающего терминала, он немедленно ответвится в автономный процесс, так что управление можно будет вернуть вызывающей оболочке, т. е. предыдущая оболочка будет принимать новые команды, пока новая также будет запущена.
Я считаю, что gnome-terminal
ведет себя таким же образом, поэтому ваш сценарий, похоже, не останавливается и не ждет.
Вместо этого вы можете использовать стандарт xterm
, который не разветвляется и, таким образом, блокирует вызывающий скрипт. Это выглядит не так красиво, но сойдет как простое оповещение о блокировке.
Вы также можете взглянуть на gxmessage
, xmessage
или zenity
.