Làm cách nào tôi có thể đặt tiêu đề cửa sổ của PuTTY thành tên của phiên được tải?


28

Thông thường, khi bạn tải một phiên đã lưu trong PuTTY và kết nối với nó, PuTTY sẽ đặt tiêu đề cửa sổ thành tên máy chủ của hệ thống bạn đã kết nối (cộng với chuỗi "PuTTY").

Bây giờ tôi có nhiều phiên khác nhau, tất cả đều kết nối với cùng một máy chủ, nhưng trên các cổng khác nhau (vì máy chủ chạy một số đường hầm SSH trên các cổng khác nhau). Do đó, việc nhìn thấy tên máy chủ không hữu ích lắm, vì nó luôn giống nhau.

Vì vậy, tôi muốn PuTTY hiển thị tên của phiên được tải trong tiêu đề cửa sổ. Có cách nào để làm việc này không?

Cách duy nhất tôi có thể tìm thấy là đặt tiêu đề cửa sổ theo cách thủ công (Tiêu đề cửa sổ / Hành vi / Cửa sổ). Nhưng tôi tin rằng tôi phải làm điều này bằng tay cho mỗi phiên, điều này khá tẻ nhạt.


1
Kitty là ứng dụng khách telnet / SSH tốt nhất (fork của Putty) và Bạn có thể đặt tiêu đề cửa sổ từ dòng lệnh bằng tùy chọn "-title".
Mareg

Câu trả lời:


16

Để thay đổi tiêu đề cửa sổ phiên PuTTY SSH (từng cái một bằng thủ công bởi GUI PuTTY):

Dành cho Windows và Debian

  1. Load một phiên từ PuTTY.
  2. Trên menu cây bên trái, nhấp vào: WindowBehaviour.
  3. Trên bảng bên phải, trong Window titlehộp văn bản nhập tiêu đề của bạn.
  4. Save phiên.

Để thay đổi tiêu đề cửa sổ phiên PuTTY SSH (cho tất cả các phiên theo dòng lệnh):

Dành cho Debian 8 (Jessie)

  1. Chuyển đến thư mục nơi PuTTY lưu trữ các phiên: /home/nolwennig/.putty/sessions

    Lưu ý: thay thế nolwennig bằng tên người dùng của bạn

  2. Gán tham số WinTitletên tệp phiên đã lưu cho mỗi tệp phiên đã lưu với nội dung như sau:

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

    Nó hoạt động tốt nếu không có WinTitle được ghi lại

Cho cửa sổ

  1. PuTTY lưu trữ các phiên trong Windows registry HKEY_CURRENT_USER\Software\Simontatham\PuTTY\Sessions

    Lưu ý: không thay thế SimonTatham bằng tên người dùng của bạn.

  2. Bạn có thể xuất phần này bằng một lệnh như thế này:

    C:> regedit /e "%userprofile%\desktop\putty-registry-sessions.reg" HKEY_CURRENT_USER\Software\Simontatham\PuTTY\Sessions
    
  3. Có thể tạo một tập lệnh cập nhật putty-registry-sessions.regtệp để thay đổi giá trị của WinTitle cho mỗi phiên đã lưu.


Nguồn & cảm hứng:


Tôi biết tôi có thể làm điều đó - nó được đề cập trong câu hỏi của tôi, cùng với lý do tại sao tôi đang tìm kiếm một giải pháp khác.
sleske

Tôi cập nhật câu trả lời của mình với một kịch bản nhỏ
Nolwennig

1
Ý tưởng gọn gàng với kịch bản. Tuy nhiên, AFAIK, Putty theo mặc định lưu trữ các phiên trong sổ đăng ký Windows. Nếu bạn sử dụng các tệp, có lẽ bạn đang sử dụng một phiên bản sửa đổi (mặc dù nó vẫn có thể hoạt động bằng cách xuất / nhập cấu hình). Bạn có thể đề cập đến điều đó trong câu trả lời?
sleske

