জিএনইউ স্ক্রিন উইন্ডোটির নাম পরিবর্তনের উপদ্রব


13

আমি অফিসে পরিচালনা করি এমন প্রাথমিক সার্ভারগুলিতে প্রাক-খোলার এসএসএইচ সংযোগ সহ একটি স্ক্রিন সেশন পপআপ করতে চাই। আমি এই উইন্ডোজগুলির প্রত্যেককে একটি খুব সংক্ষিপ্ত নাম দিয়ে থাকি, সাধারণত 2-4 টি অক্ষর, তাই সেগুলি আমার নামগুলির সাথে আমার পর্দার স্থিতি বারে উপস্থিত হয়। সুতরাং আমি মত একটি স্ক্রিন এন্ট্রি পাবেন

0$ jen1 ...

এখন, যখন আমাকে সেই সার্ভারে স্যুইচ করতে হবে এবং ডিরেক্টরি তালিকা আনার মতো সাধারণ কিছু করতে হবে, হঠাৎ সেই নামটি প্রসারিত হয়ে যায়

0$ ghellings@devjenkins01

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

 (0*$ ghellings@devjenkins01:/opt/somepackage/software/subdirectory)

আমি এটি কেবল সক্রিয় স্থিতি পরিবর্তন করতে চাই যাতে এটি সর্বদা হয় হয়

`0$ jen1` or `(0*$ jen1)`

আমার পক্ষে উইন্ডোটির নামটি তালাবন্ধ করার এবং এটি পরিবর্তন করা রোধ করার কোনও উপায় আছে?

উত্তর:


8

আমি এটি आरএইচএল 7 পরীক্ষার প্রথম দিকে পেয়েছি এবং এটি আমার বাদাম চালায়। আমি যে বিষয়টি আবিষ্কার করেছি তা হ'ল /etc/bashrcআরএইচইএল 7- এ একটি পরিবর্তন হয়েছিল যা উইন্ডোটির নামকরণের কারণ screenএবং tmuxযখনই কোনও কমান্ড পছন্দ cdবা lsচালিত হয় তখনই পরিবর্তন ঘটে । বিভাগের স্ক্রিনে *)

if [ -e /etc/sysconfig/bash-prompt-screen ]; then
    PROMPT_COMMAND=/etc/sysconfig/bash-prompt-screen
else
## RHEL 7
    PROMPT_COMMAND='printf "\033k%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'

## RHEL 6
    PROMPT_COMMAND='printf "\033]0;%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
fi

সুতরাং RHEL 7 এ পরিবর্তনটি ছিল ] 0 থেকে ; থেকে k PROMPT_COMMAND বিভাগে।

আমি একটি বাগ খোলার বিষয়টি বিবেচনা করেছি, তবে এটির কাছাকাছি আসেনি। আমি সাধারণত একটি তাজা ইনস্টল এ নিজেই এটি পরিবর্তন।

  • ফর্ম্যাটিং আপডেট করার জন্য পরিবর্তন করা হয়েছে

6

সম্ভবত, আপনার PROMPT_COMMANDমত কিছু পরিবর্তনশীল সেট আছে

printf "\033k%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"

আমার ঠিক এটি একটি সেন্টোস 7 সিস্টেমে আছে। এটি প্রতিটি কমান্ডের পরে এক্সটার্ম উইন্ডো শিরোনাম সেট করে, যা screenউইন্ডো শিরোনাম হিসাবে ব্যবহার করে।

কেবল PROMPT_COMMANDআপনার আনসেট করুন .bashrcবা /etc/bashrcএটি সেট না করার জন্য সম্পাদনা করুন ।


এটি আরও স্থায়ী করতে নীচে দেখুন।
গণিত

2

আপনি যদি পরীক্ষা করেন .bashrcবা /etc/bashrc, আপনি দেখতে পারেন ifবা এর caseসাথে সম্পর্কিত screen

আমার ক্ষেত্রে এটি এমন কিছু ছিল:

if [ -e /etc/sysconfig/bash-prompt-screen ]; then
    PROMPT_COMMAND=/etc/sysconfig/bash-prompt-screen
else
    PROMPT_COMMAND='printf "\033k%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
fi

অধীনে case $TERM inমধ্যে /etc/bashrcফাইল।

সমস্যাটি হ'ল আমার কাছে ফাইলটি নেই /etc/sysconfig/bash-prompt-screenতাই এর PROMPT_COMMANDঅধীনে elseব্যবহার করা হয়।

আমি কেবল একটি খালি /etc/sysconfig/bash-prompt-screenফাইল তৈরি করেছি তারপরে স্ক্রিন উইন্ডোগুলির শিরোনামগুলি গতিশীলভাবে আর পরিবর্তন হয় না!


খালি ফাইলটি সম্পাদনযোগ্য করে তুলতে হবে বা প্রতিবার বাশ চালু হওয়ার সময় আপনি একটি সতর্কতা পাবেন (যেমন প্রত্যেকের জন্য লগইন এ)।
গণিত
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.