Ich habe vor kurzem begonnen, mithilfe eines Bash-Skripts Terminal-Arbeitsbereiche für mich einzurichten, und in den ersten Tagen funktionierte alles einwandfrei. Ich führe das Skript aus, und vier, fünf oder sieben Terminals werden angezeigt, alle genau an den richtigen Stellen auf dem Bildschirm, alle per CD in die richtigen Verzeichnisse verschoben und einsatzbereit.
Heute Morgen habe ich Conky installiert und als ich das nächste Mal versuchte, mein Skript auszuführen, passierte etwas ganz Merkwürdiges. Jetzt wird nur noch das erste Fenster geöffnet. Wenn ich dieses Fenster schließe, öffnet sich das zweite. Wenn ich dieses schließe, öffnet sich das dritte und so weiter bis zum Ende des Skripts.
Jetzt ist mein Skript also nutzlos, außer als Zwischenablage, von der ich es kopieren und in das Terminal einfügen kann.
Hier ist mein Skript:
#!/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
Weiß jemand, warum das passieren könnte? Und warum es vorher nicht passiert ist, jetzt aber passiert?
Antwort1
Fügen Sie &
am Ende jedes gnome-terminal
Befehls ein an, um sicherzustellen, dass jedes Terminal im Hintergrund gestartet wird. Wenn Sie sie nicht früher beendet haben, werden die Terminals beendet, wenn Conky beendet wird und alle untergeordneten Prozesse beendet.