Tôi đang sử dụng Debian8 ở đây, tôi thêm vị trí lưu trữ phiên Putty cho Windows trong câu trả lời của mình nhưng tôi không thể viết / kiểm tra tập lệnh cho điều đó ngay bây giờ: (
Nolwennig

1
Ồ, đúng rồi, quên rằng PuTTY cũng có phiên bản Linux. Dù sao, câu trả lời tốt đẹp, cảm ơn.
sleske

44

Giải pháp dưới đây dường như để giải quyết vấn đề này.

1) Chuyển đến cài đặt Tiêu đề cửa sổ / Hành vi / Cửa sổ nói trên và đặt tiêu đề có ý nghĩa với bạn.

2) Chuyển đến cài đặt Terminal / Feature và đánh dấu vào ô Thay đổi tiêu đề cửa sổ được điều khiển từ xa .

Cài đặt 1

Cài đặt 2


4
Mặc dù điều này có thể trả lời câu hỏi, nhưng tốt hơn là bạn có thể tóm tắt câu trả lời ở đây vì các liên kết sẽ chết dần theo thời gian.
Ladadadada

2
Đây là quy trình được mô tả trên trang web đó: Trong cửa sổ thiết lập phiên putty cho phép hộp kiểm có nhãn "Tắt thay đổi tiêu đề cửa sổ được điều khiển từ xa" được tìm thấy trong Terminal-> Tính năng. Tiếp theo đặt tên cho cửa sổ phiên của bạn thông qua hộp thoại Window-> Behavior. Nhập tiêu đề vào hộp văn bản có nhãn "Tiêu đề cửa sổ:"
BdN3504

1
Đây nên là câu trả lời. +1
Kicesangar

3
Đây phải là câu trả lời được chấp nhận. Không có điểm thứ hai này, tiêu đề của tôi tiếp tục đặt lại ngay sau khi tôi nhấn phím enter. (máy chủ: Windows, máy chủ từ xa: Ubuntu Server 16.04 LTS)
Zeeshan

16

Hàm này sẽ đặt tiêu đề của cửa sổ PuTTY của bạn thành chuỗi đã cho:

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

Bạn có thể sử dụng điều này để đặt tiêu đề từ dòng lệnh hoặc từ tập lệnh, ví dụ từ bên trong .bashrc.


1
Tại sao điều này làm việc?
Chad

Chỉ cần một lưu ý nhỏ; Bạn vẫn phải đặt "Disable remote-controlled window title changing"dướiTerminal->Features
244an

Bạn có thể muốn sử dụng printflệnh thay thế.
MUY Bỉ

Tại sao điều này làm việc? : ESC ] 0 ; txt STĐặt tên biểu tượng và tiêu đề cửa sổ thành txt.
Koshinae

3

Tôi đang tìm cách làm cho tiêu đề cửa sổ dính khi sử dụng PuTTY với các tệp phiên.

Vì vậy .putty/sessions/ServerX, hãy đặt tiêu đề mặc định và không có hành vi từ xa là:

NoRemoteWinTitle=1
WinTitle=Welcome to ServerX

Và để đặt cho nó một tiêu đề đặc biệt cho một số mục đích cụ thể, chỉ cần ghi đè mặc định:

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

2

Cách duy nhất khác mà tôi biết là sử dụng các tính năng mô phỏng xterm để đặt tiêu đề từ hệ thống mà bạn đã đăng nhập (trên Red Hat Linux và SUSE Linux, dấu nhắc Bash được ghi vào thanh tiêu đề theo mặc định).

Xem trang này để biết mô tả về quy trình và trình tự thoát có liên quan.


Tôi đã tìm thấy nó trong phiên bản tiếng Pháp: traduc.org/Guides_pratiques/Suivi/Xterm-Title/Document
Nolwennig

0

Bạn có thể sử dụng -loghost "title"tùy chọn trong Windows - nó mở PuTTY với tên tiêu đề được chỉ định . Nó cũng thay đổi những thứ khác, vì vậy hãy kiểm tra xem điều đó có gây ra vấn đề gì khác cho bạn không.

Tôi đang sử dụng nó với VIRL và nó hoạt động rất tốt.


0

Trong Windows, điều này sẽ đặt tiêu đề cửa sổ của mỗi phiên thành cùng tên của phiên:

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

Trong Windows, dòng cmd này sẽ đặt tiêu đề cửa sổ của mỗi phiên thành cùng tên của phiên:

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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.