Làm cách nào để xem chi tiết Ubuntu hiển thị tại thời điểm đăng nhập bất cứ lúc nào?


27

Khi tôi đăng nhập vào hệ thống Ubuntu của mình, nó hiển thị cho tôi thông báo này, Làm thế nào tôi có thể nhìn thấy nó bất cứ lúc nào? Tôi đã cố chạy . .bashrcnhưng không được.

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 

Thật đáng buồn khi thực sự không có lệnh tiêu chuẩn nào để hoàn thành việc này và các phương thức đó thay đổi thường xuyên đến mức câu trả lời được chấp nhận và thay thế của nó đều đã bị lỗi thời!
nealmcb

Câu trả lời:


16

Bạn có thể hiển thị bất cứ lúc nào khi bạn muốn thông báo này - m essage o f t he d ay - sử dụng lệnh tiếp theo trong terminal:

cat /etc/motd

hoặc tốt hơn:

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

Nếu bạn muốn thấy thông báo này mọi lúc khi bạn mở một thiết bị đầu cuối, chỉ cần chèn một trong các dòng trên vào cuối ~/.bashrctệp (bạn có thể mở nó bằng gedit ~/.bashrclệnh).

Các tin / etc / motd là một tập tin trên Unix-like hệ thống có chứa một "thông điệp của ngày", được sử dụng để gửi một thông điệp chung cho tất cả người dùng, một cách hiệu quả hơn so với gửi tất cả chúng một thông báo e-mail.

Tìm hiểu thêm về: http://en.wikipedia.org/wiki/Motd_(Unix)

Liên quan: Làm thế nào / etc / motd được cập nhật?


