Недавно я начал использовать скрипт bash для настройки рабочих пространств терминалов для себя, и все работало отлично в течение первых нескольких дней. Я запускаю скрипт, и появляются четыре, пять или семь терминалов, все в точно нужных местах на экране, все скомпонованы в нужные каталоги, готовые к использованию.
Сегодня утром я установил conky, и в следующий раз, когда я попытался запустить свой скрипт, произошло нечто странное. Теперь он открывает только первое окно. Когда я закрываю это окно, открывается второе. Когда я закрываю это окно, открывается третье и так далее до конца скрипта.
Так что теперь мой скрипт бесполезен, разве что как буфер обмена, с которого я могу копировать и вставлять в терминал.
Вот мой сценарий:
#!/bin/bash
if [ $1 = "deploy" ]; then
cd ~/
gnome-terminal --geometry=185x41+0+0 --window-with-profile=Colquhoun
cd ~/Utilities/Ad\ Tag\ Generators
gnome-terminal --geometry=85x15+1312+0 --window-with-profile=Generator
cd ~/Utilities
gnome-terminal --geometry=85x28+1312+280 --window-with-profile=Deployer
cd ~/Staging
gnome-terminal --geometry=85x20+1312+730 --window-with-profile=Monitor
fi
if [ $1 = "servers" ]; then
cd ~/
gnome-terminal --geometry=89x20+0+0 --window-with-profile=Colquhoun
gnome-terminal --geometry=89x20+640+0 --window-with-profile=Colquhoun
gnome-terminal --geometry=89x65+1280+0 --window-with-profile=Colquhoun
gnome-terminal --geometry=89x20+0+360 --window-with-profile=Colquhoun
gnome-terminal --geometry=89x20+640+360 --window-with-profile=Colquhoun
gnome-terminal --geometry=89x20+0+700 --window-with-profile=Colquhoun
gnome-terminal --geometry=89x20+640+700 --window-with-profile=Colquhoun
fi
if [ $1 = "logchecks" ]; then
cd ~/
gnome-terminal --geometry=89x65+0+0 --window-with-profile=Colquhoun
gnome-terminal --geometry=89x65+640+0 --window-with-profile=Colquhoun
gnome-terminal --geometry=89x65+1280+0 --window-with-profile=Colquhoun
fi
Кто-нибудь знает, почему это может происходить? И почему раньше этого не было, а сейчас есть?
решение1
Добавьте &
в конец каждой gnome-terminal
команды, чтобы убедиться, что каждый терминал запускается в фоновом режиме. Если вы не уничтожили их раньше, терминалы закроются, когда conky завершит работу и уничтожит все дочерние процессы.