Thứ Tư, 12 tháng 3, 2014

[Mẹo nhỏ] Đổi màu cho tên người dùng và/hoặc tên máy tính trên Terminal

Đặt vấn đề:
Sau một loạt bài viết của HTTL, từ khi các bạn đã bắt đầu được tiếp xúc với sức mạnh của *nix thông qua Terminal với bài Cài ứng dụng trên *nix ..như hacker qua Terminal, cho đến bài *nix step6c hay *nix step7, các bạn đã thấy rằng, hóa ra giao tiếp với *nix qua lệnh (command) không hề khó khăn như mình tưởng tượng.

Lệnh của *nix rất chi là ..con người, theo đúng phương châm Human being của Linux, giống như lệnh xem lịch, bạn chỉ cần gõ 'cal' (viết tắt của calendar), hay để thử hỏi xem ..mình là ai, bạn có thể gõ 'whoami' (who am I)...

Nhưng..
nhưng vấn đề là, khi gõ nhiều lệnh vào Terminal, chúng ta thường hay rối mắt, và khó quan sát nơi dòng lệnh bắt đầu, ví dụ như hình chụp sau của HTTL's *nix:



Cách giải quyết:
Đổi màu cho tên người dùng (username) và tên máy tính (computer name, hay chính là host name).
Ví dụ ở *nix của HTTL:
  • usr name = httl;
  • host name = GVE (Great Viet Empire).

=> Cần đổi màu cho dòng usr@host (u@h).

Cách làm:
+ Sửa tập tin .bashrc bằng 'vi', 'gedit' hay một chương trình soạn thảo văn bản nào đó:
gksudo gedit ~/.bashrc

+ Tìm dòng:
force_color_prompt=yes
Nếu trước nó còn ký tự comment '#' thì xóa nó đi:

+ Sau đó tìm dòng (có thể ấn Ctrl+F để tìm văn bản cho nhanh):
if [ "$color_prompt" = yes ]; then

Bên dưới dòng vừa tìm thấy, sẽ là dòng đại loại như:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

Đó chính là nơi chúng ta thay màu cho usr@host (viết tắt là u@h).
Tiền tố đi trước chính là màu của u, màu của @ hay màu của host, với bảng mã màu theo quy ước cho bash là:
Black 00;30 
Dark Gray 01;30
Blue 00;34 
Light Blue 01;34
Green 00;32 
Light Green 01;32
Cyan 00;36 
Light Cyan 01;36
Red 00;31 
Light Red 01;31
Purple 00;35 
Light Purple 01;35
Brown 00;33 
Yellow 01;33
Light Gray 00;37 
White 01;37

Ta có thể thay màu, ví dụ:
++ Thay màu u (usr) bằng màu xanh biển blue:
[033[00;34m\]\u

++ Thay màu @ bằng màu ..đỏ:
[033[00;31m\]\@

++ Thay màu h bằng màu ..vàng:
[033[01;33m\]\h

+ Sau khi sửa, ta được:
PS1='${debian_chroot:+($debian_chroot)}\[\033[00;34m\]\u\[\033[00;31m\]@\[\033[00;33m\]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

+ Lưu lại file .bashrc rồi đóng Terminal lại:

+ Nếu chỉnh sửa tốt, các bạn sẽ có kết quả tương tự như sau:

Chúc các bạn thành công <3

Không có nhận xét nào:

Đăng nhận xét