Как получить цветной терминал поверх ssh?

Как указано на каналах IRC Ubuntu В сети freenode (irc.freenode.net) используется несколько каналов интернет-ретрансляции (IRC), используемых для поддержки и разработки Ubuntu.

Лучшее место для запуска общая помощь с Ubuntu или просто знакомство с другими пользователями Ubuntu - это #ubuntu или один из многих каналов локального языка.

Для производных Ubuntu доступны следующие каналы: #kubuntu, #edubuntu, #lubuntu и #xubuntu и отдельные каналы связаны с разработкой, ошибками, группами местного сообщества (LoCo), доступностью и документацией. Выберите из текущего списка каналов. надеюсь, что это поможет.

43
задан 6 December 2010 в 00:55

77 ответов

Хм. так как это было xterm на сервере, я понял, что что-то не так с .bashrc

И действительно! --color=auto работает только при подключении к TTY. Меняя все, чтобы просто --color в .bashrc, и теперь все красиво.

25
ответ дан 26 May 2018 в 00:06
  • 1
    Это очень помогло бы этому ответу, если бы вы сказали , где вы положили --color = auto. .bashrc на сервере? Какие команды? – rfay 25 August 2013 в 00:37
  • 2
    Поскольку это старый вопрос, который по-прежнему имеет значение, я просто хотел добавить, что в системах Ubuntu по умолчанию .bashrc имеет оператор case, который определяет, какие условия разрешены цветом. Если вы найдете «case» $ TERM $ " в & Quot; строка в вашем .bashrc, добавление " xterm) color_prompt = yes ;; " также будет включать цвет. Также вы можете раскомментировать «force_color_prompt = yes " чтобы глобально включить его всегда. – Mike E 6 July 2015 в 20:58
  • 3
    это был комментарий Майка Е, который исправил это для меня, – Frank Schrijver 25 September 2016 в 00:10
  • 4
    Я смущен. Что значит «изменить все, чтобы просто - цвет»? Могу ли я увидеть пример? – still_dreaming_1 11 August 2017 в 00:11
  • 5
    Вы, ребята, говорите о локальном хосте, удаленном хосте или обоим? – Adam 10 January 2018 в 13:47
[D0] Хм. так как это было xterm на сервере, я понял, что что-то не так с .bashrc

И действительно! --color=auto работает только при подключении к TTY. Меняя все, чтобы просто --color в .bashrc, и теперь все красиво.

25
ответ дан 25 July 2018 в 22:47
[D0] Хм. так как это было xterm на сервере, я понял, что что-то не так с .bashrc

И действительно! --color=auto работает только при подключении к TTY. Меняя все, чтобы просто --color в .bashrc, и теперь все красиво.

25
ответ дан 27 July 2018 в 00:25
[D0] Хм. так как это было xterm на сервере, я понял, что что-то не так с .bashrc

И действительно! --color=auto работает только при подключении к TTY. Меняя все, чтобы просто --color в .bashrc, и теперь все красиво.

25
ответ дан 31 July 2018 в 10:30
[D0] Хм. так как это было xterm на сервере, я понял, что что-то не так с .bashrc

И действительно! --color=auto работает только при подключении к TTY. Меняя все, чтобы просто --color в .bashrc, и теперь все красиво.

25
ответ дан 31 July 2018 в 11:31
[D0] Хм. так как это было xterm на сервере, я понял, что что-то не так с .bashrc

И действительно! --color=auto работает только при подключении к TTY. Меняя все, чтобы просто --color в .bashrc, и теперь все красиво.

25
ответ дан 2 August 2018 в 04:11
[D4] Хм. поскольку он был xterm на сервере, я понял, что что-то не так с .bashrc

И действительно! - color = auto работает только при подключении к TTY. Измените все на просто - цвет в .bashrc , и теперь все красиво.

25
ответ дан 4 August 2018 в 20:16
[D4] Хм. поскольку он был xterm на сервере, я понял, что что-то не так с .bashrc

И действительно! - color = auto работает только при подключении к TTY. Измените все на просто - цвет в .bashrc , и теперь все красиво.

25
ответ дан 6 August 2018 в 04:17
[D4] Хм. поскольку он был xterm на сервере, я понял, что что-то не так с .bashrc

И действительно! - color = auto работает только при подключении к TTY. Измените все на просто - цвет в .bashrc , и теперь все красиво.

25
ответ дан 7 August 2018 в 22:21
[D4] Хм. поскольку он был xterm на сервере, я понял, что что-то не так с .bashrc

И действительно! - color = auto работает только при подключении к TTY. Измените все на просто - цвет в .bashrc , и теперь все красиво.

25
ответ дан 10 August 2018 в 10:31
[D4] Хм. поскольку он был xterm на сервере, я понял, что что-то не так с .bashrc

