本文使用自動化工具創(chuàng)建應(yīng)用程序來一鍵運行腳本重啟簡體中文輸入法的進(jìn)程,從而解決macOS的假死問題。如果只想看看解決方法的話,可以跳轉(zhuǎn)到“使用‘自動化’工具建立應(yīng)用程序”段落。
引言
我的電腦使用習(xí)慣可謂是很差,軟件一直常駐后臺,電腦幾乎除了系統(tǒng)更新都不關(guān)機(jī),合上蓋子就算是讓她休息了。本以為macOS能以一貫的穩(wěn)定性支撐我的任性操作,但事與愿違。她經(jīng)常會在不間斷運行大概兩周到一個月后,出現(xiàn)“假死”的情況。主要表現(xiàn)為鼠標(biāo)轉(zhuǎn)圈圈,很多操作都不能實現(xiàn),不能輸入文本,系統(tǒng)ui也響應(yīng)十分慢,而資源監(jiān)視卻看不到很高的占用。一般出現(xiàn)此類情況只能關(guān)機(jī)或重啟。我一度以為是電腦出現(xiàn)了硬件問題,拿去天才吧檢測卻是一切正常。后來在網(wǎng)上發(fā)現(xiàn)了一條吐槽macOS中文輸入法導(dǎo)致死機(jī)的帖子,之后在后續(xù)出現(xiàn)的死機(jī)過程中,我忍著卡頓的操作去Activity Monitor中強(qiáng)制關(guān)掉了簡體中文輸入法,電腦瞬間就不卡了,這也是我一年來左右一直的解決方案。但是每次卡死就忍著卡頓去Activity Monitor關(guān)掉進(jìn)程屬實很麻煩,因此就有了這個方法,下面介紹下思路和具體的方案。
前置工作
使用ps或者kill all命令去抓Activity Monitor中的Process Name“Simplified Chinese Input Method”是行不通的,抓取Simplified Chinese是根本抓取不到任何信息。因此逆向思維一下,使用它提供的PID成功抓到了真正的程序叫做“/System/Library/Input Methods/SCIM.app/Contents/PlugIn”。接下來就簡單多了,用pgrep獲取進(jìn)程的PID,然后傳遞PID給kill命令,把進(jìn)程殺掉即可。重啟就不需要了,殺掉他后他會自動重啟,而殺掉他后系統(tǒng)的卡死狀態(tài)也會得到恢復(fù)。簡化一下指令,只需要一段命令即可
pgrep -f "/System/Library/Input Methods/SCIM.app/Contents/PlugIn" | xargs kill -HUP
但是每次在卡死的狀態(tài)下輸入這樣一行代碼依舊很困難。因此接下來我把它使用macOS自帶的自動化工具包裝成一個應(yīng)用程序。這樣就可以在每次系統(tǒng)出現(xiàn)問題的時候緊急救援(笑)
使用『自動化』工具建立應(yīng)用程序
macOS自帶的“自動化”應(yīng)用程序十分強(qiáng)大,可以很方便的執(zhí)行多樣的任務(wù)。我們新建一個“應(yīng)用程序”類別,然后添加“Run Shell Script“,在其中輸入上述指令,也就是:
pgrep -f "/System/Library/Input Methods/SCIM.app/Contents/PlugIn" | xargs kill -HUP
這時候可以嘗試運行一下,如果沒有報錯的話就可以進(jìn)行下一步。我們這個應(yīng)用程序?qū)嶋H上并不是傳統(tǒng)意義上的應(yīng)用程序,只需要它運行后就退出即可。因此我加了一段AppleScript在后面,用來執(zhí)行退出應(yīng)用程序的指令。同樣是添加“Run AppleScript“,在其中輸入:
tell current application
delay 2
set quitapp to "Save"
tell application quitapp to quit...
return "done"
end tell
這里面的“Save”是我的app名稱,這里可以自己改成自己喜歡的,當(dāng)然也記得要把a(bǔ)pp名稱也進(jìn)行相應(yīng)的修改。在這之后就可以將app儲存在Application文件夾中,這樣他就會出現(xiàn)在Launchpad中。如果你喜歡的話,也可以把它固定在dock中。然而默認(rèn)的自動化程序圖標(biāo)十分的丑陋,幸運的是我們可以很方便的進(jìn)行更改。
更改自動化生成的 App 圖標(biāo)
在Application文件夾中找到我們剛剛創(chuàng)建的app,右鍵get info后可以看到如下頁面。
替換圖標(biāo)十分輕松與愉快,首先復(fù)制一張你喜歡的圖片,隨后到剛剛的界面,點擊一下左上角的應(yīng)用圖標(biāo)。你會發(fā)現(xiàn)圖標(biāo)四周出現(xiàn)了一圈藍(lán)色的框框,此時按組合鍵CMD+V(也就是粘貼)就可以修改圖標(biāo)的樣式。這樣在下次你的MacBook也由于簡體中文輸入法而導(dǎo)致系統(tǒng)卡死時,你就有一個優(yōu)雅且高效的”修復(fù)“方式。文章來源:http://www.zghlxwxcb.cn/news/detail-802008.html
結(jié)尾碎碎念
這種所謂的解決方法或者是”修復(fù)”方式,其實只是暴力的“哪里壞了重啟哪里”,并不能從根本上解決問題。據(jù)我所知,macOS自帶的中文輸入法多年來一直存在著各種各樣的問題。如果想從根本上解決問題,可能還需要Apple方面努努力。自Apple全面遷移到arm架構(gòu)后,已經(jīng)過了大概三年多快四年了。遷移架構(gòu)的確會帶來各種方面的問題,但經(jīng)過了這么久的時間,Apple Silicon的MacBook應(yīng)該還遠(yuǎn)不能成為“成熟”。文章撰寫過程中,“coreaudiod”進(jìn)程,也就是音頻核心進(jìn)程就又出現(xiàn)了問題,讓我不能再連上我的HomePod。從m1一路過來,蘋果的確已經(jīng)修復(fù)了很多問題,比如m1的藍(lán)牙問題,外接顯示器的問題,閃存過寫入問題。但也有很多的可能是“無足輕重”的小問題,一直沒有得到解決。比如,換一個輸入法就可以解決,而且只存在于中國大陸的簡體中文輸入法問題(這么說是因為我也同時使用日文羅馬音輸入法,從未產(chǎn)生過類似的問題),很少人用得到的MacBook 使用AirPlay到HomePod。雖然現(xiàn)在我的MacBook可以滿足我?guī)缀跛械男枨?,但也許macOS已經(jīng)不再是我心中那個,穩(wěn)定而不出錯的操作系統(tǒng)了,而那個intel的絕唱,Catalina,可能才是那個最穩(wěn)定,最不會出錯,理想中的那個macOS。希望這個文章能幫到遇到同樣問題的朋友們,然后蘋果啊,給點力啊=。=文章來源地址http://www.zghlxwxcb.cn/news/detail-802008.html
附:超簡單解決方案
- 將 Mac 自帶的輸入法卸載掉
- 安裝市面上其他輸入法(百度輸入法,推薦)
(落格輸入法,收費,但同樣有這個BUG)
到了這里,關(guān)于MacOS - 簡體中文輸入法卡死解決方案(自動化腳本)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!