盡管 WPS 非常受歡迎,但是,WPS 個人版的廣告特別多,怎么辦?
解決方法有很多,谷月老師提供一種最硬核、最炫技的解決方案:借助 Windows 11 的 Linux 子系統 (WSL)安裝 Ubuntu,直接在 WSL Ubuntu 中安裝運行無廣告的 WPS for Linux!
WSL 是 Windows Subsystem for Linux 的縮寫,中文含義為「適用于 Linux 的 Windows 子系統」。它可以讓用戶在 Windows 桌面上運行 Linux 應用程序,完成開發、運維等工作。以前的 WSL 只能運行字符界面的應用程序,不能運行 GUI (圖形界面)應用程序。2021 年,微軟為 WSL 增加了原生運行 Linux GUI 應用程序的功能,稱之為 WSLg (g 代表 GUI)。這就為在 Windows 桌面上運行 WPS for Linux 提供了可能。
本文以 Linux 零基礎用戶為目標讀者,詳盡地講解在 Windows 11 的 WSLg 中,安裝 Ubuntu,并在 Ubuntu 上安裝和運行 WPS for Linux 的全過程。 你即使是對 Linux 一竅不通的小白,看完這篇教程,也能順利地讓 WPS for Linux 在 Windows 11 中跑起來!
下文不分 WSL、WSLg,一律統稱 WSL。
此處不再贅述。
根據微軟的說法(通過 WSL 運行 Linux GUI 應用 | Microsoft Docs),若要運行 Linux GUI 應用,你應該首先安裝與你的系統匹配的預覽驅動程序。 這使你能夠使用虛擬 GPU (vGPU) 以便你可以從硬件加速 OpenGL 呈現中獲益。
下載地址:
右擊開始菜單,選擇「Windows 終端(管理員)」,打開 Windows 終端。
wsl --install
2. Windows 會安裝 WSLg 和 Ubuntu,但是有時會卡在最后一步下載 Ubuntu。如圖所示,紅箭頭表示已經安裝了內核和 GUI 支持。但是最后一步下載 Ubuntu 特別慢。
2. 趁著用軟件商店安裝 Ubuntu 的機會,回到 Windows 終端,執行以下命令(# 號代表注釋,# 號及 # 號后面的內容,都不需要輸入):
wsl --update # 強制更新 WSL
wsl --shutdown # 強制關閉 WSL
net stop LxssManager # 強制關閉 LxssManager 服務,它是 WSL 依賴的服務
net start LxssManager # 重新啟動 LxssManager 服務
2. 直接點擊它,就會在一個終端窗口中運行 Linux 的字符界面。首次運行 Ubuntu 時,它會讓你設置一個用戶名和一個密碼。注意:在 Linux 平臺上,輸入密碼時,默認是什么也不顯示的,這與 Windows 平臺顯示一連串星號或者圓點是不同的。我們在此處將用用戶名設為 kukmoon,下同。
3. 密碼設置完成以后,終端窗口的底部會出現 $ 提示符。
4. 我們可以關閉這個終端窗口,下次從更加方便易用的 Windows 終端中啟動 Ubuntu。
2. 在 Windows 終端的 Ubuntu 標簽頁中,在 $ 提示符后,執行以下命令(注意:①第一次使用 sudo 命令時,要輸入密碼,在輸入密碼時,不會顯示任何內容,這與 Windows 平臺輸入密碼時顯示星號或圓點是不一樣的。② $ 符號不需要輸入。)
$ sudo apt update # 查看可更新的軟件包
$ sudo apt upgrade # 更新已安裝的軟件包
在 Windows 終端的 Ubuntu 標簽頁中,在 $ 提示符后,執行以下命令,這條命令將安裝簡體中文和繁體中文支持:
$ sudo apt install language-pack-zh-han* # 安裝中文語言包
注意:以上操作實際上是修改了 /etc/locale.gen 文件,找到 # zh_CN.UTF-8 UTF-8 這一行,刪除行首的 # 號和空格。
Nano 是 Ubuntu 內置的一個文本編輯器。我們在本文中會頻繁地使用 nano 來修改各種配置文件。在此簡介一下它的用法。
2. 快捷鍵的表達方式。Nano 的快捷鍵位于屏幕底部。反白的文字(例如^G)表示快捷鍵,后面白色的文字(例如 Get Help)表示對應的功能。
3. 與 Windows 不同的常用快捷鍵。
4. 文件修改完畢后,如何保存退出?
5.獲取更進一步的幫助。
$ sudo nano /etc/default/locale
2. 把文件內容都刪除,修改成以下內容,注意配置文件中不能有多余的空格:
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"
LC_NUMERIC="zh_CN"
LC_TIME="zh_CN"
LC_MONETARY="zh_CN"
LC_PAPER="zh_CN"
LC_NAME="zh_CN"
LC_ADDRESS="zh_CN"
LC_TELEPHONE="zh_CN"
LC_MEASUREMENT="zh_CN"
LC_IDENTIFICATION="zh_CN"
LC_ALL="zh_CN.UTF-8"
$ sudo nano /etc/environment
2. 在文件末尾另起一行,增加以下內容,注意配置文件中不能有多余的空格:
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"
LC_NUMERIC="zh_CN"
LC_TIME="zh_CN"
LC_MONETARY="zh_CN"
LC_PAPER="zh_CN"
LC_NAME="zh_CN"
LC_ADDRESS="zh_CN"
LC_TELEPHONE="zh_CN"
LC_MEASUREMENT="zh_CN"
LC_IDENTIFICATION="zh_CN"
LC_ALL="zh_CN.UTF-8"
重啟 WSL 之后,WSL Ubuntu 的字符界面就變成中文界面了。
重啟方法:
wsl --shutdown # 強制關閉 WSL
2. 稍候片刻,再點擊 Windows 終端窗口標題欄中的下拉箭頭,選擇 Ubuntu,再次連接 WSL Ubuntu。
完成以上步驟所列的操作以后,WSL Ubuntu 還缺少適用于 GUI 的中文字體。我們需要安裝,才能正常運行中文的 GUI 應用程序。
注意:如果屏幕像素密度(PPI)過低(例如在 24 寸 1080p 分辨率的顯示器上),不建議安裝這些字體。這些字體在低像素密度的屏幕上渲染效果極差。比起使用這些開源字體,谷月老師建議使用微軟雅黑。
在 Windows 終端的 Ubuntu 標簽頁中,在 $ 提示符后,執行以下命令:
sudo apt install fonts-noto-cjk # 思源系列字體
sudo apt install fonts-wqy-microhei # 文泉驛-微米黑
sudo apt install fonts-wqy-zenhei # 文泉驛-正黑
sudo apt install xfonts-wqy # 文泉驛-點陣宋體
sudo apt install fontconfig # fontconfig包
2. 在 Windows 終端的 Ubuntu 標簽頁中,在 $ 提示符后,執行以下命令,創建 /etc/fonts/local.conf 文件:
sudo nano /etc/fonts/local.conf
3. 將以下內容添加到到這個文件中:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/mnt/c/Windows/Fonts</dir>
</fontconfig>
4.在 Windows 終端的 Ubuntu 標簽頁中,在 $ 提示符后,執行以下命令,刷新字體緩存。
sudo fc-cache -fv # 也就是讓系統認識字體
5. 可以用以下命令查看已安裝的字體。
fc-list :lang=zh
如果執行了上述命令以后沒有發現 Windows 安裝的字體(例如微軟雅黑),請把 /etc/fonts/local.conf 文件中 <dir>/mnt/c/Windows/Fonts</dir> 的大寫 F 改成小寫的 f。
WSL GUI 是基于 RDP 的遠程桌面實現的,而 Linux 是運行在虛擬機里。所以,Windows 輸入法不能在 WSL GUI 應用程序中輸入文字,必須在虛擬機的 Linux 中安裝輸入法。本文選用了 fcitx 輸入法框架。
另一方面,必須用 dbus 保證輸入法和應用程序之間的通信。所以,需要安裝 dbus,然后用 dbus-launch 啟動一個 dbus session, 并且讓 GUI 和輸入法同時得到 DBUS_SESSION_BUS_ADDRESS 的環境變量,這樣輸入法才能使用。
目前,由于 WSLg 的限制,中文輸入法暫不支持光標跟隨。但是由于 WPS 對 fcitx 輸入法框架進行了特別適配,因此在 WPS 中是可以實現光標跟隨的。
Ubuntu 內置了 IBus 輸入法框架,與 fcitx 沖突,需要事先卸載。
在 Windows 終端的 Ubuntu 標簽頁中,在 $ 提示符后,執行以下命令,卸載 IBus:
sudo apt remove ibus*
此處需要 dbus-x11(實現輸入法與 GUI 應用程序之間的通信,必需)、im-config (GUI 輸入法配置)、fcitx (輸入法框架)、fcitx-sunpinyin (智能拼音輸入法) 和 fcitx-table-wubi (五筆輸入法)。
在 Windows 終端的 Ubuntu 標簽頁中,在 $ 提示符后,執行以下命令,安裝所用的軟件包:
sudo apt install dbus-x11 fcitx im-config fcitx-sunpinyin fcitx-table-wubi
fcitx-config-gtk3
2. 在 Input Method 標簽頁中,點擊對話框左下角的 + 號,增加中文輸入法。注意,要把鍵盤方案放在上面,輸入法放在下面,換句話說,就是保持 「Keyboard - English (US)」 在最上面,中文輸入法都要在它下面。
3. 在 Global Config 標簽頁中,注意默認的 Trigger Input Method (輸入法切換)快捷鍵是 Ctrl + 空格。這個快捷鍵不會與 Windows 的輸入法切換快捷鍵沖突,可以保留。如果要修改,不可以讓新的快捷鍵與 Windows 的全局快捷鍵沖突,否則無效,例如,WIN + 空格是 Windows 切換輸入法的全局快捷鍵,在 WSL Ubuntu 的 fcitx 中,就不能用這個快捷鍵來切換輸入法。
4. 在 Windows 終端的 Ubuntu 標簽頁中,在 $ 提示符后,執行以下命令,設置默認的 GUI 輸入法為 fcitx:
sudo im-config -n fcitx
5. 在 Windows 終端的 Ubuntu 標簽頁中,在 $ 提示符后,執行以下命令,修改 /etc/locale.gen 文件:
sudo nano /etc/locale.gen
找到 # zh_CN.UTF-8 UTF-8 這一行,刪除行首的 # 號和空格。
6. 在 Windows 終端的 Ubuntu 標簽頁中,在 $ 提示符后,執行以下命令,修改 ~/.profile 文件:
sudo nano /etc/locale.gen
7. 修改 ~/.profile 文件,在文件的末尾增加以下內容。
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx
fcitx-autostart &>/dev/null
8. 在 Windows 終端的 Ubuntu 標簽頁中,在 $ 提示符后,執行以下命令,刷新 ~/.profile 文件:
source ~/.profile
這樣一來,在 GUI 應用程序中就可以按輸入法切換鍵 Ctrl + 空格,輸入中文了。
如果輸入法切不出來,就重啟 WSL Ubuntu。
$ sudo apt install gedit
2. 安裝結束后,可以在 Windows 終端中輸入 gedit 來運行它;也可以在 Windows 開始菜單 → Ubuntu 文件夾中找到新安裝的 GEdit。
在 Windows 終端的 Ubuntu 標簽頁中,在 $ 提示符后,執行以下命令:
$ sudo apt install adwaita-icon-theme-full # 圖標集,避免有些軟件圖標顯示不全并且在終端窗口中提示缺少圖標
$ sudo apt install fonts-noto-color-emoji # Emoji 字體
在 Windows 中,用瀏覽器進入 WPS for Linux 官網,點擊「直接下載」,然后下載 64 位 Deb 格式中的 For X64。
Windows 11 的 Edge 瀏覽器默認把下載的文件放在 C:\Users\<用戶名>\Downloads 文件夾下。在 WSL 中,這個文件夾的路徑是 /mnt/c/Users/<用戶名>/downloads 目錄。(<用戶名>是你的用戶名)
在 Windows 終端的 Ubuntu 標簽頁中,在 $ 提示符后,執行以下命令:
$ cd /mnt/c/Users/<用戶名>/downloads
$ sudo dpkg -i wps-office_11.1.0.10702_amd64.deb
步驟 3 - 安裝 xdg-utils
dpkg: dependency problems prevent configuration of wps-office:
wps-office depends on libglu1-mesa; however:
Package libglu1-mesa is not installed.
dpkg: error processing package wps-office (--install):
dependency problems - leaving unconfigured
Processing triggers for shared-mime-info (1.15-1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu3) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for fontconfig (2.13.1-2ubuntu3) ...
Errors were encountered while processing:
wps-office
2. 此時,需要解決缺失的依賴問題,在 Windows 終端的 Ubuntu 標簽頁中,在 $ 提示符后,執行以下命令:
$ sudo apt -f install
3. 但是,Apt 報錯,提示 /var/lib/dpkg/info/wps-office.postinst: line 313: xdg-icon-resource: command not found,這是因為 WSLg 里的 Ubuntu 缺少 xdg-icon-resource 組件。我們需要在 Windows 終端的 Ubuntu 標簽頁中,在 $ 提示符后,執行以下命令,安裝 xdg-utils 組件:
sudo apt install xdg-utils
4. 安裝了 xdg-utils 組件,再次執行 sudo apt -f install,就不會報錯了,這說明 WPS for Linux 的安裝已經順利完成。
5. 可以使用 dpkg 查看 WSL 將 WPS for Linux 安裝到了什么地方。
$ sudo dpkg -L wps-office # 使用dpkg -L查看deb包目錄信息
如果此時直接輸入 wps 運行 WPS for Linux,大概率會出錯。
例如,WPS 里面的中文都是框框。
WPS 會提示有些公式因為缺少字體而不能顯示(Some formula symbols might not be displayed correctly due to missing fonts Sym...)。
所以我們還需要安裝字體。
$ cd /mnt/c/Users/<用戶名>/downloads # 進入 Windows 的「下載」文件夾
$ sudo unzip wps_for_linux_symbol_fonts.zip -d /usr/share/fonts/wps-office # 將下載的字體直接解壓到 WPS 的字體文件夾下
這樣,WPS for Linux 最終安裝完畢。我們就可以運行 WPS 了。
運行 WPS 的兩種方法:
2. 在命令行中運行 WPS for Linux。
在 WSL Ubuntu 中初次運行的 WPS 是英文版的,如圖所示。但是我們可以把它改成中文版。
2. 點擊窗口右上角的 Select Language (帶一個A的圖標)。
3. 選擇簡體中文,點擊「立即執行」按鈕,再點擊「應用」按鈕。重新啟動 WPS。
4. WPS 的界面語言變成中文。
輸入中文正常,所有功能可用。
云功能可以用。金山云文檔的功能很全面。
留意右上角的用戶名和頭像,表明用戶已經登錄了 WPS 賬號,并且自動開啟了云同步功能。
借助 WSL 將 Windows 中的每個碰盤驅動器都映射到 WSL 中的特性,WSL Ubuntu 中的 WPS for Linux,也可以順利地打開 Windows 中的文檔。Windows 的「我的文檔」文件夾,對應 WSL 中的 /mnt/c/User/<用戶名>/Documents 目錄。可以把這個目錄添加為書簽,這樣就可以在「打開」對話框左側快速訪問它了。
按照谷月老師在前文中的講述配置過字體以后,在 WSL Ubuntu 中 運行的 WPS for Linux,可以無縫讀取 Windows 中安裝的所有字體。此外,如果在 Windows 中新安裝了字體,也不要緊,只需要在 WSL 中執行 sudo fc-cache -fv 命令,更新一下字體緩存,就可以讓 WPS for Linux 使用新的字體啦。
由于 WPS for Linux 的開發團隊針對 fcitx 輸入法框架進行過針對性適配,因此在 WSL Ubuntu 中運行的 WPS for Linux 中使用 fcitx 打字,順滑、流暢,而且可以實現輸入法的光標跟隨,避免了由于 WSL 自身問題導致的輸入法選字框無法光標跟隨的問題。
WPS 表格特色的「閱讀模式」(聚光燈)功能。在 Microsoft Excel 中,需要用 VBA 編寫一個宏才能實現,在 WPS 表格中,只需要點擊一下鼠標。
WPS 演示的各項功能也都能用,包括「平滑」。
WPS for Windows 與 WPS 文字 for Linux 的合影。
WPS for Windows 與 WPS for Linux 全家福。WPS for Windows 是一個集成式辦公系統,各個模塊在同一個界面中運行;而WPS for Linux 是分體式的,每個模塊都是單獨的應用程序。
本地模板太少了,而且有點土。
連不上稻殼兒,無法使用在線模板。
由于 WSLg 本身的各種限制,尤其是 vGPU 的限制,在 WSL Ubuntu 上運行 WPS,會比較卡頓,此外,偶有崩潰的現象。如果要更加流暢的體驗,以下三種解決方案的體驗會好一點,而且不受 WSLg 僅供 Windows 11 和 Windows Insider 專用的限制, 非 Insider 的 Windows 10 也可以使用:
WSLg 的問世,讓 Windows 運行 Linux 的 GUI 應用程序成為可能。它給 Windows 和 Linux 雙開用戶帶來了以下三點利好:
電腦以前一直是Win7+ubuntu雙系統,剛剛將win7升級為win8,然后硬盤一團糟。還是想安裝雙系統,但是最近電腦安裝ubuntu總是不成功。幾年前筆記本電腦安裝過ubuntu啊,為什么現在裝不上了呢?
有次看電腦系統配置突然想起來電腦是雙顯卡,會不會是這個問題呢?我一直是硬盤安裝,安裝方法:
在win8下,空出一個分區(大于10G),然后刪除卷。
下載最新版的ubuntu,解壓,將其中的.disk文件夾和和casper文件夾下的initrd.lz和vmlinuz.efi放到C盤,然后將ubuntu也放在C盤。
安裝EasyBCD,添加新條目==》安裝==》配置。
title Install Ubuntu
root (hd0,0)
kernel (hd0,0)/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu.iso locale=zh_CN.UTF-8 acpi_osi=linux radeon.modeset=0 xforcevesa
initrd (hd0,0)/initrd.lz
成功安裝。
下劃線區域要根據顯卡相應修改。
nVidia顯卡:
acpi_osi=linux nomodeset
Intel顯卡:
acpi_osi=linux i915.modeset=1
或
acpi_osi=linux i915.modeset=0
Amd顯卡:
acpi_osi=linux xforcevesa(耿然電腦的這個無效,下面可以)
或
acpi_osi=linux radeon.modeset=0 xforcevesa
問題還沒有結束。進入安裝結束然后重啟,需要修改grub。
總之經過上面的修改,可以進行安裝了。
安裝時在預留空白上分出“swap(交換分區)”和“/分區”,然后安裝,重啟。
這個時候需要在開機grub界面按e編輯,在linux /boot/……那一行的末尾添加:
acpi_osi=linux radeon.modeset=0 xforcevesa
然后才能進入系統,這時候需要修改開機grub的設置。
sudo gedit /boot/grub/grub.cfg
部分電腦是sudo gedit /boot/grub/menu.lst,切換到/boot/grub目錄ls下看看。
可以在這里搜索quiet splash,在第一個的地方吧,那一行末尾加:
acpi_osi=linux radeon.modeset=0 xforcevesa
至此ok。