本部落格已搬遷, 3秒後跳轉...

Manjaro KDE 安裝&個人化 | Laplace's Lab

Manjaro KDE 安裝&個人化

前陣子組了一台新主機,安裝了Manjaro Linux。

其實是為了NVIDIA GPU的運算力,礙於窮學生經費有限僅能擠出20K左右的預算,取捨後實際花費為18K。

  • AMD AM4 Ryzen 5 2400G
  • ASUS PRIME A320M-K
  • Crucial 16GB DDR4-3200 Ballistix SportLT
  • WD Blue 250GB(M.2 SATA 3D TLC)
  • Power Master N9 RGB/ATX
  • Antec NX650
  • Zotec GTX1660 SUPER Twin Fan 6G(T16620F-10L)


About Manjaro

目前實際接觸過的Linux版本也就Ubuntu跟Raspberry Pi的Raspbian,本來也是預計要裝Ubuntu,但無意間看到Manjaro的相關文章,決定安裝KDE桌面環境版本,內建的下拉式terminal真香😋

Manjaro是基於Arch的Linux發行版(這意味著許多問題都能在Arch Wiki找到答案),初始版本發行日期為2011年7月10日,目標為使強大的Arch Linux能被人們更容易地使用,硬體檢測與核心切換是Manjaro相當突出的特色。官方支援桌面環境有XFCE、KDE Plasma、GNOME,另外社群也支援了其他桌面環境,例如MATE、LXDE等。Manjaro雖然和Arch同樣採用滾動更新,但根據Manjaro官方所述,為避免滾動更新可能引發的相容性問題或錯誤,Manjaro有3個軟體庫:Stable、Testing、Unstable,Arch的滾動更新在經過Manjaro官方測試後才會正式發佈給Manjaro的使用者,所以Manjaro的滾動更新相對於Arch會有一定的延遲。至於安全性相關的更新則採用「快速追蹤」的做法,其有較高的優先測試等級,甚至是略過測試,以便盡快修復安全性問題。(↓官網圖片)

社群資源 :

*Wiki頁面亦有列出官方推特、臉書與Reddit討論版的連結。另外,官方論壇雖然也有(簡體)中文討論區,但目前活躍程度跟Manjaro@中文(繁體)討論區差不多…主要還是英文討論區較為活躍。

Install

ISO載點 : 官網OSDN(含社群版本)
接下來就是找支閒置的4GB+ USB來製作開機隨身碟,燒錄工具推薦BalenaEtcher。完成後就使用這支隨身碟來開機,Manjaro啟動選項的驅動設定建議選擇non-free,進入桌面環境後啟動安裝程式然後就是下一步下一步下一步

Manjaro的安裝就跟M$的作業系統一樣簡單沒啥好說😁

Setting

核心切換

MHWD - Manjaro Hardware Detection

Network

↓DSL就是設定一般家用有線網路,例如CHT ADSL。

WiFi

這部分有點折騰🤪,原本買了某知名A牌廠商的USB網卡,外盒寫了支援WIN、MAC、LINUX,而Manjaro早就內建該網卡的WiFi晶片驅動了…但無論是內建或是AUR下載來的,怎麼搞就是抓不到,我耗了好幾個晚上的時間在爬文跟測試,最後還在Manjaro Forum發問仍是沒有解決,於是我決定棄用(狀態顯示為很混怒)。

查了一下直接買來TP-Link TL-WN722N,我他X什麼設定都沒搞!什麼驅動都沒裝!一插就爽!!!

Chinese IME(Input Method Editor)

中文輸入法安裝參考 : Manjaro@中文
安裝gcin

1
$ sudo pacman -S gcin

編輯.xprofile

1
$ kate ~/.xprofile

寫入以下設定 :
1
2
3
4
5
export GTK_IM_MODULE=gcin
export QT_IM_MODULE=gcin
export LC_CTYPE=zh_TW.UTF-8
export XMODIFIERS="@im=gcin"
gcin &

打開terminal執行下列指令 :

