OpenSUSE 使用指南
OpenSUSE
OpenSUSE 是一個基於 RPM 的發行版,這和 RHEL/CentOS 一致。
但是它的官方包管理器是專有的 zypper,挺好用的,軟體也很新。
我最近從 Manjaro 切換到了 OpenSUSE,發現 KDE 桌面確實比 Manjaro 更絲滑,本文算是對遷移流程做的一個總結。
本文以 OpenSUSE Leap 15.2 為基礎編寫,因此部分軟體需要手動添加 OBS 源,才能獲得到更新的版本。
你也可以考慮使用 Tumbleweed,它是滾動更新的,軟體要比 Leap 新很多。
一、zypper 的基礎命令
據說 zypper 的源都很慢,可以考慮試著配一下中國鏡像源:
# 禁用原有軟體源
sudo zypper mr -da
# 添加北外鏡像源
sudo zypper ar -fcg //mirrors.bfsu.edu.cn/opensuse/distribution/leap/42.3/repo/oss USTC:42.3:OSS
sudo zypper ar -fcg //mirrors.bfsu.edu.cn/opensuse/distribution/leap/42.3/repo/non-oss USTC:42.3:NON-OSS
sudo zypper ar -fcg //mirrors.bfsu.edu.cn/opensuse/update/leap/42.3/oss USTC:42.3:UPDATE-OSS
sudo zypper ar -fcg //mirrors.bfsu.edu.cn/opensuse/update/leap/42.3/non-oss USTC:42.3:UPDATE-NON-OSS
鏡像源配置好後,首先更新下系統軟體:
sudo zypper refresh # refresh all repos
sudo zypper update # update all softwares
代理我還沒試過,如果速度不夠,建議通過路由器設置全局代理。或者通過環境變數 HTTPS_PROXY
臨時設置代理。
Install Softwares
這裡需要用到 OBS(Open Build Service, 類似 arch 的 AUR,但是是預編譯的包),這個源沒有中國鏡像。
另外還有 packman,它好像華中科大有個鏡像源://packman.links2linux.org/mirrors
還是建議有條件就上全局代理,沒這麼折騰。
安裝需要用到的各類軟體:
# enable Packman repo
sudo zypper ar -cfp 90 '//ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_$releasever/' packman
# install video player and web browser
sudo zypper install mpv ffmpeg chromium firefox
# install screenshot and other utils
# 安裝好後可以配個截圖快捷鍵 alt+a => `flameshot gui`
sudo zypper install flameshot peek nomacs
# install git clang/make/cmake
sudo zypper install git gcc clang make cmake
# install vscode: //en.opensuse.org/Visual_Studio_Code
sudo rpm --import //packages.microsoft.com/keys/microsoft.asc
sudo zypper addrepo //packages.microsoft.com/yumrepos/vscode vscode
sudo zypper refresh
sudo zypper install code
# 安裝 dotnet 5: //docs.microsoft.com/en-us/dotnet/core/install/linux-opensuse#opensuse-15-
sudo rpm --import //packages.microsoft.com/keys/microsoft.asc
sudo zypper addrepo //packages.microsoft.com/opensuse/15/prod/ microsoft-prod
sudo zypper refresh
sudo zypper install dotnet-sdk-5.0
# 安裝新版本的 go
sudo zypper addrepo //download.opensuse.org/repositories/devel:/languages:/go/openSUSE_Leap_15.2 devel-go
sudo zypper refresh
sudo zypper install go
# install rustup
curl --proto '=https' --tlsv1.2 -sSf //sh.rustup.rs | sh
# install wireshark
sudo zypper install wireshark
sudo gpasswd --add $USER wireshark # 將你添加到 wireshark 用戶組中
# container: //documentation.suse.com/sles/15-SP2/html/SLES-all/cha-podman-overview.html
sudo zypper in podman skopeo kompose
# 本地測試目前還是 docker-compose 最方便,docker 仍有必要安裝。不過也可以考慮換成 kompose+podman 或者 podman-compose
sudo zypper in docker
sudo gpasswd --add $USER docker
sudo systemctl enable docker
sudo systemctl start docker
sudo pip install docker-compose # 簡單起見,直接用 pip 安裝 docker-compose
安裝 VSCode 插件:
- 語言:
- python/go/rust/c#/julia/flutter
- xml/yaml/toml
- vscode proto3
- ansible/terraform
- markdown all in one + Markdown Preview Enhanced
- 美化:
- community material theme
- vscode icons
- glasslt-vsc
- docker/kubernetes
- IntelliJ IDEA Keybindings
- gitlens
- prettier
- utils
- comment translate
- path intellisense
- svg
- visual studio intellicode
- antlr4
- remote ssh + remote containers
- rest client
- vscode databases
辦公、音樂、聊天
sudo zypper addrepo //download.opensuse.org/repositories/home:/opensuse_zh/openSUSE_Leap_15.2 opensuse_zh
sudo zypper refresh
sudo zypper install wps-office netease-cloud-music
# linux qq: //im.qq.com/linuxqq/download.html
# 雖然簡陋但也夠用,發送文件比 KDE Connect 要方便一些。
sudo rpm -ivh linux_qq.rpm
安裝輸入法
我用的輸入法是小鶴音形,首先安裝 fcitx-rime:
# 添加 m17n obs 源://build.opensuse.org/repositories/M17N
# 源的 url,在「Repositories」頁面找到自己的系統版本如「openSUSE_Leap_15.2」,下方「下載按鈕」的鏈接,就是如下命令需要使用的鏈接
sudo zypper addrepo //download.opensuse.org/repositories/M17N/openSUSE_Leap_15.2 m17n
sudo zypper refresh
sudo zypper install fcitx5 fcitx5-configtool fcitx5-qt5 fcitx5-rime
然後,從 //flypy.ys168.com/ 下載最新的鼠須管(MacOS)配置文件,將解壓得到的 rime 文件夾拷貝到 ~/.local/share/fcitx5/ 下:
mv rime ~/.local/share/fcitx5/
現在重啟系統,在 fcitx5 配置裡面添加 rime「中州韻」,就可以正常使用小鶴音形了。
QEMU/KVM
不得不說,OpenSUSE 安裝 KVM 真的超方便,純 GUI 操作:
# see: //doc.opensuse.org/documentation/leap/virtualization/html/book-virt/cha-vt-installation.html
sudo yast2 virtualization
# enter to terminal ui, select kvm + kvm tools, and then install it.
KVM 的詳細文檔參見 KVM/README.md
KDE Connect
KDE Connect 是一個 PC 手機協同工具,可以在電腦和手機之間共享剪切版、遠程輸入、發送文件、共享文件夾、通知同步等等。
總而言之非常好用,只要手機和 PC 處於同一個區域網就行,不需要什麼數據線。
如果安裝系統時選擇了打開防火牆,KDE Connect 是連不上的,需要手動開放埠號:
# see: //userbase.kde.org/KDEConnect#firewalld
sudo firewall-cmd --zone=public --permanent --add-port=1714-1764/tcp
sudo firewall-cmd --zone=public --permanent --add-port=1714-1764/udp
sudo systemctl restart firewalld.service
然後手機(Android)安裝好 KDE Connect,就能開始享受了。
目前存在的 Bug:
- [ ] Android 10 禁止了後台應用讀取剪切版,這導致 KDE Connect 只能從 PC 同步到手機,而無法反向同步。
- 如果你有 ROOT 許可權,可以參考 Fix clipboard permission on Android 10 的方法,安裝 ClipboardWhitelist 來打開許可權。
- 否則,貌似就只能使用手機端的「遠程輸入」模組來手動傳輸文本了。
Qv2ray 代理
Qv2ray 是我用過的比較好用的 GUI 代理工具,通過插件可支援常見的所有代理協議。
# see: //build.opensuse.org/repositories/home:zzndb
sudo zypper addrepo //download.opensuse.org/repositories/home:/zzndb/openSUSE_Leap_15.2 qv2ray
sudo zypper refresh
sudo zypper install Qv2ray QvPlugin-Trojan QvPlugin-SS
其他設置
從 Windows 帶過來的習慣是單擊選中文件,雙擊才打開,這個可以在「系統設置」-「工作空間行為」-「常規行為」-「點擊行為」中修改。