Ssh
如何在 ssh 上執行一瞥?
我在我的遠端伺服器上安裝了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 只會在客戶端有互動式會話時請求一個偽終端 (pty)。標誌 -T 和 -t 可用於覆蓋此行為。