И действительно! - color = auto работает только при подключении к TTY. Измените все на просто - цвет в .bashrc , и теперь все красиво.

25
ответ дан 13 August 2018 в 16:57
  • 1
    Это очень помогло бы этому ответу, если бы вы сказали where , который вы положили --color = auto. .bashrc на сервере? Какие команды? – rfay 25 August 2013 в 00:37
  • 2
    Поскольку это старый вопрос, который по-прежнему имеет значение, я просто хотел добавить, что в системах Ubuntu по умолчанию .bashrc имеет оператор case, который определяет, какие условия разрешены цветом. Если вы найдете «case» $ TERM $ & quot; в & Quot; строка в вашем .bashrc, добавление & quot; xterm) color_prompt = yes ;; & quot; также будет включать цвет. Также вы можете раскомментировать «force_color_prompt = yes & quot; чтобы глобально включить его всегда. – Mike E 6 July 2015 в 20:58
  • 3
    это был комментарий Майка Е, который исправил это для меня, – Frank Schrijver 25 September 2016 в 00:10
  • 4
    Я смущен. Что значит «изменить все, чтобы просто - цвет»? Могу ли я увидеть пример? – still_dreaming_1 11 August 2017 в 00:11
  • 5
    Вы, ребята, говорите о локальном хосте, удаленном хосте или обоим? – Adam 10 January 2018 в 13:47

Кажется, что цвета уже установлены в ~/.bashrc для меня, и проблема в том, что ssh не использует файл bashrc. Вы можете использовать bashrc в своей сессии ssh, добавив следующее в ~/.bash_profile:

if [ -f ~/.bashrc ]; then
      . ~/.bashrc
fi
7
ответ дан 26 May 2018 в 00:06
  • 1
    Это сработало для меня, и это был простой и эффективный способ сделать это! – flith 26 May 2017 в 11:24

Какова информация о вашей переменной XTERM env на сервере при ее подключении?

~ > export | grep -i term
TERM=xterm
5
ответ дан 26 May 2018 в 00:06

Это сработало для меня:

ssh -t my_host my_command

-t был ключом. Разъяснения.

5
ответ дан 26 May 2018 в 00:06
  • 1
    Это прекрасно работает и очень удобно для одной задачи. Благодаря! – XtraSimplicity 4 January 2017 в 07:17
  • 2
    Это все, что мне тоже нужно. Отлично спасибо! – Søren Mortensen 11 February 2018 в 06:37

Я попытался изменить настройки ~./bashrc (как на локальном, так и на удаленном сервере), но он не работал.

Тогда я заметил, что ~/.bashrc удаленного сервера даже не выполняется, если Я подключаюсь к нему через ssh. Поэтому я сделал ~/.bashrc удаленного сервера для выполнения puttinng if [ -f ~/.bashrc ]; then . ~/.bashrc fi в удаленном сервере ~/.bash_profile. (на основе https://stackoverflow.com/questions/820517/bashrc-at-ssh-login).

Так что это решение не требовало изменения каких-либо файлов ~/bashrc напрямую, но для этого требовалось изменить [ f7] файла удаленного сервера, чтобы файл ~/bashrc удаленного сервера был выполнен.

1
ответ дан 26 May 2018 в 00:06
  • 1
    Ubuntu по умолчанию использует .profile, а не .bash_profile, а по умолчанию .profile - источник .bashrc. – muru 8 March 2016 в 02:18
  • 2
    Это верно. Но выполняется ли .profile по умолчанию при входе через ssh? – chris544 8 March 2016 в 02:43
  • 3
    Да. Если вы не переопределили его с помощью .bash_profile, bash запускает .profile при запуске в качестве оболочки входа. И SSH запускает bash в качестве оболочки входа. – muru 8 March 2016 в 02:44
  • 4
    Правильно, что ~/.profile не читается, если существует ~/.bash_profile. Но по умолчанию Ubuntu не существует ~/.bash_profile? – chris544 8 March 2016 в 02:51
  • 5
    См. Мой первый комментарий еще раз. Нет, нет. Ubuntu использует .profile. – muru 8 March 2016 в 02:52

В моем случае отсутствующая часть должна была иметь цветные ls, grep и т. д., которые можно добавить путем добавления псевдонимов в файл .bashrc:

alias ls='ls --color=auto'
alias grep='grep --color=auto'

и т. д.

0
ответ дан 26 May 2018 в 00:06

Существует комментарий от «Майка Е» выше, в котором содержится ответ для меня, но его читать не просто трудно, трудно понять, что он имеет в виду, если вы не используете .bashrc a

После небольшого поворота я получил желаемые результаты, изменив следующие строки в ~/.bashrc на машине, с которой я входил в систему с помощью ssh:

[ f1]

to:

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color|*-256color) color_prompt=yes;;
    xterm) color_prompt=yes;;
