Thiết bị đầu cuối đầy màu sắc hoặc bàn điều khiển?


8

Tôi yêu màu sắc trong bảng điều khiển của mình và tôi tự hỏi liệu có cách nào để có được một thiết bị đầu cuối không (tôi đoán chỉ có một phần mềm có thể làm điều đó) in hầu hết mọi thứ bằng màu sắc. Tất nhiên có những --color=autothứ, nhưng nó hoạt động cho một vài lệnh ( ls, grep...?). Những gì tôi muốn, là một cái gì đó nhiều màu sắc hơn, cũng hoạt động cho các lệnh không được tạo ra để sử dụng màu sắc, tôi không biết nếu nó có thể.

Chẳng hạn, có MobaXTerm cho Windows (một cái gì đó giống như Cygwin) sử dụng rất nhiều màu sắc. Tất nhiên đó không chỉ là một thiết bị đầu cuối, mà còn là một phần mềm hoàn chỉnh (một lớp khác) ... có lẽ đó là cách duy nhất để có được thứ gì đó được tô màu nghiêm túc?

Bất kỳ đầu mối sẽ được thực sự đánh giá cao.



Cảm ơn mọi người đã trả lời, nhưng đó thực sự không phải là điều tôi đang tìm kiếm. Tôi muốn một cái gì đó không cần thay đổi thói quen của tôi. Giống như một phần mềm đầu cuối áp dụng màu cho đầu ra ...
Guillaume Fenollar

1
Một cái vỏ thì sao? Hãy nhìn vào fish, vỏ tương tác thân thiện .
manatwork

Câu trả lời:


6

Cảm ơn mọi người vì tất cả các câu trả lời, nhưng không ai phù hợp với nhu cầu của tôi. Tôi muốn một cái gì đó không xâm phạm, và tôi đã tìm thấy nó trong cw. Đây là một phần mềm đẹp mà bạn cần thêm vào lúc bắt đầu PATH của bạn. Vì vậy, tất nhiên, nó không hoạt động với mọi lệnh (chỉ những lệnh đã được xác định), nhưng kết quả trông rất đẹp! Hãy xem thử nếu bạn quan tâm: http://freecode.com/projects/cw


3

Bạn cũng có thể sử dụng đối phó cho điều này.

cope là một trình bao bọc xung quanh các chương trình xuất ra một thiết bị đầu cuối, để cung cấp cho chúng màu sắc cho tiện ích và tính thẩm mỹ trong khi vẫn giữ chúng giống nhau ở cấp độ văn bản.

Cảm ơn giải pháp đó. Nó gần giống với 'cw', ngoại trừ, IMO, cw dễ cài đặt hơn. Nhưng đó là cùng một màu sắc và gần như cùng một lĩnh vực nổi bật. Hơn nữa, cw có gần một trăm lệnh có thể, trong khi đối phó có ~ 40.
Guillaume Fenollar


1

Một cái gì đó tôi thường làm là dẫn đầu ra của các lệnh hoặc tệp nhật ký không sử dụng màu sắc thông qua một tập lệnh nhỏ làm nổi bật chúng theo các quy tắc khớp với văn bản nhất định. Perl đặc biệt giỏi trong việc này.

Đây là một ví dụ nhỏ:

#!/usr/bin/perl -n

BEGIN {
  $exp = shift @ARGV;
  $color = shift @ARGV;
  die "Use: colourize regexp colour" unless $color;
}

if (/$exp/) {
  print"\e[${color}m";
}

print;

if (/$exp/) {
  print "\e[0m";
}

Lưu cái này như colourizemột nơi nào đó trong bạn PATH, chmod +xnó và bạn có thể làm những việc như

command | colourize WARNING 31

để có tất cả các dòng chứa CẢNH BÁO được in màu đỏ. Số 31 là mã màu ANSI cho màu đỏ.


0

