Tên người dùng đầy đủ trong đầu


8

Trên hệ thống của chúng tôi, tên người dùng có thể dài tối đa 20 ký tự. Nhưng các toplệnh chỉ hiển thị 8 ký tự đầu tiên.

Làm thế nào tôi có thể cấu hình topđể hiển thị toàn bộ tên người dùng?

Tại thời điểm này, chúng tôi sử dụng: phiên bản Procps hàng đầu 3.2.8 (linux)

Nhưng một triển khai hàng đầu khác nhau có thể được cài đặt.

Hệ thống lâu đời nhất chúng tôi cần hỗ trợ là:

Linux foohost 2.6.37.1-1.2-desktop #1 SMP PREEMPT 2011-02-21 10:34:10 +0100 x86_64 x86_64 x86_64 GNU/Linux

1
Bạn đang ở trên nền tảng nào? Sử dụnguname -a
Kevdog777

1
@ Kevdog777 Tôi đã cập nhật câu hỏi và thêmuname -a
guettli

Câu trả lời:


6

Nhìn vào các nguồn của top, có vẻ như có tối đa 8 ký tự được mã hóa cứng:

1223    static FLD_t Fieldstab[] = {
1229          keys   head           fmts     width   scale  sort   desc                     lflg
1230         ------  -----------    -------  ------  -----  -----  ----------------------   -------- */
1235       { "EeDd", " USER    ",   " %-8.8s",  -1,    -1, SF(URE), "User Name",            L_EUSER  },

Các fmtscột là một printfchuỗi định dạng. %-8.8scó nghĩa là chuỗi đệm trái có kích thước tối thiểu và tối đa là 8.


2

Có vẻ như hiện tại không có cách nào để làm điều này như bạn yêu cầu với các chương trình thiết bị đầu cuối. Những gì bạn yêu cầu không phải là mới và thực sự nằm trong htopdanh sách yêu cầu tính năng, nhưng nó đã diễn ra trong một năm rưỡi và chưa có cột mốc nào được thiết lập để thực hiện điều này. Không có dấu hiệu nào cả top. 2 tùy chọn có thể là:

1) Hai thiết bị đầu cuối

Bạn có thể nói với top (ví dụ: bạn có thể sử dụng fkhi nó chạy) để hiển thị UID không phải tên. Nếu bạn đã chia thiết bị đầu cuối của mình thành 2 trường như với terminatorhoặc screensau đó bạn có thể chạy đầu trong màn hình lớn hơn phía trên và truy vấn tên người dùng ở phía dưới, ví dụ:

awk -v val=1000 -F ":" '$3==val{print $1}' /etc/passwd

thay thế bất cứ UID nào bạn muốn tìm kiếm 1000. Tất nhiên, bạn có thể gói nó trong một tập lệnh bash rất nhỏ để bạn chỉ nên nhập một vài chữ cái của tên tập lệnh và UID. Ngoài ra nếu bạn đang nói về người dùng không phải là người dùng cục bộ, bạn có thể sử dụng getent passwdlàm đầu vào cho awk thay vì tệp / etc / passwd - như vậy:

getent passwd | awk -v val=1000 -F ":" '$3==val{print $1}'

2) tùy chọn ps

Bạn có thể sử dụng ps để cung cấp cho bạn 15 quy trình nặng nhất của CPU và chúng thuộc về ai. Bạn có thể thay đổi số lượng các quá trình của khóa học.

ps -ef | egrep -v "STIME|$LOGNAME" | sort -k4 -r | head -n 15 | colrm 100

Giải trình:

ps -ef                     gives you all processes 
egrep -v "STIME|$LOGNAME"  removes the header line
sort -k4 -r                sorts by the CPU column in reverse (biggest on top)
head -n 15                 gives you first 15 lines of above
colrm 100                  restricts each line of output to 100 characters 

Lệnh cuối cùng hữu ích vì một số chương trình sch như google chrome có các dòng tùy chọn rất dài sau lệnh, vì vậy đầu ra của bạn sẽ khó đọc nếu bạn không cắt các dòng.


2

Thực sự không thể giúp bạn với các phiên bản cũ hơn 3.2.x nhưng trong các phiên bản mới hơn (ví dụ: chắc chắn là 3.3.10 và tôi nghĩ rằng nó đã quay trở lại 3.3.4), bạn có thể điều chỉnh kích thước của các cột cố định. Chìa khóa bạn đang tìm kiếm là vốn X.

Để sử dụng tính năng này, đầu tiên bắt đầu hàng đầu. Lý tưởng nhất, nhưng không cần thiết, bạn sẽ "nhường chỗ" cho cột của mình bằng cách xóa các cột khác hoặc mở rộng thiết bị đầu cuối của bạn. Sử dụng f để hiển thị danh sách trường của bạn và bỏ chọn những gì bạn không cần. Khi bạn hài lòng với lựa chọn trường, nhấn q để quay lại danh sách quy trình.

Sau đó sử dụng lệnh X yêu cầu bạn tăng bao nhiêu chiều rộng, nói chung -1 hoạt động tốt. Bạn có thể nhận được hiệu ứng "phát triển cột" kỳ lạ này nhưng sau một vài lần giới thiệu, bạn có thể thấy tên người dùng đầy đủ.

  PID USER          PR    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND     
 3775 libvirt-qemu  20 4667404 960508  14724 S   6.1  5.9 188:04.01 qemu-syste+ 
 3825 Debian-gdm    20 1516152 114924  64404 S   2.7  0.7   1:52.09 gnome-shell 

Lưu ý rằng tên lệnh hiện đã bị cắt ngắn (kết thúc bằng dấu +) vì tên người dùng của chúng tôi dài hơn và đã đẩy các cột khác sang phải. Cho dù bạn có nghĩ rằng đây là một ý tưởng tốt hay không phụ thuộc vào những gì bạn đang tìm kiếm.

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.