
Ich verwende zsh
mit einer Reihe von Anpassungen auf meinem lokalen Rechner. Ich habe vor kurzem damit begonnen,homemaker
um alle meine Dotfiles in einem git
Repo auf einem privaten Server zu verwalten. Allerdings finde ich es immer etwas umständlich, dass ich, wenn ich mich ssh
bei einem Remote-Server anmelde, entweder die lokale Konfiguration in Kauf nehmen oder Zeit damit verschwenden muss, ein privates git
Repo zu klonen und Skripte auszuführen. Außerdem finde ich es unprofessionell, wenn ich einen Haufen persönlicher Dateien auf einen Server herunterlade, den ich betreue, insbesondere wenn ich nicht der Hauptadministrator bin.
Es scheint, als ob es einen besseren Weg geben muss.Gibt es eine Art System, das es mir ermöglicht, meine sorgfältig konfigurierte lokale Shell auszuführen, aber alle eigentlichen Aktionen (Datei-E/A, Ausführen von Befehlen/Befehls-STDI usw.) über eine Art ssh
-basierte Schnittstelle laufen zu lassen?Ich stelle mir eine Art superminimale, nicht benutzerfreundliche Shell (nennen wir sie der Frage halber syssh
) auf dem Server vor, die nur alle Systemaufrufe verfügbar macht, die eine moderne Shell verwenden könnte, und auf dem Client eine modifizierte Shell, die lokale Konfigurationen liest, aber syssh
Befehle an das Remote-System sendet.
Auf diese Weise muss sich der Server nicht um meine bevorzugte Shell, das Promptline-Design, Farbeinstellungen, Terminalfunktionen, Schriftarten (für Powerline usw.), Tab-Vervollständigungseinstellungen usw. kümmern. Außerdem würde die Netzwerklatenz mein Tippen nicht verlangsamen, da es readline()
lokal geschieht; das Einzige, was verzögert wäre, wären die Ergebnisse von Befehlen (und Tab-Vervollständigungskram usw.). Ich weiß, dass mosh
dieses Problem durch eine Reihe von Heuristiken und Annahmen darüber, wie sich eine Shell verhalten würde, angegangen wird, aber es scheint ein bisschen hackig.
So wie es mir scheint, ssh
ist das Ausführen einer Shell wie die Verwendung einer Webanwendung, bei der jede einzelne Schaltfläche ein Link oder eine Schaltfläche zum Senden eines Formulars ist. mosh
Es handelt sich um dieselbe Anwendung mit etwas Caching und einem differenziellen Komprimierungsschema, und was ich vorschlage, wäre wie eine moderne Webanwendung mit Javascript zur Manipulation der Anzeige und AJAX-Aufrufen zum Abrufen/Posten von Daten bei Bedarf.
Gibt es so etwas und wenn nicht, warum? Sind Entwicklungsbemühungen in dieser Richtung bekannt?
Antwort1
Es klingt, als ob Sie Microsofts wollen, Web Services for Management
das die Grundlage für powershell
die Fernsteuerung bildet. Powershell für Linux existiert und ist MIT-lizenziert, daher sollte es theoretisch möglich sein, den erforderlichen Code zu extrahieren und ihn in einen Patch für umzuwandeln zsh
. Natürlich hat nicht jeder Powershell installiert, aber nicht jeder hat zsh installiert.
Kurz gesagt, was Sie wollen, existiert, aber (noch) nicht für zsh
.