我不知道标题是否可以自我解释,但我想打开多个终端(现在两个就够了)而不必启动桌面。

我想拥有一个PHP脚本(全职)运行,并且仍然可以使用Raspbian启动Raspi时仍然使用Raspi终端。

评论

您是ssh还是直接连接到您的pi?

嗨,您可能想要的东西可以由dvtm提供。 brain-dump.org/projects/dvtm

#1 楼

只需使用Alt + F1-F12,您就可以拥有12个不同的控制台选项卡,而无需启动GUI

评论


这实际上是我当前使用的选项:)

–pasadinhas
2014年7月24日14:51

这在Raspbian上不起作用,其他任何tty上都没有登录。

– AndreKR
19年7月23日在18:50

#2 楼

如果您使用的是控制台(附带键盘和屏幕),则应该能够使用Linux虚拟控制台系统在使用(ctrl-)alt-F1到F12的多个终端之间切换,以及使用shift的更多终端。

配置的终端数量和具有getty进程(要求您输入登录名和密码)的终端数量取决于配置。

评论


+1是因为直接连接到计算机时,这是获得另一次登录的“标准”方式,并且不需要安装screen / tmux。

–基拉尼
13年4月24日在1:45

#3 楼

在我看来,甚至比screen还要好。您可以通过tmux安装它。也可以使用sudo apt-get install tmux查阅联机帮助页。

您可以通过在任一控制台上键入man tmux来启动它(请参阅XTL的答案)。

这是最重要的命令(tmux表示:同时按Control和B,然后按D):



C-b d分离会话

C-b d在外壳上重新附加一个正在运行的会话

tmux attach水平拆分当前框架(启动新外壳)
C-b "垂直拆分当前框架(启动新外壳)

C-b %在当前框架的窗口之间导航

C-b arrow (up, down, left, right)新框架(启动新外壳)

C-b c下一个框架

C-b n最后一个框架

C-b lC-b b发送到正在运行的应用程序


评论


这里也是tmux的坚决拥护者。状态行配置简单得多,并且处理重绘效果更好。

–考克斯利
13年4月15日在22:33

应该注意的是,在将会话附加到多个VT方面,tmux的行为与屏幕不同(“ screen -x”)

–基拉尼
13年4月24日在1:43

#4 楼

您也可以在屏幕上执行此操作。使用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

#5 楼



如果要运行的php脚本未与用户交互或需要输入,则

您可以使用&命令将脚本发送到后台
/>
这里是一个示例。

pi@raspberrypi ~ $php code1 &


这会将脚本发送到将继续运行的后台。

如果您使用ssh进入终端,则可以在同一用户中使用ssh两次,并拥有两个终端。

如果要通过ssh会话打开多个终端,

应该看一下屏幕,甚至更好地安装byobu,它是屏幕周围的包装物。

byobu是一种包装物,它允许使用简单的功能键而不是ctrl-a的组合键轻松地打开新屏幕。它还显示了一个状态行,其中包含所有可以打开的虚拟终端,可以命名。

另一个不错的功能是,当ssh连接断开时,您的所有屏幕都可以停滞不动。您只需通过ssh再次连接并调用byobu,一切都像以前一样。


希望它会有所帮助。

#6 楼

为了完整性,另一种选择是使用byobu。这是GNU屏幕顶部的一个方便层。它提供了不错的默认值,而且我认为它更易于使用。我个人在Rapsberry Pi上使用了它,效果很好。要安装它,只需键入:

$ sudo apt-get install byobu


安装后,通过以下方式对其进行配置:

$ byobu-config


您可以在那里,选择登录时自动启动它,并切换状态通知小程序(正常运行时间,负载,日期...)。



作为附带说明,这种虚拟控制台的功能也可用于在不同计算机上的不同用户之间共享相同的控制台输入/输出(您可以将其称为文本模式屏幕共享)。

评论


前几天,我尝试了byobou,但并不高兴。通过功能键进行的控制非常不稳定。不能在OS X上运行,在Debian下也有问题。我将坚持使用tmux及其命令。功能键也与mc(午夜指挥官)冲突。

– Arne
13年4月22日在21:58

至于与mc的功能键冲突,您可以在byobu上进行更改(可以通过byobu-config轻松在两种不同的模式之间进行选择)。

– LaurentGrégoire
13年6月7日在8:05

#7 楼

由于您最初的要求是在后台启动PHP脚本,因此可以使用命令nohup。示例:

$ nohup php myscript.php &


一旦启动,指定为nohup命令行参数的命令将在后台执行,并且其输入/输出与终端用户断开链接。启动它,以防止退出启动控制台(信号通常导致程序退出)时将SIGHUP信号(因此名称为nohup)发送到后台进程。输出重定向到文件(默认为nohup.out)。有关更多信息:man nohup

为获得更好,更完整的答案,您可能希望完全“守护”您的程序。您可能可以在网上找到解释如何使用PHP脚本进行操作的资源。

评论


一些外壳程序(bash,zsh?)也有一个命令被丢弃,以防止选定的后台进程挂断。

– XTL
13年4月29日在12:15