【问题标题】:See GNOME Terminal output in virtual console请参阅虚拟控制台中的 GNOME 终端输出
【发布时间】:2009-11-26 17:48:50
【问题描述】:

我在 GNOME 终端中运行了一个程序,但屏幕保护程序正在运行,并且不允许我使用密码重新进入。在等待the gnome-screensaver bug 的修复时,是否有某种方法可以在无法与 GNOME 终端交互的情况下在虚拟控制台 (Ctrl-Alt-F1) 中查看输出(甚至接管进程)?

澄清:最初的问题是屏幕保护程序,但我想回答的问题是如何在没有任何日志记录到文件的情况下启动进程后查看在另一个终端中运行的进程的输出。我猜应该可以从不同的外壳设置进程的输出设备?或者是否可以将另一个 shell 中的进程置于后台模式,并将其置于当前 shell 的前台?或者甚至要求 GNOME 终端重定向或复制输出?

【问题讨论】:

  • 这被标记为属于超级用户。我不相信,但请不要以这种方式使用标签。发表评论或标记以引起版主注意。

标签: gnome-terminal


【解决方案1】:

过去我很幸运地从虚拟控制台杀死了屏幕保护程序,解锁了 X 会话。

# Get the pid (xscreensaver, gnome-screensaver, etc.)
ps -f -u $(whoami) | grep screensaver

kill -9 12345 # Replace 12345 with the real pid

编辑:似乎已经想到了这一点,您应该使用以下命令之一,具体取决于您使用的屏幕保护程序:

xscreensaver-command -exit
gnome-screensaver-comand --exit

有关更多详细信息,请参阅这些命令的手册页。

【讨论】:

    【解决方案2】:

    通常的方法是将输出通过管道传输到文件中,例如program > program.log 在 Gnome 控制台的另一个选项卡中执行 tail -f program.log,在非 X 控制台中执行相同操作。

    或者,使用tee 在同一控制台中复制输出:program | tee program.log

    【讨论】:

      【解决方案3】:

      ssh 进入盒子。杀死屏幕保护程序。 su 成为 root 并杀死 -9 如果它真的起作用了。

      【讨论】:

        【解决方案4】:

        通常 Gnome-Terminal 会显示 /dev 中一个 vty 的输出。因此,只需将您的控制台连接到该 vty。

        【讨论】:

        • 我如何确定它连接到哪个设备?
        • 不知道,但是使用“ps -x”你可以在第二列看到“pts/X”,这应该会给你提示,我也会对此进行研究跨度>
        【解决方案5】:

        使用screen启动程序。

        打开另一个终端,启动screen -x,你有两个终端就像一个一样。试试看,很有趣:)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-08-27
          • 2011-01-21
          • 2016-11-23
          • 2019-09-12
          • 1970-01-01
          • 1970-01-01
          • 2017-10-18
          相关资源
          最近更新 更多