Verwenden einer lokalen Shell auf einem Remotecomputer

Verwenden einer lokalen Shell auf einem Remotecomputer

Ich verwende zshmit einer Reihe von Anpassungen auf meinem lokalen Rechner. Ich habe vor kurzem damit begonnen,homemakerum alle meine Dotfiles in einem gitRepo auf einem privaten Server zu verwalten. Allerdings finde ich es immer etwas umständlich, dass ich, wenn ich mich sshbei einem Remote-Server anmelde, entweder die lokale Konfiguration in Kauf nehmen oder Zeit damit verschwenden muss, ein privates gitRepo 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 sysshBefehle 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 moshdieses 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, sshist 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. moshEs 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 Managementdas die Grundlage für powershelldie 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.

verwandte Informationen