ম্যান পেজগুলিতে রঙ


63

আমি যখন আমার 'কনসোল' তে কোনও ম্যান পেজ xtermদেখি ( আন না ) আমি কিছু রঙিন দেখতে পাই, তবে আমি এটি আমার xterm(উদাহরণস্বরূপ konsole) এ পাই না আমি কি এটি সক্ষম করার কোনও উপায় আছে? আশা করি মোটামুটি সহজ সমাধান?

উত্তর:


78

আপনার termcap(5)বৈশিষ্ট্যটি ব্যবহার করা দরকার । কিছু ইউনিসির ম্যান পেজ বলছে যে এই সরঞ্জামটি অপ্রচলিত এবং ব্যবহারযোগ্য terminfo, তবে এটি এখনও অন্যের কাছে উপলব্ধ (এবং terminfoআরও জটিল)।

আরও গুরুত্বপূর্ণ, lessব্যবহার termcap


এর জন্য রঙ নির্ধারণ করা হচ্ছে less

আমি নিম্নলিখিতটি করি যাতে lessএবং man(যা ব্যবহার করে less) রঙ পেতে পারে:

$ cat ~/.LESS_TERMCAP 
export LESS_TERMCAP_mb=$(tput bold; tput setaf 2) # green
export LESS_TERMCAP_md=$(tput bold; tput setaf 6) # cyan
export LESS_TERMCAP_me=$(tput sgr0)
export LESS_TERMCAP_so=$(tput bold; tput setaf 3; tput setab 4) # yellow on blue
export LESS_TERMCAP_se=$(tput rmso; tput sgr0)
export LESS_TERMCAP_us=$(tput smul; tput bold; tput setaf 7) # white
export LESS_TERMCAP_ue=$(tput rmul; tput sgr0)
export LESS_TERMCAP_mr=$(tput rev)
export LESS_TERMCAP_mh=$(tput dim)
export LESS_TERMCAP_ZN=$(tput ssubm)
export LESS_TERMCAP_ZV=$(tput rsubm)
export LESS_TERMCAP_ZO=$(tput ssupm)
export LESS_TERMCAP_ZW=$(tput rsupm)
export GROFF_NO_SGR=1         # For Konsole and Gnome-terminal

এবং তারপরে আমার মধ্যে ~/.bashrc, আমি এটি করি:

# Get color support for 'less'
export LESS="--RAW-CONTROL-CHARS"

# Use colors for less, man, etc.
[[ -f ~/.LESS_TERMCAP ]] && . ~/.LESS_TERMCAP

দ্রষ্টব্য: ভেরিয়েবলের উপর ডকুমেন্টেশনLESS_TERMCAP_* দেখুন ? কিভাবে এটি কাজ করে।

চূড়ান্ত ফলাফল

    ম্যান পেজ এর এসএস


7
আমি বিশ্বাস করি যে এটি যেভাবে এটি কাজ করে তার কারণ, কারণ 'কনসোল' 'আন্ডারলাইন' রঙে অনুবাদ করে, যেখানে এক্স 11 স্টাফ আন্ডারলাইনগুলিকে সমর্থন করে। আপনি এই তত্ত্বটি echo -e "\e[04mhello world\e[0m"কনসোল এবং আপনার এক্স 11 টার্মিনাল উভয় টাইপ করে এবং পার্থক্যটি দেখে পরীক্ষা করতে পারেন । সুতরাং উপরের এই হ্যাকটি গালাগালি / আন্ডারলাইনটির জন্য নির্ধারিত কোডগুলি এবং এটির পরিবর্তে রঙিন এ্যাস্কেপ কোডগুলি তৈরি করতে বাধ্য করে সে সম্পর্কে কম মিথ্যা বলার জন্য টার্মক্যাপ অপব্যবহার করে term
কেন্ট ফ্রেড্রিক

