Ssh

如何在 ssh 上執行一瞥?

  • November 28, 2017

我在我的遠端伺服器上安裝了glances,現在我試圖從我的本地機器連接到它並執行它,如下所示:

ssh user@host glances

這給了我以下錯誤:

Traceback (most recent call last):

File "/usr/bin/glances", line 9, in <module>
load_entry_point('Glances==1.7.3', 'console_scripts', 'glances')()

File "/usr/lib/python2.7/dist-packages/glances/glances.py", line 4644, in main
use_bold=use_bold)

File "/usr/lib/python2.7/dist-packages/glances/glances.py", line 1937, in __init__
self.screen = curses.initscr()

File "/usr/lib/python2.7/curses/__init__.py", line 33, in initscr
fd=_sys.__stdout__.fileno())

_curses.error: setupterm: could not find terminal

我錯過了什麼?

由於您已經給出了一個ssh遠端執行的命令,ssh 沒有分配一個偽終端供一目了然使用。只需將-t選項添加到 ssh 即可強制執行:

ssh -t user@host glances

參考:

ssh 手冊頁

當伺服器接受使用者的身份時,伺服器要麼在非互動式會話中執行給定的命令

如果請求互動式會話,則預設情況下,ssh 只會在客戶端有互動式會話時請求一個偽終端 (pty)。標誌 -T 和 -t 可用於覆蓋此行為。

引用自:https://unix.stackexchange.com/questions/407528