惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 司徒正美
T
The Blog of Author Tim Ferriss
F
Fortinet All Blogs
Martin Fowler
Martin Fowler
罗磊的独立博客
The GitHub Blog
The GitHub Blog
L
LangChain Blog
A
About on SuperTechFans
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
DataBreaches.Net
宝玉的分享
宝玉的分享
U
Unit 42
阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
N
Netflix TechBlog - Medium
The Cloudflare Blog
Microsoft Azure Blog
Microsoft Azure Blog
H
Help Net Security
美团技术团队
大猫的无限游戏
大猫的无限游戏
雷峰网
雷峰网
爱范儿
爱范儿
酷 壳 – CoolShell
酷 壳 – CoolShell
MongoDB | Blog
MongoDB | Blog

Jiajun的技术笔记

你好,2026! TiDB 源码阅读(六):TiDB Coprocessor 源码解析 性能优化的核心思想 TiDB 源码阅读(五):索引 TiDB 源码阅读(四):AST、逻辑计划、物理计划 CockroachDB Serverless Architecture podman 无故退出 Cursor Control-L (CTRL-L) Keyboard Shortcuts in Terminal Replace docker with podman Using xmonad with xfce4 A RC script for freebsd frpc 自己动手写一个k8s controller AI 会取代你的(编程)岗位吗? 自建DERP服务器提升Tailscale连接速度(使用Nginx转发) 自动升级Docker容器 再读《程序员修炼之道-从小工到专家》 让浏览器下载文件 再读《软件随想录》/《黑客与画家》/《软技能》 HTTP 压力测试中的 Coordinated Omission 2的补码 编程语言中的 context 是什么? flutter macOS 构建出错 Flatpak 使用小记 Golang CAS 操作是怎么实现的 PostgreSQL 当MQ来使用 Clash 结合 工作VPN 的网络设计 使用 PostgreSQL 搭建 JuiceFS PostgreSQL 配置优化和日志分析 有GitHub Copilot?那就可以搭建你的ChatGPT4服务 窗口函数的使用(以PG为例)
用 Siri 来控制虚拟机开启和关闭
Jiajun Huang · 2025-09-21 · via Jiajun的技术笔记

我有下载专用的虚拟机和游戏专用的虚拟机,每次打开使用,都要通过 SSH 进去执行命令,或者用 cockpit 网页进行开关, 最近发现 iOS 快捷指令可以执行 SSH 命令,配置一个快捷指令,就可以通过 Siri 进行控制了。

控制脚本

#!/bin/bash

# 检查是否提供了参数
if [ $# -ne 2 ]; then
    echo "用法: $0 <start/shutdown> <虚拟机名称>"
    exit 1
fi

OP="$1"
VM_NAME="$2"

# 检查虚拟机是否存在
if ! sudo virsh dominfo "$VM_NAME" &>/dev/null; then
    echo "错误: 虚拟机 '$VM_NAME' 不存在"
    exit 2
fi

case "$OP" in
    "shutdown")
        echo "正在关闭虚拟机 '$VM_NAME'..."
        sudo virsh shutdown "$VM_NAME"
        ;;
    "start")
        echo "正在启动虚拟机 '$VM_NAME'..."
        sudo virsh start "$VM_NAME"
        ;;
    *)
        echo "虚拟机 '$VM_NAME' 处于未知状态: $VM_STATE"
        echo "请手动检查状态"
        exit 3
        ;;
esac

将文件内容保存到 /usr/local/bin/vmctl.sh,并设置执行权限

配置 sudo 免密执行该脚本

新增文件 /etc/sudoers.d/vmctl,内容如下:

# 允许用户无需密码执行vmctl
jiajun ALL=(ALL) NOPASSWD: /usr/local/bin/vmctl.sh *

配置快捷指令

在 Siri 设置中,点击左上角的添加按钮,搜索SSH,然后配置好用户名、IP、证书、命令,然后就可以通过Siri来控制虚拟机开启关闭, 非常方便。