জিনোম-টার্মিনাল শিরোনাম কীভাবে পরিবর্তন করবেন?


165

আমার কাজের পরিবেশে টার্মিনালগুলি চলার বেশ কয়েকটি উদাহরণ রয়েছে, নির্দিষ্ট টার্মিনালটি অ্যাপাচি, এডিটিং_নি, পোস্টগ্রিস ইত্যাদি কী উদ্দেশ্যে কাজ করে তা সম্পর্কে একটি পরিষ্কার ধারণা পাওয়ার জন্য আমি প্রতিটিটির জন্য একটি নির্দিষ্ট শিরোনাম নির্ধারণ করতে চাই ...

অবশ্যই কমান্ড লাইন থেকে।


ওয়ার্ডের মন্তব্যে আরও: শিরোনাম-পরিবর্তন পালানোর ক্রমটি প্রেরণের আগে "PROMPT_COMMAND আনসেট" করতে ভুলবেন না , অন্যথায় আপনার করা কোনও পরিবর্তন পরবর্তী শেল প্রম্পটের সাথে সাথেই হারিয়ে যাবে be
জন গ্রিন

ডি-ই জন্য একটি অনুরূপ প্রশ্ন জন্য, দেখুন stackoverflow.com/questions/8782159/...
naught101

ওএস এক্স থেকে উবুন্টুতে যাওয়ার সময় আমার এই সমস্যা হয়েছিল। বহু-ট্যাব সেট আপ-এর মধ্যে কাস্টম শিরোনামগুলি পেতে, আমি এই লিখিত স্ক্রিপ্টটিgnome-terminal --load-config একসাথে ব্যবহার করেছি।
অর্ধেক

3
আপনার বাড়ির # set title of current terminal setTerminalTitle(){ echo -ne "\033]0;${1}\007" } alias termttl=setTerminalTitledash বাশার্ক ফাইলটিতে নিম্নলিখিতগুলি যুক্ত করুন এখন আপনি শিরোনাম নির্ধারণের জন্য টার্মটেল ওরফে ব্যবহার করতে পারেন যেমনtermttl askubuntu
urmalp

1
"সুরক্ষিত" তাই আমি কোনও উত্তর সরবরাহ করতে পারি না। Gnome3 gnome-terminalডিফল্ট হয় PROMPT_COMMAND=__vte_prompt_command। এটি প্রিফেসে প্রোফাইলগুলি থেকে মানগুলি ব্যবহার করে। যখন একাধিক প্রোফাইল বিদ্যমান থাকে, নতুন ট্যাব এবং নতুন উইন্ডো মেনু আইটেমগুলির প্রতিটি প্রোফাইলের জন্য একটি সাবমেনু আইটেম থাকে। ম্যানুয়াল ভাবে, একটি নতুন টার্মিনাল ট্যাব খুলুন ডান ট্যাব শিরোনামে ক্লিক করুন, এবং নির্বাচন করা হয় সেট শিরোনাম ... । (এটি একটি পৃথক উত্তরে এত সহজে পড়তে পারে, তবে ...)
ধনী

উত্তর:


145
  • মেনু টার্মিনাল -> "শিরোনাম সেট করুন ..." থেকে সর্বাধিক ব্যবহারকারীর সাথে এটিকে বেছে নেওয়া হচ্ছে।

  • অন্যান্য উপায় আছে তবে, আপনি ইস্যু করতে পারেন

    gnome-terminal --title="SOME TITLE HERE"
    

    আপনার পছন্দসই .bashrcআচরণটি ওভাররাইট করার বড় সম্ভাবনা থাকার কারণে এটি পছন্দসই প্রভাবটি দিতে পারে না ।

  • আমাদের শেষ পদ্ধতিতে নিয়ে আসছি, যা আমি নির্লজ্জভাবে আমার থেকে ছিটকেছি .bashrc

    PROMPT_COMMAND='echo -ne "\033]0;SOME TITLE HERE\007"'
    

অতিরিক্ত রেফারেন্স হিসাবে এটি আমার বিশেষ লাইন .bashrc

PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'

আপনার এই কোডটি আপনার rc / .bashrc- এ মন্তব্য করার প্রয়োজনও হতে পারে

case "$TERM" in
xterm*|rxvt*)
    # JEFFYEE REMOVED because it makes commands to title() not work
    #PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

2
আপনি কার্যকর হওয়ার জন্য মন্তব্য হিসাবে মন্তব্য বা অপসারণ করা প্রয়োজন!
টপলেস

1
@ ওয়ার্ড: চালানোর PROMPT_COMMANDজন্য একটি প্রোগ্রামPS1এবং PS1হয় পাঠগত স্ট্রিং প্রদর্শিত হয় যে। কমান্ডের উপরের উদাহরণে echoযা চালানো হয় তা হ'ল এটি একটি স্ট্রিং প্রিন্ট করে। আরও তথ্যের জন্য দেখুন man bashবা manpages.ubuntu.com/bash
স্লেডেন

29
জিনোম টার্মিনাল 3.16.2 বলেছেনOption "--title" is no longer supported in this version of gnome-terminal.
ইভান কোজিক

10
, Gnome 3.18.3 উপর, সেখানে মেনুতে না "শিরোনাম সেট করুন" এন্ট্রি: /
দয়া

2
উপরের স্ট্রিংগুলিতে গাবলডেগুক
উইলসি

65

ওয়ার্ডের উত্তরটি দুর্দান্ত যদি আপনি প্রতিবার টার্মিনাল খোলার সময় আপনি কী হোস্ট ইত্যাদির উপর ভিত্তি করে আপনার শিরোনাম সেট করতে চান। আপনি যদি দ্রুত কোনও শিরোনাম সেট করতে চান তবে আপনি নিজেই প্রতিধ্বনি চালাতে পারেন:

echo -ne "\033]0;SOME TITLE HERE\007"

বা একটি সাধারণ ফাংশন তৈরি করুন (আপনার ভিতরে ~/.bashrc), বলুনtermtitle

termtitle() { printf "\033]0;$*\007"; }

যা আপনি চালাতে পারেন termtitle some title here


3
বা একইভাবে আমরা বাশ ওরফে হিসাবে ash / .bash_aliases এর নীচে লাইন যুক্ত করে যোগ করতে পারি function set_title() { echo -ne "\033]0;${1}\007" } alias title=set_titleএবং তারপরে ব্যবহার করতে পারি: $ title term_title
murarisumit

11
দুঃখজনকভাবে জিনোম টার্মিনাল ৩.6.২ এ আমার জন্য কাজ করবে বলে মনে হচ্ছে না।
অস্টিনমার্টন

1
Xterm 322 বা কনসোল 16.12 তেও কাজ করবে বলে মনে হচ্ছে না ... দুর্ভাগ্যক্রমে: নতুন পদ্ধতি আছে কিনা তা আমি জানি না :(
naught101

2
@ 3ocene এ ক্ষেত্রে বাস্তবে কিছু যায় আসে না, এগুলি একই জিনিস, তবে এটি প্রবেশ করা ভাল অভ্যাস, কারণ উদাহরণস্বরূপ $var_logএবং ${var}_logখুব ভিন্ন জিনিস, এবং পার্থক্যটি স্ক্রিপ্টগুলিতে বাগ তৈরি করতে পারে।
nnot101

2
যদি এটি আপনার পক্ষে কাজ না করে তবে সম্ভবত এটি PROMPT_COMMAND var বা PS1 var সেট করা আছে এবং এটি অতিরিক্ত চালনা করছে। unset PROMPT_COMMANDবা এটি সেট করুন যাতে এটি শিরোনামও পরিবর্তন করে যেমন export PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "$(basename $PWD)"'
21a18

32

আপনি যদি ভিম সম্পাদক ব্যবহার করেন তবে আপনি নিজের ভিএমআরসিতে এই বিকল্পটি সক্ষম করতে পারেন:

:set title

যা ডিফল্টরূপে অক্ষম। এই মুহুর্তে আপনি সম্পাদনা করছেন এমন ফাইলের নাম প্রদর্শন করে শীতল টার্মিনাল শিরোনাম সেট করবে।


26

সম্পূর্ণতার জন্য, আমি যুক্ত করব যে আপনি gnome-terminalএই আদেশটি ব্যবহার করে শিরোনামও সেট করতে পারেন :

wmctrl -r :ACTIVE: -N "MyWindowTitle"

আপনাকে প্রথমে wmctrlWmctrl ইনস্টল করুন প্যাকেজটি ইনস্টল করতে হবে ।


1
MyWindowTitle টার্মিনালের শিরোনামে প্রদর্শিত হবে না। এটি যখন আমি wmctrl -m করি তা দেখায়।
sureshvv

2
নোট করুন যে wmctrl উইন্ডো শিরোনাম বদলে ট্যাব শিরোনাম পরিবর্তন করে না, তবে পালানো অক্ষরগুলির সমাধান ট্যাব শিরোনাম পরিবর্তন করে। তদুপরি, আপনি ট্যাবগুলির মধ্যে স্যুইচ করার সাথে সাথে উইন্ডো শিরোনামটি মূল ট্যাব শিরোনামে ফিরে আসবে।
redochka

23

আরগ, অনেক উত্তর ...

আমি চেষ্টা করেছিলাম wmctrl, যা প্রায় কাজ করেছিল , আইকন শিরোনামটি পরিবর্তনের জন্য আমি এটি পেতে না পারলে, অন্তত স্থায়ীভাবে না not

সমস্যাটি হ'ল উবুন্টুর বাশে পিএস 1 শিরোনামটি সেট করে।

ডিফল্ট পিএস 1 হ'ল

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ 

... যা প্রথম পালানোর অনুক্রমে শিরোনামটি সেট করে: \e]0;\u@\h: \w\a

সুতরাং, দুটি সমাধান আছে:

সমাধান 1: PS1 সরল করুন, তারপরে PROMPT_COMMAND ব্যবহার করুন

PS1 কে সহজ কিছুতে পরিবর্তন করুন:

PS1="\u@\h:\w\$ "

তারপরে PROMPT_COMMAND ব্যবহার করুন:

PROMPT_COMMAND='echo -ne "\033]0;SOME TITLE HERE\007"'

সমাধান 2: সরাসরি পিএস 1 সংশোধন করুন

কেবল নতুন শিরোনাম সহ PS1 পরিবর্তন করুন:

PS1='\[\e]0;newtitle\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

হাই, আমি আপনার উত্তরটি অনেক পছন্দ করি। আপনি আপনার কোডটিতে ভূমিকা বোঝাতে কিছু মনে করবেন ]0;? আমি মনে করি আমি কমান্ডটির echo -e '\007 \033'সাথে এর অর্থটি খুঁজে পেয়েছি ascii -o... যদিও আমি সত্যই নিশ্চিত নই যে সেখানে কী করছে ... ধন্যবাদ ...
আইসোমর্ফিজমস

2
@ আইসো \eবা \033হ'ল পালাবার (ESC) চরিত্র, যা পালানোর ক্রম শুরু করে। ]একটি অপারেটিং সিস্টেম কমান্ড (ওএসসি) শুরু করে। এক্সটার্মের জন্য, এর 0;অর্থ "শিরোনাম সেট করুন", এবং \aবা \007বেল (বিইএল) অক্ষর যা ওএসসি বন্ধ করে দেয়। আরো তথ্য: en.wikipedia.org/wiki/ANSI_escape_code#Escape_sequences
wjandrea

@wjandrea আমি সমতুল্য পালাবার অক্ষর খুঁজছেন ছিল ( \eএবং \aজন্য) \033এবং \007কিন্তু আমি তাদের কারণ আমি সঠিক কিওয়ার্ড গুগল টাইপ করতে জানেন না খুঁজে পাইনি অবশ্যই। আপনার দেওয়া লিঙ্কটিও কার্যকর। আপনি দয়া করে একটি উত্তর একটি উত্তর রূপান্তর করতে পারেন?
SebMa

10

আপনি যদি উবুন্টু ব্যবহারকারী হন তবে আপনি এইচডিডি ব্যবহার করে একটি জিনোম-টার্মিনাল ট্যাবটির শিরোনাম পরিবর্তন করতে পারেন ।

জিনোম-টার্মিনালে থাকাকালীন, এইচইউডি আনতে আল্টকে হিট করুন, প্রথম কয়েকটি অক্ষর যেমন "শিরোনাম" টাইপ করুন, এন্টার টিপুন এবং আপনার নতুন শিরোনামটি টাইপ করুন।

এটি খুব দ্রুত পদ্ধতি এবং মাউস ব্যবহার করা এড়ানো।


1
প্রকৃতপক্ষে. কীবোর্ডে হাত রাখে। বিদ্যমান শিরোনাম প্রদর্শিত হয়, সুতরাং এই পদ্ধতিটি ব্যবহার করে কেবল বিদ্যমানটিকে সংশোধন করা খুব দ্রুত এবং সহজ।
ব্রেন্ট ফাউস্ট

শিরোনামটি কেবল ইংরেজী উবুন্টুর জন্য।
törzsmókus

এবং পুরো বিকল্পটি সরানো হয়েছে :(
শে

F2কী এছাড়াও মাউস এড়াতে।
isomorphismes

@ törzsmókus আর ফরাসি - titre ;)
wjandrea

3

শিরোনাম পরিবর্তন করার আরেকটি উপায় gnome-terminalহ'ল ব্যবহার করে gconftool-2; এই জন্য প্রারম্ভিক টার্মিনাল শিরোনাম পরিবর্তন প্রফাইল নির্বাচিত, তাই আপনি যেমন 'অ্যাপাচি', 'সম্পাদনার', ইত্যাদি তারপর আপনি লঞ্চ করবে শিরোনাম সঙ্গে যুক্ত প্রোফাইলগুলি ভিন্ন পারে gnome-terminalটার্মিনাল শিরোনাম আপনার নির্দিষ্ট করা ছিল পেতে উপযুক্ত প্রোফাইলের সাথে। এটি বিপরীতে gnome-terminal --title "name"যা টার্মিনাল প্রতি শিরোনাম পরিবর্তন করে, তবে প্রোফাইলে নির্দিষ্ট করা প্রাথমিক শিরোনামকে প্রভাবিত করে না।

কোনও প্রোফাইলের জন্য টার্মিনালের নাম নির্ধারণ করতে আপনি কোনও স্ক্রিপ্টে নীচের কমান্ডটি ব্যবহার করতে পারেন এবং দিনের কিছু সময় আপনি টার্মিনালের পরিবর্তনের নামটি স্মরণ করিয়ে দিতে পারেন:

gconftool-2 --set /apps/gnome-terminal/profiles/Default/title --type=string "Apache"

এটি ডিফল্ট প্রোফাইলের জন্য, তবে আপনি অন্য প্রোফাইলের জন্য শিরোনামটি সেট করে রাখতে পারেন, উদাহরণস্বরূপ, Defaultঅন্য কোনও প্রোফাইলে যেমন Profile0:

gconftool-2 --set /apps/gnome-terminal/profiles/Profile0/title --type=string "Editing"

আমি ভেবেছিলাম শিরোনাম পরিবর্তন করার এই উপায়টি কারণ এটি স্ক্রিপ্টিংয়ে ব্যবহার করা যেতে পারে, বা প্রোফাইলের জন্য শিরোনাম সেট করার জন্য একটি দ্রুত কমান্ড-লাইন উপায় হিসাবে। নোট করুন যে কখনও কখনও আপনাকে gconftool-2সেটিংটি প্রভাবিত হওয়ার জন্য নির্দিষ্ট প্রোফাইলের সাথে টার্মিনালটি পুনরায় চালু করতে হবে। এর জন্য উপলব্ধ সম্পূর্ণ সেটিংস gnome-terminalতালিকাভুক্ত করা যেতে পারে gconftool-2 -R /apps/gnome-terminal


3

আরেকটি সমাধান হ'ল এক্সডটুলটি কী-স্ট্রোকগুলি অনুকরণ করতে ব্যবহার করা যেতে পারে, সম্ভবত স্ক্রিপ্টগুলিতে কার্যকর:

  1. জিনোম-টার্মিনালে একটি কীবোর্ড শর্টকাট সেট করুন:

    Edit > Keyboard Shortcuts... > Terminal > Set Title
    

    উদাহরণস্বরূপ Shift+Ctrl+Y

  2. xdotoolআপনার যদি এটি ইতিমধ্যে না থাকে তবে ইনস্টল করুন :

    sudo apt-get install xdotool
    
  3. নিম্নলিখিত কমান্ডের ক্রম (যা আপনি ব্যাশ স্ক্রিপ্টেও ব্যবহার করতে পারেন) টার্মিনাল / ট্যাব শিরোনাম নির্ধারণ করবে (এর সাথে ফাঁকা স্থানগুলি ছেড়ে \):

    xdotool key ctrl+shift+y 
    xdotool type My\ new\ fabulous\ title
    xdotool key Return
    
  4. [alচ্ছিক] আপনি xdotool ব্যবহার করতে পারেন উদাহরণস্বরূপ একটি নতুন ট্যাব খুলুন এবং উপরের আদেশগুলি দিয়ে শিরোনামটি সেট করে:

    xdotool key ctrl+shift+t
    

    একটি নতুন ট্যাব খোলার আগে এবং পরে ঘুমানোর সময় যুক্ত করার বিষয়টি বিবেচনা করুন, যেমন sleep 1(1 সেকেন্ড অপেক্ষা করার জন্য))

