ฉันจะตั้งชื่อหน้าต่าง PuTTY เป็นชื่อของเซสชันที่โหลดได้อย่างไร


28

โดยปกติเมื่อคุณโหลดเซสชันที่บันทึกไว้ใน PuTTY และเชื่อมต่อกับมัน PuTTY จะตั้งชื่อหน้าต่างเป็นชื่อโฮสต์ของระบบที่คุณเชื่อมต่อด้วย (รวมถึงสตริง "PuTTY")

ตอนนี้ฉันมีเซสชันที่แตกต่างกันมากมายซึ่งทั้งหมดเชื่อมต่อกับโฮสต์เดียวกัน แต่อยู่บนพอร์ตที่แตกต่างกัน ดังนั้นการดูชื่อโฮสต์จึงไม่เป็นประโยชน์มากเพราะจะเหมือนกันเสมอ

ดังนั้นฉันต้องการ PuTTY เพื่อแสดงชื่อของเซสชันที่โหลดในชื่อหน้าต่าง มีวิธีทำเช่นนี้หรือไม่?

วิธีเดียวที่ฉันสามารถค้นหาคือการตั้งชื่อหน้าต่างด้วยตนเอง (ชื่อหน้าต่าง / พฤติกรรม / หน้าต่าง) แต่ฉันเชื่อว่าฉันต้องทำสิ่งนี้ด้วยตนเองสำหรับแต่ละเซสชันซึ่งค่อนข้างน่าเบื่อ


1
คิตตี้เป็นลูกค้า telnet / SSH ที่ดีที่สุด (ทางแยกของ Putty) และคุณสามารถตั้งชื่อหน้าต่างจากบรรทัดคำสั่งโดยตัวเลือก "-title"
Mareg

คำตอบ:


16

ในการเปลี่ยนชื่อหน้าต่างเซสชัน PuTTY SSH (หนึ่งต่อหนึ่งด้วยตนเองโดย PuTTY GUI):

สำหรับ Windows & Debian

  1. Load เซสชันจาก PuTTY
  2. บนเมนูต้นไม้ด้านซ้ายให้คลิกที่: →WindowBehaviour
  3. ที่แผงด้านขวาในWindow titleกล่องข้อความให้ใส่ชื่อของคุณ
  4. Save เซสชั่น

ในการเปลี่ยนชื่อหน้าต่างเซสชัน PuTTY SSH (สำหรับทุกเซสชันตามบรรทัดคำสั่ง):

สำหรับ Debian 8 (Jessie)

  1. ไปที่โฟลเดอร์ที่ PuTTY เก็บเซสชัน: /home/nolwennig/.putty/sessions

    หมายเหตุ: แทนที่ nolwennig ด้วยชื่อผู้ใช้ของคุณ

  2. กำหนดพารามิเตอร์WinTitleชื่อไฟล์เซสชั่นที่บันทึกไว้สำหรับไฟล์เซสชั่นแต่ละไฟล์ที่บันทึกไว้ด้วยดังนี้:

    find . -type f -exec sed -e 's/^WinTitle=/WinTitle=%f/g' {} \;

    มันทำงานได้ดีถ้าไม่มีการบันทึก WinTitle

สำหรับ Windows

  1. PuTTY เก็บเซสชันในการลงทะเบียน Windows HKEY_CURRENT_USER\Software\Simontatham\PuTTY\Sessions

    หมายเหตุ: อย่าแทนที่ SimonTatham ด้วยชื่อผู้ใช้ของคุณ

  2. คุณสามารถส่งออกส่วนนี้ด้วยคำสั่งเช่นนี้:

    C:> regedit /e "%userprofile%\desktop\putty-registry-sessions.reg" HKEY_CURRENT_USER\Software\Simontatham\PuTTY\Sessions
    
  3. ต้องเป็นไปได้ที่จะสร้างสคริปต์ที่อัพเดตputty-registry-sessions.regไฟล์เพื่อเปลี่ยนค่าของ WinTitle สำหรับแต่ละเซสชันที่บันทึกไว้


แหล่งที่มาและแรงบันดาลใจ:


ฉันรู้ว่าฉันสามารถทำได้ - มันถูกกล่าวถึงในคำถามของฉันพร้อมกับเหตุผลที่ฉันกำลังมองหาวิธีการแก้ปัญหาที่แตกต่างกัน
sleske

ฉันอัปเดตคำตอบของฉันด้วยสคริปต์เล็กน้อย
Nolwennig

1
ไอเดียที่ดีกับสคริปต์ อย่างไรก็ตาม AFAIK, Putty โดยค่าเริ่มต้นเก็บเซสชันในรีจิสทรีของ Windows หากคุณใช้ไฟล์คุณอาจกำลังใช้เวอร์ชันที่แก้ไขแล้ว (แม้ว่าไฟล์นั้นอาจยังใช้งานได้โดยการส่งออก / นำเข้าการกำหนดค่า) คุณสามารถพูดถึงสิ่งนั้นในคำตอบได้ไหม?
sleske

ฉันใช้ Debian8 ที่นี่ฉันเพิ่มตำแหน่งของที่เก็บข้อมูลเซสชัน Putty สำหรับ Windows ในคำตอบของฉัน แต่ฉันไม่สามารถเขียน / ทดสอบสคริปต์สำหรับตอนนี้: (
Nolwennig

1
โอ้ใช่แล้วลืมว่า PuTTY มีรุ่น Linux ด้วย อย่างไรก็ตามคำตอบที่ดีขอบคุณ
sleske

44

การแก้ปัญหาด้านล่างดูเหมือนว่าจะแก้ปัญหานี้

1) ไปที่การตั้งค่าชื่อหน้าต่าง / พฤติกรรม / หน้าต่างดังกล่าวข้างต้นและใส่ชื่อที่เหมาะสมกับคุณ

2) ไปที่การตั้งค่าเทอร์มินัล / คุณสมบัติแล้วทำเครื่องหมายในช่องเปลี่ยนชื่อหน้าต่างควบคุมจากระยะไกล

การตั้งค่า 1

การตั้งค่า 2


4
ขณะนี้อาจตอบคำถามได้ดีกว่าถ้าคุณสามารถสรุปคำตอบที่นี่เป็นลิงค์ตายไปเมื่อเวลาผ่านไป
Ladadadada

2
นี่เป็นขั้นตอนที่อธิบายไว้ในเว็บไซต์นั้น: ในหน้าต่างการตั้งค่าเซสชันโป๊วให้เปิดใช้งานช่องทำเครื่องหมายที่มีข้อความว่า จากนั้นตั้งชื่อหน้าต่างเซสชันของคุณผ่านหน้าต่างโต้ตอบ ป้อนชื่อลงในกล่องข้อความที่มีชื่อว่า "Window title:"
BdN3504

1
นี่ควรเป็นคำตอบ +1
Kulasangar

3
นี่ควรเป็นคำตอบที่ยอมรับได้ หากไม่มีจุดที่สองนี้ชื่อของฉันจะรีเซ็ตตัวเองทันทีที่ฉันกดปุ่ม Enter (โฮสต์: Windows, เซิร์ฟเวอร์ระยะไกล: เซิร์ฟเวอร์ Ubuntu 16.04 LTS)
Zeeshan

16

ฟังก์ชั่นนี้จะตั้งชื่อของหน้าต่าง PuTTY ของคุณเป็นสตริงที่กำหนด:

# Set title
title() {
  echo -ne "\033]0;"$1"\007"
}

คุณสามารถใช้สิ่งนี้เพื่อตั้งชื่อเรื่องจากบรรทัดคำสั่งหรือจากสคริปต์เช่นจากภายใน. bashrc


1
ทำไมจึงใช้งานได้
ชาด

ทราบเพียงเล็กน้อย; คุณยังคงต้องอยู่"Disable remote-controlled window title changing"ภายใต้Terminal->Features
244an

คุณอาจต้องการใช้printfคำสั่งแทน
MUY เบลเยี่ยม

ทำไมจึงใช้งานได้ : ESC ] 0 ; txt STตั้งชื่อไอคอนและชื่อหน้าต่างเป็น txt
Koshinae

3

ฉันกำลังมองหาวิธีทำให้ชื่อหน้าต่างติดเมื่อใช้ PuTTY กับไฟล์เซสชัน

ดังนั้นใน.putty/sessions/ServerXตั้งชื่อเริ่มต้นและไม่มีพฤติกรรมระยะไกลเป็น:

NoRemoteWinTitle=1
WinTitle=Welcome to ServerX

และเพื่อให้เป็นชื่อพิเศษสำหรับวัตถุประสงค์เฉพาะเพียงแทนที่ค่าเริ่มต้น:

putty -load .putty/sessions/ServerX -title "ServerX:/var/log/messages"

2

อีกเส้นทางเดียวที่ฉันรู้คือการใช้คุณสมบัติการลอกเลียนแบบ xterm เพื่อตั้งชื่อเรื่องจากระบบที่คุณเข้าสู่ระบบ (บน Red Hat Linux และ SUSE Linux, Bash prompt จะถูกเขียนไปยัง Titlebar ตามค่าเริ่มต้น)

ดูหน้านี้สำหรับคำอธิบายของกระบวนการและลำดับการหลบหนีที่เกี่ยวข้อง


ฉันพบในเวอร์ชันภาษาฝรั่งเศส: traduc.org/Guides_pratiques/Suivi/Xterm-Title/Document
Nolwennig

0

คุณสามารถใช้-loghost "title"ตัวเลือกใน Windows - จะเปิดฉาบกับที่ระบุชื่อชื่อ นอกจากนี้ยังเปลี่ยนแปลงสิ่งอื่น ๆ ดังนั้นโปรดตรวจสอบว่าไม่ได้สร้างปัญหาอื่นให้คุณ

ฉันใช้กับ VIRL และทำงานได้อย่างสมบูรณ์แบบ


0

ใน Windows สิ่งนี้จะตั้งค่าหัวเรื่องหน้าต่างของทุกเซสชันเป็นชื่อเดียวกันของเซสชัน:

FOR /F "tokens=6 delims=\" %i IN ('reg query HKCU\Software\Simontatham\PuTTY\Sessions') DO reg add HKCU\Software\Simontatham\PuTTY\Sessions\%i /t REG_SZ /v WinTitle /d %i /f & reg add HKCU\Software\Simontatham\PuTTY\Sessions\%i /t REG_DWORD /v NoRemoteWinTitle /d 1 /f

-1

ใน Windows บรรทัด cmd นี้จะตั้งชื่อหน้าต่างของทุกเซสชันเป็นชื่อเดียวกันของเซสชัน:

FOR /F "tokens=6 delims=\" %i IN ('reg query HKCU\Software\Simontatham\PuTTY\Sessions') DO reg add HKCU\Software\Simontatham\PuTTY\Sessions\%i /t REG_SZ /v WinTitle /d %i /f & reg add HKCU\Software\Simontatham\PuTTY\Sessions\%i /t REG_DWORD /v NoRemoteWinTitle /d 1 /f
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.