1
2
$ sudo gtk-query-immodules-2.0 --update-cache
$ sudo gtk-query-immodules-3.0 --update-cache

然後重新登入即可使用。

Google Chrome / Chromium

1
2
$ sudo pacman -S chromium
$ sudo pacman -S google-chrome

VS Code

1
$ sudo pacman -S code

MacOS-like KDE

全域主題 : Glassy
圖示 : McMojave-circle-dark
游標 : McMojave-circle-dark
安裝 Latte Dock桌面元件 :

1
$ sudo pacman -S latte-dock

↓看起來跟Mac OS桌面環境有87%像🤣🤣🤣



虛擬桌面切換 :

Update

查詢Pacman Mirror來源

1
$ pacman-mirrors -l

變更Mirror來源為Taiwan

1
$ sudo pacman-mirrors -t 5 -c Taiwan

同步軟體庫&更新

1
$ sudo pacman -Syyu

Troubleshooting

原則上會在此條目持續紀錄自己使用Manjaro Linux所遇到的問題,特別是系統更新後Orz

Mojibake(Garbled Text)

系統更新後若發生中文亂碼的情況,則需安裝字體並重新登入:

1
$ sudo pacman -S noto-fonts-cjk

我所安裝的Noto Fonts為Google的開源字型,Arch Wiki亦有其他推薦的中文字體可選擇。

Dolphin Launch Error

系統更新後於啟動Dolphin時無法正常顯示檔案,並顯示錯誤訊息:
Unable to create io-slave. klauncher said: Error loading ‘/usr/lib/qt/plugins/kf5/kio/file.so’

Manjaro Forum找到問題的發生原因是Qt版本衝突導致的,因為系統當下仍載入舊版本Qt,然後我們執行了系統更新。

重新啟動系統,或在terminal執行以下命令重新啟動Dolphin即可:

1
$ dbus-launch dolphin

File Exists in Filesystem

更新Packages時,下載完所有可更新項目時報錯,系統因偵測到檔案衝突而取消更新。
例如我遇到的衝突提示是python-pasta這個套件,必須手動更新覆寫:

1
2
3
4
# sudo pacman -S {PACKAGE_NAME} --overwrite {PACKAGE_PATH}/* 
$ sudo pacman -S python-pasta --overwrite usr/lib/python3.8/site-packages/pasta/*
# update packages again
sudo pacman -Syyu

The requested URL returned error: 404

當我想在Manjaro系統安裝Node.js時卻得到這樣的回應,一度懷疑是鏡像來源有問題,但切換到其他來源還是同樣報錯。Arch討論區也有人發佈同樣的問題,原來是因為有段時間沒更新導致本機軟體包資料庫太舊 😅

python-gast03 and python-gast are in conflict

執行系統更新時遇到了這個軟體衝突導致無法進行更新,當我嘗試先移除python-gast時,系統又告知python-tensorflow-cuda依賴於此套件所以無法移除。只好手動更新python-tensorflow-cuda,然後系統就會詢問你是否要刪除衝突的python-gast套件…刪了它就解決此衝突問題了。

failed to start Load/Save screen backlight brightness of backlight:acpi

雖不影響日常使用,但每次開關機都會顯示警告訊息也是蠻令人在意的(>.<)
編輯/etc/default/grub,在GRUB_CMDLINE_LINUX_DEFAULT設定值加入參數:acpi_backlight=native

接著更新GRUB並重新啟動:

1
2
$ sudo update-grub
$ reboot

Error: resume: hibernation device ‘/dev/sda2’ not found

這和上面同樣是每次開關機都會顯示的警告訊息…(´_ゝ`)

查詢/dev/sda2的UUID:

1
2
$ sudo blkid | grep /dev/sda2
/dev/sda2: UUID="9e6297be-****-****-************" TYPE="swap" PARTUUID="********-**"

編輯/etc/default/grub,修改GRUB_CMDLINE_LINUX_DEFAULT設定值中的resume參數:

1
resume=UUID=9e6297be-****-****-************

然後更新GRUB並重新啟動:

1
2
$ sudo update-grub
$ reboot

0%