Ich habe in meiner .screenrc-Datei eine Hardstatus-Zeile festgelegt:
hardstatus alwayslastline '%{= kg}[ %{G}%H %{g}][%= %{= kB}%?%-Lw%?%{+b r}(%{G}%n*%f %t%?(%u)%?%{r})%{-b B}%?%+Lw%?%?%= %{g}%]'
# This is 127 characters
Ich melde mich regelmäßig bei Remote-Servern an, die mit anderen Benutzern gemeinsam genutzt werden, die ihre eigene bevorzugte Hardstatus-Zeile haben. Ich möchte den Hardstatus für meine Bildschirmsitzung ändern, indem ich ihn nach dem Starten der Sitzung als Befehl eingebe. Leider akzeptiert Bildschirm nach Erreichen von etwa 100 Zeichen keine Eingaben für den Befehl mehr.
Wenn ich von Bildschirmbefehlen spreche, meine ich die, die nach dem Eintippen ctrlvon + eingegeben werden.a :
Gibt es eine Möglichkeit, die Zeichenbeschränkung für Bildschirmbefehle auf über 100 Zeichen zu erhöhen, oder eine andere Möglichkeit, den Hardstatus festzulegen, ohne die .screenrc-Datei zu ändern? Eine Lösung zum Ändern nach dem Start der Sitzung wäre vorzuziehen, aber eine Befehlszeilenoption beim Starten des Bildschirms wäre, wenn möglich, eine gute Alternative.
Eine Möglichkeit, das Problem zu umgehen, besteht darin, die Zeile „Hardstatus“ in eine Datei zu schreiben und ctrl+ einzugeben a :source <file>
oder nach dem Startbildschirm Folgendes einzugeben:
screen -p <SESSION_NAME or PID> -X hardstatus alwayslastline '%{= kg}[ %{G}%H %{g}][%= %{= kB}%?%-Lw%?%{+b r}(%{G}%n*%f %t%?(%u)%?%{r})%{-b B}%?%+Lw%?%?%= %{g}%]'
Aber ich würde wirklich gerne wissen, wie man die Zeichenbegrenzung für Befehle erhöhen kann.
Dank im Voraus,
Matthew
Antwort1
Das geht nicht; die 100-Zeichen-Begrenzung ist fest programmiert (ich glaube, die Obergrenze wird durchgesetzt inBildschirm/Quelle/Eingabe.c, aber Funktionsaufrufer stellen möglicherweise von vornherein einen kürzeren Puffer bereit, sodass dies möglicherweise nicht die einzige Stelle ist, die gepatcht werden müsste).
Als Lösung mit weniger Tippaufwand empfehle ich das Hinzufügen eines , das zuerst Ihre bevorzugten Override-Einstellungen .screenrc-DarthAndroid
aufruft und hinzufügt; erstellen Sie anschließend einen Shell-Alias .source .screenrc
myscr="screen -c ~/.screenrc-DarthAndroid "