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

总结贴,解决 Mac 中文输入法卡顿

  •  1
     
  •   tobemaster · 2022-11-30 00:06:49 +08:00 · 18174 次点击
    这是一个创建于 706 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我自己前不久,遇到了一个卡顿问题,在网上搜索了很久,本站内也有不少帖子描述了同样的事情

    看了不少网文之后,总结了一下,如果再有朋友遇到这种问题,可快速查看

    解决 Mac 中文输入法卡顿

    当然,不能保证覆盖所有的情况,但是多少可以节约后来人的一些时间。

    第 1 条附言  ·  2022-12-01 09:41:32 +08:00

    遇到卡顿,先尝试在终端下执行

    kill pgrep SCIM

    解释一下: 上面的命令就是,杀死“简体中文输入方式”的进程,终端下 echo pgrep SCIM,得到的就是 “简体中文输入方式”的进程id (pid)

    如果杀死进程后,系统不卡顿了,如果不想用第三方输入法,坚持用 mac 自带的输入法,那么这个杀进程续命的确是个妥协的办法。杀死“简体中文输入方式”的进程后,这个进程还会自动重启,不影响输入法的使用

    也可以参考 解决 Mac 中文输入法卡顿 调整相关选项的配置,尝试一下,毕竟造成这个问题的原因多种多样

    第 2 条附言  ·  2022-12-01 09:46:15 +08:00

    第一条附言写错了,有些部分要加反引号

    # 查看 简体中文输入方式的 pid
    echo `pgrep SCIM`
    
    # 杀死 简体中文输入方式的进程
    kill `pgrep SCIM`
    
    第 3 条附言  ·  2022-12-01 14:48:40 +08:00
    kill -9 `pgrep SCIM`
    

    经过测试,还是需要加上 -9,强制杀死进程,这样最可靠

    第 4 条附言  ·  2023-09-02 08:38:26 +08:00
    可以尝试这个,别人写的开源杀输入法进程的工具: https://github.com/xiao99xiao/SCIMKiller
    70 条回复    2024-08-17 03:46:15 +08:00
    cubecube
        1
    cubecube  
       2022-11-30 00:16:11 +08:00
    你这并没有完全解决呀,之前有的版本 sogou 也卡。。哈哈
    SEVLT
        2
    SEVLT  
       2022-11-30 00:31:34 +08:00
    头疼当事人来了,不过最终我是通过这个办法解决的:取消选中"显示器具有单独的空间"
    https://zhuanlan.zhihu.com/p/429521876

    楼主可以整理补充下
    summersun2021
        3
    summersun2021  
       2022-11-30 00:49:46 +08:00   ❤️ 1
    一直用自带的输入法,从来没试过卡顿,mbp m1 pro max
    KevinDo2
        4
    KevinDo2  
       2022-11-30 01:13:39 +08:00
    我完全没有遇到过诶
    cgcs
        5
    cgcs  
       2022-11-30 02:08:23 +08:00
    从我的体验来看,最好的方法是换个新款的本本
    seanzxx
        6
    seanzxx  
       2022-11-30 02:15:26 +08:00
    一直用原生的输入法,从来没遇到过卡顿。
    LxExExl
        7
    LxExExl  
       2022-11-30 05:22:00 +08:00 via iPhone   ❤️ 1
    一直用原生输入法

    2019 i9 mbp 卡顿
    2019 Mac Pro 卡顿
    2020 M1 pro 也是卡顿

    不过都开启了 file vault 切换输入法的时候卡顿,可能一两周出现一次?
    xell
        8
    xell  
       2022-11-30 08:59:03 +08:00   ❤️ 2
    感谢总结,我也补充一个看起来简单得不可思议但至少在我这里确实有效的方案:Command+Option+H ,也即隐藏所有其他窗口,然后输入法就立马不卡顿了。我的系统是 Ventura 13.0.1 ,用的原生双拼。
    tobemaster
        9
    tobemaster  
    OP
       2022-11-30 09:21:20 +08:00
    @cubecube 你说的对,造成这个问题的原因,非单一因素,所以也很难彻底解决,我也只是总结总结前人经验,我自己的经验,肯定不代表所有人
    tobemaster
        10
    tobemaster  
    OP
       2022-11-30 09:21:39 +08:00
    @SEVLT 感谢,我补充一下
    tobemaster
        11
    tobemaster  
    OP
       2022-11-30 09:24:48 +08:00
    @summersun2021 好运气,不过从长远来看,多经历几个大版本升级,或者使用外置显示器,遇到的概率会增加
    tobemaster
        12
    tobemaster  
    OP
       2022-11-30 09:26:48 +08:00
    @cgcs 我刚买的 Mac studio 不久,升级了大版本就遇到了,换机解决,普通人不容易做到
    Henrybsbhp
        13
    Henrybsbhp  
       2022-11-30 09:27:06 +08:00
    我也想用原生的輸入法,但無奈原生的倉頡不是標準第五版,有些字打起來格外難受。而且原生倉頡的「難」鍵選第二個字在很多情況下用不了,頭大。目前用的 RIME ,但在最近兩代的 macOS 下只要很多天沒重啟的情況下就會打字卡頓(中文狀態下)。也不知道是不是 M1 系列芯片的原故,反正我的 M1 和 M1 Max 都有這情況。
    tobemaster
        14
    tobemaster  
    OP
       2022-11-30 09:27:34 +08:00
    @xell 感谢补充
    todorov
        15
    todorov  
       2022-11-30 09:28:06 +08:00
    用的自带五笔,没感觉过卡呀。M1 PRO
    tobemaster
        16
    tobemaster  
    OP
       2022-11-30 09:30:08 +08:00
    @Henrybsbhp 某些软件在 M1 的平台上确实有问题,可以看我这篇文章,当时被折磨的很难受

    https://medium.com/@tobemaster/macos%E7%B3%BB%E7%BB%9F%E5%83%8F%E6%98%AF%E8%A2%AB%E5%86%BB%E7%BB%93%E4%BA%86%E4%B8%80%E6%A0%B7-4de55befbe82
    tobemaster
        17
    tobemaster  
    OP
       2022-11-30 09:32:57 +08:00
    @Henrybsbhp 杀死中文输入法进程,试一下,打开终端,执行

    kill `pgrep SCIM`
    ios
        18
    ios  
       2022-11-30 09:40:06 +08:00
    总结下来,继续用百度了
    wowodavid
        19
    wowodavid  
       2022-11-30 09:40:21 +08:00 via iPhone
    我也遇到了,目前办法是直接删了系统输入法,只保留搜狗
    tobemaster
        20
    tobemaster  
    OP
       2022-11-30 09:41:25 +08:00
    @wowodavid 同道众人,🤝
    Henrybsbhp
        21
    Henrybsbhp  
       2022-11-30 09:50:51 +08:00
    @tobemaster 感謝,等再次出現卡頓時我再試試。
    banliyaya
        22
    banliyaya  
       2022-11-30 10:21:32 +08:00
    有人遇到过 不管是用自带的拼音输入还是搜狗,经常莫名其妙切换到 abc 了,有时候按 shift 还没用,必须得按几次 fn 才能切换输入法
    retamia
        23
    retamia  
       2022-11-30 10:34:47 +08:00
    macbook 是带有 touch bar 的,把输入法侯选词在 touchbar 显示关掉后就不卡了。 我是这样的情况
    propheteee
        24
    propheteee  
       2022-11-30 10:45:32 +08:00
    @banliyaya 我昨天卸载了自动切换输入法后有遇到过,搜狗自动切换到 abc 。。。
    ww2000e
        25
    ww2000e  
       2022-11-30 11:11:03 +08:00
    只用自带的,不做任何设置
    CY4suncheng
        26
    CY4suncheng  
       2022-11-30 12:29:02 +08:00
    RIME 就挺流畅的
    ye4241
        27
    ye4241  
       2022-11-30 12:44:49 +08:00
    为啥我一点都没感觉到卡顿的。。。用的系统输入法的
    wowodavid
        28
    wowodavid  
       2022-11-30 13:27:58 +08:00
    @tobemaster 删输入法需要关了 sip ,原来可以关闭 sip-删除输入法-开启 sip 。但你有没有遇到 ventura 升级以后,关了 sip 以后,再也打不开 sip 的问题?
    tobemaster
        29
    tobemaster  
    OP
       2022-11-30 13:49:03 +08:00
    @wowodavid 我的说法有点误导,我想表达的是,我之前启用了系统自带的简体双拼后,后面又在输入法列表中删除了,不是真正的从系统中彻底删除输入法,只是不使用了而已
    tobemaster
        30
    tobemaster  
    OP
       2022-11-30 13:50:49 +08:00
    @wowodavid 关闭 sip 这个操作有点危险,我没试过这么操作过,需要关闭 sip 才能使用的软件,我一般不用
    tobemaster
        31
    tobemaster  
    OP
       2022-11-30 13:51:51 +08:00
    @ye4241 可能你的没 touchBar ,也没接外接显示器,比较幸运吧
    Leon821
        32
    Leon821  
       2022-11-30 14:10:12 +08:00
    关闭独显,只用核显。除此之外还能解决发热的问题
    Aurt
        33
    Aurt  
       2022-11-30 14:12:30 +08:00
    @cgcs 亲测没用
    infun
        34
    infun  
       2022-11-30 14:28:06 +08:00
    @ios 有没有遇到过百度输入法写硬盘比较多的情况啊,几天写了将近 2G
    cgcs
        35
    cgcs  
       2022-11-30 14:40:45 +08:00
    @Aurt 我之前是一台 2016 的 MBP ,卡得不行。换了 M2 的 MBA ,一切顺畅了。
    ye4241
        36
    ye4241  
       2022-11-30 15:19:05 +08:00
    @tobemaster 有 touchbar ,但是的确没接显示器的。
    ios
        37
    ios  
       2022-11-30 15:32:08 +08:00
    @infun 没发现,可能我硬盘还比较多,你是怎么发现的
    infun
        38
    infun  
       2022-11-30 17:48:14 +08:00
    @ios 看另一个软件 CPU 占用 顺手看了一下
    Focus9
        39
    Focus9  
       2022-11-30 18:07:34 +08:00
    卡顿正常吧, win 的自带输入法也有会卡顿
    Aurt
        40
    Aurt  
       2022-11-30 18:15:18 +08:00
    @cgcs 18 款 mbp 换 m1pro ,偶尔还是卡
    Rrobinvip
        41
    Rrobinvip  
       2022-12-01 00:47:16 +08:00 via iPhone
    有个说法是“关闭大写锁定键”切换中英输入法。那我怎么切换输入法?
    tobemaster
        42
    tobemaster  
    OP
       2022-12-01 09:53:11 +08:00
    @Rrobinvip 系统有个默认快捷键,切换上一个输入法:control + 空格, 切换输入法菜单中的下一个输入法:control + option + 空格
    axis3155567
        43
    axis3155567  
       2022-12-01 15:18:46 +08:00
    落格代替原生后,再也没有发生过卡顿
    parthenon2007
        44
    parthenon2007  
       2022-12-02 08:11:09 +08:00
    @axis3155567 我和你恰好相反,用落格会偶尔卡顿,原生的不卡。
    PKX
        45
    PKX  
       2022-12-05 22:32:58 +08:00
    当事人来了,谢谢老哥的经验,在 word 输入中,我最近的解决方法是语言默认为英文并关掉不检查拼写或语法以及自动检测语言。
    isaced
        46
    isaced  
       2023-02-13 16:00:40 +08:00
    亲测 kill 有效,感谢楼主!
    iamqk
        47
    iamqk  
       2023-03-29 17:05:57 +08:00
    我是今天从 mon 升级到 ven
    卡的不行
    把输入法从设置里面删除,然后重新添加就好了
    中文输入法和 abc 都做了类似的处理,abc 开始删除不掉,加一个 abc 扩展哪个,然后删除,再添加,再删 abc 扩展就行了
    zwyyy456
        48
    zwyyy456  
       2023-04-20 20:28:01 +08:00
    我也碰到了,我发现就是在火狐浏览器里卡,然后 vscode 输入中文也会卡; edge ,微信等地方输入中文不会卡
    JayeGT002
        49
    JayeGT002  
       2023-05-15 00:16:36 +08:00
    建议进 crontab 设置个定时,不然用一段时间就卡死自己万一还想不起来解决方法就 GG

    ```
    0 */1 * * * kill -9 `pgrep SCIM`
    ```
    fengleiyidao
        50
    fengleiyidao  
       2023-05-27 16:59:47 +08:00 via iPhone
    日了 果然一 kill 就不卡了
    redsun368573607
        51
    redsun368573607  
       2023-05-28 20:11:58 +08:00
    这个问题我升级 macOS 13 之后就一直有,更新了几个小版本后仍然没有修复,我现在已经把 kill 的操作添加到快捷方式,这样一点就可以解决卡死
    xiaq
        52
    xiaq  
       2023-06-15 01:12:42 +08:00
    来一个 datapoint ,升级了 Sonoma 之后就不卡了
    crs0910
        53
    crs0910  
       2023-06-15 17:44:56 +08:00
    @xiaq 我倒是升级 Sonoma 之后,在很多场景下点击输入框会卡死
    chenxiankong
        54
    chenxiankong  
       2023-06-16 16:47:55 +08:00
    @xiaq 你好,请问升级之后中文输入是和英文一样的速度吗?是否有延迟呢?
    summersun2021
        55
    summersun2021  
       2023-06-26 12:42:41 +08:00
    @tobemaster #11 不好意思,208 天后我回来了,更新到几个新版本终于遇到了,可能最近装的 app 有点多,确实卡顿后退出输入法秒好。
    qzydustin
        56
    qzydustin  
       2023-07-23 21:19:13 +08:00
    写了个完善一点的脚本,有需要自取

    https://gist.github.com/qzydustin/9e107d1d7e918aedf168a672f5e73f9a
    tyhunter
        57
    tyhunter  
       2023-07-26 15:42:15 +08:00
    MARK ,被这个问题搞得神烦。每隔几分钟必须卡十几秒
    tobemaster
        58
    tobemaster  
    OP
       2023-09-02 08:37:20 +08:00
    可以尝试这个,别人写的开源杀进程的工具: https://github.com/xiao99xiao/SCIMKiller
    kiradesui
        59
    kiradesui  
       2023-09-28 17:38:58 +08:00
    @wowodavid 自从升了 13, 输入法就解决不了卡顿的问题, 习惯了用搜狗, 已经把系统输入法删掉只保留一个搜狗了, 但还是卡, 把系统输入法干掉之后, 进程根本搜不到 scim... 不知道是哪里造成的卡顿
    GabrielleBellamy
        60
    GabrielleBellamy  
       2023-10-06 12:57:24 +08:00
    @cubecube 真的,刚刚就卡了,然后奇了怪了,我用的是搜狗诶,然后来找经验帖来了……
    GabrielleBellamy
        61
    GabrielleBellamy  
       2023-10-06 13:00:41 +08:00
    @kiradesui +1 我也是。在猜想可能是窗口太多导致内存泄露?
    kiradesui
        62
    kiradesui  
       2023-10-10 13:49:35 +08:00
    @GabrielleBellamy 我最后的解决方案 降级到 12.7 养老 丝滑得一批... 我用的 m2 air
    GabrielleBellamy
        63
    GabrielleBellamy  
       2023-10-10 20:18:44 +08:00
    @kiradesui #62 哎……😭 12 真的问题少很多,如果我不需要用台前调度我一定会觉得这是这几年最好的系统。11 不完善,13 bug 多,14 还在捏泥巴……
    lambdaq
        64
    lambdaq  
       2023-10-18 15:08:08 +08:00
    sudo pkill -9 SCIM 这样就行。
    williambao
        65
    williambao  
       2023-10-21 19:07:21 +08:00
    可行。默认输入法用一段时间就卡的不行
    kingfc
        66
    kingfc  
       2023-11-02 14:50:10 +08:00
    @crs0910 #53 同样的情况,升级之前都还能用 kill 解决一下问题,升级到 Sonoma 之后频繁了很多,并且 kill 也不行了,kill 完一旦再切到中文输入法就又卡死
    crs0910
        67
    crs0910  
       2023-11-03 09:30:37 +08:00
    @kingfc 我现在不会了,好像是重启好了
    kiradesui
        68
    kiradesui  
       358 天前
    @GabrielleBellamy 我一开始也是冲着台前调度去的, 后来发现其实也用不惯哈哈, 就是 keynote numbers 这类型的软件没办法跟别人一起用, 要我更新系统 不过算了 用 icloud 网页版凑合凑合/捂脸
    hanheihei
        69
    hanheihei  
       346 天前   ❤️ 1
    增加一条判断是否正在输入,否则输入过程中会被 kill 打断输入。终端直接 crontab -e 输入以下即可。
    ```
    0 */1 * * * if [ -n "$(pgrep 'SCIM')" ]; then cpu_usage=$(ps -p $(pgrep 'SCIM') -o %cpu=); if [ "$(echo "$cpu_usage == 0" | bc -l)" -eq 1 ]; then kill `pgrep SCIM`; fi; fi
    ```
    qzydustin
        70
    qzydustin  
       80 天前 via iPhone
    @kingfc 同样…kill 完需要重启
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5627 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 159ms · UTC 06:41 · PVG 14:41 · LAX 22:41 · JFK 01:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.