我有两台电脑,分别安装了 Ubuntu 12.04 和 13.10 桌面版。在 12.04 上,我打开了终端并在其中运行进程。该进程显示一些状态信息并允许动态更改某些设置。因此,我想从另一台电脑访问 12.04 并管理该进程。
我已成功使用 SSH 连接到 PC,但我无法找到如何在终端中查看该进程。
答案1
我相信你正在寻找的工具是屏幕。请注意,由于其工作方式,它会破坏回滚。
设置如下:
屏幕-mS 我的屏幕
附如下:
屏幕-x myscreen
一旦连接,您或您的伴侣就可以与屏幕进行交互。
按照以下步骤从屏幕上分离:
Ctrl-A D
不要搞反了,否则你会退出你的屏幕,并带走你伙伴的屏幕!如果你关闭窗口而不分离,它也会关闭你伙伴的屏幕。
列出活动屏幕:
屏幕-ls
要附加到两个名称相似的屏幕之一:
屏幕-x12345.我的屏幕
在哪里12345是屏幕的 PID(您可以从 screen -ls 获取)
找到这个的来源了! http://wiki.networksecuritytoolkit.org/nstwiki/index.php/HowTo_Share_A_Terminal_Session_Using_Screen
答案2
如果您尝试访问交互式进程(如 ftp 或游戏服务器),则只能从创建它的终端对其进行控制。也就是说,您可以使用一个名为 screen 的程序来创建可以在其他终端内打开的虚拟终端。
安装:
sudo apt-get install screen
要启动屏幕终端:
screen -S nameOfScreen
或者,如果您想创建一个屏幕但不立即连接到它:
screen -dmS nameOfScreen
要立即启动屏幕内的程序,请在末尾添加命令:
screen -dmS ftpstuff ftp [options for ftp]
您还可以重新连接:
screen -r nameOfScreen
无需进入屏幕即可运行命令(对脚本有用):
screen -S gameServer -p 0 -X stuff "alert We're running a backup, expect a bit of lag.$(printf \\r)"
您可以通过按 Ctrl+A 再按 Ctrl+D 来断开与屏幕的连接。尝试按 Ctrl+A 再按 ? 来获取更多帮助,或者阅读手册页。