没有不值得去解决的问题,也没有不值得去学习的技术!

Upgrade VS Code to 1.132.0 on Ubuntu 26.04 and Clean Up Rime Residuals: Fcitx5 Wubi-Pinyin Verified

Figure 1: Upgrading VS Code 1.132.0 via a local .deb package, and discovering cleanable Rime-related packages in the system

作者:

在

,

Recently, I upgraded Visual Studio Code from 1.131.0 to 1.132.0 on Ubuntu 26.04.

During the upgrade, APT notified me that a batch of packages in the system were no longer needed, including several Rime input method components. Since I currently use Fcitx5 + Wubi Pinyin instead of Rime, I took the opportunity to inspect and clean up these residual packages.

I did not execute the uninstallation directly. Instead, I first used --dry-run to simulate and confirm the scope of impact, then performed the cleanup in two separate steps. This ultimately freed up about 122.8 MB of space. After restarting Fcitx5, Wubi Pinyin still works normally.

1. Currently using Fcitx5 Wubi Pinyin

I previously experimented with multiple Chinese input methods in Ubuntu, including Fcitx5, Rime, and Wubi Pinyin.

The related processes have been documented in the following two articles:

After a period of actual use, what I ultimately kept are:

  • Fcitx5 input method framework
  • Fcitx5 built-in Pinyin
  • Fcitx5 Wubi Pinyin
  • English (US) keyboard layout

Although Rime was installed and tested previously, it is no longer in use.

However, I discovered during this VS Code upgrade that some Rime data packages and dependency libraries still remained in the system.

2. Upgrading VS Code using a local .deb package

The VS Code installation package downloaded this time is:

Plaintext
code_1.132.0-1785860022_amd64.deb

The file is located at:

Plaintext
/home/wangqiang/下载/

Initially, I was somewhat concerned: would installing the .deb file through the Ubuntu graphical interface be affected by the Ubuntu Software Center or the Snap format, thereby incurring extra resource consumption?

In reality, as long as you are installing a local .deb file, what gets installed is still the Deb package; it will not automatically convert to Snap just because it was opened from the graphical interface.

However, to observe the complete installation and upgrade process, I still chose to execute it using the terminal:

Bash
cd /home/wangqiang/下载/

sudo apt install ./code_1.132.0-1785860022_amd64.deb

APT automatically detected that code was already installed in the system, so it performed a version upgrade rather than repeatedly installing a new copy of VS Code.

The key output is as follows:

Plaintext
Note, selecting 'code' instead of './code_1.132.0-1785860022_amd64.deb'

The following packages will be upgraded:
  code

Unpacking code (1.132.0-1785860022) over (1.131.0-1785237861) ...
Setting up code (1.132.0-1785860022) ...

After the installation completes, execute:

Bash
code --version

The output is:

Plaintext
1.132.0
df53daabb18cd157bdb08c7f01c34df936cf12f4
x64

This shows that VS Code has been successfully upgraded to 1.132.0, and the x64 version is currently in use.

Figure 1: Upgrading VS Code 1.132.0 via a local .deb package, and discovering cleanable Rime-related packages in the system
Figure 1: Upgrading VS Code 1.132.0 via a local .deb package, and discovering cleanable Rime-related packages in the system

As seen in the figure, VS Code upgraded normally, but APT simultaneously notified me that a batch of automatically installed packages was no longer needed.

3. APT indicates the presence of residual Rime packages

During the upgrade, APT indicated that the following packages were automatically installed but are no longer needed:

Plaintext
libgflags2.2
libgoogle-glog0v6t64
libleveldb1d
libyaml-cpp0.8
rime-data-bopomofo
rime-data-cangjie5
rime-data-luna-pinyin
rime-data-terra-pinyin
rime-essay
rime-prelude

The obvious Rime-related packages include:

  • rime-data-bopomofo
  • rime-data-cangjie5
  • rime-data-luna-pinyin
  • rime-data-terra-pinyin
  • rime-essay
  • rime-prelude

The other libraries are dependencies introduced when installing the related components previously.

Although I no longer use Rime, I am still using Wubi Pinyin, so I cannot simply delete packages just because I see rime-data-wubi or similar names.

I need to distinguish clearly first:

Plaintext
rime-data-wubi

belongs to the Rime Wubi input schema.

