Sogou, Baidu en WeChat-invoermethoden op de Mac verwijderen
Ik installeerde Sogou Input vanuit het officiële pakket en probeerde het daarna te verwijderen. De eerste poging werd geweigerd met "app is running". Twee launch agents die het installatieprogramma in /Library/LaunchAgents had gezet, stonden op KeepAlive, dus elke keer dat SogouServices en SogouTaskManager werd gevraagd te stoppen, startte launchd ze opnieuw. Een gebruiker meldde later een vergelijkbare weigering bij de invoermethode Chatterfly van Tencent: het verwijderen mislukte omdat die "in use" was.
Een invoermethode is geen gewone app. Die staat in een eigen map, macOS houdt hem op de achtergrond draaiend, en Sogou en Baidu nemen eigen helpers mee. Dit stuk behandelt Sogou, Baidu en WeChat Input (WeType) op een Mac: waar elk staat, wat blijft draaien, welke resten jouw gegevens zijn, en de volgorde die je laat blijven typen. De invoermethode van iFlytek heb ik nog niet getest, dus die wordt hier niet behandeld.
Waar invoermethoden staan
Invoermethoden gaan niet naar /Applications. Er zijn twee mappen voor: /Library/Input Methods voor elk account op de Mac, en ~/Library/Input Methods alleen voor jouw account. De officiële installatieprogramma's van Sogou en Baidu zetten hun app allebei in /Library/Input Methods, eigendom van root, dus verplaatsen vraagt om een beheerderswachtwoord. WeChat Input staat daar ook, als /Library/Input Methods/WeType.app.
Dit is ook waarom een invoermethode eruit kan zien alsof hij altijd draait. macOS start invoermethoden op verzoek, en het toetsenbordpaneel in Systeeminstellingen openen laadt elke geïnstalleerde invoermethode. Een draaiend proces van Sogou of Baidu betekent niet dat je ermee hebt getypt.
Haal hem eerst uit de lijst met invoerbronnen
De invoerbron waarmee je typt verwijderen kan je kort niet laten typen, en het invoermenu in de menubalk blijft hem tonen tot het menu herstart. Haal hem uit de lijst voordat je bestanden aanraakt:
- Schakel over naar een andere invoerbron vanuit het invoermenu in de menubalk, zoals ABC.
- Open Systeeminstellingen › Toetsenbord › Tekstinvoer › Invoerbronnen › Wijzig.
- Selecteer de invoermethode van derden en klik op Verwijder (de minknop).
Apple beschrijft dit paneel in Instellingen voor invoerbronnen wijzigen op de Mac. Een invoerbron uit de lijst halen verwijdert hem niet; de app, de helpers en de gegevens staan allemaal nog op de Mac.
Wat blijft draaien
Elk van de drie die ik bekeek, draait meer dan één proces:
- Sogou: de invoermethode zelf (
SogouInput), plusSogouServicesenSogouTaskManager, die de twee agentscom.sogou.SogouServicesencom.sogou.SogouTaskManagerin/Library/LaunchAgentsin leven houden. Beide agents zijn KeepAlive, dus de processen stoppen doet niets zolang de agents geladen zijn. - Baidu: de invoermethode (
BaiduIM), een agentcom.baidu.InputServicein/Library/LaunchAgentsdieenableInputvanuit de app draait, en een daemoncom.baidu.baiduServicein/Library/LaunchDaemonsdiebaiduServicevanuit de app in het systeemdomein draait. - WeChat Input: de invoermethode (
WeType).
De volgorde telt: verwijder of ontlaad de launch agents voordat je de processen stopt, anders komen ze meteen terug. Verwijder je bestanden met de hand, herstart dan daarna één keer zodat er niets meer vanuit de prullenmand draait.
Wat elk achterlaat
Sogou, van het officiële installatieprogramma 6.25.1:
| Onderdeel | Wat het is | Wat je doet |
|---|---|---|
/Library/Input Methods/SogouInput.app |
De invoermethode, ongeveer 549 MB | Verwijderen, vraagt om een beheerderswachtwoord |
/Library/LaunchAgents/com.sogou.SogouServices.plist en com.sogou.SogouTaskManager.plist |
De twee KeepAlive-agents | Verwijderen, vraagt om een beheerderswachtwoord |
/Library/QuickLook/SogouSkinFileQuickLook.qlgenerator |
Quick Look-voorvertoning voor skinbestanden van Sogou, ongeveer 3 MB | Verwijderen, vraagt om een beheerderswachtwoord |
~/Library/Application Support/Sogou/InputMethod |
Gebruikersgegevens van Sogou, 485 MB op mijn test-Mac | Kopieer het eerst ergens anders naartoe, en beslis daarna |
~/Library/Application Support/Sogou/ResHub en SkinShop |
De bron- en skinmappen van Sogou | Verwijderen |
Caches, HTTPStorages en voorkeuren met de namen com.sogou.inputmethod.sogou, SogouServices, SogouHelper of com.sogou.SogouTaskManager |
Instellingen en caches van de invoermethode en de helpers | Verwijderen |
~/.sogouinput |
Leeg op mijn test-Mac | Verwijderen |
~/Library/Application Support/Sogou zelf |
Bovenliggende map die andere Sogou-producten kunnen delen | Houden, verwijder alleen de submappen hierboven |
~/Library/Application Support/com.tencent.bugly |
Een SDK voor crashmeldingen die andere apps ook gebruiken | Houden |
Baidu, van het officiële installatieprogramma 5.7:
| Onderdeel | Wat het is | Wat je doet |
|---|---|---|
/Library/Input Methods/BaiduIM.app |
De invoermethode, 68 MB | Verwijderen, vraagt om een beheerderswachtwoord |
/Library/LaunchAgents/com.baidu.InputService.plist |
Agent die enableInput draait |
Verwijderen, vraagt om een beheerderswachtwoord |
/Library/LaunchDaemons/com.baidu.baiduService.plist |
Systeemdaemon die baiduService draait |
Verwijderen, vraagt om een beheerderswachtwoord |
~/Library/Application Support/BaiduInput |
Map met het gebruikerswoordenboek, 2,9 MB op mijn test-Mac | Kopieer hem eerst ergens anders naartoe, en beslis daarna |
Caches, HTTPStorages en voorkeuren met de naam com.baidu.inputmethod.BaiduIM |
Instellingen en caches | Verwijderen |
~/Library/sapi en ~/Library/Application Support/Baidu |
Ik kon niet bewijzen dat ze bij de invoermethode horen | Houden, tenzij je weet waardoor ze zijn aangemaakt |
Alles met de naam com.baidu.BaiduNetdisk-mac of baidunetdisk |
Baidu Netdisk, een ander product | Houden |
WeChat Input is degene waarmee ik elke dag typ, dus die heb ik niet verwijderd. Op deze Mac noemt Mole er 17 onderdelen voor en selecteert er standaard 11. Het ene bestand dat het niet noemt is ~/Library/Preferences/com.tencent.WeTypeSettings.plist, dat bij de instellingenhelper van WeChat Input hoort; als WeChat Input weg is, mag dat ook weg.
Je woordenboekmappen zijn hier het enige deel dat de moeite van het bewaren waard is. Kopieer BaiduInput of Sogou/InputMethod naar een map buiten ~/Library voordat je iets verwijdert, en als je later opnieuw wilt installeren, houd die kopie dan.
Controleren wat er over is
Deze commando's lezen alleen. Geen ervan verandert iets:
ls "/Library/Input Methods" ~/Library/Input\ Methods 2>/dev/null
pgrep -il 'sogou|baiduim|baiduservice|enableinput|wetype'
ls /Library/LaunchAgents /Library/LaunchDaemons ~/Library/LaunchAgents | grep -iE 'sogou|com\.baidu\.(inputservice|baiduservice)'
ls -d ~/Library/Application\ Support/Sogou/* ~/Library/Application\ Support/BaiduInput ~/.sogouinput 2>/dev/null
Het eerste commando noemt de invoermethoden die nog geïnstalleerd zijn; SogouInput.app, BaiduIM.app of WeType.app in de uitvoer betekent dat die er nog is. pgrep dat niets afdrukt betekent dat geen van hun processen draait. Een regel van een bundel die je al hebt verwijderd, draait nog vanuit de prullenmand en gaat bij de volgende herstart weg, en een proces dat binnen seconden na het stoppen terugkomt betekent dat er nog een launch agent geladen is. Het derde commando hoort niets af te drukken zodra de agents en de daemon weg zijn. Het laatste noemt de gegevensmappen; wat het toont staat nog op schijf, en of je het houdt is jouw keuze na de reservekopie.
Hoe Mole ermee omgaat
Mole kijkt in beide mappen Input Methods, zodat een invoermethode in de applijst verschijnt zoals elke andere app. Het toont geen hint "nu actief" of een datum van laatste gebruik voor invoermethoden, omdat macOS ze laat draaien of je ze nu gebruikt of niet. Als je er een kiest, herinnert Mole je eraan eerst naar een andere invoerbron te schakelen.
De invoermethode en de launch agents en daemon waarvan het programma erin staat, zijn standaard geselecteerd. Voordat Mole een draaiende invoermethode vraagt te stoppen, ontlaadt het die geselecteerde launchonderdelen, zodat KeepAlive de helpers niet opnieuw kan starten; dat is de oplossing die uit de weigering van Sogou hierboven kwam. Onderdelen van root hebben je beheerderswachtwoord nodig. De mappen met gebruikersgegevens (BaiduInput, Sogou/InputMethod, ~/.sogouinput), de bronmappen van Sogou, de helpercaches en de Quick Look-voorvertoning staan in de lijst maar zijn niet geselecteerd. Mole claimt alleen die precieze submappen, niet de bovenliggende map Sogou, ~/Library/sapi of de gedeelde map Bugly. Alles gaat naar de prullenmand, waar je het nog terug kunt halen.
Na een reeks die een invoermethode verwijderde, herstart Mole het invoermenu zodat de oude vermelding verdwijnt. Toen ik Chatterfly verwijderde vóór die wijziging, noemde het invoermenu hem nog, en het leek alsof het verwijderen was mislukt. Voor het verschil tussen een restbestand en een achtergrondhelper, zie Draait de app nog na het verwijderen op de Mac? en Opstartprogramma's en inlogonderdelen op de Mac uitschakelen.
Veelgestelde vragen
Kan ik de invoermethode gewoon naar de prullenmand slepen?
Je kunt de app uit /Library/Input Methods verplaatsen met een beheerderswachtwoord, maar de launch agents blijven achter, en de helpers van Sogou en Baidu die ze startten blijven draaien tot je herstart. Haal hem eerst uit de lijst met invoerbronnen, daarna de launchonderdelen, en dan de app.
De invoermethode is weg maar staat nog in het invoermenu. Is het verwijderen mislukt?
Waarschijnlijk niet. Het invoermenu houdt de lijst die het las toen het startte. Meld je af en weer aan. Optimaliseren van Mole bevat ook een herstel voor invoerwisseling dat hetzelfde menu herstart.
Raak ik mijn eigen woorden kwijt?
Alleen als je de woordenboekmap verwijdert. Kopieer ~/Library/Application Support/BaiduInput of ~/Library/Application Support/Sogou/InputMethod eerst ergens buiten ~/Library; Mole noemt deze mappen zonder ze te selecteren.