Gibt es eine tmux-Verknüpfung, die nur lesbar ist?

22

Ich benutze den Bildschirm seit Jahren, um sicherzustellen, dass alle Remote-Arbeiten nach Unterbrechungen / Abstürzen sicher geöffnet bleiben. Tatsächlich benutze ich natürlich Bildschirme, auch wenn ich vor Ort arbeite.

Vor kurzem sind meine Anforderungen so weit fortgeschritten, dass ich aufgrund der Schönheit von:

tmux attach -r

Das Anhängen an meine eigenen Sitzungen im schreibgeschützten Modus (-r) bedeutet, dass ich mir keine Sorgen machen muss:

  • Einfügen von Müllzeilen im IRC
  • Anhalten eines wichtigen Kompilierungs- / Bereitstellungsprozesses
  • Eingabe eines Passworts in der Vollansicht für Passanten

Das Problem ist natürlich, dass ich eine Sitzung öffnen muss, um die Verbindung zu trennen, und sie dann mit dem Flag -r erneut öffnen muss, um nur lesbar zu sein. Und wenn ich dann gelegentlich zu einer IRC-Unterhaltung wechseln, eine Aufgabe oder etwas anderes unterbrechen möchte, muss ich mich wieder trennen und die Verbindung normal wiederherstellen.

Kennt jemand eine Möglichkeit, eine Tastenzuordnung zum Wechseln zwischen Modi vorzunehmen?

connrs
quelle

Antworten:

16

Nicht gemäß der Manpage , die nur die attach -rOption zur Aktivierung des Nur-Lese-Modus aufruft .

Außerdem setzt im Quellcode nur die folgende Zeile cmd-attach-session.cdas Nur-Lesen-Flag. Der Rest des Codes prüft, ob dieses Flag gesetzt ist, ändert aber seinen Wert nicht. Es sieht also so aus, als ob Sie kein Glück haben, es sei denn, Sie können eine Codeänderung vornehmen (oder anfordern):

    if (cmd_check_flag(data->chflags, 'r'))
        ctx->cmdclient->flags |= CLIENT_READONLY;
Justin Ethier
quelle
1
Danke, dass Sie so ausführlich vorgegangen sind. Es ist schon eine Weile her, dass ich eine C / C ++ - Variante entwickelt habe, aber ich glaube, ich kann sie in meinen 'irgendwann' Stapel legen. In der Zwischenzeit schadet es nicht, eine Feature-Anfrage zu stellen, also mache ich das jetzt.
Connrs
22

In können tmux 1.9aSie tun :switch-client -r. Ich bin nicht sicher, ob dies in 1.9a neu ist, aber das ist die Version, die ich verwende, und ich kann eine vorhandene tmux-Sitzung in den schreibgeschützten Modus ändern.

Matthew J Morrison
quelle
Dies funktioniert hervorragend, wenn Sie in den schreibgeschützten Modus wechseln möchten. Gibt es jedoch eine Möglichkeit, den schreibgeschützten Modus zu beenden, ohne die Verbindung zu trennen und erneut herzustellen? Sieht nicht so aus, aber das wäre eine nützliche Funktion.
Richardneish