openSUSE is an RPM-based distribution, which is in line with RHEL/CentOS. But its official package manager is a proprietary zypper, which works quite well, and the software is quite new.
I recently switched from Manjaro to openSUSE and found that the KDE desktop is indeed smoother than Manjaro and the community source OBS experience is more comfortable than AUR.
Especially for containers/Kubernetes, the source is richer than AUR and is officially maintained. This article is a summary of the migration process.
This article is based on openSUSE Tumbleweed, which is a rolling distribution like Manjaro/Arch, with newer sources. Most users in the openSUSE community use Tumbleweed. It also has better hardware compatibility than openSUSE Leap (stable version) - I tested a Xiaomi gaming notebook with Leap installed and the Touchpad would not work after hibernation.
zypper’s basic commands
zypper’s source is slow in China, but actually when downloading, zypper will intelligently select the fastest mirror source to download the package, such as the domestic Tsinghua source, etc.
But I found that the official source index is too slow to update, and even often fails. So there is no way, or have to manually set the mirror source: the
Then there are the usual zypper commands.
Here you need to use OBS (Open Build Service, similar to arch’s AUR, but a pre-compiled package), because there are too many OBS things, so there is no complete domestic mirror, the average speed is about 300kb/s. The average speed is about 300kb/s. It is recommended to add a smart proxy on the router to speed up.
Install all kinds of software you need:
IDE + programming language
Installation via tarball/script.
Next, install the VSCode plugins, the following is my list of plugins.
- vscode proto3
- markdown all in one + Markdown Preview Enhanced
- community material theme
- vscode icons
- IntelliJ IDEA Keybindings
- comment translate
- path intellisense
- visual studio intellicode
- remote ssh + remote containers
- rest client
- vscode databases
Containers + Kubernetes
Office, music, chat
Install input method
The input method I’m using is Xiaohe phonetic, first install fcitx-rime:
Then, download the latest mouse whiskers (MacOS) configuration file from
http://flypy.ys168.com/, and copy the unpacked rime folder to ~/.local/share/fcitx5/ under.
Now reboot the system and add rime “Zhongzhou rhyme” inside the fcitx5 configuration, and you can use Xiaohe phonetic form normally.
I have to say, openSUSE installation of KVM is really super convenient, pure GUI operation:.
KDE Connect is a PC phone collaboration tool that allows you to share clippings, remote input, send files, share folders, sync notifications, etc. between your computer and phone. All in all it works very well, as long as the phone and PC are on the same LAN, no data cable is needed.
If you choose to open the firewall when you install the system, KDE Connect cannot be connected, you need to open the port number manually.
Then install KDE Connect on your phone (Android) and start enjoying it.
- Android 10 disables background apps from reading the clipboard, which causes KDE Connect to only sync from PC to phone, but not reverse.
- If you have ROOT permission, you can refer to Fix clipboard permission on Android 10 and install ClipboardWhitelist to open the permission.
- Otherwise, it seems that you can only use the “Remote Input” module on the phone to transfer text manually.
Qv2ray is one of the better GUI proxy tools I’ve used, supporting all common proxy protocols via plugins.
VPN connection with firewall
The firewall disables ports for vpn protocols such as pptp by default, you need to open them manually.
PPTP protocol is allowed.
The wireguard protocol is allowed. This protocol only uses the tcp protocol, and the port number can be customized. However, wireguard’s own configuration file
/etc/wireguard/xxx.conf can be configured with iptables parameters to release the relevant ports, so we won’t go into that here.
You can change this in “System Settings” - “Workspace Behavior” - “General Behavior” - “Click Behavior”.