Whereas the Wubi Pinyin I currently use relies on Fcitx5 components, such as:

Plaintext
fcitx5
fcitx5-table
fcitx5-pinyin
fcitx5-chinese-addons

They are not the same set of input method components.

4. Fcitx5 input method status before cleanup

Before cleaning up, I first verified the current input method menu.

Figure 2: Fcitx5 input method menu before cleanup, with keyboard, Pinyin, and Wubi Pinyin all displaying normally
Figure 2: Fcitx5 input method menu before cleanup, with keyboard, Pinyin, and Wubi Pinyin all displaying normally

At that time, the menu showed:

  • Keyboard – English (US)
  • Pinyin
  • Wubi Pinyin

It also displayed additional options such as Simplified Chinese, full-width punctuation, half-width characters, and prediction.

You cannot determine the dependency relationships between these packages just from the menu’s appearance, so it is still necessary to confirm via an APT simulation of the removal results.

5. Simulate cleanup with --dry-run first

I did not execute apt autoremove directly; instead, I first ran:

Bash
sudo apt autoremove --purge --dry-run

The simulation results showed that only the following 10 packages would be removed:

Plaintext
libgflags2.2
libgoogle-glog0v6t64
libleveldb1d
libyaml-cpp0.8
rime-data-bopomofo
rime-data-cangjie5
rime-data-luna-pinyin
rime-data-terra-pinyin
rime-essay
rime-prelude

The summary is:

Plaintext
Upgraded: 0, Installed: 0, Removed: 10, Not upgraded: 60

The currently used Fcitx5 components listed below did not appear in the list:

Plaintext
fcitx5
fcitx5-chinese-addons
fcitx5-pinyin
fcitx5-table
im-config

Therefore, it is confirmed that this automatic cleanup will not remove the currently used Wubi Pinyin framework.

After confirming the simulation results, I formally executed:

Bash
sudo apt autoremove --purge

This time, 10 packages were uninstalled, freeing up space:

Plaintext
86.4 MB

Next, I cleaned the APT download cache:

Bash
sudo apt clean

apt clean usually does not output anything extra when it completes normally.

6. Confirm that Fcitx5 core components still exist

After the cleanup, I used the following command to check the Fcitx5-related packages:

Bash
dpkg -l |
    grep -E '^ii[[:space:]]+(fcitx5|fcitx5-chinese-addons|fcitx5-table|im-config)'

The results showed that the main components were all still there, including:

Plaintext
fcitx5
fcitx5-chinese-addons
fcitx5-chinese-addons-bin
fcitx5-chinese-addons-data
fcitx5-config-qt
fcitx5-data
fcitx5-pinyin
fcitx5-pinyin-gui
fcitx5-table
im-config

The GTK and Qt frontend modules were also retained:

Plaintext
fcitx5-frontend-gtk2
fcitx5-frontend-gtk3
fcitx5-frontend-gtk4
fcitx5-frontend-qt5
fcitx5-frontend-qt6

This indicates that the first cleanup did not affect the main Fcitx5 components.

7. Discovered three more Rime data packages

Next, I checked whether any Rime packages still existed in the system:

Bash
dpkg -l | grep -Ei 'rime|librime'

This command also matched several unrelated packages, such as:

Plaintext
libcolorhug2
nvidia-prime
python3-typing-extensions

This is because grep searches the entire line of text.

For example, the package name of nvidia-prime itself contains the consecutive letters rime, but it is clearly unrelated to the Rime input method.

The actual residual Rime packages are only:

Plaintext
rime-data-pinyin-simp
rime-data-stroke
rime-data-wubi

Among them:

  • rime-data-pinyin-simp is the Rime Simplified Pinyin schema
  • rime-data-stroke is the Rime stroke input schema
  • rime-data-wubi is the Rime Wubi input schema

Although the last package name contains wubi, it is not the fcitx5-table used by the current Fcitx5 Wubi Pinyin.

8. Simulate the removal of the remaining Rime data packages again

To confirm that no other software would be removed as a consequence, I first executed:

Bash
sudo apt purge --dry-run \
    rime-data-pinyin-simp \
    rime-data-stroke \
    rime-data-wubi

The results showed that only these three packages would be uninstalled:

Plaintext
[Will be removed]:
  rime-data-pinyin-simp
  rime-data-stroke
  rime-data-wubi

