Automatisk Indstilling af TERM-Variabel ved SSH fra tmux-session: En Guide

Hvordan kan TERM automatisk sættes korrekt på en fjernhost, når der ssh'es fra en tmux-session, uden at redigere hver enkelt fjern .bashrc?

For at sikre, at TERM automatisk sættes korrekt, når du SSH'er fra en tmux-session til en fjernhost, kan du bruge SSH-konfigurationsfilen, konfigurere AcceptEnv på fjernhosten, bruge et wrapper-script eller tilføje en linje i tmux-konfigurationsfilen.

Sådan kan TERM automatisk sættes korrekt på en fjernhost, når der ssh'es fra en tmux-session, uden at redigere hver enkelt fjern .bashrc

For at sikre, at TERM-variablen automatisk sættes korrekt, når du SSH'er fra en tmux-session til en fjernhost, kan du følge disse trin:

  1. Brug SSH-konfigurationsfilen:

    Du kan tilføje en konfigurationsindstilling i din lokale SSH-konfigurationsfil (~/.ssh/config) for at sende TERM-variablen automatisk.

    Host *
      SendEnv TERM
  2. Konfigurer AcceptEnv på fjernhosten:

    På fjernhosten skal du sikre dig, at SSH-dæmonen er konfigureret til at acceptere TERM-variablen. Dette gøres ved at redigere SSH-dæmonens konfigurationsfil (/etc/ssh/sshd_config) og tilføje eller ændre følgende linje:

    AcceptEnv TERM

    Genstart derefter SSH-dæmonen for at anvende ændringerne:

    sudo systemctl restart sshd
  3. Brug en wrapper-script:

    Du kan også oprette et wrapper-script til SSH, der automatisk sætter TERM-variablen. Opret en fil, f.eks. ssh-tmux, med følgende indhold:

    #!/bin/bash
    TERM=screen-256color-bce ssh "$@"

    Gør scriptet eksekverbart:

    chmod +x ssh-tmux

    Brug derefter dette script i stedet for den almindelige ssh-kommando.

  4. Brug tmux-konfigurationsfilen:

    Du kan også tilføje en linje i din tmux-konfigurationsfil (~/.tmux.conf) for at sikre, at TERM-variablen er korrekt indstillet, når du starter en ny tmux-session:

    set-option -g default-terminal "screen-256color"

Ved at følge disse trin kan du sikre, at TERM-variablen automatisk sættes korrekt, når du SSH'er fra en tmux-session til en fjernhost, uden at skulle redigere hver enkelt fjern .bashrc-fil.