在 Crostini 當中使用 Chrome OS 的輸入法

zonble
Dec 3, 2023

--

在 Chrome OS 上有一套虛擬的 Linux 環境,叫做 Crostini,可以讓用戶在 Chromebook 或是安裝了 Chrome OS Flex 的 PC 上也可以安裝、運行各種 Linux 的應用程式,像是 LibreOffice、GIMP 等等,也可以跑 Android Studio、 Visual Studio Code 等開發工具進行軟體開發工作。〈啟用 Chrome OS 上的 Linux 開發環境〉 是一篇很好的介紹文章,從那邊可以看到進一步的介紹。

中文用戶大概都離不開輸入中文的需求,在網路上,很容易可以查到,只要裝了像是 fcitx 這類的 Linux 輸入法,就可以在 Crostini 中輸入中文。不過,Chrome OS 官方過去一陣子也開發了 cros_im,用途是在 Crostini 應用程式中,也可以直接使用 Chrome OS 本身的系統輸入法。之前沒有特定留意相關消息,不過這兩天升級到 120 beta 版本後,去試了一下,發現效果還不壞。

根據 cros_im 本身的說明,在建立好了 Crostini 環境後,首先透過 chrome://flags 連結,打開 Chrome OS 的進階設定,把像是 #crostini-ime-support 、#crostini-qt-ime-support 這些選項都打開,或是指定一些環境變數,包括

GTK_IM_MODULE=cros
QT_IM_MODULE=cros

用滑鼠把輸入法切換成中文,應該就可以打出中文了。如果想要使用 Ctrl + Space 等快速鍵,在 Crostini 中的 Linux 應用程式中切換中英輸入法,則請在終端機底下,輸入以下命令:

setup_conf() {
mkdir -p "$1"
echo -e '[Service]\nEnvironment="SOMMELIER_ACCELERATORS=Super_L,<Alt>bracketleft,<Alt>bracketright,<Control>space,<Control><Shift>space"' > "$1"/override.conf
}
setup_conf ~/.config/systemd/user/sommelier@.service.d
setup_conf ~/.config/systemd/user/sommelier-x@.service.d
# This will likely kill all running GUI apps
systemctl --user daemon-reload
systemctl --user restart sommelier{,-x}@{0,1}.service

效果像這樣:

--

--