Как стать автором
Обновить

Комментарии 45

Но ведь вы всё-равно копируете profsync-скрипт? Тогда получается в процессе «разворачивания» окружения этот способ большого выигрыша не даёт.
profsync располагается только на донорской системе, откуда общие файлы копируются на целевые машины.
Делаю просто симлинки на фаилы в дропбоксе :). Если хочется без GUI, то можно их просто закинуть в любую SCM и иметь возможность править фаилы профиля с любой машины.
Способов доставки можно придумать множество, в моем случае большая часть работы идет по ssh, поэтому использовать scp было естественней всего.
НЛО прилетело и опубликовало эту надпись здесь
Жаль, конечно, что дропбокс не идёт под Фрёй(
skel-git в dropbox — вот мой выбор :)
А теперь надо создать пакеты для всех распостранненых дистрибутивов Linux. А это уже практически нереально сделать.
image
Довольно много народа держит свои dotfiles на гитхабе. Скачать такой репозиторий можно даже на машине без гита. Из плюсов: нужен только доступ к гитхабу, что бывает проще, чем доступ к далекой машинке через кучу файрволов по ssh; удобный трекинг изменений.
К сожалению, один из основных плюсов предложенного решения — разноцветность приглашения — github/dropbox/whatever не решают.
хранить все цвета в конфиге в зависимости от хостнэйма — один из вариантов решения
таскать все внутри одного if'а — плохая идея. Например, одна скомпрометированная система может сослужить вам плохую службу, если вы храните в .bashrc что-то более ценное, чем только цвет.
НЛО прилетело и опубликовало эту надпись здесь
Кошмар какой :-)
А чем вам не угодили bash-переменные?

let "c=${hash#${hash%?}} % 6 + 1"
НЛО прилетело и опубликовало эту надпись здесь
zsh+.zshrc решает всю эту проблему :)
Ну напишите уже как именно он это делает! Потому что я тоже могу написать, что shared home directory решает вообще любые мыслимые и немыслимые проблемы, но от этого легче никому не станет.
ставится на другую систему zsh, копируется свой .zshrc и все, я в родном окружении с распознаванием серверных машин по хосту
А нахрена zsh? Мне из вас решение по слову выдавливать? ;-)
потому что zsh очень удобен, я использую его как замену bash :)
То есть ваше решение заключается просто в копировании файла? Для какого шелла — совершенно неважно.
ну можно и так сказать, никто не мешает его скопировать, скачать, рсинкнуть и так далее
Прекрасное решение! Правда, для совсем другой проблемы и с поднятой топиккастером никак не связано ;) так что при всей элегантности — не засчитывается! :-)
Скопировать и .bashrc можно, и распознавать хосты в нем же.
можно, никто не спорит, дело привычки и привычки к удобствам
byobu(бывший screen-profiles) хорош. Добавляет к screen всякие няки
У моего друга PS1 на полторы строчки раскрывается и раскрашен в кислотные цвета. Чего там только нет — и load average, и время, и загрузка, и температура за окном, и занятость винтов. Я тоже задумывался о «прокачке» внешнего вида консольки, но решил ограничиться необходимым минимумом.
Дело не в погоде за окном, а в удобном отображении вкладок(полоской снизу), хоткеям для создания(F2) и перехода по ним(F3,F4). Сплиты еще, правда это кажется у screen родное. Вбщем если собственный профайл screen пустой, то на byobu стоит обратить внимание
На скрине как раз строка с вкладками снизу. Но созданием-удалением пока пользуюсь стандартным.
Хорош, но меня раздражает неработающие функциональные клавиши в mc. Вроде как можно отключить их перехват, но почему-то не работает. Не в курсе как решается?
Как-то не доводилось mc использовать на сервере и не натыкался. Фигасе они затупили )
В меню настроек(F6) что-то было про Change keybinding set.
Да, keybinding менял и отключал его, но то ли лыжи, толи я…
Пользуюсь вот таким PS1 (два последних каталога отображается + бранч в git)

PROMPT_DIRTRIM=2
PS1='${debian_chroot:+($debian_chroot)}\[\033[00;32m\]\u\[\033[01m\]@\[\033[00;36m\]\h\[\033[01m\]:\[\033[00;35m\]\w\[\033[00m\]\[\033[01;33m\]`git branch 2>/dev/null|cut -f2 -d\* -s`\[\033[00m\]\$ '


Выглядит вот так:
image
let "cnt = `echo ${#hosts_scp[@]}` % 8 + 30"
PS1_hostcolor=$cnt


:-)
Хорошая штука, но я назначаю цвета ещё и по смыслу — в данном случае красный — цыет хоста, находящегося очень далеко, и в случае чего ехать через полгорода до него :)
Тогда на правах совсем уж шутки:
i=0
for host in ${hosts_scp[@]} ; do
  let i+=1
  pingIth[i]=$(echo "scale=3; `ping -c 1 ${hosts_scp[i]} | grep 'time=' | awk {'print $8;'} | awk -F '=' {'print $2;'}`" | bc)
done

— сортируем и присваиваем цвета.
Ещё можно через geoip посчитать расстояния :)
Пол города — это еще не очень далеко, да.
есть и другой путь — версионирование + github.
плюс синхронизация конфигурационных файлов например, для emacs.
Когда количество машин достигнет 30 — вы запаритесь на каждую копировать кофиги и начнете привыкать к тому, что установлен по умолчанию %)
А все рюшечки будут актуальны только на 2-3 машинах, на которых постоянно ведется работа и с которых будете заходить на 30 оставшихся.
Когда количество машин 30 и больше вы просто используете какую-нибудь автоматизацию.
А если сделать так, то вся ахинея с ~/.bashrc будет заключаться в чтении массива:

— экспортируем переменную MYCOLORSID шелла
— в шелле при запросе к ssh через alias скрипт считавает значение ~/.aliascolors для хоста и отдает его запущенному процессу ssh
— ~/.bashrc на удаленной машине читает протащенный $MYCOLORSID и устанавливает $PS1

НЛО прилетело и опубликовало эту надпись здесь
а я просто храню свои конфиги на гитхабе, зачем усложнять?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории