请求编写Kubuntu 24.04自动获取IP并启动音频共享应用的Shell脚本及设置开机启动
请求编写Kubuntu 24.04自动获取IP并启动音频共享应用的Shell脚本及设置开机启动
没问题,我来帮你搞定这个需求!下面分脚本编写和开机启动设置两部分一步步说明:
一、编写自动获取IP并启动音频共享的Shell脚本
- 首先在你的用户主目录下新建一个脚本文件,比如
audioshare_startup.sh,用Konsole打开编辑器创建它:
nano ~/audioshare_startup.sh
- 把下面的内容粘贴进去,记得把
/path/to/your/audioshare-directory替换成你存放audioshare脚本的实际目录(比如它在你主目录下的话,就写成/home/你的用户名/或者~/):
#!/bin/bash # 获取当前PC的非回环IP地址(取第一个有效IP) PC_IP=$(ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1' | head -n 1) # 检查是否成功获取到IP,避免空值导致程序出错 if [ -z "$PC_IP" ]; then echo "错误:无法获取有效的网络IP地址,请检查网络连接!" exit 1 fi # 切换到audioshare所在的目录,切换失败就退出 cd /path/to/your/audioshare-directory || { echo "错误:找不到audioshare所在目录!"; exit 1; } # 启动音频共享应用 ./audioshare -b "$PC_IP"
- 保存并退出nano编辑器(按
Ctrl+O,回车确认保存,再按Ctrl+X退出) - 给脚本添加执行权限,不然没法运行:
chmod +x ~/audioshare_startup.sh
- 你可以先手动运行脚本测试一下,看看能不能正常获取IP并启动应用:
~/audioshare_startup.sh
二、设置开机自动启动
这里给你两种方法,选你觉得顺手的就行:
方法1:用KDE图形界面设置(简单直观,会弹出Konsole窗口)
- 打开KDE的「系统设置」,找到「启动和关机」→「自动启动」
- 点击右上角的「添加」按钮,选择「应用程序」→「自定义命令」
- 在「命令」输入框里填入脚本的绝对路径,比如
/home/你的用户名/audioshare_startup.sh - 给这个启动项起个好记的名字,比如「音频共享自动启动」,点击「确定」就完成了。
方法2:用systemd服务(后台运行,不弹出终端)
如果不想每次开机都弹出Konsole窗口,可以用systemd让脚本在后台运行:
- 创建一个systemd用户服务文件:
nano ~/.config/systemd/user/audioshare.service
- 粘贴下面的内容,同样要把
/home/your-username/audioshare_startup.sh替换成你脚本的实际绝对路径:
[Unit] Description=自动启动音频共享应用(带IP自动获取) After=network.target [Service] Type=simple ExecStart=/home/your-username/audioshare_startup.sh Restart=on-failure [Install] WantedBy=default.target
- 保存退出后,重新加载systemd配置并启用服务:
systemctl --user daemon-reload systemctl --user enable --now audioshare.service
这样开机后脚本就会在后台自动运行了,你可以用下面的命令查看服务状态:
systemctl --user status audioshare.service
注意事项
- 如果你的Kubuntu 24.04里没有
ifconfig命令(默认可能没装net-tools包),先安装它:
sudo apt update && sudo apt install net-tools
- 一定要确保
audioshare脚本本身有执行权限,并且你在启动脚本里写的目录路径是正确的,不然会启动失败。
备注:内容来源于stack exchange,提问作者Dawood Rana
相关产品推荐
相关产品推荐

