Как изменить цветовые профили на SSH ITERM2 на SSH?

5

мак ос х лев; Использование Iterm2;

Я хочу изменить свои цветовые профили iterm2, если я использую ssh на терминале.

Можно ли это сделать?

MEM
источник

Ответы:

3

Очень поздно ответ, но я нашел способ здесь , что я хотел бы поделиться. Это предполагает, что вы работаете с Zsh и oh-my-zsh, но, имея некоторый опыт написания сценариев оболочки, вы сможете настроить его для других оболочек.

Я скопировал эти инструкции здесь для потомков:


Создайте два профиля iTerm:

*   Your personal preference theme (can be named anything)
*   SSH color theme (must be named SSH)

Зайдите в свой ~/.oh-my-zsh/customкаталог и создайте новый файл с названием iTerm2-ssh.zsh. Скопируйте и вставьте следующее или скопируйте из репозитория:

function tabc() {
    NAME=$1; if [ -z "$NAME" ]; then NAME="Default"; fi 
    # if you have trouble with this, change
    # "Default" to the name of your default theme
    echo -e "\033]50;SetProfile=$NAME\a"
}

function tab-reset() {
    NAME="YOUR_CUSTOM_PROFILE_NAME_HERE"
    echo -e "\033]50;SetProfile=$NAME\a"
}

function colorssh() {
    if [[ -n "$ITERM_SESSION_ID" ]]; then
        trap "tab-reset" INT EXIT
        if [[ "$*" =~ "web*|production|ec2-.*compute-1" ]]; then
            tabc SSH
        fi
    fi
    ssh $*
}
compdef _ssh tabc=ssh

alias ssh="colorssh"

Разбивка этого кода:

tabc()захватывает имя ssh после $ sshввода команды. Это меняет имя SetProfile на ssh .

tab-reset()отвечает за то, что при выходе из сеанса ssh возвращается обратно к выбранному вами профилю. Не забудьте создать собственное имя профиля и заменить его _YOUR_CUSTOM_PROFILE_NAME_HERE_именем своего профиля .

colorsshопределяет, когда изменить имя SetProfile . В настоящее время он изменится на профиль SSH, если после этого существует одно из следующих значений $ ssh:

-   web *
-   production
-   ec2-.*compute-1

Опять не мой код, просто счастливый пользователь. Спасибо за это, Гектор Лейва !

Эрвин Вессельс
источник