esac

Я думаю, что мог бы просто добавить «| xterm» после «color» в первой строке или выкопать и выяснить, почему ssh использовал «xterm «вместо« xterm-color »и измените это, но это работает, и теперь у меня есть другие дела.

0
ответ дан 26 May 2018 в 00:06

я пытался менять настройки ~./bashrc (как на локальном, так и удаленном сервере), но это не похоже на работу.

потом я заметил, что ~/.bashrc на удаленном сервере даже не казнят, если я подключиться к нему через SSH. Так что я сделал ~/.bashrc удаленный сервер для выполнения puttinng if [ -f ~/.bashrc ]; then . ~/.bashrc fi в [f5 удаленного сервера]. (на основе https://stackoverflow.com/questions/820517/bashrc-at-ssh-login).

поэтому данное решение не требует изменения каких-либо ~/bashrc файлы напрямую, но это требует изменения файла ~/bash_profile на удаленном сервере, так что файл нажать [F8] на удаленном сервере был казнен.

1
ответ дан 25 July 2018 в 22:47
  • 1
    Ubuntu по умолчанию использует .profile, а не .bash_profile, а по умолчанию .profile - источник .bashrc. – muru 8 March 2016 в 02:18
  • 2
    Это верно. Но выполняется ли .profile по умолчанию при входе через ssh? – chris544 8 March 2016 в 02:43
  • 3
    Да. Если вы не переопределили его с помощью .bash_profile, bash запускает .profile при запуске в качестве оболочки входа. И SSH запускает bash в качестве оболочки входа. – muru 8 March 2016 в 02:44
  • 4
    Правильно, что ~/.profile не читается, если существует ~/.bash_profile. Но по умолчанию Ubuntu не существует ~/.bash_profile? – chris544 8 March 2016 в 02:51
  • 5
    См. Мой первый комментарий еще раз. Нет, нет. Ubuntu использует .profile. – muru 8 March 2016 в 02:52

Это сработало для меня:

ssh -t my_host my_command

-t был ключом. Разъяснения.

7
ответ дан 25 July 2018 в 22:47
  • 1
    Это прекрасно работает и очень удобно для одной задачи. Благодаря! – XtraSimplicity 4 January 2017 в 07:17
  • 2
    Это все, что мне тоже нужно. Отлично спасибо! – Søren Mortensen 11 February 2018 в 06:37

Кажется, что цвета уже установлены в ~/.bashrc для меня, и проблема в том, что ssh не использует файл bashrc. Вы можете использовать bashrc в своей сессии ssh, добавив следующее в ~/.bash_profile:

if [ -f ~/.bashrc ]; then . ~/.bashrc fi
8
ответ дан 25 July 2018 в 22:47
  • 1
    Это сработало для меня, и это был простой и эффективный способ сделать это! – flith 26 May 2017 в 11:24

Существует комментарий от «Майка Е» выше, в котором содержится ответ для меня, но его читать не просто трудно, трудно понять, что он имеет в виду, если вы не используете .bashrc a

После небольшого поворота я получил желаемые результаты, изменив следующие строки в ~/.bashrc на машине, с которой я входил в систему с помощью ssh:

# set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color|*-256color) color_prompt=yes;; esac

to:

# set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color|*-256color) color_prompt=yes;; xterm) color_prompt=yes;; esac

Я думаю, что мог бы просто добавить «| xterm» после «color» в первой строке или выкопать и выяснить, почему ssh использовал «xterm «вместо« xterm-color »и измените это, но это работает, и теперь у меня есть другие дела.

0
ответ дан 25 July 2018 в 22:47

В моем случае отсутствующая часть должна была иметь цветные ls, grep и т. д., которые можно добавить путем добавления псевдонимов в файл .bashrc:

alias ls='ls --color=auto' alias grep='grep --color=auto'

и т. д.

0
ответ дан 25 July 2018 в 22:47

Какова информация о вашей переменной XTERM env на сервере при ее подключении?

~ > export | grep -i term TERM=xterm
5
ответ дан 25 July 2018 в 22:47

Я попытался изменить настройки ~./bashrc (как на локальном, так и на удаленном сервере), но он не работал.

Тогда я заметил, что ~/.bashrc удаленного сервера даже не выполняется, если Я подключаюсь к нему через ssh. Поэтому я сделал ~/.bashrc удаленного сервера для выполнения puttinng if [ -f ~/.bashrc ]; then . ~/.bashrc fi в удаленном сервере ~/.bash_profile. (на основе https://stackoverflow.com/questions/820517/bashrc-at-ssh-login).

Так что это решение не требовало изменения каких-либо файлов ~/bashrc напрямую, но для этого требовалось изменить ~/bash_profile файла удаленного сервера, чтобы файл ~/bashrc удаленного сервера был выполнен.

1
ответ дан 27 July 2018 в 00:25
  • 1
    Ubuntu по умолчанию использует .profile, а не .bash_profile, а по умолчанию .profile - источник .bashrc. – muru 8 March 2016 в 02:18
  • 2
    Это верно. Но выполняется ли .profile по умолчанию при входе через ssh? – chris544 8 March 2016 в 02:43
  • 3
    Да. Если вы не переопределили его с помощью .bash_profile, bash запускает .profile при запуске в качестве оболочки входа. И SSH запускает bash в качестве оболочки входа. – muru 8 March 2016 в 02:44
  • 4
    Правильно, что ~/.profile не читается, если существует ~/.bash_profile. Но по умолчанию Ubuntu не существует ~/.bash_profile? – chris544 8 March 2016 в 02:51
  • 5
    См. Мой первый комментарий еще раз. Нет, нет. Ubuntu использует .profile. – muru 8 March 2016 в 02:52

Это сработало для меня:

ssh -t my_host my_command

-t был ключом. Разъяснения.

7
ответ дан 27 July 2018 в 00:25
  • 1
    Это прекрасно работает и очень удобно для одной задачи. Благодаря! – XtraSimplicity 4 January 2017 в 07:17
  • 2
    Это все, что мне тоже нужно. Отлично спасибо! – Søren Mortensen 11 February 2018 в 06:37

Кажется, что цвета уже установлены в ~/.bashrc для меня, и проблема в том, что ssh не использует файл bashrc. Вы можете использовать bashrc в своей сессии ssh, добавив следующее в ~/.bash_profile:

if [ -f ~/.bashrc ]; then . ~/.bashrc fi
8
ответ дан 27 July 2018 в 00:25
  • 1
    Это сработало для меня, и это был простой и эффективный способ сделать это! – flith 26 May 2017 в 11:24

Существует комментарий от «Майка Е» выше, в котором содержится ответ для меня, но его читать не просто трудно, трудно понять, что он имеет в виду, если вы не используете .bashrc a

После небольшого поворота я получил желаемые результаты, изменив следующие строки в ~/.bashrc на машине, с которой я входил в систему с помощью ssh:

# set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color|*-256color) color_prompt=yes;; esac

to:

# set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color|*-256color) color_prompt=yes;; xterm) color_prompt=yes;; esac

Я думаю, что мог бы просто добавить «| xterm» после «color» в первой строке или выкопать и выяснить, почему ssh использовал «xterm «вместо« xterm-color »и измените это, но это работает, и теперь у меня есть другие дела.

0
ответ дан 27 July 2018 в 00:25

В моем случае отсутствующая часть должна была иметь цветные ls, grep и т. д., которые можно добавить путем добавления псевдонимов в файл .bashrc:

alias ls='ls --color=auto' alias grep='grep --color=auto'

и т. д.

0
ответ дан 27 July 2018 в 00:25

Какова информация о вашей переменной XTERM env на сервере при ее подключении?

~ > export | grep -i term TERM=xterm
5
ответ дан 27 July 2018 в 00:25

Я попытался изменить настройки ~./bashrc (как на локальном, так и на удаленном сервере), но он не работал.

Тогда я заметил, что ~/.bashrc удаленного сервера даже не выполняется, если Я подключаюсь к нему через ssh. Поэтому я сделал ~/.bashrc удаленного сервера для выполнения puttinng if [ -f ~/.bashrc ]; then . ~/.bashrc fi в удаленном сервере ~/.bash_profile. (на основе https://stackoverflow.com/questions/820517/bashrc-at-ssh-login).

Так что это решение не требовало изменения каких-либо файлов ~/bashrc напрямую, но для этого требовалось изменить ~/bash_profile файла удаленного сервера, чтобы файл ~/bashrc удаленного сервера был выполнен.

1
ответ дан 31 July 2018 в 10:30
  • 1
    Ubuntu по умолчанию использует .profile, а не .bash_profile, а по умолчанию .profile - источник .bashrc. – muru 8 March 2016 в 02:18
  • 2
    Это верно. Но выполняется ли .profile по умолчанию при входе через ssh? – chris544 8 March 2016 в 02:43
  • 3
    Да. Если вы не переопределили его с помощью .bash_profile, bash запускает .profile при запуске в качестве оболочки входа. И SSH запускает bash в качестве оболочки входа. – muru 8 March 2016 в 02:44
  • 4
    Правильно, что ~/.profile не читается, если существует ~/.bash_profile. Но по умолчанию Ubuntu не существует ~/.bash_profile? – chris544 8 March 2016 в 02:51
  • 5
    См. Мой первый комментарий еще раз. Нет, нет. Ubuntu использует .profile. – muru 8 March 2016 в 02:52

Другие вопросы по тегам:

Похожие вопросы: