سؤال كيفية تغيير عنوان Gnome-Terminal؟


لدي العديد من حالات تشغيل الأجهزة الطرفية في بيئة العمل الخاصة بي ، ما أريده هو تعيين عنوان محدد لكل واحد ، من أجل الحصول على فكرة واضحة عن الغرض الذي تخدمه محطة معينة مثل Apache ، editing_ini ، postgres الخ ...

بالطبع من سطر الأوامر.


142
2018-01-20 13:20


الأصل


بالإضافة إلى تعليق ورد: لا تنسَ "عدم تعيين PROMPT_COMMAND" قبل إرسال سلسلة الهروب تغيير العنوان ، وإلا سيتم فقدان أي تغيير تقوم به بمجرد المطالبة shell التالي. - Jon Green
لسؤال مماثل ل KDE ، انظر stackoverflow.com/questions/8782159/... - naught101
واجهت هذه المشكلة عند التبديل من نظام التشغيل OS X إلى Ubuntu. للحصول على عناوين مخصصة ضمن إعداد متعدد علامات التبويب ، استخدمتها gnome-terminal --load-config معا مع هذا البرنامج النصي لقد كتبت. - halfer
أضف إلى ملف .bashrc في منزلك # set title of current terminal setTerminalTitle(){ echo -ne "\033]0;${1}\007" } alias termttl=setTerminalTitle يمكنك الآن استخدام اسم مستعار للإسم المستعار لتحديد العنوان ، على سبيل المثال ، termttl askubuntu - urmalp


الأجوبة:


  • الطريقة الأكثر سهولة هو اختياره من القائمة الطرفية -> "تعيين العنوان ...".

  • هناك طرق أخرى ومع ذلك ، يمكنك أيضا أن تصدر

    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"'

قد تحتاج أيضًا إلى التعليق على هذه الشفرة في ~ / .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

130
2018-01-20 13:51



تحتاج إلى التعليق أو إزالتها كما ذكرت من أجل تفعيلها! - topless
Ward: PROMPT_COMMAND هو برنامج يهرب. PS1 و PS1 هي سلاسل نصية التي يتم عرضها. في المثال أعلاه ، الأمر الذي يتم تشغيله هو echo، والتي تطبع ببساطة سلسلة. نرى man bash أو manpages.ubuntu.com/bash لمزيد من التفاصيل. - sladen
جنوم الطرفية 3.16.2 يقول Option "--title" is no longer supported in this version of gnome-terminal. - Ivan Kozik
في Gnome 3.18.3 ، لا يوجد إدخال "تعيين العنوان" في القوائم: / - shadi
لأي شخص آخر مرتبك من قبل gobbledegook في الجمل أعلاه ، فهي أحرف هروب ANSI - انظر على سبيل المثال. lihaoyi.com/post/... - WillC


إن إجابة وارد رائعة إذا كنت ترغب في تعيين عنوانك استنادًا إلى ما تستضيفه ، إلخ في كل مرة تفتح فيها مطرافًا. إذا كنت تريد فقط تعيين عنوان بسرعة ، يمكنك فقط تشغيل الارتداد من تلقاء نفسه:

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

أو اكتب نصًا بسيطًا في bash ، على سبيل المثال termtitle

#!/bin/bash

echo -ne "\033]0;${1}\007"

التي يمكنك تشغيل مع termtitle "some title here"


53
2018-05-29 02:20