Tương tự, nhưng các thông báo lỗi xả ngắn hơn (theo thời gian, nội dung cho /etc/update-motd.d thay đổi): for i in /etc/update-motd.d/*; làm $ i 2> / dev / null; xong
luis_js

cat /etc/motdThật không may, bạn không còn có thể , như những người khác đã lưu ý. Và nó đã thay đổi hai lần kể từ đó. (Tại sao không có lệnh tiêu chuẩn để làm điều này? Thở dài)
nealmcb

32

Hình như nó đã thay đổi. Với Ubuntu 16.04 không có /etc/motdnhưng cat /var/run/motd.dynamicthay vào đó bạn có thể .


1
Tôi đã phải sử dụng phương pháp này trong Ubuntu 14.04.
J Smith

9
Lưu ý rằng đó /var/run/motd.dynamicchỉ là một đầu ra tĩnh được lưu trong bộ nhớ cache của lần cuối cùng được chạy, khi đăng nhập. Để thực sự nhìn thấy đầu ra trực tiếp một lần nữa, bạn phải chạy các tập lệnh tạo ra nó, trong đó /etc/update-motd.d(như bài viết này, trên Ubuntu 16.04.4 LTS)
Aaron Wallentine

Kể từ Ubuntu 19.04, bây giờcat /var/run/motd.dynamic.new
Adam Erickson

7

Ubuntu chạy cái này lúc đăng nhập:

/usr/bin/landscape-sysinfo

Bạn chỉ có thể chạy nó thông qua thiết bị đầu cuối bằng cách sử dụng lệnh sau:

landscape-sysinfo

Hấp dẫn. Nhưng đó chỉ là một phần của motd đầy đủ.
nealmcb

3

Bạn chưa kích hoạt chế độ im lặng như tôi thấy. Nếu bạn bật đăng nhập chế độ im lặng, các câu trả lời trong giải pháp trước đó sẽ không hoạt động.

Bạn có thể thấy motdtin nhắn trong một trong hai /var/run/motd.dynamic/run/motd.dynamicđược tạo ra lần cuối cùng khi người dùng đăng nhập ở chế độ không bị che giấu . Cả hai tệp đều trỏ đến cùng một nút có nghĩa là chúng là các liên kết cứng.

Thông tin là tĩnh khi bạn đăng nhập nếu bạn không đăng nhập ở chế độ im lặng . Tệp không được tạo nếu bạn là người dùng đầu tiên đăng nhập vào hệ thống và nếu bạn có .hushlogintệp. Nếu bạn có một người dùng không có .hushlogintệp, bạn sẽ thấy nội dung cũ khi bạn cố truy cập vào đó.

Cách tốt nhất tôi có thể nghĩ là bằng cách tạo ra một .hushlogincách đơn giản bằng cách làm touch ~/.hushlogin.

Chỉnh sửa .bashrctệp của bạn và thêm nội dung như @Radu Rădeanu đã chỉ:

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

Vì vậy, bất cứ khi nào bạn chạy . .bashrc, bạn sẽ thấy tin nhắn mới thay vì tin nhắn tĩnh.

Lưu ý: .bashrcđược thực thi cho tất cả các vỏ tương tác không đăng nhập và do đó bạn sẽ thấy thông báo này khi bạn mở một vỏ tương tác bằng cách nhập bash.


2

Tôi cho rằng điều này được quản lý bởi PAM, thông qua /etc/pam.d/login, tìm kiếm motd(tin nhắn trong ngày).

Bạn có thể tạo phần tĩnh của tin nhắn đó với cat /etc/motd. Tôi không có phần động mà bạn thể hiện, vì vậy tôi không thể giúp với điều đó.


2

Như đã lưu ý một vài lần, các tập lệnh bên dưới /etc/update-motd.dlà những gì cung cấp đầu ra điển hình được hiển thị khi đăng nhập; thấy update-motd(5). Nhưng có rất ít hoặc không cần phải phát minh lại bánh xe, bằng cách tự viết kịch bản đó. Sử dụng run-parts(8)thay thế, được cung cấp cho mục đích đó:

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

Đây là những gì pam_motd(8)mô-đun PAM làm, chạy dưới quyền root, sau khi xác thực người dùng và ngay trước khi mở vỏ đăng nhập người dùng. Một hoặc nhiều tập lệnh thường cần được chạy dưới quyền root, vì vậy đừng bỏ qua sudo, nếu không bạn có thể sẽ thấy lỗi.


1

Bạn có thể chạy cảnh-sysinfo để biết thông tin hệ thống và

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

để biết thông tin về các gói.


rõ ràng điều này chỉ hoạt động nếu bạn đã cài đặt cảnh quan. Nó là một công cụ thương mại (không miễn phí) (dành cho những người không biết về nó).
aenw

Tôi nhận được: find: ‘/var/lib/apt/lists/partial’: Permission deniedmktemp: failed to create file via template ‘/var/lib/update-notifier/tmp.XXXXXXXXXX’: Permission denied
nealmcb

1

Có vẻ như đầu ra đó được tạo bởi các tập lệnh nằm trong thư mục /etc/update-motd.d;
Nếu bạn đi vào thư mục đó, bạn có thể chạy các tập lệnh riêng lẻ cho các bit thông tin khác nhau; hoặc bạn có thể nhìn vào nguồn gốc của các kịch bản để xem các lệnh nó thực sự chạy để có được thông tin đó, mà dường như thay đổi từ phát hành để phát hành (sử dụng cat, hoặc một trình soạn thảo văn bản, chẳng hạn như nano, pico, emacs, vim, vv).

Thí dụ:

$ 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*

Thông tin này là hiện tại kể từ khi viết bài này và Ubuntu 16.04.4 LTS.


1

Câu trả lời của Aaron Wallentine đã đưa tôi đến giải pháp của mình. "Có vẻ như đầu ra đó được tạo bởi các tập lệnh nằm trong thư mục /etc/update-motd.d. Nếu bạn vào thư mục đó, bạn có thể chạy các tập lệnh riêng lẻ cho các bit thông tin khác nhau."

Mỗi tập lệnh trong thư mục /etc/update-motd.dchạy, tôi tin, theo thứ tự số lượng chúng có trong tên của chúng khi đăng nhập. Một ví dụ của tôi là:

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

Bạn có thể chạy từng cái riêng biệt để hiển thị dữ liệu của họ. ví dụ:

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

Bạn có thể chạy tất cả chúng cùng nhau như thế này:

sudo /etc/update-motd.d/10-header ; sudo /etc/update-motd.d/30-sysinfo ; ... sử dụng ký hiệu ;(dấu hai chấm) để liên kết các lệnh.

Nhưng ai muốn gõ tất cả những thứ đó ra, cuối cùng tôi đã biến chuỗi lệnh được liên kết dài đó thành một tập lệnh shell.

Thay đổi thư mục bin:

cd /bin

tạo một tập tin, tôi gọi tôi là "clr" vì tôi cũng đang sử dụng nó để xóa màn hình của mình, hãy gọi bất cứ thứ gì:

sudo touch clr

Làm cho tập lệnh của bạn có thể thực thi được:

sudo chmod +x clr

Tôi đã sử dụng nano để chỉnh sửa của tôi, sử dụng yêu thích của bạn:

sudo nano clr

Sau đó, thêm chuỗi lệnh dài đó từ trước vào tệp của bạn, hãy nhớ sử dụng các tệp motd của bạn, không phải của tôi, vì chúng sẽ khác nhau:

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

Lưu nó và chạy nó bất cứ khi nào để xem motd của bạn được cập nhật mới, lưu ý tôi đã thêm clear ;vào của tôi, vì vậy khi tôi gõ clrnó sẽ xóa màn hình của tôi và hiển thị số liệu thống kê được cập nhật.

Tôi nghĩ đó là tất cả những gì tôi có, hy vọng nó sẽ giúp được ai đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.