Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
kitty [2023/07/17 16:53] root angelegt |
kitty [2023/07/17 21:55] (aktuell) root [sudo] |
||
---|---|---|---|
Zeile 12: | Zeile 12: | ||
* Programme im Terminal müssen die Sequenzen kennen um das Terminal zu steuern und wissen was das Terminal kann | * Programme im Terminal müssen die Sequenzen kennen um das Terminal zu steuern und wissen was das Terminal kann | ||
* für gewöhnlich macht das (n)curses-Library für die Programme | * für gewöhnlich macht das (n)curses-Library für die Programme | ||
- | * die Informationen können über die termcap/ | + | * die Informationen können über die termcap/ |
* die Informationen stehen in der termcap-Datenbank | * die Informationen stehen in der termcap-Datenbank | ||
* in der Regel sind das einzelne Dateien für die einzelnen Terminals | * in der Regel sind das einzelne Dateien für die einzelnen Terminals | ||
Zeile 22: | Zeile 22: | ||
* kitty stellt mehr Funktionalitäten zur Verfügung | * kitty stellt mehr Funktionalitäten zur Verfügung | ||
* Kitty meldet sich als " | * Kitty meldet sich als " | ||
+ | |||
+ | |||
+ | ==== ssh ==== | ||
+ | |||
+ | * TERM wird durch ssh übermittelt -> die Remot-Maschine weiß also welches Terminal benutzt wird | ||
+ | * kitty ist aber keines der verbeiteten Terminals, in der Regel ist die entsprechende Termcap-Datei daher auf der Remote-Maschine nicht installiert | ||
+ | * das führt zum Fehler " | ||
+ | |||
+ | |||
+ | * TERM auf ein anderes (kompatibles) Terminal setzen | ||
+ | * " | ||
+ | * einige Funktionen von kitty werden nicht funktionieren/ | ||
+ | * aber meist sollte das funktionieren | ||
+ | |||
+ | |||
+ | * ssh kitten | ||
+ | <sxh bash> | ||
+ | kitty +kitten ssh user@whatever | ||
+ | </ | ||
+ | * macht ssh zum gewünschten Host (alle Parameter werden transparent an ssh übergeben) | ||
+ | * kopiert das Terminfo-File von Kitty nach ~.terminfo/ | ||
+ | * es kann auf Wunsch weitere Dateien kopieren und Umgebungsvariablen setzen | ||
+ | * .zshrc, vimrc usw. | ||
+ | * um einen Alias zu erzeugen (ssh wird dann auf kitty +kitten ssh gemappt) kann man folgendes in seine .zshrc oder .bashrc hinzufügen: | ||
+ | <sxh bash> | ||
+ | if [ " | ||
+ | alias ssh=' | ||
+ | fi | ||
+ | </ | ||
+ | |||
+ | * kopieren des terminfo-Files | ||
+ | * im lokalen Kitty "echo $TERMINFO" | ||
+ | * das liefert den Pfad zur Terminfo-File | ||
+ | * oder infocmp | ||
+ | * ganz oben wird die Datei genannt aus der gelesen wurde | ||
+ | * die Datei in das Verzeichnis " | ||
+ | * das Verzeichnis wird in der Regel nicht existieren -> muss angelegt werden | ||
+ | * die bessere Idee ist wahrscheinlich aber dieser Weg: | ||
+ | <sxh bash> | ||
+ | infocmp -a xterm-kitty | ssh myserver tic -x -o \~/ | ||
+ | </ | ||
+ | * das dumped den Inhalt des Terminfo-Files und compiliert es und dumped den Inhalt in ~/ | ||
+ | |||
+ | |||
+ | ==== sudo ==== | ||
+ | |||
+ | * Problem ist wahrscheinlich das kitty als User-Installation (also nicht systemweit) installiert wurde | ||
+ | |||
+ | |||
+ | * für " | ||
+ | * sudo visudo | ||
+ | <sxh bash> | ||
+ | Defaults env_keep += "TERM TERMINFO" | ||
+ | </ | ||
+ | |||
+ | am Ende hinzufügen | ||
+ | * übernimmt in die neue Shell-Session die Terminfo-Variable (und die Term-Variable) | ||
+ | |||
+ | * wenn man sudo -u < | ||
+ | * die vorstehende Änderung am sudoers file muss rückgängig gemacht werden | ||
+ | * sonst wird versucht auf die TERMINFO im Benutzerverzeichnis zuzugreifen, | ||
+ | * es hilft nur global installieren der Datei | ||
+ | <sxh bash> | ||
+ | infocmp > /tmp/kitty | ||
+ | sudo tic / | ||
+ | </ | ||
+ | |||
+ | * infocmp ließt die (binäre) geladene Terminfo-Datei aus und schreibt sie als Text nach /tmp/kitty | ||
+ | * tic ließt die Textdatei ein und compiliert sie und da per sudo aufgerufen installiert es sie systemweit | ||
+ | * man kann natürlich auch die bereits kompilierte Terminfo-Datei (für gewöhnlich in ~/ |