前言
自從不打遊戲之後,在 Linux 環境中一直都沒有什麼大問題,
但是沒辦法在 Linux 上面使用 Line,老實說是還蠻不方便的事情之一,
不過原本有 Chrome 的 Extension 可以安裝 Line 一直都不是什麼大問題,
但在這次我把沒有在用的 Surface Go 裝上 Manjaro 之後我發現在執行的時候一直出現網路錯誤,
稍微在網路上搜索了一下之後才發現 Line 已經正式停止 Chrome Extension 的支援了。
雖然很不想要淌這個混水,但要在 Linux 上面執行 Line 看來只剩下 Wine 這一個方向了。
Linux + Wine, 施主回頭是岸。
準備工作
YAY (Yet Another Yogurt)
因爲 Manjaro 是基於 Arch,爲了方便我們在上面直接編譯安裝 yay
這個 套件管理員
原本在使用的是 Yaourt ,不過因爲開發者很久沒有更新了,yay
是一個很好的替代方案。
若是簡單比較差異,就是 pacman + AUR repo
的工具,甚至連使用方法都跟 pacman
相同。
安裝
$ git clone https://aur.archlinux.org/yay.git
$ cd yay
$ makepkg -si
Color Output
記得開啓 Pacman 的 Color Output。
$ vim /etc/pacman.conf
Enable Multilib
編輯完之後請不要急着關閉編輯器,記得開啓 multilib
,
安裝 Wine 的時候用的到。
Wine
Yay 設定好之後,我們要開始安裝 Wine,
但是最新開發版本 5.0
並不支援 Naver Line,
會在執行的時候顯示 verifyCodeSign=failed
的訊息。
後來發現在 wine-staging
的時候才跑的起來,但也已經過了好幾天了 QAQ。
安裝 Wine Staging
爲了防止之後各種依賴的錯誤,我們要把所有 Wine 的依賴一次裝起來。
$ yay -Sy
$ yay -S wine-staging winetricks
$ yay -S giflib lib32-giflib libpng lib32-libpng \
libldap lib32-libldap gnutls lib32-gnutls mpg123 lib32-mpg123 \
openal lib32-openal v4l-utils lib32-v4l-utils libpulse \
lib32-libpulse alsa-plugins lib32-alsa-plugins alsa-lib \
lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo libxcomposite \
lib32-libxcomposite libxinerama lib32-libxinerama ncurses lib32-ncurses \
opencl-icd-loader lib32-opencl-icd-loader libxslt lib32-libxslt \
libva lib32-libva gtk3 lib32-gtk3 gst-plugins-base-libs \
lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader \
cups samba dosbox
初始化 Wine
安裝完成之後我們要先初始化 Wine,
因爲還沒有安裝中文字型,所以要先設定環境變數爲英文:
LC_ALL=en_US.UTF8 WINEARCH=win64 WINEPREFIX=$HOME/.wine winecfg
若是像我一樣使用 fish shell
,必須要加上 env
才能設定。
env LC_ALL=en_US.UTF8 WINEARCH=win64 WINEPREFIX=$HOME/.wine winecfg
建議將環境設定爲 Windows 10, 我是這樣跑起來的。
安裝中文字形
在設定中文字形之前,我們必須要先安裝等一下要使用的中文字形,
在這裏使用的是 Google 的 Noto
字形,檔案很大非常大,
不過我們可以使用 Yay 一行安裝:
$ yay -S noto-fonts-cjk
這個過程會很沉長,可以去沖個澡或者上個廁所等一下。
設定中文字體
安裝完成之後我們要解決中文字形無法顯示的問題, 不過好在一個註冊檔就能解決這個煩人的問題:
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontLink]
"FontLinkControl"=dword:00004000
"FontLinkDefaultChar"=dword:00003000
/* 替換字型1 */
/* 安裝Wine不會提供字型,所以需要替換字型,我以Noto Sans CJK TC Medium替換 */
/* 取代字型 */
/* Wine 1.1.12 打補丁後也會有亂碼,所以要修改這裡 */
/* Wine 1.1.12 之前可以不用修改,改了應該也沒關係 */
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]
"Microsoft Sans Serif"="NotoSansCJK-Medium.ttc,Noto Sans CJK TC Medium"
"SimSun"="NotoSansCJK-Medium.ttc,Noto Sans CJK TC Medium"
"Tahoma"="NotoSansCJK-Medium.ttc,Noto Sans CJK TC Medium"
"PMingLiU"="NotoSansCJK-Medium.ttc,Noto Sans CJK TC Medium"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
"Arial Baltic,186"="Noto Sans CJK TC Medium,186"
"Arial CE,238"="Noto Sans CJK TC Medium,238"
"Arial CYR,204"="Noto Sans CJK TC Medium,204"
"Arial Greek,161"="Noto Sans CJK TC Medium,161"
"Arial TUR,162"="Noto Sans CJK TC Medium,162"
"Courier New Baltic,186"="Noto Sans CJK TC Medium,186"
"Courier New CE,238"="Noto Sans CJK TC Medium,238"
"Courier New CYR,204"="Noto Sans CJK TC Medium,204"
"Courier New Greek,161"="Noto Sans CJK TC Medium,161"
"Courier New TUR,162"="Noto Sans CJK TC Medium,162"
"Helv"="Noto Sans CJK TC Medium"
"Helvetica"="Noto Sans CJK TC Medium"
"MS Shell Dlg"="Noto Sans CJK TC Medium"
"MS Shell Dlg 2"="Noto Sans CJK TC Medium"
"PMingLiU"="Noto Sans CJK TC Medium"
"新細明體"="Noto Sans CJK TC Medium"
"Tahoma"="Noto Sans CJK TC Medium"
"Times"="Noto Sans CJK TC Medium"
"Times New Roman Baltic,186"="Noto Sans CJK TC Medium,186"
"Times New Roman CE,238"="Noto Sans CJK TC Medium,238"
"Times New Roman CYR,204"="Noto Sans CJK TC Medium,204"
"Times New Roman Greek,161"="Noto Sans CJK TC Medium,161"
"Times New Roman TUR,162"="Noto Sans CJK TC Medium,162"
"Tms Rmn"="Noto Sans CJK TC Medium"
"Lucida Sans Unicode"="NotoSansCJK-Medium.ttc,Noto Sans CJK TC Medium"
/* 平滑化(anti-alias) */
/* 如果覺得開了之後字體難看,把三個Y改成N */
[HKEY_CURRENT_USER\Software\Wine\X11 Driver]
"ClientSideAntiAliasWithCore"="N"
"ClientSideAntiAliasWithRender"="N"
"ClientSideWithRender"="N"
/* 替換字型2 */
[HKEY_CURRENT_USER\Software\Wine\Fonts\Replacements]
@="Noto Sans CJK TC Medium"
"Arial"="Noto Sans CJK TC Medium"
"Fixedsys"="Noto Sans CJK TC Medium"
"Microsoft Sans Serif"="Noto Sans CJK TC Medium"
"MingLiU"="Noto Sans CJK TC Medium"
"MS UI Gothic"="Noto Sans CJK TC Medium"
"PMingLiU"="Noto Sans CJK TC Medium"
"Simsun"="Noto Sans CJK TC Medium"
"Songti"="Noto Sans CJK TC Medium"
"System"="Noto Sans CJK TC Medium"
"Tahoma"="Noto Sans CJK TC Medium"
存檔成 zh.reg
之後放到 $HOME/.wine
中,
然後使用 $ wine regedit zh.reg
或者 regedit zh.reg
將註冊檔匯入。
當然也可以將 zh.reg
放到 $HOME/.wine/drive_c/users/$USERNAME/Desktop
中,
然後輸入 $ wine regedit
使用註冊表編輯器手動選擇匯入檔案。
Winetricks
安裝 Line 之前要先使用 Winetricks 安裝 vcrun2008
$ winetricks vcrun2008
Line
下載 Line
終於到了重頭戲了!
到 官方網站 下載最新的 LineInst.exe
安裝 Line
切換到下載資料夾,然後執行 $ wine LineInst.exe
執行安裝。
安裝的時候選擇 English
直接一直下一步安裝完之後,沒有意外 Line 會自動啓動。
同場加映
dmenu-desktop 執行 Line
若是像我一樣使用 Tiling Window Manager 的話,應該是沒辦法直接執行捷徑啓動 Line,
Dmenu 的 i3-dmenu-desktop
可以直接執行 Wine 的 Line。
dmenu 執行 Line
如果不想要使用 i3-dmenu-desktop 執行 Line,
或者想要在 terminal 中輸入就能執行行 Line 的話,
可以簡單寫一個 Shell 執行就可以了。
#!/bin/bash
wineuserpath=$HOME/.wine/drive_c/users/username
linepath="Local Settings/Application Data/LINE/bin"
exe=LineLauncher.exe
wine $wineuserpath/$linepath/$exe
然後記得 $ chmod +x naver-line
讓他可以執行之後,
丟到 /usr/local/bin
中,就可以了!
$ sudo mv naver-line /usr/local/bin/
之後只要在 terminal 中輸入 naver-line
他就會自動執行了哦~
不使用
line
當名稱是因爲有一個程式就是line
,這樣子可以避免重名。
心得
還記得第一次碰到 Wine 的時候是想要在自己破破爛爛的 ubuntu 8.04 上玩 RO 的時候。
以前 Wine 設定起來非常複雜,還寫了一篇文章放在 Ubuntu 的論壇上面。
那時候偷偷發誓在也不要這樣折騰自己,要玩遊戲的話用 Windows 就好了。
沒想到十多年之後會爲了 Line 又重新回來用 Wine :/