簡體   English   中英

SLURM交互節點上的Emacs亂碼

[英]Emacs garbled screen on SLURM interactive node

當我遠程登錄一個SLURM交互節點時,emacs有時會出現畫面亂碼。 正如我在下面所描述的,我認為問題在於 SLURM 交互節點弄亂了查詢/確認終端信號,並且一些字符被丟棄導致出現故障。

設置

  • 我實際與之交互的計算機:MacBook Air (10.13.2)
  • 終端:iTerm2 Build 3.1.7
  • ssh 到集群
  • SLURM 交互節點(即srun --nodes=1 ... --pty /bin/bash
  • emacs:終端模式下使用的 GNU Emacs 27.1(即emacs -nw

有時當屏幕重新繪制時,它會出現亂碼: 亂碼的emacs屏幕

當有很多窗格或移動大量文本時,這種情況似乎發生得更多。 基於 emacs 文檔的這一部分,我嘗試使用Cl (recenter-top-bottom)重新繪制屏幕,​​並暫時修復了當前的故障。

通過在我的.bash-profile設置$TERM=screen$TERM=xterm-256color我看到了不同的配色方案,但故障仍然存在。

請注意,當我登錄到交互式節點時,我只看到了故障,而不是從集群上的頭節點。 使用在登錄節點上正常的事實,這可以提供有用的診斷信息。 這讓我懷疑問題在於從集群發送的字符的 ENQ/ACK 或填充時間被丟棄了。 這在tack terminfo 診斷程序的文檔中進行了討論。

使用登錄節點交互節點的tack給出相同的值

$ tack
Using terminfo from: /home/maom/opt/miniconda3/share/terminfo/x/xterm-256color

Name: xterm-256color|xterm with 256 colors
\r ^M (cr)    = ^M
\n ^J (ind)   = ^J
\b ^H (cub1)  = ^H
\t ^I (ht)    = ^I
      (clear) = ^[[H^[[2J
      (home)  = ^[[H
ENQ   (u9)    = ^[[c
ACK   (u8)    = ^[[?1;2c

Terminal size: 204 x 52.  Baud rate: 38400.  Frame size: 10.0

登錄節點上使用Baudrate test

1600949 characters per second.  Baudrate 52  Done

交互節點上使用Baudrate test ,每秒字符數大約慢 30%:

1090426 characters per second.  Baudrate 52  Done

並且,在登錄節點上使用test ENQ/ACK handshake給出:

Testing ENQ/ACK, standby...
This program expects the ENQ sequence to be answered with the ACK character.  This will help the program reestablish synchronization when the terminal is overrun with data.

ENQ sequence from (u9): ^[[c
ACK received: ^[[?1;2c
Length of ACK 7.  Expected length of ACK 7.
Terminating character found in (u8): c

交互式節點節點上使用test ENQ/ACK handshake時給出:

Testing ENQ/ACK, standby...

ACK terminating character: c

有什么辦法可以更新 terminfo 以修復故障,並與集群管理員支持一起解決該問題?

我遇到了同樣的問題,我不知道最好的解決方案,但這可能會有所幫助。 首先,當您執行srun ,最好在 bash 上傳遞-li

srun --nodes=1 ... --pty /bin/bash -li

這將確保它加載您通常在正常登錄時打開的交互式 bash 配置文件。

這並不能完全解決我的問題,但是如果我在交互式會話中執行tmux然后運行emacs ,那么我就沒有亂碼問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM