2012-12-01 65 views
1

我的服务器始终有一个屏幕会话正在运行,并且我希望显示连接到屏幕会话的用户在网页上显示的所有内容。使用PHP获取Linux屏幕会话

我知道如何运行SSH命令并使用PHP获取输出,但似乎无法找到如何锁定屏幕会话并获取可见屏幕,并将其发送回PHP。

任何帮助表示赞赏。

+0

http://stackoverflow.com/questions/294945/javascript-or-jsphp-terminal-client可以让你开始,我认为 – fvu

+0

你想要的东西就像一个VNC连接?在您的机器上看到实际用户在另一台机器的屏幕上看到的内容? 或者你希望当其他用户与屏幕会话交互时,每个角色都使用PHP发送到你的机器,以便你可以在网页上显示它? –

+0

我不需要互动(还)。我想知道用户会看到他们是否连接到屏幕会话(例如通过VNC),但是可以在我的页面上进行格式化。 – James

回答

0

例如,如果该屏幕会话是Linux终端,我唯一看到的方式是将终端登录到一个文件中,然后使用PHP访问该文件并将其打印到您的网页上。

看看这可以帮助你入门:https://ayaz.wordpress.com/2006/11/19/script1-logging-terminal-sessions-to-files/

(在Windows中,如果使用腻子,我相信你也可以保存内容的文件)

+0

它看起来像一个开始,但肯定是因为我可以断开并重新连接到一个屏幕会话,会话中的屏幕必须存储在某个地方? – James

+0

对不起,现在已经很晚了,我现在没有跟着你......你说的是从你的机器断开并重新连接到其他用户的机器?会话始终存储在文件中。你只需要访问它。 –

+0

哪个文件是在RHEL机器上存储的屏幕会话?我基本上只想捕获该文件并获取输出。如果可能的话,我希望不附加它。 – James

0

只要PHP没有运行在安全模式下,您可以使用phpshell运行屏幕。

http://phpshell.sourceforge.net/

Linux.com的文章吧。

http://archive09.linux.com/feature/127056

如何共享屏幕会话。请注意,主机必须允许并添加查看器。

http://eric.lubow.org/2010/system-administration/sharing-a-screen-session/

,如果你不使用的屏幕,你可以用它来监视会话。

http://www.cyberciti.biz/faq/linux-make-typescript-of-terminal-session/

这里是如何监控终端会话上的其他计算器的答案。

Linux Terminal: how to capture or watch other terminal session

+0

我相信他的问题是“看”当前打开的终端屏幕。 PHPShell非常有用,但它只是打开一个新的shell连接。 –

+0

他说屏幕。我假设用户正在运行可共享会话的屏幕。 – Codeguy007

+0

linux中的终端也是文件。如果您有root权限,您可以随时查看它们。 – Codeguy007