Bug in `screen` umgehen

ikkebins

Stammuser
Hallihallo!

Also erstmal herzlich Willkommen in meinem Thread, bin ganz neu hier! :D

Soso also, ich habe einen Bug in `screen` und würde gerne wissen, wie man drumherum kommt.

Das Programm `screen` gehört nicht zum Standardumfang von Linux, also eher eine härtere Nuss!

Also wenn ich eine screen-Session starte mit dem Namen 'test':
Code:
screen -AmdS test
Dann kann ich 'test' joinen mit:
Code:
screen -r test
Dann gehe ich wieder aus die Session raus mit:
Code:
Strg+a+d
Dann kann ich einen Befehl senden mit:
Code:
screen -S test -X stuff "ls -la
"
(Ja, das "" über eine Zeile ist wichtig, ansonsten hat er kein \n zum Ausführen)

So, der Bug ist jetzt: wenn ich vorher nicht einmal die Session attached und mit Strg+a+d detached habe, dann führt er mir nicht den 'ls -la' aus!

Weiß jemand, wie das trotzdem geht? Wäre genial! Ansonsten weiß eine ikkebins nicht, wie er später seine "Jobs" kontrollieren kann! :)

Viele Grüße,
ikkebins!
 

bitmuncher

Senior-Nerd
Da der Screen nie attached wurde, weiss er nicht, welches Fenster er nutzen soll. Es gibt ja kein aktives Fenster. Da es aber eh nur ein Fenster gibt, dürfte die Auswahl nicht schwer sein. Wurde der Screen bereits attached, wird das zuletzt aktive Fenster verwendet, wenn -p nicht angegeben wird. Daher die Lösung: Einfach das gewünschte Fenster angeben.


Code:
screen -AmdS test
screen -S test -X  -p 0 stuff "ls -la
"

It's no bug, it's a feature. ;)
 

ikkebins

Stammuser
Danke bitmuncher,

funktioniert perfekt. :)

Vielleicht sollten so Features eine Warning erzeugen oder einen Error-Code für eine Lookup-Tabelle setzen oder beides. :D
 
Oben