Benutzer-Werkzeuge

Webseiten-Werkzeuge


kitty

Dies ist eine alte Version des Dokuments!


  • Terminalemulator

Troubleshooting

Unknown terminal type

  • Meldung „Unknown Terminal Type“
  • oder Probleme bei Eingaben oder Farben
    • wie fehlende Farben oder Backspace oder Pfeiltasten funktionieren nicht
  • 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
    • die Informationen können über die termcap/terminfo-Bibliothek (terminfo ist eine neuere Implementierung) (ncurses greift auf diese Bibliotheken zu) abgerufen werden
    • die Informationen stehen in der termcap-Datenbank
      • in der Regel sind das einzelne Dateien für die einzelnen Terminals
  • welcher Terminal(-Emulator) gerade aktiv ist steht in der Regel in der $TERM-Variable
  • Kitty hat eine eigene Termcap-Datei und eigene eigene Terminal-Bezeichnung
    • viele „einfachere“ Terminal-Emulatoren melden sich als „xterm-256color“, da sie dazu kompatibel sind
    • kitty stellt mehr Funktionalitäten zur Verfügung
  • Kitty meldet sich als „xterm-kitty“

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 „Unknown Terminal Type“
  • TERM auf ein anderes (kompatibles) Terminal setzen
    • „export TERM=xterm-256color“ auf der Remote-Maschine eingeben
    • einige Funktionen von kitty werden nicht funktionieren/es kann in seltenen Fällen zu seltsamen Phänomenen kommen
      • aber meist sollte das funktionieren
  • ssh kitten

kitty +kitten ssh user@whatever
</bash>
   * macht ssh zum gewünschten Host (alle Parameter werden transparent an ssh übergeben)
   * kopiert das Terminfo-File von Kitty nach ~.terminfo/kitty.terminfo auf dem Zielsystem
       * es kann auf Wunsch weitere Dateien kopieren und Umgebungsvariablen setzen
           * .zshrc, vimrc usw.

  * 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 "~/.terminfo" auf der Remote-Maschine kopieren
          * 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 \~/.terminfo /dev/stdin

  • das dumped den Inhalt des Terminfo-Files und compiliert es und dumped den Inhalt in ~/.terminfo/
kitty.1689616332.txt.gz · Zuletzt geändert: 2023/07/17 19:52 von root