问题发生之前我做了什么?

问题发生之前我做了什么?

基于: 终端输出滚动消失(Headless 11.10 服务器,从 10.10 升级)

https://superuser.com/questions/1331658/why-cant-i-scroll-in-the-terminal 以及我自己现在的困境。

问题发生之前我做了什么?

tor我在 VPS 上运行此中继,并使用nyxtor 监视器对其进行监控。我从家用笔记本电脑连接到此 VPS,运行 Ubuntu 22.04,完全更新版本。

我第一次尝试nohupnyxtor 监视器运行命令。
我只想在nyx终端断开连接后继续运行(从我本地的 Ubuntu 22.04 笔记本电脑),并能够关闭笔记本电脑,重新打开它,通过 ssh 进入我运行的 VPStor并从后台nyx恢复nyx,而不是在 VPS 登录后打开它。
我运行了nohup nyx &,然后问题就开始了。我得到了输出nohup

rafal@debian:~$ nohup nyx &
[1] 4532
rafal@debian:~$ nohup: ignoring input and appending output to 'nohup.out'

为什么ignoring input??
我需要输入nyx密码。我该如何在没有输入或输入被忽略的情况下执行此操作。
我该如何检查是否在nyx没有密码的情况下启动??我已经输入了密码fg,现在可以输入nyx密码了。
所以我输入密码并按下,Enter但什么也没发生。我看不到任何输入。

当我使用jobs命令时,没有得到任何输出。

怎么了?

  1. Shift+在命令行上PgUp写入而不是滚动,2~
  2. Ctrl++在命令行上写入Shift而不是滚动,A
  3. 无论我向家用笔记本电脑的终端输入什么命令,它都只显示 24 行: history只显示 24 行; cat -n /home/rafal/nohup.out或者另一个具有长输出的命令, px -aux只显示 24 行;

在此处输入图片描述

在此处输入图片描述

  1. 右侧的滚动条填满了窗口的整个垂直高度,表明没有什么可以滚动回去,而上面实际上有数百行;
  2. 转动鼠标滚轮会循环显示当前行通过我的命令历史记录(与 UP 键相同)而不是滚动。
  3. gnome_terminal当然,我的设置中已经设定了 10,000 行。

问题

你能告诉我到底发生了什么、这ignoring input意味着什么以及为什么nohup默认忽略输入吗?

rafal@debian:~$ nohup nyx &
[1] 4532
rafal@debian:~$ nohup: ignoring input and appending output to 'nohup.out'

我没用tmux

为了重新初始化终端,我曾经reset修复过这个问题。它确实修复了终端。现在,在我使用px -aux命令后,我得到了行的全窗口高度,如下所示:

在此处输入图片描述

你能向我解释一下吗,我在执行这个命令时哪里做错了nohup nyx &,为什么它没有按照我期望的方式工作?

答案1

这就是它的nohup工作原理。它被设计为在后台运行一个进程,与你的 shell 会话分离,不会接受输入,默认情况下会将输出发送到nohup.out

但是,您想使用它来运行交互式监视器,因此nohup它不适合这项工作。只需使用tmuxscreen即可。nyx在 tmux/screen 会话中运行,然后您可以关闭终端或笔记本电脑,通过 ssh 返回您的 VPS,再次启动 tmux/screen,然后您就会回到开始的位置。

答案2

这是对@terdon 答案的补充,而不是替代。

大多数终端仿真器都有一个“正常屏幕”和一个“备用屏幕”。后者没有回滚缓冲区,通常由全屏应用程序使用。显然,nyx这也是一个切换到备用屏幕的应用程序,这就是为什么您无法滚动的原因。

如果您在备用屏幕上,则多个终端(包括您正在使用的 GNOME 终端)会将Shift+及其朋友(滚动组合键)的键码发送到正在运行的应用程序。PageUp

相关内容