一千萬個為什麽

搜索

Tramp使用su失敗並出現電源線提示

我在以root身份打開文件時遇到了一個奇怪的問題。從emacs -Q,我發出(require'tramp),將tramp-verbose自定義為10,並嘗試以root身份打開文件: Cx Cf/su ::/etc/fstab < /代碼>。然後我被提示輸入我的root密碼。輸入密碼,Emacs暫停大約。 10秒,然後似乎打開一個名為fstab的新文件,但它不是/ etc/fstab中已存在的fstab。有關調用make-directory以創建父目錄的消息顯示出來,所以我顯然在某個地方打開了一個新文件。我無法確切地看到 C-x C-f ,甚至 M-x shell -command pwd 都提示我輸入root密碼,然後失敗。

盡管已將 tramp-verbose 轉換為最大值,但在我的 * Messages * 緩沖區中並沒有太多:

創建自定義設置...已完成   Tramp:使用su ...打開root @ onottra672626p的連接   Tramp:發送命令'exec su - root'
  Tramp:等待來自遠程shell的提示......
  Tramp:發送密碼
  Tramp:等待來自遠程shell的提示......失敗了   Tramp:使用su ...失敗
打開root @ onottra672626p的連接   使用M-x make-directory RET RET創建目錄及其父目錄

     

Tramp:檢查'vc-registered'是否為/ su:root @ onottra672626p:/etc/fstab...failed
  使用M-x make-directory RET RET創建目錄及其父目錄   Tramp:使用su ...打開root @的連接   Tramp:發送命令'exec su - root'
  Tramp:等待來自遠程shell的提示......
  Tramp:發送密碼
  Tramp:等待來自遠程shell的提示......失敗了   Tramp:使用su ...失敗
打開root @ onottra672626p的連接   退出

這一切都在筆記本電腦上,我不是想連接到另一臺機器。

Emacs 25.1.91.1,並再次使用Emacs 25.2.1進行確認。

有關進一步故障排除的任何建議,還是這只是一個常規錯誤?

更新

問題是由於我使用電力線提示。調試日誌包含以下行:

08:34:24.189824 tramp-accept-process-output (10) # *tramp/su [email protected]* run *tramp/su [email protected]*

[30;41m~ [0;31m [m

電力線提供符號。 Tramp需要檢測shell提示,這個意想不到的特性令人困惑。修復需要修改變量 tramp-shell-prompt-pattern 以包含新符號:

Original value was: "\(?:^\| \)[^]#$%>\n]*#?[]#$%>] \(\[[0-9;][a-zA-Z] \)"

New new, corrected value is "\(?:^\| \)[^]#$%>\n]*#?[]#$%>] \(\[[0-9;][a-zA-Z] \)"

最佳答案

有關記錄,已在 Emacs bugtracker 上討論過。這不是Tramp錯誤,而是來自遠程計算機的異常提示。

轉載註明原文: Tramp使用su失敗並出現電源線提示