Как получить цветной терминал поверх 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 ответов

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

ssh -t my_host my_command

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

7
ответ дан 31 July 2018 в 10:30
  • 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
ответ дан 31 July 2018 в 10:30
  • 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
ответ дан 31 July 2018 в 10:30

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

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

и т. д.

0
ответ дан 31 July 2018 в 10:30

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

~ > export | grep -i term TERM=xterm
5
ответ дан 31 July 2018 в 10:30

Я попытался изменить настройки ~./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 в 11:31
  • 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
ответ дан 31 July 2018 в 11:31
  • 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
ответ дан 31 July 2018 в 11:31
  • 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
ответ дан 31 July 2018 в 11:31

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

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

и т. д.

0
ответ дан 31 July 2018 в 11:31

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

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

Я попытался изменить настройки ~./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
ответ дан 2 August 2018 в 04:11
  • 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
ответ дан 2 August 2018 в 04:11
  • 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
ответ дан 2 August 2018 в 04:11
  • 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
ответ дан 2 August 2018 в 04:11

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

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

и т. д.

0
ответ дан 2 August 2018 в 04:11

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

~ > export | grep -i term TERM=xterm
5
ответ дан 2 August 2018 в 04:11
  • 1
    $ экспорт | команда grep -I триместр объявить -х срок="в xterm" – Dima 6 December 2010 в 04:36

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

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

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

1
ответ дан 4 August 2018 в 20:16

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

  ssh -t my_host my_command  

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

7
ответ дан 4 August 2018 в 20:16

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

 , если [-f ~ / .bashrc];  тогда .  ~ / .bashrc fi  
8
ответ дан 4 August 2018 в 20:16

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

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

  #, установила приглашение (не цветное, если мы не знаем, что мы «хотим» цвета) case «$ TERM» в xterm-color | * -  256color) color_prompt = yes ;;  esac  

to:

  # задает причудливое приглашение (не цветное, если мы не знаем, что мы «хотим» цвета) case «$ TERM» в xterm  -color | * -256color) color_prompt = yes ;;  xterm) color_prompt = yes ;;  esac  

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

0
ответ дан 4 August 2018 в 20:16

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

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

и т. д.

0
ответ дан 4 August 2018 в 20:16

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

  ~ & gt;  экспорт |  grep -i term TERM = xterm  
5
ответ дан 4 August 2018 в 20:16

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

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

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

1
ответ дан 6 August 2018 в 04:17

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

  ssh -t my_host my_command  

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

7
ответ дан 6 August 2018 в 04:17

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

 , если [-f ~ / .bashrc];  тогда .  ~ / .bashrc fi  
8
ответ дан 6 August 2018 в 04:17

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

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

  #, установила приглашение (не цветное, если мы не знаем, что мы «хотим» цвета) case «$ TERM» в xterm-color | * -  256color) color_prompt = yes ;;  esac  

to:

  # задает причудливое приглашение (не цветное, если мы не знаем, что мы «хотим» цвета) case «$ TERM» в xterm  -color | * -256color) color_prompt = yes ;;  xterm) color_prompt = yes ;;  esac  

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

0
ответ дан 6 August 2018 в 04:17

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

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

и т. д.

0
ответ дан 6 August 2018 в 04:17

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

  ~ & gt;  экспорт |  grep -i term TERM = xterm  
5
ответ дан 6 August 2018 в 04:17

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

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

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

1
ответ дан 7 August 2018 в 22:21

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

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