هذا هو الجواب الذي تبحث عنه - iondiode
أو بالمثل ، يمكننا إضافة اسم مستعار bash عن طريق إضافة أسطر أدناه في ~ / .bash_aliases function set_title() { echo -ne "\033]0;${1}\007" } alias title=set_titleثم استخدم: $ title term_title - sumit
للأسف لا يبدو لي العمل في جنوم الطرفية 3.6.2. - austinmarton
لا يبدو أيضا أن العمل في xterm 322 أو konsole 16.12 ... لا أعرف إذا كان هناك طريقة جديدة ، للأسف :( - naught101
@ 3ocene لا يهم في الواقع في هذه الحالة ، فهي نفس الشيء ، لكنها عادة جيدة للدخول ، لأنه على سبيل المثال ، $var_log و ${var}_log أشياء مختلفة جدًا ، ويمكن أن يسبب الاختلاف أخطاءً في النصوص. - naught101


إذا كنت تستخدم محرر Vim ، فيمكنك أيضًا تمكين هذا الخيار في vimrc الخاص بك:

:set title

الذي يتم تعطيله افتراضيًا. ستقوم بتعيين عناوين محطة باردة تظهر اسم الملف الذي تقوم بتحريره في الوقت الحالي وبعض الأشياء الأخرى.


30
2018-01-20 14:40





من أجل الاكتمال ، أود أن أضيف أنه يمكنك أيضا تعيين gnome-terminal العنوان باستخدام هذا الأمر:

wmctrl -r :ACTIVE: -N "MyWindowTitle"

ستحتاج إلى تثبيت الحزمة wmctrl Install wmctrl أول.


22
2018-01-23 00:57



MyWindowTitle لا تظهر في عنوان المحطة. فإنه يظهر عندما أفعل wmctrl -m. - sureshvv
لاحظ أن wmctrl يغير عنوان النافذة وليس عنوان الجدولة ، في حين يغير حل الحروف التي تم تخطيها عنوان الجدولة. علاوة على ذلك ، يتغير عنوان النافذة إلى عنوان علامة التبويب الأصلي بمجرد التبديل بين علامات التبويب. - redochka


ارغ ، العديد من الإجابات ...

حاولت wmctrl ، والتي تقريبيا عملت ، إلا أنني لم أستطع الحصول عليه لتغيير عنوان الرمز ، على الأقل ليس بشكل دائم.

الحل هو أن PS1 في أوبونتو يحدد العنوان.

الافتراضي PS1 هو

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

... الذي يحدد العنوان في تسلسل الهروب الأول.

وبالتالي ، هناك حلان:

الحل 1: تبسيط PS1 ، ثم استخدم PROMPT_COMMAND

قم بتغيير PS1 إلى شيء بسيط:

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

... ثم استخدم PROMPT_COMMAND:

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

الحل 2: تعديل PS1 مباشرة

ببساطة ، قم بتعديل PS1 بعنوان جديد:

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

16
2018-02-07 03:36



مرحبًا ، أحب إجابتك كثيرًا. هل تمانع في شرح دور ]0; في الكود؟ أعتقد أنني وجدت معنى echo -e '\007 \033' مع ال ascii -o الأمر ... على الرغم من أنني بصراحة لست متأكدًا مما يفعله أحد ... شكرًا ... - isomorphismes


إذا كنت مستخدمًا في Ubuntu ، فيمكنك تغيير عنوان علامة تبويب gnome-terminal باستخدام HUD.

أثناء وجودك في gnome-terminal ، اضغط على Alt لإظهار HUD ، اكتب الأحرف القليلة الأولى ، على سبيل المثال ، "tit" ، وضرب enter واكتب عنوانك الجديد.

هذه طريقة سريعة جدًا وتتجنب استخدام الماوس.


11
2018-06-18 06:55



في الواقع. يحافظ على يديه على لوحة المفاتيح. يتم عرض العنوان الحالي ، لذا من السهل والسريع أيضًا تعديل العنوان الموجود باستخدام هذه الطريقة. - Brent Faust
حلمة الثدي هو فقط للغة الإنجليزية أوبونتو. - törzsmókus
وتمت إزالة الخيار كله :( - törzsmókus
ال F2 المفتاح أيضا يتجنب الفأرة. - isomorphismes


طريقة أخرى لتغيير عنوان gnome-terminal هو باستخدام gconftool-2. هذا يغير العنوان النهائي للمحطة الملف الشخصي محددة ، لذلك يمكن أن يكون لديك ملفات تعريف مختلفة مرتبطة بعناوين مثل "Apache" و "Editing" ، وما إلى ذلك 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.


4
2018-01-03 01:09





حل آخر هو استخدام xdotool لمحاكاة ضربات المفاتيح ، ربما مفيد في البرامج النصية:

  1. ضبط اختصار لوحة المفاتيح في gnome-terminal:

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

    على سبيل المثال assing Shift+Ctrl+Y.

  2. التثبت xdotool إذا لم يكن لديك بالفعل:

    sudo apt-get install xdotool
    
  3. تسلسل الأوامر التالي (الذي يمكنك استخدامه أيضًا في برنامج نصي bash) سيؤدي إلى تعيين عنوان المحطة الطرفية / علامة التبويب (الهروب من المساحات باستخدام \):

    xdotool key ctrl+shift+y 
    xdotool type My\ new\ fabulous\ title
    xdotool key Return
    
  4. [اختياري] يمكنك أيضًا استخدام xdotool إلى e.g. افتح علامة تبويب جديدة وقم بتعيين العنوان باستخدام الأوامر المذكورة أعلاه باستخدام:

    xdotool key ctrl+shift+t
    

    جرِّب إضافة وقت نوم قبل وبعد فتح علامة تبويب جديدة ، على سبيل المثال ، sleep 1 (لانتظار 1 ثانية).

هذا ليس هو الحل الأكثر أناقة ، لكنه عمل بالنسبة لي! الإجابات السابقة لم تنجح في حالتي. أستخدم gnome-terminal في Ubuntu 14.04 وأردت إنشاء برنامج نصي bash.


3
2017-11-12 17:55





لعرض دليل العمل الحالي فقط في العنوان ، جرب هذا في ".bashrc" الخاص بك:

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

أو

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

2
2018-03-16 05:47





في حالة إجبار أي أرواح فقيرة مثلي على استخدام tcsh ، جرّب شيئًا من هذا القبيل في .cshrc:

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

المصدر والمزيد من التفاصيل: http://tldp.org/HOWTO/Xterm-Title-4.html


0
2018-05-02 11:11