Summary:
  Upgraded: 0, Installed: 0, Removed: 3, Not upgraded: 60

No Fcitx5 components appeared, so I formally executed:

Bash
sudo apt purge \
    rime-data-pinyin-simp \
    rime-data-stroke \
    rime-data-wubi

This time, it freed up:

Plaintext
36.4 MB

Adding the 86.4 MB freed the first time, this cleanup freed a total of about:

Plaintext
86.4 MB + 36.4 MB = 122.8 MB

9. Check if there are any more packages to clean up

After completing the second cleanup, I simulated the execution again:

Bash
sudo apt autoremove --purge --dry-run

The result is:

Plaintext
Summary:
  Upgraded: 0, Installed: 0, Removed: 0, Not upgraded: 60

This indicates that there are currently no more packages that can be automatically cleaned up.

To prevent a standard grep from mismatching unrelated packages like nvidia-prime, you can check only the package names:

Bash
dpkg -l |
    awk '$1 == "ii" && ($2 ~ /^rime/ || $2 ~ /^librime/) {
        print $2, $3
    }'

The command produced no output, indicating that there are currently no installed packages starting with rime or librime.

10. Restart Fcitx5 and test Wubi Pinyin

After the cleanup, I clicked “Restart” from the Fcitx5 menu in the top right corner.

After restarting, the menu still displayed normally:

  • Keyboard – English (US)
  • Pinyin
  • Wubi Pinyin
Figure 3: After cleaning up Rime residuals and restarting Fcitx5, Wubi Pinyin still works normally
Figure 3: After cleaning up Rime residuals and restarting Fcitx5, Wubi Pinyin still works normally

I then actually typed a passage of Chinese text, and Wubi Pinyin’s encoding, candidate words, and Chinese-English switching all worked normally.

This shows that the Wubi Pinyin currently in use indeed comes from Fcitx5 and does not depend on the deleted Rime data packages.

11. Will the cleanup noticeably improve performance?

This time, about 122.8 MB of disk space was freed, but it will not cause a sudden, noticeable improvement in computer performance.

Because these packages are mainly:

  • Rime input schema files
  • Dictionaries and configuration data
  • Dependency libraries that are no longer used

They typically do not run as standalone background processes continuously consuming CPU.

Therefore, the main significance of this cleanup is:

  • Reducing useless packages
  • Freeing up some disk space
  • Avoiding continued updates for unneeded packages
  • Reducing interference when troubleshooting input method issues in the future
  • Making the system’s software composition clearer

For computers with modest hardware configurations, freeing 122.8 MB at once is not a lot, but keeping the system clean long-term is still valuable.

12. Final results

This operation ultimately accomplished two things.

First, I upgraded VS Code from 1.131.0 to 1.132.0 using the official .deb package:

Plaintext
VS Code: 1.132.0
Architecture: x64

Second, I cleaned up the packages left behind after testing Rime:

Plaintext
First cleanup: 10 packages, freed 86.4 MB
Second cleanup: 3 packages, freed 36.4 MB
Total freed: about 122.8 MB

The final verification results are as follows:

  • VS Code 1.132.0 is running normally
  • Original settings and extensions are retained normally
  • Fcitx5 core components are fully retained
  • There are no installed Rime packages left in the system
  • apt autoremove --dry-run shows no packages to clean up
  • After restarting Fcitx5, Wubi Pinyin can be used for input normally

This operation also reiterates that when you see the apt autoremove prompt, it is not recommended to execute it immediately.

A safer approach is to first run:

Bash
sudo apt autoremove --purge --dry-run

After confirming that the packages to be deleted do not include components currently in use, then formally uninstall them. This way, you can clean up the system while minimizing the risk of accidentally deleting the input method or other important dependencies.

系列导航

关于作者 · 持续学习与技术实践

我是一名拥有 15 年以上开发经验的技术从业者,自 2013 年起持续运营个人技术博客,记录工作与个人项目中遇到的真实问题,以及解决问题过程中的探索、实践和思考。

除了技术写作,我也在持续开发和维护自己的独立项目,探索新技术和新工具在实际场景中的应用。我始终相信,没有不值得去解决的问题,也没有不值得去学习的技术。

如果这篇文章对你有所帮助,欢迎浏览博客中的其他文章,也欢迎交流技术经验与想法。

关于我  ·  GitHub  ·  邮件联系