服务管理体制发生了改变。

服务管理体制发生了改变。

我以前能够使用sudo startsudo stop

示例:sudo start ttyS0 这将启动 getty,以便我可以从串行终端登录。它在 Ubuntu 15.04 中不起作用。在 15.04 中是否有其他方法可以启动和停止进程?

答案1

服务管理体制发生了改变。

每个系统管理工具集都有自己的实用程序。您习惯使用的实用程序是 upstart 附带的实用程序,它们是initctl start和 的简单垫片initctl stop。但这是 Ubuntu 版本 15。 您不再使用 upstart 了。

您正在使用 systemd,服务控制命令是 的子命令,systemctl而不是 的子命令initctl。因此,服务是用 启动的systemctl start,用 停止的systemctl stop,用 启用的systemctl enable,用 禁用的systemctl disable,用 查询的systemctl status

服务和服务配置已经发生改变。

你可能已经遵循了如下说明串行控制台操作方法将提供的 转换/etc/init/tty1.conf/etc/init/ttyS0.conf。这是一个新贵配置文件,systemd 会直接忽略它。您从那里学到的所有内容都不适用于 systemd,甚至运行级别的概念也不适用,因为在 systemd 世界中,它已经“过时”了。

getty真实终端设备上的systemd 配置文件是。这是/lib/systemd/system/[email protected]模板单元,参数化串行设备文件的名称。因此实际要使用的服务名称将是[email protected]。您只需像任何其他服务一样启用/禁用/启动/停止它即可。

如果你想要一个真正的连续剧安慰,而不仅仅是一个普通的串行终端,那么您甚至不需要这样做。systemd 有一个机制,[email protected]每当内核被告知不要将其控制台放在虚拟终端上时,它就会自动实例化。

进一步阅读

答案2

如果你不需要在运行时启动/停止 tty 服务,而只需要在启动阶段启动它,那么你不必担心学习复杂的systemd系统控制事物。

您可以简单地通过在 GRUB2(或其他引导加载程序)中添加以下行来启动 ttyS0 端口。

 GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8"

 #Uncomment to disable graphical terminal (grub-pc only)
 GRUB_TERMINAL=serial
 GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no -->
 stop=1"

我在运行 Virtualbox 环境的 ubuntu 15.10 服务器中完成了此操作。

[  OK  ] Started Serial Getty on ttyS0. -- started by GRUB2
[  OK  ] Started Getty on tty1. -- started by systemd
[  OK  ] Reached target Login Prompts.
...
Ubuntu 15.10 server1 ttyS0  -- redirect console to ttyS0, if necessary

相关内容