Đầu tiên, liên quan đến màu sắc nói chung, kịch bản này có thể bạn quan tâm. Nó hoạt động tốt trong bảng điều khiển (trong một thiết bị đầu cuối, chiều rộng của tab không được đặt chính xác).

#!/bin/bash

setterm -regtabs 4
Color_names="bla red gre yel blu mag cya whi"
Color_arr=($Color_names)

tput setaf 4
tput setab 7
echo -n "            normal             "
tput sgr0

echo -n " "

tput setaf 7
tput setab 4   
echo "            bright             "

tput sgr0
for cmd in sgr0 bold
do
    tput $cmd
    for m in 0 1 2 3 4 5 6 7
    do
        tput setaf $m
        echo -n ${Color_arr[$m]}" "
    done
done
echo

tput sgr0
cat /sys/module/vt/parameters/default_red \
    /sys/module/vt/parameters/default_grn \
    /sys/module/vt/parameters/default_blu | sed s/,0/", "/g | \
    sed s/^0/" "/g | \
    tr "," "\t"

Thứ hai, bạn có thể làm nhiều hơn với ls chứ không chỉ --color=auto. Nhưng, nó đòi hỏi một số công việc để sắp xếp mọi thứ. Tôi đã viết một kịch bản để tạo điều kiện cho sự hiểu biết, cũng như tô màu các tệp (dựa trên các phần mở rộng của chúng) một cách có hệ thống.

Nếu quá lâu để dán, hãy kiểm tra nó ở đây .

#!/bin/bash

# must be sourced

# see `man dircolors`
# in particular `dircolors -p > coldb.txt` (-p, --print-database)

# attributes
# 00 = none
# 01 = bold (bright)
# 04 = underscore (white; disables color code)
# 05 = blink (gray background)
# 07 = reverse (color as background)
# 08 = concealed (doesn't do anything)

# colors
R='00;31' # red
G='00;32' # green
Y='00;33' # yellow (brown in my console)
B='00;34' # blue
M='00;35' # magenta
C='00;36' # cyan
W='00;37' # white

# bold (bright)
BR='01;31' # red
BG='01;32' # green
BY='01;33' # yellow
BB='01;34' # blue
BM='01;35' # magenta
BC='01;36' # cyan
BW='01;37' # white

# for di (below) and possible some others
BL='00;30' # black
GR='01;30' # gray

# background
BGBL='40' # blue
BGRE='41' # red
BGGR='42' # green
BGYE='43' # yellow
BGBL='44' # blue
BGMA='45' # magenta
BGCY='46' # cyan
BGWH='47' # white

RS="rs=0"         # reset
DI="di=$BB"       # directory
LN="ln=$C"        # link
MH="mh=00"        # multihardlink (file with more than one link)
PI="pi=$BY;$BGBL" # pipe (FIFO)
SO="so=$BM"       # socket
DO="do=$BM"       # door
BD="bd=$BY;$GBBL" # block device driver
CD="cd=$BY;$BGBL" # character device driver
OR="or=$BR"       # symlink to nonexistent (or non-stat'able) file
SU="su=$W;$BGRE"  # file that is setuid (u+s)
SG="sg=$BL;$BGYE" # file that is setgid (g+s)
CA="ca=$BL;$BGRE" # file with capability
TW="tw=$BL;$BGGR" # dir that is sticky and other-writable (+t,o+w)
OW="ow=$BB;$BGGR" # dir that is other-writable (o+w) and not sticky
ST="st=$BW;$BGBL" # sticky bit dir (+t) and not other-writable
EX="ex=$BG"       # file with execute permission

