ログイン時にUbuntuが表示する詳細をいつでも見る方法は?


27

ubuntuシステムにログインすると、このメッセージが表示されます。いつでも表示できますか?私は走ろうとしました. .bashrcが、うまくいきませんでした。

Welcome to Ubuntu 12.10 LTS (GNU/Linux 3.2.0-24-virtual x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Sat Jul 13 06:16:35 UTC 2013

  System load:  0.55              Processes:           96
  Usage of /:   8.1% of 68.74GB   Users logged in:     0
  Memory usage: 55%               IP address for eth0: 198.xx.xxx.xxx
  Swap usage:   0%                IP address for eth1: xxx.1x0.xx.xxx

  => There is 1 zombie process.

  Graph this data and manage this system at https://landscape.canonical.com/

223 packages can be updated.
134 updates are security updates.

Last login: Mon Jul  8 17:47:05 2013 

残念なことに、これを達成するための標準的なコマンドが実際に存在せず、その方法は頻繁に変更されるため、受け入れられた答えとその置き換えはすでに廃止されています!
nealmcb

回答:


16

このメッセージたいときは、いつでも表示することができます- メートルを essage O F T彼はdは AY -ターミナルで次のコマンドを使用して:

cat /etc/motd

または、より良い:

for i in /etc/update-motd.d/*; do if [ "$i" != "/etc/update-motd.d/98-fsck-at-reboot" ]; then $i; fi; done

ターミナルを開くたびにこのメッセージを表示する場合は、~/.bashrcファイルの最後に上記の行のいずれかを挿入するだけです(gedit ~/.bashrcコマンドで開くことができます)。

の/ etc / motdには、それらをすべての電子メールメッセージを送信するよりも効率的な方法で、すべてのユーザーに共通のメッセージを送信するために使用される「今日のメッセージ」を、含まれているUnixライクなシステム上のファイルです。

詳細:http : //en.wikipedia.org/wiki/Motd_(Unix)

関連:/ etc / motdはどのように更新されますか?


同じですが、より短い放電エラーメッセージ(/etc/update-motd.dの内容が時々変更されるなど):for i in /etc/update-motd.d/*; do $ i 2> / dev / null; 行って
luis_js

cat /etc/motd他の人が指摘したように、残念ながらもうできません。そして、それはそれ以来2回変わっています。(これを行う標準コマンドがないのはなぜですか?)
nealmcb

32

変わったようです。Ubuntu 16.04ではありません/etc/motdが、cat /var/run/motd.dynamic代わりにできます。


1
Ubuntu 14.04ではこの方法を使用する必要がありました。
J・スミス

9
/var/run/motd.dynamicこれは、ログイン時に最後に実行されたときのキャッシュされた静的出力であることに注意してください。ライブ出力を実際に見るには、それを生成するスクリプトを実行する必要があります。このスクリプトは/etc/update-motd.d(この記事の執筆時点ではUbuntu 16.04.4 LTS上)
アーロンウォレンティン

Ubuntu 19.04の時点で、現在はcat /var/run/motd.dynamic.new
Adam Erickson

7

Ubuntuはログイン時にこれを実行します。

/usr/bin/landscape-sysinfo

次のコマンドを使用して、ターミナルから簡単に実行できます。

landscape-sysinfo

面白い。しかし、それは完全なmotdの一部にすぎません。
nealmcb

3

私が見るように、あなたはまだハッシュモードを有効にしていません。ハッシュモードログインを有効にすると、前のソリューションの回答は機能しません。

あなたは見ることができますmotdいずれかでメッセージ/var/run/motd.dynamic/run/motd.dynamic、そのユーザーがログインした最後の時間に生成された非静かモード。どちらのファイルも同じiノードを指しているため、ハードリンクです。

ハッシュモードでログインしない場合、ログインすると情報は静的になります。システムにログインする最初のユーザーであり、ファイルがある場合、ファイルは生成されません.hushlogin.hushloginファイルを持っていないユーザーがいる場合、そのファイルにアクセスしようとすると、古いコンテンツが表示されます。

私が考えることができる最も良い方法は、.hushlogin単にすることによって作成することtouch ~/.hushloginです。

.bashrcファイルを編集し、@ RaduRădeanuが指摘したように内容を追加します。

for i in /etc/update-motd.d/*; do if [ "$i" != "/etc/update-motd.d/98-fsck-at-reboot" ]; then $i; fi; done

したがって. .bashrc、実行するたびに、静的メッセージの代わりに新しいメッセージが表示されます。

注:.bashrcは、すべての非ログインインタラクティブシェルに対して実行されるため、を入力してインタラクティブシェルを開くと、このメッセージが表示されますbash


2

これはPAMによって管理され、を介し/etc/pam.d/loginmotd(今日のメッセージ)を探していると思います。

を使用して、そのメッセージの静的部分を作成できますcat /etc/motd。私はあなたが示す動的な部分を持っていないので、それを手伝うことはできません。


2

何度か述べたように、以下のスクリプト/etc/update-motd.dはログイン時に表示される典型的な出力を提供します。をご覧くださいupdate-motd(5)。しかし、自分でスクリプトを作成することにより、車輪を再発明する必要はほとんどありません。run-parts(8)代わりに使用します。これは、まさにその目的のために提供されています。

sudo run-parts /etc/update-motd.d

これはpam_motd(8)、ユーザー認証の後、ユーザーログインシェルを開く直前に、rootとして実行されているPAMモジュールの機能です。通常、1つ以上のスクリプトをルートとして実行する必要があるため、をそのままにしないでsudoください。そうしないと、エラーが発生する可能性があります。


1

システム情報のためにlandscape-sysinfoを実行し、

/usr/lib/update-notifier/update-motd-updates-available

パケットに関する情報。


明らかにこれは、ランドスケープがインストールされている場合にのみ機能します。これは商用の(無料ではない)ツールです(知らない人向け)。
20:30の

私は得る:find: ‘/var/lib/apt/lists/partial’: Permission deniedそしてmktemp: failed to create file via template ‘/var/lib/update-notifier/tmp.XXXXXXXXXX’: Permission denied
nealmcb

1

その出力は、フォルダーにあるスクリプトによって生成されるように見えます/etc/update-motd.d
そのディレクトリに移動すると、さまざまな情報に対して個別のスクリプトを実行できます。またはあなたが(使用して、リリースごとに異なるように見える、実際にその情報を取得するために実行しているコマンドを参照するためのスクリプトのソースを見ることができるcatような、またはテキストエディタ、nanopicoemacsvim、など)。

例:

$ ll /etc/update-motd.d/
total 44
drwxrwxr-x   2 root root 4096 Feb 25 21:27 ./
drwxr-xr-x 110 root root 4096 Feb 25 21:33 ../
-rwxr-xr-x   1 root root 1220 Oct 22  2015 00-header*
-rwxr-xr-x   1 root root 1157 Jun 14  2016 10-help-text*
-rwxr-xr-x   1 root root  334 Jan 12 14:30 51-cloudguest*
-rwxr-xr-x   1 root root   97 May 24  2016 90-updates-available*
-rwxr-xr-x   1 root root  299 Jul 22  2016 91-release-upgrade*
-rwxr-xr-x   1 root root  111 May 11  2017 97-overlayroot*
-rwxr-xr-x   1 root root  142 May 24  2016 98-fsck-at-reboot*
-rwxr-xr-x   1 root root  144 May 24  2016 98-reboot-required*
-rwxrwxr-x   1 root root 1204 Jan 15 19:11 99-one-click*

この情報は、このドキュメントの執筆時点およびUbuntu 16.04.4 LTSの時点で最新のものです。


1

アーロン・ウォレンティーンの答えは、私が解決策に導いた。「その出力は、フォルダーにあるスクリプトによって生成されるように見えます/etc/update-motd.d。そのディレクトリーに移動すると、さまざまな情報に対して個別のスクリプトを実行できます。」

フォルダー内の各スクリプトは、/etc/update-motd.dログイン時に名前の番号順に実行されます。私の例としては:

10-header 30-sysinfo  32-site  35-motd  98-autoreboot-warn

それぞれを個別に実行して、データを表示できます。例えば:

cd /etc/update-motd.d
sudo ./10-header  or  sudo ./30-sysinfo**

次のようにすべて一緒に実行できます。

sudo /etc/update-motd.d/10-header ; sudo /etc/update-motd.d/30-sysinfo ; ...;(セミコロン)記号を 使用してコマンドをリンクします。

しかし、それをすべて入力したい人は、その長いリンクされたコマンド文字列をシェルスクリプトに変えました。

binディレクトリに移動します。

cd /bin

ファイルを作成し、「clr」という名前を付けました。これは、画面をクリアするために使用しているので、何でも呼び出してください。

sudo touch clr

スクリプトを実行可能にします。

sudo chmod +x clr

私はnanoを使って私のものを編集しました。お気に入りを使います:

sudo nano clr

次に、以前の長いコマンド文字列をファイルに追加します。異なるので、私のものではなくmotdファイルを使用することを忘れないでください。

clear ; sudo /etc/update-motd.d/10-header ; sudo /etc/update-motd.d/30-sysinfo ; sudo /etc/update-motd.d/ ; sudo /etc/update-motd.d/32-site ; sudo /etc/update-motd.d/35-motd ; sudo /etc/update-motd.d/98-autoreboot-warn

それを保存して、あなたのmotdが新しく更新されるのを見るたびに実行してください。私が私のものに追加clear ;したことに注意してください clr

私はそれがすべてだと思う、それが誰かを助けることを願っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.