7
প্রকৃতপক্ষে, নীল বর্ণরেখার অনূদিতটির historicতিহাসিক কারণ রয়েছে, মূল পিসি গ্রাফিক্স অ্যাডাপ্টার এমডিএ এবং সিজিএর পাঠ্য মোডে ফিরে যাওয়া (আসলে সিজিএ পাঠ্য মোডগুলি এখনও তারিখের জন্য উপলব্ধ)। এই গ্রাফিক্স অ্যাডাপ্টারগুলি চরিত্র অনুসারে দুটি বাইট সংরক্ষণ করেছে: একটি ASCII কোড ধারণ করে, একটি বৈশিষ্ট্য ধারণ করে। এমডিএ গুণমানের বাইটটি আন্ডারলাইন, উজ্জ্বল, ঝলকানি এবং বিপরীত সংমিশ্রণ হিসাবে ব্যাখ্যা করেছে, যখন সিজিএ সেই বাইটটিকে অগ্রভূমি এবং পটভূমির রঙ হিসাবে ব্যাখ্যা করেছে। এবং এটি ঘটেছিল যে এমডিএ বৈশিষ্ট্যটি আন্ডারলাইনের জন্য সিজিএ অ্যাট্রিবিউটকে ব্লু অন ব্লু করে দিয়েছে।
celtschk

3
এটি কনসোল বা জিনোম-টার্মিনালে কাজ করে না। আমি সেগুলি সেট করেছি, এবং একমাত্র রঙ পরিবর্তন কর্সার এবং স্থিতি পৃষ্ঠার জন্য। আমি সক্রিয় আউট আমি প্রয়োজন: export GROFF_NO_SGR=1
সিএমসিডিগ্রাগনকাই

2
এটি প্রচুর সাব-শেল তৈরি করেছে। এই সহজ পদ্ধতির উপর সুবিধা কী ?
টম হ্যালে

1
@ টমহেল, মূলত ক্রস-সিস্টেম / টার্মিনাল সামঞ্জস্যতা (এবং অন্যদের সাথে স্ক্রিপ্টটি ভাগ করে নেওয়ার ক্ষমতা যাতে স্পষ্ট নয়)। আপনি যদি নিজেকে এমন কোনও বাক্সে কাজ করতে দেখেন যা বিভিন্ন কন্ট্রোল কোড ব্যবহার করে এবং আপনি নিজের শেল প্রোফাইলটিকে স্কিপ / আরএসএনসিঙ্ক করেন, যখন নিয়ন্ত্রণ কোডগুলি উদাহরণের মতো সমস্ত হার্ড-কোডেড থাকে, তখন তারা গন্তব্যে প্রত্যাশা অনুযায়ী কাজ করতে পারে না মেশিন, এবং আপনি গার্ল্ড আউটপুট সঙ্গে শেষ করতে পারে। অবশ্যই, যদি স্ক্রিপ্টটি কেবলমাত্র এক বা দুটি পরিচিত মেশিন / টার্মিনাল-ইমাসে চলতে থাকে, তবে হার্ড-কোডেড পদ্ধতির ঠিক আছে।
মার্ক জি।

15

উদাহরণস্বরূপ, আপনি আলাদা পেজার ব্যবহার করে এই সমস্যাটি সমাধান করতে পারেন mostmanপ্রকৃতপক্ষে PAGERপরিবেশ পরিবর্তনশীলে উল্লিখিত প্রোগ্রামটি ব্যবহার করবে । থেকে মানুষ (1) man পৃষ্ঠা:

ম্যানপাগার, পেজার

যদি $ MANPAGER বা $ PAGER সেট করা থাকে (ference MANPAGER পছন্দ হিসাবে ব্যবহৃত হয়), এর মানটি ম্যানুয়াল পৃষ্ঠাটি প্রদর্শনের জন্য ব্যবহৃত প্রোগ্রামটির নাম হিসাবে ব্যবহৃত হয়। ডিফল্টরূপে পেজার-গুলি ব্যবহৃত হয়।

মানটি একটি সাধারণ কমান্ডের নাম বা আর্গুমেন্ট সহ একটি কমান্ড হতে পারে এবং শেল উদ্ধৃতি (ব্যাকস্ল্যাশ, একক উদ্ধৃতি বা ডাবল উদ্ধৃতি) ব্যবহার করতে পারে।

