V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
coderbean
V2EX  ›  Apple

关于 MacOS 因为自带双拼输入法引起系统卡死的问题

  •  
  •   coderbean · 59 天前 · 479 次点击
    这是一个创建于 59 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我的电脑

    • 芯片:Apple M1 Pro
    • 内存:32GB
    • 系统:macOS Ventura 13.0.1

    问题描述

    最近换了新公司,然后换了新电脑。但是换了新电脑之后每过三四天整个电脑就会卡的要命。 具体表现为: 一旦有新的动作发生(例如切换 APP ),动作很慢,大概要等 5 分钟左右才会切换到另外一个 app 的窗口。曾经一度以为是内存的问题,因为发生后,切换 app 异常困难,打开活动监视器也是很慢,想要定位到是谁的问题,十分麻烦。所以每次都是重启解决。经过三四天问题又回重现。

    问题解决

    昨天又出现了同样的问题,但是不一样的是这次我发现输入法的选词界面卡在了那里,所以猜想是否是输入法的问题。耐住性子打开资源管理器,找到了“简体中文输入方式”未响应,另外 CPU 占用到了 90%+。然后强制退出后 CPU 占用恢复正常,也不再卡顿了。重新切换输入法,简体中文输入方式进程会重新启动,不再卡顿。

    复盘

    1. 同样的问题,别人用的搜狗输入法没有遇到
    2. 同样的问题,别人用的自带全拼输入法没有遇到
    3. 同样的问题,在上一个版本的 macOS 中也遇到了
    4. 目前写了一个脚本,快速杀掉“简体中文输入方式”进程,以后再遇到问题可以通过 kpy 快速解决了

    吐槽

    苹果的输入法总是有各种各样的问题,原来也看到有人遇到用久了会卡顿的问题,加上双拼用的人比较少,用苹果自带输入法的双拼的更少了,所以网上页查不到资料。

    附上脚本

    alias kpy="kill -9 `ps -ef | grep SCIM_Extension | grep -v grep | awk '{print $2}'`"
    

    “简体中文输入方式”对应的进程名是

    /System/Library/Input Methods/SCIM.app/Contents/PlugIns/SCIM_Extension.appex/Contents/MacOS/SCIM_Extension -AppleLanguages ("zh-Hans-CN", "en-CN")
    
    7 条回复    2022-12-19 19:48:24 +08:00
    Andreas8
        1
    Andreas8  
       59 天前 via iPhone
    我是在 safari 用简拼的时候会卡住,用其他浏览器没问题
    kaz10025
        2
    kaz10025  
       59 天前
    现在遇到的是 盒盖后就死机 能切换 app 但是鼠标转圈 只能强制重启
    tobemaster
        3
    tobemaster  
       58 天前   ❤️ 1
    一模一样的情况,脚本可以优化一下
    ```bash
    kill `pgrep SCIM`
    ```
    不是双拼的问题,只要是中文输入法,甚至是繁体中文,都有人遇到过
    coderbean
        4
    coderbean  
    OP
       58 天前
    @tobemaster 想问一下,怎么让反括号的内容每次都执行。我现在是放到了 alias 里面了,执行过一次,反括号里面的进程名就被写进一个临时变量了,下次再执行不会获取最新的进程好
    coderbean
        5
    coderbean  
    OP
       58 天前
    最终的 alias 语句
    ```
    alias kpy='kill -9 $(pgrep SCIM)'
    ```
    原来单引号和双引号还不一样,双引号里面的 subshell 执行结果会暂存然后替换,单引号不会
    https://unix.stackexchange.com/questions/288506/how-to-save-an-alias-of-an-eval-other-comand-command
    tobemaster
        6
    tobemaster  
       58 天前
    ```bash
    kill -9 `pgrep SCIM`
    ```
    加了-9 ,强制杀死进程,后面每次获取的就是新的 pid 了
    SakuraYuki
        7
    SakuraYuki  
       40 天前
    全拼也会卡
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   276 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 20:30 · PVG 04:30 · LAX 12:30 · JFK 15:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.