【树莓派4B】搭建HomeAssistant服务端(二)(systemd配置开机自启动,cpolar内网穿透)

设置开机自启动

创建home-assistant@homeassistant.service服务:

sudo nano /etc/systemd/system/home-assistant@homeassistant.service

复制以下内容,定义服务,其中After定义先行服务,ExecStart执行启动脚本:

[Unit]
Description=Home Assistant
After=network-online.target

[Service]
Type=simple
User=homeassistant
WorkingDirectory=/home/homeassistant/.homeassistant
ExecStart=/srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant"
RestartForceExitStatus=100
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target

chomd命令将文件权限更改为可读、可执行,不可写

sudo chmod 555 /etc/systemd/system/home-assistant@homeassistant.service

重新加载systemdenable设置下次开机启动,start立即激活home-assistant@homeassistant服务:

sudo systemctl --system daemon-reload
sudo systemctl enable home-assistant@homeassistant
sudo systemctl start home-assistant@homeassistant

more about systemd:https://blog.csdn.net/u014163312/article/details/119080802

内网穿透

看Offical文档:https://www.cpolar.com/docs

  1. 获取安装脚本进行安装(国内):
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  1. 通过cpolar version查看版本号,验证安装,去 cpolar官网注册,选择免费套餐即可,获取token。配置token:
cpolar authtoken xxxxxxx
  1. 简单穿透测试cpolar http 8080,这里是将随机域名映射至主机(树莓派)的8080端口,支持http协议。

  2. (可选)配置自启动服务:

sudo systemctl enable cpolar
sudo systemctl start cpolar
sudo systemctl status cpolar
  1. 配置ssh连接,在dashboard界面(https://dashboard.cpolar.com/status)可以看到在线隧道:
    在这里插入图片描述
    cpolar在激活之后生成在线隧道,将树莓派本地端口映射至在线隧道端口即可,-p为端口号:
ssh pi@×.tcp.vip.cpolar.cn -p ×××××
  1. (可选)配置VNC连接,首先启动vncserver,默认的vnc端口为5900,但是注意启动服务之后,内网地址为192.168.3.54:k,实际端口应为 5090 + k 5090+k 5090+k,通过cpolar tcp 5900+k映射该端口,会得到一个域名,用VNC viewer连接即可。
  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
在Linux系统中,可以使用systemd来实现开机启动systemd是现代化的初始化系统,可以通过创建一个service文件,将要执行的命令放在其中,然后将其添加到systemd的自启动项中。\[1\]这样,在系统启动时,systemd会自动加载并执行该service文件中的命令。 具体的步骤如下: 1. 创建一个service文件,可以使用任何文本编辑器打开一个新文件,然后将要执行的命令写入其中。例如,创建一个名为example.service的文件,并将要执行的命令写入其中。 2. 将该service文件放置在systemd服务目录中,通常是/etc/systemd/system/目录下。 3. 使用以下命令重新加载systemd配置:sudo systemctl daemon-reload 4. 使用以下命令将该service文件添加到systemd的自启动项中:sudo systemctl enable example.service 5. 现在,当系统启动时,systemd会自动加载并执行该service文件中的命令。 需要注意的是,XXXX.service应该替换为你实际创建的service文件的名称。\[3\] 通过以上步骤,你可以实现在Linux系统中使用systemd来设置开机启动。 #### 引用[.reference_title] - *1* [【Linux】使用systemd设置开机启动命令](https://blog.csdn.net/qq_41084756/article/details/130200523)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [使用Systemd设置程序开机启动](https://blog.csdn.net/qq_40760128/article/details/115030289)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

u小鬼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值