考虑macmini的使用频率越来越低,又觉得拿ipad来当屏幕使用也很酷关键也很方便,也能减掉一块屏幕,又不影响macmini当作旁路由和服务器的日常维护。网上到的一些方案,大多数都是 随航 功能的包装,解决不了根本的问题,找到这个项目,解决了大部分问题,能稳定连接,可以当作第二屏幕,但是不能当作唯一屏幕使用。自己需求自己解决,抽时间优化了一部分代码,同时使用better display虚拟一块屏幕。
实现效果
- macmini必须的接线只有一根电源线;
- 开机后通过局域网管理macmini与ipad的屏幕连接,支持连接、断开、停止服务
- 屏幕连接中断以后支持自动重连
软件及环境
- python
- PyWebIO
- baselib
- betterdisplay (来源于网络)
- ipadUAM.zip
我这里使用了虚拟环境
示例参考,:
- 解压ipadUAM.zip 进入文件主目录以后执行
python -m venv venv
创建了虚拟环境; - 执行
source venv/bin/activate
激活虚拟环境; - 安装依赖:
pip install -r requirements.txt
实现步骤
- 替换ipad名称和文件路径
- /sidecar/sidecar.applescript : 27行处替换为ipad的设备名称;
- *.sh 和 *.py文件中的
/Users/wangqifei/Documents/ipadUAM
需要替换为自己的路径 - sidecar.app : 使用 脚本编辑 对/sidecar/sidecar.applescript进行导出成
应用程序
保存至应用程序
目录 - ipadUAM.app :自动化操作 - 新建 应用程序 - 搜索 运行shell脚本 粘贴以下内容,并导出成
应用程序
保存至应用程序
目录 :1
2
3
4
5
# 激活虚拟环境
source /Users/wangqifei/Documents/ipadUAM/venv/bin/activate
# 执行 Python 脚本
python3 /Users/wangqifei/Documents/ipadUAM/main.py
- 设置 - 隐私与安全 - 辅助功能 给以下app开启权限: 脚本编辑器、sidecar.app、ipadUAM.app、batterdisplsy
- 设置 - 通用 - 登录项 给以下软件开启登录自启动权限: sidecar.app、ipadUAM.app、batterdisplsy
- 安装并打开betterdisplay - 设置 - 显示器 - 概述 - 创建一个虚拟屏幕(根据你ipad型号选择即可)
- 设置 - 显示器 - 添加ipad并用作
主屏幕
,虚拟屏幕用作ipad镜像
(需要按此配置一次) - 配置账号
自动登录
。很多教程是取消了账号的密码,其实配置自动登录更有好一些。另外关于自动锁屏以后解锁的问题,你可以盲输密码解锁,我这里是配合了watch解锁设备,登录的问题也能完美解决。 - 这样mac的声音是不能投到ipad上的,我这里采用了air pod来解决,后来发现连上蓝牙音箱效果其实更好。
配置完成。
关机重启测试下能否自动连接ipad作为唯一屏幕使用:
开机后在ipad端(局域网内任何设备都可以)浏览器访问 ipad ip:80
这里使用的是80端口,如果出现端口被占用,可以查看并停用相应服务或者在main.py
末尾修改端口号。在页面就可以管理连接情况了
个人测试使用体验还算完美,折腾 >实用 。按需选择!