এটি সবচেয়ে মার্জিত সমাধান নয়, তবে এটি আমার পক্ষে কাজ করেছে! পূর্ববর্তী উত্তরগুলি আমার ক্ষেত্রে কার্যকর হয়নি। আমি উবুন্টু 14.04 এ জিনোম-টার্মিনাল ব্যবহার করেছি এবং আমি একটি বাশ স্ক্রিপ্ট তৈরি করতে চেয়েছিলাম।


1

শিরোনামে কেবলমাত্র বর্তমান কার্যনির্বাহী ডিরেক্টরি প্রদর্শন করতে, এটি আপনার '.bashrc' তে চেষ্টা করুন:

PROMPT_COMMAND='echo -ne "\033]0; ${PWD##*/}\007"'

অথবা

PROMPT_COMMAND='echo -ne "\033]0;$(basename ${PWD})\007"' 

0

এটি আমার জিনোম টার্মিনাল 3.18.3 এ কাজ করেছে

আপনার .bashrc ফাইলটি সম্পাদনা করুন এবং এই ফাংশনটি যুক্ত করুন

# Update gnome terminal title
function termtitle() {
    # take argument
    TITLE=$1
    shift
    # update title
    PROMPT_COMMAND='echo -ne "\033]0; $TITLE \007"'
}

sourceআপনার .bashrc ফাইলটি ভুলে যাবেন না

$ source ~/.bashrc

এবং তারপরে আপনি কেবল আপডেট করতে পারবেন আপনি এই জাতীয় টার্মিনাল শিরোনাম পরিবর্তন করতে সক্ষম হবেন:

$ termtitle "MariaDB CLI"

0

আমার উত্তরটি নতুন জবাবের মতো যা আমার পক্ষে কাজ করে নি। প্রাচীনতম উত্তরগুলি আর কাজ করে না। মাঝারি পুরানো উত্তরটি খুব বেশি টাইপ করা তাই আমি আমার ~/.bashrcফাইলে একটি ফাংশন তৈরি করেছি :

function termtitle() { PS1="${PS1/\\u@\\h: \\w/$@}"; }

ফাংশন যোগ বা পরিবর্তন করার পরে বা, আপনি যদি দ্বিতীয়বার শিরোনামটি পুনরায় সেট করতে চান:

. ~/.bashrc
termtitle Special Projects

অন্যথায় দৈনিক ভিত্তিতে কেবল termtitleএকটি নতুন শিরোনাম সহ ব্যবহার করুন ।


-1

আমার মতো কোনও দুর্বল আত্মাকে tcsh ব্যবহার করতে বাধ্য করা হলে, আপনার .cshrc এ এরকম কিছু চেষ্টা করুন:

set prompt='%{\033]0;%n@%m\007%}%~%# '

উত্স এবং আরও বিশদ: http://tldp.org/HOWTO/Xterm-Title-4.html


আমার উত্তরটি কেন নিচে ভোট দেওয়া হয়েছে তার কিছু ইঙ্গিত ভাল
লাগত

-1

যদি আপনি জিনোম 3 ব্যবহার করেন তবে সুবিধাজনক Terminal > Set Titleমেনু বিকল্পটি সরানো হবে। আপনি একটি জিনোম 2 ফোর্কযুক্ত টার্মিনাল ইনস্টল করতে পারেন যার এখনও "সেট শিরোনাম" মেনু বিকল্প রয়েছে এবং পরিবর্তে এটি চালান:

sudo apt-get install mate-terminal

"টার্মিনাল" চালানোর পরিবর্তে "মেট টার্মিনাল" চালান। আপনার সম্ভবত মেট-টার্মিনালটি নির্বাচন করা উচিত sudo update-alternatives --config x-terminal-emulator

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