ARCHIVE="*.tar=$BR:*.tgz=$BR:*.arj=$BR:*.taz=$BR:*.lzh=$BR:*.lzma=$BR:*.tlz=$BR:*.txz=$BR:*.zip=$BR:*.z=$BR:*.Z=$BR:*.dz=$BR:*.gz=$BR:*.lz=$BR:*.xz=$BR:*.bz2=$BR:*.bz=$BR:*.tbz=$BR:*.tbz2=$BR:*.tz=$BR:*.deb=$BR:*.rpm=$BR:*.jar=$BR:*.war=$BR:*.ear=$BR:*.sar=$BR:*.rar=$BR:*.ace=$BR:*.zoo=$BR:*.cpio=$BR:*.7z=$BR:*.rz=$BR"
IMAGE="*.jpg=$BM:*.jpeg=$BM:*.gif=$BM:*.bmp=$BM:*.pbm=$BM:*.pgm=$BM:*.ppm=$BM:*.tga=$BM:*.xbm=$BM:*.xpm=$BM:*.tif=$BM:*.tiff=$BM:*.png=$BM:*.svg=$BM:*.svgz=$BM:*.mng=$BM:*.pcx=$BM"
MOVIE="*.mov=$M:*.mpg=$M:*.mpeg=$M:*.m2v=$M:*.mkv=$M:*.webm=$M:*.ogm=$M:*.mp4=$M:*.m4v=$M:*.mp4v=$M:*.vob=$M:*.qt=$M:*.nuv=$M:*.wmv=$M:*.asf=$M:*.rm=$M:*.rmvb=$M:*.flc=$M:*.avi=$M:*.fli=$M:*.flv=$M:*.gl=$M:*.dl=$M:*.xcf=$M:*.xwd=$M:*.yuv=$M:*.cgm=$M:*.emf=$M:*.axv=$M:*.anx=$M:*.ogv=$M:*.ogx=$M"
AUDIO="*.aac=$BM:*.au=$BM:*.flac=$BM:*.mid=$BM:*.midi=$BM:*.mka=$BM:*.mp3=$BM:*.mpc=$BM:*.ogg=$BM:*.ra=$BM:*.wav=$BM:*.axa=$BM:*.oga=$BM:*.spx=$BM:*.xspf=$BM:"
SOURCE="*.el=$BC:*.c=$BC:*.cpp=$BC"
TEXT="*.txt=$BW"
PDF="*.pdf=$R"
WEB="*.html=$Y:*.htm=$Y:*.css=$W;$BGMA"

TYPES="$ARCHIVE:$IMAGE:$MOVIE:$AUDIO:$SOURCE:$TEXT:$PDF:$WEB"

LS_COLORS="$RS:$DI:$LN:$MH:$PI:$SO:$DO:$BD:$CD:$OR:$SU:$SG:$CA:$TW:$OW:$ST:$EX:"$TYPES

export LS_COLORS

0

một bài viết blog tốt đẹp về màu sắc thiết bị đầu cuối . Ngoại trừ việc sử dụng hỗ trợ màu tích hợp trong các công cụ khác nhau mà nó khuyến nghị grc, Generic Colouriser . Nếu bạn đang sử dụng hệ thống dựa trên Debian, bạn có thể cài đặt nó qua

sudo apt-get install grc

Sau đó, bạn có thể sử dụng đưa ra một lệnh bạn muốn tô màu làm đối số grc, vd

grc head /var/log/syslog

Điều này phụ thuộc vào cấu hình trong /etc/grc.conf để có thể chọn một tệp cấu hình phù hợp để tô màu head /var/log/syslog. Trong trường hợp này, nó hoạt động vì có các dòng trong /etc/grc.conf hướng grcđến tệp cấu hình chính xác, tức là conf.log.

Nếu muốn ép buộc một tệp cấu hình cụ thể trên một đầu ra cụ thể, người ta có thể sử dụng grcat, vd

git diff | grcat conf.diff

mà tô màu đầu ra của git diffvới tập tin cấu hình conf.diff. Các tệp cấu hình tôi đã đề cập là các tệp mặc định đi kèm với các gói nhưng rõ ràng người ta có thể tạo cấu hình riêng.

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.