Odpowiedzi:
Po uruchomieniu sesji ekranu w trybie odłączonym ( screen -d -m
) nie jest wybierane żadne okno, więc dane przesłane później screen -X stuff
są po prostu tracone. Musisz wyraźnie określić, że chcesz wysyłać naciśnięcia klawiszy do okna 0 ( -p 0
). To i tak jest dobry pomysł, na wypadek, gdyby z jakiegoś powodu zdarzyło Ci się tworzyć inne okna w tej sesji ekranu.
screen -S "$1" -p 0 -X stuff "$beast$(printf \\r)"
( printf \\r
aby ściśle emulować Returnklucz; wiele, ale nie wszystkie programy akceptują znak nowej linii ( \n
).)
Niedawno pojawiło się to podczas próby odpowiedzi na pytanie na unix.stackexchange.com .
Podsumowując, ekran nie ma domyślnie wybranego okna, chyba że zostaniesz przywiązany, ale Gilles pokazał nam, jak możesz zmusić go do wybrania , dodając argument -p 0
do polecenia screen.
Osobiście polecam przejście na tmux
. Oto jak możesz przenieść swoje polecenia ekranowe do pracy w tmux:
tmux new-session -d -n $1
tmux send-keys -t $1 "$beast\n"