Warum wird ein neues Terminal automatisch geschlossen?

Warum wird ein neues Terminal automatisch geschlossen?

Jedes Mal, wenn ich ein neues Terminal öffne, wird es automatisch geschlossen. Ich verwende Arch Linux und das Xforce4-Terminal.

$ terminal --execute sudo arpspoof -i $(cat var.log|awk '{print $1}') \
           -t $(cat var.log|awk '{print $4}') $(cat var.log|awk '{print $3}')

oder

# terminal --execute arpspoof -i $(cat var.log|awk '{print $1}') \
           -t $(cat var.log|awk '{print $4}') $(cat var.log|awk '{print $3}')

Bei der Ausführung eines der oben genannten Befehle wird ein Fehler ausgegeben:

Unable to register terminal service: Did not receive a reply. Possible causes
include: the remote application did not send a reply, the message bus security
policy blocked the reply, the reply timeout expired, or the network connection
was broken.

Antwort1

Das „Standardverhalten“ eines Terminals besteht darin, sich zu beenden, wenn das Programm, das es ausführen soll, beendet ist. Dies geschieht, weil dies am praktischsten ist. Wenn Sie die Ausgabe lesen möchten, bevor sie verschwindet, können Sie am Ende einen Befehl wie diesen hinzufügen:

urxvt -e sh -c 'cowsay howdy?; sleep 1337'

Einige Terminals, wie beispielsweise rxvt-unicode, verfügen über die Option, zu verbleiben, bis sie vom Fenstermanager geschlossen werden:

-hold|+hold
    Turn on/off hold window after exit support. If enabled, urxvt will 
    not immediately destroy its window when the program executed within 
    it exits.  Instead, it will wait till it is being killed or closed by 
    the user; resource hold.

verwandte Informationen