Получите человечность по умолчанию motd в оболочке рыбы

Трудно сказать, работает ли это, на самом деле не тестируя его. Я захватил бы Живой CD, соответствующий версии Debian, Вы хотите выполнить и протестировать его. Debian подчеркивает устойчивость, и поэтому это - выпуски, обычно отстает когда дело доходит до версий ядра и других приложений. Это означает, что они не могли бы работать, в то время как более актуальные дистрибутивы как, например, Ubuntu 10.4 выпуск сервера LTS (или невыпущенные версии Debian, как Sid) может работать лучше.

3
22.08.2012, 19:45
5 ответов

Поместите это в ваш ~ / .Config / fish / config.fish :

function fish_greeting
  status --is-login
  if [ $status != 0 ] 
    cat /run/motd.dynamic
  end 
end

Это убедится, что вы не получите двойной MOTD при удаленном режиме.

3
27.01.2020, 21:13

все выполнение, которое Вы упоминаете, происходит при начальной загрузке, они производят файл /etc/motd просто cat /etc/motd в Вашем файле конфигурации, т.е. добавляют

cat /etc/motd

в файл ~/.config/fish/config.fish

/B2S

2
27.01.2020, 21:13
  • 1
    Спасибо!, К сожалению, тот единственные продукты желанное примечание и ссылка на документацию. Это не выполняет те сценарии, которые выполняются –  eggonlegs 30.08.2012, 04:24
  • 2
    действительно, они не выполняются оболочкой удара, но процедурой загрузки. В некоторых случаях они также будут диспетчером пакетов или подобный, чтобы сообщить, что существуют обновления, и т.д. для выполнения их вручную выполненный: run-parts --lsbsysinit /etc/update-motd.d > /run/motd –  Born2Smile 30.08.2012, 05:02
  • 3
    Когда я ssh в удаленно, я получаю тот текст обновления и т.д (в ударе). Я предполагаю, что смущен оболочками входа в систему и этажеркой. –  eggonlegs 01.09.2012, 13:26
  • 4
    История идет: Когда машина загружается, все скрипты в/etc/update-motd.d запущены для создания/etc/motd, thenafter каждый раз, когда Вы запускаете оболочку входа в систему, через говорят, что ssh, оболочка входа в систему (в этом ударе случая) отобразит содержание/etc/motd. Таким образом, удар не выполняет сценариев сам, он просто отображает содержание/etc/motd, когда Вы входите в систему. У Вас может быть любая оболочка, делают это, если оболочка не сделает этого по умолчанию, просто добавьте cat /etc/motd к *емкостно-резистивный файл той оболочки. См. мой ответ выше для того, как сделать это в оболочке рыбы. Если то, что Вы действительно хотите, должно изменить оболочку для рыбалки, просто chsh –  Born2Smile 02.09.2012, 14:07

От рыбы окружают документацию:

Если функция, названная fish_greeting, будет существовать то после инициализации это будет выполнено при переходе к интерактивному режиму. Иначе, если переменная среды, названная fish_greeting, будет существовать, то это будет распечатано.

При установке fish_greeting это переопределяет текст справки по умолчанию.

В правильно установке система Ubuntu, сообщение дня создается с рядом сценариев в/etc/update-motd.d и кэшируется в/run/motd. Таким образом, можно добавить к ~/.config/fish/config.fish:

function fish_greeting
    cat /run/motd
end
2
27.01.2020, 21:13

Debian-based такой как Ubuntu имеет /etc/issue , Это может набор управляющего кода, такого как \n \l, Когда Вы пытаетесь войти в систему от другого tty Вы будете видеть содержание/etc/issue. Конечно, это - когда возможный Вы не используете систему MOTD.

0
27.01.2020, 21:13

Для Ubuntu 18.04 и более поздних версий с доступной командой /usr/sbin/update-motdвведите следующее в.config/fish/functions/fish_greeting.fish:

function fish_greeting
  set stamp "$HOME/.motd_shown"
  # Only display this information in interactive/not login shells
  if not status is-login; and status is-interactive
    # Also, don't display if.hushlogin exists or MOTD was shown recently
    if [ ! -e "$HOME/.hushlogin" ]; and [ -z "$MOTD_SHOWN" ]; and not find $stamp -newermt 'today 0:00' 2> /dev/null | grep -q -m 1 '.'
      [ (id -u) -eq 0 ]; or set SHOW "--show-only"
      update-motd $SHOW
      touch $stamp
      export MOTD_SHOWN=update-motd
    end
  end
  set -e stamp
end

Приведенный выше скрипт для оболочки рыбы основан на /etc/profile.d/update-motd.sh, включенном в пакет show-motd. Он учитывает файл .hushloginв вашем домашнем каталоге и показывает MOTD только один раз в день. Это мой первый скрипт оболочки рыбы, поэтому могут быть некоторые ошибки -, но, похоже, пока он работает нормально.

1
18.12.2020, 21:28

Теги

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