Fish ShellからデフォルトのUbuntu motdを取得する

Fish ShellからデフォルトのUbuntu motdを取得する

Fish ShellにUbuntu MOTDをインストールしたいです。

Ubuntuのデフォルト値は次のとおりです。

基本Ubuntu MOTD

これは基本的にターミナル(ロードされたターミネータ)を開いたときに見られると予想されます。魚の魚)私が知っている限り(情報によると)ここ)、デフォルトのシェルはpam_motdを実行し、pam_motdは順番に/ etc / update-motd.dにある複数のスクリプトを実行します。

私は魚の殻でこれを自信を持って行う方法がわかりません。検索してみても情報がありませんね。

乾杯

答え1

これをあなたの~/.config/fish/config.fish

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

これにより、リモートログイン時にデュアルモードを受け取ることがなくなります。

答え2

上記のすべての実行は起動時に発生し、設定ファイルにファイルを生成します/etc/motdcat /etc/motd次へ追加

cat /etc/motd

ファイルとして~/.config/fish/config.fish

/B2S

答え3

fishshellドキュメントから:

初期化後に fish_greeting という関数が存在すると、対話型モードに入ると実行されます。それ以外の場合は、fish_greetingという環境変数がある場合は印刷されます。

これは fish_greeting を設定する際にデフォルトのヘルプテキストをオーバーライドします。

適切に設定されたUbuntuシステムでは、今日のメッセージは/etc/update-motd.dの一連のスクリプトによって生成され、/run/motdにキャッシュされます。したがって、以下を追加できます~/.config/fish/config.fish

function fish_greeting
    cat /run/motd
end

答え4

Debian-basedたとえば、Ubuntuhasは/etc/issue\ n \ lのようなエスケープコードセットであり、別のコードからログインしようとすると/ etc / issueの内容を見ることができますtty。もちろん、これは可能であればMOTDシステムを使用しない場合です。

関連情報