এটি একাধিক কমান্ড সংযোগ করতে পাইপ ব্যবহার করতে পারে না; আপনার যদি এটির প্রয়োজন হয় তবে একটি মোড়ক স্ক্রিপ্ট ব্যবহার করুন, যা ফাইলটিকে একটি যুক্তি হিসাবে বা স্ট্যান্ডার্ড ইনপুট হিসাবে প্রদর্শিত হতে পারে।

যদি mostআপনার সিস্টেমে ইনস্টল করা থাকে তবে চালু করার আগে এটি ব্যবহার করে দেখুন man:

export PAGER=most

2
mostএটি কাজ করার জন্য ইনস্টল করা উচিত।
enzotib

3
mostঅদ্ভুত কীবাইন্ডিংস রয়েছে ... যা কনফিগারযোগ্য নয়।
মতিন উলহাক

10

ডিফল্টরেখাগুলি আমার চোখকে আঘাত করে। এই সেটআপটি আমার পৃষ্ঠাগুলি manপড়ার ক্ষেত্রে ব্যাপক উন্নতি করে :

রঙিন ম্যান পৃষ্ঠা উদাহরণ

আপনার `~ .Bashrc 'এ নিম্নলিখিতগুলি যুক্ত করুন:

# Have less display colours
# from: https://wiki.archlinux.org/index.php/Color_output_in_console#man
export LESS_TERMCAP_mb=$'\e[1;31m'     # begin bold
export LESS_TERMCAP_md=$'\e[1;33m'     # begin blink
export LESS_TERMCAP_so=$'\e[01;44;37m' # begin reverse video
export LESS_TERMCAP_us=$'\e[01;37m'    # begin underline
export LESS_TERMCAP_me=$'\e[0m'        # reset bold/blink
export LESS_TERMCAP_se=$'\e[0m'        # reset reverse video
export LESS_TERMCAP_ue=$'\e[0m'        # reset underline
export GROFF_NO_SGR=1                  # for konsole and gnome-terminal

জয়ের জন্য, দস্তাবেজে আপনার শতাংশ প্রদর্শন করতে export MANPAGER='less -s -M +Gg' (উত্স) সাথে একত্রিত করুন ।


3
@ সিএমসিডিগ্রাগনকাই যেমন অন্য উত্তরে একটি মন্তব্যে উল্লেখ করেছেন, এর জন্য export GROFF_NO_SGR=1কিছু টার্মিনাল এমুলেটরগুলিতে কাজ করা দরকার ।
বেন

1
জয়ের জন্য !! আমি% প্রদর্শন export MANPAGER='less -s -M +Gg'যুক্ত ভালবাসি ।
মাইকি

5

আপনি যদি ওহ মাই জেড ব্যবহার করেন তবে colored-man-pagesআপনি pluginsআপনার .zshrcফাইলের অ্যারেতে যুক্ত করতে পারেন ।


3

অবিচ্ছিন্নভাবে 'সর্বাধিক' সংরক্ষণ করুন

টার্মিনাল খুলুন ( Ctrl+ Alt+ T)

  1. 'সর্বাধিক' ইনস্টল করুন।

    sudo apt-get install most
    
  2. .bashrc সম্পাদনা করুন, টাইপ করুন:

    nano ~/.bashrc
    
  3. এই লাইনগুলি যুক্ত করুন:

    # color man-pages persistently
    export PAGER='most'
    
  4. সংরক্ষণ

    ( Ctrl+ O) -> Enter-> ( Ctrl+ X)

  5. সতেজ করা

    source ~/.bashrc
    
  6. পরীক্ষা

    man ln
    

এটি এক্সটার্মেও কাজ করে।


ন্যানো খোলার এড়ানোর জন্য, আপনি টার্মিনাল থেকে বাশার্কে সংযুক্ত করতে পারেন: সুডো বেশিরভাগ ইনস্টল করুন; প্রতিধ্বনি "এক্সপোর্ট PAGER = 'সর্বাধিক'" >> ~ / .bashrc; উৎস ~ / .bashrc
উইল

1

Http://nion.modprobe.de/blog/archives/569-colored-manpages.html থেকে নেওয়া

উদ্ধৃতাংশ:

$ mkdir ~/.terminfo/ && cd ~/.terminfo

এখন terminfoবিবরণটি পান (নিম্নলিখিতটি সর্বাধিক পছন্দ হিসাবে সংরক্ষণ করুন):

# Reconstructed via infocmp from file: /usr/share/terminfo/x/xterm-pcolor
mostlike|manpages with color looking like most, 
    am, hs, km, mir, msgr, xenl, 
    cols#80, it#8, lines#24, wsl#40, 
    acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
    bel=^G, bold=\E[1m\E[31m, clear=\E[H\E[2J, cr=^M, 
    csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, 
    cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, 
    cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, 
    dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, 
    dsl=\E]0;\007, ed=\E[J, el=\E[K, enacs=\E)0, fsl=^G, 
    home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J, 
    is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, kbs=^H, 
    kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
    kdch1=\E[3~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, 
    kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, 
    kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, 
    kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, 
    kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, 
    kfnd=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, 
    kslt=\E[4~, rc=\E8, rev=\E[7m\E[34m, ri=\EM, rmacs=^O, 
    rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E[?1l\E>, 
    rmso=\E[m, rmul=\E[m, 
    rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>, sc=\E7, 
    sgr0=\E[m, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h, 
    smkx=\E[?1h\E=, smso=\E[1;30m\E[47m, smul=\E[32m, 
    tbc=\E[3g, tsl=\E]0;, u6=\E[%i%d;%dR, u7=\E[6n, 
    u8=\E[?1;2c, u9=\E[c, 

এখন এটি tic(টার্মিনো এন্ট্রি-ডেসক্রিপশন সংকলক) ব্যবহার করে সংকলন করুন :

$ tic mostlike.txt

(আপনি mostlike.txtসংকলনের পরে ফাইলটি মুছতে পারেন ))

এবং তারপরে *rcআপনার পছন্দের শেলের ফাইলটিতে একটি উপাত্ত সংজ্ঞা দিন ।

$ alias man="TERMINFO=~/.terminfo/ LESS=C TERM=mostlike PAGER=less man"

আপনি যদি টার্মিনো ফাইলটি সংশোধন করতে চান infocmp mostlikeতবে এর সামগ্রীটি পরে পেতে ব্যবহার করুন ।


11
আপনি যদি উত্সটি এখানে সংক্ষিপ্ত বিবরণ করেন তবে এটি সহায়তা করে, যাতে লোকেরা ক্লিক না করে এটি কী বলে তা দেখতে পারে (এবং সাইটটি কখনই নীচে নেমে আসে)
মাইকেল মরোজেক

3
দয়া করে উত্তরগুলি সরবরাহ করুন, কেবলমাত্র উত্তরের লিঙ্ক নয়। যাইহোক, আপনার উত্তর সমর্থন করে এমন লিঙ্কগুলি সরবরাহ করা খুব ভাল। কল্পনা করুন যে আমি এই প্রশ্নের জন্য গুগলিং করছি --- স্ট্যাকএক্সচেঞ্জের একটি ভাল উত্তর খুব দ্রুত ফলাফলের প্রথম পৃষ্ঠায় পৌঁছে দেবে।
স্টিফান লাসিউইস্কি

লিঙ্কটি মারা গেছে।
ফারজান

এটি mostlike.txtঅনলাইনে পাওয়া গেছে ।
দক্ষ মোদী 15 ই

আউটপুট কেমন দেখাচ্ছে?
টম হেল

1

টেকিং dirtybit এর উত্তর , আমি হাইলাইট সন্ধানের ফলাফলের রং পরিবর্তন করতে চেয়েছিলেন। একে "স্ট্যান্ডআউট মোড" বলা হয়, এখানে একটি উদাহরণ ফাইল "xterm-হলুদ.ti" রয়েছে:

xterm-yellow|yellow standout mode,
# exit standout mode
  rmso=\e[m,
# begin standout mode
  smso=\e[5;30;43m,
# similar terminal
  use=xterm,

ফাইলটি সংকলন এবং ইনস্টল করুন:

tic xterm-yellow.ti

"~ /। প্রোফাইল" বা অনুরূপটিতে লাইন যুক্ত করুন:

TERM=xterm-yellow
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.