ubuntu 服务 开机启动,ubuntu开机进入不了图形界面
这篇文章给大家聊聊关于ubuntu 服务 开机启动,以及ubuntu开机进入不了图形界面对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
树莓派ubuntu20.04通过service实现py文件开机自启
为了将一个脚本配置为开机自启,我们主要使用 systemd的.service文件实现此功能。以下是对配置服务器 systemd方法的简要介绍。
systemd是系统启动和服务器守护进程管理器,负责激活系统资源、服务器进程和其他进程。它旨在减少对 shell脚本的依赖,并尽可能并行启动更多进程,同时启动更少进程。
一个.service文件的基本结构包含三个主要部分:控制单元(unit)定义、服务(service)定义及安装部分。控制单元(unit)定义了服务的依赖关系和启动顺序,服务(service)定义了服务的执行方式,而安装部分则说明如何将服务添加到系统启动过程中。
控制单元(unit)定义中的 Wants字段与 Requires字段表示依赖关系,但与启动顺序无关。而 After和 Before字段则关注启动顺序,不涉及依赖关系。
在服务本体(service)中,若 Type不为 oneshot,则 ExecStart配置只能执行一条命令,而多个相同配置会选择最后一条。通过在命令前添加连词号(-),可以实现即使指定文件不存在也不抛出错误。
安装服务(install)部分通过 WantedBy字段指定服务所在的 Target(服务组),确保服务在系统启动时正确加载。
在树莓派中创建自定义服务时,首先进入/usr/lib/systemd/system/目录,新建服务脚本。若该目录不存在,可自行建立。按照上述规则编写脚本后,设置服务自启动。完成设置后,执行命令$ sudo systemctl enable my_t265.service,系统会在/lib/systemd/system/目录中创建配置文件,并建立链接到启动目录,使服务在系统启动时自动运行。
启动.service文件时,运行命令$ systemctl start my_t265.service,查看服务状态使用$ systemctl status my_t265.service或者$ journalctl查看日志。
在单个.service文件中执行多个 ExecStart命令,需将 Type设置为 oneshot。此类型服务仅在启动后即完成,不保留后台进程。
树莓派开机重刷USB口是一个使用.service文件实现的例子。此外,了解 systemd-analyze命令可帮助诊断服务启动问题,该命令能显示服务启动时间和关键链。
配置时,通过编辑 systemd.conf文件,并重启系统,添加环境变量确认服务启动状态。使用 status或 journalctl命令查看详细输出。
关于 Target(启动模式),默认的 multi-user.target表示多用户命令行状态,而 graphical.target为图形用户状态,依赖于 multi-user.target。修改默认启动模式时,考虑两个常用的 Target:多用户命令行和图形用户状态。
推荐资料包括 systemd.service中文手册、systemctl配置文件文档、systemd-analyze命令介绍,以及相关链接如树莓派配置自定义服务实现开机自启的教程。
如何在Ubuntu中管理开机启动应用
在 Ubuntu中管理开机启动应用
默认情况下, Ubuntu提供了一个Startup Applications工具来供你使用,你不必再进行安装。只需到 Unity面板中就可以查找到该工具。
在 ubuntu中的开机启动应用工具
点击它来启动。下面是我的Startup Applications的样子:
在 Ubuntu中查看开机启动程序
在 Ubuntu中移除开机启动应用
现在由你来发现哪个程序对你用处不大,对我来说,是 Caribou这个软件,它是一个屏幕键盘程序,在开机时它并没有什么用处,所以我想将它移除出开机启动程序的列表中。
你可以选择阻止某个程序在开机时启动,而在开机启动程序列表中保留该选项以便以后再进行激活。点击关闭按钮来保留你的偏好设置。
在 Ubuntu中移除开机启动程序
要将一个程序从开机启动程序列表中移除,选择对应的选项然后从窗口右边的面板中点击移除按钮来保留你的偏好设置。
在 Ubuntu中将程序从开机启动列表中移除
需要提醒的是,这并不会将该程序卸载掉,只是让该程序不再在每次开机时自动启动。你可以对所有你不喜欢的程序做类似的处理。
让开机启动程序延迟启动
若你并不想在开机启动列表中移除掉程序,但同时又忧虑着系统性能的问题,那么你所需要做的是给程序添加一个延迟启动命令,这样所有的程序就不会在开机时同时启动。
选择一个程序然后点击编辑按钮。
编辑开机启动应用列表
这将展示出运行这个特定的程序所需的命令。
在开机启动列表的程序运行所需的命令
所有你需要做的就是在程序运行命令前添加一句 sleep XX;。这样就为实际运行该命令来启动的对应程序添加了 XX秒的延迟。例如,假如我想让 Variety壁纸管理应用延迟启动 2分钟,我就需要像下面那样在命令前添加 sleep 120;
在 Ubuntu中延迟开机启动的程序
保存并关闭设置。你将在下一次启动时看到效果。
增添一个程序到开机启动应用列表中
这对于新手来说需要一点技巧。我们知道,在 Linux的底层都是一些命令,在上一节我们看到这些开机启动程序只是在每次开机时运行一些命令。假如你想在开机启动列表中添加一个新的程序,你需要知道运行该应用所需的命令。
第 1步:如何查找运行一个程序所需的命令?
首先来到 Unity Dash面板然后搜索 Main Menu:
Ubuntu下的程序菜单
这将展示出在各种类别下你安装的所有程序。在 Ubuntu的低版本中,你将看到一个相似的菜单,通过它来选择并运行应用。
Ubuntu下的 main menu
在各种类别下找到你找寻的应用,然后点击属性按钮来查看运行该应用所需的命令。例如,我想在开机时运行 Transmission Torrent客户端。
在 Ubuntu下查找运行程序所需的命令
这就会向我给出运行 Transmission应用的命令:
在 Ubuntu下查找运行某个程序所需的命令
接着,我将用相同的信息来将 Transmission应用添加到开机启动列表中。
第 2步:添加一个程序到开机启动列表中
再次来到开机启动应用工具中并点击添加按钮。这将让你输入一个应用的名称,对应的命令和相关的描述。其中命令最为重要,你可以使用任何你想用的名称和描述。使用上一步得到的命令然后点击添加按钮。
在 Ubuntu中添加一个开机启动程序
就这样,你将在下一次开机时看到这个程序会自动运行。这就是在 Ubuntu中你能做的关于开机启动应用的所有事情。
到现在为止,我们已经讨论在开机时可见到的应用,但仍有更多的服务,守护进程和程序并不在开机启动应用工具中可见。下一节中,我们将看到如何在 Ubuntu中查看这些隐藏的开机启动程序。
在 Ubuntu中查看隐藏的开机启动程序
要查看在开机时哪些服务在运行,可以打开一个终端并使用下面的命令:
sudo sed-i's/NoDisplay=true/NoDisplay=false/g'/etc/xdg/autostart/*.desktop
上面的命令是一个快速查找和替换命令,它将在所有自动启动的程序里的 NoDisplay=false改为 NoDisplay=true,一旦执行了这个命令后,再次打开开机启动应用工具,现在你应该可以看到更多的程序:
在 Ubuntu中查看隐藏的开机启动程序
你可以像先前我们讨论的那样管理这些开机启动应用。我希望这篇教程可以帮助你在 Ubuntu中控制开机启动程序
ubuntu下配置开机启动服务_PHP教程
Ubuntu开机启动服务配置教程
在 Ubuntu系统中,配置开机启动服务相对简单,但与 RedHat或 CentOS系统不同,Ubuntu并未提供内置的启动配置工具。不过,它有一个方便的工具,即 rcconf。要使用 rcconf,首先需要安装它,执行命令:
sudo apt-get install rcconf
安装完成后,在命令行界面输入:
sudo rcconf
即可启动配置界面。界面与 RedHat的 ntsysv相似,便于操作。在使用过程中,可能会遇到以下问题和解决方案:
问题 1:界面显示乱码。如果是在远程通过 putty登陆,将语言编码设置成 UTF-8即可。
问题 2:设置服务的启动/停用后,退出界面发现选项未更改。解决方法是再次使用 sudo rcconf执行操作。
问题 3:即使使用 sudo rcconf执行,但配置后程序仍按原状态开机启动/停止。解决方法是修改配置文件的权限,将文件权限设为 755或 777,并再次使用 sudo rcconf进行配置。
除了使用 rcconf,还可以使用 Ubuntu的内置工具 update-rc.d来管理开机启动服务。使用方法如下:
update-rc.d XXX stop/start
例如:使用 update-rc.d avahi-daemon stop命令将 avahi-daemon服务设置为开机停止。
以上步骤和方法将帮助您在 Ubuntu系统中配置开机启动服务。祝您学习顺利!