Ssh প্রস্থান / লগআউটের পরে টার্মিনালের রঙগুলি "রিসেট করুন"


21

আমি যখন কোনও রিমোট সার্ভারে প্রবেশ করি তখন আমি টার্মিনালের রঙ পরিবর্তন করতে পছন্দ করি। আমি এটি করতে settermআমার দূরবর্তী। / .Bashrc ফাইলটিতে ব্যবহার করি । যাইহোক, আমি যখন exit, টার্মিনাল রঙগুলি স্থানীয় রঙগুলিতে পুনরায় সেট করা হয় না।

আমি সমস্যাটি সমাধান করেছি, তবে আমি নিশ্চিত নই যে এটিই সেরা সমাধান। এটিই আমি সামনে আসতে পেরেছিলাম।

রিমোট সার্ভারে। / .Bash_logout এ, আমি রেখেছি:

echo -e "\033[0m"
/usr/bin/clear

কৌতূহলের বাইরে: কেউ কি এর চেয়ে ভাল উপায় জানেন? (আমি http://edoceo.com/liber/linux-bash- Shellecho -e "\033[0m" থেকে লাইনটি পেয়েছি )


2
আমি tputপরিবর্তে রং পরিবর্তন করতে আপনি পরামর্শ দিন । এটা দেখ.
রাম

আপনি কোন রং সেট করছেন এবং কীভাবে? আপনি কি আপনার প্রম্পট বলতে চান ( PS1)?
টেরডন

উত্তর:


37

আরও ভাল:
tput sgr0সাধারণত এর সমতুল্যecho -en "\e[0m"

পার্থক্যটি হ'ল টার্মিটালটি এএনএসআই ব্যতীত টার্মিনাল প্রকারের সাথে মানিয়ে নেবে - এবং এটি সঠিকভাবে সেট আপ করা হয়েছে।

man 5 terminfo আরও কোড ব্যবহার করার জন্য।

সেখানে আপনি 'রিসেট' পাবেন তাই tput resetকাজ করা উচিত।


$ প্রতিধ্বনি -e "\ ই [7 মি টেস্ট \ ই [0 মি"  
 TEST   
$ প্রতিধ্বনি -e "$ (টিপুট রেভ) টেস্ট $ (টিপুট এসজিআর0)"  
 TEST   
$   

(টেস্ট প্রিন্টগুলির অদলবদল / অগ্রভূমির রঙ থাকা উচিত, এখানে এখানে দেখানো যায় না - কেবল "অনুকরণীয়")


এর জন্য আরও একটি বিকল্প খুঁজে পেয়েছে, একটি কম গৌরবময় উপায়:

ইউজ-লিনাক্স (উবুন্টুতে) প্যাকেজে setterm(শেল ইউটিলিটি) রয়েছে।

টাইপ করুন setterm --helpএবং আপনি উপলব্ধ বিকল্পগুলি পাবেন।


এর প্রকৃত আউটপুট tput sgr0

$ tput sgr0 | od -t x1z
0000000 1b 28 42 1b 5b 6d                                >.(B.[m<
0000006

... আপনার টার্মিনালটি কীভাবে সেট আপ করা হয় তার উপর নির্ভর করে

$ set | grep TERM
TERM=xterm-256color

উপরের জন্য।


$ infocmp আনসি
    ফাইল থেকে ইনফোক্যাম্পের মাধ্যমে পুনর্গঠন করা: / lib / টার্মিনফো / এ / অ্যানসি
আনসি | আনসি / পিসি টার্ম রঙের সাথে সামঞ্জস্যপূর্ণ,
    am, mc5i, mir, msgr,
    রং # 8, কলস # 80, এটি # 8, লাইন # 24, এনসিভি # 3, জোড়া # 64,
    acsc = + + \ 020 \, \ 021- \ 030. ^ Y0 \ 333` \ 004a \ 261f \ 370g \ 361h \ 260j \ 331k \ 277l \ 332m \ 300n \ 305o ~ পি \ 304q \ 304r \ 304s_t \ 303u \ 264v \ 301w \ 302x \ 263y \ 363z \ 362 {\ 343 | \ 330} \ 234 ~ \ 376,
    বেল = ^ জি, ঝলকানো = \ ই [5 মি, গা bold় = \ ই [1 মি, সিবিটি = \ ই [জেড, পরিষ্কার = \ ই [এইচ \ ই [জে,
    cr = ^ এম, কিউব = \ ই [% p1% ডিডি, কিউবি 1 = \ ই [ডি, চুড = \ ই [% পি 1% ডিবি, চুদা = = ই [বি,
    সিউফ = \ ই [% পি 1% ডিসি, সিউফ 1 = \ ই [সি, কাপ = \ ই [% i% পি 1% ডি;% পি 2% ডিএইচ,
    cuu = \ E [% p1% dA, cuu1 = \ E [A, dch = \ E [% p1% dP, dch1 = \ E [পি,
    dl = \ E [% p1% dM, dl1 = \ E [M, Ech = \ E [% p1% dX, ed = \ E [জে, এল = \ E [কে,
    এল 1 = \ ই [1 কে, বাড়ি = \ ই [এইচ, এইচপিএ = \ ই [% i% পি 1% ডিজি, এইচটি = \ ই [আই, এইচটিএস = \ ইএইচ,
    ich = \ E [% p1% d @, il = \ E [% p1% dL, il1 = \ E [এল, ইন্ড = ^ জে,
    indn = \ E [% p1% dS, ইনভিস = \ E [8 মি, কেবিএস = ^ এইচ, কেসিবিটি = \ ই [জেড, কেসিবি 1 = \ ই [ডি,
    kcud1 = \ E [বি, কেসিফ 1 = \ ই [সি, কেসিইউ 1 = \ ই [এ, খোম = \ ই [এইচ, কিচ 1 = \ ই [এল,
    এমসি 4 = \ ই [4 আই, এমসি 5 = \ ই [5 আই, নেল = \ আর \ ই [এস, ওপ = \ ই [39; 49 মি,
    rep =% p1% c \ E [% p2% {1}% -% db, রেভ = \ ই [7 মি, রিন = \ ই [% পি 1% ডিটি,
    আরএমএসিএস = \ ই [10 মি, আরএমপিচ = \ ই [10 মি, আরএমএসো = \ ই [এম, আরএমউল = \ ই [মি,
    s0ds = \ E (B, s1ds = \ E) বি, এস 2 ডিএস = \ ই * বি, এস 3 ডি = \ ই + বি,
    setab = \ E [4% p1% dm, setaf = \ E [3% p1% dm,
    SGR = \ ই [0; 10%% P1% T; 7%;%% P2% T; 4%;%% P3% T; 7%;%% P4% T; 5%;%? % P6% T; 1%;%% P7% T; 8%;%% P9% T; 11%; মি,
    এসজিআর 0 = \ ই [0; 10 মি, স্মাটস = \ ই [11 মি, স্মিপচ = \ ই [11 মি, স্মো = \ ই [7 মি,
    smul = \ E [4m, tbc = \ E [3g, u6 = \ E [% i% d;% dR, u7 = \ E [6n,
    u8 = \ ই [?% [; 0123456789] সি, ইউ 9 = \ ই [সি, ভিপিএ = \ ই [% i% পি 1% ডিডি,

SEE ALSO (man pages):
       tic(1) infocmp(1), captoinfo(1), infotocap(1), toe(1),  
       ncurses(3NCURSES), term(5).  terminfo(5).

আরও অনুসন্ধান করুন, এখানে শুরু করুন https://en.wikedia.org/wiki/Terminfo
প্রোগ্রামার এর Ncurses এর গাইড - গুগল বই

দ্রষ্টব্য: ncurses টার্মক্যাপ, টার্মিনো এবং অবশ্যই অভিশাপগুলির জন্য ইন্টারফেস সরবরাহ করে।


echo -e "\e \033 \x1b " | od -t x1z- কোনটি সবচেয়ে বেশি পঠনযোগ্য?
হান্নু

tput sgr0থেকে আলাদা কিছু ফেরত দেয় \e[0m, এটি দেখুন: a=$(tput sgr0); set | grep ^a=এবং ফলাফলটি দেখুন। আপনি কি দয়া করে বলতে পারবেন যে সমতুল্য setterm বিকল্পটি \e[0mকী?
SebMa

নোট করুন \e[0mবা সমান \e[mএএনএসআই টাইপ টার্মিনালের জন্য, tpu sgr0 আপনাকে সম্পূর্ণ আলাদা কিছু দিতে পারে যদি আপনার টার্মিনালটি এএনএসআই না থাকে। আপনি এএনএসআই টার্মিনালের জন্যও নিশ্চিত হতে পারবেন না, কারণ আপনি যা ব্যবহার করছেন সেটি টার্মিনো ডাটাবেসে অন্যভাবে সেট আপ করা যেতে পারে।
হান্নু

TERM=ansi a=$(tput sgr0); set | grep ^a=এবং ফলাফল হয় a=$'\E[0;10m'। এটি থেকে আলাদা দেখাচ্ছে\e[0m
SebMa

হ্যাঁ? "আপনি এএনএসআই টার্মিনালের জন্যও নিশ্চিত হতে পারবেন না, যেহেতু আপনি প্রকৃতপক্ষে ব্যবহার করছেন সেটি সম্ভবত টার্মিনো ডাটাবেসে আলাদাভাবে সেট আপ করা হয়েছিল।" আপনি উপরে দেখতে পারেন যে বৈকল্পিক আছে \e(B\e[m- পার্থক্য আশা!
হান্নু

17

আমি বিশ্বাস করি আপনি "রিসেট" কনসোল কমান্ড সন্ধান করছেন


2
পুনরায় সেট করার সমস্যাটি হ'ল এটি সমস্ত কনসোল সামগ্রী মুছে ফেলে এবং কখনও কখনও এটি আপনি চান না।
নিগলেসিয়াস

3

আপনি এটি রিমোটে ব্যবহার করতে পারেন ash

tput init

এটি একটি ভাল ভাল অনুশীলন হিসাবে প্রতিটি .বাশ_লগআউটে থাকায় ভাল হতে পারে (এবং সম্ভবত ~ /। প্রোফাইলেও)


2

আপনি যদি রিমোট অ্যাকাউন্টের। / .Bashrc এ পছন্দ করেন তবে এটি লগইন করার সময় কার্যকর হয় এবং প্রস্থান করার সময় আপনার স্থানীয় সেটিংসে ফিরে যেতে হবে।


আমিও তাই ভেবেছিলাম. কিন্তু, আমি এসএসএস থেকে বের হয়ে গেলে তারা ফিরে আসেনি। সম্ভবত এটি কারণ আমি .বাশার্কে (জিনোম টার্মিনাল ব্যবহার করে) সেটারমি ব্যবহার করছিলাম। আপনি কি .bashrc এ রঙ স্কিম সেট করার জন্য আলাদা পদ্ধতি ব্যবহার করেন?
dgo.a

আপনি যদি জিনোম ব্যবহার করছেন, আমি ধরে নিচ্ছি আপনি লিনাক্স চালাচ্ছেন। আমি উবুন্টু ব্যবহার করি, তবে আমি অনুমান করছি প্রক্রিয়াটি ডিস্ট্রোস জুড়ে বেশ অনুরূপ। আপনি ফাইলটিকে ব্যাকআপ করতে পারেন তারপরে এটি কোনও পাঠ্য সম্পাদকে খুলুন এবং PS1 = বলার লাইনে শুরু হওয়া সামগ্রীগুলি সম্পাদনা করতে পারেন। আপনি নভেল / কুলসোলিউশনস / টোলস / 17142 এইচটিএমএলে তথ্য পেতে পারেন । এটি আপনাকে .বাশার্ক ফাইলটি সম্পর্কে জানতে চেয়েছিলেন তার চেয়ে বেশি কিছু বলে।
ইয়েজচাক

1
আহ, না। টার্মিনাল সেটিংস আপনি টার্মিনালে যা করছেন তার ভিত্তিতে নয়। তারা যদি স্থানীয়, দূরবর্তী, সোয়াহিলি বা অন্য যে কোনও কিছুতে কাজ করে তবে সেগুলি যত্ন করে না। এটি একটি সরল রাষ্ট্রের মেশিন। যেহেতু আপনি কোনও আদেশে এটি কোনও কিছুর পরিবর্তনের জন্য ব্যবহার করেছেন ... আপনাকে অন্য কোনও কিছুর পরিবর্তনে একটি আদেশ ব্যবহার করতে হবে। আপনার এসএসএস কমান্ডগুলি মোড়ানোর জন্য যদি আপনি কোনও নাম / ফাংশন লিখতে না চান তবে .bash_logout সমাধানটি সেরা উপায়। Blech। সহজ, আপনার সেটিংগুলি (সে যাই হোক না কেন) আপনার PS1 প্রম্পট আউটপুটের অংশ করুন। আপনি যখন কোনও মেশিনে লগইন করবেন, এটি পরিবর্তন হবে, লগ আউট করবেন, পুরানো প্রম্পটটি পুনরায় ইনস্টল করবে।
লার্নিক্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.