Как получить цветной терминал поверх 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 был ключом. [D0] Разъяснения .

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

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

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

Существует комментарий от «Майка Е» выше, в котором содержится ответ для меня, но его читать не только трудно, но трудно понять, что он имеет в виду, если вы не используете . 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
ответ дан 7 August 2018 в 22:21

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

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

и т. д.

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

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

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

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

  ssh -t my_host my_command  

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

7
ответ дан 10 August 2018 в 10:31

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

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

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

Существует комментарий от «Майка Е» выше, в котором содержится ответ для меня, но его читать не только трудно, но трудно понять, что он имеет в виду, если вы не используете . 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
ответ дан 10 August 2018 в 10:31

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

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

и т. д.

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

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

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

Я попытался изменить настройки ~. / 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
ответ дан 13 August 2018 в 16:57
  • 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 был ключом. [D0] Разъяснения .

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

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

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

Существует комментарий от «Майка Е» выше, в котором содержится ответ для меня, но его читать не только трудно, но трудно понять, что он имеет в виду, если вы не используете . 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
ответ дан 13 August 2018 в 16:57

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

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

и т. д.

0
ответ дан 13 August 2018 в 16:57

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

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

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

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