আমি কীভাবে জিএনইউ স্ক্রিনটিকে আমার প্রম্পটটি পুনরায় সেট করতে বাধা দেব? [বন্ধ]


13

আমি যখন স্ক্রিন চালাই তখন এটি আমার প্রম্পটকে পরিবর্তন করে। আমি কীভাবে এই আচরণটি রোধ করব? উদাহরণ স্বরূপ:

$ echo $PS1
\[\e]0;\h:Prod\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$
$ screen
$ echo $PS1
[\u@\h \W]\$

মজার বিষয় হচ্ছে এটি অন্যান্য মেশিনে এটি করে না। প্রশ্নযুক্ত মেশিনটি রেডহ্যাট 4 আপডেট 4, স্ক্রিন সংস্করণ সহ 4.00.02 (এফএইউ) 5-ডিসেম্বর -03।

উত্তর:


16

আপনার .স্ক্রিনআরসি ফাইলটিতে (ধরে নেই এটি ইতিমধ্যে সেখানে রয়েছে) যুক্ত করার চেষ্টা করুন:

শেল - EL শেল

আপনি যখন কোনও স্ক্রিন সেশন শুরু করবেন বা এর মধ্যে থেকে অন্য টার্মিনাল তৈরি করবেন এটি আপনাকে লগইন শেল দেবে।


1
আমার .স্ক্রিনআরসিআরটিতে আমার 'শেল / বিন / বাশ' ছিল, সম্ভবত এটি 'শেল - / বিন / বাশ' হওয়া উচিত ছিল বা আপনি কী সরবরাহ করেছিলেন।
স্বুগান

2

প্রম্পট সেট করার আগে অনেক বিতরণ টার্মিনালের ধরণটি পরীক্ষা করে check উদাহরণস্বরূপ, উবুন্টুতে ডিফল্ট .bashrc এ এই ছোট্ট রত্ন রয়েছে:

# অভিনব প্রম্পট সেট করুন (বর্ণহীন, যদি না আমরা জানি যে আমরা "রঙ" চাই)
কেস "ER TERM" ইন
    xterm-color) color_prompt = হ্যাঁ ;;
esac

যেহেতু স্ক্রিনটি তার নিজস্ব টিআরএম ভেরিয়েবল ("স্ক্রিন") ব্যবহার করে, তাই বাশ মনে করেন যে এটি কোনও অভিনব রঙের প্রম্পট প্রদর্শন করতে সক্ষম নয় তাই এটি সাধারণের চেয়ে ডিফল্ট হয়। স্ক্রিন অবশ্যই সাধারণ টার্মিনাল হিসাবে একই জটিল অনুরোধে সম্পূর্ণরূপে সক্ষম।

সুতরাং, এই আচরণটি ওভাররাইড করার জন্য, আপনার ~/.bashrcফাইলের শেষে আপনার পছন্দসই পিএস 1 বিকল্পগুলি হার্ড-সেট করুন। অথবা, যদি আপনি সাহসী বোধ করেন তবে TERM ভেরিয়েবলের মান যাচাই করে পরীক্ষা করুন এবং "xterm-color" এর সাথে "স্ক্রিন" গ্রহণ করতে এটি পরিবর্তন করুন।


1

সম্ভবত এটি একটি স্বনির্ধারিত পরিবর্তনশীল যা ~ / .screenrc ফাইলটিতে সেট করা আছে?


1
হ্যাঁ, বিশ্বব্যাপী বা ব্যক্তিগত screenrc মধ্যে setenv PS1 জন্য চেক
ব্যাসার্ধ

4
এবং কি স্বনির্ধারিত পরিবর্তনশীল হবে? উত্তর না জানা থাকলে উত্তর দেবেন না।
স্বুগান

0

স্ক্রিনসিআর সহ SHELL -$SHELLকোনও মেশিনে একই সমস্যা ছিল (স্ক্রিনে আর কাস্টম প্রম্পট নেই) setenv PS1এবং বাশার্কে (বোবা) টার্মিনালের জন্য কোনও বিশেষ পরীক্ষা ছিল না।

ব্যবহৃত $ TERM সেট করা হচ্ছে:

$ echo $TERM
urxvt-unicode-256color

স্ক্রিনসিআর-এ স্ক্রিনের অধীনে থাকা অবস্থায় আমার কাস্টম প্রম্পটটি ফিরে পেয়েছিল:

- #term xterm-256color
+ term urxvt-unicode-256color

পিএস: অন্য অ্যাকাউন্টে এর জন্য কোনও প্রয়োজন নেই, তবে ডায়ারকলারগুলির জন্য বাশার্ক পরীক্ষা এবং একটি আধুনিক টার্মিনাল এভাবে 1 :

if [[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] ; then
PS1=<my fancy prompt>

আমি বিশ্বাস করি এটি কাজ করে:

if [ "$TERM" != "dumb" ]; then
PS1=<my fancy prompt>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.