macmini m4无屏幕自动连接ipad(中文和英文版本以及改进)

macmini m4无屏幕自动连接ipad(中文和英文版本以及改进)

connect macmini m4 via iPad automatically without screen (nearby remote login)

一、前言

  大家好,我是growtry, 又是一年过去了,过去一年我用的主要操作系统从windows转向了macos,最初是为了体验macos的生态,以极低的价格入手了macbook pro 2015 15.4 inch. 然后随着这款新款模具的macmini的出现以及16g起步的超高性价比,最终以3450的价格入手了这款丐版的macmini m4. 由于其便携性,所以之前的ipad 配合macmini的想法开始提上日程,这个思路很简单,但网上的教程过于老旧以及没有适配macos 15和英文版的参考文章,所以经过一小会的折腾,决定记录一下这个过程。

二、macmini 配置

  1. 配置自动登录

      首先在用户群组(User & Groups)中开启开机自动登录,设置一下开机自动登录的用户以及再输入一次密码就行了。

      这里为了防止随时都能连接到,锁屏休眠那些就可以关闭了,macmini m4的功耗极低(无任何活动2~3w的功耗),电费你完全不用担心,全部待机以及其他改成永不(Never)。

  2. 配置虚拟显示器

      这里我就不推荐软件的虚拟显示器了,推荐tb或者jd找个靠谱一点的显卡欺骗器,大概就10块钱,选择4k 60hz的就行了,ipad 镜像这个虚拟显示器,之后你也可以将ipad的随航设置为主显示屏,这样ipad就没有类似大黑边这种情况,macos 的ipad,亲测触控笔都是可用的,但有个缺点,你得配一个键盘,ipad自带的键盘貌似不能唤起。

  3. 配置快捷指令

      这部分就是这篇文章中最折腾的,由于macos的迭代更新,某些布局的id名字很有可能变了,所以目前只能保证macos 15可以用,至于更高的版本可能需要改一下字段名啥的,目前来看这种方式失效的可能不是很大,是非常合规的操作,这一点无需担心。以下配置了两个版本的快捷指令,主要是关于统一控制(universal control)以及随航两种状态同时出现的改进,快捷指令怎么设置这边就不展示了,以下是关于两个版本的快捷指令代码。

      其中关于出现两个item的位置为什么是7和3,只能说感谢网友,最简单的方法就是一个一个试。这里的ipad的名称,我们采用了索引的方式进行定位,所以也就不需要设置自己ipad的名字了,如果你只有一个ipad在旁边的话,你完全可以直接用,如果有多个的话就需要你自己折腾去调整位置了。

    • 英文版本
    on run {input, parameters}
        
        set counter to 0
        
        set x to 0
        
        beep 1
        
        repeat while counter = 0 and x < 5
            
            tell application "System Settings"
                
                activate
                
                delay 1
                
                tell application "System Events"
                    
                    tell process "System Settings"
                        
                        click menu item "Displays" of menu "View" of menu bar item "View" of menu bar 1
                        
                        delay 0.5
                        
                        tell group 1 of group 2 of splitter group 1 of group 1 of window "Displays"
                            
                            try
                                
                                click pop up button 1
                                
                                delay 0.6
                                
                                if (menu item "Link keyboard and mouse to" of menu 1 of pop up button 1) exists then
                                    
                                    click menu item 7 of menu 1 of pop up button 1
                                    
                                else
                                    
                                    click menu item 3 of menu 1 of pop up button 1
                                end if
                                
                                say "连接成功"
                                
                                set counter to 1
                                
                            on error
                                
                                if x = 0 then say "未找到ipad"
                                
                                set x to x + 1
                                
                                delay 2
                                
                            end try
                            
                        end tell
                        
                    end tell
                    
                end tell
                
            end tell
            
        end repeat
        
        if x = 5 then
            
            say "连接中止"
            
        end if
        
    end run
    • 中文版本
    on run {input, parameters}
    
        set counter to 0
    
        set x to 0
    
        beep 1
    
        repeat while counter = 0 and x < 5
    
            tell application "System Settings"
    
                activate
    
                delay 1
    
                tell application "System Events"
    
                    tell process "System Settings"
    
                        click menu item "显示器" of menu "显示" of menu bar item "显示" of menu bar 1
    
                        delay 0.5
    
                        tell group 1 of group 2 of splitter group 1 of group 1 of window "显示器"
    
                            try
    
                                click pop up button 1
    
                                delay 0.6
    
                                if (menu item "连接键盘和鼠标至" of menu 1 of pop up button 1) exists then
    
                                    click menu item 7 of menu 1 of pop up button 1
    
                                else
    
                                    click menu item 3 of menu 1 of pop up button 1
    
                                end if
    
                                say "连接成功"
    
                                set counter to 1
    
                            on error
    
                                if x = 0 then say "未找到ipad"
    
                                set x to x + 1
    
                                delay 2
    
                            end try
    
                        end tell
    
                    end tell
    
                end tell
    
            end tell
    
        end repeat
    
        if x = 5 then
    
            say "连接中止"
    
        end if
    
    end run
  1. 配置远程登录的用户

      配完以上三个,你可能会有点疑惑,ipad到时候怎么操作啊,开机就自动启动随航吗?当然不是,我们只需要在ipad上面启动一个快捷指令就能进行连接了。在配置ipad的快捷指令之前,我们需要一个桥梁,macos的ssh登录,我们只需要开启一个远程登录(remote login)就行了。选择仅这些用户登录(only these users),如果没有你想要的用户名请手动添加。

  2. 测试快捷指令是否可用

      点击快捷指令的运行按钮,测试是否能运行,如果出现报错,大概率是隐私和安全那边的某个权限未打开,可以自行处理相关问题。然后这里还需要进行一个简单的配置,让我们可以用ssh快速启动我们的快捷指令。

    • 添加快捷指令到程序坞(dock)上
    • 添加到应用程序中

    经过以上步骤,你就可以得到一个以上面快捷指令命名的.app结尾的应用了,然后接下来就好办多了。

三、iPad 配置

  1. 配置快捷指令

    这里需要配置一下通过ssh运行脚本,你的ipad可能需要打开某个权限以运行这个脚本,但这个不是问题。快捷指令的名称请进行替换成自己刚刚macmini上的命名。

    open -a '快捷指令名.app'

    其中有个本地主机名需要在以下设置中进行获取。所以你应该就明白了,这种启动方式至少需要在同一个内网的情况下才是可以的,当然也可以自己用第三方远程工具,例如todesk啥的启动这个自动随航的脚本。

  2. 连接macmini

    ipad启动这个快捷指令就能启动了,这个特别容易。进去之后,可以切换成ipad当成主显示器,取消黑边。以下是效果图,显示效果很不错。

四、使用场景

  至此,你可以只用一个ipad和macmini,再加上一条macmini的电源线就能直接出差办公了,目前还没有大神做出这个模具的交流改直流的方案,如果可以做到的话,那么这一代的macmini可以封神了。

文章目录