Ste*_*all 11 boot centos xvfb ubuntu
我正在关注本教程,我想知道这个特定于 ubuntu 的步骤的等效 centos 版本:
You may receive a few warnings regarding fonts and such, but it’ll still work despite these. If you want the framebuffer to start automatically on system startup you can do:
sudo update-rc.d xvfb defaults 10
Run Code Online (Sandbox Code Playgroud)
在centos上启动时启动xvfb的正确方法是什么?
Jde*_*eBP 20
这些问题和答案已经过去将近四年了,世界已经发生了变化,而他们并没有。从版本 7 开始,CentOS 使用 systemd。问题和评论中提到了 Ubuntu。从 15 版开始,Ubuntu 也使用了 systemd。
尽管可以rc
在 systemd 下使用 System 5脚本,但至少可以说,此处答案中的脚本非常次优。一个愉快地使用killall
,它的守护进程管理问题是众所周知的;另一个是一堆摇摇晃晃的锁文件和 PID 文件逻辑,在服务管理器下这些逻辑实际上都不是必需的,因为服务管理器本身会跟踪守护进程。
正如我在别处所说的,如果你开始学习这些东西并且使用 CentOS Linux 7 或更高版本或 Ubuntu Linux 15 或更高版本,首先不要从 System 5rc
脚本开始。从 systemd 单元文件开始。
xvfb.service
xvfb 的简单systemd 单元文件可以在https://www.centos.org/forums/viewtopic.php?f=48&t=49080#p208363和https://askubuntu.com/a/621256/43344 找到。但是,正如我在后者中提到的,也可以采用模板化的方法:
[单元] 说明=用于显示 %I 的虚拟帧缓冲区 X 服务器 之后=网络.目标 [服务] ExecStart=/usr/bin/Xvfb %I -screen 0 1280x1024x24 [安装] WantedBy=multi-user.target
作为本地编写的、非系统非打包的、用于系统范围(而不是每个用户)服务的单元文件,这/etc/systemd/system/xvfb@.service
当然适用。
将模板实例化为实际命名的服务,并带有所需的显示编号。:99
因此,对于 display ,有一个名为 的实际服务实例xvfb@:99.service
。
systemctl enable xvfb@:99.service
。systemctl disable xvfb@:99.service
。systemctl start xvfb@:99.service
。systemctl stop xvfb@:99.service
。systemctl status xvfb@:99.service
。systemctl
. systemd 手册页。freedesktop.org。小智 12
我使用以下 init 脚本在启动时添加和启动 xvfb,只需在 /etc/init.d/ 中添加并运行 chkconfig xvfb
#!/bin/bash
#chkconfig: 345 95 50
#description: Starts xvfb on display 99
if [ -z "$1" ]; then
echo "`basename $0` {start|stop}"
exit
fi
case "$1" in
start)
/usr/bin/Xvfb :99 -screen 0 1280x1024x24 &
;;
stop)
killall Xvfb
;;
esac
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
24272 次 |
最近记录: |