Arch 目前采用的是 systemd init 系统,和 ubuntu 14 的 upstart 差异比较大,以至于我连怎么运行 daemon 都查了半天……
理论上采用 systemd 的系统使用下面的方法配置服务都是可行的,实际配置时可能需要根据具体情况有所变动。
Aria2 这类应用程序不需要 root 运行,由普通用户运行即可。参考 Arch Wiki ,普通用户可以使用 systemctl --user 方式启动服务。这里就以我想要的 Aria2 为例进行服务配置。
首先编写好 Aria2 的配置文件,创建好下载 session 文件和 log 文件,放家目录下即可,注意权限问题。配置文件我就不贴上了,google 一搜一大堆,只是这里有个关键问题要注意,千万不要把 daemon=true 添加进配置文件,否则会与 systemd 发生冲突导致服务启动失败!!
编写用户 unit 文件,目录可以是
~/.config/systemd/user/aria2.service
,或者/etc/systemd/user/aria2.service
,前者为只有自己可用,后者为所有非 root 用户均可用,我在这里选择了后者。unit 文件如下。[Unit] Description=Aria2 Service [Service] ExecStart=/usr/bin/aria2c --conf-path=%h/aria2/aria2.conf [Install] WantedBy=default.target
这里变量 %h 为当前用户的家目录,其他变量可参考 systemd Arch Wiki。保存退出,注意文件权限。
然后
$ systemctl --user start/stop/restart/status aria2
即可管理 aria2 服务为了方便启动,我还编写了
.desktop
Entry,这样在 Gnome 下点击应用按钮就可以很方便地启动 aria2 服务了。[Desktop Entry] Type=Application Name=Aria2 User Service Comment=The aria2 service for non-root users Exec=systemctl --user start aria2 Terminal=false Categories=Utilities;Download; Icon=/usr/share/icons/aria2.png StartupNotify=true
保存为
aria2.desktop
到/usr/share/applications/
就行啦!如果不嫌麻烦的话,还可以像我一样给它添加个图标Icon=/usr/share/icons/aria2.png
。
好啦,启动 Aria2 服务后,使用自己喜欢的前端就可以管理下载了。我使用的是 Chrome 插件形式的 YAAW 网页前端,点击这里前往添加。