Tôi có một thiết bị đầu cuối bash đầy màu sắc (ví dụ ls và vim hiển thị màu khi được cấu hình để làm như vậy).
Làm cách nào để có những màu này khi kết nối với máy chủ từ xa qua ssh?
Tôi có một thiết bị đầu cuối bash đầy màu sắc (ví dụ ls và vim hiển thị màu khi được cấu hình để làm như vậy).
Làm cách nào để có những màu này khi kết nối với máy chủ từ xa qua ssh?
Câu trả lời:
Đọc phần phụ dircolors.sh từ cuốn sách "Beyond Linux From Scratch":
Kịch bản lệnh này sử dụng các tệp
~/.dircolors
và/etc/dircolors
để kiểm soát màu của tên tệp trong danh sách thư mục. Họ kiểm soát đầu ra màu của những thứ như ls --color . Giải thích về cách khởi tạo các tệp này nằm ở cuối phần này.cat > /etc/profile.d/dircolors.sh << "EOF" # Setup for /bin/ls and /bin/grep to support color, the alias is in /etc/bashrc. if [ -f "/etc/dircolors" ] ; then eval $(dircolors -b /etc/dircolors) if [ -f "$HOME/.dircolors" ] ; then eval $(dircolors -b $HOME/.dircolors) fi fi alias ls='ls --color=auto' alias grep='grep --color=auto' EOF
Sử dụng kết hợp /unix/9883/how-can-i-run-a-script-immediately-after-connecting-via-ssh và câu trả lời của nik bạn có thể làm:
ssh host.example.com -t '. /etc/profile; . ~/.profile; /bin/bash'
Điều này sẽ thực thi các tập lệnh hồ sơ của bạn khi đăng nhập, sau đó mở một bash shell. Kịch bản hồ sơ của bạn là nơi màu sắc được xác định.
Hoặc, để thuận tiện tối đa, hãy thêm các mục sau vào ~/.ssh/config
tệp của bạn :
Host *
LocalCommand . /etc/profile; . ~/.profile; /bin/bash