我不知道标题是否可以自我解释,但是我想打开多个终端(现在两个就足够了)而不必启动桌面。
我希望有一个PHP脚本(全职)运行,并且仍然能够像使用Raspbian启动Raspi时一样使用Raspi终端。
我不知道标题是否可以自我解释,但是我想打开多个终端(现在两个就足够了)而不必启动桌面。
我希望有一个PHP脚本(全职)运行,并且仍然能够像使用Raspbian启动Raspi时一样使用Raspi终端。
Answers:
只需使用Alt + F1-F12,您就可以拥有12个不同的控制台选项卡,而无需启动GUI
screen
(我认为)甚至比以前更好tmux
。您可以通过安装它sudo apt-get install tmux
。还可以通过查阅联机帮助页man tmux
。
您可以通过tmux
在其中一个控制台上键入来启动它(请参阅XTL的答案)。
这是最重要的命令(C-b d
意味着:同时按Control和B,然后按D):
C-b d
分离会话tmux attach
在Shell上重新附加正在运行的会话C-b "
水平分割当前帧(启动新外壳)C-b %
垂直分割当前帧(启动新外壳)C-b arrow (up, down, left, right)
在当前框架中的窗口之间导航C-b c
新框架(新外壳启动)C-b n
下一帧C-b l
最后一帧C-b b
发送C-b
到正在运行的应用程序您也可以在屏幕上执行此操作。使用screen,您甚至可以脱离屏幕会话,注销,登录,然后重新附加到屏幕会话,而不会丢失任何内容。程序将继续运行,并且所有输出将继续显示在您断开连接的终端上。
屏幕教程的几个链接:
http://www.rackaid.com/resources/linux-screen-tutorial-and-how-to/
http://magazine.redhat.com/2007/09/27/a-guide-to-gnu-screen/
带有一些有用的.screenrc技巧的线程链接:
https://bbs.archlinux.org/viewtopic.php?id=55618
Raspberry Pi特定教程:
http://raspi.tv/2012/using-screen-with-raspberry-pi-to-avoid-leaving-ssh-sessions-open
如果您要运行的php脚本未与用户互动或需要输入,
您可以使用&
将脚本发送到后台的命令
这是一个例子。
pi@raspberrypi ~ $php code1 &
这会将脚本发送到将继续运行的后台。
如果您在终端中使用ssh,则可以在同一用户中使用ssh两次,并拥有两个终端。
如果您想通过ssh会话打开多个终端,
您应该看一下屏幕,甚至更好地安装byobu
它,它是屏幕周围的包装。
byobu是一个包装器,可以使用简单的功能键而不是ctrl-a的组合键轻松打开新屏幕。它还显示一个状态行,其中包含所有可以打开的虚拟终端。
另一个不错的功能是,当ssh连接断开时,您的所有屏幕都可以停滞不动。您只需通过ssh再次连接并致电byobu,一切便像以前一样。
希望能帮助到你。
为了完整性,另一种选择是使用byobu。这是GNU屏幕顶部的一个方便层。它提供了不错的默认值,而且我认为它更易于使用。我个人在Rapsberry Pi上使用了它,效果很好。要安装它,只需键入:
$ sudo apt-get install byobu
安装后,可通过以下方式进行配置:
$ byobu-config
您可以选择在登录时自动启动它,并切换状态通知小程序(正常运行时间,负载,日期...)
附带说明一下,这种虚拟控制台对于在不同计算机上的不同用户之间共享同一控制台输入/输出也很有用(您可以将其称为“ 文本模式屏幕共享”)。
byobu-config
)。
由于您最初的要求是在后台启动PHP脚本,因此可以使用command nohup
。例:
$ nohup php myscript.php &
一旦启动,指定为命令行参数to nohup
的命令在后台执行,并且其输入/输出与启动它的终端断开链接,以防止在以下情况下将SIGHUP
信号(因此称为nohup
名称)发送给后台进程您退出启动控制台(信号通常会导致程序退出)。输出将重定向到文件(默认为nohup.out
)。
有关更多信息:man nohup
。
为了获得更好,更完整的答案,您可能需要完全“守护”程序。您可能可以在网上找到解释如何使用PHP脚本进行操作的资源。
disown
防止挂断所选后台进程的命令。